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

news/2024/9/27 17:08:43

1. 版权保护芯片RJGT102介绍

为了防止硬件电路与固件被抄袭,核心在于加密芯片和安全解决方案的设计,目前大多MPU并不具备安全防护功能,所以最好的办法是使用一颗专用的加密芯片,通过加密芯片对接MPU,进行认证,授权,保存关键数据等。

RJGT102采用了SHA256对称加密算法,256位的大数加密, 加密算法强度高。每片RJGT102都有唯一的客户编码,非常适合做防抄板,防抄软件,管控工厂生产数量,防止方案外泄等。

参与SHA256运算的数据为:8字节Key(可动态更换),8字节UID,8字节随机数,8字节常数,以及32字节关键数据,共512bit数据源,不可以从消息摘要中复原信息,两个不同的消息不会产生同样的消息摘要,修改消息中的一个比特即会引起雪崩效应,输出32字节报文摘要(MAC)。

版权保护芯片的主要用途:

1、行license授权,控制生产量;

2、进行设备接入认证,保护系统;

1.1      license授权应用

通过license授权控制生产量从而保护产品防止被抄板进而造成利益受损,通常的管控方案如下:

每生产一部产品就要用到一颗加密芯片,产品工作时需要认证,通过后才能正常工作,否则不能正常工作或功能受限,从而能防止抄板。通过在PCB电路板上嵌入RJGT102加密芯片,并预先烧录好认证密钥KEYD,然后在主机软件中嵌入认证程序,实现主机对芯片的认证。即便抄板者复制了PCB板,并且从存储器中直接拷贝出了CPU的二进制代码烧录进被复制的存储器中,由于烧录的程序会不时的与RJGT102加密芯片进行身份认证,因为抄板者无法获得厂商定制烧录认证密钥KEYD的RJGT102加密芯片,认证就无法通过,因此系统将无法运行,产品在进行代工生产的时候,可以通过控制烧录认证密钥的RJGT102加密芯片数量来有效控制代工生产的出货数量,也防假冒产品流入市场。

1.2      设备接入认证

与license授权类似,但并不是使得非授权设备无法运行,而是在后端服务处理单元直接无视非授权设备上传的数据请求从而做到设备的认证接入,通常方案如下:

当需要接入设备与远端服务进行通信时,接入设备上嵌入RJGT102加密芯片,并预先烧录好认证密钥KEYD,由远端服务发送随机数从而开启设备接入认证,接入设备在收到随机数后由板载RJGT102运算生成MAC,并将MAC发送给远端服务,远端服务对接入设备发送过来的MAC进行比对认证从而控制设备的接入与否。

2. RJGT102认证方案流程

第一步,在产品生产时,通过预设密钥、UID、PAGE区等关键参数来进行第三方授权,并能跟踪和确认其使用,防范非法使用程序代码。

第二步,在产品使用时,每次上电自检,系统先通过RJGT102执行认证过程,只有具备有效密钥的RJGT102才能成功地返回有效MAC值。如果检测到无效MAC,将结束操作,其结束操作可能发生在本端(如license控制),也可能发生在远端(如接入设备认证)。

认证方案一:

主机确认RJGT102为有效的安全芯片,认证通过后,主机程序才能进行下一步操作。生产厂商可通过对RJGT102的管理和发放来保护产品的程序、硬件电路等,有效防止软件和硬件设计等知识产权被盗版。

 

图 2.1:主机确认RJGT102是否有效

上面的认证流程也可将MPU看作远端服务,而将RJGT102看作接入设备,从而控制接入设备的认证接入。

认证方案二:

RJGT102确认主机是合法用户,认证通过后,可以对RJGT102芯片进行密钥升级,关键参数读取等操作。关键参数可以是密文形式存放,用来增强安全性。上述方案可以防止非法主机操作RJGT102。

 

图 2.2:RJGT102确认主机是否合法

认证方案三:

主机和RJGT102相互认证,认证通过后,主机可进入正常操作状态,同时可读取RJGT102中的关键参数,关键参数可以是密文形式存放,用来增强安全性。根据关键参数,主机可以选择条件执行部分子程序或完整程序。通过上述策略,主机系统可有选择的授权完整功能单元或者部分功能单元。

 

图 2.3:主机与RJGT102双端认证

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/45784.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

TP4086B电源管理芯片

896s外部充电芯片tp4086b 充电过程 当输入电压大于电源低电压检测阈值和芯片使能输入端接高电平时,TP4086B/C开始对电池充电,CHRG 管脚输出低电平,表示充电正在进行。如果电池电压低于 2.9V,TP4086B/C采用涓流对电池进行预充电此时充电电流是恒流充电电流的 10%。当电池电压…

数仓sql场景:求第一次出现和最后一次出现及最后一次的相关信息

1.需求 根据身份证号分组聚合求第一次(开始时间最小)出现的基站及对应时间和最后一次(结束时间最大)出现的基站,ip4,ip6及对应时间2.应用场景 安全行业,上网流量日志监控行业,如追击罪犯,要查看第一次出现的位置和最后一次出现的位置及最后一次联系人等相关信息,从而可以…

SVG pattern 标签的用法和应用场景

通过使用 通过使用 <pattern> 标签,可以在 SVG 图像内部定义可重复使用的任意图案。这些图案可以通过 fill 属性或 stroke 属性进行引用。 使用场景 例如我们要在 <svg> 中绘制大量的圆点点,可以通过重复使用 <circle> 标签来实现。<svg width="10…

软件工具推荐-1数据库客户端-dbeaver

官网 https://dbeaver.io/ 免费社区版本 免费版本,功能齐全,支持各种数据库 其他包含TDengine这类时序数据, 功能非常强大,增删改查无需写sql,谁用谁便利 but,也许,可能,会使你失去写sql的能力,另一方面也反应了他的可视化功能非常强大 常用基本操作基本不能写sql

4.13 拔掉网线后, 原本的 TCP 连接还存在吗? (转载)

4.13 拔掉网线后, 原本的 TCP 连接还存在吗? 大家好,我是小林。 今天,聊一个有趣的问题:拔掉网线几秒,再插回去,原本的 TCP 连接还存在吗? 可能有的同学会说,网线都被拔掉了,那说明物理层被断开了,那在上层的传输层理应也会断开,所以原本的 TCP 连接就不会存在的了…

Angular cli 父传子,子传父,服务Service, @input,@output,@ViewChild 装饰器的简单使用,看这一篇就够了

直接code 1:Angular cli 创建组件componentng g component components\rightng g c wave 简写需要定位到根路径下即可创建组件Could not find an NgModule. Use the skip-import option to skip importing in NgModule. PS C:\myAngulrDemos\20240428demo\mydemo01\src> c…

业务数据脱敏

业务数据脱敏 一、什么是数据脱敏 先来看看什么是数据脱敏?数据脱敏也叫数据的去隐私化,在我们给定脱敏规则和策略的情况下,对敏感数据比如 手机号、银行卡号 等信息,进行转换或者修改的一种技术手段,防止敏感数据直接在不可靠的环境下使用。 像政府、医疗行业、金融机构、…

面试官问:Kafka 会不会丢消息?怎么处理的?

作者:Java3y链接:https://www.zhihu.com/question/628325953/answer/3281764326来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。面试官:今天我想问下,你觉得Kafka会丢数据吗? 候选者:嗯,使用Kafka时,有可能会有以下场景会丢消息 候选…