隔了那么多天终于有时间继续把这个专题做完了,这次一定连续写完这方面的笔记。

上篇博文说明了非对称加密和对称加密各自的优缺点,那么就很自然的衍生出了一种综合的方案。

两种方案的结合--扬长避短

首先发送方如果想加密发送一个很大的数据,由于非对称加密的速度很慢,所以只能采用对称式的加密方式,加密这个很大的明文数据。这时的口令就是一个session key,这个口令是个随机数,每次通讯的时候都不一样,发送方也不关心这个口令是什么,因为他只要能安全的给接收方就可以了。

那么怎样才能确保这个session key安全的到达接收方呢?

用非对称加密的方式对session key加密,这样只有接收方用自己的私钥才能解密session key,并用session key解密那个很大的文件的密文。

其他的人不管是截取了那个数据都看不到原始的明文数据。

接收方的工作流程,这样就能很好的做到了数据的加密传输。

做到现在似乎已经无懈可击了,哈哈~~其实不然,这个方案依然有很大的安全漏洞,后面讲!

非对称加密的另一种应用--数字签名

在日常的生活中,这种签名的方案到处都在,如信用卡购物,付款的时候消费者要签名,证明这个账单或者文件被签名人认可。这里的数字签名一样的道理,但是有所不同,不同的是:购物时的签名,能通过笔迹确定这个签名是谁签的,但是在网络通信中怎么确定这个签名的主人呢?利用非对称加密就能搞定。

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

也就是说只要接收方收的的密文,用接收方的公钥能解密,就说明你签名了,文件出现任何的虚假的信息,接收方都可以追究发送方的责任。

签名认证的实验

(1)产生用于签名认证的一对钥匙

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

(2)用私钥签名(加密)

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

上面个的过程就奠定了对一个电子文件不可否认的基石,只要你对一个电子文档签了名(也就是用你的私钥对该电子文档加了密),就代表你对这个电子文档认可,你要对他的真实性负法律责任。

提示:

对数据的非对称加密和文件的签名认证其实是一回事,都是加解密的过程。不同的仅仅是加密和解密用的密钥不同,no big deal。

遗留问题:

前面说过非对称加密的速度很慢,特别是对大的文件。那么如果要签名一个很大的文件,应该怎么做?还是用一个session key结合对称加密?其实没有必要,因为我用私钥加密,我的公钥又散布给所有的人,任何人都能看到我的明文。他们只是要确定这个明文的可靠性,通过我的认证来确定这个明文的可靠性。下面将解决的办法。

