civil-and-structural-engineering
Défauts de chiffrement de dépannage : erreurs courantes et comment les corriger
Table of Contents
Les défaillances de chiffrement représentent l'une des vulnérabilités les plus critiques de la cybersécurité moderne, capable d'exposer des données sensibles et de saper l'ensemble de l'infrastructure de sécurité d'une organisation. La plupart des failles ne sont pas dues à la rupture d'algorithmes de chiffrement puissants; plutôt, elles exploitent des situations où le chiffrement était absent ou mal mis en œuvre.
Comprendre les défaillances cryptographiques
Les défaillances cryptographiques font référence à l'utilisation ou à l'absence inappropriée de cryptographie qui conduit à l'exposition de données sensibles, y compris des scénarios où les données qui auraient dû être chiffrées ou stockées de façon sécuritaire sont laissées vulnérables en n'utilisant pas de chiffrement, de chiffrement faible ou de clés et secrets mal gérés.
Les défaillances cryptographiques surviennent lorsque les mécanismes de cryptage et de protection des données sont faibles ou mal appliqués, exposant les informations sensibles à un accès non autorisé. Les conséquences vont bien au-delà des problèmes techniques, affectant les opérations commerciales, la confiance des clients, la conformité réglementaire et la stabilité financière.
Erreurs communes dans la mise en œuvre du chiffrement
Utilisation d'algorithmes de chiffrement faibles ou dépassés
L'un des défauts de chiffrement les plus fréquents est de se fier à des algorithmes cryptographiques dépréciés ou cassés. L'utilisation d'algorithmes ou de protocoles cryptographiques périmés ou cassés est un mode de défaillance, avec des algorithmes comme MD5, SHA-1 ou DES, et des protocoles anciens comme les versions SSL 3.0 ou TLS précoces étant bien connus pour être cassés et craquants cryptographiques.
Les développeurs continuent à utiliser la norme de chiffrement de données (DES) ou la triple DES (3DES) pour chiffrer les données sensibles, avec DES utilisant une clé 56 bits qui peut être forcée en heures, tandis que 3DES est déprécié en raison de problèmes de performance et d'attaques d'anniversaire. De même, le hachage MD5 génère des collisions où différentes entrées produisent des sorties identiques, et les attaquants exploitent ces collisions pour forger des signatures numériques et contourner des systèmes d'authentification.
Le chiffrement de flux RC4 présente une autre vulnérabilité importante. Le chiffrement de flux RC4 contient des biais dans sa sortie qui révèlent des modèles dans des données chiffrées, et les principaux navigateurs désactivés RC4 support il y a des années après que les chercheurs ont démontré des attaques pratiques.
Mauvaises pratiques de gestion clés
Le chiffrement est seulement aussi sécurisé que les clés que vous utilisez et comment vous les protégez, avec une défaillance cryptographique très courante étant une mauvaise gestion des clés secrètes ou des mots de passe. La gestion des clés englobe l'ensemble du cycle de vie des clés cryptographiques, de la génération à la destruction, et les défaillances à tout moment peuvent compromettre le système de chiffrement.
Les défaillances opérationnelles courantes comprennent les clés codées en dur dans les binaires ou les dépôts sources, les clés dans les fichiers de configuration accessibles à de nombreux services ou stockées dans un texte simple, et les fuites de contrôle de version où les clés sont accidentellement engagées à Git et poussées vers les dépôts publics.
Les principales vulnérabilités qui découlent des problèmes de gestion clés sont généralement associées au stockage des clés dans des endroits non sécurisés, à l'aide de clés communes ou facilement compromises, sans changer de clés fréquemment ou sans protéger les clés lorsqu'elles sont transférées.
Aléatoire insuffisant et valeurs prévisibles
La sécurité cryptographique dépend fortement du hasard, et les défaillances de la génération de nombres aléatoires peuvent complètement saper le chiffrement. Les défaillances cryptographiques surviennent lorsque les développeurs utilisent des valeurs entropies ou de réutilisation insuffisantes qui devraient être aléatoires, comme réutiliser la même IV pour plusieurs opérations de chiffrement dans certains modes comme CBC qui peuvent fuir l'information.
Un appareil grand public utilisé par une large distribution utilise un PRNG prévisible ensemencé avec le temps du système, et les attaquants inversent le modèle de semences et reproduit les clés privées de l'appareil, permettant l'imitation et le décryptage du trafic de nombreux appareils.
L'utilisation de générateurs de nombres aléatoires non chiffrés comme ceux que l'on trouve dans les bibliothèques standard à des fins cryptographiques peut donner lieu à des sorties prévisibles, ce qui facilite la lecture des clés de chiffrement par les attaquants.
Configurations TLS/SSL mal configurées
Le chiffrement en transit peut échouer en raison de problèmes de configuration même si vous utilisez HTTPS, avec des erreurs courantes, y compris l'autorisation de protocoles ou de chiffrements SSL/TLS faibles, ne validant pas les certificats SSL, ou manquant des en-têtes de sécurité cruciaux.
L'utilisation de certificats expirés ou autosignés peut conduire à des vulnérabilités dans des canaux de communication sécurisés, car les attaquants peuvent être en mesure d'imiter des services légitimes. En outre, L'attaque profite d'options configurables dans le protocole cryptographique TLS qui permettent une compatibilité en arrière avec les systèmes plus anciens, en acceptant des chiffrements inférieurs/datés/faibles, dans le pire des cas même en déclassant le trafic chiffré au texte clair.
Stockage de données sensibles sans chiffrement
Les données sensibles sont transmises ou stockées en texte clair sans aucun chiffrement. Cette surveillance fondamentale demeure étonnamment courante, en particulier dans les systèmes existants ou pendant les cycles de développement rapide où les considérations de sécurité sont dépriorisées.
Le fait de ne pas chiffrer les données sensibles est une surveillance critique, en particulier dans les secteurs comme les finances, les soins de santé ou le commerce électronique, où les données personnelles ou financières sensibles sont traitées régulièrement et sans chiffrement, les données sont exposées à quiconque peut accéder au système, que ce soit par un accès non autorisé, par des logiciels malveillants ou même par un vol physique.
Erreurs d'implémentation et utilisation abusive de l'API
Une part importante des défaillances cryptographiques provient d'erreurs d'implémentation, car la preuve mathématique de la sécurité d'un algorithme suppose une implémentation correcte, et de petites déviations peuvent annuler ces preuves. Même lorsque les développeurs sélectionnent des algorithmes forts, une utilisation incorrecte peut créer des vulnérabilités.
L'utilisation incorrecte d'API cryptographiques – comme la négligence de vérifier les codes de retour, les opérations de mauvaise commande ou l'utilisation de RNG non cryptographiques pour les clés – crée des vulnérabilités même lorsque des algorithmes puissants sont disponibles.
Le padding garantit que les données d'entrée sont la taille correcte pour le cryptage, et si elles ne sont pas correctement gérées, le rembourrage peut conduire à des attaques Oracle, dans lesquelles les attaquants peuvent décrypter les données chiffrées en analysant la structure de rembourrage. De même, le Codebook électronique (ECB) est un algorithme qui s'est révélé sémantiquement incertain, car le cryptage de deux blocs de texte clair identiques génère toujours le même bloc de texte codé, permettant à un attaquant de déterminer si deux blocs de BCE sont identiques.
Comment corriger les défauts de chiffrement
Adopter des normes de chiffrement solides et modernes
La base du chiffrement sécurisé réside dans l'utilisation d'algorithmes actuels, vétustés par l'industrie. Toujours utiliser des normes fortes et actuelles telles que AES-256, SHA-256/3 et TLS 1.2+. Ces algorithmes ont fait l'objet d'un examen approfondi par la communauté cryptographique et offrent une protection robuste contre les vecteurs d'attaque connus.
Remplacer DES, 3DES et autres cryptages symétriques faibles par AES (Advanced Encryption Standard) en utilisant des modes sécurisés comme GCM ou CBC avec une manipulation IV appropriée, car AES-256-GCM fournit à la fois la confidentialité et l'authenticité, ce qui le rend idéal pour la plupart des besoins de chiffrement.
Les organismes doivent être informés des normes cryptographiques et des délais de déprécation. Les développeurs doivent se tenir au courant des normes pertinentes et acceptées de l'industrie par les organismes pertinents, par exemple le NIST, et l'utilisation de chiffres et de modes faibles dont on sait qu'ils sont incertains doit être évitée.
Mettre en œuvre des systèmes de gestion de clés robustes
Une gestion adéquate des clés nécessite une approche globale couvrant l'ensemble du cycle de vie des clés. Veiller à ce que des algorithmes, des protocoles et des clés standards à jour et solides soient en place; utiliser une gestion adéquate des clés, notamment la génération, la distribution, le stockage, la rotation et la destruction sécurisée des clés cryptographiques.
Les clés ne devraient jamais être codées en dur dans le code source ou stockées dans un texte simple. Le stockage des clés cryptographiques directement dans le code source est une erreur courante, et si le code est exposé, les clés sont immédiatement compromises.
L'établissement de procédures officielles pour chaque étape garantit que les clés demeurent protégées tout au long de leur durée de vie opérationnelle. La rotation régulière des clés limite la fenêtre d'exposition si une clé est compromise, tandis que les procédures de révocation appropriées permettent une intervention rapide en cas d'incident de sécurité.
Configurer correctement TLS/SSL
Chiffrer toutes les données en transit avec les protocoles >= TLS 1.2 uniquement, avec les chiffres du secret avant (FS), le support de la chute pour les chiffrements de blocs de chiffrement (CBC), les algorithmes de changement de clé quantique.
Configurez les serveurs pour ne prendre en charge que les versions fortes de TLS (1.2+) et les suites de chiffrement, et désactivez tous les chiffrements faibles, y compris ceux utilisant DES, RC4, MD5 et le cryptage de qualité export.
Pour HTTPS, appliquer le chiffrement en utilisant HTTP Strict Transport Security (HSTS). Cet en-tête donne pour instruction aux navigateurs de se connecter uniquement via HTTPS, empêchant les attaques de dégradation et la transmission accidentelle de données sur des connexions non chiffrées.
Chiffrer les données au repos et en transit
De manière générale, toutes les données en transit doivent être chiffrées à la couche transport (couche OSI 4). Cependant, les exigences de chiffrement s'étendent au-delà de la transmission réseau.
Il est important de déterminer les données qui doivent être chiffrées au repos ainsi que celles qui doivent être cryptées en transit (au niveau de l'application, niveau 7 de l'OSI), car les mots de passe, les numéros de carte de crédit, les dossiers de santé, les renseignements personnels et les secrets d'affaires nécessitent une protection supplémentaire, surtout si ces données relèvent de lois sur la protection de la vie privée comme le RGPD ou des règlements comme le SSD de PCI.
Les cadres de classification des données aident les organisations à déterminer quelles informations doivent être chiffrées et quel niveau de protection convient.
Utiliser des générateurs de nombres aléatoires sécurisés par cryptographie
Utilisez toujours un générateur de nombres pseudorandoms sécurisés cryptographiquement (CSPRNG) fourni par votre plateforme pour les clés, les IV, les jetons, et assurez-vous de ne jamais réutiliser des valeurs uniques comme les nonces.
Les systèmes d'exploitation modernes et les bibliothèques cryptographiques fournissent des systèmes CSPRNG spécialement conçus pour les applications sensibles à la sécurité. Les développeurs devraient tirer parti de ces outils fournis par la plate-forme plutôt que de mettre en œuvre une génération aléatoire personnalisée de nombres.
Lors de l'utilisation de AES128 ou AES256, le vecteur IV (Initialisation) doit être aléatoire et imprévisible, se référant à FIPS 140-2, Exigences de sécurité pour les modules cryptographiques, section 4.9.1 tests de générateur de nombres aléatoires.
Éviter les implémentations cryptographiques personnalisées
L'une des erreurs les plus dangereuses de la cryptographie consiste à créer des algorithmes ou des protocoles personnalisés. La complexité des systèmes cryptographiques signifie que même les petites erreurs de mise en œuvre peuvent créer des vulnérabilités catastrophiques.
Pour réduire véritablement les vulnérabilités de sécurité, envisagez d'utiliser une bibliothèque de cryptographie qui offre une API simplifiée et met l'accent sur les configurations par défaut sécurisées. Les bibliothèques cryptographiques modernes sont conçues pour faire des choix sécurisés par défaut, réduisant ainsi la probabilité d'erreur du développeur.
Lors de la mise en œuvre du chiffrement, les développeurs doivent suivre exactement les pratiques recommandées par la bibliothèque. L'utilisation incorrecte d'API cryptographiques – comme la négligence de vérifier les codes de retour, les opérations de désordre ou l'utilisation de RNG non cryptographiques pour les clés – crée des vulnérabilités même lorsque des algorithmes puissants sont disponibles.
Meilleures pratiques pour prévenir les échecs de chiffrement
Effectuer régulièrement des vérifications et des essais de sécurité
L'identification des défaillances cryptographiques nécessite une approche multifaces et, au minimum, une analyse de sécurité automatisée à l'aide d'outils tels que des solutions dynamiques de tests de sécurité des applications (DAST) devrait être effectuée pour signaler des problèmes exploitables externes comme l'utilisation d'algorithmes dépassés, le stockage de données en texte clair, les paramètres de TLS mal configurés ou les en-têtes de sécurité manquants.
Les tests de sécurité devraient comprendre à la fois l'analyse automatisée et l'examen manuel du code. Effectuer une vérification du code utilisé dans l'application ou le système pour identifier les cas de faible cryptage des algorithmes, et examiner le code source et les bibliothèques ou les composants tiers qui sont utilisés pour chiffrer les données.
Vérifier tout avec un outil. L'analyse régulière de vulnérabilité aide à identifier les faiblesses cryptographiques avant qu'elles ne puissent être exploitées. Les organisations devraient intégrer les tests de sécurité dans leur pipeline de développement, en effectuant des vérifications à plusieurs étapes du développement au déploiement de la production.
Maintenir le logiciel de chiffrement à jour et les bibliothèques
Les bibliothèques et protocoles cryptographiques nécessitent des mises à jour régulières pour traiter les vulnérabilités nouvellement découvertes et maintenir les normes de sécurité. Appliquer les mises à jour aux bibliothèques et aux cadres au premier signe de divulgation de vulnérabilité cryptographique.
Il est essentiel de mettre à jour régulièrement les algorithmes de chiffrement et de rester informé des nouvelles menaces pour maintenir une sécurité solide des données. Les organisations devraient établir des processus de surveillance des avis de sécurité, évaluer leur impact et déployer rapidement des mises à jour.
Le paysage cryptographique évolue continuellement à mesure que les chercheurs découvrent de nouvelles techniques d'attaque et de nouvelles capacités informatiques. Ce qui est considéré comme sécurisé aujourd'hui peut devenir vulnérable demain, rendant la vigilance permanente essentielle.
Mettre en œuvre la défense en profondeur
Le chiffrement devrait être une couche dans une stratégie de sécurité globale, et non le seul mécanisme de protection. La cryptographie correcte est souvent la dernière ligne de défense qui empêche les attaquants de lire des données sensibles même s'ils violent d'autres contrôles.
La défense en profondeur comprend les contrôles d'accès, la segmentation du réseau, les systèmes de détection des intrusions, l'enregistrement et la surveillance, et les capacités d'intervention en cas d'incident.
Désactiver la mise en cache pour les réponses qui contiennent des données sensibles, y compris la mise en cache dans votre CDN, serveur Web et toute application en cache (par exemple : Redis). Même les données correctement chiffrées peuvent être exposées si mises en cache dans des endroits non sécurisés ou transmises par des canaux non protégés.
Fournir une formation en matière de sécurité aux équipes de développement
Organiser régulièrement des ateliers de formation pour s'assurer que les bibliothèques cryptographiques et les API sont utilisés correctement. De nombreux échecs de chiffrement résultent d'un malentendu de développeur plutôt que d'intention malveillante.
Les organisations devraient intégrer ces questions dans leurs programmes de formation et de sensibilisation de routine afin que les employés se familiarisent avec les raisons de la sécurité cryptographique et apprennent à pratiquer des protocoles cryptographiques sonores, avec une formation sur le codage sécurisé des logiciels, les protocoles cryptographiques, les points forts et non clés, les vulnérabilités cryptographiques et les méthodes d'attaque.
La formation devrait être continue plutôt qu'une seule fois, couvrant de nouvelles menaces, des normes actualisées et des leçons tirées d'incidents de sécurité. Les développeurs devraient comprendre non seulement comment utiliser des outils cryptographiques, mais pourquoi certaines pratiques sont nécessaires et quels risques ils atténuent.
Établir une surveillance continue et une intervention en cas d'incident
La surveillance proactive permet aux organisations de détecter les problèmes cryptographiques et de réagir aux problèmes avant qu'ils ne se traduisent par des violations de données ou des interruptions de service.
La surveillance devrait suivre les périodes de validité du certificat, les défaillances de la poignée de main TLS, les erreurs de chiffrement et les modèles anormaux qui pourraient indiquer des attaques.
Les organisations devraient élaborer des procédures d'intervention en cas d'incidents spécifiques pour les défaillances cryptographiques, y compris des étapes pour la révocation des clés, le remplacement des certificats et la notification d'infraction.
Suivre les normes de classification et de protection des données
Appliquer les contrôles de sécurité requis selon la classification des données. Toutes les données ne nécessitent pas le même niveau de protection. Les organisations devraient classer l'information en fonction de la sensibilité et appliquer des contrôles de chiffrement appropriés à chaque catégorie.
Les cadres réglementaires fournissent des conseils sur les exigences de chiffrement pour des types de données spécifiques. GDPR, HIPAA et PCI DSS mandatent un chiffrement fort pour des types de données spécifiques, et les entreprises utilisant un chiffrement faible sont passibles d'amendes atteignant des millions de dollars plus les notifications obligatoires de manquement qui nuisent à la confiance des clients.
La classification des données devrait tenir compte de facteurs tels que les exigences réglementaires, l'incidence opérationnelle de la divulgation, les périodes de conservation et les modèles d'accès.
Considérations spécifiques en matière de chiffrement
Organisations de soins de santé
Les organisations de soins de santé stockent des renseignements médicaux protégés qui exigent la conformité à la LSIPAA et le faible cryptage des dossiers des patients, des demandes d'assurance et des antécédents médicaux crée une exposition à la responsabilité, les infractions dans ce secteur coûtant beaucoup plus cher que les autres industries en raison de la nature sensible des données sur la santé.
Les systèmes de santé doivent chiffrer les dossiers de santé électroniques, l'imagerie médicale, les résultats de laboratoire et les informations de facturation tant au repos qu'en transit. La nature interconnectée des TI de soins de santé, avec des données circulant entre les hôpitaux, les cliniques, les laboratoires, les compagnies d'assurance et les patients, crée de nombreux points où des défaillances de chiffrement peuvent survenir.
Les applications mobiles de santé et les plateformes de télémédecine posent d'autres défis en matière de chiffrement, car elles doivent protéger les données des patients sur les appareils grand public tout en maintenant leur convivialité et leur performance.
Institutions financières
Les institutions financières transmettent les données de carte de paiement conformément aux exigences du SSD PCI et utilisent des versions SSL/TLS dépréciées ou des suites de chiffrement faibles pendant les transactions, ce qui entraîne des défaillances de conformité et accroît le risque de fraude, les banques et les transformateurs de paiement faisant face à des sanctions réglementaires et à des pertes financières directes résultant de transactions frauduleuses.
Les services financiers traitent divers types de données nécessitant un cryptage, notamment les numéros de compte, les relevés de transactions, les justificatifs d'authentification et les renseignements personnels d'identification.
Les systèmes de traitement des paiements doivent satisfaire aux exigences du SSD PCI, qui précisent les normes de cryptage pour les données des détenteurs de carte.Ces exigences couvrent la transmission, le stockage et le traitement des données, avec des contrôles techniques spécifiques pour la gestion des clés, la sélection des algorithmes et la configuration du protocole.
Plateformes de commerce électronique
Les plateformes de commerce électronique protègent les informations de paiement des clients et les données personnelles, et un cryptage faible pendant les processus de caisse permet des attaques de rembourrage de justificatifs où les mots de passe volés donnent accès à des comptes sur plusieurs sites.
Les systèmes de commerce électronique doivent sécuriser les données des clients tout au long du parcours d'achat, de la navigation et de la gestion des paniers à la gestion des paiements et à l'exécution des commandes.
Les intégrations de tiers communes au commerce électronique, les passerelles de paiement, les fournisseurs de services d'expédition, les plateformes de marketing et les services d'analyse, créent des exigences de chiffrement supplémentaires.
Nouvelles menaces et considérations futures
Risques quantitatifs en matière de calcul
L'informatique quantique présente un risque futur pour de nombreux schémas asymétriques (RSA, ECC), et les organisations qui stockent des données chiffrées avec des exigences de confidentialité à long terme doivent planifier la migration vers des algorithmes post-quantum ou des schémas hybrides.
Les organismes de normalisation évaluent et standardisent ces algorithmes, le NIST s'efforçant d'établir des normes cryptographiques postquantes, et les organisations devraient surveiller ces développements et planifier des stratégies de migration.
Les approches hybrides qui combinent les algorithmes classiques et postquantiques offrent une solution transitoire, offrant une protection contre les menaces actuelles et futures.Ces systèmes permettent aux organisations de commencer à adopter la cryptographie résistante aux quantiques tout en maintenant la compatibilité avec les systèmes existants.
Défis du système hérité
Les systèmes et les dispositifs à longue durée de vie exigent souvent une compatibilité avec les systèmes en retard et le maintien de l'interopérabilité avec les modes existants non sûrs prolonge l'exposition et complique les politiques de déprécation.
Pour passer du cryptage des anciens à des normes modernes, il faut planifier soigneusement et mettre en oeuvre progressivement les systèmes d'inventaire en utilisant un cryptage faible, évaluer l'impact des mises à niveau sur les activités et élaborer des feuilles de route pour les migrations qui concilient les améliorations de la sécurité et les besoins opérationnels.
Lorsque la migration immédiate n'est pas possible, les contrôles compensatoires peuvent réduire les risques. La segmentation du réseau, la surveillance accrue et l'accès restreint peuvent limiter l'exposition pendant que les organisations travaillent à des améliorations globales.
Cloud et systèmes distribués
Les fournisseurs de services de cryptage de cloud offrent des services de cryptage, des systèmes de gestion des clés et des certifications de conformité qui peuvent simplifier la mise en œuvre de la sécurité.
Les organisations devraient établir des normes de chiffrement qui s'appliquent peu importe où les données se trouvent, assurant une protection uniforme à l'échelle des systèmes sur site, des nuages publics et des emplacements de bordure.
La gestion des clés de chiffrement devient plus complexe dans les systèmes distribués.Les organisations doivent décider d'utiliser les services de gestion des clés du fournisseur de services de cloud, de maintenir leur propre infrastructure clé ou d'adopter des approches hybrides.
Procédures d'essai et de validation
Scannage automatisé de sécurité
Utilisez un outil de balayage de vulnérabilité pour identifier les cas où les algorithmes de chiffrement sont faibles, car ces outils peuvent détecter les vulnérabilités connues dans les logiciels et identifier les cas spécifiques de faible algorithme de chiffrement qui doivent être traités.
Les tests de sécurité statiques des applications (SAST) analysent le code source pour identifier les faiblesses cryptographiques avant le déploiement. Ces outils peuvent détecter les clés codées en dur, l'utilisation d'algorithmes faibles, l'utilisation incorrecte de l'API et d'autres erreurs d'implémentation.
Les outils DAST peuvent tester les configurations TLS, identifier les chiffrements faibles, détecter les en-têtes de sécurité manquants et vérifier que le chiffrement est correctement appliqué.
Révision du code manuel
Bien que les outils automatisés soient précieux, l'examen manuel du code par les experts en sécurité peut identifier des vulnérabilités subtiles que la numérisation automatisée pourrait manquer.
Rechercher les mots-clés suivants pour identifier l'utilisation des algorithmes faibles: MD4, MD5, RC4, RC2, DES, Blowfish, SHA-1, BCE. La révision du code devrait examiner non seulement la sélection des algorithmes, mais aussi l'utilisation des paramètres, la gestion des erreurs, la gestion des clés et l'intégration avec d'autres contrôles de sécurité.
Les processus d'examen par les pairs où plusieurs développeurs examinent le code cryptographique peuvent attraper des erreurs avant d'arriver à la production.
Essai de pénétration
Effectuer un exercice de test de pénétration pour identifier toute faiblesse dans l'implémentation du cryptage du système, car cela peut aider à identifier tout cas de faible algorithme de cryptage et d'autres vulnérabilités qui pourraient être exploitées.
Les tests de pénétration cryptographique devraient comprendre des tentatives de déchiffrement des données, d'extraction des clés, d'exploitation de la génération de nombres aléatoires faibles, d'exécution d'attaques humaines dans le milieu et de contournement des contrôles de chiffrement.
Des essais réguliers de pénétration, effectués au moins une fois par année ou après des changements importants au système, aident les organisations à vérifier que les contrôles de chiffrement demeurent efficaces à mesure que les systèmes évoluent.
Exigences réglementaires et de conformité
Comprendre les cadres réglementaires
Plusieurs cadres réglementaires exigent le chiffrement des données sensibles, chacune comportant des exigences spécifiques et des obligations de conformité. Les organisations doivent comprendre quels règlements s'appliquent à leurs opérations et s'assurer que les cryptages sont conformes à toutes les normes applicables.
Le non-respect peut entraîner des amendes importantes, des notifications obligatoires de manquement, des enquêtes réglementaires et des dommages à la réputation. La compréhension des exigences réglementaires est essentielle pour la conformité juridique et la continuité des activités.
Vérifier que les algorithmes de chiffrement utilisés dans le système ou l'application sont conformes aux normes et aux règlements de l'industrie tels que le SSD PCI ou le HIPAA. Des tests de conformité devraient être effectués régulièrement pour assurer le respect continu des exigences réglementaires à mesure que les systèmes changent et que les règlements évoluent.
Documentation et pistes de vérification
La conformité à la réglementation exige une documentation exhaustive des pratiques de cryptage, y compris la sélection des algorithmes, les procédures de gestion des clés, les contrôles d'accès et les résultats des tests de sécurité.
Les pistes de vérification documentant les événements clés du cycle de vie – génération, distribution, rotation et destruction – fournissent des preuves d'une gestion clé appropriée.
Les processus de gestion du changement devraient documenter les modifications apportées aux systèmes de cryptage, y compris la justification des changements, les résultats de l'examen de la sécurité et les flux de travail d'approbation.
Politiques et procédures organisationnelles
Élaboration de normes de chiffrement
Les organisations devraient établir des normes officielles de chiffrement précisant les algorithmes approuvés, la longueur des clés, les protocoles et les pratiques de mise en oeuvre, qui fournissent des directives claires aux concepteurs et assurent une sécurité uniforme entre les systèmes.
Les normes de chiffrement devraient être fondées sur les meilleures pratiques et les exigences réglementaires de l'industrie, mises à jour régulièrement pour tenir compte de l'évolution des menaces et des capacités technologiques, et préciser non seulement ce qu'il faut faire, mais aussi ce qu'il faut éviter, en interdisant explicitement les algorithmes faibles et les pratiques non sûres.
Lorsque les systèmes existants ou des exigences particulières exigent un cryptage non standard, les demandes officielles d'exception doivent documenter la justification, les contrôles compensatoires et le calendrier de remise en état.
Planification de la réaction aux incidents
Les organisations devraient élaborer des procédures d'intervention en cas d'incident visant spécifiquement les défaillances cryptographiques, y compris les principaux compromis, l'expiration des certificats, les vulnérabilités en matière de chiffrement et les manquements aux données, et préciser les rôles, les responsabilités, les protocoles de communication et les étapes de remise en état.
Les principales procédures de compromis devraient porter sur les mesures de confinement immédiates, l'évaluation des répercussions, la révocation des principales, l'assainissement du système et les exigences en matière de notification.
Des exercices d'intervention en cas d'incidents réguliers, qui permettent de tester des scénarios de défaillance cryptographique, aident les organisations à cerner les lacunes dans les procédures et à améliorer leurs capacités d'intervention.
Gestion des fournisseurs et des tiers
Les organisations comptent de plus en plus sur les services et fournisseurs tiers, créant des dépendances en matière de chiffrement qui échappent au contrôle direct.
Les évaluations de sécurité des fournisseurs devraient examiner les algorithmes de cryptage, les pratiques de gestion clés, les certifications de conformité et les capacités d'intervention en cas d'incident, et les organisations devraient exiger que les fournisseurs les avisent des incidents de sécurité et fournissent des preuves de la conformité continue à la sécurité.
Les accords de service devraient préciser les exigences en matière de chiffrement, y compris les normes d'algorithme, les procédures de gestion clés et les droits d'audit, et garantir que les tiers respectent les normes de sécurité conformes aux exigences de l'organisation.
Liste de contrôle de mise en œuvre pratique
Sélection et configuration de l'algorithme
- Utiliser AES-256 pour le chiffrement symétrique avec le mode GCM ou CBC avec une manipulation IV appropriée
- Mettre en œuvre la norme TLS 1.2 ou plus pour toutes les communications réseau
- Utiliser SHA-256 ou SHA-3 pour le hachage cryptographique
- Mettre en œuvre Argon2, scrypt ou PBKDF2 pour le hachage par mot de passe avec des nombres d'itération appropriés
- Désactiver tous les algorithmes faibles, y compris DES, 3DES, RC4, MD5 et SHA-1
- Configurer les serveurs pour rejeter les suites de chiffrement faibles et les protocoles existants
- Activer le secret avant dans les configurations TLS
- Implémenter les en-têtes HSTS pour faire appliquer les connexions HTTPS
Principales exigences en matière de gestion
- Jamais de clés de chiffrement de code dur dans le code source ou les fichiers de configuration
- Utiliser des systèmes de gestion des clés ou des modules de sécurité du matériel dédiés
- Mettre en place une rotation automatique des clés sur les calendriers réguliers
- Limiter l'accès aux clés au personnel et aux systèmes autorisés seulement
- Chiffrer les clés lors de leur stockage ou de leur transmission
- Tenir des registres de tous les événements clés du cycle de vie
- Établir les procédures clés de sauvegarde et de récupération
- Mettre en place des capacités clés de révocation pour la réponse au compromis
- Utiliser des clés séparées pour différents usages et environnements
- Documenter les principales procédures et responsabilités de gestion
Élaboration et mise à l'essai des pratiques
- Utiliser des bibliothèques cryptographiques établies plutôt que des implémentations personnalisées
- Suivez la documentation de la bibliothèque et les modèles d'utilisation recommandés exactement
- Utiliser des générateurs de nombres aléatoires sécurisés cryptographiquement pour toutes les opérations sensibles à la sécurité
- Mettre en œuvre un traitement approprié des erreurs pour les opérations cryptographiques
- Valider tous les paramètres de fonction cryptographique
- Effectuer des examens de code axés sur les implémentations cryptographiques
- Effectuer des analyses automatisées de sécurité dans les pipelines de développement
- Essais de pénétration avant déploiement de la production
- Tester le chiffrement dans divers scénarios de défaillance
- Vérifier que le chiffrement ne peut pas être contourné ou désactivé
Contrôles opérationnels de sécurité
- Chiffrer toutes les données sensibles au repos et en transit
- Classer les données en fonction de leur sensibilité et appliquer un chiffrement approprié
- Désactiver la mise en cache pour les réponses contenant des informations sensibles
- Surveiller les dates d'expiration du certificat et renouveler de façon proactive
- Erreurs de poignée de main et de chiffrement de la piste TLS
- Tenir à jour l'inventaire des systèmes utilisant le chiffrement
- Appliquer rapidement les mises à jour de sécurité lorsque les vulnérabilités sont divulguées
- Effectuer régulièrement des audits de sécurité et des évaluations de conformité
- Examiner et mettre à jour les normes de chiffrement annuellement
- Offrir une formation continue en matière de sécurité aux équipes chargées du développement et des opérations
Ressources et lectures supplémentaires
Les organisations qui cherchent à améliorer leurs pratiques de chiffrement peuvent tirer parti de nombreuses ressources des organismes de sécurité, des organismes de normalisation et de la communauté de la sécurité en général. La FondationOWASP fournit une documentation exhaustive sur les défaillances cryptographiques, y compris des guides de test, des stratégies de prévention et des exemples concrets.
L'Institut national des normes et technologies (NIST) publie des directives faisant autorité sur les algorithmes cryptographiques, la gestion des clés et les normes de sécurité.
Les ressources propres à l'industrie répondent aux exigences de chiffrement pour des secteurs particuliers.Le PCI Security Standards Council[ offre des conseils pour la protection des données par carte de paiement, tandis que les organismes de santé peuvent se référer HIPAA Security Guidance[ du ministère de la Santé et des Services humains.
Les bibliothèques et les cadres cryptographiques fournissent de la documentation, des pratiques exemplaires et des exemples de mise en oeuvre. Les organisations devraient consulter la documentation pour les bibliothèques qu'elles utilisent, en s'assurant qu'elles comprennent l'utilisation et la configuration appropriées.
Les conférences sur la sécurité, les organisations professionnelles et les communautés en ligne offrent l'occasion d'apprendre auprès des experts et de rester à l'affût des menaces et des technologies en évolution.
Conclusion
Les défaillances de chiffrement représentent une vulnérabilité critique qui peut saper l'ensemble de la posture de sécurité d'une organisation.Ces défaillances ne sont pas nécessairement dues à des défauts dans les algorithmes cryptographiques eux-mêmes, mais résultent souvent d'un cryptage faible, de protocoles mal configurés, d'une mauvaise gestion des clés et de pratiques de traitement des données non sécurisées.
La voie du cryptage sécurisé exige une attention aux multiples dimensions : choisir des algorithmes puissants, les mettre en oeuvre correctement, gérer les clés correctement, configurer les systèmes de façon sécuritaire et maintenir la vigilance par des tests et des contrôles continus.Les organisations doivent traiter le cryptage comme un programme complet plutôt qu'une mise en oeuvre ponctuelle, avec des politiques, des procédures, une formation et des contrôles techniques qui travaillent ensemble pour protéger les données sensibles.
Les défaillances cryptographiques sont évitables, mais exigent une attention particulière aux détails et à la sécurité, et en accordant la priorité à de solides pratiques de cryptage, en assurant la manipulation des clés et en procédant à des tests d'application approfondis, les organisations peuvent réduire considérablement le risque d'exposition aux données et d'accès non autorisé.
À mesure que les menaces évoluent et que la technologie progresse, les pratiques de cryptage doivent s'adapter en conséquence.Les organisations devraient établir des processus de surveillance des développements cryptographiques, évaluer les nouvelles menaces et mettre à jour les contrôles de sécurité.