Portable Data Carrier Malicious Code Recoding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Portable data carriers are vulnerable to attacks where malicious code is smuggled in as user data and executed by manipulating the instruction counter, leading to potential data breaches.

Innovation Solution

A method and data carrier design that recodes executable program code to prevent its execution, using techniques such as transcoding, filler blocks, and examination for malicious code, ensuring that even if an attacker manipulates the instruction counter, the recoded data set is not executable.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the instruction counter is manipulated to point to malicious code stored in memory, then the malicious code can be executed, but security is compromised

Engineering Contradiction:
ImprovesecurityVSAvoidvulnerability to light and glitch attacks
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The patent applies preliminary action by recoding data sets before they are stored in memory. The coding device transforms the data set into a recoded form where any embedded malicious code becomes non-executable. This preventive measure ensures that even if an attacker manipulates the instruction counter to point to malicious code, the recoded malicious code cannot be executed, thus securing the system against light and glitch attacks before the attack occurs.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If recoding is applied to all data sets before storage, then security against malicious code is improved, but processing time and computational resources increase

Engineering Contradiction:
ImprovesecurityVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements partial action by examining data sets to determine whether they contain executable program code before applying recoding. Only data sets that are identified as containing executable code undergo recoding transformation. This selective approach maintains security by ensuring that potentially malicious code is recoded while avoiding unnecessary processing of benign data, thus reducing overall processing time and computational resource consumption.

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If recoded data sets are stored in memory, then malicious code execution is prevented, but the data must be decoded before use which adds operational complexity

Engineering Contradiction:
ImprovesecurityVSAvoiddata access complexity
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent applies self-service by integrating the decoding function directly into the data carrier system. The coding device is configured to automatically decode recoded data sets when they are read from memory, making the decoding process transparent to the user. This automated self-service approach maintains security by ensuring proper decoding while minimizing operational complexity for end users who do not need to manually manage the recoding/decoding process.

Inventive Principle:
Principle #25Self-service

Data Source

PatentEP2595061B1Method for protecting against malicious code
Publication Date: 2018.08.08 GIESECKE & DEVRIENT EPAYMENTS GMBH
  • EP2595061B1 patent drawingFigure 1
  • EP2595061B1 patent drawingFigure 2~3

AI summary

A method for preventing an attack on a portable data carrier (10) by means of executable program code, in particular malicious code, comprises at least the step of recoding a data record (100) to be stored in a memory (50) of the data carrier (10) or already stored in the memory (50) of the data carrier (10) such that, if the data record (100) contains executable program code on a processor (30) of the data carrier (10), the program code is no longer executed.