美高梅平台下载-美高梅娱乐平台登录

热门关键词: 美高梅平台下载,美高梅娱乐平台登录

那我们可以知道消息体中所有的内容,本文作者

日期:2019-09-30编辑作者:美高梅娱乐平台登录

了解TLS协议

HTTPS的安全主要靠的是TLS协议层的操作。那么它到底做了什么,来建立一条安全的数据传输通道呢?

TLS握手:安全通道是如何建立的

美高梅平台下载 1

0 ms
TLS运行在一个可靠的TCP协议上,意味着我们必须首先完成TCP协议的三次握手。

56 ms
在TCP连接建立完成之后,客户端会以明文的方式发送一系列说明,比如使用的TLS协议版本,客户端所支持的加密算法等。

84 ms
服务器端拿到TLS协议版本,根据客户端提供的加密算法列表选择一个合适的加密算法,然后将选择的算法连同服务器的证书一起发送到客户端。

112 ms
假设服务器和客户端协商后,得到一个共同的TLS版本和加密算法,客户端检测服务端的证书,非常满意,客户端就会要么使用RSA加密算法(公钥加密)或者DH秘钥交换协议,得到一个服务器和客户端公用的对称秘钥。

由于历史和商业原因,基于RSA的秘钥交换占据了TLS协议的大片江山:客户端生成一个对称秘钥,使用服务器端证书的公钥加密,然后发送给服务器端,服务器端利用私钥解密得到对称秘钥。

140 ms
服务器处理由客户端发送的秘钥交换参数,通过验证MAC(Message Authentication Code,消息认证码)来验证消息的完整性,返回一个加密过的“Finished”消息给客户端。

在密码学中,消息认证码(英语:Message Authentication Code,缩写为MAC),又译为消息鉴别码、文件消息认证码、讯息鉴别码、信息认证码,是经过特定算法后产生的一小段信息,检查某段消息的完整性,以及作身份验证。它可以用来检查在消息传递过程中,其内容是否被更改过,不管更改的原因是来自意外或是蓄意攻击。同时可以作为消息来源的身份验证,确认消息的来源。

168 ms
客户端用协商得到的堆成秘钥解密“Finished”消息,验证MAC(消息完整性验证),如果一切ok,那么这个加密的通道就建立完成,可以开始数据传输了。

在这之后的通信,采用对称秘钥对数据加密传输,从而保证数据的机密性。

到此为止,我是想要介绍的基本原理的全部内容,但HTTPS得知识点不止如此,还有更多说,现在来点干货(实战)!!

4.1 加密算法

据记载,公元前400年,古希腊人就发明了置换密码;在第二次世界大战期间,德国军方启用了“恩尼格玛”密码机,所以密码学在社会发展中有着广泛的用途。

对称加密有流式、分组两种,加密和解密都是使用的同一个密钥。例如:DES、AES-GCM、ChaCha20-Poly1305等

非对称加密加密使用的密钥和解密使用的密钥是不相同的,分别称为:公钥、私钥,公钥和算法都是公开的,私钥是保密的。非对称加密算法性能较低,但是安全性超强,由于其加密特性,非对称加密算法能加密的数据长度也是有限的。例如:RSA、DSA、ECDSA、 DH、ECDHE

哈希算法将任意长度的信息转换为较短的固定长度的值,通常其长度要比信息小得多,且算法不可逆。例如:MD5、SHA-1、SHA-2、SHA-256 等

数字签名签名就是在信息的后面再加上一段内容(信息经过hash后的值),可以证明信息没有被修改过。hash值一般都会加密后再和信息一起发送,以保证这个hash值不被修改。

SSL层背后基本原理和概念

介绍HTTPS背后的基本原理和概念,涉及到的概念:加密算法,数字证书,CA中心等。

加密算法
加密算法严格来说属于编码学(密码编码学),编码是信息从一种形式或格式转换为另一种形式的过程。解码,是编码的逆过程(对应密码学中的解密)。

美高梅平台下载 2

对称加密算法

加密算法主要分两类:对称和非对称加密算法。在对称加密算法中,使用的密钥只有一个,发收信双方都使用这个密钥对数据进行加密和解密,这就要求解密方事先必须知道加密密钥。
美高梅平台下载 3

但是对称加密算法有一个问题:一旦通信的实体多了,那么管理秘钥就会成为问题。

美高梅平台下载 4
非对称加密算法(加密和签名)

非对称加密算法需要两个密钥:公开密钥(public key)私有密钥(private key)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密,这个反过来的过程叫作数字签名(因为私钥是非公开的,所以可以验证该实体的身份)。

他们就像是锁和钥匙的关系美高梅平台下载 ,。Alice把打开的锁(公钥)发送给不同的实体(Bob,Tom),然后他们用这把锁把信息加密,Alice只需要一把钥匙(私钥)就能解开内容。

美高梅平台下载 5

那么,有一个很重要的问题:加密算法是如何保证数据传输的安全,即不被破解?有两点:

1.利用数学计算的困难性(比如:离散对数问题)
2.加密算法是公开的,关键在于秘钥,密码学中有柯克霍夫斯基原则,即加密算法的安全性依赖的是密钥的保密而不是算法的保密,因此,保证秘钥的定期更换是非常重要的。

数字证书,用来实现身份认证和秘钥交换

数字证书是一个经证书授权中心数字签名的包含公开密钥拥有者信息,使用的加密算法以及公开密钥的文件。

美高梅平台下载 6

以数字证书为核心的加密技术可以对网络上传输的信息进行加密和解密、数字签名和签名验证,确保网上传递信息的机密性、完整性及交易的不可抵赖性。使用了数字证书,即使您发送的信息在网上被他人截获,甚至您丢失了个人的账户、密码等信息,仍可以保证您的账户、资金安全。(比如,支付宝的一种安全手段就是在指定电脑上安装数字证书)

身份认证(我凭什么信任你)

身份认证是建立每一个TLS连接不可或缺的部分。比如,你有可能和任何一方建立一个加密的通道,包括攻击者,除非我们可以确定通信的服务端是我们可以信任的,否则,所有的加密(保密)工作都没有任何作用。

而身份认证的方式就是通过证书以数字方式签名的声明,它将公钥与持有相应私钥的主体(个人、设备和服务)身份绑定在一起。通过在证书上签名,CA可以核实与证书上公钥相应的私钥为证书所指定的主体所拥有。
美高梅平台下载 7

  • 窃听风险(eavesdropping):第三方可以获知通信内容。
  • 篡改风险(tampering):第三方可以修改通信内容。
  • 冒充风险(pretending):第三方可以冒充他人身份参与通信。

那么,教练,我想用HTTPS

美高梅平台下载 8

选择合适的证书,Let’s Encrypt(It’s free, automated, and open.)是一种不错的选择

ThoughtWorks在2016年4月份发布的技术雷达中对Let’s Encrypt项目进行了介绍:

从2015年12月开始,Let’s Encrypt项目从封闭测试阶段转向公开测试阶段,也就是说用户不再需要收到邀请才能使用它了。Let’s Encrypt为那些寻求网站安全的用户提供了一种简单的方式获取和管理证书。Let’s Encrypt也使得“安全和隐私”获得了更好的保障,而这一趋势已经随着ThoughtWorks和我们许多使用其进行证书认证的项目开始了。

据Let’s Encrypt发布的数据来看,至今该项目已经颁发了超过300万份证书——300万这个数字是在5月8日-9日之间达成的。Let’s Encrypt是为了让HTTP连接做得更加安全的一个项目,所以越多的网站加入,互联网就回变得越安全。

1 赞 1 收藏 评论

正因为HTTP协议的这个缺点, HTTP变成了一种不安全的协议。

对于包含用户敏感信息的网站需要进行怎样的安全防护?

对于一个包含用户敏感信息的网站(从实际角度出发),我们期望实现HTTP安全技术能够满足至少以下需求:

  • 服务器认证(客户端知道它们是在与真正的而不是伪造的服务器通话)
  • 客户端认证(服务器知道它们是在与真正的而不是伪造的客户端通话)
  • 完整性(客户端和服务器的数据不会被修改)
  • 加密(客户端和服务器的对话是私密的,无需担心被窃听)
  • 效率(一个运行的足够快的算法,以便低端的客户端和服务器使用)
  • 普适性(基本上所有的客户端和服务器都支持这个协议)
  • 管理的可扩展性(在任何地方的任何人都可以立即进行安全通信)
  • 适应性(能够支持当前最知名的安全方法)
  • 在社会上的可行性(满足社会的政治文化需要)
4.4 对称加密和非对称加密结合使用
  • 对称加密的方式,如果能够保证秘钥不被黑客获取,那么它其实是很安全的,并且,对称加密的在速度具有很大的优势。
  • 非对称加密在请求发起方时,尽管使用的是公钥加密,但是因为必须使用私钥解密的特点,因此能够保证消息体在向服务器发送的过程中是安全的。缺点在于服务器返回的使用私钥加密的内容会被公钥解开。

结合两者的优缺点的做法:

  • 使用对称加密对消息体进行加密。
  • 对称加密的算法和对称秘钥使用公钥加密之后,在 ClientHello 时发送给服务器。
  • 后续双方的内容进行对称加密。

