ב-Gmail בלבד: הגדרת S/MIME להצפנה מצד הלקוח

התכונה הזו נתמכת במהדורות הבאות: Frontline Plus,‏ Enterprise Plus,‏ Education Standard ו-Education Plus. השוואה בין מהדורות

כדי להשתמש ב-S/MIME עם הצפנה מצד הלקוח (CSE) של Google Workspace ב-Gmail, צריך להפעיל את Gmail API ולתת לו גישה לכל הארגון. לאחר מכן, לכל משתמש, צריך להשתמש ב-Gmail API כדי להעלות ל-Gmail אישור S/MIME (פרוטוקול מאובטח/רב תכליתי להצפנה ואימות של אימיילים) (מפתח ציבורי) ומטא-נתונים של מפתח פרטי. אם אתם משתמשים בשירות למפתחות הצפנה, תצטרכו גם להצפין (או "לעטוף") את המטא-נתונים של המפתח הפרטי של המשתמשים באמצעות שירות המפתחות.

בכל שלב אפשר לעבור לשירות אחר למפתחות הצפנה על ידי העלאה של אישורי S/MIME חדשים ומטא-נתונים של מפתח פרטי שהוצפנו על ידי השירות החדש.

דרישות

כדי להשלים את השלבים להגדרת S/MIME למשתמשים, אתם צריכים:

  • הרשאות סופר-אדמין בחשבון Google של הארגון, שנדרשות כדי לספק גישה ל-Gmail API בכל הדומיין.
  • גישה לכלים של השירות למפתחות הצפנה של הארגון או לצוות התמיכה שלו.
  • ניסיון בעבודה עם ממשקי API וסקריפטים של Python.

מידע על S/MIME

‫S/MIME הוא פרוטוקול מקובל בתעשייה לחתימה דיגיטלית ולהצפנה של הודעות אימייל, שמבטיח את השלמות והאבטחה של ההודעות. ההצפנה מצד הלקוח ב-Gmail מבוססת על תקן S/MIME 3.2 IETF לשליחה ולקבלה של נתוני MIME מאובטחים. תקן S/MIME דורש שלשולחים ולנמענים של האימייל יהיו אישורי X.509 שמוגדרים כמהימנים ב-Gmail.

הערה: אפשר גם להשתמש ב-S/MIME בלי שכבת ההצפנה והפרטיות הנוספת ש-CSE מספקת. אפשר להשתמש בחלופה הזו רק אם לא צריך למנוע משרתי Google לפענח את הנתונים באמצעות CSE. פרטים נוספים מופיעים במאמר בנושא הפעלת S/MIME מתארח להצפנה של הודעות.

לפני שמתחילים

חשוב לוודא שביצעתם את השלבים הבאים:

  1. בחירת שירות מפתחות.
  2. התחברות לספק הזהויות (IdP)
  3. מגדירים את השירות החיצוני למפתחות הצפנה או הצפנה של מפתחות חומרה.
  4. הקצאת שירות למפתחות הצפנה או הצפנה באמצעות מפתחות חומרה ליחידות ארגוניות או לקבוצות.

    אם אתם משתמשים בכמה שירותים למפתחות הצפנה, חשוב לוודא שהם מוקצים ליחידות הארגוניות או לקבוצות ההגדרות המתאימות.

הגדרת Gmail API

הערה: כדי להשתמש בממשקי ה-API נדרש ידע בתכנות.

שלב 1: הפעלת Gmail API

  1. יוצרים פרויקט חדש ב-GCP. פרטים נוספים זמינים במאמר בנושא יצירה וניהול של פרויקטים.

    שימו לב למזהה הפרויקט: תצטרכו אותו כדי להעניק ל-API גישה לכל הדומיין.

  2. עוברים אל Google API Console ומפעילים את Gmail API בפרויקט החדש. פרטים נוספים זמינים במאמר בנושא הפעלת API בפרויקט ב-Google Cloud.

