CN113316915A - 解锁数据存储设备 - Google Patents
解锁数据存储设备 Download PDFInfo
- Publication number
- CN113316915A CN113316915A CN202080007111.9A CN202080007111A CN113316915A CN 113316915 A CN113316915 A CN 113316915A CN 202080007111 A CN202080007111 A CN 202080007111A CN 113316915 A CN113316915 A CN 113316915A
- Authority
- CN
- China
- Prior art keywords
- data
- storage device
- data storage
- key
- response
- 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 105
- 230000004044 response Effects 0.000 claims abstract description 76
- 238000003860 storage Methods 0.000 claims abstract description 57
- 238000004891 communication Methods 0.000 claims abstract description 28
- 238000012546 transfer Methods 0.000 claims abstract description 5
- 238000013475 authorization Methods 0.000 claims description 57
- 238000000034 method Methods 0.000 claims description 27
- 238000005538 encapsulation Methods 0.000 description 30
- 230000008569 process Effects 0.000 description 14
- 230000006870 function Effects 0.000 description 11
- 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
- 238000009795 derivation Methods 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
- 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
- 238000012795 verification Methods 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/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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
-
- 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
-
- 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/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/72—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
-
- 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/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
- H04L9/0841—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
-
- 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
- H04L9/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
-
- 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/3226—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 a predetermined code, e.g. password, passphrase or PIN
-
- 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/3247—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 involving digital signatures
-
- 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/3263—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 involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
-
- 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/3263—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 involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
- H04L9/3265—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 involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate chains, trees or paths; Hierarchical trust model
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Data Mining & Analysis (AREA)
- Algebra (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computing 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和DSD 100之间无线传输数据的无线数据端口(未示出)。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执行的步骤进行编码。根据配置参数,可能需要用户在DSD100能够被解锁之前解锁授权设备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加密并存储管理器密钥。
记录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向访问控制器102发送303包括加密元数据封装密钥(MWK)213/411的证书400。证书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向访问控制器102发送320解锁请求而开始319。该解锁请求包括与存储在授权设备的安全硬件模块上的私有密钥相关联的解锁公共密钥。访问控制器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处创建的解锁盲密钥。访问控制器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使用临时解锁秘密来将存储在DSD100上的用户密钥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。
回想一下,在由管理器设备110发起的(初始)注册步骤期间,访问控制器102创建类似于图2中的数据记录201的授权数据。与图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示出了根据一个实施方案的用于访问DSD 100上的数据的方法500,如由DSD100执行并且对应于在图3中的数据流300期间由DSD 100(具体地,访问控制器102)执行的步骤中的一些。方法500包括针对授权设备111生成501质询(图3中的步骤322和323)。然后,DSD 100通过通信信道来将质询发送502到授权设备(图3中的步骤324)。通信信道不同于数据路径,该数据路径通过加密引擎106来将DSD 100的存储介质105连接到主机计算机系统104。然后,DSD 100通过通信信道从授权设备111接收503对质询的响应,并且随后至少部分地基于该响应来计算504加密密钥(图3中的步骤328、329、330)。最后,DSD 100将所计算的加密密钥提供505到加密引擎106,以对存储在DSD 100的存储介质105上的加密的用户内容数据进行解密(图3中的步骤331)。
注册数据存储设备
数据端口103向主机计算机系统104注册为块数据存储设备。例如,通用串行总线(USB)设备以USB设备描述符的形式提供信息。USB设备描述符包含关于设备的相关信息。因此,在数据存储设备经由USB连接而连接到主机计算机系统的实施方案中,数据存储设备通过配置其USB设备描述符以指示数据存储设备为块数据存储设备来向主机计算机系统注册为块数据存储设备。
USB设备描述符提供关于USB设备的结构化信息,诸如设备类别、支持的协议、设备类型、制造商和其他配置参数。主机计算机的操作系统可通过向数据存储设备发送各种标准控制请求(例如,GET_DESCRIPTOR请求)来获得数据存储设备的USB设备描述符。响应于接收到这些请求,数据存储设备向主机计算机系统提供USB_DEVICE_DESCRIPTOR,从而将数据存储设备向主机计算机系统注册为块数据存储设备。主机计算机解释USB_DEVICE_DESCRIPTOR以确定数据存储设备的配置和能力。主机计算机系统然后可将关于数据存储设备的信息存储在主机计算机系统的操作系统的寄存器中。
本领域的技术人员应当理解,在不脱离本公开的广泛一般范围的情况下,可对上述实施方案作出许多变型和/或修改。本发明的实施方案因此将在所有方面被认为是示例性的而非限制性的。
Claims (21)
1.一种数据存储设备,所述数据存储设备包括数据路径和访问控制器,其中:
所述数据路径包括:
数据端口,所述数据端口被配置为在主机计算机系统和所述数据存储设备之间传输数据,其中所述数据存储设备被配置为向所述主机计算机系统注册为块数据存储设备;
非易失性存储介质,所述非易失性存储介质被配置为存储加密的用户内容数据;和
加密引擎,所述加密引擎连接在所述数据端口和所述存储介质之间,并且被配置为响应于来自所述主机计算机系统的请求而使用加密密钥对存储在所述存储介质上的所述加密的用户内容数据进行解密;并且
所述访问控制器被配置为:
针对授权设备生成质询;
通过不同于所述数据路径的通信信道来将所述质询发送到所述授权设备;
通过所述通信信道从所述授权设备接收对所述质询的响应;
至少部分地基于所述响应来计算所述加密密钥;以及
将所述加密密钥提供到所述加密引擎,以对存储在所述数据存储设备的所述存储介质上的所述加密的用户内容数据进行解密。
2.根据权利要求1所述的数据存储设备,其中所述质询基于椭圆曲线加密。
3.根据权利要求1所述的数据存储设备,其中所述质询基于所述数据存储设备的公共密钥。
4.根据权利要求3所述的数据存储设备,其中所述数据存储设备的所述公共密钥与私有密钥相关联,所述私有密钥在生成所述公共密钥之后被丢弃。
5.根据权利要求3所述的数据存储设备,其中:
所述访问控制器被进一步配置为针对每个质询生成盲值;并且
所述质询基于所述数据存储设备的所述公共密钥乘以所述盲值。
6.根据权利要求5所述的数据存储设备,其中所述访问控制器被进一步配置为:
计算所述盲值的倒数;
通过将所述响应与所述盲值的所述倒数相乘来计算所述加密密钥以确定解锁秘密;以及
使用所述解锁秘密来导出所述加密密钥。
7.根据权利要求1所述的数据存储设备,其中所述响应基于私有密钥,所述私有密钥存储在所述授权设备中的安全硬件模块中。
8.根据权利要求1所述的数据存储设备,其中所述访问控制器被进一步配置为:
从所述授权设备接收证书,所述证书包括证书数据;
使用所述证书数据来在数据存储库中查询设备记录;以及
基于所述设备记录来生成所述质询。
9.根据权利要求1所述的数据存储设备,还包括数据存储库,所述数据存储库被配置为存储与相应授权设备相关联的条目,每个条目包括与所述相应授权设备中的一个授权设备相关联的元数据。
10.根据权利要求9所述的数据存储设备,其中所述元数据使用包含在证书中的加密密钥以加密的形式存储在所述数据存储库中,所述证书由所述数据存储设备发出并从所述授权设备接收。
11.根据权利要求10所述的数据存储设备,其中所述元数据包括所述相应授权设备中的一个授权设备的标识符。
12.根据权利要求9所述的数据存储设备,其中每个条目包括能够基于所述响应解密的加密密钥。
13.根据权利要求12所述的数据存储设备,其中能够基于所述响应解密的所述加密密钥对于多个授权设备是相同的。
14.根据权利要求12所述的数据存储设备,其中能够基于所述响应解密的所述加密密钥能够解密所述加密的用户内容数据。
15.根据权利要求14所述的数据存储设备,其中解密所述加密的用户内容数据包括解密密钥链中的一个或多个另外的密钥到用户内容加密密钥,所述用户内容加密密钥被配置为解密所述加密的用户内容数据。
16.根据权利要求9所述的数据存储设备,其中存储在所述数据存储库中的所述记录基于所述授权设备的标识符来索引。
17.根据权利要求1所述的数据存储设备,其中所述响应基于由所述授权设备接收到的通行短语。
18.根据权利要求17所述的数据存储设备,其中用于计算所述响应的私有密钥从所述通行短语导出。
19.根据权利要求1所述的数据存储设备,其中所述数据存储设备被进一步配置为:
响应于处于锁定状态,向所述主机计算机系统注册为不存在存储介质的大容量数据存储设备;以及
响应于处于解锁状态,向所述主机计算机系统注册为存在存储介质的大容量数据存储设备。
20.一种用于访问数据存储设备上的数据的方法,所述方法包括:
针对授权设备生成质询;
通过不同于数据路径的通信信道来将所述质询发送到所述授权设备,所述数据路径通过加密引擎将所述数据存储设备的存储介质连接到主机计算机系统;
通过所述通信信道从所述授权设备接收对所述质询的响应;
至少部分地基于所述响应来计算加密密钥;以及
将所述加密密钥提供到所述加密引擎,以对存储在所述数据存储设备的所述存储介质上的加密的用户内容数据进行解密。
21.一种数据存储设备,包括:
用于针对授权设备生成质询的装置;
用于通过不同于数据路径的通信信道来将所述质询发送到所述授权设备的装置,所述数据路径通过加密引擎将所述数据存储设备的存储介质连接到主机计算机系统;
用于通过所述通信信道从所述授权设备接收对所述质询的响应的装置;
用于至少部分地基于所述响应来计算加密密钥的装置;和
用于将所述加密密钥提供到所述加密引擎以对存储在所述数据存储设备的所述存储介质上的加密的用户内容数据进行解密的装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/706,780 | 2019-12-08 | ||
US16/706,780 US11556665B2 (en) | 2019-12-08 | 2019-12-08 | Unlocking a data storage device |
PCT/US2020/039714 WO2021118641A1 (en) | 2019-12-08 | 2020-06-26 | Unlocking a data storage device |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113316915A true CN113316915A (zh) | 2021-08-27 |
CN113316915B CN113316915B (zh) | 2024-02-27 |
Family
ID=76209716
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080007111.9A Active CN113316915B (zh) | 2019-12-08 | 2020-06-26 | 解锁数据存储设备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11556665B2 (zh) |
CN (1) | CN113316915B (zh) |
DE (1) | DE112020000179T5 (zh) |
WO (1) | WO2021118641A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12069060B2 (en) * | 2021-06-28 | 2024-08-20 | SanDisk Technologies, Inc. | Remote registration of a data storage device with biometric authentication |
US12101418B2 (en) | 2022-03-08 | 2024-09-24 | SanDisk Technologies, Inc. | Cryptographic keys for authorization requests from a data storage device |
US12118103B2 (en) | 2022-03-08 | 2024-10-15 | SanDisk Technologies, Inc. | Certificates in data storage devices |
US20240195606A1 (en) * | 2022-12-09 | 2024-06-13 | International Business Machines Corporation | Managing access to tape cartridges at a tape archival service provider |
Citations (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030021417A1 (en) * | 2000-10-20 | 2003-01-30 | Ognjen Vasic | Hidden link dynamic key manager for use in computer systems with database structure for storage of encrypted data and method for storage and retrieval of encrypted data |
US20040101141A1 (en) * | 2002-11-27 | 2004-05-27 | Jukka Alve | System and method for securely installing a cryptographic system on a secure device |
US20050091491A1 (en) * | 2003-10-28 | 2005-04-28 | Dphi Acquisitions, Inc. | Block-level storage device with content security |
US7076062B1 (en) * | 2000-09-14 | 2006-07-11 | Microsoft Corporation | Methods and arrangements for using a signature generating device for encryption-based authentication |
US20070168292A1 (en) * | 2004-12-21 | 2007-07-19 | Fabrice Jogand-Coulomb | Memory system with versatile content control |
US20090110191A1 (en) * | 2007-10-24 | 2009-04-30 | Hitachi Global Storage Technologies Netherlands, B.V. | Techniques For Encrypting Data On Storage Devices Using An Intermediate Key |
US20090138727A1 (en) * | 2007-11-28 | 2009-05-28 | Hitachi Global Storage Technologies Netherlands B.V. | Challenge And Response Access Control Providing Data Security In Data Storage Devices |
US20100122327A1 (en) * | 2008-11-10 | 2010-05-13 | Apple Inc. | Secure authentication for accessing remote resources |
US7805611B1 (en) * | 2004-12-03 | 2010-09-28 | Oracle America, Inc. | Method for secure communication from chip card and system for performing the same |
CN103250161A (zh) * | 2010-10-27 | 2013-08-14 | 苹果公司 | 用于处理私有元数据的方法 |
US20130268759A1 (en) * | 2012-04-10 | 2013-10-10 | Western Digital Technologies, Inc. | Digital rights management system transfer of content and distribution |
US20150310431A1 (en) * | 2014-04-23 | 2015-10-29 | Minkasu, Inc. | Secure Payments Using a Mobile Wallet Application |
US20150318998A1 (en) * | 2014-05-05 | 2015-11-05 | Securekey Technologies Inc. | Methods and systems for client-enhanced challenge-response authentication |
CN105210073A (zh) * | 2012-11-28 | 2015-12-30 | 豪沃克有限公司 | 经由使用多个单独安全因素的移动设备对接入计算机资源的用户进行认证的方法和系统 |
US20160085959A1 (en) * | 2014-09-22 | 2016-03-24 | Intel Corporation | Prevention of cable-swap security attack on storage devices |
US20160140334A1 (en) * | 2014-11-13 | 2016-05-19 | Seagate Technology Llc | Device Functionality Access Control Using Unique Device Credentials |
US20170288867A1 (en) * | 2016-03-30 | 2017-10-05 | Intel Corporation | Authenticating a system to enable access to a diagnostic interface in a storage device |
US9921978B1 (en) * | 2013-11-08 | 2018-03-20 | Fireeye, Inc. | System and method for enhanced security of storage devices |
US20180167208A1 (en) * | 2015-06-30 | 2018-06-14 | Visa International Service Association | Confidential authentication and provisioning |
US20190215160A1 (en) * | 2018-01-09 | 2019-07-11 | Qualcomm Incorporated | Managing a set of cryptographic keys in an encrypted system |
Family Cites Families (60)
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> | データ記憶装置、これを搭載した情報処理装置及びそのデータ処理方法並びにプログラム |
US7215778B2 (en) | 2003-03-31 | 2007-05-08 | Intel Corporation | Encrypted content recovery |
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 |
US8335920B2 (en) | 2005-07-14 | 2012-12-18 | Imation Corp. | Recovery of data access for a locked secure storage device |
WO2007014074A1 (en) | 2005-07-21 | 2007-02-01 | Clevx, Llc | Memory lock 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 |
US10181055B2 (en) | 2007-09-27 | 2019-01-15 | Clevx, Llc | Data security system with encryption |
US10778417B2 (en) | 2007-09-27 | 2020-09-15 | Clevx, Llc | Self-encrypting module with embedded wireless user authentication |
TWI537732B (zh) | 2007-09-27 | 2016-06-11 | 克萊夫公司 | 加密之資料保全系統 |
US10783232B2 (en) | 2007-09-27 | 2020-09-22 | Clevx, Llc | Management system for self-encrypting managed devices with embedded wireless user authentication |
US20090296926A1 (en) | 2008-06-02 | 2009-12-03 | Sun Microsystems, Inc. | Key management using derived keys |
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 |
US20130173484A1 (en) | 2010-09-18 | 2013-07-04 | Philip Wesby | System and Method for Encoding and Controlled Authentication |
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 |
US9774451B2 (en) | 2015-02-10 | 2017-09-26 | Qualcomm Incorporated | Using secure elements to authenticate devices in point-to-point communication |
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 |
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 |
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 |
EP3688927A4 (en) | 2017-09-29 | 2021-06-30 | Workjam Inc. | ACCESS TO SECURE INFORMATION |
US10439812B2 (en) | 2018-02-02 | 2019-10-08 | SquareLink, Inc. | Technologies for private key recovery in distributed ledger systems |
US11263342B2 (en) | 2018-02-28 | 2022-03-01 | Ohio State Innovation Foundation | Context-based access control and revocation for data governance and loss mitigation |
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 |
US11349660B2 (en) | 2019-09-19 | 2022-05-31 | Bose Corporation | Secure self-identification of a device |
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,780 patent/US11556665B2/en active Active
-
2020
- 2020-06-26 CN CN202080007111.9A patent/CN113316915B/zh active Active
- 2020-06-26 DE DE112020000179.2T patent/DE112020000179T5/de active Pending
- 2020-06-26 WO PCT/US2020/039714 patent/WO2021118641A1/en active Application Filing
Patent Citations (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7076062B1 (en) * | 2000-09-14 | 2006-07-11 | Microsoft Corporation | Methods and arrangements for using a signature generating device for encryption-based authentication |
US20030021417A1 (en) * | 2000-10-20 | 2003-01-30 | Ognjen Vasic | Hidden link dynamic key manager for use in computer systems with database structure for storage of encrypted data and method for storage and retrieval of encrypted data |
US20040101141A1 (en) * | 2002-11-27 | 2004-05-27 | Jukka Alve | System and method for securely installing a cryptographic system on a secure device |
US20050091491A1 (en) * | 2003-10-28 | 2005-04-28 | Dphi Acquisitions, Inc. | Block-level storage device with content security |
US8010790B2 (en) * | 2003-10-28 | 2011-08-30 | Dphi, Inc. | Block-level storage device with content security |
US7805611B1 (en) * | 2004-12-03 | 2010-09-28 | Oracle America, Inc. | Method for secure communication from chip card and system for performing the same |
US20070168292A1 (en) * | 2004-12-21 | 2007-07-19 | Fabrice Jogand-Coulomb | Memory system with versatile content control |
US20090110191A1 (en) * | 2007-10-24 | 2009-04-30 | Hitachi Global Storage Technologies Netherlands, B.V. | Techniques For Encrypting Data On Storage Devices Using An Intermediate Key |
US20090138727A1 (en) * | 2007-11-28 | 2009-05-28 | Hitachi Global Storage Technologies Netherlands B.V. | Challenge And Response Access Control Providing Data Security In Data Storage Devices |
US20100122327A1 (en) * | 2008-11-10 | 2010-05-13 | Apple Inc. | Secure authentication for accessing remote resources |
CN103250161A (zh) * | 2010-10-27 | 2013-08-14 | 苹果公司 | 用于处理私有元数据的方法 |
US20130268759A1 (en) * | 2012-04-10 | 2013-10-10 | Western Digital Technologies, Inc. | Digital rights management system transfer of content and distribution |
CN105210073A (zh) * | 2012-11-28 | 2015-12-30 | 豪沃克有限公司 | 经由使用多个单独安全因素的移动设备对接入计算机资源的用户进行认证的方法和系统 |
US9921978B1 (en) * | 2013-11-08 | 2018-03-20 | Fireeye, Inc. | System and method for enhanced security of storage devices |
US20150310431A1 (en) * | 2014-04-23 | 2015-10-29 | Minkasu, Inc. | Secure Payments Using a Mobile Wallet Application |
US20150318998A1 (en) * | 2014-05-05 | 2015-11-05 | Securekey Technologies Inc. | Methods and systems for client-enhanced challenge-response authentication |
US20160085959A1 (en) * | 2014-09-22 | 2016-03-24 | Intel Corporation | Prevention of cable-swap security attack on storage devices |
US20160140334A1 (en) * | 2014-11-13 | 2016-05-19 | Seagate Technology Llc | Device Functionality Access Control Using Unique Device Credentials |
US20180167208A1 (en) * | 2015-06-30 | 2018-06-14 | Visa International Service Association | Confidential authentication and provisioning |
US20170288867A1 (en) * | 2016-03-30 | 2017-10-05 | Intel Corporation | Authenticating a system to enable access to a diagnostic interface in a storage device |
US20190215160A1 (en) * | 2018-01-09 | 2019-07-11 | Qualcomm Incorporated | Managing a set of cryptographic keys in an encrypted system |
Non-Patent Citations (1)
Title |
---|
谷双双;夏鲁宁;贾世杰;: "一种加密硬盘的身份鉴别和密钥保护方案", 密码学报, no. 02 * |
Also Published As
Publication number | Publication date |
---|---|
US11556665B2 (en) | 2023-01-17 |
US20210173953A1 (en) | 2021-06-10 |
DE112020000179T5 (de) | 2021-09-02 |
WO2021118641A1 (en) | 2021-06-17 |
CN113316915B (zh) | 2024-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113545006B (zh) | 远程授权访问锁定的数据存储设备 | |
CN113383511B (zh) | 用于解锁数据存储设备的恢复密钥 | |
CN113260992B (zh) | 数据存储设备的多设备解锁 | |
CN113557689B (zh) | 用管理器设备初始化数据存储设备 | |
CN113316915B (zh) | 解锁数据存储设备 | |
US11334677B2 (en) | Multi-role unlocking of a data storage device | |
CN113383335B (zh) | 数据存储设备事件的安全日志记录 | |
US20110302398A1 (en) | Key protectors based on online keys | |
CN113545021B (zh) | 预先授权设备的注册 | |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20240829 Address after: California, USA Patentee after: SanDisk Technology Co. Country or region after: U.S.A. Address before: California, USA Patentee before: Western Digital Technologies, Inc. Country or region before: U.S.A. |