Formation Connectivité TCP/IP et Sécurité SSL/TLS sur MCU

Logo TCP/IP et TLS

OBJECTIFS

L’utilisation de microcontrôleurs 32 bit ne cesse de croître dans la réalisation d’applications électroniques embarquées. Lorsque des critères tels que la vitesse d’exécution, le besoin de connectivité, une taille mémoire limitée ou encore une consommation optimisée sont déterminants, l’utilisation de ces composants semble particulièrement adaptée. A cela s’ajoute une complexité logicielle croissante (multitâches, tâches prioritaires ou temps réel, utilisation de piles de communication et de sécurité). Tout cela implique de nombreux changements d’architecture logicielle qu’il vaut mieux connaitre avant de se lancer. Notre formation vise donc à accélérer la prise en main de de les nouveaux concepts de programmation liés à l’utilisation d’une pile de communication TCP/IP et de protocoles de sécurité SSL/TLS qui sont probablement parmi les briques de middleware les plus complexes que l’on retrouve sur de petits microcontrôleurs. Vous apprendez comment :
  • Mettre en place une pile de communication TCP/IP, utiliser les sockets UDP et TCP et configurer un serveur Web dynamique avec les contraintes propre à l’embarqué sur une cible microcontrôleur 32 bit
  • Comprendre les concepts de sécurité du protocole TLS pour vous permettre d’échanger efficacement avec le service informatique de votre entreprise
  • Mettre en place des protocoles sécurisés comme HTTPS sur microcontrôleur en comprenant les contraintes d’usage RAM
  • Utiliser un environnement de développement et de débogue JTAG / SWD (une démonstration des possibilités débogue via la Trace ETM est possible sur demande)
A QUI S’ADRESSE CE STAGE
Ce stage s’adresse aux ingénieurs et techniciens de développement qui souhaitent mettre en œuvre concrètement du middleware de connectivité et de sécurité sur microcontrôleur. La pratique du langage C et de sa mise en œuvre dans des applications à base de microcontrôleur ARM Cortex-M est indispensable.

MÉTHODE

Chaque participant sera doté pendant toute la durée du stage d’un PC muni d’un environnement de développement, d’une sonde de débogue USB - JTAG/SWD et d’une plate-forme d’évaluation à base de composant STM32. Notre formation est essentiellement basée sur des exercices pratiques.
DOCUMENTATION
L’ensemble des documents, comprenant les supports de cours, les notes d’application, les manuels d’utilisation, les articles techniques et les programmes étudiés pendant le stage vous sera remis au cours de la formation. Ce support vous apportera une aide précieuse pour exploiter avec succès une connectivité TCP/IP sécurisée par TLS dans vos applications futures.

THÉORIE

Théorie TCP/IP (durée : 2 heures)
  • Présentation du modèle OSI
  • Présentation des couches protocolaires TCP/IP
  • Ethernet et la gestion de collisions
  • Adresse MAC et adresse IP
  • Notion de routage
  • Protocole ARP
  • Utilisation des sockets en mode connecté (TCP)
  • Utilisation des sockets en mode non connecté (UDP)
  • Notions de Ports et Sockets
  • Connexion Client – Serveur
Théorie SSL/TLS (durée : 2 heures)
  • Introduction & Historique SSL/TLS
  • Encryption / Intégrité / Authentification
  • Pile de communication SSL/TLS
  • Suites cryptographiques TLS
  • Algorithme d’échange de clés
  • Fonctionnement du handshake TLS
  • Chaîne de certificats
PRATIQUE
Les travaux pratiques sont réalisés autour d’une pile de communication TCP/IP et SSL/TLS embarquée open source (CycloneTCP + CycloneSSL) sur carte à base de composant STM32 à cœur ARM Cortex-M4. Pratique TCP/IP (durée : 6h)
  • Prise en main d’une stack TCP/IP sur STM32
  • Fonctions de base d’un contrôleur Ethernet
  • Mise en place DHCP
  • Interaction de la stack TCP/IP avec un RTOS comme FreeRTOS (note : un usage sans RTOS, en Bare Metal, est aussi possible)
  • Découverte des sockets UDP et TCP au travers d’une application de tchat
  • Mise en place d’un serveur Web avec contenu dynamique (CGI et Ajax)
  • Mise en place de sockets et établissement d’une communication avec une application PC
Pratique SSL/TLS (durée : 6h)
  • Génération de paramètres DH
  • Génération de certificats RSA
  • Génération de certificats ECDSA
  • Mise en place d'un serveur HTTP sécurisé
  • Génération de clés privés et certificats (avec OpenSSL)

Calendrier Formations 2019