Autenticazione Privata SPID con ZK Proof

Mi sono imbattuto questa mattina in un articolo del corriere riguardo ai sistemi di verifica dell’eta per limitare l’accesso ai siti porno.

Come giustamente l’articolo sottolinea “Per assicurarsi che l’utente che entra sul sito sia davvero maggiorenne, serve dare alla piattaforma dei dati personali e dei documenti ufficiali, come la propria carta d’identità digitale o attraverso l’uso dello Spid. Il rischio per la privacy è dunque importante, anche perché per questi siti sarebbe necessario affidarsi ad aziende terze che dialogano con il sistema digitale dello stato oppure che raccolgano informazioni in altri modi”.

La zero knowledge proof e’ una tecnica crittografica che permette di provare la veridicitá di un programma computazione senza rivelarne (o rivelandone solo in parte) gli input. In questa presentazione spiego meglio il concetto.

In questo caso l’input della computazione sarebbe il certificato relativo alla data di nascita di un utente firmato dall’attribute authority. La computazione verifica che, in base alla data di nascita, l’utente sia effettivamente maggiorenne e che il certificato sia stato firmato dalla attribute authority competente.

Il risultato e’ una proof che dimostra al Service Provider che l’utente e maggiorenne, senza rivelarne alcuna informazione, come la data di nascita o l’identitá.

Per quanto riguardo l’aspetto legato a questa tecnica crittografica, so esattamente come implementarla in quanto mi occupo di questo per lavoro. Qui il mio profilo GitHub.

Sto cercando qualcuno che abbia maggiore praticita’ con lo standard spid e mi possa aiutare ad implementare questa idea.

Per legge, se hai una identità digitale SPID, l’IDP ha già verificato, prima di generarla,che tu sia maggiorenne.

Dal punto di vista tecnico, in SAML si può eseguire una identificazione anonima creando nel metadata un AssertionConsumingService vuoto, cosicchè l’IDP risponda con una Response priva di attributi dell’utente (questa cosa credo al momento violi le regole tecniche SPID, che prevede l’inserimento di almeno il codice fiscale negli AssertionConsumingService).

In ogni caso, la tematica da te citata è stata discussa anche in altri thread in questo forum.