1、12024-3-192024-3-191112024-3-192024-3-19118.3 基于零知识证明的身份认证技术基于零知识证明的身份认证技术(略略)零知识证明是由零知识证明是由GolawasserGolawasser等人等人2020世纪世纪8080年代初提出的,它指的是证明者能够在年代初提出的,它指的是证明者能够在不向验证者提供任何有用信息的情况下,使验证者相信某个论断是正确的。不向验证者提供任何有用信息的情况下,使验证者相信某个论断是正确的。零知识证明实质上是一种涉及两方或多方的协议,即两方或更多方完成一项任务零知识证明实质上是一种涉及两方或多方的协议,即两方或更多方完成一项任务所需
2、采取的一系列步骤。所需采取的一系列步骤。GolawasserGolawasser等人提出的零知识证明中,证明者和验证者之间必须进行交互,这样等人提出的零知识证明中,证明者和验证者之间必须进行交互,这样的零知识证明被称为的零知识证明被称为“交互式零知识证明交互式零知识证明”。20 20世纪世纪8080年代末,年代末,BlumBlum等人进一步提出了等人进一步提出了“非交互式零知识证明非交互式零知识证明”的概念,即用的概念,即用一个短随机串代替交互过程并实现了零知识证明。一个短随机串代替交互过程并实现了零知识证明。(1)零知识证明基本概念)零知识证明基本概念 交互式的零知识证明交互式的零知识证明2
3、2024-3-192024-3-1922 解释零知识证明的一个经典故事是解释零知识证明的一个经典故事是“洞穴洞穴”(由(由J.J.QuisquaterJ.J.Quisquater和和L.C.L.C.GuillouGuillou提出的),如下图所示。提出的),如下图所示。在上图中,洞穴深处的位置在上图中,洞穴深处的位置C和位置和位置D之间有一道门,只有知道秘密咒语的人才能之间有一道门,只有知道秘密咒语的人才能打开位置打开位置C和位置和位置D之间的门。之间的门。假设假设P知道打开门的咒语,知道打开门的咒语,P想向想向V证明自己知道咒语,证明自己知道咒语,但又不想向但又不想向V泄露咒语。泄露咒语。下
4、面是向证明自己知道咒语的协议:下面是向证明自己知道咒语的协议:32024-3-192024-3-193342024-3-192024-3-194452024-3-192024-3-195562024-3-192024-3-196672024-3-192024-3-1977 非非交互式的零知识证明交互式的零知识证明 与交互式是零知识证明协议类似,与交互式是零知识证明协议类似,非交互式的零知识证明协议也包含证明者非交互式的零知识证明协议也包含证明者和验证者,证明者知道某个定理的证明,并且希望向验证者证明这一事实和验证者,证明者知道某个定理的证明,并且希望向验证者证明这一事实,但非,但非交互式的零知
5、识证明协议不需要任何交互。交互式的零知识证明协议不需要任何交互。82024-3-192024-3-1988 在上面的非交互式的零知识证明协议中,有许多在上面的非交互式的零知识证明协议中,有许多“问问/答答”式的迭代,是式的迭代,是P P在用随在用随机数选择这些难解的问题机数选择这些难解的问题,他也可以选择不同的问题,因此有不同的解法,直到这,他也可以选择不同的问题,因此有不同的解法,直到这个单向散列函数产生他希望的东西为止。个单向散列函数产生他希望的东西为止。在一个交互式的零知识证明协议中,在一个交互式的零知识证明协议中,1010次次迭代中能进行欺骗的概率为迭代中能进行欺骗的概率为1/21/2
6、1010,这个概率很小了,但是在非交互式的零知识证明,这个概率很小了,但是在非交互式的零知识证明协议中是不够的。协议中是不够的。因为其他感兴趣者总能完成第(因为其他感兴趣者总能完成第(5 5)步中的或,他能设法猜测)步中的或,他能设法猜测会要求他完成哪一步,处理完第(会要求他完成哪一步,处理完第(1 1)直到第()直到第(4 4)步,并可以弄清他是否猜对。若)步,并可以弄清他是否猜对。若他没有猜对,还可以反复再试。他没有猜对,还可以反复再试。92024-3-192024-3-1999(2)基于零知识的身份认证技术(略)基于零知识的身份认证技术(略)交互式交互式认证技术认证技术 102024-3
7、-192024-3-191010 FFSFFS协议(或协议(或Fiat-ShamirFiat-Shamir身份识别协议)身份识别协议)19881988年年U.FeigeU.Feige,A.FiatA.Fiat和和A.ShamirA.Shamir把把19861986年年FiatFiat和和ShamirShamir的新型身份识别方案的新型身份识别方案改进成为改进成为“著名的著名的Feige-Fiat-shamirFeige-Fiat-shamir零知识身份认证协议零知识身份认证协议”,也称为简化的,也称为简化的Fiat-Fiat-ShamirShamir身份识别协议身份识别协议,简称为,简称为FF
8、SFFS协议协议。协议原理协议原理 112024-3-192024-3-191111 协议的完备性、正确性和安全性协议的完备性、正确性和安全性 122024-3-192024-3-191212 简化的简化的FFSFFS协议协议 协议原理协议原理 132024-3-192024-3-191313 协议的完备性、正确性和安全性协议的完备性、正确性和安全性 142024-3-192024-3-191414152024-3-192024-3-191515152024-3-192024-3-1915154.Kerberos身份认证技术(略)KerberosKerberos身份认证协议是身份认证协议是20
9、20世纪世纪8080年代美国年代美国MITMIT(麻省理工学院)开发的一(麻省理工学院)开发的一种协议,其名称是根据希腊神话中守卫冥王大门的三头的看门狗而命名的种协议,其名称是根据希腊神话中守卫冥王大门的三头的看门狗而命名的。而。而现在现在“三头三头”意指有意指有3 3个组成部分的网络之门保护者,即个组成部分的网络之门保护者,即认证、统计和审计认证、统计和审计。(OSFOSF)的分布式环境()的分布式环境(DCEDCE)及许多网络操作系统供应商采用。)及许多网络操作系统供应商采用。一旦试图登录上网的用户身份得到验证,一旦试图登录上网的用户身份得到验证,KerberosKerberos协议就会给
10、这两台工作站提协议就会给这两台工作站提供密钥,并通过使用密钥和加密算法为用户间的通信加密以进行安全的通信。供密钥,并通过使用密钥和加密算法为用户间的通信加密以进行安全的通信。(1)Kerberos身份认证技术简介身份认证技术简介 162024-3-192024-3-191616 KerberosKerberos的的实现包括一个运行在网络上的某个物理安全的节点处的密钥分配中实现包括一个运行在网络上的某个物理安全的节点处的密钥分配中心心(KDCKDC,Key Distribute CenterKey Distribute Center)以及一个可供调用的函数库,各个需要认证用)以及一个可供调用的函
11、数库,各个需要认证用户身份的分布式应用程序调用这个函数库,户身份的分布式应用程序调用这个函数库,根据根据KDCKDC的第三方服务来验证计算机相的第三方服务来验证计算机相互的身份,并建立密钥以保证计算机间的安全连接互的身份,并建立密钥以保证计算机间的安全连接。(2)Kerberos的工作原理的工作原理 KerberosKerberos认证的类型认证的类型 KerberosKerberos协议实际上有协议实际上有3 3种不同的认证类型:种不同的认证类型:认证服务器(认证服务器(ASAS,Authenticatio ServerAuthenticatio Server)认证:)认证:是在客户和知道客
12、户的秘密密钥的是在客户和知道客户的秘密密钥的KerberosKerberos认证服务器之间进行的一次初始认证。认证服务器之间进行的一次初始认证。该次认证使得客户获得了一张用于访问某一指定的认证服务器的票据。该次认证使得客户获得了一张用于访问某一指定的认证服务器的票据。目前,目前,KerberosKerberos协议有协议有5 5个版本个版本,前,前3 3个版本已经不再使用;个版本已经不再使用;第第4 4和和5 5版虽然从概版虽然从概念上将很相似,但根本原理完全不一样。第念上将很相似,但根本原理完全不一样。第4 4版用户量大版用户量大,结构更为简单且性能好,结构更为简单且性能好,但它只能用于但它
13、只能用于TCP/IPTCP/IP协议,而第协议,而第5 5版的功能更多。版的功能更多。172024-3-192024-3-191717 KerberosKerberos认证的类型认证的类型 票据许可服务器(票据许可服务器(TGSTGS,Ticket Granting ServerTicket Granting Server)认证:)认证:是在客户和指定的认证服务器之间进行的一次认证,此时,该认证服务器被是在客户和指定的认证服务器之间进行的一次认证,此时,该认证服务器被称为票据许可服务器。称为票据许可服务器。客户没有使用自己的秘密密钥,而是使用了从客户没有使用自己的秘密密钥,而是使用了从ASAS
14、那里获得那里获得的票据的票据。这次交换使得客户获得了进一步访问某一指定的认证服务器的票据。这次交换使得客户获得了进一步访问某一指定的认证服务器的票据。客户机客户机/服务器(服务器(CSCS)认证:)认证:是在客户和指定的认证服务器之间进行的一次认证,此时,该认证服务器被是在客户和指定的认证服务器之间进行的一次认证,此时,该认证服务器被称为目标服务器,客户向目标服务器进行认证或目标服务器向客户进行认证。这称为目标服务器,客户向目标服务器进行认证或目标服务器向客户进行认证。这一过程使用了从一过程使用了从ASAS或或TGSTGS交换获得的票据。交换获得的票据。182024-3-192024-3-19
15、1818 Kerberos Kerberos 的认证过程的认证过程 首先使用一个认证服务器(首先使用一个认证服务器(ASAS),它知道每个用户的口令并将这些口令存储),它知道每个用户的口令并将这些口令存储在一个集中的数据库中。在一个集中的数据库中。ASAS与每个服务器共享一个唯一的密钥,这些密钥已经通过安全的方式进行分与每个服务器共享一个唯一的密钥,这些密钥已经通过安全的方式进行分发发。当客户当客户C C需要登录到服务器需要登录到服务器V V时,下图是它们之间的时,下图是它们之间的简单会话过程简单会话过程。192024-3-192024-3-191919 -具体的认证过程如下:具体的认证过程如
16、下:用户登录到工作站,请求访问服务器用户登录到工作站,请求访问服务器V V。客户模块客户模块C C运行在用户的工作站中,运行在用户的工作站中,它要求用户输入口令,然后向服务器发送一个报文,里面包含用户的它要求用户输入口令,然后向服务器发送一个报文,里面包含用户的IDID、服务器、服务器IDID、用户的口令等。用户的口令等。ASAS检查它的数据库,验证用户的口令是否与用户的检查它的数据库,验证用户的口令是否与用户的IDID匹配,以及该用户是否匹配,以及该用户是否被允许访问该数据库。被允许访问该数据库。若两项测试都通过,若两项测试都通过,AS AS 认为该用户是可信的,为了认为该用户是可信的,为了
17、 让服务器让服务器确信该用户是可信的,确信该用户是可信的,ASAS生成一张加密过的票据,其中包含用户生成一张加密过的票据,其中包含用户IDID、用户网络地址、用户网络地址、服务器服务器IDID。由于是加密过的,它不会被。由于是加密过的,它不会被C C或对手更改。或对手更改。C C向向V V发送含有用发送含有用户户IDID和票据的报文,和票据的报文,V V要要对票据进行解密,对票据进行解密,验证票验证票据中的用户据中的用户IDID与未加密的与未加密的用户用户IDID是否一致,如果匹是否一致,如果匹配,则通过身份验证。配,则通过身份验证。202024-3-192024-3-192020 上页图中的
18、简单会话过程只使用了认证服务器认证类型,它在会话过程中没有解上页图中的简单会话过程只使用了认证服务器认证类型,它在会话过程中没有解决下面两个问题:决下面两个问题:希望用户输入的口令数最少希望用户输入的口令数最少 假如用户假如用户C C在一天中要多次检查邮件服务器是否有他的邮件,每次他都必须输入在一天中要多次检查邮件服务器是否有他的邮件,每次他都必须输入口令;当然,可以通过允许票据来改善这种情况。然而,用户对有不同服务的请求,口令;当然,可以通过允许票据来改善这种情况。然而,用户对有不同服务的请求,每种服务的第一次访问都需要一个新的票据,他还得每次都要输入口令。每种服务的第一次访问都需要一个新的
19、票据,他还得每次都要输入口令。会话中还涉及口令的明文传输。会话中还涉及口令的明文传输。为了解决上述问题,可以引入一个票据许可服务器(为了解决上述问题,可以引入一个票据许可服务器(TGSTGS),即采用认证服务器),即采用认证服务器(ASAS)认证和票据许可服务器()认证和票据许可服务器(TGSTGS)认证相结合的认证方式,如下图所示。)认证相结合的认证方式,如下图所示。212024-3-192024-3-192121 -认证过程如下:认证过程如下:用户向用户向ASAS发送用户发送用户IDID、TGS IDTGS ID请求一张代表该用户的票据许可票据。请求一张代表该用户的票据许可票据。ASAS发
20、回一张加密过的票据,加密密钥是由用户口令导出的。发回一张加密过的票据,加密密钥是由用户口令导出的。当响应抵达客户端时,当响应抵达客户端时,客户端同时用户输入口令,并由此产生密钥,并试图对收到的报文解密客户端同时用户输入口令,并由此产生密钥,并试图对收到的报文解密(若口令正确,若口令正确,票据就能正确恢复票据就能正确恢复)。由于只有合法用户才能恢复该票据,因此使用口令获得。由于只有合法用户才能恢复该票据,因此使用口令获得KerberosKerberos的信任无须传递明文口令的信任无须传递明文口令。客户代表用户请求一张服务许可票据。客户代表用户请求一张服务许可票据。TGSTGS对收到的票据进行解密
21、,通过检查对收到的票据进行解密,通过检查TGSTGS的的IDID是否存在,来验证解密是否成功;是否存在,来验证解密是否成功;然后检查生存期,确保票据没有过期;接着比较用户的然后检查生存期,确保票据没有过期;接着比较用户的IDID和网络地址与收到鉴别用户和网络地址与收到鉴别用户的信息是否一致。的信息是否一致。如果允许用户访问如果允许用户访问V V,TGSTGS就返回一张访问请求服务的许可票据。就返回一张访问请求服务的许可票据。客户代表用户请求获得某项服务。客户向服务器传输一个包含用户客户代表用户请求获得某项服务。客户向服务器传输一个包含用户IDID和服务许和服务许可票据的报文,服务器通过票据的内
22、容进行鉴别。可票据的报文,服务器通过票据的内容进行鉴别。222024-3-192024-3-192222 尽管以上认证过程增加了安全性,但仍存在以下两个问题:尽管以上认证过程增加了安全性,但仍存在以下两个问题:门票许可票据的生存期门票许可票据的生存期。生存期如果太短,用户将总被要求输入口令;生存。生存期如果太短,用户将总被要求输入口令;生存期太长,对手又有更多重放的机会。期太长,对手又有更多重放的机会。服务器被要求向用户证明本身服务器被要求向用户证明本身。KerberosKerberos为解决以上两个问题而采取的措施:为解决以上两个问题而采取的措施:KerberosKerberos系统利用票据
23、方法在客户系统利用票据方法在客户机和目标服务器实际通信之前由客户和认证服务器先执行一个通信交换协议机和目标服务器实际通信之前由客户和认证服务器先执行一个通信交换协议(如下图(如下图所示)。所示)。-两次交换结束时客户机两次交换结束时客户机和服务器获得了由认证服和服务器获得了由认证服务器为它们所产生的秘密务器为它们所产生的秘密会话密钥,这就为相互认会话密钥,这就为相互认证提供了基础而且也可以证提供了基础而且也可以在通信会话中保护其他服在通信会话中保护其他服务。务。232024-3-192024-3-192323 KerberosKerberos的主要优点是利用相对便宜的技术提供了较好的保护水平,
24、但也有一的主要优点是利用相对便宜的技术提供了较好的保护水平,但也有一些缺陷,些缺陷,主要体现在以下三个方面:主要体现在以下三个方面:需要具有很高利用率的可信在线认证服务器需要具有很高利用率的可信在线认证服务器(至少在物理上是安全的)。(至少在物理上是安全的)。重放检测依赖于时间戳重放检测依赖于时间戳,这意味着需要同步和安全的时钟。,这意味着需要同步和安全的时钟。如果认证过程中的密钥受到威胁如果认证过程中的密钥受到威胁,那么传输在使用该密钥进行认证的任何会,那么传输在使用该密钥进行认证的任何会话过程中的所有被保护的数据都将受到威胁。话过程中的所有被保护的数据都将受到威胁。一个完整的辖区包括一个一
25、个完整的辖区包括一个KerberosKerberos服务器、一组工作站和一组应用服务器服务器、一组工作站和一组应用服务器,它,它们应满足这些要求:们应满足这些要求:KerberosKerberos服务器必须在其数据库中拥有所参与用户的服务器必须在其数据库中拥有所参与用户的IDID和口令和口令散列表,所有用户均在散列表,所有用户均在KerberosKerberos服务器上注册服务器上注册;KerberosKerberos服务器与每一个服务器之服务器与每一个服务器之间共享一个保密密钥,所有服务器均在间共享一个保密密钥,所有服务器均在KerberosKerberos服务器上注册。服务器上注册。(3)
26、Kerberos域间的认证域间的认证(略略)242024-3-192024-3-192424 假设世界被分割成假设世界被分割成n n个不同的域,那么某个域中的实体可能需要认证另外一个个不同的域,那么某个域中的实体可能需要认证另外一个域中的实体的身份。域中的实体的身份。KerberosKerberos提供了一个支持不同域间认证的机制:提供了一个支持不同域间认证的机制:每个域的每个域的KerberosKerberos服务器与其服务器与其他域内的他域内的KerberosKerberos服务器之间共享一个保密密钥,两个服务器之间共享一个保密密钥,两个KerberosKerberos服务器相互注册,服务
27、器相互注册,其认证过程如下图所示。其认证过程如下图所示。但 是 该 方 法但 是 该 方 法也存在缺陷,主也存在缺陷,主要表现在要表现在:对于:对于大量域间的认证,大量域间的认证,可伸缩性不好。可伸缩性不好。如果如果n n个域,那么个域,那么需要需要n(n-1)/2n(n-1)/2个个安全密钥交换,安全密钥交换,以 便 使 每 个以 便 使 每 个KerberosKerberos服务器服务器能够与其他所有能够与其他所有的的KerberosKerberos服务服务器辖区进行相互器辖区进行相互操作。操作。252024-3-192024-3-192525252024-3-192024-3-19252
28、55.X.509认证技术(略)数字证书(数字证书(Digital IDDigital ID),又叫),又叫“数字身份证数字身份证”、“网络身份证网络身份证”(它提供了(它提供了一种在网络上身份验证的方式,是用来标志和证明网络通信双方身份的数字信息文一种在网络上身份验证的方式,是用来标志和证明网络通信双方身份的数字信息文件,与司机驾照或日常生活中的身份证相似)是由权威公正的认证中心发放的并经件,与司机驾照或日常生活中的身份证相似)是由权威公正的认证中心发放的并经认证中心签名的,包含有公钥拥有者以及公钥相关信息的一种电子文件,可以用来认证中心签名的,包含有公钥拥有者以及公钥相关信息的一种电子文件,
29、可以用来证明数字证书持有者的身份。证明数字证书持有者的身份。由于数字证书有颁发机构的签名,保证了证书在传递、由于数字证书有颁发机构的签名,保证了证书在传递、存储过程中不会被篡改,即使被篡改了也会被发现存储过程中不会被篡改,即使被篡改了也会被发现。因此,数字证书本质是一种由颁发者数字签名的用于绑定公钥和其持有者身份因此,数字证书本质是一种由颁发者数字签名的用于绑定公钥和其持有者身份的数据结构(电子文件)。的数据结构(电子文件)。(1)数字证书)数字证书 X.509认证是由认证是由ITU-T制定的,一种制定的,一种行业标准,它的实现是基于公钥密码和行业标准,它的实现是基于公钥密码和数字签名技术,它
30、并没有专门指定加密数字签名技术,它并没有专门指定加密算法,但一般推荐使用算法,但一般推荐使用RSA加密算法。加密算法。为进行身份认证,为进行身份认证,X.509提供了数字提供了数字签名方案,但签名方案,但X.509也没有指定使用专门也没有指定使用专门的散列算法。的散列算法。X.509建议最早于建议最早于1988年发年发布,布,1993、1997和和2000年又分别发布了年又分别发布了它的第二、第三和第四版。它的第二、第三和第四版。X.509是一个是一个非常重要,因为非常重要,因为X.509定义的认证证书的定义的认证证书的结构和认证协议已经得到了广泛的应用。结构和认证协议已经得到了广泛的应用。目
31、前,使用得最广泛的是目前,使用得最广泛的是X.509 v3(第(第三版)证书样式。三版)证书样式。262024-3-192024-3-192626 数字证书采用公钥密码体制,数字证书采用公钥密码体制,即利用一对互相匹配的密钥进行加密、解密。即利用一对互相匹配的密钥进行加密、解密。每个用户拥有一把仅为本人所掌握的私钥,用它进行解密和签名;同时拥有一把每个用户拥有一把仅为本人所掌握的私钥,用它进行解密和签名;同时拥有一把公钥,并可以对外公开,用于加密和验证签名。公钥,并可以对外公开,用于加密和验证签名。当发送一份保密文件时,发送方当发送一份保密文件时,发送方使用接收方的公钥对数据加密,而接收方则使
32、用自己的私钥解密,这样,信息就使用接收方的公钥对数据加密,而接收方则使用自己的私钥解密,这样,信息就可以安全无误地到达目的地了,即使被第三方截获,由于没有相应的私钥,也无可以安全无误地到达目的地了,即使被第三方截获,由于没有相应的私钥,也无法进行解密法进行解密。通过数字的手段保证加密过程是一个不可逆过程,即只有用私钥才。通过数字的手段保证加密过程是一个不可逆过程,即只有用私钥才能解密。能解密。用数字证书,能够确认以下两点:用数字证书,能够确认以下两点:保证信息是由签名者自己签名发送的保证信息是由签名者自己签名发送的,签名者不能否认或难以否认。,签名者不能否认或难以否认。保证信息自签发后到收到为
33、止未曾作过任何修改保证信息自签发后到收到为止未曾作过任何修改,签发的文件是真实文件。,签发的文件是真实文件。272024-3-192024-3-192727 一般来说,一般来说,数字证书主要包括证书所有者的信息、证书所有者的公钥、证书颁数字证书主要包括证书所有者的信息、证书所有者的公钥、证书颁发机构的签名、证书的有效时间和其他信息发机构的签名、证书的有效时间和其他信息等。数字证书的格式一般采用等。数字证书的格式一般采用X.509X.509国际国际标准,是广泛使用的证书格式标准,是广泛使用的证书格式 目前,数字证书主要用于目前,数字证书主要用于发送安全电子邮件、访问安全站点、网上证券、网上发送安
34、全电子邮件、访问安全站点、网上证券、网上招标采购、网上签约、网上办公、网上缴费、网上税务招标采购、网上签约、网上办公、网上缴费、网上税务等网上安全电子事务处理和等网上安全电子事务处理和安全电子交易活动。安全电子交易活动。X.509 X.509支持支持单向、双向和三向认证单向、双向和三向认证3 3种不同的认证过程,以适应不同的环境。种不同的认证过程,以适应不同的环境。X.509 X.509认证过程使用认证过程使用基于公钥密码技术的数字签名基于公钥密码技术的数字签名,它假定通信双方都知道对,它假定通信双方都知道对方的公钥,用户从认证中心获得对方的证书。方的公钥,用户从认证中心获得对方的证书。282
35、024-3-192024-3-192828 单向认证单向认证 单向认证过程如下图所示。单向认证过程如下图所示。单向认证需要将信息从一个用户单向认证需要将信息从一个用户A A发送到用户发送到用户B B。这个认证过程需要使用这个认证过程需要使用A A的身份标识,而鉴别过程仅验证发起用户的身份标识,而鉴别过程仅验证发起用户A A的身份标的身份标识。识。在在A A发送给发送给B B的报文中至少还需要包含一个时间戳的报文中至少还需要包含一个时间戳t tA A,一个随机数,一个随机数r rA A以及以及B B的身的身份标识,这些信息都使用份标识,这些信息都使用A A的私钥签名。的私钥签名。时间戳时间戳t
36、tA A中可包含报文生成的时间和过期时间,主要用于防止报文的延迟。中可包含报文生成的时间和过期时间,主要用于防止报文的延迟。随机数随机数r rA A用于保证报文的时效性和检测重放攻击,它在报文的有效期内必须是唯用于保证报文的时效性和检测重放攻击,它在报文的有效期内必须是唯一的。一的。报文也可以传递签名的附加信息(报文也可以传递签名的附加信息(SignData),),对报文签名时也可以把该信息包含对报文签名时也可以把该信息包含在内,以保证其可信性和完整性。此外,还可以利用该报文向在内,以保证其可信性和完整性。此外,还可以利用该报文向B传递会话密钥传递会话密钥Kab(密钥密钥需要用需要用B的公钥的
37、公钥KUB加密保护)。加密保护)。292024-3-192024-3-192929 双向认证双向认证 双向认证过程如下图所示。双向认证过程如下图所示。双向认证需要双向认证需要A A、B B双方相互鉴别对方的身份。双方相互鉴别对方的身份。除了除了A A的身份标识以外,这个过程中需要使用的身份标识以外,这个过程中需要使用B B的身份标识。的身份标识。为了完成双向为了完成双向认证,认证,B B需要对需要对A A发送的报文进行应答。发送的报文进行应答。在应答报文中,包含有在应答报文中,包含有A A发送随机数发送随机数r rA A、B B产生的时间戳产生的时间戳t tB B,以及,以及B B产生随机产生
38、随机数数r rB B。同样,应答报文还可能包括签名的附加信息和会话密钥。同样,应答报文还可能包括签名的附加信息和会话密钥。302024-3-192024-3-193030 三向认证三向认证 三向认证过程如下图所示。三向认证过程如下图所示。三向认证主要用于三向认证主要用于A A、B B之间没有时间同步的应用场合中。之间没有时间同步的应用场合中。三向认证中需要一个最后从三向认证中需要一个最后从A A发生发生B B的报文,其中包含的报文,其中包含A A对随机数对随机数r rB B的签名。的签名。其目的是在不用检查时间戳的情况下检测重放攻击。其目的是在不用检查时间戳的情况下检测重放攻击。有两个随机数有两个随机数r rA A和随机数和随机数r rB B均被返回给生成者,每一端都用它来均被返回给生成者,每一端都用它来进行重放攻击的检测。进行重放攻击的检测。
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。