Hướng dẫn này mô tả cách hoạt động của tính năng mã hoá và giải mã bằng API Mã hoá phía máy khách của Google Workspace.
Bạn phải đưa mọi dịch vụ Nhà cung cấp danh tính (IdP) mà người dùng sử dụng vào danh sách cho phép đang chia sẻ tệp đã mã hoá. Thường thì bạn có thể tìm thấy các thông tin chi tiết cần thiết cho nhà cung cấp danh tính (IdP) trong tệp .well-known sẵn có công khai; nếu không, hãy liên hệ Quản trị viên Google Workspace để xem thông tin chi tiết về IdP của họ.
Mã hoá dữ liệu
Khi một người dùng Google Workspace yêu cầu lưu hoặc lưu trữ tệp đã mã hoá phía máy khách
(CSE), Google Workspace gửi một wrap
yêu cầu URL điểm cuối KACLS của bạn để mã hoá. Ngoài thông tin không bắt buộc
các quy trình kiểm tra bảo mật (chẳng hạn như kiểm tra theo phạm vi và kiểm tra dựa trên tuyên bố JWT), KACLS của bạn phải
thực hiện các bước sau:
Xác thực người dùng yêu cầu.
- Xác thực cả mã thông báo xác thực và mã thông báo uỷ quyền.
- Kiểm tra để đảm bảo mã thông báo uỷ quyền và xác thực là của cùng một người dùng bằng cách thực hiện một kiểu khớp không phân biệt chữ hoa chữ thường trên các khiếu nại email.
- Khi mã thông báo xác thực chứa thông báo xác nhận quyền sở hữu
google_email
không bắt buộc, bạn phải so sánh thông tin đó với thông báo xác nhận quyền sở hữu email trong mã thông báo uỷ quyền bằng cách sử dụng phương pháp không phân biệt chữ hoa chữ thường. Không sử dụng xác nhận quyền sở hữu qua email trong mã xác thực cho phép so sánh này. - Trong các trường hợp mã thông báo xác thực thiếu tuỳ chọn
google_email
xác nhận quyền sở hữu, email xác nhận quyền sở hữu trong mã thông báo xác thực phải được so sánh với thông báo xác nhận quyền sở hữu email trong mã thông báo uỷ quyền, bằng cách sử dụng phương thức không phân biệt chữ hoa chữ thường. - Trong các trường hợp mà Google cấp mã thông báo uỷ quyền cho một email không
được liên kết với Tài khoản Google thì thông báo xác nhận quyền sở hữu
email_type
phải có. Điều này tạo nên một phần quan trọng của tính năng Quyền truy cập của khách, mang lại thông tin về KACLS để thực thi các biện pháp bảo mật bổ sung trên người dùng.- Sau đây là một số ví dụ về cách một KACLS có thể sử dụng thông tin này:
- Để áp dụng thêm các yêu cầu ghi nhật ký.
- Để chỉ cho phép nhà phát hành mã xác thực của một nhà cung cấp danh tính (IdP) khách chuyên biệt.
- Để yêu cầu xác nhận thêm về mã thông báo xác thực.
- Nếu khách hàng chưa định cấu hình Quyền truy cập của khách, thì tất cả các yêu cầu
trong đó
email_type
được đặt thànhgoogle-visitor
hoặccustomer-idp
có thể được đặt bị từ chối. Yêu cầu cóemail_type
làgoogle
hoặc chưa đặtemail_type
cần tiếp tục được chấp nhận.
- Kiểm tra để đảm bảo rằng thông báo xác nhận quyền sở hữu
role
trong mã thông báo uỷ quyền là "writer" hoặc "trình nâng cấp". - Kiểm tra để đảm bảo thông báo xác nhận quyền sở hữu
kacls_url
trong mã thông báo uỷ quyền khớp với URL của KACLS hiện tại. Bước kiểm tra này cho phép phát hiện máy chủ trung gian do người trong cuộc định cấu hình hoặc miền lừa đảo Google Workspace. - Thực hiện kiểm tra ngoại vi bằng cả phương thức xác thực và uỷ quyền xác nhận quyền sở hữu.
Mã hoá các phần sau đây bằng thuật toán mã hoá đã xác thực:
- Khoá mã hoá dữ liệu (DEK)
- Các giá trị
resource_name
vàperimeter_id
trong mã thông báo uỷ quyền - Mọi dữ liệu nhạy cảm khác
Ghi lại hoạt động, bao gồm cả người dùng thực hiện hành động,
resource_name
và lý do được chuyển vào yêu cầu.Trả về một đối tượng nhị phân mờ để được Google Workspace lưu trữ cùng với đối tượng đã mã hoá và gửi nguyên trạng trong mọi hoạt động khám phá khoá tiếp theo hoạt động. Hoặc phân phát trả lời lỗi có cấu trúc.
- Đối tượng nhị phân chỉ được chứa bản sao của DEK được mã hoá, dữ liệu triển khai cụ thể có thể được lưu trữ trong đó.
Giải mã dữ liệu
Khi một người dùng Google Workspace yêu cầu mở dữ liệu được mã hoá phía máy khách (CSE),
Google Workspace gửi yêu cầu unwrap
vào URL điểm cuối KACLS để giải mã. Ngoài biện pháp bảo mật bổ sung
Các quy trình kiểm tra (chẳng hạn như kiểm tra theo phạm vi và kiểm tra dựa trên tuyên bố JWT), KACLS của bạn phải thực hiện
các bước sau:
Xác thực người dùng yêu cầu.
- Xác thực cả mã thông báo xác thực và mã thông báo uỷ quyền.
- Kiểm tra để đảm bảo mã thông báo uỷ quyền và xác thực là của cùng một người dùng bằng cách thực hiện một kiểu khớp không phân biệt chữ hoa chữ thường trên các khiếu nại email.
- Khi mã thông báo xác thực chứa thông báo xác nhận quyền sở hữu
google_email
không bắt buộc, bạn phải so sánh thông tin đó với thông báo xác nhận quyền sở hữu email trong mã thông báo uỷ quyền bằng cách sử dụng phương pháp không phân biệt chữ hoa chữ thường. Không sử dụng xác nhận quyền sở hữu qua email trong mã xác thực cho phép so sánh này. - Trong các trường hợp mã thông báo xác thực thiếu tuỳ chọn
google_email
xác nhận quyền sở hữu, email xác nhận quyền sở hữu trong mã thông báo xác thực phải được so sánh với thông báo xác nhận quyền sở hữu email trong mã thông báo uỷ quyền, bằng cách sử dụng phương thức không phân biệt chữ hoa chữ thường. - Trong các trường hợp mà Google cấp mã thông báo uỷ quyền cho một email không
được liên kết với Tài khoản Google thì thông báo xác nhận quyền sở hữu
email_type
phải có. Điều này tạo nên một phần quan trọng của tính năng Quyền truy cập của khách, mang lại thông tin về KACLS để thực thi các biện pháp bảo mật bổ sung trên người dùng.- Sau đây là một số ví dụ về cách một KACLS có thể sử dụng thông tin này:
- Để áp dụng thêm các yêu cầu ghi nhật ký.
- Để chỉ cho phép nhà phát hành mã xác thực của một nhà cung cấp danh tính (IdP) khách chuyên biệt.
- Để yêu cầu xác nhận thêm về mã thông báo xác thực.
- Nếu khách hàng chưa định cấu hình Quyền truy cập của khách, thì tất cả các yêu cầu
trong đó
email_type
được đặt thànhgoogle-visitor
hoặccustomer-idp
có thể được đặt bị từ chối. Yêu cầu cóemail_type
làgoogle
hoặc chưa đặtemail_type
cần tiếp tục được chấp nhận.
- Kiểm tra để đảm bảo thông báo xác nhận quyền sở hữu
role
trong mã thông báo uỷ quyền là "trình đọc" hoặc "nhà văn". - Kiểm tra để đảm bảo thông báo xác nhận quyền sở hữu
kacls_url
trong mã thông báo uỷ quyền khớp với URL của KACLS hiện tại. Điều này cho phép phát hiện kẻ trung gian tiềm ẩn máy chủ do người trong cuộc định cấu hình hoặc quản trị viên miền giả mạo.
Giải mã các phần sau bằng thuật toán mã hoá đã xác thực:
- Khoá mã hoá dữ liệu (DEK)
- Các giá trị
resource_name
vàperimeter_id
trong mã thông báo uỷ quyền - Mọi dữ liệu nhạy cảm khác
Kiểm tra để đảm bảo
resource_name
trong mã thông báo uỷ quyền và blob đã giải mã khớp.Thực hiện kiểm tra phạm vi bằng cả xác thực và xác nhận quyền sở hữu uỷ quyền.
Ghi lại hoạt động, bao gồm cả người dùng thực hiện hành động,
resource_name
và lý do được chuyển vào yêu cầu.Trả về DEK chưa được bao bọc hoặc câu trả lời lỗi có cấu trúc.