Brevet FR2852469A1 — publié le 20040917

La présente invention concerne un procédé de cryptage/décryptage par algorithme de cryptage pour lequel la clef privée une fois programmée devient inaccessible. Ce procédé permet de crypter/décrypter un bloc de données en y appliquant un algorithme de cryptage à l'aide d'un microprocesseur ou d'un 5 microcontrôleur à partir d'une clef contenue dans une mémoire séparée non accessible après programmation. Dans ce but, le procédé est mis à profit de la façon suivante: * Initialisation et déblocage optionnel par une authentification du possesseur/porteur du procédé. * Fourniture de données à traiter (cryptage ou décryptage) au procédé. * Mise en oeuvre de l'algorithme par le procédé. * Fourniture des données traitées par le procédé. L'intérêt est que le procédé est produit de façon à ne pouvoir donner accès aux informations cruciales qu'est notamment la clef de cryptage/décryptage. La confidentialité des données est devenue un problème croissant avec le développement d'Internet. Ces dernières années ont vu les moyens de cryptographie se développer dans le domaine grand public. Dans un même temps les problèmes de sécurité et d'authentification ont fait naître un certain nombre d'initiatives tels que le développement des infrastructures à clef 20 public. Ces infrastructures sont basées sur les algorithmes de cryptage à clef asymétrique tel que le cryptage RSA. Leur particularité est de nécessiter deux clefs différentes pour le cryptage et le décryptage. Ainsi une des clefs est rendue publique et l'autre reste l'unique possession de son propriétaire. La sécurité autour de cette clef dite privée est cruciale pour le bon 25 fonctionnement de cette infrastructure. On doit s'assurer qu'elle reste bien la propriété de la personne qui est réputé posséder cette clef privée. Le procédé faisant l'objet de cette invention va dans le sens de cette recherche de sécurité. Bien sûr, il ne se limite pas à la sécurisation de clefs privées mais peut servir aussi pour sécuriser tout type de clef. Une source de données sollicite le procédé en vue d'un cryptage ou d'un décryptage. Pour débloquer le procédé et pouvoir l'utiliser à cette fin, le fonctionnement du procédé peut-être conditionné par une reconnaissance du porteur du procédé. Cette reconnaissance peut prendre la forme d'un simple code secret et aller jusqu'à la fourniture d'une reconnaissance biométrique du porteur. Si cette reconnaissance optionnelle a donné satisfaction, les données sont traitées à l'aide de la clef contenu dans le procédé de manière sécurisée. Les données ainsi traitées sont ensuite renvoyées au solliciteur. Ces particularités et avantages apparaîtront de façon plus précise dans la 5 description ci-après d'exemples de réalisation non limitatifs, lue conjointement aux dessins annexés dans lesquels: * La figure 1 présente l'architecture générale du procédé, * La figure 2 présente le diagramme de flux du fonctionnement du procédé. * La figure 3 présente un synoptique interne du procédé. Les données à crypter 11 et 20 sont envoyées au procédé 10 pour traitement. De façon optionnelle une identification 12 sous une demande d'authentification 21. L'authentification 22 est retournée au procédé 10. Les données sont traitées 23 avant d'être renvoyées à la source de données 24. De façon interne les données à traiter 30 sont traitées par l'algorithme 31 pour 15 fournir les données traitées 33. L'algorithme 31 se sert dans ce dessein de la clef 32 dans la mémoire protégée 37. Seul l'algorithme 31 a accès à la clef 32. Lors de l'authentification optionnelle, les données d'identification 36 sont comparées par le comparateur 34. Ces données sont comparées à l'identification de référence 35. Dans certains cas les données traitées 33, pourront être ajoutées 38 des données complémentaires 39 tels qu'un certificat prouvant l'identité du possesseur du procédé. De façon pratique, il peut être envisagé d'utiliser comme algorithme de cryptage, l'algorithme RSA ou DSA et de conserver une clef privée associée à un de ces 25 algorithmes dans la mémoire protégée. Le procédé pourra ainsi servir à signer électroniquement des données, crypter ou décrypter des données. L'identification peut aussi se faire par un simple code secret rentré par l'utilisateur à l'aide d'un procédé ad hoc ou par des données biométriques telles qu'une empreinte. En pratique un certain nombre de cartes à puce sont disponibles sur le marché et 30 possèdent un microcontrôleur couplé à une mémoire protégeable par un système de " " qui empêchent de lire et écrire cette mémoire une fois la programmation terminée. Ces cartes pourront être avantageusement utilisées pour mettre en pratique le procédé considéré dans ce document. Revendications 1. Procédé (10) de cryptage/décryptage caractérisé par un algorithme de cryptage pour lequel la clef de cryptage une fois programmée devient inaccessible et qui exécute les étapes suivantes: * Initialisation et déblocage optionnel par une authentification du possesseur/porteur du procédé (12); * Fourniture de données à traiter (11) (cryptage ou décryptage) au procédé; * Mise en oeuvre de l'algorithme par le procédé; * Ajout optionnel de données complémentaires par le procédé; * Fourniture des données traitées (13) par le procédé. 2. Procédé selon la revendication 1 caractérisé par l'utilisation d'une mémoire protégée contre les lectures et écritures depuis l'extérieur du procédé (37) pour contenir la 15 clef (32) et éventuellement l'identité du porteur (35). 3. Procédé selon la revendication 1 et 2 caractérisé par l'ajout (38) de manière optionnelle des données complémentaires (39) aux données traites (33)