根据美国国际商会(ICC)的统计,2007年,被海关查获的伪造货物总价值将超过6千亿美元。最常见的伪造商品包括:计算机软件、DVD、CD、香水、运动鞋、药品、时尚配饰,以及汇票。另外,还包括窃取电子系统中有价值的知识产权(IP),例如能够体现手机、GPS或MP3播放器特色的GPS相关器 (correlator)算法或软件。
许多情况下,制假相当容易,只需要做好两个准备:假冒商品;用来辨别商品的标签、logo或包装的复制版。很多时候,只要拥有一部扫描仪和一个打印机,任何人都可以完成这项工作。在另外一些情况下,造假会比较困难,需要破解加密算法,或者对芯片进行分解和细微的分析。只要投入了足够的人力和财力,专门从事伪造行业的人通常都会寻找到制造和销售假冒商品的方法。
硬件安全
目前,制药行业和时尚领域已经开始使用集成电路作为电子标签。不像条形码,电子标签能够通过升级来反映出诸多信息:这件商品在哪里,付运者是谁,分销商是谁,它在供应链的哪个环节(包括仓库位置、箱柜位置,以及它一直所处的位置和将要被存储的位置),最终的零售目的地等。目前,有很多产品都能够提供此类服务,从简单的带连线或RF接口的串行EEPROM,到有密码保护的EEPROM,还有加密引擎嵌入在其硬件中的加密存储器。如何针对不同的应用进行正确选择,这取决于需要被存储的信息容量、需要的安全等级、解决方案的成本,以及设计过程的复杂度。
简单的EEPROM
最简单的电子标签形式,就是在产品或其包装中嵌入一个标准的串行EEPROM。EEPROM可以有一个标准的两线接口,或者是一个RF接口,就像在RFID标签里那样。EEPROM中包含数字信息,像产品名称、辨识细节(例如版本号),或者是参考带有产品信息数据库的记录号。典型情况下,此类标签的存储能力范围从几个字节到128B。
EEPROM提供的电子产品标签成本相对较低。与将标签信息存储在集成电路中的方法不同,EEPROM方法的安全性非常低。造假者可以借助一个价格低于100美元的EEPROM阅读器,从现有EEPROM标签中读取信息,并将其拷贝到空白的串行EEPROM中,然后用于包装伪造商品。
带有加密ID的EEPROM
为了克服EEPROM固有的安全缺陷,有些供应商的产品提供一种能力,即为每一个基于EEPROM的标签分配唯一的加密序号。
主设备将EEPROM独有的序号和一个只有它自己知道的密钥合并,在合并后的信息中应用类似SHA的Hash算法生成一个长达20B的数字,这个被称为“摘要(digest)”的数字存储在EEPROM中。在合并信息中执行一个好的Hash算法总会产生相同的数字,但是改变哪怕一个bit,都会导致完全不同的值。
在这种机制下,主机通过读取EEPROM中的序号来判断产品的真实性,将其与用来生成原始摘要的内部密钥相结合,在其上运行相同的Hash算法,并且将生成的数字与存储在EEPROM中的值进行比较。如果两个数字是一样的,那么该产品就被认为是可信的。
由Hash算法生成的数字事实上是无法破解的,这也导致一些产品供应商、分销商和零售商相信这个方法就是最佳方案。但事实并非如此,因为并不是必须破解加密算法或破解密钥才能生成假的电子标签。生成假的有效标签,只需要一个低成本的EEPROM阅读器,能够拷贝EEPROM中的信息,并在空白的EEPROM中重新写入。造假人员不需要对标签中的信息解码,只需要直接拷贝即可。
被密码保护的EEPROM
防止正品信息从基于EEPROM的标签中被拷贝出来的唯一方法,就是阻止信息被读取。现在,包括Infineon和GemPlus在内的几个厂商,已经通过需要密码或密钥才能读取EEPROM中的信息来解决这个问题。可能被嵌入在硅片中的密码,有助于限制非法用户对产品信息的读取,而他们正是利用这些产品数据来生成假电子标签。
典型情况下,这种机制需要产品在出厂前就对2-4字节的固定密码进行编程,而且工厂还要向用户提供密码值。为了在存储器中进行读写,用户必须首先向存储器输入正确的密码值,输入值会与其内部存储的数值进行比较。如果二者吻合,EEPROM就将同意该名用户的访问。
虽然被密码保护的EEPROM能够以相对较低的价格提供改善的安全性能,但是该方法有一个弊端,而这个弊端也使其无法适用于高价值或对安全性能相当敏感的产品。密码被保存在EEPROM中,而且,通常使用标准EEPROM阅读器就可以读取。密码、密钥或者认证引脚 (administrative pin)较容易地从器件中被直接读取,这使得造假者能够制造安全器件的克隆版,并将其贴在假货上。即使密码嵌入在芯片中,克隆工作也可以完成。
阻止从EEPROM中直接读取密码的唯一方法,就是将其存储在无法被读取的非寻址(non-addressable)存储器中。虽然这种密码保护机制可以阻止对电子标签数据的直接读取,但是,造假者还是有办法捕获它们。
即便是被加密的密码,仍然能够被偷窃或者被拷贝。指纹可以从指纹阅读器中直接拷贝,或者通过梳理读卡器中的指纹数据库得到。这种方法的问题是,安全机制在每一次事务处理中都要进行传输,因此很容易受到攻击。
硬编码(Hard-coded)序号
包括PC处理器在内的一些集成电路,拥有在制造过程中就嵌入在硅片内的硬编码序号,能够提高EEPROM和RFID标签的安全等级。序号强迫攻击者必须掌握器件的正确密码或密钥。序号的问题在于,虽然它永远不会被改变,但是却可能被复制。一旦商业盗版者获得了单独的密码序号对,就能够简单地通过在标准EEPROM相同地址区域对序号进行编程来克隆器件。假设保护机制包括很多方法,能够使序号保持在只读状态,那么盗版者就需要允许对只读状态进行配置的存储器。如果可能带来的经济利益能够抵消成本,那么盗版者甚至可能会制造看起来相像的电子标签。正品制造商唯一的方法,就是辨识哪个序号被偷窃了,并将其列于黑名单中。
存储器并不是安全器件。它们仅仅能够保存信息。其保护措施可以像对EEPROM存储部分(密码存储的区域)进行紫外线擦除一样简单。紫外线将除去EEPROM上的内容,有效地将密码改变成一个盗版者知道的数值。
创新的基于硬件的加密安全
包括Atmel在内的一些芯片厂商,已经开发了一种新的低成本加密存储器,能够提供真正的基于硬件的安全电子标签。加密存储器有 一个嵌入在芯片内的加密引擎,还有多组独立的非可读认证和会话加密密钥(高达64位)。它们被存储在2kB的配置存储器中。
不像密码,加密内存的安全性并非基于本身的“辨识”,而是基于“认证”,后者由器件内的硬件和基于硬件存储的认证密钥(产生唯一密码)决定。器件使用密码来确定“认证”主机,而主机阅读器则用其辨识器件的“认证”标签。各种密钥都是真正的机密。一旦它们被主机设置在硬件中,熔丝即被烧断,从而使密钥不可读——即使对芯片制造商来说,也是如此。加密内存上的认证信息永远不会暴露,因此也无法被拷贝或中途截取。
主机将自己独特的不可读主机密钥与来自每个加密内存的序号信息相结合,并在组合信息上运行加密的hashing功能(例如SHA),来生成独特的被称为摘要(digest)的数字。digest对于每一个器件而言都是唯一的,而且是其对应的唯一认证密钥的基础。之后,这些认证密钥会被写入器件。由于用来生成digest的信息是完全不可读取的,所以其它的实体就无法生成相同的数字。独特的会话密钥由对发生在主机和加密存储器件之间通信进行加密的设备产生。主机无法读取这些会话密钥,但是作为认证过程的相应随机环节,主机必须证明了解这些密钥。
为了实现相互通信,主机和器件必须通过一个随机数增强型双向认证过程进行互相鉴别。主机读取器件中的加密和辨识信息,并将这些信息和自己的密钥结合,再加上一个随机数。基于这些信息,主机生成一个被称为“challenge”的64位数。伴随着这个随机数,“challenge”被送回器件。之后,基于密码、自己的认证密钥,以及已经接收的随机数,器件试图计算出同一个“challenge”数。如果尝试成功,器件就会升级其密码,并认为主机是可信的。
然后,主机通过计算新密码,并将其与器件最新计算出的密码进行比较来认证器件。如果两个密码吻合,那么这个器件就是可信的。器件只要在处理过程中获得了主机的认证密钥,才能产生一个正确的密码。主机和器件的认证密钥永远不会离开主机或器件。只有基于密钥的计算信息才会被传输。器件的认证密钥无法被任何实体读取、复制,或者修改,包括器件的制造商(熔丝烧断后,他们也无法进行任何操作)。此外,每一次成功的认证处理都会产生新的密码和会话密钥。正因如此,那些试图窃取传输信息的系统性攻击在这里毫无用处。
此外,密码是动态的。在每一次成功认证之后,内部的非易失性寄存器都会利用新密码进行自我更新。因为每一次的密码生成都使用了随机数,所以不存在两个完全相同的功能等价操作。针对每个特定明文(clear text)的加密文本,在每次加密操作时都是不同的。这种动态性延伸到了信息认证码、会话加密密钥和密码。借助这样的动态性,在任何时间加密引擎的现有状态,都保持依赖于最初的编辑密钥和唯一的加密处理历史。
目前,加密存储器的存储密度范围在1kb-256kb之间,而且有多达16个不同的受密码保护的区段,带有不同的安全级别(从不可读、只读到读/写)。这种灵活性允许制造商、分销商和零售商能够更新其相关产品的关键信息,包括所有权、发货者,甚至是货物存储条件(例如温度或湿度)等整个链条上的信息。产品制造商可能读取所有的区段,并且以只读形式在指派区段写入制造数据,例如序号、批号、制造日期等。而在稍后用来验证产品合法性的信息,则可能是完全不可读取的。一个单独的区段可能被用来存储所有权信息链,包括分销商、付运和接收的日期、签收信息以及运货商信息。在分销环节,这个区段可以被经认证的实体进行读/写操作,而不是由零售商或者运货商写入。零售商可能会有一个独立的区段,存储SKU数、存储位置、接收日期以及出售日期。
加固的硬件安全
在高度工程化、先进的电子产品中,其本身的IP被嵌入在器件的硬件中。一些技术上具有创新的新产品,可能在研发上历经数年,花费上千万资金。此类产品包括汽车中基于雷达监测的防撞系统、带有复杂滤除算法的先进助听器,或者是最新的视频游戏控制平台和多媒体手机中使用到的用户手势界面 (gesture-user-interfaces),后者允许用户利用身体手势而不是键盘或者操纵竿来控制设备。这些新技术开发商,在研发方面投入了大量的资金,其出售的产品价格定位于能够收回成本。但是那些能够获取IP的造假者,却以正品价格几分之一的价格提供克隆产品。
正因如此,这些开发新产品的公司通常不会在软件中实现创新。他们将IP隐藏在硬件中,而该集成电路不会与可能引发创新安全危机的外部世界进行通信。
加密内存包括防干扰(tamper-proof)电路,用来监控电压、时钟频率和其它用来预示干扰的加密内存运行环境的方方面面。如果环境情况超出了指定范围,干扰防御电路就会阻止对各种密钥和密码的读取。其它的防干扰特性包括:有源电路上的金属覆盖层、加密内部电路、高安全性检测程序、时序防御,以及电源供电攻击。
结语
加密内存并不针对所有应用。加密内存比密码保护的EEPROM内存成本更高。增加的成本对低价值产品而言是不适合的,因为对这些产品进行假冒并不能带来太高的经济价值。如果电子标签的主要目的是进行库存控制,那么EEPROM或许已经足够了。但是,实际使用存在很多状况,例如在一些时候,与可能出现的危险相比,成本微不足道。当制造商看到了假货可能带来的经济损失,那么在一个400美元的手提包或200美元一双的运动鞋上增加10美分是可以被忽略的。但是一旦药物中出现假货,生命很可能会受到威胁。考虑到临床使用的药丸平均一粒的售价大约为3美元,那么为了确保药物是正品,是没有经过污染的真正药物,为一瓶药增加安全防护的附加费用是值得的。
作者:Eustace Asanghanwa 来源:电子设计应用 2008年1