ssl协议范文

时间:2023-03-25 22:15:20

导语:如何才能写好一篇ssl协议,这就需要搜集整理更多的资料和文献,欢迎阅读由公务员之家整理的十篇范文,供你借鉴。

ssl协议

篇1

ssl协议建议开启,它能保证网上安全。

SSL(SecureSocketsLayer安全套接层)协议,及其继任者TLS(TransportLayerSecurity传输层安全)协议,是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层对网络连接进行加密,用于保障网络数据传输安全,利用数据加密技术,确保数据在网络传输过程中不会被截取及窃听。SSL协议已成为全球化标准,所有主要的浏览器和WEB服务器程序都支持SSL协议,可通过安装SSL证书激活SSL协议。

SSL证书就是遵守SSL协议的服务器数字证书,由受信任的证书颁发机构(CA机构),验证服务器身份后颁发,部署在服务器上,具有网站身份验证和加密传输双重功能。

(来源:文章屋网 )

篇2

关键词:SSL协议,中间人攻击,原理

 

SSL 是Security Socket Layer 的缩写,称为安全套接字,该协议是由Netscape 公司设计开发。使用SSL 可以对通讯内容进行加密,以防止监听通讯内容,主要用于提高应用程序之间的数据的传输安全。SSL协议分为三个子协议:

(1)握手协议,用于协商客户端和服务器之间会话的安全参数,完成客户端和服务器的认证。

(2)记录协议,用于交换应用数据,所有的传输数据都被封装在记录中,主要完成分组和组合,压缩和解压缩,以及消息认证和加密等功能。

(3)警告协议:用来为对等实体传递SSL的相关警告。

SSL协议的实现有Netscape开发的商用SSL包,还有在业界产生巨大影响的Open SSL软件包。目前在国内的金融系统中,广泛使用OPENSSL软件包进行应用开发。

网上银行因为考虑易用性,大部分采用单向SSL认证.单向认证 SSL 协议不需要客户拥有 CA 证书。X509数字证书是SSL的重要环节,CA证书的任务就是确保客户和服务器之间的会话,并且保证使用的密钥是正确的。缺少了这个重要的环节,SSL中间人攻击也就难免了。

现在的网上银行因为考虑易用性,大部分采用单向SSL认证,这正是SSL中间人攻击的理论依据。

对于SSL中间人攻击,以CAIN工具软件为例:

首先在SNIFFER窗口中进行一次本网段的扫描探测

很快找到所有当前跟在同一网段内的活动主机IP地址与其MAC地址的对应关系。今天我们要欺骗演示的实验对象是192.168.121.199,这是另一台的笔记本电脑IP地址。

获取到IP地址与MAC地址的对应关系后,继续到ARP的子窗口中,选择添加欺骗主机在窗口左边选中当前网络的网关IP地址就是192.168.121.129,窗口右边选中我们要欺骗的IP地址192.168.121.199,选中后直接确定生效。毕业论文,SSL协议。毕业论文,SSL协议。

然后在ARP-HTTPS的选择树中添加一个当前我们需要伪装的HTTPS站点,选择确定后CAIN会自动把这个站点的证书文件下载回来备用。毕业论文,SSL协议。

一切准备就绪后,就可以点击CAIN工具栏中的ARP模式开始工作了。毕业论文,SSL协议。CAIN软件在后台采用第一章的ARP欺骗攻击的方式将被欺骗主机与 HTTPS网站间的通讯切断,在中间插入我们伪造的证书给被欺骗主机,同时伪装成为中间人代替它与HTTPS站点通讯。CAIN在其中把所有的通讯数据包 进行加密解密再加密传递的过程,当然所有原始的访问行为在这一过程中都被我们获取到了。

对于被欺骗主机在实际打开IE访问中,感觉不到任何异常本地显示依然是安全的SSL128位加密,只是不知道所有的访问行为在CAIN中都可以VIEW的方式来查看到了。

在VIEW的窗口中我们可以查看到所有通讯的访问原始记录,包括此台笔记本的登陆帐号与口令信息。

网上银行存在的攻击风险归其原因是SSL协议使用不健全导致,安全的解决方案建立以PKI技术为基础的CA认证系统,加入已经在运行的可靠的CA。 CA体系建立或加入时,通过对网上交易系统的二次开发,将数字证书认证功能嵌入到整个网上交易过程中去,这将实现基于数字证书的身份认证、通信安全、数据安全和交易安全。

目前, USB Key存储证书的方式正逐步应用于国内的网银领域,也是公认的较为安全的身份认证技术。毕业论文,SSL协议。通过硬件USB Key进行证书的存储,加强对证书的安全保护,用户登录时必须将USB Key插入所操作的终端。毕业论文,SSL协议。利用USB KEY存储用户的私钥以及数字证书,实现对用户身份的安全认证。

篇3

[关键词] 电子支付 安全 ssl协议 set协议

网络和信息技术的不断发展和渗透,使得电子商务得到了飞速的发展。然而,电子商务在提供机遇和便利的同时,也面临着一个最大的挑战,即交易的安全问题。其中,安全协议是保证电子商务安全的核心所在。

目前,国内外使用的保障电子商务支付系统安全的协议包括:安全套接层协议ssl(secure socket layer)、安全电子交易协议set(secure electronic transaction)等协议标准。

一、ssl协议

ssl协议是netscape communication公司推出在网络传输层之上提供的一种基于rsa和保密密钥的用于浏览器和web服务器之间的安全连接技术。是对计算机之间整个会话进行加密的协议,提供了加密、认证服务和报文完整性。它是国际上最早应用于电子商务的一种由消费者和商家双方参加的信用卡/借记卡支付协议。

1.ssl协议提供的服务主要有

(1)用户和服务器的合法性认证;

(2)加密数据以隐藏被传送的数据;

(3)维护数据的完整性,确保数据能完整准确地传输到目的地。

该协议主要是使用公开密钥体制和x.509数字证书技术保护信息传输的机密性和完整性,它不能保证信息的不可抵赖性,主要适用于点对点之间的信息传输,常用web server方式,它包括:服务器认证、客户认证、ssl链路上的数据完整性和ssl链路上的数据保密性。对于电子商务应用来说,使用ssl可保证信息的真实性、完整性和保密性。

2.ssl协议的工作流程

(1)接通阶段:客户通过网络向服务商发送连接信息,服务商回应;

(2)密码交换阶段:客户与服务器之间交换双方认可的密码,一般选用rsa密码算法,也有的选用diffie-hellmanf和fortezza-kea密码算法;

