2025 CE FinalProject-GoogleCSE
2025 CE FinalProject-GoogleCSE
Google CSE is a security function offered by Google Workspace, which make user can
encrypt their data in local before uploading it to the Google server(cloud side).
Under CSE, the attacker cannot decrypt the data when he/she gets access to the server’s DB
because “Google doesn’t stores the KEY”.
2. Critical Mechanism in Google CSE
a. Client-Side Encryption
AES-GCM (data protection)
RSA or EC (key protection)
e.g. When user upload a document to Google drive, Google drive will store the encrypt version rather than
the raw data.
b. Key Management Service
Google Cloud KMS or third-party KMS(AWS KMS\Microsoft Azure Key Vault)
Only authorized user can access the “KEY”, Google service can’t access it
e.g. A company used a key to encrypt the document and store the document in Google drive. But the key
is stored in AWS KMS.
c. Client-Side Decryption
User authorization(OAuth 2.0)
Zero trust access
e.g. Use OAuth 2.0 with Zero trust policy to management the user’s access right.
3. Procedure of Google CSE
Upload(encryption) Download(descryption)
1. User choose a file to upload 1. User request to download the encrypted data
2. Browser or local app use AES-GCM to encrypt 2. Google send the encrypted data to user without
data with its private key decrypt method
3. Encrypt the private key with the “KMS public key” 3. User’s browser or local app send request to KMS
4. Upload the encrypted data and encrypted for “KMS secret key”
private to Google server(cloud) 4. If user is authorized, KMS will send the secret key.
5. Browser or app decrypt the data after decrypt
the private with “KMS secret key”
4. Advantage of Google CSE
Complexity
User need more steps to do KMS
operation or encryption
Key Management
The organization is responsible for
managing the keys. If the keys are
Functions Limitations lost, the data cannot be recovered.
Some Google service(search,
suggestion) may not work under
encryption data.
6. CSE v.s. E2E
Properties CSE E2E
Encrypt at UE UE
Cloud Decryption No No