CN113383510A - 数据存储设备的多角色解锁 - Google Patents
数据存储设备的多角色解锁 Download PDFInfo
- Publication number
- CN113383510A CN113383510A CN202080007104.9A CN202080007104A CN113383510A CN 113383510 A CN113383510 A CN 113383510A CN 202080007104 A CN202080007104 A CN 202080007104A CN 113383510 A CN113383510 A CN 113383510A
- Authority
- CN
- China
- Prior art keywords
- key
- data
- access
- manager
- storage device
- 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.)
- Pending
Links
- 238000013500 data storage Methods 0.000 title claims abstract description 78
- 238000013475 authorization Methods 0.000 claims abstract description 79
- 230000004044 response Effects 0.000 claims abstract description 58
- 238000003860 storage Methods 0.000 claims abstract description 43
- 238000012546 transfer Methods 0.000 claims abstract description 6
- 238000000034 method Methods 0.000 claims description 30
- 238000004891 communication Methods 0.000 claims description 16
- 238000005538 encapsulation Methods 0.000 description 41
- 230000008569 process Effects 0.000 description 16
- 230000006870 function Effects 0.000 description 15
- 230000005540 biological transmission Effects 0.000 description 5
- 238000009795 derivation Methods 0.000 description 5
- 238000011084 recovery Methods 0.000 description 5
- 150000003839 salts Chemical class 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 241000465502 Tobacco latent virus Species 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000004913 activation Effects 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
- 238000013479 data entry 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
- 238000007726 management method Methods 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
- 230000000717 retained effect Effects 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/6209—Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
-
- 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/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- 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/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/107—License processing; Key processing
-
- 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
- G06F21/41—User authentication where a single sign-on provides access to a plurality of computers
-
- 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/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
-
- 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/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- 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)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (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)
- Multimedia (AREA)
- Technology Law (AREA)
- Storage Device Security (AREA)
Abstract
本文公开了一种数据存储设备,该数据存储设备包括数据路径、访问控制器和数据存储库。数据路径包括:数据端口,该数据端口被配置为在主机计算机系统和该数据存储设备之间传输数据;非易失性存储介质,该非易失性存储介质被配置为存储加密的用户内容数据;和加密引擎,该加密引擎连接在数据端口和存储介质之间,并且被配置为响应于来自主机计算机系统的请求而使用加密密钥对存储在存储介质上的加密的用户内容数据进行解密。该访问控制器被配置为在数据存储库上存储与多个相应注册设备相关联的多个条目。该多个条目包括指示加密密钥的授权数据,该加密密钥为所述多个注册设备中的每个注册设备选择性地提供用户访问权限或管理器访问权限。
Description
技术领域
本公开涉及可被锁定和解锁的数据存储设备。
背景技术
数据加密使得能够在数据存储设备上,诸如能够经由通用串行总线(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或与该DSD集成的另一个标签或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使用临时解锁秘密来将存储在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。
回想一下,在由管理器设备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注册的第一步骤期间仅使用其公共密钥来注册。这样,就不需要共享可能被拦截并用于恶意解锁用户的其他设备的秘密信息。
多个角色
返回图2,配置存储器115存储多个条目,其中仅示出了两个条目(第一条目201和第二条目250)。在大多数情况下,每个注册设备都有一个条目。每个“注册”设备可以是管理器设备110或授权设备111、117、118、120、121。可存在附加条目,诸如用于恢复密钥(未示出)。
第一条目201与授权设备111相关联,如上文详细解释的。再次注意,第一条目存储由临时解锁秘密223加密的用户密钥221,可使用临时公共密钥ECC-Pub(EUK)211根据对质询的响应来计算该用户密钥。
第二条目250与管理器设备110相关联。第二条目250中的大多数字段具有与第一条目201中相同的功能并且如上所述。总之,预先授权密钥252使得能够在管理器设备110与DSD 100的第一连接处定位第二条目250,注意管理器设备110可能已经由最初执行获取所有权过程的另一管理器设备注册。该注册以与上述授权设备的注册相同的方式进行(包括重新注册和使用证书来提供条目索引和元数据封装密钥)。同样,元数据封装密钥253的副本和预先授权的元数据封装密钥264由授权设备元数据密钥加密存储,以使得管理器能够访问由元数据封装密钥263加密的授权设备元数据255。元数据封装密钥263由管理器设备110在证书中提供,以解密包括设备类型256和角色257的授权设备元数据255。角色257现在不同于角色207,因为角色257保持指示管理者角色的值,而角色207保持指示用户角色的值。需注意,第一条目201的元数据封装密钥203/213/222不同于第二条目250的元数据封装密钥253/263/272。
同样,类似于第一条目201,授权设备元数据255包括管理器设备110的名称258、传输公共密钥259、解锁密钥元数据260、临时公共密钥261和解锁公共密钥262。这些功能类似于它们在第一条目201中的对应功能,并且如上所述。管理器设备110还在安全硬件模块上存储传输私有密钥和解锁私有密钥。此外,访问控制器102基于临时公共密钥261生成质询,并且基于来自管理器设备110的响应计算临时解锁秘密273,该临时解锁秘密解密角色270的第二副本和元数据封装密钥272的第二副本。与用户密钥221被解密的第一条目201相比,临时解锁秘密273现在对提供管理器访问权限的管理器密钥271进行解密。
在一些示例中,用户密钥221可直接从管理器密钥271导出,这意味着管理器密钥是计算用户密钥所需的唯一秘密信息。导出可以是单向的,这意味着不能从用户密钥导出管理器密钥。导出可基于散列函数,诸如根据因特网工程任务组(IETF)的评论请求(RFC)5869的基于散列的消息认证码(HMAC),使用具有512位的安全散列算法2(SHA-2)(还可参见美国国家标准与技术研究院特殊出版物(SP)800-56C)来进行。需注意,管理器密钥对于所有管理器设备条目是相同的,因此,用户密钥对于所有授权设备条目也是相同的。
具有可导出的用户密钥还意味着一旦管理器密钥271可用,就总是能够计算用户密钥。因此,响应于管理器设备110提供对质询的正确响应,访问控制器102可使用从管理器密钥271导出的用户密钥来解密用户内容数据,该管理器密钥是基于该响应解密的。因此,管理器设备被称为具有管理器访问权限,该管理器访问权限包括对用户内容数据的访问权限和对存储在配置存储器115上的授权数据的访问权限。因此,管理器设备110可请求可由访问控制器102提供的注册设备的列表。因此,管理器设备110可将列表本地存储在管理器设备110上并将列表显示在图形用户界面上。检索注册设备的所有条目的过程可由位图数据对象支持,该位图数据对象包括用于每个可能的数据条目的一个位,诸如用于256个可能的注册设备的256个位。访问控制器102响应于写入多个条目中的一个条目而将位设置为“1”。这样,访问控制器102可确定哪些条目有效并且不尝试解密无效条目。
与管理器设备110相比,授权设备111不具有对管理器密钥271的访问权限,而是仅具有对用户密钥221的访问权限,这不能够解密其他设备的元数据。因此,据说与其他注册设备相关联的授权数据的读取仅限于授权设备(无法访问管理器密钥271)。
此处应当注意,每个条目201/250和未示出的每个另外的条目包括由不同的元数据封装密钥加密的元数据。因此,响应于提供管理器访问权限,访问控制器102针对每个条目确定单独的元数据封装密钥。更具体地,在管理器密钥271可用的情况下,访问控制器102计算授权设备元数据密钥254(其对于所有条目都是相同的)并使用该密钥对每个特定于条目的元数据封装密钥203/253进行解密,这继而使得访问控制器102能够对每个授权设备元数据255进行解密。还需注意,管理器访问权限不允许从授权设备条目解密用户密钥221,因为计算临时解锁秘密223需要保留在每个授权设备的存储器中的解锁秘密密钥。然而,用户密钥221可从管理器密钥271导出,因此管理器设备110从授权设备条目201解密用户密钥221没有益处。
概括地说,条目201和250存储用户密钥221或管理器密钥271,这使得访问控制器能够选择性地提供对多个注册设备的用户访问权限或管理器访问权限。
用于提供访问的方法
图5示出了根据一个实施方案的用于提供对数据存储设备的访问权限的方法500。该方法开始于访问控制器102在配置存储器115上存储501与多个相应注册设备110/111相关联的多个条目201/250。多个条目201/250包括指示加密密钥221/271的授权数据201/250,该加密密钥为多个注册设备110/111中的每个注册设备选择性地提供用户访问权限或管理器访问权限。访问控制器102与多个注册设备110/111中的一个注册设备连接502,并选择503多个条目中的与所连接的注册设备相关联的一个条目。然后,访问控制器102使得能够504使用多个条目中所选择的一个条目的加密密钥中的一个加密密钥来为多个注册设备中的一个注册设备提供用户访问权限或管理器访问权限。
注册数据存储设备
数据端口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.根据权利要求1所述的数据存储设备,其中每个条目包括授权数据,所述授权数据指示用于提供用户访问权限的用户密钥或指示用于提供管理器访问权限的管理器密钥。
5.根据权利要求4所述的数据存储设备,其中每个条目包括密钥字段,所述密钥字段存储指示所述用户密钥和所述管理器密钥中的仅一者的所述授权数据。
6.根据权利要求4所述的数据存储设备,其中所述用户密钥能够通过单向函数从所述管理器密钥导出。
7.根据权利要求6所述的数据存储设备,其中:
所述管理器密钥使得能够读取与其他注册设备相关联的授权数据;并且
能够从所述管理器密钥导出的所述用户密钥使得能够解密所述加密的用户内容数据。
8.根据权利要求4所述的数据存储设备,其中所述用户密钥对于提供用户访问权限的多个条目是相同的。
9.根据权利要求4所述的数据存储设备,其中所述管理器密钥对于提供管理器访问权限的多个条目是相同的。
10.根据权利要求1所述的数据存储设备,其中所述多个条目中的每个条目的所述授权数据基于存储在所述多个注册设备中的与所述条目相关联的一个注册设备上的私有密钥来加密。
11.根据权利要求10所述的数据存储设备,其中所述私有密钥对于所述多个注册设备中的每个注册设备是不同的。
12.根据权利要求11所述的数据存储设备,其中:
提供用户访问权限的每个条目包括由元数据加密密钥加密的加密元数据;
所述元数据加密密钥基于存储在所述多个注册设备中的每个注册设备上的所述秘密密钥,并且对于每个条目是不同的;并且
所述元数据加密密钥存储在基于所述管理器密钥加密的所述条目中,以响应于获得所述管理器密钥而提供对所述元数据的访问权限。
13.根据权利要求1所述的数据存储设备,其中所述访问控制器被进一步配置为:
生成对所述多个注册设备中的一个注册设备的质询;
通过不同于所述数据路径的通信信道将所述质询发送到所述多个注册设备中的所述一个注册设备;
通过所述通信信道从所述多个注册的授权设备中的所述一个注册的授权设备接收对所述质询的响应;以及
至少部分地基于所述响应来解密所述授权数据以获得访问密钥,所述访问密钥是以下中的一者:
提供管理器访问权限的管理器密钥,和
提供用户访问权限的用户密钥。
14.根据权利要求13所述的数据存储设备,其中所述质询基于所述授权数据。
15.根据权利要求13所述的数据存储设备,其中所述质询基于所述多个注册设备中的所述一个注册设备的公共密钥。
16.根据权利要求1所述的数据存储设备,其中所述访问控制器被配置为对所述加密密钥进行加密以生成所述授权数据。
17.根据权利要求16所述的数据存储设备,其中所述访问控制器被进一步配置为对所述多个条目中的每个条目执行以下步骤:
生成临时私有密钥和对应的临时公共密钥;
基于所述临时私有密钥和解锁公共密钥对所述加密密钥进行加密,所述解锁公共密钥对应于存储在所述相应注册设备上的解锁私有密钥;
丢弃所述临时私有密钥;以及
存储所述临时公共密钥和所述解锁公共密钥。
18.根据权利要求1所述的数据存储设备,其中所述数据存储设备被配置为向所述主机计算机系统注册为块数据存储设备。
19.一种用于提供对包括数据存储库的数据存储设备的访问权限的方法,所述方法包括:
在所述数据存储库上存储与多个相应注册设备相关联的多个条目,其中所述多个条目包括指示加密密钥的授权数据,所述加密密钥为所述多个注册设备中的每个注册设备选择性地提供用户访问权限或管理器访问权限;
与所述多个注册设备中的一个注册设备连接;
选择所述多个条目中的与所连接的注册设备相关联的一个条目;以及
使得能够使用所述多个条目中所选择的一个条目的所述加密密钥中的一个加密密钥来为所述多个注册设备中的所述一个注册设备提供用户访问权限或管理器访问权限。
20.一种数据存储设备,包括:
用于在数据存储库上存储与多个相应注册设备相关联的多个条目的装置,其中所述多个条目包括指示加密密钥的授权数据,所述加密密钥为所述多个注册设备中的每个注册设备选择性地提供用户访问权限或管理器访问权限;
用于与所述多个注册设备中的一个注册设备连接的装置;
用于选择所述多个条目中的与所连接的注册设备相关联的一个条目的装置;和
用于使得能够使用所述多个条目中所选择的一个条目的所述加密密钥中的一个加密密钥来为所述多个注册设备中的所述一个注册设备提供用户访问权限或管理器访问权限的装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/738,904 US11334677B2 (en) | 2020-01-09 | 2020-01-09 | Multi-role unlocking of a data storage device |
US16/738,904 | 2020-01-09 | ||
PCT/US2020/039212 WO2021141618A1 (en) | 2020-01-09 | 2020-06-23 | Multi-role unlocking of a data storage device |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113383510A true CN113383510A (zh) | 2021-09-10 |
Family
ID=76764039
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080007104.9A Pending CN113383510A (zh) | 2020-01-09 | 2020-06-23 | 数据存储设备的多角色解锁 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11334677B2 (zh) |
CN (1) | CN113383510A (zh) |
DE (1) | DE112020000236T5 (zh) |
WO (1) | WO2021141618A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021194626A1 (en) * | 2020-03-27 | 2021-09-30 | Arris Enterprises Llc | Method and apparatus for providing secure short-lived downloadable debugging tools |
US12069060B2 (en) * | 2021-06-28 | 2024-08-20 | SanDisk Technologies, Inc. | Remote registration of a data storage device with biometric authentication |
US11954239B2 (en) * | 2021-12-27 | 2024-04-09 | Dell Products L.P. | Data storage system using selective encryption and port identification in communications with drive subsystem |
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 (20)
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 |
WO2001023987A1 (en) * | 1999-09-30 | 2001-04-05 | M-Systems Flash Disk Pioneers Ltd. | Removable, active, personal storage device, system and method |
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 |
CN101010677A (zh) * | 2004-09-06 | 2007-08-01 | 皇家飞利浦电子股份有限公司 | 用于交换数据的便携式存储设备和方法 |
CN101551784A (zh) * | 2008-04-02 | 2009-10-07 | 西北工业大学 | 一种usb接口的ata类存储设备中数据的加密方法及装置 |
US20100122327A1 (en) * | 2008-11-10 | 2010-05-13 | Apple Inc. | Secure authentication for accessing remote resources |
CN102714790A (zh) * | 2009-12-07 | 2012-10-03 | 诺基亚公司 | 在网络中保持用户数据隐私 |
CN103229450A (zh) * | 2010-08-11 | 2013-07-31 | 安全第一公司 | 用于安全多租户数据存储的系统和方法 |
CN105518687A (zh) * | 2013-08-08 | 2016-04-20 | 斯利肯安全有限公司 | 安全数据存储装置 |
WO2016144257A2 (en) * | 2015-03-12 | 2016-09-15 | 18 Degrees Lab Pte. Ltd. | Method and system for facilitating authentication |
CA2990651A1 (en) * | 2015-06-30 | 2017-01-05 | Visa International Service Association | Confidential authentication and provisioning |
CN106992996A (zh) * | 2017-05-25 | 2017-07-28 | 郑州云海信息技术有限公司 | 一种存储设备的访问控制方法及系统 |
US20170237563A1 (en) * | 2013-11-27 | 2017-08-17 | British Telecommunications Public Limited Company | Controlled storage device access |
CN107113292A (zh) * | 2014-11-14 | 2017-08-29 | 微软技术许可有限责任公司 | 以增强的安全性存储加密的数据 |
US20180278612A1 (en) * | 2017-03-22 | 2018-09-27 | Oracle International Corporation | Techniques for implementing a data storage device as a security device for managing access to resources |
US20190007203A1 (en) * | 2007-09-27 | 2019-01-03 | Clevx, Llc | Self-encrypting module with embedded wireless user authentication |
US20190138727A1 (en) * | 2017-11-07 | 2019-05-09 | Spinbackup Inc. | Ransomware Protection for Cloud Storage Systems |
US10382201B1 (en) * | 2015-09-22 | 2019-08-13 | Seagate Technology Llc | Removable circuit for unlocking self-encrypting data storage devices |
US10437983B1 (en) * | 2018-05-11 | 2019-10-08 | Cigent Technology, Inc. | Method and system for improved data control and access |
US10460110B1 (en) * | 2017-02-17 | 2019-10-29 | Seagate Technology Llc | Systems and methods for unlocking self-encrypting data storage devices |
Family Cites Families (54)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5978475A (en) | 1997-07-18 | 1999-11-02 | Counterpane Internet Security, Inc. | Event auditing system |
US20020023213A1 (en) * | 2000-06-12 | 2002-02-21 | Tia Walker | 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 |
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 |
CN101233469B (zh) | 2005-07-21 | 2013-06-05 | 克莱夫公司 | 存储器加锁系统 |
WO2007087340A1 (en) * | 2006-01-24 | 2007-08-02 | Clevx, Llc | Data security system |
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 |
US10783232B2 (en) * | 2007-09-27 | 2020-09-22 | Clevx, Llc | Management system for self-encrypting managed devices with embedded wireless user authentication |
TWI537732B (zh) * | 2007-09-27 | 2016-06-11 | 克萊夫公司 | 加密之資料保全系統 |
US10181055B2 (en) * | 2007-09-27 | 2019-01-15 | Clevx, Llc | Data security system with encryption |
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 |
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 |
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 |
CN110166246B (zh) | 2016-03-30 | 2022-07-08 | 创新先进技术有限公司 | 基于生物特征的身份注册、认证的方法和装置 |
US10355858B2 (en) | 2016-03-30 | 2019-07-16 | Intel Corporation | Authenticating a system to enable access to a diagnostic interface in a storage device |
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 |
AU2018340671B2 (en) | 2017-09-29 | 2023-12-21 | Workjam Inc. | Access to secured 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 |
-
2020
- 2020-01-09 US US16/738,904 patent/US11334677B2/en active Active
- 2020-06-23 WO PCT/US2020/039212 patent/WO2021141618A1/en active Application Filing
- 2020-06-23 DE DE112020000236.5T patent/DE112020000236T5/de active Pending
- 2020-06-23 CN CN202080007104.9A patent/CN113383510A/zh active Pending
Patent Citations (21)
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 |
WO2001023987A1 (en) * | 1999-09-30 | 2001-04-05 | M-Systems Flash Disk Pioneers Ltd. | Removable, active, personal storage device, system and method |
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 |
CN101010677A (zh) * | 2004-09-06 | 2007-08-01 | 皇家飞利浦电子股份有限公司 | 用于交换数据的便携式存储设备和方法 |
US20190007203A1 (en) * | 2007-09-27 | 2019-01-03 | Clevx, Llc | Self-encrypting module with embedded wireless user authentication |
CN101551784A (zh) * | 2008-04-02 | 2009-10-07 | 西北工业大学 | 一种usb接口的ata类存储设备中数据的加密方法及装置 |
US20100122327A1 (en) * | 2008-11-10 | 2010-05-13 | Apple Inc. | Secure authentication for accessing remote resources |
CN102714790A (zh) * | 2009-12-07 | 2012-10-03 | 诺基亚公司 | 在网络中保持用户数据隐私 |
CN103229450A (zh) * | 2010-08-11 | 2013-07-31 | 安全第一公司 | 用于安全多租户数据存储的系统和方法 |
CN105518687A (zh) * | 2013-08-08 | 2016-04-20 | 斯利肯安全有限公司 | 安全数据存储装置 |
US20170237563A1 (en) * | 2013-11-27 | 2017-08-17 | British Telecommunications Public Limited Company | Controlled storage device access |
CN107113292A (zh) * | 2014-11-14 | 2017-08-29 | 微软技术许可有限责任公司 | 以增强的安全性存储加密的数据 |
WO2016144257A2 (en) * | 2015-03-12 | 2016-09-15 | 18 Degrees Lab Pte. Ltd. | Method and system for facilitating authentication |
US20180062863A1 (en) * | 2015-03-12 | 2018-03-01 | 18 Degrees Lab Pte. Ltd. | Method and system for facilitating authentication |
CA2990651A1 (en) * | 2015-06-30 | 2017-01-05 | Visa International Service Association | Confidential authentication and provisioning |
US10382201B1 (en) * | 2015-09-22 | 2019-08-13 | Seagate Technology Llc | Removable circuit for unlocking self-encrypting data storage devices |
US10460110B1 (en) * | 2017-02-17 | 2019-10-29 | Seagate Technology Llc | Systems and methods for unlocking self-encrypting data storage devices |
US20180278612A1 (en) * | 2017-03-22 | 2018-09-27 | Oracle International Corporation | Techniques for implementing a data storage device as a security device for managing access to resources |
CN106992996A (zh) * | 2017-05-25 | 2017-07-28 | 郑州云海信息技术有限公司 | 一种存储设备的访问控制方法及系统 |
US20190138727A1 (en) * | 2017-11-07 | 2019-05-09 | Spinbackup Inc. | Ransomware Protection for Cloud Storage Systems |
US10437983B1 (en) * | 2018-05-11 | 2019-10-08 | Cigent Technology, Inc. | Method and system for improved data control and access |
Also Published As
Publication number | Publication date |
---|---|
DE112020000236T5 (de) | 2021-09-02 |
US11334677B2 (en) | 2022-05-17 |
WO2021141618A1 (en) | 2021-07-15 |
US20210216653A1 (en) | 2021-07-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113545006B (zh) | 远程授权访问锁定的数据存储设备 | |
US11606206B2 (en) | Recovery key for unlocking a data storage device | |
US8462955B2 (en) | Key protectors based on online keys | |
CN113260992B (zh) | 数据存储设备的多设备解锁 | |
CN113557689B (zh) | 用管理器设备初始化数据存储设备 | |
US11334677B2 (en) | Multi-role unlocking of a data storage device | |
CN113316915B (zh) | 解锁数据存储设备 | |
US11582607B2 (en) | Wireless security protocol | |
CN113545021B (zh) | 预先授权设备的注册 | |
US20230291548A1 (en) | Authorization requests from a data storage device to multiple manager devices | |
CN113383335B (zh) | 数据存储设备事件的安全日志记录 | |
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. |