我年轻时最喜欢的一款游戏是捉迷藏。我会和我的朋友一起玩,尝试找一个好的藏身之处总是很有趣。作为一个哥哥,我和我的弟弟一起玩了同样的游戏,但是有一点扭曲。我不得不隐藏自己,而是隐藏自己的东西。如果我选择了好的藏身之处,我的东西是安全的。然而,如果我缺乏自信并且选择了不好的藏身之处,他们肯定会找到我的玩具或衣服,有时会损坏或丢失它们。
对于我们这些设计和开发PCB的人来说,保护你的固件不受黑客的影响喜欢捉迷藏的游戏。固件或微控制器代码保护对于保持产品的保真度以及保护产品设计开发中的时间和资本支出投资至关重要。有几种很好的微控制器代码保护方法可以保护您的固件免受大多数黑客的攻击。但是,就像我顽固的兄弟杰夫一样,一些黑客决心通过以更便宜的价格淹没市场并以低价出售劣质产品来假装它们是由你制造的,从而偷走你的辛勤工作和利润。对于这些黑客来说,键控序列号芯片是微控制器代码保护的有效隐藏和寻找策略。
数到万:PIC单片机代码保护
< p>通常,通过将机器代码下载到本地存储器来编程处理器。这可以通过闪存来实现,其中代码是可擦除的,并且处理器可以被重新编程或硬连线(烧录)到存储器中,其中不能进行未来的改变。在这些情况下,程序代码的位置即使是没有经验的黑客也是众所周知的,这使得它非常不安全。
PIC单片机是目前最流行的控制器之一,它们具有广泛的架构和不同的功能。无论方差如何,这些处理器的控制器代码结构都是类似的。大多数固件开发都是通过使用开发板完成的,这对于调试代码非常有用。然而,这些板通过串行电缆提供对控制器存储器的简单访问。
没有足够的微控制器代码保护访问代码很容易
隐藏和查找代码安全性
使用序列号密钥是一种加密形式,类似于用于密码保护的内容。每个制造的微控制器都分配有唯一的代码,其范围可以从8位到80位或更长。这个想法是防止访问控制器代码,除非访问设备或程序匹配代码。这可以防止窥探程序代码被窥探。与密码保护一样,黑客已经开发了密钥生成器,试图创建适当的访问代码。如果有足够的时间,这些在获得正确的代码时非常有效。为了阻止这种情况,我建议您将密钥存储在黑客无法访问或可能无法查看的位置。
唯一密钥必须位于可在执行程序之前读取的位置。虽然这可能听起来有限,但有很多选择。例如:
闪存:这是存储可删除和重写的程序代码和密钥的最佳位置。这在调试过程中用于测试和开发。
程序存储器:这通常是为程序保留的专用存储器块。这也是隐藏钥匙的好地方。除非知道密钥的加密方法,否则很难将实际程序代码与密钥代码分开。
微处理器内存(EEPROM):密钥是硬连线的或刻录到ROM设备中,无法更改。这取决于系统阻止入侵者读取访问的能力。通常在制造过程中或发货前完成。
Mikroe PIC微控制器框图
如上所示,有几个存储器位置,密钥可以存储在微控制器内,并且外部读取设备无法直接访问。此外,可以在PCB上添加外部安全存储组件,微控制器可以通过专用端口位置直接访问该组件。
您可以通过实施专用安全存储设备来创建外部存储器单元。除了微控制器之外,PCB是无法访问的。由于大多数PCB包含许多连接到微控制器的设备,因此潜在的黑客无法检测到这种模糊设备。相反,它被假定为系统关键组件。
全部0条评论
快来发表一下你的评论吧 !