`

HTTP协议:签名和证书(一个故事)

阅读更多

以一个形象的小例子来解释数字签名和数字证书。

Bob有两把钥匙,一把叫公钥,一把叫私钥。他把公钥发送给所有想和他通讯的人,私钥自己留着。公钥和私钥之间有这样的对应关系:用公钥加密过的信息只有对应的私钥才能解开。所以了,所有想和Bob发消息的人,比如Susan,他在和Bob发消息之前,先用Bob的公钥加密消息内容,然后再发送,Bob接受到密文之后,用自己的私钥解开密文。借助公钥和私钥的设计,彻底解决了通讯窃ting的问题。

虽然公钥和私钥的设计解决了窃ting问题,但是接下来,Bob又有了新问题,因为坏人Lucy来了,Lucy承认自己就算得到Susan发给Bob的消息,也无法得知其内容(因为他无法解密),所以他换了个思路。于是他开始等待机遇,有一天,Bob睡着了,但是Susan要和Bob发消息,这个时候,Lucy装着自己是Bob,把自己的公钥发给了Susan,Susan拿到Lucy的公钥后,和往常一样,发送消息给自己心中的Bob,当然,Lucy装逼装的很正,他等到Susan发来的消息后,用自己的私钥解密,成功得到了Susan的消息。

后来,Bob发现Lucy老是能提前知道他和Susan的约会,并且还知道自己的银行卡密码。和Susan私下沟通后,他发现,Lucy在自己睡觉的时候伪装成自己骗取Susan的信任。Bob很气愤,当时就报警了。警察了解情况后,喷了俩字:活该。Bob一头雾水、满头大汗的听了警察叔叔的解释:你为什么不办身份证,有了身份证在你和Susan交互时,Susan可以先看看你的身份证,你的身份证信息里包含你的姓名、住址、公钥信息、有效期等,通过身份证Susan就可以确定你的身份。这样Lucy哪有空子可钻?你这黑户,还报警,不处罚你就高香吧。赶紧办证!

从警局出来,Bob清醒了,原来自己一直没找组织,一直不信任组织,一直…….。两天后,身份证办好了,Bob和Susan又开始悄悄话了,甚是惹人嫉妒!Lucy看在眼里,火在心里。但是Lucy又能怎么办,谁让人家找组织了?

Lucy这段时间一直很烦,直到那天他踏上西直门的那个过街天桥。桥上赫然印着的小广告吸引了他:办证 132XXXXXXX,一下子,他就有想法了。晚上回到家,他拨通了那个早已烂记于心的电话号码,办了一张假证,不用猜,假证的信息肯定和Bob一样。第二天,他就去Susan家门口,等Susan要和Bob发消息的时候,他就告诉Susan,我是Bob,你看这是我的身份证。Susan一检查,没问题,是她亲爱的Bob。顺其自然的,他又把悄悄话告诉了Lucy。

时间过的很快,马上就到了2013年,公安局通知,第一代身份证作废,开始办理第二代身份证。第二代身份证主要是为了打击假证分子,在身份证上加入了公安局的签名信息,也就是防伪标志。有了防伪标志,Lucy又开始哭去了,因为Susan一看他的身份证,就是假的,哪会相信他。

Susan和Bob从此恩恩爱爱,幸福生活着,再也不用担心Lucy来捣乱了!

分享到:
评论

相关推荐

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

    《看图片 读故事:轻松理解数字签名和数字证书》一文通过生动的故事和直观的图像,深入浅出地解析了数字签名与数字证书的概念及其工作原理,为读者提供了清晰的思维导图,帮助理解这一复杂的IT安全领域知识。...

    最新苹果签名证书+苹果签名w系统免费工具.zip

    这个压缩包文件包含了最新的苹果签名证书和一个名为“苹果签名W系统”的免费工具,这对于iOS开发者或者需要在企业内部部署应用的组织来说尤其重要。 首先,我们来详细了解一下苹果签名证书。在iOS平台上,所有安装...

    android https遇到自签名证书/信任证书

    另一种方法是在运行时临时信任一个自签名证书,但这种方法仅适用于调试和测试环境,不推荐在生产环境中使用。 四、信任证书管理 对于非权威CA签发的证书,可以将其导入到Android设备的信任库中。这通常需要设备管理...

    Nginx配置SSL自签名证书的方法

    接下来,我们需要配置Nginx以使用这个自签名证书: 1. **检查Nginx是否支持SSL**:运行`nginx -V`,如果输出中包含`--with-http_ssl_module`,说明Nginx已经编译了SSL支持。如果没有,需要重新编译Nginx并添加`--...

    轻松理解数字签名和数字证书

    数字签名是一种用于验证电子文档完整性和来源的技术手段,常被应用于电子商务、电子政务以及其他需要确保信息安全传输的领域。数字签名通过加密技术实现,具体流程如下: 1. **密钥对生成**:用户(如文中提到的...

    数据签名和证书

    数据签名和证书是网络安全领域中的重要概念,它们在确保数据的完整性和身份验证方面发挥着关键作用。本文通过直观的示例,清晰地解释了这两个概念。 数字签名是一种基于公钥加密技术的安全机制,用于验证信息发送者...

    Java实现浏览器CA证书的签名和验证

    在Java中,可以使用keytool工具来生成自签名证书,或者生成CSR(证书签名请求)提交给CA机构获得正规的数字证书。在实现数字证书的签名和验证过程中,Java提供了一系列用于操作X.509证书的API,如java.security.cert...

    HTTP中的证书以及签名

    HTTP中的证书和签名机制主要涉及网络安全,特别是HTTPS协议,用于保障网络通信的隐私性和完整性。在HTTP中,尤其是转向HTTPS时,证书和签名是确保数据安全传输的关键元素。 1. **非对称加密机制**:非对称加密是...

    本地数字签名证书SSL

    本地数字签名证书SSL是网络安全领域中的一个重要概念,用于在互联网上建立安全的通信环境,特别是对于涉及敏感数据传输的应用如在线购物、网银服务等。SSL(Secure Socket Layer)是安全套接层的缩写,它通过加密...

    基于自签名隐式证书的认证密钥协商协议研究.pdf

    在协议执行过程中,双方通过交换ECQV自签名隐式证书,验证对方身份,然后协商出一个共享密钥,用于后续数据的加密传输。由于ECQV证书的数据量小于传统证书,因此在带宽占用、计算效率和内存需求方面都有显著优势。 ...

    数字签名证书,数字签名证书是什么

    数字签名证书是网络安全领域中的一个重要概念,它在保护网络数据传输、验证软件来源以及确保信息完整性方面发挥着关键作用。简单来说,数字签名证书是一种电子凭证,由权威的证书颁发机构(CA)颁发,用于证明一个...

    java数字签名(签名生成,用证书验证签名)[定义].pdf

    "java数字签名和证书应用" 数字签名是指使用某种签名算法对某些内容进行数字签名后得到的数字凭证。...数字签名和证书应用在电子商务安全交易中有着广泛的应用,例如在 SSL 和 SET 协议中都有重要的应用。

    加密 RSA 数字签名 数字证书 实例

    数字签名并非手写的签名,而是通过一个算法对消息进行哈希运算,然后用私钥对哈希值进行加密,形成数字签名。接收方可以用发送方的公钥对数字签名进行解密,再对比原文的哈希值,如果一致,则证明信息未被篡改且确实...

    面向云服务的安全高效无证书聚合签名车联网认证密钥协商协议.pdf

    总体而言,面向云服务的无证书聚合签名车联网认证密钥协商协议,针对当前车联网认证协议存在的不足,提出了一种具有高效认证性能、低系统开销和良好安全性的新方案,该方案对于推动车联网技术的发展和应用具有重要...

    公钥私钥加密解密数字证书数字签名详解.docx

    - 请求者创建一个证书请求文件,其中包含公钥和一些身份信息。 - 请求者将证书请求文件提交给CA。 - CA 验证请求者身份后,使用自己的私钥对请求者提供的公钥进行签名,并生成数字证书。 **2. 数字证书的验证...

    authenticode.zip代码签名ca证书工具

    2. MakeCert:这是微软提供的一个命令行工具,用于创建测试用的自签名证书或者证书请求。在开发阶段,开发者通常会使用MakeCert创建临时的代码签名证书,以便在正式发布前测试签名流程。 使用这些工具制作CA证书的...

    ocx的ssl自签名证书实现

    在IT行业中,安全是至关重要的一个环节,尤其是在网络通信中。...总的来说,自签名证书和OCX控件签名是IT安全实践中常见的技术,尤其在开发和测试阶段。了解并掌握这一过程,有助于提升软件的安全性和用户的信任度。

Global site tag (gtag.js) - Google Analytics