שלב 2: יצירת חשבון שירות ברמת הדומיין

  1. במסוף Google Cloud, נכנסים לדף Service accounts ויוצרים חשבון שירות עם גישה לכל הדומיין. פרטים נוספים זמינים במאמר בנושא יצירה וניהול של חשבונות שירות.
  2. יוצרים מפתח פרטי לחשבון שירות ושומרים את המפתח בקובץ JSON במערכת המקומית, למשל svc_acct_creds.json. הקובץ הזה מכיל את פרטי הכניסה שתשתמשו בהם כשמגדירים את Gmail למשתמשים. פרטים נוספים זמינים במאמר בנושא יצירה וניהול של מפתחות לחשבונות שירות.

שלב 3: נותנים ל-Gmail API גישה ברמת הדומיין

בשלב הזה, תשתמשו בחשבון השירות שיצרתם כדי לתת ל-Gmail API גישת עריכה לכל המשתמשים.

  1. פועלים לפי ההוראות במאמר בנושא שליטה בהרשאות הגישה ל-API באמצעות הענקת גישה ברמת הדומיין.
  2. כשמופיעה בקשה, מזינים את הפרטים הבאים:

    Client ID: מזהה הלקוח של חשבון השירות שנוצר בשלב 2 למעלה.

    היקפי הרשאות OAuth: gmail.settings.readonly וגם או gmail.settings.basic או gmail.settings.sharing

הפעלה של חיפוש מותאם אישית ב-Gmail למשתמשים

מפעילים את CSE ל-Gmail ביחידות הארגוניות או בקבוצות. פרטים נוספים מופיעים במאמר בנושא הפעלה או השבתה של הצפנה מצד הלקוח.

הערה: ביחידות ארגוניות, אפשר להגדיר שכל האימיילים (כתיבה, תשובה והעברה) יהיו מוצפנים כברירת מחדל. המשתמשים עדיין יכולים להשבית את ההצפנה אם צריך. נדרש התוסף Assured Controls או Assured Controls Plus.

הגדרת אישורי S/MIME של הצפנת CSE למשתמשים

אחרי שמגדירים את Gmail API ומפעילים הצפנה מצד הלקוח ב-Gmail למשתמשים במסוף Admin, אפשר להגדיר אישורי S/MIME של הצפנה מצד הלקוח ומטא-נתונים של מפתחות פרטיים למשתמשים.

שלב 1: הכנת אישורי S/MIME ומטא-נתונים של מפתח פרטי

לכל משתמש שישתמש ב-Gmail CSE כדי לשלוח או לקבל אימייל:

באמצעות רשות אישורים (CA), יוצרים זוג מפתחות S/MIME ציבורי/פרטי עם שרשרת אישורים. אישור העלה של S/MIME חייב לכלול את כתובת ה-Gmail הראשית של המשתמש כשם נושא או כנושא של תוסף SAN.

אפשר לבצע אחת מהפעולות הבאות:

  • שימוש באישור בסיס של רשות אישורים ש-Google סומכת עליה: רשימת אישורי הבסיס זמינה במאמר אישורי רשות אישורים ש-Gmail סומך עליהם ל-S/MIME.
  • שימוש ב-CA שלא מהימן על ידי Google: לדוגמה, כדי להשתמש ב-CA משלכם, אתם יכולים להוסיף את אישור הבסיס שלו במסוף Admin. פרטים נוספים מופיעים במאמר בנושא ניהול אישורים מהימנים ב-S/MIME.

    הערה: אם אתם משתמשים ב-CA ש-Google לא בוטחת בו, והמשתמשים ישלחו אימייל מוצפן בצד הלקוח מחוץ לארגון, גם הנמען צריך לבטוח ב-CA.

שלב 2: עוטפים את האישורים ואת המטא-נתונים של המפתח הפרטי

משתמשים בשירות להצפנת מפתחות כדי להצפין או "לעטוף" את המטא-נתונים של המפתחות הפרטיים של S/MIME. כדי לעשות את זה, פונים לשירות המפתחות או פועלים לפי ההוראות שמופיעות בו.

