《密码协议详解》PPT课件.ppt_第1页
《密码协议详解》PPT课件.ppt_第2页
《密码协议详解》PPT课件.ppt_第3页
《密码协议详解》PPT课件.ppt_第4页
《密码协议详解》PPT课件.ppt_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1,现代密码学,21世纪高等学校计算机规划教材,Modern Cryptography,彭代渊 信息科学与技术学院 2009.9-2010.1,作 者:何大可 彭代渊 唐小虎 何明星 梅其祥 出版社:人民邮电出版社,2,现代密码学 Modern Cryptography,彭代渊 信息科学与技术学院 2009年12月,第7章 密码协议,3,第7章 密码协议,7.1 密码协议概述 7.2 实体认证协议 7.3 密钥认证协议 7.4 比特承诺协议 7.5 零知识证明与身份识别协议,4,7.1 密码协议概述,协议(Protocol) 基本概念 两个或两个以上的参与者为完成某项特定任务而采取的一系列步骤。 三层含义 协议是有序的过程,每一步必须依次执行 协议至少需要两个参与者 通过执行协议必须能够完成某项任务,5,7.1 密码协议概述,协议(Protocol) 特点 协议的参与方必须了解协议,明确协议执行的所有步骤 协议的参与方都承诺按协议步骤执行协议 协议必须清楚、完整,对每种可能的情况必须规定明确、具体的动作 基本要求 有效性 公平性 完整性,6,7.1 密码协议概述,密码协议(安全协议) 具有安全功能的协议安全协议 安全协议的设计必须采用密码技术密码协议 具体意义:密码协议是建立在密码体制基础上的一种交互通信的协议,它运行在计算机通信网或分布式系统中,借助于密码算法来达到安全功能,密码技术:随机数生成、加密/解密算法、Hash运算、数字签名等 安全功能:密钥建立、密钥分配、消息鉴别、身份认证 应用系统:电子选举、电子拍卖、公平电子交易等。,7,7.1 密码协议概述,密码协议分类按协议执行的轮数分 2轮协议 3轮协议, n轮协议 密码协议分类按协议功能分 身份认证协议 密钥分配协议 密钥协商协议 秘密共享协议 不经意传输协议,,8,7.1 密码协议概述,密码协议分类按协议应用目标分 选举协议 拍卖协议 支付协议, 密码协议分类按协议的交互性分 交互协议 非交互协议 密码协议分类按协议第三方性质分 仲裁协议 裁决协议 自动执行协议,9,第7章 密码协议,7.1 密码协议概述 7.2 实体认证协议 7.3 密钥认证协议 7.4 比特承诺协议 7.5 零知识证明与身份识别协议,10,7.2 实体认证协议,认证:一个实体向另一个实体证明某种声称的过程 认证协议:主要目标是确认某个主体的真实性,确保信息的安全性 认证协议分类 消息认证协议:验证消息与其主体的一致性 实体认证协议:验证消息发送者所声称的身份 密钥认证协议(认证的密钥建立协议):生成、获得加(解)密密钥,11,7.2 实体认证协议,身份认证协议:验证用户知道什么(如口令等)、验证用户拥有什么(如IC卡等)或验证用户具有什么特征(如指纹、掌纹、虹膜、DNA等) 身口令认证协议( PAP,Password Authentication Protocol):通过验证用户口令来进行身份认证 单向口令身份认证协议 协议7.1 简单口令身份认证协议 协议7.2 动态口令身份认证协议 协议7.3 基于口令的智能卡认证协议 双向口令身份认证协议 协议7.4 基于Hash函数的双向口令身份认证协议 协议7.5 基于对称密码的双向认证协议 协议7.6 基于非对称密码的双向认证协议,12,第7章 密码协议,7.1 密码协议概述 7.2 实体认证协议 7.3 密钥认证协议 7.4 比特承诺协议 7.5 零知识证明与身份识别协议,13,7.3 密钥认证协议,密钥认证协议:对通信主体A和B及建立的密钥K进行认证 只有A、B(或可信第三方TTP)能够知道K A和B确认对方知道K A和B确认K是最新建立的,14,7.3 密钥认证协议,15,7.3 密钥认证协议,基于对称密码技术的密钥认证协议 Needham-Schroeder 协议 密钥分配中心KDC (key distribution center)安全地分发一个会话密钥Ks给用户A和B。 协议步骤,16,7.3 密钥认证协议,基于对称密码技术的密钥认证协议 Needham-Schroeder 协议 重放攻击 假定攻击方C已经掌握A和B之间一个旧的会话密钥,且可以中途阻止第(4)步的执行,17,7.3 密钥认证协议,基于对称密码技术的密钥认证协议 Denning改进协议:运用时间戳T 协议步骤,18,7.3 密钥认证协议,基于对称密码技术的密钥认证协议 Denning改进协议:运用时间戳T 协议步骤,抑制重放攻击 如果发送者的时钟比接收者的时钟要快,攻击者就可以从发送者窃听消息,并在以后当时间戳对接收者来说成为当前时重放给接收者。 克服抑制重放攻击的方法 强制各方定期检查自己的时钟是否与KDC的时钟同步。 采用临时随机数(nonce)技术,19,7.3 密钥认证协议,基于对称密码技术的密钥认证协议 KEHN改进协议 协议步骤,该协议可抵抗前两个协议可能遭受的攻击,20,7.3 密钥认证协议,基于非对称密码技术的密钥认证协议 Diffie-Hellman密钥交换协议(DH-KEP) 协议步骤 公开参数:大素数p, p的本原根a 共享密钥:K,21,7.3 密钥认证协议,基于非对称密码技术的密钥认证协议 Diffie-Hellman密钥交换协议(DH-KEP) 协议步骤 公开参数:大素数p, p的本原根a 共享密钥:K 合理性证明,安全性基础 攻击者只能得到a, p , YA , YB,要想求出K ,必须先求出XA或XB ,这是离散对数问题,22,7.3 密钥认证协议,基于非对称密码技术的密钥认证协议 Diffie-Hellman密钥交换协议(DH-KEP) 例子:设p=97,a=5 (1) A选择XA=36,计算YA=aXA=536=50 mod 97,将YA发送给B. (2) B选择XB=58,计算YB=aXB=558=44 mod 97,将YB发送给B. (3) A计算共享密钥K=(YB)XA=4436=75 mod 97. (4) B计算共享密钥K=(YA)XB=5058=75 mod 97.,23,7.3 密钥认证协议,基于非对称密码技术的密钥认证协议 Diffie-Hellman密钥交换协议(DH-KEP) 中间人攻击,24,7.3 密钥认证协议,基于非对称密码技术的密钥认证协议 加密的密钥交换协议(EKE)(协议7.11) Kerberos 协议 (协议7.12) 主要目的是解决分布式网络环境下,客户访问网络资源的安全认证问题。 实现用户与服务器之间的相互认证;向每个实体证实另一个实体的身份;产生会话密钥,供客户和服务器(或两个客户之间)使用。 V5于1994年作为RFC1510公布,25,7.3 密钥认证协议,基于非对称密码技术的密钥认证协议 Kerberos 协议 (协议7.12) 四个主体:客户C,应用服务器V,认证服务器AS,票证授予服务器TGS。认证服务器与票证授予服务器又统称为密钥分配中心(KDC)。 详细步骤见教材,26,7.3 密钥认证协议,对协议的攻击类型 重放攻击(Replay Attacks) 重放攻击是指入侵者捕获以前协议运行或当前协议运行中的消息用于对当前协议运行的攻击 已知密钥攻击(Known-key attack) 对手从用户以前用过的密钥确定新的密钥的攻击 伪装攻击(Impersonation attack) 对手扮演合法实体进行的攻击 字典攻击(Dictionary attack) 主要针对口令的一种按某种顺序进行搜索的攻击,27,7.3 密钥认证协议,对协议的攻击类型 交错攻击(Interleaving attack) 把前面一次或多次(或者并行)执行协议的信息有选择地组合在一起所实施的攻击。 选择挑战攻击(Chosen-text attack) 在挑战应答协议中对手巧妙地选择挑战消息,试图得到所需的信息。 反射攻击(Reflection attack) 正在执行的协议中,一方把对方发送过来的消息再发回给对方,28,第7章 密码协议,7.1 密码协议概述 7.2 实体认证协议 7.3 密钥认证协议 7.4 比特承诺协议 7.5 零知识证明与身份识别协议,29,7.4 比特承诺协议,股票预测大师问题 股票预测大师经常在讲座中给股民推荐股票,可股民按照大师推荐买股票却常常赚不了钱,然而预测大师却生意红火。为什么?因为预测大师没有对股民给出一个明确的承诺,尤其在股民选择股票买进时间和卖出时间上。往往在股民亏本后与预测大师论理时,预测大师总可以用偷换预测的前提和条件(时间)来 “说服” 股民相信大师预测的正确性,30,7.4 比特承诺协议,安全比特承诺协议的直观描述 A 把比特b放入一个箱子,用一把只有用A自己的钥匙才能开启的锁锁上这个箱子,然后把这个箱子交给B;当时机成熟时,A把比特b和打开箱子的钥匙交给B,B通过打开箱子可以验证比特b 的内容没有改动,因为箱子在B的控制之下。,31,7.4 比特承诺协议,7.1 (比特承诺) 给定随机数r和待提交的整数b,关于整数b的比特承诺就是一个有效算法F使得满足如下条件: 从F(r, b)计算出b的难度相当于攻破某计算困难性问题的难度; 比特承诺F(r, b)的提交者A在以后把比特承诺F(r, b)以不同的方式打开成为F(r, b)的概率是可以忽略的,即提交者不能把比特承诺打开成为不同的方式; 在多项式时间内,无法区分对于两个不同数b和b的F(r, b)和F(r, b)。,32,7.4 比特承诺协议,比特承诺的两个安全性要求: 屏蔽性(Concealing):A可用一个概率多项式时间算法F(r, b)将二进位b屏蔽起来,只有A本人才能打开。即二进位b一旦被屏蔽起来便不能被对方B预测。 约束性 (Binding):A根据二进位b及其屏蔽算法, 可从屏蔽体中用概率多项式时间算法打开屏蔽,显露出惟一的二进位b, 并让B进行验证。即二进位b一旦被屏蔽起来便不能再被屏蔽者修改。,33,7.4 比特承诺协议,例:由Goldwasser-Micali公钥概率加密系统构造一种比特承诺协议 令n=pq, p,q是长度相同的大素数, 选择模n非二次剩余m。 (1)A随机选择rZn*, b0,1, 计算 y=F(r, b)=mbr2 mod n. 并发送给B。 (2)其后A通过揭示b, r来打开y。B只需验证 y=mbr2 mod n. 只要求解模n二次剩余问题是困难的,则从y=F(r, b)计算出b也是困难的。即由y不能泄露b的任何信息,所以该方案具有屏蔽性。 该方案具有约束性。,34,7.4 比特承诺协议,抛币落井协议(Flipping coins into well) 设想有一口清澈见底的深水井,A站在水井的旁边,而B远离这口水井,A将硬币抛进水井里去,硬币停留在水井中,现在A能够看到水井里的结果,但A不能到水井里去改变硬币的状态(如正反面情况)。当A将硬币抛进水井时,B不能看见水井里的硬币,只有当B猜完硬币的状态后,A才让B走近井边,看到井底的硬币。这个协议满足上面的两条性质。因此称这样的比特承诺协议为抛币落井协议(Flipping coins into well)。,35,7.4 比特承诺协议,采用单向函数的抛币协议 设A和B使用一个安全Hash函数F。 (1)A选择一个随机数r,并计算y=F(r); (2) A将y发送给B; (3)B猜测r是偶数(b=0)或奇数(b=1),并将猜测结果发送给A; (4)如果B的猜测正确,抛币结果为正面;如果B的猜测错误,则抛币的结果为反面。A公布此次抛币的结果,并将r发送给B; (5)B确信。,36,7.4 比特承诺协议,采用单向函数的抛币协议 抛币协议的安全性取决于F的安全性 抛币协议,具有如下的性质: A必须在B猜测之前抛币; 在听到B猜测之后A不能再抛币; B猜测之前不能知道硬币是怎么落地的。,37,第7章 密码协议,7.1 密码协议概述 7.2 实体认证协议 7.3 密钥认证协议 7.4 比特承诺协议 7.5 零知识证明与身份识别协议,38,7.5 零知识证明与身份识别协议,7.5.1 零知识证明 例子 P要向V证明“P拥有某个房间的钥匙”,有两个方法: (1) P把钥匙出示给V,V用这把钥匙打开该房间的锁 (2) V确定该房间内有某一物体,P用自己拥有的钥匙打开该房间的门,然后把物体拿出来出示给V 方法(2)属于零知识证明 零知识证明的基本思想 设P是示证者,V是验证者。P需要向V证明他知道某个秘密信息,但示证者P在向验证者V证明他知道某个秘密信息时不泄露秘密的任何信息。,39,7.5 零知识证明与身份识别协议,Jean-Jacques等打开洞穴之门的故事 C、D之间有一道秘密之门,要打开这道门,需要知道开门的咒语。对任何不知道咒语的人,两边的通道都是死胡同。,今有一示证者P,知道开门的咒语,他不想让其他任何人知道这个咒语,但是又想让V相信他确实能通过这道门这个事实。 即:示证者P向验证者V证明他知道开门的咒语,而在这个过程中P不向验证者V泄漏咒语的任何信息。,40,7.5 零知识证明与身份识别协议,零知识证明概念 假设P,V是两个概率图灵机,P有无限的计算能力,V的计算能力是多项式的,若一个交互式证明满足以下三点,就称此证明为一个零知识交互式证明。 (1)完备性(Completeness):如果P的声明是真的,则V以绝对优势的概率接受P的结论; (2)有效性(Soundness):如果P的声明是假的,则V以绝对优势的概率拒绝P的结论; (3)零知识性(Zero-knowledge):无论V采取任何手段,当P的声明是真的,P不违背协议时,V除了接受P的结论以外,得不到其他额外的信息。,41,7.5 零知识证明与身份识别协议,基于离散对数的零知识证明协议 P欲向V证明他知道满足x= mod p的x,即知道离散对数x=log,其中p是一个大素数,x是与p互素的随机数。, 和p是公开的,x是保密的。P在不泄露 x 的信息的情况下向V证明他知道 x 的过程如下: (1) P选择随机数r (0 r p1),计算h=r mod p,将h发送给V; (2) V随机选择一整数或b=0或b=1,发送给P。 (3) P计算s=(r+bx) mod (p1),并发送给V; (4) V验证s =hb mod p ; (5) 重复步骤(1)(4) t 次。 P欺骗成功的概率为2t。,42,7.5 零知识证明与身份识别协议,7.5.2 身份识别协议 用零知识证明设计身份识别协议 示证者P在证明自己身份时不泄露任何信息,验证者V得不到示证者的任何私有信息,但又能有效证明对方身份的协议。 一个好的身份识别协议应具有以下性质。 (1)完备性(Completeness):在P与V都诚实的情况下,P一定可以让V识别自己,接受P的身份; (2)有效性(Soundness):如果P的身份是假的,则V以绝对优势的概率拒绝接受P的身份; (3)不可传递性(Non-transferability):

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论