USB Key在PKI体系中的应用研究

时间:2022-08-30 12:09:26

USB Key在PKI体系中的应用研究

摘 要:信用卡安全关系到民生国计,频繁发生的信用卡盗用事件,给人们的生活造成了很大的困扰。从信用卡信息安全出发,对当今信用卡安全技术在PKI中的应用现状进行了研究,介绍了PKI技术原理、PKI的密钥存储方案以及usb key技术在实际pki应用中的安全特性,提出了对当今USB Key使用算法的理论性改进方案。利用时钟机制和一次一密原理,对USB Key的加密算法进行了改进,从而实现了加快运算效率及增强信息保密的效果。

关键词:信用卡;USB Key;PKI;时钟机制;一次一密

中图分类号:TP302 文献标识码:A 文章编号:16727800(2013)003003903

0 引言

近几年,我国信用卡安全事件频繁发生,出现了个人信息泄露、信用卡盗用、信用卡冒领等信息安全问题,信用卡信息安全领域警钟频敲。而随着电子商务的兴起,如何保证信用卡持有者的信息安全成为越来越重要的问题。目前,基于物理介质的身份认证已成为被广泛用来实现认证身份的手段,但其在使用过程中通常要结合其它技术。其中使用最为广泛的认证方式主要有5种:IC卡认证、用户名密码认证、动态口令卡认证、生物特征认证、USB Key认证。

PKI体系不只是一种简单的加密措施而是包含配套的软件及硬件、相关管理人员和协议的完整结构,PKI体系经典模型如图1所示。但现今仍无法建立一个可靠的信任体系,PKI实际上仍存在漏洞。

为了增进USB Key的安全性,保护持密钥者的财产安全。笔者在遵循PKI认证方式的基础上,分析了在PKI中被广泛使用的USB Key算法及其安全性,针对加密技术可能存在的缺陷,结合时钟机制和一次一密原理,提出了对当今USB Key算法的理论性改进方案。

1 PKI技术简介

1.1 PKI基础设施

PKI(Public Key Infrastructure)即公钥基础设施,是提供公钥加密和数字签名服务的系统,目的在于自动管理密钥和证书,保证网上数据信息传输的机密性、真实性、完整性和不可否认性。PKI采用证书进行公钥管理,通过第三方的可信任机构,把用户的公钥和用户的其它标识信息捆绑在一起,从而在网上验证用户的身份。一个PKI系统由证书认证机构(Certificate Authority)、注册机构(Registration Authority)、数字证书(Digital Certificate)、证书撤销列表(Certificate Revocation List)和公钥密码技术(Public Key Cryptography)组成。

1.2 PKI提供的安全服务功能

PKI提供的安全服务功能包括:

(1)身份认证。身份认证就是确认实体是自己所声明的实体,以鉴别身份的真伪。

(2)数据完整性。数据的完整性就是确认数据没有被修改,以确保收到的信息真实可信。

(3)数据机密性。数据机密性就是对数据进行加密,保证数据不被未授权的人获取。

(4)不可否认性。不可否认性是指发送方对数据来源的不可否认和接收方对接收后的不可否认。

(5)数据的公正性。公证服务即“数据认证”,就是认证中心CA的公证人证明数据是有效和正确的,这种公证取决于数据验证的方式。

除了上述PKI提供的核心服务外,PKI系统还提供一些附加服务如安全时间戳、特权管理等。这些服务虽然并不是任何PKI都具备的基本或本身固有的功能,但都建立在PKI核心服务基础之上。

1.3 密钥的存储方案

1.3.1 存储卡

存储卡只含有存储功能。由于不能确保发卡方的真实性和对持卡人的认证功能,因而使得这种卡不能被广泛使用。

1.3.2 智能卡

对于智能卡身份识别技术,最常见的是嵌有磁条的磁卡,但磁条上的记录容易被转录。因此,出现了内置芯片的智能卡,但这种智能卡通常要和配套的读卡器一起使用,成本高、携带不便,是这项技术的不足之处。

1.3.3 USB Key

USB Key又称电子钥匙,外形与普通的U盘类似。其将智能卡、读卡器的功能集于一身。但在使用时容易中病毒是该介质的一大缺陷。

