电子商务安全课件1第2章2.5.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
带有保密性要求的数字签名方案 * 发送方A 接收方B 对称 密钥 消息 摘要 ? 明 文 对称 密钥 密 文 ? ①加密 A的公钥 ②解密 B的 公钥 ②加密 ? 密 文 ? B的 私钥 ①解密 ? 数字信封密 消息 摘要 ? 明 文 实现同时签名和加密的要求 注意:带有保密性的数字签名使用了两对公私钥。因为公钥密码体制如果作为数字签名使用,则无法同时实现保密性,反之如果作为加解密使用,则无法同时实现签名。 如果要用公钥密码体制同时实现数字签名和加密,则需要使用两次公钥密码算法,一次用于加密,一次用于签名。 这需要两对公私钥才能实现,一对是发送方的,一对是接收方的。 * 本节提纲 2.8.1 数字签名的特点 2.8.2 数字签名的过程 2.8.3 数字签名的算法实现 2.8.4 特殊的数字签名 * 数字签名的算法实现 理论上讲,只要是双向可逆的公钥加密算法都能用于实现数字签名,常见的算法有RSA、ECC、ElGamal。 如果用RSA算法实现数字签名,一定要先对消息求消息摘要,再用私钥签名;或者签名的密钥对专门用于签名,而用另外一对公/私钥对进行加/解密 * 对RSA数字签名的攻击 这是因为,你的公钥e和n是公开的,攻击者如果截获别人发给你的密文c(c是别人用你的公钥加密得到的,即c=me mod n),则攻击者可以任意选择一个小于n且与n互素的数r,计算: x = r e mod n y = x × c mod n 将y发给你请你签名,如果你随随便便就用自己的私钥d给他发来的y签名,即: u=y d mod n * 对RSA数字签名的攻击 则攻击者得到签名u后,就可以轻而易举地恢复出c对应的明文m。他首先计算r的乘法逆元t,即t = r –1 mod n,再把t和u相乘即得到m,这是因为: t × u = r –1 × y d mod n= r –1 × (x × c) d mod n = r –1 × x d × c d mod n = r –1 × r e d × c d mod n = r –1 × r kφ(n)+1× c d mod n = r –1 × r × c d mod n = c d mod n = m * DSA(Digital Signature Algorithm DSA(Digital Signature Algorithm)。DSA是一种单向不可逆的公钥密码体制,它只能用于数字签名,而不能用于加密解密和密钥分配。 DSA在每次签名时候,使用了随机数,所以对同一个消息签名,每次签名的结果是不同的。所以称DSA的数字签名方式为随机化数字签名,而RSA的数字签名方式为确定性数字签名。 由于RSA存在共模攻击,用RSA签名每次都要使用不同的n,而DSA没有这个需要,因此在实际中DSA签名比RSA签名更加方便 * 2.8.4 EIGamal数字签名算法 ElGamal数字签名算法是一种非确定性地签名方案,它需要使用随机数,但ElGamal数字签名算法的运算过程并非是ElGamal加密算法的逆过程。 签名方A对消息M进行散列压缩后得到消息散列码H(M),再计算: r=ak mod p s=(H(M)-x ? r)k-1 mod (p-1) 将(r, s)作为用户A对消息M的数字签名,与消息M一起发送给接收方 * 2.8.4 EIGamal数字签名算法 3. 验证签名的过程 接收方B在收到消息M与数字签名(r, s)后,先计算消息M的散列码H(M)。然后计算: 如果上式成立,则可确信(r, s)为有效签名,否则认为签名是伪造的。 * 2.8.6 前向安全数字签名 公钥密码体制的安全性基于私钥不会被窃取这一假设 私钥不会在Internet上传输,很难被窃取,所以该假设在一般情况下是成立的 但是,对于银行来说,一旦私钥被窃取,则银行以前用其私钥签名发行的电子现金就都作废了。 前向安全签名是指,如果当前的签名私钥泄露,攻击者也不可能伪造以前的签名,实现的途径(私钥是经常变化的) * 前向安全数字签名 前向安全的基本思想:在普通数字签名算法中添加密钥进化算法。密钥进化算法将私钥的生命期分为T个阶段,公钥在这T个时间段总保持不变,而私钥随着时间段的推进而不断更新。 具体实现:散列链…… * SK1 SK0 阶段2 阶段1 阶段T SK2 … SKT … f f f f 签名私钥: PK || Ti 验证:公钥+时间段编号 强前向安全的概念 问题:如果攻击者获得了第i时间段的私钥,并且签名方也没有发觉自己的私钥已经被窃取,那么攻击者就可以跟签名方一样进行私钥的更新,得到i时间段以后的所有私钥。 有了这些私钥就可以伪造i时间段及i时间段以后的所有签名,直到被签名者发现。 前向安全签名无法保证签名在将

文档评论(0)

酱酱 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档