IP Library Granted Patent US 11,258,772
Granted Patent B2
US 11,258,772 · App. 16/431,548 · Granted Feb 22, 2022

Secured communication from within non-volatile memory device

Inventors: Sergey Ostrikov (Redwood City, CA); Stephan Rosner (Campbell, CA); Cliff Zitlaw (San Jose, CA)
Assignee: Cypress Semiconductor Corporation
H04L63/0435G06F13/4269G06F21/78H04L63/166
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,258,772
App. No.
16/431,548
Granted
Feb 22, 2022
Kind
B2
Abstract

An apparatus includes a non-volatile memory (NVM) device coupled to a host, the NVM device including a processing device to: receive a communication packet from a server via the host computing system that is coupled to the NVM device and communicatively coupled to the server, the communication packet comprising clear text data that requests to initiate secure communications; perform a secure handshake with the server, via communication through the host computing system, using a secure protocol that generates a session key; receive data, via the host computing system, from the server within a secure protocol packet, wherein the data is inaccessible to the host computing system; authenticate the data using secure protocol metadata of the secure protocol packet; optionally decrypt, using the session key, the data to generate plaintext data; and store the plaintext data in NVM storage elements of the NVM device.

Claims (46)

1. An apparatus comprising:

a memory controller;

a static random access memory (SRAM) coupled to the memory controller, the SRAM inaccessible by a host computing system that is communicatively coupled with a server; and

a non-volatile memory (NVM) device coupled to the host computing system, the NVM device comprising a processing device to:

receive a communication packet from the server via the host computing system, the communication packet comprising a request to initiate secure communications;

perform a secure handshake with the server, via communication through the host computing system, using a secure protocol;

receive data, via the host computing system, from the server within a secure protocol packet;

store, responsive to detecting a crypto-write command in the secure protocol packet, the secure protocol packet into a crypto buffer of the SRAM;

parse the secure protocol packet stored in the crypto buffer to retrieve the data;

retrieve a secure protocol operation identifier and a secure protocol metadata from a header of the secure protocol packet;

transfer portions of the secure protocol packet from the crypto buffer to the SRAM; and

process the portions of the secure protocol packet out of the SRAM according to the secure protocol, to include verification of a secure protocol metadata retrieved from the secure protocol packet.

2. The apparatus of claim 1 , wherein the secure protocol comprises one of secure sockets layer (SSL) protocol or transport layer security (TLS) protocol, and wherein the secure handshake includes a series of sequencing operations that lead to a series of cryptographic operations.

3. The apparatus of claim 1 , wherein the NVM device is a flash memory device, and wherein:

the memory controller includes a serial peripheral interface (SPI) slave coupled to an SPI master of the host computing system, wherein the secure handshake is performed via transmission of data within SPI packets exchanged between the SPI slave and the SPI master; and

a cryptographic accelerator in the NVM device is configured to perform cryptographic operations via execution of a cryptographic toolkit that is programmed into the cryptographic accelerator.

4. The apparatus of claim 1 , wherein the processing device is further to:

authenticate the data using at least the secure protocol metadata retrieved from the secure protocol packet; and

store the data in NVM storage elements of the NVM device.

5. The apparatus of claim 4 , wherein the processing device is to provide access, by the host computing system, to the data stored in the NVM storage elements.

6. The apparatus of claim 3 , wherein, to process the portions of the secure protocol packet according to the secure protocol, the processing device is further to interact with the cryptographic accelerator to:

authenticate a row of the data according to a cipher suite code;

decrypt the row of the data, if encrypted, which generates a row of plaintext data, via use of a session key;

store the row of plaintext data in NVM storage elements of the NVM device; and

report back, via the memory controller and the host computing system to the server, that the row of the data has been successfully written to the NVM storage elements.

7. A method comprising:

receiving, by a processing device of a non-volatile memory (NVM) device, a communication packet from a server via a host computing system that is coupled to the NVM device and communicatively coupled to the server, the communication packet comprising a request to initiate secure communications;

performing, by the processing device, a secure handshake with the server, via communication through the host computing system, using a secure protocol;

receiving, using the processing device, encrypted data via the host computing system from the server within a secure protocol packet;

storing, by the processing device responsive to detecting a crypto-write command within the secure protocol packet, the secure protocol packet into a crypto buffer of static random access memory (SRAM) of the NVM device;

parsing, by the processing device, the secure protocol packet stored in the crypto buffer to retrieve the encrypted data;

retrieving, by the processing device, a secure protocol operation identifier and secure protocol metadata from a header from the secure protocol packet;

transferring, by the processing device, portions of the secure protocol packet from the crypto buffer to the SRAM; and

processing, by the processing device, the portions of the secure protocol packet out of the SRAM according to the secure protocol, to include verification of the secure protocol metadata.

8. The method of claim 7 , wherein performing the secure handshake comprises exchanging secure protocol data within serial peripheral interface (SPI) packets with the host computing system.

9. The method of claim 7 , wherein the secure protocol comprises one of secure sockets layer (SSL) protocol or transport layer security (TLS) protocol, and wherein the secure handshake includes a series of sequencing operations that lead to a series of cryptographic operations.

10. The method of claim 7 , wherein performing the secure handshake with the server comprises generation of a session key of a pair of session keys, the session key being inaccessible to the host computing system, the method further comprising:

decrypting, by the processing device using the session key, the encrypted data to generate plaintext data; and

storing, by the processing device, the plaintext data in NVM storage elements of the NVM device.

11. The method of claim 10 , further comprising providing access, by the host computing system, to the plaintext data stored in the NVM storage elements.

12. The method of claim 7 , further comprising authenticating the encrypted data using at least the secure protocol metadata retrieved from the secure protocol packet.

13. The method of claim 10 , wherein the processing further comprises:

authenticating, by a cryptographic accelerator of the NVM device, a row of the encrypted data of the secure protocol packet according to a cipher suite code;

decrypting, by the cryptographic accelerator using the session key, the row of the encrypted data, generating a row of plaintext data;

storing the row of plaintext data in the NVM storage elements; and

reporting back, via the host computing system to the server, that the row of the encrypted data has been successfully written to the NVM storage elements.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 15, 2022
From: CYPRESS SEMICONDUCTOR CORPORATION
To: INFINEON TECHNOLOGIES LLC
Reel/Frame 059721/0467 →
RELEASE OF SECURITY INTEREST Recorded Mar 16, 2022
From: MUFG UNION BANK, N.A.
To: CYPRESS SEMICONDUCTOR CORPORATION; SPANSION LLC
Reel/Frame 059410/0438 →
SECURITY INTEREST Recorded Jul 31, 2019
From: CYPRESS SEMICONDUCTOR CORPORATION
To: MUFG UNION BANK, N.A.
Reel/Frame 049917/0093 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 2, 2019
From: OSTRIKOV, SERGEY; ROSNER, STEPHAN; ZITLAW, CLIFF
To: CYPRESS SEMICONDUCTOR CORPORATION
Reel/Frame 049657/0677 →