Internet computer wiki

Cosa è l’Internet Identity

Cosa è l’Internet Identity

Per poter accedere ed interagire con le dApp del protocollo Internet Computer, è spesso richiesta agli utenti l’autenticazione. Uno dei metodi più usati per autenticarsi nel protocollo ICP è attraverso l’Internet Identity.

L’Internet Identity (II) (https://identity.ic0.app/) è una struttura di autenticazione su blockchain supportata da Internet Computer. Gli utenti iniziano il processo creando degli “Identity anchor” ai quali possono assegnare vari tipi di dispositivi che permettano la crittografia, per esempio: il lettore impronte del laptop , il sistema face ID degli smartphones o anche un hardware apposito come la YubiKey o il Ledger. Dopo aver assegnato uno o più dispositivi, gli utenti possono utilizzarli per autenticarsi e registrarsi alle varie Dapps del protocollo ICP.

Questo permette un’esperienza utente molto intuitiva e senza barriere all’ingresso, permettendo comunque un alto livello di sicurezza e senza la necessità, per l’utente, di dover gestire direttamente le chiavi crittografiche.

Questo sistema offre una elevata privacy assicurandosi che, ogni volta che un “identity anchor” è usato per interagire con una Dapp, essa vede solo lo pseudonimo generato appositamente per lei, ciò impedisce alle Dapp di tracciare gli utenti durante l’utilizzo dell’ecosistema.

Un utente può creare quanti Identity Anchors desidera.

Come funziona la tecnologia

Le Internet Identity costruite con l’API Web Authentication sono supportate dai moderni browser e sistemi operativi e la “chain key cryptography” è il motore del protocollo ICP.
 
Essenzialmente, Internet Computer firma la lista delle chiavi pubbliche dentro i dispositivi assegnati ad ogni identity anchor usando la sua “master chain key”, della quale il codice lato client è a conoscenza.
 
Le Dapp integrate nel protocollo ICP invitano l’utente ad autenticarsi usando un indentity anchor, se ancora non è stato creato, occorrerà crearne uno ed associargli un metodo di autenticazione.
 
Per ogni dispositivo aggiunto una coppia di chiavi crittografiche viene generata (pubblica e privata).
La chiave pubblica è conservata nella blockchain ICP mentre quella privata è custodita nel dispositivo di autenticazione insieme al dato biometrico che ne governa l’accesso.
Aggiungendo più dispositivi ad un identity anchor gli utenti possono accedere alle Dapp attraverso tutti i loro dispositivi.
 
Quando un utente accede ad una Dapp che utilizza l’Internet Identity per l’autenticazione, per prima cosa deve specificare quale identity anchor utilizzare. Dopo l’autenticazione attraverso un dispositivo collegato all’ identity anchor scelto, il browser si collega all’Internet Identity e genera una chiave di sessione specifica per l’uso con quella Dapp. Infine all’utente è richiesto di autorizzare l’accesso alla Dapp.
 
Il browser dell’utente scarica le autorizzazioni e lo indirizza alla Dapp, la Dapp verifica le autorizzazioni provenienti dall’Internet Identity e permette l’accesso all’utente con una identità anonima specifica per quella Dapp che prende il nome di pseudonimo.
Internamente, gli utenti hanno pseudonimi differenti per ogni Dapp ma lo pseudonimo di ogni Dapp è uguale in tutti i dispositivi collegati all’Identity Anchor in questione.
Tutti i dispositivi di un utente rappresentano semplicemente i diversi metodi che può usare per autenticare il suo identity anchor.
 
Un utente può registrare quanti identity anchor desidera, per ridondanza o per diversi scopi.

Suggerimento

Per esempio qualcuno può creare un “anchor” per utilizzarlo su SocialFi o GameFi ed un altro per usarlo solo in DeFi, potrebbe preferire utilizzare il riconoscimento facciale solo per l’anchor associato ai SocialFi mentre per l’anchor con cui interagisce nella DeFi utilizzare metodi più sicuri come YubiKey o Ledger.

Vedi anche