Apparatus and method to revoke memory device replay protected memory block (RPMB) authentication key

The method and apparatus for securely revoking RPMB authentication keys in UFS devices address the inability to remove provisioned keys, facilitating the secure reuse and recycling of UFS devices by purging data before key revocation.

WO2026137218A1PCT designated stage Publication Date: 2026-07-02QUALCOMM INC +5

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
QUALCOMM INC
Filing Date
2024-12-25
Publication Date
2026-07-02

AI Technical Summary

Technical Problem

Existing technologies do not provide a method to revoke or remove an authentication key from a replay protected memory block (RPMB) partition once it is provisioned, which is problematic for recycling or reusing UFS devices.

Method used

A method and apparatus for securely purging and revoking the RPMB authentication key upon receiving a revoke request command, ensuring data security by purging the partition before key revocation, and allowing for the provisioning of a new key.

Benefits of technology

Enables the secure reuse and recycling of UFS devices by allowing the removal of the RPMB authentication key, maintaining data security and enabling cost-effective reuse of UFS devices.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024142118_02072026_PF_FP_ABST
    Figure CN2024142118_02072026_PF_FP_ABST
Patent Text Reader

Abstract

A method for revoking an authentication key by a non-volatile memory device includes receiving a revoke request command, from a host, to initiate a revocation of the authentication key. The method also includes securely purging a partition in response to receiving the revoke request command. The method further includes revoking the authentication key.
Need to check novelty before this filing date? Find Prior Art

Description

APPARATUS AND METHOD TO REVOKE MEMORY DEVICE REPLAY PROTECTED MEMORY BLOCK (RPMB) AUTHENTICATION KEYBACKGROUNDField

[0001] Aspects of the present disclosure relate to computing devices, and more specifically to revoking memory device replay protected memory block (RPMB) authentication keys. Background

[0002] Mobile or portable computing devices include mobile phones, laptop, palmtop and tablet computers, portable digital assistants (PDAs) , portable game consoles, and other portable electronic devices. Mobile computing devices are comprised of many electrical components that consume power and generate heat. The components (or compute devices) may include system-on-a-chip (SoC) devices, graphics processing unit (GPU) devices, neural processing unit (NPU) devices, digital signal processors (DSPs) , and modems, among others.

[0003] Compute devices contain memory, such as flash memory or embedded multimedia card (eMMC) storage, which are types of non-volatile memory for data storage. Flash memory devices may operate in accordance with a universal flash storage (UFS) standards protocol. The UFS standard defines replay protected memory blocks (RPMBs) to enable a host system to store sensitive data in a specific memory area in an authenticated and replay protected manner. The RPMB partition and RPMB authentication key help guarantee user data security. However, once the RPMB authentication key is provisioned, there is no way to undo or remove the authentication key. It would be desirable to be able to remove an authentication key in an RPMB partition of a non-volatile memory device.SUMMARY

[0004] In aspects of the present disclosure, a method for revoking an authentication key by a non-volatile memory device includes receiving a revoke request command, from a host, to initiate a revocation of the authentication key. The method also includes securely purging a partition in response to receiving the revoke request command. The method further includes revoking the authentication key.

[0005] Other aspects of the present disclosure are directed to an apparatus. The apparatus has one or more memories and one or more processors coupled to the one or more memories. The processor (s) is configured to receive a revoke request command, from a host, to initiate a revocation of the authentication key. The processor (s) is also configured to securely purge a partition in response to receiving the revoke request command. The processor (s) is further configured to revoke the authentication key.

[0006] In other aspects of the present disclosure, a non-transitory computer-readable medium with program code recorded thereon is disclosed. The program code is executed by a processor and includes program code to receive a revoke request command, from a host, to initiate a revocation of the authentication key. The program code also includes program code to securely purge a partition in response to receiving the revoke request command. The program code further includes program code to revoke the authentication key.