אם משתמשים בהצפנה של מפתחות חומרה – חשוב לדלג על השלב הזה ולא לעטוף מטא-נתונים של מפתחות פרטיים עבור משתמשים שישתמשו בהצפנה של מפתחות חומרה. במקרה הזה, אין צורך לעטוף את המטא-נתונים כי המפתחות הפרטיים של המשתמשים ב-Gmail נמצאים בכרטיסים החכמים שלהם. נדרש התוסף Assured Controls או Assured Controls Plus.

שלב 3: העלאה של אישורי S/MIME ומטא-נתונים של מפתחות פרטיים של משתמשים ל-Gmail

אתם יכולים להשתמש ב-Gmail API כדי להעלות ל-Gmail את שרשרת האישורים של מפתח ציבורי S/MIME ואת המטא-נתונים של המפתח הפרטי של כל משתמש, וליצור זהות כדי להגדיר אותם כמפתחות המועדפים של המשתמשים.

הערה: צריך להשתמש ב-Gmail API כדי להעלות אישורים, ולא בלקוח Gmail. בנוסף, שימו לב שהאפשרות להעלות אישורים מלקוח Gmail מושבתת כשמפעילים את ההצפנה מצד הלקוח ב-Gmail.

כדי לבצע אימות, פועלים לפי השלבים הבאים לכל משתמש, באמצעות קובץ המפתח הפרטי שהורדתם כשיצרתם חשבון שירות עם גישה לכל הדומיין:

  1. מעלים את שרשרת האישורים ואת המטא-נתונים של המפתח הפרטי באמצעות הקריאה ל-Gmail API‏ keypairs.create.
  2. מפעילים את צמד המפתחות עבור כתובת האימייל הראשית של המשתמש באמצעות הקריאה ל-Gmail API‏ identities.create.

    הקריאה identities.create דורשת את מזהה זוג המפתחות שמוחזר בגוף התגובה של הקריאה keypairs.create.

    הערה: הפעלת צמד המפתחות עבור כתובת האימייל של משתמש:

    • יוצר זהות של CSE שמורשית לשלוח אימייל מהחשבון של המשתמש.
    • המדיניות הזו מגדירה את Gmail כך שישתמש במטא-נתונים של המפתח הפרטי כדי לחתום על אימיילים יוצאים עם הצפנה מצד הלקוח.
    • המערכת מפרסמת את האישור במאגר משותף ברמת הדומיין, כדי שמשתמשי CSE אחרים בארגון יוכלו להצפין הודעות שנשלחות למשתמש הזה.

כדי לבצע את השלבים האלה, צריך להשתמש בסקריפט שמתקשר עם Gmail API. אפשר לבצע אחת מהפעולות הבאות:

  • לכתוב תסריט משלכם.
  • משתמשים בסקריפט לדוגמה של Python ש-Google מספקת. בהמשך הדף הזה מופיעות הוראות בנושא שימוש בסקריפט Python של Google להעלאת אישורים ומפתחות עטופים של משתמשים ל-Gmail.

    הערה: הסקריפט הזה רלוונטי רק למשתמשים שישתמשו בשירות מפתחות כדי להצפין את התוכן ב-Gmail. לכל משתמש שישתמש בהצפנה של מפתח חומרה, תצטרכו ליצור סקריפט אחר כדי להעלות את המטא-נתונים של המפתח הפרטי הלא מוצפן שלו.

אחרי שמעלים את האישורים, יכולות לחלוף עד 24 שעות עד שהם יהיו זמינים ב-Gmail, אבל בדרך כלל זה קורה הרבה יותר מהר.

(אופציונלי) אפשר להשתמש בסקריפט לדוגמה של Python מבית Google כדי להעלות ל-Gmail את האישורים של המשתמשים ואת המפתחות הפרטיים העטופים

כדי להשלים את שלב 3 שלמעלה, אתם יכולים להשתמש בסקריפט Python ש-Google מספקת במקום לכתוב סקריפט משלכם.

הערה: הסקריפט הזה מבקש את 3 ההיקפים שבהם אפשר להשתמש כדי להעניק ל-Gmail API גישה לכל הדומיין (שמופיעים בהמשך הדף): gmail.settings.readonly,‏ gmail.settings.basic ו-gmail.settings.sharing. כדי להשתמש בסקריפט, אפשר להפעיל את כל שלושת ההיקפים או להסיר מהסקריפט את ההיקף שלא משתמשים בו.

