RÈGLES ET RECOMMANDATIONS CONCERNANT LE CHOIX ET LE DIMENSIONNEMENT DE L'ENSEMBLE DES MÉCANISMES CRYPTOGRAPHIQUES - ANNEXE AU " JOURNAL DE MONACO ...
←
→
Transcription du contenu de la page
Si votre navigateur ne rend pas la page correctement, lisez s'il vous plaît le contenu de la page ci-dessous
RÈGLES ET RECOMMANDATIONS CONCERNANT LE CHOIX ET LE DIMENSIONNEMENT DE L’ENSEMBLE DES MÉCANISMES CRYPTOGRAPHIQUES Annexe à l’Arrêté Ministériel n° 2018-635 du 2 juillet 2018 ANNEXE AU « JOURNAL DE MONACO » N° 8.390 DU 13 JUILLET 2018
2 JOURNAL DE MONACO Vendredi 13 juillet 2018 TABLE DES MATIÈRES 1 Introduction 1.1 Objectif de l’annexe 1 Introduction...........................................................2 La présente annexe traite des règles et 1.1 Objectif de l’annexe........................................2 recommandations concernant le choix et le 1.2 Limites du champ d’application.....................2 dimensionnement de l’ensemble des mécanismes cryptographiques. 1.3 Définition des règles et recommandations......3 Il existe deux autres documents annexés à deux 1.4 Organisation de l’annexe................................3 arrêtés ministériels distincts : 1.5 Mise à jour de l’annexe...................................3 • L’arrêté ministériel n° 2018-637 du 2 juillet 2018 portant application de l’article 54 de l’Ordonnance 2 Règles et recommandations..................................3 Souveraine n° 3.413 du 29 août 2011 portant diverses mesures relatives à la relation entre 2.1 Cryptographie symétrique...............................3 l’Administration et l’administré, modifiée concernant la « Gestion des clés cryptographiques - 2.1.1 Taille de clé symétrique.........................3 Règles et recommandations concernant la gestion des clés utilisées dans des mécanismes 2.1.2 Chiffrement symétrique.........................4 cryptographiques », traitant plus spécifiquement des aspects liés à la création, la distribution et la 2.1.2.1 Chiffrement par bloc.................4 manipulation de clés ; 2.1.2.2 Chiffrement par flot..................5 • L’arrêté ministériel n° 2018-636 du 2 juillet 2018 portant application de l’article 54 de l’Ordonnance 2.1.3 A uthentification et intégrité de Souveraine n° 3.413 du 29 août 2011 portant messages............................................. 6 diverses mesures relatives à la relation entre l’Administration et l’administré, modifiée 2.2 Cryptographie asymétrique.............................7 concernant l’« Authentification – Règles et recommandations concernant les mécanismes 2.2.1 Problèmes mathématiques asymétriques... 7 d’authentification » traitant plus spécifiquement des aspects liés à l’utilisation de mots de passe, de 2.2.1.1 Factorisation.............................7 cartes mémoire, de clés de déverrouillage pour accéder à un système d’information. 2.2.1.2 Le « Logarithme discret »........7 2.2.2 Chiffrement asymétrique.......................8 1.2 Limites du champ d’application 2.2.3 Signature asymétrique...........................9 Sont explicitement exclus de ce document : 2.2.4 A uthentification d’entités et • la recommandation de mécanismes cryptographiques établissement de clé...............................9 précis permettant d’atteindre les différents niveaux de robustesse cryptographique définis dans ce 2.3 Fonctions de hachage....................................10 document, les aspects liés à l’implantation des mécanismes et en particulier au choix du support 2.4 Génération d’aléa cryptographique...............10 ainsi qu’à la sécurité de l’implantation face aux attaques par canaux auxiliaires (timing attack, simple 2.4.1 Architecture d’un générateur d’aléa....11 power analysis [SPA], differential power analysis [DPA], higher order differential power analysis [HO- 2.4.2 Générateur physique d’aléa.................12 DPA], electromagnetic power analysis [EMA]...) ou par injection de faute (differential fault analysis 2.4.3 Retraitement algorithmique.................12 [DFA]) ; 2.5 Gestion de clés..............................................12 • les méthodes d’évaluation des mécanismes cryptographiques, qui reposent avant tout sur une connaissance précise de l’état de l’art en cryptographie ;
Vendredi 13 juillet 2018 JOURNAL DE MONACO 3 • les méthodes d’analyse de menaces et de Par ailleurs, l’estimation des niveaux de résistance développement de produits cryptographiques qui seront nécessaires afin de garantir la sécurité à 10 menant à choisir les mécanismes cryptographiques ou 20 ans des informations est délicate. Elle est permettant d’assurer les fonctions de sécurité cependant requise par de nombreuses applications identifiées ainsi que les niveaux de robustesse comme par exemple le maintien de la confidentialité de cryptographique nécessaires ; certaines informations ou la signature électronique qui nécessite souvent une validité à long terme. • les liens entre niveau de robustesse d’un De plus, lors de la définition d’un produit, il est mécanisme cryptographique et niveau de nécessaire d’avoir une vision dont le terme est dicté par robustesse d’un produit tel que défini dans les la durée de vie envisagée. Il est bien entendu possible processus de qualification ou d’évaluation selon de résoudre certains problèmes par des moyens une méthode normalisée telle que les Critères techniques (surchiffrement régulier d’informations Communs ; devant être protégées à long terme, horodatage et signature régulière de documents notariés...) ; cette • les fournitures nécessaires à l’évaluation de approche est parfois indispensable mais ne peut être mécanismes cryptographiques. généralisée à cause des contraintes qu’elle impose. Par conséquent, une analyse qui semble valable à 1.3 Définition des règles et recommandations plus de 15 ans a été développée. Les résultats présentés doivent cependant être pris avec précaution. Il suffit Les règles définissent des principes qui doivent être pour s’en convaincre de comparer l’état de l’art actuel à suivis par tout mécanisme. L’observation de ces règles celui d’il y a quelques dizaines d’années. est une condition nécessaire à la sécurité du mécanisme. Cependant, le fait de suivre l’ensemble des règles, qui 1.4 Organisation de l’annexe sont par nature très génériques, n’est pas suffisant pour garantir la robustesse du mécanisme cryptographique ; L’ensemble des règles et recommandations sont seule une analyse spécifique permet de s’en assurer. repérées selon la codification suivante : les premières lettres « Règle » ou « Recom » indiquent si l’on a affaire à une règle ou une recommandation, le domaine À côté des règles, le présent document définit d’application est ensuite précisé et, finalement, un chiffre également des recommandations. Elles ont pour but permet de distinguer les règles d’une même catégorie. de guider le choix de certaines fonctions mathématiques types primitives et d’inciter à certains dimensionnements 1.5 Mise à jour de l’annexe permettant un gain considérable en termes de sécurité, pour un coût souvent modique. Il va de soi qu’en tant La mise à jour de la présente annexe est réalisée par que recommandations, leur application peut être plus l’Agence Monégasque de Sécurité Numérique en librement modulée en fonction d’autres impératifs tels fonction des évolutions techniques, législatives et que des contraintes de performance ou de coût. réglementaires en matière de sécurité des systèmes d’information. Ladite mise à jour est publiée par arrêté ministériel, lequel précise les modalités de transition et L’objectif est de contribuer à une amélioration date d’effet. constante de la qualité des produits de sécurité. À ce titre, le suivi des règles énoncées dans ce document 2 Règles et recommandations doit être considéré comme une démarche saine permettant de se prémunir contre de nombreuses 2.1 Cryptographie symétrique erreurs de conception ainsi que contre d’éventuelles faiblesses non décelées lors de l’évaluation des 2.1.1 Taille de clé symétrique mécanismes cryptographiques. Dans ce point sont définies les propriétés attendues de clés utilisées par des mécanismes symétriques. La définition des règles et des recommandations prend également en compte certaines hypothèses Dans ce document, la taille d’une clé est le nombre classiques telles que la loi de Moore sur l’évolution de de bits effectifs de cette clé, c’est-à-dire le nombre de la puissance de calcul disponible. Il va cependant de soi bits réellement variables. Par exemple le DES (Data qu’une telle analyse ne peut tenir compte d’éventuels Encryption Standard) utilise des clés de 64 bits mais événements « catastrophiques » tels qu’une cryptanalyse seuls 56 de ces bits peuvent être choisis aléatoirement, opérationnelle de l’AES (Advanced Encryption les 8 bits restants servant de contrôle de parité. C’est Standard) ou la découverte d’une méthode de pourquoi on considère que les clés DES ont une taille factorisation efficace sur de grands nombres. de 56 bits.
4 JOURNAL DE MONACO Vendredi 13 juillet 2018 Le respect des règles définies ci-dessous est une RecomBlocSym-1. La taille recommandée des blocs condition nécessaire qui ne peut être considérée comme de mécanismes de chiffrement par bloc est de 128 bits. suffisante. Une analyse cryptographique du mécanisme est en particulier indispensable. Remarque : RègleCléSym-1. La taille minimale des clés L’emploi de blocs de moins de 128 bits devrait symétriques utilisées jusqu’en 2020 est de 100 bits. tendre à disparaître avec l’emploi d’algorithmes modernes tels que l’AES. RègleCléSym-2. La taille minimale des clés symétriques devant être utilisées au-delà de 2020 est b) Choix de l’algorithme. de 128 bits. Le choix d’un algorithme de chiffrement par bloc repose sur la prise en compte des règles et RecomCléSym-1. La taille minimale recommandée recommandations liées à la taille de la clé ainsi qu’à la des clés symétriques est de 128 bits. taille du bloc. Au-delà de la simple considération de ces deux dimensions, il faut prendre en compte la sécurité Remarques : intrinsèque apportée par le mécanisme face à des attaques plus évoluées que la simple recherche exhaustive sur la • L’impact en termes de performances de l’emploi clé (cryptanalyse linéaire, différentielle...). de clés d’au moins 256 bits est souvent faible, comme le montre l’exemple de l’AES. On considère généralement qu’une attaque est qualifiée par : • L’emploi de clés de 256 bits permet de s’assurer que les attaques génériques par recherche • le nombre Nop d’opérations de calcul nécessaires à exhaustive seront inopérantes, y compris à assez l’attaque, une opération étant équivalente au long terme. Ceci ne veut bien entendu pas dire que chiffrement d’un bloc ; tout mécanisme utilisant de telles clés est cryptographiquement sûr. • le nombre Nbloc de blocs à faire chiffrer ou déchiffrer afin de réaliser l’attaque ; • L’emploi de clés de 112 bits, comme dans le cas du • la quantité Nmem de mémoire nécessaire, par triple DES, ne pose pas de problème pratique de exemple pour stocker des précalculs. sécurité vis-à-vis d’attaques par recherche exhaustive. L’utilisation du triple DES peut cependant être déconseillée pour d’autres raisons, RègleAlgoBloc-1. Pour un algorithme de chiffrement en particulier liées à la taille du bloc (64 bits) ne devant pas être utilisé après 2020, aucune attaque insuffisante pour assurer une sécurité pratique avec nécessitant moins de Nop=2100 opérations de calcul certains modes opératoires classiques. ne doit être connue. 2.1.2 Chiffrement symétrique RègleAlgoBloc-2. Pour un algorithme de chiffrement dont l’utilisation au-delà de 2020 est envisagée, 2.1.2.1 Chiffrement par bloc aucune attaque nécessitant moins de Nop=2128 opérations de calcul ne doit être connue. Les deux caractéristiques les plus simples d’un mécanisme de chiffrement par bloc sont la taille effective de la clé ainsi que la taille des blocs traités RecomAlgoBloc-1. Il est recommandé d’employer (voir documents techniques relatifs à la cryptographie des algorithmes de chiffrement par bloc largement sur le site de l’AMSN : amsn.gouv.mc). Les règles et éprouvés dans le milieu académique. recommandations concernant la taille effective de la clé Remarque importante : ont été présentées au point précédent. a) Taille de bloc. •L es règles ne font pas mention du nombre de blocs Nbloc à faire chiffrer ou déchiffrer afin de réaliser l’attaque, ni de la quantité de mémoire Nmem RègleBlocSym-1. La taille minimale des blocs de nécessaire. Ceci tient essentiellement à la volonté mécanismes de chiffrement par bloc utilisés jusqu’en de ne pas trop compliquer l’énoncé de ces règles. Il 2020 est de 64 bits. conviendra, au cas par cas, de juger si l’un de ces deux paramètres est suffisamment important afin RègleBlocSym-2. Pour une utilisation au-delà de de justifier qu’un mécanisme de chiffrement par 2020, la taille minimale des blocs de mécanismes de bloc est sûr, même s’il ne vérifie pas les règles chiffrement par bloc est de 128 bits. RègleAlgoBloc-1 et/ou RègleAlgoBloc-2.
Vendredi 13 juillet 2018 JOURNAL DE MONACO 5 Mécanisme conforme au référentiel : RecomModeChiff-1. L’emploi d’un mode opératoire L’AES, tel qu’il est spécifié dans le FIPS 197, est un de chiffrement non déterministe est recommandé. mécanisme de chiffrement par bloc conforme au référentiel. RecomModeChiff-2. L’utilisation d’un mode opératoire de chiffrement se fera de préférence Remarque : conjointement à l’utilisation d’un mécanisme d’intégrité. Un tel mécanisme pourra être indépendant • L e triple DES, c’est-à-dire l’utilisation du DES du mode de chiffrement. avec deux clés K1 et K2 en chiffrant avec K1, déchiffrant avec K2 et chiffrant de nouveau avec RecomModeChiff-3. On utilisera de préférence des K1, est un algorithme de chiffrement par bloc modes opératoires disposant d’une preuve de sécurité. utilisant des clés de 112 bits et des blocs de 64 bits. Le triple DES respecte donc les règles imposant des tailles de clés et de bloc minimales lorsqu’une Mécanisme conforme au référentiel : utilisation au-delà de 2020 n’est pas envisagée. Cependant, ce mécanisme utilise une taille de bloc inférieure à la taille préconisée dans la Le mode de chiffrement CBC utilisant une primitive recommandation RecomBlocSym-1. Il convient de chiffrement conforme au référentiel comme l’AES donc d’être extrêmement prudent lorsqu’on utilise et des valeurs initiales aléatoirement choisies pour ce mécanisme avec un mode opératoire de chaque message et transmises en clair est un chiffrement, d’intégrité ou bien dans des protocoles mécanisme de chiffrement symétrique conforme au de transport de clé par exemple, en particulier à référentiel (voir documents techniques relatifs à la cause de faible taille du bloc. De plus, le triple DES cryptographie sur le site de l’AMSN : amsn.gouv. avec deux clés est vulnérable à une attaque. La mc). Il est particulièrement important de garantir que complexité de cette attaque est de 280 pour les valeurs initiales sont générées dans le périmètre 240 couples clairs-chiffrés connus et de 2100 de sécurité du chiffrement – par exemple dans le pour 220 couples clairs-chiffrés connus. Selon le composant sécurisé où le mode de chiffrement et la cadre d’emploi, l’utilisation du triple DES avec primitive sous-jacente sont implantés et non hors de deux clés peut ne pas être conforme au référentiel. ce composant – et avec un générateur d’aléa sûr. Elles En particulier, le contexte d’emploi ne doit pas ne doivent en aucun cas pouvoir être contrôlées ou permettre le chiffrement avec une même clé de plus prédites par un attaquant. de 220 blocs de message connus d’un attaquant. c) Mode opératoire pour le chiffrement. 2.1.2.2 Chiffrement par flot Le mode opératoire pour le chiffrement permet Les algorithmes de chiffrement par flot1 constituent d’assurer la confidentialité de messages de taille l’autre grande famille de mécanismes de chiffrement quelconque à partir d’une primitive de chiffrement par symétrique (voir documents techniques relatifs à la bloc. Un simple mécanisme de chiffrement par bloc ne cryptographie sur le site de l’AMSN : amsn.gouv.mc). permet pas d’assurer une telle fonction, en particulier à cause de sa nature fondamentalement déterministe et de la taille imposée des blocs de données traités (voir L’algorithme dit de « one-time pad », qui se résume documents techniques relatifs à la cryptographie sur le à une addition bit à bit du message à chiffrer avec une site de l’AMSN : amsn.gouv.mc). clé de même taille, est à part dans la classification des algorithmes de chiffrement. Il ne peut en particulier pas Règles et recommandations : être considéré comme un chiffrement par flot même si ces derniers en dérivent souvent. Cet algorithme Le choix d’un mode opératoire de chiffrement est dispose d’une sécurité parfaite. Ses contraintes d’emploi très dépendant de la nature des données traitées et du sont cependant telles que son utilisation est en pratique modèle de sécurité envisagé pour ce mécanisme. Les impossible, sauf dans des cas très particuliers. Ce règles et recommandations se veulent malgré tout mécanisme nécessite en particulier d’employer une clé relativement génériques. à usage unique aussi longue que le message à protéger, sans aucune possibilité d’une quelconque réutilisation RègleModeChiff-1. Au sein du modèle de sécurité de cette clé. En général, l’emploi du « one-time pad » correspondant à l’usage du mode de chiffrement, il ne repousse simplement le problème du chiffrement au doit exister aucune attaque de complexité inférieure à niveau de la mise en accord de clé. 2n/2 appels de la primitive où n est la taille en bits du bloc. 1 « Stream cipher » en anglais
6 JOURNAL DE MONACO Vendredi 13 juillet 2018 Choix de l’algorithme : mécanisme de chiffrement par flot est sûr même s’il ne vérifie pas les règles énoncées. Avant de définir des règles liées au choix d’algorithmes de chiffrement par flot, il convient de 2.1.3 Authentification et intégrité de messages rappeler que ces derniers ne garantissent en général aucune forme d’intégrité des messages transmis (voir Les règles sur les méthodes d’authentification et remarque ci-dessus pour les modes de chiffrement par d’intégrité de messages sont très dépendantes du bloc). Cependant, pour un algorithme de chiffrement mécanisme choisi. Certaines règles générales peuvent par flot sans rebouclage, le déchiffrement d’un message cependant être émises. chiffré non généré par l’algorithme de chiffrement n’apporte aucune information supplémentaire RègleIntegSym-1. Les méthodes symétriques susceptible de favoriser une attaque. Le modèle de d’intégrité les plus classiques se basent sur des sécurité généralement retenu pour l’évaluation de tels mécanismes de chiffrement par bloc ou de hachage. mécanismes est la connaissance par l’adversaire du flot De telles primitives doivent être conformes au de sortie de l’algorithme. référentiel. Il convient par ailleurs de préciser qu’il est RègleIntegSym-2. Il ne doit pas exister d’attaque sur exclusivement question des algorithmes de chiffrement le mécanisme d’intégrité utilisant moins de 2n/2 appels par flot « dédiés », en ce sens qu’ils ont été conçus à la primitive sous-jacente où n est la taille de sortie spécialement pour cet usage. Les règles ne concernent de cette primitive. pas les autres types de générateurs pseudo-aléatoires déterministes (mode flot de chiffrement par bloc, générateurs fondés sur des problèmes difficiles, RecomIntegSym-1. On utilisera de préférence des générateurs informatiquement sûrs). mécanismes disposant d’une preuve de sécurité. Remarques : RègleChiffFlot-1. Pour un algorithme de chiffrement par flot ne devant pas être utilisé après 2020, aucune • Par confusion avec les modes opératoires de attaque nécessitant moins de 2100 opérations de calcul chiffrement, l’emploi de « valeurs initiales » est ne doit être connue. parfois constaté pour des mécanismes d’intégrité tels que le CBC-MAC2 ; de graves failles de RègleChiffFlot-2. Pour un algorithme de chiffrement sécurité peuvent en découler. par flot devant être utilisé après 2020, aucune attaque nécessitant moins de 2128 opérations de calcul ne doit • Il est important de prendre en considération les être connue. capacités d’un éventuel attaquant à observer des éléments d’intégrité mais également à en obtenir pour des messages de son choix, par exemple. RecomChiffFlot-1. Il est recommandé d’employer des primitives de chiffrement par bloc et non des • D e nombreux modes, tels que le CBC-MAC, ne algorithmes de chiffrement par flot dédiés. Il est ainsi sont sûrs que si l’on traite au plus de l’ordre de possible, si les propriétés du chiffrement par flot sont 2n/2 blocs de messages clairs, où n désigne la taille requises, d’utiliser un mode opératoire par flot de en bits du bloc. Pour un mécanisme de chiffrement chiffrement par bloc conforme au référentiel et utilisant des blocs de n = 64 bits, cette limite peut simulant un chiffrement par flot. être rapidement atteinte. RecomChiffFlot-2. En cas d’utilisation d’un • L ’emploi de clés de taille importante ne garantit algorithme de chiffrement par flot, il est recommandé pas nécessairement une sécurité en rapport avec d’employer des algorithmes de chiffrement par flot cette taille. La plupart des variantes du CBC-MAC largement éprouvés dans le milieu académique. construites afin d’obtenir une sécurité comparable à celle du triple DES ont ainsi été cryptanalysées Remarque importante : au sens où leur sécurité est plus comparable à celle du DES que du triple DES (voir documents Les règles ne font pas mention de la quantité de techniques relatifs à la cryptographie sur le site de données à chiffrer ou à déchiffrer afin de réaliser l’AMSN : amsn.gouv.mc). l’attaque, ni de la quantité de mémoire nécessaire. Ceci tient essentiellement à la volonté de ne pas trop 2 Pour des raisons de simplification, CBC-MAC désigne le mode compliquer l’énoncé de ces règles. Il conviendra, au avec surchiffrement également connu sous le nom de CBC-MAC cas par cas, de juger si l’un de ces deux paramètres est « retail ». (voir documents techniques relatifs à la cryptographie sur suffisamment important afin de justifier qu’un le site de l’AMSN : amsn.gouv.mc)
Vendredi 13 juillet 2018 JOURNAL DE MONACO 7 • U n mécanisme d’intégrité vient souvent en Shamir et Adleman). Les calculs de chiffrement et de complément d’un mécanisme assurant la déchiffrement RSA font intervenir deux autres données confidentialité. La composition de deux mécanismes que le module, appelées « exposant public » et « exposant cryptographiques n’est jamais simple et doit être secret ». réalisée avec soin. À titre d’exemple, il est possible en associant un très bon chiffrement avec un très bon algorithme d’intégrité d’obtenir un mécanisme RègleFact-1. La taille minimale du module est de n’assurant plus le service de confidentialité. 2048 bits, pour une utilisation ne devant pas dépasser l’année 2030. Mécanismes conformes au référentiel : RègleFact-2. Pour une utilisation au-delà de 2030, la taille minimale du module est de 3072 bits. Le mode d’intégrité CBC-MAC « retail » utilisant RègleFact-3. Les exposants secrets doivent être de l’AES comme mécanisme de chiffrement par bloc et même taille que le module. deux clés distinctes (une pour la chaîne CBC et l’autre pour le surchiffrement dit « retail ») est RègleFact-4. Pour les applications de chiffrement, les conforme au référentiel (à condition, bien entendu, de exposants publics doivent être strictement supérieurs ne pas utiliser de valeur initiale) (voir documents à 216= 65536. techniques relatifs à la cryptographie sur le site de l’AMSN : amsn.gouv.mc). Il est à noter que le mode RecomFact-1. Il est recommandé d’employer des CBC-MAC sans surchiffrement n’est sûr que lorsqu’il modules d’au moins 3072 bits, même pour une est utilisé pour des messages de taille fixe. utilisation ne devant pas dépasser 2030. Le mode d’intégrité HMAC utilisant SHA-2 comme RecomFact-2. Il est recommandé, pour toute fonction de hachage est conforme au référentiel. application, d’employer des exposants publics strictement supérieurs à 216 = 65536. Mécanisme NON CONFORME au référentiel : RecomFact-3. Il est recommandé que les deux nombres premiers p et q constitutifs du module soient Le mode d’intégrité CBC-MAC « retail » recommandé de même taille et choisis aléatoirement uniformément. ci-dessus n’est pas conforme au référentiel s’il est utilisé avec le DES comme mécanisme de chiffrement 2.2.1.2 Le « Logarithme discret » par bloc, et ce même s’il emploie deux clés distinctes. Le « problème dit « du logarithme discret » » est En effet, bien qu’utilisant alors 112 bits de clé, l’observation de 232 MACs valides permet ensuite de fondé sur la difficulté d’inverser l’opération retrouver ces 112 bits de clé en effectuant d’exponentiation dans un groupe. Ce problème peut « seulement » de l’ordre de 256 calculs de DES. être instancié dans différentes structures et des règles et recommandations sur les choix de paramètres à utiliser 2.2 Cryptographie asymétrique pour trois d’entre elles sont : Les mécanismes de cryptographie asymétrique • les corps finis GF(p) à p éléments où p est un reposent tous sur des problèmes mathématiques nombre premier ; difficiles, généralement issus de la théorie des nombres. L’emploi de tels types de problèmes, difficiles à • les groupes des points de courbes elliptiques résoudre pour un attaquant, est par conséquent définies sur GF(p) où p est un nombre premier ; primordial en termes de sécurité. • les groupes des points de courbes elliptiques 2.2.1 Problèmes mathématiques asymétriques définies sur GF(2n). 2.2.1.1 Factorisation Bien qu’il soit possible d’instancier ce problème dans d’autres structures, nombre d’entre elles sont à Le problème de la factorisation consiste à retrouver la décomposition en facteurs premiers d’un entier donné, proscrire : tel est notamment le cas des corps finis de obtenu de manière secrète par multiplication de deux petite caractéristique, et en particulier de GF(2n). nombres premiers, généralement de taille comparable. Certaines de ces autres structures ne présentent toutefois Un tel nombre composé est classiquement appelé pas de faiblesses connues, mais leur sécurité doit être « module ». Le problème de la factorisation est étudiée au cas par cas et leur emploi doit être soumis à principalement utilisé par le cryptosystème RSA (Rivest, l’avis de l’Agence Monégasque de Sécurité Numérique.
8 JOURNAL DE MONACO Vendredi 13 juillet 2018 a) Logarithme discret dans GF(p) Mécanisme conforme au référentiel : Le problème du logarithme discret dans GF(p) est fondé sur des calculs effectués dans le corps fini à p L’emploi de la courbe FRP256v1 – définie dans le éléments, où p est un nombre premier également appelé journal officiel de la République Française no 241 du « module ». 16/10/2011 et dont les paramètres peuvent librement être intégrés dans tous les produits de sécurité – est RègleLogp-1. La taille minimale de modules conforme au référentiel. Il en est de même de premiers est de 2048 bits pour une utilisation ne l’emploi des courbes P-256, P-384 et P-521 définies devant pas dépasser l’année 2030. dans le FIPS 186-2 du 27/01/2000. RègleLogp-2. Pour une utilisation au-delà de 2030, c) « Le Logarithme discret » dans les courbes la taille minimale de modules premiers est de 3072 elliptiques définies sur GF(2n) bits. RègleLogp-3. On emploiera des sous-groupes dont RègleEC2-1. Pour une utilisation ne devant pas l’ordre est multiple d’un nombre premier d’au moins dépasser 2020, on emploiera des sous-groupes dont 200 bits. l’ordre est multiple d’un nombre premier d’au moins 200 bits. RecomLogp-1. Il est recommandé d’employer des RègleEC2-2. Pour une utilisation au-delà de 2020, modules premiers d’au moins 3072 bits, même pour on emploiera des sous-groupes dont l’ordre est une utilisation ne devant pas dépasser 2030. multiple d’un nombre premier d’au moins 256 bits. RecomLogp-2. Il est recommandé d’employer des RègleEC2-3. Le paramètre n doit être un nombre sous-groupes dont l’ordre est premier (au lieu d’être premier. multiple d’un nombre premier). RègleEC2-4. En cas d’utilisation de courbes b) Le « Logarithme discret » dans les courbes particulières faisant reposer la sécurité sur un elliptiques définies sur GF(p) problème mathématique plus facile que le problème générique de calcul de logarithme discret sur courbe Il est également possible de définir un problème de elliptique définie sur GF(2n), ce problème devra logarithme discret dans des structures plus complexes vérifier les règles correspondantes. pour lesquelles aucun algorithme plus efficace que les méthodes génériques de calcul de logarithme discret RecomEC2-1. Il est recommandé d’employer des n’est connu. C’est en particulier aujourd’hui le cas des sous-groupes dont l’ordre est premier (au lieu d’être courbes elliptiques qui sont définies sur un corps de multiple d’un nombre premier). base pouvant être, en pratique, premier (GF(p)) ou binaire (GF(2n)). Mécanisme conforme au référentiel : RègleECp-1. Pour une utilisation ne devant pas dépasser 2020, on emploiera des sous-groupes dont L’emploi des courbes B-283, B-409 et B-571 définies l’ordre est multiple d’un nombre premier d’au moins dans le FIPS 186-2 du 27/01/2000 est conforme au 200 bits. référentiel. RègleECp-2. Pour une utilisation au-delà de 2020, on emploiera des sous-groupes dont l’ordre est 2.2.2 Chiffrement asymétrique multiple d’un nombre premier d’au moins 256 bits. Toute méthode de chiffrement asymétrique s’appuie RègleECp-3. En cas d’utilisation de courbes particulières sur un problème difficile de base. Ce dernier doit donc faisant reposer la sécurité sur un problème mathématique être en accord avec le niveau de robustesse recherché. plus facile que le problème générique de calcul de Il est de plus possible pour certains mécanismes de logarithme discret sur courbe elliptique définie sur GF(p), chiffrement de faire la preuve, éventuellement sous ce problème devra vérifier les règles correspondantes. certaines hypothèses, que la sécurité est équivalente à celle du problème de base et pas uniquement reliée de manière heuristique. Cette approche moderne de la RecomECp-1. Il est recommandé d’employer des cryptographie permet d’atteindre un niveau d’assurance sous-groupes dont l’ordre est premier (au lieu d’être meilleur que la simple approche qui consiste à constater multiple d’un nombre premier). l’absence d’attaques connues.
Vendredi 13 juillet 2018 JOURNAL DE MONACO 9 RecomChiffAsym-1. Il est recommandé d’employer Le mécanisme de signature asymétrique ECDSA des mécanismes de chiffrement asymétrique disposant défini dans le FIPS 186-2, ainsi que le mécanisme de d’une preuve de sécurité. signature asymétrique ECKCDSA, sont conformes au référentiel lorsqu’ils utilisent la courbe FRP256v1 – Mécanisme conforme au référentiel : définie dans le journal officiel de la République Française n° 241 du 16/10/2011 et dont les paramètres peuvent librement être intégrés dans tous les produits Le mécanisme de chiffrement asymétrique RSAES- de sécurité – ou lorsqu’ils utilisent l’une des courbes OAEP défini dans le document PKCS#1 v2.1 est P-256, P-384, P-521, B-283, B-409 et B-571 définies conforme au référentiel à condition de respecter les dans le FIPS 186-2. règles RègleFact-1, RègleFact-2, RègleFact-3 et RègleFact-4. Mécanisme NON CONFORME au référentiel : Mécanisme NON CONFORME au référentiel : Le mécanisme de signature asymétrique RSASSA, mis en œuvre selon le document PKCS#1 v1.5 n’est Le mécanisme de chiffrement asymétrique RSAES, pas conforme au référentiel lorsque l’exposant public e est petit et pour un mauvais choix d’implantation mis en œuvre selon le document PKCS#1 v1.5 n’est des vérifications liées au padding. En effet, pas conforme au référentiel dans un contexte où il est Bleichenbacher a mis en évidence en 2006 une possible d’invoquer un oracle de vérification de attaque permettant de forger des signatures dans ce padding. En effet, Bleichenbacher a mis en évidence cas [Ble06]. en 1998 une attaque (attaque à messages chiffrés choisis adaptative) exploitant judicieusement un tel 2.2.4 A uthentification d’entités et établissement oracle pour retrouver le message clair correspondant de clé à un chiffré donné [Ble98]. Les mécanismes interactifs d’authentification d’entités et d’établissement de clé reposent en général 2.2.3 Signature asymétrique au moins partiellement sur des mécanismes de génération d’aléa, de hachage et de chiffrement ou de Toute méthode de signature asymétrique s’appuie sur signature à clé publique (voir documents techniques un problème difficile qui doit être en accord avec le relatifs à la cryptographie sur le site de l’AMSN : amsn. niveau de robustesse recherché. Il est de plus possible gouv.mc). Les règles et recommandations énoncées pour certains mécanismes de signature de faire la preuve dans les points 2.2.2, 2.2.3, 2.3 et 2.4 s’appliquent alors que la sécurité est équivalente à celle du problème de directement. base et pas uniquement reliée de manière heuristique. Ces mécanismes peuvent également faire appel à des Les schémas de signature utilisent en général des primitives asymétriques spécifiques, telles que les fonctions de hachage dont le niveau de robustesse schémas d’authentification « à divulgation nulle de (voir 2.3) doit bien entendu être en accord avec le connaissance » ou le schéma d’établissement de clé de niveau de robustesse souhaité pour le mécanisme de Diffie-Hellman ; les règles et recommandations signature. énoncées dans la section 2.2.1 s’appliquent alors aux problèmes mathématiques sur lesquels ces primitives RecomSignAsym-1. Il est recommandé d’employer reposent. Bien entendu, l’évaluation du niveau de des mécanismes de signature asymétrique disposant robustesse global du mécanisme doit être effectuée d’une preuve de sécurité. avec soin, même si des primitives conformes au référentiel sont employées. Une attention particulière Mécanismes conformes au référentiel :3 devra notamment être portée à la résistance des mécanismes d’établissement de clé aux attaques par le Le mécanisme de signature asymétrique RSA-SSA- milieu. L’utilisation conjointe de mécanismes PSS3 défini dans le document PKCS#1 v2.1 est d’établissement de clé et d’authentification d’entité conforme au référentiel à condition de respecter les convenablement liés l’un à l’autre peut permettre de se règles RègleFact-1, RègleFact-2, RègleFact-3 et prémunir contre des attaques de ce type. Il est également RègleFact-4. souhaitable qu’un mécanisme d’établissement de clé assure la confidentialité dans le futur ou PFS (de l’anglais perfect forward privacy) des clés symétriques 3 RSA-SSA-PSS : « RSA Signature Scheme with Appendix – temporaires (ou clés de session) qu’il permet d’établir. Provably Secure encoding method for digital Signatures ». On peut définir informellement la propriété de PFS
10 JOURNAL DE MONACO Vendredi 13 juillet 2018 comme l’impossibilité d’obtenir quelque information Mécanisme conforme au référentiel : que ce soit sur une clé de session pour un attaquant capable d’observer et/ou perturber les échanges d’établissement de clé au cours de laquelle cette clé de Le mécanisme de hachage SHA-256 défini dans le session a été établie entre deux entités et d’accéder, FIPS 180-2 est conforme au référentiel. postérieurement à la période de validité de cette clé de session, à l’ensemble des secrets d’une de ces deux Mécanisme NON CONFORME au référentiel : entités. Une condition nécessaire pour assurer cette propriété de PFS est de recourir, pour l’établissement Le mécanisme de hachage SHA-1 défini dans le FIPS des clés symétriques temporaires, à un schéma reposant 180-2 a récemment fait l’objet d’une attaque en sur l’emploi par les deux entités de secrets éphémères recherche de collision. La complexité de cette attaque effacés après utilisation. Bien entendu, les clés est estimée à 263, c’est à dire inférieure à 280. Même symétriques temporaires doivent elles-mêmes être si cette attaque n’a pas conduit, au moment de la effacées par les deux entités à l’échéance de leur rédaction de ce document, au calcul d’une collision période de validité (dite : fin de session). explicite, sa seule existence montre une faille sérieuse dans la sécurité de cette fonction. Le mécanisme de 2.3 Fonctions de hachage hachage SHA-1 n’est donc pas conforme au référentiel. Il ne respecte ni RègleHash-1, ni Les fonctions de hachage cryptographiques doivent RègleHash-3. avoir plusieurs propriétés telles que la résistance à la recherche de « collisions » (voir documents techniques 2.4 Génération d’aléa cryptographique relatifs à la cryptographie sur le site de l’AMSN : amsn. gouv.mc). De telles collisions peuvent cependant toujours être trouvées au moyen d’attaques génériques La qualité de l’aléa (voir documents techniques fondées sur le « paradoxe des anniversaires ». Un des relatif à la cryptographie sur le site de l’AMSN : amsn. buts lors de la conception d’une fonction de hachage gouv.mc) est un élément crucial pour la sécurité d’un est par conséquent de faire en sorte qu’il n’existe pas de système, que ce soit pour la génération des clés ou pour meilleure attaque. En pratique, afin de contrer les le bon fonctionnement des primitives cryptographiques. attaques fondées sur le paradoxe des anniversaires, une empreinte doit être deux fois plus longue qu’une clé Dans cette partie sont énoncées les règles et les symétrique pour atteindre le même niveau de robustesse. recommandations applicables à un générateur d’aléa destiné à alimenter un système cryptographique de D’autre part, les fonctions de hachage itératives sont manière durable. construites autour de fonctions plus élémentaires appelées fonctions de compression. L’existence Un tel générateur consiste généralement en la d’attaques sur ces constituants, attaques qualifiées de combinaison de différentes sources d’aléa et d’une « partielles » ci-dessous, n’implique pas nécessairement couche de retraitement algorithmique. la possibilité d’attaquer la fonction de hachage en elle- même mais trahit des défauts de conception majeurs. Plus précisément, une source d’aléa désignera un dispositif susceptible de fournir en entrée du retraitement des éléments au moins partiellement RègleHash-1. Pour une utilisation ne devant pas aléatoires. Une source d’aléa est : dépasser 2020, la taille minimale des empreintes générées par une fonction de hachage est de 200 bits. • p hysique s’il s’agit d’un générateur physique RègleHash-2. Pour une utilisation au-delà de 2020, d’aléa, c’est-à-dire d’un dispositif physique la taille minimale des empreintes générées par une spécialement conçu pour produire des bits fonction de hachage est de 256 bits. aléatoires en quantité (théoriquement) illimitée ; RègleHash-3. La meilleure attaque connue permettant • s ystémique si elle correspond à une accumulation de trouver des collisions doit nécessiter de l’ordre de d’événements partiellement imprévisibles 2h/2 calculs d’empreintes, où h désigne la taille en bits provenant du système (par exemple le procédé des empreintes. d’accumulation d’aléa de /dev/random sous Linux) ; RecomHash-1. L’emploi de fonctions de hachage • i mportée s’il s’agit de données secrètes pour lesquelles des « attaques partielles » sont parfaitement aléatoires spécialement fournies par connues est déconseillé. le reste du système d’information ;
Vendredi 13 juillet 2018 JOURNAL DE MONACO 11 • manuelle s’il s’agit de données aléatoires secrètes pseudo-aléatoire. Il possède nécessairement un état obtenues par action intentionnelle d’un utilisateur interne et une source d’aléa ponctuelle pour l’initialiser. (par exemple : frappes au clavier, mouvements de la souris...). On note que selon les cas les sources Dans le cas des systèmes pouvant être mis hors d’aléa peuvent être disponibles de manière tension (cas considéré par défaut dans ce qui suit), un régulière ou, au contraire, ponctuelle. élément de sécurité important consiste en l’utilisation d’une mémoire non volatile, protégée en confidentialité Un retraitement algorithmique est un mécanisme et en intégrité, pour stocker des données qui seront de nature cryptographique destiné à combiner utilisées lors de l’initialisation suivante. Ces données différentes sources d’aléa et à garantir dans la durée la peuvent être mises à jour par les fonctions d’initialisation qualité de l’aléa produit. et/ou d’avancement. En particulier, de telles dispositions Un état interne est une donnée secrète dédiée au permettent de se protéger des attaques par rejeu et de retraitement, destinée généralement à accumuler fournir suffisamment d’entropie à l’algorithme de l’entropie des sources d’aléa. Les éventuelles clés retraitement lors de l’initialisation. secrètes utilisées par les mécanismes cryptographiques employés par le retraitement font également partie de Finalement, les différents éléments constituant un l’état interne. générateur d’aléa cryptographique peuvent être représentés de la manière suivante (figure 1), étant En l’absence de source d’aléa régulière, c’est-à-dire entendu que tous les composants ne sont pas forcément si les sources d’aléa disponibles sont ponctuelles, on nécessaires et que le détail des fonctionnalités note que le retraitement s’apparente à un générateur représentées peut varier d’un système à un autre. Figure 1 – Architecture générique pour la génération d’aléa cryptographique 2.4.1 Architecture d’un générateur d’aléa Les règles et recommandations applicables aux RègleArchiGDA-1. Un retraitement algorithmique générateurs d’aléa se fondent sur le constat qu’il disposant d’un état interne doit être employé. est aujourd’hui très difficile de fournir une preuve convaincante concernant la qualité de l’aléa issu RègleArchiGDA-2. En l’absence de générateur d’un générateur physique, alors qu’il est physique d’aléa, le retraitement algorithmique doit relativement aisé de se convaincre de la qualité disposer d’une mémoire non volatile. d’un bon retraitement. Ces règles sont cependant RègleArchiGDA-3. L’état interne doit être au susceptibles d’être revues si des avancées minimum de 128 bits. En l’absence d’un théoriques importantes sont effectuées dans le rafraîchissement suffisamment fréquent par un domaine des générateurs physiques d’aléa. générateur physique d’aléa, cette limite inférieure est portée à 160 bits.
12 JOURNAL DE MONACO Vendredi 13 juillet 2018 RègleArchiGDA-4. La qualité des sources d’aléa RecomArchiGDA-1. Il est recommandé d’utiliser un ponctuelles ou régulières utilisées pour initialiser retraitement avec un état interne d’au moins 256 bits, l’état interne doit être suffisante pour assurer à la une mémoire non volatile et une source d’aléa valeur initiale de cet état une entropie voisine de sa rafraîchissant régulièrement l’état interne du longueur, ou tout au moins supérieure au seuil défini dans la règle RègleArchiGDA-3 si un raisonnement générateur. permet d’établir qu’aucune faiblesse n’en résulte. Figure 2 – Architecture minimale pour la génération d’aléa (Les pointillés figurent les éléments recommandés.) 2.4.2 Générateur physique d’aléa 2.4.3 Retraitement algorithmique Le générateur physique d’aléa est conçu pour générer Les propriétés attendues du retraitement algorithmique de l’aléa tout au long de la vie du système. Il importe pour la génération d’aléa sont : donc de garantir autant que possible la qualité et la fiabilité de cet aléa. RègleAlgoGDA-1. Les primitives cryptographiques employées par le retraitement algorithmique doivent être conformes au référentiel. RègleArchiGVA-1. Le générateur physique d’aléa doit disposer d’une description fonctionnelle. Celle-ci RègleAlgoGDA-2. Dans l’hypothèse où l’état interne doit notamment indiquer les principes concourant à la est fiable, même en cas de défaillance des sources génération de vrai aléa. d’aléa présentes, les sorties successives du retraitement doivent être parfaitement aléatoires du point de vue de RègleArchiGVA-2. Des tests statistiques en sortie du l’attaquant. De plus, la connaissance de ces sorties ne générateur physique ne doivent pas faire apparaître doit pas mettre en danger la confidentialité des états de défauts significatifs dans l’aléa généré. internes ni des sources d’aléa (fiables). RègleAlgoGDA-3. En cas de compromission « simple » RecomArchiGVA-1. Il est souhaitable qu’un affectant ou bien l’état interne ou bien les sources d’aléa raisonnement permette de justifier la qualité de l’aléa éventuellement présentes mais n’affectant pas produit par le générateur physique. simultanément ces deux types d’éléments, la sortie courante ne doit donner à l’attaquant aucune information Remarque : exploitable sur les sorties passées. Les tests statistiques concernés par la règle 2.5 Gestion de clés RègleArchiGVA-2 sont des tests d’usine ou des tests La gestion des clés est traitée dans le document ponctuels. Il ne s’agit pas d’éventuels tests de panne « Gestion des clés cryptographiques – Règles et pouvant être réalisés en fonctionnement, au cours de recommandations concernant la gestion des clés l’utilisation du générateur physique. utilisées dans des mécanismes cryptographiques ».
Vous pouvez aussi lire