• Aucun résultat trouvé

Comparaison avec l’état de l’art

4.7

Afin de comparer les capacités du MCCP avec celles des crypto-systèmes publiés dans la littérature, nous reprendrons ici la même approche que celle adoptée pour la synthèse du chapitre Chapitre 1 (cf. partie 2.4.6 page 71). Nous comparerons donc dans cette partie le MCCP avec les architectures Celator, COBRA, CrCU, Cryptomaniac et AESTHETIC au travers des cinq critères d’évaluation que sont l’interopérabilité, l’évolutivité, les performances et le

parallélisme.

Interopérabilité : L’interopérabilité du MCCP est basée sur le fait que celui-ci possède une

architecture à la fois programmable et dynamiquement reconfigurable. Le caractère reconfigurable du MCCP s’apparente à celui de CrCU dans la mesure où ces deux crypto-systèmes sont destinés à être implantés sur FPGA. Néanmoins, le MCCP possède l’avantage par rapport à CrCU de pouvoir être reprogrammé afin d’exécuter un mode de chiffrement différent. Chose qu’il n’est pas possible de faire avec le second qui est basé sur une architecture dédiée. Par contre, l’avantage du MCCP en termes d’interopérabilité face à Celator, COBRA ou encore Cryptomaniac est plus limité. En effet, ces crypto-systèmes possèdent des chemins de données reconfigurables et/ou programmables. Dans ces conditions, nul besoin d’avoir recours à la reconfiguration dynamique partielle afin d’être compatible avec un grand nombre de protocoles de chiffrement : le passage d’un algorithme de chiffrement à un autre en est donc facilité et accéléré. On notera toutefois que l’avantage de ces crypto-systèmes est contrebalancé par des performances moindres. Quant à AESTHETIC, le fait que ce crypto-système soit spécifique à AES lui confère un niveau d’interopérabilité très faible.

Evolutivité : Tout d’abord, AESTHETIC, COBRA, Celator et Cryptomaniac ont été conçus

pour être implantés sur ASIC ce qui fait que leur capacité à évoluer est nulle, contrairement au MCCP qui est conçu pour être implanté sur FPGA. Pourtant, on pourra remarquer que les opérateurs implantés dans COBRA, Celator et Cryptomaniac sont suffisamment génériques pour rendre probable la compatibilité de ces architectures avec de futurs algorithmes de chiffrement. De plus, un portage sur FPGA à l’image de CrCU peut tout à fait être

envisagé. Dans les faits, le principal atout de MCCP par rapport à ces architectures réside dans sa capacité à être reconfiguré dynamiquement (tout comme CrCU dans sa version dynamiquement reconfigurable). Dans ces conditions, il n’est donc plus forcément nécessaire d’interrompre le fonctionnement du système pour le faire évoluer. Le MCCP a donc la capacité d’être modifié à tout moment et ce même en cours de fonctionnement. Cette capacité est toutefois à relativiser dans la mesure où la structure du FPGA en elle-même est figée.

Performances : Comparer de façon équitable les performances des différents

crypto-systèmes dont l’architecture a déjà été publiée avec celles du MCCP n’est pas une tâche aisée. En effet, si les performances d’un composant dépendent bien de son architecture, elles dépendent aussi de la cible technologique utilisée pour son implantation. De plus, le rapport du débit sur la surface occupée ne devrait pas non plus être négligé. Il s’ensuit que ce passage n’a pas pour objectif d’être une comparaison objective et équitable des performances du MCCP mais plutôt un aperçu du positionnement des performances du MCCP par rapport aux architectures de crypto-systèmes existantes. Avec un débit de 2,6 Mbps/MHz par cœur de calcul (soit 10,4 Mbps/MHz pour quatre cœurs) dans le mode de chiffrement ECB, le MCCP se trouve dans la fourchette haute des crypto-systèmes (cf. Tableau 4 page 61). Néanmoins, les crypto-systèmes dédiés dont la structure est déroulée et massivement pipeline sont bien plus performants que le MCCP en ce qui concerne le chiffrement de flux de données dans le cadre d’une application monostandard.