[0007] This has outlined, rather broadly, the features and technical advantages of the present disclosure in order that the detailed description that follows may be better understood. Additional features and advantages of the present disclosure will be described below. It should be appreciated by those skilled in the art that this present disclosure may be readily utilized as a basis for modifying or designing other structures for carrying out the same purposes of the present disclosure. It should also be realized by those skilled in the art that such equivalent constructions do not depart from the teachings of the present disclosure as set forth in the appended claims. The novel features, which are believed to be characteristic of the present disclosure, both as to its organization and method of operation, together with further objects and advantages, will be better understood from the following description when considered in connection with the accompanying figures. It is to be expressly understood, however, that each of the figures is provided for the purpose of illustration and description only and is not intended as a definition of the limits of the present disclosure.BRIEF DESCRIPTION OF THE DRAWINGS

[0008] For a more complete understanding of the present disclosure, reference is now made to the following description taken in conjunction with the accompanying drawings.

[0009] FIGURE 1 illustrates an example implementation of a host system-on-a-chip (SoC) , including a universal flash storage (UFS) device, in accordance with various aspects of the present disclosure.

[0010] FIGURE 2 is a table illustrating an authentication key revoke request message type, in accordance with various aspects of the present disclosure.

[0011] FIGURE 3 is a table illustrating an authentication key revoke response message type, in accordance with various aspects of the present disclosure.

[0012] FIGURE 4 is a call flow diagram illustrating authentication key revocation, in accordance with various aspects of the present disclosure.

[0013] FIGURE 5 is a flow diagram illustrating an example process performed, for example, by a universal flash storage (UFS) device, in accordance with various aspects of the present disclosure.

[0014] FIGURE 6 is a block diagram showing an exemplary wireless communications system in which a configuration of the present disclosure may be advantageously employed.

[0015] FIGURE 7 is a block diagram illustrating a design workstation used for circuit, layout, and logic design of components, in accordance with various aspects of the present disclosure.DETAILED DESCRIPTION

[0016] The detailed description set forth below, in connection with the appended drawings, is intended as a description of various configurations and is not intended to represent the only configurations in which the concepts described may be practiced. The detailed description includes specific details for the purpose of providing a thorough understanding of the various concepts. It will be apparent, however, to those skilled in the art that these concepts may be practiced without these specific details. In some instances, well-known structures and components are shown in block diagram form in order to avoid obscuring such concepts.

[0017] As described, the use of the term “and / or” is intended to represent an “inclusive OR, ” and the use of the term “or” is intended to represent an “exclusive OR. ” As described, the term “exemplary” used throughout this description means “serving as an example, instance, or illustration, ” and should not necessarily be construed as preferred or advantageous over other exemplary configurations. As described, the term “coupled” used throughout this description means “connected, whether directly or indirectly through intervening connections (e.g., a switch) , electrical, mechanical, or otherwise, ” and is not necessarily limited to physical connections. Additionally, the connections can be such that the objects are permanently connected or releasably connected. The connections can be through switches. As described, the term “proximate” used throughout this description means “adjacent, very near, next to, or close to. ” As described, the term “on” used throughout this description means “directly on”in some configurations, and “indirectly on” in other configurations.

[0018] Embedded multimedia card storage and flash memory are types of non-volatile memory for data storage. Flash memory devices may operate in accordance with a universal flash storage (UFS) standards protocol, for example. The UFS standard defines replay protected memory blocks (RPMBs) to enable a host system to store sensitive data in a specific memory area in an authenticated and replay protected manner. For example, an RPMB partition may store sensitive user data, such as passwords, face identifiers (IDs) , and fingerprints, etc. Although the present disclosure is primarily described with respect to UFS, other types of memory, such as eMMC devices, are also contemplated.

[0019] An RPMB partition may be set up by first programming authentication key information to the UFS device memory. After setup, the authentication key is utilized to sign the read and write accesses made to the replay protected memory area with a message authentication code (MAC) . Usage of random number generation and a count register provide additional protection against replay of messages where messages can be recorded and played back later by an attacker.

