Sélection de la langue

Search

Sommaire du brevet 2093524 

Énoncé de désistement de responsabilité concernant l'information provenant de tiers

Une partie des informations de ce site Web a été fournie par des sources externes. Le gouvernement du Canada n'assume aucune responsabilité concernant la précision, l'actualité ou la fiabilité des informations fournies par les sources externes. Les utilisateurs qui désirent employer cette information devraient consulter directement la source des informations. Le contenu fourni par les sources externes n'est pas assujetti aux exigences sur les langues officielles, la protection des renseignements personnels et l'accessibilité.

Disponibilité de l'Abrégé et des Revendications

L'apparition de différences dans le texte et l'image des Revendications et de l'Abrégé dépend du moment auquel le document est publié. Les textes des Revendications et de l'Abrégé sont affichés :

  • lorsque la demande peut être examinée par le public;
  • lorsque le brevet est émis (délivrance).
(12) Demande de brevet: (11) CA 2093524
(54) Titre français: METHOD FOR DISTRIBUTING THE MEMORY OF AN INTEGRATED CIRCUIT AMONG A PLURALITY OF APPLICATIONS
(54) Titre anglais: PROCEDE POUR REPARTIR LA MEMOIRE D'UN CIRCUIT INTEGRE ENTRE PLUSIEURS APPLICATIONS
Statut: Réputée abandonnée et au-delà du délai pour le rétablissement - en attente de la réponse à l’avis de communication rejetée
Données bibliographiques
(51) Classification internationale des brevets (CIB):
  • G06K 19/07 (2006.01)
  • G06K 19/073 (2006.01)
  • G07F 7/10 (2006.01)
(72) Inventeurs :
  • KOWALSKI, JACEK (France)
  • FOGLINO, JEAN-JACQUES (France)
(73) Titulaires :
  • GEMPLUS CARD INTERNATIONAL
(71) Demandeurs :
  • GEMPLUS CARD INTERNATIONAL (France)
(74) Agent: LAVERY, DE BILLY, LLP
(74) Co-agent:
(45) Délivré:
(86) Date de dépôt PCT: 1991-10-08
(87) Mise à la disponibilité du public: 1992-04-10
Licence disponible: S.O.
Cédé au domaine public: S.O.
(25) Langue des documents déposés: Français

Traité de coopération en matière de brevets (PCT): Oui
(86) Numéro de la demande PCT: PCT/FR1991/000786
(87) Numéro de publication internationale PCT: WO 1992006451
(85) Entrée nationale: 1993-04-06

(30) Données de priorité de la demande:
Numéro de la demande Pays / territoire Date
90/12439 (France) 1990-10-09

Abrégés

Abrégé français

2093524 9206451 PCTABS00110
L'invention concerne les procédés permettant d'implanter
plusieurs applications distinctes dans le circuit intégré d'une carte à
puce. Elle consiste à utiliser un code d'accès comprenant un code
secret (202) et un code (201) définissant un numéro de zone dans
la mémoire (103). Chaque zone correspond à une application. Le
code définissant le numéro de zone permet d'accéder à la zone
correspondante et donc à l'application, et le code secret permet
ensuite le démarrage de cette application. Elle permet de réaliser des
cartes à puce pouvant être utilisées par des personnes
différentes pour des applications distinctes.


Revendications

Note : Les revendications sont présentées dans la langue officielle dans laquelle elles ont été soumises.


WO 92/06451 PCT/FR91/00786
REVENDICATIONS
1 - Procédé pour répartir la mémoire d'un circuit
intégré sans microprocesseur entre plusieurs
applications dans lequel
- on divise la mémoire (103) en plusieurs zones (n)
correspondant chacune à une application,
- on associe un code à chaque zone
- et on présente (101) ce code au circuit pour
autoriser (102) quand il est reconnu l'accès à la zone à
laquelle il est associé,
caractérisé en ce que
- on divise le code en deux parties, l'une (201)
correspondant au numéro de la zone associée, et l'autre
(202) formant un code secret destiné à protéger l'accès
à l'application contenue dans ladite zone,
- on place la partie (201) correspondant au numéro
de zone avant l'autre partie, compte tenu du sens
d'introduction du code dans le circuit
- et on utilise en particulier comme adresse des
zones la partie des codes qui correspond à ce numéro de
zone pour que les adressages dans les zones soient
réduits et identiques vu du coté utilisateur.
2 - Procédé selon la revendication 1, caractérisé
en ce que les codes secrets sont placés en tête (410)
des zones (409) correspondantes de la mémoire (103).
3 - Procédé selon la revendication 2, caractérisé
en ce que les codes secrets sont placés dans une table
des codes secrets.

