一种密钥安全生成和存储方案

密钥生成和存储

密钥生成

假设参与密钥生成的人为n, 只要有过半的参与者就能恢复出密钥。

生成算法如下:
1.K1~Kn为参与密钥的的人分别生成的,使用PKI技术
2.参与方通过硬件hwK(pub)->hwK(pri),K(n)通过hwK(pub)加密得到encK(n)
3.硬件解密所有K(n), 随机排序,没人至少分配到(n+1)/2份密钥(并标识序号),使用K(n)pub公钥加密返回给参与人
4.参与人加密存储密钥数据。(这里可以通过手机的TEE环境支持)

密钥存储

待完善,硬件密钥保险箱子

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在Android应用程序开发中,将AES密钥存储在最安全的位置是使用Android Keystore系统。Android Keystore是一个安全密钥存储系统,旨在保护应用程序的敏感信息,如加密密钥。 Android Keystore提供了一种密钥存储在受硬件支持的安全环境中的方法,例如可信执行环境(TEE)或安全元素(SE)。这些硬件环境提供了额外的安全性保障,可以防止敏感信息被恶意应用或恶意用户访问。 您可以使用Android Keystore生成存储AES密钥。该密钥将被存储在设备上,并受到设备锁屏密码、指纹或面部识别等用户验证方式的保护。只有经过授权的应用程序才能访问和使用该密钥。 以下是使用Android Keystore存储AES密钥的基本步骤: 1. 生成AES密钥:使用KeyGenerator类生成一个AES密钥。 2. 创建KeyStore对象:使用KeyStore类创建一个KeyStore对象,并将其加载到Android Keystore中。 3. 生成存储密钥对:使用KeyPairGenerator类生成一个密钥对,并将其存储在KeyStore中。 4. 使用密钥:通过KeyStore获取存储的AES密钥,并将其用于加密和解密操作。 请注意,尽管Android Keystore提供了较高的安全性,但也需要采取其他安全措施来确保密钥安全性,例如限制对存储密钥的访问权限,并使用其他加密技术来保护敏感数据。 总而言之,将AES密钥存储在Android Keystore中是Android应用程序开发中最安全的方式之一。它提供了硬件级别的安全保障,并且仅允许经过授权的应用程序访问密钥

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值