主页

索引

模块索引

搜索页面

openssl ciphers命令

支持的 CipherSuite 列表:

$ openssl ciphers -V | column -t

看一下 EECDH+AES128 具体包含哪些 Cipher Suites:

$ openssl ciphers -V 'EECDH+AES128' | column -t
0xC0,0x2B  -  ECDHE-ECDSA-AES128-GCM-SHA256  TLSv1.2  Kx=ECDH  Au=ECDSA  Enc=AESGCM(128)   Mac=AEAD
0xC0,0x2F  -  ECDHE-RSA-AES128-GCM-SHA256    TLSv1.2  Kx=ECDH  Au=RSA    Enc=AESGCM(128)   Mac=AEAD
0xC0,0xAE  -  ECDHE-ECDSA-AES128-CCM8        TLSv1.2  Kx=ECDH  Au=ECDSA  Enc=AESCCM8(128)  Mac=AEAD
0xC0,0xAC  -  ECDHE-ECDSA-AES128-CCM         TLSv1.2  Kx=ECDH  Au=ECDSA  Enc=AESCCM(128)   Mac=AEAD
0xC0,0x23  -  ECDHE-ECDSA-AES128-SHA256      TLSv1.2  Kx=ECDH  Au=ECDSA  Enc=AES(128)      Mac=SHA256
0xC0,0x27  -  ECDHE-RSA-AES128-SHA256        TLSv1.2  Kx=ECDH  Au=RSA    Enc=AES(128)      Mac=SHA256
0xC0,0x09  -  ECDHE-ECDSA-AES128-SHA         TLSv1    Kx=ECDH  Au=ECDSA  Enc=AES(128)      Mac=SHA1
0xC0,0x13  -  ECDHE-RSA-AES128-SHA           TLSv1    Kx=ECDH  Au=RSA    Enc=AES(128)      Mac=SHA1

说明:

第 1 个字段是 这个 CipherSuite 的 value,
第 2 个字段是 CipherSuite 的名字 ,
第 3 个字段是本 Cipher Suite 是用于哪个 SSL/TLS 版本的协议,
第 4 个字段 Kx 是 key exchange 算法
第 5 个字段 Au 是 authentication 算法
第 6 个字段 Enc 是 encryptation 算法
第 7 个字段 Mac 是 MAC 算法,用于创建消息摘要

看一下 EECDH+CHACHA20 具体包含哪些 Cipher Suites:

$ openssl ciphers -V 'EECDH+CHACHA20' | column -t
0xCC,0xA9  -  ECDHE-ECDSA-CHACHA20-POLY1305  TLSv1.2  Kx=ECDH  Au=ECDSA  Enc=CHACHA20/POLY1305(256)  Mac=AEAD
0xCC,0xA8  -  ECDHE-RSA-CHACHA20-POLY1305    TLSv1.2  Kx=ECDH  Au=RSA    Enc=CHACHA20/POLY1305(256)  Mac=AEAD

Cipher Suites:

ECDHE+CHACHA20:ECDHE+CHACHA20-draft:ECDSA+AES128:ECDHE+AES128:RSA+AES128:RSA+3DES


ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS;
ssl_prefer_server_ciphers on;


加密套件解读:
ECDHE-RSA-AES128-GCM-SHA256 为例

ECDHE:秘钥交换算法
RSA:签名算法
AES128:对称加密算法
GCM-SHA256:签名算法

默认项:
秘钥交换算法:RSA
签名算法:RSA
模式:CBC
AES256-SHA256 也就是 RSA-RSA-AES256-CBC-SHA256

备注

这 5 类算法组合在一起,称为一个 CipherSuite: 1. authentication (认证算法) 2. encryption (加密算法 ) 3. message authentication code (消息认证码算法 简称 MAC) 4. key exchange (密钥交换算法) 5. key derivation function (密钥衍生算法)

要禁用

EXP , EXPORT:

一定要禁用。
EXPORT 表示上世纪美国出口限制弱化过的算法,早已经被攻破,TLS 的 FREAK 攻击就是利用了这类坑爹的算法。

eNULL, NULL:

一定要禁用。
NULL 表示不加密!默认是禁用的。

aNULL:

一定要禁用。
表示不做认证 (authentication) ,也就是说可以随意做中间人攻击。

ADH:

一定要禁用。
表示不做认证的 DH 密钥协商。

参考

主页

索引

模块索引

搜索页面