Stream Cipher Storage Encryption Reducing Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current full drive encryption (FDE) methods, such as AES-XTS, incur high read/write latency and are vulnerable to attacks, limiting the use of stream ciphers for securing data at rest due to performance and security concerns.

Innovation Solution

Implementing a stream cipher with Log-structured File Systems (LFS) and trusted hardware, using MAC tags and secure counters to prevent attacks and maintain integrity, allowing for confidential and high-performance storage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If AES-XTS is used for full drive encryption, then data confidentiality is improved, but read/write latency increases by 3-5 times

Engineering Contradiction:
Improvedata confidentialityVSAvoidread/write latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent changes the cryptographic algorithm parameter from AES-XTS block cipher to stream cipher (e.g., ChaCha20), fundamentally altering the encryption approach to achieve faster performance while maintaining security

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent replaces the traditional AES-XTS encryption mechanism with a stream cipher-based authenticated encryption system, substituting one cryptographic approach with a more efficient alternative that better suits flash memory characteristics

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Productivity

If stream cipher is used for encryption, then performance is improved, but security is worsened due to vulnerability to many-time pad and rollback attacks

Engineering Contradiction:
Improveencryption performanceVSAvoidsecurity against attacks
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent performs preliminary actions by establishing unique keycount values for each logical block before encryption occurs, and by using LFS to prevent overwrites, thereby proactively eliminating security vulnerabilities before they can be exploited

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces MAC tags as an intermediary security layer that verifies data integrity and authenticity, preventing both many-time pad and rollback attacks while maintaining stream cipher performance benefits

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If metadata is added to prevent attacks, then security is improved, but performance advantage of stream cipher is lost

Engineering Contradiction:
Improvesecurity integrityVSAvoidstream cipher performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent performs preliminary actions by establishing unique keycount values for each logical block before encryption occurs, preventing security vulnerabilities before they can be exploited

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces MAC tags as an intermediary security layer that verifies data integrity and authenticity, preventing both many-time pad and rollback attacks while maintaining stream cipher performance benefits

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11139959B2Stream ciphers for digital storage encryption
Publication Date: 2021.10.05 UNIVERSITY OF CHICAGO
  • US11139959B2 patent drawing
  • US11139959B2 patent drawing
  • US11139959B2 patent drawing

AI summary

An embodiment involves receiving a request to write data to a memory unit. The memory unit is divided into one or more logical blocks, each subdivided into groups of sub-blocks encrypted in accordance with a stream cipher. The memory unit maintains a transaction journal that marks each sub-block as dirty or clean. The memory unit stores keycount values for each of the logical blocks. The embodiment also involves: determining that the request seeks to write a portion of the data to a particular sub-block marked as dirty in the transaction journal, decrypting the particular logical block in accordance with the stream cipher, writing the portion of the data to the particular sub-block, incrementing the keycount value of the particular logical block, encrypting the particular logical block using the stream cipher, a key, and the keycount value, and writing the particular logical block to the memory unit.