| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 网络协议 -> 3.计算机网络——加密,数字签名,数字证书 -> 正文阅读 |
|
[网络协议]3.计算机网络——加密,数字签名,数字证书 |
对称加密:指用来加密和解密的是同一个秘钥。其特点是加密速度快,但是秘钥容易被黑客截获,所以安全性不高。 RSA算法属于非对称加密算法,非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。 客户端传输重要信息给服务端,服务端返回的信息不需加密,客户端这边就需要对这些 重要信息进行加密,使用RSA公钥加密,服务端使用RSA解密,然后返回一些普通信息,比如状态码code,提示信息msg,提示操作是成功还是失败。这种场景下,仅仅使用RSA加密是可以的。 1.客户端加密 2.服务端使用RSA + AES对重要信息进行解密 3.服务端向客户端传递重要信息 摘要:所谓的摘要就是一段信息或者一个文件通过某个哈希算法(也叫摘要算法)而得到的一串字符,摘要算法的特点就是不同的文件计算出的摘要是不同的(也有可能相同,但是可能性非常非常低),所以摘要算法通常是用来判断文件是否被篡改过。其还有一个特点就是通过摘要是无法推导出源文件的信息的。常用的摘要算法有MD5、SHA等 数字签名: 数字签名就是一个文件的摘要加密后的信息,数字签名是和源文件一起发送给接收方的,接收方收到后对文件用摘要算法算出一个摘要,然后和数字签名中的摘要进行a比对,两者不一致的话说明文件被篡改了。 数字证书: 数字证书是一个经证书授权中心生成的文件,数字证书里一般会包含公钥、公钥拥有者名称、CA的数字签名、有效期、授权中心名称、证书序列号等信息。其中CA的数字签名是验证证书是否被篡改的关键,它其实就是对证书里面除了CA的数字签名以外的内容进行摘要算法得到一个摘要,然后CA机构用他自己的私钥对这个摘要进行加密就生成了CA的数字签名,CA机构会公开它的公钥,验证证书时就是用这个公钥解密CA的数字签名,然后用来验证证书是否被篡改。 CA:签发证书的权威机构 举例: 用对称加密的话,密钥要是被截获了,安全性就是十分低 2.用非对称加密 3.数字签名的作用 解决这个问题,李四需要自己生成一堆非对称加密的私钥lisi2,私钥lisi1自己保存,公钥给张三,李四对自己的报价文件通过摘要算法得到一个摘要(假设aaa),再用自己的私钥lisi1加密这个摘要得到数字签名,最后将加密的报价文件和数字签名一起发给张三,张三收到后,先用lisi2解密数字签名得到摘要aaa,然后用自己的zhangsan1私钥解密加密的文件得到报价源文件,然后对报价源文件进行摘要算法,看计算的结果是不是aaa,如果不是的话说明报价文件被篡改了 这时,如果王五截获了李四的报价文件王五伪造一份报价文件的话,张三收到后,会发现报价文件和数字签名不匹配。 非对称加密能确保加密文件内容不被窃取,但不能保证文件不被篡改,数字签名用来验证文件是否被篡改过 4.数字证书的作用 因为张三无法辨别收到的公钥是不是李四发的,此时,数字证书就起到了作用。李四到权威机构申请数字证书,证书包含了公钥lisi2,和公钥的拥有者李四等相关信息,李四将证书发给张三,张三通过证书里面的信息就可以判断证书是不是李四的。 证书发送过程有没有可能被截获?证书里面还包含了CA的数字签名,这个签名是证书机构用他们自己的私钥对证书的摘要进行加密的,公钥是公开的,即便王五截获并篡改了证书内容,也无法伪造证书机构的签名,张三收到证书后通过验证签名会发现证书被篡改 |
|
网络协议 最新文章 |
使用Easyswoole 搭建简单的Websoket服务 |
常见的数据通信方式有哪些? |
Openssl 1024bit RSA算法---公私钥获取和处 |
HTTPS协议的密钥交换流程 |
《小白WEB安全入门》03. 漏洞篇 |
HttpRunner4.x 安装与使用 |
2021-07-04 |
手写RPC学习笔记 |
K8S高可用版本部署 |
mySQL计算IP地址范围 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 18:20:19- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |