关于TLS经验小结(下)

上期我们说到对称加密算法

AES DES

目前使用的几乎都是AES-GCM(DES安全性太差基本处于废弃状态)

那除了这两种还有其他的吗?

答案是有的

ChaCha20

那这种算法与AES-GCM相比有什么特别之处呢?

image

上图展示的是CHACHA20-Poly1305 与 AES-GCM 两种对称加密算法的加密效率。

从这张图中我们可以看到 ChaCha20的加密速度比AES快了差不多3倍左右。那为什么现在的网站打开都基本上AES-GCM呢?

仔细看图我们可以看到,这是基于ARM架构的移动端CPU的加密速度。CHACHA20虽然在移动端CPU架构上加解密速度非常快,但是在传统>的x86架构上却比AES慢。再加上支持CHACHA20的证书比较难申请的到。所以导致了现在的网站打开都基本上AES-GCM。

不过如果业务主要针对是移动端并且服务端硬件配置比较好且申请到了支持CHACHA20的证书。由于该算法在移动端加解密速度非常快。
所以能够得到较好的用户体验。(虽然从运维的角度来说应该尽量降低服务器的负载,将负载转移到用户端比较好。主要还是看如何取
舍)

关于TLS1.3

首先我们了解下正常的https请求的流程:

image

从图片中我们可以看到http的延迟时间大概在56ms

而https因为是在http协议上额外增加了tls协议所以延迟时间大概需要168ms(http+tls)

由此可以看出使用https确实会给网站的打开速度产生影响,最直接的就是用户打开网站速度变慢。而且当用户不小心断开之后又要重>新走完这整一套的步骤。那有什么办法可以规避这种办法呢?

session id

image
image

session id是一种用户断线重连之后能快速建立连接的一种方法。原理非常简单,当用户与服务器第一次成功完成握手之后,服务器>端生成一个session id 自身保存一份,另外一份发送给客户端。当客户端断线重连之后客户端像服务端发送session id 如果服务端发
现这个id存在。则免去繁琐的tls握手步骤 直接连接。从图中我们也看到采用这样的方式延迟时间降低了50%左右

但是方法不适合分布式架构的业务,原因在于session id 是在每一台服务器中生成的。所以当客户端重连后连接到服务器的另外一台
后端业务服务器就会因为没有id 而重新进行一次完整握手。

session ticket

image

session ticket的原理与session id 相同只不过session ticket 不是生成id 而是根据服务器上的ticket key 加密一个数据blob发>送给客户端,然后客户端重连时发送blob给服务器,服务器解密这个blob来判断是否是重连用户从而免去繁琐的tls握手步骤。采取这>样的方式的好处就是我们可以将session key 存储在所有的分布式后端业务服务器上。这样不管用户重连到哪一台服务器都可以通过session key来解密判断是否为重连用户。

那我们有更简单方便的方法吗?

有的,那就是tls1.3!

image

如上图:

tls1.3是最新的tls协议版本。
废弃了很多年老安全性差的算法并且采用了更优秀的握手机制。

tls1.3 移除了RSA握手机制,采用了(EC)HDE 握手机制(RSA与DH的优缺点在(对称加密模式在关于TLS经验小结(上)中有介绍)

移除CBC对称加密模式,采用AEAD模式(对称加密模式在关于TLS经验小结(中)中有介绍)

以及其他的特性。具体详见

其中最瞩目的莫过于新的握手协商机制

TLS1.3


image

TLS1.2


image
)

如上图tls1.3协议将之前tls1.2需要的步骤整合在一起,然后集中传输。减少了握手次数,从而大幅减少了延迟时间。加快了网站访问
速度,使我们再也不用去纠结不上https不安全,上了https访问速度慢的历史性问题。

总结

从之前讲的算法到握手机制。使大家对整个tls协议有了一个大概的认识。从生产环境角度来说,采用ECDH
+ECDSA+AES-GCM的 ECC证书是目前在安全性和性能上都相对平衡的一种证书种类。本站的证书就是采用了ECC证书。
关于ECC证书可以查看
在此感谢峰哥的一次知识分享让我了解到了相关的知识(文章中的一些示例图也源于峰哥的ppt)

想具体了解大佬可以访问以下博客更深入的了解

TLS 1.3 如何用性能为 HTTPS 正名

图解SSL/TLS协议

分组密码工作模式

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

推荐阅读更多精彩内容