[嵌入式Linux]

嵌入式产品如何做安全加密?

[复制链接]
1851|1
手机看帖
扫描二维码
随时随地手机跟帖
万象奥科|  楼主 | 2024-6-20 17:40 | 显示全部楼层 |阅读模式
[color=rgba(0, 0, 0, 0.9)]1. 版权保护芯片RJGT102介绍
[color=rgba(0, 0, 0, 0.9)]为了防止硬件电路与固件被抄袭,核心在于加密芯片和安全解决方案的设计,目前大多MPU并不具备安全防护功能,所以最好的办法是使用一颗专用的加密芯片,通过加密芯片对接MPU,进行认证,授权,保存关键数据等。
[color=rgba(0, 0, 0, 0.9)]RJGT102采用了SHA256对称加密算法,256位的大数加密, 加密算法强度高。每片RJGT102都有唯一的客户编码,非常适合做防抄板,防抄软件,管控工厂生产数量,防止方案外泄等。
[color=rgba(0, 0, 0, 0.9)]参与SHA256运算的数据为:8字节Key(可动态更换),8字节UID,8字节随机数,8字节常数,以及32字节关键数据,共512bit数据源,不可以从消息摘要中复原信息,两个不同的消息不会产生同样的消息摘要,修改消息中的一个比特即会引起雪崩效应,输出32字节报文摘要(MAC)。
[color=rgba(0, 0, 0, 0.9)]版权保护芯片的主要用途:
[color=rgba(0, 0, 0, 0.9)]1、行license授权,控制生产量;
[color=rgba(0, 0, 0, 0.9)]2、进行设备接入认证,保护系统;
1.1      license授权应用
[color=rgba(0, 0, 0, 0.9)]通过license授权控制生产量从而保护产品防止被抄板进而造成利益受损,通常的管控方案如下:
[color=rgba(0, 0, 0, 0.9)]每生产一部产品就要用到一颗加密芯片,产品工作时需要认证,通过后才能正常工作,否则不能正常工作或功能受限,从而能防止抄板。通过在PCB电路板上嵌入RJGT102加密芯片,并预先烧录好认证密钥KEYD,然后在主机软件中嵌入认证程序,实现主机对芯片的认证。即便抄板者复制了PCB板,并且从存储器中直接拷贝出了CPU的二进制代码烧录进被复制的存储器中,由于烧录的程序会不时的与RJGT102加密芯片进行身份认证,因为抄板者无法获得厂商定制烧录认证密钥KEYD的RJGT102加密芯片,认证就无法通过,因此系统将无法运行,产品在进行代工生产的时候,可以通过控制烧录认证密钥的RJGT102加密芯片数量来有效控制代工生产的出货数量,也防假冒产品流入市场。
1.2      设备接入认证
[color=rgba(0, 0, 0, 0.9)]与license授权类似,但并不是使得非授权设备无法运行,而是在后端服务处理单元直接无视非授权设备上传的数据请求从而做到设备的认证接入,通常方案如下:
[color=rgba(0, 0, 0, 0.9)]当需要接入设备与远端服务进行通信时,接入设备上嵌入RJGT102加密芯片,并预先烧录好认证密钥KEYD,由远端服务发送随机数从而开启设备接入认证,接入设备在收到随机数后由板载RJGT102运算生成MAC,并将MAC发送给远端服务,远端服务对接入设备发送过来的MAC进行比对认证从而控制设备的接入与否。
2. RJGT102认证方案流程
[color=rgba(0, 0, 0, 0.9)]第一步,在产品生产时,通过预设密钥、UID、PAGE区等关键参数来进行第三方授权,并能跟踪和确认其使用,防范非法使用程序代码。
[color=rgba(0, 0, 0, 0.9)]第二步,在产品使用时,每次上电自检,系统先通过RJGT102执行认证过程,只有具备有效密钥的RJGT102才能成功地返回有效MAC值。如果检测到无效MAC,将结束操作,其结束操作可能发生在本端(如license控制),也可能发生在远端(如接入设备认证)。
[color=rgba(0, 0, 0, 0.9)]认证方案一:
[color=rgba(0, 0, 0, 0.9)]主机确认RJGT102为有效的安全芯片,认证通过后,主机程序才能进行下一步操作。生产厂商可通过对RJGT102的管理和发放来保护产品的程序、硬件电路等,有效防止软件和硬件设计等知识产权被盗版。
[color=rgba(0, 0, 0, 0.9)]
[color=rgba(0, 0, 0, 0.9)]图 2.1:主机确认RJGT102是否有效
[color=rgba(0, 0, 0, 0.9)]上面的认证流程也可将MPU看作远端服务,而将RJGT102看作接入设备,从而控制接入设备的认证接入。
[color=rgba(0, 0, 0, 0.9)]认证方案二:
[color=rgba(0, 0, 0, 0.9)]RJGT102确认主机是合法用户,认证通过后,可以对RJGT102芯片进行密钥升级,关键参数读取等操作。关键参数可以是密文形式存放,用来增强安全性。上述方案可以防止非法主机操作RJGT102。
[color=rgba(0, 0, 0, 0.9)]
[color=rgba(0, 0, 0, 0.9)]图 2.2:RJGT102确认主机是否合法
[color=rgba(0, 0, 0, 0.9)]认证方案三:
[color=rgba(0, 0, 0, 0.9)]主机和RJGT102相互认证,认证通过后,主机可进入正常操作状态,同时可读取RJGT102中的关键参数,关键参数可以是密文形式存放,用来增强安全性。根据关键参数,主机可以选择条件执行部分子程序或完整程序。通过上述策略,主机系统可有选择的授权完整功能单元或者部分功能单元。
[color=rgba(0, 0, 0, 0.9)]
[color=rgba(0, 0, 0, 0.9)]图 2.3:主机与RJGT102双端认证


使用特权

评论回复

相关帖子

呐咯密密| | 2024-6-24 16:00 | 显示全部楼层
这种芯片一般都是给MPU用的吗

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

103

主题

117

帖子

0

粉丝