פענוח של קבצים ואימיילים שמוצפנים מצד הלקוח ויוצאו

אם בארגון שלכם משתמשים בהצפנה מצד הלקוח (CSE) ב-Google Workspace, אתם יכולים להשתמש בכלי לפענוח כדי לפענח קבצים והודעות אימייל שמוצפנים מצד הלקוח ויוצאו באמצעות הכלי לייצוא נתונים או Google Vault. אפשר להריץ את כלי ההצפנה משורת הפקודה.

כשמריצים את כלי ההצפנה, משתמשים בדגלים של שורת הפקודה כדי לציין את פרטי האימות של ספק הזהויות (IdP), את המיקום של הקבצים המוצפנים, את מיקום הפלט של הקבצים המפוענחים ואפשרויות אחרות. אפשר גם ליצור קובץ הגדרות (config) כדי לשמור בו את הדגלים של כלי ההצפנה שבהם אתם משתמשים לעיתים קרובות.

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

  • כשמפענחים קובץ ב-Google Docs, ב-Sheets או ב-Slides, שם הקובץ מסתיים ב-.gdoczip או במשהו דומה. אחרי הפענוח, אפשר להמיר את הקבצים האלה לפורמט של Microsoft Office באמצעות כלי להמרת קבצים. פרטים נוספים מופיעים במאמר המרת קבצים של Google שיוצאו ופוענחו לקבצים של Microsoft Office.
  • אם מייצאים הודעות Gmail עם CSE מ-Google Vault, צריך לייצא אותן בפורמט MBOX. הכלי לפענוח לא יכול לעבד ייצוא בפורמט PST.
  • הכלי לפענוח יכול לפענח כל הודעה שהוצפנה באמצעות אישורי S/MIME. הוא יכול גם לפענח הודעות שהוצפנו בלי אישורי S/MIME (כלומר, הודעות שהוצפנו באמצעות הצפנה מקצה לקצה (E2EE) ב-Gmail), אם המשתמשים שלכם הצפינו את ההודעות או את ההודעה המקורית בשרשורים.
  • כלי הפענוח לא יכול לפענח הודעות (כולל כל ההודעות בשרשור) שהוצפנו ללא אישורי S/MIME (הצפנה מקצה לקצה ב-Gmail) בארגון אחר.

דרישות מערכת

  • ‫Microsoft Windows בגרסה 10 או 11 בגרסת 64 ביט
  • ‫macOS 12 (Monterey) ואילך. יש תמיכה במעבדים של אפל ושל אינטל.
  • ‫Linux x86_64.

הורדת כלי הפענוח

  • ‫Windows (קובץ ‎.zip)
  • ‫macOS (קובץ ‎.dmg)
  • ‫Linux (קובץ ‎.tgz)

פותחים את הארכיון או את אמצעי האחסון ומחלצים את קובץ ההפעלה של כלי ההצפנה לתיקייה מקומית.

הגדרת גישה לשירות המפתחות

הכלי לפענוח שולח שאילתות לשירות מפתחות ההצפנה, שנקרא גם שירות רשימת מפתחות של בקרת גישה (KACLS), שמגן על כל קובץ או הודעה מוצפנים בייצוא. צריך לבקש מהאדמין של ספק הזהויות (IdP) ומהאדמין של השירות למפתחות הצפנה אישורים שרשימות בקרת הגישה למפתחות (KACL) יקבלו. אחרת, רשימות בקרת הגישה למפתחות ידחו את הניסיונות של כלי הפענוח לפענח תוכן מיוצא.

מה צריך

כדי להגדיר גישה ל-KACLS, צריך לוודא שיש לכם:

  • מזהה לקוח OAuth שאפליקציות שהותקנו יכולות להשתמש בו. מזהה הלקוח של כלי ההצפנה צריך להיות מזהה לקוח שאפשר להשתמש בו בתוכנה שמותקנת במחשב, וספציפי לכלי ההצפנה. מזהה הלקוח הזה חייב להיות שונה ממזהי הלקוח שהוגדרו במסוף Google Admin עבור אפליקציות ה-CSE לאינטרנט, למחשב ולנייד.
  • סוד הלקוח ב-OAuth שמשויך למזהה הלקוח, אם ספק ה-IdP הוא Google. אם אתם משתמשים בספק זהויות (IdP) של צד שלישי, אתם לא צריכים את סוד הלקוח.
  • כתובת האימייל של חשבון המשתמש שמבצע אימות ל-KACLS לצורך פענוח של ייצוא. זה יכול להיות החשבון שלכם, או חשבון מיוחד שהאדמינים הגדירו. כדי להריץ את כלי הפענוח, צריך להתחבר בתור המשתמש הזה, ולכן סביר להניח שתצטרכו את הסיסמה של החשבון.

