System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 通过利用物理不可克隆函数PUF进行数据加密/解密向主机认证存储设备制造技术_技高网

通过利用物理不可克隆函数PUF进行数据加密/解密向主机认证存储设备制造技术

技术编号:40283595 阅读:7 留言:0更新日期:2024-02-07 20:37
本文公开了用于通过利用数据加密密钥(DEK)加密或解密存储设备中的数据来保护数据的系统和方法。存储设备通信地耦合到主机。在一个示例中,存储设备包括:至少一个物理不可克隆函数(PUF),其被配置为:基于质询,生成PUF响应;以及认证输出生成模块,其被配置为:从主机获得随机数;获得与第一PUF响应相关的输入;使用单向函数(OWF),基于该输入和随机数生成认证输出;以及向主机提供认证输出。存储设备还包括:DEK生成模块,其被配置为:基于第二PUF响应,生成DEK;以及加密模块,其用于使用DEK执行数据的加密或解密。

【技术实现步骤摘要】
【国外来华专利技术】

本公开涉及安全存储设备,并且更具体地,涉及使用物理不可克隆函数(puf)生成或解密数据加密密钥(dek)并且在凭证从主机被提供给存储设备之前实现向主机认证的安全存储设备。


技术介绍

1、物理不可克隆函数(puf)

2、物理不可克隆函数(puf)是能够生成输出(例如密钥、数字标识或认证数据)的电路、组件、过程或其他实体。puf应当能够抵抗克隆。例如,具有puf的设备将难以克隆以使用另一设备生成该puf的相同输出。puf被用于通过使用隐式或显式随机性来产生独特的响应。此响应可用于加密或设备标识目的。隐式随机性可包括半导体器件中不可预测的制造差异,可以利用这些差异来产生器件独特的响应。另一方面,显式随机性意味着随机性的引入需要在制造过程中或后期阶段(例如在封装时)的额外步骤。

3、puf包括一个或多个子函数,有时称为元件或组件,每个子函数贡献puf响应的一部分。puf的子函数的一个示例是环形振荡器对。环形振荡器由环中奇数个信号反相器(inverter)组成,其中门延迟传播被用作随机性源。puf响应基于两个环形振荡器之间的比较,其中测量在给定点的振荡数量。具体地,puf响应可以是最快环形振荡器或最慢环形振荡器的标识符。puf的子函数的另一示例可以是未初始化的静态随机存取存储器(sram)单元(cell),其具有两种可能的状态(0和1)。上电之前,sram单元不处于这两种状态。上电时,sram单元稳定在两种状态之一。puf响应是一组sram单元的进入状态。另一示例是仲裁器(arbiter)。仲裁器可以被视为芯片上两个或更多个信号路径之间的数字竞争条件,其中所谓的仲裁器电路标识获胜信号。这些路径可包括多个开关块,它们可以改变信号路径。例如,puf响应可以是获胜信号的标识。在某些puf实体中,相同的子函数(多个)可能通过利用puf质询的不同部分来生成多个输出。每个子函数还具有在物理上不可克隆的属性,即,对于设备来说是唯一的。因此,puf可以包括能够用作独立puf的多个子函数,尽管具有更少的可能质询和更少的响应比特。

4、puf响应可用于产生唯一设备标识或设备唯一密钥,而无需将密钥存储在例如电池后备随机存取存储器(bbram)或一次性可编程(otp)存储器中。因此,攻击者更难发起目的是从使用puf的设备中恢复密钥的特定类型的硬件攻击。

5、puf有多种类型,但所有puf都接受质询作为输入。puf通常将质询转换成(i)puf内的至少一个元件的选择或(ii)puf内的至少一个元件的配置。取决于使用何种类型的puf,puf接受的质询数量可以从仅为1改变到与子函数数量相关的指数数量。在本公开中,质询被认为是对产生指定数量的响应比特的puf的输入。本公开可以包括使用质询的不同子部分多次激活puf,其中每个子部分生成响应的至少一个部分。

6、大多数puf类型额外地需要辅助(helper)数据以正常运行,即,增加在给定相同质询的情况下重新产生相同响应的可能性。某些puf类型可以重新映射质询-响应映射一次或多次。即,在重新映射之后,一些或所有质询可能导致新的响应。

7、可重新配置的puf可以改变整个质询空间,例如以确保所有质询接收到新的响应。可擦除puf是有可能改变特定质询的响应的puf。替代地,对于被标记为“已擦除”的质询,puf可能用空序列(例如全0)进行响应。当puf响应(或其导出物)被用于加密另一加密密钥时,该puf响应被称为密钥加密密钥(kek)。

8、自加密驱动器(sed)

9、加密数字信息对于保护其机密性至关重要。本公开讨论了静态数据的保护。存在多种解决方案,即,具有加密文件、容器、卷或整个盘的粒度。对整个盘进行加密被称为全盘加密(fde),它可以由主机使用软件应用来执行,也可以由称为自加密驱动器(sed)的存储设备使用硬件来执行。在本公开中,sed和存储设备可互换使用。

