FR2836735A1 - Circuit integre et procede de gestion de la memoire programme d'un tel circuit integre - Google Patents

Circuit integre et procede de gestion de la memoire programme d'un tel circuit integre Download PDF

Info

Publication number
FR2836735A1
FR2836735A1 FR0202618A FR0202618A FR2836735A1 FR 2836735 A1 FR2836735 A1 FR 2836735A1 FR 0202618 A FR0202618 A FR 0202618A FR 0202618 A FR0202618 A FR 0202618A FR 2836735 A1 FR2836735 A1 FR 2836735A1
Authority
FR
France
Prior art keywords
memory
code
program memory
circuit
cyphered
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.)
Pending
Application number
FR0202618A
Other languages
English (en)
Inventor
Jean Luc Dauvois
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.)
KCA Licensing SA
Original Assignee
Canal Plus Technologies SA
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 Canal Plus Technologies SA filed Critical Canal Plus Technologies SA
Priority to FR0202618A priority Critical patent/FR2836735A1/fr
Publication of FR2836735A1 publication Critical patent/FR2836735A1/fr
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/409Device specific authentication in transaction processing
    • G06Q20/4097Device specific authentication in transaction processing using mutual authentication between devices and transaction partners
    • G06Q20/40975Device specific authentication in transaction processing using mutual authentication between devices and transaction partners using encryption therefor
    • 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/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • 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/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/77Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in smart cards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/341Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/357Cards having a plurality of specified features
    • G06Q20/3576Multiple memory zones on card
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Mathematical Physics (AREA)
  • Finance (AREA)
  • Storage Device Security (AREA)

Abstract

La présente invention concerne un circuit intégré comprenant une mémoire programme (11), une mémoire donnée (14), et une unité centrale (10), dans lequel la mémoire programme (11) comprend une première partie non chiffrée (12) d'un code exécutable et au moins une seconde partie chiffrée (13) de ce code, et dans lequel ledit circuit comprend, en outre, un composant configurable (15) configuré pour déchiffrer au vol ladite seconde partie chiffrée (13). La présente invention concerne également un procédé de gestion de la mémoire programme d'un tel circuit.

Description

