FR2853098A1 - Circuit pourvu d'un acces externe securise - Google Patents

Circuit pourvu d'un acces externe securise Download PDF

Info

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
Application number
FR0303522A
Other languages
English (en)
Other versions
FR2853098B1 (fr
Inventor
Arnaud Dehamel
Bruno Bernard
Frank Lhermet
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Innova Card SARL
Original Assignee
Innova Card SARL
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Innova Card SARL filed Critical Innova Card SARL
Priority to FR0303522A priority Critical patent/FR2853098B1/fr
Priority to US10/549,850 priority patent/US20060206721A1/en
Priority to PCT/FR2004/000718 priority patent/WO2004086229A2/fr
Priority to CNB2004800078477A priority patent/CN100373355C/zh
Priority to EP04742328A priority patent/EP1606689A2/fr
Publication of FR2853098A1 publication Critical patent/FR2853098A1/fr
Application granted granted Critical
Publication of FR2853098B1 publication Critical patent/FR2853098B1/fr
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting 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/79Protecting 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing 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)

REVENDICATIONS
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.
FR0303522A 2003-03-24 2003-03-24 Circuit pourvu d'un acces externe securise Expired - Lifetime FR2853098B1 (fr)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 记忆科技(深圳)有限公司 能够实现在线离线加解密的移动数据存储设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
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