Chinaunix首页 | 论坛 | 博客
  • 博客访问: 99215
  • 博文数量: 228
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 2290
  • 用 户 组: 普通用户
  • 注册时间: 2021-05-18 15:26
文章分类

全部博文(228)

文章存档

2023年(40)

2022年(114)

2021年(74)

我的朋友

分类: 云计算

2022-03-07 14:29:49

什么是加密套件

加密套件(CipherList)是指在ssl通信中,服务器和客户端所使用的加密算法的组合。在ssl握手初期,客户端将自身支持的加密套件列表发送给服务器;在握手阶段,服务器根据自己的配置从中尽可能的选出一个套件,作为之后所要使用的加密方式。这些算法包括:认证算法、密钥交换算法、对称算法和摘要算法等。

加密的组成

每种加密套件的名字里包含了四部分信息,分别是

第一部分是密钥交换,用于决定客户端与服务器之间在握手的过程中如何认证。使用非对称加密算法来生成会话密钥,因为非对称算法不会将重要数据在通信中传输。用到的算法包括RSA,Diffie-Hellman,ECDH,PSK等

第二部分是加密算法,主要是对传输的数据进行加密传输用的。一般有对称加和非对称加密,但是非对称加密算法太耗性能,再者有些非对称加密算法有内容长度的限制,所以真正要传输的数据会使用对称加密来进行加密。算法名称后通常会带有两个数字,分别表示密钥的长度和初始向量的长度,比如DES 56/56, RC2 56/128, RC4 128/128, AES 128/128, AES 256/256

第三部分是会话校验(MAC)算法,为了防止握手本身被窜改(这里极容易和证书签名算法混淆)。算法包括MD5,SHA等。ssl证书申请可以在蔚可云申请。

第四部分是PRF(伪随机数函数),用于生成“master secret”。

例1:

TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA

从其名字可知,它是:

基于TLS协议的;

使用ECDHE、RSA作为密钥交换算法;

加密算法是AES(密钥和初始向量的长度都是256);

MAC算法(这里就是哈希算法)是SHA。

例2:

TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA

“TLS” 自然是指TLS协议

“ECDHE” 是说使用带有短暂性密钥的椭圆曲线Diffie-Hellman密钥交换(也就是说要为每个会话创建新密钥并且事后也不会记下来)

“RSA”表明用 RSA 非对称加密保护TLS握手的安全

“AES_128_CBC” 是说在密码块链接模式中用带有128位密钥的AES 非对称加密保护真正的数据交换

“SHA” 表明用 SHA 安全哈希算法。

阅读(509) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~