使用otp存储器的回放攻击防范的制作方法

xiaoxiao2020-7-22  2

【专利下载】Tel:18215660330

使用otp存储器的回放攻击防范的制作方法
【专利摘要】一种用于数据安全性的方法包括:在具有一次性可编程(OTP)存储器的处理器中,接收要被写入到数据存储器的新信息,该OTP存储器包括多个比特并且具有由OTP的已被编程的比特定义的当前状态。基于新信息和当前状态,选择OTP存储器的要被编程的至少一个其他比特,从而定义OTP存储器的新状态。经由新信息和新状态计算新数字签名。将新信息和新数字签名保存于数据存储器中。在将新信息和新数字签名保存于数据存储器中之后,对OTP存储器的至少一个其他比特进行编程,由此该新状态变为当前状态。还公开了相关装置及方法。
【专利说明】使用OTP存储器的回放攻击防范
【技术领域】
[0001]本发明总体上涉及数据安全,且具体涉及保护存储于存储器中的数据免受篡改。【背景技术】
[0002]当计算机化媒体设备的用户在线购买内容时,内容提供商可将授权信息下载到所述设备以使所述用户能够访问该内容。所述设备将该授权信息安全地存储于数据存储器中,所述数据存储器通常包括非易失性存储器(NVM),诸如闪存。为防止所述用户(或者其他方)变更该授权信息,所述信息可被数字签名。未拥有合适密钥的攻击者随后将无法更改授权信息。然而,攻击者访问NVM并且读出和存储授权信息(其可能被加密)和数字签名两者仍然可行。
[0003]如果授权信息随后变更(为较低级授权,例如,因为用户已取消他对于某些内容信道的订阅,或者因为用户已经玩在线游戏一定次数),那么新授权信息连同新签名一起将被写入到NVM。攻击者可利用他先前读出和存储的丨日授权信息和签名替换该新授权信息和签名。他然后将能够访问他不再支付的内容。这类策略被称为“回放攻击”。

【发明内容】