Description

Note : Les descriptions sont présentées dans la langue officielle dans laquelle elles ont été soumises.


WO9Z/O~SI PCT/FR91/00786
l ~J9352~
PROCEDE POUR REPARTIR LA MEMOIRE D~UN CIRCUIT
INTEGRE ENTRE PLUSIEURS APPLICATIONS.
La présente invention se rapporte aux procédés qui
permettent de répartir le contenu de la mémoire d'un
circuit intégré entre plusieurs applications,
elles-mêmes éventuellement affectées à des utilisateurs
différent. Elle s'applique plus particulièrement aux
circuits intégrés destinés à être montés dans des cartes
à mémoire dites cartes "à puce". Elle est
particulièrement utile pour les circuits intégrés qui ne
comportent pas de microprocesseur, mais seulement
quelques circuits logiques qui permettent d'exploiter le
contenu de la mémoire.
Il est connu d'interdire l'accès à la mémoire, et
en fait l'utilisation, d'un circuit intégr~, en
- inscrivant dans cette mémoire, à une adresse déterminée,
; 15 un code secret. Tant que l'utilisateur n'a pas pr~senté
- ce code secret à l'entrée du circuit, celui-ci reste
- bloqué, tout au moins partiellement.
On souhaite par ailleurs pouvc_r utiliser un même
circuit dans différentes applications, par exemple pour
une carte bancaire et téléphonique. Il est alors utile
- de protéger séparément les accès à ces utilisations,
pour éviter par exemple que l'usage téléphonique ne
- donne accès à l'usage bancaire. Lorsque le circuit
intégré est muni d'un microprocesseur, on peut
facilement concevoir une solution par logiciel à ce
problème. Lorsque par contre il n'est pas ~uni d'un
microprocesseur, il faut trouver une solution simple
pour ne pas augmenter la complexité des circuits
logiques d'exploitation de la mémoire, au risque
d'aboutir à un circuit aussi complexe, mais moins
^~- : . . . . .
~ ' '~' ` `, . . . .

WO92/0~51 PCT/FR91/007
~ 2
souple, que celui comportant un microprocesseur.
Pour sauvegarder cette simplicité, l'invention
propose un procede pour repartir la memoire d'un circuit
intégre entre plusieurs applications, caracteris~ en ce
que l'on divise la memoire en plusieurs zones
correspondant chacune à une application, et que l'on
associe a chaque zone un code destine ~ être présenté au
circuit par l'utilisateur pour autoriser quand il est
reconnu l'acces a la zone a laquelle il est associé.
10En outre, l'invention s'applique aussi aux circuits
- integrés munis d'un microprocesseur en implantant dans
le logiciel le procédé de l'invention, ce qui donne a la
partie de logiciel correspondante une taille r~duite et
une efficacite remarquable.
15D'autres particularites et avantages de l'invention
appara~tront clairement dans la description suivante
faite en regard des figures annexées qui représentent :
'J - la figure 1, une représentation schématique du
déroulement du procédé selon l'invention ;
- ~v 20 - la figure 2, la structure d'un code permettant l'accès
à une zone ; et
- la figure 3, un schema partiel d'un circuit int~gré
selon l'invention.
Selon l'invention, on attribue à chaque application
implantée dans la mémoire du circuit un code d'acces,
-qui peut être un code secret réservé ~ l'utilisateur
autorisé, qui ouvre 1'accès à une zone particulière de
la mémoire où réside l'application correspondante.
Ainsi, comme représenté sur la figure 1,
l'utilisateur, qui peut être l'industriel chargé de
développer une application particulière, ou le
particulier utilisateur final de la carte à puce
contenant le circuit intégré, commence dans une ~tape
101 par entrer un code dans le circuit. Ce code est
-,
,