[0020] The RPMB partition and RPMB authentication key help guarantee user data security. However, once the RPMB authentication key is provisioned, there is no way to undo or remove the authentication key.

[0021] Aspects of the present disclosure introduce an authenticated RPMB authentication key revoke process. Using this process, only the host software that knows the RPMB authentication key can send the authentication RPMB authentication key revoke command to remove the existing RPMB authentication key. In addition, as soon as the UFS device receives the authenticated RPMB authentication key revoke command, but before the UFS device revokes the existing authentication key, the data stored in the RPMB partition is securely purged by the UFS device to guarantee the data stored in the RPMB partition will not be seen by the next user. After the RPMB authentication key is successfully revoked, the user can provision a new authentication key by following the authentication key programming sequence specified in the UFS Joint Electron Device Engineering Council (JEDEC) Solid State Technology Association standard.

[0022] Particular aspects of the subject matter described in this disclosure can be implemented to realize one or more of the following potential advantages. In some examples, the described techniques, such as authentication key revocation, enable UFS devices to be recycled or reused and provisioned with a new authentication key.

[0023] FIGURE 1 illustrates an example implementation of a host system-on-a-chip (SoC) 100, which includes a UFS device, in accordance with aspects of the present disclosure. The host SoC 100 includes processing blocks tailored to specific functions, such as a connectivity block 110. The connectivity block 110 may include fifth generation (5G) connectivity, fourth generation long term evolution (4G LTE) connectivity, Wi-Fi connectivity, universal serial bus (USB) connectivity,  connectivity, Secure Digital (SD) connectivity, and the like.

[0024] In this configuration, the host SoC 100 includes various processing units that support multi-threaded operation. For the configuration shown in FIGURE 1, the host SoC 100 includes a multi-core central processing unit (CPU) 102, a graphics processor unit (GPU) 104, a digital signal processor (DSP) 106, and a neural processor unit (NPU) 108. The host SoC 100 may also include a sensor processor 114, image signal processors (ISPs) 116, a navigation module 120, which may include a global positioning system (GPS) , and a memory 118. The multi-core CPU 102, the GPU 104, the DSP 106, the NPU 108, and the multi-media engine 112 support various functions such as video, audio, graphics, gaming, artificial networks, and the like. Each processor core of the multi-core CPU 102 may be a reduced instruction set computing (RISC) machine, an advanced RISC machine (ARM) , a microprocessor, or some other type of processor. The NPU 108 may be based on an ARM instruction set.

[0025] According to aspects of the present disclosure, a compute device includes a memory device. The memory device may include means for receiving, means for securely purging, means for revoking, means for retaining, and means for transmitting. In one configuration, the receiving means, the securely purging means, the purging means, the revoking means, the retaining means, and the transmitting means may be the memory 118, as shown in FIGURE 1 and / or the device 406 of FIGURE 4. In other aspects, the aforementioned means may be any structure or any material configured to perform the functions recited by the aforementioned means.

[0026] Flash memory is a type of non-volatile memory for data storage. Flash memory devices may operate in accordance with a universal flash storage (UFS) standards protocol. The UFS standard defines replay protected memory blocks (RPMBs) to enable a host system to store sensitive data in a specific memory area in an authenticated and replay protected manner. For example, an RPMB partition may store sensitive user data, such as passwords, face IDs, and fingerprints, etc.

[0027] An RPMB partition may be set up by first programming authentication key information to the UFS device memory. After setup, the authentication key is utilized to sign read and write accesses to the replay protected memory area with a message authentication code (MAC) . Usage of random number generation and a count register provide additional protection against replay of messages where messages can be recorded and played back later by an attacker.

[0028] The authentication keys are unique because the keys are generated during runtime by host software based on rules, for example, central processing unit (CPU) chipset serial number + UFS device serial number + random number string. The keys are not stored, further increasing security.