10、sed是用于以加密形式存储数据的存储设备的术语。从主机的角度来看,加密是无缝进行的。sed很受欢迎,因为sed不增加主中央处理单元(cpu)上的计算负载,而基于软件的fde会增加主cpu上的计算负载。sed潜在地更能抵抗冷引导和直接内存访问(dma)攻击,在这些攻击中,攻击者可以从计算机的随机存取存储器(ram)中窃取加密密钥。通常,加密本身由sed上的专用高级加密标准(aes)加速器执行。

11、sed上的存储通常可以被称为分成三个区域:管理区域、凭证存储区域和数据存储区域。数据存储区域可以分成几个范围,有时称为带或部分。每个范围可以属于不同的用户,但多个用户也可被配置为能够独立解锁同一范围。

12、为了对sed执行加密,数据加密密钥(dek)(有时称为媒体加密密钥(mek))通常被存储在驱动器的受保护区域内。dek可以以明文形式存储,但最佳实践建议是以加密形式存储dek。如果密钥是明文,则盘存储被加密,但在加电后,从用户的角度来看,盘存储就像普通盘一样。如果dek被加密,则用户必须提供用于导出认证密钥(ak)(有时称为kek)的密码,该密码解密dek。sed可包含用相同或不同的密码加密的多个dek。如果盘包括多个数据范围,则每个dek加密盘的特定范围。如果仅存在一个范围,则dek加密sed上的整个数据存储。

13、当dek以加密形式被存储在sed中时,在ak已解密dek之后,在sed操作期间将解密的dek存储在易失性存储器中,从而使得解密的dek能够由加密模块在需要时使用。如果dek被擦除(例如由于电源循环),则必须重新输入用于产生ak的密码。

14、sed的各个方面可以由标准化机构(例如可信计算组(tcg)opal标准)标准化。tcgopal标准定义了sed设备的预期协议和特征,例如支持具有128比特密钥或256比特密钥的aes,并能够根据请求擦除密钥。tcg opal标准主要针对集成的和基于云的驱动器,尽管tcgopal标准中没有任何内容禁止其他驱动器(例如通用串行总线(usb)连接的驱动器)符合tcg opal标准。tcg opal标准还存在一个子集,称为tcg opalite,它支持较少的用户且仅支持单个范围。

15、高级技术附件(ata)安全性是与sed相关的另一标准。然而,ata安全性没有针对存储设备定义任何加密能力,只是应当使用密码来解锁驱动器。ata安全性还允许必须能够推翻所有其他密码的“主密码”(除非使用了“主密码能力-最大值(master passwordcapablity-maximum)”)。由于此限制,无法从用户密码导出任何盘加密密钥。


技术实现思路

1、本文公开了通过利用至少一个物理不可克隆函数(puf)进行数据加密和/或解密而被认证的存储设备以及相关方法的实施例。在一个实施例中,所述存储设备包括至少一个puf,其被配置为:基于第一质询,生成第一puf响应;以及基于第二质询,生成第二puf响应。所述存储设备还包括认证输出生成模块,其被配置为:获得由主机提供本文档来自技高网...

【技术保护点】

1.一种用于保护数据的存储设备(200),所述存储设备(200)包括:

2.根据权利要求1所述的存储设备(200),其中:

3.根据权利要求1或2所述的存储设备(200),还包括:纠错模块(208),其被配置为:基于辅助数据,执行(404)所述第一PUF响应的纠错,以提供纠错后的PUF响应作为对所述认证输出生成模块(216)的所述第一输入。

4.根据权利要求1至3中任一项所述的存储设备(200),其中,所述DEK生成模块(214)还被配置为:从所述主机(202)接收(500)凭证(248)。

5.根据权利要求4所述的存储设备(200),其中,所述认证输出生成模块(216)被配置为:在所述存储设备(200)处接收(500)到所述主机(202)的所述凭证(248)之前,向所述主机(202)提供(412)所述认证输出。

6.根据权利要求4或5所述的存储设备(200),其中,所述DEK生成模块还被配置为:获得(508)与所述第二PUF响应相关的第二输入;并且其中,所述DEK生成模块被配置为:至少基于所述凭证(248)和所述第二输入,生成(512)DEK。

7.根据权利要求6所述的存储设备(200),还包括:纠错模块(208),其被配置为:基于辅助数据(226),执行(508)所述第二PUF响应的纠错,以提供第二纠错后的PUF响应作为对所述DEK生成模块(214)的所述第二输入。

8.根据权利要求6或7所述的存储设备(200),其中,所述DEK生成模块(214)包括密钥导出函数KDF(214-1),其被配置为:从所述主机(202)接收(500)所述凭证;获得(508)与所述第二PUF响应相关的所述第二输入;以及基于所述第二输入和所述凭证(248),生成(512)所述DEK。

9.根据权利要求4或5所述的存储设备(200),还包括:第二单向函数OWF(216-2),其被配置为:获得(604)与所述第二PUF响应相关的第二输入;接收(605)来自所述主机(202)的所述凭证(248);以及基于所述第二输入和所述凭证,生成(606)变换后的输出;并且其中,所述DEK生成模块(214)还被配置为:从所述第二OWF(216-2)获得(606)所述变换后的输出;获得(607)加密的DEK(230);以及基于所述变换后的输出,对所述加密的DEK进行解密以由此生成(608)DEK。

