如果应该在退出时加密信息的程序崩溃

时间:2012-04-11 20:44:34

标签: java

假设您有一个邮件客户端,可以在硬盘上存储消息,地址等。这些消息在加密文件中,但是当您登录时,它们会被解密,因此您可以访问其中的数据。

当您注销时,这些文件应该再次加密。如果成功退出程序,这很容易完成,但如果某人从计算机中取出电源或程序崩溃,则不会执行加密指令。

有解决方案吗?如果您有任何特定于语言的方法来克服这个问题,那我就是使用Java。

3 个答案:

答案 0 :(得分:4)

如果未将消息解压缩/保存到磁盘,则表示您没有问题。这就是它应该如何处理 - 所有内存,仅仅是这种情况

答案 1 :(得分:4)

简单:不要存储解密数据。如果关键是能够显示数据,那么我认为没有理由将解密到磁盘,然后在退出时重新加密。最好将它加密到磁盘上,在内存中解密(按需),然后当进程终止时,一切都很好。

你仍然可能需要担心在加载数据时不正确地访问进程的内存,但这是一个更难攻击的向量 - 如果这成为一个问题,你可能已经有些痛苦。

答案 2 :(得分:2)

解决方案是永远不要存储未加密的文件。

而不是对磁盘进行解密并将其读入您的应用程序,将加密文件读入您​​的应用程序,并将其解密到内存中。然后,当你的电力耗尽时,你会丢失数据,就像你没有保存一样,但那就是你所期望的。