CN102693190A - 认证铁电随机存取存储器(f-ram)装置和方法 - Google Patents
认证铁电随机存取存储器(f-ram)装置和方法 Download PDFInfo
- Publication number
- CN102693190A CN102693190A CN2012100255016A CN201210025501A CN102693190A CN 102693190 A CN102693190 A CN 102693190A CN 2012100255016 A CN2012100255016 A CN 2012100255016A CN 201210025501 A CN201210025501 A CN 201210025501A CN 102693190 A CN102693190 A CN 102693190A
- Authority
- CN
- China
- Prior art keywords
- authentication
- memory
- main frame
- address
- memory storage
- 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
Images
Classifications
-
- 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/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
- G06F21/445—Program or device authentication by mutual authentication, e.g. between devices or programs
-
- 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/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供了认证铁电随机存取存储器(F-RAM)装置和方法。本发明的装置和技术利用高级加密标准AES128加密模块以及真硬件随机数产生器和基本异或(XOR)功能以获得处理量相对小的安全算法。由于写时间比传统的浮栅非易失性存储器技术的写时间短,使用F-RAM显著降低了干预关键安全参数(CSP)更新可用的时间。而且,与浮栅技术不同,F-RAM的读和写电流特征得到平衡,使得较不易发生旁路攻击,同时还提供了短得多的擦除时间。
Description
相关申请
本发明要求2011年2月4日提交的第61/439696号美国临时申请的优先权,出于各种目的,该临时申请的全部内容通过引用并入本文,如同在本文中对其做了充分阐述。
版权声明/许可
本专利文献的一部分公开内容包括受版权保护的资料。版权所有人不反对任何人传真复制专利公开的专利文献,因为其出现在美国专利商标局的专利文件或专利资料中,但是,版权所有人保留所有版权。下列声明适用于下文描述的软件和数据(适当的情况下包括附图):2010瑞创国际公司(RamtronInternational Corporation)。
技术领域
本发明大体涉及铁电随机存取存储器(F-RAM)集成电路装置和包括F-RAM存储器阵列的装置的领域。更具体地,本发明涉及F-RAM认证存储装置和在主机系统和存储器之间提供安全的相互认证以获得对F-RAM用户存储器内容进行读/写访问的方法。
背景技术
目前可以使用各种类型的存储技术,包括利用易失性动态存储单元架构实现的动态随机存取存储器(DRAM)装置,通常每一单元包括单独的晶体管和电容器。它们“易失性”是因为存储内容在断电时丢失,它们“动态”是因为它们必须不断地更新以保持单元电容器中的电荷。
另一方面,利用易失性静态存储单元架构设计静态随机存取存储器(SRAM)装置。它们被看作是“静态”的,这是因为存储单元的内容不需要更新并且只要向所述装置供电则存储内容可以恒常保持。SRAM的单独的存储单元一般包括简单的、基于双稳态晶体管的锁存器,该锁存器利用四个、六个或更多的晶体管且根据写入它的数据的状态而被置位或复位。SRAM提供比DRAM小得多的读访问时间和写访问时间。
除了DRAM存储器和SRAM存储器之外,目前还使用各种类型的非易失性存储装置,通过非易失性存储装置,数据可以在不持续供电的情况下保持。例如,非易失性存储装置包括浮栅器件,比如可擦可编程只读存储器(“EPROM”)装置,包括电可擦除(“EEPROM”)装置和闪存。虽然提供非易失性数据存储,但它们相对长的访问时间(尤其是它们非常长的“写”时间)使它们在用在某些应用中具有明显的缺点。
相比之下,铁电随机存取存储器(F-RAM)装置(比如从作为为本发明的受让方的瑞创国际公司得到的铁电随机存取存储器(F-RAM)装置)通过使用铁电介电材料而提供了非易失性数据存储,所述铁电介电材料可以在一个方向或另一方向中被极化以存储二进制值。铁电效应实现了在不存在施加电场的情况下保持稳定的极化,这是因为内部偶极子排列在该介电材料中的钙铁矿型晶体内。在操作中,F-RAM装置通常表现出对称的读/写时间,且写时间比EPROM、EEPROM或闪存的写时间短。
关于认证存储装置,浮栅非易失性存储器的相对较长的写时间可以导致关键安全参数(CSP)更新较不安全,因为当CSP更新交托给非易失性存储器时,有多得多的时间来干预CSP更新。由于其写时间短,则利用F-RAM明显地缩短了可用来干预CSP更新的时间。
而且,浮栅非易失性存储器表现出非常差别性的写相对于读的电流分布,该分布能够用在旁路攻击中以试图损害CSP。相比之下,F-RAM的写相对于读的电流特征得到平衡。而且,与F-RAM装置的擦除周期相比,浮栅存储技术的擦除周期固有地长。
发明内容
本文公开的认证F-RAM存储装置仅允许在利用建立的认证过程将该装置正确地认证之后才访问存储器内容。所公开的认证过程利用存储在非易失性铁电存储器(F-RAM)中且被称为关键安全参数或CSP的安全加密密钥、密码和主机/用户ID。现有的认证协议通常需要比本文公开的技术多得多的处理功率或者对安全性有损害。相比之下,本发明的独特的装置和技术仅利用高级加密标准AES128加密模块以及随机数产生器和基本异或(XOR)函数,以实现处理量相对小的安全算法。
根据所公开的代表性实施方式,该认证过程可以允许两个角色,一个角色是在成功认证之后仅能访问存储器的标准用户,另一个是除了访问存储器还可改变或锁定CSP的管理员。本发明的装置可以配置成:在一定时间段期满后、已执行一定数目的访问之后或者上述两种情况的结合,要求再认证。主机还可通过控制寄存器而在任何时刻结束成功认证。该配置可以由管理员配置。
所公开的代表性实施方式中利用的认证过程利用了装置的以下能力:从真硬件随机数产生器(THRNG)产生其自身的真硬件衍生随机数。应当注意到,传统的硬件随机数产生器可能不产生充分高程度的随机性。因此如此产生的随机数与国家标准技术研究院(NIST)采用的AES128高级加密标准的实现组合并用在该装置的认证算法中。该算法确保在多次认证中相同的数据将不会被发送两次,即使利用相同的CSP时。
如果该装置的安全性受到损害,则主机系统或装置可以通过擦除存储器阵列的内容响应。这可以由相关的主机系统利用专用装置引脚或擦除命令进行。如果已尝试了过多的失败的认证,则该装置也可自己擦除存储器内容。装置擦除设计成尽可能快地执行,例如,对于2Mb阵列而言,在100ms内。在完成擦除过程之前,不允许访问该装置,即使该装置被断电,但擦除过程在进行。
本文公开的认证F-RAM存储装置还可包括内置自测试(BIST)电路以确保关键安全元件(例如,THRNG和AES128块)正确地运行。状态寄存器用来将BIST进程是已通过还是已失败传递给主机系统。BIST在装置通电时以及一定数目的认证尝试后自动执行。该BIST功能还可以由主机系统通过控制寄存器在任何时刻启动。
本文更具体地公开了用于以下应用的F-RAM存储装置:需要在主机系统和存储器之间相互认证以获得读/写访问F-RAM用户存储器的内容。在所公开的代表性实施方式中,提供了一种互相认证算法,该算法利用随机数产生器、AES128加密/解密和存储在F-RAM存储器中的关键安全参数(CSP)以及用以记录失败的认证尝试的数目的非易失性F-RAM计数器。
本文还提供了一种允许存储在F-RAM中的CSP安全更新的算法以及必要时可以快速地破坏已存储的存储器内容和CSP的F-RAM擦除过程。本文公开的真硬件随机数产生器用于认证和CSP更新协议,所有的安全算法在逻辑门中硬编码,与固件相反,这使得装置更难于损害。
本发明特别适用于任何存储密度(无论是利用并行存储接口还是串行存储接口)的独立的安全存储产品、需要安全存储数据的射频识别(RFID)产品或者需要数据安全性的任何其他产品。
本文具体公开了一种配置成连接到相关主机系统的认证存储装置。该存储装置包括含用户存储空间和配置存储空间的铁电存储器阵列。该存储装置还包括配置成在所述主机系统和所述铁电存储器阵列之间连接的控制逻辑,其中所述控制逻辑可操作以在主机系统和所述存储装置之间根据相互认证提供对该用户存储空间的访问。
本文还具体公开了一种用于在主机系统和存储装置之间提供认证的方法,所述方法包括提供一种含用户存储空间和配置存储空间的铁电存储器阵列。控制逻辑连接在所述主机系统和铁电存储器阵列之间,通过在主机系统和存储装置之间相互认证,提供对所述用户存储空间的访问。
附图说明
通过参照下文中结合附图描述的优选实施方式,本发明的上述特征和目的以及其他特征和目的和实现所述特征和目的的方法将更显而易见,且将更好地理解本发明本身,其中:
图1是根据本发明的F-RAM认证存储装置的代表性实施方式的功能性框图;
图2是根据本发明的代表性实施方式的TX1用户认证协议的代表性流程图;
图3是根据本发明的代表性实施方式的TX2用户认证协议的代表性流程图;
图4是根据本发明的代表性实施方式的TX3用户认证协议的代表性流程图;
图5是根据本发明的代表性实施方式的TX4用户认证协议的代表性流程图;
图6是根据本发明的代表性实施方式的用户认证协议通过/失败的代表性流程图;
图7是根据本发明的代表性实施方式的TX1管理员认证协议的代表性流程图;
图8是根据本发明的代表性实施方式的TX2管理员认证协议的代表性流程图;
图9是根据本发明的代表性实施方式的TX3管理员认证协议的代表性流程图;
图10是根据本发明的代表性实施方式的TX4管理员认证协议的代表性流程图;
图11是根据本发明的代表性实施方式的管理员认证协议通过/失败和错误处理的代表性流程图;
图12是根据本发明的代表性实施方式的TX1密钥更新算法的代表性流程图;
图13是根据本发明的代表性实施方式的TX2密钥更新算法的代表性流程图;
图14是根据本发明的代表性实施方式的TX3密钥更新算法的代表性流程图;
图15是根据本发明的代表性实施方式的TX4密钥更新算法的代表性流程图;
图16是根据本发明的代表性实施方式的采用密钥更新算法的代表性流程图;
图17是根据本发明的代表性实施方式的TX1 ID/密码更新算法的代表性流程图;
图18是根据本发明的代表性实施方式的TX2 ID/密码更新算法的代表性流程图;
图19是根据本发明的代表性实施方式的TX3 ID/密码更新算法的代表性流程图;
图20是根据本发明的代表性实施方式的采用ID/密码更新算法的代表性流程图;
图21是根据本发明的代表性实施方式的擦除算法的代表性流程图;
图22是可能用在本发明的代表性实施方式中的真硬件随机数产生器的代表性功能框图;
图23是可能用在本发明的代表性实施方式中的环形振荡器电路设计的代表性示意图;
图24是可能用在本发明的代表性实施方式中的可变频率环形振荡器电路设计的代表性示意图;以及
图25是可能用在本发明的代表性实施方式中的噪声耦合低频环形振荡器电路设计的代表性示意图。
具体实施方式
现在参照图1,示出了根据本发明的F-RAM认证存储装置100(下文也称为“装置”)的代表性实施方式的功能性框图。装置100起到实现与主机系统(未示出)相互认证的作用。
装置100在相关部分中包括F-RAM存储器阵列102、控制逻辑部分104、互补金属氧化物半导体(CMOS)寄存器图106、密码引擎108和门电路110。在示出的装置100的具体实现中,F-RAM存储器阵列102包括关键安全参数(CSP)&配置存储空间112以及一般用户存储空间114。
控制逻辑部分104包括向认证状态机122提供输入的存储器访问计数器116、认证定时器118和认证计数器120。认证状态机122双向地连接至存储器访问状态机124并将输入提供至CSP更新状态机126以及擦除状态机128。
认证状态机122和CSP更新状态机126双向地连接至密码引擎108,该密码引擎108包括AES128随机数发生器130、硬件随机数发生器132和内置自测试(BIST)块134,它们全部双向地连接在一起。CMOS寄存器图106接收RA输入(将在下文更充分地描述),并连接至装置100的地址总线、控制总线和数据总线,如图所示。CMOS寄存器图106除了双向地连接至BIST块134之外,还向CSP&配置存储空间112、认证状态机122、CSP更新状态机126和擦除状态机128提供输入。
认证状态机122、CSP更新状态机126和擦除状态机128都向存储器访问状态机124提供输入,该存储器访问状态机124接着双向地连接至CSP&配置存储空间112并向用户存储空间114提供输入。擦除状态机128接收擦除信号(ERS),擦除信号(ERS)也将在下文更充分地描述。存储器访问状态机124控制门电路110,门电路110将装置100的地址总线、控制总线和数据总线连接至F-RAM存储器阵列102的用户存储空间114。
在功能上,本发明的F-RAM认证存储装置100是实现主机系统和该装置之间互相认证的装置。在操作中,这意味着本文公开的认证算法能够使主机确认其正在与特定的装置100通信,且还能够使该装置确认其正与特定的主机进行通信。如果该主机能够成功地完成与该装置的认证过程,则该装置将许可访问其他信息。在该主机可以成功地向该装置证明其自身之前,对所述其他信息的访问被有效地阻止。如果按照本文公开的认证算法,则该装置也可向主机证明其自身,使得该主机得到这样的确保:正在与特定的装置100通信。
通过该主机和该装置之间的加密传输,本文公开的认证算法确保,同样的数据不会利用相同的关键安全参数(CSP)传输两次而连续认证,以防止恶意认证,所述关键安全参数比如为主机/存储器标识符、密码和加密密钥。
尽管本文描述并公开的装置100的示例性实现不特定地采用一旦该装置得到认证则允许已加密数据传输这样一模式(例如,为了使从F-RAM用户存储器读取的数据安全或者使写入该F-RAM用户存储器的数据安全),但所述算法也能够容易地调整以允许该特定的操作模式。对于该装置而言,其被视为足以不包括该操作模式。该主机可以将加密信息存储在F-RAM用户存储器中,但一旦认证过程成功地完成,则该信息将在没有任何额外加密的情况下发送。
关于本文公开的本发明的代表性实施方式,采用以下术语来描述其函数方面:
·XOR(A,B):A和B异或的按位异或逻辑运算。
·{A,B}:将A与B连接的串联运算。如果A是64位的数并且B是64位的数,则结果是128位的数,其中A是最高有效位,B是最低有效位。
·E(A,B):利用加密密钥B将明文数据A加密的加密运算。结果是128位长的密文。在随后的代表性描述中,A和B将都是128位的数且假定加密协议是AES128。
·D(A,B):利用加密密钥B将密文数据A解密的解密运算。结果是128位长的明文。在随后的代表性描述中,A和B将都是128位的数且假定解密协议是AES128。
用户认证的接口是由CMOS寄存器图106执行的。关于本发明的代表性实施方式,对CMOS寄存器图106的访问描述为利用由以下信号构成的标准并行存储器接口:独立的地址信号(A[16:0])、控制信号(芯片使能信号/CE1,/CE2;写使能信号/WE;输出使能信号/OE;以及分别为/UB和/LB的高位和低位)以及双向数据信号(DQ[15:0])。然而,本发明的原理能够容易地适用于包括串行接口(比如I2C和SPI)的任何其他存储器接口。
除了标准的存储器接口外,对CMOS寄存器图106的访问还通过将RA引脚置为高/1状态并将地址总线(引脚A[16:0])驱动至定址一被选寄存器的值来执行。RA引脚基本上是在用户存储器(RA=0)和寄存器图(RA=1)之间选择的高位地址位。CMOS寄存器图106中的寄存器包括128位认证数据缓冲器、管理员寄存器、控制寄存器、锁定寄存器、失败计数寄存器和状态寄存器。这些寄存器可能不包括标准F-RAM存储器的一部分且可能在CMOS中实现,尽管所述寄存器中的一些寄存器可以备份为非易失性配置设置。
表1是说明图1的CMOS寄存器图的代表性结构的图表。
表2是说明当前认证结束前的访问的代表性数目的设置的图表。
表3是说明当前认证结束时的代表性时间的设置的图表。
表4是说明代表性的关键安全参数(CSP)更新选择的图表。
表5是根据本发明的技术的失败的认证尝试的最大数目的代表性设置的图表。
现在另外地参照表1,示出了说明图1的CMOS寄存器图106的代表性结构的图表。在主机向F-RAM认证存储装置100认证其自身之前,其将仅读访问状态寄存器并读/写访问需要开始该认证过程的控制寄存器。
在地址0x00000到0x00007的认证数据缓冲器(表1)是128位的寄存器,该寄存器用来在认证和CSP更新过程期间接下来的部分中详细讨论。
管理员寄存器(表1)控制某些管理功能且仅可在该主机已在管理员角色中得到认证之后读/写访问。管理员寄存器控制以下功能:
[C1,C0]:控制在当前认证会话结束之前存储器访问的数目。针对该装置选择的值是任意的且能够设定为任何值。
现在另外地参照表2,示出了说明在当前认证结束之前代表性访问数目的设置的图表。
[T0,T1]:控制当前认证会话结束之前的时间量。针对该装置选择的值是任意的且可以设定成任何值。
现在另外地参照表3,示出了说明直到当前认证结束时的代表性时间的设置的图表。
[UP]:指示由[U3,U2,U1,U0]确定的所选择的CSP的CSP更新过程。
[U3,U2,U1,U0]:针对CSP更新过程选择哪一CSP将被更新。
现在另外地参照表4,示出了说明代表性关键安全参数(CSP)更新选择的图表。
[EP]:标志位,其确定擦除事件是否由将ERS引脚驱动为高引起。
[EA]:标志位,其确定擦除事件是否由超过[MF1,MF0]位所确定的失败认证尝试的最大数目引起。
[EC]:标志位,其确定擦除事件是否由主机发送一擦除命令引起。擦除命令是通过将控制寄存器中的[EE]位置位造成的。
[MF1,MF0]:控制所述装置将发起擦除事件之前的失败认证尝试的最大数目。针对该装置选择的值是任意的且可以设定为任何值。
现在另外地参照表5,示出了根据本发明的技术的关于失败认证尝试的最大数目的代表性设置的图表。
[RF]:将失败计数寄存器复位回0x0000的控制位。
控制寄存器(表1)具有关于随后的公开和附图描述的下列性能。只有当状态寄存器中的Ready位为高时,才允许访问该控制寄存器。要访问该控制寄存器,该主机不需要得到认证。
[TXACT]:控制位,其指示对于一认证或CSP更新过程而言,主机何时访问认证数据缓冲器。在主机从认证数据缓冲器读数据或者向认证数据缓冲器写数据之前,主机必须将TXACT位设置为高。当主机已完成所有的从认证数据缓冲器读取数据或者将数据写入认证数据缓冲器时,该主机必须接着将TXACT清除为低以允许算法继续。
[EB]:控制位,其使能内置自测试过程以验证密码引擎是否正确地操作。主机必须设定EB位以使能BIST过程。当BIST正在进行时,状态寄存器中的Ready位将为低。当BIST过程结束时,Ready位将返回高,且将由状态寄存器中的Err位指示通过/失败状态。
[ADM]:控制位,其选择该主机是想要在用户角色(ADM=0)中还是管理员角色(ADM=1)中进行认证。
[AE]:控制位,其用来结束当前的认证会话。
[EE]:控制位,其用来启动擦除事件。当完成时,该EC位将在管理员寄存器中置位。
只有在主机已在管理员角色中得到认证后,才可访问该锁定寄存器(表1)。一旦认证,各个锁定位可以被置位和/或清零以确定哪些CSP符合条件以改变。该寄存器中使用的所有位是非易失性配置位且被存储在F-RAM中。
[ML]:这是主锁定位。该位锁定其他锁定位的状态,使得它们不能改变。一旦该位被置位,则其不会被清零,除非擦除事件发生,在擦除事件发生的情况下,所有的锁定位被返回到未锁定/0状态。
[LAK]:将管理加密密钥锁定。
[LUK]:将用户加密密钥锁定。
[LAP]:锁定管理员密码PWD1A、PWD2A和PWDADM。
[LUP]:锁定用户密码PWD1U、PWD2U、PWDR和PWDW。
[LI]:锁定主机标识符HostID和存储器标识符MemID。
失败计数寄存器(表1)包括自失败计数寄存器上一次被清零开始计的失败认证尝试的数目。该值以二进制格式存储且可以计到高达65535个失败认证尝试。该寄存器存储在非易失性F-RAM存储器中且是只读的。其仅可通过将管理员寄存器中的RF位置位来清零。
状态寄存器(表1)包括指示装置的当前状态的只读标志位。该状态寄存器中包括下列位:
[UP Fail]:CSP更新过程失败。如果该位为高,则更新所选择的CSP的尝试失败且最初的CSP应当用来认证或执行另一CSP更新。该位是非易失性的且存储在F-RAM配置中,以防止在CSP更新期间发生断电。
[EIP]:用来指示擦除事件正在进行的状态位。
[Err]:用来指示密码引擎的BIST已失败的错误位。
[Fail]指示认证尝试失败的位。
[Ready]:该位用来指示在认证过程或CSP更新过程期间该装置已准备好从认证数据缓冲器接收数据或者向认证数据缓冲器发送数据。该位的用途将在认证过程和CSP更新过程的以下段中详细描述。
被许可访问的其它信息的类型取决于主机在何角色中认证其自身。向所述装置认证主机可以以两种不同的角色进行,即用户角色和管理员角色。用户角色用于主机以实现访问用户F-RAM存储空间。管理员角色用来改变CSP&配置F-RAM存储空间中存储的CSP。
当主机利用用户角色认证其自身时,该主机和该装置利用仅专用于用户认证的特定的一组密码和加密密钥。如果用户认证成功地完成,则主机将被许可读访问/写访问F-RAM用户存储空间。取决于某些用户认证选项,用户可以被认证为只读用户存储器访问、只写用户存储器访问、或者读和写用户存储器访问。该用户角色将不允许访问以改变任何CSP或锁定任何CSP。
失败的认证尝试将导致失败计数寄存器递增。用户认证算法将在下文更详细地予以描述。
当主机利用管理员角色认证其自身时,该主机和装置利用仅专用于管理员认证的特定的一组密码和加密密钥。如果管理员认证成功地完成,则主机将被许可读访问/写访问管理员寄存器和锁定寄存器、读访问失败计数寄存器、能够更新未被锁定的任何CSP。该管理员角色将不许可以任何方式访问该用户存储器。
管理员认证尝试失败将导致失败计数寄存器递增。也将在下文更详细地描述管理员认证算法。
对于该装置而言,两种类型的认证是可能的,即用户认证或管理员认证。下文将独立地描述每一种认证。
用户认证算法由认证状态机122控制,通信是通过CMOS寄存器图106联系的。用户认证算法可以分成四个独立的传输,即TX1、TX2、TX3和TX4。TX4传输之后,主机和装置都具有充足的信息以确定相互认证算法是通过还是失败。
为了成功地完成用户认证算法,主机和装置必须共享一定要保持保密的CSP。这包括下列CSP:
·唯一的64位主机标识符(HostID)
·唯一的64位装置标识符(MemID)
·128位的用户加密密钥(KeyU)
·两个64位的用户认证密码(PWD1U,PWD2U)
·下列存储器访问密码(Access Password)之一:
○如果期望读存储器访问,则64位的读存储器密码(PWDR)
○如果期望写存储器访问,则64位的写存储器密码(PWDW)
应当注意到,读存储器密码和写存储器密码可以被编程为相同的值,以同时获得读存储器访问和写存储器访问。
现在另外地参照图2,示出了根据本发明的代表性实施方式的TX1用户认证协议的代表性流程图。用户认证以TX1传输开始。
装置:
通过将状态寄存器中的Ready位设定为高,装置开始该用户认证过程,接着打开认证数据缓冲器以由主机写访问。
主机:
1.主机以产生128位随机数RNhost[127:0]开始。
2.接着,主机将RNhost[127:0]与{PWD1U[63:0],HostID[63:0]}的串联进行异或。
3.接着,主机利用标准AES128算法、以KeyU[127:0]加密密钥对以上结果进行加密。
4.接着,主机周期性地轮询装置的状态寄存器,直到Ready位被置位。
5.接着,主机必须将控制寄存器中的ADM位清零以在用户角色中进行认证。
6.接着,主机必须将控制寄存器中的TXACT位置位以向装置发信号表示其将接收TX1传输。
7.主机必须将来自第3步的加密结果写入128位的认证数据缓冲器,使得:
a.地址0x00000=E({PWD1U[63:0],HostID[63:0]},KeyU[127:0])[15:0]
b.地址0x00001=E({PWD1U[63:0],HostID[63:0]},KeyU[127:0])[31:16]
c.地址0x00002=E({PWD1U[63:0],HostID[63:0]},KeyU[127:0])[47:32]
d.地址0x00003=E({PWD1U[63:0],HostID[63:0]},KeyU[127:0])[63:48]
e.地址0x00004=E({PWD1U[63:0],HostID[63:0]},KeyU[127:0])[79:64]
f.地址0x00005=E({PWD1U[63:0],HostID[63:0]},KeyU[127:0])[95:80]
g.地址0x00006=E({PWD1U[63:0],HostID[63:0]},KeyU[127:0])[111:96]
h.地址0x00007=E({PWD1U[63:0],HostID[63:0]},KeyU[127:0])[127:112]
这是TX1传输。
8.在已将数据写入认证数据缓冲器后,主机必须将TXACT位清零。
现在另外地参照图3,示出了根据本发明的代表性实施方式的TX2用户认证协议的代表性流程图。
装置:
1.装置等待主机在先前描述的TX1过程中将TXACT位设置为高。设置为高时,启动认证看门狗定时器以确保用户认证过程在规定的时间量中完成。
2.接着,装置等待主机在先前描述的TX1过程中将TXACT位清零。清零时,状态寄存器中的Ready位被清零,指示装置正在处理TX1数据。装置还关闭用于写访问的认证数据缓冲器。
3.装置检查控制寄存器中的ADM位的状态。如果其为低,则装置继续用户认证过程。
4.装置从F-RAM配置存储空间获取KeyU[127:0]并将存储在认证数据缓冲器中的数据解密。
5.接着,装置从F-RAM配置存储空间获取CSP PWD1U[63:0]和CSPHostID[63:0]并计算{PWD1U[63:0],HostID[63:0]}与第4步中的解密结果的异或。
a.只有从F-RAM配置存储空间获取的CSP KeyU、PWD1U和HostID与主机使用的CSP值匹配,该运算的结果显示RNhost值。
b.如果所述的任一个CSP都不匹配,则计算出的结果将与主机产生的RNhost值不匹配。
6.接着,装置利用THRNG块产生其自身的128位随机数RNmem[127:0]。
7.接着,装置从F-RAM配置存储空间获取CSP PWD2U[63:0]和MemID[63:0]并将RNmem[127:0]和{PWD2U[63:0],MemID[63:0]}的串联进行异或。
8.接着,装置从F-RAM配置存储空间获取KeyU[127:0]加密密钥并利用该KeyU加密密钥对第7步的结果进行加密。
9.接着,装置将第8步的加密结果置入认证数据缓冲器,使得:
a.地址0x00000=E({PWD2U[63:0],MemID[63:0]},KeyU[127:0])[15:0]
b.地址0x00001=E({PWD2U[63:0],MemID[63:0]},KeyU[127:0])[31:16]
c.地址0x00002=E({PWD2U[63:0],MemID[63:0]},KeyU[127:0])[47:32]
d.地址0x00003=E({PWD2U[63:0],MemID[63:0]},KeyU[127:0])[63:48]
e.地址0x00004=E({PWD2U[63:0],MemID[63:0]},KeyU[127:0])[79:64]
f.地址0x00005=E({PWD2U[63:0],MemID[63:0]},KeyU[127:0])[95:80]
g.地址0x00006=E({PWD2U[63:0],MemID[63:0]},KeyU[127:0])[111:96]
h.地址0x00007=E({PWD2U[63:0],MemID[63:0]},KeyU[127:0])[127:112]
10.接着,装置将状态寄存器中的Ready位设置为1并打开用于读访问的认证数据缓冲器。
主机:
1.主机以轮询状态寄存器中的Ready位开始,直到结果为高。
2.接着,主机将控制寄存器中的TXACT位设置为高,以指示其将开始读取认证数据缓冲器的内容。
3.接着,主机读取认证数据缓冲器中存储的数据。
4.接着,主机将控制寄存器中的TXACT位清零为低,以指示其已完成读取认证数据缓冲器的内容。
现在另外地参照图4,示出了根据本发明的代表性实施方式的TX3用户认证协议的代表性流程图。
装置:
1.装置将主机产生的RNhost[127:0]随机数和装置产生的RNmem[127:0]随机数进行异或以产生128位的会话密钥SKEYmem[127:0]。
2.接着,装置等待控制寄存器中的TXACT位从低切换为高、接着从高切换为低,表示TX2传输已完成。
3.接着,装置打开用于写访问的认证数据缓冲器。
主机:
1.主机以利用KeyU[127:0]将来自TX2传输的数据解密开始。
2.接着,主机将解密结果与{PWD2U[63:0],MemID[63:0]}的串联进行异或以得到由装置产生的RNmem[127:0]。
a.只有装置使用的CSP KeyU、PWD2U和MemID与主机使用的CSP值匹配,该运算的结果显示RNmem值。
b.如果所述的任一个CSP都不匹配,则计算出的结果将与装置产生的RNmem值不匹配。
3.主机将来自第2步的RNmem[127:0]结果与其针对TX1传输产生的RNhost[127:0]进行异或以产生会话密钥SKEYhost[127:0]。
4.接着,主机利用第3步中计算出的会话密钥SKEYhost[127:0]对{HostID[63:0],Access Password[63:0]}的串联进行加密。
a.如果主机要求用户存储器读访问,则访问密码Access Password可以是PWDR[63:0]。
b.如果主要要求用户存储器写访问,则访问密码Access Password可以是PWDW[63:0]。
c.PWDR密码和PWDW密码可以设定为相同的值,以既允许进行用户存储器读访问又允许进行用户存储器写访问。这必须利用本文中下面描述的CSP更新算法进行。
5.接着,主机将控制寄存器中的TXACT位设置为1以启动TX3传输。
6.该加密操作的结果载入认证数据缓冲器中,使得:
a.地址0x00000=E({HostID[63:0],PWDR/W[63:0]},SKEYhost[127:0])[15:0]
b.地址0x00001=E({HostID[63:0],PWDR/W[63:0]},SKEYhost[127:0])[31:16]
c.地址0x00002=E({HostID[63:0],PWDR/W[63:0]},SKEYhost[127:0])[47:32]
d.地址0x00003=E({HostID[63:0],PWDR/W[63:0]},SKEYhost[127:0])[63:48]
e.地址0x00004=E({HostID[63:0],PWDR/W[63:0]},SKEYhost[127:0])[79:64]
f.地址0x00005=E({HostID[63:0],PWDR/W[63:0]},SKEYhost[127:0])[95:80]
g.地址0x00006=E({HostID[63:0],PWDR/W[63:0]},SKEYhost[127:0])[111:96]
h.地址0x00007=E({HostID[63:0],PWDR/W[63:0]},SKEYhost[127:0])[127:112]
这是TX3传输。
7.接着,主机将控制寄存器中的TXACT位清为零以完成TX3传输。
现在另外地参照图5,示出了根据本发明的代表性实施方式的TX4用户认证协议的代表性流程图。
装置:
1.装置等待控制寄存器中的TXACT位从低切换为高、接着从高切换为低,表示TX3传输已完成。
2.接着,装置关闭用于写访问的认证数据缓冲器。
3.接着,装置利用其会话密钥SKEYmem[127:0]对认证数据缓冲器中的TX3数据解密。
4.接着,装置从F-RAM配置存储空间获取MemID[63:0]CSP并利用会话密钥SKEYmem[127:0]对{MemID[63:0],Access Password[63:0]}进行加密。
5.装置利用以下格式将来自第4步的加密结果载入认证数据缓冲器:
a.地址0x00000=E({MemID[63:0],PWDR/W[63:0]},SKEYmem[127:0])[15:0]
b.地址0x00001=E({MemID[63:0],PWDR/W[63:0]},SKEYmem[127:0])[31:16]
c.地址0x00002=E({MemID[63:0],PWDR/W[63:0]},SKEYmem[127:0])[47:32]
d.地址0x00003=E({MemID[63:0],PWDR/W[63:0]},SKEYmem[127:0])[63:48]
e.地址0x00004=E({MemID[63:0],PWDR/W[63:0]},SKEYmem[127:0])[79:64]
f.地址0x00005=E({MemID[63:0],PWDR/W[63:0]},SKEYmem[127:0])[95:80]
g.地址0x00006=E({MemID[63:0],PWDR/W[63:0]},SKEYmem[127:0])[111:96]
h.地址0x00007=E({MemID[63:0],PWDR/W[63:0]},SKEYmem[127:0])[127:112]
6.接着,装置将状态寄存器中的Ready位设置为高。装置还打开用于读访问的认证数据缓冲器。
主机:
1.主机轮询状态寄存器中的Ready位,直到Ready位被读为1,这指示TX4数据已准备传输。
2.主机将控制寄存器中的TXACT位设置为高,指示主机准备启动TX4数据传输。
3.主机从认证数据缓冲器读取TX4数据。
4.接着,主机将控制寄存器中的TXACT位清零,指示主机已完成TX4数据传输。
现在另外地参照图6,示出了根据本发明的代表性实施方式的用户认证协议通过/失败的代表性流程图。
装置:
1.装置等待控制寄存器中的TXACT位从低切换为高、接着从高切换为低,指示TX4传输已完成。
2.接着,装置将Ready位清零并锁定用于读访问的认证数据缓冲器。
3.认证看门狗定时器禁用,因为所有的认证数据传输已完成。
4.接着,装置验证由主机发送并利用会话密钥SKEYmem从TX3传输解密出的HostID是否与存储在F-RAM配置存储空间中的HostID的值匹配。
a.如果匹配,则装置移入下面的步骤5。
b.如果不匹配,则装置移入错误处理过程。
5.接着,装置验证由主机发送且利用会话密钥SKEYmem从TX3传输解密出的访问密码是否与F-RAM配置存储空间中存储的PWDR[63:0]或PWDW[63:0]中的值的至少一个值匹配。
a.如果匹配,则装置移入下面的步骤6。
b.如果不匹配,则装置移入错误处理过程。
6.如果装置确认HostID以及访问密码都匹配,则主机已成功地被装置认证。
a.如果访问密码仅匹配PWDR访问密码,则仅许可主机读访问用户存储空间。
b.如果访问密码仅与PWDW访问密码匹配,则仅许可主机写访问用户存储空间。
c.如果访问密码与PWDR访问密码和PWDW访问密码二者匹配,则许可主机读访问和写访问用户存储空间。
7.在成功认证之后,针对认证超时、存储器访问的最大数目以及结束认证命令,装置继续监测。如果这些条件中的任一条件为真,则当前认证会话结束并将会话密钥清零。
主机:
1.主机利用SKEYHost[127:0]会话密钥将TX4传输解密以取回MemID[63:0]和Access Password[63:0]。
2.接着,主机必须将解密出的MemID和访问密码与在TX3传输中发送至装置的值进行比较。
a.如果MemID和访问密码与TX3传输中主机发送的值匹配,则装置已成功地得到认证。
b.如果MemID和访问密码不与TX3传输中主机发送的值匹配,则装置未成功地得到认证。接着,主机可以采取适当的措施,比如尝试再次认证、擦除该装置等。
3.接着,主机必须轮询状态寄存器的Ready位以等待主机对装置的认证结束。当Ready位为高时,装置就绪。
4.接着,主机必须检查状态寄存器的Fail位的状态以确定该主机对装置的认证是否已成功地完成。
a.如果Fail位为低/0,则主机对装置的认证成功地完成,且许可基于TX3传输中主机发送的访问密码来进行存储器访问。
b.如果fail位为高/1,则主机对装置的认证失败且不许可存储器访问。
装置:
1.如果发生以下任一情况,则装置将进入错误处理过程:
a.装置确定由主机发送且利用会话密钥SKEYmem从TX3传输解密出的HostID不与F-RAM配置存储空间中存储的HostID的值匹配。
b.装置确定由主机发送且利用会话密钥SKEYmem从TX3传输解密出的访问密码不与存储在F-RAM配置存储空间中的PWDW访问密码或PWDR访问密码中的至少一个密码的值匹配。
c.认证看门狗定时器超出完成用户认证过程所允许的最大时间。
2.接着,装置将认证失败计数器的值递增。
3.接着,装置将状态寄存器中的认证Fail位置位。
4.接着,装置查看认证失败计数器是否超出管理员寄存器的MF[1:0]位中存储的值所确定的值。
a.如果未超过该值,则装置返回TX1过程的开始并将等待新的认证过程开始。
b.如果超过该值,则装置将进入擦除过程以擦除用户存储空间和配置存储空间。
管理员认证算法由认证状态机122控制,通信是通过CMOS寄存器图106联系的。管理员认证算法可以分成四个独立的传输,即TX1、TX2、TX3和TX4。在TX4传输之后,主机和装置都具有足够的信息来确定相互认证算法已通过还是已失败。
为了成功地完成管理员认证算法,主机和装置都必须共享一定要保持保密的CSP。这包括以下的CSP:
·唯一的64位主机标识符(HostID)
·唯一的64位装置标识符(MemID)
·128位的管理员加密密钥(KeyA)
·两个64位的管理员认证密码(PWD1A,PWD2A)
·唯一的64位的管理员访问密码(PWDADM)
管理员认证以TX1传输开始。
现在另外地参考图7,示出了根据本发明的代表性实施方式的TX1管理员认证协议的代表性流程图。
装置:
通过将状态寄存器中的Ready位设定为高,装置开始该管理员认证过程,接着装置打开认证数据缓冲器以由主机写访问。
主机:
1.主机以产生128位随机数RNhost[127:0]开始。
2.接着,主机将RNhost[127:0]与{PWD1A[63:0],HostID[63:0]}的串联进行异或。
3.接着,主机利用标准AES128算法、以KeyA[127:0]加密密钥对以上结果进行加密。
4.接着,主机周期性地轮询装置的状态寄存器,直到Ready位被置位。
5.接着,主机必须将控制寄存器中的ADM置位以在管理员角色中进行认证。
6.接着,主机必须将控制寄存器中的TXACT位置位以向装置发出信号其将接收TX1传输。
7.主机必须将来自第3步的加密结果写入128位认证数据缓冲器,使得:
a.地址0x00000=E({PWD1A[63:0],HostID[63:0]},KeyA[127:0])[15:0]
b.地址0x00001=E({PWD1A[63:0],HostID[63:0]},KeyA[127:0])[31:16]
c.地址0x00002=E({PWD1A[63:0],HostID[63:0]},KeyA[127:0])[47:32]
d.地址0x00003=E({PWD1A[63:0],HostID[63:0]},KeyA[127:0])[63:48]
e.地址0x00004=E({PWD1A[63:0],HostID[63:0]},KeyA[127:0])[79:64]
f.地址0x00005=E({PWD1A[63:0],HostID[63:0]},KeyA[127:0])[95:80]
g.地址0x00006=E({PWD1A[63:0],HostID[63:0]},KeyA[127:0])[111:96]
h.地址0x00007=E({PWD1A[63:0],HostID[63:0]},KeyA[127:0])[127:112]
这是TX1传输。
8.接着,在已将数据写入认证数据缓冲器后,主机必须将TXACT位清零。
现在另外地参照图8,示出了根据本发明的代表性实施方式的TX2管理员认证协议的代表性流程图。
装置:
1.装置等待主机在先前描述的TX1过程中将TXACT位设置为高。设置为高时,启动认证看门狗定时器以确保管理员认证过程在规定的时间量中完成。
2.接着,装置等待主机在先前描述的TX1过程中将TXACT位清零。清零时,状态寄存器中的Ready位被清零,指示装置正在处理TX1数据。装置还关闭用于写访问的认证数据缓冲器。
3.装置检查控制寄存器中的ADM位的状态。如果其为高,则装置继续管理员认证过程。
4.装置从F-RAM配置存储空间获取KeyA[127:0]的值并将存储在认证数据缓冲器中的数据解密。
5.接着,装置从F-RAM配置存储空间获取CSP PWD1A[63:0]和HostID[63:0]并计算{PWD1A[63:0],HostID[63:0]}与第4步中的解密结果的异或。
a.只有从F-RAM配置存储空间获取的CSP KeyA、PWD1A和HostID与主机使用的CSP的值匹配,该运算的结果显示RNhost值。
b.如果所述的任一个CSP不匹配,则计算出的结果将与主机产生的RNhost的值不匹配。
6.接着,装置利用THRNG块产生其自身的128位随机数RNmem[127:0]。
7.接着,装置从F-RAM配置存储空间获取CSP PWD2A[63:0]和MemID[63:0]并将RNmem[127:0]和{PWD2A[63:0],MemID[63:0]}的串联进行异或。
8.接着,装置从F-RAM配置存储空间获取KeyA[127:0]加密密钥并利用该KeyA加密密钥对第7步的结果进行加密。
9.接着,装置将第8步的加密结果置入认证数据缓冲器,使得:
a.地址0x00000=E({PWD2A[63:0],MemID[63:0]},KeyA[127:0])[15:0]
b.地址0x00001=E({PWD2A[63:0],MemID[63:0]},KeyA[127:0])[31:16]
c.地址0x00002=E({PWD2A[63:0],MemID[63:0]},KeyA[127:0])[47:32]
d.地址0x00003=E({PWD2A[63:0],MemID[63:0]},KeyA[127:0])[63:48]
e.地址0x00004=E({PWD2A[63:0],MemID[63:0]},KeyA[127:0])[79:64]
f.地址0x00005=E({PWD2A[63:0],MemID[63:0]},KeyA[127:0])[95:80]
g.地址0x00006=E({PWD2A[63:0],MemID[63:0]},KeyA[127:0])[111:96]
h.地址0x00007=E({PWD2A[63:0],MemID[63:0]},KeyA[127:0])[127:112]
10.接着,装置将状态寄存器中的Ready位设置为1并打开用于读访问的认证数据缓冲器。
主机:
1.主机以轮询状态寄存器中的Ready位开始,直到结果为高为止。
2.接着,主机将控制寄存器中的TXACT位设置为高,以指示其将开始读取认证数据缓冲器的内容。
3.接着,主机读取认证数据缓冲器中存储的数据。
4.接着,主机将控制寄存器中的TXACT位清零为低,以指示其已完成读取认证数据缓冲器的内容。
现在另外地参照图9,示出了根据本发明的代表性实施方式的TX3管理员认证协议的代表性流程图。
装置:
1.装置将主机产生的RNhost[127:0]随机数和装置产生的RNmem[127:0]随机数进行异或以产生128位会话密钥SKEYmem[127:0]。
2.接着,装置等待控制寄存器中的TXACT位从低切换为高、接着从高切换为低,表示TX2传输已完成。
3.接着,装置打开用于写访问的认证数据缓冲器。
主机:
1.主机以利用KeyA[127:0]将来自TX2传输的数据解密开始。
2.接着,主机将解密结果与{PWD2A[63:0],MemID[63:0]}的串联进行异或以得到由装置产生的RNmem[127:0]。
a.只有装置使用的CSP KeyA、PWD2A和MemID与主机使用的CSP值匹配,该运算的结果显示RNmem值。
b.如果所述的任一个CSP不匹配,则计算出的结果将与装置产生的RNmem值不匹配。
3.主机将来自第2步的RNmem[127:0]结果与其针对TX1传输产生的RNhost[127:0]进行异或以产生会话密钥SKEYhost[127:0]。
4.接着,主机利用第3步中计算出的会话密钥SKEYhost[127:0]对{HostID[63:0],PWDADM[63:0]}的串联进行加密。
5.接着,主机将控制寄存器中的TXACT位设置为1以启动TX3传输。
6.该加密操作的结果载入认证数据缓冲器中,使得:
a.地址0x00000=E({HostID[63:0],PWDADM[63:0]},SKEYhost[127:0])[15:0]
b.地址0x00001=E({HostID[63:0],PWDADM[63:0]},SKEYhost[127:0])[31:16]
c.地址0x00002=E({HostID[63:0],PWDADM[63:0]},SKEYhost[127:0])[47:32]
d.地址0x00003=E({HostID[63:0],PWDADM[63:0]},SKEYhost[127:0])[63:48]
e.地址0x00004=E({HostID[63:0],PWDADM[63:0]},SKEYhost[127:0])[79:64]
f.地址0x00005=E({HostID[63:0],PWDADM[63:0]},SKEYhost[127:0])[95:80]
g.地址0x00006=E({HostID[63:0],PWDADM[63:0]},SKEYhost[127:0])[111:96]
h.地址0x00007=E({HostID[63:0],PWDADM[63:0]},SKEYhost[127:0])[127:112]
7.接着,主机将控制寄存器中的TXACT位清为零以完成TX3传输。
现在另外地参照图10,示出了根据本发明的代表性实施方式的TX4管理员认证协议的代表性流程图。
装置:
1.装置等待控制寄存器中的TXACT位从低切换为高、接着从高切换为低,表示TX3传输已完成。
2.接着,装置关闭用于写访问的认证数据缓冲器。
3.接着,装置利用其会话密钥SKEYmem[127:0]对认证数据缓冲器中的TX3数据解密。
4.接着,装置从F-RAM配置存储空间获取MemID[63:0]CSP并利用会话密钥SKEYmem[63:0]对{MemID[63:0],PWDADM[63:0]}进行加密。
5.装置利用以下格式将来自第4步的加密结果载入认证数据缓冲器:
a.地址0x00000=E({MemID[63:0],PWDADM[63:0]},SKEYmem[127:0])[15:0]
b.地址0x00001=E({MemID[63:0],PWDADM[63:0]},SKEYmem[127:0])[31:16]
c.地址0x00002=E({MemID[63:0],PWDADM[63:0]},SKEYmem[127:0])[47:32]
d.地址0x00003=E({MemID[63:0],PWDADM[63:0]},SKEYmem[127:0])[63:48]
e.地址0x00004=E({MemID[63:0],PWDADM[63:0]},SKEYmem[127:0])[79:64]
f.地址0x00005=E({MemID[63:0],PWDADM[63:0]},SKEYmem[127:0])[95:80]
g.地址0x00006=E({MemID[63:0],PWDADM[63:0]},SKEYmem[127:0])[111:96]
h.地址0x00007=E({MemID[63:0],PWDADM[63:0]},SKEYmem[127:0])[127:112]
6.接着,装置将状态寄存器中的Ready位设置为高。装置还打开用于读访问的认证数据缓冲器。
主机:
1.主机轮询状态寄存器中的Ready位,直到Ready位被读为1,这指示TX4数据已准备传输。
2.主机将控制寄存器中的TXACT位设置为高,指示主机准备开始TX4数据传输。
3.主机从认证数据缓冲器读取TX4数据。
4.接着,主机将控制寄存器中的TXACT位清零,指示主机已完成TX4数据传输。
现在另外地参照图11,示出了根据本发明的代表性实施方式的管理员认证协议通过/失败以及错误处理的代表性流程图。
装置:
1.装置等待控制寄存器中的TXACT位从低切换为高、接着从高切换为低,指示TX4传输已完成。
2.接着,装置将Ready位清零并锁定用于读访问的认证数据缓冲器。
3.由于所有的认证数据传输已完成,认证看门狗定时器现在禁用。
4.接着,装置验证由主机发送并利用会话密钥SKEYmem从TX3传输解密出的HostID是否与存储在F-RAM配置存储空间中的HostID的值匹配。
a.如果匹配,则装置移入下面的步骤5。
b.如果不匹配,则装置移入错误处理过程。
5.接着,装置验证由主机发送且利用会话密钥SKEYmem从TX3传输解密出的PWDADM是否与F-RAM配置存储空间中存储的PWDADM[63:0]匹配。
a.如果匹配,则装置移入下面的步骤6。
b.如果不匹配,则装置移入错误处理过程。
6.如果装置确认HostID以及PWDADM都匹配,则主机已成功地被装置认证。
7.在成功认证之后,针对认证超时、装置访问的最大数目以及结束认证命令,装置继续监测。如果这些条件中的任一条件为真,则当前认证会话结束并将会话密钥清零。
主机:
1.主机利用SKEYHost[127:0]会话密钥将TX4传输解密以取回MemID[63:0]和PWDADM[63:0]。
2.接着,主机必须将解密的MemID和PWDADM与在TX3传输中发送至装置的值进行比较。
a.如果MemID和PWDADM与TX3传输中主机发送的值匹配,则装置已成功地得到认证。
b.如果MemID和PWDADM不与TX3传输中主机发送的值匹配,则装置未成功地得到认证。接着,主机可以采取适当的措施,比如尝试再次认证、擦除该装置等。
3.接着,主机必须轮询状态寄存器的Ready位以等待主机对装置的认证结束。当Ready位为高时,装置就绪。
4.接着,主机必须检查状态寄存器的Fail位的状态以确定该主机对装置的认证是否已成功地完成。
a.如果Fail位为低/0,则主机对装置的认证成功地完成,且许可存储器访问。
b.如果fail位为高/1,则主机对装置的认证失败且不许可存储器访问。
装置:
1.如果发生以下任一情况,则装置将进入错误处理过程:
a.装置确定由主机发送且利用会话密钥SKEYmem从TX3传输解密出的HostID不与F-RAM配置存储空间中存储的HostID的值匹配。
b.装置确定由主机发送且利用会话密钥SKEYmem从TX3传输解密出的PWDADM不与存储在F-RAM配置存储空间中的PWDADM的值匹配。
c.认证看门狗定时器超出完成管理员认证过程所允许的最大时间。
2.接着,装置将认证失败计数器的值递增。
3.接着,装置将状态寄存器中的认证Fail位置位。
4.接着,装置查看认证失败计数器是否超出管理员寄存器的MF[1:0]位中存储的值所确定的值。
a.如果未超过该值,则装置返回TX1过程的开始并等待新的认证过程开始。
b.如果超过该值,则装置将进入擦除过程以擦除用户存储空间和配置存储空间。
CSP更新算法用来以安全的方式更新关键安全参数,而不使待更新的当前CSP或新CSP被窃听者看到。可以更新的CSP显示在前面的表4中。在任何CSP可以更新之前,主机必须已成功地在管理员角色中向存储器认证其自身并保持当前的会话密钥。只有未被锁定的CSP可以更新。
CSP更新算法可以根据待更新的CSP而被分成两种不同类型的更新,因为不同的CSP具有不同的位元长度。密钥CSP(KeyA,KeyU)是128位的CSP且需要与都为64位CSP的其他CSP(HostID、MemID和密码)略微不同的CSP更新过程。将在下文描述两种过程。
密钥更新算法由CSP更新状态机126控制且其通信是通过CMOS寄存器图106联系的。密钥更新算法可以分成四个独立的传输,即TX1、TX2、TX3和TX4。在TX4传输之后,主机和装置都具有充足的信息来确定密钥更新算法已通过还是失败。
为了成功地完成密钥更新算法,主机和装置都必须共享一定要保持保密的CSP。这包括以下CSP:
·唯一的128位会话密钥,其是在管理员认证过程期间产生的。
·待更新的128位的旧密钥(KeyA或KeyU)。
待更新的密钥一定不处于锁定状态。密钥的状态是通过读寄存器0x0000A确定的。
现在另外地参照图12,示出了根据本发明的代表性实施方式的TX1密钥更新算法的代表性流程图。密钥更新算法以TX1传输开始。
装置:
1.当Ready位为高时,装置准备好密钥更新过程。
2.装置检查管理员寄存器中的UP位是否被置位。如果是,则装置打开用于写访问的认证数据缓冲器。
主机:
1.主机以利用管理员认证过程期间产生的会话密钥(SessionKey)来对新密钥(NewKey)加密。
2.接着,主机选择哪个CSP待更新并通过写入管理员寄存器来将UP位置位。
3.接着,主机轮询该状态寄存器以验证Ready位为高。
4.接着,主机必须将控制寄存器中的TXACT位置位以启动TX1传输。
5.接着,主机必须将来自第1步的加密结果写入128位认证数据缓冲器中,使得
a.地址0x00000=E(NewKey[127:0],SessionKey[127:0])[15:0]
b.地址0x00001=E(NewKey[127:0],SessionKey[127:0])[31:16]
c.地址0x00002=E(NewKey[127:0],SessionKey[127:0])[47:32]
d.地址0x00003=E(NewKey[127:0],SessionKey[127:0])[63:48]
e.地址0x00004=E(NewKey[127:0],SessionKey[127:0])[79:64]
f.地址0x00005=E(NewKey[127:0],SessionKey[127:0])[95:80]
g.地址0x00006=E(NewKey[127:0],SessionKey[127:0])[111:96]
h.地址0x00007=E(NewKey[127:0],SessionKey[127:0])[127:112]
这是TX1数据传输。
6.接着,在数据已写入认证数据缓冲器后,主机必须将TXACT位清零。
现在另外地参照图13,示出了根据本发明的代表性实施方式的TX2密钥更新算法的代表性流程图。
装置:
1.装置等待TXACT位被置位,TXACT位被置位指示密钥更新过程已启动。
2.接着,装置激活认证看门狗定时器以确保密钥更新过程在有限的时间量中完成。
3.接着,装置等待TXACT位被清零,TXACT位被清零指示TX1传输已完成。
4.装置将Ready位清零并关闭用于读/写访问的认证数据缓冲器。
5.接着,装置查看哪个CSP待更新。
a.如果管理员寄存器中的U[3:0]选择的CSP为指示待更新的密钥的0xA或0xB,则密钥更新算法接着继续。
b.如果选择的CSP不等于0xA或0xB,则启动ID/密码更新过程。
6.接着,装置利用管理员认证过程中产生的会话密钥将认证数据缓冲器中的TX1传输解密。
7.接着,装置将解密的新密钥存储在非易失性存储器中,但该装置仍未指派使用该新密钥,直到该过程成功地完成为止。
8.接着,主机将Ready位置位并打开用于写访问的认证数据缓冲器。
主机:
1.主机通过产生新的128位随机数RNhost开始。
2.接着,主机利用管理员认证过程产生的会话密钥将RNhost加密。
3.接着,主机轮询状态寄存器并等待Ready位被设置为高。
4.接着,主机将控制寄存器中的TXACT位置位以启动TX2传输。
5.接着,主机必须将来自第2步的加密结果写入128位认证数据缓冲器中,使得:
a.地址0x00000=E(RNhost[127:0],SessionKey[127:0])[15:0]
b.地址0x00001=E(RNhost[127:0],SessionKey[127:0])[31:16]
c.地址0x00002=E(RNhost[127:0],SessionKey[127:0])[47:32]
d.地址0x00003=E(RNhost[127:0],SessionKey[127:0])[63:48]
e.地址0x00004=E(RNhost[127:0],SessionKey[127:0])[79:64]
f.地址0x00005=E(RNhost[127:0],SessionKey[127:0])[95:80]
g.地址0x00006=E(RNhost[127:0],SessionKey[127:0])[111:96]
h.地址0x00007=E(RNhost[127:0],SessionKey[127:0])[127:112]
这是TX2数据传输。
6.接着,在数据被写入认证数据缓冲器中后,主机必须将TXACT位清零,以指示TX2传输完成。
现在另外地参照图14,示出了根据本发明的代表性实施方式的TX3密钥更新算法的代表性流程图。
装置:
1.装置等待TXACT位被置位,TXACT位被置位指示已启动TX2传输。
2.接着,装置等待TXACT位被清零,TXACT位被清零指示TX2传输已完成。
3.接着,装置将Ready位清零并关闭用于读/写访问的认证数据缓冲器。
4.接着,装置利用从管理员认证过程产生的会话密钥将认证数据缓冲器中的TX2传输数据解密以恢复RNhost。
5.接着,装置将从第4步恢复的RNhost加密,利用从TX1传输中解密出的新密钥对该RNhost加密,并将该结果载入认证数据缓冲器中,使得:
a.地址0x00000=E(RNhost[127:0],NewKey[127:0])[15:0]
b.地址0x00001=E(RNhost[127:0],NewKey[127:0])[31:16]
c.地址0x00002=E(RNhost[127:0],NewKey[127:0])[47:32]
d.地址0x00003=E(RNhost[127:0],NewKey[127:0])[63:48]
e.地址0x00004=E(RNhost[127:0],NewKey[127:0])[79:64]
f.地址0x00005=E(RNhost[127:0],NewKey[127:0])[95:80]
g.地址0x00006=E(RNhost[127:0],NewKey[127:0])[111:96]
h.地址0x00007=E(RNhost[127:0],NewKey[127:0])[127:112]
6.接着,装置将Ready位置位并打开用于读访问的认证数据缓冲器,指示TX3数据已准备传输至主机。
主机:
1.主机以轮询状态寄存器中的Ready位是否为高开始,Ready位为高指示TX3数据已准备好由主机读取。
2.接着,主机将控制寄存器中的TXACT位置位以启动TX3数据传输。
3.接着,主机必须从认证数据缓冲器读取加密的结果。这是TX3数据传输。
4.接着,在数据已写入认证数据缓冲器中后,主机必须将TXACT位清零以指示TX3传输已完成。
现在另外地参照图15,示出了根据本发明的代表性实施方式的TX4密钥更新算法的代表性流程图。
装置:
1.装置等待TXACT位被置位,TXACT位被置位指示已启动密钥更新TX3传输。
2.接着,装置等待TXACT位被清零,TXACT位被清零指示TX3传输已完成。
3.接着装置清零并打开用于写访问的认证数据缓冲器并等待TX4传输。
主机:
1.主机以利用新密钥来将TX3传输解密开始,用该密钥恢复出RNhost随机数。
2.接着,主机验证从TX3解密出的RNhost与在TX1传输中发送至装置的最初的RNhost值是否匹配。
a.如果匹配,则主机确认装置已接收到正确的新密钥。
b.如果不匹配,则主机未接收到正确的新密钥或者在所述传输的一个或多个传输中有错误。主机应当通过等待并等到认证看门狗定时器超时来中止该过程,或者其可以继续该过程并在TX4传输中发送不正确的数据,迫使装置中止采用该新密钥。
3.现在为了允许装置采用新密钥,主机将RNhost与待更新的密钥(CurrentKey)的当前值进行异或,并利用该新密钥对该异或的结果加密。
4.接着,主机将控制寄存器中的TXACT位置位以启动TX4传输。
5.接着,主机必须将来自第3步的加密结果写入128位认证数据缓冲器中,使得:
a.地址0x00000=E(XOR(RNhost[127:0],Current Key[127:0]),NewKey[127:0])[15:0]
b.地址0x00001=E(XOR(RNhost[127:0],Current Key[127:0]),NewKey[127:0])[31:16]
c.地址0x00002=E(XOR(RNhost[127:0],Current Key[127:0]),NewKey[127:0])[47:32]
d.地址0x00003=E(XOR(RNhost[127:0],Current Key[127:0]),NewKey[127:0])[63:48]
e.地址0x00004=E(XOR(RNhost[127:0],Current Key[127:0]),NewKey[127:0])[79:64]
f.地址0x00005=E(XOR(RNhost[127:0],Current Key[127:0]),NewKey[127:0])[95:80]
g.地址0x00006=E(XOR(RNhost[127:0],Current Key[127:0]),NewKey[127:0])[111:96]
h.地址0x00007=E(XOR(RNhost[127:0],Current Key[127:0]),NewKey[127:0])[127:112]
6.接着,在数据已写入认证数据缓冲器后,主机必须将TXACT位清零以指示TX4传输完成。
现在另外地参照图16,示出了根据本发明的代表性实施方式的采用密钥更新算法的代表性流程图。
装置:
1.装置等待TXACT位被置位,TXACT被置位指示已启动密钥更新TX4传输。
2.接着,装置等待TXACT位被清零,TXACT位被清零指示TX4传输已完成。
3.接着,装置将Ready位设置为低并利用从TX1解密出并且被存储的新密钥来将认证数据缓冲器中的TX4传输解密。
4.接着,装置将解密后的结果与待替换的当前密钥(Current Key)进行异或以取出RNhost。
5.接着,装置查看来自TX2传输的RNhost是否与来自步骤第4步中的提取值的RNhost匹配。
a.如果来自TX2的RNhost与来自TX4的RNhost匹配,则装置确认主机想要采用该新密钥,且新密钥采用在非易失性存储器中。摒弃先前的密钥。
b.如果来自TX2的RNhost与来自TX4的RNhost不匹配,则装置确认主机不想要采用该新密钥且摒弃新密钥。当前密钥被保持。状态寄存器中的Fail位被置位。
6.将Ready位置位并终止当前的管理员认证会话。
主机:
1.主机轮询状态寄存器并等待Ready位变为高。
2.接着,主机检查状态寄存器中的Fail位的状态。
a.如果Fail位为低,则密钥更新过程成功地完成,且已采用新密钥。
b.如果Fail位为高,则密钥更新过程未成功地完成,且保持最初的密钥。
现在另外地参照图17,示出了根据本发明的代表性实施方式的TX1ID/密码更新算法的代表性流程图。
ID/密码(ID/Password)更新算法由CSP更新状态机126控制,且其通信是通过CMOS寄存器图106联系的。ID/密码更新算法可以分成三个独立的传输,即TX1、TX2和TX3。在TX3传输之后,主机和装置都具有充足的信息来确定ID/密码更新算法是已通过还是失败。
为了成功地完成ID/密码更新算法,主机和装置都必须共享一定要保持保密的CSP。这包括以下CSP:
·唯一的128位会话密钥,其是在管理员认证过程期间产生的。
·待更新的64位的旧ID/密码(HostID,MemID,PWD1U,PWD2U,PWD1A,PWD2A,PWDR,PWDW,PWDADM)。
待更新的ID/密码必须不处于锁定状态。ID/密码的状态可以通过读寄存器0x0000A来确定。
ID/密码更新算法以TX1传输开始。
装置:
1.当Ready位为高时,装置准备好ID/密码更新过程。
2.该装置检查管理员寄存器中的UP位是否被置位。如果是,则装置打开用于写访问的认证数据缓冲器。
主机:
1.主机以产生64位随机数开始。
2.接着,主机利用在管理员认证过程期间产生的会话密钥来将{NewID/Password[63:0],RNhost[63:0]}加密。
3.接着,主机选择哪个CSP待更新并通过写入管理员寄存器来将UP位置位。
4.接着,主机轮询状态寄存器以验证Ready位是否为高。
5.接着,主机必须将控制寄存器中的TXACT位置位以启动TX1传输。
6.接着,主机必须将来自第1步的加密结果写入128位认证数据缓冲器,使得:
a.地址0x00000=E({NewI/P[63:0],RNhost[63:0]},SessionKey[127:0])[15:0]
b.地址0x00001=E({NewI/P[63:0],RNhost[63:0]},SessionKey[127:0])[31:16]
c.地址0x00002=E({NewI/P[63:0],RNhost[63:0]},SessionKey[127:0])[47:32]
d.地址0x00003=E({NewI/P[63:0],RNhost[63:0]},SessionKey[127:0])[63:48]
e.地址0x00004=E({NewI/P[63:0],RNhost[63:0]},SessionKey[127:0])[79:64]
f.地址0x00005=E({NewI/P[63:0],RNhost[63:0]},SessionKey[127:0])[95:80]
g.地址0x00006=E({NewI/P[63:0],RNhost[63:0]},SessionKey[127:0])[111:96]
h.地址0x00007=E({NewI/P[63:0],RNhost[63:0]},SessionKey[127:0])[127:112]
这是TX1数据传输。
7.接着,在数据被写入认证数据缓冲器后,主机必须将TXACT位清零。
现在另外地参照图18,示出了根据本发明的代表性实施方式的TX2ID/密码更新算法的代表性流程图。
装置:
1.装置等待TXACT位被置位,TXACT被置位指示密钥更新TX1传输已启动。
2.接着,装置启动认证看门狗定时器。整个ID/密码更新过程必须在该定时器超时之前完成,否则该ID/密码更新过程被中止,最初的ID/密码被保持。
3.接着,装置等待TXACT位被清零,TXACT被清零指示TX1传输已完成。
4.接着,装置将Ready位清零,并关闭用于读/写访问的认证数据缓冲器。
5.接着,装置利用从管理员认证过程产生的会话密钥将认证数据缓冲器中的TX1传输数据解密以恢复{NewI/P[63:0],RNhost[63:0]}。
6.接着,装置产生64位随机数RNmem[63:0]。
7.接着,装置将从步骤第5步解密出的NewI/P[63:0]与从步骤第5步解密出的RNhost[63:0]进行异或。
8.接着,装置将{XOR(NewI/P[63:0],RNhost[63:0]),RNmem[63:0]}的并置加密,并且是利用从管理员认证过程产生的会话密钥对其加密,并将该结果载入认证数据缓冲器,使得:
a.地址0x00000=E({XOR(NewI/P[63:0],RNhost[63:0]),RNmem[63:0]},SessionKey[127:0])[15:0]
b.地址0x00001=E({XOR(NewI/P[63:0],RNhost[63:0]),RNmem[63:0]},SessionKey[127:0])[31:16]
c.地址0x00002=E({XOR(NewI/P[63:0],RNhost[63:0]),RNmem[63:0]},SessionKey[127:0])[47:32]
d.地址0x00003=E({XOR(NewI/P[63:0],RNhost[63:0]),RNmem[63:0]},SessionKey[127:0])[63:48]
e.地址0x00004=E({XOR(NewI/P[63:0],RNhost[63:0]),RNmem[63:0]},SessionKey[127:0])[79:64]
f.地址0x00005=E({XOR(NewI/P[63:0],RNhost[63:0]),RNmem[63:0]},SessionKey[127:0])[95:80]
g.地址0x00006=E({XOR(NewI/P[63:0],RNhost[63:0]),RNmem[63:0]},SessionKey[127:0])[111:96]
h.地址0x00007=E({XOR(NewI/P[63:0],RNhost[63:0]),RNmem[63:0]},SessionKey[127:0])[127:112]
9.接着,装置将Ready位置位并打开用于读访问的认证数据缓冲器,指示TX2数据已准备好传输至主机。
主机:
1.主机以轮询状态寄存器中的Ready位是否为高开始,Ready位为高指示TX2数据已准备好由主机读取。
2.接着,主机将控制寄存器中的TXACT位置位,以启动TX2数据传输。
3.接着,主机必须从认证数据缓冲器读取加密的结果。这是TX2数据传输。
4.接着,在数据已被写入认证数据缓冲器后,主机必须将TXACT位清零,以指示TX2传输完成。
现在另外地参照图19,示出了根据本发明的代表性实施方式的TX3ID/密码更新算法的代表性流程图。
装置:
1.装置等待TXACT位被置位,TXACT位被置位指示密钥更新TX2传输已启动。
2.接着,装置等待TXACT位被清零,TXACT位被清零指示TX2传输已完成。
3.接着,装置打开用于写访问的认证数据缓冲器并等待TX3传输。
主机:
1.主机以利用会话密钥将TX2传输解密以恢复{XOR(NewI/P[63:0],RNhost[63:0]),RNmem[63:0]}开始。
2.接着,主机验证从TX2解密出的RNhost是否与TX1传输中发送至装置的最初RNhost值匹配。
a.如果匹配,主机确认该装置已接收到正确的新ID/密码。
b.如果不匹配,则主机未接收到正确的新密码/ID,或者在所述传输中的一个或多个传输中有错误。主机应当通过等待并等到认证看门狗定时器超时来中止该过程,或者其可以继续该过程并在TX3传输中发送不正确的数据,迫使装置停止采用新密码/ID。
3.为了允许装置采用新密码/ID,主机利用来自管理员认证过程的会话密钥来加密{RNhost,RNmem}。
4.接着,主机将控制寄存器中的TXACT位置位,以启动TX4数据传输。
5.接着,主机必须将来自第3步的加密结果写入128位认证数据缓冲器,使得:
a.地址0x00000=E({RNhost[63:0],RNmem[63:0]},SessionKey[127:0])[15:0]
b.地址0x00001=E({RNhost[63:0],RNmem[63:0]},SessionKey[127:0])[31:16]
c.地址0x00002=E({RNhost[63:0],RNmem[63:0]},SessionKey[127:0])[47:32]
d.地址0x00003=E({RNhost[63:0],RNmem[63:0]},SessionKey[127:0])[63:48]
e.地址0x00004=E({RNhost[63:0],RNmem[63:0]},SessionKey[127:0])[79:64]
f.地址0x00005=E({RNhost[63:0],RNmem[63:0]},SessionKey[127:0])[95:80]
g.地址0x00006=E({RNhost[63:0],RNmem[63:0]},SessionKey[127:0])[111:96]
h.地址0x00007=E({RNhost[63:0],RNmem[63:0]},SessionKey[127:0])[127:112]
这是TX3传输。
6.接着,在数据已写入认证数据缓冲器后,主机必须将TXACT清零以指示TX3传输已完成。
现在另外地参照图20,示出了根据本发明的代表性实施方式的采用ID/密码更新算法的代表性流程图。
装置:
1.该装置等待TXACT位被置位,TXACT位被置位指示密钥更新TX3传输已启动。
2.接着,装置等待TXACT位被清零,TXACT位被清零指示TX3传输已完成。
3.接着,装置将Ready位设置为低并利用从管理员认证过程产生的会话密钥将认证数据缓冲器中的TX3传输解密。
4.接着,装置查看从TX2传输解密出的RNmem是否与步骤第3步中的解密值的RNmen匹配。
a.如果来自TX2的RNmem与来自TX3的RNmem匹配,则装置确认主机想要采用新的ID/密码,该新的ID/密码在非易失性存储器中采用。摒弃先前的ID/密码。
b.如果来自TX2的RNmem与来自TX3的RNmem不匹配,则装置已确认主机不想要采用新ID/密码,摒弃新ID/密码。保持当前ID/密码。状态寄存器中的Fail位被置位。
将Ready位置位,终止当前管理员认证会话。
主机:
1.主机轮询状态寄存器并等待Ready位变为高。
2.接着,主机检查状态寄存器中的Fail位的状态。
a.如果Fail位为低,ID/密码更新过程成功地完成,新ID/密码已采用。
b.如果Fail位为高,则ID/密码更新过程未成功地完成,保持最初的ID/密码。
如果主机或装置确定未授权方尝试访问该装置,则主机或装置可能期望破坏存储器阵列的内容和CSP。即时擦除算法具有以下主要特征:
1.擦除算法应当尽可能快地发生以使擦除请求和破坏所含数据之间的时间最小化。
2.如果以任何方式中断擦除算法,例如通过在擦除算法进行时断开供至装置的电力,装置必须保持在擦除状态中直至整个擦除过程完成,甚至直到恢复电力之后。
3.在擦除算法全部完成之前,一定不允许访问该装置。
4.一旦擦除算法完成,装置返回到初始状态,所有的存储器内容和CSP被清零,使得必要的话可以再使用该装置。
三种可能可以用来擦除用户存储器内容和CSP:
1.最缓慢但功率最低的方法是将用户存储器的每一个16位字定序并从最低位地址开始且逐地址递增地将每一个16位字写为0x0000,直到用户存储器全部被写为零。接着,以相同的方式擦除CSP存储器,一次擦除一个16位字,直到所有的CSP被写为零。首先擦除用户存储器确保:如果擦除算法由某些意外方式中断,则尚未擦除的存储器内容将仍受未改变的CSP保护。这是用于该装置的擦除算法的主要方式。利用该方法,可以在小于100ms的时间中擦除整个装置。
2.与上述方法类似的较快的方法是同时将多个16位字写为0x0000。该方法使擦除时间缩短,但同时增大了擦除期间的有功功率。装置上的测试模式能够用该类型的操作。
3.对于存储器阵列而言,最快的方式是进入这样的模式:所有的存储器字线被激活,所有的存储器位线接地,所有的存储器板线被激活。该结果可以使大量的铁电容器沿着同样的方向极化,即刻覆盖任何存储的数据。可选择地,所有的存储器位线可以被激活为高,同时保持所有的板线为低。这能够沿着相反的方向极化所有的存储器位。该方法消耗最大量的功率且与存储器阵列的大小有关。该存储器阵列能够分成若干段,一次擦除一个段以降低功耗。利用该方法,相信可以在数十微秒中擦除该装置。该装置上的测试模式能够利用该类型的操作。
如果发生以下任一事件,则启动擦除算法:
1.装置的ERS引脚被主机驱动为高。
2.主机将控制寄存器中的EE位置位。
3.失败的认证尝试的数目超过管理员寄存器中的非易失性MF1/MF2位设定的值。
管理员寄存器中的标志位指示擦除源。EP标志指示装置是否被ERS引脚擦除。EC标志指示主机是否将控制寄存器中的EE位置位。EA标志指示是否超过失败的认证尝试的最大数目。这些标志位在擦除事件发生时被置位并通过擦除算法保持在非易失性存储器中。
擦除算法的优先级高于其他的装置操作。任何操作可以被中断以开始擦除算法。如果装置加电并确认先前的擦除算法未完成,则装置将立刻返回到擦除算法,直到该擦除算法充分完成。
现在另外地参照图21,示出了根据本发明的代表性实施方式的擦除算法的代表性流程图。
1.擦除算法由所述的三种可能的擦除源中的任一擦除源启动。
2.非易失性擦除进行(Erase-In-Progress)位被置位以指示擦除操作正在进行。当装置上电时检查该位的状态,以免万一擦除操作因断电而中断。此时,除了状态寄存器外,完全阻止访问该F-RAM存储器。
3.2Mb用户存储空间被擦除(写入0x0000),一次擦除16位字,以地址0x00000开始并以地址0x1FFFF结束。
4.CSP存储空间被擦除(写入0),一次擦除16位字。
5.当开始擦除算法时,CMOS寄存器被清零以破坏可能已存储在CMOS中的任何临时信息。
6.接着,清零锁定寄存器的位元、失败计数寄存器的位元和非易失性状态寄存器的位元。
7.接着,清零非易失性擦除进行位以指示完成擦除算法。
8.接着,装置在擦除完成状态中等待。此时,装置必须重新启动。重新启动后,装置将在初始状态中上电,所有的密钥、密码和ID都设置为0。
在本文描述的本发明的代表性实施方式中,真硬件随机数产生器(THRNG)用来产生随机位流。该随机位流被收集并用来产生用在先前描述的认证算法和CSP更新算法中的128位随机数和64位随机数。产生的随机数应当尽可能地在完全相同的输入条件下难以再现,因为如果该随机数可以被猜想,则会损害认证的安全性。该新型设计产生了不是很依赖于外部条件的非常有效的不可测性。
现在另外地参照图22,示出了可能应用于本发明的代表性实施方式的真硬件随机数产生器(THRNG)200的代表性功能框图。
THRNG以低频环形振荡器204对高频环形振荡器202采样开始。两个振荡器202、204是独立的,因此D触发器(DFE)206将不定期地捕捉亚稳态,其中,DFE 206的输出随机地在Q1输出上转变为“1”或“0”。接着,DFE 206的输出与32位线性反馈移位寄存器(LFSR)210内的反馈路径即节点FB1进行异或(由异或门208)。LFSR 210自身产生32位数的伪随机序列,在序列重复前,该序列长2^32-1比特。LFSR 210的反馈路径与Q1的亚稳态随机性进行异或进一步使结果随机化。
接着,设计者在32位LFSR输出中随机地选择6位以输入到非线性替换函数中,该非替换函数还被称为SBOX 212。该块的功能是为任一64位输入替换16位的值。该功能应当固有地非线性。对于装置而言,选择8个DES SBOX中的一个以提供该非线性功能。
接着,SBOX 212的四位输出的三位被输入到可编程频率环形振荡器214的输入。三位提供8个可能的频率,所述频率选择为不互相成倍。当SBOX的输出改变时,可编程频率环形振荡器214在其8个可能的输出频率之间随机地切换。
该随机变化的频率接着电容性地连接至另一低频环形振荡器218以将明显的随机抖动引入到该环形振荡器的输出中。该随机性主要由前述的所有元件产生,较少依赖于THRNG的外界刺激,比如电压和温度。
随机抖动所占的百分比高的该低频时钟接着用来利用D触发器220对高频时钟(来自高频环形振荡器216)采样,该D触发器220将再次捕捉亚稳态条件,在QRAND上产生非常随机的位流输出。因为抖动在该捕捉时钟中所占的高百分比,与第一D触发器206相比,亚稳态事件将产生得频繁得多。
THRNG 200上电并允许运行若干毫秒以使很多亚稳态积聚。在该时间段之后,来自THRNG 200的128位的位流被捕捉到,且用作另一伪随机数产生器(PRNG)的种子。THRNG 200周期性地重新启动以为PRNG产生新种子。
用在所公开的极具代表性的系统设计中的环形振荡器是实现该系统中的所需随机性的重要因素。
现在另外地参照图23,示出了可能用在本发明的代表性实施方式中的环形振荡器电路300的代表性示意图。
这是相当标准的三级环形振荡器,该三级环形振荡器采用反向RC节点、之后是施密特触发器以及由NAND2门形成的第三反向级,第三反向级反馈到反向RC节点级。但对该设计重要的是,针对每一振荡器利用独立的电流镜以产生用于电流限制式RC级的电流,而并不是单独的电流镜为所有的振荡器共用。这解决了这样的问题:振荡噪声能够反馈入高阻抗电流镜级,这可能导致多个振荡器产生谐波响应,谐波响应可以破坏这些振荡器尝试实现的随机性。独立的电流镜中断该反馈回路并允许所有的振荡器独立地操作。此外,小尺寸的装置利用所述电流镜提高了装置的变化性且使两个装置做出相同表现的可能性最小化。
现在另外地参照图24,示出了可能用在本发明的代表性实施方式中的可变频率环形振荡器电路400的代表性示意图。
除了包含三个开关电容器Cf2、Cf3和Cf4之外,该环形振荡器类似于先前的振荡器,所述三个开关电容器Cf2、Cf3和Cf4可以根据P0、P1和P2的输入状态来改变RC时间常数。这些输入连接至图22中的SBOX级的输出以在8个可能频率之间产生随机切换。
可变频率环形振荡器的输出用来将噪声耦合至噪声耦合低频环形振荡器,这将在下文更详细地描述。
现在另外地参照图25,示出了可能用在本发明的代表性实施方式中的噪声耦合低频环形振荡器电路500的代表性示意图。
该振荡器将P2电流镜与电流限制式反向器的P沟道栅极即节点P2N电阻性地隔开。接着,一电容器将可变频率环形振荡器的输出耦合至电阻隔开的P2N节点。因为VNOISE高低移动,这将影响RC节点的充电速率,将明显的抖动引入到该时钟的输出。接着,该时钟用来捕捉高频环形振荡器2的状态以产生高速率的亚稳态以提高该系统的随机性。
尽管已结合特定的装置结构、功能块、算法和电路描述了本发明的原理,但应当清楚地理解,以上描述仅通过示例给出且不应当看作限制本发明的范围。尤其是,要认识到以上公开的教导将使相关领域的专业技术人员想到其他的改动。这样的改动包括本来已知的以及可以替代本文已描述的特征使用的或者除了本文已描述的特征还可使用的其他特征。尽管本申请中已将权利要求书制定为特征的特定组合,但应当理解,本公开的范围还包括明确公开或含蓄公开的任何新颖特征或特征的任何新颖组合、或者对于相关领域的专业技术人员而言显而易见的对上述特征的任何概括或改动,无论其是否与任一权利要求中目前要求的同一发明有关以及无论其是否减轻与本发明所面对的多个技术问题相同的任一问题或全部问题。由此,在本申请的或者从本申请引申出的任何其他申请的申请期间,发明人保留为这样的特征和/或这样的特征的组合制定新权利要求的权利。
本文中所使用的术语“包括”或者其任何其他变型用来涵盖非排他性的内含物,使得包括某些列举元素的过程、方法、制品或装置不一定仅包括这些元素,而还可包括未明确列出的其他元素或者该过程、方法、制品或装置固有的其他元素。本申请中的描述都不应当看作是暗示任何特定的元件、步骤或功能是必须包括在权利要求范围中的必需元素,专利主题的范围中仅允许由所述权利要求定义。而且,所附权利要求都不用来援引35 U.S.C Sect.112的第六段,除非使用精确词语“用于(means for)”并且其后跟有分词。
表1
表2
C1 | C0 | 访问数目 |
0 | 0 | 1024 |
0 | 1 | 16384 |
1 | 0 | 131072 |
1 | 1 | 无限制 |
表3
T1 | T0 | 认证时间 |
0 | 0 | 100ms |
0 | 1 | 1s |
1 | 0 | 10s |
1 | 1 | 无限制 |
表4
表5
Claims (32)
1.一种配置成连接至相关主机系统的存储装置,所述装置包括:
铁电存储器阵列,所述铁电存储器阵列包括用户存储空间和配置存储空间;以及
控制逻辑,所述控制逻辑配置成连接在所述主机系统和所述铁电存储器阵列之间,所述控制逻辑可操作以根据在所述主机系统和所述存储装置之间的相互认证,提供对所述用户存储空间的访问。
2.如权利要求1所述的存储装置,所述存储装置还包括:
地址总线、数据总线和控制总线,所述地址总线、数据总线和控制总线用于将所述主机系统连接至所述用户存储空间,以响应于所述主机系统和所述存储装置之间的所述相互认证来提供对所述用户存储空间的外部读访问和外部写访问。
3.如权利要求2所述的存储装置,所述存储装置还包括:
门电路,所述门电路置于所述地址总线、数据总线和控制总线上,所述门电路可由所述控制逻辑操作以选择性地提供或抑制对所述用户存储空间进行所述外部读访问和外部写访问。
4.如权利要求3所述的存储装置,所述存储装置还包括:
寄存器图,所述寄存器图用于将所述地址总线、数据总线和控制总线连接至所述控制逻辑。
5.如权利要求4所述的存储装置,所述存储装置还包括:
密码引擎,所述密码引擎连接至所述控制逻辑和所述寄存器图,所述密码引擎包括随机数产生器和加密/解密块。
6.如权利要求5所述的存储装置,其中,所述密码引擎和所述控制逻辑能结合存储在所述铁电存储器阵列的所述配置存储空间中的关键安全参数操作以在所述主机系统和所述存储装置之间建立所述相互认证。
7.如权利要求6所述的存储装置,其中,所述控制逻辑包括:
存储器访问状态机,所述存储器访问状态机可操作以控制所述门电路。
8.如权利要求7所述的存储装置,其中,所述控制逻辑包括:
认证状态机,所述认证状态机将所述寄存器图连接至所述存储器访问状态机,所述认证状态机可对所述密码引擎和至少一个计数器作出响应。
9.如权利要求8所述的存储装置,其中,所述至少一个计数器包括存储器访问计数器或认证计数器。
10.如权利要求8所述的存储装置,其中,所述认证状态机可对至少一个定时器作出响应。
11.如权利要求10所述的存储装置,其中,所述至少一个定时器包括认证定时器。
12.如权利要求7所述的存储装置,其中,所述控制逻辑包括:
关键安全参数更新状态机,所述关键安全参数更新状态机将所述寄存器图连接至所述存储器访问状态机,所述关键安全参数更新状态机能对所述密码引擎作出响应。
13.如权利要求7所述的存储装置,其中,所述控制逻辑包括:
擦除状态机,所述擦除状态机将所述寄存器图连接至所述存储器访问状态机,所述擦除状态机能对所述认证状态机作出响应。
14.如权利要求13所述的存储装置,其中,所述擦除状态机还能对自所述主机系统接收的擦除信号作出响应。
15.如权利要求5所述的存储装置,其中,所述密码引擎还包括连接至所述寄存器图的内置自测试块。
16.如权利要求4所述的存储装置,其中,所述寄存器图能对来自所述主机系统的地址信号作出响应以选择所述用户存储空间或所述寄存器图。
17.一种用于提供主机系统和存储装置之间的认证的方法,所述方法包括以下步骤:
提供包括用户存储空间和配置存储空间的铁电存储器阵列;
将控制逻辑连接在所述主机系统和所述铁电存储器阵列之间;以及
根据所述主机系统和所述存储装置之间的相互认证,提供对所述用户存储空间的访问。
18.如权利要求17所述的方法,所述方法还包括:
将所述主机系统通过地址总线、数据总线和控制总线连接至所述用户存储空间;以及
响应于所述主机系统和所述存储装置之间的所述相互认证,提供对所述用户存储空间的外部读访问和外部写访问。
19.如权利要求18所述的方法,所述方法还包括:
将能由所述控制逻辑操作的门电路置于所述地址总线、数据总线和控制总线上;以及
响应于所述门电路的状态,选择性地提供或抑制对所述用户存储空间进行的所述外部读访问和外部写访问。
20.如权利要求19所述的方法,所述方法还包括:
将所述地址总线、数据总线和控制总线通过寄存器图连接至所述控制逻辑。
21.如权利要求20所述的方法,所述方法还包括:
将密码引擎连接至所述控制逻辑和所述寄存器图,所述密码引擎包括随机数产生器和加密/解密块。
22.如权利要求21所述的方法,所述方法包括:
响应于能与存储在所述铁电存储器阵列的所述配置存储空间中的关键安全参数结合操作的所述密码引擎,在所述主机系统和所述存储装置之间建立相互认证。
23.如权利要求22所述的方法,所述方法包括:
响应于形成所述控制逻辑的一部分的存储器访问状态机,控制所述门电路。
24.如权利要求23所述的方法,所述方法包括:
通过能对所述密码引擎和至少一个计数器作出响应的认证状态机,将所述寄存器图连接至所述存储器访问状态机。
25.如权利要求24所述的方法,其中,所述认证状态机能对存储器访问计数器或认证计数器作出响应。
26.如权利要求23所述的方法,所述方法包括:
通过能对所述密码引擎和至少一个定时器作出响应的认证状态机,将所述寄存器图连接至所述存储器访问状态机。
27.如权利要求26所述的方法,其中,所述认证状态机能对认证定时器作出响应。
28.如权利要求23所述的方法,所述方法还包括:
利用关键安全参数更新状态机,将所述寄存器图连接至所述存储器访问状态机,所述关键安全参数更新状态机能对所述密码引擎作出响应。
29.如权利要求23所述的方法,所述方法还包括:
利用擦除状态机将所述寄存器图连接至所述存储器访问状态机,所述擦除状态机能对所述认证状态机作出响应。
30.如权利要求29所述的方法,所述方法还包括:
将来自所述主机系统的擦除信号提供至所述擦除状态机。
31.如权利要求21所述的方法,所述方法包括:
在连接到所述寄存器图的所述密码引擎中提供内置自测块。
32.如权利要求20所述的方法,所述方法包括:
响应于来自所述主机系统的地址信号,选择所述用户存储空间或所述寄存器图。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161439696P | 2011-02-04 | 2011-02-04 | |
US61/439,696 | 2011-02-04 | ||
US13/355,145 US8583942B2 (en) | 2011-02-04 | 2012-01-20 | Authenticating ferroelectric random access memory (F-RAM) device and method |
US13/355,145 | 2012-01-20 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102693190A true CN102693190A (zh) | 2012-09-26 |
CN102693190B CN102693190B (zh) | 2015-09-30 |
Family
ID=46601495
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210025501.6A Active CN102693190B (zh) | 2011-02-04 | 2012-02-06 | 认证铁电随机存取存储器(f-ram)装置和方法 |
Country Status (2)
Country | Link |
---|---|
US (2) | US8583942B2 (zh) |
CN (1) | CN102693190B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105097034A (zh) * | 2014-05-13 | 2015-11-25 | 三星电子株式会社 | 非易失性存储系统以及存储控制器的操作方法 |
CN106409336A (zh) * | 2016-09-13 | 2017-02-15 | 天津大学 | 基于随机时间的非易失性存储器数据安全擦除方法 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10049204B2 (en) * | 2012-05-15 | 2018-08-14 | Symantec Corporation | Computer readable storage media for multi-factor authentication and methods and systems utilizing same |
US9595350B2 (en) * | 2012-11-05 | 2017-03-14 | Nxp Usa, Inc. | Hardware-based memory initialization |
US20160342800A1 (en) * | 2015-05-19 | 2016-11-24 | Hong Fu Jin Precision Industry (Shenzhen) Co., Ltd. | Electronic device and hard disk device of electronic device |
US11088829B2 (en) | 2018-09-04 | 2021-08-10 | International Business Machines Corporation | Securing a path at a node |
US11038698B2 (en) | 2018-09-04 | 2021-06-15 | International Business Machines Corporation | Securing a path at a selected node |
US10833856B2 (en) * | 2018-09-04 | 2020-11-10 | International Business Machines Corporation | Automatic re-authentication of links using a key server |
US11038671B2 (en) | 2018-09-04 | 2021-06-15 | International Business Machines Corporation | Shared key processing by a storage device to secure links |
US11025413B2 (en) | 2018-09-04 | 2021-06-01 | International Business Machines Corporation | Securing a storage network using key server authentication |
US11244078B2 (en) * | 2018-12-07 | 2022-02-08 | Nxp Usa, Inc. | Side channel attack protection |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040268136A1 (en) * | 1999-02-16 | 2004-12-30 | Renesas Technology Corp. | Microcomputer and microcomputer system |
US20050268058A1 (en) * | 2004-05-27 | 2005-12-01 | Microsoft Corporation | Alternative methods in memory protection |
CN101097550A (zh) * | 2006-06-26 | 2008-01-02 | 索尼株式会社 | 存储器存取控制设备和方法、以及通信设备 |
US20090222910A1 (en) * | 2008-02-29 | 2009-09-03 | Spansion Llc | Memory device and chip set processor pairing |
US20090296479A1 (en) * | 2008-05-30 | 2009-12-03 | Kunisato Yamaoka | Semiconductor memory device |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4799061A (en) | 1985-11-18 | 1989-01-17 | International Business Machines Corporation | Secure component authentication system |
EP0440158B1 (en) * | 1990-01-30 | 1997-09-10 | Kabushiki Kaisha Toshiba | Mutual authentication system |
FR2745135B1 (fr) | 1996-02-15 | 1998-09-18 | Cedric Colnot | Procede pour faire autoriser par un serveur l'acces a un service a partir de dispositifs portatifs a microcircuits electroniques du type carte a memoire par exemple |
EP0994475B1 (en) * | 1998-10-16 | 2001-07-11 | Matsushita Electric Industrial Co., Ltd. | Digital content protection system |
JP2005275654A (ja) * | 2004-03-24 | 2005-10-06 | Matsushita Electric Ind Co Ltd | 半導体メモリ装置 |
US7791451B2 (en) * | 2006-10-17 | 2010-09-07 | International Business Machines Corporation | Methods, systems, and computer program products for providing mutual authentication for radio frequency identification (RFID) security |
US8738924B2 (en) * | 2007-06-13 | 2014-05-27 | Via Technologies, Inc. | Electronic system and digital right management methods thereof |
-
2012
- 2012-01-20 US US13/355,145 patent/US8583942B2/en active Active
- 2012-02-06 CN CN201210025501.6A patent/CN102693190B/zh active Active
-
2013
- 2013-11-12 US US14/077,971 patent/US9330251B1/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040268136A1 (en) * | 1999-02-16 | 2004-12-30 | Renesas Technology Corp. | Microcomputer and microcomputer system |
US20050268058A1 (en) * | 2004-05-27 | 2005-12-01 | Microsoft Corporation | Alternative methods in memory protection |
CN101097550A (zh) * | 2006-06-26 | 2008-01-02 | 索尼株式会社 | 存储器存取控制设备和方法、以及通信设备 |
US20090222910A1 (en) * | 2008-02-29 | 2009-09-03 | Spansion Llc | Memory device and chip set processor pairing |
US20090296479A1 (en) * | 2008-05-30 | 2009-12-03 | Kunisato Yamaoka | Semiconductor memory device |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105097034A (zh) * | 2014-05-13 | 2015-11-25 | 三星电子株式会社 | 非易失性存储系统以及存储控制器的操作方法 |
CN106409336A (zh) * | 2016-09-13 | 2017-02-15 | 天津大学 | 基于随机时间的非易失性存储器数据安全擦除方法 |
CN106409336B (zh) * | 2016-09-13 | 2019-10-11 | 天津大学 | 基于随机时间的非易失性存储器数据安全擦除方法 |
Also Published As
Publication number | Publication date |
---|---|
US20120204040A1 (en) | 2012-08-09 |
US9330251B1 (en) | 2016-05-03 |
CN102693190B (zh) | 2015-09-30 |
US8583942B2 (en) | 2013-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102693190B (zh) | 认证铁电随机存取存储器(f-ram)装置和方法 | |
JP4763368B2 (ja) | 通信カード、機密情報処理システム、機密情報転送方法およびプログラム | |
US20160205075A1 (en) | Implementation of an Integrity-Protected Secure Storage | |
US8650393B2 (en) | Authenticator | |
US9319389B2 (en) | Data recording device, and method of processing data recording device | |
CN103678994B (zh) | 一种具有环境控制的usb加密存储系统及方法 | |
CN102362280A (zh) | 在电子设备中安全地存储数据的系统和方法 | |
EP2702721B1 (en) | Data recording device, host device and method of processing data recording device | |
US20080123858A1 (en) | Method and apparatus for accessing an encrypted file system using non-local keys | |
CN102646075A (zh) | 存储卡锁定方法及系统 | |
CN114785503B (zh) | 密码卡及其根密钥保护方法、计算机可读存储介质 | |
US20130336479A1 (en) | Information recording device | |
JP2005295408A (ja) | 暗号化装置,復号化装置,暗号化復号化システム,鍵情報更新システム | |
CN102662874A (zh) | 双界面加密存储卡及其中的数据管理方法和系统 | |
US20140281570A1 (en) | Method of performing an authentication process between data recording device and host device | |
JPH10240883A (ja) | Icカードシステムとicカードシステムのセキュリティ方法 | |
CN1716850B (zh) | 对机顶盒芯片进行安全验证的方法和系统 | |
JP4546099B2 (ja) | 情報処理システム | |
CN104573564A (zh) | 一种bios管理员密码的系统下管理方法 | |
US20140281543A1 (en) | Host device configured for authentication with memory device | |
US20130336477A1 (en) | Medium | |
JP5692441B2 (ja) | 情報処理装置、情報処理方法、及び、プログラム | |
JP2010092117A (ja) | データ処理装置及びデータ処理方法 | |
US8948400B2 (en) | Host device | |
CN102236754B (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |