鉴定说明书认股鉴定表合同书调查报告市场调查自查报告调查表案例

最新文档

数字签名与CA认证技术


  文件类型:DOC/Microsoft Word  文件大小:字节

更多搜索:数字签名  CA  认证  技术  
第4章 数字签名与CA认证技术
本章要点
数字签名的实现方法
CA认证和认证产品
鉴别技术与方法
个人数字凭证的申请,颁发和使用
4.1 数字签名原理,种类与方法
4.1.1 数字签名原理
要想了解数字签名,应从电子签名开始.要理解什么是电子签名,需要从传统手工签名或盖印章谈起.在传统商务活动中,为了保证交易的安全与真实,一份书面合同或公文要由当事人或其负责人签字,盖章,以便让交易双方识别是谁签的合同,保证签字或盖章的人认可合同的内容,在法律上才能承认这份合同是有效的.而在电子商务的虚拟世界中,合同或文件是以电子文件的形式表现和传递的.在电子文件上,传统的手写签名和盖章是无法进行的,这就必须依靠技术手段来替代.能够在电子文件中识别双方交易人的真实身份,保证交易的安全性和真实性以及不可抵赖性,起到与手写签名或者盖章同等作用的签名的电子技术手段,称为电子签名.从法律上讲,签名有两个功能,即标识签名人和表示签名人对文件内容的认可.联合国贸发会的《电子签名示范法》中对电子签名做如下定义:"指在数据电文中以电子形式所含,所附或在逻辑上与数据电文有联系的数据,它可用于鉴别与数据电文相关的签名人和表明签名人认可数据电文所含信息";在欧盟的《电子签名共同框架指令》中就规定:"以电子形式所附或在逻辑上与其他电子数据相关的数据,作为一种判别的方法"称电子签名.实现电子签名的技术手段有很多种,但目前比较成熟的,世界先进国家普遍使用的电子签名技术还是"数字签名"技术.由于保持技术中立性是制定法律的一个基本原则,目前还没有任何理由说明公钥密码理论是制作签名的唯一技术,因此有必要规定一个更一般化的概念以适应今后技术的发展.同样,《中华人民共和国电子签名法》(以下简称《电子签名法》)中提到的签名,一般指的就是数字签名.所谓数字签名就是通过某种密码运算生成一系列符号及代码组成电子密码进行签名,来代替书写签名或印章,对于这种电子式的签名还可进行技术验证,其验证的准确度是一般手工签名和图章的验证无法比拟的.数字签名是目前电子商务,电子政务中应用最普遍,技术最成熟,可操作性最强的一种电子签名方法.它采用了规范化的程序和科学化的方法,用于鉴定签名人的身份以及对一项电子数据内容的认可.它还能验证出文件的原文在传输过程中有无变动,确保传输电子文件的完整性,真实性和不可抵赖性.
数字签名在ISO 7498-2标准中定义为:"附加在数据单元上的一些数据,或是对数据单元所做的密码变换,这种数据和变换允许数据单元的接收者用以确认数据单元来源和数据单元的完整性,并保护数据,防止被人(例如接收者)进行伪造".美国电子签名标准(DSS,FIPS186-2)对数字签名做了如下解释:"利用一套规则和一个参数对数据计算所得的结果,用此结果能够确认签名者的身份和数据的完整性".按上述定义PKI(Public Key Infrastructure)可以提供数据单元的密码变换,并能使接收者判断数据来源及对数据进行验证.
目前,实现电子签名的技术手段有好多种,前提是在确认了签署者的确切身份即经过认证之后,电子签名承认人们可以用多种不同的方法签署一份电子记录.这些方法有:基于PKI的公钥密码技术的数字签名;用一个独一无二的以生物特征统计学为基础的识别标识,例如手书签名和图章的电子图像的模式识别;手印,声音印记或视网膜扫描的识别;一个让收件人能识别发件人身份的密码代号,密码或个人识别码PIN;基于量子力学的计算机等.但比较成熟的,使用方便具有可操作性的,在世界先进国家和我国普遍使用的电子签名技术还是基于PKI的数字签名技术.所以,就现在来讲,电子签名就是数字签名.
4.1.2 数字签名的种类
1. 手写签名或图章的模式识别
即将手写签名或印章作为图像,用光扫描经光电转换后在数据库中加以存储,当验证此人的手写签名或盖印时,也用光扫描输入,并将原数据库中的对应图像调出,用模式识别的数学计算方法对将两者进行比对,以确认该签名或印章的真伪.这种方法曾经在银行会计柜台使用过,但由于需要大容量的数据库存储和每次手写签名和盖印的差异性,证明它不实用,这种方法也不适合在互联网上传输.
2. 生物识别技术
生物识别技术是利用人体生物特征进行身份认证的一种技术.生物特征是一个人与他人不同的唯一表征,它是可以测量,自动识别和验证的.生物识别系统对生物特征进行取样,提取其唯一的特征进行数字化处理,转换成数字代码,并进一步将这些代码组成特征模板存于数据库中.人们同识别系统交互进行身份认证时,识别系统获取其特征并与数据库中的特征模板进行比对,以确定是否匹配,从而决定确认或否认此人.生物识别技术主要有以下几种.
1) 指纹识别技术
每个人的指纹纹路是唯一的,并且终身不变,依靠这种唯一性和稳定性,就可以把一个人同他的指纹对应起来,通过将他的指纹和预先保存在数据库中的指纹采用指纹识别算法进行比对,便可验证他的真实身份.在身份识别确认的前提下,可以将一份纸质公文或数据电文按手印签名或放于IC卡中签名.但这种签名需要有大容量的数据库支持,适用于本地面对面的处理,不适宜网上传输.
2) 视网膜识别技术
视网膜识别技术是利用激光照射眼球的背面,扫描摄取几百个视网膜的特征点,经数字化处理后形成记忆模板存储于数据库中,供以后的比对验证.视网膜是一种极其稳定的生物特征,作为身份认证是精确度较高的识别技术.但使用困难,不适用于直接数字签名和网络传输.
3) 声音识别技术
声音识别技术是一种行为识别技术,用声音录入设备反复不断地测量,记录声音的波形和变化,并进行频谱分析,经数字化处理之后做成声音模板加以存储.使用时将现场采集到的声音同登记过的声音模板进行精确的匹配,以识别该人的身份.这种技术精确度较差,使用困难,不适用于直接数字签名和网络传输.
以上这种身份识别的方法解决的是"你是什么" (What you are),"你是谁",适合面对面的场合,不适合远程网络认证,不适合大规模人群认证.
3. 密码,密码代号或个人识别码
这里是指用一种传统的对称密钥加/解密的身份识别和签名方法.甲方需要乙方签名一份电子文件,甲方可产生一个随机码传送给乙方,乙方用事先双方约定好的对称密钥加密该随机码和电子文件回送给甲方,甲方用同样的对称密钥解密后得到电文并核对随机码,如随机码核对正确,甲方即可认为该电文来自乙方.这种方法解决的是"你知道什么"(What you know).适合远程网络传输,但不适合大规模人群认证,因为对称密钥管理困难.在对称密钥加/解密认证中,在实际应用方面经常采用的是ID+PIN(身份唯一标识+口令).即发方用对称密钥加密ID和PIN发给收方,收方解密后与后台存放的ID和口令进行比对,达到认证的目的.人们在日常生活中使用的银行卡就是用的这种认证方法.这种方法解决的是"你有什么"(What you have)和"你知道什么 "(What you know).适用远程网络传输,因对称密钥管理困难,不适用于电子签名.
4.基于量子力学的计算机
基于量子力学的计算机被称作量子计算机,是以量子力学原理直接进行计算的计算机.它比传统的图灵计算机具有更强大的功能,它的计算速度要比现代的计算机快几亿倍.所以量子计算机向目前采用的网络保密的密码技术提出了挑战.它是利用一种新的量子密码的编码方法,即利用光子的相位特性编码.这种密码与传统密码在被窃听破解时不留下痕迹不同,由于量子力学的随机性非常特殊,无论多么聪明的窃听者,在破译这种密码时都会留下痕迹,甚至在密码被窃听的同时会自动改变.可以说,这将是世界上最安全的密码认证和签名方法.但是,这种计算机还只是停留在理论研究阶段,离实际应用还很遥远.
5.基于PKI的电子签名
基于PKI的电子签名被称作数字签名.有人称"电子签名"就是"数字签名",其实这是一般性说法.数字签名只是电子签名的一种特定形式.因为电子签名虽然获得了技术中立性,但也带来使用的不便,法律上又对电子签名做了进一步规定,如上述联合国贸发会的《电子签名示范法》和欧盟的《电子签名共同框架指令》中就规定了"可靠电子签名"和"高级电子签名",实际上就规定了数字签名的功能,这种规定使数字签名获得了更好的应用安全性和可操作性.目前,具有实际意义的电子签名只有公钥密码理论.所以,目前国内外普遍使用的还是基于PKI的数字签名技术.作为公钥基础设施,PKI可提供多种网上安全服务,如认证,数据保密性,数据完整性和不可否认性.这些都用到了数字签名技术,这也是本章叙述的重点.
4.1.3 数字签名的技术实现方法
对一个电子文件进行数字签名并在网上传输,其技术实现过程大致如下:首先要在网上进行身份认证,然后再进行签名,最后是对签名的验证.
1. 认证
PKI提供的服务首先是认证,即身份识别与鉴别,就是确认实体即为自己所声明的实体.认证的前提是甲,乙双方都具有第三方CA所签发的证书,认证分单向认证和双向认证.
1) 单向认证
单向认证是甲,乙双方在网上通信时,甲只需要认证乙的身份.这时甲需要获取乙的证书,获取的方式有两种,一种是在通信时乙直接将证书传送给甲,另一种是甲向CA的目录服务器查询索取.甲获得乙的证书后,首先用CA的根证书公钥验证该证书的签名,验证通过说明该证书是第三方CA签发的有效证书.然后检查证书的有效期及检查该证书是否已被作废(LRC检查)而进入黑名单.
2) 双向认证
双向认证是甲,乙双方在网上通信时,甲不但要认证乙的身份,乙也要认证甲的身份.其认证过程的每一方都与上述单向认证过程相同,即乙方也用同样的过程认证甲方的证书有效性,如图4.1所示.甲乙双方在网上查询对方证书的有效性及黑名单时,采用LDAP协议(Light Directory Access Protocol),它是一种轻型目录访问协议.
图4.1 双向认证过程
2. 数字签名与验证过程
网上通信的双方,在互相认证身份之后,即可发送签名的数据电文.数字签名的全过程分两大部分,即签名与验证.数字签名与验证的过程和技术实现的原理如图4.2所示.
参照图4.2数字签名过程分两部分:左侧为签名过程,右侧为验证过程.即发方将原文用哈希算法求得数字摘要,用签名私钥对数字摘要加密求得数字签名,然后将原文与数字签名一起发送给收方;收方验证签名,即用发方公钥解密数字签名,得出数字摘要;收方将原文采用同样哈希算法又得一新的数字摘要,将两个数字摘要进行比较,如果两者匹配,说明经数字签名的电子文件传输成功.
签名过程 验证过程
图4.2 数字签名原理
3.数字签名的操作过程
数字签名的操作过程如图4.3所示,需要有发方的签名证书的私钥及其验证公钥.
图4.3 数字签名操作过程
数字签名操作具体过程如下:首先是生成被签名的电子文件(《电子签名法》中称数据电文),然后对电子文件用哈希算法做数字摘要,再对数字摘要用签名私钥做非对称加密,即做数字签名;之后是将以上的签名和电子文件原文以及签名证书的公钥加在一起进行封装,形成签名结果发送给收方,待收方验证.
4.数字签名的验证过程
收方收到发方的签名结果后进行签名验证,其具体操作过程如图4.4所示.
收方收到数字签名的结果包括数字签名,电子原文和发方公钥,即待验证的数据.收方进行签名验证.验证过程是:收方首先用发方公钥解密数字签名,导出数字摘要,并对电子文件原文做同样哈希算法得一个新的数字摘要,将两个摘要的哈希值进行结果比较,结果相同签名得到验证,否则签名无效.《电子签名法》中要求对签名不能改动,对签署的内容和形式也不能改动.
图4.4 数字签名验证过程
如果收方对发方数字签名验证成功,就可以说明以下三个实质性的问题.
(1) 该电子文件确实是由签名者的发方所发出的,电子文件来源于该发送者.因为签署时电子签名数据由电子签名人所控制.
(2) 被签名的电子文件确实是经发方签名后发送的,说明发方用了自己的私钥做的签名,并得到验证,达到不可否认的目的.
(3) 收方收到的电子文件在传输中没有被篡改,保持了数据的完整性,因为,签署后对电子签名的任何改动都能够被发现.
《电子签名法》中规定:"安全的电子签名具有与手写签名或者盖章同等的效力".
5.原文保密的数据签名的实现方法
在上述数字签名原理中定义的是对原文做数字摘要和签名并传输原文,然而在很多场合传输的原文是要求保密的,是不准被别人看懂的,那么要求对原文进行加密的数字签名方法是怎么实现的呢 这里就要涉及到"数字信封"的概念.这个处理过程稍微复杂一些,但数字签名的基本原理还是一样的,可参照图4.5所示的签名过程.
数字签名 签名验证
图4.5 原文加密的数字签名实现方法
图4.5所示的流程是一个典型的"电子信封"处理过程.它的基本原理是将原文用对称密钥加密传输,而将对称密钥用收方公钥加密发送给对方.就好像把对称密钥放在一个电子信封里一样,收方收到电子信封,用自己的私钥解密信封,取出对称密钥解密得原文.其详细过程如下.
(1) 发方A将原文信息进行哈希(Hash)运算,得一哈希值,即数字摘要MD.
(2) 发方A用自己的私钥PVA,采用非对称RSA算法对数字摘要MD进行加密,即得数字签名DS.
(3) 发方A用对称算法DES的对称密钥SK对原文信息,数字签名DS及发方A证书的公钥PBA采用对称算法加密,得加密信息E.
(4) 发方用收方B的公钥PBB,采用RSA算法对对称密钥SK加密,形成数字信封DE,就好像将对称密钥SK装到了一个用收方公钥加密的信封里.
(5) 发方A将加密信息E和数字信封DE一起发送给收方B.
(6) 收方B接收到数字信封DE后,首先用自己的私钥PVB解密数字信封,取出对称密钥SK.
(7) 收方B用对称密钥SK通过DES算法解密加密信息E,还原出原文信息,数字签名DS及发方A证书的公钥PBA.
(8) 收方B验证数字签名,先用发方A的公钥解密数字签名得数字摘要MD.
(9) 收方B同时将原文信息用同样的哈希运算,求得一个新的数字摘要MD′.
(10) 将两个数字摘要MD和MD′进行比较,验证原文是否被修改,如果二者相等,说明数据没有被篡改,是保密传输的,签名是真实的,否则拒绝该签名.
这样就做到了敏感信息在数字签名的传输中不被篡改,其他没经认证和授权的人看不见或读不懂原数据,起到了在数字签名传输中对敏感数据的保密作用.
以上就是现行电子签名中普遍被使用而又具有可操作性的,安全的,数字签名的技术实现原理和全部过程.
4.2 鉴别技术与方法
4.2.1 鉴别的概念
鉴别是对网络中的主体进行验证的过程,通常有三种方法验证主体身份.一是只有该主体了解的秘密,如口令,密钥;二是主体携带的物品,如智能卡和令牌卡;三是只有该主体具有的独一无二的特征或能力,如指纹,声音,视网膜或签字等.
口令机制:口令是相互约定的代码,假设只有用户和系统知道.口令有时由用户选择,有时由系统分配.通常情况下,用户先输入某种标志信息,比如用户名和ID号,然后系统询问用户口令,若口令与用户文件中的相匹配,用户即可进入访问.口令有多种,如一次性口令,系统生成一次性口令的清单,第一次时必须使用X,第二次时必须使用Y,第三次时用Z,这样一直下去;还有基于时间的口令,即访问使用的正确口令随时间变化,变化基于时间和一个秘密的用户钥匙.这样口令每分钟都在改变,使其更加难以猜测.
智能卡:访问不但需要口令,也需要使用物理智能卡.在允许其进入系统之前检查是否允许其接触系统.智能卡大小形如信用卡,一般由微处理器,存储器及输入,输出设施构成.微处理器可计算该卡的一个唯一数(ID)和其他数据的加密形式.ID保证卡的真实性,持卡人就可访问系统.为防止智能卡遗失或被窃,许多系统需要卡和身份识别码(口令,PIN)同时使用.若仅有卡而不知PIN码,则不能进入系统.使用智能卡比使用传统的口令方法进行鉴别更好,但其携带不方便,且开户费用较高.
主体特征鉴别:利用个人特征进行鉴别的方式具有很高的安全性.目前已有的设备包括视网膜扫描仪,声音验证设备,手形识别器.
4.2.2 数据完整性鉴别
目前,对于动态传输的信息,许多协议确保信息完整性的方法大多是收错重传,丢弃后续包的办法,但黑客的攻击可以改变信息包内部的内容,所以应采取有效的措施来进行完整性控制.
(1) 报文鉴别:与数据链路层的CRC控制类似,将报文名字段(或域)使用一定的操作组成一个约束值,称为该报文的完整性检测向量ICV(Integrated Check Vector).然后将它与数据封装在一起进行加密,传输过程中由于侵入者不能对报文解密,所以也就不能同时修改数据并计算新的ICV,这样,收方收到数据后解密并计算ICV,若与明文中的ICV不同,则认为此报文无效.
(2) 校验和:一个最简单易行的完整性控制方法是使用校验和,计算出该文件的校验和值并与上次计算出的值比较.若相等,则说明文件没有改变;若不等,则说明文件可能被未察觉的行为改变了.校验和方式可以查错,但不能保护数据.
(3) 加密校验和:将文件分成小块,对每一块计算CRC校验值,然后再将这些CRC值加起来作为校验和.只要运用恰当的算法,这种完整性控制机制几乎无法攻破.但这种机制运算量大,并且昂贵,只适用于那些完整性要求极高的情况.
(4) 消息完整性编码MIC(Message Integrity Code):使用简单单向散列函数计算消息的摘要,连同信息发送给收方,收方重新计算摘要,并进行比较验证信息在传输过程中的完整性.这种散列函数的特点是任何两个不同的输入不可能产生两个相同的输出.因此,一个被修改的文件不可能有同样的散列值.单向散列函数能够在不同的系统中高效实现.
4.3 数 字 凭 证
4.3.1 CA认证与数字凭证
CA认证与数字凭证包含许多内容,要弄清楚,弄明白它们就必须了解以下问题:
什么是CA和CA认证 什么是SSL 何为数字凭证 数字证书能解决什么问题 数字证书的原理是什么 数字证书可以用在什么地方 什么是根证书 什么是服务器证书 什么是客户证书 数字证书如何正确使用 数字证书由谁来颁发,如何颁发 用户如何获得自己的数字证书 目前哪些应用程序支持数字证书 数字证书下载失败怎么办 数字证书不小心丢失怎么办 数字证书到期怎么办
1.CA
CA (Certification Authority)是认证机构的国际通称,它是对数字证书的申请者发放,管理,取消数字证书的机构.CA的作用是检查证书持有者身份的合法性,并签发证书(用数学方法在证书上签字),以防证书被伪造或篡改.CA认证是顺应我国电子商务和电子政务的发展应运而生的.随着网上银行的普遍应用和在线支付手段的不断完善,网上交易已经变得越来越大众化,安全问题就显得日益重要.而网络间的身份认证成为根本.认证机构相当于一个权威可信的中间人,它的职责是核实交易各方的身份,负责电子证书的发放和管理.理想化的状态是,上网的每一个企业或者个人都要有一个自己的网络身份证作为唯一的识别.而这些网络身份证的发放,管理和认证就是一个复杂的过程,也就是所谓的CA认证.
2.SSL
SSL(Secure Sockets Layer,安全套接字层)是一种国际标准的加密及身份认证通信协议,一般大家用的浏览器就支持此协议.SSL最初是由美国Netscape公司研究出来的,后来成为了因特网上安全通信与交易的标准.SSL协议使用通信双方的客户证书以及CA根证书,允许客户/服务器应用以一种不能被偷听的方式通信,在通信双方间建立起了一条安全的,可信任的通信通道.它具备以下基本特征:信息保密性,信息完整性,相互鉴定.
3.数字凭证
数字凭证又称为数字证书,数字标识(Digital Certificate,Digital ID),也被称作CA证书(简称证书),实际是一串很长的数学编码,包含有客户的基本信息及CA的签字,通常保存在计算机硬盘或IC卡中.数字证书一般是由CA认证中心签发的,证明证书主体(证书申请者获得CA认证中心签发的证书后即成为证书主体)与证书中所包含的公钥的唯一对应关系.它提供了一种在因特网上验证身份的方式,是用来标识和证明网络通信双方身份的数字信息文件,与司机的驾照或日常生活中的身份证相似.在网上进行电子商务活动时,交易双方需要使用数字证书来表明自己的身份,并使用数字证书来进行有关的交易操作.通俗地讲,数字证书就是个人或单位在因特网的身份证.数字证书主要包括三方面的内容:证书所有者的信息,证书所有者的公开密钥和证书颁发机构的签名及证书有效期等内容.
一个标准的X.509数字证书包含以下一些内容:
(1) 证书的版本信息.
(2) 证书的序列号,每个证书都有一个唯一的证书序列号.
(3) 证书所使用的签名算法.
(4) 证书的发行机构名称(命名规则一般采用X.500格式)及其用私钥的签名.
(5) 证书的有效期.
(6) 证书使用者的名称及其公钥的信息.
数字凭证有三种类型.
(1) 个人凭证(Personal Digital ID):它仅为某一个用户提供凭证,以帮助其在网上进行安全交易操作.个人身份的数字凭证通常是安装在客户端的浏览器内的,并通过安全的电子邮件(S/MIME)来进行交易操作.
(2) 企业(服务器)凭证(Server ID):它通常为网上的某个Web服务器提供凭证,拥有Web服务器的企业就可以用具有凭证的万维网站点(Web Site)来进行安全电子交易.有凭证的Web服务器会自动地将其与客户端Web浏览器通信的信息加密.
(3) 软件(开发者)凭证(Developer ID):它通常为因特网中被下载的软件提供凭证,该凭证用于和微软公司Authenticode技术(合法化软件)结合的软件,以使用户在下载软件时能获得所需的信息.
上述三类凭证中前两类是常用的凭证,第三类则用于较特殊的场合,大部分认证中心提供前两类凭证,能提供各类凭证的认证中心并不普遍.
4.数字证书能解决的问题
在使用数字证书的过程中应用公开密钥加密技术,建立起一套严密的身份认证系统,它能够保证:信息除发方和收方外不被其他人窃取;信息在传输过程中不被篡改;收方能够通过数字证书来确认发方的身份;发方对于自己发送的信息不能抵赖.
以电子邮件为例,数字证书主要可以解决以下问题:
(1) 保密性,使用收件人的数字证书对电子邮件加密,只有收件人才能阅读加密的邮件,这样保证在因特网上传递的电子邮件信息不会被他人窃取,即使发错邮件,收件人也由于无法解密而不能够看到邮件内容.
(2) 完整性,利用发件人数字证书在传送前对电子邮件进行数字签名不仅可确定发件人身份,而且可以判断发送的信息在传递的过程中是否被篡改过.
(3) 身份认证:在因特网上传递电子邮件的双方互相不能见面,所以必须有方法确定对方的身份.利用发件人数字证书在传送前对电子邮件进行数字签名即可确定发件人身份,而不是他人冒充的.
(4) 不可否认性,发件人的数字证书只有发件人拥有,所以发件人利用其数字证书在传送前对电子邮件进行数字签名后,发件人就无法否认发送过此电子邮件.
5.数字证书的工作原理
数字证书采用PKI——公开密钥基础架构技术,利用一对互相匹配的密钥进行加密和解密.每个用户自己设定一把特定的仅为本人所知的私有密钥(私钥),用它进行解密和签名;同时设定一把公共密钥(公钥),由本人公开,为一组用户所共享,用于加密和验证签名.当发送一份保密文件时,发方使用收方的公钥对数据加密,而收方则使用自己的私钥解密,通过数字的手段保证加解密过程是一个不可逆过程,即只有用私有密钥才能解密,这样保证信息安全无误地到达目的地.用户也可以采用自己的私钥对发送信息加以处理,形成数字签名.由于私钥为本人所独有,这样可以确定发送者的身份,防止发送者对发送信息抵赖.收方通过验证签名还可以判断信息是否被篡改过.在公开密钥基础架构技术中,最常用一种算法是RSA算法,其数学原理是将一个大数分解成两个质数的乘积,加密和解密用的是两个不同的密钥.即使已知明文,密文和加密密钥(公开密钥),想要推导出解密密钥(私密密钥)在计算上是不可能的.按现在的计算机技术水平,要破解目前采用的1024位RSA密钥,需要上千年的计算时间.
简单地讲,结合证书主体的私钥,证书在通信时用来出示给对方,证明自己的身份.证书本身是公开的,谁都可以拿到,但私钥(不是密码)只有持证人自己拥有,永远也不会在网络上传播.在网上银行系统中有三个证书:银行CA认证中心的根证书,银行网银中心的服务器证书和每个网上银行用户在浏览器端的客户证书.有了这三个证书,就可以在浏览器与银行网银服务器之间建立起SSL连接.这样,浏览器与银行网银服务器之间就有了一个安全的加密信道.证书可以使与你通信的对方验证你的身份(你确实是你所声称的那个你),同样,你也可以用与你通信的对方的证书验证他的身份(他确实是他所声称的那个他),而这一验证过程是由系统自动完成的.
6.数字证书可以使用的地方
随着因特网的普及,各种电子商务活动和电子政务活动飞速发展,数字证书开始广泛地应用到各个领域之中,目前主要包括:发送安全电子邮件,访问安全站点,网上招标投标,网上签约,网上订购,安全网上公文传送,网上缴费,网上缴税,网上炒股,网上购物和网上报关等.
7.根证书
根证书是CA认证中心给自己颁发的证书,是信任链的起始点.安装根证书意味着对这个CA认证中心的信任.首次登录网上银行,根据系统提示必须下载并安装建行CA认证中心颁发的根证书及客户证书(二者缺一不可),以保证网上交易的安全.
8.服务器证书
服务器证书是CA认证中心颁发的,安装在服务器上用以证明服务器身份的证书.
9.客户证书
客户证书又称浏览器证书,是指由CA认证中心颁发的,安装在客户浏览器端使用的个人或企业证书.
10.数字证书如何使用
CA认证中心签发证书后,证书的持有者给其他人,Web站点提供他的证书来证明他的身份,以建立加密的,可信的通信通道.在银行网上银行系统中,下载客户证书及CA根证书的过程即是将这些证书安装到浏览器的过程,浏览器(IE 4.0以上版本及Netscape Communicator 4.0以上版本)会引导你完成安装过程.在用户进入网上银行交易之前,浏览器与服务器之间建立SSL安全通道时,会自动使用双方的证书,所以,在进入交易之前,你应保证客户证书及CA根证书已经安装在浏览器中.客户证书及私钥是在因特网上进行安全交易的基础,应保证私钥的秘密性.在完成证书下载后,建议立即备份客户证书及私钥.私钥是有密码保护的,在导出证书及私钥时,系统将提示提供该密码,因此,应牢记这个密码,并定期更换密码.这个密码不应告诉别人,否则他可以得到你的证书及私钥,完全冒充你的身份在网上银行交易.例如,在Netscape Communicator 4.04中备份证书及私钥的方法是:单击"安全"按钮,选择"证书"中的"你的"项,在显示的证书中选择用于银行网银中心的客户证书,单击"输出"按钮,最好将其存储在软盘上,放在安全的地方.在internet Explorer 4.0中备份证书及私钥的方法是:执行"查看"菜单下的"Internet选项"命令,在弹出的"Internet选项"对话框中打开"内容"选项卡,单击"个人"按钮,在弹出的对话框中选择用于银行网银中心的客户证书,单击"导出"按钮,最好将其存储在软盘上,放在安全的地方.
11.数字证书的颁发
数字证书是由认证中心颁发的.认证中心是一家能向用户签发数字证书以确认用户身份的管理机构.为了防止数字凭证被伪造,认证中心的公共密钥必须是可靠的,认证中心必须公布其公共密钥或由更高级别的认证中心提供一个电子凭证来证明其公共密钥的有效性,后一种方法导致了多级别认证中心的出现.
数字证书颁发过程如下:用户首先产生自己的密钥对,并将公共密钥及部分个人身份信息传送给认证中心.认证中心在核实身份后将执行一些必要的步骤,以确信请求确实由用户发送而来,然后,认证中心将发给用户一个数字证书,该证书包含用户的个人信息和他的公钥信息,同时还附有认证中心的签名信息.用户就可以使用自己的数字证书进行相关的各种活动.
12.用户取得自己数字证书的方法
可以为自己申请数字证书,也可以为一台安全服务器申请数字凭证.目前海南省数字证书认证中心提供试用型数字证书,其申请过程在即时网上完成,并立即可以免费使用,而正式版数字证书则需要额外的处理方法及时间,一般过程是用户首先在网上填写数字证书申请资料,认证中心在接收到申请请求后,它将对申请人的身份进行审核,当用户的申请请求满足认证中心的所有要求后,认证中心将为其制作证书,然后发送给申请人或者是申请人在网上下载自己的证书.
13.目前支持数字证书的应用程序
在客户端,Netscape Navigator 4.0以上版本,及微软的Internet Explorer 4.0以上版本都支持数字证书.
在服务器端,Microsoft,Netscape,Sun,IBM,Open Market,Oracle等公司提供的服务器产品都支持数字证书的应用.
此外,大多数字证书认证中心还为第三方软件开发商提供数字证书应用程序的开发接口,可以将数字证书应用到第三方软件开发商开发的各种应用程序中.
14.证书下载失败的办法
证书下载时,因网络中断等原因将造成下载失败.如果是在开户时下载证书失败,可以单击浏览器的"后退"按钮,退回到网上开户的页面,再重新开户申请;如果是在证书更新时下载失败,只需重新下载.
15.处理证书丢失的办法
如果因为病毒,计算机重装等原因而遗失证书时,你可以恢复已备份的客户证书(注意,导入时必须输入备份时的密码),具体分为以下两种情况.在Netscape Communicator 中恢复证书的方法是:单击"安全"按钮,选择"证书"中的"你的"项,单击 "输入证书"按钮;在Internet Explorer 6.0中恢复证书的方法是:执行"工具"菜单下的"Internet选项"命令,在弹出的对话框中打开"内容"选项卡,单击"证书"按钮,弹出"证书"对话框,打开"个人"选项卡,单击"导入"按钮.但最安全的做法是终止网银服务,然后重新开户.
16.证书到期的办法
某些银行CA认证中心提供的数字证书有一年或两年的有效期限.数字证书到期后你将不能再进入网上银行交易系统.因此,在证书到期前你需要及时更换新的证书.到期换证有两种途径:登录网上银行时,网银系统将提示你证书即将到期,可到CA站点上自动换证,并提供CA站点的URL超链接,只需单击该URL到CA站点实时下载新的证书,换证后客户个人证书的CN不会发生变化;如果证书已经过期,就只能到CA中心提供的一个专门站点申请换证,具体操作步骤参见网银外部网页上的有关说明.
4.3.2 个人数字凭证的申请,颁发和使用
1. 申请所需资料
先看一下某公司个人数字凭证的申请所需的资料,开始是申请表,如图4.6所示,依次是申请人声明,用户须知和受理审批,受理审批表如图4.7所示.
1) 申请表
证书业务受理号:
姓 名:
生 日:



