將匯出的用戶端加密檔案和電子郵件解密

如果貴機構使用 Google Workspace 用戶端加密功能 (CSE),您可以使用解密工具公用程式,解密透過資料匯出工具Google 保管箱匯出的用戶端加密檔案和電子郵件。您可以透過指令列執行解密工具。

執行解密工具時,您必須使用指令列旗標來指定識別資訊提供者 (IdP) 驗證資訊、加密檔案的位置、已解密檔案的輸出位置,以及其他選項。您也可以建立設定檔,儲存常用的解密工具旗標。

事前準備

  • 解密 Google 文件、試算表或簡報檔案時,檔案名稱會採用 .gdoczip 或類似結尾。完成解密後,您可以使用檔案轉換工具,將這些檔案轉換為 Microsoft Office 格式。詳情請參閱「將匯出並解密的 Google 檔案轉換為 Microsoft Office 檔案」。
  • 從 Google 保管箱匯出 Gmail CSE 郵件時,請務必使用 MBOX 格式。解密工具無法處理 PST 格式的匯出內容。
  • 解密工具公用程式可以解密以 S/MIME 憑證加密的郵件。如果使用者加密了郵件或討論串中的原始郵件,解密工具也能解密未採用 S/MIME 憑證加密的郵件 (即使用 Gmail 端對端加密 (E2EE) 功能加密的郵件)。
  • 解密工具公用程式無法解密在其他機構中,未採用 S/MIME 憑證加密的郵件 (即使用 Gmail E2EE 加密的郵件,包括討論串內的所有郵件)。

系統需求

  • Microsoft Windows 10 或 11 (64 位元版本)
  • macOS 12 (Monterey) 以上版本。支援 Apple 和 Intel 處理器。
  • Linux x86_64。

下載解密工具

開啟封存檔或磁碟區,然後將解密工具執行檔解壓縮至本機目錄或資料夾。

設定金鑰服務存取權

解密工具會向加密金鑰服務 (也稱為金鑰存取控管清單服務,簡稱 KACLS) 傳送查詢,保護匯出的每個加密檔案或郵件。請向識別資訊提供者 (IdP) 的管理員和您的加密金鑰服務管理員索取 KACLS 可接受的憑證,否則 KACLS 會拒絕解密工具解密匯出內容。

需求條件

如要設定 KACLS 存取權,請務必準備好:

  • 已安裝應用程式可使用的 OAuth 用戶端 ID。解密工具的用戶端 ID 須為該解密工具公用程式專用,且可用於已安裝的電腦軟體。這個用戶端 ID 不得與 Google 管理控制台中,為 CSE 網頁、電腦版和行動應用程式設定的用戶端 ID 相同。
  • 與用戶端 ID 相關聯的 OAuth 用戶端密鑰 (如果 IdP 是 Google)。若您使用第三方 IdP,則不需要用戶端密鑰。
  • 向 KACLS 驗證時所用的使用者帳戶電子郵件地址,用於匯出解密作業。這可以是您自己的帳戶,也可以是管理員設定的特殊帳戶。執行解密工具公用程式時,您需要以這個使用者身分登入,因此可能需要該帳戶的密碼。

KACLS 端點

KACLS 設定必須允許使用者帳戶和用戶端 ID 呼叫用於匯出解密作業的端點。KACLS 管理員通常可以幫您設定。解密工具呼叫的 KACLS 端點取決於加密內容類型:

  • Google 日曆 CSE:privilegedunwrap
  • 文件 CSE、試算表 CSE、簡報 CSE:privilegedunwrap
  • 雲端硬碟 CSE:privilegedunwrap
  • Gmail CSE (使用 S/MIME 憑證):privilegedprivatekeydecrypt
  • Gmail CSE (不使用 S/MIME 憑證):privilegedunwrap

設定 Gmail S/MIME 存取權 (選用)

如果您要解密 Google 保管箱中採用 S/MIME 的用戶端加密 Gmail 郵件,解密工具需要呼叫 Gmail 的公用 API,才能下載額外資料。Google 保管箱匯出內容不包含每位使用者的 S/MIME 憑證,因此解密工具會視需要自動從 Gmail 擷取憑證。

如要允許解密工具索取組織內任何使用者的 S/MIME 憑證,您必須將全網域服務帳戶憑證傳遞給解密工具。如要進一步瞭解如何設定這個服務帳戶,並建立包含服務帳戶私密憑證的 JSON 檔案,請參閱「僅限 Gmail:設定用戶端加密功能的 S/MIME」。

注意:如要解密透過資料匯出工具匯出的用戶端加密郵件,或是從保管箱匯出且未使用 S/MIME 憑證的加密郵件,則不必進行這項設定。

如有下列任一情況,解密工具就無法擷取使用者的 S/MIME 憑證,因此無法解密使用 S/MIME 的用戶端加密郵件:

如要確保能成功解密使用 S/MIME 憑證的用戶端加密郵件,您可以執行下列操作:

  • 在憑證失效前,立即解密從保管箱匯出的郵件。
  • 使用資料匯出工具匯出郵件,確保匯出內容包含每位使用者的憑證。

