CN104756120A - 存储和访问数据 - Google Patents
存储和访问数据 Download PDFInfo
- Publication number
- CN104756120A CN104756120A CN201380053053.3A CN201380053053A CN104756120A CN 104756120 A CN104756120 A CN 104756120A CN 201380053053 A CN201380053053 A CN 201380053053A CN 104756120 A CN104756120 A CN 104756120A
- Authority
- CN
- China
- Prior art keywords
- data
- certain amount
- authentication code
- signature
- new
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 claims abstract description 187
- 238000012937 correction Methods 0.000 claims abstract description 170
- 238000003860 storage Methods 0.000 claims abstract description 110
- 230000008569 process Effects 0.000 claims description 60
- 238000004422 calculation algorithm Methods 0.000 claims description 24
- 238000004590 computer program Methods 0.000 claims description 14
- 238000012795 verification Methods 0.000 abstract description 12
- 230000006870 function Effects 0.000 description 37
- 238000010586 diagram Methods 0.000 description 16
- 238000012545 processing Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000011084 recovery Methods 0.000 description 4
- 230000004075 alteration Effects 0.000 description 3
- 239000000654 additive Substances 0.000 description 2
- 230000000996 additive effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 238000013480 data collection Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 239000000945 filler Substances 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000009331 sowing Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000011900 installation process Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
- G06F3/0622—Securing storage systems in relation to access
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/101—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities
- G06F21/1011—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities to devices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Computer Hardware Design (AREA)
- Storage Device Security (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
一种与设备相关联地存储一定量的数据D的方法,该方法包括:获得设备的特性C;生成针对特性C的错误校正数据R,错误校正数据R使得能够校正特性C的版本中的直到预定数目的错误;将特性C与一定量的数据D和认证密钥K组合以生成存储数据P,其中,所述组合被布置成使得一定量的数据D和认证密钥K是使用特性C和存储数据P可获得的;使用签名密钥来生成签名,该签名是包括存储数据P、一定量的数据D以及认证密钥K的一定数量的数据的数字签名,其中,所述签名密钥对应于设备可访问的验证密钥;使用认证密钥K来生成针对错误校正数据R的认证码,其中,错误校正数据R的真实性是使用认证码和认证密钥K可验证的;以及存储错误校正数据R、存储数据P、签名和认证码以从而存储一定量的数据D。
Description
技术领域
本发明涉及一种与设备相关联地存储一定量的(an amount of)数据的方法和一种控制对设备处的一定量的数据的访问的方法以及用于执行此类方法的装置和计算机程序。
背景技术
以将存储的数据“锁定”到设备(即使得存储的数据如果被传输到第二设备不能在该第二设备上使用)的方式在设备上存储数据是已知的。该数据可例如包括供设备上的应用使用以访问作为加密内容存储在设备上的内容(例如,将其解密或实现其解密)的密码密钥——以这种方式,即使数据和已加密内容被以未授权方式分发到其他设备,那些其他设备也将不能访问该内容,因为那些其他设备将不能成功地(或正确地)使用该数据。
附图的图1a是示意性地图示出以将一定量的数据D锁定到设备的方式存储和访问该一定量的数据D的方法100的流程图。设备可以是任何种类的数据处理设备,诸如台式计算机、移动电话、膝上计算机、平板计算机、机顶盒、智能卡、游戏控制台等。可以专用硬件、作为在设备的处理器上执行的软件或者作为硬件和软件的组合来实现方法100。
在步骤102处,第一次将一定量的数据D存储在设备上,即用一定量的数据D将设备初始化。一定量的数据D并未以明文(clear)的形式存储,而是以受保护形式存储,使得可能不会通过检查设备的存储器或存储介质的内容而直接地确定一定量的数据D。此步骤有时称为“注册(enrolment)”步骤。
例如,当最初将应用(例如计算机程序或其他软件)安装在设备上时,安装过程可创建一定量的数据D以供应用随后使用并在步骤102处存储该一定量的数据D。
如所提及的,以受保护形式存储一定量的数据D。如果此受保护形式被拷贝到另一设备,意图在于该另一设备将不能从一定量的数据D的所拷贝的受保护形式确定或访问所述一定量的数据D。
应简略地参考附图的图1b来描述在步骤102处执行的处理的示例。
在步骤104处,设备(或在设备上执行或运行的应用)尝试使用一定量的数据D的受保护形式来访问一定量的数据D。如果执行步骤104的设备是一定量的数据D的受保护形式所对应的设备(即其为在步骤102处将所存储的量的数据D锁定到的设备),则在步骤104处,设备应能够访问一定量的数据D。另一方面如果执行步骤104的设备不是一定量的数据D的受保护形式所对应的设备(即其不是在步骤102处将所存储的量的数据D锁定到的设备),则在步骤104处,设备应不能访问一定量的数据D。
应简略地参考附图的图1c来描述在步骤104处执行的处理的示例。
图1b是示意性地图示出用于以将一定量的数据D锁定到设备的方式将该一定量的数据D存储在设备上的方法130的流程图。可例如执行方法130以实现图1a的步骤102,但将认识到的是可以替代地使用用于实现图1a的步骤102的其他方法。
在步骤132处,获得(或确定或测量)设备的特性C。特性C是标识设备或将设备与其他设备区别开的值(或标识符或代码)。存在获得设备的特性C的许多已知方式。例如,特性C可基于以下各项中的一个或多个:
· 设备的存储介质(例如,磁盘、存储器芯片等)的序列号。
· 设备的处理器的序列号。
· 设备的任何其他部件或设备本身的序列号。
· 设备启动期间的存储器的内容。
· 设备的部件的一个或多个属性,诸如设备的处理器的处理速度、设备的存储介质的存储容量、设备的USB端口数、设备的屏幕的分辨率等。
· 安装在设备上的一个或多个软件应用或者一个或多个应用的一个或多个模块、元件、插件等的标识符——例如,安装在设备上的浏览器的版本和针对该浏览器安装的模块(例如,语言包、工具栏等)的标识。
· 设备的任何其他信息、方面、属性、特征或配置。
可收集关于设备及其当前配置的此类数据。由于此数据可具有可变尺寸(取决于设备的性质及其当前被如何配置),所以可生成收集的数据的散列(hash),以便从收集的数据获得预定固定长度值。可将特性C设置成此散列值。然而,将认识到的是(且技术人员已知的是)特性C可以任何其他适当方式从收集的数据形成。
纠错码(ECC)是众所周知的——ECC的示例包括里德-所罗门(Reed-Solomon)码、BCH码、Turbo码等。特别地,给定一定量的数据X,可使用ECC来生成针对数据X的错误校正数据Y(或冗余数据,有时称为校验和或奇偶校验)。然后可将针对数据X的ECC编码版本或码字W设置成W=X||Y(其中,在本文中,a||b表示数据与数据b的级联)——这种形式的ECC编码称为***ECC编码。ECC使用对应的符号字母表(对于某个正整数s而言其常常是大小为2s的伽罗瓦(Galois)域)——使用该字母表的符号来表示原始数据X、错误校正数据Y和从而表示码字W。错误校正数据Y基于原始数据X,并被配置成使得如果将一个或多个错误引入码字W中,以便生成修改的值W*(即码字W的新版本W*,其中,表示W*的符号中的一个或多个不同于码字W中的对应位置处的符号),则可以校正那些错误,以便从值W*获得原始码字W。可以引入到码字W中以生成值W*而同时仍能够从值W*重新生成原始码字W的错误的数目称为ECC的错误校正能力α——这是可通过设置用于ECC的适当参数来设定的针对ECC的预定数目。无论该错误被引入到码字W=X||Y内的数据X中和/或到码字W=X||Y内的错误校正数据Y中,都可校正错误。然而,在其中已知错误将仅在原始数据X中发生的情况下,则可将错误校正数据Y视为使得能够校正数据X的版本X*(其中W*=X*||Y)中的直到预定数目的错误(ECC的错误校正能力α)的数据。
由于ECC是众所周知的,所以在本文中不应描述关于ECC、ECC编码、ECC解码或涉及到ECC的其他操作的另外的细节。
在步骤134处,使用ECC来生成针对特性C的错误校正数据R。如上文所讨论的,错误校正数据R是使得能够校正特性C的版本中的直到预定数目(ECC的错误校正能力α)的错误的数据——即如果生成了特性C的版本C*,其中,版本C*相对于特性C具有数目N(其中0≤Ν≤α)个错误或差异,则可以从版本C获得或重新生成特性C。
如上所提及的,ECC是非常众所周知的。在步骤134处所使用的ECC可选自提供针对一定量的输入数据X(如上文所阐述的)的错误校正数据Y的任何已知(或未来)ECC。
在步骤136处,通过将特性C与一定量的数据D组合来生成存储数据P。在图1b中,这被示为通过对特性C与一定量的数据D进行XOR(异或)来创建存储数据P——即P=C D。在本示例中,假设数据D和特性C具有相同的长度(或尺寸)——如果用于特性C和一定量的数据D的初始值不是相同的长度,则可以通过以下各项来使得其为相同长度,例如:(i)如果特性C长于一定量的数据D,则截短特性C,使得其为与一定量的数据D相同长度,或者通过重复一定量的数据D的位来扩展一定量的数据D,使得扩展的量的数据D与特性C相同长度;或者(ii)如果特性C短于一定量的数据D,则通过用填充位(其可以是特性C的现有位,或者通过形成特性C的一个或多个散列而生成的位等)对特性C进行填充来扩展特性C。
然而,将认识到的是可使用任何其他方法由特性C和一定量的数据D形成存储数据P。所要求的所有是如果已知特性C的值,则可以从存储数据P获得一定量的数据D。特别地,可将存储数据P形成为一定量的数据D和特性C的函数F,即P=F(D,C),其中,函数F具有对应函数G,使得G(P,C)=G(F(D,C))=D。可将函数F视为由特性C加密钥或播种(seed)的可逆函数(其中,G=F-1,即F的逆)。在以上示例中给出的XOR当然仅仅是此类函数的一个示例,并且将认识到的是可以替代地使用任何其他此类函数。但是,优选地,在没有特性C(的知识)的情况下从存储数据P不可获得一定量的数据D。
在步骤138处,生成包括存储数据P和错误校正数据R(或作为其函数)的一定数量的(a quantity of)数据的数字签名Sig,例如仅仅是对{R,P}的数字签名Sig。为此,使用签名密钥SK。
可通过使用不对称数字签名算法来生成签名Sig。在这种情况下,签名密钥SK是对应于公共验证密钥VK的专用密钥。设备可存储验证密钥VK以供将来使用(如参考图1c简略地解释的)。签名密钥SK可以是与设备相关联的专用密钥——设备可存储签名密钥SK,或者可替换地,在步骤102期间可由设备生成签名密钥SK和验证密钥VK,其中验证密钥VK被存储以供随后使用且签名密钥SK在步骤138之后被丢弃。在某些实施例中,由设备来执行步骤138,其中设备知道签名密钥SK。在其他实施例中,设备不具有对签名密钥SK的访问权且仅具有对对应验证密钥VK的访问权(例如,将验证密钥硬编码到设备中)——例如,签名密钥SK可以是设备的制造商所使用或与之相关联的签名密钥,在这种情况下,当制造商最初制造设备并用一定量的数据D将其初始化时制造商可以生成签名Sig。
可替换地,可通过使用对称数字签名算法(例如签名Sig可以是消息认证码)来生成签名Sig。在这种情况下,签名密钥SK是由设备存储的设备的秘密密钥——将来可使用签名密钥SK作为验证密钥VK(即VK=SK)(如参考图1c简略地解释的)。
数字签名方案/算法(对称和不对称的两者)是众所周知的,并且因此在本文中不应更详细地描述。
在步骤140处,设备存储:错误校正数据R、存储数据P和生成的签名Sig。此所存储的数据表示一定量的数据D,并且是一定量的数据D的上述受保护形式。
图1c是示意性地图示出用于控制对在设备处(或存储在其上)的一定量的数据D的访问的方法150的流程图。该设备正存储一定量的数据D的受保护形式,其中,一定量的数据D的此受保护形式是使用图1b的方法130生成的。可执行方法150例如以实现图1a的步骤104,但将认识到的是可以替代地使用用于实现图1a的步骤104的其他方法。
在步骤152处,获取数据的受保护形式(例如,从数据的受保护形式位于其处的设备的存储器或储存器)。因此,在步骤152处,获得或访问错误校正数据R、存储数据P和生成的签名Sig。
在步骤154处,针对包括存储数据P和错误校正数据R的一定数量的数据(或对于或关于该数据)验证签名Sig。以形成在图1b的步骤138处对其进行签名以生成签名Sig的一定数量的数据相同方式形成该数量的数据——例如,该数量的数据可以仅仅是对{R,P}。签名Sig的验证使用对应于签名生成算法的验证算法,并且利用与用来生成签名Sig的签名密钥SK相对应的验证密钥VK。此类验证算法是众所周知的且不应在本文中详细地描述。
如果在步骤156处确定步骤154处的验证已失败(即,签名Sig并不对应于包括存储数据P和错误校正数据R的一定数量的数据),则处理在步骤158处终止。如果另一方面在步骤156处确定步骤154处的验证已成功(即,签名Sig对应于包括存储数据P和错误校正数据R的一定数量的数据),则处理在步骤160处继续。
在步骤160处,获得(或确定或测量)设备的当前特性C*。这是以与在图1b的步骤132处获得设备的特性C的相同方式执行的。存在四个可能情形:
(S-a)执行步骤104的设备与执行步骤102的设备相同,并且自从生成和存储一定量的数据D的受保护形式以来,设备的配置/状态等尚未改变:在该情况下,当前特性C*将与原始特性C(在图1b的步骤132处获得)相同。
(S-b)执行步骤104的设备与执行步骤102的设备相同,并且自从生成并存储一定量的数据D的受保护形式以来,设备的配置/状态等已略微改变:在该情况下,当前特性C*可与原始特性C(在图1b的步骤132处获得)至多相差α个符号或位置,其中α是在图1b的步骤134处所使用的ECC的错误校正能力——这意味着可以使用错误校正数据R来校正这些错误,并且可从当前特性C*获得(或恢复)原始特性C。
(S-c)执行步骤104的设备与执行步骤102的设备相同,并且自从生成并存储一定量的数据D的受保护形式以来,设备的配置/状态等已显著地改变(或改变足够大的量):在该情况下,当前特性C*可与原始特性C(在图1b的步骤132处获得)相差多于α个符号或位置,其中α是在图1b的步骤134处所使用的ECC的错误校正能力——这意味着不能使用错误校正数据R来全部校正这些错误,使得然后不能从当前特性C*获得(或恢复)原始特性C。
(S-d)执行步骤104的设备与执行步骤102的设备不同(即,一定量的数据D的受保护形式已被传输或拷贝到不同的设备):在该情况下,当前特性C*将几乎确定地与原始特性C(在图1b的步骤132处获得)相差多于α个符号或位置,其中α是在图1b的步骤134处所使用的ECC的错误校正能力——这意味着不能使用错误校正数据R来全部校正这些错误,使得然后不能从当前特性C*获得(或恢复)原始特性C。
在步骤162处,使用错误校正数据R对当前特性C*执行纠正解码操作以(尝试)校正相对于原始特性C可存在于当前特性C*中的任何错误。此错误校正解码操作的结果是值C’。如上文所讨论的,在以上情形(S-a)和(S-b)中,从此错误校正解码操作获得原始特性C(即C’=C);而在以上情形(S-c)和(S-d)中,将几乎确定地不能从此错误校正解码操作获得原始特性C(即C’≠C)。
在步骤164处,从特性C’和存储数据P获得或生成一定量的数据D’。特别地,D’=G(P,C’)——即,步骤164使用通过其而从一定量的数据D和特性C生成存储数据P的方法(或函数F)的逆来从特性C’和存储数据P获得一定量的数据D’。在以上情形(S-a)和(S-b)中,C’=C,在该情况下,D’=D,即在步骤164中生成原始量的数据D;而在以上情形(S-c)和(S-d)中,C’≠C,在该情况下,D’≠D,即步骤164生成不同于原始量的数据D的一定量的数据D’。
在步骤166处,输出或提供生成的一定量的数据D’。因此,如果正在与执行图1a的步骤104的设备相同的设备上执行图1a的步骤104,并且如果此设备的配置尚未显著地改变,则设备可以访问原始存储的量的数据D;否则,在图1a的步骤104处将不会访问一定量的数据D。
这样,可以以将存储的量的数据D“锁定”到设备的方式在设备上存储一定量的数据D。
当然,问题情形是上文所阐述的情形(S-c)——在这种情形中,正在尝试访问一定量的数据D的设备是正确物理设备(即以受保护形式原始存储一定量的数据D且存储的量的数据D被锁定到的相同设备),然而,此设备已改变(例如,通过硬件、应用、软件部件、插件等的添加、去除或替换)到使得此设备的当前特性C*太过不同于此设备的原始特性C的程度,即C与C*之间的差异的数目超过ECC的错误校正能力α。因此,设备的用户可:在情形(S-a)中开始且从而具有对一定量的数据D的访问权;在某个稍后点处移动至情形(S-b),例如由于用户对设备做出的微小改变,并且仍具有一定量的数据D的访问权;并且然后在某个稍后点处移动至情形(S-c),同样由于用户对设备做出的另外微小改变,在该点处,设备将不能访问一定量的数据D。尽管将设备从在情形(S-b)中移动至在情形(S-c)中的设备改变可能是非常微小的这一事实,但这仍将发生——就设备的用户关心而言,他刚刚对他的设备进行了非常微小的修改(其可以与一定量的数据的使用或目的完全无关),并且现在他不再能够执行将利用一定量的数据D的功能(例如,对已加密内容进行解密)。
发明内容
本发明的实施例目的在于解决变旧(或“陈旧”或“数据外”)的一定量的数据D的存储的受保护形式存在的上述问题,即以使得能够在避免设备进入上述情形(S-c)的同时对设备进行连续修改。
根据本发明的第一方面,提供了一种与设备相关联地存储一定量的数据D的方法,该方法包括:获得设备的特性C;生成针对特性C的错误校正数据R,错误校正数据R使得能够校正特性C的版本中的直到预定数目的错误;将特性C与一定量的数据D和认证密钥K组合以生成存储数据P,其中,所述组合被布置成使得一定量的数据D和认证密钥K是使用特性C和存储数据P可获得的;使用签名密钥来生成签名,该签名是包括存储数据P、一定量的数据D以及认证密钥K的一定数量的数据的数字签名,其中,所述签名密钥对应于设备可访问的验证密钥;使用认证密钥K来生成针对错误校正数据R的认证码,其中,错误校正数据R的真实性(authenticity)是使用认证码和认证密钥K可验证的;以及存储错误校正数据R、存储数据P、签名和认证码以从而存储一定量的数据D。
在一些实施例中,在没有特性C的情况下一定量的数据D是从存储数据P不可获得的。
在一些实施例中,存储数据P包括特性C与一定量的数据D和认证密钥K的组合的XOR。一定量的数据D和认证密钥K的组合可包括一定量的数据D和认证密钥K的级联。
在一些实施例中,使用不对称数字签名算法来生成签名。
在一些实施例中,认证码是消息认证码。
根据本发明的第二方面,提供了一种控制对设备处的一定量的数据D的访问的方法,所述设备存储信息,所述信息包括:错误校正数据R、存储数据P、签名和认证码,所述信息是使用根据本发明的第一方面的方法生成的,所述方法包括:确定设备的特性C,其中,确定设备的特性C包括获得设备的当前特性C*,并使用错误校正数据R在当前特性C*上执行错误校正解码操作;使用所确定的特性C和存储数据P来获得一定量的数据D和认证密钥K;使用验证密钥来确定签名是否对应于一定数量的数据,其包括:存储数据P、一定量的数据D和认证密钥K;使用认证密钥K来确定认证码是否对应于错误校正数据R;如果既有(a)签名对应于一定数量的数据又有(b)认证码对应于错误校正数据R,则提供对一定量的数据D的访问;以及如果(a)签名不对应于一定数量的数据或者(b)认证码不对应于错误校正数据R,则拒绝对一定量的数据D的访问。
在一些实施例中,一定量的数据D和认证密钥K是一起从存储数据P和所确定的特性C的XOR获得的。
在一些实施例中,该方法包括:如果提供对一定量的数据D的访问,则基于当前特性C*来执行针对所存储的信息的更新。
在一些实施例中,该方法包括:如果提供对一定量的数据D的访问:则确定是否执行针对所存储的信息的更新;以及如果确定将执行针对所存储的信息的更新,则基于当前特性C*来执行针对所存储的信息的更新。确定是否执行针对所存储的信息的更新可以基于以下各项中的一个或多个:自从信息被最后更新或最初存储以来所经历的时间量;自从信息被最后更新或最初存储以来已提供的对一定量的数据D的访问的数目;当前特性C*中的错误数目。
在一些实施例中,执行针对所存储的信息的更新包括:生成针对当前特性C*的新错误校正数据R*,该新错误校正数据R*使得能够校正当前特性C*的版本中的直到预定数目的错误;使用认证密钥K来生成针对新错误校正数据R*的新认证码,其中,新错误校正数据R*的真实性是使用新认证码和认证密钥K可验证的;用新错误校正数据R*来补充错误校正数据R;以及存储新认证码。
在一些实施例中,执行针对所存储的信息的更新包括:生成针对当前特性C*的新错误校正数据R*,该新错误校正数据R*使得能够校正当前特性C*的版本中的直到预定数目的错误;使用认证密钥K来生成针对新错误校正数据R*的新认证码,其中,新错误校正数据R*的真实性是使用新认证码和认证密钥K可验证的;将当前特性C*与一定量的数据D和认证密钥K组合以生成新存储数据P*,其中,所述组合被布置成使得一定量的数据D和认证密钥K是使用当前特性C*和新存储数据P*可获得的;使用签名密钥来生成签名,该签名是包括新存储数据P*、一定量的数据D和认证密钥K的一定数量的数据的数字签名;存储新错误校正数据R*来代替存储的错误校正数据R;存储新存储数据P*来代替存储的存储数据P;存储新签名Sig*来代替存储的签名Sig;以及存储新认证码来代替存储的认证码。
根据本发明的第三方面,提供了一种与设备相关联地存储一定量的数据D的方法,该方法包括:获得设备的特性C;生成针对特性C的错误校正数据R,错误校正数据R使得能够校正特性C的版本中的直到预定数目的错误;将特性C与一定量的数据D和认证密钥K组合以生成存储数据P,其中,所述组合被布置成使得一定量的数据D和认证密钥K是使用特性C和存储数据P可获得的;使用签名密钥来生成签名,该签名是包括一定量的数据D以及认证密钥K的一定数量的数据的数字签名,其中,所述签名密钥对应于设备可访问的验证密钥;生成针对包括错误校正数据R和存储数据P的一定数量的数据的认证码,认证码是使用认证密钥K生成的,其中,错误校正数据R和存储数据P的真实性是使用认证码和认证密钥K可验证的;以及存储错误校正数据R、存储数据P、签名和认证码以从而存储一定量的数据D。
在一些实施例中,在没有特性C的情况下一定量的数据D是不可从存储数据P获得的。
在一些实施例中,存储数据P包括特性C与一定量的数据D和认证密钥K的组合的XOR。一定量的数据D和认证密钥K的组合可包括一定量的数据D和认证密钥K的级联。
在一些实施例中,使用不对称数字签名算法来生成签名。
在一些实施例中,认证码是消息认证码。
根据本发明的第四方面,提供了一种控制对设备处的一定量的数据D的访问的方法,所述设备存储信息,所述信息包括:错误校正数据R、存储数据P、签名和认证码,所述信息是使用根据本发明的第三方面的方法生成的,所述方法包括:确定设备的特性C,其中,确定设备的特性C包括获得设备的当前特性C*,并使用错误校正数据R在当前特性C*上执行错误校正解码操作;使用所确定的特性C和存储数据P来获得一定量的数据D和认证密钥K;使用验证密钥来确定签名是否对应于包括一定量的数据D和认证密钥K的第一数量的数据;使用认证密钥K来确定认证码是否对应于包括错误校正数据R和存储数据P的第二数量的数据;如果既有(a)签名对应于第一数量的数据又有(b)认证码对应于第二数量的数据,则提供对一定量的数据D的访问;以及如果(a)签名不对应于第一数量的数据,或者(b)认证码不对应于第二数量的数据,则拒绝对一定量的数据D的访问。
在一些实施例中,一定量的数据D和认证密钥K是一起从存储数据P和所确定的特性C的XOR获得的。
在一些实施例中,该方法包括:如果提供对一定量的数据D的访问,则基于当前特性C*来执行针对所存储的信息的更新。
在一些实施例中,该方法包括:如果提供对一定量的数据D的访问:则确定是否执行针对所存储的信息的更新;以及如果确定将执行针对所存储的信息的更新,则基于当前特性C*来执行针对所存储的信息的更新。确定是否执行针对所存储的信息的更新可以基于以下各项中的一个或多个:自从信息被最后更新或最初存储以来所经历的时间量;自从信息被最后更新或最初存储以来已提供的对一定量的数据D的访问的数目;当前特性C*中的错误数目。
在一些实施例中,其中,执行针对所存储的信息的更新包括:生成针对当前特性C*的新错误校正数据R*,该新错误校正数据R*使得能够校正当前特性C*的版本中的直到预定数目的错误;将当前特性C*与一定量的数据D和认证密钥K组合以生成新存储数据P*,其中,所述组合被布置成使得一定量的数据D和认证密钥K是使用当前特性C*和新存储数据P*可获得的;生成针对包括新错误校正数据R*和新存储数据P*的一定数量的数据的新认证码,新认证码是使用认证密钥K生成的,其中,新错误校正数据R*和新存储数据P*的真实性是使用新认证码和认证密钥K可验证的;存储新错误校正数据R*来代替存储的错误校正数据R;存储新存储数据P*来代替存储的存储数据P;以及存储新认证码来代替存储的认证码。
在本发明的第一、第二、第三和第四方面中的任一项的一些实施例中,一定量的数据D包括密码密钥。
根据本发明的第五方面,提供了一种被布置成执行上述方法中的任一项的装置。
根据本发明的第六方面,提供了一种计算机程序,其在被处理器执行时使处理器执行上述方法中的任一项。所述计算机程序可被存储在计算机可读介质上。
附图说明
现在将仅以示例的方式参考附图来描述本发明的实施例,在所述附图中:
图1a是示意性地图示出以将一定量的数据D锁定到设备的方式存储和访问一定量的数据D的方法的流程图;
图1b是示意性地图示出用于以将一定量的数据D锁定到设备的方式将一定量的数据D存储在该设备上的方法的流程图;
图1c是示意性地图示出用于控制对在设备处(或存储在其上)的一定量的数据D的访问的方法的流程图,该数据已使用图1b的方法被存储;
图2示意性地图示出计算机***的示例;
图3a是示意性地图示出根据本发明的实施例的用于以将一定量的数据D锁定到设备的方式将一定量的数据D存储在该设备上的方法的流程图;
图3b是示意性地图示出根据本发明的实施例的用于控制对在设备处(或存储在其上)的一定量的数据D的访问的方法的流程图,该数据已经使用图3a的方法被存储;
图3c示意性地图示出根据本发明的实施例的可执行的更新过程;
图3d示意性地图示出根据本发明的另一实施例的可执行的更新过程;
图3e是示意性地图示出根据本发明的实施例的用于以将一定量的数据D锁定到设备的方式将一定量的数据D存储在该设备上的方法的流程图;
图3f是示意性地图示出根据本发明的实施例的用于控制对在设备处(或存储在其上)的一定量的数据D的访问的方法的流程图,该数据已经使用图3e的方法被存储;
图3g示意性地图示出根据本发明的实施例的可执行的更新过程。
具体实施方式
在随后的描述和附图中,描述了本发明的某些实施例。然而,将认识到的是本发明不限于所描述的实施例,并且某些实施例可不包括下面描述的所有特征。然而,将显而易见的是在不脱离如在所附权利要求中阐述的本发明的较宽泛精神和范围的情况下可在本文中对其进行各种修改和改变。
1——***概述
图2示意性地图示出计算机***200的示例。***200包括计算机202。计算机202包括:存储介质204、存储器206、处理器208、接口210、用户输出接口212、用户输入接口214和网络接口216,其全部被通过一个或多个通信总线218链接在一起。
存储介质204可以是任何形式的非易失性数据存储设备,诸如硬盘驱动器、磁盘、光盘、ROM等中的一个或多个。存储介质204可存储用于处理器208执行以便计算机202运行的操作***。存储介质204还可存储一个或多个计算机程序(或软件或指令或代码)。
存储器206可以是适合于存储数据和/或计算机程序(或软件或指令或代码)的任何随机存取存储器(存储单元或易失性存储介质)。
处理器208可以是适合于执行一个或多个计算机程序(诸如存储在存储介质204上和/或存储器206中的那些)的任何数据处理单元,所述计算机程序其中的某些可以是根据本发明的实施例的计算机程序或者在被处理器208执行时使处理器208执行根据本发明的实施例的方法并将***200配置成根据本发明的实施例的***的计算机程序。处理器208可包括单个数据处理单元或并行地或与彼此合作地操作的多个数据处理单元。处理器208在执行用于本发明的实施例的数据处理操作中可向存储介质204和/或存储器206存储数据和/或从其读取数据。
接口210可以是用于提供到在计算机202外部或可从其移除的设备222的接口的任何单元。设备222可以是数据存储设备,例如,光盘、磁盘、固态存储设备等中的一个或多个。设备222可具有处理能力——例如,设备可以是智能卡。接口210因此可根据其从处理器208接收到的一个或多个命令而从设备222访问数据或向其提供数据或与之对接。
用户输入接口214被布置成从***200的用户或操作者接收输入。用户可经由***200的一个或多个输入设备来提供此输入,诸如鼠标(或其他定点设备)226和/或键盘224,其被连接到用户输入接口214或与之通信。然而,将认识到的是用户可经由一个或多个附加或可替换输入设备(诸如触摸屏)向计算机202提供输入。计算机202可将经由用户输入接口214从输入设备接收到的输入存储在存储器206中以供处理器208随后访问和处理,或者可将其直接传递至处理器208,使得处理器208可以相应地对用户输入进行响应。
用户输出接口212被布置成向***200的用户或操作者提供图形/视觉和/或音频输出。同样地,可将处理器208布置成命令用户输出接口212形成表示期望图形输出的图像/视频信号,并且将此信号提供给被连接到用户输出接口212的***200的监视器(或屏幕或显示单元)220。附加地或可替换地,可将处理器208布置成命令用户输出接口212形成表示期望音频输出的音频信号,并且将此信号提供给被连接到用户输出接口212的***200的一个或多个扬声器221。
最后,网络接口216提供用于计算机202从一个或多个数据通信网络下载数据和/或向其上传数据的功能。
将认识到的是在图2中示出并在上文描述的***200的架构仅仅是示例性的,并且在本发明的实施例中可使用具有不同架构(例如具有比图2中所示更少的部件和/或具有除图2中所示之外的附加和/或可替换部件)的其他计算机***200。作为示例,计算机***200可以包括以下各项中的一个或多个:个人计算机;服务器计算机;移动电话;平板计算机;膝上计算机;电视机;机顶盒;游戏控制台;其他移动设备或消费电子设备等。
在根据本发明的实施例的方法的以下描述(如参考图3a、3b和3c所述)中,将那些方法描述为由各个设备/***执行——此设备/***可以是上文所讨论的示例性***中的任何一个。
3——存储一定量的数据D
图3a是示意性地图示出根据本发明的实施例的用于以将一定量的数据D锁定到设备的方式将一定量的数据D存储在该设备上的方法300的流程图。可执行方法300例如以实现图1a的步骤102。方法300可由设备本身执行(即,将存储一定量的数据D且一定量的数据D将被锁定到的设备)。方法300可以可替换地由不同实体执行,诸如设备的制造商,其中方法300是在制造商对设备进行初始化且希望以将一定量的数据D锁定到设备的方式将一定量的数据D存储在设备上(例如用个性化密码密钥对设备进行初始化)时执行的。
一定量的数据D可以是需要被存储的任何数据。在本发明的某些实施例中,一定量的数据D包括密码密钥,诸如对设备特定的或与之相关联的密码密钥。
在步骤302处,获得(或确定或测量)设备的特性C。可以与在图1b的步骤132处相同的方式执行步骤302。
在步骤304处,针对特性C生成(或获得或计算)设备的错误校正数据R。错误校正数据R使得能够校正特性C的版本中的直到预定数目的错误(此预定数目是ECC的错误校正能力α)。步骤304可以与在图1b的步骤134处相同的方式执行。在步骤304处所使用的ECC可选自提供用于一定量的输入数据X(如上文所阐述的)的错误校正数据Y的任何已知(或未来)ECC。
在步骤306处,通过将特性C与一定量的数据D和认证密钥K组合来生成存储数据P。在图3a中,这被示为通过对特性C与一定量的数据D和认证密钥K的级联(D||K)进行XOR来创建存储数据P——即P=C(D||K)。在本示例中,假设(D||K)和特性C具有相同的长度(或尺寸)——如果用于特性C和(D||K)的初始值不是相同的长度,则可以通过以下各项来使得其为相同长度,例如:(i)如果特性C长于(D||K),则截短特性C,使得其为与(D||K)相同长度,或者通过重复(D||K)的位来扩展(D||K),使得(D||K)的扩展版本与特性C相同长度;或者(ii)如果特性C短于(D||K),则通过用填充位(其可以例如是特性C的现有位,或者通过形成特性C的一个或多个散列而生成的位等)对特性C进行填充来扩展特性C。
然而,将认识到的是可使用任何其他方法由特性C、一定量的数据D和认证密钥K形成存储数据P。所要求的全部是如果已知特性C的值,则可以从存储数据P获得一定量的数据D和认证密钥K。特别地,可将存储数据P形成为(a)包括一定量的数据D和认证密钥K的对和(b)特性C的函数F,即P=F({D,K},C),其中,函数F具有对应函数G,使得G(P,C)=G(F({D,K},C))={P,K}。可将函数F视为由特性C加密钥或播种的可逆函数(其中,G=F~1,即F的逆)。在以上示例中给出的XOR当然仅仅是此类函数的一个示例,并且将认识到的是可以替代地使用任何其他此类函数。但是,优选地,在没有特性C(的知识)的情况下一定量的数据D不是从存储数据P可获得的。
认证密钥K是供在生成针对错误校正数据R的认证码中使用的密码密钥(如下面更详细地讨论的)。可作为步骤306的一部分生成认证密钥K(例如作为随机或伪随机数或者作为从一定量的数据D得出的值);可替换地,认证密钥K可以是由设备存储且与其相关联的预先存在的值。
在步骤308处,生成包括存储数据P、一定量的数据D和认证密钥K(或作为其函数)的一定数量的数据的数字签名Sig,例如仅仅(例如级联P||D||K)的三元组{P,D,K}的数字签名Sig。为此,使用签名密钥SK。该数量的数据可以是例如存储数据P、一定量的数据D和认证密钥K的级联、交织或其他组合或函数(诸如散列)。除存储数据P、一定量的数据D和认证密钥K之外,一定数量的数据还可包括其他数据。
可通过使用不对称数字签名算法来生成签名Sig。在该情况下,签名密钥SK是对应于公共验证密钥VK的专用密钥。设备可存储验证密钥VK以供将来使用(如参考图3b简略地解释的)。签名密钥SK可以是与设备相关联的专用密钥——设备可存储签名密钥SK,或者可替换地,可在步骤102期间由设备生成签名密钥SK和验证密钥VK,其中验证密钥VK被存储以供随后使用且签名密钥SK在步骤308之后被丢弃。在某些实施例中,由设备来执行步骤308,其中设备知道签名密钥SK。在其他实施例中,设备不具有对签名密钥SK的访问权且仅具有对对应验证密钥VK的访问权(例如,将验证密钥硬编码到设备中)——例如,签名密钥SK可以是设备的制造商所使用或与之相关联的签名密钥,在这种情况下,当制造商最初制造设备并用一定量的数据D将其初始化时,制造商可以生成签名Sig。
可替换地,可通过使用对称数字签名算法(例如签名Sig可以是消息认证码)来生成签名Sig。在这种情况下,签名密钥SK是由设备存储的设备的秘密密钥——将来可使用签名密钥SK作为验证密钥VK(即VK=SK)(如参考图3b简略地解释的)。
数字签名方案/算法(对称和不对称的两者)是众所周知的,并且因此在本文中不应更详细地描述。
在步骤310处,使用认证密钥K来生成针对错误校正数据R的认证码A。认证码A可以是使得能够(使用认证码A和认证密钥K)验证错误校正数据R的真实性的代码(或值或数据)。在这里,可将“错误校正数据R的真实性”理解成意指可以验证错误校正数据R的起源/出处(即,只有具有认证密钥K的设备可能针对错误校正数据R的此值而生成认证码A的此值)和/或可将其理解成意指可验证错误校正数据R的完整性(即自从生成认证码A以来未发生对错误校正数据R的修改)。认证码A可例如是使用对称签名算法的错误校正数据R的数字签名——例如,认证码A可以是针对错误校正数据R的消息认证码。
由于认证码(和用于生成和验证认证码的方法)是众所周知的,在本文中将不会对其进行详细描述。可使用用于使用认证密钥K来生成认证码的任何适当方法。
在步骤312处,设备存储:错误校正数据R、存储数据P、生成的签名Sig和认证码A。此存储的数据表示一定量的数据D,并且是用于本发明的实施例的一定量的数据D的上述受保护形式。
4——访问一定量的数据D
图3b是示意性地图示出根据本发明的实施例的用于控制对在设备处(或存储在其上)的一定量的数据D的访问的方法350的流程图。该设备存储一定量的数据D的受保护形式,其中,一定量的数据D的此受保护形式是使用图3a的方法300生成的。可执行方法350例如以实现图1a的步骤104。
在步骤352处,获取数据的受保护形式(例如,从数据的受保护形式位于其处的设备的存储器或储存器)。因此,在步骤352处,获得或访问错误校正数据R、存储数据P、生成的签名Sig和认证码A。
在步骤354处,获得(或确定或测量)设备的当前特性C*。这是以与在图3a的步骤302处获得设备的特性C的相同方式执行的。以上提及的四个可能情形(S-a)、(S-b)、(S-c)和(S-d)相对于原始获得的特性C(在图3a的步骤302处获得)而言适用于此当前特性C*。因此,在步骤356处,使用错误校正数据R在当前特性C*上执行错误校正解码操作以(尝试)校正可以相对于原始特性C存在于当前特性C*中的任何错误。此错误校正解码操作的结果是值C’。如上文所讨论的,在上述情形(S-a)和(S-b)中,从此错误校正解码操作获得原始特性C(即C’=C);而在以上情形(S-c)和(S-d)中,将几乎确定地不能从此错误校正解码操作获得原始特性C(即C’≠C)。
因此,可将步骤354和356一起视为确定用于设备的特性C’(在某些情况下其可等于原始特性C,并且在其他情况下其可不同于原始特性C)。
在步骤358处,从特性C’和存储数据P获得或生成一定量的数据D’和认证密钥K’。特别地,对{D’,K’}=G(P,C’)——即步骤358使用通过其来在步骤306处从一定量的数据D和原始认证密钥K和特性C生成存储数据P的方法(或函数F)的逆从特性C’和存储数据P获得一定量的数据D’和认证密钥K’。在图3b中,将步骤358示为将一定量的数据D’和认证密钥K’确定为级联D’||K’(通过对存储数据P与特性C’进行XOR)——以这种方式将其示出以与图3a中所示的示例匹配,但是将认识到的是由于可以在图3a的步骤306处使用其他函数F,所以步骤358处的一定量的数据D’和认证密钥K’的实际推导可采取其他形式。
在以上情形(S-a)和(S-b)中,C’=C,在这种情况下,D’=D且K’=K,即步骤358生成原始一定量的数据D和原始认证密钥K;而在以上情形(S-c)和(S-d)中,C’≠C,在这种情况下,D’≠D,且K’≠K,即步骤358生成不同于原始一定量的数据D的一定量的数据D’。
在步骤359处,针对(或对于或关于)包括存储数据P(或作为其函数)的一定数量的数据来验证签名Sig,生成一定量的数据D’和认证密钥K’。以形成在图3a的步骤308处对其进行签名以生成签名Sig的一定数量的数据的相同方式形成该数量的数据——例如,一定数量的数据可以仅仅是三元组{P,D’,K’}。签名Sig的验证使用对应于签名生成算法的验证算法,并且利用与用来生成签名Sig的签名密钥SK相对应的验证密钥VK。此类验证算法是众所周知的且不应在本文中详细地描述。
如所提及的,在以上情形(S-a)和(S-b)中,D’=D且K’=K,使得步骤359处的验证应是成功的,即签名Sig对应于包括存储数据P、一定量的数据D’和认证密钥K’(或作为其函数)的一定数量的数据数据量;而在以上情形(S-c)和(S-d)中,D’≠D且K’≠K,使得步骤359处的验证应失败,即签名Sig不对应于包括存储数据P、一定量的数据D’和认证密钥K’(或作为其函数)的一定数量的数据数据量。
如果在步骤360处确定步骤359处的验证已失败(即,签名Sig并不对应于包括存储数据P、一定量的数据D’和认证密钥K’(或作为其函数)的一定数量的数据数据量,则处理在步骤362处终止。另一方面,如果在步骤360处确定步骤359处的验证已成功(即,签名Sig对应于包括存储数据P、一定量的数据D’和认证密钥K’(或作为其函数)的一定数量的数据数据量,则处理在步骤364处继续。
在步骤364处,针对(或对于或关于)错误校正数据R验证认证码A。认证码A的验证使用对应于在图3a的步骤310处使用的签名/认证生成算法的验证算法,并且利用认证密钥K’(假定在步骤359处执行的验证是成功的,其应等于原始密钥K)。此类验证算法是众所周知的且不应在本文中详细地描述。
如果在步骤368处确定步骤364处的验证已失败(即,认证码A并不对应于错误校正数据R),则处理在步骤362处终止。另一方面,如果在步骤368处确定步骤364处的验证已成功(即,认证码A对应于错误校正数据R),则处理在步骤370处继续。
在步骤370处,可执行更新过程。可每当在认证码A和签名Sig的验证成功的情况下执行方法350时执行更新过程。可替换地,为了帮助节省所执行的处理的量(例如,通过减少执行实际更新过程的次数),步骤370可包括确定是否执行更新过程,并且只有在确定应执行更新过程的情况下,才执行实际更新过程。因此可将更新过程370视为方法350的可选步骤。将参考图3c和3d简略地描述更新过程的示例。
最后,在步骤390处,输出或提供生成的一定量的数据D’。只有在步骤359和364处的验证成功的情况下才应到达步骤390,在这种情况下,生成的一定量的数据D’将等于原始量的数据D。
因此可将步骤359和364(与步骤360和368处的判定相结合)一起视为如果既有(a)签名Sig对应于一定数量的数据又有(b)认证码A对应于错误校正数据R,则提供对一定量的数据D的访问;并且如果(a)签名Sig并不对应于一定数量的数据或(b)认证码A并不对应于错误校正数据R,则拒绝对一定量的数据D的访问。
将认识到的是可反过来执行步骤359(和关联的判定360)和步骤364(和关联的判定368),在步骤359(和关联的判定360)之前执行步骤364(和关联的判定368)。类似地,可以一起执行步骤359和364,后面是基于那些步骤的结果的判定。
在某些实施例中,步骤362可输出(错误的)一定量的数据D’而不是简单地停止方法350——这样,攻击者可能不能检测到一定量的数据D的恢复已失败。随后尝试使用一定量的数据D’的过程可能产生错误的结果(例如对已加密内容进行解密的失败),使得不违背安全性,但是攻击者可能不能确定错误的结果是由于使用一定量的数据D’而不是正确的量的数据D。
图3c示意性地图示出根据本发明的实施例的可在步骤370处执行的更新过程。
在步骤372处,生成针对当前特性C*的新错误校正数据R*。以与在图3a的步骤304处针对原始特性C生成原始错误校正数据R的相同方式生成针对新特性C*的新错误校正数据R*。
在步骤374处,使用认证密钥K’(其等于原始认证密钥K)来生成针对新错误校正数据R*的新认证码A*。以与在图3a的步骤310处针对原始错误校正数据R生成原始原始认证码A的相同方式生成针对新错误校正数据R*的认证码A*。
在步骤376处,由设备存储新认证码A*来代替当前存储的认证码A。
在步骤378处,除当前存储的错误校正数据R之外,还由设备存储新错误校正数据R*。
因此,一般地,在更新过程的N次执行之后,将存在针对特性生成的(N+1)量的错误校正数据R0, R1,...,RN其中,R0是针对在图3a的步骤304处生成的原始特性C生成的错误校正数据,并且Ri是针对在第i次执行更新过程时的当前的特性Ci*生成的错误校正数据。因此可将由设备存储的错误校正数据R视为错误校正数据集{R0, R1,...,RN}。因此,可将步骤378视为用新错误校正数据R*来补充现有错误校正数据R(即,将R*=RN添加到R={R0, R1,...,RN-1}而形成R={R0, R1,...,RN})。在步骤356处执行的错误校正解码操作然后可涉及到以下各项:
· 使用RN在当前特性C*(在步骤354处针对方法350的当前执行获得)上执行ECC解码以重新生成CN*;
· 使用RN-1在重新生成的CN*上执行ECC解码以重新生成CN-1 *;
· 使用RN-2在重新生成的CN-1*上执行ECC解码以重新生成CN-2 *;
· …
· 使用R1在重新生成的C2*上执行ECC解码以重新生成C1 *;
· 使用R0在重新生成的C1*上执行ECC解码以重新生成在图3a的步骤302处获得的原始特性C。
因此,可获得原始特性C,即使当前特性C*已相对于原始特性C显著地改变(或不同),从而使得步骤358能够使用针对C的正确值来获得正确的一定量的数据D和正确的认证密钥K。
在图3c中,步骤376用新认证码A*来替换当前存储的认证码A。然而,在某些实施例中,除一个或多个当前存储的认证码之外还存储新认证码A*。因此,一般地,在更新过程370的N次执行之后,可存在分别地针对错误校正数据R0, R1,...,RN的(N+1)个认证码A0, A1,...,AN,并且图3b的步骤364可涉及到检查认证码A0, A1,...,AN中的一个或多个(可能是全部)对应于相应的错误校正数据R0, R1,...,RN。
在可替换实施例中,新认证码A*是针对集合{R0, R1,...,RN}的认证码,使得只有最近的认证码A*被存储——在这种情况下,图3b的步骤364可涉及到检查认证码A对应于错误校正数据集{R0, R1,...,RN}的集合。
图3d示意性地图示出根据本发明的另一实施例的可在步骤370处执行的更新过程。
在步骤372处,生成针对当前特性C*的新错误校正数据R*。以与在图3a的步骤304处针对原始特性C生成原始错误校正数据R的相同方式生成针对新特性C*的新错误校正数据R*。这与图3c的步骤372相同。
在步骤374处,使用认证密钥K’(其等于原始认证密钥K)来生成针对新错误校正数据R*的新认证码A*。以与在图3a的步骤310处针对原始错误校正数据R生成原始认证码A的相同方式生成针对新错误校正数据R*的新认证码A*。这与图3c的步骤374相同。
在步骤376处,由设备存储新认证码A*来代替当前存储的认证码A。
在步骤380处,基于新特性C*、一定量的数据D和认证密钥K生成新存储数据P*。这可以以与在图3a的步骤306处生成存储数据P的相同方式来执行——即P*=F({D,K),C*)。
在步骤382处,生成包括新存储数据P*、一定量的数据D和认证密钥K(或作为其函数)的一定量的数据的新数字签名Sig*,例如仅仅{P*,D,K}三元组的数字签名Sig*。这可以与在图3a的步骤308处生成签名Sig的相同方式执行。当然,这可以仅由其中设备存储(或保持)在步骤308处所使用的签名密钥SK的实施例执行。
在步骤384处,由设备存储新错误校正数据R*来代替当前存储的错误校正数据R;由设备存储新存储数据P*来代替当前存储的存储数据P;并且由设备存储新签名Sig*来代替当前存储的签名Sig。
用图3c和3d的更新过程,更新一定量的数据D的受保护形式以适应对设备特性的任何潜在改变。因此,随着设备的特性随时间推移而改变(由于设备的配置等的修改),还可更新一定量的数据D的受保护形式,使得不太可能设备将从处于情形(S-b)转变至处于有问题的情形(S-c)。虽然设备要进入有问题的情形(S-c)仍是可能的,这只有在方法350的连续执行之间对设备的配置进行更显著改变的情况下才将发生——换言之,不允许设备的特性在没有更新一定量的数据D的受保护形式的情况下漂移太多,从而使得不太可能设备将由于设备的配置方面的微小改变而偶然地从处于情形(S-b)转变至处于有问题的情形(S-c)。
如所提及的,每当到达步骤370时(即每当对一定量的数据D的访问被使能并成功时)可执行更新过程。然而,为了避免这可能招致的增加的处理量的开销,在本发明的某些实施例中,步骤370可包括确定是否执行更新过程,并且只有在确定应执行更新过程的情况下,才执行实际更新过程。关于是否执行更新过程的判定可基于以下各项中的一个或多个:
· 自从最后一次执行更新过程以来或者自从最初以受保护形式存储一定量的数据D以来已经历的时间量:例如,设备可存储何时错误校正数据R最近被存储的指示(即为在图3a的步骤312处或在图3c的步骤378处或在图3d的步骤384处的第一次),并且如果当前时间与最近存储错误校正数据R的时间之间的差超过预定阈值,则可确定应执行更新过程。这帮助确保不会太长时间地留下更新过程的执行未完成,从而降低了将已太多地修改针对设备的配置而使设备进入有问题的情形(S-c)的可能性。
· 自从最后一次执行更新过程以来或者自从最初以受保护形式来存储一定量的数据D以来已提供的对一定量的数据D的访问的数目:例如,设备可存储自从更新过程的最近执行以来已执行步骤390的次数的指示,并且如果该数目超过预定阈值,则可确定应执行更新过程。这帮助确保不会太长时间地留下更新过程的执行未完成,从而降低了将已太多地修改针对设备的配置而使设备进入有问题的情形(S-c)的可能性。
· 由错误校正解码操作在当前特性C*中校正(或在其内检测到)的错误数目:例如,如果当在步骤356处执行错误校正解码操作时检测到的错误的数目超过预定阈值,则可确定应执行更新过程。这帮助确保针对设备的当前特性C*不会偏离太远,并且特别地,不会具有错误校正解码操作将可校正的更多的错误,从而降低设备进入有问题的情形(S-c)的可能性。
5——可替换实施例
图3e是示意性地图示出根据本发明的实施例的用于以将一定量的数据D锁定到设备的方式将一定量的数据D存储在该设备上的方法300’的流程图。可执行方法300’例如以实现图1a的步骤102。方法300’可由设备本身执行(即,将存储一定量的数据D且一定量的数据D将被锁定到的设备)。方法300’可以可替换地由不同实体执行,诸如设备的制造商,其中方法300’是在制造商对设备进行初始化且希望以将一定量的数据D锁定到设备(例如用个性化密码密钥对设备进行初始化)的方式将一定量的数据D存储在设备上时执行的。
除以下各项之外,方法300’与方法300相同:
· 用方法300’中的步骤308’来替换方法300中的步骤308。在步骤308’处,生成的数字签名Sig是包括一定量的数据D和认证密钥K(或作为其函数)的一定数量的数据的数字签名,例如仅仅是(例如级联D||K的)对{D,K}的数字签名Sig。该数量的数据可以是例如一定量的数据D和认证密钥K的级联、交织或其他组合或函数(诸如散列)。换言之,在步骤308’中不使用存储数据P来形成签名Sig,而在步骤308中使用存储数据P。
· 用方法300’中的步骤310’来替换方法300中的步骤310。在步骤310处,生成的认证码A是用于包括错误校正数据R和存储数据P(或作为其函数)的一定数量的数据的认证码,例如用于仅仅对{R,P}(例如用于级联R||P)的认证码。该数量的数据可以是例如错误校正数据R和存储数据P的级联、交织或其他组合或函数(诸如散列)。使用认证密钥K来生成认证码。
上文针对方法300给出的相同评论则类似地适用于方法300’。
图3f是示意性地图示出根据本发明的实施例的用于控制对在设备处(或存储在其上)的一定量的数据D的访问的方法350’的流程图。该设备存储一定量的数据D的受保护形式,其中,一定量的数据D的此受保护形式是使用图3e的方法300’生成的。可执行方法350’例如以实现图1a的步骤104。
除以下各项之外,方法350’与方法350相同:
· 用方法350’中的步骤359’来替换方法350中的步骤359。在步骤359’处,针对(或对于或关于)包括一定量的数据D’和认证密钥K’(或作为其函数)的一定数量的数据来验证签名Sig。以形成在图3e的步骤308’处对其进行签名以生成签名Sig的一定数量的数据的相同方式形成该数量的数据——例如,一定数量的数据可以仅仅是对{D’,K’}。签名Sig的验证使用对应于签名生成算法的验证算法,并且利用与用来生成签名Sig的签名密钥SK相对应的验证密钥VK。换言之,在步骤359’中不使用存储数据P来验证签名Sig,而在步骤359中使用存储数据P。
· 用方法350’中的步骤364’来替换方法350中的步骤364。在步骤364’处,针对(或对于或关于)包括错误校正数据R和存储数据P(或作为其函数)的一定数量的数据来验证认证码A。可以与在图3e的步骤310’处相同的方式来形成该数量的数据——例如,一定数量的数据可以仅仅是(例如级联R||P的)对{R,P}。认证码A的验证使用对应于在图3e的步骤310’处使用的签名/认证生成算法的验证算法,并且利用认证密钥K’(假定在步骤359’处执行的验证是成功的,其应等于原始密钥K)。
· 用方法350’中的步骤370’来替换方法350中的步骤370。下面参考图3g来说明步骤370’可如何运行的示例。关于步骤370的其他评论(例如,在某些情况下仅执行该步骤)同样地适用于步骤370’。
上文针对方法350给出的相同评论则类似地适用于方法350’。
图3g示意性地图示出根据本发明的实施例的可在图3f的方法350’的步骤370’处执行的更新过程。
在步骤371处,生成针对当前特性C*的新错误校正数据R*。以与在图3d的步骤304处针对原始特性C生成原始错误校正数据R的相同方式生成针对新特性C*的新错误校正数据R*。
在步骤373处,基于新特性C*、一定量的数据D和认证密钥K生成新存储数据P*。这可以以与在图3d的步骤306处生成存储数据P的相同方式来执行——即P*=F({D,K),C*)。
在步骤375处,生成针对包括新错误校正数据R*和新存储数据P*(或作为其函数)的一定数量的数据的新认证码A*。可以与在图3e的步骤310’处相同的方式来形成该数量的数据——例如,一定数量的数据可以仅仅是(例如级联R*||P*的)对{R*,P*}。以与在图3e的步骤310’处生成原始认证码A的相同方式生成新认证码A*。
在步骤377处,由设备存储新错误校正数据R*来代替当前存储的错误校正数据R;由设备存储新存储数据P*来代替当前存储的存储数据P;并且由设备来存储新认证码A*来代替当前存储的认证码A。
图3e、3f和3g中所示的实施例的使用意味着更新过程不需要利用签名密钥SK。这对其中签名密钥SK对于设备不可用(例如未被其存储)的实施例而言特别有用。
6——修改
将认识到的是所述方法已示为按照特定次序执行的单独步骤。然而,技术人员将认识到的是可在仍实现期望结果的同时按照不同的次序来组合或执行这些步骤。
将认识到的是可使用各种不同的信息处理***来实现本发明的实施例。特别地,虽然附图及其讨论提供了示例性计算***和方法,但提出这些仅仅是为了在讨论本发明的各种方面时提供有用的参考。本发明的实施例可在任何适当数据处理设备上执行,诸如个人计算机、膝上计算机、个人数字助理、移动电话、机顶盒、电视、服务器计算机等。当然,已出于讨论的目的简化了***和方法的描述,并且它们仅仅是可用于本发明的实施例的***和方法的许多不同类型之一。将认识到的是逻辑块之间的边界仅仅是说明性的,并且可替换实施例可将逻辑块或元件合并,或者可对各种逻辑块或元件施加功能的替换分解。
将认识到的是可将以上提及的功能实现为作为硬件和/或软件的一个或多个对应模块。例如,可将以上提及的功能实现为供***的处理器执行的一个或多个软件部件。可替换地,可将以上提及的功能实现为硬件,诸如在一个或多个现场可编程门阵列(FPGA)和/或一个或多个专用集成电路(ASIC)和/或一个或多个数字信号处理器(DSP)和/或其他硬件布置上。包含在本文中或者如上所述的流程图中实现的方法步骤可均由对应的相应模块实现;包含在本文中或者如上所述的流程图中实现的多个方法步骤可一起由单个模块实现。
将认识到的是,在这个意义上,由计算机程序来实现本发明的实施例,则承载计算机程序的存储介质和传输介质形成本发明的方面。计算机程序可具有一个或多个程序指令或程序代码,其在被计算机执行时执行本发明的实施例。本文所使用的术语“程序”可以是被设计成用于在计算机***上执行的指令序列,并且可包括子例程、函数、程序、模块、对象方法、对象实现、可执行应用、小程序、小服务程序(servlet)、源代码、目标代码、共享库、动态链接库和/或被设计成用于在计算机***上执行的其他指令序列。存储介质可以是磁盘(诸如硬驱动器或软盘)、光盘(诸如CD-ROM、DVD-ROM或蓝光盘)或存储器(诸如ROM、RAM、EEPROM、EPROM、闪速存储器或便携式/可移除存储器器件)等。所述传输介质可以是通信信号、数据广播、两个或更多计算机之间的通信链路等。
Claims (29)
1.一种与设备相关联地存储一定量的数据D的方法,该方法包括:
获得设备的特性C;
生成针对特性C的错误校正数据R,错误校正数据R使得能够校正特性C的版本中的直到预定数目的错误;
将特性C与一定量的数据D和认证密钥K组合以生成存储数据P,其中,所述组合被布置成使得一定量的数据D和认证密钥K是使用特性C和存储数据P可获得的;
使用签名密钥来生成签名,该签名是包括存储数据P、一定量的数据D以及认证密钥K的一定数量的数据的数字签名,其中,所述签名密钥对应于设备可访问的验证密钥;
使用认证密钥K来生成针对错误校正数据R的认证码,其中,错误校正数据R的真实性是使用认证码和认证密钥K可验证的;以及
存储错误校正数据R、存储数据P、签名和认证码以从而存储一定量的数据D。
2.权利要求1的方法,其中,在没有特性C的情况下一定量的数据D是从存储数据P不可获得的。
3.前述权利要求中的任一项的方法,其中,存储数据P包括特性C与一定量的数据D和认证密钥K的组合的XOR。
4.权利要求3的方法,其中,一定量的数据D和认证密钥K的组合包括一定量的数据D和认证密钥K的级联。
5.前述权利要求中的任一项的方法,其中,使用不对称数字签名算法来生成签名。
6.前述权利要求中的任一项的方法,其中,所述认证码是消息认证码。
7.一种控制对设备处的一定量的数据D的访问的方法,所述设备存储信息,所述信息包括:错误校正数据R、存储数据P、签名和认证码,所述信息是使用根据前述权利要求中的任一项所述的方法生成的,所述方法包括:
确定设备的特性C,其中,确定设备的特性C包括获得设备的当前特性C*,并使用错误校正数据R在当前特性C*上执行错误校正解码操作;
使用所确定的特性C和存储数据P来获得一定量的数据D和认证密钥K;
使用验证密钥来确定签名是否对应于一定数量的数据,其包括:存储数据P、一定量的数据D和认证密钥K;
使用认证密钥K来确定认证码是否对应于错误校正数据R;
如果既有(a)签名对应于一定数量的数据又有(b)认证码对应于错误校正数据R,则提供对一定量的数据D的访问;以及
如果(a)签名不对应于一定数量的数据或者(b)认证码不对应于错误校正数据R,则拒绝对一定量的数据D的访问。
8.权利要求7的方法,其中,一定量的数据D和认证密钥K是一起从存储数据P和所确定的特性C的XOR获得的。
9.权利要求7或8的方法,还包括:
如果提供对一定量的数据D的访问,则基于当前特性C*来执行针对所存储的信息的更新。
10.权利要求7或8的方法,还包括:
如果提供对一定量的数据D的访问:
则确定是否执行针对所存储的信息的更新;以及
如果确定将执行针对所存储的信息的更新,则基于当前特性C*来执行针对所存储的信息的更新。
11.权利要求10的方法,其中,确定是否执行针对所存储的信息的更新基于以下各项中的一个或多个:
自从信息被最后更新或最初存储以来所经历的时间量;
自从信息被最后更新或最初存储以来已提供的对一定量的数据D的访问的数目;
当前特性C*中的错误数目。
12.权利要求9至11中的任一项的方法,其中,执行针对所存储的信息的更新包括:
生成针对当前特性C*的新错误校正数据R*,该新错误校正数据R*使得能够校正当前特性C*的版本中的直到预定数目的错误;
使用认证密钥K来生成针对新错误校正数据R*的新认证码,其中,新错误校正数据R*的真实性是使用新认证码和认证密钥K可验证的;
用新错误校正数据R*来补充错误校正数据R;以及
存储新认证码。
13.权利要求9至11中的任一项的方法,其中,执行针对所存储的信息的更新包括:
生成针对当前特性C*的新错误校正数据R*,该新错误校正数据R*使得能够校正当前特性C*的版本中的直到预定数目的错误;
使用认证密钥K来生成针对新错误校正数据R*的新认证码,其中,新错误校正数据R*的真实性是使用新认证码和认证密钥K可验证的;
将当前特性C*与一定量的数据D和认证密钥K组合以生成新存储数据P*,其中,所述组合被布置成使得一定量的数据D和认证密钥K是使用当前特性C*和新存储数据P*可获得的;
使用签名密钥来生成签名,该签名是包括新存储数据P*、一定量的数据D和认证密钥K的一定数量的数据的数字签名;
存储新错误校正数据R*来代替存储的错误校正数据R;
存储新存储数据P*来代替存储的存储数据P;
存储新签名Sig*来代替存储的签名Sig;以及
存储新认证码来代替存储的认证码。
14.一种与设备相关联地存储一定量的数据D的方法,该方法包括:
获得设备的特性C;
生成针对特性C的错误校正数据R,错误校正数据R使得能够校正特性C的版本中的直到预定数目的错误;
将特性C与一定量的数据D和认证密钥K组合以生成存储数据P,其中,所述组合被布置成使得一定量的数据D和认证密钥K是使用特性C和存储数据P可获得的;
使用签名密钥来生成签名,该签名是包括一定量的数据D以及认证密钥K的一定数量的数据的数字签名,其中,所述签名密钥对应于设备可访问的验证密钥;
生成针对包括错误校正数据R和存储数据P的一定数量的数据的认证码,认证码是使用认证密钥K生成的,其中,错误校正数据R和存储数据P的真实性是使用认证码和认证密钥K可验证的;以及
存储错误校正数据R、存储数据P、签名和认证码以从而存储一定量的数据D。
15.权利要求14的方法,其中,在没有特性C的情况下一定量的数据D是不可从存储数据P获得的。
16.权利要求14至15中的任一项的方法,其中,存储数据P包括特性C与一定量的数据D和认证密钥K的组合的XOR。
17.权利要求16的方法,其中,一定量的数据D和认证密钥K的组合包括一定量的数据D和认证密钥K的级联。
18.权利要求14至17中的任一项的方法,其中,使用不对称数字签名算法来生成签名。
19.权利要求14至18中的任一项的方法,其中,所述认证码是消息认证码。
20.一种控制对设备处的一定量的数据D的访问的方法,所述设备存储信息,所述信息包括:错误校正数据R、存储数据P、签名和认证码,所述信息是使用根据权利要求14至19中的任一项所述的方法生成的,所述方法包括:
确定设备的特性C,其中,确定设备的特性C包括获得设备的当前特性C*,并使用错误校正数据R在当前特性C*上执行错误校正解码操作;
使用所确定的特性C和存储数据P来获得一定量的数据D和认证密钥K;
使用验证密钥来确定签名是否对应于包括一定量的数据D和认证密钥K的第一数量的数据;
使用认证密钥K来确定认证码是否对应于包括错误校正数据R和存储数据P的第二数量的数据;
如果既有(a)签名对应于第一数量的数据又有(b)认证码对应于第二数量的数据,则提供对一定量的数据D的访问;以及
如果(a)签名不对应于第一数量的数据,或者(b)认证码不对应于第二数量的数据,则拒绝对一定量的数据D的访问。
21.权利要求20的方法,其中,一定量的数据D和认证密钥K是一起从存储数据P和所确定的特性C的XOR获得的。
22.权利要求20或21的方法,还包括:
如果提供对一定量的数据D的访问,则基于当前特性C*来执行针对所存储的信息的更新。
23.权利要求20或21的方法,还包括:
如果提供对一定量的数据D的访问:
则确定是否执行针对所存储的信息的更新;以及
如果确定将执行针对所存储的信息的更新,则基于当前特性C*来执行针对所存储的信息的更新。
24.权利要求23的方法,其中,确定是否执行针对所存储的信息的更新基于以下各项中的一个或多个:
自从信息被最后更新或最初存储以来所经历的时间量;
自从信息被最后更新或最初存储以来已提供的对一定量的数据D的访问的数目;
当前特性C*中的错误数目。
25.权利要求22至24中的任一项的方法,其中,执行针对所存储的信息的更新包括:
生成针对当前特性C*的新错误校正数据R*,该新错误校正数据R*使得能够校正当前特性C*的版本中的直到预定数目的错误;
将当前特性C*与一定量的数据D和认证密钥K组合以生成新存储数据P*,其中,所述组合被布置成使得一定量的数据D和认证密钥K是使用当前特性C*和新存储数据P*可获得的;
生成针对包括新错误校正数据R*和新存储数据P*的一定数量的数据的新认证码,新认证码是使用认证密钥K生成的,其中,新错误校正数据R*和新存储数据P*的真实性是使用新认证码和认证密钥K可验证的;
存储新错误校正数据R*来代替存储的错误校正数据R;
存储新存储数据P*来代替存储的存储数据P;以及
存储新认证码来代替存储的认证码。
26.前述权利要求中的任一项的方法,其中,所述一定量的数据D包括密码密钥。
27.一种被布置成执行根据权利要求1至26中的任一项所述的方法的装置。
28.一种计算机程序,其在被处理器运行时使处理器执行根据权利要求1至26中的任一项所述的方法。
29.一种存储根据权利要求28所述的计算机程序的计算机可读介质。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/EP2013/056512 WO2014154261A1 (en) | 2013-03-27 | 2013-03-27 | Storing and accessing data |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104756120A true CN104756120A (zh) | 2015-07-01 |
CN104756120B CN104756120B (zh) | 2019-04-23 |
Family
ID=48013999
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380053053.3A Expired - Fee Related CN104756120B (zh) | 2013-03-27 | 2013-03-27 | 存储和访问数据 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9946474B2 (zh) |
EP (1) | EP2885737B1 (zh) |
CN (1) | CN104756120B (zh) |
WO (1) | WO2014154261A1 (zh) |
ZA (1) | ZA201402292B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110489960A (zh) * | 2018-05-14 | 2019-11-22 | 通用汽车环球科技运作有限责任公司 | 认证方法及*** |
CN111052089A (zh) * | 2017-07-05 | 2020-04-21 | 爱迪德技术有限公司 | 数据保护 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9946474B2 (en) | 2013-03-27 | 2018-04-17 | Irdeto B.V. | Storing and accessing data |
US10372528B1 (en) * | 2014-12-15 | 2019-08-06 | Seagate Technology Llc | Random values from data errors |
GB201505438D0 (en) | 2015-03-30 | 2015-05-13 | Irdeto Bv | Accessing content at a device |
ITUB20155318A1 (it) * | 2015-10-26 | 2017-04-26 | St Microelectronics Srl | Tag, relativo procedimento e sistema per identificare e/o autenticare oggetti |
US11475170B2 (en) * | 2019-05-28 | 2022-10-18 | Nuvoton Technology Corporation | System and method for correction of memory errors |
CN113126996B (zh) * | 2019-12-31 | 2023-10-20 | 华控清交信息科技(北京)有限公司 | 代码审核的方法、装置及*** |
US11537298B2 (en) | 2020-12-01 | 2022-12-27 | Micron Technology, Inc. | Memory systems and devices including examples of accessing memory and generating access codes using an authenticated stream cipher |
US11899829B2 (en) | 2020-12-01 | 2024-02-13 | Micron Technology, Inc. | Memory systems and devices including examples of generating access codes for memory regions using authentication logic |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1376305A2 (en) * | 2002-06-27 | 2004-01-02 | Microsoft Corporation | Secure hardware identifier (HWID) for use in a digital rights management (DRM) system |
WO2007056054A1 (en) * | 2005-11-02 | 2007-05-18 | Promethean Storage Llc | Content control systems and methods |
WO2012122674A1 (en) * | 2011-03-15 | 2012-09-20 | Irdeto Canada Corporation | Change-tolerant method for generating identifier for collection of assets in computing environment using error-correction code scheme |
CN102890756A (zh) * | 2011-07-18 | 2013-01-23 | 索尼公司 | 媒体内容备生成方法和装置,媒体内容播放方法和装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6564322B1 (en) * | 1999-01-26 | 2003-05-13 | International Business Machines Corporation | Method and apparatus for watermarking with no perceptible trace |
US8325994B2 (en) * | 1999-04-30 | 2012-12-04 | Davida George I | System and method for authenticated and privacy preserving biometric identification systems |
US20070138306A1 (en) * | 2005-12-19 | 2007-06-21 | Pitney Bowes Incorporated | Printed marking hidden authentication |
JP2013031151A (ja) * | 2011-06-20 | 2013-02-07 | Renesas Electronics Corp | 暗号通信システムおよび暗号通信方法 |
KR101959738B1 (ko) * | 2012-05-24 | 2019-03-19 | 삼성전자 주식회사 | 장치 식별자와 사용자 인증 정보에 기반한 보안 키 생성 장치 |
US9946474B2 (en) | 2013-03-27 | 2018-04-17 | Irdeto B.V. | Storing and accessing data |
-
2013
- 2013-03-27 US US14/430,906 patent/US9946474B2/en active Active
- 2013-03-27 EP EP13712782.5A patent/EP2885737B1/en active Active
- 2013-03-27 CN CN201380053053.3A patent/CN104756120B/zh not_active Expired - Fee Related
- 2013-03-27 WO PCT/EP2013/056512 patent/WO2014154261A1/en active Application Filing
-
2014
- 2014-03-27 ZA ZA2014/02292A patent/ZA201402292B/en unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1376305A2 (en) * | 2002-06-27 | 2004-01-02 | Microsoft Corporation | Secure hardware identifier (HWID) for use in a digital rights management (DRM) system |
WO2007056054A1 (en) * | 2005-11-02 | 2007-05-18 | Promethean Storage Llc | Content control systems and methods |
WO2012122674A1 (en) * | 2011-03-15 | 2012-09-20 | Irdeto Canada Corporation | Change-tolerant method for generating identifier for collection of assets in computing environment using error-correction code scheme |
CN102890756A (zh) * | 2011-07-18 | 2013-01-23 | 索尼公司 | 媒体内容备生成方法和装置,媒体内容播放方法和装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111052089A (zh) * | 2017-07-05 | 2020-04-21 | 爱迪德技术有限公司 | 数据保护 |
CN111052089B (zh) * | 2017-07-05 | 2024-03-19 | 爱迪德技术有限公司 | 数据保护 |
CN110489960A (zh) * | 2018-05-14 | 2019-11-22 | 通用汽车环球科技运作有限责任公司 | 认证方法及*** |
CN110489960B (zh) * | 2018-05-14 | 2023-08-15 | 通用汽车环球科技运作有限责任公司 | 认证方法及*** |
Also Published As
Publication number | Publication date |
---|---|
US20160018996A1 (en) | 2016-01-21 |
CN104756120B (zh) | 2019-04-23 |
WO2014154261A1 (en) | 2014-10-02 |
ZA201402292B (en) | 2017-09-27 |
EP2885737B1 (en) | 2016-11-02 |
US9946474B2 (en) | 2018-04-17 |
EP2885737A1 (en) | 2015-06-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104756120A (zh) | 存储和访问数据 | |
CN109313690B (zh) | 自包含的加密引导策略验证 | |
US11586560B2 (en) | Secure memory | |
US10237074B2 (en) | Redactable document signatures | |
US8438377B2 (en) | Information processing apparatus, method and computer-readable storage medium that encrypts and decrypts data using a value calculated from operating-state data | |
US9183357B2 (en) | Recording/reproducing system, recording medium device, and recording/reproducing device | |
KR20210131444A (ko) | 물리적 복제 방지 기능을 사용한 컴퓨팅 디바이스에 대한 신원 생성 | |
CN109710315A (zh) | Bios刷写方法及bios镜像文件的处理方法 | |
JP5357152B2 (ja) | 情報処理装置、情報処理方法、これらを実現するコンピュータプログラム及び集積回路 | |
US8949611B1 (en) | Methods, apparatus and computer program products for authenticating and determining integrity of a software part of an air vehicle | |
CN109714303A (zh) | Bios启动方法及数据处理方法 | |
US10853472B2 (en) | System, apparatus and method for independently recovering a credential | |
JP5854443B2 (ja) | 誤り訂正符号方式を用いて計算環境における資産集合についての識別子を生成する変化許容力を有する方法 | |
JP5299286B2 (ja) | 分散情報生成装置、復元装置、検証装置及び秘密情報分散システム | |
CN105706099A (zh) | 软件更新装置及软件更新程序 | |
US9319224B2 (en) | Public key infrastructure for system-on-chip | |
CN113055380A (zh) | 报文处理方法、装置、电子设备及介质 | |
CN116451238A (zh) | 一种ecu固件升级方法、装置、设备及可读存储介质 | |
CN111355576B (zh) | 数据处理方法和计算机*** | |
CN111130788B (zh) | 数据处理方法和***、数据读取方法和iSCSI服务器 | |
JP6830868B2 (ja) | 追加データ付き認証暗号システム、復号装置、追加データ付き認証暗号方法、およびプログラム | |
US20220400004A1 (en) | Generating keys | |
CN116684115A (zh) | 加密方法、装置、电子设备及存储介质 | |
CN118199884A (zh) | 基于区块链的任务执行方法和装置 | |
CN116032532A (zh) | 空中下载服务的授权方法、装置、设备及计算机存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20190423 Termination date: 20210327 |
|
CF01 | Termination of patent right due to non-payment of annual fee |