解决方案

首页 > 解决方案 > 正文内容

公钥和公钥证书关系(关于证书,CA,公/私钥,签名的一些理解)证书和公钥的区别,难以置信,

wangqiang1年前 (2023-12-13)解决方案267

背景:

如题,最早看到这些关键字的时候已经是两三前年的事了,那时查阅过相关资料简单的了解过它们一下;直到最近在回顾笔记的时候,发现有些地方理解的不是很通透;遂在以前笔记基础上做了一点归纳和总结,顺便在这颗粒机里记录一下。

做过后端开发的童鞋都知道,服务之间的通信基本上都是通过HTTP协议进行的;但有的时候为了安全,我们希望通信时传递的数据是经过加密的,不希望数据在传递过程中被第三方窃取;或者通信双方需要对彼颗粒机此进行认证,来确定对方的身份。这时我们就需要用到HTTPS协议,而提到该协议,就必须了解标题中提到的关键字。

场景:

在开始之前,用最常见的浏览器访问网站的例子来看一个问题 -> 浏览器怎么确定访问目标是颗粒机可信的,而不是被其它第三方假冒的?

示意图(红线连接着假冒的服务)

一种办法是: 受访问的服务需要提供能证明自己身份的东西,这就引出了->证书。 但是怎么证明证书是有效的? 假冒的服务器也可以有证书,所以颗粒机证书上要有一个可信的标识,代表它是经过认证的,这个标识就是-> 签名;那这个签名又是咋来的? 总不能服务自己给自己签吧... 所以需要一个特殊的机构来进行,这个机构是大家公认的可靠第三方,只要证书有它颗粒机的签名,就可以信任这个证书,这个机构就是CA(certificate authority)。至此,证书,CA,签名的关系就说完了。 (注: 浏览器对服务器的认证,通常是单向认证-即只校验服务器的证书;颗粒机 在日常开发时,服务与服务之间走HTTPS,都是需要双向认证的-即双方都需要提供自己的证书,并进行校验)

CA,证书,签名之间的关系

认证说完后,再来说说如何对数据加解密。一般来说双方需要协商一个加/解算颗粒机法,并使用相同的秘钥对数据进行加/解密。设秘钥为key, 加密算法为encrypt,解密算法为decrypt, 数据为msg, 密文为ciphertext。 加密方: ciphertext=encry颗粒机pt(msg, key);解密方: msg=decrypt(ciphertext, key)。 注意,这里加解密用的key是相同的,这种用相同key进行加解密的方法是对称加密算法。对称加密通信存在一些颗粒机问题: 因为key是相同的,如果key被泄露,作为服务方,你发出的所有消息都可以被持有key的人解密,并且持有key的人还可以假冒你对信息签名。所以需要使用另外一种方案,这种方案需要做到加解密时用的k颗粒机ey是不同的,经过一个key加密的数据,需要另外一个key来解密; 这种加解密方案就是非对称加解密,它需要一对秘钥才能工作,即公/私钥。与之相关的加解密过程是: 加密方: ciphertext=enc颗粒机rypt(msg, publick_key), 解密: msg=decrypt(ciphertext, private_key)。通过这种方式,在需要通信的时候把公钥下发出去,持有公钥的客户端加密的数颗粒机据,只能由持有私钥的服务端解开,客户端无法通过公钥解密其它客户端发送的信息,从而保证数据的安全。

HTTPS请求流程:

解释完标题中的关键字,再看下HTTPS的请求流程,可以加深理解。

步骤:

1.浏览器发起颗粒机https请求

2.服务器返回它的证书

3.浏览器通过CA的公钥对证书签名进行校验,检查证书是否有效

4.浏览器生成一个临时秘钥并用服务器的公钥对它加密,然后将其发送给服务器

5.服务器用私钥解密,得到浏览器颗粒机发送给它的秘钥, 然后用该秘钥对数据进行加密

6.浏览器得到加密数据,并用发给服务端的秘钥进行解密
示意图

看完这幅图应该会有一些疑问,双方真正通信时用的秘钥,是相同的!也就是说,实际通信时,双方仍然用的是颗粒机对称加密方法。为什么会这样 ? 这也是我最初的疑问,为什么对称加密和非对称加密在HTTPS中都有用到?带这个问题,我们看下这两种加密方法在HTTPS协议中起到的作用。

非对称加密作用: 证书签名(CA的颗粒机私钥签), 验签(用CA的公钥验); 客户端用服务端的公钥对临时秘钥加密,服务端用私钥对数据解密,得到客户端送给它的秘钥。

对称加密的作用: 双方后面交换数据时才会用到。

这里之所以要再生成秘钥,是因为直颗粒机接用私钥对真实数据加密,性能不如对称加密,基于这个理由,后面的通信仍然使用的是对称加密;因为每次通信都会生成临时秘钥,所以对称秘钥只对一次通信有效,不用担心泄露问题。

一些详情:

证书: 在前面的描述中多颗粒机次提到证书,证书里主要有版本号,序列号,签名算法,有效期,所有者(服务端)的公钥... 除此以外,还有CA的签名。

关于签名和验签:

签名: signature=encrypt(hash(text), p颗粒机rivate_key) 解释: 先对信息进行hash生成一个摘要,再对摘要进行加密。(这里的text可以是任何数据, 证书,或其它信息)

验签: 对比 decrypt(signature, public颗粒机_key) == hash(text) 解释: 用公钥对签名解密得到加密前的hash值, 再对明文进行hash, 看看两者的hash值是否一样,如果一样则验签通过,并且内容没有被篡改,如果不一样则验签颗粒机失败。

其它:

如果你看过网上的文章,大家基本都在说公钥加密,私钥解密,私钥总是用作签名;为什么都这样说呢? 回到非对称加密最初的设计 -> 一个key加密的信息,只能由另一个key解密; 基于此,公钥加颗粒机密的信息只能由私钥解开(只有一个人能解开),那么用公钥加密是合乎情理的,因为能解密的只有一人; 反过来,如果私钥对数据加密,但公钥是在网络上广泛流传的,即使加密还是有很多人能够解密,所以用私钥加密数据颗粒机意义不大;基于此,如果用私钥来签名就比较合适了,因为只有你下发的公钥才能解开,其它人下发的公钥无法解开你的签名。

扫描二维码推送至手机访问。

版权声明:本文由木屑颗粒机_燃烧生物颗粒机那里有_生物质燃料颗粒机器设备发布,如需转载请注明出处。

转载请注明出处https://zqklj.cn/post/6991.html

分享给朋友:

相关文章

浪潮招标采购平台官网(浪潮软件申请电子材料签章实现方法专利,实现身份在线认证、文件在线签署吴磊“瞄”一眼张子枫,接下来的反应太甜了,琼瑶都不敢这么写)浪潮招标采购平台怎么样,学到了吗,

金融界2024年1月30日消息,据国家知识产权局公告,浪潮软件股份有限公司申请一项名为“一种电子材料签章实现方法、系统及装置“,公开号CN117473562A,申请日期为2023年9月。...

商用密码国家标准是由谁制定的规定(多位专家多维度详谈商用密码应用新标准和新要求)商用密码采用标准,硬核推荐,

商用密码国家标准是由谁制定的规定(多位专家多维度详谈商用密码应用新标准和新要求)商用密码采用标准,硬核推荐,

点击蓝字关注我们8月12日,有着网络安全行业“达沃斯”之称的北京网络安全大会(以下简称BCS 2020)继续在进行。上午,由北京商用密码行业协会指导,“网安一哥”奇安信集团主办,信息安全与通...

优博讯做什么产品(优博讯:着力强化对软硬件产品所搭载芯片和操作系统的安可替代每日经济新闻2021-07-19 20:35每日经济新闻2021-07-19 20:35)2021年优博讯公司订单什么样,新鲜出炉,

每经AI快讯,有投资者在投资者互动平台提问:董秘你好,请问贵公司在人工智能方面,有打算和华为的昇腾合作吗? 优博讯(300531.SZ)...

企业签订合同的流程有哪些(企业签订合同的流程)企业签合同怎么签,学到了吗,

在实践中,许多公司之间、公司与个人之间、公司与政府机关、事业单位之间都会因为经济交往而签订合同,将双方的合作意愿落实到书面上,并签字盖章,用产生法律效力的合同约束双方遵守承诺。那么,公司签订...

pdf签名功能在哪里(Microsoft和Adobe合作将PDF,电子签名深入地集成到Microsoft中)pdf显示签名,奔走相告,

pdf签名功能在哪里(Microsoft和Adobe合作将PDF,电子签名深入地集成到Microsoft中)pdf显示签名,奔走相告,

Adobe宣布了与微软合作的下一步。这两家科技巨头现在正在探索新的方法来满足客户在新的混合工作转变期间的需求。 在此次合作的后续步骤中,Adobe 希望找到独特的方式来集成...

电子合同如何生效(合同线上签  全程电子化)电子合同订立的步骤,万万没想到,

电子合同如何生效(合同线上签 全程电子化)电子合同订立的步骤,万万没想到,

“现在足不出户就可以完成招标投标合同的签订,方便又快捷!”6月16日,旌德县浣溪水库工程监理项目线上电子合同签订完成,标志着旌德县工程建设项目招标投标交易流程全部实现线上办理,实现...

现在,非常期待与您的又一次邂逅做木屑颗粒机我们是认真的!

我们努力让每一台锯末颗粒机的邂逅总能超越期待