简介
Nuvoton M051 系列微处理器提供UID (Unique Identifier),开发者在应用上可透过识别UID的正确性,决定应用是否继续执行,确保产品不被任意复制仿冒。单纯的UID识别安全性似乎不足,因此将提供一个可自行增加识别复杂度范例,开发者可以基于微处理器的UID,再进行自定义的运算,使用运算过的UID识别有更佳的安全性。
原理
为了方便开发可直接将芯片UID读出并加以运算,接着合并应用程序再写入芯片,此范例分为三个区块,请参考图1-1,下列将对每区块做说明:
1. NuLink.exe : Nuvoton 提供的简易工具,必须搭配 NuLink ICE 使用,在此使用NuLink.exe 进行 UID 读取及烧入修改后的应用。
2. TCDEF.exe : Visual C++ 所编译,提供将 NuLink 读回的 UID 经自定义运算后,与Keil 所产生的应用 bin 档做合并。
3. APROM.bin : 开发者应用专案,必须包含预留运算后 UID 的区域,及如何识别运算后UID 的判断程序。
方便操作,关于上述流程,最后会使用批文件将流程整合,若开发者已完成UID自定义运算,及如何识别UID自定义运算后的程序,直接操作批文件即可。
从芯片读出的UID执行完自定义运算后,将存放于APROM保留位置,APROM保留位置在example code 与 TCDEF.exe 定义要相同,如图1-2 。
此范例自定义运算的部分预留,提供整个流程方法,最后比较芯片UID及存放于APROM的UID是否相同。
EC_M051_IO_Toggle_With_UID_Protect_V1.00.zip
(2.62 MB)
|