1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第5章 认证技术,第,5,章 认证技术,2,知识点:,认证模型及协议,静态口令认证技术,动态口令认证技术,消息认证技术,实体认证技术,X.509,认证技术,数字证书,PKI,、,PMI,技术,3,5.1,认证技术概述,5.1.1,认证及认证模型,认证(,Authentication,)是指核实真实身份的过程,是防止主动攻击的重要技术之一,是一种用可靠的方法证实被认证对象(包括人和事)是否名副其实或是否有效的过程,因此
2、也称为鉴别或验证。,认证(,Authentication,)是指核实真实身份的过程,是防止主动攻击的重要技术之一,是一种用可靠的方法证实被认证对象(包括人和事)是否名副其实或是否有效的过程,因此也称为鉴别或验证。,纯认证系统的模型,4,5.1.2,认证协议,认证协议就是进行认证的双方采取的一系列步骤。认证协议主要有单向认证和双向认证协议两种。,1,单向认证,与密钥分发相结合的单向认证有两类:一类采用对称密码技术,需要一个可信赖的第三方,通常为密钥分发中心(,KDC,)或认证服务器(,AS,),由这个第三方来实现通信双方的身份认证和密钥分发;另一类采用非对称密码技术,无需第三方的参与。,(,1,
3、需要第三方参与的单向认证,图,5-2,该方法保证只有合法的接收者才能阅读到消息内容;它还提供了发送方是,A,这个认证,但该协议无法防止重放攻击。,5,(,2,)无需第三方参与的单向认证,协议执行的步骤如下(如图,5-3,所示):,图,5-3,2,双向认证,在双向认证过程中,通信双方需要互相认证的身份,然后交换会话密钥,双向认证的典型方案是,Needham/Schroder,协议,协议执行的步骤如下(如图,5-4,所示):,6,密钥,K,A,和,K,B,分别是,A,与,KDC,、,B,与,KDC,共享的密钥,这个协议的目的是将会话密钥,K,S,安全的分发给,A,和,B,。在步骤中,A,可安全地
4、获取一个新的会话密钥;步骤中的报文只能被,B,解密,因此只有,B,知道报文的内容;在步骤中,,B,已获取了会话密钥,K,S,;在步骤中,B,确信,A,已获得了会话密钥,K,S,,同时也使得,B,确信这是一个新报文,因为使用了随机数,N,2,。本协议中步骤和的作用是防止某种特定类型的重放攻击。,图,5-4,7,尽管有步骤和的存在,但此协议还是容易遭到一种重放攻击。假定,C,是攻击者,已获得了一个过时的会话密钥。,C,可以冒充,A,,使用旧的会话密钥,通过简单的重放步骤就能欺骗,B,,除非,B,始终牢记所有与,A,的会话密钥,否则,B,无法确定这是一个重放。如果,C,能截获步骤中的报文,那么他就能
5、够模仿步骤中的响应。因此,,C,可以向,B,发送一个伪造的报文,让,B,以为报文是来自,A,(且使用的是认证过的会话密钥)。,Denning,提出了改进的,Needham/Schroder,协议,克服了上述这种重放攻击,这个改进协议是在步骤和中增加了时间戳,并假定密钥,KA,和,KB,是完全安全的。改进后的协议执行的步骤如下:,8,大家有疑问的,可以询问和交流,可以互相讨论下,但要小声点,9,5.2,口令认证技术,5.2.1,安全口令,为了防止攻击者猜测出口令,选择的安全口令应满足以下要求:,(,1,)口令长度适中,(,2,)不回送显示,(,3,)记录和报告,(,4,)自动断开连接,(,5,)
6、口令存储的安全性,目前,口令的存储有以下两种方法:明文存储;散列(,Hash,)函数存储。,10,图,1-1,就是通信服务提供者的信息安全模型。,5.2.2,静态口令认证技术,当前,最基本、最常用的身份认证技术就是,“,用户名,+,静态口令,”,认证。静态口令认证一般分为两个阶段:第,1,阶段是身份识别阶段,确认认证对象是谁;第,2,阶段是身份验证阶段,获取身份信息进行验证。,静态口令认证虽然具有用户使用简单、方便,线路上传输的数据量最小,后台服务器数据调用最小,速度最快,实现的成本最低等优势,但在口令强度、口令传输、口令验证、口令存储等许多环节都存在严重的安全隐患,可以说是最不安全的认证技术
7、11,实现动态口令认证的技术有:,5.2.3,动态口令认证技术,1,口令表认证技术,口令表认证技术是要求用户必须提供一张记录有一系列口令的表,并将表保存在系统中,系统为该表设置了一个指针用于指示下次用户登录时所应使用的口令。,2,双因子认证技术,一次性口令是变动的口令,其变化来源于产生密码的运算因子的变化。一次性口令的产生因子一般采用双运算因子:一个是用户的私有密钥;一个是变动的因子。变动因子可以是时间,也可以是事件,形成基于时间同步、事件同步、挑战,/,应答非同步等不同的一次性口令认证技术。,12,下面简单介绍基于一次性口令的身份认证系统(,S/KEY,),目前,S/KEY,现已经作为标
8、准的协议,RFC1760,。,(,1,),S/KEY,的认证过程,S/KEY,的认证过程如图,5-5,所示,步骤如下:,图,5-5,13,用户向身份认证服务器提出连接请求;,服务器返回应答,并附带两个参数(,seed,seq,);,用户输入口令,系统将口令与,seed,连接,进行,seq,次,Hash,计算(,Hash,函数可以使用,MD4,或,MD5,),产生一次性口令,传给服务器;,服务器端必须存储一个文件,它存储每一个用户上次登录的一次性口令。服务器收到用户传过来的一次性口令后,再进行一次,Hash,计算,与先前存储的口令进行比较,若匹配则通过身份认证,并用这次的一次性口令覆盖原先的口令
9、下次用户登录时,服务器将送出,seq,=,seq,1,。这样,如果客户确实是原来的那个用户,那么他进行,seq1,次,Hsah,计算的一次性口令应该与服务器上存储的口令一致。,14,(,2,),S/KEY,的优点,用户通过网络传送给服务器的口令是利用秘密口令和,seed,经过,MD4,(或,MD5,)生成的密文,用户拥有的秘密口令并没有在网上传播。这样即使黑客得到了密文,由于散列算法固有的非可逆性,要想破解密文在计算上是不可行的。在服务器端,因为每一次成功的身份认证后,,seq,自动减,1,,这样下次用户连接时产生的口令同上次生成的口令是不一样的,从而有效地保证了用户口令的安全。,实现原理简
10、单,,Hash,函数的实现可以用硬件来实现,可以提高运算效率。,(,3,),S/KEY,的缺点,给用户带来一些麻烦(如口令使用一定次数后需要重新初始化,因为每次,seq,要减,1,)。,15,S/KEY,的安全性依赖于散列算法(,MD4/MD5,)的不可逆性,由于算法是公开的,当有关于这种算法可逆计算的研究有了信息时,系统将会被迫重新使用其他安全算法。,S/KEY,系统不使用任何形式的会话加密,因而没有保密性。如果用户想要阅读他在远程系统的邮件或日志,这会在第,1,次会话中成为一个问题;而且由于有,TCP,会话的攻击,这也会对,S/KEY,的安全性构成威胁。,所有一次性口令系统都会面临密钥的重
11、复这个问题,这会给入侵者提供入侵机会。,S/KEY,需要维护一个很大的一次性密钥列表,有的甚至让用户把所有使用的一次性密钥列在纸上,这对于用户来说是非常麻烦的事情。此外,有的提供硬件支持,这就要求使用产生密钥的硬件来提供一次性密钥,用户必须安装这样的硬件。,16,5.3,消息认证技术,消息认证是一种过程,它使得通信的接收方能够验证所收到的报文(发送者、报文的内容、发送时间、序列等)在传送过程中是否被假冒、伪造、篡改,是否感染了病毒等,即保证信息的完整性和有效性。,1,消息认证码,5.3.1,采用,MAC,的消息认证技术,17,(,1,),B,确信消息未被更改过。如果一个攻击者更改消息,而未更改
12、MAC,,那么,B,计算出来的消息将不同于接收到的,MAC,(假定攻击者不知道该密钥,因此不可能更改,MAC,来对应被更改过的消息)。,(,2,),B,确信消息来自发送者。因为没有其他人知道该密钥,所以也没有人能为一个消息伪造一个合适的,MAC,。,(,3,)如果消息包括一个序列号(如用于,HDLC,、,X.25,和,TCP,),那么接收者确信该序列号的正确性。这是因为攻击者无法更改序列号。,2,基于,DES,的消息认证码,利用,DES,算法可以生成消息认证码(,FIPS PUB113,),它是使用,DES,加密后的密文的若干位(如,16,或,32,位)作为消息认证码,如图,5-6,所示。,
13、18,图,5-6,基于,DES,的消息认证码,19,3,消息认证码方案,20,21,1,Hash,函数的概念,Hash,函数是可接受变长的数据输入,并生成定长的数据输出的函数。这个定长的输出是输入数据的,Hash,值或称为消息摘要。由于,Hash,函数具有单向性的属性,故也称之为单向散列函数。,Hash,值(消息摘要、散列码)又被称为输入数据的数字指纹。,5.3.2,采用,Hash,函数的消息认证技术,22,2,简单的,Hash,算法,23,不同的,Hash,值可以提供几种消息认证方式(如图,5-9,所示):,(,1,)使用对称密码技术对附加,Hash,值的消息进行加密(如图,5-9,(,a,
14、所示)。认证的原理是:因为只有,A,和,B,共享密钥,K,,因此消息,M,必定来自,A,且未被篡改。消息摘要提供认证所需要的结构或冗余。因为对包括消息和,Hash,值的整体进行了加密,因此还提供了保密。,3,采用,Hash,函数的消息认证,24,(,2,)使用对称,密码技术仅对,Hash,值进行加密(如图,5-9,(,b,)所示)。该方法是针对消息无需保密的应用情况,从而减少了由加密而增加的处理负担。由,H,值与加密结果合并成为的一个整体函数实际上就是一个消息认证码(,MAC,)。是变量消息,M,和密钥,K,的函数值,且它生成一个定长的输出,对不知道该密钥的攻击者来说是安全的。,25,(,3
15、使用公钥密码技术和发送方的私钥仅对,Hash,值进行加密(如图,5-9,(,c,)所示)。该方法既能提供认证,又能提供数字签名。因为只有发送方能够生成加密的,Hash,认证码(事实上,这也是数字签名的本质)。,(,4,)同时提供保密性和数字签名。可使用一个对称秘密密钥对消息和已使用的公钥加密的,Hash,认证码一起进行加密,如图,5-9,(,d,)所示。,26,(,5,)通信各方共享一个公共的秘密值,S,的,Hash,值(如图,5-9,(,e,)所示)。该方法使用,Hash,值,但不对其加密。假定通信各方共享一个公共秘密值,S,,用户,A,对串接的消息,M,和,S,计算出,Hash,值,并
16、将得到的,Hash,值附加在消息,M,后。因为秘密值,S,本身并不被发送,攻击者无法更改中途截获的消息,也就无法产生假消息,此方法只提供认证。,27,(,6,)通过对包含消息和,Hash,值的整体进行加密就能对方法(,5,)增加保密功能,如图,5-9,(,f,)所示。当不需要保密时,方法(,2,)和(,3,)在降低计算量上要优于那些需要对整个消息进行加密的方法。然而,目前对避免加密的方法(,5,)越来越重视。,28,表,5-1,归纳了图,5-9,中说明的保密和认证方法。,29,5.4,实体认证技术,5.4.1,身份认证系统,1,身份认证系统的组成,由,4,部分组成:示证者,P,(,Prover
17、也称为申请者(,Claimant,),即出示证件的人,提出某种要求)、验证者,V,(,Verifier,)(检验示证者提出的证件的正确性和合法性,决定是否满足要求)、攻击者(可以窃听和伪装示证者,骗取验证者的信任)和可信赖者(即第三方,也称仲裁者,参与调解纠纷)。实现身份验证的这类技术称为身份认证技术,也称为识别(,Identification,)、实体认证(,Entity Authentication,)、身份证实(,Identity Verification,)等。实体认证与消息认证的区别主要体现在:消息认证本身不需要实时,而实体认证一般都是实时的;另一方面实体认证通常是认证实体本身
18、而消息认证除了证实消息的合法性和完整性外,还要知道消息的含义。,30,2,身份认证系统的要求,作为一个安全、可靠的身份认证系统,应满足以下要求:,(,1,)不具可传递性(,Transferability,),验证者,B,不可能重用示证者,A,提供给他的信息来伪装示证者,A,,而成功地骗取其他人的验证,从而得到信任;,(,2,)攻击者伪装示证者欺骗验证者成功的概率要小到可以忽略的程度,特别是要能抗击已知密文攻击,即能抗击攻击者在截获到示证者的验证者多次通信下的密文,然后伪装示证者欺骗验证者;,(,3,)验证者正确识别合法示证者的概率极大化(尽可能大);,(,4,)计算有效性,为实现身份认证所需
19、的计算量要小;,(,5,)通信有效性,为实现身份认证所需的通信次数和数据量要小;,(,6,)秘密参数能安全存储;,(,7,)交互识别,必须满足某些应用中双方能相互进行身份认证的要求,31,(,8,)第三方的可信赖性,必要时能够实时参与;,(,9,)提供可证明安全性。,其中,(,7,)(,10,)是某些身份认证系统提出的要求。,3,身份认证的分类,身份认证可以分为以下两大类:,(,1,)身份证实(,Identification Verification,):对身份进行肯定或否定,即要回答“你是否是你所声称的你”。一般方法是输入示证者的个人信息,对公式和算法运算所得结果与卡上或库中所存储的信息进行
20、比较,得出结论。,(,2,)身份识别(,Identity Recognition,):要回答“我是否知道你是谁”,一般方法是输入个人信息,经过处理提取成模板信息,试着在存储数据库中搜索并找出一个与之匹配的模板,然后给出结论。比如确定一个人是否曾经有前科的指纹检验系统。,32,4,实现身份认证的基本途径,实现身份认证的基本途径有以下,3,类:,(,1,)所知(,Knowledge,):个人所知道的或掌握的知识,如口令、密码等。,(,2,)所有(,Possesses,):个人所具有的东西,如身份证、护照、信用卡、钥匙等。,(,3,)个人特征(,Characteristics,):包括指纹、笔迹、手
21、型、脸型、血型、声纹、视网膜、虹膜、,DNA,、走路的姿势等。,5.4.2,通行字认证技术,通行字也称口令、护字符,是一种根据已知事物验证的方法,也是目前使用最广泛的身份认证法。,1,通行字的安全控制措施,(,1,)系统消息(,System Message,):一般在系统联机和脱机时都显示礼貌性用语,这成为识别系统的线索,因此该系统应当可以抑制这类消息的显示(通行字不能显示)。,33,(,2,)口令次数限定:不成功输入口令,3,5,次,系统将对用户,ID,锁定,直到重新认证授权才能再开启。,(,3,)通行字有效期:限定通行字的使用期限。,(,4,)双通行字系统:允许联机用通行字和允许接触敏感信
22、息再发送一个不同的通行字。,(,5,)限制最小长度:限制通行字至少为,6,8,个字节以上,为防止猜测的成功率高,可采用掺杂(,Salting,)或通行短语(,Pass Phrase,)等加长和随机化。,(,6,)封锁用户系统:可以封锁长期未联机用户或通行字超过使用期限的用户的,ID,,直到用户重新被授权。,(,7,)根通行字的保护:根(,Root,)通行字是系统管理员访问系统的用户口令,由于系统管理员被授予的权利远大于一般用户,根通行字自然成为攻击者的攻击目标,因此在选择和使用中要加倍保护,要求根通行字必须采用十六进制字符串,不能通过网络传输,要经常更换等。,34,(,8,)系统生成通行字:有
23、些系统不允许用户自己选定通行字,而由系统生成、分配通行字。系统如何生成易于记忆又难以猜中的通行字是要解决的一个关键问题。如果通行字难以记忆,则用户要求将其写下来,这样反而增加了暴露的危险;另一个危险是若生成算法被窃则会危及整个系统的安全。,2,通行字的安全存储,(,1,)一般方法,用户的通行字大多以加密形式存储,攻击者要得到通行字,必须知道加密算法和密钥,算法可能是公开的,但密钥只有管理者才知道。许多系统可以存储通行字的单向散列值,攻击者即使得到此散列值也难以推导出通行字的明文。,(,2,)令牌(,Token,)有源卡采用的一次性通行字,这种通行字本质上是一个随机数生成器,可以用安全服务器以软
24、件的方法生成,一般用第三方认证。其优点是:即使通行字被攻击者截获也难以使用;用户需要发送,PIN,(只有持卡人才知道),因此即使卡被偷也难以使用卡进行违法活动。,35,3,通行字的检验,(,1,)反应法(,Reactive,),利用一个程序(,Cracker,)让被检验的通行字与一批易于猜中的通行字表中的成员进行逐个比较,若都不相符则通过。,(,2,)支持法(,Proactive,),用户自己先选择一个通行字,当用户第,1,次使用时,系统利用一个程序检验其安全性,如果它容易被猜中,则拒绝,并请用户重新选一个新的。程序通过准则要考虑可猜中与安全性之间的折衷。,5.4.3 IC,卡认证技术,IC,
25、卡可以用来认证用户身份,又称为有源卡(,Active Card,)、灵巧卡(,Smart Card,)或智能卡(,Intelligent Card,)。,IC,卡的硬件是一个微处理器系统,主要由微处理器(目前多为,8,位,MPU,)、程序存储器(,ROM,)、临时工作存储器(,RAM,)、用户存储器(,EEPROM,)、输入,/,输出接口、安全逻辑及运算处理器等组成(如图,5-10,所示);软件由操作系统、监控程序等组成。,36,图,5-10 IC,卡的硬件组成,一个典型的,IC,卡操作系统可以按,OSI,模型分为物理层(第,1,层)、数据传输层(数据、链路层,/,第,2,层)、应用协议层(应
26、用层,/,第,7,层),3,层。每一层由一个或几个相应的功能模块予以实施(如图,5-11,所示)。,37,图,5-11 IC,卡操作系统的典型模块结构,其中,,IFD,(,IC-Card Interface Device,)为,IC,卡的接口设备,即,IC,卡的读写设备;,ICC,(,IC-Card,)为,IC,卡。一般情况下以,IFD,或应用终端(计算机或工作站)作为宿主机,它产生命令及执行顺序,而,ICC,则响应宿主机的不同命令,在,IFD,和,ICC,之间进行信息交换。其典型的传输结构如图,5-12,所示,这样在,IFD,和,ICC,之间传输信息的安全性得以保障,否则完全有被截取的可能。
27、ICC,操作系统对此采取了加密或隐含传输的方法,就是将待传输的命令或响应回答序列进行加密处理后再进行传输。,38,图,5-12 IFD,和,ICC,之间的典型传输结构,一个较完善的,ICC,操作系统必须能够管理一个或多个相互独立的应用程序,能够为有关应用提供相应的传输管理、安全管理、应用管理、文件管理等功能。不同功能之间的逻辑关系如图,5-13,所示(图中的安全管理功能可由用户根据情况取舍)。,图,5-13 ICC,不同功能之间的逻辑关系,39,例如,,IFD,向,ICC,发送一条命令,其工作过程如下:首先,传输管理模块对物理层上传输的信号进行解码并将其传递给安全管理模块;其次,若为加密传输
28、则该模块对其进行解密并将解密后的命令传输给应用管理模块,若不是加密传输则该模块将其直接传输给应用管理模块;第三,应用管理模块根据预先的设计要求,检查此命令的合法性以及是否具备执行条件(与应用顺序控制有关),若检查成功,则启动执行此命令;最后,若此命令涉及到有关信息的存取,则文件管理模块检查其是否满足预先设计的存取条件,若满足条件,则执行有关数据的存取操作。在整个过程中,若任何一次检查失败则立即退出并给出响应信息。响应工作过程反之亦然。,在,ICC,中,每个应用可以有一个个人识别码(,PIN,),也可以几个应用共用一个识别码。用户也可以自行定义,PIN,错误输入的次数,为安全起见,同时也可以定义
29、解锁密码(,PUC,),即一旦持卡人将,PIN,忘记而卡被锁住后,利用解锁密码也可以将,ICC,打开,从而具有更高的安全性。,40,5.4.4,个人特征识别技术,个人特征有静态的和动态的,比如容貌、肤色、发长、身材、姿势、手印、指纹、脚印、唇印、颅像、说话声音、脚步声、体味、视网膜、虹膜、血型、遗传因子、笔迹、习惯性签名、打字韵律以及外界刺激的反应等。由于个人特征都具有因人而异和随身携带的特点,难以伪造和不会丢失,非常适合个人身份的认证。,1,指纹认证,利用人体唯一的和不变的指纹进行身份认证,将克服传统身份认证的不足。此外,由于生物特征是人体的一部分,因此无法更改和仿制。所以,利用指纹进行身份
30、识别比传统的身份认证更具有可靠性和安全性。,指纹识别系统是利用人类指纹的独特特性,通过特殊的光电扫描和计算机图像处理技术,对活体指纹进行采集、分析和对比,自动、迅速、准确地认证出个人身份。指纹识别系统主要包括图,5-18,所示的部分。,41,自动指纹认证过程是按照用户姓名等信息将保存在指纹数据库中的模板指纹调出来,然后再用用户输入的指纹与该模板指纹进行比较,以确定两指纹是否是同一指纹。,2,语音认证,每个人的说话声音都各有其特点,人对于语言的识别能力极强,即使在强干扰下也能分辨出某个熟人说话的声音。在军事和商业通信中常常靠听对方的语音来实现个人身份的认证。比如,可将由每个人讲的一个短语分析出来
31、的全部特征参数存储起来,如果每个人的参数都不完全相同就可以实现身份认证。这种存储的语音称为语音声纹(,Voice-print,)。当前,电话和计算机的盗用十分严重,语音识别技术还可以用于防止黑客进入语音函件和电话服务系统。,图,5-18,指纹自动识别系统,42,3,视网膜图样认证,人的视网膜血管(即视网膜脉络)的图样具有良好的个人 特征。这种基于视网膜的身份认证系统的基本原理是利用光学和电子仪器将视网膜血管图样记录下来,一个视网膜血管的图样可以压缩为小于,35,字节的数字信息。可根据图样的节点和分支的检测结果进行分类识别。这要求被识别人必须合作。研究已经表明,基于视网膜的身份认证效果非常好,如
32、果注册人数小于,200,万时,错误率为,0,,而是所用时间为秒级。目前,在安全性和可靠性要求较高的场合,如在军事和银行系统中已采用的此方法,但其成本较高。,4,脸型认证,利用图像识别、神经网络和红外线扫描探测,对人脸的,“,热点,”,进行采样、处理、提取图样信息,通过脸型自动认证系统进行身份认证。可将面部识别用于网络环境中,与其他信息系统集成,为金融、接入控制、电话会议、安全监视、护照管理、社会福利发放等系统提供安全、可靠的服务。,43,5,手形识别,手形识别技术主要是利用手掌、手指及手指各关节的长、宽、厚等三维尺寸和连接特征来进行身份鉴别。,6,红外温谱图,人的身体各个部位都在向外散发热量,
33、而每个人的生物特征都不同,从而导致其发热强度不同。,7,味纹识别,人的身体是一种味源,人类的气味虽然会受到饮食、情绪、环境、时间等因素的影响和干扰,其成分和含量会发生一定的变化,但作为由基因决定的那一部分气味,味纹却始终存在,而且终生不变,可以作为识别任何一个人的标记。,8,基因,DNA,识别,脱氧核糖核酸,DNA,存在于一切有核的动(植)物中,生物的全部遗传信息都储存在,DNA,分子里。由于不同的人体细胞中具有不同的,DNA,分子结构,且在整个人类范围内具有唯一性和永久性,因此除了对双胞胎个体的鉴别可能失去它应有的功能外,这种方法具有绝对的权威性和准确性。,44,5.4.5 Kerberos
34、身份认证技术,Kerberos,身份认证协议是,20,世纪,80,年代美国,MIT,(麻省理工学院)开发的一种协议,其名称是根据希腊神话中守卫冥王大门的,3,头看门狗命名的。而现在,“,3,头,”,意指有,3,个组成部分的网络之门保护者,即认证、统计和审计。,Kerberos,是针对分布式环境的开放系统开发的身份鉴别机制,目前已被开放软件基金会(,OSF,)的分布式环境(,DCE,)及许多网络操作系统供应商采用。,1,Kerberos,的概念,Kerberos,就是基于对称密码技术在网络上实施认证的一种服务协议,它允许一台工作站通过交换加密消息在非安全网络上与另一台工作站相互证明身份,一旦试
35、图登录上网的用户身份得到验证,,Kerberos,协议就会给这两台工作站提供密钥,并通过使用密钥和加密算法为用户间的通信加密以进行安全的通信。,45,5.5.1,数字证书,数字证书(,Digital ID,)又叫“数字身份证”、“网络身份证”(它提供了一种在网络上身份验证的方式,是用来标志和证明网络通信双方身份的数字文件,与司机驾照或日常生活中的身份证相似),是由权威公正的认证中心发放并经认证中心签名的,含有公钥拥有者以及公钥相关信息的一种电子文件,可以用来证明数字证书持有者的身份。由于数字证书有颁发机构的签名,保证了证书在传递、存储过程中不会被篡改,即使被篡改了也会被发现。因此,数字证书本质
36、上是一种由颁发者数字签名的用于绑定公钥和其持有者身份的数据结构(电子文件)。,数字证书采用公钥密码体制,即利用一对互相匹配的密钥进行加密、解密。,5.5 X.509,认证技术,46,采用数字证书,能够确认以下两点:,(,1,)保证信息是由签名者自己签名发送的,签名者不能否认或难以否认;,(,2,)保证信息自签发后到收到为止未曾作过任何修改,签发的文件是真实文件。,数字证书主要包括证书所有者的信息、证书所有者的公钥、证书颁发机构的签名、证书的有效时间和其他信息等。数字证书的格式一般采用,X.509,国际标准,它是广泛使用的证书格式,。,数字证书类型主要包括个人数字证书、单位数字证书、单位员工数字
37、证书、服务器证书、,VPN,证书、,WAP,证书、代码签名证书和表单签名证书。,数字证书主要用于发送安全电子邮件、访问安全站点、网上证券、网上招标采购、网上签约、网上办公、网上缴费、网上税务等网上安全电子事务处理和安全电子交易活动。,47,X.509,支持单向、双向和三向认证,3,种不同的认证过程。,1,单向认证(如图,5-23,所示),5.5.2 X.509,认证过程,图,5-23 X.509,的单向认证过程,2,双向认证(如图,5-24,所示),48,图,5-24 X.509,的双向认证过程,3,三向认证(如图,5-25,所示),图,5-25 X.509,的三向认证过程,49,5.5.3
38、PKI,(公钥基础设施)技术,PKI,技术是目前网络安全建设的基础与核心,是电子商务安全实施的基本保障,因此,对,PKI,技术的研究和开发成为目前信息安全领域的热点。,1,什么是,PKI(Public Key Infrastructure),?,PKI,是一种利用公钥密码理论和技术建立起来的提供信息安全服务的基础设施,旨在从技术上解决网上身份认证、信息的完整性和不可抵赖性等安全问题,为诸如电子商务、电子政务、网上银行和网上证券等网络应用提供可靠的安全服务的基础设施。,2,PKI,的理论基础,50,PKI,是一个利用现代密码学的公钥密码理论和技术、并在开放的,Internet,网络环境中建立起来
39、的提供数据加密以及数字签名等信息安全服务的的基础设施。,PKI,引入证书机制来解决密钥的分配与管理问题。,PKI,是一种新的安全技术,它是一种遵循标准的密钥管理平台,能为网络应用透明地提供采用加密和数字签名等密码技术服务所必需的密钥和证书管理。,证书是由认证中心,也称证书机构(,CA,,,Certificate Authority,,它是通信双方都信赖的颁发证书的机构,是,PKI,的核心组成部分)颁发的。,CA,颁发的证书类似于现实生活中公安局颁发的身份证。,CA,颁发的证书上有,CA,的数字签名,即用自己的私钥加密的。用户在获得自己的身份证书后,就可以使用证书来表明自己的身份,接收方只需要使
40、用,CA,的公钥来验证用户证书,如果验证成功,就可以信任该证书描述的用户的身份和证书上公钥是真实的。证书的签发,/,验证充分利用了公开密钥算法的数据签名和验证功能,杜绝了冒充身份的可能性。,51,3,PKI,的组成,PKI,在实际应用上是一套软硬件系统和安全策略的集合,它提供了一整套安全机制,使用户在不知道对方身份或分布地很广的情况下,以证书为基础,通过一系列的信任关系进行通讯和电子商务交易。,完整的,PKI,系统必须具有权威认证机构,(CA),、数字证书库、密钥备份及恢复系统、证书作废系统、应用接口(,API,)等基本构成部分,构建,PKI,也将围绕着这五大部分来构建。,(,1,)认证机构(
41、CA,):即数字证书的申请及签发机构,,CA,必须具备权威性的特征,它是,PKI,的核心,也是,PKI,的信任基础,它管理公钥的整个生命周期。其作用包括发放证书、规定证书的有效期和通过发布证书废除列表(,CRL,,,Certificate Revocation Lists,,又称证书黑名单)确保必要的情况下可以废除证书。,52,(,2,)数字证书库:用于存储已签发的数字证书及公钥,用户可由此获得所需的其他用户的证书及公钥。,(,3,)密钥备份及恢复系统:密钥的备份与恢复必须由可信的机构来完成。并且,密钥备份与恢复只能针对解密密钥,签名私钥是为确保其唯一性而不能够作备份。,(,4,)证书作废系
42、统:证书作废处理系统是,PKI,的一个必备的组件。作废证书一般通过将证书列入证书废除列表,CRL,(,CRL,一般存放在目录系统中)中来完成。通常,系统中由,CA,负责创建并维护一张及时更新的,CRL,,而由用户正在验证证书时负责检查该证书是否在,CRL,之列。证书的作废处理必须在安全及可验证的情况下进行,必须确保,CRL,的完整性。,(,5,)应用接口(,API,):一个完整的,PKI,必须提供良好的应用接口系统,使得各种各样的应用能够以安全、一致、可信的方式与,PKI,交互,确保安全网络环境的完整性和易用性,同时降低管理维护成本。,53,4,PKI,标准,PKI,标准化主要有两个方面:一是
43、RSA,公司的公钥加密标准,PKCS,(,Public Key Cryptography Standards,),它定义了许多基本,PKI,部件,包括数字签名和证书请求格式等;二是由,Internet,工程任务组,IETF,(,Internet Engineering Task Force,)和,PKI,工作组,PKIX,(,Public Key Infrastructure Working Group,)所定义的一组具有互操作性的公钥基础设施协议。在今后很长的一段时间内,,PKCS,和,PKIX,将会并存,大部分的,PKI,产品为保持兼容性,也将会对这两种标准进行支持。,(,1,)第一代,
44、PKI,标准:,RSA,公司的公钥加密标准(,Public Key Cryptography Standards,,,PKCS,)系列、,ITU-T X.509,、公钥基础设施,X.509,(,Public Key Infrastructure X.509,,,PKIX,)标准系列、无线应用协议(,Wireless Application Protocol,WAP,)论坛的无线公钥基础设施(,Wireless Public Key Infrastructure,,,WPKI,)标准。,54,(,2,)第二代,PKI,标准:,XML,密钥管理规范(,XML Key Management Spec
45、ification,,,XKMS,),被称为第二代,PKI,标准。,XKMS,由两部分组成:,XML,密钥信息服务规范(,XML Key Information Service Specification,,,X-KISS,)和,XML,密钥注册服务规范(,XML Key Registration Service Specification,,,X-KRSS,)。,目前,,XKMS,已成为,W3C,的推荐标准,并已被微软、,Versign,等公司集成于他们的产品中(微软已在,ASP.net,中集成了,XKMS,,,Versign,已发布了基于,Java,的信任服务集成工具包,TSIK,)。,5
46、PKI,的功能,(,1,)安全服务功能,网上身份安全认证。,保证数据完整性。,55,5,PKI,的应用及展望,(,1,)虚拟专用网络(,VPN,):,VPN,是一种架构在公用通信基础设施上的专用数据通信网络,利用网络层安全协议(尤其是,IPSec,)和建立在,PKI,上的加密与签名技术来获得机密性保护。,保证网上交易的抗否认性。,提供时间戳服务。,保证数据的公正性。,(,2,)系统功能,证书申请和审批。产生、验证和分发密钥。,证书签发和下载。签名和验证。,证书的获取。证书和目录查询。,证书撤销。密钥备份和恢复。,自动密钥更新。密钥历史档案。,交叉认证。,56,(,2,)安全电子邮件:作为,I
47、nternet,上最有效的应用,电子邮件凭借其易用、低成本和高效已经成为现代商业中的一种标准信息交换工具。,(,3,),Web,安全:浏览,Web,页面是人们最常用的访问,Internet,的方式。,(,4,)应用编程接口,API,:应用编程界面,API,(,Application Programming Interfaces,)则定义了如何使用这些协议,并为上层应用提供,PKI,服务。,目前,,API,没有统一的国际标准,大部分都是操作系统或某一公司产品的扩展,并在其产品应用的框架内提供,PKI,服务。当前,有很多可以让开发者选择的,API,类型。,IETF,(,Internet Engin
48、eering Task Force,,是一个研究,Internet,问题的组织)建议标准为通用安全服务,API,:,GSS-API,(,Generic Security Service Application Program Interface,),它提供了一种接口与网络机制和网络协议相互独立的实现。,目前两个比较常用的安全,API,接口:,CryptoAPI,和,CDSA,接口。,57,5.5.4 PMI,(授权管理基础设施)技术,(,1,),PMI,简介,PMI,(,Privilege Management Infrastructure,),即授权管理基础设施,是国家信息安全基础设施,NI
49、SI,(,National Information Security Infrastructure,,,NISI,由,PKI,和,PMI,组成,其中,公钥基础设施构成所谓的,PKI,信息安全平台,提供智能化的信任服务;而授权管理基础设施,PMI,构成所谓的授权管理平台,在,PKI,信息安全平台的基础上提供智能化的授权服务。)的一个重要组成部分,目标是向用户和应用程序提供授权管理服务,提供用户身份到应用授权的映射功能,提供与实际应用处理模式相对应的、与具体应用系统开发和管理无关的授权和访问控制机制,简化具体应用系统的开发与维护。,1.PMI,技术出现的背景,58,授权管理基础设施,PMI,是一个
50、属性证书、属性权威、属性证书库等部件构成的综合系统,用来实现权限和证书的产生、管理、存储、分发和撤销等功能。,PMI,使用属性证书表示和容纳权限信息,通过管理证书的生命周期实现对权限生命周期的管理。属性证书的申请、签发、注销、验证流程对应着权限的申请、发放、撤消、使用和验证的过程。而且,使用属性证书进行权限管理方式使得权限的管理不必依赖某个具体的应用,而且有利于权限的安全分布式应用。,授权管理基础设施,PMI,以资源管理为核心,对资源的访问控制权统一交由授权机构统一处理,即由资源的所有者来进行访问控制。同公钥基础设施,PKI,相比,两者主要区别在于:,PKI,证明用户是谁,而,PMI,证明这个






