加密传输SSL协议6_验证公钥
如上图所示,我怎么能确定我手里的公钥就是我心中的接收方的公钥呢?怎么防止被钓鱼呢?
解决的办法就是引入一个第三方,一个权威机构,一个我们都相信的机构。
验证公钥,Digital Certificate
显然,这不是一个用技术所能解决的问题,很好的解决办法就是建立一个中介,我们所有的人都相信这个中介,中介对接收方的公钥的合法性进行认证,在接收方的公钥上签名,这样发送方在相信中介的基础上就能安全的给接收方发送信息了。
具体的做法就是:中介要求接收方在他这里注册,验证其公钥,然后中介对接收方的公钥进行签名,也就是中介用自己的私钥对接收方的公钥进行加密。然而中介的公钥是众所周知,任何人都知道,不会被任何人假冒的,发送方如果能用中介的公钥认证这份证书,就证明里面的接收方的公钥是注册过的,是合法的。就能安全的给接收方发送信息了。
也即是说如果我们想给某个人发送信息,必须得到他的公钥,但是为了防止钓鱼,这个公钥必须得被我们相信的中介签名后才是安全的。
注意:这个证书仍是通信双方通信时,接收者给出的,不同的是这个证书已经被我们相信的中介签过名。
这里面用到了哈希函数的知识,因为非对称加密对大的数据加密速度很慢,所以通常的做法是把接收方的公钥和DN这个字符串组合成同一个文件,生成其相应的哈希值,然后中介只需要对这个哈希值进行签名,发送方在给接收方发送数据时,只对哈希值进行认证,就能核对公钥和DN的值是否合法。一张数字证书包含接收方的公钥、DN信息、签过名的哈希值。
一张数字证书的前两部分是我们需要的接收方的信息,DN是distinguished name,就是接收方的ID。那么我们怎么确信这个ID和这把公钥是真的对应关系呢?那么就要看下面的签过名的哈希值(特征码)。
CA的签名过程:首先接收方要在CA那里主存,当然这不是免费的,然后CA把接收方的DN和他的公钥打包。然后对打包后的文件Hash一下,产生其特征码。CA用自己的私钥对特征码加密(签名)。然后把这三个东西给接收方,注册完成。
发送方的验证过程:在通信开始的阶段,发送方为了加密传输问接收方要其公钥,同时为了防止钓鱼,还应给出DN信息和CA签过名的哈希值。发送方把公钥和DN信息打包,然后用和CA同样的算法得到其Hash值,然后用CA的公钥解密接收方给的Hash值,对比两个Hash值,如果相同,那么就是合法的。
加密理论告一段落,下面介绍SSL相关的知识。
加密传输SSL协议6_验证公钥的更多相关文章
- 加密传输SSL协议7_SSL协议概述
SSL(Secure Sockets Layer) SSL的功能,可以在通信的双方中建立一个加密的通信通道 同时还可以确认通信的双方是不是就是其声称的人,防止被钓鱼. SSL在网络协议栈中的位置:可以 ...
- 加密传输SSL协议8_Apache服务器的安装
学习了那么多的理论的知识,下面通过在Apache服务器中安装和使用SSL协议,实现安全传输,但是首先要安装好Apache服务器. Apache服务器的安装 Linux下所有的软件的原码的安装都是三部曲 ...
- 加密传输SSL协议5_Hash Function
怎么对一个大的文件进行签名,因为文件比较大,非对称签名很慢.那么想,我能把这个大的文件通过一种函数变换,变成一个和源文件唯一对应的的小的文件吗?答案是可以的. Hash Function 这里任何的文 ...
- 加密传输SSL协议4_综合方案
隔了那么多天终于有时间继续把这个专题做完了,这次一定连续写完这方面的笔记. 上篇博文说明了非对称加密和对称加密各自的优缺点,那么就很自然的衍生出了一种综合的方案. 两种方案的结合--扬长避短 首先发送 ...
- 加密传输SSL协议1_OpenSSL的安装
终于在自己不断的奋斗之后,来到科大的一波考试过去了,但是为了不使自己过于放松,回顾一下之前的东西,做一下笔记.所以新开一个专题笔记: Using Apache with SSL 引入:首先我们在平时的 ...
- 加密传输SSL协议2_传统加密
原本到了睡觉的时间,但是做完了SSL的笔记还有GCC和Oracle等的好多的笔记,所以刻苦一点. The Priciple of Encryption/Decryption --conventiona ...
- 加密传输SSL协议3_非对称加密
困死了,这里对非对称加密体系开个头,具体的实验明天写 非对称加密体系 为了解决对称加密中密钥的传输的问题,一些天才的数学家就提出了非对称式的加密体系,也称为公钥加密体系. 加密和解密的密钥是不同的.一 ...
- 学习笔记: MD5/DES/RSA三类加密,SSL协议解析
1. 不对称可逆加密的 的2种用法 (1)保证信息不被篡改 (2) 保证信息只能被我看到 2. CA证书的基本原理 流程如下: 百度公司 向CA机构报备 持有者姓名, 有效期, 要发布的公钥 , 扩 ...
- HTTPS(身披SSL协议的HTTP)
参考链接: HTTP 与 HTTPS 的区别 HTTPS科普扫盲帖 HTTPS小结 HTTP 和 HTTPS 区别 HTTP是明文传输未加密,安全性差,HTTPS(HTTP + SSL)数据传输是加密 ...
随机推荐
- MVC3.0修改jquery.validate.unobtrusive.js实现气泡提示mvc错误
CSS部分 <style type="text/css"> .hide {display:none;} .poptip { position: absolute; to ...
- 自己动手写处理器之第四阶段(1)——第一条指令ori的实现
将陆续上传本人写的新书<自己动手写处理器>(尚未出版),今天是第11篇,我尽量每周四篇 第4章 第一条指令ori的实现 前面几章介绍了非常多预备知识,也描绘了即将要实现的OpenMIPS处 ...
- 关于 HTML5 的 11 个让人难以接受的事实
HTML5为Web开发者提供了很多强大的新特性,但是它的一些特定的限制会让它无法和本地应用匹敌. HTML5整合进了很多新的特性,并且有可能提升Web编程模式.和每一个阅读技术资讯的人所知道的一样,没 ...
- 使用Devexpress中的CharControl控件,需要控制AxisY轴的显示范围,需要使用该控件的BoundDataChanged事件
一.控制ChartControl的Y轴范围 使用Devexpress中的CharControl控件,需要控制AxisY轴的显示范围,需要使用该控件的BoundDataChanged事件,具体代码如下: ...
- ChildNodes详解及其兼容性处理方式
写在前面:在做insertBefore插入节点练习时发现一个问题,插入childNodes[0]和childNodes[1]时插入的位置是一样的!于是有了childNodes的了解,有了这篇文章,欢迎 ...
- asp.net 导出excel文件
之前做过winfrom程序的导出excel文件的功能,感觉非常简单.现在试着做asp.net中导出excel的功能,之前用的是Microsoft.Office.Interop.Excel这个对象来实现 ...
- win server 2003 将MBR转为GPT突破硬盘2TB的限制(附微软磁盘科普)
备注:https://technet.microsoft.com/zh-cn/library/cc773223.aspx GUID 分区表 与支持最大卷为 2 TB (terabytes) 并且每个磁 ...
- 如果ie6跳转
try { (function(e) { /i.test(navigator.userAgent)) { window.location = "jump.html"; return ...
- php抽象类与接口的区别
1.对接口的使用是通过关键字implements.对抽象类的使用是通过关键字extends.当然接口也可以通过关键字extends继承. 2.接口中不可以声明成员变量(包括类静态变量),但是可以声明类 ...
- 【翻译】MVC Music Store 教程-概述(一)
MVC Music Store教程介绍和说明了如何一步步的用ASP.NET MVC 和Visual Web Developer 进行Web开发,教程从最基础的阶段开始,所以对于初级阶段的开发者来说,也 ...