关于 TLS『Hash 认证』的安全性的疑问 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
MFWT
V2EX    问与答

关于 TLS『Hash 认证』的安全性的疑问

  •  
  •   MFWT 2023-05-15 08:10:00 +08:00 1975 次点击
    这是一个创建于 928 天前的主题,其中的信息可能已经有所发展或是发生改变。

    『 Hash 认证』这个名字是我起的,可能不太准确,具体定义是:

    1. 服务端使用自签名证书,客户端忽略『一般意义上的』证书验证
    2. 通过预共享的方式,让客户端知晓服务器证书的 Hash 或其他特征值
    3. 建立连接时,客户端校验服务端送来的证书的 Hash ,确定『是这个证书没错』

    那么,在这样的情况下(不考虑更换证书什么的导致这个预共享的 Hash 需要一起更换,这是后话了),此时建立的 TLS 连接加密是没有问题的,但是是否还能做到『验证对端』这个功能呢?

    14 条回复    2023-05-18 14:49:40 +08:00
    joesonw
        1
    joesonw  
       2023-05-15 08:21:20 +08:00 via iPhone
    浏览器都内置了几个 CA 的证书用来校验服务器证书的。你自签的也是这个思路,系统安装你这个证书,或者其 CA
    Herobs
        2
    Herobs  
       2023-05-15 08:32:43 +08:00 via iPhone
    这个叫做证书 fingerprint ,相当于忽略了 CA 体系,当然可以验证对方的真实性,理论上更安全。
    0o0O0o0O0o
        3
    0o0O0o0O0o  
       2023-05-15 08:45:01 +08:00 via iPhone
    azure2023us559
        4
    azure2023us559  
       2023-05-15 08:55:57 +08:00 via Android
    服务端反向验证客户端?
    MFWT
        5
    MFWT  
    OP
       2023-05-15 08:57:21 +08:00
    @azure2023us559 不是,就是单纯验证服务器证书
    MFWT
        6
    MFWT  
    OP
       2023-05-15 08:58:32 +08:00
    @Herobs
    @0o0O0o0O0o

    了解了
        7
    monkeyWie  
       2023-05-15 09:11:58 +08:00
    这不就是 SSL Pinning 吗,可以防止中间人攻击
    ih8es9OIzne0959p
        8
    ih8es9OIzne0959p  
       2023-05-15 09:16:08 +08:00
    『 Hash 认证』这个应该是 http client hello
    ih8es9OIzne0959p
        9
    ih8es9OIzne0959p  
       2023-05-15 09:16:38 +08:00
    @ajaxgoldfish #8 TLS 握手
    villivateur
        10
    villivateur  
       2023-05-15 09:31:30 +08:00
    感觉这样的话,不如直接在本地保存一份服务端的证书,反正都得存点东西,与其存 hash ,不如存完整的证书
    sujin190
        11
    sujin190  
       2023-05-15 09:37:55 +08:00
    @MFWT #5 CA 的体系不就是你说的这个么,只不过系统都集成好了,标准的证书校验本来就是用预制 CA 来校验证书签名,你说的这个预共享的 Hash 其实就是预先安装的 CA 证书,如果不方便安装的话而且似乎大部分语言发起 TLS 的时候都能手动指定 CA 证书吧
    churchmice
        12
    churchmice  
       2023-05-15 10:26:59 +08:00
    @villivateur #10 这两种方式是等价的,hash 存放更省空间,也更好管理
    理论上有 hash 碰撞的可能,但是实际上没有
    MFWT
        13
    MFWT  
    OP
       2023-05-15 10:37:21 +08:00
    @sujin190

    主要是用途比较特殊,比如我现在是做 SS 配合 simple-tls 插件使用,这个插件就支持 Pinning ,既然楼上大佬都说安全性上和『直接安装可信证书』没有什么区别,那么我觉得 Hash 可能会方便些
    julyclyde
        14
    julyclyde  
       2023-05-18 14:49:40 +08:00
    @MFWT 那不会的
    自己山寨一套总比使用行业标准要更麻烦
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     864 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 22:05 PVG 06:05 LAX 14:05 JFK 17:05
    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