Java 应用程序数据安全与分发保护全解析
1. 聊天消息加密
聊天应用(Chat)使用基于 TCP/IP 的远程方法调用(RMI)在不同主机上的实例之间交换消息。虽然相较于基于 HTTP 的 HTML 传输,二进制的 TCP/IP 流更难被窃听,但借助合适的工具,黑客仍有可能监听对话并读取消息内容。这是因为序列化 Java 对象中的字符串仍以明文形式存在,所以需要对这些字符串进行加密。
1.1 算法选择
在选择加密算法时,有对称和非对称算法可供考虑。非对称算法通常能提供更好的保护,因为私钥不公开。然而,对于聊天应用而言,非对称算法并非消息加密的理想选择。因为桌面端的聊天应用需要既能加密发送的消息,又能解密接收的消息。若使用非对称算法,就需随应用分发同时提供私钥和公钥,这会削弱非对称算法带来的额外保护。因此,建议使用对称加密算法,它性能更佳且易于实现。
1.2 安全提供者选择
安全提供者负责具体实现特定的算法。为避免随聊天应用重新分发额外的库,我们首先查看 Sun JCE 实现的算法,因为它已随 JRE 捆绑。Sun JCE 支持以下几种加密算法:
| 算法名称 | 描述 |
| ---- | ---- |
| Data Encryption Standard (DES) | 广泛使用的标准,被美国政府采用,虽有破解方法,但能为大多数应用提供足够保护 |
| DESede(多重 DES) | 使用多个 DES 密钥以增强强度 |
| PBEWithMD5AndDES | 结合了 PKCS#5 标准中基于密码的加密和 MD5 与 DES 算法的消息摘要 |
由于 J
超级会员免费看
订阅专栏 解锁全文
85万+

被折叠的 条评论
为什么被折叠?



