9

请教目前浏览器 HTTPS 中对称加密使用的是哪种算法?

 3 years ago
source link: https://www.v2ex.com/t/783059
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

V2EX  ›  程序员

请教目前浏览器 HTTPS 中对称加密使用的是哪种算法?

  brader · 10 小时 47 分钟前 · 1546 次点击

引言: HTTPS 请求,开始时候是使用 RSA 算法(非对称加密算法)来传输客户端密钥的,后续数据传输,都是使用客户端密钥来加解密(对称加密算法)数据的。

请问这个 HTTPS 请求过程中,使用的 对称加密算法,是哪种对称加密算法?是 DES 吗?

面试被问住了。。。百度了好久,都是只说到,数据部分用了对称加密算法,但是没有具体说,浏览器用的哪种对称加密算法。

16 条回复    2021-06-12 21:55:15 +08:00

pkoukk

pkoukk   10 小时 38 分钟前

根据 TLS 和 SSL 版本而定,每个版本都有自己支持的算法列表。
DES 应该早被淘汰了,最低也是 3DES

alex8

alex8   10 小时 38 分钟前

多了,现在常用比如 AES-128-GCM
面试的运维么

slert

slert   10 小时 33 分钟前

是 AES 比 DES 更安全点吧
不过其实我感觉知不知道这个根本不重要

lululau

lululau   10 小时 31 分钟前 via iPhone

如果面的不是浏览器开发的话,出这个题的就是脑子有包吧

muzuiget

muzuiget   9 小时 58 分钟前

关键词“密码套件”,一个密码套件字符串类似 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,主流就是 AES 。

phpc

phpc   9 小时 56 分钟前

firefox 可以看。

brader

brader   9 小时 53 分钟前

@lululau 我也觉得面试官有点故意为难人,让我详细叙述 HTTPS 流程,我答完流程,又一直深问,我答完用到对称加密,又继续问用什么对称加密。。。无限深挖啊

brader

brader   9 小时 51 分钟前

@phpc 原来是 AES,可以受教了

geekvcn

geekvcn   9 小时 49 分钟前 via iPhone

// TLS 1.0 - 1.2 cipher suites.
TLS_RSA_WITH_RC4_128_SHA
TLS_RSA_WITH_3DES_EDE_CBC_SHA
TLS_RSA_WITH_AES_128_CBC_SHA
TLS_RSA_WITH_AES_256_CBC_SHA
TLS_RSA_WITH_AES_128_CBC_SHA256
TLS_RSA_WITH_AES_128_GCM_SHA256
TLS_RSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_ECDSA_WITH_RC4_128_SHA
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
TLS_ECDHE_RSA_WITH_RC4_128_SHA
TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA25
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA25
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA38
TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256

// TLS 1.3 cipher suites.
TLS_AES_128_GCM_SHA256
TLS_AES_256_GCM_SHA384
TLS_CHACHA20_POLY1305_SHA256

geekvcn

geekvcn   9 小时 39 分钟前 via iPhone   ❤️ 1

主流的是 AES-128-GCM CHACHA20-POLY1305
RC4 3DES 都是要被淘汰的,更具客户端环境自适应是 AES 还是 CHACHA20,有硬件 AES 的使用 AES,没硬件 AES 的用 CHACHA20

0xsui

0xsui   6 小时 27 分钟前 via Android

面试啥工作,问这方面问题

brader

brader   5 小时 58 分钟前

@0xsui 就 PHP

jim9606

jim9606   5 小时 11 分钟前

分享一个 2015 年收藏的系统介绍 TLS 的博文( https://blog.helong.info/post/2015/09/06/tls-protocol-analysis-and-crypto-protocol-design/ ),不过那是 TLS1.3 还在草案阶段。

目前主流的对称加密方法都是 AEAD 模式的 AES(AES_xxx_GCM_SHAxxx)或 CHACHA20-POLY1305,OpenSSL1.1.1 的 TLS1.3 实现只支持这两大类。

icyalala

icyalala   3 小时 31 分钟前

看服务端和客户端的支持,握手时的选择。
比如 Chrome 打开开发者工具,Security 选项卡,V 站目前是:
Certificate - Cloudflare Inc ECC CA-3.
Connection - TLS 1.3, X25519, and AES_128_GCM.

aneureka

aneureka   2 小时 38 分钟前 via iPhone

关于 HTTPS,我觉得这篇文章写的非常好,楼主可以参考一下,顺便用 wireshark 抓抓包

https://halfrost.com/https-begin/

xckai123

xckai123   13 分钟前

最终使用的加密算法是个确定范围的动态协商值,前端开发能知道分阶段使用对称非对称加密个人感觉已经算是不错了,这年头面试不仅仅要造火箭 还要造材料了

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK