600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > tls协议能对传输的文件进行加密吗 – java – 前端

tls协议能对传输的文件进行加密吗 – java – 前端

时间:2021-05-30 00:43:16

相关推荐

tls协议能对传输的文件进行加密吗 – java – 前端

使用Hello传递的信息进行密钥协商——选择加密组件

经过两个Hello报文后,双方就明确了计算密钥的初始材料和最终使用的加密算法。加密算法是通过协商加密组件获知的。

因为只使用AEAD加密机制,且彻底禁止了所有不安全的加密算法,TLS 1.3目前支持的加密组件只有以下五种:

TLS_AES_128_CCM_SHA256

TLS_AES_256_CCM_SHA256

TLS_AES_128_GCM_SHA256

TLS_AES_256_GCM_SHA256

TLS_XChaCha20_Poly1305_SHA256

以TLS_AES_128_CCM_SHA256为例,TLS表明该加密组件用于TLS协议,AES表明使用AES对称加密算法,128表示密钥长度为128位,CCM表明分组加密模式,SHA256是HKDF过程使用的哈希算法。

协商加密组件时,双方只需要传递相应的value传递即可。由客户端传递一个所有自己支持的加密组件的列表,由服务器将最终选定的加密组件值返还给对方完成协商。

TLS 1.2中定义了多达37种的加密组件,大量使用了MD5、RC4、3DES等被证明不安全或者效率低下的加密算法。

TLS 1.3仅支持速度快安全性强的加密标准算法AES,以及08年才提出的对性能消耗极低的CHACHA20。使用CHACHA20进行AEAD运算时,CHACHA20本身不能提供完整性校验的功能,因此使用POLY1305——一种同样不耗费性能的MAC算法来提供完整性校验的功能。这些算法,包括协议中随着算法使用的分组加密模式CCM和GCM,目前都是理论上安全的算法,不容易被攻击者破解。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。