可能重复:
java中的网络通信加密
我正在设计一个客户端服务器应用程序。我希望对整个会话进行加密。我正在考虑以下方法(使用 RSA 进行公钥加密,使用 AES-128 进行对称加密):
客户端连接到服务器并发送“hello”消息。服务器用它的公钥响应。客户端生成一个 128 位的 AES 密钥,并使用服务器的公钥加密发送。应用程序协议的其余部分使用 AES 密钥进行加密。
这个逻辑可以吗?有什么缺陷吗?会好还是使用 SSL 更好?基本上我关心的是重放攻击和中间人攻击。
可能重复:
java中的网络通信加密
我正在设计一个客户端服务器应用程序。我希望对整个会话进行加密。我正在考虑以下方法(使用 RSA 进行公钥加密,使用 AES-128 进行对称加密):
客户端连接到服务器并发送“hello”消息。服务器用它的公钥响应。客户端生成一个 128 位的 AES 密钥,并使用服务器的公钥加密发送。应用程序协议的其余部分使用 AES 密钥进行加密。
这个逻辑可以吗?有什么缺陷吗?会好还是使用 SSL 更好?基本上我关心的是重放攻击和中间人攻击。