TLS/SSL工作原理

TLS/SSL的功能实现主要依赖于三类基本算法:散列函数hash,对称加密和非对称加密,其利用得对称加密实现身份认证和密钥协商,对称加密算法采用协商的密钥对数据加密,基于散列函数验证信息的完整性。


image.png

散列函数 Hash

常见的有MD5、SHA1、SHA256,该类函数特点是函数单向不可逆、对输入非常敏感、输出长度固定,针对数据的任何修改都会改变散列函数的结果,用于防止信息篡改并验证数据的完整性。

对称加密

常见的有AES-CBC,DES,3DES,AES-GCM等,相同的密钥可以用于信息的加密和解密,掌握密钥才能获取信息,能够防止信息窃听,通信方式是1对1.
对称加密的优势是信息传输1对1,需要共享相同的密码,密码的安全是保证信息安全的基础,服务器和N个客户端通信,需要维持N个密码记录,且缺少修改密码的机制。

非对称加密

常见的有RSA算法,还包括ECC,DH等算法, 算法特点是,密钥成对出现,一般称为公钥和私钥,公钥加密的信息只用私钥才能解开,私钥加密的东西只能公钥解开。因此掌握公钥的不同客户端之间不能互相解密信息,只能和掌握私钥的服务器进行加密通信,服务器可以实现1对多的通信,客户端也可以用来验证私钥的服务器身份。

非对称加密的特点是信息传输1对多,服务器只需要维持一个私钥就能够和多个客户端进行加密通信,但服务器发出的信息能够被所有的客户端解密,切该算法的计算复杂,加密速度慢。

TLS的基本工作方式是:客户端使用非对称加密与服务器进行通信,实现身份验证并协商对称加密使用的密钥,然后对称加密算法采用协商密钥对信息以及信息摘要进行加密通信,不同的节点之间采用的对称密钥不同,从而保证信息只能通信双方获取。

你可能感兴趣的:(TLS/SSL工作原理)