הורדת הסקריפט

מורידים את חבילת סקריפט Python‏ (‎.zip) למחשב (Mac,‏ Linux או Windows) ומחלצים את הקבצים לספריית העבודה.

יצירת סביבה וירטואלית והתקנת מודולים

מזינים את הפקודות הבאות בשורת הפקודה מתוך ספריית העבודה:

הפעלת הסקריפט

העלאת אישורים ומפתחות של משתמשים

שלב 1: יוצרים ספרייה לאחסון כל המפתחות הפרטיים המוצפנים

  • לדוגמה, אפשר ליצור את הספרייה $root/wrapped_keys.
  • שם הקובץ של כל מפתח פרטי מוצפן צריך להיות כתובת האימייל המלאה של המשתמש עם הסיומת .wrap. לדוגמה: $root/wrapped_keys/user1@example.com.wrap
  • מוודאים שלקובץ המפתח הפרטי העטוף יש אובייקט JSON עם שני שדות נדרשים:

שלב 2: יצירת ספרייה לאחסון כל האישורים

  • האישורים צריכים להיות בפורמט P7 PEM, ולכן יכול להיות שתצטרכו ליצור את הספרייה $root/p7pem_certs.
  • חשוב לוודא שקובץ האישור מכיל את השרשרת המלאה לרשות אישורי הבסיס (CA).
  • שם הקובץ של כל אישור צריך להיות כתובת האימייל המלאה של המשתמש עם הסיומת .p7pem. לדוגמה: $root/p7pem_certs/user1@example.com.p7pem

אם יש לכם קובץ P7B: אתם יכולים להשתמש בהערה הבאה של openssl כדי להמיר אותו לפורמט P7 PEM:

שלב 3: מעלים את צמדי המפתחות והזהויות של המשתמשים

בשלב הזה תצטרכו את קובץ ה-JSON שמכיל את פרטי הכניסה לחשבון השירות, ששמרתם במחשב בשלב 2: יצירת חשבון שירות שלמעלה.

הדרך הכי קלה להעלות את זוגות המפתחות והזהויות של המשתמשים היא להריץ את הפקודה insert. שימו לב: לכל פקודה צריך להיות ארגומנט. לדוגמה:

אפשר גם לבצע את הפעולות הבאות לכל משתמש:

  1. מריצים את הפקודה insert_keypair ורושמים את מזהה צמד המפתחות.
  2. מריצים את הפקודה insert_identity באמצעות מזהה צמד המפתחות.

אפשר גם להריץ את הפקודה list_keypair כדי לקבל את מזהה צמד המפתחות.

שלב 4: מוודאים שלמשתמשים יש זוגות מפתחות וזהויות של CSE

כדי לוודא שלמשתמשים יש זוגות מפתחות וזהויות תקינים ב-Gmail, מריצים את הפקודות הבאות לכל משתמש:

list_keypair

list_identity

כדי לעבור לשירות אחר למפתחות הצפנה ב-Gmail CSE

אם רוצים לעבור לשירות מפתחות אחר להצפנה מצד הלקוח ב-Gmail, חוזרים על שלבים 2 ו-3 בקטע הגדרת אישורי S/MIME להצפנה מצד הלקוח למשתמשים שבהמשך, ומשתמשים בשירות המפתחות החדש כדי לארוז את המפתחות הפרטיים.

הערה: העלאה של אישורים חדשים למשתמשים לא מעבירה תוכן לשירות החדש למפתחות הצפנה. אבל המשתמשים יוכלו להמשיך לגשת לאימייל שהוצפן באמצעות האישורים הקודמים והמטא-נתונים של המפתח הפרטי שעברו עטיפה על ידי שירות המפתחות הישן.

העברת הודעות ל-Gmail כאימייל מוצפן מצד הלקוח

אחרי שמגדירים את הצפנת הלקוח ב-Gmail, אפשר לייבא הודעות. פרטים נוספים מופיעים במאמר בנושא העברת הודעות ל-Gmail כאימייל מוצפן מצד הלקוח.