当前位置:网站首页>了结非对称密钥
了结非对称密钥
2022-06-12 08:28:00 【月来better】
本文选自我的博客《云计算中的统一认证——SAML基础篇》
密码学新方向
1976年,两个斯坦福大学的杰出学者,在经过了三年的合作之后,发表了一篇题为《密码学的新方向》的文章。这篇论文首次引入了公共密钥加密协议与数字签名的概念。谁也想不到,短短几十年后,这篇文章构成了现代互联网加密协议的基石。就是这两位帅爷爷和萌蜀黍!!!
图1 《密码学的新方向》作者(图片来源于网络)
和对称密码基于单个共享密钥的方式不同,非对称密码始终是成对出现:公钥和私钥。由其中任何一个密钥加密的数据只能由另外一个密钥解密。即,由私钥加密的数据只能由公钥解密,由公钥加密的数据只能由私钥解密。非对称密码的这个特点使其在密钥交换和数字签名领域被广泛应用。
密钥交换的灵感
在需要加密的网络通信场景中,最常见的加密方式是基于共享密钥的对称加密方式。通信过程如下:
消息发送方和接收方事先约定好一把对称密钥K。然后,消息发送方使用密钥K对要发送的消息进行加密,并将加密后的结果通过网络发送给消息接收方。消息接收方利用密钥K对接受到的内容进行解密,并获得原始消息。
图2 利用共享密钥加密进行数据传输
由于共享密钥K只被消息发送方和接收方持有。因此,即便数据在传输过程中被劫持,攻击者由于没有密钥K,也无法获得原始消息内容。
但是问题来了,如何事先约定好密钥?如果消息发送方和接收方物理位置很近,还可以通过线下见面的方式约定密钥。但如果通信双方距离十万八千里呢?显然,线下约定的方式是不现实的。那么是否可以找到一种安全的方式,让通信双方基于网络就可以约定共享密钥呢?
图3 真相永远只有一个
真相永远只有一个:利用非对称密码学的机制进行密钥交换。消息接收方提前生成一对公私钥,并将公钥PubK广播出去,私钥PriK自己保存。有了这个前提条件,就可以安全的约定对称密钥了。过程如下:
消息发送方获取被广播的消息接收方的PubK,并使用该PubK对要传输的对称密钥K进行加密,并将加密之后的内容通过网络传输给接收方。消息接收方在收到加密内容之后,使用对应的PriK进行解密得到对称密钥K。
图4 利用非对称密码学的机制进行密钥交换
由于PriK只被接收方持有。因此,即便数据在传输过程中被劫持,攻击者由于没有私钥PriK,也无法获得原始消息内容。以这种方式,就解决了对称密钥传输的问题!
数字签名防伪造
在密钥交换的过程中,有一个步骤值得商榷:消息发送方获取被广播的消息接收方的PubK。这里面涉及一个认证的问题,怎么证明一个PubK就是接收方的PubK呢?如果出现黑客伪造接收方的PubK怎么办?就像下图酱紫。
图5 黑客伪造接收方的公钥
真相永远只有一个:数字签名。所谓数字签名,就是一个有公信力的权威机构用它自己的私钥对某些数据进行签名(通常称私钥加密为签名),以证明这些数据是可被信任的。
权威机构用自己的私钥将接收方的公钥PubK进行签名,消息发送方在收到签名后,利用权威机构对应的公钥解密以验证签名。如果验证通过,说明当前接收的PubK是经过认证的,是可以被信任。反之,攻击方的公钥是没有被认证的,是不可信任的。
图6 权威机构使用其私钥对信息签名
通过权威机构私钥加签的方式,保证了PubK来源的可靠性。那么谁是权威机构?恭喜你,你已经掌握了问题的精髓.在密码学领域,总是存在一个根信任的问题。就是最源头的信任,比如我们浏览器中使用的根证书就是一个典型的例子。
数字证书用处多
行文至此,数字证书的概念已经呼之欲出了!数字证书,又称为公钥证书,用来证明某个公钥被某个实体(通常为人、组织或服务)所持有。这就好比,你的房产证用来证明房子是被你持有。同理,你的公钥证书用来证明这把公钥被你持有。
一个数字证书包括的基本信息有:证书的版本号、证书序列号、使用的签名算法、颁发者的身份标识、证书的有效期、公钥、公钥持有者的身份。这些信息作为被签名的数据,使用指定的签名算法和CA的私钥进行签名,并将签名的结果添加到证书中。这就构成了一个完整的证书。数字证书的典型结构:
图7 数字证书的典型结构
由于CA机构的公钥是广而告之的,任何组织或实体只要用CA的公钥验证了证书中签名的合法性,就能证明当前证书是可靠的。即,证书中所声明的公钥与持有者关联。同时,该公钥对应的私钥被持有者唯一持有。
作者:义臻
链接:https://www.zhihu.com/question/366632381/answer/976426943
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
边栏推荐
- (P17-P18)通过using定义基础类型和函数指针别名,使用using和typedef给模板定义别名
- 企业上线MES软件的费用真的很贵?
- Seurat package addmodulescore is used for bulk RNA SEQ data
- Hands on deep learning -- image classification dataset fashion MNIST
- JVM learning notes: garbage collection mechanism
- 企业上MES系统的驱动力来自哪里?选型又该注意哪些问题?
- Never use MES as a tool, or you will miss the most important thing
- FPGA generates 720p video clock
- MES帮助企业智能化改造,提高企业生产透明度
- What is the difference between ERP production management and MES management system?
猜你喜欢

JVM learning notes: three local method interfaces and execution engines

(p19-p20) delegate constructor (proxy constructor) and inheritance constructor (using)

What is an extension method- What are Extension Methods?

ctfshow web4

You get download the installation and use of artifact

Installation series of ROS system (II): ROS rosdep init/update error reporting solution

Hands on deep learning -- Introduction to linear regression model

(p21-p24) unified data initialization method: List initialization, initializing objects of non aggregate type with initialization list, initializer_ Use of Lisy template class

Py & go programming skills: logic control to avoid if else

Principle and configuration of MPLS
随机推荐
MES helps enterprises to transform intelligently and improve the transparency of enterprise production
三国杀周边--------猪国杀题解
(p36-p39) right value and right value reference, role and use of right value reference, derivation of undetermined reference type, and transfer of right value reference
How to write simple music program with MATLAB
【进阶指针二】数组传参&指针传参&函数指针&函数指针数组&回调函数
MATLAB image processing - cosine noise removal in image (with code)
Record the treading pit of grain Mall (I)
Centso8 installing mysql8.0 (Part 2)
Vscade debug TS
Vision transformer | arXiv 2205 - TRT vit vision transformer for tensorrt
(p21-p24) unified data initialization method: List initialization, initializing objects of non aggregate type with initialization list, initializer_ Use of Lisy template class
千万别把MES只当做工具,不然会错过最重要的东西
What exactly is APS? You will know after reading the article
超全MES系统知识普及,必读此文
(P14)overrid关键字的使用
In the era of intelligent manufacturing, how do enterprises carry out digital transformation
安科瑞消防应急照明和疏散指示系统
智能制造的时代,企业如何进行数字化转型
MYSQL中的锁的机制
牛客网的项目梳理