分布式系统开辟实战:安全通道
数据安全是一个非常值得关注的问题。数据在网络上传播,数据很容易被侦听、盗取,如果想要实现数据的安全,一个非常紧张的方式就是给数据加密。SSL/TLS和TLS就是这类安全协议,它们层叠在其他协议之上,用于实现数据的安全。19.3.1 SSL/TLS
安全套接字层(Secure Sockets Layer,SS-L)是在网络上应用最广泛的加密协议实现之一。SSL利用结合加密过程来提供网络的安全通信。SSL提供了一个安全的增强标准TCP/IP套接字用于网络通信协议。如表19-1所示,在标准TCP/IP栈的传输层和应用层之间添加了安全套接字层。SSL的应用步伐中最常用的是超文本传输协议(HyperTextTransfer Protocol,HTTP),这个是互联网网页协议。其他应用步伐,如网络新闻传输协议(Net News Transfer Protocol,NNTP)、Telnet、轻量级目录访问协议(Lightweight Directory Access Protocol,LDAP)、互动信息访问协议(Interactive Message Access Protocol,IMAP)和文件传输协议(File Transfer Protocol,FTP),也可以利用SSL。
https://i-blog.csdnimg.cn/blog_migrate/9790a8cd5f15b048c116d1210326fd4d.png
SSL最初是由网景公司在1994年创立的,现在已经演酿成为一个标准。由国际标准构造(Internet Engineering Task Force,IETF)进行管理。之后IETF更名为SSL传输层安全(Transport Layer Security,TLS),并在1999年1月发布了第一个规范,版本为1.0。TLS 1.0对于SSL的最新版本3.0版本是一个小的升级。两者差异非常微小。TLS 1.1是在2006年4月发布的,TLS 1.2在2008年8月发布。
19.3.2 SSL握手过程
SSL通过握手过程在客户端和服务器之间协商会话参数,并创建会话。会话包含的主要参数有会话ID、对方的证书、加密套件(密钥交换算法、数据加密算法和MAC算法等)以及主密钥(Master Secret)。通过SSL会话传输的数据,都将采用该会话的主密钥和加密套件进行加密、盘算MAC等处置处罚。不同情况下,SSL的握手过程存在差异。下面将
分别形貌以下3种情况下的握手过程。
[*]·只验证服务器的SSL握手过程。
[*]·验证服务器和客户端的SSL握手过程。
[*]·规复原有会话的SSL握手过程。
只验证服务器的SSL握手过程如图19-2所示。
https://i-blog.csdnimg.cn/blog_migrate/0de7098bc6185d98f68cdf0e081eb85c.png
如图19-2所示,只需要验证SSL服务器身份,不需要验证SSL客户端身份时,SSL的握手过程如下。
(1)SSL客户端通过Client Hello消息将它支持的SSL版本、加密算法、密钥交换算法、MAC算法等信息发送给SSL服务器。
(2)SSL服务器确定本次通信采用的SSL版本和加密套件,并通过Server Hello消息通知SSL客户端。如果SSL服务器允许SSL客户端在以后的通信中重用本次会话,则SSL服务器会为本次会话分配会话id,并通过Server Hello消息发送给SSL客户端。
(3)SSL服务器将携带自己公钥信息的数字证书通过Certificate消息发送给SSL客户端。
(4)SSL服务器发送Server Hello Done消息,通知SSL客户端版本和加密套件协商竣事,开始进行密钥交换。
(5)SSL客户端验证SSL服务器的证书正当后,利用证书中的公钥加密SSL客户端随机天生的Premaster Secret,并通过Client Key Exchange消息发送给SSL服务器。
(6)SSL客户端发送Change Cipher Spec消息,通知SSL服务器后续报文将采用协商好的密钥和加密套件进行加密和MAC盘算。
(7)SSL客户端盘算已交互的握手消息(除Change Cipher Spec消息外所有已交互的消息)的Hash值,利用协商好的密钥和加密套件处置处罚Hash值(盘算并添加MAC值、加密等),并通过Finished消息发送给SSL服务器。SSL服务器利用同样的方法盘算已交互的握手消息的Hash值,并与Finished消息的解密结果比力,如果二者雷同,且MAC值验证乐成,则证实密钥和加密套件协商乐成。
(8)同样地,SSL服务器发送Change Cipher Spec消息,通知SSL客户端后续报文将采用协商好的密钥和加密套件进行加密和MAC盘算。
(9)SSL服务器盘算已交互的握手消息的Hash值,利用协商好的密钥和加密套件处置处罚Hash值(盘算并添加MAC值、加密等),并通过Finished消息发送给SSL客户端。SSL客户端利用同样的方法盘算已交互的握手消息的Hash值,并与Finished消息的解密结果比力,如果二者雷同,并且MAC值验证乐成,则证实密钥和加密套件协商乐成。SSL客户端接收到SSL服务器发送的Finished消息后,如果解密乐成,则可以判定SSL服务器是数字证书的拥有者,即SSL服务器身份验证乐成,由于只有拥有私钥的SSL服务器才气从Client Key Exchange消息中解密得到Premaster Secret,从而间接地实现了SSL客户端对SSL服务器的身份验证。验证服务器和客户端的SSL握手过程如图19-3所示。
https://i-blog.csdnimg.cn/blog_migrate/b2e6d93bbb1aed863b95a82b89eccdeb.png
SSL客户端的身份验证是可选的,由SSL服务器决定是否验证SSL客户端的身份。如图19-3中(4)、(6)、(8)部分所示,如果SSL服务器验证SSL客户端身份,则SSL服务器和SSL客户端除了交互“只验证服务器的SSL握手过程”中的消息协商密钥和加密套件,还需要进行以下操作。
(1)SSL服务器发送Certificate Request消息,哀求SSL客户端将其证书发送给SSL服务器。
(2)SSL客户端通过Certificate消息将携带自己公钥的证书发送给SSL服务器。SSL服务器验证该证书的正当性。
(3)SSL客户端盘算已交互的握手消息、主密钥的Hash值,利用自己的私钥对其进行加密,并通过Certificate Verify消息发送给SSL服务器。
(4)SSL服务器盘算已交互的握手消息、主密钥的Hash值,利用SSL客户端证书中的公钥解密Certificate Verify消息,并将解密结果与盘算出的Hash值比力。如果二者雷同,则SSL客户端身份验证乐成。规复原有会话的SSL握手过程如图19-4所示。
https://i-blog.csdnimg.cn/blog_migrate/bddfdfc75c7aeddcc9b6ff6d5340676b.png
协商会话参数、创建会话的过程中,需要利用非对称密钥算法来加密密钥、验证通信对端的身份,盘算量较大,占用了大量的系统资源。为了简化SSL握手过程,SSL允许重用已经协商过的会话,详细过程如下。
(1)SSL客户端发送Client Hello消息,消息中的会话id设置为计划重用的会话的id。
(2)SSL服务器如果允许重用该会话,则通过在Server Hello消息中设置雷同的会话id来复兴。这样,SSL客户端和SSL服务器就可以利用原有会话的密钥和加密套件,不必重新协商。
(3)SSL客户端发送Change Cipher Spec消息,通知SSL服务器后续报文将采用原有会话的密钥和加密套件进行加密和MAC盘算。
(4)SSL客户端盘算已交互的握手消息的Hash值,利用原有会话的密钥和加密套件处置处罚Hash值,并通过Finished消息发送给SSL服务器,以便SSL服务器判定密钥和加密套件是否正确。
(5)同样地,SSL服务器发送Change Cipher Spec消息,通知SSL客户端后续报文将采用原有会话的密钥和加密套件进行加密和MAC盘算。
(6)SSL服务器盘算已交互的握手消息的Hash值,利用原有会话的密钥和加密套件处置处罚Hash值,并通过Finished消息发送给SSL客户端,以便SSL客户端判定密钥和加密套件是否正确。
19.3.3 HTTPS
HTTPS(Hyper Text Transfer Protocol over Secure Socket Layer)是基于SSL安全毗连的HTTP。HTTPS通过SSL提供的数据加密、身份验证和消息完整性验证等安全机制,为Web访问提供了安全性包管,广泛应用于网上银行、电子商务等领域。比年来,在主要互联网公司和浏览器开辟商的推动之下,HTTPS在加速普及,HTTP正在被加速淘汰。不加密的HTTP毗连是不安全的,你和目标服务器之间的任何中心人都能读取和利用传输的数据,比如ISP可以在你点击的网页上插入广告,你很可能根本不知道看到的广告是不是网站发布的。中心人能够注入的代码不仅仅是看起来无害的广告,他们还可能注入具有恶意目标的代码。2015年,某脚本被中心人修改,参加了代码对两个网站发动了DDoS攻击。这次攻击被称为“网络大炮”,“网络大炮”让平凡的网民在不知情下酿成了DDoS攻击者。而唯一能阻止“大炮”的方法是加密流量。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]