Some content of this application is unavailable at the moment.
If this situation persist, please contact us atFeedback&Contact
1. (WO2018138212) METHOD TO SECURE A SOFTWARE CODE
Latest bibliographic data on file with the International Bureau    Submit observation

Pub. No.: WO/2018/138212 International Application No.: PCT/EP2018/051866
Publication Date: 02.08.2018 International Filing Date: 25.01.2018
IPC:
G06F 21/12 (2013.01) ,G06F 21/14 (2013.01)
G PHYSICS
06
COMPUTING; CALCULATING; COUNTING
F
ELECTRIC DIGITAL DATA PROCESSING
21
Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
10
Protecting distributed programs or content, e.g. vending or licensing of copyrighted material
12
Protecting executable software
G PHYSICS
06
COMPUTING; CALCULATING; COUNTING
F
ELECTRIC DIGITAL DATA PROCESSING
21
Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
10
Protecting distributed programs or content, e.g. vending or licensing of copyrighted material
12
Protecting executable software
14
against software analysis or reverse engineering, e.g. by obfuscation
Applicants:
GEMALTO SA [FR/FR]; 6, rue de la Verrerie 92190 Meudon, FR
SFNT GERMANY GMBH [DE/DE]; Werinherstrasse 81 81541 München, DE
Inventors:
GARREAU, Eric; FR
VOLPE, Sébastien; FR
GARBA, Peter; FR
Agent:
BRICKS, Amélie; FR
Priority Data:
17153409.226.01.2017EP
Title (EN) METHOD TO SECURE A SOFTWARE CODE
(FR) PROCÉDÉ DE SÉCURISATION D'UN CODE LOGICIEL
Abstract:
(EN) The present invention relates to a method of securing a compiled software code (SC) comprising computer code instructions organized in a plurality of basic blocks, said method generating a secure software code (SSC) and comprising the steps of : • determining (S1) by a processor a portion of the software code to be protected, • inserting (S2) by the processor in a selected basic block of the software code a first sequence of instructions which when executed at runtime: computes an integrity check value on said portion of the software code to be protected and computes an index value based on said computed integrity check value, • inserting (S3) by the processor in the selected basic block of the software code an indexed array of memory addresses in which the address, when executing the secure software code, of a following basic block to be executed after the selected basic block is indexed by said index value, • inserting (S4) by the processor at the end of the selected basic block of the software code a jump instruction to the address indexed in the array by said index value computed at runtime.
(FR) La présente invention concerne un procédé de sécurisation d'un code logiciel (SC) compilé comprenant des instructions de code d'ordinateur organisées en une pluralité de blocs de base, ledit procédé générant un code logiciel sécurisé (SSC) et comprenant les étapes consistant à : • déterminer (S1), par un processeur, une partie du code logiciel à protéger, • insérer (S2), par le processeur, dans un bloc de base sélectionné du code logiciel, une première séquence d'instructions qui, lorsqu'elle est exécutée au moment de l'exécution : calcule une valeur de vérification d'intégrité de ladite partie du code logiciel à protéger et calcule une valeur d'index sur la base de ladite valeur de vérification d'intégrité calculée, • insérer (S3), par le processeur, dans le bloc de base sélectionné du code logiciel, un réseau indexé d'adresses de mémoire dans lequel l'adresse, lors de l'exécution du code logiciel sécurisé, d'un bloc de base suivant à exécuter après le bloc de base sélectionné, est indexée par ladite valeur d'index, • insérer (S4), par le processeur, à l'extrémité du bloc de base sélectionné du code logiciel, une instruction de saut à l'adresse indexée dans le réseau par ladite valeur d'index calculée au moment de l'exécution.
front page image
Designated States: AE, AG, AL, AM, AO, AT, AU, AZ, BA, BB, BG, BH, BN, BR, BW, BY, BZ, CA, CH, CL, CN, CO, CR, CU, CZ, DE, DJ, DK, DM, DO, DZ, EC, EE, EG, ES, FI, GB, GD, GE, GH, GM, GT, HN, HR, HU, ID, IL, IN, IR, IS, JO, JP, KE, KG, KH, KN, KP, KR, KW, KZ, LA, LC, LK, LR, LS, LU, LY, MA, MD, ME, MG, MK, MN, MW, MX, MY, MZ, NA, NG, NI, NO, NZ, OM, PA, PE, PG, PH, PL, PT, QA, RO, RS, RU, RW, SA, SC, SD, SE, SG, SK, SL, SM, ST, SV, SY, TH, TJ, TM, TN, TR, TT, TZ, UA, UG, US, UZ, VC, VN, ZA, ZM, ZW
African Regional Intellectual Property Organization (ARIPO) (BW, GH, GM, KE, LR, LS, MW, MZ, NA, RW, SD, SL, ST, SZ, TZ, UG, ZM, ZW)
Eurasian Patent Office (AM, AZ, BY, KG, KZ, RU, TJ, TM)
European Patent Office (EPO) (AL, AT, BE, BG, CH, CY, CZ, DE, DK, EE, ES, FI, FR, GB, GR, HR, HU, IE, IS, IT, LT, LU, LV, MC, MK, MT, NL, NO, PL, PT, RO, RS, SE, SI, SK, SM, TR)
African Intellectual Property Organization (BF, BJ, CF, CG, CI, CM, GA, GN, GQ, GW, KM, ML, MR, NE, SN, TD, TG)
Publication Language: English (EN)
Filing Language: English (EN)