WO92/0~51 PCT/FR91/00786
2 0 ~ 3 ~ 2 ~
décodé dans une étape 102 pour obtenir l'autorisation
d'acc~s à l'une des zones de la m~moire 103, et à partir
-de ce moment l'utilisateur est libre d'utiliser le
contenu de cette zone, soit pour y implanter
l'utilisation qu'il a développée, soit pour faire
fonctionner celle-ci. L'accès des autres zones est, dans
les cas les plus simples et les plus courants, interdit,
mais il est ~ventuellement possible d'autoriser un acc~s
partiel, par exemple pour utiliser un sous-programme
contenu dans une autre application.
Un perfectionnement intéressant consiste à
organiser la logique du circuit, ou le logiciel du
microprocesseur, pour que les adresses de début de zone,
et les suivantes jusqu'à la fin si elles sont de
longueurs identiques, soient les mêmes, ~ues de
1'utilisateur. Bien entendu les adresses physiques
seront diff~rentes, mais cela ne se verra pas du coté
utilisateur, qui utilisera en fait l'équivalent
invisible pour lui d'un adressage relatif. Outre la
simplification du travail du d~veloppeur de
- l'application, on augmente la sécurité en empechant
d'accéder ~ des adresses interdites par une voie
détournée, éventuellement possible suite à un bogue de
programmation ou de spécification.
25Si la reconnaissance d'un code particulier et la
s~lection de la zone mémoire correspondante se font
aisément avec un microprocesseur, ces actions
nécessitent dans le cas d'une logique cablée un matériel
relativement lourd en comparaison de celui strictement
néces~aire à la gestion de la mémoire en l'absence de
- microprocesseur.
Pour résoudre ce problème, l'invention propose
d'utiliser un code formé de 2 morceaux, comme représenté
en figure 2. Ce code comportera donc une première partie
. .
-.... ..... . - - -
- : . . .. :, . .
: : :
. . .
. ::. : : . : :.
~:-- ` ': ' '.: . . .
.. , : '. : : . :
... ., ., ~ . ..

W092/0~5] PCT/FR91/00786
2093~24
201, formee de x bits, désignant le numéro de zone
utilisable, et une deuxième partie 202, formée de y bits
et comportant le code secret (ou confidentiel)
nécessaire pour accéder à la zone désign~e par le code.
- 5 La longueur totale du code à présenter par
l'utilisateur sera donc de x ~ y bits et cette longueur
sera de pr~ference égale à celle d'un mot de la mémoire,
pour faciliter la réalisation des circuits logiques du
circuit intégré.
Le numéro de zone sera de préférence placé en tête
du code, en se référant au sens par lequel l'utilisateur
1'introduit dans le circuit en mode série, ce qui est le
cas le plus fréquent, notamment dans les cartes à puce
en raison du faible nombre de contacts disponibles sur
le connecteur d'entrée/sortie. De cette manière, dès que
- le code entre dans le circuit, les x premiers bit sont
lus en premier et indiquent quel est le code secret
interne memorisé dans le circuit qu'il faut comparer au
; code secret externe forme par les y bits de la deuxième
partie du code introduit par l'utilisateur. Le pointeur
interne du circuit selectionne alors le code secret
mémorisé puis, si la comparaison est positive, il donne
acc~s à la zone de la mé~oire désignée par le numero
formant la pre~ière partie du code.
Bien entendu si la comparaison est negative l'accès
sera refuse, sauf éventuellement à une zone delivrant
par exe~ple un message d'erreur.
Les codes secrets memorises seront par exemple
contenus dans une table speciale, mais de preférence on
les placera dans la mémoire en tête des zones auxquelles
ils donnent accès, ce qui permet là aussi de simplifier
les circuits internes du circuit intégre. En effet dans
ce cas le pointeur interne, sous la commande du numero
de zone, adresse directement le premier mot de la
.
. , .:
- ~ '

WO92/O~SI PCT/FR91/00786
209c~i2~
mémoire et l'application peut démarrer sans retard dès
que le code secret est reconnu. De plus on économise les
circuits nécessaires pour former une telle table et ses
interfaces avec le reste du circuit intégré. Quand les
s codes secrets sont contenus dans une table spéciale,
cette table permet en les décodant, de conduire à une
partie commune d'adressage qui joue un rôle de sélection
- pour les zones mémoires auxquelles les codes secrets
donnent accès.
Si, comme indique plus haut, la longueur totale du
code (secret + n de zone) est egale à celle d'un mot de
la memoire, on peut soit neutraliser l~.s bits
correspondant au numéro, soit y mettre ce numéro
lui-même et faire une comparaison totale du mot et du
code, en obtenant ainsi une sécurité supplémentaire par
redondance de la vérification du numéro de zone.
Dans le cas d'un circuit à microprocesseur la
sélection se fait par logiciel. Après extraction des x
premiers bits du code present~, le logiciel aiguille le
pointeur interne vers le premier mot de la zone
correspondant au numero indique par ces x bits, il
provoque la lecteur de ce mot, puis la comparaison des y
derniers bits avec le mot ainsi lu, et enfin le
demarrage de l'application si la comparaison est
positive.
Dans le cas d'un circuit sans microprocesseur, on
peut utiliser par exemple des circuits logiques comme
representé sur la figure 3, limitée aux circuits
~; spécifiques de l'invention.
le code introduit par l'utilisateur arrive par une
connexion 'lentrée code" dans un registre 301 o~ il est
mémorisé.
Les x premiers bits, correspondant au numéro de
zone, sont appliqu~s a une logique de zones 302 o~ ils
:., ~`' ' "' .' ' ' . :'
~........ . : - -
.~; ,
::: .: . .
. . : - .
. ~ ..... -
.~: '

WO92/0~51 PCT/FR91/007~
5 `~ ~ 6
sont decodés pour obtenir un signal qui indique sur une
connexion "sélection" la zone concernée. Cette logique
mémorise ce signal jusqu'à la fin de 1'application.
Le signal de sélection ainsi obtenu est appliqué
aux organes d'adressage 303 de la mémoire 304 du circuit
intégré. Ces organes de sélection reçoivent egalement
par une connexion "entree adresses" les adresses des
mots à lire dans l'application. La première adresse, 0
` par convention, est toujours la même, et combinée avec
le signal de sélection elle permet de lire dans la
mémoire le premier mot de la zone désignée, qui contient
; le code secret interne mémorisé.
Ce code interne est appliqué, avec le code secret
externe provenant du registre 301, à un comparateur 305
1~ qui délivre, si cette comparaison est positive, un
signal de validation de lecture qui vient ouvrir une
porte 306 qui permet aux mots lus dans la memoire de
sortir vers les autres organes du circuit intégré. Ce
signal de validation permet également, le cas échéant,
de débloquer tout ou partie de ces autres organes, par
- exemple pour autoriser l'écriture dans la mémoire.
; En outre, pendant toute la duree de l'application,
le signal "selection" permet, en combinaison avec le
signal d'adresses, de lire le contenu de la zone comme
; 25 si elle était en tête de la memoire. Il en est de même
~ bien entendu pour les autres applications.
- Par ailleurs, il n'est pas absolument necessaire
que chaque code confidentiel soit placé au début de sa
zone mémoire. En effet, la structure de l'invention est
aussi particulièrement interessante si, après la
présentation du code, toutes les zones sont de la même
taille. Dans le cas contraire on utilise une
organisation dans laquelle les codes secrets sont
memorisés dans une petite zone.
': ,
"~
. - . . . - . .: -
:.
. ' ' .. ~

W092/0~51 PCT/FR91/00786
~,'333 j~'1
On va décrire maintenant, à l'aide de la figure 4,
le circuit logique simple qui permet de se passer de
l'existence, dans le circuit int~gré, d'un
microprocesseur, tout en autorisant, selon l'invention,
la mise en oeuvre de plusieurs applications avec la
carte à puce. Dans de tels circuits sans microprocesseur
l'adressage des mots mémoires est séquentiel. Dans le
principe de cet adressage une horloge provoque, au moyen
d'un compteur interne à la mémoire, un comptage
d'adresse. Puis un signal de validation, émis depuis
l'extérieur du circuit, valide l'~tat du compteur pour
désigner l'adresse du mot à atteindre. Dans l'invention
on utilise un tel système pour, en plus, mettre en
oeuvre la sécurité liée aux différentes applications.
Dans l'exemple qu'on va décrire on va admettre pour
simplifier que le numéro de la zone o~ est stocké le
code secret est codé sur quatre bits de sorte qu'une
partition de la mémoire en seize parties (24) est
impos~e. Tout autre nombre différent de quatre est
cependant possible. Lors de l'application des quatre
premières impulsions CLX d'une horloge, les quatre
premiers bits du code secret (qui représentent son
adresse) sont envoyés par une broche d'entrée IN du
- circuit intégré sur quatre registres à décalage 401 à
404 reliés en cascade. Avant l'envoi d'un cinquième bit
d'horloge, un signal APL délivré par la logique de zone
30~, préalablement à z~ro, passe à un état un. Il
- invalide alors la transmission des impulsions d'horloges
aux registres 401-404. Ceux-ci restent dans l'état dans
lequel ils étaient. Ils délivrent donc pendant toute
l'utilisation suivante, en sortie, chacun un signal,
respectivement A3 à A0, constituant un bit de poids
donné d'une adresse. Cette adresse est décodée dans un
prédécodeur de zone 405 possédant seize sorties. Chacune
.- . . .. .: - ~ . .
.~. . . . . - .
.~ .
.-' : - :

W092/0~51 PCT/FR91tO0786
3 9 ~ r~
de ces seize sorties aboutit à une entrée d'un décodeur
406 de ligne de mot de la mémoire 407. Cet aboutissement
est par ailleurs autorisé par un ensemble de porte ET
- telle que 408 recevant le signal du prédécodeur 406 et
le signal APL.
Avant le cinquième bit de l'horloge, le décodeur
406 est donc alimenté par les seize signaux du
-- préd~codeur 405. Les autres entrées du décodeur 406
restent encore à zéro. Le décodeur 406 est donc
configuré pour permettre l'accès au premier mot de la
partition adressée (une parmi seize). Ce mot qui
justement contient le code secret est alors lu pour être
comparé comme cela a été indiqué ci-dessus.
Selon une particularité essentielle de l'invention,
le code secret, CODE N 1, CODE N 2, etc.... occupe
; donc la place du premier mot physiquement rang~ dans la
partition adressée de la mémoire. Selon une autre
, particularité essentielle, la partition utilisable de
la mémoire 407, par exemple la partition 409, attachée
au premier mot de la zone 410 qui contient le code
secret CODE N 1, est physiquement proche de ce mot 410.
Cette proximité physique s'explique par le fait que les
mots mémoires de la partition 409 de la mémoire 407 ont
des moments d'adresse A0 et A3 qui sont les mêmes que
ceux du code secret qui gouverne cette zone 409.
L'adressage des différents mots mémoires dans la
partition 409 est alors effectué de la façon suivante.
Une partie de l'adresse est fournie au décodeur 406 par
le prédécodeur 405 (figé dan~ cet état pendant toute
l'application). Une autre partie est fournie
classiquement par un compteur 411 recevant des signaux
CLKV d'horloge validés (pour aboutir au bon mot
mémorisé) et relié à un pr~décodeur 412. Cette dernière
liaison est du même type que celle qui relie les
.: . - .: : ~ .. , :
.: : ': , ::
., .
,`, ' '~ ' , ~ ,.
.` :

