电子商务安全策略SSL的分析与应用

时间:2022-09-15 04:14:19

电子商务安全策略SSL的分析与应用

[摘 要] 电子商务安全问题的核心和关键是电子交易的安全性,本文就目前电子交易中经常使用的安全策略――SSL协议的功能、具体应用和存在的问题进行了论述和分析。

[关键词] 电子商务SSL浏览器客户端服务器数字证书CA

一、 引言

随着计算机网络技术的飞速发展,电子商务开始蓬勃发展起来,通过Internet进行的网上购物、在线交易、网上银行等业务虽然为人们的工作和生活提供了极大的便利。但是,由于Internet本身具有的开放性、灵活性、共享性等特点,也为信息安全带来了巨大威胁。所以,电子商务的安全问题是事关能否正常开展电子商务的首要问题。

目前,世界上提出了很多加强网上交易安全性的协议,如SSL、SET等。由于SET协议非常复杂,实现比较困难,而且执行效率比较低,所以目前大部分网上交易都是采用SSL协议来实现。当前,网上银行等大型电子商务交易系统一般都采用HTTP和SSL相结合的方式,即在服务器端采用支持SSL的WWW服务器,在客户端采用支持SSL的浏览器,双方共同协作来实现安全的网络通信。

二、SSL协议的介绍

安全套接层协议(Secure Sock Layer Protocol,简称SSL)是在电子商务发展初期发展起来的,最早由Netscape公司设计开发,它是在TCP/IP上实现的一种安全协议,其采用了不对称加密技术。它为C/S(客户端/服务器)通信安全提供面向连接的机制,建立安全通道,通过在安全通道上传输信用卡卡号的方式,可以构建电子商务支付系统。SSL安全通道能使客户端/服务器应用之间的通信不被第三者窃听,并且始终对服务器进行身份认证,还可选择对客户端进行认证。目前,大部分Web浏览器(Netscape Navigator和Microsoft IE)和Web服务器都已内置了SSL协议,SSL已成为在电子商务中应用最广泛的安全协议之一。

SSL协议要求建立在可靠的传输层协议(例如:TCP)之上。SSL协议的优势在于它是与应用层协议独立无关的。高层的应用层协议(例如:HTTP,FTP,TELNET)能透明地建立于SSL协议之上。SSL协议在应用层协议通信之前就已经完成了加密算法、通信密钥的协商以及服务器认证工作。应用层协议所传送的数据都会被加密,从而保证通信的机密性。

SSL协议主要由SSL记录协议和SSL握手协议两部分组成。

1.SSL记录协议。SSL记录协议位于SSL协议的底层,用于封装上层的协议。其规定了会话中传递的所有数据项的基本格式,提供压缩数据、生成数据的完整性校验值(MAC)、对数据进行加密、标示数据长度、填充、流水作业号,并支持不同的加解密和杂凑算法。

2.SSL握手协议。SSL握手协议使得服务器和客户端能够相互认证对方的身份、传送所需的数字证书、建立所需的会话密钥。SSL握手协议是较SSL记录协议更高层的协议,必须先执行握手协议后,才可能实现SSL记录协议中的加密和完整性校验。SSL协议通过在应用程序进行数据交换前交换SSL初始握手信息来实现有关安全特性的建立。SSL握手过程一般分为4个阶段:

(1)建立安全能力:该阶段是用来初始化逻辑连接,并建立与之相关的安全能力。交换在客户端发起,客户端发送Client_hello消息,并包含以下数据(SSL版本、初始随机参数、会话ID、密码组参数、压缩方法),在发送了Client_hello消息之后,客户端将等待包含与Client_hello消息参数一样的Server_hello消息。

(2)服务器身份认证和密码交换:服务器发送自己的数字证书给客户端,该证书带有证书授权中心(CA)的数字签名和服务器的公钥以及其数字签名,可以证明自己的合法性,然后开始密钥交换。如果服务器要求认证客户端,则要请求客户端数字证书。该阶段以Hello消息段结束,之后服务器等待客户端的响应。