先建立設定檔

解密工具會使用 OAuth 和您的 IdP 取得驗證憑證,並將憑證加入每個 KACLS privilegedunwrapprivilegedprivatekeydecrypt 要求。OAuth 設定不會經常變更,因此您可以建立包含 OAuth 設定的設定檔,避免每次執行解密工具時都必須設定。如要進一步瞭解設定檔旗標,請參閱下方的「設定檔建立旗標」和「設定檔更新旗標」。

注意:雖然這是選用設定步驟,但仍建議您完成設定,以便更輕鬆使用解密工具公用程式。如果您未建立設定檔,則可改為在每次執行解密工具時,透過指令列傳遞 OAuth 旗標。如果同時採用兩種做法,透過指令列傳遞的旗標值會覆寫從設定檔讀取的值。

範例:建立 Google IdP 的設定檔

Windows

macOS 或 Linux

接下來,您可以更新設定檔,在授權碼授權流程中新增 OAuth 用戶端密鑰。

Windows

macOS 或 Linux

如果 IdP 不是 Google:請勿新增用戶端密鑰,只有 Google IdP 需要這項資訊。如果提供用戶端密鑰,許多其他 IdP 會拒絕驗證要求。

解密 CSE 檔案和電子郵件

解密工具公用程式會處理未解壓縮的匯出檔案。

  1. 在資料匯出工具或 Google 保管箱中建立匯出作業後,將 ZIP 檔案下載到本機電腦。
  2. 將檔案解壓縮至本機目錄或資料夾。
  3. 對解壓縮的檔案執行解密工具,然後將解密後的純文字檔案儲存至其他目錄。

範例:使用已準備好的設定檔,但不使用服務帳戶憑證

Windows

macOS 或 Linux

範例:使用已準備好的設定檔,並使用服務帳戶憑證

Windows

macOS 或 Linux

範例:不使用設定檔或服務帳戶憑證

Windows

macOS 或 Linux

解密工具旗標

解密工具旗標可包含 1 或 2 個開頭的連字號,例如顯示說明資訊的旗標可以是下列任一項目:

-help

--help

注意:只可在旗標中使用連字號,不可使用斜線 (/)。

為了要指定引數,字串引數的旗標可以包含等號或空格,例如以下旗標 (兩者作用相同):

-action=decrypt

-action decrypt

說明旗標

檢舉 說明
-version 用於列印版本字串。與支援團隊聯絡時,請務必提供您所使用的解密工具版本。
-help 列印包含所有旗標的畫面以供參考。
-logfile 指定會寫入執行記錄的輸出檔案。檔案名稱中的 [TIMESTAMP] 文字將改為執行作業的開始時間。

解密旗標

檢舉 說明
-action decrypt (選用步驟) 可將公用程式的模式指定為替 CSE 檔案解密。(此為預設模式)。
-email <email_address> (選用步驟) 在瀏覽器中開啟的 IdP 驗證畫面上,可能會預先填入的電子郵件地址。
-issuer <uri> 除非設定檔中已有,否則這是必要項目。這是 IdP 的 OAuth 核發機構探索服務 URI,例如 https://accounts.google.com。詳情請參閱「連線至識別資訊提供者以進行用戶端加密」。
-client_id <oauth_client_id> 除非設定檔中已有,否則這是必要項目。這個 OAuth 用戶端 ID 是透過 -issuer 旗標中指定的 IdP 提供。詳情請參閱「連線至識別資訊提供者以進行用戶端加密」。
-client_secret <oauth_client_secret> 選用,但有些 IdP 可能會要求提供這項資訊。這是 OAuth 的用戶端密鑰部分,與 -client_id 旗標中指定的用戶端 ID 相對應。
-pkce
-nopkce
表示在授權碼授權流程中啟用或停用 PKCE (用於程式碼交換的金鑰證明)。如果未指定任何旗標,解密工具會預設為啟用。
-input <directory_or_file>

必填。也就是輸入目錄或匯出檔案。

如果您指定目錄,解密工具會以遞迴方式掃遍整個目錄樹狀結構,尋找所有匯出的 CSE 檔案。如果是展開的匯出封存檔中的匯出檔案,您可以使用這個選項執行大量解密作業。

如果您指定 1 個匯出的 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 格式毀損,您在解密工具中使用該設定檔時可能會發生錯誤。

資訊旗標

使用這些旗標就能顯示可讀取的 CSE 檔案相關資訊。

檢舉 說明
-action info (必要) 覆寫預設執行模式,改為以資訊模式執行
-input directory_or_file

(必要) 指定輸入目錄或匯出檔案

如果您指定目錄,公用程式會遞迴掃描整個目錄樹狀結構,尋找所有匯出的 CSE 檔案。如果您指定檔案,公用程式只會提供該檔案的資訊。

您可以重複這個旗標,指定其他輸入目錄或檔案。範例:

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