Database Encryption Wallet Using HSM Cryptogram

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current database encryption key management systems face challenges in securely storing and transmitting data encryption keys without exposing them as cleartext, violating cryptographic control principles and leaving keys vulnerable to unauthorized access.

Innovation Solution

A database encryption wallet system utilizing a hardware security module (HSM) generates a cryptogram from a master key encryption key, transmits it securely, and regenerates a wallet password to unlock the digital wallet without transmitting the cleartext password, ensuring secure key management and storage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If data encryption keys are stored and transmitted as cleartext for ease of access, then operational convenience is improved, but security is worsened due to vulnerability to unauthorized access

Engineering Contradiction:
Improveaccess convenienceVSAvoidsecurity
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The system segments the key management process into distinct phases: key generation in HSM, encryption of keys with wallet passwords, secure transmission of encrypted keys, and controlled decryption only when authentication occurs. This segmentation ensures keys are never transmitted or stored in cleartext form, maintaining security while enabling operational access through proper authentication channels.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces encrypted wallet passwords as an intermediary mechanism between key storage and access. Instead of directly storing or transmitting cleartext keys, the system uses wallet passwords to encrypt keys during storage and transmission. This intermediary layer protects key security while allowing authorized access through the decryption process using authenticated wallet passwords.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If encryption keys are transmitted securely using complex cryptographic protocols, then security is improved, but system complexity worsens

Engineering Contradiction:
ImprovesecurityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system performs preliminary encryption of data encryption keys with wallet passwords before transmission or storage. By pre-encrypting keys with authenticated credentials, the system eliminates the need for complex runtime cryptographic protocols during key transmission. The complexity is shifted to the key generation and initial encryption phase, where proper authentication already occurs, simplifying subsequent key management operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The HSM performs self-service key management by automatically generating, encrypting, and managing encryption keys using internally stored master keys and wallet passwords. This self-service capability reduces system complexity by eliminating the need for external key management infrastructure or complex inter-component cryptographic protocols, while maintaining high security through hardware-based cryptographic operations.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11861597B1Database encryption wallet
Publication Date: 2024.01.02 WELLS FARGO BANK NA
  • US11861597B1 patent drawing
  • US11861597B1 patent drawing
  • US11861597B1 patent drawing

AI summary

A method can include generating a cryptogram by encrypting, by a hardware security module (HSM), a keyed-hash message authentication code (HMAC) key by a master key encryption key (MK); transmitting, a database server, the cryptogram; destroying the cryptogram at the HSM, in response to the transmitting the cryptogram to the database server; receiving, from the database server, the cryptogram and an ID generated by the database server; generating a wallet password based on the ID and the cryptogram; generating a data encryption key (DK) retrievable via the wallet password; transmitting, to the database server, the DK without the wallet password; destroying the wallet password in response to the transmitting the DK to the database server; decrypting the cryptogram into a decrypted HMAC key; regenerating the wallet password using the ID and the decrypted HMAC key; encrypting the regenerated wallet password; transmitting, to the database server, the encrypted regenerated wallet password.