文档章节

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

算法与编程之美
 算法与编程之美
发布于 2016/12/09 09:40
字数 1167
阅读 1049
收藏 33
点赞 0
评论 4

##1 问题提出

现在广泛使用的HTTP协议采用的是一种明文传输的方式,因此通信双方的数据在网络上传输是十分不安全的。

##2 解决方案

一种简单的解决方案就是对传输的数据进行加密处理。

目前流行的加密方式有两种:对称加密和非对称加密。

###2.1 对称加密

首先讨论对称加密方式。

对称加密指的是通信双方使用同一套密钥对数据进行加密和解密。

如果使用对称加密就意味着通信的双方必须都知道密钥,才能完成加密和解密操作。

一种典型的场景是:客户端发送密钥至服务器,服务器接受该密钥,之后所有的数据传输都采用该密钥进行加密和解密;

该方法虽然可以解决明文传输的问题,却存在安全隐患。在密钥协商阶段,客户端需要发送密钥给服务器,此时如果攻击者监测到该密钥,就可以使用该密钥来解密之后所有的数据,那么本次经对称加密后的数据传输也就变为明文传输。

因此,如何确保对称加密方式中密钥的安全是此方式中最为核心的问题。

###2.2 非对称加密

接下来我们讨论非对称加密方式。 非对称加密的密钥有公钥和私钥之分,使用公钥加密的数据只有私钥才能解密,同理使用私钥加密的数据只有公钥才能解密。

那么对传输数据进行非对称加密是不是就是安全的呢?

非对称加密一种典型的场景是: 由服务器生成公钥和私钥,并将公钥发送给客户端,之后服务器和客户端之间所有的数据都采用公钥和私钥加密。

接下来我们分析下这种场景。 客户端接受到服务器发来的公钥,然后使用公钥对数据进行加密,根据非对称加密的原理,我们了解这种加密数据只有服务器使用私钥才能解密,因此任何攻击者截取到该信息都无法完成解密,所以任何由客户端向服务器发送的数据都是安全的。

但是,在开始阶段,服务器需要将公钥发送给客户端,在这个过程中,攻击者就有可能会拿到公钥,这就意味之后所有由服务器发给客户端的,经私钥加密的数据,攻击者同样可以用截取到的公钥对其进行解密。

综上,我们得出,采用非对称加密的方式只能保证客户端到服务器的数据是安全的,并不能保证服务器到客户端也是安全的,因此只是一种单向安全的加密方式。

###2.3 混合加密方式

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

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

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

一种典型的场景是:

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

这种混合加密的方式在一定程度上确实能提高数据传输的安全性,但是它就一定安全吗?欲知后事如何,且听下回分解。

输入图片说明

© 著作权归作者所有

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

评论(4)

算法与编程之美
算法与编程之美

引用来自“Kylor”的评论

好章,谢谢。 如果有图会更好。

@Kylor 谢谢,时间仓促,后期会加上
K
Kylor
好章,谢谢。 如果有图会更好。
算法与编程之美
算法与编程之美

引用来自“vingzhang”的评论

只能防窥视,不能防篡改/伪造;
而且传输公钥的过程可以被中间人攻击,然后中间人介入后续的交互密钥过程,进而获取密钥
谢谢。
vingzhang
vingzhang
只能防窥视,不能防篡改/伪造;
而且传输公钥的过程可以被中间人攻击,然后中间人介入后续的交互密钥过程,进而获取密钥
小米和西工大联手,三篇论文被Interspeech接收

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

AI科技大本营 ⋅ 前天 ⋅ 0

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

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

技术小能手 ⋅ 01/12 ⋅ 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 ⋅ 0

2014年度江西省高等学校科技落地计划项目立项名单

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

张祖锦 ⋅ 2014/07/05 ⋅ 0

将眼动追踪加入Vive头显,Tobii Pro推出VR研究工具

这款VR研究工具可以用于心理学、消费者行为和人类表现等方面,是低成本、高效率的解决方案。 最近,Tobii Pro推出一款新的研究工具,可用于沉浸式VR研究。这种沉浸式VR研究与传统的研究方式大...

行者武松 ⋅ 03/06 ⋅ 0

谷歌悬赏寻找Chrome漏洞:每处最高1337美元

新浪科技讯 北京时间1月31日上午消息,据国外媒体今日报道,谷歌正向网络安全研究公司提供现金奖励,邀请他们查找Chrome网络浏览器的漏洞。 谷歌表示,如果开发人员可以寻找并直接向其报告C...

老枪 ⋅ 2010/01/31 ⋅ 0

科研人员称可攻破 SecurID 令牌 RSA辟谣

多年来,安全行业受益于由安全厂商、研究人员和媒体组成的道德准则。研究人员开展了一项有价值的 任务是,从理论和实践上找出 产品和技术的不足,预防潜在的攻击。安全厂商采纳这些研究成果,...

oschina ⋅ 2012/06/28 ⋅ 2

量子计算云平台“中国版”启动 量子信息革命正在加速到来

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

雪花又一年 ⋅ 05/02 ⋅ 0

基于Android平台简易即时通讯的研究与设计

1 Android平台简介 Android是Google公司于2007年11月5日推出的手机操作系统,经过2年多的发展,Android平台在智能移动领域占有不小的份额,由Google为首的40多家移动通信领域的领军企业组成开...

今幕明 ⋅ 2014/12/11 ⋅ 0

研究团队发现大脑产生“冲动”的兴奋机制,通过电脉冲实现有效干预

  这一研究打破了对于人类杀人、吸毒等冲动行为有效干预的研究瓶颈。   冲动是魔鬼。生活中,我们常常无法克制住自己的冲动,无论是对食物、性、烟酒的冲动,还是在危险下不可遏制的情绪...

镁客网 ⋅ 2017/12/20 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

浅谈springboot Web模式下的线程安全问题

我们在@RestController下,一般都是@AutoWired一些Service,由于这些Service都是单例,所以并不存在线程安全问题。 由于Controller本身是单例模式 (非线程安全的), 这意味着每个request过来,...

算法之名 ⋅ 今天 ⋅ 0

知乎Java数据结构

作者:匿名用户 链接:https://www.zhihu.com/question/35947829/answer/66113038 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 感觉知乎上嘲讽题主简...

颖伙虫 ⋅ 今天 ⋅ 0

Confluence 6 恢复一个站点有关使用站点导出为备份的说明

推荐使用生产备份策略。我们推荐你针对你的生产环境中使用的 Confluence 参考 Production Backup Strategy 页面中的内容进行备份和恢复(这个需要你备份你的数据库和 home 目录)。XML 导出备...

honeymose ⋅ 今天 ⋅ 0

JavaScript零基础入门——(九)JavaScript的函数

JavaScript零基础入门——(九)JavaScript的函数 欢迎回到我们的JavaScript零基础入门,上一节课我们了解了有关JS中数组的相关知识点,不知道大家有没有自己去敲一敲,消化一下?这一节课,...

JandenMa ⋅ 今天 ⋅ 0

火狐浏览器各版本下载及插件httprequest

各版本下载地址:http://ftp.mozilla.org/pub/mozilla.org//firefox/releases/ httprequest插件截至57版本可用

xiaoge2016 ⋅ 今天 ⋅ 0

Docker系列教程28-实战:使用Docker Compose运行ELK

原文:http://www.itmuch.com/docker/28-docker-compose-in-action-elk/,转载请说明出处。 ElasticSearch【存储】 Logtash【日志聚合器】 Kibana【界面】 答案: version: '2'services: ...

周立_ITMuch ⋅ 今天 ⋅ 0

使用快嘉sdkg极速搭建接口模拟系统

在具体项目研发过程中,一旦前后端双方约定好接口,前端和app同事就会希望后台同事可以尽快提供可供对接的接口方便调试,而对后台同事来说定好接口还仅是个开始、设计流程,实现业务逻辑,编...

fastjrun ⋅ 今天 ⋅ 0

PXE/KickStart 无人值守安装

导言 作为中小公司的运维,经常会遇到一些机械式的重复工作,例如:有时公司同时上线几十甚至上百台服务器,而且需要我们在短时间内完成系统安装。 常规的办法有什么? 光盘安装系统 ===> 一...

kangvcar ⋅ 昨天 ⋅ 0

使用Puppeteer撸一个爬虫

Puppeteer是什么 puppeteer是谷歌chrome团队官方开发的一个无界面(Headless)chrome工具。Chrome Headless将成为web应用自动化测试的行业标杆。所以我们很有必要来了解一下它。所谓的无头浏...

小草先森 ⋅ 昨天 ⋅ 0

Java Done Right

* 表示难度较大或理论性较强。 ** 表示难度更大或理论性更强。 【Java语言本身】 基础语法,面向对象,顺序编程,并发编程,网络编程,泛型,注解,lambda(Java8),module(Java9),var(...

风华神使 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部