IP Library Granted Patent US 10,431,123
Granted Patent B2
US 10,431,123 · App. 15/525,432 · Granted Oct 1, 2019

Method for testing and hardening software applications

Inventors: Hermann Drexler (München, DE); Sven Bauer (Vaterstetten, DE)
Assignee: GIESECKE+DEVRIENT MOBILE SECURITY GMBH
G09C1/06G06F9/4403G06F21/12G09C1/00H04L9/002H04L9/0618H04L9/0625H04L9/0631H04L9/0822H04L2209/043H04L2209/08H04L2209/16
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,431,123
App. No.
15/525,432
Granted
Oct 1, 2019
Kind
B2
Abstract

Methods are provided for testing and hardening software applications for the carrying out digital transactions which comprise a white-box implementation of a cryptographic algorithm. The method comprises the following steps: (a) feeding one plaintext of a plurality of plaintexts to the white-box implementation; (b) reading out and storing the contents of the at least one register of the processor stepwise while processing the machine commands of the white-box implementation stepwise; (c) repeating the steps (a) and (b) with a further plaintext of the plurality of plaintexts N-times; and (d) statistically evaluating the contents of the registers and the plaintexts, the intermediate results and/or the ciphertexts generated from the plaintexts by searching for correlations between the contents of the registers and the plaintexts, the intermediate results and/or the ciphertexts generated from the plaintexts to establish the secret key.

Claims (14)

1. A method for testing a white-box implementation of a cryptographic algorithm, said implementation being executable on a processor, generating a ciphertext from a plaintext by means of a secret key and being present in the processor in the form of machine commands, wherein the processor comprises at least one register and the method comprises the following steps:

(a) feeding one plaintext of a plurality of plaintexts to the white-box implementation;

(b) reading out and storing the content of the at least one register of the processor stepwise while processing the machine commands of the white-box implementation stepwise, wherein intermediate results are generated while processing the machine commands of the white-box implementation stepwise for generating the ciphertext from the plaintext;

(c) repeating the hereinabove steps (a) and (b) with a further plaintext of the plurality of plaintexts N-times; and

(d) statistically evaluating a contents of the registers and the plaintexts, the intermediate results and/or the ciphertexts generated from the plaintexts by searching for correlations between the contents of the registers and the plaintexts, the intermediate results and/or the ciphertexts generated from the plaintexts to establish the secret key;

wherein N is chosen so large that a static evaluating of the contents of the registers and the plaintexts, the intermediate results and/or the ciphertexts generated from the plaintexts is possible.

2. The method according to claim 1 , wherein

the content of a register for a plaintext is treated as a function of the number of the processed machine commands analogously to a power/current curve in the differential power analysis; or/and

the step (d) of statistically evaluating the contents of the registers and the plaintexts, the intermediate results and/or the ciphertexts generated from the plaintexts comprises the step of evaluating by means of statistical methods which are known from differential power analysis.

3. The method according to claim 1 , wherein the white-box implementation is part of a software application for carrying out a digital transaction.

4. The method according to claim 1 , wherein the steps (a) and (b) are carried out with at least 10, 100 or 1000 different plaintexts.

5. The method according to claim 1 , wherein in the step (b) the readout of the content of the at least one register is carried out only as of a machine command predefined in the white-box implementation and further in the step (b) the readout of the content of the at least one register is carried out as of the predefined machine command for a predefined number M of machine commands.

6. The method according to claim 1 , wherein the white-box implementation of a cryptographic algorithm is a white-box implementation of the AES algorithm.

7. The method according to claim 1 , wherein in the step (d) of statistically evaluating the contents of the registers and the plaintexts, the intermediate results and/or the ciphertexts generated from the plaintexts those intermediate results and/or ciphertexts generated from the plaintexts are employed for the statistical analysis that depend on only as few bits of the secret key as possible.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 18, 2017
From: GIESECKE & DEVRIENT GMBH
To: GIESECKE+DEVRIENT MOBILE SECURITY GMBH
Reel/Frame 043230/0485 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 9, 2017
From: DREXLER, HERMANN; BAUER, SVEN
To: GIESECKE & DEVRIENT GMBH
Reel/Frame 042301/0506 →
Priority Claims (1)
DE 10 2014 016 548 · Nov 10, 2014 · national
Continuity (1)
Related Publication 20170324547A1 · Nov 9, 2017