点击上方蓝字谈思实验室
获取更多汽车网络安全资讯
我们知道,在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签名流程如下所示:
具体签名流程,描述如下:
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
专业社群
部分入群专家来自:
新势力车企:
特斯拉、合众新能源-哪吒、理想、极氪、小米、宾理汽车、极越、零跑汽车、阿维塔汽车、智己汽车、小鹏、岚图汽车蔚来、吉祥汽车、赛力斯......
外资传统主流车企代表:
大众中国、大众酷翼、奥迪汽车、宝马、福特、戴姆勒-奔驰、通用、保时捷、沃尔沃、现代汽车、日产汽车、捷豹路虎、斯堪尼亚......
内资传统主流车企:
吉利汽车、上汽乘用车、长城汽车、上汽大众、长安汽车、北京汽车、东风汽车、广汽、比亚迪、一汽集团、一汽解放、东风商用、上汽商用......
全球领先一级供应商:
博世、大陆集团、联合汽车电子、安波福、采埃孚、科世达、舍弗勒、霍尼韦尔、大疆、日立、哈曼、华为、百度、联想、联发科、普瑞均胜、德赛西威、蜂巢转向、均联智行、武汉光庭、星纪魅族、中车集团、赢彻科技、潍柴集团、地平线、紫光同芯、字节跳动、......
二级供应商(500+以上):
Upstream、ETAS、Synopsys、NXP、TUV、上海软件中心、Deloitte、奇安信、为辰信安、云驰未来、信大捷安、信长城、泽鹿安全、纽创信安、复旦微电子、天融信、奇虎360、中汽中心、中国汽研、上海汽检、软安科技、浙江大学......
人员占比
公司类型占比
精品活动推荐
原文始发于微信公众号(谈思实验室):信息安全,RSA2048开源库及填充细节
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论