[0029] Using the RPMB, host software running on CPU A can bind the UFS RPMB with CPU A. Even if this UFS device is unpaired with CPU A and paired with another CPU B, e.g., by a hacker, the UFS RPMB partition cannot be accessed, even by the same host software running on CPU B.

[0030] To use an RPMB partition, host software first programs the authentication key by sending the authentication key from the host to the UFS device. During authentication key programming, an authentication key is sent from the host to the UFS device as a plain key. Whereas, in any other RPMB operations, e.g., authenticated data read / write and the proposed authentication key revoke, a message authentication code (MAC) is used to authenticate the RPMB data package, which is also referred to as an RPMB message and an RPMB data frame. The MAC is calculated using a hash-based message authentication code secure hashing algorithm-256 (HMAC SHA-256) taking the authentication key and some data in an RPMB data package. The host software calculates the MAC, puts the MAC in the RPMB data package, and sends the RPMB data package. Once the UFS device receives the RPMB data package, the UFS device calculates a MAC’ using the same process, and then compares the calculated MAC’ with the MAC from the host. If MAC’ == MAC, then the UFS device reckons this RPMB data package. This process is called authentication.

[0031] The RPMB partition and RPMB authentication key help guarantee user data security. However, once the RPMB authentication key is provisioned, there is no way to undo or remove the authentication key. Such permanence is troublesome for use cases, such as when original equipment manufacturers (OEMs) need to reuse some partially new, or used, UFS devices from recycled products or marketing returned products, for example, automotive, TV set-top box, etc., for cost savings. Even in a test environment, once an RPMB authentication key is provisioned, tests specifying UFS device swapping cannot be performed.

[0032] Aspects of the present disclosure introduce an authenticated RPMB authentication key revoke process. Using this process, only the host software that knows the RPMB authentication key can send the authenticated RPMB authentication key revoke command to remove the existing RPMB authentication key. In addition, as soon as the UFS device receives the authenticated RPMB authentication key revoke command, but before the UFS device revokes the existing authentication key, the data stored in the RPMB partition is securely purged by the UFS device to guarantee the data stored in the RPMB partition will not be seen by the next user. SECURE PURGE is a feature currently supported by the UFS standard. After the RPMB authentication key is successfully revoked, the user can provision a new authentication key by following the authentication key programming sequence specified in the UFS Joint Electron Device Engineering Council (JEDEC) Solid State Technology Association standard.

[0033] FIGURE 2 is a table illustrating an authentication key revoke request message type, in accordance with various aspects of the present disclosure. FIGURE 3 is a table illustrating an authentication key revoke response message type, in accordance with various aspects of the present disclosure. As seen in the example table of FIGURE 2, a new request type 202 “Authentication Key Revoke Request” is provided. An example code is 0012h, in hexadecimal notation. As seen in the example table of FIGURE 3, a new request type 302 “Authentication Key Revoke Response” is provided. An example code is 1200h, in hexadecimal notation.

[0034] FIGURE 4 is a call flow diagram illustrating authentication key revocation, in accordance with various aspects of the present disclosure. In the example of FIGURE 4, a host UFS command set layer (UCS) 402 and a host UFS transport protocol layer (UTP) 404 may reside in the CPU 102 of FIGURE 1, for example. A UFS device 406 may correspond to the memory 118 described with reference to FIGURE 1.

[0035] As shown in the example of FIGURE 4, at time t1, an authenticated RPMB authentication key revoke operation is initiated by a SECURITY PROTOCOL OUT command from the host UCS 402 to the host UTP 404. The SECURITY PROTOCOL OUT command indicates the RPMB region. At time t1, the host UTP 404 also transmits, to the UFS device 406, a command UFS protocol information unit (UPIU) . A ready to transfer UPIU command from the UFS device 406 to the host UTP 404 is transmitted at time t2.

