FingerLiu
V2EX  ›  问与答

Is HMAC over SSL over killed?

By FingerLiu at 2018 年 4 月 26 日 · 2730 次点击

注意到不论是 AWS 还是 阿里,腾讯,在调用其 API 的时候,即使已经强制 HTTPS, 仍然要求使用 HMAC 签名。 请问这样做的目的是什么?为了包含客户端的 secret key 吗

4 条回复  •  2018-04-26 16:43:57 +08:00
BOYPT
   1
BOYPT  
   2018 年 4 月 26 日
HTTPS 解决的是通信加密,又不能解决身份校验。使用 HMAC 校验确保了只有合法用户的 key 在合法的时间内能访问合法的 api。
hoyixi
   2
hoyixi  
   2018 年 4 月 26 日
这样说吧,你找了 10 个保镖坐着防弹汽车去银行取钱( https 保证传输过程安全),然而,你忘记了银行帐号和密码,有卵用吗?
lsylsy2
   3
lsylsy2  
   2018 年 4 月 26 日
@BOYPT
@hoyixi
我猜 LZ 的意思是,既然用了 HTTPS,那么为啥不直接传明文密码
答案是可行的但是不好。因为可能泄露的不一定只有 HTTP ( S )传输过程,还可能有系统内部的一个模块之类(某个模块所在服务器被黑),HMAC 能非常有效的控制泄露程度
FingerLiu
   4
FingerLiu  
OP
   2018 年 4 月 26 日
@BOYPT 懂了
© 2026 V2EX · 33ms · 3.9.8.5