BR 技术头条
fe www.felix021.com / 2022-08-18 23:59 / by @技术头条 / 原作者:@Slyar

关于 RSA 的一些趣事

在考察到网络这一块的时候,可能会问问 http 协议,聊安全相关问题时,就顺便聊聊 https 。

大多数候选人知道非对称加密,了解客户端会用 RSA 公钥进行加密。

那么,服务器在返回响应报文之前,会用什么来进行加密呢?

有些候选人回答:“用服务器私钥进行加密”。

内心呵呵一笑

接着问,那服务器返回的信息岂不是可以被中间人拦截并解密吗?

候选人一般就放弃挣扎,只能强颜欢笑了。

发表评论

相关分享

bl blog.nsfocus.net / 2021-06-13 22:46

洞见RSA 2021|备受热捧的“供应链攻击”如何防御?

供应链攻击是一种面向软件开发人员和供应商的新兴威胁。目标是通过感染合法应用分发恶意软件来访问源代码、构建过程或更新机制。

软件供应链可划分为开发、交付、运行三个大的环节,每个环节都可能会引入供应链安全风险从而遭受攻击,上游环节的安全问题会传递到下游环节并被放大。值得注意的是在供应链攻击中受到攻击的是上游厂商,受到威胁的则是上下游厂商。上游的代码风险问题,其实就是下游厂商需要注意的供应链问题。上游管理好软件开发过程中的风险有助于减少下游厂商面临的供应链攻击。代码风险平台能够解决的就是软件开发过程中发生的供应链攻击。

无图
yq yq.aliyun.com / 2019-03-19 15:01

RSA 2019安全大会:企业资产管理成行业新风向标,云上安全占优势

美国时间3月4-8日,国际知名信息安全峰会RSA Conference在美国旧金山开幕,云安全及云可以为企业提供更可靠的资产管理方式成为大会热点。

此次峰会共吸引全球700多家机构参展,其中近42%为云安全和网络安全相关企业,在所有演讲主题中,云安全超过网络安全和数据安全,成为热门关键词第一。作为全球首家也是唯一一家审计报告覆盖所有C5标准基础要求和附加要求的云服务提供商,阿里云也带去了最核心的云安全产品、行业解决方案、云安全生态。

无图
ji www.jianshu.com / 2018-07-31 17:06

RSA加密、解密和签名、验签过程理解

这里将A理解为客户端,B理解为服务端,可以比较好理解.

加解密过程简述
A和B进行通信加密,B要先生成一对RSA密钥,B自己持有私钥,给A公钥 --->A使用B的公钥加密要发送的内容,然后B接收到密文后通过自己的私钥解密内容

签名验签过程简述
A给B发送消息,A先计算出消息的消息摘要,然后使用自己的私钥加密消息摘要,被加密的消息摘要就是签名.(A用自己的私钥给消息摘要加密成为签名)

B收到消息后,也会使用和A相同的方法提取消息摘要,然后用A的公钥解密签名,并与自己计算出来的消息摘要进行比较-->如果相同则说明消息是A发送给B的,同时,A也无法否认自己发送消息给B的事实.(B使用A的公钥解密签名文件的过程,叫做\"验签\").

数字签名的作用:保证数据完整性,机密性和发送方角色的不可抵赖性
加密与签字结合时,两套公私钥是不同的

对签名和验签过程详细理解:
签名过程:

1. A计算消息m的消息摘要,记为 h(m)
2. A使用私钥(n,d)对h(m)加密,生成签名s, s满足:s=(h(m))^d mod n;
由于A是用自己的私钥对消息摘要加密,所以只用使用s的公钥才能解密该消息摘要,这样A就不可否认自己发送了该消息给B
3. A发送消息和签名(m,s)给B
验签过程:

1. B计算消息m的消息摘要(计算方式和A相同),记为h(m)
2. B使用A的公钥(n,e)解密s,得到 H(m), H(m) = s^e mod n
3. B比较H(m)与h(m),相同才能证明验签成功

对加密/解密和签名/验签完整过程详细理解:
A->B:
1. A提取消息m的消息摘要h(m),并使用自己的私钥对摘要h(m)进行加密,生成签名s
2. A将签名s和消息m一起,使用B的公钥进行加密,生成密文c,发送给B

B:
1. B接收到密文c,使用自己的私钥解密c得到明文m和数字签名s
2. B使用A的公钥解密数字签名s解密得到H(m)
3. B使用相同的方法提取消息m的消息摘要h(m)
4. B比较两个消息摘要。相同则验证成功;不同则验证失败

无图