Company
|
DELTATEC |
Location
|
Ans |
Pubication Date
|
04 Nov 2024 |
Sujets de stages / TFE 2024-2025:
Software Stage / TFE #1 – Embedded USB WebCam
Titre : « Implémentation d’une interface USB webcam sur système embarqué»
Cible : Sciences Informatiques / Bachelier, Master, Ingénieur en Informatique / Electronique
Centre de compétence interne: Embedded / PC System
Description du travail :
DELTATEC est actif dans le monde la vision industrielle : de par son expérience dans le développement de matériel personnalisé autour de capteur, DELTATEC identifie un nouveau créneau dans le domaine de caméras intelligentes. Afin d’interface facilement ces appareils avec des plateformes standard (PC sous Windows ou Linux, tablette, …), il est primordial de maitriser les interfaces standards permettant l’interopérabilité native avec les systèmes d’exploitations classiques tels que Windows, Linux et OSx.
L’interface USB se prête très bien à ce genre d’application : ces différentes évolutions permettent d’atteindre des débits en corrélation avec les besoins actuels (en termes de résolutions et de débit d’image). Pour ce faire, la norme USB propose des interfaces dédiées, les « device class » UVC et UAC visant à faire transiter en streaming des flux vidéo et audio.
Le travail consiste à ajouter une nouvelle interface de sortie à un appareil embarqué permettant de le faire apparaitre sous la forme d’une webcam USB, et pouvoir ainsi l’utiliser comme sources multimédia dans diverses applications de téléconférences (type webex, zoom, slack et consorts), tout en maitrisant le chemin des données, permettant d’envisager l’insertion d’un traitement spécifique temps réel sur le flux d’image (AI, …)
Le but est donc la mise en place d’une interface USB type « Webcam » sur une plateforme SBC (single board computer) similaire à un Rapsberry PI. Ces plateformes, bon marchées et facilement accessibles, permettent, dans le monde de l’industrie, du prototypage rapide, permettant de valider des idées, des concepts et d’évaluer rapidement (et à moindre coût) la faisabilité
Ce travail nécessite :
- De prendre en main une plateforme embarquée et son OS (Raspberry par exemple).
- De comprendre le standard USB pour configurer un appareil Linux en tant que Slave USB en utilisant les « USB Gadgets », en apportant les modifications Kernel nécessaires.
- De se familiariser avec la norme USB, et en particulier, les classes USB UVC (USB Video Class) et UAC (USB Audio Class) nécessaire pour la réalisation de la « webcam ».
- De maitriser les formats vidéo et audio supportés par les normes UVC et UAC.
- De comprendre les mécanismes permettant d’alimenter le flux média (vidéo et audio) en prenant en compte la problématique de la synchronisation entre les deux flux (vidéo et audio).
- De mettre en œuvre un système de compression (H.264) assisté par de l’accélération matérielle dont le débit est en ligne avec la bande passante de l’interface USB.
- De réaliser des tests de performances pour caractériser les possibilités de la plateforme (bande passante, …) et de valider l’implémentation avec du matériel Windows et Linux.
Software Stage / TFE #2 – OP-TEE
Titre : « Étude, compréhension et mise en pratique de OP-TEE pour l'authentification logicielle et la ségrégation matérielle sur plateforme STM32MP1 »
Cible : Sciences Informatiques / Bachelier, Master, Ingénieur en Informatique / Electronique
Centre de compétence interne: Embedded / PC System
Description du travail :
Le travail de fin d'étude vise à explorer les possibilités offertes par la technologie OP-TEE (Open Portable Trusted Execution Environment) pour renforcer les mécanismes d'authentification logicielle et la ségrégation matérielle sur des plateformes hétérogènes telles que la plateforme STM32MP1. L'objectif principal est de comprendre en profondeur le fonctionnement d'OP-TEE, d'étudier son intégration dans les mécanismes d'authentification logicielle existants et son implication dans le processus de secure boot, et d'explorer les possibilités de ségrégation matérielle offertes par cette technologie.
Le travail débute par une étude approfondie au travers de la documentation officielle pour en comprendre ses fonctionnalités, de son architecture et de son mode de fonctionnement.
Il convient également d'identifier les différentes caractéristiques de sécurité offertes par OP-TEE et de comprendre comment elles peuvent être appliquées aux mécanismes d'authentification logicielle (en particulier, son intégration dans le processus de secure boot) et à la ségrégation matérielle. Le processus de signature doit être également abordé.
Les résultats de cette première partie seront mis en pratique sur une plateforme STM32MP1 en intégrant OP-TEE dans la phase d’authentification du Kernel et du Root File System par U-BOOT, en validant la robustesse du système en simulant diverses attaques.
Exploration de la ségrégation matérielle avec OP-TEE :
Cette étape se concentre sur l'utilisation d'OP-TEE pour la ségrégation matérielle sur la plateforme STM32MP1. Il convient d'analyser les différentes fonctionnalités de ségrégation matérielle offerte par OP-TEE et de les appliquer à des scénarios concrets sur la plateforme STM32MP1. Cela peut inclure la création de profils de confiance, la gestion des partitions matérielles sécurisées et la sécurisation des interfaces entre les différents composants matériels.
Software Stage / TFE #3 – Normes cyber sécurité
Titre : «Etude et analyses des normes liées à la cyber sécurité associée aux objets connectés (IoT) »
Cible : Sciences Informatiques / Bachelier, Master, Ingénieur en Informatique
Centre de compétence interne: Embedded / PC System
Description du travail :
Dans le contexte actuel de l'essor des appareils connectés (Internet of Things - IoT), la sécurité des systèmes IoT est devenue une préoccupation majeure. Les normes de cyber sécurité jouent un rôle essentiel dans la protection des appareils connectés contre les menaces et les vulnérabilités potentielles. Ce travail consiste à explorer en profondeur les normes de cyber sécurité européennes et internationales applicables aux appareils connectés, y compris la norme NIS2.
La gestion des clés cryptographiques est un aspect critique de la sécurité des systèmes IoT. La protection adéquate des clés utilisées pour le chiffrement des données, l'authentification des dispositifs et l'établissement de communications sécurisées sont essentiels pour garantir l'intégrité, la confidentialité et l'authenticité des données échangées entre les appareils connectés. Ce travail se concentrera donc sur l'analyse et la comparaison des normes de cyber sécurité qui abordent spécifiquement la gestion, le stockage, le transport et l'accès protégé aux clés.
Le travail consistera en une revue de la littérature afin d'identifier et de recenser les normes de cyber sécurité pertinentes pour les appareils connectés, en mettant un accent particulier sur les aspects liés à la gestion des clés. Cette analyse permettra de comprendre les exigences spécifiques auxquelles les systèmes IoT doivent se conformer en ce qui concerne la protection des clés cryptographiques. On inclura une analyse comparative approfondie pour évaluer les différences et les similitudes entre les normes européennes et internationales, y compris la norme NIS2. Les thématiques de gestion, stockage, transport et l'accès protégé aux clés doivent être abordées.
Le travail comprendra également une étude des bonnes pratiques et des solutions technologiques disponibles pour assurer une gestion sécurisée des clés dans les systèmes IoT. Des exemples de protocoles et de mécanismes de gestion des clés, tels que le protocole de distribution de clés Diffie-Hellman ou les modules de sécurité matériels (HSM), seront examinés afin de comprendre comment ils peuvent être mis en œuvre pour renforcer la sécurité des clés dans les appareils connectés.
Software Stage / TFE #4 – Mise à jour sécurisée OTA utilisant RAUC
Titre : « Conception et implémentation d'un système de mise à jour OTA sécurisé pour système embarqué ARM en utilisant le framework RAUC »
Cible : Sciences Informatiques / Bachelier, Master, Ingénieur en Informatique
Centre de compétence interne: Embedded / PC System
Description du travail :
Le travail se concentre sur le développement d'un système de mise à jour OTA (Over-The-Air) sécurisé pour les systèmes embarqués basés sur l'architecture ARM. L'objectif principal est d'utiliser le framework RAUC pour faciliter les mises à jour du système embarqué, tout en mettant l'accent sur la sécurisation des données et la protection en cas d'erreur lors des opérations de mise à jour.
Le système embarqué est omniprésent dans divers domaines tels que l'automobile, l'industrie, et les appareils intelligents. La capacité de mettre à jour ces systèmes à distance sans intervention physique est essentielle pour garantir la flexibilité, la maintenance et la sécurité à long terme. Cependant, la mise à jour d'un système embarqué peut présenter des défis, notamment en termes de sécurité et de gestion des erreurs.
Pour ce travail, nous proposons d'utiliser le framework RAUC (Robust Auto-Update Controller) pour faciliter les mises à jour du système embarqué ARM. RAUC est un outil open source conçu pour les systèmes Linux embarqués, offrant des fonctionnalités avancées de gestion des mises à jour OTA. Il est spécialement conçu pour résoudre les problèmes de robustesse, de sécurité et de gestion des erreurs.
La sécurisation des données est une priorité majeure dans tout système de mise à jour OTA. Nous aborderons donc en détail les techniques de chiffrement et d'authentification utilisées pour garantir l'intégrité des mises à jour et prévenir les attaques potentielles. Nous explorerons également les méthodes de gestion des clés et les protocoles de sécurité adaptés aux contraintes des systèmes embarqués ARM.
En ce qui concerne la protection en cas d'erreur (fallback), il est demandé d’identifier les mécanismes permettant de rétablir le système dans un état fonctionnel en cas d'échec ou de corruption lors de la mise à jour. Nous étudierons les techniques de partitionnement de la mémoire et de sauvegarde, ainsi que les algorithmes de vérification d'intégrité pour détecter les erreurs et restaurer l'état précédent en cas de problème.
Le travail se concrétisera par la mise en œuvre d’un prototype sur une plateforme SBC type Raspberry.
Software Stage / TFE #6 – Multi screen rendering with Unreal Engine
Titre : « Etude et Application du moteur Unreal dans un contexte de rendu distribué »
Cible : Bachelier Sciences Informatique / Master Ingénieur Industriel Informatique
Centre de compétence interne: Computer Graphics
Description du travail :
DELTACAST commercialise plusieurs produits réalisant de la synthèse graphique dans des solutions Broadcast : Réalité Augmentée, Réalité Virtuelle, Habillage de transmissions télévisuelles, … A cette fin, DELTACAST a développé son propre produit d’habillage distribué pouvant adresser un grand nombre périphériques de sorties / d’affichage.
En parallèle, les concepteurs de studio virtuels et les « Motion Designers » ont commencé à adopter massivement le moteur graphique Unreal, développé à l’origine pour des jeux vidéo par Epic.
Le travail s’intéressera à la technologie nDisplay intégrée dans le moteur de rendu Unreal ; permettant de piloter de façon synchronisée plusieurs instances du moteur Unreal distribuées sur plusieurs ordinateurs distants et pilotant des écrans multiples de façon parfaitement synchrone.
En particulier, le travail consistera en :
- Une étude et une analyse détaillées des concepts mis en place : synchronisation d’horloges, synchronisation du hardware, mécanisme de « rattrapage », contraintes éventuelles sur le hardware, le software et les scènes de rendu, …
- Mise en place d’une infrastructure compatible avec nDisplay avec le matériel adéquat et d’une démonstration des possibilités, avec une ou plusieurs scènes représentatives, en ce compris la vérification du bon fonctionnement de la solution en environnement perturbé et contraint (stress-tests). Le caractère « frame-accurate » sera un point d’attention particulier, et portera sur la synchronisation de la reproduction sur les écrans physique.
- Réalisation d’un démonstrateur mettant en œuvre le rendu d’une scène synthétisée par morceau par plusieurs renderers unreal et affichée par morceau sur plusieurs écrans. La scène comportera, entre autres, une horloge, l’animation d’un élément traversant la scène, et éventuellement le playback d’une vidéo offline.
Software Stage / TFE #7 – HDR rendering and transmission
Titre : « Etude d’une solution de rendu et de transmission de signaux HDR »
Cible : Bachelier Sciences Informatique / Master Ingénieur Industriel Informatique
Centre de compétence interne: Computer Graphics
Description du travail :
DELTACAST commercialise plusieurs produits réalisant de la synthèse graphique dans des solutions Broadcast et Pro AV : Réalité Augmentée, Réalité Virtuelle, Habillage de transmissions télévisuelles, … A cette fin, DELTACAST a développé son propre moteur de rendu basé sur DirectX, actuellement exclusivement SDR.
HDR (High Dynamic Range) est une technologie d'affichage qui offre une plage dynamique plus étendue entre les parties les plus claires et les plus sombres d'une image par rapport aux technologies SDR (Standard Dynamic Range). Les premières démonstrations HDR dans les écrans ont eu lieu dans les années 2010, marquant une avancée significative par rapport aux capacités SDR. Les premiers écrans HDR ont été commercialisés autour de 2015-2016. Des entreprises comme Sony, LG, et Samsung ont été parmi les pionnières à intégrer cette technologie dans leurs téléviseurs haut de gamme. Pour assurer une expérience cohérente et de haute qualité, des normes et des certifications telles que HDR10, Dolby Vision, et HLG (Hybrid Log-Gamma) ont été développées. À partir de 2020, HDR a commencé à être utilisé plus largement dans les événements en direct : concerts, conférences, et événements sportifs. Les musées, les parcs à thème, et les espaces publics ont également commencé à intégrer des écrans HDR dans leurs installations permanentes.
Durant le travail, nous analyserons comment on peut intégrer la synthèse de contenu HDR dans un moteur de rendu temps réel ainsi que la manière de transmettre ce type de signaux vers les périphériques d’affichage compatibles HDR (interfaces HDMI, Display Port).
En particulier, le travail consistera en :
- Une étude des frameworks de synthèse (3D) permettant nativement la gestion de contenu HDR (DirectX, Vulkan, OpenGL, Unreal…) : Synthèse et transmission en HDR.
- Une étude des passerelles éventuelles entre des frameworks « legacy » (typiquement DirectX9) ne supportant potentiellement qu’une partie des exigences, et des frameworks plus modernes supportant l’ensemble des exigences (typiquement DirectX12).
- Une étude des mécanismes à mettre en œuvre pour mélanger plusieurs couches graphiques HDR ensembles lorsque celles-ci contiennent un canal de transparence (blending operation).
- Réalisation d’un démonstrateur mettant en œuvre une chaine de rendu complète en HDR compatible avec le moteur de rendu DELTACAST : génération graphique en HDR, mixage, et transmission du contenu en HDR vers un périphérique d’affichage compatible.