复制安全存储的制作方法

文档序号:6595838阅读:175来源:国知局
专利名称:复制安全存储的制作方法
复制安全存储技术领域和
背景技术
用于阻止复制受保护信息的各种方法和系统是可能的,特别地,各方法和系统可以允许意图的应用自由使用受保护信息,同时防止复制该信息。有版权的数字信息的拥有者管理(“数字版权管理”)和保护(“数字版权保护”) 对其信息的访问的方法是本领域中已知的。如在此讨论的,数字版权保护涉及保护对存储在可操作地安装或可操作地连接到计算系统的存储器件中的信息的访问,该计算系统在此称为存储器件的“主机”。所有已知的数字版权保护方法需要调整主机以使得能够使用受保护内容,或者需要存储器件的数据控制器知道受保护信息的位置并监视主机关于该受保护信息的行为。例如,主机可能需要安装专门的软件(例如,加密/解密软件),以便读取受保护信息,然后主机需要知道哪些文件应用何种保护/解密方法。这样的方法限制了信息的用户群体,并且还开放了黑客攻击主机的软件以访问或损坏信息或主机的可能性。此外,因需要包括专门的安全软件并保护应用本身免于黑客使得难以开发可以访问信息的软件。另外,存储控制器可以监视主机对信息的具体块的访问并动作以防止在主机进行禁止的行为(例如,在设置的时间段中访问太多块或者按禁止的顺序访问块)时的访问。这样的系统需要复杂的存储控制器,增加了器件的成本。此外,这样的系统需要在受保护信息改变时重编程存储控制器。这限制了第三方添加或更新受保护信息的可能性。因此存在对于可以透明地向主机提供信息并允许修改信息同时防止复制信息的简单存储器件的广泛认可的需要,并且具有这样的存储器件将是高度有利的。

发明内容
用于向主机提供信息同时保护信息免于复制的各种方法和系统是可能的。具体地,系统或方法可以使信息可用于应用,同时防止复制信息。用于防止复制的方法可以与数字版权管理的现有技术方法相结合。用于存储信息和保护该信息不被复制的数据存储器件的一个实施例可以包括存储器,该存储器配置为存储信息和指示符。该指示符可以与信息以如下方式相结合当信息被复制时,复制应用可能不区分该指示符与该信息,并且复制例程将访问该指示符(例如, 该指示符可能与信息一起被复制)。该器件还可以包括检测器,用于检测对该指示符的访问。用于存储和保护信息的数据存储器件的实施例还可以包括响应模块,用于采取与检测到对指示符的访问相关联的防御响应。在用于存储和保护信息的数据存储器件的实施例中,该防御响应可以包括以下的一个或多个终止对所述数据存储器件的访问、禁用所述数据存储器件、擦除所述数据存储器件中的数据的至少一部分(一些或全部)、修改所述数据存储器件上的数据的一些或全部、擦除受保护信息的部分或全部、发出所述访问的报告以及向主机发送伪(spurious)数据而不是真实数据。该防御响应可以在从检测起的随机延迟之后被激活以使得更难以识别指示符的位置。在用于存储和保护信息的数据存储器件的实施例中,该响应模块可以包括存储器或致动器。在用于存储和保护信息的数据存储器件的实施例中,该指示符可以包括多个指示符。该响应模块可以被配置为在检测到第一指示符时采取第一防御响应而在检测到第二指示符时采取第二防御响应。该响应模块可以被配置为在检测到所述指示符的组合时响应, 并且该响应可以取决于检测到指示符的数量或顺序。在用于存储和保护信息的数据存储器件的实施例中,该检测器可以包括CPU和存储器。在用于存储和保护信息的数据存储器件的实施例中,该指示符优选是被配置为表现为类似于真实数据的数据块,并且可以包括允许检测器检测该指示符的以下特征的一个或多个具有触发器CRC值以及包含触发器模式。在用于存储和保护信息的数据存储器件的实施例中,该指示符可以被配置为阻止该指示符与该信息分离。例如,该指示符可以被配置为表现为类似于该信息,使得难以区分该指示符与该信息。该指示符还可以被存储在使得复制程序难以不访问该指示符而访问该信息的位置中;尽管如此,应用访问该信息而不访问该指示符可以仍是有可能的。在用于存储和保护信息的数据存储器件的实施例中,该检测器可以包括硬件或软件或固件或者硬件和/或软件和/或固件组件的组合。用于存储和保护信息的数据存储器件的实施例还可以包括标准接口(其可以包括以下的一个或多个标准软件、标准硬件、常规文件系统以及标准通信协议),用于与主机通信(该通信可以包括例如上传或下载信息)。在用于存储和保护信息的数据存储器件的实施例中,可以存在多个指示符。向主机提供信息并防止复制该信息的方法的一个实施例可以包括将指示符与该信息相结合,并将该指示符存储在被配置为在访问该指示符时采取防御响应的数据存储器件上。在用于提供信息并防止复制该信息的方法的实施例中,该指示符可以包括触发器 CRC值、触发器属性和触发器模式中的一个或多个。向主机提供信息并防止复制该信息的方法还可以包括安排该信息和指示符,使得该信息可用于应用并且该指示符对于该应用不可访问。在用于提供信息并防止复制该信息的方法的实施例中,该应用可以是数据库应用、图形呈现应用、游戏、数字电话簿应用、数字字典应用、数字百科全书应用、数字参考书应用或导航应用。在用于提供信息并防止复制该信息的方法的实施例中,采取防御响应可以包括以下的一个或多个终止主机对包含该信息的存储器的访问、发出所述访问的报告、擦除所述信息的全部或部分、禁用包含该信息的存储器、擦除包含该信息的存储器中的数据的一些或全部、修改所述信息的全部或部分以及向主机发送伪数据。在用于提供信息并防止复制信息的方法的实施例中,采取防御响应可以被延迟。提供信息并防止复制该信息的方法的实施例还可以包括配置该指示符以阻止该指示符与该信息分离。
提供信息并防止复制该信息的方法的实施例还可以包括提供标准接口用于与主机通信。在用于提供信息并防止复制该信息的方法的实施例中,可以存在多个指示符。采取防御响应可以取决于访问了哪个指示符。具体地,在检测到第一指示符时可以采取第一防御响应,在检测到多个指示符中的第二指示符时可以采取第二防御响应。


