加密密钥存储在哪里,以便在使用设备时不会被盗?

Where is the encryption key stored so that it doesn't get stolen while a device is in use?

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

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

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

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

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