2 USB Key技术在PKI应用中的安全特性

在PKI中客户端必须请求认证服务、询问证书和相关的撤销信息,并且高级的客户端还要完成密钥更新或者密钥恢复等操作。客户端不在服务网络体系内,它的任务是管理用户的证书以及与证书相对应的私钥,完成客户端功能。同时客户端通过标准的应用接口等和PKI体系中的各种服务器连接,完成各种实际操作。

图2中,USB Key通过RSA加密算法产生的密钥对分别作为独立文件在COS中存储,私钥不出硬件设备,公钥提交认证中心为其签发证书。持卡者的个人信息和公钥信息通过私钥进行签名运算,防止抵赖行为的发生。最后,通过生成的证书申请信息向CA服务器请求公钥证书。因此它应具有以下特点:

2.1 物理安全

物理安全是全面的安全结构中心。持卡者在物理上占有IC卡的计算平台,这是向全面安全机制迈进的一大步。这种情况下,对整个系统安全的攻击,就必须通过攻击运行中的系统部件或通过系统运行时获取的信息而得以实现。

USB Key内置USB控制器、微处理器、存储器。USB控制器负责识别PIN码,以及整个USB Key的驱动;存储器中存放着用户的认证信息,系统只能对其进行读操作,从而保证信息的安全存储;时钟用于对连接状态进行监测;微处理器负责处理Hash函数等的计算和控制。在使用时,USB Key通过USB接口和计算机连接,然后将认证信息发给认证方,系统结构如图3所示。

2.2 逻辑安全

(1)双因子认证:USB Key具有硬件PIN码保护,PIN码和硬件构成了用户使用USB Key的两个必要因素,即所谓“双因子认证”。用户只有同时取得了USB Key和PIN码,才可以登录系统。

(2)硬件实现加密算法:USB Key内置CPU或智能卡芯片,可以实现加解密运算在USB Key内进行,从而杜绝了用户密钥被黑客截取的可能性。一般支持RSA、DES、SSF33和3DES算法。

(3)具有存储功能:USB Key是带有flash闪存的智能计算设备,可以存储一些用户的机密信息,而这些数据信息是不可被复制的。

(4)实现身份认证的所需时间最小化:USB Key相当于包含线上和线下的加密方式,在线下自动生成子密钥。通过分布式工作可减少即时计算所花费的大量时间,从而提高会话效率。

3 理论性改进方案

3.1 传统加密方案

在USB Key中主要使用非对称加密算法进行数据加密,并添加单项散列函数来模拟一次一密。其核心思想是密钥扩展序列化,具体的实现过程可描述为: ①选择一种分组加密算法,该算法的密钥长度应远大于分组长度;②选择一种序列扩展方案;③随机产生一组随机数;④将序列中的某种状态作为分组密码算法的密钥;⑤将这组随机数随附于密文中。

正如上面过程所述,由于密钥序列是事先植入的,且每次密钥更新是由前一次扩展所得,所以如果已知加密算法,那么经过有限次的穷举分析后,密钥就会被获取。此外,由于增加了密文长度,即对短数据进行反复加密后,额外存储和传输的密文组将降低算法效率。虽然可考虑将随机长度降低为N,但是在经过大约2n2组密钥轮换后,就可能得到重复的密钥,从而导致密钥外泄,所以传统加密方案仍存在缺陷。

3.2 改进加密方案

针对传统加密方案中存在的问题,本文提出一种基于服务器端系统动态时钟理论上的一次一密口令模型。其实现过程如下:①C:初始密文,在用户被创建时由服务器随机分配的一串符合要求的密文,当然这串密文也可以由用户指定;②T1:用户上次登录的时间;③T2:用户上次退出的时间;④T3:用户本次登陆的时间;⑤Toff:用户上次退出到此次登陆之间驻留的时间Toff=T3-T2;⑥Ton:用户上次登录后的驻留时间;Ton=T2-T1;⑦F:对C、Ton、Toff进行加密的函数;⑧K:加密后的密文:K=F(C,Ton,Toff)。

