有 https 还需要数字签名吗? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
hhhhhh123
V2EX    程序员

有 https 还需要数字签名吗?

  •  
  •   hhhhhh123 2022-12-06 14:18:26 +08:00 3847 次点击
    这是一个创建于 1047 天前的主题,其中的信息可能已经有所发展或是发生改变。
    13 条回复    2022-12-07 10:10:47 +08:00
    weeei
        1
    weeei  
       2022-12-06 15:51:31 +08:00
    看用途,只是加密数据当然不需要。
    catro
        2
    catro  
       2022-12-06 15:58:42 +08:00
    HTTPS 能防止中间人攻击,但是无法防止终端的攻击。数字签名不仅可以用在 HTTPS ,还能用在其它需要签名的数据中。
    Yeen
        3
    Yeen  
       2022-12-06 16:11:04 +08:00
    数字签名主要是用于验证证分发的内容没有被篡改
    比如 exe ,dll
    tool2d
        4
    tool2d  
       2022-12-06 16:16:46 +08:00   1
    你看 oauth 规范,第一版是基于 http 的,就选择了公钥私钥和数字签名。

    但是由于流程过于复杂,第二版做了化简,但是强制要求在 https 下才能运行。

    各大厂的普通授权 API ,也没做强制数字签名处理,前提默认你操作的 https 终端,是可信任的。

    也有特例,比如电子支付,只能堆代码加安全系数了。
    blackshow
        5
    blackshow  
       2022-12-06 16:28:41 +08:00   2
    数字签名是防篡改,https 是通道加密,加密的内容不一定是没被篡改过的,所以还是看场景和业务要求
    LieNoWell
        6
    LieNoWell  
       2022-12-06 17:47:50 +08:00
    https 握手阶段需要验证对方出示的证书是否真实,这一步就是借助受信任 CA 机构的数字签名完成的,受信任 CA 机构已经内置在你的浏览器中,所以 https 的安全是依赖数字签名的

    当你安装一个自定义的 CA 证书时,如果无法保证此证书的真实性,那么以此建立的 https 连接也是不安全的。

    https 使用非对称密钥算法协商建立连接后,实际依旧使用对称加密算法加密数据,在不考虑证书的情况下,等同于自己加密后通过 http 发送。
    viakiba
        8
    viakiba  
       2022-12-06 18:01:46 +08:00
    签名一方面是防篡改,另一方面验证发送人是不是可以接受的人。
    lookStupiToForce
        9
    lookStupiToForce  
       2022-12-06 18:22:30 +08:00
    https://inv-veri.chinatax.gov.cn/

    要不你先去上面的网站安装了国税总局的自签根证书然后 google 一下“中间人攻击”再来说话?
    sdhzdmzzl
        10
    sdhzdmzzl  
       2022-12-06 20:26:00 +08:00
    @lookStupiToForce 这个很快就要解决了。他们的 CA 机构在想辙呢。有可能是找个国际 /国密 CA 签个域名证书。
    parametrix
        11
    parametrix  
       2022-12-06 22:17:58 +08:00
    https 能保证传输过程中不被篡改和监听,也就是下载的文件可以确保是从所连接到的服务器来的且传输过程保密。而程序的数字签名保证的是自签名以来文件未被修改。从防篡改的角度来说,数字签名可以保证的环节更多,包括服务器上的存放、网络传输、本地存放,但不具有保密的作用。

    实践上我觉得 https 基本够用,比如从 github 上下载的开源软件就算没有签名我也相信这是作者发布的版本。至于什么装了自签证书 https 被中间人的,自签 CA 能签网页不能签程序嘛?说这个有什么意义。
    ihciah
        12
    ihciah  
       2022-12-06 22:47:27 +08:00
    看到这个问题第一反应是 黑人问号.jpg
    1. https 是加密版本的 http ,而 http 是个文本协议,怎么就和数字签名对比起来了?
    2. 如果是想问 “有 tls 还需要数字签名吗”,可这两个一个是交互式的密钥协商,一个是离线的签名验证,好像也没啥可比性。
    lookStupiToForce
        13
    lookStupiToForce  
       2022-12-07 10:10:47 +08:00
    @sdhzdmzzl #9 emmmmmm
    现在看来 50 天都办不下来一张证书
    t/887436
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2539 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 30ms UTC 11:02 PVG 19:02 LAX 04:02 JFK 07:02
    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