Parallélisme : Par parallélisme, nous entendons ici la capacité d’un crypto-système à gérer

de façon concurrente plusieurs canaux de communication. Dans ces conditions, l’amélioration du niveau de parallélisme d’un crypto-système passe par la diminution des délais de changement de clés et d’algorithmes et l’augmentation du nombre de messages traités de façon concurrente. Comme CrCU, COBRA ou AESTHETIC, le MCCP est capable de générer matériellement les sous-clés de chiffrement ce qui d’une part décharge le processeur hôte de ces calculs et d’autre part diminue les délais de génération de ces clés. De plus, le MCCP permet de générer les sous-clés à la volée ce qui diminue encore les délais d’attente nécessaires induits par le changement de la clé chiffrement. En ce qui concerne le nombre de paquets qui peuvent être traités de façon simultanée, le MCCP tout comme

AESTHETIC, CrCU ou encore Cryptomaniac tire profit de sa structure multicœur. Mais

contrairement à AESTHETIC ou CrCU, la distribution des tâches aux cœurs de calcul est gérée par le MCCP lui-même. Cela permet d’une part d’améliorer l’efficacité de ce processus mais aussi de décharger de cette tâche le processeur hôte. Le MCCP propose donc les mêmes avantages que Cryptomaniac.

Sécurité : En ce qui concerne la sécurité, le MCCP possède plusieurs avantages par rapport

aux crypto-systèmes cités dans la mesure où il a été conçu dès le départ dans l’objectif d’être sécurisé. D’abord, contrairement aux autres crypto-systèmes présentés, le MCCP embarque donc une mémoire de stockage sécurisé des clés de chiffrement dont il est le seul à avoir un accès en lecture. De plus, cette mémoire est directement connectée aux primitives cryptographiques qui sont conçues de manière à éviter toute fuite des clés de

chiffrement en dehors d’elle. Ensuite, le fonctionnement du MCCP étant autonome, son isolation par rapport au reste du système s’en trouve améliorée, ce qui tend à rendre plus difficile la mise en œuvre d’attaque logicielle contre celui-ci. Pour finir, le fait que le MCCP soit destiné à être implanté sur FPGA permet au concepteur de le mettre à jour afin d’y appliquer d’éventuelles mises à jour de sécurité (possibilité qu’il partage avec CrCU).

Conclusion

4.8

Dans ce chapitre, l’architecture et l’implantation d’un MCCP performant ont été présentées. Les problématiques de débit, de la latence, de l’occupation des ressources et de la reconfiguration partielle ont été abordées et quelques conclusions ont pu être tirées des résultats obtenus. Plus précisément, nous avons démontré qu’un système aussi complexe qu’un MCCP n’occupe finalement qu’une petite partie des FPGA les plus récents. Nous avons aussi montré que les performances en termes de débit du MCCP implanté sont largement suffisantes pour la voix ou la vidéo en « temps réel ». En ce qui concerne l’ordonnancement des tâches ou encore la reconfiguration partielle, il n’existe pas de réponse toute faite adaptée à toutes les conditions. En ce sens, les résultats présentés dans ce chapitre ont pour intérêt de donner au lecteur les clés lui permettant d’évaluer les capacités et les limites de notre approche. L’intérêt de cette évaluation réside dans le fait qu’elle rende possible d’estimer, a priori, les avantages et les inconvénients induits par l’utilisation du MCCP. Si l’on reprend l’exemple de la reconfiguration partielle, il est évident que celle-ci permet d’accroître la flexibilité du système au détriment de la latence et de la complexité. En revanche, l’apparition d’IP matérielle de FPGA ou eFPGA (embedded FPGA) laisse envisager l’implantation sur ASIC du MCCP tout en conservant l’aspect reconfigurable. De cette manière, la matrice FPGA pourrait être optimisée en prenant en compte les besoins du MCCP de manière à réduire la complexité de la matrice de configuration ainsi que son temps de reconfiguration.