老坛の菜园子

好记性不如乱笔头


  • 首页

  • 分类41

  • 标签31

  • 归档348

  • 关于

  • 搜索

低版本浏览器对HTTPS支持问题

发表于 2022-02-27 | 分类于 HTTPS
各个浏览器对HTTPS相关的支持情况,可以在《Qualys ssltest页面》查看,也可以通过《Qualys兼容性页面》查看某个浏览器对HTTPS支持的非常详细的一些属性。 老旧浏览器不兼容HTTPS主要体现在如下几个方面: (1)只支持SSLv2/SSLv3协议 IE 6只支持SSLv2和SSLv3,也就是说HTTPS网站要支持IE 6,就必须启用SSLv3。 (2)加密套件不匹配 有些浏览器仅仅支持有限的CipherSuite,而这些有限的加密套件由于安全问题或其他原因在有些网站的服务器中 ...
阅读全文 »

椭圆曲线密码学ECC简介

发表于 2022-02-27 | 分类于 Security
椭圆曲线密码学ECC,全称为Elliptic Curve Cryptography,中文名为椭圆曲线密码学,是一种基于椭圆曲线数学的非对称加密算法。椭圆曲线在密码学中的使用是在1985年由Neal Koblitz和Victor Miller分别独立提出的。ECC的主要优势是在某些情况下它比其他的算法(比如RSA加密算法)使用更小的密钥并提供相当的或更高等级的安全。 椭圆曲线可以用于3个方面:一类是基于椭圆曲线的公钥密码;一类是基于椭圆曲线的数字签名;一类是基于椭圆曲线的密钥交换。 目前比较常用的 ...
阅读全文 »

HTTPS中Keyless SSL方案

发表于 2022-02-27 | 分类于 HTTPS
Keyless SSL方案,也即HTTPS卸载。 在使用第三方CDN的HTTPS服务时,如果要使用自己的域名,需要把对应的证书私钥给第三方,这也是一件风险很高的事情。CloudFlare公司针对这种场景研发了Keyless SSL技术。你可以不把证书私钥给第三方,改为提供一台实时计算的Key Server即可。CDN要用到私钥时,通过加密通道将必要的参数传给Key Server,由Key Server算出结果并返回即可。整个过程中,私钥都保管在自己的Key Server之中,不会暴露给第三方。 ...
阅读全文 »

常用的密钥协商Key Agreement算法介绍

发表于 2022-02-27 | 分类于 HTTPS
密钥协商算法简介密钥协商算法主要有三类: (1)依靠非对称加密算法 (2)依靠专门的密钥交换算法 (3)依靠通讯双方事先已经共享的秘密(如PSK)等 DH,Diffie-Hellman算法Diffie-Hellman密钥交换(Diffie-Hellman key exchange)是1976年由Whitfield Diffie和Martin Hellman共同发明的一种算法。使用这种算法,通信双方仅通过交换一些可以公开的信息就能生成出共享的对称密码的密钥。虽然这种算法叫“密钥交换”,但是实际上并 ...
阅读全文 »

加密套件Cipher Suites

发表于 2022-02-26 | 分类于 HTTPS
加密套件Cipher Suites简介Cipher Suite加密套件。在HTTPS的交互过程中,需要有“密钥协商算法”、“数字签名算法”,“对称加密算法”以及“数据散列算法(数字签名生产和验证的时候会使用)”。常用的加密套件有: Cipher Suite中包含了多种技术,包括认证算法Authentication、加密算法Encryption、消息认证码算法Message Authentication Code(MAC)、密钥交换算法Key Exchange和密钥衍生算法Key Derivat ...
阅读全文 »

TLS1.3握手交互过程分析

发表于 2022-02-26 | 分类于 HTTPS
TLS1.3首次完整握手过程(1-RTT)TLS1.3版本以DH密钥协商的过程如下: support_groups提供了Client所能支持的所有密钥协商算法,然后Client通过key_share将各个密钥协商算法对应client的共享参数,提前发送给服务端,然后由服务端来选择使用那个密钥协商算法和共享参数。 首次完整握手完成以后,还会发送NewSessionTicket消息。在TLS1.3中,这个消息中会带early_data的扩展。如果有early_data这个扩展,就表明Server ...
阅读全文 »

TLS协议中扩展Extension简介

发表于 2022-02-26 | 分类于 HTTPS
扩展Extensions简介扩展是TLS比较重要的一个知识点。它的存在能让Client和Server在不更新TLS版本的基础上,获得新的能力。Extension是TLS中的一系列可水平扩展的插件,是TLS中握手协议中ClientHello和ServerHello报文中的字段信息。 Client在ClientHello中申明多个自己可以支持的Extension,以向Server表示自己有以下这些能力,或者向Server协商某些协议。Server收到ClientHello以后,依次解析Extensi ...
阅读全文 »

TLS1.2中会话恢复机制中SessionID和SessionTicket

发表于 2022-02-26 | 分类于 HTTPS
SSL中会话Session简介SSL中的Session会跟HTTP的Session类似,都是用来保存客户端和服务端之间交互的一些记录。在SSL协议中一次TLS握手(密钥协商)的结果是建立了一条对称加密的数据通道,这条对称加密的数据通道的相关参数都是可以保存的,我们把这个信息称为TLS中Session信息,使用这个Session信息就可以直接复原对称加密的通信通道,从而省去了密钥协商的过程。 不管是SessionCache,SessionTicket,还是TLS1.3中的PSK,都是为了解决对称加 ...
阅读全文 »

TLS1.2握手交互过程分析

发表于 2022-02-26 | 分类于 HTTPS
TLS1.2首次完整握手过程(2-RTT)TLS1.2版本以RSA密钥协商的过程如下: TLS1.2版本以DH密钥协商的过程如下: 备注:带星号*是表示是非必须的,可选择的,如客户端给服务端发送证书这个就是可选,不是所有的都需要双向验证的。其中ServerKeyExchange/ClientKeyExchange这两个报文是双方用来交换一些参数的,这些参数将来会用来生成对称密钥的。其中带中括号[]的ChangeCipherSpec表示它不是一个HandShake协议的一种报文,而是一个独立 ...
阅读全文 »

HTTPS中TLS/SSL协议结构分析

发表于 2022-02-26 | 分类于 HTTPS
TLS/SSL协议结构TLS/SSL协议位于应用层和传输层TCP协议之间。 TLS粗略地又可以划分为两层: (1)靠近应用层的握手协议TLS Handshaking Protocols (2)靠近TCP的记录层协议TLS Record Protocol TLS握手协议TLS Handshaking Protocols还能细分为5个子协议: (1)change_cipher_spec (在TLS 1.3中这个协议已经删除,为了兼容TLS老版本,可能还会存在) (2)alert (3)handsh ...
阅读全文 »
1234…35
锄禾小生

锄禾小生

348 日志
40 分类
31 标签
GitHub E-Mail Google Twitter
© 2023 锄禾小生
Hosted by 老坛の菜园子