《计算机安全第三章安全基础数字签名.ppt》由会员分享,可在线阅读,更多相关《计算机安全第三章安全基础数字签名.ppt(94页珍藏版)》请在金锄头文库上搜索。
1、计算机网络安全计算机网络安全第三章第三章 网络安全基础网络安全基础(3)(3)Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.第章第章 网络安全基础网络安全基础v加密算法;加密算法;v报文摘要
2、算法;报文摘要算法;v数字签名;数字签名;v认证协议;认证协议;vIPSecIPSec。这些算法一方面是实现保密性、完整性和这些算法一方面是实现保密性、完整性和不可抵赖性的核心,另一方面是实现其他网不可抵赖性的核心,另一方面是实现其他网络安全技术的基础。络安全技术的基础。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NE
3、T 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.数字签名数字签名问题的提出问题的提出假定假定JohnJohn向向MaryMary发送一个带鉴别的报文,可能会出现发送一个带鉴别的报文,可能会出现如下的争执:如下的争执:1 1、MaryMary可能伪造不同的报文,并声称它来自可能伪造不同的报文,并声称它来自JohnJohn。MaryMary只要简单地生成一个报文,并附加使用由只要简单地生成一个报文,并附加使用由JohnJohn和和MaryMary所共享的密钥生成的鉴别码即可。所共享的密钥生成的鉴别码即可。2 2、Joh
4、nJohn可以否认发送过该报文。可以否认发送过该报文。因为因为MaryMary伪造一个报伪造一个报文是可能的,无法证明文是可能的,无法证明JohnJohn发送过该报文这一事实。发送过该报文这一事实。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyrigh
5、t 2004-2011 Aspose Pty Ltd.不可否认性的应用需求不可否认性的应用需求v网络通信中,希望有效防止网络通信中,希望有效防止通信双方通信双方的欺骗和的欺骗和抵赖行为。抵赖行为。 v简单的报文鉴别技术只能使通信免受来自第三简单的报文鉴别技术只能使通信免受来自第三方的攻击方的攻击, ,无法防止通信双方之间的互相攻击。无法防止通信双方之间的互相攻击。 vY Y 伪造一个不同的消息,但声称是从伪造一个不同的消息,但声称是从 X X 收到的;收到的;vX X可以否认发过该消息,可以否认发过该消息,Y Y 无法证明无法证明 X X 确实发了确实发了该消息;该消息;v原因:鉴别技术基于秘
6、密共享。原因:鉴别技术基于秘密共享。v数字签名技术为此提供了一种解决方案。数字签名技术为此提供了一种解决方案。 Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.v数字证书是证明用户身份的数字证
7、书是证明用户身份的网上标识网上标识,在网络,在网络中识别通讯各方的身份,即在虚拟社会中解决中识别通讯各方的身份,即在虚拟社会中解决“我是谁我是谁”的问题。通俗的讲,数字证书就好的问题。通俗的讲,数字证书就好像是网上用户的像是网上用户的身份证身份证,能够保证您在网络上,能够保证您在网络上进行的进行的交易是安全的和可信的交易是安全的和可信的。 v 数字签名就是对消息进行数字签名就是对消息进行消息摘要计算消息摘要计算,再利,再利用用数字证书数字证书提供的提供的密钥密钥文件,达到利用计算机文件,达到利用计算机数据签章数据签章的效果。的效果。v数字签名是数字签名是使用密码系统使用密码系统时最特殊的一种功
8、能时最特殊的一种功能数字签名的法定效力,将相等于一般的数字签名的法定效力,将相等于一般的“手写手写签名签名”。使用数字签名,更需要。使用数字签名,更需要SHA(单向散(单向散列函数)的配合,才能防止各种可能的攻击。列函数)的配合,才能防止各种可能的攻击。(一)(一) 数字签名的概念数字签名的概念Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Sl
9、ides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.数字签名的实际应用数字签名的实际应用 在现实生活中用公章、签名等来实现的抗否认,在现实生活中用公章、签名等来实现的抗否认,在网上可以借助数字证书的数字签名来实现。如将来在网上可以借助数字证书的数字签名来实现。如将来的地税局的网上银行,网上审批都可以通过数字签名的地税局的网上银行,网上审批都可以通过数字签名来保证身份的认证,实现网上业务的防伪造和防抵赖。来保证身份的认证,实现网上业务的防伪造和防抵赖。 发送方发送方A A接收方接收方B BA A将
10、加密的消息发送给将加密的消息发送给B B 网网 络络用用发发送送方方A A的的公公匙解密匙解密密密密密 文文文文 密密密密 文文文文 明明明明 文文文文 明明明明 文文文文 用用发发送送方方A A的的私私匙加密匙加密Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0
11、.Copyright 2004-2011 Aspose Pty Ltd.数字签名的功能数字签名的功能v是对现实生活中笔迹签名的功能模拟。是对现实生活中笔迹签名的功能模拟。 必须能够用来证实签名的作者和签名的时间。必须能够用来证实签名的作者和签名的时间。 v对消息进行签名时,必须能够对消息的内容进行鉴对消息进行签名时,必须能够对消息的内容进行鉴别。别。 v签名应具有法律效力,必须能被第三方证实用以解签名应具有法律效力,必须能被第三方证实用以解决争端。决争端。 v必须包含对签名进行鉴别的功能。必须包含对签名进行鉴别的功能。 Evaluation only.Created with Aspose.S
12、lides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.I. 文件发送者即签名者不能否认所发送信息的文件发送者即签名者不能否认所发送信息的签名;签名;II. 文件接收者能够验证发送者所发送信息签名文件接收者能够验证发送者所发送信息签名的真实性;的真实性;III. 采用数字签
13、名技术,只要保证签名方私钥信采用数字签名技术,只要保证签名方私钥信息的秘密性,就能够保证任何其他人都无法对息的秘密性,就能够保证任何其他人都无法对签名进行伪造;签名进行伪造;IV. 因为任何更改都可以导致签名的无效,所以因为任何更改都可以导致签名的无效,所以不能对发送者的原始信息进行任何更改。不能对发送者的原始信息进行任何更改。 数字签名的作用数字签名的作用Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evalua
14、tion only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.数字签名的设计目标数字签名的设计目标 v签名的比特模式是依赖于消息报文的,也就是说,数签名的比特模式是依赖于消息报文的,也就是说,数据签名是以消息报文作为输入计算出来的,签名能够据签名是以消息报文作为输入计算出来的,签名能够对消息的内容进行鉴别;对消息的内容进行鉴别;v数据签名对发送者来说必须是惟一的,能够防止伪造数据签名对发送者来说必须是惟一的,能够防止伪造和抵赖;和抵赖;v产生
15、数字签名的算法必须相对简单易于实现,且能够产生数字签名的算法必须相对简单易于实现,且能够在存储介质上保存备份;在存储介质上保存备份;v对数字签名的识别、证实和鉴别也必须相对简单,易对数字签名的识别、证实和鉴别也必须相对简单,易于实现;于实现;v伪造数字签名在计算上是不可行的,无论攻击者采用伪造数字签名在计算上是不可行的,无论攻击者采用何种方法(利用数字签名伪造报文,或者对报文伪造何种方法(利用数字签名伪造报文,或者对报文伪造数字签名)。数字签名)。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2
16、.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.数字签名的实施方案(实例)数字签名的实施方案(实例)数字签名方案实施过程:数字签名方案实施过程:1 1、签章体系、签章体系 用户利用签章计算机,用户利用签章计算机,对文件进行消息摘要(对文件进行消息摘要(一般一般使用使用SHASHA算法)算法),并进行电并进行电子签章(数据签名)子签章(数据
17、签名)2 2、CACA体系体系 用户通过用户通过CACA机构合法获机构合法获得数字证书,即获得了对应得数字证书,即获得了对应唯一的公钥唯一的公钥/ /私钥对私钥对,私钥,私钥存于签章钥匙盘,用于数字存于签章钥匙盘,用于数字签名过程。签名过程。3 3、验证体系、验证体系 由由CACA利用利用公钥进行验证公钥进行验证,以确定数据未有更改。以确定数据未有更改。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluati
18、on only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.数字签名的实施方案(实例)数字签名的实施方案(实例) 数字签名解决方案数字签名解决方案Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.S
19、lides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.数字签名的实施方案(实例)数字签名的实施方案(实例) 数字签名实现过程数字签名实现过程Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Pro
20、file 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.数字签名原理数字签名技术是结合消息摘要函数和公钥加密数字签名技术是结合消息摘要函数和公钥加密算法的具体加密应用技术。算法的具体加密应用技术。数字签名数字签名(Digital Signature)(Digital Signature)指一个用自己的指一个用自己的非对称密码算法非对称密码算法( (如:如:RSARSA算法算法) )私钥加密后的信息摘私钥加密后的信息摘要,附在消息后面;别人得到这个数字签名及签名要,附在消息后面;别人得到这个数字签名及签名前的信息内容,使用该用户分发的非对称密码算法前的信息
21、内容,使用该用户分发的非对称密码算法公钥,就可以检验签名前的信息内容在传输过程或公钥,就可以检验签名前的信息内容在传输过程或分发过程中是否己被篡改并且可以确认发送者的身分发过程中是否己被篡改并且可以确认发送者的身份。份。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0
22、.0.Copyright 2004-2011 Aspose Pty Ltd.数字签名原理对于一个典型的数字签名体系而言,它必对于一个典型的数字签名体系而言,它必须包含须包含2 2个重要的组成部分:即签名算法个重要的组成部分:即签名算法(Signature Algorithm)(Signature Algorithm)和验证算法和验证算法(Verification Algorithm)(Verification Algorithm)。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Cop
23、yright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.数字签名原理1.1.发送方签名过程发送方签名过程发送方创建数字签名的过程如下:发送方创建数字签名的过程如下:(1)(1)为保证签名的速度,为保证签名的速度,A A先将原文进行单向先将原文进行单向HASHHASH运算生成定运算生成定长的消息摘要长的消息摘要A A Evaluation only.Created
24、 with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.数字签名原理(2)(2)利用自己的私钥加密消息摘要得到数字签名利用自己的私钥加密消息摘要得到数字签名A A,并将数字签,并将数字签名附在原消息后面名附在原消息后面 Evaluation on
25、ly.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.数字签名原理(3)(3)通讯时用户通讯时用户A A将自己的原文和签名文一起通过网络送给通讯将自己的原文和签名文一起通过网络送给通讯对方即用户对方即用户B B Evalua
26、tion only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.数字签名原理2.2.接收方验证过程接收方验证过程接收方接收方B B接收到发送方的签名消息后,对的签名消息进接收到发送方的签名消息后,对的签名消息进行验证的过
27、程如下:行验证的过程如下:(1)(1)将消息中的原消息与数字签名分离出来将消息中的原消息与数字签名分离出来 Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.数字签名原理(2)(2)使用使用A
28、A的公钥解密数字签名得到摘要的公钥解密数字签名得到摘要 Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.数字签名原理(3)(3)利用与发送方利用与发送方A A相同的散列函数重新计算原消息的摘要
29、相同的散列函数重新计算原消息的摘要 Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.数字签名原理(4)(4)比较解密后获得的消息摘要比较解密后获得的消息摘要A A与重新计算产生的消息摘要与重新
30、计算产生的消息摘要B B,若相等则说明消息在传输过程中没有被篡改,否则消息不,若相等则说明消息在传输过程中没有被篡改,否则消息不可靠。可靠。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.数字
31、签名的解决方案数字签名的解决方案 v可分为两类:可分为两类:直接数字签名方案;直接数字签名方案;基于仲裁的数字签名方案。基于仲裁的数字签名方案。 Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd
32、.分类分类直接数字签名直接数字签名功能:鉴别、数字签名。鉴别、数字签名。弱点:(1)(1)方案的有效性依赖方案的有效性依赖于发方私钥的安全性。于发方私钥的安全性。(2)(2)某个私钥真的可能某个私钥真的可能在时间在时间T T在在X X处被盗。处被盗。(a)利用发送方的私钥加密(b)利用发送方的私钥报文散列码加密Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with A
33、spose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.直接数字签名直接数字签名v实现比较简单,在技术上仅涉及到通信的源点实现比较简单,在技术上仅涉及到通信的源点X X和终和终点点Y Y双方。双方。 v终点终点Y Y需要了解源点需要了解源点X X的公开密钥的公开密钥K Kuaua。 v发送方发送方A A可以使用其私有密钥可以使用其私有密钥K KRARA对整个消息报文进对整个消息报文进行加密来生成数字签名。行加密来生成数字签名。 v更好的方法是使用更好的方法是使用K KRARA对消息报
34、文的散列码进行加密对消息报文的散列码进行加密来形成数字签名。来形成数字签名。 Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.直接数字签名的安全性直接数字签名的安全性v方案的安全性依赖于发送方
35、方案的安全性依赖于发送方X X私有密钥的安全私有密钥的安全性。性。 发送方可以声称自己的私有密钥丢失或被盗用,而发送方可以声称自己的私有密钥丢失或被盗用,而否认其发送过某个报文。否认其发送过某个报文。 v改进:每个签名报文中包含一个时间戳。改进:每个签名报文中包含一个时间戳。 问题:问题:vX X 的私有密钥确实在时间的私有密钥确实在时间 T T 被窃取;被窃取;v攻击者窃取攻击者窃取 X X 的密钥后,则可能发送带有的密钥后,则可能发送带有 X X 的签名报文,的签名报文,附上一个等于附上一个等于 T T 的时间戳,接受者无法判别。的时间戳,接受者无法判别。Evaluation only.C
36、reated with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.基于仲裁的数字签名基于仲裁的数字签名v通过引入仲裁来解决直接签名方案中的问题。通过引入仲裁来解决直接签名方案中的问题。 v仲裁者必须是一个所有通信方都能充分信任的仲裁者必须是一个
37、所有通信方都能充分信任的仲裁机构。仲裁机构。 v基本工作方式(假定用户基本工作方式(假定用户X X和和Y Y之间进行通信):之间进行通信):每个从每个从X X发往发往Y Y的签名报文首先被送给仲裁者的签名报文首先被送给仲裁者A A;A A检验该报文及其签名的出处和内容,然后对报文注检验该报文及其签名的出处和内容,然后对报文注明日期,并附加上一个明日期,并附加上一个“仲裁证实仲裁证实”的标记发给的标记发给Y Y。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004
38、-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.基于仲裁的数字签名技术基于仲裁的数字签名技术v数字签名的目的是使发送者无法抵赖曾经发送过报文P;v通信双方均需到权威机构注册;v用户A发送给用户B的报文,附带时间戳T和随机数RA先发送给权威机构;v权威机构在转发给用户B的信息中附带用密钥KBB加密发送者、时间戳和报文摘要后的密文,KBB只有权威机构知道;v由权威机构对报文P、发
39、送者、发送时间进行认证。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.需仲裁的数字签名需仲裁的数字签名(c)(c)公开密钥加密,仲裁不能看到报文内容公开密钥加密,仲裁不能看到报文内容(1)X
40、A(1)XA:IDIDx x/E/EKRxKRx IDIDx x/E/EKUyKUy E EKRxKRxMM (2)AY(2)AY:E EKRaKRa IDIDx x/E/EKUyKUy E EKRxKRxMM /T/T 注:X发方;Y收方;A仲裁;M报文(a)(a)常规加密,仲裁能看到报文内容常规加密,仲裁能看到报文内容(1)XA(1)XA:M/EM/EKxaKxaIDIDx x/H(M)/H(M)(2)AY(2)AY:E EKayKay IDIDx x/M/E/M/EKxaKxa IDIDx x/H(M)/H(M) /T/T (b)(b)常规加密,仲裁不能看到报文内容常规加密,仲裁不能看到
41、报文内容(1)XA(1)XA:IDIDx x/E/EKxyKxyM/EM/EKxaKxaIDIDx x/H(E/H(EKxyKxyM)M)(2)AY(2)AY:E EKayKay IDIDx x/E/EKxyKxyM/EM/EKxaKxa IDIDx x/H(E/H(EKxyKxyM)M) /T/T Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose
42、.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.3.5 3.5 数字签名数字签名v基于对称密钥算法的数字签名技术;v基于公开密钥算法的数字签名技术。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 C
43、lient Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.基于仲裁的数字签名基于仲裁的数字签名-对称密钥加密方式对称密钥加密方式v发送方发送方X X和仲裁和仲裁A A共享一个密钥共享一个密钥K Kax ax 。 v数字签名由数字签名由X X的标识符的标识符IDxIDx和报文的散列码和报文的散列码H(M)H(M)构构成成 ,用密钥,用密钥K Kaxax进行加密。进行加密。v过程:过程:(1)X A :MEKax( IDxH(M) )。(2)A Y :EKay( IDxMEKax( IDxH(M) )T )。 (3) Y存储报文M及签名。 E
44、valuation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.对称密钥加密方式对称密钥加密方式v争端解决方式争端解决方式Y A :EKay( IDxMEKax( IDxH(M) ) )。仲裁仲裁A A可用可用
45、K Kayay恢复出恢复出IDIDx x 、M M及签名,然后再用及签名,然后再用K Kaxax对签对签名解密并验证其散列码。名解密并验证其散列码。 v特点:特点:Y Y 不能直接验证不能直接验证 X X 的签名。的签名。双方都需要高度相信双方都需要高度相信 A AvY Y 相信相信 A A 已对消息认证,已对消息认证,X X 不能否认其签名;不能否认其签名;vX X 信任信任 A A 没有暴露没有暴露 K Kxaxa,无人,无人可伪造可伪造 DS DS;v双方都信任双方都信任 A A 处理争议是公正。处理争议是公正。问题:问题:v报文报文 M M 明文传送给,有可能被窃听。明文传送给,有可能
46、被窃听。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.对称密钥加密方式对称密钥加密方式v明文加密的方案明文加密的方案(1)X A :IDxEKxy (M)EKax( IDxH (EKxy(M
47、) )。(2)A Y :EKay( IDxEKxy (M)EKax( IDxH (EKxy(M)T )。v特征:特征:X X 与与 Y Y 之间共享密钥之间共享密钥 K Kxy 。DS DS 的构成:的构成:IDIDx 和消息密文的散列码用和消息密文的散列码用 K Kax 加密。加密。DS DS 的验证:的验证:A A 解密签名,用散列码验证消息。解密签名,用散列码验证消息。vA A 只能验证消息的密文,而不能读取其内容。只能验证消息的密文,而不能读取其内容。A A 将来自将来自 X X 的所有信息加上时间戳并用的所有信息加上时间戳并用 K Kay 加密后发送给加密后发送给Y Y 。v问题:问
48、题:A A 和发送方和发送方 X X 联手可以否认签名的信息。联手可以否认签名的信息。A A和接收方和接收方 Y Y 联手可以伪造发送方联手可以伪造发送方 X X 的签名。的签名。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-20
49、11 Aspose Pty Ltd.公开密钥加密方式公开密钥加密方式v特点:仲裁者看不见消息的内容特点:仲裁者看不见消息的内容。v过程:过程:X X 对报文对报文 M M 进行两次加密进行两次加密。经过双重加密后,报文经过双重加密后,报文 M M 只有只有 Y Y 能够阅读,能够阅读,A A 不能读取不能读取 XA: IDx | EKRx IDx | EKUy EKRx(M) A A 能进行外层的解密,从而证实报文确实是来自能进行外层的解密,从而证实报文确实是来自 X X 的的v因为只有因为只有 X X 拥有拥有K KRx 。验证后验证后 A A 向向 Y Y 发送用发送用 K KUy 加密的
50、报文,其中包括时间戳加密的报文,其中包括时间戳 T T AY: EKRa IDx | EKUy EKRx(M) | Tv优点:优点:通信各方之间无须共享任何信息,从而避免了联手作弊;通信各方之间无须共享任何信息,从而避免了联手作弊;只要只要 K KRa 安全,则不会出现伪造安全,则不会出现伪造 A A 发送的消息;发送的消息;消息的内容是保密的,包括对消息的内容是保密的,包括对 A A 在内。在内。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011
51、Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.基于公开密钥的数字签名技术基于公开密钥的数字签名技术基本原理v公钥PKA和私钥SKA一一对应;v由公证机构证明公钥PKA和用户A的绑定关系;v证明拥有(或者知道)私钥SKA的用户X就是用户A;v建立报文P和私钥SKA之间的关联,就可确定报文P由用户A发送。Evaluation only.Created with Aspose.Slides
52、for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.v认证中心的目的就是证明用户和公钥之间的绑定;v认证中心通过证书证明这种绑定,证书由明文和密文两部分组成,密文部分称为数字签名,它是用认证中心私钥加密明文报文摘要后的密文;v认证中心和公钥之间绑定由上一级认证中心用证书证明。基于公
53、开密钥的数字签名技术基于公开密钥的数字签名技术Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.v规则一:EPKA(DSKA(P)=P,通过公钥PKA加密还原的一定是通过私钥SKA解密运算的结果
54、;v规则二:无法根据报文摘要h,求出报文X,且使得MD(X)h;根据上述规则,一旦满足条件MD(P)=EPKA(数字签名),得出数字签名DSKA(MD(P),可以断定报文P由知道私钥SKA的用户发送,知道私钥SKA的用户是和公钥PKA绑定的用户。基于公开密钥的数字签名技术基于公开密钥的数字签名技术Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.S
55、lides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.数字签名算法1.DSA1.DSA签名算法签名算法DSA(Digital Signature Algorithm)DSA(Digital Signature Algorithm)是是SchnorrSchnorr和和ElGamalElGamal签名算法的变种。签名算法的变种。EIGamalEIGamal方案基于有限域上的离散方案基于有限域上的离散对数问题。对数问题。DSADSA中涉及的参数可以描述如下:中涉及的参数可以描述如下:p p是一个素数,
56、满足是一个素数,满足2L-1p2L2L-1p2L,其中,其中512L1024512L1024,L L是是6464的倍数。的倍数。q q是一个是一个160160比特的素数并且能够整除比特的素数并且能够整除p-1p-1。g=h(p-l)/q mod pg=h(p-l)/q mod p,其中,其中h h是任意满足是任意满足1hp-11hlh(p-l)/q mod pl,即,即g g的阶是的阶是q mod pq mod p。=ga=gamod pmod p,其中,其中a a是随机或者伪随机生成的整数且是随机或者伪随机生成的整数且满足满足0aq0aq。k k是随机或者伪随机生成的整数且满足是随机或者伪随
57、机生成的整数且满足kqkq。把。把p p,q q,g g和和公开而保密公开而保密a a和和k k。对每一次签名都应该生成一个新。对每一次签名都应该生成一个新的的k k值。值。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011
58、Aspose Pty Ltd.数字签名算法1)1)签名过程签名过程对于给定的对于给定的k k,消息,消息m m的签名定义如下:的签名定义如下: sig(msig(m,k)=(yk)=(y,s)s)其中其中y = (gk mod p)mod qy = (gk mod p)mod qs = (k-1(MD5(m)+ay)mod qs = (k-1(MD5(m)+ay)mod q杂凑函数杂凑函数MD5MD5用于把可变长度的消息用于把可变长度的消息m m转变为一个转变为一个160160比比特的消息摘要,然后再用数字签名方案对它进行签名。特的消息摘要,然后再用数字签名方案对它进行签名。Evaluatio
59、n only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.数字签名算法2)2)验证过程验证过程设设ver(mver(m,y y,s)s)是验证算法,它以上述定义的消息是验证算法,它以上述定义的消息m m和和y y,s s
60、为输入。签名的验证通过下面的计算来完成:为输入。签名的验证通过下面的计算来完成:w = s-1 mod qw = s-1 mod qd1 = (MD5(m)* w)mod qd1 = (MD5(m)* w)mod qd2 = (y *w)mod qd2 = (y *w)mod qv=(gd1*d2)mod p)mod qv=(gd1*d2)mod p)mod q若若v=yv=y,则,则ver(mver(m,y y,s)s)的输出为真,否则为假。的输出为真,否则为假。消息消息m m的签名是有效的当且仅当的签名是有效的当且仅当ver(mver(m,y y,s)s)的输出的输出为真。如果为真。如果v
61、er(mver(m,y y,s)s)的输出为假,则说明或者消息的输出为假,则说明或者消息m m被篡改,或者该签名不是签名者的合法签名。被篡改,或者该签名不是签名者的合法签名。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011
62、Aspose Pty Ltd.数字签名算法3)3)安全性分析安全性分析由于由于DSADSA是基于有限域上离散对数问题,出于短期安是基于有限域上离散对数问题,出于短期安全性考虑要求域全性考虑要求域ZpZp的素数的素数p p的长度至少为的长度至少为10241024比特,而考比特,而考虑到长期安全性则要求其长度至少为虑到长期安全性则要求其长度至少为20482048比特。比特。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.
63、Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.数字签名算法2.RSA2.RSA签名算法签名算法RivestRivest、shamirshamir和和AdlemanAdleman于于19781978年提出了年提出了RSARSA数字签名数字签名和公钥算法,这是第一个较完善的公开密钥算法,它既能用和公钥算法,这是第一个较完善的公开密钥算法,它既能用于加密也能用于数字签名,而认证过程相当于保密过程的逆于加密也能用于数字签名
64、,而认证过程相当于保密过程的逆过程。过程。在已提出的公开密钥算法中,在已提出的公开密钥算法中,RSARSA是最容易理解和实现是最容易理解和实现的,这个算法也是最流行的。的,这个算法也是最流行的。RSARSA算法以它的三个发明者算法以它的三个发明者Ron Ron RivestRivest、Adi ShamirAdi Shamir和和Leonard AdlemanLeonard Adleman的名字命名。的名字命名。RSARSA的安全性建立在大整数素因子分解困难的基础之上,的安全性建立在大整数素因子分解困难的基础之上,其数字签名算法类似于其数字签名算法类似于RSARSA密码算法。密码算法。RSAR
65、SA数字签名算法可以数字签名算法可以描述如下:描述如下:Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.数字签名算法1)1)签名过程签名过程消息消息m m的签名的签名sig(m)sig(m)通
66、过下面的计算生成通过下面的计算生成 sig(m)=(h(m)e mod nsig(m)=(h(m)e mod n其中其中h(m)h(m)是消息摘要,它由消息是消息摘要,它由消息m m通过密码学中的杂凑通过密码学中的杂凑函数函数( (如如MD5)MD5)得到。得到。2)2)验证过程验证过程验证算法验证算法ver(mver(m,y)y)力以消息力以消息m m和签名和签名y y为输入,定义如为输入,定义如下:下:ver(mver(m,y)=y)=真,等价于真,等价于h(m)yd mod nh(m)yd mod n其中,其中,(e(e,n)n)为公钥,为公钥,(d(d,n)n)为私钥。为私钥。验证算法
67、使用了签名者的公钥,所以任何人都可以验证验证算法使用了签名者的公钥,所以任何人都可以验证一个签名;然而由于签名需要签名者的私钥,故只有签名者一个签名;然而由于签名需要签名者的私钥,故只有签名者本人才能产生有效的签名。本人才能产生有效的签名。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Pro
68、file 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.数字签名算法3)3)安全性分析安全性分析正如正如RSARSA密码体制的情形一样,素数密码体制的情形一样,素数p p和和q q应该足够大,应该足够大,使得对于给定了它们的乘积使得对于给定了它们的乘积n n,如果事先不知道,如果事先不知道p p或者或者q q,分,分解解n n是计算上不可行的。对于短期安全性,是计算上不可行的。对于短期安全性,n n的长度至少应该的长度至少应该为为10241024比特,而长期安全性则要求比特,而长期安全性则要求n n至少为至少为20482048比特。比特。 Evaluat
69、ion only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.数字签名技术的总体介绍数字签名技术的总体介绍数字签名算法MD5SHA1消息摘要消息鉴别HMACDSSRSA数字签名标准算算法法层层次次标标准准层层次次 复杂数
70、学计算复杂数学计算复杂数学计算复杂数学计算 共享密钥加密共享密钥加密共享密钥加密共享密钥加密 非对称密钥加密非对称密钥加密非对称密钥加密非对称密钥加密 Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty
71、Ltd.数字签名与加密的区别v消息签名与消息加密有所不同,消息加密和解密可消息签名与消息加密有所不同,消息加密和解密可能是能是一次性的,它要求在的,它要求在解密之前是安全的。v而一个签名的消息可能作为一个法律上的文件而一个签名的消息可能作为一个法律上的文件( (如合如合同等同等) ),很可能在对,很可能在对消息签署多年之后才验证其签名,才验证其签名,且可能需要且可能需要多次验征此签名。此签名。v因此,签名的安全性和防伪造的要求会更因此,签名的安全性和防伪造的要求会更高,且要,且要求求证实速度比签名速度要快些。特别是联机在线时要快些。特别是联机在线时进行实时验证。进行实时验证。Evaluatio
72、n only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.3.4 3.4 认证协议认证协议vKerberosKerberos;vTLSTLS;vEAPEAP和和802.1X802.1X;vRADIUSRADIUS。Eva
73、luation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.v确认某个用户是授权用户;v一旦通过确认,该用户以后发送的数据中必须携带用于证明是授权用户的标识信息。3.4 3.4 认证协议认证协议Evaluati
74、on only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.C
75、opyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.身份认证身份认证 v身份认证是验证主体的真实身份与其所声称身份认证是验证主体的真实身份与其所声称的身份是否符合的过程。的身份是否符合的过程。v认证的结果只有两个:符合和不符合。认证的结果只有两个:符合和不符合。v适用于用户、进程、系统、信息等。适用于用户、进程、系统、信息等。Evaluation onl
76、y.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.身份认证的例子身份认证的例子v邮件登录邮件登录vClient与与Server之间的鉴别之间的鉴别vTelnet远程登录远程登录vFtp服务服务v登录到某台电脑上登录到某台电
77、脑上Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile
78、 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.身份认证系统的组成身份认证系统的组成 v出示证件的人,称作示证者出示证件的人,称作示证者P(Prover)P(Prover),又,又称声称者称声称者(Claimant)(Claimant)。v验证者验证者V V(Verifier),Verifier),检验声称者提出的证检验声称者提出
79、的证件的正确性和合法性,决定是否满足要求。件的正确性和合法性,决定是否满足要求。v第三方是可信赖者第三方是可信赖者TPTP(Trusted third Trusted third party)party),参与调解纠纷。在许多应用场合下,参与调解纠纷。在许多应用场合下没有第三方。没有第三方。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slid
80、es for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.身份认证的物理基础身份认证的物理基础 vSomething the user know ( (例如口令例如口令) ) 简单,但不安全简单,但不安全v设计依据设计依据安全水平、系统通过率、用户可接受性、成本等安全水平、系统通过率、用户可接受性、成本等Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Asp
81、ose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.v口令一般并不是以明文的形式存在和使用,口令一般并不是以明文的形式存在和使用,而是采用一些加强的处理之后才使用的。而是采用一些加强的处理之后才使用的。 对口令加密:对口令加密:对口令的加密算法必须是单向的,对口令的加密算法必须是单向的,即只能加密,不能解密。在验证用户的口令时,即只能加密,不能解密。在验证用户的口令时,验证方用单向函数加密,并与存
82、储的密文相比较,验证方用单向函数加密,并与存储的密文相比较,若相等,则确认用户的身份有效,否则确认用户若相等,则确认用户的身份有效,否则确认用户身份无效。身份无效。 一次性口令:一次性口令:使用一次性口令作为身份认证方法,使用一次性口令作为身份认证方法,使得中途截获口令变得毫无意义。由于要产生大使得中途截获口令变得毫无意义。由于要产生大量的一次性口令,所以必须采用专用的设备来产量的一次性口令,所以必须采用专用的设备来产生口令。生口令。 Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.C
83、opyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.身份认证的物理基础身份认证的物理基础 vSomething the user possesses( (例如证件例如证件) )认证系统相对复杂认证系统相对复杂Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2
84、.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.用户所知道的& &用户所拥有的 v磁卡或智能卡丢失,那么捡到卡的人就可以磁卡或智能卡丢失,那么捡到卡的人就可以假冒真正的用户。假冒真正的用户。 v需要一种磁卡和智能卡上不具有的身份信息,需要一种磁卡和智能卡上不具有的身份信息,这种身份信息通常采用个人识别号这种身份信息通常采用个人识别号PIN
85、PIN。持卡。持卡人必须自己妥善保存并严格保密。人必须自己妥善保存并严格保密。v在验证过程中,验证者不但要验证持卡人的在验证过程中,验证者不但要验证持卡人的卡是真实的卡,同时还要通过卡是真实的卡,同时还要通过PINPIN来验证持卡来验证持卡人的确是他本人。人的确是他本人。 Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .N
86、ET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.身份认证的物理基础身份认证的物理基础vSomething the user is( (例如指纹识别例如指纹识别) )更复杂更复杂, ,而且有时会牵涉到本人意愿而且有时会牵涉到本人意愿Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with A
87、spose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.身份认证方式身份认证方式 v单向认证(单向认证(One-way AuthenticationOne-way Authentication)v双向认证(双向认证(Two-way AuthenticationTwo-way Authentication)v信任的第三方认证(信任的第三方认证(Trusted Third-party Trusted Third-party AuthenticationAuthentication) Ev
88、aluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.单向认证单向认证 v通信的一方认证另一方的身份通信的一方认证另一方的身份 Evaluation only.Created with Aspose.S
89、lides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.用对称密码体制来实现单向认证用对称密码体制来实现单向认证 v某函数变换某函数变换f fv双方共享的密钥双方共享的密钥K KS Sv随机数随机数R RA AEvaluation only.Created with Asp
90、ose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.用非对称密码体制来实现单向认证用非对称密码体制来实现单向认证 v随机数随机数R RA AvB B的私钥的私钥K KSBSBEvaluation only.Created with Aspose.Slides
91、for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.双向认证 v双方都要提供用户名和密码给对方,才能通过认证。 Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyri
92、ght 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.用对称密码体制来实现双向认证用对称密码体制来实现双向认证 vA A产生一个随机数产生一个随机数R RA Av双方共享的密钥双方共享的密钥K KS SvB B产生一个随机数产生一个随机数R RB BEvaluation only.Created with Aspose.Slides for .NET 3.5 Cli
93、ent Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.用非对称密码体制来实现双向认证用非对称密码体制来实现双向认证 vA A产生一个随机数产生一个随机数R RA AvB B产生一个随机数产生一个随机数R RB BvB B的私钥的私钥K KSBSBvA A的私钥的私钥K KSASAEvaluation only.Cr
94、eated with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.信任的第三方认证 v当两端欲进行连线时,彼此必须先通过信任当两端欲进行连线时,彼此必须先通过信任第三方的认证,然后才能互相交换密钥,而第三方的认证,然后才能互相交换密钥,而后进行通
95、信后进行通信 Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.一种第三方认证机制一种第三方认证机制 vSKSKAUAU:管理员的私钥:管理员的私钥 vP PKBKB:B B的公钥的公钥vP P
96、KAKA:A A的公钥的公钥vN1N1: A A的临时交互号的临时交互号vN2N2: B B产生的新临时交互号产生的新临时交互号Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Kerberos
97、Kerberos协议协议 vKerberos Kerberos 是在是在8080年中期作为美国麻省理工学年中期作为美国麻省理工学院院“雅典娜计划雅典娜计划”(Project AthenaProject Athena)的一)的一部分被开发的。部分被开发的。 vKerberosKerberos是一个分布式的认证服务,它允许是一个分布式的认证服务,它允许一个进程(或客户)代表一个主体(或用户)一个进程(或客户)代表一个主体(或用户)向验证者证明他的身份,而不需要通过网络向验证者证明他的身份,而不需要通过网络发送那些有可能会被攻击者用来假冒主体身发送那些有可能会被攻击者用来假冒主体身份的数据。份的数据
98、。 Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.KerberosKerberos概述概述vKerberosKerberos是一种计算机网络认证协议,它允许某实是一种计算机网络认证协议,它允
99、许某实体在非安全网络环境下通信,向另一个实体以一种体在非安全网络环境下通信,向另一个实体以一种安全的方式证明自己的身份。安全的方式证明自己的身份。v它的设计主要针对客户它的设计主要针对客户- -服务器模型,并提供了一系服务器模型,并提供了一系列交互认证列交互认证- -用户和服务器都能验证对方的身份。用户和服务器都能验证对方的身份。vKerberosKerberos协议可以保护网络实体免受窃听和重复攻协议可以保护网络实体免受窃听和重复攻击。击。vKerberosKerberos协议基于对称密码学,并需要一个值得信协议基于对称密码学,并需要一个值得信赖的第三方。赖的第三方。Evaluation o
100、nly.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.KerberosKerberosv认证信息EKC,S(IDCADCSEQ);v拥有密钥KC,S的用户才是授权用户IDC;v携带认证信息证明发送者是授权用户IDC;v每一
101、个用户访问服务器之前,需成为注册用户,分配密钥。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.v授权用户的标志是注册信息库中存有用户名和对应的口令;v认证服务器确认为授权用户的标志是使用户拥
102、有密钥KTGS;v通行证服务器确认用户具有访问应用服务器V的权限的标志是使用户拥有密钥KV。v应用服务器提供服务的依据是用户拥有密钥KV。KerberosKerberos认证过程认证过程Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004
103、-2011 Aspose Pty Ltd.存储每个用户的password和标识存储与每个服务器共享的密钥AS查询数据库,检查用户口令是否与用户表示相符,并判断此用户是否有访问服务器V的权限。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 20
104、04-2011 Aspose Pty Ltd.存储每个用户的password和标识存储与TGS共享的密钥Tickettgs由kc加密, kc来自password存储与每个服务器V共享的密钥判断此用户是否有访问服务器V的权限。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2
105、.0.0.Copyright 2004-2011 Aspose Pty Ltd.A More Secure Authentication A More Secure Authentication DialogueDialogue v把身份认证和访问权限交给两个服务器分别把身份认证和访问权限交给两个服务器分别完成完成身份认证,由身份认证,由ASAS完成完成访问控制,由票据授权服务器(访问控制,由票据授权服务器(ticket-ticket-granting servergranting server,TGS)TGS)来完成来完成v达到的效果:达到的效果:用户口令只需输入一次,且不会在网络上传输。用
106、户口令只需输入一次,且不会在网络上传输。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Kerberos协议的应用环境 KerberosClientServerEvaluation only.
107、Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.KerberosKerberos系统架构系统架构 Evaluation only.Created with Aspose.Slides for .NET 3.5 Client
108、Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Kerberos v4Kerberos v4认证协议的流程认证协议的流程(1) (1) v客户端认证客户端认证 Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.
109、Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Kerberos v4Kerberos v4认证协议的流程认证协议的流程(2) (2) v取得与服务器通信的票据取得与服务器通信的票据 Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copy
110、right 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Kerberos v4Kerberos v4认证协议的流程认证协议的流程(3) (3) v客户端与服务器通信客户端与服务器通信 Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 20
111、04-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.TLSTLSvTLS记录协议是TLS的传输协议,用于传输上层协议数据单元(PDU);vTLS握手协议、安全参数切换协议完成对服务器身份认证、安全参数协商(加密解密算法、压缩算法和密钥等)功能;v报警协议用于在用户和服务器之间传输出错信息;v在TLS完成服务器身份认证、安全参数协商后,用户和服务器之间可以保密传输HTTP报文。
112、基于基于TCP/IP的的TLS协议结构构Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.TLS记录协议报文封装过程TLSTLS内容类型:上层协议报文类型;内容类型:上层协议报文类型;主版本号:
113、主版本号:2 2;次版本号:次版本号:1 1;压缩长度:加密运算前上层消息长压缩长度:加密运算前上层消息长度;度;TLSTLS记录协议报文格式记录协议报文格式Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose P
114、ty Ltd.v对于TCP,TLS记录协议报文就是数据段,由TCP实现TLS记录协议报文的排序、检错和可靠传输。v对于基于链路层协议的TLS记录协议报文传输过程,每一个TLS记录协议报文作为链路层帧的净荷,必须完整包含上层协议消息。TLSTLSEvaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client P
115、rofile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.vTSL的作用是实现通信双方身份认证和加密解密算法及密钥等安全参数的约定;v认证身份的关键是用证书证明客户C和服务器V与公钥PKC和PKV的绑定,同时证实客户C和服务器V拥有PKC和PKV对应的私钥SKC和SKV;v以双方交换的随机数为随机数种子,产生密钥;v最后证实双方新的安全参数相同。TLSTLSEvaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011
116、Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.v这是以种子和密钥作为随机数种子,产生任意长度随机数的伪随机数生成算法;vHAMC保证随机数种子和随机数一一对应,且又无法根据随机数推导出随机数种子。TLSTLSEvaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2
117、004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.EAPEAP和和802.1X802.1Xv实现不同认证机制需要交换的认证消息均可封装成EAP报文;vEAP报文作为不同链路层帧的净荷,可以通过不同的网络实现传输。EAPEAP封装不同认证机制认证消息的过程封装不同认证机制认证消息的过程Evaluation only.Created with Aspose.Slides fo
118、r .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.v通过反复的请求和响应过程交换认证消息;v不同认证机制需要交换不同的认证消息,有着不同的请求响应过程;vEAP报文作为对应链路层帧净荷,才能通过互连用户和认证者的网络实现传输过程。EAPEAP和和802.1X802.1XEvaluat
119、ion only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.EAPEAP和和802.1X802.1Xv协议字段值C227表明PPP帧净荷是EAP报文;v当EAP报文中的类型字段值为4时,表明采用CHAP认证机制,EAP
120、报文中数据字段内容为CHAP相关认证数据。EAPEAP报文封装成报文封装成PPPPPP帧过程帧过程Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.v用户A和远程用户接入设备之间是点对点语音信道
121、;v基于点对点语音信道的链路层协议是PPP;vEAP报文封装成PPP帧;vEAP的请求/响应模式及EAP报文中封装的数据和采用的认证机制CHAP有关。EAPEAP和和802.1X802.1X数据字段数据字段给出随机数:出随机数:challenge数据字段数据字段给出:出:MD5(标识符符challenge口令)口令)Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created wit
122、h Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.v交换机端口逻辑上分为受控端口、非受控端口,受控端口必须在完成接入者身份认证后,才能正常输入/输出数据帧,非受控端口只能接收EAP报文和广播帧;vEAP报文封装成以太网MAC帧;vEAP报文中的数据字段值和采用的认证机制相关;v可以统一由认证服务器完成用户身份认证,这种情况下,认证者作为中继系统完成EAP报文用户和认证服务器之间的转发功能。EAPEAP和和802.1X802.1XEvaluation only.Create
123、d with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.EAPEAP和和802.1X802.1XEAPEAP报文封装成报文封装成MACMAC帧过程帧过程v类型字段值888E表明MAC帧净荷是EAP报文;v版本字段值固定为2;v报文类型:0报文体
124、是EAP报文,1报文体是EAPOL-Start,2报文体是EAPOL-Logoff,3 报文体是EAPOL-Key,4 报文体是EAPOL-ASF-Alert;v报文体和长度由报文类型决定。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 20
125、04-2011 Aspose Pty Ltd.EAPEAP和和802.1X802.1X数据字段数据字段给出随机数:出随机数:challenge数据字段数据字段给出:出:MD5(标识符符challenge口令)口令)v用户A和远程用户接入设备之间是以太网;vEAP报文封装成MAC帧;vEAP的请求/响应模式及EAP报文中封装的数据和采用的认证机制CHAP有关。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evalua
126、tion only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.EAPEAP和和802.1X802.1Xv802.1X是基于端口认证协议,一旦确定连接用户身份,端口处于正常转发状态,这对于通过以太网接入Internet的用户是不适用的;v基于MAC地址的802.1X作了调整,用户一旦通过认证,其MAC地址记录在端口的访问控制列表中,只有源地址包含在访问控制列表中的MAC帧,才能正常转发。Evaluation only.Created with
127、Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.RADIUSRADIUSv由接入控制设备(如宽带接入服务器)实现用户注册和认证是不适当的,因为,用户是移动的,不会和单一接入控制设备绑定在一起;v为了统一用户注册和认证,也需要设置独立的认证服务器;v讨
128、论了基于特定传输网络传输EAP报文的机制,如何实现基于互连网的EAP报文传输?RADIUS。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.RADIUSRADIUSRADIUS报文封装文封装过
129、程程RADIUS报文格式文格式编码:区分编码:区分4 4种报文类型;种报文类型;标识符:请求接入报文和对应的响应报文,其他标识符:请求接入报文和对应的响应报文,其他3 3种种类型报文都有可能是某个请求接入报文的响应报文;类型报文都有可能是某个请求接入报文的响应报文;认证信息:用于认证发送响应报文的认证服务器;认证信息:用于认证发送响应报文的认证服务器;属性:给出用户和属性:给出用户和NASNAS信息,及信息,及EAPEAP报文。报文。Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Co
130、pyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.RADIUSRADIUSv用户C和认证者之间是单一的传输网络,目前比较常见的是以太网、点对点物理链路和无线局域网,EAP报文封装成传输网络对应的链路层帧后,实现用户C和认证者之间传输;v认证者和认证服务器之间是互连多个传输网络构成互连网,EAP报文封装成RADIUS报文,最终封装成IP报文实现认证者和认证
131、服务器之间的传输;vEAP报文数据字段内容与采用的认证机制有关。数据字段数据字段给出随机数:出随机数:challenge数据字段数据字段给出:出:MD5(标识符符challenge口令)口令)Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.Evaluation only.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Copyright 2004-2011 Aspose Pty Ltd.