关于HTTPS

转载请注明出处
作者:@ZJXin
由于本人水平有限,如有不正确的地方欢迎留言指出,谢谢!

一、HTTPS基础知识

基础知识

什么是HTTPS

HTTPS(Hypertext Transfer Protocol Security),安全超文本传输协议,在http后面加上的s代表 security,表示现在使用的是提供安全服务的HTTP协议。它使用安全套接字层(SSL)进行信息交换,简单来说,它是HTTP的安全版,是使用SSL/TLS加密的HTTP协议。

HTTP协议采用明文传输信息,存在信息窃听、信息篡改和信息劫持的风险,而协议TLS/SSL具有身份验证、信息加密和完整性校验的功能,可以避免此类问题发生。

HTTPS是在HTTP上建立SSL加密层,并对传输数据进行加密,是HTTP协议的安全版。HTTPS协议的主要作用是:

  1. 对数据进行加密,并建立一个信息安全通道,来保证传输过程中的网络安全
  2. 对网站服务器进行真实身份认证

HTTPS和HTTP的区别

  1. HTTPS是加密传输协议,HTTP是明文传输协议
  2. HTTPS需要用到SSL证书,而HTTP不用
  3. HTTPS标准443,HTTP标准端口80
  4. HTTPS基于传输层,HTTP基于应用层

HTTPS的大致过程

  1. 建立服务器443端口连接
  2. SSL握手:随机数,证书,密钥,加密算法
  3. 发送加密请求
  4. 发送加密响应
  5. 关闭SSL
  6. 关闭TCP

二、TLS/SSL工作原理

安全套接字层 SSL(Secure Socket Layer)
运输层安全 TLS(Transport Layer Security)

SSL作用在端系统应用层的HTTP和运输层之间,在TCP之上建立起一个安全通道,为通过TCP传输的应用层数据提供安全保障。

IETE在SSL3.0的基础上设计了TLS协议,为所有基于TCP的网路应用提供安全数据传输服务。

TLS/SSL的功能实现主要依赖于三类基本算法: 散列函数对称加密非对称加密,其利用非对称加密实现身份认证和密钥协商,对称加密算法采用协商的密钥对数据加密,基于散列函数验证信息的完整性。

SSL提供的安全服务可以归纳为以下三类:

  1. SSL服务器鉴别,允许用户证实服务器的身份。支持SSL的客户端通过验证来自服务器的证书,来鉴别服务器的真实身份并获得服务器的公钥。
  2. SSL客户鉴别,SSL的可选安全服务,允许服务器证实客户的身份
  3. 加密的SSL会话,对客户和服务器间发送的所有报文进行加密,并检测报文是否被篡改

TLS的基本工作方式是,客户端使用非对称加密与服务器进行通信,实现身份验证并协商对称加密使用的密钥,然后对称加密算法采用协商密钥对信息以及信息摘要进行加密通信,不同的节点之间采用的对称密钥不同,从而可以保证信息只能通信双方获取。

二、SSL握手

SSL握手的大致过程

  1. 客服端发送随机数①,以及支持的加密算法(如RSA公钥加密算法)
  2. 服务端发送随机数②,以及服务器公钥,并确认加密方法
  3. 客户端发送用服务器公钥加密的随机数③
  4. 服务器用私钥解密这个随机数③,用加密方法计算生成对称加密的密钥给客户端
  5. 接下来的报文都用双方协定好的加密方法和密钥,进行加密通信

SSL握手的详细过程

(一) 客户端发出加密通信请求client_hello

提供:

  1. 协议版本(如TSL1.0)
  2. 随机数①(用于生成对话密钥)
  3. 支持的加密方法(如RSA加密)
  4. 支持的压缩方法

(二) 服务器回应server_hello

回应内容:

  1. 确认使用的加密通信协议版本
  2. 随机数②(用于生成对话密钥)
  3. 确认加密算法(RSA)
  4. 服务器证书(包含非对称加密的公钥)
  5. (可选)要求客户端提供证书请求

(三) 客户端验证证书

如果证书不是可信即构颁布,或证书域名与实际域名不符,或者证书已经过期,就会向访问者显示一个警告,是否继续通信

(四) 客户端回应

证书没问题,就会取出证书中的服务器公钥
然后发送:

  1. 随机数③(pre-master key,此随机数用服务器公钥加密,防止被窃听)
  2. 编码改变通知(表示随后的信息都将用双方商定的方法和密钥发送)
  3. 客户端握手结束通知

(五) 双方生成会话密钥

双方同时有了三个随机数,接着用事先商定的加密算法,各自生成同一把会话密钥

服务端用自己的非对称加密私钥解密随机数③,会计算生成本次所用的会话密钥(对称加密的密钥)

(六) 服务器最后响应

服务器生成会话密钥后,向客户端发送:

  1. 编码改变通知
  2. 服务器握手结束

至此,握手阶段全部结束,接下来客户端与服务器进入加密通信,用会话密钥加密内容

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

推荐阅读更多精彩内容