EP3008481A1 - Procédé et dispositif d'élaboration automatique d'un modèle de comportement d'un appareil fournissant une interface cryptographique - Google Patents

Procédé et dispositif d'élaboration automatique d'un modèle de comportement d'un appareil fournissant une interface cryptographique

Info

Publication number
EP3008481A1
EP3008481A1 EP14729344.3A EP14729344A EP3008481A1 EP 3008481 A1 EP3008481 A1 EP 3008481A1 EP 14729344 A EP14729344 A EP 14729344A EP 3008481 A1 EP3008481 A1 EP 3008481A1
Authority
EP
European Patent Office
Prior art keywords
providing
cryptographic interface
tests
test
stored
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
EP14729344.3A
Other languages
German (de)
English (en)
Inventor
Romain BARDOU
Graham STEEL
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institut National de Recherche en Informatique et en Automatique INRIA
Original Assignee
Institut National de Recherche en Informatique et en Automatique INRIA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Institut National de Recherche en Informatique et en Automatique INRIA filed Critical Institut National de Recherche en Informatique et en Automatique INRIA
Publication of EP3008481A1 publication Critical patent/EP3008481A1/fr
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/31719Security aspects, e.g. preventing unauthorised access during test
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/26Testing cryptographic entity, e.g. testing integrity of encryption key or encryption algorithm

