Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

V6 Cryptography - Key wrapping explanation #2246

Open
danielcuthbert opened this issue Nov 5, 2024 · 6 comments
Open

V6 Cryptography - Key wrapping explanation #2246

danielcuthbert opened this issue Nov 5, 2024 · 6 comments
Assignees
Labels
1) Discussion ongoing Issue is opened and assigned but no clear proposal yet AppendixV Appendix with crypto details _5.0 - Not blocker This issue does not block 5.0 so if it gets addressed then great, if not then fine.

Comments

@danielcuthbert
Copy link
Collaborator

Screenshot 2024-11-05 at 14 19 45
@danielcuthbert danielcuthbert added _5.0 - prep This needs to be addressed to prepare 5.0 V6 labels Nov 5, 2024
@danielcuthbert danielcuthbert self-assigned this Nov 5, 2024
@danielcuthbert danielcuthbert added the 1) Discussion ongoing Issue is opened and assigned but no clear proposal yet label Nov 5, 2024
@danielcuthbert
Copy link
Collaborator Author

I totally agree with this and feel we should not only explain what key wrapping is, but also when it should be used. My attempt at this is as follows (please by all means give feedback on if you feel it is legitimate and usable)

Cryptographic key wrapping is a method of protecting keys by encrypting a key using symmetric encryption in order to encapsulate said keys/material. The key used to encrypt the other key is called the wrapping key. This is often performed when you want to protect keys in places deemed untrustworthy, or send sensitive keys over untrusted networks or within applications.

@james-bitherder
Copy link

Suggested edit:
Cryptographic key wrap (and corresponding key unwrap) is a method of protecting an existing key by encapsulating (i.e. wrapping) it by employing an additional encryption mechanism so that the original key is not obviously exposed, e.g. during a transfer. This additional key used to protect the original key is referred to as the the wrap key.
This operation may be performed when it is desirable to protect keys in places deemed untrustworthy, or to send sensitive keys over untrusted networks or within applications.
However, serious consideration should be given to understanding the nature (e.g. the identity and the purpose) of the original key prior to committing to a wrap/unwrap procedure as this may have repercussions for both source and target systems/applications in terms of security and especially compliance which may include audit trails of a key's function (e.g. signing) as well as appropriate key storage.

@randomstuff
Copy link
Contributor

randomstuff commented Nov 5, 2024

I (so far) do not really know/understand (but I shall do my homework and find the answer 😉) why key wrapping as a special construct is useful in contrast to encrypting the key with some general encryption method (with some authentication). Maybe this should be clarified here?

@danielcuthbert
Copy link
Collaborator Author

It should, I'm just not sure if this is an Appendix addition over a requirement.

@jmanico
Copy link
Member

jmanico commented Nov 6, 2024

...is key wrapping the same as envelope encryption?

@danielcuthbert
Copy link
Collaborator Author

@jmanico related but not the same. Envelope encryption involves encrypting the data using a data encryption key (DEK) and encrypting the DEK using the key encryption key (KEK) hence the envelope analogy

@tghosth tghosth added _5.0 - Not blocker This issue does not block 5.0 so if it gets addressed then great, if not then fine. AppendixV Appendix with crypto details and removed _5.0 - prep This needs to be addressed to prepare 5.0 V6 labels Nov 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
1) Discussion ongoing Issue is opened and assigned but no clear proposal yet AppendixV Appendix with crypto details _5.0 - Not blocker This issue does not block 5.0 so if it gets addressed then great, if not then fine.
Projects
None yet
Development

No branches or pull requests

5 participants