Diritto & Tecnologia

Sul blog di Avvocloud pubblichiamo aggiornamenti ed approfondimenti su Diritto, tecnologia e legal tech.
illustrazione di un lucchetto

Nel precedente articolo su Bitcoin e crittografia abbiamo introdotto la "crittografia asimmetrica" o a "chiave pubblica" e abbiamo visto come questa sia stata utilizzata da Bitcoin per fini diversi da quelli tradizionalmente assegnati alla crittografia: non più per cifrare comunicazioni ma per creare un sistema monetario alternativo e decentralizzato. Su questo, vedi anche Come funziona Bitcoin.

illustrazione di chiavi su sfondo scuro

Bitcoin utilizza la crittografia per consentire la circolazione delle somme e garantire la immutabilità della blockchain. La crittografia consente il funzionamento della moneta digitale e decentralizzata nota come Bitcoin: un impiego innovativo rispetto all'uso tradizionalmente assegnato alla crittografia, ossia la cifratura delle comunicazioni.

In questo articolo introduciamo la crittografia asimmetrica o a chiave pubblica: vediamo come questa consente la cifratura e la firma digitale, per poi passare al ruolo che la crittografia gioca nel funzionamento di bitcoin e della blockchain in generale.

Per una analisi più completa del funzionamento di Bitcoin, leggi Come funziona Bitcoin?



Bitcoin: nuovi impieghi per la crittografia

La crittografia deve la sua nascita ad una necessità molto antica: come rendere un messaggio comprensibile solo ad uno o più destinatari determinati e nasconderlo a tutti gli altri?

Bitcoin utilizza la crittografia per finalità diverse da quelle "tradizionali", ossia cifrare e decifrare messaggi: le transazioni che viaggiano sulla rete di Bitcoin, paragonabili ai messaggi da trasmettere, non hanno bisogno di essere cifrate.

Bitcoin utilizza la crittografia per un fine diverso ed originale: da essa si fa dipendere la titolarità delle somme e dunque la legittimazione alla disposizione delle stesse. Per una tecnologia che si propone di realizzare un sistema monetario decentralizzato, non è poco.

Come stiamo per vedere, ogni utente di Bitcoin dispone di una coppia di chiavi: una pubblica e una privata. La coppia di chiavi consente l'incasso e il trasferimento di bitcoin. Vedremo in seguito come questo accade: per adesso, possiamo dire che il meccanismo si serve di un tipo particolare di crittografia, nota come "asimmetrica" o "a chiave pubblica".

Chiavi pubbliche e private : la crittografia asimmetrica

La crittografia asimmetrica prevede una coppia di chiavi, generate da un algoritmo, partendo da un numero casuale. Tra le due chiavi vi è una relazione matematica in base alla quale dalla chiave privata si ricava la chiave pubblica; non è però possibile il procedimento inverso: dalla chiave pubblica non è possibile risalire alla chiave privata.

Questo consente di assegnare alle chiavi funzioni diverse, per quanto in un certo senso complementari; la chiave privata è da tenere segreta, quella pubblica da condividere liberamente.

Nella sua applicazione originaria la crittografia asimmetrica ha due impieghi:

  1. cifratura;
  2. firma digitale:
    • provare l'effettiva provenienza di un messaggio da parte del mittente
    • provare che il messaggio ricevuto non sia stato modificato (e dunque intercettato) dopo l'invio.

Vediamo come queste due funzioni vengono svolte per mezzo della coppia di chiavi secondo la crittografia a chiave pubblica o asimmetrica.

Cifratura

Il titolare di una coppia di chiavi rende la propria chiave pubblica disponibile a chiunque intenda inviargli un messaggio cifrato.

Il mittente utilizza la chiave pubblica del destinatario per cifrare il proprio messaggio: questo potrà essere decrittato solo da chi dispone della chiave privata "sorella" di quella pubblica con cui si è cifrato il messaggio. Pertanto, solo il titolare della chiave pubblica, in possesso della corrispondente chiave privata, sarà in grado di decifrare il messaggio inviatogli.

La sicurezza e dunque la segretezza della comunicazione dipende da quanto segreta si riesca a mantenere la sola chiave privata.

Crittografia asimmetrica e firma digitale

L crittografia asimmettica rende possibile la firma digitale attraverso un algoritmo di hash. La caratteristica di un efficace algoritmo di hash è quello di tradurre un determinato input in un codice univoco: ove l'input cambi anche di una virgola, l'hash cambierà sensibilmente e in maniera non prevedibile.

Pertanto, con la firma digitale:

Il mittente firma un messaggio

  • produce l'hash del messaggio che intende inviare
  • lo cifra con la propria chiave privata
  • infine: allega l'hash cifrato (la "firma") al messaggio e li invia insieme

Il destinatario verifica la firma digitale

  • produce l'hash del messaggio ricevuto con lo stesso algoritmo usato dal mittente
  • decritta l'hash cifrato ricevuto con la chiave pubblica del mittente.
  • infine: confronta l'hash decrittato così ottenuto con la "firma" allegata al messaggio dal mittente. Ove le firme coincidano, è provata la provenienza del messaggio così come l'originalità del messaggio: se questo venisse intercettato e modificato, il procedimento praticato dal destinatario produrrebbe un risultato diverso dalla firma digitale allegata al messaggio. Come abbiamo visto, l'hash del messaggio sarebbe diverso da quello prodotto e cifrato dal mittente.

La sicurezza della crittografia a chiave pubblica dipende dalla relazione tra le due chiavi e dunque dall'algoritmo che crea la chiave pubblica dalla privata: dalla chiave pubblica non deve essere possibile risalire alla chiave privata.

Quanto alle applicazioni pratiche di tutto questo, abbiamo visto come cifrare e firmare con la firma digitale le email con il nostro articolo su crittografia e Thunderbird.

La crittografia asimmetrica e bitcoin

Con Bitcoin, la crittografia asimmetrica o a chiave pubblica viene impiegata in maniera originale per finalità diverse da quelle tradizionali: non per secretare messaggi, ma per consentire l'incasso e il trasferimento delle somme in bitcoin.

Ogni utente di Bitcoin dispone di due chiavi, tra esse "imparentate", così come accade per l'utilizzo "classico" della crittografia asimmetrica o a chiave pubblica che abbiamo appena visto.

In particolare:

una chiave pubblica dalla quale si ricava l'indirizzo bitcoin: un codice che consente di ricevere bitcoin, che possiamo paragonare al codice Iban di un conto bancario. Così come con la chiave pubblica, l'indirizzo bitcoin, che dalla chiave pubblica discende, può essere condivisa liberamente. Pertanto, per la creazione di un indirizzo bitcoin viene utilizzata la crittografia a chiave pubblica.

una chiave privata, da tenere segreta, che consente di spendere le somme incassate per mezzo della corrispondente chiave pubblica e dunque indirizzo bitcoin.

Transazioni

Nella sua applicazione originaria la crittografia a chiave pubblica ha ad oggetto un messaggio da cifrare. Con Bitcoin però, non c'è un messaggio bensì una transazione: a questa spetta il trasferimento di bitcoin. Chiunque voglia spendere bitcoin dovrà firmare con la propria chiave privata una transazione.

Più precisamente, applicando la chiave privata alla transazione, per l'esattezza a parte dei dati in essa contenuti, si produrrà un codice: una firma digitale secondo lo schema proprio alla crittografia a chiave pubblica.

Data la connessione tra le chiavi, la chiave privata, usata per firmare la transazione, autorizza il trasferimento di quei bitcoin ricevuti per mezzo della corrispondente chiave pubblica e relativo indirizzo bitcoin.

La verifica delle transazioni

Affinché la transazione possa efficacemente trasferire la titolarità di bitcoin, dovrà essere verificata la firma digitale. La verifica consiste nel dimostrare il collegamento tra la firma e la chiave privata utilizzata per produrla; questo, senza rivelare la chiave privata, che deve rimanere inaccessibile.

A tal fine, l'algoritmo che verifica la firma prenderà in considerazione:

  • la transazione
  • la firma
  • la chiave pubblica del firmatario

La firma risulterà verificata ove si accerti la sua relazione con la chiave privata che ha prodotto la chiave pubblica presa in considerazione per la verifica: si prova la relazione tra firma e chiave privata senza che questa possa essere rivelata.

Detto altrimenti, data la chiave pubblica, la firma e la transazione, la firma risulta verificata ove si accerti che questa non può che provenire dalla chiave privata che ha generato quella pubblica "fornita" per la verifica.

