Mettre en place une authentification sécurisée sans être un expert en cryptographie

"La sécurité numérique est l'un des sujets les plus connus dans Electronique concevoir aujourd'hui. Le cryptage est probablement le premier mot qui vient à l'esprit lorsque les ingénieurs pensent à la sécurité, et seuls quelques ingénieurs pensent à l'authentification. Cependant, l'authentification est une fonction essentielle d'un dispositif ou d'une transaction sécurisée.

"

L'authentification est importante. Grâce aux solutions existantes basées sur le silicium, nous pouvons activer l'authentification sans avoir besoin d'être des experts en implémentation de cryptographie.

introduire

La sécurité numérique est l'un des sujets les plus connus de la conception électronique aujourd'hui. Le cryptage est probablement le premier mot qui vient à l'esprit lorsque les ingénieurs pensent à la sécurité, et seuls quelques ingénieurs pensent à l'authentification. Cependant, l'authentification est une fonction essentielle d'un dispositif ou d'une transaction sécurisée.

Envisagez la vérification d'identité en termes de banque à domicile. De toute évidence, vous souhaitez crypter des informations confidentielles telles que les soldes et les numéros de compte. Cela se produit lorsque votre navigateur Internet affiche un cadenas vert avec https://. Autrement dit, la première chose que le navigateur Internet vérifie lors de l'établissement d'une connexion sécurisée est que le site Web de la banque est authentique ; en d'autres termes, il authentifie le site Web de la banque. Sans authentification, vous pourriez envoyer des informations de connexion et de mot de passe à des sites d'usurpation d'identité, ce qui peut être très dangereux, car ces informations d'identification peuvent être réutilisées pour exécuter tout type d'activité non autorisée au nom d'une transaction de titulaire de compte bancaire sans méfiance. La navigation Internet sécurisée est généralement réalisée via le protocole TLS/SSL, qui, en plus du cryptage, garantit l'authenticité et la confidentialité.

L'authentification est également importante pour les applications de l'Internet des objets (IoT) : les terminaux non fiables peuvent mettre en danger des infrastructures entières. Considérons un compteur intelligent connecté à un système de distribution électrique. Un moyen facile pour les attaquants de compromettre le réseau consiste à charger des virus ou des logiciels malveillants dans les compteurs intelligents. Les compteurs infectés peuvent alors envoyer de faux messages à l'infrastructure qui reflètent une consommation d'énergie très différente de la consommation d'énergie réelle, ce qui peut à son tour entraîner un déséquilibre du réseau. Si le réseau surdéclare, cela entraînera le détournement de la puissance apparemment excédentaire ailleurs, mais si le réseau sous-déclare, cela provoquera une augmentation de la puissance; dans le pire des cas, l'attaque pourrait déclencher un black-out total en perturbant l'équilibre du réseau. Pour éviter cela, il est nécessaire de vérifier que le matériel du compteur et son micrologiciel sont authentiques. Le processus de vérification du micrologiciel s'appelle Secure Boot.

Implémenter une méthode d'authentification valide

Maintenant que nous comprenons son importance, discutons de la façon d'implémenter l'authentification. La méthode d'authentification la plus simple consiste à utiliser un mot de passe. Dans notre exemple de compteur intelligent, l'appareil pourrait envoyer un code au système de contrôle du réseau. Le serveur vérifiera le mot de passe, puis autorisera d'autres transactions. Bien que cette approche soit facile à comprendre, ce n'est pas de loin la meilleure. Un attaquant peut facilement surveiller les communications, enregistrer le mot de passe et le réutiliser pour authentifier des appareils non authentiques. Par conséquent, nous considérons que l'authentification par mot de passe est faible.

Une meilleure façon d'effectuer l'authentification dans le monde numérique est la méthode défi-réponse. Examinons deux types de méthodes de défi-réponse : l'une basée sur la cryptographie symétrique et l'autre basée sur la cryptographie asymétrique.

Authentification par mot de passe symétrique

L'authentification basée sur le chiffrement symétrique repose sur un secret partagé. L'hôte et l'appareil à authentifier ont le même code clé. L'hôte envoie un nombre aléatoire, le défi, à l'appareil. Le dispositif calcule une signature numérique en fonction de la clé et du défi et la renvoie à l'hôte. L'hôte exécute ensuite le même calcul et compare les résultats. Si les deux calculs correspondent, l'appareil est authentifié (Figure 1). Pour s'assurer que les résultats ne peuvent pas être imités, des fonctions avec des propriétés mathématiques suffisantes doivent être utilisées. Par exemple, les secrets ne peuvent pas être récupérés sans forcer le calcul du résultat. Les fonctions de hachage sécurisées telles que SHA-256 prennent en charge ces exigences. Pour la méthode défi-réponse, l'appareil prouve qu'il connaît le secret sans le révéler. Même si un attaquant intercepte la communication, l'attaquant ne peut toujours pas accéder au secret partagé.


Figure 1. L'authentification basée sur le chiffrement symétrique repose sur des numéros de clé partagés entre l'hôte et l'appareil.

Authentification cryptographique asymétrique

L'authentification basée sur le chiffrement asymétrique repose sur deux clés : une clé privée et une clé publique. La clé privée n'est connue que de l'appareil à authentifier, tandis que la clé publique peut être révélée à toute entité désireuse d'authentifier l'appareil. Comme avec la méthode décrite précédemment, l'hôte envoie un défi à l'appareil. L'appareil calcule une signature basée sur le challenge et la clé privée et la renvoie à l'hôte (Figure 2). Mais ici, l'hébergeur utilise la clé publique pour vérifier la signature. Il est également important que la fonction utilisée pour calculer la signature ait certaines propriétés mathématiques. Les fonctions les plus couramment utilisées pour les schémas asymétriques sont RSA et ECDSA. Ici aussi, l'appareil prouve qu'il connaît un secret, la clé privée, sans le révéler.