<Desc/Clms Page number 1>
CIRCUIT INTEGRE ET PROCEDE DE GESTION DE LA MEMOIRE
PROGRAMME D'UN TEL CIRCUIT INTEGRE
DESCRIPTION DOMAINE TECHNIQUE
L'invention concerne un circuit intégré, par exemple un circuit pour carte à puce, et un procédé de gestion de la mémoire programme d'un tel circuit intégré.
ETAT DE LA TECHNIQUE ANTERIEURE
Lors de la fabrication d'un circuit intégré, par exemple un circuit intégré spécifique (ASIC ou 11 application- specific integrated circuit") ou un circuit pour carte à puce, le concepteur fournit au fondeur de silicium, fabricant de tels circuits, une version du code exécutable pour qu'il le grave sur celui-ci.
La remise d'un tel code logiciel à un fondeur de silicium ne permet pas de garantir toute la confidentialité sur ce code. En effet, ce code est transmis en clair au fondeur afin que ce dernier puisse procéder à toutes les opérations concernant le masquage du composant proprement dit. Le fondeur a donc accès à ce code directement. Si ce code comporte des clés ou des algorithmes, il peut en avoir connaissance aisément. Or, si le code est dérobé ou si une personne mal intentionnée dérobe ce code, toute la sécurité de non-divulgation est anéantie.
<Desc/Clms Page number 2>
Il n'existe pas aujourd'hui de mécanisme de chiffrement du code logiciel directement paramétrable par le client et hors du contrôle du fondeur.
De plus, dans le domaine de la télévision payante, qui est un domaine d'utilisation privilégiée de l'invention, les sanctions pour un piratage de ce type sont beaucoup moins graves que dans le domaine bancaire, voire inexistantes.
L'objectif de l'invention est de réduire le risque défini ci-dessus en fournissant au fondeur un code chiffré que l'unité centrale du circuit intégré ne soit pas capable de déchiffrer.
EXPOSÉ DE L'INVENTION
La présente invention propose un circuit intégré, par exemple un circuit pour carte à puce, comprenant une mémoire programme, une mémoire donnée, et une unité centrale, caractérisé en ce que la mémoire programme contient une première partie non chiffrée d'un code exécutable, et au moins une seconde partie chiffrée de ce code, et en ce que ledit circuit comprend, en outre, un composant configurable, configuré pour déchiffrer au vol ladite seconde partie chiffrée.
Le circuit configurable peut être un composant de type FPGA ("Field programmable gate arrays") ou de type ASIC programmable. La mémoire programme peut être une mémoire de type ROM ("Read only
Figure img00020001

memory"), ou de type Flash. La mémoire données peut être une mémoire de type E PROM ("Electrically Erasable ROM"ou ROM effaçable électriquement), de type Flash ou
<Desc/Clms Page number 3>
de type FeRAM ("Ferroelectric RAM"ou mémoire à accès aléatoire ferroélectrique).
L'invention concerne, également, un procédé de gestion de la mémoire programme d'un circuit intégré, comprenant en outre une mémoire données et une unité centrale, caractérisé en ce que, la mémoire programme contenant une première partie non chiffrée d'un code exécutable, et au moins une seconde partie chiffrée de ce code, le circuit comprenant un composant configurable, ledit procédé comprend les étapes suivantes : - l'unité centrale accède à la première partie, non chiffrée, du code en mémoire programme, - l'unité centrale enclenche un processus de chargement des données de configuration, préalablement chargées en mémoire données, dans le composant configurable, - l'unité centrale exécute la seconde partie, chiffrée, du code chargé en mémoire programme, celle-ci transitant par le composant configurable et y étant déchiffrée au vol.
On peut, de plus, utiliser un mécanisme d'interruption qui permet de réaliser le chargement du composant configurable lorsque l'unité centrale adresse au moins une zone de la partie de code chiffré de la mémoire programme.
On peut également utiliser plusieurs blocs dans la partie chiffrée de la mémoire programme, chaque bloc correspondant à un algorithme de chiffrement différent.
<Desc/Clms Page number 4>
Le fondeur de silicium ne dispose donc plus de toute la connaissance du code logiciel du client. Il est ainsi dégagé de certaines responsabilités qui découlaient de cette connaissance.
BRÈVE DESCRIPTION DES DESSINS
La figure unique illustre un exemple de réalisation du circuit intégré de l'invention.
EXPOSÉ DÉTAILLÉ DE MODES DE RÉALISATION PARTICULIERS
L'invention consiste à introduire dans un circuit intégré, par exemple un circuit pour carte à puce, un composant (matériel) configurable par l'utilisateur. Ce composant est assimilable à un composant FPGA, composant matériel configurable par logiciel.
La figure illustre un exemple de réalisation d'un tel circuit intégré selon l'invention.
Celui-ci comprend : - une unité centrale 10, - une mémoire programme 11, par exemple une mémoire de type ROM ou de type Flash, dans laquelle est chargée une première partie non chiffrée du code exécutable, référencée 12, et une seconde partie chiffrée de ce code, référencée 13, - une mémoire données 14, par exemple de type E2PROM, Flash, ou FeRAM, - ce composant configurable 15, de type FPGA, ou ASIC programmable, pour déchiffrer la partie chiffrée du code, - un bus adresse 16,
<Desc/Clms Page number 5>
- des bus de données 17 et 18.
Dans la mémoire données 14 sont représentées des données 20 de configuration du composant configurable 15, qui correspondent à un fichier de programmation et/ou à une clé de déchiffrement, ou les deux.
Le composant configurable 15 a pour objet de laisser passer les données correspondant aux adresses de la partie non chiffrée 12 de la mémoire programme 11, qui permet d'une part le chargement des données de configuration 20 en mémoire de données 14, et d'autre part le transfert de ces données 20 vers le composant configurable 15. La partie chiffrée du code 13 est alors uniquement accessible si ces données 20 sont valides et permettent le bon déchiffrement de la partie chiffrée 13.
Le code exécutable fourni au fondeur comporte donc deux parties distinctes : - une partie de code non chiffrée directement exécutable par l'unité centrale 10 du circuit (sans modification), - une partie de code chiffrée, qui n'est exécutable par cette unité centrale 10 qu'après son passage dans le composant configurable 15.
Ce code est chargé en mémoire programme 11 du circuit, par le développeur. La première partie 12 a pour fonction de permettre de charger des données en mémoire données 14, de réaliser le chargement du logiciel de configuration du composant configurable 15, et de permettre alors au composant configurable 15 de
<Desc/Clms Page number 6>
déchiffrer la seconde partie chiffrée de code 13 à la volée, par exemple par blocs.
Le fondeur de silicium du circuit n'a ainsi plus connaissance de tout le code.
Le procédé de gestion de la mémoire programme 11 d'un tel circuit intégré, conformément à l'invention, comporte donc les étapes suivantes : - l'unité centrale 10 du circuit accède à la première partie 12, non chiffrée du code en mémoire programme 11, - l'unité centrale 10 enclenche le processus de chargement des données de configuration 20, préalablement chargées en mémoire données 14 dans le cycle de production, dans le composant configurable 15, - l'unité centrale 10 exécute la seconde partie, chiffrée, du code 13 chargée en mémoire programme 11, celle-ci transitant par le composant configurable 15 et y étant déchiffrée au vol.
Figure img00060001
Le composant configurable 15 peut être : - un composant de type FPGA qui peut être reconfiguré au minimum à chaque réinitialisation, - un composant utilisant une technologie "anti-fusible"qui ne peut être chargé qu'une fois.
Ce composant configurable 15 peut être constitué d'éléments XOR sur le bus de données, ou bien réalisé par une fonction de chiffrement plus complexe, aisément réalisable par un homme du métier.
<Desc/Clms Page number 7>
Dans une variante de réalisation, on utilise un mécanisme d'interruption pour réaliser le chargement du composant configurable 15, par exemple lorsque l'unité centrale 10 du circuit adresse une ou plusieurs zone de la partie de code chiffrée 13 de la mémoire 11.
Dans une autre variante de réalisation on utilise plusieurs blocs dans la partie chiffrée 13 de la mémoire programme 11, chaque bloc correspondant à un algorithme de chiffrement différent.
La sécurité intrinsèque du circuit a ainsi été augmentée, notamment vis-à-vis du fondeur. Vis-à- vis d'un pirate, le code ne peut être obtenu qu'avec beaucoup plus de difficulté : celui-ci doit en effet analyser la partie logique de chiffrement de ce circuit.

Claims (8)

REVENDICATIONS
1. Circuit intégré comprenant une mémoire programme (11), une mémoire donnée (14), et une unité centrale (10), caractérisé en ce en ce que la mémoire programme (11) contient une première partie non chiffrée (12) d'un code exécutable et au moins une seconde partie chiffrée (13) de ce code, et en ce que ledit circuit comprend, en outre, un composant configurable (15) configuré pour déchiffrer au vol ladite seconde partie chiffrée.
2. Circuit selon la revendication 1, dans lequel le circuit configurable (15) est un composant de type FPGA ou de type ASIC programmable.
3. Circuit selon la revendication 1, dans lequel la mémoire programme (11) est une mémoire de type ROM, ou de type Flash.
4. Circuit selon la revendication 1, dans lequel la mémoire données (14) est une mémoire de type E2PROM, de type Flash ou de type FeRAM.
5. Utilisation du circuit selon l'une quelconque des revendications précédentes dans une carte à puce.
6. Procédé de gestion de la mémoire programme (11) d'un circuit intégré comprenant en outre une mémoire données (14) et une unité centrale (10),
<Desc/Clms Page number 9>
caractérisé en ce que, cette mémoire programme (11) contenant une première partie non chiffrée d'un code exécutable, et au moins une seconde partie chiffrée de ce code, le circuit comprenant un composant configurable (15), le procédé comprend les étapes suivantes : - l'unité centrale (10) accède à la partie non chiffrée (12) du code en mémoire programme (11), - l'unité centrale enclenche un processus de chargement des données de configuration (20), préalablement chargées en mémoire données (14), dans le composant configurable (15), - l'unité centrale (10) exécute la partie chiffrée (13) du code en mémoire programme (14), celleci transitant par le composant configurable (15) et y étant déchiffrée au vol.
7. Procédé selon la revendication 6, dans lequel un mécanisme d'interruption permet de réaliser le chargement du composant configurable (15) lorsque l'unité centrale (10) adresse au moins une zone de la partie de code chiffré (13) de la mémoire programme (11).
8. Procédé selon la revendication 6, dans lequel on utilise plusieurs blocs dans la partie chiffrée (13) de la mémoire programme (11), chaque bloc correspondant à un algorithme de chiffrement différent.
FR0202618A 2002-03-01 2002-03-01 Circuit integre et procede de gestion de la memoire programme d'un tel circuit integre Pending FR2836735A1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR0202618A FR2836735A1 (fr) 2002-03-01 2002-03-01 Circuit integre et procede de gestion de la memoire programme d'un tel circuit integre

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0202618A FR2836735A1 (fr) 2002-03-01 2002-03-01 Circuit integre et procede de gestion de la memoire programme d'un tel circuit integre

Publications (1)

Publication Number Publication Date
FR2836735A1 true FR2836735A1 (fr) 2003-09-05

Family

ID=27741360

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0202618A Pending FR2836735A1 (fr) 2002-03-01 2002-03-01 Circuit integre et procede de gestion de la memoire programme d'un tel circuit integre

Country Status (1)

Country Link
FR (1) FR2836735A1 (fr)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0449256A2 (fr) * 1990-03-27 1991-10-02 Kabushiki Kaisha Toshiba Microcontrôleur ayant des moyens de sécurité
US5386469A (en) * 1993-08-05 1995-01-31 Zilog, Inc. Firmware encryption for microprocessor/microcomputer
EP0720098A1 (fr) * 1994-12-30 1996-07-03 Thomson-Csf Dispositif de sécurisation de systèmes d'information organisés autour de microprocesseurs
US6195752B1 (en) * 1996-10-15 2001-02-27 Siemens Aktiengesellschaft Electronic data processing circuit
WO2001072075A1 (fr) * 2000-03-21 2001-09-27 Telefonaktiebolaget Lm Ericsson (Publ) Chiffrement et dechiffrement

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0449256A2 (fr) * 1990-03-27 1991-10-02 Kabushiki Kaisha Toshiba Microcontrôleur ayant des moyens de sécurité
US5386469A (en) * 1993-08-05 1995-01-31 Zilog, Inc. Firmware encryption for microprocessor/microcomputer
EP0720098A1 (fr) * 1994-12-30 1996-07-03 Thomson-Csf Dispositif de sécurisation de systèmes d'information organisés autour de microprocesseurs
US6195752B1 (en) * 1996-10-15 2001-02-27 Siemens Aktiengesellschaft Electronic data processing circuit
WO2001072075A1 (fr) * 2000-03-21 2001-09-27 Telefonaktiebolaget Lm Ericsson (Publ) Chiffrement et dechiffrement

Similar Documents

Publication Publication Date Title
EP1766588B1 (fr) Composant pour module de sécurité
CN108932297B (zh) 一种数据查询、数据共享的方法、装置及设备
US20070186117A1 (en) Secure processor-based system and method
Bossuet et al. Dynamically configurable security for SRAM FPGA bitstreams
US20080107275A1 (en) Method and system for encryption of information stored in an external nonvolatile memory
US6182217B1 (en) Electronic data-processing device and system
US20070288765A1 (en) Method and Apparatus for Secure Configuration of a Field Programmable Gate Array
CA2633371A1 (fr) Systeme sur une seule puce securise
FR2681165A1 (fr) Procede de transmission d&#39;information confidentielle entre deux cartes a puces.
EP3324327B1 (fr) Stockage dans une mémoire non volatile
KR20040068614A (ko) 보안 환경에서 장치가 비의도적으로 사용되는 것을방지하는 방법 및 장치
EP1939753A1 (fr) Protection de zones mémoire
US20130124874A1 (en) Secure system-on-chip
EP0720098B1 (fr) Dispositif de sécurisation de systèmes d&#39;information organisés autour de microprocesseurs
FR2979443A1 (fr) Microcontroleur securise a base de mode
WO2001004728A1 (fr) Dispositif d&#39;interfaçage entre un port parallele d&#39;un ordinateur et au moins un peripherique comportant une interface pour carte a puce
FR2829266A1 (fr) Circuit integre a semiconducteurs ayant une fonction de crypteur/decrypteur pour proteger des donnees d&#39;entree/ sortie transmises sur un bus interne
EP2323067B1 (fr) Procédé sécurisé de traitement d&#39;un contenu mémorisé au sein d&#39;un composant, et composant correspondant
FR2836735A1 (fr) Circuit integre et procede de gestion de la memoire programme d&#39;un tel circuit integre
WO2016166450A1 (fr) Procede de partage d&#39;une memoire entre au moins deux entites fonctionnelles
FR2849233A1 (fr) Procede de securisation des systemes informatiques par confinement logiciel
EP0172047B1 (fr) Procédé et système pour chiffrer et déchiffrer des informations transmises entre un dispositif émetteur et un dispositif récepteur
Valette et al. Securing embedded programmable gate arrays in secure circuits
EP3923169A1 (fr) Démarrage sécurisé d&#39;un circuit électronique
FR3106909A1 (fr) Circuit intégré configuré pour réaliser des opérations de chiffrement symétrique avec protection de clé secrète