信息安全原理张基温电子教案第7章认证

上传人:xiao****017 文档编号:16245491 上传时间:2020-09-24 格式:PPT 页数:73 大小:510KB
收藏 版权申诉 举报 下载
信息安全原理张基温电子教案第7章认证_第1页
第1页 / 共73页
信息安全原理张基温电子教案第7章认证_第2页
第2页 / 共73页
信息安全原理张基温电子教案第7章认证_第3页
第3页 / 共73页
资源描述:

《信息安全原理张基温电子教案第7章认证》由会员分享,可在线阅读,更多相关《信息安全原理张基温电子教案第7章认证(73页珍藏版)》请在装配图网上搜索。

1、第7章 认证,认证(Authentication)就是对于证据的辨认、核实、鉴别,以建立某种信任关系。在通信中,要涉及两个方面:一方提供证据或标识,另一方面对这些证据或标识的有效性加以辨认、核实、鉴别。从认证的内容看,可以分为数据(报文)认证和身份验证;从认证过程看,需要有证据符(标识)、认证算法和认证协议三个要素。,7.1 数字签名,7.1.1 数字签名概述 在网络中进行数据的传输,必须保证接收到的消息的真实性(的确是由它所声称的实体发来的)、完整性(未被篡改、插入、删除)、顺序性(未重排、重放)和时间性,用来鉴别: 否认:发送者事后不承认已发送过的文件; 伪造:接收者伪造一份来自发送者的文

2、件; 篡改:接收者私自修改接收到的文件。 冒充:网络中某一用户冒充发送者或接收者。,在现实世界中,文件的真实性依靠签名或盖章进行证实。数字签名(Digital Signature)是数字世界中的一种信息认证技术,它利用数据加密技术、数据变换技术,根据某种协议来产生一个反映被签署文件的特征和签署人特征,以保证文件的真实性和有效性的数字技术,同时也可用来核实接收者是否有伪造、篡改行为。 简单地说,数字签名就是给报文一个可以核实或鉴别的标识。它应当具有如下一些性质: 能够证实签名者的身份、签名日期和时间; 能用于证实被签消息的内容; 可以由第三方验证,可以解决通信双方的争议。,7.1.2 基于消息认

3、证码的数字签名,消息认证首先需要提供消息认证符。认证符是标识消息的数据,按照它的产生,可以分为消息认证码(Message Authentication,MAC)和杂凑函数(Hash Function)两大类。,1. MAC及其基本使用方式 消息认证码也称密码校验和,是一个定长的n比特数据。它的产生方法为 MAC=CK(M) 其中:C是一个函数,它受通信双方共享的密钥K的控制,并以A欲发向B的消息M(明文)作为参数。,MAC的基本使用方式如图7.1所示,在实际应用时,消息及其认证码都要加密后进行 传输,从而形成不同的认证方式。,2. 数据认证算法 典型的鉴别码生成算法主要是基于DES的认证算法。

4、该算法采用CBC(Cipher Block chining)模式,使MAC函数可以在较长的报文上操作,报文按64位分组,最后一组不足时补0。,CBC模式的加密首先是将明文分成固定长度(64位)的块(M1,M2),然后将前面一个加密块输出的密文与下一个要加密的明文块进行XOR(异或)操作计算,将计算结果再用密钥进行加密得到密文。第一明文块加密的时候,因为前面没有加密的密文,所以需要一个初始化向量(IV)。这个算法是n轮迭代过程,n为分组数。最后一轮迭代结束后,取结果的左边n位作为鉴别码。初始向量IV取一个常数,一般取0。,3. MAC生成函数的限制 由于产生MAC的函数C是将较大的区域映射到较小

5、的范围,所以具有多对一的映射特点,因而不可避免地会产生碰撞,即两个不同的报文产生相同的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不应当在消息的某些地方

