如何生成Java tink密钥?

huangapple go评论75阅读模式
英文:

How to generate a Java tink key?

问题

我在我的Java项目中使用Google Tink库来对两段文本进行加密,一个是使用对称密钥加密(SKE),另一个是使用确定性对称密钥加密(DSKE)。

这是一个后端应用程序,我没有远程存储来存储主密钥(比如Google Could、AWS等)。

生成我需要用来加密这两个文件的秘密材料的正确方法是什么?我认为我需要使用'tinkey'来完成这个任务,但我真的不太理解密钥和密钥集之间的区别。我的SKE密钥和DSKE密钥可以在同一个密钥集中吗?如何生成它们?我可以有一个用于密钥轮换的主密钥吗?

谢谢。

英文:

I'm using the Google Tink library in my Java project to encrypt two texts, one with Symmetric Key Encryption (SKE), and another one with Deterministic symmetric key encryption (DSKE).

This is a backend application, and I do not have a remote storage for storing a master key (google could, aws, ...).

What would be the correct way to generate the secret material that I need to encrypt both of these files ? I think I need to use 'tinkey' for this task, but I don't really understand the difference between a key and a keyset.
Can my SKE key and DSKE key be in the same keyset ? How to generate them ? Can I have a master key that's used for key rotation ?

Thanks

答案1

得分: 1

你需要生成两个密钥集,一个是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。

英文:

You'll want to generate two keysets, one AEAD and another Deterministic AEAD.

tinkey create-keyset --key-template AES128_GCM --out aead-keyset.json
tinkey create-keyset --key-template AES256_SIV --out deterministic-aead-keyset.json

You want to store the keyset files in a secure location in your backend server. Do not commit them to your git server.

In Java, you can load the keysets using CleartextKeysetHandle or equivalent APIs in other languages. See the language's HOWTO for more information.

huangapple
  • 本文由 发表于 2020年8月20日 17:04:24
  • 转载请务必保留本文链接:https://go.coder-hub.com/63501785.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定