Brevet FR2905216A1 — publié le 20080229

PROCEDE DE PERSONNALISATION D'UN COMPOSANT DE SECURITE, NOTAMMENT EN MILIEU NON PROTEGE L'invention concerne un procédé de personnalisation d'un composant de sécurité en milieu non protégé. En particulier, l'invention s'applique aux composants de type module d'accès sécurisé (ou selon l'expression anglo-saxonne Security Access Module). Les composants de type module d'accès sécurisé sont utilisés dans de nombreux systèmes, par exemple au sein de systèmes billettiques. Ces systèmes mettent en oeuvre, à l'aide de ces composants, des procédés cryptographiques remplissant notamment des fonctions de chiffrage/déchiffrage, d'authentification, d'apposition de signatures... Ces différents procédés cryptographiques, quelle que soit la technologie employée, ont besoin, au moins dans leur phase d'initialisation, d'un premier secret (clé symétrique, clé asymétrique, aléas...). Or, du niveau de confidentialité de ce premier secret dépend le niveau de sécurité des fonctions de sécurité du système. En effet, la compromission de ce premier secret entraîne généralement une perte de confiance vis-à-vis de l'ensemble de la chaîne de sécurité dépendante de ce premier secret. L'introduction d'un premier secret au sein d'un composant de sécurité est généralement accomplie par le fabricant dudit composant. Cette opération est généralement réalisée sur un lot de composants de sécurité, fabriqués en série. Puis, le premier secret est transmis à l'acquéreur du lot de composant de sécurité. A partir de la connaissance de ce premier secret, l'acquéreur souhaite généralement personnaliser le premier secret pour chaque composant en introduisant un secret personnalisé dans chaque composant. Cette étape permet d'améliorer significativement la sécurité du système, notamment en générant un secret connu du seul acquéreur. Mais cette étape se heurte à la connaissance du premier secret, puisqu'il n'est pas possible d'introduire un secret personnalisé sans la connaissance du premier secret. II en découle que l'introduction du secret personnalisé doit être réalisée dans un domaine sécurisé vis-à-vis notamment du personnel pouvant accéder aux composants au cours de cette étape. Ainsi, les composants sont généralement personnalisés dans des locaux sécurisés. 2905216 2 Pour un système complet, par exemple un système billettique, pouvant comporter un nombre important de dispositifs comprenant des composants de sécurité, répartis sur une zone géographique importante, 5 cette étape de personnalisation s'avère donc longue, coûteuse et peu flexible. Cet inconvénient est particulièrement sensible lors du déploiement d'un tel système. L'invention a notamment pour but de pallier les inconvénients 10 précités. L'invention a pour objet un procédé de personnalisation d'un composant de sécurité comportant : • une étape d'insertion d'un premier secret KO dans ledit composant de sécurité, ladite étape étant mise en oeuvre dans un domaine sécurisé sous la responsabilité du fabricant du composant de sécurité 15 • une étape de génération d'un secret applicatif K et une étape de génération d'un cryptogramme [K]KO de personnalisation obtenu par chiffrement du secret applicatif K par le premier secret KO, lesdites étapes étant mises en oeuvre dans un domaine sécurisé applicatif sous la responsabilité du détenteur du composant de sécurité ; 20 • une étape de personnalisation du composant de sécurité par insertion dans ledit composant de sécurité du cryptogramme [K]KO de personnalisation, ladite étape de personnalisation étant mise en oeuvre dans un domaine applicatif. 25 Avantageusement, le procédé peut en outre comporter une étape où le premier secret KO est inséré dans un composant de cryptage, ladite étape étant mise en oeuvre dans le domaine sécurisé sous la responsabilité du fabricant du composant de sécurité. Le composant de cryptage est utilisé pour chiffrer le secret applicatif K par le premier secret KO pour générer le 3o cryptogramme [K]KO de personnalisation. Dans un mode de réalisation, le nombre d'utilisations possibles du composant de cryptage est limité. 2905216 3 Dans un autre mode de réalisation, un premier secret diversifié KOND est inséré dans ledit composant de sécurité. Le premier secret diversifié KOND est obtenu par chiffrement d'une information ND spécifique au composant de sécurité à l'aide d'un secret maître KM. Le secret applicatif K est inséré à 5 l'étape de personnalisation du composant de sécurité par chargement du cryptogramme [K]KOND de personnalisation. L'information ND peut être le numéro de série NS du composant de sécurité, ou dérivée du numéro de série NS et/ou d'un compteur N d'utilisations irréversible. 10 Avantageusement, la fonction de chargement du secret applicatif K dans le composant de sécurité de série est irréversible. L'invention a notamment pour avantages qu'elle permet aux données sensibles chargées dans un composant de sécurité de rester 15 confidentielles à tout moment : - Vis-à-vis de toute personne extérieure au système, même hostile, et assistant à l'opération de personnalisation ; - Vis-à-vis de toute personne opérant la personnalisation, qu'il soit administrateur ou simple agent ; 20 - Vis-à-vis de toute personne intérieure au système applicatif (concepteur, développeur...). En outre, la personnalisation des composants s'effectue sans besoin de connexion externe. Les données confidentielles peuvent être protégées du clonage, l'opération de clonage consistant à rejouer les échanges sur un 25 autre composant du même type. Les données confidentielles peuvent être protégées du re-jeu sur le même composant. D'autres caractéristiques et avantages de l'invention apparaîtront à l'aide de la description qui suit faite en regard des dessins annexés qui 30 représentent, la figure 1, un synoptique du procédé selon l'invention de personnalisation d'un composant de sécurité en milieu non protégé. La figure 1 illustre par un synoptique le procédé selon l'invention de personnalisation d'un composant de sécurité en milieu non protégé. Le procédé selon l'invention a notamment pour objet d'amener dans un 2905216 4 composant de sécurité un secret applicatif K, qui ne puisse être fabriqué et utilisé qu'à l'aide d'un premier secret KO obtenu d'un tiers de confiance. Le tiers de confiance est par exemple le fabricant du composant lui-même. Le composant de sécurité est par exemple de type module d'accès sécurisé (ou 5 selon l'acronyme anglo-saxon SAM pour Security Access Module). Ainsi, dans une étape 11, le fabricant insère dans le composant de sécurité le premier secret KO. Le premier secret KO peut être inséré physiquement dans le circuit électrique du composant de sécurité ou dans le 10 microprogramme du composant de sécurité (ou selon l'expression anglo-saxonne firmware). Au cours de cette étape 11, le premier secret KO peut être inséré dans un nombre important de composants de sécurité formant un ou plusieurs lots, fabriqués en série. 15 Dans une étape 12, le fabricant peut insérer le premier secret KO, utilisé notamment à l'étape 11, dans un composant de cryptage, afin de disposer d'un moyen sécurisé permettant de diffuser à l'acquéreur du composant de sécurité le premier secret KO. Le composant de cryptage est un moyen adapté à la génération du secret applicatif K à l'aide de son secret 20 KO. Pour autant, idéalement, le composant de cryptage ne propose aucun moyen d'accès au premier secret KO ou en limite l'accès en rendant la compréhension ou l'accès physique difficile. Par exemple, le composant de cryptage adapté à la génération du secret applicatif K peut être un composant de sécurité de type module d'accès sécurisé, capable de coder 25 toute valeur par le premier secret NCO, non extractible. Ainsi, l'insertion du premier secret KO dans le composant de cryptage permet au fabricant du composant de ne plus nécessairement assurer le maintien de secrets autres que le secret KO. En effet, le composant de cryptage est livré à l'issue de l'étape 12 à l'acquéreur de la série de composants de sécurité renfermant le 30 premier secret KO à l'issue de l'étape 11. L'acquéreur pourra alors générer un cryptogramme [K]KO de personnalisation à partir du premier secret KO basé sur un secret K applicatif. Les opérations conduites au sein des étapes 11 et 12 sont 35 réalisées dans un domaine sécurisé 10 sous la responsabilité du fabricant du 2905216 5 composant de sécurité. En effet, la découverte du premier secret KO par un attaquant lui permettrait de trouver le secret applicatif K en surveillant le cryptogramme [K]KO. C'est pourquoi le secret KO ne doit pas être connu hors du domaine sécurisé 10 sous la responsabilité du fabricant. En outre, le 5 fabricant doit être de confiance pour garantir la sécurité des systèmes mettant en oeuvre lesdits composants de sécurité. Le composant de cryptage est sensible car il détient le secret KO du fabricant d'une part, et d'autre part, il peut subir une attaque consistant à découvrir le secret applicatif K. En effet, utiliser le composant de cryptage en décryptage permettrait de découvrir le 10 secret applicatif K à partir de la connaissance du cryptogramme [K]KO, même sans connaître le premier secret KO. Pour cette raison, le composant de cryptage doit être protégé en autorisant l'utilisation de la fonction de cryptage et en interdisant l'utilisation de la fonction de décryptage. Dans un mode de réalisation, l'attaque du composant de cryptage peut être rendue plus difficile 15 en limitant le nombre d'utilisations possibles du composant de cryptage. Cette limitation peut être introduite par le fabricant du composant de cryptage. Dans une étape 21, le secret applicatif K est généré. Puis dans 20 une étape 22, le cryptogramme [K]KO de personnalisation est généré. Le cryptogramme de personnalisation correspond au chiffrement du secret applicatif K applicatif généré à l'étape 21 par le premier secret KO. Le cryptogramme [K]KO de personnalisation est obtenu en utilisant le composant de cryptage pour chiffrer le secret K à l'aide du premier secret 25 KO. Le cryptogramme [K]KO de personnalisation n'a pas nécessairement à être tenu secret. Le cryptogramme [K]KO de personnalisation est ensuite diffusé dans une étape 23 à d'autres personnes, par exemple à des personnes en charge du déploiement du système. 30 Les opérations conduites au sein des étapes 21, 22 sont réalisées dans un domaine sécurisé applicatif 20 du ressort du détenteur des composants de sécurité. Ces opérations doivent être réalisées dans un cadre sécurisé : par exemple, elles peuvent être conduites dans une phase de paramétrage du système dans des locaux sécurisés. 35 2905216 6 Puis dans une étape 31, le composant de sécurité est personnalisé par insertion du cryptogramme [K]KO de personnalisation généré à l'étape 22 et diffusé à l'étape 23 hors du domaine sécurisé applicatif 20. Le composant de sécurité comprend alors le cryptogramme 5 [K]KO de personnalisation ainsi que le premier secret KO inséré par le constructeur à l'étape 11. Ainsi, le composant de sécurité obtient la connaissance du secret applicatif K. Les opérations conduites au sein de l'étape 31 sont réalisées dans 10 un domaine non sécurisé applicatif 30. Ces opérations ne doivent pas nécessairement être réalisées dans un cadre sécurisé : par exemple, elles peuvent être conduites dans une phase d'installation d'un système dans un endroit quelconque sans surveillance particulière. 15 Dans un mode de réalisation, une fonction anti-clonage est implémentée dans le composant de sécurité. Le premier secret KO compris dans les composants de sécurité d'un ou plusieurs lots fabriqués en série est diversifié pour garantir un niveau de sécurité adapté au besoin du système. Aussi, afin d'introduire un premier secret différent pour chaque composant de 20 sécurité compris dans les différents lots et pour éviter la fabrication d'autant de composants de cryptage que de composants de sécurité, il est nécessaire de générer des premiers secrets obtenus par diversification d'un secret maître KM. Ainsi la méthode de génération des premiers secrets obtenus par diversification du premier secret KO doit être déterministe. Pour cela, chaque 25 composant de sécurité de série est fabriqué avec un premier secret diversifiée KOND obtenu par le cryptage d'une information ND (Numéro Diversifiant) par le secret KM, soit KCIND= [ND]KM. L'information ND peut être le numéro de série NS du composant de sécurité. Le premier secret diversifié KOND peut s'obtenir à l'aide d'un seul composant de cryptage pour l'ensemble 3o des composants de sécurités des différents lots. Le secret applicatif K est ensuite inséré à l'étape 31 en chargeant le cryptogramme [K]KOND de personnalisation. Le cryptogramme [K]KOND de personnalisation ne sera utilisable pour le chargement du secret applicatif K que sur le composant de sécurité dont le numéro diversifiant sera égal à l'information ND. 35 2905216 7 Dans un mode de réalisation, une fonction anti-rejeu est implémentée dans le composant de sécurité. Par exemple, la commande de rechargement du secret applicatif K dans le composant de sécurité de série est irréversible. En outre, il peut être imposé de faire dépendre le N+lème 5 chargement du secret K, noté KN+1, du secret KN, ou du secret KO modifié par la valeur N (par exemple [N]KO), le composant utilisant alors un compteur irréversible d'utilisations contenant la valeur N. Le retour à l'état d'usine du composant de sécurité est donc impossible. 10 Ces deux modes de réalisation, la diversification du premier secret KO et la fonction anti-rejeu, peuvent être combinés, permettant ainsi de faire dépendre le chargement du secret KN+1 du secret [ND]KN, du secret [N]KOND, ou de toute autre combinaison de ND, NS, N, KN et KOND variant d'un composant à l'autre et d'un chargement à l'autre. 15 REVENDICATIONS 1. Procédé de personnalisation d'un composant de sécurité caractérisé en ce qu'il comporte : • une étape (11) d'insertion d'un premier secret KO dans ledit composant de sécurité, ladite étape (11) étant mise en oeuvre dans un domaine sécurisé (10) sous la responsabilité du fabricant du composant de sécurité • une étape (21) de génération d'un secret applicatif K et une étape (22) de génération d'un cryptogramme [K]KO de personnalisation obtenu par chiffrement du secret applicatif K par le premier secret KO, lesdites étapes (21, 22) étant mises en oeuvre dans un domaine sécurisé applicatif (20) sous la responsabilité du détenteur du composant de sécurité ; • une étape (31) de personnalisation du composant de sécurité par insertion dans ledit composant de sécurité du cryptogramme [K]KO de personnalisation, ladite étape (31) de personnalisation étant mise en oeuvre dans un domaine applicatif (30). 2. Procédé selon la revendication 1 caractérisé en ce qu'il comporte une étape (12) où le premier secret KO est inséré dans un composant de cryptage, ladite étape (12) étant mise en oeuvre dans le domaine sécurisé (10) sous la responsabilité du fabricant du composant de sécurité, ledit composant de cryptage étant utilisé pour chiffrer le secret applicatif K par le premier secret KO pour générer (22) le cryptogramme [K]KO de personnalisation. 3. Procédé selon la revendication 2 caractérisé en ce que le nombre d'utilisations possibles du composant de cryptage est limité. 4. Procédé selon l'une des quelconques revendications 1 à 3 caractérisé en ce qu'un premier secret diversifié KOND est inséré (11) dans ledit composant de sécurité, le premier secret diversifié KOND étant obtenu par chiffrement d'une information ND spécifique au composant de sécurité à l'aide d'un secret maître KM, le secret applicatif K étant inséré à l'étape (31) de 2905216 9 personnalisation du composant de sécurité par chargement du cryptogramme [K]KOND de personnalisation. 5. Procédé selon la revendication 4 caractérisé en ce que l'information ND 5 est le numéro de série NS du composant de sécurité, ou dérivée du numéro de série NS et/ou d'un compteur N d'utilisations irréversibles. 6. Procédé selon l'une des quelconques revendications 1 à 5 caractérisé en ce que la fonction de chargement du secret applicatif K dans le composant ~o de sécurité de série est irréversible.