HMAC-SHA1相关说明
一、基础核心定义
算法属性:属于带密钥的消息认证码,输出固定160位长度的认证结果,仅支持单向校验,无法逆向还原原始消息。
核心输入:需要同时传入共享密钥和待认证消息,区别于无密钥的普通 SHA-1 哈希运算。
二、核心运算流程
- 先对密钥做预处理,适配 SHA-1 的分组长度要求。
- 将处理后的密钥与内部常量异或后拼接原始消息,完成第一次 SHA-1 哈希计算。
- 将密钥与外部常量异或后拼接上一步的哈希结果,再次执行 SHA-1 哈希,得到最终的 HMAC-SHA1 认证值。
三、常见应用场景
- 早期 OAuth 1.0 协议的请求签名校验,验证 API 请求未被篡改。
- 物联网 MQTT 协议中设备身份认证,生成合法接入凭证。
- 传统网络通信(如IPSec)中数据包完整性校验,防止数据传输被篡改。
四、安全性说明
- 安全性依赖底层 SHA-1 算法,目前 SHA-1 已被证实存在碰撞攻击漏洞,不推荐在高安全等级的新系统中使用。
- 实际使用中需妥善保管共享密钥,避免密钥泄露导致伪造合法认证结果的风险,建议优先升级为 HMAC-SHA256 等更安全的替代方案。