欢迎访问发表云网!为您提供杂志订阅、期刊投稿咨询服务!

ssl协议大全11篇

时间:2023-02-03 16:12:58

ssl协议

ssl协议篇(1)

1 引言:

随着网络安全意识的普遍提升,越来越多的网络应用逐步采用了SSL加密传输。由于SSL技术采用了加密、认证、密钥协商等机制来保障通信双方数据传输的保密性、完整性和通信端点的认证,因此SSL协议目前在网银交易、邮箱登陆、数据加密传输等方面得到了广泛应用。但SSL协议在实现过程中为了满足兼容性和易用性的要求,自身仍然存在一定的脆弱性问题,攻击者可以利用SSL协议的弱点对其进行攻击以获取敏感信息。

2 SSL协议

安全套接层协议(SSL)是在Internet基础上提供的一种保证私密性的安全协议。它能使客户/服务器应用之间的通信不被攻击者窃听,并且始终对服务器进行认证,还可选择对客户进行认证。SSL协议是建立在可靠的传输层协议(如TCP)之上,同时与应用层协议独立无关,高层的应用层协议(如:HTTP,FTP,TELNET等)能透明地建立于SSL协议之上(图1所示)。

从SSL的发展过程来看,目前主要包含了三个版本:SSLv2、SSLv3、TSL。SSLv2的首要设计目标是为客户端和服务器之间的传输提供保密性,但在协议安全性方面存在一定的安全隐患。SSLv3改善了SSLv2的部分安全性问题,采用了更多的加密算法,包括数字签名标准DSS、DH协议等,以及支持防止对数据流进行截断攻击的关闭握手。TLS在SSLv3的基础上又增强了对DH的支持和新的密钥扩展。

SSL协议在实现过程中主要包括两个阶段:握手和数据传输阶段。握手阶段主要对服务器进行认证并确立用于保护数据传输的加密密钥。SSL必须在传输应用数据之前完成握手,一旦握手完成,数据就被分成一系列经过保护的记录进行传输。在传输片段之前,SSL协议通过计算数据的MAC来提供完整性保护,将MAC付加到片段的尾部,并对数据与MAC整合在一起的内容进行加密,以形成经过加密的负载,最后给负载装上头信息,其过程如图2所示。

3 SSL协议脆弱性分析

3.1 密码强度问题

SSL协议是以CipherSuite(加密套件)的形式确定数据传输所使用的加密算法,SSL会话一次连接的所有加密选项都被捆绑成各种加密套件,由任意选取的两字节常量来表示。加密套件指定会话双方的认证算法、密钥交换算法、加密算法和摘要(消息完整性)算法。表1列出了SSL协议采用的部分加密套件:

从表1可以看出,SSL协议支持各种各样的加密套件,这些加密套件指定一组供连接使用的算法。这些算法的强度从较弱的可出口型(如40位模式的RC4)到强度较高的如3DES都包含在内,SSL连接的安全自然就有赖于它所使用的加密算法的安全。从目前的计算能力来看出口模式中如RC4_40和DES等加密算法都能被破译,若SSL连接采用此类加密算法,其加密数据的保密性就无从谈起,攻击者可以很容易利用现有的密码破译技术获取加密传输的数据。正常情况下SSL通信双方都会选择加密强度较高的加密套件,但以下两种情况可能在加密强度上为攻击者提供契机:

(1)由于客户端与服务器必须就共同的加密套件达成一致才能通信,服务器和客户端为了保持较好的交互性通常会提供较多可供选择的加密套件,其中不乏加密强度较弱的加密算法(图3所示),这为攻击者对SSL协议的攻击提供了一定的条件,例如攻击者可以尝试对SSL通信双方的会话过程进行干扰,迫使通信双方选择加密强度较低的加密算法,为攻击者对加密数据的破译提供条件。

(2)由于SSL协议中采用的各种加密和认证算法需要一定的系统开销,如SSL协议握手阶段对pre_master_secret的RSA私用密钥解密及计算master_secret和pre_master_secret的密钥处理都会消耗一定的系统资源,在数据传输阶段对记录的加密以及对记录的MAC计算同样会消耗系统资源。而高安全的加密算法在系统开销上需要消耗较多系统资源,因此SSL协议在某些应用的实现过程中会采用较低加密强度的密码算法,这也会为攻击者提供破译条件。

3.2 版本兼容问题

SSL协议从设计和使用过程来看主要包括SSLv2、SSLv3、TLS三个版本,每个后续版本都对前一版本的安全性问题进行了改进,因此高版本协议能够较好地保障通信安全。但为了方便实际应用,SSL协议是允许向下兼容,会话双方可以通过协商采用低版本协议进行通信,并且该过程可以自动完成不需要用户进行干预。这样就产生了潜在的版本翻转攻击威胁,攻击者可以降低协议版本再利用低版本协议存在的脆弱性问题对通信过程进行攻击。其中SSLv2对协议的握手过程没有很好的保护措施,将导致攻击者对SSL协议握手过程进行攻击,进而对加密算法进行篡改。图4展示了SSLv3和TLS协议的握手过程:

从图中可以看出SSLv3和TLS协议在握手结束后会对之前的协商过程进行MAC值的校验(图4中第5、6步所示),并且其校验值是以加密的形式进行传输,这样可以有效防止攻击者对握手过程的篡改,保障了协商过程的可靠性。而SSLv2协议恰好缺乏对握手过程MAC值的校验,攻击者可以在SSL通信的握手过程中伪冒其中一方对协议版本进行篡改,迫使通信双方采用低版本的SSL协议进行通信,由于缺乏握手过程的校验,该攻击可以顺利实施。

SSLv2协议还存在另一个问题,它仅仅使用TCP连接关闭来指示数据结束,这意味着它可能受制于截断攻击。由于SSL协议是构建于TCP协议之上,而TCP协议自身并不是一种安全性协议,它对TCP会话的完整性、有效性和一致性没有很好地保障,攻击者可以简单地伪造TCP FIN数据报,而接收者无法辨别出它是否是合法的数据结束标志,从而误认为数据接收完成。SSLv3之后的协议通过使用显式的关闭警示缓解了这一问题。

4 结束语

利用SSL协议进行加密传输的方式在日常应用中大量存在,除本文中提到的攻击方法外,攻击者仍在尝试更多的攻击途径。对于敏感的信息和通信过程应该采用多种加密方式共同完成,提高攻击的难度,降低敏感信息被窃取的风险。

参考文献

[1] 埃里克・雷斯克拉,SSL与TLS,2002.

ssl协议篇(2)

VPN(Virtual Personal Network,虚拟专用网)是通过一个私有的通道将远程用户、公司分支机构、公司业务伙伴等与公司的企业网连接起来,构成一个扩展的公司企业网,通过在公共网络中建立专用网络,数据通过安全的“加密通道”在公共网络中传播。SSL VPN是一种新的VPN的实现方法,是可靠安全地构建VPN的一种模式。

一、SSL协议

1.SSL概述

SSL(Secure Socket Layer,安全套接层)协议是 Netscape 公司于1994年提出的一个网络安全通信协议,是一种在两台机器之间提供安全通道的协议。它具有保护传输数据,以及识别通信机器的功能。SSL最初是通过加密HTTP连接为Web浏览器提供安全而引入的。

SSL在TCP上提供一种通用的通道安全机制,任何可以在TCP上承载的协议都能够使用SSL加以保护。在TCP或IP四层协议族中,SSL协议位于传输层与应用层之间,基于可靠传输协议TCP,服务于各种应用层协议,如HTTP、POP、TELNET等,它们在SSL协议上运行分别被称作HTTPS、POPS、TELNETS协议等,分别对应的端口号为443、995、992等。

图1 SSL协议结构图

2.SSL体系结构

SSL协议在结构上分为两个层次:底层为记录层协议(Record Protocol),负责封装高层协议(包括握手协议)的数据,保证SSL连接的数据保密性和完整性;高层为握手层,由四个并行的协议构成:握手协议(Handshake Protocol)、修改密码参数协议(Change Cipher Spec Protocol)、报警协议(Alert Protocol)、应用数据协议(Application data Protocol),高层协议需要记录层协议支持,其中握手协议与其他的高层协议不同,主要负责在交换应用层数据之前进行协商加密算法与密钥,其他高层协议属于应用开发的范畴,而要得到握手协议的支持,而握手协议则是SSL底层实现必须具有的功能,因为记录层协议的完成也由它来保证。

