热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

HTTPS、SSL/TSL、数字签名和数字证书

1.基本概念SSL:SecureSocketsLayer安全套接字协议,用于

1. 基本概念

SSL: 

Secure Sockets Layer安全套接字协议,  用于在联网计算机之间建立经过身份验证和加密的链接的协议


TLS:

Transport LayerSecurity,传输层安全协议, TLS的主要增强内容 TLS的主要目标是使SSL更安全,并使协议的规范更精确和完善

可以认为TLS和SSL是同一个东西,只是版本不一样。

  • 加密

  • 身份验证

  • 消息完整性校验


SSL自签名证书 :

任何人都可以通过生成公私钥对并包括上述所有信息来创建自己的 SSL 证书。此类证书称为自签名证书,因为使用的数字签名将是网站自己的私钥,而不是来自 CA。

但若使用自签名证书,就没有外部权威来验证源站服务器是否是它声称的身份。浏览器认为自签名证书不可信,并且尽管使用了 https:// URL,但可能仍然将站点标记为“不安全”。它们也可能会完全终止连接,从而阻止网站加载

SSL证书:

是托管在网站服务器中的数据文件。SSL 证书促成了 SSL/TLS 加密,它们含有网站的公钥和网站标识以及相关信息


Https:

在http协议之上加了一层安全协议,通过SSL对数据进行加密解密,保证 数据 在网络传输中的安全。
1. 客户端和服务端使用非对称加密
2. 公钥加密的数据只能用私钥
解密

对称加密

介绍:生成一个密钥、客户端和服务端都用这个密钥解密
优点:简单,加密效率高
缺点:没有一个可靠的密钥传输通道(客户端和服务端都得知道这个密钥,意味着这个密钥需要传输


非对称加密:

介绍:生成一个公钥和一个私钥,两者配套,公钥加密只能私钥解密,私钥加密只能公钥解密。
在实际使用的时候,A把自己的公钥发给B -> B使用A公钥加密数据后发给A -> A使用自己的私钥解密

优点:比较安全,私钥是服务端私有的,所以通过公钥加密的数据只有服务端能解开,在传输上,由于只传输公钥,非对称加密不会有对称加密的传输问题。
缺点加密速度慢,无法支持大量数据加密。中间篡改

解决办法:数字证书


2. 数字签名

发送者:发送者使用自己的私钥对数据摘要进行签名,并附带和数据一起发送,可以起到防篡改的作用

接收者:接收者使用发送者的公钥,验证发送者身份



问题:如何保证发送者的公钥就是发送者的?引入了数字证书


3. 数字证书

由CA机构使用自己的私钥,对证书申请者的公钥进行签名认证,解决了如何安全分发公钥的问题


百度的数字证书


证书不可信的几种情况:

1. 不是权威CA颁发

2. 证书过期

3.证书部署错误

Reference:

https://segmentfault.com/a/1190000022732010

https://segmentfault.com/a/1190000007075961



推荐阅读
author-avatar
福州-台江_616
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有