FR3107414A1 - Procédé de calcul d’une clé de session, procédé de récupération d’une telle clé de session - Google Patents

Procédé de calcul d’une clé de session, procédé de récupération d’une telle clé de session Download PDF

Info

Publication number
FR3107414A1
FR3107414A1 FR2001666A FR2001666A FR3107414A1 FR 3107414 A1 FR3107414 A1 FR 3107414A1 FR 2001666 A FR2001666 A FR 2001666A FR 2001666 A FR2001666 A FR 2001666A FR 3107414 A1 FR3107414 A1 FR 3107414A1
Authority
FR
France
Prior art keywords
recovery
value
equal
user
calculation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
FR2001666A
Other languages
English (en)
Inventor
Ghada ARFAOUI
Olivier Sanders
Adina Ioana NEDELCU
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Orange SA
Original Assignee
Orange SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Orange SA filed Critical Orange SA
Priority to FR2001666A priority Critical patent/FR3107414A1/fr
Priority to PCT/FR2021/050300 priority patent/WO2021165625A1/fr
Publication of FR3107414A1 publication Critical patent/FR3107414A1/fr
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0841Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/30Network architectures or network communication protocols for network security for supporting lawful interception, monitoring or retaining of communications or communication related information
    • H04L63/308Network architectures or network communication protocols for network security for supporting lawful interception, monitoring or retaining of communications or communication related information retaining data, e.g. retaining successful, unsuccessful communication attempts, internet access, or e-mail, internet telephony, intercept related information or call content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage

Abstract

Procédé de calcul d’une clé de session, procédé de récupération d’une telle clé de session L’invention concerne un procédé de calcul d’une clé de session pour deux dispositifs utilisateurs U1, U2 destinés à communiquer via un réseau géré par un dispositif de gestion E1, une demande de récupération de la clé pouvant être autorisée par un dispositif d’autorisation E2 et émise par un dispositif de récupération E3, E4,un dispositif Ej étant associé à une clé privée sk{Ej} ainsi qu’à une clé publique pk{Ej} égale à gsk{E j }, g étant un générateur d’un groupe,et une valeur publique W égale à gsk{E 3 }sk{E 4 } ayant été calculée par au moins un dispositif E3, E4. Le procédé comporte des étapes de :- calcul (F10), par le dispositif U1, de valeurs A, A1, A2, A3, A4, A5 respectivement égales à gu, pk{E1}u, pk{E2}u, pk{E3}u, pk{E4}u, Wu, et transmises (F20) au dispositif U2, u étant une valeur secrète du dispositif U1,- calcul (F30), par le dispositif U2, de valeurs B, B1, B2, B3, C3, C4, D respectivement égales à gv, pk{E1}v, pk{E2}v, Wv, A3 v, A4 v, Av et transmises (F40)au dispositif U1, v étant une valeur secrète du dispositif U2,- calcul (F50), par le dispositif U1, d’une valeur K1 égale à B1α1 u x B2α2 u x B3 (α3 +α4 )u, où αm est un hachage d’une quantité fonction de pk{E1}, pk{E2}, pk{E3}, pk{E4} et d’une donnée associée à αm,- calcul (F60), par le dispositif U2, d’une valeur K2 égale à A1α1 v x A2α2 v x A5 (α3 +α4 )v. Figure pour l’abrégé : Fig. 5

Description

