256 位密码 vs 256 位密钥:挑战-应答认证的本质

一、问题起源 给服务器做完 SSH 密钥加固后,产生一个疑问: “私钥就是一个 256 位随机数,那我把密码也换成 256 位随机字符串,效果不是一样吗?” 答案:不一样。熵相同,机制完全不同。 二、核心区别 密码认证:秘密必须出门 你 ──发送密码──→ 服务器 ↓ 服务器拿收到的密码与存储的凭证比对 ↓ 问题: 1. 秘密在认证过程中"离开"了你的电脑 2. 服务器必须持有可验证凭证(明文或哈希) 3. 服务器被拖库 → 全用户秘密泄露(哈希可离线爆破) 4. 中间人截获 → 直接冒充你 密钥认证:秘密一生不出门 你 ←──随机考题── 服务器 ↓ 私钥在本地对考题签名 ↓ 你 ──只发签名──→ 服务器 ↓ 服务器用公钥验签 ↓ 问题全部化解: 1. 私钥从不出本机 2. 服务器只有公钥(= 锁),公钥泄露无所谓 3. 服务器被拖库 → 攻击者拿到锁,没用 4. 截获签名 → 签名只对当次随机考题有效,下道题变了就作废 三、256 位随机数的双重身份 原料相同: 密码和私钥都用 256 位随机数做原料 用法不同: 密码 = 把原料"递给对方看" 私钥 = 把原料锁在保险箱,只展示"开锁结果" 暴力破解难度相同: 2^256 ≈ 1.15 × 10^77 ≈ 宇宙原子总数 → 都不可爆破 但风险面不同: 密码在传输和存储环节暴露面大 私钥的风险只剩"文件被偷"这一个点 四、SSH 挑战-应答认证完整流程 ...

September 16, 2026 · 1 min · 193 words