Logo ENSEIRB-MATMECA
  • Accueil
  • À propos
  • Outils
  • Contributeurs
  • Pages
  • Code
  • GitHub
  • Dark Theme
    Light Theme
Logo Inverted Logo
  • Pages
  • Outils
  • Processeur
    • 0 - Introduction
    • 1 - Simulateur RISC-V
    • 2 - Exécution
    • 3 - ISA RISC-V
    • 4 - Pipeline
    • 5 - Branchement
    • 6 - Mémoire cache
  • Plateforme CALF
    • Système
    • Utilisation
    • Processeur
    • Mémoire
  • Sécurité matérielle
    • Introduction
    • FPGA
    • Caches
  • STM32
    • IDE
    • GPIO
    • Interruptions
    • Timer
    • UART
Hero Image
Sécurité matérielle: Mémoires caches

Dans les tutoriels sur la récupération du flot d’exécution par la consommation, nous avons vu que des décalages temporels entre plusieurs exécutions pouvaient être observés par le biais des canaux auxiliaires. Notamment, cela engendrait de grandes différences dans l’évolution de la consommation ou du temps global d’exécution. Dans ce tutoriel, nous allons à présent nous intéresser à l’observation des variations temporelles dûes à la microarchitecture des processeurs. Notamment, nous allons voir comment les mémoires caches, pourtant essentielles pour les performances de nombreux systèmes, peuvent aussi représenter une source de fuite.

    vendredi 12 décembre 2025 Lire
    Hero Image
    Sécurité matérielle: FPGA

    Lors de l’introduction, nous avons vu les principes de l’analyse de la consommation des système matérielles. Ces principes ont été appliqués dans un environnement guidé (Jupyter) sur des systèmes dont l’utilisation est bien maîtrisée, mais dont la microarchitecture interne reste, au moins en partie, inconnue (un microcontrôleur STM32). À présent, nous allons voir comment cibler un système dont toute l’organisation interne est disponible. Pour cela, l’objectif sera d’implémenter un processeur RISC-V sur une cible FPGA.

      mardi 25 novembre 2025 Lire
      Hero Image
      Sécurité matérielle: Introduction

      Dans cette introduction, l’objectif est de se familiariser en pratique avec les problématiques de sécurité matérielle et avec l’environnement ChipWhisperer. L’ensemble des exercices est basé sur cet environnement et sur la plateforme matérielle du même nom. Préparation ChipWhisperer est le nom d’une plateforme fournissant un environnement logiciel (essentiellement en Python) permettant de reproduire des attaques matérielles. Pour cela, différentes cibles matérielles sont disponibles, avec aussi bien des microcontrôleurs que des FPGA. L’intérêt majeure de cette plateforme est sa simplicité d’utilisation: l’ensemble de la chaîne peut-être automatisé à l’aide de scripts Python, de la mesure de consommation par un ADC jusqu’au traitement des données. Ainsi, elle représente un moyen idéale pour une première approche des problématiques de sécurité.

        mercredi 12 novembre 2025 Lire
        Hero Image
        Plateforme CALF: Organisation mémoire

        Adresses Au sein de la plateforme CALF, les adresses émises par le processeur sont utilisées pour rediriger les requêtes. Ainsi, selon les valeurs, certaines sont envoyées vers la mémoire RAM, les registres GPIO8, l’UART etc. La table ci-dessous présente les valeurs définies par défaut. Celles-ci peuvent être modifiées lors de la configuration du matériel (aussi bien dans la version VHDL que Chisel). Nom Début Taille Type Description RAM 0x00000000 0x00000000 RWX Mémoire générale du système, utilisée pour les instructions et les données. GPIO8 0x00000800 0x00000010 RW- Registres de configuration des entrées et sorties génériques. UART 0x00000840 0x00000020 RW- Registres de configuration de l’UART. Mémoire Périphériques GPIO8 GPIO8 est un périphérique basique permettant de contrôler l’état de 8 entrées/sorties. Pour cela, il utilise 3 registres de 8 bits: ENO, IN et OUT. Chaque bit b de ces registres correspond à l’entrée/sortie b.

          lundi 1 septembre 2025 Lire
          Hero Image
          Plateforme CALF: Processeur

          Le processeur CALF est un processeur libre et ouvert basé sur l’architecture RISC-V. Au sein de la plateforme CALF, il est responsable de l’exécution des programmes permettant la réalisation d’application. La microarchitecture du processeur est conçu autour d’une machine d’états finis. Il réalise donc une implémentation multi-cycle de l’exécution des opérations, pouvant aller de 4 à 7 cycles selon le type d’instructions et des paramètres utilisés.

            lundi 1 septembre 2025 Lire
            Hero Image
            Plateforme CALF: Système global

            CALF (pour Core Architecture to Learn Fundamentals) est une plateforme numérique conçue pour des projets pédagogiques et de recherche. Elle intègre tous les composants nécessaires pour l’implémentation d’un microcontrôleur minimaliste, sur FPGA ou ASIC: Un processeur RISC-V responsable de l’exécution des programmes. Une mémoire RAM paramétrable pour le code et les données. Un bootloader pour l’initialisation de la mémoire au démarrage. Il est directement connecté au module UART pour la réception des données. Un module UART pour les communications externes. Un module GPIO8 pour le pilotage de 8 entrées / sorties. Le système est disponible en 2 versions RTL: une décrite en Chisel et une autre en VHDL. L’intérêt majeur est de faciliter le passage d’un langage à un autre en fournissant des exemples de blocs aux fonctionnalités identiques.

              lundi 1 septembre 2025 Lire
              Hero Image
              Plateforme CALF: Utilisation

              Installation Téléchargement Pour commencer, il est nécessaire de télécharger le projet. Celui-ci utilise git comme gestionnaire de versions et est hébergé sur Gitlab. Pour le télécharger, utiliser les commandes suivantes: # Avec SSH configuré sur Gitlab git clone git@gitlab.com:escou64-emmk/calf.git # Ou sans SSH: git clone https://gitlab.com/escou64-emmk/calf.git # Déplacement dans le répertoire cd calf # Utilisation de la branche riscv git checkout riscv Configuration de l’environnement Pour la simulation et l’implémentation de la plateforme, plusieurs outils sont nécessaires et doivent être installés:

                lundi 1 septembre 2025 Lire
                • ««
                • «
                • 1
                • 2
                • »
                • »»
                Navigation
                • À propos
                • Outils
                • Contributeurs
                Contactez moi :
                • mathieu.escouteloup@enseirb-matmeca.fr
                • mescoutelou

                Restez à jour par e-mail


                En renseignant votre adresse e-mail, vous acceptez de recevoir la newsletter de ce site.

                Toha Theme Logo Toha
                © 2025 Copyright.
                Alimenté par Hugo Logo