摘要:
This method of securing a wireless communication between a sender device (A) and a receiver device (B) comprises the following steps: reception of a signal by the receiver device (B); extraction by the receiver device (B) of at least one noise parameter for this signal received; comparison of the noise parameter extracted with at least one corresponding reference noise parameter stored in memory in the receiver device (B); decision regarding the presence or the absence of a relay device between the sender device (A) and the receiver device (B) as a function of the result of this comparison. Furthermore, it comprises a prior calibration of the receiver device (B; 30) in the course of which: the receiver device (B) receives (102) a signal resulting from a direct communication with the sender device (A) without the intervention of any relay device, the receiver device (B) extracts (104) at least one noise parameter for the signal received, and the receiver device (B) stores (108) in memory this noise parameter as reference noise parameter characteristic of a direct communication without any relay device between the sender device (A) and the receiver device (B).
摘要:
Procédé de gestion d'une mémoire cache comportant : - l'exécution d'un premier et d'un second processus, - lorsque le second processus modifie l'état de la mémoire cache, la mise à jour (88) de la valeur d'un indicateur associé à ce second processus, et - la comparaison (90) de la valeur de cet indicateur à un seuil prédéterminé et, lorsque ce seuil prédéterminé est dépassé, la détection (92) d'un usage anormal de la mémoire cache par le second processus, - en réponse à cette détection, la modification (94) de relations préenregistrées pour associer à l'identifiant du second processus une valeur d'un paramètre q différente de la valeur du paramètre q associée au premier processus de sorte que, après cette modification, lorsque l'adresse d'un mot à lire reçue est la même pour les premier et second processus, alors des adresses d'ensemble utilisées pour lire ce mot dans la mémoire cache sont différentes.
摘要:
Procédé d'exécution d'un code binaire définissant une structure de données comportant un champ particulier à lire à l'aide d'un pointeur, ce procédé comportant les étapes suivantes : - l'écriture (150, 200), dans la mémoire principale, de la valeur du champ particulier associée à un premier identifiant d'un pointeur qui pointe directement vers ce champ particulier, cet identifiant étant déterminé à partir d'un identifiant du champ particulier différant pour tous les champs de la structure de données voisins du champ particulier, puis - la construction (174) d'un pointeur qui pointe directement sur ce champ particulier, cette construction comportant la détermination d'un identifiant de ce pointeur construit, puis - la vérification (186) que l'identifiant construit lors de l'étape b) correspond à l'identifiant associé à ce champ particulier lors de l'étape a), et lorsque ces identifiants de pointeur ne correspondent pas, le déclenchement (182) du signalement d'une faute d'exécution.
摘要:
Procédé d'exécution d'un code binaire comportant : - l'exécution (190) d'une instruction de chargement indirect qui provoque : - la lecture d'une ligne de donnée associée à une adresse obtenue à partir du contenu d'un registre de destination, puis - la construction d'un vecteur d'initialisation à partir du contenu de cette ligne de donnée, puis - le chargement de ce vecteur d'initialisation construit dans un microprocesseur, puis
- l'exécution (190) d'une instruction de branchement indirect qui provoque un branchement directement vers une première ligne d'instruction chiffrée d'un bloc de base suivant dont l'adresse est obtenue à partir du contenu du même registre de destination, puis - le déchiffrement (178) du cryptogramme de chaque ligne d'instruction chiffrée du bloc de base suivant à l'aide du vecteur d'initialisation chargé dans le microprocesseur.
摘要:
Ce procédé comporte : - la sélection (112), en fonction d'une adresse d'un mot à lire ou à écrire, d'une première cellule dans une table d'indirection et l'utilisation, en tant que première valeur générée pour un index de ligne, de la valeur contenue dans cette première cellule, et - en réponse au déclenchement d'un défaut de cache : - l'enregistrement (156) du mot fourni à partir d'une mémoire de rang supérieur dans une nouvelle ligne identifiée par une seconde valeur de l'index de ligne, cette seconde valeur étant contenue dans une seconde cellule de la table d'indirection, et - la permutation (152), dans la table d'indirection, seulement des valeurs contenues dans les première et seconde cellules de sorte qu'après cette permutation la première cellule contient la seconde valeur et la seconde cellule contient la première valeur.
摘要:
Ce procédé comporte : - la génération (144) d'un vecteur d'initialisation, puis - la production (146) d'un nouveau masque à partir du vecteur d'initialisation généré et d'une clef secrète, - le masquage (148) d'une donnée à écrire dans une mémoire cache interne à l'aide du nouveau masque construit pour obtenir une donnée masquée, - l"enregistrement (150), dans un même mot de la mémoire cache interne, de la donnée masquée et du vecteur d'initialisation généré, - le démasquage de la donnée masquée comporte : - l'extraction (162) du vecteur d'initialisation contenu dans le mot, - la reconstruction (164) du masque à partir du vecteur d'initialisation extrait et de la clef secrète, puis - le démasquage (166) de la donnée masquée à l'aide du nouveau masque ainsi reconstruit.
摘要:
Ce procédé comporte : - pour chaque donnée D i , le calcul (88) d'un code C i à l'aide d'une relation C i = Q α (D i ) = P o F α (D i ), où : - P est une fonction prédéterminée, - F α est une fonction définie par la relation suivante : F α (D i )=T αt o...o T αr o ... o T α1 o T α0 (D i ), - T αr est une transposition conditionnelle paramétrée par un paramètre secret α r qui permute deux blocs B1 r et B2 r de bits de la donnée D i en fonction de la valeur du paramètre α r ,
- le calcul (98) d'un code C res-t à l'aide de la relation suivante : C res-t = C 1 & C 2 & ... &C n , où C 1 à C n sont les codes associées à des données D 1 à D n combinées entre elles par une opération booléenne D 1 &D 2 &...&D n , où le symbole « & » désigne l'opération booléenne.
摘要:
Ce procédé d'exécution d'une fonction, sécurisé par désynchronisation temporelle, comporte: - lorsqu'une première instruction légitime est chargée, le relevé (184) de l'opcode de cette première instruction légitime, puis - la construction (190) d'une instruction factice à partir de cet opcode relevé, l'instruction factice ainsi construite étant identique à la première instruction légitime sauf que ses opérandes sont différentes, puis - l'incorporation de l'instruction factice ainsi construite dans une séquence d'instructions factices utilisée pour retarder l'instant où est exécuté une seconde instruction légitime.
摘要:
Ce procédé d'exécution d'un programme d'ordinateur comporte : - l'incorporation (408), dans des métadonnées d'un bloc contenant une ligne de code à accéder à l'aide d'un pointeur, d'un premier identifiant de pointeur associé à la ligne de code à accéder, puis - l'obtention (166) d'un pointeur comprenant : - une première plage de bits contenant l'adresse de la ligne de code à accéder, et - une seconde plage différente de bits contenant un second identifiant de pointeur, puis
- la vérification (176) que le second identifiant de pointeur contenu dans le pointeur obtenu correspond au premier identifiant de pointeur associé à la ligne de code à accéder et contenu dans les métadonnées du bloc chargé, et lorsque les premier et second identifiants de pointeur ne correspondent pas, alors le module de sécurisation déclenche (180) le signalement d'une faute d'exécution.
摘要:
Ce procédé d'exécution d'un code binaire comporte : - pour chaque donnée à enregistrer : • l'exécution (254) d'un algorithme de construction d'une ligne de donnée contenant un cryptogramme de cette donnée construit à l'aide d'un vecteur d'initialisation iv j associé à une adresse @ j de la mémoire principale par une relation iv j = F iv (@ j ), où la fonction F iv est une fonction préprogrammée qui associe un vecteur d'initialisation iv j différent à chaque adresse @ j différente d'une mémoire principale, puis • l'enregistrement, dans la mémoire principale, de cette ligne de donnée construite à l'adresse @ j ,
Dans lequel chaque ligne d'instruction d'un bloc de base est construite (150) en exécutant le même algorithme de construction que celui exécuté pour construire la ligne de donnée et en utilisant la même fonction F iv , la donnée étant prise égale pour cela à l'instruction masquée à l'aide d'un masque associé à ce bloc de base.