文档章节

基于HTTPS的安全机制的研究(二)

算法与编程之美
 算法与编程之美
发布于 2016/12/12 13:29
字数 992
阅读 509
收藏 26

基于HTTPS的安全机制的研究(一) 接上文。

2.3 混合加密方式

接下来我们探讨采用对称加密+非对称加密混合加密方式。

通过2.1 对称加密方式 一节的分析,我们知道,此种方式最大的问题在于密钥的安全性,一旦密钥被攻击者获取,那么本次传输将变为明文传输。通过2.2 非对称加密方式 我们了解非对称加密只是单向安全的数据传输,即只有客户端到服务器的传输才是安全的。

结合二者的特点,我们提出,通信双方所有的数据传输采用对称加密方式,密钥的传输采用非对称加密方式。

一种典型的场景是:

  • 服务器生成公钥和私钥,并将公钥发给客户端;
  • 客户端生成对称加密的密钥,用公钥对该密钥进行加密,并发给服务器,之后所有的数据传输都使用该密钥进行加密;
  • 服务器收到该客户端发过来的经公钥加密的数据,使用私钥对其解密,从而得到客户端的密钥,之后所有来自该客户端的数据,都使用该密钥解密。

这种混合加密的方式在一定程度上确实能提高数据传输的安全性,但是它就一定安全吗? 我们日常上网经常会使用代理服务器,如果代理服务器伪造来自真实服务器的公钥并发给客户端,那么之后所有的传输也将变为明文传输。

因此,对于混合加密方式核心的问题在于无法确认该公钥是否来自真实服务器,而不是代理服务器的公钥。

2.4 证书

在混合加密方式中,客户端是直接向服务器请求公钥,该公钥有可能被伪造。我们改进一下这种方式,引入证书的概念。

证书包含三部分信息:

  • 服务器公钥等明文信息;
  • 摘要;
  • 数字签名;

摘要 = hash(明文信息);

数字签名 = 该证书的颁发机构私钥加密(摘要);

一种典型的场景是:

  • 客户端向服务器请求证书;
  • 找到证书颁发机构的证书,获取公钥,然后解密数字签名,得到摘要A;
  • hash(明文信息) = 摘要B;
  • 比较A和B是否相等,验证证书合法性。

此举能够验证该证书确实是由某证书机构颁发的,但是该机构就一定是合法的吗?所以需要再次验证它的合法性。

采取上述同样的方法来验证该机构的合法性,一层层的向上验证,最终在客户端浏览器中会预先安装全球受信任的证书颁发机构的证书,我们称之为根证书。

所以对于每一个服务器的证书,采取向上一层层的验证证书颁发颁发机构的合法性,只要最终经过了根证书的验证,则表示该证书是合法的。

后面的博客将探讨https实现的细节,如果您有兴趣可关注后续博文。

参考文献

[1] 腾讯Bugly.全站 HTTPS 来了.[EB/OL].[2016-12-09].https://segmentfault.com/a/1190000004199917

附录

常见的hash算法: MD5 SHA1 SHA256

常见的对称加密算法: DES 3DES TDEA Blowfish RC5 IDEA

常见的非对称加密算法: RSA ECC Elgamal

如果您对算法或编程感兴趣,欢迎扫描下方二维码并关注公众号“算法与编程之美”,和您一起探索算法和编程的神秘之处,给您不一样的解题分析思路。 输入图片说明

© 著作权归作者所有

共有 人打赏支持
算法与编程之美
粉丝 290
博文 89
码字总数 97411
作品 0
成都
程序员
加载中

评论(1)

别业胜
别业胜
期待
小米和西工大联手,三篇论文被Interspeech接收

翻译 | 林椿眄 编辑 | 阿司匹林 出品 | 人工智能头条(公众号ID:AI_Thinker) 小米和西北工业大学的“交情”不浅。 去年 7 月,小米和西工大计算机学院的谢磊教授合作,在 arXiv 上提交了一...

AI科技大本营
06/19
0
0
java程序猿技术栈

一、java 基础知识 1.1 java基础集合类 1.2 jdk1.5、1.6、1.7、1.8 特效比较 1.3 java异常处理 1.4 jvm原理及常见问题 1.5 log4j等日志收集 1.6 jdbc驱动 1.7 jdk反射机制使用和原理 1.8 ja...

南寒之星
2016/11/30
17
0
2014年度江西省高等学校科技落地计划项目立项名单

2014年度江西省高等学校科技落地计划项目立项名单 序号 项目编号 项目名称 负责人 承担单位 项目类别 1 KJLD14001 高频铁基非晶恒导磁滤波电感磁芯产业化技术研究 朱正吼 南昌大学 成果转化 ...

张祖锦
2014/07/05
0
0
量子计算云平台“中国版”启动 量子信息革命正在加速到来

11日,量子计算云平台“中国版”正式启动,量子计算的商业化落地近在咫尺。第二次量子信息革命正在加速到来,微观世界的中国“探梦者”,将如何解锁量子的“新密码”,开启未来科技的“新引...

雪花又一年
05/02
0
0
【政策】北京市科委发布最新征集新一代人工智能、脑认知与类脑技术等六大领域储备课题

去年,在国家层面频频出台一系列人工智能发展规划政策后,2018年地方进入政策落地实施阶段。 11日,北京市科委发布六份通知,征集2018年六大技术领域储备课题,这六大领域分别为: ①认知与类...

技术小能手
01/12
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

【七】组合Action

本章描述了常用定义Action的方法。 自定义action builders 我们在action一章已经看过如何声明一个action——有request parameter、无request parameter、有body parser等等。你可以在 asynch...

Landas
34分钟前
0
0
Spring Boot实战之基础回顾

本文作者: 吴伟祥 本文链接: https://wuweixiang.cn/2018/08/21/Spring-Boot实战之基础回顾/ 版权声明: 本博客所有文章除特别声明外均为原创,采用CC BY-NC-SA 4.0 许可协议。转载请在文章开...

吴伟祥
34分钟前
0
0
OAuth认证开发

提示: 以下测试是基于项目安装成功,初始化数据库(initial_db.ddl, oauth.ddl, initial_data.ddl)后的测试, 也可在页面上点击"client_details"菜单里进行测试 方式1:基于浏览器 (grant_type=...

舒文joven
43分钟前
1
0
第二章-对象及变量的并发访问-第二篇

锁对象的改变 请阅读如下代码 public class MainClass { private String lock = "123"; public void printStringB() { try { synchronized (lock) { ......

简心
47分钟前
0
0
日志中记录代理IP以及真实客户端、apache只记录指定URI的日志

apache 日志中记录代理IP以及真实客户端 默认情况下log日志格式为: LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i"" combined 其中%h 是记录访问者的IP,如果在web的前...

李超小牛子
56分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部