本指南說明使用 Google Workspace Client-side Encryption API 進行加密和解密作業的方式。
您必須將使用者使用的任何識別資訊提供者 (IdP) 服務加入許可清單 共用加密檔案。您通常可以在 公開 .well-known 檔案;否則,請聯絡機構的 Google Workspace 管理員的 IdP 詳細資料。
加密資料
當 Google Workspace 使用者要求儲存或儲存用戶端加密內容時
(CSE) 資料,Google Workspace 會傳送 wrap
向您的 KACLS 端點網址要求加密。除了選填
安全檢查 (例如範圍和 JWT 聲明式檢查),KACLS 就必須
請執行下列步驟:
驗證提出要求的使用者。
- 驗證驗證權杖 和授權權杖。
- 方法如下: 將電子郵件聲明內容進行比對,不區分大小寫。
- 如果驗證權杖包含選用的
google_email
憑證附加資訊, 必須和授權權杖中的電子郵件憑證附加資訊比較 而非區分大小寫請不要在 用於這項比較的驗證權杖 - 驗證權杖缺少選用
google_email
憑證附加資訊,驗證權杖中的電子郵件要求 必須與授權權杖中的電子郵件憑證附加資訊比較 而非區分大小寫的方法 - 如果 Google 為非電子郵件地址核發授權權杖
與 Google 帳戶建立關聯,必須出現
email_type
聲明。 這會是訪客存取權功能不可或缺的一環,因為這麼做可以提供寶貴意見 ,以便 KACLS 對外部 IP 位址強制執行額外的安全措施 使用者。- 以下列舉幾個 KACLS 能如何使用這類資訊的範例:
- 設置額外的記錄需求。
- 限定驗證權杖核發者只能使用專屬的訪客 IdP。
- 要求驗證權杖的其他憑證附加資訊。
- 如果客戶未設定訪客存取權,則所有要求都會
其中
email_type
設為google-visitor
或customer-idp
遭到拒絕。email_type
為google
或未設定的要求 「email_type
」仍應繼續接受。
- 檢查授權權杖中的
role
憑證附加資訊是否為「寫入者」或 「升級者」。 - 檢查授權權杖中的
kacls_url
憑證附加資訊是否與 目前的 KACLS 網址這項檢查可偵測潛在威脅 由內部人員或惡意網域設定的中間人伺服器 管理員。 - 使用驗證和授權進行週邊檢查 著作權聲明。
使用經過驗證的加密演算法為下列部分加密:
- 資料加密金鑰 (DEK)
- 授權權杖中的
resource_name
和perimeter_id
值 - 任何其他機密資料
記錄作業,包括產生作業的使用者、
resource_name
和 要求中傳送的原因。傳回不透明二進位物件,要與 Google Workspace 一併儲存 加密物件,並在後續解除金鑰包裝時依原樣傳送 作業。或是提供結構化錯誤回覆。
- 二進位物件應包含加密 DEK 的唯一副本。 可以儲存實作專屬資料。
解密資料
當 Google Workspace 使用者要求開啟用戶端加密 (CSE) 資料時,
Google Workspace 傳送 unwrap
要求
附加至 KACLS 端點網址進行解密。除了選用的安全性機制外
諸如範圍與 JWT 憑證附加檢查等檢查,KACLS 必須執行
步驟如下:
驗證提出要求的使用者。
- 驗證驗證權杖 和授權權杖。
- 方法如下: 將電子郵件聲明內容進行比對,不區分大小寫。
- 如果驗證權杖包含選用的
google_email
憑證附加資訊, 必須和授權權杖中的電子郵件憑證附加資訊比較 而非區分大小寫請不要在 用於這項比較的驗證權杖 - 驗證權杖缺少選用
google_email
憑證附加資訊,驗證權杖中的電子郵件要求 必須與授權權杖中的電子郵件憑證附加資訊比較 而非區分大小寫的方法 - 如果 Google 為非電子郵件地址核發授權權杖
與 Google 帳戶建立關聯,必須出現
email_type
聲明。 這會是訪客存取權功能不可或缺的一環,因為這麼做可以提供寶貴意見 ,以便 KACLS 對外部 IP 位址強制執行額外的安全措施 使用者。- 以下列舉幾個 KACLS 能如何使用這類資訊的範例:
- 設置額外的記錄需求。
- 限定驗證權杖核發者只能使用專屬的訪客 IdP。
- 要求驗證權杖的其他憑證附加資訊。
- 如果客戶未設定訪客存取權,則所有要求都會
其中
email_type
設為google-visitor
或customer-idp
遭到拒絕。email_type
為google
或未設定的要求 「email_type
」仍應繼續接受。
- 檢查授權權杖中的
role
憑證附加資訊是否為「讀取工具」或 「writer」。 - 檢查授權權杖中的
kacls_url
憑證附加資訊是否與 目前的 KACLS 網址這有助於偵測潛在的中間人 伺服器由內部人員或惡意網域管理員設定的。
使用經過驗證的加密演算法解密下列部分:
- 資料加密金鑰 (DEK)
- 授權權杖中的
resource_name
和perimeter_id
值 - 任何其他機密資料
檢查授權權杖和解密的 blob 中的
resource_name
比對。同時使用驗證和授權憑證執行週邊檢查。
記錄作業,包括產生作業的使用者、
resource_name
和 要求中傳送的原因。傳回未包裝的 DEK 或結構化錯誤回覆。