CN107408175A - 用于自加密驱动的挑战响应认证 - Google Patents

用于自加密驱动的挑战响应认证 Download PDF

Info

Publication number
CN107408175A
CN107408175A CN201680012389.9A CN201680012389A CN107408175A CN 107408175 A CN107408175 A CN 107408175A CN 201680012389 A CN201680012389 A CN 201680012389A CN 107408175 A CN107408175 A CN 107408175A
Authority
CN
China
Prior art keywords
bcae
sbcae
public keys
cae
certification
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
Application number
CN201680012389.9A
Other languages
English (en)
Other versions
CN107408175B (zh
Inventor
A·皮尔逊
J·考克斯
J·朱
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of CN107408175A publication Critical patent/CN107408175A/zh
Application granted granted Critical
Publication of CN107408175B publication Critical patent/CN107408175B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3271Cryptographic 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0853Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3234Cryptographic 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 additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3247Cryptographic 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
    • H04L9/3257Cryptographic 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 using blind signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1052Security improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2139Recurrent verification

Abstract

各种实施例针对用于基于盲挑战认证响应机制(BCRAM)来访问自加密驱动器(SED)的系统。可以基于这样的挑战(例如,在从睡眠状态恢复时)在系统内对SED进行认证:该挑战在SED内生成,由可信执行环境(TEE)使用私有密钥进行签名,以及使用SED内的对应公共密钥进行认证。

Description

用于自加密驱动的挑战响应认证
技术领域
本文描述的实施例总体上涉及自加密存储,以及更具体地涉及对自加密存储卷进行认证。
背景技术
现代存储卷(举例来说,例如,固态驱动器、常规磁盘驱动器等)可以包括“自加密”的能力。一般地,自加密驱动器(SED)是对卷上的数据进行加密和解密的存储卷(或驱动器)。特别地,SED典型地对驱动器上的所有数据(所有用户数据等)进行加密。因此,当驱动器通电时,访问证书用于对数据进行“解锁”或解密。更具体地,在操作期间,对数据即时地(on the fly)解密。因此,当驱动器断电时,数据保持“锁定”或加密,以使得能够最小化对数据的未经授权的访问。一般地,SED包括用于接收访问证书、使用访问证书对驱动器的内容进行解密、以及在关闭时对驱动器的内容进行加密的电路。
许多现代计算设备包括多个低功率状态。例如,睡眠、休眠等。例如,在诸如睡眠(或S3)的一些低功率状态情况下,系统的大部分被断电,而其它部分(例如,DRAM等)处于自刷新模式,以使得从低功率状态唤醒或恢复活动更快。在这种状态下,SED典型地断电。因此,SED的内容被加密,并且在唤醒时,用户必须重新输入其证书来访问驱动器。
对于一些计算系统,为了维护用户体验和功能,对SED的访问证书进行高速缓存(例如,在自刷新DRAM等中),以便于在从睡眠状态恢复活动时能够重新使用这些访问证书。然而,注意到,这可能提供安全漏洞,因为在重新使用证书时访问证书可能被捕获。例如,可以通过协议分析器、恶意软件的执行,或者甚至通过将DRAM移动到另一系统以复原访问证书捕获安全证书。
关于这些考虑和其它考虑,需要本文描述的实施例。
附图说明
图1示出了根据实施例的设备的框图。
图2-3各自示出了根据实施例的图1的设备的操作的方面的框图。
图4-7各自示出了根据各种实施例的逻辑流。
图8示出了根据实施例的系统。
图9示出了计算机可读存储介质的实施例。
图10示出了处理架构的实施例。
具体实施方式
各种实施例针对用于基于挑战响应认证机制(CRAM)、特别是盲CRAM(BCRAM)来访问自加密驱动器(SED)的系统。一般地,本公开提供了用于对SED的内容进行解锁或访问的系统,其中解锁证书(例如,访问密钥)不完全存储在SED内或不完全存储在系统的另一部分(例如,DRAM等)内。换言之,本公开提供了其中可以通过与系统的另一部分协作来解锁SED的系统。例如,从高级别,本公开提供了被配置为基于这样的挑战来确定加密/解密证书(例如,媒体加密密钥(MEK)等)的SED:该挑战在SED内生成,由可信执行环境(TEE)使用私有密钥进行密码地处理,以及使用SED内的对应公共密钥进行密码地处理。
可以将本公开实现为在从睡眠(例如,S3功率状态)模式恢复时使用BCRAM来访问或解锁SED。例如,SED可以生成盲挑战认证元素(BCAE)。将该BCAE传送到TEE,在TEE处对BCAE进行签名,并且将已签名BCAE传送到SED。然后,SED可以使用已签名BCAE来解密MEK(或包括至少一个MEK的密钥环)以解锁和/或解密SED的内容。
总体参考本文所使用的记号和术语,以下具体实施方式的部分可以按照在计算机或计算机的网络上执行的程序过程来呈现。本领域技术人员使用这些过程描述和表示来最高效地将其工作的实质传达给本领域其他技术人员。在这里并且一般地,过程被认为是产生期望结果的操作的自一致序列。这些操作是需要对物理量进行物理操纵的操作。通常,虽然并非必须,但是这些量采取能够被存储、传输、组合、比较、以及以其它方式操纵的电、磁、或光信号的形式。有时,主要是出于普遍使用的原因,将这些信号称为位、值、元素、符号、字符、术语、数字等证明是方便的。然而,应当注意,这些术语和类似术语中的全部都与适当的物理量相关联,并且仅是应用于这些量的方便标签。
此外,在通常与人类操作者执行的心理操作相关联的术语(例如,添加或比较)中经常涉及这些操纵。然而,在构成一个或多个实施例的一部分的本文描述的操作中的任何操作中,人类操作者的这种能力在大多数情况下不是必需的或者所期望的。相反,这些操作是机器操作。用于执行各种实施例的操作的有用的机器包括通用数字计算机,该通用数字计算机由存储在其中的根据本文的教导编写的计算机程序选择性地激活或配置,和/或包括出于所需目的特别构造的装置。各种实施例还涉及用于执行这些操作的装置或系统。这些装置可以是出于所需目的而特别构造的,或者可以包含通用计算设备。各种这些机器的所需结构从给出的说明书中展现。
现在参考附图,其中同样的附图标记始终用于指代同样的元素。在下面的描述中,出于说明的目的,阐述了许多具体细节以便提供对其的透彻理解。然而,显然,可以在没有这些具体细节的情况下实践新颖的实施例。在其它情况下,以框图形式示出了已知结构和设备,以便有助于其描述。意图在于提供全面描述,以使得充分地描述在权利要求的范围内的所有修改、等同方案、以及替代方案。
另外,可以引用诸如“a”、“b”、“c”的变量,其用于表示组件,其中可以实现多于一个组件。重要的是注意到不一定需要多个组件,并且进一步地,在实现多个组件的情况下,这些组件无需相同。相反,使用变量来引用图中的组件是为了方便且清楚的呈现而进行的。
图1描绘了用于使用BCRAM来访问SED 110的设备100的框图。更具体地,该图描绘了用于使用BCRAM来认证SED的设备。对于各种示例,设备100包含SED 110,以及处理器元件120、计算机可读存储设备130、可信执行环境(TEE)140、以及接口150中的一个或多个。SED110包括以下中的一个或多个:控制例程112、电路114、以及计算机可读存储设备160。计算机可读存储设备160包括已加密媒体162、盲计算因子(BCF)证书164、以及密钥166中的一个或多个。计算机可读存储设备130存储主机控制例程132中的一个或多个。TEE 140包括控制例程142、电路144、以及CRAM证书146中的一个或多个。
另外,在操作期间,可以生成并签名盲挑战认证元素(BCAE),产生已签名BCAE(SBCAE)。BCAE和SBCAE在图1中一般表示为BCAE 168和SBCAE 168S。重要的是注意到,SED110可以生成BCAE 168,并且TEE 140可以生成SBCAE 168S(例如,通过签名BCAE 168等)。然而,BCAE 168和SBCAE 168S被描绘为在计算机可读存储设备160和TEE 140内。注意到,在实践中,BCAE 168和SBCAE 168S可以在SED 110和TEE 140之间传送,而不是实际存储在存储设备中。
设备100可以是各种类型的计算设备中的任何一种,包括但不限于服务器、台式计算机、工作站计算机、膝上型计算机、上网本计算机、超级本计算机、平板计算机、手持式个人数据助理、智能电话、身体穿戴式计算设备(例如,并入到服装中)、媒体流送设备、音频计算设备、视频计算设备、智能电视等。
重要的是注意到,设备100的组件可以在相同的壳体内和/或在分离的壳体内实现。此外,可以将设备100实现为与辅助设备(例如,参考图8)结合地操作,例如,以便在使用本公开的BCRAM来解锁SED 110中利用多因素认证。
一般地,主机控制例程132包含在设备100的组件(例如,处理器元件120等)上可操作以实现用于对SED 110进行解锁的逻辑的指令序列。在执行主机控制例程132时,处理器元件120可以发起如本文描述的使用BCRAM来解锁SED。具体地,在执行主机控制例程132时,处理器元件120可以将要进行解锁的请求传送到SED 110,该请求包括生成盲挑战认证元素(BCAE)的指示。对于一些示例,在执行主机控制例程132时,处理器元件120可以在从低功率状态(例如,S3睡眠状态等)恢复时生成解锁SED 110的请求。
例如,设备100可以被配置为实现各种低功率状态,其中设备平台的部分被断电。作为具体示例,设备100可以被配置为实现其中SED 110断电的睡眠状态(例如,S3)。可以认识到,在典型的S3功率状态中,存储器组件(例如,动态随机存取存储器(DRAM)等)被置于自刷新状态,以使得从低功率状态恢复比从冷启动(例如,所有组件断电)恢复更快。然而,由于SED 110断电,所以已加密媒体162可能是直到其被解密和/或解锁为止才可以访问的,下面将更详细地描述。
在执行主机控制例程132时,处理器元件120还可以在SED 110与TEE 140之间传送BCAE/SBCAE 168。在各种示例中,控制例程112和142可以包含分别在电路114和144上可操作以实现用于对已加密媒体162进行解锁的逻辑的指令序列。
例如,在执行控制例程112时,电路114可以基于BCF证书164来生成BCAE 168,并将BCAE 168传送到TEE 140(例如,经由主机控制例程132等)。另外,在执行控制例程112时,电路114可以基于SBCAE 168S来访问(下面更详细地描述)密钥166,以对已加密媒体162进行解密。重要的是注意到,密钥166可以包括多个密钥(参见图2-3)。例如,密钥166可以包括用于对已加密媒体162进行解密的媒体加密密钥(MEK)。可以使用密钥加密密钥(KEK)对MEK进行加密。此外,可以对KEK进行隐藏或“包装”。在操作过程中,能够使用本文详述的BCRAM对KEK进行解包装。因此,本公开提供了可以对KEK进行解包装以解密MEK,以便对已加密媒体162进行解密。这在下面参考图2-8更详细地进行解释。
另外,在执行控制例程112时,电路114可以被配置为提供或初始化SED 110。更具体地,在执行控制例程112时,电路114可以生成BCF证书164。另外,在执行控制例程112时,电路114可以基于BCF证书164和CRAM证书146来生成密钥166(或密钥166的一部分,例如,KEK)。更具体地,本公开提供了可以生成并包装KEK,以使得在操作期间可以使用本文描述的BCRAM对已包装KEK进行解包装以解密MEK,以便对已加密媒体162进行解密。
在执行控制例程142时,电路144可以签名BCAE 168,产生SBCAE 168S。特别地,电路144可以基于CRAM证书146对BCAE 168进行签名。另外,电路144可以将SBCAE 168S传送到SED 110(例如,经由主机控制例程132等)。
在各种实施例中,SED 110可以包括多种多样的基于硬件的磁盘加密系统中的任何一种。例如,SED 110可以是硬盘驱动器,包括但不限于根据由可信计算组(TCG)公布的OPAL和/或企业标准实现的硬盘驱动器。例如,SED 110可以是根据TCG在2012年发布的OPAL安全子系统类别(SCC)2.0规范实现的硬盘驱动器。对于一些示例,SED 110可以是实现全磁盘加密的封闭式硬盘驱动器,其可以使用桥接器和芯片组全磁盘加密等来实现。示例不限于本上下文。
在各种实施例中,处理器元件120可以包括多种多样的市场上可获得的处理器中的任何一种,包括但不限于处理器;应用、嵌入式、或安全处理器;和/或处理器;IBM和/或Cell处理器;或Core(2)Core(2) 处理器。此外,这些处理器元件中的一个或多个可以包括多核处理器(无论多个核心是共存在相同的管芯上还是分离的管芯上)和/或一些其它种类的多处理器架构,通过多处理器架构多个物理分离的处理器以某种方式链接。此外,在各种实施例中,处理器元件210可以包括可信执行环境(例如,IntelIntelIntelIntelARM等),以提供对敏感信息的处理和/或存储。作为具体示例,处理器元件120可以包括TEE 140。
在各种实施例中,存储设备130可以基于多种多样的信息存储技术中的任何一种,可能包括要求不间断地提供电力的易失性技术,并且可能包括需要使用可以可移除或可以不可移除的机器可读存储介质的技术。因此,这些存储设备中的每一个可以包括多种多样类型(或类型的组合)的存储设备中的任何一种,包括但不限于只读存储器(ROM)、随机存取存储器(RAM)、动态RAM(DRAM)、双数据速率DRAM(DDR-DRAM)、同步DRAM(SDRAM)、静态RAM(SRAM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪速存储器、聚合物存储器(例如,铁电聚合物存储器)、双向存储器、相变或铁电存储器、硅-氧化物-氮化物-氧化物-硅(SONOS)存储器、磁卡或光卡、一个或多个单独的铁磁磁盘驱动器、或被组织成一个或多个阵列的多个存储设备(例如,被组织成独立磁盘阵列构成的冗余阵列或RAID阵列的多个铁磁磁盘驱动器)。应当注意,虽然这些存储设备中的每一个被描绘为单个块,但是这些存储设备中的一个或多个可以包括可以基于不同的存储技术的多个存储设备。因此,例如,这些描绘的存储器的每个中的一个或多个可以表示:光驱动器或闪速存储器卡读取器的组合,通过该组合程序和/或数据可以在某种形式的机器可读存储介质上存储和传达;用于在相当长的时间段内本地存储程序和/或数据的铁磁磁盘驱动器;以及实现对程序和/或数据的相对快速地访问的一个或多个易失性固态存储器设备(例如,SRAM或DRAM)。还应当注意,这些存储设备中的每一个可以由基于相同存储技术的多个存储组件构成,但是由于使用专门化(例如,一些DRAM设备用作主存储设备,而其它DRAM设备用作图形控制器的不同的帧缓冲器),可以分离地对这些存储组件进行维护。
在各种实施例中,TEE 140可以包括用于安全地实现本文所描述的功能的逻辑、功能、特征、和/或存储。重要的是注意到,如上面陈述的,TEE 140可以并入到处理器元件120中。然而,为了清楚起见,TEE 140被描绘为与处理器元件120分离。在一些示例中,可以将TEE 140实现为安全包围区域(secure enclave)、安全协处理器等。
在各种实施例中,接口150可以采用多种多样的信号传递技术中的任何一种,其使得能够通过网络对这些组件进行耦合(例如,参见图9)。特别地,设备100可以(例如,与另一设备等)交换传达与对已加密媒体162进行解密相关联的信息和/或数据的信号。
图2-3是可以由设备100实现的技术的框图。具体地,图2示出了用于初始化SED110的技术,而图3示出了用于认证SED 110以访问已加密媒体162(例如,在从低功率状态恢复时)的技术。参考图1的设备100描述图2-3。然而,这是为了方便和清楚而进行的,而并非旨在进行限制。此外,图4-7是图2-3中描绘的技术的各种方面的逻辑流的框图。图4-7中描绘的逻辑流提供了图2-3的技术中描绘的操作的示例实现方式。因此,参考图4-7对图2-3进行描述。然而,这样做是出于清楚地呈现的目的,而不是为了进行限制。
转到图2,更具体地,描绘了技术1100。可以实现技术1100,以初始化SED以供使用如本文描述的BCRAM进行认证。例如,可以实现技术1100以提供SED,以使得可以使用图3中描绘的技术来认证(例如,解锁等)SED。更具体地,可以实现技术1100以提供SED,以使得SED能够被自主地解锁,例如,在从睡眠状态恢复时等。技术1100被描绘为包括多个框2.A,其中A是正整数。
在框2.1处开始,主机控制例程132可以初始地认证SED 110。换言之,主机控制例程132可以接收(例如,从用户等)管理员密码或针对SED 110的访问证书,并且可以将所接收的密码传送到SED 110以激活SED 110。注意到,SED(例如,SED 110)在工厂时典型地提供有管理员密码和一个或多个MEK,用于使得SED能够被初始地提供。因此,在框2.1处,主机控制例程132可以接收该管理员密码以初始地解锁SED 110。
继续到框2.2,主机控制例程132可以生成CRAM证书。例如,主机控制例程132可以生成CRAM证书146。在一些示例中,计算元件120(例如,通过执行主机控制例程132等)可以生成CRAM证书146。对于一些示例,主机控制例程132可以将包括CRAM证书146中的至少一些CRAM证书的指示的CRAM初始化信息元素212传送到SED 110。另外,主机控制例程132可将CRAM证书146传送到TEE 140。
转到图4,更具体地,描绘了用于生成CRAM证书和CRAM初始化信息元素的逻辑流1400。在一些示例中,处理器元件120在执行主机控制例程132时可以实现逻辑流1400。更具体地,处理器元件在执行主机控制例程132时可以实现逻辑流1400,以生成CRAM证书146和CRAM初始化信息元素212。
逻辑流1400可以在框1410处开始。在框1410处,“生成盲计算密钥对,盲计算密钥对包括第一公共密钥、第一私有密钥、以及第一密钥长度”,处理器元件120在执行主机控制例程132时可以生成盲计算(BC)密钥对,其包括第一公共密钥(“BC_pub”)、第一私有密钥(“BC_priv”)、以及第一密钥长度(“BC_n”)。对于一些示例,处理器元件120可以基于Rivest-Shamir-Adleman(RSA)公共/私有密钥方案来生成BC密钥对。对于一些示例,可以生成具有2048位的BC密钥对。因此,可以生成公共密钥和私有密钥,并且可以生成对应于密钥的密钥长度。
继续到框1420“生成盲计算挑战签名密钥对,盲计算挑战签名密钥对包括第二公共密钥、第二私有密钥、以及第二密钥长度”,处理器元件120在执行主机控制例程132时可以生成盲计算挑战签名(BCS)密钥对,其包括第二公共密钥(“BCS_pub”)、第二私有密钥(“BCS_priv”)、以及第二密钥长度(“BCS_n”)。对于一些示例,处理器元件120可以基于RSA公共/私有密钥方案来生成BCS密钥对。对于一些示例,可以生成具有2048位的BCS密钥对。因此,可以生成公共密钥和私有密钥,并且可以生成对应于密钥的密钥长度。
继续到框1430“使用第二私有密钥对第一公共密钥进行签名”,处理器元件120在执行主机控制例程132时可以使用第二私有密钥(BCS_priv)对第一公共密钥(BC_pub)进行签名。
继续到框1440“自签名第二公共密钥”,处理器元件120在执行主机控制例程132时可以对第二公共密钥(BCS_pub)进行自签名。重要的是注意到,框1440可以是可选的。因此,在一些示例中,逻辑流1400可以直接从框1430继续到框1450。
继续到框1450“生成CRAM初始化信息元素”,处理器元件120在执行主机控制例程132时可以生成CRAM初始化信息元素212。在一些示例中,CRAM初始化信息元素可以包括已签名的第一公共密钥(已签名的BC_pub)、第二公共密钥(BCS_pub)、第一密钥长度(BC_n)、以及第二密钥长度(BCS_n)的指示。在一些示例中,也可以对第二公共密钥进行签名(例如,如果在框1440处签名等)。
返回到图2,技术1100可以继续到框2.3。在框2.3处,SED 110可以生成BCF证书164。例如,电路114在执行控制例程112时可以部分地基于CRAM初始化信息元素212来生成BCF证书164。对于一些示例,SED 110可以包括(例如,以硬件、逻辑等实现)BCAE组件1101。BCAE组件1101可以被配置为基于在CRAM初始化信息元素212中指示的BC_pub、BCS_pub、BC_n、以及BCS_n来生成BCF证书164。
转到图5,更具体地,描绘了用于生成BCF证书的逻辑流1500。在一些示例中,电路114在执行控制例程112时可以实现逻辑流1500。更具体地,电路114(例如,在执行控制例程112时,在实现BCAE组件1101时等)可以实现逻辑流1500以生成BCF证书164。
逻辑流1500可以在框1510处开始。在框1510处“验证第二公共密钥”,电路114在执行控制例程112时可以验证第二公共密钥。例如,电路114可以根据已签名的第二公共密钥验证第二公共密钥(BCS_pub)。重要的是注意到,框1510可以是可选的。更具体地,对于一些示例,在CRAM初始化信息元素212中BCS_pub是已签名的。因此,电路114可以验证BCS_pub,并且逻辑流1500可以继续到框1520。然而,在一些示例中,在CRAM初始化信息元素212中BCS_pub是未签名的。因此,逻辑流1500可以在框1520处开始。
在框1520处,“基于第二公共密钥来验证第一公共密钥”,电路114在执行控制例程112时可以使用第二公共密钥来验证第一公共密钥。例如,电路114可以使用第二公共密钥(BCS_pub)来验证第一公共密钥(BC_pub)。如上面指出的,可以使用BCS_priv对BC_pub进行签名(例如,在框1430处)。因此,可以使用BCS_pub验证已签名的BC_pub。
继续到框1530,“基于第一密钥长度来生成盲计算因子”,电路114在执行控制例程112时可以生成盲计算因子(BCF)。对于一些示例,电路114可以从包含在零和第一密钥长度减1之内的随机元素中生成BCF。换言之,BCF可以是随机元素,其中0<BCF<BC_n-1。在一些示例中,随机元素可以是随机数、伪随机数等。
继续到框1540,“基于盲计算因子和第一公共密钥来推导密钥修改的盲计算因子”,电路114在执行控制例程112时可以确定密钥修改的盲计算因子“BCF_key”)。对于一些示例,电路114可以根据BCF、BC_pub、以及BC_n确定BCF_key。对于一些示例,电路可以将BCF_key推导为BCF的BC_pub次幂对BC_n取模。换言之,在一些示例中,BCF_key=BCF^BC_pub mod BC_n。
继续到框1550,“基于第一密钥长度来生成填充常数”,电路114在执行控制例程112时可以生成填充常数(“C_padding”)。对于一些示例,电路114可以将C_padding生成为包含在零和第一密钥长度减1之内的随机元素。换言之,C_padding可以是随机元素,其中0<C_padding<BC_n-1。在一些示例中,随机元素可以是随机数、伪随机数等。
返回到图2,技术1100可以继续到框2.4。在框2.4处,SED 110可以生成BCAE 168。例如,电路114(例如,在执行控制例程112时,在实现BCASE组件1101时等)可以生成BCAE168。另外,SED 110可以将BCAE 168传送到TEE 140(例如,经由主机控制例程132,经由通信总线,经由安全信道等)。
转到图6,更具体地,描绘了用于生成BCAE的逻辑流1600。在一些示例中,电路114(例如,在执行控制例程112时,在实现BCAE组件1101时等)可以实现逻辑流1600。更具体地,电路114在执行控制例程112时可以实现逻辑流1600以生成BCAE 168。
逻辑流1600可以在框1610处开始。在框1610处“生成一次使用数(nonce)元素”,电路114在执行控制例程112时可以生成任意(例如,随机的等)元素(“一次使用数”)。一般地,一次使用数可以是任何任意元素。对于一些示例,一次使用数可以是随机数、伪随机数、随机字符串、伪随机字符串、位组、伪随机位组等。
继续到框1620,“基于盲计算因子、任意元素、以及第一密钥长度来推导第一挑战认证元素”,电路在执行控制例程112时可以生成第一挑战认证元素(CAE_first)。在一些示例中,电路114可以基于BCF、一次使用数、以及BC_n来推导CAE_first。在一些示例中,电路114可以将CAE_first推导为BCF的一次使用数次幂对BC_n取模。换言之,在一些示例中,CAE_first=BCF^一次使用数mod BC_n。
继续到框1630,“基于盲计算因子、任意元素、第一公共密钥、以及第一密钥长度来推导第二挑战认证元素”,电路114在执行控制例程112时可以生成第二挑战认证元素(CAE_second)。在一些示例中,电路114可以基于BCF、一次使用数、BC_pub、以及BC_n来推导CAE_second。在一些示例中,电路114可以将CAE_second推导为BCF的BC_pub次幂的一次使用数次幂对BC_n取模。换言之,在一些示例中,CAE_second=(BCF^BC_pub)^一次使用数mod BC_n。
继续到框1640,“基于填充常数来生成已填充元素”,电路114在执行控制例程112时可以基于填充常数来生成已填充元素(P_hash)。对于一些示例,电路114可以通过对填充常数(C_padding)和唯一标识符(UID)求散列(例如,使用SHA-1、MD5等)来生成P_hash,其中UID对应于已加密媒体164。注意,可以将本公开实现为使得能够自主地解锁多个不同的已加密的卷或分区(例如,参见图8)。每个已加密的卷或分区可以具有分配给该已加密的卷或分区或对应于该已加密的卷或分区的唯一标识符(例如,UID)。在一些示例中,电路114可以将P_hash生成为P(C_padding||UID),其中P是散列函数(例如,SHA-1、MD5等)。
继续到框1650“基于第二挑战认证元素、已填充元素、以及第一密钥长度来推导盲挑战认证元素”,电路114在执行控制例程112时可以基于CAE_second、P_hash、以及BC_n来推导BCAE 168。在一些示例中,电路114可以将BCAE 168推导为CAE_second乘以P_hash对BC_n取模。换言之,在一些示例中,BCAE=R*P(C_padding||UID)mod BC_n。
返回到图2,在框2.4处的技术1100中,SED 110将BCAE 168传送到TEE 140。继续到框2.5,TEE 140可以生成SBCAE 168S。在一些示例中,TEE可以包括(例如,以硬件、逻辑等实现)SBCAE组件1401。在一些示例中,SBCAE组件可以被配置为生成SBCAE 168S。更具体地,电路144(例如,在执行控制例程142时,在实现SBCAE组件1401时等)可以基于BC_priv和BCS_priv来生成SBCAE 168S。另外,TEE 140可以将SBCAE 168S传送到SED 110(例如,经由主机控制例程132等)。
对于一些示例,在框2.5处,电路144可以基于BCAE、第一私有密钥(BC_priv)、以及第一密钥长度(BC_n)来推导密钥修改的BCAE(BCAE_key)。对于一些示例,电路114可以将BCAE_key推导为BCAE的BC_priv次幂对BC_n取模。换言之,对于一些示例,BCAE_key=BCAE^BC_priv mod BC_n。另外,在框2.5处,电路144可以通过利用第二私有密钥(BCS_priv)对BCAE_key进行签名来推导SBCAE。
继续到框2.6,SED 110可以使SBCAE 168S非盲以用于推导UCAE 216。例如,电路114(例如,在执行控制例程112时,在实现BCASE组件1101时等)可以根据SBCAE 168S和第二公共密钥(BCS_pub)来推导UCAE 216。转到图7,更具体地,描绘了用于推导UCAE的逻辑流1700。在一些示例中,电路114在执行控制例程112时可以实现逻辑流1700。更具体地,电路114在执行控制例程112时可以实现逻辑流1700以推导UCAE 216。
逻辑流1700可以在框1710处开始。在框1710处“基于第二公共密钥来认证已签名盲挑战认证元素”,电路114在执行控制例程112时可以基于BCS_pub对SBCAE 168S进行认证。
继续到框1720,“基于已签名盲挑战认证元素、第一挑战认证元素、以及第一密钥长度来推导非盲挑战认证元素”,电路114在执行控制例程112时可以基于SBCAE、CAE_first、以及BC_n来推导UCAE。对于一些示例,电路114可以将UCAE推导为SBCAE乘以CAE_first的倒数对BC_n取模。换言之,在一些示例中,UCAE=SBCAE*CAE_first^-1mod BC_n。
返回到图2,技术1100可以继续到框2.7。在框2.7处,SED 110可以生成密钥加密密钥(KEK)218。一般地,可以基于各种加密密钥格式中的任何一种来生成KEK 218。继续到框2.8,SED 110可以利用KEK 218对媒体加密密钥(MEK)220进行加密。如上面指出的,利用可以在工厂设置和/或由管理员设置的媒体加密密钥(例如,MEK 220)对已加密媒体162进行加密。因此,在框2.8处,电路114可以利用KEK 218对MEK 220进行加密,得到已加密MEK222。重要的是注意到,对于一些示例,可以利用多个密钥对已加密媒体162进行加密。例如,可以利用第一MEK对已加密媒体162的第一部分进行加密,并且可以利用第二MEK对已加密媒体162的第二部分进行加密。第一MEK和第二MEK可以存储在密钥环(未示出)中以提供对已加密媒体的加密/解密。可以如本文描述的利用KEK 218对密钥环进行加密,以使得能够使用本文描述的BCRAM技术进行自主认证。作为具体示例,可以使用MEK来加密/解密SED110的一个或多个逻辑块地址(LBA)。因此,针对已加密媒体162内的每个LBA,可以使用不同的MEK。这些MEK可以存储在密钥环中,并且利用KEK 218进行加密。
继续到框2.9,SED 110可以包装KEK 218。更具体地,电路114在执行控制例程112时可以使用UCAE 216来包装KEK 218。一般地,电路114可以基于UCAE 216使用各种双向混淆技术中的任何一种来包装KEK 218。例如,电路114可以基于最低有效位(LSB)AES密钥包装过程来生成已包装KEK 224。如所描绘的,密钥166包括已加密MEK 222、已包装KEK 224。
BCF证书164和密钥166可以存储在SED 110中,而CRAM证书146可以存储在TEE 140中。因此,在操作期间,可以对SED 110进行认证(例如,在从睡眠状态恢复时等),而不需要进行用户交互并且不需要永久地高速缓存认证证书。
转到图3,更具体地,描绘了技术1200。可以实现技术1200以对SED 110进行认证(例如,解锁等)。特别地,可以实现技术1200以自主地解锁SED,例如,在从睡眠状态恢复时。描绘了技术1200,其包括图2中的框2.A以及框3.A中的一个。
从框3.1处开始,主机控制例程132可以初始地请求经由本文详述的BCRAM来认证SED 110。特别地,主机控制例程132可以传送包括生成BCAE的指示的盲挑战响应认证(BCRA)请求。可以将BCRA请求传送到SED 110。
基于接收到BCRA请求,SED 110可以启动本文详述的BCRAM。特别地,SED可以生成BCAE 168。因此,技术1200可以从框3.1继续到框2.4。更具体地,SED 110可以复原BCF证书164(例如,BCF、BCF_key、BC_n、BCS_n、以及C_padding),并且基于BCF证书164来生成BCAE168。如上面描述的,对于一些示例,在框2.4处,电路114(例如,在执行控制例程112时,在实现BCASE组件1101时等)可以实现图6描绘的逻辑流1600。另外,在框2.4处,SED 110可以将BCAE 168传送到TEE 140(例如,经由主机控制例程132)。
技术1200可以继续到框2.5。更具体地,TEE 140可以接收BCAE 168并基于CRAM证书146来生成SBCAE 168S。另外,在框2.5处,TEE 140可以将SBCAE 168S传送到SED 110(例如,经由主机控制例程132)。技术1200可以继续到框2.6。更具体地,SED 110可以基于SBCAE和BCF证书146来生成UCAE 216。
继续到框3.2,SED 110可以基于UCAE 216对已包装KEK 224进行解包装。更具体地,电路114在执行控制例程112时可以使用UCAE 216对已包装KEK 224进行解包装。一般地,电路114可以基于UCAE 216使用用于包装KEK 218(例如,在图2中描绘的技术1100的框2.9处)的双向模糊技术对KEK 218进行解包装。例如,电路114可以基于最低有效位(LSB)AES密钥包装过程对已包装KEK 224进行解包装(例如,验证)以确定KEK 218。
继续到框3.3,SED 110可以使用KEK 218对已加密MEK 222进行解密。更具体地,电路114在执行控制例程112时可以使用KEK 218对已加密MEK 222进行解密。注意到,一旦MEK220被解密,则可以解锁SED 110。更具体地,可以使用MEK 220对已加密媒体162进行解密和/或访问。例如,SED可以包括解密组件1102(例如,以硬件、逻辑等实现),以用于利用MEK220对SED的至少一部分进行解密。
此外,SED 110可以包括认证组件1103(例如,以硬件、逻辑等实现),以用于确定KEK 218对于确定MEK 220是否有效。基于确定KEK 218无效,认证元件1103可以被配置为传送来自主机的针对有效认证证书(例如,KEK 218)的请求。
图8示出了包括设备100和一个或多个辅助认证设备200-a的示例系统1000,其中a是正整数。重要的是注意到该图示出了辅助认证设备200-1和200-2。然而,可以实现更多或更少的辅助认证设备200-a。一般地,设备100可以被配置为基于多因素安全协议来认证SED110(例如,在从睡眠状态等恢复后)。
在各种示例中,系统1000可以包括结合图1描述的设备100。注意,为了清楚起见,在图8中未示出上面描述的设备100的部分。此外,如图8中描绘的,设备100可以包括附加的组件。例如,TEE 140可以包括安全协议180。此外,在一些示例中,SED 110可以包括已加密媒体161-b的多个分区或卷,其中b是正整数。例如,SED 110被描绘为包括已加密媒体162-1、162-2、以及162-3。已加密媒体卷162-b可以针对不同的使用和/或安全简档提供多个已加密存储卷。例如,已加密媒体162-1可以对应于启动卷,已加密媒体162-2可以对应于用户数据,已加密媒体162-3可以对应于公司和/或机密数据。
此外,辅助认证设备200-1和200-2被描绘为经由连接98和99连接到设备100。注意,连接98和99可以是多种连接机制中的任何一种,举例来说,例如,Wi-Fi、NFC、RFID、蓝牙、ZigBee等。另外,尽管辅助认证设备200-1和200-2被描绘为与设备100分离,但是设备200-a中的一个或多个可以并入设备中。此外,尽管辅助认证设备200-1和200-2被描绘为无线地连接到设备100,但是设备200-a中的一个或多个可以经由有线连接来连接。
一般地,辅助认证设备200-a可以是被配置为认证用户和/或基于接近度进行认证的各种不同设备中的任何一种。例如,辅助认证设备可以包括照相机、生物特征扫描或生物特征成像设备(例如,指纹、视网膜、语音等)、网络、或企业徽章。系统1000可以被配置为基于安全协议180和/或辅助认证设备200-a来解锁SED 110的一个或多个部分。例如,安全协议180可以指定,可以基于到辅助认证设备200-1和/或200-2中的一个或多个的连接来约束对CRAM证书146的访问(并且因此,完成本文描述的BCRAM的能力)。
在操作期间,可以基于安全协议180来限制对TEE 140内的CRAM证书146的访问。例如,安全协议180可以指定必须对一个或多个认证因子进行验证以允许访问CRAM证书146。因此,在操作期间,TEE 140可以基于接收BCAE 168并验证在安全协议180中指定的一个或多个认证因子来生成SBCAE 168S。例如,安全协议180可以指定辅助设备200-1捕获用户的图片和被验证为用户的图片(例如,使用面部识别等)以实现CRAM证书146的使用。另外,安全协议180可以指定辅助设备200-2捕获无线信标,该无线信标被验证为经授权信标(例如,对应于由雇员徽章等发射的RFID信标)以实现CRAM证书146的使用。在一些示例中,安全协议180可以指定对多个认证因子进行验证(例如,面部识别和RFID验证等)以允许访问CRAM证书146。
对于一些实施例,用于访问已加密媒体卷162-1、162-2、以及162-3的MEK可以利用使用本文描述的BCRAM技术包装的KEK进行加密。例如,用于对已加密媒体卷162-1、162-2、以及162-3进行加密/解密的MEK可以是使用在图3中描绘的技术1200可访问的。对于一些示例,用于对已加密媒体卷162-1、162-2、以及162-3进行加密/解密的MEK中的每一个可以是使用CRAM证书146和BCF证书164的不同集合可访问的。更具体地,在图2中描绘的技术1100可以针对已加密媒体卷中的每一个来实现以生成用于每个已加密媒体卷的分离的CRAM证书146和BCF证书164。
图9示出了存储介质2000的实施例。存储介质2000可以包括制品。在一些示例中,存储介质2000可以包括任何非暂时性计算机可读介质或机器可读介质,例如,光学、磁性、或半导体存储。存储介质2000可以存储各种类型的计算机可执行的指令,例如,2002)。例如,存储介质2000可以存储用于实现技术1100的各种类型的计算机可执行的指令。在一些示例中,存储介质2000可以存储用于实现技术1200的各种类型的计算机可执行的指令。在一些示例中,存储介质2000可以存储用于实现逻辑流1400的各种类型的计算机可执行的指令。在一些示例中,存储介质2000可以存储用于实现逻辑流1500的各种类型的计算机可执行的指令。在一些示例中,存储介质2000可以存储用于实现逻辑流1600的各种类型的计算机可执行的指令。在一些示例中,存储介质2000可以存储用于实现逻辑流1700的各种类型的计算机可执行的指令。
计算机可读或机器可读存储介质的示例可以包括能够存储电子数据的任何有形介质,包括易失性存储器或非易失性存储器、可移除或不可移除存储器、可擦除或不可擦除存储器、可写入或可重写存储器等。计算机可执行的指令的示例可以包括任何合适类型的代码,例如,源代码、编译代码、解释代码、可执行代码、静态代码、动态代码、面向对象的代码、可视代码等。示例不限于本上下文。
图10示出了适于实现如先前描述的各种实施例的示例性处理架构3000的实施例。更具体地,可以将处理架构3000(或其变型)实现为图8的系统1000和/或图1-3的设备100的一部分。
处理架构3000包括通常在数字处理中使用的各种元件,包括但不限于一个或多个处理器、多核处理器、协处理器、存储器单元、芯片组、控制器、外围设备、接口、振荡器、定时设备、视频卡、音频卡、多媒体输入/输出(I/O)组件、电源等。如本应用中所使用的,术语“系统”和“组件”旨在指示其中执行数字处理的计算设备的实体,该实体是硬件、硬件和软件的组合、软件、或执行软件,其示例由所描绘的示例性处理架构提供。例如,组件可以是但不限于在处理器元件上运行的进程、处理器元件本身、可以采用光学和/或磁存储介质的存储设备(例如,硬盘驱动器、阵列中的多个存储驱动器等)、软件对象、可执行的指令序列、执行线程、程序、和/或整个计算设备(例如,整个计算机)。通过示例说明的方式,在服务器上运行的应用和该服务器二者都可以是组件。一个或多个组件可以驻留在进程和/或执行线程内,并且组件可以本地化在一个计算设备上和/或分布在两个或更多个计算设备之间。此外,组件可以通过各种类型的通信介质彼此可通信地耦合以协调操作。协调可以涉及信息的单向或双向交换。例如,组件可以以通过通信介质传达信号的形式来传达信息。信息可以实现为被分配给一个或多个信号线的信号。每个消息可以是串行或者基本上并行发送的信号或多个信号。
如所描绘的,在实现处理架构3000中,计算设备至少包含处理器元件910、存储设备930、到其它设备的接口990、以及耦合915。根据实现处理架构3000的计算设备的各种方面(包括其意向的使用和/或使用条件),这样的计算设备可以进一步包含附加的组件,例如但不限于计数器元件915。
耦合915包括一条或多条总线、点到点互连、收发器、缓冲器、交叉点开关、和/或至少将处理器元件910可通信地耦合到存储设备930的其它引导器和/或逻辑。耦合915还可以将处理器元件910耦合到接口990和显示接口955中的一个或多个(取决于这些组件和/或其它组件中的哪些组件也存在)。在处理器元件910通过耦合915如此耦合的情况下,处理器元件910能够针对实现处理架构3000的计算设备100、300、以及600中的无论哪个执行上面详细描述的任务中的各种任务。可以利用各种技术或技术的组合中的任何一种来实现耦合915,信号通过这些技术光学地和/或电地输送。此外,耦合915的至少一部分可以采用符合多种多样的工业标准中的任何一种的定时和/或协议,包括但不限于加速图形端口(AGP)、CardBus、扩展工业标准架构(E-ISA)、微通道架构(MCA)、NuBus、外围部件互连(扩展)(PCI-X)、PCI快速(PCI-E)、个人计算机存储卡国际协会(PCMCIA)总线、HyperTransportTM、QuickPath、串行ATA(SATA)等。
如先前讨论的,处理器元件910可以包括多种多样的商业可用的处理器中的任何一种,其采用多种多样的技术中的任何一种并且实现为一个或多个核心以多种方式中的任何一种方式物理地组合。
如先前讨论的,存储设备930可以包括基于多种多样的技术或技术的组合中的任何一种的一个或多个不同的存储设备。更具体地,如所描述的,存储设备930可以包括易失性存储设备931(例如,基于一种或多种形式的RAM技术的固态存储设备)、非易失性存储设备932(例如,固态、铁磁、相变、或其它不需要恒定地提供电力以保存其内容的存储设备)、以及可移除介质存储设备933(例如,可移除盘或固态存储卡存储设备,信息可以通过其在计算设备之间输送)中的一个或多个。存储设备930可能包括多种不同的类型的存储的这种描述是由于认识到在计算设备中常见地使用多于一种类型的存储设备,其中一种类型提供相对快速的读取能力和写入能力,使得能够由处理器元件910更快速地操纵数据(但是可能使用恒定地需要电力的“易失性”技术),而另一种类型提供相对高密度的非易失性存储(但是可能提供相对慢的读取能力和写入能力)。
考虑到采用不同技术的不同存储设备的经常不同的特性,这些不同的存储设备通过不同的存储控制器耦合到计算设备的其它部分也是常见的,存储控制器通过不同的接口耦合到其不同的存储设备。作为示例,在存在易失性存储设备931并且易失性存储设备931是基于RAM技术的情况下,易失性存储设备931可以通过存储控制器935a可通信地耦合到耦合915,向可能采用行和列寻址的易失性存储设备931提供适当的接口,并且其中存储控制器935a可以执行行刷新和/或其它维护任务以帮助保留存储在易失性存储设备931内的信息。作为另一示例,在非易失性存储设备932存在并且包括一个或多个铁磁和/或固态磁盘驱动器的情况下,非易失性存储设备932可以通过存储控制器935b可通信地耦合到耦合915,向可能采用对信息块进行寻址和/或对柱面和扇区进行寻址的非易失性存储设备932提供适当的接口。作为另一示例,在可移除介质存储设备933存在并且包括采用一块或多块可移除机器可读存储介质939的一个或多个光学和/或固态磁盘驱动器的情况下,可移除介质存储设备933可以通过存储控制器935c可通信地耦合到耦合915,向可能采用对信息块进行寻址的可移除介质存储设备933提供适当的接口,并且其中存储控制器935c可以以特定于延长机器可读存储介质939的寿命的方式来协调读取、擦除、以及写入操作。
易失性存储设备931或非易失性存储设备932中的一个或另一个可以包括以机器可读存储介质形式的制品,其上可以存储包括可以由处理器元件910执行的指令序列的例程,这取决于每个存储设备基于的技术。作为示例,在非易失性存储设备932包括基于铁磁的磁盘驱动器(例如,所谓的“硬盘驱动器”)的情况下,每个这样的磁盘驱动器典型地采用一个或多个旋转盘片,在一个或多个旋转盘片上,磁响应粒子的涂层以各种模式进行沉积和磁定向,以便以近似于诸如软盘的可移除存储介质的方式存储诸如指令序列的信息。作为另一示例,非易失性存储设备932可以由固态存储设备的存储体(bank)组成,以便以近似于紧凑闪存卡的方式存储诸如指令序列的信息。再次,在计算设备中在不同的时间采用不同类型的存储设备来存储可执行例程和/或数据是常见的。因此,包括要由处理器元件910执行的指令序列的例程可以初始地存储在机器可读存储介质939上,并且可移除介质存储设备933可以随后用于将该例程复制到非易失性存储设备932以用于长期存储,而不需要机器可读存储介质939和/或易失性存储设备931持续存在,以使得该例程在被执行时能够由处理器元件910更快速地访问。
如先前讨论的,接口990可以采用对应于可以用于将计算设备可通信地耦合到一个或多个其它设备的各种通信技术中的任何一种的各种信号传递技术中的任何一种。再次,可以采用各种形式的有线或无线信号传递中的一种或两种来使得处理器元件910能够与输入/输出设备(例如,所描绘的示例键盘940或打印机945)和/或其它计算设备进行交互,可能通过网络(例如,网络999)或互连的网络集合。为了识别经常必须受到任何一个计算设备支持的多种类型的信号传递和/或协议的经常大不相同的特性,将接口990描绘为包括多个不同的接口控制器995a、995b、以及995c。接口控制器995a可以采用各种类型的有线数字串行接口或射频无线接口中的任何一种来接收来自用户输入设备(例如,所描述的键盘940)的串行传输的消息。接口控制器995b可以采用各种基于布线的或无线的信号传递、定时和/或协议中的任何一种来通过所描绘的网络999(可能是包括一个或多个链路的网络、较小的网络、或者可能是互联网)访问其它计算设备。接口995c可以采用各种导电布线中的任何一种,使得能够使用串行或并行信号传输来将数据传达到所描绘的打印机945。可以通过接口990的一个或多个接口控制器可通信地耦合的设备的其它示例包括但不限于麦克风、遥控器、手写笔、读卡器、指纹读取器、虚拟现实交互手套、图形输入平板、操纵杆、其它键盘、视网膜扫描器、触摸屏的触摸输入组件、轨迹球、各种传感器、激光打印机、喷墨打印机、机械机器人、铣床等。
当计算设备可通信地耦合到(或者可能实际上包含)显示器(例如,所描绘的示例显示器950)时,实现处理架构3000的这种计算设备还可以包括显示接口955。尽管更广义类型的接口可以用于可通信地耦合到显示器,但是在显示器上视觉地显示各种形式的内容经常所需要的在某种程度上专门的附加处理,以及所使用的基于布线的接口的在某种程度上专门的性质经常使得期望提供不同的显示接口。在显示器950的通信耦合中可以由显示接口955采用的有线和/或无线信号传递技术可以利用符合各种行业标准中的任何一种的信号传递和/或协议,包括但不限于各种模拟视频接口、数字视频接口(DVI)、显示端口(DisplayPort)等中的任何一种。
更一般地,计算设备100、200、以及400的各种元件可以包括各种硬件元件、软件元件、或两者的组合。硬件元件的示例可以包括设备、逻辑器件、组件、处理器、微处理器、电路、处理器元件、电路元件(例如,晶体管、电阻器、电容器、电感器等)、集成电路、专用集成电路(ASIC)、可编程逻辑器件(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、存储器单元、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片组等。软件元件的示例可以包括软件组件、程序、应用、计算机程序、应用程序、系统程序、软件开发程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、程序、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号、或其任何组合。然而,确定使用硬件元件和/或软件元件来实现实施例可以根据任何数量的因素而变化,例如,期望的计算速率、功率级别、热容差、处理周期预算、输入数据速率、输出数据速率、存储器资源、数据总线速度、以及如对于给定实现方式所期望的其它设计或性能约束。
可以使用表达“一个实施例”或“实施例”及其衍生词来描述一些实施例。这些术语表示结合实施例描述的特定特征、结构、或特性包括在至少一个实施例中。在说明书中的各种地方出现的短语“在一个实施例中”不一定都指代同一实施例。此外,可以使用表达“耦合”和“连接”及其衍生词来描述一些实施例。这些术语不一定旨在彼此同义。例如,可以使用术语“连接”和/或“耦合”来描述一些实施例,以指示两个或更多个元件彼此直接物理或电接触。然而,术语“耦合”也可以表示两个或更多个元件彼此不直接接触,但仍然彼此协作或交互。
要强调的是,提供本公开的摘要以允许读者快速确定技术公开的性质。摘要在理解其不用于解释或限制权利要求的范围或含义的情况下提交。此外,在前面的具体实施方式中,可以看出,为了使得本公开流畅的目的,在单个实施例中将各种特征组合在一起。这种公开的方法不应被解释为反映以下意图:所要求保护的实施例要求比每项权利要求中明确叙述的更多的特征。相反,如所附权利要求反映的,创造性的主题在于少于单个公开的实施例的所有特征。因此,所附权利要求由此并入具体实施方式中,其中每项权利要求独立地作为单独的实施例。在所附权利要求中,术语“包括(including)”和“其中(in which)”分别用作相应的术语“包含(comprising)”和“其中(wherein)”的简明英文等同物。此外,术语“第一”、“第二”、“第三”等仅用作标签,而并非旨在对其对象施加数字要求。
上面描述的内容包括所公开的架构的示例。当然,不可能描述组件和/或方法的每种可设想的组合,但是本领域普通技术人员可以认识到许多另外的组合和变换是可能的。因此,新颖的架构旨在包含落在所附权利要求的精神和范围内的所有这样的改变、修改、以及变型。本公开现在提供示例实现方式。
示例1。一种装置,包括:逻辑,其一部分以硬件实现,该逻辑包括盲挑战认证元素(BCAE)组件,用于:生成BCAE;接收来自签名实体的已签名盲挑战认证元素(SBCAE);以及至少部分地基于SBCAE来确定用于访问自加密驱动器的认证证书;以及可通信地耦合到逻辑的通信总线,通信总线用于传送BCAE和SBCAE。
示例2。示例1的装置,BCAE组件用于在SED中执行。
示例3。示例1的装置,BCAE组件用于:接收BCRAM请求,BCRAM请求包括对自加密驱动器进行认证的指示;以及响应于接收到BCRAM请求而生成BCAE。
示例4。示例3的装置,BCAE组件用于:生成任意元素;至少部分地基于任意元素和公共密钥来确定CAE,公共密钥对应于来自公共/私有密钥对的私有密钥;以及至少部分地基于CAE来确定BCAE。
示例5。示例4的装置,BCAE组件用于:至少部分地基于CAE和填充常数来确定已填充挑战认证元素(PCAE),填充常数是至少部分地基于公共密钥的长度确定的;以及至少部分地基于PCAE和CAE来确定BCAE。
示例6。示例5的装置,CAE是第一CAE,BCAE组件用于:基于SBCAE、第二CAE、以及公共密钥的长度来确定非盲挑战认证元素(UCAE),第二CAE至少部分地基于任意元素和公共密钥的长度;以及至少部分地基于UCAE来确定认证证书。
示例7。示例1的装置,包括解密组件,解密组件用于基于认证证书对SED的至少一部分进行解密。
示例8。示例1的装置,包括认证组件,认证组件用于:确定认证证书是否有效;以及基于认证证书无效的确定将针对有效认证证书的请求传送到主机。
示例9。示例1的装置,认证证书包括媒体访问密钥。
示例10。示例9的装置,媒体访问密钥解密少于SED中的全部。
示例11。一种装置,包括:可信执行环境(TEE);可由TEE执行的已签名盲挑战认证元素SBCAE组件,SBCAE组件用于:接收来自自加密驱动器(SED)的盲挑战认证元素(BCAE),BCAE部分基于公共密钥,公共密钥对应于来自公共/私有密钥对的私有密钥;以及基于私有密钥和公共密钥的长度来推导SBCAE;以及用于传送BCAE和SBCAE的通信总线。
示例12。示例11的装置,TEE包括安全处理器元件和安全计算机可读存储设备。
示例13。示例11的装置,SBCAE组件用于:接收至少一个认证因子;确定至少一个认证因子是否有效;以及基于至少一个认证因子有效的确定来推导SBCAE。
示例14。示例11的装置,SBCAE组件用于:接收第一认证因子;接收第二认证因子;确定第一认证因子是否有效;确定第二认证因子是否有效;以及基于第一认证因子和第二认证因子有效的确定来推导SBCAE。
示例15。示例11的装置,SBCAE组件用于:生成公共/私有密钥对;将公共密钥和公共密钥的长度传送到SED;以及传送用于初始化SED以供使用盲挑战响应认证机制(BCRAM)进行认证的请求。
示例16。一种装置,包括:处理器元件;能够由处理器元件执行的逻辑,逻辑用于:生成盲挑战认证元素(BCAE);将BCAE传送到签名实体;接收来自签名实体的已签名盲挑战认证元素(SBCAE);以及至少部分地基于SBCAE来确定用于访问自加密驱动器的认证证书。
示例17。示例16的装置,逻辑用于:接收BCRAM请求,BCRAM请求包括对自加密驱动器进行认证的指示;以及响应于接收到BCRAM请求而生成BCAE。
示例18。示例17的装置,逻辑用于:生成任意元素;至少部分地基于任意元素和公共密钥来确定CAE,公共密钥对应于来自公共/私有密钥对的私有密钥;以及至少部分地基于CAE来确定BCAE。
示例19。示例18的装置,逻辑用于:至少部分地基于CAE和填充常数来确定已填充挑战认证元素(PCAE),填充常数至少部分地基于公共密钥的长度来确定;以及至少部分地基于PCAE和CAE来确定BCAE。
示例20。示例19的装置,CAE是第一CAE,逻辑用于:基于SBCAE、第二CAE、以及公共密钥的长度来确定非盲挑战认证元素(UCAE),第二CAE至少部分地基于任意元素和公共密钥的长度;以及至少部分地基于UCAE来确定认证证书。
示例21。示例16的装置,逻辑用于基于认证证书来解密自加密驱动器。
示例22。示例16的装置,逻辑用于:确定认证证书是否有效;以及基于认证证书无效的确定将针对有效认证证书的请求传送到主机。
示例23。示例16的装置,认证证书包括媒体访问密钥。
示例24。示例23的装置,媒体访问密钥解密少于自加密驱动器中的全部。
示例25。一种装置,包括:可信执行环境;可由可信执行环境执行的逻辑,该逻辑用于:接收来自自加密驱动器的盲挑战认证元素(BCAE),BCAE部分地基于公共密钥,公共密钥对应于来自公共/私有密钥对的私有密钥;基于私有密钥和公共密钥的长度来推导已签名盲挑战认证元素(SBCAE);以及将SBCAE传送到自加密驱动器。
示例26。示例25的装置,可信执行环境包括安全处理器元件和安全计算机可读存储设备。
示例27。示例25的装置,逻辑用于:接收至少一个认证因子;确定至少一个认证因子是否有效;以及基于至少一个认证因子有效的确定来推导SBCAE。
示例28。示例25的装置,逻辑用于:接收第一认证因子;接收第二认证因子;确定第一认证因子是否有效;确定第二认证因子是否有效;以及基于第一认证因子和第二认证因子有效的确定来推导SBCAE。
示例29。示例25的装置,逻辑用于:生成公共/私有密钥对;将公共密钥和公共密钥的长度传送到自加密驱动器;以及传送用于初始化自加密驱动器以供使用盲挑战认证机制进行认证的请求。
示例30。至少一种机器可读存储介质,包括指令,指令在由自加密驱动器执行时使得自加密驱动器:生成盲挑战认证元素(BCAE);将BCAE传送到签名实体;接收来自签名实体的已签名盲挑战认证元素(SBCAE);以及至少部分地基于SBCAE来确定用于访问自加密驱动器的认证证书。
示例31。示例30的至少一种机器可读存储介质,包括进一步使得自加密驱动器进行以下操作的指令:接收BCRAM请求,BCRAM请求包括对自加密驱动器进行认证的指示;以及响应于接收到BCRAM请求而生成BCAE。
示例32。示例31的至少一种机器可读存储介质,包括进一步使得自加密驱动器进行以下操作的指令:生成任意元素;至少部分地基于任意元素和公共密钥来确定CAE,公共密钥对应于来自公共/私有密钥对的私有密钥;以及至少部分地基于CAE来确定BCAE。
示例33。示例32的至少一种机器可读存储介质,包括进一步使得自加密驱动器进行以下操作的指令:至少部分地基于CAE和填充常数来确定已填充挑战认证元素(PCAE),填充常数至少部分地基于公共密钥的长度来确定;以及至少部分地基于PCAE和CAE来确定BCAE。
示例34。示例33的至少一种机器可读存储介质,CAE是第一CAE,至少一种机器可读存储介质包括进一步使得自加密驱动器进行以下操作的指令:基于SBCAE、第二CAE、以及公共密钥的长度来确定非盲挑战认证元素(UCAE),第二CAE至少部分地基于任意元素和公共密钥的长度;以及至少部分地基于UCAE来确定认证证书。
示例35。示例34的至少一种机器可读存储介质,包括进一步使得自加密驱动器基于认证证书来解密自加密驱动器的指令。
示例36。示例30的至少一种机器可读存储介质,包括进一步使得自加密驱动器进行以下操作的指令:确定认证证书是否有效;以及基于认证证书无效的确定将针对有效认证证书的请求传送到主机。
示例37。示例36的至少一种机器可读存储介质,认证证书包括媒体访问密钥。
示例38。示例37的至少一种机器可读存储介质,媒体访问密钥解密少于自加密驱动器中的全部。
示例39。至少一种机器可读存储介质,包括指令,该指令在由可信执行环境(TEE)执行时使得TEE进行以下操作:接收来自自加密驱动器的盲挑战认证元素(BCAE),BCAE部分地基于公共密钥,公共密钥对应于来自公共/私有密钥对的私有密钥;基于私有密钥和公共密钥的长度来推导已签名盲挑战认证元素(SBCAE);以及将SBCAE传送到自加密驱动器。
示例40。示例39的至少一种机器可读存储介质,TEE包括安全处理器元件和安全计算机可读存储设备。
示例41。示例39的至少一种机器可读存储介质,包括进一步使得TEE进行以下操作的指令:接收至少一个认证因子;确定至少一个认证因子是否有效;以及基于至少一个认证因子有效的确定来推导SBCAE。
示例42。示例39的至少一种机器可读存储介质,包括进一步使得TEE进行以下操作的指令:接收第一认证因子;接收第二认证因子;确定第一认证因子是否有效;确定第二认证因子是否有效;以及基于第一认证因子和第二认证因子有效的确定来推导SBCAE。
示例43。示例39的至少一种机器可读存储介质,包括进一步使得TEE进行以下操作的指令:生成公共/私有密钥对;将公共密钥和公共密钥的长度传送到自加密驱动器;以及传送用于初始化自加密驱动器以供使用盲挑战认证机制进行认证的请求。
示例44。一种计算机实现的方法,包括:在自加密驱动器的处理器元件上生成盲挑战认证元素(BCAE);将BCAE传送到签名实体;接收来自签名实体的已签名盲挑战认证元素(SBCAE);以及至少部分地基于SBCAE来确定用于访问自加密驱动器的认证证书。
示例45。示例44的计算机实现的方法,包括:接收BCRAM请求,BCRAM请求包括对自加密驱动器进行认证的指示;以及响应于接收到BCRAM请求而生成BCAE。
示例46。示例44的计算机实现的方法,包括:生成任意元素;至少部分地基于任意元素和公共密钥来确定CAE,公共密钥对应于来自公共/私有密钥对的私有密钥;以及至少部分地基于CAE来确定BCAE。
示例47。示例46的计算机实现的方法,包括:至少部分地基于CAE和填充常数来确定已填充挑战认证元素(PCAE),填充常数至少部分地基于公共密钥长度来确定;以及至少部分地基于PCAE和CAE来确定BCAE。
示例48。示例47的计算机实现的方法,CAE是第一CAE,该方法包括:基于SBCAE、第二CAE、以及公共密钥的长度来确定非盲挑战认证元素(UCAE),第二CAE至少部分地基于任意元素和公共密钥的长度;以及至少部分地基于UCAE来确定认证证书。
示例49。示例44的计算机实现的方法,包括基于认证证书来解密自加密驱动器。
示例50。示例44的计算机实现的方法,包括:确定认证证书是否有效;以及基于认证证书无效的确定,将针对有效认证证书的请求传送到主机。
示例51。示例44的计算机实现的方法,认证证书包括媒体访问密钥。
示例52。示例51的计算机实现的方法,媒体访问密钥解密少于自加密驱动器中的全部。
示例53。一种计算机实现的方法,包括:接收来自自加密驱动器的盲挑战认证元素(BCAE),BCAE部分地基于公共密钥,公共密钥对应于来自公共/私有密钥对的私有密钥;由可信执行环境(TEE)基于私有密钥和公共密钥的长度来推导已签名盲挑战认证元素(SBCAE);以及将SBCAE传送到自加密驱动器。
示例54。示例53的计算机实现的方法,TEE包括安全处理器元件和安全计算机可读存储设备。
示例55。示例53的计算机实现的方法,包括:接收至少一个认证因子;确定至少一个认证因子是否有效;以及基于至少一个认证因子有效的确定来推导SBCAE。
示例56。示例53的计算机实现的方法,包括:接收第一认证因子;接收第二认证因子;确定第一认证因子是否有效;确定第二认证因子是否有效;以及基于第一认证因子和第二认证因子有效的确定来推导SBCAE。
示例57。示例53的计算机实现的方法,包括:生成公共/私有密钥对;将公共密钥和公共密钥的长度传送到自加密驱动器;以及传送用于初始化自加密驱动器以供使用盲挑战认证机制进行认证的请求。
示例58。一种用于设备的装置,该装置包括用于执行示例44至57中任一项的方法的模块。

Claims (25)

1.一种装置,包括:
逻辑,所述逻辑的一部分以硬件实现,所述逻辑包括盲挑战认证元素(BCAE)组件,用于:
生成BCAE;
接收来自签名实体的已签名盲挑战认证元素(SBCAE);以及
至少部分基于所述SBCAE来确定用于访问自加密驱动器的认证证书;以及
通信总线,所述通信总线可通信地耦合到所述逻辑,所述通信总线用于传送所述BCAE和所述SBCAE。
2.根据权利要求1所述的装置,所述BCAE组件用于在所述SED中执行。
3.根据权利要求1所述的装置,所述BCAE组件用于:
接收BCRAM请求,所述BCRAM请求包括对所述自加密驱动器进行认证的指示;以及
响应于接收到所述BCRAM请求而生成所述BCAE。
4.根据权利要求3所述的装置,所述BCAE组件用于:
生成任意元素;
至少部分地基于所述任意元素和公共密钥来确定CAE,所述公共密钥对应于来自公共/私有密钥对的私有密钥;以及
至少部分地基于所述CAE来确定所述BCAE。
5.根据权利要求4所述的装置,所述BCAE组件用于:
至少部分地基于所述CAE和填充常数来确定已填充挑战认证元素(PCAE),所述填充常数是至少部分地基于所述公共密钥的长度确定的;以及
至少部分地基于所述PCAE和所述CAE来确定所述BCAE。
6.根据权利要求5所述的装置,所述CAE第一CAE,所述BCAE组件用于:
基于所述SBCAE、第二CAE、以及所述公共密钥的所述长度来确定非盲挑战认证元素(UCAE),所述第二CAE是至少部分地基于所述任意元素和所述公共密钥的所述长度的;以及
至少部分地基于所述UCAE来确定所述认证证书。
7.根据权利要求1所述的装置,包括解密组件,所述解密组件用于基于所述认证证书来解密所述SED的至少一部分。
8.根据权利要求1所述的装置,包括认证组件,所述认证组件用于:
确定所述认证证书是否有效;以及
基于所述认证证书无效的确定,将针对有效认证证书的请求传送到主机。
9.根据权利要求1所述的装置,所述认证证书包括媒体访问密钥。
10.一种装置,包括:
可信执行环境(TEE);
可由所述TEE执行的已签名盲挑战认证元素SBCAE组件,所述SBCAE组件用于:
接收来自自加密驱动器(SED)的盲挑战认证元素(BCAE),所述BCAE是部分地基于公共密钥的,所述公共密钥对应于来自公共/私有密钥对的私有密钥;以及
基于所述私有密钥和所述公共密钥的长度来推导SBCAE;以及
通信总线,所述通信总线用于传送所述BCAE和所述SBCAE。
11.根据权利要求10所述的装置,所述TEE包括安全处理器元件和安全计算机可读存储设备。
12.根据权利要求10所述的装置,所述SBCAE组件用于:
接收至少一个认证因子;
确定所述至少一个认证因子是否有效;以及
基于所述至少一个认证因子有效的确定来推导所述SBCAE。
13.根据权利要求10所述的装置,所述SBCAE组件用于:
接收第一认证因子;
接收第二认证因子;
确定所述第一认证因子是否有效;
确定所述第二认证因子是否有效;以及
基于所述第一认证因子和所述第二认证因子有效的确定来推导所述SBCAE。
14.根据权利要求10所述的装置,所述SBCAE组件用于:
生成所述公共/私有密钥对;
将所述公共密钥和所述公共密钥的长度传送到所述SED;以及
传送用于初始化SED以供使用盲挑战响应认证机制(BCRAM)进行认证的请求。
15.至少一种机器可读存储介质,包括指令,所述指令当由自加密驱动器执行时使得所述自加密驱动器:
生成盲挑战认证元素(BCAE);
将所述BCAE传送到签名实体;
接收来自所述签名实体的已签名盲挑战认证元素(SBCAE);以及
至少部分地基于所述SBCAE来确定用于访问自加密驱动器的认证证书。
16.根据权利要求15所述的至少一种机器可读存储介质,包括用于进一步使得所述自加密驱动器进行以下操作的指令:
接收BCRAM请求,所述BCRAM请求包括对所述自加密驱动器进行认证的指示;以及
响应于接收到所述BCRAM请求而生成所述BCAE。
17.根据权利要求16所述的至少一种机器可读存储介质,包括用于进一步使得所述自加密驱动器进行以下操作的指令:
生成任意元素;
至少部分地基于所述任意元素和公共密钥来确定CAE,所述公共密钥对应于来自公共/私有密钥对的私有密钥;以及
至少部分地基于所述CAE来确定所述BCAE。
18.根据权利要求17所述的至少一种机器可读存储介质,包括用于进一步使得所述自加密驱动器进行以下操作的指令:
至少部分地基于所述CAE和填充常数来确定已填充挑战认证元素(PCAE),所述填充常数是至少部分地基于所述公共密钥的长度确定的;以及
至少部分地基于所述PCAE和所述CAE来确定所述BCAE。
19.根据权利要求18所述的至少一种机器可读存储介质,所述CAE第一CAE,所述至少一种机器可读存储介质包括用于进一步使得所述自加密驱动器进行以下操作的指令:
基于所述SBCAE、第二CAE、以及所述公共密钥的所述长度来确定非盲挑战认证元素(UCAE),所述第二CAE是至少部分地基于所述任意元素和所述公共密钥的所述长度的;以及
至少部分地基于所述UCAE来确定所述认证证书。
20.根据权利要求19所述的至少一种机器可读存储介质,包括用于进一步使得所述自加密驱动器基于所述认证证书来解密所述自加密驱动器的指令。
21.根据权利要求15所述的至少一种机器可读存储介质,包括用于进一步使得所述自加密驱动器进行以下操作的指令:
确定所述认证证书是否有效;以及
基于所述认证证书无效的确定,将针对有效认证证书的请求传送到主机。
22.一种计算机实现的方法,包括:
接收来自自加密驱动器的盲挑战认证元素(BCAE),所述BCAE是部分地基于公共密钥的,所述公共密钥对应于来自公共/私有密钥对的私有密钥;
由可信执行环境(TEE)基于所述私有密钥和所述公共密钥的长度来推导已签名盲挑战认证元素(SBCAE);以及
将所述SBCAE传送到所述自加密驱动器。
23.根据权利要求22所述的计算机实现的方法,所述TEE包括安全处理器元件和安全计算机可读存储设备。
24.根据权利要求22所述的计算机实现的方法,包括:
接收至少一个认证因子;
确定所述至少一个认证因子是否有效;以及
基于所述至少一个认证因子有效的确定来推导所述SBCAE。
25.根据权利要求22所述的计算机实现的方法,包括:
生成所述公共/私有密钥对;
将所述公共密钥和所述公共密钥的长度传送到所述自加密驱动器;以及
传送用于初始化所述自加密驱动器以供使用盲挑战认证机制进行认证的请求。
CN201680012389.9A 2015-03-25 2016-03-24 用于自加密驱动的挑战响应认证 Active CN107408175B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/668,657 2015-03-25
US14/668,657 US9871663B2 (en) 2015-03-25 2015-03-25 Challenge response authentication for self encrypting drives
PCT/US2016/024112 WO2016154496A1 (en) 2015-03-25 2016-03-24 Challenge response authentication for self encrypting drives

Publications (2)

Publication Number Publication Date
CN107408175A true CN107408175A (zh) 2017-11-28
CN107408175B CN107408175B (zh) 2021-08-31

Family

ID=55650782

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680012389.9A Active CN107408175B (zh) 2015-03-25 2016-03-24 用于自加密驱动的挑战响应认证

Country Status (4)

Country Link
US (2) US9871663B2 (zh)
EP (1) EP3275116A1 (zh)
CN (1) CN107408175B (zh)
WO (1) WO2016154496A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110851886A (zh) * 2018-08-21 2020-02-28 东芝存储器株式会社 存储装置
CN112242976A (zh) * 2019-07-17 2021-01-19 华为技术有限公司 一种身份认证方法及装置

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10778417B2 (en) * 2007-09-27 2020-09-15 Clevx, Llc Self-encrypting module with embedded wireless user authentication
US10181055B2 (en) * 2007-09-27 2019-01-15 Clevx, Llc Data security system with encryption
WO2017027026A1 (en) 2015-08-12 2017-02-16 Hewlett Packard Enterprise Development Lp Host-storage authentication
CN105515768B (zh) * 2016-01-08 2017-07-21 腾讯科技(深圳)有限公司 一种更新密钥的方法、装置和系统
US10572690B2 (en) * 2016-09-02 2020-02-25 Blackberry Limited Method and device having secure removable modules
US11443075B2 (en) 2016-12-09 2022-09-13 Secunet Security Networks Ag Secure storage system
US10965474B1 (en) * 2017-02-27 2021-03-30 Apple Inc. Modifying security state with highly secured devices
DE102017213010A1 (de) 2017-07-28 2019-01-31 Audi Ag Gesamtvorrichtung mit einer Authentifizierungsanordnung und Verfahren zur Authentifizierung
WO2020101471A1 (en) * 2018-11-14 2020-05-22 Mimos Berhad Secure framework for transaction signing
CN110278078B (zh) * 2019-06-17 2022-03-22 矩阵元技术(深圳)有限公司 一种数据处理方法、装置及系统
US11809611B2 (en) 2020-02-24 2023-11-07 Microsoft Technology Licensing, Llc Protecting device detachment with bus encryption
US20220114249A1 (en) * 2020-10-09 2022-04-14 Huawei Technologies Co., Ltd. Systems and methods for secure and fast machine learning inference in a trusted execution environment
EP4064382A1 (en) * 2021-03-22 2022-09-28 Ricoh Company, Ltd. Liquid composition, method for producing electrode, and method for producing electrochemical element
CN116137574B (zh) * 2021-11-18 2024-04-09 北京小米移动软件有限公司 外设认证方法、装置电子设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080222423A1 (en) * 2007-03-06 2008-09-11 Secude International System and method for providing secure authentication of devices awakened from powered sleep state
CN101796764A (zh) * 2007-07-31 2010-08-04 国际商业机器公司 生物特征认证设备、生物特征认证系统和方法
CN101834725A (zh) * 2009-03-13 2010-09-15 Sap股份公司 对第一用户发送到第二用户的通信进行安全保护
CN103002445A (zh) * 2012-11-08 2013-03-27 张维加 一种安全的提供应用服务的移动电子设备
US20130166869A1 (en) * 2010-09-10 2013-06-27 Hewlett-Packard Development Company, L.P. Unlock a storage device
US8613387B1 (en) * 2002-12-26 2013-12-24 Diebold Self-Service Systems, Division Of Diebold, Incorporated Banking system controlled reponsive to data bearing records

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4947430A (en) * 1987-11-23 1990-08-07 David Chaum Undeniable signature systems
US5224162A (en) * 1991-06-14 1993-06-29 Nippon Telegraph And Telephone Corporation Electronic cash system
AU4958396A (en) * 1995-03-27 1996-10-16 Stefanus Alfonsus Brands System for ensuring that the blinding of secret-key certific ates is restricted, even if the issuing protocol is performe d in parallel mode
US7095852B2 (en) 1998-02-13 2006-08-22 Tecsec, Inc. Cryptographic key split binder for use with tagged data elements
US7716484B1 (en) * 2000-03-10 2010-05-11 Rsa Security Inc. System and method for increasing the security of encrypted secrets and authentication
US6871276B1 (en) * 2000-04-05 2005-03-22 Microsoft Corporation Controlled-content recoverable blinded certificates
FR2909243B1 (fr) * 2006-11-23 2009-02-06 Sagem Comm Procede et systeme de controle du verrouillage / deverrouillage des fonctions d'acces reseau d'un terminal a fonctions multiples.
US9411976B2 (en) * 2006-12-01 2016-08-09 Maidsafe Foundation Communication system and method
US8782801B2 (en) * 2007-08-15 2014-07-15 Samsung Electronics Co., Ltd. Securing stored content for trusted hosts and safe computing environments
EP2348446B1 (en) * 2009-12-18 2015-04-15 CompuGroup Medical AG A computer implemented method for authenticating a user
US9015489B2 (en) * 2010-04-07 2015-04-21 Microsoft Technology Licensing, Llc Securing passwords against dictionary attacks
JP5691418B2 (ja) * 2010-11-11 2015-04-01 富士通株式会社 ストレージ装置、記憶装置、制御装置および記憶装置制御方法
US9202059B2 (en) * 2011-03-01 2015-12-01 Apurva M. Bhansali Methods, systems, and apparatuses for managing a hard drive security system
US9165297B2 (en) * 2012-09-10 2015-10-20 King Fahd University Of Petroleum And Minerals Virtual account and token-based digital cash protocols
US9887983B2 (en) * 2013-10-29 2018-02-06 Nok Nok Labs, Inc. Apparatus and method for implementing composite authenticators
US9348997B2 (en) * 2014-03-13 2016-05-24 Intel Corporation Symmetric keying and chain of trust
US9654463B2 (en) * 2014-05-20 2017-05-16 Airwatch Llc Application specific certificate management

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8613387B1 (en) * 2002-12-26 2013-12-24 Diebold Self-Service Systems, Division Of Diebold, Incorporated Banking system controlled reponsive to data bearing records
US20080222423A1 (en) * 2007-03-06 2008-09-11 Secude International System and method for providing secure authentication of devices awakened from powered sleep state
CN101796764A (zh) * 2007-07-31 2010-08-04 国际商业机器公司 生物特征认证设备、生物特征认证系统和方法
CN101834725A (zh) * 2009-03-13 2010-09-15 Sap股份公司 对第一用户发送到第二用户的通信进行安全保护
US20130166869A1 (en) * 2010-09-10 2013-06-27 Hewlett-Packard Development Company, L.P. Unlock a storage device
CN103002445A (zh) * 2012-11-08 2013-03-27 张维加 一种安全的提供应用服务的移动电子设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
魏宗秀: "在线交换密钥的挑战-应答身份认证协议及形式化验证", 《信息安全与技术》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110851886A (zh) * 2018-08-21 2020-02-28 东芝存储器株式会社 存储装置
TWI712889B (zh) * 2018-08-21 2020-12-11 日商東芝記憶體股份有限公司 記憶裝置及程式
US11222144B2 (en) 2018-08-21 2022-01-11 Toshiba Memory Corporation Self-encrypting storage device and protection method
CN110851886B (zh) * 2018-08-21 2023-11-21 铠侠股份有限公司 存储装置
CN112242976A (zh) * 2019-07-17 2021-01-19 华为技术有限公司 一种身份认证方法及装置
CN112242976B (zh) * 2019-07-17 2022-02-25 华为技术有限公司 一种身份认证方法及装置

Also Published As

Publication number Publication date
US20160285638A1 (en) 2016-09-29
EP3275116A1 (en) 2018-01-31
WO2016154496A1 (en) 2016-09-29
CN107408175B (zh) 2021-08-31
US9871663B2 (en) 2018-01-16
US20180176024A1 (en) 2018-06-21
US10911250B2 (en) 2021-02-02

Similar Documents

Publication Publication Date Title
CN107408175A (zh) 用于自加密驱动的挑战响应认证
EP2973167B1 (en) Techniques for securing use of one-time passwords
CN105723377B (zh) 供内核模式应用使用的安全区域
US9646216B2 (en) Multiple user biometric for authentication to secured resources
CN109643284A (zh) 用于存储级存储器的多租户加密
EP3381003B1 (en) System for and method of authenticating a user on a device
US8539250B2 (en) Secure, two-stage storage system
CN102932140A (zh) 一种增强密码机安全的密钥备份方法
EP2901358A1 (en) Secure data containers and data access control
US10235526B2 (en) Secure resume from a low power state
CN103246832B (zh) 具有防复制功能的微处理器芯片及其刻录系统
CN105740733B (zh) 一种加密移动硬盘及其实现方法
CN201654768U (zh) 主动式智能安全usb移动储存设备
CN105205416A (zh) 一种移动硬盘密码模块
CN106778326A (zh) 一种实现移动存储设备保护的方法及系统
CN101127013A (zh) 加密移动存储设备及其数据存取方法
CN103049705A (zh) 一种基于虚拟化的安全存储方法、终端及系统
CN104503705B (zh) 利用闪存设备构建可信存储系统的方法及构建的可信存储系统
CN106855923A (zh) 一种基于生物识别技术的电子装置
CN104951407A (zh) 一种可加密u盘及其加密方法
TWI592828B (zh) 行動儲存裝置的加解密裝置及其加解密方法
CN107430656A (zh) 用于os级驱动器的系统管理模式信任建立
TWM527118U (zh) 電子文件保密系統
TWI623849B (zh) Electronic file security system and method
CN204009873U (zh) 一种控制数据拷贝的移动终端设备

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