知 On
随
S S L安全协议
及在网银中的应用
着 Internet的快速发展,互联网信息安全引发高度关
注。近年来,基于互联网的网上银行、电子商务和电子
政务的发展,如何保证传输信息,特别是网上交易信息的安
全性、不可否认性、保密性、完整性已成为急待解决的问题。
为此,人们发明了在Interne让 广泛使用的保密通信安全协议
— — 安全套接层协议(SSL)。
一 SSL协议概述
SSL已成为用户与 Internet之间进行保密通信的事实标
准,支持SSL也已经成为每个浏览器的内置功能。SSL包括
握手和记录两个子协议,它们均可以提供与应用尤其是与
HTTP的连接。这种连接经过了认证和保密,可以防止篡改。
SSL可以嵌入Intemet的处理栈内,位于TCP/IP之上
和应用层之下,而不会对其他协议层造成太大影响。SSL同
样能够与其他Intemet应用一起使用,如Intranet和Extranet
访问、应用安全、无线应用以及web服务等。通过对离开浏
览器的数据进行加密,并在其进入数据中心之后进行解密,
SSL实现了对Intemet的数据通信进行保护。
SSL对话是由连接和应用组成。在连接对话期间,客户
机和服务器交换证书并就安全参数进行磋商。如果客户机接
受服务器的证书,就会建立一个主密钥,并将被用来对随后
进行的通信进行加密。
在应用对话期间,客户机和服务器之间可以安全地传递
信息,如信用卡号、股票交易数据、个人医疗数据以及其他
敏感数据。SSL提供以下3种机制以确保安全:认证,能够对
服务器或连接各端的客户机和服务器进行认证;保密,能够
对信息进行加密,只有交流信息的双方才能访问并理解加密
信息;完整性,可以防止信息内容在未经检测的情况下被修
改,接收方可以确信他们收到的是无法进行修改的信息。
■ 文/东北大学信息科学与工程学院 李晓峰 赵 海
中国金融认证中心 关振胜
保密通信过程中的一个关键步骤就是对双方身份进行认
证。SSL握手子协议就具有这一功能。服务器与客户机之间
的以下举动可以使认证动作变得更快捷:客户机对服务器进
行认证;让客户机和服务器选择所需要的密码算法和安全水
平;服务器有选择地对客户机进行认证;使用公共密钥密码
生成可以共享的密钥,随后利用这些密钥传输真正的保密数
据;建立 SSL连接。
SSL记录子协议负责加密数据的传送。以下动作可以使
数据传送变得更快捷:数据被分解成小的可以使用的块,称
作片断;通过一个具有完整性的 “包装纸”使数据不被修改;
数据加密后就可以贴上 “包装纸”。
以往,电子商务的许多应用是不进行客户机认证的。但
目前各公司都将SSL作为一项协议供数据中心的新应用使用。
对基于SSL的VPN以及那些需要对终端用户进行额外认证的
应用而言,客户机认证正在成为一种趋势。
客户机认证使得服务器可以使用与允许客户机对服务器
进行认证相同的技术,在协议之内对用户身份进行确认。尽
管两者认证的信息流极为不同,但从概念上看,其过程与服
务器认证是相同的。这一过程同样也会在SSL握手子协议之
内进行 ,客户机必须向服务器提供有效的证书。
= SSL协议的组成
SSL协议主要由两层组成,分别是握手协议层和记录协
议层,握手协议建立在记录协议之上。此外还有警告协议,更
改密码说明协议和应用数据协议等对话协议和管理提供支持
的子协议。其组成如图 1所示。
在图1中的每一层,三者可以包括长度、描述和内容字段。
握手协议Handshak Protocol和记录协议Record Protocol是
SSL协议的核心组成部分。其上是超文本协议HTTP、文件传
维普资讯
HTTP FTP TELNET
⋯ ⋯ __ ⋯。⋯‘ll
SSL Handshak P rotoooI TELN
sSL Rec ordP r0t0c
TCP UDP
‘
输协议 FTP和传输
控制协议 TELNE%
它们控制文本的传
输。支撑握手、记录
协议的低层通信是
用 户 数 据 报 文 和
TCP/IP协议。
SSL发出消息
是将数据分为可管
理的块、压缩、使用MAC和加密并发出加密的结果。接受消
息需要解密、验证、解压和重组,再把结果发往更高一层的
客户。以下是两个主要协议的论述和分析。
1.记录协议
具体实现压缩/解压缩、加密/解密,计算机MAC等与
安全有关的操作。建立之上的还有如下协议。
更改密码说明协议:由~条消息组成,可由客户端或服
务器发送,通知接收方后面的记录将被新协商的密码说明和
密钥保护。接收方得此消息后,立即指示记录层把即将读状
态变成当前读状态;发送方发送此消息后 ,应立即指示记录
层把即将写状态变成当前写状态。
警告协议 :警告消息传达消息的严重性并描述警告。一
个致命的警告将立即终止连接。与其他消息一样,警告消息
在当前状态下被加密和压缩。
应用数据协议:将应用数据直接传递给记录协议。
2.握手协议
SSL握手协议是用来在客户端和服务和服务器端传输应
用数据而建立的安全通信机制。
算法协商:首次通信时,双方通过握手协议协商密钥加
密算法。数据加密算法和文摘算法。身份验证:在密钥协商
完成后,客户端与服务器端通过证书交换,互相验证对方的
身份,一般是通过目录服务器的LDAP查询完成。确定密钥:
最后使用协商好的密钥交换算法产生一个只有双方知道的秘
密信息,客户端和服务器各 自根据这个秘密信息确定数据加
密算法的参数 (一般是对称密钥)。由此可见,SSL协议是端
对端的通信安全协议,即称为数字通信安全管道。
三、SSL协议工作过程
1.握手协议工作过程
SSL协议完整的握手协议消息交换过程如图2所示。
l l端l l
2.记录层协议组成
SSL记录层协议是该协议核心组成部分之一 ,它规定了
有发送和接收数据的打包形式。该协议提供了通信 ,身份认
证等功能,是一个面向连接的可靠传输协议。
在 SSL中,有数据被打包装在记录中,一个记录由两部
份组成,记录和非零长度的数据。SSL的握手协议和报文要
求必须放在一个 SSL记录层协议的记录中,而应用层报文允
许占用多个SSL记录来传递。
(1)SSL记录头格式
SSL的记录头可以是两个或3个字节长的编码。SSLiP,录
头包含的信息有记录头的长度、记录数据的长度、记录数据
中是否有填充数据。其中,填充数据是在使用块加密算法时,
填充的实际数据,使其长度恰好是块的整数倍,以便利传输
和加 /解密。
(2)SSL记录数据格式
SSL记录数据部份含有 3个分量。MAC数据:用于数据
完整性检查;ACTUAL数据:被传送的应用数据;PADDING
数据:采用分组码时需要的填充数据。
四、SSL协议的应用
单向认证:又称匿名SSL连接,是SSL安全连接的最基
本模式。它便于使用,主要的浏览器都支持这种方式,适合
单向数据安全传输应用。在这种模式下客户端没有数字证书,
只是服务器端具有证书,认证用户访问的是 自己要访问的站
Client端 UDP Server端 UDP
一 奄 醯谴 奄 0 一
t|C 魏m 硌 _ ||
|c、洲 e1yExchan ||
舔 虢 j童
《 lan het
毫| 爱 谯 § 毫曩
氏 矗h nD破《薯薯
r 盯 ~
维普资讯
爿i j App¨cat 。n
点。典型的应用是用户进行网站注册时采用ID+口令的匿名
认证,即过去网上银行所谓的 “大众版”。该方式在互联网上
极易被黑客用木马程序所窃取。
近几年网上银行出现的许多安全问题,都是由于黑客十
分了解ID+口令的脆弱性和易攻破性。他们采用木马程序、
“网上钓鱼”等手段窃取用户的网上身份。
双向认证 是对等的安全认证,通信双方都必须安装数字
证书,他们可以发起和接收SSL连接请求。通信双方可以利用
安全应用程序 (控键)或安全代理软件,来完成双方对等的安
全认证。前者一般适合于B/S结构,而后者适用于C/S结构。
安全代理相当于一个加密/解密的网关,这种模式双方皆需安
装证书,进行双向认证。在此要强调的证书介质一定要安装在
USB-KEY安全智能介质中,不能以 “文件证书”存放。
1.ssL协议在网上银行的应用
网上银行是借助于互联网数字通信技术,向客户提供金
融信息发布和金融交易服务的电子银行,它是传统银行业务
在互联网上的延伸,是一种电子虚拟世界的银行。网上银行
业务和运营模式与传统银行运营模式有很大区别,其服务对
象和业务范围涵盖了银行的所有对公业务(B2B)和对私业务
(B2C )。此外,它还利用互联网的特点对传统银行业务有所
仓Ⅱ新。
网上银行基于互联网,采用ssL协议将客户与银行连接
起来,实现客户端与网银服务器网关的端对端的连接。按上
述ssL握手协议和记录协议的原理,客户与网上银行之间形
成—个安全管道,进行客户与网银之间的证书交换,交易数
据的加密,实现身份认证与交易的数字的签名。
数字证书是可信的、权威的第三方认证机构CA所签发,
它是网上身份、虚拟世界身份的证明。证书的存放介质一定
要采用USB—KEY,它是一种 CPU智能卡,内存密码算法、
公钥证书及其对应的私钥,其内容不可拷贝。但是,存放在
硬盘中的 “文件证书 存在被黑客攻击的风险。
首先,利用它实现网上身份认证,根据交易的模式B2B
或B2C进行单向或双向认证。认证时,客户端与服务器端由
安全应用软件,按需求分别向第三方认证机构 CA的目录服
务器,利用LDAP轻型查询协议去查询证书的有效期或黑名
单CRL,以证明双方身份的真实性,即完成网上身份的识别
与鉴别。
其次,利用数字证书完成网上交易数据的加密传输与数
字签名 网上交易数据要经过客户与银行的双方数字签名,才
能达到交易的不可否认性,符合 《电子签名法》的要求。数
据电文一旦签名,即不可改动,如果被改变,则可被发现。
数字签名的验签是接收方利用发放的公钥,解密用其私
钥加密的交易数据电文的杂凑值;然后,收方再利用同样的
杂凑算法,对交易原数据作杂凑运算,得出一个新的杂凑值。
二杂凑值作比较运算,比较结果相等,证明签字是可靠的,验
证通过。
2。SSL协议在电子商务中的应用
国家发展和改革委员会、国务院信息化工作办公室联合
发布了我国首部 (《电子商务发展 “十一五”规划》。(《规划》明
确提出了 “十一五”时期我国电子商务发展的总体目标:到
2010年,电子商务发展环境、支撑体系、技术服务和推广应
用协调发展的格局基本形成。(《规划》强调着力完善电子商务
支撑环境。支撑环境包括电子安全认证、在线支付、现代物
流、信用服务和标准规范体系。
电子商务与网上银行交易不同,其参加角色包含商户,形
成客户一商家~支付平台一银行,需要多次点对点的SSL连
接。客户、商家、银行与支付平台都必须安装数字证书,需
要多次点对点的双向认证,最后完成身份认证和交易支付。
电子商务应用如图3所示,为了支付的安全性,客户、商
家、银行与支付平台都必须具有数字证书。其支付流程是:当
客户购物时,可先登录商家网站,通过ssL建立点对点的连
接,客户浏览商品并下定单;商家将支付信息转发至第三方
支付平台,经平台识别后,转发至相应客户的开户银行,这
其中也是通过SSL建立起端对端的连接;银行的网关在接受
平台转来的客户付款信息后,进行通信格式转换,传向银行
后台核心业务系统进行授权;当授权成功后,即银行将客户
买东西的金额,从客户的账号划入商家的账号。并回答平台
授权完成,平台同时回答商家扣款成功的信息,商家回答客
户交易成功。
在这个交易过程中,基于 Internet的SSL协议起到了点
对点的安全连接作用。交易中的身份认证和交易授权的数字
签名,与上述网上银行原理基本相同,在此不再赘述。目
维普资讯