【问题标题】:Where is the encryption key stored so that it doesn't get stolen while a device is in use?加密密钥存储在哪里,以便在设备使用时不会被盗?
【发布时间】:2017-07-03 11:47:21
【问题描述】:

如果设备(例如手机)上的数据已加密,则在您使用设备时需要加密密钥来解密数据。这个密钥是如何存储的,或者安全策略是什么,以便它不会被恶意软件窃取?

【问题讨论】:

  • 这取决于密钥管理,而密钥管理通常是在书本上描述的,而不是stackoverflow上的答案。
  • 我同意,但如果您不知道从哪里开始或不知道该主题的具体名称,StackOverflow 可能是获取有关此事的有用书籍名称的好方法。

标签: security encryption privacy


【解决方案1】:

设备通常包含足够的存储空间,需要保护以保证使用对称密钥算法。公钥加密对于大量数据来说太慢了。如果是例如一个硬盘,即使是区块链的加密也是相当适得其反的。

但是,为了保护对称密钥,可以使用多种技术。但在使用密钥时,它将存储在设备的内存中。

最常用的方法是通过密码、PIN 码等方式存储对称密钥。
在最简单的形式中,它实际上并不难:假设您有一个需要保护的 256 位对称密钥,您所需要的只是密码的加密哈希,它生成相同的 256 位结果(或更长)并存储 XORed 结果。没有密码,就无法计算哈希,也无法访问对称加密密钥。

不过,如果您在使用加密密钥时寻求保护免受恶意软件的侵害,这些恶意软件可能会主动监控设备,除非您有硬件进行加密,否则您基本上是不走运的,因为软件加密必须拥有密钥加密或解密时的内存。恶意软件可以访问内存。 另请注意,擦除对称密钥而不访问它(在它的保护性存储中)本质上会擦除整个磁盘,除非有备份。因此,虽然机密性和完整性受到恶意软件的威胁,但可用性更甚。

【讨论】:

  • “异或”过程本质上是用密码加密密钥,这样可以更清楚地说明。但是该方案很弱,因为当重复使用相同的计数器时,它会遭受与 CTR 模式相同的漏洞。
  • 我完全同意 XOR 本质上加密了密钥。但是“加密”有点过分炒作。并且让人认为这是构建防弹解决方案的神奇事物。它不是。同样正如我所说:“以最简单的形式”,现实世界的实现要复杂一些,因为这确实可能存在重大漏洞 - 例如你真的想要一个非常慢的哈希或某人,例如GPU 装备可以在几秒钟内破解所有常用密码。
猜你喜欢
  • 2011-04-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-20
  • 2016-11-22
  • 2019-03-10
  • 1970-01-01
相关资源
最近更新 更多