(3)会谈密码阶段:客户根据收到的服务器响应信息,产生一个主密钥,并用服务器的公开密钥加密后传给服务器;

(4)检验阶段:服务器恢复该主密钥,并返回给客户一个用主密钥认证的信息,以此让客户认证服务器。

(5)客户认证阶段:服务器通过数字签名验证客户的可信度;

(6)结束阶段,客户与服务商之间相互交换结束的信息。ssl协议运行的基点是商家对客户信息保密的承诺。从ssl 协议所提供的服务及其工作流程可以看出,该协议有利于商家而不利于消费者。客户的信息首先传到商家,商家阅读后再传给银行,这样,客户资料的安全性便受到威胁。商家认证客户是必要的,但整个过程中,缺少了客户对商家的认证。在电子商务的初级阶段,由于运作电子商务的企业大多是信誉较高的大公司,因此这问题还没有充分暴露出来。但随着电子商务的发展,各中小型公司也参与进来,这样在电子支付过程中的单一认证问题就越来越突出。虽然在ssl3.0中通过数字签名和数字证书可实现浏览器和web服务器双方的身份验证,但是ssl协议仍存在一些问题,比如,只能提供交易中客户与服务器间的双方认证,在涉及多方的电子交易中,ssl协议并不能协调各方间的安全传输和信任关系。在这种情况下,visa和 mastercard两大信用卡公组织制定了set协议,为网上信用卡支付提供了全球性的标准。

二、set协议

set协议是1997年5月31日由visa和mastercard两大信用卡公司联合推出的一个基于开放网络的安全的以信用卡支付为基础的电子商务协议。它运用了rsa安全的公钥加密技术,具有资料保密性、资料完整性、资料来源可辨识性及不可否认性,是用来保护消费者在internet持卡付款交易安全中的标准。现在,set已成为国际上所公认的在internet电子商业交易中的安全标准。

1.set支付系统的组成

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

2.set协议的工作流程如下

在set协议介入之前,消费者通过因特网进行选货、下订单并与商家联系最终确定订单的相关情况、付款方式和签发付款指令。此时set协议开始介入,进入以下几个阶段

(1)支付初始化请求和响应阶段。当客户决定要购买商家的商品并使用电子钱包支付时,商家服务器上pos软件发报文给客户的浏览器电子钱包,电子钱包要求客户输入口令然后与商家服务器交换“握手”信息,使客户和商家相互确认,即客户确认商家被授权可以接受信用卡,同时商家也确认客户是一个合法的持卡人。

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

(3)授权请求阶段。商家收到订单后,pos组织一个授权请求报文,其中包括客户的支付命令,发送给支付网关。支付网关是一个internet服务器,是连接internet和银行内部网络的接口。授权请求报文通过支付网关到达收单银行后,收单银行再到发卡银行确认。

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

(5)支付响应阶段。商家发送购买响应报文给客户,记录客户交易日志,以备查询。之后进行发货或提供服务,并通知收单银行将钱从消费者的账号转移到商店账号,或通知发卡银行请求支付。

三、ssl协议和set协议的对比

1.ssl协议的优缺点

ssl协议是两层协议,建立在tcp传输控制协议之上、应用层之下,并且与上层应用协议无关,可为应用层协议如http、ftp、smtp等提供安全传输,通过将http与ssl相结合,web服务器就可实现客户浏览器与服务器间的安全通信。因此简便易行是ssl协议的最大优点,但与此同时其缺点也是显而易见的。首先,在交易过程中,客户的信息先到达商家那里,这就导致客户资料安全性无法保证;其次,ssl只能保证资料传递过程的安全性,而传递过程是否有人截取则无法保证;再次,由于ssl协议的数据安全性是建立在rsa等算法上,因此其系统安全性较差;最后,虽然ssl协议中也使用了数字签名来保证信息的安全,但是由于其不对应用层的消息进行数字签名,因此不能提供交易的不可否认性,这就造成了ssl协议在电子银行应用中的最大不足。

2.set协议的优缺点

由于set提供了消费者、商家和银行之间的双重身份认证,确保了交易数据的安全性、完整可靠性和交易的不可否认性,特别是保证不将消费者银行卡号暴露给商家等优点,因此它成为目前公认的信用卡/借记卡的网上交易的国际安全标准。但在实际应用中,set协议依然存在以下不足:

(1)set协议中仍存在一些漏洞。如:不可信的用户可能通过其它商家的帮助欺骗可信的商家在未支付的情况下得到商品;密钥存在被泄露的危险;存在冒充持卡人进行交易的隐患。

(2)set协议的性能有待改进。如:单纯支持信用卡,需要进一步适应借计卡的使用;协议过于复杂,要求安装的软件包过多,处理速度慢,价格昂贵;由于该协议的每一个阶段都要进行多次数据加密解密、签名、证书验证等安全操作,因此协议的交易时间过长,不能满足实时交易要求。

3.总结

由于ssl协议的成本低、速度快、使用简单,对现有网络系统不需进行大的修改,因而目前取得了广泛的应用。但随着电子商务规模的扩大,网络欺诈的风险性也在提高,在未来的电子商务中set协议将会逐步占据主导地位。

参考文献:

[1]徐震邓亚平:set的安全性分析与改进[j].重庆邮电学院学报,2005,17 (6),745~748

[2]马瑞萍:ssl安全性分析研究[j];网络安全技术与应用; 2001,12期,17~20

篇4

关键词: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.

篇5

关键词: 数据库; 安全; 握手协议; SSL记录协议层

中图分类号: TN915.08?34; TP311.13 文献标识码: A 文章编号: 1004?373X(2017)13?0098?03

Abstract: A database security proxy system based on SSL was designed to improve the security performance of database. The SSL security proxy interface is constructed in the system by virtue of the private communication capacity, user authentication capacity and data parameter validation capacity of SSL to provide the encryption and decryption of data and channel for user access demand, and prevent the lawbreaker attacking the database. The system function model taking the mandate agent, access agent and data agent as the main functions was constructed. The data communication process is given. The handshake protocol and SSL record protocol layer to implement the data communication are introduced. The experimental verification results show that the designed database security proxy model can effectively avoid the attack, and prevent the database private data being stolen.

Keywords: database; security proxy; handshake protocol; SSL record protocol layer

0 引 言

