为何SSH对部分Cipher忽略HMAC?结合OpenSSH源码求技术解析
SSH中带
auth_len的Cipher为何会忽略HMAC? - 我在阅读OpenSSH源码时发现:当Cipher存在
auth_len参数时,HMAC会被忽略,对应代码位于kex.c的第1014行。 - 举例说明:使用
aes128-ctrcipher时会启用HMAC,但使用chacha20-poly1305时,因存在auth_len参数而忽略HMAC。 - 我刚接触密码学与SSH,希望得到技术提示。
补充说明(来自dave_thompson_085)
2000年代SSH协议开发规范阶段,几乎所有Cipher都需要单独的认证(即MAC),但此后内置认证的需求逐渐被讨论并接受;据我回忆,2010年代定义和新增的所有Cipher都包含认证功能,如今若有人提议新的无认证Cipher需给出充分理由。
内容的提问来源于stack exchange,提问作者Helen Tan
相关产品推荐
相关产品推荐

