Giải mã tệp và email được mã hoá phía máy khách đã xuất

Nếu tổ chức của bạn sử dụng tính năng Mã hoá phía máy khách (CSE) của Google Workspace, bạn có thể dùng tiện ích giải mã để giải mã các tệp và thư email được mã hoá phía máy khách mà bạn xuất bằng công cụ Xuất dữ liệu hoặc Google Vault. Bạn có thể chạy trình giải mã qua dòng lệnh.

Khi chạy trình giải mã, bạn sẽ dùng cờ dòng lệnh để chỉ định thông tin xác thực của nhà cung cấp danh tính (IdP), vị trí của các tệp đã mã hoá, vị trí đầu ra cho các tệp đã giải mã và các lựa chọn khác. Bạn cũng có thể tạo một tệp cấu hình (config) để lưu các cờ giải mã mà bạn thường dùng.

Trước khi bắt đầu

  • Khi bạn giải mã một tệp Google Tài liệu, Trang tính hoặc Trang trình bày, tên tệp sẽ kết thúc bằng .gdoczip hoặc tương tự. Sau khi giải mã, bạn có thể chuyển đổi các tệp này sang định dạng Microsoft Office bằng công cụ chuyển đổi tệp. Để biết thông tin chi tiết, hãy xem bài viết Chuyển đổi tệp Google đã xuất và giải mã thành tệp Microsoft Office.
  • Nếu xuất thư được mã hoá phía máy khách (CSE) trong Gmail từ Google Vault, bạn cần xuất ở định dạng MBOX. Chương trình giải mã không xử lý được dữ liệu xuất ở định dạng PST.
  • Tiện ích giải mã có thể giải mã mọi thư được mã hoá bằng chứng chỉ S/MIME. Tiện ích này cũng có thể giải mã những thư được mã hoá mà không có chứng chỉ S/MIME (tức là những thư sử dụng tính năng mã hoá hai đầu (E2EE) của Gmail), nếu người dùng của bạn đã mã hoá thư hoặc thư gốc trong chuỗi thư.
  • Tiện ích giải mã không thể giải mã thư (bao gồm cả tất cả thư trong một chuỗi) được mã hoá mà không có chứng chỉ S/MIME (Gmail E2EE) tại một tổ chức khác.

Yêu cầu hệ thống

  • Microsoft Windows phiên bản 10 hoặc 11 64 bit
  • macOS 12 (Monterey) trở lên. Cả bộ xử lý Apple và Intel đều được hỗ trợ.
  • Linux x86_64.

Tải trình giải mã xuống

Mở tệp lưu trữ hoặc ổ đĩa và trích xuất tệp thực thi của trình giải mã vào một thư mục hoặc thư mục cục bộ.

Định cấu hình quyền truy cập vào dịch vụ khoá

Chương trình giải mã sẽ gửi các truy vấn đến dịch vụ khoá mã hoá của bạn (còn gọi là dịch vụ danh sách kiểm soát quyền truy cập khoá (KACLS)), dịch vụ này sẽ bảo vệ từng tệp hoặc thư đã mã hoá trong dữ liệu xuất. Hãy yêu cầu quản trị viên của nhà cung cấp danh tính (IdP) và quản trị viên dịch vụ khoá mã hoá cung cấp thông tin đăng nhập mà KACL sẽ chấp nhận; nếu không, KACL sẽ từ chối các nỗ lực giải mã nội dung đã xuất của trình giải mã.

Bạn cần có

Để định cấu hình quyền truy cập KACLS, hãy đảm bảo bạn có:

  • Mã ứng dụng OAuth mà các ứng dụng đã cài đặt có thể sử dụng. Mã ứng dụng khách cho trình giải mã phải là mã ứng dụng khách mà phần mềm máy tính đã cài đặt có thể sử dụng và dành riêng cho tiện ích trình giải mã. Mã ứng dụng khách này phải là một mã ứng dụng khách khác với mã ứng dụng khách được đặt trong Bảng điều khiển dành cho quản trị viên của Google cho web, máy tính và ứng dụng di động của CSE.
  • Khoá bí mật của ứng dụng OAuth được liên kết với mã ứng dụng, nếu IdP của bạn là Google. Bạn không cần khoá bí mật của ứng dụng nếu đang sử dụng một IdP bên thứ ba.
  • Địa chỉ email của tài khoản người dùng xác thực với KACLS để giải mã xuất. Đây có thể là tài khoản của riêng bạn hoặc là một tài khoản đặc biệt mà quản trị viên đã định cấu hình. Bạn cần đăng nhập với tư cách là người dùng này khi chạy tiện ích giải mã, vì vậy, có thể bạn sẽ cần mật khẩu của tài khoản.

Điểm cuối KACLS

Cấu hình KACLS phải cho phép tài khoản người dùng và mã ứng dụng gọi các điểm cuối dùng để xuất quy trình giải mã. Thông thường, quản trị viên KACLS có thể thiết lập chế độ này cho bạn. Điểm cuối KACLS mà trình giải mã gọi phụ thuộc vào loại nội dung được mã hoá:

  • CSE trên Lịch: privilegedunwrap
  • CSE của Tài liệu, CSE của Trang tính, CSE của Trang trình bày: privilegedunwrap
  • CSE của Drive: privilegedunwrap
  • CSE của Gmail (có chứng chỉ S/MIME): privilegedprivatekeydecrypt
  • CSE của Gmail (không có chứng chỉ S/MIME): privilegedunwrap

Định cấu hình quyền truy cập S/MIME của Gmail (không bắt buộc)

Nếu bạn đang giải mã các thư Gmail được mã hoá phía máy khách sử dụng S/MIME từ Google Vault, thì trình giải mã cần gọi API công khai của Gmail để tải thêm dữ liệu xuống. Dữ liệu xuất của Google Vault không bao gồm chứng chỉ S/MIME của từng người dùng, vì vậy, trình giải mã sẽ tự động tìm nạp các chứng chỉ này từ Gmail khi cần.

Để cho phép chương trình giải mã yêu cầu chứng chỉ S/MIME cho bất kỳ người dùng nào trong tổ chức của bạn, bạn cần truyền thông tin đăng nhập tài khoản dịch vụ trên toàn miền cho chương trình giải mã. Để biết thông tin chi tiết về cách thiết lập tài khoản dịch vụ này và tạo tệp JSON chứa thông tin đăng nhập riêng tư cho tài khoản dịch vụ, hãy xem bài viết Chỉ Gmail: Định cấu hình S/MIME để mã hoá phía máy khách.

Lưu ý: Bạn không bắt buộc phải thiết lập chế độ này nếu đang giải mã thư được mã hoá phía máy khách bằng Công cụ xuất dữ liệu hoặc giải mã thư được mã hoá trong Vault mà không có chứng chỉ S/MIME.

Trình giải mã không thể tìm nạp chứng chỉ S/MIME của người dùng và do đó không thể giải mã thư được mã hoá phía máy khách sử dụng S/MIME nếu có bất kỳ điều kiện nào sau đây:

Để đảm bảo giải mã thư được mã hoá phía máy khách bằng chứng chỉ S/MIME, bạn có thể:

  • Giải mã ngay các thư được xuất từ Vault trong khi chứng chỉ vẫn còn hiệu lực.
  • Sử dụng công cụ Xuất dữ liệu để xuất tin nhắn. Các tệp xuất này bao gồm chứng chỉ của từng người dùng.

Trước tiên, hãy tạo một tệp cấu hình

Trình giải mã sử dụng OAuth và IdP của bạn để lấy thông tin xác thực mà trình giải mã đưa vào mọi yêu cầu KACLS privilegedunwrapprivilegedprivatekeydecrypt. Cấu hình OAuth của bạn sẽ không thay đổi thường xuyên, vì vậy, bạn có thể tạo một tệp cấu hình (config) chứa các chế độ cài đặt OAuth để không phải đặt các chế độ này mỗi khi chạy trình giải mã. Để biết thông tin chi tiết về các cờ tệp cấu hình, hãy xem phần Cờ tạo cấu hìnhCờ cập nhật cấu hình bên dưới.

Lưu ý: Mặc dù đây là bước thiết lập không bắt buộc, nhưng bạn nên thực hiện để đơn giản hoá việc sử dụng tiện ích giải mã. Nếu không tạo tệp cấu hình, bạn có thể truyền cờ OAuth trên dòng lệnh cho mọi lần thực thi của chương trình giải mã. Nếu bạn thực hiện cả hai, các giá trị cờ được truyền trên dòng lệnh sẽ ghi đè các giá trị được đọc từ tệp cấu hình.

Ví dụ: Tạo cấu hình cho nhà cung cấp danh tính (IdP) của Google

Trên Windows

Trên macOS hoặc Linux

Giờ đây, bạn có thể cập nhật cấu hình để thêm mật khẩu ứng dụng OAuth vào quy trình cấp mã uỷ quyền.

Trên Windows

Trên macOS hoặc Linux

Nếu IdP của bạn không phải là Google: Đừng thêm khoá bí mật của ứng dụng khách. Khoá này chỉ cần thiết cho IdP của Google. Nhiều IdP khác sẽ từ chối các yêu cầu xác thực khi có mã bí mật của ứng dụng.

Giải mã tệp và email được mã hoá bằng CSE

Tiện ích giải mã hoạt động trên các tệp xuất chưa giải nén.

  1. Sau khi tạo một bản xuất trong công cụ Xuất dữ liệu hoặc Google Vault, hãy tải các tệp zip xuống máy tính cục bộ.
  2. Giải nén các tệp vào một thư mục trên máy tính.
  3. Chạy chương trình giải mã trên các tệp chưa giải nén và lưu các tệp văn bản thuần tuý đã giải mã vào một thư mục khác.

Ví dụ: Sử dụng tệp cấu hình đã chuẩn bị mà không có thông tin đăng nhập tài khoản dịch vụ

Trên Windows

Trên macOS hoặc Linux

Ví dụ: Sử dụng tệp cấu hình đã chuẩn bị sẵn với thông tin đăng nhập tài khoản dịch vụ

Trên Windows

Trên macOS hoặc Linux

Ví dụ: Không sử dụng tệp cấu hình cũng như thông tin đăng nhập tài khoản dịch vụ

Trên Windows

Trên macOS hoặc Linux

Cờ giải mã

Cờ giải mã có thể chứa 1 hoặc 2 dấu gạch ngang ở đầu – ví dụ: cờ để hiển thị thông tin trợ giúp có thể là một trong những cờ sau:

-help

--help

Lưu ý: Bạn chỉ có thể dùng dấu gạch ngang cho cờ chứ không dùng dấu gạch chéo (/).

Cờ cho đối số chuỗi có thể bao gồm dấu bằng hoặc khoảng trắng để chỉ định đối số. Ví dụ: các cờ sau đây tương đương với nhau:

-action=decrypt

-action decrypt

Cờ trợ giúp

Cờ Mô tả
-version In chuỗi phiên bản. Nếu bạn liên hệ với nhóm hỗ trợ, hãy nhớ cung cấp phiên bản của trình giải mã mà bạn đang dùng.
-help In một màn hình gồm tất cả các cờ để tham khảo.
-logfile Chỉ định tệp đầu ra nơi nhật ký thực thi sẽ được ghi. Văn bản [TIMESTAMP] trong tên tệp sẽ được thay thế bằng thời gian bắt đầu thực thi.

Cờ giải mã

Cờ Mô tả
-action decrypt Không bắt buộc. Chỉ định rằng chế độ của tiện ích là giải mã các tệp CSE. Đây là chế độ mặc định.
-email <email_address> Không bắt buộc. Địa chỉ email có thể được điền sẵn trong màn hình xác thực IdP mở ra trong trình duyệt.
-issuer <uri> Bắt buộc, trừ phi có trong tệp cấu hình. URI khám phá đơn vị phát hành OAuth cho IdP, chẳng hạn như https://accounts.google.com. Để biết thông tin chi tiết, hãy xem bài viết Kết nối với nhà cung cấp danh tính để dùng tính năng mã hoá phía máy khách.
-client_id <oauth_client_id> Bắt buộc, trừ phi có trong tệp cấu hình. Mã ứng dụng OAuth của IdP được chỉ định trong cờ -issuer. Để biết thông tin chi tiết, hãy xem bài viết Kết nối với nhà cung cấp danh tính để dùng tính năng mã hoá phía máy khách.
-client_secret <oauth_client_secret> Không bắt buộc, mặc dù một số IdP có thể yêu cầu bạn cung cấp thông tin này. Phần khoá bí mật của ứng dụng OAuth tương ứng với mã ứng dụng được chỉ định trong cờ -client_id.
-pkce
-nopkce
Bật hoặc tắt PKCE (Khoá bằng chứng để trao đổi mã) trong quy trình cấp mã uỷ quyền. Nếu bạn không chỉ định cờ nào, thì theo mặc định, trình giải mã sẽ được bật.
-input <directory_or_file>

Bắt buộc. Thư mục đầu vào hoặc tệp xuất.

Nếu bạn chỉ định một thư mục, thì chương trình giải mã sẽ duyệt qua toàn bộ cây thư mục một cách đệ quy để tìm tất cả các tệp CSE đã xuất. Sử dụng lựa chọn này để giải mã hàng loạt tất cả các tệp đã xuất từ một tệp lưu trữ xuất mở rộng.

Nếu bạn chỉ định 1 tệp CSE đã xuất, thì trình giải mã sẽ chỉ giải mã tệp đó. Nếu đó không phải là tệp CSE, thì trình giải mã sẽ yêu cầu bạn xác thực với IdP nhưng sẽ không giải mã bất kỳ tệp nào.

