Le M2M permet de faire communiquer des objets à l'aide d'un boitier embarqué.
Les domaines d'applications sont ainsi très larges :
- supervision d'une flotte (véhicule, camion, ...),
- gestion de relevé de capteurs (éco-régulation, éclairage, ...),
- traçabilité (parcours d'une marchandise, suivi de position, ...),
- aide au diagnostic médical (pacemaker, apnée du sommeil, diabète, ...),
- traitements financiers (transactions sur bornes, ...).
Dans ces nombreux domaines, se pose la question de la confidentialité des données. En effet, connaître une position, traiter des données médicales, manipuler des informations bancaires sont des données très sensibles. Il faut proposer un moyen pour ne pas transmettre ces données en clair sur le réseau.
contraintes
Les boitiers communicants ont encore des performances limitées dans les versions standards. Les boitiers délivrent des performances 1000 fois inférieures à un PC standard. Pour aider à la comparaison : là où l'on parle de Gigaoctet pour les PC, on parle de Megaoctet pour les boitiers embarqués.
Pour un besoin de compétitivité, les ressources matérielles sont calculées au plus juste :
- l'espace disque est restreint (quelques Megaoctets),
- le CPU est d'ancienne génération (quelques dizaines de Megahertzs),
- le niveau de RAM est réduit au minimum (quelques Megaoctets).
Les traitements supplémentaires ne doivent donc pas pénaliser le fonctionnement.
la cryptographie à la rescousse
N'ayons pas peur des mots, il faut sortir l'artillerie lourde. Il faut utiliser de la cryptographie. Ainsi, de la signature numérique (authentification et intégrité de données), du chiffrement de données et de clés sont utilisés.
Pour cela, il faut mettre en place ;
- une PKI (Public Key Infrastructure) munie d'une CA (Certificate Authority) capable de certifier les objets communicants et la brique de connectivité sur une plateforme M2M,
- des librairies cryptographiques minimalistes côté client embarqué pour espérer pouvoir les stocker,
- un compromis pour s'adapter au monde de l'embarqué.
quel schéma adopter ?
Voyons maintenant comment on intègre de la cryptographie dans cette architecture.
Les objets munis d’un boitier possèdent chacun un certificat électronique avec un couple clé privée clé publique. Cela permet de mettre en œuvre du chiffrement asymétrique qui est le plus sûr. Le serveur hébergeant la brique de connectivité possède lui aussi une telle identité et son certificat est distribué à tous les boitiers. Tous ces acteurs ont été certifiés par la CA de l’infrastructure.
Pour palier au manque de performance, la taille des clés sera limitée à 1024 bits et non 2048 bits comme le conseille l'état de l'art actuel de la cryptographie. Un boitier est autonome et doit posséder un coffre-fort pour garder sa clé privée.
Le meilleur moyen est d'avoir un coffre fort matériel (carte à puce distincte de la carte SIM). Cette solution implique un coût supplémentaire et ne résout pas notre plus gros problème : Comment saisir un mot de passe ou insérer une carte à puce pour s'identifier et déverrouiller le coffre fort sans intervention humaine ?
Le compromis trouvé est de stocker dans un fichier (coffre fort logiciel) sans mot de passe le matériel cryptographique de l'objet communiquant. Pour améliorer cela, on peut déduire un mot de passe à partir d’un sceau identifiant le boitier. La brique de connectivité propose une meilleure sécurité avec un coffre fort protégée par un mot de passe.
Une fois que le matériel cryptographique est généré et distribué, il faut le mettre en œuvre.
Un schéma simple dans la cryptographie est utilisé : négocier une clé symétrique dite de session ayant de bonnes performances de chiffrement qui est protégée par un chiffrement asymétrique via les certificats (à ce propos, je vous conseille une (démonstration du professeur Audenard). Cette clé de session permet ensuite de chiffrer et de déchiffrer un message.
happy end
Et voilà donc comment on arrive à intégrer de la cryptographie en s'adaptant au domaine que l'on adresse. Une plateforme M2M est ainsi capable de faire circuler des données confidentielles sur le réseau de façon sécurisée.
Bertrand,
Crédit photo : © INFINITY - Fotolia.com
Ingénieur d'études chez It&L@bs, entité d’Orange Business, j'apporte mon expertise technique en cryptographie dans le domaine M2M. Les projets en mode agile avec Scrum sont un vrai plaisir pour moi.