6、或某些比特弱于其他部分或比特,否则攻击者一旦获得M和MAC,就可能修改M中的弱的部分,伪造出一个与原MAC相匹配的新消息。,7.1.3 基于杂凑函数的数字签名,1. 杂凑函数与报文摘要 杂凑函数(Hash Function,也称哈希函数或散列函数,通常简写为H)是一个公开函数。它可以将任意任意长的消息M映射为较短的、固定长度的一个值H(M)作为消息M的认证符。H(M)也称消息摘要MD(message digest)或杂凑码、散列码。,消息摘要的使用方式与消息认证码基本相同。,2. 杂凑函数应满足的条件 消息摘要就像是需要认证的数据的一个“指纹”。为了实现对于数据的认证,杂凑函数应当满足如下一些

7、条件: 对于不同的报文不能产生相同的杂凑码,即对于任何两个报文X和Y,不能生成H(X)= H(Y)。因此,改变原始报文中的任意一位的值,将产生完全不同的杂凑码。 无法由HD推出报文,即对于给定的杂凑码MD,几乎无法找到M使H(M)=MD。 对于任意一个报文,无法预知它的杂凑码。 D的输入可以是任意长,而输出是固定长。 H函数的算法是公开的,杂凑码的安全性来自H产生单向杂凑的能力。,3. 杂凑函数举例 设报文有m组分组,杂凑码C有n位,则某一位杂凑码Ci可以这样简单地计算: Ci=Bi1 Bi2 Bim 当然,它并不完全满足对杂凑函数的要求。典型的报文摘要算法有MD5(Riverst提出,199

8、2年RFC 1321公布,码长128比特)和安全散列算法SHA(Secure Hash Algorithm,码长160bit)。由于SHA比MD5多了32比特,所以更安全,但要慢些。,+,+,+,(1)MD5 MD5由Ron Rivest在麻省理工学院提出的。该算法对任意长度的报文以512比特进行分组处理,产生一个128比特的报文摘要。 (2)安全杂凑函数SHA SHA由美国NIST和NSA共同设计,以小于264比特任意报文,产生一个160比特长度的报文摘要。,7.2 身份验证,身份识别或身份标识(Identification)是指用户向系统提供的身份证据,也指该过程。身份认证(Authent

9、ication)是系统核实用户提供的身份标识是否有效的过程。在信息系统中,身份认证实际上是决定用户对请求的资源的存储权和使用权的过程。一般,人们也把身份识别和身份认证(Identification and Authentication)统称为身份验证。,7.2.1 口令验证,口令是最常用的身份认证方式。用户向系统输入口令后,通过了系统的验证,就能获得相应的权限。但是,口令是较弱的安全机制:如果使用随机产生的口令,由于难记,用户就要采取适当的存储手段;若采用采用容易记忆的口令(如家庭成员或朋友的名字、生日、球队名称、城市名等),又容易被猜测。下面讨论口令的3个重要的安全问题。,1. 口令的泄密

10、口令可能泄密的几种途径有: (1)猜测和发现口令 常用数据猜测,如如家庭成员或朋友的名字、生日、球队名称、城市名、身份证号码、电话号码、邮政编码等。 字典攻击。 其他,如望远镜窥视等。 (2)电子监控 在网络或电子系统中,被电子嗅探器、监控窃取。 (3)访问口令文件 在口令文件没有强有力保护的情形下,下载口令文件。 在口令文件有保护的情况下,进行蛮力攻击。 (4)通过人际工程泄露 自己将口令告诉他人。,2. 口令的存储 口令的存储不仅是为了备忘,更重要的是系统要在检测用户口令时进行比对。在系统中为进行比队而存储的方式有如下两种。 (1)直接明文存储口令 写在纸上或直接明文存储在文件或数据库中,

11、最容易泄密。 (2)Hash杂凑存储 这种方式是使用杂凑函数为口令文件产生“指纹”,即将每一个用户的系统存储账号和杂凑值存储在一个口令文件中。当用户登录时,输入口令后,系统计算口令的杂凑码,并与口令文件中的杂凑值比对:成功,则允许登录;否则,拒绝。,3. 一次性口令 20世纪80年代,美国科学家Leslie Lamport首次提出了利用杂凑函数产生一次性口令的设想。 传统的口令是静态的,即在一定的时间内是不变的,可以重复使用,也容易被攻击而泄露。一次性口令是变动的密码。其变动源自产生密码的运算因子的变化。通常,一次性口令采用运算双因子:一个是用户密钥,用于代表用户身份;一个是变动因子,产生变动