Definitions

  • the present invention relates to a method for automatically generating, using a programmable device, a behavior model of a device providing a cryptographic interface.
  • the invention also relates to a programmable device for automatically generating a behavior model of a device providing an associated cryptographic interface and an associated computer program.
  • the invention lies in the field of devices providing cryptographic interfaces, and finds a particular application in the field of validation reliability and robustness to possible attacks devices providing a cryptographic interface.
  • devices providing a cryptographic interface are commonly used in many areas, such as the banking field, and more generally in any application requiring a guarantee of confidentiality of data to which the device allows access.
  • Such devices with cryptographic interface generally offer at least one of the following features: cryptographic key generation, encryption and decryption, key sharing securely between multiple devices.
  • These functionalities are provided by a public interface, according to a cryptographic interface standard, such as for example a PKCS ("public key cryptography standards”) standard.
  • PKCS public key cryptography standards
  • a security audit can be carried out by experts, who set up ad-hoc security tests. Such a security audit is expensive and its effectiveness is largely dependent on the expert who sets it up.
  • the invention proposes, according to a first aspect, a method for automatically generating, using a programmable device, a behavior model of a apparatus providing a cryptographic interface.
  • the method of the invention comprises the following steps, implemented by a processor of the programmable device:
  • the method of the invention makes it possible to automatically develop a model of behavior of a device providing a cryptographic interface, this model being particularly reliable thanks to the use of a calculation of the first implicants.
  • the method according to the invention may have one or more of the features below.
  • the deletion step includes the substeps of:
  • a first implementer labeled as relevant is maintained in the set of first memorized implants.
  • said model is constructed as a conjunction of the set of stored first implants.
  • obtaining a set of tests to be executed by the apparatus providing a cryptographic interface includes a parameterization of a level of reliability.
  • the invention proposes a programmable device for automatically generating a behavior model of a device providing a cryptographic interface.
  • This device comprises:
  • the device according to the invention comprises means for implementing all the characteristics of the method for automatically generating a behavior model of an apparatus providing a cryptographic interface according to the invention briefly recalled above.
  • the invention relates to a computer program comprising instructions for implementing the steps of a method for automatically generating a behavior model of an apparatus providing a cryptographic interface as briefly described herein. above, when executing the program by a processor of a programmable device.
  • FIG 1 is a diagram showing the functional blocks of a programmable device capable of implementing the invention
  • FIG. 2 is a block diagram of a test system of an apparatus providing a cryptographic interface
  • FIG. 3 is a flowchart of a method for automatically generating a behavior model of a device providing a cryptographic interface
  • FIGS. 4 to 6 illustrate an example of tests implemented and results obtained
  • FIG. 7 illustrates the steps implemented for the deletion of irrelevant first implants.
  • FIG. 1 illustrates the main blocks of a device capable of implementing the method of automatically generating a behavior model of an apparatus providing a cryptographic interface according to the invention.
  • a programmable device 10 capable of implementing the invention, typically a computer, comprises a screen 12, a means 14 for inputting commands from an operator, for example a keyboard, optionally an additional pointing means 16, such as a mouse , for selecting graphic elements displayed on the screen 12, a central processing unit 18, or CPU, able to execute computer program instructions when the device 10 is powered up.
  • the device 10 also comprises information storage means 20, for example registers, capable of storing executable code instructions for the implementation of programs comprising code instructions able to implement the method according to the invention. .
  • the various functional blocks of the device 10 described above are connected via a communication bus 22.
  • a test system of an apparatus providing a cryptographic interface comprises a programmable device 10, to which is connected an apparatus providing a cryptographic interface 30.
  • the connection is made directly via a wired link or remotely, for via a communication network.
  • the device 10 is able to send requests 32 in a format defined by an API programming interface 34 of the apparatus providing a cryptographic interface 30, and to receive responses 36.
  • This exchange of requests and responses allows, as explained in more detail below, to run a set of tests to the apparatus providing a cryptographic interface 30 and to collect a set of test results. These results are processed by the programmable device 10 to obtain a logical formula of a Boolean function representative of the behavior of the cryptographic interface apparatus.
  • FIG. 3 represents the main steps implemented in a method for automatically generating a behavior model of a device providing a cryptographic interface, implemented by a processor 18 of a programmable device 10.
  • the method is applied for the automatic development of a behavior model of a device providing a given cryptographic interface.
  • a set of tests of the apparatus 30 is obtained.
  • This set of tests can be obtained automatically according to the standard implemented by the API of the device providing a cryptographic interface to be tested, and can be parameterized by an operator. Indeed, depending on the setting, the set of tests to be performed is more or less complete. The more complete a set of tests, the higher the reliability level of the behavior model obtained, at the cost of a higher computation time. Thus, a compromise between computing time and reliability level is selectable by an operator.
  • An operator can then set the test level according to the number of attributes tested, corresponding to a given level of reliability.
  • each command is parameterized by a set of input bit attributes, and the result of each command, after execution by the apparatus 30, is also binary.
  • a set of four tests TestT4 Test4 is obtained to test the C_Wrap command according to the standard PKCS # 1 1, which is used to encrypt a cryptographic key K1 ("cipher key ") using a cryptographic key K2 (" wrapped_key ").
  • the attribute for the cryptographic key K1 is CKA WRAP
  • the attributes for the cryptographic key K2 are CKA_WRAP, CKAJJNWRAP, CKA_SENSITIVE and CKA EXTRACTABLE.
  • step 42 the device 10 sends test execution commands to the apparatus providing a cryptographic interface 30, and receives a response including the result of each test performed by that apparatus.
  • Each result is stored in a memory zone 20 of the programmable device 10, for example in the form of an array containing the Boolean result of each test executed.
  • next calculation step 46 the first implants of the truth table obtained in the preceding step are calculated, in order to obtain the elements making it possible to calculate the simplest logical formula representative of the behavior of the apparatus providing a cryptographic interface.
  • the known method of Quine-Mc Cluskey is for example used.
  • the implementation of the method of calculating the first implicants is that described in EP0568424 B1, here incorporated by reference, using a tree representation of a binary decision diagram associated with a truth table, and intermediate elements. standardized, thus reducing memory space consumption when calculating prime implicants.
  • a logical atom is associated with each attribute, for example W1 is associated with CKA_WRAP for K1 (key that encodes), W2 with CKA_WRAP for K2 (key that is encrypted), U with CKAJJNWRAP, S for CKA_SENSITIVE and E for CKA EXTRACTABLE.
  • step 46 For the case of the example illustrated in FIGS. 4 to 6, the following first implicants are obtained at the end of step 46, where represents the logical "NO": V ⁇ (, ⁇ W 2 , -i U, E.
  • This removal step aims to filter the first implants obtained earlier that are not relevant to the behavior of the cryptographic interface device but that result from the set of tests selected in step 40.
  • step 48 according to one embodiment of the invention is described with reference to FIG. 7.
  • a logical formula for describing the set of tests executed is constructed, independently of the result of each of the tests.
  • a logic formula involvement denoted F (k) is constructed in step 64.
  • the logical formula of implication is constructed in the following way. To the left of this formula is the conjunction of FD and all prime implicants except l k whose relevance is sought. To the right of the logical formula of implication is the first implicant k, whose relevance is sought to be estimated.
  • the validity test step 66 is then followed by the storage step 68 of the first implying l k .
  • the first implants calculated during the previous step of calculating the first implicants 46 are already stored, for example in a table, and step 68 does not require any additional action.
  • step 66 is followed by a step 70 of deleting the first implicant l k of the first implants stored at the end of the step of calculating prime implicants 46.
  • step 70 consists of erasing the element l k of this table.
  • step 48 of removing irrelevant first implants a reduced set of relevant first implants is retained.
  • this restricted set makes it possible to speed up the calculations later and to make the result more reliable, while avoiding the use of irrelevant first implicants which are only a consequence of the set of selected tests.
  • the remaining first implicant set is used in the next build step 50 to construct a model of the apparatus providing a processed cryptographic interface.
  • the model is expressed as a conjunction of the relevant first implants stored.
  • the model is given by W Y / ⁇ E.
  • the model is stored in an appropriate format, for example saved in a text file.
  • the record uses the cryptographic interface standard, so as to be easily re-usable.
  • the model is for example registered in the form: CKA_WRAP (cipher_key) && CKA EXTRACTABLE (wrapped_key).
  • the model thus recorded can then be used at a later stage of use for validation of the apparatus providing a crytographic interface 30.
  • ⁇ - ⁇ ⁇ ⁇ can examine all possible sequences of commands to find out if a sequence exists that compromises the security policy.Each sequence obtained corresponds to a state of the model. of device behavior obtained by the method described above, and the security policy defines acceptable or authorized states and unauthorized states

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Stored Programmes (AREA)
  • Storage Device Security (AREA)

Abstract

L'invention concerne un procédé d'élaboration automatique, à l'aide d'un dispositif programmable, d'un modèle de comportement d'un appareil fournissant une interface cryptographique. Ce procédé comporte les étapes suivantes, mises en œuvre par un processeur du dispositif programmable : -obtention (40) d'un ensemble de tests à exécuter par l'appareil (30) fournissant une interface cryptographique, -pour chaque test de l'ensemble de tests, requête (42) d'exécution dudit test par l'appareil (30) fournissant une interface cryptographique et mémorisation du résultat dudit test, -obtention (44) d'une table de vérité représentative d'une formule logique d'une fonction booléenne à partir des résultats mémorisés, -calcul et mémorisation (46) des impliquants premiers à partir de la table de vérité, et -construction et mémorisation (48) d'un modèle de comportement de l'appareil fournissant une interface cryptographique à partir des impliquants premiers mémorisés.

Description

Procédé et dispositif d'élaboration automatique d'un modèle de comportement d'un appareil fournissant une interface cryptographique
La présente invention concerne un procédé d'élaboration automatique, à l'aide d'un dispositif programmable, d'un modèle de comportement d'un appareil fournissant une interface cryptographique. L'invention concerne également un dispositif programmable d'élaboration automatique d'un modèle de comportement d'un appareil fournissant une interface cryptographique associé et un programme d'ordinateur associé.
L'invention se situe dans le domaine des appareils fournissant des interfaces cryptographiques, et trouve une application particulière dans le domaine de la validation de fiabilité et de robustesse à d'éventuelles attaques des appareils fournissant une interface cryptographique.
En effet, les appareils fournissant une interface cryptographique sont utilisés de manière courante dans de nombreux domaines, comme par exemple le domaine bancaire, et plus généralement dans toute application nécessitant une garantie de confidentialité des données auxquelles l'appareil permet l'accès.
De tels appareils à interface cryptographique proposent en général au moins une des fonctionnalités suivantes : génération de clé cryptographique, chiffrement et déchiffrement, partage de clé de façon sûre entre plusieurs appareils. Ces fonctionnalités sont fournies par une interface publique, suivant un standard d'interface cryptographique, comme par exemple un des standards PKCS (« public key cryptography standards »).
Les fournisseurs de tels appareils cherchent à assurer une sécurité maximale, afin d'éviter tout type de piratage de l'appareil permettant d'exploiter d'éventuelles failles de fonctionnement pour accéder sans autorisation à des données à accès restreint. Les pirates ne disposent pas de la spécification précise qui sous-tend le fonctionnement d'un tel appareil, mais seulement de l'interface publique fournie.
Il est donc utile d'être en mesure de valider la fiabilité d'un appareil fournissant une interface cryptographique uniquement à partir de l'interface publique fournie.
De manière connue, un audit de sécurité peut être effectué par des experts, qui mettent en place des tests de sécurité ad-hoc. Un tel audit de sécurité est coûteux et son efficacité est largement dépendante de l'expert qui le met en place.
Il est préférable d'avoir des outils automatiques aptes à réaliser un audit de sécurité. Pour ce faire, une solution possible consiste à chercher à modéliser le comportement de l'appareil à partir de l'interface cryptographique publique disponible, et à utiliser la modélisation obtenue pour en déduire des failles cryptographiques.
A cet effet, l'invention propose, selon un premier aspect, un procédé d'élaboration automatique, à l'aide d'un dispositif programmable, d'un modèle de comportement d'un appareil fournissant une interface cryptographique. Le procédé de l'invention comporte les étapes suivantes, mises en œuvre par un processeur du dispositif programmable :
-obtention d'un ensemble de tests à exécuter par l'appareil fournissant une interface cryptographique,
-pour chaque test de l'ensemble de tests, requête d'exécution dudit test par l'appareil fournissant une interface cryptographique et mémorisation du résultat dudit test,
-obtention d'une table de vérité représentative d'une formule logique d'une fonction booléenne à partir des résultats mémorisés,
-calcul et mémorisation des impliquants premiers à partir de la table de vérité, et -construction et mémorisation d'un modèle de comportement de l'appareil fournissant une interface cryptographique à partir des impliquants premiers mémorisés.
Avantageusement, le procédé de l'invention permet d'élaborer automatiquement un modèle de comportement d'un appareil fournissant une interface cryptographique, ce modèle étant particulièrement fiable grâce à l'utilisation d'un calcul des impliquants premiers.
Le procédé selon l'invention peut présenter une ou plusieurs des caractéristiques ci-dessous.
Il comporte, en outre, une étape de suppression d'impliquants premiers non pertinents avant la construction d'un modèle de comportement de l'appareil fournissant une interface cryptographique.
L'étape de suppression comporte les sous-étapes de :
-construction d'une formule logique de description de l'ensemble de tests,
-pour chaque impliquant premier mémorisé, construction d'une formule logique d'implication à partir de la formule logique de description et des autres impliquants premiers calculés, et
- validation de la formule logique d'implication.
Pour un impliquant premier traité, en cas de validation positive de la formule logique d'implication dudit impliquant premier traité, ledit impliquant premier traité est labélisé comme non pertinent.
En outre, un impliquant premier labélisé comme non pertinent est supprimé de l'ensemble d'impliquants premiers mémorisés.
Pour un impliquant premier traité, en cas de validation négative de la formule logique d'implication dudit impliquant premier traité, ledit impliquant premier traité est labélisé comme pertinent.
En outre, un impliquant premier labélisé comme pertinent est maintenu dans l'ensemble d'impliquants premiers mémorisés. A l'étape de construction du modèle de comportement de l'appareil fournissant une interface cryptographique à partir des impliquants premiers mémorisés, ledit modèle est construit comme conjonction de l'ensemble d'impliquants premiers mémorisés.
Par ailleurs, l'obtention d'un ensemble de tests à exécuter par l'appareil fournissant une interface cryptographique, comporte un paramétrage d'un niveau de fiabilité.
Selon un deuxième aspect, l'invention propose un dispositif programmable d'élaboration automatique d'un modèle de comportement d'un appareil fournissant une interface cryptographique. Ce dispositif comporte :
- des moyens d'obtention d'un ensemble de tests à exécuter par l'appareil fournissant une interface cryptographique,
-pour chaque test de l'ensemble de tests, des moyens d'envoi d'une requête d'exécution dudit test par l'appareil fournissant une interface cryptographique et des moyens de mémorisation du résultat dudit test,
- des moyens d'obtention d'une table de vérité représentative d'une formule logique d'une fonction booléenne à partir des résultats mémorisés,
-des moyens de calcul et de mémorisation des impliquants premiers de la formule logique obtenue, et
-des moyens de construction d'un modèle de comportement de l'appareil fournissant une interface cryptographique à partir des impliquants premiers mémorisés.
Le dispositif selon l'invention comporte des moyens de mise en œuvre de toutes les caractéristiques du procédé d'élaboration automatique d'un modèle de comportement d'un appareil fournissant une interface cryptographique selon l'invention brièvement rappelées ci-dessus.
Selon un troisième aspect, l'invention concerne un programme d'ordinateur comportant des instructions pour mettre en œuvre les étapes d'un procédé d'élaboration automatique d'un modèle de comportement d'un appareil fournissant une interface cryptographique tel que brièvement décrit ci-dessus, lors de l'exécution du programme par un processeur d'un dispositif programmable.
D'autres caractéristiques et avantages de l'invention ressortiront de la description qui en est donnée ci-dessous, à titre indicatif et nullement limitatif, en référence aux figures annexées, parmi lesquelles :
-la figure 1 est un schéma représentant les blocs fonctionnels d'un dispositif programmable apte à mettre en œuvre l'invention ;
-la figure 2 est un schéma bloc d'un système de test d'un appareil fournissant une interface cryptographique ; -la figure 3 est un organigramme d'un procédé d'élaboration automatique d'un modèle de comportement d'un appareil fournissant une interface cryptographique ;
- les figures 4 à 6 illustrent un exemple de tests mis en œuvre et de résultat obtenu ;
- la figure 7 illustre les étapes mises en œuvre pour la suppression d'impliquants premiers non pertinents.
La figure 1 illustre les principaux blocs d'un dispositif apte à mettre en œuvre le procédé d'élaboration automatique d'un modèle de comportement d'un appareil fournissant une interface cryptographique selon l'invention.
Un dispositif programmable 10 apte à mettre en œuvre l'invention, typiquement un ordinateur, comprend un écran 12, un moyen 14 de saisie des commandes d'un opérateur, par exemple un clavier, optionnellement un moyen supplémentaire de pointage 16, tel une souris, permettant de sélectionner des éléments graphiques affichés sur l'écran 12, une unité centrale de traitement 18, ou CPU, apte à exécuter des instructions de programme informatique lorsque le dispositif 10 est mis sous tension. Le dispositif 10 comporte également des moyens de stockage d'informations 20, par exemple des registres, aptes à stocker des instructions de code exécutable permettant la mise en œuvre de programmes comportant des instructions de code aptes à mettre en œuvre le procédé selon l'invention. Les divers blocs fonctionnels du dispositif 10 décrits ci-dessus sont connectés via un bus de communication 22.
Comme illustré à la figure 2, un système de test d'un appareil fournissant une interface cryptographique comporte un dispositif programmable 10, auquel est branché un appareil fournissant une interface cryptographique 30. Le branchement est effectué directement via une liaison filaire ou à distance, par l'intermédiaire d'un réseau de communication.
D'un point de vue fonctionnel, le dispositif 10 est apte à envoyer des requêtes 32 selon un format défini par une interface de programmation API 34 de l'appareil fournissant une interface cryptographique 30, et à recevoir des réponses 36.
Cet échange de requêtes et réponses permet, comme expliqué plus en détail ci- après, de faire exécuter un ensemble de tests à l'appareil fournissant une interface cryptographique 30 et à recueillir un ensemble de résultats de test. Ces résultats sont traités par le dispositif programmable 10 pour obtenir une formule logique d'une fonction booléenne représentative du comportement de l'appareil à interface cryptographique.
La figure 3 représente les principales étapes mises en œuvre dans un procédé d'élaboration automatique d'un modèle de comportement d'un appareil fournissant une interface cryptographique, mises en œuvre par un processeur 18 d'un dispositif programmable 10.
Le procédé est appliqué pour l'élaboration automatique d'un modèle de comportement d'un appareil fournissant une interface cryptographique 30 donné.
Dans une première étape 40 du procédé, un ensemble de tests de l'appareil 30 est obtenu.
Cet ensemble de tests peut être obtenu automatiquement en fonction du standard implémenté par l'interface API de l'appareil fournissant une interface cryptographique à tester, et peut être paramétré par un opérateur. En effet, selon le paramétrage, l'ensemble de tests à effectuer est plus ou moins complet. Plus un ensemble de tests est complet, plus le niveau de fiabilité du modèle de comportement obtenu est élevé, au prix d'un temps calculatoire plus élevé. Ainsi, un compromis entre temps calculatoire et niveau de fiabilité est sélectionnable par un opérateur.
Par exemple, il est possible de tester les commandes dans le cas où la valeur en entrée possède exactement 0, 1 ou 2 attributs. On peut aussi choisir quels attributs seront testés en fixant la valeur des autres attributs, afin de limiter le nombre total de calculs à effectuer et par conséquent, de réduire le temps de calcul.
Un opérateur peut alors paramétrer le niveau de test selon le nombre d'attributs testés, correspondant à un niveau de fiabilité donné.
Si l'appareil à interface cryptographique 30 fournit une interface suivant le standard PKCS#1 1 , un ensemble de commandes normalisées est à tester. Chaque commande est paramétrée par un ensemble d'attributs binaires en entrée, et le résultat de chaque commande, après exécution par l'appareil 30, est également binaire.
Par exemple, un ensemble de quatre tests Testl à Test4, tel qu'illustré au tableau 41 de la figure 4, est obtenu pour tester la commande C_Wrap selon le standard PKCS#1 1 , qui sert à enchiffrer une clé cryptographique K1 (« cipher key ») à l'aide d'une clé cryptographique K2 (« wrapped_key »). Dans cet exemple, l'attribut pour la clé cryptographique K1 est CKA WRAP, et les attributs pour la clé cryptographique K2 sont CKA_WRAP, CKAJJNWRAP, CKA_SENSITIVE et CKA EXTRACTABLE.
Pour chaque attribut, on fait varier la valeur T pour « true » et F pour « false » de l'attribut. Pour chaque test Testl à Test4, les valeurs des attributs sont montrées dans les colonnes du tableau 41 .
Ensuite, à l'étape 42, le dispositif 10 envoie des commandes d'exécution des tests à l'appareil fournissant une interface cryptographique 30, et reçoit une réponse comprenant le résultat de chaque test exécuté par cet appareil. Chaque résultat est mémorisé dans une zone mémoire 20 du dispositif programmable 10, par exemple sous la forme d'un tableau contenant le résultat booléen de chaque test exécuté.
Il est à noter que l'exécution des tests et l'obtention des résultats peut être effectuée soit de manière séquentielle, soit de manière groupée.
Par exemple, pour l'ensemble des tests Testl à Test4 pour tester la commande
C_Wrap, le tableau 43 de résultats de la figure 5 est obtenu. Les résultats booléens sont respectivement la réussite du test, c'est-à-dire son résultat positif (CKR OK) ou son échec, c'est-à-dire son résultat négatif (CKR NOT WRAPPABLE). A l'étape suivante d'obtention 44, une table de vérité décrivant les résultats mémorisés est obtenue. La figure 6 illustre la table de vérité 45 obtenue. Cette table de vérité 45 est une extension du tableau 41 de la figure 4, auquel on rajoute une colonne « résultat ». Dans cette nouvelle colonne, la valeur T pour « true » et F pour « false » indique le résultat, respectivement positif ou négatif, de chaque test.
A l'étape suivante de calcul 46, les impliquants premiers de la table de vérité obtenue à l'étape précédente sont calculés, afin d'obtenir les éléments permettant de calculer la formule logique la plus simple représentative du comportement de l'appareil fournissant une interface cryptographique. La méthode connue de Quine-Mc Cluskey est par exemple utilisée.
De préférence, l'implémentation de la méthode de calcul des impliquants premiers est celle décrite dans le brevet EP0568424 B1 , inclus ici par référence, utilisant une représentation arborescente d'un diagramme de décision binaire associé à une table de vérité, et des éléments intermédiaires normalisés, permettant ainsi de réduire la consommation en espace mémoire lors du calcul des impliquants premiers.
Toute autre méthode d'implémentation d'un calcul d'impliquants premiers permettant de maintenir la consommation en espace mémoire compatible avec l'espace mémoire disponible dans le dispositif mettant en œuvre l'invention est utilisable.
Un atome logique est associé à chaque attribut, par exemple W1 est associé à CKA_WRAP pour K1 (clé qui enchiffre), W2 à CKA_WRAP pour K2 (clé qui est enchiffrée), U à CKAJJNWRAP, S pour CKA_SENSITIVE et E pour CKA EXTRACTABLE.
Pour le cas de l'exemple illustré aux figures 4 à 6, on obtient à l'issue de l'étape 46 les impliquants premiers suivants, où représente le « NON » logique : V\(,^ W2,-i U, E.
Ces impliquants premiers expriment le fait que l'attribut CKA WRAP pour la clé qui enchiffre et l'attribut CKA EXTRACTABLE sont obligatoirement T, car aucun des tests parmi les tests Testl à Test4 n'a réussi sans ces attributs, et que les attributs CKA_WRAP et CKAJJNWRAP pour la clé enchiffrée doivent être mis à F. L'étape 46 de calcul des impliquants premiers est suivie d'une étape 48 de suppression des impliquants premiers non pertinents.
Cette étape de suppression a pour objectif de filtrer les impliquants premiers obtenus précédemment qui ne sont pas pertinents vis-à-vis du comportement de l'appareil à interface cryptographique mais qui découlent de l'ensemble des tests sélectionné à l'étape 40.
Le détail de mise en œuvre de l'étape 48 selon un mode de réalisation de l'invention est décrit en référence à la figure 7.
Lors d'une première étape 60, une formule logique de description de l'ensemble de tests exécutés est construite, indépendamment du résultat de chacun des tests.
Ainsi, pour l'exemple décrit ci-dessus en référence à la table décrivant les tests Testl à Test4, la formule logique de description est la suivante où Λ représente le « ET » loqiue et v représente le « OU » logique :
V(— I H A— Ι Ι Ι^ Λ— I L/Λ SA £)V ( H A— Ι Ι Ι^ Λ— II/A SA— I£)
Ensuite, pour chaque impliquant premier lk sélectionné lors d'une étape 62, parmi les impliquants premiers calculés à l'étape 46, une formule logique d'implication, notée F(lk), est construite à l'étape 64.
La formule logique d'implication est construite de la manière suivante. A gauche de cette formule se trouve la conjonction de FD et de tous les impliquants premiers sauf lk dont on cherche à estimer la pertinence. A droite de la formule logique d'implication se trouve l'impliquant premier lk dont on cherche à estimer la pertinence.
De manière générale :
Ainsi, en reprenant l'exemple développé ci-dessus, les formules d'implication suivantes sont construites successivement sont :
F( H ) : pour l'impliquant premier Wi
F(-iW2 ) : FD A W1 A -IU A E ^> -IW2 pour l'impliquant premier —W2
F(-iU) : FD A W A -iW2 A E ^ -IU pour l'impliquant premier ->U
F(E) : FD A Wy A—IW2 A—IU = E pour l'impliquant premier E.
Pour chaque formule logique d'implication, la validité de la formule est testée lors d'une étape de test de validité 66.
Si la formule F(lk) est invalide, c'est-à-dire si l'implication exprimée n'est pas vérifiée, l'impliquant premier lk est labélisé comme étant pertinent et doit donc rester dans l'ensemble d'impliquants premiers à utiliser pour la construction d'un modèle de l'appareil fournissant une interface cryptographique.
L'étape de test de validité 66 est alors suivie de l'étape 68 de mémorisation de l'impliquant premier lk.
Selon un mode de réalisation, les impliquants premiers calculés lors de l'étape précédente de calcul des impliquants premiers 46 sont déjà mémorisés, par exemple dans un tableau, et l'étape 68 ne nécessite aucune action supplémentaire.
Si la formule F(lk) est valide, c'est-à-dire si l'implication exprimée est vérifiée, il en est déduit que l'impliquant premier lk est une conséquence du choix des tests effectués et des autres impliquants premiers, donc il est labélisé comme non pertinent pour ce qui est de la modélisation du comportement de l'appareil à interface cryptographique.
Dans ce cas, l'étape 66 est suivie d'une étape 70 de suppression de l'impliquant premier lk des impliquants premiers mémorisés à l'issue de l'étape de calcul d'impliquants premiers 46. Par exemple, si les impliquants premiers calculés lors de l'étape précédente de calcul des impliquants premiers 46 sont déjà mémorisés dans un tableau, l'étape 70 consiste à effacer l'élément lk de ce tableau.
Dans l'exemple considéré avec les tests Testl à Test4, la formule F(Wi) est invalide, ainsi que la formule F(E). Il en est déduit que les impliquants premiers Wi et E sont pertinents.
Par contre, les formules F( ->W2 ) et F(— iC/ ) sont valides, donc les impliquants premiers—W2 et — iC/ ne sont pas pertinents.
En effet, par exemple en considérant ->W2 , il apparaît clairement que cet attribut n'a jamais été testé avec une valeur T (pour « true »), donc l'impliquant ->W2 est une conséquence du choix des tests.
De retour à la figure 3, après l'étape 48 de suppression d'impliquants premiers non pertinents, un ensemble réduit d'impliquants premiers pertinents est conservé.
Avantageusement, cet ensemble restreint permet d'accélérer les calculs par la suite et de rendre le résultat plus fiable, en évitant l'utilisation d'impliquants premiers non pertinents qui sont uniquement une conséquence de l'ensemble de tests sélectionnés.
Finalement, l'ensemble d'impliquants premiers restants est utilisé lors de l'étape suivante de construction 50 pour la construction d'un modèle de l'appareil fournissant une interface cryptographique traité.
Dans un mode de réalisation, le modèle est exprimé comme conjonction des impliquants premiers pertinents mémorisés.
Dans l'exemple traité, le modèle est donné par WY /\ E . Lors de l'étape 50 de construction de modèle de l'appareil fournissant une interface cryptographique, le modèle est mémorisé dans un format approprié, par exemple enregistré dans un fichier texte.
De préférence, l'enregistrement utilise le standard d'interface cryptographique, de manière à être facilement ré-utilisable.
Dans le cas de l'exemple traité, le modèle est par exemple enregistré sous la forme : CKA_WRAP(cipher_key) && CKA EXTRACTABLE (wrapped_key).
Le modèle ainsi enregistré est ensuite utilisable lors d'une étape ultérieure 52 d'utilisation pour validation de l'appareil fournissant une interface crytographique 30.
Par exemple, en utilisant en outil d'exploration de modèle (ιτιοάθΙ-ο θθΙ<θή on peut examiner tous les enchaînements possibles des commandes pour découvrir si une séquence existe qui compromet la politique de sécurité. Chaque séquence obtenue correspond à un état du modèle de comportement de l'appareil obtenu par le procédé décrit ci-dessus, et la politique de sécurité définit les états acceptables ou autorisés et les états non autorisés
Il est entendu que l'exemple décrit ci-dessus, en référence aux figures 4 à 6, est un exemple simplifié à but explicatif. En pratique, un très large ensemble de tests est utilisé pour l'élaboration d'un modèle de comportement d'un appareil fournissant une interface cryptographique.

Claims

REVENDICATIONS
1 .- Procédé d'élaboration automatique, à l'aide d'un dispositif programmable (10), d'un modèle de comportement d'un appareil (30) fournissant une interface cryptographique, caractérisé en ce qu'il comporte les étapes suivantes, mises en œuvre par un processeur (18) du dispositif programmable :
-obtention (40) d'un ensemble de tests à exécuter par l'appareil (30) fournissant une interface cryptographique,
-pour chaque test de l'ensemble de tests, requête (42) d'exécution dudit test par l'appareil (30) fournissant une interface cryptographique et mémorisation du résultat dudit test,
-obtention (44) d'une table de vérité représentative d'une formule logique d'une fonction booléenne à partir des résultats mémorisés,
-calcul et mémorisation (46) des impliquants premiers à partir de la table de vérité, et
-construction et mémorisation (48) d'un modèle de comportement de l'appareil (30) fournissant une interface cryptographique à partir des impliquants premiers mémorisés.
2.- Procédé selon la revendication 1 , caractérisé en ce qu'il comporte, en outre, une étape de suppression (48) d'impliquants premiers non pertinents avant la construction (50) d'un modèle de comportement de l'appareil (30) fournissant une interface cryptographique.
3.- Procédé selon la revendication 2, caractérisé en ce que l'étape de suppression comporte les sous-étapes de :
-construction (60) d'une formule logique de description de l'ensemble de tests, -pour chaque impliquant premier mémorisé, construction (64) d'une formule logique d'implication à partir de la formule logique de description et des autres impliquants premiers calculés, et
- validation (66) de la formule logique d'implication.
4.- Procédé selon la revendication 3, caractérisé en ce que, pour un impliquant premier traité, en cas de validation positive de la formule logique d'implication dudit impliquant premier traité, ledit impliquant premier traité est labélisé (70) comme non pertinent.
5. - Procédé selon la revendication 4, caractérisé en ce qu'un impliquant premier labélisé comme non pertinent est supprimé de l'ensemble d'impliquants premiers mémorisés.
6. - Procédé selon la revendication 3, caractérisé en ce que, pour un impliquant premier traité, en cas de validation négative de la formule logique d'implication dudit impliquant premier traité, ledit impliquant premier traité est labélisé (68) comme pertinent.
7.- Procédé selon la revendication 6, caractérisé en ce qu'un impliquant premier labélisé comme pertinent est maintenu dans l'ensemble d'impliquants premiers mémorisés.
8.- Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce qu'à l'étape de construction (50) du modèle de comportement de l'appareil (30) fournissant une interface cryptographique à partir des impliquants premiers mémorisés, ledit modèle est construit comme conjonction de l'ensemble d'impliquants premiers mémorisés.
9.- Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que l'obtention (40) d'un ensemble de tests à exécuter par l'appareil (30) fournissant une interface cryptographique, comporte un paramétrage d'un niveau de fiabilité.
10. Dispositif programmable d'élaboration automatique d'un modèle de comportement d'un appareil fournissant une interface cryptographique, caractérisé en ce qu'il comporte :
- des moyens d'obtention d'un ensemble de tests à exécuter par l'appareil fournissant une interface cryptographique,
-pour chaque test de l'ensemble de tests, des moyens d'envoi d'une requête d'exécution dudit test par l'appareil fournissant une interface cryptographique et des moyens de mémorisation du résultat dudit test,
- des moyens d'obtention d'une table de vérité représentative d'une formule logique d'une fonction booléenne à partir des résultats mémorisés,
-des moyens de calcul et de mémorisation des impliquants premiers de la formule logique obtenue, et -des moyens de construction d'un modèle de comportement de l'appareil fournissant une interface cryptographique à partir des impliquants premiers mémorisés.
1 1 . Programme d'ordinateur comportant des instructions pour mettre en œuvre les étapes d'un procédé d'élaboration automatique d'un modèle de comportement d'un appareil fournissant une interface cryptographique selon l'une des revendications 1 à 9 lors de l'exécution du programme par un processeur d'un dispositif programmable.
EP14729344.3A 2013-06-11 2014-06-11 Procédé et dispositif d'élaboration automatique d'un modèle de comportement d'un appareil fournissant une interface cryptographique Withdrawn EP3008481A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1355374A FR3006784B1 (fr) 2013-06-11 2013-06-11 Procede et dispositif d'elaboration automatique d'un modele de comportement d'un appareil fournissant une interface cryptographique
PCT/EP2014/062126 WO2014198771A1 (fr) 2013-06-11 2014-06-11 Procédé et dispositif d'élaboration automatique d'un modèle de comportement d'un appareil fournissant une interface cryptographique

Publications (1)

Publication Number Publication Date
EP3008481A1 true EP3008481A1 (fr) 2016-04-20

Family

ID=50473364

Family Applications (1)

Application Number Title Priority Date Filing Date
EP14729344.3A Withdrawn EP3008481A1 (fr) 2013-06-11 2014-06-11 Procédé et dispositif d'élaboration automatique d'un modèle de comportement d'un appareil fournissant une interface cryptographique

Country Status (4)

Country Link
US (1) US20160111025A1 (fr)
EP (1) EP3008481A1 (fr)
FR (1) FR3006784B1 (fr)
WO (1) WO2014198771A1 (fr)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0507535A2 (fr) * 1991-03-28 1992-10-07 Genrad, Inc. Un système pour déterminer le fonctionnement d'un circuit intégré et un processeur pour ce système
US5434794A (en) * 1992-04-28 1995-07-18 Bull S. A. Method for automatically producing an implicit representation of the prime implicants of a function
US5649163A (en) * 1992-10-29 1997-07-15 Altera Corporation Method of programming an asynchronous load storage device using a representation of a clear/preset storage device
US20130019216A1 (en) * 2011-07-11 2013-01-17 The Board Of Trustees Of The University Of Illinos Integration of data mining and static analysis for hardware design verification

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5502648A (en) * 1989-11-20 1996-03-26 Massachusetts Institute Of Technology Data processing method of generating integrated circuits using prime implicants

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0507535A2 (fr) * 1991-03-28 1992-10-07 Genrad, Inc. Un système pour déterminer le fonctionnement d'un circuit intégré et un processeur pour ce système
US5434794A (en) * 1992-04-28 1995-07-18 Bull S. A. Method for automatically producing an implicit representation of the prime implicants of a function
US5649163A (en) * 1992-10-29 1997-07-15 Altera Corporation Method of programming an asynchronous load storage device using a representation of a clear/preset storage device
US20130019216A1 (en) * 2011-07-11 2013-01-17 The Board Of Trustees Of The University Of Illinos Integration of data mining and static analysis for hardware design verification

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
JULIEN BOTELLA ET AL: "Model-Based Testing of Cryptographic Components -- Lessons Learned from Experience", SOFTWARE TESTING, VERIFICATION AND VALIDATION (ICST), 2013 IEEE SIXTH INTERNATIONAL CONFERENCE ON, IEEE, 18 March 2013 (2013-03-18), pages 192 - 201, XP032444372, ISBN: 978-1-4673-5961-0, DOI: 10.1109/ICST.2013.42 *
See also references of WO2014198771A1 *
U.G. NAWATHE ET AL: "Implementation of an 8-Core, 64-Thread, Power-Efficient SPARC Server on a Chip", IEEE JOURNAL OF SOLID-STATE CIRCUITS, vol. 43, no. 1, 1 January 2008 (2008-01-01), USA, pages 6 - 20, XP055730029, ISSN: 0018-9200, DOI: 10.1109/JSSC.2007.910967 *

Also Published As

Publication number Publication date
US20160111025A1 (en) 2016-04-21
FR3006784A1 (fr) 2014-12-12
FR3006784B1 (fr) 2015-07-03
WO2014198771A1 (fr) 2014-12-18

Similar Documents

Publication Publication Date Title
EP3241137B1 (fr) Procede mis en oeuvre dans un document d&#39;identite et document d&#39;identite associe
WO2012152607A1 (fr) Dispositif et procede de generation de cles a securite renforcee pour algorithme de chiffrement pleinement homomorphique
FR3107416A1 (fr) Tokenisation aléatoire efficace dans un environnement dématérialisé
WO2019106186A1 (fr) Plate-forme de tracabilite securisee de donnees
EP2705644A1 (fr) Procede de detection d&#39;intrusions sur un ensemble de ressources virtuelles
CN107317814A (zh) 与应用透明的密文搜索方法、网关装置、网关设备和系统
WO2012140339A1 (fr) Procédé et système de sécurisation d&#39;un logiciel
WO2003042812A2 (fr) Securisation d&#39;un generateur pseudo-aleatoire
CN114944938A (zh) 异常行为检测方法、装置、计算机设备和存储介质
EP3008481A1 (fr) Procédé et dispositif d&#39;élaboration automatique d&#39;un modèle de comportement d&#39;un appareil fournissant une interface cryptographique
WO2020136266A1 (fr) Procédé et système de maintenance assistée par ordinateur
CN113434861A (zh) 一种WebShell检测方法及其系统
CN106470108B (zh) 一种生成目标事件的口令的方法及装置
FR3068498B1 (fr) Procedes de partage et d&#39;utilisation d&#39;un secret
FR3098939A1 (fr) Dispositif et Procédé pour l’analyse de performances d’une application web
EP3842970B1 (fr) Procédé de vérification du mot de passe d&#39;un dongle, programme d&#39;ordinateur, dongle et terminal utilisateur associés
WO2019122241A1 (fr) Procédé de construction automatique de scénarios d&#39;attaques informatiques, produit programme d&#39;ordinateur et système de construction associés
EP2889855B1 (fr) Procédé de conception d&#39;une architecture reconfigurable de traitement d&#39;un ensemble d&#39;opérations multi-niveau de sécurité
WO2017103526A1 (fr) Procede d&#39;elaboration d&#39;un mot challenge, dispositif electronique, peripherique de consigne et systeme mettant en oeuvre ledit procede
WO2004032329A2 (fr) Logiciel et procede d&#39;authentification de celui-ci.
EP3153961A1 (fr) Procédé et système de sauvegarde répartie dynamique
CN113987520A (zh) 渗透测试信息收集方法、装置、设备、介质和程序产品
CN115913543A (zh) 数据加密方法、装置、存储介质及电子设备
EP4078416A1 (fr) Procédé de contrôle d&#39;un système électronique par compteurs de performance bas niveaux et comprenant au moins un ensemble d&#39;applicatif(s) logiciels non maîtrisés s&#39;exécutant sur un processeur et un dispositif de contrôle
EP2462718A1 (fr) Procede de generation de demi-cles cryptographiques et systeme associe

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20151211

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

AX Request for extension of the european patent

Extension state: BA ME

DAX Request for extension of the european patent (deleted)
REG Reference to a national code

Ref country code: DE

Ref legal event code: R079

Free format text: PREVIOUS MAIN CLASS: G01R0031317000

Ipc: G09C0001000000

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: EXAMINATION IS IN PROGRESS

RIC1 Information provided on ipc code assigned before grant

Ipc: G09C 1/00 20060101AFI20170308BHEP

Ipc: G01R 31/317 20060101ALI20170308BHEP

17Q First examination report despatched

Effective date: 20170322

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20231024