在此参考附图仅作为例子描述用于向主机提供信息并保护该信息不被复制的系统和方法的各个实施例,附图中图1是用于存储信息并保护该信息不被复制的数据存储器件的高级示意框图;图2示出用于存储信息并保护该信息不被复制的、可操作地耦接到其主机的数据存储器件;图3是向主机提供信息并保护该信息不被复制的方法的概括流程图。图4是示出存储控制器的细节的高级示意框图。
具体实施例方式参考附图及随附的描述可以更好地理解根据各种实施例的用于保护数据不被复制的复制安全存储数据库的原理和操作。现在参考附图,图1是数据存储器件10的高级示意框图。数据存储器件10包括非易失性存储器12、存储器12的控制器14、以及接口 18。存储器12可以是任何种类的非易失性存储器,但典型地是闪存。在存储器12中存储信息31、例如包括簇20a到20η的数据库文件40。例如,地图提供者可以在存储器件中提供地图集,其中导航应用可以使用一些或所有地图,只要数据库文件40被存储在数据存储器件10上即可。在数据存储器件10中,数据库文件40可以存储在常规文件系统M中,比如微软的FAT文件系统或者微软的NTFS文件系统,其描述数据库文件40如何存储在存储器12中。 控制器14按常规方式管理存储器12。例如,如果存储器12是闪存,则控制器14可以像本领域中已知技术那样工作,以将存储器12作为块器件呈献给数据存储器件10的主机。数据库文件40包括在簇20a和20c-n中的受保护信息31 [在图1的实施例中,术语“受保护信息”指被保护不受至少一种已知方式的复制的信息。该信息可能易受到其他方式的复制,并且该信息不一定受保护不被损坏、中毒、感染、其他形式的再现或恶意解码]。 受保护信息31可自由地用于应用,但是被保护不被复制,如将根据以下对存储器件10的实施例的详细描述而理解的。指示符3 存储在簇20b中。本领域技术人员将理解,尽管数据库文件40的所有有用的信息(例如受保护信息31)都被包含在簇20a和20c-n中(结果,用户不需要读取簇20b以便访问数据库文件40中的所有有用的信息),尽管如此,将指示符3 存储在数据库文件40中是将指示符32a与受保护信息31相结合的例子,因为指示符3 和受保护信息31两者都存储在数据库文件40中。控制器14还包含检测器15和响应模块17。在数据存储器件10的实施例中,检测器15和响应模块17是硬件设备。具体地,检测器15是被配置来在检测到指示符32a、b时向响应模块17发送信号的集成电路。响应模块17是被配置来在接收到来自检测器15的信号时采取防御响应的集成电路。例如,指示符32a可以是具有预定触发器CRC值(或者类似CRC值的某些其他预定触发器属性)的模拟数据。检测器15可以被配置为计算从存储器12读取的每个簇的CRC 值(或类似计算),并将该值与预定触发器值相比较。在检测到预定触发器值时,检测器15 然后可以向响应模块17发送信号,并且响应模块17然后可以采取防御响应(例如,阻止对存储器12的访问)。或者,指示符3 可以包含检测器15可识别的触发器模式(pattern)(数据位的具体预定模式)或水印。或者,检测器15可配置为使得分发器可以配置器件10来检测并响应于许多指示符之一。此外,检测器15可以能够检测几个不同的指示符,例如指示符3 和指示符32b。 此外,检测器15可以能够向响应模块17发送几个不同的信号。响应模块17也可配置并且响应模块17还可以能够进行几个不同的防御响应。例如,在图1的实施例中,检测器15在检测到指示符32a时向响应模块17发送第一信号,响应模块17通过擦除或修改(修改可以包括例如添加伪位,移除位或者重新安排数据位以阻碍对数据的访问)全部或部分受保护信息31 (或者替换地,数据库文件40的全部)来响应该第一信号。另一方面,在检测到指示符32b时,检测器15向响应模块17发送替换信号,并且响应模块17可以通过擦除或修改存储器12的整个内容(还损坏例如可能在存储器(1 中的用户文件[例如,存储在簇20p中的数据27]或者识别码[例如,专门识别码四])或者通过擦除存储器12中的数据的一部分(例如,与文件相关联的全部数据)来响应该替换信号。在图1的例子中,与文件相关联的数据将包括簇20a-n和20p但是不包括簇20o (因此不包括指示符32b),并且不包括专门识别码四。类似于控制器14的其余部分,检测器15和响应模块17具体地可以以硬件、以固件或者以软件实现。检测器和响应模块硬件可以实现在存储器控制器芯片上或者可以实现在单独的电路芯片上。检测器和响应模块软件可以由控制器14执行(在此情况下,检测器和响应模块可以整体作为软件包含于控制器14中)或者由数据存储器件40的单独的组件执行。接口 18可以是用于将数据存储器件10与其主机相接口以用于交换数据的标准接口。通过“标准”接口来指符合普遍接受的工业标准并且没有对数据版权保护的专门规则的接口。这样的标准的普通例子包括SD、致密快闪、MMC和USB。图2示出经由其各自的接口 18和138可操作地连接到主机130的数据存储器件 10。例如,接口 18可以包括具有适当的标准通信协议的标准USB插头,并且接口 138可以包括匹配的标准USB插座和协议。重要的是,要注意如果主机130的操作系统使得主机130 能够可操作地耦接到没有专门的数字版权管理/保护功能的标准数据存储器件,则不需要按任何方式将主机130修改为可操作地耦接到数据存储器件10。数据存储器件10对于主机130的操作系统表现为没有专门的数据版权管理/保护功能的标准数据存储器件。另一方面,数据存储器件10与已知的数字版权保护技术相兼容,并且如果用户希望向数据存储器件10添加进一步的数字版权保护,则这样的添加是可能的。当数据存储器件10可操作地连接到主机130时,主机130读取文件系统M以确定数据库文件40如何存储在存储器12中,使得运行在主机130上的应用可以知道存储了数据库文件40的存储器12的块的身份(identities)。(如果存储器12是闪存,则其块由逻辑块号而不是由物理块号来标识,如现有技术中已知的。)运行在主机130上的应用发出块读取命令以读取各种块中的数据。检测器15监视主机130读取的数据。数据库应用将从数据库文件40读取的受保护信息31的全部都包括在簇20a和 20c、20d-20n中。因此,受保护信息31被安排为使得合法的数据库应用将不访问簇20b,并因此将不访问指示符32a。例如,如果数据库文件40是地图数据库,则数据库可访问的所有地图都包括在簇20a和20c-20n中。因为合法的数据库用户将不访问簇20b,因此在数据库的合法使用期间,主机130将不试图访问簇20b,并且数据库文件40的合法使用将不会触发响应模块17的防御响应。在存储器12中存储的其他文件中,可能进一步存在该应用可用的数据。存储在存储器12中的其他文件可以被保护不被复制或者可以不包括复制保护。另一方面,如果软件盗版者试图复制数据库文件40,则复制例程(其不知道数据库文件40的各个簇中的数据的性质)将尝试复制整个数据库文件40。因此,在复制期间, 主机130尝试读取簇20b。当簇20b正被读取时,检测器15检测到对指示符32a的访问,并且向响应模块17发送消息。从而,响应模块17采取一个或多个防御响应。例如,-拒绝遵从块读取命令。停止向主机130发送数据。-发出错误消息。-发出试图复制受保护信息31的报告。例如,如果主机130是蜂窝电话,则向数据库的拥有者发出SMS消息。-向主机130发送伪数据而不是真实数据。-挂起数据传送,直到数据存储器件10被关闭并再次开启。-擦除数据库文件40。-擦除存储器12。-挂起对存储器12的访问,直到其被重新格式化。防御响应可以被延迟(优选随机延迟),使得黑客将很难确定已经触发防御动作的模式的位置。不能确定指示符3 的位置将阻止黑客从受保护信息31中分离指示符32a。为了阻止受保护信息31与指示符3 的分离,指示符3 被配置为具有类似于簇 (20a和20c-n)中的受保护信息31的特性。例如,如果簇20a和20c-n包含压缩的地图数据,则簇20b也可以包括压缩的地图数据(簇20b中的数据可以是受保护信息31的部分的副本,或者簇20可以包含不是数据库文件40的数据库的部分的压缩地图)。因此,簇20b 的特征可压缩性将类似于簇20a和20c-n中的受保护信息31的可压缩性。即使黑客分析存储器12中的数据的可压缩性,他也将不能察觉存储在簇20b中的数据(指示符32a)和存储在簇20a和20c-n中的受保护信息31之间的差别。本领域普通技术人员将认识到,控制器14不需要知道受保护信息31的位置。因此,第三方可以简单地将受保护信息31加载到存储器12。因此,数据存储器件10可以被销售给数据提供者。当准备将加载到存储器12的受保护信息31时,数据提供者在一个或多个位置处添加被报告为属于一文件但是不包含有用信息而包含预定指示符3 的簇(例如,簇20b)。或者,存储器12的制造者可以将指示符3 预加载到一个或多个簇(例如,簇20b)上,并将存储器12销售给软件提供者。然后,软件提供者将受保护信息31加载到簇 20a和20c-n中,并将该数据文件报告为包括簇20b。或者,检测器15可以是可编程的。因此,对于添加的安全性,数据提供者可以调整指示符3 和检测技术以最适合受保护信息31。此外,对于添加的安全性,数据提供者不需要通知任何人(甚至数据存储器件10的制造者)指示符32a的位置或形式。在此给出的技术可以与例如数据加密、数字签名或本领域普通技术人员已知的其他方法的数字版权管理的现有技术方法相结合。例如,控制器14可以包括用于解密文件的解密功能。或者,不是保护具体文件,而是指示符3 可以被存储在存储器12的几个位置中。 例如,指示符32b存储在与文件不相关的位置中。因此,指示符32b将仅在黑客试图大规模复制整个存储器12时被访问。因此,通过将指示符仅置于与任何文件不相关的存储器位置中(类似于图1中的指示符32b),能够允许任何文件的复制,但是不允许大规模复制整个存储器12(例如,在游戏或数据库具有不在控制游戏运行的文件之一中的专门代码的情况下)。为了避免错误警报(以及不方便的防御响应),检测器15可以被编程为仅在检测到对指示符3 和32b两者的访问时向响应模块17发送信号。在这样的情况下,仅对指示符 32a或者仅对指示符32b的访问将不会触发响应,但是当检测器15检测到对指示符32a的访问以及后来对指示符32b的访问时,则触发防御响应。本领域普通技术人员将理解,数据存储器件适合于保护各种数据库,例如地图集、 游戏、可执行代码、电话簿、黄页、图形集、数字字典、数字百科全书、数字参考书等。还将理解,主机可以包括许多不同的设备,例如包括个人计算机、移动电话、手持计算设备、电子游戏设备等。从而,数据存储器件可以包括各种不同的系统,例如包括密钥盘或存储卡的闪存器件、主机设备的内部存储器、智能卡、SIM卡等等。还将理解,受保护信息31可以被安排为允许对例如数据库应用、图形呈现应用、数字字典、数字百科全书、数字参考书或导航应用的各种应用中的一个或多个的合法访问(不触发防御响应)。在替换实施例中,响应模块17可以能够采取许多存储访问响应,并且具体的防御响应可以取决于由检测器15检测到的具体指示符。或者,防御响应可以取决于检测到具体指示符的次数,或者防御响应可以取决于检测到多个指示符的顺序。图3是保护信息的方法的概括流程图。数据存储器件10从主机130接收(块250) 访问存储在存储器12中的信息31的命令。控制器14读取(块252)簇,同时检测器15监视(块254)。如果未检测到指示符32a (块256 “否”),则数据存储器件10遵循该主机命令(块258),并且数据存储器件10等待从主机130接收(250)进一步的命令。另一方面, 如果在监视期间(块254)检测到指示符32a(块256“是”),则检测器15向响应模块17发送信号(块259),并且响应模块17等待延迟时间(块沈0),然后采取防御响应(块沈2)。现在注意图4,存储控制器414的详细高级框图。存储控制器414包括处理器CPU 462、包含对控制器414的基本功能的编程的只读存储器R0M464、包含对于控制器414的可定制功能的程序指令的随机存取存储器RAM466、以及用于内部数据传送的内部总线468。 CPU 462,ROM 464,RAM 466和闪存412全部经由内部总线468来回(分别479a_d)传送数据。控制器414可操作以经过接口 418(例如,SD接口)向和从主机(未示出)来回传送 479e存储在闪存412中的数据。
控制器414还包括检测器415和响应模块417。检测器415监视妨4经过接口 418 传送479e的数据。具体地,由比较器476进行监视454,该比较器476从模式存储器474 读取48 触发器模式并将传送479e的数据与触发器模式相比较。如果比较是肯定的(存储在模式存储器474中的相同触发器模式也经过接口 418传送479e),则比较器476向CPU 462发送481信号。CPU 462从检测器415接收该信号。CPU 462从响应存储器475读取 482b存储的防御响应并采取该防御响应。在替换实施例中,防御响应或触发器模式可以存储在闪存412中,在此情况下,闪存412将用作模式存储器或者响应存储器。在另一替换实施例中,CPU 462可以被编程为起比较器的作用。在图4的实施例中,模式存储器474和响应存储器475是可编程存储器(例如,闪存)并且经由内部总线468与控制器414的其他组件来回传送(分别479f、g)数据。因此可以修改触发器模式或者防御响应。或者,模式存储器474或者响应存储器475可以是ROM 存储器。那么,触发器模式或者防御响应可以固定,并且可能不需要将模式存储器474或者响应存储器475连接到内部总线468。在替换实施例中,响应模块417可以包括致动器,例如用于永久禁用闪存412的设备。总言之,尽管已经以大量细节描述了各种示例实施例,但是其变化和修改以及其他实施例是可能的。因此,所附权利要求的精神和范围不限于在此包含的实施例的描述。
权利要求
1.一种用于存储信息并保护该信息不被复制的数据存储器件,包括a)存储器,配置为用于存储该信息并用于存储与该信息结合的指示符;以及b)检测器,用于检测对所述指示符的访问。
2.根据权利要求1的数据存储器件,还包括c)响应模块,用于采取与所述检测相关联的防御响应。
3.根据权利要求2的数据存储器件,其中,所述防御响应包括以下的一个或多个终止对所述数据存储器件的访问;禁用所述数据存储器件;修改所述数据存储器件上的数据的至少一部分;擦除所述存储器件中的数据的至少一部分;擦除所述数据存储器件中的全部数据;擦除所述信息的至少一部分;发出所述访问的报告;以及向主机发送伪数据。
4.根据权利要求2的数据存储器件,其中,所述响应模块包括存储器和致动器的至少一个。
5.根据权利要求2的数据存储器件,其中,所述指示符包括多个指示符,并且所述响应模块配置为采取与检测到所述多个指示符中的第一指示符相关联的第一防御响应以及与检测到所述多个指示符中的第二指示符相关联的第二防御响应。
6.根据权利要求1的数据存储器件,其中,所述检测器包括(i)比较器;以及( )存储器。
7.根据权利要求1的数据存储器件,其中,所述指示符包括以下的一个或多个包括触发器CRC值;包括触发器属性;以及包含触发器模式。
8.根据权利要求1的数据存储器件,其中,所述指示符配置为阻止所述指示符与所述信息的分离。
9.根据权利要求1的数据存储器件,其中,所述检测器包括以下的一个或多个硬件、 固件、及硬件和固件组件两者的组合。
10.根据权利要求1的数据存储器件,还包括c)标准接口,用于与主机通信。
11.根据权利要求1的数据存储器件,其中,所述指示符包括多个指示符。
12.—种向主机提供信息并防止复制该信息的方法,包括a)将指示符与该信息相结合;以及b)将所述指示符存储在数据存储器件上,所述存储器件配置为在访问所述指示符时采取防御响应。
13.根据权利要求12的方法,其中,所述指示符包括以下的一个或多个触发器CRC 值、触发器属性、以及触发器模式。
14.根据权利要求12的方法,还包括c)安排所述信息和所述指示符,使得该信息可用于应用,所述指示符对所述应用不可访问ο
15.根据权利要求14的方法,其中,所述应用包括以下的一个或多个数据库应用、图形呈现应用、游戏、数字电话簿应用、数字字典应用、数字百科全书应用、数字参考书应用和导航应用。
16.根据权利要求12的方法,其中,所述采取防御响应包括以下的一个或多个终止主机对包含该信息的存储器的访问;发出所述访问的报告;擦除所述信息的至少一部分;禁用包含该信息的存储器;擦除包含该信息的存储器中的全部数据;擦除包含该信息的存储器中的数据的一部分;修改所述信息的至少一部分;修改包含该信息的存储器中的数据的至少一部分;以及向主机发送伪数据。
17.根据权利要求12的方法,其中,所述采取防御响应被延迟。
18.根据权利要求12的方法,还包括c)配置所述指示符以阻止所述指示符与该信息分离。
19.根据权利要求12的方法,还包括c)提供标准接口,以用于向主机提供信息。
20.根据权利要求12的方法,其中,所述指示符包括多个指示符,并且所述采取包括与检测到所述多个指示符中的第一指示符相关联的第一防御响应以及与检测到所述多个指示符中的第二指示符相关联的第二防御响应。
全文摘要
数据存储器件向应用提供信息,同时保护该信息不被复制。具体地,该数据存储器件可以包括检测器,用于检测对指示符的访问。该指示符可以与信息以如下方式相结合复制应用在复制该信息时将访问该指示符,但是使用该信息的另一应用(例如,数据库应用)将不访问该指示符。该数据存储器件还可以被配置为在检测到对该指示符的访问时采取防御响应。防御响应可以包括终止所述访问、发出报告、或向主机发送伪数据。可以选择指示符的配置以及响应的时刻,以阻止该指示符与数据分离。
文档编号G06F21/00GK102257506SQ200980151418
公开日2011年11月23日 申请日期2009年11月9日 优先权日2008年11月12日
发明者米歇尔.阿加米, 艾坦.马迪克斯 申请人:桑迪士克以色列有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1