HTTPS=加密信息传输+身份验证

1.HTTP的痛点

超文本传输协议HTTP通常用于在客户端和服务器端进行通信。但是,由于HTTP在发送消息时,不会对信息进行任何形式的加密,因此,可以说:在客户端和服务器端之间来回穿梭的消息都是处于“裸奔”状态。可以试想一下,我们的一举一动一切信息就这样随时都有可能被人偷窥。因此,HTTP不适合一些敏感信息(如密码、交易等)的传送。这是HTTP最大的痛点所在——不安全。

2.HTTPS相对于HTTP的改进

既然HTTP协议那么不安全,一个相对安全的HTTPS协议便诞生了。
HTTPS是在HTTP的基础上,又加入了SSL层,SSL层才是HTTPS安全性的关键所在。那么,SSL又是怎么保证安全性的呢?
总的来说,SSL层主要从两个方面保证了安全性:加密信息传输身份验证

2.1 加密信息传输

说到加密,有必要说说两种常见的加密方式:对称加密和非对称加密。

  • 对称加密
    顾名思义,这种加密方式中加密和解密方式是对称的,信息的加密和解密共用一个秘钥key。通常是发送方和接收方首先约定一个秘钥key,然后双方用同一个key进行相互通信。
    那么问题来了:发送方和接收方如何约定这个共同的秘钥key呢?你可能会说:发送方发送信息的时候,直接把密钥连同信息一起发过去好了,可是,中间的恶意拦截者也可以轻松拿到密钥,并且拿到key之后也能轻松解密信息。
    看到了吧,这种加密方法的症结就在于加密和解密都共用同一个密钥,恶意中间方拿到key之后可以轻易解密信息。发送方和接收方无法约定密钥,因为在信息世界,无论你怎么搞,约定密钥过程中都有可能被恶意中间方窃取到密钥,有了密钥就有了解开信息的钥匙!
  • 非对称加密
    与对称加密不同,非对称加密会生成两个密钥:公钥和私钥。二者就像是磁铁正负两级:一段信息经过公钥加密,只有私钥才能解开;经过私钥加密,只有公钥才能解开。
    这下好了,有了这种非对称加密算法,我们再来看看发送方和接收方约定密钥key的问题。
    假设通信双方为A和B
  • A首先生成公钥PubKey和私钥PriKey。
  • A将私钥留在自己手里,只把公钥PubKey发送给B(恶意中间方窃取到PubKey并没什么用,因为PubKey加密的信息,只有PriKey才能解开,而PriKey在发送方手里!)。
  • B收到公钥PubKey后,生成一个密钥key,并将其用PubKey加密,发送回给A。
  • A收到后,用自己的私钥PriKey解开,得到B之前生成的key。
    这样A和B便完成了一次密钥key的信息交换,达到了通信双方约定key的目的。

约定key完成之后,发送方和接受方将采用对称加密的方式进行后续的通信。


image.png

SSL层就是首先采用非对称加密完成双方约定key的过程,然后再使用对称加密的方式进行后续通信。

那么,为什么不直接用非对称加密来加密信息,而是通过非对称加密约定key,然后用key进行对称加密信息呢?原因在于非对称加密和解密的耗时比较长,因此为了提高效率,通常只用非对称加密交换密钥,真正的信息通信还是利用对称加密

2.2 身份验证

2.1中提到SSL通过非对称加密和对称加密相结合的方式,实现信息的加密传输。但是,仍然存在被恶意中间层恶意攻击的危险。
看下面这种场景:
假设A和B要进行通信:

  • A生成公钥和私钥,然后把公钥发给B。
  • 中间者M伪装为B,并生成一个key,利用公钥加密,发回给A;这样,A以为和B建立了联系,实际上却是和M进行通信。
  • 同时M自己生成另外一对公钥和私钥,将自己伪装成A,和B进行一次密钥交换。这样,B以为自己和A建立了联系,实际上却是和M进行通信。


    image.png

这种情况下,M通过伪装,依然可以窃取A和B之间的通信信息。

为了解决身份认证的问题,SSL层引入了一个非常权威的第三方,我们称这个第三方为CA(Certificate Authority)。各个网站服务商可以向CA申请证书,CA则向网站服务商颁发证书。这样,以后网站之间在建立连接时带上他们的证书签名,如果只有建立连接的网站有合法的证书,才会被浏览器认为是安全的(浏览器安装时,会带有一个默认的安全的CA证书列表)。
那么,CA的证书可以完全信任吗?拥有它证书的网站就一定是安全的吗?答案是不一定,但通常情况下,是值得信任的。一旦某个CA颁发的某个证书被发现非法,那么这个CA颁发过的所有证书都会被认为非法,因此在这种惩罚措施下,CA颁发证书都会比较严格。

2.3 HTTPS工作原理

基于前面所说的“加密信息传输”和“身份验证”,HTTPS的工作原理就很容易理解了。我们详细看一下HTTPS的工作流程。
STEP1:首先,由客户端发起HTTPS请求。客户端发起请求时,会带上自己支持的加密规则和Hash算法列表。

HTTPS一般使用的加密与HASH算法如下:

  • 非对称加密算法:RSA,DSA/DSS
  • 对称加密算法:AES,RC4,3DES
  • HASH算法:MD5,SHA1,SHA256

STEP2:服务器端收到客户端请求后,从客户端提供的加密规则列表中选择一组加密算法和HASH算法,并将自己的身份信息通过证书的形式发送给客户端。(证书信息包括:服务器地址、加密公钥、颁发机构等信息)。
STEP3:客户端收到证书信息,校验证书的合法性(浏览器有一个合法证书机构列表)。如果校验证书是合法的或者客户端用户选择信任不安全的证书,则客户端会生成一个随机的key,并用证书中提供的公钥加密。
STEP4:客户端将加密过后的key加密之后,发送给服务器端。
STEP5:服务器端收到之后,用证书中的私钥解密,得到key。这样,客户端和服务器端就完成了一次密钥交换。
STEP6:客户端和服务器端的以后通信都采用key进行对称加密的方式来进行。

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

推荐阅读更多精彩内容