AccueilđŸ‡«đŸ‡·Chercher

Signature de groupe

La signature de groupe est une primitive cryptographique analogue Ă  la signature numĂ©rique, en ce sens oĂč elle vise Ă  permettre Ă  un utilisateur de signer un message au nom d’un groupe, en restant anonyme au sein de ce groupe. C’est-Ă -dire qu’une personne voyant la signature peut vĂ©rifier avec la clef publique que le message ait bien Ă©tĂ© Ă©mis par un membre du groupe, mais ne peut pas savoir lequel. En parallĂšle, les utilisateurs ne peuvent pas abuser de cet anonymat puisqu'une autoritĂ© est capable de lever l'anonymat des utilisateurs (malveillants) en utilisant une information secrĂšte.

Pour illustrer le concept, on peut considĂ©rer un espace de commentaires anonyme, oĂč les utilisateurs (disposant d'une clef privĂ©e) pourraient poster des messages. La prĂ©sence d’une signature vĂ©rifiable sur les messages permet de contrĂŽler si les messages ont bien Ă©tĂ© postĂ©s par une personne autorisĂ©e Ă  le faire. L’anonymat permet de son cĂŽtĂ© d’assurer la protection de la vie privĂ©e des utilisateurs.
En revanche, en cas d’abus, si quelqu’un poste un message hors-charte par exemple, alors un administrateur possĂ©dant une information secrĂšte est capable de lever l’anonymat de l’utilisateur ayant postĂ© le message frauduleux, et pourra prendre les mesures qui s’imposent (comme rĂ©voquer l'utilisateur).

Un avantage des signatures de groupes par rapport à l'utilisation des signatures numériques classiques est le fait qu'il n'y a qu'une seule clef publique à stocker pour l'ensemble du groupe au lieu de devoir avoir connaissance de toutes les clefs publiques différentes qui pourraient mener à une attaque de l'homme du milieu.

Historique

La signature de groupe a Ă©tĂ© introduite en 1991 par Chaum et van Heyst[1] oĂč les notions d’anonymat et de traçabilitĂ© ont Ă©tĂ© dĂ©finies pour dĂ©crire la sĂ©curitĂ© du protocole. À partir de cet instant, de nombreux protocoles ont Ă©tĂ© introduits, rajoutant sur ce modĂšle des notions comme la non-falsifiabilitĂ© analogue Ă  celle des signatures numĂ©rique, mais aussi des notions plus spĂ©cifiques comme la dĂ©nonciation[2].

Il a fallu attendre Bellare, Micciancio et Warinschi[3] pour proposer un modĂšle formel plus Ă©purĂ© qui est utilisĂ© aujourd'hui comme le modĂšle formel dans lequel travailler pour la signature de groupe. Les notions de sĂ©curitĂ© ont Ă©tĂ© rĂ©sumĂ©es en deux notions en plus de la correction : la traçabilitĂ© totale, et l'anonymat total.

DĂ©finition

Une signature de groupe est un ensemble de quatre algorithmes efficaces : l’initialisation, la signature, la vĂ©rification et l'ouverture, dĂ©crits comme suit.

  • L’initialisation prend en entrĂ©e un paramĂštre de sĂ©curitĂ© λ et la taille du groupe N et renvoie une clef publique pour le groupe gpk, un vecteur de clefs secrĂštes gsk oĂč correspond Ă  la clef privĂ©e de l'utilisateur d et une clef d'ouverture ok.
  • La signature, qui prend en entrĂ©e une clef secrĂšte , un message m et renvoie une signature σ.
  • La vĂ©rification, qui prend en entrĂ©e la clef publique du groupe gpk, un message m et une signature σ et qui renvoie un boolĂ©en.
  • L’ouverture, qui prend en entrĂ©e la clef privĂ©e d’ouverture ok, un message m et une signature σ et qui renvoie une identitĂ© d ou un message d'erreur « ⊄ ».

La correction d'une signature de groupe traduit le fait que la vĂ©rification d’un message signĂ© par des parties faisant tourner honnĂȘtement les diffĂ©rents algorithmes renverra vrai :

Sécurité

Comme précisé dans l'historique, la sécurité d'un schéma de signature de groupe se résume au travers de deux notions: l'anonymat total, et la traçabilité totale.

Anonymat

L'anonymat traduit le fait que si on ne possĂšde pas la clef d'ouverture ok, alors il devient trĂšs difficile de lever l'anonymat des utilisateurs.

Autrement dit, étant donné deux identités et un message m. En ayant accÚs aux clefs privées des utilisateurs, à la clef publique du groupe, et en ayant accÚs à un oracle de déchiffrement, il est impossible de distinguer en temps polynomial avec probabilité non négligeable de .

Traçabilité

La traçabilitĂ© quant Ă  elle traduit la sĂ©curitĂ© du systĂšme vis-Ă -vis des utilisateurs malhonnĂȘtes. En d'autres termes, elle traduit le fait qu’un utilisateur ne pourra pas « falsifier (en) » une signature valide σ qui ouvrira sur un utilisateur honnĂȘte, ou dĂ©coulera sur un Ă©chec.

Extensions

La signature de groupe possĂšde diffĂ©rentes variantes et extensions. On peut noter par exemple l'ajout de fonctionnalitĂ©s comme la rĂ©vocation[4], ou encore l’ouverture dĂ©pendante des messageset_al.''_2012_5-0">[5], qui vise Ă  limiter la puissance de l'autoritĂ© d'ouverture en rajoutant une autre autoritĂ© capable de dĂ©livrer un jeton, qui couplĂ© Ă  la clef d'ouverture ok permet de lever l’anonymat des signatures sur les messages ciblĂ©es par le jeton.

Construction générique

Pour appuyer leur modĂšle, Bellare, Micciancio et Warinschi[3] ont proposĂ© une construction gĂ©nĂ©rique reposant sur des primitives plus bas niveau. Ils ont ainsi prouvĂ© qu’avec un schĂ©ma de chiffrement IND-CCA, une signature numĂ©rique non-falsifiable sous des attaques Ă  message choisis et une preuve Ă  divulgation nulle de connaissance permettant la preuve de possession d’un couple message-signature, il est possible de construire un schĂ©ma de signature de groupe. Cette construction est la suivante:

  • Initialisation(1λ, N):
    • GĂ©nĂšre les paires de clefs (skE, pkE), (skS, vkS) pour le chiffrement et la signature respectivement, choisis pour ĂȘtre sĂ»rs pour le paramĂštre de sĂ©curitĂ© λ.
    • Pour chaque utilisateur , calculer une signature pour cette identitĂ© et en faire la clef secrĂšte de l’utilisateur d :
    • Finalement renvoyer , et .
  • Signature(gpk, gsk[d], d, M):
    • L’utilisateur commence par chiffrer son identitĂ© d: .
    • L’utilisateur prouve ensuite la possession d’un couple message-signature, pour le message sous le chiffrĂ© C, ce qui donne la preuve π. Le message est inclus dans la preuve.
    • La signature est ainsi .
  • VĂ©rification(gpk, M, σ):
    • Pour vĂ©rifier la signature, l’utilisateur commence par lire σ comme Ă©tant (C, π).
    • La signature est acceptĂ©e si et seulement si la preuve est vĂ©rifiĂ©e.
  • Ouverture(gpk, ok, M, σ):
    • Si la vĂ©rification ne passe pas, alors l’algorithme retourne le symbole d'erreur ⊄.
    • Sinon l’algorithme dĂ©chiffre C pour obtenir d’, et vĂ©rifie que d’ est bien dans . Si ce n’est pas le cas, l'algorithme renvoie un symbole d’erreur. Sinon il renvoie d’.

Sécurité

L’anonymat est garanti par le fait que le chiffrement de l’identitĂ© C est chiffrĂ© par un schĂ©ma indistinguable sous des attaques Ă  chiffrĂ©s choisis.

La traçabilité quant à elle vient de la robustesse (soundness) de la preuve à connaissances nulles.

Notes et références

Références

Annexes

Bibliographie

  • [Ateniese et al. 2000] (en) Guiseppe Ateniese et Gene Tsudik, « Some open issues and new directions in group signatures », LNCS, vol. 1648,‎ , p. 196–211 (lire en ligne [ps]).
  • [Bellare, Micciancio et Warinschi 2003] (en) Mihir Bellare, Daniele Micciancio et Bogdan Warinschi, « Foundations of Group Signatures : Formal Definition, Simplified Requirements and a Construction Based on General Assumptions », Eurocrypt 2003, Lecture Notes in Computer Science, vol. 2656,‎ , p. 614–629 (lire en ligne [PDF]) ;
  • [Boneh et Shacham 2004] (en) Dan Boneh et Hovay Shacham, « Group signatures with verifier-local revocation », CCS, ACM,‎ , p. 168–177 (DOI 10.1145/1030083.1030106, lire en ligne)
  • [Chaum et van Heyst 1991] (en) David Chaum et EugĂšne van Heyst, « Group Signatures », Eurocrypt, vol. 547,‎ , p. 257–265 (lire en ligne) ;
  • [Sakai et al. 2012] (en) Yusuke Sakai, Keita Emura, Goichiro Hanaoka, Yutaka Kawai, Takahiro Matsuda et Kazumasa Omote, « Group Signatures with Message-Dependent Opening », Pairing, lNCS,‎ , p. 270–294 (DOI 10.1007/978-3-642-36334-4_18, lire en ligne)

Articles connexes

Cet article est issu de wikipedia. Text licence: CC BY-SA 4.0, Des conditions supplĂ©mentaires peuvent s’appliquer aux fichiers multimĂ©dias.