Procédé de calcul d’une clé de session, procédé de récupération d’une telle clé de session
La présente invention appartient au domaine général de la cryptographie. Elle concerne plus particulièrement un procédé de calcul d’une clé de session pour la sécurisation d’une session de communication entre deux entités utilisatrices. Elle concerne également un procédé de récupération, au cours d’une session de communication entre de telles entités utilisatrices, de ladite clé de session par au moins une entité qui diffère desdites deux entités utilisatrices. L’invention trouve une application particulièrement avantageuse, bien que nullement limitative, dans l’aide à l’investigation concernant la nature d’échanges effectués entre deux entités utilisatrices, en particulier lorsque ces échanges sont susceptibles de se rapporter à une situation conflictuelle, par exemple en milieu professionnel.
A ce jour, on connait de multiples techniques de chiffrement permettant de sécuriser des messages échangés entre deux entités. Ces techniques de chiffrement s’appuient sur des algorithmes de cryptographie ayant essentiellement pour but la détermination de clés grâce auxquelles deux entités, dites «entités utilisatrices» peuvent chiffrer/déchiffrer les messages qu’elles s’échangent.
Certaines de ces techniques de chiffrement consistent notamment à calculer une seule clé secrète qui est dès lors destinée à être communément utilisée par lesdites deux entités utilisatrices au cours d’une future session de communication. Ladite clé secrète, encore dite «clé de session», constitue donc un secret partagé par lesdites entités utilisatrices, et est déterminée par chacune d’elles au terme d’un procédé de calcul impliquant des échanges de différentes valeurs cryptographiques.
Ces échanges de valeurs cryptographiques s’effectuent classiquement via un réseau de communication géré par au moins une entité dite «entité de gestion» et sur lequel est également destiné à s’appuyer, une fois la clé de session calculée, la future session de communication entre lesdites entités utilisatrices.
Dans des situations particulières, il importe que la clé de session déterminée par les deux entités utilisatrices puisse, bien qu’étant a priori secrète, faire l’objet d’une demande de récupération émise par une entité, dite «entité de récupération», et autorisée par une entité, dite «entité d’autorisation». Par «récupération», il est fait référence ici au recouvrement de la clé de session par l’entité de récupération.
Le fait de récupérer ladite clé de session permet notamment à l’entité de récupération, d’avoir accès aux échanges partagés entre les entités, afin par exemple d’en déterminer la nature. Une telle possibilité se révèle être d’une importance particulière dans de multiples contextes.
A titre purement illustratif, on peut citer le cas d’un salarié appartenant à un département d’une entreprise et qui est victime de harcèlement de la part du responsable hiérarchique dudit département. Ce harcèlement peut par exemple être caractérisé à partir de messages électroniques échangés, sous couvert du secret via une clé de session, entre le salarié et le responsable hiérarchique. Ces messages transitent en outre via un réseau de communication interne à l’entreprise et géré par un administrateur réseau qui joue donc ici le rôle de ladite entité de gestion. Afin de faire reconnaitre cette situation de harcèlement, ledit salarié peut s’adresser à un tiers de confiance comme par exemple un juriste de ladite entreprise et qui joue ici le rôle de ladite entité d’autorisation. Ce juriste peut dès lors engager un dialogue avec un service approprié du département auquel appartient ledit salarié, comme par exemple un service chargé des ressources humaines et qui joue donc le rôle ici de ladite entité de récupération. Si le juriste l’y autorise, le service des ressources humaines peut lancer une procédure de récupération de la clé de session utilisée lors d’une session de communication entre le salarié et son responsable hiérarchique qui jouent ici le rôle desdites entités utilisatrices. De cette manière, le service des ressources humaines peut avoir accès, avec le concours de l’administrateur réseau, aux messages échangés entre le salarié et son responsable hiérarchique grâce à la clé de session ainsi récupérée, et donc in fine constater la situation de harcèlement.
En pratique, le procédé de calcul de la clé de session comporte conventionnellement une transmission, d’une première entité utilisatrice vers une deuxième entité utilisatrice, d’un ensemble de valeurs. Une telle transmission s’effectue notamment via le réseau de communication géré par ladite au moins une entité de gestion qui joue dès lors le rôle d’intermédiaire entre lesdites deux entités utilisatrices. Les valeurs de cet ensemble sont des valeurs calculées par ladite première entité utilisatrice en fonction d’une clé secrète qui lui est propre ainsi que de clés publiques respectives des entités de gestion, d’autorisation et de récupération. En retour, la deuxième entité utilisatrice transmet, via le réseau géré par ladite au moins une entité de gestion et vers la première entité utilisatrice, un autre ensemble de valeurs qu’elle a elle-même calculées en fonction d’une clé secrète qui lui est propre ainsi que desdites clés publiques respectives des entités de gestion, d’autorisation et de récupération. Finalement, chaque entité utilisatrice calcule la clé de session à partir de tout ou partie des valeurs reçues de la part de l’autre entité utilisatrice.
Par la suite, lorsqu’une entité de récupération demande à récupérer la clé de session ainsi calculée par les entités utilisatrices et utilisée par celles-ci au cours d’une session de communication, et obtient l’autorisation de le faire de la part de l’entité d’autorisation, un procédé de récupération basé sur une coopération entre lesdites entités de gestion, d’autorisation et de récupération est mis en œuvre. En particulier, l’entité de gestion transmet aux entités d’autorisation et de récupération une des valeurs, dite «valeur pivot» ayant fait l’objet d’une transmission entre les entités utilisatrices au cours du procédé de calcul de la clé de session. Chacune des entités de gestion, d’autorisation et de récupération calcule alors, en fonction de cette valeur transmise par l’entité de gestion ainsi que d’une clé secrète qui lui est propre, une valeur intermédiaire. Enfin, les entités de gestion et d’autorisation transmettent leurs valeurs intermédiaires respectives à l’entité de récupération qui peut déterminer la clé de session à partir de ces valeurs intermédiaires reçues ainsi que de sa propre valeur intermédiaire.
Bien qu’efficace dans le cas où une seule entité de récupération est concernée, cette manière de procéder (calcul de la clé de session, récupération de ladite clé de session) ne permet néanmoins pas de traiter de façon satisfaisante le cas où une deuxième entité de récupération souhaiterait également récupérer ladite clé de session afin d’accéder aux communications échangées au cours d’une session de communication entre les deux entités utilisatrices.
En effet, si un tel cas était envisagé, ladite deuxième entité de récupération devrait nécessairement recevoir, en provenance de l’entité de gestion, ladite valeur pivot. Cela résulte du fait que cette valeur pivot est essentielle aux calculs permettant de récupérer la clé de session, étant donné la façon dont est calculée ladite clé de session par les entités utilisatrices. On comprend dès lors que les deux entités de récupération partageraient la même valeur pivot, et en conséquence également la même clé publique afin que chacune soit en mesure de récupérer la même clé de session, ce qui va à l’encontre d’une indépendance éventuellement requise entre celles-ci.
Par «indépendance» entre entités de récupération, il est fait référence ici à des situations dans lesquelles il peut être exigé que lesdites entités de récupération soient autonomes entre elles. Autrement dit, dans ces situations, deux entités de récupération doivent pouvoir disposer de leur propres clés, et non avoir à partager la même. Par ailleurs, chacune de ces entités de récupération doit pouvoir procéder aux calculs de récupération d’une clé de session sans la collaboration de ladite autre entité.
Pour illustrer une telle situation, et en reprenant l’exemple précédent relatif à une situation de harcèlement vécu par un salarié d’une entreprise, on pourrait considérer le cas où le juriste (i.e. l’entité d’autorisation) envisagerait, pour des raisons de déontologie, d’autoriser deux entités à récupérer la clé de session: d’une part, ledit service des ressources humaines du département auquel appartient le salarié, et, d’autre part, un autre service, par exemple un service d’assistance sociale, appartenant à un département autre que celui du salarié. Le fait de considérer un département autre que celui auquel appartient le salarié relèverait d’une intention légitime de la part du juriste, à savoir éviter que ledit service des ressources humaines soit considéré comme juge et partie étant donné son appartenance au département du salarié.
Il n’en reste pas moins que les mises en œuvre proposées dans l’état de la technique, et mentionnées ci-avant, ne permettent pas de répondre à cette problématique (i.e. respect de l’indépendance entre deux entités de récupération si celle-ci est exigée), étant donné que les deux services concernés dans cet exemple seraient tous les deux conduits à utiliser la même clé. En conséquence, l’anonymat de leurs calculs respectifs pour récupérer la clé de session pourrait être compromis.
La présente invention a pour objectif de remédier à tout ou partie des inconvénients de l’art antérieur, notamment ceux exposés ci-avant, en proposant une solution qui permette de calculer une clé de session destinée à être utilisée par deux entités utilisatrices pour communiquer entre elles de manière sécurisée au cours d’une session de communication, tout en offrant la possibilité à deux entités de récupération de récupérer ladite clé de session de manière anonyme l’une vis-à-vis de l’autre.
A cet effet, et selon un premier aspect, l’invention concerne un procédé de calcul d’une clé de session pour la sécurisation d’une session de communication entre deux dispositifs utilisateurs U1, U2, ladite session de communication étant mise en œuvre via un réseau de communication géré par au moins un dispositif de gestion E1, la clé de session pouvant faire l’objet d’au moins une demande de récupération autorisée par un dispositif d’autorisation E2et émise par un dispositif de récupération parmi deux dispositifs de récupération E3, E4,
un dispositif Ej, j allant de 1 à 4, étant associé à une clé publique pk{Ej} ainsi qu’à une clé privée sk{Ej}, pk{Ej} étant égale à gsk{E j }où g est un générateur d’un groupe d’ordre premier p,
une valeur publique W égale à gsk{E 3 }sk{E 4 }ayant été calculée par au moins un dispositif de récupération E3, E4.
Ledit procédé comporte des étapes de:
- calcul, par le dispositif utilisateur U1, de valeurs A, A1, A2, A3, A4, A5respectivement égales à gu, pk{E1}u, pk{E2}u, pk{E3}u, pk{E4}u, Wu, et transmises au dispositif utilisateur U2via le dispositif de gestion E1, u étant une valeur secrète du dispositif U1,
- calcul, par le dispositif utilisateur U2, de valeurs B, B1, B2, B3, C3, C4, D respectivement égales à gv, pk{E1}v, pk{E2}v, Wv, A3 v, A4 v, Avet transmises au dispositif utilisateur U1via le dispositif de gestion E1qui mémorise au moins C3, C4et D, v étant une valeur secrète du dispositif U2,
- calcul, par le dispositif utilisateur U1, d’une valeur K1égale à B1α1 ux B2α2 ux B3 (α3 +α4 )u, où αm, m allant de 1 à 4, est une quantité fonction de pk{E1}, pk{E2}, pk{E3}, pk{E4} et d’une donnée associée à αm,
- calcul, par le dispositif utilisateur U2, d’une valeur K2égale à A1α1 vx A2α2 vx A5 (α3 +α4 )v,
les valeurs K1et K2correspondant à ladite clé de session.
Par «via le dispositif de gestion E1», on fait référence ici au fait que des données sont transmises via ledit réseau de communication géré par le dispositif de gestion E1, ce dernier remplissant donc ainsi une fonction de relais de messages entre les dispositifs utilisateurs U1, U2.
Il importe de noter que dans l’écriture de la valeur K1, les valeurs B1, B2et B3sont respectivement élevées aux puissances α1x u, α2x u et (α3+ α4) x u. De manière similaire, dans l’écriture de la valeur K2, les valeurs A1, A2et A3sont respectivement élevées aux puissances α1x v, α2x v et (α3+ α4) x v.
Ledit procédé de calcul se distingue de manière remarquable de l’art antérieur en ce qu’il permet de calculer des valeurs C3et C4à partir desquelles les dispositifs de récupération peuvent effectuer des traitements pour récupérer la clé de session, comme cela est détaillé ultérieurement.
Autrement dit, le procédé de calcul selon l’invention ne se contente pas de permettre à deux dispositifs utilisateurs de communiquer entre eux grâce à la clé de session calculée, mais offre également la possibilité que ladite clé de session puisse être récupérée par deux entités de récupération et de manière anonyme l’une vis-à-vis de l’autre.
Dans des modes particuliers de mise en œuvre, le procédé de calcul peut comporter en outre l’une ou plusieurs des caractéristiques suivantes, prises isolément ou selon toutes les combinaisons techniquement possibles.
Dans des modes particuliers de mise en œuvre, lequel la valeur publique W est calculée par chacune des deux entités de récupération E3et E4.
De telles dispositions permettent de vérifier si le calcul de W par au moins une desdites entités de récupération E3, E4n’est pas entaché d’erreur, une telle erreur pouvant par exemple trouver son origine dans le fait que l’entité de récupération en question est corrompue ou bien encore mal configurée pour exécuter l’invention. De cette manière, il est possible de bloquer une entité de récupération E3, E4dont le calcul de W est erroné afin de l’empêcher ultérieurement de récupérer la clé de session.
L’invention propose également différents modes de mise en œuvre du procédé de calcul, dans lesquels une ou plusieurs vérifications sont effectuées afin de déterminer si les différentes valeurs respectivement calculées par les dispositifs U1, U2et E1sont erronées ou non, et, en cas de calcul erroné, permettre l’arrêt dudit procédé de calcul.
Dans des modes particuliers de mise en œuvre, lors de la transmission des valeurs A, A1, A2, A3, A4, A5du dispositif utilisateur U1vers le dispositif utilisateur U2, le dispositif de gestion E1vérifie si, pour un couplage bilinéaire e donné:
- e[A1,g] est égal à e[A,pk{E1}],
- e[A2,g] est égal à e[A,pk{E2}],
- e[A3,g] est égal à e[A,pk{E3}],
- e[A4,g] est égal à e[A,pk{E4}],
- e[A5,g] est égal à e[A,W],
et, lors de la transmission des valeurs B, B1, B2, B3, C3, C4, D du dispositif utilisateur U2vers le dispositif utilisateur U1, le dispositif de gestion E1vérifie si :
- e[B1,g] est égal à e[B,pk{E1}],
- e[B2,g] est égal à e[B,pk{E2}],
- e[B3,g] est égal à e[B,W],
- e[C3,g] est égal à e[D,pk{E3}],
- e[C4,g] est égal à e[D,pk{E4}].
- e[D,g] est égal à e[A,B],
le procédé de calcul étant stoppé dès lors que le nombre d’égalités non vérifiées atteint un seuil donné.
Dans des modes particuliers de mise en œuvre, suite à la réception de la valeur D en provenance du dispositif utilisateur U2, le dispositif utilisateur U1calcule une valeur D’ égale à Avet vérifie que ladite valeur D’ est égale à ladite valeur D, le procédé de calcul étant stoppé si ladite égalité n’est pas vérifiée.
Dans des modes particuliers de mise en œuvre, un dispositif utilisateur Ui, i allant de 1 à 2, est associé à une clé publique pk{Ui} ainsi qu’à une clé privée sk{Ui}, et :
- le dispositif utilisateur U1détermine, au moyen de sa clé privée sk{U1}, une signature σ1d’un message fonction de pk{U1}, pk{U2}, A, A1, A2, A3, A4, A5et N1, où N1est une valeur aléatoire, la signature σ1et la valeur N1étant également transmises au dispositif utilisateur U2via le dispositif de gestion E1,
- le dispositif utilisateur U2détermine, au moyen de sa clé privée sk{U2}, une signature σ2d’un message fonction de pk{U1}, pk{U2}, B, D, B1, B2, B3et N2, où N2est une valeur aléatoire, ainsi qu’une signature σ3d’un message fonction de pk{U1}, pk{U2}, B, D, C3, C4et N3, où N3est une valeur aléatoire, les signatures σ2, σ3et les valeurs N2, N3étant également transmises au dispositif utilisateur U1via le dispositif de gestion E1,
la signature σ1étant vérifiée par le dispositif de gestion E1avant sa transmission au dispositif utilisateur U2, ainsi que par ledit dispositif utilisateur U2après transmission, et
les signatures σ2et σ3étant vérifiées par le dispositif de gestion E1avant leurs transmissions respectives au dispositif utilisateur U1, ainsi que par ledit dispositif utilisateur U1après transmission,
le procédé de calcul étant stoppé dès lors que le nombre de signatures non vérifiées atteint un seuil donné.
La valeur aléatoire N1correspond par exemple à un nombre de type «nonce», cette désignation étant bien connue de l’homme de l’art. Cette remarque s’applique également aux autres valeurs aléatoires N2, N3et N4décrites ci-après.
Selon un deuxième aspect, l’invention concerne un procédé de communication entre deux dispositifs utilisateurs U1, U2au cours d’une session de communication mise en œuvre via un réseau de communication géré par au moins un dispositif de gestion E1, ladite session de communication étant sécurisée au moyen d’une clé de session pouvant faire l’objet d’au moins une demande de récupération autorisée par un dispositif d’autorisation E2et émise par un dispositif de récupération parmi deux dispositifs de récupération E3, E4,
un dispositif utilisateur Ui, i allant de 1 à 2, étant associé à une clé publique pk{Ui} ainsi qu’à une clé privée sk{Ui},
un dispositif Ej, j allant de 1 à 4, étant associé à une clé publique pk{Ej} ainsi qu’à une clé privée sk{Ej}, pk{Ej} étant égale à gsk{E j }où g est un générateur d’un groupe d’ordre premier p,
une valeur publique W égale à gsk{E 3 }sk{E 4 }ayant été calculée par au moins un dispositif de récupération E3, E4,
ladite clé de session étant calculée conformément à un procédé de calcul selon l’invention.
Dans des modes particuliers de mise en œuvre, un dispositif utilisateur Ui, i allant de 1 à 2, est associé à une clé publique pk{Ui} ainsi qu’à une clé privée sk{Ui}, et la clé de session est calculée conformément à un procédé de calcul selon l’invention.
Selon un troisième aspect, l’invention concerne un procédé de récupération d’une clé de session au moyen de laquelle une session de communication entre deux dispositifs utilisateurs U1, U2peut être sécurisée, ladite session de communication étant mise en œuvre via un réseau de communication géré par au moins un dispositif de gestion E1, ledit procédé de récupération étant mis en œuvre suite à au moins une demande de récupération de ladite clé de session autorisée par un dispositif d’autorisation E2et émise par un dispositif de récupération parmi deux dispositifs de récupération E3, E4,
un dispositif Ej, j allant de 1 à 4, étant associé à une clé publique pk{Ej} ainsi qu’à une clé privée sk{Ej}, pk{Ej} étant égale à gsk{E j }où g est un générateur d’un groupe d’ordre premier p,
une valeur publique W égale à gsk{E 3 }sk{E 4 }ayant été calculée par au moins un dispositif de récupération E3, E4,
et ladite clé de session étant calculée conformément à un procédé de calcul l’invention.
Ledit procédé de récupération comporte des étapes de:
- transmission, par le dispositif de gestion E1, de la valeur D au dispositif d’autorisation E2ainsi que de la valeur C4au dispositif de récupération E3si ladite au moins une demande de récupération est émise par ledit dispositif E3et/ou de la valeur C3au dispositif de récupération E4si ladite au moins une demande de récupération est émise par ledit dispositif E4,
- calcul, par le dispositif de gestion E1, d’une valeur T1égale à Dα1 sk{E 1 }et transmise audit dispositif de récupération parmi deux dispositifs de récupération E3, E4,
- calcul, par le dispositif d’autorisation E2, d’une valeur T2égale à Dα2 sk{E 2 }et transmise audit dispositif de récupération parmi deux dispositifs de récupération E3, E4,
- calcul, par ledit dispositif de récupération parmi deux dispositifs de récupération E3, E4, d’une valeur T3égale à C4 (α3 +α4 )sk{E 3 }si la demande de récupération est émise par ledit dispositif E3et/ou d’une valeur T4égale à C3 (α3 +α4 )sk{E 4 }si la demande de récupération est émise par ledit dispositif E4,
- calcul, par ledit dispositif de récupération parmi deux dispositifs de récupération E3, E4, d’une valeur K3égale à T1x T2x T3et/ou d’une valeur K4égale à T1x T2x T4, les valeurs K3et K4correspondant à ladite clé de session récupérée.
Il importe de noter que dans l’écriture des valeurs T1et T2, la valeur D est respectivement élevée à la puissance α1x sk{E1} et α2x sk{E2}. De manière similaire, dans l’écriture des valeurs T3et T4, les valeurs C4et C3sont respectivement élevées aux puissances (α3+ α4) x sk{E3} et (α3+ α4) x sk{E4}.
Le procédé de récupération selon l’invention offre donc la possibilité aux deux dispositifs de récupération E3et E4de récupérer la clé session que les dispositifs utilisateurs U1, U2ont calculée et qu’ils utilisent pour communiquer entre eux au cours de la session de communication.
La récupération de ladite clé de session par les dispositifs de récupération E3, E4s’effectue de manière complètement invisible (i.e. indétectable) pour lesdits dispositifs utilisateurs U1, U2. Cela résulte du fait que la récupération de la clé de session ne nécessite pas de valeurs connues seulement desdits dispositifs utilisateurs U1ou U2.
De manière plus spécifique, le dispositif de gestion E1et le dispositif d’autorisation E2utilisent tous les deux, lors du procédé de récupération, la valeur D initialement échangées entre les dispositifs utilisateurs U1, U2lors du procédé de calcul de la clé de session (la valeur D est dès lors vue comme une valeur pivot à partir de laquelle des valeurs intermédiaires représentées par T1et T2sont calculées), le calcul de la valeur T3(respectivement T4) par le dispositif de récupération E3(respectivement E4) ne se basant nullement sur cette valeur D. Autrement dit, et contrairement à l’état de la technique, chacun des dispositifs de récupération E3, E4utilise des valeurs qui lui sont propres pour déterminer la dernière valeur T3, T4à partir de laquelle il est possible de récupérer la clé de session.
Par ailleurs, il est particulièrement avantageux que les dispositifs de récupération E3, E4récupèrent la clé de session respectivement à partir des valeurs T3, T4. En effet, le procédé de récupération a pour avantage de permettre aux dispositifs de récupération E3, E4de récupérer la clé de session de manière indépendante l’un vis-à-vis de l’autre étant donné que chacun de ces dispositifs utilise une valeur différente, et donc in fine une clé publique qui lui est propre.
Le fait que la clé de session puisse être récupérée de manière indépendante par les dispositifs de récupération E3, E4a son importance dans de multiples contextes, en particulier lorsque les entités de récupération qui détiennent respectivement lesdits dispositifs de récupération sont indépendantes entre elles, et doivent le demeurer.
Dans des modes particuliers de mise en œuvre, le procédé de récupération peut comporter en outre l’une ou plusieurs des caractéristiques suivantes, prises isolément ou selon toutes les combinaisons techniquement possibles.
Dans des modes particuliers de mise en œuvre, indépendamment du nombre de demande de récupération émise:
- la valeur C3est également transmise par le dispositif de gestion E1au dispositif de récupération E3,
- la valeur C4est également transmise par le dispositif de gestion E1au dispositif de récupération E4.
De telles dispositions permettent de renforcer la sécurité du procédé de récupération en ce que cela permet d’éviter la détermination de l’origine d’une demande de récupération. En effet, étant donné que chaque dispositif de récupération E3, E4reçoit les deux valeurs C3, C4, il devient impossible de distinguer ces dispositifs de récupération E3, E4entre eux en ce qui concerne leurs demandes de récupération éventuelles.
Dans des modes particuliers de mise en œuvre, ladite clé de session est calculée conformément à un procédé de calcul selon l’invention, et :
- le dispositif de gestion E1transmet, avant les calculs des valeurs T2ainsi que T3et/ou T4, les signatures σ1, σ2, σ3ainsi que les valeurs A, A1, A2, A3, A4, A5, N1, B, B1, B2, B3, N2, N3au dispositif d’autorisation E2ainsi qu’au dispositif de récupération parmi deux dispositifs de récupération E3, E4,
- le dispositif d’autorisation E2vérifie les signatures σ1, σ2, σ3avant le calcul de la valeur T2,
- ledit dispositif de récupération parmi deux dispositifs de récupération E3, E4vérifie les signatures σ1, σ2, σ3avant le calcul de la valeur T3et/ou T4,
le procédé de récupération étant stoppé dès lors que le nombre de signatures non vérifiées atteint un seuil donné.
Selon un quatrième aspect, l’invention concerne un ensemble de programmes d’ordinateur comportant des instructions pour la mise en œuvre d’un procédé de calcul d’une clé de session selon l’invention ou d’un procédé de communication selon l’invention ou d’un procédé de récupération selon l’invention lorsque ledit ensemble de programmes est exécuté par un ou plusieurs ordinateurs.
Un programme dudit ensemble de programmes peut utiliser n’importe quel langage de programmation, et être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet, tel que dans une forme partiellement compilée, ou dans n’importe quelle autre forme souhaitable.
Selon un cinquième aspect, l’invention concerne un support d’informations ou d’enregistrement lisible par un ordinateur sur lequel est enregistré un ensemble de programmes d’ordinateur selon l’invention ou un programme d’ordinateur appartenant à un ensemble de programmes d’ordinateur selon l’invention.
Le support d'informations ou d’enregistrement peut être n'importe quelle entité ou dispositif capable de stocker le ou les programmes. Par exemple, le support peut comporter un moyen de stockage, tel qu'une ROM, par exemple un CD ROM ou une ROM de circuit microélectronique, ou encore un moyen d'enregistrement magnétique, par exemple une disquette (floppy disc) ou un disque dur.
D'autre part, le support d'informations ou d’enregistrement peut être un support transmissible tel qu'un signal électrique ou optique, qui peut être acheminé via un câble électrique ou optique, par radio ou par d'autres moyens. L’ensemble de programmes selon l'invention, ou un programme dudit ensemble de programmes, peut être en particulier téléchargé sur un réseau de type Internet.
Alternativement, le support d'informations ou d’enregistrement peut être un circuit intégré dans lequel le ou les programmes sont incorporés, le circuit étant adapté pour exécuter ou pour être utilisé dans l'exécution du procédé en question.
Selon un sixième aspect, l’invention concerne un dispositif utilisateur U1pour le calcul d’une clé de session pour la sécurisation d’une session de communication entre ledit dispositif utilisateur U1et un dispositif utilisateur U2, ladite session de communication étant mise en œuvre via un réseau de communication géré par un dispositif de gestion E1, la clé de session pouvant faire l’objet d’au moins une demande de récupération autorisée par un dispositif d’autorisation E2et émise par un dispositif de récupération parmi deux dispositifs de récupération E3, E4,
un dispositif Ej, j allant de 1 à 4, étant associé à une clé publique pk{Ej} ainsi qu’à une clé privée sk{Ej}, pk{Ej} étant égale à gsk{E j }où g est un générateur d’un groupe d’ordre premier p.
Ledit dispositif utilisateur U1comporte:
- un premier module de calcul, configuré pour calculer des valeurs A, A1, A2, A3, A4, A5respectivement égales à gu, pk{E1}u, pk{E2}u, pk{E3}u, pk{E4}u, Wu, u étant une valeur secrète du dispositif U1, et W étant une valeur publique calculée par au moins un dispositif de récupération E3, E4et égale à gsk{E 3 }sk{E 4 },
- un module de communication, configuré pour transmettre lesdites valeurs A, A1, A2, A3, A4, A5au dispositif utilisateur U2via le dispositif de gestion E1, ledit module de communication étant en outre configuré pour recevoir, en provenance du dispositif utilisateur U2et via le dispositif de gestion E1, des valeurs B, B1, B2, B3, C3, C4, D calculées par ledit dispositif utilisateur U2et respectivement égales à gv, pk{E1}v, pk{E2}v, Wv, A3 v, A4 v, Av, v étant une valeur secrète du dispositif U2,
- un deuxième module de calcul, configuré pour calculer une valeur K1égale à B1α1 ux B2α2 ux B3 (α3 +α4 )u, où αm, m allant de 1 à 4, est une quantité fonction de pk{E1}, pk{E2}, pk{E3}, pk{E4} et d’une donnée associée à αm.
Selon un septième aspect, l’invention concerne un dispositif utilisateur U2pour le calcul d’une clé de session pour la sécurisation d’une session de communication entre ledit dispositif utilisateur U2et un dispositif utilisateur U1, ladite session de communication étant mise en œuvre via un réseau de communication géré par un dispositif de gestion E1, la clé de session pouvant faire l’objet d’au moins une demande de récupération autorisée par un dispositif d’autorisation E2et émise par un dispositif de récupération parmi deux dispositifs de récupération E3, E4,
un dispositif Ej, j allant de 1 à 4, étant associé à une clé publique pk{Ej} ainsi qu’à une clé privée sk{Ej}, pk{Ej} étant égale à gsk{E j }où g est un générateur d’un groupe d’ordre premier p.
Ledit dispositif utilisateur U2comporte:
- un module de communication, configuré pour recevoir, en provenance du dispositif utilisateur U1et via le dispositif de gestion E1, des valeurs A, A1, A2, A3, A4, A5calculées par le dispositif utilisateur U1et respectivement égales à gu, pk{E1}u, pk{E2}u, pk{E3}u, pk{E4}u, Wu, u étant une valeur secrète du dispositif U1, et W étant une valeur publique calculée par au moins un dispositif de récupération E3, E4et égale à gsk{E 3 }sk{E 4 },
- un premier module de calcul, configuré pour calculer des valeurs B, B1, B2, B3, C3, C4, D respectivement égales à gv, pk{E1}v, pk{E2}v, Wv, A3 v, A4 v, Av, v étant une valeur secrète du dispositif U2, ledit module de communication étant en outre configuré pour transmettre lesdites valeurs B, B1, B2, B3, C3, C4, D au dispositif U1via l’entité de gestion E1,
- un deuxième module de calcul, configuré pour calculer une valeur K2égale à A1α1 vx A2α2 vx A5 (α3 +α4 )v, où αm, m allant de 1 à 4, est une quantité fonction de pk{E1}, pk{E2}, pk{E3}, pk{E4} et d’une donnée associée à αm.
Selon un huitième aspect, l’invention concerne un dispositif de gestion E1d’un réseau de communication via lequel est destinée à être mise en œuvre une session de communication entre deux dispositifs utilisateurs U1, U2, ladite session de communication étant sécurisée au moyen d’une clé de session pouvant faire l’objet d’au moins une demande de récupération autorisée par un dispositif d’autorisation E2et émise par un dispositif de récupération parmi deux dispositifs de récupération E3, E4,
un dispositif Ej, j allant de 1 à 4, étant associé à une clé publique pk{Ej} ainsi qu’à une clé privée sk{Ej}, pk{Ej} étant égale à gsk{E j }où g est un générateur d’un groupe d’ordre premier p.
Ledit dispositif de gestion E1comporteun module de communication, configuré pour transmettre :
- du dispositif utilisateur U1vers le dispositif utilisateur U2, des valeurs A, A1, A2, A3, A4, A5respectivement égales à gu, pk{E1}u, pk{E2}u, pk{E3}u, pk{E4}u, Wu, u étant une valeur secrète du dispositif U1, et W étant une valeur publique calculée par au moins un dispositif de récupération E3, E4et égale à gsk{E 3 }sk{E 4 },
- du dispositif utilisateur U2vers le dispositif utilisateur U1, des valeurs B, B1, B2, B3, C3, C4, D respectivement égales à gv, pk{E1}v, pk{E2}v, Wv, A3 v, A4 v, Av, v étant une valeur secrète du dispositif U2,
et comporte en outre:
- un module de mémorisation, configuré pour mémoriser au moins C3, C4, D,
- un module de calcul, configuré pour calculer une valeur T1égale à Dα1 sk{E 1 }, où α1est un hachage d’une quantité fonction de pk{E1}, pk{E2}, pk{E3}, pk{E4} et d’une donnée associée à α1,
ledit module de communication étant en outre configuré pour transmettre:
- la valeur D au dispositif d’autorisation E2,
- la valeur C4au dispositif E3si ladite au moins une demande de récupération est émise par ledit dispositif E3et/ou la valeur C3au dispositif E4si ladite au moins une demande de récupération est émise par ledit dispositif E4,
- la valeur T1audit dispositif de récupération parmi deux dispositifs de récupération E3, E4.
Selon un neuvième aspect, l’invention concerne un dispositif d’autorisation E2pour autoriser au moins une demande de récupération d’une clé de session pour la sécurisation d’une session de communication entre deux dispositifs utilisateurs U1, U2, ladite session de communication étant mise en œuvre via un réseau de communication géré par un dispositif de gestion E1et ladite au moins une demande de récupération étant émise par un dispositif de récupération parmi deux dispositifs de récupération E3, E4,
un dispositif Ej, j allant de 1 à 4, étant associé à une clé publique pk{Ej} ainsi qu’à une clé privée sk{Ej}, pk{Ej} étant égale à gsk{E j }où g est un générateur d’un groupe d’ordre premier p.
Ledit dispositif d’autorisation E2comporteun module de communication, configuré pour:
- émettre, à destination dudit au moins un dispositif de récupération parmi deux dispositifs de récupération E3, E4, une autorisation de ladite au moins demande de récupération,
- recevoir, en provenance du dispositif de gestion E1, une valeur D mémorisée par ledit dispositif de gestion E1et égale à Av, A étant égale à gu, u et v étant des valeurs secrètes respectives des dispositifs utilisateurs U1et U2,
et comprend en outre un module de calcul, configuré pour calculer une valeur T2égale à Dα2 sk{E 2 }, où α2est un hachage d’une quantité fonction de pk{E1}, pk{E2}, pk{E3}, pk{E4} et d’une donnée associée à α2,
ledit module de communication étant en outre configuré pour transmettre ladite valeur T2audit dispositif de récupération parmi deux dispositifs de récupération E3, E4.
Selon un dixième aspect, l’invention concerne un dispositif de récupération E3, E4apte à émettre une demande de récupération d’une clé de session pour la sécurisation d’une session de communication entre deux dispositifs utilisateurs U1, U2, ladite session de communication étant mise en œuvre via un réseau de communication géré par un dispositif de gestion E1et ladite au moins une demande de récupération étant autorisée par un dispositif d’autorisation E2,
un dispositif Ej, j allant de 1 à 4, étant associé à une clé publique pk{Ej} ainsi qu’à une clé privée sk{Ej}, pk{Ej} étant égale à gsk{E j }où g est un générateur d’un groupe d’ordre premier p.
Ledit dispositif de récupération E3, E4comporte un module de communication configuré pour:
- émettre une demande de récupération de la clé de session,
- recevoir, en provenance du dispositif de gestion E1, une valeur T1égale à Dα1 sk{E 1 }, où α1est un hachage d’une quantité fonction de pk{E1}, pk{E2}, pk{E3}, pk{E4} et d’une donnée associée à α1, ainsi qu’une valeur C3égale à A3 vou une valeur C4égale à A4 v, A3étant égale à pk{E3}uet A4étant égale à pk{E4}u, u et v étant des valeurs secrètes respectives des dispositifs utilisateurs U1et U2,
- recevoir, en provenance du dispositif d’autorisation E2, une valeur T2égale à Dα2 sk{E 2 }, où α2est un hachage d’une quantité fonction de pk{E1}, pk{E2}, pk{E3}, pk{E4} et d’une donnée associée à α2.
Ledit dispositif de récupération E3, E4comporte en outre:
- un premier module de calcul, configuré pour calculer une valeur publique W égale à gsk{E 3 }sk{E 4 },
- un deuxième module de calcul, configuré pour calculer une valeur T3égale à C4 (α3 +α4 )sk{E 3 }si la valeur reçue en provenance du dispositif de gestion E1parmi les valeurs C3et C4est ladite valeur C4ou une valeur T4égale à C3 (α3 +α4 )sk{E 4 }si la valeur reçue en provenance du dispositif de gestion E1parmi les valeurs C3et C4est ladite valeur C3,
- un troisième module de calcul, configuré pour calculer une valeur K3égale à T1x T2x T3ou une valeur K4égale à T1x T2x T4.
Selon un onzième aspect, l’invention concerne un système de calcul d’une clé de session, ledit système comportant dispositif utilisateur U1selon l’invention, un dispositif utilisateur U2selon l’invention ainsi qu’un dispositif de gestion E1selon l’invention.
Selon un douzième aspect, l’invention concerne un système pour la récupération d’une clé de session calculée par un dispositif utilisateur U1selon l’invention et également calculée par un dispositif utilisateur U2selon l’invention, ledit système comportant un dispositif de gestion E1selon l’invention, un dispositif d’autorisation E2selon l’invention et deux dispositifs de récupération E3, E4selon l’invention.
D’autres caractéristiques et avantages de la présente invention ressortiront de la description faite ci-dessous, en référence aux dessins annexés qui en illustrent un exemple de réalisation dépourvu de tout caractère limitatif. Sur les figures :
la figure 1 représente schématiquement, dans son environnement, un mode de réalisation d’un système de calcul selon l’invention, ledit système de calcul comportant un dispositif utilisateur U1, un dispositif utilisateur U2 et un dispositif de gestion E1 ;
la figure 2 représente schématiquement un exemple d’architecture matérielle du dispositif utilisateur U1 de la figure 1 ;
la figure 3 représente schématiquement un exemple d’architecture matérielle du dispositif utilisateur U2 de la figure 1;
la figure 4 représente schématiquement un exemple d’architecture matérielle du dispositif de gestion E1 de la figure 1;
la figure 5 représente, sous forme d’ordinogramme, les principales étapes d’un procédé de calcul de la clé de session selon l’invention, telles qu’elles sont mises en œuvre par le système de calcul de la figure 1 ;
la figure 6 représente, sous forme d’ordinogramme, un premier mode particulier de mise en œuvre du procédé de calcul de la figure 5;
la figure 7 représente, sous forme d’ordinogramme, un deuxième mode particulier de mise en œuvre du procédé de calcul de la figure 5;
la figure 8 représente, sous forme d’ordinogramme, un troisième mode particulier de mise en œuvre du procédé de calcul de la figure 5;
la figure 9 représente schématiquement, dans son environnement, un mode de réalisation d’un système pour la récupération d’une clé de session calculée par les dispositifs U1, U2du système de calcul de la figure 1, ledit système pour la récupération comportant le dispositif de gestion E1, un dispositif d’autorisation E2 ainsi deux dispositifs de récupération E3 et E4 ;
la figure 10 représente schématiquement un exemple d’architecture matérielle du dispositif d’autorisation E2 de la figure 9;
la figure 11 représente schématiquement un exemple d’architecture matérielle du dispositif de récupération E3 de la figure 1;
la figure 12 représente schématiquement un exemple d’architecture matérielle du dispositif de récupération E4 de la figure 1;
la figure 13 représente, sous forme d’ordinogramme, les principales étapes du procédé de récupération d’une clé de session selon l’invention, telles qu’elles sont mises en œuvre par le système de récupération de la figure 9;
la figure 14 représente, sous forme d’ordinogramme, un mode particulier de mise en œuvre du procédé de récupération de la figure 13.
Lafigure 1représente schématiquement, dans son environnement, un mode de réalisation d’un système 10 de calcul selon l’invention.
Conformément à l’invention, le système 10 de calcul comporte deux dispositifs utilisateurs U1, U2.
Dans le mode de réalisation illustré par la figure 1, les dispositifs utilisateurs U1, U2sont des terminaux mobiles détenus par des entités utilisatrices respectives. Un tel terminal mobile est par exemple un téléphone intelligent ou «smartphone», une tablette numérique, un ordinateur portable, etc. L’entité utilisatrice détenant un dispositif utilisateur Ui, i étant un indice allant de 1 à 2, est quant à elle une personne physique.
Il convient toutefois de noter qu’aucune limitation n’est attachée à la nature desdits dispositifs utilisateurs U1, U2dès lors que ces derniers sont configurés pour émettre et recevoir entre eux, via un réseau de communication, des messages comportant une ou plusieurs valeurs cryptographiques, ainsi que réaliser des calculs sur la base de valeurs cryptographiques, comme cela est décrit plus en détail ultérieurement. Ainsi, il est possible d’envisager qu’au moins un desdits dispositifs utilisateurs U1, U2soit un terminal fixe. Par ailleurs, rien n’exclut de considérer que lesdits dispositifs utilisateurs U1, U2ne soient pas tous les deux des terminaux.
Le réseau de communication utilisé par lesdits dispositifs utilisateurs U1, U2pour émettre et recevoir des messages entre eux est géré par au moins un dispositif de gestion E1. Ce dispositif de gestion E1est typiquement détenu par une entité de gestion.
Dans le mode de réalisation illustré par la figure 1, ledit dispositif de gestion E1est un ordinateur fixe détenu par une personne physique.
Néanmoins, là encore, l’invention reste applicable indépendamment de la nature dudit dispositif de gestion E1dès lors que ce dernier est configuré pour, comme cela est décrit plus en détail ultérieurement:
- transmettre, via ledit réseau de communication, des messages que les dispositifs utilisateurs U1, U2émettent à destination l’un de l’autre, le dispositif de gestion E1remplissant donc ainsi une fonction de relais de messages entre les dispositifs utilisateurs U1, U2,
- réaliser des traitements cryptographiques variés (calculs, voire également vérification de signatures cryptographiques et/ou vérification d’égalités dans des modes particuliers de réalisation),
- émettre des messages comportant des valeurs cryptographiques à destination de dispositifs autres que lesdits dispositifs utilisateurs U1, U2.
Il convient de noter que l’invention reste également applicable dans le cas où l’entité de gestion est une personne morale et/ou au moins une des entités utilisatrices est une personne morale, cet aspect ne constituant pas un facteur limitant de l’invention.
Pour la suite de la description, on considère de manière nullement limitative que ledit réseau de communication est un réseau non filaire. Le fait de considérer un réseau de communication non filaire ne constitue cependant qu’une variante de réalisation de l’invention. Rien n’exclut en effet d’envisager un réseau de communication filaire dès lors que les dispositifs utilisateurs U1, U2et le dispositif de gestion E1sont aptes à l’exploiter, c’est-à-dire aptes à communiquer via celui-ci.
Le ou les échanges de messages entre les dispositifs utilisateurs U1, U2, et via le dispositif de gestion E1, s’effectuent au cours d’une session de communication qui est mise en œuvre via ledit réseau de communication. En outre, et conformément à l’invention, lesdits dispositifs utilisateurs U1, U2sont configurés pour calculer, en coopération avec le dispositif de gestion E1, une clé de session pour sécuriser une telle session de communication, en mettant en œuvre un procédé de calcul d’une clé de session détaillé ultérieurement. Eu égard à cette coopération entre les différents dispositifs du système 10, ledit système 10 a pour objectif le calcul d’une clé de session.
En conséquence, une clé de session est liée à la session de communication pour laquelle elle est calculée. Autrement dit, une session de communication étant par nature limitée dans le temps, la clé de session n’est valide que pour la durée de la session de communication qui lui est associée. En outre, et de manière préférée, deux sessions de communication distinctes sont respectivement associées à deux clés de session distinctes.
Par ailleurs, et conformément à l’invention, la clé de session peut faire l’objet d’au moins une demande de récupération autorisée par un dispositif d’autorisation E2et émise par un dispositif de récupération parmi deux dispositifs de récupération E3, E4.
Comme déjà mentionné auparavant, par «récupération», il est fait référence ici au recouvrement de la clé de session par une entité de récupération. La nature desdits dispositifs d’autorisation E2et de récupération E3, E4, leurs configurations matérielles et logicielles respectives ainsi que les aspects de l’invention relatifs à la possibilité de recouvrer la clé de session sont décrits plus en détail ultérieurement.
Chaque dispositif est associé à une clé publique ainsi qu’à une clé privée. Plus précisément, on adopte les notations suivantes:
- un dispositif utilisateur Ui, i allant de 1 à 2, est associé à une clé publique pk{Ui} ainsi qu’à une clé privée sk{Ui} (ladite clé publique pk{Ui} étant, de manière connue en soi, associée à, i.e. calculée à partir de, la clé privée sk{Ui} dans ce mode de réalisation), et
- un dispositif Ej, j allant de 1 à 4, est associé à une clé publique pk{Ej} ainsi qu’à une clé privée sk{Ej}, pk{Ej} étant égale à gsk{E j }où g est un générateur d’un groupe G d’ordre premier p (ladite clé publique pk{Ei} étant, de manière connue en soi, associée à, i.e. calculée à partir de, la clé privée sk{Ei} dans ce mode de réalisation).
Pour la suite de la description, on considère de manière nullement limitative que le groupe G, le générateur g et le nombre premier p sont des paramètres rendus publics et obtenus au moyen d’une méthode d’initialisation (encore dite «Setup» dans la littérature anglo-saxonne) paramétrée par un paramètre λ dit «paramètre de sécurité» visant à définir un niveau de sécurité homogène entre des algorithmes cryptographiques potentiellement très différents. Plus particulièrement, parler d’un niveau de sécurité défini par le paramètre λ revient à considérer un niveau de sécurité au moins équivalent à celui obtenu grâce à un algorithme symétrique dont la clé comporte λ bits. A titre d’exemple, ledit paramètre de sécurité λ comporte 128 bits.
De manière conventionnelle, ladite méthode d’initialisation «Setup» permet également de générer, en sus des paramètres G, g et p, un couplage bilinéaire e sur le groupe G ainsi qu’une fonction de hachage H qui sont également rendus publics. De manière conventionnelle, la fonction de hachage H est apte à transformer toute chaîne de bits en un nombre entier, par exemple un nombre entier compris entre 0 et p-1. Ladite fonction de hachage H peut correspondre à une fonction standardisée, comme par exemple la fonction SHA 256 («SHA» étant l’acronyme de l’expression anglo-saxonne «Secure Hash Algorithm») ou bien encore la fonction SHA 3.
La mise en œuvre d’une telle méthode d’initialisation «Setup» s’effectue classiquement grâce à des moyens logiciels adaptés, comme par exemple un programme informatique dédié au calcul cryptographique et exécuté par un dispositif de traitement de type ordinateur. Ledit dispositif de traitement peut être un dispositif externe au système 10 de calcul ou bien encore être l’un des dispositifs dudit système 10 de calcul ou bien encore être l’un desdits dispositifs d’autorisation E2ou de récupération E3, E4. En tout état de cause, ladite méthode d’initialisation «Setup» est bien connue de l’homme de l’art, et n’est donc pas décrite plus avant ici.
Il convient toutefois de noter que l’invention ne se limite à la mise en œuvre de ladite méthode d’initialisation «Setup». En effet, toute méthode connue de l’homme de l’art pour générer des clés publiques/privées, notamment via un générateur d’un groupe d’ordre premier, ainsi qu’un couplage bilinéaire sur un tel groupe et une fonction de hachage peut être mise en œuvre, et le choix d’une méthode particulière ne constitue qu’une variante d’implémentation de l’invention.
Lafigure 2représente schématiquement un exemple d’architecture matérielle du dispositif utilisateur U1selon l’invention.
Tel qu’illustré par la figure 2, le dispositif utilisateur U1selon l’invention dispose de l’architecture matérielle d’un ordinateur. Ainsi, ledit dispositif utilisateur U1comporte, notamment, un processeur 1_U1, une mémoire vive 2_U1, une mémoire morte 3_U1et une mémoire non volatile 4_U1. Il dispose en outre de moyens de communication 5_U1.
Les moyens de communication 5_U1permettent notamment au dispositif utilisateur U1d’émettre, via ledit dispositif de gestion E1, des valeurs cryptographiques vers le dispositif utilisateur U2, ainsi que recevoir, également via ledit dispositif de gestion E1, des valeurs cryptographiques en provenance dudit dispositif utilisateur U2. A cet effet, les moyens de communication 5_U1comportent une interface de communication compatible avec la nature du réseau de communication, à savoir non filaire dans cet exemple de réalisation. Ainsi, l’interface de communication des moyens de communication 5_U1est également non filaire, ainsi qu’apte à mettre en œuvre tout protocole adapté connu de l’homme du métier (Wifi, Bluetooth, 3G, 4G, 5G, etc.). Bien entendu, si, suivant d’autres exemples de réalisation, la nature du réseau de communication était filaire, l’interface de communication serait adaptée en conséquence.
La mémoire morte 3_U1du dispositif utilisateur U1constitue un support d’enregistrement conforme à l’invention, lisible par le processeur 1_U1et sur lequel est enregistré un programme d’ordinateur PROG_U1conforme à l’invention, comportant des instructions pour l’exécution d’au moins une partie des étapes du procédé de calcul d’une clé de session selon l’invention. Le programme PROG_U1définit des modules fonctionnels du dispositif utilisateur U1, qui s’appuient ou commandent les éléments matériels 2_U1à 5_U1dudit dispositif utilisateur U1cités précédemment, et qui comprennent notamment:
- un premier module de calcul MOD_CALC1_U1, configuré pour calculer des valeurs A, A1, A2, A3, A4, A5respectivement égales à gu, pk{E1}u, pk{E2}u, pk{E3}u, pk{E4}u, Wu, u étant une valeur secrète du dispositif U1tirée aléatoirement dans le groupe Z/pZ, et W étant une valeur publique calculée par au moins un dispositif de récupération E3, E4et égale à gsk{E 3 }sk{E 4 },
- un module de communication MOD_COM_U1, configuré pour transmettre lesdites valeurs A, A1, A2, A3, A4, A5au dispositif utilisateur U2via le dispositif de gestion E1, ledit module de communication MOD_COM_U1étant en outre configuré pour recevoir, en provenance du dispositif utilisateur U2et via le dispositif de gestion E1, des valeurs B, B1, B2, B3, C3, C4, D calculées par ledit dispositif utilisateur U2et respectivement égales à gv, pk{E1}v, pk{E2}v, Wv, A3 v, A4 v, Av, v étant une valeur secrète du dispositif U2tirée aléatoirement dans le groupe Z/pZ,
- un deuxième module de calcul MOD_CALC2_U1, configuré pour calculer une valeur K1égale à B1α1 ux B2α2 ux B3 (α3 +α4 )u, où αm, m allant de 1 à 4, est une quantité fonction de pk{E1}, pk{E2}, pk{E3}, pk{E4} et d’une donnée associée à αm.
A titre d’exemple nullement limitatif, ladite quantité est générée en utilisant la fonction de hachage H mentionnée auparavant et obtenue suite à la mise en œuvre de la méthode d’initialisation «Setup». En outre, dans cet exemple, ladite donnée associée à αmcorrespond audit indice m. En résumé, on a que αmest égal à H(pk{E1}, pk{E2}, pk{E3}, pk{E4}, m), la partie de l’argument de H formé des valeurs pk{E1}, pk{E2}, pk{E3}, pk{E4} correspondant à une concaténation des bits formant chacune desdites valeurs pk{E1}, pk{E2}, pk{E3}, pk{E4}.
Il convient toutefois de noter qu’aucune limitation n’est attachée à la fonction de hachage pouvant être considérée pour le calcul de αm.Autrement dit, rien n’exclut de considérer une fonction de hachage qui diffère de ladite fonction H, l’homme de l’art étant en mesure d’avoir accès ou de générer une fonction de hachage différente de H. De plus, rien n’exclut non plus de considérer une donnée associée à αmqui ne soit pas égale à m, comme par exemple une donnée égale à f(m) où f est une fonction strictement croissante à valeurs entières.
Enfin, l’invention n’est pas plus limitée par le fait que le calcul de αms’effectue grâce à une fonction de hachage. Ainsi, rien n’exclut d’envisager toute autre méthode connue de l’homme du métier pour que αmcorresponde à une quantité fonction de pk{E1}, pk{E2}, pk{E3}, pk{E4} et d’une donnée associée à αm, cette quantité étant de taille réduite par apport à la somme des tailles respectives de pk{E1}, pk{E2}, pk{E3}, pk{E4} et de la donnée associée à αm.
Dans un exemple particulier de réalisation, lesdits premier et deuxième modules de calcul MOD_CALC1_U1, MOD_CALC2_U1sont intégrés dans un seul et même module de calcul, dit «module général». A cet effet, ledit module général comporte des moyens configurés de manière matérielle et / ou logicielle pour réaliser les fonctions associées à chacun desdits premier et deuxième module de calcul MOD_CALC1_U1, MOD_CALC2_U1.
Le dispositif utilisateur U2selon l’invention dispose également de l’architecture matérielle d’un ordinateur, dont un exemple est illustré de manière schématique par lafigure 3.
Ainsi, ledit dispositif utilisateur U2comporte, notamment, un processeur 1_U2, une mémoire vive 2_U2, une mémoire morte 3_U2et une mémoire non volatile 4_U2. Il dispose en outre de moyens de communication 5_U2.
Les moyens de communication 5_U2permettent notamment au dispositif utilisateur U2d’émettre (respectivement recevoir), via ledit dispositif de gestion E1, des valeurs cryptographiques vers le dispositif utilisateur U1(respectivement en provenance du dispositif utilisateur U1), et sont similaires, au moins en ce qui concerne l’interface de communication, aux moyens de communication 5_U1décrits ci-avant pour le dispositif utilisateur U1.
La mémoire morte 3_U2du dispositif utilisateur U2constitue un support d’enregistrement conforme à l’invention, lisible par le processeur 1_U2et sur lequel est enregistré un programme d’ordinateur PROG_U2conforme à l’invention, comportant des instructions pour l’exécution d’au moins une partie des étapes du procédé de calcul d’une clé de session selon l’invention. Le programme PROG_ U2définit des modules fonctionnels du dispositif utilisateur U2, qui s’appuient ou commandent les éléments matériels 2_U2à 5_U2dudit dispositif utilisateur U2cités précédemment, et qui comprennent notamment :
- un module de communication MOD_COM_U2, configuré pour recevoir, en provenance du dispositif utilisateur U1et via le dispositif de gestion E1, lesdites valeurs A, A1, A2, A3, A4, A5calculées par le dispositif utilisateur U1,
- un premier module de calcul MOD_CALC1_U2, configuré pour calculer lesdites valeurs B, B1, B2, B3, C3, C4, D, ledit module de communication MOD_CALC1_U2étant en outre configuré pour transmettre lesdites valeurs B, B1, B2, B3, C3, C4, D au dispositif U1via l’entité de gestion E1,
- un deuxième module de calcul MOD_CALC2_U2, configuré pour calculer une valeur K2égale à A1α1 vx A2α2 vx A5 (α3 +α4 )v.
Dans un exemple particulier de réalisation, lesdits premier et deuxième modules de calcul MOD_CALC1_U2, MOD_CALC2_U2sont intégrés dans un seul et même module de calcul, dit «module général». A cet effet, ledit module général comporte des moyens configurés de manière matérielle et / ou logicielle pour réaliser les fonctions associées à chacun desdits premier et deuxième module de calcul MOD_CALC1_U2, MOD_CALC2_U2.
Enfin,le dispositif de gestion E1selon l’invention dispose également de l’architecture matérielle d’un ordinateur, dont un exemple est illustré de manière schématique par lafigure 4.
Ainsi, ledit dispositif de gestion E1comporte, notamment, un processeur 1_E1, une mémoire vive 2_E1, une mémoire morte 3_E1et une mémoire non volatile 4_E1. Il dispose en outre de moyens de communication 5_E1.
Les moyens de communication 5_E1permettent notamment au dispositif de gestion E1de transmettre des valeurs cryptographiques entre les dispositifs utilisateurs U1et U2et sont similaires, au moins en ce qui concerne l’interface de communication, aux moyens de communication 5_U1et 5_U2décrits ci-avant pour les dispositifs utilisateurs U1et U2.
La mémoire morte 3_E1du dispositif de gestion E1constitue un support d’enregistrement conforme à l’invention, lisible par le processeur 1_E1et sur lequel est enregistré un programme d’ordinateur PROG_E1conforme à l’invention, comportant des instructions pour l’exécution d’au moins une partie des étapes du procédé de calcul d’une clé de session selon l’invention. Le programme PROG_ E1définit des modules fonctionnels du dispositif de gestion E1, qui s’appuient ou commandent les éléments matériels 2_E1à 5_E1dudit dispositif de gestion E1cités précédemment, et qui comprennent notamment un module de communication MOD_COM_E1, configuré pour transmettre :
- du dispositif utilisateur U1vers le dispositif utilisateur U2, lesdites valeurs A, A1, A2, A3, A4, A5,
- du dispositif utilisateur U2vers le dispositif utilisateur U1, lesdites valeurs B, B1, B2, B3, C3, C4, D,
et qui comprennent en outre un module de mémorisation MOD_MEM_E1, configuré pour mémoriser au moins les valeurs C3, C4, D.
A titre d’exemple nullement limitatif, ledit module de mémorisation MOD_MEM_E1peut correspondre à tout ou partie la mémoire non volatile 4_E1équipant le dispositif de gestion E1.
Il importe de noter que, conformément à l’invention, lesdits programmes d’ordinateur PROG_U1, PROG_U2et PROG_E1peuvent appartenir à un même ensemble de programmes d’ordinateur, chaque dispositif U1, U2, E1étant apte à obtenir, par exemple via un téléchargement et grâce aux moyens de communication qui l’équipent, le programme PROG_U1, PROG_U2, PROG_E1qui lui est associé à partir dudit ensemble de programmes.
Lafigure 5représente, sous forme d’ordinogramme, les principales étapes du procédé de calcul de la clé de session selon l’invention, telles qu’elles sont mises en œuvre par le système 10 de calcul de la figure 1.
Ledit procédé de calcul est exécuté au cours d’une session de communication entre les dispositifs utilisateurs U1, U2, ladite session de communication étant mise en œuvre via le réseau de communication géré par l’entité de gestion E1et par exemple initiée par le dispositif utilisateur U1. Aucune limitation n’est cependant attachée au dispositif utilisateur à l’origine de ladite session de communication, ce dispositif utilisateur pouvant donc être U2en alternative.
Pour la suite de la description, on considère que la fonction de hachage utilisée pour le calcul de αm, m allant de 1 à 4, est la fonction de hachage H obtenue suite à la mise en œuvre de la méthode d’initialisation «Setup».
Conformément à l’invention, le procédé de calcul est mis en œuvre alors qu’une valeur publique W égale à gsk{E 3 }sk{E 4 }a déjà été calculée par au moins un dispositif de récupération E3, E4. Ce calcul est mis en œuvre par un premier module de calcul MOD_CALC1_E3, MOD_CALC1_E4équipant ledit au moins un dispositif de récupération E3, E4. Comme évoqué auparavant, la configuration matérielle et logicielle dudit au moins un dispositif de récupération E3, E4, dont notamment ledit module de calcul MOD_CALC1_E3, MOD_CALC1_E4, est détaillée ultérieurement en rapport avec les aspects de l’invention relatifs à la possibilité de récupérer la clé de session.
On comprend bien entendu que si W est calculée par le dispositif de récupération E3, ce calcul s’effectue en élevant à la puissance sk{E3}, qui est la clé secrète de E3, la quantité gsk{E 4 }qui correspond à pk{E4} et qui est donc publique. Inversement, si W est calculée par le dispositif de récupération E4, ce calcul s’effectue en élevant à la puissance sk{E4}, qui est la clé secrète de E4, la quantité gsk{E 3 }qui correspond à pk{E3} et qui est donc publique.
Dans un exemple plus particulier de mise en œuvre, la valeur publique W est calculée par chacune des deux entités de récupération E3et E4. Procéder ainsi offre la possibilité de vérifier si le calcul de W par au moins une desdites entités de récupération E3, E4n’est pas entaché d’erreur, une telle erreur pouvant par exemple trouver son origine dans le fait que l’entité de récupération en question est corrompue ou bien encore mal configurée pour exécuter l’invention. De cette manière, il est possible d’empêcher le calcul de la clé de session par les dispositifs utilisateurs U1, U2.
Dès lors, le procédé de calcul comporte tout d’abord uneétape F10de calcul, par le dispositif utilisateur U1, desdites valeurs A, A1, A2, A3, A4, A5. Cette étape de calcul F10 est mise en œuvre par le premier module de calcul MOD_CALC1_U1équipant ledit dispositif utilisateur U1.
Il convient de noter que la valeur secrète u est déterminée au cours de session de communication. Dès lors, la valeur A, qui est elle aussi calculée au cours de ladite session de communication, peut être considérée comme étant une clé publique du dispositif utilisateur U1 dédiée à cette session.
Puis, le procédé de calcul comporte uneétape F20de transmission desdites valeurs A, A1, A2, A3, A4, A5au dispositif utilisateur U2via le dispositif de gestion E1. Cette étape F20 de transmission est mise en œuvre par les modules de communication MOD_COM_U1, MOD_COM_U2, MOD_COM_E1équipant respectivement lesdits dispositifs U1, U2, E1.
Le procédé de calcul comporte alors uneétape F30de calcul, par le dispositif utilisateur U2, desdites valeurs B, B1, B2, B3, C3, C4, D. Cette étape F30 de calcul est mise en œuvre par le premier module de calcul MOD_CALC1_U2équipant ledit dispositif utilisateur U2.
Suivant des dispositions similaires à celles mentionnées ci-avant en ce qui concerne la valeur A, la valeur secrète v est déterminée au cours de la session de communication. Dès lors, la valeur B, qui est elle aussi calculée au cours de ladite session de communication, peut être considérée comme étant une clé publique du dispositif utilisateur U2 dédiée à cette session.
Puis, le procédé de calcul comporte uneétape F40de transmission desdites valeurs B, B1, B2, B3, C3, C4, D au dispositif utilisateur U1via le dispositif de gestion E1qui mémorise C3, C4et D au cours de cette transmission. Cette étape F40 de transmission est mise en œuvre par les modules de communication MOD_COM_U1, MOD_COM_U2, MOD_COM_E1équipant respectivement lesdits dispositifs U1, U2, E1. En outre, ladite mémorisation est mise en œuvre par le module de mémorisation MOD_MEM_E1équipant ledit dispositif de gestion E1.
Le procédé de calcul comporte également uneétape F50de calcul, par le dispositif utilisateur U1, de ladite valeur K1égale à B1α1 ux B2α2 ux B3 (α3 +α4 )u. Ladite étape F50 de calcul est mise en œuvre par le deuxième module de calcul MOD_CALC2_U1équipant le dispositif utilisateur U1.
Le dispositif utilisateur U2, quant à lui, calcule au cours d’uneétape F60du procédé de calcul ladite valeur K2égale à A1α1 vx A2α2 vx A5 (α3 +α4 )v. Ladite étape F760 de calcul est mise en œuvre par le deuxième module de calcul MOD_CALC2_U2équipant le dispositif utilisateur U2.
Aucune limitation n’est attachée à l’ordre dans lequel lesdites étapes de calcul F50 et F60 sont exécutées. Par exemple, l’étape de calcul F50 est exécutée avant l’étape de calcul F60, ou bien inversement. Selon encore un autre exemple, lesdites étapes de calcul F50 et F60 sont exécutées de manière synchronisée.
En définitive, à l’issue du procédé de calcul, les dispositifs utilisateurs U1et U2sont respectivement en possession des valeurs K1et K2. Or, ces valeurs K1et K2sont égales entre elles, comme cela peut être vérifié aisément. Lesdites valeurs K1et K2correspondent dès lors à ladite clé de session à partir de laquelle lesdits dispositifs utilisateurs U1et U2peuvent communiquer de manière sécurisée au cours de la session de communication.
La suite de la description vise à détailler différents modes de mise en œuvre du procédé de calcul, dans lesquels une ou plusieurs vérifications sont effectuées afin de déterminer si les différentes valeurs respectivement calculées par les dispositifs U1, U2et E1sont erronées ou non, et, en cas de calcul erroné, permettre l’arrêt dudit procédé de calcul.
Lafigure 6représente, sous forme d’ordinogramme, un premier mode particulier de mise en œuvre du procédé de calcul de la figure 5.
Dans ledit premier mode particulier illustré par la figure 6, le couplage bilinéaire intervenant dans les calculs de vérification détaillés ci-après est le couplage bilinéaire e obtenu suite à la mise en œuvre de la méthode d’initialisation «Setup».
Tel qu’illustré par la figure 6, et dans un premier temps, au cours de l’étape F20 le dispositif de gestion E1vérifie (par exemple grâce à un module de vérification non illustré sur les figures), lors de la transmission des valeurs A, A1, A2, A3, A4, A5du dispositif utilisateur U1vers le dispositif utilisateur U2, si:
- e[A1,g] est égal à e[A,pk{E1}],
- e[A2,g] est égal à e[A,pk{E2}],
- e[A3,g] est égal à e[A,pk{E3}],
- e[A4,g] est égal à e[A,pk{E4}],
- e[A5,g] est égal à e[A,W].
Puis, dans un deuxième temps, au cours de l’étape F40 le dispositif de gestion E1vérifie, lors de la transmission des valeurs B, B1, B2, B3, C3, C4, D du dispositif utilisateur U2vers le dispositif utilisateur U1, si :
- e[B1,g] est égal à e[B,pk{E1}],
- e[B2,g] est égal à e[B,pk{E2}],
- e[B3,g] est égal à e[B,W],
- e[C3,g] est égal à e[D,pk{E3}],
- e[C4,g] est égal à e[D,pk{E4}].
- e[D,g] est égal à e[A,B].
Le procédé de calcul est alors stoppé dès lors que le nombre d’égalités non vérifiées atteint un seuil donné. Aucune limitation n’est attachée à la valeur dudit seuil. Par exemple, le procédé de calcul peut être stoppé dès que la première égalité considérée n’est pas vérifiée.
En outre, il importe de noter que l’ordre dans lequel lesdites égalités sont considérées au cours de chaque transmission (étape F20 ou étape F40) n’est pas limitatif, le choix d’un ordre particulier ne constituant qu’une variante d’implémentation de l’invention.
Lafigure 7représente, sous forme d’ordinogramme, un deuxième mode particulier de mise en œuvre du procédé de calcul de la figure 5.
Dans ledit deuxième mode particulier illustré par la figure 7, le dispositif utilisateur U1calcule (étape F45_1, par exemple mise en œuvre grâce à un troisième module de calcul du dispositif utilisateur U2non illustré sur les figures), suite à la réception de la valeur D en provenance du dispositif utilisateur U2, une valeur D’ égale à Avet vérifie (par exemple grâce à un module de vérification non illustré sur les figures) que ladite valeur D’ est égale à ladite valeur D.
Le procédé de calcul étant alors stoppé si ladite égalité entre les valeurs D’ et D n’est pas vérifiée.
Lafigure 8représente, sous forme d’ordinogramme, un troisième mode particulier de mise en œuvre du procédé de calcul de la figure 5.
Dans ledit troisième mode particulier illustré par la figure 8, différentes signatures cryptographiques sont calculées par les dispositifs utilisateurs U1, U2, ces signatures étant en outre vérifiées.
Plus particulièrement, le dispositif utilisateur U1détermine (étape F15, par exemple mise en œuvre grâce à un module de détermination de signature du dispositif utilisateur U1non illustré sur les figures), au moyen de sa clé privée sk{U1}, une signature σ1d’un message M1fonction de pk{U1}, pk{U2}, A, A1, A2, A3, A4, A5et N1, où N1est une valeur aléatoire, la signature σ1et la valeur N1étant également transmises au dispositif utilisateur U2via le dispositif de gestion E1.
Le dispositif utilisateur U2, quant à lui, détermine (étape F35, par exemple mise en œuvre grâce à un module de détermination de signature du dispositif utilisateur U2non illustré sur les figures), au moyen de sa clé privée sk{U2}, une signature σ2d’un message M2fonction de pk{U1}, pk{U2}, B, D, B1, B2, B3et N2, où N2est une valeur aléatoire, ainsi qu’une signature σ3d’un message M3fonction de pk{U1}, pk{U2}, B, D, C3, C4et N3, où N3est une valeur aléatoire, les signatures σ2, σ3et les valeurs N2, N3étant également transmises au dispositif utilisateur U1via le dispositif de gestion E1.
Enfin, la signature σ1est vérifiée (étape F20) par le dispositif de gestion E1avant sa transmission au dispositif utilisateur U2, ainsi que par ledit dispositif utilisateur U2(étape F25) après transmission. De plus, les signatures σ2et σ3sont vérifiées (étape F40) par le dispositif de gestion E1avant leurs transmissions respectives au dispositif utilisateur U1, ainsi que par ledit dispositif utilisateur U1(étape F45_2) après transmission. Ces vérifications sont par exemple mises en œuvre par des modules de vérification équipant respectivement le dispositif utilisateur U2et le dispositif de gestion E1, et non illustrés sur les figures.
Le procédé de calcul est stoppé dès lors que le nombre de signatures non vérifiées atteint un seuil donné. Par exemple, ce seuil peut être égal à 1.
La notion de signature cryptographique (encore nommée signature numérique ou bien signature électronique), ainsi que celle de vérification d’une signature cryptographique, sont bien connues de l’homme de l’art, et ne sont par conséquent pas détaillées plus avant ici. On rappelle uniquement que la détermination et la vérification de telles signatures permet d’authentifier les dispositifs à l’origine des calculs des différentes données et valeurs échangées sur le réseau de communication.
Il importe de noter que lesdits premier, deuxième et troisième modes particuliers, décrits ci-avant en référence respectivement aux figures 7, 8 et 9, sont combinables entre eux selon toutes combinaisons techniquement opérables. Par exemple, lesdits premier et deuxième modes particuliers peuvent être mis en œuvre au cours du procédé de calcul. Selon un autre exemple, lesdits deuxième et troisième modes particuliers peuvent être mis en œuvre au cours dudit procédé de calcul.
Dans un exemple préféré, lesdits premier, deuxième et troisième modes particuliers sont tous les trois mis en œuvre au cours du procédé de calcul. Procéder de cette manière permet avantageusement d’optimiser la sécurité dudit procédé de calcul.
Une fois la clé de session K1, K2calculée par les dispositifs utilisateurs U1, U2, lesdits dispositifs utilisateurs U1, U2peuvent communiquer de manière sécurisée en mettant en œuvre un procédé de communication selon l’invention. La mise en œuvre d’un tel procédé de communication s’effectue de manière connue en soi, les dispositifs utilisateurs U1, U2utilisant ladite clé de session pour chiffrer les messages qu’ils souhaitent s’échanger via le réseau de communication géré par le dispositif de gestion E1et pendant la session de communication au cours de laquelle a été calculée la clé de session.
Comme mentionné auparavant, la clé de session K1, K2peut faire l’objet d’au moins une demande de récupération autorisée par le dispositif d’autorisation E2et émise par un dispositif de récupération parmi lesdits deux dispositifs de récupération E3, E4. La suite de la description vise à détailler désormais les aspects de l’invention liés à la récupération de ladite clé de session K1, K2par lesdits dispositifs de récupération E3, E4.
Lafigure 9représente schématiquement, dans son environnement, un mode de réalisation d’un système 20 pour la récupération de la clé de session K1, K2calculée par lesdits dispositifs U1, U2.
Le système 20 pour la récupération de la clé de session K1, K2comporte le dispositif de gestion E1du système 10 de calcul décrit ci-avant en référence à la figure 1.
Par ailleurs, et tel qu’illustré par la figure 9, ledit système 20 pour la récupération de la clé de session K1, K2comporte ledit dispositif d’autorisation E2, ce dernier étant détenu par une entité de gestion.
Dans le présent mode de réalisation, ledit dispositif d’autorisation E2est un ordinateur fixe détenu par une personne physique.
Il convient toutefois de noter qu’aucune limitation n’est attachée à la nature dudit dispositif d’autorisation E2dès lors que ce dernier est configuré pour émettre et recevoir, via le réseau de communication, des messages comportant une ou plusieurs valeurs cryptographiques, ainsi que réaliser des traitements cryptographiques variés (calculs, voire également vérification de signatures cryptographiques), comme cela est décrit plus en détail ultérieurement.
Enfin, et tel qu’illustré par la figure 9, le système 20 pour la récupération de la clé de session K1, K2comporte également lesdits deux dispositifs de récupération E3et E4respectivement détenus par deux entités de récupération distinctes.
Dans le présent mode de réalisation, chaque dispositif de récupération E3, E4est un ordinateur fixe détenu par une personne physique.
Néanmoins, là encore, l’invention reste applicable indépendamment de la nature desdits deux dispositifs de récupération E3et E4, dès lors que chaque dispositif de récupération est configuré pour recevoir, via le réseau de communication, des messages comportant une ou plusieurs valeurs cryptographiques, ainsi que réaliser des traitements cryptographiques variés (calculs, voire également vérification de signatures cryptographiques), comme cela est décrit plus en détail ultérieurement.
Il convient par ailleurs de noter que l’invention reste également applicable dans le cas où l’entité d’autorisation est une personne morale et/ou au moins une des entités de récupération est une personne morale, cet aspect ne constituant pas un facteur limitant de l’invention.
Conformément à l’invention, le dispositif de gestion E1, le dispositif d’autorisation E2ainsi que le dispositif de récupération E3ou le dispositif de récupération E4sont configurés pour coopérer entre eux afin que lesdits dispositifs de récupération E3et/ou E4puissent récupérer la clé de session K1, K2au cours de la session de communication lors de laquelle ladite clé de session K1, K2est calculée par les dispositifs utilisateurs U1, U2, en mettant en œuvre un procédé de récupération de ladite clé de session K1, K2selon l’invention.
Comme déjà mentionné auparavant, le programme PROG_E1du dispositif de gestion E1définit un module de communication MOD_COM_E1ainsi qu’un module de mémorisation MOD_MEM_E1. Ledit programme PROG_E1définit également un module de calcul MOD_CALC_E1, configuré pour calculer une valeur T1égale à Dα1 sk{E 1 }.
Par ailleurs, outre les fonctions de transfert de valeurs entre les dispositifs utilisateurs U1, U2qui lui revient de mettre en œuvre et qui sont décrites ci-avant, ledit module de communication MOD_COM_E1est également configuré pourtransmettre:
- la valeur D au dispositif d’autorisation E2,
- la valeur C4au dispositif E3si ladite au moins une demande de récupération est émise par ledit dispositif E3et/ou la valeur C3au dispositif E4si ladite au moins une demande de récupération est émise par ledit dispositif E4,
- la valeur T1à chacun des dispositifs de récupération E3, E4ayant émis une demande de récupération de la clé de session K1, K2.
Lafigure 10représente schématiquement un exemple d’architecture matérielle du dispositif d’autorisation E2selon l’invention.
Tel qu’illustré par la figure 10, le dispositif d’autorisation E2selon l’invention dispose de l’architecture matérielle d’un ordinateur. Ainsi, ledit dispositif d’autorisation E2comporte, notamment, un processeur 1_E2, une mémoire vive 2_E2, une mémoire morte 3_E2et une mémoire non volatile 4_E2. Il dispose en outre de moyens de communication 5_E2.
Les moyens de communication 5_E2permettent notamment au dispositif d’autorisation E2d’émettre (respectivement recevoir) des valeurs cryptographiques vers les dispositifs de récupération E3, E4(respectivement en provenance du dispositif de gestion E1), ainsi que d’émettre un message d’autorisation d’une demande de récupération, et sont similaires, au moins en ce qui concerne l’interface de communication, aux moyens de communication décrits ci-avant pour les dispositifs utilisateurs U1, U2ou bien pour le dispositif de gestion E1.
La mémoire morte 3_E2du dispositif d’autorisation E2constitue un support d’enregistrement conforme à l’invention, lisible par le processeur 1_E2et sur lequel est enregistré un programme d’ordinateur PROG_E2conforme à l’invention, comportant des instructions pour l’exécution d’au moins une partie des étapes du procédé de récupération de la clé de session K1, K2selon l’invention. Le programme PROG_E2définit des modules fonctionnels du dispositif d’autorisation E2, qui s’appuient ou commandent les éléments matériels 2_E2à 5_E2dudit dispositif d’autorisation E2cités précédemment, et qui comprennent notammentun module de communication MOD_COM_E2, configuré pour:
- émettre, à destination dudit au moins un dispositif de récupération parmi deux dispositifs de récupération E3, E4, une autorisation de ladite au moins demande de récupération,
- recevoir, en provenance du dispositif de gestion E1, la valeur D mémorisée par ledit dispositif de gestion E1et égale à Av,
et qui comprennent en outre un module de calcul MOD_CALC_E2, configuré pour calculer une valeur T2égale à Dα2 sk{E 2 },
ledit module de communication MOD_COM_E2étant en outre configuré pour transmettre ladite valeur T2audit dispositif de récupération parmi deux dispositifs de récupération E3, E4.
A titre d’exemple nullement limitatif, l’émission d’une autorisation de ladite au moins demande de récupération s’effectue grâce à un message dont le format est conforme à une norme de télécommunication donnée.
Lafigure 11représente schématiquement un exemple d’architecture matérielle du dispositif de récupération E3selon l’invention.
Tel qu’illustré par la figure 11, le dispositif de récupération E3selon l’invention dispose de l’architecture matérielle d’un ordinateur. Ainsi, ledit dispositif de récupération E3comporte, notamment, un processeur 1_E3, une mémoire vive 2_E3, une mémoire morte 3_E3et une mémoire non volatile 4_E3. Il dispose en outre de moyens de communication 5_E3.
Les moyens de communication 5_E3permettent notamment au dispositif de récupération E3de recevoir des valeurs cryptographiques en provenance du dispositif de gestion E1et du dispositif d’autorisation E2, et sont similaires, au moins en ce qui concerne l’interface de communication, aux moyens de communication décrits ci-avant pour les dispositifs utilisateurs U1, U2, le dispositif de gestion E1ou bien encore le dispositif d’autorisation E2.
La mémoire morte 3_E3du dispositif de récupération E3constitue un support d’enregistrement conforme à l’invention, lisible par le processeur 1_E3et sur lequel est enregistré un programme d’ordinateur PROG_E3conforme à l’invention, comportant des instructions pour l’exécution d’au moins une partie des étapes du procédé de récupération de la clé de session K1, K2selon l’invention. Le programme PROG_E3définit des modules fonctionnels du dispositif de récupération E3, qui s’appuient ou commandent les éléments matériels 2_E3à 5_E3dudit dispositif d’autorisation E3cités précédemment, et qui comprennent notammentun module de communication MOD_COM_E3, configuré pour:
- émettre une demande de récupération de la clé session K1, K2,
- recevoir, en provenance du dispositif de gestion E1, ladite valeur T1ainsi que ladite valeur C4,
- recevoir, en provenance du dispositif d’autorisation E2, ladite valeur T2,
et qui comprennent en outre:
- ledit premier module de calcul MOD_CALC1_E3, configuré pour calculer ladite valeur publique W, comme déjà mentionné auparavant,
- un deuxième module de calcul MOD_CALC2_E3, configuré pour calculer une valeur T3égale à C4 (α3 +α4 )sk{E 3 },
- un troisième module de calcul MOD_CALC3_E3, configuré pour calculer une valeur K3égale à T1x T2x T3.
A titre d’exemple nullement limitatif, l’émission d’une demande de récupération s’effectue grâce à un message dont le format est conforme à une norme de télécommunication donnée, typiquement la même norme que celle utilisée par le dispositif d’autorisation E2pour l’émission d’un message d’autorisation.
Lafigure 12représente schématiquement un exemple d’architecture matérielle du dispositif de récupération E4selon l’invention.
Tel qu’illustré par la figure 12, le dispositif de récupération E4selon l’invention dispose de l’architecture matérielle d’un ordinateur. Ainsi, ledit dispositif de récupération E4comporte, notamment, un processeur 1_E4, une mémoire vive 2_E4, une mémoire morte 3_E4et une mémoire non volatile 4_E4. Il dispose en outre de moyens de communication 5_E4.
Les moyens de communication 5_E4permettent notamment au dispositif de récupération E4de recevoir des valeurs cryptographiques en provenance du dispositif de gestion E1et du dispositif d’autorisation E2, et sont similaires, au moins en ce qui concerne l’interface de communication, aux moyens de communication décrits ci-avant pour les dispositifs utilisateurs U1, U2, le dispositif de gestion E1ou bien encore le dispositif d’autorisation E2.
La mémoire morte 3_E4du dispositif de récupération E4constitue un support d’enregistrement conforme à l’invention, lisible par le processeur 1_E4et sur lequel est enregistré un programme d’ordinateur PROG_E4conforme à l’invention, comportant des instructions pour l’exécution d’au moins une partie des étapes du procédé de récupération de la clé de session K1, K2selon l’invention. Le programme PROG_E4définit des modules fonctionnels du dispositif de récupération E4, qui s’appuient ou commandent les éléments matériels 2_E4à 5_E4dudit dispositif de récupération E4cités précédemment, et qui comprennent notammentun module de communication MOD_COM_E4, configuré pour :
- émettre une demande de récupération de la clé session K1, K2,
- recevoir, en provenance du dispositif de gestion E1, ladite valeur T1ainsi que ladite valeur C3,
- recevoir, en provenance du dispositif d’autorisation E2, ladite valeur T2,
et qui comprennent en outre:
- ledit premier module de calcul MOD_CALC1_E4, configuré pour calculer ladite valeur publique W, comme déjà mentionné auparavant,
- un deuxième module de calcul MOD_CALC2_E4, configuré pour calculer une valeur T4égale à C3 (α3 +α4 )sk{E 4 },
- un troisième module de calcul MOD_CALC3_E4, configuré pour calculer une valeur K4égale à T1x T2x T4.
Dans un exemple particulier de réalisation, lesdits premier, deuxième et troisième modules de calcul MOD_CALC1_Eq, MOD_CALC2_Eq, MOD_CALC3_Eq, q étant un indice égal à 3 ou 4, sont intégrés dans un seul et même module de calcul, dit «module général». A cet effet, ledit module général comporte des moyens configurés de manière matérielle et / ou logicielle pour réaliser les fonctions associées à chacun desdits premier, deuxième module et troisième modules de calcul MOD_CALC1_Eq, MOD_CALC2_Eq, MOD_CALC3_Eq.
Il importe de noter que, conformément à l’invention, lesdits programmes d’ordinateur PROG_E1, PROG_E2, PROG_E3, PROG_E4peuvent appartenir à un même ensemble de programmes d’ordinateur, chaque dispositif E1, E2, E3, E4étant apte à obtenir, par exemple via un téléchargement et grâce aux moyens de communication qui l’équipent, le programme PROG_E1, PROG_E2, PROG_E3,PROG_E4qui lui est associé parmi ledit ensemble de programmes.
Pour la suite de la description, on considère de manière nullement limitative que deux de demandes de récupération de la clé de session K1, K2ont été respectivement émises par les dispositifs de récupération E3et E4auprès du dispositif d’autorisation E2, et que chacune de ces demandes de récupération a été autorisée par ledit dispositif d’autorisation E2.
Lafigure 13représente, sous forme d’ordinogramme, les principales étapes du procédé de récupération de la clé de session K1, K2selon l’invention, telles qu’elles sont mises en œuvre par le système 20 de récupération de la figure 9.
Ledit procédé de récupération est mis en œuvre au cours de la session de communication pendant laquelle la clé de session K1, K2est calculée par les dispositifs utilisateurs U1, U2, étant entendu que ladite clé de session K1, K2est déjà calculée au moment de la mise en œuvre dudit procédé de récupération et que lesdits dispositifs utilisateurs U1, U2sont dès lors en mesure de communiquer entre eux de manière sécurisée.
Tel qu’illustré par la figure 13, le procédé de récupération comporte tout d’abord uneétape R10de transmission, par le dispositif de gestion E1, de la valeur D au dispositif d’autorisation E2.Par ailleurs, au cours de cette étape R10 de transmission, et étant donné que ainsi que chacun des dispositifs de récupération E3, E4a émis une demande de récupération acceptée par le dispositif d’autorisation E2, les valeurs C4et C3sont transmises respectivement au dispositif de récupération E3et au dispositif de récupération E4. Il est à noter que cette étape R10 de transmission est mise en œuvre par le module de communication MOD_COM_E1équipant ledit dispositif de gestion E1.
Le procédé de récupération comporte ensuite uneétape R20de calcul, par le dispositif de gestion E1, de ladite valeur T1égale à Dα1 sk{E 1 }. Cette étape R20 de calcul est mise en œuvre par le module de calcul MOD_CALC_E1équipant le dispositif de gestion E1.
Etant donné que ainsi que chacun des dispositifs de récupération E3, E4a émis une demande de récupération acceptée par le dispositif d’autorisation E2, ladite valeur T1est ensuite transmise par le dispositif de gestion E1aux deux dispositifs de récupération E3et E4au cours d’uneétape R30du procédé de récupération. Cette étape R30 de transmission est mise en œuvre par le module de communication MOD_COM_E1équipant le dispositif de gestion E1.
Le procédé de récupération comporte également uneétape R40de calcul, par le dispositif d’autorisation E2, de ladite valeur T2égale à Dα2 sk{E 2 }. Cette étape R40 de calcul est mise en œuvre par le module de calcul MOD_CALC_E2équipant le dispositif d’autorisation E2.
En raison à nouveau de l’émission des deux demandes de récupération, ladite valeur T2est ensuite transmise par le dispositif d’autorisation E2aux deux dispositifs de récupération E3et E4au cours d’uneétape R50du procédé de récupération. Cette étape R50 de transmission est mise en œuvre par le module de communication MOD_COM_E2équipant le dispositif d’autorisation E2.
Le procédé de récupération comporte en outre uneétape R60de calcul de ladite valeur T3par le dispositif de récupération E3. Cette étape R60 de calcul est mise en œuvre par le deuxième module de calcul MOD_CALC2_E3équipant le dispositif de récupération E3.
De manière similaire, le procédé de récupération comporte uneétape R70de calcul de ladite valeur T4par le dispositif de récupération E4. Cette étape R70 de calcul est mise en œuvre par le deuxième module de calcul MOD_CALC_E4équipant le dispositif de récupération E4.
Aucune limitation n’est attachée à l’ordre dans lequel lesdites étapes de calcul R60 et R70 sont exécutées. Par exemple, l’étape de calcul R60 est exécutée avant l’étape de calcul R70, ou bien inversement. Selon encore un autre exemple, lesdites étapes de calcul R60 et R70 sont exécutées de manière synchronisée.
Enfin, le procédé de récupération comporte uneétape R80de calcul de ladite valeur K3par le dispositif de récupération E3. Cette étape R80 de calcul est mise en œuvre par le troisième module de calcul MOD_CALC3_E3équipant le dispositif de récupération E3.
De manière similaire, le procédé de récupération comporte uneétape R90de calcul de ladite valeur K4par le dispositif de récupération E4. Cette étape R90 de calcul est mise en œuvre par le troisième module de calcul MOD_CALC3_E4équipant le dispositif de récupération E4.
Aucune limitation n’est attachée à l’ordre dans lequel lesdites étapes de calcul R80 et R90 sont exécutées. Par exemple, l’étape de calcul R80 est exécutée avant l’étape de calcul R90, ou bien inversement. Selon encore un autre exemple, lesdites étapes de calcul R80 et R90 sont exécutées de manière synchronisée.
En définitive, à l’issue du procédé de récupération, les dispositifs de récupération E3et E4sont respectivement en possession des valeurs K3et K4. Or, ces valeurs K3et K4sont non seulement égales entre elles, mais également égales auxdites valeurs K1et K2, comme cela peut être vérifié aisément. Lesdites valeurs K3et K4correspondent dès lors à ladite clé de session récupérée.
Le procédé de récupération selon l’invention offre donc la possibilité aux deux dispositifs de récupération E3et E4de récupérer la clé session que les dispositifs utilisateurs U1, U2ont calculée et qu’ils utilisent pour communiquer entre eux au cours de la session de communication.
Il est particulièrement avantageux que les dispositifs de récupération E3, E4récupèrent respectivement la clé de session à partir des valeurs T3, T4. En effet, l’usage d’une valeur différente pour chacune de ces entités induit la possibilité pour chacune d’entre elles de disposer de leurs propres clés publiques.
Le fait que la clé de session puisse être récupérée de manière anonyme par les dispositifs de récupération E3, E4a son importance dans de multiples contexte, en particulier lorsque les entités de récupération qui détiennent respectivement lesdits dispositifs de récupération sont indépendantes entre elles, et doivent le demeurer.
Pour rappel, par « indépendance » entre entités de récupération, il est fait référence ici à des situations dans lesquelles il peut être exigé que lesdites entités de récupération soient autonomes entre elles. Autrement dit, dans ces situations, une entité de récupération n’est pas soumise à l’autorité de l’autre entité de récupération, et doit donc pouvoir être en mesure de réaliser ses calculs de récupération sans collaboration avec ladite autre entité de récupération.
Deux exemples d’application de la présente invention sont désormais décrits à titre nullement limitatif, afin d’illustrer, notamment, deux contextes distincts dans lesquels les entités de récupération détenant les dispositifs de récupération sont indépendantes entre elles.
Le premier exemple d’application décrit reprend les éléments introduits auparavant en ce qui concerne le cas d’un salarié victime de harcèlement de la part de son responsable hiérarchique. Grâce à l’invention, le juriste (i.e. l’entité d’autorisation) de l’entreprise a la possibilité d’autoriser deux entités de récupération indépendantes à récupérer la clé de session, à savoir le service des ressources humaines du département auquel appartient le salarié et le service d’assistance sociale appartenant à un département autre que celui du salarié, tout en préservant cette indépendance.
Grâce à l’invention, ces deux différents services peuvent donc récupérer chacun la clé de session qui serait utilisée par ledit salarié et ledit responsable hiérarchique au cours d’une session de communication, par exemple sous la forme d’échanges de messages instantanés (« chat » dans la littérature anglo-saxonne) via un réseau de communication interne de l’entreprise, ce réseau étant géré par l’administrateur réseau de l’entreprise. Ni le salarié et ni le responsable hiérarchique ne pourraient se rendre compte que leurs échanges lors de la session de communication sont écoutés par les entités de récupération. En outre, une entité de récupération ne serait non plus pas en mesure de savoir que l’autre entité de récupération a accès à ces échanges.
Le deuxième exemple d’application fait référence quant à lui à des entités utilisatrices qui sont des utilisateurs physiques légitimes (i.e. ayant un abonnement valide) d’un réseau de communication mobile géré par un opérateur de télécommunications. Dans le cadre de la réglementation actuelle relative à la protection des données desdits utilisateurs (ex : Règlement Général sur la Protection des Données dit « RGPD »), ledit opérateur de télécommunications est dans l’obligation de protéger les communications des utilisateurs d’un attaquant externe mais également de lui-même. L’architecture actuelle des réseaux mobiles ne permet cependant pas de garantir une telle protection dans la mesure où le seul mode de chiffrement envisageable est un mode de chiffrement de liaison (encore dit « link encryption » dans la littérature anglo-saxonne). Autrement dit, chaque nœud intermédiaire dans le réseau de communication chiffre et déchiffre les messages transmis entre utilisateurs, ouvrant ainsi la voie à de potentielles failles de sécurité si par exemple un nœud venait à subir une attaque.
Aussi, l’invention permet avantageusement de fournir une protection beaucoup plus efficace des données des utilisateurs, tout en offrant la possibilité à des entités de récupération habilitées d’avoir accès à une clé de session utilisée par deux utilisateurs. Par « protection beaucoup plus efficace », on fait référence ici à un mode de chiffrement de bout en bout (encore dit « end-to-end » dans la littérature anglo-saxonne) puisque seuls les utilisateurs du réseau ont accès aux messages qu’ils échangent grâce à la clé de session calculée.
A titre purement illustratif pour ce deuxième exemple d’application, on peut considérer le cas où l’opérateur de télécommunication représente donc, au sens de l’invention, l’entité de gestion qui détient le dispositif de gestion E1, et où :
- l’entité d’autorisation correspond à une entité judiciaire, comme par exemple un juge,
- les entités de récupération E3, E4correspondent à des entités de maintien de l’ordre et de la sécurité, comme par exemple deux polices aux compétences d’attribution distinctes de sorte à être indépendantes entre elles.
Lafigure 14représente, sous forme d’ordinogramme, un mode particulier de mise en œuvre du procédé de récupération de la figure 13.
Dans le mode particulier illustré par la figure 13, les différentes signatures cryptographiques σ1, σ2, σ3sont vérifiées. L’objet de ces vérifications de signatures est, comme déjà décrit auparavant, d’authentifier les dispositifs à l’origine des calculs des différentes données et valeurs échangées sur le réseau de communication, et, dans le cas où une authentification n’est pas garantie, permettre l’arrêt dudit procédé de récupération.
Plus particulièrement, le dispositif de gestion E1transmet, avant les calculs des valeurs T2et T3, les signatures σ1, σ2, σ3ainsi que les valeurs A, A1, A2, A3, A4, A5, N1, B, B1, B2, B3, N2, N3au dispositif d’autorisation E2ainsi qu’aux deux dispositifs de récupération E3et E4. Cette transmission est par exemple effectuée en même temps que celle des valeurs D, C3et C4(étape R10).
Ces valeurs A, A1, A2, A3, A4, A5, N1, B, B1, B2, B3, N2, N3sont, comme cela était déjà le cas pour les valeurs D, C3et C4, mémorisées par le dispositif de gestion E1avant leurs transmissions respectives aux différents dispositifs E2, E3et E4.
Le dispositif d’autorisation E2vérifie alors les signatures σ1, σ2, σ3(étape R35) avant le calcul de la valeur T2.
Ledit dispositif de récupération E3vérifie les signatures σ1, σ2, σ3(étape R55) avant le calcul de la valeur T3.
Ledit dispositif de récupération E4vérifie les signatures σ1, σ2, σ3(étape R65) avant le calcul de la valeur T4.
Le procédé de récupération est stoppé dès lors que le nombre de signatures non vérifiées atteint un seuil donné. Par exemple, ce seuil est égal à 1.
L’invention a été décrite jusqu’à présent en considérant que la clé de session était récupérée au cours d’une session de communication entre les dispositifs utilisateurs U1, U2. Il n’en reste pas moins que l’invention reste applicable au cas où la clé de session est récupérée en dehors d’une telle session de communication. A titre d’exemple nullement limitatif, la clé de session peut être récupérée de manière différée sur la base des communications échangées entre les dispositifs utilisateurs U1, U2et enregistrées puis stockées, par exemple dans une base de données.
Par ailleurs, les signatures considérées jusqu’à présent dans l’invention, aussi bien pour le procédé de calcul que pour le procédé de récupération, sont les signatures σ1, σ2, σ3. Cela étant, rien n’exclut qu’une ou plusieurs autres signatures, en sus desdites signatures σ1, σ2, σ3, soient calculées et vérifiées. Par exemple, le dispositif de gestion E1peut calculer, au cours du procédé de calcul et avant la transmission des signatures σ2, σ3au dispositif utilisateur U1, et au moyen de sa clé privé sk{E1}, une signature σ4d’un message M4fonction de pk{U1}, pk{U2}, A, B, D et N4, où N4est une valeur aléatoire. La signature σ4et la valeur N4sont transmises, au cours du procédé de récupération, par le dispositif de gestion E1aux dispositifs de récupération E3, E4, par exemple en même temps que les autres signatures σ1, σ2, σ3. La signature σ4peut dès lors être vérifiée par chacun desdits dispositifs de récupération E3, E4.
L’invention a également été décrite jusqu’à présent en considérant que, lors du procédé de récupération, les deux dispositifs de récupération E3et E4émettent chacun une demande de récupération de la clé de session. Toutefois, l’invention reste applicable au cas où un seul de ces dispositifs de récupération émet une demande de récupération.
En outre, rien n’exclut d’envisager, suivant un exemple particulier de mise en œuvre, que, indépendamment du nombre de demande de récupération émise,
- la valeur C3est également transmise par le dispositif de gestion E1au dispositif de récupération E3,
- la valeur C4est également transmise par le dispositif de gestion E1au dispositif de récupération E4.
De telles dispositions permettent de renforcer la sécurité du procédé de récupération en ce que cela permet d’éviter la détermination de l’origine d’une demande de récupération. En effet, étant donné que chaque dispositif de récupération E3, E4reçoit les deux valeurs C3, C4, il devient impossible de distinguer ces dispositifs de récupération E3, E4entre eux en ce qui concerne leurs demandes de récupération éventuelles.
Enfin, il est à noter que le procédé de récupération a été décrit jusqu’à présent en considérant que les différentes étapes de transmission et de calcul (étapes R10 à R90) sont mises en œuvre alors même que les demandes de récupération par les dispositifs de récupération E3, E4ont été préalablement émises et autorisées. Il n’en reste pas moins que le procédé de récupération selon l’invention couvre également le cas où, selon un mode particulier de mise en œuvre, des étapes d’émission et d’autorisation desdites demandes de récupération et d’autorisation sont incluses dans ledit procédé de récupération.
De manière sensiblement similaire, l’invention couvre également la possibilité selon laquelle la valeur publique W est calculée au cours d’une étape du procédé de calcul de la clé de session. Dans ce cas, le système 10 de calcul comporte également le ou les dispositifs de récupération E3, E4ayant calculé cette valeur publique W.