W092/0~51 PCT/FR91/00786
290~352~
registres 401-404 au prédécodeur 405. Le prédécodeur 412
transforme le compte du compteur 411 en des signaux
d'adresse. Par exemple le compteur peut compter de 0 à
2n et le prédécodeur 412 a donc n connexions et sortie.
Ces n connexions aboutissent sur n entrées du décodeur
406. De ces n entrées, n-l sont utiles pour accéder à
tous les mots mémoire de la partition 409. Une fois que
cet accès a été effectué on fait compter le compteur 411
jusqu'à n. On aboutit alors à un mot mémoire fictif en
sortie du décodeur 406. Le mot mémoire fictif est
constitué par une connexion 413 connectée à une entrée
de remise à zéro du compteur 411. On peut alors
recommencer un autre compte pour accéder de nouveau à
une adresse de la partition 409. On ne peut pas accéder
; 15 à d'autres mots que ceux de cette partition.
En agissant ainsi on obtient un premier résultat
par lequel les adressages dans les zones sont identiques
vu du coté utilisateur puisque les utilisateurs n'ont
-~ que les n moments d'adresse à leur disposition.
Autrement dit l'adressage est limit~ de 1 à 2n-1, et cet
adressage est le même pour toutes les zones.
Deuxièmement on obtient une partition sure de la
mémoire. Il n'est pas possible en effet avec une
application à qui est dévolue une zone d'aller utiliser
les informations situées dans une autre zone puisque les
quatre premiers bits d'adresse restent figés.
. . .
:
.' ' ' '
"'' . '
' ~
'
'~ ' ' ' '

Dessin représentatif
Une figure unique qui représente un dessin illustrant l'invention.
États administratifs

2024-08-01 : Dans le cadre de la transition vers les Brevets de nouvelle génération (BNG), la base de données sur les brevets canadiens (BDBC) contient désormais un Historique d'événement plus détaillé, qui reproduit le Journal des événements de notre nouvelle solution interne.

Veuillez noter que les événements débutant par « Inactive : » se réfèrent à des événements qui ne sont plus utilisés dans notre nouvelle solution interne.

Pour une meilleure compréhension de l'état de la demande ou brevet qui figure sur cette page, la rubrique Mise en garde , et les descriptions de Brevet , Historique d'événement , Taxes périodiques et Historique des paiements devraient être consultées.

Historique d'événement

Description Date
Inactive : CIB de MCD 2006-03-11
Le délai pour l'annulation est expiré 1995-04-09
Demande non rétablie avant l'échéance 1995-04-09
Réputée abandonnée - omission de répondre à un avis sur les taxes pour le maintien en état 1994-10-10
Inactive : Demande ad hoc documentée 1994-10-10
Demande publiée (accessible au public) 1992-04-10

Historique d'abandonnement

Date d'abandonnement Raison Date de rétablissement
1994-10-10
Titulaires au dossier

Les titulaires actuels et antérieures au dossier sont affichés en ordre alphabétique.

Titulaires actuels au dossier
GEMPLUS CARD INTERNATIONAL
Titulaires antérieures au dossier
JACEK KOWALSKI
JEAN-JACQUES FOGLINO
Les propriétaires antérieurs qui ne figurent pas dans la liste des « Propriétaires au dossier » apparaîtront dans d'autres documents au dossier.
Documents

Pour visionner les fichiers sélectionnés, entrer le code reCAPTCHA :



Pour visualiser une image, cliquer sur un lien dans la colonne description du document. Pour télécharger l'image (les images), cliquer l'une ou plusieurs cases à cocher dans la première colonne et ensuite cliquer sur le bouton "Télécharger sélection en format PDF (archive Zip)" ou le bouton "Télécharger sélection (en un fichier PDF fusionné)".

Liste des documents de brevet publiés et non publiés sur la BDBC .

Si vous avez des difficultés à accéder au contenu, veuillez communiquer avec le Centre de services à la clientèle au 1-866-997-1936, ou envoyer un courriel au Centre de service à la clientèle de l'OPIC.


Description du
Document 
Date
(aaaa-mm-jj) 
Nombre de pages   Taille de l'image (Ko) 
Page couverture 1992-04-10 1 16
Abrégé 1992-04-10 1 50
Revendications 1992-04-10 1 30
Dessins 1992-04-10 2 38
Abrégé 1992-04-10 1 85
Description 1992-04-10 9 359
Dessin représentatif 1998-08-07 1 8
Taxes 1993-09-29 1 30
Rapport d'examen préliminaire international 1993-04-06 15 324