具体的做法如下图:

美高梅平台下载 9对称加密和非对称加密相结合使用

那么使用这种方式时,有两个问题。

  • 如何将公钥给到客户端?
  • 客户端在获取一个公钥之后,如何确定这个公钥是正确的服务端发出的?

直接下载公钥不可靠的,因为黑客可能在下载公钥的时候劫持了请求,并伪造一个公钥返回给客户端。后续的请求都将会被黑客欺骗。

那应该怎么做呢?

答案是:使用证书!

数字证书是一个经证书授权中心数字签名的包含公开密钥拥有者信息以及公开密钥的文件。最简单的证书包含一个公开密钥、名称以及证书授权中心的数字签名。数字证书还有一个重要的特征就是只在特定的时间段内有效。数字证书是一种权威性的电子文档,可以由权威公正的第三方机构,即CA(例如中国各地方的CA公司)中心签发的证书,也可以由企业级CA系统进行签发。

简单来说,证书可以携带公钥,如果我们将证书给客户端下载,那就解决了客户端获取公钥的问题。 同时由于受第三方权威机构的认证,下载后对证书进行验证,如果证书可信,并且是我们指定的服务器上的证书,那么说明证书是真是有效的,这就解决了公钥可能是伪造的问题。

美高梅平台下载 10SSL证书+非对称加密+对称加密

最后附一张详细的HTTPS请求过程图示:

美高梅平台下载 11HTTPS请求过程

参考:SSL/TLS协议运行机制的概述 - 阮一峰HTTPS系列干货:HTTPS 原理详解

“HTTP = 不安全”,为什么说HTTP不安全?

HTTP报文是由一行行简单字符串组成的,是纯文本,可以很方便地对其进行读写。一个简单事务所使用的报文:

美高梅平台下载 12

HTTP传输的内容是明文的,你上网浏览过、提交过的内容,所有在后台工作的实体,比如路由器的所有者、网线途径路线的不明意图者、省市运营商、运营商骨干网、跨运营商网关等都能够查看。举个不安全的例子:

一个简单非HTTPS的登录采用POST方法提交包含用户名和密码的表单,会发生什么?

美高梅平台下载 13

POST表单发出去的信息,没有做任何的安全性信息置乱(加密编码),直接编码为下一层协议(TCP层)需要的内容,所有用户名和密码信息一览无余,任何拦截到报文信息的人都可以获取到你的用户名和密码,是不是想想都觉得恐怖?

那么问题来了,怎么样才是安全的呢?

我们知道HTTP的缺点就是报文裸露没有加密,如果我们对报文进行加密,那么这个缺点就被解决了。通过HTTP和SLL的结合,诞生的HTTPS就是我们这篇文章的主角。

我也想来谈谈HTTPS

2016/11/04 · 基础技术 · HTTPS

本文作者: 伯乐在线 - ThoughtWorks 。未经作者许可,禁止转载!
欢迎加入伯乐在线 专栏作者。

4.3 对HTTP消息体进行非对称加密

我们使用非对称加密试试。

美高梅平台下载 14非对称加密

用户使用公钥进行加密之后,消息体能够安全的抵达服务器,但是在服务器返回数据的时候,黑客截取到信息之后,能够通过公钥对响应的内容进行解密,最后进行篡改,导致这个加密方案失败。另外,非对称加密不适用与数量太大的报文,大数量的报文导致加密效率降低。

本文由美高梅平台下载发布于美高梅娱乐平台登录,转载请注明出处:那我们可以知道消息体中所有的内容,本文作者

关键词:

做的一些题的解题思路,所谓提升

JavaScript 面试中常见算法问题详解 2017/02/20 · JavaScript· 1 评论 ·算法 原文出处:王下邀月熊_Chevalier    JavaScript面试...

详细>>

的一些经验分享(一),HTTPS 过程中在老旧浏览

关于启用 HTTPS 的一些经验分享(二) 2015/12/24 · 基础技术 ·HTTP,HTTPS 原文出处:imququ(@屈光宇)    文章目录 SSL 版...

详细>>

   译文出处,HTTP协议不适合传输一些敏感信息

为什么 HTTP 有时候比 HTTPS 好? 2015/05/15 · HTML5 · 3评论 ·HTTP,HTTPS 原文出处:stormpath   译文出处:开源中国社区  ...

详细>>

以及到点的时间与整个动画持续时间的比值,C

H5 动画:轨迹移动 2017/11/10 · HTML5 ·动画 原文出处:凹凸实验室      动画,是指由许多帧静止的画面,以一定的速...

详细>>