信息安全工程师教程:SSL协议
1.SSL协议概述
SSL(Secure Sockets Layer)安全套接层协议是 Netscape公司于 1994年推出的一种安全通信协议。在 SSL中,采用了公开密钥和私有密钥两种加密方式,它对计算机之间整个会话进行加密,从而保证了安全传输。 SSL的安全服务位于 TCP和应用层之间,可为应用层(如: HTTP、FTP、SMTP)提供安全业务,服务对象主要是 Web应用,即客户浏览器和服务器。它现已成为保密通信的工业标准,目前使用的版本为 3.0版本。
SSL服务器认证允许用户确认服务器身份。支持 SSL协议的客户机软件能使用公钥密码标准技术(如用 RSA和 DSS等)检查服务器证书、公用 ID是否有效和是否由在客户信任的认证机构 CA列表内的认证机构发放。
SSL客户机认证允许服务器确认用户身份。使用应用于服务器认证同样的技术,支持 SSL协议的服务器软件能检查客户证书、公用 ID是否有效和是否由在服务器信任的认证机构列表内的认证机构发放。
一个加密的 SSL连接要求所有在客户机与服务器之间发送的信息由发送方软件加密和由接受方软件解密,对称加密法用于数据加密(如用 DES和 RC4等),从而连接是保密的。所有通过加密 SSL连接发送的数据都被一种检测篡改的机制所保护,使用消息认证码( MAC)的消息完整性检查、安全散列函数(如 SHA和 MD5等)用于消息认证码计算,这种机制自动地决定传输中的数据是否已经被更改,从而连接是可靠的。
SSL主要工作流程包括:网络连接建立;与该连接相关的加密方式和压缩方式选择;双方的身份识别;本次传输密钥的确定;加密的数据传输;网络连接的关闭。
应用数据的传输过程为:
①应用程序把应用数据提交给本地的 SSL;
②发送方根据需要,使用指定的压缩算法,压缩应用数据;
③发送方使用散列算法对压缩后的数据进行散列,得到数据的散列值;
④发送方把散列值和压缩后的应用数据一起用加密算法加密;密文通过网络传给对方;
①接收方用相同的加密算法对密文解密,得到明文;
②接收方用相同的散列算法对明文中的应用数据散列;
③计算得到的散列值与明文中的散列值比较;
如果一致,则明文有效,接收方的 SSL把明文解压后得到应用数据上交给接收方的应用。否则就丢弃数据,并向发送方发出报警信息。严重的错误有可能引起再次的协商或连接中断。
SSL是一个两层协议,包括 SSL握手层协议和 SSL记录层协议。SSL握手层有 SSL握手协议(SSL Handshake Protocol)、SSL更改密码说明协议(SSL Change Cipher Spec Protocol)、SSL报警协议( SSL Alert Protocol);SSL记录层有 SSL记录协议( SSL Record Protocol),它为更高层提供基于客户/服务器模式的安全传输服务。
SSL协议提供的服务可以归纳为如下三个方面:
(1)用户和服务器的合法性认证
使得用户和服务器能够确信数据将被发送到正确的客户机和服务器上。客户机和服务器都有各自的识别号,由公开密钥编排。为了验证用户,SSL协议要求在握手交换数据中做数字认证,以此来确保用户的合法性。
(2)加密数据以隐藏被传送的数据
SSL协议采用的加密技术既有对称密钥,也有公开密钥。具体来说,就是客户机与服务器交换数据之前,先交换 SSL初始握手信息。在 SSL握手信息中采用了各种加密技术,以保证其机密性和数据的完整性,并且经数字证书鉴别。这样就可以防止非法用户破译。
(3)维护数据的完整性
SSL协议采用 Hash函数和机密共享的方法,提供完整信息性的服务,来建立客户机与服务器之间的安全通道,使所有经过 SSL协议处理的业务在传输过程中都能完整、准确无误地到达目的地。
报考须知:2016信息安全工程师报考指南 报名时间 考试大纲 考试教材
备考练习:2016信息安全工程师章节练习 每日一练 历年真题 考前密卷
加入信息安全工程师考友QQ群:11824850,交流学习,随时获取考试信息。
信息安全工程师考试备考已经开始,尚大特邀名师授课(马上免费试听),全面讲解考试重要知识点,保过班、精品班、直播班,为您的考证之路保驾护航。
各省软考办 | ||||||||||