Patent ID: 11968296
Assignee: MICRON TECHNOLOGY, INC.
Field: Digital communication (Electrical engineering)
Classification: CPC H | IPC H

Claim 14:
15. A non-transitory computer-readable storage medium for tangibly storing computer program instructions capable of being executed by a computer processor, the computer program instructions defining steps of:
receiving, via a memory controller of a memory device communicatively coupled to the computer processor over a local memory bus, a command to establish a communications session with a remote computing device from an application executed by the computer processor communicatively connected to the computer processor over a network, the command comprising a command to access a network supported by firmware of the memory controller;
generating, by the memory controller, a shared symmetric key, the shared symmetric key shared with the remote computing device, the shared symmetric key comprising a volatile, derived key generated from a static symmetric key;
storing, by the memory controller, the shared symmetric key in a secure area of the memory device inaccessible by the processor of the computing device;
receiving, by the memory controller, a second command from the application, the second command including a network identifier of the remote computing device and a payload to transmit to the remote computing device;
retrieving, by the memory controller, the shared symmetric key from the secure area based on the network identifier;
generating, by the memory controller, a ciphertext by encrypting the payload using the shared symmetric key and the payload;
returning, by the memory controller, the ciphertext to the processor, causing the processor to transmit the ciphertext to the remote computing device;
receiving, by the memory controller, a third command from the processor including an encrypted response, the encrypted response generated by the remote computing device responsive to the ciphertext;
retrieving, by the memory controller, the shared symmetric key from the secure area based on the network identifier;
decrypting, by the memory controller, the encrypted response using the shared symmetric key to obtain a decrypted response; and
returning, by the memory controller, the decrypted response as a response to the third command.