在不信任的机器上使用和敏感机器相同的公钥安全吗? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
naoh1000
V2EX    Linux

在不信任的机器上使用和敏感机器相同的公钥安全吗?

  •  
  •   naoh1000 2021 年 3 月 31 日 via iPhone 4025 次点击
    这是一个创建于 1746 天前的主题,其中的信息可能已经有所发展或是发生改变。
    以前买了很多小商家的 VPS,想用同一个公钥连接 SSH 比较方便。想问下如果系统被商家做过手脚,使用同一个公钥有安全风险吗?
    第 1 条附言    2021 年 3 月 31 日
    感谢大家的回复,我知道公钥是无法还原私钥的,但是我想知道 SSH 连接过程中我发送的验证数据是否有可能泄露我的隐私呢?
    24 条回复    2021-04-01 10:27:34 +08:00
    whee1
        1
    whee1  
       2021 年 3 月 31 日 via iPhone
    云环境下,即使没有私钥匙,云提供商一样能访问你的系统。
    naoh1000
        2
    naoh1000  
    OP
       2021 年 3 月 31 日 via iPhone
    @whee1 #1 不信任的机器我肯定不会存放敏感数据,想问的是如果机器系统被动过手脚,有没可能通过我连接时发出的验证数据和公钥还原出什么隐私数据(包括但不限于连接发起者信息 / 私钥的部分信息)。
    lsylsy2
        3
    lsylsy2  
       2021 年 3 月 31 日
    @naoh1000 不会,公钥的设计就是可以公开,外观是“SSH 公钥”还是“GPG 公钥”还是你访问银行网站银行给你的“https 证书”是没有(原理上)区别的。
    106npo
        4
    106npo  
       2021 年 3 月 31 日 via Android
    有能用公钥还原私钥的技术还开什么 vps,直接去银行提钱不爽么
    Osk
        5
    Osk  
       2021 年 3 月 31 日 via Android
    现实应用中,公钥是可以公开给所有人的。

    因为公钥是公开的,所以一般不会用私钥来加密数据,只用来解密数据。所以公钥公开是安全的。

    估计 ssh 也有类似的动作,不会用私钥加密数据,所以应该是安全的 ..... 吧
    Mutoo
        6
    Mutoo  
       2021 年 3 月 31 日   2
    能想到的风险就是使用同一个公钥可以关联同一个使用者。如果有匿名需求的话,最好不要使用公开过的公钥。
    BeautifulSoap
        7
    BeautifulSoap  
       2021 年 3 月 31 日
    可以了解下非对称加密的基本原理

    你 https 访问 google 就能拿到 google https 给你加密用的公钥,全球公开。公钥本来就是公开的,没有问题,以现在的算力也没人能从公钥反向出私钥的信息

    然后 lz 既然都以 vps 的系统被动手脚为前提了,那作手脚的人哪还需要这么拐弯抹角。。。。。
    naoh1000
        8
    naoh1000  
    OP
       2021 年 3 月 31 日 via iPhone
    感谢大家的回复,我知道公钥是无法还原私钥的,但是我想知道 SSH 连接过程中我发送的验证数据是否有可能泄露我的隐私呢?
    @lsylsy2
    @xmumiffy
    @Osk
    @Mutoo
    @BeautifulSoap
    lsylsy2
        9
    lsylsy2  
       2021 年 3 月 31 日   1
    @naoh1000 如果服务器被做了手脚的话,服务器可以:
    1. 知道操作的人是你
    2. 知道你的所有操作

    还有就是确保你连接服务器的时候如果对方的公钥(就是第一次链接某个服务器的时候让你 yes 的那个东西)改变了那么不要接受就行了
    lsylsy2
        10
    lsylsy2  
       2021 年 3 月 31 日
    @lsylsy2 假如接受了,理论上可以做一些更多的攻击?但那个就不熟悉了,只要不接受就好
    BeautifulSoap
        11
    BeautifulSoap  
       2021 年 3 月 31 日
    @naoh1000 你都以系统被做手机为前提了那肯定能啊
    supercaizehua
        12
    supercaizehua  
       2021 年 3 月 31 日
    我有一个问题,你会使用 github 上面其它人提供的一键脚本吗?
    如果你会毫不犹豫的使用,仅仅是因为其它人都在用,也没人发现有安全问题,那么我觉得你大可对这些运营商放心,都是一个道理
    naoh1000
        13
    naoh1000  
    OP
       2021 年 3 月 31 日 via iPhone
    @supercaizehua #12 敏感机器从来不用,测试机器也会先检查再用。
    lsylsy2
        14
    lsylsy2  
       2021 年 3 月 31 日
    @naoh1000 顺便感觉我刚才跑题了
    你的原问题是“在不信任的机器上使用和敏感机器相同的公钥安全吗?”
    那么只要确保不信任的机器的 fingerprint (就是刚才说的 ssh 要输 yes 的东西)没有问题,那么是安全的。
    “不信任的机器”只能知道“你是你”,而无法在敏感的机器面前伪装是你
    charlie21
        15
    charlie21  
       2021 年 3 月 31 日
    公钥等信息元素,就像任何信息元素一样,是可以被用作形成一个用户画像的。泄露的信息越多,用户画像越准确
    但你总是要泄露的 不是么,就像你去商店买鞋子都是在泄露你的脚的尺码给商店人员
    yanqiyu
        16
    yanqiyu  
       2021 年 3 月 31 日
    如果机器是不被信任的(比如公用机器)放一个公钥上去确实是安全的,你甚至可以 curl https://github.com/${username}.keys 拿到大家在 github 上设置的 ssh pubkey

    ssh 上去也_往往_是安全的。但是注意要在 ssh 配置里面设置 ForwardAgent no,因为 ForwardAgent 可以用来偷东西。以及记住不要再不受信任的机器上放私钥 /输密码,因为你不知道目标计算机被动了什么手脚。
    yanqiyu
        17
    yanqiyu  
       2021 年 3 月 31 日
    顺带提一句,ForwardAgent 不是可以直接偷走私钥,但是可以用你的私钥认证别的机器。但是这一点也足够棘手了,比如 ssh -T [email protected] 看看你在 github 的用户名然后顺着搞破坏之类的。
    Jat001
        18
    Jat001  
       2021 年 3 月 31 日
    ssh -v 看一眼好吗,发了什么数据都写着呢,你使用的客户端的信息,支持的加密方法,你的所有公钥,你的 ip 地址等等信息都会被发送
    Jat001
        19
    Jat001  
       2021 年 3 月 31 日
    @yanqiyu #17 ForwardAgent 默认是 no
    ryd994
        20
    ryd994  
       2021 年 3 月 31 日 via Android
    安全,公钥就是用来公开的。而且你还应该尽可能广的公开,多种渠道相互印证,避免中间人攻击。
    github 可以直接下载登记的 ssh 公钥。
    securityCoding
        21
    securityCoding  
       2021 年 3 月 31 日 via Android
    有个公字表示这个公开的密钥
    liuxu
        22
    liuxu  
       2021 年 3 月 31 日
    安全
    no1xsyzy
        23
    no1xsyzy  
       2021 年 3 月 31 日
    密钥交换过程不泄漏多余信息是基础啊,D-H 交换就已经可以做到各自秘密了
    这不是公钥的问题,这是密钥交换问题,通常不会全部走非对称的,太慢了,SSH 也好,TLS 也好,都是现场交换一个足够强的对称密钥。
    libook
        24
    libook  
       2021 年 4 月 1 日
    没有物理隔离没法谈安全,最坏的情况就是运营商在 VPS 的软硬件上动了手脚,那你的任何安全措施将没有意义。

    除非 VPS 上仅走密文,比如 VPS 上做 TCP 转发 HTTPS 的流量,加密是在你本地的设备上进行的,解密是在远程网站服务器上进行的,VPS 仅走密文且没有解密能力。

    或者障眼法,用非主流技术,让运营商看不懂来你在做啥。

    不过另一个角度来看,你得评估你的隐私信息对外人来说有多高的价值,以及运营商专门做坏事的成本以及对自己品牌造成的风险(被发现后以后还做不做生意了),综合衡量得出一个运营商做坏事的几率,如果几率较高不能接受就不用,但如果几率较低可以考虑忽略风险。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2565 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 36ms UTC 02:22 PVG 10:22 LAX 18:22 JFK 21:22
    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