Brevet FR2921175A1 — publié le 20090320

La présente invention concerne une carte à circuit intégré utilisable notamment comme support de don-nées par exemple pour constituer un moyen d'identification du porteur de la carte, un moyen d'accès à un lieu ou un matériel, un moyen de paiement tel qu'une carte bancaire ou une carte de téléphone... ARRIERE PLAN DE L'INVENTION Une carte à circuit intégré comporte généralement un corps sur lequel est fixé un circuit intégré compre- nant une unité de traitement associée à une mémoire vive et à des moyens d'échange de données avec un dispositif externe tel qu'un lecteur de carte. Les moyens d'échange comportent par exemple des plages conductrices destinées à coopérer avec des électrodes du dispositif externe ou une antenne émettrice/réceptrice pour échanger des signaux électromagnétiques avec une antenne du dispositif externe. L'unité de traitement, un microprocesseur, effectue sur des données des opérations, et plus particulièrement des calculs cryptographiques, qui vont notam- ment permettre à l'unité de traitement de vérifier si elle est autorisée à engager une transaction avec le dis-positif externe auquel les moyens d'échange 1~ relient. La mémoire vive (ou RAM de l'anglais � Random Access Memory �, mémoire à accès aléatoire) est utilisée pour la mémorisation des données qui sont échangées avec le dis-positif externe et des données de fonctionnement interne telles que des résultats intermédiaires qui sont réutilisées dans les opérations effectuées par l'unité de traitement. De telles cartes renferment parfois des informations confidentielles, telles qu'un code secret, ou per-mettant l'accès à des lieux ou des équipements contenant de telles informations, et sont parfois soumises à des tentatives de fraude qui visent à perturber le fonction- nement de l'unité de traitement pour amener celle-ci à communiquer vers l'extérieur des données confidentielles ou pour révéler son mode de fonctionnement. Ces tentatives de fraude sont généralement réalisées en exploitant la mémoire vive pour y faire enregis- trer des morceaux d'instructions, inoffensifs pris individuellement, que l'unité de traitement sera amenée à as-sembler constituant ainsi une instruction mettant en péril la sécurité de la carte ; ou pour y récupérer des in-formations que l'unité de traitement a mémorisées tempo- rairement et qui ne sont normalement pas destinées à être transmises à l'extérieur. OBJET DE L'INVENTION Un but de l'invention est de fournir un moyen permettant de contrôler l'échange d'informations avec l'extérieur afin d'assurer une protection de la carte. RESUME DE L'INVENTION A cet effet on prévoit, selon l'invention, une carte à circuit intégré comprenant une unité de traite-ment associée à une mémoire vive et à des moyens d'échange de données avec un dispositif externe, la mémoire vive comportant une zone de mémorisation dédiée aux données échangées et l'unité de traitement est agencée pour sécuriser la zone de mémorisation et pour enregistrer dans cette zone les données échangées. Les données échangées sont les données reçues ou à émettre. Ainsi, seules les données échangées sont contenues dans la zone de mémorisation dédiée et pourront être échangées avec l'extérieur. La sécurisation logicielle assurée par l'unité de traitement permet de limi- ter le risque que cette zone contienne des données nuisibles pour la sécurité de la carte, c'est-à-dire soit des morceaux d'instructions, inoffensifs pris individuelle-ment, et constituant une instruction malveillante une fois rassemblés, soit des données de fonctionnement in- terne ne devant normalement pas être communiquées à l'extérieur. L'unité de traitement empêche la présence simultanée de ces morceaux d'instructions en mémoire et la mémorisation de ces données de fonctionnement interne. Le fait d'avoir une zone de mémorisation dédiée facilite la surveillance en limitant le nombre d'octets potentiellement dangereux et n'a pas une incidence notable sur les performances de la carte. Selon un premier mode de sécurisation, l'unité de traitement est programmée pour altérer les données de la zone de mémorisation dédiée avant un transfert de données depuis l'extérieur. Ainsi, on évite que des données reçues par la carte pour une première commande puissent être utilisées en combinaison avec des données reçues pour une deuxième commande, ou utilisées directement. Des données successivement reçues par la carte ne peuvent donc être recombinées ou utilisées pour former une instruction malveillante. Selon un deuxième mode de sécurisation, l'unité de traitement est programmée pour verrouiller l'accès à la zone de mémorisation dédiée lors d'une opération de traitement. Ainsi, lors de son fonctionnement, l'unité de traitement ne peut enregistrer de données dans la zone de mémorisation dédiée, éliminant le risque que de telles données, et plus particulièrement des données secrètes ou sensibles, soient par la suite transmises à l'extérieur. Avantageusement alors, l'unité de traitement est programmée pour évaluer un état des données de la zone de mémorisation dédiée avant de réaliser une opération de traitement et de vérifier l'intégrité des données après l'opération de traitement. Tout enregistrement de données dans la zone de mémorisation dédiée entraînerait alors un défaut d'inté- grité de cette zone et révèlerait une tentative de fraude. L'invention a également pour objet un procédé de gestion d'une mémoire vive d'une carte à circuit intégré comportant une unité de traitement à laquelle sont asso- ciés la mémoire vive et des moyens d'échange de données avec un dispositif externe, le procédé comprenant les étapes de : - définir dans la mémoire vive une zone dédiée aux données échangées, - commander l'unité de traitement pour qu'elle sécurise cette zone et y enregistre les données échangées. D'autres caractéristiques et avantages de l'invention ressortiront à la lecture de la description qui suit d'un mode de réalisation particulier non limitatif de l'invention. BREVE DESCRIPTION DES DESSINS Il sera fait référence à la figure unique représentant schématiquement une carte conforme à l'invention. DESCRIPTION DETAILLEE DE L'INVENTION En référence à la figure, la carte comprend, de façon connue en soi, un corps 1 auquel est fixé un circuit intégré 2 comprenant une unité de traitement 3, sous la forme d'un microprocesseur, une mémoire morte 4, de type ROM (de l'anglais � Read Only Memory �, mémoire à lecture seule) et une mémoire vive 5 de type RAM (de l'anglais � Random Access Memory �, mémoire à accès aléatoire). La mémoire morte 4 contient un programme d'exploitation (ou plusieurs) qui est destiné à être exé- cuté par l'unité de traitement 3 afin de permettre à celle-ci d'effectuer des opérations prédéterminées. Cette opération comprend des opérations de réception de don-nées, des opérations de traitement des données et des opérations de transmission de données. Les opérations de traitement en question sont par exemple des calculs cryp-tographiques et des procédures d'authentification. La mémoire vive 5 est utilisée par l'unité de traitement 3 pour y mémoriser des données. Le circuit intégré 2 est relié à une antenne 6 constituant un moyen d'échange de données avec un dispositif externe D formé ici d'un lecteur de carte sans contact. Une zone de mémorisation dédiée aux données échangées est définie dans la mémoire vive 5. La zone de mémorisation dédiée, référencée 7, est bornée de sorte qu'elle ne puisse être étendue lors du fonctionnement de l'unité de traitement 3. Le programme d'exploitation exécuté par l'unité de traitement 3 est agencé pour obliger l'unité de traitement 3 à enregistrer dans la zone de mémorisation dé- diée 7 les données échangées, c'est-à-dire les données qu'elle reçoit de l'antenne 6 et les données qu'elle s'apprête à transmettre au dispositif externe D via l'antenne 6. L'unité de traitement 3 est programmée pour véri- fier avant une émission d'une donnée que la donnée est contenue dans la zone de mémorisation dédiée 7. Le programme d'exploitation est égalemgnt agencé pour que, préalablement à chaque réception de données, l'unité de traitement 3 altère les données contenues dans la zone de mémorisation dédiée 7. Cette altération consiste à brouiller ("scramble") les données contenues dans cette zone. Cette opération est assimilable à un effacement desdites données. Le programme d'exploitation de l'unité de traite- ment 3 est en outre agencé pour verrouiller la zone de mémorisation dédiée 7 pendant les opérations effectuées par l'unité de traitement 3. Ce verrouillage consiste ici, en premier lieu, à interdire à l'unité de traitement 3, par le programme d'exploitation, de mémoriser des in-formations "dans la zone de mémorisation dédiée 7 lors 6 d'opérations de traitement. En second lieu, le verrouillage comprend les étapes d'évaluer un état des données de la zone de mémorisation dédiée 7 avant de réaliser une opération de traitement et de vérifier l'intégrité des données contenues dans la zone de mémorisation dédiée 7 après l'opération de traitement. Cette vérification d'intégrité est effectuée en calculant un polynôme sur les octets présents dans la zone de mémorisation dédiée 7 avant l'opération de traitement et en recalculant ce po- lynôme après l'opération de traitement. Il ne reste plus alors qu'à comparer les deux polynômes obtenus. Ce polynôme, également appelé checksum ou code de redondance cyclique (issu du procédé CRC de l'anglais � Cyclic Redundancy Checks � pour contrôle de redondance cyclique) est obtenu de manière classique en traitant un bloc de don-nées comme une suite de coefficients binaires d'un polynôme. Ainsi, toute mémorisation de données effectuée après le calcul d'intégrité modifiera la valeur de celui-ci. La vérification d'intégrité révèlera cette mémorisa- tion non autorisée indicative d'un dysfonctionnement. La carte conforme à l'invention comprend ainsi une mémoire vive pourvue d'une zone de mémorisation dédiée des données échangées et une sécurité logicielle assurant un contrôle de la mémorisation de données dans cette zone. Bien entendu, l'invention n'est pas limitée au mode de réalisation décrit et on peut y apporter des va-riantes de réalisation sans sortir du cadre de l'invention tel que défini par les revendications. En particulier, l'invention est applicable à tout type de cartes, et notamment à des cartes à contact possédant des plages conductrices pour coopérer avec des électrodes d'un lecteur de carte. Les modes de sécurisation décrits peuvent être utilisés indépendamment les uns des autres ou en combi- naison. D'autres modes de vérification d'intégrité sont utilisables. 7 REVENDICATIONS 1. Carte à circuit intégré comprenant une unité de traitement (3) associée à une mémoire vive (5) et à des moyens d'échange (6) de données avec un dispositif externe (D), caractérisée en ce que la mémoire vive comporte une zone de mémorisation (7) dédiée aux données échangées et en ce que l'unité de traitement est agencée pour sécuriser la zone de mémorisation dédiée et pour en- registrer dans cette zone les données échangées. 2. Carte à circuit intégré selon la revendication 1, dans laquelle l'unité de traitement (3) est programmée pour altérer les données de la zone de mémorisation dédiée (7) avant un transfert de données depuis l'exté-rieur. 3. Carte à circuit intégré selon la revendication 1, dans laquelle l'unité de traitement (3) est programmée pour verrouiller l'accès à la zone de mémorisation dédiée (7) lors d'une opération de traitement. 4. Carte selon la revendication 3 dans laquelle l'unité de traitement (3) est programmée pour calculer une intégrité sur les données de la zone de mémorisation dédiée (7) avant de réaliser une opération de traitement et pour vérifier l'intégrité des données après l'opéra- tion de traitement. 5. Carte selon la revendication 1, dans laquelle l'unité de traitement (3) est programmée pour vérifier avant une émission d'une donnée que la donnée est conte-nue dans la zone de mémorisation dédiée (7). 6. Procédé de gestion d'une mémoire vive (5) d'une carte à circuit intégré (2) comportant une unité de traitement (3) à laquelle sont associés la mémoire vive et des moyens d'échange (6) de données avec un dispositif externe (D), caractérisé en ce qu'il comprend les étapes de : 9 - définir dans la mémoire vive une zone dédiée (7) aux données échangées, -commander l'unité de traitement pour sécuriser cette zone et y enregistrer les données échangées. 7. Procédé de gestion selon la revendication 6, dans lequel la sécurisation comprend une phase d'altération des données de la zone de mémorisation dédiée (7) avant un transfert de données depuis l'extérieur. 8. Procédé de gestion selon la revendication 6, dans lequel la sécurisation comprend une phase de verrouillage de l'accès à la zone de mémorisation dédiée (7) lors d'une opération de traitement. 9. Procédé de gestion selon la revendication 8, dans lequel la sécurisation comprend les phases d'évaluer un état des données de la zone de mémorisation dédiée (7) avant de réaliser une opération de traitement et de vérifier l'intégrité des données après l'opération de traite-ment. 10. Procédé de gestion selon la revendication 8, dans lequel la sécurisation comprend la phase de vérifier avant une émission d'une donnée que la donnée est conte-nue dans la zone de mémorisation dédiée (7).