HTTPS

一、背景

  • 对于大规模的购物、银行事务或访问机密数据来说,这些重要的事务需要将 HTTP和数字加密技术结合起来使用,才能确保安全;
  • 目标:
    1)服务器认证 (客户端知道它们是在与真正的而不是伪造的服务器通话);
    2)客户端认证 (服务器知道它们是在与真正的而不是伪造的客户端通话);
    3)完整性 (客户端和服务器的数据不会被修改);
    4)加密 (客户端和服务器的对话是私密的,无需担心被窃听);
    5)效率 (一个运行的足够快的算法,以便低端的客户端和服务器使用);
    6)普适性 (基本上所有的客户端和服务器都支持这些协议);
    7)管理的可扩展性 (在任何地方的任何人都可以立即进行安全通信);
    8)适应性 (能够支持当前最知名的安全方法);
    9)在社会上的可行性 (满足社会的政治文化需要);

二、HTTPS

  • HTTPS经由HTTP进行通信,但利用SSL/TLS来加密数据包,HTTPS开发的主要目的,是提供对网站服务器的身份认证,保护交换数据的隐私与完整性;
  • 使用HTTPS时,所有的HTTP请求和响应数据在发送到网络之前,都要进行加密,HTTPS在HTTP下面提供了一个传输级的密码安全层,可以使用SSL,也可以使用其后继者——传输层安全(Transport Layer Security,TLS);


    HTTPS
  • 不使用SSL/TLS的HTTP通信,即不加密的通信,所有信息明文传播,带来了三大风险:
    1)窃听风险(eavesdropping):第三方可以获知通信内容;
    2)篡改风险(tampering):第三方可以修改通信内容;
    3)冒充风险(pretending):第三方可以冒充他人身份参与通信;
  • SSL/TLS协议是为了解决这三大风险而设计的,希望达到:
    1)所有信息都是加密传播,第三方无法窃听;
    2)具有校验机制,一旦被篡改,通信双方会立刻发现;
    3)配备身份证书,防止身份被冒充;
  • 密钥
    1)密钥:改变密码行为的数字化参数;
    2)对称密钥加密系统:编 / 解码使用相同密钥的算法;
    3)不对称密钥加密系统:编 / 解码使用不同密钥的算法;
    4)公开密钥加密系统:一种能够使数百万计算机便捷地发送机密报文的系统;
    5)数字签名:用来验证报文未被伪造或篡改的校验和;
    6)数字证书:由一个可信的组织验证和签发的识别信息;
  • 请求一个客户端(比如web浏览器),对某web资源执行某事务时,它会去检查URL的方案:
    1)如果URL的方案为HTTP,客户端就会打开一条到服务器端口80(默认情况下)的连接,并向其发送老的HTTP命令;
    2)如果 URL的方案为HTTPS,客户端就会打开一条到服务器端口443(默认情况下)的连接,然后与服务器“握手(建立连接和交换参数)”,以二进制格式与服务器交换一些SSL安全参数,附上加密的HTTP命令;
    SSL是个二进制协议,与HTTP完全不同,其流量承载是在另一个端口上的,如果SSL和HTTP流量都从端口80到达,大部分web服务器会将二进制SSL流量理解为错误的HTTP并关闭连接;


    HTTPS请求过程

    (1)客户使用HTTPS的URL访问Web服务器,要求与Web服务器建立SSL连接;
    (2)Web服务器收到客户端请求后,会将网站的证书信息(证书中包含公钥)传送一份给客户端;  
    (3)客户端的浏览器与Web服务器开始协商SSL/TLS连接的安全等级,也就是信息加密的等级;  
    (4)客户端的浏览器根据双方同意的安全等级,建立会话密钥,然后利用网站的公钥将会话密钥加密,并传送给网站;
    (5)Web服务器利用自己的私钥解密出会话密钥; 
    (6)Web服务器利用会话密钥加密与客户端之间的通信;

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

推荐阅读更多精彩内容