[0036] A DATA OUT UPIU message from the host UTP 404 to the UFS device 406 is transmitted at time t3. The Authentication Key Revoke Request (e.g., an RPMB data frame 420) is carried by the DATA OUT UPIU message to the UFS device at time t3. The DATA OUT UPIU message includes a new command 408 within the RPMB data frame 420. The new command 408 in the RPMB data frame 420 corresponds to request value type 0012h. The RPMB data frame 420 also includes a nonce, a write counter, and a MAC from the hosts 402, 404. A nonce is a random number generated by the host. The nonce, along with other components (e.g., data, write counter, etc. ) are used to calculate the MAC, by both the host and device sides. The nonce provides extra security to the RPMB protocol.

[0037] RPMB data frame authentication includes the UFS device 406 checking whether the write counter has expired. The UFS device 406 also calculates the MAC based on the request type, write counter, and nonce, and compares the calculated MAC with the MAC in the RPMB data frame 420, as previously discussed.

[0038] Once the UFS device 406 authenticates the RPMB data frame 420, the UFS device 406 returns a response indicating a GOOD status, at time t4, in response to the SECURITY PROTOCOL OUT command at time t1, regardless of whether the authentication key removal was successful. The write counter is not reset during the RPMB authentication key revoke operation. Moreover, the UFS device 406 securely purges the RPMB partition, for example, with a SECURE PURGE operation.

[0039] An authentication key revoke verification process starts at time t5 by issuing a SECURITY PROTOCOL OUT command from the host UCS 402 to the host UTP 404. At time t5, the host UTP 404 also transmits, to the UFS device 406, a command UPIU. A ready to transfer UPIU command from the UFS device 406 to the host UTP 404 at time t6 is followed by a DATA OUT UPIU message from the host UTP 404 to the UFS device 406 at time t7. The transmissions at times t6 and t7 confirm that the command transmitted at time t5 was received. The UFS device 406 returns a status response indicating a GOOD status the operation result is ready for retrieval at time t8.

[0040] At time t9, an initiator (e.g., host UCS 402) retrieves the operation result by issuing a SECURITY PROTOCOL IN command, followed by a COMMAND UPIU from the host UTP 404 to the UFS device 406. After receiving the data in the UPIU from the host UTP 404, at time t10, the UFS device 406 transmits a DATA IN UPIU message carrying the Authentication Key Revoke Response (e.g., an RPMB data frame 430) containing a new command 410 corresponding to Response Message Type =1200h.

[0041] At time t11, the UFS device 406 also returns an RPMB data frame 440 with a result code 412. If revocation of the authentication key failed, then the returned result is “Write failure” (0005h) , as seen in the example of FIGURE 4. If some other error occurred during the authentication key revocation process, then the returned result is “General failure” (0001h) (not shown) .

[0042] Aspects of the present disclosure make possible the reuse of an RPMB partition that has been provisioned with an authentication key. The RPMB authentication scheme itself may be used to authenticate key removal, which makes the process secure.

[0043] FIGURE 5 is a flow diagram illustrating an example process 500 performed, for example, by a storage device, in accordance with various aspects of the present disclosure. The example process 500 is an example of apparatus and method to revoke memory device replay protected memory block (RPMB) authentication key.

[0044] As shown in FIGURE 5, in some aspects, the process 500 may include receiving a revoke request command, from a host, to initiate a revocation of an authentication key (block 502) . In some aspects, the authentication key comprises a replay protected memory block (RPMB) authentication key. The process 500 may include securely purging a partition in response to receiving the revoke request command (block 504) . In some aspects, the partition comprises an RPMB partition. The process 500 may include revoking the authentication key (block 506) .

[0045] FIGURE 6 is a block diagram showing an exemplary wireless communications system 600, in which an aspect of the present disclosure may be advantageously employed. For purposes of illustration, FIGURE 6 shows three remote units 620, 630, and 650, and two base stations 640. It will be recognized that wireless communications systems may have many more remote units and base stations. Remote units 620, 630, and 650 include integrated circuit (IC) devices 625A, 625B, and 625C that operate with the disclosed authentication key revocation. It will be recognized that other devices may also operate with the disclosed authentication key revocation, such as the base stations, switching devices, and network equipment. FIGURE 6 shows forward link signals 680 from the base stations 640 to the remote units 620, 630, and 650, and reverse link signals 690 from the remote units 620, 630, and 650 to the base stations 640.

[0046] In FIGURE 6, remote unit 620 is shown as a mobile telephone, remote unit 630 is shown as a portable computer, and remote unit 650 is shown as a fixed location remote unit in a wireless local loop system. For example, the remote units may be a mobile phone, a hand-held personal communication systems (PCS) unit, a portable data unit, such as a personal data assistant, a GPS enabled device, a navigation device, a set top box, a music player, a video player, an entertainment unit, a fixed location data unit, such as meter reading equipment, or other device that stores or retrieves data or computer instructions, or combinations thereof. Although FIGURE 6 illustrates remote units according to the aspects of the present disclosure, the disclosure is not limited to these exemplary illustrated units. Aspects of the present disclosure may be suitably employed in many devices, which operate with the disclosed authentication key revocation.

[0047] FIGURE 7 is a block diagram illustrating a design workstation 700 used for circuit, layout, and logic design of a semiconductor component, that operates with the authentication key revocation disclosed above. The design workstation 700 includes a hard disk 701 containing operating system software, support files, and design software such as Cadence or OrCAD. The design workstation 700 also includes a display 702 to facilitate design of a circuit 710 or a semiconductor component 712, that operates with the disclosed authentication key revocation. A storage medium 704 is provided for tangibly storing the design of the circuit 710 or the semiconductor component 712 (e.g., the PLD) . The design of the circuit 710 or the semiconductor component 712 may be stored on the storage medium 704 in a file format such as GDSII or GERBER. The storage medium 704 may be a CD-ROM, DVD, hard disk, flash memory, or other appropriate device. Furthermore, the design workstation 700 includes a drive apparatus 703 for accepting input from or writing output to the storage medium 704.

[0048] Data recorded on the storage medium 704 may specify logic circuit configurations, pattern data for photolithography masks, or mask pattern data for serial write tools such as electron beam lithography. The data may further include logic verification data such as timing diagrams or net circuits associated with logic simulations. Providing data on the storage medium 704 facilitates the design of the circuit 710 or the semiconductor component 712 by decreasing the number of processes for designing semiconductor wafers. Example Aspects

[0049] Aspect 1: A method for revoking an authentication key by a non-volatile memory device, comprising: receiving a revoke request command, from a host, to initiate a revocation of the authentication key; securely purging a partition in response to receiving the revoke request command; and revoking the authentication key.

[0050] Aspect 2: The method of Aspect 1, further comprising retaining a write counter value when securely purging the partition.

[0051] Aspect 3: The method of Aspect 1 or 2, further comprising: receiving a revoke verification request from the host; and transmitting, to the host, a result of the revocation of the authentication key.

[0052] Aspect 4: The method of any of the preceding Aspects, in which the result indicates a successful revocation.

[0053] Aspect 5: The method of any of the Aspects 1-3, in which the result indicates a write failure during the revocation.

[0054] Aspect 6: The method of any of the Aspects 1-3, in which the result indicates a general failure during the revocation.

[0055] Aspect 7: The method of any of the preceding Aspects, further comprising receiving, from the host, a request for a new authentication key.

[0056] Aspect 8: The method of any of the preceding Aspects, in which the authentication key comprises a replay protected memory block (RPMB) authentication key, and the partition comprises an RPMB partition.

[0057] Aspect 9: An apparatus for revoking an authentication key, comprising: at least one memory; and at least one processor coupled to the at least one memory, the at least one processor configured: to receive a revoke request command, from a host, to initiate a revocation of the authentication key; to securely purge a partition in response to receiving the revoke request command; and to revoke the authentication key.

[0058] Aspect 10: The apparatus of Aspect 9, in which the at least one processor is further configured to retain a write counter value when securely purging the partition.