算机网络在信息化时代中占据了极其重要的地位,数据库是计算机网络信息的载体,但凡是信息系统都离不开数据库提供的信息存储与管理功能。数据库中含有的私密信息存储和通信漏洞为其安全带来了隐患,不同区域间网络服务器的地址存储不集中、用户权限管理不彻底、信息加密失误、远程跟踪检测不完善等漏洞都为不法分子对数据库的攻击提供了入口,数据库安全的建立是解决上述隐患的重要手段[1]。绝大多数的数据库都以用户口令为安全,这种方式虽然使用起来极其简单,但安全性薄弱,不法分子只需使用简单的攻击方式便能从中套用到信息密钥,而且随着用户与网络服务器之间的数据交互增多,信息密钥的丢失率也不断上涨,对用户的信息安全造成了不小的影响[2]。为了优化数据库安全性能,提出基于SSL(Secure Sockets Layer,安全套接层)的数据库安全系统。

1 SSL优势分析

SSL是一种用于计算机网络应用的安全协议,能够给出用户权限检测、信道数据检测和信息加密等多种类型的应用服务,在需要安全保卫的网络应用中出现几率颇高[3]。SSL构建于稳定的网络传输层中,使用时与网络应用层内的算法和功能互不干扰,可自动提供双向通道保密通信以及用户权限与密钥的认证[4]。图1为SSL结构图。

如图1所示,SSL拥有两个协议层,上层结构包括握手、加密参数修改、告警与应用数据四种协议,用来进行用户与网络服务器之间的信息传导、加密、协商与检测,通过检测的信息才能被记录到计算机应用中生成数据。下层包括SSL记录协议层、传输控制协议与地理位置三种并列协议,可对数据和信道进行封装、加密、解密和协议修正,并有避免重复攻击的能力[5]。经SSL处理过的信道具备下述数据保卫能力:

(1) 私密通信能力:数据收发者使用握手协议对数据进行加密,提供给用户加密流程及密钥,加密流程通常采取对称加密形式,默认的是数据加密标准算法。

(2) 用户身份验证能力:在握手协议的处理下,数据收发者也可进行非对称加密,也就是使用数字证书提供单向或双向的用户身份验证,默认的非对称加密算法是公钥加密算法。

(3) 数据参数验证能力:数据参数也就是数据完整性,使用的验证介质是鉴别码[6],鉴别码的理论基础是哈希函数,包括安全哈希算法和消息摘要算法。

SSL借助自身的保卫能力对数据库的安全能力进行研究,摒弃以往的明文密钥,改用私密密钥,对数据库的信道进行远程访问安全加密,并构建额外的信道增强数据库对不法分子攻击的防护能力,从根本上杜绝攻击,防止数据库私密信息被盗取。

2 基于SSL的数据库安全系统设计

以往的数据库使用网络服务器接收用户访问需求,存在极大的安全隐患,设计的基于SSL的数据库安全系统对用户访问需求进行管理,经验证无不良情况存在时,再将访问需求反馈给网络服务器,这些处理过程需要通过数据通信接口实现[7],管理访问需求的接口称为SSL安全接口,接口中存在两个数据收发端口,分别是用户端和服务端。

为了使设计的系统能够与多种类型的数据库进行互通,对安全接口进行封装,所用的技术是组件对象模型,方便进行维修和数据调用。用户端负责与提供用户访问需求的软件接口进行沟通,还提供了与网络服务器之间的交互端口[8]。服务端与数据库、用户端连接,能够处理用户端中的数据,并对数据库中的数据进行提取和写入,利用SSL将管理结果反馈给用户软件。

图2为基于SSL的数据库安全系统的结构,可见整个系统的工作流程均受到了SSL的监管,同时,系统的通信模块提供了两个通信接口,分别位于用户端和服务端。当用户需求接入到SSL安全接口后,用户端的通信接口将反馈出接收状态给用户,经服务端进行数据加密处理后,通信接口将反馈出数据管理状态给用户。用户将根据数据管理状态确定是否有进入到数据库的权限。SSL监管模块对系统所有的数据传输通道进行安全加密,通信接口每产生一次通信信号,SSL监管模块便进行一次安全加密。

图3描述了系统各模块之间的数据通信流程,用户软件从用户端中获取通信位置,使用通信位置向网络服务器传输用户访问需求。当网络服务器感应到访问需求,经SSL监管模块加密后的信道将访问需求反馈给通信模块,通过通信模块将访问需求传输到服务器。服务器对访问需求的完整性进行测试,不完整的访问需求代表此用户无数据库访问权限,SSL监管模块不会提供给此用户通信模块的通信密钥以及数据库密钥。完整的访问需求在用户进入到数据库之前便可完成对通信模块和数据库的SSL密钥验证。由于不法分子借助其他媒介进入数据库时不会产生SSL密钥验证结果,系统一旦检测到这一问题,将踢出不法分子,并记录IP地址。

3 数据库安全系统功能实现

3.1 系统功能模型

基于SSL的数据库安全系统为数据库初步定制的功能包括委任功能、访问功能和数据功能,各功能分别位于不同的等级中,如图4所示。

委任功能位于系统的第一等级,负责构建数据库与用户之间的访问链接和终止访问指令,向用户软件传输SSL安全接口的管理结果。由于位于系统的最前端,委任功能还负责存储信息,并向第二、第三等级分配任务;访问功能位于第二等级,负责整个系统的安全问题,包括用户访问权限验证、访问权限完整性以及数据与信道的加密和解密;数据功能位于最后的等级中,负责接收SSL安全接口管理结果,并向数据库发出数据调用请求,请求通过后还需要对用户调出的数据进行加密和解密。

3.2 基于SSL的通信模块功能实现

系统通信模块的各项功能都是由SSL提供的,在用户端与用户软件进行数据通信r,SSL先给出TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/因特网互联协议)请求[9],使用握手协议进行通信处理,验证数据收发者之间的身份,使用算法协商获得安全信道,在安全信道中进行数据转发和指令传输。在服务器与数据库进行数据通信之前,SSL把用户访问需求以加密形式调取出来,在SSL记录协议层中对用户访问需求进行解密,随后反馈到服务器,使用握手协议实现通信。从以上通信方式中能够看出,握手协议和SSL记录协议层是实现数据库安全的关键,表1对握手协议的信息流通方向进行了概括,图5给出了SSL记录协议层的数据加密结构。从表1和图5可以看出,握手协议的信息由SSL记录协议层加密为若干个私密结构的报文,私密结构主要包括各类型数据的长度和信道编号。

4 仿真实验

4.1 实验环境搭建