12、的口令。采用不同的变动因子,就形成了不同的一次性口令认证技术,如基于时间同步的认证技术、基于事件同步的认证技术、挑战/应答方式的非同步技术等。 一次性口令也面临着字典攻击。为对付口令攻击,目前Internet用户普遍采用Bellcore的S/KEY一次性口令系统。关于S/KEY的具体内容,请参考有关资料。,7.2.2 智能卡与电子钥匙身份验证,智能卡(Smart Card)是如名片大小的手持随机动态密码产生器,也称集成电路卡或IC卡(Integrated Card)。对于智能卡的安全保护,一般采取如下一些措施: (1)对持卡人、卡和接口设备的合法性进行相互校验; (2)重要数据要加密后传输;

13、(3)卡和接口设备中设置安全区,在安全区内包含有逻辑电路或外部不可读的存储区。任何有害的不规范的操作,将会被自动禁止进一步进行。 (4)应设置止付名单(黑名单)。 (5)有关人员要明确责任,严格遵守。 电子钥匙(ePass)是一种通过USB直接与计算机相连、具有密码验证功能、可靠高速的小型存储设备,用于存储一些个人信息或证书,它内部的密码算法可以为数据传输提供安全的管道,是适合单机或网络应用的安全防护产品。其安全保护措施与智能卡相似。,7.2.3 生物特征身份验证,1. 指纹识别 生物识别是利用人的唯一(或相同概率极小)的生理或行为特征作为身份认证的根据。历史最为悠久的生物识别是指纹识别。著名

14、指纹专家刘持平先生曾经论证,早在7000年前我们的祖先就开始进行指纹识别的研究。到了春秋战国时代,手印检验不仅广泛应用于政府和民间的书信和邮件往来之中,并已经开始用于侦讯破案之中。 指纹是一种十分精细的拓扑图形。如图7.4所示,一枚指纹不足方寸,上面密布着100120个特征细节,这么多的特征参数组合的数量达到640亿种(高尔顿说),也有一说是一兆的7次幂。并且由于它从胎儿4个月时生成后保持终生不变,因此,用它作为人的唯一标识,是非常可靠的。,指纹的细节特征,指纹识别主要涉及4个过程:读取指纹图像、提取指纹特征、保存数据和比对。目前已经开发出计算机指纹识别系统,可以比较精确地进行指纹的自动识别了

15、。我国即将使用的第2代身份证就将加入指纹信息。,2. 虹膜识别 虹膜是位于眼睛黑色瞳孔与白色巩膜之间的环形部分。它在总体上呈由里向外的放射状结构,并包含许多相互交错的类似斑点、细丝、冠状、条纹、隐窝等形状的细微特征。这些细微特征信息也被称为虹膜的纹理信息,主要由胚胎发育环境的差异决定,因此对每个人都具有唯一性、稳定性和非侵犯性。 虹膜识别系统主要由虹膜图像采集装置、活体虹膜检测算法、特征提取和匹配几个模块组成。,3. 面像识别 面像识别系统包括两个技术环节:面像检测和面像识别。 (1)面像检测 面像检测主要实现面像的检测和定位,即从输入图像中找到面像及面像的位置,并将人脸从背景中分割出来。现有

16、的面像检测方法可以分为3类: (a)基于规则的面像检测:总结了特定条件下可用于检测面像的知识(如脸型、肤色等),并把这些知识归纳成指导面像检测的规则。 (b)基于模板匹配的面像检测:首先构造具有代表性的面像模板,通过相关匹配或其他相似性度量检测面像。 (c)基于统计学习的面像检测:主要利用面部特征点结构灰度分布的共同性。 (2)面像识别 面像识别由两个过程组成: (a)面像样本训练:提取面像特征,形成面像特征库。 (b)识别:用训练好的分类器将待识别面像的特征同特征库中的特征进行匹配,输出识别结果。,4. 声纹鉴定 声纹鉴定是以人耳听辩的声纹为基础,不仅关注发音人的语音频谱等因素,还充分挖掘说

17、话人语音流中的各种特色性事件和表征性特点,如由方言背景确定的地域性,发音部位变化、语音频谱、内容以及发音速度和强度确定的发音人的年龄、性格、心态等。,在计算机处理时,常常将人类声纹特征分为三个层次: (1)声道声学层次:在分析短时信号的基础上,抽取对通道、时间等因素不敏感特征。 (2)韵律特征层次:抽取独立于声学、声道等因素的超音段特征,如方言、韵律、语速等。 (3)语言结构层次:通过对语音信号的识别,获取更加全面和结构化的语义信息。 声纹识别系统主要包括两部分: (1)特征提取:选取唯一表现说话人身份的有效且可靠的特征。 (2)模式匹配:对训练和识别时的特征模式进行相似性匹配。 但是,目前还

18、没有正式它的唯一性。,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构造成新的报文,用

19、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(

20、X)是由A发送的。发生纠纷时,只要A和B都将它们的DSKA(X)和X出示给第三者,由第三者用PKA将两个DSKA(X)都解密,与X加以对比,就可以看出A是否有抵赖行为,B是否有伪造行为。 将数字签名和公开密钥相结合,可以提供安全的通信服务。其要点在于,发送方不是简单地将(M+X)发送出去,而是先用接收方的公开密钥EPKB进行加密后再发送出去。接收方收到被加密的EPKB(M,X)后,先用自己的私有密钥ESKB进行解密后,再产生数字签名Y与X比较。,7.2.6 Kerberos认证系统,Kerberos是MIT为了保护Athena项目中的服务和网络资源而开发的身份认证系统。目前已经被开放软件基金会

21、(OSF)的分布计算环境(DCE)以及许多网络操作系统供应商采用。 Greek Kerberos是希腊神话中的一种有3个脑袋的地狱守门狗。作为认证系统的Kerberos也被其开发者塑造成具有三个头的网络大门的守护者。这时的三个“头”为: 认证(Authentication)。 计费(Accounting)。 审计(Audit)。,Kerberos针对客户访问服务器时可能出现的威胁,实现了一个没有经过验证的用户不能访问服务器的目标。这些威胁是: 一个用户可能扮演另一个用户访问特殊的服务器; 用户可能改变服务器的网络地址。 用户可能使用重放方式攻击服务器,或中断服务器的操作。 为此,Kerbero

22、s提供了一个集中验证功能的服务器,用于验证每一个访问服务器的用户和访问用户的服务器。 Kerberos采用对称密钥加密算法来实现通过可信第3方KDC的身份验证。因此,它有3个通信参与方: 需要验证身份的通信双方 一个双方都信任的第三方KDC,当某个网络应用进程需要访问一个服务进程,例如用户进程要向远程FTP服务器发起FTP连接时,首先要向FTP服务器提交自己的身份供验证,同时也要确认FTP服务器的身份,从而构成一个双向身份验证。在Kerberos中,在某一段时间内通信双方提交给对方的身份“凭证”(ticket)是由KDC生成的。该凭证中包含有如下内容: 客户方和服务器方的身份信息。 下一阶段通

23、信双方使用的临时加密密钥会话密钥(Session Key)。 证明客户方拥有会话密钥的身份认证者(Authenticator)信息防止攻击者再次使用同一凭证。 时间标记(Timestamp),以检测重放攻击(Replay Attack)。 为了提高安全性能,一个Kerberos凭证只在一段有限时间凭证的生命期内有效。生命期过后,凭证自动失效,以后通信必须从KDC那里重新获得凭证。,Kerberos保持一个其客户方以及密钥的数据库。这些密钥由KDC与客户方共享,而且不能被第三方知道。如果客户是用户,该密钥就是用户口令经过杂凑函数生成的。 Kerberos系统已经有5个版本。其中V1V3是内部开发

