信息安全原理张基温电子教案第7章认证_第1页
信息安全原理张基温电子教案第7章认证_第2页
信息安全原理张基温电子教案第7章认证_第3页
信息安全原理张基温电子教案第7章认证_第4页
信息安全原理张基温电子教案第7章认证_第5页
已阅读5页,还剩68页未读 继续免费阅读

下载本文档

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

文档简介

第7章认证认证〔Authentication〕就是对于证据的识别、核实、鉴别,以建立某种信任关系。在通信中,要涉及两个方面:一方提供证据或标识,另一方面对这些证据或标识的有效性加以识别、核实、鉴别。从认证的内容看,可以分为数据〔报文〕认证和身份验证;从认证过程看,需要有证据符〔标识〕、认证算法和认证协议三个要素。7.1数字签名7.1.1数字签名概述在网络中进行数据的传输,必须保证接收到的消息的真实性〔确实是由它所声称的实体发来的〕、完整性〔未被篡改、插入、删除〕、顺序性〔未重排、重放〕和时间性,用来鉴别:否认:发送者事后不成认已发送过的文件;伪造:接收者伪造一份来自发送者的文件;篡改:接收者私自修改接收到的文件。冒充:网络中某一用户冒充发送者或接收者。在现实世界中,文件的真实性依靠签名或盖章进行证实。数字签名〔DigitalSignature〕是数字世界中的一种信息认证技术,它利用数据加密技术、数据变换技术,根据某种协议来产生一个反映被签署文件的特征和签署人特征,以保证文件的真实性和有效性的数字技术,同时也可用来核实接收者是否有伪造、篡改行为。简单地说,数字签名就是给报文一个可以核实或鉴别的标识。它应当具有如下一些性质:能够证实签名者的身份、签名日期和时间;能用于证实被签消息的内容;可以由第三方验证,可以解决通信双方的争议。7.1.2基于消息认证码的数字签名消息认证首先需要提供消息认证符。认证符是标识消息的数据,按照它的产生,可以分为消息认证码〔MessageAuthentication,MAC〕和杂凑函数〔HashFunction〕两大类。

1.MAC及其根本使用方式消息认证码也称密码校验和,是一个定长的n比特数据。它的产生方法为MAC=CK〔M〕其中:C是一个函数,它受通信双方共享的密钥K的控制,并以A欲发向B的消息M〔明文〕作为参数。MAC的根本使用方式如图7.1所示在实际应用时,消息及其认证码都要加密后进行传输,从而形成不同的认证方式。2.数据认证算法典型的鉴别码生成算法主要是基于DES的认证算法。该算法采用CBC〔CipherBlockchining〕模式,使MAC函数可以在较长的报文上操作,报文按64位分组,最后一组缺乏时补0。CBC模式的加密首先是将明文分成固定长度〔64位〕的块〔M1,M2…〕,然后将前面一个加密块输出的密文与下一个要加密的明文块进行XOR〔异或〕操作计算,将计算结果再用密钥进行加密得到密文。第一明文块加密的时候,因为前面没有加密的密文,所以需要一个初始化向量〔IV〕。这个算法是n轮迭代过程,n为分组数。最后一轮迭代结束后,取结果的左边n位作为鉴别码。初始向量IV取一个常数,一般取0。3.MAC生成函数的限制由于产生MAC的函数C是将较大的区域映射到较小的范围,所以具有多对一的映射特点,因而不可防止地会产生碰撞,即两个不同的报文产生相同的MAC,破坏MAC的唯一性。为此C的选择应满足如下条件:〔1〕如果攻击者得到M和相应的MAC,要构造一个满足CK〔M’〕=MAC的新消息M’在计算上是不可行的。即不知道K,不可能伪造一个与截获的MAC相匹配的新消息。〔2〕CK〔M〕应当是均匀分布的,即随机选取两个消息M,M’,那么[CK〔M’〕=CK〔M〕]的概率为2-n。其中n为MAC的长度。换句话说,攻击者截获一个MAC,那么伪造一个相匹配的消息的概率为最小。〔3〕如果M’为M的某种变换,那么CK〔M’〕=CK〔M〕的概率为2-n。即函数C不应当在消息的某些地方或某些比特弱于其他局部或比特,否那么攻击者一旦获得M和MAC,就可能修改M中的弱的局部,伪造出一个与原MAC相匹配的新消息。7.1.3基于杂凑函数的数字签名1.杂凑函数与报文摘要杂凑函数〔HashFunction,也称哈希函数或散列函数,通常简写为H〕是一个公开函数。它可以将任意任意长的消息M映射为较短的、固定长度的一个值H〔M〕作为消息M的认证符。H〔M〕也称消息摘要MD〔messagedigest〕或杂凑码、散列码。消息摘要的使用方式与消息认证码根本相同。2.杂凑函数应满足的条件消息摘要就像是需要认证的数据的一个“指纹〞。为了实现对于数据的认证,杂凑函数应当满足如下一些条件:对于不同的报文不能产生相同的杂凑码,即对于任何两个报文X和Y,不能生成H(X)=H(Y)。因此,改变原始报文中的任意一位的值,将产生完全不同的杂凑码。无法由HD推出报文,即对于给定的杂凑码MD,几乎无法找到M’使H(M’)=MD。对于任意一个报文,无法预知它的杂凑码。D的输入可以是任意长,而输出是固定长。H函数的算法是公开的,杂凑码的平安性来自H产生单向杂凑的能力。3.杂凑函数举例设报文有m组分组,杂凑码C有n位,那么某一位杂凑码Ci可以这样简单地计算:Ci=Bi1Bi2…Bim当然,它并不完全满足对杂凑函数的要求。典型的报文摘要算法有MD5〔Riverst提出,1992年[RFC1321]公布,码长128比特〕和平安散列算法SHA〔SecureHashAlgorithm,码长160bit〕。由于SHA比MD5多了32比特,所以更平安,但要慢些。

+++〔1〕MD5MD5由RonRivest在麻省理工学院提出的。该算法对任意长度的报文以512比特进行分组处理,产生一个128比特的报文摘要。〔2〕平安杂凑函数SHASHA由美国NIST和NSA共同设计,以小于264比特任意报文,产生一个160比特长度的报文摘要。7.2身份验证身份识别或身份标识〔Identification〕是指用户向系统提供的身份证据,也指该过程。身份认证〔Authentication〕是系统核实用户提供的身份标识是否有效的过程。在信息系统中,身份认证实际上是决定用户对请求的资源的存储权和使用权的过程。一般,人们也把身份识别和身份认证〔IdentificationandAuthentication〕统称为身份验证。7.2.1口令验证口令是最常用的身份认证方式。用户向系统输入口令后,通过了系统的验证,就能获得相应的权限。但是,口令是较弱的平安机制:如果使用随机产生的口令,由于难记,用户就要采取适当的存储手段;假设采用采用容易记忆的口令〔如家庭成员或朋友的名字、生日、球队名称、城市名等〕,又容易被猜测。下面讨论口令的3个重要的平安问题。1.口令的泄密口令可能泄密的几种途径有:〔1〕猜测和发现口令常用数据猜测,如如家庭成员或朋友的名字、生日、球队名称、城市名、身份证号码、号码、邮政编码等。字典攻击。其他,如望远镜窥视等。〔2〕电子监控在网络或电子系统中,被电子嗅探器、监控窃取。〔3〕访问口令文件在口令文件没有强有力保护的情形下,下载口令文件。在口令文件有保护的情况下,进行蛮力攻击。〔4〕通过人际工程泄露自己将口令告诉他人。2.口令的存储口令的存储不仅是为了备忘,更重要的是系统要在检测用户口令时进行比对。在系统中为进行比队而存储的方式有如下两种。〔1〕直接明文存储口令写在纸上或直接明文存储在文件或数据库中,最容易泄密。〔2〕Hash杂凑存储这种方式是使用杂凑函数为口令文件产生“指纹〞,即将每一个用户的系统存储账号和杂凑值存储在一个口令文件中。当用户登录时,输入口令后,系统计算口令的杂凑码,并与口令文件中的杂凑值比对:成功,那么允许登录;否那么,拒绝。