二、基于SSL协议的VPN技术研究

1.SSLVPN概念

SSL VPN是指一种基于数据包封装技术的,利用SSL或TLS协议结合强加密算法和身份认证技术的,可靠安全地构建VPN的一种方法。它作为一种新的VPN的实现方法,SSL VPN可以用来构建外联网、内联网和远程接入访问。它通过数据包封装的隧道技术来实现虚拟专用网的私有性,通过PKI技术和密码学技术来鉴别通信双方的身份和确保传输数据的安全。

2.SSL VPN的工作模式

(1)基于Web模式的SSL VPN系统

客户端使用浏览器通过SSLVPN 服务器来访问企业局域网的内部资源。SSLVPN 服务器相当于一个数据中转站,Web浏览器对WWW服务器的访问经过SSL VPN服务器的处理(解密、身份鉴别、访问控制)后转发给WWW服务器,从WWW服务器发往Web浏览器的数据经过SSL VPN服务器处理(过滤、加密)后送到Web浏览器。

图2 基于Web模式的SSL VPN系统

(2)基于客户模式的SSL VPN

用户在客户端安装一个SSL VPN客户端程序,当客户端访问企业内部的应用服务器时,需要经过SSL VPN客户端程序和SSL VPN服务器之间的保密传输后才能到达。从而在SSLVPN客户端和 SSLVPN服务器之间,由SSL协议构建一条安全通道,保护客户端与SSLVPN服务器之间的数据传输。此时,SSLVPN服务器充当服务器的角色,SSL VPN客户端充当客户端的角色。

图3 基于客户端模式的SSL VPN系统

(3)局域网到局域网模式的SSL VPN系统

在网络边缘都安装和配置了SSLVPN服务器。当一个局域网内的终端要访问远程网络内的应用服务器时,需要经过两个SSL VPN服务器之间的保密传输后才能到达。从而在两个SSLVPN服务器之间,由SSL协议构建一条安全通道,保护局域网之间的数据传输。此时,SSL VPN服务器充当安全网关的角色。

图4 局域网到局域网模式的SSL VPN系统

参考文献:

ssl协议篇(3)

中图分类号:TP393文献标识码:A文章编号:1009-3044(2012)12-2726-03

当前,互联网技术的不断更新和发展,给我们的生活带来了很多便利。但与此同时也带来了很多网络信息安全性的威胁。随着信息网络的发展,信息安全越来越引起人们的关注。如当今流行的电子商务、电子政务、电子邮件等,除了其业务本身,人们更加关心的是其安全性。这样我们需要保证信息的保密性、完整性,通信双方的认证等,这正是过去网络所缺乏。这就有了安全套接层(Security Socket Layer Protocol,简称SSL协议)。它是现在互联网上保证信息安全传输的一种网络协议。

1概述

SSL是由Netscape公司设计的一种开放性协议,利用数据加密技术,保证数据在公开网络中传输不被截取及窃听修改,以保障互联网信息的安全传输。SSL协议是介于传输层和应用层之间的,为应用层提供数据保密服务。其优势在于它与应用层协议独立无关。这样SSL协议可以透明的为应用层协议提供服务。应用层协议在通信之前,SSL协议就将传输的数据加密、完成通信密钥的协商,以及服务器认证工作等。之后,应用层所传输的数据都是被加密的,从而保证通信的安全性。SSL协议目前已经有2.0和3.0版本。现在它已被广泛地用于Web浏览器与服务器之间的身份认证和加密数据传输。

SSL协议提供的安全信道有以下三个特性。

1)私密性:从应用层经过SSL协议的数据,所有的消息都是被加密后才到传输层的。

2)确认性:服务器端是被认证的。

3)可靠性:所有传输的消息都是经过完整性检查的。

2 SSL协议结构

SSL协议的目标在于在TCP的基础上提供安全可靠的传输服务。在SSL的体系结构中包括了SSL握手协议层和SSL记录协议层两个协议子层。这两大协议完成了SSL的大部分工作。SSL握手协议层建立在SSL记录协议层之上。建立在SSL记录协议层上的还有密码参数修改协议、报警协议、应用数据协议等子协议。

图1 SSL体系结构图

2.1 SSL记录协议

SSL记录协议限定了所有要传输的数据的打包,所有的传输数据都被封装在记录中。它提供了通信、身份认证功能。由上层传来的数据信息,将在记录协议层,划分数据分段。依据握手协议中协商的加密算法,给分段的数据压缩、计算MAC值、对数据加密处理,将数据变成记录。添上记录头后,传递到下层的TCP协议。

SSL记录头格式

SSL记录头包括记录头长度、记录数据长度的信息,及记录数据中是否填充数据。当最高位为1时,则不含有填充数据,记录头为两字节,记录数据最大长度为32767字节;当最高位为0时,则含有填充数据,记录头为三个字节,记录数据的最大长度为16383字节。当记录头长度是为三个字节时,次高位有特殊的含义。当次高位为1时,标识所传输的记录是普通的数据记录;当次高位为0时,标识所传输的记录是安全空白记录(被保留用于将来协议的扩展)。

SSL记录数据格式

SSL的记录数据包含三个部分:MAC数据、实际数据和填充数据(若是需要的话)。MAC数据为密钥,实际数据,填充数据,序号的拼接后的散列值。用于检查数据的完整性。

2.2 SSL握手协议层

SSL握手协议层包括握手协议(Handshake Protocol)、密码参数修改协议(SSL Change Cipher Spec Protocol)、应用数据协议(Application Data Protocol)和报警协议(Alert Protocol)。握手协议主要负责协商客户端和服务器端所有使用的参数,包括采用协议版本、加密算法、密钥等;建立独立的安全会话连接,认证双方的身份。密码参数修改协议主要负责协商双方修改密码参数,并指示记录层把即将读/写状态编程当前读/写状态。客户端和服务器均可发送此类消息,通知对方记录将使用新的协商密码说明和密钥。报警协议主要是负责通知对方警告信息。例如关闭通知、错误记录、解压失败、握手失败、无证书、错误证书等等。应用数据协议主要负责将应用数据直接传递给记录协议。

3 SSL协议工作过程

1)由客户端向服务器端发送“ClientHello”信息,以便开始一个新的安全对话连接。信息中将表明客户端密码能力。例如SSL版本,使用的加密算法、签名算法、密钥交换算法、可接受的压缩算法等。

2)由服务器回应客户端发送“SeverHello”信息(如果可以接受其回应的话,否则握手失败。注:客户端和服务器端必须要至少支持一个公共密码对,否则握手将会失败)。“ServerHello”消息将告知服务器的相关安全参数。

3)由服务器向客户端发送它使用的证书和密钥交换信息。若服务器端需要对客户端认证,则还会向客户端发出“数字证书”的请求消息。

4)服务器发出“ServerHello Done”消息并等待客户端响应。

5)客户端收到了“ServerHello Done”以后,将对服务器发送过来的数字证书验证,并检查服务端的安全参数是否可以接受。如果服务器端需要客户端的数字证书的话,则客户端将要发送它的数字证书。如果客户端没有数字证书可有,则发送一个警告信息表明没有数字证书,但将会导致本次握手失败(如果客户端数字证书认证是强制性的话)。

6)客户端发送“客户端密钥交换”消息。消息中包含有“预-主密钥”和消息认证代码( MAC )密钥(消息使用了服务器端公钥加密,故此消息只有服务器可以用私钥解密)。

7)客户端将计算出“主密钥”。然后,客户端发“更改密码规范”消息给服务器,以确定本次传输使用的加密套件和密钥。

8)服务器确定了本次传输使用的加密套件和密钥。完成本次握手。

9)此后的传输的数据都将加密后才传输。

图2 SSL协议工作过程

(标有括号的表示服务器需要验证客户端的情况)

4 SSL安全性分析

1)算法安全性。SSL协议v2/v3均支持的算法有RC2、RC4、IDEA、DES、3DES等。认证算法采用X.509电子证书标准,使用RSA算法进行数字签名。SSL协议通过使用数字证书来完成客户端和服务器端之间的身份验证。通过SSL握手,双方使用非对称密码体制协商并确定本次对话所要使用的加密算法和会话密钥。这样不仅保证了会话密钥协商过程的安全性,而且又克服了非对称密码加密速度慢的缺陷。SSL协议所提供的混合密码体制,可使SSL使用的加密算法和会话密钥适时的变更。此外,协议还提供完整性的检查,保证数据不被篡改。

