
信息安全课件--04-身份认证概要.ppt
71页1 第4讲 身份认证与数字签名 2 一、身份认证概述 n为了保护网络资源及落实安全政策需要提供 可追究责任的机制,这里涉及到三个概念:认 证、授权及审计 n用户对资户对资 源的访问过访问过 程 访问控制用 户 身 份 认 证 资源 授权数据库 审计数据库 3 一、身份认证概述(续) n认证与以下环境有关:某一成员(声称者)提 交一个主体的身份并声称他是那个主体,认证 能使别的成员(验证者)获得对声称者所声称 的事实的信任 n身份认证的作用 n对抗假冒攻击 n确保身份,明确责任 4 身份认证概述 n对身份认证过程中攻击: n数据流窃听(Sniffer):由于认证信息要通过网络传 递,并且很多认证系统的口令是未经加密的明文, 攻击者通过窃听网络数据,就很容易分辨出某种特 定系统的认证数据,并提取出用户名和口令 n拷贝/重传:非法用户截获信息,然后再传送给接收 者 n修改或伪造:非法用户截获信息,替换或修改信息 后再传送给接收者,或者非法用户冒充合法用户发 送信息 5 二、认证方法的主要原理 n主体了解的秘密,如口令、密钥; n主体携带的物品,如智能卡; n只有该主体具有的独一无二的特征或能力, 如指纹、声音、视网膜血管分布图或签字等 。
n特定场所(也可能是特定时间)提供证据 n验证者认可某一已经通过认证的可信方 6 1、基于口令的认证 n对口令的攻击 n窃听 监听 Login:UserA Password:12345 7 1、基于口令的认证(续) n对口令的攻击 n截取/重放 拷贝认证信息 然后重放 认证信息(加密的口令) 8 1、基于口令的认证(续) n对口令的攻击 n字典攻击:根据调查结果可知,大部份的人为 了方便记忆选用的密码都与自己周遭的事物有 关,例如:身份证字号、生日、车牌号码、在 办公桌上可以马上看到的标记或事物、其他有 意义的单词或数字,某些攻击者会使用字典中 的单词来尝试用户的密码 n穷举攻击(Brute Force):也称蛮力破解这 是一种特殊的字典攻击,它使用字符串的全集 作为字典 9 1、基于口令的认证(续) n对口令的攻击 n窥探:攻击者利用与被攻击系统接近的机会,安 装监视器或亲自窥探合法用户输入口令的过程, 以得到口令 n社交工程:比如冒充是处长或局长骗取管理员信 任得到口令等等冒充合法用户发送邮件或打电 话给管理人员,以骗取用户口令等 n垃圾搜索:攻击者通过搜索被攻击者的废弃物, 得到与攻击系统有关的信息,如用户将口令写在 纸上又随便丢弃。
10 1、基于口令的认证(续) n安全口令(对抗字典攻击和穷举攻击) n(1)位数6位 n(2)大小写字母混合如果用一个大写字 母,既不要放在开头,也不要放在结尾 n(3)可以把数字无序的加在字母中 n(4)系统用户一定用8位口令,而且包括~ !@#$%^&*?:“{}等特殊符号 11 1、基于口令的认证(续) n不安全口令(字典攻击和穷举攻击) n(1)使用用户名(帐号)作为口令 n(2)用用户名(帐号)的变换形式作为口令 n(3)使用自己或者亲友的生日作为口令 n(4)使用常用的英文单词作为口令 1、基于口令的认证(续) n为判断系统是否易受攻击,首先需要了解系统上都有哪 些帐号应进行以下操作: n(1)审计系统上的帐号,建立一个使用者列表,同 时检查路由,连接Internet的打印机、复印机和打印 机控制器等系统的口令 n(2)制定管理制度,规范增加帐号的操作,及时移 走不再使用的帐号 n(3)经常检查确认有没有增加新的帐号,不使用的 帐号是否已被删除 n(4)对所有的帐号运行口令破解工具,以寻找弱口 令或没有口令的帐号 n(5)当雇员或承包人离开公司时,或当帐号不再需 要时,应有严格的制度保证删除这些帐号。
13 1、基于口令的认证(续) n为了增强基于口令认证的安全,可以采用以下改 进方案 n(1)认证过程有一定的时延,增大穷举尝试的难度 n(2)不可预测的口令修改口令登记程序以便促使 用户使用更加生僻的口令这样就进一步削弱了字典 攻击 n(3)对无效用户名的回答应该与对有效用户名的回 答相同 14 1、基于口令的认证(续) n基于单向函数的口令认证 nf是单向函数,p是口令,id是身份 nAlice提供p||id n计算机计算f(p) n计算机与存储的值f(p)||id 作比较 n由于计算机不再存储口令表,所以敌手侵入计算机 偷取口令的威胁就减少了 f(p1)id1 f(p2)id2 f(p3)id3 15 1、基于口令的认证(续) n如果敌手获得了存储口令的单向函数值的文件 ,采用字典攻击是有效的敌手计算猜测的口 令的单向函数值,然后搜索文件,观察是否有 匹配的 n猜口令p1, p2,…, pn计算f(p1), f(p2),…, f(pn)搜索文件 16 1、基于口令的认证(续) n掺杂口令(加盐) nSalt是一随机字符串,它与口令连接在一起,再用 单向函数对其运算然后将Salt值和单向函数运算 的结果存入主机中。
n计算机存储的是f(p,Salt)||Salt||id nSalt只防止对整个口令文件采用的字典攻击,不能 防止对单个口令的字典攻击 f(p1,Salt1) Salt1id1 f(p2,Salt2) Salt2id2 f(p3,Salt3) Salt3id3 17 1、基于口令的认证(续) nSKEY nAlice输入随机数R,计算机计算x1=f(R)、x2=f(x1)、…、 xn+1=f(xn)Alice保管x1 ,x2 ,x3 ,xn这些数的列 表,计算机在登录数据库中Alice的名字后面存储xn+1的值 n当Alice第一次登录时,输入名字和xn,计算机计算f(xn),并 把它和xn+1比较,如果匹配,就证明Alice身份是真的然后,计 算机用xn代替xn+1Alice将从自己的列表中取消xn nAlice每次登录时,都输入她的列表中未取消的最后的数xI,计 算机计算f(xI),并和存储在它的数据库中的xI+1比较当 Alice用完了列表上面的数后,需要重新初始化 x1=f(R)x2=f(x1)…xn+1=f(xn ) 计算机存储xn+1 18 1、基于口令的认证(续) n设计基于口令的协议应满足的要求 n口令不能过长 n离线字典攻击无效 n字典攻击无效 n记号 n共享的秘密ZAB n导出的会话密钥KAB 19 1、基于口令的认证(续) n基于DH的EKE 共享的信息: 口令 . 安全参数 L. A B 20 基于口令的认证 n改进的EKE H2()=g AI: Password . BI: A B 21 • 是 相应的签名公钥。
•和Original Diffie-Hellman-based EKE Protocol的比较: 1、用口令的镜像加密; 2、多了最后一个消息 因为,如果没有这个消息,敌手只要知道了口令的 镜像就可以冒充A和B进行通信,而不用知道口令本身 所以最后一条消息正是为了避免这一漏洞 • 存在的攻击 敌手如果知道了历史会话密钥,可以通过最后一条消息 猜测口令解决方案是签名消息不用会话密钥,而为和ZAB 相关的另一个值 几点说明: 22 服务器保存hpw = H(id, pw), 例1. C S: id, rc hpw, H(rc) 例2. A选择RSA公开密钥(e,n)和随机数rA ,发送 ((e||n||rA) ⊕ hpw)给B 抵抗离线字典攻击需要精心设计协议 抵抗离线字典攻击 23 口令猜测失败会被发现并且服务器会将 其记入日志一般可使用帐号加锁、延迟响 应或者CAPTCHA来抵抗字典攻击 抵抗字典攻击 24 CAPTCHA n抵抗字典攻击 n防止恶意注册 25 基于对称密码的认证 nISO/IEC9798-2协议(同时建立会话密钥) n1路单向认证(时间戳) n2路双向认证(时间戳) AB: {TA, B}KAB AB: {TA, B}KAB BA: {TB, A}KAB 26 基于对称密码的认证 nISO/IEC9798-2协议(同时建立会话密钥) n2路单向认证(一次性随机数) n2路双向认证(一次性随机数) 1. B A : NB 2. AB: {NB, B}KAB 1. B A : NB 2. AB: {NA, NB, B}KAB 3. BA : {NB, NA}KAB 27 基于对称密码的认证 记号 •A, B 期望建立会话密钥的两个用户 •S 可信服务器 •KAS , KBS : A与S,B与S初始时共享的长期密钥 •KAB : 会话密钥 28 基于对称密码的认证 nNeedham-Schroeder 协议(同时建立会话密钥) 1. A S : A, B, NA 2. S A : {NA, B, KAB, {KAB, A}KBS}KAS 3. A B : {KAB,A}KBS 4. B A : {NB}KAB 5. A B : {NB - 1} KAB AB S 1 2 3 4 5 29 基于对称密码的认证 nDenning-Sacco攻击:在Needham-Schroeder 协议 消息3中使用破解的会话密钥KAB,假冒A. 3. A B : {KAB,A}KBS 4. B A : {NB}KAB 5. A B : {NB - 1} KAB AB S 1 2 3 4 5 30 基于对称密码的认证 nDenning-Sacco协议 1. A S : A, B 2. S A : {B, KAB, TS, {A, KAB, TS}KBS}KAS 3. A B : {A, KAB, TS}KBS AB S 1 2 3 •保证会话密钥的新鲜性,会话密钥与时间戳绑定 31 基于公钥密码的认证 n记号 EX(M) 用X 的公钥加密M SigX(M) X 对 M 做的签名 NX X 产生的随机 nonce TX X 选择的时间戳 {M}K 用对称密钥K 对消息 M 加密 32 基于公钥密码的认证 nISO/IEC 9798-3 单向认证 nISO/IEC 9798-3 单向认证 1. AB: TA , B, SigA(TA,B) 1. BA: NB 2. AB: NA , NB, SigA (NA, NB, B) 33 基于公钥密码的认证 nISO/IEC 9798-3 双向认证 nISO/IEC 9798-3 双向认证 1. AB: TA , B, SigA (TA ,B) 2. BA: TB , A, SigB (TB , A) 1. BA: NB 2. AB: NA , NB, B, SigA (NA, NB, B) 3. BA: NB , NA, A, SigB (NB, NA, A) 34 基于公钥密码的认证 nNeedham-Schroeder public key protocol nLowe给出了攻击 nAC(A) B n可以在第二条消息中增加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) 35 基于公钥密码的认证 nX.509单向认证 nX.509双向认证 1. AB: TA, NA, B ,EB (KAB ), SigA ( TA, NA,B,EB (KAB)) 1. AB: TA, NA, B ,EB (KAB ), Sig。