24、版,V4是1988年开发的,目前已经得到广泛应用。V5是针对V4的安全缺陷的改进版,已经于1994年作为Internet标准(草案)公布(RFC 1510)。,7.2.7 X.509验证服务,1. 数字证书 数字证书,也称数字身份证、数字ID,它是由权威机构颁发给网上用户的一组数字信息,包含用户身份信息、用户公开密钥、签名算法标识、证书有效期、证书序列号、颁证单位、扩展项等。,数字证书有以下特点: (1)它包含了身份信息,因此可以用于证明用户身份; (2)它包含了非对称密钥,不但可用于数据加密,还可用于数据签名,保证通信过程的安全和不可抵赖; (3)由于是认证权威机构颁布的,因此具有很高的公信

25、度。 颁发数字证书的权威机构称为认证中心(Certificate Authority),简称CA,是可以信赖的第三方机构,负责产生、分配并管理数字证书。有了数字证书之后,在网上通信的双方进行联系的第一步便是利用预装在浏览器中的安全认证软件和认证中心的公钥对通信对象的数字证书进行验证;验证无误后,才可使用认证中心传递的加密公钥进行加密通信。,2. X.509标准 为了保障数字证书合理获取、撤出和验证过程,1988年ITU-T发表了。这是一个基于公开密钥和数字签名的标准,它的核心是数字证书格式和认证协议。X.509作为X.500目录服务的一部分,定义了下列内容: 定义了X.500目录向用户提供认证

26、业务的一个框架; 证书格式; 基于公钥证书的认证协议。 X.509标准的核心是与用户有关的公开密钥证书。这些证书由CA或用户放在目录下,并由一个可信赖的证书授权系统CA确认。,证书格式包含如下内容。 版本(Version):区分X.509的不同版本。 序列码(Serial number):某个CA给出的用来识别证书的唯一编号。 签字算法识别符(Algorithm parameters):CA签署证书所用的公开密钥算法及相应参数。 发证者(Issuer name):建立和签署证书的CA的名称。 发证者识别码(Issuer unique identifier):(可选),用做CA的唯一标识。 主体

27、名称(Subject name):密钥拥有者的名称。 主体识别码(Subject unique identifier):(可选),用做密钥拥有者的的唯一标识。 公钥信息(Algorithm parameters Key):包括主体的公钥、该公钥的使用算法及参数。 有效期(Not before Not after):开始时间和终止时间。 扩充域(Extensions):包括一个或多个扩充的数据域,仅用于第3版。 签字(Algorithm parameters Encryption):CA用自己的秘密密钥对上述域是杂凑值签字的结果。还包括签字算法标识符。,X.509标准使用了下面的描述进行证书定义

28、: CA=CAV,SN,AI,CA,TA,A,AP 其中: Y表示证书发放机构-Y向用户发放的证书。 YI表示I链接上Y对I的杂凑值签字。,3. 证书目录 证书产生之后,必须以一定的方式存储和发布,以便于使用。CA采用证书目录的方式对证书进行集中存储和管理。在证书目录中,不仅存储和管理用户证书,还存储用户的相关信息(如电子邮件地址、电话号码等)。由于证书的非保密性,证书目录也是非保密的。 在标准化方面,目前证书目录广泛使用X.500标准。X.500标准目录不仅可以对证书进行集中管理,还可以管理用户相关信息,从而构成一个用户信息源。 为了便于实际应用,在Internet环境下更多使用的是X.50

29、0标准的简化和改进版本LDAP(Lightweight Directory Protocol,轻型目录访问协议)。,4. X.509结构证书的获得 X.500目录的作用是存放用户的公钥证书。由于证书不能伪造,它们可以不需要特别的保护就可以放在目录里。现在的问题是是不是所有的证书都要由同一个CA签署? 一般说来,当用户数目较多时,仅由一个CA为所有用户签署是不现实的。因为这样,需要两个条件: CA必须取得所有用户的信任; 每一个用户必须以绝对可靠的方式通过复制获得CA的公钥来证实。 显然,当用户数目较多时,应当由多个CA分头为不同的用户签署证书。但是,简单地由多个CA为不同的用户签署证书,也有一

30、些问题。例如,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中的表示为 X1X2X2B 同理,B通过反向链也可以获得A的公钥,其结

