已阅读5页,还剩39页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第10章 数字签名和鉴别协议,数字签名 鉴别协议 数字签名标准(DSS),1. 数字签名,报文鉴别示例:,1. 数字签名,报文鉴别示例的安全性分析: 可用来保护通信双方免受任何第三方的攻击。 无法用来防止通信双方的互相攻击,无法解决通信双方可能存在多种形式的争执。 原因: 接收方可能伪造并声称它来自发送方。接收方只要简单地生成一个报文,并附加使用由发送方和接收方所共享的密钥生成的鉴别码即可。 发送方可以否认发送过该报文。因为接收方伪造一个报文是可能的,无法证明发送方发送过该报文这一事实。,1. 数字签名,解决方案: 由于发方和收方之间存在欺骗或抵赖,因此除了采用防止第三方攻击的鉴别之外还需要采用防止当事双方相互攻击的手段。最吸引人的解决方案是笔迹签名的模拟数字签名。 数字签名必须拥有的基本性质: 必须能证实作者签名和签名的日期和时间。 在签名时必须能对内容进行鉴别。 签名必须能被第三方证实以便解决争端。,1. 数字签名,密码学上对数字签名的需求: 签名必须是依赖于要签名报文的比特模式。 签名必须使用对发送者来说是惟一的信息,以防伪造和抵赖。 数字签名的产生必须相对简单。 数字签名的识别和证实必须相对简单。 伪造一个数字签名在计算上是不可行的,无论是通过对已有的数字签名来构造新报文,还是对给定的报文构造一个虚假的数字签名。 保留一个数字签名的备份在存储上是现实可行的。 数字签名的方法: 直接的 需仲裁的,1. 数字签名,直接数字签名 方案实施 涉及通信方发方和收方 密码方案非对称密码学 使用前提收方知道发方的公开密钥 签名实施可以通过使用发方的私有密钥对整个报文进行加密,或通过使用发方的私有密钥对报文的散列码进行加密来形成。 保密方案可通过对整个报文和签名进行更进一步的加密来实现,可采用收方的公用密钥(公开加密)或采用双方共享的密钥(常规加密)来进行加密。 实施关键 收方应假定发方对私有密钥的完全控制,1. 数字签名,直接数字签名 实施示例,1. 数字签名,直接数字签名 方案弱点 方案的有效性依赖于发方私有密钥的安全性。 弱点分析 发方若想否认发送过某个报文,则可以声称该私有密钥丢失或被盗用,且伪造了他(她)的签名。 X的私有密钥真的可能在时间T被盗。获得该密钥的人便能发送带有X的签名报文并附上小于等于T的时间戳。,1. 数字签名,需仲裁的数字签名 方案实施 每个从X发往收方Y的签名报文首先被送给仲裁者A,仲裁者A对该报文和它的签名进行一系列的测试以检验它的出处和内容。然后对报文注明日期,附上一个已经经过仲裁证实属实的说明后发给Y。A的存在解决了直接签名方案所面临的问题:X可能否认发送过该报文。 实施关键 所有通信方必须充分信任仲裁机构。,1. 数字签名,需仲裁的数字签名 方案示例 (a)常规加密,仲裁能看到报文内容 X A:M | EKxaIDx | H(M) A Y:EKayIDx | M | EKxaIDx | H(M) | T (b)常规加密,仲裁不能看到报文内容 X A:IDX | EKxyM | EKxaIDX | H(EKxyM) A Y:EKayIDX | EKxyM | EKxaIDX | H(EKxyM) | T (c)公开密钥加密,仲裁不能看到报文内容 X A:IDX | EKRxIDX | EKUy(EKRxM) A Y:EKRaIDX | EKUyEKRxM | T,1. 数字签名,需仲裁的数字签名 方案示例讨论 方案(a)和(b)存在的问题 X必须确信A不会泄露Kxa,也不会产生虚假的签名。(仲裁能和收方结成联盟来伪造发方的签名。) Y必须确信A只有在散列码正确且确是X签名的情况下才发送。(仲裁能和发方结成联盟来否认一个签名报文 。) 双方必须确信A能公平地解决争端。(仲裁作用。) 方案(c)的优点 通信前各方没有共享任何信息,可防止结盟欺骗的发生。 假定KRa是安全的,即使KRx已不安全,日期不对的报文不会被发送。 从X发给Y的报文内容对A和其他任何人都是保密的。,2. 鉴别协议,主要涉及内容 在报文鉴别的基础上,进行更深层次的通信对象和通信内容有效性的鉴别。 相互鉴别 单向鉴别,2. 鉴别协议,相互鉴别 相互鉴别的必要性 通信对象的确认通信各方相互证实对方的身份 信息交换的机密性防止信息的篡改和泄漏 信息交换的时效性 防止报文重放的威胁 报文重放威胁的表现 最好情况一个成功的重放会通过为通信方提供用似是而非的报文而打乱正常的操作。 最差情况可能允许对手获取会话密钥或成功地假扮为通信的另一方。,2. 鉴别协议,相互鉴别 重放攻击的常用方法示例 简单重放:对手简单地拷贝一个报文并在后来重放。 能被日志记录的重复:对手可以在有效的时间窗口内重放有时间戳的报文。 能被日志记录的重复:对手可以在有效的时间窗口内重放有时间戳的报文。 没有修改的退回重放:这是一种报文返回发方的重放。如果使用常规加密,这种攻击是可能的,并且发方不容易依据内容识别发送过的报文与收到的报文间的不同。,相互鉴别 对付重放攻击的常用方法 为每个用来鉴别交换的报文分配一个序号,新的报文只有在它的序号满足一种正确的次序时才被接收。这种方法的难点在于它需要通信各方记录已处理的最近一个序号。因为有这种负担,序号一般不用于鉴别和密钥交换。 时间戳:A方接收一个报文,只有当报文包含的时间戳(经A判断后)与A了解的当前时间足够接近,才认为报文是新的。这种方法的难点在于它需要通信各方的时钟保持同步。首先,需要某种协议来维持不同处理机时钟的同步,这个协议还必须是容错的和安全的,即要能对付网络的故障和恶意的攻击。其次,如果暂时失去同步会导致一方的时钟机制出错,那攻击成功的机率将大为增加。最后,因为网络时延的可变性和不可预知性,很难期望分布时钟能保持精确的同步。因此,任何基于时间戳的过程必须申请足够大的时间窗口以适应网络时延,同时又要使时间窗口足够小以使攻击成功的机率最小。 盘问/响应:若A方期望从B接收一个新近的报文,就先要向B发送一个现时报文(nonce)(即盘问),然后要求随后从B接收的报文(即响应)包含正确的现时值。这种方法不大适合面向无连接的应用,因为在任何无连接传输之前它需要有握手的负担,这将在很大程度上丢失无连接传输的主要特征。,2. 鉴别协议,相互鉴别 相互鉴别的常规加密原始方案示意图,2. 鉴别协议,相互鉴别 相互鉴别的常规加密原始方案过程描述 A KDC:IDA | IDB | N1 KDC A:EKaKs | IDB | N1 | EKbKs | IDA A B:EKbKs | IDA B A:EKsN2 A B:EKsf(N2) 相互鉴别的常规加密原始方案可能存在的攻击模式 简单地对第3步进行观察、记录并重放,加重通信负担。 假定X是一个对手,已经获得了一个旧的会话密钥,则X可冒充A,使用旧密钥通过简单的重放第3步就可以欺骗B。除非B一直牢记所有与A的会话密钥,否则B无法确定这是一个重放。,2. 鉴别协议,相互鉴别 相互鉴别的常规加密原始方案改进1过程描述 A KDC:IDA | IDB KDC A:EKaKs | IDB | T | EKbKs | IDA | T A B:EKbKs | IDA | T B A:EKsN1 A B:EKsf(N1) 相互鉴别的常规加密原始方案改进1的防重发机制 增加时间戳 T,它能向A和B确保该会话密钥是刚产生的。这样,A和B双方都知道这个密钥分配是一个最新的交换。A和B通过验证下式来证实时效性: |Clock T| t1 + t2 其中t1是估计的KDC时钟与本地时钟(A或B)的正常偏差,t2是预期的网络时延。每个结点可参照某些标准参考源设置自己的时钟。时间戳T是用主密钥加密的,即使对手获得旧的会话密钥,由于步骤3的重放将会被B检测出不及时而不会成功。,2. 鉴别协议,相互鉴别 相互鉴别的常规加密原始方案改进1存在的危险 分布时钟由于阴谋破坏或同步时钟、同步机制的故障变得不同步。当发方的时钟快于预想的收方时钟时,这个问题就会发生。在这种情况下,对手可截获发自A的报文,当报文中的时间戳变成收方的当前时间时就重放该报文。这种重放可导致不可预料的结果。这样的攻击被称为抑制重放攻击。 相互鉴别的常规加密原始方案改进1的可能改进 加强通信各方定期与KDC时钟的校准。 避免时钟同步的需求,依赖使用现时的握手。(依然会带来其它问题,其原因是因为收方选择的现时对发送方是不可预测的。),2. 鉴别协议,相互鉴别 相互鉴别的常规加密改进方案 A B:IDA | Na B KDC:IDB | Nb | EKbIDA | Na | Tb KDC A: EKaIDB | Na | Ks | Tb | EKbIDA | Ks | Tb | Nb A B:EKbIDA | Ks | Tb | EKsNb 相互鉴别的常规加密改进方案的优点 信任状的过期时间Tb是相对于B的时钟。这样,这个时间戳不需要同步时钟,因为B只检查自身产生的时间戳。 A和B分别检查各自生成的现时Na和Nb,确保不是重放。 信任状的过期时间Tb的使用使得在有效时间内A又想与B建立新的会话时,双方不必重复多次与鉴别服务器联系的必要。,2. 鉴别协议,相互鉴别 相互鉴别的常规加密改进方案建立新会话的方案 A B:EKbIDA | Ks | Tb, Na B A: Nb, EKaNa A B:EKaNb 建立新会话的方案的安全保障 信任状的过期时间Tb验证报文中的票据没有过期。 新产生的现时Na和Nb将向每方保证这不是重放攻击。,2. 鉴别协议,相互鉴别 相互鉴别的公开密钥加密原始方案 A AS:IDA | IDB AS A:EKRasIDA | KUa | T | EKRasIDB | KUb | T A B:EKRasIDA | KUa | T | EKRasIDB | KUb | T | EKUbEKRaKs | T 相互鉴别的公开密钥加密原始方案特点 中心系统被称为鉴别服务器(AS),因为实际上它并不负责密钥的分配。AS实际上提供公开密钥证书。会话密钥的选择和加密由A完成;因此没有AS泄漏密钥的危险。 时间戳防止危及密钥安全的重放攻击,但需要时钟的同步。,2. 鉴别协议,相互鉴别 相互鉴别的公开密钥加密改进方案1 A KDC:IDA | IDB KDC A:EKRauthIDB | KUb A B:EKUbNa | IDA B KDC:IDB | IDA | EKUauthNa KDC B:EKRauthIDA | KUa | EKUbEKRauthNa | Ks | IDB B A:EKUaEKRauthNa | Ks | IDB | Nb A B:EKsNb 相互鉴别的公开密钥加密改进方案1特点 使用现时,不需要时钟的同步。 会话密钥由KDC代表B产生。 存在安全漏洞(步骤5)。,2. 鉴别协议,相互鉴别 相互鉴别的公开密钥加密改进方案1的改进 A KDC:IDA | IDB KDC A:EKRauthIDB | KUb A B:EKUbNa | IDA B KDC:IDB | IDA | EKUauthNa KDC B:EKRauthIDA | KUa | EKUbEKRauthNa | Ks | IDA | IDB B A:EKUaEKRauthNa | Ks | IDA | IDB | Nb A B:EKsNb,2. 鉴别协议,单向鉴别 单向鉴别的必要性 通信对象的确认通信的接收方证实发送方的身份 信息交换的机密性防止信息的篡改和泄漏,2. 鉴别协议,单向鉴别 单向鉴别的常规加密方案过程描述 A KDC:IDA | IDB | N1 KDC A:EKaKs | IDB | N1 | EKbKs | IDA A B:EKbKs, IDA | EKsM 单向鉴别的常规加密方案可能存在的攻击模式 无法防止重放攻击。由于潜在的时延,即使采用时间戳,其作用也有限。 假定X是一个对手,已经获得了一个旧的会话密钥及相应的EKbKs, IDA ,则X就可以简单地进行信息伪造。,2. 鉴别协议,单向鉴别 单向鉴别的公开密钥加密方案示意图,2. 鉴别协议,单向鉴别 单向鉴别的公开密钥加密方案描述 关心机密性 A B:EKUbKs | EKsM 方案优点 这种方法比简单地用B的公开密钥对整个报文进行加密的方法高效得多。 方案缺点 无法确认信息M来自于A。,2. 鉴别协议,单向鉴别 单向鉴别的公开密钥加密方案描述 关心鉴别 A B:M | EKRaH(M) 方案优点 保证A随后无法否认发送过该报文。 方案缺点 1. 难以防止用户X对信息M的剽窃。 X B:M | EKRxH(M) 2. 要求B知道A的公开密钥,并确信它并未过时。,2. 鉴别协议,单向鉴别 单向鉴别的公开密钥加密方案描述 鉴别和加密 A B:EKUbM | EKRaH(M) A B:EKUbKs | EKsM | EKRaH(M) 方案优点 保证A随后无法否认发送过该报文。 保证信息的安全性。 方案缺点 要求B知道A的公开密钥,并确信它并未过时。,2. 鉴别协议,单向鉴别 单向鉴别的基于数字证书的公开密钥加密方案描述 鉴别 A B:M | EKRaH(M) | EKRasT | IDA | KUa 方案优点 通过鉴别服务器的数字签名确认发方的公开密钥并验证它是可信的。 方案缺点 难以防止用户X对信息M的剽窃。 X B:M | EKRxH(M) | EKRasT | IDX | KUx,3. 数字签名标准(DSS),算法由来 美国国家标准技术研究所(NIST)已经公布了联邦信息处理标准FIPS PUB 86,即所谓的数字签名标准(DSS)。DSS利用了安全散列算法(SHA)并提出了一种新的数字签名技术,即数字签名算法。DSS最早发表于1991年,并根据公众对该体制安全性担心的反应在1993年进行了修改。1996年又进行了更进一步的小修改。 算法特征 DSS使用一个算法,该算法设计用来提供惟一的数字签名函数。不像RSA,它不能用作加密或密钥交换。然而,它是一种公开密钥技术。,3. 数字签名标准(DSS),DSS签名算法与RSA签名算法使用的差异 除了采用散列函数和私有密钥外,还需要下述2个参数: 每个报文需要一个随机数k 全局公开密钥KUG。 2. 签名值为两个数r和s,3. 数字签名标准(DSS),密钥选择 全局公开密钥选定 选择一个160 bit的素数q。 选择一个素数p,要求长度在512到1024 bit之间且(p - l)能被q整除。 选择g等于h(p 1)/q mod p,其中h是大于1小于(p - l)的整数,要求g大于l。 私有密钥选定 1到(p - l)之间的随机数或伪随机数。 公开密钥计算 y = gx mod p 每个报文的密数k选择 0 k q的随机或伪随机整数。,3. 数字签名标准(DSS),算法描述 签名算法 r = (gk mod p) mod q s = k-1(H(M) + xr) mod q 验证算法 w = (s)-1 mod q u1 = H(M)w mod q u2 = (r)w mod q v = (gu1yu2) mod p mod q 验证: v = r 其中: M, s, r = 接收到的M, s和r版本,3. 数字签名标准(DSS),算法描述等价框图 签名算法示意图 验证算法示意图,3. 数字签名标准(DSS),数字签名算法的证明 对任何整数t,若g = h(p 1)/q mod p,则gt mod p = gt mod q mod p 证明: gnq mod p = (h(p 1)/q mod p)nq mod p = h(p 1)/q)nq mod p mod p = h(p 1)n mod p mod p = (h(p 1) mod p)n mod p 因此,对非负整数n和z,有: gnq+z mod p = (gnqgz) mod p = (gnq mod p)(gz mod p) mod p = gz mod p 由于任意非负整数t可惟一表示为t = nq + z,其中n和z是非负整数,且0zq。因此z = t mod q。 因而结论成立。,3. 数字签名标准(DSS),数字签名算法的证明 对非负的整数a和b,g(a mod q + b mod q) mod p = g(a + b) mod q mod p 证明: 由于gt mod p = gt mod q mod p,因此 g(a mod q + b mod q) mod p = g(a mod q + b mod q) mod q mod p = g(a + b) mod q mod p y(nw) mod q mod p = g(xnw) mod q mod p 证明: 由于y = gx mod p,那么: y(nw) mod q mod p = (gx mod p)(nw) mod q mod p = gx(nw) mod q) mod p = g(x(nw) mod q) mod q mod p = g(xnw) mod q mod p,3. 数字签名标准(DSS),数字签名算法的证明 (H(M) + xr) w) mod q = k 证明: 由于s = (k-1(H(M) + xr) mod q。此外,由于q是素数,任何小于q的非负整数存在一个逆元,因此(kk-1)mod q = l。 (ks) mod q = (k(k-1(H(M) + xr) mod q) mod q = (k(k-1(H(M) + xr) mod q = (k (k-1(H(M) + xr) mod q = (kk-1) mod q)(H(M) + xr) mod q = (H(M) + xr) mod q 根据定义,w = s-1 mod q,(ws) mod q = 1。因此: (H(M) + xr) w) mod q = (H(M) + xr) mod q)(w mod q) mod q = (ks) mod q)(w mod q) mod q = (ksw) mod q = (k mod q)(ws) mod q) mod q = k mod q = k,3. 数字签名标准(DSS),数字签名算法的证明 v = r 证明: v = (gu1yu2) mod p) mod q = (g(H(M)w) mod qy(nw) mod q) mod p) mod q = (g(H(M)w) mod qg(xnw) mod q) mod p) mod q = (g(H(M)w) mod q+ (xnw) mod q) mod p) mod q = (g(H(M)w+xnw) mod q) mod p) mod q = (g(H(M)+xn)w) mod q) mod p) mod q = (gk mod p) mod q = r,3. 数字签名标准(DSS),算法特点 r 的值不依赖于报文,r是k和三个全局公开密钥分量的函数。 签名时要计算(gk mod p) mod q。因为这个值不依赖于要签名的报文,可预先计算出来,因此,用户可以预先计算出许多r值以备用于文档的签名。 另一个需要完成的工作只是确定逆元k-1,这
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 重庆市消防救援总队直属单位政府专职消防员招聘考试真题2025
- 晶状体碎核器miLOOP在硬核白内障手术中规范化专家共识总结2026
- 2026年小学三年级数学第二学期期末考试卷及答案(二十)
- 气道腔内球囊封堵治疗咯血专家共识2026
- 超声介入穿刺活检与消融定位
- 2026年电商合作协议书模板三篇
- 2023年超声波干式清洗设备企业组织架构及部门职责
- 幼儿园小班点数糖的
- 主动脉夹层CTA三维重建评估
- (新)《总有一天会长大》测试题及答案2篇
- 2026年山东定期医师考核题库及答案
- 2026内蒙古乌海市国创数字产业发展有限责任公司招聘15人考试备考题库及答案解析
- 2026年济南商标审查协作中心招聘(10名)考试参考试题及答案解析
- ERCP诊疗指南课件
- 2026年高一历史学业水平考试知识点归纳总结(复习必背)
- 2026年华远国际陆港集团校园招聘(122人)笔试参考题库及答案解析
- 2025年国企档案专员《档案管理知识》真题及答案解析
- 国家事业单位招聘2025中国文联所属单位公开招聘笔试历年参考题库典型考点附带答案详解
- 2026天津市河北区产业发展集团有限公司社会招聘工作人员3人考试备考题库及答案解析
- 2026年四川省事业单位考试真题及答案
- 2026中国兵器审计中心(西安中心)招聘(5人)笔试参考题库及答案解析
评论
0/150
提交评论