AccueilđŸ‡«đŸ‡·Chercher

Signature de cercle

La signature de cercle (en anglais : Ring signature), aussi appelĂ© signature d’anneau, est un procĂ©dĂ© cryptographique permettant Ă  une personne de signer Ă©lectroniquement de façon anonyme un message ou un document au nom d’un « cercle ». Les membres de ce cercle sont choisis par l’auteur de la signature et ne sont pas nĂ©cessairement informĂ©s de leur implication dans la crĂ©ation de la signature Ă©lectronique. La seule contrainte est qu’ils doivent tous avoir une clef cryptographique publique.

La signature de cercle a donnĂ© lieu Ă  un dĂ©rivĂ©: la signature de cercle Ă  seuil, oĂč la signature est initiĂ©e par un nombre prĂ©dĂ©fini de membres du cercle.

Principe

Comme l'indique le titre de l'article oĂč elle est dĂ©crite pour la premiĂšre fois, How to Leak a Secret[1], le but premier de cette signature est de permettre la fuite d'information.

Dans cet article est donné l'exemple d'un membre d'un cabinet ministériel voulant donner à un journaliste des informations sur le premier ministre. Il ne désire évidemment pas divulguer son identité, mais souhaite que le journaliste sache que la fuite vient du cabinet et non pas d'un plaisantin. La signature de cercle lui permet ainsi de signer en tant que membre du cabinet ministériel, et non en tant qu'individu, sans que ses collÚgues soient au courant, ni que quiconque puisse remonter à lui, contrairement à la signature de groupe qui impose une coopération des membres inclus dans la signature et la possibilité pour une personne déterminée à l'initialisation de connaßtre l'identité du signataire.

Une autre utilisation proposĂ©e dans cet article est celle permettant de gĂ©nĂ©rer une signature qui n'aura de valeur que pour le destinataire. Ainsi la source envoie un document signĂ© Ă  l'aide d'une signature de cercle comprenant sa clef et celle du destinataire. Ce dernier, sachant qu'il ne l'a pas produit, a donc la preuve que le message provient bien de la source. Mais s'il montre le document Ă  un tiers, ce dernier ne peut pas ĂȘtre sĂ»r que le message n'est pas un faux, crĂ©Ă© par le destinataire.

DĂ©finition

Une signature d’anneau[2] est dĂ©finie comme Ă©tant la donnĂ©e de quatre algorithmes, certains similaires Ă  ceux d’une signature numĂ©rique: (Init, GĂ©n, Signer, VĂ©rifier). Ceux-ci fonctionnent de la maniĂšre suivante :

  • L'initialisation Init prend en entrĂ©e un paramĂštre de sĂ©curitĂ© et renvoie une chaĂźne de rĂ©fĂ©rence commune ρ.
  • La gĂ©nĂ©ration de clefs GĂ©n, qui est lancĂ©e par l'utilisateur, prend en entrĂ©e la chaĂźne de rĂ©fĂ©rence commune, et renvoie un couple de clefs : une clef de vĂ©rification vk, et une clef de signature sk.
  • La signature Signer prend en entrĂ©e la clef de signature sk, la chaĂźne de rĂ©fĂ©rence commune, le message Ă  signer, un ensemble R de clefs de vĂ©rification telle que celle associĂ©e Ă  la clef de signature sk y appartient. Et cet algorithme renvoie une signature σ.
  • La vĂ©rification VĂ©rifier prend en entrĂ©e la chaĂźne de rĂ©fĂ©rence commune, un ensemble R de clefs de vĂ©rifications, un message M et une signature σ, et renvoie accepte ou rejette.

Ces algorithmes vont de pair avec des notions de sĂ©curitĂ© associĂ©s, qui sont la correction de la signature, qui spĂ©cifie que si une signature est honnĂȘtement gĂ©nĂ©rĂ©e, alors elle sera toujours acceptĂ©e. La non-falsifiabilitĂ©, qui requiert que sans possĂ©der de clefs privĂ©e associĂ©e Ă  un des Ă©lĂ©ments de l'ensemble R, il est impossible de concevoir une signature valide, et l’anonymat, qui dit qu'il est impossible de lier une signature Ă  son signataire.

Le schéma de Rivest, Shamir et Tauman

Fonctionnement de la signature de cercle
Schéma explicatif du fonctionnement de la signature d'anneau.

Dans cette partie, une description du schéma proposé par Rivest, Shamir et Tauman[1] est donnée.

Dans ce schĂ©ma, l'utilisateur gĂ©nĂšre une signature σ pour le message M Ă  signer, un alĂ©a v, son couple clef privĂ©e/publique et les clefs publiques des autres membres du cercle R = (pki)i ∈ [1;n]. De plus ce schĂ©ma dĂ©pend d’un schĂ©ma de chiffrement (Enc, Dec).

Les utilisateurs peuvent ainsi vĂ©rifier cette signature Ă  l'aide de σ, M, v et de l'ensemble des clefs publiques impliquĂ©es dans le processus de crĂ©ation.

Signature

Le signataire gĂ©nĂšre un hachĂ© σ du message M et choisit ensuite un nonce v0. Pour chaque clef publique pki ∈ R autre que la sienne, le signataire choisit une valeur xi alĂ©atoirement, la chiffre avec la clef publique pki et effectue une disjonction exclusive du rĂ©sultat avec la valeur v avant d'appliquer une permutation symĂ©trique Eσ au rĂ©sultat, ce qui donnera une nouvelle valeur « vi ».

Ce qui donne itĂ©rativement : vi := Eσ (Encpki(xi) ⊕ vi-1)

On recommence la manipulation avec les autres clefs publiques.

À la fin, on se retrouve avec une valeur v = vn. On recherche alors la valeur y qui, mise en ou exclusif avec le v trouvĂ© et permutĂ© avec Eσ, permet de retrouver v0. Autrement dit v0 = Eσ(y ⊕ v). On utilise enfin la clef privĂ©e pour retrouver l'antĂ©cĂ©dent de y par le chiffrement, c'est-Ă -dire x = Decsk(y).

Finalement la signature renvoyée sera Σ = (v, (xi)i)

VĂ©rification

Le destinataire refait les calculs vi = Eσ (f (xi) ⊕ vi+1) pour toutes les clefs publiques de la signature et vĂ©rifie qu'il retrouve bien le v original Ă  la fin.

La taille de la signature est linéaire en N, qui correspond à la taille du cercle, car il faut spécifier les aléas xi utilisées par chaque participants.

Preuve de concept

Ci-suit une preuve de concept implantée en Python ou Python3 du papier original, utilisant RSA comme cryptosystÚme asymétrique. Le cercle contient quatre membres.

Autres Schémas

Par la suite, d'autres schĂ©mas ont Ă©tĂ© conçus, dont celui de Dodis, Kiayias, Nicolosi et Shoup[3], qui propose un schĂ©ma Ă  signatures de taille constante en le nombre d'utilisateurs en utilisant des accumulateurs et le schĂ©ma d'authentification de Fiat-Shamir. Une autre version, dans le modĂšle standard, possĂ©dant une taille qui croĂźt comme la racine carrĂ©e du nombre d'utilisateurs (O(√N)) a Ă©tĂ© proposĂ©e par Chandran, Groth et Sahai[4].

Cryptomonnaies

La technologie Cryptonote[5] utilise des signatures de cercles. Celle-ci est utilisée dans des crypto-monnaies comme Monero, Bytecoin ou DarkNote.

Le principe de signature d’anneau a Ă©galement Ă©tĂ© portĂ©e sur ShadowCash[6], une crypto-monnaie inspirĂ©e de Bitcoin.

Notes et références

Bibliographie

  • [Bender, Katz et Morselli 2006] (en) Adam Bender, Jonathan Katz et Ruggero Morselli, « Ring signatures: Stronger definitions, and constructions without random oracles », TCC,‎ , p. 60−79
  • [Chandran, Groth et Sahai 2007] (en) Nishanth Chandran, Jens Groth et Amit Sahai, « Ring signatures of sub-linear size without random oracles », Automata, Languages, Programming,‎
  • [Dodis, Kiayias, Nicolosi et Shoup 2004] (en) Yevgeniy Dodis, Aggelos Kiayias, Antonio Nicolosi et Victor Shoup, « Anonymous Identification in ad-hoc Groups », Eurocrypt, lNCS, vol. 3027,‎
  • [Rivest, Shamir et Tauman 2001] (en) Ronald Rivest, Adi Shamir et Yael Tauman, « How to Leak a Secret », Asiacrypt, lNCS,‎ , p. 552−565 (lire en ligne [PDF])
  • (en) Rynomster et Tecnovert, « Shadow: Zero-knowledge Anonymous Distributed Electronic Cash via Traceable Ring Signatures » [PDF]

Liens externes

  • Pierre-Louis Cayrel, Optimisation des cryptosystĂšmes basĂ©s sur les codes correcteurs d’erreurs (ThĂšse de Doctorat) (lire en ligne), chap. 6 (« signature de cercle Ă  seuil, prĂ©sentation de la signature de cercle »).
Cet article est issu de wikipedia. Text licence: CC BY-SA 4.0, Des conditions supplĂ©mentaires peuvent s’appliquer aux fichiers multimĂ©dias.