File System Inode Entropy for Cryptographic Key Protection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for protecting shared secrets on mobile devices are vulnerable to cloning, as malicious users can recreate the encryption key by copying data and entropy sources, compromising security and authentication.

Innovation Solution

Generating a key based on unique file system attributes, such as inode numbers, to encrypt shared secrets, which changes upon copying, preventing key recreation on another device.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If traditional entropy sources (device ID, CPU ID, keyboard timings) are used to generate encryption keys, then key generation is simple and straightforward, but the encryption key can be reconstructed by cloning applications that copy these entropy sources

Engineering Contradiction:
Improveease of key generationVSAvoidsecurity against cloning
Core Design Contradiction:
Ease of manufactureVSReliability

Solution Approach 1:

The patent extracts the file system attribute (inode number) from the file system structure and uses it as an entropy source for key generation. This attribute is taken out from the general file metadata and specifically utilized for cryptographic purposes, making it difficult for cloning applications to replicate since the inode number is tied to the original device's file system structure

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces file system attributes as an intermediary between the device hardware and the encryption key generation process. Instead of directly using hardware identifiers or user inputs, the inode number serves as an intermediate value that is difficult to replicate but can be consistently accessed by authorized applications on the original device

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If all entropy sources are copied to a cloning device, then the cloning device can recreate the encryption key, but this compromises the security of the shared secret

Engineering Contradiction:
Improvecloning capabilityVSAvoidsecurity breach
Core Design Contradiction:
Adaptability or versatilityVSObject-affected harmful factors

Solution Approach 1:

The patent changes the parameter used for key generation from easily copyable data (device ID, CPU ID) to file system attributes (inode numbers) that have different properties on cloned devices. The inode number is a parameter that is assigned by the file system and is not directly transferable, so when files are copied to a cloning device, they receive new inode numbers, thereby changing the entropy source and preventing key recreation

Inventive Principle:
Principle #35Parameter changes

3Reliability

If file system attributes are used as entropy sources, then cloning prevention is achieved, but the system complexity increases

Engineering Contradiction:
Improvecloning preventionVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements self-service by having the application query the file system for inode numbers using standard file system interfaces. The existing file system structure and its attribute storage mechanisms are utilized without requiring additional hardware or complex external systems, thereby achieving cloning prevention while maintaining relatively simple implementation

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9171145B2Protecting cryptographic secrets using file system attributes
Publication Date: 2015.10.27 CA TECH INC
  • US9171145B2 patent drawing
  • US9171145B2 patent drawing
  • US9171145B2 patent drawing

AI summary

Techniques are disclosed for protecting cryptographic secrets stored locally in a device, such as a mobile phone. A client device creates or downloads a shared secret to be used in a server transaction. To protect this shared secret locally, the client device encrypts the shared secret using a key generated a file system attributes value, along with other sources of entropy. The file system attributes value may correspond to the inode of a file in a UNIX-based file system. Thereafter, when the shared secret is required for logical computation, the client device reconstructs the key using the file system attributes value and the other previous sources of entropy. The client device may use the key to decrypt the information and use the shared secret for its required purpose, e.g., in generating a one-time password for a login session.