安全协议
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.密码协议(cryptographic protocol)是使用密码学完成某项特定的任务并满足安全需求的协议,又称安全协议(security protocol).密码学的用途是解决种种难题。当我们考虑现实世界中的应用时,常常遇到以下安全需求:机密性、完整性、认证性、匿名性、公平性等,密码学解决的各种难题围绕这些安全需求.
2.Dolev和Yao攻击者模型.认为攻击者具有如下能力:
(1) 可以窃听所有经过网络的消息;
(2) 可以阻止和截获所有经过网络的消息;
(3) 可以存储所获得或自身创造的消息;
(4) 可以根据存储的消息伪造消息,并发送该消息;
(5) 可以作为合法的主体参与协议的运行
3.攻击手法.
窃听攻击者获取协议运行中所传输的消息
篡改攻击者更改协议运行中所传输的消息的内容
重放攻击者记录已经获取的消息并在随后的协议运行中发送给相同的或不同的接收者
预重放重放的一种
反射攻击者将消息发回给消息的发送者
拒绝服务攻击者阻止合法用户完成协议
类型攻击攻击者将协议运行中某一类消息域替换成其它的消息域
密码分析攻击者利用在协议运行中所获取的消息进行分析以获取有用的信息
证书操纵攻击者选择或更改证书信息来攻击协议的运行
4.秘密分割
(1)Trent产生一随机比特串R。
(2)Trent用R异或M得到S:M ⊕ R = S
(3)Trent把R给Alice,将S给Bob。
(4)重构消息:Alice和Bob将他们的消息异或就可得到此消息R ⊕ S =
M.
如何在多个人中分割一消息?
秘密分割的缺点是什么?
5.(t, n) Secret Sharing .目标是把秘密K 分成 n 份 s1, . . . sn,使得:
在秘密共享方案中,最常见的就是门限方案。门限方案是实现门限访问
结构的秘密共享方案,在一个( t,n )门限方案中,t为门限值,秘密SK
被拆分为n个份额的共享秘密,利用任意t ( 2 ≤t ≤n )个或更多个共享份
额就可以恢复秘密 SK,而用任何t– 1或更少的共享份额是不能得到关于
秘密SK的任何有用信息的。
6.Shamir’s Secret Sharing
7.阈下信道: Alice和Bob建立一个阈下信道,即完全在Walter视野内的建立的一个秘密通信信道。通过交换完全无害的签名的消息,他们可以来回传送秘密信息,并骗过Walter,即使Walter正在监视所有的通信。
8. 比特承诺 :Required properties of bit commitment (From Alice to Bob)
Binding property: Alice can’t change her mind;
Hiding property: Bob can’t open the box, unless Alice unlocks it.
9.不经意传输
Alice将发送给Bob两份消息中的一份。Bob将收到其中一条消息,并且Alice不知道是哪一份。
(1)Alice产生两个公开密钥/私钥密钥对。她把两个公开密钥发送给Bob。(2)Bob选择一个对称算法(例如DES)密钥。他选择Alice的一个公开密钥并用它加密他的DES密钥。他把这个加了密的密钥发送给Alice,且不告诉她他用的是她的哪一个公开密钥加密的DES密钥。
(3)Alice解密Bob的密钥两次,每次用一个她的私钥来解密Bob的密钥。在一种情况下,她使用了正确的密钥并成功地解密Bob的DES密钥。在另一种情况下,她使用了错误的密钥,只是产生了一堆毫无意义,而看上去又象一个随机DES密钥的比特。由于她不知道正确明文,故她不知道哪个是正确的。
(4)Alice加密她的两份消息,每一份用一个不同的在上一步中产生的DES密钥(一个真的和一个毫无意义的),并把两份消息都发送给Bob。
(5)Bob收到一份用正确DES密钥加密的消息及一份用无意义DES密钥加密的消息。当Bob用他的DES密钥解密每一份消息时,他能读其中之一,另一份在他看起来是毫无意义的。
Bob现在有了Alice两份消息中的一份,而Alice不知道他能读懂哪一份。很遗憾,如果协议到此为止,Alice有可能进行欺骗。另一个步骤必不可少。
(6)在协议完成,并且知道了两种可能传输的结果后,Alice必须把她的私钥给Bob,以便他能验证她没有进行欺骗。毕竟,她可以用第(4)步中的两个密钥加密同一消息。
当然,这时Bob可以弄清楚第二份消息。
零知识证明:证明者能够向验证者证明拥有某个信息,但不向验证者泄露这个信息
A zero-knowledge proof is a way that a “prover” can prove pos session of a certain piece of information to a “verifier” without revealing it.
10.长期密钥:实体之间长期共享的密钥或长期拥有的私钥.
会话密钥:双方通信建立的短期密钥
密钥分配协议:会话密钥由密钥建立协议的参与者之一产生并传输给各个用户。这里的密钥产生者一般是一个可信的服务器。这就是密钥分配协议
密钥协商协议:会话密钥由每个协议参与者分别产生的参数通过一定的计算得出,即密钥协商协议
混合协议:指会话密钥由一部分的参与者协商产生并分配给其余的用户
11. 用户如果检查收到的消息是新鲜的?
时间戳:消息发送者在消息种加入消息发送的时间。接受者根据时间戳的时间和本地时间的对比确定消息的新鲜性。难度在于使用时间戳必须保证时钟的同步性。
随机挑战(nonce):消息的接收者先产生一个随机数发送给消息的发送者然后根据随后收到的消息中包含的随机数验证消息是否新鲜。必须注意的是产生随机数的方式,即产生的随机数的质量
计数器:消息发送者和接收者各自拥有同步计数器,计数器的值随消息的发送增加。难度在于计数器的管理,计数器必须存储所有参与者的状态。
混合方法:将计数器和时间戳结合使用。
12单向认证:只认证一方的真实性.如用户认证服务器.