Claims (17)

  1. Procédé de calcul d’une clé de session pour la sécurisation d’une session de communication entre deux dispositifs utilisateurs U1, U2, ladite session de communication étant mise en œuvre via un réseau de communication géré par au moins un dispositif de gestion E1, la clé de session pouvant faire l’objet d’au moins une demande de récupération autorisée par un dispositif d’autorisation E2et émise par un dispositif de récupération parmi deux dispositifs de récupération E3, E4,
    un dispositif Ej, j allant de 1 à 4, étant associé à une clé publique pk{Ej} ainsi qu’à une clé privée sk{Ej}, pk{Ej} étant égale à gsk{E j }où g est un générateur d’un groupe d’ordre premier p,
    une valeur publique W égale à gsk{E 3 }sk{E 4 }ayant été calculée par au moins un dispositif de récupération E3, E4,
    ledit procédé comportant des étapes de:
    - calcul (F10), par le dispositif utilisateur U1, de valeurs A, A1, A2, A3, A4, A5respectivement égales à gu, pk{E1}u, pk{E2}u, pk{E3}u, pk{E4}u, Wu, et transmises (F20) au dispositif utilisateur U2via le dispositif de gestion E1, u étant une valeur secrète du dispositif U1,
    - calcul (F30), par le dispositif utilisateur U2, de valeurs B, B1, B2, B3, C3, C4, D respectivement égales à gv, pk{E1}v, pk{E2}v, Wv, A3 v, A4 v, Avet transmises au dispositif utilisateur U1via le dispositif de gestion E1qui mémorise au moins C3, C4et D (F40), v étant une valeur secrète du dispositif U2,
    - calcul (F50), par le dispositif utilisateur U1, d’une valeur K1égale à B1α1 ux B2α2 ux B3 (α3 +α4 )u, où αm, m allant de 1 à 4, est une quantité fonction de pk{E1}, pk{E2}, pk{E3}, pk{E4} et d’une donnée associée à αm,
    - calcul (F60), par le dispositif utilisateur U2, d’une valeur K2égale à A1α1 vx A2α2 vx A5 (α3 +α4 )v,
    les valeurs K1et K2correspondant à ladite clé de session.
  2. Procédé selon la revendication 1, dans lequel, suite à la réception de la valeur D en provenance du dispositif utilisateur U2, le dispositif utilisateur U1calcule une valeur D’ égale à Avet vérifie que ladite valeur D’ est égale à ladite valeur D (F45), le procédé de calcul étant stoppé si ladite égalité n’est pas vérifiée.
  3. Procédé selon l’une quelconque des revendications 1 à 2, dans lequelun dispositif utilisateur Ui, i allant de 1 à 2, est associé à une clé publique pk{Ui} ainsi qu’à une clé privée sk{Ui}, et dans lequel :
    - le dispositif utilisateur U1détermine (F15), au moyen de sa clé privée sk{U1}, une signature σ1d’un message (M1) fonction de pk{U1}, pk{U2}, A, A1, A2, A3, A4, A5et N1, où N1est une valeur aléatoire, la signature σ1et la valeur N1étant également transmises au dispositif utilisateur U2via le dispositif de gestion E1,
    - le dispositif utilisateur U2détermine (F35), au moyen de sa clé privée sk{U2}, une signature σ2d’un message (M2) fonction de pk{U1}, pk{U2}, B, D, B1, B2, B3et N2, où N2est une valeur aléatoire, ainsi qu’une signature σ3d’un message (M3) fonction de pk{U1}, pk{U2}, B, D, C3, C4et N3, où N3est une valeur aléatoire, les signatures σ2, σ3et les valeurs N2, N3étant également transmises au dispositif utilisateur U1via le dispositif de gestion E1,
    la signature σ1étant vérifiée (F20) par le dispositif de gestion E1avant sa transmission au dispositif utilisateur U2, ainsi que par ledit dispositif utilisateur U2(F35) après transmission, et
    les signatures σ2et σ3étant vérifiées (F40) par le dispositif de gestion E1avant leurs transmissions respectives au dispositif utilisateur U1, ainsi que par ledit dispositif utilisateur U1(F45_2)après transmission,
    le procédé de calcul étant stoppé dès lors que le nombre de signatures non vérifiées atteint un seuil donné.
  4. Procédé de communication entre deux dispositifs utilisateurs U1, U2au cours d’une session de communication mise en œuvre via un réseau de communication géré par au moins un dispositif de gestion E1, ladite session de communication étant sécurisée au moyen d’une clé de session pouvant faire l’objet d’au moins une demande de récupération autorisée par un dispositif d’autorisation E2et émise par un dispositif de récupération parmi deux dispositifs de récupération E3, E4,
    un dispositif utilisateur Ui, i allant de 1 à 2, étant associé à une clé publique pk{Ui} ainsi qu’à une clé privée sk{Ui},
    un dispositif Ej, j allant de 1 à 4, étant associé à une clé publique pk{Ej} ainsi qu’à une clé privée sk{Ej}, pk{Ej} étant égale à gsk{E j }où g est un générateur d’un groupe d’ordre premier p,
    une valeur publique W égale à gsk{E 3 }sk{E 4 }ayant été calculée par au moins un dispositif de récupération E3, E4,
    ladite clé de session étant calculée conformément à un procédé de calcul selon l’une quelconque des revendications 1 à 2.
  5. Procédé selon la revendication 4, dans lequel un dispositif utilisateur Ui, i allant de 1 à 2, est associé à une clé publique pk{Ui} ainsi qu’à une clé privée sk{Ui}, et dans lequel la clé de session est calculée conformément à un procédé de calcul selon la revendication 3.
  6. Procédé de récupération d’une clé de session au moyen de laquelle une session de communication entre deux dispositifs utilisateurs U1, U2peut être sécurisée, ladite session de communication étant mise en œuvre via un réseau de communication géré par au moins un dispositif de gestion E1, ledit procédé de récupération étant mis en œuvre suite à au moins une demande de récupération de ladite clé de session autorisée par un dispositif d’autorisation E2et émise par un dispositif de récupération parmi deux dispositifs de récupération E3, E4,
    un dispositif Ej, j allant de 1 à 4, étant associé à une clé publique pk{Ej} ainsi qu’à une clé privée sk{Ej}, pk{Ej} étant égale à gsk{E j }où g est un générateur d’un groupe d’ordre premier p,
    une valeur publique W égale à gsk{E 3 }sk{E 4 }ayant été calculée par au moins un dispositif de récupération E3, E4,
    et ladite clé de session étant calculée conformément à un procédé de calcul selon l’une quelconque des revendications 1 à 3,
    ledit procédé de récupération comportant des étapes de:
    - transmission (R10), par le dispositif de gestion E1, de la valeur D au dispositif d’autorisation E2ainsi que de la valeur C4au dispositif de récupération E3si ladite au moins une demande de récupération est émise par ledit dispositif E3et/ou de la valeur C3au dispositif de récupération E4si ladite au moins une demande de récupération est émise par ledit dispositif E4,
    - calcul (R20), par le dispositif de gestion E1, d’une valeur T1égale à Dα1 sk{E 1 }et transmise (R30) audit dispositif de récupération parmi deux dispositifs de récupération E3, E4,
    - calcul (R40), par le dispositif d’autorisation E2, d’une valeur T2égale à Dα2 sk{E 2 }et transmise (R50) audit dispositif de récupération parmi deux dispositifs de récupération E3, E4,
    - calcul (R60, R70), par ledit dispositif de récupération parmi deux dispositifs de récupération E3, E4, d’une valeur T3égale à C4 (α3 +α4 )sk{E 3 }si la demande de récupération est émise par ledit dispositif E3et/ou d’une valeur T4égale à C3 (α3 +α4 )sk{E 4 }si la demande de récupération est émise par ledit dispositif E4,
    - calcul (R80, R90), par ledit dispositif de récupération parmi deux dispositifs de récupération E3, E4, d’une valeur K3égale à T1x T2x T3et/ou d’une valeur K4égale à T1x T2x T4, les valeurs K3et K4correspondant à ladite clé de session récupérée.
  7. Procédé selon la revendication 6, dans lequel, indépendamment du nombre de demande de récupération émise:
    - la valeur C3est également transmise par le dispositif de gestion E1au dispositif de récupération E3,
    - la valeur C4est également transmise par le dispositif de gestion E1au dispositif de récupération E4.
  8. Procédé selon l’une quelconque des revendications 6 à 7, dans lequel ladite clé de session est calculée conformément à un procédé de calcul selon la revendication 3, et dans lequel:
    - le dispositif de gestion E1transmet (R10), avant les calculs des valeurs T2ainsi que T3et/ou T4, les signatures σ1, σ2, σ3ainsi que les valeurs A, A1, A2, A3, A4, A5, N1, B, B1, B2, B3, N2, N3au dispositif d’autorisation E2ainsi qu’au dispositif de récupération parmi deux dispositifs de récupération E3, E4,
    - le dispositif d’autorisation E2vérifie (R35) les signatures σ1, σ2, σ3avant le calcul de la valeur T2,
    - ledit dispositif de récupération parmi deux dispositifs de récupération E3, E4vérifie (R55, R65) les signatures σ1, σ2, σ3avant le calcul de la valeur T3et/ou T4,
    le procédé de récupération étant stoppé dès lors que le nombre de signatures non vérifiées atteint un seuil donné.
  9. Ensemble de programmes d’ordinateur comportant des instructions pour la mise en œuvre d’un procédé de calcul d’une clé de session selon l’une quelconque des revendications 1 à 3 ou d’un procédé de communication selon l’une quelconque des revendications 4 à 5 ou d’un procédé de récupération selon l’une quelconque des revendications 6 à 8 lorsque ledit ensemble de programmes d’ordinateur est exécuté par un ou plusieurs ordinateurs.
  10. Support d’enregistrement lisible par un ordinateur sur lequel est enregistré un ensemble de programmes d’ordinateur selon la revendication 9 ou un programme d’ordinateur appartenant à un ensemble de programmes d’ordinateur selon la revendication 9.
  11. Dispositif utilisateur U1pour le calcul d’une clé de session pour la sécurisation d’une session de communication entre ledit dispositif utilisateur U1et un dispositif utilisateur U2, ladite session de communication étant mise en œuvre via un réseau de communication géré par un dispositif de gestion E1, la clé de session pouvant faire l’objet d’au moins une demande de récupération autorisée par un dispositif d’autorisation E2et émise par un dispositif de récupération parmi deux dispositifs de récupération E3, E4,
    un dispositif Ej, j allant de 1 à 4, étant associé à une clé publique pk{Ej} ainsi qu’à une clé privée sk{Ej}, pk{Ej} étant égale à gsk{E j }où g est un générateur d’un groupe d’ordre premier p,
    ledit dispositif utilisateur U1comportant:
    - un premier module de calcul, configuré pour calculer des valeurs A, A1, A2, A3, A4, A5respectivement égales à gu, pk{E1}u, pk{E2}u, pk{E3}u, pk{E4}u, Wu, u étant une valeur secrète du dispositif U1, et W étant une valeur publique calculée par au moins un dispositif de récupération E3, E4et égale à gsk{E 3 }sk{E 4 },
    - un module de communication, configuré pour transmettre lesdites valeurs A, A1, A2, A3, A4, A5au dispositif utilisateur U2via le dispositif de gestion E1, ledit module de communication étant en outre configuré pour recevoir, en provenance du dispositif utilisateur U2et via le dispositif de gestion E1, des valeurs B, B1, B2, B3, C3, C4, D calculées par ledit dispositif utilisateur U2et respectivement égales à gv, pk{E1}v, pk{E2}v, Wv, A3 v, A4 v, Av, v étant une valeur secrète du dispositif U2,
    - un deuxième module de calcul, configuré pour calculer une valeur K1égale à B1α1 ux B2α2 ux B3 (α3 +α4 )u, où αm, m allant de 1 à 4, est une quantité fonction de pk{E1}, pk{E2}, pk{E3}, pk{E4} et d’une donnée associée à αm.
  12. Dispositif utilisateur U2pour le calcul d’une clé de session pour la sécurisation d’une session de communication entre ledit dispositif utilisateur U2et un dispositif utilisateur U1, ladite session de communication étant mise en œuvre via un réseau de communication géré par un dispositif de gestion E1, la clé de session pouvant faire l’objet d’au moins une demande de récupération autorisée par un dispositif d’autorisation E2et émise par un dispositif de récupération parmi deux dispositifs de récupération E3, E4,
    un dispositif Ej, j allant de 1 à 4, étant associé à une clé publique pk{Ej} ainsi qu’à une clé privée sk{Ej}, pk{Ej} étant égale à gsk{E j }où g est un générateur d’un groupe d’ordre premier p,
    ledit dispositif utilisateur U2comportant:
    - un module de communication, configuré pour recevoir, en provenance du dispositif utilisateur U1et via le dispositif de gestion E1, des valeurs A, A1, A2, A3, A4, A5calculées par le dispositif utilisateur U1et respectivement égales à gu, pk{E1}u, pk{E2}u, pk{E3}u, pk{E4}u, Wu, u étant une valeur secrète du dispositif U1, et W étant une valeur publique calculée par au moins un dispositif de récupération E3, E4et égale à gsk{E 3 }sk{E 4 },
    - un premier module de calcul, configuré pour calculer des valeurs B, B1, B2, B3, C3, C4, D respectivement égales à gv, pk{E1}v, pk{E2}v, Wv, A3 v, A4 v, Av, v étant une valeur secrète du dispositif U2, ledit module de communication étant en outre configuré pour transmettre lesdites valeurs B, B1, B2, B3, C3, C4, D au dispositif U1via l’entité de gestion E1,
    - un deuxième module de calcul, configuré pour calculer une valeur K2égale à A1α1 vx A2α2 vx A5 (α3 +α4 )v, où αm, m allant de 1 à 4, est une quantité fonction de pk{E1}, pk{E2}, pk{E3}, pk{E4} et d’une donnée associée à αm.
  13. Dispositif de gestion E1d’un réseau de communication via lequel est destinée à être mise en œuvre une session de communication entre deux dispositifs utilisateurs U1, U2, ladite session de communication étant sécurisée au moyen d’une clé de session pouvant faire l’objet d’au moins une demande de récupération autorisée par un dispositif d’autorisation E2et émise par un dispositif de récupération parmi deux dispositifs de récupération E3, E4,
    un dispositif Ej, j allant de 1 à 4, étant associé à une clé publique pk{Ej} ainsi qu’à une clé privée sk{Ej}, pk{Ej} étant égale à gsk{E j }où g est un générateur d’un groupe d’ordre premier p,
    ledit dispositif de gestion E1comportantun module de communication, configuré pour transmettre :
    - du dispositif utilisateur U1vers le dispositif utilisateur U2, des valeurs A, A1, A2, A3, A4, A5respectivement égales à gu, pk{E1}u, pk{E2}u, pk{E3}u, pk{E4}u, Wu, u étant une valeur secrète du dispositif U1, et W étant une valeur publique calculée par au moins un dispositif de récupération E3, E4et égale à gsk{E 3 }sk{E 4 },
    - du dispositif utilisateur U2vers le dispositif utilisateur U1, des valeurs B, B1, B2, B3, C3, C4, D respectivement égales à gv, pk{E1}v, pk{E2}v, Wv, A3 v, A4 v, Av, v étant une valeur secrète du dispositif U2,
    et comportant en outre:
    - un module de mémorisation, configuré pour mémoriser au moins C3, C4, D,
    - un module de calcul, configuré pour calculer une valeur T1égale à Dα1 sk{E 1 }, où α1est un hachage d’une quantité fonction de pk{E1}, pk{E2}, pk{E3}, pk{E4} et d’une donnée associée à α1,
    ledit module de communication étant en outre configuré pour transmettre:
    - la valeur D au dispositif d’autorisation E2,
    - la valeur C4au dispositif E3si ladite au moins une demande de récupération est émise par ledit dispositif E3et/ou la valeur C3au dispositif E4si ladite au moins une demande de récupération est émise par ledit dispositif E4,
    - la valeur T1audit dispositif de récupération parmi deux dispositifs de récupération E3, E4.
  14. Dispositif d’autorisation E2pour autoriser au moins une demande de récupération d’une clé de session pour la sécurisation d’une session de communication entre deux dispositifs utilisateurs U1, U2, ladite session de communication étant mise en œuvre via un réseau de communication géré par un dispositif de gestion E1et ladite au moins une demande de récupération étant émise par un dispositif de récupération parmi deux dispositifs de récupération E3, E4,
    un dispositif Ej, j allant de 1 à 4, étant associé à une clé publique pk{Ej} ainsi qu’à une clé privée sk{Ej}, pk{Ej} étant égale à gsk{E j }où g est un générateur d’un groupe d’ordre premier p,
    ledit dispositif d’autorisation E2comportantun module de communication, configuré pour:
    - émettre, à destination dudit au moins un dispositif de récupération parmi deux dispositifs de récupération E3, E4, une autorisation de ladite au moins demande de récupération,
    - recevoir, en provenance du dispositif de gestion E1, une valeur D mémorisée par ledit dispositif de gestion E1et égale à Av, A étant égale à gu, u et v étant des valeurs secrètes respectives des dispositifs utilisateurs U1et U2,
    et comprenant en outre un module de calcul, configuré pour calculer une valeur T2égale à Dα2 sk{E 2 }, où α2est un hachage d’une quantité fonction de pk{E1}, pk{E2}, pk{E3}, pk{E4} et d’une donnée associée à α2,
    ledit module de communication étant en outre configuré pour transmettre ladite valeur T2audit dispositif de récupération parmi deux dispositifs de récupération E3, E4.
  15. Dispositif de récupération E3, E4apte à émettre une demande de récupération d’une clé de session pour la sécurisation d’une session de communication entre deux dispositifs utilisateurs U1, U2, ladite session de communication étant mise en œuvre via un réseau de communication géré par un dispositif de gestion E1et ladite au moins une demande de récupération étant autorisée par un dispositif d’autorisation E2,
    un dispositif Ej, j allant de 1 à 4, étant associé à une clé publique pk{Ej} ainsi qu’à une clé privée sk{Ej}, pk{Ej} étant égale à gsk{E j }où g est un générateur d’un groupe d’ordre premier p,
    ledit dispositif de récupération E3, E4comportant un module de communication configuré pour:
    - émettre une demande de récupération de la clé de session,
    - recevoir, en provenance du dispositif de gestion E1, une valeur T1égale à Dα1 sk{E 1 }, où α1est un hachage d’une quantité fonction de pk{E1}, pk{E2}, pk{E3}, pk{E4} et d’une donnée associée à α1, ainsi qu’une valeur C3égale à A3 vou une valeur C4égale à A4 v, A3étant égale à pk{E3}uet A4étant égale à pk{E4}u, u et v étant des valeurs secrètes respectives des dispositifs utilisateurs U1et U2,
    - recevoir, en provenance du dispositif d’autorisation E2, une valeur T2égale à Dα2 sk{E 2 }, où α2est un hachage d’une quantité fonction de pk{E1}, pk{E2}, pk{E3}, pk{E4} et d’une donnée associée à α2,
    ledit dispositif de récupération E3, E4comportant en outre:
    - un premier module de calcul, configuré pour calculer une valeur publique W égale à gsk{E 3 }sk{E 4 },
    - un deuxième module de calcul, configuré pour calculer une valeur T3égale à C4 (α3 +α4 )sk{E 3 }si la valeur reçue en provenance du dispositif de gestion E1parmi les valeurs C3et C4est ladite valeur C4ou une valeur T4égale à C3 (α3 +α4 )sk{E 4 }si la valeur reçue en provenance du dispositif de gestion E1parmi les valeurs C3et C4est ladite valeur C3,
    - un troisième module de calcul, configuré pour calculer une valeur K3égale à T1x T2x T3ou une valeur K4égale à T1x T2x T4.
  16. Système de calcul d’une clé de session, ledit système comportant dispositif utilisateur U1selon la revendication 11, un dispositif utilisateur U2selon la revendication 12 ainsi qu’un dispositif de gestion E1selon la revendication 13.
  17. Système pour la récupération d’une clé de session calculée par un dispositif utilisateur U1selon la revendication 11 et également calculée par un dispositif utilisateur U2selon la revendication 12, ledit système comportant un dispositif de gestion E1selon la revendication 13, un dispositif d’autorisation E2selon la revendication 14 et deux dispositifs de récupération E3, E4selon la revendication 15.
