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

אם הארגון שלכם משתמש בהצפנה מצד הלקוח (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 שמשויך למזהה הלקוח, אם ספק הזהויות שלכם הוא Google. אם אתם משתמשים ב-IdP של צד שלישי, אתם לא צריכים את סוד הלקוח.
  • כתובת האימייל של חשבון המשתמש שמבצע אימות ל-KACLS לצורך פענוח של ייצוא. זה יכול להיות החשבון שלכם, או חשבון מיוחד שהאדמינים הגדירו. כדי להריץ את כלי הפענוח, צריך להתחבר בתור המשתמש הזה, ולכן סביר להניח שתצטרכו את הסיסמה של החשבון.

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

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

  • הצפנה מצד הלקוח ביומן: privilegedunwrap
  • הצפנה מצד הלקוח ב-Docs, ב-Sheets וב-Slides: privilegedunwrap
  • Drive CSE: privilegedunwrap
  • הצפנה מצד הלקוח ב-Gmail (עם אישורי S/MIME): privilegedprivatekeydecrypt
  • הצפנת CSE ב-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> אופציונלי. כתובת האימייל שאולי תאוכלס מראש במסך האימות של IdP שנפתח בדפדפן.
-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 (מפתח הוכחה להחלפת קוד) בתהליך הענקת קוד הרשאה. אם לא מציינים אף אחד מהדגלים, ההגדרה של ההצפנה תהיה מופעלת כברירת מחדל.
-input <directory_or_file>

חובה. ספריית הקלט או קובץ הייצוא.

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

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

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

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

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

-config <file>

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

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

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

-credential <file> אופציונלי. מציינים קובץ JSON שמכיל מפתח פרטי של חשבון שירות עם גישה ברמת הדומיין. אם מציינים זאת, כשמפענחים הודעות מוצפנות ב-Gmail, מתבצעת שאילתה בממשק 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