我在Java项目中使用Google Tink库加密两个文本,一个使用对称密钥加密(SKE),另一个使用确定性对称密钥加密(DSKE)。
这是一个后端应用程序,我没有用于存储主密钥的远程存储(google可以,aws,...)。
生成加密这两个文件所需的秘密材料的正确方法是什么?我想我需要使用'tinkey‘来完成这个任务,但是我并不真正理解key和keyset之间的区别。我的SKE密钥和DSKE密钥可以在同一个密钥集中吗?如何生成它们?我可以有一个用于密钥轮换的主密钥吗?
谢谢
发布于 2020-08-25 16:47:26
您将需要生成两个密钥集,一个是AEAD,另一个是确定性AEAD。
tinkey create-keyset --key-template AES128_GCM --out aead-keyset.json
tinkey create-keyset --key-template AES256_SIV --out deterministic-aead-keyset.json您希望将密钥集文件存储在后端服务器中的安全位置。不要将它们提交到您的git服务器。
在Java语言中,您可以使用CleartextKeysetHandle或其他语言中的等效API加载键集。有关更多信息,请参阅该语言的HOWTO。
https://stackoverflow.com/questions/63501785
复制相似问题