FR2001666A 2020-02-19 2020-02-19 Procédé de calcul d’une clé de session, procédé de récupération d’une telle clé de session Pending FR3107414A1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR2001666A FR3107414A1 (fr) 2020-02-19 2020-02-19 Procédé de calcul d’une clé de session, procédé de récupération d’une telle clé de session
PCT/FR2021/050300 WO2021165625A1 (fr) 2020-02-19 2021-02-19 Procede de calcul d'une cle de session, procede de recuperation d'une telle cle de session

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2001666A FR3107414A1 (fr) 2020-02-19 2020-02-19 Procédé de calcul d’une clé de session, procédé de récupération d’une telle clé de session
FR2001666 2020-02-19

Publications (1)

Publication Number Publication Date
FR3107414A1 true FR3107414A1 (fr) 2021-08-20

Family

ID=71094473

Family Applications (1)

Application Number Title Priority Date Filing Date
FR2001666A Pending FR3107414A1 (fr) 2020-02-19 2020-02-19 Procédé de calcul d’une clé de session, procédé de récupération d’une telle clé de session

Country Status (2)

Country Link
FR (1) FR3107414A1 (fr)
WO (1) WO2021165625A1 (fr)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5841865A (en) * 1994-01-13 1998-11-24 Certco Llc Enhanced cryptographic system and method with key escrow feature
US5937066A (en) * 1996-10-02 1999-08-10 International Business Machines Corporation Two-phase cryptographic key recovery system
US6842523B1 (en) * 1998-11-25 2005-01-11 Kabushiki Kaisha Toshiba Encryption apparatus, cryptographic communication system, key recovery system, and storage medium

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5907618A (en) * 1997-01-03 1999-05-25 International Business Machines Corporation Method and apparatus for verifiably providing key recovery information in a cryptographic system
US6249585B1 (en) * 1998-04-08 2001-06-19 Network Associates, Inc Publicly verifiable key recovery
DE19946127A1 (de) * 1999-09-20 2001-04-12 Deutsche Telekom Ag Verfahren zur Entschlüsselung von mit einem hybriden Verschlüsselungsverfahren verschlüsselten Dokumenten nach Verlust des privaten kryptografischen Schlüssels

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5841865A (en) * 1994-01-13 1998-11-24 Certco Llc Enhanced cryptographic system and method with key escrow feature
US5937066A (en) * 1996-10-02 1999-08-10 International Business Machines Corporation Two-phase cryptographic key recovery system
US6842523B1 (en) * 1998-11-25 2005-01-11 Kabushiki Kaisha Toshiba Encryption apparatus, cryptographic communication system, key recovery system, and storage medium

