Binary code authentication
AssigneeMorpho
InventorsCyrille Pepin, Johann Urvoy
Life of this patent
Estimating the term…
Abstract
The description particularly relates to methods for authenticating binary code stored in a smart card. The description also relates to systems and a computer program capable of implementing said methods, as well as to storage media containing such a computer program.
Claims12
A method for secure storage of a binary code in a smart card comprising:
- /a/ computing, by a secure storage system, a first hash based on a source code, said source code corresponding to the binary code;
- /b/ storing, by the secure storage system, the first hash and the binary code in the smart card;
- and
- /c/ transmitting, by the secure storage system to an authentication system, a random number and a third hash, the third hash being computed on the basis of a concatenation of the first hash, a second hash and the random number, the second hash being computed on the basis of the binary code.
A method for authenticating a binary code stored in a smart card, comprising:
- /d/ acquiring, by an authentication system, a reference third hash;
- /e/ acquiring, by the authentication system, an effective third hash on the basis of a concatenation of a first hash, of a second hash and of a random number, the first hash being stored in the smart card, the second hash being computed on the basis of the binary code to be authenticated;
- and
- /f/ authenticating, by the authentication system, the binary code on the basis of a comparison of a reference third hash and the effective third hash.
A method for protecting a smart card, comprising a method for secure storage of a binary code in a smart card, and a method for authenticating a binary code stored in the smart card,
- wherein the method for secure storage comprises:
- /a/ computing, by a secure storage system, a first hash based on a source code, said source code corresponding to the binary code;
- /b/ storing, by the secure storage system, the first hash and the binary code in the smart card;
- and
- /c/ transmitting, by the secure storage system to an authentication system, a random number and a third hash, the third hash being computed on the basis of a concatenation of the first hash, a second hash and the random number, the second hash being computed on the basis of the binary code;
- and
- wherein the method for authenticating comprises:
- /d/ acquiring, by an authentication system, a reference third hash;
- /e/ acquiring, by the authentication system, an effective third hash on the basis of a concatenation of a first hash, of a second hash and of a random number, the first hash being stored in the smart card, the second hash being computed on the basis of the binary code to be authenticated;
- and
- /f/ authenticating, by the authentication system, the binary code on the basis of a comparison of a reference third hash and the effective third hash.
A secure storage system comprising one or more hardware processors,
- the secure storage system being programmed to execute, by the one or more processors, instructions to compute a first hash on the basis of a source code, said source code corresponding to a binary code;
- the secure storage system being programmed to execute, by the one or more processors, instructions to store the first hash and the binary code in a smart card;
- the secure storage system being programmed to execute, by the one or more processors, instructions to transmit to an authentication system a random number and a third hash, the third hash being computed on the basis of a concatenation of the first hash, of a second hash and of the random number, the second hash being computed on the basis of the binary code.
An authentication system for the authentication of a binary code stored in a smart card, the authentication system comprising
- one or more hardware processors,
- the authentication system being programmed to execute, by the one or more processors, instructions to obtain a reference third hash;
- the authentication system being programmed to execute, by the one or more processors, instructions to obtain an effective third hash on the basis of a concatenation of a first hash, of a second hash and of a random number, the first hash being stored in the smart card, the second hash being computed on the basis of the binary code to be authenticated;
- the authentication system being programmed to execute, by the one or more processors, instructions to authenticate the binary code on the basis of a comparison of a reference third hash and the effective third hash.
A system for protecting a smart card comprising a secure storage system comprising one or more processors and an authentication system comprising
- one or more hardware processors,
- the secure storage system being programmed to execute, by the one or more processors of the storage system, instructions to compute a first hash on the basis of a source code, said source code corresponding to a binary code;
- the secure storage system being programmed to execute, by the one or more processors of the storage system, instructions to store the first hash and the binary code in a smart card;
- the secure storage system being programmed to execute, by the one or more processors of the storage system, instructions to transmit to an authentication system a random number and a third hash, the third hash being computed on the basis of a concatenation of the first hash, of a second hash and of the random number, the second hash being computed on the basis of the binary code;
- the authentication system being programmed to execute, by the one or more processors of the authentication system, instructions to obtain a reference third hash;
- the authentication system being programmed to execute, by the one or more processors of the authentication system, instructions to obtain an effective third hash on the basis of a concatenation of a first hash, of a second hash and of a random number, the first hash being stored in the smart card, the second hash being computed on the basis of the binary code to be authenticated;
- the authentication system being programmed to execute, by the one or more processors of the authentication system, instructions to authenticate the binary code on the basis of a comparison of a reference third hash and the effective third hash.
Dependencies are inferred from the claim text.