HTTPS浅析

作者: zhangxuanchen | 来源:发表于2017-01-20 11:57 被阅读14次

安全HTTP又称为HTTPS
为什么安全呢,因为它在HTTP协议层与TCP层之间又加了一层,传输安全层TLS / SSL对数据进行加密。
HTTP默认端口号:80
HTTPS默认端口号:443

HTTP 和 HTTPS 协议分层

而这一层是如何工作的呢?
首先介绍下公开密钥加密技术,这一层就是基于这种技术的方案上实现的

公开密钥加密技术

一.加密
公开密钥加密技术没有为每个主机使用单独的加密/解密密钥,而是使用了两个非对称密钥:一个用来对主机报文进行编码,另一个用来对主机报文解码,共有加密密钥是大家都知道的,但只有主机才知道私有的解密密钥。

二.签名
除了加/解报文之外,还可以用公开密钥对报文进行签名,以说明是谁编写的报文,验证报文是否被篡改过。如果有恶意攻击者在报文传输过程中对其进行了修改,那么校验和就不再匹配了。由于校验和只有作者保密的私有密钥才能产生,所以攻击者无法伪造出正确的验证码。

这样一来客户端就能很容易的发送安全报文了,而且只需要知道服务器所提供的公开密钥就可以了。

三.数字证书
到这里大家可能又有疑问了: 怎么获得服务器的公开密钥呢?
这里又要引入一个概念:数字证书

在使用HTTPS协议进行通信时,首先Client会向Service请求数字证书
证书内容包括:
1.Web站点的名称和主机名
2.Web站点的公开密钥
3.签名颁发机构的名称
4.来自签名颁发机构的签名

一般浏览器程序会预先存储一些知名机构签发的数字证书,如果Service下发的证书是个很权威的机构,那么浏览器可能已经知道其公开密钥了,如果浏览器不知道这个证书是否可以信任,他们则会弹出一个窗口让用户确认,看用户是否相信这个证书发布者(相信大家都会有这样的经历)。这样一来客户端对于服务器的公开密钥就到手了。目前大部分证书都遵循X509 v3结构(这里就不详细介绍了)

如果大家还要去了解一些HTTPS细节部分,推荐给大家一本书《HTTP权威指南》上面描述的非常细致。

下面是一些常用的加密算法大家有兴趣可以去研究一下。
RSA
DH
ECDHE
ECDH
DHE

相关文章

  • HTTPS 浅析

    网络七层协议TCP/IP 五层协议HTTPS 概念HTTPS 优化 网络七层协议 OSI是Open System ...

  • HTTPS浅析

    安全HTTP又称为HTTPS为什么安全呢,因为它在HTTP协议层与TCP层之间又加了一层,传输安全层TLS / S...

  • HTTPS浅析

    HTTPS和TLS/SSL的关系 HTTP和TLS/SSL的协议组合在一起就是HTTPS,HTTPS=HTTP+T...

  • Https浅析

    网络请求是我们日常工作中比不可少的部分,http一般大家都熟练掌握,但https可能有不少同学有一些疑惑。先...

  • 浅析HTTPS

      日常开发中几乎所有的程序猿(媛)们都知道HTTPS是用来客户端和服务器进行的一种安全连接,可以有效的保证内容信...

  • Https原理浅析

    Https原理浅析 开始之前先简单bb一下,本人android码农一枚,工作多年一直向往写一些技术文章分享出去,但...

  • Https加密浅析

    目录1.概述2.加密算法3.数字证书4.根证书5.证书链6.证书的指纹和签名7.证书的验证8.整个通信流程概述9....

  • (Note) 浅析Https

    Thanks HTTPS理论基础及其在Android中的最佳实践聊聊HTTPS和SSL/TLS协议 理解HTTPS...

  • 网络模型(7层、5层、4层)

    转载链接:浅析:https://zhuanlan.zhihu.com/p/399152744[https://zh...

  • 【技术文章收集】提升

    GPUImage详细解析(十二)Sobel边界检测 https iOS 中 HTTPS 证书验证浅析 iOS 升级...

网友评论

    本文标题:HTTPS浅析

    本文链接:https://www.haomeiwen.com/subject/agywbttx.html