浅谈安全套接层SSL

SSL一般用于对万维网客户与服务器之间传送的数据进行加密和鉴别.它在双方的联络阶段(也就是握手阶段)对将要使用的加密算法(如用DES或RSA)和双方共享的会话密钥进行协商,完成客户与服务器之间的鉴别,在联络阶段完成之后,所有传送的数据都使用在联络阶段商定的会话密钥.SSL不仅被所有的常用浏览器和万维网服务器所支持,而且也是运输层安全协议TLS的基础.

SSL并不仅局限于万维网的应用,他们还可用于IMAP邮件存取的鉴别和数据加密.SSL的位置在应用层和传输层(TCP)之间.在发送方,SSL接受应用层的数据(如HTTP或IMAP报文),对数据进行加密,然后把加了密的数据送往TCP套接层,在接收方,SSL从TCP套接层读取数据,解密后把数据交给应用层.

SSL提供了以下三个功能:
(1)SSL服务器鉴别 允许用户证实服务器的身份.具有SSL功能的浏览器维持一个表,上面有一些可信的认证中心CA及其公钥.当浏览器要和一个具有SSL功能的服务器进行商务活动时,浏览器就从服务器得到含有服务器的公钥的证书.此证书是由某个认证中心CA发出的(此CA在客户的表中).这就使得客户在提交其信用卡之前能够鉴别服务器的身份.

(2)加密的SSL会话 客户和服务器交互的所有数据都在发送方加密,在接收方解密,SSL还提供了一种监测信息是否被攻击者篡改的机制

(3)SSL客户鉴别 允许服务器证实客户的身份.这个信息对服务器是重要的.例如,当银行把相关财务的保密信息发送给客户时,就必须检验接收者的身份.

下面讲一下SSL的工作流程:
在用户在浏览器上面使用HTTPS协议的URL(网页链接),然后服务器和浏览器进行握手协议,流程如下:
1,首先浏览器先向服务器发送浏览器的SSL协议号和密码编码的参数选择(即就是浏览器能支持的对称密钥算法)

2,服务器然后向浏览器返回服务器的SSL版本号和密码编码的参数选择(即服务器可以支持的对称加密算法),以及服务器的证书.(证书中包括服务器的RSA公钥).此证书由某个认证中心用自己的密钥加密后发送给服务器端的.

3,浏览器中有一个可信的CA表,表中有每一个CA的公钥.当浏览器收到服务器发来的证书时,就检查此证书的发行者是否在自己可信的CA表中,如不在,则断开连接,如存在,那么浏览器就使用CA对应的公钥对证书解密,这样就得到了服务器的公钥.

4,然后浏览器随机生成一个对称会话密钥,并用服务器的公钥加密,然后把加密的会话密钥发送给服务器,

5,服务器收到浏览器发过来的用自己的公钥加密的堆成会话密钥之后,服务器用自己的私钥解密,得到了浏览器生成的对称会话密钥,这样浏览器可以和服务器进行加密后的数据传输!

猜你喜欢

转载自blog.csdn.net/qq_39353923/article/details/82354181