【问题标题】:Public/Private keys for encryption of data用于数据加密的公钥/私钥
【发布时间】:2021-08-24 16:05:41
【问题描述】:

我正在构建一个使用加密的应用程序。

问题是我不熟悉存储私钥的最佳方法。

让我们从一个例子开始:

具有端到端加密的消息传递应用程序,因此发送方使用接收方的公钥加密数据,接收方使用其私钥解密数据。对吧?

但是存储这个私钥的方法是什么? 我的意思是,如果我将此密钥存储在数据库中,那就无所谓了,如果我的数据库被黑客入侵,那么所有的私钥都会暴露出来。

此外,如果我将密钥存储在设备上,也有可能有人找到并拥有它。

我的问题是,我该如何处理私钥?

目前解决这个问题的方法是什么?

例如,电报如何安全地存储其用户密钥?

【问题讨论】:

  • My question is, what do I do with the private key?您是指在移动设备上吗?
  • @gusto2 是的!我正在构建一个移动应用程序!

标签: encryption


【解决方案1】:

我的问题是,我该如何处理私钥?

您可以使用Android Keystore System MasterKey 加密私钥,它可能会在解密时请求身份验证(生物特征、设备模式、密码)。

KeyGenParameterSpec keyGenParameterSpec = MasterKeys.AES256_GCM_SPEC;
String mainKeyAlias = MasterKeys.getOrCreate(keyGenParameterSpec);

iOS也有类似的机制,但要自己去搜索

【讨论】:

    猜你喜欢
    • 2011-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-27
    • 1970-01-01
    • 2013-04-06
    • 2012-04-17
    • 1970-01-01
    相关资源
    最近更新 更多