基于SSL的数据库安全系统的设计目标是保护数据库私密数据不被窃取,并减少攻击成功次数,下面通过实验验证本文系统对设计目标的实现情况。在数据库所处的网络状态下,不法分子普遍使用的攻击工具名为Sniffer[10],中文名为嗅探器,也称作抓包软件。Sniffer能够检测到任意网络时段中是否存在通信信号,具有监视网络状态、提取数据流量、诊断数据信号的功能,对于未经加密数据的攻击成功率和数据截获精度极高。

本次实验使用Sniffer搭建出三条数据库攻击通道,每条数据通道的攻击类型都不相同,攻击强度均设为最大。第一条通道模拟了数据库合法用户的IP地址,第二条通道已知合法用户的通信密钥,第三条通道已知合法用户的数据库密钥。三条通道的攻击次数均为1 000次。实验过程中不更改合法用户的IP地址和两种密钥,本文系统的实验对照组选择两款性价比较高的数据库安全系统,分别是SQL Server系统和ATE系统,实验在如图6所示的某大学实验室内进行。

4.2 结果与讨论

SQL Server系统、ATE系统和本文系统在三条数据库攻击通道中的攻击成功次数和私密数据窃取量如表2,表3,表4所示。实验结果表明,本文系统在合法用户的IP地址和通信密钥已知的情况下,不法分子无法对数据库进行成功攻击,私密数据窃取量为0M。在合法用户数据库密钥已知的情况下,不法分子的1 000次攻击仅有3次成功,但仍然无法获取数据库内的私密数据。相比SQL Server系统和ATE系统而言,本文系统表现出了非常优异的防护性能。

5 结 语

现有的数据库安全系统都不能为数据库提供优质的安全防护,本文设计了一种基于SSL的数据库安全系统,对数据库通信通道、用户验证通道和数据库数据进行了加密处理。从实验结果来看,本文系统能够从根本上保证数据库中数据的安全。

参考文献

[1] 姚华.常见数据库加密技术对比[J].计算机与网络,2015,41(14):36.

[2] 芦彩林,邹恒,何淑贤.网络入侵中未知协议识别单元的设计与测试[J].现代电子技术,2015,38(22):25?28.

[3] 丁瑞琦,张卫国.新型煤矿安全监控系统数据库密钥管理方法[J].工矿自动化,2015,41(8):93?95.

[4] LIANG K, MAN H A, LIU J K, et al. A DFA?based functional proxy re?encryption scheme for secure public cloud data sharing [J]. IEEE transactions on information forensics & security, 2014, 9(10): 1667?1680.

[5] 贺蕴彬.基于SQL Server数据库安全机制问题的研究与分析[J].信息安全与技术,2014,5(1):48?50.

[6] 崔翘楚,魏长安.信息化体系结构ATE软件开发平台设计方法[J].现代电子技术,2015,38(22):29?33.

[7] 姜珊.计算机数据库安全管理分析与探讨[J].科技创新导报,2015(26):195?196.

[8] 张帆,毋涛.基于云计算的服装物料管理系统[J].西安工程大学学报,2015,29(6):740?745.

篇6

1实践教学内容总体教学设计

网络安全协议这门课程涉及的重要知识点包括:网络安全协议的基本概念、TCP/IP协议簇的安全隐患、在不同协议层次上的安全协议的原理和实现、不同层次安全协议之间的比较、无线网络安全协议的原理和实现、安全协议的形式化分析基本方法等。网络安全协议无论从教学设计、验证,还是如何有效地应用来看都非常复杂。即使所采用的密码算法很强大,协议依然有可能受到攻击。网络上的重放攻击、中间人攻击能够绕过对密码算法的攻击,非常难以防范,此外,攻击者还有可能利用安全协议的消息格式进行“类型缺陷(typeflaw)”攻击。由于网络安全协议的复杂性,在实际教学过程中,若只是由老师空洞的进行讲解,大多数学生往往很难跟上讲课的进度,进而失去对此门课程的兴趣。目前常用的网络安全协议包括PPTP/L2TP、IPSec、SSL/TSL、HTTPS、SSH、SNMPv3、S/MIME、、PGP、Kerberos、PKI、无线网安全协议(IEEE802.11i,WTLS)等。让学生通过实践教学活动,理解并掌握安全协议的理论及应用,并在实践中增强自身的动手能力、创新能力是本课程的主要教学目标。本课程的实践教学将教学内容划分为4个阶段,认知阶段、体验阶段、应用阶段及总结提高阶段。通过这4个阶段,使学生由表及里、由浅入深、由学到用、由用到创,全面掌握各主要协议的原理、应用及教学设计;同时,通过对4个阶段的划分,更好地满足不同层次学生的需求,使学生学得更深、更透,用的更顺、更广,其创新思路也更易被激发和实现。

2SSL协议的实践教学实施

2.1认知阶段

本阶段的实践教学内容是通过利用Wireshark抓包分析工具软件,获取SSL/TSL协议通信流量,直观地观看SSL/TSL协议的结构、分析SSL/TSL协议的建立过程。在访问222.249.130.131时,采用Wireshark抓取的部分通信流量,如图1所示。第7~9条消息,完成TCP的连接。客户端首先在某端口向服务器端的443端口发出连接请求,完成三次握手。第10~12条消息,客户端首先发送Client-Hello等消息,请求建立SSL/TSL会话连接;然后,服务器端发送Server-Hello、证书等消息;接着客户端发送ClientKeyExchange、ChangeCipherSpec等消息。第13~15条消息,服务器端发出的响应和ChangeCipherSpec消息,以及客户端发出应答响应消息。至此表明连接已准备好,可以进行应用数据的传输。第16条消息是由客户端发出的与另外一个服务器端的连接请求消息,与所讨论内容无关。这种情形,在抓包分析时,经常会遇到,不必受此干扰。第17~18条消息,客户端和服务器端分别关闭连接。以后再进行SSL/TSL连接时,不必产生新的会话ID,也不必交换证书、预主密钥、密码规格(cipher-spec)等会话参数。每一条消息都可以进一步打开,观看更细节的内容。ClientHello消息的内容是对相应的二进制的内容的一个分析解释,如图2所示。其他消息的格式和内容也都可以清晰地呈现,在此不一一列举。通过对SSL/TSL流量的抓取分析,可以很直观地让学生掌握如下知识点:(1)SSL/TLS协议是建立在TCP连接之上的安全协议。(2)SSL/TSL连接和会话的概念,以及连接和会话的建立过程。(3)握手协议的执行过程,各消息的先后次序,及消息的格式和内容。(4)重要的消息参数及其作用,如sessionID、数字证书、加密组件(Ciphersuite)、加密预主密钥(Premaster)等。需要说明的是,上述内容没有涉及客户端发送的证书消息,只能通过证书完成客户端对服务器的认证,没有服务器对客户端的认证。事实上,SSL/TSL是可以通过数字证书进行双向认证的。

2.2体验阶段

经过认知阶段的理论与实践学习后,需要让学生了解和掌握SSL协议应用在哪里?如何应用?可以有效防范哪些安全威胁?本阶段的实践教学内容通过配置IIS服务器中的SSL/TSL,为Web服务器和浏览器之间建立一个安全的通信通道,使学生学习和掌握SSL在Web的应用中的配置和作用,从而对SSL协议的应用有一个直接的感受和体验。学生完成IIS服务器中的SSL/TLS配置,首先需要完成CA的安装与配置[3],用于数字证书的生成、发放和管理;然后,分别为IISWeb服务器和客户端申请、安装证书;最后在服务器上配置SSL,使客户端与服务器建立SSL/TSL连接,如图3所示。该阶段的实践教学,除加深学生对SSL/TSL的理解,还使他们学会了如何进行CA服务器的图3建立https协议的访问配置、Web服务器和客户端的证书的申请,以及CA服务器对证书的颁发、安装管理等。

2.3应用阶段

通过前2个阶段的实验教学,很好地配合了SSL的理论教学,使学生对SSL/TSL协议有了更深的认识和体验。本阶段的实验教学内容,将通过利用OpenSSL,实现一个简单的SSL服务器端和客户端[4],使学生具备利用SSL/TLS协议进行通信的编程能力。OpenSSL是一个开放源代码的SSL协议实现,具有一个强大的支撑函数库,主要包括三大部分,密码算法库、SSL协议库和OpenSSL应用程序。OpenSSL提供了一系列的封装函数,可以方便实现服务器和客户端的SSL通信。该阶段的工作量较大,通常在教师指导下,由学生分组自行完成。(1)OpenSSL的编译安装。这一步骤涉及下载和安装多个软件,版本也各不相同。包括不同版本的Openssl、Perl、VC++等。一般建议学生采用自己熟悉的系统和开发平台,安装新版的OpenSSL。(2)VC++编译环境的设置。目前的参考资料大都基于VC++6.0,我们采用的是VisualC++2010开发环境。网上有许多现成的源代码,但一般很难编译、调试或执行通过。我们建议学生可以参考已有的源代码,但一定要通过自己的编译、调试、改正,得到满意的运行结果。(3)生成服务器和客户端数字证书。SSL可以通过数字证书实现服务器和客户端之间的双向或单向认证。我们建议学生利用OpenSSL的证书生成命令行工具,自行完成一遍。这一步骤若出现问题,将直接影响以后程序的顺利执行。(4)SSL/TLS编程。首先建议学生采用OpenSSL的BIO连接库,建立一个简单的服务器和客户端,仅能完成简单的TCP握手连接和通讯;然后,再加入SSL握手功能,实现一个真正意义上的简单的SSL服务器和客户端。SSL/TLS客户端和服务器端程序运行结果,分别如图4和图5所示。通过该阶段的实验教学,一方面使学生熟悉如何利用OpenSSL工具编程,实现基于SSL的安全通信;另一方面使学生了解和掌握OpenSSL在安全方面的广泛应用,最终使学生在毕业设计和未来工作中,有足够的能力提出和实现应用安全方面的解决方案。

2.4总结

提高阶段通过前3个阶段的实践教学内容,再结合课堂上的理论教学,学生对SSL/TSL协议的原理、实现和应用都有了较深的认识。由于有许多研究和实践活动受各种条件所限,不可能全部列入教学实践的内容,这个阶段的主要任务是让学生通过他人对SSL/TSL协议的研究和应用,了解SSL/TSL协议在实际应用中还存在哪些问题、如何进一步完善,其目的是训练学生具备通过别人的研究和实践活动进行高效学习的能力,同时也让学生了解一个看似成熟的协议,还存在一系列的问题,这些问题有的是协议本身存在的,有些是在实际应用中产生的。我们通过提出3方面问题,让学生去通过查阅相关资料,自己进行总结。①SSL/TSL协议的存在哪些不足?②将SSL/TSL协议与应用层和网络层的安会协议进行比较,有哪些优劣?③通过一个实际的SSL/TSL协议的应用案例,说明SSL/TSL在实际应用中还存在哪些局限,应如何进行解决?教师可向学生推荐几篇参考文献[5-6]同时鼓励学生自己查询更多有价值的文献。在此阶段,教师和学生不断进行交流和讨论,对学生提出的问题以及业内新出现的热点问题,教师要通过不断的学习和提高给学生一个满意的答案。例如2014曝出的Heartbleed漏洞,涉及OpenSSL的开源软件包,而该软件包被网银、在线支付、电商网站、门户网站、电子邮件等重要网站广泛使用,所以漏洞影响范围广大。学生们对此漏洞非常有兴趣,作为教师要尽快查阅有关资料,了解此漏洞的产生的原因、有何危害、如何补救等。此漏洞虽然是OpenSSL的开源软件包程度存在的问题所导致的,与SSL/TSL协议本身无关,但是该漏洞的出现,提醒我们即使协议本身是安全的,在实现协议的过程中仍可能出现不安全的因素,导致安全漏洞的产生。

3实践教学效果评价

实践教学方案的教学设计是否可行和有效,需要在实际教学过程中进行检验。该实践教学方案是在多年教学基础上不断总结而教学设计的,并已在2013和2014年度的网络安全协议课程的教学中进行了实施。我们根据学生的反馈、表现以及实际教学效果,对方案的内容、难度以及方法也做了相应的调整。在方案实施过程中,教师要多与学生沟通,对所布置的作业认真检查,关注并统计学生是否有兴趣、是否努力,学生的技能是否得以改善,学生完成的情况、学生的满意度等各项指标。从对各项指标的统计来看,大部分学生对该实践教学方案比较认同,也取得了很好的效果,其中有几位学生还在毕业设计中选择了相关的毕测试。上述文档将整个测试过程显性化,实现了对缺陷解决过程的监控,有助于学生明确缺陷状态,评估所报缺陷的准确性,完善现有图式,促成自我反思与实践反馈。测试所涉及的文档和源码都将编号归档,统一存放于配置管理服务器,归档的文档被冻结,不允许修改。这些文件记录了缺陷的整个解决过程,为后期分析问题、完善解决方案、改进工作流程、反思教学设计提供了重要依据。

4结语

篇7

根据WoSign最新推出的“SSL证书免费健康体检系统”的测试结果表明:我国所有已经部署了SSL证书的网银系统和第三方支付系统的服务器都有不同程度的SSL安全配置问题(有些甚至囊括了所有已知的安全漏洞),主要涉及以下几个方面的问题:

1.许多网银网站都没有关闭不安全的传统SSL通信重新协商机制,更谈不上补漏支持安全重新协商机制了。

美国信息安全专家Marsh Ray与Steve Dispensa于2009年9月份公开了他们发现的TLS/SSL协议的安全漏洞,攻击者可以利用这种漏洞劫持用户的浏览器,并伪装成合法用户。由于TLS协议中的密钥再协商功能使得验证服务器及客户机身份的一连串动作中存在前后不连贯的问题,因此给了攻击者可乘之机。不仅如此,这种漏洞还给攻击者发起Https攻击提供了便利,Https协议是Http与TLS协议的集合体。

发现这一漏洞之后,两位专家很快将其报告给了网络安全产业联盟(ICASI),该联盟由微软、诺基亚、思科、IBM、英特尔和Juniper公司创立,同时他们还将其报告给了互联网工程任务组(IETF)以及几家开源的SSL项目组织。2009年9月29日,这些团体经过讨论后决定推出一项名为Mogul的计划,该计划将负责修补这个漏洞,计划的首要任务是尽快推出新的协议扩展版,以修复该漏洞。

微软于2010年2月11日了第977377号安全公告《Microsoft 安全公告:TLS/SSL 中的漏洞可能允许欺骗》,要求用户在受影响的系统上采用禁用TLS和SSL重新协商支持的替代方法,以帮助保护连接到此类服务器的客户端,免被该漏洞所利用。同时,IETF于2010年2月了新的协议扩展版RFC 5746《Transport Layer Security (TLS) Renegotiation Indication Extension,TLS重新协商标识扩展》。各大服务器软件厂商也纷纷推出了支持此扩展协议的补丁,微软于2010年8月16日了此漏洞的补丁《MS10-049:SChannel 中的漏洞可能允许远程代码执行》,凡是允许自动升级的系统都会自动修复此漏洞,使得系统能支持新的TLS/SSL协议扩展项,即支持Secure Renegotiation (安全重新协商)。Apache服务器软件也提供了相应的补丁。

但是,这么重大的安全漏洞并没有引起国内部署了SSL证书的重要系统的重视和采取相应行动。所幸的是:如果服务器采用的是Windows Server系统并支持自动升级的话,微软已经自动升级和修复了此安全漏洞。但还有许多服务器软件并不支持自动升级功能,特别是被广泛使用的Apache服务器软件,必须人工升级到最新版。

2.有许多网站仍然支持不安全的SSL V2.0协议。

SSL V2.0协议是NetScape公司于1995年2月的,由于V2.0版本有许多安全漏洞,所以,1996年紧接着了V3.0版本。目前主流浏览器(IE、火狐、谷歌、Safari、Opera等)都已经不支持不安全的SSL V2.0协议。SSL V2.0协议的主要安全漏洞有:同一加密密钥用于消息身份验证和加密;弱消息认证代码结构和只支持不安全的MD5摘要算法;SSL握手过程没有采取任何防护,这意味着非常容易遭遇中间人攻击;虽然使用TCP连接关闭,以指示数据的末尾,但并没有明确的会话关闭通知(这意味着截断攻击是可能的,攻击者只需伪造一个TCP FIN,使得接受方无法识别数据结束消息的合法性即可)。

3.有些网站仍然支持不安全的40位和56位加密套件。

破解40位DES算法只需几秒钟,破解50位DES算法也只需几天时间,但破解128位3DES算法则需要0.25个10的21次方年才能破解,所以,Web服务器软件必须只能支持128位以上的加密套件,而关闭不安全的40位和56位加密套件。

4.有些网站的SSL证书和/或其根证书都是不安全的1024位公钥。

微软和火狐等将于2010年12月31日停止支持1024位公钥证书,并于2013年12月31日之前删除所有不安全的、低于2048位的根证书。为了服务器的安全,必须部署从根证书、中级根证书和用户证书整个证书链都是2048位或高于2048位的SSL证书。

5.许多网银系统都使用自签证书或其他不支持浏览器的SSL证书,几乎所有自签证书都存在以上安全问题,并且自签证书很容易假冒和受到中间人攻击。

为了重要系统的安全,千万不要使用自签的SSL证书,避免因此产生的巨大安全隐患和安全风险,特别是重要的网银系统、网上证券系统和电子商务系统,一定要选购专业证书颁发机构颁发的全球信任的支持浏览器的SSL证书,因为证书中许多环节的安全问题是一般的自签证书颁发系统都没有很好解决的技术问题。

6.有些网站的SSL证书安装时并没有安装中级根证书。

篇8

[关键词] SSL JSSE 电子商务 安全通信

随着Internet的发展,电子商务得到了广泛应用。由于电子商务具有降低商务活动成本、缩短交易时间、不受时空限制等优点,被越来越多的企业所认可和应用。然而,Internet上的安全威胁如来自“黑客”(hackers)的攻击、计算机病毒(Virus)、拒绝服务攻击(Denial of service Attack),以及网络系统的脆弱性和人的因素等,使得网上电子交易的安全性成为人们考虑的首要问题。普通HTTP、FTP等通信协议所发送的数据并不安全,它没有提供数据加密和客户端及服务器端的身份验证等功能,数据容易在网络上被截取而造成商业机密泄露。可见,如何在网上保证交易的公正性和安全性,保证交易双方身份的真实性,保证传递信息的完整性以及交易的不可抵赖性,便成为了电子商务发展的一个关键问题,也是电子商务中非常重要的一个研究内容,本文主要探讨了如何利用支持SSL安全协议的JSSE API类包,实现电子商务网络应用程序的安全通信。

一、SSL和JSSE API概述

