Skip to content

[CDAP-20872] Add AeadCipher SPI for Encryption in CDAP#15425

Merged
dli357 merged 1 commit intodevelopfrom
feature/CDAP-20648-cipher
Nov 18, 2023
Merged

[CDAP-20872] Add AeadCipher SPI for Encryption in CDAP#15425
dli357 merged 1 commit intodevelopfrom
feature/CDAP-20648-cipher

Conversation

@dli357
Copy link
Copy Markdown
Contributor

@dli357 dli357 commented Nov 13, 2023

This PR adds a new SPI for supporting encryption using Tink. The following encryption implementations are supported:

  • Tink Cleartext: Uses a file-based Tink key read from SConfiguration.
  • Tink GCP Envelope: Uses Tink client-side envelope encryption with GCP Cloud KMS as the key management service.

Additionally, the PR also uses the new encryption SPI in the following ways:

  • Adds data storage encryption to CredentialIdentityStore and CredentialProfileStore
  • Refactors the existing user credential encryption in AuthenticationHandler and NettyRouter to use the new SPI

Finally, this PR also removes the Tink dependency from cdap-security, along with protobuf and tink shading.

@dli357 dli357 added build Triggers github actions build 6.10 credential_provider Label for tracking the credential provider feature. namespaced_service_accounts Label for tracking namespaced service accounts feature labels Nov 13, 2023
@dli357 dli357 self-assigned this Nov 13, 2023
@dli357 dli357 force-pushed the feature/CDAP-20648-cipher branch 9 times, most recently from 693c7a5 to ecb7d92 Compare November 14, 2023 19:11
@dli357 dli357 requested review from chtyim, rmstar and tivv November 14, 2023 19:22
Comment thread cdap-security/src/main/java/io/cdap/cdap/security/encryption/NoOpAeadCipher.java Outdated
Comment thread cdap-security/src/main/java/io/cdap/cdap/security/encryption/AeadCipher.java Outdated
@dli357 dli357 force-pushed the feature/CDAP-20648-cipher branch 2 times, most recently from b2f31c1 to df4ae52 Compare November 16, 2023 04:37
@dli357 dli357 requested a review from chtyim November 16, 2023 22:18
@dli357 dli357 requested a review from albertshau November 16, 2023 22:18
Comment thread cdap-encryption-ext-tink/pom.xml Outdated
Copy link
Copy Markdown
Contributor

@chtyim chtyim left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, just couple minor comments left.

…on in CDAP

[CDAP-20872] Add data encryption for CredentialIdentityStore and CredentialProfileStore

[CDAP-20872] Refactor user credential encryption to use new SPI

[CDAP-20872] Remove Tink dependency from cdap-security

[CDAP-20872] Addressed comments, renamed AeadCipher SPI to AeadCipherCryptor

[CDAP-20872] Change CipherException to extend RuntimeException and address comments

[CDAP-20872] Fix checktstyle
@dli357 dli357 force-pushed the feature/CDAP-20648-cipher branch from 628ccea to 61df5b6 Compare November 18, 2023 01:57
@dli357
Copy link
Copy Markdown
Contributor Author

dli357 commented Nov 18, 2023

Thank you for the reviews!

@dli357 dli357 merged commit 9a89c3e into develop Nov 18, 2023
@dli357 dli357 deleted the feature/CDAP-20648-cipher branch November 18, 2023 20:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

6.10 build Triggers github actions build credential_provider Label for tracking the credential provider feature. namespaced_service_accounts Label for tracking namespaced service accounts feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants