ssl协议范文

时间:2023-03-05 18:03:07

ssl协议

ssl协议范文第1篇

关键词:SSL协议;C/S结构;握手协议;TCP/IP协议

中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)29-0304-03

SSL Protocol Analysis and Implementation

HU Xiao-ye1,LI Jun-yi2

(1.Baoji University of Arts and Sciences Equipment Department,Baoji 721007,China; 2.Dept. Comput. Sci. & tech., Shanxi Police Profession College,Xi'an 710043,China)

Abstract: Aim Discuss the configuration and working process of the SSL protocol,apply SSL to achieve internet security.Means First understand the system construction of SSL protocol,then understand the protocol's working process by SSL communicate and handclasp protocol process.Result SSL protocol is a security protocol base on the TCP/IP,SSL protocol settle the problem of security on internet,make up the shortage of TCP/IP,give us security of data transfer in internet.Conclusion Discussing the configuration and working process of the SSL protocol, make us to understand the SSL protocol all-around, and bring forward it's shortage and consummate it.

Key words: SSL protocol;C/S configuration;handclasp protocol;TCP/IP protocol

1 引言

目前,随着Internet的快速发展,互联网上的信息安全越来越引起人们的关注。特别是近年来基于互联网的网上银行、电子商务和电子政务的发展,如何保证传输信息,特别是网上交易信息的不可否认性、保密性、完整性已成为急待解决的问题。为此,人们发明了安全套接层SSL协议(Security Socket Layer Protocol,简称SSL),是Internet上使用广泛的保密通信的一种安全协议。

2 概述

SSL协议是由Netscape公司为制定数据安全性所开发的通信协议。1995年,Netscape公司提出了SSL2.0之后,很快就成为一个事实上的标准,并为众多的厂商所采用。1996年,Netscape公司了SSL3.0,该版本增加了对除了RSA算法之外的其他算法的支持和一些安全特性,并且修改了前一个版本中一些小的问题,相比SSL2.0更加成熟和稳定。1999年l月EITF基于SSL协议了TLS1.0(Transport Layer Security)版本,Netscape公司宣布支持该开放的标准。

SSL协议向基于TCP/护的客户/服务器应用程序提供了客户端和服务器的鉴别、数据完整性、及信息机密性等安全措施。该协议通过在应用程序进行数据交换前交换SSL初始握手信息来实现有关安全特性的审查。在SSL握手信息中采用了DES、MDS等加密技术来实现机密性和数据完整性,并采用X.509的数字证书实现鉴别。该协议已成为事实上的工业标准,并被关泛应用于Internet和Intranet的服务器产品和客户端产品中。如Netscape公司、微软公司、IBM公司等领导Internet/Intranet网络产品的公司已在使用该协议。

3 SSL协议的体系结构

SSL协议主要由两层组成,分别是握手协议层和记录协议层,握手协议建立在记录协议之上,此外还有警告协议、更改密码说明协议和应用数据协议等对话协议和管理提供支持的子协议。其组成如图所示:

握手协议HandshakeProtocol和记录协议Record Protocol是SSL协议的核心组成部分。其上是超文本协议HTTP、文件传输协议FTP和传输控制协议TELNET。它们控制文本的传输。支撑握手、记录协议的低层通信是用户数据报文和TCP/IP协议。

SSL发出消息是将数据分为可管理的块、压缩、使用MAC和加密并发出加密的结果。接受消息需要解密、验证、解压和重组,再把结果发往更高一层的客户。以下是两个主要协议的论述和分析。

1) 记录协议:具体实现压缩/解压缩、加密/解密、计算机MAC等与安全有关的操作。建立之上的还有:

更改密码说明协议:此协议由一条消息组成,可由客户端或服务器发送,通知接收方后面的记录将被新协商的密码说明和密钥保护,接收方得此消息后,立即指示记录层把即将读状态变成当前读状态,发送方发送此消息后,应立即指示记录层把即将写状态变成当前写状态。

警告协议:警告消息传达消息的严重性并描述警告。一个致命的警告将立即终止连接。与其他消息一样,警告消息在当前状态下被加密和压缩。警告消息有以下几种:

关闭通知消息、意外消息、错误记录MAC消息、解压失败消息、握手失败消息、无证书消息、错误证书消息、不支持的证书消息、证书撤回消息、证收过期消息、证书未知和参数非法消息等等。

应用数据协议:将应用数据直接传递给记录协议。

SSL记录协议原理如图2所示。

2) 握手协议:SSL握手协议是用来在客户端和服务器端传输应用数据而建立的安全通信机制。

―算法协商:首次通信时,双方通过握手协议协商密钥加密算法,包括数据加密算法和文摘算法。

―身份验证:在密钥协商完成后,客户端与服务器端通过证书交换,互相验证对方的身份,一般通过目录服务器的L DAP查询完成。

―确定密钥:最后使用协商好的密钥交换算法产生一个只有双方知道的秘密信息,客户端和服务器各自根据这个秘密信息确定数据加密算法的参数(一般是对称密钥)。

由此可见,SSL协议是端对端的通信安全协议,即数字通信安全管道。

4SSL协议的实现工作过程

4.1 SSL通信过程

基于OpenSSL的程序可以被分为两个部分:客户机和服务器,使用SSL协议使通信双方可以相互验证对方身份的真实性,并且能够保证数据的完整性和机密性。建立SSL通信的过程如图3所示。

SSL通信模型采用标准的C/S结构,除了在TCP层上进行传输之外,与普通的网络通信协议没有太大的区别,基于OpenSSL的程序都要遵循以下几个步骤:

1) OpenSSL初始化

在使用OpenSSL之前,必须进行相应的协议初始化工作,这可以通过下面的函数实现:

int SSL_library_int(void);

2) 选择会话协议

在利用OpenSSL开始SSL会话之前,需要为客户端和服务器制定本次会话采用的协议,目前能够使用的协议包括TLSv1.0、SSLv2、SSLv3、SSLv2/v3。

需要注意的是,客户端和服务器必须使用相互兼容的协议,否则SSL会话将无法正常进行。

3) 创建会话环境

在OpenSSL中创建的SSL会话环境称为CTX,使用不同的协议会话,其环境也不一样的。申请SSL会话环境的OpenSSL函数是:

SSL_CTX *SSL_CTX_new(SSL_METHOD * method);

当SSL会话环境申请成功后,还要根据实际的需要设置CTX的属性,通常的设置是指定SSL握手阶段证书的验证方式和加载自己的证书。制定证书验证方式的函数是:

int SSL_CTX_set_verify(SSL_CTX *ctx,int mode,int(*verify_callback),int(X509_STORE_CTX *));

为SSL会话环境加载CA证书的函数是:

SSL_CTX_load_verify_location(SSL_CTX *ctx,const char *Cafile,const char *Capath);

为SSL会话加载用户证书的函数是:

SSL_CTX_use_certificate_file(SSL_CTX *ctx, const char *file,int type);

为SSL会话加载用户私钥的函数是:

SSL_CTX_use_PrivateKey_file(SSL_CTX *ctx,const char* file,int type);

在将证书和私钥加载到SSL会话环境之后,就可以调用下面的函数来验证私钥和证书是否相符:

int SSL_CTX_check_private_key(SSL_CTX *ctx);

4) 建立SSL套接字

SSL套接字是建立在普通的TCP套接字基础之上,在建立SSL套接字时可以使用下面的一些函数:

SSL *SSl_new(SSL_CTX *ctx);

//申请一个SSL套接字

int SSL_set_fd(SSL *ssl,int fd);)

//绑定读写套接字

int SSL_set_rfd(SSL *ssl,int fd);

//绑定只读套接字

int SSL_set_wfd(SSL *ssl,int fd);

//绑定只写套接字

5) 完成SSL握手

在成功创建SSL套接字后,客户端应使用函数SSL_connect( )替代传统的函数connect( )来完成握手过程:

int SSL_connect(SSL *ssl);

而对服务器来讲,则应使用函数SSL_ accept ( )替代传统的函数accept ( )来完成握手过程:

int SSL_accept(SSL *ssl);

握手过程完成之后,通常需要询问通信双方的证书信息,以便进行相应的验证,这可以借助于下面的函数来实现:

X509 *SSL_get_peer_certificate(SSL *ssl);

该函数可以从SSL套接字中提取对方的证书信息,这些信息已经被SSL验证过了。

X509_NAME *X509_get_subject_name(X509 *a);

该函数得到证书所用者的名字。

6) 进行数据传输

当SSL握手完成之后,就可以进行安全的数据传输了,在数据传输阶段,需要使用SSL_read( )和SSL_write( )来替代传统的read( )和write( )函数,来完成对套接字的读写操作:

int SSL_read(SSL *ssl,void *buf,int num);

int SSL_write(SSL *ssl,const void *buf,int num);

7) 结束SSL通信

当客户端和服务器之间的数据通信完成之后,调用下面的函数来释放已经申请的SSL资源:

int SSL_shutdown(SSL *ssl);

//关闭SSL套接字

void SSl_free(SSL *ssl);

//释放SSL套接字

void SSL_CTX_free(SSL_CTX *ctx);

//释放SSL会话环境

4.2 SSL握手协议的工作过程

SSL协议的工作过程主要就是握手协议的工作过程。下面我们重点讲述握手协议的工作过程。图4是握手协议简化的握手顺序。

SSL协议具体握手过程描述如下:

―客户Client端发送ClientHello信息给服务器Server端,Server回答ServerHello。这个过程建立的安全参数包括协议版本、“佳话”标识、加密算法、压缩方法。另外,还交换两个随机数:ClientHello.Random和ServerHello.Random.用以计算机“会话主密钥”。

―Hello消息发送完后,Server会发送它的证书和密钥交换信息,如果Server端被认证,它就会请求Client端的证书,在验证以后,Server就发送H elloDone消息以示达成了握手协议,即双方握手接通。

―Server请求Client证书时,Client要返回证书或返回“没有证书的指示,这种情况用于单向认证,即客户端没有装证书,然后Client发送密钥交换消息。

―服务器Server此时要回答“握手完成“消息(Finished),以示完整的握手消息交换已经全部完成。

―握手协议完成后,Client端即可与Server端传输应用加密数据,应用数据加密一般是用第②步密钥协商时确定的对称加/解密密钥,如DE S、3DE等等,目前商用加密强度为128位。非对称密钥一般为RAS,商用强度1024位,用于证书的验证。

5 总结

SSL协议很好的解决了Internet上信息的安全传输,弥补了TCP/IP协议的不足,使得我们在网络上传输数据得到安全保障。SSL协议虽然得到了广泛的应用,但是它也存在了很多不足。SSL协议中引入了很多安全机制,如非对称密钥交换、数据加密、消息认证码MAC、身份认证等,因为用以保护数据的所有加密密钥都是通过masterSecret来产生的,故协议的所有安全几乎都依赖于masterSecret的保密,如果某个会话的masetrSecert被攻破的话,这个会话就会完全暴露于攻击之下。而且SSL协议不提供交易的不可抵赖性。对于电子商务应用来说,使用SSL可保证信息的真实性、完整性和保密性。但由于SSL不对应用层的消息进行数字签名,因此不能提供交易的不可否认性,这是 SSL在电子商务中使用的最大不足。有鉴于此,网景公司在从Communicator 4.04版开始的所有浏览器中引入了一种被称作"表单签名(Form Signing)"的功能,在电子商务中,可利用这一功能来对包含购买者的订购信息和付款指令的表单进行数字签名,从而保证交易信息的不可否认性。综上所述,在电子商务中采用单一的SSL协议来保证交易的安全是不够的,但采用"SSL+表单签名"模式能够提供较好的安全性保证。

参考文献:

[1] 顾兵.VPN技术在企业中的应用[J].中国海洋平台,2003(1):44-46.

[2] 懂洪伟,冯斌,杨开荞.VPN关键技术探讨[J].计算机工程,2002(11):159-161,177.

[3] Eric R.SSL and TLS Designing and Building Secure Systems[M].崔凯,译.北京:中国电力出版社,2002.

[4] 李均锐,戴宗坤,李哲,宋成勇.SSL协议及其安全性分析[J].信息安全与通信保密,2004(6):28-30.

ssl协议范文第2篇

关键词:SSL协议;安全套接层;安全性

中图分类号: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.

[2]卿斯汉.密码学与计算机网络安全[M].北京:清华大学出版社,2001.

[3] A.Frier,P.Karlton,and P.Kocher. The SSL 3.0 Protocol. Netscape Communications Corp. Nov 18,1996.

ssl协议范文第3篇

关键词:SSL;Web网站;网络安全

中图分类号:TP393文献标识码:A文章编号:1009-3044(2009)33-9195-01

SSL协议是NetScape公司于1994年提出的一个关注互联网信息安全的信息加密传输协议,其目的是为客户端(浏览器) 到服务器端之间的信息传输构建一个加密通道,此协议是与操作系统和Web服务器无关。同时, NetScape在SSL协议中采用了主流的加密算法(如:DES、AES等)和采用了通用的PKI加密技术。目前,SSL已经发展到V3.0版本,已经成为一个国际标准,并得到了大多数浏览器和服务器软件的支持。

1 原理与应用

1.1 SSL概述

SSL是提供Internet上的通信隐私性的安全协议。该协议允许客户端/服务器应用之间进行防窃听、防止消息篡改及防消息伪造的安全的通信。

TCP/IP是整个Internet数据传输和通信所使用的最基本的控制协议,在它之上还有HTTP(Hypertext Transfer Protocol)、LDAP(Lightweight Directory Access Protoco1)、IMAP(Internet Messaging Access Protocol)等应用层传输协议。而SSL是位于TCP/IP和各种应用层协议之间的一种数据安全协议(如图1所示)。SSL协议可以有效地避免网上信息的偷听、篡改及信息的伪造。

SSL标准的关键是要解决以下几个问题:

1) 客户对服务器的身份确认:SSL服务器允许客户的浏览器使用标准的公钥加密技术和一些可靠的认证中心(CA)的证书,来确认服务器的合法性(检验服务器的证书和ID的合法性)。对于用户服务器身份的确认与否是非常重要的,因为客户可能向服务器发送自己的信用卡密码。

2) 服务器对客户的身份确认:允许SSL服务器确认客户的身份,SSL协议允许客户服务器的软件通过公钥技术和可信赖的证书来确认客户的身份(客户的证书)。对于服务器客户身份的确认与否是非常重要的,因为网上银行可能要向客户发送机密的金融信息。

3) 建立起服务器和客户之间安全的数据通道:SSL要求客户和服务器之间所有的发送数据都被发送端加密,所有的接收数据都被接收端解密,这样才能提供一个高水平的安全保证。同时SSL协议会在传输过程中检查数据是否被中途修改。

1.2 SSL的应用

从SSL 协议所提供的服务及其工作流程可以看出,SSL协议运行的基础是商家对消费者信息保密的承诺,这就有利于商家而不利于消费者。在电子商务初级阶段,由于运作电子商务的企业大多是信誉较高的大公司,因此这问题还没有充分暴露出来。但随着电子商务的发展,各中小型公司也参与进来,这样在电子支付过程中的单一认证问题就越来越突出。虽然在SSL3.0中通过数字签名和数字证书可实现浏览器和Web服务器双方的身份验证,但是SSL协议仍存在一些问题,比如,只能提供交易中客户与服务器间的双方认证,在涉及多方的电子交易中,SSL协议并不能协调各方间的安全传输和信任关系。

1.3 一次简单的SSL的通信过程

如图2所示,使用SSL建立安全连接的过程可以分为以下6个步骤:

1) 客户端将它所支持的算法列表和一个用作产生密钥的随机数发送给服务器。

2) 服务器从算法列表中选择一种加密算法,并将它和一份包含服务器公用密钥的证书发送给客户端;该证书还包含了用于认证目的的服务器标识,服务器同时还提供了一个用作产生密钥的随机数。

3) 客户端对服务器的证书进行验证(有关验证证书,可以参考数字签名),并抽取服务器的公用密钥;然后,再产生一个随机密码串,并使用服务器的公用密钥对其进行加密(参考非对称加/解密),并将加密后的信息发送给服务器。

4) 客户端与服务器端根据随机密码串以及客户端与服务器的随机数值独立计算出加密和MAC密钥。

5) 客户端将所有握手消息的MAC值发送给服务器。

6) 服务器将所有握手消息的MAC值发送给客户端。

2 总结

综上所述,对于B/S应用系统,SSL安全协议的使用可以保障保障在Internet上或者专有的局域网络中数据传输的安全,利用数据加密(Encryption)技术,可确保数据在网络上之传输过程中不会被截取及窃听。对于安全问题日趋严峻的网络环境来说,在用户数据比较敏感的Web网站中使用SSL安全协议,将极大的提高该网站的安全性,且减少不必要的经济损失。

参考文献:

[1] OpenSSL源程序与文档,2004.

ssl协议范文第4篇

IPSseVPN后的又一项VPN连接技术,它位于系统的应用层,介于远用户与内网服务器之间,控制二者的通信。SSLVPN技术可以使用户通过Web浏览器进行访问,这大大增强了使用者操作的便捷性,但频繁的访问也会给服务器数据带来安全隐患。该文主要对基于SSL协议的VPN技术进行介绍,对其安全优势及存在的安全隐患进行分析,为后续使用者提供参考。

关键词:SSL VPN技术;安全优势;安全隐患

1概述

随着互联网及移动设备的发展,通过公共网络访问局域网的需求越来越大,同时,安全性的问题也就越来越突出。用户对使用过程的可靠性、灵活性、安全性等方面也有了更高的要求。SSLVPN是解决远程用户通过公共网络访问内网数据的技术之一,与以往的IPSec VPN相比,它通过内嵌在浏览器中的SSL协议进行访问,从而不需要像传统IPSec VPN一样必须为每一台终端安全客户端软件,实现了访问的便捷性。

2SSLVPN的概念与特征

SSL(安全套接层)协议是一种在互联网上保证发送信息安全的通用协议,是目前在Web浏览器和服务器之间发挥身份认证和加密数据传输的重要协议。它位于TCP/IP协议与应用层协议之间,为各项数据通讯提供安全支持。

SSL协议可分为两层:SSL记录协议fSsL Record Protoc01):它建立在可靠的传输协议(如TCP)之上,为数据的传输提供数据封装、压缩、加密等功能。SSL握手协议(SSL Handshake Protoed):它建立在SSL记录协议之上,主要用于检测用户的账号密码是否正确,在实际的数据传输开始前,对通讯双方进行身份认证,交换加密密钥等。

VPN(“VirtualPrivate Network)即是虚拟专用网络,利用认证、加密、安全检测、权限分配等一系列手段来构建的安全业务网络。一个完整的SSLVPN系统主要由服务器、网关、客户端组成,服务器即是内网中所需访问的资源,客户端即是互联网中需要访问服务器资源的Web浏览器,网关即是SSL VPN服务器,是整个系统访问控制的核心。客户端通过浏览器发出请求,SSL VPN服务器收到请求后与客户端浏览器建立SSL安全连接,并代替客户端向所需访问服务器发出请求,服务器响应后SSLVPN将接收到的响应数据进行转换,通过SSL安全连接发送给客户端。

3SSL VPN的安全特征分析

3.1安全优势

SSL VPN是一系列基于web应用的传输协议,包括服务器认证、客户身份认证、SSL链路数据完整性及保密性认证等,@对于数据传输的安全性和保密性有着重要意义。

SSLVPN基于Web设计,主要通过互联网实现从公网到内网的访问。用户在登录VPN时要通过三层防护:第一层就是用户和主机服务器之间的安全验证,这一层主要验证用户的秘钥、安全证书是否正确,所登录服务器是否合法,确保服务器和个人信息不被泄露。第二层主要用多种算法来保护数据的安全性,SSL协议在主机服务器和用户之间建立一条安全隧道,通过隧道向用户传送数据。第三层是多重加密和验证技术,通过握手协议,检测用户的账号密码的正确性,在主机服务器和个人用户之间验证双方身份真实性,再通过记录协议打包数据,加密压缩数据包,发送过程中再次加密传输。

SSL VPN采用对称密码体制和非对称密码体制的加密算法进行加密,通过建立安全隧道保证信息传输的安全陛。访问采用takey文件从而在一定程度上减少了黑客对内网的安全威胁。并提供客户端和服务器端的双向认证,容易实现权限、资源等的控制。

3.2存在的安全隐患

对于该数据传输方式,可以较大限度保障数据和用户的使用安全,但此种方式并非无懈可击,由于SSLVPN采用Web服务器作为客户端,因此浏览器的安全性直接关系到SSLVPN的安全,浏览器的安全隐患也会成为SSL VPN的安全隐患,如果用户退出时只是关闭浏览器而并未关闭SSLVPN服务进程,或者用户在公共场所登录系统,就会增加用户资料的泄露风险。在建立SSL VPN连接时,蠕虫或其他电脑病毒也可能会通过建立的隧道感染内部服务器。

对于这些安全隐患,SSL VPN也逐步引入了令牌或短信认证、用户端无操作将强制下线等手段,管理员也可以对用户按角色进行划分,根据不同角色确定不同的资源访问权限,最大限度避免用户端的安全风险。在数据传输过程中,也可以通过不断提高应用层过滤技术来抵制病毒风险等。

4 SSL VPN的应用

由于SSL、VPN操作的便捷性和使用的安全性,越来越多的行业都逐步开始使用SSL VPN。用户通过Web浏览器就可以访问内部网络,这使得用户可以随时随地通过任意一台电脑,或者通过其他移动设备时进行内部业务数据的访问。

部署SSL VPN服务器时即是部署在内网的边缘,介于服务器与远程用户之间,是远程用户访问内网的大门,控制二者的通信。当用户通过电脑或其他移动设备远程访问内网时,则先通过互联网向SSLVPN服务器发出请求,也就是认证步骤,通过认证后,SSL VPN服务器根据访问者的身份权限建立连接,使其可以并仅可以访问允许的服务器数据。

在传输过程中,SSL VPN服务器仅是一个数据的传输者,不会对用户数据进行解密,实现了传输过程的安全性和可靠性。

5总结

ssl协议范文第5篇

关键词:网络支付; 安全套接层; 安全电子交易; 电子商务; 支付系统; 电子钱包

中图分类号:F724.6 文献标志码:A

Internet payment system based on SSL and SET protocol

JIANG Zhihua

(Info. Eng. College, Shanghai Maritime Univ., Shanghai 200135, China)

Abstract: Internet payment is the bottleneck that restricts the development of E-Business. So the general internet payment system framework for bank card is introduced, and an Internet payment system based on Secure Socket Layer (SSL) and Secure Electronic Transaction (SET) protocol is proposed. And its payment flow and security are detailed and discussed.

Key words: Internet payment; secure socket layer; secure electronic transaction; E-Business; payment system; E-Wallet

0 引 言

网络支付方式是电子商务发展的关键要素.电子商务交易支付涉及支付安全和实现平台的统一,信息安全技术已经为网络支付研究出一系列安全加密及信息传输的技术规范,如以安全套接层(Secure Socket Layer, SSL)协议和安全电子交易协议(Secure Electronic Transaction, SET)为代表的网络支付协议及应用于网上的数字签名、用户论证等技术.本文结合SSL和SET网络支付协议及应用技术,讨论基于第三方运营的网络支付方式,发挥SET的严密性和SSL的简单直观性等特点,使网络支付系统构建体现资源整合、方便交易特色的统一支付平台.

1 网络支付模式

网络支付是指电子商务交易的当事人,包括消费者、厂商和金融机构,使用安全电子支付手段通过网络进行的货币支付或资金流转,对支付的要求是能够实现跨地跨行的交易支付快捷且安全,并保证银行之间、银行商户之间的资金结算准确无误.电子支付的方式主要有3类:一类是电子货币类,如电子现金和电子钱包等;另一类是电子信用卡类,包括银行磁卡、智能卡和电话卡等;还有一类是电子支票类,如电子支票、电子汇款和电子划款等.

在电子支付的3种基本支付方式中信用卡(银行卡)支付得到世界范围内的普及[1],能很好地解决小额在线支付结算中的安全问题,因此越来越多的人愿意接受并且喜欢利用信用卡进行网络支付.信用卡网络支付模式总体有下面4种.

1.1 无安全措施的信用卡支付模式

这种支付模式是指持卡人利用信用卡进行支付结算时,几乎没有采取任何技术上的安全措施而把信用卡号码和密码直接传送给商家,然后由商家负责后续处理的模式(见图1).这是在电子商务发展初期各方面都不太成熟,特别是银行对电子商务的支持还不完善的情况下出现的,风险由商家负责,安全性差,持卡人的信用卡隐私信息完全被商家掌握,支付效率较低.[2]

1.2 借助第三方机构的信用卡支付模式

为了降低在无安全措施支付模式中的风险,在买方和卖方之间启用1个具有诚信的第三方机构,这个机构持有持卡客户的信用卡账号信息用于与银行的支付结算,并负责将交易信息在商家和客户之间传递(见图2).这种方式对第三方机构的公正、信誉和操作规范有很高的要求[3],主要风险由第三方机构承担,安全性得到一定的保证;但由于并未发挥银行网络在支付中的作用,在提高安全性的同时支付效率没有得到提高,成本也较高,且不太适合小额的网上支付.

1.3 基于SSL协议机制的信用卡支付模式

这种方式为Internet环境下信用卡支付的典型方式(见图3):使用SSL作为安全会话,保护和防止Internet其他用户获取信用卡帐号等机密信息.交易多方身份验证机构认证中心(Certification Authority,CA)的作用是间接的,主要是为支付各方颁发证书.用户以明文方式输入其信用卡号,该卡号将被加过密的SSL会话发送给商家的服务器并转发给发卡银行.这种通过商家中转支付信息的SSL支付模式不能保证支付账户信息不被商家看到,所以改进的SSL支付模式就是客户浏览器与银行服务器之间直接建立SSL加密联接.SSL支付模式是应用最为广泛的网络支付模式,其特点是应用方便、成本较低、安全性高、市场产品成熟,国内大多数商业银行的信用卡网络支付系统都采用这种技术模式,绝大多数的网上商家均支持这种模式的信用卡应用.

SET协议是由Visa和MasterCard联合开发的1种开放性标准.SET协议可以让持卡人在开放网络上发送安全的支付指令和获取认证信息.SET主要用于兼容当前的信用卡网络,目前涉及的是B2C的电子商务交易.在交易之前,客户必须到相应的发卡银行柜台办理应用SET协议机制的信用卡,并下载安装持卡客户端软件(电子钱包软件),将信用卡相关信息添加进客户端软件,最后为其中的信用卡申请数字证书;同样,商户需到银行办理这类信用卡结算事宜,得到服务器端SET支持软件,并且从CA得到数字证书.作为银行网络与外部网的接口支付网关,也须得到数字证书的认证.在交易过程中,SET介入信用卡支付的全过程,由于加密、认证较多,支付处理速度相对SSL机制的信用卡支付稍慢,各方开销也大一些,但该协议设计得很安全,已经成为事实上的工业标准.[4]

2 基于SSL和SET的网络支付

2.1 网络支付原理

目前应用较多的SSL和SET机制各有优劣.SSL强调的重点在于实现网络支付的便捷性,即可以在任何1网的PC上进行网上支付(需要安全认证和数字证书的下载),但是用户必须遵循不同银行卡相对独立的支付规则,且针对银行的是特约商户,一般商户不能支持所有银行卡.而SET流程设计安全,一般利用安装在物理设备(用户PC硬盘)之上的电子钱包模拟实际购物,对于用户而言很直观也比较易用,但是移动性却因为需要安装电子钱包软件而丧失,每次网络支付都要安装电子钱包软件很不现实.

结合SSL和SET网上支付的优势,将安装在本地硬盘的电子钱包置于网络上,由独立的第三方(网络服务商)管理用户电子钱包,并使网上钱包与银行的前端接口――支付网关有机结合,这样用户在网上购物与支付时,以浏览器加密专用通道(即SSL)的方式使用SET机制的电子钱包功能.

2.2 网络支付流程

网络支付流程见图4.

从图4可知,利用网上钱包进行在线支付的大致流程如下:(1)申请电子钱包.客户要在网上钱包服务商处开通网上钱包功能,申请电子钱包并进行设置.一般情况下客户可以到柜台申请,也可以在线申请,成功后用户得到网上钱包的账号和密码.用户还需对自己的电子钱包进行设置,将信用卡及支付卡账号、密码等信息存入网上钱包的个人账户中,除此之外还应对电子钱包的保密性做设置.(2)使用钱包中的信用卡支付.网上钱包实际上是个统一的支付平台,用户在SSL会话界面输入自己的网上钱包账号和密码进入钱包系统,选择信用卡进行支付.此时SET介入其中,对于银行支付网关,可以是与网上钱包平台集成的统一支付网关,也可以是银行自身的支付网关.收单行扣款成功返还给网上钱包平台,再通过SSL通知客户支付成功信息.

3 网络支付的安全性讨论

网络支付给用户带来使用上的方便,而且SSL和SET的结合能够使支付交易的速度得到提高.SSL和SET协议在网络安全上根据不同的安全要求和级别采取相应的安全防范措施.同样,网络支付在应用中也采用诸如数字签名、数字信封和数字摘要等技术,使其安全性问题就在于第三方钱包运营商的公正性(如钱包用户基本信息的保密问题等)以及钱包用户身份合法性上.

前者应当强化第三方机构(服务商)的审核,可以在应用中由业界普遍认同的绝对公正的金融机构担任网上钱包的服务商,同时CA应适时地加以身份鉴证;技术上加强用户对钱包账户信息的自我控制,对钱包运营商的数据监控.对于后者[5],应加强密码系统的安全性,用户应注意账户信息的保密和密码的及时更新,必要时可以采用动态密码机制.另外将账户信息集成在存储设备(如智能卡)上,采用双重身份登陆方法,也是实现网上钱包个人安全登陆的好办法.目前,国内金融网络建设的“银联”模式就是这样的实际应用,“银联”是依托于银行卡跨行跨地的资金流转业务而产生的,除了提供银行卡方便的现金支取和消费刷卡之外,其技术优势可完全应用于网络支付,作为第三方的支付网关,代表众多商业银行的支付工具,已经实现在线支付的即时到账,各类具有银联标志的银行卡都能方便地完成网络支付,并且正得到越来越多的应用.

4 结 论

本文阐述的是基于SSL和SET相结合的网络支付系统,是权衡两者利弊的较佳方案.可以看到,网络支付依托的是传统的网络支付模型和工具,在系统构成上主要要素不变,这就说明已经成熟的网络支付协议及安全技术是支付系统的基础,而在支付方式的形式上有比较大的拓展空间,这要根据实际的支付环境来决定.在设计网络支付系统时,应充分考虑支付环境和交易的情况,做到安全和便捷的统一.

参考文献:

[1] 梁春晓, 安徽. 电子商务从理念到行动[M]. 北京: 清华大学出版社, 2001.

[2] 柯新生. 网络支付与结算[M]. 北京: 电子工业出版社, 2004.

[3] 张卓其. 电子银行安全技术[M]. 北京: 电子工业出版社, 2003.

[4] 尹美娟, 王中尚, 李梅林. 基于SET协议的网上支付系统研究和分析[J]. 计算机与现代化, 2003(11): 62-64.

ssl协议范文第6篇

[关键词] 电子商务 SSL协议 SET协议

一、引言

电子商务作为计算机应用技术与现代经济贸易活动结合的产物,已经成为人类跨入知识经济新纪元的重要标志之一。但美国的一个调查机构显示超过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更安全、更通用些。

四、结束语

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

参考文献:

[1]陈兵主编:网络安全与电子商务[M].北京:北京大学出版社,2002.1

[2]何长领主编:电子商务交易[M].北京:人民邮电出版社,2001

ssl协议范文第7篇

关键词:SSL协议;Kerberos机制;身份认证;密钥协商

中图分类号: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.

[作者简介]

郜盼盼(1989-),女,北京邮电大学,硕士,研究方向为无线传感器网络的安全机制等;贾庆轩(1964-),男,教授,北京邮电大学,博导。

ssl协议范文第8篇

关键词: 校园网;网络资源;SSL协议;VPN技术

中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2013)18-4203-02

随着当前各类高校及高职学校的校园网建设并投入使用,校园网的各种信息资源需要通过网络为身处不同地点的教师、学生及员工共享使用。当前许多高职院校均存在多个校区的网络构架,仅通过互联网络实现网络的联接,显然会存在较多的隐患,毕竟互联网是一个开放的使用TCP/IP技术实现网络连接和不可管理的互联网络。因此,如何解决位于不同校区的网络基础设施有可能互不兼容子网络实现安全的互联互通成为一个较为突出的难题。而这些在其他各类网络互联中的难题催生了VPN技术的出现。

1 VPN技术分类

VPN(virtual private network)技术是指利用网络资源临时建立一个安全的网络连接,或特定的网络通道将网络中物理上分布于不同区域的局域网络连接成为一个逻辑上的专门网络,一般VPN技术采用隧道技术、身份认证技术、数据加密技术以及密钥管理等关键技术来实施网络通信的数据安全性保护。

VPN技术根据实现技术的不同一般可以分为PPTP、L2TP、MPLS、IPSec、SSL等,其中,基于SSL协议的VPN技术是目前应用最为广泛的一种VPN技术。

2 基于SSL协议的VPN技术

一般来说,SSL协议是在客户端和服务器端之间建立安全通道的一种协议,该协议对通信双方身份进行认证同时对传输的数据进行保护。SSL协议通常是建立在如TCP协议这样的可靠的传输层协议之上,同时独立于应用层协议。高层的应用协议HTTP、FTP大多可透明地运行于SSL协议之上。

1)SSLVPN的实现原理。SSLVPN是一种数据包封装技术,一般采用SSL/TLS协议与加密算法、身份认证技术等构建VPN。虽然SSL协议不是为实现VPN而设计的,但SSL对VPN实现所需的数据加密、身份认证和密钥管理等提供了必要的技术支持。

在实现过程中,用户通过浏览器内建的Secure SocketLayer封包处理功能,连回到网络内部的SSLVPN服务器,采用网络封包转向的方式,让用户在远程计算机执行应用程序,读取网络内部服务器数据。SSLVPN一般采用标准的安全套接层(SSL)对数据进行加密,在应用层上保护数据的安全性。SSLVPN技术可实现用户安全的进行内部网络的访问。

2)SSLVPN的特点

其客户端支撑维护简单,大多基于SSL协议的远程访问不需要在远程客户端上安装软件就可以通过Web浏览器访问到企业内部的网络资源;还可以实现远程安全接入,通常在网络防火墙后设置一个SSL服务器在用户通过浏览器上输入URL后,该连接通过SSL服务器进用户身份验证后映射到相应的应用服务器上实现远程安全接入;SSLVPN还可对加密隧道进行细分,让网络用户不仅可接入互联网还可访问内部资源;SSLVPN还可穿越NAT和防火墙设备;能够较好地抵御外部系统和病毒攻击;在网络部署上灵活方便,因为SSLVPN一般部署在内网中防火墙之后,可以随时根据需要,添加需要VPN保护的服务器,不影响原有网络结构。

当然,SSLVPN技术也存在其认证方式仅有通过相应的证书来进行单向认证的不足之处。

3 SSL VPN在多校区校园网中的应用

多校区校园网一般是由于当前同于区域内的多所职业院校进行合并后形成的特色,一般校区分布在不同行政区域,有多个独立的校区,校区之间地理位置上不接壤等,一般为了实现几个校区之间的互联,多采用租用当地通信运行商的光线实现网络互联。

在此类校园网络中,其网络数据资源如电子图书馆必须要根据电子版权的有关版权保护规定通过安全和加密技术控制分发内容和途径,以防止非法的使用。在高职院校中多数电子资源都存在IP访问限制,其数据库资源多在资源提供商的服务器上。服务商一般采用访问者的IP地址认证来确认授权的用户的使用。因此校内的IP都可方便的使用相应资源,而校外的合法用户,由于在网络外部,其IP都不在范围内,就使得他们无法浏览所需的网络资源,这是一种可管理、可认证、安全的远程访问校园内部资源的解决方案, SSLVPN方案就解决了校外网用户访问校内网的数字资源的问题。同时,SSLVPN也极大的方便校园网中的应用理人员对设备的管理,对于一些简单的网络或资源故障,管理人员可以通过SSLVPN对相应的设备进行操作实现故障排除。并且SSLVPN在连接时采用了安全认证,也保证了数据传输时的安全。

总之,VPN技术使得未来网络中基于WEB访问的网络资源运行模式起到了极大的促进作用,其中SSLVPN技术也由于大量移动网络的应用而得以广泛的应用。

参考文献:

[1] 马淑文.SSL VPN技术在校园网中的应用与研究[J].计算机工程与设计,2008(11):5137-5143.

[2] 阳富民,刘军平.统一认证技术研究与实现[J].计算机工程与科学, 2007,29(2):124-126.

[3] 奥尼尔,冉晓旻.Web服务安全技术与原理[M].北京:清华大学出版社,2003.

[4] 戴宗坤,唐三平.VPN与网络安全[M].北京:电子工业出版社,2002.

[5] 张升平,曾理.数字化校园网的构架[J].重庆工商大学学报:自然科学版,2004,21(4): 380.

[6] 别牧,赵毅,袁柱.SSL VPN及基于校园网络的应用[J].重庆工学院学报:自然科学版,2006,20(2):110-113.

ssl协议范文第9篇

关键词:SSL;网络安全;应用

中图分类号:TP393.1 文献标识码:A 文章编号:1674-7712 (2013) 20-0000-01

一、引言

SSL VPN是解决远程用户访问敏感公司数据最简单最安全的解决技术。与复杂的IPSec VPN相比,SSL通过简单易用的方法实现信息远程连通。基于SSL协议的VPN远程访问方案的更加容易配置和管理,网络配置成本比起目前主流的IPSec VPN还要低许多,所以许多企业已经开始转而利用基于SSL加密协议的远程访问技术来实现VPN通信了。

二、SSL概述

SSL的英文全称是“Secure Sockets Layer”,中文名为“安全套接层协议层”。SSL协议的优势在于它是与应用层协议独立无关的,高层的应用层协议(例如:HTTP,FTP,Telnet)能透明的建立于SSL协议之上。SSL协议在应用层协议通信之前就已经完成加密算法、通信密钥的协商以及服务器认证工作。

三、SSL的工作原理

SSL协议建立在传输层和应用层之间,包括两个子协议:SSL记录协议和SSL握手协议,其中记录协议在握手协议下端。

(一)SSL握手协议

在SSL协议传送任何应用协议之前,都需要握手协议来协商安全参数。握手报文有三个字段.第一个字节指示报文的类型,接下来的三个字节指示以字节为单位的报文长度.后来紧接着报文的内容。

SSL握手协议有三个目的,第一是客户端与服务器就一组用于保护数据的算法达成一致:第二是它们需要确立一组由那些算法所使用的加密密钥;第三,握手还可以选择对客户端进行认证,SSL握手协议的主要过程有以下4个步骤:

(1)初始化逻辑连接,客户方先发出ClientHello消息,服务器方也应返回一个ServerHello消息。这两个消息用来协商双方的安全能力,包括协议版本、随机参数、会话ID、交换密钥算法、对称加密算法和压缩算法等。

(2)服务器方应发送服务器证书(包含了服务器的公钥等)和会话密钥,如果服务器要求验证客户方,则要发送CertificateRequest消息。最后服务器方发送ServerHeIloDone消息,表示hello阶段结束,服务器等待客户方的响应。

(3)如果服务器要求验证客户方,则客户方先发送Certificate消息,然后产生会话密钥,并用服务器的公钥加密,封装在ClientKeyExchange消息中,如果客户方发送了自己的证书,则再发送一个数字签名CertificateVerify来对证书进行校验。

(4)客户方发送一个ChangeCipherSpec消息,通知服务器以后发送的消息将采用先前协商好的安全参数加密,最后再发送一个加密后的Finished消息。服务器在收到上述两个消息后,也发送自己的ChangeCipherSpec消息和Finished消息。

至此,握手全部完成。双方可以开始传输应用数据。

(二)SSL记录协议

SSL记录协议用于传输SSL握手层的控制数据以及基于SSL通道传输的应用数据。记录协议在客户机和服务器握手成功后使用,即客户机和服务器鉴别对方和确定安全信息交换使用的算法后,进入SSL记录协议,上层数据被分割成若干数据块,还可以对原始数据进行压缩,并产生一个消息认证代码(MAC),然后将结果加密并传输。接收方接收数据并对其解密,校验MAC,解压并重新组合.把结果挺供给相应的应用程序协议。

四、SSL VPN的技术特点以及应用领域

下面从以下四个方面对SSL VPN的技术特点进行分析。

(1)客户端软件需求方面

SSL VPN通过标准网络浏览器,用户可以访问几类应用和资源。包括基于HTTP和HTTPS的应用和内部网。以及文件和文件系统,支持FTP和Windows网络文件共享。目前大多数的操作系统,都可以支持标准的浏览器,因此SSL VPN的可移植性很好。

(2)与防火墙的兼容性

SSL VPN与防火墙兼容性好。SSL VPN对网络设备透明,由于是在传输层之上进行安全处理,不存在穿越NAT等防火墙的问题,管理员只需开通防火墙的443端口即可满足SSL VPN的访问要求。

(3)访问控制

SSL VPN能进行细粒度的访问控制,对于SSL VPN,网络资源被作为对象,而用户的访问权限也是基于对象的,用户只能访问经过明确授权的资源。访问权限是自下而上的(逐个添加资源),而不是自上而下设置的(开放所有,然后逐个排除)。

(4)应用层的安全性

在应用层建立的通道可以防止病毒、蠕虫等经由网络层传输的威胁。另外,由于SSL VPN还可以起到服务器的作用,所有客户端访问都是由SSL VPN网关转发,而不能直接访问应用服务器,从而使服务器不易受到病毒、黑客等攻击,减少安全威胁。

五、总结

尽管SSL VPN技术存在着不足,但是SSL VPN通过特殊的加密通讯协议,被认为是实现远程安全访问Web应用的最佳手段,能够让用户随时随地甚至在移动中连入企业内网,将给企业带来很高的利益和方便。但SSL VPN只对通信双方的某个应用通道进行加密,而不对通信双方主机之间的整个通道进行加密。因此要实现网络到网络的安全互联,尤其是对安全要求极高的远程系统建议采用1PSEC VPN技术或IPSEC VPN和SSL VPN混合接入方式。

参考文献:

[1]Stallings W,著.杨明,胥光辉,齐望东,译.密码编码学与网络安全原理与实践(第二版)[M].北京:电子工业出版社,2001.

[2]Brown s,著.董晓宇,魏鸿,马洁,译.构建虚拟专用网[M].北京:人民邮电出版社,2000.

[3]欧阳凯,周敬利,夏涛.基于虚拟服务的SSL VPN 研究[J].小型微型计算机,2006,27.

[4]贾永杰.VPN隧道协议比较与分析[J].空军雷达学院学报,2003,6.

ssl协议范文第10篇

关键词:网上支付;SSL安全协议;信用卡支付流程

中图分类号: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介入结束;⑨发卡行传送支付确认信息商家服务器,商家组织发货;⑩发卡行与商家开户行进行资金清算。

初级SSL支付模式存在两个主要缺陷,其分别是:①客户的支付信息将被商家所获知;②缺少商家对客户的身份验证。基于上述两种原因,改良式的SSL信用卡支付模式应运而生,在这一模式中,商家生成的订单信息将经由客户端浏览器转发到发卡行的支付网关进行支付,有效地避免了原SSL模式下商家获知客户支付信息的缺点,其也是国内各大商业银行主要采用的模式。

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

上一篇:文件传输协议范文 下一篇:婚前财产协议范文