Figure 2. L'authentification par clé asymétrique repose sur des clés publiques et privées.

Pourquoi les circuits intégrés sécurisés sont bons pour l'authentification

L'authentification challenge-réponse nécessite toujours que l'objet soit authentifié afin de préserver le secret. Dans le chiffrement symétrique, il s'agit d'un secret partagé entre l'hôte et l'appareil. Pour le chiffrement asymétrique, il s'agit de la clé privée. Quoi qu'il en soit, la sécurité apportée par l'authentification challenge-réponse se brise lorsque des secrets sont divulgués. C'est là que les circuits intégrés de sécurité peuvent aider. Une propriété essentielle d'un titre IC est de fournir une protection solide des clés et des secrets.

maximum propose trois familles de solutions d'authentification :

Circuits intégrés d'authentification : il s'agit de dispositifs configurables mais à fonction fixe qui offrent le moyen le plus rentable de mettre en œuvre l'authentification par défi-réponse, ainsi qu'un ensemble compact d'opérations cryptographiques.

Microcontrôleurs sécurisés : en plus de prendre en charge l'authentification challenge-réponse, ces appareils fournissent une suite complète de fonctions cryptographiques, y compris le chiffrement.

Microcontrôleurs basse consommation : bien que ces produits ne soient pas spécifiquement destinés à la sécurité, ils disposent de tous les éléments de base nécessaires pour permettre une authentification forte.

Certifié IC

Parmi les CI d'authentification, les produits basés sur SHA-256 prennent en charge l'authentification à l'aide d'un secret partagé (Figure 3), tandis que les CI basés sur ECDSA utilisent des paires de clés privées/publiques (Figure 4). En plus du moteur de cryptage, ces produits disposent également d'une mémoire EEPROM intégrée. Cette mémoire est configurable et peut être utilisée pour stocker des données utilisateur authentifiées, telles que des informations d'étalonnage pour les capteurs.

Les produits basés sur SHA-256 sont la solution la plus rentable. Bien qu'ils permettent une authentification mutuelle, la distribution de la clé partagée nécessite certaines précautions afin que la clé ne soit pas exposée lors de la fabrication et de la configuration de l'appareil. Ce secret peut être programmé à l'usine Maxim pour contourner cette lacune.


Figure 3. L'authentification sécurisée SHA-256 est basée sur un secret partagé.

Les circuits intégrés DS28E15/DS28E22/DS28E25 de Maxim sont basés sur SHA-256 sans souci et ont différentes tailles de mémoire interne. Étant donné que la même clé est stockée côté hôte et côté périphérique, il est recommandé d'utiliser un coprocesseur tel que le DS2465 côté hôte.

Les produits basés sur le chiffrement asymétrique (tels que DS28C36 et DS28E35) offrent une solution plus flexible car il n'est pas nécessaire de protéger la clé contre la divulgation côté hôte. Cependant, pour décharger les calculs de clé publique et fournir des opérations de sécurité supplémentaires, un coprocesseur côté hôte tel que le DS2476 (un circuit intégré compagnon du DS28C36) peut être utilisé pour simplifier le développement de la solution système.


Figure 4. L'authentification basée sur ECDSA repose sur des paires de clés privées/publiques.

Microcontrôleur sécurisé prenant en charge le chiffrement symétrique et asymétrique

Maxim propose des microcontrôleurs sécurisés allant des processeurs de niveau application MAX32590 (ARM9 fonctionnant à 384 MHz) qui peuvent exécuter des systèmes d'exploitation de haut niveau tels que Linux, aux coprocesseurs à petit facteur de forme tels que le MAX32555 ou le MAXQ1061.

Ces microcontrôleurs prennent en charge le chiffrement symétrique et asymétrique et les algorithmes cryptographiques pour les signatures numériques et l'authentification. Ils comportent des accélérateurs matériels pour SHA, RSA, ECDSA et AES, ainsi qu'une bibliothèque cryptographique complète, fournissant une API clé en main conforme aux normes. Ils disposent d'une fonction de démarrage sécurisé intégrée, de sorte que l'authenticité du micrologiciel est toujours garantie. Ils peuvent gérer une grande variété de schémas d'authentification grâce à leur ensemble complet de fonctionnalités de chiffrement.

Le MAXQ1061 est un coprocesseur qui prend non seulement en charge l'authentification, mais gère également les étapes les plus critiques du protocole de communication sécurisé IP standard TLS/SSL. Le traitement du protocole TLS sur puce augmente le niveau de sécurité et décharge le processeur principal des tâches de calcul intensives. Ceci est très utile pour les systèmes embarqués à ressources limitées.

microcontrôleur basse consommation

Les microcontrôleurs basse consommation tels que le MAX32626 sont destinés aux appareils portables et ne sont donc pas des circuits intégrés «axés sur la sécurité». Cependant, le produit est conçu en gardant à l'esprit les futurs défis de sécurité à mesure que les attaques deviennent plus fréquentes. Par conséquent, le MAX32626 dispose d'une unité de protection de confiance matérielle qui prend en charge l'authentification ainsi que l'AES matériel pour le chiffrement et le démarrage sécurisé intégré.