TLS_SSL
撰写于 2019-07-03 修改于 2019-07-03 分类 杂记
TLS/SSL原理说明
TLS/SSL的作用
先说一下什么是TLS/SSL? SSL(Secure Sockets Layer)安全套接字层,保障网络数据传输的安全性。TLS(Transport Layer Security)安全传输层协议,保障应用程序之间通信的安全性。为什么要有这个协议的出现呢?因为如果不使用这个协议,会有一下几个风险:
- 窃听风险:第三方可以获取通信内容。
- 篡改风险:第三方可以篡改通信内容。
- 冒充风险:第三方可以冒充他人身份参与通信。
使用TLS/SSL协议,可以很好的防范以上风险:
- 所有的信息都是加密传播,第三方无法窃听。
- 具有校验机制,一旦被篡改,通信双发会立即发现。
- 建立通信前,会进行身份验证,防止身份被冒充。
加密方法
- 单向加密
单向加密的特点是:不可逆,输出长度固定,对输入非常敏感。
常见的单向加密算法有:MD5
,SHA1
,SHA256
等等
常见的单向加密用处:一致性验证、数字签名、密码存贮 - 对称加密
加密和解密的秘钥是相同的,只有掌握秘钥才能获取到信息,可以有效防止窃听,但是缺少协商和修改密码的机制,不够灵活。
常见的对称加密方法:AES
,EDS
,3DES
等 - 非对称加密
非对称加密的特点是,密钥成对出现,称为公钥和私钥。公钥和私钥的作用不相同,公钥是公开的,私钥是私有的,公钥加密的信息只能用私钥来解密,反之,私钥加密的数据也只能用公钥来解密。用处:- 数字签名:用私钥加密,可以用公钥解密,从来起到验证身份的作用
- 秘钥交换:用公钥加密对称秘钥,可以防止被窃听
- 数据加密:其实跟2是相似的
工作方式
TLS/SSL
结合的所有加密方法,TLS/SSL
的工作方式就是:客户端使用非对称加密与服务器进行通信,实现身份验证,并协商对称加密使用的秘钥,然后用对称加密的方式,使用协商的秘钥对信息及信息的摘要进行加密通信,不同的节点之间采用的对称秘钥不同,从而防范通信窃听,工作方式如下图所示: