Open
Conversation
Signed-off-by: 최재환/DataQuery개발파트/CL <jaehwan.choi@nhn.com>
Signed-off-by: 최재환/DataQuery개발파트/CL <jaehwan.choi@nhn.com>
Signed-off-by: 최재환/DataQuery개발파트/CL <jaehwan.choi@nhn.com>
eddfde6 to
79cdde5
Compare
Co-authored-by: wslabosz-reply <w.slabosz@reply.com> Signed-off-by: 최재환 <jaehwan.choi@nhn.com>
Signed-off-by: 최재환/DataQuery개발파트/CL <jaehwan.choi@nhn.com>
cipherboy
reviewed
Sep 30, 2025
Member
There was a problem hiding this comment.
@arthas-choi-nhn Apologies about the delay in review! I've added a few comments inline, but looking fairly good.
The new full KMS APIs are available in #46 now, you should see them at kms/ if you pull the latest main.
cipherboy
reviewed
Sep 30, 2025
- remove legacy mechanism - refactor API CALL Signed-off-by: Arthas.Choi <jaehwan.choi@nhn.com>
…ping into nhncloud-skm Signed-off-by: Arthas.Choi <jaehwan.choi@nhn.com>
Signed-off-by: Arthas.Choi <jaehwan.choi@nhn.com>
Signed-off-by: Arthas.Choi <jaehwan.choi@nhn.com>
7e3fe43 to
a147547
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR introduces a new wrapper implementation for NHN Cloud Secure Key Manager (SKM), providing integration with NHN Cloud's key management service for encryption and decryption operations.
Key Changes
Implementation Details
Technical Approach
The wrapper follows the established patterns from existing KMS wrappers:
- Generate 32-byte AES-256 DEK for each operation
- Encrypt actual data using AES-GCM with the DEK
- Encrypt DEK using NHN Cloud SKM symmetric key
- Store both encrypted data and encrypted DEK in BlobInfo
- Tracks keyVersion from API responses for rotation support
- Stores versioned key information in format keyId:vN
- Enables seamless key rotation without data migration
- Maintains support for direct encryption method
- Automatic mechanism detection during decryption
- Smooth migration path for existing encrypted data
Testing
Configuration
The wrapper supports standard go-kms-wrapping configuration patterns:
wrapper := nhncloudskm.NewWrapper()
_, err := wrapper.SetConfig(ctx, wrapping.WithConfigMap(map[string]string{
"app_key": "your-app-key",
"key_id": "your-key-id",
"user_access_key_id": "your-access-key-id",
"user_secret_access_key": "your-secret-access-key",
}))
This implementation enables OpenBao users to leverage NHN Cloud SKM for auto-unseal functionality and secure key management operations.