[0004]下文所述的本发明的实施方式提供了可用于增强存储数据免受篡改的安全性的技术,包括特别是回放攻击防范。
[0005]因此,根据本发明的实施方式,提供了ー种用于数据安全性的方法,所述方法包括:在具有一次性可编程(OTP)存储器的处理器中,接收要被写入到数据存储器的新信息,所述一次性可编程存储器包括多个比特(bit,位)并且具有由所述OTP的已被编程(program,程序化)的比特定义的当前状态。基于所述新信息和所述当前状态,选择所述OTP存储器的要被编程的至少ー个其他比持,从而定义所述OTP存储器的新状态。经由所述新信息和所述新状态计算新数字签名。将所述新信息和所述新数字签名保存于所述数据存储器中。在将所述新信息和所述新数字签名保存于所述数据存储器中之后,对所述OTP存储器的所述至少ー个其他比特进行编程,由此所述新状态变为所述当前状态。
[0006]接收所述新信息通常包括利用所述新信息替换被存储于所述数据存储器中的旧信息,其中,所述旧信息利用所述数据存储器中的旧数字签名来进行签名,并且所述方法可包括:在对所述OTP存储器的至少ー个比特进行编程之后,从所述数据存储器中擦除所述旧信息和所述旧数字签名。另外或可替代地,所述方法包括:在接收到向所述处理器的允许使用所述新信息的请求后,对照所述新信息以及所述OTP存储器的所述当前状态来验证保存于所述数据存储器中的所述新数字签名。
[0007]在所公开的实施方式中,选择所述至少ー个其他比特包括:对所述新信息和所述当前状态应用函数,所述函数具有由所述处理器保持为保密的參数。所述新数字签名取决于所述OTP存储器的已编程比特的分布并且不只取决于已被编程的比特数。
[0008]在一些实施方式中,选择所述至少ー个其他比特包括:选择至少第一比特和第二比持,从而定义相应的至少第一新状态和第二新状态;计算所述新数字签名包括:对于所述至少第一新状态和第二新状态计算相应的至少第一数字签名和第二数字签名;以及对所述至少一个其他比特进行编程包括:尝试对所述第一比特进行编程,测试所述OTP存储器来验证所述第一比特的所述编程,且如果所述第一比特未被适当编程,那么对所述第二比特进行编程并且保存所述第二数字签名,同时丢弃所述第一数字签名。
[0009]另外或可替代地,选择所述至少ー个其他比特包括:基于所述新信息和所述当前状态选择至少第一比特和第二比特,其中,所述OTP存储器的所述新状态被定义为使得在所述新状态下,至少所述第一比特和第二比特两者被编程;以及对所述至少ー个其他比特进行编程包括:对至少所述第一比特和第二比特两者进行编程。选择至少所述第一比特和第二比特可包括:基于所述新信息和所述当前状态选择所述第一比持,从而定义所述OTP存储器的第一新状态;以及基于所述新信息和所述第一新状态选择所述第二比持,从而定义所述OTP存储器的第二新状态,经由所述第二新状态计算所述新数字签名,并且所述方法可包括:在接收到向所述处理器的允许使用所述新信息的请求后,当所述OTP存储器处于所述第一新状态时,拒绝对使用所述新信息的许可。
[0010]根据本发明的实施方式,还提供了一种数据安全性装置,所述装置包括:数据存储器;以及一次性可编程(OTP)存储器,包括多个比特并且具有由所述OTP的已被编程的比特定义的当前状态。处理器被构造为:在接收到要被写入到所述数据存储器的新信息后,基于所述新信息和所述当前状态,选择所述OTP存储器的要被编程的至少ー个其他比持,从而定义所述OTP存储器的新状态;经由所述新信息和所述新状态计算新数字签名;将所述新信息和所述新数字签名保存于所述数据存储器中;以及在将所述新信息和所述新数字签名保存于所述数据存储器中之后,对所述OTP存储器的所述至少ー个其他比特进行编程,由此所述新状态变为所述当前状态。
[0011]结合以下附图,根据以下对本发明的实施方式的详细描述,将更全面地理解本发明。
【专利附图】

