RÈGLES ET RECOMMANDATIONS CONCERNANT LE CHOIX ET LE DIMENSIONNEMENT DE L'ENSEMBLE DES MÉCANISMES CRYPTOGRAPHIQUES - ANNEXE AU " JOURNAL DE MONACO ...

 
CONTINUER À LIRE
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