预共享密钥 PSK 是什么
IPsec 建隧道前,两端要先证明「你是你」,预共享密钥(PSK)是最常见的做法:两边配置同一串字符串,IKE 协商时用它完成身份验证。它的优点是简单,设备不支持证书也能跑;缺点是这串密钥本身就是身份凭证——谁拿到它、又满足对端地址条件,就有可能建立隧道。因此 PSK 的长度、随机性与轮换节奏,直接决定这条隧道的安全底线。
基本信息
| 作用 | IKE 协商阶段完成双方身份认证 |
|---|---|
| 一致性要求 | 两端必须完全一致,包含大小写与特殊字符 |
| 强度要求 | 足够长度的随机字符串,避免字典词与业务名拼接 |
| 轮换 | 两端同步更新,选择业务低峰窗口执行 |
| 泄漏后果 | 持有密钥的一方可能冒用身份接入 |
| 替代方案 | 对端支持证书认证时可用证书降低对 PSK 的依赖 |
典型使用场景
- 分支机构快速打通隧道,对端设备能力有限只支持 PSK
- 与第三方或合作方互联,对方不接受证书体系
- 临时联调隧道:先用 PSK 快速跑通,正式上线再评估证书
- 多分支各建一条连接,分别使用独立密钥便于单独吊销
- 密钥轮换:按周期更换并记录生效时间,作为安全审计证据
PSK 与证书认证对比
| 维度 | 预共享密钥 | 证书认证 |
|---|---|---|
| 部署成本 | 低,两端填同一串字符 | 高,需要 CA 与证书分发 |
| 设备支持 | 几乎全部设备支持 | 部分老旧设备不支持 |
| 吊销能力 | 只能换密钥,影响所有使用方 | 可按证书单独吊销 |
| 泄漏风险 | 密钥即身份,泄漏后难以察觉 | 私钥泄漏面更可控 |
| 适用规模 | 少量、点对点连接 | 连接数量多、需精细管控 |
生成与校验高强度密钥
生成与校验高强度密钥
openssl rand -base64 32 # 生成 32 字节随机密钥,输出 base64 字符串
echo -n '<密钥>' | wc -c # 确认长度与预期一致(-n 避免多算换行)
printf '%s' '<密钥>' | sha256sum # 两端各自算哈希,比对是否完全一致
# 注意某些设备对特殊字符有转义要求,必要时改用字母数字组合生成
openssl rand -hex 32 # 备选:十六进制字符串,兼容性更好核对密钥时注意复制粘贴带上的空格与换行:肉眼看似一致、实际不一致是极常见的低级故障。两端用同一条命令生成哈希再比对,比逐字符核对可靠得多。
轮换要按「两端同步、低峰执行、留回退记录」三步走:先确认新密钥已下发到两端可用的配置位置,再在低峰窗口切换,切换后验证隧道与业务,最后把旧密钥从工单、截图、配置备份中清理掉。