(EN) An apparatus with an integrated circuit (IC) chip can provide protection against attacks on a read-only memory (ROM) (118), such as a boot ROM for security circuitry. An attacker can gain control of an IC by modifying ROM contents and/or redirecting ROM reads. To combat these attacks, example implementations store encrypted ROM data (410) in the ROM array (404). A ROM controller (402) is used to cryptographically tie the address (414) of each ROM line to the corresponding encrypted ROM datum (412). To access the encrypted ROM datum, cryptographic circuitry (408) decrypts the encrypted ROM datum using a key that is generated based on the corresponding ROM address (414). As part of an integrity checking procedure, a digest can be computed based on the encrypted ROM data. To further thwart would-be attacks, the ROM address can be adjusted (e.g., scrambled) before the controller uses the adjusted address to read encrypted data from the ROM array.
(FR) Un appareil pourvu d'une puce de circuit intégré (CI) peut fournir une protection contre des attaques sur une mémoire morte (ROM) (118), telle qu'une ROM de démarrage pour des circuits de sécurité. Un auteur d'attaque peut prendre le contrôle d'un CI en modifiant le contenu de la ROM et/ou en redirigeant les lectures de la ROM. Pour lutter contre ces attaques, des mises en œuvre données à titre d'exemple stockent des données (410) de ROM chiffrées dans la matrice (404) de ROM. Un contrôleur (402) de ROM est utilisé pour relier de manière cryptographique l'adresse (414) de chaque ligne de ROM à la donnée (412) de ROM chiffrée correspondante. Pour accéder à la donnée de ROM chiffrée, des circuits cryptographiques (408) décryptent la donnée de ROM chiffrée à l'aide d'une clé qui est générée sur la base de l'adresse (414) de ROM correspondante. En tant que partie d'une procédure de vérification d'intégrité, un condensé peut être calculé sur la base des données de ROM chiffrées. Pour éviter d'autres attaques, l'adresse de ROM peut être ajustée (par exemple, brouillée) avant que le contrôleur utilise l'adresse ajustée pour lire des données chiffrées de la matrice de ROM.