文章目录
- 数字证书
- 概念
- 原则
- 实际应用
- 讨论
序
如上所述,alice借用了blob 100w的收据进行安全传输。这里提到了两种方案,一种是双密钥加密机制,另一种是证书方法。这一次,我们来谈谈证书是如何保证信息不被篡改和安全传输的。
数字证书
概念
首先,明白什么是证书?我们先来回顾一下数字签名:数字签名是为了保证信息是由正确的人发送的,所以发送者需要用自己的私钥对信息进行加密。接收者用发送者的公钥成功解密,可以表明信息是以发送者的身份发送的,从而保证了信息的可靠性。
但是在借条的场景下,如何保证接收方得到真实发送方发送的公钥呢?被替换的公钥不是中间人发的怎么办?
为了防止这种情况发生,数字证书出现了。
数字证书中引入了一个新概念——CA(Certificate Authority),可以理解为公证处或政府机构。它是发送方和接收方都信任的机构,CA为双方提供数字证书。
数字证书如何解决中间人劫持问题?
原则
首先,数字证书包含了发送方的信息、公钥、数字签名等。数字证书存在。寄件人信息确认不是中介吗?不管有没有,道理都一样,公钥可以替换,证书也可以替换。为了解决这个问题,需要增加CA机构的私钥进行保护。
一个证书包含三个部分:证书内容、哈希算法和加密密文。证书的内容将被散列以计算散列值,然后用ca提供的私钥加密。
对比贷款场景,爱丽丝首先申请了一个公正机构的证书,证书中的内容是“我是爱丽丝,我的公钥信息是‘asdasdasd’,数字签名是爱丽丝的私钥对内容的哈希值的加密”。
公平组织用自己的私钥加密这个证书信息的hash值,并附上我用的hash算法是sha256,意思是把这些组合起来乘一个证书发给blob。
blob收到这个证书后,向公平组织注册,获取CA的公钥信息,blob获取公钥,解密哈希值。同时,使用相同的哈希算法对证书内容进行哈希运算,得到另一个哈希值,并将两个哈希值进行比较。如果相等,说明证书没问题。
证书没有问题。存储的信息呢?证书的公钥信息用于解密贷款内容的散列。同时使用哈希算法对贷款内容进行哈希处理。一致认为内容没问题,借条送达。
实际应用
以上只是贷款场景的使用。实践中的具体应用是https进程。首先介绍了网络上可以搜索到的信息。
单向认证,这个也是用得最多的:
第三步,验证是否合法,即利用CA机构。一般CA公司的公钥信息都会内置到浏览器中。
双向认证,这个在公司内部用到的比较多
主服务器还需要对客户端进行认证,而不是直接发送客户端的公钥信息。
图懒,我自己不画了。报价地址:https://www.jianshu.com/p/29e0ba31fb8d.
实际上,还有密钥交换算法的使用。比如单向认证,不仅客户端收到加密方法后生成一个随机码作为对称密钥,这个服务器也生成一个随机码,两个随机码组合在一起可以算作一个传输密钥。
Https涉及非对称秘密、对称加密、证书和数字签名。它是一个完整的应用场景,保证了信息在传输过程中的完整性和可靠性。
讨论
上面的贷款场景也是基于证书使用的方案。有什么想法或者错误的方案请指正。
“张承辉博客” 什么是数字证书(数字证书什么样子) https://www.zhangchenghui.com/216532