在电子商务网上交易安全性研究中,目前已提出很多使用性强的协议,如SSH、PKI、SET、SSL等。其中安全套接层协议(Secure Sockets Layer,SSL)是部署最为广泛的安全协议之一,绝大多数商业浏览器和服务器都在其内部使用SSL来支持安全的web交易。SSL采用对称密码技术和公开密码技术相结合,在SSL客户机和服务器之间通过密码算法和密钥的协商,建立起一个安全通道。以后在安全通道中传输的所有信息都经过了加密处理,网络中的非法窃听者所获取的信息都将是无意义的密文信息。同时,SSL利用密码算法和hash函数,通过对传输信息特征值的提取来保证信息的完整性,确保要传输的信息全部到达目的地,可以避免服务器和客户机之间的信息内容受到破坏。最后,利用证书技术和可信的第三方CA(认证授权机构),可以让客户机和服务器相互识别对方的身份。为了验证证书持有者是其合法用户(而不是冒名用户),SSL要求证书持有者在握手时相互交换数字证书,通过验证来保证对方身份的合法性。

SSL协议的实现属于Socket层,处于应用层和传输层之间,由SSL记录协议(SSL RECORD PROTOCOL)和SSL握手协议(SSL HAND-SHAKE PROTOCOL)组成,如图所示:

在电子商务网络程序的开发中,由于Java的跨平台特性和安全特性而得到了广泛使用。同时,鉴于网络安全性的需求,Java也提供了许多支持网络安全协议的API,如Java安全性原则、Java身份验证和授权服务(JAAS)、Java加密扩展(JCE)和Java安全套接字扩展 (JSSE)。其中JSSE是主要支持SSL与TLS(传输层协议)网络通信安全的Java API软件包,它提供数据加密、客户端身份验证、服务器端身份验证和消息完整性等服务,并支持DES、DSA Public Key等加密算法。

二、JSSE API在电子商务中的应用

随着Internet信息技术的高速发展和个人、企业上网的迅速普及,企业WWW网站在商业活动中发挥着越来越大的作用,在信息时代,建立一个功能强大、界面美观的电子商务网站,建立电子商务系统平台等,对企业的发展是至关重要的。基于JSSE API的安全性,其技术可以应用到B2C(Business-to-Consumer,企业对客户)、B2B(Business-to-Business,企业对企业)、SCM(Supply Chain Management,供应链管理)、EAI(Enterprise Application Integration,企业应用系统整合)、Portal(门户网站)等电子商务类活动中。比如B2C是企业构建B/S模式的网页型网站,是为客户提供通过浏览器进行安全产品查询、网络订单、客户数据维护或网络付款等功能。尤其是利用JSSE API来开发支持SSL和TLS协议的HTTPS Secure Socket Web服务器。以下内容实现了电子商务中利用JSSE API包的功能开发网络程序的简要过程。

1.省略.ssl.SSLServerSocketFactory的方法public abstract ServerSocket createServerSocket(int port,int backlog,InetAddress IpAddress) throws IOException建立服务器端Secure Socket和SSLServerSocket,并以此侦听客户端的连接请求。其中参数port为端口号,一般SSL通信端口号HTTPS的为443;参数backlog表示SSLServerSocket客户端连接数,默认最大为50;参数IpAddress表示SSLServerSocket在建立时,会以本机的IP地址作为服务器端Secure Socket所需使用的IP地址。

(2)当服务器端侦听到来自客户端的连接请求时,则接收此请求并建立客户端的Secure Socket。即使用SSLServerSocket的accept方法接收客户端的连接请求,建立代表客户端的SSLSocket对象。然后通过getInpuStream方法和getOutputStream方法建立服务器端与客户端之间的输入/输出数据流通道,在此基础上可以利用Java输入/输出包中的数据流类的一般方法,用read方法完成读取从客户端发送来的信息或用write方法发送数据至客户端。

(3)当服务器端程序执行结束或客户端结束链接时,服务器程序调用SSLServerSocket的close方法关闭服务器端或客户端链接,以便释放资源。

2.省略.ssl.SSLSocketFactory的方法public abstract Socket createSocket(InetAddress[String] host, int port, [InetAddress clientAddress],[int clientPort]) throws IOException建立客户端Secure Socket和SSLSocket。其中参数host表示可设置服务器端的IP地址或主机名称。

(2)客户端与服务器端建立连接后,客户端向服务器端发送请求同时也响应服务器端发回的处理结果。客户端Secure Socket和SSLSocket对象利用方法getInpuStream和getOutputStream建立服务器端与客户端之间的输入/输出数据流通道,并可利用read方法和write方法和服务器端进行数据交流。

(3)当客户端结束与服务器端的链接时,调用SSLSocket的close方法关闭链接,释放资源。

3.测试JSSE API开发的应用程序

由JSSE API开发的支持SSL的Secure Socket网络应用程序,在执行前首先要设置其类路径CLASSPATH和Java安全性原则的Security Provider。而且在Java中测试时,对于RSA公钥的获取可暂时利用JDK提供的keytool,在命令方式下产生测试用的keystore文件,形式为:c:\>keytool genkey v keyalg rsa keystore keystore。

三、结论

本文分析了安全套接层协议SSL和对支持此协议的Java安全套接子扩展JSSE的功能,在此基础上,结合目前电子商务网络应用系统对安全性和可靠性的要求,用JSSE API分别实现了服务器端和客户端的搭建及安全通信过程。保证客户端认证、数据流加密,以及对数据库的访问限制等安全功能,从而有效地防范和抵御了连接中的攻击出现。

参考文献:

[1]陈 垦 沈 岳:JSSE在电子商务中的应用[J].长沙:湖南农业大学学报(自然科学版),2005.31(5)

[2]Sun Microsystems.Java Secure Socket Extension(JSSE)Reference Guide[EB/OL].java.省略/j2se/1.5.0/docs/guide/security/jsse/JSSERef Guide. 2005

[3]Harvey M Deitel,Paul J Deitel,Sean E Santry.高级Java 2大学教程(英文版)[M].北京:电子工业出版社,2004

[4]林 琪 卢 昱:使用Java安全Socket扩展包实现SSL[J].北京:装备指挥技术学院学报,2002.13(3)

[5]朱良锋 李 健 刘立辉 庄俊玺:JSSE访问带有未验证证书的HTTPS[J].北京:计算机与信息技术,2005

篇9

现代的身份认证技术正向智能化、密码化、多因素、大容量和快速响应方向发展。制约我国信息系统安全性提高的因素很多,缺乏高性能、低价位、适合中国国情的综合身份认证系统是一个重要因素。目前在身份认证方面较有特色的是以生物识别技术为基础的指纹识别仪,视网膜识别仪和面像识别仪以及基于公开密钥体制的CA身份认证技术、动态认证令牌等。其中由于动态口令身份认证技术相对投资少,使用方便可靠而逐渐成为身份认证技术的主流。

在动态口令身份认证的形式中,除了一般意义上基于数字签名的动态身份认证外,著名的保障通信数据安全的SSL协议同样也为我们提供了动态的客户身份验证机制

