网络与信息安全安全基础四内容摘要:
可以检查密钥交换和认证过程是否已经成功。 其中包括一个校验值,对所有以来的消息进行校验。 服务器同样发送 change_cipher_spec消息和 finished消息。 握手过程完成,客户和服务器可以交换应用层数据。 密钥交换算法 TLS记录协议需要: CipherSuite, master secret, and the client and server random values 在 hello消息中,交换随机数以及各种算法 对于各种密钥交换算法,从 pre_master_secret计算得到 master_secret, 然后从内存中删除,公式: master_secret = PRF(pre_master_secret, “master secret”, + )[0..47] * PRF(secret, label, seed)为伪随机函数 Master_secret总是 48字节长,而 pre_master_secret长度不定,取决于密钥交换算法 两类密钥交换算法: RSA, 客户产生一个 48字节的 pre_master_secret, 然后通过服务器的公钥传递给服务器 DiffieHellman, 双方协商得到的密钥被用作pre_master_secret 重用一个 TLS会话 客户和服务器在交换hello消息中,客户要求重用已有的 TLS会话,服务器同意使用cache中的会话 * session id 跳过第二第三阶段,直接把 TLS会话中的参数传递给 TLS记录层 伪随机函数 PRF(secret, label, seed) P_hash(secret, seed) = +HMAC_hash(secret, A(1) + seed) +HMAC_hash(secret, A(2) + seed) +HMAC_hash(secret, A(3) + seed) + ... 这里 A()定义如下: A(0) = seed A(i) = HMAC_hash(secret, A(i1)) 伪随机函数 PRF(secret, label, seed) = P_MD5(S1, label + seed) XOR P_SHA1(S2, label + seed)。 这里, S1和 S2为 secret的各一半,如果 secret为奇数个字节,则 S1和 S2共享一个字节 TLS/SSL安全性分析 针对一些常见的攻击手法 针对密钥算法的破解 取决于算法的强度,协商过程 利用明文模式的攻击 上层协议中常常有一些固定的模式可以参考,比如 协议中get字节串 构造字典 (密文 密钥对 ),查字典 TLS办法:用长密钥,使得不可能构造这样的字典 重放攻击 TLS中的 nonce有 32字节 (包含时间戳 ),可用于避免重放攻击 会话 ID标识了一个完整的会话,要重放部分会话需要知道私钥 中间人攻击 通过证书来认证对方 对于双方都是匿名的模式,中间人攻击也是成立的 历史上针对 SSL/TLS的攻击 PRNG Millionmessage attack 其它 SSL: PRNG攻击 Netscape ,利用随机数发生器的弱点 先看随机数发生器 global variable seed。 RNG_CreateContext() (seconds, microseconds) = time of day。 /* Time elapsed since 1970 */ pid = process ID。 ppid = parent process ID。 a = mklcpr(microseconds)。 b = mklcpr(pid + seconds + (ppid 12))。 seed = MD5(a, b)。 mklcpr(x) /* not cryptographically significant。 shown for pleteness */ return ((0xDEECE66D * x + 0x2BBB62DC) 1)。 ( 待续) SSL: PRNG攻击 (续 ) 种子关联: pid, ppid, seconds, microseconds Seconds往往可以获得, microseconds未知 如果在目标机器上有账号,则 pid和 ppid可以获得 否则,可以寻找 pid和 ppid的。 对于大多数 UNIX平台, pid+(ppid 12)只有 27位 global variable challenge, secret_key。 RNG_GenerateRandomBytes() x = MD5(seed)。 seed = seed + 1。 return x。 create_key() RNG_CreateContext()。 tmp = RNG_GenerateRandomBytes()。 tmp = RNG_GenerateRandomBytes()。 challenge = RNG_GenerateRandomBytes()。 secret_key = RNG_GenerateRandomBytes()。 PRNG的启示 PRNG并不是 SSL协议本身的缺陷,而是实现上导致的缺陷 随机数对于安全协议或者安全系统的重要性 源码开放的另一层含义 关键的代码接受公众的审视 Reference: Ian Goldberg and David Wagner, “Randomness and the Netscape Browser”, January 1996 Dr. Dobb39。 s Journal SSL: Millionmessage attack 在 RSA算法作加密运算的时候,首先对明文消息进行编码,其格式为 0 2 random bytes 0 message 假设密文 C, 攻击者可以产生一系列整数 S并计算 C’ = C*(Se) mod n, 在解密的时候,每一个 C’对应于一个 M’。 大多数的 M’不会满足上面的格式,但是有 216的概率会产生这样的结果 (因为前两个字节是确定的 )。 攻击者可以找到一系列满足条件的 S, 然后推断出密文 C对应的明文 M。 这个过程大约需要 220个消息和应答。 攻击实施依赖于 需要一个可以提供解密准确性判断的服务器 ——称为。网络与信息安全安全基础四
相关推荐
、錄音著作、表演&法人為著作人之著作 之著作財產權存續期間 創作完成 167。 33 法人之著作 167。 34 攝影、視聽、錄音著作及表演 50年 公開發表後50年 創作完成後50年 50年未公開發表 50年 公開發表 網路活動者的著作權須知/陳錦全/中原大學財法系/ 23 著作財產權存續期間(二) • 語文、音樂、戲劇舞蹈、美術、圖形、建築、電腦程式著作,且係自然人為著作人之情形時 – 若於
(function(i,s,o,g,r,a,m){i[39。 GoogleAnalyticsObject39。 ]=r。 i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date()。 a=(o), m=(o)[0]。 =1。 =g。 (a,m) })(window,document,39。
文和客户算出来的 challenge密文。 如果相等的话,认证成功 NT Workstation认证协议 1. CS ReqChal,Cc SC Cs 2. C、 S计算会话密钥 Ks = E(PW[9..15],E(PW[0..6],Add(Cc,Cs))) 3. C: Rc = Cred(Ks,Cc) CS Authenticate, Rc 4. S: assert(Rc ==
3分。 (各分值题目随机出示) • 竞赛成绩:试题分数总和 正确率 =竞赛积分。 • 入围复赛:依据各组别竞赛积分排名,按 50%比例入围。 单击此处编辑母版标题样式 单击此处编辑母版副标题样式 5 • (三)网络复赛: • 竞赛环境: NOC网站竞赛平台。 • 竞赛方式: • 网络中文 ——主观题; • 网络英语 ——主观题; • 应用数学 ——小论文。 • 竞赛时间: 2020年 5月