嵌入式技术论坛
直播中

wyj2298864233

11年用户 161经验值
擅长:嵌入式技术 EDA/IC设计
私信 关注
[问答]

程序保护类的加密芯片,加密原理是什么?

接触了一些加密芯片,也用了一些,但是感觉安全性不怎么好,有些根本起不到保护效果,听说程序保护类的加密芯片安全性不错,有听说过的吗?具体原理是什么,难道能在里面编写c java或者更多的语言吗?想不通

回帖(13)

xiaoxiaosafe

2016-7-29 14:32:53
语言环境是C,不在芯片中编程,是在Keil软件里使用C编写程序,生成hex格式的程序文件,然后再烧到芯片中。原理呢,也简单,就是将程序放到芯片中保护起来,只能调用,但不能复制,通过加密芯片控制数量,保证不被抄板剽窃,程序区域最高可达百K字节,数据区也很有特点,只能通过底层函数读写,在当今的加密方法中,属于比较有效的一种方式。
举报

刘大文

2016-7-29 16:58:06
受到警告
提示: 作者被禁止或删除 内容自动屏蔽
举报

xiaoxiaosafe

2016-8-2 14:41:08
硬件加密这块只需要在板子上加上加密芯片就可以了,供应商都会有有技术支持非常方便和省事儿。
举报

Mr_WangJP

2016-8-3 15:09:54
ooo
举报

Mr_WangJP

2016-8-3 15:14:25
我听说过LKT系列的,口碑还不错。原理就是将重要的程序通过KEIL编译生成HEX文件,将HEX文件移植到加密芯片中,这样可以确保重要程序不会被破解,当用到这部分函数时,通过指令调取即可,是目前很好的加密方案。
举报

陈哲

2016-8-3 15:23:25
他们说的有点问题,1,加密芯片是保护程序不被改写,2,他们说的是程序的封装,封装程序后程序内容不会被看到,但功能不影响
举报

陈哲

2016-8-3 15:23:37
他们说的有点问题,1,加密芯片是保护程序不被改写,2,他们说的是程序的封装,封装程序后程序内容不会被看到,但功能不影响
举报

wang0327

2016-8-4 14:57:54
有没有详细的解释
举报

于小刚

2016-8-22 20:12:42
LKT加密芯片做得挺好的,程序移植是我目前见过的最有特色和诚意的方案,而且实用效果真的不错。
举报

于小刚

2016-8-22 20:15:02
引用: Mr_WangJP 发表于 2016-8-3 15:14
我听说过LKT系列的,口碑还不错。原理就是将重要的程序通过KEIL编译生成HEX文件,将HEX文件移植到加密芯片中,这样可以确保重要程序不会被破解,当用到这部分函数时,通过指令调取即可,是目前很好的加密方案。

嗯 LKT芯片是我目前用过  个人感觉最出色的,可以开放出程序区供用户自己设计逻辑,充分体现了公司为客户服务的诚意。
举报

于小刚

2016-8-22 20:18:55
引用: wang0327 发表于 2016-8-4 14:57
有没有详细的解释

程序保护类,就是通过某种方式,让芯片可以实现自定义的逻辑功能,不同于大多数单纯存储密钥 和 程序本身做验证的方式。
验证的方式 是可以跳过芯片,针对设备端进行破解而获得全部有效程序;程序移植的方式,因为程序是在LKT加密芯片中,是独一无二的,必须对芯片进行解密,因此安全性大大的提高了。
从不专业的解释来说,存储程序明显要比存储数据安全得多,即便芯片被硬件剖片,通过数据分析程序功能也是非常难的。
举报

jfm365

2016-12-21 13:34:22
加 密 方 案
   目前市场上很多嵌入式产品方案都是可以破解复制的,主要是因为方案主芯片不具备防破解的功能,这就导致开发者投入大量精力、财力开发的新产品一上市就被别人复制,到市场上的只能以价格竞争,最后工厂复制的产品反而价格更有优势,因为他们的开发投入几乎可以忽略不计。
   所以针对这种主芯片可以被破解的产品方案,开发者需要在开发时在产品方案中使用加密芯片并设计合理的加密方案。开发者首先需要选定性价比高的加密芯片,然后再设计加密方案。
   市面上加密芯片一般有两种:一种是传统的逻辑加密芯片,可配数据与主芯片做相互认证起到简单的加密功能;另一种是智能卡内核的可编程CPU加密芯片,可以将主芯片部分核心的算法、功能代码以及核心数据放入加密芯片。
   本方案选用具有智能卡内核的加密芯片SMEC98SP来举例实现使用STM32作为主芯片的产品的加密方案。SMEC98SP提供2K Bytes RAM、24K Bytes CODE,8K Bytes Data,用户可根据自己的需要来编程设计SEMC98SP与STM32配合的加密方案。下表为SEMC98SP与STM32配的的各种加密功能说明,具体可参见SMEC98SP评估板(STM32)源代码。

注:
①  STM32与SMEC98SP间的I2C协议指令接口规则开发者自定义。
②  上述加解密密钥均为对称DES或3DES密钥,每一对密钥开发者须在开发时分别在STM32和SMEC98SP上同时存储相同的值。
③  上述随机数都是8字节随机数,加解密算法采用DES或3DES。客户也可以根据自身需要设计或使用其他加解密算法。
④  SMEC98SP随机数发生器产生的随机数是真随机数,这样可以保证关键数据在通讯时每次都是随机数参与的,每次通讯的数据密文都是不一样的,可有效防止破解者在I2C通道上的数据监听分析。
⑤  DES或3DES加解密数据块必须为8字节整数倍,加密原始数据不是8的整数倍的按开发者自己定义补足8的整数倍,对于密文读写数据建议按LV结构补,比如:
  • 原始数据为1122334455,补数后的数据为0511223344558000;
  • 原始数据为11223344556677,补数后的数据为0711223344556677
  • 原始数据为1122334455667788,补数后的数据为08112233445566778880000000000000

希望这个资料对大家有所帮助。

举报

zhl627123

2018-3-21 13:40:49
受到警告
提示: 作者被禁止或删除 内容自动屏蔽
举报

更多回帖

发帖
×
20
完善资料,
赚取积分