Brevet FR2923668A1 — publié le 20090515

PROCEDE ET SYSTEME DE DISTRIBUTION DE CLES CRYPTOGRAPHIQUES DANS UN RESEAU HIERARCHISE. La présente invention concerne un procédé et un système de distribution de clés cryptographiques dans un réseau hiérarchisé. Elle concerne également un dispositif et un programme d'ordinateur pour mettre en oeuvre le procédé. Quand on considère les réseaux de communication mis en oeuvre par des organisations devant intervenir dans des environnements difficiles telles que les pompiers, la sécurité civile, la police ou l'armée, ils se caractérisent par une organisation structurée hiérarchiquement en groupes. Au sein d'un groupe, tous les utilisateurs communiquent librement mais, il est nécessaire d'introduire un cloisonnement entre utilisateurs de groupes différents. En effet, l'expérience montre que dans un mode de communication par diffusion, c'est-à-dire que chaque utilisateur s'adresse à l'ensemble des utilisateurs du groupe, la multiplication, en particulier, des interventions orales liées à des situations de stress génère un bruit qui empêche la transmission d'information pertinente dès que le groupe dépasse une dizaine d'utilisateurs. Le cloisonnement peut être créé par l'utilisation de canaux de transmission différents pour chaque groupe. Mais il est aussi possible de combiner cette approche en chiffrant chaque canal de communication avec une clé de groupe différente et ce afin d'assurer l'étanchéité entre les groupes permettant aussi de préserver la confidentialité de certaines informations Les seules communications déchiffrables par un terminal du groupe 25 sont celles générées pour lesquelles le terminal possède une clé cryptographique qui est elle-même attachée à un groupe. L'utilisation de communications chiffrées permet également de préserver la confidentialité des échanges et est donc particulièrement privilégiée par les militaires et les professionnels de la sécurité publique qui ont un besoin de préserver la confidentialité des informations. Dans l'état de la technique actuelle, la génération des clés cryptographiques est effectuée sur une machine centrale, dénommée serveur ou central de distribution de clés, et chaque terminal du réseau reçoit sa ou ses clés cryptographiques de cette machine centrale avant le déploiement sur le terrain. Cette gestion centralisée des clés cryptographiques a l'inconvénient de limiter fortement les possibilités de réorganisation et de restructuration du réseau en cas de perte de lien avec cette machine centrale privant ainsi l'organisation des groupes de toute dynamique. Ainsi, si pour une raison quelconque, le terminal du groupe chargé de maintenir le lien de communication entre le groupe et la hiérarchie supérieure, devient indisponible, de même que toute solution de secours éventuelle comme l'utilisation d'un second terminal, le groupe est alors coupé de toute communication avec le reste de la structure. Il devient alors nécessaire à ce groupe de retourner vers un lieu tel qu'un camp de base ou une caserne où il pourra être réorganisé et obtenir de nouvelles clés cryptographiques lui permettant de réintégrer le réseau de communication de la structure. De même la fusion de deux groupes va nécessiter le retour vers un lieu où la mise à disposition de nouvelles clés peut s'effectuer alors que les contraintes de la situation peuvent nécessiter que la fusion se fasse immédiatement, sur le lieu de l'action tout en préservant la confidentialité des échanges préalables. II serait donc particulièrement avantageux de réaliser une gestion des clés cryptographiques qui soit particulièrement robuste à un accident et qui permette une réorganisation rapide du réseau. Pour répondre à ce besoin, selon un aspect de l'invention, il est proposé un procédé de gestion de clés cryptographiques dans un réseau hiérarchisé comportant au moins un dispositif responsable d'un groupe supérieur de dispositifs, au moins un des dispositifs dudit groupe de dispositifs étant également responsable d'un groupe inférieur de dispositif, caractérisé en ce qu'il comporte les étapes, au niveau du dispositif responsable du groupe supérieur, de : a. stockage • d'un ensemble d'identifiants propres au groupe supérieur, • d'un identifiant propre au dispositif responsable, • d'un identifiant par dispositif responsable de groupe inférieur, chaque identifiant étant unique à l'intérieur du réseau hiérarchisé, b. stockage d'une clé cryptographique racine, c. fourniture d'une clé cryptographique racine à chaque dispositif responsable d'un groupe inférieur par dérivation de la clé racine et de l'identifiant dudit dispositif responsable du groupe inférieur par une première fonction cryptographique non réversible, d. fourniture d'au moins une clé cryptographique de transport à chaque membre dudit groupe supérieur de dispositifs par dérivation de la clé racine et d'un identifiant appartenant à l'ensemble des identifiants propres audit groupe par une seconde fonction cryptographique non réversible. Ainsi on obtient avantageusement une gestion décentralisée des clés cryptographiques qui respecte la structure hiérarchique de l'organisation. De ce fait, la distribution des clés peut s'effectuer au plus près 25 des lieux où sont engagés les utilisateurs. Par exemple, un utilisateur isolé parce qu'ayant perdu son groupe, peut se joindre à un autre groupe simplement en acquérant, de la part du chef de ce groupe, la ou les clés cryptographiques de transport qui sont ou seront utilisées par ce groupe. Selon un autre aspect de l'invention, il est proposé un procédé de 30 distribution de clés cryptographiques dans un réseau hiérarchisé comportant au moins un dispositif responsable d'un groupe supérieur de dispositifs, ledit procédé étant mis en oeuvre par un dispositif dudit groupe 10 15 20 de dispositifs également responsable d'un groupe inférieur de dispositifs, caractérisé en ce qu'il comporte les étapes de : a. stockage d'une clé cryptographique racine, b. stockage d'un identifiant qui lui est propre et est unique dans le 5 système hiérarchisé, c. génération d'une clé cryptographique de transport par dérivation de la clé cryptographique racine et d'un des identifiants de l'ensemble d'identifiants propre au groupe, d. distribution de la clé cryptographique de transport aux 10 dispositifs membre du groupe. Selon un autre aspect de l'invention, il est proposé un programme d'ordinateur comportant des instructions pour la mise en oeuvre d'un des procédés lorsque lesdites instructions sont exécutées sur un ordinateur. Selon un autre aspect de l'invention, il est proposé un système de 15 distribution de clés cryptographiques dans un réseau hiérarchisé comportant au moins un dispositif responsable d'un groupe supérieur de dispositifs, au moins un des dispositifs dudit groupe de dispositifs étant également responsable d'un groupe inférieur de dispositif, caractérisé en ce qu'il comporte des : 20 a. moyens de définition pour chaque groupe d'un ensemble d'identifiants qui lui est propre, et pour chaque dispositif responsable de groupe d'un identifiant de responsable qui lui est propre et unique dans le réseau hiérarchisé. b. moyens d'installation d'une clé cryptographique racine dans le 25 dispositif responsable du groupe supérieur. c. premiers moyens de fourniture d'une clé cryptographique racine à chaque dispositif responsable d'un groupe inférieur par dérivation de la clé racine du dispositif responsable du groupe supérieur et de l'identifiant dudit dispositif responsable du 30 groupe inférieur par une première fonction cryptographique non réversible. d. pour chaque groupe de dispositifs, des seconds moyens de fourniture d'au moins une clé cryptographique de transport à chaque membre dudit groupe de dispositifs par dérivation de la clé racine du dispositif responsable dudit groupe et d'un identifiant appartenant à l'ensemble des identifiants dudit groupe par une seconde fonction cryptographique non réversible. Selon un autre aspect de l'invention, il est également proposé un dispositif responsable d'un groupe de dispositif dans un réseau hiérarchisé, 10 caractérisé en ce qu'il comporte : a. des premiers moyens de stockage d'une clé cryptographique racine, b. des seconds moyens de stockage d'un identifiant qui lui est propre et est unique dans le système hiérarchisé et d'un 15 ensemble d'identifiants propre au groupe, c. des moyens de génération d'une clé cryptographique de transport par dérivation de la clé cryptographique racine et d'un des identifiants de l'ensemble d'identifiants propre au groupe, d. des moyens de distribution de la clé cryptographique de 20 transport aux dispositifs membre du groupe. D'autres caractéristiques et modes de réalisation sont décrites dans les revendications dépendantes. L'invention sera mieux comprise à la lecture de la description qui suit, donné uniquement à titre d'exemple, et faite en référence aux figures 25 dans lesquelles : - la figure 1 est une vue schématique d'un réseau hiérarchisé avec un système de distribution de clés cryptographiques selon un mode de réalisation de l'invention ; la figure 2 est une vue schématique d'un dispositif responsable 30 dans le réseau hiérarchisé de la figure 1 ; et la figure 3 est un ordinogramme d'un mode de réalisation du procédé de distribution de clés cryptographiques selon l'invention ; En référence à la figure 1, un réseau hiérarchisé est composé de groupes G1, G11, G12, G111, G113 et G122 symbolisés sur la figure 1 par des lignes fermées pointillées. Ces groupes forment une hiérarchie dans laquelle le groupe G1 est le groupe de niveau supérieur, les groupes G11, G12 sont les groupes de niveau intermédiaire et les groupes G111, G113, G122 sont les groupes de niveau inférieur. Un dispositif appartenant à la hiérarchie intermédiaire du réseau comporte ainsi deux rôles symbolisés par deux références, une première référence indiquant sont appartenance en tant que membre du groupe de niveau n et une seconde référence indiquant son rôle de responsable du groupe de niveau inférieur n-1.Par exemple, le dispositif RG11/MG11 a une référence MG11 en tant que membre du groupe G1 avec un numéro d'ordre 1 et une référence RG11 en tant que responsable du groupe G11. Chaque dispositif responsable RG; de groupe G; comporte, figure 2, des moyens 10 de stockage d'une clé cryptographique racine RK,, d'un ensemble d'identifiants IG,k, k=1..n propres et uniques au groupe, et des identifiants IR, uniques des dispositifs responsables RG1 des groupes G, de niveau inférieur au groupe G,, dispositifs également membres du groupe G;, aussi appelés dispositifs responsables subordonnés. Les dispositifs responsables RG, comportent également des premiers moyens 12 de génération des clés racines RK, de leurs dispositifs responsables subordonnées RG1 par diversification de leur propre clé cryptographique racines RK, et de l'identifiant IR, du dispositif responsable subordonné par une première fonction cryptographique non réversible F1. Ils comportent, connectés aux premiers moyens 12 de génération, des moyens 14 de fourniture des clés cryptographiques racines RK, ainsi générées aux dispositifs responsables subordonnés RG1. Les dispositifs RG, comportent en outre des seconds moyens 16 de génération de clés cryptographiques de transport TK,k par diversification de leur propre clé cryptographique racine RK; et d'un des identifiants IG;k de l'ensemble des identifiants du groupe G; par une seconde fonction cryptographique non réversible F2. Les clés cryptographiques de transport servent à chiffrer les 5 communications entre tous les membres du groupe. Ils comportent, connectés aux seconds moyens 16 de génération des moyens 18 de fourniture des clés cryptographiques de transport TK;k à chaque dispositif MG;i membre du groupe G. Le calcul et la distribution des clés s'effectuent selon le procédé 10 suivant, figure 3. Pour chaque groupe G;, on définit à l'étape 20 un premier identifiant IR; lié au dispositif responsable du groupe G; ainsi qu'un ensemble d'identifiants IG;k, k variant entre 1 et n. Lors de cette étape de définition d'identifiants, on vérifie que chacun d'eux est unique dans le réseau. Cette 15 étape est réalisée, par exemple, par une opération de tirage aléatoire sans doublon, ou bien en prenant des séries consécutives de nombres entiers. Chaque dispositif RG; responsable de groupe G; reçoit et stocke à l'étape 22 l'identifiant IR; et les identifiants IG;k pour son groupe ainsi que les identifiants IR, pour les dispositifs responsables subordonnés MG;/RG1. 20 Une clé cryptographique racine RK1 est stockée à l'étape 24 dans le dispositif RG1 du premier groupe supérieur G1. Il est à noter que, par son positionnement hiérarchique, le dispositif RG1 n'est membre subordonné d'aucun groupe. Cette installation peut s'effectuer, par exemple, selon un procédé de l'art antérieur d'accès à un serveur central ou bien correspondre 25 à la génération de la clé dans le dispositif RG1, par exemple par génération d'un nombre aléatoire. Les étapes 20 et 22 de définition et distribution des identifiants, ainsi que l'étape 24 de stockage de la clé cryptographique racine RK1 sont effectuées de préférence avant l'engagement de la structure en opération. 30 Il est à noter que, bien que décrite consécutivement, ces étapes peuvent être réalisées dans un ordre différent ou en parallèle. Dans une étape 26, la clé cryptographique racine RK1 est diversifiée avec chaque identifiant IR, de chaque dispositif responsable subordonné RG1 en utilisant l'algorithme cryptographique non réversible FI, par exemple l'algorithme SHA. Le résultat de l'opération de diversification est transféré à l'étape 28 par le dispositif responsable RG1 et devient la clé racine RK, du dispositif responsable. Les étapes 26 et 28 de diversification et de transfert sont répétées par chaque dispositif responsable en suivant l'arborescence hiérarchique du réseau correspondant à la diffusion des clés cryptographiques racines jusqu'à ce que tous les dispositifs responsables du réseau aient leur clé cryptographique racine. A l'intérieur de chaque groupe G;, le dispositif responsable RG; diversifie à l'étape 30 sa clé cryptographique racine RK; avec un des identifiants IGik du groupe en utilisant un second algorithme cryptographique non réversible F2. Selon les contraintes de sécurité du système, les algorithmes F1 et F2 peuvent être les mêmes ou différents. Le résultat de l'opération de diversification est transféré à l'étape 32 à chaque dispositif MG;i membre du groupe Gi pour devenir une clé cryptographique de transport TK;k. Cette clé de transport TK;k est utilisée à l'étape 34 pour chiffrer les communications à l'intérieur du groupe. Elle correspond de préférence à une clé d'algorithme de chiffrement symétrique tel que DES ou AES. De préférence, les étapes 30 et 32 sont répétées pour tous les identifiants IGik du groupe. Ainsi chaque membre du groupe possède un ensemble de clés cryptographiques de transport, ce qui permet aisément, soit de façon manuelle, soit de façon automatique, de modifier la clé cryptographique de transport utilisée dès que nécessaire. Par exemple, dans un environnement nécessitant une grande sécurité des communications, la clé cryptographique de transport peut être modifiée selon un rythme temporel variable, par exemple, de façon aléatoire. Dans un mode particulier de réalisation, chaque identifiant IGik, et donc chaque clé cryptographique de transport TK;k générée à partir de cet identifiant, possède une référence, qui peut être l'identifiant lui-même. Cette référence est concaténée en clair à chaque message chiffré avec la clé cryptographique de transport TK;k correspondante. Ainsi, le dispositif récepteur du message connaît aisément la clé cryptographique de transport à utiliser pour déchiffrer le message. Cette référence permet également avantageusement de faire des analyses a posteriori des messages échangés. En effet, dans un mode particulier de réalisation, l'ensemble des messages chiffrés et concaténés avec la référence, est enregistré et stocké sur un serveur du réseau. De même, l'ensemble des identifiants utilisés dans le réseau ainsi que la clé racine RK1 sont stockés dans un dispositif central hors du réseau hiérarchisé. En utilisant le procédé décrit, le personnel d'état-major qui connaît donc l'ensemble des identifiants utilisés dans le réseau ainsi que la clé racine RK1 est capable de reconstruire l'ensemble des clés de transport utilisées dans le réseau avec leur référence. Ainsi, ce personnel est capable de déchiffrer les communications chiffrées enregistrées pour, par exemple, faire une analyse post mortem des évènements. Le procédé et le système de distribution de clés cryptographiques est combinable avec d'autres techniques cryptographiques connues de l'homme du métier pour en renforcer la sécurité. Par exemple, il est possible d'utiliser des techniques cryptographiques d'authentification automatiques ou combinant une authentification manuelle avec une authentification automatique pour vérifier et valider la distribution des clés à des dispositifs habilités. On a ainsi décrit un procédé et un système de distribution de clés cryptographiques dans un réseau hiérarchisé qui permet avantageusement une gestion décentralisée des clés cryptographiques tout en respectant la structure hiérarchique du réseau. De ce fait, la distribution des clés peut s'effectuer au plus près des lieux où sont engagés les utilisateurs. Ainsi, le réseau peut être reconfiguré ou bien des dispositifs peuvent s'adjoindre à un groupe simplement en s'authentifiant auprès du dispositif responsable du groupe. REVENDICATIONS , 1. Procédé de distribution de clés cryptographiques dans un réseau hiérarchisé comportant au moins un dispositif responsable d'un groupe supérieur de dispositifs, au moins un des dispositifs dudit groupe de dispositifs étant également responsable d'un groupe inférieur de dispositif, caractérisé en ce qu'il comporte les étapes, au niveau du dispositif responsable du groupe supérieur, de : a. stockage (20, 22) • d'un ensemble d'identifiants propres au groupe supérieur, • d'un identifiant propre au dispositif responsable, • d'un identifiant par dispositif responsable de groupe inférieur, chaque identifiant étant unique à l'intérieur du réseau hiérarchisé, b. stockage (24) d'une clé cryptographique racine, c. fourniture (26, 28) d'une clé cryptographique racine à chaque dispositif responsable d'un groupe inférieur par dérivation de la clé racine et de l'identifiant dudit dispositif responsable du groupe inférieur par une première fonction cryptographique non réversible, d. fourniture (30, 32) d'au moins une clé cryptographique de transport à chaque membre dudit groupe supérieur de dispositifs par dérivation de la clé racine et d'un identifiant appartenant à l'ensemble des identifiants propres audit groupe par une seconde fonction cryptographique non réversible. 2. Procédé selon la revendication 1 caractérisé en ce que les communications entre les dispositifs d'un même groupe sont cryptées avec la clé cryptographique de transport, chaque communication étantaccompagnée d'une référence à l'identifiant ayant servi à générer ladite clé cryptographique de transport. 3. Procédé selon la revendication 2 caractérisé en ce que chaque identifiant de l'ensemble des identifiants d'un groupe est référencé par un index unique dans le réseau hiérarchisé, cet index étant utilisé comme référence de l'identifiant dans les communications. 4. Procédé selon la revendication 1, 2 ou 3, caractérisé en ce que les ensembles d'identifiants des groupes et les identifiants de responsable sont stockés dans un dispositif central hors du réseau hiérarchisé de telle sorte que la connaissance de la clé cryptographique racine du dispositif responsable du groupe supérieur permette la régénération de toutes les clés racines et clés de transport du réseau hiérarchisé. 5. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que l'utilisation d'une nouvelle clé cryptographique de transport pour un groupe parmi l'ensemble des clés cryptographiques de transport de ce groupe est effectuée selon un rythme temporel variable. 6. Produit programme d'ordinateur comportant des instructions pour la mise en oeuvre d'un procédé selon l'une quelconque des revendications 1 à 5 lorsque lesdites instructions sont exécutées sur un ordinateur. 7. Procédé de distribution de clés cryptographiques dans un réseau hiérarchisé comportant au moins un dispositif responsable d'un groupe supérieur de dispositifs, ledit procédé étant mis en oeuvre par un dispositif dudit groupe de dispositifs également responsable d'un groupe inférieur de dispositifs, caractérisé en ce qu'il comporte les étapes de : a. stockage d'une clé cryptographique racine,b. stockage d'un identifiant qui lui est propre et est unique dans le système hiérarchisé, c. génération d'une clé cryptographique de transport par dérivation de la clé cryptographique racine et d'un des identifiants de l'ensemble d'identifiants propre au groupe, d. distribution de la clé cryptographique de transport aux dispositifs membre du groupe. 8. Produit programme d'ordinateur comportant des instructions pour la mise en oeuvre d'un procédé selon la revendication 7 lorsque lesdites instructiôns sont exécutées sur un ordinateur. 9. Système de distribution de clés cryptographiques dans un réseau hiérarchisé comportant au moins un dispositif responsable d'un groupe supérieur de dispositifs, au moins un des dispositifs dudit groupe de dispositifs étant également responsable d'un groupe inférieur de dispositif, caractérisé en ce qu'il comporte des : a. moyens de définition pour chaque groupe d'un ensemble d'identifiants qui lui est propre, et pour chaque dispositif responsable de groupe d'un identifiant de responsable qui lui est propre et unique dans le réseau hiérarchisé. b. moyens d'installation d'une clé cryptographique racine dans le dispositif responsable du groupe supérieur. c. premiers moyens de fourniture d'une clé cryptographique racine à chaque dispositif responsable d'un groupe inférieur par dérivation de la clé racine du dispositif responsable du groupe supérieur et de l'identifiant dudit dispositif responsable du groupe inférieur par une première fonction cryptographique non réversible. d. pour chaque groupe de dispositifs, des seconds moyens de fourniture d'au moins une clé cryptographique de transport à chaque membre dudit groupe de dispositifs par dérivation de laclé racine du dispositif responsable dudit groupe et d'un identifiant appartenant à l'ensemble des identifiants dudit groupe par une seconde fonction cryptographique non réversible. 10. Dispositif responsable d'un groupe de dispositif dans un réseau hiérarchisé, caractérisé en ce qu'il comporte : a. des premiers moyens de stockage d'une clé cryptographique racine, b. des seconds moyens de stockage d'un identifiant qui lui est propre et est unique dans le système hiérarchisé et d'un ensemble d'identifiants propre au groupe, c. des moyens de génération d'une clé cryptographique de transport par dérivation de la clé cryptographique racine et d'un des identifiants de l'ensemble d'identifiants propre au groupe, d. des moyens de distribution de la clé cryptographique de transport aux dispositifs membre du groupe.