נקודות קצה של KACLS

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

  • הצפנה מצד הלקוח ביומן: privilegedunwrap
  • ‫Docs CSE, ‏ Sheets CSE, ‏ Slides CSE: ‏ privilegedunwrap
  • Drive CSE: privilegedunwrap
  • הצפנה מצד הלקוח ב-Gmail (עם אישורי S/MIME): privilegedprivatekeydecrypt
  • הצפנה מצד הלקוח ב-Gmail (ללא אישורי S/MIME): privilegedunwrap

הגדרת גישה ל-S/MIME ב-Gmail (אופציונלי)

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

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

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

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

כדי לוודא שהודעות מוצפנות בצד הלקוח באמצעות אישורי S/MIME יפוענחו, אתם יכולים:

  • לפענח באופן מיידי הודעות שיוצאו מ-Vault בזמן שהאישורים עדיין זמינים.
  • אפשר להשתמש בכלי לייצוא נתונים כדי לייצא הודעות – הייצוא כולל את האישורים של כל משתמש.

קודם יוצרים קובץ תצורה

הכלי לפענוח משתמש ב-OAuth וב-IdP שלכם כדי לקבל פרטי כניסה לאימות, שהוא כולל בכל בקשה של KACLS privilegedunwrap ו-privilegedprivatekeydecrypt. הגדרת ה-OAuth לא משתנה לעיתים קרובות, ולכן אפשר ליצור קובץ הגדרות (config) שמכיל את הגדרות ה-OAuth כדי שלא תצטרכו להגדיר אותן בכל פעם שמריצים את כלי הפענוח. פרטים על הדגלים של קובץ התצורה מופיעים בקטע דגלים ליצירת תצורה ובקטע דגלים לעדכון תצורה בהמשך המאמר.

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

דוגמה: יצירת הגדרה לספק הזהויות של Google

ב-Windows

ב-macOS או ב-Linux

עכשיו אפשר לעדכן את ההגדרה כדי להוסיף את סוד הלקוח של OAuth בתהליך הענקת קוד הרשאה.

ב-Windows

ב-macOS או ב-Linux

אם ספק הזהויות שלכם הוא לא Google: אל תוסיפו את סוד הלקוח, שנדרש רק על ידי ספק הזהויות של Google. ספקי זהויות רבים אחרים ידחו בקשות אימות אם הסוד של הלקוח קיים.

פענוח קבצים ואימיילים מוצפנים באמצעות CSE

כלי הפענוח פועל על קבצים מיוצאים לא מכווצים.

  1. אחרי שיוצרים ייצוא בכלי לייצוא נתונים או ב-Google Vault, מורידים את קובצי ה-ZIP למחשב המקומי.
  2. פותחים את הקבצים לתיקייה מקומית.
  3. מריצים את כלי הפענוח על הקבצים שלא נפרסו ושומרים את קובצי הטקסט הפשוט המפוענחים בספרייה אחרת.

דוגמה: שימוש בקובץ תצורה מוכן בלי פרטי הכניסה של חשבון השירות

ב-Windows

ב-macOS או ב-Linux

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

ב-Windows

ב-macOS או ב-Linux

דוגמה: שימוש בלי קובץ תצורה ובלי פרטי כניסה של חשבון שירות

ב-Windows

ב-macOS או ב-Linux

דגלים של כלי ההצפנה

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

-help

--help

הערה: אפשר להשתמש רק במקפים לציון דגלים, ולא בלוכסנים (/).

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

-action=decrypt

-action decrypt

סימוני עזרה

דגל תיאור
-version הדפסת מחרוזת הגרסה. אם פונים לתמיכה, חשוב לציין את הגרסה של כלי ההצפנה שבה משתמשים.
-help מדפיס מסך של כל הדגלים לצורך עיון.
-logfile מציינת את קובץ הפלט שבו ייכתבו יומני הביצוע. הטקסט [TIMESTAMP] בשם הקובץ יוחלף בשעת ההתחלה של ההפעלה.

סימוני ביטול הצפנה

