加密传输SSL协议4_综合方案
隔了那么多天终于有时间继续把这个专题做完了,这次一定连续写完这方面的笔记。
上篇博文说明了非对称加密和对称加密各自的优缺点,那么就很自然的衍生出了一种综合的方案。
两种方案的结合--扬长避短

首先发送方如果想加密发送一个很大的数据,由于非对称加密的速度很慢,所以只能采用对称式的加密方式,加密这个很大的明文数据。这时的口令就是一个session key,这个口令是个随机数,每次通讯的时候都不一样,发送方也不关心这个口令是什么,因为他只要能安全的给接收方就可以了。
那么怎样才能确保这个session key安全的到达接收方呢?
用非对称加密的方式对session key加密,这样只有接收方用自己的私钥才能解密session key,并用session key解密那个很大的文件的密文。
其他的人不管是截取了那个数据都看不到原始的明文数据。

接收方的工作流程,这样就能很好的做到了数据的加密传输。
做到现在似乎已经无懈可击了,哈哈~~其实不然,这个方案依然有很大的安全漏洞,后面讲!
非对称加密的另一种应用--数字签名
在日常的生活中,这种签名的方案到处都在,如信用卡购物,付款的时候消费者要签名,证明这个账单或者文件被签名人认可。这里的数字签名一样的道理,但是有所不同,不同的是:购物时的签名,能通过笔迹确定这个签名是谁签的,但是在网络通信中怎么确定这个签名的主人呢?利用非对称加密就能搞定。

具体做法就是:发送方用自己的私钥加密也就是这个的签名,然后数据接收方用发送方的公钥解密还原明文。这里签名的意思就是发送者认可这个明文,然后才对这个明文签名的(加密),也就是说发送者对这个明文负法律责任。这个明文出现任何的虚假的信息,发送者都有法律责任,因为你签过名,认可了这个文件;因为只有你自己有你的私钥,这个签的人一定是你。(说什么我的私钥被盗了,不好意思,还是你的责任)
也就是说只要接收方收的的密文,用接收方的公钥能解密,就说明你签名了,文件出现任何的虚假的信息,接收方都可以追究发送方的责任。
签名认证的实验
(1)产生用于签名认证的一对钥匙

方式同加解密的钥匙对一样,不同点在于这里是用私钥加密,用公钥解密。
(2)用私钥签名(加密)

(3)用公钥验证(解密)

上面个的过程就奠定了对一个电子文件不可否认的基石,只要你对一个电子文档签了名(也就是用你的私钥对该电子文档加了密),就代表你对这个电子文档认可,你要对他的真实性负法律责任。
提示:
对数据的非对称加密和文件的签名认证其实是一回事,都是加解密的过程。不同的仅仅是加密和解密用的密钥不同,no big deal。
遗留问题:
前面说过非对称加密的速度很慢,特别是对大的文件。那么如果要签名一个很大的文件,应该怎么做?还是用一个session key结合对称加密?其实没有必要,因为我用私钥加密,我的公钥又散布给所有的人,任何人都能看到我的明文。他们只是要确定这个明文的可靠性,通过我的认证来确定这个明文的可靠性。下面将解决的办法。
加密传输SSL协议4_综合方案的更多相关文章
- 加密传输SSL协议7_SSL协议概述
SSL(Secure Sockets Layer) SSL的功能,可以在通信的双方中建立一个加密的通信通道 同时还可以确认通信的双方是不是就是其声称的人,防止被钓鱼. SSL在网络协议栈中的位置:可以 ...
- 加密传输SSL协议8_Apache服务器的安装
学习了那么多的理论的知识,下面通过在Apache服务器中安装和使用SSL协议,实现安全传输,但是首先要安装好Apache服务器. Apache服务器的安装 Linux下所有的软件的原码的安装都是三部曲 ...
- 加密传输SSL协议6_验证公钥
如上图所示,我怎么能确定我手里的公钥就是我心中的接收方的公钥呢?怎么防止被钓鱼呢? 解决的办法就是引入一个第三方,一个权威机构,一个我们都相信的机构. 验证公钥,Digital Certificate ...
- 加密传输SSL协议1_OpenSSL的安装
终于在自己不断的奋斗之后,来到科大的一波考试过去了,但是为了不使自己过于放松,回顾一下之前的东西,做一下笔记.所以新开一个专题笔记: Using Apache with SSL 引入:首先我们在平时的 ...
- 加密传输SSL协议5_Hash Function
怎么对一个大的文件进行签名,因为文件比较大,非对称签名很慢.那么想,我能把这个大的文件通过一种函数变换,变成一个和源文件唯一对应的的小的文件吗?答案是可以的. Hash Function 这里任何的文 ...
- 加密传输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)数据传输是加密 ...
随机推荐
- 为什么VS提示SurfFeatureDetector不是cv的成员函数
surf和sift算法都是在头文件#include <opencv2/features2d/features2d.hpp>中,但在新的opencv版本出来后,如果仍然使用这个头文件就会出现 ...
- UVA 1374 Power Calculus
题意: 给出m,问对n最少进行几次操作.n初始为1,能得到m.操作1位将n平方.操作2为将n除以之前出现的n值中的任意一个. 分析: 其实是关于指数的操作,即从1到m最少的步数.我们可以先确定最少步数 ...
- (八)Android广播接收器BroadcastReceiver
一.使用Broadcast Reciver 1.右击java文件夹,new->other->Broadcast Receiver后会在AndroidManifest.xml文件中生成一个r ...
- Android中 Http请求
HttpClient public class MainActivity extends Activity { private Button button; @Override protected v ...
- Java日志管理
首页 资讯 精华 论坛 问答 博客 专栏 群组 更多 ▼ 您还未登录 ! 登录 注册 JavaCrazyer的ItEye(codewu.com)技术博客 博客 微博 相册 收藏 留言 关于我 ...
- hdu1251统计难题
Problem Description Ignatius最近遇到一个难题,老师交给他很多单词(只有小写字母组成,不会有重复的单词出现),现在老师要他统计出以某个字符串为前缀的单词数量(单词本身也是自己 ...
- GetProcessIdOfThread在WinXP及之前操作系统的替代实现
还是学习VLD2.X版本看到的: 在Windows XP及之前的操作系统没有提供GetProcessIdOfThread的API,这里给出了一个替代的实现方式: 头文件: #if _WIN32_WIN ...
- 在 WinForm 中打开页面采用POST方式传参http。可以多个参数传递,返回json字符串
//调用方法 Dictionary<string, string> postData = new Dictionary<string, string>(); postData. ...
- listView 单选实现
上一篇知道可以使用android自带的listview的chiocemode的单选模式实现.但那个布局是系统自带的checkedTextView,有时候我们需要自己实现布局,那么下面我们开始实现 ...
- 安装 Archlinux 小记
故事的背景 开始的时候装的 win8 + ubuntu 双系统,但是慢慢感觉只要有 windows 存在,在 Linux 上遇到问题了就想逃回去. 在一次 GDG 的演讲中听到的: 趁现在还年轻,还有 ...