2)抵抗重放攻击。SSL协议使用了序列号,序列号经加密后传输。在每一次握手都使用了一个随机数来标示本次握手,从而阻止了重放攻击。

5 SSL存在的问题和改进

1)加密强度问题。由于美国对加密技术出口的限制,SSL支持的对称加密算法受到了影响。如密钥长度朝超过40位的对称加密算法RC4、DES等不能用于SSL的数据加密。一般的,使用同一加密算法,密钥位数越高其安全性越强。尽管SSL所支持的加密算法的安全强度都比较高,但出口到我国的仅支持低位密钥算法,削弱了加密算法的安全性。此外加密数据的安全性还取决于密码管理的安全性。同样的,美国对密码技术出口的限制,如在SSL规范中限定RSA算法和DH算法采用512位的密钥。非对称算法如果要保证其安全性,一般是需要1024位以上的。这样使得密钥交换的安全性得不到保证。所以,首先在算法选择上,应当把一些不安全的算法如DES等移去。在实现中选择对称加密算法3DES、IDEA、AES等。在实现SSL时,都应该限定交换密钥长度必须为1024位或更多位。或者可以选用椭圆曲线算法。这样不仅可以密钥比较短,而且处理速度比较快。

2)签名问题。SSL协议不能数字签名。虽然SSL可很好保证数据传输的机密性和完整性,但缺乏数字签名是其在电子商务应用中一大缺憾。而事实上,SSL本身就有对消息进行数字签名和验证的潜力。因为原有的公私钥只是使用在服务器端和客户端之间密钥的交换,并由使用其来签名。基本的思路是,将签名服务作为SSL协议一个可选独立扩展功能,保证其向下兼容性;对发送的所有信息进行签名;利用原有的密码资源;

6结束语

SSL虽然存在一些缺陷,但也不失为一套完善安全的网络通信协议。在其广泛的实践中也证明了其高度的安全性。当然,它只是网络安全的一种工具。而要做到真正的安全还需要多方面的结合,这样才可以打造一个全面的、完善的、安全可靠的网络环境。

参考文献:

[1]方勇.信息系统安全理论与技术[M].北京:高等教育出版社,2008.

ssl协议篇(4)

一、引言

电子商务作为计算机应用技术与现代经济贸易活动结合的产物,已经成为人类跨入知识经济新纪元的重要标志之一。但美国的一个调查机构显示超过60%的人由于担心电子商务的安全问题而不愿进行网上购物。安全是电子商务发展的核心问题。

保证电子商务安全,其核心在于安全协议。迄今为止,国内外已经出现了多种电子支付协议,目前有两种安全在线支付协议被广泛采用,即安全套接层ssl协议和安全电子交易set协议,二者均是成熟和实用的安全协议。

二、安全套接层协议(ssl)

ssl协议是由网景公司推出的一种安全通信协议,它能够对信用卡和个人信息提供较强的保护。ssl是对计算机之间整个会话进行加密的协议。在ssl中,采用了公开密钥和私有密钥两种加密方法。

它已成为事实上的工业标准,独立于应用层,可加载任何高层应用协议,适合为各类c/s模式产品提供安全传输服务。它提供一种加密的握手会话,使客户端和服务器端实现身份验证、协商加密算法和压缩算法、交换密钥信息。这种握手会话通过数字签名和数字证书来实现客户和服务器双方的身份验证,采用des、md5等加密技术实现数据的保密性和完整性。在用数字证书对双方的身份验证后,双方就可以用密钥进行安全会话。

1.ssl安全协议主要提供三方面的服务

(1)用户和服务器的合法性认证:认证用户和服务器的合法性,使得它们能够确信数据将被发送到正确的客户机和服务器上。客户机和服务器都是有各自的识别号,这些识别号由公开密钥进行编号,为了验证用户是否合法,ssl要求在握手交换数据进行数字认证,以此来确保用户的合法性。

(2)加密数据以隐藏被传送的数据:ssl采用的加密技术既有对称密钥技术,也有公开密钥技术。在客户机与服务器进行数据交换之前,交换ssl初始握手信息,在ssl握手情息中采用了各种加密技术对其加密,以保证其机密性和数据的完整性,并且用数字证书进行鉴别。这样就可以防止非法用户进行破译。

(3)护数据的完整性:ssl采用hash函数和机密共享的方法来提供信息的完整性服务,建立客户机与服务器之间的安全通道,使所有经过安全套接层协议处理的业务在传输过程中能全部完整准确无误地到达目的地。

2.ssl协议的缺点

(1)客户的信息先到商家,让商家阅读,这样,客户资料的安全性就得不到保证。

(2)ssl只能保证资料信息传递的安全,而传递过程是否有人截取就无法保证了。所以,ssl并没有实现电子支付所要求的保密性、完整性,而且多方互相认证也是很困难的。

三、安全电子交易set协议

set协议是由visa和mastercard两大信用卡公司于1997年5月联合推出的规范。set主要是为了解决用户、商家和银行之间通过信用卡支付的交易而设计的,以保证支付信息的机密、支付过程的完整、商户及持卡人的合法身份、以及可操作性。set中的核心技术主要有公开密钥加密、电子数字签名、电子信封、电子安全证书等。

1.set支付系统的组成

set支付系统主要由持卡人、商家、发卡行、收单行、支付网关、认证中心等六个部分组成。对应地,基于set协议的网上购物系统至少包括电子钱包软件、商家软件、支付网关软件和签发证书软件。

2.set安全协议主要提供三方面的服务

(1)保证客户交易信息的保密性和完整性:set协议采用了双重签名技术对set交易过程中消费者的支付信息和订单信息分别签名,使得商家看不到支付信息,只能接收用户的订单信息;而金融机构看不到交易内容,只能接收到用户支付信息和帐户信息,从而充分保证了消费者帐户和定购信息的安全性。

(2)确保商家和客户交易行为的不可否认性:set协议的重点就是确保商家和客户的身份认证和交易行为的不可否认性,采用的核心技术包括x.509电子证书标准,数字签名,报文摘要,双重签名等技术。

(3)确保商家和客户的合法性:set协议使用数字证书对交易各方的合法性进行验证。通过数字证书的验证,可以确保交易中的商家和客户都是合法的,可信赖的。

3.set协议的缺点

(1)只能建立两点之间的安全连线,所以顾客只能把付款信息先发送到商家,再由商家转发到银行,而且只能保证连接通道是安全的而没有其他保证。

(2)不能保证商家会私自保留或盗用他的付款信息。

4.ssl与set协议的比较

(1)在认证要求方面,早期的ssl并没有提供商家身份认证机制,不能实现多方认证;而set的安全要求较高,所有参与set交易的成员都必须申请数字证书进行身份识别。

(2)在安全性方面,set协议规范了整个商务活动的流程,从而最大限度地保证了商务性、服务性、协调性和集成性。而ssl只对持卡人与商店端的信息交换进行加密保护,可以看作是用于传输的那部分的技术规范。从电子商务特性来看,它并不具备商务性、服务性、协调性和集成性。因此set的安全性比ssl高。

(3)在网络层协议位置方面,ssl是基于传输层的通用安全协议,而set位于应用层,对网络上其他各层也有涉及。

(4)在应用领域方面,ssl主要是和web应用一起工作,而set是为信用卡交易提供安全,但如果电子商务应用是一个涉及多方交易的过程,则使用set更安全、更通用些。

四、结束语

由于两协议所处的网络层次不同,为电子商务提供的服务也不相同,因此在实践中应根据具体情况来选择独立使用或两者混合使用。

参考文献:

ssl协议篇(5)

一、引言

电子商务作为计算机应用技术与现代经济贸易活动结合的产物,已经成为人类跨入知识经济新纪元的重要标志之一。但美国的一个调查机构显示超过60%的人由于担心电子商务的安全问题而不愿进行网上购物。安全是电子商务发展的核心问题。

保证电子商务安全,其核心在于安全协议。迄今为止,国内外已经出现了多种电子支付协议,目前有两种安全在线支付协议被广泛采用,即安全套接层SSL协议和安全电子交易SET协议,二者均是成熟和实用的安全协议。

二、安全套接层协议(SSL)