31、构表示为 X2X1X1A,这样证书链形成一个层次结构。X.509建议将所有的CA证书,须由CA放在目录中,并且要采用层次结构。图7.7为X.509层次结构的一个例子,其内部节点表示CA,叶节点表示用户。用户可以从目录中沿着一条证书路径,获得另一个节点的证书和公钥。例如,A获取B证书的证书路径为: XWWVVYYZZB A取得这些证书后,就能解密其证书路径,获得一个可信的B的公钥。,5. 用户证书的吊销 在下列情形下,应当将用户证书吊销: 一个用户证书到期。 用户秘密密钥泄露。 CA的证书失窃。 CA不再给用户签发证书。 每一个CA必须维护一个证书吊销列表(Certificate Revocat

32、ion List,CRL)。CRL中列出所有已吊销证书的序列号和吊销日期。,6. 认证过程 为了适应不同的应用环境,X.509建议了三种验证过程:一次验证过程、二次验证过程和三次验证过程。这三种验证过程都是使用公钥签字技术,并假定通信双方都认可目录服务器获得对方的公钥证书,或对方最初发来的消息中包括公钥证书(即双方都知道对方的公钥)。图7.8为三种验证过程示意图。,ArA,TA,B,SgnData,EPKbKAB,(1)一次验证 一次验证也称单向验证。被验证者A产生消息供验证者B验证。消息内容包括; B:B的身份; TA:时间戳,以保证消息的新鲜性。其中可以包括消息产生的时间(可选)和截止时间

33、,以处理消息传送过程中可能出现的时延。 rA:一次性随机数,防止重放;在消息未到截止时间前是唯一的,以拒绝具有相同rA的其他消息。 如果仅仅为了验证,可以上述消息作为凭证;否则,还可以包括: A用自己的公钥签署的数字签名sgnData,以保证信息的真实性和完整性。 由B个公钥加密的欲建立的双方会话密钥KAB。,(2)二次验证 二次验证也称为双方验证,即A不仅要向B发送验证凭证信息,B也要通过应答以证明: B的身份; 应答是由B发出的; 应答的接收者是A; 应答消息是完整的和新鲜的。,(3)三次验证 三次验证是在二次验证完成之后,A再将B发来的一次性随机数签字后发往B。这样可以通过检查一次性随机

34、数就可以得知是否有重放,而不需检查时间戳。这种方法主要用在通信双方无法建立时钟同步的情形下。,7.3 公开密钥基础设施,公开密钥基础设施(Public Key Infrastructure,PKI)是20世纪80年代在公开密钥理论和技术的基础上发展起来的为电子商务提供综合、安全基础平台的技术和规范。它的核心是对信任关系的管理。通过第三方信任,为所有网络应用透明地提供加密和数字签名等密码服务所必须的密钥和证书管理,从而达到保证网上传递数据的安全、真实、完整和不可抵赖的目的。PKI的基础技术包括加密、数字签名、数据完整性机制、双重数字签名等。利用PKI可以方便地建立和维护一个可信的网络计算环境,建

35、立一种信任机制,使人们在这个无法相互直面的环境中,能够确认对方的身份和信息,从而为电子支付、网上交易、网上购物、网上教育等提供可靠的安全保障。,7.3.1 PKI及其组成,PKI系统的建立着眼于用户使用证书及相关服务的便利性、用户身份认证的可靠性。具体职能包括: 制定完整的证书管理政策; 建立高可信度的CA中心; 负责用户属性管理、用户身份隐私的保护和证书作废列表的管理; 为用户提供证书和CRL有关服务的管理; 建立安全和相应的法规,建立责任划分并完善责任政策。,因此,PKI是一个使用公钥和密码技术实施并提供安全服务的、具有普适性的安全基础设施的总称,并不特指某一密码设备及其管理设备。可以说,

36、它是生成、管理、存储、颁发和撤销基于公开密码的公钥证书所需要的硬件、软件、人员、策略和规程的总合。 证书管理中心CA是PKI的核心。它属于可信的第三方,具有如下一些功能。,颁发证书,如密钥对的生成,私钥的保护等,并保证证书持有者应有不同的密钥对; 管理证书,记录所有颁发过的证书,以及所有被吊销的证书; 用户管理,对于每一个新提交的申请,都要和列表中现存的标识名相比照,如出现重复,就予以拒绝; 吊销证书,在证书有效期内使其无效,并发表CRL; 验证申请者身份,对每一个申请者进行必要的身份认证; 保护证书服务器,证书服务器必须是安全的,CA应采取相应措施保证其安全性;,例如,加强对系统管理员的管理

37、,防火墙保护等。 保护CA私钥和用户私钥,CA签发证书所用的私钥要受到严格的保护,不能被毁坏,也不能非法使用。同时,要根据用户密钥对的产生方式,CA在某些情况下有保护用户私钥的责任; 审计与日志检查,为了安全起见,CA对一些重要的操作应记入系统日志。在CA发生事故后,要根据系统日志做善后追踪处理审计。CA管理员要定期检查日志文件,尽早发现可能的隐患。 通常CA分成不同的一些层次。一个典型PKI体系结构如图7.9所示。其中,PAA称为政策批准机构,PCA称为政策认证中心,ORA(Online Registration authority)称为在线注册机构。它们的区别在于政策权限不同:下层的证书要

38、由上层颁发。,(1)政策批准机构PAA 政策批准机构PAA是一个PKI系统方针的制定者,它建立整个PKI体系的安全策略,批准本PAA下属的PCA的政策,为下属PCA签发证书,并负有监控各PCA行为的责任。 (2)政策CA机构PCA PCA指定本PCA的具体政策。这些政策可以是其上级PAA政策的扩充或细化(包括本PCA范围内密钥的产生、密钥的长度、证书的有效期规定以及CRL被吊销的证书列表的管理),并为下属CA签发公钥证书。,(3)CA CA具有有限政策制定权限,它在上级PCA政策范围内,进行具体的用户公钥证书的签发、生成和发布以及CRL的生成和发布。 (4)在线证书申请ORA ORA进行证书申

39、请者的身份认证,向CA提交证书申请,验证接收CA签发的证书,并将证书发放给申请者。有时还协助进行证书的制作。,7.3.2 PKI的操作功能,在实际运行中,PKI具有多种操作方式,这些操作方式又影响其他功能的实现方式,从而形成不同的PKI操作思想。下面介绍PKI的功能操作。,1. 产生、验证、分发密钥 用户公、私密钥对的产生、验证可以有如下一些方式。 (1)用户自己产生密钥对 用户选取产生密钥的方法,负责密钥的存储,还应当向CA提交自己的公钥和身份信息。CA对用户进行身份认证,对密钥的强度和持有者进行审查;审查过后,对用户的公钥产生证书,将证书发放给用户,并发布到目录服务器。 有时,用户产生密钥

40、对后到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中实体的业务处理和产生数字签名,要为泄露密钥的实体重新产生一

41、对新的密钥,CA也要为用户产生新的证书。 如果泄露密钥的实体是CA,则该CA需要重新签发以前用泄密密钥签发的那些证书。 在具体做法上,往往采用双CA签发证书的方式。当一个CA的密钥泄露后,即转向另一个CA的证书链。 (2)密钥更新 密钥更新指在密钥没有泄露的情况下,定期更换密钥。,3. 支持数字签名和验证 数字签名及其认证是PKI体系中极为普遍的操作。每个PKI成员都以多种算法支持数字签名和人证。 (1)证书获取 在验证数字签名时,用户必须先获得信息发送者的公钥证书,以对信息进行解密验证,同时还需要CA对发送者颁发的证书。获得证书可以有多种方式,如: 发送者发送签名信息时,附加自己的证书。 从

42、单独发送证书的通道获得。 从访问发布证书的目录服务器获得。 从证书的相关实体(如ORA)获得。,(2)证书验证 验证证书的过程是在证书链中迭代地寻找下一个证书和它相应的上级CA证书,并且从检查证书路径中可以信任的最后一个CA所签发的证书的有效性开始进行。检验一个证书后,就提取该证书中的公钥,用之检验下一个证书,直到验证完发送者的签名证书,并用该证书中的公钥进行数字签名。 注意在使用每个证书前,必须检查相应的DRL。,(3)证书保存 保存证书是指PKI实体将证书保存在本地,以减少在PKI体系中获得证书的时间,提高证书签名的效率。保存证书要注意如下几点: 存储每个证书前,要验证其有效性。 存储单元

