[go: up one dir, main page]

CN115037495A - Tracking activity of an endpoint having a secure memory device during authentication for secure operations - Google Patents

Tracking activity of an endpoint having a secure memory device during authentication for secure operations Download PDF

Info

Publication number
CN115037495A
CN115037495A CN202210199645.7A CN202210199645A CN115037495A CN 115037495 A CN115037495 A CN 115037495A CN 202210199645 A CN202210199645 A CN 202210199645A CN 115037495 A CN115037495 A CN 115037495A
Authority
CN
China
Prior art keywords
endpoint
memory device
data
server
identity
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
CN202210199645.7A
Other languages
Chinese (zh)
Other versions
CN115037495B (en
Inventor
J·C·夏纳
L·W·多弗
O·杜瓦尔
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.)
Micron Technology Inc
Original Assignee
Micron Technology Inc
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
Priority claimed from US17/485,231 external-priority patent/US20220129391A1/en
Application filed by Micron Technology Inc filed Critical Micron Technology Inc
Publication of CN115037495A publication Critical patent/CN115037495A/en
Application granted granted Critical
Publication of CN115037495B publication Critical patent/CN115037495B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • G06F21/6272Protecting 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 by registering files or documents with a third party
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting 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
    • G06F21/79Protecting 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 in semiconductor storage media, e.g. directly-addressable memories
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/045Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply hybrid encryption, i.e. combination of symmetric and asymmetric encryption
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/062Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying encryption of the keys

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Power Engineering (AREA)
  • Storage Device Security (AREA)

Abstract

本公开涉及身份验证期间跟踪具有安全存储器装置的端点的活动以用于安全操作。安全服务器用于在端点的身份验证期间基于所述端点的活动数据实施安全操作。例如,服务器系统存储表示所述端点的偏好的数据。在接收含有由在所述端点中配置的存储器装置生成的身份数据的验证请求之后,所述服务器系统可至少部分地基于所述存储器装置的秘密验证所述身份数据。如果所述身份数据有效,那么所述服务器系统可进一步确定由所述身份数据和/或所述验证请求识别的活动是否满足为所述端点指定的条件。如果满足,所述服务器系统可在响应于所述验证请求提供验证响应时执行与所述条件相关联的安全操作。

Figure 202210199645

The present disclosure relates to tracking activity of endpoints with secure memory devices during authentication for secure operations. The security server is used to implement security operations based on activity data of the endpoint during authentication of the endpoint. For example, the server system stores data representing the endpoint's preferences. After receiving an authentication request containing identity data generated by a memory device configured in the endpoint, the server system may authenticate the identity data based at least in part on the secret of the memory device. If the identity data is valid, the server system may further determine whether the activity identified by the identity data and/or the authentication request satisfies the conditions specified for the endpoint. If satisfied, the server system may perform a security operation associated with the condition upon providing an authentication response in response to the authentication request.

Figure 202210199645

Description

身份验证期间跟踪具有安全存储器装置的端点的活动以用于 安全操作Tracking activity of endpoints with secure memory devices during authentication for use in Safe operation

相关申请Related applications

本申请要求2020年于10月26日提交且标题为“虚拟订户识别模块和虚拟智能卡(Virtual Subscriber Identification Module and Virtual Smart Card)”的第63/105,820号临时美国专利申请的提交日的权益,其中本申请还要求于2021年3月3日提交且标题为“身份验证期间跟踪具有安全存储器装置的端点的活动以用于安全操作(TrackActivities of Endpoints having Secure Memory Devices for Security Operationsduring Identity Validation)”的第63/156,238号临时美国专利申请的提交日的权益,所述申请的全部公开内容由此以引用的方式并入本文中。This application claims the benefit of the filing date of Provisional U.S. Patent Application No. 63/105,820, filed October 26, 2020, and entitled "Virtual Subscriber Identification Module and Virtual Smart Card," wherein This application also requires Article 3, titled "Track Activities of Endpoints having Secure Memory Devices for Security Operations during Identity Validation", filed on March 3, 2021 The benefit of the filing date of provisional US Patent Application No. 63/156,238, the entire disclosure of which is hereby incorporated by reference.

本申请涉及于2020年8月28日提交且标题为“用于主机装置验证的安全存储器系统编程(Secure Memory System Programming for Host Device Verification)”的第17/005,565号美国专利申请,所述申请要求以下申请的提交日的权益:2020年7月31日提交的第63/059,617号临时美国专利申请;于2020年10月26日提交且标题为“基于多个组件的启动时间绑定的端点认证(Endpoint Authentication based on Boot-Time Binding ofMultiple Components)”的第17/080,684号美国专利申请;于2019年4月4日提交、标题为“用于生成装置身份以利用远程服务器认证的安全装置上的登入软件(OnboardingSoftware on Secure Devices to Generate Device Identities for Authenticationwith Remote Servers)”且于2020年10月8日公布为第2020/0322134号美国专利申请公开案的第16/374,905号美国专利申请;以及于2020年9月8日提交且标题为“半导体装置中的功能的客户特定激活(Customer-Specific Activation of Functionality in aSemiconductor Device)”的第17/014,203号美国专利申请,所述申请的全部公开内容由此以引用的方式并入本文中。This application is related to US Patent Application No. 17/005,565, filed on August 28, 2020, and entitled "Secure Memory System Programming for Host Device Verification," which claims The benefit of the filing date of: Provisional U.S. Patent Application No. 63/059,617, filed July 31, 2020; U.S. Patent Application No. 17/080,684 (Endpoint Authentication based on Boot-Time Binding of Multiple Components)"; filed April 4, 2019, titled "Using Device Identity for Generating Device Identity to Utilize Remote Server Authentication Onboarding Software on Secure Devices to Generate Device Identities for Authentication with Remote Servers" and US Patent Application Serial No. 16/374,905 published on October 8, 2020 as US Patent Application Publication No. 2020/0322134; and in 2020 U.S. Patent Application No. 17/014,203, filed September 8, 2010 and entitled "Customer-Specific Activation of Functionality in a Semiconductor Device," the entire disclosure of which is hereby Incorporated herein by reference.

技术领域technical field

本文中所公开的至少一些实施例一般来说涉及认证,且更具体地但不限于网络中具有安全存储器装置的通信端点的认证。At least some embodiments disclosed herein relate to authentication in general, and more particularly, but not limited to, authentication of communication endpoints with secure memory devices in a network.

背景技术Background technique

存储器子系统可包含一或多个存储数据的存储器装置。存储器装置可以是例如非易失性存储器装置和易失性存储器装置。一般来说,主机系统可利用存储器子系统,将数据存储在存储器装置处并从存储器装置检索数据。The memory subsystem may include one or more memory devices that store data. The memory devices may be, for example, non-volatile memory devices and volatile memory devices. In general, a host system may utilize a memory subsystem to store data at and retrieve data from a memory device.

用于装置身份合成引擎(DICE)和稳健物联网(RIoT)标准已经制定,用于基于加密计算的计算装置身份识别和认证的数据计算。Standards for Device Identity Synthesis Engine (DICE) and Robust Internet of Things (RIoT) have been developed for data computing based on cryptographic computing for computing device identification and authentication.

发明内容SUMMARY OF THE INVENTION

在一个方面,本公开涉及一种方法,其包括:在服务器系统中存储表示端点的一或多个偏好的数据;在所述服务器系统中接收含有由在所述端点中配置的存储器装置生成的身份数据的验证请求;至少部分地基于所述存储器装置的秘密和存储于所述存储器装置中的内容的至少一部分,通过所述服务器系统验证所述身份数据;以及响应于确定所述身份数据有效,确定与所述身份数据相关联的活动满足为所述端点指定的条件;以及在响应于所述验证请求提供验证响应时,执行与所述条件相关联的安全操作。In one aspect, the present disclosure relates to a method comprising: storing, in a server system, data representing one or more preferences of an endpoint; receiving, in the server system, data containing data generated by a memory device configured in the endpoint. a verification request for identity data; verifying the identity data by the server system based at least in part on a secret of the memory device and at least a portion of content stored in the memory device; and in response to determining that the identity data is valid , determining that an activity associated with the identity data satisfies a condition specified for the endpoint; and performing a security operation associated with the condition upon providing an authentication response in response to the authentication request.

在另一方面,本公开涉及一种计算系统,其包括:存储器,其存储存储器装置的加密密钥;以及至少一个处理器,其经由一组指令配置成:接收含有由在端点中配置的存储器装置生成的身份数据的验证请求;且响应于所述验证请求,至少部分地基于所述存储器装置的秘密,确定所述身份数据有效;确定经由所述验证请求识别的活动满足为所述端点指定的条件;且在响应于所述验证请求提供验证响应时,执行与所述条件相关联的安全操作。In another aspect, the present disclosure relates to a computing system comprising: a memory that stores an encryption key for a memory device; and at least one processor configured via a set of instructions to: receive a memory containing a memory configured in an endpoint a verification request for identity data generated by a device; and in response to the verification request, based at least in part on a secret of the memory device, determining that the identity data is valid; determining that the activity identified via the verification request satisfies a specification specified for the endpoint condition; and when an authentication response is provided in response to the authentication request, a security operation associated with the condition is performed.

在又一方面,本公开涉及一种存储指令的非暂时性计算机存储媒体,所述指令在由服务器系统执行时使所述服务器系统执行方法,所述方法包括:接收含有由在端点中配置的存储器装置生成的身份数据的验证请求;以及响应于所述验证请求,至少部分地基于所述存储器装置的秘密,确定所述身份数据有效;确定经由所述验证请求识别的活动满足为所述端点指定的条件;且在响应于所述验证请求提供验证响应时,执行与所述条件相关联的安全操作。In yet another aspect, the present disclosure relates to a non-transitory computer storage medium storing instructions that, when executed by a server system, cause the server system to perform a method, the method comprising: receiving a computer storage medium containing information configured in an endpoint by a verification request for identity data generated by a memory device; and in response to the verification request, based at least in part on a secret of the memory device, determining that the identity data is valid; determining that the activity identified via the verification request satisfies the endpoint a specified condition; and upon providing an authentication response in response to the authentication request, perform a security operation associated with the condition.

附图说明Description of drawings

在附图的各图中作为实例而非限制示出了实施例,在附图中,相似的参考标号指示类似的元件。Embodiments are shown by way of example and not limitation in the figures of the accompanying drawings, wherein like reference numerals refer to like elements.

图1示出根据本公开的一些实施例的实例计算系统。1 illustrates an example computing system in accordance with some embodiments of the present disclosure.

图2示出根据一个实施例的集成电路存储器装置中的身份数据的生成。Figure 2 illustrates the generation of identity data in an integrated circuit memory device according to one embodiment.

图3示出根据一个实施例的用于控制存储器装置中的命令执行的技术。3 illustrates a technique for controlling command execution in a memory device, according to one embodiment.

图4示出根据一个实施例的用于验证存储于存储器装置中的数据完整性的技术。4 illustrates a technique for verifying the integrity of data stored in a memory device, according to one embodiment.

图5示出根据一个实施例的基于在存储器装置中实施的安全特征提供给客户端服务器的安全服务器的安全服务。Figure 5 illustrates security services provided to a client server's security server based on security features implemented in a memory device, according to one embodiment.

图6示出根据一个实施例的用于配置和认证基于卡的服务的端点的系统和方法。6 illustrates a system and method for configuring and authenticating endpoints for card-based services, according to one embodiment.

图7示出根据一个实施例的虚拟智能卡的卡简档。Figure 7 illustrates a card profile of a virtual smart card according to one embodiment.

图8示出根据一个实施例的虚拟订户识别模块(SIM)的卡简档。Figure 8 illustrates a card profile of a virtual subscriber identity module (SIM) according to one embodiment.

图9示出根据一个实施例的用于认证存储器装置的技术。9 illustrates a technique for authenticating a memory device, according to one embodiment.

图10示出根据一个实施例的用于生成控制存储器装置的安全操作的命令的技术。10 illustrates a technique for generating commands to control secure operation of a memory device, according to one embodiment.

图11示出根据一个实施例的虚拟智能卡的方法。Figure 11 illustrates a method of virtualizing a smart card according to one embodiment.

图12示出根据一个实施例的基于存储器装置的安全特征提供的安全服务的方法。12 illustrates a method for providing security services based on security features of a memory device, according to one embodiment.

图13示出根据一个实施例的登入账户订阅的服务的端点的方法。13 illustrates a method of logging into an endpoint of a service subscribed to by an account, according to one embodiment.

图14示出根据一个实施例的使用在线固件商店的端点定制的技术。14 illustrates a technique for endpoint customization using an online firmware store, according to one embodiment.

图15示出根据一个实施例的经由在线服务商店将服务定向到端点的技术。15 illustrates a technique for directing services to endpoints via an online service store, according to one embodiment.

图16示出根据一个实施例的使用固件商店和安全服务器的固件更新方法。16 illustrates a firmware update method using a firmware store and a secure server, according to one embodiment.

图17示出根据一个实施例的使用服务商店和安全服务器的端点定制方法。Figure 17 illustrates an endpoint customization method using a service store and a security server, according to one embodiment.

图18示出根据一个实施例的生成身份数据以促进完整性和/或端点活动的监测的图示。18 shows an illustration of generating identity data to facilitate monitoring of integrity and/or endpoint activity, according to one embodiment.

图19示出根据一个实施例的用于维持存储在端点中的包完整性的技术。19 illustrates a technique for maintaining the integrity of packets stored in an endpoint, according to one embodiment.

图20示出根据一个实施例的基于跟踪端点活动而实施安全操作的系统。20 illustrates a system for implementing security operations based on tracking endpoint activity, according to one embodiment.

图21示出根据一个实施例的用于更新或修复存储在端点中的包的方法。Figure 21 illustrates a method for updating or repairing a package stored in an endpoint, according to one embodiment.

图22示出根据一个实施例的用于基于端点的一或多个活动执行安全操作的方法。22 illustrates a method for performing security operations based on one or more activities of an endpoint, according to one embodiment.

图23和24示出根据一个实施例的配置成在一组端点当中实施订阅共享的系统。23 and 24 illustrate a system configured to implement subscription sharing among a set of endpoints, according to one embodiment.

图25示出根据一个实施例的用于促进一组端点中的订阅共享的方法。Figure 25 illustrates a method for facilitating subscription sharing among a set of endpoints, according to one embodiment.

图26示出根据一个实施例的用于管理端点识别的技术。26 illustrates a technique for managing endpoint identification, according to one embodiment.

图27示出根据一个实施例的用于管理端点识别的方法。Figure 27 illustrates a method for managing endpoint identification, according to one embodiment.

图28是其中可以操作本公开的实施例的实例计算机系统的框图。28 is a block diagram of an example computer system in which embodiments of the present disclosure may operate.

具体实施方式Detailed ways

本公开的至少一些方面涉及安全服务器和具有安全特征的存储器装置。安全服务器配置成基于存储器装置的安全特征提供计算机网络(例如,互联网)中的在线安全服务。存储器装置的主机系统可使用存储器装置的存储器和/或存储功能存储指令和/或用于处理的数据并存储处理结果。At least some aspects of the present disclosure relate to secure servers and memory devices with secure features. The security server is configured to provide online security services in a computer network (eg, the Internet) based on the security features of the memory device. The host system of the memory device may use the memory and/or storage functions of the memory device to store instructions and/or data for processing and to store processing results.

一般来说,存储器子系统可包含存储装置和/或存储器模块。主机系统可使用包含一或多个组件的存储器子系统,所述组件例如存储数据的存储器装置。主机系统可提供数据以存储于存储器子系统中,并且可请求数据以从存储器子系统检索。In general, a memory subsystem may include storage devices and/or memory modules. The host system may use a memory subsystem that includes one or more components, such as memory devices that store data. The host system can provide data for storage in the memory subsystem, and can request data for retrieval from the memory subsystem.

例如,存储于存储器装置中的数据的一部分可以是指令,例如经编程用于软件、固件、启动加载程序、操作系统、例程、装置驱动程序、应用程序包等的指令。指令可以存储用于计算装置,所述计算装置使用与存储器装置连接的主机系统实施。For example, a portion of the data stored in a memory device may be instructions, such as instructions programmed for software, firmware, bootloaders, operating systems, routines, device drivers, application packages, and the like. The instructions may be stored for a computing device implemented using a host system coupled to the memory device.

存储于存储器装置中的数据的另一部分可以在指令执行于主机系统的一或多个处理装置中时向指令提供运算元或输入。Another portion of the data stored in the memory device may provide operands or inputs to the instructions as they are executed in one or more processing devices of the host system.

存储于存储器装置中的数据的又一部分可包含从使用存储于存储器装置中的输入和/或其它输入执行指令生成的结果。Yet another portion of the data stored in the memory device may include results generated from executing instructions using the input stored in the memory device and/or other inputs.

此类计算装置的实例包含个人计算机、移动计算机、平板计算机、个人媒体播放器、智能电话、智能TV、智能扬声器、智能电器、物联网(IoT)装置等。Examples of such computing devices include personal computers, mobile computers, tablet computers, personal media players, smart phones, smart TVs, smart speakers, smart appliances, Internet of Things (IoT) devices, and the like.

在存储器装置中实施的安全特征可用于存储器装置和安全服务器之间经由计算机网络的安全通信。存储器装置和安全服务器之间的通信路径可能不安全。通过安全服务器和存储器装置之间的通信可以验证存储器装置的身份和/或控制对存储器装置的访问,以便防止和检测仿冒、篡改、窃用和/或不安全操作。The security features implemented in the memory device can be used for secure communication between the memory device and a security server over a computer network. The communication path between the memory device and the secure server may be insecure. Communication between the secure server and the memory device may verify the identity of the memory device and/or control access to the memory device in order to prevent and detect counterfeiting, tampering, theft and/or insecure operation.

存储器装置的安全特征和安全服务器的安全服务的组合允许存储器装置和/或具有存储器装置的计算装置的使用所涉及的各方信任计算装置和/或存储器装置的真实性并信任存储于存储器装置中的数据完整性,例如将在计算装置中执行的指令和指令的输入。The combination of the security features of the memory device and the security services of the security server allows parties involved in the use of the memory device and/or computing device with the memory device to trust the authenticity of the computing device and/or the memory device and to trust the storage in the memory device data integrity, such as the instructions to be executed in the computing device and the input of the instructions.

例如,安全服务器和存储器装置可以组合实施订户身份模块(SIM)的替换。For example, the security server and memory device may implement the replacement of the Subscriber Identity Module (SIM) in combination.

SIM卡通常用于表示电信网络中的蜂窝服务的订户身份。当SIM卡插入到蜂窝电话中时,蜂窝电话可以访问提供给订户账户的蜂窝服务;并且当SIM卡插入到替代蜂窝电话中时,订户可以使用替代蜂窝电话访问与账户相关联的蜂窝服务。SIM cards are commonly used to represent subscriber identity for cellular services in telecommunication networks. When the SIM card is inserted into the cellular telephone, the cellular telephone can access cellular services provided to the subscriber's account; and when the SIM card is inserted into the alternative cellular telephone, the subscriber can use the alternative cellular telephone to access cellular services associated with the account.

当安装于蜂窝电话中的存储器装置的身份可以安全地配置成表示订户身份时,可以消除对物理SIM卡的需要。存储器装置的身份可经由存储器装置的安全特征和安全服务器的安全服务配置和保护。The need for a physical SIM card can be eliminated when the identity of the memory device installed in the cell phone can be securely configured to represent the subscriber's identity. The identity of the memory device may be configured and protected via the memory device's security features and the security server's security services.

一般来说,安全服务器可以配置于互联网上以基于构建到存储器装置中的安全特征向第三方计算机和服务器提供安全相关服务。安全特征构建并封装到存储器装置中。安全特征和安全服务可以在不信任安装了存储器装置的计算装置的安全实施方案的情况下使用。因此,安全实施方案可以集中在存储器装置的安全特征和安全服务器的设计中。通过简单地使用具有安全特征的存储器装置,使用存储器装置的计算装置的安全性可以得到提高,而无需计算装置的设计者和/或制造商付出太多的努力。In general, security servers may be deployed on the Internet to provide security-related services to third-party computers and servers based on security features built into memory devices. The security features are built and packaged into the memory device. The security features and security services can be used without trusting the security implementation of the computing device on which the memory device is installed. Thus, the security implementation can focus on the security features of the memory device and the design of the security server. By simply using a memory device with security features, the security of a computing device using the memory device can be improved without much effort from the designer and/or manufacturer of the computing device.

安全服务器可以提供服务,以验证装置的身份和/或真实性,检测仿冒装置和/或篡改装置,跟踪和管理装置所有权,促进装置所有权/控制权的转移,促进计算装置访问第三方服务器和/或服务网络的服务的配置,等等。Security servers may provide services to verify the identity and/or authenticity of devices, detect counterfeit and/or tampered devices, track and manage device ownership, facilitate transfer of device ownership/control, facilitate computing device access to third-party servers and/or Or the configuration of services that serve the network, etc.

存储器装置的安全特征可以在存储器装置的制造期间实施于存储器装置的集成电路(IC)封装内。存储器装置可具有在一或多个集成电路裸片上形成的逻辑电路(或控制器)和存储器单元。存储器装置中的至少一些存储器单元可以是非易失性的,使得数据可以保存在非易失性存储器单元中,即使存储器装置断电很长一段时间(例如,数日、数月,甚至数年)。存储器装置的非易失性存储器可用于存储指令和数据以用于存储器单元的主机系统的操作。The security features of the memory device may be implemented within an integrated circuit (IC) package of the memory device during manufacture of the memory device. A memory device may have logic circuits (or controllers) and memory cells formed on one or more integrated circuit die. At least some of the memory cells in the memory device can be non-volatile so that data can be retained in the non-volatile memory cells even if the memory device is powered off for an extended period of time (eg, days, months, or even years) . The nonvolatile memory of the memory device may be used to store instructions and data for operation of the memory unit's host system.

存储器装置可具有唯一装置秘密(UDS)。唯一装置秘密可在存储器装置内受保护,使得在完成存储器装置的制造之后,唯一装置秘密不传送到存储器装置之外,并且不可被主机系统经由存储器装置的任何接口读取。A memory device may have a Unique Device Secret (UDS). The unique device secret may be protected within the memory device such that after manufacture of the memory device is complete, the unique device secret is not transferred outside the memory device and is not readable by the host system via any interface of the memory device.

存储器装置中的唯一装置秘密的存在可由安全服务器通过加密计算验证,例如加密密钥的生成、使用加密函数的消息散列值的生成及使用加密密钥通过消息加密的消息密文的生成。The existence of the unique device secret in the memory device can be verified by the secure server through cryptographic computations, such as generation of encryption keys, generation of message hash values using encryption functions, and generation of message ciphertext encrypted by messages using encryption keys.

使用加密密钥加密消息的加密计算涉及用于表示消息的密文的计算。消息可以通过执行预定义解密计算使用对应加密密钥从密文有效恢复。在不具有用于解密的对应加密密钥的情况下,从密文恢复消息一般是不可行的。在不了解用于解密的对应加密密钥的情况下恢复消息的难度等级表示加密计算的安全等级。安全等级大体上取决于用于加密的加密密钥长度和用于加密的算法。Encryption computations that encrypt a message using an encryption key involve computation of the ciphertext used to represent the message. The message can be efficiently recovered from the ciphertext using the corresponding encryption key by performing predefined decryption computations. It is generally not feasible to recover a message from a ciphertext without having the corresponding encryption key for decryption. The difficulty level of recovering a message without knowledge of the corresponding encryption key used for decryption represents the security level of the encryption computation. The level of security generally depends on the encryption key length used for encryption and the algorithm used for encryption.

当使用对称加密时,用于解密的加密密钥和用于加密的加密密钥是相同的。当使用不对称加密时,解密密钥和加密密钥不同,并且成对生成。所述对中的一个可用作私钥,且因此用作秘密;对中的另一个可用作公钥。从公钥计算私钥一般是不可行的。从公钥恢复私钥的难度等级表示不对称加密的安全等级。When using symmetric encryption, the encryption key used for decryption and the encryption key used for encryption are the same. When using asymmetric encryption, the decryption key and the encryption key are different and generated in pairs. One of the pair can be used as the private key, and thus the secret; the other of the pair can be used as the public key. Computing the private key from the public key is generally not feasible. The difficulty level of recovering the private key from the public key indicates the security level of the asymmetric encryption.

对消息进行散列的加密计算将消息映射到表示消息的散列值。但是,在散列计算中会丢失一定量的信息,使得消息无法从散列值恢复。许多消息可以映射到相同散列值。生成可以散列到相同散列值的消息的经修改版本一般是不可行的,特别是在经修改版本类似于原始消息时。A cryptographic computation that hashes a message maps the message to a hash value that represents the message. However, a certain amount of information is lost in the hash calculation, making the message unrecoverable from the hash value. Many messages can map to the same hash value. Generating a modified version of a message that can be hashed to the same hash value is generally not feasible, especially when the modified version is similar to the original message.

密钥生成的加密计算涉及基于一组数据计算针对对称加密的加密密钥或针对不对称加密的一对加密密钥。在不具有相同一组数据的情况下生成相同密钥或相同密钥对的概率较低。概率等级表示用于密钥生成的加密计算的强度。Encryption computation for key generation involves computing an encryption key for symmetric encryption or a pair of encryption keys for asymmetric encryption based on a set of data. The probability of generating the same key or the same key pair without having the same set of data is low. The probability level represents the strength of the encryption computation used for key generation.

一般来说,用于加密、散列和密钥生成的任何加密计算技术可以与存储器装置和安全服务器一起使用。因此,本公开不限于特定的加密、散列和/或密钥生成技术。In general, any cryptographic computing techniques for encryption, hashing, and key generation can be used with the memory device and secure server. Accordingly, the present disclosure is not limited to particular encryption, hashing and/or key generation techniques.

除了唯一装置秘密之外,存储器装置还可存储额外数据以表示存储器装置和/或安装了存储器装置的计算装置的数据和/或硬件配置。所述额外数据的一部分可以也可以不保持为存储器装置的秘密。所述唯一装置秘密和所述额外数据可用于生成表示存储器装置和/或计算装置的身份的秘密加密密钥。In addition to the unique device secret, the memory device may store additional data to represent the data and/or hardware configuration of the memory device and/or the computing device on which the memory device is installed. A portion of the additional data may or may not be kept secret by the memory device. The unique device secret and the additional data may be used to generate a secret encryption key representing the identity of the memory device and/or the computing device.

存储器装置的逻辑电路(或本地控制器)可实施加密引擎、身份引擎和访问控制器。存储器装置的加密引擎配置成在存储器装置内执行加密计算(例如,散列、加密/解密、密钥生成)以支持身份引擎和访问控制器的操作。存储器装置中的加密引擎的实施方案免去了依赖外部处理器来进行存储器装置的安全计算的需要,并因此通过防止秘密传输到存储器装置之外和防止加密计算的篡改和窃用而提高了安全性。任选地,存储器装置的安全特征所涉及的加密计算的至少部分可以经由在存储器装置中存储指令以供存储器装置的主机系统执行来实施,同时在存储器装置的逻辑电路(或本地控制器)的安全等级和复杂度之间存在一定水平的权衡。The logic circuit (or local controller) of the memory device may implement the encryption engine, the identity engine and the access controller. The cryptographic engine of the memory device is configured to perform cryptographic computations (eg, hashing, encryption/decryption, key generation) within the memory device to support operations of the identity engine and the access controller. Implementation of a cryptographic engine in a memory device obviates the need to rely on an external processor to perform secure computations of the memory device, and thus improves security by preventing the transfer of secrets out of the memory device and preventing tampering and theft of cryptographic computations . Optionally, at least a portion of the cryptographic computations involved in the security features of the memory device may be implemented via storing instructions in the memory device for execution by the memory device's host system, while in the logic circuitry (or local controller) of the memory device. There is a certain level of trade-off between security level and complexity.

存储器装置的加密引擎可用于向消息应用加密散列函数以生成散列值,从一组数据生成对称加密密钥或一对不对称加密密钥,使用加密密钥生成消息的密文,和/或使用加密密钥从密文恢复消息。The encryption engine of the memory device is operable to apply a cryptographic hash function to the message to generate a hash value, to generate a symmetric encryption key or a pair of asymmetric encryption keys from a set of data, to generate a ciphertext of the message using the encryption key, and/ Or use the encryption key to recover the message from the ciphertext.

存储器装置的访问控制器配置成使用加密密钥控制在存储器装置中接收的命令的执行。例如,可能需要权限来请求存储器装置对存储器装置的非易失性存储器的各个部分执行读取、写入、删除、修改等的命令。权限可由相应加密密钥表示。在存储器装置中接收到权限命令以供执行之后,访问控制器可在确定命令是否来自具有表示权限的加密密钥的发送方时使用加密引擎以执行计算。在计算指示发送方具有加密密钥且因此具有权限之后,访问控制器允许命令装存储器装置内执行。否则,访问控制器可拒绝、忽略或舍弃命令。此类访问控制可防止对存储于存储器装置中的数据的未经授权的访问,防止对存储器装置的未经授权的改变,并防止篡改和/或窃用形成存储器装置的仿冒品和/或不安全装置。The access controller of the memory device is configured to control execution of commands received in the memory device using the encryption key. For example, permissions may be required to request the memory device to execute commands to read, write, delete, modify, etc., on various portions of the non-volatile memory of the memory device. Rights can be represented by corresponding encryption keys. After receiving the entitlement command in the memory device for execution, the access controller may use the encryption engine to perform computations in determining whether the command is from a sender with an encryption key representing the entitlement. After the calculation indicates that the sender has the encryption key and therefore has the authority, the access controller allows the command to be executed in the memory device. Otherwise, the access controller may deny, ignore or discard the command. Such access control may prevent unauthorized access to data stored in the memory device, prevent unauthorized changes to the memory device, and prevent tampering and/or theft of counterfeit and/or insecure forms of the memory device device.

一般来说,验证消息发送方是否具有加密密钥涉及验证消息的验证码。验证码可呈散列摘要、数字签名、基于散列的消息认证码(HMAC)、加密消息认证码(CMAC)等形式。验证码使用加密密钥和作为散列、加密和/或其它计算等加密操作的输入的消息生成,使得在不具有加密密钥的情况下生成验证码及从消息的经修改版本生成验证码一般是不可行的。因此,当接收方确认接收到的验证码对接收到的消息和加密密钥有效时,接收方可得出结论:发送方具有对应的加密密钥,并且接收到的消息与用于生成接收到的加密密钥的消息相同。Generally speaking, verifying that the sender of a message has an encryption key involves verifying the verification code of the message. The verification code may be in the form of a hash digest, digital signature, hash-based message authentication code (HMAC), encrypted message authentication code (CMAC), and the like. CAPTCHA is generated using an encryption key and a message as input to cryptographic operations such as hashing, encryption, and/or other computations, such that generation of CAPTCHA without the encryption key and generation of CAPTCHA from a modified version of the message is generally is not feasible. Therefore, when the receiver confirms that the received verification code is valid for the received message and the encryption key, the receiver can conclude that the sender has the corresponding encryption key, and the received message is the same as the one used to generate the received encryption key. The encryption key for the message is the same.

在一些实施方案中,接收方使用与发送方生成验证码所使用的相同的加密密钥执行消息验证码的验证。例如,接收方使用相同加密密钥生成接收到的消息的验证码,并比较生成的验证码与接收到的验证码。如果存在匹配,那么接收到的验证码对接收到的消息有效;并且发送方可以被视为具有加密密钥。否则,接收到的验证码对接收到的消息无效;接收到的消息自验证码生成以来已经改变,或接收到的验证码是使用不同的加密密钥生成的,或这两者。In some embodiments, the recipient performs verification of the message verification code using the same encryption key that was used by the sender to generate the verification code. For example, the recipient generates a verification code for the received message using the same encryption key, and compares the generated verification code with the received verification code. If there is a match, the received verification code is valid for the received message; and the sender can be considered to have the encryption key. Otherwise, the received verification code is invalid for the received message; the received message has changed since the verification code was generated, or the received verification code was generated using a different encryption key, or both.

在一些实施方案中,接收方使用密钥对中的公共加密密钥执行消息验证码的验证;并且发送方使用密钥对中的私用加密密钥生成验证码。例如,验证码可通过向消息应用散列函数以生成消息的散列值来生成。通过使用加密密钥执行的散列值加密获得的散列值的密文可用作验证码。消息和验证码的接收方使用对应的解密密钥执行验证,解密密钥在使用对称加密时与加密密钥相同,在使用不对称加密时是密钥对中的另一密钥。在使用解密密钥从密文恢复散列值之后,恢复后的散列值可与接收到的消息的散列值比较;如果存在匹配,那么接收到的验证码对接收到的消息有效;否则,接收到的验证码对接收到的消息无效。替代地,接收方可使用加密密钥执行验证而不执行解密。接收方可使用加密密钥生成消息的验证码以与接收到的验证码比较。In some embodiments, the recipient performs verification of the message authentication code using the public encryption key in the key pair; and the sender uses the private encryption key in the key pair to generate the authentication code. For example, the verification code may be generated by applying a hash function to the message to generate a hash value of the message. A ciphertext of a hash value obtained by hash value encryption performed using an encryption key can be used as a verification code. The recipient of the message and the verification code performs the verification using the corresponding decryption key, which is the same as the encryption key when using symmetric encryption and the other key in the key pair when using asymmetric encryption. After recovering the hash value from the ciphertext using the decryption key, the recovered hash value can be compared to the hash value of the received message; if there is a match, then the received verification code is valid for the received message; otherwise , the received verification code is invalid for the received message. Alternatively, the recipient may use the encryption key to perform authentication without performing decryption. The recipient can use the encryption key to generate a verification code for the message to compare with the received verification code.

在一些实施方案中,消息和加密密钥组合生成散列值作为验证码,如在基于散列的消息认证码(HMAC)的技术中。例如,加密密钥可用于生成两个密钥。在组合所述两个密钥中的一个与消息以生成通过密钥修改的消息之后,加密散列函数可应用于密钥已修改消息,以生成散列值,所述散列值进一步与另一密钥组合以生成另一消息。在向所述另一消息应用加密散列函数(或另一加密散列函数)之后,基于散列的消息认证码生成。消息接收方可使用相同的加密密钥生成接收到的消息的基于散列的消息认证码以与接收到的基于散列的消息认证码比较。如果存在匹配,那么验证成功;否则,验证失败。In some embodiments, the message and encryption key are combined to generate a hash value as an authentication code, as in the technique of hash-based message authentication code (HMAC). For example, an encryption key can be used to generate two keys. After combining one of the two keys with the message to generate a key-modified message, a cryptographic hash function can be applied to the key-modified message to generate a hash value that is further combined with the other A key is combined to generate another message. After applying a cryptographic hash function (or another cryptographic hash function) to the other message, a hash-based message authentication code is generated. The message recipient may use the same encryption key to generate a hash-based message authentication code for the received message to compare with the received hash-based message authentication code. If there is a match, validation succeeds; otherwise, validation fails.

一般来说,用于生成和验证来自发送方的消息的验证码和供发送方用于生成验证码的加密密钥的任何技术可用于确定发送方是否具有加密密钥。接收方将使用适当的加密密钥执行验证,此加密密钥可与用于生成验证码的加密密钥相同,或在相同的不对称加密密钥对中。因此,本公开不限于散列摘要、数字签名和/或基于散列的消息认证码的特定技术。In general, any technique for generating and validating a verification code for a message from a sender and an encryption key used by the sender to generate the verification code can be used to determine whether the sender has the encryption key. The recipient will perform authentication using the appropriate encryption key, which can be the same encryption key used to generate the verification code, or in the same asymmetric encryption key pair. Accordingly, the present disclosure is not limited to the particular techniques of hash digests, digital signatures, and/or hash-based message authentication codes.

为方便起见,使用加密密钥真的消息生成的用于表示消息和加密密钥的验证码可以统称为使用加密密钥签名的消息的数字签名,但是应理解,验证码可使用各种技术生成,例如基于散列的消息认证码。For convenience, the verification code generated using the encryption key to represent the message and the encryption key may be collectively referred to as the digital signature of the message signed using the encryption key, but it should be understood that the verification code can be generated using various techniques , such as hash-based message authentication codes.

存储器装置可配置成存储用于验证使用配置成表示请求存储器装置执行命令的权限的加密密钥签名的验证码的相关加密密钥。The memory device may be configured to store an associated encryption key for verifying a verification code signed using an encryption key configured to represent authority to request the memory device to execute a command.

例如,访问控制器可向存储器装置的所有者提供一组权限,使得所有者可以激活或撤销激活存储器装置的一或多个安全特征,改变存储器装置的一或多个安全设置、参数、配置或偏好,和/或从存储器装置中不可被存储器装置的其他用户读取的区段读取数据。For example, the access controller may provide the owner of the memory device with a set of permissions such that the owner may activate or deactivate one or more security features of the memory device, change one or more security settings, parameters, configurations or preferences, and/or read data from sections of the memory device that are not readable by other users of the memory device.

例如,访问控制器可向存储器装置的经授权用户提供读取、写入、擦除或修改存储器装置的特定区段的特定权限。For example, an access controller may provide authorized users of the memory device with specific rights to read, write, erase, or modify specific sections of the memory device.

当存储器装置接收需要访问权限来执行的命令时,访问控制器可检索对应的加密密钥以验证包含所述命令的消息的验证码或数字签名。如果针对接收到的命令接收的验证码的验证成功,那么接收到的命令被视为来自具有表示在存储器装置中执行命令的权限的加密密钥的发送方。作为响应,访问控制器允许在存储器装置中执行命令。否则,访问控制器阻止命令的执行。When the memory device receives a command that requires access rights to execute, the access controller can retrieve the corresponding encryption key to verify the verification code or digital signature of the message containing the command. If the verification of the verification code received for the received command is successful, the received command is considered to be from a sender with an encryption key representing authority to execute the command in the memory device. In response, the access controller allows execution of the command in the memory device. Otherwise, the access controller blocks execution of the command.

存储器装置可以制造为最初由安全服务器拥有。随后,安全服务器可以在从组装到计算装置的存储器装置到具有由终端用户使用的存储器装置的计算装置的处理中,向一或多个所有者和用户提供和/或转移部分或全部权限。访问控制器可以防止篡改、窃用和未经授权的访问,同时提供灵活性,以支持不同所有者和用户的不同权限转移模式,例如安装了存储器装置的组件计算装置的制造商,安装了组件计算装置的计算装置制造商、零售商、企业用户、终端用户和替代终端用户等。The memory device may be manufactured to be originally owned by the secure server. The secure server may then provide and/or transfer some or all of the rights to one or more owners and users in the process from the memory device assembled to the computing device to the computing device having the memory device used by the end user. Access controllers prevent tampering, theft, and unauthorized access, while providing flexibility to support different modes of transfer of rights for different owners and users, such as manufacturers of memory-installed component computing devices, installed component computing Computing device manufacturers, retailers, business users, end users and alternative end users of devices, etc.

存储器装置的身份引擎配置成生成指示存储器装置的身份和/或安装了存储器装置的计算装置的身份的数据。为生成身份数据,身份引擎使用加密引擎从唯一装置秘密和存储于存储器装置中和/或由存储器装置收集(例如,在计算装置的启动过程期间)的其它数据生成秘密加密密钥。存储器装置中的秘密加密密钥的存在可被视为存储器装置拥有唯一装置秘密和用于生成秘密加密密钥的其它数据的证据。存储器装置中的秘密加密密钥的存在可以通过安全服务器经由使用秘密加密密钥签名的验证码或数字签名来验证。The identity engine of the memory device is configured to generate data indicative of the identity of the memory device and/or the identity of the computing device on which the memory device is installed. To generate the identity data, the identity engine uses the encryption engine to generate secret encryption keys from unique device secrets and other data stored in and/or collected by the memory device (eg, during the startup process of the computing device). The presence of the secret encryption key in the memory device may be considered evidence that the memory device possesses the unique device secret and other data used to generate the secret encryption key. The existence of the secret encryption key in the memory device can be verified by the secure server via a verification code or digital signature signed with the secret encryption key.

在存储器装置的制造期间,唯一装置秘密的副本寄存在安全服务器中和/或进行安全共享而不会暴露。随后,安全服务器配置成独立于存储器装置导出相同秘密加密密钥(和/或使用不对称加密时的对应公钥),而无需存储器装置将其唯一装置秘密传送到存储器装置之外。因此,安全服务器可通过验证存储器装置具有秘密加密密钥而验证存储器装置具有唯一装置秘密;并且作为存储器装置身份的秘密加密密钥可在存储器装置集成到组件、装置、系统中并在制造商、零售商、经销商、公司和/或终端用户当中转移的处理中改变。在不改变唯一装置秘密的情况下,由秘密加密密钥表示的存储器装置实体可以更新以表示存储器装置组装到组件、装置、系统中、定制和/或个性化和/或由不同实体或用户拥有和/或操作。During manufacture of the memory device, a copy of the unique device secret is hosted in a secure server and/or is securely shared without exposure. The secure server is then configured to derive the same secret encryption key (and/or the corresponding public key when using asymmetric encryption) independently of the memory device, without requiring the memory device to secretly transmit its unique device outside the memory device. Thus, the security server can verify that the memory device has a unique device secret by verifying that the memory device has the secret encryption key; and the secret encryption key that is the identity of the memory device can be integrated into a component, device, system and in the manufacturer, Changes in the processing of transfers among retailers, distributors, companies and/or end users. Without changing the unique device secret, the memory device entity represented by the secret encryption key can be updated to indicate that the memory device is assembled into a component, device, system, customized and/or personalized and/or owned by a different entity or user and/or operations.

可以执行加密操作和通信以允许安全服务器验证存储器装置具有秘密加密密钥。Cryptographic operations and communications may be performed to allow the secure server to verify that the memory device has the secret encryption key.

例如,存储器装置呈现的用于验证的身份数据可包含示出存储器装置的公共识别的消息。公共识别可用于分辨存储器装置与其它存储器装置。身份数据可包含使用秘密加密密钥签名的身份数据中的消息的验证码或数字签名。身份数据包含消息副本和验证码或数字签名。一旦验证码和消息数据被安全服务器验证,安全服务器就可得出结论:在身份数据中提供的公共识别是真实的,并且身份数据来自具有秘密加密密钥的存储器装置。For example, the identity data presented by the memory device for verification may include a message showing the public identification of the memory device. Common identification can be used to distinguish memory devices from other memory devices. Identity data may contain verification codes or digital signatures of messages in the identity data signed using a secret encryption key. Identity data includes a copy of the message and a verification code or digital signature. Once the verification code and message data are verified by the security server, the security server can conclude that the public identification provided in the identity data is authentic and that the identity data came from a memory device with a secret encryption key.

存储器装置的秘密加密密钥可以不仅使用存储器装置的唯一装置秘密而且还使用表示存储器装置和/或安装了存储器装置的计算装置的一些方面的额外数据来生成。所述额外数据可以表示软件、固件、启动加载程序、应用程序、存储于存储器装置中的跟踪数据、在计算装置的最近启动时间在计算装置中的计算装置组件的标识符。如果所述额外数据已经更改,那么身份引擎生成更改后的秘密加密密钥。因此,使用更改后的秘密加密密钥生成的验证码无法通过在安全服务器处执行的验证。因此,由身份引擎生成的验证码的验证还验证存储器装置和安装了存储器装置的计算装置的硬件/软件/数据合成的完整性和真实性。The memory device's secret encryption key may be generated using not only the memory device's unique device secret, but also additional data representing some aspect of the memory device and/or the computing device on which the memory device is installed. The additional data may represent software, firmware, bootloaders, application programs, trace data stored in a memory device, identifiers of computing device components in the computing device at the most recent boot time of the computing device. If the additional data has been altered, the identity engine generates an altered secret encryption key. Therefore, the verification code generated using the changed secret encryption key cannot pass the verification performed at the secure server. Thus, verification of the verification code generated by the identity engine also verifies the integrity and authenticity of the hardware/software/data composition of the memory device and the computing device on which the memory device is installed.

存储器装置和/或其主机系统的身份的验证可检测仿冒、篡改及被盗/丢失装置。基于来自所有者的请求,安全服务器可将被盗/丢失装置配置成以数个降级模式中的一个操作,例如不可启动、不可读、加密/擦除非易失性存储器中的数据、存储器装置的存储器/存储功能的自我毁坏等等。Verification of the identity of the memory device and/or its host system can detect counterfeit, tampered, and stolen/lost devices. Based on a request from the owner, the security server may configure the stolen/lost device to operate in one of several degraded modes, such as unbootable, unreadable, encrypt/erase data in non-volatile memory, memory device's Self-destruction of memory/storage functions, etc.

安全服务器配置有信息数据库,用于验证由存储器装置的身份引擎生成的身份数据。数据库允许安全服务器生成存储器装置的对应秘密加密密钥(和/或使用不对称加密时的对应公钥)。加密密钥可由安全服务器生成,而无需存储器装置在存储器装置的制造之后将其唯一装置秘密传送到存储器装置之外。加密密钥可至少部分地基于在存储器装置制造之后可用的额外数据生成。The secure server is configured with a database of information for verifying identity data generated by the identity engine of the memory device. The database allows the secure server to generate a corresponding secret encryption key (and/or a corresponding public key when using asymmetric encryption) for the memory device. The encryption key can be generated by the secure server without the need for the memory device to secretly transmit its unique device outside the memory device after manufacture of the memory device. The encryption key may be generated based at least in part on additional data available after the memory device is manufactured.

安全服务器可存储表示存储器装置的所有者权限的加密密钥。使用加密密钥,安全服务器可生成转移存储器装置所有权并配置和/或转移选定权限使得选定命令在存储器装置中执行的命令。在报告计算装置丢失/被盗之后,安全服务器可检测其存储器装置在存储器装置验证期间的使用,以及第三方服务器对服务的请求。The secure server may store an encryption key representing the owner's rights of the memory device. Using the encryption key, the secure server can generate commands that transfer ownership of the memory device and configure and/or transfer selected rights such that selected commands are executed in the memory device. After reporting a lost/stolen computing device, the secure server can detect the use of its memory device during memory device authentication, as well as requests for services by third-party servers.

例如,当第三方服务器从具有存储器装置的计算装置接收对服务的请求时,第三方服务器将由存储器装置生成的身份数据从计算装置转发到安全服务器以用于验证。如果身份数据被安全服务器验证,那么第三方服务器可向计算装置提供服务;否则,服务请求可被拒绝、舍弃或忽略。For example, when a third-party server receives a request for a service from a computing device having a memory device, the third-party server forwards identity data generated by the memory device from the computing device to the secure server for verification. If the identity data is verified by the secure server, the third-party server may provide the service to the computing device; otherwise, the service request may be denied, discarded, or ignored.

当经授权方请求时,安全服务器可对命令进行签名或生成命令的验证码以准许或取消对存储器装置的非易失性存储器的访问。经授权方可签名的命令转发到存储器装置以用于执行。签名的命令包含具有命令的消息和使用表示在存储器装置中执行命令的权限的加密密钥签名/生成的消息的验证码。When requested by an authorized party, the secure server may sign the command or generate a verification code for the command to grant or revoke access to the non-volatile memory of the memory device. The command, which can be signed by an authorized party, is forwarded to the memory device for execution. The signed command contains a message with the command and a verification code for the message signed/generated using an encryption key representing the authority to execute the command in the memory device.

存储器装置可以安装于计算装置中作为计算装置的身份的部分,并为计算装置提供主存储器/存储容量。例如,将在计算装置中执行的指令和相关联数据可以存储于存储器装置中,并经由存储器装置的安全特征受保护而不被损坏、篡改和/或窃用。因为由存储器装置的身份引擎生成的身份数据至少部分地基于存储于存储器装置中的指令/数据,所以将供计算装置使用的指令和数据的完整性和/或真实性至少在验证存储器装置和/或计算装置的身份的过程期间验证。The memory device may be installed in the computing device as part of the identity of the computing device and provide the computing device with main memory/storage capacity. For example, instructions and associated data to be executed in a computing device may be stored in a memory device and protected from corruption, tampering and/or theft via security features of the memory device. Because the identity data generated by the identity engine of the memory device is based, at least in part, on the instructions/data stored in the memory device, the integrity and/or authenticity of the instructions and data for use by the computing device is at least verified in the memory device and/or or the process of verifying the identity of the computing device.

安全服务器所提供的安全服务解除了第三方服务器对操作和计算装置的安全保护。使用存储器装置和安全服务器的服务可以防止未经授权的访问,而无需计算装置制造商和第三方服务器的运营商付出很大努力。因此,第三方服务器可以在不损害安全性的情况下利用其提供各自服务的核心能力进行操作。The security service provided by the security server de-secures the operation and computing device from the third-party server. Services using memory devices and secure servers can prevent unauthorized access without significant effort by the computing device manufacturer and the operator of the third-party server. Thus, third-party servers can operate using their core capabilities to provide their respective services without compromising security.

第三方服务器可以使用安全服务器提供的服务向其订户提供服务,而无需订户执行手动操作来配置订户使用的计算装置。例如,订户可以使用计算装置访问订户账户中的已订阅蜂窝服务,而无需将物理SIM卡插入计算装置和/或执行其它操作来定制计算装置以使用订户账户访问。A third-party server can use the services provided by the secure server to provide services to its subscribers without requiring the subscriber to perform manual actions to configure the computing device used by the subscriber. For example, a subscriber may use a computing device to access subscribed cellular services in a subscriber account without inserting a physical SIM card into the computing device and/or performing other operations to customize the computing device for access with the subscriber account.

订户可以由账户识别表示。当订户购买计算装置时,计算装置的所有权可通过安全服务器转移给订户。在计算装置中配置的存储器装置的安全特征可用于生成装置身份。当计算装置连接到第三方服务器以获得服务时,第三方服务器请求安全服务器验证装置身份。基于计算装置的所有权和账户的所有权,计算装置可以动态地链接到账户,使得计算装置能够使用账户访问第三方提供的服务,而无需手动操作来配置计算装置。A subscriber may be represented by an account identification. When a subscriber purchases a computing device, ownership of the computing device may be transferred to the subscriber through the secure server. The security features of the memory device configured in the computing device can be used to generate the device identity. When the computing device connects to the third-party server to obtain the service, the third-party server requests the security server to verify the identity of the device. Based on the ownership of the computing device and the ownership of the account, the computing device can be dynamically linked to the account, enabling the computing device to use the account to access services provided by third parties without manual operations to configure the computing device.

例如,在验证计算装置的身份期间,通过安全服务器的所有权管理服务识别计算装置的所有者/订户。一旦识别了所有者/订户,订户识别就可以构建到计算装置的装置身份中,或与安全服务器的数据库中的装置身份相关联。随后,当验证装置身份时,订户账户中的服务可由第三方提供到计算装置,而不需要订户明确地将服务定向/请求到计算装置。For example, during verification of the identity of the computing device, the owner/subscriber of the computing device is identified through the secure server's ownership management service. Once the owner/subscriber is identified, the subscriber identification can be built into the device identity of the computing device, or associated with the device identity in the secure server's database. Subsequently, when verifying the identity of the device, the services in the subscriber's account can be provided to the computing device by the third party without requiring the subscriber to explicitly direct/request the service to the computing device.

任选地,计算装置可以与第三方服务器建立单独的证书,使得在计算装置每次连接到第三方服务器以获得服务时,第三方服务器无需联系安全服务器。Optionally, the computing device can establish a separate certificate with the third-party server so that each time the computing device connects to the third-party server to obtain a service, the third-party server does not need to contact the security server.

图1示出根据本公开的一些实施例的实例计算系统。1 illustrates an example computing system in accordance with some embodiments of the present disclosure.

在图1中,集成电路存储器装置130具有如上文所论述的安全特征。In FIG. 1, an integrated circuit memory device 130 has security features as discussed above.

安全存储器装置130可存储唯一装置秘密101用于其认证。在一个实例中,唯一装置秘密101注入到安全设施中的存储器装置130中并存储在存储器装置130的寄存器中。在另一实例中,唯一装置秘密101可以从存储器装置130的物理不可克隆函数(PUF)获得。唯一装置秘密101可以经由安全设施获得并寄存在安全服务器140中。例如,安全设施可以是存储器装置(例如,130)的制造设施的部分。在存储器装置130制成和/或离开安全设施之后,存储器装置130中的唯一装置秘密101不可经由存储器装置130的任何接口(例如,主机接口147)访问。因此,在存储器装置130的制造之后,如存储器装置130中的唯一装置秘密101密封在存储器装置130的集成电路封装中。唯一装置秘密101的副本在安全服务器140内利用有力的安全措施(例如,使用硬件安全模块(HSM))来保护以防窃用和未经授权的访问。The secure memory device 130 may store the unique device secret 101 for its authentication. In one example, the unique device secret 101 is injected into the memory device 130 in the secure facility and stored in a register of the memory device 130 . In another example, the unique device secret 101 may be obtained from a physical unclonable function (PUF) of the memory device 130 . The unique device secret 101 may be obtained via a secure facility and registered in the secure server 140 . For example, the secure facility may be part of a manufacturing facility for the memory device (eg, 130). The unique device secret 101 in the memory device 130 is not accessible via any interface of the memory device 130 (eg, the host interface 147 ) after the memory device 130 is made and/or left secure. Thus, after fabrication of the memory device 130 , the unique device secret 101 as in the memory device 130 is sealed in the integrated circuit package of the memory device 130 . A copy of the unique device secret 101 is protected against theft and unauthorized access within the secure server 140 using strong security measures (eg, using a hardware security module (HSM)).

存储器装置130包含实施加密引擎107的逻辑电路或本地控制器。加密引擎107可执行加密计算,例如散列、密钥导出、加密和/或解密,而不依赖于存储器装置130之外的处理能力,例如主机系统120的处理装置118。Memory device 130 includes logic circuitry or a local controller that implements encryption engine 107 . Cryptographic engine 107 may perform cryptographic computations, such as hashing, key derivation, encryption and/or decryption, without relying on processing capabilities outside of memory device 130 , such as processing device 118 of host system 120 .

例如,根据装置身份合成引擎(DICE)和稳健物联网(RIoT)标准指定的方法或另一方法,加密密钥105可在启动时间基于唯一装置秘密101和在存储器装置130的存储器单元103中存储和/或获得的装置信息121的组合而生成。装置信息121可包含非秘密数据,它可以通过安全服务器140和存储器装置130之外的实体获得。为了提高安全性,装置信息121可包含时间相关信息。For example, the encryption key 105 may be based on the unique device secret 101 and stored in the memory unit 103 of the memory device 130 at boot time according to a method specified by the Device Identity Composition Engine (DICE) and Robust Internet of Things (RIoT) standards or another method and/or a combination of the obtained device information 121 . Device information 121 may contain non-secret data, which may be obtained by entities other than secure server 140 and memory device 130 . To improve security, the device information 121 may contain time-related information.

例如,加密密钥105可包含两对不对称加密密钥。第一对不对称密钥被称为装置识别密钥;并且第二对不对称密钥被称为别名密钥。私有装置识别密钥用于认证别名密钥的真实性,且因此减少其使用并降低其风险。别名密钥可用于更多事务/通信;并且别名密钥的替换可比装置识别密钥更频繁,以便提高安全性,因为别名密钥的使用频率更高,因此存在风险。例如,私有装置识别密钥可以在启动时间生成并用于对证书进行签名,例如别名公钥的证书;然后,立即从存储器装置130删除私有装置识别密钥以保护其机密性。For example, encryption key 105 may contain two pairs of asymmetric encryption keys. The first pair of asymmetric keys are called device identification keys; and the second pair of asymmetric keys are called alias keys. The private device identification key is used to authenticate the authenticity of the alias key and thus reduce its use and reduce its risk. The alias key can be used for more transactions/communications; and the alias key can be replaced more frequently than the device identification key for increased security, since the alias key is used more frequently and therefore is risky. For example, the private device identification key may be generated at boot time and used to sign a certificate, such as an alias public key certificate; the private device identification key is then immediately deleted from the memory device 130 to protect its confidentiality.

一般来说,使用唯一装置秘密101和装置信息121生成的加密密钥105中的一个可用作将由安全服务器140验证的存储器装置130的秘密和身份。In general, one of the encryption keys 105 generated using the unique device secret 101 and the device information 121 can be used as the secret and identity of the memory device 130 to be verified by the secure server 140 .

例如,存储器装置130的认证可以通过验证存储器装置130具有秘密加密密钥105来执行。存储器装置130中具有秘密加密密钥105可以被视为存储器装置130具有唯一装置秘密101并存储非秘密数据的未篡改版本的证据。For example, authentication of the memory device 130 may be performed by verifying that the memory device 130 has the secret encryption key 105 . Having the secret encryption key 105 in the memory device 130 may be considered evidence that the memory device 130 has the unique device secret 101 and stores an untampered version of the non-secret data.

使用加密引擎107,存储器装置130可证明存储器装置130具有秘密加密密钥105,而无需将秘密加密密钥105和/或唯一装置秘密101传送到存储器装置130之外。例如,存储器装置130可使用秘密加密密钥105对证书或消息进行数字签名,以提供消息的验证码和秘密加密密钥105。当安全服务器140验证验证码成功时,安全服务器140可得出结论:存储器装置130具有秘密加密密钥105且因此具有由唯一装置秘密101表示的身份。Using the encryption engine 107 , the memory device 130 can prove that the memory device 130 has the secret encryption key 105 without transferring the secret encryption key 105 and/or the unique device secret 101 outside the memory device 130 . For example, memory device 130 may digitally sign a certificate or message using secret encryption key 105 to provide a verification code and secret encryption key 105 for the message. When the security server 140 validates the verification code successfully, the security server 140 can conclude that the memory device 130 has the secret encryption key 105 and therefore the identity represented by the unique device secret 101 .

存储器装置130包含可用于从主机系统120接收命令的主机接口147。主机系统的控制器116可向存储器装置130发送命令以请求从存储器单元103读取数据、将数据写入到存储器单元103中、从存储器单元103的一部分擦除数据、修改存储器单元103的一部分中的数据、激活存储器装置130的安全特征、配置与存储器装置130中的安全特征相关的参数等等。命令中的至少一些需要由存储在安全服务器140中的加密密钥106表示的权限。具有可用于对命令进行签名的加密密钥106被认为指示具有请求存储器装置130执行命令的权限。Memory device 130 includes a host interface 147 that may be used to receive commands from host system 120 . The controller 116 of the host system may send commands to the memory device 130 to request to read data from the memory unit 103, write data into the memory unit 103, erase data from a portion of the memory unit 103, modify a portion of the memory unit 103 data, activate security features of memory device 130, configure parameters related to security features in memory device 130, and the like. At least some of the commands require permissions represented by encryption keys 106 stored in secure server 140 . Having the encryption key 106 available to sign the command is considered to indicate authority to request the memory device 130 to execute the command.

存储器装置130包含访问控制器109,其配置成使用加密引擎107验证使用表示与命令相关联的权限的加密密钥106生成的验证码。如果命令接收有有效验证码,那么访问控制器109允许存储器装置130执行命令;否则,命令可被拒绝、忽略或舍弃。The memory device 130 includes an access controller 109 configured to verify, using the encryption engine 107, a verification code generated using an encryption key 106 representing the authority associated with the command. If the command is received with a valid verification code, the access controller 109 allows the memory device 130 to execute the command; otherwise, the command may be rejected, ignored, or discarded.

当制造存储器装置130时,一或多个相关加密密钥105存储于存储器装置130中以向安全服务器140提供所有者权限。使用所有者权限,安全服务器140可对用于在存储器装置130中执行的命令进行签名以激活或撤销激活安全特征、触发作为存储器装置130的身份的秘密加密密钥的替换、替换供访问控制器109用于验证针对存储器单元103的一或多个区域在存储器装置130中执行一或多个命令的权限的加密密钥,等等。When the memory device 130 is manufactured, one or more associated encryption keys 105 are stored in the memory device 130 to provide the security server 140 with owner rights. Using owner rights, secure server 140 may sign commands for execution in memory device 130 to activate or deactivate security features, trigger replacement of a secret encryption key that is the identity of memory device 130, replace for access controller 109 An encryption key for verifying authority to execute one or more commands in memory device 130 for one or more regions of memory unit 103, and so on.

任选地,在认证经授权请求者的身份之后,安全服务器140可使用加密密钥对命令进行签名,以生成命令的验证码或数字签名,使得请求者可以向存储器装置130的主机接口147发送带验证码的命令,使得命令得以在存储器装置130内执行。Optionally, after authenticating the identity of the authorized requestor, the security server 140 may sign the command using an encryption key to generate a verification code or digital signature for the command, which the requestor may send to the host interface 147 of the memory device 130 The command with the verification code enables the command to be executed within the memory device 130 .

任选地,安全服务器140可通过替换存储器装置130中的加密密钥105向实体提供特定权限,或向实体提供表示权限的对应加密密钥106。Optionally, the security server 140 may provide the entity with specific rights by replacing the encryption key 105 in the memory device 130, or provide the entity with the corresponding encryption key 106 representing the rights.

通常,存储器装置130连接到主机系统120以形成例如互联网的通信网络110中的端点150。一般来说,端点150是计算装置。端点150的实例包含个人计算机、移动计算机、个人媒体播放器、平板计算机、智能电话、智能TV、智能扬声器、智能电器、物联网(IoT)装置等。Typically, memory device 130 is connected to host system 120 to form endpoint 150 in communication network 110, such as the Internet. Generally speaking, endpoint 150 is a computing device. Examples of endpoints 150 include personal computers, mobile computers, personal media players, tablet computers, smart phones, smart TVs, smart speakers, smart appliances, Internet of Things (IoT) devices, and the like.

存储器装置130的存储器单元103可提供存储/存储器容量供主机系统120存储用于实施端点150的功能的指令和数据。例如,主机系统120的处理装置118配置成执行从存储器装置130加载的指令以启动和执行操作。Memory unit 103 of memory device 130 may provide storage/memory capacity for host system 120 to store instructions and data for implementing the functions of endpoint 150 . For example, the processing device 118 of the host system 120 is configured to execute instructions loaded from the memory device 130 to initiate and perform operations.

主机系统120可包含网络接口114或另一通信装置,以与客户端服务器141、…、143中的一或多个通信,从而从客户端服务器141、…、143接收服务。The host system 120 may include a network interface 114 or another communication device to communicate with one or more of the client servers 141 , . . . , 143 to receive services from the client servers 141 , . . . , 143 .

从端点150发送到客户端服务器141的服务请求可包含由存储器装置130的加密引擎107生成的身份数据。客户端服务器141可请求安全服务器140验证身份数据中包含的验证码。The service request sent from endpoint 150 to client server 141 may include identity data generated by encryption engine 107 of memory device 130 . The client server 141 may request the security server 140 to verify the verification code contained in the identity data.

除了认证存储器装置130的身份的服务之外,安全服务器140还可提供安全服务以管理操作存储器装置130、配置或改变存储器装置130的安全特征或设置、检测丢失/被盗装置、撤销激活丢失/被盗装置等等的权限。In addition to services to authenticate the identity of memory device 130, security server 140 may also provide security services to manage operating memory device 130, configure or change security features or settings of memory device 130, detect lost/stolen devices, deactivate lost/stolen devices Permissions for stolen devices, etc.

存储器装置130和/或端点150可具有非秘密的唯一识别111。唯一识别111可用于在一群存储器装置和/或端点中唯一地识别存储器装置130和/或端点150。Memory device 130 and/or endpoint 150 may have a non-secret unique identification 111 . Unique identification 111 may be used to uniquely identify memory device 130 and/or endpoint 150 within a group of memory devices and/or endpoints.

例如,存储器装置130的唯一识别111可包含存储器装置130的制造商零件号(MPN)和/或存储器装置130的序列号。例如,存储器装置130的唯一识别111可包含至少部分地基于唯一装置秘密生成的一对不对称加密密钥中的公钥。For example, the unique identification 111 of the memory device 130 may include the manufacturer part number (MPN) of the memory device 130 and/or the serial number of the memory device 130 . For example, the unique identification 111 of the memory device 130 may comprise a public key of a pair of asymmetric encryption keys secretly generated based at least in part on the unique device.

为了认证存储器装置130和/或端点150具有由唯一识别111表示的身份,安全服务器140经由使用存储器装置的秘密加密密钥105签名的消息的验证码验证含有唯一识别111(和其它数据127)的消息。存储器装置130中的秘密加密密钥105使用存储器装置中的唯一装置秘密101生成;并且用于验证使用存储器装置130的秘密加密密钥105签名的验证码的对应加密密钥106在安全服务器140中从对应的唯一装置秘密101生成。To authenticate the memory device 130 and/or the endpoint 150 as having the identity represented by the unique identification 111, the security server 140 verifies the data containing the unique identification 111 (and other data 127) via the verification code of the message signed using the memory device's secret encryption key 105. information. The secret encryption key 105 in the memory device 130 is generated using the unique device secret 101 in the memory device; and the corresponding encryption key 106 used to verify the verification code signed using the secret encryption key 105 of the memory device 130 is in the secure server 140 Generated from the corresponding unique device secret 101 .

用于证明存储器装置130的身份的存储器装置130的秘密加密密钥105可不仅基于唯一装置秘密101而且还基于存储器装置130可访问的装置信息121来生成。The secret encryption key 105 of the memory device 130 used to prove the identity of the memory device 130 may be generated based not only on the unique device secret 101 but also on the device information 121 accessible by the memory device 130 .

例如,装置信息121可包含存储于存储器单元103中的指令和/或数据的散列值。此外,装置信息121可包含存储到存储器单元103中的跟踪数据,用于在组装组件以构建端点150期间个性化/个人化存储器装置130和/或端点150。此外,装置信息121可包含端点150中的其它组件的识别信息,例如控制器116的识别、处理装置118的识别、网络接口114的识别、不存储于存储器装置130中的端点150的额外软件或数据包的识别,和/或配置成控制/操作存储器装置130的固件的识别和/或散列值。在启动时间期间,识别数据可以收集作为用于生成存储器装置130的秘密加密密钥105的装置信息121。For example, device information 121 may include hash values for instructions and/or data stored in memory unit 103 . Additionally, device information 121 may include tracking data stored into memory unit 103 for personalizing/personalizing memory device 130 and/or endpoint 150 during assembly of components to build endpoint 150 . Additionally, device information 121 may include identification information for other components in endpoint 150, such as identification of controller 116, identification of processing device 118, identification of network interface 114, additional software of endpoint 150 not stored in memory device 130, or The identification of the data packet, and/or the identification and/or the hash value of the firmware configured to control/operate the memory device 130 . During startup time, the identification data may be collected as device information 121 used to generate the secret encryption key 105 of the memory device 130 .

在注册过程中,当存储器装置130配置成具有装置信息121时,装置信息121的副本上载到安全服务器140用于与存储器装置130和/或端点150的唯一识别111相关联。装置信息121的注册允许存储器装置130的身份链接到由唯一装置秘密101与装置信息121的组合表示的数据、软件和/或硬件配置。During the registration process, when memory device 130 is configured with device information 121 , a copy of device information 121 is uploaded to secure server 140 for association with unique identification 111 of memory device 130 and/or endpoint 150 . Registration of device information 121 allows the identity of memory device 130 to be linked to the data, software and/or hardware configuration represented by the combination of unique device secret 101 and device information 121 .

图2示出根据一个实施例的集成电路存储器装置中的身份数据的生成。例如,图2的技术可以在图1的计算系统中实施。Figure 2 illustrates the generation of identity data in an integrated circuit memory device according to one embodiment. For example, the technique of FIG. 2 may be implemented in the computing system of FIG. 1 .

在图2中,存储器装置130(例如,如图1中)的加密引擎107用于使用其唯一装置秘密101和装置信息121至少生成秘密密钥137。In FIG. 2 , the encryption engine 107 of the memory device 130 (eg, as in FIG. 1 ) is used to generate at least a secret key 137 using its unique device secret 101 and device information 121 .

例如,当使用不对称加密时,秘密密钥137是加密密钥对135的私钥。相关联的公钥139与私钥一起使用加密引擎107生成。For example, secret key 137 is the private key of encryption key pair 135 when asymmetric encryption is used. The associated public key 139 is generated using the encryption engine 107 along with the private key.

替代地,当使用对称加密时,秘密密钥137可在不具有公钥139且不具有密钥对135的情况下生成和使用。Alternatively, when using symmetric encryption, the secret key 137 may be generated and used without the public key 139 and without the key pair 135 .

在一些实施方案中,生成和使用多个密钥对135。例如,当使用装置身份合成引擎(DICE)和稳健物联网(RIoT)方法时,第一对不对称密钥被称为装置识别密钥;并且第二对不对称密钥被称为别名密钥。私有装置识别密钥可用于认证别名密钥的真实性,然后立即从存储器装置130和/或端点150删除和清除以保护其机密性,特别是在私有装置识别密钥的生成或使用至少部分地发生在主机系统120中时。别名密钥可用于认证其它事务和/或通信。例如,私有装置识别密钥可在启动时间生成并用于对证书进行签名,例如别名公钥的证书,然后删除。在使用将私有装置识别密钥用作秘密密钥137签名的证书验证或确认存储器装置130的身份和公共别名密钥的真实性之后,私有别名密钥就可在后续操作中用作存储器装置130的秘密密钥137,直到端点150重启为止。In some embodiments, multiple key pairs 135 are generated and used. For example, when using Device Identity Synthesis Engine (DICE) and Robust Internet of Things (RIoT) methods, the first pair of asymmetric keys is referred to as device identification keys; and the second pair of asymmetric keys is referred to as alias keys . The private device identification key may be used to authenticate the authenticity of the alias key and then immediately deleted and purged from the memory device 130 and/or endpoint 150 to protect its confidentiality, particularly where the generation or use of the private device identification key is at least partially occurs in the host system 120. Alias keys can be used to authenticate other transactions and/or communications. For example, a private device identification key can be generated at boot time and used to sign a certificate, such as an alias public key certificate, and then deleted. After verifying or confirming the identity of the memory device 130 and the authenticity of the public alias key using a certificate signed using the private device identification key as the secret key 137, the private alias key can be used as the memory device 130 in subsequent operations the secret key 137 until the endpoint 150 reboots.

例如,装置信息121的存储于存储器单元103中的数据123可包含将由连接到存储器装置130的主机接口147的主机系统120的处理装置118执行的一组指令(例如,软件、固件、操作系统、应用程序)。For example, the data 123 of the device information 121 stored in the memory unit 103 may comprise a set of instructions (eg, software, firmware, operating system, application).

例如,数据123可包含所述一组指令的加密散列值。例如,所述一组指令的已知散列值可存储于存储器单元103中;并且所述一组指令的当前散列值可经计算以与已知散列值比较。如果这两个散列值彼此一致,那么所述一组指令的完整性得以验证;并且所述一组指令的完整性的散列值可用作计算秘密密钥137的装置信息121的部分。For example, data 123 may include a cryptographic hash value of the set of instructions. For example, a known hash value for the set of instructions may be stored in memory unit 103; and the current hash value for the set of instructions may be calculated for comparison to the known hash value. If the two hash values agree with each other, the integrity of the set of instructions is verified; and the hash value of the integrity of the set of instructions can be used as part of the device information 121 for computing the secret key 137 .

替代地,存储于存储器单元103中的所述一组指令的当前散列值可在秘密密钥137的计算中直接使用。如果指令已改变(例如,由于数据损坏和/或篡改或窃用),那么安全服务器140对秘密密钥137的验证将失败。Alternatively, the current hash value of the set of instructions stored in memory unit 103 may be used directly in the computation of secret key 137 . If the instructions have changed (eg, due to data corruption and/or tampering or theft), verification of the secret key 137 by the security server 140 will fail.

任选地,数据123可包含所述一组指令的识别,例如指令的源代码的散列值、由指令表示的软件/固件包的名称、包的版本号和/或发放日期等等。Optionally, data 123 may include an identification of the set of instructions, such as a hash value of the source code of the instructions, the name of the software/firmware package represented by the instructions, the version number and/or release date of the package, and the like.

任选地,数据123可包含在构建和/或定制包含存储器装置130的端点150的过程期间存储到存储器单元103中的跟踪数据。例如,当存储器装置130组装到组件装置(例如,存储器子系统)中时,表示组件装置的制造商、组件装置的型号和/或组件装置的序列号的一条跟踪数据存储到存储器单元103中作为装置信息121的部分。随后,当组件装置组装到端点150中时,将一条跟踪数据添加到存储器单元中作为装置信息121的部分。可以将其它跟踪数据添加到存储器单元103中作为装置信息121的部分,以反映用于个性化存储器装置130的身份的存储器装置130的历史。Optionally, data 123 may include trace data stored into memory unit 103 during the process of building and/or customizing endpoint 150 that includes memory device 130 . For example, when memory device 130 is assembled into a component device (eg, memory subsystem), a piece of tracking data representing the manufacturer of the component device, the model number of the component device, and/or the serial number of the component device is stored in memory unit 103 as Part of Device Information 121. Subsequently, when the component device is assembled into the endpoint 150, a piece of trace data is added to the memory cell as part of the device information 121. Additional tracking data may be added to memory unit 103 as part of device information 121 to reflect the history of memory device 130 used to personalize the identity of memory device 130 .

任选地,装置信息121可进一步包含从连接到存储器装置130的主机接口147的主机系统120接收的数据125。Optionally, device information 121 may further include data 125 received from host system 120 connected to host interface 147 of memory device 130 .

例如,端点150可具有主机系统120和存储器装置130。主机系统120中的一些组件可以移除或替换。在启动端点150时,存储在存储器单元103中的指令的一部分经执行以收集关于在启动时间存在于主机系统120中的组件的数据125。因此,装置信息121可表示存储器装置130和/或端点150的软件/数据和硬件组合的特定配置。基于装置信息121和唯一装置秘密101生成的秘密密钥137表示具有所述特定配置的存储器装置130的身份。For example, endpoint 150 may have host system 120 and memory device 130 . Some components in host system 120 may be removed or replaced. Upon startup of endpoint 150, a portion of the instructions stored in memory unit 103 are executed to collect data 125 about components present in host system 120 at startup time. Thus, device information 121 may represent a particular configuration of the software/data and hardware combination of memory device 130 and/or endpoint 150 . The secret key 137 generated based on the device information 121 and the unique device secret 101 represents the identity of the memory device 130 having the specific configuration.

为了证明存储器装置130和/或端点150的身份,加密引擎107从消息131和秘密密钥137生成验证码133。To prove the identity of memory device 130 and/or endpoint 150 , encryption engine 107 generates verification code 133 from message 131 and secret key 137 .

如上文所论述,秘密密钥137和消息131的验证码133可以使用各种技术构造和/或验证,例如散列摘要、数字签名或基于散列的消息认证码、对称加密和/或不对称加密。因此,验证码133不限于特定实施方案。As discussed above, the secret key 137 and the verification code 133 for the message 131 may be constructed and/or verified using various techniques, such as hash digests, digital signatures or hash-based message authentication codes, symmetric encryption, and/or asymmetric encryption. Therefore, the verification code 133 is not limited to a particular implementation.

任选地,消息131可包含用户识别,例如名称、电子邮件地址、注册用户名称或其中生成身份数据113的端点150的所有者或授权用户的另一标识符。Optionally, message 131 may contain user identification, such as a name, email address, registered user name, or another identifier of the owner or authorized user of endpoint 150 where identity data 113 was generated.

任选地,消息131的部分可以加密形式提供信息。例如,信息可以使用安全服务器140的公钥加密,使得信息不可被第三方访问。Optionally, portions of message 131 may provide information in encrypted form. For example, the information may be encrypted using the public key of the secure server 140 so that the information cannot be accessed by third parties.

消息131可以是呈现存储器装置130和/或端点150的唯一识别111的证书。消息131可进一步呈现其它数据127,例如维持在存储器装置130中的计数器值、密码随机数和/或有关身份数据113的验证的其它信息。存储器装置130可单调地增加计数器值,以使具有较低计数器值的身份数据无效,以防重放攻击。The message 131 may be a certificate presenting the memory device 130 and/or the unique identification 111 of the endpoint 150 . Message 131 may further present other data 127 , such as counter values maintained in memory device 130 , cryptographic nonces, and/or other information regarding verification of identity data 113 . Memory device 130 may monotonically increase the counter value to invalidate identity data with lower counter values to prevent replay attacks.

在一些实施方案中,数据127可包含用于生成秘密密钥137的装置信息121的部分。In some implementations, the data 127 may include the portion of the device information 121 used to generate the secret key 137 .

在一些实施方案中,秘密密钥137是一对不对称密钥中的私有别名密钥。数据127包含呈现所述一对不对称密钥中的对应公共别名密钥的证书。呈现公共别名密钥的证书使用存储器装置130的装置识别密钥签名。公共别名密钥可用于验证消息131的验证码133和用作秘密密钥137的私有别名密钥。一旦安全服务器140验证呈现公共别名密钥的证书,所述证书使用存储器装置130的装置识别密钥签名并提供为数据127的部分,安全服务器140就可使用公共别名密钥验证使用私有别名密钥作为秘密密钥137签名的验证码133。在此实施方案中,安全服务器140可使用消息131中提供的公共别名密钥验证验证码133,而不必重新生成所述一对别名密钥;并且存储器装置130可使用安全服务器140尚未知晓的数据生成别名密钥对135。In some embodiments, the secret key 137 is the private alias key of a pair of asymmetric keys. Data 127 includes a certificate presenting the corresponding public alias key of the pair of asymmetric keys. The certificate presenting the public alias key is signed using the device identification key of memory device 130 . The public alias key can be used to authenticate the verification code 133 of the message 131 and the private alias key used as the secret key 137 . Once the security server 140 verifies the certificate presenting the public alias key, signed using the device identification key of the memory device 130 and provided as part of the data 127, the security server 140 can use the public alias key to verify the use of the private alias key Verification code 133 signed as secret key 137 . In this embodiment, security server 140 can use the public alias key provided in message 131 to verify verification code 133 without having to regenerate the pair of alias keys; and memory device 130 can use data not yet known to security server 140 Generate an alias key pair 135.

呈现公共别名密钥的证书可以图2中的方式生成和验证,其中秘密密钥137是使用装置信息121和唯一装置秘密101生成的装置识别密钥。任选地,存储器装置130初始地向安全服务器140提供具有公共别名密钥的证书。随后,存储器装置130可使用私有别名密钥作为秘密密钥137,且消息131中不包含公共别名密钥,或消息131中不包含公共别名密钥的证书。The certificate presenting the public alias key can be generated and verified in the manner in FIG. 2 , where the secret key 137 is a device identification key generated using the device information 121 and the unique device secret 101 . Optionally, memory device 130 initially provides security server 140 with a certificate with a public alias key. The memory device 130 may then use the private alias key as the secret key 137 and either the public alias key is not included in the message 131 , or the certificate for the public alias key is not included in the message 131 .

经签名以生成验证码133的消息131中的数据127可包含质询。例如,为了质询存储器装置130证明它拥有秘密密钥137,可以呈现随机数据项作为要使用秘密密钥137签名的数据127的部分。在一些实施方案中,单调增加的计数器值可用作质询。The data 127 in the message 131 signed to generate the verification code 133 may include a challenge. For example, to challenge memory device 130 to prove that it possesses secret key 137, a random data item may be presented as part of data 127 to be signed using secret key 137. In some embodiments, a monotonically increasing counter value can be used as a challenge.

此外,验证存储器装置130的身份可包含使用多个秘密密钥和用秘密密钥签名的验证码。例如,装置识别秘密密钥可用于初始地建立别名秘密密钥的真实性和存储器装置130的身份;并且随后,别名秘密密钥可用于验证存储器装置130的身份的真实性。一般来说,装置识别秘密密钥和别名秘密密钥可以基于不对称加密或对称加密,因为安全服务器140可生成由存储器装置130生成的对应加密密钥。Additionally, verifying the identity of the memory device 130 may include using multiple secret keys and a verification code signed with the secret keys. For example, the device identification secret key can be used to initially establish the authenticity of the alias secret key and the identity of the memory device 130; and subsequently, the alias secret key can be used to verify the authenticity of the identity of the memory device 130. In general, the device identification secret key and the alias secret key may be based on asymmetric encryption or symmetric encryption, as security server 140 may generate corresponding encryption keys generated by memory device 130 .

为了提高安全性,存储器装置130不使用存储器装置130之外的处理能力来生成秘密密钥137的副本,且不将秘密密钥137传送到存储器装置130之外。秘密密钥137的生成和使用是使用密封在存储器装置130内的加密引擎107的逻辑电路执行的。To improve security, memory device 130 does not use processing power outside of memory device 130 to generate copies of secret key 137 and does not transmit secret key 137 outside of memory device 130 . The generation and use of the secret key 137 is performed using logic circuitry of the encryption engine 107 sealed within the memory device 130 .

替代地,生成和使用秘密密钥137的操作的部分可以经由存储于存储器单元103中且加载到主机系统120的处理装置118中以供执行的一组指令实施。为了提高安全性,秘密密钥137不以明文跨主机接口147传送;并且指令可配置成在生成之后和/或在使用之后从主机系统120清除秘密密钥137。Alternatively, portions of the operations to generate and use the secret key 137 may be implemented via a set of instructions stored in the memory unit 103 and loaded into the processing device 118 of the host system 120 for execution. To improve security, the secret key 137 is not communicated across the host interface 147 in clear text; and the instructions may be configured to clear the secret key 137 from the host system 120 after generation and/or after use.

身份数据113可响应于存储器装置130通电、响应于在主机接口147中接收的请求和/或响应于端点150启动(例如,通过执行存储于存储器单元103中的启动加载程序)而生成。数据127可包含维持在存储器装置130中的计数值。当执行生成身份数据113的操作时,计数值增加。因此,具有某一计数值的某一版本的身份数据113使具有低于所述计数值的计数值的先前版本的身份数据113无效。Identity data 113 may be generated in response to memory device 130 powering up, in response to a request received in host interface 147, and/or in response to endpoint 150 startup (eg, by executing a boot loader stored in memory unit 103). Data 127 may include count values maintained in memory device 130 . When the operation of generating the identity data 113 is performed, the count value is incremented. Thus, a certain version of identity data 113 having a certain count value invalidates a previous version of identity data 113 having a count value lower than said count value.

图3示出根据一个实施例的用于控制存储器装置中的命令执行的技术。例如,图3的技术可以在图1的计算系统中实施并与图2的技术一起使用。3 illustrates a technique for controlling command execution in a memory device, according to one embodiment. For example, the techniques of FIG. 3 may be implemented in the computing system of FIG. 1 and used with the techniques of FIG. 2 .

在图3中,当主机系统120的控制器116向存储器装置130的主机接口147发送命令155时,访问控制器109确定命令155的发送方是否具有请求存储器装置130执行命令155的权限。3, when controller 116 of host system 120 sends command 155 to host interface 147 of memory device 130, access controller 109 determines whether the sender of command 155 has authority to request memory device 130 to execute command 155.

加密密钥145配置成表示权限。命令155的发送方可从加密密钥145和含有命令155的消息151生成验证码153。The encryption key 145 is configured to represent authority. The sender of the command 155 may generate the verification code 153 from the encryption key 145 and the message 151 containing the command 155 .

如上文所论述,加密密钥145和消息151的验证码153可以使用各种技术构造和/或验证,例如散列摘要、数字签名或基于散列的消息认证码、对称加密和/或不对称加密。因此,验证码153不限于特定实施方案。As discussed above, encryption key 145 and verification code 153 for message 151 may be constructed and/or verified using various techniques, such as hash digests, digital signatures or hash-based message authentication codes, symmetric encryption, and/or asymmetric encryption. Therefore, the verification code 153 is not limited to a particular implementation.

访问控制器109使用对应的访问控制密钥149验证命令155的提交给主机接口147的验证码153。访问控制器109使用加密引擎107生成接收到的消息151和接收到的验证码153的验证结果159。基于验证结果159,访问控制器109可选择性地允许命令155在存储器装置130内执行或阻止命令155的执行。The access controller 109 uses the corresponding access control key 149 to verify the verification code 153 of the command 155 submitted to the host interface 147 . The access controller 109 uses the encryption engine 107 to generate a verification result 159 of the received message 151 and the received verification code 153 . Based on the verification result 159 , the access controller 109 may selectively allow the command 155 to execute within the memory device 130 or prevent the execution of the command 155 .

例如,访问控制密钥149可以是存储于存储器装置130中的加密密钥105中的一个。不同的访问控制密钥可用于控制用于执行不同命令和/或用于执行作用于存储器单元103的不同区段的命令的不同权限。For example, the access control key 149 may be one of the encryption keys 105 stored in the memory device 130 . Different access control keys may be used to control different permissions for executing different commands and/or for executing commands that act on different sections of memory unit 103 .

例如,加密密钥145可以存储在安全服务器140中以向安全服务器140提供相关联的权限。For example, encryption key 145 may be stored in secure server 140 to provide security server 140 with associated rights.

在一个实施例中,安全服务器140配置成响应于实体请求验证码153以在存储器装置130中执行命令155而生成代表实体的验证码153。In one embodiment, the security server 140 is configured to generate the verification code 153 on behalf of the entity in response to the entity requesting the verification code 153 to execute the command 155 in the memory device 130 .

任选地,加密密钥145在验证使用秘密密钥137产生的身份数据113的过程中生成;并且在存储器装置130和安全服务器140之间已知的秘密(例如,秘密密钥137)允许会话密钥生成为加密密钥145,用来表示在具有时间限值的通信会话期间在存储器装置130中执行选定命令的权限。任选地,装置通电的时段可用作会话定界符,使得新计数值在下一功率循环期间生成,从而能够生成新的会话密钥。Optionally, encryption key 145 is generated during verification of identity data 113 generated using secret key 137; and a known secret (eg, secret key 137) between memory device 130 and secure server 140 allows the session The key is generated as an encryption key 145 to represent the authority to execute selected commands in the memory device 130 during a time-limited communication session. Optionally, the period of time the device is powered on can be used as a session delimiter, so that a new count value is generated during the next power cycle, enabling new session keys to be generated.

加密密钥145可配置成在验证身份数据113并建立会话密钥之后在短时间内有效。在安全服务器140验证实体有权在存储器装置130中运行命令155之后,安全服务器140可生成验证码153,并将验证码153提供到实体。然后,实体可将消息151和验证码153发送到主机接口147。一旦存储器装置130的访问控制器109使用加密引擎107和访问控制密钥149确定验证码153有效,验证结果159就准许存储器装置130执行接收到的命令155;否则,访问控制器109可拒绝或忽略所接收到的命令155。The encryption key 145 may be configured to be valid for a short time after the identity data 113 is authenticated and the session key is established. After the security server 140 verifies that the entity is authorized to run the command 155 in the memory device 130, the security server 140 may generate a verification code 153 and provide the verification code 153 to the entity. The entity may then send the message 151 and the verification code 153 to the host interface 147 . Once the access controller 109 of the memory device 130 determines that the verification code 153 is valid using the encryption engine 107 and the access control key 149, the verification result 159 permits the memory device 130 to execute the received command 155; otherwise, the access controller 109 may deny or ignore Received command 155.

在另一实施例中,在安全服务器140在存储器装置130中配置访问控制密钥149之后,安全服务器140可向实体提供表示在存储器装置130中执行命令155的权限的加密密钥145。In another embodiment, after the security server 140 configures the access control key 149 in the memory device 130 , the security server 140 may provide the entity with the encryption key 145 representing the authority to execute the command 155 in the memory device 130 .

消息151可包含表示对执行命令155的请求的限制的数据157。The message 151 may contain data 157 representing the restrictions on the request to execute the command 155 .

例如,数据157可包含维持在存储器装置130内的执行计数值,使得针对较低计数生成的验证码无效。For example, data 157 may include an execution count value maintained within memory device 130, rendering verification codes generated for lower counts invalid.

例如,数据157可包含针对执行命令155的请求的特定实例建立的密码随机数,使得验证码153无法重复用于另一实例。For example, data 157 may include a cryptographic random number established for a particular instance of the request to execute command 155 such that verification code 153 cannot be reused for another instance.

例如,数据157可包含其中验证码153有效的时间窗。For example, data 157 may include a time window in which verification code 153 is valid.

例如,数据157可包含其中允许执行命令155的存储器区域的识别。For example, data 157 may include an identification of the memory region in which execution of command 155 is permitted.

例如,数据157可包含允许在存储器装置130中执行命令155的操作类型。For example, data 157 may include the types of operations that allow command 155 to be executed in memory device 130 .

图4示出根据一个实施例的用于验证存储于存储器装置中的数据完整性的技术。例如,图4的技术可用于图1的存储器装置130,并且与图2和/或图3的技术结合使用。4 illustrates a technique for verifying the integrity of data stored in a memory device, according to one embodiment. For example, the techniques of FIG. 4 may be used with the memory device 130 of FIG. 1 and used in conjunction with the techniques of FIGS. 2 and/or 3 .

在图4中,存储器装置130在存储器单元103中不仅存储内容161,而且还存储内容161的散列值163。为确定内容161的完整性状态165,加密引擎107向内容161应用加密散列函数以生成内容161的当前散列值;并且加密引擎107比较当前散列值和所存储的散列值163以确定它们是否相同。如果相同,那么确认所存储的散列值163所需要的内容161的完整性。In FIG. 4 , the memory device 130 stores not only the content 161 but also a hash value 163 of the content 161 in the memory unit 103 . To determine the integrity status 165 of the content 161, the encryption engine 107 applies a cryptographic hash function to the content 161 to generate a current hash value for the content 161; and the encryption engine 107 compares the current hash value to the stored hash value 163 to determine Are they the same. If the same, then the integrity of the content 161 required by the stored hash value 163 is confirmed.

散列值163可以存储为用于生成秘密密钥137以验证存储器装置130的身份的装置信息121的部分。The hash value 163 may be stored as part of the device information 121 used to generate the secret key 137 to verify the identity of the memory device 130 .

内容161和散列值163存储在存储器装置130的不同区段中。访问控制器109提供和/或施行不同水平的权限以访问内容161和散列值163。Content 161 and hash value 163 are stored in different sections of memory device 130 . Access controller 109 provides and/or enforces various levels of permissions to access content 161 and hash value 163 .

例如,端点150的制造商可将内容161存储到存储器单元103中,使得端点150中主机系统120的处理装置118可以在内容161中运行程序或例程以提供端点150的所设计功能。此外,制造商和/或安全服务器140可将散列值163存储到单独区段中以用于完整性检查。端点150的终端用户可访问和使用存储器单元中的内容161,但是无法访问散列值163。如果内容161被损坏或篡改,那么加密引擎107可以检测改变并生成完整性状态165,使访问控制器109阻止内容161的使用。当制造商具有更新版本的内容161(或替换)时,制造商可在存储器单元103中执行更新,并发出带验证码153的命令155以更新散列值163。任选地,安全服务器140可响应于来自制造商的请求而生成验证码153。For example, a manufacturer of endpoint 150 may store content 161 into memory unit 103 so that processing device 118 of host system 120 in endpoint 150 may run programs or routines in content 161 to provide endpoint 150 designed functionality. Additionally, the manufacturer and/or security server 140 may store the hash value 163 in a separate section for integrity checking. An end user of endpoint 150 can access and use the content 161 in the memory unit, but cannot access the hash value 163 . If the content 161 is damaged or tampered with, the encryption engine 107 can detect the change and generate an integrity status 165, causing the access controller 109 to prevent the use of the content 161. When the manufacturer has an updated version of the content 161 (or a replacement), the manufacturer can perform the update in the memory unit 103 and issue a command 155 with a verification code 153 to update the hash value 163 . Optionally, the security server 140 may generate the verification code 153 in response to a request from the manufacturer.

存储器装置130中的装置信息121和加密密钥105可以存储在存储器装置130中的安全区段中,并经由访问控制器109通过表示为存储在安全服务器140中的加密密钥106的所有者权限受保护。The device information 121 and encryption key 105 in the memory device 130 may be stored in a secure section in the memory device 130 and passed via the access controller 109 through the owner rights represented as the encryption key 106 stored in the secure server 140 protected.

不同秘密(例如,唯一装置秘密101、秘密密钥137)和内容(例如,装置信息121、内容161)可以不同安全等级和/或使用用来平衡安全性和实用性的不同安全策略受保护。Different secrets (eg, unique device secret 101, secret key 137) and content (eg, device information 121, content 161) may be protected at different security levels and/or using different security policies to balance security and utility.

唯一装置秘密101可在存储器装置130中以最高安全等级受保护。例如,一旦存储器装置130离开存储器装置的制造安全设施和/或在完成存储器装置130的制造操作之后,唯一装置秘密101不可经由去往主机接口147(和/或存储器装置130的任何接口)的命令改变。优选地,唯一装置秘密101在用于表示存储器装置130和/或端点150的身份的秘密密钥(例如,137)的生成期间仅可由加密引擎107访问。例如,唯一装置秘密101可配置成在端点150启动时仅在有限时间内可用。Unique device secret 101 may be protected in memory device 130 with the highest level of security. For example, the unique device secret 101 is not available via commands to the host interface 147 (and/or any interface of the memory device 130 ) once the memory device 130 leaves the memory device's manufacturing security facility and/or after a manufacturing operation of the memory device 130 is completed. Change. Preferably, the unique device secret 101 is only accessible by the encryption engine 107 during the generation of the secret key (eg, 137 ) used to represent the identity of the memory device 130 and/or the endpoint 150 . For example, the unique device secret 101 may be configured to be available only for a limited time when the endpoint 150 starts up.

例如,装置识别密钥可经由最小化其使用而受保护。别名识别密钥的安全性比装置识别密钥更高,替换频率也更高。不同的操作和/或权限可用于替换装置识别密钥和别名识别密钥。For example, the device identification key can be protected by minimizing its use. Alias identification keys are more secure than device identification keys and are replaced more frequently. Different operations and/or permissions may be used to replace the device identification key and alias identification key.

图5示出根据一个实施例的基于在存储器装置中实施的安全特征提供给客户端服务器的安全服务器的安全服务。Figure 5 illustrates security services provided to a client server's security server based on security features implemented in a memory device, according to one embodiment.

例如,图5中所示的安全服务可以基于图2、3和/或4中所示的安全特征在图1的计算系统中实施。For example, the security services shown in FIG. 5 may be implemented in the computing system of FIG. 1 based on the security features shown in FIGS. 2 , 3 and/or 4 .

在图5中,客户端服务器141配置成将服务提供到计算装置,例如图1中的具有连接到主机系统120的存储器装置130的端点150。In FIG. 5 , client server 141 is configured to provide services to a computing device, such as endpoint 150 in FIG. 1 having memory device 130 connected to host system 120 .

为了向客户端服务器141请求服务,主机系统120(例如,运行从存储器装置130检索的指令)请求存储器装置130的身份数据113。例如,身份数据113可以图2中示出的方式生成。To request a service from client server 141 , host system 120 (eg, executing instructions retrieved from memory device 130 ) requests identity data 113 of memory device 130 . For example, identity data 113 may be generated in the manner shown in FIG. 2 .

主机系统120将身份数据113嵌入在传输到客户端服务器141的请求171中。Host system 120 embeds identity data 113 in request 171 transmitted to client server 141 .

为了确定端点150是否有权受到服务,客户端服务器141从请求171提取身份数据113并生成针对安全服务器140基于身份数据113提供安全服务的请求173。To determine whether endpoint 150 is entitled to be serviced, client server 141 extracts identity data 113 from request 171 and generates a request 173 for security server 140 to provide security services based on identity data 113 .

安全服务器140可执行身份数据113的验证,确定存储器装置130和/或端点150的真实性,并在响应174中向客户端服务器141提供结果。基于结果,客户端服务器141可向主机系统120提供响应172。Security server 140 may perform verification of identity data 113 , determine the authenticity of memory device 130 and/or endpoint 150 , and provide the result to client server 141 in response 174 . Based on the results, client server 141 may provide response 172 to host system 120 .

例如,响应174可指示身份数据113是来自仿冒装置,还是来自其中与端点150和/或存储器装置130的身份相关的数据123或内容161已经更改、损坏、改变或篡改的装置,还是来自丢失或被盗装置。For example, response 174 may indicate whether identity data 113 came from a counterfeit device, from a device in which data 123 or content 161 related to the identity of endpoint 150 and/or memory device 130 has been altered, corrupted, altered, or tampered with, or from a lost or Stolen device.

在一些实施方案中,请求173可识别要在存储器装置130中执行的命令155。在验证身份数据113并验证客户端服务器141和/或端点150请求命令155在存储器装置130内执行的权限之后,安全服务器140可使用加密密钥145生成命令155的验证码153,并在响应174中将验证码153提供到客户端服务器141。使用安全服务,客户端服务器141可以从与权限和表示权限的加密密钥145的管理相关联的安全负担中解脱出来。In some implementations, the request 173 may identify the command 155 to be executed in the memory device 130 . After verifying the identity data 113 and verifying the client server 141 and/or endpoint 150 permission to request the command 155 to execute within the memory device 130 , the security server 140 may use the encryption key 145 to generate a verification code 153 for the command 155 and in response 174 The verification code 153 is provided to the client server 141. Using security services, client server 141 may be relieved from the security burden associated with the management of rights and encryption keys 145 representing rights.

任选地,响应174可包含表示在存储器装置130中执行命令155的权限的加密密钥145。为了减小客户端服务器141的安全负担,加密密钥145可配置成在短时间内到期。Optionally, response 174 may include encryption key 145 representing authority to execute command 155 in memory device 130 . To reduce the security burden on the client server 141, the encryption key 145 may be configured to expire within a short period of time.

任选地,当确定身份数据113与丢失或被盗装置相关联时,响应174可包含命令155和/或其验证码153,使得当命令155在存储器装置130中执行时,访问控制器109可以停用主机系统120可经由主机接口147访问的至少一些特征。Optionally, when the identity data 113 is determined to be associated with a lost or stolen device, the response 174 may include the command 155 and/or its verification code 153 so that when the command 155 is executed in the memory device 130, the access controller 109 may At least some features accessible by host system 120 via host interface 147 are disabled.

例如,在存储器装置130中执行命令155之后,访问控制器109可配置成停用存储于存储器装置130的存储器单元103中的启动加载程序。For example, upon execution of command 155 in memory device 130 , access controller 109 may be configured to disable a bootloader stored in memory unit 103 of memory device 130 .

例如,命令155可使访问控制器109阻止对存储器单元103的一或多个区段的访问。For example, command 155 may cause access controller 109 to block access to one or more sections of memory cell 103 .

例如,命令155可使访问控制器109需要权限来访问存储器单元103的一或多个区段,所述权限由存储在安全服务器140中的新加密密钥106表示。For example, command 155 may cause access controller 109 to require permissions to access one or more sections of memory unit 103 , as represented by new encryption keys 106 stored in secure server 140 .

例如,命令155可使访问控制器109通过清除用于解密存储在存储器单元的一或多个区段中的数据的解密密钥来破坏所述一或多个区段中的数据。For example, command 155 may cause access controller 109 to destroy data in one or more sectors of the memory unit by clearing the decryption key used to decrypt the data in the one or more sectors.

例如,命令155可使存储器装置130执行自我毁坏,并不可逆地受损。For example, command 155 may cause memory device 130 to perform self-destruction, irreversibly damaged.

从存储器单元103检索以在主机系统120中执行的指令可包含可接受命令155作为对存储器装置130提供身份数据113的响应的例程。在一些实施方案中,客户端服务器141可提供允许安全服务器140向存储器装置130发送命令155以供执行的连接。Instructions retrieved from memory unit 103 for execution in host system 120 may include routines that accept command 155 as a response to memory device 130 providing identity data 113 . In some implementations, client server 141 may provide a connection that allows secure server 140 to send commands 155 to memory device 130 for execution.

上文所论述的技术可用于实施认证服务订户的新方式。The techniques discussed above can be used to implement new ways of authenticating service subscribers.

例如,存储器装置130可配置成以改进的安全性生成端点150的多因子装置平台身份。身份可通过组合以下来生成:存储器装置130的唯一装置秘密101、识别在端点150上运行以建立到服务或网络(例如,客户端服务器141或143)的安全连接的一或多个应用程序的平台源代码,和网络接口114或通信装置的唯一标识符。例如,唯一标识符可以是安装于端点150上以通过通信网络110通信的调制解调器的标识符。例如,多因子装置平台身份可至少部分地基于配置成访问蜂窝服务的端点150的国际移动设备身份(IMEI)编号。例如,当端点150涉及车辆时,多因子装置平台身份可至少部分地基于车辆识别号(VIN)。此类有力的身份可在登入、云服务(例如蜂窝订阅服务)的网络访问和注册中与基于云的订户身份模块(SIM)函数结合使用。For example, memory device 130 may be configured to generate a multi-factor device platform identity for endpoint 150 with improved security. The identity may be generated by combining: the unique device secret 101 of the memory device 130, identification of one or more applications running on the endpoint 150 to establish a secure connection to a service or network (eg, client server 141 or 143) Platform source code, and a unique identifier for the network interface 114 or communication device. For example, the unique identifier may be the identifier of a modem installed on endpoint 150 to communicate over communication network 110 . For example, the multi-factor device platform identity may be based, at least in part, on the International Mobile Equipment Identity (IMEI) number of the endpoint 150 configured to access cellular service. For example, when the endpoint 150 relates to a vehicle, the multi-factor device platform identity may be based, at least in part, on a vehicle identification number (VIN). Such strong identities can be used in conjunction with cloud-based Subscriber Identity Module (SIM) functions in login, network access and registration for cloud services (eg, cellular subscription services).

安全服务器140和存储器装置(例如,130)的安全特征可提供安全存储器装置技术平台。平台可配置成通过测量存储在安全存储器装置(例如,130)的存储器单元103中的数据来支持端点150的认证。端点的额外网络安全保护可以通过控制对存储在存储器装置(例如,130)中的内容161的访问来实现。访问控制可以通过安全硬件制造操作和基于密码的许可控制来实施,如上文结合图1到5所论述。配备有此类存储器装置(例如,130)的平台可到达足够的网络安全保护等级,以支持基于云的虚拟SIM解决方案并且不再需要端点150上的物理SIM卡访问蜂窝连接。The security features of the secure server 140 and memory device (eg, 130) may provide a secure memory device technology platform. The platform may be configured to support authentication of endpoint 150 by measuring data stored in memory unit 103 of a secure memory device (eg, 130). Additional network security protection of endpoints may be achieved by controlling access to content 161 stored in a memory device (eg, 130). Access control may be implemented through secure hardware manufacturing operations and password-based permission controls, as discussed above in connection with FIGS. 1-5 . A platform equipped with such a memory device (eg, 130) can achieve a sufficient level of network security protection to support cloud-based virtual SIM solutions and no longer require a physical SIM card on endpoint 150 to access cellular connections.

安全存储器装置技术平台可包含安全存储器装置(例如,130)和满足DICE RIoT要求的软件的组合,用于生成使用安全存储器装置启动的端点(例如,150)的身份数据113。端点150的此类身份数据113基于用于启动端点150的安全存储器装置130的身份和其它因素生成。此类身份数据113可以在登入(例如,注册服务)期间传递到客户端服务器141上。客户端服务器141可与安全服务器140通信以确认端点150的身份。当身份数据113被验证时,客户端服务器141可信任端点150为真实的,且因此向端点150注册服务。The secure memory device technology platform may include a combination of secure memory devices (eg, 130 ) and software that meets DICE RIoT requirements for generating identity data 113 for endpoints (eg, 150 ) initiated using the secure memory device. Such identity data 113 for endpoint 150 is generated based on the identity of the secure memory device 130 used to initiate endpoint 150 and other factors. Such identity data 113 may be passed on to client server 141 during login (eg, registering for a service). Client server 141 may communicate with security server 140 to confirm the identity of endpoint 150 . When the identity data 113 is verified, the client server 141 can trust the endpoint 150 to be authentic and register the service with the endpoint 150 accordingly.

例如,此类服务可以是通常注册到物理SIM卡的蜂窝连接。由安全存储器装置技术平台验证并通过安全登入保护的身份数据113可以以与使用物理SIM卡识别端点一样安全或更安全的方式提供端点(例如,150)的识别。基于云的虚拟SIM可以绑定到安全存储器装置技术平台在服务订阅生命周期内验证的身份数据113。For example, such a service could be a cellular connection that is usually registered to a physical SIM card. Identity data 113 authenticated by the secure memory device technology platform and protected by secure login may provide identification of endpoints (eg, 150 ) in a manner that is as secure or more secure as identification of endpoints using a physical SIM card. The cloud-based virtual SIM can be bound to identity data 113 that the secure memory device technology platform verifies during the service subscription life cycle.

通常,服务网络(例如,支付卡网络、蜂窝通信网络)可经由智能卡识别订户。传统智能卡被配置为嵌入在塑料卡中的集成电路芯片。智能卡中的集成电路芯片存储识别客户账户的数据,并且可以任选地存储与服务网络向账户提供的服务有关的数据。集成电路芯片可以通过配置在塑料卡和/或无线收发器的表面区域上的金属触点读取。Typically, service networks (eg, payment card networks, cellular communication networks) can identify subscribers via smart cards. Traditional smart cards are configured as integrated circuit chips embedded in plastic cards. An integrated circuit chip in the smart card stores data identifying the customer's account and, optionally, data related to services provided to the account by the service network. The integrated circuit chip can be read by means of metal contacts arranged on the surface area of the plastic card and/or the wireless transceiver.

例如,订户识别模块(SIM)(也被称为SIM卡)是一种智能卡。SIM卡通常用于移动电话中,以识别用于访问蜂窝通信网络服务的账户。当SIM卡附接到移动电话时,蜂窝通信网络根据SIM卡所识别的账户向移动电话提供服务。当SIM卡附接到替换移动电话时,替换移动电话可以访问为账户配置的服务。For example, a Subscriber Identity Module (SIM) (also known as a SIM card) is a type of smart card. SIM cards are commonly used in mobile phones to identify accounts used to access cellular communication network services. When the SIM card is attached to the mobile phone, the cellular communication network provides services to the mobile phone according to the account identified by the SIM card. When the SIM card is attached to the replacement mobile phone, the replacement mobile phone can access the services configured for the account.

例如,SIM卡可存储移动订户身份,例如国际移动订户身份(IMSI)编号。移动/蜂窝网络运营商可以为IMSI编号和SIM卡分配认证密钥。SIM卡存储认证密钥。可以基于使用认证密钥签名的数字签名对SIM卡进行认证。在对SIM卡进行认证之后,具有SIM卡的移动电话可以在与移动订户身份相关联的账户中接收移动/蜂窝服务。For example, a SIM card may store a mobile subscriber identity, such as an International Mobile Subscriber Identity (IMSI) number. Mobile/cellular network operators can assign authentication keys to IMSI numbers and SIM cards. The SIM card stores the authentication key. The SIM card may be authenticated based on a digital signature signed with an authentication key. After the SIM card is authenticated, the mobile phone with the SIM card can receive mobile/cellular services in the account associated with the mobile subscriber identity.

Europay MasterCard Visa(EMV)卡是智能卡的另一实例。EMV卡可用于在支付卡处理网络中接收金融服务,以访问银行账户,如借记账户和信用账户。The Europay MasterCard Visa (EMV) card is another example of a smart card. EMV cards can be used to receive financial services in payment card processing networks to access bank accounts such as debit and credit accounts.

集成电路存储器装置130可配置成防止对其存储器单元103的未经授权的访问,并确保存储器装置130本身和/或安装了存储器装置130的端点150的唯一身份。如图6所示,具有安全特征的安全存储器装置130可用于使用远程供应给安全存储器装置的数据和/或使用存储在安全服务器中的数据来实施诸如SIM卡和EMV卡等智能卡的功能。The integrated circuit memory device 130 may be configured to prevent unauthorized access to its memory cells 103 and to ensure the unique identity of the memory device 130 itself and/or the endpoint 150 on which the memory device 130 is installed. As shown in Figure 6, a secure memory device 130 with security features may be used to implement smart card functions such as SIM cards and EMV cards using data supplied remotely to the secure memory device and/or using data stored in a secure server.

图6示出根据一个实施例的用于配置和认证基于卡的服务的端点的系统和方法。6 illustrates a system and method for configuring and authenticating endpoints for card-based services, according to one embodiment.

例如,图6的系统和方法可以使用图2到5的技术在图1的计算系统中实施。For example, the system and method of FIG. 6 may be implemented in the computing system of FIG. 1 using the techniques of FIGS. 2-5.

在图6中,存储器装置130可以使用具有图1到5的安全特征的集成电路存储器装置130实施。存储器装置130的访问控制器109可使用一或多个访问控制密钥213来控制访问存储器装置130中的至少一些存储器区域的读取和写入操作。In FIG. 6, memory device 130 may be implemented using integrated circuit memory device 130 having the security features of FIGS. 1-5. Access controller 109 of memory device 130 may use one or more access control keys 213 to control read and write operations that access at least some memory regions in memory device 130 .

例如,存储器装置130初始地制造有访问控制密钥213,允许安全服务器140能够完整访问存储器装置130中的存储器区域。存储器装置130进一步制造成包含在一群存储器装置中唯一地识别存储器装置130的装置身份数据211的至少一部分。For example, the memory device 130 is initially manufactured with an access control key 213 , allowing the secure server 140 to have full access to memory areas in the memory device 130 . The memory device 130 is further fabricated to contain at least a portion of the device identity data 211 that uniquely identifies the memory device 130 within a group of memory devices.

例如,装置身份数据211可使用图2中示出的技术生成。For example, device identity data 211 may be generated using the techniques shown in FIG. 2 .

例如,在存储器装置130的制造期间,在存储器注册231的操作中将存储器装置130的根秘密(例如,唯一装置秘密101)加载到安全服务器140中。根秘密可以是由存储器装置130的物理不可克隆函数(PUF)生成的数字,或者是在存储器装置130的制造期间选择并存储到存储器装置130中的随机数。安全服务器140可包含配置成管理安全存储器装置(例如,130)的加密密钥的密钥管理服务器。根密钥可被视为和/或用作秘密加密密钥。当制造存储器装置130时,可以从存储器装置130获得根秘密,或者将根秘密注入存储器装置130以用于存储器注册231。优选地,存储器装置130的制造使得在其制造之后,存储器装置130不在存储器装置130之外提供根秘密。For example, the root secret of memory device 130 (eg, unique device secret 101 ) is loaded into secure server 140 in an operation of memory registration 231 during manufacture of memory device 130 . The root secret may be a number generated by a physical unclonable function (PUF) of the memory device 130 , or a random number selected and stored into the memory device 130 during manufacture of the memory device 130 . Secure server 140 may include a key management server configured to manage encryption keys for secure storage devices (eg, 130). The root key can be considered and/or used as a secret encryption key. When the memory device 130 is manufactured, the root secret may be obtained from the memory device 130 or injected into the memory device 130 for use in the memory registration 231 . Preferably, the memory device 130 is manufactured such that the memory device 130 does not provide the root secret outside the memory device 130 after its manufacture.

装置身份数据211可以是不在存储器装置130之外公开、改变和提供的根秘密。Device identity data 211 may be a root secret that is not disclosed, changed, and provided outside of memory device 130 .

在存储器装置130离开制造设施之后,装置身份数据211中的根秘密和其它秘密不可经由存储器装置130的通信接口(例如,主机接口147)获取。因为存储器装置130施行一组数据访问策略来防止秘密泄漏和存储在存储器装置130的访问受保护区域中的数据篡改,存储器装置130可被视为安全存储器装置。安全服务器140存储可模仿由存储器装置130执行以独立于存储器装置130生成派生秘密的计算的信息。因此,安全服务器140可重新生成存储器装置130的派生秘密,而无需存储器装置130经由其通信接口(例如,主机接口147)传送派生秘密。After the memory device 130 leaves the manufacturing facility, the root secret and other secrets in the device identity data 211 are not available via the communication interface of the memory device 130 (eg, the host interface 147 ). Memory device 130 may be considered a secure memory device because memory device 130 enforces a set of data access policies to prevent leakage of secrets and tampering of data stored in access protected areas of memory device 130 . Security server 140 stores information that can emulate computations performed by memory device 130 to generate a derived secret independently of memory device 130 . Thus, secure server 140 can regenerate the derived secret for memory device 130 without requiring memory device 130 to transmit the derived secret via its communication interface (eg, host interface 147).

例如,存储器装置130的根秘密可以经由物理不可克隆函数(PUF)实施。存储器装置130的根秘密可以从存储器装置130检索并存储到安全服务器140中以用于存储器装置130制造期间的存储器注册231。根秘密可用于从装置身份数据211生成派生秘密。例如,PUF可用于导出迪菲-赫尔曼(Diffie Hellman)密钥对;并且迪菲-赫尔曼密钥对可用于创建可在装置和安全服务器之间安全共享的唯一装置秘密(UDS)101。For example, the root secret of memory device 130 may be implemented via a Physical Unclonable Function (PUF). The root secret of memory device 130 may be retrieved from memory device 130 and stored in secure server 140 for memory registration 231 during memory device 130 manufacturing. The root secret may be used to generate derived secrets from the device identity data 211 . For example, a PUF can be used to derive a Diffie-Hellman key pair; and a Diffie-Hellman key pair can be used to create a Unique Device Secret (UDS) that can be securely shared between a device and a secure server 101.

例如,装置身份数据211可使用图2的技术生成。For example, device identity data 211 may be generated using the techniques of FIG. 2 .

派生秘密以某一方式(例如,基于加密散列函数、随机数和/或单调计数值)生成,使得根秘密无法从派生秘密和/或用于生成派生秘密的其它信息计算出。例如,派生秘密可包含一对不对称加密密钥的私钥。例如,派生秘密可包含对称加密密钥。The derived secret is generated in a manner (eg, based on a cryptographic hash function, random numbers, and/or monotonic count values) such that the root secret cannot be calculated from the derived secret and/or other information used to generate the derived secret. For example, the derived secret may contain the private key of a pair of asymmetric encryption keys. For example, the derived secret may contain a symmetric encryption key.

装置身份数据211可包含存储器装置130的非秘密公共识别号,例如存储器装置130的序列号、存储器装置130的唯一识别号和/或一对不对称加密密钥的公钥等等。公开识别号可用于在一群存储器装置中唯一地识别存储器装置130,而不泄露存储器装置130的秘密;并且存储器装置130的秘密可用于认证/确认存储器装置130是由公共识别号识别的。Device identity data 211 may include a non-secret public identification number of memory device 130, such as a serial number of memory device 130, a unique identification number of memory device 130, and/or the public key of a pair of asymmetric encryption keys, among others. The public identification number can be used to uniquely identify the memory device 130 within a group of memory devices without revealing the secret of the memory device 130; and the secret of the memory device 130 can be used to authenticate/confirm that the memory device 130 is identified by the public identification number.

在存储器装置130离开制造设施之后,可以生成和/或替换装置身份数据211中的派生秘密。访问控制密钥213可用于控制生成和/或替换派生秘密以防篡改的操作的执行。例如,派生秘密可包含根据装置身份合成引擎(DICE)标准生成的加密密钥和/或证书。The derived secret in the device identity data 211 may be generated and/or replaced after the memory device 130 leaves the manufacturing facility. Access control keys 213 may be used to control the performance of operations that generate and/or replace derived secrets to prevent tampering. For example, the derived secret may include encryption keys and/or certificates generated according to the Device Identity Composition Engine (DICE) standard.

在存储器注册231期间,至少存储器装置130的根秘密与存储器装置130的公共识别号相关联地存储到安全服务器140中。在存储器装置130的制造过程中,存储器装置130的根秘密在安全环境中在存储器注册231期间在存储器装置130和安全服务器140之间是已知的。随后,用于生成派生秘密的额外信息可以公开,而不损害派生秘密的保密性。派生秘密可用于存储器装置130的认证,并且可任选地替换。During memory registration 231, at least the root secret of memory device 130 is stored in secure server 140 in association with the public identification number of memory device 130. During manufacture of memory device 130, the root secret of memory device 130 is known between memory device 130 and secure server 140 during memory registration 231 in the secure environment. Subsequently, the additional information used to generate the derived secret can be disclosed without compromising the confidentiality of the derived secret. The derived secret may be used for authentication of the memory device 130, and may optionally be replaced.

访问控制密钥213配置成防止对装置身份数据211中的秘密的未授权访问和/或操作。例如,一旦访问控制密钥213配置于存储器装置130中,秘密就限于供加密引擎107使用(例如,重新生成派生秘密和/或生成数字签名)。例如,在存储器装置130的主机接口147中接收的命令/请求需要以能够使用访问控制密钥213验证的方式进行数字签名,如图3中所示。如果应用在命令/请求上的数字签名根据访问控制密钥213无效,那么命令/请求可被拒绝和/或忽略。Access control keys 213 are configured to prevent unauthorized access and/or manipulation of secrets in device identity data 211 . For example, once the access control key 213 is configured in the memory device 130, the secret is limited for use by the encryption engine 107 (eg, to regenerate a derived secret and/or generate a digital signature). For example, commands/requests received in the host interface 147 of the memory device 130 need to be digitally signed in a manner that can be verified using the access control key 213, as shown in FIG. 3 . If the digital signature applied on the command/request is invalid according to the access control key 213, the command/request may be rejected and/or ignored.

例如,访问控制密钥213可用于认证应用在命令上的数字签名以执行与装置身份数据211有关的特定操作,例如替换加密密钥或不对称加密密钥对。For example, the access control key 213 may be used to authenticate a digital signature applied on a command to perform a particular operation related to the device identity data 211, such as replacing an encryption key or asymmetric encryption key pair.

此外,一或多个额外访问控制密钥213可用于认证存储器装置130的所有者和/或经授权用户的数字签名。不同的经授权用户可限于访问存储器装置的不同区域进行特定操作(例如,写入、擦除、读取)。所有者和其他经授权用户可具有不同的范围和/或权限来操作存储器装置130。Additionally, one or more additional access control keys 213 may be used to authenticate the digital signature of the owner and/or authorized user of memory device 130 . Different authorized users may be restricted to accessing different areas of the memory device for certain operations (eg, writing, erasing, reading). Owners and other authorized users may have different scopes and/or permissions to operate memory device 130 .

安全服务器140可配置为存储器装置130的初始所有者。例如,安全服务器140的公钥可初始地存储于存储器装置130中作为所有者访问控制密钥213,以提供针对使用安全服务器140的私钥签名的命令的所有者权限。在存储器装置130递送到客户之后,客户的公钥可以存储为所有者访问控制密钥213的替代,以将所有者权限转移到客户。Security server 140 may be configured as the initial owner of memory device 130 . For example, the public key of secure server 140 may be initially stored in memory device 130 as owner access control key 213 to provide owner rights for commands signed using secure server 140's private key. After the memory device 130 is delivered to the client, the client's public key may be stored as a substitute for the owner access control key 213 to transfer owner rights to the client.

任选地,存储器装置130的特定安全功能可为客户激活。与安全功能的激活有关的存储器装置130的一些方面可见于2020年9月8日提交且标题为“半导体装置中的功能的客户特定激活”的第17/014,203号美国专利申请,所述申请的全部公开内容由此以引用的方式并入本文中。Optionally, certain security features of memory device 130 may be customer activated. Some aspects of memory device 130 related to activation of security functions can be found in US Patent Application No. 17/014,203, filed September 8, 2020, and entitled "Customer-Specific Activation of Functions in Semiconductor Devices," the application's The entire disclosure is hereby incorporated herein by reference.

端点150可构造成包含存储器装置130和其它组件187。在端点150的构造233期间,存储器装置130安装/组装到端点150中;并且软模块217和跟踪数据215可以存储到存储器装置130中。Endpoint 150 may be configured to include memory device 130 and other components 187 . During construction 233 of endpoint 150, memory device 130 is installed/assembled into endpoint 150; and soft modules 217 and trace data 215 may be stored into memory device 130.

例如,软模块217可包含端点150的启动加载程序、存储器装置130和/或含有存储器装置130的存储器子系统的固件或端点150的操作系统或软件应用程序。软模块217可包含配置成实施功能的指令和数据。指令可由存储器装置130的逻辑电路、安装了存储器装置130的存储器子系统的控制器和/或存储器装置130和/或存储器子系统的主机系统120的处理装置118执行。For example, soft module 217 may include a boot loader for endpoint 150 , the firmware of memory device 130 and/or a memory subsystem containing memory device 130 , or an operating system or software application for endpoint 150 . Soft modules 217 may contain instructions and data configured to implement functions. The instructions may be executed by logic circuitry of memory device 130, a controller of a memory subsystem in which memory device 130 is installed, and/or processing device 118 of memory device 130 and/or host system 120 of memory subsystem.

在端点构造233期间,端点注册235可经执行以将跟踪数据215存储到安全服务器140和/或存储器装置130中。跟踪数据215可以作为端点150的配置和/或身份的部分。During endpoint construction 233 , endpoint registration 235 may be performed to store tracking data 215 into secure server 140 and/or memory device 130 . The tracking data 215 may be part of the configuration and/or identity of the endpoint 150 .

例如,跟踪数据215可包含使用加密散列函数计算的软模块217的散列值。例如,跟踪数据215可包含分配给端点150的秘密。For example, trace data 215 may include a hash value of soft module 217 computed using a cryptographic hash function. For example, tracking data 215 may contain secrets assigned to endpoints 150 .

端点150的仿冒品不具有跟踪数据215,它无法通过依赖于跟踪数据215的端点认证239。因此,系统的安全性有所提高。与跟踪数据215有关的技术的其它细节和实例可见于2020年8月28日提交且标题为“用于主机装置验证的安全存储器系统编程”的第17/005,565号美国专利申请,所述申请的全部公开内容由此以引用的方式并入本文中。The counterfeit of endpoint 150 does not have tracking data 215, and it cannot pass endpoint authentication 239 that relies on tracking data 215. Therefore, the security of the system is improved. Additional details and examples of techniques related to tracking data 215 can be found in US Patent Application Serial No. 17/005,565, filed August 28, 2020, and entitled "Secure Memory System Programming for Host Device Authentication," the application's The entire disclosure is hereby incorporated herein by reference.

端点身份数据188可使用图2的技术生成,以表示端点150在其启动时间的配置。例如,端点身份数据188可包含基于装置身份数据211的一部分、跟踪数据215和在启动端点150时存在的其它组件(例如,网络接口114、处理装置118、控制器116)的识别数据的组合生成的证书(例如,消息131)。Endpoint identity data 188 may be generated using the techniques of FIG. 2 to represent the configuration of endpoint 150 at its startup time. For example, endpoint identity data 188 may include generated based on a combination of a portion of device identity data 211 , tracking data 215 , and identifying data of other components (eg, network interface 114 , processing device 118 , controller 116 ) that were present when endpoint 150 was activated certificate (eg, message 131).

装置身份数据211和/或端点身份数据188可包含根据由可信计算小组(TCG)开发的标准使用装置身份合成引擎(DICE)生成的一或多个证书,所述标准组合硬件秘密和源代码形成了可信身份。用于生成装置身份的技术的其它细节和实例可见于2019年4月4日提交的标题为“用于生成装置身份以利用远程服务器认证的安全装置上的登入软件”且于2020年10月8日公布为第2020/0322134号美国专利申请公开案的第16/374,905号美国专利申请,所述申请的全部公开内容由此以引用的方式并入本文中。The device identity data 211 and/or the endpoint identity data 188 may include one or more certificates generated using the Device Identity Composition Engine (DICE) according to standards developed by the Trusted Computing Group (TCG) that combine hardware secrets and source code A trusted identity is formed. Additional details and examples of techniques used to generate device identities can be found in the submission on April 4, 2019 entitled "Logon Software on Secure Devices for Generating Device Identity to Utilize Remote Server Authentication" and filed on October 8, 2020 US Patent Application No. 16/374,905, published as US Patent Application Publication No. 2020/0322134, the entire disclosure of which is hereby incorporated by reference herein.

虚拟卡注册237的操作可经执行以将端点150配置用于基于卡的服务网络225的服务,例如移动/蜂窝通信网络、银行卡处理网络等。The operations of virtual card registration 237 may be performed to configure endpoint 150 for services of card-based service network 225, such as a mobile/cellular communication network, a bank card processing network, and the like.

例如,端点150可以连接到卡服务器223,以请求由装置身份数据211表示的端点150的卡简档219。为了请求卡简档219,端点150将端点身份数据188的公共部分传输到卡服务器223。卡服务器223将端点身份数据188转发给安全服务器140,用于端点150的认证239。例如,可以使用结合图2论述的认证技术。For example, endpoint 150 may connect to card server 223 to request the card profile 219 of endpoint 150 represented by device identity data 211 . To request the card profile 219, the endpoint 150 transmits the public portion of the endpoint identity data 188 to the card server 223. Card server 223 forwards endpoint identity data 188 to security server 140 for authentication 239 of endpoint 150 . For example, the authentication techniques discussed in connection with FIG. 2 may be used.

一旦安全服务器140验证端点身份数据188是使用在端点注册235期间在安全服务器140中提交和/或记录的存储器装置130的装置身份数据211、跟踪数据215和端点150的其它数据的正确组合形成的,卡服务器223可以将卡简档219分配和/或存储到存储器装置130,或者将卡简档219与端点身份数据188相关联。Once the security server 140 verifies that the endpoint identity data 188 is formed using the correct combination of device identity data 211 , tracking data 215 and other data of the endpoint 150 of the memory device 130 submitted and/or recorded in the security server 140 during the endpoint registration 235 , the card server 223 may allocate and/or store the card profile 219 to the memory device 130 or associate the card profile 219 with the endpoint identity data 188 .

虚拟卡注册237可以经由在存储器装置130中受保护的软模块217和/或经由安全管理器来执行,使得存储在存储器装置130中的卡简档219不能被篡改。任选地,安全服务器140可生成用于将卡简档219写入存储器装置130的安全区段中的命令155的验证码。可以经由存储在安全服务器140中的加密密钥来控制安全区段的写入权限。例如,访问控制器109可以使用与卡服务器223或安全服务器140相对应的访问控制密钥213来控制存储器装置130中的卡简档219的存储和/或替换。The virtual card registration 237 may be performed via a protected soft module 217 in the memory device 130 and/or via a security manager so that the card profile 219 stored in the memory device 130 cannot be tampered with. Optionally, secure server 140 may generate a verification code for command 155 to write card profile 219 in the secure section of memory device 130 . The write permission of the secure section may be controlled via an encryption key stored in the secure server 140 . For example, the access controller 109 may use the access control key 213 corresponding to the card server 223 or the security server 140 to control the storage and/or replacement of the card profile 219 in the memory device 130 .

此外,存储器装置130可以图4中示出的方式验证卡简档和/或负责使用卡简档219的软模块217的完整性。Additionally, the memory device 130 may verify the integrity of the card profile and/or the soft module 217 responsible for using the card profile 219 in the manner shown in FIG. 4 .

当卡简档219在端点150中的存储器装置130中受保护时,存储器装置130和/或端点150可以以与安装在端点150中的对应智能卡等效的方式工作。安全地附接到装置身份数据211的卡简档219可以被视为虚拟智能卡。When the card profile 219 is protected in the memory device 130 in the endpoint 150 , the memory device 130 and/or the endpoint 150 may function in an equivalent manner as a corresponding smart card installed in the endpoint 150 . The card profile 219 securely attached to the device identity data 211 may be considered a virtual smart card.

在一些实施方案中,软模块217配置成使用集成电路存储器装置130的逻辑电路的加密函数和/或处理能力来实施卡简档219的使用所涉及的加密操作。例如,卡简档219可包含认证密钥;并且软模块217可配置成生成用于认证/验证卡简档219包含认证密钥的数字签名。In some embodiments, the soft module 217 is configured to use the cryptographic functions and/or processing capabilities of the logic circuitry of the integrated circuit memory device 130 to implement cryptographic operations involved in the use of the card profile 219 . For example, the card profile 219 may contain an authentication key; and the soft module 217 may be configured to generate a digital signature for authenticating/verifying that the card profile 219 contains the authentication key.

例如,卡简档219可如图7和图8中所示。For example, the card profile 219 may be as shown in FIGS. 7 and 8 .

图7示出根据一个实施例的虚拟智能卡的卡简档。Figure 7 illustrates a card profile of a virtual smart card according to one embodiment.

在图7中,卡简档219可包含卡数据241和软卡模块243。任选地,软卡模块243可以安装为存储于存储器装置130中的软模块217的部分。In FIG. 7 , the card profile 219 may contain card data 241 and a soft card module 243 . Optionally, soft card module 243 may be installed as part of soft module 217 stored in memory device 130 .

卡数据241可包含智能卡(例如,虚拟卡)、账户和/或订户的识别。例如,卡数据241可识别智能卡的类型、账户/卡订阅的服务和/或与服务有关的客户数据(例如,余量、交易记录、消息等)。在一些实施方案中,卡数据241可包含存储在物理智能卡(例如,嵌入在根据通用集成电路卡(UICC)标准配置的塑料卡中的集成电路芯片)中的相同一组数据。Card data 241 may include identification of smart cards (eg, virtual cards), accounts, and/or subscribers. For example, card data 241 may identify the type of smart card, the services to which the account/card is subscribed, and/or customer data related to the services (eg, balances, transaction records, messages, etc.). In some implementations, card data 241 may comprise the same set of data stored in a physical smart card (eg, an integrated circuit chip embedded in a plastic card configured according to the Universal Integrated Circuit Card (UICC) standard).

软卡模块243可包含通过存储器装置130的加密引擎107对卡数据241进行操作的指令。例如,用于特定类型的智能卡的集成电路芯片的计算功能可以通过经由安全存储器装置130执行软卡模块243来实施。软卡模块243允许端点150模拟物理智能卡的计算操作。Soft card module 243 may contain instructions to operate on card data 241 through encryption engine 107 of memory device 130 . For example, the computing functions of an integrated circuit chip for a particular type of smart card may be implemented by executing the soft card module 243 via the secure memory device 130 . The soft card module 243 allows the endpoint 150 to emulate the computing operations of a physical smart card.

图8示出根据一个实施例的虚拟订户识别模块(SIM)的卡简档。Figure 8 illustrates a card profile of a virtual subscriber identity module (SIM) according to one embodiment.

在图8中,卡简档245包含卡数据241,例如集成电路卡标识符(ICCI)251、移动设备身份编号253、国际移动订户身份编号255、分配给国际移动订户身份编号255的认证密钥257,以及与国际移动订户身份编号255的移动/蜂窝通信服务有关的服务数据247。In FIG. 8 , the card profile 245 contains card data 241 such as an integrated circuit card identifier (ICCI) 251 , a mobile device identity number 253 , an international mobile subscriber identity number 255 , an authentication key assigned to the international mobile subscriber identity number 255 257, and service data 247 relating to the mobile/cellular communication service of the International Mobile Subscriber Identity number 255.

在使用传统SIM卡的传统移动电话中,集成电路卡标识符(ICCI)251用于在一群SIM卡中识别SIM卡。移动设备身份编号253(例如,以国际移动设备身份(IMEI)编号或IMEI软件版本(IMEISV)的形式)用于在一群移动电话中识别移动电话。国际移动订户身份(IMSI)编号用于在群体当中识别订户/客户/账户。当卡简档245附接到端点150时,卡简档245中的此类编号可用于类似功能。例如,当端点150是没有物理SIM卡的移动电话时,卡简档245可以用作虚拟SIM卡来识别卡、订户和端点/移动电话。例如,集成电路卡标识符(ICCI)251对应于和/或表示存储器装置130的装置身份数据211;移动设备身份编号253对应于和/或表示端点150的端点身份数据188;并且,国际移动订户身份编号255表示移动/蜂窝通信网络中的订户/客户/账户。In conventional mobile phones using conventional SIM cards, an integrated circuit card identifier (ICCI) 251 is used to identify a SIM card in a group of SIM cards. The mobile equipment identity number 253 (eg, in the form of an International Mobile Equipment Identity (IMEI) number or IMEI software version (IMEISV)) is used to identify a mobile phone within a group of mobile phones. International Mobile Subscriber Identity (IMSI) numbers are used to identify subscribers/customers/accounts among groups. Such numbers in the card profile 245 may be used for similar functions when the card profile 245 is attached to the endpoint 150. For example, when endpoint 150 is a mobile phone without a physical SIM card, card profile 245 can be used as a virtual SIM card to identify the card, subscriber, and endpoint/mobile phone. For example, integrated circuit card identifier (ICCI) 251 corresponds to and/or represents device identity data 211 of memory device 130; mobile equipment identity number 253 corresponds to and/or represents endpoint identity data 188 of endpoint 150; and, International Mobile Subscriber The identity number 255 represents a subscriber/customer/account in the mobile/cellular communication network.

例如,认证密钥257是分配给国际移动订户身份编号255的秘密。当端点150使用国际移动订户身份编号255来请求移动/蜂窝通信网络中的连接时,移动/蜂窝网络运营商可以从数据库中查找认证密钥257,并质询端点150以证明其拥有认证密钥257。安全质询可包含使用认证密钥257对包含随机数(RAND)的消息进行数字签名。对安全质询的回复可包含用于由移动/蜂窝网络运营商验证的数字签名的一部分。运营商使用与数据库中的国际移动订户身份编号255相关联的对应认证密钥257对消息进行独立签名。如果回复与移动/蜂窝网络运营商计算的应答一致,那么数字签名被验证;并且因此,端点150被认为具有分配给国际移动订户身份编号255的认证密钥257,并且有资格接收与国际移动订户身份编号255相关联的服务。此外,可以从数字签名导出对称加密密钥,用于在后续通信会话中保护端点150和移动/蜂窝通信网络之间的通信。For example, the authentication key 257 is the secret assigned to the International Mobile Subscriber Identity number 255. When an endpoint 150 requests a connection in a mobile/cellular communication network using the International Mobile Subscriber Identity Number 255, the mobile/cellular network operator can look up the authentication key 257 from the database and challenge the endpoint 150 to prove that it possesses the authentication key 257 . The security challenge may include digitally signing a message containing a random number (RAND) using the authentication key 257 . The reply to the security challenge may contain part of the digital signature for verification by the mobile/cellular network operator. The operator independently signs the message using the corresponding authentication key 257 associated with the International Mobile Subscriber Identity Number 255 in the database. If the reply matches the one calculated by the mobile/cellular network operator, then the digital signature is verified; and therefore, the endpoint 150 is considered to have the authentication key 257 assigned to the International Mobile Subscriber Identity Number 255, and is eligible to receive a communication with the International Mobile Subscriber Service associated with identity number 255. Additionally, a symmetric encryption key can be derived from the digital signature for use in securing communications between endpoint 150 and the mobile/cellular communications network in subsequent communications sessions.

例如,当卡简档245安装在端点150中时,端点150可以与移动/蜂窝网络运营商通信,以使用具有物理SIM卡的移动电话所使用的相同协议来请求连接并响应安全质询。因此,移动/蜂窝网络不必区分具有作为虚拟SIM卡的卡简档245的端点150和具有物理SIM卡的其它移动电话。For example, when the card profile 245 is installed in the endpoint 150, the endpoint 150 can communicate with the mobile/cellular network operator to request connections and respond to security challenges using the same protocols used by mobile phones with physical SIM cards. Therefore, the mobile/cellular network does not have to distinguish between endpoints 150 with card profiles 245 as virtual SIM cards and other mobile phones with physical SIM cards.

任选地,卡简档245可包含认证模块259,其配置成由安全存储器装置130的加密引擎和/或端点150的处理装置118执行,以在使用卡简档245期间执行加密计算,例如为通信会话生成对安全质询的回复和/或对称加密密钥。Optionally, the card profile 245 may include an authentication module 259 configured to be executed by the encryption engine of the secure memory device 130 and/or the processing device 118 of the endpoint 150 to perform encryption computations during use of the card profile 245, eg, for The communication session generates a reply to the security challenge and/or a symmetric encryption key.

在图6中,在虚拟卡注册237之后,端点150可以使用卡简档219从基于卡的服务网络225接收服务以识别订户/客户/账户。例如,初始地配置成向传统智能卡提供服务的基于卡的服务网络225可以无缝地进一步向具有通过将卡简档(例如,219)存储在安全存储器装置(例如,130)中实施的虚拟智能卡的端点(例如,150)提供服务。In FIG. 6, after virtual card registration 237, endpoint 150 may use card profile 219 to receive services from card-based service network 225 to identify subscribers/customers/accounts. For example, a card-based service network 225 that is initially configured to provide services to conventional smart cards can seamlessly be further deployed to have virtual smart cards implemented by storing the card profile (eg, 219 ) in a secure memory device (eg, 130 ). endpoint (eg, 150) to provide the service.

任选地,端点150可配置成以与具有物理智能卡(例如,SIM卡)或智能卡(例如,EMV卡)的移动装置相同的方式执行与基于卡的服务网络225的通信。Optionally, endpoint 150 may be configured to perform communications with card-based service network 225 in the same manner as a mobile device with a physical smart card (eg, SIM card) or smart card (eg, EMV card).

例如,端点150可以用作读卡器的智能卡。端点150可包含用于连接到读卡器的金属触点。例如,端点150可包含与无线智能卡的读卡器相当的收发器。替代地,可以在基于卡的服务网络225中配置额外的读卡器,以使用替代通信连接从端点150读取虚拟卡。替代连接的实例可包含近场通信(NFC)连接、蓝牙连接、Wi-Fi连接、通用串行总线(USB)连接等。For example, endpoint 150 may function as a smart card reader. Endpoint 150 may include metal contacts for connection to a card reader. For example, endpoint 150 may include a transceiver comparable to a reader of a wireless smart card. Alternatively, additional card readers may be configured in the card-based service network 225 to read virtual cards from endpoints 150 using alternate communication connections. Examples of alternative connections may include Near Field Communication (NFC) connections, Bluetooth connections, Wi-Fi connections, Universal Serial Bus (USB) connections, and the like.

在另一实例中,端点150可以用作移动站,其具有内置读卡器以读取插入移动站中的智能卡,例如具有SIM卡的移动电话。端点150可以使用具有物理SIM卡的移动站的相同通信协议与基于卡的服务网络225通信以访问服务227。In another example, endpoint 150 may function as a mobile station with a built-in card reader to read a smart card inserted in the mobile station, such as a mobile phone with a SIM card. Endpoint 150 may communicate with card-based service network 225 to access service 227 using the same communication protocol as a mobile station with a physical SIM card.

任选地,卡简档219可以与端点身份数据188相关联地存储在卡服务器223中。端点150可以使用端点身份数据188访问基于卡的服务网络225中的服务227。作为响应,基于卡的服务网络225可以与卡服务器223通信以基于端点身份数据188识别卡简档219。此外,基于端点身份数据188,卡服务器223可以与安全服务器140通信以执行端点认证239,以验证端点150在虚拟卡注册时具有安全存储器装置130,并且具有由跟踪数据215、软模块217和组件187的组合表示的相同配置。当端点150被篡改和/或修改时,可以在状态检查229和/或端点认证239中检测到改变;作为响应,基于卡的服务网络225可以拒绝访问服务227的请求。Optionally, card profile 219 may be stored in card server 223 in association with endpoint identity data 188 . Endpoint 150 may use endpoint identity data 188 to access services 227 in card-based service network 225 . In response, the card-based service network 225 may communicate with the card server 223 to identify the card profile 219 based on the endpoint identity data 188 . Additionally, based on the endpoint identity data 188, the card server 223 may communicate with the security server 140 to perform endpoint authentication 239 to verify that the endpoint 150 has the secure memory device 130 at the time of virtual card registration, and has the information provided by the tracking data 215, soft modules 217 and components The combination of 187 represents the same configuration. When endpoint 150 is tampered with and/or modified, the change may be detected in status check 229 and/or endpoint authentication 239; in response, card-based service network 225 may deny the request to access service 227.

任选地,可以结合访问服务227的请求及时执行虚拟卡注册237。响应于请求,通过端点认证239验证端点身份数据188。在端点验证成功之后,卡简档219可以将卡简档219与端点身份数据188相关联和/或存储到存储器装置130中。Optionally, virtual card registration 237 may be performed in conjunction with a request to access service 227 in time. In response to the request, endpoint identity data 188 is verified through endpoint authentication 239 . Card profile 219 may associate card profile 219 with endpoint identity data 188 and/or store in memory device 130 after endpoint authentication is successful.

在一些实施方案中,卡服务器223被实施为安全服务器140的部分。In some embodiments, the card server 223 is implemented as part of the security server 140 .

在一些实施方案中,卡服务器223被实施为基于卡的服务网络225的网络运营商的部分。In some embodiments, the card server 223 is implemented as part of the network operator of the card-based service network 225 .

例如,图6的系统可用于简化、保护和加速物联网(IoT)装置和丰富的IoT服务生态系统的大规模全球部署。例如,虚拟订户身份模块(SIM)卡可由IoT装置(例如,端点150)使用,以通过移动/蜂窝通信网络连接到互联网。For example, the system of Figure 6 can be used to simplify, secure, and accelerate large-scale global deployment of Internet of Things (IoT) devices and a rich ecosystem of IoT services. For example, a virtual subscriber identity module (SIM) card may be used by IoT devices (eg, endpoint 150) to connect to the Internet through a mobile/cellular communication network.

安全服务器140可用作诸如IoT边缘装置的端点(例如,150)的基于存储器的安全即服务平台。卡服务器可用于为此类端点提供蜂窝连接解决方案。如图6所示的组合可以创建一个通用的端到端解决方案,用于将蜂窝连接的IoT装置零接触登入到云服务上。Security server 140 may serve as a memory-based security-as-a-service platform for endpoints such as IoT edge devices (eg, 150). Card servers can be used to provide cellular connectivity solutions for such endpoints. The combination shown in Figure 6 can create a common end-to-end solution for zero-touch onboarding of cellular-connected IoT devices to cloud services.

企业IoT实施方案的复杂性给IoT装置的大规模全球部署带来了挑战。挑战包含在蜂窝连接和网络安全方面的实施困难。与无线局域网(例如,Wi-Fi)相比,蜂窝连接在IoT部署方面具有显著优势,例如更远的距离、更好的室外性能、更强的安全性和现有的全球基础设施。物理SIM卡的要求以及与移动/蜂窝网络运营商签订的合同减缓了IoT装置对蜂窝连接的使用。如图6所示的解决方案解决了此类挑战。The complexity of enterprise IoT implementations creates challenges for large-scale global deployment of IoT devices. Challenges include implementation difficulties in cellular connectivity and network security. Compared to wireless local area networks (e.g., Wi-Fi), cellular connectivity offers significant advantages for IoT deployments, such as longer range, better outdoor performance, stronger security, and existing global infrastructure. Physical SIM card requirements and contracts with mobile/cellular network operators have slowed the use of cellular connectivity by IoT devices. The solution shown in Figure 6 addresses such challenges.

通过将卡简档219与端点身份数据188和/或装置身份数据211安全地相关联而实施的虚拟SIM卡可以消除对物理SIM卡的需要。虚拟SIM卡的部署提供了高度可扩展的IoT安全、基于云的SIM管理、安全的零接触装置注册和IoT服务登入、流畅的全球连接、即时SIM激活。A virtual SIM card implemented by securely associating card profile 219 with endpoint identity data 188 and/or device identity data 211 may eliminate the need for a physical SIM card. The deployment of virtual SIM cards provides highly scalable IoT security, cloud-based SIM management, secure zero-touch device registration and IoT service onboarding, smooth global connectivity, instant SIM activation.

如图6所示的解决方案对于工业、基础设施、汽车、航空、运输和物流部门尤其有利,这些部门甚至在最偏远的位置也需要为便携式装置提供无边界的远距离连接,不受边界和近距离Wi-Fi网络的限制。The solution shown in Figure 6 is especially beneficial for the industrial, infrastructure, automotive, aviation, transportation and logistics sectors, which require borderless long-distance connectivity for portable devices in even the most remote locations, free from borders and Limitations of close-proximity Wi-Fi networks.

如图6所示的系统可以极大地简化灵活的全球连接,并为IoT市场的创新提供丰富的可能性。A system like the one shown in Figure 6 can greatly simplify flexible global connectivity and provide rich possibilities for innovation in the IoT market.

物理智能卡的使用要求在制造期间将卡身份和/或装置身份与网络(例如,225)提供的服务紧密配对,以防装置不安全、操作不安全、欺诈和/或仿冒。The use of physical smart cards requires that the card identity and/or device identity be closely paired with services provided by the network (eg, 225 ) during manufacture to prevent device insecurity, operational insecurity, fraud and/or counterfeiting.

安全服务器140可用于实施第三方服务的零接触认证和证书的后期绑定,使得终端用户能够自由地安全访问更多样化的第三方IoT服务。The security server 140 may be used to implement zero-touch authentication of third-party services and late binding of certificates, enabling end users to freely and securely access more diverse third-party IoT services.

安全服务器140和/或卡服务器223可用于安全地安装软模块以定制IoT装置。例如,可以提供在线软模块商店以允许将软模块存储到端点150中,以类似于上文所论述的不同类型的智能卡和/或SIM卡的功能供应的方式来定制其功能。这种定制允许企业访问与供应商无关的IoT服务,以新的方式利用和试验智能特征和数据洞察。Secure server 140 and/or card server 223 may be used to securely install soft modules to customize IoT devices. For example, an online soft module store may be provided to allow soft modules to be stored into endpoint 150, their functionality customized in a manner similar to the functional offerings of different types of smart cards and/or SIM cards discussed above. This customization allows businesses to access vendor-agnostic IoT services to leverage and experiment with intelligent features and data insights in new ways.

随着从IoT鱼缸到婴儿监视器等装置上的复杂不良行为和黑客攻击,威胁环境变得越来越危险,网络安全一直是IoT采用的薄弱环节。安全服务器140可以提供由在控制访问和装置身份数据211的存储器装置(例如,130)中实施的安全特征所支持的安全即服务。通过其硅信任根,安全存储器装置130为IoT软件的最低层提供唯一级别的保护——从引导过程开始,且具有存储器装置130中自有的强加密身份和安全特征。With sophisticated bad behavior and hacking on devices ranging from IoT fish tanks to baby monitors, the threat landscape has become increasingly dangerous, and cybersecurity has been a weak link in IoT adoption. Security server 140 may provide security-as-a-service supported by security features implemented in memory devices (eg, 130 ) that control access and device identity data 211 . Through its silicon root of trust, secure memory device 130 provides a unique level of protection for the lowest layers of IoT software - starting from the boot process, with strong cryptographic identity and security features native to memory device 130 .

例如,经由安全服务器140和安全存储器装置(例如,130)中嵌入的安全特征的组合实施的安全即服务可包含通过验证存储器装置(例如,130)是否具有在存储器装置130的制造期间执行的经由存储器注册231记录的根秘密来验证声称具有公共识别号的存储器装置(例如,130)的真实性。For example, security-as-a-service implemented via a combination of security server 140 and security features embedded in a secure memory device (eg, 130 ) may include verifying that the memory device (eg, 130 ) has the The root secret recorded by the memory registry 231 verifies the authenticity of the memory device (eg, 130) that claims to have a public identification number.

例如,安全即服务可任选地进一步包含基于与经实施以提供所有者权限的访问控制密钥213相对应的加密密钥来识别存储器装置130的所有者。For example, security-as-a-service may optionally further include identifying the owner of memory device 130 based on an encryption key corresponding to access control key 213 implemented to provide owner rights.

例如,安全即服务还可任选地进一步包含在将端点150分发给终端用户/客户之前,基于存储器装置130的所有者/制造商的身份识别具有存储器装置130的端点150的服务提供商。基于服务提供商,安全服务器140可以下载与服务提供商提供的服务相关的软模块217,以定制端点150。例如,可以在端点注册235期间执行定制。任选地,终端用户或企业用户可以选择服务提供商;并且安全服务器140和/或卡服务器223可以将软模块217推送到存储器装置130。此外,响应于端点认证239,安全服务器140可以自动将软件更新推送到存储器装置中。因此,现场端点(例如,150)的安全漏洞可以自动减少和/或最小化,而无需端点(例如,150)的各个OEM额外努力。For example, security as a service may optionally further include identifying a service provider with endpoint 150 of memory device 130 based on the identity of the owner/manufacturer of memory device 130 prior to distribution of endpoint 150 to end users/customers. Based on the service provider, the security server 140 may download soft modules 217 related to services provided by the service provider to customize the endpoint 150 . For example, customization may be performed during endpoint registration 235. Optionally, the end user or enterprise user can select a service provider; and the security server 140 and/or the card server 223 can push the soft module 217 to the memory device 130 . Additionally, in response to endpoint authentication 239, the security server 140 may automatically push software updates to the memory device. Thus, security vulnerabilities of on-site endpoints (eg, 150 ) can be automatically reduced and/or minimized without additional effort by individual OEMs of the endpoints (eg, 150 ).

例如,安全即服务可任选地进一步包含对丢失/被盗装置的跟踪。响应于在安全服务器140中注册为丢失或被盗的端点150的端点认证239,安全服务器140可以请求存储器装置130的访问控制器109停用对特定存储器区域的访问和/或从特定存储器区域擦除数据。在一些情况下,访问控制器109可以通过限制对诸如启动加载程序、操作系统、应用程序等资源的访问来停用端点150的正常操作。在一些情况下,访问控制器109可以执行不可逆地破坏存储器装置130的存储器功能的操作。For example, security as a service may optionally further include tracking of lost/stolen devices. In response to endpoint authentication 239 for endpoint 150 registered in security server 140 as lost or stolen, security server 140 may request access controller 109 of memory device 130 to disable access to and/or erasure from specific memory regions. remove data. In some cases, access controller 109 may disable normal operation of endpoint 150 by restricting access to resources such as bootloaders, operating systems, applications, and the like. In some cases, access controller 109 may perform operations that irreversibly destroy the memory functions of memory device 130 .

例如,安全即服务可任选地进一步包含端点150的完整性的审核服务。例如,存储器装置130可以基于存储于存储器装置130中的软模块217的加密散列值构建端点身份数据188,使得当软模块217改变时,安全服务器140可以验证当前软模块217是不是来自软模块217的相应供应商的有效分发。当发现软模块217损坏、篡改和/或受损时,安全服务器140可以发起更新操作,以使用来自在线软件商店的有效分发来修复软模块。For example, security as a service may optionally further include an audit service for the integrity of endpoint 150 . For example, memory device 130 may construct endpoint identity data 188 based on a cryptographic hash value of soft module 217 stored in memory device 130 so that when soft module 217 changes, security server 140 can verify that current soft module 217 is from a soft module 217 of the valid distribution of the corresponding supplier. When the soft module 217 is found to be corrupt, tampered and/or compromised, the security server 140 may initiate an update operation to repair the soft module using an active distribution from an online software store.

当软模块217的更新版本可用时,安全服务器140可以重新计算端点身份数据188以用于端点150的认证。因此,当端点150具有过时的软模块217时,安全服务器140可以检测到过时版本的存在,并通过空中请求/发起软模块217的更新。任选地,安全服务器140可以跟踪影响端点身份数据188的端点150的配置变化历史。例如,当被请求时,安全服务器140可以与存储器装置130通信以恢复到先前的配置。The security server 140 may recompute the endpoint identity data 188 for authentication of the endpoint 150 when an updated version of the soft module 217 is available. Thus, when an endpoint 150 has an outdated soft module 217, the security server 140 can detect the presence of an outdated version and request/initiate an update of the soft module 217 over the air. Optionally, security server 140 may track a history of configuration changes of endpoint 150 that affect endpoint identity data 188 . For example, when requested, the security server 140 may communicate with the memory device 130 to restore the previous configuration.

例如,安全即服务可任选地进一步包含装置跟踪服务,其可以向端点150的所有者提供与所有者访问控制密钥213(或与另一访问控制密钥相对应的另一授权用户)对应的活动数据。例如,活动数据可包含位置数据和端点150在来自基于卡的服务网络225的各种服务中的使用。For example, security-as-a-service may optionally further include a device tracking service, which may provide the owner of endpoint 150 with access control keys 213 corresponding to the owner (or another authorized user corresponding to another access control key) activity data. For example, activity data may include location data and usage of endpoint 150 in various services from card-based service network 225 .

端点身份数据188可包含端点150的公共身份,例如国际移动设备身份(IMEI)编号(例如,移动设备身份编号253)。端点150的公共身份对基于卡的服务网络225的服务(例如,蜂窝连接)的订阅可以在卡服务器(223)预注册而不使用端点150。例如,IMEI编号可与卡服务器223的数据库中的国际移动订户身份编号255相关联。Endpoint identity data 188 may include a public identity of endpoint 150, such as an International Mobile Equipment Identity (IMEI) number (eg, Mobile Equipment Identity Number 253). Subscriptions by the public identity of endpoint 150 to services (eg, cellular connectivity) of card-based service network 225 may be pre-registered with the card server ( 223 ) without endpoint 150 being used. For example, the IMEI number may be associated with the International Mobile Subscriber Identity number 255 in the card server 223 database.

当端点150尝试连接到基于卡的服务网络225时,端点150的公共身份(例如,IMEI编号)在端点认证239中使用端点身份数据188认证。作为响应,注册到国际移动订户身份编号255的订阅被识别并用于生成卡简档219以将卡简档219绑定到端点150。绑定可以呈将卡简档219存储到端点150中的安全存储器装置130中的形式。替代地,绑定可以呈在卡服务器223的数据库中卡简档219与端点身份数据188关联的形式。When endpoint 150 attempts to connect to card-based service network 225, the public identity (eg, IMEI number) of endpoint 150 is authenticated in endpoint authentication 239 using endpoint identity data 188. In response, the subscription registered to the International Mobile Subscriber Identity Number 255 is identified and used to generate the card profile 219 to bind the card profile 219 to the endpoint 150 . The binding may be in the form of storing the card profile 219 into the secure memory device 130 in the endpoint 150 . Alternatively, the binding may be in the form of an association of the card profile 219 with the endpoint identity data 188 in the database of the card server 223 .

在一些情况下,一组端点(例如,由企业客户端拥有)可以共享数量减少的虚拟SIM卡以实现蜂窝连接。例如,企业客户端的IoT装置可能不需要同时进行蜂窝连接。当企业客户端的端点150需要蜂窝连接时,表示虚拟SIM卡的可用卡简档219在通信会话期间的端点认证239之后为端点150动态地“安装”以及时用于蜂窝服务。当通信会话结束时,虚拟SIM卡可由企业客户端的另一端点使用。物理SIM卡可以从一部移动电话移动到另一移动电话,以允许不同的移动电话访问注册到同一SIM卡的蜂窝服务。但是,物理地将SIM卡从一个移动电话移动到另一移动电话效率低下,并且无法进行大规模部署。虚拟SIM卡的即时安装可以克服物理SIM卡的限制,并在安装虚拟SIM卡之前经由端点认证239提供改进的安全性。In some cases, a group of endpoints (eg, owned by enterprise clients) may share a reduced number of virtual SIM cards for cellular connectivity. For example, an enterprise client's IoT device may not need a simultaneous cellular connection. When an enterprise client's endpoint 150 requires a cellular connection, an available card profile 219 representing a virtual SIM card is dynamically "installed" for the endpoint 150 after endpoint authentication 239 during a communication session in time for cellular service. When the communication session ends, the virtual SIM card can be used by another endpoint of the enterprise client. A physical SIM card can be moved from one mobile phone to another to allow different mobile phones to access cellular services registered to the same SIM card. However, physically moving the SIM card from one mobile phone to another is inefficient and not feasible for mass deployment. Instant installation of a virtual SIM card can overcome the limitations of a physical SIM card and provide improved security via endpoint authentication 239 prior to installing the virtual SIM card.

例如,虚拟SIM卡的这种即时安装可用于促进对蜂窝连接的不经常或一次性使用。例如,蜂窝连接可用于执行空中固件/软件更新。例如,蜂窝连接可用于定期报告端点150的状态(例如,每天、每周或每月一次)。例如,端点150可以报告其与基于端点150的位置的保修服务相关的健康和/或位置。For example, such instant installation of a virtual SIM card can be used to facilitate infrequent or one-time use of the cellular connection. For example, a cellular connection can be used to perform over-the-air firmware/software updates. For example, a cellular connection may be used to periodically report the status of endpoint 150 (eg, daily, weekly, or monthly). For example, endpoint 150 may report its health and/or location related to warranty service based on endpoint 150 location.

例如,安全即服务可任选地进一步包含允许以安全方式改变端点150的公共身份的身份服务。例如,企业客户端的一组端点可以共享数目减少的IMEI编号。当端点150尝试使用端点身份数据188中的替代公共身份编号连接到基于卡的服务网络225时,卡服务器223和/或安全服务器140可以执行端点认证239,将未使用的IMEI编号分配给端点150,将卡简档219与分配给端点150的IMEI编号相关联,以使端点150能够作为由IMEI编号表示的装置从网络225获得服务。For example, security as a service may optionally further include an identity service that allows the public identity of endpoint 150 to be changed in a secure manner. For example, a group of endpoints of an enterprise client may share a reduced number of IMEI numbers. Card server 223 and/or security server 140 may perform endpoint authentication 239 to assign an unused IMEI number to endpoint 150 when endpoint 150 attempts to connect to card-based service network 225 using the alternate public identity number in endpoint identity data 188 , associating the card profile 219 with the IMEI number assigned to the endpoint 150 to enable the endpoint 150 to obtain service from the network 225 as the device represented by the IMEI number.

当这样的安全存储器装置130与安全服务器140提供的安全即服务一起使用时,端点(例如,150)的原始设备制造商(OEM)可以通过将安全存储器装置130组装到端点(例如,150)中来提供安全性,而无需执行其单独的安全操作,例如安全密钥注入、设计和实施安全元件、硬件组件或专用片上系统(SoC)特征。因此,安全服务器140和安全存储器装置(例如,130)可以为IoT装置(例如,端点150)的OEM提供即插即用安全性。When such a secure memory device 130 is used with security-as-a-service provided by the security server 140 , an original equipment manufacturer (OEM) of the endpoint (eg, 150 ) can integrate the secure memory device 130 into the endpoint (eg, 150 ) by to provide security without performing its own separate security operations, such as secure key injection, designing and implementing secure elements, hardware components, or dedicated system-on-chip (SoC) features. Thus, secure server 140 and secure memory device (eg, 130 ) can provide plug-and-play security for OEMs of IoT devices (eg, endpoint 150 ).

安全服务器140的服务可用于在部署后在边缘处认证、激活和管理安全存储器装置(例如,130)。此能力可在整个生命周期内从制造供应链扩展到现场安装和管理实现平台强化和装置保护。The services of secure server 140 may be used to authenticate, activate, and manage secure memory devices (eg, 130 ) at the edge after deployment. This capability extends from the manufacturing supply chain to field installation and management for platform hardening and device protection throughout the lifecycle.

图9示出根据一个实施例的用于认证存储器装置的技术。例如,图9的技术可用于使用图2的身份数据实施图5的安全服务。9 illustrates a technique for authenticating a memory device, according to one embodiment. For example, the technique of FIG. 9 may be used to implement the security service of FIG. 5 using the identity data of FIG. 2 .

通过图9的认证操作,可以建立会话密钥263以保护安全服务器140和存储器装置130之间的通信,而不信任客户端服务器141处理安全性以保护存储器装置130的秘密。任选地,会话密钥263可由访问控制器109用于实施请求在存储器装置130中执行的选定命令155的权限。Through the authentication operation of FIG. 9, session key 263 can be established to protect communications between secure server 140 and memory device 130 without trusting client server 141 to handle security to protect memory device 130 secrets. Optionally, session key 263 may be used by access controller 109 to implement permissions to request selected commands 155 to be executed in memory device 130 .

在图9中,客户端服务器141可向存储器装置130发送对存储器装置130的身份数据113的请求271。In FIG. 9 , client server 141 may send memory device 130 a request 271 for identity data 113 of memory device 130 .

请求271可包含密码随机数267。例如,密码随机数267可由安全服务器140响应于来自客户端服务器141的请求而生成,或由客户端服务器141生成并与安全服务器140共享用于请求271。替代地,存储器装置130可响应于请求271生成密码随机数267并提供包含密码随机数267的对应响应273。The request 271 may contain a cryptographic random number 267 . For example, cryptographic random number 267 may be generated by secure server 140 in response to a request from client server 141 , or generated by client server 141 and shared with secure server 140 for request 271 . Alternatively, the memory device 130 may generate a cryptographic random number 267 in response to the request 271 and provide a corresponding response 273 containing the cryptographic random number 267 .

响应于对存储器装置130的身份数据113的请求271,存储器装置130提供包含识别存储器装置130的唯一识别111的消息的响应273。In response to the request 271 for the identity data 113 of the memory device 130 , the memory device 130 provides a response 273 containing a message identifying the unique identification 111 of the memory device 130 .

使用存储器装置130的秘密密钥137为响应273中提供的消息生成验证码133。如上文所论述,验证码133可以使用诸如散列摘要、数字签名和/或基于散列的消息认证码等技术来实施。验证码133的验证可由安全服务器140使用与唯一识别111相关联地存储的对应加密密钥106来执行。The verification code 133 is generated for the message provided in the response 273 using the secret key 137 of the memory device 130 . As discussed above, verification code 133 may be implemented using techniques such as hash digests, digital signatures, and/or hash-based message authentication codes. Verification of the verification code 133 may be performed by the security server 140 using the corresponding encryption key 106 stored in association with the unique identification 111 .

为了保护响应273和/或验证码133免受安全攻击(例如,重新使用响应273和/或尝试恢复密钥137),为包含唯一识别111、计数器值265和密码随机数267的消息131生成验证码133。计数器值265从存储器装置130中的计数器261获得。计数器261的值单调地增加。例如,计数器261可用于存储表示针对身份数据和/或与安全性相关的其它数据项或操作而接收的请求的计数的值。因此,含有低于先前看到的计数器值的计数器值265的响应可被视为无效。密码随机数267在响应273的生成中使用一次,并被存储器装置130舍弃。当先前已向安全服务器140提供或由安全服务器140生成密码随机数267时,响应273不必在响应273中显式地包含密码随机数267。To protect the response 273 and/or the verification code 133 from security attacks (eg, re-use the response 273 and/or attempt to recover the key 137 ), a verification is generated for the message 131 containing the unique identification 111 , the counter value 265 and the cryptographic nonce 267 Code 133. The counter value 265 is obtained from the counter 261 in the memory device 130 . The value of the counter 261 increases monotonically. For example, counter 261 may be used to store a value representing a count of requests received for identity data and/or other security-related data items or operations. Therefore, a response containing a counter value 265 that is lower than the previously seen counter value may be considered invalid. The cryptographic random number 267 is used once in the generation of the response 273 and discarded by the memory device 130 . Response 273 need not explicitly contain cryptographic random number 267 in response 273 when cryptographic random number 267 has been previously provided to or generated by secure server 140 .

客户端服务器141将响应273转发到安全服务器140以请求认证存储器装置130。使用在响应273中提供的唯一识别111,安全服务器140可定位对应加密密钥106以验证验证码133。例如,对应的加密密钥106可以是秘密密钥137,或使用不对称加密时的对应公钥。Client server 141 forwards response 273 to secure server 140 to request authentication of memory device 130 . Using the unique identification 111 provided in the response 273 , the security server 140 can locate the corresponding encryption key 106 to verify the verification code 133 . For example, the corresponding encryption key 106 may be the secret key 137, or the corresponding public key when asymmetric encryption is used.

基于验证码133的验证,安全服务器140向客户端服务器141提供真实性指示符275。真实性指示符275指示存储器装置130是否真实。例如,安全服务器140可生成并提供由安全服务器140签名的证书,以将存储器装置130的证书链延伸回到验证器(例如,安全服务器)。任选地,安全服务器140可允许下载证书签名请求(CSR),其允许请求者使用他们选择的证书颁发机构(CA)(而不是安全服务器140)。Based on verification by the verification code 133, the security server 140 provides the client server 141 with an authenticity indicator 275. Authenticity indicator 275 indicates whether memory device 130 is authentic. For example, the security server 140 may generate and provide a certificate signed by the security server 140 to extend the certificate chain of the memory device 130 back to the authenticator (eg, the security server). Optionally, secure server 140 may allow download of a certificate signing request (CSR) that allows requesters to use a certificate authority (CA) of their choice (instead of secure server 140).

通过存储器装置130的认证,存储器装置130和安全服务器140可建立用于在后续通信会话中彼此通信的会话密钥263。会话可受在响应273或验证码133的验证之后的预定长度的时间段限制。在所述时间段之后,会话密钥263到期,且因此可被破坏或舍弃。此外,对身份数据的后续请求可结束通过对身份数据的先前请求开始的先前会话。Through authentication of the memory device 130, the memory device 130 and the security server 140 may establish a session key 263 for communicating with each other in subsequent communication sessions. The session may be limited by a time period of predetermined length following verification of response 273 or verification code 133 . After that period of time, the session key 263 expires and can therefore be destroyed or discarded. Additionally, subsequent requests for identity data may end previous sessions initiated by previous requests for identity data.

会话密钥263可至少部分地基于在安全服务器140和存储器装置130之间已知但不可用于安全服务器140和存储器装置130之间的通信信道的秘密生成。Session key 263 may be generated based at least in part on a secret known between secure server 140 and memory device 130 but not available for the communication channel between secure server 140 and memory device 130 .

例如,会话密钥263可以至少部分地基于秘密密钥137导出。此外,会话密钥263可以至少部分地基于计数器值265和/或密码随机数267。任选地,会话密钥263可以至少部分地基于验证码133。例如,验证码133和秘密密钥137可以组合生成会话密钥263。For example, session key 263 may be derived based at least in part on secret key 137 . Additionally, session key 263 may be based at least in part on counter value 265 and/or cryptographic nonce 267 . Optionally, session key 263 may be based at least in part on verification code 133 . For example, the verification code 133 and the secret key 137 may be combined to generate the session key 263 .

在一些实施方案中,会话密钥263独立于验证码133;并且验证码133可使用从秘密密钥137或安全服务器140和存储器装置130之间已知的另一秘密导出的会话密钥263生成。In some embodiments, session key 263 is independent of verification code 133; and verification code 133 may be generated using session key 263 derived from secret key 137 or another secret known between secure server 140 and memory device 130 .

图10示出根据一个实施例的用于生成控制存储器装置的安全操作的命令的技术。例如,图9的技术可用于使用图3和10的技术实施图5的安全服务。10 illustrates a technique for generating commands to control secure operation of a memory device, according to one embodiment. For example, the technique of FIG. 9 may be used to implement the security service of FIG. 5 using the techniques of FIGS. 3 and 10 .

例如,在客户端服务器141请求在存储器装置130中执行命令155的权限使用客户端权限数据283验证之后,安全服务器140可响应于来自客户端服务器141的请求281而向客户端服务器141提供命令155的验证码153。For example, security server 140 may provide command 155 to client server 141 in response to request 281 from client server 141 after client server 141's request for permission to execute command 155 in memory device 130 is verified using client rights data 283 The verification code is 153.

图9和图10中的一些通信可以组合。例如,在一些情况下,请求281可包含存储器装置130所提供的身份数据113作为对存储器装置130的请求271的响应273。Some of the communications in Figures 9 and 10 may be combined. For example, in some cases, request 281 may include identity data 113 provided by memory device 130 as a response 273 to request 271 of memory device 130 .

在客户端服务器141发送识别命令155和存储器装置130的请求281之后,如果确定客户端服务器141具有使用命令155控制或操作存储器装置130的权限,那么安全服务器140可生成命令155的验证码153。请求281可包含其中将执行命令155的存储器装置130的唯一识别111。例如,唯一识别111可由客户端服务器141从对存储器装置130的身份数据的请求271的响应273和/或安全服务器140所提供的真实性指示符275提取。After client server 141 sends request 281 to identify command 155 and memory device 130, if client server 141 is determined to have authority to control or operate memory device 130 using command 155, security server 140 may generate verification code 153 for command 155. The request 281 may include the unique identification 111 of the memory device 130 in which the command 155 is to be executed. For example, the unique identification 111 may be extracted by the client server 141 from the response 273 to the request 271 for the identity data of the memory device 130 and/or the authenticity indicator 275 provided by the security server 140 .

如上文所论述,验证码153可以使用诸如散列摘要、数字签名和/或基于散列的消息认证码等技术来实施。验证码153的验证可由访问控制器109使用命令155的访问控制密钥149来执行。验证码153可以使用存储在安全服务器140中的加密密钥277生成,所述加密密钥表示在存储器装置130中执行命令155的权限。例如,当不使用经由不对称加密的加密时,加密密钥277可以是访问控制密钥149;替代地,当使用不对称加密时,访问控制密钥149是密钥对中的公钥,而加密密钥277是密钥对中的私钥。As discussed above, verification code 153 may be implemented using techniques such as hash digests, digital signatures, and/or hash-based message authentication codes. Verification of the verification code 153 may be performed by the access controller 109 using the access control key 149 of the command 155 . The verification code 153 may be generated using an encryption key 277 stored in the secure server 140 that represents the authority to execute the command 155 in the memory device 130 . For example, when encryption via asymmetric encryption is not used, encryption key 277 may be access control key 149; alternatively, when asymmetric encryption is used, access control key 149 is the public key of the key pair, while Encryption key 277 is the private key of the key pair.

在一个实施例中,访问控制密钥149和加密密钥277是针对命令155的权限预先配置的。在另一实施例中,访问控制密钥149和加密密钥277基于会话密钥263。例如,会话密钥263可以用作用于命令155的访问控制的访问控制密钥149和加密密钥277。在一些实施例中,会话密钥263是一对不对称密钥中的密钥,可用于实施涉及使用不对称加密执行的加密的加密密钥277和访问控制密钥149。In one embodiment, the access control key 149 and encryption key 277 are preconfigured for the permissions of the command 155 . In another embodiment, the access control key 149 and encryption key 277 are based on the session key 263 . For example, session key 263 may be used as access control key 149 and encryption key 277 for access control of command 155 . In some embodiments, session key 263 is the key of a pair of asymmetric keys that can be used to implement encryption key 277 and access control key 149 involving encryption performed using asymmetric encryption.

当验证码153是基于会话密钥263时,验证码153在会话密钥263到期时到期,这防止在会话密钥263有效的会话之外重复使用验证码153。When the verification code 153 is based on the session key 263, the verification code 153 expires when the session key 263 expires, which prevents the verification code 153 from being reused outside the session in which the session key 263 is valid.

在请求285中提供的消息151可包含命令155和密码随机数287。密码随机数287布置成用于命令155/请求285,且因此不同于用于传输存储器装置130的身份数据的密码随机数267。The message 151 provided in the request 285 may contain the command 155 and the cryptographic random number 287 . The cryptographic random number 287 is arranged for the command 155/request 285 and is thus different from the cryptographic random number 267 used to transmit the identity data of the memory device 130 .

例如,响应于请求281,安全服务器140可生成密码随机数287,并将其用于生成验证码153。密码随机数287可设有验证码153以供客户端服务器141生成请求285。替代地,客户端服务器141可生成密码随机数287,并将其与请求281一起提供到安全服务器140。替代地,为生成请求281,客户端服务器141可请求来自安全服务器140的密码随机数287。For example, in response to request 281 , security server 140 may generate a cryptographic random number 287 and use it to generate verification code 153 . The cryptographic random number 287 may be provided with the verification code 153 for the client server 141 to generate the request 285 . Alternatively, client server 141 may generate a cryptographic random number 287 and provide it to secure server 140 along with request 281 . Alternatively, to generate the request 281 , the client server 141 may request a cryptographic random number 287 from the secure server 140 .

在客户端服务器141发送具有从安全服务器140获得的验证码153的请求285之后,存储器装置130使用访问控制密钥149验证包含在请求285中的消息151的验证码153。如果验证码153有效,那么访问控制器109允许存储器装置130执行命令155;否则,访问控制器109可阻止在存储器装置130中执行命令155。After client server 141 sends request 285 with verification code 153 obtained from secure server 140 , memory device 130 uses access control key 149 to verify verification code 153 of message 151 contained in request 285 . If verification code 153 is valid, access controller 109 allows memory device 130 to execute command 155 ; otherwise, access controller 109 may prevent command 155 from being executed in memory device 130 .

例如,命令155可配置成激活存储器装置130的安全特征。For example, command 155 may be configured to activate a security feature of memory device 130 .

例如,命令155可配置成替换存储器装置130中的访问控制密钥149或秘密密钥137。例如,新秘密密钥137可使用在计算装置的制造期间提供的额外非秘密数据生成,所述计算装置安装了存储器装置130,但存储器装置130在其制造时不可用。例如,新访问控制密钥149可配置成向客户端服务器141提供一组权限。For example, command 155 may be configured to replace access control key 149 or secret key 137 in memory device 130 . For example, the new secret key 137 may be generated using additional non-secret data provided during manufacture of the computing device to which the memory device 130 was installed but not available at the time of its manufacture. For example, the new access control key 149 may be configured to provide the client server 141 with a set of permissions.

在执行命令155之后,存储器装置130提供可由客户端服务器141转发到安全服务器140的响应289。安全服务器140可确定响应289是否正确。例如,存储器装置130可使用会话密钥263对响应进行签名以供安全服务器140验证。After execution of command 155 , memory device 130 provides a response 289 that may be forwarded by client server 141 to security server 140 . Security server 140 may determine whether response 289 is correct. For example, memory device 130 may use session key 263 to sign the response for verification by secure server 140 .

在一些实施方案中,用于替换存储器装置130的现有秘密密钥137的替换秘密密钥由存储器装置130和安全服务器140从通过客户端服务器141交换的秘密(例如,唯一装置秘密101)和额外数据独立地生成。任选地,所述额外数据可以通过使用会话密钥263执行的加密受保护。In some embodiments, the replacement secret key used to replace the existing secret key 137 of the memory device 130 is used by the memory device 130 and the security server 140 from the secret exchanged through the client server 141 (eg, the unique device secret 101 ) and Additional data is generated independently. Optionally, the additional data may be protected by encryption performed using session key 263 .

在一些实施方案中,替换秘密密钥以使用会话密钥263生成的密文的加密形式从存储器装置130传送到安全服务器140。In some embodiments, the replacement secret key is transferred from memory device 130 to secure server 140 in encrypted form using the ciphertext generated using session key 263 .

图11示出根据一个实施例的虚拟智能卡的方法。例如,图11的方法可以使用图9和10的技术在图6中所示的具有上文结合图1-5所论述的安全服务器140和存储器装置130的安全特征的系统中实施。Figure 11 illustrates a method of virtualizing a smart card according to one embodiment. For example, the method of FIG. 11 may be implemented in the system shown in FIG. 6 with the security features of the security server 140 and memory device 130 discussed above in connection with FIGS. 1-5 using the techniques of FIGS. 9 and 10 .

在框301处,至少部分地基于存储器装置130的根秘密,由围封在存储器装置130的集成电路封装中的逻辑电路或控制器生成表示存储器装置130的装置身份数据211。At block 301 , device identity data 211 representing the memory device 130 is generated by a logic circuit or controller enclosed in an integrated circuit package of the memory device 130 based at least in part on the root secret of the memory device 130 .

例如,存储器装置130可具有物理不可克隆函数(PUF)以生成根秘密。For example, memory device 130 may have a physically unclonable function (PUF) to generate a root secret.

例如,逻辑电路或控制器可包含配置成执行加密计算而不使用集成电路封装之外的处理器的加密引擎。For example, a logic circuit or controller may contain a cryptographic engine configured to perform cryptographic computations without using a processor outside of the integrated circuit package.

在框303处,存储器装置130在形成于围封在集成电路封装内的一或多个集成电路裸片上的集成电路存储器单元的第一存储器区域中存储装置身份数据211。At block 303, memory device 130 stores device identity data 211 in a first memory region of integrated circuit memory cells formed on one or more integrated circuit dies enclosed within an integrated circuit package.

在框305处,逻辑电路基于访问控制密钥213控制对第一存储器区域的访问。At block 305 , the logic circuit controls access to the first memory region based on the access control key 213 .

在框307处,存储器装置130在集成电路存储器单元的第二存储器区域中存储可由具有存储器装置130作为端点150的多个组件中的一个的端点150执行的启动指令。At block 307 , the memory device 130 stores, in a second memory region of the integrated circuit memory unit, boot instructions executable by the endpoint 150 having the memory device 130 as one of the plurality of components of the endpoint 150 .

例如,装置身份数据211可以基于向存储在存储器装置130的第二存储器区域中的启动指令应用加密散列函数得到的散列值来计算和/或更新。因此,装置身份数据211不仅可以锁定存储器装置130的硬件,而且还可以锁定存储于存储器装置中的启动指令(和/或其它数据,例如跟踪数据215)。For example, the device identity data 211 may be calculated and/or updated based on a hash value obtained by applying a cryptographic hash function to the boot instructions stored in the second memory area of the memory device 130 . Thus, device identity data 211 may lock not only the hardware of memory device 130, but also boot instructions (and/or other data, such as trace data 215) stored in the memory device.

在框309处,将卡简档219写入到存储器装置130的集成电路存储器单元,以基于卡简档219模拟智能卡的功能。At block 309 , the card profile 219 is written to an integrated circuit memory unit of the memory device 130 to emulate the functionality of the smart card based on the card profile 219 .

例如,端点150可经由存储器装置130配置成生成表示端点150在其启动时间的组件配置的端点身份数据188。端点身份数据188可以使用以下来计算:装置身份数据211、在端点150的构造233期间存储到存储器装置130中的跟踪数据215,以及端点150的位于存储器装置130的集成电路封装之外的组件的识别数据。For example, endpoint 150 may be configured via memory device 130 to generate endpoint identity data 188 representing the component configuration of endpoint 150 at its startup time. Endpoint identity data 188 may be calculated using device identity data 211 , trace data 215 stored into memory device 130 during construction 233 of endpoint 150 , and components of endpoint 150 located outside of the integrated circuit package of memory device 130 . identification data.

例如,卡简档219可以基于端点身份数据188的认证而识别、生成和/或分配给端点150。For example, card profile 219 may be identified, generated and/or assigned to endpoint 150 based on authentication of endpoint identity data 188 .

例如,卡简档219可包含软模块(例如,软卡模块243、认证模块259),所述软模块具有可由逻辑电路或端点150的处理器或其任何组合执行以模拟智能卡的功能的指令。For example, card profile 219 may include soft modules (eg, soft card module 243, authentication module 259) having instructions executable by logic circuitry or a processor of endpoint 150, or any combination thereof, to emulate the functionality of a smart card.

例如,卡简档219可以存储于存储器装置130中以模拟在访问蜂窝通信网络时通常用于认证移动电话的订户识别模块(SIM)卡。例如,卡简档219可包含国际移动订户身份编号255和与国际移动订户身份编号255相关联的认证密钥257。For example, the card profile 219 may be stored in the memory device 130 to emulate a Subscriber Identity Module (SIM) card typically used to authenticate a mobile phone when accessing a cellular communication network. For example, the card profile 219 may contain an International Mobile Subscriber Identity number 255 and an authentication key 257 associated with the International Mobile Subscriber Identity number 255 .

例如,当端点150请求到国际移动订户身份编号255的蜂窝连接时,移动/蜂窝网络运营商可提出安全质询以认证端点150。作为响应,卡简档219可用于通过使用认证密钥257对具有随机数的消息进行签名来生成对安全质询的响应,以证明端点拥有认证密钥257。例如,可以使用认证密钥257对具有随机数的消息进行签名。对安全质询的响应可包含用于认证的数字签名的一部分;数字签名的另一部分可用作用于加密与蜂窝连接相关联的通信会话的对称加密密钥。For example, when endpoint 150 requests a cellular connection to International Mobile Subscriber Identity Number 255, the mobile/cellular network operator may raise a security challenge to authenticate endpoint 150. In response, the card profile 219 may be used to generate a response to the security challenge by signing the message with the nonce using the authentication key 257 to prove that the endpoint possesses the authentication key 257 . For example, the authentication key 257 can be used to sign a message with a random number. The response to the security challenge may contain part of the digital signature used for authentication; another part of the digital signature may be used as a symmetric encryption key used to encrypt the communication session associated with the cellular connection.

图12示出根据一个实施例的基于存储器装置的安全特征提供的安全服务的方法。例如,图12的方法可以使用图9和10的技术基于上文结合图1-5所论述的存储器装置130的安全特征在图1的计算系统中实施。12 illustrates a method for providing security services based on security features of a memory device, according to one embodiment. For example, the method of FIG. 12 may be implemented in the computing system of FIG. 1 using the techniques of FIGS. 9 and 10 based on the security features of memory device 130 discussed above in connection with FIGS. 1-5.

在框321处,安全服务器140从客户端服务器141接收请求(例如,173和/或281)。请求包含具有访问控制器109的存储器装置130的身份数据113。At block 321 , the security server 140 receives a request (eg, 173 and/or 281 ) from the client server 141 . The request contains the identity data 113 of the memory device 130 with the access controller 109 .

在框323处,安全服务器140基于存储器装置130的秘密和身份数据113确定存储器装置130的真实性。At block 323 , the security server 140 determines the authenticity of the memory device 130 based on the secret and identity data 113 of the memory device 130 .

例如,秘密可以是在安全设施中完成存储器装置130的制造之后不传送到存储器装置130之外的唯一装置秘密101。身份数据113基于至少部分地基于唯一装置秘密101生成的秘密密钥137。在存储器装置在安全设施中的制造期间,秘密注册到安全服务器140中,以至少部分地基于秘密生成验证身份数据113的加密密钥106。用于验证身份数据113加密密钥106可进一步基于在存储器装置130的主机系统120的启动时间期间从主机系统120接收的数据125而生成。在安全设施中完成存储器装置130的制造之后,存储器装置130可以组装到具有连接到存储器装置130的主机接口147的主机系统120的端点150中。配置成在主机系统120的处理装置118中执行的指令的至少一部分存储于存储器装置130中。For example, the secret may be the only device secret 101 that is not transferred outside of the memory device 130 after manufacture of the memory device 130 is completed in a secure facility. The identity data 113 is based on a secret key 137 generated based at least in part on the unique device secret 101 . During manufacture of the memory device in the secure facility, the secret is registered with the secure server 140 to generate an encryption key 106 that authenticates the identity data 113 based at least in part on the secret. The encryption key 106 used to verify the identity data 113 may be further generated based on data 125 received from the host system 120 during the boot time of the host system 120 of the memory device 130 . After fabrication of memory device 130 is complete in a secure facility, memory device 130 may be assembled into endpoint 150 of host system 120 having host interface 147 connected to memory device 130 . At least a portion of the instructions configured to be executed in the processing device 118 of the host system 120 are stored in the memory device 130 .

在框325处,安全服务器140生成命令155的验证码153。At block 325 , the security server 140 generates the verification code 153 for the command 155 .

例如,在基于存储在安全服务器140中的客户端权限数据283确定客户端服务器141具有在存储器装置130中执行命令155的权限之后,可为客户端服务器141生成验证码153,并基于权限在响应174中提供验证码153。For example, after determining that client server 141 has authority to execute command 155 in memory device 130 based on client authority data 283 stored in secure server 140, verification code 153 may be generated for client server 141, and based on the authority, in response Verification code 153 is provided in 174.

例如,在确定存储器装置130处于已报告丢失或被盗的端点150中之后,可为停用存储器装置130的命令155生成验证码153。For example, after determining that the memory device 130 is in an endpoint 150 that has been reported lost or stolen, a verification code 153 may be generated for the command 155 to deactivate the memory device 130 .

在框327处,安全服务器140向客户端服务器141传送含有验证码153的响应174。At block 327 , the security server 140 transmits the response 174 containing the verification code 153 to the client server 141 .

例如,响应174可基于当身份数据113含有使用秘密生成的验证码133时确定存储器装置130具有秘密。For example, the response 174 may be based on determining that the memory device 130 has the secret when the identity data 113 contains the verification code 133 generated using the secret.

在框329处,客户端服务器141向存储器装置130传输命令155和验证码153。At block 329 , the client server 141 transmits the command 155 and the verification code 153 to the memory device 130 .

在框331处,存储器装置130的访问控制器109验证验证码153以确定是否阻止在存储器装置130中执行命令155。At block 331 , the access controller 109 of the memory device 130 verifies the verification code 153 to determine whether to prevent execution of the command 155 in the memory device 130 .

例如,在存储器装置130中执行时,命令155使供访问控制器109用于验证使用加密密钥145生成的验证码(例如,153)的访问控制密钥149改变,所述加密密钥表示在存储器装置130中执行一或多个命令的权限。For example, when executed in the memory device 130, the command 155 causes the access control key 149 used by the access controller 109 to verify the verification code (eg, 153) generated using the encryption key 145 to change, the encryption key representing the Permission to execute one or more commands in memory device 130 .

例如,在存储器装置130中执行时,命令155使存储器装置130的安全特征的设置改变。例如,改变可包含存储器装置130的安全特征的激活或安全特征的撤销激活。For example, when executed in memory device 130, command 155 causes a setting of a security feature of memory device 130 to change. For example, the change may include activation of a security feature of memory device 130 or deactivation of a security feature.

例如,在含有存储器装置130的端点150已经报告丢失或被盗之后,在存储器装置130中执行时,命令155使存储器装置130停用存储于存储器装置130中的启动加载程序。For example, command 155 causes memory device 130 to disable a bootloader stored in memory device 130 when executed in memory device 130 after endpoint 150 containing memory device 130 has reported loss or theft.

例如,在存储器装置130中执行时,命令155使访问控制器116阻止对存储器装置130中的存储器单元103的一或多个区段的访问。For example, when executed in memory device 130 , command 155 causes access controller 116 to block access to one or more sections of memory cells 103 in memory device 130 .

例如,在存储器装置130中执行时,命令155使存储器装置130清除存储于存储器装置130中的数据的解密密钥。For example, when executed in memory device 130 , command 155 causes memory device 130 to clear the decryption key for data stored in memory device 130 .

例如,在存储器装置130中执行时,命令155使存储器装置130不可逆地破坏存储器装置130的至少一个方面。For example, when executed in memory device 130 , command 155 causes memory device 130 to irreversibly destroy at least one aspect of memory device 130 .

例如,基于身份数据113的验证,会话密钥263可以在安全服务器140和存储器装置130之间建立且已知,而无需经由安全服务器140和存储器装置130之间的连接传送会话密钥263。供访问控制器109用于验证命令155的验证码153的访问控制密钥149可基于会话密钥263。For example, based on verification of identity data 113, session key 263 may be established and known between secure server 140 and memory device 130 without the need to transmit session key 263 via the connection between secure server 140 and memory device 130. The access control key 149 used by the access controller 109 to authenticate the verification code 153 of the command 155 may be based on the session key 263 .

任选地,安全服务器140可基于从存储器装置130加载且在主机系统120中执行的指令使命令155和验证码153传输到存储器装置130。Optionally, secure server 140 may cause command 155 and verification code 153 to be transmitted to memory device 130 based on instructions loaded from memory device 130 and executed in host system 120 .

图13示出根据一个实施例的登入账户订阅的服务的端点的方法。例如,图13的方法可以使用图9和10的技术基于上文结合图1-5所论述的存储器装置130的安全特征在图1的计算系统中实施。13 illustrates a method of logging into an endpoint of a service subscribed to by an account, according to one embodiment. For example, the method of FIG. 13 may be implemented in the computing system of FIG. 1 using the techniques of FIGS. 9 and 10 based on the security features of memory device 130 discussed above in connection with FIGS. 1-5.

在框341处,服务器系统从端点150接收与服务相关联的请求(例如,171和/或173)。服务经由服务由不同账户表示的多个订户的计算机网络(例如,网络110)提供。请求包含由配置于端点150中的存储器装置130生成的身份数据113。At block 341 , the server system receives a request (eg, 171 and/or 173 ) associated with the service from endpoint 150 . The service is provided via a computer network (eg, network 110) that serves multiple subscribers represented by different accounts. The request includes identity data 113 generated by memory device 130 configured in endpoint 150 .

例如,服务器系统可包含安全服务器140和/或卡服务器223。任选地,服务器系统可进一步包含与安全服务器140通信的客户端服务器141。For example, the server system may include the security server 140 and/or the card server 223 . Optionally, the server system may further include a client server 141 in communication with the security server 140 .

例如,服务可以是蜂窝连接服务、支付卡服务、视频监控服务、基于云的存储或计算服务等等。For example, the services may be cellular connectivity services, payment card services, video surveillance services, cloud-based storage or computing services, and the like.

在框343处,服务器系统响应于请求并基于存储器装置130的秘密和身份数据113而确定端点150的真实性。例如,框343中的操作可以类似于在框323中执行的操作的方式执行。At block 343 , the server system determines the authenticity of the endpoint 150 in response to the request and based on the secret and identity data 113 of the memory device 130 . For example, the operations in block 343 may be performed in a manner similar to the operations performed in block 323 .

在框345处,基于身份数据113,基于端点150的所有权数据在多个订户当中识别一订户。At block 345, based on the identity data 113, a subscriber is identified among the plurality of subscribers based on the ownership data of the endpoint 150.

例如,在端点(例如,150)的制造商的设施中制造端点150期间,存储器装置130连接到主机系统120;并且在存储器装置130中安装用于端点150的操作的软件包。测试端点150。在端点注册235中,存储器装置130配置成生成密钥137,该密钥137不仅表示具有唯一装置秘密101的存储器装置130,而且还表示具有存储器装置130的端点150,存储器装置130在启动时间具有存储器单元103中的数据123和来自主机系统120的数据125。For example, during manufacture of endpoint 150 in the facility of the manufacturer of the endpoint (eg, 150), memory device 130 is connected to host system 120; and a software package for operation of endpoint 150 is installed in memory device 130. Test endpoint 150. In endpoint registration 235, the memory device 130 is configured to generate a key 137 that not only represents the memory device 130 with the unique device secret 101, but also represents the endpoint 150 with the memory device 130, which at boot time has Data 123 in memory unit 103 and data 125 from host system 120 .

当端点150从制造商转移到经销商和终端用户或订户时,使端点150的公共识别与订户的身份相关联的数据存储在服务器系统中。所有权数据可以存储在服务器系统中,而无需物理地操作端点150(例如,无需打开自端点150制造以来围封端点150的封装)。例如,端点150的公共识别可包含端点150的唯一识别111和/或识别端点150的制造商已知的端点150的品牌、型号和序列号的数据127。When the endpoint 150 is transferred from the manufacturer to the distributor and the end user or subscriber, the data that associates the public identity of the endpoint 150 with the identity of the subscriber is stored in the server system. Ownership data can be stored in the server system without physically manipulating the endpoint 150 (eg, without opening the package that has encapsulated the endpoint 150 since the endpoint 150 was manufactured). For example, the public identification of the endpoint 150 may include a unique identification 111 of the endpoint 150 and/or data 127 identifying the make, model and serial number of the endpoint 150 known to the manufacturer of the endpoint 150 .

当订户为提供给端点150的服务开通账户时,订户的身份可与账户相关联。When a subscriber opens an account for a service provided to endpoint 150, the subscriber's identity may be associated with the account.

例如,客户端权限数据283可包含端点150的所有权数据和/或展示订户账户的订户数据。For example, client rights data 283 may include ownership data for endpoint 150 and/or subscriber data exposing subscriber accounts.

在框347处,响应于在框341中接收的请求,确定所识别订户的账户。At block 347, in response to the request received in block 341, an account of the identified subscriber is determined.

例如,可通过匹配与所有权数据中的身份数据113相关联的订户身份和与订户数据中的账户相关联的订户身份来识别账户。For example, an account may be identified by matching the subscriber identity associated with the identity data 113 in the ownership data with the subscriber identity associated with the account in the subscriber data.

在框349处,服务器系统基于账户使服务提供给端点150。At block 349, the server system causes the service to be provided to the endpoint 150 based on the account.

在一些实施方案中,存储在安全服务器140中的客户端权限数据283指示订户的身份数据113和账户之间的关联。因此,在基于接收到的身份数据113验证端点150的真实性期间,可以根据客户端权限数据283识别账户。In some embodiments, the client rights data 283 stored in the secure server 140 indicates the association between the subscriber's identity data 113 and the account. Thus, during verification of the authenticity of endpoint 150 based on received identity data 113, the account can be identified from client rights data 283.

在替代实施方案中,存储在安全服务器140中的客户端权限数据283指示作为所有者的订户的身份数据113和身份之间的关联。因此,在基于接收到的身份数据113验证端点150的真实性期间,可以根据客户端权限数据283识别订户。另一服务器(例如,客户端服务器141或卡服务器223)存储订户数据以基于安全服务器140所识别的订户识别账户。In an alternative embodiment, the client rights data 283 stored in the secure server 140 indicates the association between the identity data 113 and the identity of the subscriber as the owner. Thus, during verification of the authenticity of endpoint 150 based on received identity data 113, the subscriber may be identified from client rights data 283. Another server (eg, client server 141 or card server 223 ) stores subscriber data to identify accounts based on the subscriber identified by security server 140 .

使用图13的方法,账户订阅的服务可以提供/定向到端点150,而无需为订户和/或订户的账户定制端点150本身。例如,订户可以在制造端点150期间简单地打开围封端点150的封装,并使用端点150访问订户账户订阅的服务,而无需插入卡(例如,SIM卡)识别订户或账户和/或无需与在端点150中运行的应用程序或实用程序交互以识别订户或账户。Using the method of FIG. 13, services subscribed to by an account can be provided/directed to endpoint 150 without having to customize endpoint 150 itself for the subscriber and/or the subscriber's account. For example, a subscriber may simply open the package enclosing the endpoint 150 during manufacture of the endpoint 150 and use the endpoint 150 to access services subscribed to by the subscriber's account without inserting a card (eg, a SIM card) to identify the subscriber or account and/or without having to communicate with the Applications or utilities running in endpoint 150 interact to identify subscribers or accounts.

例如,在制造端点150之后,在框341中接收的请求之前,端点150没有针对订户的定制,也没有针对账户的定制。端点150制造成可由多个订户中的任何一个使用。响应于在框341中接收到的请求,端点150自动链接到获得服务的订户的特定账户。For example, after the endpoint 150 is manufactured and prior to the request received in block 341, the endpoint 150 has no customization for the subscriber, nor customization for the account. Endpoint 150 is made available for use by any of a number of subscribers. In response to the request received in block 341, the endpoint 150 is automatically linked to the particular account of the subscriber obtaining the service.

例如,在接收用于订户账户的服务之前和/或之后,端点150不含插入到端点150中以表示订户、账户或其任何组合的硬件组件。For example, endpoint 150 does not contain hardware components that are inserted into endpoint 150 to represent a subscriber, an account, or any combination thereof, before and/or after receiving services for a subscriber account.

例如,至少在框341中接收的请求之前,端点150不含存储到端点150中以表示订户、账户或其任何组合的数据。For example, at least until the request received in block 341, endpoint 150 does not contain data stored into endpoint 150 to represent a subscriber, an account, or any combination thereof.

例如,至少在框341中接收的请求之前,端点150不含订户、账户或其任何组合的指示,且不具有端点150的所有权数据;并且所有权数据存储在服务器系统中而不在端点150中。For example, at least prior to the request received in block 341, endpoint 150 contains no indication of a subscriber, account, or any combination thereof, and does not have ownership data for endpoint 150; and the ownership data is stored in the server system and not in endpoint 150.

任选地,响应于在框341中接收的请求,服务器系统和/或端点150可存储端点150的身份数据与订户账户的关联。Optionally, in response to the request received in block 341, the server system and/or endpoint 150 may store an association of the endpoint's 150 identity data with the subscriber account.

例如,安全服务器140可使用加密密钥145生成命令155的验证码153。服务器系统可使存储器装置130接收命令155和验证码153。在存储器装置130中执行命令155之前,存储器装置130的访问控制器109配置成基于访问控制密钥149验证验证码153。任选地,访问控制密钥149和加密密钥145可基于以图9中论述的方式建立的会话密钥。For example, the security server 140 may use the encryption key 145 to generate the verification code 153 for the command 155 . The server system may cause the memory device 130 to receive the command 155 and the verification code 153 . Before executing the command 155 in the memory device 130 , the access controller 109 of the memory device 130 is configured to verify the verification code 153 based on the access control key 149 . Optionally, access control key 149 and encryption key 145 may be based on session keys established in the manner discussed in FIG. 9 .

在存储器装置130中执行时,命令155使存储器装置130存储识别账户的额外数据。例如,所述额外数据可以是在生成更新后的身份数据113时用于生成秘密密钥137的装置信息121的部分。例如,所述额外数据包含在更新后的身份数据113中的消息131的数据127中,所述更新后的身份数据113由存储器装置130在命令的执行之后生成。例如,所述额外数据可包含识别订户账户的卡简档219。When executed in memory device 130, command 155 causes memory device 130 to store additional data identifying the account. For example, the additional data may be part of the device information 121 used to generate the secret key 137 when the updated identity data 113 is generated. For example, the additional data is included in the data 127 of the message 131 in the updated identity data 113 generated by the memory device 130 after the execution of the command. For example, the additional data may include a card profile 219 identifying the subscriber's account.

替代地,使存储器装置130和/或端点150的身份数据113相关联的数据可以存储在服务器系统中(例如,作为客户端权限数据283和/或卡简档219的部分),而无需改变用于对身份数据113进行签名的秘密密钥137。Alternatively, the data associating the identity data 113 of the memory device 130 and/or the endpoint 150 may be stored in the server system (eg, as part of the client rights data 283 and/or the card profile 219) without changing the usage The secret key 137 used to sign the identity data 113 .

由于不需要在端点150上进行操作来将订户的账户的服务定向到端点150,因此端点150可以被配置为具有蜂窝连接能力的IoT装置,而不需要用于其定制以接收蜂窝连接服务的用户接口。例如,可以在没有用于插入卡来识别订户的插槽的情况下配置端点150。例如,可以在没有用于接收来自终端用户的输入以识别订户的用户接口的情况下配置端点150。Because no operations on endpoint 150 are required to direct the services of the subscriber's account to endpoint 150, endpoint 150 can be configured as a cellular-connected capable IoT device without the need for a user for which it is customized to receive cellular-connected services interface. For example, endpoint 150 may be configured without a slot for inserting a card to identify a subscriber. For example, endpoint 150 may be configured without a user interface for receiving input from an end user to identify a subscriber.

在一些实施方案中,端点150具有可运行不同固件以提供不同功能的通用硬件配置。此外,固件的更新版本可以安装在端点150中,以校正运行先前版本的固件的端点150中的缺陷或错误,以提高性能和/或提供新功能。任选地,固件应用程序可运行于基础版本的固件上以添加功能、特征和/或服务。In some embodiments, endpoint 150 has a general hardware configuration that can run different firmware to provide different functionality. Additionally, updated versions of firmware may be installed in endpoints 150 to correct defects or errors in endpoints 150 running previous versions of firmware to improve performance and/or provide new functionality. Optionally, a firmware application may run on the base version of the firmware to add functionality, features and/or services.

例如,不同的客户端服务器141、…、143可使用运行不同固件的端点150的相同硬件提供不同服务。例如,所述不同的客户端服务器141、…、143可使用端点150的相同硬件提供类似服务,但是执行使用不同固件实施的不同处理。For example, different client servers 141, . . . 143 may provide different services using the same hardware of endpoints 150 running different firmware. For example, the different client servers 141, . . . , 143 may provide similar services using the same hardware of endpoint 150, but perform different processing implemented using different firmware.

在通过安装不同固件组装端点150并将其运送到终端用户或订户之后,可以针对不同的客户端服务器141、…、143定制端点150。After the endpoint 150 is assembled and shipped to end users or subscribers by installing different firmware, the endpoint 150 can be customized for different client servers 141 , . . . , 143 .

例如,可以在通信网络110上配置在线固件商店,以允许终端用户购买某一版本的固件。安装选定版本的固件可能包含也可能不包含安装使用基线版本的固件运行的固件应用程序。在安装选定版本的固件之后,将端点150定制为在至少一个方面不同于运行先前固件的端点150。For example, an online firmware store may be configured on the communication network 110 to allow end users to purchase a certain version of firmware. Installing a selected version of firmware may or may not include installing a firmware application running with a baseline version of firmware. After the selected version of the firmware is installed, the endpoint 150 is customized to differ in at least one respect from the endpoint 150 running the previous firmware.

在一些情况下,更新后的固件表示由端点150的用户请求的端点150的服务。端点150的服务可以依赖于也可以不依赖于客户端服务器或服务提供商提供的服务。In some cases, the updated firmware represents a service of endpoint 150 requested by a user of endpoint 150 . The services of the endpoint 150 may or may not be dependent on the services provided by the client server or service provider.

端点150的功能可以至少部分地由其固件定义。例如,当端点150运行一个版本的固件时,端点150可以向端点150的用户提供一个功能;并且当端点150运行另一版本的固件时,端点150可以向端点150的用户提供不同的功能。The functionality of endpoint 150 may be defined, at least in part, by its firmware. For example, endpoint 150 may provide one functionality to a user of endpoint 150 when endpoint 150 is running one version of firmware; and endpoint 150 may provide a different functionality to a user of endpoint 150 when endpoint 150 is running another version of firmware.

例如,不同的第三方服务提供商可以基于公共的通用硬件平台提供IoT装置的软件/固件解决方案。例如,在线商店中提供的固件可编程为使通用IoT装置能够与第三方服务器协作以提供特定类型的服务。任选地,在线商店中提供的固件应用程序可以在通用版本的固件上运行,并使用通用固件提供的基本服务来提供特定类型的服务。基线版本的固件和固件应用程序的组合可视为增强版本的固件。当不同端点硬件平台的基线版本的固件提供标准化服务时,固件应用程序可以是与装置无关的,并支持来自不同供应商的一类IoT装置。替代地,固件应用程序可能依赖于装置,并使用不同供应商的不同硬件能力。For example, different third-party service providers can provide software/firmware solutions for IoT devices based on a common common hardware platform. For example, firmware provided in an online store can be programmed to enable generic IoT devices to cooperate with third-party servers to provide specific types of services. Optionally, a firmware application provided in an online store can run on a generic version of the firmware and use the basic services provided by the generic firmware to provide a specific type of service. The combination of the baseline version of the firmware and the firmware application can be considered an enhanced version of the firmware. While baseline versions of firmware for different endpoint hardware platforms provide standardized services, firmware applications can be device-agnostic and support a class of IoT devices from different vendors. Alternatively, firmware applications may be device-dependent and use different hardware capabilities from different vendors.

安全服务器140可耦合到在线固件商店以响应于验证端点的真实性而向端点(例如,150)提供固件更新。Security server 140 may be coupled to an online firmware store to provide firmware updates to endpoints (eg, 150 ) in response to verifying the authenticity of the endpoints.

例如,当端点150初始地连接到客户端服务器141时,客户端服务器141与安全服务器140通信以验证端点150的身份和/或真实性。端点150的所有者可在验证过程中确定。在端点150的订阅服务被识别之后,相关固件应用程序可以从在线固件商店下载并通过空中(OTA)更新安装到端点150中。For example, when endpoint 150 initially connects to client server 141 , client server 141 communicates with security server 140 to verify the identity and/or authenticity of endpoint 150 . The owner of endpoint 150 may be determined during the verification process. After the subscription service for endpoint 150 is identified, the relevant firmware application can be downloaded from an online firmware store and installed into endpoint 150 via an over-the-air (OTA) update.

例如,安全服务器140可生成命令155的验证码153以将固件应用程序安装到存储器装置130中。在执行命令155之后,固件应用程序变成存储于存储器装置130的存储器单元103中的数据123的部分,并在生成用于存储器装置130和端点150的更新后的身份数据113的更新后的秘密密钥137时用作装置信息121的部分。For example, the security server 140 may generate the verification code 153 of the command 155 to install the firmware application into the memory device 130 . After execution of command 155, the firmware application becomes part of data 123 stored in memory unit 103 of memory device 130 and generates an updated secret for memory device 130 and the updated identity data 113 of endpoint 150 The key 137 is used as part of the device information 121.

随后,当在线固件商店中存在固件应用程序的更新时,在身份数据113的验证期间可以检测到端点150中的过时固件应用程序;并且安全服务器140可以为端点150发起空中(OTA)更新以降低安全风险。Subsequently, when there is an update to the firmware application in the online firmware store, an outdated firmware application in endpoint 150 may be detected during verification of identity data 113; and security server 140 may initiate an over-the-air (OTA) update for endpoint 150 to reduce Security Risk.

例如,在线服务商店可提供经由端点(例如,150)提供的基于云的服务,例如物联网(IoT)装置。同一端点150可经由与可操作不同客户端服务器141、…、143的不同服务提供商一起使用的固件更新来定制。For example, an online service store may provide cloud-based services, such as Internet of Things (IoT) devices, provided via endpoints (eg, 150). The same endpoint 150 can be customized via firmware updates for use with different service providers that can operate different client servers 141 , . . . , 143 .

例如,端点150的用户可以访问在线商店以订阅服务提供商的服务、更改订阅的服务和/或将订阅从一个服务提供商移动到另一个服务提供商。用户为端点150订购的订阅可以作为与端点150的身份相关联的客户端权限数据283的部分进行跟踪。当安全服务器140验证端点150的身份数据113时,安全服务器140可以检查端点150是否需要用于订阅服务和/或替换过时版本的固件的固件更新。如果是,那么安全服务器140可以在端点150从服务提供商接收订阅的服务之前,经由在线商店使固件更新定制和/或更新端点150。任选地,安全服务器140与端点150通信以将端点150定向到服务提供商的当前客户端服务器141。替代地,更新后的固件使端点150连接到服务提供商的当前客户端服务器141。For example, a user of endpoint 150 may access an online store to subscribe to a service provider's services, change subscribed services, and/or move subscriptions from one service provider to another. Subscriptions subscribed by a user for endpoint 150 may be tracked as part of client rights data 283 associated with the identity of endpoint 150 . When the security server 140 verifies the identity data 113 of the endpoint 150, the security server 140 may check whether the endpoint 150 needs a firmware update for subscription services and/or to replace outdated versions of firmware. If so, the security server 140 may customize and/or update the endpoint 150 via the online store with a firmware update before the endpoint 150 receives the subscribed service from the service provider. Optionally, the security server 140 communicates with the endpoint 150 to direct the endpoint 150 to the service provider's current client server 141 . Instead, the updated firmware enables endpoint 150 to connect to the service provider's current client server 141 .

一般来说,安全服务器140可以连接到或包含在线服务商店和/或在线固件商店。服务器系统可具有安全服务器140、在线服务商店和/或在线固件商店。服务器系统可跟踪用于订阅不同服务提供商的服务的账户,并跟踪端点(例如,150)的用户所选择/购买的固件定制。In general, secure server 140 may be connected to or include an online service store and/or an online firmware store. The server system may have a secure server 140, an online service store, and/or an online firmware store. The server system may track accounts used to subscribe to services of different service providers and track firmware customizations selected/purchased by users of endpoints (eg, 150).

端点150的用户的账户与为端点150订阅的服务提供商可以使用用户的身份进行跟踪,并与作为用于自动固件更新的端点150的所有者的用户的身份相关联。通过相关,用户在在线服务商店和/或在线固件商店中进行的固件和/或服务选择可以映射到用户的端点150。替代地,端点150的用户可以使用作为端点150的身份数据113的部分的端点150的公共识别来明确地为端点150选择固件和/或服务。The user's account of endpoint 150 and the service provider subscribed to endpoint 150 may be tracked using the user's identity and associated with the user's identity as the owner of endpoint 150 for automatic firmware updates. By correlation, firmware and/or service selections made by a user in an online service store and/or an online firmware store may be mapped to the user's endpoint 150 . Alternatively, the user of endpoint 150 may use the public identification of endpoint 150 as part of endpoint 150's identity data 113 to explicitly select firmware and/or services for endpoint 150.

在一些实施方案中,端点150初始连接到用于服务的安全服务器140。安全服务器140可以基于客户端权限数据283识别在线服务商店中注册的订阅服务的当前提供商。在验证端点150的真实性并确定服务提供商之后,安全服务器140为服务提供商配置端点150的固件(例如,使用在线固件商店),并将端点150定向到服务提供商的客户端服务器(例如,141、…、或143)。因此,端点150可以最小的用户努力无缝地提供从在线服务商店订购的服务。In some embodiments, endpoint 150 initially connects to secure server 140 for service. The security server 140 may identify the current provider of subscription services registered in the online service store based on the client rights data 283 . After verifying the authenticity of the endpoint 150 and determining the service provider, the security server 140 configures the firmware of the endpoint 150 for the service provider (eg, using an online firmware store) and directs the endpoint 150 to the service provider's client server (eg, using an online firmware store) , 141, ..., or 143). Thus, endpoint 150 can seamlessly provide services ordered from an online service store with minimal user effort.

图14示出根据一个实施例的使用在线固件商店的端点定制技术。例如,图14的技术可以在具有参考图1到5论述的安全服务和特征的图1和/或图6的计算系统中实施。图14的技术可与图9到13的技术组合使用。14 illustrates an endpoint customization technique using an online firmware store, according to one embodiment. For example, the techniques of FIG. 14 may be implemented in the computing system of FIG. 1 and/or FIG. 6 having the security services and features discussed with reference to FIGS. 1-5. The technique of FIG. 14 may be used in combination with the techniques of FIGS. 9-13.

在图14中,在线固件商店170配置成促进用于端点(例如,150)定制和/或更新的固件和/或固件应用程序的选择,以及安全服务器140对端点(例如,150)的身份的验证。In Figure 14, the online firmware store 170 is configured to facilitate selection of firmware and/or firmware applications for endpoint (eg, 150) customization and/or updating, as well as secure server 140 identification of the endpoint (eg, 150) verify.

端点150具有一组硬件,包含主机系统120和具有安全特征的存储器装置130。端点150的功能可由存储于存储器装置130中且执行于端点150的主机系统120中的固件363定义、定制和更新。Endpoint 150 has a set of hardware including host system 120 and memory device 130 with security features. The functionality of endpoint 150 may be defined, customized, and updated by firmware 363 stored in memory device 130 and executing in host system 120 of endpoint 150 .

端点150的制造商可以安装基线版本的固件363,此固件363编程成允许端点150生成并提交身份数据113以供安全服务器140验证。基线版本的固件363进一步配置成促进经由固件商店170对固件的更新以及安全服务器140对身份数据113的验证。The manufacturer of the endpoint 150 may install a baseline version of firmware 363 programmed to allow the endpoint 150 to generate and submit identity data 113 for verification by the security server 140 . The baseline version of firmware 363 is further configured to facilitate updating of firmware via firmware store 170 and verification of identity data 113 by secure server 140 .

一般来说,端点150的固件更新可以是替换在主机系统120中执行的整个固件363,或添加和/或替换一或多个固件应用程序(例如,应用程序367、…、369)。In general, a firmware update of endpoint 150 may be to replace the entire firmware 363 executing in host system 120, or to add and/or replace one or more firmware applications (eg, applications 367, . . . , 369).

端点平台361可用于表示一类端点硬件。所述类别中的每个端点(例如,150)可运行不同版本的固件(例如,363、…、365)以提供不同功能和/或服务。Endpoint platform 361 may be used to represent a type of endpoint hardware. Each endpoint in the class (eg, 150) may run a different version of firmware (eg, 363, . . . , 365) to provide different functions and/or services.

在一些实施方案中,固件363可以经由一或多个固件应用程序(例如,应用程序367、…、369)定制。例如,运行固件363的端点150可进一步运行任选的应用程序(例如,应用程序367、…、或369)以提供固件363中不存在的新功能,停用固件363中的现有功能,改变或定制固件363中的现有功能,等等。In some embodiments, firmware 363 may be customized via one or more firmware applications (eg, applications 367, . . . , 369). For example, endpoint 150 running firmware 363 may further run optional applications (eg, applications 367, . . . , or 369) to provide new functionality not present in firmware 363, disable existing functionality in firmware 363, change Or customize existing functionality in firmware 363, etc.

例如,当固件应用程序(例如,应用程序367)在端点150中的固件363上运行时,端点150定制用于与服务提供商的客户端服务器141通信以实施服务或功能和/或从服务提供商接收服务。当另一固件应用程序(例如,应用程序369)在端点150中的固件363上运行时,端点150以不同方式定制以与不同服务提供商的另一客户端服务器143通信,以实施替代性或类似服务或功能和/或从所述不同服务提供商接收替代性或类似服务。For example, when a firmware application (eg, application 367 ) runs on firmware 363 in endpoint 150, endpoint 150 is customized for communicating with the service provider's client server 141 to implement services or functions and/or provide services from merchants to receive services. When another firmware application (eg, application 369) runs on firmware 363 in endpoint 150, endpoint 150 is customized differently to communicate with another client server 143 of a different service provider to implement alternative or similar services or functions and/or receive alternative or similar services from said different service providers.

例如,固件应用程序(例如,应用程序367)可编程成实施特定于客户端服务器141的通信协议。For example, a firmware application (eg, application 367 ) can be programmed to implement a communication protocol specific to client server 141 .

例如,固件应用程序(例如,应用程序367)可编程成执行生成新类型的结果的新计算功能。For example, a firmware application (eg, application 367 ) can be programmed to perform new computational functions that generate new types of results.

例如,固件应用程序(例如,应用程序367)可编程成与客户端服务器141通信以获得经由客户端服务器141提供的服务。客户端服务器141的服务的实例包含客户端服务器141处理端点150的数据的计算资源、用于由端点150生成的数据的客户端服务器141的数据存储设施、用于针对与端点150相关联的一或多个其它装置的通知和/或警告的消息传递设施、经由客户端服务器141和与端点150相关联的一或多个其它装置的连接、端点150经由Wi-Fi访问点、通信卫星和/或由客户端服务器141控制的通信连接或设备的互联网访问,等等。For example, a firmware application (eg, application 367 ) can be programmed to communicate with client server 141 to obtain services provided via client server 141 . Examples of client server 141 services include computing resources for client server 141 to process endpoint 150 data, client server 141 data storage facilities for data generated by endpoint 150, Messaging facilities for notifications and/or alerts of one or more other devices, connections via client server 141 and one or more other devices associated with endpoint 150, endpoint 150 via Wi-Fi access points, communication satellites and/or Or a communication connection controlled by the client server 141 or internet access of the device, and so on.

一般来说,不同服务提供商可以提供不同版本的固件和/或不同固件应用程序来定制相同端点平台361中的端点(例如,150)。平台361中的端点可由同一制造商或不同制造商制造和/或组装。In general, different service providers may provide different versions of firmware and/or different firmware applications to customize endpoints in the same endpoint platform 361 (eg, 150). Endpoints in platform 361 may be manufactured and/or assembled by the same manufacturer or by different manufacturers.

任选地,基线版本的固件(例如,363)可提供一组标准化功能,固件应用程序(例如,应用程序367、…、369)可基于这些功能运行。因此,可以安装同一固件应用程序(例如,应用程序367)以定制具有不同硬件配置和/或不同基线版本的固件(例如,363、…、365)的端点(例如,150)。替代地,不同固件应用程序可针对在具有不同硬件实施方案的端点上运行的不同基线版本的固件(例如,363、…、365)编程,以提供相应端点的同一定制功能和/或客户端服务器141的相同服务。Optionally, a baseline version of firmware (eg, 363) may provide a standardized set of functions upon which firmware applications (eg, applications 367, . . . , 369) may operate. Thus, the same firmware application (eg, application 367) can be installed to customize endpoints (eg, 150) with different hardware configurations and/or different baseline versions of firmware (eg, 363, . . . , 365). Alternatively, different firmware applications may be programmed for different baseline versions of firmware (eg, 363, . . . , 365) running on endpoints with different hardware implementations to provide the same customized functionality for the respective endpoint and/or client server 141 for the same service.

固件应用程序(例如,应用程序367、…、369)的使用可减少在执行固件更新时要从固件商店170下载到端点150的数据大小。替代地,不同组的固件功能可以使用不同固件(例如,363、…、365)实施,而无需额外的固件应用程序。一般来说,端点150中的固件更新可涉及替换整个现有固件363或安装固件应用程序(例如,应用程序367)。The use of firmware applications (eg, applications 367, . . . , 369) may reduce the size of data to be downloaded from firmware store 170 to endpoint 150 when performing a firmware update. Alternatively, different sets of firmware functions may be implemented using different firmware (eg, 363, . . . , 365) without additional firmware applications. In general, a firmware update in endpoint 150 may involve replacing the entire existing firmware 363 or installing a firmware application (eg, application 367).

任选地,固件商店170配置成允许端点150的用户使用计算机180选择和/或订购371用于定制端点150的固件。在一些情况下,选定版本的固件(例如,363)和/或固件应用程序(例如,367)的购买表示对来自服务提供商和/或客户端服务器(例如,141)的某一服务的请求。作为响应,固件商店170和/或安全服务器140可存储指示端点150的所需固件配置和/或所请求服务的数据。例如,客户端权限数据283可以更新成反映使用用户计算机180进行的固件和/或服务选择。Optionally, firmware store 170 is configured to allow a user of endpoint 150 to use computer 180 to select and/or order 371 firmware for customizing endpoint 150 . In some cases, the purchase of a selected version of firmware (eg, 363 ) and/or firmware application (eg, 367 ) represents a purchase of a service from a service provider and/or client server (eg, 141 ) ask. In response, firmware store 170 and/or security server 140 may store data indicative of the desired firmware configuration of endpoint 150 and/or the requested service. For example, client rights data 283 may be updated to reflect firmware and/or service selections made using user computer 180 .

一般来说,用户计算机180可与端点150不同且分开。因此,不需要可被端点150的用户访问以定制端点150使其与账户和/或服务提供商一起使用的硬件和/或软件接口。任选地,一些实施方案和/或类别的端点150可包含允许其用作用户计算机180来为端点150订购371固件的用户接口。In general, user computer 180 may be distinct and separate from endpoint 150. Thus, there is no need for a hardware and/or software interface accessible by a user of endpoint 150 to customize endpoint 150 for use with accounts and/or service providers. Optionally, some embodiments and/or classes of endpoint 150 may include a user interface that allows it to function as a user computer 180 to order 371 firmware for endpoint 150.

例如,端点150的所有者或用户可使用用户计算机180访问在线固件商店170,以便通过选择固件应用程序(例如,应用程序367)、替换版本的固件或替换版本的固件和固件应用程序的组合来为端点150订购371固件。用户的订单可被识别为服务订户和/或端点150被识别为待定制装置。For example, the owner or user of endpoint 150 may use user computer 180 to access online firmware store 170 in order to access the online firmware store 170 by selecting a firmware application (eg, application 367 ), an alternate version of firmware, or a combination of alternate versions of firmware and firmware applications. Order 371 firmware for endpoint 150. The user's order may be identified as a service subscriber and/or the endpoint 150 may be identified as a device to be ordered.

例如,端点150可经由端点150的公共识别识别,例如端点150的型号和序列号、移动设备身份编号253、国际移动订户身份编号255、唯一识别111和/或包含在身份数据113的数据127中的另一标识符。For example, endpoint 150 may be identified via a public identification of endpoint 150, such as endpoint 150 model and serial number, mobile device identity number 253, international mobile subscriber identity number 255, unique identification 111, and/or data 127 contained in identity data 113 another identifier for .

例如,用户或订户的身份可以经由账户标识符和/或一条可识别个人的信息识别,例如电子邮件地址、电话号码、名称和地址等等。For example, the identity of the user or subscriber may be identified via an account identifier and/or a piece of personally identifiable information, such as an email address, phone number, name and address, and the like.

安全服务器140可验证373从端点150和/或其存储器装置130提交的身份数据113,如上文结合图2、5和9所论述。The security server 140 may verify 373 the identity data 113 submitted from the endpoint 150 and/or its memory device 130 , as discussed above in connection with FIGS. 2 , 5 and 9 .

一般来说,身份数据113可以经由客户端服务器(例如,141或143)、经由固件商店170、经由另一服务器或网关或在不经过客户端服务器141、…、143和固件商店170中的任一个的情况下提交到安全服务器140。In general, identity data 113 may be via a client server (eg, 141 or 143 ), via firmware store 170 , via another server or gateway, or without going through any of client servers 141 , . . . , 143 and firmware store 170 A case is submitted to the secure server 140.

例如,端点150可经由现有固件363配置以自动访问固件商店170和/或安全服务器140,以进行身份验证、固件更新和/或服务定制。因此,身份数据113在一些情况下可以经由固件商店170提交到安全服务器140,在其它情况下直接提交到安全服务器140。For example, endpoint 150 may be configured via existing firmware 363 to automatically access firmware store 170 and/or secure server 140 for authentication, firmware updates, and/or service customization. Thus, identity data 113 may be submitted to secure server 140 via firmware store 170 in some cases, and directly to secure server 140 in other cases.

例如,当服务器(例如,客户端服务器141或143、固件商店170或另一服务器)从端点150接收请求171的身份数据113时,服务器(例如,141)在请求173中向安全服务器140提供身份数据113以供验证。响应于此类请求173,安全服务器140可与固件商店170通信,以识别375端点150是否存在固件更新。如果是,安全服务器140可使固件商店170更新377端点150的固件。例如,在执行固件下载以在存储器装置130中存储新版本的固件和/或固件应用程序(例如,应用程序367)之后,在存储器装置130中执行使用加密密钥145签名的命令155,以使得新版本的固件和/或固件应用程序(例如,应用程序367)在存储器装置130中执行并成为存储器装置130和/或端点150的身份的部分。For example, when a server (eg, client server 141 or 143 , firmware store 170 , or another server) receives identity data 113 for request 171 from endpoint 150 , the server (eg, 141 ) provides the identity to security server 140 in request 173 Data 113 for verification. In response to such a request 173, the security server 140 may communicate with the firmware store 170 to identify 375 whether a firmware update exists for the endpoint 150. If so, the security server 140 may cause the firmware store 170 to update 377 the firmware of the endpoint 150. For example, after performing a firmware download to store a new version of firmware and/or firmware application (eg, application 367 ) in memory device 130 , command 155 signed with encryption key 145 is executed in memory device 130 such that The new version of firmware and/or firmware application (eg, application 367 ) executes in memory device 130 and becomes part of the identity of memory device 130 and/or endpoint 150 .

例如,固件363可以初始地安装于端点150中(例如,通过端点150的制造商)以经由客户端服务器141提供服务。在固件商店170中提供新版本的固件363以用于访问客户端服务器141的相同服务之后,安全服务器140可以响应于身份数据113的成功验证而发起新版本的安装。任选地,更新377可以经由安装在现有固件363上运行的固件应用程序(例如,应用程序367)来实施,或者经由安装新固件(例如,365)来实施。For example, firmware 363 may be initially installed in endpoint 150 (eg, by the manufacturer of endpoint 150 ) to provide services via client server 141 . After a new version of firmware 363 is provided in firmware store 170 for accessing the same services of client server 141 , security server 140 may initiate installation of the new version in response to successful verification of identity data 113 . Optionally, update 377 may be implemented via installing a firmware application (eg, application 367 ) running on existing firmware 363 , or via installing new firmware (eg, 365 ).

例如,在固件363的用户访问固件商店170订购371替代版本的固件365以定制端点150之后,当端点150的身份数据113在安全服务器140中成功验证时,固件商店170可根据订单371更新377端点150的固件。For example, after a user of firmware 363 visits firmware store 170 to order 371 an alternate version of firmware 365 to customize endpoint 150, firmware store 170 may update 377 the endpoint according to order 371 when identity data 113 of endpoint 150 is successfully verified in secure server 140 150 firmware.

在一些情况下,端点150首先访问安全服务器140。在安全服务器140验证373端点150的身份之后,安全服务器140可与在线固件商店170通信以识别375端点150的固件更新。In some cases, endpoint 150 accesses secure server 140 first. After the security server 140 verifies 373 the identity of the endpoint 150 , the security server 140 may communicate with the online firmware store 170 to identify 375 firmware updates for the endpoint 150 .

一般来说,固件更新可包含安装固件应用程序(例如,应用程序367)、用另一固件应用程序替换现有固件应用程序和/或安装新固件365。In general, a firmware update may include installing a firmware application (eg, application 367 ), replacing an existing firmware application with another firmware application, and/or installing new firmware 365 .

在识别出合乎需要的固件更新之后,固件商店170与端点150通信以更新377端点150。After identifying the desired firmware update, the firmware store 170 communicates with the endpoint 150 to update 377 the endpoint 150 .

存储器装置130的访问控制器配置成需要验证请求存储器装置130执行命令155以改变存储于存储器装置130中的固件的权限。The access controller of the memory device 130 is configured to require authentication to request the memory device 130 to execute a command 155 to change the firmware stored in the memory device 130 .

例如,在固件更新所需的数据存储到存储器装置130的区段中之后,命令155可以发送到主机接口147以在存储器装置130中执行固件更新的操作。在存储器装置130中执行命令155的权限可以由加密密钥145表示。加密密钥145可在先前配置,或响应于验证来自端点150的存储器装置130的身份数据113而生成。例如,加密密钥145可以是基于验证端点150的真实性以类似于图9的方式生成的会话密钥263;并且安全服务器140可使用加密密钥145生成命令的验证码153以供固件商店170更新端点150。替代地,安全服务器140可向固件商店170提供会话密钥263和/或加密密钥145来更新377端点150的固件。For example, after the data required for the firmware update is stored in a section of the memory device 130 , the command 155 may be sent to the host interface 147 to perform the operation of the firmware update in the memory device 130 . The right to execute command 155 in memory device 130 may be represented by encryption key 145 . The encryption key 145 may be previously configured, or generated in response to verifying the identity data 113 from the memory device 130 of the endpoint 150 . For example, encryption key 145 may be a session key 263 generated in a manner similar to FIG. 9 based on verifying the authenticity of endpoint 150; and security server 140 may use encryption key 145 to generate a verification code 153 for a command for firmware store 170 Update endpoint 150. Alternatively, the security server 140 may provide the firmware store 170 with the session key 263 and/or the encryption key 145 to update 377 the firmware of the endpoint 150 .

在成功进行固件更新之后,用于生成秘密密钥137的装置信息121更新以反映安装的固件和/或固件应用程序。例如,所安装固件和/或固件应用程序的散列值163可以存储为装置信息121的部分,以用于验证它们的完整性,如图4中所示。随后,由端点150的存储器装置130生成的身份数据113是基于更新后的装置信息121,并反映具有更新后的固件功能或配置的端点150的配置。After a successful firmware update, the device information 121 used to generate the secret key 137 is updated to reflect the installed firmware and/or firmware application. For example, a hash value 163 of the installed firmware and/or firmware application may be stored as part of the device information 121 for use in verifying their integrity, as shown in FIG. 4 . Subsequently, the identity data 113 generated by the memory device 130 of the endpoint 150 is based on the updated device information 121 and reflects the configuration of the endpoint 150 with the updated firmware function or configuration.

在一些实施例中,固件商店170是实施安全服务器140的服务器系统的部分。在另一实施例中,固件商店170托管在单独的服务器计算机上。In some embodiments, firmware store 170 is part of a server system that implements secure server 140 . In another embodiment, the firmware store 170 is hosted on a separate server computer.

在一些实施方案中,固件的更新377可以基于为端点150订阅的服务而自动执行,如下文结合图15进一步论述。In some embodiments, the update 377 of the firmware may be performed automatically based on the services subscribed for the endpoint 150, as discussed further below in connection with FIG. 15 .

图15示出根据一个实施例的经由在线服务商店将服务定向到端点的技术。例如,图15的技术可与图14的技术组合使用。15 illustrates a technique for directing services to endpoints via an online service store, according to one embodiment. For example, the technique of FIG. 15 may be used in combination with the technique of FIG. 14 .

在图15中,在线服务商店190配置成促进为端点150从一或多个服务提供商(例如,381)所提供的多个服务中选择一个服务。服务提供商(例如,381)的服务可以经由一或多个端点平台(例如,361、…、362)实施。In Figure 15, the online service store 190 is configured to facilitate the selection of a service for the endpoint 150 from a plurality of services provided by one or more service providers (eg, 381). The services of a service provider (eg, 381 ) may be implemented via one or more endpoint platforms (eg, 361 , . . . , 362 ).

例如,端点150的用户可使用计算机180访问在线服务商店190,以便使用计算机180向服务提供商381订购391服务。服务提供商381提供的服务可以与多个端点平台(例如,361、…、362)的端点一起使用。端点平台(例如,361、…、362)中的端点(例如,150)运行不同固件以获得服务提供商381的服务。服务商店190具有识别订户所订购的服务和/或端点(例如,150)的订阅数据387。For example, a user of endpoint 150 may use computer 180 to access online service store 190 in order to use computer 180 to order 391 services from service provider 381 . Services provided by service provider 381 may be used with endpoints of multiple endpoint platforms (eg, 361, . . . , 362). The endpoints (eg, 150 ) in the endpoint platforms (eg, 361 , . . . , 362 ) run different firmware to obtain the services of the service provider 381 . The service store 190 has subscription data 387 identifying the services and/or endpoints (eg, 150) subscribed by the subscriber.

例如,服务提供商381所提供的服务可以经由客户端服务器141实施;并且订阅数据387可识别连接到端点以相应地接收为端点订阅的服务的服务器。For example, services provided by service provider 381 may be implemented via client server 141; and subscription data 387 may identify servers connected to endpoints to receive services subscribed to for the endpoints accordingly.

例如,可以参考端点150的公共识别、端点150的型号和序列号、移动设备身份编号253、国际移动订户身份编号255、唯一识别111和/或包含在身份数据113的数据127中的另一标识符,为端点150明确订购服务。For example, reference may be made to the public identification of the endpoint 150, the model and serial number of the endpoint 150, the mobile equipment identity number 253, the international mobile subscriber identity number 255, the unique identification 111 and/or another identification contained in the data 127 of the identity data 113 sign to explicitly order services for endpoint 150.

替代地或组合地,可以参考用户或订户的身份来订购服务,用户或订户的身份可以通过账户标识符和/或一条可识别个人的信息来识别,例如电子邮件地址、电话号码、姓名和地址等等。Alternatively or in combination, services may be ordered with reference to the identity of the user or subscriber, which may be identified by an account identifier and/or a piece of personally identifiable information such as email address, telephone number, name and address and many more.

如在图14中,用户计算机180通常与端点150不同且分开。在一些情况下,端点150可包含允许其用作计算机180以便为端点150订购391服务的用户接口。As in FIG. 14 , user computer 180 is generally distinct and separate from endpoint 150 . In some cases, endpoint 150 may contain a user interface that allows it to function as computer 180 for ordering 391 services for endpoint 150.

当为端点150隐式地订购服务时,订户的身份可用于基于用于订购服务的订户的身份与端点150的所有者的身份的匹配来确定订户的端点的服务。When implicitly ordering services for endpoint 150, the identity of the subscriber may be used to determine the service of the subscriber's endpoint based on a match of the identity of the subscriber for ordering the service with the identity of the owner of endpoint 150.

例如,为了从服务提供商381订购391服务,端点150的用户(或用户的代表)可以访问服务商店190以建立用于订阅服务提供商381的服务的账户。For example, to order 391 services from service provider 381, a user of endpoint 150 (or a user's representative) may visit service store 190 to establish an account for subscribing to service provider 381's services.

响应于服务被订购或改变,或响应于端点150的身份数据113被验证,安全服务器140和服务商店190可彼此通信以识别393为端点150订阅的服务。In response to a service being ordered or changed, or in response to the endpoint 150's identity data 113 being verified, the security server 140 and the service store 190 may communicate with each other to identify 393 the service to which the endpoint 150 is subscribed.

响应于来自端点150的服务请求171,安全服务器140验证373在服务请求171中提供的端点150的身份数据113。In response to the service request 171 from the endpoint 150 , the security server 140 verifies 373 the identity data 113 of the endpoint 150 provided in the service request 171 .

一般来说,服务请求171可初始地在客户端服务器(例如,141或143)中或在服务商店190或固件商店170中或直接在安全服务器140中接收。In general, service request 171 may be initially received in client server (eg, 141 or 143 ) or in service store 190 or firmware store 170 or directly in secure server 140 .

在安全服务器140验证373端点150的身份和真实性之后,基于存储在安全服务器140中的客户端权限数据283和/或基于服务商店190中的订阅数据387,安全服务器140可识别393为端点150订阅的服务。After the security server 140 verifies 373 the identity and authenticity of the endpoint 150, the security server 140 may recognize 393 the endpoint 150 based on the client rights data 283 stored in the security server 140 and/or based on the subscription data 387 in the service store 190 subscribed service.

基于所识别的服务,安全服务器140可与固件商店170通信以识别375端点150的固件更新。例如,端点150可以经由替换固件或安装固件应用程序(例如,应用程序367)以针对所订阅服务定制端点150来进行更新。固件更新可以上文结合图14所论述的方式来执行和保护。Based on the identified services, the security server 140 may communicate with the firmware store 170 to identify 375 firmware updates for the endpoint 150 . For example, endpoint 150 may be updated via replacing firmware or installing a firmware application (eg, application 367 ) to customize endpoint 150 for subscribed services. Firmware updates may be performed and secured in the manner discussed above in connection with FIG. 14 .

例如,端点150可以使用通用版本的固件363制造,此固件363不能从服务提供商381接收服务,对于服务提供商381提供的服务不了解客户端服务器141,和/或未实施用于与客户端服务器141通信的通信协议。固件应用程序(例如,应用程序367)可安装在通用固件363上运行,以针对为端点150订购的服务定制端点150。一旦经由固件应用程序(例如,应用程序367)定制,端点150就可以从客户端服务器141接收服务提供商381的服务。例如,在安装固件应用程序(例如,应用程序367)以更新377固件之后,端点150具有关于客户端服务器141的知识、根据客户端服务器141使用的通信协议与客户端服务器141通信的通信能力,以及用于使用客户端服务器141提供的服务的处理例程。For example, endpoint 150 may be manufactured using a generic version of firmware 363 that cannot receive services from service provider 381, is unaware of client server 141 for services provided by service provider 381, and/or is not implemented for interfacing with clients The communication protocol by which the server 141 communicates. Firmware applications (eg, application 367 ) may be installed and run on generic firmware 363 to customize endpoint 150 for services subscribed to endpoint 150 . Once customized via a firmware application (eg, application 367 ), endpoint 150 may receive service provider 381 services from client server 141 . For example, after installing a firmware application (e.g., application 367) to update 377 firmware, endpoint 150 has knowledge about client server 141, the communication capability to communicate with client server 141 according to the communication protocol used by client server 141, and processing routines for using the services provided by the client server 141 .

例如,为端点150的操作订阅的服务可包含由客户端服务器141执行以处理端点150的数据的计算、在客户端服务器141中存储由端点150生成的数据,向与端点150相关联的一或多个其它装置发送通知和/或警告,经由客户端服务器141和与端点150相关联的一或多个其它装置连接,使用蜂窝基站、Wi-Fi访问点、通信卫星和/或由客户端服务器141控制的通信连接或设备将端点150连接到计算机网络或互联网,等等。For example, a service subscribed for operation of endpoint 150 may include computations performed by client server 141 to process data for endpoint 150, storing data generated by endpoint 150 in client server 141, sending data to an endpoint associated with endpoint 150 or Multiple other devices send notifications and/or alerts via client server 141 in connection with one or more other devices associated with endpoint 150, using cellular base stations, Wi-Fi access points, communication satellites, and/or by client servers A communication connection or device controlled by 141 connects endpoint 150 to a computer network or the Internet, and so on.

任选地,在固件更新377之后,端点150经由其固件363和/或固件应用程序(例如,应用程序367)配置成自动访问客户端服务器141以获得订阅的服务。替代地,安全服务器140可在验证具有更新后的固件的端点150的身份数据113之后将端点150重定向到客户端服务器141以访问379订阅的服务。Optionally, after firmware update 377, endpoint 150 is configured via its firmware 363 and/or firmware application (eg, application 367) to automatically access client server 141 for subscribed services. Alternatively, the security server 140 may redirect the endpoint 150 to the client server 141 to access 379 the subscribed service after verifying the identity data 113 of the endpoint 150 with updated firmware.

一般来说,服务商店190可供用户(或用户的代表)用于为端点150订阅服务提供商381的服务,更改订阅的服务,将订阅从一个服务提供商381移动到另一服务提供商。端点150的固件363自动更新以支持当前订阅的服务,而无需端点150的用户对端点150进行操作来针对订阅的服务定制端点150。In general, the service store 190 is available to the user (or the user's representative) for subscribing to the services of the service provider 381 for the endpoint 150, changing subscribed services, and moving subscriptions from one service provider 381 to another. The firmware 363 of the endpoint 150 is automatically updated to support the currently subscribed service without requiring the user of the endpoint 150 to operate the endpoint 150 to customize the endpoint 150 for the subscribed service.

图16示出根据一个实施例的使用固件商店和安全服务器的固件更新方法。例如,图16的方法可以使用图14的技术实施。16 illustrates a firmware update method using a firmware store and a secure server, according to one embodiment. For example, the method of FIG. 16 may be implemented using the technique of FIG. 14 .

在框401处,服务器系统从端点150接收具有由配置于端点150中的存储器装置130生成的身份数据113的请求。At block 401 , the server system receives a request from endpoint 150 with identity data 113 generated by memory device 130 configured in endpoint 150 .

例如,服务器系统可包含安全服务器140。任选地,服务器系统可进一步包含在线固件商店170和/或一或多个客户端服务器(例如,141、…、143)。For example, the server system may include the security server 140 . Optionally, the server system may further include an online firmware store 170 and/or one or more client servers (eg, 141, . . . , 143).

例如,端点150可处于从端点(例如,150)制造商装运的状态,而无需针对特定服务器和/或服务提供商进行定制。For example, endpoint 150 may be in a state of being shipped from the endpoint (eg, 150) manufacturer without customization for a particular server and/or service provider.

在框403处,服务器系统响应于在框401中接收的请求并基于存储器装置130的秘密和身份数据113确定端点150的真实性。例如,框403中的操作可以类似于在框323和/或框343中执行的操作的方式执行。At block 403 , the server system determines the authenticity of endpoint 150 in response to the request received in block 401 and based on memory device 130 secret and identity data 113 . For example, the operations in block 403 may be performed in a manner similar to the operations performed in block 323 and/or block 343 .

例如,身份数据113包含在身份数据113中呈现的消息131的验证码133。安全服务器140可以验证验证码133是使用存储器装置130的秘密密钥137和消息131生成的,而无需端点呈现秘密密钥137。秘密密钥137使用存储器装置130的唯一装置秘密101和表示端点150的软件和硬件配置的装置信息121生成。For example, the identity data 113 contains the verification code 133 for the message 131 presented in the identity data 113 . The security server 140 can verify that the verification code 133 was generated using the secret key 137 of the memory device 130 and the message 131 without the endpoint presenting the secret key 137 . The secret key 137 is generated using the unique device secret 101 of the memory device 130 and the device information 121 representing the software and hardware configuration of the endpoint 150 .

在框405处,基于在线固件商店170,确定第一固件363的更新。第一固件存储于存储器装置130中并在端点150中执行以生成在框401中接收的请求。At block 405, based on the online firmware store 170, an update to the first firmware 363 is determined. The first firmware is stored in memory device 130 and executed in endpoint 150 to generate the request received in block 401 .

例如,在框401中接收请求之前,固件商店170可接收端点150的固件的订单391。可以做出订单391以使用用户计算机180定制端点150的功能,无需经过端点150。在固件商店170中接收的订单391可用于识别375更新377。For example, prior to receiving the request in block 401, the firmware store 170 may receive an order 391 for firmware for the endpoint 150. An order 391 can be made to customize the functionality of the endpoint 150 using the user computer 180 without going through the endpoint 150 . Orders 391 received in firmware store 170 may be used to identify 375 updates 377 .

例如,可以使用端点150的公共识别来识别端点150的订单391。身份数据113可包含使用秘密密钥137签名的消息131中的公共识别,以生成身份数据113中提供的验证码133。在验证消息131尚未更改之后,安全服务器140可以指示在线固件商店170和/或端点150更新377端点150的固件363。For example, the public identification of endpoint 150 may be used to identify order 391 of endpoint 150 . The identity data 113 may contain the public identification in the message 131 signed using the secret key 137 to generate the verification code 133 provided in the identity data 113 . After verifying that the message 131 has not changed, the security server 140 may instruct the online firmware store 170 and/or the endpoint 150 to update 377 the firmware 363 of the endpoint 150.

在框407处,响应于确定端点150是真实的,服务器系统生成可在存储器装置130中执行的命令155的验证码153以执行更新。At block 407, in response to determining that the endpoint 150 is authentic, the server system generates a verification code 153 of a command 155 executable in the memory device 130 to perform the update.

在框409处,服务器系统提供验证码153以在存储器装置130中执行命令155,以便进行固件更新。At block 409, the server system provides the verification code 153 to execute the command 155 in the memory device 130 for a firmware update.

例如,响应于确定端点是真实的,安全服务器140可与在线固件商店170通信以将数据下载到存储器装置130中。当命令155在存储器装置130中执行时,存储器装置130使用数据执行固件更新。For example, in response to determining that the endpoint is authentic, security server 140 may communicate with online firmware store 170 to download data into memory device 130 . When command 155 is executed in memory device 130, memory device 130 uses the data to perform a firmware update.

例如,下载到存储器装置130的数据可包含第二固件,在执行命令155以进行固件更新之后,第二固件替换经执行以生成在框401中接收的请求的第一固件。For example, the data downloaded to memory device 130 may include second firmware that replaces the first firmware that was executed to generate the request received in block 401 after execution of command 155 to perform a firmware update.

例如,下载到存储器装置130的数据可包含固件应用程序(例如,应用程序367),在执行命令155以进行固件更新之后,所述固件应用程序利用经执行以生成请求的第一固件运行。固件应用程序(例如,应用程序367)和第一固件的组合提供端点150的第二固件。For example, data downloaded to memory device 130 may include a firmware application (eg, application 367 ) that, after execution of command 155 to perform a firmware update, runs with the first firmware executed to generate the request. The combination of the firmware application (eg, application 367 ) and the first firmware provides the second firmware for endpoint 150 .

例如,在执行命令155以进行固件更新之后,端点150经由第二固件配置成提供在更新之前在运行第一固件的端点中没有的功能。For example, after executing command 155 to perform a firmware update, endpoint 150 is configured via the second firmware to provide functionality that was not present in the endpoint running the first firmware prior to the update.

在执行命令155以进行固件更新之后,第二固件可变为存储器装置130和端点150的身份的部分。例如,基于装置信息121,存储器装置130配置成生成表示存储器装置130和端点150的身份的秘密密钥137。在执行命令155以更新377固件之后,装置信息121更新成包含在存储器单元103中存储为内容161的第二固件的散列值163。随后,存储器装置130配置成使用加密密钥生成端点150的身份数据113,所述加密密钥至少部分地基于存储器装置的秘密(例如,唯一装置秘密101)和存储于存储器装置130中的第二固件而生成。The second firmware may become part of the identity of memory device 130 and endpoint 150 after executing command 155 to perform a firmware update. For example, based on the device information 121 , the memory device 130 is configured to generate a secret key 137 representing the identity of the memory device 130 and the endpoint 150 . After executing the command 155 to update 377 the firmware, the device information 121 is updated to contain the hash value 163 of the second firmware stored in the memory unit 103 as the content 161 . The memory device 130 is then configured to generate the identity data 113 for the endpoint 150 using an encryption key based at least in part on the memory device's secret (eg, the unique device secret 101 ) and a second stored in the memory device 130 generated by the firmware.

图17示出根据一个实施例的使用服务商店和安全服务器的端点定制方法。例如,图17的方法可以使用图14和图15的技术实施。Figure 17 illustrates an endpoint customization method using a service store and a security server, according to one embodiment. For example, the method of FIG. 17 may be implemented using the techniques of FIGS. 14 and 15 .

在框421处,服务器系统从端点150接收具有由配置于端点150中的存储器装置130生成的身份数据113的请求,类似于框401。At block 421 , the server system receives a request from endpoint 150 with identity data 113 generated by memory device 130 configured in endpoint 150 , similar to block 401 .

例如,服务器系统可包含安全服务器140和/或服务商店190。For example, the server system may include the security server 140 and/or the service store 190 .

在框423处,安全服务器140响应于在框421中接收的请求并基于存储在安全服务器140中的关于端点150的信息来验证身份数据113。此类信息包含存储器装置130的秘密,例如唯一装置秘密101。此类信息可进一步包含表示端点150的软件/硬件配置的装置信息121。验证可以上文结合图2所论述的方式执行。At block 423 , the security server 140 responds to the request received in block 421 and verifies the identity data 113 based on the information stored in the security server 140 about the endpoint 150 . Such information includes memory device 130 secrets, such as unique device secret 101 . Such information may further include device information 121 representing the software/hardware configuration of endpoint 150 . Validation may be performed in the manner discussed above in connection with FIG. 2 .

响应于确定在框421中接收的请求中的身份数据113有效,在框425处,服务器系统识别在在线服务商店190中为端点150订购的服务。In response to determining that the identity data 113 in the request received at block 421 is valid, at block 425 the server system identifies the service ordered in the online service store 190 for the endpoint 150 .

在框427处,识别配置成提供服务的客户端服务器141。At block 427, the client server 141 configured to provide the service is identified.

例如,在框421中接收请求之前,在线服务商店190可接收端点150的服务的订单391。客户端服务器141可以基于订单391来识别。For example, prior to receiving the request in block 421, the online service store 190 may receive an order 391 for the services of the endpoint 150. Client server 141 may be identified based on order 391 .

例如,订单391可在在线服务商店190中通过用户计算机180且因此不经过端点150来接收。端点150的订单391可以使用端点150的公共识别来识别/放置。身份数据113可包含公共识别。替代地,订单391可与在安全服务器的客户端权限数据283中作为端点150的所有者的用户的身份相关联。For example, order 391 may be received in online service store 190 by user computer 180 and thus not through endpoint 150 . The order 391 of the endpoint 150 may be identified/placed using the public identification of the endpoint 150. Identity data 113 may contain public identification. Alternatively, the order 391 may be associated with the identity of the user who is the owner of the endpoint 150 in the client rights data 283 of the secure server.

在框429处,服务器系统将端点150定向到客户端服务器141。At block 429 , the server system directs endpoint 150 to client server 141 .

例如,响应于确定在框421中接收的请求中的身份数据113有效,服务器系统可针对在在线服务商店190中订购的服务配置端点150。For example, in response to determining that the identity data 113 in the request received in block 421 is valid, the server system may configure the endpoint 150 for the service ordered in the online service store 190 .

例如,为了针对服务配置端点150,服务器系统可更新端点150的固件。例如,固件更新可以上文结合图14到16所论述的方式执行。For example, to configure the endpoint 150 for service, the server system may update the firmware of the endpoint 150. For example, the firmware update may be performed in the manner discussed above in connection with FIGS. 14-16.

例如,在固件更新377之前,端点150不能从客户端服务器141接收服务,并且不具有关于客户端服务器141的了解。例如,初始地由端点(例如,150)的制造商配置的端点150编程成访问服务商店190、固件商店170、安全服务器140或另一网守,使得端点150可经正确地配置和/或更新以供使用,而无需终端用户对端点150操作来进行定制。For example, prior to firmware update 377, endpoint 150 cannot receive services from client server 141 and has no knowledge about client server 141. For example, endpoint 150, initially configured by the manufacturer of the endpoint (eg, 150), is programmed to access service store 190, firmware store 170, security server 140, or another gatekeeper so that endpoint 150 can be properly configured and/or updated for use without requiring end-user customization of endpoint 150 operation.

例如,在固件更新377之后,第二固件存储于存储器装置130中,以替换用于生成在框421中接收的请求的第一固件。当端点150运行第二固件时,端点具有在固件更新377之前在运行第一固件的端点中没有的功能。例如,第二固件可包含客户端服务器141的识别,用于引导端点访问客户端服务器141以获得在在线服务商店190中订购的服务。在某一实施方案中,第二固件是第一固件和添加的固件应用程序的组合。在固件更新377之后,存储器装置130配置成使用秘密密钥137生成端点150的更新后的身份数据113,所述秘密密钥至少部分地基于秘密(例如,唯一装置秘密101)和存储于存储器装置130中的第二固件而生成。For example, following firmware update 377 , the second firmware is stored in memory device 130 to replace the first firmware used to generate the request received in block 421 . When the endpoint 150 is running the second firmware, the endpoint has functionality that was not present in the endpoint running the first firmware prior to firmware update 377 . For example, the second firmware may contain the identification of the client server 141 for directing endpoints to access the client server 141 for services ordered in the online service store 190 . In a certain embodiment, the second firmware is a combination of the first firmware and an added firmware application. Following firmware update 377, memory device 130 is configured to generate updated identity data 113 for endpoint 150 using secret key 137 based at least in part on a secret (eg, unique device secret 101) and stored in the memory device The second firmware in 130 is generated.

任选地,为了针对在服务商店190中订购的服务配置端点150,服务器系统识别用于为端点150订阅服务的账户。存储器装置130配置成存储账户的标识符,并且在更新后的身份数据113中包含标识符作为消息131的部分。Optionally, in order to configure the endpoint 150 for services ordered in the service store 190, the server system identifies an account for subscribing the endpoint 150 to the service. The memory device 130 is configured to store the identifier of the account and includes the identifier as part of the message 131 in the updated identity data 113 .

例如,为了执行固件更新377,服务器系统可使用表示在存储器装置130中执行命令155的权限的加密密钥145生成命令155的验证码153。在存储器装置130中执行时,命令155使第一固件替换为第二固件。在存储器装置130接收命令155和验证码153之后,存储器装置130在执行命令155之前针对所述权限验证验证码153。For example, to perform the firmware update 377 , the server system may generate the verification code 153 for the command 155 using the encryption key 145 representing the authority to execute the command 155 in the memory device 130 . When executed in memory device 130, command 155 causes the first firmware to be replaced with the second firmware. After the memory device 130 receives the command 155 and the verification code 153 , the memory device 130 verifies the verification code 153 against the authority before executing the command 155 .

安全服务器140不仅可以用于基于在端点150中配置的存储器装置130的安全特征验证端点150的身份,而且还可以用于监测存储于存储器装置130和/或端点150中的包的完整性。例如,存储在端点150中的包可以是启动加载程序、固件、软件、模块、操作系统或应用程序的至少一部分、指定资源的一组文件、配置参数和/或程序或例程的其它数据,等等。当发现包被损坏、修改、篡改或过时时,安全服务器140可发起空中(OTA)更新以维持端点150的完整性。Security server 140 may not only be used to authenticate the identity of endpoint 150 based on the security features of memory device 130 configured in endpoint 150 , but may also be used to monitor the integrity of packets stored in memory device 130 and/or endpoint 150 . For example, a package stored in endpoint 150 may be a bootloader, firmware, software, module, at least a portion of an operating system or application, a set of files specifying resources, configuration parameters, and/or other data for a program or routine, and many more. Security server 140 may initiate over-the-air (OTA) updates to maintain endpoint 150 integrity when packets are found to be corrupted, modified, tampered, or outdated.

存储器装置130可在存储器单元103中存储内容161,并单独地存储散列值163作为装置信息121的部分,如图4所示。当根据存储于存储器单元103中的内容161计算的当前散列值不匹配作为装置信息121的部分存储的预期散列值163时,存储器装置130可检测到内容161的修改或损坏,并发起内容修复。The memory device 130 may store the content 161 in the memory unit 103 and separately store the hash value 163 as part of the device information 121, as shown in FIG. When the current hash value calculated from the content 161 stored in the memory unit 103 does not match the expected hash value 163 stored as part of the device information 121, the memory device 130 may detect modification or corruption of the content 161 and initiate the content repair.

例如,内容161可包含端点150的核心包。在验证373端点150的身份时,核心包的完整性可影响端点150在与安全服务器140通信时的操作。核心包的实例可包含端点150的启动加载程序、固件和/或操作系统的至少一部分。当核心包被修改、损坏或篡改时,为进行身份验证而执行的端点150的操作的安全性可能不被信任。当由加密引擎107生成的完整性状态165指示核心包改变时,访问控制器109可阻止主机系统120访问内容161,直到核心包被修复为止。For example, content 161 may contain the core package of endpoint 150 . In verifying 373 the identity of the endpoint 150, the integrity of the core package may affect the operation of the endpoint 150 when communicating with the security server 140. An example of a core package may include at least a portion of the endpoint 150 bootloader, firmware, and/or operating system. When the core package is modified, corrupted or tampered with, the security of the operations performed by the endpoint 150 for authentication may not be trusted. When the integrity status 165 generated by the encryption engine 107 indicates that the core package has changed, the access controller 109 may prevent the host system 120 from accessing the content 161 until the core package is repaired.

例如,存储器装置130可在单独区段中存储核心包的可靠备份副本;并且当存储于存储器单元103中的内容161中的核心包的散列值不同于存储的装置信息121的对应散列值163时,存储器装置130可使用存储在单独区段中的副本来替换存储于存储器单元103中的核心包。任选地,端点150中的替换副本的执行可配置成开始恢复过程以从可靠源(例如,固件商店170)获得最新版本的包。替代地,安全服务器140可在验证经由替换副本提交的存储器装置130和/或端点150的身份数据113之后发起更新(例如,使用固件商店170)。For example, the memory device 130 may store a reliable backup copy of the core package in a separate segment; and when the hash value of the core package in the content 161 stored in the memory unit 103 is different from the corresponding hash value of the stored device information 121 At 163, the memory device 130 may replace the core package stored in the memory unit 103 with the copy stored in the separate segment. Optionally, execution of the replacement copy in endpoint 150 may be configured to initiate a recovery process to obtain the latest version of the package from a trusted source (eg, firmware store 170). Alternatively, the security server 140 may initiate the update (eg, using the firmware store 170 ) after validating the identity data 113 of the memory device 130 and/or the endpoint 150 submitted via the replacement copy.

存储于存储器单元103中的一些包对验证373端点150的身份数据113的初始操作以及更新端点150的后续操作的安全性没有影响。因此,不必在存储器装置130中存储此类包的恢复副本。可经由安全服务器140执行此类包的修复和/或更新。例如,当完整性状态165指示非核心包已经改变时,访问控制器109可以阻止主机系统120访问损坏或改变的包,直到端点150与安全服务器140通信以修复或恢复损坏的包。Some of the packets stored in the memory unit 103 have no effect on the security of the initial operation of verifying 373 the identity data 113 of the endpoint 150 and subsequent operations of updating the endpoint 150 . Therefore, it is not necessary to store a restored copy of such a package in the memory device 130 . Repairs and/or updates of such packages may be performed via secure server 140 . For example, when integrity status 165 indicates that a non-core packet has changed, access controller 109 may prevent host system 120 from accessing the damaged or changed packet until endpoint 150 communicates with security server 140 to repair or restore the damaged packet.

任选地,在身份数据113中提供的数据127可包含存储于存储器单元103中的内容161中的包的当前散列值。在验证373端点150的身份数据113的操作期间,安全服务器140可检查在身份数据113中提供的包的当前散列值。如果包的当前散列值指示包已经改变、损坏或过时,那么安全服务器140可发起包的修复或恢复。Optionally, the data 127 provided in the identity data 113 may include the current hash value of the packet stored in the content 161 in the memory unit 103 . During the operation of verifying 373 the identity data 113 of the endpoint 150 , the security server 140 may check the current hash value of the packet provided in the identity data 113 . If the current hash value of the packet indicates that the packet has been changed, corrupted, or outdated, the security server 140 may initiate repair or recovery of the packet.

此外,端点150的一些包可以存储在不具有存储器装置130的安全特征的另一装置中。在主机系统120中执行核心包可以生成包的当前散列值作为包的健康指示符。健康指示符可以作为嵌入在端点150的身份数据113中的数据127的部分提供,以允许安全服务器140监测包的完整性。Additionally, some packets of endpoint 150 may be stored in another device that does not have the security features of memory device 130 . Execution of the core package in host system 120 may generate the current hash value of the package as a health indicator for the package. The health indicator may be provided as part of the data 127 embedded in the identity data 113 of the endpoint 150 to allow the security server 140 to monitor the integrity of the packets.

一般来说,身份数据113可包含指示端点150中的包的健康状况的数据。作为验证373端点150的身份数据113的操作的部分,安全服务器140可确定是否要修复和/或更新任何包。修复或更新可以在安全服务器140确认端点150的真实性之前执行。In general, identity data 113 may include data indicative of the health of packets in endpoint 150 . As part of the operation of verifying 373 the identity data 113 of the endpoint 150, the security server 140 may determine whether any packages are to be repaired and/or updated. The repair or update may be performed before the security server 140 confirms the authenticity of the endpoint 150 .

此外,响应于验证373端点150的身份数据113以访问客户端服务器(例如,141、…、143)的服务,安全服务器140可配置成在访问服务时跟踪和/或监测端点150的活动以实施进一步的安全操作。Furthermore, in response to verifying 373 the identity data 113 of the endpoint 150 to access the services of the client server (eg, 141, . . . , 143), the security server 140 may be configured to track and/or monitor the activity of the endpoint 150 while accessing the service to enforce further security operations.

例如,端点150的所有者或用户可请求安全服务器140跟踪端点150的活动。端点150的活动的方面可由端点150和/或客户端服务器(例如,141、…、143)在身份数据113和/或请求173中呈现以验证身份数据113。For example, the owner or user of endpoint 150 may request security server 140 to track endpoint 150 activity. Aspects of the activity of endpoint 150 may be presented in identity data 113 and/or request 173 by endpoint 150 and/or client server (eg, 141 , . . . , 143 ) to verify identity data 113 .

例如,关于所跟踪活动的信息可包含端点150的位置信息和/或端点150经由提交身份数据113所请求的服务类型。For example, the information about the tracked activity may include location information of endpoint 150 and/or the type of service that endpoint 150 is requesting via submitting identity data 113 .

例如,为了从客户端服务器141的服务生成身份数据113,端点150可以在身份数据113的消息131中不仅包含端点150的唯一识别111,而且还包含服务的上下文和/或方面,例如客户端服务器141的识别、端点150的位置,请求的日期和时间、服务的类别/类型、服务的参数等。For example, to generate identity data 113 from a service of client server 141, endpoint 150 may include in message 131 of identity data 113 not only the unique identification 111 of endpoint 150, but also the context and/or aspect of the service, eg, client server 141, location of endpoint 150, date and time of the request, class/type of service, parameters of the service, etc.

例如,当端点150向客户端服务器141发送针对服务的请求171时,客户端服务器141可在请求中向安全服务器140不仅提供端点150的身份数据113,而且还提供关于对客户端服务器141的服务的请求171的信息。For example, when endpoint 150 sends client server 141 a request 171 for a service, client server 141 may provide security server 140 with not only the identity data 113 of endpoint 150 in the request, but also about the service to client server 141 of request 171 information.

例如,响应于来自端点150的请求171,客户端服务器141可基于到连接到客户端服务器141的一或多个访问点的无线通信连接来估计端点150的位置,并将所述位置以及请求173提供到安全服务器140以认证身份数据113。For example, in response to request 171 from endpoint 150, client server 141 may estimate the location of endpoint 150 based on wireless communication connections to one or more access points connected to client server 141, and associate the location with request 173 Provided to secure server 140 to authenticate identity data 113 .

任选地,端点150的所有者或用户可访问安全服务器140的门户来查看所跟踪活动。例如,基于所跟踪活动,所有者或用户可以根据端点150的一或多个最近位置来确定端点150是否被盗或丢失。Optionally, the owner or user of endpoint 150 may access the portal of secure server 140 to view the tracked activity. For example, based on the tracked activity, the owner or user can determine whether the endpoint 150 has been stolen or lost based on one or more recent locations of the endpoint 150 .

任选地,家长可以使用安全服务器140的门户来设置家长控制偏好以限制端点150的活动;并且安全服务器140可以结合认证端点150的身份来实施限制偏好。Optionally, the parent may use the portal of the security server 140 to set parental control preferences to restrict the activity of the endpoint 150 ; and the security server 140 may enforce the restriction preference in conjunction with authenticating the identity of the endpoint 150 .

图18示出根据一个实施例的生成身份数据以促进完整性和/或端点活动的监测的图示。18 shows an illustration of generating identity data to facilitate monitoring of integrity and/or endpoint activity, according to one embodiment.

例如,图18的技术可用于具有关于图1到5论述的安全服务和特征的图1和/或图6的计算系统。图18的技术可与图9到17的技术组合使用。For example, the techniques of FIG. 18 may be used with the computing systems of FIGS. 1 and/or 6 with the security services and features discussed with respect to FIGS. 1-5. The technique of FIG. 18 may be used in combination with the techniques of FIGS. 9-17.

在图18中,端点150存储具有散列值169的包167。包167可存储于具有上文所论述的安全特征的存储器装置130中,或存储于可具有也可不具有存储器装置130的安全特征的端点150的另一存储器装置。当包167存储于存储器装置130中时,存储器装置130的加密引擎107可计算包167的散列值169,而不依赖于端点150中的主机系统120的处理装置118。当包167存储在存储器装置130之外时,散列值169可通过主机系统120的处理装置118执行存储于存储器装置130中且已经验证其尚未改变(例如,如图4中)的例程来获得。In FIG. 18, endpoint 150 stores packet 167 with hash value 169. Package 167 may be stored in memory device 130 with the security features discussed above, or in another memory device of endpoint 150 that may or may not have the security features of memory device 130 . When the packet 167 is stored in the memory device 130 , the encryption engine 107 of the memory device 130 may calculate the hash value 169 of the packet 167 independently of the processing device 118 of the host system 120 in the endpoint 150 . When packet 167 is stored outside of memory device 130, hash value 169 may be retrieved by processing device 118 of host system 120 executing a routine stored in memory device 130 that has verified that it has not changed (eg, as in FIG. 4 ). get.

一般来说,包167可包含指令和/或数据,例如对于一组端点(例如,150)可为相同的资源、对于不同端点(例如,150)可为不同的配置参数。In general, packets 167 may contain instructions and/or data, such as the same resources for a set of endpoints (eg, 150) and different configuration parameters for different endpoints (eg, 150).

包167的散列值169指示包167的健康状况。The hash value 169 of the packet 167 indicates the health of the packet 167 .

在图18中,用于生成身份数据113的验证码133的秘密密钥137独立于包167的散列值169。为了促进安全服务器140对包167的完整性的监测,在身份数据113中将散列值169提供为消息131的部分。In FIG. 18 , the secret key 137 used to generate the verification code 133 of the identity data 113 is independent of the hash value 169 of the packet 167 . To facilitate monitoring of the integrity of packet 167 by security server 140 , hash value 169 is provided in identity data 113 as part of message 131 .

在安全服务器140确定身份数据113有效之后,安全服务器140可提取身份数据113中提供的散列值169,以确定端点150中的包167是否已改变和/或包167是否过时。After the security server 140 determines that the identity data 113 is valid, the security server 140 may extract the hash value 169 provided in the identity data 113 to determine if the package 167 in the endpoint 150 has changed and/or if the package 167 is out of date.

例如,包167的健康且最新副本可以存储在服务器(例如,安全服务器140、固件商店170或另一服务器)中以促进端点150中的包167的修复或恢复。如果从身份数据113中提取的散列值169不同于健康且最新的副本的散列值,那么安全服务器140可以类似于结合图14到17所论述的端点150的固件363的更新377的方式发起更新。For example, a healthy and up-to-date copy of package 167 may be stored in a server (eg, secure server 140 , firmware store 170 , or another server) to facilitate repair or recovery of package 167 in endpoint 150 . If the hash value 169 extracted from the identity data 113 is different from the hash value of the healthy and up-to-date copy, the security server 140 may initiate an update 377 of the firmware 363 of the endpoint 150 discussed in connection with FIGS. 14-17 in a manner similar to that renew.

包167可针对端点150进行个体化。例如,当包167包含特定于平台361中的端点150但不可应用于平台361中的其它端点的配置参数时,包167的健康副本可以在端点150中的包167成功配置后立即上载到服务器(例如,安全服务器140、固件商店170或另一服务器)。Package 167 may be individualized for endpoint 150 . For example, when package 167 contains configuration parameters that are specific to endpoint 150 in platform 361 but not applicable to other endpoints in platform 361, a healthy copy of package 167 can be uploaded to the server as soon as package 167 in endpoint 150 is successfully configured ( For example, security server 140, firmware store 170, or another server).

在一些实施方案中,存储器装置130和/或端点150可配置成存储包167的健康个体化副本的散列值。例如,健康散列值可以存储为用于创建秘密密钥137的装置信息121的部分。身份数据113中的消息131可包含当前包167是否健康的指示,但不具有包167的当前散列值169。In some embodiments, memory device 130 and/or endpoint 150 may be configured to store hash values of healthy individualized copies of packages 167 . For example, a healthy hash value may be stored as part of the device information 121 used to create the secret key 137 . The message 131 in the identity data 113 may contain an indication of whether the current packet 167 is healthy, but not the current hash value 169 of the packet 167 .

为了改进安全性和/或隐私保护,个体化包167的健康副本可以使用存储器装置130的加密密钥以加密形式上载并存储在服务器中。为了使用健康副本重新安装包167,存储器装置130使用存储器装置130的对应秘密加密密钥对加密版本进行解密。To improve security and/or privacy protection, a healthy copy of the personalization package 167 may be uploaded and stored on the server in encrypted form using the encryption key of the memory device 130 . To reinstall package 167 using the healthy copy, memory device 130 decrypts the encrypted version using memory device 130's corresponding secret encryption key.

例如,在成功配置端点150中的个体化包167后,端点150和/或存储器装置130可计算个体化包167的健康副本的散列值,并使用公钥139对个体化包167进行加密。端点150可提交散列值和加密包167以存储在服务器中,从而促进监测和/或恢复。在恢复期间,密钥对135中的秘密密钥137将用于对加密包进行解密。任选地,加密引擎107可生成单独的密钥对来保护个体化包167。For example, upon successful configuration of the personalization package 167 in the endpoint 150 , the endpoint 150 and/or memory device 130 may calculate a hash value of a healthy copy of the personalization package 167 and encrypt the personalization package 167 using the public key 139 . The endpoint 150 may submit the hash value and encrypted packet 167 for storage in the server to facilitate monitoring and/or recovery. During recovery, the secret key 137 in the key pair 135 will be used to decrypt the encrypted packet. Optionally, encryption engine 107 may generate a separate key pair to protect individualized package 167 .

替代地,秘密密钥可以与对称加密一起使用来保护个体化包167。例如,在成功配置端点150中的个体化包167时在验证端点150的身份数据113期间生成的会话密钥263可用于对个体化包167进行加密以用于传输到和/或存储在服务器(例如,安全服务器140、固件商店170或另一服务器)。Alternatively, a secret key may be used with symmetric encryption to protect the individualized package 167. For example, the session key 263 generated during the verification of the identity data 113 of the endpoint 150 upon successful configuration of the personalization package 167 in the endpoint 150 may be used to encrypt the personalization package 167 for transmission to and/or storage on the server ( For example, security server 140, firmware store 170, or another server).

在图18中,身份数据113不仅包含包167的当前散列值169,而且还包含识别其中使用身份数据113的上下文的一些方面的活动信息177。例如,活动信息177可通过主机系统120执行或运行包(例如,167或另一包,如固件、应用程序、例程)来生成。In Figure 18, the identity data 113 contains not only the current hash value 169 of the packet 167, but also activity information 177 that identifies some aspect of the context in which the identity data 113 is used. For example, activity information 177 may be generated by host system 120 executing or running a package (eg, 167 or another package, such as firmware, applications, routines).

例如,活动信息177可包含其中生成身份数据113的端点150的当前位置。For example, activity information 177 may include the current location of endpoint 150 where identity data 113 was generated.

例如,活动信息177可包含身份数据113的生成日期和时间。For example, activity information 177 may include the date and time the identity data 113 was generated.

例如,活动信息177可包含向其提交身份数据113以请求171服务的客户端服务器141的识别。For example, the activity information 177 may include the identification of the client server 141 to which the identity data 113 was submitted to request 171 service.

例如,活动信息177可包含所请求服务的一或多个属性,例如服务的类别、服务所涉及的另一方的识别、服务所涉及的数量或量,等等。For example, the activity information 177 may contain one or more attributes of the requested service, such as the category of the service, the identification of another party involved in the service, the quantity or volume involved in the service, and the like.

例如,当提交身份数据113以进行通信连接时,属性可包含连接类型的识别、连接的标示等。For example, when submitting identity data 113 for a communication connection, attributes may include identification of the type of connection, identification of the connection, and the like.

例如,当提交身份数据113以进行支付时,属性可包含购买类别的识别、收款人、支付金额等。For example, when submitting identity data 113 for payment, attributes may include identification of the purchase category, payee, payment amount, and the like.

活动信息177可供安全服务器140用于检测欺诈性活动、端点的未经授权使用,并施行活动限制(例如,如家长控制偏好中所指定),等等。Activity information 177 may be used by security server 140 to detect fraudulent activity, unauthorized use of endpoints, and enforce activity restrictions (eg, as specified in parental control preferences), and the like.

为了改进安全性和/或隐私保护,活动信息177可以加密形式包含在消息131中。例如,与身份数据113的验证相关联的会话密钥263可用于生成活动信息177的密文;并且在成功验证身份数据113的验证码133之后,安全服务器140可使用会话密钥263从密文恢复活动信息177。To improve security and/or privacy protection, activity information 177 may be included in message 131 in encrypted form. For example, session key 263 associated with the verification of identity data 113 may be used to generate the ciphertext of activity information 177; and upon successful verification of verification code 133 of identity data 113, security server 140 may use session key 263 from the ciphertext Recovery activity information 177 .

图19示出根据一个实施例的用于维持存储在端点中的包完整性的技术。19 illustrates a technique for maintaining the integrity of packets stored in an endpoint, according to one embodiment.

在图19中,端点150存储多个包441、443、…、445。一些包存储于具有安全特征的存储器装置130中。一些包可以存储在存储器装置130之外。In FIG. 19, endpoint 150 stores a plurality of packets 441, 443, . . . , 445. Some packets are stored in the memory device 130 with security features. Some packets may be stored outside of the memory device 130 .

存储于存储器装置130中的核心包441可以在连接到端点150中的存储器装置130的主机系统120的处理装置118中执行。包441控制端点150在向安全服务器140提交端点150的身份数据113时及用于与包存储库191通信以修复和/或更新包441、443、…、445的操作。例如,包存储库191可包含图14和15的固件商店170。The core package 441 stored in the memory device 130 may execute in the processing device 118 of the host system 120 connected to the memory device 130 in the endpoint 150 . Package 441 controls the operation of endpoint 150 when submitting identity data 113 of endpoint 150 to security server 140 and for communicating with package repository 191 to repair and/or update packages 441 , 443 , . . . , 445 . For example, package repository 191 may contain firmware store 170 of FIGS. 14 and 15 .

存储器装置130的安全特征确保端点150运行有效版本的包441以免在验证373端点150的身份和修复385包的操作中发生篡改和/或损坏。The security features of the memory device 130 ensure that the endpoint 150 runs a valid version of the package 441 against tampering and/or corruption during operations to verify 373 the identity of the endpoint 150 and repair 385 the package.

例如,存储器装置130可在存储器装置130的安全区段中存储备份版本的核心包441。如果发现包441已改变,那么存储器装置130可用备份版本替换已改变版本的包441,以至少保护验证373端点150的身份和修复385和/或更新377包的操作。For example, memory device 130 may store a backup version of core package 441 in a secure section of memory device 130 . If the package 441 is found to have changed, the memory device 130 may replace the changed version of the package 441 with the backup version to protect at least the operations of verifying 373 the identity of the endpoint 150 and repairing 385 and/or updating 377 the package.

在端点150生成身份数据113之后,执行包441的端点150将身份数据113传送到安全服务器140以用于验证373。例如,身份数据113可使用图18的技术生成。After endpoint 150 generates identity data 113 , endpoint 150 executing package 441 transmits identity data 113 to security server 140 for verification 373 . For example, identity data 113 may be generated using the technique of FIG. 18 .

身份数据113可包含包健康信息447,例如包441、443、…、445的当前散列值,和/或基于比较相应包的健康版本的当前散列值和所存储散列值做出的包443、…、445中的任一个是否损坏的指示。Identity data 113 may include package health information 447, such as current hash values for packages 441, 443, . An indication of whether any of 443, . . , 445 is damaged.

任选地,消息131的部分可以使用会话密钥263生成的密文提供。例如,消息的经加密部分可包含包健康信息447和/或活动信息177。会话密钥263可以关于图9所论述的方式生成以在存储器装置130和安全服务器之间共享,并用于验证373端点150的身份。Optionally, portions of message 131 may be provided using ciphertext generated by session key 263 . For example, the encrypted portion of the message may include packet health information 447 and/or activity information 177 . The session key 263 may be generated to be shared between the memory device 130 and the secure server and used to authenticate 373 the identity of the endpoint 150 in the manner discussed with respect to FIG. 9 .

一般来说,身份数据113可以直接经由通信连接或间接地经由中间服务器(例如,图5、9或10中的客户端服务器141、图14或15中的固件商店170、图15中的服务商店190或图19的包存储库191)从端点150传输到安全服务器140。In general, identity data 113 may be directly via a communication connection or indirectly via an intermediary server (eg, client server 141 in Figures 5, 9 or 10, firmware store 170 in Figure 14 or 15, service store in Figure 15 190 or the package repository 191 of FIG. 19) is transmitted from the endpoint 150 to the security server 140.

在验证373身份数据113之后,安全服务器140可与包存储库191通信,以基于在身份数据113中提供的包健康信息447来检查383包441、443、…、445的完整性。After verifying 373 the identity data 113 , the security server 140 may communicate with the package repository 191 to check 383 the integrity of the packages 441 , 443 , . . . , 445 based on the package health information 447 provided in the identity data 113 .

例如,包441在端点150中可以是有效的。但是,因为新版本的包441在包存储库191中已发布,包441可为过时的。因此,更新包441可以提高端点150的操作的安全性和系统的完整性。For example, packet 441 may be available in endpoint 150. However, because a new version of package 441 has been published in package repository 191, package 441 may be out of date. Thus, the update package 441 may improve the security of the operation of the endpoint 150 and the integrity of the system.

例如,包443或445在端点150中可能已改变,且因此被损坏。存储库191中的对应包193的健康数据195可与在身份数据113中提供的包健康信息447比较以检测所述改变。For example, packets 443 or 445 may have changed in endpoint 150, and thus be corrupted. The health data 195 of the corresponding package 193 in the repository 191 may be compared to the package health information 447 provided in the identity data 113 to detect the change.

如果发现包(例如,441、443、…、445)过时或损坏,那么安全服务器140可指示端点150和/或包存储库191修复385或更新377包。If a package (eg, 441, 443, ..., 445) is found to be outdated or corrupt, the security server 140 may instruct the endpoint 150 and/or the package repository 191 to repair 385 or update 377 the package.

修复385或更新377包的操作可包含安全服务器140生成命令155的验证码153以将数据写入到存储器装置130中。当包包含敏感信息(例如,为端点150定制的配置参数)时,替换包可以使用会话密钥263或另一秘密密钥生成的密文提供给存储器装置130。The operation of repairing 385 or updating 377 the package may include the secure server 140 generating the verification code 153 of the command 155 to write the data to the memory device 130 . When the package contains sensitive information (eg, configuration parameters customized for endpoint 150), the replacement package may be provided to memory device 130 using ciphertext generated by session key 263 or another secret key.

在修复385或更新377之后,端点150可提交更新身份数据113。当安全服务器140确定身份数据113有效且身份数据113中的包健康信息447指示端点150中的包441、443、…、445健康且最新时,安全服务器140可认证端点150的真实性。After repair 385 or update 377, endpoint 150 may submit updated identity data 113. The security server 140 may authenticate the authenticity of the endpoint 150 when the security server 140 determines that the identity data 113 is valid and that the package health information 447 in the identity data 113 indicates that the packages 441, 443, . . . , 445 in the endpoint 150 are healthy and up to date.

图20示出根据一个实施例的基于跟踪端点活动而实施安全操作的系统。20 illustrates a system for implementing security operations based on tracking endpoint activity, according to one embodiment.

例如,图20的安全操作可以使用结合图1到5论述的存储器装置的安全特征结合图9、10、14、15和/或19的技术并结合图1和/或6的系统实施。For example, the secure operations of FIG. 20 may be implemented in conjunction with the techniques of FIGS. 9 , 10 , 14 , 15 and/or 19 and in conjunction with the systems of FIGS. 1 and/or 6 using the security features of memory devices discussed in conjunction with FIGS. 1-5 .

在图20中,用户计算机180可用于访问活动跟踪器451,以设置偏好455和/或检查具有唯一识别111的端点150的所跟踪活动记录453。In FIG. 20 , user computer 180 may be used to access activity tracker 451 to set preferences 455 and/or review tracked activity records 453 for endpoint 150 with unique identification 111 .

如在图14和15中,用户计算机180通常与端点150不同且分开。在一些情况下,端点150可包含允许其用作计算机180以设置偏好455和/或检查活动记录453的用户接口。As in Figures 14 and 15, user computer 180 is generally distinct and separate from endpoint 150. In some cases, endpoint 150 may include a user interface that allows it to function as computer 180 to set preferences 455 and/or review activity records 453 .

活动跟踪器451与安全服务器140耦合以存储关于端点150的活动的活动记录453,其中端点150的身份数据113由安全服务器140验证。The activity tracker 451 is coupled with the security server 140 to store activity records 453 regarding the activity of the endpoint 150 , wherein the identity data 113 of the endpoint 150 is verified by the security server 140 .

偏好455可包含端点150的活动的安全设置。例如,安全设置可用于实施家长控制,检测端点150的欺诈性使用,跟踪端点150的位置,等等。Preferences 455 may contain security settings for endpoint 150 activities. For example, security settings may be used to implement parental controls, detect fraudulent use of endpoint 150, track the location of endpoint 150, and the like.

例如,参考455可识别端点150的地理区域。当端点150从地理区域之外的位置发送身份数据113时,活动跟踪器451可向端点150的已注册所有者或用户生成安全警告。For example, reference 455 may identify the geographic area of endpoint 150 . The activity tracker 451 may generate a security alert to the registered owner or user of the endpoint 150 when the endpoint 150 sends the identity data 113 from a location outside the geographic area.

例如,安全警告可传输到所有者或用户的移动装置、在偏好中识别的电子邮件地址或电话号码,和/或在用户计算机180中运行的应用程序、个人媒体播放器、移动电话、智能电话等等。For example, the security alert may be transmitted to the owner's or user's mobile device, an email address or phone number identified in the preferences, and/or an application running on the user's computer 180, personal media player, mobile phone, smartphone and many more.

例如,偏好455可包含与在偏好455中指定的预定条件相关联的用户选定的选择方案。当与身份数据113的提交相关联的活动符合条件时,选定的选择方案使安全服务器140和/或客户端服务器141生成对对应访问请求171的访问响应172的拒绝。替代地或组合地,选择方案可触发对在偏好455中登记的联系人的安全警告。For example, preferences 455 may contain user-selected options associated with predetermined conditions specified in preferences 455 . The selected option causes the security server 140 and/or the client server 141 to generate a denial of the access response 172 to the corresponding access request 171 when the activity associated with the submission of the identity data 113 is eligible. Alternatively or in combination, the selection scheme may trigger a security alert for contacts registered in preferences 455 .

端点150可向客户端服务器141传输访问请求171以请求服务。例如,服务可向端点150提供蜂窝通信连接、互联网连接、到用户计算机180的连接、在线存储设施、在线计算资源等等。例如,服务可包含支付、交易、消息等等的处理。Endpoint 150 may transmit access request 171 to client server 141 to request a service. For example, a service may provide endpoint 150 with a cellular communication connection, an Internet connection, a connection to user computer 180, online storage facilities, online computing resources, and the like. For example, a service may include the processing of payments, transactions, messages, and the like.

在访问请求171中提供的身份数据113可包含活动信息177,如图18中所示。替代地或组合地,客户端服务器141可在传输到安全服务器140的验证请求173中提供类似或单独的活动信息。例如,客户端服务器141可在验证请求173中指定访问属性449。访问属性449识别其中端点150的身份将由安全服务器140认证的端点150的当前活动的某些方面。客户端服务器141向安全服务器140传输验证请求173,所述安全服务器验证身份数据113以确定端点150的身份的真实性。The identity data 113 provided in the access request 171 may contain activity information 177 as shown in FIG. 18 . Alternatively or in combination, the client server 141 may provide similar or separate activity information in the authentication request 173 transmitted to the security server 140 . For example, client server 141 may specify access attribute 449 in authentication request 173 . The access attribute 449 identifies some aspect of the current activity of the endpoint 150 in which the identity of the endpoint 150 is to be authenticated by the security server 140 . Client server 141 transmits a verification request 173 to security server 140, which verifies identity data 113 to determine the authenticity of endpoint 150's identity.

在验证373验证请求173中提供的身份数据113之后,安全服务器140可生成活动跟踪器451的活动记录453。活动记录453可包含从身份数据113中提取的活动信息177和/或从验证请求173中提取的端点150的当前活动的访问属性449。After verifying 373 the identity data 113 provided in the verification request 173 , the security server 140 may generate an activity record 453 for the activity tracker 451 . The activity record 453 may contain activity information 177 extracted from the identity data 113 and/or access attributes 449 of the current activity of the endpoint 150 extracted from the authentication request 173 .

基于活动记录453,活动跟踪器451确定当前活动是否满足在偏好455中指定的任一条件。如果满足偏好455中的条件,那么活动跟踪器451可执行安全操作以实施被选定用于所述条件的选择方案。Based on activity log 453 , activity tracker 451 determines whether the current activity satisfies any of the conditions specified in preferences 455 . If the conditions in the preferences 455 are met, the activity tracker 451 may perform secure operations to implement the selection scheme selected for the conditions.

例如,安全操作可包含针对端点150的注册所有者或用户的通知。For example, security operations may include notifications to registered owners or users of endpoint 150 .

例如,安全操作可包含指示安全服务器140提供指示安全限制、安全问题、端点150的未授权使用等等的验证响应174。For example, the security operation may include instructing the security server 140 to provide an authentication response 174 indicating security restrictions, security issues, unauthorized use of the endpoint 150, and the like.

任选地,活动跟踪器451可根据过往活动的记录453识别端点150的活动模式。Optionally, activity tracker 451 may identify activity patterns of endpoint 150 from records 453 of past activity.

例如,模式可包含端点150过去曾在其中运行的端点150的地理区域或区。例如,模式可包含端点150过去没有活动的一天或一周中的时间段。例如,模式可包含端点150的过往活动的访问属性449的范围。For example, a schema may include a geographic area or zone of endpoint 150 in which endpoint 150 has operated in the past. For example, a pattern may include a day or time period of the week in which the endpoint 150 has had no activity in the past. For example, a pattern may contain a range of access attributes 449 for the endpoint's 150 past activity.

当当前活动偏离模式时,活动跟踪器451可生成通知,且任选地使安全服务器140和/或客户端服务器141拒绝访问请求171。Activity tracker 451 may generate a notification and optionally cause security server 140 and/or client server 141 to deny access request 171 when the current activity deviates from mode.

任选地,安全服务器140可检查在身份数据113中提供的活动信息177以检测安全风险。Optionally, security server 140 may examine activity information 177 provided in identity data 113 to detect security risks.

例如,在活动信息177中指定的日期和时间和/或位置可以与访问属性449中的对应信息比较以检测不匹配。不匹配可以是对被盗身份数据113被使用或端点150被篡改或不安全操作的指示。For example, the date and time and/or location specified in the activity information 177 may be compared with corresponding information in the access attribute 449 to detect a mismatch. A mismatch may be an indication that stolen identity data 113 was used or that endpoint 150 was tampered with or operated insecurely.

图21示出根据一个实施例的用于更新或修复存储在端点中的包的方法。例如,图21的方法可以使用图18和19的技术实施。Figure 21 illustrates a method for updating or repairing a package stored in an endpoint, according to one embodiment. For example, the method of FIG. 21 may be implemented using the techniques of FIGS. 18 and 19 .

在框461处,服务器系统从端点150接收由配置在端点150中的存储器装置130生成的身份数据113。At block 461 , the server system receives from the endpoint 150 the identity data 113 generated by the memory device 130 configured in the endpoint 150 .

例如,服务器系统可包含存储存储器装置(例如,130)和/或其它服务器的秘密的安全服务器140,所述其它服务器例如包存储库191、固件商店170和/或另一服务器。For example, the server system may include a secure server 140 that stores secrets for a memory device (eg, 130) and/or other servers, such as a package repository 191, a firmware store 170, and/or another server.

在框463处,安全服务器140基于存储在安全服务器140中的关于端点150的信息(包含存储器装置130的秘密)来验证身份数据。At block 463, the security server 140 verifies the identity data based on the information stored in the security server 140 about the endpoint 150 (including the secret of the memory device 130).

例如,框463中的操作可以类似于在框323、框343、框403和/或框423中执行的操作的方式执行。For example, the operations in block 463 may be performed in a manner similar to the operations performed in block 323 , block 343 , block 403 , and/or block 423 .

在框465处,安全服务器140从已经验证的身份数据113提取存储在端点150中的包(例如,167、441、443、…、445)的健康信息447。At block 465 , the security server 140 extracts the health information 447 of the package (eg, 167 , 441 , 443 , . . . , 445 ) stored in the endpoint 150 from the authenticated identity data 113 .

例如,健康信息447可包含存储在端点150中的包167的当前散列值169。安全服务器140可比较从身份数据113中提取的当前散列值169与存储在服务器系统(例如,存储库191、固件商店170)中的健康的最新版本的包167的散列值。For example, the health information 447 may include the current hash value 169 of the packet 167 stored in the endpoint 150 . The secure server 140 may compare the current hash value 169 extracted from the identity data 113 with the hash value of the latest healthy version of the package 167 stored in the server system (eg, repository 191, firmware store 170).

例如,框461中的身份数据的接收可以是端点150执行存储在端点150中的包167的结果。包167可包含固件363或端点150的操作系统的至少一部分。健康信息447可用于确定包167是否过时。For example, the receipt of identity data in block 461 may be the result of endpoint 150 executing package 167 stored in endpoint 150 . Package 167 may contain at least a portion of firmware 363 or the operating system of endpoint 150 . Health information 447 may be used to determine if package 167 is out of date.

在另一实例中,框461中的身份数据的接收可以是端点150执行存储在端点150中的第一包441的结果。第一包441可包含固件363或端点150的操作系统的至少一部分。健康信息447可用于确定第二包(例如,443或445)是否过时、损坏或改变。In another example, the receipt of the identity data in block 461 may be the result of endpoint 150 executing the first packet 441 stored in endpoint 150 . The first package 441 may contain at least a portion of the firmware 363 or the operating system of the endpoint 150 . Health information 447 may be used to determine if the second package (eg, 443 or 445 ) is outdated, damaged, or changed.

当第二包装(例如,443或445)包含为端点150定制的数据时,服务器系统可获得成功配置端点150中的第二包(例如,443或445)时的第二包(例如,443或445)的副本。例如,第二包(例如,443或445)可包含端点150的一或多个配置参数。响应于成功配置第二包(例如,443或445),服务器系统可从端点150接收健康版本的第二包(例如,443或445)。随后,如果在框465处提取的健康信息447指示需要修复第二包(例如,443或445),那么可使用存储在存储库191中的健康版本。When the second package (eg, 443 or 445) contains data customized for the endpoint 150, the server system can obtain the second package (eg, 443 or 445) when the second package (eg, 443 or 445) in the endpoint 150 is successfully configured 445) copy. For example, the second packet (eg, 443 or 445 ) may contain one or more configuration parameters for endpoint 150 . In response to successfully configuring the second package (eg, 443 or 445 ), the server system may receive a healthy version of the second package (eg, 443 or 445 ) from endpoint 150 . Then, if the health information 447 extracted at block 465 indicates that the second package needs to be repaired (eg, 443 or 445), then the healthy version stored in the repository 191 may be used.

在一些实施方案中,从身份数据113提取健康信息447包含对在身份数据113中提供的消息131的一部分进行解密(例如,使用会话密钥263)。In some embodiments, extracting health information 447 from identity data 113 includes decrypting a portion of message 131 provided in identity data 113 (eg, using session key 263).

身份数据113包含第一验证码133。安全服务器140通过确定第一验证码133是否从消息131和存储器装置130的秘密生成来验证身份数据113。例如,秘密可以是存储器装置130的唯一装置秘密101和/或秘密密钥137。在存储器装置130组装到端点150中之后,存储器装置130的秘密不传输到存储器装置130之外。The identity data 113 includes the first verification code 133 . The security server 140 verifies the identity data 113 by determining whether the first verification code 133 is generated from the message 131 and the secret of the memory device 130 . For example, the secret may be the unique device secret 101 and/or the secret key 137 of the memory device 130 . After the memory device 130 is assembled into the endpoint 150 , the secrets of the memory device 130 are not transferred outside the memory device 130 .

在框467处,至少部分地基于健康信息447,安全服务器140确定存储在端点150中的包需要更新或修复。At block 467, based at least in part on the health information 447, the security server 140 determines that the package stored in the endpoint 150 needs to be updated or repaired.

在框469处,安全服务器140发起操作以执行存储在端点150中的包的更新或修复。At block 469 , the security server 140 initiates operations to perform an update or repair of the package stored in the endpoint 150 .

例如,为了替换或修复存储于存储器装置130中的包,安全服务器140使用表示在存储器装置130中执行命令155的权限的加密密钥生成命令155的第二验证码153。例如,在存储器装置130中执行时,命令155使存储器装置130中的包(例如,441或443)替换。For example, in order to replace or repair a package stored in memory device 130 , secure server 140 generates a second verification code 153 for command 155 using an encryption key representing authority to execute command 155 in memory device 130 . For example, when executed in memory device 130, command 155 causes a packet (eg, 441 or 443) in memory device 130 to be replaced.

在一些实施方案中,为了修复存储在存储器装置130之外的包445,包445的替换初始存储到存储器装置130中。在存储器装置验证替换的完整性之后,包445可经由执行从存储器装置130加载的包441中的指令而替换。任选地,第二验证码153可经生成以将替换写入到存储器装置130中和/或允许执行包445的修复或替换。In some embodiments, in order to repair a package 445 stored outside of the memory device 130 , the replacement of the package 445 is initially stored in the memory device 130 . After the memory device verifies the integrity of the replacement, package 445 may be replaced via execution of the instructions in package 441 loaded from memory device 130 . Optionally, the second verification code 153 may be generated to write the replacement into the memory device 130 and/or allow the repair or replacement of the package 445 to be performed.

图22示出根据一个实施例的基于端点的一或多个活动执行安全操作的方法。例如,图22的方法可以使用图18和20的技术实施。22 illustrates a method of performing security operations based on one or more activities of an endpoint, according to one embodiment. For example, the method of FIG. 22 may be implemented using the techniques of FIGS. 18 and 20 .

在框481处,服务器系统存储表示端点150的一或多个偏好455的数据。At block 481 , the server system stores data representing one or more preferences 455 of the endpoint 150 .

例如,服务器系统可包含存储存储器装置(例如,130)和/或其它服务器的秘密的安全服务器140,所述其它服务器例如活动跟踪器451、包存储库191、固件商店170和/或另一服务器。For example, the server system may include a secure server 140 that stores secrets of memory devices (eg, 130 ) and/or other servers, such as activity tracker 451 , package repository 191 , firmware store 170 , and/or another server .

在框483处,服务器系统接收含有由配置在端点150中的存储器装置130生成的身份数据113的验证请求173。At block 483 , the server system receives the authentication request 173 containing the identity data 113 generated by the memory device 130 configured in the endpoint 150 .

在框485处,服务器系统至少部分地基于存储器装置的秘密而确定身份数据113有效。At block 485, the server system determines that the identity data 113 is valid based at least in part on the secret of the memory device.

例如,框485中的操作可以类似于在框323、框343、框403、框423和/或框463中执行的操作的方式来执行。For example, the operations in block 485 may be performed in a manner similar to the operations performed in block 323 , block 343 , block 403 , block 423 , and/or block 463 .

在框487处,服务器系统确定与身份数据113相关联的活动满足为端点150指定的条件。At block 487 , the server system determines that the activity associated with the identity data 113 satisfies the conditions specified for the endpoint 150 .

例如,所述条件可在端点150的偏好455中指定。For example, the conditions may be specified in the preferences 455 of the endpoint 150.

在框489处,在响应于验证请求173而提供验证响应174时,服务器系统执行与条件相关联的安全操作。At block 489, upon providing the verification response 174 in response to the verification request 173, the server system performs the security operation associated with the condition.

例如,安全操作可包含向在所述一或多个参考455中注册的联系人传输警告或通知。For example, security operations may include transmitting alerts or notifications to contacts registered in the one or more references 455 .

例如,安全操作可包含识别验证响应174中的安全风险或限制。任选地,鉴于存储器装置130的秘密密钥137和在身份数据113中提供的消息131,安全服务器140可提供即使在身份数据113具有有效验证码133时也不确认端点150的真实性的验证响应174。当与身份数据113相关联的活动满足条件时,验证响应174可配置成使客户端服务器拒绝对由身份数据113识别的端点150的服务的请求171。For example, security operations may include identifying security risks or limitations in the authentication response 174 . Optionally, given the secret key 137 of the memory device 130 and the message 131 provided in the identity data 113, the security server 140 may provide verification that does not confirm the authenticity of the endpoint 150 even when the identity data 113 has a valid verification code 133 Response 174. The validation response 174 may be configured to cause the client server to reject the request 171 for service of the endpoint 150 identified by the identity data 113 when the activity associated with the identity data 113 satisfies the condition.

可以基于存储器装置130嵌入在身份数据113中的活动信息177和/或由客户端服务器141在验证请求173中提供的访问属性449针对活动来评估条件。Conditions may be evaluated for the activity based on activity information 177 embedded in identity data 113 by memory device 130 and/or access attributes 449 provided by client server 141 in authentication request 173 .

例如,在安全服务器140确定身份数据113中的验证码133有效之后,安全服务器140可信任嵌入在身份数据113中的活动信息177在存储器装置130生成验证码133之后尚未改变。因此,活动信息177可以从身份数据113中提取以评估条件。任选地,活动信息177可以密文形式在消息中提供,所述密文要使用以图9中所论述的方式生成的会话密钥263或存储器装置130的另一秘密加密密钥进行解密。For example, after security server 140 determines that verification code 133 in identity data 113 is valid, security server 140 may trust that activity information 177 embedded in identity data 113 has not changed since memory device 130 generated verification code 133 . Accordingly, activity information 177 can be extracted from identity data 113 to evaluate conditions. Optionally, activity information 177 may be provided in the message in ciphertext to be decrypted using session key 263 generated in the manner discussed in FIG. 9 or another secret encryption key of memory device 130 .

替代地或组合地,安全服务器140可从验证请求173提取访问属性449。例如,在客户端服务器141接收对由客户端服务器141提供的服务的访问请求171之后,客户端服务器141可生成验证请求173到安全服务器140。验证请求173经生成以包含来自访问请求171的身份数据113。此外,在请求客户端服务器141的服务的背景下,客户端服务器141可添加访问属性449以提供关于端点150的活动的信息。Alternatively or in combination, the security server 140 may extract the access attribute 449 from the authentication request 173 . For example, after client server 141 receives access request 171 to a service provided by client server 141 , client server 141 may generate an authentication request 173 to security server 140 . Authentication request 173 is generated to include identity data 113 from access request 171 . Additionally, in the context of requesting the services of client server 141 , client server 141 may add access attributes 449 to provide information about the activity of endpoint 150 .

例如,条件可包含活动信息177和访问属性449的不匹配;并且不匹配可在验证响应174中触发访问请求171的拒绝和/或身份数据113的拒绝,即使在身份数据113具有有效验证码133时。For example, a condition may include a mismatch of activity information 177 and access attribute 449; and a mismatch may trigger a denial of access request 171 and/or a denial of identity data 113 in authentication response 174, even if identity data 113 has a valid authentication code 133 Time.

在一些实施方案中,服务器系统与用户计算机180通信以接收表示端点150的所述一或多个偏好455的数据。In some implementations, the server system communicates with the user computer 180 to receive data representing the one or more preferences 455 of the endpoint 150 .

替代地或组合地,服务器系统可从过往活动的记录453推断偏好455。Alternatively or in combination, the server system may infer preferences 455 from records 453 of past activity.

例如,服务器系统的活动跟踪器451可存储端点150的活动的多个记录453。基于多个记录453,活动跟踪器451可确定端点150的活动模式。模式可包含地理区域、一天或一周中的时间段或活动属性的范围,或其任何组合。触发框489的安全操作的条件可被偏离模式的活动满足。For example, the activity tracker 451 of the server system may store a number of records 453 of the activity of the endpoint 150 . Based on the plurality of records 453, the activity tracker 451 can determine the activity pattern of the endpoint 150. Patterns can include geographic areas, time periods of the day or week, or ranges of activity attributes, or any combination thereof. The conditions that trigger the safe operation of block 489 may be satisfied by deviating mode activities.

任选地,活动跟踪器451可基于记录453而向端点150的所有者或授权用户呈现端点150的活动。例如,基于过往活动的检查,所有者或授权用户可指定实施家长控制、访问限制等的条件。Optionally, activity tracker 451 may present endpoint 150 activity to an owner or authorized user of endpoint 150 based on record 453 . For example, based on a review of past activity, the owner or authorized user may specify conditions for implementing parental controls, access restrictions, and the like.

经安全服务器140认证的端点150的身份可动态地与由账户标识符表示的订阅账户相关联以接收客户端服务器141提供到账户的服务。当端点150不使用服务时,端点150的身份和订阅账户之间的关联可以去除以允许另一端点使用订阅账户。因此,一组端点(例如,150)可配置成共享订阅账户,并一次一个地使用订阅账户。The identity of the endpoint 150 authenticated by the security server 140 may be dynamically associated with the subscription account represented by the account identifier to receive services provided by the client server 141 to the account. When endpoint 150 is not using the service, the association between the identity of endpoint 150 and the subscription account may be removed to allow another endpoint to use the subscription account. Thus, a set of endpoints (eg, 150) may be configured to share subscription accounts and use subscription accounts one at a time.

例如,一组端点可配置成使用客户端服务器141的服务进行蜂窝连接。传统上,订户识别模块(SIM)卡将用于表示订户/订阅账户。这一组端点可通过每次在群组中的一个端点中物理地安装SIM卡来使用由SIM卡表示的订阅账户。为了使群组中的另一端点能够使用订阅账户,SIM卡将物理地从一个端点移动到另一端点。For example, a set of endpoints may be configured to use the services of client server 141 for cellular connections. Traditionally, a Subscriber Identity Module (SIM) card would be used to represent a subscriber/subscription account. This set of endpoints can use the subscription account represented by the SIM card by physically installing the SIM card in one endpoint in the group at a time. To enable another endpoint in the group to use the subscription account, the SIM card would be physically moved from one endpoint to the other.

如上文结合图6所论述的系统允许使用虚拟订户识别模块(vSIM)通过虚拟卡注册237并基于使用安全服务器140执行的身份验证或端点认证239而附接到端点(例如,150)上。图6的系统可进一步配置成解除端点(例如,150)与表示订阅账户的卡简档219的关联,使得虚拟卡注册237可经执行以供另一端点使用订阅账户。The system as discussed above in connection with FIG. 6 allows the use of a virtual subscriber identity module (vSIM) to be attached to an endpoint (eg, 150 ) through virtual card registration 237 and based on authentication or endpoint authentication 239 performed using secure server 140 . The system of FIG. 6 may be further configured to disassociate an endpoint (eg, 150 ) from the card profile 219 representing the subscription account so that virtual card registration 237 may be performed for another endpoint to use the subscription account.

例如,提供给订阅账户的订阅服务(例如,蜂窝连接)可以在企业(或另一实体)所拥有的一群端点当中共享。这一群中的端点(例如,150)可能不会同时需要账户的服务。因此,将这一群中的端点配置成共享一或多个订阅账户可能是有利的。当超过一个订阅账户配置成由一群端点(例如,物联网(IoT)装置)共享时,这一群中的小部分可以同时使用订阅账户的服务。For example, a subscription service (eg, a cellular connection) provided to a subscription account may be shared among a group of endpoints owned by an enterprise (or another entity). Endpoints in this group (eg, 150) may not require the account's services at the same time. Therefore, it may be advantageous to configure endpoints in this group to share one or more subscription accounts. When more than one subscription account is configured to be shared by a group of endpoints (eg, Internet of Things (IoT) devices), a small portion of the group may use the services of the subscription account concurrently.

例如,服务器系统可配置成跟踪群体中的端点的当前使用状态。当端点与客户端服务器通信以请求服务时,端点可以动态地绑定到订阅账户。当端点不是正在使用服务时,订阅账户可以从所述端点释放。当正在使用提供给订阅账户的服务的端点的数目大于可以共享的订阅账户的数目时,作用中端点可同时使用账户的服务。当订阅账户当前绑定到群体的一部分且正在被这一部分使用时,来自另一端点的对服务的请求可被拒绝,直到订阅账户中的一个不使用且因此变得可用于共享为止。For example, the server system may be configured to track the current usage status of endpoints in the population. Endpoints can be dynamically bound to subscription accounts when they communicate with client servers to request services. When the endpoint is not using the service, the subscription account can be released from the endpoint. When the number of endpoints that are using a service provided to a subscription account is greater than the number of subscription accounts that can be shared, an active endpoint can use the account's service concurrently. When a subscription account is currently bound to and is being used by a part of the community, requests for services from another endpoint may be denied until one of the subscription accounts is not in use and thus becomes available for sharing.

例如,响应于企业的物联网(IoT)装置请求蜂窝连接,虚拟订户识别模块(vSIM)可以绑定到IoT装置。当蜂窝连接在长于阈值的一段时间内一直空闲时,蜂窝连接可以断开连接;并且虚拟订户识别模块(vSIM)可以从IoT装置释放,并且可用于与企业的另一IoT装置绑定。因此,企业可订阅减少数目的vSIM;并且当这些vSIMs全都在使用时,来自另一装置的蜂窝连接的请求可处于保持状态,直到连接中的一个断开且vSIM被释放用于分配给保持中装置为止。For example, in response to an enterprise's Internet of Things (IoT) device requesting a cellular connection, a virtual subscriber identity module (vSIM) can be bound to the IoT device. When the cellular connection has been idle for a period of time longer than a threshold, the cellular connection can be disconnected; and the virtual subscriber identity module (vSIM) can be released from the IoT device and can be used to bind with another IoT device of the enterprise. Thus, an enterprise can subscribe to a reduced number of vSIMs; and when these vSIMs are all in use, a request for a cellular connection from another device can be put on hold until one of the connections is disconnected and the vSIM is released for allocation to hold until the device.

任选地,安全服务器140可配置成抑制和/或调度连接请求的转发以管理有限数目的订阅蜂窝连接的使用。Optionally, the security server 140 may be configured to suppress and/or schedule forwarding of connection requests to manage usage of a limited number of subscribed cellular connections.

图23和24示出根据一个实施例的配置成在一组端点当中实施订阅共享的系统。23 and 24 illustrate a system configured to implement subscription sharing among a set of endpoints, according to one embodiment.

在图23和24中,服务商店190具有使端点群组501与订户群组503相关联的订阅数据387。In Figures 23 and 24, service store 190 has subscription data 387 that associates endpoint group 501 with subscriber group 503.

端点群组501具有多个唯一识别111、…、112。唯一识别(例如,111)中的每一个表示安装于一组端点中的相应端点(例如,150)中的存储器装置(例如,130)。The endpoint group 501 has a plurality of unique identities 111 , . . . , 112 . Each of the unique identifications (eg, 111) represents a memory device (eg, 130) installed in a corresponding endpoint (eg, 150) of a set of endpoints.

订户群组503具有一或多个订户身份编号(例如,505)。订户群组503中的每个订户身份编号(例如,505)表示客户端服务器141的服务的订户。例如,每个订户身份编号(例如,505)可用于识别每次供一个订户使用的唯一订阅账户。Subscriber group 503 has one or more subscriber identity numbers (eg, 505). Each subscriber identity number (eg, 505 ) in subscriber group 503 represents a subscriber to the service of client server 141 . For example, each subscriber identification number (eg, 505) may be used to identify a unique subscription account for one subscriber at a time.

例如,订户身份编号505可用于表示唯一订户,方式与订户识别模块(SIM)表示蜂窝通信网络中的订户相同。For example, the subscriber identity number 505 may be used to represent a unique subscriber in the same way that a subscriber identity module (SIM) represents a subscriber in a cellular communication network.

当SIM卡插入在蜂窝电话中时,与订户的通信连接到蜂窝电话;并且蜂窝电话具有订户账户中的服务。当SIM卡插入到替代蜂窝电话中时,与订户的通信连接到当前具有SIM卡的替代蜂窝电话。When the SIM card is inserted in the cellular phone, communication with the subscriber is connected to the cellular phone; and the cellular phone has services in the subscriber's account. When the SIM card is inserted into the replacement cellular telephone, communication with the subscriber is connected to the replacement cellular telephone that currently has the SIM card.

类似地,当订户身份编号505与唯一识别111相关联时,提供到由订户身份编号505表示的订户账户的服务被提供给具有唯一识别111的端点150。当订户身份编号505与替代性唯一识别112相关联时,提供到由订户身份编号505表示的订户账户的服务被提供给具有唯一识别112的替代端点。Similarly, when the subscriber identification number 505 is associated with the unique identification 111 , the service provided to the subscriber account represented by the subscriber identification number 505 is provided to the endpoint 150 having the unique identification 111 . When the subscriber identity number 505 is associated with the alternative unique identification 112 , the service provided to the subscriber account represented by the subscriber identification number 505 is provided to the alternative endpoint with the unique identification 112 .

在图23中,安全服务器140配置成动态地链接订户群组503中的订户身份编号505和端点群组501中的唯一识别111。In FIG. 23 , the security server 140 is configured to dynamically link the subscriber identity number 505 in the subscriber group 503 and the unique identification 111 in the endpoint group 501 .

例如,响应于具有身份数据113的来自客户端服务器141的验证请求173,安全服务器140可确定身份数据113是否具有用于具有唯一识别111的存储器装置130的有效验证码133。如果身份数据113有效,那么安全服务器140可确定订户群组503当前是否具有空闲以供具有唯一识别111的存储器装置130和/或端点150使用的订户身份编号505。如果是,那么安全服务器140可提供确认身份数据113的真实性及其与订户身份编号505的关联的验证响应174。作为响应,客户端服务器141可将提供到由订户身份编号505识别的账户的服务提供给端点150。For example, in response to the verification request 173 from the client server 141 with the identity data 113 , the security server 140 may determine whether the identity data 113 has a valid verification code 133 for the memory device 130 with the unique identification 111 . If the identity data 113 is valid, the security server 140 may determine whether the subscriber group 503 currently has a subscriber identity number 505 available for use by the memory device 130 and/or endpoint 150 with the unique identification 111 . If so, the security server 140 may provide a verification response 174 confirming the authenticity of the identity data 113 and its association with the subscriber identity number 505 . In response, client server 141 may provide service to endpoint 150 to the account identified by subscriber identity number 505 .

在一些实施方案中,如果当前在订户群组503中没有订户身份编号505可供端点150使用,那么验证响应174未识别出身份数据113的订户身份编号,这可使客户端服务器141拒绝来自端点150的服务请求。In some embodiments, if no subscriber identity number 505 is currently available in the subscriber group 503 for the endpoint 150, then the authentication response 174 does not identify the subscriber identity number for the identity data 113, which can cause the client server 141 to reject data from the endpoint 150 service requests.

图23中的验证请求173可包含访问属性449,其指示用于使身份数据113中所识别的唯一识别111与可供具有唯一识别111的端点150使用的订户身份编号(例如,505)相关联的所请求时间段。The authentication request 173 in FIG. 23 may include an access attribute 449 indicating a subscriber identity number (eg, 505) for associating the unique identification 111 identified in the identity data 113 with a subscriber identity number (eg, 505) available to the endpoint 150 having the unique identification 111 the requested time period.

在一些实施方案中,系统配置成在识别唯一识别111和/或身份数据113的订户身份编号505的验证响应174之后的预定时间段内使唯一识别111和订户身份编号505相关联。在所述预定时间段之后,服务商店190去除订户身份编号505到唯一识别111的分配,使得订户身份编号505可用于端点群组501中的具有不同的唯一识别(例如,112)的另一端点。在所述预定时间段之后,客户端服务器141不将提供到由订户身份编号505表示的账户的服务提供到端点群组501中具有唯一识别111、…、112的端点(例如,150)中的任一个,直到从安全服务器140接收到使订户身份编号505与端点群组501中的唯一识别111、…、112中的一个相关联的另一验证响应174为止。In some embodiments, the system is configured to associate the unique identification 111 with the subscriber identification number 505 within a predetermined period of time after the verification response 174 identifying the subscriber identification number 505 of the unique identification 111 and/or the identity data 113 . After the predetermined period of time, the service store 190 removes the assignment of the subscriber identification number 505 to the unique identification 111 so that the subscriber identification number 505 is available for another endpoint in the endpoint group 501 with a different unique identification (eg, 112) . After the predetermined period of time, the client server 141 does not provide services to the account represented by the subscriber identity number 505 to the endpoints (eg, 150 ) in the endpoint group 501 having unique identifications 111 , . . . , 112 Either, until another verification response 174 is received from the security server 140 that associates the subscriber identity number 505 with one of the unique identities 111 , . . . , 112 in the endpoint group 501 .

当具有唯一识别111、…、112的端点竞争使用订户群组503中的订户身份编号(例如,505)时,服务商店190可控制订户群组503中的订户身份编号(例如,505)的使用分配。Service store 190 can control the use of subscriber identity numbers (eg, 505) in subscriber group 503 when endpoints with unique identities 111, . . . , 112 compete to use subscriber identity numbers (eg, 505) in subscriber group 503 distribute.

例如,服务商店190可跟踪群组501中因为没有可用订户身份编号505而拒绝访问请求的端点,并基于所跟踪的优先级,对可用订户身份编号505的后续分配进行优先级排序。For example, service store 190 can track endpoints in group 501 that deny access requests because there are no available subscriber identity numbers 505, and prioritize subsequent assignments of available subscriber identity numbers 505 based on the tracked priorities.

例如,当订户身份编号505可供使用时,服务商店190可打开其中可以接收来自不同端点的访问请求的时间窗;当接收到群组501的多个访问请求时,具有在所述时间窗之前被拒绝的最早请求的端点可具有获得使用订户身份编号505的机会的最高优先级。For example, when subscriber identity number 505 is available, service store 190 may open a time window in which access requests from different endpoints may be received; The endpoint with the earliest request that was rejected may have the highest priority to gain the opportunity to use the subscriber identity number 505 .

在一些实施方案中,端点群组501中的具有唯一识别111、…、112的端点可基于一或多个预定义规则来竞争使用订户群组503中的订户身份编号(例如,505)的机会。例如,在接收到对服务请求的拒绝之后,端点(例如,150)可等待进行后续请求的随机时间段。通过拒绝之后的等待时段的随机性,使用订户群组503获得服务访问的机会可以分配给需要服务的端点。In some embodiments, endpoints in endpoint group 501 with unique identities 111, . . . , 112 may compete for the opportunity to use a subscriber identity number (eg, 505) in subscriber group 503 based on one or more predefined rules . For example, after receiving a denial of a service request, an endpoint (eg, 150) may wait a random period of time for subsequent requests. By the randomness of the waiting period after denial, the opportunity to gain access to the service using the subscriber group 503 can be allocated to endpoints requiring service.

在一些实施方案中,被临时分配订户身份编号505的端点150可通知客户端服务器141和/或安全服务器140将订户身份编号505从对端点150的分配中释放出来。例如,在端点150使用提供给订户身份编号505的服务完成通信之后,端点150可以将订户身份编号505返回到群组503中的订户身份编号池,此订户身份编号池可以分配给群组501中具有唯一识别112的另一个端点和/或由所述另一个端点使用。In some embodiments, the endpoint 150 temporarily assigned the subscriber identity number 505 may notify the client server 141 and/or the security server 140 to release the subscriber identity number 505 from the assignment to the endpoint 150 . For example, after endpoint 150 completes the communication using the service provided to subscriber identity number 505, endpoint 150 may return subscriber identity number 505 to the pool of subscriber identity numbers in group 503, which may be assigned to group 501 Another endpoint with unique identification 112 and/or used by the other endpoint.

在一些实施方案中,系统可跟踪使用订户身份编号505的端点150的作用中活动。在非作用中时段之后,服务商店190可从唯一识别111中去除订户身份编号505的分配。In some embodiments, the system can track the active activity of endpoint 150 using subscriber identity number 505 . After the inactive period, the service store 190 may remove the assignment of the subscriber identity number 505 from the unique identification 111 .

图23示出其中由安全服务器140结合验证请求173和/或验证响应174控制将订户身份编号505分配给唯一识别111的配置。替代地和/或组合地,客户端服务器141可以连接到服务商店190以实施分配和/或使用分配来提供服务,如图24所示。23 shows a configuration in which the assignment of the subscriber identity number 505 to the unique identification 111 is controlled by the security server 140 in conjunction with the authentication request 173 and/or the authentication response 174. Alternatively and/or in combination, the client server 141 may connect to the service store 190 to implement the distribution and/or use the distribution to provide services, as shown in FIG. 24 .

在图24中,客户端服务器141耦合到服务商店190和活动跟踪器451。基于指示具有唯一识别111的端点150的真实性和订户身份编号505用于端点群组501的可用性的验证响应174,客户端服务器141可使服务商店190存储指示订户身份编号505到唯一识别111的临时分配的数据。In FIG. 24, client server 141 is coupled to service store 190 and activity tracker 451. Based on the verification response 174 indicating the authenticity of the endpoint 150 with the unique identification 111 and the availability of the subscriber identification number 505 for the endpoint group 501 , the client server 141 may cause the service store 190 to store the information indicating the subscriber identification number 505 to the unique identification 111 . Temporarily allocated data.

随后,客户端服务器141可使用活动跟踪器451确定是否从唯一识别111中去除订户身份编号505的分配。The client server 141 may then use the activity tracker 451 to determine whether to remove the assignment of the subscriber identity number 505 from the unique identification 111 .

例如,在其中端点150不使用提供到由订户身份编号505表示的账户的服务的预定长度的非作用中时间段之后,客户端服务器141可使服务商店190更新订阅数据387,并终止订户身份编号505到唯一识别111的分配。For example, after a predetermined length of inactive time period in which endpoint 150 does not use services provided to the account represented by subscriber identity number 505, client server 141 may cause service store 190 to update subscription data 387 and terminate the subscriber identity number 505 to the assignment of unique identification 111.

例如,在从端点150接收指示或通知之后,客户端服务器141可使服务商店190终止订户身份编号505到唯一识别111的分配。For example, after receiving an indication or notification from endpoint 150 , client server 141 may cause service store 190 to terminate the assignment of subscriber identity number 505 to unique identification 111 .

在一些实施方案中,在订户身份编号505分配到唯一识别111后某一时间段,客户端服务器141可使服务商店190终止订户身份编号505到唯一识别111的分配。所述时间段可以是预定的,或根据从端点150接收的访问请求171确定。In some embodiments, the client server 141 may cause the service store 190 to terminate the assignment of the subscriber identification number 505 to the unique identification 111 some time period after the assignment of the subscriber identification number 505 to the unique identification 111 . The time period may be predetermined, or determined from the access request 171 received from the endpoint 150 .

图25示出根据一个实施例的用于促进一组端点中的订阅共享的方法。例如,图25的方法可以使用上文结合图23和24所论述的技术在具有结合图1到19论述的安全特征的系统中实施。Figure 25 illustrates a method for facilitating subscription sharing among a set of endpoints, according to one embodiment. For example, the method of FIG. 25 may be implemented in a system having the security features discussed in connection with FIGS. 1-19 using the techniques discussed above in connection with FIGS. 23 and 24 .

在框521处,服务器系统存储使端点群组501与至少一个订户标识符(例如,身份编号505)相关联的数据。端点群组501可具有由唯一识别111、…、112所识别的多个端点(例如,150)。At block 521, the server system stores data associating endpoint group 501 with at least one subscriber identifier (eg, identity number 505). Endpoint group 501 may have a plurality of endpoints (eg, 150 ) identified by unique identifications 111 , . . . , 112 .

例如,服务器系统可包含存储存储器装置(例如,130)和/或其它服务器的秘密的安全服务器140,所述其它服务器例如服务商店190、活动跟踪器451、包存储库191、固件商店170和/或另一服务器。服务器系统可进一步包含图6中所示的客户端服务器141和/或卡服务器223。For example, the server system may include a secure server 140 that stores secrets for memory devices (eg, 130 ) and/or other servers, such as service store 190, activity tracker 451, package repository 191, firmware store 170, and/or or another server. The server system may further include the client server 141 and/or the card server 223 shown in FIG. 6 .

在框523处,服务器系统接收含有由配置在端点150中的存储器装置130生成的身份数据113的验证请求173。身份数据113使用其在端点群组501中的唯一识别111来识别端点150。At block 523 , the server system receives an authentication request 173 containing the identity data 113 generated by the memory device 130 configured in the endpoint 150 . Identity data 113 identifies endpoint 150 using its unique identification 111 in endpoint group 501 .

在框525处,响应于验证请求173,服务器系统至少部分地基于存储器装置130的秘密而确定身份数据113有效。At block 525 , in response to the verification request 173 , the server system determines that the identity data 113 is valid based at least in part on the secret of the memory device 130 .

例如,框525中的操作可以类似于在框323、框343、框403、框423、框463和/或框485中执行的操作的方式执行。For example, the operations in block 525 may be performed in a manner similar to the operations performed in block 323 , block 343 , block 403 , block 423 , block 463 , and/or block 485 .

在框527处,服务器系统确定订户标识符(例如,身份编号505)当前未分配给端点群组501中的任何端点。At block 527 , the server system determines that a subscriber identifier (eg, identity number 505 ) is not currently assigned to any endpoint in endpoint group 501 .

在框529处,服务器系统基于使端点群组501与订户标识符(例如,身份编号505)相关联的数据而向端点150分配订户标识符。所述分配使提供到由订户标识符(例如,身份编号505)表示和/或与其相关联的账户的服务能够提供给端点。At block 529, the server system assigns a subscriber identifier to endpoint 150 based on data associating endpoint group 501 with a subscriber identifier (eg, identity number 505). The assignment enables services provided to the account represented by and/or associated with the subscriber identifier (eg, identity number 505) to be provided to the endpoint.

例如,订户标识符(例如,身份编号505)表示在具有多个端点(例如,150)的网络(例如,225)中提供的服务的唯一订户,所述端点包含端点群组501中的多个端点以及不在端点群组501中的其它端点。For example, a subscriber identifier (eg, identity number 505 ) represents a unique subscriber to a service provided in a network (eg, 225 ) having a plurality of endpoints (eg, 150 ) including a plurality of endpoint group 501 endpoints and other endpoints that are not in endpoint group 501 .

例如,服务网络(例如,225)可配置成向端点提供服务,例如蜂窝通信连接、互联网连接、到用户计算机的连接、在线存储设施、在线计算资源、支付、交易或消息,或其任何组合。For example, a service network (eg, 225) may be configured to provide services to endpoints, such as a cellular communication connection, an Internet connection, a connection to a user's computer, online storage facilities, online computing resources, payments, transactions or messages, or any combination thereof.

例如,向端点150分配订户标识符(例如,身份编号505)包含将端点150配置成在服务网络(例如,225)中具有由订户标识符(例如,身份编号505)表示的唯一身份。For example, assigning a subscriber identifier (eg, identity number 505) to endpoint 150 includes configuring endpoint 150 to have a unique identity represented by the subscriber identifier (eg, identity number 505) in the serving network (eg, 225).

例如,服务网络(例如,225)可能需要网络(例如,225)中的不同端点具有由不同订户标识符(例如,身份编号505)表示的不同身份。由存储器装置130生成的身份数据113不包含订户标识符。存储器装置130和/或端点150的身份数据113和/或唯一识别111可以动态地分配给订户标识符(例如,身份编号505)或与其相关联,以为服务网络(例如,225)配置端点150。For example, a serving network (eg, 225) may require different endpoints in the network (eg, 225) to have different identities represented by different subscriber identifiers (eg, identity number 505). The identity data 113 generated by the memory device 130 does not contain a subscriber identifier. Identity data 113 and/or unique identification 111 of memory device 130 and/or endpoint 150 may be dynamically assigned to or associated with a subscriber identifier (eg, identity number 505) to configure endpoint 150 for a serving network (eg, 225).

例如,向端点150分配订户标识符(例如,身份编号505)包含存储表示在某一时间段内订户标识符到端点的分配的数据。For example, assigning a subscriber identifier (eg, identity number 505) to endpoint 150 includes storing data representing the assignment of subscriber identifiers to endpoints over a certain period of time.

例如,服务器系统可在所述时间段之后去除表示订户标识符到端点的分配的数据,以中断端点150作为订户接收网络中的服务。在数据去除之后,端点150在服务网络(例如,225)中不再具有由订户标识符(例如,身份编号505)表示的订户身份。For example, the server system may remove data representing the assignment of subscriber identifiers to endpoints after the time period to interrupt endpoint 150 from receiving service in the network as a subscriber. After data removal, endpoint 150 no longer has the subscriber identity represented by the subscriber identifier (eg, identity number 505) in the serving network (eg, 225).

例如,服务系统可监测端点150在服务网络(例如,225)中作为订户接收服务时的活动;并且响应于检测到端点150在网络(例如,225)中作为订户接收服务时的非作用中时段,服务器系统可去除数据以将端点150重新配置成在服务网络(例如,225)中不具有由订户标识符(例如,身份编号505)表示的订户身份。For example, the service system may monitor the activity of endpoint 150 while receiving service as a subscriber in the service network (eg, 225); and in response to detecting an inactive period when endpoint 150 is receiving service as a subscriber in the network (eg, 225) , the server system may remove the data to reconfigure the endpoint 150 to not have the subscriber identity represented by the subscriber identifier (eg, identity number 505) in the serving network (eg, 225).

替代地,响应于来自端点150的消息或请求,可以执行将端点150从服务网络(例如,225)中配置为订户标识符(例如,身份编号505)释放出来。Alternatively, in response to a message or request from endpoint 150, the release of endpoint 150 configured as a subscriber identifier (eg, identity number 505) from the serving network (eg, 225) may be performed.

替代地,订户标识符(例如,身份编号505)从绑定到端点150的释放之后的时间段的长度可以是从将订户标识符(例如,身份编号505)分配到端点150的时间开始的预定长度。Alternatively, the length of the time period after the release of the subscriber identifier (eg, identity number 505 ) from binding to endpoint 150 may be predetermined from the time the subscriber identifier (eg, identity number 505 ) is assigned to endpoint 150 length.

替代地,所述时间段的长度可以在验证请求173中指定。Alternatively, the length of the time period may be specified in the verification request 173 .

例如,验证请求173从服务网络(例如,225)中的客户端服务器141接收。为了将端点150配置成具有由订户标识符(例如,身份编号505)表示的订户身份,安全服务器140可响应于验证请求173向客户端服务器141传输验证响应174。验证响应174配置成指示身份数据113的有效性及身份数据113与订户标识符(例如,身份编号505)的关联。For example, the authentication request 173 is received from the client server 141 in the service network (eg, 225). To configure endpoint 150 to have a subscriber identity represented by a subscriber identifier (eg, identity number 505 ), security server 140 may transmit an authentication response 174 to client server 141 in response to authentication request 173 . The verification response 174 is configured to indicate the validity of the identity data 113 and the association of the identity data 113 with a subscriber identifier (eg, identity number 505).

一般来说,端点150可以使用不同服务的不同识别、在不同网络中和/或在不同上下文中来识别。端点150的每个识别可用于将端点150表示为特定于某一类型的服务、连接、通信等的群组中的许多的成员、订户、账户、经授权装置和/或实体。In general, endpoints 150 may be identified using different identities of different services, in different networks, and/or in different contexts. Each identification of an endpoint 150 may be used to represent the endpoint 150 as a number of members, subscribers, accounts, authorized devices and/or entities in a group specific to a certain type of service, connection, communication, or the like.

例如,端点150可配置成与分别用于其服务的不同客户端服务器141、…、143通信。端点150可以使用不同订户识别利用不同客户端服务器141、…、143识别。端点150的每一个订户识别表示由相应客户端服务器(例如,141、…、143)针对其对订户群体的服务辨识出的唯一订户和/或账户。For example, endpoint 150 may be configured to communicate with different client servers 141, . . . , 143, respectively, for its services. Endpoints 150 may utilize different client server 141, . . . , 143 identities using different subscriber identities. Each subscriber identification of endpoint 150 represents a unique subscriber and/or account identified by the corresponding client server (eg, 141 , . . . , 143 ) for its service to the subscriber population.

例如,端点150可配置成与客户端服务器141通信以获得不同类型的服务。端点150的不同识别可用于将端点150表示为不同服务类型的订户。For example, endpoint 150 may be configured to communicate with client server 141 for different types of services. Different identifications of endpoints 150 may be used to represent endpoints 150 as subscribers of different types of services.

例如,端点150可被分配集成电路卡标识符251以用作智能卡、移动设备身份编号253以用作蜂窝通信装置、移动订户身份编号255以用作蜂窝连接服务的订户,等等。For example, an endpoint 150 may be assigned an integrated circuit card identifier 251 for use as a smart card, a mobile device identity number 253 for use as a cellular communication device, a mobile subscriber identity number 255 for use as a subscriber for cellular connectivity services, and the like.

安全服务器140可配置成使用配置在端点150中的存储器装置130的安全特征来管理端点150的身份。The security server 140 may be configured to manage the identity of the endpoint 150 using the security features of the memory device 130 configured in the endpoint 150 .

例如,第三方可以请求安全服务器140将账户中的订阅服务绑定到端点150的公共识别。由于识别可为公众所知,因此存在欺诈性使用公共识别的潜在风险。端点150的身份数据113可配置成包含公共识别。基于在端点150中配置的存储器装置130的唯一装置秘密(UDS)101,安全服务器140可以验证从端点150接收的身份数据113是真实的;因此,端点150具有由包含在身份数据113中的公共识别表示的身份。通过安全服务器140执行的验证,可以检测到将公共识别作为身份的欺诈性使用。For example, a third party may request the security server 140 to bind subscription services in the account to the public identity of the endpoint 150 . Since identifications are publicly known, there is a potential risk of fraudulent use of public identifications. Identity data 113 of endpoint 150 may be configured to contain a public identification. Based on the unique device secret (UDS) 101 of the memory device 130 configured in the endpoint 150 , the security server 140 can verify that the identity data 113 received from the endpoint 150 is authentic; Identify the identity of the representation. The fraudulent use of a public identification as an identity can be detected through verification performed by the secure server 140 .

安全服务器140可配置成管理公共识别与端点150的安全、动态绑定。例如,响应于来自应用域中的被授权方的请求,安全服务器140可以将唯一公共识别绑定到应用域的端点150。例如,可以基于跟踪在端点(例如,150)中配置的存储器装置的所有权权限来验证被授权方。每个应用域可以具有表示应用域中的单独身份的多个公共识别。安全服务器140每次将唯一的公共识别绑定到一个端点。Security server 140 may be configured to manage the secure, dynamic binding of public identities to endpoints 150 . For example, in response to a request from an authorized party in the application domain, the security server 140 may bind a unique public identification to the endpoint 150 of the application domain. For example, an authorized party may be authenticated based on tracking ownership rights of memory devices configured in an endpoint (eg, 150). Each application domain may have multiple public identities representing individual identities in the application domain. The security server 140 binds a unique public identification to one endpoint at a time.

例如,响应于将公共识别绑定到端点150的请求,安全服务器140可以验证公共识别当前未绑定到另一个端点,并且可以使用表示所有者权限的加密密钥生成命令来操作存储器装置130,将公共识别存储在存储器装置130中作为用于生成存储器装置130和/或端点150的身份数据113的装置信息121的一部分。For example, in response to a request to bind the public identity to the endpoint 150, the security server 140 may verify that the public identity is not currently bound to another endpoint, and may operate the memory device 130 using an encryption key generation command representing owner rights, The public identification is stored in memory device 130 as part of device information 121 used to generate identity data 113 for memory device 130 and/or endpoint 150 .

替代地,安全服务器140可以在应用域中存储将端点150与端点150的公共识别相关联的数据。响应于应用域中的验证请求173,安全服务器140验证端点150中提供的身份数据113,并在应用域中查找端点150的公共识别。可在验证响应174中提供公共识别。Alternatively, the security server 140 may store data associating the endpoint 150 with the public identity of the endpoint 150 in the application domain. In response to the verification request 173 in the application domain, the security server 140 verifies the identity data 113 provided in the endpoint 150 and looks up the public identity of the endpoint 150 in the application domain. The public identification may be provided in the verification response 174 .

公共识别与端点150的安全、动态绑定可用于促进安全操作。例如,当端点150丢失/被盗时,端点150的所有者可以请求安全服务器140将丢失/被盗端点150的公共识别绑定到替换端点。一旦安全服务器140将丢失/被盗端点150的公共识别绑定到替换端点,订阅给丢失/被盗端点150的服务就转移到替换端点。任选地,丢失/被盗端点150的所有者可以请求将数据从丢失/被盗端点150转移到替换装置;并且在转移之后,所有者可以请求停用丢失/被盗端点150以最小化端点150的丢失/影响。Secure, dynamic binding of public identities to endpoints 150 can be used to facilitate secure operations. For example, when endpoint 150 is lost/stolen, the owner of endpoint 150 may request security server 140 to bind the public identification of lost/stolen endpoint 150 to a replacement endpoint. Once the security server 140 has bound the public identification of the lost/stolen endpoint 150 to the replacement endpoint, services subscribed to the lost/stolen endpoint 150 are transferred to the replacement endpoint. Optionally, the owner of the lost/stolen endpoint 150 may request that data be transferred from the lost/stolen endpoint 150 to a replacement device; and after the transfer, the owner may request to deactivate the lost/stolen endpoint 150 to minimize the endpoint 150 loss/impact.

图26示出根据一个实施例的用于管理端点识别的技术。26 illustrates a technique for managing endpoint identification, according to one embodiment.

例如,图26的技术可使用结合图1到5和9到10论述的存储器装置的安全特征在图1和/或6的系统中使用。例如,图26的技术可以与图14和15的固件商店、图15、23和24的服务商店190和/或图20的活动跟踪器451的服务一起使用。For example, the technique of FIG. 26 may be used in the systems of FIGS. 1 and/or 6 using the security features of memory devices discussed in connection with FIGS. 1-5 and 9-10. For example, the technique of FIG. 26 may be used with the firmware store of FIGS. 14 and 15 , the service store 190 of FIGS. 15 , 23 and 24 , and/or the service of activity tracker 451 of FIG. 20 .

在图26中,安全服务器140存储存储器装置130的唯一识别111和其唯一装置秘密101。此外,安全服务器140存储表征安装了存储器装置130的端点150的硬件、软件和/或数据配置的装置信息121。如在图2中,秘密密钥137是基于唯一装置秘密101和装置信息121。秘密密钥137供存储器装置130用于生成身份数据113的验证码133;并且安全服务器140验证验证码133是使用秘密密钥137生成的,其指示身份数据113是由具有唯一装置秘密101的存储器装置130生成的。In Figure 26, the secure server 140 stores the unique identification 111 of the memory device 130 and its unique device secret 101. Additionally, the security server 140 stores device information 121 that characterizes the hardware, software and/or data configuration of the endpoint 150 on which the memory device 130 is installed. As in FIG. 2 , the secret key 137 is based on the unique device secret 101 and the device information 121 . The secret key 137 is used by the memory device 130 to generate the verification code 133 for the identity data 113; and the security server 140 verifies that the verification code 133 was generated using the secret key 137, which indicates that the identity data 113 was generated by the memory with the unique device secret 101 generated by device 130.

在图26中,安全服务器140可将唯一识别111绑定到端点150的公共识别541。例如,在公共识别541分配给应用域中的端点150之后,安全服务器140可将公共识别541存储为与存储器装置130和/或端点150的唯一识别相关联的装置信息121的部分。In FIG. 26 , the security server 140 may bind the unique identification 111 to the public identification 541 of the endpoint 150 . For example, after the public identification 541 is assigned to the endpoint 150 in the application domain, the security server 140 may store the public identification 541 as part of the device information 121 associated with the unique identification of the memory device 130 and/or the endpoint 150 .

例如,应用域可配置成用于蜂窝连接、智能卡处理、客户端服务器141的服务等。识别541可用于表示应用域中的一群端点中的端点150。识别541可用于将端点150表示为装置、成员、服务订户、账户、联系人等。For example, the application domain may be configured for cellular connectivity, smart card processing, client server 141 services, and the like. Identification 541 may be used to represent endpoint 150 in a group of endpoints in the application domain. Identification 541 may be used to represent endpoint 150 as a device, member, service subscriber, account, contact, or the like.

例如,在应用域中操作的客户端服务器141可以请求安全服务器140将公共识别541绑定到具有唯一识别111的端点150。在请求549中,客户端服务器141可以提供从端点150接收的身份数据113和要绑定到端点150的公共识别541。响应于请求549,安全服务器140通过确定身份数据113中的验证码133是否是使用具有唯一识别111的存储器装置130的秘密密钥137生成的来验证身份数据113。For example, a client server 141 operating in the application domain may request the security server 140 to bind the public identification 541 to the endpoint 150 with the unique identification 111 . In request 549 , client server 141 may provide the identity data 113 received from endpoint 150 and the public identity 541 to be bound to endpoint 150 . In response to request 549 , security server 140 verifies identity data 113 by determining whether verification code 133 in identity data 113 was generated using secret key 137 of memory device 130 that uniquely identifies 111 .

在身份数据113的验证之后,安全服务器140可以将公共识别541添加到装置信息121,并使端点150中的存储器装置130更新543装置信息121。在更新543之后,存储器装置130具有用于其生成包含公共识别541的新身份数据113的新秘密密钥。例如,除了唯一识别111之外,新身份数据113中的消息131还可包含公共识别541。配置成防止对唯一识别111的欺诈性使用的存储器装置130的安全特征还可以防止对公共识别541的欺诈性使用。例如,当客户端服务器141接收到含有公共识别541的新身份数据113时,客户端服务器141可以请求安全服务器140验证新身份数据113。如果新身份数据113具有有效的验证码133,那么其由被分配公共识别541的端点150生成。After verification of the identity data 113 , the security server 140 may add the public identification 541 to the device information 121 and cause the memory device 130 in the endpoint 150 to update 543 the device information 121 . After the update 543 , the memory device 130 has a new secret key for it to generate the new identity data 113 containing the public identification 541 . For example, message 131 in new identity data 113 may contain public identification 541 in addition to unique identification 111 . The security features of memory device 130 configured to prevent fraudulent use of unique identification 111 may also prevent fraudulent use of public identification 541 . For example, when client server 141 receives new identity data 113 containing public identification 541 , client server 141 may request security server 140 to verify new identity data 113 . If the new identity data 113 has a valid verification code 133, it is generated by the endpoint 150 assigned the public identity 541.

安全服务器140可以以类似于端点150的固件的更新377和/或端点150中安装的包的修复385的方式更新543装置信息121。例如,安全服务器140可以生成命令155的验证码153,以将公共识别541存储在存储器装置130的存储器单元103中。使用表示操作存储器装置130的所有者权限的加密密钥145生成验证码153,所述所有者权限包含由存储器装置130的访问控制器109控制的用于在存储器装置130中执行命令155的权限。The security server 140 may update 543 the device information 121 in a manner similar to an update 377 of the firmware of the endpoint 150 and/or a fix 385 of a package installed in the endpoint 150 . For example, the security server 140 may generate the verification code 153 of the command 155 to store the public identification 541 in the memory unit 103 of the memory device 130 . Verification code 153 is generated using encryption key 145 representing owner rights to operate memory device 130 , including rights controlled by access controller 109 of memory device 130 to execute commands 155 in memory device 130 .

任选地,公共识别541与端点150的关联不需要生成新的秘密密钥来表示存储器装置130和/或端点150。公共识别541可以包含在用于生成使用秘密密钥137签名的验证码133的消息131中。验证码133的验证指示消息131中提供的公共识别541尚未改变;并且验证码133由安装在端点150中的存储器装置130签名。Optionally, the association of public identification 541 with endpoint 150 does not require the generation of a new secret key to represent memory device 130 and/or endpoint 150 . The public identification 541 may be included in the message 131 used to generate the verification code 133 signed using the secret key 137 . Verification of verification code 133 indicates that the public identification 541 provided in message 131 has not changed; and verification code 133 is signed by memory device 130 installed in endpoint 150.

任选地,跳过更新543;并且存储器装置130和/或端点150不存储公共识别541。安全服务器140存储将唯一识别111与公共识别541相关联的数据。在安全服务器140验证在验证请求中提供的身份数据113之后,安全服务器140可以查找与应用域相关的公共识别541,以查找在身份数据113的消息131中识别的唯一识别111,并在验证响应中提供公共识别541,方式类似于在图23所示的验证响应174中呈现订户身份编号505的方式。Optionally, update 543 is skipped; and memory device 130 and/or endpoint 150 do not store public identification 541. The secure server 140 stores data that associates the unique identification 111 with the public identification 541 . After the security server 140 validates the identity data 113 provided in the validation request, the security server 140 may look up the public identification 541 associated with the application domain for the unique identification 111 identified in the message 131 of the identity data 113, and in the validation response The public identification 541 is provided in , in a manner similar to the way the subscriber identity number 505 is presented in the authentication response 174 shown in FIG. 23 .

任选地,安全服务器140具有门户545,其允许计算机180提交请求547以将公共识别541与具有唯一识别111的端点150相关联。在门户545验证计算机180由端点150的授权所有者或用户操作之后,门户545可以与安全服务器140通信以更新唯一识别111的装置信息121。Optionally, the security server 140 has a portal 545 that allows the computer 180 to submit a request 547 to associate the public identification 541 with the endpoint 150 having the unique identification 111 . After portal 545 verifies that computer 180 is operated by an authorized owner or user of endpoint 150 , portal 545 may communicate with security server 140 to update device information 121 that uniquely identifies 111 .

在一个实施例中,端点150具有存储于存储器装置130中的包。当包从存储器装置130加载并在主机系统120中执行时,端点150可与服务器140通信以获得更新543。端点150和服务器140之间的通信可通过客户端服务器(例如,141)、固件商店170、服务商店190、活动跟踪器451或另一服务器(例如,门户545),也可不通过任何中间服务器。In one embodiment, endpoint 150 has packets stored in memory device 130 . When the package is loaded from memory device 130 and executed in host system 120 , endpoint 150 may communicate with server 140 to obtain updates 543 . Communication between endpoint 150 and server 140 may be through a client server (eg, 141), firmware store 170, service store 190, activity tracker 451, or another server (eg, portal 545), or not through any intermediary server.

例如,端点(例如,150)的制造商可使用计算机180配置端点(例如,150)并请求由制造商分配的识别(例如,541)绑定到端点(例如,150)。例如,此类公共识别可以是表示通信网络中的各个装置的移动设备身份编号(例如,253)。For example, a manufacturer of an endpoint (eg, 150) may use computer 180 to configure the endpoint (eg, 150) and request an identification (eg, 541) assigned by the manufacturer to bind to the endpoint (eg, 150). For example, such a public identification may be a mobile device identity number (eg, 253) representing each device in the communication network.

例如,服务提供商可以将订户身份编号(例如,255)分配给提供商提供的服务的订户。当端点150的所有者或用户注册提供商的服务时,服务提供商可以使用计算机180请求将订户身份编号255与端点150绑定。For example, a service provider may assign subscriber identification numbers (eg, 255) to subscribers of services provided by the provider. When the owner or user of endpoint 150 registers for the provider's service, the service provider can use computer 180 to request that the subscriber identity number 255 be bound to endpoint 150.

图27示出根据一个实施例的用于管理端点的识别的方法。例如,图27的方法可以使用上文结合图26所论述的技术在具有结合图1到19论述的安全特征的系统中实施。Figure 27 illustrates a method for managing identification of endpoints, according to one embodiment. For example, the method of FIG. 27 may be implemented in a system having the security features discussed in connection with FIGS. 1-19 using the techniques discussed above in connection with FIG. 26 .

在框561处,服务器系统存储使在端点150中配置的存储器装置130的秘密(例如,101)、端点150的第一识别111和装置信息121相关联的数据。At block 561 , the server system stores data associating the secret (eg, 101 ) of the memory device 130 configured in the endpoint 150 , the first identification 111 of the endpoint 150 , and the device information 121 .

例如,服务器系统可包含安全服务器140。任选地,服务器系统可进一步包含门户545、固件商店170、服务商店190、活动跟踪器451、包存储库191和/或另一服务器。在一些实施方案中,服务器系统可进一步包含图6中所示的客户端服务器141和/或卡服务器223。For example, the server system may include the security server 140 . Optionally, the server system may further include a portal 545, a firmware store 170, a service store 190, an activity tracker 451, a package repository 191 and/or another server. In some embodiments, the server system may further include the client server 141 and/or the card server 223 shown in FIG. 6 .

在框563处,服务器系统接收将第二识别541绑定到由第一识别111识别的端点150的请求(例如,547或549)。At block 563, the server system receives a request to bind the second identification 541 to the endpoint 150 identified by the first identification 111 (eg, 547 or 549).

例如,将第二识别541绑定到端点150的请求(例如,547或549)可以在服务器系统中从与端点150分开的计算机(例如,180或服务器141)接收和/或在所述计算机中发起。服务器系统配置成确定计算机是否具有将此类第二识别541附接到端点150的权限。如果是,那么服务器系统140可存储将第一识别111和第二识别541相关联的数据。For example, a request to bind the second identification 541 to endpoint 150 (eg, 547 or 549) may be received in the server system from and/or within a computer separate from endpoint 150 (eg, 180 or server 141 ) initiate. The server system is configured to determine whether the computer has authority to attach such a second identification 541 to the endpoint 150 . If so, server system 140 may store data associating first identification 111 and second identification 541 .

在一个实施例中,将此类第二识别541附接到端点150的权限与操作计算机且具有存储器装置130的所有权(例如,作为制造商、零售商、服务提供商、端点150的终端用户)相关联的实体。In one embodiment, such a second identification 541 is attached to the endpoint 150's authority to operate the computer and has ownership of the memory device 130 (eg, as a manufacturer, retailer, service provider, end user of endpoint 150) associated entity.

例如,实体可使用计算机与端点150和/或存储器装置130通信以检索由存储器装置130生成的当前身份数据113。当前身份数据113包含第一识别111,并且可由服务器系统就来自存储器装置130的当前身份数据113是否真实进行验证。For example, an entity may use a computer to communicate with endpoint 150 and/or memory device 130 to retrieve current identity data 113 generated by memory device 130 . The current identity data 113 contains the first identification 111 and can be verified by the server system as to whether the current identity data 113 from the memory device 130 is authentic.

例如,响应于请求,服务器系统可存储使第一识别111与第二识别541相关联的数据。For example, in response to the request, the server system may store data associating the first identification 111 with the second identification 541 .

例如,服务器系统可更新第一识别111的装置信息121以包含第二识别541。For example, the server system may update the device information 121 of the first identification 111 to include the second identification 541 .

例如,服务器系统可与端点150通信以更新存储于存储器装置130中的数据和/或在存储器装置130中存储第二识别541。For example, the server system may communicate with endpoint 150 to update data stored in memory device 130 and/or store second identification 541 in memory device 130 .

任选地,第二识别541可用作在存储器装置130中用于生成秘密密钥137的装置信息121的部分,其中秘密密钥137用于生成存储器装置130和/或端点150的身份数据113的验证码133。Optionally, the second identification 541 may be used as part of the device information 121 in the memory device 130 for generating the secret key 137 used to generate the identity data 113 for the memory device 130 and/or the endpoint 150 The verification code is 133.

任选地,第二识别541不改变秘密密钥137的生成。但是,第二识别541存储到存储器装置130的访问受控区中,并且包含在呈现于身份数据113中的消息131中(例如,作为数据C 127的部分)。Optionally, the second identification 541 does not alter the generation of the secret key 137 . However, the second identification 541 is stored into the access controlled area of the memory device 130 and is included in the message 131 presented in the identity data 113 (eg, as part of the data C 127).

例如,响应于将第二识别541绑定到端点150的请求,服务器系统可以生成命令155的验证码153,并且使存储器装置130根据验证码153执行命令155。在接收到命令155和命令155的验证码153之后,存储器装置130的访问控制器109配置成使用表示在存储器装置130中执行命令155的权限的加密密钥(例如,访问控制密钥149)来验证命令155的验证码153。存储器装置130配置成响应于确定命令155的验证码153有效而执行命令155;在存储器装置130中执行命令155可将第二识别541存储在存储器装置130中以用于身份数据113的后续生成。例如,第二识别541可以存储为装置信息121的部分和/或用于在身份数据113的消息131中呈现。For example, in response to the request to bind the second identification 541 to the endpoint 150 , the server system may generate a verification code 153 for the command 155 and cause the memory device 130 to execute the command 155 according to the verification code 153 . After receiving command 155 and verification code 153 for command 155 , access controller 109 of memory device 130 is configured to use an encryption key (eg, access control key 149 ) that represents authority to execute command 155 in memory device 130 to Verification code 153 of command 155 is verified. Memory device 130 is configured to execute command 155 in response to determining that verification code 153 of command 155 is valid; executing command 155 in memory device 130 may store second identification 541 in memory device 130 for subsequent generation of identity data 113 . For example, the second identification 541 may be stored as part of the device information 121 and/or for presentation in the message 131 of the identity data 113 .

例如,存储器装置在端点150中存储可执行的一组指令。所述一组指令可以是内容161的一部分,或者是端点的固件或操作系统的包441。存储器装置130配置成在允许端点150加载所述一组指令以供执行之前验证所述一组指令的完整性。由于所述一组指令经由存储器装置130受保护,因此服务器系统可以与执行所述一组指令的端点150可靠地通信,以使存储器装置130执行命令155。端点150和服务器系统之间的通信路径可以任选地通过客户端服务器141和/或任选地经由会话密钥263和对称加密受保护。For example, a memory device stores a set of instructions executable in endpoint 150 . The set of instructions may be part of the content 161 or a package 441 of the endpoint's firmware or operating system. The memory device 130 is configured to verify the integrity of the set of instructions before allowing the endpoint 150 to load the set of instructions for execution. Because the set of instructions is protected via the memory device 130 , the server system can reliably communicate with the endpoint 150 executing the set of instructions to cause the memory device 130 to execute the command 155 . The communication path between the endpoint 150 and the server system may optionally be protected by the client server 141 and/or optionally via the session key 263 and symmetric encryption.

在框565处,服务器系统接收含有由存储器装置130生成的身份数据113的验证请求173。身份数据113包含从在身份数据113中呈现的消息131生成的验证码133和至少部分地从秘密(例如,101)导出的加密密钥(例如,秘密密钥137)。At block 565 , the server system receives an authentication request 173 containing the identity data 113 generated by the memory device 130 . Identity data 113 includes a verification code 133 generated from message 131 presented in identity data 113 and an encryption key (eg, secret key 137 ) derived at least in part from a secret (eg, 101 ).

例如,在一些实施方案中,在身份数据中呈现的消息131含有第二识别541。任选地,当第二识别541被配置为装置信息121的部分时,用于对呈验证码133形式的消息131进行签名的加密密钥(例如,秘密密钥137)可以进一步基于第二识别541导出;替代地,加密密钥与第二识别541无关。For example, in some embodiments, the message 131 presented in the identity data contains the second identification 541 . Optionally, when the second identification 541 is configured as part of the device information 121, the encryption key (eg, the secret key 137) used to sign the message 131 in the form of the verification code 133 may be further based on the second identification 541 is derived; alternatively, the encryption key is independent of the second identification 541.

在一些实施方案中,在身份数据113中呈现的消息131不包含第二识别541。In some embodiments, the message 131 presented in the identity data 113 does not contain the second identification 541 .

在框567处,服务器系统至少部分地基于存储器装置130的秘密(例如,101)而验证身份数据113的有效性。At block 567, the server system verifies the validity of the identity data 113 based at least in part on the secret (eg, 101) of the memory device 130.

例如,框567中的操作可以类似于在框323、框343、框403、框423、框463、框485和/或框525中执行的操作的方式执行。For example, the operations in block 567 may be performed in a manner similar to the operations performed in block 323 , block 343 , block 403 , block 423 , block 463 , block 485 , and/or block 525 .

在框569处,服务器系统响应于确定身份数据113有效而提供对验证请求173的验证响应174。验证响应174配置成指示身份数据113是由具有第二识别541的端点150生成的。At block 569, the server system provides an authentication response 174 to the authentication request 173 in response to determining that the identity data 113 is valid. The authentication response 174 is configured to indicate that the identity data 113 was generated by the endpoint 150 having the second identification 541 .

例如,服务器系统可通过在存储于安全服务器140中的数据中查找与第一识别相关联的第二识别541或从身份数据113提取第二识别541来识别验证响应174中的第二识别541。替代地,服务器系统可指示身份数据113有效,包含在包含于身份数据113中的消息131中呈现的第二识别541。For example, the server system may identify the second identification 541 in the verification response 174 by looking up the second identification 541 associated with the first identification in the data stored in the secure server 140 or extracting the second identification 541 from the identity data 113 . Alternatively, the server system may indicate that the identity data 113 is valid, including the second identification 541 presented in the message 131 contained in the identity data 113 .

图28示出计算机系统600的实例机器,其内可以执行用于使机器执行本文所论述的任何一或多个方法的一组指令。在一些实施例中,计算机系统600可对应于包含、耦合到或使用存储器子系统的主机系统,或者可用于执行安全管理器160的操作(例如,执行指令以执行对应于参考图1-27描述的安全服务器140和/或存储器装置130的安全特征的操作)。在替代实施例中,所述机器可以在LAN、内联网、外联网和/或互联网中连接(例如,联网)到其它机器。所述机器可以客户端-服务器网络环境中的服务器或客户端机器的资格操作,作为对等(或分布式)网络环境中的对等机器操作,或作为云计算基础设施或环境中的服务器或客户端机器操作。28 illustrates an example machine of a computer system 600 within which a set of instructions may be executed to cause the machine to perform any one or more of the methods discussed herein. In some embodiments, computer system 600 may correspond to a host system that includes, is coupled to, or uses a memory subsystem, or may be used to perform operations of security manager 160 (eg, execute instructions to perform instructions corresponding to those described with reference to FIGS. 1-27 ). operation of the security features of the security server 140 and/or the memory device 130). In alternative embodiments, the machines may be connected (eg, networked) to other machines in a LAN, intranet, extranet, and/or the Internet. The machine may operate as a server or client machine in a client-server network environment, as a peer machine in a peer-to-peer (or distributed) network environment, or as a server in a cloud computing infrastructure or environment or Client machine operation.

所述机器可以是个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、蜂窝电话、网络器具、服务器、网络路由器、交换机或桥接器,或能够执行(依序或以其它方式)指定将由所述机器采取的动作的一组指令的任何机器。另外,尽管示出单个机器,但术语“机器”还应被认为包含机器的任何集合,所述机器的集合单独地或共同地执行一组(或多组)指令以执行本文论述的方法中的任何一或多个。The machine may be a personal computer (PC), tablet PC, set-top box (STB), personal digital assistant (PDA), cellular phone, network appliance, server, network router, switch or bridge, or capable of executing (sequentially or sequentially) otherwise) any machine that specifies a set of instructions for an action to be taken by the machine. Additionally, although a single machine is shown, the term "machine" should also be considered to encompass any collection of machines that, individually or collectively, execute a set (or sets) of instructions to perform any of the methods discussed herein. any one or more.

实例计算机系统600包含处理装置602、主存储器604(例如,只读存储器(ROM)、快闪存储器、动态随机存取存储器(DRAM),例如同步DRAM(SDRAM)或Rambus DRAM(RDRAM)、静态随机存取存储器(SRAM)等),以及数据存储系统618,它们经由总线630(其可包含多个总线)彼此通信。The example computer system 600 includes a processing device 602, main memory 604 (eg, read only memory (ROM), flash memory, dynamic random access memory (DRAM), such as synchronous DRAM (SDRAM) or Rambus DRAM (RDRAM), static random access memory (DRAM) access memory (SRAM), etc.), and data storage system 618, which communicate with each other via bus 630 (which may include multiple buses).

处理装置602表示一或多个通用处理装置,例如微处理器、中央处理单元等。更具体地说,处理装置可以是复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器,或实施其它指令集的处理器,或实施指令集的组合的处理器。处理装置602还可以是一或多个专用处理装置,例如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器等。处理装置602配置成执行用于执行本文中所论述的操作和步骤的指令626。计算机系统600可进一步包含经由网络620通信的网络接口装置608。Processing device 602 represents one or more general-purpose processing devices, such as microprocessors, central processing units, and the like. More specifically, the processing device may be a complex instruction set computing (CISC) microprocessor, a reduced instruction set computing (RISC) microprocessor, a very long instruction word (VLIW) microprocessor, or a processor implementing other instruction sets , or a processor that implements a combination of instruction sets. Processing device 602 may also be one or more special purpose processing devices, such as application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), digital signal processors (DSPs), network processors, and the like. The processing device 602 is configured to execute instructions 626 for performing the operations and steps discussed herein. Computer system 600 may further include network interface device 608 in communication via network 620 .

数据存储系统618可包含机器可读媒体624(也被称为计算机可读媒体),在其上存储一组或多组指令626或体现本文中所描述的方法或功能中的任何一或多个的软件。指令626在由同样构成机器可读存储媒体的计算机系统600、主存储器604和处理装置602执行期间还可完全地或至少部分地驻存在主存储器604内和/或处理装置602内。机器可读媒体624、数据存储系统618和/或主存储器604可对应于存储器子系统。Data storage system 618 may include machine-readable media 624 (also referred to as computer-readable media) on which are stored one or more sets of instructions 626 or embody any one or more of the methods or functions described herein software. Instructions 626 may also reside entirely or at least partially within main memory 604 and/or within processing device 602 during execution by computer system 600 , main memory 604 , and processing device 602 , which also constitute machine-readable storage media. Machine-readable medium 624, data storage system 618, and/or main memory 604 may correspond to a memory subsystem.

在一个实施例中,指令626包含实施对应于安全管理器160(例如,参考图1-27描述的安全服务器140和/或存储器装置130的安全特征的操作)的功能性的指令。尽管在实例实施例中机器可读存储媒体624示出为单个媒体,但是术语“机器可读存储媒体”应被认为包含存储一组或多组指令的单个媒体或多个媒体。术语“机器可读存储媒体”还应被认为包含能够存储或编码供机器执行的一组指令且使机器执行本公开的方法中的任何一或多个的任何媒体。术语“机器可读存储媒体”因此应被认为包含但不限于固态存储器、光学媒体和磁性媒体。In one embodiment, the instructions 626 include instructions that implement functionality corresponding to the security manager 160 (eg, the operation of the security features of the security server 140 and/or memory device 130 described with reference to FIGS. 1-27 ). Although machine-readable storage medium 624 is shown as a single medium in example embodiments, the term "machine-readable storage medium" should be considered to encompass a single medium or multiple media that store one or more sets of instructions. The term "machine-readable storage medium" shall also be considered to include any medium capable of storing or encoding a set of instructions for execution by a machine and causing the machine to perform any one or more of the methods of the present disclosure. The term "machine-readable storage medium" shall therefore be considered to include, but not be limited to, solid-state memory, optical media, and magnetic media.

一般来说,端点150、服务器(例如,安全服务器140、客户端服务器141或143或卡服务器223)可以是具有主机系统120和存储器子系统的计算系统。存储器子系统可包含媒体,例如一或多个易失性存储器装置、一或多个非易失性存储器装置(例如,存储器装置130)或这些都组合。In general, endpoint 150, a server (eg, security server 140, client server 141 or 143, or card server 223) may be a computing system having a host system 120 and a memory subsystem. The memory subsystem may include media such as one or more volatile memory devices, one or more non-volatile memory devices (eg, memory device 130), or a combination of these.

存储器子系统可以是存储装置、存储器模块或存储装置和存储器模块的混合物。存储装置的实例包含固态驱动器(SSD)、快闪驱动器、通用串行总线(USB)快闪驱动器、嵌入式多媒体控制器(eMMC)驱动器、通用快闪存储(UFS)驱动器、安全数字(SD)卡和硬盘驱动器(HDD)。存储器模块的实例包含双列直插式存储器模块(DIMM)、小外廓DIMM(SO-DIMM)和各种类型的非易失性双列直插式存储器模块(NVDIMM)。The memory subsystem may be a storage device, a memory module, or a mixture of storage devices and memory modules. Examples of storage devices include solid state drives (SSD), flash drives, universal serial bus (USB) flash drives, embedded multimedia controller (eMMC) drives, universal flash storage (UFS) drives, secure digital (SD) Cards and Hard Disk Drives (HDDs). Examples of memory modules include dual inline memory modules (DIMMs), small outline DIMMs (SO-DIMMs), and various types of non-volatile dual inline memory modules (NVDIMMs).

例如,计算系统可为计算装置,例如台式计算机、膝上型计算机、网络服务器、移动装置、交通工具(例如,飞机、无人机、火车、汽车或其它运输工具)、具有物联网(IoT)功能的装置、嵌入式计算机(例如,交通工具、工业设备或联网商业装置中包含的嵌入式计算机),或包含存储器和处理装置的此类计算装置。For example, a computing system may be a computing device, such as a desktop computer, laptop computer, web server, mobile device, vehicle (eg, airplane, drone, train, car, or other vehicle), with Internet of Things (IoT) Functional devices, embedded computers (eg, embedded computers contained in vehicles, industrial equipment, or networked business devices), or such computing devices that include memory and processing means.

计算系统的主机系统120耦合到一或多个存储器子系统。如本文中所使用,“耦合到”或“与……耦合”大体上是指组件之间的连接,此连接可以是间接通信连接或直接通信连接(例如,不具有中间组件),不管是有线还是无线,包含电气、光学、磁性等连接。The host system 120 of the computing system is coupled to one or more memory subsystems. As used herein, "coupled to" or "coupled with" generally refers to a connection between components, which may be an indirect communicative connection or a direct communicative connection (eg, without intervening components), whether wired Or wireless, including electrical, optical, magnetic and other connections.

主机系统120可包含处理器芯片组(例如,处理装置118)和由处理器芯片组执行的软件堆栈。处理器芯片组可包含一或多个核心、一或多个高速缓存、存储器控制器(例如,控制器116)(例如,NVDIMM控制器)和存储协议控制器(例如,PCIe控制器、SATA控制器)。主机系统120使用存储器子系统,例如以便将数据写入到存储器子系统和从存储器子系统读取数据。Host system 120 may include a processor chipset (eg, processing device 118) and a software stack executed by the processor chipset. A processor chipset may include one or more cores, one or more caches, a memory controller (eg, controller 116 ) (eg, NVDIMM controller), and a storage protocol controller (eg, PCIe controller, SATA controller) device). Host system 120 uses the memory subsystem, for example, to write data to and read data from the memory subsystem.

主机系统120可以经由物理主机接口耦合到存储器子系统。物理主机接口的实例包含但不限于串行高级技术附件(SATA)接口、外围组件互连高速(PCIe)接口、通用串行总线(USB)接口、光纤通道、串行连接的SCSI(SAS)接口、双倍数据速率(DDR)存储器总线接口、小型计算机系统接口(SCSI)、双列直插式存储器模块(DIMM)接口(例如,支持双倍数据速率(DDR)的DIMM套接接口)、开放NAND快闪接口(ONFI)、双倍数据速率(DDR)接口、低功率双倍数据速率(LPDDR)接口,或任何其它接口。物理主机接口可用于在主机系统120和存储器子系统之间传输数据。主机系统120可进一步利用NVM快速(NVMe)接口,在存储器子系统通过PCIe接口与主机系统120耦合时访问组件(例如,存储器装置130)。物理主机接口可提供用于在存储器子系统和主机系统120之间传递控制、地址、数据和其它信号的接口。一般来说,主机系统120可经由同一个通信连接、多个单独的通信连接和/或通信连接的组合访问一或多个存储器子系统。Host system 120 may be coupled to the memory subsystem via a physical host interface. Examples of physical host interfaces include, but are not limited to, Serial Advanced Technology Attachment (SATA) interface, Peripheral Component Interconnect Express (PCIe) interface, Universal Serial Bus (USB) interface, Fibre Channel, Serial Attached SCSI (SAS) interface , double data rate (DDR) memory bus interface, small computer system interface (SCSI), dual inline memory module (DIMM) interface (eg, double data rate (DDR) capable DIMM socket), open NAND Flash Interface (ONFI), Double Data Rate (DDR) interface, Low Power Double Data Rate (LPDDR) interface, or any other interface. A physical host interface may be used to transfer data between the host system 120 and the memory subsystem. Host system 120 may further utilize an NVM Express (NVMe) interface to access components (eg, memory device 130 ) when the memory subsystem is coupled to host system 120 through a PCIe interface. The physical host interface may provide an interface for passing control, address, data, and other signals between the memory subsystem and host system 120 . In general, host system 120 may access one or more memory subsystems via the same communication connection, multiple separate communication connections, and/or a combination of communication connections.

主机系统120的处理装置118可以是例如微处理器、中央处理单元(CPU)、处理器的处理核心、执行单元等。在一些情况下,控制器116可称为存储器控制器、存储器管理单元和/或起始器。在一个实例中,控制器116控制通过耦合在主机系统120与存储器子系统之间的总线进行的通信。一般来说,控制器116可向存储器子系统发送期望访问存储器装置130的命令或请求。控制器116可进一步包含用于与存储器子系统通信的接口电路系统。接口电路系统可将从存储器子系统接收到的响应转换成用于主机系统120的信息。The processing device 118 of the host system 120 may be, for example, a microprocessor, a central processing unit (CPU), a processing core of a processor, an execution unit, or the like. In some cases, controller 116 may be referred to as a memory controller, a memory management unit, and/or an initiator. In one example, controller 116 controls communications over a bus coupled between host system 120 and the memory subsystem. In general, the controller 116 may send a command or request to the memory subsystem desiring to access the memory device 130 . Controller 116 may further include interface circuitry for communicating with the memory subsystem. The interface circuitry may translate the responses received from the memory subsystem into information for the host system 120 .

主机系统120的控制器116可与存储器子系统的控制器进行通信以执行操作,例如在存储器装置130处读取数据、写入数据或擦除数据以及其它此类操作。在一些情况下,控制器116集成在处理装置118的同一封装内。在其它情况下,控制器116与处理装置118的封装分开。控制器116和/或处理装置118可包含硬件,例如一或多个集成电路(IC)和/或离散组件、缓冲存储器、高速缓存存储器或其组合。控制器116和/或处理装置118可以是微控制器、专用逻辑电路系统(例如现场可编程门阵列(FPGA)、专用集成电路(ASIC)等)或另一合适的处理器。The controller 116 of the host system 120 may communicate with the controller of the memory subsystem to perform operations such as reading data, writing data, or erasing data at the memory device 130 and other such operations. In some cases, the controller 116 is integrated within the same package of the processing device 118 . In other cases, the controller 116 is separate from the packaging of the processing device 118 . Controller 116 and/or processing device 118 may include hardware such as one or more integrated circuits (ICs) and/or discrete components, buffer memory, cache memory, or combinations thereof. Controller 116 and/or processing device 118 may be a microcontroller, special purpose logic circuitry (eg, field programmable gate array (FPGA), application specific integrated circuit (ASIC), etc.), or another suitable processor.

存储器装置130可包含不同类型的非易失性存储器组件和/或易失性存储器组件的任何组合。易失性存储器装置可以是但不限于随机存取存储器(RAM),例如动态随机存取存储器(DRAM)和同步动态随机存取存储器(SDRAM)。Memory device 130 may include any combination of different types of non-volatile memory components and/or volatile memory components. Volatile memory devices may be, but are not limited to, random access memory (RAM), such as dynamic random access memory (DRAM) and synchronous dynamic random access memory (SDRAM).

非易失性存储器组件的一些实例包含“与非”(或NOT AND)(NAND)型快闪存储器和就地写入存储器,例如三维交叉点(“3D交叉点”)存储器。非易失性存储器交叉点阵列可结合可堆叠交叉网格化数据存取阵列基于体电阻的变化而执行位存储。另外,与许多基于快闪的存储器相比,交叉点非易失性存储器可执行原位写入操作,其中非易失性存储器单元可以在其先前已进行擦除的情况下进行编程。NAND型快闪存储器包含例如二维NAND(2DNAND)和三维NAND(3D NAND)。Some examples of non-volatile memory components include "NAND" (or NOT AND) (NAND) type flash memory and write-in-place memory, such as three-dimensional crosspoint ("3D crosspoint") memory. Non-volatile memory crosspoint arrays can perform bit storage based on changes in bulk resistance in conjunction with stackable cross-grid data access arrays. In addition, in contrast to many flash-based memories, cross-point non-volatile memory can perform in-situ write operations, where non-volatile memory cells can be programmed while they have previously been erased. The NAND-type flash memory includes, for example, two-dimensional NAND (2DNAND) and three-dimensional NAND (3D NAND).

存储器装置130中的每一个可包含一或多个存储器单元阵列。一种类型的存储器单元,例如单层级单元(SLC),可每单元存储一个位。其它类型的存储器单元,例如多层级单元(MLC)、三层级单元(TLC)、四层级单元(QLC)和五层级单元(PLC),可每单元存储多个位。在一些实施例中,存储器装置130中的每一个可包含例如SLC、MLC、TLC、QLC、PLC或它们的任何组合的一或多个阵列。在一些实施例中,特定存储器装置可包含存储器单元的SLC部分、MLC部分、TLC部分、QLC部分和/或PLC部分。存储器装置130的存储器单元可以分组为页,页可以指用于存储数据的存储器装置的逻辑单元。在一些类型的存储器(例如,NAND)中,可以将页分组以形成块。Each of memory devices 130 may include one or more arrays of memory cells. One type of memory cell, such as a single level cell (SLC), can store one bit per cell. Other types of memory cells, such as multi-level cell (MLC), three-level cell (TLC), quad-level cell (QLC), and five-level cell (PLC), can store multiple bits per cell. In some embodiments, each of the memory devices 130 may include one or more arrays of, for example, SLC, MLC, TLC, QLC, PLC, or any combination thereof. In some embodiments, a particular memory device may include an SLC portion, an MLC portion, a TLC portion, a QLC portion, and/or a PLC portion of memory cells. The memory cells of memory device 130 may be grouped into pages, which may refer to logical units of the memory device used to store data. In some types of memory (eg, NAND), pages may be grouped to form blocks.

尽管描述了非易失性存储器装置,例如3D交叉点型和NAND型存储器(例如,2DNAND、3D NAND),但是存储器装置130可以基于任何其它类型的非易失性存储器,例如只读存储器(ROM)、相变存储器(PCM)、自选存储器、其它基于硫属化物的存储器、铁电晶体管随机存取存储器(FeTRAM)、铁电随机存取存储器(FeRAM)、磁随机存取存储器(MRAM)、自旋转移力矩(STT)-MRAM、导电桥接RAM(CBRAM)、电阻性随机存取存储器(RRAM)、基于氧化物的RRAM(OxRAM)、或非(NOR)快闪存储器,以及电可擦除可编程只读存储器(EEPROM)。Although non-volatile memory devices such as 3D cross-point and NAND-type memories (eg, 2DNAND, 3D NAND) are described, memory device 130 may be based on any other type of non-volatile memory, such as read only memory (ROM). ), phase change memory (PCM), optional memory, other chalcogenide based memories, ferroelectric transistor random access memory (FeTRAM), ferroelectric random access memory (FeRAM), magnetic random access memory (MRAM), Spin Transfer Torque (STT) - MRAM, Conductive Bridge RAM (CBRAM), Resistive Random Access Memory (RRAM), Oxide-Based RRAM (OxRAM), or Non-(NOR) Flash, and Electrically Erasable Programmable Read Only Memory (EEPROM).

存储器子系统控制器可与存储器装置130通信以执行操作,例如在存储器装置130处读取数据、写入数据或擦除数据和其它此类操作(例如,响应于在命令总线上由控制器116调度的命令)。存储器子系统控制器可包含例如一或多个集成电路(IC)和/或离散组件、缓冲存储器或其组合的硬件。硬件可包含具有专用(例如,硬译码)逻辑的数字电路系统以执行本文中所描述的操作。存储器子系统控制器可以是微控制器、专用逻辑电路系统(例如,现场可编程门阵列(FPGA)、专用集成电路(ASIC)等),或另一合适的处理器。The memory subsystem controller may communicate with the memory device 130 to perform operations such as reading data, writing data, or erasing data at the memory device 130 and other such operations (eg, in response to an operation performed by the controller 116 on the command bus). scheduled command). The memory subsystem controller may include hardware such as one or more integrated circuits (ICs) and/or discrete components, buffer memory, or a combination thereof. Hardware may include digital circuitry with dedicated (eg, hard-coded) logic to perform the operations described herein. The memory subsystem controller may be a microcontroller, special purpose logic circuitry (eg, field programmable gate array (FPGA), application specific integrated circuit (ASIC), etc.), or another suitable processor.

存储器子系统控制器可包含处理装置(例如,处理器),其配置成执行存储在本地存储器中的指令。在所示的实例中,存储器子系统控制器的本地存储器包含嵌入式存储器,其配置成存储用于执行控制存储器子系统的操作的各种过程、操作、逻辑流和例程的指令,包含处置存储器子系统与主机系统120之间的通信。The memory subsystem controller may include a processing device (eg, a processor) configured to execute instructions stored in local memory. In the example shown, the local memory of the memory subsystem controller includes embedded memory configured to store instructions for performing various processes, operations, logic flows and routines that control the operation of the memory subsystem, including handling Communication between the memory subsystem and host system 120 .

在一些实施例中,本地存储器可包含存储存储器指针、所提取数据等的存储器寄存器。本地存储器还可包含用于存储微码的只读存储器(ROM)。尽管一些存储器子系统具有存储器子系统控制器,但是其它存储器子系统不包含存储器子系统控制器,而是可以依赖于外部控制(例如,由外部主机或者由与存储器子系统分离的处理器或控制器提供)。In some embodiments, the local memory may include memory registers that store memory pointers, fetched data, and the like. Local memory may also include read only memory (ROM) for storing microcode. While some memory subsystems have a memory subsystem controller, other memory subsystems do not contain a memory subsystem controller, but may rely on external control (eg, by an external host or by a processor or control separate from the memory subsystem) provided by the device).

一般来说,存储器子系统控制器可从主机系统120接收命令或操作,并且可将命令或操作转换成指令或适当的命令以实现期望的对存储器装置130的访问。存储器子系统控制器可负责其它操作,例如耗损均衡操作、垃圾数据收集操作、错误检测和错误校正码(ECC)操作、加密操作、高速缓存操作及与存储器装置130相关联的逻辑地址(例如,逻辑块地址(LBA)、命名空间)和物理地址(例如,物理块地址)之间的地址转换。存储器子系统控制器可进一步包含主机接口电路系统,用于经由物理主机接口与主机系统120通信。主机接口电路系统可将从主机系统接收到的命令转换成访问存储器装置130的命令指令,并将与存储器装置130相关联的响应转换成用于主机系统120的信息。In general, a memory subsystem controller may receive commands or operations from host system 120 and may convert the commands or operations into instructions or appropriate commands to effect desired accesses to memory device 130 . The memory subsystem controller may be responsible for other operations, such as wear leveling operations, garbage collection operations, error detection and error correction code (ECC) operations, encryption operations, cache operations, and logical addresses associated with memory device 130 (eg, Address translation between logical block addresses (LBAs, namespaces) and physical addresses (eg, physical block addresses). The memory subsystem controller may further include host interface circuitry for communicating with host system 120 via a physical host interface. Host interface circuitry may translate commands received from the host system into command instructions to access memory device 130 and translate responses associated with memory device 130 into information for host system 120 .

存储器子系统还可包含未示出的额外电路系统或组件。在一些实施例中,存储器子系统可包含可以从存储器子系统控制器接收地址并将地址解码以访问存储器装置130的高速缓存或缓冲器(例如,DRAM)和地址电路系统(例如,行解码器和列解码器)。The memory subsystem may also include additional circuitry or components not shown. In some embodiments, the memory subsystem may include a cache or buffer (eg, DRAM) and address circuitry (eg, a row decoder) that may receive and decode addresses from the memory subsystem controller to access memory device 130 and column decoders).

在一些实施例中,存储器装置130包含结合存储器子系统的存储器子系统控制器用于对存储器装置130的一或多个存储器单元103执行操作的本地媒体控制器。本地媒体控制器可用于实施加密引擎107和/或访问控制器109。外部控制器(例如,存储器子系统控制器或主机系统120的控制器116)可在外部管理存储器装置130(例如,对存储器装置130执行媒体管理操作)。在一些实施例中,存储器装置130是受管理存储器装置,它是与本地媒体控制器组合以用于相同存储器装置封装内的媒体管理的原始存储器装置。受管理存储器装置的实例是受管理NAND(MNAND)装置。In some embodiments, memory device 130 includes a local media controller for performing operations on one or more memory cells 103 of memory device 130 in conjunction with a memory subsystem controller of the memory subsystem. A local media controller may be used to implement the encryption engine 107 and/or the access controller 109 . An external controller (eg, a memory subsystem controller or controller 116 of host system 120 ) may manage memory device 130 externally (eg, perform media management operations on memory device 130 ). In some embodiments, memory device 130 is a managed memory device, which is a raw memory device combined with a local media controller for media management within the same memory device package. An example of a managed memory device is a managed NAND (MNAND) device.

存储器子系统控制器和/或存储器装置130可包含配置成提供上文所论述的安全特征的安全管理器160。在一些实施例中,存储器子系统控制器和/或存储器子系统中的本地媒体控制器可包含安全管理器160的至少一部分。在其它实施例中,或组合地,主机系统120中的控制器116可包含安全管理器160的至少一部分。例如,存储器子系统控制器、控制器116和/或安全服务器140可包含逻辑电路系统和/或在实施安全管理器160时执行指令。例如,存储器子系统控制器或主机系统120的处理装置118(例如,处理器)可配置成执行存储于存储器装置130中用于执行本文中所描述的安全管理器160的操作的指令。在一些实施例中,安全管理器160实施于安置在存储器子系统中的集成电路芯片中。在其它实施例中,安全管理器160可以是存储器子系统的固件、主机系统120的操作系统、装置驱动程序或应用程序的部分,或其任何组合。The memory subsystem controller and/or memory device 130 may include a security manager 160 configured to provide the security features discussed above. In some embodiments, the memory subsystem controller and/or the local media controller in the memory subsystem may include at least a portion of the security manager 160 . In other embodiments, or in combination, controller 116 in host system 120 may include at least a portion of security manager 160 . For example, the memory subsystem controller, controller 116 and/or security server 140 may contain logic circuitry and/or execute instructions when implementing security manager 160 . For example, a memory subsystem controller or processing device 118 (eg, a processor) of host system 120 may be configured to execute instructions stored in memory device 130 for performing the operations of security manager 160 described herein. In some embodiments, the security manager 160 is implemented in an integrated circuit chip disposed in the memory subsystem. In other embodiments, the security manager 160 may be part of the firmware of the memory subsystem, the operating system of the host system 120, a device driver or application, or any combination thereof.

先前详细描述的一些部分已经关于计算机存储器内的数据位的操作的算法和符号表示呈现。这些算法描述和表示是数据处理领域中的技术人员用来将他们的工作内容传达给本领域的其他技术人员的最有效方式。此处且一般来说,算法被设想为产生所需结果的操作的自一致序列。所述操作是需要物理量的物理操控的那些操作。通常但是不一定,这些量采取能够存储、组合、比较和以其它方式操控的电气或磁性信号的形式。已经证实,将这些信号称为位、值、元件、符号、字符、项、数字等等有时是方便的,主要是出于常用的原因。Some portions of the previous detailed description have been presented with respect to algorithms and symbolic representations of operations on data bits within a computer memory. These algorithmic descriptions and representations are the most efficient means used by those skilled in the data processing arts to convey the substance of their work to others skilled in the art. Here and generally, an algorithm is conceived as a self-consistent sequence of operations that produce a desired result. The operations are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, combined, compared, and otherwise manipulated. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like.

然而,应牢记,所有这些和类似术语与适当物理量相关联,且仅为应用于这些量的方便的标签。本公开可以指操控和变换计算机系统的寄存器和存储器内的表示为物理(电子)量的数据为计算机系统存储器或寄存器或其它这类信息存储系统内的类似地表示为物理量的其它数据的计算机系统或类似电子计算装置的动作和过程。It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. The present disclosure may refer to computer systems that manipulate and transform data represented as physical (electronic) quantities within the registers and memory of a computer system into other data similarly represented as physical quantities within the computer system memory or registers or other such information storage systems or similar actions and processes of electronic computing devices.

本公开还涉及用于执行本文中的操作的设备。此设备可以出于所需目的而专门构造,或其可以包含通过存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机。此类计算机程序可存储在计算机可读存储媒体中,例如但不限于任何类型的盘,包含软盘、光盘、CD-ROM和磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁卡或光卡,或适合于存储电子指令的任何类型的媒体,它们分别耦合到计算机系统总线。The present disclosure also relates to apparatus for performing the operations herein. This apparatus may be specially constructed for the required purposes, or it may comprise a general-purpose computer selectively activated or reconfigured by a computer program stored in the computer. Such computer programs may be stored in computer-readable storage media such as, but not limited to, any type of disk, including floppy disks, optical disks, CD-ROMs and magneto-optical disks, read only memory (ROM), random access memory (RAM), EPROM, EEPROM, magnetic or optical cards, or any type of medium suitable for storing electronic instructions, are respectively coupled to the computer system bus.

本文中呈现的算法和显示器在本质上并不与任何特定计算机或其它设备相关。各种通用系统可以与根据本文中的教示的程序一起使用,或可以证明构造用以执行所述方法更加专用的设备是方便的。将从下文描述中呈现用于各种这些系统的结构。此外,并不参考任何特定编程语言来描述本公开。应了解,可以使用多种编程语言来实施如本文所描述的本公开的教示内容。The algorithms and displays presented herein are not inherently related to any particular computer or other device. Various general-purpose systems may be used with programs in accordance with the teachings herein, or it may prove convenient to construct more specialized apparatus to perform the described methods. Structures for a variety of these systems will be presented from the description below. Furthermore, the present disclosure is not described with reference to any particular programming language. It should be appreciated that a variety of programming languages may be used to implement the teachings of the present disclosure as described herein.

本公开可提供为计算机程序产品或软件,其可包含在其上存储有可用于编程计算机系统(或其它电子装置)以执行根据本公开的过程的指令的机器可读媒体。机器可读媒体包含用于以机器(例如,计算机)可读的形式存储信息的任何机构。在一些实施例中,机器可读(例如,计算机可读)媒体包含机器(例如,计算机)可读存储媒体,例如只读存储器(“ROM”)、随机存取存储器(“RAM”)、磁盘存储媒体、光学存储媒体、快闪存储器组件等。The present disclosure may be provided as a computer program product or software, which may include a machine-readable medium having stored thereon instructions that may be used to program a computer system (or other electronic device) to perform processes in accordance with the present disclosure. A machine-readable medium includes any mechanism for storing information in a form readable by a machine (eg, a computer). In some embodiments, machine-readable (eg, computer-readable) media include machine (eg, computer-readable) storage media such as read-only memory ("ROM"), random-access memory ("RAM"), magnetic disks Storage media, optical storage media, flash memory components, etc.

在本说明书中,为了简化描述,将各种功能和操作描述为由计算机指令执行或由计算机指令引起。然而,所属领域的技术人员将认识到,此类表达的意图是所述功能源自由一或多个控制器或处理器(例如,微处理器)执行计算机指令。替代地或组合地,所述功能和操作可使用具有或不具有软件指令的专用电路系统实施,例如使用专用集成电路(ASIC)或现场可编程门阵列(FPGA)来实施。可使用无软件指令的硬接线电路系统或结合软件指令实施实施例。因此,技术既不限于硬件电路系统和软件的任何特定组合,也不限于由数据处理系统执行的指令的任何特定来源。In this specification, various functions and operations are described as being performed by or caused by computer instructions for simplicity of description. Those skilled in the art will recognize, however, that such expressions are intended to be that the functions originate from the execution of computer instructions by one or more controllers or processors (eg, microprocessors). Alternatively or in combination, the functions and operations may be implemented using special purpose circuitry, with or without software instructions, eg, using application specific integrated circuits (ASICs) or field programmable gate arrays (FPGAs). Embodiments may be implemented using hardwired circuitry without software instructions or in conjunction with software instructions. Thus, the techniques are not limited to any specific combination of hardware circuitry and software, nor to any specific source of instructions executed by a data processing system.

在前述说明书中,本公开的实施例已经参考其特定实例实施例进行描述。将显而易见的是,可在不脱离所附权利要求书中阐述的本公开的实施例的更广精神和范围的情况下对其进行各种修改。因此,应在说明性意义上而非限制性意义上看待说明书和图式。In the foregoing specification, embodiments of the present disclosure have been described with reference to specific example embodiments thereof. It will be apparent that various modifications may be made to the disclosed embodiments without departing from the broader spirit and scope of the embodiments set forth in the appended claims. Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense.

Claims (20)

1. A method, comprising:
storing, in a server system, data representing one or more preferences of an endpoint;
receiving, in the server system, an authentication request containing identity data generated by a memory device configured in the endpoint;
verifying, by the server system, the identity data based at least in part on the secret of the memory device and at least a portion of the content stored in the memory device; and
in response to determining that the identity data is valid,
determining that an activity associated with the identity data satisfies a condition specified for the endpoint; and
upon providing an authentication response in response to the authentication request, performing a security operation associated with the condition.
2. The method of claim 1, wherein the security operation includes transmitting an alert or notification to a contact registered in the one or more references.
3. The method of claim 1, wherein the security operation includes identifying a security risk or restriction in the authentication response.
4. The method of claim 1, further comprising:
extracting information about the activity from the identity data in response to determining that the identity data is valid, wherein the condition is determined to be satisfied based at least in part on the information about the activity extracted from the identity data.
5. The method of claim 4, wherein extracting the information about the activity comprises decrypting a portion of a message provided in the identity data.
6. The method of claim 5, further comprising:
establishing a session key based on the verification of the identity data, wherein the decryption of the portion of the message provided in the identity data is performed using the session key.
7. The method of claim 1, further comprising:
storing, in the server system, a plurality of records of activities of the endpoint;
determining a pattern of the activity of the endpoint based on the plurality of records; and
based on the pattern, the condition is identified.
8. The method of claim 7, wherein the pattern includes a geographic area, a time period of a day or week, a range of activity attributes, or any combination thereof.
9. The method of claim 8, further comprising:
communicating, by the server system, with a user computer to receive the data representing the one or more preferences of the endpoint; and
presenting, by the server system, the activity of the endpoint based on the record.
10. The method of claim 1, wherein the authentication request is received from a client server; and the method further comprises:
extracting one or more attributes identified by the client server for the activity from the authentication request, wherein the condition is determined to be satisfied based at least in part on the one or more attributes.
11. The method of claim 10, further comprising:
in response to determining that the identity data is valid, extracting information about the activity from a message in the identity data, wherein the condition is determined to be satisfied based on a mismatch between the information about the activity and the one or more attributes.
12. The method of claim 11, wherein verifying the identity data comprises determining whether a verification code provided in the identity data was generated from the message and the secret of the memory device.
13. The method of claim 12, wherein the memory device does not transfer the secret out of the memory device after fabrication of the memory device is completed in a secure facility.
14. The method of claim 13, further comprising:
registering the secret during manufacture of the memory device in the secure facility; and
generating an encryption key to verify the identity data based at least in part on the secret.
15. The method of claim 14, wherein the encryption key used to verify the identity data is further generated based on data received from a host system of the memory device at a boot time of the endpoint.
16. A computing system, comprising:
a memory storing an encryption key of a memory device; and
at least one processor configured, via a set of instructions, to:
receiving an authentication request containing identity data generated by a memory device configured in an endpoint; and is
In response to the request for authentication,
determining that the identity data is valid based at least in part on a secret of the memory device;
determining that an activity identified via the authentication request satisfies a condition specified for the endpoint; and is
Upon providing an authentication response in response to the authentication request, performing a security operation associated with the condition.
17. The computing system of claim 16, wherein the computing system is configured to store data representing one or more preferences received from a user computer of the endpoint; the data representing the one or more preferences specifies the condition; and determining that the activity satisfies the condition based on first data embedded in the identity data by the memory device and second data provided in the authentication request by a client server; and wherein the client server is configured to receive an access request from the endpoint, submit the authentication request to the computing system, and provide a service related to the activity.
18. The computing system of claim 17, wherein the memory device has logic circuitry implementing a cryptographic engine and is configured to use the cryptographic engine to:
Generating an encryption key representing an identity of the endpoint based at least in part on the secret of the memory device and firmware currently configured in the memory device for execution by the endpoint; and
commands executed in the memory device are controlled based on the rights represented by the encryption key.
19. A non-transitory computer storage medium storing instructions that, when executed by a server system, cause the server system to perform a method, the method comprising:
receiving an authentication request containing identity data generated by a memory device configured in an endpoint; and
in response to the request for authentication,
determining that the identity data is valid based at least in part on a secret of the memory device;
determining that an activity identified via the authentication request satisfies a condition specified for the endpoint; and is
Upon providing an authentication response in response to the authentication request, performing a security operation associated with the condition.
20. The non-transitory computer storage medium of claim 19, wherein the method further comprises:
receiving data representing one or more preferences of the endpoint from a user computer to specify the condition;
Extracting first data about the activity from the identity data, the first data being embedded in the identity data by the memory device; and
extracting second data about the activity from the validation request, the second data provided by a client server in the validation request, wherein the client server is configured to receive an access request from the endpoint and submit the validation request to the computing system, and wherein determining whether the condition is satisfied is based on the first data about the activity or the second data about the activity, or any combination thereof.
CN202210199645.7A 2021-03-03 2022-03-02 Track activity of endpoints with secure storage devices during authentication for security operations Active CN115037495B (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202163156238P 2021-03-03 2021-03-03
US63/156,238 2021-03-03
US17/485,231 US20220129391A1 (en) 2020-10-26 2021-09-24 Track Activities of Endpoints having Secure Memory Devices for Security Operations during Identity Validation
US17/485,231 2021-09-24

Publications (2)

Publication Number Publication Date
CN115037495A true CN115037495A (en) 2022-09-09
CN115037495B CN115037495B (en) 2025-04-25

Family

ID=83119740

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210199645.7A Active CN115037495B (en) 2021-03-03 2022-03-02 Track activity of endpoints with secure storage devices during authentication for security operations

Country Status (1)

Country Link
CN (1) CN115037495B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2025083750A1 (en) * 2023-10-16 2025-04-24 日本電信電話株式会社 Environment adaptive device for resource equipment and network system

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103763331A (en) * 2008-06-30 2014-04-30 英特尔公司 Method and system for platform-based trust verification services for multi-party verification
CN104601579A (en) * 2015-01-20 2015-05-06 成都市酷岳科技有限公司 Computer system for ensuring information security and method thereof
US20150271679A1 (en) * 2014-03-19 2015-09-24 Electronics And Telecommunications Research Institute System and method of verifying integrity of software
CN106537403A (en) * 2013-08-29 2017-03-22 利伯蒂沃特斯有限公司 System for accessing data from multiple devices
US20200313890A1 (en) * 2019-03-25 2020-10-01 Micron Technology, Inc. Verifying identity of a vehicle entering a trust zone

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103763331A (en) * 2008-06-30 2014-04-30 英特尔公司 Method and system for platform-based trust verification services for multi-party verification
CN106537403A (en) * 2013-08-29 2017-03-22 利伯蒂沃特斯有限公司 System for accessing data from multiple devices
US20150271679A1 (en) * 2014-03-19 2015-09-24 Electronics And Telecommunications Research Institute System and method of verifying integrity of software
CN104601579A (en) * 2015-01-20 2015-05-06 成都市酷岳科技有限公司 Computer system for ensuring information security and method thereof
US20200313890A1 (en) * 2019-03-25 2020-10-01 Micron Technology, Inc. Verifying identity of a vehicle entering a trust zone

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2025083750A1 (en) * 2023-10-16 2025-04-24 日本電信電話株式会社 Environment adaptive device for resource equipment and network system

Also Published As

Publication number Publication date
CN115037495B (en) 2025-04-25

Similar Documents

Publication Publication Date Title
US12149517B2 (en) Management of identifications of an endpoint having a memory device secured for reliable identity validation
CN114491682B (en) Virtual subscriber identification module and virtual smart card
US12298917B2 (en) Online security services based on security features implemented in memory devices
US12039318B2 (en) Endpoint customization via online firmware store
JP2022527757A (en) Generating the ID of a computing device using a physical duplication difficulty function
US12481599B2 (en) Monitor integrity of endpoints having secure memory devices for identity authentication
US12075520B2 (en) Cloud-service on-boarding without prior customization of endpoints
US20220131847A1 (en) Subscription Sharing among a Group of Endpoints having Memory Devices Secured for Reliable Identity Validation
US11917059B2 (en) Batch transfer of control of memory devices over computer networks
US11811743B2 (en) Online service store for endpoints
US12457103B2 (en) Server system to control memory devices over computer networks
US20240430253A1 (en) Track Activities of components in Endpoints having Secure Memory Devices via Identity Validation
CN115037492B (en) Method, system and computer storage medium for memory authentication
CN115037495B (en) Track activity of endpoints with secure storage devices during authentication for security operations
CN115037496B (en) Method and computing system for providing security services and related computer storage media
US20220129391A1 (en) Track Activities of Endpoints having Secure Memory Devices for Security Operations during Identity Validation
CN115037493B (en) Monitoring the integrity of endpoints with secure memory devices for authentication
CN115037491B (en) Subscription sharing in a group of endpoints with storage devices protected for reliable authentication
CN115021949B (en) Method and system for identity management of endpoints having memory devices protected for reliable authentication
CN115021950B (en) Online service store for endpoints
CN115037494A (en) Cloud service login without pre-customization of endpoints
US20260046126A1 (en) Server system to control memory devices over computer networks

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