维普资讯 http://www.cqvip.com 基于PKI身份认证技术的研究与实现汤彬,等 基于PKI身份认证技术的研究与实现 Research and Realization of Identity Authentication Technology Based on PK 场 影 胡浩厌 匍任色 (上海工程技术大学计算中心,上海200336) 摘要:随着计算机网络技术的发展,全球信息化已经得到了前所未有的发展,但随之而来的安全问题也日趋突出。公钥基础设施 (PKI)作为一套完整的Intemet安全解决方案,现已成为信息安全技术的核心,同时它也是电子商务的关键和基础技术。从网络信息 安全的需求出发,基于PIG的非对称密钥加密,结合数字签名、身份认证、数字证书等安全技术,构建了基于USB Key的身份认证系 统,并将它应用于实际系统,已取得了良好的效果。 关键词:公钥基础设施中图分类号:TP309 数字签名 身份认证文献标志码:A 数字证书 非对称加密 Abstract:Along with the development of the computerized network technology,global information sharing reaches an unprecedented level, while the problem of ifornmation security becomes glaring accordingly.As an integrated set of Interoet security solution,public key infrastruc— ture(PIG)has been formed the kernel of ifornmation security technology.In addition,it becomes the critical and basic technology of electonic rcommerce.From the requirements of network information security,based on PKI asymmetic encryptrion and combining with the technologies of digital signature,identity authentication,digitl certaiifcate,the system of identity authentication based on USB Key is created and used in prac— tical applications wi山excellent result. Keywords:PIG【pubic key infrastructure)Digital signature Identity authentication Digital certiifcate Asymmetirc encryptmn 。一 u 5l函 等活动提供了设施、规则和政策。2000年4月,美国 国防部宣布要采用PKI安全倡议方案几年前我国的 。为解决Intemet数据传输的安全问题,世界各国进行了多年的研究,初步形成了一套完整的安全解决方 案一一公钥基础设施PKI(public key infrastructure)。 PKI建设就已开始启动,截至目前为止,在金融、政府、 电信等部门已经建立了多家CA认证中心。推广PKI 应用,加强系统之间、部门之间、国家之间PKI体系的 PKI技术是应用公钥理论和技术建立的提供信息安全 服务的基础设施。它以数字证书为媒介,结合对称加 密和非对称加密技术,将用户的公钥和用户的其他标 志信息(如名称、E-mail、身份证号等)捆绑在一起,通 过密钥和证书的管理,旨在为用户建立起安全、可靠的 网络环境。并且使用户可以方便地使用加密和数字签 名技术,从而保证所传输数据的安全性、完整性、有效 互通互联,已经成为目前PKI建设亟待解决的问题。 本课题从网络安全的需求出发,研究基于PKI的 非对称密钥加密、数字签名、身份认证、数字证书等安 全技术,设计并构建了基于USB Key的身份认证系统, 通过软件开发与硬件结合加以实现,并将其中的模块 应用于“网络资源使用的计费”和“企业信用担保信息 化管理系统”,实践证明已取得良好的使用效果。 性和不司否认性。 世界各国都十分重视PKI体系的建设与研究。如 美国政府在完成大量研究的基础上,已提出了带桥接 CA模式的联邦PKI(FPKI)体系,用于支持信息资源的 安全共享,为联邦政府部门和其他组织机构使用数字 证书技术实现信息系统安全、安全电子商务、安全通信 —— 1 问题的提出 认证(authentication)是防止主动攻击的重要技 术,也是保证信息完整性、有效性的技术。它既要鉴别 与之通信的对方身份是否真实,又要证实信息在传输 过程中是否被篡改、伪装、窜扰或否认。认证主要分 为:①实体认证,即验证信息发送者是真的,而不是冒 充的。它包括信源、信宿等的认证和识别;②消息认 证,验证信息的完整性,即验证数据在传输或存储过程 称身份认证),目前常见的认证方式主要有静态口令、 上海市教育委员会基金项目(编号:05NZ18)。 修改稿收到日期:2007—11—12。 19… …: 5 1- ̄ f-_ ̄ ,7自动化专业8 量 . 中未被窜改、重放或延迟等。对于实体认证(一般也 获学士学位,高级工程师;主要从事图形图像处理、网络安 ’…一 ……一~…………、 …一 .,全、数据库技术的研究。 1 6 PROCESS AUTOMATION INSTRUMENTATION Vo1.29 No.9 September 2008 维普资讯 http://www.cqvip.com 基于PKI身份认证技术的研究与实现动态口令、生物识别和PKI等。 ①用户名加静态口令是最常见的认证方式,也是 一汤彬。等 每个流程由相应岗位的人员完成,而且前期流程 数据的正确性会影响后续流程的执行。该系统中的有 关数据(包括原始录入数据与审核记录)具有很强的 机密性。因此,为保证数据传输过程不被伪造和篡改, 需要对数据进行加密。同时,为防止系统被非法登录, 以及实现操作的不可否认性(即数字签名),需要对工 种原始、不安全的身份确认方式。虽然它具有使用 方便、传输数据量小、服务器响应速度快、实现成本低 等优点,但在口令强度、验证、存储等方面存在严重的 安全隐患。通过口令猜测、线路窃听、重放攻击等手段 或外部泄漏等原因导致合法用户身份被伪造。 ②动态口令技术采用双因子认证的原理,用户首 先需要得到系统颁发的令牌,以及启用令牌的口令。 用户登录系统时通过输入令牌口令来启用令牌,而令 牌又会显示动态数字作为系统的登录口令。这种认证 方式比静态口令有着更好的安全性,但它存在只能进 行单向认证、不能对传输的数据进行加密、数据完整性 无法得到保障等安全风险。 ③生物识别是一种利用人体生物特征进行身份 认证的技术。该技术以指纹、声音、手迹、虹膜等人体 唯一的生物特征为依据,具有比较好的安全性和有效 性。但存在实现技术复杂、应用成本比高、数据的完整 性和机密性难以保证、认证信息可能在传输过程中被 截取和仿冒的安全隐患。 ④PKI是基于数字证书的认证方式,是适应网络 开放状态的一种比较完整的安全解决方案。随着PKI 技术的日趋成熟,许多应用中开始使用数字证书进行 身份认证与数据加密。数字证书是由权威公正的第三 方机构即CA中心签发的,以数字证书为核心的加密 技术,可以对网络上传输的信息进行加密和解密、数字 签名和签名验证,确保网上传递信息的机密性、完整性 以及交易实体身份的真实性、签名信息的不可否认性, 从而保障网络应用的安全性。 在本课题的研究以及后续应用型研究项目“网络 资源使用计费系统”和“企业信用担保中心信息化管 理系统”的设计过程中,我们认为PKI技术提供了很 好的解决方案,它确保了用户身份的真实性(实体认 证)和数据的安全性与完整性(消息认证)。以企业信 用担保中心信息化管理系统为例,政府为扶持中小企 业的发展,可以为企业提供资金信贷上的担保。为降 低信贷风险,信用担保中心需要对每笔担保业务进行 审核,审核流程如图1所示。 国 归档 务输入 工 保后 管理 图1 审核流程图 Fig.1 Flowchart of audit 《自动化仪表》第29卷第9期2008年9月 作人员进行身份认证。PKI可以很好地满足这些需 求 2解决方案设计与实现 2.1采用USB Key存储数字证书 目前,数字证书的存储介质可以采用软盘、硬盘、 Ic卡及USB Key等形式。虽然软盘具有价格便宜、便 于携带等优点,但容易损坏且被非法拷贝;硬盘存储一 般适用于不常更换电脑的用户,同时数字证书也面临 安全问题。使用Ic卡或USB Key就可确保安全性,因 为用户私钥是在Ic卡和USB Key中产生的,且私钥不 可导出。由于Ic卡需要有专用的读写器,使用起来比 较烦琐,而USB Key的即插即用特性,使之逐渐成为数 字证书存储的首选设备。 在本课题的研究过程中,采用EPASS 2000型 USB Key作为数字证书的存储介质,它结合了现代密 码学技术和智能卡技术,是一种保密的数据存储设备, 可以保证数字证书不被复制,并具有以下特点:①具有 强双因子认证。每个USB Key具有硬件PIN码保护, PIN码和硬件构成了用户使用USB Key的两个必要因 素。②带有安全的存储空间。USB Key具有8~64 kB 的安全数据存储空间,用于存储数字证书、用户密钥等 保密数据,该存储空间的读写操作必须通过程序实现, 用户无法直接读取,用户私钥也不可导出,证书安全得 到保证。③由硬件实现加密算法。USB Key内置智能 卡芯片,可实现PKI体系中使用的数据摘要、数据加解 密和签名的各种算法,运算操作在USB Key内进行,避 免了密钥被截取的可能性。 2.2系统设计思想 本课题研究的身份认证系统在B/S结构的网络环 境中实现(也可以很方便地改写成适用于C/S结构的 应用)。服务器安装了Windows Server 2003操作系统, 采用了其中的证书服务功能,服务端开发采用JSP+ JavaBean+Servlet的MVC架构,并以Apache Tomcat为 解析器。同时,通过c++调用CryptoAPI接口实现对 USB Key的操作(包括加密、信息摘要的生成等),并将 该模块设计成ActiveX嵌入Web页面。 以企业信用担保中心信息化管理系统为例,工作 17 维普资讯 http://www.cqvip.com 基于PKI身份认证技术的研究与实现汤彬。等 人员在提交审核数据时,不仅要对数据加密,而且要加 用户的身份。通过C++调用API接口实现ActiveX控 上相应的数字签名。前者用于保证数据的安全与完整 件,由该控件完成对USB Key的访问操作,以下是Ac 性,后者用于实现身份的认证和信息的不可否认性。 tiveX开发中的主要代码流程: 以下是数据传输与认证实现过程: HCRYPTPROV phProv=NULL; ①用户在客户端向服务器发出页面访问请求,服 HCERTSTORE hCertStore=NULL; 务器响应后,将嵌入ActiveX的Web页面发送到客户 PCCERTCONTEXT pCertContext=NULL; 端。如果用户是首次访问,则会提示安装ActiveX。 ②用户在表单中填写相关数据,在进行提交操作 ∥通过API获取USB Key上下文 时会激活ActiveX,它实现了用随机生成的会话密钥对 if(!CryptAcquireContext(&phProv,NULL,epsCSPNAME, 数据原文进行加密,从而生成密文。 PROV S LL CR ERIFYCONTEXT)、 ③ActiveX通过Hash散列算法从数据原文生成 ∥无法获取上下文(可能用户未在客户端插入USB Key) 返回错误信息 信息摘要,并调用USB Key中数字证书,将用户的私钥 else{ //尝试打开USB Key证书存储区 对信息摘要加密(实现数字签名),再用服务器的公钥 hCertStore=CertOpenStore(CERT_STORE—PROV—SYS・ 加密会话密钥。 TEM,0,phProv, ④通过提交操作,用户将密文、数字签名和加密 CERT_SYSTEM—STORE—CURRENT—USER,L“MY”); 的会话密钥发送到服务器。 if(hCertStore==NULL) ⑤服务器端程序用服务器私钥解密会话密钥,得 //USB Key证书存储区无法打开,返回错误信息 到会话密钥原文,再用会话密钥解密数据的密文,得到 else{ 原文。用相同的Hash散列函数对数据原文生成摘要。 if(CryptCreateHash(phProv,CALG—MD5,0,0, 以用户的公钥解密数据签名,通过比较信息摘要的一 &hHash)) {∥建立Hash散列表 致性得出数据是否可靠、安全。 ∥对数据进行Hash散列运算 由于公开密钥的加解密要用到大量的幂运算,计算 CryptHashData(hHash,(BYTE )szPassword,dw- 速度非常慢(计算时间约是对称加解密运算的100~ Length,0); while(pCertContext=CertEnumCertiifcateslnStore 1 000倍)。因此,用随机生成的会话密钥(对称密钥) (hCertStore,pCertContext)) 对数据进行加密,再将服务器公钥(非对称密钥)对会 {∥循环获取证书信息 话密钥进行加密。这样可以在保证数据安全性的同 dwNameLen=CertGetNameString(pCertContext, 时,提高运算效率。使用Hash散列函数是因为该类函 CERT NAME—SIMPLEDISPLAY—TYPE,0,NULL,—数能把任意长的输入数据串变化成固定长的输出串, NULL,0); 更为重要的是,输入数据串的任何变化将会导致输出 if(0==dwNameLen) //无法获得证书主题 数据串不可预测的极大变化。用户身份认证与传输信 else //获取证书上下文及有关信息 息加解密的流程如图2所示。 } ∥装载hKey的值 CryptDeriveKey(phProv,ulALG,hHash,CRYPT— EXPORTABLE,&hKey); ∥加密数据 CryptEncrypt(hKey,NO—HASH,LAST—DATA,0, pBuf,&datLen,buli.en)); CryptReleaseContext(phProv,0); } } 图2 身份认证与数据加解密流程图 CertCloseStore(hCertStore,0); Fig.2 Flowchart of identity authentication ∥关闭存储区,释放所有信息 and data encryption .…..} 2.3访问USB Key的软件实现 在系统开发中,除了实现服务端数据的加密、解密 3结束语 与认证功能外,我们采用了EPASS 2000型号的硬件 我们将设计的身份认证系统应用于“网络资源使 USB Key作为用户证书的存储介质,USB Key标志了 (下转第21页) 1 8 PROCESS AUTOMATION INSTRUMENTATION Vo1.29 No.9 September 2008 维普资讯 http://www.cqvip.com
高速公路汽车防撞系统的安全行车距离研究杨翠萍,等 取值为1.30~1.98 s。它取决于驾驶员反应的灵敏 射器,如超声波、微波雷达或激光发射器不断发射信 号,前车的反射信号通过本车接收器接收后送回处理 控制单元进行处理,软件算法将速度传感器实时采集 的当前本车的行车速度 进行运算,给出当前速度下 的安全行车距离d ,并将d与d 不断地进行比较,如 果两车车距小于安全距离,处理控制单元就会发出指 度,操作技术的熟练程度,还与驾驶员的年龄、情绪、身 体状况、车速及目标的状态等因素有关,其数据的选择 因人而定,很难准确确定。 ③轮胎与道路的附着系数 不同路面的附着系数如表l所示。 表1不同路面的附着系数 Tab.1 Adhesion toefficients of different road surface 令。指令发到执行单元,进行声光报警,提醒司机刹车。 5 结束语 综上所述,在综合分析影响行车安全距离的各 种因素的基础上,按照反应距离和制动距离两个物 理阶段,给出了在高速公路上安全行车距离的数学 模型,并进行了相关参数的设定方法和具体的实现 过程。在汽车防撞系统中,依据此公式计算的安全 行车距离进行实时监测与处理执行,具有很好的实 时性和准确性,对汽车防撞系统的产品开发具有一 定的指导意义。 参考文献 [1]连晋毅,华小洋.汽车防追尾碰撞数学模型研究[J].中国公路 学报,2005,7(3):124. ④系统调整系数研 为了安全,驾驶员要根据自己对安全效果的不同 要求来设置调整系数叼。如果比较保守,要选择叼值 大些。田取值范围为1.05~1.10,通常取1.10。 ⑤安全间距d 两车制动停止时应保持一定的间距d 以保证安 全。d 选择得是否合理,对系统的虚警率有一定的影 响。理想情况最小可以为0,但国内外的资料上一般 为2~5 m,出于安全考虑取为5 m。 [2]李晓霞,李百川,侯德藻,等.汽车追尾碰撞预警系统开发研 究[J].中国公路学报,2OOl,7(3):93. [3]战绪庶,王紫婷,战绪仁.一种汽车激光雷达自动防撞微机控制 系统的研究[J].兰州交通大学学报,2006,8(4):lOO. 4系统模型的实现过程 给定一个汽车防撞系统,根据各参数的影响因素和 [4]古维杰.浅谈同车道安全跟车距离确定的依据——高速公路上 防止“追尾”的数据关键[J].广东交通职业技术学院学报, 2005,12(4):38. 取值范围,设定相应参数:t=1.8 S; =1.10;d。=5 m。 在行车过程中,根据路面类型的不同,参照表1的数 据来设定轮胎与道路的附着系数 。行车过程中,汽 车防撞系统通过安装在本车前端的信号采集单元的发 [5]徐向田.安全距离与行车安全[J].汽车与安全,1999(4):37. [6]胡松柏.如何把握行车安全距离[J].农机安全监理,2002(1o):149. [7]应世杰.高速公路汽车防撞预警系统的开发研究[D].长安:长 安大学,2004. (上接第18页) 缺少的安全基础实施。 参考文献 [1]WILLIAM S.密码编码学与网络安全:原理与实践[M].3版.北 京:电子工业出版社,2004. 用的计费”和“企业信用担保信息化管理系统”。对于 这两种情况,前者传统的处理方式是通过在系统中注 册用户名和密码实现管理(有时也通过计费卡实现), 安全问题上存在隐患,如用户名和密码泄漏或被非法 盗用、用户抵赖等。后者由于对数据保密性要求比较 高,另一方面要求实现用户操作信息的不可否认性。 采用PKI认证与硬件USB Key结合的系统后,有效满 足了以上需求。 [2]谢冬青,冷健.PKI原理与技术[M].北京:清华大学出版社, 2004. [3]ANDREW N.公钥基础设施(PKI):实现和管理电子安全[M]. 张玉清,译.北京:清华大学出版社,2002. [4]关振胜.公钥基础设PKI与认证机构CA[M].北京:电子工业出 版社,2002. 随着Intemet的高速发展,防护与攻击之间的斗争 [5]宁宇鹏,陈听.PKI技术[M].北京:机械工业出版社,2004. 也将更加激烈,这就对网络安全技术提出了更高的要 求。可以预见,PKI作为一种安全的基础平台,是开展 信息网络业务、电子商务、网上银行、电子政务等不可 《自动化仪表》第29卷第9期2008年9月 [6]ADAMS C,LLOYD S.公开密钥基础设施——概念、标准和实 施[M].冯登国,译.北京:人民邮电出版社,2001. [7]MICHAELE,WHITMAN H,MATrORD J.信息安全原理[M].2 版.齐立博,译.北京:清华大学出版社,2006. 21