IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    https建立通讯过程及运行机制

    mckee发表于 2016-07-19 16:35:07
    love 0

    ssl与tls:

    • SSL:(Secure Socket Layer,安全套接字层),为Netscape所研发,用以保障在Internet上数据传输之安全,利用数据加密(Encryption)技术,可确保数据在网络上之传输过程中不会被截取。当前版本为3.0。它已被广泛地用于Web浏览器与服务器之间的身份认证和加密数据传输。SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持。SSL协议可分为两层: SSL记录协议(SSL Record Protocol):它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。 SSL握手协议(SSL Handshake Protocol):它建立在SSL记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。
    • TLS:(Transport Layer Security,传输层安全协议),用于两个应用程序之间提供保密性和数据完整性。TLS 1.0是IETF(Internet Engineering Task Force,Internet工程任务组)制定的一种新的协议,它建立在SSL 3.0协议规范之上,是SSL 3.0的后续版本,可以理解为SSL 3.1,它是写入了 RFC 的。该协议由两层组成: TLS 记录协议(TLS Record)和 TLS 握手协议(TLS Handshake)。较低的层为 TLS 记录协议,位于某个可靠的传输协议(例如 TCP)上面。

    可见ssl和tls描述的是同一个东西,只不过tls做了很多改进,更规范安全完善。
    ca数字证书:
    非对称加密算法:
    数字证书由被公认的证书机构颁发。通常操作系统里都会内置一些知名证书机构的根证书.
    颁发证书的机构会将证书内容使用指定的哈希函数生成内容hash,然后用自己的私钥加密哈希形成签名。证书指纹用于确定证书没有被修改。如果最终得到的签名与客户端使用指定的签名算法得到的签名不一致,则证书是不可信的。
    一般我们得到的证书都不是根证书机构直接颁发的,而是经过了中间机构。这里有一个信任链机制,客户端或从证书链的底端逐级网上找到根证书颁发机构,然后使用颁发机构的公钥逐级往下验证证书的有效性.
    为了保证公钥不被篡改 广泛使用的RSA算法介绍:http://www.phpddt.com/phpdown/rsa.html
    对称加密:
    由于公钥加密计算量很大,因此生成对称加密密钥来加密,提高性能。
    https建立通讯过程如下:
    https (2).png



沪ICP备19023445号-2号
友情链接