图文解说:什么是数字签名

来源:互联网 发布:php企业网站模板 站长 编辑:程序博客网 时间:2024/04/28 09:28

图文解说:什么是数字签名

数字签名简介 By David Youd

前言

         最近在在网上浏览SSL协议加密有关的文章时,越感对“数字签名”产生了不小的困惑。直接搜索“什么是数字签名”,发现了这篇早期文章:

http://www.youdzone.com/signature.html,很早,但是依旧耐人寻味。在网贴上也找到了相关的翻译:http://www.ruanyifeng.com/blog/2011/08/what_is_a_digital_signature.html。读了下来,觉得它这个翻译其实只是义译,连“故事情节”都变动不少,于是就自己动起手来,于是就有了本文..


译文

        Bob有两把钥匙,一把被称作公共钥匙,即公钥;另一把则被称作私钥。

     

        Bob的公钥对于需要它的任何人都能得到,但是他的私钥则自己保留。密钥(公钥和私钥)是用来加密信息的。加密信息的过程意味着“混淆打乱”,以至于只有拥有合适密钥的人才能将其再次变得可读。Bob的两把钥匙中,任何一把用来加密数据,另一把就能解密数据。

      

        Susan(如下展示)用Bob的公钥加密了一条信息发给Bob,Bob则用私钥来解密信息进行读取。Bob的任一同事可能都可以拿到Susan已经加密的信息,但是没有Bob的私钥,这些数据都是没用的。

    

        利用他的私钥和适当的软件,Bob放置了数字签名在文档和一些数据中。这个数字签名是Bob放在数据中的,是对于Bob而言唯一的“标识”,是非常难以捏造的。并且,这个签名能够确保当数据发生任何变动时都会被发现。
对文档签名时,Bob的软件会将数据揉碎压缩成仅仅几行,这个过程被称为“HASH校验”,形成的几行则被称作信息的摘要。(直接将信息摘要还原成原始的数据信息是不可能的)

      

       然后Bob的软件再利用他的私钥加密信息的摘要,这个结果就是数字签名。

     

     最后,Bob的软件将这个数字签名与信息文档放在一块。所有的数据已经被有所标识了。
    

     现在Bob把文档传递给了Pat。



Plot 纠结ing..(悲剧,没故事...)

 
       碰巧的是,Suan工作在公司的CA中心(证书认证),Susan可以对Bob的公钥和他的一些资料信息一并签名,简单地为Bob制作一个数字证书。

    

        现在Bob的同事能够通过检测Bob受信任的证书来确保他们拥有的公钥确实是Bob的。事实上,Bob公司中没有人会接受没有Susan生成证书的那个签名。这个就给了Susan撤销私钥被泄露的数字证书的权利,而这几乎是不太可能的。Susan的CA证书验证则被广泛的接受。
我们接着说Bob把已经签名的文档发给了Pat。为了验证在文档上的数字签名,Pat首先借助软件用Susan(即CA)的公钥来检测Bob文档上的证书。如果顺利解开了证书则证明是Susan生成的它。解开证书之后,Pat可以通过联系CA中心,与Bob证书上的信息对照,以检查文档是否被修改过。
然后,pat从证书中拿到Bob的公钥,用它来检测Bob的签名。如果Bob的公钥能够顺利解开签名,Pat就可以确定这个签名是利用Bob的私钥生成的,同时也匹配了Susan颁发的证书公钥。并且,如果签名是对照的,也说明了Doug不可能修改了文档内容。
尽管,这些步骤看起来挺让人头疼的,它们却以Pat有关的用户友好的软件场景手把手似的。验证签名信息,Pat只需点击下图:
                                                                 

                                                                        (图为验证数字证书的标识)


有关下载

链接: http://pan.baidu.com/s/1qWNrSZy 密码: vsi1


1 0
原创粉丝点击