博客首页 | 排行榜 |

automotive的博客

我本将心照明月,怎奈明月照渠沟!

个人档案
博文分类
鲜为人知的闪存特性保护数据和知识产权  2009-12-01 17:18

作者:Bill Stafford –恒忆嵌入式系统事业部闪存产品市场总监

你设计一个系统,却被人给搞坏了。当然,损坏有时不是故意的。一个服务提供商在你的设备上安装软件,可能会损坏原来的代码。虽然不是故意的,但不能说不是一个问题。另一方面,黑客和IP(知识产权)剽窃者故意覆盖、复制或克隆你在系统中保存的数据。毕竟,数百万美元的获利机会促使知识产权剽窃者偷取你的设计。

计人员需要一个方法来保护系统完整性,这个要求一点也不令人惊奇。然而,令人惊奇的是,闪存在位和块内存放着保护固件甚至硬件设计的密钥。

闪存具有多种数据保护机制,每一种机制在读、写和擦除保护方面各有优点。安全特性可提高安全级别,阻止黑客和代码剽窃者,防止用户意外修改代码。虽然最强的安全闪存比标准闪存的成本高,但是,有些闪存的安全特性甚至不会增加最终设计的成本。与非闪存式加密引擎、隐藏操作、用户验证操作或软件加密应用相比,安全闪存的成本要经济很多。

因为厂商不同,产品特性也不尽相同,在考虑内置安全应用选项、性能、密度、尺寸和成本等若干个因素后,设计人员必须为最终应用选择正确的闪存。

发现正确的解决办法

在评估安全选项之前,先清楚你要解决的问题是什么。技术特性具有特定的功能,某些特性还会增加成本。

首先,确定在位、数据和代码之中必须保护什么。例如,你可能需要保护电子系统序列号、安全密钥、引导代码或服务接入(如付费电视)所需的财务信息。

一旦知道你需要保护的对象,就可以确定是软件入侵或物理破坏是否会影响这些位、数据或代码。例如,软件入侵可能是来自互联网或系统应用程序;物理入侵可能涉及从印刷电路板(PCB)直接拆除一个闪存。

最后,查清入侵威胁是故意的还是意外的。例如,软件缺陷引起的意外修改通常比较容易预防,因为缺陷的原因不难查找或不会长期存在。如果入侵是黑客或盗窃者的发起的,就需要量化黑客愿意发起多大的攻击。黑客或克隆者愿意花费的时间和金钱决定你的设计需要多少安全功能。

从数据的角度看,确定哪些安全特性可提供正确的保护级别,防止攻击源和攻击企图。例如,你想保护产品设计,防止来自互联网的入侵破坏数据,那么,存储块保护可提供中等保护级别,OTP(一次性写入)块可提供最佳的保护功能(如图1所示)。如果一个IP盗窃者大胆地从设计下手,拆除闪存并试图用PROM(可编程只读存储器)烧录器读取数据,保护设计可能需要投入更多的资金,为闪存增加数据加密特性(图2所示)

特性详述

从存储块锁保护机制,到先进的加密密码访问,你可以针对预想的入侵攻击类型和攻击源,选择一个成本对设计的影响可以接受的特性。

密码访问

提供密码访问特性的闪存数是不是很多。这些闪存通过设置障碍,可以有效地阻止盗窃者,避免设计成为理想的复制或克隆对象。知识产权盗窃者需要快速、轻松地复制系统数据。密码访问机制增加了低成本的克隆操作时间、成本和工作量。

密码访问特性禁止读写或擦除整个阵列或主阵列内的被选择的块,具体功能取决于闪存。你可以把每个块设置成所需的保护级别。在系统出厂交付终端用户前,设备制造商必须把一个64位密码保存在闪存的密码存储区内,并在系统微控制器或其它的隐藏存储器内写入一个匹配密码。

当系统接收到一个命令,要读取、修改或擦除被保护块内的数据时,系统处理器将会验证微控制器内的密码与闪存内的密码是否匹配。如果输入的密码与微控制器和闪存内的密码都不匹配,存储器内的数据将无法读取或修改。如果系统检测到匹配的密码,用户可以逐个读取或修改每个块。设计人员可以选择各种保护模式,包括禁止读取、禁止修改和禁止替换,具体模式与所选用的闪存芯片有关。

密码保护—威慑服务盗用者

采用密码的读保护机制是一个简单的成本低廉的防盗版方法,可扼止盗用高价值服务的盗版闪存芯片在市场上流通。被克隆的闪存芯片能够为未支付服务费的用户提供高价值的服务,这对于服务提供商而言是一项巨大的收入损失。但是,如果设计人员在闪存上使用密码保护技术,他留给盗版者的只是一个无用的芯片。

当一个服务盗用者企图读取闪存上的数据时,闪存就会验证64位密码。如果盗版者没有密码,闪存只返回几个零值,使被复制的芯片无法工作。

即使盗版者破解了密码,并从芯片复制了数据,当他把盗版芯片插入系统时,因为盗版芯片上的64位密码与微控制器内的密码不匹配,结果盗版芯片仍然无法正常工作。 

密码保护—威慑知识产权复制者或克隆者

在克隆情况中,知识产权盗窃者必须复制一个设计,直到原设计的升级版淘汰克隆设计为止。闪存密码保护可以延长克隆者的破解时间,使其不得不另寻求一个更多容易克隆的对象,因为密码保护闪存可以保护系统硬件签名。

内置64位密码的闪存将有助于限制访问合法源代码。在没有密码的情况下,知识产权盗版者使用PROM烧录器读取闪存芯片时只能读取零值。