3.一次性口令

20世纪80年代,美国科学家LeslieLamport首次提出了利用杂凑函数产生一次性口令的设想。传统的口令是静态的,即在一定的时间内是不变的,可以重复使用,也容易被攻击而泄露。一次性口令是变动的密码。其变动源自产生密码的运算因子的变化。通常,一次性口令采用运算双因子:一个是用户密钥,用于代表用户身份;一个是变动因子,产生变动的口令。采用不同的变动因子,就形成了不同的一次性口令认证技术,如基于时间同步的认证技术、基于事件同步的认证技术、挑战/应答方式的非同步技术等。一次性口令也面临着字典攻击。为对付口令攻击,目前Internet用户普遍采用Bellcore的S/KEY一次性口令系统。关于S/KEY的具体内容,请参考有关资料。7.2.2智能卡与电子钥匙身份验证智能卡〔SmartCard〕是如名片大小的手持随机动态密码产生器,也称集成电路卡或IC卡〔IntegratedCard〕。对于智能卡的平安保护,一般采取如下一些措施:〔1〕对持卡人、卡和接口设备的合法性进行相互校验;〔2〕重要数据要加密后传输;〔3〕卡和接口设备中设置平安区,在平安区内包含有逻辑电路或外部不可读的存储区。任何有害的不标准的操作,将会被自动禁止进一步进行。〔4〕应设置止付名单〔黑名单〕。〔5〕有关人员要明确责任,严格遵守。电子钥匙〔ePass〕是一种通过USB直接与计算机相连、具有密码验证功能、可靠高速的小型存储设备,用于存储一些个人信息或证书,它内部的密码算法可以为数据传输提供平安的管道,是适合单机或网络应用的平安防护产品。其平安保护措施与智能卡相似。7.2.3生物特征身份验证1.指纹识别生物识别是利用人的唯一〔或相同概率极小〕的生理或行为特征作为身份认证的根据。历史最为悠久的生物识别是指纹识别。著名指纹专家刘持平先生曾经论证,早在7000年前我们的祖先就开始进行指纹识别的研究。到了春秋战国时代,手印检验不仅广泛应用于政府和民间的书信和邮件往来之中,并已经开始用于侦讯破案之中。指纹是一种十分精细的拓扑图形。如图7.4所示,一枚指纹缺乏方寸,上面密布着100~120个特征细节,这么多的特征参数组合的数量到达640亿种〔高尔顿说〕,也有一说是一兆的7次幂。并且由于它从胎儿4个月时生成后保持终生不变,因此,用它作为人的唯一标识,是非常可靠的。指纹的细节特征

指纹识别主要涉及4个过程:读取指纹图像、提取指纹特征、保存数据和比对。目前已经开发出计算机指纹识别系统,可以比较精确地进行指纹的自动识别了。我国即将使用的第2代身份证就将参加指纹信息。

2.虹膜识别虹膜是位于眼睛黑色瞳孔与白色巩膜之间的环形局部。它在总体上呈由里向外的放射状结构,并包含许多相互交错的类似斑点、细丝、冠状、条纹、隐窝等形状的细微特征。这些细微特征信息也被称为虹膜的纹理信息,主要由胚胎发育环境的差异决定,因此对每个人都具有唯一性、稳定性和非侵犯性。虹膜识别系统主要由虹膜图像采集装置、活体虹膜检测算法、特征提取和匹配几个模块组成。

3.面像识别面像识别系统包括两个技术环节:面像检测和面像识别。〔1〕面像检测面像检测主要实现面像的检测和定位,即从输入图像中找到面像及面像的位置,并将人脸从背景中分割出来。现有的面像检测方法可以分为3类:〔a〕基于规那么的面像检测:总结了特定条件下可用于检测面像的知识〔如脸型、肤色等〕,并把这些知识归纳成指导面像检测的规那么。〔b〕基于模板匹配的面像检测:首先构造具有代表性的面像模板,通过相关匹配或其他相似性度量检测面像。〔c〕基于统计学习的面像检测:主要利用面部特征点结构灰度分布的共同性。〔2〕面像识别面像识别由两个过程组成:〔a〕面像样本训练:提取面像特征,形成面像特征库。〔b〕识别:用训练好的分类器将待识别面像的特征同特征库中的特征进行匹配,输出识别结果。4.声纹鉴定声纹鉴定是以人耳听辩的声纹为根底,不仅关注发音人的语音频谱等因素,还充分挖掘说话人语音流中的各种特色性事件和表征性特点,如由方言背景确定的地域性,发音部位变化、语音频谱、内容以及发音速度和强度确定的发音人的年龄、性格、心态等。在计算机处理时,常常将人类声纹特征分为三个层次:〔1〕声道声学层次:在分析短时信号的根底上,抽取对通道、时间等因素不敏感特征。〔2〕韵律特征层次:抽取独立于声学、声道等因素的超音段特征,如方言、韵律、语速等。〔3〕语言结构层次:通过对语音信号的识别,获取更加全面和结构化的语义信息。声纹识别系统主要包括两局部:〔1〕特征提取:选取唯一表现说话人身份的有效且可靠的特征。〔2〕模式匹配:对训练和识别时的特征模式进行相似性匹配。但是,目前还没有正式它的唯一性。5.其他

步态识别。笔迹识别。签名识别。颅骨识别。视网膜识别。唇纹识别。DNA识别。按键特征识别。耳朵识别。足迹识别。……。7.2.4基于秘密密钥的身份验证一旦通信双方有了可以共同信任和依赖的第三方,就可以实现基于对称密钥的身份验证。一种方法是要求每方各亲自送一个秘密密钥到第三方。假设第三方为BB,A方的密钥为KA,B方的密钥为KB,那么只有A和BB知道KA,B和BB知道KB。如图7.5所示,当A要发一个明文X到B的操作过程如下:①A发送KA(X)到BB;②BB用KA将KA(X)解密为X,然后将A的名字和地址A、时间t以及原报文X构造成新的报文,用A和B都不知道的密钥KBB生成密文KBB(A+t+X)送回A;③A转手将KBB(A+t+X)发给B;④B无法对KBB(A+t+X)解密,再将其传给BB;⑤BB将KBB(A+t+X)解密,与原来的文本比较,证实无误后,用KB生成KB(A+t+X)传给B;B用KB将之解密。这种秘密密钥技术的数字签名是依赖于第三方的。从理论上讲,它能非常可靠地保证报文的平安性,实现报文的认证,但却对第三方的可靠性、平安性和公正性提出了极高的要求。7.2.5基于公开密钥的身份验证

简单地说,当A方用其私钥SKA将明文加密,报文DSKA(X)就被签名了。因为B只要用A的公钥能对其解密,就可以证明DSKA(X)是由A发送的。发生纠纷时,只要A和B都将它们的DSKA(X)和X出示给第三者,由第三者用PKA将两个DSKA(X)都解密,与X加以比照,就可以看出A是否有抵赖行为,B是否有伪造行为。将数字签名和公开密钥相结合,可以提供平安的通信效劳。其要点在于,发送方不是简单地将〔M+X〕发送出去,而是先用接收方的公开密钥EPKB进行加密后再发送出去。接收方收到被加密的EPKB(M,X)后,先用自己的私有密钥ESKB进行解密后,再产生数字签名Y与X比较。7.2.6Kerberos认证系统Kerberos是MIT为了保护Athena工程中的效劳和网络资源而开发的身份认证系统。目前已经被开放软件基金会〔OSF〕的分布计算环境〔DCE〕以及许多网络操作系统供给商采用。GreekKerberos是希腊神话中的一种有3个脑袋的地狱守门狗。作为认证系统的Kerberos也被其开发者塑造成具有三个头的网络大门的守护者。这时的三个“头〞为:认证〔Authentication〕。计费〔Accounting〕。审计〔Audit〕。Kerberos针对客户访问效劳器时可能出现的威胁,实现了一个没有经过验证的用户不能访问效劳器的目标。这些威胁是:一个用户可能扮演另一个用户访问特殊的效劳器;用户可能改变效劳器的网络地址。用户可能使用重放方式攻击效劳器,或中断效劳器的操作。为此,Kerberos提供了一个集中验证功能的效劳器,用于验证每一个访问效劳器的用户和访问用户的效劳器。Kerberos采用对称密钥加密算法来实现通过可信第3方KDC的身份验证。因此,它有3个通信参与方:需要验证身份的通信双方一个双方都信任的第三方——KDC当某个网络应用进程需要访问一个效劳进程,例如用户进程要向远程FTP效劳器发起FTP连接时,首先要向FTP效劳器提交自己的身份供验证,同时也要确认FTP效劳器的身份,从而构成一个双向身份验证。在Kerberos中,在某一段时间内通信双方提交给对方的身份“凭证〞〔ticket〕是由KDC生成的。该凭证中包含有如下内容:客户方和效劳器方的身份信息。下一阶段通信双方使用的临时加密密钥——会话密钥〔SessionKey〕。证明客户方拥有会话密钥的身份认证者〔Authenticator〕信息——防止攻击者再次使用同一凭证。时间标记〔Timestamp〕,以检测重放攻击〔ReplayAttack〕。为了提高平安性能,一个Kerberos凭证只在一段有限时间——凭证的生命期内有效。生命期过后,凭证自动失效,以后通信必须从KDC那里重新获得凭证。