SSL协议是由网景公司推出的一种安全通信协议,它能够对信用卡和个人信息提供较强的保护。SSL是对计算机之间整个会话进行加密的协议。在SSL中,采用了公开密钥和私有密钥两种加密方法。

它已成为事实上的工业标准,独立于应用层,可加载任何高层应用协议,适合为各类C/S模式产品提供安全传输服务。它提供一种加密的握手会话,使客户端和服务器端实现身份验证、协商加密算法和压缩算法、交换密钥信息。这种握手会话通过数字签名和数字证书来实现客户和服务器双方的身份验证,采用DES、MD5等加密技术实现数据的保密性和完整性。在用数字证书对双方的身份验证后,双方就可以用密钥进行安全会话。

1.SSL安全协议主要提供三方面的服务

(1)用户和服务器的合法性认证:认证用户和服务器的合法性,使得它们能够确信数据将被发送到正确的客户机和服务器上。客户机和服务器都是有各自的识别号,这些识别号由公开密钥进行编号,为了验证用户是否合法,SSL要求在握手交换数据进行数字认证,以此来确保用户的合法性。

(2)加密数据以隐藏被传送的数据:SSL采用的加密技术既有对称密钥技术,也有公开密钥技术。在客户机与服务器进行数据交换之前,交换SSL初始握手信息,在SSL握手情息中采用了各种加密技术对其加密,以保证其机密性和数据的完整性,并且用数字证书进行鉴别。这样就可以防止非法用户进行破译。

(3)护数据的完整性:SSL采用Hash函数和机密共享的方法来提供信息的完整性服务,建立客户机与服务器之间的安全通道,使所有经过安全套接层协议处理的业务在传输过程中能全部完整准确无误地到达目的地。

2.SSL协议的缺点

(1)客户的信息先到商家,让商家阅读,这样,客户资料的安全性就得不到保证。

(2)SSL只能保证资料信息传递的安全,而传递过程是否有人截取就无法保证了。所以,SSL并没有实现电子支付所要求的保密性、完整性,而且多方互相认证也是很困难的。

三、安全电子交易SET协议

SET协议是由VISA和MasterCard两大信用卡公司于1997年5月联合推出的规范。SET主要是为了解决用户、商家和银行之间通过信用卡支付的交易而设计的,以保证支付信息的机密、支付过程的完整、商户及持卡人的合法身份、以及可操作性。SET中的核心技术主要有公开密钥加密、电子数字签名、电子信封、电子安全证书等。

1.SET支付系统的组成

SET支付系统主要由持卡人、商家、发卡行、收单行、支付网关、认证中心等六个部分组成。对应地,基于SET协议的网上购物系统至少包括电子钱包软件、商家软件、支付网关软件和签发证书软件。

2.SET安全协议主要提供三方面的服务

(1)保证客户交易信息的保密性和完整性:SET协议采用了双重签名技术对SET交易过程中消费者的支付信息和订单信息分别签名,使得商家看不到支付信息,只能接收用户的订单信息;而金融机构看不到交易内容,只能接收到用户支付信息和帐户信息,从而充分保证了消费者帐户和定购信息的安全性。

(2)确保商家和客户交易行为的不可否认性:SET协议的重点就是确保商家和客户的身份认证和交易行为的不可否认性,采用的核心技术包括X.509电子证书标准,数字签名,报文摘要,双重签名等技术。

(3)确保商家和客户的合法性:SET协议使用数字证书对交易各方的合法性进行验证。通过数字证书的验证,可以确保交易中的商家和客户都是合法的,可信赖的。

3.SET协议的缺点

(1)只能建立两点之间的安全连线,所以顾客只能把付款信息先发送到商家,再由商家转发到银行,而且只能保证连接通道是安全的而没有其他保证。

(2)不能保证商家会私自保留或盗用他的付款信息。

4.SSL与SET协议的比较

(1)在认证要求方面,早期的SSL并没有提供商家身份认证机制,不能实现多方认证;而SET的安全要求较高,所有参与SET交易的成员都必须申请数字证书进行身份识别。

(2)在安全性方面,SET协议规范了整个商务活动的流程,从而最大限度地保证了商务性、服务性、协调性和集成性。而SSL只对持卡人与商店端的信息交换进行加密保护,可以看作是用于传输的那部分的技术规范。从电子商务特性来看,它并不具备商务性、服务性、协调性和集成性。因此SET的安全性比SSL高。

(3)在网络层协议位置方面,SSL是基于传输层的通用安全协议,而SET位于应用层,对网络上其他各层也有涉及。

ssl协议篇(6)

一、引言

电子商务作为计算机应用技术与现代经济贸易活动结合的产物,已经成为人类跨入知识经济新纪元的重要标志之一。但美国的一个调查机构显示超过60%的人由于担心电子商务的安全问题而不愿进行网上购物。安全是电子商务发展的核心问题。

保证电子商务安全,其核心在于安全协议。迄今为止,国内外已经出现了多种电子支付协议,目前有两种安全在线支付协议被广泛采用,即安全套接层SSL协议和安全电子交易SET协议,二者均是成熟和实用的安全协议。

二、安全套接层协议(SSL)

SSL协议是由网景公司推出的一种安全通信协议,它能够对信用卡和个人信息提供较强的保护。SSL是对计算机之间整个会话进行加密的协议。在SSL中,采用了公开密钥和私有密钥两种加密方法。

它已成为事实上的工业标准,独立于应用层,可加载任何高层应用协议,适合为各类C/S模式产品提供安全传输服务。它提供一种加密的握手会话,使客户端和服务器端实现身份验证、协商加密算法和压缩算法、交换密钥信息。这种握手会话通过数字签名和数字证书来实现客户和服务器双方的身份验证,采用DES、MD5等加密技术实现数据的保密性和完整性。在用数字证书对双方的身份验证后,双方就可以用密钥进行安全会话。

1.SSL安全协议主要提供三方面的服务

(1)用户和服务器的合法性认证:认证用户和服务器的合法性,使得它们能够确信数据将被发送到正确的客户机和服务器上。客户机和服务器都是有各自的识别号,这些识别号由公开密钥进行编号,为了验证用户是否合法,SSL要求在握手交换数据进行数字认证,以此来确保用户的合法性。

(2)加密数据以隐藏被传送的数据:SSL采用的加密技术既有对称密钥技术,也有公开密钥技术。在客户机与服务器进行数据交换之前,交换SSL初始握手信息,在SSL握手情息中采用了各种加密技术对其加密,以保证其机密性和数据的完整性,并且用数字证书进行鉴别。这样就可以防止非法用户进行破译。

(3)护数据的完整性:SSL采用Hash函数和机密共享的方法来提供信息的完整,建立客户机与服务器之间的安全通道,使所有经过安全套接层协议处理的业务在传输过程中能全部完整准确无误地到达目的地。

2.SSL协议的缺点

(1)客户的信息先到商家,让商家阅读,这样,客户资料的安全性就得不到保证。

(2)SSL只能保证资料信息传递的安全,而传递过程是否有人截取就无法保证了。所以,SSL并没有实现电子支付所要求的保密性、完整性,而且多方互相认证也是很困难的。

三、安全电子交易SET协议

SET协议是由VISA和MasterCard两大信用卡公司于1997年5月联合推出的规范。SET主要是为了解决用户、商家和银行之间通过信用卡支付的交易而设计的,以保证支付信息的机密、支付过程的完整、商户及持卡人的合法身份、以及可操作性。SET中的核心技术主要有公开密钥加密、电子数字签名、电子信封、电子安全证书等。

1.SET支付系统的组成

SET支付系统主要由持卡人、商家、发卡行、收单行、支付网关、认证中心等六个部分组成。对应地,基于SET协议的网上购物系统至少包括电子钱包软件、商家软件、支付网关软件和签发证书软件。

2.SET安全协议主要提供三方面的服务

(1)保证客户交易信息的保密性和完整性:SET协议采用了双重签名技术对SET交易过程中消费者的支付信息和订单信息分别签名,使得商家看不到支付信息,只能接收用户的订单信息;而金融机构看不到交易内容,只能接收到用户支付信息和帐户信息,从而充分保证了消费者帐户和定购信息的安全性。

(2)确保商家和客户交易行为的不可否认性:SET协议的重点就是确保商家和客户的身份认证和交易行为的不可否认性,采用的核心技术包括X.509电子证书标准,数字签名,报文摘要,双重签名等技术。

