I'm not a cryptographic expert by far but I do understand that when it comes to cryptography it's best to stick with established standards.
I have to ensure confidentiality and integrity of a bunch of files (chunks of these files actually).
Getting inspiration from "serious" people, AES-GCM with distinct IVs and keys for each chunk seems the way to go since it provides both confidentiality and integrity, and is good performance-wise. It also seems a good practice to encrypt each chunk key with a Key Encryption Key that has to be renewed on a regular basis.
Here are my questions:
- Did I get it right up to this point?
- Are there specific ciphers for encrypting each chunk key with the KEK? Does it require to use an IV since there shouldn't be two identical chunk keys?
- What are the good practice/standards to protect the KEK on a server without dedicated hardware such as an HSM?
PS: I'd be glad to take a look at any ressource available and accessible to non-experts on that topic.