דגל תיאור
-action decrypt אופציונלי. מציין שהמצב של כלי השירות הוא פענוח של קבצי CSE. זהו מצב ברירת המחדל.
-email <email_address> אופציונלי. כתובת האימייל שאולי תאוכלס מראש במסך האימות של ספק הזהויות שנפתח בדפדפן.
-issuer <uri> חובה, אלא אם הוא מופיע בקובץ התצורה. כתובת ה-URI של גילוי מנפיק OAuth עבור ספק הזהויות, כמו https://accounts.google.com. פרטים נוספים זמינים במאמר בנושא התחברות לספק הזהויות לצורך הצפנה מצד הלקוח.
-client_id <oauth_client_id> חובה, אלא אם הוא מופיע בקובץ התצורה. מזהה לקוח OAuth מספק הזהויות שצוין בדגל -issuer. פרטים נוספים מופיעים במאמר בנושא התחברות לספק הזהויות לצורך הצפנה מצד הלקוח.
-client_secret <oauth_client_secret> אופציונלי, אבל יכול להיות שספקי זהויות מסוימים ידרשו אותו. החלק של סוד הלקוח ב-OAuth שמתאים למזהה הלקוח שצוין בדגל -client_id.
-pkce
-nopkce
הפעלה או השבתה של PKCE (Proof Key for Code Exchange) בתהליך של הענקת קוד הרשאה. אם לא מציינים אף אחד מהדגלים, ההגדרה של כלי ההצפנה תהיה מופעלת כברירת מחדל.
-input <directory_or_file>

נדרש. ספריית הקלט או קובץ הייצוא.

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

אם מציינים קובץ אחד של CSE לייצוא, הכלי לפענוח יפענח רק את הקובץ הזה. אם זה לא קובץ CSE, הכלי לפענוח יבקש מכם לבצע אימות ב-IdP, אבל לא יפענח קבצים.

-output <directory> נדרש. הספרייה שבה יישמרו הקבצים המפוענחים.
-overwrite
-nooverwrite
המתג מפעיל או משבית את האפשרות להחליף קבצים קיימים של פלט טקסט רגיל מפוענח. אם האפשרות מושבתת (ברירת המחדל), מפענח ידלג על פענוח של קבצי מידע מוצפן אם קובץ הטקסט הלא מוצפן כבר קיים.
-workers <integer>

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

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

-config <file>

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

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

הערה: אם מציינים קובץ בהגדרות והקובץ לא נמצא, מתרחשת שגיאה.

-credential <file> אופציונלי. מציינים קובץ JSON שמכיל מפתח פרטי של חשבון שירות עם גישה ברמת הדומיין. אם מציינים זאת, כשמפענחים הודעות מוצפנות ב-Gmail CSE, מתבצעת שאילתה בממשק Gmail API לגבי אישורי S/MIME של כל משתמש ומטא-נתונים של שירות רשימת בקרת גישה למפתחות (KACLS).

דגלים ליצירת הגדרות

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

דגל תיאור
-action createconfig נדרש. המדיניות הזו מבטלת את מצב הביצוע שמוגדר כברירת מחדל, ומפעילה את מצב יצירת קובץ התצורה.
-config file נדרש. מציינים את שם קובץ הפלט שבו רוצים לשמור את ההגדרה. אם הקובץ כבר קיים, הוא יוחלף בלי אזהרה.
-email <email_address>
-discovery_uri <uri>
-client_id <oauth_client_id>
-client_secret <oauth_client_secret>
-pkce
-nopkce
אופציונלי. כל ערכי הדגלים שצוינו יישמרו בקובץ ההגדרות לשימוש חוזר.

דגלים לעדכון ההגדרה

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

דגל תיאור
-action updateconfig נדרש. ההגדרה הזו מבטלת את מצב הביצוע שמוגדר כברירת מחדל ומפעילה את מצב העדכון של קובץ התצורה.
-config file נדרש. קובץ ההגדרות שרוצים לעדכן. אם הקובץ לא קיים, מתרחשת שגיאה.
-email <email_address>
-discovery_uri <uri>
-client_id <oauth_client_id>
-client_secret <oauth_client_secret>
-pkce
-nopkce

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

הערה: אם עריכה משחיתה את פורמט ה-JSON, סביר להניח שתתרחש שגיאה כשמשתמשים בהגדרה בכלי לפענוח.

סימונים לקבלת מידע

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

דגל תיאור
-action info (חובה) מחליף את מצב ההפעלה שמוגדר כברירת מחדל כדי להפעיל את הפונקציה במצב מידע
-input directory_or_file

(חובה) מציין את ספריית הקלט או את קובץ הייצוא

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

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

$ decrypter -action=info -input=file1.gcse -input=file2.gcse -input=file3.gcse