Protecting device separation with bus encryption
By negotiating a session key between the CPU and a removable storage device and storing a disk quiescent key on the device, the problem of data leakage and tampering in computer devices during physical attacks is solved, achieving a balance between data security and performance.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-01-20
- Publication Date
- 2026-04-07
AI Technical Summary
In physical attacks on computer equipment in data centers, data is easily leaked and tampered with. Existing encryption technologies have security vulnerabilities during data transmission and at rest, and also suffer significant performance losses.
By negotiating a session key between the CPU and the removable storage device, using an encryption protocol to protect data transmission, and storing a disk rest key on the removable device, the security of data is ensured both when at rest and during transmission, employing a multi-layered encryption mechanism.
Effectively protect data from physical attacks, ensure that data is not accessed or tampered with when the device is disconnected, and maintain data processing performance without loss.
Smart Images

Figure CN115151906B_ABST
Abstract
Description
Background Technology
[0001] As data centers expand for cloud computing and / or move to remote locations, a significant amount of computer equipment may become vulnerable to physical attacks. Data stored on these devices may be compromised through physical access. Furthermore, attackers may use disk data, which could be tampered with using physical access and then used to launch attacks against the computer equipment.
[0002] There are these and other issues regarding protecting stored data from physical attacks. Summary of the Invention
[0003] The present invention is provided to introduce selected concepts in a simplified form, which will be further described in the detailed description below. This summary is not intended to identify key or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.
[0004] One example implementation relates to a computer device. The computer device may include at least one memory for storing data and instructions; at least one removable device for storing data and instructions; and at least one processor communicating with the at least one memory and the at least one removable device, wherein the at least one processor is operable to: establish an encryption protocol to encrypt data transmitted to the at least one removable device via a bus; transmit encrypted data to the at least one removable device via the bus using the encryption protocol; establish an unlocking operation for the at least one removable device using the encryption protocol; and execute a storage request for encrypted data at the at least one removable device.
[0005] Another example implementation involves a method. This method may include establishing an encryption protocol via at least one processor on a computer device to encrypt data transmitted over a bus to at least one removable device, which communicates with the computer device. The method may include sending encrypted data to the at least one removable device via the bus using the encryption protocol. The method may include establishing an unlock operation for the at least one removable device using the encryption protocol. The method may include performing a storage request for the encrypted data at the at least one removable device.
[0006] Another example implementation relates to a computer-readable medium storing instructions executable by a computer device. The computer-readable medium may include at least one instruction for causing the computer device to establish an encryption protocol to encrypt data transmitted via a bus to at least one removable device, the at least one removable device communicating with the computer device. The computer-readable medium may include at least one instruction for causing the computer device to send encrypted data via the bus to at least one removable device using the encryption protocol. The computer-readable medium may include at least one instruction for causing the computer device to establish an unlocking operation against at least one removable device using the encryption protocol. The computer-readable medium may include at least one instruction for causing the computer device to execute a storage request for encrypted data at at least one removable device.
[0007] Additional features and advantages will be set forth in the description which follows, and will be apparent in part from the description, or may be learned by practice of the teachings herein. The features and advantages of this disclosure may be realized and obtained by the means and combinations particularly pointed out in the appended claims. The features of this disclosure will become more apparent from the following description and the appended claims, or may be learned by practice of the disclosure as set forth below. Attached Figure Description
[0008] In the attached diagram:
[0009] Figure 1 This is a schematic diagram of an example computer device according to an implementation of this disclosure.
[0010] Figure 2 This is a schematic diagram of an example removable device for use with a computer device, according to an implementation of this disclosure.
[0011] Figure 3 This is a flowchart of an example method flow for protecting data, implemented according to this disclosure.
[0012] Figure 4 The diagram illustrates some components that can be included within a computer system. Detailed Implementation
[0013] This disclosure generally relates to devices and methods for protecting data from physical attacks. As data centers increase for cloud computing and / or move to remote locations, a large number of computer devices may become vulnerable to physical attacks. Physical attacks can include removing storage devices from computer equipment and accessing data stored on those devices. Therefore, any stored data can potentially be compromised through physical access. For example, any consumer data stored in a data center could be accessed and / or compromised during a physical attack.
[0014] Currently, even if data is encrypted on a storage device and the storage device is physically removed or otherwise separated from the computer equipment, the key used to unlock the data remains stored on the storage device until the next power cycle. An attacker could connect a new Peripheral Component Interconnect (PCI) bus or other type of bus to the storage disk without removing power from the storage device, and the storage device might remain unlocked, allowing the attacker to access the data using the new PCI bus.
[0015] In addition, physical attacks can include removing or otherwise detaching storage devices from a computer device, tampering with or modifying data on the storage devices, and reinserting the storage devices into the computer device to launch an attack on the computer device.
[0016] Furthermore, even if data is encrypted on the disk, data currently being transferred between the removable storage device and the PCI root union of the computer device is unprotected. Therefore, an attacker could potentially access and / or tamper with data transferred between the removable storage device and the PCI root union. If the central processing unit (CPU) uses software to perform all encryption or decryption operations on the encrypted data before storage, the storage disk may be unaware of the encryption and the data transferred across the PCI bus may be encrypted. However, significant performance penalties may occur in data processing; for example, data processing time may increase by up to 30%.
[0017] This disclosure can provide a boundary between an attacker with physical access to a computer device and data stored on a removable device. This disclosure can use multiple keys to encrypt data stored on a removable device.
[0018] In one implementation, this disclosure may use a session key negotiated between the CPU and the removable storage disk to encrypt and authenticate data transferred between the CPU and the removable storage disk. This encrypts data moving on the bus between the CPU and the removable storage disk. In another implementation, this disclosure may also use client authentication, device authentication, CPU authentication, and / or mutual authentication (e.g., both client authentication and device authentication) to generate the session key.
[0019] A session key can be used to authenticate the CPU to the removable storage disk for communication between the CPU and the removable storage disk. Therefore, even if the removable storage disk is detached from the computer device, the data on the removable storage disk may be inaccessible without a session key instructing the removable storage disk to access data.
[0020] Furthermore, this disclosure uses at-rest keys to encrypt data stored on a removable device. The at-rest key and session key can be stored on the removable device, such as a silicon die or other secure memory, which can store the at-rest key and session key separately from the memory on the removable device. By using a medium other than memory to store the at-rest key and session key, an additional layer of security can be added to prevent the physical removal and / or reading of the at-rest key and session key during an attack on the removable device.
[0021] Therefore, this disclosure can protect at-rest data stored on a storage device, ensuring that an external attacker with physical access to the removable device cannot read and / or modify the data when the removable device is separated from the computer device. Furthermore, this disclosure can protect data in transit, ensuring that data is encrypted when transmitted between the storage device and the root union in the PCI bus, thereby preventing sniffing of the data in transit. This disclosure can also maintain similar and / or identical performance for processing data as associated with transmitting unprotected data via the bus.
[0022] Now for reference Figure 1 An example computer device 102 for protecting data from physical attacks is shown. The computer device 102 may include one or more removable devices 26 that can be removed from the computer device 102, for example, by an attacker with physical access to the computer device 102. The one or more removable devices 26 may include, for example, flash memory, flash drive, hard disk drive (HDD), solid-state drive (SSD), non-volatile memory, card, and / or other peripheral devices that communicate with the computer device 102.
[0023] A physical attack may include removing one or more removable devices 26 from computer device 102 and accessing data stored on the removable devices 26. Furthermore, a physical attack may include removing one or more removable devices 26 from computer device 102 and tampering with or modifying data on the removable devices 26. The removable devices 26 may be reinserted into computer device 102 to launch an attack on computer device 102.
[0024] Computer device 102 may refer to one or more host computers in a data center or other environment. Computer device 102 may also refer to one or more servers in a data center or other environment. Computer device 102 may also refer to various types of computing devices. For example, computer device 102 may include mobile devices such as mobile phones, smartphones, personal digital assistants (PDAs), tablet computers, or laptop computers. Additionally or alternatively, computer device 102 may include one or more non-mobile devices such as desktop computers, server devices, gaming devices, or other non-portable devices. In one or more implementations, computer device 102 includes a graphical user interface (e.g., the screen of a mobile device) thereon. Furthermore, or alternatively, computer device 102 may be communicatively (e.g., wired or wirelessly) coupled to a display device having a graphical user interface thereon for providing content display. Computer device 102 may include the following combinations Figure 4 The described features and functions.
[0025] Computer device 102 may include CPU 10 communicating with memory 29. Memory 29 of computer device 102 may be configured to store data and / or computer-executable instructions defining an operating system and / or associated with the operating system, and CPU 10 may execute the operating system. Examples of memory 29 may include, but are not limited to, types of memory usable by a computer, such as random access memory (RAM), read-only memory (ROM), magnetic tape, magnetic disk, optical disk, volatile memory, non-volatile memory, and any combination thereof. Examples of CPU 10 may include, but are not limited to, any processor specially programmed as described herein, including controllers, microcontrollers, application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), system-on-a-chip (SoC), or other programmable logic or state machines.
[0026] CPU 10 can also communicate with one or more removable devices 26 and / or one or more network interface cards 24 via bus 22 (e.g., but not limited to PCI bus). CPU 10 can send data to one or more removable devices 26 and / or one or more network interface cards 24 via bus 22.
[0027] CPU 10 may also include an encryption manager 12 that determines one or more encryption protocols 14 for converting bus 22 into an encrypted communication channel between CPU 10 and one or more removable devices 26 and / or network interface cards 24 to securely transmit encrypted data 20 on bus 22. The one or more encryption protocols 14 may include, but are not limited to, negotiating a key to be used during data encryption, identifying the required data format to understand which data can be encrypted data and / or which data can be routing information, identifying what messages are data messages, and / or identifying what messages are key exchange messages. An example encryption protocol 14 may include negotiating a session key 18 with one or more removable devices 26 for data transfer between CPU 10 and one or more removable devices 26. The session key 18 may be negotiated directly with one or more removable devices 26 without the use of an intermediary entity. In one implementation, each removable device 26 may have a different session key 18. Therefore, different session keys 18 can be negotiated for each removable device 26, and a key exchange can occur for each removable device 26. In another implementation, a single session key 18 may be distributed by the service to one or more removable devices 26, allowing the one or more removable devices 26 to share the same session key 18. For example, one or more removable devices 26 may securely request the session key 18 from the service. The session key 18 can be used to encrypt and / or decrypt data transmitted between the CPU 10 and one or more removable devices 26 via the bus 22. The encrypted data 20 in transmission via the bus 22 may be invisible to an attacker because the session key 18 may be unavailable to an attacker if only the CPU 10 and one or more removable devices 26 know it. Thus, the encrypted data 20 can be securely transmitted via the bus 22 and cannot be stolen, inspected, and / or modified during transmission.
[0028] Another example encryption protocol 14 may include performing single authentication on CPU 10 and / or one or more removable devices 26. For example, CPU 10 may directly authenticate to one or more removable devices 26. Alternatively, one or more removable devices 26 may directly authenticate to CPU 10. Authentication may be used to verify CPU 10 and / or one or more removable devices 26 and establish a symmetric key for session key 18, enabling CPU 10 and one or more removable devices 26 to communicate with each other.
[0029] Another example encryption protocol 14 may include mutual authentication between CPU 10 and / or one or more removable devices 26 to verify both CPU 10 and one or more removable devices 26. CPU 10 and one or more removable devices 26 can authenticate each other and establish a symmetric key for session key 18.
[0030] Another example encryption protocol 14 may include performing client authentication, wherein a third-party client authenticates to CPU 10 and / or one or more removable devices 26 to verify the client and establish a symmetric key for session key 18, so that CPU 10 and / or one or more removable devices 26 can communicate with the client.
[0031] The encryption protocol 14 can be used in combination to establish a secure communication channel via bus 22. The encryption protocol 14 can also be used to unlock one or more removable devices 26 to perform a storage request operation on one or more removable devices 26. For example, CPU 10 can use the encryption protocol 14 to instruct removable device 26 to access encrypted data 30 stored on the removable device. Furthermore, CPU 10 can use the encryption protocol 14 to instruct removable device 26 to store encrypted data 30 on the removable device 26.
[0032] Therefore, even if one or more removable devices 26 are separated from computer device 102, the encrypted data 30 stored on removable device 26 can remain inaccessible without using encryption protocol 14 to unlock removable device 26 and instructing removable device 26 to read the stored encrypted data 30. Thus, an attacker with physical access to removable device 26 cannot access the encrypted data 30 stored on removable device 26 without session key 18.
[0033] The removable storage device 26 may also include a data rest key 28 stored on the removable storage device 26 for further encryption of the stored encrypted data 30. Now refer to Figure 2 Example removable device 26 may include memory 32 for storing encrypted data 30 on removable device 26. Furthermore, removable device 26 may include a region 34 separate from memory 32. Region 34 may include, but is not limited to, a silicon die, a trigger, synchronous dynamic random access memory (SDRAM), a portion of a silicon die, and / or a fuse. Other examples of region 34 may include other forms of secure memory.
[0034] In one implementation, session key 18 and / or data quiescence key 28 may be stored in region 34. By storing session key 18 and / or data quiescence key 28 in a secure region 34 separate from memory 32, it becomes more difficult to physically remove session key 18 and / or data quiescence key 28 from removable device 26. Furthermore, if an attack occurs on memory 32, session key 18 and / or data quiescence key 28 may not be read from memory 32 during the attack because session key 18 and / or data quiescence key 28 are not stored in memory 32.
[0035] A separate data rest key 28 can be stored on each removable device 26 and can be used to apply another layer of encryption to the encrypted data 30 stored on the removable device 26. Therefore, the removable storage device 26 can perform another layer of encryption on the stored encrypted data 30 using the data rest key 28, and the stored encrypted data 30 can be decrypted using the data rest key 28 when a read operation is performed on the removable storage device 26. By further encrypting the stored encrypted data 30, an additional layer of protection can be provided for the stored encrypted data 30 should a physical attack occur on the computer device 102 and the removable device 26 be separated from the computer device 102. Furthermore, by securely storing the key used to encrypt the data stored on the removable device 26, it is ensured that an external attacker with physical access to the removable device 26 cannot read and / or modify the data when the removable device 26 is separated from the computer device 102.
[0036] Computer device 102 can also protect data in transit to ensure that data is encrypted when it is transmitted between removable device 26 and CPU 10 via bus 22, thereby preventing sniffing of data in transit via bus 22.
[0037] Now for reference Figure 3 Computer equipment 102 ( Figure 1 Example method 300 can be used to protect removable device 26 stored in communication with computer device 102. Figure 1 The data on [the site] is protected from physical attacks. See below for reference. Figure 1 and Figure 2 The architecture discussion method is 300 actions.
[0038] At 302, method 300 may include establishing an encryption protocol to encrypt data transmitted over a bus. The CPU 10 of computer device 102 may include an encryption manager 12 that can determine one or more encryption protocols 14 to securely transmit data between the CPU 10 and one or more removable devices 26 over a bus 22. One or more encryption protocols 14 may translate the bus 22 into an encrypted communication channel between the CPU 10 and one or more removable devices 26 and / or network interface card 24 to securely transmit encrypted data 20 over the bus 22. One or more encryption protocols 14 may include, but are not limited to, determining the negotiation of a key to be used during data encryption, identifying the required data format to understand which data might be encrypted data and / or which data might be routing information, identifying which messages are data messages, and / or identifying which messages are key exchange messages. An example encryption protocol 14 may include negotiating a session key 18 with one or more removable devices 26 for data transmission. The session key 18 may be negotiated directly with one or more removable devices 26 without using an intermediary entity. In one implementation, each removable device 26 may have a unique session key 18. Therefore, a different session key 18 can be negotiated for each removable device 26, and a key exchange can occur for each removable device 26. In another implementation, a single session key 18 can be distributed by the service to one or more removable devices 26, allowing one or more removable devices 26 to use the same session key 18. For example, one or more removable devices 26 can securely request the session key 18 from the service.
[0039] Another example encryption protocol 14 may include performing single authentication with CPU 10 and / or one or more removable devices 26 to verify CPU 10 and / or one or more removable devices 26 and establish a symmetric key for session key 18, enabling CPU 10 and / or one or more removable devices 26 to communicate securely with each other. Another example encryption protocol 14 may include performing mutual authentication between CPU 10 and / or one or more removable devices 26 to verify both CPU 10 and one or more removable devices 26 and establish a symmetric key for session key 18, enabling CPU 10 and / or one or more removable devices 26 to communicate securely with each other.
[0040] In step 304, method 300 may further include sending encrypted data to a removable device via a bus using an encryption protocol. Session key 18 can be used to encrypt and / or decrypt data transmitted between CPU 10 and one or more removable devices 26 via bus 22. The encrypted data 20 in transmission via bus 22 may be invisible to an attacker because session key 18 may only be known to CPU 10 and one or more removable devices 26 and cannot be used by an attacker. Thus, the encrypted data 20 can be secure when transmitted via bus 22 and can be protected from theft, inspection, and / or modification during transmission.
[0041] At 306, method 300 may include establishing an unlocking operation for the removable device using an encryption protocol. CPU 10 may use the encryption protocol to verify and / or authenticate CPU 10 to the removable device 26, and establish a secure communication session via bus 22 for communication between CPU 10 and the removable device 26.
[0042] At 308, method 300 may include executing a storage request for encrypted data at the removable device. For example, CPU 10 may use encryption protocol 14 to instruct removable device 26 to access encrypted data 30 stored on removable device 26. Furthermore, CPU 10 may use encryption protocol 14 to instruct removable device 26 to store encrypted data 30 on removable device 26.
[0043] Thus, even if one or more removable devices 26 are separated from computer device 102, the encrypted data 30 stored on removable device 26 can remain inaccessible without using encryption protocol 14 to unlock removable device 26 and instructing removable device 26 to read the stored encrypted data 30. Therefore, an attacker with physical access to removable device 26 cannot access the encrypted data 30 stored on removable device 26 without session key 18.
[0044] At 310, method 300 may optionally include performing an additional level of encryption on the stored encrypted data using a disk quiescent key stored on the removable device. The removable device 26 may also include a data quiescent key 28 stored on the removable storage device 26 for further encryption of the stored encrypted data 30. Thus, the stored encrypted data 30 can be further encrypted by the removable storage device 26 to further protect the data from unintended access and / or tampering when the removable device 26 is separated from the computer device 102.
[0045] In one implementation, the data quiescent key 28 and / or session key 18 may be stored in a region 34 separate from the memory 32 of the removable storage device 26. Region 34 may include, but is not limited to, silicon dies, triggers, synchronous dynamic random access memory (SDRAM), portions of silicon dies, fuses, and / or other forms of secure memory. By storing the data quiescent key 28 and / or session key 18 in a secure region 34 separate from the memory 32, it becomes more difficult to physically remove the data quiescent key 28 and / or session key 18 from the removable device 26. Thus, if the removable device 26 is separated from the computer device 102, the data quiescent key 28 and / or session key 18 may not be accessible and / or readable. Furthermore, if an attack occurs on the memory 32, it may be impossible to read the session key 18 and / or data quiescent key 28 from the memory 32 during the attack, because the session key 18 and / or data quiescent key 28 are stored separately from the memory 32.
[0046] Thus, method 300 can be used to protect data stored in the removable device 26 from physical attacks when the removable device is detached from the computer device 102. Furthermore, method 300 can be used to protect data transmitted to or from the removable device 26 from physical attacks.
[0047] Figure 4 The illustrations show certain components that may be included within computer system 400. One or more computer systems 400 may be used to implement the various devices, components, and systems described herein.
[0048] Computer system 400 includes processor 401. Processor 401 can be a general-purpose single-chip or multi-chip microprocessor (e.g., an advanced RISC (Reduced Instruction Set Computer) machine (ARM)), a special-purpose microprocessor (e.g., a digital signal processor (DSP)), a microcontroller, a programmable gate array, etc. Processor 401 can be referred to as a central processing unit (CPU). Although in Figure 4 The computer system 400 shows only a single processor 401, but in alternative configurations, a combination of processors (e.g., ARM and DSP) can be used.
[0049] Computer system 400 also includes memory 403 that communicates electronically with processor 401. Memory 403 can be any electronic component capable of storing electronic information. For example, memory 403 can be implemented as random access memory (RAM), read-only memory (ROM), disk storage medium, optical storage medium, flash memory in RAM, onboard memory included in the processor, erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), registers, etc., including combinations thereof.
[0050] Instruction 405 and data 407 may be stored in memory 403. Instruction 405 may be executable by processor 401 to implement some or all of the functions disclosed herein. Executing instruction 405 may involve using data 407 stored in memory 403. Any of the various examples of modules and components described herein may be implemented in part or in whole as instruction 405 stored in and executed by memory 403. Any of the various examples of data described herein may be in data 407 stored in memory 403 and used during the execution of instruction 405 by processor 401.
[0051] Computer system 400 may also include one or more communication interfaces 409 for communicating with other electronic devices. The communication interfaces 409 may be based on wired communication technology, wireless communication technology, or both. Some examples of communication interfaces 409 include Universal Serial Bus (USB), Ethernet adapters, wireless adapters operating according to the Institute of Electrical and Electronics Engineers (IEEE) 802.11 wireless communication protocol, Bluetooth wireless communication adapters, and infrared (IR) communication ports.
[0052] Computer system 400 may also include one or more input devices 411 and one or more output devices 413. Some examples of input devices 411 include keyboards, mice, microphones, remote control devices, buttons, joysticks, trackballs, touchpads, and light pens. Some examples of output devices 413 include speakers and printers. A particular type of output device typically included in computer system 400 is a display device 415. Display devices 415 used with the embodiments disclosed herein can utilize any suitable image projection technology, such as liquid crystal displays (LCDs), light-emitting diodes (LEDs), gas plasma, electroluminescence, etc. A display controller 417 may also be provided for converting data 407 stored in memory 403 into text, graphics, and / or moving images (if applicable) displayed on display device 415.
[0053] Various components of the computer system 400 can be coupled together via one or more buses, which may include power buses, control signal buses, status signal buses, data buses, etc. For clarity, the various buses are... Figure 4 The diagram shows bus system 419.
[0054] Unless specifically described as implemented in a particular manner, the techniques described herein can be implemented in hardware, software, firmware, or any combination thereof. Any features described as modules, components, etc., can also be implemented together in an integrated logic device or separately as discrete but interoperable logic devices. If implemented in software, these techniques can be implemented at least in part through a non-transitory processor-readable storage medium comprising instructions that, when executed by at least one processor, perform one or more of the methods described herein. Instructions can be organized into routines, programs, objects, components, data structures, etc., which can perform specific tasks and / or implement specific data types, and can be combined or distributed as needed in various embodiments.
[0055] Without departing from the scope of the claims, the steps and / or actions of the methods described herein may be interchanged. In other words, unless a specific order of steps or actions is required for the proper operation of the described methods, the order and / or use of specific steps and / or actions may be modified without departing from the scope of the claims.
[0056] The term "determine" encompasses a wide variety of actions; therefore, "determine" can include calculating, computation, processing, deriving, investigating, searching (e.g., looking in a table, database, or other data structure), ascertaining, etc. Furthermore, "determine" can include receiving (e.g., receiving information), accessing (e.g., accessing data in memory), etc. Additionally, "determine" can include resolving, selecting, choosing, establishing, etc.
[0057] The terms “comprising,” “including,” and “having” are intended to be inclusive and indicate that other elements besides those listed may be present. Furthermore, it should be understood that references to “one embodiment” or “embodiment” in this disclosure are not intended to exclude the existence of additional embodiments that also include the described features. For example, any element or feature described with respect to embodiments herein may be combined with any element or feature of any other embodiment described herein, where compatible.
[0058] This disclosure may be implemented in other specific forms without departing from its spirit or characteristics. The described embodiments should be considered illustrative and non-limiting. Therefore, the scope of this disclosure is indicated by the appended claims, not by the foregoing description. Changes within the equivalent meaning and scope of the claims should be included within its scope.
Claims
1. A computer device, comprising: At least one memory for storing data and instructions; as well as At least one processor communicates with the at least one memory and a first removable device of a plurality of removable devices, the plurality of removable devices storing data and instructions respectively, wherein the at least one processor is operable to: An encryption protocol is established to encrypt data transmitted via a bus from the at least one processor to the first removable device and to the first removable device via the bus to encrypt data transmitted via the bus to a second removable device among the plurality of removable devices, wherein the encryption protocol includes establishing a first session key between the at least one processor and the first removable device, wherein each removable device negotiates a different session key with the at least one processor; The encryption protocol is used to send encrypted data to the first removable device via the bus, wherein the first removable device is configured such that the encrypted data on the first removable device is inaccessible after the first removable device is detached from the computer device until the encryption protocol instructs the first removable device to access the encrypted data in the memory using the first session key stored in a secure memory separate from the memory. An unlocking operation is established for the first removable device using the encryption protocol, wherein the first session key is stored on the first removable device in the secure memory, which is separate from the memory storing the encrypted data, and the unlocking operation uses the first session key to unlock the first removable device to read the encrypted data; as well as Execute the storage request for the encrypted data at the first removable device.
2. The computer device according to claim 1, wherein the at least one processor is further operable to: Another level of encryption is performed on the encrypted data on the first removable device using the disk quiescent key stored on the first removable device.
3. The computer device of claim 2, wherein the disk quiescent key is stored in the secure memory on the first removable device.
4. The computer device of claim 1, wherein the first removable device comprises one or more of the following: flash memory, flash drive, hard disk drive, solid-state drive, non-volatile memory, or card.
5. The computer device of claim 1, wherein the bus is a peripheral component interconnect (PCI) bus.
6. The computer device of claim 1, wherein the encryption protocol includes using one or more of the following between the at least one processor and the first removable device: client authentication, device authentication, or mutual authentication.
7. The computer device of claim 1, wherein the secure memory is a silicon die.
8. A method comprising: An encryption protocol is established via at least one processor on a computer device to encrypt data transmitted via a bus to a first removable device among a plurality of removable devices, and to encrypt data transmitted via the bus to a second removable device among the plurality of removable devices, the plurality of removable devices communicating with the computer device through communication between the at least one processor and the first removable device, wherein the encryption protocol includes establishing a first session key with the at least one processor and the first removable device, wherein each removable device negotiates a different session key with the at least one processor; The encryption protocol is used to send encrypted data to the first removable device via the bus; After the first removable device is separated from the computer device, the encrypted data on the first removable device is inaccessible until the encryption protocol instructs the first removable device to use the first session key stored in a secure memory separate from the memory to access the encrypted data in the memory; An unlocking operation is established for the first removable device using the encryption protocol, wherein the first session key is stored in the secure memory on the first removable device, and the unlocking operation uses the first session key to unlock the first removable device to read the encrypted data; as well as Execute the storage request for the encrypted data at the first removable device.
9. The method according to claim 8, further comprising: Another level of encryption is performed on the encrypted data on the first removable device using the disk quiescent key stored on the first removable device.
10. The method of claim 9, wherein the disk quiescent key is stored in the secure memory on the first removable device.
11. The method of claim 8, wherein the first removable device comprises one or more of the following: flash memory, flash drive, hard disk drive, solid-state drive, non-volatile memory, or card.
12. The method of claim 8, wherein the bus is a Peripheral Component Interconnect (PCI) bus.
13. The method of claim 8, wherein the encryption protocol includes using one or more of the following between the at least one processor and the first removable device: client authentication, device authentication, or mutual authentication.
14. A method comprising: Multiple session keys are established to encrypt or decrypt data sent via a bus from a computer device to multiple removable devices, the multiple removable devices communicating with the computer device, wherein each of the multiple removable devices directly negotiates a session key among the multiple session keys with at least one processor of the computer device, wherein the negotiated session key is different for each removable device; Using the session key negotiated for the respective removable device, encrypted data is sent to the respective removable device via the bus; After the removable device is separated from the computer device, the encrypted data on the removable device is inaccessible until the encryption protocol instructs the removable device to use the session key stored in a secure memory separate from the memory to access the encrypted data in the memory. The session key is used to establish an unlocking operation for the corresponding removable device to unlock the corresponding removable device and read the encrypted data, wherein the session key is stored on the corresponding removable device in the secure memory, and the secure memory is separate from the memory storing the encrypted data; as well as Execute the storage request for the encrypted data at the corresponding removable device.
15. The method of claim 14, wherein the unlocking operation instructs the respective removable device to access the encrypted data on the respective removable device.
16. The method of claim 14, wherein a session key exchange occurs once for each of the plurality of removable devices.
17. The method of claim 14, further comprising: Using a disk quiescent key stored on the respective removable device, wherein the disk quiescent key is stored in the secure memory on the respective removable device, an additional level of encryption is performed on the encrypted data on the respective removable device.
18. The method of claim 14, wherein the plurality of removable devices comprises one or more of the following: flash memory, flash drive, hard disk drive, solid-state drive, non-volatile memory, or card, and The bus mentioned above is the Peripheral Component Interconnect (PCI) bus.
Citation Information
Patent Citations
Secure media card operation over an unsecured PCI bus
US20040117642A1
Arrangements for datalink security
US20180183581A1