【附图说明】
[0012]图1为示意性示出根据本发明实施方式的媒体递送(delivery,传输)系统的框图;
[0013]图2为示意性示出根据本发明实施方式的用于安全地更新存储于存储器中的信息的方法的流程图;以及
[0014]图3为示意性示出根据本发明另ー实施方式的用于安全地更新存储于存储器中的信息的方法的状态图。
【具体实施方式】
[0015]概述
[0016]对回放攻击(如上所述)问题的一个解决方案是提供处理器,所述处理器负责在媒体设备中利用一次性可编程(OTP)存储器阵列来访问控制。每次更新NVM数据时,OTP存储器的一个比特均被编程(从0变为1,或者可替代地,从I变为0,取决于可适用的约定;也被称为“烧录”比特)。经由NVM中的信息连同OTP存储器的汉明(Hamming)权重(“ I ”比特的数量)一起计算数字签名。因此,对OTP存储器中的比特进行编程有效地撤销所有先前签名。
[0017]然而,该方法遭遇到可靠性和安全性问题。如果在计算新签名并将其存储于NVM中之前对OTP比特进行编程,并且在所述签名被存储于NVM中之前发生重置,那么所述设备在重置之后将被锁死。另ー方面,如果在对OTP比特进行编程之前计算新签名并将其存储于NVM中,那么所述设备容易受到攻击:攻击者可下载信息项(诸如用于访问某个内容信道的授权信息),但随后可在对OTP存储器进行编程且交易完成之前重置所述处理器。该步骤可重复多次,以下载多个项。在每个步骤处,所述处理器经由最新项计算签名,其中,所有这些签名假定还有ー个OTP比特待被编程。只有在下载“购物清単”上的最后项之后,攻击者才允许交易完成,于是ー个OTP比特被编程。所有签名然后变为有效-尽管攻击者的账户只会支付最后项。
[0018]下文所述的本发明的实施方式提供了可用于解决上述可靠性和数据安全性问题的方法和设备。在这些实施方式中,经由信息项计算新数字签名,并且在对相应(或者多个)OTP比特进行编程之前将其保存于NVM中,从而减轻可靠性问题。另ー方面,数字签名不仅涵盖NVM状态,而且涵盖OTP存储器的完整状态,而不只是本领域已知方法中的汉明权重。OTP存储器的“状态”在该背景下由被编程的比特的实际分布(即,由OTP中的I和0定义的实际ニ进制字(包括将结合新签名一起进行编程的又一比特或者多个比特))来定义。此外,待编程的ー个或多个比特不是任意选择的,而是为OTP存储器的当前状态以及待签名的信息项的函数-使得对于所述设备接收的每个不同信息项的编程将指定不同的ー个或多个OTP比持。(通常,该函数的參数由所述处理器維持保密。)因此,在上述攻击情况下,只有最后数字签名将有效,并且所有先前签名都将无用。
[0019]因此,在所公开的实施方式中,当处理器接收待被写入到数据存储器(虽然并不一定,但是通常实施为NVM)的新信息时,它基于所述新信息以及所述OTP存储器的当前状态(即,由已编程的比特定义的状态)选择OTP存储器的待被编程的至少另ー个比持。选定的ー个或多个比特连同OTP存储器的当前状态一起定义新状态。处理器经由该新信息和新状态计算新数字签名,并且将所述新信息和所述新数字签名保存于NVM中。在将所述新信息和所述新数字签名保存于NVM中之后,处理器对OTP存储器中选定的ー个或多个比特进行编程,由此所述新状态变为当前状态。
[0020]在典型使用情况(诸如控制访问内容)下,由处理器接收的新信息替换先前存储于数据存储器中的旧信息。在对OTP存储器进行编程之后,处理器将旧信息连同旧信息的数字签名一起从数据存储器中擦除。在接收到允许使用新信息(例如,访问给定内容信道)的请求后,处理器对照新信息以及OTP存储器的当前状态检查保存于数据存储器中的新数字签名,并且只有当它确认所述签名有效时才允许访问。
[0021]在一些实施方式中,为了更高的可靠性和/或安全性,在每个新信息项接收后,可选择多个比特用于编程,并且在一些情况下,可预先计算多个签名。这些实施方式在下文中进行更详细描述。
[0022]系统描述
[0023]图1为示意性示出根据本发明实施方式的媒体递送系统20的框图。系统20围绕计算机化媒体设备22被构建,例如,计算机化媒体设备22可被实施为电视机顶盒(STB)。可替代地,例如,设备22的元件和功能中的一些或者全部可被结合在智能卡或便携式媒体播放器或者任何其它可适用类型的计算机化设备中。设备22控制从网络24 (诸如有线电视或卫星电视娱乐网络或因特网)到输出设备26 (诸如电视机或其它视频显示器)的数字内容递送。
[0024]虽然为清晰和方便起见,本文所述的图示实施方式和应用实例具体涉及与视频内容递送相关联的信息篡改防范,但本发明的原理可同样适用于其它类型的内容以及在其它背景下的敏感信息的保护。例如,这些原理可在电子现金卡或者停车卡中被实施。因此,这里示出和描述系统20的背景纯粹是为了说明,而不是限制。
[0025]设备22被连接为经由通信接ロ 28从网络24接收信息并且经由媒体接ロ 32将内容输出到输出设备26。在本实例中,由设备22接收的信息包括授权信息,所述授权信息指示允许设备22将某个内容下载并递送给输出设备26。在接收到该授权信息后,设备22中的处理器30将所述信息安全地存储于数据存储器34中,所述数据存储器34通常包括非易失性存储器(NVM),诸如闪存。所存储的信息定义数据存储器的状态D,并且当接收到新信息(其可用于替换旧信息)时,状态从D变为D’。
[0026]处理器30通常包括微处理器,所述微处理器具有合适的输入和输出并且被编程以执行本文所述的功能。微处理器可在软件或者固件中进行编程。另外或可替代地,本文所述的处理器30的功能中的至少ー些可由硬布线逻辑执行,所述硬布线逻辑可被集成到处理器30中。虽然处理器30、接ロ 28和32以及存储器34在图1中被示出为单独功能组件,但这些组件中的一些或者全部可被集成到单个集成电路芯片中或者使用多芯片来实施。例如,虽然数据存储器34在图1中被示出为单个単元,但可替代地,数据存储器可包括不同芯片中的多个片段(可能包括嵌入于处理器30中的片段)以及其它类型的存储器,诸如硬盘。
[0027]设备22包括一次性可编程(OTP)存储器36,为增强安全性,一次性可编程(OTP)存储器36可嵌入干与处理器30相同的集成电路芯片中或者与所述处理器一起嵌入于多芯片模块中,如图中所示。OTP存储器36具有当前状态P,所述当前状态P由OTP存储器中編程的比特的分布来定义。换言之,状态P可被视为n位ニ进制字,所述n位ニ进制字包括OTP存储器中I (编程比持)和0 (未编程比持)的序列。
[0028]对于数据存储器34的每个数据状态D,处理器30将签名S存储于所述数据存储器中。所述签名经由D和P进行计算,即S=sig(D,P),其中,“ sig”表示签名函数。P在计算签名之前被更新,如下所述。通常,使用秘密(私有)密钥和合适的密码算法来计算签名,所述密码算法可以是对称或非対称算法。处理器30可自身计算签名,或者可通过单独的签名单元(未示出)计算签名。
[0029]当请求访问存储器34中由状态D表示的安全信息吋,处理器30对照数据存储器34和OTP存储器36的当前状态D和P来验证存储的签名S。当签名函数使用对称算法吋,处理器30使用与用于产生所存储的签名的密钥相同的密钥简单地重新计算sig(D,P)。否贝U,如果采用某个私有密钥(可能对于处理器30而言为未知)而使用非対称算法,那么处理器可应用相应的公开密钥来验证S,如本领域中已知。一旦它已经验证签名S匹配D和P,处理器30通常就允许访问存储器34中的安全信息。否则,怀疑篡改并且拒绝访问。
[0030]图2为示意性示出根据本发明实施方式的用于安全地更新存储于数据存储器34中的信息的方法的流程图。为方便和清晰起见,所述方法參照系统20 (图1)的元件来描述,并且假定处理器30自身执行所有计算。然而,所述方法绝不限于该特定环境,并且可替代地,可使用包括数据存储器和OTP存储器的其它类型设备来实现。此外,如上所述,所述方法中涉及的一些计算(诸如签名计算)可由単独的签名处理器(图中未示出)执行。因此,如本专利申请上下文和权利要求中所使用的术语“处理器”应被理解为包括本文所述的处理功能的单芯片实施和多芯片实施两者。
[0031]当设备22接收到与数据存储器34的新状态D’相对应的新信息时,在触发步骤40处,图2中的方法被触发。响应于该触发,在OTP状态计算步骤42中,处理器30计算OTP存储器36的新状态P’,其中,目前还未编程的一个或多个比特将被编程。P’基于新数据状态D’和当前OTP状态P进行计算,即P’ =h(D’,P),其中h为函数,所述函数指定在状态P下现在将被编程的一个或者多个未编程的比持。通常,h被定义为使得对于所有可行的D’值,相对于P所获得的P’值(即,选择用于编程的另外的ー个或多个OTP比持)将大致上均匀分布。函数h的參数在处理器30内通常保密,并且可在处理器逻辑中被硬布线以使得攻击者很难发现所述參数。此外,处理器30可包括另外的OTP存储器(未示出),从而保存唯一的秘密值作为h的參数之一。因此,即使攻击者从一个设备22中的处理器成功提取该秘密參数,这些參数对于攻击其它设备也将是没用的。
[0032]在计算新OTP状态P’之后,但在对OTP存储器36进行实际编程之前,在签名计算步骤44处,处理器30计算新签名S’ =Sig (D’,P’)。在签名存储步骤46处,处理器随后将新签名S’连同新状态D’(即,在步骤40处接收的新信息)一起保存于数据存储器34中。然而,处理器还未擦除旧状态D和旧签名S。
[0033]在OTP烧录步骤48处,处理器30对使OTP存储器36从状态P到状态P,所需的一个或多个比特进行编程。在基本实施方式中,P’与P相差单个比特,使得数据存储器34的状态D的每个转换消耗OTP存储器的单个比持。可替代地,多比特方案可用于增强可靠性和/或安全性,如下所述。在烧录验证步骤50处,处理器30对选定的比特进行测试以验证它已经被适当编程。如果选定的比特未被适当编程,那么可重复步骤48 ;并且如果通过步骤48和步骤50的多次循环未使得OPT比特成功编程,那么处理器30可能转为故障状态52。
[0034]然而,在大多数情况下,步骤48处的OTP编程将在步骤50处被成功验证。处理器30推断到(D’,P’,S’)的状态转换已成功完成,并因此从存储器34中擦除旧信息(状态D)和签名(D,S)。为后续状态验证和更新,D’、P’和S’现变为D、P和S。
[0035]上述方法的优点在于,如果步骤的顺序在任何点中断,那么处理器30利用有效的(D,S)对仍能够工作。如果所述方法在步骤48之前中断,或者如果步骤48出现故障,那么旧状态(D,S)在存储器34中仍然可用。如果所述方法在OTP存储器36已被编程为状态P’之后(例如,在步骤50之后)中断,那么即使旧状态(D,S)保持在存储器34中,新状态(D’,S’)也可运行。然而,在该后者情况下,旧存储器状态将无法完成签名验证,因为它需要旧OTP状态P。
[0036]此外,攻击者尝试通过在步骤46之后中断以上处理来收集多个有效信息项(D)和相应签名(S)将不会成功,因为每个相继的新签名需要不同OTP状态才能有效。最多,攻击者将能够使中断处理重复足够次数以找到共享相同OTP状态(S卩,相同P’ =h (D1, P) =h (D2, P))的两个数据状态D1和D2。攻击者为此将需要遍历的数据状态数与OTP存储器36中剰余的未编程比特数成比例。对g在降低这类攻击成功的概率的以上方法的增强在下文中进行描述。
[0037]增强可靠性和安全性
[0038]如上所述,当OTP存储器36具有缺陷比特时,所述缺陷比特即使在通过步骤48的反复迭代中也无法成功编程,状态更新处理可能到达故障状态52。为避免这类不測事件,故障恢复例程可被添加到图2的方法中,如由使得从状态50回到状态42的虚线箭头表示。代替在基本方案中用于计算P’的单状态发生函数h,定义k个这种函数:hp…、hk (通常,k=2将足够),并且所述方法通过步骤42至步骤50重复高达k次,直至步骤50成功通过。只有在k个验证故障之后,处理才实际转到故障步骤52。
[0039]在该方法的操作的每次迭代,在步骤42处使用不同Iii,从而利用OTP存储器34中待被编程的不同比特(或者可以是相同比持)产生不同状态P/。因此,在通过步骤44的每次迭代中,即使新数据状态D’相同,也会计算不同数字签名S/。如果步骤50对于i=l成功通过,那么签名S/与D’ 一起保存。另ー方面,如果在步骤50处验证失败,那么在步骤42处,处理器30使用h2来计算P2’,并因此基于P2’选择在OTP存储器36中待编程的比特。在步骤44处计算第二签名S2’。假定随后在步骤48和步骤50处P2’被适当编程和验证,处理器30将S2’与D’ 一起保存于存储器34中,并且将先前签名S/连同S和D—起丢弃。
[0040]在另ー实施方式中,通过要求对于数据存储器34的操作状态D的每个变化连续计算和编程m个OTP比特(m>l),图2的方法可被修改以增强安全性。(通常,m=2将足够,但可替代地,可使用更大的m值)。只有在所有m个比特对于给定新状态D’已被编程之后,存储器34中的相应信息才变为可用。该特征将挫败尝试多次中断签名处理以找到共享相同OTP状态的两个数据状态D1和D2的攻击者,因为所述两个数据状态将共享必须被编程的m个新比特的相同序列以达到新的OTP状态P’是极度不可能的。
[0041]換言之,通过与图2中方法比较,该安全性增强方法使步骤42至步骤50重复m次。在第一迭代,在步骤42处,处理器`30基于新信息D’选择OTP存储器36中的第一未编程比持,从而定义第一新OTP状态。在通过步骤42的下ー迭代,处理器将基于D’和第一新OTP状态选择OTP存储器中的第二未编程比特,从而给出第二新OTP状态。在每次迭代,新数字签名S’可在步骤44处被计算并且在步骤46处被存储,并且选定的比特在步骤48处被编程。然而,只有在第m次迭代之后,在m个新比特已经被编程之后,处理器才将数据状态识别为对于访问是有效的。处理器将拒绝对使用在任何先前状态下由D’表示的新信息的许可。
[0042]图3为示意性示出根据本发明实施方式的用于增强安全性地更新存储于存储器34中的信息的这一方法的状态图。图中所示的方法定义了扩展状态D*= (D,j),其中j为索弓丨,所述索引指示当前迭代。只有j=0的状态为操作状态,其中,处理器30将授权访问存储器34中与D对应的信息。所有其它状态都为禁止访问的过渡状态。
[0043]图3中的方法以表示为(D,0)的操作状态60开始。在该阶段,OTP存储器36处于状态P,且旧签名S有效并被存储于存储器34中。当触发存储器34的状态向D’的更新时(图2中步骤40),处理器30将进行向第一过渡状态62 (D’,m-1)的转换。为此,处理器计算新(过渡)OTP状态P’(步骤42)和新签名S’(步骤44);将扩展状态(D’,m-l)和签名S’保存于存储器34中(步骤46);并且对合适的OTP比特进行编程以进行向OTP状态P’的转换。为了更高的可靠性,处理器30可使这些步骤重复多次,如上所述,以防在步骤50处OTP编程失败。
[0044]处理器30重复以上处理以进行下一状态转换,从过渡状态(D’,m_l)至过渡状态(D’,m-2)等直到过渡状态(D’,I),从而在每次迭代对OTP存储器36的新比特进行编程。最后,在最后的迭代中,在计算和编程第m个OTP比特和相应的签名S’之后,处理器30进行向下一操作状态64 (D’ , 0)的转换,并且与D’对应的信息变为可用。
[0045]根据应用要求,可调整參数k (“可靠性迭代”次数)和m (“安全性迭代”次数)。例如,随着在设备22的寿命期间剩余未编程OTP比特数減少,m可増加以降低攻击者找到具有相同OTP状态的两个信息项的概率。
[0046]此外,以上可靠性和安全性增强方法在替代性实施方式中可组合,其中,对于存储器状态D的毎次更新,任意选择m个OTP比特中的s个来编程。预先计算与m个比特中的s个比特的所有可行集合对应的签名。当期望高安全性时,所述方案可用,尽管OTP可靠性可能不足。
[0047]在该实施方式中,与上述高可靠性方案不同,只有ー个OTP更新函数h,但是P’=h(D’,P)与P相差m个比特,而不是单个比特。在从存储器状态D到D’的转换中,s个OTP比特被编程。对于任何OTP状态P,使|p|为p中“I”比特的数量,并且使符号Pi GP2表示P1中具有值“I”的每个比特在P2中也是“I”。对于具有I P,_|P|=m的状态P、P’,使L(P,P,)表示所有OTP状态的集合Q,使得PGQGP’i Q|-|P|=So可以看出,在L(P,P’)
中恰好有O个OTP状态。
[0048]在该最后的实施方式中,从D到D’转换的步骤顺序如下:
[0049]I?计算 P,=h(D,`,P)。
[0050]2.将D’存储于存储器34中。
[0051]3.对于每ー个Q G L(P,P,),计算SQ=sig(D’,Q)(而OTP状态实际上未从P变为Q),并且将Sq存储于存储器34中。
[0052]4.设定计数 Count=O。
[0053]5.对于每ー个OTP比特、G P’ \P (即,对于P’中为“I”和P中为“0”的m个比持),执行以下步骤a-c:
[0054]a.对IDi进行编程。
[0055]b.如果IDi已被成功编程,那么设定Count=Count+l。
[0056]c.如果Count=S,那么转到步骤7。
[0057]6.失败(如果小于s个比特已被成功编程)。
[0058]7.恰好s个比特已被烧录,并且当前OTP状态Q G L(P,P’)。只保留(D’,Sq)于存储器34中,并且擦除其它签名。
[0059]在本节开头处描述的高可靠性方案可被看作该后者方法中m=l的特殊情況。
[0060]应理解,上述实施方式通过实例的方式进行叙述,并且本发明并不限于上文中特定示出和描述的实施方式。相反,本发明的范围包括上文所述各种特征的组合和子组合,以及本领域技术人员在阅读以上描述后可进行的且在现有技术中未公开的本发明的变形和修改。
【权利要求】
1.ー种用于数据安全性的方法,包括: 在具有一次性可编程(OTP)存储器的处理器中,接收要被写入到数据存储器的新信息,所述一次性可编程存储器包括多个比特并且具有由所述OTP的已被编程的比特定义的当前状态; 基于所述新信息和所述当前状态,选择所述OTP存储器的要被编程的至少ー个其他比持,从而定义所述OTP存储器的新状态; 经由所述新信息和所述新状态计算新数字签名,其中,所述新数字签名取决于所述OTP存储器的已编程比特的分布并且不只取决于已被编程的比特数; 将所述新信息和所述新数字签名保存于所述数据存储器中;以及 在将所述新信息和所述新数字签名保存于所述数据存储器中之后,对所述OTP存储器的所述至少ー个其他比特进行编程,由此所述新状态变为所述当前状态。
2.根据权利要求1所述的方法,其中,接收所述新信息包括利用所述新信息替换被存储于所述数据存储器中的旧信息,其中,所述旧信息利用所述数据存储器中的旧数字签名来进行签名,并且其中,所述方法包括:在对所述OTP存储器的至少ー个比特进行编程之后,从所述数据存储器中擦除所述旧信息和所述旧数字签名。
3.根据权利要求1或2所述的方法,所述方法包括:在接收到对所述处理器的允许使用所述新信息的请求后,对照所述新信息以及所述OTP存储器的所述当前状态来验证保存于所述数据存储器中的所述新数字签名。
4.根据权利要求1 至3中任一项所述的方法,其中,选择所述至少ー个其他比特包括:对所述新信息和所述当前状态应用函数,所述函数具有由所述处理器保持为保密的參数。
5.根据权利要求1至4中任一项所述的方法,其中,选择所述至少ー个其他比特包括:选择至少第一比特和第二比持,从而定义相应的至少第一新状态和第二新状态,并且 其中,计算所述新数字签名包括:对于所述至少第一新状态和第二新状态计算相应的至少第一数字签名和第二数字签名,并且 其中,对所述至少ー个其他比特进行编程包括:尝试对所述第一比特进行编程,测试所述OTP存储器来验证所述第一比特的所述编程,且如果所述第一比特未被适当编程,那么对所述第二比特进行编程并且保存所述第二数字签名,同时丢弃所述第一数字签名。
6.根据权利要求1至4中任一项所述的方法,其中,选择所述至少ー个其他比特包括:基于所述新信息和所述当前状态选择至少第一比特和第二比特,其中,所述OTP存储器的所述新状态被定义为使得在所述新状态下,至少所述第一比特和第二比特这两者被编程,并且 其中,对所述至少ー个其他比特进行编程包括:对至少所述第一比特和第二比特这两者进行编程。
7.根据权利要求6所述的方法,其中,选择至少所述第一比特和第二比特包括: 基于所述新信息和所述当前状态选择所述第一比持,从而定义所述OTP存储器的第一新状态;以及 基于所述新信息和所述第一新状态选择所述第二比持,从而定义所述OTP存储器的第二新状态,经由所述第二新状态计算所述新数字签名,并且 其中,所述方法包括:在接收到对所述处理器的允许使用所述新信息的请求后,当所述OTP存储器处于所述第一新状态时,拒绝对使用所述新信息的许可。
8.一种数据安全性装置,包括: 数据存储器; 一次性可编程(OTP)存储器,包括多个比特并且具有由所述OTP的已被编程的比特定义的当前状态;以及 处理器,被构造为:在接收到要被写入到所述数据存储器的新信息后,基于所述新信息和所述当前状态,选择所述OTP存储器的要被编程的至少ー个其他比持,从而定义所述OTP存储器的新状态;经由所述新信息和所述新状态计算新数字签名,其中,所述新数字签名取决于所述OTP存储器的已编程比特的分布并且不只取决于已被编程的比特数,并且 其中,所述处理器被构造为将所述新信息和所述新数字签名保存于所述数据存储器中;以及在将所述新信息和所述新数字签名保存于所述数据存储器中之后,对所述OTP存储器的所述至少ー个其他比特进行编程,由此所述新状态变为所述当前状态。
9.根据权利要求8所述的装置,其中,所述处理器被构造为利用所述新信息替换被存储于所述数据存储器中的旧信息,其中,所述旧信息利用所述数据存储器中的旧数字签名来进行签名,并且其中,所述处理器被构造为在对所述OTP存储器的至少ー个比特进行编程之后,从所述数据存储器中擦除所述旧信息和所述旧数字签名。
10.根据权利要求8或9所述的装置,其中,所述处理器被构造为在接收到允许使用所述新信息的请求后,对照所述新信息以及所述OTP存储器的所述当前状态来验证保存于所述数据存储器中的所述新数字签名。
11.根据权利要求8至10中任一项所述的装置,其中,所述处理器被构造为通过对所述新信息和所述当前状态应用函数`来选择所述至少ー个其他比特,所述函数具有由所述处理器保持为保密的參数。
12.根据权利要求8至11中任一项所述的装置,其中,所述至少ー个其他比特包括至少第一比特和第二比特,所述至少第一比特和第二比特定义相应的至少第一新状态和第二新状态,并且 其中,所述处理器被构造为:对于所述至少第一新状态和第二新状态计算相应的至少第一数字签名和第二数字签名,尝试对所述第一比特进行编程,测试所述OTP存储器来验证所述第一比特的所述编程,且如果所述第一比特未被适当编程,那么对所述第二比特进行编程并且保存所述第二数字签名,同时丢弃所述第一数字签名。
13.根据权利要求8至11中任一项所述的装置,其中,所述至少ー个其他比特包括至少第一比特和第二比特,所述至少第一比特和第二比特由所述处理器基于所述新信息和所述当前状态来选择,其中,所述OTP存储器的所述新状态被定义为使得在所述新状态下,至少所述第一比特和第二比特这两者被编程,并且 其中,所述处理器被构造为在将所述新信息和所述新数字签名保存于所述数据存储器中之后,对至少所述第一比特和第二比特这两者进行编程。
14.根据权利要求13所述的装置,其中,所述处理器被构造为:基于所述新信息和所述当前状态选择所述第一比持,从而定义所述OTP存储器的第一新状态;以及基于所述新信息和所述第一新状态选择所述第二比持,从而定义所述OTP存储器的第二新状态,经由所述第二新状态计算所述新数字签名,并且其中,所述处理器被构造为在接收到对所述处理器的允许使用所述新信息的请求后,当所述OTP存储器处于所述第一新`状态时,拒绝对使用所述新信息的许可。
【文档编号】G06F21/64GK103562930SQ201280026159
【公开日】2014年2月5日 申请日期:2012年6月19日 优先权日:2012年2月29日
【发明者】雅科夫·布莱恩, 鲁本·萨姆纳 申请人:Nds有限公司

最新回复(0)