(3)确保商家和客户的合法性:SET协议使用数字证书对交易各方的合法性进行验证。通过数字证书的验证,可以确保交易中的商家和客户都是合法的,可信赖的。

3.SET协议的缺点

(1)只能建立两点之间的安全连线,所以顾客只能把付款信息先发送到商家,再由商家转发到银行,而且只能保证连接通道是安全的而没有其他保证。

(2)不能保证商家会私自保留或盗用他的付款信息。

4.SSL与SET协议的比较

(1)在认证要求方面,早期的SSL并没有提供商家身份认证机制,不能实现多方认证;而SET的安全要求较高,所有参与SET交易的成员都必须申请数字证书进行身份识别。

(2)在安全性方面,SET协议规范了整个商务活动的流程,从而最大限度地保证了商务性、服务性、协调性和集成性。而SSL只对持卡人与商店端的信息交换进行加密保护,可以看作是用于传输的那部分的技术规范。从电子商务特性来看,它并不具备商务性、服务性、协调性和集成性。因此SET的安全性比SSL高。

(3)在网络层协议位置方面,SSL是基于传输层的通用安全协议,而SET位于应用层,对网络上其他各层也有涉及。

(4)在应用领域方面,SSL主要是和Web应用一起工作,而SET是为信用卡交易提供安全,但如果电子商务应用是一个涉及多方交易的过程,则使用SET更安全、更通用些。

四、结束语

由于两协议所处的网络层次不同,为电子商务提供的服务也不相同,因此在实践中应根据具体情况来选择独立使用或两者混合使用。

参考文献:

ssl协议篇(7)

中图分类号:TN918.1 文献标识码:A 文章编号:1007-9599 (2012) 21-0000-02

1 引言

SSL协议是如今已经广泛应用于Internet的网络安全方案,它以多种密码技术为基础,实现用户身份鉴别、数据加密传输、数据完整性校验等安全功能。正是由于SSL协议的重要性,在应用过程中存在的漏洞可能会被别有用心的攻击者利用,所以很有必要对SSL协议存在的不足进行分析并弥补。目前已有使用形式化分析方法如BAN逻辑、Kailar逻辑等分析SSL协议的文章[1],本文从加密密钥攻击,中间人攻击,不能抗抵赖等方面详细分析SSL协议,提出改进方案,设计基于SSL的“双密钥机制”认证密钥协商协议,弥补SSL协议的不足,提高其在实际工程应用中的网络安全性。

2 SSL协议漏洞

SSL协议处于TCP协议和上层应用协议之间,属于传输层安全机制。从结构上分为两层,底层为记录层协议,高层则由握手协议、密码规范变更协议、报警协议、应用数据协议4个并列协议构成。连接分为握手和数据传输两个阶段。握手阶段对服务器进行认证并协商加密密钥。密码规范变更协议指示发送端已切换至新协商好的密钥套件,之后发送的消息将使用那些密钥保护。报警协议为客户端与服务器间传递SSL的相关警告。

2.1 攻击加密密钥

在标准的SSL协议中,用于加密数据的会话密钥和MAC密钥都由预主密钥、客户端随机数、服务器端随机数三部分计算产生。双方随机数明文发送,预主密钥受服务器公钥保护,协议的安全性完全依赖于预主密钥。在服务器端公私钥均安全的情况下,还存在绕过主密钥和密钥块的生成,直接对密钥块的相关字节进行穷举的攻击。以SSL_RSA_EXPORT_WITH_RC4_40_MD5算法组为例,加密密钥是由密钥块中的5字节密钥和两个32字节随机数经MD5算法压缩产生。其中只有密钥块的5字节密钥未知,攻击者可以直接对5字节密钥进行穷举,计算加密密钥,利用Finished前4个字节判断密钥正确与否,穷尽量小于240,是可以实现的。

2.2 中间人攻击

实体在接收到更改密钥规范消息之前,发送的消息不进行加密或消息认证,接收到更改密钥规范消息之后,将当前的密钥套件替换为商定的密钥套件,此后记录层可以加密保护传输数据。然而,由于更改密钥规范消息未被保护,可能存在如下攻击。若密钥套件中只包含消息认证密钥而没有加密密钥。攻击者可以拦截并丢弃客户端的更改密钥规范消息,这样服务器不会更新密钥套件,记录层也不会进行加密或消息认证。余下协议继续进行,攻击者可以从客户端的Finished和会话数据中剥除记录层的消息认证字段,篡改会话数据,而接收端期望接收到的正是没有加密和消息认证字段的数据,故攻击不会被发现。

2.3 不能提供不可否认性

SSL 协议不能提供通信双方的不可否认性。对于电子商务、网银充值转帐、电力系统远程充电拉闸等应用来说,使用SSL可保证信息的真实性、完整性和保密性。但由于SSL 不对应用层的消息进行数字签名[2],因此不能提供交易的不可否认性,这是SSL 在实际应用中用的最大不足。

3 安全性增强机制

3.1 引入kerberos机制

本协议中引入Kerberos机制的思想,利用KDC密钥分发中心为客户端发放票据并分发对称密钥,之后使用该对称密钥来保护握手过程。

认证服务交换阶段:完成客户向KDC请求与TGS通信时使用的票据TGT,以及会话密钥的过程;授权服务交换阶段是客户向TGS请求与最终应用服务器进行通信所需要的票据和会话密钥的过程;经过客户/应用服务器交换阶段后,客户获得与应用服务器进行通信所需要的票据和会话密钥。整个协议交换过程结束,客户端和服务器之间共享加密密钥Ⅰ,之后就用加密密钥Ⅰ保护双方的握手流程,协商加密密钥Ⅱ。

3.2 隐藏重要参数

协议使用服务器公钥加密预主密钥,对称密钥Ⅰ加密n1,并对n2采取异或方式进行隐藏。客户端生成随机数n1后使用对称密钥Ⅰ加密发送给服务器,服务器解密得到n1,并生成随机数n2,将n1与n2异或的结果返给客户端,客户端利用本地存储的n1解出n2,至此n1与n2交换成功。随机数密文发送在很大程度上保护了主密钥、密钥块及加密密钥的安全,即使攻击者攻破预主密钥,在得不到随机数的情况下也算不出主密钥,即使攻破主密钥,也须要同时攻破n1,n2才能得到密钥块,即使破解密钥块,也要在得到随机数的情况下才能获得加密密钥,这就相当于赋予加密密钥三层防护,较SSL协议的安全性更进了一步。

3.3 改进Finished计算

对Finished值的计算方法进行改进,将Change Cipher Spec字段包含进Finished值的计算,计算过程为md5_hash:MD5(master_secret + pad2 + MD5(handshake_messages + Change cipher spec messages + Sender + master_secret + pad1))。将Change cipher spec消息包含进Finished的计算后,若发生“丢弃更改密钥规范消息”攻击,双方计算出的Finished消息将会不同,这时该攻击就会被发现,客户端与服务器端重新开始握手。

3.4 增加签名协议

数字签名算法复杂,运算时间长,如果对每个消息都要进行签名计算与验证的话,将会大大影响协议的效率。而且在真正应用时一般只对重要的操作签名验签,因此考虑在独立于SSL握手协议、记录协议的情况下增加SSL签名协议。SSL签名协议如文献[3]所述,用于处理需要进行数字签名的数据的信息传递、签名与验签。SSL签名协议在握手完成后传递应用数据时开始使用,弥补了SSL在对应用数据进行数字签名能力方面的不足,同时通过数字签名的校验也可以提高身份认证的能力。

4 基于SSL的“双密钥机制”认证密钥协商协议描述

客户端首先向KDC密钥分发中心申请与服务器通信的票据及其与服务器的共享对称密钥,申请成功后向服务器出示票据,服务器应答,若成功,则第一次身份认证通过,双方开始握手流程。客户端向服务器发送经共享密钥加密后的客户端随机数n1,服务器解密得到n1后将n1与n2异或后返回,其它密钥交换流程同SSL协议,但本协议Finished值的计算包含了change cipher spec,具体流程如图2所示:

客户端向KDC密钥分发中心申请票据及加密密钥的过程无须在每次通话都进行,只需初始通信时申请一次,之后设定时间节点,当距离上次通信时间大于此节点时,重新申请,否则直接利用之前分发的密钥保护参数即可。

5 结论