虽然克隆者可以利用总线侦测法破解密码,但是作为预防服务盗用的有力武器,密码保护可增加克隆者的破解时间、成本和工作量。这可以让合法厂商在市场上运作更长的时间,直到克隆版充斥市场与正版争夺利润空间为止。一个有力的防盗版武器可以为正版厂商争取足够长的时间,使其能够在克隆者有机会制造一个可用产品之前更新设计。这种内置闪存特性为降低知识产权损失对收入的影响提供了一个具有成本效益的解决办法。

加密密码访问—更高水平的知识产权安全性

一个64位密码可以阻止一个克隆者或一个服务盗用者,而一个加密密码可以大幅度提高数据安全保护级别。通过在芯片上实现一个加密算法,有数量有限的几家厂商推出了具有加密密码特性的闪存产品。

厂商把从闪存和微控制器送到处理器的密码进行加密,然后处理器使用该算法对加密密码进行解密,并确认密码是否匹配。另一方面,总线侦测器只能读取加密密码,但不能解密。如果没有解密密码,盗窃者无法读取闪存,知识产权处于保护状态。

有加密密码特性的闪存通常比无此特性的闪存的成本高一些,因为厂商需在芯片上实现加密算法,这会增加元器件的成本。不过,与服务盗用造成的利润损失相比,闪存芯片增加的成本简直是微不足道。对于更新周期较长的产品,加密密码是防止克隆产品在厂商更新正版产品之前进入市场的重要工具。

一次性写入 (OTP):

某些闪存包含有一个系统级OTP存储区,在这个一次性写入区内写入代码后,你可以永久地锁保护这些位。一旦位被锁保护后,黑客就无法写入或擦除被映射位的存储块。

OTP空间可以分为两个区。第一个是工厂编程区,里面写有一个唯一的不可更改的序列号。另一个分区是空白的,供设计人员编程用。具有OTP特性的闪存芯片通常提供不同的分区配置,最大分区高达2112位。

OTP块—永久性锁保护

有几款闪存芯片含有一个附加的OTP特性,让设计人员可以永久地锁保护正常存储阵列内的块。这种实现OTP特性的闪存可防止那些破坏系统完整性的修改操作。机顶盒出厂后,服务提供商通常在机顶盒内增加自己的代码。设计人员不知道服务提供商的代码对系统有何影响。为防止引导代码被擦除或修改,设计人员可以把引导代码保存在OTP块内,并将其设置成永久锁保护。于是,服务提供商的代码就无法写入或擦除被保护的块,从而防止出现那些很不容易解答的客户技术咨询电话。

标准闪存硬件保护

大多数闪存含有一种硬件写保护功能,可以防止写入或擦除存储块或整个闪存。硬件保护的工作原理是通过硬连线或者转换处理器的一个I/O引脚发出的位,把一个引脚设成某一个电压。在执行一个修改命令前,闪存检查写入/擦除保护对应的引脚。如果该引脚不是正确的修改电压,芯片则不会执行修改命令,代码和数据也就不会被更改。

当写入电源电压(Vpp)或VPEN中有一个有效电压时,可以修改主阵列内的块。如果把写入电源电压Vpp或VPEN接地,则不能写入或擦除块。当写入电源电压Vpp或VPEN接地时,写入或擦除的尝试都会失败,接地使相关的状态寄存器的失败位置位。

另一种硬件写保护是Vpp/WP (写保护),可以防止对最高或最低优先级的存储块进行写入和擦除操作。保护最高或最低优先级的存储块,须设置Vpp/WP = VIL。在 Vpp/WP = VIL时,存储块处于锁保护模式,无法修改存储块。删除最高或最低优先级锁保护模式,须设置Vpp/WP = VIH,然后,可以锁保护存储块或解除锁保护。

硬件保护—抵御互联网攻击的防御线

基于硬件的保护方法提供了一个成本低廉的保护层,可以防止通过互联网传播的恶意代码。除非先将引脚电压重置,否则恶意代码无法修改或擦除存闪存内的数据。例如,当一个黑客想绕过路由器时,恶意代码将先到达闪存,闪存将检查存放引导代码的存储块对应的引脚的电压。在发现引脚电压是不准许修改的电压时,芯片将不会执行恶意代码,路由器将会继续正常工作。

块锁保护软件保护

易失性和非易失性锁保护特性用软件命令给存储块施加锁保护或解除锁保护,防止数据被意外修改。

在易失性存储块锁保护模式中,易失性存储阵列内的保护位被映射到主存阵列块内。你可以单独的修改这些易失性存储保护位(VPB),像平时一样置位和清零。不过,这些保护位只能保护那些没有使用非易失性存储阵列位锁保护的存储块。在重新开机或硬件复位后,易失性存储保护位就会返回到初始的锁保护或解锁状态。

即使在重新开机或复位后,非易失性存储块锁保护特仍能按照设计人员的设置,使存储块处于锁保护或解锁状态。一个非易失性保护位被映射到每个存储块,可以单独保护每个存储块。通过清零命令或擦除命令,可以将非易失性保护位清零。

你可以利用非易失性存储块锁保护机制确保块保持锁保护状态,甚至在意外重新开机或复位后,防止存储器内容被意外覆盖。

选择正确的闪存

因为厂商和产品不同,闪存安全特性也千差万别。除存储密度外,你还应考虑性能、技术、光刻、成本、尺寸和封装,这些因素综合在一起才能完成一项设计,你可以用这些特性保护设计的性能以及市场地位,闪存安全特性为保护知识产权、内容、数据或系统完整性提供了一个成本低廉、安全有效的方法。

各种闪存安全特性可以防止克隆和知识产权剽窃。注意:增加这些特性可能提高系统成本。
 

类别:设计技术 |
上一篇:图文:CCBN上的一些花絮 | 下一篇:适用于更低工艺节点的存储技术
以下网友评论只代表其个人观点,不代表本网站的观点或立场