CN102460456B - 用于内容的适应性保护的存储器器件和方法 - Google Patents

用于内容的适应性保护的存储器器件和方法 Download PDF

Info

Publication number
CN102460456B
CN102460456B CN201080028974.0A CN201080028974A CN102460456B CN 102460456 B CN102460456 B CN 102460456B CN 201080028974 A CN201080028974 A CN 201080028974A CN 102460456 B CN102460456 B CN 102460456B
Authority
CN
China
Prior art keywords
content
virtual machine
machine code
storage component
component part
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201080028974.0A
Other languages
English (en)
Other versions
CN102460456A (zh
Inventor
J.T.林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Delphi International Operations Luxembourg SARL
Original Assignee
SanDisk Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SanDisk Corp filed Critical SanDisk Corp
Publication of CN102460456A publication Critical patent/CN102460456A/zh
Application granted granted Critical
Publication of CN102460456B publication Critical patent/CN102460456B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Abstract

公开了存储器器件和对内容的适应性保护的方法。在一个实施例中,提供了存储器器件,其包括:存储器,操作以存储内容;以及控制器,与该存储器通信。该控制器操作以产生与该控制器先前产生的至少一个内容保护算法不同的内容保护算法;根据该内容保护算法保护内容;产生包含关于如何对受保护内容去保护的指令的虚拟机代码;以及将受保护内容和该虚拟机代码提供给与所述存储器器件通信的主机。在另一实施例中,提供了内容的适应性保护的方法,包括:产生与至少一个先前产生的内容保护算法不同的内容保护算法;根据该内容保护算法保护内容;产生包含关于如何对受保护内容去保护的指令的虚拟机代码;以及将受保护内容和该虚拟机代码提供给与所述存储器器件通信的主机。

Description

用于内容的适应性保护的存储器器件和方法
背景技术
用于保护在诸如符合BD+标准的蓝光盘的光盘上存储的内容的一些内容保护架构将受保护内容与包含关于如何对受保护内容去保护(unprotect)的指令的虚拟机代码一起存储在光盘中。在回放期间,播放器从光盘读取受保护内容和虚拟机代码,并且播放器中的虚拟机执行该虚拟机代码以对受保护内容去保护。一旦受保护内容被去保护,播放器就可以播放该内容。尽管此方案提供了某个级别的保护,但是随着时间,黑客可能能够窃用用于保护内容的内容保护算法。一旦内容保护算法被窃用,就将不存在防止对内容的未授权使用和复制的机制。
发明内容
本发明的实施例由权利要求限定,并且此部分的任何内容不应被当作对那些权利要求的限制。
通过介绍,以下所述的实施例一般涉及存储器器件和内容的适应性保护的方法。在一个实施例中,提供了存储器器件,其包括:存储器,操作以存储内容;以及控制器,与该存储器通信。该控制器操作以产生与该控制器先前产生的至少一个内容保护算法不同的内容保护算法;根据该内容保护算法保护内容;产生包含关于如何对受保护内容去保护的指令的虚拟机代码;以及将受保护内容和该虚拟机代码提供给与所述存储器器件通信的主机。
在另一实施例中,提供了内容的适应性保护的方法,包括:产生与至少一个先前产生的内容保护算法不同的内容保护算法;根据该内容保护算法保护内容;产生包含关于如何对受保护内容去保护的指令的虚拟机代码;以及将受保护内容和该虚拟机代码提供给与所述存储器器件通信的主机。
提供了其他实施例,每个实施例可以单独或者一起组合使用。现在将参考附图描述各个实施例。
附图说明
图1是实施例的主机和存储器器件的框图。
图2是内容的适应性保护的实施例的方法的流程图。
图3是另一实施例的主机和存储器器件的框图。
图4A和4B是与图3所示的存储器器件一起使用的内容的适应性保护的实施例的方法的流程图。
具体实施方式
通过介绍,以下实施例提供了存储器器件和内容的适应性保护的方法,其可以用于提供比使用静态形式的保护的系统更强健的内容保护级别。具体地,因为在某些架构中虚拟机代码和受保护内容是静态的,因此随着时间,黑客可能能够窃用内容保护算法。在克服此问题时,存储器器件可以利用可以从一个实例到另一实例变化并且可以在各个时间时产生新的虚拟机代码的内容保护算法来适应性地保护内容。因而,即使黑客窃用了在内容回放的一个实例中使用的内容保护算法,内容仍将受到保护,因为存储器器件可以在内容回放的另一实例时利用不同的内容保护算法来保护该内容。这提供了对内容的适应性动态保护而不是静态保护。
现在转向附图,图1是实施例的主机50和存储器器件100的框图。如图1所示,存储器器件100包括控制器110和可操作以存储内容130的存储器120。“内容”可以采取任何适当的形式,比如但不限于数字视频(具有或不具有随附的音频)(例如电影、电视剧的一集、新闻节目等)、音频(例如歌曲、播客、一个或一系列声音、音频书等)、静止或运动图像(例如照片、计算机产生的显示等)、文本(带有或不带有图片)(例如论文、文本文件等)、视频游戏以及这些形式的两种或更多的混合多媒体呈现。
控制器110可以以任何适当的方式实现。例如,控制器110可以采取微处理器或者处理器以及例如存储可由(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(ASIC)、可编程逻辑控制器以及嵌入式微控制器的形式。控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、MicrochipPIC18F26K20以及Silicon Labs C8051F320。可以在控制器中使用的各个组件的例子在以下讨论的实施例中描述并在相关的附图中示出。控制器110还可以被实现为存储器120控制逻辑的部分。
存储器120可以采取任何适当的形式。在一个实施例中,存储器120采取固态(例如快闪)存储器的形式,并且可以是一次可编程、几次可编程或者多次可编程的。但是,可以使用其他形式的存储器,比如光存储器和磁存储器。尽管在图1中示出为单个组件,但是控制器110和/或存储器120可以用几个组件来实现。此外,存储器器件100可以包含其他组件,它们未在图1中示出以简化附图。在一个实施例中,存储器器件100可以采取其他形式,比如但不限于固态驱动器和通用串行总线(USB)设备。
如图1所示,存储器器件100与主机设备50通信。如在此使用的,短语“与......通信”意味着直接与之通信或者经过一个或多个组件间接与之通信,这可能有或者可能没有在此示出或描述。主机50可以采取任何适当的形式,比如但不限于专用内容播放器、移动电话、个人计算机、游戏设备、个人数字助理(PDA)和TV系统。优选地,存储器器件100可移除地连接到主机50,因此用户可以与各种主机一起使用存储器器件100。
如图1所示,主机50中的控制器60实现虚拟机70。如本领域中公知的,虚拟机是模仿硬件设备的性能并就像其是物理计算机那样可以运行其自己的操作系统和应用的软件组件。通常,虚拟机提供兼容性的益处,因此写入虚拟机代码用于在虚拟机上执行的一方不需要知道主机的软件平台和硬件环境的细节。而且,因为虚拟机独立于其基本物理硬件,因此可以用与存在与基本硬件设备上的物理组件完全不同的虚拟(例如软件创建的)组件、比如虚拟CPU和虚拟网卡来配置虚拟机。在一个实施例中,主机50、控制器60和虚拟机70可以与在静态保护架构下使用的那些相同。主机50可以包含其他组件(例如显示设备、扬声器、头戴受话器等),未在图1中示出它们以简化附图。
图2是使用图1的存储器器件100的内容的适应性保护的实施例的方法的流程图200。如流程图200所示,当控制器110接收到来自主机50的播放内容130的请求时,控制器110产生与控制器先前产生的至少一个内容保护算法不同的内容保护算法(动作210)。如在此使用的,“内容保护算法”(或者“安全算法”)指可以保护内容不被未授权使用的任意算法。可以使用任何适当的内容保护算法,并且在以下描述的实施例中提供了几个不同类型的内容保护算法的例子。控制器110可以以任何适当的方式产生内容保护算法。例如,控制器110可以基于以下的一个或多个产生内容保护算法:用于向存 储器器件100验证主机50的主机信用;用于向主机50验证存储器器件100的存储器器件信用;主机环境(例如主机50的处理功率和存储器性能);存储器器件环境(例如存储器器件100的处理功率和存储器性能);内容的类型;以及关于控制器110先前产生的虚拟机代码的信息。此外,控制器110可以“从零开始(from scratch)”产生内容保护算法或者可以通过使用对存储在存储器器件100上的内容保护算法的预定选择、伪随机选择或者随机选择来产生内容保护算法。另外,内容提供者或者其他方可以为存储器器件100提供关于如何产生内容保护算法的指令(例如以虚拟机代码形式)。无论其如何产生,产生的内容保护算法与控制器110先前产生的至少一个内容保护算法不同。以此方式,控制器110提供了适应性/动态内容保护,这与以上背景技术部分中所述的静态保护相对。
返回到图2,控制器110然后根据产生的内容保护算法来保护内容130(动作220),并产生包含关于如何对受保护内容去保护的指令的虚拟机代码(动作230)。以此方式,虚拟机代码与刚刚对内容进行的保护操作相匹配。然后控制器110将受保护的内容和虚拟机代码提供给主机50(动作240)。在接收到该受保护内容和虚拟机代码后,主机50中的虚拟机70将执行该虚拟机代码并使用在虚拟机代码中包含的指令对受保护内容去保护。即,虚拟机代码中的指令指示虚拟机70如何在存储器器件100中“不进行”控制器110施加的内容保护,因此主机50可以呈现内容用户回放。以此方式,主机50就像播放由静态保护架构保护的内容的主机那样动作,因为该内容的回放也涉及接收和执行包含关于如何对内容去保护的指令的虚拟机代码。但是,这些实施例提供了静态保护架构未提供的另外的保护级别,如下所述。
因为虚拟机代码和受保护内容在背景技术部分中所述的架构中是静态的,所以随着时间,黑客可能能够窃用内容保护算法。一旦内容保护算法被窃用,将不存在防止内容的未授权使用和复制的机制。相反,因为存储器器件100包含控制器110,存储器器件100可以利用与控制器110先前产生的至少一个内容保护算法不同的内容保护算法来保护内容130,并在各个时间(例如在内容的每个回放会话时、在N个回放会话后、在单个回放会话内等等)产生新的虚拟机代码,而不是仅仅存储静态内容和静态虚拟机代码。对内容的此动态保护意味着即使黑客窃用了在内容回放的一个实例中使用的内容保护算法,内容仍将被保护,因为存储器器件100将在内容回放的另一实例中 使用不同的内容保护算法来保护内容。即,代替仅需要窃用单个静态内容保护算法,黑客将需要窃用具体内容标题的内容保护算法的所有可能的组合以便得到对该内容的无限制访问。这提供了比静态保护架构所提供的明显更高级别的内容保护。
如上所述,控制器110产生的内容保护算法不同于控制器110先前产生的至少一个内容保护算法。这意味着每个产生的内容保护算法可以是唯一的(如果产生的内容保护算法不同于控制器110先前产生的所有内容保护算法)或者是先前产生的内容保护算法的重复(如果产生的内容保护算法不同于控制器先前产生的内容保护算法的一些而不是所有)。在重复的情况下,优选内容保护算法不同于曾产生的最后的内容保护算法。如以下更详细地描述的,这可以通过分析与最后产生的内容保护算法相关联的存储的虚拟机代码来实现。
如上所述,这些实施例的存储器器件100可以以任何适当的方式实现。以下段落和参考的附图描述了一个示例实现方式。应该理解,这些实施例仅仅是例子,并且在此示出和描述的细节不应被诠释到权利要求中,除非在权利要求中明确列出。
返回附图,图3是另一实施例的存储器器件300和主机350的框图。如图3所示,存储器器件300包括控制器310和存储器320。控制器310包括用于与存储器320接口的存储器接口311和用于与主机350接口的主机接口312。控制器310还包括中央处理单元(CPU)313、可操作以提供加密和/或解密操作的密码引擎314、读访问存储器(RAM)315、存储用于存储器器件300的基本操作的固件的只读存储器(ROM)316以及存储用于加密/解密操作的设备特有密钥的非易失性存储器(NVM)317。在此实施例中,CPU 313可以通过运行在存储器320中存储的固件代码344来实现虚拟机(VM)318。但是,在其他实施例中,具有其自己的CPU的控制器310中的分离的子系统可以实现虚拟机。以下将描述虚拟机318的使用。
在此实施例中,存储器320包括由主机350上的文件系统管理的公共分区325和由控制器310内部地管理的隐藏受保护系统区335。隐藏受保护系统区335存储内容加密密钥(CEK)340、存储器器件虚拟机(VM)代码、固件(FW)代码342和主机虚拟机(VM)代码346。公共分区325和隐藏受保护系统区335可以是相同存储器单元的部分或者可以是不同的存储器单 元。隐藏受保护系统区335是“隐藏的”因为其由控制器310(而不由主机控制器360)内部地管理,并且是“受保护的”因为在该区335中存储的对象被用控制器310的非易失性存储器317中存储的唯一密钥加密。因而,为了访问该区335中存储的对象,控制器310将使用密码引擎314和在非易失性存储器317中存储的密钥来解密被加密的对象。优选地,存储器器件300采取桑迪士克公司的 存储器器件的形式。
存储器的公共分区325存储受保护内容文件330A、330B。在此实施例中,可以是相同文件标题的不同版本(例如分辨率)的内容文件330A、330B由内容提供者提供并被释放为内容复制和提取工具,其加载公共分区325中的内容文件330A、330B。(代替内容330A、330B被预加载在公共分区325中,内容文件330A、330B可以被侧加载(side-load)或下载到存储器器件320中)。尽管存储器320的公共分区325由主机350上的文件系统管理,但是在公共分区325中存储的对象(比如内容文件330A、330B)也可以由存储器器件100保护。在此实施例中,存储的内容文件330A、330B两者由在隐藏受保护系统区335中存储的各自内容加密密钥340保护,并且那些密钥340本身有在控制器310的非易失性存储器317中存储的存储器器件唯一密钥保护。因而,为了对受保护内容文件之一(比如内容文件330A)去保护,密码引擎314将使用在控制器310的非易失性存储器317中存储的存储器器件唯一密钥来解密适当的内容加密密钥340,然后使用解密的内容加密密钥340来解密受保护内容330A。
现在转向主机350,主机350包括控制器360,该控制器360具有用于与存储器器件300接口的存储器器件接口361。控制器360还包括中央处理单元(CPU)363、可操作以提供加密和/或解密操作的密码引擎364、读访问存储器(RAM)365和只读存储器(ROM)366。应该注意,框360中的每个组件可以被实现为在整个主机系统中的分离的芯片。在此实施例中,CPU 363通过执行在ROM 366中存储的软件来实现虚拟机(VM)370。但是,在其他实施例中,控制器360可以包含具有其自己的CPU的分离的虚拟机模块。
存储器器件300和主机350经由存储器器件接口361和主机接口312彼此通信。对于涉及数据的安全传送的操作,优选存储器器件300和主机350中的密码引擎314、316用于相互验证彼此并提供密钥交换。相互验证处理要求主机350和存储器器件300交换唯一证书ID,如以下这可以被用作内容保 护算法产生处理的部分。在相互验证完成后,优选会话密钥用于建立安全信道用于存储器器件350和主机300之间的通信。
如上所述,此实施例中的存储器器件300可以用于实现内容的适应性保护的方法。图4A和4B是例示此方法的动作的流程图400A和400B。图4A例示由存储器器件控制器300进行的动作,图4B例示由主机控制器350进行的动作。如图4A所示,当主机350向存储器器件300发送读取内容330A的命令时,存储器器件控制器310从存储器320读取受保护(加密的)内容330A和存储器器件虚拟机代码344(动作405)。虚拟机318向密码引擎314发送密码控制命令(动作410),响应于此,密码引擎314使用非易失性存储器317中的存储器器件唯一密钥来解密存储器器件虚拟机代码344和内容加密密钥340,密码引擎314使用该内容加密密钥340来解密受保护内容330A。解密的“纯(plain)”内容文件330A和存储器器件虚拟机代码334然后被发送到控制器的RAM 315(动作415)。
虚拟机318然后从RAM 315读取虚拟机代码344(动作430),这为虚拟机318提供了关于如何产生内容保护算法来保护新的未受保护的内容330A的指令。例如虚拟机代码344可以指定使用以下方法中的一个或多个来保护内容330A:(1)用不同的预定密钥按段AES加密数据,(2)用主机虚拟机代码346中打乱的密钥的SHA-1加密,(3)用主机虚拟机代码346中的打乱的固定值XOR数据位,(4)用不同的值XOR块中每隔一字节,(5)XOR数据位然后用随机密钥3DES加密,(6)用于主机唯一证书ID AES加密,(7)用存储器器件唯一证书ID AES加密,(8)用主机和存储器器件证书ID的NXOR AES加密。除了使用这些方法之外或代替这些方法,存储器器件300的固件代码342可以指定另外的算法或标准用于选择或产生内容保护算法。这样的标准包括但不限于主机信用、存储器器件信用、主机环境、存储器器件环境、内容的类型和关于控制器110先前产生的虚拟机代码的信息(例如主机虚拟机代码346)以及关于算法的选择是预定的、伪随机的还是随机的指令。
无论所使用的产生方案如何,虚拟机318将产生的内容保护算法发送回RAM 315(动作425)。控制器310然后使用产生的内容保护算法来保护内容330A(例如通过使用密码引擎314来加密或破坏内容330A)并产生主机虚拟机代码346,其包含关于如何对由产生的内容保护算法保护的内容去保护的 指令。(如需要,保护和产生动作的顺序可以相反。)受保护内容330A和主机虚拟机代码346被存储在RAM 315中,然后由密码引擎314响应于来自虚拟机318的密码控制命令而读取(动作430和435)。密码引擎314然后使用在存储器器件300和主机350相互验证时建立的会话密钥来加密受保护内容330A和主机虚拟机代码346。例如密码引擎314可以在数据被输出到主机350的空闲时利用主机和存储器器件唯一ID对实际数据进行AES 128加密处理然后进行XOR操作。加密的受保护内容330A和加密的主机虚拟机代码346然后被提供给主机接口312用于传送到主机350(动作440)。
返回附图,图4B示出例示由主机控制器350进行的动作的流程图400B。如图4B所示,当主机350中的存储器器件接口361从存储器器件300接收到加密的受保护内容330A和加密的主机虚拟机代码346时,加密的受保护内容330A和加密的主机虚拟机代码346被提供给主机的密码引擎364(动作450)。响应于发送到密码引擎364的密码命令(动作455),密码引擎364使用安全信道会话唯一密钥解密加密的受保护内容330A和加密的主机虚拟机代码346,然后将那些解密的项存储在主机的RAM 365中(动作460)。主机的虚拟机370然后读取主机虚拟机代码346(动作465),并使用在其中包含的指令对受保护内容330A去保护(例如通过对其解密和/或破坏)并将去保护的内容330A存储在RAM 365中(动作470)。主机控制器360然后从RAM365读出去保护的内容330A并将其发送到输出设备,比如显示设备和/或扬声器(动作475)。
如上所述,图3所示的组件可以以任何适当的方式实现。但是,优选组件能够进行图4A和4B所示的流程图400A、400B中所示的动作。例如,存储器器件控制器310优选具有足够的CPU 313处理能力来执行存储器器件虚拟机代码344以便产生和/或修改RAM 315中的主机虚拟机代码346以及根据产生的内容保护算法在内容330A被输出到主机350时操纵该内容330A。还优选存储器器件控制器310拥有允许有效数据流在空闲时经历密码操作的多个重复的架构。而且,存储器器件控制器310优选包含用于上述操作的足够大的RAM 315。此外,优选主机控制器360具有按实时方式执行主机虚拟机代码346的能力。优选地,主机350和存储器器件300两者在其中其组件的每个不能被篡改或者标记(scope)的安全执行环境下工作。
存在可以与这些实施例一起使用的许多替换。在一个替换中,代替仅向主机350发送主机虚拟机代码346,控制器310可以可选地将主机虚拟机代码346存储在存储器320中,如图3中的箭头所示。当稍后产生内容保护算法时,存储的主机虚拟机代码346可以稍后被用作控制器310的输入。例如,控制器310可以分析存储的先前产生的主机虚拟机代码346以确保产生不同的内容保护算法,使得相同的算法不被连续使用两次。
另一替换实施例涉及主机虚拟机代码346的第一实例的创建。如上所述,在内容被产生的内容保护算法保护之后(或之前),存储器器件300中的控制器310产生主机虚拟机代码346。在一些实施例中,内容330A初始被存储在存储器器件300中,并且主机虚拟机代码346不存在,直到在内容被存储器器件产生的内容保护算法保护之后(或之前)存储器器件300创建该代码。在另一实施例中,在内容被存储在存储器器件300中之前,内容提供者利用其自己的内容保护算法来保护内容,并将受保护的内容330A和对受保护内容330A去保护所需的主机虚拟机代码346两者存储在存储器器件300中,这类似于静态保护架构。例如,内容提供者可以使用隐藏在主机虚拟机代码346中的AES128密钥来保护内容330A。从而,在这样的实施例中,在存储器器件300曾被要求动态地保护内容330A之前,主机虚拟机代码346被存储在存储器器件300中。利用此实施例,仍将遵从以上所述的用于动态地保护内容的处理,但是存储器器件300提供的动态保护将在内容提供者提供的静态保护之上。从而,存储器器件300将不仅为主机350提供其创建的以不进行动态保护的虚拟机代码,而且提供由内容提供者提供的不进行静态保护的虚拟机代码。或者,存储器器件300可以在应用其动态保护之前使用内容提供者提供的虚拟机代码来对静态保护的内容去保护。
另一替换涉及存储器器件300产生的内容保护算法多频繁地变化。在一个实施例中,存储器器件300在内容330A的数据正被发送到主机350时实时地向数据的所有位应用单个内容保护算法。在此实施例中,存储器器件300对每个回放事件动态地修改该内容保护算法。在替换实施例中,存储器器件300在一回放事件内修改该内容保护算法。例如,在某个回放持续时间(例如10分钟、10MB或者视频章节)之后,存储器器件300可以发起与主机350的询问-响应会话。
意图以上详细描述被理解为对本发明可以采取的所选形式的例示,而非对本发明的限定。意图限定要求保护的本发明的范围的仅仅是以下权利要求, 包括所有等效物。最后,应该注意,在此所述的任何优选实施例的任何方面可以单独或者彼此组合地使用。

Claims (16)

1.一种存储器器件,包括:
存储器,操作以存储内容;以及
控制器,与该存储器通信,其中该控制器操作以:
(a)产生与该控制器先前产生的至少一个内容保护算法不同的内容保护算法;
(b)根据该内容保护算法保护内容;
(c)产生包含关于如何对受保护内容去保护的指令的虚拟机代码;以及
(d)将受保护内容和该虚拟机代码提供给与所述存储器器件通信的主机,
其中所述控制器将虚拟机代码存储在存储器中,当稍后产生内容保护算法时,所述控制器分析存储的先前产生的虚拟机代码以确保产生不同的内容保护算法,
其中该控制器还操作以如下之一或多个:
在内容的每个回放会话时使用不同的内容保护算法进行(a)-(d);
在内容的单个回放会话内使用不同的内容保护算法进行(a)-(d);以及
在内容的回放期间实时地进行(a)-(d)。
2.如权利要求1的存储器器件,其中该存储器还操作以来自内容提供者的关于如何产生内容保护算法的指令,以及其中该控制器操作以通过遵循来自内容提供者的指令来产生内容保护算法。
3.如权利要求2的存储器器件,其中来自内容提供者的指令采取虚拟机代码的形式,以及其中该控制器还操作以实现虚拟机,该虚拟机操作以执行来自内容提供者的虚拟机代码。
4.如权利要求1的存储器器件,其中该控制器操作以基于以下的一个或多个来产生内容保护算法:主机信用、存储器器件信用、主机环境、存储器器件环境、内容的类型、关于先前产生的虚拟机代码的信息、对内容保护算法的预定选择、对内容保护算法的伪随机选择以及对内容保护算法的随机选择。
5.如权利要求1的存储器器件,其中该控制器还操作以在向主机提供受保护内容和虚拟机代码之前进行与主机的相互验证。
6.如权利要求1的存储器器件,其中该控制器还操作以在将受保护内容和虚拟机代码提供给主机之前对这些项加密。
7.如权利要求1的存储器器件,其中该控制器还操作以将虚拟机代码存储在该存储器中。
8.如权利要求1的存储器器件,其中存储在存储器器件中的内容根据第二内容保护算法而被保护,其中该存储器还操作以存储包含关于如何对根据第二内容保护算法而保护的内容去保护的指令的第二虚拟机代码,以及其中该控制器还操作以将该第二虚拟机代码提供给主机。
9.一种对存储在存储器器件中的内容的适应性保护的方法,该方法包括:
在包括操作以存储内容的存储器的存储器器件的控制器中进行:
(a)产生与该控制器先前产生的至少一个内容保护算法不同的内容保护算法;
(b)根据该内容保护算法保护内容;
(c)产生包含关于如何对受保护内容去保护的指令的虚拟机代码;以及
(d)将受保护内容和该虚拟机代码提供给与所述存储器器件通信的主机,
其中所述控制器将虚拟机代码存储在存储器中,当稍后产生内容保护算法时,所述控制器分析存储的先前产生的虚拟机代码以确保产生不同的内容保护算法,
其中(a)-(d)在以下之一或多个时刻进行:
在内容的每个回放会话时使用不同的内容保护算法进行;
在内容的单个回放会话内使用不同的内容保护算法进行;以及
在内容的回放期间实时地进行。
10.如权利要求9的方法,其中该存储器还操作以存储来自内容提供者的关于如何产生内容保护算法的指令,以及其中通过遵循来自内容提供者的指令来产生内容保护算法。
11.如权利要求10的方法,其中来自内容提供者的指令采取虚拟机代码的形式,以及其中该方法还包括执行来自内容提供者的虚拟机代码。
12.如权利要求9的方法,其中基于以下的一个或多个来产生内容保护算法:主机信用、存储器器件信用、主机环境、存储器器件环境、内容的类型、关于先前产生的虚拟机代码的信息、对内容保护算法的预定选择、对内容保护算法的伪随机选择以及对内容保护算法的随机选择。
13.如权利要求9的方法,还包括在向主机提供受保护内容和虚拟机代码之前进行与主机的相互验证。
14.如权利要求9的方法,还包括在将受保护内容和虚拟机代码提供给主机之前对这些项加密。
15.如权利要求9的方法,还包括
将虚拟机代码存储在该存储器中。
16.如权利要求9的方法,其中存储在存储器器件中的内容根据第二内容保护算法而被保护,其中该存储器还操作以存储包含关于如何对根据第二内容保护算法而保护的内容去保护的指令的第二虚拟机代码,以及其中该方法还包括将该第二虚拟机代码提供给主机。
CN201080028974.0A 2009-04-28 2010-04-08 用于内容的适应性保护的存储器器件和方法 Active CN102460456B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/431,353 2009-04-28
US12/431,353 US9075999B2 (en) 2009-04-28 2009-04-28 Memory device and method for adaptive protection of content
PCT/US2010/030398 WO2010126695A1 (en) 2009-04-28 2010-04-08 Memory device and method for adaptive protection of content

Publications (2)

Publication Number Publication Date
CN102460456A CN102460456A (zh) 2012-05-16
CN102460456B true CN102460456B (zh) 2015-07-15

Family

ID=42244540

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201080028974.0A Active CN102460456B (zh) 2009-04-28 2010-04-08 用于内容的适应性保护的存储器器件和方法

Country Status (5)

Country Link
US (1) US9075999B2 (zh)
EP (1) EP2425369B1 (zh)
KR (1) KR20120007012A (zh)
CN (1) CN102460456B (zh)
WO (1) WO2010126695A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140089561A1 (en) 2012-09-26 2014-03-27 Kiran Pangal Techniques Associated with Protecting System Critical Data Written to Non-Volatile Memory
US8918868B2 (en) * 2013-01-15 2014-12-23 Netronome Systems, Incorporated Compartmentalization of the user network interface to a device
KR102144509B1 (ko) * 2014-03-06 2020-08-14 삼성전자주식회사 근접 통신 방법 및 장치
US10169124B2 (en) * 2014-12-16 2019-01-01 Samsung Electronics Co., Ltd. Unified object interface for memory and storage system
US10102151B2 (en) * 2015-11-06 2018-10-16 International Business Machines Corporation Protecting a memory from unauthorized access
CN108418893A (zh) * 2018-03-20 2018-08-17 深圳市闪联信息技术有限公司 一种智能设备固件安全升级的方法
CN111404692B (zh) * 2020-03-05 2023-04-07 湖南城市学院 一种基于大数据的区块链身份信息确认系统及确认方法
CN113094210B (zh) * 2021-04-21 2023-09-22 北京鼎普科技股份有限公司 一种windows平台进程及文件守护方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1416237A (zh) * 2002-10-01 2003-05-07 齐宇庆 一种加密方法及装置
WO2006133059A2 (en) * 2005-06-03 2006-12-14 Mo-Dv, Inc. Content protection system and method for memory cards in electronic devices
US20070220616A1 (en) * 2006-02-28 2007-09-20 Samsung Electronics Co., Ltd. Portable storage and method for managing data thereof

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7215771B1 (en) * 2000-06-30 2007-05-08 Western Digital Ventures, Inc. Secure disk drive comprising a secure drive key and a drive ID for implementing secure communication over a public network
US20020108054A1 (en) * 2001-02-02 2002-08-08 Moore Christopher S. Solid-state memory device storing program code and methods for use therewith
US7987510B2 (en) 2001-03-28 2011-07-26 Rovi Solutions Corporation Self-protecting digital content
US7036020B2 (en) * 2001-07-25 2006-04-25 Antique Books, Inc Methods and systems for promoting security in a computer system employing attached storage devices
US7400729B2 (en) * 2001-12-28 2008-07-15 Intel Corporation Secure delivery of encrypted digital content
CN101241735B (zh) * 2003-07-07 2012-07-18 罗威所罗生股份有限公司 重放加密的视听内容的方法
CN101073238A (zh) 2004-02-03 2007-11-14 桑迪士克防护内容解决公司 数字数据内容的保护
KR101088420B1 (ko) * 2004-02-13 2011-12-08 아이비아이 스마트 테크놀로지스 인코포레이티드 데이터 암호 처리 방법 및 장치
KR100608605B1 (ko) * 2004-09-15 2006-08-03 삼성전자주식회사 디지털 저작권 관리 방법 및 장치
US20060126836A1 (en) * 2004-12-10 2006-06-15 Hector Rivas System and method for dynamic generation of encryption keys
US7493656B2 (en) * 2005-06-02 2009-02-17 Seagate Technology Llc Drive security session manager
US8091084B1 (en) * 2006-04-28 2012-01-03 Parallels Holdings, Ltd. Portable virtual machine
US20070286420A1 (en) 2006-06-08 2007-12-13 Widevine Technologies, Inc. Encryption of video content to vod services and networked personal video recorders using unique key placements
US7725614B2 (en) * 2006-08-08 2010-05-25 Sandisk Corporation Portable mass storage device with virtual machine activation
WO2009070430A2 (en) 2007-11-08 2009-06-04 Suridx, Inc. Apparatus and methods for providing scalable, dynamic, individualized credential services using mobile telephones
US8539551B2 (en) * 2007-12-20 2013-09-17 Fujitsu Limited Trusted virtual machine as a client
US20100027786A1 (en) * 2008-02-14 2010-02-04 Patrick Faith Dynamic encryption authentication

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1416237A (zh) * 2002-10-01 2003-05-07 齐宇庆 一种加密方法及装置
WO2006133059A2 (en) * 2005-06-03 2006-12-14 Mo-Dv, Inc. Content protection system and method for memory cards in electronic devices
US20070220616A1 (en) * 2006-02-28 2007-09-20 Samsung Electronics Co., Ltd. Portable storage and method for managing data thereof

Also Published As

Publication number Publication date
US20100275038A1 (en) 2010-10-28
WO2010126695A1 (en) 2010-11-04
CN102460456A (zh) 2012-05-16
KR20120007012A (ko) 2012-01-19
EP2425369B1 (en) 2014-12-10
EP2425369A1 (en) 2012-03-07
US9075999B2 (en) 2015-07-07

Similar Documents

Publication Publication Date Title
CN102460456B (zh) 用于内容的适应性保护的存储器器件和方法
KR101397637B1 (ko) 다중 사용자 감응 코드 및 데이터를 보호하는 아키텍처를 포함하는 방법 및 장치
CN103250163B (zh) 用于加密和解密虚拟盘的计算机可读存储介质
JP5362114B2 (ja) 保安usb記憶媒体生成及び復号化方法、並びに保安usb記憶媒体生成のためのプログラムが記録された媒体
US7835521B1 (en) Secure keyboard
US9251358B2 (en) System and method for providing secure access to system memory
US20130318358A1 (en) Apparatus for generating secure key using device and user authentication information
US20120017084A1 (en) Storage Device and Method for Providing a Partially-Encrypted Content File to a Host Device
CN107924448A (zh) 硬件实施的单向密码术
CN102696038B (zh) 用于提供可缩放内容保护系统的存储器件和方法
JPH09270785A (ja) 情報処理装置
JPH11272561A (ja) 記憶媒体のデータ保護方法、その装置及びその記憶媒体
CN1294457A (zh) 用不可访问的唯一密钥对储存的数据进行加密/解密
CN102073826A (zh) 利用轻量级数字水印添加组件的数字版权管理的系统和方法
JP2007241519A (ja) 携帯端末
CN101103346A (zh) 用于数字权利管理的装置和方法
US20120284534A1 (en) Memory Device and Method for Accessing the Same
CN102982256A (zh) 用于数字权利管理的装置和方法
KR20140051350A (ko) 디지털 서명 권한자 의존형 플랫폼 기밀 생성 기법
TW201234210A (en) Method for loading a code of at least one software module
CN103258152A (zh) 执行包括已加密指令的软件应用程序的系统、装置和方法
US10387653B2 (en) Secure provisioning of semiconductor chips in untrusted manufacturing factories
JP2012059258A (ja) 電子キー保護システム及びその方法
US11061996B2 (en) Intrinsic authentication of program code
EP2998895B1 (en) Technique for enabling nominal flow of an executable file

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee
CP01 Change in the name or title of a patent holder

Address after: texas

Patentee after: DELPHI INT OPERATIONS LUX SRL

Address before: texas

Patentee before: Sandisk Corp.