MISC Hors-série N°
Numéro
5

Cryptographie : vos secrets sont-ils bien gardés ?

Temporalité
Avril/Mai 2012
Image v3
Cryptographie : vos secrets sont-ils bien gardés ?
Article mis en avant

Résumé

L'allergie aux mathématiques est un phénomène assez courant chez la plupart d'entre nous. Concevoir ou casser un algorithme cryptographique sans de très solides bases théoriques paraît impensable à certains. Et pourtant, l'orchestration des mécanismes nécessaires à l'obtention d'une solution robuste est potentiellement à la portée de tous ceux qui n'ont pas un doctorat en théorie des nombres ! Cet article aidera le lecteur à se poser les bonnes questions et à faire le bon choix parmi le trop grand nombre d'algorithmes et de bibliothèques, le tout illustré à travers différents cas concrets avec OpenSSL et PolarSSL. Faites chauffer xterm, vim et gcc !

Dans ce numéro...


La cryptographie symétrique reste l’un des moyens les plus rapides de chiffrer des messages échangés par deux parties qui possèdent une clé commune, cette clé étant le plus souvent transmise de façon sûre via l’utilisation de la cryptographie asymétrique. La définition de primitives communes en cryptographie symétrique reconnues au niveau international remonte à la standardisation du DES en 1977 comme algorithme de chiffrement par bloc. Depuis cette date, les fonctions de hachage MD5 et SHA-1 ont été standardisées dans le courant des années 90 et l’AES a été choisi comme nouveau standard de chiffrements par bloc en octobre 2000 par le NIST au terme d’une compétition internationale publique de trois ans réunissant quinze candidats.
La façon la plus directe de casser le cryptosystème RSA est de factoriser la clé publique. Nous donnons ici quelques éléments scientifiques et historiques pour comprendre le fonctionnement des algorithmes de factorisation.
Et si vos données n'étaient jamais déchiffrées, même en mémoire, même quand vos applications ou le système d'exploitation les utilise ? Le chiffrement dit « complètement homomorphe » permettrait de réaliser de tels exploits. Seul hic, la construction d'un tel système de chiffrement est restée pendant trente ans un problème ouvert, jusqu'à récemment où des avancées spectaculaires ont eu lieu …
« S'il saigne, on peut le tuer ». Cette maxime chère à John McTiernan [JT87] résume assez bien le problème que rencontrent depuis toujours les systèmes dédiés à la sécurité : s'ils fuient, ils sont condamnés. Depuis le milieu des années 90, les circuits micro-électroniques sont la cible des attaques à canaux auxiliaires. Elles exploitent les lois de la physique pour extraire les secrets manipulés par les cartes à puce ou les accélérateurs cryptographiques. Dans cet article, nous identifions ces vecteurs de fuite et expliquons leurs méthodes d'exploitation.
En février 2007, le PDG d’Apple, Steve Jobs, écrivit une lettre ouverte au monde dénonçant les DRM (Digital Right Management) et leur utilisation par l’industrie musicale. Dans cette lettre, S. Jobs affirmait : les DRM ne fonctionnent pas, et pourraient ne jamais fonctionner, pour empêcher le piratage de la musique ». Le monde reçut cette prise de position, et des blogs apparurent pour tenter d’interpréter le sens de cette lettre. Le débat sur les DRM avait commencé avant cela, et continue encore aujourd’hui. Au cours du temps, tout le monde s’est forgé sa propre idée sur les DRM, ce qu’ils sont, comment ils fonctionnent.Mais que savent réellement les gens à propos des DRM ?
Le défi que la cryptographie en boîte blanche vise à relever consiste à mettre en œuvre un algorithme cryptographique en logiciel de telle manière que les éléments cryptographiques restent sécurisés même en cas d'attaque en boîte blanche.
Le rétroconception d'algorithmes cryptographiques est une discipline à part dans le monde des reversers. La difficulté réside dans le fait de ne pas se « noyer » dans des parties inutiles à l'analyse (dans une fonction de compression d'un algorithme de hachage par exemple). La connaissance des concepts mathématiques sous-jacents à chaque algorithme est inutile. Par contre, la connaissance des grandes familles de fonctions cryptographiques et de leurs implémentations est indispensable : ce sera l'objet de la première partie de cet article. Puis, nous verrons comment appliquer ces résultats sur un exemple concret.
Enfermé dans une cellule hautement gardée, on vient de nous transférer un nouveau virus pour téléphone mobile. A première vue, il a une tête tellement angélique qu'on douterait de sa culpabilité. Mais derrière la vitre sans tain, nous avons vite compris qu'il utilisait de la… cryptographie. Il ne fera pas longtemps le malin : nous avons les moyens de le faire parler. Et sans torture matérielle.

Magazines précédents

Les derniers articles Premiums

Les derniers articles Premium

Cryptographie : débuter par la pratique grâce à picoCTF

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

L’apprentissage de la cryptographie n’est pas toujours évident lorsqu’on souhaite le faire par la pratique. Lorsque l’on débute, il existe cependant des challenges accessibles qui permettent de découvrir ce monde passionnant sans avoir de connaissances mathématiques approfondies en la matière. C’est le cas de picoCTF, qui propose une série d’épreuves en cryptographie avec une difficulté progressive et à destination des débutants !

Game & Watch : utilisons judicieusement la mémoire

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Au terme de l'article précédent [1] concernant la transformation de la console Nintendo Game & Watch en plateforme de développement, nous nous sommes heurtés à un problème : les 128 Ko de flash intégrés au microcontrôleur STM32 sont une ressource précieuse, car en quantité réduite. Mais heureusement pour nous, le STM32H7B0 dispose d'une mémoire vive de taille conséquente (~ 1,2 Mo) et se trouve être connecté à une flash externe QSPI offrant autant d'espace. Pour pouvoir développer des codes plus étoffés, nous devons apprendre à utiliser ces deux ressources.

Raspberry Pi Pico : PIO, DMA et mémoire flash

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Le microcontrôleur RP2040 équipant la Pico est une petite merveille et malgré l'absence de connectivité wifi ou Bluetooth, l'étendue des fonctionnalités intégrées reste très impressionnante. Nous avons abordé le sujet du sous-système PIO dans un précédent article [1], mais celui-ci n'était qu'une découverte de la fonctionnalité. Il est temps à présent de pousser plus loin nos expérimentations en mêlant plusieurs ressources à notre disposition : PIO, DMA et accès à la flash QSPI.

Body