SSL(Secure Sockets Layer)
SSL的功能,可以在通信的双方中建立一个加密的通信通道
同时还可以确认通信的双方是不是就是其声称的人,防止被钓鱼。
SSL在网络协议栈中的位置:可以看出SSL是在上层的协议,不需要修改OS的内核,只需要一个应用程序就可以了,所以其扩展性很好。
SSL在TCP/IP协议栈的位置:
SSL协议的通信过程:
SSL的客户端不一定仅仅的是浏览器,自己写个软件同样可以,右边是时间轴。
在这个阶段,双方已经协商好了相互通信的SSL的版本和支持的加密算法,相互也认证了。得到了彼此的公钥。一般的情况下,服务器不需要认证客户端。
SSL Client在这个过程的第二步的more parameter中把session key传给了服务器,这个session key是用对方的公钥加密的,其他的任何人都看不到。以后的大量的通信数据都会用这个session key以对称加密的方式加密。
具体的做法就是通过CA的证书,验证双方的公钥是不是钓鱼,用对方的公钥加密把session key传送过去。然后就可以相互发送信息了。