《POWERPOINT 演示文稿 - 身份认证与数字签名.ppt》由会员分享,可在线阅读,更多相关《POWERPOINT 演示文稿 - 身份认证与数字签名.ppt(71页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第第4 4讲讲 身份认证与数字签名身份认证与数字签名王庆先王庆先电子科技大学计算机学院电子科技大学计算机学院1一、身份认证概述一、身份认证概述 n为为了了保保护护网网络络资资源源及及落落实实安安全全政政策策。需需要要提提供供可可追追究究责责任任的的机机制制,这这里里涉涉及及到到三三个个概概念念:认认证、授权及审计。证、授权及审计。n用用户对资户对资源的源的访问过访问过程程 访问控制访问控制用用户户身身份份认认证证资源资源授权数据库授权数据库审计数据库审计数据库2一、身份认证概述(续)一、身份认证概述(续)n认认证证与与以以下下环环境境有有关关:某某一一成成员员(声声称称者者)提提交交一一个个主
2、主体体的的身身份份并并声声称称他他是是那那个个主主体体,认认证证能能使使别别的的成成员员(验验证证者者)获获得得对对声声称称者者所所声声称称的的事事实实的信任。的信任。n身份认证的作用身份认证的作用n对抗假冒攻击对抗假冒攻击n确保身份,明确责任确保身份,明确责任 3身份认证概述身份认证概述n对身份认证过程中攻击:对身份认证过程中攻击:n数数据据流流窃窃听听(SnifferSniffer):由由于于认认证证信信息息要要通通过过网网络络传传递递,并并且且很很多多认认证证系系统统的的口口令令是是未未经经加加密密的的明明文文,攻攻击击者者通通过过窃窃听听网网络络数数据据,就就很很容容易易分分辨辨出出某
3、某种种特特定定系系统的认证数据,并提取出用户名和口令。统的认证数据,并提取出用户名和口令。n拷拷贝贝/重重传传:非非法法用用户户截截获获信信息息,然然后后再再传传送送给给接接收收者。者。n修修改改或或伪伪造造:非非法法用用户户截截获获信信息息,替替换换或或修修改改信信息息后后再再传传送送给给接接收收者者,或或者者非非法法用用户户冒冒充充合合法法用用户户发发送信息。送信息。4二、认证方法的主要原理二、认证方法的主要原理n主体了解的秘密,如口令、密钥;主体了解的秘密,如口令、密钥;n主体携带的物品,如智能卡;主体携带的物品,如智能卡;n只只有有该该主主体体具具有有的的独独一一无无二二的的特特征征或
4、或能能力力,如指纹、声音、视网膜血管分布图或签字等。如指纹、声音、视网膜血管分布图或签字等。n特定场所(也可能是特定时间)提供证据特定场所(也可能是特定时间)提供证据 n验证者认可某一已经通过认证的可信方验证者认可某一已经通过认证的可信方51 1、基于口令的认证、基于口令的认证 n对口令的攻击对口令的攻击 n窃听窃听 监听监听Login:UserALogin:UserA Password:12345Password:1234561 1、基于口令的认证(续)、基于口令的认证(续)n对口令的攻击对口令的攻击 n截取截取/重放重放 拷贝认证信息拷贝认证信息然后重放然后重放认证信息(加密的口令)认证信
5、息(加密的口令)71 1、基于口令的认证(续)、基于口令的认证(续)n对口令的攻击对口令的攻击 n字字典典攻攻击击:根根据据调调查查结结果果可可知知,大大部部份份的的人人为为了了方方便便记记忆忆选选用用的的密密码码都都与与自自己己周周遭遭的的事事物物有有关关,例例如如:身身份份证证字字号号、生生日日、车车牌牌号号码码、在在办办公公桌桌上上可可以以马马上上看看到到的的标标记记或或事事物物、其其他他有有意意义义的的单单词词或或数数字字,某某些些攻攻击击者者会会使使用用字字典典中中的单词来尝试用户的密码。的单词来尝试用户的密码。n穷穷举举攻攻击击(Brute(Brute Force)Force):也
6、也称称蛮蛮力力破破解解。这这是是一一种种特特殊殊的的字字典典攻攻击击,它它使使用用字字符符串串的的全全集集作为字典。作为字典。81 1、基于口令的认证(续)、基于口令的认证(续)n对口令的攻击对口令的攻击 n窥窥探探:攻攻击击者者利利用用与与被被攻攻击击系系统统接接近近的的机机会会,安安装装监监视视器器或或亲亲自自窥窥探探合合法法用用户户输输入入口口令令的的过过程程,以得到口令。以得到口令。n社社交交工工程程:比比如如冒冒充充是是处处长长或或局局长长骗骗取取管管理理员员信信任任得得到到口口令令等等等等。冒冒充充合合法法用用户户发发送送邮邮件件或或打打电电话给管理人员,以骗取用户口令等。话给管理
7、人员,以骗取用户口令等。n垃垃圾圾搜搜索索:攻攻击击者者通通过过搜搜索索被被攻攻击击者者的的废废弃弃物物,得得到到与与攻攻击击系系统统有有关关的的信信息息,如如用用户户将将口口令令写写在在纸上又随便丢弃。纸上又随便丢弃。91 1、基于口令的认证(续)、基于口令的认证(续)n安全口令(对抗字典攻击和穷举攻击)安全口令(对抗字典攻击和穷举攻击)n(1 1)位数)位数66位。位。n(2 2)大大小小写写字字母母混混合合。如如果果用用一一个个大大写写字字母,既不要放在开头,也不要放在结尾。母,既不要放在开头,也不要放在结尾。n(3 3)可以把数字无序的加在字母中。)可以把数字无序的加在字母中。n(4
8、4)系系统统用用户户一一定定用用8 8位位口口令令,而而且且包包括括!?:?:等特殊符号。等特殊符号。101 1、基于口令的认证(续)、基于口令的认证(续)n不安全口令(字典攻击和穷举攻击)不安全口令(字典攻击和穷举攻击)n(1 1)使用用户名(帐号)作为口令。)使用用户名(帐号)作为口令。n(2 2)用用户名(帐号)的变换形式作为口令。)用用户名(帐号)的变换形式作为口令。n(3 3)使用自己或者亲友的生日作为口令。)使用自己或者亲友的生日作为口令。n(4 4)使用常用的英文单词作为口令。)使用常用的英文单词作为口令。111 1、基于口令的认证(续)、基于口令的认证(续)n为为判判断断系系统
9、统是是否否易易受受攻攻击击,首首先先需需要要了了解解系系统统上上都都有有哪哪些帐号。应进行以下操作:些帐号。应进行以下操作:n(1 1)审审计计系系统统上上的的帐帐号号,建建立立一一个个使使用用者者列列表表,同同时时检检查查路路由由,连连接接InternetInternet的的打打印印机机、复复印印机机和和打打印印机控制器等系统的口令。机控制器等系统的口令。n(2 2)制制定定管管理理制制度度,规规范范增增加加帐帐号号的的操操作作,及及时时移移走不再使用的帐号。走不再使用的帐号。n(3 3)经经常常检检查查确确认认有有没没有有增增加加新新的的帐帐号号,不不使使用用的的帐号是否已被删除。帐号是否
10、已被删除。n(4 4)对对所所有有的的帐帐号号运运行行口口令令破破解解工工具具,以以寻寻找找弱弱口口令或没有口令的帐号。令或没有口令的帐号。n(5 5)当当雇雇员员或或承承包包人人离离开开公公司司时时,或或当当帐帐号号不不再再需需要时,应有严格的制度保证删除这些帐号。要时,应有严格的制度保证删除这些帐号。121 1、基于口令的认证(续)、基于口令的认证(续)n为为了了增增强强基基于于口口令令认认证证的的安安全全,可可以以采采用用以以下下改改进方案。进方案。n(1 1)认证过程有一定的时延,增大穷举尝试的难度。)认证过程有一定的时延,增大穷举尝试的难度。n(2 2)不不可可预预测测的的口口令令。
11、修修改改口口令令登登记记程程序序以以便便促促使使用用户户使使用用更更加加生生僻僻的的口口令令。这这样样就就进进一一步步削削弱弱了了字字典典攻击。攻击。n(3 3)对对无无效效用用户户名名的的回回答答应应该该与与对对有有效效用用户户名名的的回回答相同。答相同。131 1、基于口令的认证(续)、基于口令的认证(续)n基于单向函数的口令认证基于单向函数的口令认证nf f是单向函数,是单向函数,p p是口令,是口令,idid是身份是身份nAliceAlice提供提供p|idp|id n计算机计算计算机计算f(p)f(p)n计算机与存储的值计算机与存储的值f(p)|idf(p)|id 作作比较比较n由由
12、于于计计算算机机不不再再存存储储口口令令表表,所所以以敌敌手手侵侵入入计计算算机机偷取口令的威胁就减少了偷取口令的威胁就减少了 f(p1)f(p1)id1id1f(p2)f(p2)id2id2f(p3)f(p3)id3id3141 1、基于口令的认证(续)、基于口令的认证(续)n如如果果敌敌手手获获得得了了存存储储口口令令的的单单向向函函数数值值的的文文件件,采采用用字字典典攻攻击击是是有有效效的的。敌敌手手计计算算猜猜测测的的口口令令的的单单向向函函数数值值,然然后后搜搜索索文文件件,观观察察是是否否有有匹匹配的。配的。n猜猜口口令令p1,p1,p2,p2,pnpn。计计算算f(p1),f(
13、p1),f(p2),f(p2),f(pnf(pn)。搜索文件。搜索文件。151 1、基于口令的认证(续)、基于口令的认证(续)n掺杂口令掺杂口令(加盐加盐)nSaltSalt是是一一随随机机字字符符串串,它它与与口口令令连连接接在在一一起起,再再用用单单向向函函数数对对其其运运算算。然然后后将将SaltSalt值值和和单单向向函函数数运运算算的结果存入主机中。的结果存入主机中。n计算机存储的是计算机存储的是f(p,Salt)|Salt|idf(p,Salt)|Salt|idnSaltSalt只只防防止止对对整整个个口口令令文文件件采采用用的的字字典典攻攻击击,不不能能防止对单个口令的字典攻击。
14、防止对单个口令的字典攻击。f(p1,Salt1)f(p1,Salt1)Salt1Salt1id1id1f(p2,Salt2)f(p2,Salt2)Salt2Salt2id2id2f(p3,Salt3)f(p3,Salt3)Salt3Salt3id3id3161 1、基于口令的认证(续)、基于口令的认证(续)nSKEY 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 3
15、,。,。,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每每次次登
16、登录录时时,都都输输入入她她的的列列表表中中未未取取消消的的最最后后的的数数x xI I,计计算算机机计计算算f f(x xI I),并并和和存存储储在在它它的的数数据据库库中中的的x xI+1I+1比比较较。当当AliceAlice用完了列表上面的数后,需要重新初始化。用完了列表上面的数后,需要重新初始化。x x1 1=f(R)=f(R)x x2 2=f=f(x x1 1)x xn+1n+1=f(xf(xn n)计算机存储xn+1171 1、基于口令的认证(续)、基于口令的认证(续)n设计基于口令的协议应满足的要求设计基于口令的协议应满足的要求n口令不能过长口令不能过长n离线字典攻击无效离线
17、字典攻击无效n在线字典攻击无效在线字典攻击无效n记号记号n共享的秘密共享的秘密ZABn导出的会话密钥导出的会话密钥KAB181 1、基于口令的认证(续)、基于口令的认证(续)n基于基于DH的的EKE 共享的信息:口令 .安全参数 L.AB19基于口令的认证基于口令的认证 n改进的改进的EKE H H2 2()=)=g g AI:Password .BI:AB20 是 相应的签名公钥。和Original Diffie-Hellman-based EKE Protocol的比较:1、用口令的镜像加密;2、多了最后一个消息。因为,如果没有这个消息,敌手只要知道了口令的 镜像就可以冒充A和B进行通信,
18、而不用知道口令本身。所以最后一条消息正是为了避免这一漏洞。存在的攻击 敌手如果知道了历史会话密钥,可以通过最后一条消息猜测口令。解决方案是签名消息不用会话密钥,而为和ZAB相关的另一个值。几点说明:几点说明:21服务器保存hpw=H(id,pw),例1.C S:id,rc hpw,H(rc)例2.A选择RSA公开密钥(e,n)和随机数rA,发送(e|n|rA)hpw)给B 抵抗离线字典攻击需要精心设计协议 抵抗离线字典攻击22在线口令猜测失败会被发现并且服务器会将在线口令猜测失败会被发现并且服务器会将其记入日志。一般可使用帐号加锁、延迟响其记入日志。一般可使用帐号加锁、延迟响应或者应或者CAP
19、TCHACAPTCHA来抵抗在线字典攻击来抵抗在线字典攻击。抵抗在线字典攻击抵抗在线字典攻击23CAPTCHAn抵抗在线字典攻击抵抗在线字典攻击n防止恶意注册防止恶意注册24基于对称密码的认证基于对称密码的认证 nISO/IEC9798-2协议(同时建立会话密钥)协议(同时建立会话密钥)n1路单向认证路单向认证(时间戳时间戳)n2路双向认证路双向认证(时间戳时间戳)AB:TA,BKABA AB B:T TA A,B B K KABABB BA A:T TB B,A A K KABAB25基于对称密码的认证基于对称密码的认证 nISO/IEC9798-2协议(同时建立会话密钥)协议(同时建立会话
20、密钥)n2路单向认证路单向认证(一次性随机数一次性随机数)n2路双向认证路双向认证(一次性随机数一次性随机数)1.1.B B A A:N NB B2.2.A AB B:N NB B,B B K KABAB1.1.B B A A:N NB B2.2.A AB B:N NA A,N NB B,B B K KABAB3.3.B BA A:N NB B,N NA A K KABAB26基于对称密码的认证基于对称密码的认证 记号记号A,B 期望建立会话密钥的两个用户期望建立会话密钥的两个用户S 可信服务器可信服务器KAS,KBS:A与与S,B与与S初始时共享的长期密钥初始时共享的长期密钥KAB:会话密钥
21、会话密钥27基于对称密码的认证基于对称密码的认证 nNeedham-Schroeder Needham-Schroeder 协议(同时建立会话密钥)协议(同时建立会话密钥)1.A 1.A S:A,B,N S:A,B,NA A2.S 2.S A:A:N NA A,B,K,B,KABAB,K KABAB,A A K KBSBS K KASAS3.A 3.A B:B:K KABAB,A,A K KBSBS4.B 4.B A:A:N NB B K KABAB5.A 5.A B:B:N NB B-1-1 K KABABABS1234528基于对称密码的认证基于对称密码的认证 nDenning-Sacco
22、攻攻击击:在在Needham-Schroeder 协协议议消息消息3中使用破解的会话密钥中使用破解的会话密钥KAB,假冒假冒A.3.A 3.A B:B:K KABAB,A,A K KBSBS4.B 4.B A:A:N NB B K KABAB5.A 5.A B:B:N NB B-1-1 K KABABABS1234529基于对称密码的认证基于对称密码的认证 nDenning-Sacco协议协议1.A 1.A S:A,B S:A,B2.S 2.S A:A:B,KB,KABAB,T,TS S,A,A,K KABAB,T,TS S K KBSBS K KASAS3.A 3.A B:B:A,A,K K
23、ABAB,T,TS S K KBSBSABS123保证会话密钥的新鲜性保证会话密钥的新鲜性,会话密钥与时间戳绑定会话密钥与时间戳绑定30基于公钥密码的认证基于公钥密码的认证 n记号记号 E EX X(M M)用用X X 的公钥加密的公钥加密M MSigSigX X(M M)X X 对对 M M 做的签名做的签名 N NX X X X 产生的随机产生的随机 noncenonce T TX X X X 选择的时间戳选择的时间戳 M M K K 用对称密钥用对称密钥K K 对消息对消息 M M 加密加密31基于公钥密码的认证基于公钥密码的认证 nISO/IEC 9798-3 单向认证单向认证nISO
24、/IEC 9798-3 单向认证单向认证1.AB:TA,B,SigA(TA,B)1.BA:NB2.AB:NA,NB,SigA(NA,NB,B)32基于公钥密码的认证基于公钥密码的认证 nISO/IEC 9798-3 双向认证双向认证nISO/IEC 9798-3 双向认证双向认证1.AB:TA,B,SigA(TA,B)2.BA:TB,A,SigB(TB,A)1.BA:NB2.AB:NA,NB,B,SigA(NA,NB,B)3.BA:NB,NA,A,SigB(NB,NA,A)33基于公钥密码的认证基于公钥密码的认证 nNeedham-Schroeder public key protocolnL
25、owe给出了攻击给出了攻击nAC(A)Bn可以在第二条消息中增加可以在第二条消息中增加B B的标识阻止这种攻击的标识阻止这种攻击 1.AB:EB(NA,A)2.BA:EA(NA,NB)3.AB:EB(NB)1.AC:EC(NA,A)1.CAB:EB(NA,A)2.B CA:EA(NA,NB)2.C A:EA(NA,NB)3.AC:EC(NB)3.CAB:EB(NB)34基于公钥密码的认证基于公钥密码的认证 nX.509单向认证单向认证nX.509双向认证双向认证1.AB:TA,NA,B,EB(KAB),SigA(TA,NA,B,EB(KAB)1.AB:TA,NA,B,EB(KAB),SigA(
26、TA,NA,B,EB(KAB)2.B A:TB,NB,A,NA,EA(KBA),SigB(TB,NB,A,NA,EA(KBA)35基于公钥密码的认证基于公钥密码的认证 nX.509 three-pass authentication1.AB:TA,NA,B,EB(KAB),SigA(TA,NA,B,EB(KAB)2.B A:TB,NB,A,NA,EA(KBA),SigB(TB,NB,A,NA,EA(KBA)3.AB:NB,B,SigA(NB,B)36基于公钥密码的认证基于公钥密码的认证 n站对站站对站(Station-to-Station)协议协议 A BrARZq ,tA=grA tA rB
27、RZq,tB=grBZAB=tBrA tB,SigB(tB,tA)KAB ZAB=tArB解密验证签名 SigA(tA,tB)KAB 解密验证签名 站间协议具有前向保密性(站间协议具有前向保密性(Forward secretForward secret)。)。前前向保密性是指长期密钥被攻破后,利用长期密钥建向保密性是指长期密钥被攻破后,利用长期密钥建立的会话密钥仍具有保密性。立的会话密钥仍具有保密性。37基于公钥密码的认证基于公钥密码的认证 n不使用加密的站对站协议不使用加密的站对站协议 A BrARZq ,tA=grA tA rBRZq,tB=grBZAB=tBrA tB,SigB(tB,t
28、A)ZAB=tArB验证签名 SigA(tA,tB)验证签名 AC(B)B tA tAtB,SigB(tB,tA)tB,SigB(tB,tA)SigA(tA,tB)SigC(tA,tB)A A以为与以为与B B通信,通信,实际上与实际上与C C38基于公钥密码的认证基于公钥密码的认证 n改进的站对站协议改进的站对站协议 A BrARZq ,tA=grA tA rBRZq,tB=grB验证签名 tB,SigB(tB,tA,A)ZAB=tArBZAB=tBrA SigA(tA,tB,B)验证签名 39零知识身份认证零知识身份认证 n零零知知识识证证明明(zero-knowledge proof)的
29、的思思想想是是:证证明明者者Peggy拥拥有有某某些些知知识识(如如某某些些长长期期没没有有解解决决的的难难问问题题的的解解决决方方法法),零零知知识识证证明明就就是是在在不不将将该该知知识识的的内内容容泄泄露露给给验验证证者者Victor的的前前提提下下,Peggy向向Victor证证明明自己拥有该知识。例如:自己拥有该知识。例如:nPeggyPeggy:“我可以对密文为我可以对密文为C C的消息进行解密。的消息进行解密。”nVictorVictor:“我不相信。请证明。我不相信。请证明。”nPeggyPeggy(糟糟糕糕的的回回答答):“密密钥钥是是K K,您您可可以以看看到到消消息解密成
30、了息解密成了M M。”nVictor:“哈哈!现在我也知道了密钥和消息。哈哈!现在我也知道了密钥和消息。”40零知识身份认证零知识身份认证n一个更好的对话是:一个更好的对话是:nPeggyPeggy:“我可以对加密为我可以对加密为C C的消息进行解密。的消息进行解密。”nVictorVictor:“我不相信。请证明。我不相信。请证明。”nPeggyPeggy(好好的的回回答答):“让让我我们们使使用用一一个个零零知知识识协协议议,我我将将以以任任意意高高的的概概率率证证明明我我的的知知识识(但但是是不不会会将将关关于于消息的任何情况泄露给您)。消息的任何情况泄露给您)。”nVictorVict
31、or:“好好”。nPeggy Peggy 和和 Victor Victor 通过该协议通过该协议41零知识身份认证零知识身份认证n可可以以使使用用洞洞穴穴例例子子来来解解释释零零知知识识,C C和和D D之之间间存存在在一一个个密密门门,并并且且只只有有知知道道咒咒语语的的人人才才能能打打开开。PeggyPeggy知知道道咒咒语语并并想想对对VictorVictor证证明明,但但证证明明过过程程中中不不想泄露咒语。想泄露咒语。DCAB42零知识身份认证零知识身份认证n零知识证明的例子。零知识证明的例子。n图图是是否否同同构构是是NPNP完完全全问问题题,对对于于一一个个非非常常大大的的图图,判
32、判断断两两个个图图是是否否同同构构是是非非常常困困难难的。的。n对对于于图图G G1 1和和G G2 2,如如果果存存在在一一个个一一一一对对应应的的函函数数F F:F F的的定定义义域域是是G G1 1的的顶顶点点集集。F F的的值值域域是是G G2 2的的顶顶点点集集。当当且且仅仅当当g1,g2g1,g2是是G G1 1中中的的一一条条边边,F(g1),F(g2)F(g1),F(g2)才才是是G G2 2中中的的一一条条边边,称称G G1 1和和G G2 2同构的。同构的。43零知识身份认证零知识身份认证n假假设设PeggyPeggy知知道道图图G G1 1和和G G2 2之之间间同同构构
33、,PeggyPeggy使使用用下下面面的的协协议将使议将使VictorVictor相信相信G G1 1和和G G2 2同构:同构:n(1 1)PeggyPeggy随机置换随机置换G G1 1产生另一个图产生另一个图H H,并且并且H H和和G G1 1同同构。因为构。因为PeggyPeggy知道知道G G1 1和和H H同构,也就知道了同构,也就知道了H H和和G G2 2同同构。构。n(2 2)PeggyPeggy把把H H送给送给VictorVictor。n(3 3)对如下两个问题对如下两个问题VictorVictor选择其中的一个,要求选择其中的一个,要求PeggyPeggy证明。但是,
34、证明。但是,VictorVictor不要求两者都证明。不要求两者都证明。n 证明证明G G1 1和和H H同构,或者同构,或者n 证明证明G G2 2和和H H同构。同构。n(4 4)PeggyPeggy按按VictorVictor的要求证明。的要求证明。n(5 5)PeggyPeggy和和VictorVictor重复步骤(重复步骤(1 1)至()至(4 4)n n次。次。44nMessage Authentication:报文鉴别:报文鉴别(消息认证,消息鉴别)(消息认证,消息鉴别)nMessage:消息、报文。:消息、报文。nAuthentication:鉴别、认证。鉴别、认证。n认证:消
35、息的接收者对消息进行的验证认证:消息的接收者对消息进行的验证n真实性:消息确实来自于其真正的发送者,而非假冒;真实性:消息确实来自于其真正的发送者,而非假冒;n完整性:消息的内容没有被篡改。完整性:消息的内容没有被篡改。n是一个证实收到的消息来自可信的源点且是一个证实收到的消息来自可信的源点且未被未被篡改篡改的过程。它也可以验证消息的的过程。它也可以验证消息的顺顺序序和和及时性及时性二、消息认证二、消息认证45n三元组(三元组(K,T,V)n密钥生成算法密钥生成算法Kn标签算法标签算法Tn验证算法验证算法V攻击者攻击者信宿信宿信源信源认证编码器认证编码器认证译码器认证译码器信道信道安全信道安全
36、信道密钥源密钥源TVK概念概念46认证函数认证函数n鉴别编码器和鉴别译码器可抽象为鉴别编码器和鉴别译码器可抽象为认证函认证函数数n认证函数认证函数n产生一个产生一个鉴别标识(鉴别标识(Authentication Identification)n给出合理的给出合理的认证协议认证协议(Authentication Protocol)n接收者完成消息的接收者完成消息的鉴别(鉴别(Authentication)47认证函数分类认证函数分类n认证的函数分为三类:认证的函数分为三类:n消息加密函数消息加密函数(Message encryption)n用完整信息的密文作为对信息的认证。用完整信息的密文作为
37、对信息的认证。n消息认证码消息认证码MAC(Message Authentication Code)n是对信源消息的一个编码函数。是对信源消息的一个编码函数。n散列函数散列函数(Hash Function)n是一个公开的函数,它将任意长的信息映射成一是一个公开的函数,它将任意长的信息映射成一个固定长度的信息个固定长度的信息。48MEKEK(M)DMK提供保密提供保密提供认证提供认证不提供签名不提供签名BobAlice对称加密:保密性与认证对称加密:保密性与认证认证函数:加密函数认证函数:加密函数49认证函数:加密函数认证函数:加密函数公钥加密:保密性公钥加密:保密性MEKaEKa(M)DMKa
38、提供保密提供保密不提供认证不提供认证BobAlice50认证函数:加密函数认证函数:加密函数公钥加密:认证与签名公钥加密:认证与签名MDKbEKb(M)EMKb提供认证提供认证BobAlice51公钥加密:保密、认证与签名公钥加密:保密、认证与签名MDKaEKa(Dkb(M)DKa提供认证提供认证提供保密性提供保密性EKbDkb(M)Dkb(M)EKbMBobAlice认证函数:加密函数认证函数:加密函数52认证函数:加密函数认证函数:加密函数公钥加密:保密、认证与签名公钥加密:保密、认证与签名?MEKbEKb(Eka(M)EKb提供认证提供认证提供保密性提供保密性DKaEa(M)Eka(M)
39、DKaMBobAlice53认证函数:消息认证码认证函数:消息认证码n消息认证码:消息认证码:n使用一个密钥生成一个使用一个密钥生成一个固定大小的短数据块,并将该数据固定大小的短数据块,并将该数据块加载到消息后面,块加载到消息后面,称称MAC(或密码校验和)(或密码校验和)MACCk(M)nMAC函数类似于加密函数,函数类似于加密函数,但不需要可逆性但不需要可逆性。因此在数学。因此在数学上比加密算法被攻击的弱点要少上比加密算法被攻击的弱点要少54认证函数:消息认证码认证函数:消息认证码MAC的基本用法:消息认证的基本用法:消息认证AliceBobM|KCK(M)CKCM比较比较提供认证提供认证
40、55认证函数:消息认证码认证函数:消息认证码MAC的基本用法:与明文有关的认证的基本用法:与明文有关的认证M|K1CK(M)CK2CM比较比较EK2MDK1MAliceBob提供认证提供认证提供保密提供保密56认证函数:消息认证码认证函数:消息认证码MAC的基本用法:与密文有关的认证的基本用法:与密文有关的认证M|K1CK1(Ek2(M)CCM比较比较EK2K1提供认证提供认证提供保密提供保密MMDK2BobAliceEk2(M)57认证函数:认证函数:Hash函数函数nHash Functionn哈希函数、摘要函数哈希函数、摘要函数n输入:任意长度的消息报文输入:任意长度的消息报文 Mn输出
41、:一个固定长度的散列码值输出:一个固定长度的散列码值 H(M)n是报文中所有比特的函数值是报文中所有比特的函数值n单向函数单向函数n根据是否使用密钥根据是否使用密钥n带秘密密钥的带秘密密钥的Hash函数函数:消息的散列值由只有通信双方知道的秘消息的散列值由只有通信双方知道的秘密密钥密密钥K来控制。此时,散列值称作来控制。此时,散列值称作MAC。n不带秘密密钥的不带秘密密钥的Hash函数:消息的散列值的产生无需使用密钥。函数:消息的散列值的产生无需使用密钥。此时,散列值称作此时,散列值称作MDC。nHash函数需满足以下条件:函数需满足以下条件:n输入输入x可以为任意长度,输出为固定长度可以为任
42、意长度,输出为固定长度n正向计算容易,反向计算困难正向计算容易,反向计算困难n抗冲突性抗冲突性(无冲突性)无冲突性)58哈希函数的基本用法(哈希函数的基本用法(a)M|H(M)HKHM比较比较EKMDMBobAlice提供认证提供认证提供保密提供保密EK(M|H(M)59哈希函数的基本用法(哈希函数的基本用法(b)M|KEK(H(M)HHM比较比较EDBobAlice提供认证提供认证K60哈希函数的基本用法(哈希函数的基本用法(c)M|KbDKb(H(M)HHM比较比较DEBobAlice提供提供认证认证Kb61哈希函数的基本用法哈希函数的基本用法(d)M|KDKb(H(M)HHM比较比较ED
43、BobAlice提供认证提供认证提供保密提供保密KMMDKbEKbEk(M|DKb(H(M)62哈希函数的基本用法(哈希函数的基本用法(e)M|H(M|S)|HM比较比较BobAlice提供认证提供认证SS|H63哈希函数的基本用法(哈希函数的基本用法(f)M|H(M|S)|KHM比较比较EKMDMBobAlice提供认证提供认证提供保密提供保密EK(M|H(M|S)SS|H64数字签名数字签名n数字签名:数字签名:Digital Signaturen传统签名的基本特点传统签名的基本特点n签名是可信的:能与被签的文件在物理上不可分割签名是可信的:能与被签的文件在物理上不可分割n签名是不可抵赖的
44、:签名者不能否认自己的签名签名是不可抵赖的:签名者不能否认自己的签名n签名不能被伪造:除了合法者外,其他任何人不能伪造其签名签名不能被伪造:除了合法者外,其他任何人不能伪造其签名n签名是不可复制的:对一个消息的签名不能通过复制的方式变为另外签名是不可复制的:对一个消息的签名不能通过复制的方式变为另外一个消息的签名一个消息的签名n签名是不可改变的:经签名的消息不能被篡改签名是不可改变的:经签名的消息不能被篡改n容易被验证容易被验证n数字签名是传统签名的数字签名是传统签名的数字化数字化n能与所签文件能与所签文件“绑定绑定”n签名者不能否认自己的签名签名者不能否认自己的签名n容易被自动验证容易被自动
45、验证n签名不能被伪造签名不能被伪造65数字签名数字签名n五元组五元组(P,A,K,S,V)nP是所有消息组成的有限集是所有消息组成的有限集nA是所有可能的签名组成的有限集是所有可能的签名组成的有限集nK是所有可能的密钥组成的有限集是所有可能的密钥组成的有限集nS签名算法签名算法nD验证算法验证算法66数字签名数字签名n可分为两类:可分为两类:n直接数字签名方案(直接数字签名方案(direct digital signature);n基于仲裁的数字签名方案(基于仲裁的数字签名方案(arbitrated digital signature)。67直接数字签名直接数字签名Sa(M)Eb(Sa(M)M
46、,Sa(H(M)Eb(M,Sa(H(M)MMSH(M)Ek(H)MDk(H)HHH比较比较Alice(A)Bob(B)直接签名直接签名Alice(A)Bob(B)加密签名加密签名Alice(A)Bob(B)Hash签名签名Alice(A)Bob(B)加密签名加密签名HashHash签名签名68仲裁数字签名仲裁数字签名Alice(A)Bob(B)Trent(T)M,EM,Eatat(ID(IDa a,H,H(M)M)Ebt(IDa,M,Eat(Ida,H(M),T)Alice(A)Bob(B)Trent(T)Eab(M),Eat(IDa,Eab(H(M)Ebt(IDa,Eab(M),Eat(Id
47、a,Eab(H(M),T)Alice(A)Bob(B)Trent(T)Ida,Sa(Ida,Eb(Sa(M)St(IDa,Eb(Sa(M),),T)对称密码明文传送对称密码明文传送对称密码密文传送对称密码密文传送公钥密码密文传送公钥密码密文传送69n普通数字签名体制普通数字签名体制n RSA n EIGamal n DSS/DSAn不可否认的数字签名算法不可否认的数字签名算法n群签名算法群签名算法n盲签名算法盲签名算法数字签名体制数字签名体制DSS签名算法我们在后续课程中讲述签名算法我们在后续课程中讲述70数字签名体制数字签名体制n盲签名算法盲签名算法Alice(A)Bob(B)t=mkemod ntd=(mke)dmod n71