TLS 握手 与证书认证

1) TLS 握手

       握手的目的就是协商出一个对称加密使用的key,用来加密后面的业务数据。

       1) client 产生一个random 值

       2) server 产生一个random 值, server 将签名的证书 和 random 值 以及非对称加密使用的public key 发送给client

       3)  client 验证证书,再产生一个random 值,并且用public key 加密给server

       4) client 和 server 拥有相同的随机值,使用相同的算法就可以生成一样的对称加密的密码

2) 证书认证

       首先要知道证书是如何生成的

       1) server 提取自身的一些信息(比如domain name 和公钥) 给CA 机构, CA机构 对这些信息 做签名,并对签名使用

             非对称加密的private key 加密。

       2) client 用CA 对 CA签名的server 证书校验。client 也对这些明文信息做签名运算得到一个签名值, 然后用CA的public key

              解密 又得到一个签名值, 这两个签名值一样, 说明 server就是真实的server。

 

      3)    为什么说 所以自签名证书不安全的

             对于自签名证书, 攻击者不会去攻击server 或者client, 他会去攻击签发 证书的那台server, 只要拿到这台机器的私钥

             那么攻击者就可以实现中间人劫持了。

             S' 既然有了私钥, 那么他可以签发一个证书,那么client 与S‘ 就可以建立TLS 通信,

             同样S' 也可以和S TLS 通信

 

            A     --------------------------------  S

            A    --------------S'----------------- S

              

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章