随着SSL协议的应用越来越广泛,人们对其安全性[4]的要求也越来越高。本文分析了SSL协议在实际应用时可能遭受的攻击,描述了完整的攻击思路,在此基础上设计了一套基于双密钥机制的认证密钥协商协议。在标准SSL协议的基础上引入Kerberos机制事先分发对称密钥,使客户端和服务器动态共享对称密钥;对双方随机数采用异或等方式隐藏;将更改密钥规范消息包含进Finished消息的计算。经安全性分析,协议弥补了SSL在前述所受攻击方面的漏洞。本协议在保证信息的真实性、完整性和保密性的基础上,引入SSL签名协议为应用数据提供了不可否认性。

参考文献:

[1]David Wagner, Bruce Schneier, "Analysis of the SSL 3.0 protocol", USENIX Workshop on Electronic Commerce, ACM.

[2]Yvo Desmedt Dr. Fiat–Shamir identification protocol and the Feige–Fiat–Shamir signature scheme[M]. Encyclopedia of Cryptography and Security. Springer, 2011:457-458.

[3]张峰岭.SSL数字签名协议[J].计算机工程,2003,29(7):37-40.

[4]Jonathan Katz,Philip MacKenzie, Gelareh Taban,Virgil Gligor. two-server password-only authenticated key exchange[J].Journal of Computer and System Sciences, March 2012, 78(2): 651-669.

ssl协议篇(8)

1引言

随着计算机网络技术向整个经济社会各层次延伸,网络安全已成为现代计算机网络应用的最大障碍,也是继续解决的难题之一。能否在网上实现安全的电子支付是电子商务交易的一个重要环节。从目前来看,虽然电子支付安全问题还没有形成公认的成熟的解决方法,但是自从SSL安全协议和SET安全协议问世后,困扰人们心中的这一问题得到了缓解,现在SSL安全协议和SET安全协议已经被广泛地应用在电子商务活动中的安全支付环节。

2 SSL安全协议

2.l SSL安全协议概念

SSL安全协议又叫安全套接层(Secure Sockets Layer)协议,是由网景(Netscape)公司推出的一种安全通信协议,它能够对信用卡和个人信息提供较强的保护。SSL是对计算机之间整个会话进行加密的协议。在SSL中,采用了公开密钥和私有密钥两种加密方法。它是根据邮件通路的原理设计的。它是基于TCP/IP协议之上的应用程序,主要用于提高应用程序之间数据的安全系数。

2.2 SSL安全协议主要服务

(1)用户和服务器的合法性认证。认证用户和服务器的合法性,使得它们能够确信数据将被发送到正确的客户机和服务器上。

(2)加密数据以隐藏被传送的数据。SSL所采用的加密技术既有对称密钥技术,也有公开密钥技术。在客户机与服务器进行数据交换之前,交换SSL初始握手信息,在SSL握手信息中采用了各种加密技术对其加密,以保证其机密性和数据的完整性,并且用数字证书进行鉴别,这样就可以防止非法用户进行破译。

(3)保护数据的完整性。安全套接层协议采用Hash函数和机密共享的方法来提供信息的完整,建立客户机与服务器之间的安全通道,使所有经过安全套接层协议处理的业务在传输过程中能全部完整准确无误地到达目的地。

2.3 SSL安全协议的使用步骤

SSL安全协议的使用步骤包括:

(1)建立连接阶段。客户通过网络向服务商打招呼,服务商回应。

(2)密码交换阶段。客户与服务商之间交换双方认可的密码。

(3)会谈密码阶段。客户与服务商之间产生彼此交谈的会谈密码。

(4)检验阶段。检验服务商取得的密码。

(5)客户认证阶段。检验客户的可信度。

(6)结束阶段。客户与服务商之间相互交换结束的信息。

当上述动作完成之后,两者间的资料传送就会加以密码,等到另外一端收到资料后,再将编码后的资料还原。即使盗窃者在网络上取得编码后的资料,如果没有原先编制的密码算法,也不能获得可读的有用资料。在电子商务交易过程中,由于有银行参与,按照SSL协议,客户购买的信息首先发往商家,商家再将信息转发银行,银行验证客户信息的合法性后,通知商家付款成功,商家再通知客户购买成功,将商品寄送客户。

2.4 对SSL安全协议的评价

SSL安全协议虽说是国际上最早应用于电子商务的一种网络安全协议,但是目前仍受一些网上商家的青睐。主要原因是它解决了传统交易方式中的“信任危机”问题。我们知道SSL协议根据邮购的原理进行了流程改造,因而希望银行能为它们的交易信用给予认证,以避免商家发货后客户不付款或者客户付款后商家不发货的情况发生,正当更多的人对电子商务活动感到缺乏安全性时,SSL安全协议的出现多少取消了人们这方面的顾虑。

但是,SSL协议也存在一些缺点:在SSL协议中,客户的信息先到商家,让商家阅读,这样,客户资料的安全性就得不到保证。所以,SSL并没有实现电子支付所要求的保密性、完整性,而且多方互相认证也是很困难的。SSL协议的安全性基于商家对客户信息保密的承诺,因此说客户信息的安全性系于商户的承诺基础之上.所以说SSL协议是一个有利于商家而不利于顾客的协议。

3 SET安全协议

为了促进电子商务的发展,彻底解决在线交易中商家和客户信息的安全传输问题,同时为了改进SSL安全协议不利于客户的缺陷,全球著名的信用卡集团Visa Card和Master Card联袂开发了SET电子商务交易安全协议。这是一个为了在因特网上进行在线交易而设立的开放的安全电子支付体系。SET克服了SSL安全协议有利于商家而不利于顾客的缺点,它在保留对客户信用卡认证的前提下,又增加了对商家身份的认证,这对于需要支付货币的交易来讲是至关重要的。

3.1 SET安全电子交易协议的概念

安全电子交易协议(Secure Electronic Transaction)是由Visa Card和Master Card于1997年5月联合推出的规范。SET主要是为了解决用户、商家和银行之间通过信用卡支付的交易而设计的,以保证支付信息的机密、支付过程的完整、商家及持卡人的合法身份以及可操作性。SET中的核心技术主要有公开密钥加密、电子数字签名、电子信封、电子安全证书等。SET协议主要是为了在因特网上进行在线交易时,保证使用信用卡进行支付的安全而设立的一个开放的协议,是面向网上交易、针对利用信用卡进行支付而设计的电子支付规范,由于SET协议得到了HP、IBM,Microsot等公司的支持,因此,迅速在全世界得到广泛应用。

3.2 SET安全协议的安全目标

SET安全协议要达到的目标主要有5个:

(1)保证信息在因特网上安全传输,防止数据被黑客或被内部人员窃取。

(2)保证电子商务参与者信息的相互隔离。客户的资料加密或打包后通过商家到达银行,但是商家不能看到客户的帐户和密码信息。

(3)解决多方认证问题.不仅要对消费者的信用卡认证,而且要对在线商店的信誉程度认证,同时还有消费者、在线商店与银行间的认证。

(4)保证网上交易的实时性,使所有的支付过程都是在线的。

(5)效仿EDI贸易的形式,规范协议和消息格式,促使不同厂家开发的软件具有兼容性和互操作功能,并且可以运行在不同的硬件和操作系统平台上。

3.3 SET协议的工作流程

(1)购物阶段

消费者利用自己的PC机通过因特网选定所要购买的物品,并在计算机上输入货单。订货单上需包括在线商店、购买物品名称及数量、交货时间及地点等相关信息。

(2)商品交易确认阶段

通过电子商务服务器与有关在线商店联系,在线商店作出应答,告诉消费者所填订货单的货物单价、应付款数、交货方式等信息是否准确,是否变化。

(3)支付初始化请求和响应阶段

当客户决定要购买商家的商品并使用SET钱夹付钱时,商家服务器上POS软件发报文给客户的浏览器SET钱夹付钱,SET钱夹则要求客户输入口令然后与商家服务器交换“握手”信息,使客户和商家相互确认,即客户确认商家被授权可以接受信用卡,同时商家也确认客户是一个合法的持卡人。

(4)支付请求阶段

客户发一报文包括订单和支付命令。在订单和支付命令中必须有客户的数字签名,同时利用双重签名技术保证商家看不到客户的账户信息。只有位于商家开户行的被称为支付网关的另外一个服务器可以处理支付命令中的信息。

(5)授权请求阶段

