当我在安装了OpenSSL 1.0.2p的Windows 10上运行以下命令时,我收到一个奇怪的结果(为可读性格式化):
openssl ciphers "DH+AES:!DSS:!aDSS:!aNULL"
DH-DSS-AES256-GCM-SHA384
DH-RSA-AES256-GCM-SHA384
DHE-RSA-AES256-GCM-SHA384
DHE-RSA-AES256-SHA256
DH-RSA-AES256-SHA256
DH-DSS-AES256-SHA256
DHE-RSA-AES256-SHA
DH-RSA-AES256-SHA
DH-DSS-AES256-SHA
DH-DSS-AES128-GCM-SHA256
DH-RSA-AES128-GCM-SHA256
DHE-RSA-AES128-GCM-SHA256
DHE-RSA-AES128-SHA256
DH-RSA-AES128-SHA256
DH-DSS-AES128-SHA256
DHE-RSA-AES128-SHA
DH-RSA-AES128-SHA
DH-DSS-AES128-SHA这个问题似乎只发生在DH的非短暂实现(没有DSS.在密码列表中)。我想不使用DSS使用Diffie-Hellman密码。是否有一种方法来配置OpenSSL来实现这一目标?
发布于 2019-01-30 06:05:12
来自密码文献:
aDSS,DSS 密码套件采用DSS认证,即证书携带DSS密钥。
仔细看看你想知道的密码:
$ openssl ciphers -V 'DH+AES:!DSS:!aDSS:!aNULL' | grep DSS
0x00,0xA5 - DH-DSS-AES256-GCM-SHA384 TLSv1.2 Kx=DH/DSS Au=DH Enc=AESGCM(256) Mac=AEAD
0x00,0x68 - DH-DSS-AES256-SHA256 TLSv1.2 Kx=DH/DSS Au=DH Enc=AES(256) Mac=SHA256
0x00,0x36 - DH-DSS-AES256-SHA SSLv3 Kx=DH/DSS Au=DH Enc=AES(256) Mac=SHA1
0x00,0xA4 - DH-DSS-AES128-GCM-SHA256 TLSv1.2 Kx=DH/DSS Au=DH Enc=AESGCM(128) Mac=AEAD
0x00,0x3E - DH-DSS-AES128-SHA256 TLSv1.2 Kx=DH/DSS Au=DH Enc=AES(128) Mac=SHA256
0x00,0x30 - DH-DSS-AES128-SHA SSLv3 Kx=DH/DSS Au=DH Enc=AES(128) Mac=SHA1仔细看看“Au=.”列,该列描述使用的身份验证。显然,所有这些都使用的是Au=DH,而不是Au=DSS,也就是说,它们没有使用决策支持系统进行身份验证,因此不在密码设置中的DSS字符串所涵盖。所有这些都只在密钥交换中使用DSS,如Kx=DH/DSS所示。
Au=DH本质上意味着证书包含一个静态Diffie密钥,它用作主题公开密钥信息,用于身份验证,并使用Kx=DH/DSS作为密钥交换的一部分。
https://security.stackexchange.com/questions/202500
复制相似问题