SSL/TLS协议应用解析

2018-08-22 19:35张传山
科学与财富 2018年20期
关键词:加密技术数据安全

张传山

摘 要:网络安全无小事,关系到国家安全,人民幸福社会稳定,国家也因此成立了国家安全委员会由习近平同志任主任,统领全国网络安全和信息化工作,重要性不言而喻。而在网络通信方面,传统的明文传输已经暴漏出严重问题,为此,必须加强网络升级改造力度,采用各种加密技术来保障通信安全,这是其中SSL/TLS协议广泛应用,提供了很好的解决方案,本文就SSL/TLS协议的工作原理进行解析。

关键词:SSL/TLS协议;数据安全;加密技术

1 SSL/TLS协议的由来

随着互联网应用的发展,使用HTTP协议浏览网站时,浏览器与网站主机之间通过明文传输,访问者的账号、密码、交易记录等机密信息安全无法保障,被嗅探、泄露、窃取、利用、篡改等的机率大大增加,HTTP协议的缺点日渐显现。到了90年代中期,网景公司netscape开发设计了一种SSL“Secure Sockets Layer”协议,中文叫做“安全套接层”,并集成到浏览器上,保护HTTP传输信息的安全性,作为在传输层和应用层之间的一层,对更多的需要保护数据安全性的协议进行封装。到了1999年,SSL协议得了广泛应用,安全性被越来越多的人接受和认可,成为了事实上的互联网传输协议标准,同年,IETF(The Internet Engineering Task Force,国际互联网工程任务组)将SSL标准化,标准化之后的名称改为 TLS(Transport Layer Security的缩写),中文叫做“传输层安全协议”,现如今我们在访问网站时很少用到http协议,取而代之的https协议就是http与SSL/TLS的组合,全称为:Hyper Text Transfer Protocol over Secure Socket Layer。

2 SSL/TLS协议数据包交换的过程

简单说SSL/TLS协议的运行机理就是利用了公钥加密信息,私钥解密信息的过程,首先终端机先向服务器索取公钥,用得到的公钥加密需要传输的数据信息,服务器对到访的密文用私钥进行解密的过程。

2.1 client的请求信息ClientHello

首先,client使用的上网工具发出ClientHello的请求包给server,请求包含:SSL/TLS的协议版本、单个终端产生的随机对话密钥、公钥加密算法和压缩算法。一个数据包有三种算法,一个是非对称算法,如RSA;一个是对称算法如DES,3DES,RC4等;一个是Hash算法,如MD5,SHA等。

2.2 server对client请求的应答信息ServerHello

server收到client的信息包后,server返回一个应答信息包,应答包含:(1)了解client应用的SSL/TLS协议版本是否与本server匹配,符合条件将进入下一过程,并要求client提供验证证书,否则将不能建立连接;(2)产生一个随机对话密钥、公钥加密算法和压缩算法,待建立连接时使用。

2.3 client对server的答复信息进行复核

client对答复内容做条件判定,server的证书内容与client相一致,根据server端的公钥回复复核信息,发送信息包括:(1)与server通信用的公钥加密的随机数一个,确保通信安全;(2)通信协商信息,就是用于确认client与server间的通信按照之前商定的加密方法和密钥通信;(3)成功握手信息。就是说基础通信验证通过,提供hash值让server做最后校验。

2.4 server完成最后确认函

Server对client的信息做最后答复,根据信息成生并计算出通信密钥,最后一次发给client的信息包括:(1)通信协商信息,就是确认server与client间的通信按照之前商定的加密方法和密钥通信;(2)成功握手信息。就是说基础通信验证通过,提供hash值让client做最后校验。至此,SSL/TLS协议数据包交换的过程全部完成。接下来,client与server之间的所有通信数据都是经过加密,逻辑上形成了一个通信专用隧道,双方收发数据在隧道中安全的交换。

3 所涉及的加密算法

通信双方使用SSL/TLS协议保障数据安全和完整性,在这个过程中运用了很多加密算法,下面对此一一说明:

PRF:伪随机数生成函数,用于生成任意大小的随机序列。一般使用时间作为初始化的随机种子,通过PRF生成随机序列,如果序列的长度不符合要求,则使用Hash函数对序列进行散列运算,经过几轮迭代知道序列长度满足要求为止。一个好的PRF可以保证序列的随机性最大化,防止猜测。

对称加密算法:发送方使用密钥加密数据,接收方接收到数据后使用相同的密钥解密数据,整改个加密解密过程使用同样的密钥进行交互,双方共享同一个密钥,这种算法适用于较大的数据量,用这种简单而又高效的单钥密码算法保障了数据通信的安全性,常用的对称加密算法有:AES、DES、RC4等。

公钥加密算法:也叫做非对称加密算法,也就是说发送方把自己的密钥分享给接收方,接收方把自己的密钥分享给发送方,发送方发送数据前用接收方的密钥加密数据,接收方收到数据后用发方的密钥解密数据,既共享对方密钥又使用不同密钥的方法,该算法利用大数难以拆分的特性对明文进行加密。常用的非对称加密算法有:DSA,RSA等。

分組密码:对明文数据进行先分组和填充,加密函数再对每个分组数据进行加密,置换和迭代操作后,得到固定等长的密文数字输出。常见的对称加密算法加密都是分组的。

Hash函数:直译通称“哈希”散列函数,是一个单向性的函数。输入任意长度的数值,运用散列算法,对消息进行摘要、迭代,输出固定长度的散列值,每个一字节的变化都对输出有较大的影响。Hash函数是不带密钥的,将任意长度的消息压缩成固定长度的消息摘要。常用的散列函数有:SHA,MD5等。

MAC:可用于消息认证的一类算法,简称:消息认证码(Message Authentication Code),与Hash函数正好相反,它是一种带密钥的Hash函数,一种消息认证算法,当发送方的数据被接收方收到时,对数据信息的完整改进行校验的方法,与消息同时发出。

4 实际应用

4.1 https

传统http协议的明文传输方式已经无法确保数据安全及完整性,采用https协议后,安全性大大提高,并且https协议在应用中不断的升级,是当前解决网民网页浏览最安全的一个方案。

4.2 ssl vpn

相较于IPSec VPN的复杂配置和繁琐步骤,ssl vpn配置和使用上要简单的多,IPSec VPN的硬件要实现点对点的硬件部署,客户端最差也要安装一个VPN拨入软件,才能访问单位网络;而ssl vpn在部署完服务端后,客户端只需要用户通过浏览器就可以实现访问验证,顺利的安全访问到单位网络,对于分支机构和移动办公来说,无疑是最佳的解决方案。

参考文献

[1](美)弗拉海,(美)黄著,王喆,罗进文,白帆译,ssl与远程接入vpn. 人民邮电出版社,2009-3-1.

[2][英] 伊·里斯蒂奇(Ivan Risti·)著;杨洋,李振,HTTPS权威指南 在服务器和Web应用上部署SSL TLS和PKI,人民邮电出版社,2016-09-01.

[3]Eric Rescorla,SSL and TLS: Designing and Building Secure Systems,Paperback,2000-10-27.

猜你喜欢
加密技术数据安全
海洋水文信息加密技术方案设计与测试
运用数据加密技术维护网络安全的可靠性研究
云计算中基于用户隐私的数据安全保护方法
数据加密技术在计算机网络安全中应用研究
数据加密技术在计算机网络通信安全中的应用
建立激励相容机制保护数据安全
大数据云计算环境下的数据安全
云环境中数据安全去重研究进展
在计算机网络安全中数据加密技术的应用
大数据安全搜索与共享