FR2853098A1 - Circuit pourvu d'un acces externe securise - Google Patents
Circuit pourvu d'un acces externe securise Download PDFInfo
- Publication number
- FR2853098A1 FR2853098A1 FR0303522A FR0303522A FR2853098A1 FR 2853098 A1 FR2853098 A1 FR 2853098A1 FR 0303522 A FR0303522 A FR 0303522A FR 0303522 A FR0303522 A FR 0303522A FR 2853098 A1 FR2853098 A1 FR 2853098A1
- Authority
- FR
- France
- Prior art keywords
- communication interface
- circuit according
- data
- umi
- bus
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
- G06F21/79—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
- Microcomputers (AREA)
Abstract
La présente invention concerne un circuit IC qui comprend un microprocesseur MIC et un ensemble de périphériques comportant au moins une interface de communication UMI prévue pour un accès externe, ces périphériques PER hormis l'interface de communication UMI étant reliés au microprocesseur MIC par un bus d'interconnexion BUS.Le circuit comprend de plus un module de sécurisation CR relié d'une part au bus d'interconnexion BUS et d'autre part à l'interface de communication UMI par l'intermédiaire d'une liaison dédiée DL.
Description
i
Circuit pourvu d'un accès externe sécurisé La présente invention concerne un circuit pourvu d'un accès externe sécurisé.
Le domaine de l'invention est celui des circuits intégrés programmables, 5 notamment celui des circuits utilisés pour réaliser des transactions confidentielles.
Un tel circuit intègre un microprocesseur et, souvent, une mémoire cache, un contrôleur de mémoire cache et / ou une unité de gestion mémoire. Il intègre de plus généralement une mémoire non volatile, une ou plusieurs 10 mémoires de travail telles que mémoire à accès aléatoire (" RAM " pour le terme anglais " Random Access Memory ") ou mémoire à lecture seule (" ROM " pour le terme anglais " Read Only Memory "). Il intègre encore, la plupart du temps, d'autres périphériques propres aux applications qu'il est chargé de mettre en oeuvre.
D'autre part, ce circuit comporte une interface de communication prévue pour un accès externe. Autrement dit, cette interface permet au microprocesseur d'échanger des données avec un quelconque composant localisé en dehors du circuit.
L'invention trouve une application particulièrement avantageuse lorsque 20 ce composant est une mémoire. En effet, il est courant d'adjoindre une mémoire externe au circuit intégré de sorte que les utilisateurs de ce circuit puissent disposer d'un espace mémoire supplémentaire.
Naturellement, le contenu de la mémoire externe est accessible par le microprocesseur, mais il est aussi accessible par n'importe quel autre 2 5 équipement. Ainsi, il est aisé d'aller lire et même modifier des données enregistrées dans cette mémoire. Or il est parfois impératif que ce contenu ne puisse faire l'objet d'une intervention extérieure au circuit. C'est le cas notamment lorsque la mémoire externe comporte des informations sécuritaires tel qu'un code d'accès confidentiel ou une vérification de signature numérique.
3 0 Il est d'ailleurs prévu, lors du chargement d'un programme dans la mémoire externe, que le circuit intégré qui reçoit ce programme de l'extérieur vérifie son authenticité (l'identité de l'émetteur) et son intégrité (l'absence de modification par un tiers) avant de l'enregistrer dans la mémoire. Cette vérification est classiquement réalisée au moyen d'un protocole de signature 35 électronique.
Il est pratiquement impossible d'appliquer ce protocole à chaque fois que la mémoire externe est lue par le circuit intégré car il s'agit là d'une opération qui nécessite une grosse puissance de calcul et qui est par conséquent très lente.
La présente invention a ainsi pour objet de renforcer la protection de cette mémoire externe contre les accès indésirables.
Selon l'invention un circuit comprend un microprocesseur et un ensemble de périphériques comportant au moins une interface de communication prévue pour un accès externe, ces périphériques hormis l'interface de communication étant reliés au microprocesseur par un bus d'interconnexion; de plus, le circuit 10 comprend un module de sécurisation relié d'une part au bus d'interconnexion et d'autre part à l'interface de communication par l'intermédiaire d'une liaison dédiée.
Suivant un mode de réalisation privilégié du circuit, l'interface de communication est adaptée à une mémoire externe.
Avantageusement, le module de sécurisation comporte des moyens de cryptage CR.
De préférence, ces moyens de cryptage font appel à une clé privée.
Il est souhaitable que la longueur de la clé de cryptage soit supérieure à la longueur standard des données que traite le microprocesseur, si bien que 2 0 celui-ci comprend des moyens pour décomposer les mots cryptés en données de longueur standard.
Si le circuit comporte de plus une mémoire cache associé à un contrôleur, le module de sécurisation est prévu pour exploiter les accès consécutifs de ce contrôleur afin de décomposer les mots cryptés en données de 25 longueur standard.
Il est préférable que la clé de cryptage soit stockée dans un registre programmable une seule fois, ce registre pouvant figurer dans une mémoire non volatile.
La présente invention apparaîtra maintenant avec plus de détails dans le 30 cadre de la description qui suit d'un exemple de réalisation donné à titre illustratif en se référant à la figure annexée qui représente un schéma d'un circuit intégré selon l'invention.
En référence à la figure, un circuit intégré IC comporte un microprocesseur MIC éventuellement associé à une mémoire cache et/ou à un 35 contrôleur de mémoire (non représentés). Il comporte aussi une interface de communication UMI et, généralement, d'autres périphériques PER tels qu'une mémoire non volatile de type flash, une mémoire de travail à accès aléatoire etc. Selon l'invention, le circuit comporte de plus un module de sécurisation CR. Un bus système BUS interconnecte tous les éléments du circuit hormis 5 l'interface de communication UMI, et une liaison dédiée DL relie cette interface UMI au module de sécurisation CR.
En dehors du circuit figure un composant MEM qui peut communiquer avec l'interface de communication UMI et l'invention propose donc de protéger les données qui transitent par cette interface au moyen du module de 10 sécurisation CR.
Dans le cas présent, ce composant est une mémoire externe MEM et l'interface de communication est de préférence une interface mémoire universelle UMI.
Le module de sécurisation CR peut mettre en oeuvre différentes 15 techniques pour coder ou modifier les données qu'il reçoit du microprocesseur MIC par le bus système BUS avant de transmettre les données ainsi codées à l'interface de communication UMI, de sorte que celles-ci n'apparaissent pas en clair dans la mémoire externe MEM. Bien sûr, ce module peut procéder au codage inverse lorsqu'il lit des données dans cette mémoire externe MEM afin de 2 0 les restituer au microprocesseur MIC telles que celui-ci les lui a fournies.
Une solution avantageuse consiste à recourir à des moyens de cryptage qui sont mis en oeuvre de préférence par le module de sécurisation CR.
Ainsi, les données sont cryptées avant d'être enregistrées dans la mémoire externe MEM et elles sont décryptées lorsqu'elles y sont lues avant 25 d'être transmises sur le bus système BUS.
Il convient donc de chiffrer les données a la volée avant de les stocker dans la mémoire externe MEM.
Le microprocesseur MIC sait traiter des données de 8, 16 ou 32 bits.
Couramment, l'accès à des données externes se fait avec des mots d'une 30 longueur standard de 8, 16 ou 32 bits. Sécuriser de telles données imposerait un cryptage sur 8, 16 ou 32 bits respectivement. Il s'agirait là d'un cryptage très vulnérable, pratiquement inefficace, si l'on emploie des algorithmes connus.
Il est donc souhaitable de choisir un algorithme travaillant sur des données de 64 bits, voire même 128 bits dès lors que cela s'avère nécessaire. 35 La sélection d'un algorithme standard permet d'éviter des contraintes supplémentaires, tout en assurant un niveau de sécurité maximal.
On préférera un algorithme a clé privée car il nécessite des temps de calcul beaucoup plus courts qu'un algorithme à clé publique.
A titre d'exemple, on retiendra les algorithmes suivants: - AES (abréviation de l'expression anglaise " Advanced Encryption Standard "), travaillant sur des mots de 128 bits et offrant, à l'heure actuelle, une sécurité maximale, - DES (abréviation de l'expression anglaise " Data Encryption Standard "), travaillant sur des mots de 64 bits, connu pour son universalité dans les systèmes les moins exigeants en matière 10 de sécurité, - 3DES (abréviation de l'expression anglaise " Triple Data Encryption Standard "), ou - XDES (abréviation de l'expression anglaise " Extended Data Encryption Standard "), ces deux derniers algorithmes étant 15 réputés pour des systèmes plus exigeant en terme de sécurité tout en assurant de hauts débits de chiffrement à faible coût. Naturellement, le module de sécurisation CR permet de crypter des données plus longues que la longueur standard. Ce module est prévu pour traiter des données de 64 ou 128 bits enregistrées en huit ou seize mots de 8 bits, 20 quatre ou huit mots de 16 bits, ou bien deux ou quatre mots de 32 bits respectivement dans la mémoire externe MEM, si bien qu'un accès à une de ces données est divisé en plusieurs accès de 8, 16 ou 32 bits respectivement.
A cet effet, le module de sécurisation CR peut exploiter les accès groupés ou accès consécutifs du contrôle de la mémoire cache du 25 microprocesseur. Cette mémoire cache contient une copie partielle de la mémoire externe MEM qui est mise à jour en fonction de la partie du programme que le microprocesseur MIC exécute. La mémoire cache étant très rapide et très proche du microprocesseur MIC, elle permet généralement d'améliorer les performances du circuit.
Le remplacement des données présentes dans la mémoire cache au moyen du contrôleur de cache s'effectue par paquets, ces paquets ayant une taille minimale de 4 mots de 32 bits, ceci quelle que soit la taille des données traitées par le microprocesseur MIC.
On remarquera ici que la mémoire cache peut également être utilisée à 35 d'autres fins par le circuit.
Il peut être imposé au contrôleur d'écrire les données enregistrées dans la mémoire cache qui concernent la mémoire externe MEM, par paquets d'une taille multiple de 64 bits.
L'interfaçage de la mémoire cache avec la mémoire externe MEM qui n'est capable de gérer que des accès de 8, 16 ou 32 bits se fait de façon simple 5 en scindant un accès de taille 64bits en huit accès de 8 bits, quatre accès de 16 bits ou deux accès de 32 bits respectivement.
Dans le cas d'accès 32 bits,L'algorithme DES ou 3DES sera ainsi chargé tous les 2 mots de 32 bits, tandis que l'algorithme AES sera chargé tous les 4 mots de 32 bits. Les données sont chargées à la volée. Dans le cas d'un 10 traitement " pipeline " de l'algorithme AES, autrement dit lorsque le traitement complet d'une donnée en un ou plusieurs cycles est capable de recevoir une nouvelle donnée à chaque cycle, seul le premier accès introduit un temps de latence sur le temps total du transfert des données.
La clé privée utilisée par l'algorithme est stockée de préférence dans un 15 registre programmable une seule fois dit " OTP " (pour l'expression anglaise One Time Programmable). Si le circuit intégré IC est pourvu d'une mémoire non volatile de type flash, ce registre peut y être localisé.
L'exemple de réalisation de l'invention présenté ci-dessus a été choisi pour son caractère concret. Il ne serait cependant pas possible de répertorier de 20 manière exhaustive tous les modes de réalisation que recouvre cette invention.
En particulier, tout moyen décrit peut-être remplacé par un moyen équivalent sans sortir du cadre de la présente invention.
Claims (8)
1) Circuit IC comprenant un microprocesseur MIC, un ensemble de périphériques comportant au moins une interface de communication UMI 5 prévue pour un accès externe, lesdits périphériques PER hormis ladite interface de communication UMI étant reliés audit microprocesseur MIC par un bus d'interconnexion BUS, caractérisé en ce qu'il comprend de plus un module de sécurisation CR relié d'une part audit bus d'interconnexion BUS et d'autre part à ladite 10 interface de communication UMI par l'intermédiaire d'une liaison dédiée DL.
2) Circuit selon la revendication 1, caractérisé en ce que ladite interface de communication UMI est adaptée à une mémoire externe MEM.
3) Circuit selon l'une quelconque des revendications 1 ou 2, caractérisé en ce que ledit module de sécurisation comporte des moyens de cryptage CR.
4) Circuit selon la revendication 3, caractérisé en ce que lesdits moyens de cryptage CR font appel à une clé privée.
5) Circuit selon l'une quelconque des revendications 3 ou 4 caractérisé en ce que, la longueur de la clé de cryptage étant supérieure à la longueur 25 standard des données que traite ledit microprocesseur MIC, il comprend des moyens pour décomposer lesdits mots cryptés en données de longueur standard.
6) Circuit selon la revendication 4 caractérisé en ce que, comportant de 3 0 plus une mémoire cache associé à un contrôleur, la longueur de la clé de cryptage étant supérieure à la longueur standard des données que traite ledit microprocesseur MIC, ledit module de sécurisation CR est prévu pour exploiter les accès consécutifs dudit contrôleur afin de décomposer lesdits mots cryptés en données de longueur standard.
7) Circuit selon l'une quelconque des revendications 3 à 6, caractérisé en ce que la clé de cryptage est stockée dans un registre programmable une seule fois.
8) Circuit selon la revendication 7 caractérisé en ce que, comprenant de plus une mémoire non volatile, ledit registre figure dans cette mémoire non volatile.
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0303522A FR2853098B1 (fr) | 2003-03-24 | 2003-03-24 | Circuit pourvu d'un acces externe securise |
US10/549,850 US20060206721A1 (en) | 2003-03-24 | 2004-03-24 | Circuit provided with a secure external access |
PCT/FR2004/000718 WO2004086229A2 (fr) | 2003-03-24 | 2004-03-24 | Circuit pourvu d’un acces externe securise |
CNB2004800078477A CN100373355C (zh) | 2003-03-24 | 2004-03-24 | 备有安全外存取的电路 |
EP04742328A EP1606689A2 (fr) | 2003-03-24 | 2004-03-24 | Circuit pourvu d'un acces externe securise |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0303522A FR2853098B1 (fr) | 2003-03-24 | 2003-03-24 | Circuit pourvu d'un acces externe securise |
Publications (2)
Publication Number | Publication Date |
---|---|
FR2853098A1 true FR2853098A1 (fr) | 2004-10-01 |
FR2853098B1 FR2853098B1 (fr) | 2005-07-01 |
Family
ID=32947096
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR0303522A Expired - Lifetime FR2853098B1 (fr) | 2003-03-24 | 2003-03-24 | Circuit pourvu d'un acces externe securise |
Country Status (5)
Country | Link |
---|---|
US (1) | US20060206721A1 (fr) |
EP (1) | EP1606689A2 (fr) |
CN (1) | CN100373355C (fr) |
FR (1) | FR2853098B1 (fr) |
WO (1) | WO2004086229A2 (fr) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8601197B2 (en) | 2010-11-15 | 2013-12-03 | Atmel Rousset S.A.S. | Microcontroller including flexible connections between modules |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0556928A1 (fr) * | 1992-02-18 | 1993-08-25 | Tulip Computers International B.V. | Dispositif d'encryption et de décryption, au moyen de l'algorithme DES, de données devant être écrites ou lues d'un disque dur |
EP0583140A1 (fr) * | 1992-08-11 | 1994-02-16 | International Business Machines Corporation | Système de traitement ininterrompu de données et instructions chiffrées et non-chiffrées |
EP0908810A2 (fr) * | 1997-10-10 | 1999-04-14 | General Instrument Corporation | Processeur sécurisé avec mémoire externe utilisant le chaínage par blocs et reséquencement des blocs |
EP1172731A2 (fr) * | 2000-07-13 | 2002-01-16 | Fujitsu Limited | Appareil de traitement de données et circuit intégré |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1101024C (zh) * | 1999-08-13 | 2003-02-05 | 王本中 | 一种计算机硬盘加密装置 |
CN2480908Y (zh) * | 2001-02-26 | 2002-03-06 | 张巨洪 | 计算机数据加密装置 |
US6996725B2 (en) * | 2001-08-16 | 2006-02-07 | Dallas Semiconductor Corporation | Encryption-based security protection for processors |
CN2519337Y (zh) * | 2002-01-29 | 2002-10-30 | 记忆科技(深圳)有限公司 | 能够实现在线离线加解密的移动数据存储设备 |
-
2003
- 2003-03-24 FR FR0303522A patent/FR2853098B1/fr not_active Expired - Lifetime
-
2004
- 2004-03-24 EP EP04742328A patent/EP1606689A2/fr not_active Ceased
- 2004-03-24 WO PCT/FR2004/000718 patent/WO2004086229A2/fr active Application Filing
- 2004-03-24 CN CNB2004800078477A patent/CN100373355C/zh not_active Expired - Lifetime
- 2004-03-24 US US10/549,850 patent/US20060206721A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0556928A1 (fr) * | 1992-02-18 | 1993-08-25 | Tulip Computers International B.V. | Dispositif d'encryption et de décryption, au moyen de l'algorithme DES, de données devant être écrites ou lues d'un disque dur |
EP0583140A1 (fr) * | 1992-08-11 | 1994-02-16 | International Business Machines Corporation | Système de traitement ininterrompu de données et instructions chiffrées et non-chiffrées |
EP0908810A2 (fr) * | 1997-10-10 | 1999-04-14 | General Instrument Corporation | Processeur sécurisé avec mémoire externe utilisant le chaínage par blocs et reséquencement des blocs |
EP1172731A2 (fr) * | 2000-07-13 | 2002-01-16 | Fujitsu Limited | Appareil de traitement de données et circuit intégré |
Also Published As
Publication number | Publication date |
---|---|
WO2004086229A2 (fr) | 2004-10-07 |
WO2004086229A3 (fr) | 2004-11-04 |
CN100373355C (zh) | 2008-03-05 |
EP1606689A2 (fr) | 2005-12-21 |
CN1764882A (zh) | 2006-04-26 |
FR2853098B1 (fr) | 2005-07-01 |
US20060206721A1 (en) | 2006-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8862901B2 (en) | Memory subsystem and method therefor | |
US20070186117A1 (en) | Secure processor-based system and method | |
US7650387B2 (en) | Method and system for managing storage on a shared storage space | |
US20080072070A1 (en) | Secure virtual RAM | |
US20100064144A1 (en) | Data security | |
WO2006009616A2 (fr) | Architecture de cryptage de memoire | |
EP0800691A1 (fr) | Procede pour la mise en uvre d'un protocole de communication a cle secrete entre deux dispositifs de traitement | |
US20080098418A1 (en) | Electronic module for digital television receiver | |
FR3020160A1 (fr) | Systeme d'execution de code avec mecanisme d'hypervision en aveugle | |
EP3324327B1 (fr) | Stockage dans une mémoire non volatile | |
FR2976147A1 (fr) | Schema d'entrelacement de donnees pour une memoire externe d'un microcontroleur securise | |
EP4120091A1 (fr) | Procédé de gestion de droits d accès de tâches logicielles exécutées par un microcontrôleur, et microcontrôleur correspondant | |
EP1100225B1 (fr) | Architecture d'un circuit de chiffrement mettant en oeuvre différents types d'algorithmes de chiffrement simultanément sans perte de performance | |
FR2939534A1 (fr) | Procede et dispositif de chiffrement et de dechiffrement de donnees numeriques. | |
EP1055174B1 (fr) | Procede de stockage et d'exploitation d'unites d'information dans un module de securite, et module de securite associe | |
FR2853098A1 (fr) | Circuit pourvu d'un acces externe securise | |
FR2834154A1 (fr) | Unite electronique incluant des moyens de cryptographie capables de traiter des informations a haut debit | |
EP2860660A1 (fr) | Système et méthode de chargement sécurisé de données dans une mémoire cache associée à un processeur sécurisé | |
WO2004086230A2 (fr) | Circuit programmable pourvu d’une memoire securisee | |
WO2011003722A1 (fr) | Module logiciel de securisation utilisant le chiffrement du hache d ' un mot de passe concatene avec une graine | |
EP1410152B1 (fr) | Securisation de lecture d'instructions dans un systeme de traitement de donnees | |
EP0889450B1 (fr) | Méthode de chargement de donnees dans une carte à microprocesseur | |
EP1930833A1 (fr) | Système de protection des données en mémoire | |
CH716280A2 (fr) | Procédé de traitement, sous enclave, de données informatiques chiffrées au moyen d'une application chiffrée contenant un exécutable. | |
EP0968462B1 (fr) | Procede de controle de l'etancheite d'applications chargees dans un terminal multi-applicatif et terminal pour la mise en oeuvre |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PLFP | Fee payment |
Year of fee payment: 14 |
|
PLFP | Fee payment |
Year of fee payment: 15 |
|
PLFP | Fee payment |
Year of fee payment: 16 |
|
PLFP | Fee payment |
Year of fee payment: 18 |
|
PLFP | Fee payment |
Year of fee payment: 19 |
|
PLFP | Fee payment |
Year of fee payment: 20 |