43、要定时对证书管理维护,清除已作废或过期的证书。 存储区满时,应删除使用最少的证书。,(4)证书废止的申请 私钥泄露有两种情况,可以相应地采取相应的废止方式: (a)故意泄露。这时证书的持有者应以电话或书面方式,通知相应CA。 (b)证书中包含的证书持有者已终止或某组织关系已终止。这时应由原关系中组织出面通知ORA或CA。 具体处理过程为:如果ORA得到通知,应通知相应的CA;作废请求被确认后,CA在数据库中将该证书记上作废标记,并在发布CRL时将之加入,并标明作废时间。,(5)CRL的获取 CRL的获取可以有多种方式,如 CA产生CRL后,自动发送到下属各实体。 使用证书的各PKI实体从目录服

44、务器获得相应的CRL。,4. 交叉认证 每个CA只可能覆盖某一范围,称为CA域或PKI域。当属于不同的CA域的用户需要安全地交换信息时,就需要引入交叉证书和交叉认证。 交叉认证是第三方信任的扩展。在两个CA之间的交叉认证可以采用下面的方法: (1)一个给定的CA可以承认另一个CA在某个名字空间(或其中给定的一部分)中,被授权颁发的证书。在此前提下,不同的PKI域间建立互操作路径。 (2)交换根CA(PKI层次中的最高层)的密钥。,5. 审计 PKI体系中的任何实体都可以进行审计。审计信息包括:产生密钥对、密钥泄密报告、证书请求、证书的请求、证书中包含的某种关系等。审计一般由CA执行,并由CA保

45、存所有有关安全的审计信息。 6. 存档 CA产生的证书、CRL、有关文件、审计信息和有关法律规定等,都应归档,作为历史文件保存。,习 题 1. 假定数据在信道上是加密传输的,那么采用MAC认证就会呈现两种方式: (1)对明文认证,即在发送方将报文及其MAC一起加密,接收方解密后,分成两部分,再对解密后的明文生成MAC与传输来的MAC进行比较。 (2)对密文认证,几接收方在未解密前先对报文的密文生成MAC与由A方传送来的MAC的密文进行比较。 用图示说明以上两种NAC认证方式的认证过程。 2. 分析消息认证码可能遭受的攻击。 3. 查找资料,描述MD5算法的处理过程,并针对DH5设计一个攻击算法

46、。 4. 查找资料,描述SHA算法的处理过程。,5. 描述报文鉴别码和杂凑码的区别。 6. 简述口令可能会遭受哪些攻击。 7. 如何保护IC卡的安全? 8. 简述生物特征认证的发展趋势。 9. 在身份验证中,可能会遇到重放攻击。重放具有如下几种形式: 简单的重放:攻击者简单地复制信息,经过一段时间后,再重放原来的信息。 重放不能被检测到:这时,原始的信息不能到达,只有重放信息到达目的地。 没有定义的重放返回:发送者这时很难确定是发送信息还是接收信息。 请考虑如何确保能确定信息是不是重放的信息?,10. 请画出带有时间戳的基于秘密密钥的身份验证过程。 11. 简述数字签名的用途和基本流程。 12

47、. 要将名文M由A1并附有A1、A2、Ai、An的依次签名发往B。设PKAi和SKAi分别为Ai的公开密钥和私有密钥,在签名时要求每一位签名者只验证其前一位签名者的签名;如果验证通过,则在此基础上加上自己的签名,否则终止签名;最后一位签名者在签名完成后将最终信息和签名一起发送出去。每一位签名者都可以推算出前一位签名者和后一位签名者并且知道他们的公开密钥。试设计该多人签名算法。,13. 查阅相关资料,比较各种数字签名算法的优缺点。 14. 何为重放攻击?请举例说明。 15. 可信第三方有些什么作用? 16. 数字签名进程需要哪些数据? 17. 查阅资料,简述有关PKI的标准及其相关产品。 18. PKI可以提供哪些安全服务? 19. PKI体系中包含了哪些与信任有关的概念?,

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!