SSL (secure SocKet Layer)客户端认证

一、SSL协议及其密钥导出分析

SSL协议在结构上分为两个层次。底层为记录层协议(recorder protocol),实现对数据的加密,封装各种高层协议,高层由四个并行的协议构成:握手协议(handshake protocol)、密码格式变换协议(change cipher protocol)、报警协议(alertprotocol)、应用数据协议(application dataprotocol)。SSL协议基本流程如下:

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

3、服务器选中的加密算法、另一个随机数、服务器证书。

4、客户端对服务器证书验证,并产生称为Pre_master_secret的随机密码串,使用服务器公钥对其加密后,发回服务器。

5、通过密钥导出函数(KDF),客户端和服务器根据Pre_master_secret、client_random、Server_random,最终导出加密和MAC密钥组。

6、客户端将所有握手消息的MAc值发到服务器,完成握手过程。

7、服务器将所有握手消息的MAc值发到客户端,完成握手过程。

8、双方利用第四步所导出的密钥进行秘密通讯,交换数据。

9、发出close_notify警告消息来关闭SSL通讯连接,这样可以防止攻击者在其下的传输层上伪造TCP_FIN来进行截断攻击。

在交换了Pre_master_secret之后,由于每一种与SSL相关的实现都要将其扩展成其所专用的密钥,这时就需要使用一个密钥导出函数来实现这种扩展,而这个密钥导出函数(KDF)使用的是伪随机函数(PRF),其中的关键就是将Pre_master_secret扩展成master_secret,这是通过将KDF作用于Pre_master_secret、Client_random、Server_random来实现的:

Master_secret=PRF(Pre_master_secretMaster_secret,Client_random+Server_random)

然后,使用Master_secret为参数的PRF来生成各种加密和MAC算法所需要的密钥组:

Key_block=PRF(Master_sec ret,“keyexpansion”Server_random+Client_random)

二、SSL客户端认证的基本思想

通过以上分析,可知SSL既可以实现数据的加密通讯,又可以在PKl的基础上使用数字签名技术来实现对客户端和服务器端的身份认证。SSL中数字签名可以使用RSA和DSA,一般情况下DSA的签名速度会快一些,但验证时比RSA慢很多。

SSL连接通常情况下仅对服务器端进行认证,但如果服务器要限制某些授权用户才能使用的服务时,它也可以提供对客户端进行认证的机制。基本思想就是让客户端用其私钥对一些内容签名来实现的。通过供服务器发送一条CertificateRequest消息来进行初始化,客户端回应Certificate和Ce rtificateVerify。其中CertificateVerify包含了客户端用其私钥对握手消息的签名,服务器端用Certificate中的公钥证书进行验证。

如果客户端没有合适的证书,会发送一条不包含证书的Certificate消息,服务器端可以设置为让应用层来进行身份认证,或者发送一条警告消息handshake_failure,结束此次连接。

SSL客户端认证与动态口令身份认证

一、动态口令身份认证

动态口令身份认证是动态身份认证的一种,是现在研究较多并且技术相对比较成熟的认证方式,动态口令身份认证涉及的相关技术有Hash、数字签名等,其最基本的原理就是对由一个动态因子所产生的动态数据进行数字签名或Hash生成一个动态的应答。它克服了静态口令技术所固有的许多缺点,特别是对于分布式身份认证来说具有非常高的安全性。

动态口令身份认证的实现方式主要有挑战/应答方式和时间同步方式。作为动态的身份认证方式,必须有一个动态因子:对挑战/应答方式来说就是由触发事件(如登录)所产生的随机数一一挑战码:对时间同步方式来说就是时间的变化。

二、SSL客户端认证与基于数字签名的动态口令认证

1、动态口令认证的必要性

从以上分析,可以看出:基于PKI的动态口令认证和SSL的客户端认证都是通过数字签名来实现客户端的验证的,形式上也大同小异,但它们的区别还是明显的:

整个SSL握手的开销很大,往返次数多,流程复杂,特别是服务器端的系统资源要求很高。如果仅仅为了进行客户端的认证而使用SSL是不适宜的。

相对动态口令认证的硬件实现方式(如令牌)来说,许多SSL是在服务器主机运行的,SSL进程的存储空间占用的是主机的主存储器,因此除非SSL的实现是在独立的硬件中,否则象mastersecret这样的信息就可能被攻击者获取,例如:在许多操作系统上,当产生内存错误时就会向磁盘输出一个核心映象(coreimage),该映象包含有当时进程的整个存储状态,因此能够读取这些文件的人就能获取相关的秘密信息。

对大多数的SSL实现方式来说,客户端认证仅仅证明用户终端(设备u)的身份,而动态口令认证更加关注的是你这个人的身份,它们是互相补充的。

SSL位于安全套接层,是一种应用层下的安全方案,而动态口令认证是一种应用层的身份认证方式,它们在不同的层次上提供安全认证。

动态口令认证和SSL是相辅相成、密切相关的

任何一种身份认证系统仅仅是为身份认证而设计的,并不负责对内容的保密。特别是对于分布式的身份认证系统来说,没有加密系统的保护都是极不安全的,甚至是毫无意义的。攻击者只需窃听就可获取所需的信息,根本无需认证。反之,加密数据确可以很好的加强身份认证系统的安全性。

SSL就是一种很好的分布式安全解决方式,它不仅提供对信息流的保密,也提供单向或双向的身份认证。SSL也许是应用最广泛的安全协议,它和HTTP相结合应用时,就成为各种安全性的网站所使用的HTTPS。

尽管SSL最常见的用途是保护web的安全,但因其位于传输层和应用层之间一一安全套接层,所以它也可以保护FTP、SMTP,Telnet等应用层协议;虽然SSL经常应用在TCP之上,但实际也可应用在UDP之上(如微软的STLP和无线应用论坛的wTLS其实都是SSL的变种,所以SSL实际上是一种相当通用的协议。

篇10

ssl连接就是安全协议的链接。SSL(SecureSocketsLayer)及其继任者传输层安全(TransportLayerSecurity,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层对网络连接进行加密。

SSL为Netscape所研发,用以保障在Internet上数据传输之安全,利用数据加密技术,可确保数据在网络上之传输过程中不会被截取及窃听。一般通用之规格为40bit之安全标准,美国则已推出128bit之更高安全标准,但限制出境。

SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持。广泛地用于Web浏览器与服务器之间的身份认证和加密数据传输。

(来源:文章屋网 )