במאמר הזה מוסבר איך להשתמש ב-Sensitive Data Protection כדי ליצור פייפליין אוטומטי לטרנספורמציה של נתונים, במטרה להסיר פרטי זיהוי ממידע אישי רגיש כמו פרטים אישיים מזהים (PII). טכניקות להסרת פרטים מזהים כמו טוקניזציה (פסאודונימיזציה) מאפשרות לשמור על התועלת של הנתונים לצורך צירוף או ניתוח, תוך צמצום הסיכון לטיפול בנתונים על ידי הסתרת הפרטים המזהים הרגישים הגולמיים. כדי למזער את הסיכון לטיפול בנפחים גדולים של מידע אישי רגיש, אפשר להשתמש בצינור אוטומטי לעיבוד נתונים כדי ליצור עותקים משוכפלים שעברו הסרת פרטים מזהים. Sensitive Data Protection מאפשר לבצע טרנספורמציות כמו צנזור, התממת מידע, שימוש באסימונים, חלוקה לקטגוריות ושיטות אחרות של הסרת פרטים מזהים. אם לא בוצע אפיון של מערך נתונים, אפשר גם להשתמש ב-Sensitive Data Protection כדי לבדוק את הנתונים ולחפש מידע רגיש באמצעות יותר מ-100 מסווגים מובנים.
המסמך הזה מיועד לקהל טכני שהאחריות שלו כוללת אבטחת מידע, עיבוד נתונים או ניתוח נתונים. המדריך הזה מיועד למי שמכיר את התחום של עיבוד נתונים ופרטיות נתונים, בלי צורך להיות מומחה.
תרשים עזר לארכיטקטורה
בתרשים הבא מוצגת ארכיטקטורת הפניה לשימוש במוצריGoogle Cloud כדי להוסיף שכבת אבטחה למערכי נתונים רגישים באמצעות טכניקות להסרת פרטים מזהים.
הארכיטקטורה מורכבת מהרכיבים הבאים:
צינור עיבוד נתונים בסטרימינג להסרת פרטי הזיהוי מהנתונים: מסיר פרטי זיהוי מנתונים רגישים בטקסט באמצעות Dataflow. אפשר להשתמש שוב בצינור לטרנספורמציות ולתרחישי שימוש רבים.
ניהול הגדרות Sensitive Data Protection (תבנית ומפתח): הגדרת הסרת פרטי זיהוי מנוהלת שרק קבוצה קטנה של אנשים יכולה לגשת אליה – למשל, Security Admins – כדי למנוע חשיפה של שיטות להסרת פרטי זיהוי ומפתחות הצפנה.
פייפליין לאימות נתונים ולשחזור פרטי זיהוי: מאמת עותקים של הנתונים שעברו הסרת פרטים מזהים, ומשתמש בפייפליין ב-Dataflow כדי לשחזר פרטי זיהוי של נתונים בקנה מידה גדול.
עזרה באבטחת מידע אישי ורגיש
אחת המשימות העיקריות של כל ארגון היא להבטיח את אבטחת הנתונים של המשתמשים והעובדים. Google Cloud מספקת אמצעי אבטחה מובנים כדי להקל על אבטחת הנתונים, כולל הצפנה של נתונים מאוחסנים והצפנה של נתונים במעבר.
הצפנה במנוחה: Cloud Storage
שמירה על אבטחת מידע היא קריטית לרוב הארגונים. גישה לא מורשית למידע אישי רגיש, אפילו ברמה בינונית, עלולה לפגוע באמון, ביחסים ובמוניטין שלכם מול הלקוחות. Google מצפינה נתונים שמאוחסנים במנוחה כברירת מחדל. כברירת מחדל, כל אובייקט שמועלה לקטגוריה ב-Cloud Storage מוצפן באמצעות Google-owned and Google-managed encryption key. אם מערך הנתונים שלכם משתמש בשיטת הצפנה קיימת ונדרשת אפשרות שאינה ברירת המחדל לפני ההעלאה, יש אפשרויות הצפנה אחרות שזמינות ב-Cloud Storage. מידע נוסף מופיע במאמר בנושא אפשרויות להצפנת נתונים.
הצפנה בזמן ההעברה: Dataflow
כשנתונים נמצאים בהעברה, ההצפנה במצב מנוחה לא פועלת. נתונים בזמן ההעברה מוגנים על ידי פרוטוקולי רשת מאובטחים שנקראים הצפנה בזמן ההעברה. כברירת מחדל, Dataflow משתמש ב- Google-owned and Google-managed encryption keys. המדריכים שמשויכים למסמך הזה משתמשים בצינור אוטומטי שמשתמש בערך ברירת המחדל Google-owned and Google-managed encryption keys.
טרנספורמציות נתונים ב-Sensitive Data Protection
יש שני סוגים עיקריים של טרנספורמציות שמתבצעות על ידי Sensitive Data Protection:
שתי השיטות, recordTransformations ו-infoTypeTransformations, יכולות להסיר את הפרטים המזהים ולהצפין מידע רגיש בנתונים שלכם. לדוגמה, אפשר להפוך את הערכים בעמודה US_SOCIAL_SECURITY_NUMBER לערכים שלא ניתן לזהות או להשתמש בטוקניזציה כדי להסתיר אותם תוך שמירה על שלמות רפרנציאלית.
השיטה infoTypeTransformations מאפשרת לבדוק אם יש מידע אישי רגיש ולשנות את הממצא. לדוגמה, אם יש לכם נתונים לא מובנים או טקסט חופשי, השיטה infoTypeTransformations יכולה לעזור לכם לזהות מספר ביטוח לאומי בתוך משפט ולהצפין את הערך של מספר הביטוח הלאומי, בלי לשנות את שאר הטקסט. אפשר גם להגדיר שיטות infoTypes בהתאמה אישית.
השיטה recordTransformations מאפשרת להחיל הגדרת טרנספורמציה לכל שדה כשמשתמשים בנתונים מובְנים או בנתונים בפורמט טבלאי. באמצעות השיטה recordTransformations, אפשר להחיל את אותו שינוי על כל ערך בשדה, כמו גיבוב או טוקניזציה של כל ערך בעמודה עם SSN כעמודה או כשם השדה.
בשיטה recordTransformations , אפשר גם לשלב את השיטה infoTypeTransformations שחלה רק על הערכים בשדות שצוינו. לדוגמה, אפשר להשתמש בשיטה infoTypeTransformations בתוך שיטה recordTransformations בשדה שנקרא comments כדי לצנזר כל ממצא של US_SOCIAL_SECURITY_NUMBER שנמצא בטקסט בשדה.
תהליכי הסרת הפרטים המזהים, בסדר עולה של מורכבות, הם:
- עריכה: הסרת התוכן הרגיש בלי להחליף אותו בתוכן אחר.
- הסתרת תוכן: החלפת התוכן הרגיש בתווים קבועים.
- הצפנה: החלפת תוכן רגיש במחרוזות מוצפנות, אולי באופן הפיך.
עבודה עם נתונים מופרדים
לרוב, הנתונים מורכבים מרשומות שמופרדות באמצעות תו נבחר, עם סוגים קבועים בכל עמודה, כמו בקובץ CSV. לנתונים מהסוג הזה אפשר להחיל טרנספורמציות של הסרת פרטים מזהים (recordTransformations) ישירות, בלי לבדוק את הנתונים. לדוגמה, אפשר לצפות שעמודה עם התווית SSN תכיל רק נתונים של מספרי ביטוח לאומי. לא צריך לבדוק את הנתונים כדי לדעת שinfoTypeהגלאי US_SOCIAL_SECURITY_NUMBER. עם זאת, עמודות חופשיות עם התווית Additional Details יכולות להכיל מידע רגיש, אבל לא ידוע מראש מה הסיווג infoType שלהן. בעמודה עם טקסט חופשי, צריך לבדוק את infoTypesהגלאי (infoTypeTransformations) לפני שמחילים טרנספורמציות של הסרת פרטים מזהים. השירות Sensitive Data Protection מאפשר לשני סוגי ההמרה האלה להתקיים יחד בתבנית אחת של הסרת פרטים מזהים.
Sensitive Data Protection כולל יותר מ-100 גלאים מובניםinfoTypes.
אפשר גם ליצור סוגים בהתאמה אישית או לשנות גלאים מובנים של infoTypes כדי למצוא מידע אישי רגיש שייחודי לארגון שלכם.
קביעת סוג הטרנספורמציה
ההחלטה מתי להשתמש בשיטה recordTransformations או בשיטה infoTypeTransformations תלויה בתרחיש השימוש. השימוש בשיטה infoTypeTransformationsדורש יותר משאבים ולכן הוא יקר יותר, ולכן מומלץ להשתמש בשיטה הזו רק במקרים שבהם סוג הנתונים לא ידוע. כדי להעריך את העלויות של הפעלת Sensitive Data Protection, אפשר להשתמש בGoogle Cloud מחשבון התמחור.
בדוגמאות להמרות שמופיעות במסמך הזה, נעשה שימוש במערך נתונים שמכיל קובצי CSV עם עמודות קבועות, כמו שמוצג בטבלה הבאה.
| שם עמודה | בדיקה infoType (בהתאמה אישית או מובנית) |
סוג ההתאמה של Sensitive Data Protection |
|---|---|---|
Card Number
|
לא רלוונטי | הצפנה דטרמיניסטית (DE) |
Card Holder's Name
|
לא רלוונטי | הצפנה דטרמיניסטית (DE) |
Card PIN
|
לא רלוונטי | גיבוב קריפטוגרפי |
SSN (Social Security Number)
|
לא רלוונטי | סימון חלקים |
Age
|
לא רלוונטי | Bucketing |
Job Title
|
לא רלוונטי | Bucketing |
Additional Details
|
מוכן מראש:IBAN_CODE, EMAIL_ADDRESS,
PHONE_NUMBER
בהתאמה אישית:
ONLINE_USER_ID
|
החלפה |
בטבלה הזו מפורטים שמות העמודות ותיאור של סוג השינוי שנדרש לכל עמודה. לדוגמה, העמודה Card Number מכילה מספרים של כרטיסי אשראי שצריך להצפין, אבל לא צריך לבדוק אותם כי סוג הנתונים (infoType) ידוע.
העמודה היחידה שמומלץ לבצע בה שינוי באמצעות בדיקה היא העמודה Additional Details. העמודה הזו היא עמודה חופשית, ויכול להיות שהיא מכילה פרטים אישיים מזהים (PII). לצורך הדוגמה הזו, צריך לזהות את הפרטים האישיים המזהים ולבטל את הזיהוי שלהם.
בדוגמאות שבטבלה הזו מוצגים חמישה סוגים שונים של טרנספורמציות להסרת פרטים מזהים:
טוקניזציה דו-כיוונית: החלפת הנתונים המקוריים בטוקן דטרמיניסטי, תוך שמירה על שלמות ההפניה. אפשר להשתמש באסימון כדי לצרף נתונים או להשתמש באסימון בניתוח מצטבר. אפשר להפוך את הנתונים או לבטל את הטוקניזציה שלהם באמצעות אותו מפתח שבו השתמשתם כדי ליצור את הטוקן. יש שתי שיטות ליצירת טוקניזציה דו-כיוונית:
- Deterministic encryption (DE): מחליף את הנתונים המקוריים בערך מוצפן בקידוד Base64 ולא שומר על קבוצת התווים או האורך המקוריים.
- Format-preserving encryption with FFX (FPE-FFX): מחליף את הנתונים המקוריים באסימון שנוצר באמצעות הצפנה ששומרת על הפורמט במצב FFX. כברירת מחדל, FPE-FFX שומר על האורך ועל ערכת התווים של טקסט הקלט. חסרים בו אימות ווקטור אתחול, מה שעלול לגרום להרחבת האורך בטוקן הפלט. שיטות אחרות, כמו DE, מספקות אבטחה חזקה יותר ומומלצות לתרחישי שימוש בטוקניזציה, אלא אם שמירה על אורך ועל ערכת תווים היא דרישה מחמירה, כמו תאימות לאחור עם מערכות נתונים מדור קודם.
טוקניזציה חד-כיוונית באמצעות גיבוב קריפטוגרפי: הערך המקורי מוחלף בערך מגובב, תוך שמירה על שלמות ההפניה. עם זאת, בניגוד לטוקניזציה דו-כיוונית, שיטה חד-כיוונית לא ניתנת להמרה. ערך הגיבוב נוצר באמצעות קוד אימות הודעות שמבוסס על SHA-256 (HMAC-SHA-256) על ערך הקלט.
הסתרת נתונים: החלפת הנתונים המקוריים בתו שצוין, באופן חלקי או מלא.
Bucketing: מחליף ערך שקל יותר לזהות בערך שפחות קל לזהות.
החלפה: החלפת הנתונים המקוריים באסימון או בשם של
infoTypeאם מזוהים נתונים כאלה.
בחירת שיטה
בחירת השיטה הטובה ביותר להסרת פרטי הזיהוי תלויה בתרחיש לדוגמה. לדוגמה, אם אפליקציה מדור קודם מעבדת את הרשומות שעברו הסרת פרטים מזהים, יכול להיות שחשוב לשמור על הפורמט. אם אתם עובדים עם מספרים בני 10 ספרות בפורמט קבוע, הצפנה בפורמט FPE שומרת על האורך (10 ספרות) ועל מערכת התווים (מספרי) של קלט לצורך תמיכה במערכות מדור קודם.
עם זאת, אם אין צורך בפורמט מדויק לצורך תאימות לגרסאות קודמות, כמו במקרה של ערכים בעמודה Card Holder's Name, אז DE היא הבחירה המועדפת כי יש לה שיטת אימות חזקה יותר. גם FPE וגם DE מאפשרים להפוך את הטוקנים או לבטל את הטוקניזציה שלהם. אם לא צריך לבטל את הטוקניזציה, גיבוב קריפטוגרפי מספק שלמות, אבל אי אפשר לבטל את הטוקנים.
שיטות אחרות – כמו הסתרה, חלוקה לקבוצות, הזזה של תאריכים והחלפה – מתאימות לערכים שלא צריך לשמור על השלמות המלאה שלהם. לדוגמה, אפשר לנתח ערך גיל (למשל, 27) שסווג לטווח גילאים (20-30), תוך צמצום הייחודיות שעשויה להוביל לזיהוי של אדם מסוים.
מפתחות להצפנת טוקנים
כדי לבצע טרנספורמציות קריפטוגרפיות להסרת פרטים מזהים, צריך מפתח קריפטוגרפי, שנקרא גם מפתח להצפנת טוקנים. המפתח להצפנת טוקנים שמשמש להצפנת הסרת פרטי הזיהוי משמש גם לשחזור פרטי זיהוי של הערך המקורי. יצירה וניהול מאובטחים של מפתחות להצפנת אסימונים הם מעבר להיקף של המסמך הזה. עם זאת, יש כמה עקרונות חשובים שכדאי להכיר, שנעשה בהם שימוש בהמשך במדריכים הקשורים:
- לא משתמשים במפתחות טקסט פשוט בתבנית. במקום זאת, צריך להשתמש ב-Cloud KMS כדי ליצור מפתח עטוף.
- כדי להקטין את הסיכון לפגיעה במפתחות, מומלץ להשתמש במפתחות נפרדים להצפנת טוקנים לכל רכיב נתונים.
- רוטציה של מפתחות הצפנה של טוקנים. אפשר לבצע רוטציה של המפתח העטוף, אבל רוטציה של מפתח ההצפנה של האסימון פוגעת בשלמות של הטוקניזציה. כשמבצעים רוטציה למפתח, צריך לבצע מחדש טוקניזציה של כל מערך הנתונים.
תבניות של Sensitive Data Protection
בפריסות רחבות היקף, כדאי להשתמש בתבניות של Sensitive Data Protection כדי לבצע את הפעולות הבאות:
- הפעלה של אמצעי בקרה לאבטחה באמצעות ניהול זהויות והרשאות גישה (IAM).
- הפרדת פרטי ההגדרה, והאופן שבו מבטלים את שיוך הפרטים האלה לזהות מסוימת, מההטמעה של הבקשות.
- שימוש חוזר בסדרת טרנספורמציות. אפשר להשתמש בתבניות להסרת פרטי זיהוי ולשחזור פרטי זיהוי בכמה קבוצות נתונים.
BigQuery
המרכיב האחרון בארכיטקטורת ההפניה הוא הצגה ועבודה עם הנתונים שעברו הסרת פרטים מזהים ב-BigQuery. BigQuery הוא כלי של Google למחסן נתונים (data warehouse) שכולל תשתית ללא שרת (serverless), BigQuery ML ויכולת להפעיל את Sensitive Data Protection ככלי מקורי. באדריכלות ההפניה לדוגמה, BigQuery משמש כמחסן נתונים לנתונים שעברו הסרת פרטים מזהים, וכקצה עורפי (backend) לצינור נתונים אוטומטי של זיהוי מחדש, שיכול לשתף נתונים באמצעות Pub/Sub.
המאמרים הבאים
- מידע על שימוש ב-Sensitive Data Protection כדי לבחון אחסון ומסדי נתונים לאיתור מידע אישי רגיש
- מידע על פתרונות אחרים לזיהוי תבניות
- לדוגמאות נוספות של ארכיטקטורות, תרשימים ושיטות מומלצות, עיינו במאמר Cloud Architecture Center.