[0059] Aspect 11: The apparatus of any of the Aspects 9 or 10, in which the at least one processor is further configured: to receive a revoke verification request from the host; and to transmit, to the host, a result of the revocation of the authentication key.

[0060] Aspect 12: The apparatus of any of the Aspects 9-11, in which the result indicates a successful revocation.

[0061] Aspect 13: The apparatus of any of the Aspects 9-11, in which the result indicates a write failure during the revocation.

[0062] Aspect 14: The apparatus of any of the Aspects 9-11, in which the result indicates a general failure during the revocation.

[0063] Aspect 15: The apparatus of any of the Aspects 9-14, in which the at least one processor is further configured to receive, from the host, a request for a new authentication key.

[0064] Aspect 16: The apparatus of any of the Aspects 9-15, in which the authentication key comprises a replay protected memory block (RPMB) authentication key, and the partition comprises an RPMB partition.

[0065] Aspect 17: A non-transitory computer-readable medium having program code recorded thereon, the program code executed by a processor and comprising: program code to receive a revoke request command, from a host, to initiate a revocation of the authentication key; program code to securely purge a partition in response to receiving the revoke request command; and program code to revoke the authentication key.

[0066] Aspect 18: The non-transitory computer-readable medium of Aspect 17, in which the program code comprises program code to retain a write counter value when securely purging the partition.

[0067] Aspect 19: The non-transitory computer-readable medium of Aspect 17 or 18, in which the program code comprises: program code to receive a revoke verification request from the host; and program code to transmit, to the host, a result of the revocation of the authentication key.

[0068] Aspect 20: The non-transitory computer-readable medium of any of the Aspects 17-19, in which the result indicates a successful revocation.

[0069] For a firmware and / or software implementation, the methodologies may be implemented with modules (e.g., procedures, functions, and so on) that perform the functions described. A machine-readable medium tangibly embodying instructions may be used in implementing the methodologies described. For example, software codes may be stored in a memory and executed by a processor unit. Memory may be implemented within the processor unit or external to the processor unit. As used, the term “memory” refers to types of long term, short term, volatile, non-volatile, or other memory and is not limited to a particular type of memory or number of memories, or type of media upon which memory is stored.

[0070] If implemented in firmware and / or software, the functions may be stored as one or more instructions or code on a computer-readable medium. Examples include computer-readable media encoded with a data structure and computer-readable media encoded with a computer program. Computer-readable media includes physical computer storage media. A storage medium may be an available medium that can be accessed by a computer. By way of example, and not limitation, such computer-readable media can include random access memory (RAM) , read-only memory (ROM) , electrically erasable read-only memory (EEPROM) , compact disc read-only memory (CD-ROM) or other optical disk storage, magnetic disk storage or other magnetic storage devices, or other medium that can be used to store desired program code in the form of instructions or data structures and that can be accessed by a computer. Disk and disc, as used, include compact disc (CD) , laser disc, optical disc, digital versatile disc (DVD) , floppy disk, and disc, where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above should also be included within the scope of computer-readable media.

[0071] In addition to storage on computer-readable medium, instructions and / or data may be provided as signals on transmission media included in a communications apparatus. For example, a communications apparatus may include a transceiver having signals indicative of instructions and data. The instructions and data are configured to cause one or more processors to implement the functions outlined in the claims.

[0072] Although the present disclosure and its advantages have been described in detail, it should be understood that various changes, substitutions, and alterations can be made without departing from the technology of the disclosure as defined by the appended claims. For example, relational terms, such as “above” and “below” are used with respect to a substrate or electronic device. Of course, if the substrate or electronic device is inverted, above becomes below, and vice versa. Additionally, if oriented sideways, above and below may refer to sides of a substrate or electronic device. Moreover, the scope of the present disclosure is not intended to be limited to the particular configurations of the process, machine, manufacture, composition of matter, means, methods, and steps described in the specification. As one of ordinary skill in the art will readily appreciate from the present disclosure, processes, machines, manufacture, compositions of matter, means, methods, or steps, presently existing or later to be developed that perform substantially the same function or achieve substantially the same result as the corresponding configurations described may be utilized according to the present disclosure. Accordingly, the appended claims are intended to include within their scope such processes, machines, manufacture, compositions of matter, means, methods, or steps.

