请教目前浏览器 HTTPS 中对称加密使用的是哪种算法? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
brader
V2EX    程序员

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

  •  1
     
  •   brader 2021-06-12 11:20:51 +08:00 4816 次点击
    这是一个创建于 1651 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

    20 条回复    2021-06-13 15:54:39 +08:00
    pkoukk
        1
    pkoukk  
       2021-06-12 11:29:45 +08:00
    根据 TLS 和 SSL 版本而定,每个版本都有自己支持的算法列表。
    DES 应该早被淘汰了,最低也是 3DES
    xaxb
        2
    xaxb  
       2021-06-12 11:30:02 +08:00
    多了,现在常用比如 AES-128-GCM
    面试的运维么
    slert
        3
    slert  
       2021-06-12 11:34:39 +08:00
    是 AES 比 DES 更安全点吧
    不过其实我感觉知不知道这个根本不重要
    lululau
        4
    lululau  
       2021-06-12 11:36:41 +08:00 via iPhone
    如果面的不是浏览器开发的话,出这个题的就是脑子有包吧
    muzuiget
        5
    muzuiget  
       2021-06-12 12:10:17 +08:00
    关键词“密码套件”,一个密码套件字符串类似 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,主流就是 AES 。
    phpc
        6
    phpc  
       2021-06-12 12:11:54 +08:00
    firefox 可以看。
    brader
        7
    brader  
    OP
       2021-06-12 12:15:35 +08:00
    @lululau 我也觉得面试官有点故意为难人,让我详细叙述 HTTPS 流程,我答完流程,又一直深问,我答完用到对称加密,又继续问用什么对称加密。。。无限深挖啊
    brader
        8
    brader  
    OP
       2021-06-12 12:17:10 +08:00
    @phpc 原来是 AES,可以受教了
    geekvcn
        9
    geekvcn  
       2021-06-12 12:19:29 +08:00 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
        10
    geekvcn  
       2021-06-12 12:29:14 +08:00 via iPhone   2
    主流的是 AES-128-GCM CHACHA20-POLY1305
    RC4 3DES 都是要被淘汰的,更具客户端环境自适应是 AES 还是 CHACHA20,有硬件 AES 的使用 AES,没硬件 AES 的用 CHACHA20
    0xsui
        11
    0xsui  
       2021-06-12 15:41:25 +08:00 via Android
    面试啥工作,问这方面问题
    brader
        12
    brader  
    OP
       2021-06-12 16:09:38 +08:00
    @0xsui 就 PHP
    jim9606
        13
    jim9606  
       2021-06-12 16:57:35 +08:00   1
    分享一个 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
        14
    icyalala  
       2021-06-12 18:37:24 +08:00
    看服务端和客户端的支持,握手时的选择。
    比如 Chrome 打开开发者工具,Security 选项卡,V 站目前是:
    Certificate - Cloudflare Inc ECC CA-3.
    Connection - TLS 1.3, X25519, and AES_128_GCM.
    aneureka
        15
    aneureka  
       2021-06-12 19:30:25 +08:00 via iPhone   1
    关于 HTTPS,我觉得这篇文章写的非常好,楼主可以参考一下,顺便用 wireshark 抓抓包

    https://halfrost.com/https-begin/
    xckai123
        16
    xckai123  
       2021-06-12 21:55:15 +08:00
    最终使用的加密算法是个确定范围的动态协商值,前端开发能知道分阶段使用对称非对称加密个人感觉已经算是不错了,这年头面试不仅仅要造火箭 还要造材料了
    yolee599
        17
    yolee599  
       2021-06-13 10:24:52 +08:00 via Android
    对称加密用 AES
    ryougifujino
        18
    ryougifujino  
       2021-06-13 10:27:36 +08:00 via iPhone
    这是要求背 spec 啊
    no1xsyzy
        19
    no1xsyzy  
       2021-06-13 15:32:15 +08:00
    你真没搞错面试的职位吗?浏览器开发大部分情况下也不碰这些,也不该随便动这些模块。
    这是搞风控(浏览器环境识别)吧?
    lookas2001
        20
    lookas2001  
       2021-06-13 15:54:39 +08:00   2
    补充一条,chrome f12 进 devtool 切换到 security 标签页可以看到当前 https 使用的加密算法集
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3370 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 10:23 PVG 18:23 LAX 02:23 JFK 05:23
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86