Certains contenus de cette application ne sont pas disponibles pour le moment.
Si cette situation persiste, veuillez nous contacter àObservations et contact
1. (WO2018162107) PROCÉDÉ D’OFFUSCATION ASSISTÉE PAR ORDINATEUR D’UN CODE DE PROGRAMME
Dernières données bibliographiques dont dispose le Bureau international    Formuler une observation

N° de publication : WO/2018/162107 N° de la demande internationale : PCT/EP2017/082508
Date de publication : 13.09.2018 Date de dépôt international : 13.12.2017
CIB :
G06F 21/14 (2013.01) ,H04L 9/00 (2006.01)
G PHYSIQUE
06
CALCUL; COMPTAGE
F
TRAITEMENT ÉLECTRIQUE DE DONNÉES NUMÉRIQUES
21
Dispositions de sécurité pour protéger les calculateurs, leurs composants, les programmes ou les données contre une activité non autorisée
10
Protection de programmes ou contenus distribués, p.ex. vente ou concession de licence de matériel soumis à droit de reproduction
12
Protection des logiciels exécutables
14
contre l’analyse de logiciel ou l'ingénierie inverse, p.ex. par masquage
H ÉLECTRICITÉ
04
TECHNIQUE DE LA COMMUNICATION ÉLECTRIQUE
L
TRANSMISSION D'INFORMATION NUMÉRIQUE, p.ex. COMMUNICATION TÉLÉGRAPHIQUE
9
Dispositions pour les communications secrètes ou protégées
Déposants :
SIEMENS AKTIENGESELLSCHAFT [DE/DE]; Werner-von-Siemens-Straße 1 80333 München, DE
Inventeurs :
ZWANZGER, Johannes; DE
Données relatives à la priorité :
10 2017 204 020.310.03.2017DE
Titre (EN) METHOD FOR THE COMPUTER-AIDED OBFUSCATION OF PROGRAM CODE
(FR) PROCÉDÉ D’OFFUSCATION ASSISTÉE PAR ORDINATEUR D’UN CODE DE PROGRAMME
(DE) VERFAHREN ZUR RECHNERGESTÜTZTEN OBFUSKATION VON PROGRAMMCODE
Abrégé :
(EN) The invention relates to a method for the computer-aided obfuscation of program code (CO), wherein a plurality of calculation steps (ST) is implemented in the program code (CO), wherein predetermined calculation steps of the plurality of calculation steps (ST) are retrieved in a predetermined order with the execution of the program code (CO), and at least some of the predetermined calculation steps are predefined calculation steps (STi) in which a respective first table (T1) that is stored in the program code (CO) and consists of a plurality of digital first tabular values (T1i) is accessed in order to read a first tabular value (T1i) required for the respective predefined calculation step (STi) from the first table (T1). As part of the obfuscation of the program code, a dynamic mask (M) formed by a plurality of digital mask values (Mi) is used, wherein, for any predefined calculation step, another mask value (Mi) is used to replace the first tabular value (T1i) from the first table (T1) with a second tabular value (T2i). In addition, the program code (CO) to be obfuscated is adapted in such a way that, during the run time thereof in the respective predefined calculation step (STi), an inverse calculation of the second tabular value (T2i) to the original first tabular value (T1i) is performed. The method according to the invention permits an efficient obfuscation of protection-worthy information stored in tabular form in a program code. The demasking of the tabular information is distributed over the entire program code during the run time of the program code, whereby it becomes more difficult for an unauthorised attacker to reconstruct the information.
(FR) L’invention concerne un procédé d’offuscation assistée par ordinateur d’un code de programme (CO). Une pluralité d’étapes de calcul (ST) sont implémentées dans le code de programme (CO). Des étapes de calcul prédéterminées de la pluralité d’étapes de calcul (ST) sont appelées lors de l’exécution du code de programme (CO) dans un ordre prédéterminé, et au moins certaines des étapes de calcul prédéterminées sont des étapes de calcul prédéterminées (STi) dans lesquelles on effectue un accès à une première table (T1), en mémoire dans le code de programme (CO), parmi une pluralité de premières valeurs de table numériques (T1i) pour lire une première valeur de table (T1i), requise pour l’étape de calcul prescrite respective (STi), de la première table (T1). Dans le cadre de l’offuscation du code de programme, on utilise un masque dynamique (M) parmi une pluralité de valeurs de masque numériques (Mi). Pour une étape de calcul prédéterminée respective, une autre valeur de masque (Mi) est utilisée pour remplacer la première valeur de table (T1i) de la première table (T1) par une deuxième valeur de table (T1i). En outre, le code de programme (CO) à masquer est adapté de telle sorte que, par rapport à sa durée dans l’étape de calcul prédéterminée respective (STi), la deuxième valeur de table (T2i) est recalculée sur la première valeur de table initiale (T1i). Le procédé de l’invention permet un offuscation efficace des informations sensibles, en mémoire dans la table, dans un code de programme. Le démasquage des informations de table est ainsi réparti sur tout le code de programme par rapport à la durée du code de programme, ce qui rend la reconstruction des informations plus difficile pour un attaquant non autorisé.
(DE) Die Erfindung betrifft ein Verfahren zur rechnergestützten Obfuskation von Programmcode (CO), wobei in dem Programmcode (CO) eine Vielzahl von Rechenschritten (ST) implementiert ist, wobei vorbestimmte Rechenschritte der Vielzahl von Re- chenschritten (ST) bei Ausführung des Programmcodes (CO) in einer vorbestimmten Reihenfolge aufgerufen werden und zumin- dest manche der vorbestimmten Rechenschritte vorgegebene Re- chenschritte (STi) sind, in denen jeweils auf eine im Pro- grammcode (CO) hinterlegte erste Tabelle (T1) aus einer Viel- zahl von digitalen ersten Tabellenwerten (T1i) zugegriffen wird, um einen für den jeweiligen vorgegebenen Rechenschritt (STi) benötigten ersten Tabellenwert (T1i) aus der ersten Tabelle (T1) auszulesen. Im Rahmen der Obfuskation des Pro- grammcodes wird eine dynamische Maske (M) aus einer Vielzahl von digitalen Maskenwerten (Mi) verwendet, wobei für einen jeweiligen vorgegebenen Rechenschritt ein anderer Maskenwert (Mi) dazu genutzt wird, den ersten Tabellenwert (T1i) der ersten Tabelle (T1) durch einen zweiten Tabellenwert (T2i) zu ersetzen. Darüber hinaus wird der zu obfuszierende Programm- code (CO) derart angepasst, dass zu dessen Laufzeit im jewei- ligen vorgegebenen Rechenschritt (STi) eine Rückrechnung des zweiten Tabellenwerts (T2i) auf den ursprünglichen ersten Ta- bellenwert (T1i) erfolgt. Das erfindungsgemäße Verfahren er- möglicht eine effiziente Obfuskation von tabellarisch hinter- legten schützenswerten Informationen in einem Programmcode. Die Demaskierung der tabellarischen Informationen wird dabei zur Laufzeit des Programmcodes über den gesamten Programmcode verteilt, wodurch die Rekonstruktion der Informationen für einen unbefugten Angreifer erschwert wird.
front page image
États désignés : 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
Organisation régionale africaine de la propriété intellectuelle (ARIPO) (BW, GH, GM, KE, LR, LS, MW, MZ, NA, RW, SD, SL, ST, SZ, TZ, UG, ZM, ZW)
Office eurasien des brevets (OEAB) (AM, AZ, BY, KG, KZ, RU, TJ, TM)
Office européen des brevets (OEB (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)
Organisation africaine de la propriété intellectuelle (OAPI) (BF, BJ, CF, CG, CI, CM, GA, GN, GQ, GW, KM, ML, MR, NE, SN, TD, TG)
Langue de publication : allemand (DE)
Langue de dépôt : allemand (DE)