Kerberos保持一个其客户方以及密钥的数据库。这些密钥由KDC与客户方共享,而且不能被第三方知道。如果客户是用户,该密钥就是用户口令经过杂凑函数生成的。Kerberos系统已经有5个版本。其中V1~V3是内部开发版,V4是1988年开发的,目前已经得到广泛应用。V5是针对V4的平安缺陷的改进版,已经于1994年作为Internet标准〔草案〕公布〔RFC1510〕。7.2.7X.509验证效劳1.数字证书数字证书,也称数字身份证、数字ID,它是由权威机构颁发给网上用户的一组数字信息,包含用户身份信息、用户公开密钥、签名算法标识、证书有效期、证书序列号、颁证单位、扩展项等。数字证书有以下特点:〔1〕它包含了身份信息,因此可以用于证明用户身份;〔2〕它包含了非对称密钥,不但可用于数据加密,还可用于数据签名,保证通信过程的平安和不可抵赖;〔3〕由于是认证权威机构公布的,因此具有很高的公信度。颁发数字证书的权威机构称为认证中心〔CertificateAuthority〕,简称CA,是可以信赖的第三方机构,负责产生、分配并管理数字证书。有了数字证书之后,在网上通信的双方进行联系的第一步便是利用预装在浏览器中的平安认证软件和认证中心的公钥对通信对象的数字证书进行验证;验证无误后,才可使用认证中心传递的加密公钥进行加密通信。2.X.509标准为了保障数字证书合理获取、撤出和验证过程,1988年ITU-T发表了。这是一个基于公开密钥和数字签名的标准,它的核心是数字证书格式和认证协议。X.509作为X.500目录效劳的一局部,定义了以下内容:定义了X.500目录向用户提供认证业务的一个框架;证书格式;基于公钥证书的认证协议。X.509标准的核心是与用户有关的公开密钥证书。这些证书由CA或用户放在目录下,并由一个可信赖的证书授权系统CA确认。证书格式包含如下内容。版本〔Version〕:区分X.509的不同版本。序列码〔Serialnumber〕:某个CA给出的用来识别证书的唯一编号。签字算法识别符〔Algorithmparameters〕:CA签署证书所用的公开密钥算法及相应参数。发证者〔Issuername〕:建立和签署证书的CA的名称。发证者识别码〔Issueruniqueidentifier〕:〔可选〕,用做CA的唯一标识。主体名称〔Subjectname〕:密钥拥有者的名称。主体识别码〔Subjectuniqueidentifier〕:〔可选〕,用做密钥拥有者的的唯一标识。公钥信息〔AlgorithmparametersKey〕:包括主体的公钥、该公钥的使用算法及参数。有效期〔NotbeforeNotafter〕:开始时间和终止时间。扩充域〔Extensions〕:包括一个或多个扩充的数据域,仅用于第3版。签字〔AlgorithmparametersEncryption〕:CA用自己的秘密密钥对上述域是杂凑值签字的结果。还包括签字算法标识符。X.509标准使用了下面的描述进行证书定义:CA<<A>>=CA{V,SN,AI,CA,TA,A,AP}其中:

Y<<X>>表示证书发放机构-Y向用户发放的证书。Y{I}表示I链接上Y对I的杂凑值签字。

3.证书目录证书产生之后,必须以一定的方式存储和发布,以便于使用。CA采用证书目录的方式对证书进行集中存储和管理。在证书目录中,不仅存储和管理用户证书,还存储用户的相关信息〔如电子邮件地址、号码等〕。由于证书的非保密性,证书目录也是非保密的。在标准化方面,目前证书目录广泛使用X.500标准。X.500标准目录不仅可以对证书进行集中管理,还可以管理用户相关信息,从而构成一个用户信息源。为了便于实际应用,在Internet环境下更多使用的是X.500标准的简化和改进版本——LDAP〔LightweightDirectoryProtocol,轻型目录访问协议〕。4.X.509结构证书的获得X.500目录的作用是存放用户的公钥证书。由于证书不能伪造,它们可以不需要特别的保护就可以放在目录里。现在的问题是是不是所有的证书都要由同一个CA签署?一般说来,当用户数目较多时,仅由一个CA为所有用户签署是不现实的。因为这样,需要两个条件:CA必须取得所有用户的信任;每一个用户必须以绝对可靠的方式通过复制获得CA的公钥来证实。显然,当用户数目较多时,应当由多个CA分头为不同的用户签署证书。但是,简单地由多个CA为不同的用户签署证书,也有一些问题。例如,X1为A签署了一个证书,X2为B签署了一个证书。那么,A不能阅读B的证书,也不能证实B的证书;同样,B不能阅读A的证书,也不能证实A的证书。这一目录结构如图7.6〔a〕所示。观察图7.6〔b〕,情况就不同了:〔1〕A可以从此目录中获得XI签署的X2的证书。由于A确切知道XI的公钥,从X1的证书中就可以获得X2的公钥,并利用XI来证实。〔2〕进一步A能获得X2签署的B的证书,并可以用已经获得的X2的公钥来证实B的数字签名,平安地获得B的公钥。这样,就形成了证书链。其中,A获得B的公钥的证书链,在X.509中的表示为X1?X2?X2?B?同理,B通过反向链也可以获得A的公钥,其结构表示为X2?X1?X1?A?这样证书链形成一个层次结构。X.509建议将所有的CA证书,须由CA放在目录中,并且要采用层次结构。图7.7为X.509层次结构的一个例子,其内部节点表示CA,叶节点表示用户。用户可以从目录中沿着一条证书路径,获得另一个节点的证书和公钥。例如,A获取B证书的证书路径为:X?W?W?V?V?Y?Y?Z?Z?B?A取得这些证书后,就能解密其证书路径,获得一个可信的B的公钥。5.用户证书的撤消在以下情形下,应当将用户证书撤消:一个用户证书到期。用户秘密密钥泄露。CA的证书失窃。CA不再给用户签发证书。每一个CA必须维护一个证书撤消列表〔CertificateRevocationList,CRL〕。CRL中列出所有已撤消证书的序列号和撤消日期。6.认证过程为了适应不同的应用环境,X.509建议了三种验证过程:一次验证过程、二次验证过程和三次验证过程。这三种验证过程都是使用公钥签字技术,并假定通信双方都认可目录效劳器获得对方的公钥证书,或对方最初发来的消息中包括公钥证书〔即双方都知道对方的公钥〕。图7.8为三种验证过程示意图。ABA{rA,TA,B,SgnData,EPKb[KAB]}ABA{rA,TA,B,SgnData,EPKb[KAB]}B{TB,rB,rA,SgnData,EPKa[KBA]}ABA{rA,TA,B,SgnData,EPKb[KAB]}A{rB}B{TB,rB,rA,SgnData,EPKa[KBA]}