由于USB Key中可内置存储器,所以可在存储器中保存C、T1、T2和用户ID这几个变量,当用户需要登录并进行安全认证时,只需插入USB Key,这时会由USB控制器自动识别,这样就可以直接在客户端上运行程序。

当用户登录时,USB Key从存储器中读取 F、C、T1、T2 ,并计算Ton、Toff,其实现流程为:

(1)USB Key中的内置微处理器首先截取现在系统时间T3(其系统时间的计算是由固化在内部的java时间算法完成), 然后分别计算出Ton、Toff;

(2)处理器再调用早已写好的函数F对C、Ton、Toff进行运算得到K;

(3)之后,客户端读取计算好的用户ID、时间T3和密文K,再传给服务器;

(4)服务器收到登录请求后,根据用户ID搜索系统表得到用户的初始密文,再搜索系统审计或系统日志,得到T1、T2,加上传送过来的T3,计算出用户的Ton、Toff;

(5)服务器计算F(C,Ton,Toff),得到服务器端的密文K1;

(6)服务器对K进行比较,若相同,则向客户端发出登陆确认,并把T3作为用户登录时间;若不相同,则不再对标有同一ID和T3的请求进行处理;

(7)客户端收到确认后,把T3的值赋给T1;

(8)当用户退出服务器时,服务器和USB Key分别记录退出时间T2。

3.3 改进优势

此解决方案中,不再由客户端来计算提供系统时钟,而是利用USB Key内置程序计算系统时钟,从而可以忽略网络时延。

由于每次T都是不同的,保证了不仅用户是一次一密,而且整体网络用户口令也是一次一密,进而极大提高了系统安全性。

由于客户端的Ton、Toff是在USB Key中计算出来的,不仅减轻了客户端的负担和降低了密码泄露的风险,而且大大增加了运行效率,提高了安全性和可靠性。

利用USB Key的优势,初始密文可以建立在符合安全原则的模型基础之上,固化在硬件中或是储存在程序内,所以不必担心会因人为疏漏而留下安全隐患。4 结语

总的来说,本研究主要做了如下工作:

(1)深入研究了USB Key的关键技术,分析了其逻辑安全及物理安全。

(2)深入研究了PKI的相关工作原理,分析了USB Key在PKI 中的实际应用。

(3)对现今传统模拟一次一密的加密算法提出了理论改进。

这种改进后的一次一密口令机制较好地克服了传统加密机制的根本缺陷,可更好地应用于如电子商务、网上银行等需要高保密的行业服务中,而且会大大提升运行效率、维护数据库安全、保护用户财产安全。

这种一次一密口令模型今后可应用于各种基于客户/服务器模式的收费网站,以及需要身份级别认证的政府网站、网上银行,甚至商场的移动付款等。 可以预期,随着人们对网络安全的重视, 这一基于动态时间的一次一密口令机制模型将被广泛使用。

参考文献:

\[1\] 严波,郭莉,潘棕强.基于USB Key的身份鉴别技术研究与应用\[J\].高性能计算技术,2005(6).

\[2\] 关振胜.公钥基础设施PKI及其应用\[M\].北京:电子工业出版社,2008.

\[3\] 关振胜.公钥基础设施PKI与认证机构CA\[M\].北京:电子工业出版社,2002.

\[4\] 沙亚清,孙宏伟,顾明.基于智能卡和指纹的电子报税认证系统\[J\].计算机工程,2007(14).

\[5\] 王贵智.基于安全COS的智能卡认证研究与实现\[D\].北京:北京交通大学,2008.

\[6\] 张玉安,冯登国.一种实用的仿一次一密分组加密方案\[J\].北京邮电大学学报,2005(2).

\[7\] STEVEN M, BOBROWSKI.刘建元,译.Oracle7客户/服务器计算机技术从入门到精通\[M\].北京:电子工业出版社,2005.

\[8\] SCHNEIER BRUCE.吴世忠,祝世雄,译.应用密码学\[M\].北京:机械工业出版社,2003.

上一篇:楼宇自动化智能照明系统的节能技术 下一篇:房屋建筑工程质量问题原因解析与预防对策