-output <directory> Bắt buộc. Thư mục lưu trữ các tệp đã giải mã.
-overwrite
-nooverwrite
Bật hoặc tắt tính năng ghi đè các tệp đầu ra văn bản thuần tuý đã giải mã hiện có. Nếu bị vô hiệu hoá (theo mặc định), trình giải mã sẽ bỏ qua việc giải mã các tệp văn bản mã hoá nếu tệp văn bản thuần tuý đã tồn tại.
-workers <integer>

Không bắt buộc. Số lượng worker giải mã song song. Nếu bạn không sử dụng cờ này, trình giải mã sẽ mặc định là số lõi xử lý và siêu luồng do hệ điều hành báo cáo.

Nếu máy tính của bạn gặp vấn đề về hiệu suất hoặc bạn nhận được lỗi xử lý đa tiến trình khi giải mã tệp, bạn có thể đặt cờ này thành 1 để tắt tính năng xử lý song song.

-config <file>

Không bắt buộc. Tệp cấu hình chứa các giá trị cờ đã lưu trữ. Sử dụng tệp cấu hình để tránh dán các cờ dòng lệnh giống nhau mỗi khi bạn giải mã tệp. Để biết thêm thông tin, hãy xem phần Cờ tạo cấu hìnhCờ cập nhật cấu hình bên dưới.

Các giá trị cờ mà bạn đặt trên dòng lệnh sẽ được ưu tiên hơn các giá trị trong cấu hình.

Lưu ý: Nếu bạn chỉ định một tệp trong cấu hình nhưng không tìm thấy tệp đó, thì sẽ xảy ra lỗi.

-credential <file> Không bắt buộc. Chỉ định một tệp JSON chứa khoá riêng tư của tài khoản dịch vụ trên toàn miền. Khi được chỉ định, quá trình giải mã thư CSE của Gmail sẽ truy vấn Gmail API để lấy chứng chỉ S/MIME và siêu dữ liệu dịch vụ danh sách kiểm soát quyền truy cập khoá (KACLS) của từng người dùng.

Cờ tạo cấu hình

Sử dụng các cờ này để lưu các cờ dòng lệnh giải mã thường dùng vào một tệp cấu hình để sử dụng lại. Tệp cấu hình được định dạng bằng JSON, chứa văn bản mà con người có thể đọc được.

Cờ Mô tả
-action createconfig Bắt buộc. Ghi đè chế độ thực thi mặc định để chạy chế độ tạo tệp cấu hình.
-config file Bắt buộc. Chỉ định tên tệp đầu ra mà bạn muốn lưu cấu hình. Nếu tệp đã tồn tại, tệp đó sẽ bị ghi đè mà không có cảnh báo.
-email <email_address>
-discovery_uri <uri>
-client_id <oauth_client_id>
-client_secret <oauth_client_secret>
-pkce
-nopkce
Không bắt buộc. Mọi giá trị cờ được chỉ định sẽ được lưu vào tệp cấu hình để sử dụng lại.

Cờ cập nhật cấu hình

Sử dụng các cờ này để cập nhật mọi giá trị cờ trong tệp cấu hình.

Cờ Mô tả
-action updateconfig Bắt buộc. Ghi đè chế độ thực thi mặc định để chạy chế độ cập nhật tệp cấu hình.
-config file Bắt buộc. Tệp cấu hình mà bạn muốn cập nhật. Nếu tệp không tồn tại, lỗi sẽ xảy ra.
-email <email_address>
-discovery_uri <uri>
-client_id <oauth_client_id>
-client_secret <oauth_client_secret>
-pkce
-nopkce

Tất cả đều không bắt buộc. Các giá trị cho cờ mà bạn chỉ định trên dòng lệnh sẽ bị ghi đè; mọi giá trị khác cho cờ trong cấu hình sẽ được giữ lại. Để huỷ đặt một cờ đã lưu trữ, hãy chỉ định một giá trị trống.

Lưu ý: Nếu nội dung chỉnh sửa làm hỏng định dạng JSON, thì có thể sẽ xảy ra lỗi khi bạn sử dụng cấu hình trong trình giải mã.

Cờ thông tin

Sử dụng các cờ này để in thông tin dễ đọc về các tệp CSE.

Cờ Mô tả
-action info (Bắt buộc) Ghi đè chế độ thực thi mặc định để chạy ở chế độ thông tin
-input directory_or_file

(Bắt buộc) Chỉ định thư mục đầu vào hoặc tệp xuất

Nếu bạn chỉ định một thư mục, tiện ích này sẽ quét đệ quy toàn bộ cây thư mục để tìm tất cả các tệp xuất CSE. Nếu bạn chỉ định một tệp, tiện ích này sẽ chỉ cung cấp thông tin cho tệp đó.

Bạn có thể lặp lại cờ này để chỉ định các tệp hoặc thư mục đầu vào khác. Ví dụ:

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