TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 解构如下:
ECDHE_RSA:密钥协商交换算法
ECDHE:使用基于椭圆曲线签密方案(EC, Elliptic Curve)的 Diffie-Hellman(DH)密钥协商协议。尾部的 E 为 Ephemeral 首字母,表示协商的是临时会话密钥。相对每次会话协商的临时密钥,证书中的公钥则是永久的(long-term)。
RSA:证书公钥加密算法,用于对证书数据部分的散列值进行签密、对 ECDHE 交换参数(的 HASH 值)进行签密。可能替换值为 ECDSA(椭圆曲线数字签名算法)。
rfc4492 & rfc5289 定义了该 CipherSuite 的具体实现。
the long term authenticity is confirmed via the server cert’s RSA signature but the transient keys are derived via ephemeral EC keys (which then generate the symmetric key)
ECDHE-RSA uses Diffie-Hellman on an elliptic curve group while DHE-RSA uses Diffie-Hellman on a modulo-prime group.
AES_128_GCM:传输会话(对称)加解密使用 GCM 模式的 AES-128 算法。
AES_128:使用128位的会话对称加密算法,双方通过 ECDHE 交换参数协商出对称密钥。
GCM:Galois计数器模式(Galois/Counter Mode)。消息认证码(MAC,Message Authentication Code)用于保障消息的完整性,防止各种伪造。AES-CMAC 使用分组密码,取代 HMAC 的加密散列函数。Galois 消息认证码(GMAC)则采用了 AES 算法的一种特殊模式。
主流加密算法趋势是 AES(128/256),加密模式的趋势是 GCM。
GCM 是一种特殊的称为 AEAD 的加密模式,不需要配合 MAC。