《认证和访问控制认证第三讲身份认证PPT课件》由会员分享,可在线阅读,更多相关《认证和访问控制认证第三讲身份认证PPT课件(82页珍藏版)》请在金锄头文库上搜索。
1、1第第3 3讲讲 身份认证协议与机制身份认证协议与机制华中科技大学计算机学院华中科技大学计算机学院信息安全研究室信息安全研究室2n1密码协议密码协议n2身份认证协议身份认证协议n3 基于非密码的认证基于非密码的认证n4 基于密码算法的认证基于密码算法的认证n5 零知识证明协议零知识证明协议第第3 3讲讲 身份认证协议与机制身份认证协议与机制3n1密码协议密码协议n2身份认证协议身份认证协议n3 基于非密码的认证基于非密码的认证n4 基于密码算法的认证基于密码算法的认证n5 零知识证明协议零知识证明协议第第3 3讲讲 身份认证协议与机制身份认证协议与机制4n1密码协议密码协议n2身份认证协议身份
2、认证协议n3 基于非密码的认证基于非密码的认证n4 基于密码算法的认证基于密码算法的认证n5 零知识证明协议零知识证明协议第第3 3讲讲 身份认证协议与机制身份认证协议与机制5n2.1 身份认证概念身份认证概念n2.2 身份认证的目标身份认证的目标n2.3 身份认证的分类身份认证的分类n2.4 身份认证的途径身份认证的途径2 身份认证协议身份认证协议62.1安全的信息交换应满足的性质安全的信息交换应满足的性质n* 保密性(保密性( Confidentiality)n* 完整性(完整性(Integrity)n数据完整性,未被未授权篡改或者损坏数据完整性,未被未授权篡改或者损坏n 系统完整性,系统
3、未被非授权操纵,按既定的功能系统完整性,系统未被非授权操纵,按既定的功能n运行运行n*可用性(可用性(Availability)n*鉴别性鉴别性 (Authenticity)n 实体身份的鉴别,适用于用户、进程、系统、信息等实体身份的鉴别,适用于用户、进程、系统、信息等n* 不可否认性(不可否认性(Non-repudiation)n 防止源点或终点的抵赖防止源点或终点的抵赖72.1 2.1 身份认证概述身份认证概述 n为为了了保保护护网网络络资资源源及及落落实实安安全全政政策策。需需要要提提供供可可追追究究责责任任的的机机制制,这这里里涉涉及及到到三三个个概概念念:认认证证、授授权权及审计。及
4、审计。n用用户对资源的源的访问过程程 访问控制访问控制用用户户身身份份认认证证资源资源授权数据库授权数据库审计数据库审计数据库82.12.1身份认证概述(续)身份认证概述(续)n认认证证与与以以下下环环境境有有关关:某某一一成成员员(声声称称者者)提提交交一一个个主主体体的的身身份份并并声声称称他他是是那那个个主主体体,认认证证能能使使别别的的成成员员(验验证证者者)获获得对声称者所声称的事实的信任。得对声称者所声称的事实的信任。n身份认证的作用身份认证的作用n对抗假冒攻击对抗假冒攻击n确保身份,明确责任确保身份,明确责任 n鉴别是最重要的安全服务之一。鉴别是最重要的安全服务之一。鉴别服务提供
5、了关于某个实鉴别服务提供了关于某个实体身份的保证。(体身份的保证。(所有其它的安全服务都依赖于该服务)所有其它的安全服务都依赖于该服务)92.1 实体鉴别的例子实体鉴别的例子n* 263的邮件登录的邮件登录n* sina的邮件登录的邮件登录n* Client与与Proxy-Server之间的鉴别之间的鉴别n* Telnet远程登录远程登录n* POP3邮件登录邮件登录n* Ftp服务服务102.1 2.1 身份认证概述身份认证概述 对身份认证过程中攻击:对身份认证过程中攻击:n数数据据流流窃窃听听(Sniffer)(Sniffer):由由于于认认证证信信息息要要通通过过网网络络传传递递,并并且
6、且很很多多认认证证系系统统的的口口令令是是未未经经加加密密的的明明文文,攻攻击击者者通通过过窃窃听听网网络络数数据据,就就很很容容易易分分辨辨出出某某种种特特定系统的认证数据,并提取出用户名和口令。定系统的认证数据,并提取出用户名和口令。n拷拷贝贝/ /重重传传:非非法法用用户户截截获获信信息息,然然后后再再传传送送给给接接收收者。者。n修修改改或或伪伪造造:非非法法用用户户截截获获信信息息,替替换换或或修修改改信信息息后后再再传传送送给给接接收收者者,或或者者非非法法用用户户冒冒充充合合法法用用户户发发送信息。送信息。 11n2.1 身份认证概念身份认证概念n2.2 身份认证的目标身份认证的
7、目标n2.3 身份认证的分类身份认证的分类n2.4 身份认证的途径身份认证的途径2 身份认证协议身份认证协议122.2 实体鉴别的需求和目的实体鉴别的需求和目的n某一成员(声称者)提交一个主体的身份并声某一成员(声称者)提交一个主体的身份并声称它是那个主体。称它是那个主体。n* 实体鉴别目的:实体鉴别目的:n使别的成员(验证者)获得对声称者所声称的使别的成员(验证者)获得对声称者所声称的事实的信任。事实的信任。132.2实体鉴别的目的和过程实体鉴别的目的和过程n* 实体鉴别(身份鉴别):某一实体确信与之打交道的实体正实体鉴别(身份鉴别):某一实体确信与之打交道的实体正是所需要的实体。只是简单地
8、鉴别实体本身的身份,不会和实是所需要的实体。只是简单地鉴别实体本身的身份,不会和实体想要进行何种活动相联系。体想要进行何种活动相联系。n* 在实体鉴别中,身份由参与某次通信连接或会话的远程参与在实体鉴别中,身份由参与某次通信连接或会话的远程参与者提交。这种服务在连接建立或在数据传送阶段的某些时刻提者提交。这种服务在连接建立或在数据传送阶段的某些时刻提供,使用这种服务可以确信供,使用这种服务可以确信(仅仅在使用时间内仅仅在使用时间内): 一个实体此一个实体此时没有试图冒充别的实体,或没有试图将先前的连接作非授权时没有试图冒充别的实体,或没有试图将先前的连接作非授权地重放。地重放。142.2实体鉴
9、别与消息鉴别的差别实体鉴别与消息鉴别的差别n* 实体鉴别一般都是实时的,消息鉴别一般不提供时间实体鉴别一般都是实时的,消息鉴别一般不提供时间性。性。n* 实体鉴别只证实实体的身份,消息鉴别除了消息的合实体鉴别只证实实体的身份,消息鉴别除了消息的合法和完整外,还需要知道消息的含义。法和完整外,还需要知道消息的含义。n* 数字签名主要用于证实消息的真实来源。但在身份鉴数字签名主要用于证实消息的真实来源。但在身份鉴别中消息的语义是基本固定的,一般不是别中消息的语义是基本固定的,一般不是“终生终生”的,的,签名是长期有效的。签名是长期有效的。152.2实体鉴别实现安全目标的方式实体鉴别实现安全目标的方
10、式n 作为访问控制服务的一种必要支持,访问控作为访问控制服务的一种必要支持,访问控n制服务的执行依赖于确知的身份(访问控制制服务的执行依赖于确知的身份(访问控制n服务直接对达到机密性、完整性、可用性及服务直接对达到机密性、完整性、可用性及n合法使用目标提供支持);合法使用目标提供支持);n 作为提供数据起源认证的一种可能方法(当作为提供数据起源认证的一种可能方法(当n它与数据完整性机制结合起来使用时);它与数据完整性机制结合起来使用时);n 作为对责任原则的一种直接支持,例如,在作为对责任原则的一种直接支持,例如,在n审计追踪过程中做记录时,提供与某一活动审计追踪过程中做记录时,提供与某一活动
11、n相联系的确知身份。相联系的确知身份。16n2.1 身份认证概念身份认证概念n2.2 身份认证的目标身份认证的目标n2.3 身份认证的分类身份认证的分类n2.4 身份认证的途径身份认证的途径2 身份认证协议身份认证协议172.3实体鉴别分类实体鉴别分类-in* 实体鉴别可以分为实体鉴别可以分为本地和远程本地和远程两类。两类。n* 本地多用户鉴别:实体在本地环境的初始化鉴别本地多用户鉴别:实体在本地环境的初始化鉴别(就是说,作为实体个人,和设备物理接触,不和(就是说,作为实体个人,和设备物理接触,不和网络中的其他设备通信)。网络中的其他设备通信)。n 需要用户进行明确的操作需要用户进行明确的操作
12、n* 远程用户鉴别:连接远程设备、实体和环境的实远程用户鉴别:连接远程设备、实体和环境的实体鉴别。体鉴别。n 通常将本地鉴别结果传送到远程。通常将本地鉴别结果传送到远程。n(1)安全)安全n(2)易用)易用182.3实体鉴别分类实体鉴别分类-i in实体鉴别分类实体鉴别分类-ii 实体鉴别可以是单向的也可实体鉴别可以是单向的也可以是双向的。以是双向的。n 单向鉴别是指通信双方中只有一方向另一方单向鉴别是指通信双方中只有一方向另一方进行鉴别。进行鉴别。n双向鉴别是指通信双方相互进行鉴别。双向鉴别是指通信双方相互进行鉴别。n19n2.1 身份认证概念身份认证概念n2.2 身份认证的目标身份认证的目
13、标n2.3 身份认证的分类身份认证的分类n2.4 身份认证的途径身份认证的途径2 身份认证协议身份认证协议202.4实体鉴别系统的组成实体鉴别系统的组成n* 一方是出示证件的人,称作示证者一方是出示证件的人,称作示证者P(Prover),又,又n称声称者称声称者(Claimant)。n* 另一方为验证者另一方为验证者V(Verifier),检验声称者提出的检验声称者提出的n证件的正确性和合法性,决定是否满足要求。证件的正确性和合法性,决定是否满足要求。n* 第三方是可信赖者第三方是可信赖者TP (Trusted third party) ,n参与调解纠纷。参与调解纠纷。n* 第四方是攻击者,可
14、以窃听或伪装声称者骗取验第四方是攻击者,可以窃听或伪装声称者骗取验n证者的信任。证者的信任。212.4实体鉴别系统的鉴别模型实体鉴别系统的鉴别模型222.4对身份鉴别系统的要求对身份鉴别系统的要求n(1)验证者正确识别合法申请者的概率极大化。)验证者正确识别合法申请者的概率极大化。n(2)不具有可传递性()不具有可传递性(Transferability)n(3)攻击者伪装成申请者欺骗验证者成功的概率)攻击者伪装成申请者欺骗验证者成功的概率n要小到可以忽略的程度要小到可以忽略的程度n(4)计算有效性)计算有效性n(5)通信有效性)通信有效性n(6)秘密参数能安全存储)秘密参数能安全存储n(7)交
15、互识别)交互识别n(8)第三方的实时参与)第三方的实时参与n(9)第三方的可信赖性)第三方的可信赖性n(10)可证明的安全性)可证明的安全性232.4实现身份鉴别的途径实现身份鉴别的途径* 三种途径之一或他们的组合三种途径之一或他们的组合n(1)所知()所知(Knowledge):密码、口令密码、口令n(2)所有()所有(Possesses):身份证、护照、信用卡、身份证、护照、信用卡、钥匙钥匙n(3)个人特征:指纹、笔迹、声纹、手型、血型、)个人特征:指纹、笔迹、声纹、手型、血型、视网膜、虹膜、视网膜、虹膜、DNA以及个人动作方面的一些特征以及个人动作方面的一些特征n设计依据:设计依据:n安
16、全水平、系统通过率、用户可接受性、成本等安全水平、系统通过率、用户可接受性、成本等24n1 密码协议密码协议n2 身份认证协议身份认证协议n3 基于非密码的认证基于非密码的认证n4 基于密钥的认证基于密钥的认证n5 零知识证明协议零知识证明协议第第3 3讲讲 身份认证协议与机制身份认证协议与机制25n3.1 基于口令的机制基于口令的机制n3.2 一次性口令一次性口令n3.3 询问询问-应答机制应答机制n3.4 基于地址的认证基于地址的认证n3.5 基于个人特征的认证机制基于个人特征的认证机制n3.6 个人鉴别令牌个人鉴别令牌3 非密码的身份认证机制非密码的身份认证机制26n3.1.1 常见口令
17、机制常见口令机制n3.1.2 基于口令机制的攻击基于口令机制的攻击n3.1.3 口令机制的改进方案口令机制的改进方案3.1 基于口令的认证机制基于口令的认证机制273.1.1 常见口令机制常见口令机制n口令或通行字机制是最广泛研究和使用的身份鉴别口令或通行字机制是最广泛研究和使用的身份鉴别法。通常为长度为法。通常为长度为58的字符串。选择原则:易记、的字符串。选择原则:易记、难猜、抗分析能力强。难猜、抗分析能力强。n口令系统有许多脆弱点:口令系统有许多脆弱点: 外部泄露外部泄露 口令猜测口令猜测 线路窃听线路窃听 危及验证者危及验证者 重放重放283.1.1对付外部泄露的措施对付外部泄露的措施
18、n教育、培训;教育、培训;n严格组织管理办法和执行手续;严格组织管理办法和执行手续;n口令定期改变;口令定期改变;n每个口令只与一个人有关;每个口令只与一个人有关;n输入的口令不再现在终端上;输入的口令不再现在终端上;n使用易记的口令,不要写在纸上。使用易记的口令,不要写在纸上。293.1.1对付口令猜测的措施对付口令猜测的措施n教育、培训;教育、培训;n严格限制非法登录的次数;严格限制非法登录的次数;n口令验证中插入实时延迟;口令验证中插入实时延迟;n限制最小长度,至少限制最小长度,至少68字节以上字节以上n防止用户特征相关口令,防止用户特征相关口令,n口令定期改变;口令定期改变;n及时更改
19、预设口令;及时更改预设口令;n使用机器产生的口令。使用机器产生的口令。303.1.1对付线路窃听的措施对付线路窃听的措施n使用保护口令机制:如单向函数。使用保护口令机制:如单向函数。 q fididq比较比较是或不是是或不是p id声称者声称者验证者验证者消息消息31服务端的口令安全问题服务端的口令安全问题固定口令固定口令n1)存储的口令文件)存储的口令文件n以明文形式将用户口令存储在系统口令文件中以明文形式将用户口令存储在系统口令文件中n口令文件需读保护和写保护口令文件需读保护和写保护n2)“加密的加密的”口令文件口令文件n存储口令的单向函数值存储口令的单向函数值n口令文件需写保护口令文件需
20、写保护IDA,PWAB检查口令和身份窃听?存储安全?323.1.2 主要缺陷及对策主要缺陷及对策n攻击者很容易构造一张攻击者很容易构造一张q与与p对应的表,表中的对应的表,表中的p尽最大可尽最大可能包含所期望的值。能包含所期望的值。n随机串(随机串(Salt)是使这种攻击变得困难的一种办法。)是使这种攻击变得困难的一种办法。n在口令后使用随机数。在口令后使用随机数。n只能保护在多台计算机上使用相同口令或在同一计算机上只能保护在多台计算机上使用相同口令或在同一计算机上使用同一口令的不同用户。使用同一口令的不同用户。n 防止口令文件中出现相同口令防止口令文件中出现相同口令n 无须用户额外记住两个字
21、符,就能增加口令长度无须用户额外记住两个字符,就能增加口令长度n 阻止了用硬件实现阻止了用硬件实现DES33服务端的口令安全问题服务端的口令安全问题n服务器端的字典攻击:在这种攻击中,服务器端的字典攻击:在这种攻击中,Eve只对只对找到口令有兴趣,并不关心用户的找到口令有兴趣,并不关心用户的ID。例如,如。例如,如果口令是六位数,果口令是六位数, Eve可以创建一个六位数可以创建一个六位数(000000999999)的列表,然后对每一个数使的列表,然后对每一个数使用散列函数,结果就是一个一百万个散列的列表。用散列函数,结果就是一个一百万个散列的列表。她就可以得到口令档案并搜索条目中的第二列,她
22、就可以得到口令档案并搜索条目中的第二列,找出一个与之相匹配的。这可以被编程并且在找出一个与之相匹配的。这可以被编程并且在Eve的个人计算机上脱机运行。找到匹配以后,的个人计算机上脱机运行。找到匹配以后,伊夫就可以再上线,用口令来访问系统。伊夫就可以再上线,用口令来访问系统。 343.1.3 UNIX系统中的口令存储系统中的口令存储(1)nUnix系统使用一个单向函数系统使用一个单向函数crypt()来加密用户的口令。来加密用户的口令。Crypt()是基于是基于DES的加密算法,它将用户输入的口令作为密钥,的加密算法,它将用户输入的口令作为密钥,加密一个加密一个64bit的的0/1串,加密的结果
23、又使用用户的口令再次串,加密的结果又使用用户的口令再次加密;重复该过程,一共进行加密;重复该过程,一共进行25次。最后的输出为一个次。最后的输出为一个13byte的字符串,存放在的字符串,存放在/etc/passwd的的PASSWORD域。域。单向函数单向函数crypt()从数学原理上保证了从加密的密文得到加密从数学原理上保证了从加密的密文得到加密前的明文是不可能的或是非常困难的。当用户登录时,系统前的明文是不可能的或是非常困难的。当用户登录时,系统并不是去解密已加密的口令,而是将输入的口令明文字符串并不是去解密已加密的口令,而是将输入的口令明文字符串传给加密函数,将加密函数的输出与传给加密函
24、数,将加密函数的输出与/etc/passwd文件中该文件中该用户条目的用户条目的PASSWORD域进行比较,若匹配成功,则允许域进行比较,若匹配成功,则允许用户登录系统。用户登录系统。35UNIX系统中的口令存储系统中的口令存储(2)nUNIX系统使用系统使用crypt()保证系统密码的完整性。保证系统密码的完整性。 这一这一函数完成被称作单向加密的功能,它可以加密一些明函数完成被称作单向加密的功能,它可以加密一些明码,但不能够将密码转换为原来的明码。码,但不能够将密码转换为原来的明码。363.1.3 添加一个新用户添加一个新用户37服务端的口令安全问题:服务端的口令安全问题:unix的的cr
25、ypt()加密过程()加密过程口令加盐口令加盐(Salting Passwords)n第一环节:口令字段字符串的生成:第一环节:口令字段字符串的生成:s = Agen(Dsalt, Dpw) 给口令给口令Dpw撒盐:撒盐:Dpw = Asalt (Dsalt,Dpw); 用撒盐结果做密钥:用撒盐结果做密钥:K = Dpw; 用一个用一个64位的全位的全0位串构造一个数据块位串构造一个数据块Dp; 设循环次数:设循环次数:i = 0; 对数据块加密:对数据块加密:Dc = Acrypt(K, Dp); Dp = Dc,i = i + 1; 如果如果i 25,则回到第,则回到第步;步; 把数据块变
26、换成字符串:把数据块变换成字符串:s = Atrans(Dc); 返回返回s。38服务端的口令安全问题:服务端的口令安全问题:unix的的crypt()加密过程()加密过程n第二环节:口令字段信息维护:第二环节:口令字段信息维护: 接收用户提供的口令接收用户提供的口令Dpw; 生成一个盐值:生成一个盐值:Dsalt = Arandom( ); 生成口令信息:生成口令信息:s = Agen(Dsalt, Dpw); 把口令信息把口令信息s和和Dsalt存入数据库的口令字存入数据库的口令字段中。段中。393.1.3 验证用户验证用户40服务端的口令安全问题:服务端的口令安全问题:unix的的cry
27、pt()验证过程()验证过程n第三环节:身份认证过程:第三环节:身份认证过程: 接收用户提供的帐户名接收用户提供的帐户名Dname和口令和口令Dpw; 在帐户信息数据库中检查在帐户信息数据库中检查Dname的合法性,的合法性,如果合法,则找出其对应的如果合法,则找出其对应的s和和Dsalt; 生成临时口令信息:生成临时口令信息:sr = Agen(Dsalt, Dpw); 如果如果sr与与s相等,则认证成功,否则,认证相等,则认证成功,否则,认证失败。失败。41服务端的口令安全问题:改进分析服务端的口令安全问题:改进分析n盐处理使字典攻击更为困难。如果原口令是盐处理使字典攻击更为困难。如果原口
28、令是六位数,盐是四位数,那么散列处理的结果六位数,盐是四位数,那么散列处理的结果就超过十位数。这就意味着伊夫现在要制作就超过十位数。这就意味着伊夫现在要制作一个有一个有10,000,000个条目的列表,并为个条目的列表,并为每一个条目创建一个散列。这个散列列表也每一个条目创建一个散列。这个散列列表也有有10,000,000个条目,比较这些条目要个条目,比较这些条目要花费很长时间。如果盐是一个很长的随机数花费很长时间。如果盐是一个很长的随机数字,盐处理是非常有效的。字,盐处理是非常有效的。UNIX操作系统运操作系统运用的就是这种方法的变种。用的就是这种方法的变种。42对付窃听的改进方案对付窃听的
29、改进方案 q id qid比较比较f是或不是是或不是声称者声称者验证者验证者p id消息消息salt43基本的对付危及验证者的措施基本的对付危及验证者的措施n使用单向函数使用单向函数 p ididq比较比较是或不是是或不是声称者声称者验证者验证者p id消息消息fq salt44对付窃听及危及验证者的措施对付窃听及危及验证者的措施 声称者声称者fq idgidr比较比较是或不是是或不是p idr 验证者验证者消息消息saltsalt45对付重放攻击的措施对付重放攻击的措施n抵抗对通信线路的主动攻击抵抗对通信线路的主动攻击重放攻击。重放攻击。 r idtgfidqg比较比较是或不是是或不是p 声
30、称者声称者验证者验证者消息消息q idtsalt46n3.1 基于口令的机制基于口令的机制n3.2 一次性口令一次性口令n3.3 询问询问-应答机制应答机制n3.4 基于地址的认证基于地址的认证n3.5 基于个人特征的认证机制基于个人特征的认证机制n3.6 个人鉴别令牌个人鉴别令牌3 非密码的身份认证机制非密码的身份认证机制473.2 一次性口令机制一次性口令机制n一次性口令机制确保在每次认证中所使用的口令不同,一次性口令机制确保在每次认证中所使用的口令不同,以对付重放攻击。以对付重放攻击。n确定口令的方法:确定口令的方法: (1)两端共同使用一个随机序列生成器,在该序列)两端共同使用一个随机
31、序列生成器,在该序列生成器的初态保持同步;生成器的初态保持同步; (2)使用时戳,两端维持同步的时钟。)使用时戳,两端维持同步的时钟。48一次口令一次口令n一次口令的共享列表一次口令的共享列表用户和系统都同意一个口令列表。一次使用一个。用户和系统都同意一个口令列表。一次使用一个。如果用户不按次序使用口令,系统就要执行一个长的搜如果用户不按次序使用口令,系统就要执行一个长的搜索才能找到匹配。索才能找到匹配。这个方案就使窃听和口令的重复使用毫无用处了。这个方案就使窃听和口令的重复使用毫无用处了。存储保护不善,会导致所有口令泄露。存储保护不善,会导致所有口令泄露。n顺序更新一次口令顺序更新一次口令初
32、始口令初始口令P1,这个口令仅在第一次访问时有效。访问的,这个口令仅在第一次访问时有效。访问的过程中,用户用过程中,用户用P1作为密钥对这个口令加密产生新口作为密钥对这个口令加密产生新口令令P2,作为第二次访问口令。,作为第二次访问口令。Pi用来创建用来创建Pi+1。如果如果Eve能够猜测出第一个口令能够猜测出第一个口令(P1),她就可以找出所,她就可以找出所有这一系列的口令。有这一系列的口令。493.2 SKEY验证程序验证程序nAliceAlice输入随机数输入随机数R R,计算机计算,计算机计算x x1 1=f=f(R R)、)、x x2 2=f=f(x x1 1)、)、x xn+1n+
33、1=f=f(x xn n)。)。AliceAlice保管保管x x1 1 ,x x2 2 ,x x3 3 ,。,。,。,x xn n这些数的列表,计算机在登录数据库中这些数的列表,计算机在登录数据库中AliceAlice的名字后面存储的名字后面存储x xn+1n+1的值。的值。n当当AliceAlice第一次登录时,输入名字和第一次登录时,输入名字和x xn n,计算机,计算机计算计算f f(x xn n),并把它和),并把它和x xn+1n+1比较,如果匹配,比较,如果匹配,就证明就证明AliceAlice身份是真的。然后,计算机用身份是真的。然后,计算机用x xn n代代替替x xn+1n
34、+1。AliceAlice将从自己的列表中取消将从自己的列表中取消x xn n。nAliceAlice每每次次登登录录时时,都都输输入入她她的的列列表表中中未未取取消消的的最最后后的的数数x xI I,计计算算机机计计算算f f(x xI I),并并和和存存储储在在它它的的数数据据库库中中的的x xI+1I+1比比较较。当当AliceAlice用用完完了了列列表表上面的数后,需要重新初始化。上面的数后,需要重新初始化。 503.2 双因素动态口令卡双因素动态口令卡n* 基于密钥基于密钥/时间双因素的身份鉴别机制;时间双因素的身份鉴别机制;n* 用户登录口令随时间变化,口令一次性使用户登录口令随
35、时间变化,口令一次性使n用,无法预测,可以有效抵御密码窃取和用,无法预测,可以有效抵御密码窃取和n重放攻击行为重放攻击行为n* RSA等多家安全公司等多家安全公司513.2 双因素动态口令卡双因素动态口令卡n相关产品相关产品n* 美国美国RSA SecurID 公司推出的公司推出的RSA SecurID系统是当前世系统是当前世n界领的双因素身份鉴别系统。形成了硬件令牌、虚拟令界领的双因素身份鉴别系统。形成了硬件令牌、虚拟令n牌(软件令牌)、与智能卡相结合的令牌等系列产品。牌(软件令牌)、与智能卡相结合的令牌等系列产品。n鉴别服务器可运行于鉴别服务器可运行于Windows/95/98/2000、
36、Windows/NT、nUNIX等环境。等环境。n* 美国另一家公司美国另一家公司Axend(现被现被Symantec公司兼并公司兼并)是较早推是较早推n出双因素身份认证系统的公司。出双因素身份认证系统的公司。Axend的产品不仅可运的产品不仅可运n行于行于Windows/95/98/2000、Windows/NT、UNIX等环等环n境,还能运行于境,还能运行于Netwarex系统,适应我国证券行业的需系统,适应我国证券行业的需n要。要。n* 我国一些信息技术公司也相继推出了动态口令认证系统。我国一些信息技术公司也相继推出了动态口令认证系统。n如网泰金安信息技术公司、北京亿青创新信息技术有限如
37、网泰金安信息技术公司、北京亿青创新信息技术有限n公司等。公司等。523.2 双因素动态口令卡例子双因素动态口令卡例子533.2 双因素动态口令卡原理分析双因素动态口令卡原理分析543.2 安全性分析安全性分析n(1)没有器件而知道口令)没有器件而知道口令p,不能导致一个,不能导致一个简单的攻击;简单的攻击;n(2)拥有器件而不知道口令)拥有器件而不知道口令p,不能导致一,不能导致一个简单的攻击;个简单的攻击;n(3)除非攻击者也能进行时间同步,否则重)除非攻击者也能进行时间同步,否则重放不是一个简单的攻击;放不是一个简单的攻击;n(4)知道)知道q(例如通过浏览验证者系统文件)(例如通过浏览验
38、证者系统文件)而不知道设备安全值而不知道设备安全值dsv,不能导致一个简,不能导致一个简单的攻击。单的攻击。553.3询问询问应答机制应答机制 询问询问应答原理可以扩张基于口令的方案,能应答原理可以扩张基于口令的方案,能大大地提高抵抗重放攻击的能力,但通常通大大地提高抵抗重放攻击的能力,但通常通信代价很高。信代价很高。n* 前面所示的对付重放攻击的机制存在两个重前面所示的对付重放攻击的机制存在两个重要的问题。一个是为了两端都知道要的问题。一个是为了两端都知道nrv值需要值需要维持同步。另一个是验证者要知道维持同步。另一个是验证者要知道nrv值是否值是否被重复使用过是比较困难的。被重复使用过是比
39、较困难的。n* 询问询问应答方法克服了这些问题。应答方法克服了这些问题。563.3询问询问应答机制应答机制573.4 基于地址的机制基于地址的机制n基于地址的机制假定声称者的可鉴别性是以呼叫的源地址为基于地址的机制假定声称者的可鉴别性是以呼叫的源地址为基础的。基础的。n在大多数的数据网络中,呼叫地址的辨别都是可行的。在大多数的数据网络中,呼叫地址的辨别都是可行的。n在不能可靠地辨别地址时,可以用一个呼叫在不能可靠地辨别地址时,可以用一个呼叫回应设备来获回应设备来获得呼叫的源地址。得呼叫的源地址。n 一个验证者对每一个主体都保持一份合法呼叫地址的文件。一个验证者对每一个主体都保持一份合法呼叫地址
40、的文件。n 这种机制最大的困难是在一个临时的环境里维持一个连续的这种机制最大的困难是在一个临时的环境里维持一个连续的主机和网络地址的联系。地址的转换频繁、呼叫主机和网络地址的联系。地址的转换频繁、呼叫转发或重转发或重定向引起了一些主要问题。定向引起了一些主要问题。n 基于地址的机制自身不能被作为鉴别机制,但可作为其它机基于地址的机制自身不能被作为鉴别机制,但可作为其它机制的有用补充。制的有用补充。583.5 基于个人特征的机制基于个人特征的机制n生物特征识别技术主要有:生物特征识别技术主要有: 1)指纹识别;)指纹识别; 2)声音识别;)声音识别; 3)手迹识别;)手迹识别; 4)视网膜扫描;
41、)视网膜扫描; 5)手形。)手形。这些技术的使用对网络安全协议不会有重要的这些技术的使用对网络安全协议不会有重要的影响。影响。593.6 个人鉴别令牌个人鉴别令牌n物理特性用于支持认证物理特性用于支持认证“某人拥有某东西某人拥有某东西” ,但通常要与一个口令或但通常要与一个口令或PIN结合使用。结合使用。n这种器件应具有存储功能,通常有键盘、显示这种器件应具有存储功能,通常有键盘、显示器等界面部件,更复杂的能支持一次性口令,器等界面部件,更复杂的能支持一次性口令,甚至可嵌入处理器和自己的网络通信设备(如甚至可嵌入处理器和自己的网络通信设备(如智能卡)。智能卡)。n这种器件通常还利用其它密码鉴别
42、方法。这种器件通常还利用其它密码鉴别方法。60n1 身份认证概述身份认证概述n2 身份认证协议与结构身份认证协议与结构n3 基于非密码的认证基于非密码的认证n4 基于密码算法的认证基于密码算法的认证n5 零知识证明协议零知识证明协议第第3 3讲讲 身份认证协议与机制身份认证协议与机制614 基于密码算法的基于密码算法的 强鉴别协议强鉴别协议* 强鉴别(强鉴别(strong authentication):通过密码学的询通过密码学的询n问问-应答应答(challenge-response)协议实现的身份鉴协议实现的身份鉴n别,询问别,询问-应答协议的思想是一个实体向另一个实应答协议的思想是一个实
43、体向另一个实n体证明他知道有关的秘密知识,但不向验证者提体证明他知道有关的秘密知识,但不向验证者提n供秘密本身。这通过对一个时变的询问提供应答供秘密本身。这通过对一个时变的询问提供应答n来实现,应答通常依赖于实体的秘密和询问。询来实现,应答通常依赖于实体的秘密和询问。询n问通常是一个实体选择的一个数(随机和秘密问通常是一个实体选择的一个数(随机和秘密n地)。地)。624 基于密码算法的基于密码算法的 强鉴别协议强鉴别协议63n1 身份认证概述身份认证概述n2 身份认证协议与结构身份认证协议与结构n3 基于非密码的认证基于非密码的认证n4 基于密码算法的认证基于密码算法的认证n5 零知识证明协议
44、零知识证明协议第第3 3讲讲 身份认证协议与机制身份认证协议与机制645 零知识证明协议零知识证明协议n* 下面是一个故事:下面是一个故事:n* Alice: “我知道联邦储备系统计算的口令我知道联邦储备系统计算的口令”n* Bob: “不,你不知道不,你不知道”n* Alice:我知道:我知道n* Bob:你不知道:你不知道n* Alice:我确实知道:我确实知道n* Bob:请你的证实这一点:请你的证实这一点n* Alice:好吧,我告诉你。(她悄悄说出了口令):好吧,我告诉你。(她悄悄说出了口令)n* Bob:太有趣了!现在我也知道了。我要告诉:太有趣了!现在我也知道了。我要告诉华盛顿邮
45、华盛顿邮n报报n* Alice:啊呀!:啊呀!655 零知识证明协议零知识证明协议n* P为示证者为示证者(Prover),V为验证者,为验证者,P试图向试图向Vn证明自己知道某信息。证明自己知道某信息。n P告诉告诉V这一信息使得这一信息使得V相信,这样相信,这样V也知道了也知道了n这一信息,这是基于知识的证明;这一信息,这是基于知识的证明;n 通过某种有效的数学方法,使得通过某种有效的数学方法,使得V相信相信P掌握掌握n这一信息,却不泄漏任何有用的信息,这种方这一信息,却不泄漏任何有用的信息,这种方n法称为零知识证明问题。法称为零知识证明问题。n* 最小泄漏证明(最小泄漏证明(Minimu
46、m Disclosure Proof)n* 零知识证明零知识证明(Zero Knowledge Proof)665 零知识证明协议零知识证明协议n* P几乎不可能欺骗几乎不可能欺骗V:如果:如果P知道证明,他知道证明,他n可以使可以使V以极大的概率相信他知道证明;如以极大的概率相信他知道证明;如n果果P不知道证明,则他使得不知道证明,则他使得V相信他知道证相信他知道证n明的概率几乎为零。明的概率几乎为零。n* V几乎不可能知道证明的知识,特别是他不几乎不可能知道证明的知识,特别是他不n可能向别人重复证明过程。可能向别人重复证明过程。n* V无法从无法从P那里得到任何有关证明的知识。那里得到任何
47、有关证明的知识。n(零知识证明满足全部三个条件)(零知识证明满足全部三个条件)675 零知识证明协议零知识证明协议n(1)V站在站在A点;点;n(2)P进入山洞,走到进入山洞,走到C点或点或D点;点;n(3)当)当P消失后,消失后,V进入到进入到B点;点;n(4)V指定指定P从左边或右边出来;从左边或右边出来;n(5)P按照要求出洞(如果需要通过门,则使用咒语)按照要求出洞(如果需要通过门,则使用咒语)n(6)P和和V重复步骤(重复步骤(1)至()至(5)n次。次。68挑战挑战-应答身份鉴别协议应答身份鉴别协议n若若P不知咒语,则在不知咒语,则在 B 点,只有点,只有50 %的机会猜中的机会猜
48、中 V的要的要求,协议执行求,协议执行 n 次,则只有次,则只有 2-n 的机会完全猜中,若的机会完全猜中,若 n=16,则若每次均通过,则若每次均通过 Bob 的检验,的检验,V受骗机会仅为受骗机会仅为1/65536。n如果如果V用摄像机记录下他所看到的一切,他把录像给用摄像机记录下他所看到的一切,他把录像给Carol看,看,Carol会相信这是真的吗?会相信这是真的吗?Carol是不会相信是不会相信这是真的。这是真的。n这说明了两件事情:其一,这说明了两件事情:其一,V不可能使第三方相信这个不可能使第三方相信这个证明;其二,它证明了这个协议是零知识的。证明;其二,它证明了这个协议是零知识的
49、。V在不知在不知道咒语的情况下,显然不能从录像中获悉任何信息。道咒语的情况下,显然不能从录像中获悉任何信息。69挑战挑战-应答身份鉴别协议应答身份鉴别协议n零知识零知识(Zero-knowledge)(ZK)证明证明:是一种是一种交互式证明交互式证明系统系统n声称者(证明者)和验证者声称者(证明者)和验证者交换多个信息交换多个信息,这些信,这些信息的生成息的生成依赖于保密的随机数依赖于保密的随机数n证明者证明者P(Prover):知道某一秘密:知道某一秘密s,使,使V相信自己相信自己掌握这一秘密;掌握这一秘密;n验证者验证者V(Verifier):验证:验证P掌握秘密掌握秘密sn每轮每轮V向向
50、P发出一询问,发出一询问,P向向V作应答(需要有作应答(需要有s的知识才的知识才能正确应答)。能正确应答)。nV检查检查P是否每一轮都能正确应答。是否每一轮都能正确应答。70挑战挑战-应答身份鉴别协议应答身份鉴别协议n交互证明与数学证明的区别交互证明与数学证明的区别n数学证明:证明者可自己数学证明:证明者可自己独立独立完成证明完成证明(绝对绝对)n交互交互证明:由证明:由P产生证明产生证明(响应响应),V验证证明验证证明(响应)的有响应)的有效性效性(概率上)(概率上)来实现,双方之间要有通信来实现,双方之间要有通信n交互系统应满足交互系统应满足n完备性:如果完备性:如果P知道某一秘密,知道某
51、一秘密,V将接收将接收P的证明的证明n正确性:如果正确性:如果P能以一定的概率使能以一定的概率使V相信相信P的证明,则的证明,则P知知道相应的秘密(冒充者伪造成功的概率可忽略不计)道相应的秘密(冒充者伪造成功的概率可忽略不计)71挑战挑战-应答身份鉴别协议应答身份鉴别协议nNeedham-Schroeder协议:是基于对称密协议:是基于对称密钥加密的挑战钥加密的挑战-响应响应n计算模计算模n平方根的困难性平方根的困难性nFiat-Shamir身份识别协议身份识别协议nFiege-Fiat-Shamir身份识别协议身份识别协议n离散对数的困难性:离散对数的困难性:Schnorr协议协议72挑战挑
52、战-应答身份鉴别协议应答身份鉴别协议参数的选择:参数的选择:n可可信信中中心心T选选择择两两个个素素数数p和和q(保保密密,最最好好用用完完丢丢弃弃),计计算算类类似似RSA的的模模数数m=pq、并并公开公开m。n证证明明者者选选择择与与m互互素素的的私私钥钥s(1 sm),计计算算v=s2 mod mn证明者在可信中心证明者在可信中心T中注册中注册公钥公钥v2 Fiat-Shamir身份识别协议身份识别协议73挑战挑战-应答身份鉴别协议应答身份鉴别协议协议执行:迭代协议执行:迭代t轮轮(连续地、独立地连续地、独立地)(1) Alice 取随机数取随机数 r(m),计算,计算x= r2 mod
53、 m,并发送给,并发送给Bob;(2) Bob将一随机比特将一随机比特e=0或或1作为挑战发给作为挑战发给 Alice;(3) Alice计算响应值计算响应值y并发给并发给Bobn若若e=0,则,则Alice 将将y=r送给送给Bob;n若若e=1,则,则Alice将将y=rs mod m送给送给Bob;(4) 若若y=0,则,则Bob拒绝证明;反之,验证拒绝证明;反之,验证y2xve mod m?n若若e=0,则,则Bob 证实证实y2 =x mod mn若若e=1,则,则 Bob 证实证实 y2 =xv mod m 若若t轮都成功轮都成功,则,则Bob就接收就接收Alice的身份的身份Fi
54、at-Shamir身份识别协议身份识别协议74挑战挑战-应答身份鉴别协议应答身份鉴别协议n完备性完备性n如果如果Alice和和Bob遵守协议,且遵守协议,且Alice知道知道s,则响应值,则响应值 y2=(rse)2 mod m xve mod m,Bob接收接收Alice的的证明,所以协议是完备的。证明,所以协议是完备的。n正确性正确性nAlice不知道不知道s,他也可取,他也可取r,送,送y2 =r2 mod m给给Bob;Bob送送e 给给Alice;Alice将将r作为响应值作为响应值;当;当b=0时则时则Alice可通过检验使得可通过检验使得Bob受骗,当受骗,当b=1时,则时,则B
55、ob可发可发现现Alice不知不知s。Bob受骗概率为受骗概率为1/2,但连续,但连续t轮受骗的轮受骗的概率将仅为概率将仅为2-tnBob无法知道无法知道Alice的秘密的秘密(s),因为,因为s没有被传送过,且没有被传送过,且Bob只能随机选取一个比特位作为挑战只能随机选取一个比特位作为挑战。75挑战挑战-应答身份鉴别协议应答身份鉴别协议参数的选择:参数的选择:n可可信信中中心心T选选择择两两个个素素数数p和和q(保保密密,最最好好用用完完丢丢弃弃),计算类似,计算类似RSA的模数的模数n=pq、并公开、并公开n。n证证明明者者选选择择k个个与与n互互素素的的随随机机整整数数作作为为私私钥钥
56、s1, s2, ,sk(1 sin)n证证明明者者选选择择k个个随随机机比比特特b1, b2, , bk(1 i k),计计算算vi=(-1)bi (si2)-1 mod n (1 i k)n证明者在可信中心证明者在可信中心T中注册中注册公钥公钥 (v1, v2 , vk; n)3 Fiege-Fiat-Shamir身份识别协议身份识别协议76挑战挑战-应答身份鉴别协议应答身份鉴别协议协议执行:迭代协议执行:迭代t轮轮(连续地、独立地连续地、独立地)(1) Alice 取随机数取随机数 r(n)和一个随机比特和一个随机比特b,计算,计算x=(-1)br2 mod n,并发送给,并发送给Bob;
57、(2) Bob将一随机比特序列将一随机比特序列(e1,ek),ei 0,1 作作为挑战发给为挑战发给 Alice;(3) Alice计算响应值计算响应值y并发给并发给Bob:(4) Bob计算计算 ,并验证,并验证z=x和和z0 若若t轮都成功轮都成功,则,则Bob就接收就接收Alice的身份的身份Fiege-Fiat-Shamir身份识别协议身份识别协议77挑战挑战-应答身份鉴别协议应答身份鉴别协议nShnorr 身份认证协议融合了身份认证协议融合了ELGamal协议、协议、Fiat-Shamir协议、和协议、和Chaum-Evertse-Van de Graff交互协议等协议的思想,是一种
58、计算量、通交互协议等协议的思想,是一种计算量、通信量均少,特别适合智能卡上用户身份识别的方信量均少,特别适合智能卡上用户身份识别的方案。案。n其安全性建立在计算离散对数问题的困难性上。其安全性建立在计算离散对数问题的困难性上。4 Shnorr 身份认证协议身份认证协议78挑战挑战-应答身份鉴别协议应答身份鉴别协议nShnorr 身份认证协议需要一个可信中心身份认证协议需要一个可信中心 TA。 TA为协议选择下列参数:为协议选择下列参数: (1)p 及及 q 是两个大素数,且是两个大素数,且 q|(p-1); (3)选择安全参数选择安全参数t79挑战挑战-应答身份鉴别协议应答身份鉴别协议n每个用
59、户自己选定个人每个用户自己选定个人秘钥秘钥s,并计算,并计算公钥公钥v。其中。其中n每位用户必须到每位用户必须到TA 注册其公开密钥注册其公开密钥v。 TA 验明用户验明用户身份后,对每位用户指定一身份后,对每位用户指定一识别名识别名I。I中包括用户的中包括用户的姓名、性别、生日、职业、电话号码、指纹信息等识姓名、性别、生日、职业、电话号码、指纹信息等识别信息。别信息。 TA 对对(I,v)的签名的签名为为ST(I,v)。n在身份认证过程中,不需要在身份认证过程中,不需要 TA 介入。介入。80挑战挑战-应答身份鉴别协议应答身份鉴别协议n证明者证明者A向验证者向验证者B证明他身份(证明他身份(
60、Schnorr 认证协议)认证协议)AB用用 TA 的数字的数字签名来名来验证 A 的公开密的公开密钥3、e81挑战挑战-应答身份鉴别协议应答身份鉴别协议nSchnorr 协议的安全的基础是离散对数计协议的安全的基础是离散对数计算困难性。算困难性。n从从v求求s就是求离散对数,在计算上是不可就是求离散对数,在计算上是不可行的。行的。nr 和和s都是用户的秘密,假冒者都是用户的秘密,假冒者 Eve 是无是无法从法从 y 中得到用户的秘密,当然也就无法中得到用户的秘密,当然也就无法假冒证明者假冒证明者A。82身份鉴别与数字签名身份鉴别与数字签名n身份识别方案可转换为数字签名方案身份识别方案可转换为数字签名方案n数字签名:数字签名:n包含包含可变的可变的消息摘要消息摘要n通常提供通常提供不可抵赖性不可抵赖性,以允许,以允许事后事后法官来解决争端法官来解决争端n签署的消息通常是可公开验证的签署的消息通常是可公开验证的n身份识别:身份识别:n消息的语义消息的语义基本固定基本固定(在当前时刻及时地声称身份)(在当前时刻及时地声称身份)n声称可以声称可以立即立即确证或拒绝,从而实时保证或解除相关的特权确证或拒绝,从而实时保证或解除相关的特权或访问或访问n仅通信双方可以验证对方身份仅通信双方可以验证对方身份