• 看图片 读故事:轻松理解数字签名和数字证书(转)


    转自:http://netsecurity.51cto.com/art/201108/287971.htm

    本文用图片通俗易懂地解释了,"数字签名"(digital signature)和"数字证书"(digital certificate)到底是什么。对这些问题的理解,一直是模模糊糊的读者们,很多细节可能搞不清楚。相信你读完这篇文章后,发现思路一下子就理清了。

    数字签名是什么?

    1.

    看图片 读故事:轻松理解数字签名和数字证书

    鲍勃有两把钥匙,一把是公钥,另一把是私钥。

    2.

    看图片 读故事:轻松理解数字签名和数字证书

    鲍勃把公钥送给他的朋友们----帕蒂、道格、苏珊----每人一把。

    3.

    看图片 读故事:轻松理解数字签名和数字证书

    苏珊给鲍勃写信,写完后用鲍勃的公钥加密,达到保密的效果。

    4.

    看图片 读故事:轻松理解数字签名和数字证书

    鲍勃收信后,用私钥解密,看到信件内容。

    5.

    看图片 读故事:轻松理解数字签名和数字证书

    鲍勃给苏珊回信,写完后用Hash函数,生成信件的摘要(digest)。

    6.

    看图片 读故事:轻松理解数字签名和数字证书

    然后,鲍勃使用私钥,对这个摘要加密,生成"数字签名"(signature)。

    7.

    看图片 读故事:轻松理解数字签名和数字证书

    鲍勃将这个签名,附在信件下面,一起发给苏珊。

    8.

    看图片 读故事:轻松理解数字签名和数字证书

    苏珊收信后,取下数字签名,用鲍勃的公钥解密,得到信件的摘要。由此证明,这封信确实是鲍勃发出的。

    9.

    看图片 读故事:轻松理解数字签名和数字证书

    苏珊再对信件本身使用Hash函数,将得到的结果,与上一步得到的摘要进行对比。如果两者一致,就证明这封信未被修改过。

    10.

    看图片 读故事:轻松理解数字签名和数字证书

    复杂的情况出现了。道格想欺骗苏珊,他偷偷使用了苏珊的电脑,用自己的公钥换走了鲍勃的公钥。因此,他就可以冒充鲍勃,写信给苏珊。

    11.

    看图片 读故事:轻松理解数字签名和数字证书

    苏珊发现,自己无法确定公钥是否真的属于鲍勃。她想到了一个办法,要求鲍勃去找"证书中心"(certificate authority,简称CA),为公钥做认证。证书中心用自己的私钥,对鲍勃的公钥和一些相关信息一起加密,生成"数字证书"(Digital Certificate)。

    12.

    看图片 读故事:轻松理解数字签名和数字证书

    鲍勃拿到数字证书以后,就可以放心了。以后再给苏珊写信,只要在签名的同时,再附上数字证书就行了。

    13.

    看图片 读故事:轻松理解数字签名和数字证书

    苏珊收信后,用CA的公钥解开数字证书,就可以拿到鲍勃真实的公钥了,然后就能证明"数字签名"是否真的是鲍勃签的。

    14.

    看图片 读故事:轻松理解数字签名和数字证书

    下面,我们看一个应用"数字证书"的实例:https协议。这个协议主要用于网页加密。

    15.

    看图片 读故事:轻松理解数字签名和数字证书

    首先,客户端向服务器发出加密请求。

    16.

    看图片 读故事:轻松理解数字签名和数字证书

    服务器用自己的私钥加密网页以后,连同本身的数字证书,一起发送给客户端。

    17.

    看图片 读故事:轻松理解数字签名和数字证书

    客户端(浏览器)的"证书管理器",有"受信任的根证书颁发机构"列表。客户端会根据这张列表,查看解开数字证书的公钥是否在列表之内。

    18.

    看图片 读故事:轻松理解数字签名和数字证书

    如果数字证书记载的网址,与你正在浏览的网址不一致,就说明这张证书可能被冒用,浏览器会发出警告。

    19.

    看图片 读故事:轻松理解数字签名和数字证书

    如果这张数字证书不是由受信任的机构颁发的,浏览器会发出另一种警告。

    20.

    看图片 读故事:轻松理解数字签名和数字证书

    数字证书如果是可靠的,客户端就可以使用证书中的服务器公钥,对信息进行加密,然后与服务器交换加密信息。

  • 相关阅读:
    Aurora 数据库支持多达五个跨区域只读副本
    Amazon RDS 的 Oracle 只读副本
    Amazon EC2 密钥对
    DynamoDB 读取请求单位和写入请求单位
    使用 EBS 优化的实例或 10 Gb 网络实例
    启动 LAMP 堆栈 Web 应用程序
    AWS 中的错误重试和指数退避 Error Retries and Exponential Backoff in AWS
    使用 Amazon S3 阻止公有访问
    路由表 Router Table
    使用MySQLAdmin工具查看QPS
  • 原文地址:https://www.cnblogs.com/beijia/p/DigitalSignature.html
Copyright © 2020-2023  润新知