可以在器件正常工作时,将热电偶以良好热接触的方式放置在封装顶部来检测DesignTag代码,如图3所示。热量读取数据被输入进DesignTag阅读软件,并进行解密。完成代码识别的检测时间需要数分钟,系统可以检测和区分同一器件中的多个标记。
图3:用热电偶检测热信号。
不良条件可能增加检测时间,但内部算法会随着采样量的增加而使可靠性增加(图4)。如果阅读工作在静止空气中进行,获取时间则可以缩短。由于加电而导致DUT自身的散热不会阻止标记的检测。可能延长检测时间的因素包括:热不稳定状态,探针与封装之间接触不良,或一个设计中有多个代码。
图4:信号被累积和处理,直到取得很高的把握性。
DesignTag可以支持所有流行的封装类型。不过目前DesignTag不推荐用于散热器或采取强制制冷的场合。
Algotronix公司推荐使用Pico科技公司带热电偶的TC-08数据记录仪。其它设备正在评估中。TC-08已包含在DesignTag入门套件中,套件中还包含有阅读器软件、安装有FPGA和5个有效DesignTag代码的评估板(图5)。阅读器软件可在运行Windows(XP或Vista)的PC上运行。
图5:入门级套件包括数据记录仪、软件、评估板和5个唯一代码。
分析攻击DesignTag的企图
任何反剽窃机制的最重要特性之一是识别、删除或去激活身份标记的难度。潜在偷窃者要解决的第一个问题是判断盗版代码中是否包含DesignTag。微小的热信号包含有64位代码,必须使用DSP和解密技术才能检测出来。扩展代码被用来控制采用线性反馈移位寄存器(LFSR)这类电路的热发生器。
扩展代码发生电路基于唯一的‘标记ID’,就像是密钥一样,其中每个密钥可导致不同的伪噪声序列。DesignTag阅读软件可以识别公开代码,但没有基础知识和授权,软件是无法检测私有代码的,这些代码将保持隐秘状态。
各种形状的标记波形是伪随机的。这些代码通过重复的功率循环和关联被观察信号能够挫败那些解码信号的企图。
另外一种可能的攻击方式是获得多个DesignTag IP内核,并在比特流或加密的网表级对它们进行比较,以便观察哪些特殊源码被修改过,并假设这些特殊源码对应的就是标记代码比特。为了挫败这种攻击,标记IP内核的许多内容以随机方式加以改变,从而在任意两个标记实例之间形成巨大数量的差异。