3. 对称签名

应该选择 HMAC 类的算法

适用场景:安全加固一个API,如各种开放API的调用方认证

如果对一个API,你需要做认证(authenticating),但是不需要做加密(encrypting),记得千万不要自己发明算法,你自己发明的MAC算法基本都有安全漏洞,如果不信,请Google一下 “长度扩展攻击” 长度扩展攻击 Flickr的漏洞案例

同时,必须要注意的是,要使用一个常数时间字符串对比算法(这个地方和码农的常识完全相反,请务必留意)

此外,应该

  • 避免自行设计的“带密码的hash”结构,你的设计基本都是有安全漏洞的

  • 避免HMAC-MD5,避免HMAC-SHA1,使用HMAC-SHA256, HMAC-SHA512等

  • 避免复杂的多项式MAC

  • 避免加密hash值的结构

  • 避免CRC

文章导航