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*在实体鉴别中,身份由参与某次通信连接或会话的远程参与在实体鉴别中,身份由参与某次通信连接或会话的远程参与者提交。这种服务在连接建立或在数据传送阶段的某些时刻者提交。这种服务在连接建立或在数据传送阶段的某些时刻提供,使用这种服务可以确信提供,使用这种服务可以确信(仅仅在使用时间内仅仅在使用时间内):一个实体一个实体此时没有试图冒充别的实体,或没有试图将先前的连接作非此时没有试图冒充别的实体,或没有试图将先前的连接作非授权地重放。授权地重放。1
9、42.2实体鉴别与消息鉴别的差实体鉴别与消息鉴别的差别别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对付外部泄露的措施对付外部泄露的措施n教育、培训;
18、教育、培训;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口令文件需写保护口令文件需写保护IDA,P
20、WPassWordPWAB检查口令和身份窃听?存储安全?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的的cry
25、pt()加密过程()加密过程口令加盐口令加盐(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,则回到第步;,则回到第步;把数据块变换成字符串:把数据块变换成字符串:s=Atrans(Dc
26、);返回返回s。38服务端的口令安全问题:服务端的口令安全问题:unix的的crypt()加密过程()加密过程n第二环节:口令字段信息维护:第二环节:口令字段信息维护:接收用户提供的口令接收用户提供的口令Dpw;生成一个盐值:生成一个盐值:Dsalt=Arandom();生成口令信息:生成口令信息:s=Agen(Dsalt,Dpw);把口令信息把口令信息s和和Dsalt存入数据库的口令存入数据库的口令字段中。字段中。393.1.3 验证用户验证用户40服务端的口令安全问题:服务端的口令安全问题:unix的的crypt()验证过程()验证过程n第三环节:身份认证过程:第三环节:身份认证过程:接收
27、用户提供的帐户名接收用户提供的帐户名Dname和口令和口令Dpw;在帐户信息数据库中检查在帐户信息数据库中检查Dname的合法性的合法性,如果合法,则找出其对应的,如果合法,则找出其对应的s和和Dsalt;生成临时口令信息:生成临时口令信息:sr=Agen(Dsalt,Dpw);如果如果sr与与s相等,则认证成功,否则,认证相等,则认证成功,否则,认证失败。失败。41服务端的口令安全问题:改进分析服务端的口令安全问题:改进分析n盐处理使字典攻击更为困难。如果原口令是盐处理使字典攻击更为困难。如果原口令是六位数,盐是四位数,那么散列处理的结果六位数,盐是四位数,那么散列处理的结果就超过十位数。这
28、就意味着伊夫现在要制作就超过十位数。这就意味着伊夫现在要制作一个有一个有10,000,000个条目的列表,并为个条目的列表,并为每一个条目创建一个散列。这个散列列表也每一个条目创建一个散列。这个散列列表也有有10,000,000个条目,比较这些条目要个条目,比较这些条目要花费很长时间。如果盐是一个很长的随机数花费很长时间。如果盐是一个很长的随机数字,盐处理是非常有效的。字,盐处理是非常有效的。UNIX操作系统运操作系统运用的就是这种方法的变种。用的就是这种方法的变种。42对付窃听的改进方案对付窃听的改进方案 q id qid比较比较f是或不是是或不是声称者声称者验证者验证者p id消息消息sa
29、lt43基本的对付危及验证者的措施基本的对付危及验证者的措施n使用单向函数使用单向函数 p ididq比较比较是或不是是或不是声称者声称者验证者验证者p id消息消息fq salt44对付窃听及危及验证者的措施对付窃听及危及验证者的措施 声称者声称者fq idgidr比较比较是或不是是或不是p idr 验证者验证者消息消息saltsalt45对付重放攻击的措施对付重放攻击的措施n抵抗对通信线路的主动攻击抵抗对通信线路的主动攻击重放攻击。重放攻击。r idtgfidqg比较比较是或不是是或不是p 声称者声称者验证者验证者消息消息q idtsalt46n3.1 基于口令的机制基于口令的机制n3.2
30、 一次性口令一次性口令n3.3 询问询问-应答机制应答机制n3.4 基于地址的认证基于地址的认证n3.5 基于个人特征的认证机制基于个人特征的认证机制n3.6 个人鉴别令牌个人鉴别令牌3 非密码的身份认证机制非密码的身份认证机制473.2 一次性口令机制一次性口令机制n一次性口令机制确保在每次认证中所使用的口令不一次性口令机制确保在每次认证中所使用的口令不同,以对付重放攻击。同,以对付重放攻击。n确定口令的方法:确定口令的方法:(1)两端共同使用一个随机序列生成器,在该序列)两端共同使用一个随机序列生成器,在该序列生成器的初态保持同步;生成器的初态保持同步;(2)使用时戳,两端维持同步的时钟。
31、)使用时戳,两端维持同步的时钟。48一次口令一次口令n一次口令的共享列表一次口令的共享列表用户和系统都同意一个口令列表。一次使用一个。用户和系统都同意一个口令列表。一次使用一个。如果用户不按次序使用口令,系统就要执行一个长的搜如果用户不按次序使用口令,系统就要执行一个长的搜索才能找到匹配。索才能找到匹配。这个方案就使窃听和口令的重复使用毫无用处了。这个方案就使窃听和口令的重复使用毫无用处了。存储保护不善,会导致所有口令泄露。存储保护不善,会导致所有口令泄露。n顺序更新一次口令顺序更新一次口令初始口令初始口令P1,这个口令仅在第一次访问时有效。访问的,这个口令仅在第一次访问时有效。访问的过程中,
32、用户用过程中,用户用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+1=f=f(x xn n)。)。AliceAlice保管保管x x1 1 ,x x2 2 ,x x3
33、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+1。AliceAlice将从自己的列表中取消将从自己的列表中取消x xn n。nAliceAlice每次
34、登录时,都输入她的列表中未取消的每次登录时,都输入她的列表中未取消的最后的数最后的数x xI I,计算机计算,计算机计算f f(x xI I),并和存储在),并和存储在它的数据库中的它的数据库中的x xI+1I+1比较。当比较。当AliceAlice用完了列表用完了列表上面的数后,需要重新初始化。上面的数后,需要重新初始化。503.2 双因素动态口令卡双因素动态口令卡n*基于密钥基于密钥/时间双因素的身份鉴别机制;时间双因素的身份鉴别机制;n*用户登录口令随时间变化,口令一次性使用户登录口令随时间变化,口令一次性使n用,无法预测,可以有效抵御密码窃取和用,无法预测,可以有效抵御密码窃取和n重放
35、攻击行为重放攻击行为n*RSA等多家安全公司等多家安全公司513.2 双因素动态口令卡双因素动态口令卡n相关产品相关产品n*美国美国RSA SecurID 公司推出的公司推出的RSA SecurID系统是当前世系统是当前世n界领的双因素身份鉴别系统。形成了硬件令牌、虚拟令界领的双因素身份鉴别系统。形成了硬件令牌、虚拟令n牌(软件令牌)、与智能卡相结合的令牌等系列产品。牌(软件令牌)、与智能卡相结合的令牌等系列产品。n鉴别服务器可运行于鉴别服务器可运行于Windows/95/98/2000、Windows/NT、nUNIX等环境。等环境。n*美国另一家公司美国另一家公司Axend(现被现被Sym
36、antec公司兼并公司兼并)是较早推是较早推n出双因素身份认证系统的公司。出双因素身份认证系统的公司。Axend的产品不仅可运的产品不仅可运n行于行于Windows/95/98/2000、Windows/NT、UNIX等环等环n境,还能运行于境,还能运行于Netwarex系统,适应我国证券行业的需系统,适应我国证券行业的需n要。要。n*我国一些信息技术公司也相继推出了动态口令认证系统。我国一些信息技术公司也相继推出了动态口令认证系统。n如网泰金安信息技术公司、北京亿青创新信息技术有限如网泰金安信息技术公司、北京亿青创新信息技术有限n公司等。公司等。523.2 双因素动态口令卡例子双因素动态口令
37、卡例子533.2 双因素动态口令卡原理分析双因素动态口令卡原理分析543.2 安全性分析安全性分析n(1)没有器件而知道口令)没有器件而知道口令p,不能导致一个,不能导致一个简单的攻击;简单的攻击;n(2)拥有器件而不知道口令)拥有器件而不知道口令p,不能导致一,不能导致一个简单的攻击;个简单的攻击;n(3)除非攻击者也能进行时间同步,否则)除非攻击者也能进行时间同步,否则重放不是一个简单的攻击;重放不是一个简单的攻击;n(4)知道)知道q(例如通过浏览验证者系统文件)(例如通过浏览验证者系统文件)而不知道设备安全值而不知道设备安全值dsv,不能导致一个简,不能导致一个简单的攻击。单的攻击。5
38、53.3询问询问应答机制应答机制 询问询问应答原理可以扩张基于口令的方案,能应答原理可以扩张基于口令的方案,能大大地提高抵抗重放攻击的能力,但通常通大大地提高抵抗重放攻击的能力,但通常通信代价很高。信代价很高。n*前面所示的对付重放攻击的机制存在两个前面所示的对付重放攻击的机制存在两个重要的问题。一个是为了两端都知道重要的问题。一个是为了两端都知道nrv值需值需要维持同步。另一个是验证者要知道要维持同步。另一个是验证者要知道nrv值是值是否被重复使用过是比较困难的。否被重复使用过是比较困难的。n*询问询问应答方法克服了这些问题。应答方法克服了这些问题。563.3询问询问应答机制应答机制573.
39、4 基于地址的机制基于地址的机制n基于地址的机制假定声称者的可鉴别性是以呼叫的源地址为基于地址的机制假定声称者的可鉴别性是以呼叫的源地址为基础的。基础的。n在大多数的数据网络中,呼叫地址的辨别都是可行的。在大多数的数据网络中,呼叫地址的辨别都是可行的。n在不能可靠地辨别地址时,可以用一个呼叫在不能可靠地辨别地址时,可以用一个呼叫回应设备来获回应设备来获得呼叫的源地址。得呼叫的源地址。n 一个验证者对每一个主体都保持一份合法呼叫地址的文件。一个验证者对每一个主体都保持一份合法呼叫地址的文件。n 这种机制最大的困难是在一个临时的环境里维持一个连续的这种机制最大的困难是在一个临时的环境里维持一个连续
40、的主机和网络地址的联系。地址的转换频繁、呼叫主机和网络地址的联系。地址的转换频繁、呼叫转发或重转发或重定向引起了一些主要问题。定向引起了一些主要问题。n 基于地址的机制自身不能被作为鉴别机制,但可作为其它机基于地址的机制自身不能被作为鉴别机制,但可作为其它机制的有用补充。制的有用补充。583.5 基于个人特征的机制基于个人特征的机制n生物特征识别技术主要有:生物特征识别技术主要有:1)指纹识别;)指纹识别;2)声音识别;)声音识别;3)手迹识别;)手迹识别;4)视网膜扫描;)视网膜扫描;5)手形。)手形。这些技术的使用对网络安全协议不会有重要的这些技术的使用对网络安全协议不会有重要的影响。影响
41、。593.6 个人鉴别令牌个人鉴别令牌n物理特性用于支持认证物理特性用于支持认证“某人拥有某东西某人拥有某东西”,但通常要与一个口令或但通常要与一个口令或PIN结合使用。结合使用。n这种器件应具有存储功能,通常有键盘、显示这种器件应具有存储功能,通常有键盘、显示器等界面部件,更复杂的能支持一次性口令,器等界面部件,更复杂的能支持一次性口令,甚至可嵌入处理器和自己的网络通信设备(如甚至可嵌入处理器和自己的网络通信设备(如智能卡)。智能卡)。n这种器件通常还利用其它密码鉴别方法。这种器件通常还利用其它密码鉴别方法。60n1 身份认证概述身份认证概述n2 身份认证协议与结构身份认证协议与结构n3 基
42、于非密码的认证基于非密码的认证n4 基于密码算法的认证基于密码算法的认证n5 零知识证明协议零知识证明协议第第3 3讲讲 身份认证协议与机制身份认证协议与机制614 基于密码算法的基于密码算法的 强鉴别协议强鉴别协议*强鉴别(强鉴别(strong authentication):通过密码学的询通过密码学的询n问问-应答应答(challenge-response)协议实现的身份鉴协议实现的身份鉴n别,询问别,询问-应答协议的思想是一个实体向另一个实应答协议的思想是一个实体向另一个实n体证明他知道有关的秘密知识,但不向验证者提体证明他知道有关的秘密知识,但不向验证者提n供秘密本身。这通过对一个时变
43、的询问提供应答供秘密本身。这通过对一个时变的询问提供应答n来实现,应答通常依赖于实体的秘密和询问。询来实现,应答通常依赖于实体的秘密和询问。询n问通常是一个实体选择的一个数(随机和秘密问通常是一个实体选择的一个数(随机和秘密n地)。地)。624 基于密码算法的基于密码算法的 强鉴别协议强鉴别协议63n1 身份认证概述身份认证概述n2 身份认证协议与结构身份认证协议与结构n3 基于非密码的认证基于非密码的认证n4 基于密码算法的认证基于密码算法的认证n5 零知识证明协议零知识证明协议第第3 3讲讲 身份认证协议与机制身份认证协议与机制645 零知识证明协议零知识证明协议n*下面是一个故事:下面是
44、一个故事:n*Alice:“我知道联邦储备系统计算的口令我知道联邦储备系统计算的口令”n*Bob:“不,你不知道不,你不知道”n*Alice:我知道:我知道n*Bob:你不知道:你不知道n*Alice:我确实知道:我确实知道n*Bob:请你的证实这一点:请你的证实这一点n*Alice:好吧,我告诉你。(她悄悄说出了口令):好吧,我告诉你。(她悄悄说出了口令)n*Bob:太有趣了!现在我也知道了。我要告诉:太有趣了!现在我也知道了。我要告诉华盛顿邮华盛顿邮n报报n*Alice:啊呀!:啊呀!655 零知识证明协议零知识证明协议n*P为示证者为示证者(Prover),V为验证者,为验证者,P试图向
45、试图向Vn证明自己知道某信息。证明自己知道某信息。n P告诉告诉V这一信息使得这一信息使得V相信,这样相信,这样V也知道了也知道了n这一信息,这是基于知识的证明;这一信息,这是基于知识的证明;n 通过某种有效的数学方法,使得通过某种有效的数学方法,使得V相信相信P掌握掌握n这一信息,却不泄漏任何有用的信息,这种方这一信息,却不泄漏任何有用的信息,这种方n法称为零知识证明问题。法称为零知识证明问题。n*最小泄漏证明(最小泄漏证明(Minimum Disclosure Proof)n*零知识证明零知识证明(Zero Knowledge Proof)665 零知识证明协议零知识证明协议n*P几乎不可
46、能欺骗几乎不可能欺骗V:如果:如果P知道证明,他知道证明,他n可以使可以使V以极大的概率相信他知道证明;如以极大的概率相信他知道证明;如n果果P不知道证明,则他使得不知道证明,则他使得V相信他知道证相信他知道证n明的概率几乎为零。明的概率几乎为零。n*V几乎不可能知道证明的知识,特别是他不几乎不可能知道证明的知识,特别是他不n可能向别人重复证明过程。可能向别人重复证明过程。n*V无法从无法从P那里得到任何有关证明的知识。那里得到任何有关证明的知识。n(零知识证明满足全部三个条件)(零知识证明满足全部三个条件)675 零知识证明协议零知识证明协议n(1)V站在站在A点;点;n(2)P进入山洞,走
47、到进入山洞,走到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%的机会猜中的机会猜中 V的要的要求,协议执行求,协议执行 n 次,则只有次,则只有 2-n 的机会完全猜中,若的机会完全猜中,若 n=16,则若每次均通过,则若每次均通过 Bob 的检
48、验,的检验,V受骗机会仅为受骗机会仅为1/65536。n如果如果V用摄像机记录下他所看到的一切,他把录像给用摄像机记录下他所看到的一切,他把录像给Carol看,看,Carol会相信这是真的吗?会相信这是真的吗?Carol是不会相信是不会相信这是真的。这是真的。n这说明了两件事情:其一,这说明了两件事情:其一,V不可能使第三方相信这个不可能使第三方相信这个证明;其二,它证明了这个协议是零知识的。证明;其二,它证明了这个协议是零知识的。V在不知在不知道咒语的情况下,显然不能从录像中获悉任何信息。道咒语的情况下,显然不能从录像中获悉任何信息。69挑战挑战-应答身份鉴别协议应答身份鉴别协议n零知识零知
49、识(Zero-knowledge)(ZK)证明证明:是一种是一种交互式证明交互式证明系统系统n声称者(证明者)和验证者声称者(证明者)和验证者交换多个信息交换多个信息,这些信,这些信息的生成息的生成依赖于保密的随机数依赖于保密的随机数n证明者证明者P(Prover):知道某一秘密:知道某一秘密s,使,使V相信自己相信自己掌握这一秘密;掌握这一秘密;n验证者验证者V(Verifier):验证:验证P掌握秘密掌握秘密sn每轮每轮V向向P发出一询问,发出一询问,P向向V作应答(需要有作应答(需要有s的知识才的知识才能正确应答)。能正确应答)。nV检查检查P是否每一轮都能正确应答。是否每一轮都能正确应
50、答。70挑战挑战-应答身份鉴别协议应答身份鉴别协议n交互证明与数学证明的区别交互证明与数学证明的区别n数学证明:证明者可自己数学证明:证明者可自己独立独立完成证明完成证明(绝对绝对)n交互交互证明:由证明:由P产生证明产生证明(响应响应),V验证证明验证证明(响应)的有响应)的有效性效性(概率上)(概率上)来实现,双方之间要有通信来实现,双方之间要有通信n交互系统应满足交互系统应满足n完备性:如果完备性:如果P知道某一秘密,知道某一秘密,V将接收将接收P的证明的证明n正确性:如果正确性:如果P能以一定的概率使能以一定的概率使V相信相信P的证明,则的证明,则P知道相应的秘密(冒充者伪造成功的概率
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。