(3)客户端认证和密钥交换:在这一阶段,客户端认证服务器数字证书的合法性。如果服务器要求客户端的数字证书,客户端应提供其数字证书,供服务器认证客户端的合法性。此外,还要发送交换密钥。

(4)完成:该阶段完成安全通道的建立,该消息并不被认为是握手协议的一部分,而是改变密码规格协议发送的。至此,客户端和服务器完成了握手协议,可以开始交换应用层的数据了。

三、SSL协议在服务器上的应用

实现SSL协议,首先要在服务器上加装SSL,其步骤为先在“Internet服务管理器”的“识别码管理器”上填入网站的相关信息,以它为内容产生一组公钥,识别码管理器还会将以上信息都写入文件,接下来就可以用这份数据向证书授权中心(Certification Authority)申请SSL服务器数字证书了。CA是一个公开而且公正的组织单位,其专门负责受理数字证书的核准,发放,注销等管理工作(例如:VeriSign)。不同的CA有不同的申请方法。当申请好数字证书后,选择识别码管理器下的安装识别码认证,输人密码和数字证书文件的位置,就把数字证书安装好了。然后就是指定哪些页面需要用到SSL功能,打开Internet服务管理器,单击所要设置的页面目录后按右键,单击“属性”,再选择“目录安全设定”下“安全通信”,按下编辑按键后在“当存取这个资源必须使用安全通道”选项上打上勾,表示当客户端存取这个目录时就会激活SSL功能。

服务器通过SSL服务器数字证书的两个必要功能来建立电子商务信任体系。SSL服务器数字证书的两个必要功能是:

1.SSL服务器认证:服务器数字证书允许用户确认Web服务器的身份。Web浏览器自动检查服务器数字证书和公共ID是有效的并已经被CA(如:VeriSign)所,包括在可信任的内嵌于浏览器中的CA列表。SSL服务器认证对安全的电子商务交易是至关重要的。例如,用户通过网络发送信用卡号并想校验接收服务器的身份。

2.SSL加密:SSL服务器数字证书建立了一个安全通道,在用户浏览器和Web服务器之间传送的所有信息由发送软件加密、接收软件解密,从而保护私有信息不被第三方所窃取。

四、SSL协议在客户端的应用

1.客户连接一个站点和访问一个安全的URL,即受服务器ID所保护的网页。

2.客户的浏览器自动向服务器发送浏览器的SSL版本号、密码设置、产生的随机数和服务器需要和客户用SSL通信的其他信息。

3.服务器做出反应,自动向浏览器发送站点的数字证书,包括服务器的SSL版本号、密码设置等等。

4.客户的浏览器检查包含在服务器数字证书中的信息并校验。

(1)服务器数字证书是否有效,日期是否有效。

(2)服务器数字证书的CA是否被可信任的CA所签名,可信任的CA证书已嵌入浏览器中。

(3)嵌入浏览器中的CA的公钥是否使者的数字签名有效。

(4)服务器数字证书所指定的域名与服务器的真实域名是否匹配。

如果服务器不能通过认证,那么用户就会接收到警告信息,从而不能建立SSL安全通道。

5.如果服务器通过认证,客户浏览器就会产生一个唯一的“会话密钥”来加密所有与服务器的通信内容。

6.客户的浏览器用服务器数字证书中的公钥加密“会话密钥”发送给服务器。这样就可以确保只有服务器才能读出“会话密钥”。

7.服务器用自己的私钥解密“会话密钥”。

8.浏览器向服务器发送信息,表明以后从客户端发送的信息都将用“会话密钥”加密。

9.服务器向浏览器发送信息,表明以后从服务器发送的信息也将用“会话密钥”加密。

10.这样,在客户端与服务器就建立了一个SSL安全通道。之后,所有通信内容就在SSL安全通道内用“会话密钥”来加密和解密信息。