[0073] Those of skill would further appreciate that the various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the present disclosure may be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present disclosure.

[0074] The various illustrative logical blocks, modules, and circuits described in connection with the disclosure may be implemented or performed with a general-purpose processor, a digital signal processor (DSP) , an application-specific integrated circuit (ASIC) , a field-programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described. A general-purpose processor may be a microprocessor, but, in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, multiple microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.

[0075] The steps of a method or algorithm described in connection with the present disclosure may be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. A software module may reside in RAM, flash memory, ROM, erasable programmable read-only memory (EPROM) , EEPROM, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor such that the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor. The processor and the storage medium may reside in an ASIC. The ASIC may reside in a user terminal. In the alternative, the processor and the storage medium may reside as discrete components in a user terminal.

[0076] The previous description of the present disclosure is provided to enable any person skilled in the art to make or use the present disclosure. Various modifications to the disclosure will be readily apparent to those skilled in the art, and the generic principles defined may be applied to other variations without departing from the spirit or scope of the disclosure. Thus, the present disclosure is not intended to be limited to the examples and designs described, but is to be accorded the widest scope consistent with the principles and novel features disclosed.

Claims

1.A method for revoking an authentication key by a non-volatile memory device, comprising:receiving a revoke request command, from a host, to initiate a revocation of the authentication key;securely purging a partition in response to receiving the revoke request command; andrevoking the authentication key.2.The method of claim 1, further comprising retaining a write counter value when securely purging the partition.3.The method of claim 1, further comprising:receiving a revoke verification request from the host; andtransmitting, to the host, a result of the revocation of the authentication key.4.The method of claim 3, in which the result indicates a successful revocation.5.The method of claim 3, in which the result indicates a write failure during the revocation.6.The method of claim 3, in which the result indicates a general failure during the revocation.7.The method of claim 1, further comprising receiving, from the host, a request for a new authentication key.8.The method of claim 1, in which the authentication key comprises a replay protected memory block (RPMB) authentication key, and the partition comprises an RPMB partition.9.An apparatus for revoking an authentication key, comprising:at least one memory; andat least one processor coupled to the at least one memory, the at least one processor configured:to receive a revoke request command, from a host, to initiate a revocation of the authentication key;to securely purge a partition in response to receiving the revoke request command; andto revoke the authentication key.10.The apparatus of claim 9, in which the at least one processor is further configured to retain a write counter value when securely purging the partition.11.The apparatus of claim 9, in which the at least one processor is further configured:to receive a revoke verification request from the host; andto transmit, to the host, a result of the revocation of the authentication key.12.The apparatus of claim 11, in which the result indicates a successful revocation.13.The apparatus of claim 11, in which the result indicates a write failure during the revocation.14.The apparatus of claim 11, in which the result indicates a general failure during the revocation.15.The apparatus of claim 9, in which the at least one processor is further configured to receive, from the host, a request for a new authentication key.16.The apparatus of claim 9, in which the authentication key comprises a replay protected memory block (RPMB) authentication key, and the partition comprises an RPMB partition.17.A non-transitory computer-readable medium having program code recorded thereon, the program code executed by a processor and comprising:program code to receive a revoke request command, from a host, to initiate a revocation of an authentication key;program code to securely purge a partition in response to receiving the revoke request command; andprogram code to revoke the authentication key.18.The non-transitory computer-readable medium of claim 17, in which the program code comprises program code to retain a write counter value when securely purging the partition.19.The non-transitory computer-readable medium of claim 17, in which the program code comprises:program code to receive a revoke verification request from the host; andprogram code to transmit, to the host, a result of the revocation of the authentication key.20.The non-transitory computer-readable medium of claim 19, in which the result indicates a successful revocation.