在线商家收到订单后,向消费者所在银行请求支付认可。POS组织一个授权请求报文,其中包括客户的支付命令,发送给支付网关。授权请求报文到达收单银行后,收单银行再到发卡银行确认。批准交易后,返回确认信息给在线商店。

(6)授权响应阶段

收单银行得到发卡银行的批准后,通过支付网关发给商家授权响应报文。

(7)支付响应阶段

商家发送购买响应报文给客户,客户记录交易日志备查。在线商店发送货物或提供服务,并通知收单银行将钱从消费者的账号转移到商店账号,或通知发卡银行请求支付。在处理过程中,通信协议、请求信息格式、数据类型的定义等,SET都有明确的规定。在操作的每一步,消费者、在线商店、支付网关都通过CA来验证通信主体的身份,以确保通信和对方不是冒名顶替。所以,也可以简单地认为,SET规格充分发挥了认证中心的作用,以维护在任何开放网络上的电子商务参与者提供信息的真实性和保密性。

3.4 对SET安全协议的评价

SET安全协议从面市以来,由于设计合理,得到了IBM,HP,Microsoft,Netscape等许多大公司的支持,保持了良好的发展趋势。因为SET改进了SSL安全协议有利于商家而不利于顾客的缺点,它在保留对客户信用卡认证的前提下,又增加了对商家身份的认证,这对于需要支付货币的交易来讲是至关重要的。SET安全电子交易是基于因特网的卡式支付,是授权业务信息传输的安全标准,它采用RSA公开密钥体系对通信双方进行认证,利用对称加密方法进行信息的加密传输,并用HASH算法来鉴别消息真伪、有无涂改。在SET体系中有一个关键的认证机构(CA),CA负责和管理证书。

但是随着进一步应用我们也会发现一些问题。(1)协议没有说明收单银行给在线商店付款前,是否必须收到消费者的货物接受证书。如果在线商品提供的货物不符合质量标准,消费者提出疑义,责任由谁承担。(2)协议没有担保“非拒绝行为”,这意味着在线商店没有办法证明订购不是由签署证书的消费者发出的。(3)SET技术规范没有提及在事务处理完成后,如何安全地保存或销毁此类数据,是否应当将数据保存在消费者、在线商店或收单银行的计算机里。这种漏洞可能使这些数据以后受到潜在的攻击。

4总结

在现有的网上交易的安全协议中主要有SSL和SET两种, 由于宿舍SSL协议的成本低、速度快、使用简单, 对现有网络系统不需进行大的修改, 因而目前取得了广泛的应用。而在SET协议中, 客户端需安装专门的电子钱包软件, 在商家服务器和银行网络上也需安装相应的软件;并且SET协议非常复杂、庞大,处理速度慢。但是, 由于SET协议位于应用层, 它不仅规范了整个商务活动的流程, 而且制定了严格的加密和认证标准, 具备商务性、协调性和集成;SET协议对交易的各个环节都进行了认证, 所以, SET协议的安全性更高。

其实网上银行的安全涉及到方方面面,不只是一个完善的安全支付协议,一堵安全的防火墙或者一个电子签名就能简单解决的问题。所以,现在银行必须加大加强管理力度,加大宣传力度,帮助顾客树立起安全意识,指导用户该如何正确使用网上银行,并发动社会各方面的力量,寻求多方联动的策略来保证网上银行的安全。只有社会各界一起努力,才能保证电子支付的安全;只有社会各界一起努力,才能保证网上银行的安全;也只有社会各界一起努力,才可以保证电子商务的安全,保证电子商务的快速有序的发展。

参考文献:

ssl协议篇(9)

中图分类号:TP393文献标识码:A文章编号:1009-3044(2012)07-1540-02

SSL Protocol in the Network Communication of the Application

ZHANG Yang

(Liaoning University Computing Center, Shenyang 110036, China)

Abstract: SSL protocol is to provide a secure channel between computers a security protocol, data transmission is encrypted. This article has wireless video surveillance system for the study, the introduction of the SSL protocol in the system, the application of the protocol on the server and the client’s network communication, which can achieve data transmission security, authentication and message integrity.

Key words: SSL protocol; information security; network communication

无线视频监控系统服务器和客户端之间采用的C/S模式组成的,实现对视频信号实时采集和压缩编码后,将图像传输到指定的视频服务器上。那么命令信息在传输过程中,数据的安全性是我们需要解决的重要问题。所以在该系统中引入了SSL协议,把SSL协议应用在服务器和客户端的网络通信中,通过数据加密提高信息的安全性。

1系统设计原则和目标

1.1系统设计原则

该系统的服务器和客户端都是在windows操作系统利用VC的socket建立连接,实现网络通信。考虑到服务器和客户端之间数据传输的安全性和有效性,设计过程中注意以下几个方面:

1)并发性:因为服务器和客户端之间建立联系,一般是一台服务器对应多个客户端进行通信的,每个终端优先级是平等的,为了实现客户端的并发,在服务器端采用VC中的多线程技术,使得每个客户端都能和服务器同时产生通信。

2)安全性:该系统是服务器和客户端之间利用socket通信,客户端向服务器发送请求命令,服务器收到后回应请求,如果在通信过程中命令信息不加密,信息容易被非法窃取,直接通过TCP协议传输信息是不安全的,所以要引入SSL协议,使所有的命令信息是加密传输的,保证了信息的安全性。

3)实时性:由于视频监控系统对画面的实时性要求非常高的,如果图像也是通过加密传输的话,会严重影响图像的传输速率,也就失去了实时性的要求,所以,我们在处理图像传输时就不像命令信息一样通过SSL加密传输了,满足了图像的实时性要求。1.2系统设计的目标

该系统实现的目标就是服务器端和客户端建立连接,满足并发性的要求;在通信过程中,双方发送的命令信息通过SSL加密传输,提高安全性;图像传输通过TCP协议传输,满足视频传输的实时性。

2网络通信模块的设计

主要讨论的是服务器和客户端之间的网络通信问题,服务器和客户端之间有两种信息:服务器向客户端转发的视频流信息;服务器和客户端之间传输的命令信息。从信息的安全性考虑,在该系统中引入SSL加密协议,在数据传输过程中,即使数据被黑客窃取也不会将数据还原。确保了数据的安全性。

因为监控视频对图像的实时性要求非常高,不能有太长的时间延迟,而视频在传输过程中产生的流量非常之大,直接通过TCP协议传输视频信息可以有效降低时间延迟。

因此,通过SSL协议传输各种命令信息,我们可以把SSL通信模块封装成sslclient类和sslserver类,提供了接口函数,只需要调用对应的API就可以实现SSL加密通信。

3 SSL网络通信技术的实现

3.1 SSL通信模块的工作流程

该系统的整个结构可以分为服务器和客户端两个部分组成,而其中的SSL通信模块为现实这两个部分之间的数据通信的安全传输提供服务。主要从外部和内部两个方面来分析,从外部来看,系统包括初始化握手部分和数据传输部分两个部分内容,这两个部分的内容具体对应SSL协议的“握手协议”和“记录协议”。从内部来看,SSL模块可划分为初始化、SSL连接、身份认证和数据传输几个模块,初始化主要为SSL连接做准备工作,身份认证主要是验证对方数字证书以证明身份的有效性。如果服务器也要求进行客户端身份认证,会以同样的方法对客户端的证书进行验证。当服务器和客户端互相进行验证之后。会在两者之间成功建立SSL连接,形成一个安全数据传输通道,传输数据类似于TCP的套接字,直接写入或者读取数据。如图1所示。

图1 SSL通信模块的结构图

3.2实现的过程

在通信模块中,服务器实现的过程很简单,和客户端实现的过程类似,服务器等待客户端发送请求的连接,之后初始化一条SSL连接,它就从客户端读取或写入数据发送到客户端。按照功能也可以分为四部分:初始化过程、连接过程、身份认证过程和数据传输。

1)初始化过程:客户端的开发时调用openssl函数实现的,首先是初始化SSL库,在选择会话连接所使用的协议:ssl_method* sslv3_client_method();再去申请SSL会话的CTX:ssl_ctx* ssl_ctx_new(ssl_method* meth);,目的是连接对象进行SSL握手、数据的读写;最后是家在私有密钥和数字证书并设置加密套件。

然而服务器初始化过程和客户端初始化过程类似,不同只是服务器调用sslv3_server_method()函数来实现的。

