基于PKI的USBKey身份认证机制研究.doc_第1页
基于PKI的USBKey身份认证机制研究.doc_第2页
基于PKI的USBKey身份认证机制研究.doc_第3页
基于PKI的USBKey身份认证机制研究.doc_第4页
基于PKI的USBKey身份认证机制研究.doc_第5页
免费预览已结束,剩余2页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于PKI的USBKey身份认证机制研究杨涛 200820203340摘要:电子商务如火如荼的今天,网上支付的安全性问题被提到了锋尖浪口。如何对用户身份,金融信息进行安全传输?系统介绍了国内各银行大力推广的USBKey 技术。然后对USBKey 上主要认真模式PKI信息安全基础设施做了深入介绍。最后探讨了USBKey 实现的bois层本地访问控制和远程访问控制技术。关键词:USBKey;PKI;对称密码技术;非对称密码技术;全球经济一体化的迅速发展对商务活动形式提出了新的需求,二十世纪末展开的如火如荼的信息化建设为这一可能提出了基础支持,电子商务作为新商务活动形式,在整个经济活动中所占的地位越来越重要。但是在电子商务中安全支付一直是一个关键问题。目前在我国的电子商务活动中,尤其是B to C形式的电子商务中,银行普遍提供网上银行业务作为支付手段。在实际应用中,有3种常见的认证用户身份方法:1.用户账号+口令密码;2.银行卡或智能卡(IC卡);3.虹膜或指纹;虽然这些方法都可以提供认证服务,但每种方法都有自己的局限性。第1种方法使用起来简单、方便,但可靠性最差,一旦盗用者通过某种方式获得了他人的账号、密码,则该用户的切身利益将无法得到保障;后2种方法可靠性较高,但需要配备专用设备,体系结构复杂,价格过于昂贵,影响推广使用。于是今年来人们提出了USBKey的安全保障方法。1. USBKey相关技术:1.1 USBKey 简介1USBKEY是一个运行在具有USB接口的工作站上的令牌产品。它带有一个微型计算机系统,其工作原理相当于智能卡和读卡器的联合体。USBKEY提供了和智能卡相同的可靠性,安全性和简易性,同时还免去了使用加密密钥的复杂。基于USBKEY的身份认证方式是近几年发展起来的一种方便、安全、可靠的身份认证技术。它采用一次一密的强双因子认证模式,用户只有同时取得了USBKEY和用户PIN码,才可以置录系统,很好地解决了身份认证的安全可靠问题。USBKEY外形同普通u盘并无两样,但它的内部结构并不简单,它内置了CPU、存储器、芯片操作系统(cos)。USBKEY具有安全数据存储空间,可以存储数字证书、密钥等秘密数据,对该存储空间的读写操作必须通过程序实现,用户无法直接读取,其中用户密钥是不可导的,杜绝了复制用户数字证书或身份信息的可能性。USBKEY内置了CPU,可以实现加解密和签名的各种算法,并且加解密运算足在USBKEY内进行的,保证了密钥不会出现在计算机内存中,从而杜绝了用户密钥被黑客截取的可能性。1.2 USBKey 的认证方式基于USBKey的认证方式主要有本地身份认证和远程身份认证两种。1.2.1 基于USBKey的本地身份认证在这种应用环境下,认证过程是USBKEY和主机之间认证信息的交互。利用USBKEY进行本地身份认证时,USBKEY中除保存了用户的私钥和证书外,还可以包括CA(certificate authority)的证书2主机可以用CA的证书验证对方证书的真实性,再用对方的证书验证签名的真实性。这种身份认证过程是在本地环境下完成的,因此USBKEY中的证书很难具有时效性。例如USBKEY中的用户证书甚至是CA证书已经过期或者已经被撤消,而用户却没有得到通知,这样就导致了认证过程中主机和USBKEY持有者的信任关系不成立,这是难以避免的问题。1.2.2 基于USBKey的远程身份认证和基于USBKEY的本地身份认证相比,基于USBKEY的远程身份认证是远端的服务器和USBKEY之间的信息交互。由于远端服务器与主机相比更容易进行管理和维护,因此具有更高的可靠性。目前基于USBKEY的远程身份认证有两种应用模式:基于冲击响应的认证模式和基于PKI的数字证书认证模式。1.2.2.1 基于冲击-响应认证模式在这种模式中,USBKEY内置单向散列算法,预先在USBKEY和服务器中存储一个证明用户身份的密钥,当需要在网络上验证用户身份时,先由客户端向服务器发出一个验证请求。服务器接到此请求后生成一个随机数回传给客户端PC上插着的USBKEY,此为“冲击”。USBKEY使用该随机数与存储在USBKEY中的密钥进行单向散列运算得到一个运算结果作为认证证据传送给服务器,此为“响应”。与此同时,服务器使用该随机数与存储在服务器数据库中的该客户密钥进行单向散列运算,由于单向散列运算具有不可逆性,如果服务器的运算结果与客户端传回的响应结果相同,则认为客户端是一个合法用户。如图1所示。注:图1中“R”代表服务器提供的随机数,“Key”代表密钥,“X”代表随机数和密钥经过MD5运算之后的结果。1.2.2.2 基于PKI的数字证书的认证模式PKl(public key infrastructure)利用一对互相匹配的密钥进行加密、解密。基于PKI的“数字证书认证模式”可以有效保证用户的身份安全和数据传输安全。数字证书是由可信任的第三方认证机构数字证书认证中心(CA)颁发的一组包含用户身份信息(密钥)的数据结构,PKI体系通过采用加密算法构建了一套完善的流程,保证数字证书持有人的身份安全。而使用USBKEY可以保障数字证书无法被复制,所有密钥运算在USBKEY中实现,用户密钥不在计算机内存出现也不在网络中传播,只有USBKEY的持有人才能够对数字证书进行操作,安全性有了保障。由于USBKEY具有安全可靠,、便于携带、使用方便、成本低廉的优点,加上PKI体系完善的数据保护机制,使用USBKEY存储数字证书的认证方式已经成为目前主要的认证模式。2.PKI相关技术:2.1 PKI的基本概念PKI(Public Key Infrastructure)是基于公钥密码体制,提供公钥加密和数字签名服务等安全服务的具有普适性的安全基础设施。基础设施可以视为一个具有普遍适应性的基础,在遵循需要的原则下,使不同的实体都可以方便地使用基础设施所提供的服务。PKI作为一种信息安全基础设施,为整体应用系统中任何需要安全应用和服务的对象实体使用。它采用证书管理公钥,通过可信第三方的认证机构CA,把用户的公钥和用户其他信息(如名称、电子邮件、身份证号等)捆绑在一起,在公钥加密技术基础上对证书的产生、管理、存储、发布以及作废进行管理,并通过延伸到用户本地的接口为各种应用提供安全服务,包括认证、身份识别、数字签名、加密等。2.2 PKI提供的服务3 认证:认证服务即身份认证与鉴别,确认实体是自己所声明的实体,鉴别身份的真伪。由于CA认证中心的权威性,其颁发的公钥证书实际上代表了证书持有入的真实身份。甲乙双方在网上通信,甲要首先验证乙的数字证书的真伪,当乙把证书传送给甲时,甲用认证机构CA的公钥验证乙证书的数字签名,如果验证通过,则确定乙的证书是由CA颁发的。实体身份一旦认证,还可以和访问控制列表中的权限关联起来,决定能否进行访问控制。 数据完整性:数据完整性服务就是确认数据没有被修改,收到的信息真实可信。需要检查数据在传输或是存储过程中是否被篡改、信息是否被重放。提供数据完整性的一方和需要验证完整性的一方之间,需要通过数字签名技术和报文分解技术来实现。 数据机密性:数据机密性就是确保数据的秘密,主要是指发送方将信息经由接收方证书的公钥加密后的密文信息只能由接收方用自己的私钥解密,任何其他人想要恢复原先的信息都是很困难的,因为只有接收者拥有他自己的私钥。所以即使加密后的信息在传送过程中被他人截获,由于他无法获得接收方的私钥,就不能破解截获的信息。 不可否认性:不可否认性通常是指对数据来源的不可否认和接收后的不可否认。为了防止人们否认自己曾经做过的事情,PKI要求对所做的事情作数字签名,留下“指纹,以防事后抵赖。因为只有发起者知道自己的私钥,使其无法否认所做的操作。 公证服务:公证服务即“数据认证”,就是认证中心CA的公证人证明数据是有效或正确的,而“正确”取决于数据验证的方式。除了上述PKI提供的核心服务,PKI系统还提供一些附加服务如安全时间戳,特权管理等。这些服务并不是任何PKI都具备的基本或本身固有的功能,但都是建立在PKI核心服务上的。2.3 PKI常用密码技术:PKI是以公开密钥密码学为基础的,它用到了大量的密码学知识,相关的密码理论是PKI系统最重要的理论基础。下面主要介绍PKI中常用的几种密码技术。2.3.1 对称密码技术对称密钥的加密密钥和解密密钥相同。系统的保密性主要取决于密钥的安全性,必须通过安全可靠的途径将密钥送至接收端。通常情况下,有两个相关的函数分别用作加密和解密。如果明文用膨表示,密文用C表示,参数k为密钥,则加密函数E作用于M得到密文C,可以表示为Ek(M)=C。相反,解密函数D作用于C 产生M可以表示为Dk(C)=M。先加密再解密,原始明文恢复,可以表示为Dk(Ek(M)=M。此类密码系统的优点是加解密速度极快,远高于公开密钥密码系统,尤其在实施过程中,加密和解密算法互为逆运算,给硬件的设计带来了很大的方便。但是因为数据加密和解密使用同一个密钥,在目前网络通信双方互相无法见面的环境下,如何使通信双方都能够获得该对称密钥,让通信双方执行正确的加解密,是此类密码系统应用上的一个大问题。因此,对称密钥密码系统不适合直接应用在大范围的网络上(如目前的Interact)。2.3.2 非对称密码技术公钥密码体制于1976年由Diffie W.和Hellman M提出,他们首次证明了在发送端和接收端无密钥传输的保密通信是可能的,从而开辟了公钥密码学的新纪元。该体制的最大特点是采用两个密钥将加密和解密分开,私钥为用户专用,公钥可以在网络上公开。要从公钥或者密文分析出私钥在计算上是不可能的。任何人欲传送信息给接收方时,可将信息使用该接收方公布的公钥加密后传送给接收方。当接收方收到此加密后的信息,利用自己与此公钥对应的私钥解密密文。目前使用广泛的公钥密码体制主要是RSA,DiffieHellman(DH),DSA和ECC公钥体制。随着网络的发展和对ECC的深入研究,ECC的优势越来越突出。密码学界普遍认为,ECC将是最有发展前景的公钥算法。在某些强调速度的领域(如PDA、手机、智能卡等),ECC已经取代了RSA,成为通用的公钥加密算法。由此可见,ECC是公钥密码体制的趋势,更加适合未来网络安全的发展应用。由于目前几乎所有的PKICA系统默认的公钥体制都是RSA,所以,实现基于ECC公钥体制的P坨A系统是很有现实意义的。3.USBKey的实现3.1 USBKey的关键技术:心跳机制:用于实时监测用户是否在线,一旦失去心跳连接,立即中断服务!它包括两种类型,一是认证服务器与计算机之间的连接,二是计算机与USBKey之间的连接!为保证监测结果的可靠性,需采用多种心跳监测机制!惟一性:每个USBKey都具有一个惟一的ID号,该号码存在于USBKey芯片中,不可更改,以防止不法者假冒!用户信息:由用户的个人编码、用户的公钥、用户的私钥以及扰码按照一定的加密方式生成、记录在存储芯片中!除了用于表明用户的身份,还可以用于安全通信、数字签名等!读码:对USBKey内用户信息的读取需要获得授权,无授权者不能读取信息!写码:对USBKey内用户信息的改写需要获得授权,无授权者不能改写信息!安全通信:认证服务器与计算机之间采用安全的通信机制,防止认证信息被黑客监听!认证:用户信息被完整地发送到服务器端,由服务器端软件负责解密并对用户身份进行认证,确保认证结果安全、可信!3.2 BIOS层实现的USBKEY本地访问控制由于BIOS的模块化设计,它其中的大多数代码以模块化的形式存在,只有少量启动代码以单个文件形式存在,这种模块化的设计使其拥有了良好的可扩展性4。目前BIOS兼容的模块包括符合总线标准的两种模块,分别是ISA模块和PCI模块。计算机加电之后首先运行的就是BIOS,如果往BIOS里添加以上两种格式的访问控制模块,就能够被BIOS中断服务所调用,用以执行用户身份的认证。这种认证处于计算机启动入口处,且认证代码可以通过硬件对其进行读写保护,因此任何方法都无法绕开。访问控制模块需要UFI(unite function interface,统一功能接口)驱动的支持才可以实现对USB设备的访问5,为了保证访问控制模块能够在尚未进入操作系统的情况下读取到USBKEY中的用户信息、证书等数据,必须把访问控制模块的执行过程置于UFI驱动之后。而ISA和PCI模块在UFI驱动之前加载,因此将ISA或者PCI模块通过BIOS中断服务INT19H调用。该中断服务的中断向量返回后,BIOS将执行操作系统的引导过程,这样就可以保证ISA或者PCI模块被调用时UFI已经被驱动完毕。USB系统中主机端和设备端驱动都是由Windows等操作系统提供的,Windows等操作系统源码不公开,通过对USB系统结构进行分析后,向BIOS中添加驱动模块的方式实现USB系统的主机端和殴备端驱动6。图2表示的是USB系统结构7。在BIOS层实现的USBKEY访问控制除了能提供开机时的强身份认证,还能对主机进行实时监控,合法用户在登录系统之后由于其它原因离开时,只需将USBKEY拔除,系统将自动锁住屏幕,只有当合法的USBKEY插入并输入验证码之后,才能实现屏幕解锁8。3.3 BIOS层实现的USBKEY远程访问控制该方案在客户端BIOS中嵌入访问控制模块和远程通信模块,访问控制模块用以读取USBKEY中的用户信息、密钥等信息,远程通信模块用以实现远程通信协议栈。整套方案执行过程如下:访问控制模块将USBKEY中用户信息读取出来,在操作系统未启动之前,通过通信模块实现的远程通信协议栈与远程认证服务器进行通信9。PC将用户信息发送到远程的认证服务器进行身份认证,认证服务器通过检索该服务器管理的用户信息列表来判断当前用户是否合法,如果用广,是非法的,就反馈信息到客户端将客户端屏幕锁定。如果当前用户是合法用户,认证服务器继续将用户信息发送至策略服务器,策略服务器依据用户信息制定相应的策略,生成一个配置文件,并将该配置文件发送到客户端,保存在USBKEY中。当客户端进入操作系统之后,系统依据USBKEY中的配置文件对系统进行强制配置,这样就实现了BIOS层的用户身份认证和授权访问。该方案的流程图如图3所示。该方案执行的相应步骤:(1)开机,执行BIOS代码对系统进行初始化;(2)在BIOS对操作系统进行引导之前调用BIOS的中断服务并读取USBKEY中的用户信息传送至认证服务器:(3)认证服务器判断当前用户是否合法,用户非法则反馈信息至客户端,将屏幕锁定:(4)如果用户合法,则将用户信息传送至策略服务器,策略服务器根据用户信息制定相应策略,生成配置文件;(5)策略服务器将配置文件发送至客户端,并且保存到USBKEY中;(6)恢复中断向量,引导操作系统启动;(7)系统启动之后,依据USBKEY中配置文件对系统进行强制配置;(8)系统正常工作时,USBKEY如果被拔出,启动USBKEY的实时监控功能,锁定屏幕。BIOS中的远程通信程序与在操作系统上开发网络程序有很大的不同。BIOS系统的资源非常有限,而TCP/IP协议簇相当庞大,所以要对TCP/IP簇中的协议进行精简,确定哪些协议是必要的,哪些是多余的。在裁减TCPIP协议簇过程中。要遵守协议分层的体系结构、明确层间接口并保持系统的可靠性与安全性。该方案的优点:(1)在BIOS层实现身份认证,必须要有USBKEY才能登录。当计算机丢失时,有效防止从光驱,网络设备启动操作系统。(2)该方案集用户身份认证和权限授予功能于一体

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论