go 建议: crypto/tls:为mTLS服务器提供新的选项,以便不宣传可接受的certificate_authorities,

hrysbysz  于 4个月前  发布在  Go
关注(0)|答案(1)|浏览(45)

问题

Golang的mTLS服务器在TLS握手过程中包含一个可接受的CA的Distinguished Names(DN)列表。在某些威胁模型中,服务器接受的CA名称可能表示信息泄露。特别是,如果CA是特定于用例的,并且包含有关客户的信息,例如来自Google空间的这个例子:https://buganizer.corp.google.com/issues/187209748
目前,tls/crypto包没有提供一种方法来禁用certificate_authorities的填充,即使它不是握手过程的强制性部分。

解决方案

可以通过在tls.Config中添加一个新的布尔字段(类似于DontAdvertiseClientCAs bool)来解决这个问题,以便可选地禁用这种行为。
那些不希望公开CA名称的服务器可以通过翻转这个新设置来选择退出。

相关问题