服务器安全连接握手

我想知道是否有任何安全问题关于我想要创建安全的客户端 - 服务器连接的方式。

注意:我知道这类问题最明显的答案就是使用SSL / TLS,但我希望能回答我的具体情况。

我的连接协议如下(以下通信是未加密的纯文本):

  • 客户端连接到服务器插座
  • 服务器向客户端发送一个2048位的公共RSA密钥
  • 客户端生成一个256位的AES密钥,使用接收到的公共RSA密钥对其进行加密,然后将其发送给服务器(服务器将其解密并获得密钥AES密钥)
  • 客户端生成256位HMAC密钥,将其加密为客户端嵌入的公共RSA密钥,并将其发送给服务器(服务器将其解密并获得密钥HMAC密钥)
  • 服务器向客户端发送AES密钥的HMAC,证明其拥有与客户端嵌入的公共RSA密钥对应的私有RSA密钥,并证明服务器的真实性
  • 所有进一步的通信都使用AES进行加密并通过HMAC进行验证。


    中间的一个人可以很容易地将他们自己的公钥发送给客户端,并从服务器接收原始公钥。

    然后它可以在两个方向上窃听对话。

    链接地址: http://www.djcxy.com/p/21807.html

    上一篇: Server secure connection handshake

    下一篇: How do I get symmetric key generated in SSL handshake?