SSL的保密性、真实性、完整性和不可否认性具体怎么体现?

SSL具有保密性、真实性、完整性和不可否认性,广泛使用在重要高度安全场景。

这些特性具体怎么体现呢?比如怎么就不可否认了?

阅读 17.1k
2 个回答

SSL不能提供交易的不可否认性。SSL协议是基于Web应用的安全协议,它只能提供安全认证,保证SSL链路上的数据完整性和保密性。却不能对电子商务的交易应用层的信息进行数字签名,因此,SSL不能提供交易的不可否认性

SSL协议的客户端服务器连接握手过程大致如下:

  1. 客户端发送一个「ClientHello」消息,说明它支持的密码算法列表以及最高协议版本等必要的信息
  2. 服务器返回支持的SSL版本,加密算法列表,以及自己的证书等。如果客户端请求的资源需要认证,服务器请求客户端发送证书。
  3. 客户端首先验证服务器,如果认证失败,则断开连接,认证成功则执行下一步;
  4. 客户端发送pre-master secret(用服务器的公钥加密)和自己的证书(如果服务器需要验证身份)
  5. 服务器验证客户端,用自己的私钥得到pre-master secret,然后经过一系列步骤生成master secret
  6. 客户端和服务器使用master secret生成对称密钥session key,之后传输的收据均使用session key加密解密。
  7. 客户端发送消息声明之后的数据用session key加密,并发送一条加密数据表明握手结束
  8. 服务器发送消息声明之后的数据用session key加密,并发送一条加密数据表明握手结束

数据传输时,将分片传输,如下图所示: SSL Record Protocol

每条记录中数据和mac(指纹)均做加密处理。

  • 保密性:传输的数据均是采用session key加密,保证了保密性;
  • 真实性:双方握手时对对方的身份均有验证,因此可以保证对方的真实性
  • 完整性:每部分数据均有mac验证,验证时计算数据的mac然后与接收到的mac比较,即可确定数据是否完整。如下图:mac
  • 不可否认性:session key只有通信双方有,并且不在网络上传输,因此攻击者无法伪造使用session key加密的数据,所以具有不可抵赖性。

参考:Transport Layer Security

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