Come creare una firma ad anello?

2

Durante la lettura del documento Off-the-Record-Messaging di Nikita Borisov, Ian Goldberg e Eric Brewer, mi sono imbattuto nell'idea di "ring signature" che permettano a un membro di un gruppo di firmare un messaggio nel nome del l'intero gruppo. Una terza parte non ha quindi modo di sapere chi l'ha firmata, tranne per il fatto che qualcuno di quel gruppo ha fatto.

Mi chiedevo se esistesse già un'implementazione di questo su Internet o se potessi usare anche strumenti standard come GPG per creare una firma ad anello.

    
posta comfreak 08.07.2016 - 00:35
fonte

1 risposta

1

Le firme ad anello richiederebbero la modifica dello standard OpenPGP e delle sue implementazioni, quindi non sarai in grado di usarle rimanendo compatibile. In effetti, c'era un propsal nel 2014 sulla mailing list IETF di OpenPGP , ma non sono riuscito a trovare ulteriori follow-up verso un RFC.

Per ottenere un effetto simile senza le squilli (e lo sforzo di creare un gruppo), OpenPGP conosce già il concetto di "chiavi di gruppo", alla fine si riduce all'impostazione di una bandiera chiave che indica che la chiave è condivisa tra un gruppo. Da RFC 4880 :

5.2.3.21.  Key Flags

   (N octets of flags)

   This subpacket contains a list of binary flags that hold information
   about a key.  It is a string of octets, and an implementation MUST
   NOT assume a fixed size.  This is so it can grow over time.  If a
   list is shorter than an implementation expects, the unstated flags
   are considered to be zero.  The defined flags are as follows:

[...]

       0x80 - The private component of this key may be in the
              possession of more than one person.

Non sono a conoscenza se questo flag può essere impostato senza manipolare il codice sorgente di GnuPG e compilare GnuPG da solo.

Condividendo la chiave, l'utente non sarà in grado di determinare chi ha firmato un messaggio. Firmando tutte le chiavi dei membri del gruppo con la chiave di gruppo, puoi pubblicare l'elenco dei possibili firmatari.

Non condividere la chiave primaria ma le sottochiavi se si vuole essere in grado di depositare le chiavi più facilmente (quindi se qualcuno lascia il gruppo, tutte le certificazioni da e sulla chiave rimangono invariate, ma è possibile revocare la vecchia sottochiave e solo distribuire una nuova sottochiave di firma a tutti). Puoi anche impedire al resto del gruppo di rilasciare certificazioni o generare / revocare nuove sottochiavi per loro allo stesso tempo.

    
risposta data 09.07.2016 - 13:07
fonte

Leggi altre domande sui tag