Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial Internet of Things >> Technologie de l'Internet des objets

Sécurité IoT – Cryptographie

Note de l'éditeur :la sécurisation de l'Internet des objets est essentielle non seulement pour l'intégrité des flux de données et des logiciels au sein de chaque application IoT, mais également pour l'intégrité des ressources de l'entreprise liées à ces applications. La sécurité de l'IoT est un problème complexe, nécessitant une approche systématique pour comprendre les menaces possibles et les méthodes d'atténuation correspondantes.

Adapté de l'Internet des objets pour les architectes, par Perry Lea.


Chapitre 12. Sécurité de l'IoT
Par Perry Lea

Cryptographie

Le chiffrement et le secret sont des exigences absolues des déploiements IoT. Ils sont utilisés pour sécuriser la communication, protéger le micrologiciel et l'authentification. Concernant le chiffrement, il y a généralement trois formes à considérer :

cliquez pour agrandir l'image

Eléments de cryptographie. Voici les fonctions symétriques, asymétriques et de hachage. Notez l'utilisation des clés en cryptographie symétrique et asymétrique. Symmetric a l'obligation d'utiliser des clés identiques pour crypter et décrypter les données. Bien qu'elles soient plus rapides que le cryptage asymétrique, les clés doivent être sécurisées.

Cryptographie symétrique

Dans le chiffrement, le texte en clair fait référence à l'entrée non chiffrée et la sortie est appelée texte chiffré, car elle est chiffrée. La norme de cryptage est la Standard de cryptage avancé (AES ) qui a remplacé les anciens algorithmes DES datant des années 1970. AES fait partie de la spécification FIPS et de la norme ISO/IEC 18033-3 utilisée dans le monde entier. Les algorithmes AES utilisent des blocs fixes de 128, 192 ou 256 bits. Les messages plus grands que la largeur de bit seront divisés en plusieurs blocs. AES a quatre phases de fonctionnement de base pendant le chiffrement. Le pseudo-code pour un cryptage AES générique est affiché ici :

   // Psuedo code pour un chiffrement AES-128
   // entrée :128 bits (texte en clair)
   // out :128 bits (texte chiffré)
   // w :44 mots, 32 bits chacun (clé étendue)
   state =in
   w=KeyExpansion(key) //Phase d'expansion de la clé (chiffre efficacement la clé elle-même)
   AddRoundKey(state, w[0 , Nb-1]) //Initial Round
for round =1 step 1 to Nr–1 //128 bit=10 rounds, 192 bit =12 rounds, 256 bit =14 rounds
    SubBytes(state )   //Fournir une non-linéarité dans le chiffrement
    ShiftRows(state)  //Évite que les colonnes soient chiffrées indépendamment, ce qui peut
   affaiblir l'algorithme
    MixColumns(state) //Transforme chaque colonne et ajoute une diffusion au
   chiffrement
    AddRoundKey(state, w[round*Nb, (round+1)*Nb-1]) //Génère une sous-clé et
   la combine avec state.
   end for
   SubBytes(state)    //Dernier tour et nettoyage.
   ShiftRows(state)
   AddRoundKey(state, w[Nr*Nb, (Nr+1)*Nb-1] )
out =état

Faites défiler ou faites glisser le coin de la boîte vers développer au besoin.

Les longueurs de clé AES peuvent être de 128, 192 ou 256 bits. En règle générale, plus la longueur de la clé est grande, meilleure est la protection. La taille de la clé est proportionnelle au nombre de cycles CPU nécessaires pour chiffrer ou déchiffrer un bloc :128 bits nécessitent 10 cycles, 192 bits nécessitent 12 cycles et 256 bits nécessitent 14 cycles.

Les chiffrements par blocs représentent des algorithmes de chiffrement basés sur une clé symétrique et fonctionnant sur un seul bloc de données. Les chiffrements modernes sont basés sur les travaux de Claude Shannon sur les chiffrements de produits en 1949. Un mode de fonctionnement de chiffrement est un algorithme qui utilise un chiffrement par bloc et décrit comment appliquer à plusieurs reprises un chiffrement pour transformer de grandes quantités de données composées de nombreux blocs. La plupart des chiffrements modernes nécessitent également un Vecteur d'initialisation (IV ) pour garantir des textes chiffrés distincts même si le même texte en clair est entré à plusieurs reprises. Il existe plusieurs modes de fonctionnement tels que :

Ces modes ont été construits pour la première fois à la fin des années 1970 et au début des années 1980 et ont été préconisés par le National Institute of Standards and Technology dans FIPS 81 en tant que modes DES. Ces modes fournissent un cryptage pour la confidentialité des informations mais ne protègent pas contre la modification ou la falsification. Pour ce faire, une signature numérique est nécessaire et la communauté de la sécurité a développé CBC-MAC pour l'authentification. La combinaison de CBC-MAC avec l'un des modes hérités était difficile jusqu'à ce que des algorithmes comme AES-CCM soient établis, qui fournissent à la fois l'authentification et le secret. CCM signifie Compteur avec Mode CBC-MAC.

CCM est un mode de cryptage important utilisé pour signer et crypter les données et est utilisé dans une pléthore de protocoles couverts dans ce livre, notamment Zigbee, Bluetooth Low Energy, TLS 1.2 (après échange de clé), IPSEC et 802.11 Wi-Fi WPA2.

AES-CCM utilise des chiffrements doubles :CBC et CTR. Le mode AES-CTR ou compteur est utilisé pour le déchiffrement général du flux de texte chiffré entrant. Le flux entrant contient une étiquette d'authentification chiffrée. AES-CTR déchiffrera la balise ainsi que les données de charge utile. Une « balise attendue » est formée à partir de cette phase de l'algorithme. La phase AES-CBC de l'algorithme balise en entrée les blocs déchiffrés de la sortie AES-CTR et l'en-tête d'origine de la trame. Les données sont cryptées; cependant, les seules données pertinentes nécessaires à l'authentification sont la balise calculée. Si la balise calculée AES-CBC diffère de la balise AES-CTR attendue, il est alors possible que les données aient été falsifiées pendant le transport.

La figure ci-dessous illustre un flux de données chiffré entrant qui est à la fois authentifié à l'aide d'AES-CBC et déchiffré à l'aide d'AES-CTR. Cela garantit à la fois le secret et l'authenticité de l'origine d'un message :

cliquez pour agrandir l'image

Mode AES-CCM.

Une considération pour les déploiements IoT dans un maillage entièrement connecté est le nombre de clés nécessaires. Pour n nœuds dans un maillage qui désirent une communication bidirectionnelle, il y a n(n-1)/2 touches ou O(n 2 ) .


Technologie de l'Internet des objets

  1. La route vers la sécurité industrielle de l'IoT
  2. Sécurisation du vecteur de menace IoT
  3. Sécurité de l'IoT :à qui incombe la responsabilité ?
  4. Tout devient IoT
  5. Sécurité IoT – Un obstacle au déploiement ?
  6. Sécuriser l'IoT par la tromperie
  7. Automatisation et IoT :un mariage parfait pour la logistique et la sécurité des soins de santé
  8. La sécurité renforce le véritable potentiel de l'IoT
  9. Une année en revue :12 considérations relatives à la sécurité de l'IoT