Pause
Lecture
Moteur de recherche d'offres d'emploi CEA

Génération d'implémentations de protocoles avec cryptographie agile H/F


Détail de l'offre

Informations générales

Entité de rattachement

Le Commissariat à l'énergie atomique et aux énergies alternatives (CEA) est un organisme public de recherche.

Acteur majeur de la recherche, du développement et de l'innovation, le CEA intervient dans le cadre de ses quatre missions :
. la défense et la sécurité
. l'énergie nucléaire (fission et fusion)
. la recherche technologique pour l'industrie
. la recherche fondamentale (sciences de la matière et sciences de la vie).

Avec ses 16000 salariés -techniciens, ingénieurs, chercheurs, et personnel en soutien à la recherche- le CEA participe à de nombreux projets de collaboration aux côtés de ses partenaires académiques et industriels.  

Référence

2020-14876  

Description du poste

Domaine

Sécurité contre la malveillance

Contrat

Stage

Intitulé de l'offre

Génération d'implémentations de protocoles avec cryptographie agile H/F

Sujet de stage

Le Leti, institut de recherche technologique de Cea Tech, a pour mission de créer de la valeur et de l'innovation avec ses partenaires industriels. Il fait le lien entre la recherche fondamentale et la production de micro et nanotechnologies. Localisé à Grenoble (38), le Leti compte plus de 1 800 chercheurs et a des bureaux aux US et au Japon.

Le LSOSP, Laboratoire sécurité des objets et des systèmes physiques, mène des activités de R&D dans le domaine des technologies de sécurité et de protection de la vie privée. Il analyse et caractérise les risques auxquels sont soumis les systèmes électroniques et les composants; il conçoit des contre-mesures s'appuyant notamment sur des techniques cryptographiques mais aussi sur des modifications dans l'architecture des systèmes pour intégrer les technologies nécessaires (composants, codes embarqués, interfaces ou protocoles de communications...).

Durée du contrat (en mois)

6 mois

Description de l'offre

Ce stage se base sur un outil interne permettant la génération automatique de code C correspondant à des piles protocolaires à partir des spécifications. Ces spécifications seront écrites dans le langage F*, un langage pouvant faire l’objet de vérifications formelles de sécurité, afin de garantir la sécurité du protocole implémenté. En fonction du résultat de la vérification formelle du protocole, il est alors possible de générer le code C correspondant aux participants du protocole ou bien celui d'un attaquant implémentant une possible attaque trouvée pour l'outil de vérification. Générer automatiquement le code permet à la fois de gagner du temps de développement, de standardiser le forme du code pour différents protocoles et de réduire les erreurs humaines.

Cependant, la gestion des primitives cryptographiques dans la génération du code représente un challenge scientifique et technique. En effet, plusieurs contraintes de taille et/ou, de format peuvent exister (par exemple une clé RSA ne peut chiffrer des volumes importants de données) et ces contraintes doivent apparaître dans la modélisation afin de ne pas laisser l'utilisateur commettre des erreurs dans les choix de primitives. Certaines primitives peuvent également avoir des propriétés équivalentes et être interchangeables. Enfin, certains cas d'applications peuvent requérir des primitives très particulières (ex: crypto homomorphe) devant être modélisées au moyen de théories équationnelles.


Le candidat devra être en mesure de:

1) Prendre en main l'outil de génération de code existant, d'y ajouter des implémentations de primitives cryptographiques (basées sur des bibliothèques comme mbedTLS) et permettre une interchangeabilité des primitives si leurs propriétés le permettent ;

2) Ajouter des fonctionnalités à l'outil afin de définir des contraintes sur l'utilisation de primitives cryptographiques afin de détecter des incohérences lors de la génération de code ;

3) Permettre la modélisation de théories équationelles pour décrire des primitives aux propriétés particulières.

Moyens / Méthodes / Logiciels

C, Python, Linux, Docker

Profil du candidat

Niveau : Master 2 (ou équivalent) en sécurité informatique
Durée : 6 mois
Prérequis : Cryptographie, langages de programmation (C, Python), connaissances en sécurité des protocoles de communications

Localisation du poste

Site

Grenoble

Localisation du poste

France

Ville

Grenoble