理解Https协议

    都知道HTTP协议,那HTTPS又是干什么的呢?

    HTTPS协议称为超文本传输安全协议,利用SSL/TLS来加密数据包,由HTTP进行通信的一种协议。


    正是由于HTTP的不安全,才出现的HTTPS,了解这个协议只需了解两个方面。1、HTTP不安全的体现。2、HTTPS如何保障安全的。

网络安全三要素

    私密性:就是你的服务双方的内容不应该被“中间人”获取。


    完整性:最常见的体现是篡改和伪装,篡改是指,拦截或访问信息后,攻击者可以修改信息使其对己有利。伪装是指,攻击者假扮成某人。例如伪装成服务器,向客户端提供相似的服务,然后获取客户端发来的信息。





    可用性:对授权实体随时可用。对可用性的攻击通常指的是Dos攻击。

HTTP的安全性分析

        首先HTTP是明文传输的,存在被窃听的风险,防止被窃听最好的办法就是加密,但加密也分两种方式,对称加密和非对称加密。两种方式各有优劣,对称加密容易被破解,一旦攻击者获得秘钥,那么通信两端传输的信息对攻击者来说就是明文的了。非对称加密有两个秘钥,公钥加密,对所有人公开,私钥解密,只在服务端保存,不能被泄露。非对称加密破解非常困难,攻击者不知道私钥的情况下无法窃取通信数据。但是非对称加密的效率非常低,对称加密和解密相对相对高效。为了解决这个问题,可以先用非对称加密的方式让通信双方协商一个对称的秘钥,本次连接的所有信息传输都用这个秘钥进行加解密,由于每次连接使用的秘钥都是随机的,攻击者就不能再短时间内将秘钥破解掉。如果以这种方式进行通信,则必须经历一下两个步骤:


        上述的第一个步骤中使用了非对称的加密方式,也就是说在通信前,客户端需要先获取服务端的公钥(或者说服务端的证书),然后才能用非对称的方式进行协商。问题是在获取公钥的过程中,也有可能被攻击者截获,然后攻击者将公钥替换成自己的公钥,那客户端用攻击者的公钥加密数据,会被攻击者解密。为了解决这个问题,客户端需要将获取到的公钥向双方都可信赖的第三方机构进行确认,当然服务端需要先在第三方机构备案自己的公钥,然后可信赖的第三方机构给服务端颁发证书(CA证书)。


        还有一个问题,在客户端准备验证服务端证书是否可信赖时,需要客户端先向第三方机构发送验证证书的请求,这个过程也有可能被攻击者拦截,所以这个过程同样需要加密,那么就必须要求认证机关的公开密钥必须安全地转交给客户端。使用通信方式 时,如何安全转交是一件很困难的事,因此,多数浏览器开发商发布 版本时,会事先在内部植入常用认证机关的公开密钥

    所以使用非对称加密方式进行共享秘钥协商的过程如下。


HTTPS协议

        网景公式设计了SSL(Secure Sockets Layer)协议用于对Http协议传输的数据进行加密,保证会话过程中的安全性。


        Https在建立Socket连接之前,需要进行握手,具体过程如下:


1. 客户端向服务端发送SSL协议版本号、加密算法种类、随机数等信息。

2. 服务端给客户端返回SSL协议版本号、加密算法种类、随机数等信息,同时也返回服务器端的证书,即公钥证书。

3. 客户端使用服务端返回的信息验证服务器的合法性,包括:

        a. 证书是否过期

        b. 发型服务器证书的CA是否可靠

        c. 返回的公钥是否能正确解开返回证书中的数字签名

        d. 服务器证书上的域名是否和服务器的实际域名相匹配

        验证通过后,将继续进行通信,否则,终止通信

4. 客户端向服务端发送自己所能支持的对称加密方案,供服务器端进行选择服务器端在客户端提供的加密方案中选择加密程度最高的加密方式。

5. 服务器将选择好的加密方案通过明文方式返回给客户端。

6. 客户端接收到服务端返回的加密方式后,使用该加密方式生成产生随机码,用作通信过程中对称加密的密钥,使用服务端返回的公钥进行加密,将加密后的随机码发送至服务器。

7. 服务器收到客户端返回的加密信息后,使用自己的私钥进行解密,获取对称加密密钥。 

8. 在接下来的会话中,服务器和客户端将会使用该密码进行对称加密,保证通信过程中信息的安全。


1. 客户端向服务端发送SSL协议版本号、加密算法种类、随机数等信息。

2. 服务端给客户端返回SSL协议版本号、加密算法种类、随机数等信息,同时也返回服务器端的证书,即公钥证书

4. 客户端使用服务端返回的信息验证服务器的合法性,包括:

        a. 证书是否过期

        b. 发型服务器证书的CA是否可靠

        c. 返回的公钥是否能正确解开返回证书中的数字签名

        d. 服务器证书上的域名是否和服务器的实际域名相匹配

        验证通过后,将继续进行通信,否则,终止通信

5. 服务端要求客户端发送客户端的证书,客户端会将自己的证书发送至服务端。

6. 验证客户端的证书,通过验证后,会获得客户端的公钥。

7. 客户端向服务端发送自己所能支持的对称加密方案,供服务器端进行选择服务器端在客户端提供的加密方案中选择加密程度最高的加密方式。

8. 将加密方案通过使用之前获取到的公钥进行加密,返回给客户端

9. 客户端收到服务端返回的加密方案密文后,使用自己的私钥进行解密,获取具体加密方式,而后,产生该加密方式的随机码,用作加密过程中的密钥,使用之前从服务端证书中获取到的公钥进行加密后,发送给服务端

10. 服务端收到客户端发送的消息后,使用自己的私钥进行解密,获取对称加密的密钥,在接下来的会话中,服务器和客户端将会使用该密码进行对称加密,保证通信过程中信息的安全。

为什么不一直使用 HTTPS

        既然 HTTPS 那么安全可靠,那为何所有的 Web 网站不一直使用 HTTPS ?

        其中一个原因是,因为与纯文本通信相比,加密通信会消耗更多的 CPU 及内存资源。如果每次通信都加密,会消耗相当多的资源,平 摊到一台计算机上时,能够处理的请求数量必定也会随之减少因此,如果是非敏感信息则使用 HTTP 通信,只有在包含个人信息 等敏感数据时,才利用 HTTPS 加密通信。

        除此之外,想要节约购买证书的开销也是原因之一。

        要进行 HTTPS 通信,证书是必不可少的。而使用的证书必须向认 证机构(CA)购买。证书价格可能会根据不同的认证机构略有不 同。通常,一年的授权需要数万日元(现在一万日元大约折合 600 人民币)。

        那些购买证书并不合算的服务以及一些个人网站,可能只会选择采 用 HTTP 的通信方式。

参考:《图解HTTP协议》Https单向认证和双向认证

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,670评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,928评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,926评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,238评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,112评论 4 356
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,138评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,545评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,232评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,496评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,596评论 2 310
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,369评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,226评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,600评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,906评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,185评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,516评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,721评论 2 335

推荐阅读更多精彩内容