Address-Dependent Value Encryption for POS Terminal Code Integrity
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
POS terminals face security breaches due to sophisticated electronic attacks that exploit existing security measures, risking the theft of sensitive financial and identification information.
Innovation Solution
A novel memory organization and control system that uses block-aligned write and read operations, combining data with address-dependent values (ADV) for encryption and verification, preventing unauthorized execution of code by ensuring data integrity and authenticity.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional encryption methods are used in POS terminals, then basic security is provided, but sophisticated electronic attacks can still compromise the system and steal sensitive information
Solution Approach 1:
The patent changes the encryption parameter from traditional fixed-key encryption to address-dependent value (ADV) encryption, where the encryption key dynamically changes based on the memory address. This makes each memory location uniquely encrypted with a derived key, preventing attackers from using a single decryption key to access multiple locations or moved code blocks.
Solution Approach 2:
The patent introduces an intermediary verification mechanism where the system checks whether the ADV associated with decrypted code matches the expected address before execution. This intermediary check acts as a gatekeeper, allowing legitimate code execution while blocking executed moved or tampered code, even if decryption succeeds.
2Productivity
If code is stored in memory without address verification, then code execution is simple and fast, but moved or tampered code can be executed inadvertently
Solution Approach 1:
The patent performs preliminary verification of the address-dependent value (ADV) before code execution. When code is fetched from memory, the system first decrypts the block using the address-derived key, then verifies that the ADV embedded in the decrypted code matches the current execution address. Only after this preliminary verification passes is the code executed, preventing moved or tampered code from running.
Solution Approach 2:
The patent implements a feedback mechanism where the execution address is continuously monitored and fed back to the verification logic. The system compares the actual execution address against the ADV extracted from the decrypted code block. This feedback loop ensures that even if code is moved to a different memory location, the verification will detect the address mismatch and prevent execution, maintaining code authenticity while allowing normal execution flow.
Data Source
AI summary
A memory is organized into blocks. In a write operation, data to be stored is combined with an address-dependent value (ADV) to form a block of information, and this block is encrypted. The block of encrypted information is written into a block of memory identified by the write address of the write operation. In a read operation, the block of encrypted information is read back from the memory and is decrypted to recover the data and the ADV. The address of the memory block from which the block of encrypted information was read is used to check the ADV to confirm that the ADV is related in the proper way to the address of the memory block that stored the encrypted information. If the check fails, the processor is prevented from executing the data, thereby preventing the processor from executing blocks of code that are in incorrect locations in memory.