2)连接过程:服务器调用listen函数开始监听客户端的TCP连接请求,调用accept函数接受客户端的TCP连接;申请一个BIO对象,把SSL绑在在这个对象上;调用SSL的accept函数接受客户端的SSL连接。

3)身份认证:由于系统采用双向身份认证机制进行身份认证,所以服务器和客户端的证书都要互相进行认证方可正常通信,二者进行信息对比,如果一致,表明验证通过,否则将关闭与客户端之间的连接。

4)数据传输:服务器与客户端建立连接后就可传输数据,所有数据是经SS加密处理后进行传输的。

4结束语

在当今信息化飞速发展的社会中,信息数据在日常生活和工作中显得越来越重要,所以信息安全的重要性也越来越受到人们的重视,数据在保存和传输过程中如何可以防止黑客窃取,正是该文研究的对象。该文以视频监控作为实例来研究,既要保证视频传输的实时性,又要保障数据的安全性,所以我们采用服务器和客户端之间采用灵活的双重连接制,通过SSL协议进行数据加密传输,提高了机密信息传输的安全性。

参考文献:

[1]付沙,何诚,文旭华.基于SSL协议的安全网络通信的理论和实现[J].计算机与现代,2006(11).

[2]曾强.网络安全协议SSL原理及应用[D].天津:天津大学,2005.

[3]唐玲.数字证书系统的设计研究[D].合肥:合肥工业大学,2004.

[4]韩澄宗.网络实验室中的视频监控系统[D].杭州:浙江大学,2006.

ssl协议篇(10)

    SSL协议提供一种加密的握手会话,使客户端和服务器端实现身份验证、协商加密算法和压缩算法、交换密钥信息。这种握手会话通过数字签名和数字证书来实现客户和服务器双方的身份验证,采用DES、MD5等加密技术实现数据的保密性和完整性。在用数字证书对双方的身份验证后,双方就可以用密钥进行安全会话。

    改进后的SSL版本3分为SSL记录层和SSL协商层,它们分别对应以下两个协议:

   

    (1)SSL记录协议。它涉及应用程序提供的信息分段、压缩、数据认证和加密。

    (2)SSL握手协议。用来交换版本号、加密算法、(相互)身份认证并交换密钥。

   

    Internet号码分配当局(IANA)已经为具备SSL功能的应用分配了固定端口号,例如,带SSL的HTTP被分配的端口号为443,带SSL的SMTP被分配的端口号为465,带SSL的NNTP被分配的端口号为563。

    但是,SSL目前并不完备,缺陷是只能保证传输过程的安全,无法知道在传输过程中是否受到窃听,黑客可破译SSL的加密数据,破坏和盗窃Web信息。此外,SSL在全球的大规模使用还有一定的难度。SSL产品的出口受到美国国家安全局的限制,美国政府只允许加密密钥为40位以下的算法出口,而美国的商家一般都使用128位的SSL,致使美国以外的国家很难真正在电子商务中充分利用SSL。新的SSL协议被命名为TLS(Transport Layer Security),安全可靠性可有所提高,但仍不能消除原有技术的基本缺陷。又由于SSL协议将客户的信用卡号传送给商家,容易被心术不正的商家欺诈。

ssl协议篇(11)

中图分类号:F49文献标识码:A

一、网上支付的概念及其基本流程

1、网上支付是电子支付的一种形式。广义地讲,网上支付指的是客户、商家、网络银行(或第三方支付)之间使用安全电子手段,利用电子现金、银行卡、电子支票等支付工具通过互联网传送到银行或相应的处理机构,从而完成支付的整个过程。

2、网上支付基本流程。①填写订单,加密交易信息、支付信息,发送到商家服务器;②审核交易信息,传递支付信息(加密)支付网关收单行;③收单行与开户行对支付信息进行确认,返回授权响应信息;④商家组织发货;⑤开户行与收单行资金划拨清算,并返回支付成功信息。

二、网上支付模式

保证支付工具的真实与识别该使用者的合法身份是金融业在网络环境下实现网上支付所面临的问题。解决这一问题的关键是使用安全的网上支付模式,SSL和SET是目前实现安全电子支付的两种主要模式。目前,基于SSL安全协议的信用卡支付模式得到广泛发展,而SET模式并未普及,故本文围绕SSL网上支付模式展开研究。

1、SSL协议及相关概念

(1)SSL安全套接层协议。SSL协议是Netscape公司于1994年提出的一个关注互联网信息安全的信息加密传输协议,其目的是为客户端(浏览器)到服务器端之间的信息传输构建一个加密通道,此协议是与操作系统和Web服务器无关。

SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持。SSL协议可分为两层:SSL记录协议:它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。SSL握手协议:它建立在SSL记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。

(2)HTTPS安全超文本传输协议。HTTP提供了一种非常适宜使用SSL来保护其安全的特性。它是第一个使用SSL的协议,到目前为止仍然是最重要的使用SSL来保护其安全的协议。在1995年,Netscape公司的NetscapeNavigotor2中公开发表了SSL上的HTTP实现,当时是采用的独立端口策略。为了将其与HTTPURL区分开来,SSL上的HTTP用来获取页面的URL以HTTPS://开头,这种方案就成为HTTPS名称的来由。

2、SSL协议工作原理

(1)客户端向服务器发送一个开始信息以便开始一个新的会话连接,协商传送加密算法。举例说明:你好,服务器。我想和你进行安全对话,我的对称加密算法有DES、RC5,我的密钥交换算法有RSA和DH,摘要算法有MD5和SHA。

(2)服务器根据客户的信息确定是否需要生成新的主密钥,如需要则服务器在响应客户的信息时将包含生成主密钥所需的信息,并发送服务器数字证书。举例说明:你好,客户端。那我们就使用DES-RSA-SHA这对组合进行通讯,为了证明我确实是服务器,现在发送我的数字证书给你,你可以验证我的身份。

(3)客户根据收到的服务器响应信息,检查服务器的数字证书是否正确,通过CA机构颁发的证书验证了服务器证书的真实有效性后,产生一个主密钥,并用服务器的公开密钥加密后传给服务器。举例说明:服务器,我已经确认了你的身份,现在将我们本次通讯中的密钥发送给你。

(4)服务器恢复该主密钥,并返回给客户一个用主密钥认证的信息,以此让客户认证服务器。举例说明:客户端,我已经获取了密钥。我们可以开始通信了。

一般情况下,当客户端是保密信息的传递者时,不需要数字证书验证自己身份的真实性,如电子银行的应用,客户需要将自己的账号和密码发送给银行,因此银行的服务器需要安装数字证书来表明自己身份的有效性。在某些B2B应用,服务器端也需要对客户端的身份进行验证,这时客户端也需要安装数字证书以保证通讯时服务器可以辨别出客户端的身份,验证过程类似于服务器身份的验证过程。

3、SSL协议工作层次。随着电子商务的不断发展,SSL协议得到了越来越广泛的使用。SSL协议是介于HTTP协议与TCP之间的一个可选层,从上至下分别为HTTP、SSL、TCP、IP层。安全连接的建立要求在连接建立以后再次进行握手。即在“著名的TCP/IP三次握手”以后再次利用证书来握手。

4、SSL协议介入特征。当在浏览器的地址栏的开头是HTTPS而不是HTTP,在浏览器的右下角有一把锁,说明已经建立起SSL加密通道。访问过程中HTTP层首先将请求转换成HTTP请求,然后SSL层通过TCP和IP层实现浏览器和服务器握手(HANDSHAKE),服务器层获得密钥,最后TCP层与服务器之间建立了加密通道,实现了双方安全交换信息的目的。

三、基于SSL安全协议的信用卡支付模式

1、初级信用卡在线支付SSL模式工作流程。①客户开设信用卡账户;②填写订单信息,选择信用卡支付,将订单信息+支付信息商家服务器;③商家服务器返回订单ID客户端,由支付网关传递支付信息客户发卡行;④发卡行在客户端浏览器弹出页面,SSL协议介入;⑤客户端与发卡行通过数字证书相互验证身份;⑥进行SSL握手协议,建立安全信道;⑦客户端浏览器出现支付页面,输入密码;⑧确认支付后,提示离开SSL安全连接,SSL介入结束;⑨发卡行传送支付确认信息商家服务器,商家组织发货;⑩发卡行与商家开户行进行资金清算。

推荐精选