性 别:
□ 男
□ 女
有效证件:
身份证 □ 护照 □ 户口簿
其他
证件号码:
住 址:
联系电话:
传真号码:*
通信地址:
邮政编码:
电子邮件:
证书期限:
1年 □ 2年
其他
存储介质:
本地计算机 □ 智能卡
USB电子密钥 □ 其他
图4.6 个人数字凭证申请表
2) 申请人声明
本人在此声明:
本人为申请证书而提供的资料完全真实.本人愿意承担由于提供的资料虚假失实而导致的一切后果.
本人已认真阅读并同意遵守《×××认证有限公司电子认证服务协议》中的各项规定.
申请人签署: 申请日期: 年 月 日
3) 用户须知
除有"*"标记的项目之外,申请人必须填写申请表中规定的所有项目.
在发现申请人资料虚假的情况下,×××认证有限公司有权拒绝提供服务,或者废止已签发的证书,但无需退还已收取的各项费用.
申请人需要出示有效证件的原件,并提供复印件1份,供×××认证有限公司或其授权的受理单位审核.
4) 受理审批
申请记录
□ 首次申请
□ 再次申请
业务受理员声明
受理单位
(盖章)
收 费
证书使用费
本人在此声明:
按照业务操作规范,本人已经对申请人提交的全部申请资料进行了审核.本人证明,申请人提供的资料是真实的,申请人是有效证件的合法持有人.
证书有效期: 年 月 日 至 年 月 日
姓名(正楷): 签署:
受理日期: 年 月 日
存储介质费
其 他
合 计
图4.7 受理审批表
2. 申请的具体过程
1) 个人数字凭证的申请
个人数字凭证(Personal digital ID)的申请可以在网上进行.个人数字凭证分为两个级别.
第一级(class 1)数字凭证,仅提供个人电子邮件地址的认证,因此该凭证只是与电子邮件地址相关,亦即并不对个人的真实姓名等信息认证.当个人获得一级数字凭证后,认证中心即会将邮件地址证书列于公共目录.当在交易中,因邮件地址凭证的丢失,误用或舞弊行为而引起经济损失,认证中心的服务部门将会提供一定数量的经济赔偿.
第二级(class 2)数字凭证,提供对个人姓名,身份等信息的认证.当获得二级数字凭证后,认证中心亦会自动将认证信息列入公共目录.认证中心亦会对数字凭证因丢失,误用或舞弊行为而引起的经济损失进行担保.
2) 个人数字凭证的获得
当个人申请数字凭证后,认证中心对申请者的电子邮件地址,个人身份及信用卡号等信息进行核实,通常在3~5天内即可颁发数字凭证. 数字凭证的颁发是由认证中心发回给用户一个确认的邮件,在邮件中通知用户有关证书的信息,同时将该证书安装在用户所用的浏览器或电子邮件的应用系统中.
3) 个人数字凭证的使用及签发
当个人获得数字凭证后,亦即在他所用的浏览器(Netscape Communicator或Internet Explorer)上安装了数字凭证后,当要发送一个信件的时候,在浏览器中可设置以下3种状态.
(1) 普通发送,即不使用数字凭证.
(2) 签发(Sign)文件,如设置了Sign,则在发送信息时系统会自动将文件和发送者的数字凭证一起发送给对方.而收方会发现该文件是附有凭证的,但被签发的文件仍是明文,文件本身不加密.
(3) 加密(Encrypt)文件,如设置了Encrypt,则发送信件时会自动用收方的公共密钥加密,并注明是密文.
4.4 认证产品及应用
4.4.1 通用认证中心
产品名称:通用认证中心 Universal CA.
生产厂商:沈阳东大阿尔派软件股份有限公司.
适用范围:政府,金融,保险,工商税务,电信,电力,证券,军队等行业领域.
产品概述:Universal CA认证服务器可用于建立企业级认证中心,签发和管理CCITT X509标准格式的数字证书,为系统中的用户提供基于公钥证书的认证服务.认证中心发放的数字证书又称数字凭证,是参与网络通信和交易的实体身份的权威证明.认证中心可以为用户提供的服务包括接收与审核用户证书申请,颁发和管理证书,提供证书和CRL公共访问服务.目前,Universal CA主要与安全快递配合使用,保证企业内部电子邮件的机密和信息安全.
系统特性有以下几方面.
1. 高强度加密和认证
Universal CA采用基于RSA 加密算法的公钥体系加密和认证,可以生成512,768,1024位3种不同密钥长度的证书,确保证书的安全性和可靠性.
2. 多种生成证书的方法
(1) 由用户的请求文件生成证书.
(2) 在服务器端由管理员为用户生成证书.
(3) 利用已有的数据库为用户生成证书.
Universal CA 可以以上述3种方法生成证书,使用户应用起来极为方便.
3. 支持国际互联网
Universal CA发放的证书不依赖于固定的内部用户,只需一个E-mail地址即可实现证书的申请及应用,因此具有广泛的应用性.
4. 具有同其他系统交换数据的能力
Universal CA 后台应用了东大阿尔派自主版权的数据库OpenBase可以实现证书的海量管理,并具有同其他系统交换数据的能力,这使得系统具有良好的开放性与通用性.
5. 易使用,功能强
Universal CA运行在Windows环境下,将各种复杂操作屏蔽于后台,前台界面简单,且支持请求,证书的批量操作,可以实现过期证书的自动撤销.
6. 为东大阿尔派安全快递提供专用接口
为安全快递提供专用接口使得东大阿尔派Universal CA与安全快递产品紧密地结合,安全快递用户通过Universal CA提供认证,使得传递信息更加安全可靠.
4.4.2 eCertCA / PKI
1. eCertCA/PKI 产品规格说明
eCertCA/PKI 为客户提供支持,以建立公钥基础建设(Public Key Infrastructure,PKI)应用环境的核心.通过 eCertCA/PKI与其对于IC Smart Card 发卡环境的紧密结合,可应用PKI技术进行网络上的身份认证,交易信息签章以及数据传输加密等多项安全防护.
该产品为模块化设计的系统,具有弹性,能针对不同规模 PKI运营环境的需求调配其系统容量与容错可用度(availability).系统最大容量为500 000张启用的证书(certificate).
eCertCA/PKI 同时可以支持多层次 CA 信任链 (trusty path) 与黑名单 (Certificate Revocation List,CRL) 发行的功能.通过多层次 CA 的支持,可配合 PKI运营的组织架构,建立一个多层的 PKI 信任树 (trust tree).
eCertCA/PKI 产生的 X.509 证书格式为标准 X.509/V3 的格式,尤其对X.509/V3 Amendment#1 所定义的证书扩展字段 (Extension Fileds)均包含在内,同时可以针对客户系统的需要,制定特殊扩展字段.
2. 信任链与黑名单发行
eCertCA/PKI 支持完整的 PKI 认证架构 (信任链) 与黑名单管理发行机制.
eCertCA/PKI 系统逻辑上可分为以下子系统:
(1) CA 服务器 (CA Server).
(2) RA 服务器 (RA Server).
(3) Web 服务器支持模块 (Web Server Component) .
(4) 目录服务器支持模块 (Directory Service Component).
4.4.3 Kerberos认证
1. Kerberos 协议简介
在希腊神话中,Kerberos是守护地狱之门的三头狗.在计算世界里,美国麻省理工学院(MIT)把他们开发的这一网络认证系统命名为Kerberos.Kerberos认证协议是由美国麻省理工学院(MIT)在20世纪80年代首先提出并实现的,是该校Athena计划的一部分.因为Kerberos是一个三方认证协议,根据称为密匙分配中心(KDC)的第三方服务中心来验证网络中计算机相互的身份,并建立密匙以保证计算机间安全连接.Kerberos协议基本上是可行的并且有效的.KDC由两部分组成:认证服务器AS和票据授权服务器TGS.Kerberos是一种网络认证协议,允许一台计算机通过交换加密消息在整个非安全网络上与另一台计算机互相证明身份.一旦身份得到验证,Kerberos协议将会给这两台计算机提供密匙,以进行安全通信对话.Kerberos协议可以认证试图登录上网用户的身份,并通过使用密匙密码为用户间的通信加密.总地来说,Kerberos是一种基于私钥加密算法的,需要可信任的第三方作为认证服务器的网络认证系统.它允许在网络上通信的实体互相证明彼此的身份,并且能够阻止旁听和重放等手段的攻击.不仅如此,它还能够提供对通信数据保密性和完整性的保护.
Kerberos从提出到今天,共经历了5个版本的发展.其中版本1到版本3主要在该校内部使用.当它发展到版本4的时候,已经取得了在MIT校园外的广泛认同和应用.由于版本4的传播,人们逐渐发现了它的一些局限性和缺点(例如适用网络环境有限,加密过程存在冗余等).MIT充分吸收了这些意见,对版本4进行了修改和扩充,形成了今天非常完善的版本5.现在MIT提供的Kerberos V5的最新实现是版本krb5 1.3.3,本节中提到的实现都是以它为依据的.
2.Kerberos 协议术语解释
(1) Principal:在Kerberos中,Principal是参加认证的基本实体.一般来说有两种,一种用来表示Kerberos数据库中的用户,另一种用来代表某一特定主机,也就是说Principal是用来表示客户端和服务端身份的实体,Principal的格式采用ASN.1标准,即Abstract Syntax Notation One,来准确定义.Principal由3个部分组成:名字(name),实例(instance),REALM(域).比如一个标准的Kerberos的用户是:name/instance@REALM .
(2) Name:第1部分.在代表客户方的情况,它是一个用户名;在代表主机的情况,它是写成host.
(3) Instance:第2部分.对name的进一步描述,例如name所在的主机名或name的类型等,可省略.它与第1部分之间用/分隔,但是作为主机的描述时写成host/Instance.
(4) Realm:第3部分.是Kerberos在管理上的划分,在 KDC中所负责的一个域数据库称作Realm.这个数据库中存放有该网络范围内的所有Principal和它们的密钥,数据库的内容被Kerberos的认证服务器AS和票据授权服务器TGS所使用.Realm通常是也永远是大写的字符,并且在大多数Kerberos系统的配置中,一般Realm和该网络环境的DNS域是一致的.与第2部分之间用@分隔,默认为本地的Realm.比如,Principal "cnhawk /hawk.the9.com@THE9.COM"表示Realm"THE9.COM"中主机hawk.the9.com上的用户cnhawk,而Principal"host/hawk.the9.com @THE9.COM"则通常用来表示Realm "THE9.COM"中主机hawk.the9.com.
(5) Credential:Ticket和与它相联系的会话密钥合在一起称为Credential.之所以有这个概念是因为它们是客户端在向服务器证明自己的身份时必需的两样东西.在一个Ticket的生存期内客户端会将这两样东西以Credential为单位保存在一个Cache文件中.
(6) Ticket:一个Ticket是一个用于安全地传递用户身份所需要的信息的集合.它不仅包含该用户的身份,而且包含其他一些相关的信息.一般来说,它主要包括客户方Principal,目的服务方Principal,客户方IP地址,时间戳(分发该Ticket的时间),该Ticket的生存期,以及会话密钥等内容.它的格式亦用ASN.1来准确定义.
(7) Authenticator:是在客户端向服务端进行认证时,伴随Ticket一起发送的另外一个部分,它的作用是证明发送Ticket 的用户就是拥有Ticket的用户,即防止重放攻击.它的主要内容是一个时间戳(客户端发送Ticket的时间),在rfc 1510中有它的完整的ASN.1定义.
(8) AS(Authentication Server):为用户分发TGT(Ticket Granting Ticket)的服务器.
(9) TGT(Ticket Granting Ticket):用户向TGS(Ticket Granting Server)证明自己身份的Ticket.
(10) TGS(Ticket Granting Server):为用户分发到最终目的Ticket的服务器,用户使用这个Ticket向自己要求提供服务的服务器证明自己的身份.在实现上,AS和TGS实际上是由同一程序完成的,因为它们的实现机制并没有太大的差别,只是在加密所发出的Ticket时候所使用的密钥不同(AS使用用户的密钥,而TGS使用会话密钥).
(11) KDC(Key Distribution Center):密钥发放中心,通常将AS和TGS统称为KDC,有时也把AS 单独称为KDC.
3.认证过程
(1) Client → KDC:用户cnhawk向密钥分配中心(KDC)申请TGT.
(2) KDC → Client:通过KDC的用户密码认证,cnhawk得到KDC发放的TGT.
(3) Client → KDC:申请取得用户cnhawk所需要的host/s.
(4) KDC → Client:KDC根据用户cnhawk提供的TGT,KDC向cnhawk发放host/s.
(5) Client → Server:用户cnhawk向Server提供cnhawk,TGT和host/s ;Server根据主机上保存的host/s和用户cnhawk的信息来验证cnhawk的登录申请.
(6) Server → Client:Server确认,发送信息给Client允许cnhawk登录Server.
4.5 数字签名与CA认证实验
数字签名多采用公钥加密技术,依赖于非对称加密算法,CA认证采用PKI,为了撇开许多概念,技术术语和难懂的原理,通过学习常用数字签名的应用小软件,以及上网练习,可以让大家对数字签名与CA认证技术有直接的认识和初步的应用,为以后的学习打下基础.
4.5.1 ChinaTCP个人控件数字签名系统1.00软件的使用
1. 实训目的
(1) 理解数字签名和CA认证的作用.
(2) 熟悉创建数字证书和实施数字签名的过程.
2. 实训内容
(1) 创建数字证书.
(2) 按向导实时数字签名.
3. 实训理论基础
1) 数字签名的必要性
任何可下载的软件在下载之前必须拥有一个数字签名,这是 Internet Explorer 的默认安全设置要求.数字签名能对文件的内容和文件是否有可靠的来源进行核实.签名提供了一种验证文件内容的方法,该方法确保该文件在可用于下载后未被改变过.数字签名通过标识创建软件的合法实体来验证来源.当你在可下载的软件中加入了签名,你就是合法实体.合法实体应该为签名软件被下载时或运行后所造成的损失负责.
2) 可以使用数字签名的文件类型
(1) .exe 文件.
(2) .cab 文件.
(3) .dll 文件.
(4) .ocx 文件.
(5) .vbd 文件 .
如果提供以上类型的文件下载,就应为其设置数字签名.通常,只需在部件打包后的 .cab 文件中进行签名.然而,如果要发行的 .ocx,.exe,.vbd 或 .dll 文件没有打包在 .cab 文件中,就要单独为其进行签名.可以通过向认证机构购买证书来获得数字签名.认证机构是一个确认身份并发行认证证书的公司.证书中包含个人的数字签名,是信用的验证.一旦出现问题,认证机构将成为你身份的见证人.
3) 公用密钥与私用密钥
在使用数字签名时要使用 Authenticode 技术.Authenticode 的目的是通过建立责任制来阻止有害代码的发行.Authenticode 技术将验证发布代码的发行人的身份给要下载这份代码的因特网最终用户.此外,Authenticode 技术可以为用户确保该代码在签名后未被改动.
Authenticode 技术来源于公用密钥签名技术.该技术使用了密钥对来加密数据.密钥对用于文件的加密和解密.在公用密钥技术中,公用密钥和私用密钥确保了文件的私有性.公用密钥用于加密数据,而私用密钥则用来解密数据.尽管该技术用于保护诸如电子邮件之类的小文件是很成功的,但是对于大文件,这一过程却是非常消耗时间的.Authenticode 技术正是这种技术的一种改进形式,专供大文件使用.
4) Authenticode技术与签名
在开发者对文件签名时,Authenticode技术要计算一个哈希数.哈希数表示文件的总字节长度.该数字用私用密钥加密并插入到文件中.然后,开发者将文件进行打包并将其部署到 Web 服务器上.
当用户下载或安装文件时,他们的计算机计算第二个哈希数,并同原先的进行比较.如果数字相同,则文件的内容就得到了验证.
浏览器使用公用密钥来决定你的身份和提供数字签名的认证机构.
认证机构核实开发者的身份,并将包含经私用密钥加密的开发者名字的证书授予开发者.
浏览器使用私用密钥将文件解密,然后进行安装.
ActiveX SDK 中有用于数字签名的 Authenticode 软件工具,用户可以从Microsoft的 官方网站上下载.数字签名必须从发行机构获得,例如GTE和VeriSign公司.
5) 如何保护证书
由于你或者你的公司要为所有使用签名的文件负责,而不论签名是否经过授权,所以确保你的证书的安全非常重要.应该将证书保存在发行证书的认证机构中,将文件送去签名.如果将证书保存在自己的站点上,应严格控制其存取权限.
6) 怎样为代码签名
你可以对任何要发行的 .ocx,.exe,.dll,.vbd 或 .cab 文件进行签名.为代码签名主要有两步.首先,必须申请证书,然后再进行签名.
4. 实训步骤
(1) 在Windows 2000/XP中安装ChinaTCP个人控件数字签名系统1.00软件并运行,如图4.8所示.
图4.8 个人数字签名系统界面
(2) 单击"创建数字证书"按钮,创建一份数字证书,如图4.9所示.
图4.9 创建数码证书
如图4.10所示,创建证书成功.
图4.10 成功创建证书
(3) 单击"数字签名向导"按钮,开始对控件进行数字签名,如图4.11所示.
图4.11 数字签名开始
(4) 单击"下一步"按钮,选择要进行数字签名的文件,如图4.12所示.
图4.12 选择签名文件
(5) 单击"下一步"按钮进入下一个对话框,再单击"下一步"按钮又进入下一个对话框,单击"从存储区选择"按钮,在弹出的"选择证书"对话框中选择一个证书,如图4.13所示.
图4.13 选择证书
(6) 单击"确定"按钮回到"数字签名向导"对话框再单击"下一步"按钮,添加正在签名的数据描述,如图4.14所示.
图4.14 文件描述
(7) 完成数字签名,如图4.15所示.
图4.15 完成文件签名
4.5.2 在中国数字认证网上练习申请数字证书
1. 实训目的
(1) 通过因特网理解CA认证的作用.
(2) 熟悉在网络上申请数字证书和使用的过程.
2. 实训内容
(1) 掌握如何在CA认证中心申请数字证书.
(2) 了解中国的CA认证中心,在网络上按向导熟悉证书申请过程.
3. 实训理论基础
1) 数字证书的概念
数字证书就是网络通信中标志通信各方身份信息的一系列数据,其作用类似于现实生活中的身份证.它是由一个权威机构发行的,人们可以在交往中用它来识别对方的身份.
最简单的证书包含一个公开密钥,名称以及证书授权中心的数字签名.一般情况下证书中还包括密钥的有效时间,发证机关(证书授权中心)的名称,该证书的序列号等信息,证书的格式遵循ITUT X.509国际标准.
一个标准的X.509数字证书包含以下一些内容:
(1) 证书的版本信息.
(2) 证书的序列号,每个证书都有一个唯一的证书序列号.
(3) 证书所使用的签名算法.
(4) 证书的发行机构名称,命名规则一般采用X.500格式.
(5) 证书的有效期,现在通用的证书一般采用UTC时间格式,它的计时范围为1950~2049.
(6) 证书所有人的名称,命名规则一般采用X.500格式.
(7) 证书所有人的公开密钥.
(8) 证书发行者对证书的签名.
使用数字证书,通过运用对称和非对称密码体制等密码技术建立起一套严密的身份认证系统,从而保证:信息除发方和收方外不被其他人窃取;信息在传输过程中不被篡改;发方能够通过数字证书来确认收方的身份;发方对于自己的信息不能抵赖.
2) 使用数字证书的原因
电子商务系统技术使顾客在网上购物极其方便,能轻松地获得商家和企业的信息,但同时也增加了某些敏感或有价值的数据被滥用的风险.为了保证买方和卖方在因特网上进行的一切金融交易都是真实可靠的,并且要使顾客,商家和企业等交易各方都具有绝对的可信度,电子商务系统必须保证具有十分可靠的安全保密技术,具体地说,必须保证网络安全的4大要素,即信息传输的保密性,数据交换的完整性,发送信息的不可否认性,交易者身份的确定性.
(1) 信息的保密性,交易中的商务信息均有保密的要求,如信用卡的账号和用户名被人知悉,就可能被盗用,订货和付款的信息被竞争对手获悉,就可能丧失商机.因此在电子商务的信息传播中一般均有加密的要求.
(2) 数据交换的完整性,为防止数据在传输过程中和收到后不被篡改和部分丢失,必须保证传输过程可靠,同时对数据加密,保证发出和收到的信息一致.
(3) 交易者身份的确定性 ,网上交易成功首先要能确认对方的身份,商家要考虑客户端是不是真实,而客户也会担心网上的商店是不是在欺诈.因此能方便而可靠地确认对方身份是交易的前提.为顾客或用户提供服务的银行,信用卡公司和销售商店,为了做到安全,保密,可靠地提供服务活动,都要进行身份认证的工作.对有关的销售商店来说,他们对顾客所用的信用卡的号码是不知道的,商店只能把信用卡的确认工作完全交给银行来完成.银行和信用卡公司可以采用各种保密与识别方法,确认顾客的身份是否合法,同时还要防止发生拒付款问题以及确认订货和订货收据信息等.
(4) 不可否认性 ,交易一旦达成是不能被否认的,否则必然会损害一方的利益.例如订货时价格较低,但收到订单后,价格上涨了;如收单方否认收到订单的实际时间,甚至否认收到订单的事实,则订货方就会蒙受损失.因此电子交易通信过程的各个环节都必须是不可否认的.
数字安全证书提供了一种在网上验证身份的方式.安全证书体制主要采用了公开密钥体制,其他还包括对称密钥加密,数字签名,数字信封等技术.通过使用数字证书,运用对称和非对称密码体制等密码技术建立起一套严密的身份认证系统,从而保证:信息除发方和收方外不被其他人获取;信息在传输过程中不被篡改;发方能够通过数字证书来确认收方的身份;发方对于自己的信息不能抵赖.
3) 数字认证原理
数字证书采用公钥体制,即利用一对互相匹配的密钥进行加密,解密.每个用户自己设定一把特定的仅为本人所知的私有密钥(私钥),用它进行解密和签名;同时设定一把公共密钥(公钥)并由本人公开,为一组用户所共享,用于加密和验证签名.当发送一份保密文件时,发方使用收方的公钥对数据加密,而收方则使用自己的私钥解密,这样信息就可以安全无误地到达目的地了.通过数字的手段保证加密过程是一个不可逆过程,即只有用私有密钥才能解密.
在公开密钥密码体制中,常用的一种是RSA体制.其数学原理是将一个大数分解成两个质数的乘积,加密和解密用的是两个不同的密钥.即使已知明文,密文和加密密钥(公开密钥),想要推导出解密密钥(私密密钥)在计算上是不可能的.按现在的计算机技术水平,要破解目前采用的1 024位RSA密钥,需要上千年的计算时间.公开密钥技术解决了密钥发布的管理问题,商户可以公开其公开密钥,而保留其私有密钥.购物者可以用人人皆知的公开密钥对发送的信息进行加密,安全地传送给商户,然后由商户用自己的私有密钥进行解密.
如果用户需要发送加密数据,发方需要使用收方的数字证书(公开密钥)对数据进行加密,而收方则使用自己的私有密钥进行解密,从而保证数据的安全保密性.
另外,用户可以通过数字签名实现数据的完整性和有效性,只需采用私有密钥对数据进行加密处理,由于私有密钥仅为用户个人拥有,从而能够保证签名文件的唯一性,即保证:数据由签名者自己签名发送,签名者不能否认或难以否认;数据自签发到接收这段过程中未曾做过任何修改,签发的文件是真实的.
4. 实训步骤
(1) 打开中国数字认证网(http://www.ca365.com),安装ActiveX控件,如图4.16所示.
图4.16 中国数字认证网界面
安装ActiveX控件的对话框,如图4.17所示.
图4.17 安装控件
(2) 在网页上单击"如果您是第一次访问本站点请下载并安装根CA证书"超链接,弹出"文件下载-安全警告"对话框,如图4.18所示.
图4.18 安装根CA证书
如图4.19所示,根证书安装成功.
图4.19 证书信息
(3) 安装根证书后,在网页上单击"用表格申请证书"超链接,如图4.20所示.
图4.20 申请证书
(4) 进行注册,单击"提交"按钮,如图4.21所示.
图4.21 申请人注册信息
(5) 认证中心创建RSA交换密钥,单击"确定"按钮,如图4.22所示.
图4.22 创建交换密钥
(6) 证书产生,如图4.23所示.
图4.23 成功产生证书
可以看到证书信息,如图4.24所示.
图4.24 证书信息
说明:要有效地申请数字证书,需要缴纳费用.它是你在网上交易的身份,同时能保护电子邮件的安全.
小 结
本章讲述了数字凭证原理及其实现方法,CA认证及其过程和几个认证产品,简单介绍了鉴别技术,以一个实例叙述了个人数字凭证的申请,颁发和使用过程,用软件和上网练习演示个人数字签名和认证过程.
习 题
1. 了解数字签名的原理.
2. 理解数字签名的技术实现过程.
3. 弄明白以下问题:什么是CA和CA认证 什么是SSL 何为数字凭证 数字证书能解决什么问题 数字证书的原理是什么 数字证书可以用在什么地方 什么是根证书 什么是服务器证书 什么是客户证书 数字证书如何正确使用 数字证书由谁来颁发,如何颁发 用户如何获得自己的数字证书 目前哪些应用程序支持数字证书 数字证书下载失败怎么办 数字证书不小心丢失怎么办 数字证书到期怎么办
··
计算机网络安全技术
··
第4章 数字签名与CA认证技术
··
··

·上一篇:CNNIC主任毛伟接受计算机世界专访
·下一篇:CPU选型型号表
下载链接
相关下载
最热搜索
<%=Components.Fun.GetTemplate(Components.Template.TemplateType.Foot)%>