〔1〕一次验证一次验证也称单向验证。被验证者A产生消息供验证者B验证。消息内容包括;B:B的身份;TA:时间戳,以保证消息的新鲜性。其中可以包括消息产生的时间〔可选〕和截止时间,以处理消息传送过程中可能出现的时延。rA:一次性随机数,防止重放;在消息未到截止时间前是唯一的,以拒绝具有相同rA的其他消息。如果仅仅为了验证,可以上述消息作为凭证;否那么,还可以包括:A用自己的公钥签署的数字签名sgnData,以保证信息的真实性和完整性。由B个公钥加密的欲建立的双方会话密钥KAB。〔2〕二次验证二次验证也称为双方验证,即A不仅要向B发送验证凭证信息,B也要通过应答以证明:B的身份;应答是由B发出的;应答的接收者是A;应答消息是完整的和新鲜的。〔3〕三次验证三次验证是在二次验证完成之后,A再将B发来的一次性随机数签字后发往B。这样可以通过检查一次性随机数就可以得知是否有重放,而不需检查时间戳。这种方法主要用在通信双方无法建立时钟同步的情形下。7.3公开密钥根底设施公开密钥根底设施〔PublicKeyInfrastructure,PKI〕是20世纪80年代在公开密钥理论和技术的根底上开展起来的为电子商务提供综合、平安根底平台的技术和标准。它的核心是对信任关系的管理。通过第三方信任,为所有网络应用透明地提供加密和数字签名等密码效劳所必须的密钥和证书管理,从而到达保证网上传递数据的平安、真实、完整和不可抵赖的目的。PKI的根底技术包括加密、数字签名、数据完整性机制、双重数字签名等。利用PKI可以方便地建立和维护一个可信的网络计算环境,建立一种信任机制,使人们在这个无法相互直面的环境中,能够确认对方的身份和信息,从而为电子支付、网上交易、网上购物、网上教育等提供可靠的平安保障。7.3.1PKI及其组成PKI系统的建立着眼于用户使用证书及相关效劳的便利性、用户身份认证的可靠性。具体职能包括:制定完整的证书管理政策;建立高可信度的CA中心;负责用户属性管理、用户身份隐私的保护和证书作废列表的管理;为用户提供证书和CRL有关效劳的管理;建立平安和相应的法规,建立责任划分并完善责任政策。因此,PKI是一个使用公钥和密码技术实施并提供平安效劳的、具有普适性的平安根底设施的总称,并不特指某一密码设备及其管理设备。可以说,它是生成、管理、存储、颁发和撤销基于公开密码的公钥证书所需要的硬件、软件、人员、策略和规程的总合。证书管理中心CA是PKI的核心。它属于可信的第三方,具有如下一些功能。颁发证书,如密钥对的生成,私钥的保护等,并保证证书持有者应有不同的密钥对;管理证书,记录所有颁发过的证书,以及所有被撤消的证书;用户管理,对于每一个新提交的申请,都要和列表中现存的标识名相比照,如出现重复,就予以拒绝;撤消证书,在证书有效期内使其无效,并发表CRL;验证申请者身份,对每一个申请者进行必要的身份认证;保护证书效劳器,证书效劳器必须是平安的,CA应采取相应措施保证其平安性;例如,加强对系统管理员的管理,防火墙保护等。保护CA私钥和用户私钥,CA签发证书所用的私钥要受到严格的保护,不能被毁坏,也不能非法使用。同时,要根据用户密钥对的产生方式,CA在某些情况下有保护用户私钥的责任;审计与日志检查,为了平安起见,CA对一些重要的操作应记入系统日志。在CA发生事故后,要根据系统日志做善后追踪处理——审计。CA管理员要定期检查日志文件,尽早发现可能的隐患。通常CA分成不同的一些层次。一个典型PKI体系结构如图7.9所示。其中,PAA称为政策批准机构,PCA称为政策认证中心,ORA〔OnlineRegistrationauthority〕称为在线注册机构。它们的区别在于政策权限不同:下层的证书要由上层颁发。〔1〕政策批准机构PAA政策批准机构PAA是一个PKI系统方针的制定者,它建立整个PKI体系的平安策略,批准本PAA下属的PCA的政策,为下属PCA签发证书,并负有监控各PCA行为的责任。〔2〕政策CA机构PCAPCA指定本PCA的具体政策。这些政策可以是其上级PAA政策的扩充或细化〔包括本PCA范围内密钥的产生、密钥的长度、证书的有效期规定以及CRL——被撤消的证书列表的管理〕,并为下属CA签发公钥证书。〔3〕CACA具有有限政策制定权限,它在上级PCA政策范围内,进行具体的用户公钥证书的签发、生成和发布以及CRL的生成和发布。〔4〕在线证书申请ORAORA进行证书申请者的身份认证,向CA提交证书申请,验证接收CA签发的证书,并将证书发放给申请者。有时还协助进行证书的制作。7.3.2PKI的操作功能

在实际运行中,PKI具有多种操作方式,这些操作方式又影响其他功能的实现方式,从而形成不同的PKI操作思想。下面介绍PKI的功能操作。

1.产生、验证、分发密钥用户公、私密钥对的产生、验证可以有如下一些方式。〔1〕用户自己产生密钥对用户选取产生密钥的方法,负责密钥的存储,还应当向CA提交自己的公钥和身份信息。CA对用户进行身份认证,对密钥的强度和持有者进行审查;审查过后,对用户的公钥产生证书,将证书发放给用户,并发布到目录效劳器。有时,用户产生密钥对后到ORA注册,由ORA完成认证后,由CA进行强度审查,再以电子签名方式交ORA向用户发放。〔2〕由CA为用户产生密钥对用户到CA中心产生并获得密钥对后,CA应自动销毁本地的用户密钥对拷贝;用户取得密钥对后,保存好自己的私钥,将公钥送CA或ORA申请证书。〔3〕由CA〔包括PAA、PCA、CA〕为自己产生密钥对PAA签发并向PCA颁发公钥证书;PCA签发并向CA颁发公钥证书;CA签发其下级〔用户或ORA〕证书,同时发送PCA、PAA的公钥证书。2.密钥的恢复与更新〔1〕密钥的恢复在密钥泄露、证书作废后,为了恢复PKI中实体的业务处理和产生数字签名,要为泄露密钥的实体重新产生一对新的密钥,CA也要为用户产生新的证书。如果泄露密钥的实体是CA,那么该CA需要重新签发以前用泄密密钥签发的那些证书。在具体做法上,往往采用双CA签发证书的方式。当一个CA的密钥泄露后,即转向另一个CA的证书链。〔2〕密钥更新密钥更新指在密钥没有泄露的情况下,定期更换密钥。3.支持数字签名和验证数字签名及其认证是PKI体系中极为普遍的操作。每个PKI成员都以多种算法支持数字签名和人证。〔1〕证书获取在验证数字签名时,用户必须先获得信息发送者的公钥证书,以对信息进行解密验证,同时还需要CA对发送者颁发的证书。获得证书可以有多种方式,如:发送者发送签名信息时,附加自己的证书。从单独发送证书的通道获得。从访问发布证书的目录效劳器获得。从证书的相关实体〔如ORA〕获得。〔2〕证书验证验证证书的过程是在证书链中迭代地寻找下一个证书和它相应的上级CA证书,并且从检查证书路径中可以信任的最后一个CA所签发的证书的有效性开始进行。检验一个证书后,就提取该证书中的公钥,用之检验下一个证书,直到验证完发送者的签名证书,并用该证书中的公钥进行数字签名。注意在使用每个证书前,必须检查相应的DRL。〔3〕证书保存保存证书是指PKI实体将证书保存在本地,以减少在PKI体系中获得证书的时间,提高证书签名的效率。保存证书要注意如下几点:存储每个证书前,要验证其有效性。存储单元要定时对证书管理维护,去除已作废或过期的证书。存储区满时,应删除使用最少的证书。〔4〕证书废止的申请私钥泄露有两种情况,可以相应地采取相应的废止方式:〔a〕成心泄露。这时证书的持有者应以或书面方式,通知相应CA。〔b〕证书中包含的证书持有者已终止或某组织关系

温馨提示

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

评论

0/150

提交评论