11.一旦本次会话结束,“会话密钥”也就随之失效。

上述过程只要花费几秒钟的时间,且不需要客户的干涉。

另外,用户还可以通过以下情况来确认是否已经和正在访问的服务器建立了SSL安全通道:

> 在浏览器窗口的URL中以HTTPS://开头

> 在Netscape中,在窗口左下角的挂锁是关闭的,而不是打开的。

> 在IE中,挂锁出现在窗口状态条的右下角。

五、SSL在现实中的应用

以中国工商银行“个人网上银行”为例。首先访问工商银行首页(www.省略/)。单击“个人网上银行登录”图标。然后填入必要的信息,之后单击同意按钮就可以打开“个人网上银行”。

首次使用时,会弹出一个要求安装SSL数字证书的对话框,单击“是”按钮即可。在安装好SSL数字证书之后,在IE浏览器的右下方就会出现一把闭合的黄色小锁,其代表浏览器正在使用SSL加密传输的资料,从而避免敏感信息在传输的过程中被窃取或者篡改。用户可以通过双击这把小锁来查看服务器SSL数字证书的详细内容。

值得一提的是个别浏览器只支持40位以下的加密算法。这对于传输重要信息是远远不够的。在IE浏览器中,只要将鼠标指向浏览器右下方的黄色小锁,就可以看到SSL加密的位数。假如不是128位的话,可以通过单击浏览器“帮助”菜单下的“关于Internet Explorer”。如果显示的密钥长度小于128位,则可以单击“工具”菜单上的“Windows Update”,然后依据提示将浏览器更新为最新版本,使其支持128位的SSL加密算法。

六、SSL的功能及SSL的局限性

1.信息加密。SSL所采用的加密技术既有对称加密技术,如DES;也有不对称加密技术,如RSA。具体来说,客户端与服务器在进行数据交换之前,先交换SSL握手信息,在SSL握手信息中采用了各种加密技术对其加密,以保证其机密性和数据的完整性,并且用数字证书进行认证。

2.信息完整。SSL提供了信息完整服务,以建立客户端与服务器之间的安全通道,使所有经过SSL协议处理的业务能全部准确无误地到达其目的地。

3.身份认证。客户端和服务器都有各自的识别号,这些识别号由公开密钥进行编号。为了验证用户是否合法,SSL协议要求在握手交换数据前进行认证,以此来确保用户的合法性。 SSL坚持对服务器进行身份认证,还可选择性的对客户端进行认证。

然而,SSL当初并不是为支持电子商务而设计的,所以其在电子商务系统的应用中还存在很多弊端。它只是简单地在双方之间建立了一条安全通道,在涉及多方的电子交易中,只能提供交易中客户端与服务器之间的双方认证。而电子商务往往是用户、网站、银行三方协作完成,SSL协议并不能协调各方之间的安全传输和信任关系;另外还有购物时用户要输入通信地址,这样将有可能使得用户收到大量的垃圾信件。 此外,SSL协议不能防止心术不正的商家的欺诈,因为该商家掌握了客户的信用卡号。商家欺诈是信用卡业发展所面临的最严重的问题之一。但是,SSL除了传输过程以外不能提供任何安全保证,它并不能使客户确信此公司接受信用卡支付是得到授权的。再者,SSL协议的最大不足之处在于,其不对应用层的消息进行数字签名,因此SSL不能提供交易的不可否认性。

七、结束语

由于SSL协议的成本低、速度快、使用简单,对现有网络系统不需进行大的修改,因而目前取得了广泛的应用。但随着电子商务规模的扩大,网络欺诈的风险性也在提高,在未来的电子商务中SSL协议将会和其他安全协议共同协作来实现安全的电子交易。

上一篇:利用新型CPU智能卡提高电子商务支付安全性 下一篇:新一代ERP:制造业电子商务与ERP整合的趋势