数据鉴别技术及应用

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

主机端
s,B
H(A | M | K)
东南大学 33
群鉴别
• 对源点的鉴别 • 非对称密钥方法
– 效率低
• 基于公钥的逆向CBC方法
– 发送者将后一个报文的散列值用私钥加密作为前一个报文 的摘录,依此类推形成逆向的摘录链
– 非流式方法,效率高,但对网络可靠性要求也高
• 基于对源点的共享密钥验证方法
– 源点发送的每个报文带n个不同密钥的摘录,接收者拥有 其中k个密钥(k<n),并根据自己所掌握的密钥验证报文 的真实性
M7
Kab(N3-1)
东南大学 25
Secure Remote Password
• RFC2945 - Tomas Wu, Stanford Univ.
• 一种独立于应用系统的双向鉴别与会话密钥建 立机制
• 基于用户标识和用户口令、离散对数系统和 Diffie-Hellman交换机制
• 不需使用可信的KDC或PKI
东南大学 9
HMAC的实现
• (K+ ⊕ ipad)和(K+ ⊕ opad)是可以预先一 次性计算好
• 可以将单向函数的输出进行截断,保留 的部分应不少于实际结果的一半,例如
– HMAC-SHA1-80 – HMAC-MD5
东南大学 10
D-H Proof of Possession方法RFC2875
– 分散存放 – 集中存放 – 变形存放:加密、加盐、散列
东南大学 15
5.2 基本鉴别方法
东南大学 16
单向鉴别
• 鉴别对方的真实性
– A向B表明身份(通常B是server,A是client) – 如果系统A是安全的,则攻击者不能冒充A – 最简单的方式是A向B出示口令
• 重点防范“ 回放”攻击(replay)
<raw password>)) <password verifier> = v = gx mod N
东南大学 28
SRP的密钥准备过程
客户端
U = <username>
a = random() A = ga mod N
主机端
s = <salt from passwd file>
v = <stored password verifier> b = random() B = (v + gb) mod N
第五章 数据鉴别技术及其应用
5.1 概论
东南大学 1
东南大学 2
通信活动中的数据威胁
• 窃听
– 了解通信的内容 – 了解在后续的通信活动中冒充某一方所需的信息 – 了解在后续的通信活动中向第三方冒充所需的信息 – 了解进行脱机的口令分析所需的信息
• 冒充:端系统冒充/中继系统冒充(拦截)
– 使对方相信他的冒充身份,并获得利益 – 偷换通信内容(如修改报文内容、改变报文次序、重
• 网络地址
– 信任地址 – 信任地址和用户名 – 存在欺骗问题
东南大学 12
报文时间性的鉴别
• 将时间值作为加密的IV • 对报文进行编号 • 使用预先约定的一次性通行字表 • 先向接收方要一个标识,然后用这个标
识发一个报文 • 利用底层协议的顺序控制能力
东南大学 13
身份认证
• 识别
– 明确并区分访问者的身份
请求与 B 通信 A Ka(Kab,B),Kb(Kab,A)
KDC
B
Kb(Kab,A)
东南大学 23
Needham-Schroeder方法(1978年)
M1
请求与B通信,N1
wenku.baidu.comKDC
M2
Ka((N1,B,Kab),Kb(Kab,A))
M3 A
M4
Kab(N2-1,N3)
M5
Kb(Kab,A),Kab(N2) B Kab(N3-1)
东南大学 18
基于公钥的单向鉴别
I'm A A
R 方 用A的隐蔽密钥加密
B 选择一个随机数R
方 用A的公开密钥解密
• A和B的安全无关 • 可以哄骗A解密,选择EA(X)作为R送给A
东南大学 19
口令鉴别-Lamport散列函数方法
• A在B处预先存放 – A的用户名,整数n,和hashn(password)
– S[x]是S的第x个字节,且最高位在左边 – 当进行逆转换时,S[0]必须是非0,所以填充
是一个另外的独立过程,在转换时不考虑。
东南大学 27
Secure Remote Password
• 主机以三元组的形式存放用户的口令
{ <username>, <password verifier>, <salt> } <salt> = random() x = SHA(<salt> | SHA(<username> | ":" |
– 如果部分接收者能够拥有全部密钥,则他们可能联合作弊
5.3 KERBEROS系统
东南大学 35
概述
• 面向会话的分布式鉴别与安全服务平台
– 可以在不安全的网络环境中为用户对远程服 务器的访问提供自动的鉴别、数据安全性和 完整性服务,以及密钥管理服务
东南大学 21
双向鉴别
• 对称密钥
– A和B相互提出一个challenge – 存在桥接攻击
• 非对称密钥
– 相互使用对方的公钥 – 公钥的真实性问题
• 时标
– 数据的时效性问题
东南大学 22
Key Distribution Center
• 承担一个Site的密钥集中管理工作
• 减轻端系统的密钥保管负担 • 有利于用户的移动 • 容易构成安全的瓶颈 • Single Sign-On的概念
– O1 = Ek(X1), O2 = Ek(X2⊕O1), O3 = Ek(X3⊕O2),……, ON = Ek(XN⊕ON-1)
• 取ON或ON的前M比特作为M的DAC • DAC可有效地防止冒充攻击
东南大学 7
HMAC(RFC 2104)
• 一种利用对称密钥K和单向函数H生成信息鉴 别码的方法
M3至M5存在回放攻击的可能
东南大学 24
扩展的Needham-Schroeder方法(1987年)
M1
请求与B通信
M2
M3
Kb(Nb)
M4
请求与B通信,N1,Kb(Nb)
A Ka((N1,B,Kab),Kb(Kab,A,Nb))
KDC
B
M5
Kb(Kab,A,Nb),Kab(N2)
M6
Kab(N2-1,N3)
• 验证
– 对访问者声称的身份进行确认
• 认证的基本方法
– 验证他知道什么,如口令 – 验证他拥有什么,如通行证或智能卡 – 验证他的生物特征,如指纹或声音 – 验证他的下意识动作的结果,如签名
东南大学 14
口令管理
• 根据用户的知识来进行身份鉴别
• 口令攻击
– 联机尝试 – 脱机的字典攻击
• 口令的保存
如果B mod N=0,客户端要立即终止认证过程;同样如果主 机发现A mod N=0,也要立即终止认证过程。
东南大学 29
SRP的密钥建立过程
• 对于
p = <raw password> x = SHA(s | SHA(U | ":" | p)) v = gx mod N
• 客户端计算S = (B - gx) (a + u * x) mod N;主 机端计算S = (A * vu) b mod N。
东南大学 20
One-Time Password方法的问题
• 小数攻击
– 若攻击者能拦截B的信息,则他可向A返回一 个很小的m值,这样就获得了从hashm(P)到 hashn(P)的值,从而在一段时间内可冒充A。
• 竞争条件
– 攻击者发出认证请求后,等待并观察下一个 合法的认证请求,利用A的返回值构造自己 的返回值。
• 可直接使用现有的单向函数
• 定义两个固定的填充串
– ipad = 0x36重复B次 – opad = 0x5C重复B次
• B为信息的字节长度,K是HMAC使用的密钥, 而K+是经填充之后的密钥。
• HMAC的计算公式为
H(K+ ⊕ opad || H(K+ ⊕ ipad || M))
东南大学 8
主机端
H(A | M | K)
主机方在作出响应之前要使用自己的 K来计算 M,如果与客户端发来的不 匹配,则要终止认证过程,并向对方报错;如果匹配正确,则按要求返回 应答。客户端也要自己的 K来验证主机方发来的 M的正确性,出现错误则 要向主机报告。
东南大学 32
SRP的快捷模式
客户端 U,A
M = H(H(N) ⊕ H(g) | H(U) | s | A | B | K)
东南大学 5
报文内容的鉴别
• 鉴别码MAC
– 通过加密算法产生 Ek(M) – 需要使用密钥,因此与MIC不同
• 发送与接收双方需要使用同样的过程
– 相同的对称密钥 – 对方的公钥
东南大学 6
Data Authentication Code
• ANSI标准的MAC(X9.17) • CBC方式的关联方法
• 双方建立会话密钥 K = SHA_Interleave(S)
东南大学 30
SHA_Interleave函数
• 首先去掉输入值的所有先导零,如果剩余的串长是奇数,则 再去掉第一个字节,得到字符串T。
• 将T的奇数字节并置成E串,将T的偶数字节并置成F串
E = T[0] | T[2] | T[4] | … F = T[1] | T[3] | T[5] | …
HMAC的具体计算过程: H(K+ ⊕ opad || H(K+ ⊕ ipad || M))
(1) 在K之后用0x00进行填充至B字节长度,得K+ (2) 计算填充过的K+ ⊕ ipad (3) 用同样方式对信息M进行填充 (4) 用(2)的结果和填充过的信息(并置)进行H计算 (5) 计算填充过的K+ ⊕ opad (6) 用同样方式对(4)的结果进行填充 (7) 用(5)和(6)的结果进行H计算,并得到最终结果
东南大学 17
使用对称加密方法的单向鉴别
• A和B双方共享密钥,B向A发送一个明文R,A 返回该明文对应的密文,从而确认A掌握密钥。
• 随机数据R每次不同,因此不能回放
• A和B双方安全性相关,一方被攻破,另一方也 不安全
• 安全改进
– B发送Ek(R),要A给出明文,具有双向鉴别的效果 – A发送Ek(时标),由B判断是否接受,
• 实体E从接收者的DH证书中获得DH方法的参数g和p。 设接收者的DH密钥对为Rpub=g Rpriv和Rpriv
• 实体E自己的DH密钥对为Epub=g Epriv和Epriv
• POP的计算方法
– 获得欲保护的数据text – 计算共享密钥 ZZ =g Rpriv Epriv mod p – 从ZZ中导出一个临时密钥K = SHA1(证书中主体的DN | ZZ |
• 当A需要向B作身份认证时,B返回n的当前值 • A计算 x = hashn-1(password)并送给B • B将x再散列一次,并与当前存储的散列值比较 • 若鉴别成功,则将x当作当前的散列值,且n的值
减1 • 若n递减为1,则重新设置口令 • S/key-OTP(RFC 2289、2243、2444)
• 对E和F作正常的SHA1散列操作
G = SHA(E) H = SHA(F)
• 将G和H交错起来,便得到40字节(320比特)长的最终结果
– result = G[0] | H[0] | G[1] | H[1] | ... | G[19] | H[19]
东南大学 31
SRP的鉴别过程
客户端
M = H(H(N) ⊕ H(g) | H(U) | s | A | B | K)
证书中颁发者的DN) – 使用HMAC-SHA1计算text的信息摘录
SHA1(K ⊕ opad || SHA1(K ⊕ ipad || text))
• 接收者重复上述过程,便可验证信息摘录的正确性
东南大学 11
报文源的鉴别
• 密钥
– 共享的对称密钥 – 对方的公钥 – 存在密钥管理问题
• 通行字
– 事先预定 – 要考虑时效性和顺序性 – 管理简单但安全性差
复报文内容、或改变报文方向等)而不让双方察觉
东南大学 3
鉴别的作用
• 证实传输信息的真实性 • 证实存储数据的真实性 • 证实通信对方的真实性 • 证实通信动作的真实性 • 证实信息的时效性 • 为通信行为的审计与仲裁提出依据
东南大学 4
报文鉴别
• 保证所收到信息的真实性的过程 • 要求
– 报文是由确认的发送方产生的 – 报文内容没有被修改过 – 报文是按与发送时的相同顺序收到的
• 主机端保存用户口令的密文,客户端不需要保 存用户口令。
东南大学 26
Secure Remote Password
• SRP是面向比特计算的,而TCP/IP协议 套是面向字节的,因此需要定义n字节长 的字符串S与整型数i之间的映射。
i = S[n-1] + 256 * S[n-2] + 2562 * S[n-3] + ... + 256(n-1) * S[0]
相关文档
最新文档