Tecnologia

il logo di Matomo

Matomo è un software di analytics open source che registra i dati di navigazione di un sito internet: una alternativa a Google Analytics, rispetta la privacy degli utenti in osservanza del GDPR.

Per indicizzare un sito web devi accertarti innanzitutto che il tuo sito sia raggiungibile da Google: l'indicizzazione può avvenire anche in maniera automatica e senza che tu faccia alcunché. Tuttavia, per indicizzare un sito rapidamente abbiamo a disposizione Google Search Console, uno strumento attraverso cui informare Google dell'esistenza del nostro sito internet, chiederne l'indicizzazione e controllare che questa poi proceda correttamente.

Come stiamo per vedere, per inviare una richiesta di indicizzazione a Google devi creare un file sitemap, caricarlo sul server del tuo web host e comunicare, attraverso Google Search Console, l'url del file sitemap appena caricato,. In tal modo, non solo renderai nota l'esistenza del tuo sito chiedendo che venga indicizzato, ma aiuterai Google anche a comprenderne la struttura indicando le pagine web da indicizzare.

il logo di ethereum

Un token è una registrazione su una blockchain che conferisce un diritto: di regola, un diritto di proprietà su un bene. Un token può essere fungibile, e dunque sostituibile, o non fungibile: in questo caso si tratta di non fungible token, o NFT. Possiamo dire che un nft, non essendo sostituibile con nessun altro, individua un determinato bene, non confondibile con nessun altro.
In questo articolo introduciamo l'argomento token e non fungible token, o NFT: alcune nozioni tecniche di base e possibili applicazioni.

Bitcoin logo

Bitcoin è una moneta digitale e decentralizzata che funziona autonomamente, in esecuzione di un software. Con Bitcoin, non vi è alcuna autorità che eserciti il ruolo normalmente assegnato alle banche centrali. In altre parole, il funzionamento è dovuto esclusivamente a regole tecniche, in particolare quelle della crittografia a chiave pubblica. In questo articolo proviamo ad illustrare come funziona bitcoin, in cosa consiste il suo carattere innovativo e, secondo noi, interessante e degno di studio.

il logo di ethereum

Uno smart contract è un programma informatico che viene eseguito sulla blockchain di Ethereum; l'esecuzione di uno smart contract procede in automatico e non può essere influenzata, guidata o interrotta da alcun soggetto in particolare. Possiamo dire che Ethereum è la macchina su cui girano gli smart contract, costituita da una rete di computer sparsi in giro per il mondo che eseguono il protocollo Ethereum. Detto altrimenti, Ethereum è la piattaforma decentralizzata che esegue applicazioni, come gli smart contract, su un registro distribuito chiamato blockchain. Come stiamo per vedere, la tecnologia chiave di Ethereum è la crittografia a chiave pubblica.

illustration of 2 keys crossing each other

Per criptare le mail aziendali è possibile servirsi di Thunderbird, il noto client di posta elettronica. Cifrare le email aumenta il livello di sicurezza delle comunicazioni: la criptazione delle email è una esigenza spesso avvertita dalle aziende, in particolare per quei rapporti commerciali o transazioni che richiedono un elevato grado di riservatezza. In questo articolo vediamo come cifrare le email; tratteremo anche della firma digitale. Prima però, è necessaria una breve introduzione sulla crittografia a chiave pubblica, la tecnologia impiegata per la cifratura delle email.

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.



Vincenzo Lalli

Vincenzo Lalli

Di formazione legale, appassionato da sempre di tecnologia ed informatica; esperienza professionale acquisita a cavallo tra i due mondi, finora piuttosto lontani tra loro. Mi dedico ad esplorare le crescenti interazioni tra il Diritto e la tecnologia, e a dare il mio contributo alla causa dell'innovazione nel settore legale; a tal fine, ho dato vita ad Avvocloud.net.

Contatti

Creative Commons License

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.

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 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.

il logo di avvocloud

Promuoviamo le competenze legali degli avvocati online e aiutiamo gli utenti ad orientarsi tra i meandri del Diritto.