CN114764504A - 经由计算机网络对存储器装置的控制的批次转移 - Google Patents
经由计算机网络对存储器装置的控制的批次转移 Download PDFInfo
- Publication number
- CN114764504A CN114764504A CN202210030830.3A CN202210030830A CN114764504A CN 114764504 A CN114764504 A CN 114764504A CN 202210030830 A CN202210030830 A CN 202210030830A CN 114764504 A CN114764504 A CN 114764504A
- Authority
- CN
- China
- Prior art keywords
- memory device
- client computer
- computer system
- respective memory
- digital signature
- 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
Images
Classifications
-
- 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/088—Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/102—Entity profiles
-
- 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
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- 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/3236—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 cryptographic hash functions
- H04L9/3242—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 cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3263—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Power Engineering (AREA)
- Storage Device Security (AREA)
Abstract
本申请案涉及经由计算机网络对存储器装置的控制的批次转移。描述用以经由计算机网络控制存储器装置的系统、方法和设备。举例来说,服务器系统建立与客户端计算机系统的安全认证连接以接收具有批次识别符的请求,所述批次识别符配置于所述服务器系统中以识别多个存储器装置的批次。在确定所述客户端计算机系统有资格控制所述批次中的所述多个存储器装置之后,所述服务器系统将响应传输到所述客户端计算机系统。所述响应含有用于所述批次中的每一相应存储器装置的控制数据。所述控制数据是至少基于与所述相应存储器装置相关联地存储于所述服务器系统中的加密密钥。所述客户端计算机系统使用所述控制数据将具有数字签名的命令提交到所述相应存储器装置,所述相应存储器装置在执行所述命令之前验证所述数字签名。
Description
技术领域
本文中公开的至少一些实施例大体上涉及计算机安全性,且更确切地说,但不限于存储器装置的安全操作的控制。
背景技术
存储器子系统可包含存储数据的一或多个存储器装置。存储器装置可以是例如非易失性存储器装置和易失性存储器装置。一般来说,主机系统可利用存储器子系统将数据存储在存储器装置处且从存储器装置检索数据。
发明内容
在一个方面中,本申请案提供一种方法,其包括:通过服务器系统建立与客户端计算机系统的安全认证连接;在服务器系统中经由连接从客户端计算机系统接收具有批次识别符的请求,所述批次识别符配置于服务器系统中以识别多个存储器装置的批次;基于存储于服务器系统中的数据而确定客户端计算机系统有资格控制批次中的多个存储器装置;和通过连接从服务器系统将对请求的响应传输到客户端计算机系统,响应含有用于批次中的每一相应存储器装置的控制数据,控制数据是至少基于与相应存储器装置相关联地存储于服务器系统中的加密密钥,其中客户端计算机系统将使用控制数据将具有第一数字签名的命令提交到相应存储器装置,相应存储器装置在执行命令之前验证第一数字签名。
在另一方面中,本申请案提供一种计算系统,其包括:存储器,其存储存储器装置的加密密钥和指示客户端计算机系统控制存储器装置的权限的数据;和至少一个处理器,其经由指令集来配置成:建立与客户端计算机系统的安全认证连接;经由连接从客户端计算机系统接收具有批次识别符的请求,所述批次识别符配置于服务器系统中以识别多个存储器装置的批次;基于存储于计算系统中的数据而确定客户端计算机系统有资格控制批次中的多个存储器装置;且经由连接将对请求的响应传输到客户端计算机系统,响应含有用于批次中的每一相应存储器装置的控制数据,控制数据是至少基于与相应存储器装置相关联地存储于服务器系统中的加密密钥,其中客户端计算机系统将使用控制数据将具有第一数字签名的命令提交到相应存储器装置,相应存储器装置在执行命令之前验证第一数字签名。
在另一方面中,本申请案提供一种存储指令的非暂时性计算机存储媒体,所述指令当由计算系统执行时使得计算系统执行方法,方法包括:通过计算系统建立与客户端计算机系统的安全认证连接;在计算系统中经由连接从客户端计算机系统接收具有批次识别符的请求,所述批次识别符配置于计算系统中以识别多个存储器装置的批次;基于存储于计算系统中的数据而确定客户端计算机系统有资格控制批次中的多个存储器装置;和通过连接将对请求的响应从计算系统传输到客户端计算机系统,响应含有用于批次中的每一相应存储器装置的控制数据,控制数据是至少基于与相应存储器装置相关联地存储于计算系统中的加密密钥,其中客户端计算机系统将使用控制数据将具有第一数字签名的命令提交到相应存储器装置,相应存储器装置在执行命令之前验证第一数字签名。
附图说明
在附图的图中作为实例而非限制说明实施例,在附图中,相似的参考标号指示类似的元件。
图1展示根据一个实施例的配置成控制存储器装置的服务器系统。
图2说明根据本公开的一些实施例的具有存储器子系统的实例计算系统。
图3说明根据一个实施例的具有安全性管理器的集成电路存储器装置。
图4说明根据一个实施例的用以认证存储器装置的技术。
图5说明根据一个实施例的用以产生用以控制存储器装置的安全性操作的命令的技术。
图6展示根据一个实施例的用以将存储器装置按批次分组以转移控制的技术。
图7展示根据一个实施例的用以经由计算机网络批次转移存储器装置的控制的技术。
图8展示根据一个实施例的用以控制存储器装置的方法。
图9是本公开的实施例可在其中操作的实例计算机系统的框图。
具体实施方式
本公开的至少一些方面是针对服务器系统,其配置成控制存储器装置,如激活存储器装置的安全性特征、转移指示存储器装置执行安全性操作的权限等。
存储器装置可制造成包含安全性管理器。安全性管理器可激活以实行对存储器装置中的存储器单元的存取的控制。可使用加密技术实施存取控制。举例来说,具有加密密钥的实体可具备指示存储器装置执行受限制操作的权限。此类操作的实例可包含改变存储器装置的安全性设置或配置,读取存储器装置中的存储器单元的一部分,将数据写入到存储器单元的一部分中,从存储器单元的一部分删除数据,更新存储器单元的一部分中的数据等。使存取控制中使用的加密密钥安全且使权限的转移安全具有挑战。
本公开的至少一些方面通过具有密钥管理服务器和存取控制服务器的服务器系统来解决以上和其它缺陷和/或挑战。
密钥管理服务器配置成使加密密钥安全且使涉及加密密钥的计算安全。密钥管理服务器实施涉及加密密钥的操作,所述加密密钥不特定针对存储器装置和客户端。因此,密钥管理服务器的功能性可受到限制、简化和/或规范化以改良安全性。
存取控制服务器存储客户端信息且配置成执行特定针对不同客户端和/或不同存储器装置的计算和/或安全性任务。存取控制服务器配置于密钥管理服务器与存储器装置连接到的客户端计算机系统之间。客户端计算机系统请求存取控制服务器提供响应,所述响应涉及存储于密钥管理服务器中的加密密钥。存取控制服务器处理确定是否使用密钥管理服务器的服务来产生响应的请求。存取控制系统可充当用于密钥管理服务器的网守和/或代理,从而拒绝来自不在白名单上的计算机系统的连接,保护密钥管理服务器免于拒绝服务(DoS)攻击,且使用密钥管理服务器的加密密钥管理功能性来实施对客户端/装置特定的操作。通过控制对密钥管理服务器的存取,存取控制服务器可降低密钥管理服务器的安全性风险且提供丰富服务以适应各种类型的存储器装置、控制活动和客户端偏好。
存储器装置可配置成具有唯一标识。标识可使用加密技术来认证以防止仿冒装置和/或窜改装置进行存取服务且防止不安全操作。标识可基于存储器装置的硬件和存储于存储器装置中的所选数据而产生以表示作为整体的存储器装置的硬件和软件的组合。此外,存储器装置可配置成向具有一或多个加密密钥的实体提供请求存储器装置执行与存储器装置的安全方面相关的命令的权限。密钥管理服务器可用于存储器装置的唯一标识的验证和权限的转移。
举例来说,存储器装置可存储用于其认证的秘密。在安全设施中的存储器装置的制造期间,唯一装置秘密(UDS)可注入在存储器装置中且存储于存储器装置的受保护和受存取控制的区域中。根据装置标识组合引擎(DICE)和鲁棒物联网(RIoT)的标准和/或实施方案,加密密钥可在启动时间处基于唯一装置秘密(UDS)和存储在安全存储器装置中的其它非秘密数据的组合而产生。加密密钥可随后用作存储器装置的秘密和标识。
在安全设施中的存储器装置的制造期间,存储器装置的唯一装置秘密(UDS)记录在密钥管理服务器中。随后,在从存储器装置的制造商运送存储器装置之后,并不导出、提供、由存储器装置的安全区段外部的和/或不在存储器装置外部的存储器装置传达唯一装置秘密(UDS)。由于唯一装置秘密(UDS)在存储器装置与密钥管理服务器之间已知,故存储器装置130和密钥管理服务器两者可执行使用唯一装置秘密(UDS)产生加密密钥的相同计算。加密密钥至少部分地基于存储器装置的认证的唯一装置秘密(UDS)而导出。
举例来说,存储器装置的认证可通过存储器装置具有加密密钥且因此具有唯一装置秘密且存储非秘密数据的未篡改版本的验证来执行。存储器装置可使用加密密钥对凭证或消息进行数字签名。如果可验证已使用加密密钥产生了数字签名,那么存储器装置可被视为具有加密密钥且因此具有表示唯一装置秘密且与唯一装置秘密相关联的标识。
消息的数字认证可通过将加密函数应用于消息且使用加密密钥来实现。举例来说,对称加密和/或非对称加密可依赖于作为使用加密密钥以数字方式进行签名的内容的散列。举例来说,使用对称加密进行签名可通过产生消息认证码(MAC)(例如,基于散列的消息认证码(HMAC)或基于密文的消息认证码(CMAC))来执行。举例来说,使用不对称加密进行签名可通过产生数字签名(例如,使用数字签名算法(DSA)或椭圆曲线数字签名算法(ECDSA))来执行。加密函数可包含散列和加密,其典型地用于产生添加到用于认证的消息的标头。标头可在使用对称加密时是散列摘要,或当应用不对称加密时是数字签名。消息的接收者可随后将类似加密函数应用于接收到的消息且使用加密密钥来认证消息的内容由拥有适当加密密钥的受信任方发送。举例来说,标头中的加密散列值可被解密以用于与独立于所述消息计算的散列值进行比较。如果根据消息计算的散列值与根据对标头(例如,数字签名和/或散列摘要)进行解密回收的散列值之间存在匹配,那么消息的完整性可鉴于散列值而确认;且标头可被视为已使用加密密钥来产生。
在启动时间处产生的加密密钥可用于在启动时间处对凭证进行签名且紧接着被舍弃以防护其安全性。替代地,在启动时间处产生的密钥可保持在存储器中以待稍后在运行时间使用。在一些情况下,在启动时间处使用的加密密钥称作DICE装置ID密钥,且在运行时间使用的密钥称作DICE别名密钥。在一些情况下,装置ID私用密钥可用于对包含别名公用密钥的凭证进行签名以证明别名密钥由存储器装置产生。
在一些布置中,当存储器装置从制造存储器装置的设施运送到存储器装置安装于其中的计算装置的原始设备制造商(OEM)时,存储器装置的安全性特征中的至少一些初始地去激活。命令可提供到存储器装置以激活非作用中安全性特征。
具有由存储器装置接受以用于执行的命令的权限可与加密密钥相关联。当存储器装置验证命令经由正确加密密钥以数字方式进行签名时,存储器装置执行命令;否则,存储器装置可拒绝或忽略命令。激活或去激活安全性特征或读取、写入、更新、删除和/或修改存储器单元的安全区段的各种命令可配置成需要基于相关加密密钥的权限。
举例来说,存储器装置配置成在请求存储器装置执行命令时存储用于实体的权限的验证的加密密钥。权限可通过使用加密密钥检查命令是否通过使用对应加密密钥进行签名来验证。当使用对称加密时,命令将使用存储于存储器装置中的相同加密密钥进行签名以用于验证权限。当使用不对称加密时,命令将使用与存储于存储器装置中的公用密钥相关联的私用密钥进行签名以用于验证权限。
操作存储器装置的至少一些权限可初始地提供到存储器装置的制造商。举例来说,存储器装置可制造成存储制造商的公用密钥,以允许权限通过数字签名的验证由存储器装置检查,所述数字签名使用制造商的对应私用密钥来应用于命令上。替代地,当使用对称加密时,存储器装置制造成存储存储器装置和制造商已知的秘密加密密钥以用于数字签名验证。
权限可从存储器装置的制造商转移到另一实体,如存储器装置安装于其中的计算装置的制造商。转移可通过替换存储于存储器装置中的对应加密密钥,或通过提供可用于对命令进行签名的秘密密钥来实现。
存取控制服务器可使用密钥管理服务器的服务来安全地验证存储器装置的标识,对需要权限的命令进行签名,和/或转移权限。
举例来说,权限的集合可指派给视为存储器装置的所有者的实体。所有者权限可经由存储于存储器装置内的加密密钥来验证。此类权限的实例可为以下操作所需:激活存储器装置的安全性特征,更新存储器装置的标识(例如,基于存储于存储器装置中的更新的非安全数据),和将所有者权限转移到另一实体,如存储器装置安装于其中的计算装置的制造商。存储器装置的当前所有者可以数字方式对特权命令进行签名以请求在存储器装置中执行所述命令。
所有权权限可进一步为以下操作所需:去激活所选安全性特征,管理用以认证被授权使用存储器装置中的一或多个安全区段的用户的在存储器装置中的加密密钥,和/或管理至少部分地基于存储器装置的唯一装置秘密而产生的存储器装置和/或计算装置的标识。
图1展示根据一个实施例的配置成控制存储器装置的服务器系统102。服务器系统102包含密钥管理服务器103和存取控制服务器101。
在图1中,密钥管理服务器103配置成存储使加密密钥124与唯一识别符122相关联的数据。
举例来说,加密密钥124可配置成用于存储器装置130的安全性管理器113的操作。安全性管理器113可具有在安全设施中的存储器装置130的制造期间记录到密钥管理服务器103中的唯一装置秘密(UDS)。表明存储器装置130具有唯一装置秘密(UDS)的加密操作可被视为是存储器装置130可靠的验证。
用于存储器装置130的存储于密钥管理服务器103中的加密密钥124可包含唯一装置秘密(UDS)。此外,加密密钥124可包含可与唯一装置秘密(UDS)组合以产生导出的加密密钥124的数据。用于产生导出的加密密钥124的此类数据可包含非秘密数据,如根据将加密散列函数应用于存储或待存储于存储器装置130中的数据集和/或指令集获得的散列值。加密密钥124可包含使用唯一装置秘密(UDS)和非秘密数据产生的导出的加密密钥124。存储器装置130和密钥管理服务器103配置成基于唯一装置秘密(UDS)和其它数据(例如,非秘密数据)而产生相同的导出加密密钥124。由于存储器装置130和密钥管理服务器103可独立地产生相同的导出密钥,故不执行存储器装置130和密钥管理服务器103外部的唯一装置秘密(UDS)的通信以用于存储器装置130的标识的认证。此类布置改良安全性。
存储器装置130可通过展示其具有至少部分地基于存储器装置130的唯一装置秘密(UDS)而导出的秘密加密密钥124来表明其具有密钥管理服务器103已知的唯一装置秘密(UDS)。举例来说,秘密加密密钥可用于产生应用于消息上的数字签名;且密钥管理服务器103可使用对应密钥来验证使用从存储器装置130的唯一装置秘密(UDS)导出的秘密加密密钥来应用数字签名。对应密钥可以是使用对称加密的相同秘密加密密钥124,或对应于秘密的公用密钥、使用不对称加密的私用密钥。数字签名可呈基于散列的消息认证码(HMAC)的形式,或呈正进行签名的消息的加密散列的形式。
一般来说,秘密密钥可以是在其中加密和解密均配置成使用相同密钥的对称加密中使用的对称加密密钥。替代地,秘密密钥可以是在其中使用一个密钥执行的加密将使用其它密钥解密但不可使用在加密中使用的所述相同密钥解密的不对称加密中使用的一对密钥中的一个;且根据所述对中的另一个密钥来确定一个密钥大体上不可行。因此,密钥对中的一个可用作秘密且因此用作私用密钥;且另一个密钥可被揭露作为公用密钥。使用公用密钥,并不具有私用密钥的实体可验证是否使用对应私用密钥产生密文。
存储器装置130可包含从群体中的其它存储器装置唯一地识别存储器装置130的唯一识别符(UID)122。举例来说,存储器装置130的唯一识别符(UID)122可包含存储器装置130的制造商零件编号(MPN)和/或存储器装置130的序列号。举例来说,存储器装置130的唯一识别符(UID)122可包含至少部分地基于唯一装置秘密而产生的一对不对称加密密钥中的公用密钥。
在存储器装置130连接到客户端计算机系统105之后,客户端计算机系统105可发起一或多个操作,所述一或多个操作依赖于与存储器装置130的唯一识别符(UID)122相关联地存储于密钥管理服务器103中的加密密钥124。
举例来说,客户端计算机系统105可请求如由存储器装置130的唯一装置秘密(UDS)或秘密密钥所表示的存储器装置130的标识的验证。客户端计算机系统105可请求存储器装置130提供标识数据,所述标识数据包含存储器装置130的唯一识别符(UID)122,和使用存储器装置130的秘密密钥应用于包含于标识数据中的消息上的数字签名。举例来说,消息可包含唯一识别符(UID)122、加密随机数和计数器值。标识数据可传输到密钥管理服务器103以用于使用与存储器装置130的唯一识别符(UID)122相关联的对应加密密钥124进行认证。
在图1的系统中,存取控制服务器101配置于客户端计算机系统105与密钥管理服务器103之间。存取控制服务器101存储客户端权限数据127和存储器装置权限数据129。
举例来说,客户端权限数据127可包含被允许存取密钥管理服务器103的功能性的客户端计算机系统(例如,105、…、106)的因特网协议(IP)地址的白名单。当并不在白名单上的计算机系统将请求发送到存取控制服务器101时,存取控制服务器101可丢弃或忽略请求。存取控制服务器101可配置成防止对密钥管理服务器103的拒绝服务(DoS)攻击。
图1说明配置成允许客户端计算机系统(例如,105、…、106)的集合使用密钥管理服务器103的功能性的一个存取控制服务器101的使用。一般来说,多个存取控制服务器101可配置成允许客户端计算机系统的不同集合存取密钥管理服务器103。在一些实施方案中,客户端计算机系统105可使用多个存取控制服务器(例如,101)中的一或多个来存取密钥管理服务器103的功能性。
存取控制服务器101和客户端计算机系统105可经由如因特网的非安全通信媒体来建立安全认证连接201。举例来说,存取控制服务器101配置成基于客户端计算机系统105的凭证121而认证客户端计算机系统105的标识;且客户端计算机系统105配置成基于存取控制服务器101的凭证123而认证存取控制服务器101的标识。举例来说,存取控制服务器101的公用密钥可由客户端计算机系统105使用以验证存取控制服务器101具有与公用密钥相关联的私用密钥;且客户端计算机系统105的公用密钥可由存取控制服务器101使用以验证客户端计算机系统105具有与公用密钥相关联的私用密钥。客户端计算机系统105和存取控制服务器101可在通信会话期间协商用于在客户端计算机系统105与存取控制服务器101之间传输的消息的加密的会话密钥。
存储于存取控制系统101中的存储器装置权限数据129指示客户端计算机系统105是否具有合法原因来存取用于由其唯一识别符(UID)122识别的存储器装置130的密钥管理服务器103。任选地,权限数据129指示客户端计算机系统105是否具有合法原因来存取用于一或多个存储器装置(例如,130)的密钥管理服务器103而不由其唯一识别符特定地和/或个别地识别相应存储器装置(例如,130)。在一些实施方案中,权限数据129指示客户端计算机系统105是否具有合法原因来存取用于使用批次或群组识别符识别的存储器装置(例如,130)的特定批次或群组的密钥管理服务器103。
举例来说,如果存储器装置130由操作客户端计算机系统105的实体购买,那么存储器装置权限数据129指示操作存储器装置130时的所有权权限可经由客户端计算机系统105转移到实体。因此,可接受在存储器装置130上操作的请求且使用密钥管理服务器103的功能性来服务所述请求。举例来说,可作出此类请求以验证存储器装置130的可靠性,激活存储器装置130的安全性特征,替换加密密钥124中的一些和/或将加密密钥124中的一些安装在存储器装置130中,存取存储器装置130的存储器单元107的安全部分等。然而,如果存储器装置130的唯一识别符(UID)122并不与存储器装置权限数据129中的客户端计算机系统105相关联,那么可丢弃或拒绝请求。
在一些实施方案中,密钥管理服务器103和存取控制服务器101也可经由如因特网的非安全通信媒体进行通信。密钥管理服务器103和存取控制服务器101可使用其相应凭证(例如,123和125)来建立安全认证连接203。
任选地,密钥管理服务器103和存取控制服务器101可使用专用通信连接来连接且/或配置成用于内联网内的改良安全性。
存取控制服务器101可请求密钥管理服务器103来确定来自存储器装置130的数字签名是否使用自存储器装置130的UID 122的唯一装置秘密导出的加密密钥124进行签名。
任选地,存取控制服务器101可请求密钥管理服务器103来在消息或命令上产生数字签名。
举例来说,密钥管理服务器103可存储表示操作存储器装置130的权限的当前持有者的私用密钥;且在验证存储器装置130是可靠的且客户端计算机系统105有资格请求权限的转移之后,存取控制服务器101可请求密钥管理服务器103来使用表示权限的当前持有者的私用密钥对命令进行签名,所述权限如对存储器装置130的安全性操作进行配置的权限。命令可配置成改变或替换在存储器装置130中使用的数据的一部分以产生存储器装置130的标识数据,改变或更新权限的持有者的公用密钥,添加或改变授权用户的公用密钥以在存储器单元107的区段中执行受限制操作。受限制操作的实例包含在存储器装置130中的存储器单元107的区段中读取、写入、擦除和/或更新数据。
存储器装置130可用作存储装置和/或主机系统的存储器模块。下文结合图2描述存储装置和存储器模块的实例。一般来说,主机系统可利用包含一或多个组件(如存储数据的存储器装置130)的存储器子系统。主机系统可提供数据以存储于存储器子系统处且可请求从存储器子系统检索数据。
图2说明根据本公开的一些实施例的包含存储器子系统110的实例计算系统100。存储器子系统110可包含媒体,如一或多个易失性存储器装置(例如,存储器装置140)、一或多个非易失性存储器装置(例如,存储器装置130)或这些的组合。
存储器子系统110可以是存储装置、存储器模块或存储装置与存储器模块的混合。存储装置的实例包含固态驱动器(SSD)、快闪驱动器、通用串行总线(USB)快闪驱动器、嵌入式多媒体控制器(eMMC)驱动器、通用快闪存储(UFS)驱动器、安全数字(SD)卡和硬盘驱动器(HDD)。存储器模块的实例包含双列直插式存储器模块(DIMM)、小外形DIMM(SO-DIMM)和各种类型的非易失性双列直插式存储器模块(NVDIMM)。
计算系统100可以是计算装置,如台式计算机、膝上型计算机、网络服务器、移动装置、交通工具(例如,飞机、无人机、火车、汽车或其它运输工具)、具有物联网(IoT)功能的装置、嵌入式计算机(例如,交通工具、工业设备或联网商业装置中包含的嵌入式计算机)或包含存储器和处理装置的此类计算装置。
计算系统100可包含耦合到一或多个存储器子系统110的主机系统120。图3说明耦合到一个存储器子系统110的主机系统120的一个实例。如本文中所使用,“耦合到”或“与…耦合”通常指代组件之间的连接,其可以是间接通信连接或直接通信连接(例如不具有介入组件),无论有线或无线,包含如电性连接、光学连接、磁性连接等的连接。
主机系统120可包含处理器芯片组(例如,处理装置118)和由处理器芯片组执行的软件堆叠。处理器芯片组可包含一或多个核心、一或多个高速缓存、存储器控制器(例如,控制器116)(例如,NVDIMM控制器)和存储协议控制器(例如,PCIe控制器、SATA控制器)。主机系统120使用存储器子系统110,例如以将数据写入到存储器子系统110和从存储器子系统110读取数据。
主机系统120可经由物理主机接口耦合到存储器子系统110。物理主机接口的实例包含但不限于串行高级技术附件(SATA)接口、外围组件互连高速(PCIe)接口、通用串行总线(USB)接口、光纤通道、串行附接SCSI(SAS)接口、双数据速率(DDR)存储器总线接口、小型计算机系统接口(SCSI)、双列直插式存储器模块(DIMM)接口(例如,支持双数据速率(DDR)的DIMM套接接口)、开放NAND快闪接口(ONFI)、双数据速率(DDR)接口、低功率双数据速率(LPDDR)接口或任何其它接口。物理主机接口可用于在主机系统120与存储器子系统110之间传输数据。当存储器子系统110通过PCIe接口与主机系统120耦合时,主机系统120可进一步利用NVM高速(NVMe)接口来存取组件(例如,存储器装置130)。物理主机接口可提供接口以用于在存储器子系统110与主机系统120之间传送控制、地址、数据和其它信号。图2说明存储器子系统110作为实例。一般来说,主机系统120可经由同一通信连接、多个单独通信连接和/或通信连接的组合来存取多个存储器子系统。
主机系统120的处理装置118可例如是微处理器、中央处理单元(CPU)、处理器的处理核心、执行单元等。在一些情况下,控制器116可称为存储器控制器、存储器管理单元和/或启动器。在一个实例中,控制器116控制经由耦合在主机系统120与存储器子系统110之间的总线进行的通信。一般来说,控制器116可向存储器子系统110发送期望存取存储器装置130、140的命令或请求。控制器116可进一步包含用以与存储器子系统110通信的接口电路。接口电路可将从存储器子系统110接收到的响应转换成主机系统120的信息。
主机系统120的控制器116可与存储器子系统110的控制器115通信以执行操作,如在存储器装置130、140处读取数据、写入数据或擦除数据以及其它此类操作。在一些情况下,控制器116集成在处理装置118的同一封装内。在其它情况下,控制器116与处理装置118的封装分离。控制器116和/或处理装置118可包含硬件,如一或多个集成电路(IC)和/或离散组件、缓冲存储器、高速缓存存储器或其组合。控制器116和/或处理装置118可以是微控制器、专用逻辑电路(例如,现场可编程门阵列(FPGA)、专用集成电路(ASIC)等)或另一合适的处理器。
存储器装置130、140可包含不同类型的非易失性存储器组件和/或易失性存储器组件的任何组合。易失性存储器装置(例如,存储器装置140)可以是(但不限于)随机存取存储器(RAM),如动态随机存取存储器(DRAM)和同步动态随机存取存储器(SDRAM)。
非易失性存储器组件的一些实例包含与非(或NOT AND)(NAND)型快闪存储器和就地写入存储器,如三维交叉点(“3D交叉点”)存储器。非易失性存储器的交叉点阵列可结合可堆叠交叉网格化数据存取阵列而基于体电阻的改变来执行位存储。另外,与许多基于快闪的存储器相比,交叉点非易失性存储器可执行就地写入操作,其中可在不预先擦除非易失性存储器单元的情况下编程非易失性存储器单元。NAND型快闪存储器包含例如二维NAND(2D NAND)和三维NAND(3D NAND)。
存储器装置130中的每一个可包含一或多个存储器单元阵列。一种类型的存储器单元,例如单层级单元(SLC)可每单元存储一个位。其它类型的存储器单元,如多层级单元(MLC)、三层级单元(TLC)、四层级单元(QLC)和五层级单元(PLC)可每单元存储多个位。在一些实施例中,存储器装置130中的每一个可包含一或多个存储器单元阵列,如SLC、MLC、TLC、QLC、PLC或这些的任何组合。在一些实施例中,特定存储器装置可包含存储器单元的SLC部分、MLC部分、TLC部分、QLC部分和/或PLC部分。存储器装置130的存储器单元可分组为可指代用以存储数据的存储器装置的逻辑单元的页。对于一些类型的存储器(例如,NAND),页可进行分组以形成块。
尽管描述非易失性存储器装置,如3D交叉点型和NAND型存储器(例如,2D NAND、3DNAND),但存储器装置130可基于任何其它类型的非易失性存储器,如只读存储器(ROM)、相变存储器(PCM)、自选存储器、其它基于硫属化物的存储器、铁电晶体管随机存取存储器(FeTRAM)、铁电随机存取存储器(FeRAM)、磁随机存取存储器(MRAM)、自旋转移力矩(STT)-MRAM、导电桥接RAM(CBRAM)、电阻性随机存取存储器(RRAM)、基于氧化物的RRAM(OxRAM)、或非(NOR)快闪存储器和电可擦除可编程只读存储器(EEPROM)。
存储器子系统控制器115(或为简单起见,控制器115)可与存储器装置130通信以执行操作,如在存储器装置130处读取数据、写入数据或擦除数据和其它此类操作(例如,响应于由控制器116在命令总线上调度的命令)。控制器115可包含硬件,如一或多个集成电路(IC)和/或离散组件、缓冲存储器或其组合。硬件可包含具有执行本文中所描述的操作的专用(即,硬译码)逻辑的数字电路。控制器115可以是微控制器、专用逻辑电路(例如,现场可编程门阵列(FPGA)、专用集成电路(ASIC)等)或另一合适的处理器。
控制器115可包含配置成执行存储在本地存储器119中的指令的处理装置117(例如,处理器)。在所说明的实例中,控制器115的本地存储器119包含配置成存储指令的嵌入式存储器,所述指令用于执行控制存储器子系统110的操作(包含处置存储器子系统110与主机系统120之间的通信)的各种过程、操作、逻辑流程和例程。
在一些实施例中,本地存储器119可包含存储存储器指针、所提取数据等的存储器寄存器。本地存储器119还可包含用于存储微码的只读存储器(ROM)。虽然图2中的实例存储器子系统110已说明为包含控制器115,但在本公开的另一实施例中,存储器子系统110不包含控制器115,且可实际上依赖于外部控制(例如,由外部主机或由与存储器子系统分离的处理器或控制器提供)。
一般来说,控制器115可从主机系统120接收命令或操作,且可将命令或操作转换为指令或适当命令以实现对存储器装置130的所要存取。控制器115可负责其它操作,如耗损均衡操作、垃圾收集操作、错误检测和错误校正码(ECC)操作、加密操作、高速缓存操作和与存储器装置130相关联的逻辑地址(例如,逻辑块地址(LBA)、名字空间)与物理地址(例如,物理块地址)之间的地址转译。控制器115可进一步包含主机接口电路以经由物理主机接口与主机系统120通信。主机接口电路可将从主机系统接收到的命令转换成命令指令以存取存储器装置130,以及将与存储器装置130相关联的响应转换成用于主机系统120的信息。
存储器子系统110还可包含未说明的额外电路或组件。在一些实施例中,存储器子系统110可包含高速缓存或缓冲器(例如,DRAM)和地址电路(例如,行解码器和列解码器),所述地址电路可从控制器115接收地址且对地址进行解码以存取存储器装置130。
在一些实施例中,存储器装置130包含本地媒体控制器150,其结合存储器子系统控制器115来操作以对存储器装置130的一或多个存储器单元执行操作。外部控制器(例如,存储器子系统控制器115)可在外部管理存储器装置130(例如,对存储器装置130执行媒体管理操作)。在一些实施例中,存储器装置130是受管理存储器装置,其是与本地控制器(例如,本地媒体控制器150)组合以在同一存储器装置封装内进行媒体管理的原始存储器装置。受管理存储器装置的实例是受管理NAND(MNAND)装置。
控制器115和/或存储器装置130可包含配置成控制对存储器装置130中的存储器单元107的存取的安全性管理器113。在一些实施例中,存储器子系统110中的控制器115和/或本地媒体控制器150可包含安全性管理器113的至少一部分。在其它实施例中,或以组合方式,主机系统120中的控制器116和/或处理装置118可包含安全性管理器113的至少一部分。举例来说,控制器115、控制器116和/或处理装置118可包含实施安全性管理器113的逻辑电路。举例来说,控制器115或主机系统120的处理装置118(例如,处理器)可配置成执行存储于存储器中的指令,所述指令用于执行本文中所描述的安全性管理器113的操作。在一些实施例中,安全性管理器113实施于安置于存储器子系统110中的集成电路芯片中。在其它实施例中,安全性管理器113可以是存储器子系统110的固件、主机系统120的操作系统、装置驱动器或应用程序或其中的任何组合的部分。
举例来说,当从存储器装置的制造商初始地运送存储器装置130时,存储器装置130配置有制造商的加密密钥以向制造商提供对存储器装置130的安全性操作进行配置的权限。为有助于存储器装置130安装于其中的图2的计算系统100的组装,权限可提供到或转移到计算系统100的制造商。在认证存储器装置130的标识之后,所述转移可包含经由存取控制服务器101激活存储器装置130的安全性特征。任选地,权限可通过替换加密密钥来转移到计算系统100的制造商,所述加密密钥控制对存储器装置130的安全性操作进行配置的权限。在激活之后,安全性管理器113可控制安装于存储器装置130中的软件/固件以操作计算系统100,且产生不仅代表存储器装置130且还代表具有存储器装置130和其它软件/硬件组件的计算系统100的标识数据。
安全性管理器113可不仅基于其唯一装置秘密(UDS)且还基于存储于存储器装置130中的指令而构建存储器装置130的标识,所述指令用于由主机系统120的处理装置118执行。举例来说,安全性管理器113可确定待在计算系统100的启动时间期间执行的指令集的加密散列值。安全性管理器113可通过将在启动时间处计算的散列值与预计算散列值进行比较来检查指令集的完整性。如果两个散列值彼此一致,那么指令集可被视为尚未被窜改和/或损坏。因此,指令集可在计算系统100中执行以进一步实施安全性管理器113的安全性操作和/或计算系统100的启动操作。任选地,散列值的验证可以是使用通过在计算系统100的启动时间期间执行指令集的至少一部分而产生的凭证的作为端点的计算系统100的认证的部分。
举例来说,存储器装置130的标识符可至少部分地基于指令集的散列值而产生。因此,当存储器装置130的标识符通过认证使用凭证进行验证时,指令集的散列值可被视为已验证为正确的;且用于产生凭证且启动计算系统100的指令集尚未被窜改和/或损坏。
计算系统100中的指令集的执行使得计算系统100确定计算系统100的其它组件的标识,如处理装置118的标识符、控制器116的标识符、存储器子系统控制器115的标识符、存储器装置140的标识符和/或软件程序(例如,操作系统、装置驱动器、应用程序等)的标识符。具有存储器装置130的计算系统100中的组件的标识符的集合(包含存储器装置130的标识符)可组合以产生用于对凭证进行签名的加密密钥。凭证是基于每当计算系统100启动时和/或每当存储器装置130执行安全操作时增加的单调递增计数器值。任选地,凭证可展示用于产生加密密钥的标识符中的一些,所述加密密钥用于对凭证进行签名。凭证还可包含在启动时间处产生的DICE别名公用密钥。
凭证可经由计算机网络传达至远程计算机(例如,存取控制服务器101)以用于认证。当认证凭证时,可得出结论,用于产生凭证的指令集的完整性是完整的,且计算系统100具有与由标识符表示的组件的集合组合的存储器装置130,所述标识符用于产生用于对凭证进行签名的加密密钥。另外,凭证中包含的单调计数器值允许其接收者验证其是否是最近产生的,且因此其可能可信。凭证保持DICE别名公用密钥,其可与DICE别名公用密钥(例如,存储在远程计算机上,或响应于凭证而刚好及时计算以用于其使用)进行比较。如果两个密钥匹配,那么远程计算机可相信由端点发送且用DICE别名私用密钥进行签名的其它消息。
图3说明根据一个实施例的具有安全性管理器的集成电路存储器装置。举例来说,图2的存储器子系统110中的存储器装置130和/或连接到图1中的客户端计算机系统105的存储器装置130可使用图3的集成电路存储器装置130来实施。
集成电路存储器装置130可围封在单个集成电路封装中。集成电路存储器装置130包含可形成于一或多个集成电路管芯中的多个存储器区131、…、133。存储器区131、…、133中的典型存储器单元可编程成存储一或多个数据位。
本地媒体控制器150可包含配置成控制对存储器区131、…、133中的至少一个的存取的安全性管理器113的至少一部分。
举例来说,安全性管理器113可使用存取控制密钥153来实施一种类型的操作的权限。当在集成电路存储器装置130中接收到用于此类类型的操作的请求时,安全性管理器113可使用存取控制密钥153来验证请求是否使用对应加密密钥以数字方式进行签名。举例来说,请求者可使用加密密钥以数字方式对请求或质询消息(challenge message)进行签名,使得数字签名可使用存取控制密钥153来验证。当使用存取控制密钥153执行的数字签名验证成功时,请求操作由存储器装置130执行。否则,可拒绝或忽略请求。
举例来说,权限可以是对将数据写入在存储器区(例如,131)中的准许以防止存储于存储器区中的数据的窜改,所述存储器区如计算系统100的启动加载程序171、计算系统100的固件/软件/操作系统、存储器装置130的安全性设置等。
存储器装置130可具有识别存储器装置130的唯一识别符151和表明具有唯一识别符151的存储器装置130的可靠性的秘密加密密钥155。举例来说,加密密钥155可由存储器装置130的唯一装置秘密(UDS)和其它数据产生,所述其它数据如存储于存储器区(例如,131)中的非秘密数据的信息和/或计算系统100的其它组件的信息。
集成电路存储器装置130具有用以从存储器子系统110的控制器115接收具有地址135的命令的通信接口147。响应于识别需要存取控制的存储器区131的地址135,安全性管理器113使用存取控制密钥153来执行加密操作,以验证请求是否是来自具有表示对存取的授权的对应加密密钥的请求者。在对存取的授权、准许或权限的验证之后,存储器装置130可提供使用地址解码器141从存储器区131检索到的存储器数据。集成电路存储器装置130的地址解码器141将地址135转换成控制信号以选择集成电路存储器装置130中的存储器单元群组;且集成电路存储器装置130的本地媒体控制器150执行用以确定在地址135处存储于存储器单元中的存储器数据的操作。
存储器区131可存储启动加载程序171。在启动时间处,安全性管理器113可通过计算启动加载程序171的加密散列值来测量启动加载程序171。启动加载程序171的加密散列值可用于产生集成电路存储器装置130和/或计算系统100的标识数据。启动加载程序171(和/或操作系统或装置驱动器,或安全性应用程序)可包含用以实施安全性管理器113的一部分的指令。在启动时间期间,指令可确定计算系统100的配置,其中集成电路存储器装置130是组件。
举例来说,图2的计算系统100的配置可包含存储器子系统110的软件/固件组件。软件/固件可存储于其它存储器装置(例如,140)中,或存储器区133中的存储器装置130中。举例来说,集成电路存储器装置130中的存储器区133中的指令173可包含计算系统100、装置驱动器、固件和/或软件应用程序的操作系统。存储器子系统110的主要软件/固件组件中的一些可在安全性管理器113的存取控制下存储在存储器区外部和/或集成电路存储器装置130外部。软件/固件组件的标识符可包含软件/固件组件的组件识别符、版本号、序列号和/或加密散列值。
图2的计算系统100的配置可包含存储器子系统110的硬件组件,如处理装置118和/或控制器116。主机系统120可进一步包含外围装置,如网络接口卡、通信装置、另一存储器子系统等。硬件组件的标识符可包含序列号、地址、识别编号等。
计算系统100的配置信息(包含唯一识别符151)可用于产生秘密加密密钥155以对至少使用来自单调计数器的值产生的凭证进行签名。凭证识别计数器值、存储器装置130的唯一识别符151和/或存储器装置130安装于其中的计算系统100的唯一识别符。
密钥管理服务器103可用于验证凭证的可靠性,这是由于在制造存储器装置130之后,密钥管理服务器103具有唯一装置秘密(UDS)且可产生由存储器装置130产生的相同加密密钥(例如,155)而不需要经由通信通道进行秘密的传达。
在用以控制存储器装置的方法的一个实施例中,第一计算机系统(例如,存取控制服务器101)建立与客户端计算机系统105的安全认证连接201。
举例来说,为建立安全认证连接201,存取控制服务器101从客户端计算机系统105接收第一凭证121。第一凭证121指示客户端计算机系统105的标识;且存取控制服务器101验证第一凭证121。举例来说,存取控制服务器101可存储客户端计算机系统105的公用密钥且使用公用密钥来验证第一凭证121是否使用对应于公用密钥的私用密钥进行签名。
类似地,为建立安全认证连接201,存取控制服务器101提供第二凭证123以指示存取控制服务器101的标识。客户端计算机系统105配置成在建立安全认证连接201之前验证第二凭证123。
安全认证连接201的建立可包含建立用以加密经由安全认证连接201传输的数据的会话密钥。
为减少对存取控制服务器101的性能的拒绝服务(DoS)攻击的影响,存取控制服务器101可存储客户端计算机系统(例如,105、…、106)的因特网协议(IP)地址的列表。存取控制服务器101可至少部分地基于客户端计算机系统105的地址是否在列表中而确定是否建立安全认证连接201。
第一计算机系统(例如,存取控制服务器101)经由连接201从客户端计算机系统105接收关于存储器装置130的请求。
请求可包含存储器装置130的标识数据。
第一计算机系统(例如,存取控制服务器101)基于存储于第一计算机系统中的数据而确定客户端计算机系统105有资格操作存储器装置130。
举例来说,数据可包含指示客户端计算机系统105的操作员是存储器装置130的新所有者的客户端权限数据127。在一个实施方案中,存储数据,所述数据使存储器装置(例如,130)的唯一识别符(例如,111)与用于有资格控制存储器装置(例如,130)的客户端计算机系统105的客户端权限数据127相关联,所述客户端计算机系统105作为存储器装置(例如,130)安装于其中的端点的所有者或制造商。在从密钥管理服务器103进行密钥检索时存储额外的客户端特定数据以用于记录、报告和发票产生以有助于所有者权限和/或其它权限的转移。存取控制数据和发票产生数据的分离允许使用存取控制服务器101从密钥管理服务器103检索代表操作存储器装置(例如,130)的权限的加密密钥,而不需要存取控制服务器101具有关于请求加密密钥的客户或作出请求的客户端计算机系统的任何个人可识别信息。因此,布置可在经由存取控制服务器101作出请求时提供客户端伙伴匿名性,同时仍确保将仅允许具有正确凭证的客户端计算机系统105存取。
举例来说,数据可包含存储器装置权限数据129,其指示客户端计算机系统105的操作员是否已购买使用存储器装置130的安全特征的权限。
响应于确定客户端计算机系统105有资格操作或控制存储器装置130,第一计算机系统(例如,存取控制服务器101)与第二计算机系统(例如,密钥管理服务器103)通信以产生对请求的响应。所述响应至少使用与存储器装置130的唯一识别符122相关联地存储于第二计算机系统(例如,密钥管理服务器103)中的加密密钥124而产生。响应经由使用加密密钥124执行操作的第二计算机系统(例如,密钥管理服务器103)而产生,而不将加密密钥124传输到第二计算机系统(例如,密钥管理服务器103)外部。举例来说,密钥管理服务器103可具有硬件安全模块(HSM)以确保加密密钥124在其在密钥管理服务器103中存储和使用时的安全性。由于加密密钥124并不提供到存取控制服务器101,故硬件安全模块(HSM)在存取控制服务器101中对于加密密钥124的安全性并非必要。替代地,存取控制服务器101和密钥管理服务器103可在相同计算机系统中实施。
举例来说,从客户端计算机系统105接收到的请求可包含存储器装置130的标识数据;且响应可包含存储器装置130根据加密密钥124而是否可靠的指示。
举例来说,加密密钥124可以是基于存储器装置130的唯一装置秘密而独立地和由第二计算机系统(例如,密钥管理服务器103)和由存储器装置130分别产生的秘密密钥。存储器装置130的唯一装置秘密在存储器装置130的制造期间记录和存储于第二计算机系统(例如,密钥管理服务器103)中。随后,存储器装置130的唯一装置秘密作为秘密分别保持在存储器装置130内和密钥管理服务器103内且不传达/揭露到存储器装置130和密钥管理服务器103外部以用于改良的安全性。
任选地,第一计算机系统(例如,存取控制服务器101)与第二计算机系统(例如,密钥管理服务器103)通信以建立其之间的单独安全认证连接203以产生响应。举例来说,存取控制服务器101可请求密钥管理服务器103来确定存储器装置130的标识数据是否通过加密计算自存储器装置130的唯一装置秘密导出。
举例来说,响应可包含可在存储器装置130中执行的命令,所述命令用以将权限转移到客户端计算机系统106的操作员,和/或激活存储器装置130的至少一个安全特征。举例来说,命令包含使用权限的当前持有者的加密密钥应用在命令上的数字签名;且在数字签名由存储器装置130验证之后,命令可在存储器装置130中执行。
举例来说,响应可包含可用于将数字签名应用在命令上的加密密钥,使得在存储器装置130中验证数字签名后,命令可由存储器装置130执行。当命令并不具有有效数字签名时,存储器装置130可拒绝或忽略命令。
上文所论述的服务器系统102可用于将权限提供到客户端计算机系统105以控制存储器装置130的安全性方面,而不在存储器装置130和密钥管理服务器103外部以明文形式暴露秘密加密密钥124且而不在确保秘密加密密钥124安全时信任客户端计算机系统105。
图4说明根据一个实施例的用以认证存储器装置的技术。举例来说,通过认证操作,可建立会话密钥以确保密钥管理服务器103与存储器装置130之间的通信安全,而不在处置安全性时信任客户端计算机系统105,以保护存储器装置130的秘密。
在图4中,客户端计算机系统105可将对存储器装置130的标识数据的请求231发送到存储器装置130。
请求231可包含加密随机数227。举例来说,加密随机数227可响应于来自客户端计算机系统105的请求而由服务器系统102产生,或由客户端计算机系统105产生且与服务器系统102共享以用于请求231。替代地,存储器装置130可响应于请求231而产生加密随机数227且提供包含加密随机数227的对应响应233。
响应于对存储器装置130的标识数据的请求231,存储器装置130提供包含识别存储器装置130的唯一识别符(UID)122的消息的响应233。
数字签名229使用存储器装置130的秘密加密密钥124来应用于响应中提供的消息。具有秘密加密密钥124是存储器装置130可靠的证据。举例来说,数字签名229可包含使用包含于响应233和加密密钥124中的消息产生的基于散列的消息认证码(HMAC)。举例来说,加密密钥124可用于产生两个密钥以用于产生基于散列的消息认证码(HMAC)。在将两个密钥中的一个与消息组合以产生由密钥修改的消息之后,存储器装置130可将加密散列函数应用于密钥修改的消息以产生散列值,将另一密钥与散列值组合以产生另一消息,且将加密散列函数(或另一加密散列函数)应用于另一消息以产生基于散列的消息认证码(HMAC)。替代地,数字签名229可基于加密散列函数和使用加密密钥124执行的加密而使用其它技术产生,其中一般来说,加密可使用对称加密或不对称加密。
为保护响应233和/或数字签名229免于安全性攻击(例如,响应233的再使用和/或尝试复原秘密加密密钥124),在消息上产生数字签名229,所述消息包含唯一识别符(UID)122、计数器值225和加密随机数227。从存储器装置130中的计数器221获得计数器值225。计数器221的值单调地增加。举例来说,计数器221可用于存储值,所述值表示被接收以用于标识数据和/或与安全性有关的其它数据项或操作的请求的计数。因此,含有低于先前所见计数器值的计数器值225的响应可被视为无效。加密随机数227用于一次产生响应233且由存储器装置130舍弃。当加密随机数227已先前提供到服务器系统102或由服务器系统102产生时,响应233并非必须明确地包含响应233中的加密随机数227。
客户端计算机系统105将响应233转送到服务器系统102以请求存储器装置130的认证。使用响应233中提供的唯一识别符122,服务器系统102可定位密钥管理服务器103中的与唯一识别符122相关联的秘密加密密钥124(或当使用不对称加密时,对应公用密钥)。数字签名229可使用加密密钥124(或当使用不对称加密时,对应公用密钥)来验证。
举例来说,服务器系统102可独立地计算应用于含于响应233中的消息的基于散列的消息认证码(HMAC)且将所计算结果与数字签名229中提供的对应结果进行比较。如果结果相同,那么服务器系统102可得出结论,存储器装置130具有秘密加密密钥124且因此存储器装置130可靠。否则,存储器装置130并不可靠。
基于数字签名229的验证,服务器系统102将可靠性指示符235提供到客户端计算机105。可靠性指示符235指示存储器装置130是否可靠。
通过存储器装置130的认证,存储器装置130和服务器系统102可在后续通信会话中建立会话密钥223以用于彼此通信。会话可受响应233或数字签名229的验证之后的预定时间周期长度限制。在所述时间周期之后,会话密钥223到期且因此可被毁坏或舍弃。此外,对标识数据的后续请求可结束对标识数据的先前请求所开始的先前会话。
会话密钥223可至少部分地基于服务器系统102与存储器装置130之间已知的秘密而产生但不可用于服务器系统102与存储器装置130之间的通信通道。
举例来说,会话密钥223可至少部分地基于秘密加密密钥124而导出。此外,会话密钥223可至少部分地基于计数器值225和/或加密随机数227。任选地,会话密钥223可至少部分地基于数字签名229。举例来说,数字签名229和加密密钥124可组合以产生会话密钥223。
在一些实施方案中,会话密钥223独立于数字签名229;且数字签名229可使用自加密密钥124(或服务器系统102与存储器装置130之间已知的另一秘密)导出的会话密钥223而产生。
图5说明根据一个实施例的用以产生用以控制存储器装置的安全性操作的命令的技术。
举例来说,在使用客户端权限数据127和存储器装置权限数据129来验证客户端计算机系统105将命令239发出到存储器装置130的权限之后,客户端计算机系统105可请求服务器系统102来提供数字签名243以用于命令239。
在客户端计算机系统105发送识别命令239和存储器装置130的请求241之后,如果确定客户端计算机系统105具有使用命令239控制或操作存储器装置130的权限,那么服务器系统102可产生数字签名243以用于命令239。请求241可包含待在其中执行命令239的存储器装置130的唯一识别符122。举例来说,唯一识别符122可由客户端计算机系统105从对存储器装置130的标识数据的请求231的响应233和/或由服务器系统102提供的可靠性指示符235提取。
类似于用于标识数据的数字签名229,用于命令239的数字签名243可包含请求245中的由待提供给存储器装置130的消息产生的基于散列的消息认证码(HMAC)和与存储器装置130的唯一识别符122相关联的密钥。密钥可以是如图4中所说明的会话密钥223,或加密密钥124,或用于控制存储器装置130中的命令239的执行的另一秘密密钥。当数字签名243是基于会话密钥223时,数字签名243在会话密钥223到期时到期,其防止数字签名243在会话以外的再使用,会话密钥223在所述会话中有效。
替代地,数字签名243可基于加密散列函数和使用对称或不对称加密执行的加密而产生。举例来说,数字签名243可以是散列值的密文。散列值通过将加密散列函数应用于消息而产生;且密文通过使用秘密加密密钥124加密散列值而产生。当使用对称加密时,密文待使用相同秘密加密密钥124来解密以用于由存储器装置130验证(或密文独立地由存储器装置130根据接收到的消息的散列值来重新产生以用于验证)。当使用不对称加密时,密文待使用对应于私用加密密钥124的公用加密密钥来解密以用于由存储器装置130验证。
举例来说,请求245中提供的消息可包含命令239和加密随机数247。加密随机数247布置成用于命令239/请求245且因此不同于用于存储器装置130的标识数据的传输的加密随机数227。
举例来说,响应于请求241,服务器系统102可产生加密随机数247且将其用于产生数字签名243。加密随机数247可具备用于客户端计算机系统105以产生请求245的数字签名243。替代地,客户端计算机系统105可产生加密随机数247且将其提供到具有请求241的服务器系统102。替代地,为产生请求241,客户端计算机系统105可从服务器系统102请求加密随机数247。
在客户端计算机系统105发送具有从服务器系统102获得的数字签名243的请求245之后,存储器装置130使用对应密钥来验证用于包含于请求245中的消息的数字签名243。如果数字签名243有效,那么存储器装置130执行命令239;否则,可拒绝或忽略请求245和/或命令239。
举例来说,命令239可配置成激活存储器装置130的安全特征。
举例来说,命令239可配置成替换与唯一识别符122相关联的加密密钥124。举例来说,新加密密钥124可使用在存储器装置130安装于其中的计算装置的制造期间提供的额外非秘密数据而产生但当存储器装置130正被制造时不可用。
在命令239的执行之后,存储器装置130将可由客户端计算机系统105转送的响应249提供到服务器系统102。服务器系统102可确定响应249是否正确。举例来说,存储器装置130可使用会话密钥223对响应进行签名以用于由服务器系统102验证。
在一些实施方案中,用于替换密钥124的替换加密密钥独立地由存储器装置130和由服务器系统102根据秘密(例如,唯一装置秘密)和通过客户端计算机系统105交换的额外数据而产生。额外数据可通过使用会话密钥223执行的加密来保护。
在一些实施方案中,替换加密密钥124以使用会话密钥223产生的密文的加密形式从存储器装置130传达到服务器系统102。
在用以控制存储器装置的方法的一个实施例中,服务器系统102建立与客户端计算机系统105的安全认证连接201。
服务器系统102经由连接201从客户端计算机系统105接收识别存储器装置130的请求。
举例来说,服务器系统102经由客户端计算机系统105从存储器装置130接收存储器装置130的标识数据。服务器系统102基于存储于服务器系统102中的存储器装置130的秘密而验证标识数据。基于标识数据的验证,会话密钥223被建立且在服务器系统102与存储器装置130之间已知。
举例来说,标识数据可包含第二消息和使用存储器装置130的秘密加密密钥124应用在第二消息上的第二数字签名229。第二消息可具有存储器装置130的唯一识别符122、来自配置于存储器装置130中的计数器221的值225和第二加密随机数227。
举例来说,会话密钥223可配置成在从标识数据的验证以来的预定长度的时间周期中到期。预定长度可配置成允许在存储器装置130与服务器系统102之间进行几次消息交换。此外,对标识数据的后续请求可终止当前会话且开始具有新会话密钥的新会话。在一些实施方案中,会话密钥的寿命是基于存储器装置130中的功率循环事件。当存储器装置130从断电的状态通电时,产生新会话密钥;且会话密钥可以是有效的直到在断电和通电之后产生下一会话密钥为止。任选地,命令可发送到存储器装置130以指示存储器装置130产生新会话密钥。
服务器系统102基于存储于服务器系统102中的数据而确定客户端计算机系统105有资格控制存储器装置130。举例来说,客户端权限数据127和存储器装置权限数据129可用于确定客户端计算机系统105是否有资格控制存储器装置130。
服务器系统102至少使用与存储器装置130相关联地存储于服务器系统中的加密密钥124来产生用于命令239的第一数字签名243。
举例来说,第一数字签名243应用于从客户端计算机系统105到存储器装置130的请求245中的第一消息。第一消息包含命令239和不同于第二加密随机数227的第一加密随机数247。
举例来说,第一数字签名243可包含由第一消息和存储于存储器装置130和服务器系统102两者中的加密密钥124(或会话密钥223)产生的基于散列的消息认证码(HMAC)。
一般来说,第一数字签名243可使用对称加密或不对称加密或基于散列的消息认证码(HMAC)使用会话密钥223、与存储器装置130的唯一识别符122相关联地存储于服务器系统102中的加密密钥124或另一密钥或其任何组合产生。
服务器系统102经由连接201将第一数字签名243传输到客户端计算机系统105。
客户端计算机系统105将具有第一数字签名243的命令239提交到存储器装置130。
存储器装置130在执行命令239之前验证第一数字签名243。
举例来说,在存储器装置130中执行时,命令239使得存储器装置130激活存储器装置130的安全特征。
举例来说,在存储器装置130中执行时,命令239使得存储器装置130用第二加密密钥替换第一加密密钥。
举例来说,第二加密密钥基于存储于存储器装置130中和服务器系统102中的唯一装置秘密(UDS)而产生于存储器装置130中。服务器系统102可独立于存储器装置130根据存储于服务器系统102中的唯一装置秘密(UDS)来产生第二加密密钥且因此避免在服务器系统102与存储器装置130之间传输第二加密密钥的需求。替代地,第二加密密钥可在服务器系统102与存储器装置130之间以使用会话密钥223产生的密文的加密形式传输。替代地,第二加密密钥可基于会话密钥223而产生。
举例来说,会话密钥223可用于加密经由客户端计算机系统105从服务器系统102传输到存储器装置130的数据的至少一部分以用于命令239的执行。
举例来说,会话密钥223可用于解密响应的至少一部分,由命令239的执行产生且经由客户端计算机系统105从存储器装置130传输到服务器系统102。
举例来说,服务器系统102可产生用于命令239的第一加密随机数247和用于标识数据的第二加密随机数227。第一加密随机数247和第二加密随机数227可经由客户端计算机系统105提供到存储器装置130。替代地,客户端计算机系统105和/或存储器装置130可产生第一加密随机数247和第二加密随机数227。举例来说,加密随机数(例如,227或247)可使用随机数产生器而产生且在一个数字签名(例如,229或243)的产生和验证中使用一次。
在一些情况下,期望在批次操作中将存储器装置(例如,130)的集合的控制一起从服务器系统102转移到客户端计算机系统105。客户端计算机系统105可将控制应用于存储器装置(例如,130),同时不存在在个别存储器装置(例如,130)与服务器系统102之间的实时通信通道。
在一个实施例中,批次识别符配置成表示具有不同唯一识别符(UID)(例如,122)的存储器装置(例如,130)的集合。客户端计算机系统105可使用批次识别符来分别请求用于存储器装置(例如,130)的集合的控制数据的集合。控制数据可由客户端计算机系统105使用以控制存储器装置(例如,130)的集合的安全性操作或对所述安全性操作进行配置而不进一步接触服务器系统102,如下文所论述。
图6展示根据一个实施例的用以将存储器装置按批次分组以转移控制的技术。
在图6中,批次识别符257配置于服务器系统102中以表示不同存储器装置(例如,130)的唯一识别符122、252、…、254。存储器装置(例如,130)的集合布置成由单个实体控制,所述单个实体如客户端计算机系统105的操作员。
举例来说,在存储器装置(例如,130)的制造期间,在安全设施中识别存储器装置(例如,130)的唯一装置秘密且利用其相应唯一识别符122、252、…、254将所述唯一装置秘密记录在密钥管理服务器103中。举例来说,存储器装置(例如,130)的唯一装置秘密可以是加密密钥124、251、…、253或用于产生加密密钥124、251、…、253的秘密。
任选地,存储器装置(例如,130)可制造成存储批次识别符257。举例来说,批次识别符257可以是存储器装置的唯一识别符122、252、…、254的共同部分。
替代地,存储器装置(例如,130)与批次识别符257的关联并不硬连线于存储器装置(例如,130)中。服务器系统102可存储数据,所述数据使相应存储器装置(例如,130)的所选唯一识别符122、252、…、254与批次识别符257相关联。
在允许客户端实体(如存储器装置(例如,130)安装于其中的计算装置的制造商)控制存储器装置(例如,130)的事务之后,批次识别符257可在服务器系统102中与表示客户端实体的客户端标识符259相关联。举例来说,客户端权限数据127可包含数据,所述数据指示由客户端标识符259表示的客户端实体已购买由批次识别符257表示的一批存储器装置(例如,130)且因此具有控制批次中的存储器装置(例如,130)的权限265。客户端实体的公用密钥261可用于验证来自操作客户端计算机系统105的客户端实体的凭证121以建立与服务器系统102的安全认证连接201。客户端计算机系统105的因特网协议(IP)地址263的列表可用于控制对安全认证连接(例如,201)的请求。
在批次识别符257在服务器系统102中与唯一识别符122、252、…、254和客户端标识符259的权限265相关联之后,批次识别符257可由客户端计算机系统105使用以请求用于具有不同唯一识别符122、252、…、254的存储器装置(例如,130)的整个集合的控制数据。控制数据可由客户端计算机系统105使用以对存储器装置(例如,130)的安全性方面进行配置,如图7中所说明。在一个实施方案中,密钥管理服务器103存储使批次识别符257与唯一识别符122、252、…、254相关联的数据,但不存储使批次识别符257与客户端标识符259相关联的数据;且存取控制服务器101存储使批次识别符257与客户端标识符259相关联的数据但不存储使批次识别符257与唯一识别符122、252、…、254相关联的数据。因此,存取控制服务器101或密钥管理服务器103均不可使存储器装置与其自身上的客户端标识符相关联。具有存取控制服务器101和密钥管理服务器103的服务器系统102具有足够数据以使存储器装置的每一个别唯一识别符(例如,122、252、…、或254)与客户端标识符259相关联。
图7展示根据一个实施例的用以经由计算机网络批次转移存储器装置的控制的技术。
在图7中,客户端计算机系统105可以如图1中所说明的方式建立与服务器系统102的安全认证连接201。
使用与服务器系统102的连接201,客户端计算机系统105可传输含有批次识别符257的请求271。
举例来说,批次识别符257可从由批次识别符257识别的存储器装置(例如,130)中的一个检索到。举例来说,当批次识别符257是存储器装置130的唯一识别符122的一部分时,请求271可包含唯一识别符122以提供批次识别符257。替代地,当批次识别符257并不存储于存储器装置(例如,130)中时,客户端计算机系统105可从事务的记录获得批次识别符257以用于获取存储器装置(例如,130)。
在验证客户端计算机系统105有资格控制由批次识别符257识别的存储器装置之后,服务器系统102将响应273提供到客户端计算机系统105。响应273包含用于由批次识别符257表示的存储器装置(例如,130)的相应唯一识别符122、252、…、254的控制数据272、281、…、283。
在客户端计算机系统105获得响应273之后,客户端计算机系统105可控制由批次识别符257表示的存储器装置(例如,130),而不进一步与服务器系统102通信。
举例来说,在接收响应273之后,客户端计算机系统105可发送对存储器装置130的标识数据的请求231,如图4中。作为响应,存储器装置130可产生含有存储器装置130的唯一识别符122的响应233。基于响应233中提供的唯一识别符122,客户端计算机系统105可从响应273选择用于对存储器装置130的安全性方面进行配置的对应控制数据272。
任选地,用于唯一识别符122的由服务器系统102提供的控制数据272包含可用于验证包含于响应233中的数字签名229的数据。举例来说,控制数据272可包含待与对存储器装置130的标识数据的请求231一起传输的加密随机数227。此外,当数字签名229待使用用于产生数字签名229的相同加密密钥124进行验证时,控制数据272可包含基于存储器装置130的计数器221的期望值225而计算的期望数字签名229。替代地,当数字签名229使用存储器装置130的私用密钥和不对称加密而产生时,控制数据272可包含对应公用密钥以用于数字签名229的验证。
任选地,客户端计算机系统105可跳过数字签名229的验证且相信存储器装置130可靠。
在一个实例中,客户端计算机系统105从存储器装置130初始地请求标识数据而不知晓存储器装置130的唯一识别符122。从响应到初始请求,客户端计算机系统105确定存储器装置130的唯一识别符122且使用唯一识别符122来检索与批次响应273中的唯一识别符122相关联的控制数据272。举例来说,批次响应273可包含可用于对来自存储器装置130的标识数据的后续请求231的加密随机数227。后续响应233中的标识数据可经由服务器系统102所提供的控制数据272验证。
替代地,相同加密随机数227可一次用于批次中的每一存储器装置(例如,130);且因此,可跳过用于确定唯一识别符122和加密随机数227的目的的初始请求。
使用被提供以用于存储器装置130的唯一识别符122的控制数据272,客户端计算机系统105可产生对存储器装置130的请求245以执行命令239。举例来说,可执行命令239以激活安全特征,或替换存储器装置130中的加密密钥等。
请求245可包含命令239和使用对批次识别符257的响应273中提供的控制数据272产生以用于命令239的控制数据275。
举例来说,控制数据275可包含用于命令239的加密随机数247和待由存储器装置130验证以用于命令239的执行的数字签名243。加密随机数247可包含于从服务器系统102接收到的控制数据272中;且数字签名243可由服务器系统102使用秘密加密密钥124或会话密钥223预先产生。举例来说,会话密钥223可基于响应233使用秘密加密密钥124、加密随机数247、计数器值225、数字签名229和/或存储器装置130和服务器系统102已知的存储器装置130的另一秘密而建立,如图4中。
任选地,控制数据272可包含使服务器系统102与存储器装置130的唯一识别符122相关联的秘密加密密钥124以用于存储器装置130的控制。利用秘密加密密钥124,客户端计算机系统105具有与服务器系统102相同的与秘密加密密钥124相关联的控制权限。任选地,在秘密加密密钥124提供到客户端计算机系统105之后,服务器系统102可从服务器系统102擦除秘密加密密钥124;且因此,与秘密加密密钥124相关联的控制权限转移到客户端计算机系统105。
图8展示根据一个实施例的用以控制存储器装置的方法。图8的方法可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件/固件(例如,在处理装置上运行或执行的指令)或其组合。在一些实施例中,图8的方法至少部分地由图1、图4、图5和/或图7的服务器系统102执行。虽然以特定序列或次序来展示,但除非另外规定,否则可修改过程的次序。因此,所说明实施例应仅作为实例理解,且所说明过程可以不同次序执行,且一些过程可并行执行。另外,可在各种实施例中省略一或多个过程。因此,在每一实施例中并不需要所有过程。其它过程流程是可能的。
在框301处,服务器系统102建立与客户端计算机系统105的连接(例如,安全认证连接201)。
在框303处,服务器系统102经由连接201从客户端计算机系统105接收具有批次识别符257的请求271,所述批次识别符257配置于服务器系统102中以识别多个存储器装置(例如,130)的批次。
举例来说,如图6中所说明,多个存储器装置(例如,130)具有不同唯一识别符122、252、…、254。批次识别符257可用于识别存储器装置(例如,130)的唯一识别符122、252、…、254的整个集合。
在框305处,服务器系统102基于存储于服务器系统102中的数据而确定客户端计算机系统105有资格控制批次中的多个存储器装置。
举例来说,服务器系统102可存储使批次识别符257与客户端计算机系统105的客户端标识符259和/或客户端计算机系统105的权限265相关联的数据以控制存储器装置(例如,130)的一或多个批次。
响应于确定客户端计算机系统105有资格控制存储器装置(例如,130),在框307处,服务器系统102至少基于与相应存储器装置(例如,130)相关联的存储于服务器系统102中的加密密钥(例如,124)而确定用于批次中的每一相应存储器装置(例如,130)的控制数据(例如,272)。
举例来说,用于唯一识别符122的控制数据272可包含加密密钥,当客户端计算机系统105发送对标识数据的请求231时,所述加密密钥可用于验证应用于响应233中提供的标识数据上的第二数字签名229。
替代地,控制数据272可包含第二数字签名229,服务器系统102期望存储器装置130响应于对标识数据的请求231而产生所述第二数字签名229。第二数字签名229待应用于第二消息上,所述第二消息具有相应存储器装置130的唯一识别符122、来自配置于相应存储器装置130中的计数器221的值225和第二加密随机数227。服务器系统102可确定用于请求231的第二加密随机数227且确定存储器装置130的期望计数器值(例如,基于存储器装置130的计数器221的最后一个所见值)。服务器系统102可使用存储器装置130的加密密钥124来计算期望数字签名,所述期望数字签名由存储器装置130应用于对存储器装置130的标识数据的请求231的响应233上。控制数据272可包含第二加密随机数227、期望计数器值和期望数字签名。客户端计算机系统105可发送具有第二加密随机数227的请求231以使得存储器装置130提供具有与期望计数器值匹配的计数器值225的响应233。随后,控制数据272中提供的期望数字签名可与标识数据响应233中的第二数字签名229进行比较以确定签名是否彼此匹配且因此存储器装置130是否可靠。当存储器装置130产生具有匹配数字签名229的响应233时,存储器装置130还具有会话密钥223,其可用于请求245的处理以用于命令239的执行。
在框309处,服务器系统102通过连接201将含有控制数据(例如,272)且响应于请求271的响应273传输到客户端计算机系统105。
在接收响应273之后,客户端计算机系统105可控制批次中的相应存储器装置(例如,130)的安全性方面而不与服务器系统102进一步通信。
在框311处,客户端计算机系统105使用控制数据(例如,272)将具有第一数字签名243的命令239提交到相应存储器装置(例如,130)。
举例来说,第一数字签名243应用于从客户端计算机系统105到存储器装置130的请求245中的第一消息。第一消息包含命令239和第一加密随机数247。
举例来说,第一数字签名243包含由第一消息产生的基于散列的消息认证码(HMAC)和存储于相应存储器装置和服务器系统两者中的加密密钥。批次响应273中提供的控制数据272可包含用以产生第一数字签名243的加密密钥,或包含第一加密随机数247和由用于客户端计算机系统105的服务器系统102产生的第一数字签名243。
举例来说,第一数字签名243可使用以下来产生:响应于对相应存储器装置130的标识数据的请求231而在相应存储器装置130中建立的会话密钥223,或与相应存储器装置130的唯一识别符122相关联地存储于服务器系统102中的加密密钥,或其任何组合。
举例来说,控制数据272可包含由用于客户端计算机系统105的服务器系统102进行的第一数字签名243,或可由客户端计算机系统105使用以独立于服务器系统102产生第一数字签名243的加密密钥。
在框313处,相应存储器装置(例如,130)在执行命令239之前验证第一数字签名243。
举例来说,命令239可在相应存储器装置(例如,130)中执行以激活相应存储器装置(例如,130)的安全特征,用第二加密密钥替换第一加密密钥,或其任何组合。
图9说明计算机系统400的实例机器,在所述实例机器内可执行用于使得所述机器执行本文中所论述的方法中的任一种或多种的指令集。在一些实施例中,计算机系统400可对应于包含、耦合到或利用存储器子系统(例如,图2的存储器子系统110)的服务器系统102(例如,图1的服务器系统102),或可用于执行存储器控制服务器205的操作(例如,以执行指令,从而执行对应于参考图1到8描述的服务器系统102的操作)。在替代性实施例中,机器可连接(例如,联网)到LAN、内联网、外联网和/或因特网中的其它机器。机器可作为点对点(或分布式)网络环境中的对等机器或作为云计算基础设施或环境中的服务器或客户端机器而在客户端-服务器网络环境中的服务器或客户端机器的容量中操作。
机器可以是个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、蜂窝式电话、网络器具、服务器、网络路由器、交换机或桥接器或能够(依序或以其它方式)执行指定将由所述机器采取的动作的指令集的任何机器。另外,尽管说明单个机器,但还应认为术语“机器”包含机器的任何集合,所述集合单独地或共同地执行一(或多)个指令集以执行本文中所论述的方法中的任一种或多种。
实例计算机系统400包含处理装置402、主存储器404(例如,只读存储器(ROM)、快闪存储器、如同步DRAM(SDRAM)或Rambus DRAM(RDRAM)的动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)等),以及经由总线430(其可包含多个总线)彼此通信的数据存储系统418。
处理装置402表示一或多个通用处理装置,如微处理器、中央处理单元或类似物。更确切地说,处理装置可以是复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器,或实施其它指令集的处理器,或实施指令集的组合的处理器。处理装置402也可以是一或多个专用处理装置,如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器或类似物。处理装置402配置成执行用于执行本文中所论述的操作和步骤的指令426。计算机系统400可进一步包含经由网络420通信的网络接口装置408。
数据存储系统418可包含机器可读媒体424(也称为计算机可读媒体),其上存储有一或多个指令集426或体现本文中所描述的方法或功能中的任一种或多种的软件。指令426还可在其由计算机系统400执行期间完全或至少部分地驻留在主存储器404内和/或处理装置402内,主存储器404和处理装置402还构成机器可读存储媒体。机器可读媒体424、数据存储系统418和/或主存储器404可对应于图2的存储器子系统110。
在一个实施例中,指令426包含用以实施对应于存取控制服务器101(例如,参考图1到8描述的存取控制服务器101)的功能性的指令。尽管机器可读媒体424在实例实施例中展示为单个媒体,但术语“机器可读存储媒体”应认为包含存储一或多个指令集的单个媒体或多个媒体。术语“机器可读存储媒体”还应被认为包含能够存储供机器执行的指令集或对其进行编码且使机器执行本公开的方法中的任一种或多种的任何媒体。因此,术语“机器可读存储媒体”应被认为包含但不限于固态存储器、光学媒体和磁性媒体。
已依据计算机存储器内的数据位上的操作的算法和符号表示呈现了先前详细描述的一些部分。这些算法描述和表示是数据处理领域的技术人员用于将其工作的主旨最有效地传达给本领域其它技术人员的方式。算法在这里且通常认为是引起所要结果的操作的自洽序列。操作是要求对物理量进行物理操控的操作。通常(但未必),这些量采用能够存储、组合、比较和以其它方式操控的电信号或磁信号的形式。有时,主要出于通用的原因,已经证明将这些信号称为位、值、元件、符号、字符、术语、数目或类似物是方便的。
然而,应牢记,所有这些和类似术语应与适当物理量相关联,且仅是应用于这些量的方便标签。本公开可涉及将计算机系统的寄存器和存储器内的表示为物理(电子)数量的数据操控和转变为计算机系统存储器或寄存器或其它此类信息存储系统内的类似地表示为物理数量的其它数据的计算机系统或类似电子计算装置的动作和过程。
本公开还涉及用于执行本文中的操作的设备。这一设备可出于所需目的而专门构造,或其可包含通过存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机。此类计算机程序可存储在计算机可读存储媒体中,如但不限于任何类型的盘(包含软盘、光盘、CD-ROM和磁性光盘)、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁卡或光卡或适合于存储电子指令的任何类型的媒体,它们各自耦合到计算机系统总线。
本文中呈现的算法和显示器并非在本质上与任何特定计算机或其它设备相关。各种通用系统可与根据本文中的教示的程序一起使用,或其可证明构造用以执行所述方法更加专用的设备是方便的。将如下文描述中所阐述的那样来呈现多种这些系统的结构。此外,不参考任何特定编程语言来描述本公开。将了解,可使用多种编程语言来实施如本文中所描述的本公开的教示。
本公开可提供为计算机程序产品或软件,其可包含在其上存储有指令的机器可读媒体,所述指令可用于编程计算机系统(或其它电子装置)以执行根据本公开的过程。机器可读媒体包含用于以机器(例如,计算机)可读的形式存储信息的任何机构。在一些实施例中,机器可读(例如,计算机可读)媒体包含机器(例如,计算机)可读存储媒体,如只读存储器(“ROM”)、随机存取存储器(“RAM”)、磁盘存储媒体、光学存储媒体、快闪存储器组件等。
在本说明书中,为简化描述,各种功能和操作被描述为由计算机指令执行或引起。然而,所属领域的技术人员将认识到,此类表达的意图是所述功能源自由一或多个控制器或处理器(如微处理器)执行计算机指令。替代地或组合地,功能和操作可使用具有或不具有软件指令的专用电路实施,如使用专用集成电路(ASIC)或现场可编程门阵列(FPGA)。可使用并无软件指令的固线式电路或结合软件指令来实施实施例。因此,技术不限于硬件电路和软件的任何具体组合,也不限于由数据处理系统执行的指令的任何特定来源。
在前文说明书中,已经参照其特定实例实施例描述了本公开的实施例。将显而易见的是,可在不脱离如所附权利要求书中阐述的本公开的实施例的更广精神和范围的情况下对本公开进行各种修改。因此,说明书和图式应被视为说明性的而非限制性的。
Claims (20)
1.一种方法,其包括:
通过服务器系统建立与客户端计算机系统的安全认证连接;
在所述服务器系统中经由所述连接从所述客户端计算机系统接收具有批次识别符的请求,所述批次识别符配置于所述服务器系统中以识别多个存储器装置的批次;
基于存储于所述服务器系统中的数据而确定所述客户端计算机系统有资格控制所述批次中的所述多个存储器装置;和
通过所述连接从所述服务器系统将对所述请求的响应传输到所述客户端计算机系统,所述响应含有用于所述批次中的每一相应存储器装置的控制数据,所述控制数据是至少基于与所述相应存储器装置相关联地存储于所述服务器系统中的加密密钥,其中所述客户端计算机系统将使用所述控制数据将具有第一数字签名的命令提交到所述相应存储器装置,所述相应存储器装置在执行所述命令之前验证所述第一数字签名。
2.根据权利要求1所述的方法,其中所述服务器系统包含密钥管理服务器和存取控制服务器;所述密钥管理服务器存储使所述批次识别符与所述多个存储器装置的识别符相关联的数据但不存储使所述批次识别符与所述客户端计算机系统的识别符相关联的数据;所述存取控制服务器存储使所述批次识别符与所述客户端计算机系统的所述识别符相关联的数据但不存储使所述批次识别符与所述多个存储器装置的识别符相关联的数据;且在所述相应存储器装置中执行时,所述命令使得所述相应存储器装置激活所述相应存储器装置的安全特征,用第二加密密钥替换第一加密密钥,或其任何组合。
3.根据权利要求2所述的方法,其中所述第一数字签名应用于从所述客户端计算机系统到所述相应存储器装置的请求中的第一消息;且所述第一消息包含所述命令和第一加密随机数。
4.根据权利要求3所述的方法,其中所述第一数字签名包含由所述第一消息产生的基于散列的消息认证码HMAC和存储于所述相应存储器装置和所述服务器系统两者中的加密密钥。
5.根据权利要求4所述的方法,其中所述控制数据包含所述加密密钥。
6.根据权利要求4所述的方法,其中所述控制数据包含所述第一加密随机数和所述第一数字签名。
7.根据权利要求3所述的方法,其中所述控制数据包含加密密钥,所述加密密钥可用于验证应用于由所述相应存储器装置产生的标识数据上的第二数字签名。
8.根据权利要求3所述的方法,其进一步包括:
通过所述服务器系统确定所述相应存储器装置的标识数据;
基于所述标识数据的所述确定而计算会话密钥;
其中在所述客户端计算机系统接收所述控制数据之后,所述相应存储器装置将响应于来自所述客户端计算机系统的请求而独立于所述服务器系统产生所述标识数据;且
其中所述控制数据可由所述客户端计算机系统使用以验证由所述相应存储器装置产生的所述标识数据中的第二数字签名。
9.根据权利要求8所述的方法,其中由所述相应存储器装置产生的所述标识数据包含第二消息和使用所述相应存储器装置的秘密加密密钥应用于所述第二消息上的所述第二数字签名;所述第二消息包含所述相应存储器装置的唯一识别符、来自配置于所述相应存储器装置中的计数器的值和第二加密随机数;且从所述客户端计算机系统到所述相应存储器装置的对所述标识数据的所述请求包含在对具有所述批次识别符的所述请求的所述响应中接收到的所述第二加密随机数。
10.根据权利要求9所述的方法,其中所述控制数据包含由所述服务器系统产生的所述第二数字签名的版本。
11.根据权利要求9所述的方法,其中所述第一数字签名使用所述会话密钥或与所述相应存储器装置的所述唯一识别符相关联地存储于所述服务器系统中的加密密钥或其任何组合来产生。
12.根据权利要求11所述的方法,其中所述控制数据包含所述第一数字签名。
13.根据权利要求11所述的方法,其中所述控制数据包含用以产生所述第一数字签名的加密密钥。
14.一种计算系统,其包括:
存储器,其存储存储器装置的加密密钥和指示客户端计算机系统控制所述存储器装置的权限的数据;和
至少一个处理器,其经由指令集来配置成:
建立与客户端计算机系统的安全认证连接;
经由所述连接从所述客户端计算机系统接收具有批次识别符的请求,所述批次识别符配置于所述服务器系统中以识别多个存储器装置的批次;
基于存储于所述计算系统中的数据而确定所述客户端计算机系统有资格控制所述批次中的所述多个存储器装置;且
经由所述连接将对所述请求的响应传输到所述客户端计算机系统,所述响应含有用于所述批次中的每一相应存储器装置的控制数据,所述控制数据是至少基于与所述相应存储器装置相关联的存储于所述服务器系统中的加密密钥,其中所述客户端计算机系统将使用所述控制数据将具有第一数字签名的命令提交到所述相应存储器装置,所述相应存储器装置在执行所述命令之前验证所述第一数字签名。
15.根据权利要求14所述的计算系统,其中在所述相应存储器装置中执行时,所述命令使得所述相应存储器装置激活所述相应存储器装置的安全特征,用第二加密密钥替换第一加密密钥,或其任何组合;且所述第一数字签名应用于从所述客户端计算机系统到所述相应存储器装置的请求中的第一消息;且所述第一消息包含所述命令和第一加密随机数。
16.根据权利要求15所述的计算系统,其中所述第一数字签名包含由所述第一消息产生的基于散列的消息认证码HMAC和存储于所述相应存储器装置和所述计算系统两者中的加密密钥;且所述控制数据包含所述加密密钥或包含所述第一加密随机数和所述第一数字签名。
17.根据权利要求15所述的计算系统,其中所述至少一个处理器经由指令集进一步配置成:
确定所述相应存储器装置的标识数据;
基于所述标识数据的所述确定而计算会话密钥;
其中在所述客户端计算机系统接收所述控制数据之后,所述相应存储器装置将响应于来自所述客户端计算机系统的请求而独立于所述计算系统产生所述标识数据;其中所述控制数据可由所述客户端计算机系统使用以验证由所述相应存储器装置产生的所述标识数据中的第二数字签名;
其中由所述相应存储器装置产生的所述标识数据包含第二消息和使用所述相应存储器装置的秘密加密密钥应用于所述第二消息上的所述第二数字签名;
其中所述第二消息包含所述相应存储器装置的唯一识别符、来自配置于所述相应存储器装置中的计数器的值和第二加密随机数;且
其中从所述客户端计算机系统到所述相应存储器装置的对所述标识数据的所述请求包含在对具有所述批次识别符的所述请求的所述响应中接收到的所述第二加密随机数。
18.根据权利要求17所述的计算系统,其中所述第一数字签名使用所述会话密钥或与所述相应存储器装置的所述唯一识别符相关联的存储于所述计算系统中的加密密钥或其任何组合来产生;且所述控制数据包含所述第一数字签名或用以产生所述第一数字签名的加密密钥。
19.一种存储指令的非暂时性计算机存储媒体,所述指令当由计算系统执行时使得所述计算系统执行方法,所述方法包括:
通过所述计算系统建立与客户端计算机系统的安全认证连接;
在所述计算系统中经由所述连接从所述客户端计算机系统接收具有批次识别符的请求,所述批次识别符配置于所述计算系统中以识别多个存储器装置的批次;
基于存储于所述计算系统中的数据而确定所述客户端计算机系统有资格控制所述批次中的所述多个存储器装置;和
通过所述连接将对所述请求的响应从所述计算系统传输到所述客户端计算机系统,所述响应含有用于所述批次中的每一相应存储器装置的控制数据,所述控制数据是至少基于与所述相应存储器装置相关联地存储于所述计算系统中的加密密钥,其中所述客户端计算机系统将使用所述控制数据将具有第一数字签名的命令提交到所述相应存储器装置,所述相应存储器装置在执行所述命令之前验证所述第一数字签名。
20.根据权利要求19所述的非暂时性计算机存储媒体,其中在所述相应存储器装置中执行时,所述命令使得所述相应存储器装置激活所述相应存储器装置的安全特征,用第二加密密钥替换第一加密密钥,或其任何组合;且所述第一数字签名应用于从所述客户端计算机系统到所述相应存储器装置的请求中的第一消息;所述第一消息包含所述命令和第一加密随机数;且所述控制数据包含所述第一数字签名或用以产生所述第一数字签名的加密密钥。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/150,849 | 2021-01-15 | ||
US17/150,849 US11483148B2 (en) | 2021-01-15 | 2021-01-15 | Batch transfer of control of memory devices over computer networks |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114764504A true CN114764504A (zh) | 2022-07-19 |
Family
ID=82365389
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210030830.3A Pending CN114764504A (zh) | 2021-01-15 | 2022-01-12 | 经由计算机网络对存储器装置的控制的批次转移 |
Country Status (2)
Country | Link |
---|---|
US (3) | US11483148B2 (zh) |
CN (1) | CN114764504A (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11483148B2 (en) | 2021-01-15 | 2022-10-25 | Micron Technology, Inc. | Batch transfer of control of memory devices over computer networks |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005088909A1 (ja) | 2004-03-10 | 2005-09-22 | Matsushita Electric Industrial Co., Ltd. | アクセス制御システム、並びにそれに用いられるアクセス制御装置、及びリソース提供装置 |
US8042163B1 (en) | 2004-05-20 | 2011-10-18 | Symatec Operating Corporation | Secure storage access using third party capability tokens |
WO2006070353A2 (en) | 2004-12-30 | 2006-07-06 | Safend Ltd | Method and system for securely identifying computer storage devices |
JP2006295872A (ja) | 2005-03-18 | 2006-10-26 | Matsushita Electric Ind Co Ltd | 機器固有鍵の生成方法、これを用いた機密情報処理機能を備えた機密情報lsi、これを搭載したホスト機器、これに用いられる認証機能付き記録媒体、および認証機能を備えた記録媒体付き携帯端末 |
KR100947119B1 (ko) | 2007-12-26 | 2010-03-10 | 한국전자통신연구원 | 인증서 검증 방법, 인증서 관리 방법 및 이를 수행하는단말 |
US8789151B2 (en) | 2008-01-09 | 2014-07-22 | Microsoft Corporation | Remote device communication platform |
US8281407B2 (en) | 2008-12-09 | 2012-10-02 | Pitney Bowes Inc. | In-line decryption device for securely printing documents |
US8321956B2 (en) * | 2009-06-17 | 2012-11-27 | Microsoft Corporation | Remote access control of storage devices |
EP2483791B1 (en) | 2009-09-30 | 2018-01-17 | Amazon Technologies, Inc. | Modular device authentication framework |
WO2013048407A1 (en) | 2011-09-29 | 2013-04-04 | Intel Corporation | Apparatus, system, and method for providing memory access control |
US8959605B2 (en) | 2011-12-14 | 2015-02-17 | Apple Inc. | System and method for asset lease management |
WO2013169268A1 (en) * | 2012-05-11 | 2013-11-14 | Intel Corporation | Device lock for transit |
US8875166B2 (en) | 2012-11-08 | 2014-10-28 | Sharp Laboratories Of America, Inc. | Method and cloud security framework for implementing tenant license verification |
US20140281563A1 (en) | 2013-03-12 | 2014-09-18 | Kabushiki Kaisha Toshiba | Memory device authentication process |
US10063537B2 (en) | 2014-12-19 | 2018-08-28 | Microsoft Technology Licensing, Llc | Permission architecture for remote management and capacity instances |
US10523441B2 (en) | 2015-12-15 | 2019-12-31 | Visa International Service Association | Authentication of access request of a device and protecting confidential information |
US10812475B2 (en) | 2017-04-18 | 2020-10-20 | Servicenow, Inc. | Authenticating access to an instance |
US11880436B2 (en) | 2018-03-23 | 2024-01-23 | Nanolock Security Inc. | Remote access control for digital hardware |
US11321468B2 (en) | 2018-12-31 | 2022-05-03 | Micron Technology, Inc. | Systems for providing access to protected memory |
US11240039B2 (en) * | 2019-06-28 | 2022-02-01 | Intel Corporation | Message index aware multi-hash accelerator for post quantum cryptography secure hash-based signing and verification |
US20220231858A1 (en) | 2021-01-15 | 2022-07-21 | Micron Technology, Inc. | Control of Memory Devices over Computer Networks |
US11483148B2 (en) | 2021-01-15 | 2022-10-25 | Micron Technology, Inc. | Batch transfer of control of memory devices over computer networks |
US20220231838A1 (en) | 2021-01-15 | 2022-07-21 | Micron Technology, Inc. | Server System to Control Memory Devices over Computer Networks |
-
2021
- 2021-01-15 US US17/150,849 patent/US11483148B2/en active Active
-
2022
- 2022-01-12 CN CN202210030830.3A patent/CN114764504A/zh active Pending
- 2022-09-13 US US17/943,574 patent/US11917059B2/en active Active
-
2024
- 2024-01-09 US US18/407,963 patent/US20240146525A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20240146525A1 (en) | 2024-05-02 |
US11917059B2 (en) | 2024-02-27 |
US20230006816A1 (en) | 2023-01-05 |
US20220231839A1 (en) | 2022-07-21 |
US11483148B2 (en) | 2022-10-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11784827B2 (en) | In-memory signing of messages with a personal identifier | |
US11783044B2 (en) | Endpoint authentication based on boot-time binding of multiple components | |
US12015706B2 (en) | Combined cryptographic key management services for access control and proof of space | |
US20230188366A1 (en) | Identity Validation for Proof of Space | |
US20230186289A1 (en) | Solid State Drives with Autonomous Control of Proof of Space Activities | |
US11736453B2 (en) | Secure key storage devices | |
US12039049B2 (en) | Secure identity chaining between components of trusted computing base | |
US20240146525A1 (en) | Batch Transfer of Control of Memory Devices over Computer Networks | |
US20230057638A1 (en) | Session Access to Files in a File System Mounted in a Secure Memory Device | |
CN114764312A (zh) | 通过计算机网络控制存储器装置 | |
US20220231838A1 (en) | Server System to Control Memory Devices over Computer Networks | |
US11968296B2 (en) | Utilization of a memory device for per-user encryption | |
US11677560B2 (en) | Utilization of a memory device as security token | |
US20240323016A1 (en) | Verify Public Keys by Devices without Secrets for the Generation of Respective Private Keys | |
US12088581B2 (en) | Track activities of components in endpoints having secure memory devices via identity validation | |
CN118694516A (zh) | 装置在不具有用于生成相应私钥的秘密的情况下校验公钥 | |
CN116015615A (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 |