CN113260992A - 数据存储设备的多设备解锁 - Google Patents
数据存储设备的多设备解锁 Download PDFInfo
- Publication number
- CN113260992A CN113260992A CN202080007095.3A CN202080007095A CN113260992A CN 113260992 A CN113260992 A CN 113260992A CN 202080007095 A CN202080007095 A CN 202080007095A CN 113260992 A CN113260992 A CN 113260992A
- Authority
- CN
- China
- Prior art keywords
- data
- key
- authorization
- public key
- authorized
- 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
- 238000013500 data storage Methods 0.000 title claims abstract description 83
- 238000013475 authorization Methods 0.000 claims abstract description 118
- 238000003860 storage Methods 0.000 claims abstract description 43
- 238000012546 transfer Methods 0.000 claims abstract description 6
- 230000004044 response Effects 0.000 claims description 52
- 238000005538 encapsulation Methods 0.000 claims description 38
- 238000000034 method Methods 0.000 claims description 29
- 238000009795 derivation Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 description 15
- 238000004891 communication Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 12
- 230000005540 biological transmission Effects 0.000 description 5
- 238000011084 recovery Methods 0.000 description 5
- 150000003839 salts Chemical class 0.000 description 5
- 241000465502 Tobacco latent virus Species 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000011022 opal Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
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/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
-
- 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/31—User authentication
-
- 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/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- 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/60—Protecting data
- G06F21/604—Tools and structures for managing or administering access control systems
-
- 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/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0891—Revocation or update of secret information, e.g. encryption key update or rekeying
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3271—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2103—Challenge-response
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Automation & Control Theory (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
本文公开了一种数据存储设备,该数据存储设备包括数据路径和访问控制器。数据路径包括数据端口,该数据端口被配置为在主机计算机和数据存储设备之间传输数据,并向主机计算机系统注册为块数据存储设备。非易失性存储介质存储加密的用户内容数据。加密引擎连接在数据端口和存储介质之间,并使用密钥来解密加密的用户内容数据。数据存储库存储多个条目,该多个条目包括与相应授权设备相关联的授权数据。访问控制器从管理器设备接收与存储在待授权设备上的私有密钥相关联的公共密钥,创建授权数据,并将与公共密钥相关联的授权数据存储在数据存储库中,从而将待授权设备注册为授权设备中的一个授权设备。
Description
技术领域
本公开涉及可被锁定和解锁的数据存储设备。
背景技术
数据加密使得能够在数据存储设备上,诸如能够经由通用串行总线(USB)电缆连接的块数据存储设备上相对安全地进行存储。然而,用户体验通常令人失望,因为密码、密钥等的设置对于技术上不熟练的用户来说是麻烦而且复杂的。如果使用加密,则密钥和密码的存储经常是不安全的。因此,许多用户并没有有效地使用现有的加密技术,从而导致机密数据暴露。
发明内容
本公开涉及一种数据存储设备,诸如但不限于能够经由USB电缆连接到主机计算机系统的块数据存储设备,使得数据存储设备向主机计算机系统的操作系统注册为大容量数据存储设备。数据存储设备被锁定,使得主机计算机系统不能访问存储在数据存储设备上的数据。然而,用户可通过使用授权设备来解锁数据存储设备,该授权设备被设置为对数据存储设备进行解锁。
本文公开了一种数据存储设备,该数据存储设备包括数据路径和访问控制器。数据路径包括:数据端口,该数据端口被配置为在主机计算机系统和数据存储设备之间传输数据,其中数据存储设备被配置为向主机计算机系统注册为块数据存储设备;非易失性存储介质,所述非易失性存储介质被配置为存储加密的用户内容数据;加密引擎,所述加密引擎连接在所述数据端口和所述存储介质之间,并且被配置为响应于来自所述主机计算机系统的请求而使用加密密钥对存储在所述存储介质上的所述加密的用户内容数据进行解密;和数据存储库,该数据存储库被配置为存储多个条目,该多个条目包括与相应多个授权设备相关联的授权数据。访问控制器被配置为从管理器设备接收公共密钥,其中公共密钥与存储在待授权设备上的私有密钥相关联;创建授权数据;以及将与公共密钥相关联的授权数据存储在数据存储库中,从而将待授权设备注册为多个授权设备中的一个授权设备。
在一些实施方案中,访问控制器被进一步配置为从多个授权设备中的一个授权设备接收公共密钥的指示;基于授权数据来生成质询;将质询发送到多个授权设备中的一个授权设备;从多个授权设备中的一个授权设备接收对质询的响应;以及在验证响应时,更新存储在数据存储库上的授权数据,从而允许多个授权设备中的一个授权设备解密加密的用户内容数据。
在一些实施方案中,存储授权数据包括基于公共密钥来生成授权数据的索引。
在一些实施方案中,授权数据的索引基于存储在数据存储库中的私有密钥。
在一些实施方案中,存储在数据存储库中的私有密钥对于多个授权设备中的每个授权设备是相同的。
在一些实施方案中,用于多个授权设备中的每个授权设备的授权数据指示:传输公共密钥,该传输公共密钥用于在访问控制器和该授权设备之间传输数据;和解锁公共密钥,该解锁公共密钥用于生成对该授权设备的质询。
在一些实施方案中,授权数据指示第一公共密钥和第二公共密钥;并且访问控制器被配置为基于第一公共密钥与第二公共密钥相同来选择性地更新授权数据。
在一些实施方案中,多个授权设备包括以下中的一者或多者:具有用户接口的用户设备、不具有用户接口的信标和不具有用户接口的密钥卡。
在一些实施方案中,公共密钥从待授权设备传送到管理器设备。
在一些实施方案中,将公共密钥从待授权设备传送到管理器设备是通过不安全的信道。
在一些实施方案中,用于多个授权设备中的每个授权设备的授权数据指示加密密钥;并且加密密钥对于多个授权设备中的每个授权设备是相同的。
在一些实施方案中,加密密钥使用特定于多个授权设备中的每个授权设备的解锁秘密来加密。
在一些实施方案中,访问控制器被配置为基于对质询的响应来计算解锁秘密,该响应来自多个授权设备中的一个授权设备,该质询基于与多个授权设备中的一个授权设备相关联的公共密钥生成。
在一些实施方案中,授权数据包括授权设备元数据,该授权设备元数据由能够从公共密钥导出的预先授权的元数据封装密钥来加密。
在一些实施方案中,预先授权的元数据封装密钥能够使用存储在数据存储库中的私有密钥经由密钥导出函数从公共密钥导出。
在一些实施方案中,授权数据包括元数据封装密钥以加密授权设备元数据。
在一些实施方案中,元数据封装密钥是对称密钥。
本文公开了一种用于相对于数据存储设备授权用户设备的方法。该方法包括:从管理器设备接收公共密钥,其中公共密钥与存储在待授权设备上的私有密钥相关联;创建授权数据;以及将与公共密钥相关联的授权数据存储在与数据存储设备集成的数据存储库中,从而将待授权设备注册为多个授权设备中的一个授权设备。
在一些实施方案中,该方法还包括:从多个授权设备中的一个授权设备接收公共密钥的指示;基于授权数据来生成质询;将质询发送到多个授权设备中的一个授权设备;从多个授权设备中的一个授权设备接收对质询的响应;以及在验证响应时,更新存储在数据存储库上的授权数据,从而允许多个授权设备中的一个授权设备解密存储在数据存储设备上的加密的用户内容数据。
本文公开了一种数据存储设备,该数据存储设备包括:用于从管理器设备接收公共密钥的装置,其中公共密钥与存储在待授权设备上的私有密钥相关联;用于创建授权数据的装置;和用于以下操作的装置:将与公共密钥相关联的授权数据存储在与数据存储设备集成的数据存储库中,从而将待授权设备注册为多个授权设备中的一个授权设备。
附图说明
现在将参考以下附图描述非限制性示例:
图1示出了根据一个实施方案的数据存储设备。
图2示出了根据一个实施方案的图1的数据存储设备的配置存储器的截面。
图3示出了根据一个实施方案的图1的授权设备和访问控制器之间的控制流。
图4示出了根据一个实施方案的由数据存储设备发出并由授权设备发送到数据存储设备以解锁数据存储设备的证书。
图5示出了根据一个实施方案的用于相对于数据存储设备授权用户设备的方法。
具体实施方式
图1示出了根据一个实施方案的包括数据路径101和访问控制器102的数据存储设备(DSD)100。数据路径101包括有线数据端口103,其在图1中由USB桥提供,用于在主机计算机系统104和DSD 100之间传输数据。在其他实施方案中,数据路径101包括用于在主机计算机系统104和DSD100之间无线传输数据的无线数据端口(未示出)。DSD 100向主机计算机系统104注册,作为向块数据存储设备的主机计算机系统104的操作系统提供功能的大容量数据存储设备。DSD 100还包括用于存储加密的用户内容数据的非暂态存储介质105,注意用户内容数据是用户通常想要存储在DSD上的数据,诸如包括图像文件、文档、视频文件等的文件。该存储介质可以是固态驱动器(SSD)、具有旋转磁盘的硬盘驱动器(HDD)或其他非易失性存储介质。此外,该存储介质可以是块数据存储设备,这意味着用户内容数据以块的形式写入存储介质105并以块的形式从存储介质105读取。
命令集
在一个示例中,存储介质105包括专用集成电路和/或可编程集成电路形式的加密引擎106,该加密引擎加密要存储在存储介质105上的数据并解密要从存储介质105读取的数据。在此类示例中,该存储介质可根据可信计算组(TCG)的光学规范提供小型计算机系统接口(SCSI)或高级技术附件(ATA)命令集。
存储在加密引擎106上的程序代码使得加密引擎106能够接收、解释和执行从主机计算机系统104接收的命令。例如,密码引擎106可被配置为实现标准ATA或串行ATA(SATA)和/或ATA分组接口(ATAPI)命令集,该命令集可从技术委员会T13获得,注意可在TCG Opal、SCSI和其他专有架构内实现相同的功能。命令集包括READ SECTORS命令,命令输入为扇区的计数和起始扇区(注意,“扇区”与本文的“块”同义地使用)。因此,存在对应的写入命令。需注意,主机计算机系统104上安装有数据存储设备驱动程序。该数据存储设备驱动程序(未示出)使用该命令集向操作系统提供高级服务,诸如文件读取功能。在一些示例中,该数据存储设备驱动程序是作为操作系统的一部分提供的通用驱动程序,而不支持设备特定的加密命令,因为加密功能对于主机计算机系统104是隐藏的并且在DSD 100内进行内部处理,如下所述。这意味着不需要安装额外的驱动程序就能使用本文所公开的全功能。
由加密引擎106提供给数据端口103(但不转发给主机计算机系统104)的命令集可包括来自ATA SECURITY特征集的命令集。具体地讲,该命令集可包括命令SECURITY SETPASSWORD或来自TCG Opal的对应命令,以设置用于读取用户内容数据和将用户内容数据写入存储介质105的密码。
在这种意义上,加密引擎106连接在数据端口103和存储介质105之间,并且被配置为响应于来自主机计算机系统104的请求而使用加密密钥来加密要存储在存储介质105上的用户内容数据和解密存储在存储介质105上的加密的用户内容数据。在一些示例中,ATASECURITY特征集仅由数据端口103使用,而不由主机104使用。即,访问控制器102为数据端口103提供必要的输入以向加密引擎106发出ATA SECURITY命令。例如,访问控制器102可向数据端口103提供密钥,然后数据端口103经由SECURITY SET PASSWORD命令将该密钥转发到加密引擎106。访问控制器102与数据端口103之间的接口可为内置集成电路(I2C)总线,这在该总线已在现有芯片中实现的情况下特别有用。然而,可以使用许多其他通信架构,包括总线架构、点对点架构、串行架构、并行架构、基于存储器的架构和其他架构。
需注意,如图1所示的专用芯片中的功能的分离仅为一种可能的示例性具体实施。因此,可以进一步组合功能或拆分功能。例如,数据端口103可与访问控制器102集成到具有单个内核的单个芯片中。在其他情况下,数据端口103和访问控制器102可与加密引擎106集成到具有单个内核的单个专用芯片中。当然,所有芯片可具有多个内核。
在一个示例中,使用以下部件:
数据端口103:USB 3.1Gen 2每秒10吉比特(Gb/s)接口
访问控制器102:来自Nordic Semiconductor的nRF52840片上系统(SoC)
需注意,对于本文所公开的功能,访问控制器102发挥主要作用,并且将在下文更详细地描述,再次需注意,在其他示例中,任务可被分到单独的芯片中。当参考访问控制器102的“配置”或访问控制器102被“配置”以执行某个步骤时,这应当理解为涉及存储在DSD100中的非易失性存储器上的程序存储器(为清楚起见未示出)上并由访问控制器102执行的程序代码。
在其他示例中,本文所公开的一些或所有步骤可由不具有程序代码的硬件电路执行。具体地讲,出于性能和安全性原因,加密基元可由专用硬件电路实现。例如,计算要求特别高的命令(诸如椭圆曲线乘法或求幂)可由专门设计用于该计算的算术逻辑单元(ALU)来实现,使得与在通用微控制器中使用顺序程序相比,该计算可在单个或更少数量的处理器周期中执行。还需注意,DSD 100中包括的芯片是微控制器,这意味着在该上下文中,它们不在提供硬件抽象层的操作系统下运行,而是程序代码直接作用于硬件电路。虽然出于计算效率和安全性的原因,在本文中将椭圆曲线加密用作示例,但需注意,可同样使用其他公共密钥密码系统,诸如Rivest-Shamir-Adelman(RSA)密码系统。
返回图1,除了主机计算机系统104之外,还存在位于DSD 100外部并且在解锁DSD100并向加密引擎106提供密钥的过程中起作用的多个设备,使得最终能够向主机计算机系统104提供明文解密数据。
具体地讲,存在第一管理器设备110,在大多数示例中它是移动电话。安装在管理器设备110上的应用程序(应用)执行以下步骤。这样,以下步骤可以由DSD 100的制造商在软件中实现,并且通过通常可访问的应用商店(诸如Apple的应用商店或Google Play)分发给管理器设备110。安装在管理器设备110上的应用执行获取DSD 100的所有权的步骤,此时DSD 100上的所有数据被擦除或以其他方式变得不可访问。例如,可通过安全地删除存储在DSD 100上的所有加密密钥来加密擦除数据。
为了简化起见,本公开将步骤描述为简单地由管理器设备110执行,如果它们由应用实现的话。管理器设备110设置DSD 100,这意味着生成各种不同的密钥来支持本文所公开的过程。管理器设备110向DSD注册用户设备111,使得用户设备111随后被称为“授权设备”111。在大多数示例中,授权设备111也是移动电话,它安装有实现被描述为由授权设备111执行的步骤的应用。然而,其他类型的设备可用作授权设备,这将在下文关于信标和密钥卡进行解释。
获取所有权
在购买、解包和上电之后,使用DSD 100的第一步是在管理器设备110上安装应用并将设备注册为管理器设备110。对于该过程,管理器设备110从DSD获得DSD的唯一标识符。该唯一标识符被称为身份密钥(IDK)。在图1所示的示例中,身份密钥被编码为快速响应(QR)码112,该码附连到DSD 100的外表面。安装在管理器设备110上的应用具有对相机的访问权限并且具有从QR码112的图像提取编码信息的软件模块。管理器设备110使用相机捕获QR码112的图像,并且从该QR码解码DSD 100的身份密钥。在一个示例中,QR码对统一资源定位符(URL)进行编码。在这种情况下,通用应用可捕获QR码,该QR码随后自动将电话引导至可下载该应用的应用程序商店。URL还包括身份密钥,使得一旦安装了该应用,该应用就可以解码该标识符。
在另一个示例中,管理器设备110可读取与DSD 100附连或集成的另一个标签或NFC芯片,以获得身份密钥。然后,使用该身份密钥,管理器设备110可发起与DSD 100并且具体地讲与访问控制器102的通信,诸如以无线方式(例如,通过蓝牙)发起。
恢复密钥
在获取DSD 100的所有权时,访问控制器102生成恢复密钥并将该恢复密钥提供给管理器设备110。然后可将该恢复密钥存储在安全存储装置113上或者打印并锁好。最后,备份管理器设备114可使用该恢复密钥来承担管理器设备110先前具有的管理者角色。
授权设备的注册
一旦在获取所有权过程期间最初配置了DSD 100,管理器设备110就注册授权设备111。通常,可存在向单个DSD 100注册的多个授权设备,因此管理器设备110将授权设备注册为多个授权设备中的一个授权设备。更具体地讲,访问控制器102从管理器设备110接收与存储在用户设备111上的私有密钥相关联的公共密钥。管理器设备110本身可能已经通过电子邮件、通过扫描在用户设备111上显示的QR码或任何其他方式从用户设备111接收了该公共密钥。此时,设备111尚未被授权,因此被简称为“用户设备111”。一旦用户设备111被授权,就被称为“授权设备111”。访问控制器102创建授权数据并存储该授权数据,该授权数据指示用户设备111是与配置存储器115上的公共密钥相关联的授权设备(如下所述),以将用户设备111注册为多个授权设备中的一个授权设备。这意味着如下所述创建和存储与授权设备111相关联的密钥和其他数据。然后,用户只需将授权设备111置于无线通信范围内(例如蓝牙范围内),就可使用授权设备111来解锁DSD 100。同样,在安装在授权设备111上的应用中对由授权设备111执行的步骤进行编码。根据配置参数,可能需要用户在DSD 100能够被解锁之前解锁授权设备111。
更具体地讲,访问控制器102具有非易失性配置数据存储库(诸如配置存储器115)的访问权限,该非易失性配置数据存储库可以是访问控制器102外部的闪存存储器(但可同样集成到访问控制器102中)。配置存储器115还可存储将本文所述的步骤实现为由访问控制器102执行的程序代码。需注意,本文的一些示例被配置为假设攻击者可容易地分离并读出配置存储器115的内容,但不应能够使用该信息来解密用户内容数据。也就是说,在那些示例中,没有密钥以明文永久地存储在配置存储器115上或DSD 100中的非易失性存储器上的其他地方。
一旦加密密钥以明文形式提供,它们就仅存储在易失性存储器(未示出)中。这意味着DSD 100的掉电会擦除以明文存储的所有加密密钥。可提供附加电路以在掉电、上电或外部重置时重置所有剩余电荷,使得在实践中物理上不可能从易失性存储器恢复任何信息。在许多情况下,用户断开USB电缆与主机计算机系统104的连接会导致所有易失性存储器的掉电和擦除。在其他示例中,使用需要断开连接以使DSD 100掉电以删除易失性存储器的副电源。
质询-响应
配置存储器115上存储有特定于已注册的授权设备111的数据。该数据可被称为授权设备111的标识符或被称为与存储在授权设备111上的对应私有密钥相关联的公共密钥。该公共密钥可为“传输公共密钥”(TPK),并且由授权设备111在应用首次启动时通过执行椭圆曲线加密(ECC)基元ECC-Pub({传输私有密钥})来生成。(回想一下,虽然出于计算效率和安全性的原因,在本文中将椭圆曲线加密用作示例,但需注意,可同样使用其他加密技术。)该对应私有密钥存储在授权设备111上。访问控制器102被配置为使用标识符(例如,传输公共密钥)或生成并存储另外的公共密钥,以生成对授权设备111的质询。此处应当注意,质询是独特的,因为每个质询是不同的,使得后续质询不同于任何先前的质询。如下所述,这通过将所存储的数据乘以随机盲因子来实现。然后,访问控制器102通过不同于数据路径的通信信道将质询发送到授权设备111。例如,数据路径可包括有线USB连接,而访问控制器102与授权设备111之间的通信信道为无线(例如,蓝牙)连接。
在一个示例中,在创建授权数据并将其存储在与从管理器设备110接收的授权设备111的公共密钥相关联的配置存储器115上之后,响应于授权设备第一次与DSD 100连接而进行重新注册过程。在重新注册过程期间,DSD 100更新授权数据,并且如下所述,可请求授权设备111生成解锁公共密钥(和对应的解锁私有密钥)以及传输公共密钥。然后,授权设备111向访问控制器102提供该解锁公共密钥。
这具有以下优点:两个对应的私有密钥(传输私有密钥和解锁私有密钥)可单独存储在授权设备上,并且这两个密钥可具有不同的访问策略。例如,即使授权设备111被锁定(例如,通过屏幕锁定或超时),也可以在任何时间访问传输私有密钥,以便允许授权设备111和DSD 100之间的持续通信。然而,为了解锁DSD 100,解锁私有密钥的访问策略可能要求用户解锁授权设备111,输入个人识别号码(PIN),提供生物特征或其他认证。这样,被盗的授权设备不能解锁DSD 100。由于在DSD 100通电时仅执行一次解锁DSD 100,所以增加的安全性不会显著降低用户便利性。
授权设备111可计算对质询的响应,该响应不能由未向DSD注册的任何其他设备计算。更具体地讲,不具有对对应于存储在配置存储器115上的标识符的数据的访问权限的设备不能计算正确的响应。例如,授权设备111使用与存储在配置存储器115上的对应解锁公共密钥相关联的所存储的解锁私有密钥来计算对质询的响应。
访问控制器102通过通信信道从授权设备111接收对质询的响应。此处应当注意,如果访问控制器102简单地验证了对质询的响应,并且在成功时,从配置存储器115读取加密密钥,则该加密密钥将以明文存储,这是不期望的,因为这将使得攻击者能够反汇编DSD100并从配置存储器115读取密钥来访问存储在存储介质105上的用户内容数据。
计算密钥
因此,相反,访问控制器102至少部分地基于来自授权设备111的响应来计算加密密钥。这意味着加密密钥不是响应的纯函数,而是涉及如下文更详细描述的其他值。总之,加密密钥以加密形式存储在配置存储器115上,并且基于存储在授权设备上的私有密钥的响应来启用解密该加密密钥的秘密的计算。
在整个本公开中,可参考密钥的“封装”,这仅仅意味着密钥由另一个密钥(即,由“秘密”)加密。在“封装”的许多情况下,加密是对称的,使得存在可以解密该加密密钥的单个秘密(密钥)(没有与该秘密相关联的公共密钥)。在一个示例中,对称加密使用高级加密标准(AES)基元。
最后,访问控制器102(在该示例中经由数据端口103)向加密引擎106提供加密密钥以解密存储在DSD 100的存储介质105上的加密的用户内容数据。如上所述,一旦访问控制器102已经计算出加密密钥,访问控制器102就以明文向数据端口103提供加密密钥,并且数据端口103向加密引擎106发出包括该加密密钥的SECURITY SET PASSWORD命令。
需注意,在提到“解锁”设备的情况下,这可以指上述整个过程,包括质询、对质询的响应以及向加密引擎106发送加密密钥以允许由主机计算机系统发出的明文读取命令。在其他示例中,质询和对质询的响应被认为是单独的“连接”步骤的一部分。在以下“解锁”步骤期间,访问控制器102然后向数据端口103发送加密密钥以允许访问用户内容数据。
值得注意的是,除此之外,攻击者有可能窃听从访问控制器102到数据端口103然后到加密引擎106的密钥传输。然而,密钥的传输不是通过公共网络进行的,因此这种窃听将需要获得对已解锁的DSD的访问和反汇编,而无需从DSD 100移除电力。该场景可作为威胁被丢弃,因为在该场景中,用户内容数据无论如何都可在主机计算机系统104上获得。换句话讲,在连接和解锁DSD 100时,数据可供合法用户和攻击者使用。但是一旦用户将DSD与主机计算机系统104断开连接,这种窃听攻击就不再可能。因此,不会进一步考虑这种攻击。
为了完整起见,需注意,一旦加密引擎106已经接收到加密密钥,主机计算机系统104就可以发出普通的READ SEGMENT命令并且透明地访问加密数据,而无需任何能够感知的差异来访问未加密的装置。这在加密引擎具有硬件加密模块以在存储介质105和/或数据端口103的读取和写入速度或更高速度下实现加密和解密的情况下尤其如此。然而,用户可以断开DSD 100以将其锁定。这样,DSD 100可以由用户携带经过DSD 100可能丢失或被盗的不安全位置,但是其他人很难解密存储在存储介质105上的加密的用户内容数据。如果用户持有DSD,则用户可以将其连接到第二主机计算机系统116,方便地利用用户的授权设备111(例如,电话)来解锁DSD 100,并且容易访问存储在存储介质105上的加密的用户内容数据。
为了方便用户,数据端口103可被配置为使得如果DSD被锁定,则其向主机计算机系统104注册为不存在存储介质的大容量数据存储设备,类似于未插入卡的SSD读卡器。一旦授权设备111连接到DSD 100并且DSD 100被解锁,数据端口103就切换到存在的存储介质,类似于插入了SSD卡的读卡器。此类配置将避免主机计算机系统104的操作系统生成关于数据不可访问或访问被拒绝的任何警告。相反,所有用户交互都将由安装在授权设备上的应用执行,该应用由DSD的制造商完全控制,因此可以优化用户体验。如图1所示,还可存在充当授权设备117和118的移动电话。
信标和密钥卡
再次考虑图1,可以看出,存在另外的设备,诸如信标120和密钥卡121。这些设备也可被视为“授权设备”,因为它们可与授权设备111基本上相同地操作。在由管理器设备110初始注册之前,这些设备被称为“待授权设备”。当参考本文的“用户设备”(主要描述在初始注册之前的移动电话111)时,这也适用于信标120和密钥卡121,除非另有说明,诸如在需要用户输入的情况下。信标120和密钥卡121也具有其自己安全存储的私有密钥,使得它们可响应于特定于一个信标或密钥卡的质询。然而,由于信标120和密钥卡121没有用户输入,因此通信的发起可略有不同。更具体地讲,信标120和密钥卡121可周期性地发送通告以广播它们的存在,DSD 100然后发起与信标120和/或密钥卡121的通信,这提示它们发送它们的传输公共密钥。这与授权设备111相反,该授权设备向DSD 100发送传输公共密钥以发起通信。
在另外的示例中,信标120在其上电并需要由管理器设备110或授权设备111激活时停用。该激活可遵循与解锁DSD 100类似的过程。即,如本文所述,管理器设备110或授权设备111或两者利用其传输公共密钥向每个信标120注册并对质询作出响应。因此,设备可作为管理器设备或授权设备向信标102和/或密钥卡121中的一者注册,而不向DSD 100自身注册。如果对质询的响应有效,则信标120解锁DSD 100。在又一个示例中,信标120彼此注册,使得管理器设备110和/或授权设备111需要仅激活信标120中的一个信标并且剩余信标自动激活。换句话讲,只要信标在彼此的范围内,该激活就通过信标网络“传播”。
需注意,授权设备111、117、118、120和121提供至管理器设备110以便注册的唯一信息是针对每个设备的一个公共密钥。换句话讲,每个设备提供其自己的公共密钥,该公共密钥对应于安全地存储在该设备上的私有密钥。因此,如果攻击者拦截设备111、117、118、120和121中的一者与管理器设备110之间的初始通信,则攻击者可获取的唯一信息是该公共密钥。顾名思义,公共密钥不是秘密,并且可以是众所周知的。因此,攻击者没有获得任何优势。此外,管理器设备110不能使用公共密钥访问与授权设备相关的任何其他东西。例如,管理器设备不能解密或解锁其他管理器设备已向其注册授权设备的任何其他数据存储设备。
访问控制器102从管理器设备110接收授权设备的公共密钥并生成授权数据。访问控制器102将授权数据存储在存储器115上,等待授权设备第一次连接。在第一次连接时,访问控制器102针对授权设备执行质询-响应,并且在成功时,更新授权数据以反映授权设备现在完全注册。该第一次连接过程在本文中称为“重新注册”,并且下文提供了生成授权数据和重新注册的细节。
椭圆曲线加密
在一个示例中,由DSD 100生成并发送到授权设备111的质询基于椭圆曲线加密。这具有较短密钥的优点,导致更有效的通信和存储。此外,当前市场上的大量电话在安全硬件模块内提供专用的椭圆曲线加密功能。安全硬件模块安全地存储用户的私有密钥并在安全硬件模块内执行加密基元而密钥不离开安全硬件模块并且不被发送到通用处理器内核,在通用处理器内核中,密钥可能受到未授权检索攻击。在一个实施方案中,安全硬件模块包括执行其自身的微内核的独立处理器,该微内核不能由操作系统或在电话上运行的任何程序直接访问。安全硬件模块还可包括用于存储256位椭圆曲线私有密钥的非易失性存储装置。在一个实施方案中,安全硬件模块是在一些Apple设备上可用的Secure Enclave协处理器。
授权设备数据记录
图2示出了根据一个实施方案的配置存储器115的截面。更具体地讲,图2示出了配置存储器115中的一个记录201,该记录与多个授权设备中的一个授权设备相关联并且在本文中称为“授权数据”。另外的授权设备的另外的数据记录示意性地指示为虚线框,但不考虑它们以与记录201类似的方式操作时的细节。具体地讲,每个另外的数据记录包括:授权数据,该授权数据由访问控制器102响应于从管理器设备110接收到用户设备的公共密钥而生成;以及更新的授权数据,该更新的授权数据在用户设备(此后成为“授权设备”)的第一次连接期间更新。为方便起见,配置存储器115的数据结构被称为包括一个或多个“记录”的“表”,其中每个记录涉及一个已注册的授权设备,并且每个记录具有多个字段。然而,需注意,可使用其他数据结构,诸如JavaScript对象表示法(JSON)、可扩展标记语言(XML)、二进制格式等。在一个示例中,每个条目具有固定的长度,并且表具有固定数量的行(即,条目)。在本公开内,“记录”也可被称为“行”或“条目”。
记录201包括用于预先授权密钥202的字段,该预先授权密钥响应于授权设备111第一次连接到DSD 100而使用。在该第一次连接期间,访问控制器102执行被称为“重新注册”的多个步骤,如下文更详细所述。预先授权密钥202由授权设备111的标识符(例如,传输公共密钥)生成。例如,访问控制器102可以通过将密钥导出函数连同授权设备槽密钥一起应用于导出函数来生成预先授权密钥202,该密钥导出函数使用传输公共密钥的x坐标作为输入参数,该授权设备槽密钥作为盐(salt)值。授权设备槽密钥可以是存储在配置存储器115上的伪随机数(例如,16字节),并且可用于加密授权设备证书中的数据,使得只有发布的DSD 100可恢复该信息。
此时,可以说存储在配置存储器115上的记录由预先授权密钥202基于授权设备的标识符(例如,传输公共密钥)进行索引。如下面参考图4所述,在重新注册期间,记录201的索引可以作为槽编号存储在证书中,并且此时可以用随机值替换预先授权密钥202,以使所配置的DSD即使拥有传输公共密钥也与出厂的新设备不可区分。
记录201还包括用于元数据封装密钥(MWK)203的第一副本和预先授权元数据封装密钥(PMWK)214的字段。记录201中的一些字段被加密,其由双线框指示,其中双线框内的单个实线框指示“有效载荷”,诸如元数据封装密钥203和预先授权元数据封装密钥214。用于加密有效载荷的对应加密密钥在该双线框的底部标注。因此,例如,元数据封装密钥203由授权设备元数据密钥(ADMK)204加密。应当指出的是,每个加密框可包括与有效载荷数据级联的附加随机数。这保证了即使拥有加密数据(诸如授权设备的传输公共密钥)也不能将加密条目与随机数据区分开。
记录201还包括用于授权设备元数据(ADM)205的字段,该字段是设备类型206(例如,恢复密钥、密钥卡、信标、电话、计算机、手表等)、设备207的角色(例如,管理者或用户)、设备208的名称(例如,“John的电话”)、传输公共密钥209、解锁密钥元数据210(例如,是需要指纹、PIN还是不需要解锁的密钥限制)、临时公共密钥211和解锁公共密钥212的级联。在一个实施方案中,临时公共密钥211是使用椭圆曲线加密(ECC)基元ECC-Pub(EUK)从随机临时私有密钥(EPK)生成的椭圆曲线公共密钥。临时私有密钥未存储在配置存储器115上或授权设备111上,而是在创建临时公共密钥之后被丢弃。这意味着临时私有密钥没有存储在非易失性存储器上,而是仅存储在易失性存储器上。因此,存储器断电会导致临时私有密钥的完全而且不可恢复的丢失(例如,破坏)。解锁公共密钥212对应于解锁私有密钥,该解锁私有密钥存储在授权设备111上并由授权设备111生成,并提供至访问控制器102。
授权设备元数据(与另外的随机数级联)由也在203处以加密形式存储的元数据封装密钥(MWK)213加密。将加密元数据封装密钥203存储在条目201中的主要目的是允许具有授权设备元数据密钥204的访问权限的管理器用户访问加密授权设备元数据205。如果管理器不能访问元数据封装密钥,则管理器将不能从DSD 100检索关于哪些授权设备当前被注册的任何信息。在一个示例中,授权设备元数据密钥204是用于所有授权设备的单个密钥,并且由管理器密钥加密地存储。管理器密钥可以是伪随机值(例如,32字节),并且由访问控制器102在存储介质105被擦除时生成。为每个配对管理器设备110/114加密并存储管理器密钥。管理器密钥可以是伪随机值(例如,32字节),并且由访问控制器102在存储介质105被擦除时生成。为每个配对管理器设备110/114加密并存储管理器密钥。
记录201还包括用于与用户密钥221和元数据封装密钥222的第二副本级联的设备角色220的第二副本的字段。需注意,角色207/220和元数据封装密钥203/222存储在相同但使用不同密钥加密的两个副本中。存储角色207/220的两个副本的目的是使得访问控制器102能够在连接期间(响应于授权设备元数据被解密)和解锁期间(响应于用户密钥221被解密)验证角色。存储元数据封装密钥203的第一副本的目的是将其提供给具有授权设备元数据密钥的访问权限的管理器设备。元数据封装密钥222的第二副本的目的是在第一次连接期间将其提供给预先授权的设备。级联值220、221、222一起由临时解锁秘密(EUS)223加密,该临时解锁秘密最初由Diffie-Hellman方法使用对应于临时公共密钥211和解锁公共密钥212的临时私有密钥生成。可以使用临时公共密钥211和存储在授权设备111上并且对应于解锁公共密钥212的相关联的解锁私有密钥来恢复临时解锁秘密223。换句话讲,可以使用临时私有密钥和解锁公共密钥212在授权设备111初次连接到DSD 100时生成临时解锁秘密223。需注意,临时私有密钥本身未被存储,但是临时解锁秘密223仍然可以如上所述恢复。这意味着用户密钥221能够基于来自授权设备的响应而解密。需注意,用户密钥221对于所有授权设备是相同的,并且可用于解密用户内容数据。这并不一定意味着用户密钥本身解密用户内容数据。还可存在用户密钥解密并且最终密钥解密用户内容数据的密钥。术语“使用密钥解密用户内容数据”和“启用用户内容数据的解密”是指经由链中的多个密钥的间接解密。相比之下,术语“密钥解密数据”是指利用密钥直接解密数据,诸如加密数据与密钥的模乘。这里,用户密钥221用于间接解密数据,并且可以是按顺序解密的密钥链的起点,直到最后,该链在解密用户内容数据的密钥处结束。虽然在本文所公开的大多数示例中,临时解锁秘密223解密用户密钥221,但是也可以其他方式从对质询的响应中导出加密密钥。例如,对质询的响应可以直接用作解密用户内容数据的加密密钥。
密钥和元数据的这种分配使得能够进行关于授权设备、管理器设备和其他方面的整个配置信息存储在DSD 100自身上的配置。然而,授权设备需要存储在相应授权设备上的密钥来解锁DSD 100。如果不具有任何密钥的访问权限的未注册用户想要访问设备的整个配置,诸如检索注册设备列表,则该未注册用户将只需要恢复密钥就能作为管理器设备注册并获得访问权限。然后,DSD 100可以使用管理器密钥向新管理器设备提供配置存储器115的全部内容。此外,可存在两个管理器设备,并且两者都可注册或移除授权设备。其他管理器设备将能够通过将其自身的记录与存储在配置存储器115上的数据同步来获得配置更新。在一些示例中,DSD 100被配置为如果使用恢复密钥来获得访问权限但为策略决定,则擦除所有授权设备的记录201(但不删除用户内容数据或用户密钥221,其可以加密形式存储在配置存储器115上,与条目201和各条目分开)。
图3示出了根据一个实施方案的授权设备111和访问控制器102之间的控制流300。首先,授权设备111通过发送301其传输公共密钥来发起连接方法。该步骤可容易地由攻击者重演。访问控制器102然后利用对证书的请求进行回复302,并且响应于该请求,授权设备111发送303先前通过重新注册过程从访问控制器102获得的证书。
证书
图4示出了根据一个实施方案的由数据存储设备100发出并由授权设备111发送到数据存储设备以解锁数据存储设备的证书400。在该示例中,证书400包括多个类型-长度-值(TLV)字段,其中类型值指示作为证书的一部分的字段的种类,长度是值字段的大小(通常以字节为单位),并且值是可变大小的字节系列,其包含证书的该部分的数据。
证书400以TLV原子开始,该TLV原子指示随后的证书的类型。这被称为证书角色401并且具有2字节值以指示这是授权设备证书。
证书400属于证书链。访问控制器102使用该链来验证和认证证书400。为了指示证书400属于哪个链,证书400具有4字节的根证书标识符(ID)402。证书链中的每个证书的证书标识符相同。不匹配的证书标识符指示无效证书。在一个示例中,根证书标识符指示证书链是生产还是开发认证链。在其他示例中,可以由相应的证书标识符指示其他组。
证书400还包括证书深度403的1字节指示符。证书的深度被定义为其与证书链内的根证书的距离。根证书被定义为具有零深度。当处理给定的证书链时,验证深度字段以确保链的完整性。
证书400还包括64字节证书传输公共密钥404(例如,根据美国国家标准与技术研究院(NIST)P-256椭圆曲线)。每个证书经由传输公共密钥来表示/索引。每种类型的公共密钥将具有其自己的专用标签类型。也就是说,标签类型将表示用于生成传输公共密钥的密码套件,诸如P-256密码套件。
证书400还包括数据字段405(下文解释)并且经由签名406进行认证。访问控制器102接收证书400并在信任或使用证书的内容中的任一个之前验证签名。为了启用签名验证,64字节签名者公共密钥407作为证书的一部分而提供。签名406本身的长度为64字节,并且在证书内遇到的所有先前TLV 401-405、407上计算,而不管它们是否由具体实施识别。更具体地讲,签名406从证书数据的散列导出。签名的特定数据是证书相关的,但包含用于表示证书的所有TLV,包括未被识别的TLV。用于生成签名的密钥是逻辑身份密钥并且与签名者公共密钥407相关联。
数据字段405包括槽编号410,它表示记录201在配置存储器115内的索引。数据字段405还包括元数据封装密钥411的另一副本(除了图2所示的两个副本之外)。数据字段405利用授权设备槽密钥(ADSK)412加密,该ADSK是存储在配置存储器115中的16字节伪随机值,并且用于加密授权设备证书中的数据,使得只有进行发布的DSD 100可以恢复信息。
解锁数据存储设备
返回图3,如果授权设备111希望解锁DSD 100,则授权设备111将包括加密的元数据封装密钥(MWK)213/411的证书400发送303到访问控制器102。证书400还包括槽编号410,该槽编号是记录201在存储器115中的索引。
访问控制器102使用存储在配置存储器115中的授权设备槽密钥来解密304数据字段405,并提取槽编号和元数据封装密钥。访问控制器102然后查询配置存储器115以从配置存储器115读取305适当的记录201,并使用元数据封装密钥来解密306授权设备元数据205。这产生临时公共密钥211,该临时公共密钥也可被称为授权设备的标识符,它唯一地识别授权设备,因为临时公共密钥211与仅存储在授权设备111上的解锁私有密钥加密地相关联。访问控制器102可以执行附加检查307,诸如验证包括在授权设备元数据205中的传输公共密钥209与证书400中提供的传输公共密钥404匹配。此外,访问控制器102对照有效值集合验证角色401,并且将角色与连接相关联。这意味着访问控制器102在连接的持续时间期间知道当前的角色(授权设备或管理器设备)。例如,访问控制器102在易失性存储器上存储指示证书中提供的角色401的参数值。如果前述检查中的任一项未通过,则认为授权设备被撤销,并且发出关于该结果的错误。否则,连接尝试成功,并且访问控制器102向授权设备111发送308连接确认消息。
在该阶段,授权设备111被连接,并且解锁过程通过授权设备111将解锁请求发送320到访问控制器102而开始。该解锁请求包括与存储在授权设备的安全硬件模块上的私有密钥相关联的解锁公共密钥。访问控制器102将所接收的解锁公共密钥与存储在授权设备元数据记录205中的解锁公共密钥212匹配321。接下来,访问控制器102生成322新的盲值(也称为解锁盲密钥(UBK)),该新的盲值基本上是临时私有标量并且随机生成。
访问控制器102然后基于授权设备的标识符(例如,临时公共密钥211)乘以解锁盲密钥(UBK)来生成质询。更具体地讲,访问控制器102将临时公共密钥211乘以323解锁盲密钥,返回结果的完整X坐标和Y坐标,注意在椭圆曲线上执行该操作。然后,访问控制器102将X坐标和Y坐标作为质询发送到324授权设备111。此处需注意,该质询基于授权设备111的标识符,因为临时公共密钥是导出质询的乘法的一个因子。还需注意,对于每个解锁请求(即,320),生成不同的解锁盲密钥以避免中间人攻击。
此外,访问控制器102计算325解锁盲密钥的倒数(UBK-1)。访问控制器102可在等待来自授权设备111的响应时计算解锁盲密钥的倒数。
授权设备111通过将质询与解锁私有密钥相乘326来计算对质询的响应,该解锁私有密钥存储在授权设备的安全硬件模块中并且对应于存储在配置存储器115上的解锁公共密钥212。这可涉及加密基元的执行,该加密基元可完全在授权设备111内的安全硬件模块内执行。授权设备111然后将该结果在响应消息中发回327。访问控制器102将返回的结果与解锁盲密钥的倒数相乘328,以计算临时解锁秘密(EUS)223。
在数学符号中,P表示临时公共密钥,并且k表示在图3的步骤322处创建的解锁盲密钥k。访问控制器102计算323乘积k*P并将其发送到324授权设备111。授权设备111将质询与解锁私有密钥j相乘326以计算j*k*P并将结果返回327到访问控制器102。访问控制器102将该响应与解锁盲密钥的倒数k-1相乘238以计算
k-1*j*k*P
由于椭圆曲线的交换性,其等于j*P(即,k-1*j*k*P=k*k-1*j*P=j*P)。
访问控制器102然后使用j*P作为临时解锁秘密(即,密钥)来解密329用户密钥221。即,访问控制器102使用临时解锁秘密来将存储在DSD 100上的用户密钥221解密,该用户密钥利用临时解锁秘密加密。更具体地讲,访问控制器102解密329用户密钥,该用户密钥然后解密330“用户驱动密钥”,该“用户驱动密钥”然后最终经由TCG命令发送331到加密引擎106。即,用户驱动密钥可由访问控制器102使用基于用户密钥的密钥导出函数来生成。用户驱动密钥是用于解锁DSD 100的TCG凭据,并且可以等同于本文所述的“加密密钥”。就Opal而言,这是User2凭据。
需注意,通过使用存储在授权设备111上的解锁私有密钥和解锁公共密钥212从椭圆曲线Diffie-Hellman过程的结果导出对称密钥,在重新注册过程期间生成临时解锁秘密。所得密钥用于加密用户密钥221,但不存储在DSD 100中。相反,每当授权设备请求解锁DSD 100时,重新生成该密钥,如上所述。
在另一个示例中,在上述公式中,解锁私有密钥j可被该解锁私有密钥与从通行码导出的值的乘积替换。解锁私有密钥将仍然存储在授权设备的安全硬件模块中,但是单独的解锁私有密钥将不能解密存储在DSD 100上的用户内容数据。相反,用户需要输入通行码来计算对质询的响应并发送327该响应。这将简单地用通行码值与上面的j的乘积来替换j。DSD将忽略该改变,因为临时解锁秘密223将从访问控制器102的角度以与上文相同的方式生成。
注册和重新注册
需注意,图2所示的数据记录201在授权设备111已完成重新注册过程之后示出,并且被允许解密加密的用户内容数据。同样,总体上有三个步骤:首先,管理器设备110将用户设备111注册一次,使其成为多个授权设备中的一个授权设备。第二,在与访问控制器102第一次连接时,授权设备111重新注册一次,以完成所涉及的密钥的生成。第三,授权设备111随后与访问控制器102连接,以解锁DSD 100多次。
在由管理器设备110发起的(初始)注册步骤期间,访问控制器102从管理器设备110接收对应于存储在用户设备111上的私有密钥的公共密钥。作为响应,访问控制器102创建授权数据,该授权数据类似于图2中的数据记录201,不同之处在于解锁公共密钥212字段保持传输公共密钥209(如从管理器设备110接收的那样),因为解锁公共密钥尚未生成。访问控制器102生成预先授权密钥202,该预先授权密钥基本上是用于定位记录201的索引。预先授权密钥由密钥生成函数使用所接收的传输公共密钥209的x坐标和盐值来生成。盐值可以是授权设备槽密钥,它可以是在“获取所有权”过程期间生成的16字节伪随机值,存储在配置存储器115上,并且不与授权设备共享。这样,在每次“恢复出厂设置”之后,盐可以是不同的,诸如每当管理器设备获取DSD 100的所有权时。
创建存储在记录201中的授权数据还包括诸如通过生成16字节伪随机值生成元数据封装密钥222。访问控制器102将元数据封装密钥存储在字段222中。此外,访问控制器102生成临时解锁秘密223并利用临时解锁秘密223对角色220(例如,“授权设备”)、用户密钥221和新的元数据封装密钥222加密。然后,访问控制器102从临时解锁秘密223生成临时公共密钥211并丢弃临时解锁秘密223。
与图2相比,授权设备元数据205不是由新的元数据封装密钥加密,而是由预先授权的元数据封装密钥加密,因为实际的元数据封装密钥222对于授权设备111尚不可用。预先授权的元数据封装密钥可与该阶段的预先授权密钥202相同或单独生成。需注意,现在加密授权设备元数据205的预先授权的元数据封装密钥可仅由访问控制器102生成,而不由授权设备111提供,因为授权设备111不具有对用于生成预先授权的元数据封装密钥的授权设备槽密钥的访问权限。
因此,在授权设备111首先与访问控制器102连接时,授权设备111将其传输公共密钥发送到访问控制器102。访问控制器102使用传输公共密钥和存储的授权设备槽密钥来生成预先授权密钥202。访问控制器102然后可搜索配置存储器115中的预先授权密钥202以检索记录201。访问控制器102还可使用预先授权密钥作为预先授权元数据封装密钥来解密授权设备元数据205。
如上所述,访问控制器102使用临时公共密钥211和解锁盲密钥来生成质询。访问控制器102然后从响应创建临时解锁秘密223。需注意,仅具有对应于传输公共密钥209的私有密钥的授权设备111可创建有效响应。这意味着即使攻击者反汇编配置存储器115并读取授权设备槽密钥以生成预先授权元数据封装密钥来解密临时公共密钥211,攻击者仍将无法生成临时解锁秘密223。
访问控制器102通过检查响应充当临时解锁秘密223来验证该响应,并且作为响应,更新记录201中的授权数据。更具体地,访问控制器102检查用于解锁公共密钥的字段212是否与传输公共密钥209相同。响应于两者相同(如上所述),访问控制器102从授权设备111请求新的解锁公共密钥并将返回的密钥存储为解锁公共密钥212。
访问控制器进一步解密在由管理器设备110注册期间生成的元数据封装密钥222。在该阶段,访问控制器102可重新生成临时解锁秘密223、加密角色220、用户密钥221和元数据封装密钥222,重新生成并存储临时公共密钥211,并丢弃临时解锁秘密223。最后,访问控制器利用元数据封装密钥222对授权设备元数据205加密,并且利用随机值覆盖预先授权密钥202,以使配置存储器115即使在持有传输公共密钥和/或解锁公共密钥的情况下也无法与随机数据区分开。这结束了存储在记录201中的授权数据的更新和注册过程。因此,作为多个授权设备中的一个授权设备的授权设备111现在被允许通过上述解锁步骤对加密的用户内容数据进行解密。
涉及授权数据的创建和更新的上述过程使得多个授权设备能够在由管理器设备110注册的第一步骤期间仅使用其公共密钥来注册。这样,就不需要共享可能被拦截并用于恶意解锁用户的其他设备的秘密信息。
图5示出了根据一个实施方案的用于利用数据存储设备100授权用户设备111的方法500,如由访问控制器102或集成在DSD 100内的任何其他芯片(软件、固件、硬件或它们的组合)执行的。访问控制器102从管理器设备110接收501公共密钥,该公共密钥与存储在待授权用户设备111上的私有密钥相关联。访问控制器102创建502授权数据,并将与公共密钥相关联的授权数据存储503在配置存储器115中,从而将用户设备111注册为多个授权设备中的一个授权设备。还可以存在重新注册过程,其中DSD 100从多个授权设备111中的一个授权设备接收公共密钥的指示,基于授权数据来生成对多个授权设备中的一个授权设备的质询,并将该质询发送到多个授权设备中的一个授权设备。然后,访问控制器102从多个授权设备中的一个授权设备接收对质询的响应,并且在验证该响应时,更新存储在配置存储器115中的授权数据,从而允许多个授权设备中的一个授权设备解密加密的用户内容数据。
注册数据存储设备
数据端口103向主机计算机系统104注册为块数据存储设备。例如,通用串行总线(USB)设备以USB设备描述符的形式提供信息。USB设备描述符包含关于设备的相关信息。因此,在数据存储设备经由USB连接而连接到主机计算机系统的实施方案中,数据存储设备通过配置其USB设备描述符以指示数据存储设备为块数据存储设备来向主机计算机系统注册为块数据存储设备。
USB设备描述符提供关于USB设备的结构化信息,诸如设备类别、支持的协议、设备类型、制造商和其他配置参数。主机计算机的操作系统可通过向数据存储设备发送各种标准控制请求(例如,GET_DESCRIPTOR请求)来获得数据存储设备的USB设备描述符。响应于接收到这些请求,数据存储设备向主机计算机系统提供USB_DEVICE_DESCRIPTOR,从而将数据存储设备向主机计算机系统注册为块数据存储设备。主机计算机解释USB_DEVICE_DESCRIPTOR以确定数据存储设备的配置和能力。主机计算机系统然后可将关于数据存储设备的信息存储在主机计算机系统的操作系统的寄存器中。
本领域的技术人员应当理解,在不脱离本公开的广泛一般范围的情况下,可对上述实施方案作出许多变型和/或修改。本发明的实施方案因此将在所有方面被认为是示例性的而非限制性的。
Claims (20)
1.一种数据存储设备,所述数据存储设备包括数据路径和访问控制器,其中:
所述数据路径包括:
数据端口,所述数据端口被配置为在主机计算机系统和所述数据存储设备之间传输数据,其中所述数据存储设备被配置为向所述主机计算机系统注册为块数据存储设备;
非易失性存储介质,所述非易失性存储介质被配置为存储加密的用户内容数据;
加密引擎,所述加密引擎连接在所述数据端口和所述存储介质之间,并且被配置为响应于来自所述主机计算机系统的请求而使用加密密钥对存储在所述存储介质上的所述加密的用户内容数据进行解密;和
数据存储库,所述数据存储库被配置为存储多个条目,所述多个条目包括与相应多个授权设备相关联的授权数据;并且
所述访问控制器被配置为:
从管理器设备接收公共密钥,其中所述公共密钥与存储在待授权设备上的私有密钥相关联;
创建所述授权数据;以及
将与所述公共密钥相关联的所述授权数据存储在所述数据存储库中,从而将所述待授权设备注册为所述多个授权设备中的一个授权设备。
2.根据权利要求1所述的数据存储设备,其中所述访问控制器被进一步配置为:
从所述多个授权设备中的所述一个授权设备接收所述公共密钥的指示;
基于所述授权数据来生成质询;
将所述质询发送到所述多个授权设备中的所述一个授权设备;
从所述多个授权设备中的所述一个授权设备接收对所述质询的响应;以及
在验证所述响应时,更新存储在所述数据存储库上的所述授权数据,从而允许所述多个授权设备中的所述一个授权设备解密所述加密的用户内容数据。
3.根据权利要求1所述的数据存储设备,其中存储所述授权数据包括基于所述公共密钥来生成所述授权数据的索引。
4.根据权利要求3所述的数据存储设备,其中所述授权数据的所述索引基于存储在所述数据存储库中的私有密钥。
5.根据权利要求4所述的数据存储设备,其中存储在所述数据存储库中的所述私有密钥对于所述多个授权设备中的每个授权设备是相同的。
6.根据权利要求1所述的数据存储设备,其中用于所述多个授权设备中的每个授权设备的所述授权数据指示:
传输公共密钥,所述传输公共密钥用于在所述访问控制器和所述授权设备之间传输数据;和
解锁公共密钥,所述解锁公共密钥用于生成对所述授权设备的所述质询。
7.根据权利要求1所述的数据存储设备,其中:
所述授权数据指示第一公共密钥和第二公共密钥;并且
所述访问控制器被配置为基于所述第一公共密钥与所述第二公共密钥相同来选择性地更新所述授权数据。
8.根据权利要求1所述的数据存储设备,其中所述多个授权设备包括以下中的一者或多者:具有用户接口的用户设备、不具有用户接口的信标和不具有用户接口的密钥卡。
9.根据权利要求1所述的数据存储设备,其中所述公共密钥从所述待授权设备传送到所述管理器设备。
10.根据权利要求9所述的数据存储设备,其中将所述公共密钥从所述待授权设备传送到所述管理器设备是通过不安全的信道。
11.根据权利要求1所述的数据存储设备,其中:
用于所述多个授权设备中的每个授权设备的所述授权数据指示所述加密密钥;并且
所述加密密钥对于所述多个授权设备中的每个授权设备是相同的。
12.根据权利要求11所述的数据存储设备,其中所述加密密钥使用特定于所述多个授权设备中的每个授权设备的解锁秘密来加密。
13.根据权利要求12所述的数据存储设备,其中所述访问控制器被配置为基于对质询的响应来计算所述解锁秘密,所述响应来自所述多个授权设备中的一个授权设备,所述质询基于与所述多个授权设备中的所述一个授权设备相关联的所述公共密钥生成。
14.根据权利要求1所述的数据存储设备,其中所述授权数据包括授权设备元数据,所述授权设备元数据由能够从所述公共密钥导出的预先授权的元数据封装密钥来加密。
15.根据权利要求14所述的数据存储设备,其中所述预先授权的元数据封装密钥能够使用存储在所述数据存储库中的私有密钥经由密钥导出函数从所述公共密钥导出。
16.根据权利要求1所述的数据存储设备,其中所述授权数据包括元数据封装密钥以加密授权设备元数据。
17.根据权利要求16所述的数据存储设备,其中所述元数据封装密钥是对称密钥。
18.一种用于相对于数据存储设备授权用户设备的方法,所述方法包括:
从管理器设备接收公共密钥,其中所述公共密钥与存储在待授权设备上的私有密钥相关联;
创建授权数据;以及
将与所述公共密钥相关联的所述授权数据存储在与所述数据存储设备集成的数据存储库中,从而将所述待授权设备注册为多个授权设备中的一个授权设备。
19.根据权利要求18所述的方法,还包括:
从所述多个授权设备中的所述一个授权设备接收所述公共密钥的指示;
基于所述授权数据来生成质询;
将所述质询发送到所述多个授权设备中的所述一个授权设备;
从所述多个授权设备中的所述一个授权设备接收对所述质询的响应;以及
在验证所述响应时,更新存储在所述数据存储库上的所述授权数据,从而允许所述多个授权设备中的所述一个授权设备解密存储在所述数据存储设备上的加密的用户内容数据。
20.一种数据存储设备,包括:
用于从管理器设备接收公共密钥的装置,其中所述公共密钥与存储在待授权设备上的私有密钥相关联;
用于创建授权数据的装置;和
用于以下操作的装置:将与所述公共密钥相关联的所述授权数据存储在与所述数据存储设备集成的数据存储库中,从而将所述待授权设备注册为多个授权设备中的一个授权设备。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/706,797 | 2019-12-08 | ||
US16/706,797 US11366933B2 (en) | 2019-12-08 | 2019-12-08 | Multi-device unlocking of a data storage device |
PCT/US2020/039715 WO2021118642A1 (en) | 2019-12-08 | 2020-06-26 | Multi-device unlocking of a data storage device |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113260992A true CN113260992A (zh) | 2021-08-13 |
CN113260992B CN113260992B (zh) | 2024-09-27 |
Family
ID=76209715
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080007095.3A Active CN113260992B (zh) | 2019-12-08 | 2020-06-26 | 数据存储设备的多设备解锁 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11366933B2 (zh) |
CN (1) | CN113260992B (zh) |
DE (1) | DE112020000180T5 (zh) |
WO (1) | WO2021118642A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI763294B (zh) * | 2021-02-03 | 2022-05-01 | 宜鼎國際股份有限公司 | 可數位簽章的資料儲存裝置、數位簽章系統及數位簽章方法 |
US12069060B2 (en) * | 2021-06-28 | 2024-08-20 | SanDisk Technologies, Inc. | Remote registration of a data storage device with biometric authentication |
US11741214B2 (en) | 2021-06-29 | 2023-08-29 | Western Digital Technologies, Inc. | Passcode authentication based data storage device |
US20230216662A1 (en) * | 2021-12-30 | 2023-07-06 | Arris Enterprises Llc | Optimized key management for data signing systems |
US12118103B2 (en) | 2022-03-08 | 2024-10-15 | SanDisk Technologies, Inc. | Certificates in data storage devices |
US12101418B2 (en) * | 2022-03-08 | 2024-09-24 | SanDisk Technologies, Inc. | Cryptographic keys for authorization requests from a data storage device |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040190722A1 (en) * | 2003-03-31 | 2004-09-30 | Grobman Steven L. | Encrypted content recovery |
US20070300052A1 (en) * | 2005-07-14 | 2007-12-27 | Jevans David A | Recovery of Data Access for a Locked Secure Storage Device |
CN105900375A (zh) * | 2014-01-13 | 2016-08-24 | 维萨国际服务协会 | 用于在认证交易中保护身份的高效方法 |
CN106797311A (zh) * | 2014-08-29 | 2017-05-31 | 维萨国际服务协会 | 用于安全密码生成的方法 |
CN107113292A (zh) * | 2014-11-14 | 2017-08-29 | 微软技术许可有限责任公司 | 以增强的安全性存储加密的数据 |
CN110352413A (zh) * | 2017-03-16 | 2019-10-18 | 于俊 | 一种基于策略的实时数据文件访问控制方法与系统 |
Family Cites Families (58)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6131090A (en) | 1997-03-04 | 2000-10-10 | Pitney Bowes Inc. | Method and system for providing controlled access to information stored on a portable recording medium |
US5978475A (en) | 1997-07-18 | 1999-11-02 | Counterpane Internet Security, Inc. | Event auditing system |
EP1415431A2 (en) | 2000-06-12 | 2004-05-06 | Zendit | Encryption system that dynamically locates keys |
US6901512B2 (en) | 2000-12-12 | 2005-05-31 | Hewlett-Packard Development Company, L.P. | Centralized cryptographic key administration scheme for enabling secure context-free application operation |
US7380120B1 (en) | 2001-12-12 | 2008-05-27 | Guardian Data Storage, Llc | Secured data format for access control |
US6820176B2 (en) * | 2002-05-02 | 2004-11-16 | International Business Machines Corporation | System, method, and computer program product for reducing overhead associated with software lock monitoring |
US20040054901A1 (en) | 2002-09-17 | 2004-03-18 | Microsoft Corporation | Creating and verifying a sequence of consecutive data |
JP2004201038A (ja) | 2002-12-18 | 2004-07-15 | Internatl Business Mach Corp <Ibm> | データ記憶装置、これを搭載した情報処理装置及びそのデータ処理方法並びにプログラム |
US20050114686A1 (en) | 2003-11-21 | 2005-05-26 | International Business Machines Corporation | System and method for multiple users to securely access encrypted data on computer system |
US20050210247A1 (en) | 2004-03-18 | 2005-09-22 | Ong Peng T | Method of virtual challenge response authentication |
US8166296B2 (en) | 2004-10-20 | 2012-04-24 | Broadcom Corporation | User authentication system |
EP1920305A4 (en) * | 2005-07-21 | 2011-01-19 | Clevx Llc | MEMORY LOCKING SYSTEM |
CN101375259B (zh) | 2006-01-24 | 2011-10-19 | 克莱夫公司 | 数据保全系统 |
US7877603B2 (en) | 2006-09-07 | 2011-01-25 | International Business Machines Corporation | Configuring a storage drive to communicate with encryption and key managers |
US7762553B2 (en) | 2006-11-25 | 2010-07-27 | Harris Curtis J | Form-fitting electronic game controller cover |
US20080219449A1 (en) | 2007-03-09 | 2008-09-11 | Ball Matthew V | Cryptographic key management for stored data |
US8111828B2 (en) | 2007-07-31 | 2012-02-07 | Hewlett-Packard Development Company, L.P. | Management of cryptographic keys for securing stored data |
US10778417B2 (en) | 2007-09-27 | 2020-09-15 | Clevx, Llc | Self-encrypting module with embedded wireless user authentication |
US10783232B2 (en) | 2007-09-27 | 2020-09-22 | Clevx, Llc | Management system for self-encrypting managed devices with embedded wireless user authentication |
US10181055B2 (en) | 2007-09-27 | 2019-01-15 | Clevx, Llc | Data security system with encryption |
TWI537732B (zh) | 2007-09-27 | 2016-06-11 | 克萊夫公司 | 加密之資料保全系統 |
US8312269B2 (en) | 2007-11-28 | 2012-11-13 | Hitachi Global Storage Technologies Netherlands, B.V. | Challenge and response access control providing data security in data storage devices |
US20090296926A1 (en) | 2008-06-02 | 2009-12-03 | Sun Microsystems, Inc. | Key management using derived keys |
US20100122327A1 (en) | 2008-11-10 | 2010-05-13 | Apple Inc. | Secure authentication for accessing remote resources |
US20100174913A1 (en) | 2009-01-03 | 2010-07-08 | Johnson Simon B | Multi-factor authentication system for encryption key storage and method of operation therefor |
US9286493B2 (en) | 2009-01-07 | 2016-03-15 | Clevx, Llc | Encryption bridge system and method of operation thereof |
US9734356B2 (en) | 2009-06-29 | 2017-08-15 | Clevx, Llc | Encrypting portable media system and method of operation thereof |
US8949566B2 (en) * | 2010-12-02 | 2015-02-03 | International Business Machines Corporation | Locking access to data storage shared by a plurality of compute nodes |
US9881301B2 (en) | 2012-04-27 | 2018-01-30 | Google Llc | Conversion tracking of a user across multiple devices |
US8712044B2 (en) | 2012-06-29 | 2014-04-29 | Dark Matter Labs Inc. | Key management system |
US10079678B2 (en) | 2012-07-24 | 2018-09-18 | Intel Corporation | Providing access to encrypted data |
US9106412B2 (en) | 2013-03-08 | 2015-08-11 | Mcafee, Inc. | Data protection using programmatically generated key pairs from a master key and a descriptor |
US9690916B2 (en) | 2013-11-05 | 2017-06-27 | Sunasic Technologies Inc. | Multi-function identification system and operation method thereof |
US9998914B2 (en) | 2014-04-16 | 2018-06-12 | Jamf Software, Llc | Using a mobile device to restrict focus and perform operations at another mobile device |
DE102014113430A1 (de) | 2014-09-17 | 2016-03-17 | Bundesdruckerei Gmbh | Verteilte Datenspeicherung mittels Berechtigungstoken |
US20160149711A1 (en) | 2014-11-24 | 2016-05-26 | Wyzr Limited | Distributed identification system for peer to peer message transmission |
US9455963B1 (en) | 2014-12-18 | 2016-09-27 | Amazon Technologies, Inc. | Long term encrypted storage and key management |
SG10201601937TA (en) | 2015-03-12 | 2016-10-28 | 18 Degrees Lab Pte Ltd | Method and system for facilitating authentication |
US9762548B2 (en) | 2015-03-13 | 2017-09-12 | Western Digital Technologies, Inc. | Controlling encrypted data stored on a remote storage device |
AU2016287732A1 (en) | 2015-06-30 | 2017-12-07 | Visa International Service Association | Mutual authentication of confidential communication |
US10154020B1 (en) | 2015-07-08 | 2018-12-11 | Clevx, Llc | Referral identity system and method of operation thereof |
US9864878B2 (en) | 2015-07-27 | 2018-01-09 | International Business Machines Corporation | Event log tamper detection |
US10318193B2 (en) | 2015-09-14 | 2019-06-11 | Sandisk Technologies Llc | Systems and methods of command authorization |
US9852300B2 (en) | 2015-09-25 | 2017-12-26 | Saife, Inc. | Secure audit logging |
US10355858B2 (en) | 2016-03-30 | 2019-07-16 | Intel Corporation | Authenticating a system to enable access to a diagnostic interface in a storage device |
CN107294721B (zh) | 2016-03-30 | 2019-06-18 | 阿里巴巴集团控股有限公司 | 基于生物特征的身份注册、认证的方法和装置 |
US10776502B2 (en) | 2016-06-12 | 2020-09-15 | Apple Inc. | Diversification of public keys |
US10574648B2 (en) | 2016-12-22 | 2020-02-25 | Dashlane SAS | Methods and systems for user authentication |
US10965474B1 (en) | 2017-02-27 | 2021-03-30 | Apple Inc. | Modifying security state with highly secured devices |
US10432397B2 (en) | 2017-05-03 | 2019-10-01 | Dashlane SAS | Master password reset in a zero-knowledge architecture |
WO2019061001A1 (en) | 2017-09-29 | 2019-04-04 | Peerio Technologies Inc. | ACCESS TO SECURE INFORMATION |
US10439812B2 (en) | 2018-02-02 | 2019-10-08 | SquareLink, Inc. | Technologies for private key recovery in distributed ledger systems |
US11700117B2 (en) | 2018-03-27 | 2023-07-11 | Workday, Inc. | System for credential storage and verification |
US20190303603A1 (en) | 2018-04-03 | 2019-10-03 | Seagate Technology Llc | Location-based security of storage drives |
US10785028B2 (en) | 2018-06-29 | 2020-09-22 | Intel Corporation | Protection of keys and sensitive data from attack within microprocessor architecture |
US20200320622A1 (en) | 2019-04-05 | 2020-10-08 | Secude Ag | Method and system for processing and documenting digital transactions |
US11271751B2 (en) | 2019-06-21 | 2022-03-08 | Oracle International Corporation | Distributed data records |
US11153100B2 (en) | 2019-11-18 | 2021-10-19 | Microsoft Technology Licensing, Llc | Achieving certificate pinning security in reduced trust networks |
-
2019
- 2019-12-08 US US16/706,797 patent/US11366933B2/en active Active
-
2020
- 2020-06-26 DE DE112020000180.6T patent/DE112020000180T5/de active Pending
- 2020-06-26 WO PCT/US2020/039715 patent/WO2021118642A1/en active Application Filing
- 2020-06-26 CN CN202080007095.3A patent/CN113260992B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040190722A1 (en) * | 2003-03-31 | 2004-09-30 | Grobman Steven L. | Encrypted content recovery |
US20070300052A1 (en) * | 2005-07-14 | 2007-12-27 | Jevans David A | Recovery of Data Access for a Locked Secure Storage Device |
CN105900375A (zh) * | 2014-01-13 | 2016-08-24 | 维萨国际服务协会 | 用于在认证交易中保护身份的高效方法 |
CN106797311A (zh) * | 2014-08-29 | 2017-05-31 | 维萨国际服务协会 | 用于安全密码生成的方法 |
CN107113292A (zh) * | 2014-11-14 | 2017-08-29 | 微软技术许可有限责任公司 | 以增强的安全性存储加密的数据 |
CN110352413A (zh) * | 2017-03-16 | 2019-10-18 | 于俊 | 一种基于策略的实时数据文件访问控制方法与系统 |
Non-Patent Citations (1)
Title |
---|
赵卓;马映红;: "安全共享的密文数据库研究与设计", 计算机工程与设计, no. 12, 28 June 2009 (2009-06-28) * |
Also Published As
Publication number | Publication date |
---|---|
DE112020000180T5 (de) | 2021-09-02 |
WO2021118642A1 (en) | 2021-06-17 |
CN113260992B (zh) | 2024-09-27 |
US11366933B2 (en) | 2022-06-21 |
US20210173944A1 (en) | 2021-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113545006B (zh) | 远程授权访问锁定的数据存储设备 | |
CN113383511B (zh) | 用于解锁数据存储设备的恢复密钥 | |
CN113260992B (zh) | 数据存储设备的多设备解锁 | |
CN113557689B (zh) | 用管理器设备初始化数据存储设备 | |
US11334677B2 (en) | Multi-role unlocking of a data storage device | |
CN113316915B (zh) | 解锁数据存储设备 | |
CN113383335B (zh) | 数据存储设备事件的安全日志记录 | |
CN113545021B (zh) | 预先授权设备的注册 | |
US20110302398A1 (en) | Key protectors based on online keys | |
US11582607B2 (en) | Wireless security protocol | |
US20230291548A1 (en) | Authorization requests from a data storage device to multiple manager devices | |
US20230289089A1 (en) | Multiple authorization requests from a data storage device | |
US12118103B2 (en) | Certificates in data storage devices | |
US12101418B2 (en) | Cryptographic keys for authorization requests from a data storage device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20240827 Address after: California, USA Applicant after: SanDisk Technology Co. Country or region after: U.S.A. Address before: California, USA Applicant before: Western Digital Technologies, Inc. Country or region before: U.S.A. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |