信息安全,RSA2048开源库及填充细节

admin 2024年8月28日21:38:40评论101 views字数 2289阅读7分37秒阅读模式

点击上方蓝字谈思实验室

获取更多汽车网络安全资讯

信息安全,RSA2048开源库及填充细节

我们知道,在bootloader中,常常使用RSA算法(eg:RSA2048)进行软件校验,即:对上位机下发的签名信息(Signature)使用配对的公钥进行验签(verify),以此证明信息来源的合法性和完整性。如果上位机或者云端用私钥直接对原始数据进行加密(encrypt),并传输给目标节点,就会存在一定的风险,什么风险呢?假设:加密的数据内容一直不变,那么,加密后的密文也就不变,所以,一定程度上来说,这是不安全的。

为了进一步确保信息的安全性,引入了一种安全机制:填充(padding)机制,即:通过添加随机值的方式,使得每次加密/签名后的密文数据不同。

本文讨论一下RSA签名时用到的填充算法、一些概念,以及开源的RSA算法库(eg:mbedtls),当然,mbedtls包含的算法不仅仅只有RSA,还有SHA、AES、ECC等算法。

01

RSA填充机制基本概念

MD遭受了一起严重的黑客入侵事件,黑客Intelbroker 大规模泄漏了AMD的数据。AMD当即发起了调查,在一份声明中表示:“我们正在与执法官员和第三方托管合作伙伴密切合作,调查该指控和数据的意义。”

谈到RSA,就会牵扯到PKCS(Public Key Cryptography Standards)版本问题,比如:PKCS #1 、PKCS #2、PKCS #3...

  • PKCS#1:定义私钥签名的填充方式, v1.5是PKCS1_PADDING, v2.2是 PKCS1_PSS_PADING;

  • PKCS#8:私钥信息语法标准,定义了私钥信息语法和加密私钥语法。

对于公钥算法,主流方案是使用《PKCS #1 v2.2: RSA Cryptography Standard, RSA Laboratories, October 27, 2012》。

(一)RFC8017

RFC8017中,支持两种签名填充方案:RSASSA-PKCS1-v1_5和RSASSA-PSS。实际的RSA签名应用中,一般推荐使用RSASSA-PSS填充方案。关于RFC8017,可以参考如下链接:

https://datatracker.ietf.org/doc/html/rfc8017

名词解释:

  • SSA(Signature Scheme with Appendix)

  • PSS (Probabilistic Signature Scheme,概率签名方案)是私钥(private key)签名的一种填充方式。

02

PSS模式的RSA签名流程

PSS模式的RSA签名流程如下所示:

信息安全,RSA2048开源库及填充细节

具体签名流程,描述如下:

1、对明文(M)进行哈希计算(eg:SHA256),得到mHash;

2、M' = Pad(8 byte全0)|| mHash || Salt;

3、M'进行哈希计算得到H,同时,构造数据块DB = PS || 0x01 || Salt;

4、通过MGF函数,计算H的MGF值,MGF值与DB进行异或操作得到MaskedDB;

5、EM = MaskedDB || H || 0xbc;

如上5步就是RSA-PSS的填充过程。

6、使用私钥对EM进行加密得到签名信息EM'。

其中,盐(Salt)的长度与哈希值长度相等。使用填充机制以后,也就意味着:即使每次对同一个消息进行签名,每次得到的签名信息也会不同,进而增加了对明文的保护。

03

mbedtls库移植

目前,很多MCU级的芯片还不支持硬件RSA算法,如果软件实现RSA算法,可以参考一些开源库,比如:mbedtls。

(一)mbedtls下载地址

https://github.com/Mbed-TLS/mbedtls

或者

https://github.com/Mbed-TLS/mbedtls/releases/tag/v2.16.9

(二)ASN.1在线解析地址

对于使用PEM格式存储的密钥,可以使用如下网址解析PEM格式的密钥,链接地址如下:

https://www.the-x.cn/zh-CN/encodings/Asn1.aspx

对于存储密钥的PEM格式,更多细节可以参考RFC1421,链接如下:

https://datatracker.ietf.org/doc/html/rfc1421

 end 

信息安全,RSA2048开源库及填充细节

 专业社群 

信息安全,RSA2048开源库及填充细节

部分入群专家来自:

新势力车企:

特斯拉、合众新能源-哪吒、理想、极氪、小米、宾理汽车、极越、零跑汽车、阿维塔汽车、智己汽车、小鹏、岚图汽车蔚来、吉祥汽车、赛力斯......

外资传统主流车企代表:

大众中国、大众酷翼、奥迪汽车、宝马、福特、戴姆勒-奔驰、通用、保时捷、沃尔沃、现代汽车、日产汽车、捷豹路虎、斯堪尼亚......

内资传统主流车企:

吉利汽车、上汽乘用车、长城汽车、上汽大众、长安汽车、北京汽车、东风汽车、广汽、比亚迪、一汽集团、一汽解放、东风商用、上汽商用......

全球领先一级供应商:

博世、大陆集团、联合汽车电子、安波福、采埃孚、科世达、舍弗勒、霍尼韦尔、大疆、日立、哈曼、华为、百度、联想、联发科、普瑞均胜、德赛西威、蜂巢转向、均联智行、武汉光庭、星纪魅族、中车集团、赢彻科技、潍柴集团、地平线、紫光同芯、字节跳动、......

二级供应商(500+以上):

Upstream、ETAS、Synopsys、NXP、TUV、上海软件中心、Deloitte、奇安信、为辰信安、云驰未来、信大捷安、信长城、泽鹿安全、纽创信安、复旦微电子、天融信、奇虎360、中汽中心、中国汽研、上海汽检、软安科技、浙江大学......

人员占比

信息安全,RSA2048开源库及填充细节

公司类型占比

信息安全,RSA2048开源库及填充细节

 精品活动推荐 

信息安全,RSA2048开源库及填充细节
信息安全,RSA2048开源库及填充细节
信息安全,RSA2048开源库及填充细节

原文始发于微信公众号(谈思实验室):信息安全,RSA2048开源库及填充细节

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年8月28日21:38:40
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   信息安全,RSA2048开源库及填充细节http://cn-sec.com/archives/3106173.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息