10.根据权利要求9所述的存储设备(200),还包括:纠错模块(208),其被配置为:基于辅助数据,执行(604)所述第二PUF响应的纠错,以提供纠错后的第二PUF响应作为对所述第二OWF(216-2)的所述第二输入。

11.根据权利要求4或5所述的存储设备(200),还包括:

12.根据权利要求11所述的存储设备(200),其中,所述DEK生成模块(214)包括密钥导出函数KDF(214-1),其被配置为:基于与所述第二PUF响应相关的所述输入,生成(512)所述DEK。

13.根据权利要求11或12所述的存储设备(200),还包括:纠错模块(208),其被配置为:基于辅助数据(226),对所述第二PUF响应执行(706)纠错,以提供纠错后的第二PUF响应作为对所述DEK生成模块(214)的所述输入。

14.根据权利要求4至5所述的存储设备(200),还包括:

15.根据权利要求14所述的存储设备(200),其中,所述DEK生成模块(214)包括密钥导出函数KDF(214-1),其被配置为:获得(810)来自所述XOR模块(224)的所述XOR输出;以及基于所述XOR输出,生成(512)所述DEK。

16.根据权利要求14或15所述的存储设备(200),还包括:纠错模块(208),其被配置为:基于辅助数据,对所述第二PUF响应执行(804)纠错,以提供第二纠错后的PUF响应作为对所述第二OWF(216-2)的所述输入。

17.根据权利要求4或5所述的存储设备(200),还包括:

18.根据权利要求17所述的存储设备(200),其中,所述DEK生成模块(214)包括密钥导出函数KDF(214-1),其被配置为:获得(910)与所述XOR输出相关的所述输入;以及基于与所述XOR输出相关的所述输入,生成(512)所述DEK。

19.根据权利要求17或18所述的存储设备(200),还包括:纠错模块(208),其被配置为:基于辅助数据(226),对所述XOR输出执行(910)纠错,以提供纠错后的XOR输出作为对所述DEK生成模块(214)的所述输入。

...

【技术特征摘要】
【国外来华专利技术】

1.一种用于保护数据的存储设备(200),所述存储设备(200)包括:

2.根据权利要求1所述的存储设备(200),其中:

3.根据权利要求1或2所述的存储设备(200),还包括:纠错模块(208),其被配置为:基于辅助数据,执行(404)所述第一puf响应的纠错,以提供纠错后的puf响应作为对所述认证输出生成模块(216)的所述第一输入。

4.根据权利要求1至3中任一项所述的存储设备(200),其中,所述dek生成模块(214)还被配置为:从所述主机(202)接收(500)凭证(248)。

5.根据权利要求4所述的存储设备(200),其中,所述认证输出生成模块(216)被配置为:在所述存储设备(200)处接收(500)到所述主机(202)的所述凭证(248)之前,向所述主机(202)提供(412)所述认证输出。

6.根据权利要求4或5所述的存储设备(200),其中,所述dek生成模块还被配置为:获得(508)与所述第二puf响应相关的第二输入;并且其中,所述dek生成模块被配置为:至少基于所述凭证(248)和所述第二输入,生成(512)dek。

7.根据权利要求6所述的存储设备(200),还包括:纠错模块(208),其被配置为:基于辅助数据(226),执行(508)所述第二puf响应的纠错,以提供第二纠错后的puf响应作为对所述dek生成模块(214)的所述第二输入。

8.根据权利要求6或7所述的存储设备(200),其中,所述dek生成模块(214)包括密钥导出函数kdf(214-1),其被配置为:从所述主机(202)接收(500)所述凭证;获得(508)与所述第二puf响应相关的所述第二输入;以及基于所述第二输入和所述凭证(248),生成(512)所述dek。

9.根据权利要求4或5所述的存储设备(200),还包括:第二单向函数owf(216-2),其被配置为:获得(604)与所述第二puf响应相关的第二输入;接收(605)来自所述主机(202)的所述凭证(248);以及基于所述第二输入和所述凭证,生成(606)变换后的输出;并且其中,所述dek生成模块(214)还被配置为:从所述第二owf(216-2)获得(606)所述变换后的输出;获得(607)加密的dek(230);以及基于所述变换后的输出,对所述加密的dek进行解密以由此生成(608)dek。

10.根据权利要求9所述的存储设备(200),还包括:纠错模块(208),其被配置为:基于辅助数据,执行(604)所述第二puf响应的纠错,以提供纠错后的第二puf响应作为对所述第二owf(216-2)的所述第二输入。

11.根据权利要求4或5所述的存储设备(200),还包括:

12.根据权利要求11所述的存储设备(200),其中,所述dek生成模块(214)包括密钥导出函数kd...

【专利技术属性】
技术研发人员:N·林德斯科格H·恩隆德
申请(专利权)人:瑞典爱立信有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1