24小(xiǎo)时联系電(diàn)话:18217114652、13661815404
中文(wén)
- 您当前的位置:
- 首页>
- 電(diàn)子资讯>
- 技术专题>
- 用(yòng)于PIC微控制器代码...
技术专题
用(yòng)于PIC微控制器代码保护的关键序列号芯片
用(yòng)于PIC微控制器代码保护的关键序列号芯片
对于我们这些设计和开发PCB来保护固件免受黑客攻击的人来说,这似乎是一场捉迷藏的游戏。固件或微控制器代码保护对于保持产品的保真度以及保护产品设计开发中的时间和资本支出的投资至关重要。有(yǒu)几种很(hěn)好的微控制器代码保护方法,可(kě)以使您的固件免受大多(duō)数黑客的攻击。但是,一些黑客决心通过以较低的价格充斥复制品或假装您制造的劣质产品来窃取您的辛勤工作和您的利润。对于这些黑客来说,锁上序列号芯片是微控制器代码保护的有(yǒu)效隐藏策略。
数万:PIC单片机代码保护
通常,通过将机器代码下载到本地存储器中来对处理(lǐ)器进行编程。这可(kě)能(néng)是通过闪烁执行的,其中的代码是可(kě)擦除的,并且处理(lǐ)器可(kě)以重新(xīn)编程或硬连線(xiàn)(刻录)到内存中,以后无法进行任何更改。在这些情况下,即使没有(yǒu)经验的黑客也知道程序代码的位置,这使其非常不安全。
PIC微控制器是最流行的控制器之一,它们具有(yǒu)广泛的體(tǐ)系结构和不同的功能(néng)。不管方差如何,这些处理(lǐ)器的控制器代码结构都是相似的。大多(duō)数固件开发都是通过使用(yòng)开发板来完成的,这对于调试代码是无价的。但是,这些板可(kě)通过串行電(diàn)缆轻松访问控制器内存。
隐藏和寻求代码安全
序列号密钥的使用(yòng)是一种加密形式,类似于用(yòng)于密码保护的加密形式。每个制造的微控制器都分(fēn)配有(yǒu)唯一的代码,范围从8位到80位或更長(cháng)。这个想法是防止访问控制器代码,除非代码与访问设备或程序匹配。这样可(kě)以防止窥视程序代码。与密码保护一样,黑客也开发了密钥生成器,这些密钥生成器试图创建适当的代码以进行访问。如果有(yǒu)足够的时间,这些代码将非常有(yǒu)效地得出正确的代码。為(wèi)了阻止这种情况,我建议您将密钥存储在黑客无法访问或可(kě)能(néng)不知道可(kě)以进入的位置。
唯一密钥必须位于可(kě)以在执行程序之前读取的位置。尽管这听起来可(kě)能(néng)有(yǒu)局限性,但是有(yǒu)很(hěn)多(duō)选择。例如:
闪存:这是用(yòng)于存储程序代码和可(kě)能(néng)被擦除和重写的键的最佳位置。它用(yòng)于调试过程以及测试和开发。
程序存储器:这通常是為(wèi)程序保留的专用(yòng)内存块。这也是隐藏密钥的好地方。除非知道密钥的加密方法,否则很(hěn)难将实际程序代码与密钥代码分(fēn)开。
微处理(lǐ)器存储器(EEPROM):密钥已硬连線(xiàn)或刻录到ROM设备中,无法更改。这取决于系统阻止入侵者进行读取访问的能(néng)力。通常在制造过程中或刚好在运输之前完成。
Mikroe PIC单片机框图
如上所示,在几个存储位置中,密钥可(kě)以存储在微控制器中,并且不能(néng)由外部读取设备直接访问。此外,可(kě)以将外部安全存储组件添加到PCB,微控制器可(kě)以通过专用(yòng)端口位置直接访问该组件。
您可(kě)以通过在PCB上实施专用(yòng)的安全存储设备来创建外部存储单元,以用(yòng)作微控制器无法访问的存储单元。由于大多(duō)数PCB包含许多(duō)连接到微控制器的设备,因此潜在的黑客可(kě)能(néng)不会检测到这种模棱两可(kě)的设备。而是假定它是系统关键组件。