Also Published As

Publication number Publication date
WO2021165625A1 (fr) 2021-08-26

Similar Documents

Publication Publication Date Title
EP3568794B1 (fr) Procédés et systèmes pour l'exécution de contrats intelligents dans des environnements sécurisés
EP2819052B1 (fr) Procédé et serveur de traitement d'une requête d'accès d'un terminal à une ressource informatique
EP3078155B1 (fr) Procédé de mise a jour d'une arborescence de fichiers mémorisée sur un serveur de stockage
EP1829280A2 (fr) PROCEDE D'AUTHENTIFICATION SECURISEE POUR LA MISE EN ŒUVRE DE SERVICES SUR UN RESEAU DE TRANSMISSION DE DONNEES
FR2926938A1 (fr) Procede d'authentification et de signature d'un utilisateur aupres d'un service applicatif, utilisant un telephone mobile comme second facteur en complement et independamment d'un premier facteur
EP1514377A1 (fr) Procede et dispositif d'interface pour echanger de maniere protegee des donnees de contenu en ligne
EP1949590A1 (fr) Procede de depot securise de donnees numeriques, procede associe de recuperation de donnees numeriques, dispositifs associes pour la mise en uvre des procedes, et systeme comprenant les dits dispositifs
WO2019115943A1 (fr) Technique de protection d'une clé cryptographique au moyen d'un mot de passe utilisateur
EP3799350A1 (fr) Procédé de cryptage
EP3732849B1 (fr) Procédé et système d'identification de terminal d'utilisateur pour la réception de contenus multimédia protégés et fournis en continu
FR3062499A1 (fr) Procede de reduction de la taille d'une base de donnees repartie de type chaine de blocs, dispositif et programme correspondant
EP3568964B1 (fr) Procédé de transmission d'une information numérique chiffrée de bout en bout et système mettant en oeuvre ce procédé
WO2019228853A1 (fr) Methode d'etablissement de cles pour le controle d'acces a un service ou une ressource
FR3107414A1 (fr) Procédé de calcul d’une clé de session, procédé de récupération d’une telle clé de session
EP4012972A1 (fr) Méthode de divulgation sélective de données via une chaine de blocs
FR3113800A1 (fr) Echange de données entre un client et un dispositif distant, par exemple un module sécurisé
WO2020065185A1 (fr) Procédé cryptographique de comparaison sécurisée de deux données secrètes x et y
FR3103591A1 (fr) Procédé sécurisé d’échange de données entre un terminal et un serveur
WO2023062095A1 (fr) Procédé et dispositif de transfert d'une communication d'une station de base à une autre
WO2021074527A1 (fr) Procede de gestion d'une base de donnees de cles publiques, procede d'authentification de cles publiques, et dispositifs serveur et client mettant en oeuvre ces procedes
EP3340096B1 (fr) Procédé de configuration d'un programme cryptographique destiné à être exécuté par un terminal
EP3917073A1 (fr) Établissement efficace de sessions sécurisées pour l'anonymat dans les réseaux 5g
WO2007138229A2 (fr) Procede d'acces securise a une ressource cryptee
WO2016156737A1 (fr) Procede d'obtention d'une liste d'au moins une donnee sensible
FR2763192A1 (fr) Procede de recuperation de cles mis en oeuvre pour un chiffrement fort de message

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20210820

RX Complete rejection

Effective date: 20220524