加密传输SSL协议4_综合方案的更多相关文章

  1. 加密传输SSL协议7_SSL协议概述

    SSL(Secure Sockets Layer) SSL的功能,可以在通信的双方中建立一个加密的通信通道 同时还可以确认通信的双方是不是就是其声称的人,防止被钓鱼. SSL在网络协议栈中的位置:可以 ...

  2. 加密传输SSL协议8_Apache服务器的安装

    学习了那么多的理论的知识,下面通过在Apache服务器中安装和使用SSL协议,实现安全传输,但是首先要安装好Apache服务器. Apache服务器的安装 Linux下所有的软件的原码的安装都是三部曲 ...

  3. 加密传输SSL协议6_验证公钥

    如上图所示,我怎么能确定我手里的公钥就是我心中的接收方的公钥呢?怎么防止被钓鱼呢? 解决的办法就是引入一个第三方,一个权威机构,一个我们都相信的机构. 验证公钥,Digital Certificate ...

  4. 加密传输SSL协议1_OpenSSL的安装

    终于在自己不断的奋斗之后,来到科大的一波考试过去了,但是为了不使自己过于放松,回顾一下之前的东西,做一下笔记.所以新开一个专题笔记: Using Apache with SSL 引入:首先我们在平时的 ...

  5. 加密传输SSL协议5_Hash Function

    怎么对一个大的文件进行签名,因为文件比较大,非对称签名很慢.那么想,我能把这个大的文件通过一种函数变换,变成一个和源文件唯一对应的的小的文件吗?答案是可以的. Hash Function 这里任何的文 ...

  6. 加密传输SSL协议2_传统加密

    原本到了睡觉的时间,但是做完了SSL的笔记还有GCC和Oracle等的好多的笔记,所以刻苦一点. The Priciple of Encryption/Decryption --conventiona ...

  7. 加密传输SSL协议3_非对称加密

    困死了,这里对非对称加密体系开个头,具体的实验明天写 非对称加密体系 为了解决对称加密中密钥的传输的问题,一些天才的数学家就提出了非对称式的加密体系,也称为公钥加密体系. 加密和解密的密钥是不同的.一 ...

  8. 学习笔记: MD5/DES/RSA三类加密,SSL协议解析

    1. 不对称可逆加密的 的2种用法 (1)保证信息不被篡改 (2) 保证信息只能被我看到 2. CA证书的基本原理 流程如下:  百度公司 向CA机构报备 持有者姓名, 有效期, 要发布的公钥 , 扩 ...

  9. HTTPS(身披SSL协议的HTTP)

    参考链接: HTTP 与 HTTPS 的区别 HTTPS科普扫盲帖 HTTPS小结 HTTP 和 HTTPS 区别 HTTP是明文传输未加密,安全性差,HTTPS(HTTP + SSL)数据传输是加密 ...

随机推荐

  1. Android EditText限制输入一些固定字符的属性

    android:digits="abcdefghijklmnopqrstuvwxyz1234567890" 仅仅能输入这些

  2. WAV文件格式分析

    一. RIFF概念 在Windows环境下,大部分的多媒体文件都依循着一种结构来存放信息,这样的结构称为"资源互换文件格式"(Resources lnterchange File ...

  3. javascript中关于数组的迭代方法

    //都接受3个参数,分别为:值.在数组中的位置.数组对象本身 var num = [2, 1, 5, 4, 2, 1, 6, 8, 19]; //every:若每一项都返回true,则返回true v ...

  4. (转)C# 读取EXCEL文件的三种经典方法

    原文地址http://www.open-open.com/code/view/1420029490093 1.方法一:采用OleDB读取EXCEL文件: 把EXCEL文件当做一个数据源来进行数据的读取 ...

  5. mysql 存在该记录则更新,不存在则插入记录的sql

    转 http://www.cnblogs.com/zeroone/articles/2298929.html , ‘yourname') ON DUPLICATE KEY UPDATE auto_na ...

  6. phpcms 调用全站最新发布数据

    phpcms模板标签没有调用全站最新发布的数据 所以参考phpcms本身自带的lists方法写了一个Countlists调用全站数据 /** * 全站最热 * @param $data */ publ ...

  7. Python之父Guido在最近一次采访的最后说了啥

    Python之父Guido在最近一次采访的最后说了啥? 在前些天的一次采访中,被问到Python未来发展方向的时候原文在infoworld,咱们可爱的python老爹Guido是这样说的: One t ...

  8. SQL Server 数据库状态选项

    选项 1. single_user(单用户),multi_user(多用户),restricted_user(受限用户); 描述数据库的用户访问属性,它们互斥,设置其中任何一个选项就会取消对其它选项的 ...

  9. Cannot resolve the collation conflict between "SQL_Latin1_General_CP1_CI_AS" and "Chinese_PRC_CI_AS" in the equal to operation.

    Scenario : 这个问题是我的存储过程中用到临时表时发生的. 应该是sql server 服务器的排序规则 (SQL_Latin1_General_CP1_CI_AS ) 与数据库的排序规则(C ...

  10. to_date如何处理毫秒?

    http://blog.csdn.net/jamex/archive/2008/09/08/2899172.aspx to_date如何处理毫秒? 如把"1970-01-01 00:00:0 ...