为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

[论文]网络安全密匙

2017-09-28 5页 doc 18KB 18阅读

用户头像

is_624976

暂无简介

举报
[论文]网络安全密匙[论文]网络安全密匙 网络安全密匙 网络安全密匙 公用密钥加密技术使用不对称的密钥来加密和解密,每对密钥包含一个公钥和一个私钥,公钥是公开,而且广泛分布的,而私钥从来不公开,只有自己知道。 用公钥加密的数据只有私钥才能解密,相反的,用私钥加密的数据只有公钥才能解密,正是这种不对称性才使得公用密钥密码系统那么有用。 使用公用密钥密码系统进行认证 认证是一个验证身份的过程,目的是使一个实体能够确信对方是他所声称的实体。 下面用简单的例子来描述如何使用公用密钥密码系统来轻易的验证身份。 注:下面的 key 表示some...
[论文]网络安全密匙
[论文]网络安全密匙 网络安全密匙 网络安全密匙 公用密钥加密技术使用不对称的密钥来加密和解密,每对密钥包含一个公钥和一个私钥,公钥是公开,而且广泛分布的,而私钥从来不公开,只有自己知道。 用公钥加密的数据只有私钥才能解密,相反的,用私钥加密的数据只有公钥才能解密,正是这种不对称性才使得公用密钥密码系统那么有用。 使用公用密钥密码系统进行认证 认证是一个验证身份的过程,目的是使一个实体能够确信对方是他所声称的实体。 下面用简单的例子来描述如何使用公用密钥密码系统来轻易的验证身份。 注:下面的 key 表示something 已经用密钥 key 加密或解密。 1. 加密解密雏形 假设A要认证B,B有一个密钥对,即一个公钥和一个私钥,B透露给A他的公钥(至于他是怎么做的将在以后讨论)。然后A产生一段随机的消息,然后把它发给B。 A-->B random--message B用自己的私钥来加密这段消息,然后把加密后的消息返回给A。 B-->A B's--private--key A接到了这段消息,然后用B以前发过来的公钥来解密。她把解密后的消息和原始的消息做比较,如果匹配的话,她就知道自己正在 和B通信。一个入侵者应该不知道B的私钥,因此就不能正确的加密那段A要检查的随机消息。 2. 数字签名 除非你确切的知道你在加密什么,否则用你的私钥加密一些东西,然后发给别人永远不是一件好事。这是因为加密后的数据可能会背叛你(记住,只有你能加密,因为只有你才有密钥)。 所以,我们不加密A 发送的原始消息,取而代之的是,由B构造一个消息摘要,然后加密它。消息摘要是从随机消息中以某种方式提取出来的,并且具有以下特点: - 摘要很难逆转,任何假冒B的人不能从摘要得到原始消息 - 假冒者无法找到具有相同摘要的不同消息 通过使用摘要,B能够保护自己。他首先计算出A发给他的随机消息的摘要并加密,然后把加密后的摘要返回给A,A可以计算出相同的摘要,通过解密B的消息然后对比一下就可以认证B的身份。 这个过程就是传说中的数字签名。 A-->B hello,are you B? B-->A A,This Is B{digest[A,This Is B]}B's-private-key 当B使用这个的时候,他知道自己发给A的是什么消息,并且不介意签名。他首先发送没有加密的消息“A,This Is B” 然后发 送加密的摘要。A能够轻易的判断B是B,并且B没有签任何他不愿意签的东西。 3. 分发公钥与证书 B如何以一种可信赖的方式分发他的公钥呢,我们假设认证协议 是这个样子的: A-->B hello B-->A Hi, I'm B, B's-public-key A-->B prove it B-->A A, This Is B{ digest[A, This Is B] } B's-private-key 如果使用这个协议的话,任何人都可以是B。你需要的只是一个公钥和私钥,你跟A慌称你是B,接着你用自己的公钥代替B的公钥,然后你通过用你的私钥加密的东西来证明,这样A就不能分辨出你不是B。 为了解决这个问化组织发明了一个叫做证书的东西,一个证书包括下面的一些内容: - 证书发行者的名字 - 证书发送给的团体 - 主题的公钥 - 一些时间戳 证书是由证书发行者的私钥签名的,每个人都知道证书发行者的公钥(即证书发行者有一个证书,等等)。证书是一种把公钥绑定到名字的标准方式。 通过使用证书这种技术,每个人都可以通过检查B的证书来判断B是不是伪造的。假设B严格的控制着他的私钥,并且的确是b得到了他的证书,那么一切都好。下面是补偿协议: A-->B hello B-->A Hi, I'm B, B'S-certificate A-->B prove it B-->A A, This Is B{ digest[A, This Is B] } B's-private-key 当A收到B的第一条消息,她可以检查证书,核实签名(如上,使用摘要和公钥加密),然后,核实主题(B的名字)来判断那是不是真的B。这样她就相信公钥是B的公钥,然后要求B证明他的身份。B则重新进行一次上面的相同过程,计算消息的摘要,签名之后发给 A,A可以用从证书得到的公钥检查B的消息摘要,从而判断B的身 份。 4. 防止数据篡改与消息认证码 假设有个坏家伙H,虽然不能发现A和B交换的秘密,但是他可 以干预并且破坏他们的对话。 举例来说,如果H位于A和B之间,他可以选择让大多数的消息 返回以及向前继续传输没有改变,但是破坏了特定位的消息。 A-->H hello H-->B hello B-->H Hi, I'm B, B's-certificate H-->A Hi, I'm B, B's-certificate A-->H prove it H-->B prove it B-->H A, This Is B{ digest[A, This Is B] } B's-private-key H-->A A, This Is B{ digest[A, This Is B] } B's-private-key A-->H ok B, here is a secret B's-public-key H-->B ok B, here is a secret B's-public-key B-->H {some message}secret-key H-->A Garble[ {some message}secret-key ] H一直让数据没有改变的通过,直到A和B分享一个秘密。然后 H通过改变B发送给A的消息来进入这个方式中。这时候A是相信B 的,因此她就可能相信这个改变的消息,然后按照它来做。注意H并 不知道这个秘密-他能做的所有事就是破坏用这个秘密的密钥加密的 数据。他可能不能利用这个协议制造出一条有效的消息,但是下一次, 他可能会幸运一点。 为了防止这种破坏,A和B在他们的协议中引入了一种消息认证码(MAC)。MAC是根据秘密的密钥和传输的数据计算出来的,上面描述的摘要算法的属性正好可以用于构造抵抗H的MAC功能。 MAC := Digest[ some message, secret ] 因为H不知道这个秘密的密钥,所以他无法计算出这个摘要的正确数值。即使H随机的改变消息,如果摘要数据很大的话,他成功的可能性也很小。举例来说,通过使用MD5,A和B能和他们的消息一起发送128位的MAC值。H猜中这个正确的MAC值的几率是 18,446,744,073,709,551,616 分之1。 下面是协议,又订正了一次: A-->B hello B-->A Hi, I'm B, B's-certificate A-->B prove it B-->A {digest[A, This Is B] } B's-private-key ok B, here is a secret B's-public-key {some message,MAC}secret-key H现在有麻烦了,H可以改变任何的消息,但是MAC的计算将揭露他的欺诈行为。A和B能发现伪造的MAC值并停止会话,H就不能伪造B的消息了。 但是这样同样不能防范H鹦鹉学舌。如果H了会话的过程,他虽然可能不知道会话的内容,但是他可以重放这些会话。实际上,H能在A和B之间做一些真正龌龊的事。
/
本文档为【[论文]网络安全密匙】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索