Una volta verificata, la transazione è idonea al trasferimento delle somme da un indirizzo ad un altro, e verrà inclusa in un blocco da aggiungere alla blockchain: questa altro non è che un registro di tutte le transazioni intercorse nella rete, e che dunque cristallizza la situazione complessiva circa il saldo di ciascun utente, o sarebbe meglio dire indirizzo bitcoin.

Conclusioni

Abbiamo fin qui visto come Bitcoin si serva della crittografia a chiave pubblica o asimmetrica ed impieghi in maniera originale ed innovativa il sistema della coppia di chiavi: non più per cifrare e decifrare messaggi, ma per fondare un sistema monetario decentralizzato basato sulle sole regole della scienza, della tecnica e della matematica.




In un tempo in cui avvocati e tecnologia non sembrano essere più in antitesi, si sente parlare di coding for lawyers: l'accostamento tra avvocati e linguaggi di programmazione appare meno assurdo di quanto si sia portati a pensare.
A tal proposito, si pongono una serie di questioni che andiamo ad affrontare in questo articolo.

delle manette posate su una banconota

La legge n°3 del 2019, nota come "spazzacorrotti", ha incluso alcune fattispecie di reati contro la pubblica amministrazione tra i reati ostativi, modificando l'articolo 4bis della legge sull'Ordinamento Penitenziario ed escludendo dunque l'accesso alle misure alternative alla pena detentiva per tali reati. [AGGIORNAMENTO ALL'INTERNO]

illustrazione di una lente di ingrandimento che proietta una luce che illumina un laptop con la scritta SEO sul monitor

L'accostamento tra SEO ed avvocati può sembrare un po' azzardato: perché mai un avvocato dovrebbe interessarsi ad una materia così apparentemente lontana dal mondo legale come la SEO?

In questo articolo illustriamo gli aspetti della SEO più utili ed accessibili ad un avvocato che intenda migliorare il posizionamento del proprio sito o blog su Google, guadagnare visibilità online e trovare nuovi clienti per il proprio studio legale.

il logo di ethereum

Secondo il Diritto Italiano lo smart contract è un programma per elaboratore che opera su tecnologie basate su registri distribuiti e la cui esecuzione vincola automaticamente due o più parti sulla base di effetti predefiniti dalle stesse; questa la definizione di smart contract fornita il decreto legge n° 135/2018 articolo 8 ter.

il pinguin Tux, mascotte di Linux

Il rapporto tra avvocati e tecnologia è un argomento molto attuale ed oggetto di dibattito; tra le tante iniziative sul tema, non mi risulta sia stata ancora intrapresa un'opera volta a promuovere Linux tra avvocati e studi legali. Sono convinto che l'avvocato trarrebbe beneficio dall'incontro con Linux, in particolare l'avvocato di oggi che guarda in maniera diversa e con meno diffidenza le nuove tecnologie.

quadrati verdi su uno sfondo scuro

Può una forma geometrica assumere un carattere distintivo tale da consentirne la identificazione e dunque il deposito come marchio di forma? La tutela del "marchio di forma" e il caso Nestlé VS Cadbury.

una mano con una matita che disegna loghi su un foglio di carta

Il marchio di fatto è un marchio non registrato che gode di una particolare tutela derivante dell’effettiva conoscibilità dello stesso da parte del consumatore il quale lo distingue in maniera definita rispetto ad altri marchi.

L'articolo 473 del Codice Penale disciplina il reato di contraffazione del marchio registrato; tuttavia, per via giurisprudenziale, si è estesa la tutela penale anche al marchio non registrato, il c.d. "marchio di fatto".

una stanza con le pareti coperte da libri sistemati su librerie

Il secondo articolo del blog riassume considerazioni che hanno portato alla nascita di Avvocloud. Ci interroghiamo sulla efficacia e la sostenibilità dello studio legale inteso come modello e principale punto di contatto tra cliente ed avvocato.

un subacqueo che riprende con una macchina fotografica le profondità marine

Avvocloud è una rete di avvocati online; la missione è quella di avvicinare il cliente e l'avvocato, favorendo il primo contatto e rendendo possibile l'interazione attraverso la piattaforma online.

Con il primo articolo sul nostro blog, la nostra avventura può cominciare.