0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

你不知道的PIC单片机代码保护的关键序列号芯片

PCB线路板打样 来源:LONG 2019-07-26 09:55 次阅读

我年轻时最喜欢的一款游戏是捉迷藏。我会和我的朋友一起玩,尝试找一个好的藏身之处总是很有趣。作为一个哥哥,我和我的弟弟一起玩了同样的游戏,但是有一点扭曲。我不得不隐藏自己,而是隐藏自己的东西。如果我选择了好的藏身之处,我的东西是安全的。然而,如果我缺乏自信并且选择了不好的藏身之处,他们肯定会找到我的玩具或衣服,有时会损坏或丢失它们。

对于我们这些设计和开发PCB的人来说,保护你的固件不受黑客的影响喜欢捉迷藏的游戏。固件或微控制器代码保护对于保持产品的保真度以及保护产品设计开发中的时间和资本支出投资至关重要。有几种很好的微控制器代码保护方法可以保护您的固件免受大多数黑客的攻击。但是,就像我顽固的兄弟杰夫一样,一些黑客决心通过以更便宜的价格淹没市场并以低价出售劣质产品来假装它们是由你制造的,从而偷走你的辛勤工作和利润。对于这些黑客来说,键控序列号芯片是微控制器代码保护的有效隐藏和寻找策略。

数到万:PIC单片机代码保护

< p>通常,通过将机器代码下载到本地存储器来编程处理器。这可以通过闪存来实现,其中代码是可擦除的,并且处理器可以被重新编程或硬连线(烧录)到存储器中,其中不能进行未来的改变。在这些情况下,程序代码的位置即使是没有经验的黑客也是众所周知的,这使得它非常不安全。

PIC单片机是目前最流行的控制器之一,它们具有广泛的架构和不同的功能。无论方差如何,这些处理器的控制器代码结构都是类似的。大多数固件开发都是通过使用开发板完成的,这对于调试代码非常有用。然而,这些板通过串行电缆提供对控制器存储器的简单访问。

没有足够的微控制器代码保护访问代码很容易

隐藏和查找代码安全性

使用序列号密钥是一种加密形式,类似于用于密码保护的内容。每个制造的微控制器都分配有唯一的代码,其范围可以从8位到80位或更长。这个想法是防止访问控制器代码,除非访问设备或程序匹配代码。这可以防止窥探程序代码被窥探。与密码保护一样,黑客已经开发了密钥生成器,试图创建适当的访问代码。如果有足够的时间,这些在获得正确的代码时非常有效。为了阻止这种情况,我建议您将密钥存储在黑客无法访问或可能无法查看的位置。

唯一密钥必须位于可在执行程序之前读取的位置。虽然这可能听起来有限,但有很多选择。例如:

闪存:这是存储可删除和重写的程序代码和密钥的最佳位置。这在调试过程中用于测试和开发。

程序存储器:这通常是为程序保留的专用存储器块。这也是隐藏钥匙的好地方。除非知道密钥的加密方法,否则很难将实际程序代码与密钥代码分开。

微处理器内存(EEPROM):密钥是硬连线的或刻录到ROM设备中,无法更改。这取决于系统阻止入侵者读取访问的能力。通常在制造过程中或发货前完成。

Mikroe PIC微控制器框图

如上所示,有几个存储器位置,密钥可以存储在微控制器内,并且外部读取设备无法直接访问。此外,可以在PCB上添加外部安全存储组件,微控制器可以通过专用端口位置直接访问该组件。

您可以通过实施专用安全存储设备来创建外部存储器单元。除了微控制器之外,PCB是无法访问的。由于大多数PCB包含许多连接到微控制器的设备,因此潜在的黑客无法检测到这种模糊设备。相反,它被假定为系统关键组件。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 芯片
    +关注

    关注

    447

    文章

    47769

    浏览量

    409072
  • 集成电路
    +关注

    关注

    5320

    文章

    10725

    浏览量

    353329
  • 单片机
    +关注

    关注

    6001

    文章

    43970

    浏览量

    620785
  • 华强pcb线路板打样

    关注

    5

    文章

    14629

    浏览量

    42574
收藏 人收藏

    评论

    相关推荐

    刻录软件nero序列号

    /dvdcreator_install_chs_new.exe Nero 10.5.10500 多语言版 下载 - 天空软件站 - 光盘工具nero是知名的光碟刻录程序,支持各种刻录、提供强大的进阶功能nero8序列号生成器,手工验证NERO8
    发表于 12-20 10:34

    查找重名的序列号

    今天客户投诉产品的序列号码重复.要求重工.把库存中产品的序列号sorting 一遍,看看是否有重复的序列号?制作了一个小程序.请大家看看是否可行?
    发表于 07-07 16:58

    DS18B20序列号的读取问题

    使用单片机可以读取挂接在同一总线上的多个DS18B20的序列号吗?我试了一下,貌似读取到的是各个传感器序列号按位取与后的结果。对于一条线上由多个传感器组成的网络,难道一定要事先挨个读取序列号
    发表于 07-10 20:25

    设计原理图,都应知道哪些芯片?比如之前我不知道光耦

    初学者怎么样才能了解大部分常用的功能性芯片呢?都有哪些呢?以前仅知道几个电源芯片和运放型号,还不知道都多少品牌多少种类,如何选型等等,知道
    发表于 03-21 18:43

    labview的序列号

    谁有labview的序列号,从今年9.1开始咨询 NI 公司的labview软件支持必须有序列号,谁能给我提供一个啊,私密我也行, QQ601924437 @qq.com邮箱也行,谢谢大神! 本人已有labview破解器,只是需要您提供的
    发表于 10-13 18:36

    PIC单片机保护的问题

    最近搞到一块PIC单片机PIC16C765”想研究一下,在网上买了一个下载器,还装好了软件,写了一个小程序编译也成功了,就是在下载的时候不能正常下载到里面,老是显示写保护,要么就数据
    发表于 11-08 19:01

    知道labview的序列号怎么看?

    向NI公司技术人员咨询,还要我的客户序列号,谁知道怎么找到帮帮我,感激不尽。
    发表于 06-29 16:02

    ds18b20序列号匹配

    在ARM7系统下,将两个以上ds18b20测温芯片挂在一根单总线上测温度时,需要匹配芯片序列号。对芯片的温度寄存器进行读取前又需要读取芯片
    发表于 06-30 15:05

    C66 序列号

    问下,C66的每个芯片有没有唯一的序列号,要怎么读取到芯片序列号。有没有函数可以直接获取的。 谢谢!!
    发表于 06-21 17:55

    SQTP不更新序列号

    使用PIC32 MZ2048 EFM100IPE V4.15i,当我正在编写新的板时,似乎无法获得IPE来更新我的序列号。IPE报告它是成功的,并且显示了它被编程的地址和它所编程的序列号,但是当我
    发表于 10-10 16:28

    PIC16F913芯片是否有唯一的序列号

    嗨,我们正在使用PIC16F913芯片批量生产我们的产品,所以我们想用唯一的序列号跟踪芯片芯片中是否有唯一的
    发表于 01-09 14:59

    皮卡3有没有办法把它重置为原来的序列号

    我用来连接我的皮卡3,它会显示它的序列号。我不知道我做了什么,但现在显示序列号为Debug TK3。有没有办法把它重置为原来的序列号?如果不是,会影响功能吗?谢谢伊恩
    发表于 05-01 15:05

    如何获取CPU序列号代码

    using System.Management;public string GetCpuID(){try{ //获取CPU序列号代码 string cpuInfo = "";//cpu序列号ManagementClass mc
    发表于 07-13 07:56

    请问如何查看CH579M板子的序列号

    不知道如何查看板子的序列号,提供的参数文档有一个芯片ID,有没有提供子程序,求解
    发表于 08-17 07:34

    【野火 fireFlasher Mini 脱机烧录器】5. 自动序列号功能测试

    前言 本文将测试序列号的应用,序列号功能可以让每次下载的程序在指定的flash区域自动增加(可以设置增加的位数),可以使用这种方式来自动的给单片机编号。 序列号写入地址:0x80020
    发表于 05-13 22:48