【发布时间】:2011-06-25 22:33:27
【问题描述】:
我正在阅读这篇关于序列化的article。
这是我第一次看到对序列化对象进行加密。 我正在尝试加密一些可序列化的对象,然后将它们保存到文件中。 但是本文的示例使用了众所周知的 ECB 模式,该模式会泄露有关加密明文的信息。我想知道,如何加密序列化对象 通过使用CBC而不是ECB模式?
为了使用 CBC,需要一个初始向量。此向量必须与序列化对象一起保存,但如果向量被加密,则我们无法找到该向量以解密对象。
另外,是否可以说初始向量将作为明文保存在保存可序列化对象的文件中。但是那文件不会被销毁吗?
使用 CBC 模式的示例将非常有用。
【问题讨论】:
-
如果您担心安全漏洞,请不要使用 DES——它已被破坏。使用 3DES 或 AES。
-
我不确定 Java 方面的情况,但在 CBC 中,您应该存储未加密的 IV,否则没有人可以解密结果消息。它不会泄漏任何东西,因为只要 IV 从未重复,攻击者就无法使用它做任何事情,因为它被输入到 PRF 的分组密码中。
标签: java serialization encryption des