W01.04 – CHIAVI PUBBLICHE COME IDENTITA’


WEEK 1
Introduzione alla Crittografia e alle Criptovalute

Learn about cryptographic building blocks (“primitives”) and reason about their security. Work through how these primitives can be used to construct simple cryptocurrencies. Imparare a costruire blocchi di crittografici (“primitivi”) e la ragione dietro la loro sicurezza. Imparare come utilizzare questi “primitivi” per costruire semplici criptovalute.

Edward W. Felten
Professor of Computer Science and Public affairs – Princeton University

Sezione 01.04 – Chiavi pubbliche come identità
01.04.01
In segment 1.4 we’ll move on having covered digital signatures and talk about a nice trick that we can use that goes along with digital signatures. And the useful trick is this, the idea is to take a public key, one of those public verification keys from a digital signature scheme and equate that to an identity. That is, an identity of a person, or an act, or a system. So if you see a signature that verifies correctly, that is, if you see a signature of such that you can verify with someone’s public key, that that is a signature on a particular message. Then you can think of that as that public key saying the message. You can literally think of a public key as kind of like an actor or a party in a system. And that they can make statements by signing those statements. And so if you think in that mindset, then this public key is like an identity. It’s an actor who can do stuff in the system. And if you think about it then, for someone to speak for a pk, that is for someone to be able to make statements so that will be seen as coming out of pks mouth.

You have to know the matching secret key, sk. And so, if you know the secret key that corresponds to the public key, PK then you can sign messages with that secret key. And what you’re doing essentially is making statements on behalf of that public key. And that means that there is an identity in the system which only you can speak for. And of course, that’s what you want an identity to be, something that one person can speak for or on behalf of, that everybody can see.
Nella sezione 1.4 passeremo alla copertura delle firme digitali e parleremo di un bel trucco che possiamo usare che accompagna le firme digitali. E il trucco utile è questo, l’idea è di prendere una chiave pubblica, una di quelle chiavi di verifica pubblica da uno schema di firma digitale e identificarla con un’identità. Cioè, un’identità di una persona, o un atto o un sistema. Quindi, se vedi una firma che verifica correttamente, cioè se vedi una firma di tale che puoi verificare con la chiave pubblica di qualcuno, quella è una firma su un particolare messaggio. Quindi puoi pensarci come quella chiave pubblica che dice il messaggio. Puoi letteralmente pensare a una chiave pubblica come un attore o una festa in un sistema. E che possono fare dichiarazioni firmando quelle dichiarazioni. E quindi se pensi in quella mentalità, allora questa chiave pubblica è come un’identità. È un attore che può fare cose nel sistema. E se ci pensate allora, per qualcuno che parli per un pk, questo è per qualcuno che è in grado di fare affermazioni in modo che possano essere viste come uscite dalla bocca di pks.

Devi conoscere la chiave segreta corrispondente, sk. Quindi, se conosci la chiave segreta che corrisponde alla chiave pubblica, PK, puoi firmare i messaggi con quella chiave segreta. E quello che stai facendo in sostanza è fare dichiarazioni per conto di quella chiave pubblica. Ciò significa che nel sistema esiste un’identità di cui solo tu puoi parlare. E naturalmente, questo è ciò che vuoi che sia un’identità, qualcosa per cui una persona può parlare o per conto di tutti, che tutti possono vedere.
01.04.02
All right, so if we’re going to treat public keys as identities one of the consequences of that is that you can make a new identity whenever you want. If you wanna make a new identity you just do this you create a new random key pair sk and pk by doing the generate keys operation in our digital signature scheme and we get out sk and pk.

pk is then the public name that you can use- that’s the name of that identity, what it’s called, although in practice you’d probably use the hash of pk because public keys are big, but again, we’ll leave that aside as a detail. So pk, or the hash of it, is the public name that we use to talk about the identity, and sk, the secret key, is the information that lets you, the person who generated this identity, speak for the identity. You control the identity because only you know the secret key, and if you generated this in such a way the the public key pk, looks random. Then nobody needs to know who you are. You can generate a fresh identity that looks random, that looks like a face in the crowd that only you can control.
Va bene, quindi se consideriamo le chiavi pubbliche come identità, una delle conseguenze è che puoi creare una nuova identità ogni volta che vuoi. Se vuoi creare una nuova identità, devi solo creare una nuova coppia di chiavi casuali sk e pk eseguendo l’operazione di generazione delle chiavi nel nostro schema di firma digitale e otteniamo sk e pk.

pk è quindi il nome pubblico che puoi usare- questo è il nome dell’identità, come si chiama, anche se in pratica probabilmente utilizzerai l’hash di pk perché le chiavi pubbliche sono grandi, ma di nuovo, lasceremo da parte come un dettaglio. Quindi pk, o l’hash di esso, è il nome pubblico che usiamo per parlare dell’identità, e sk, la chiave segreta, è l’informazione che ti consente, la persona che ha generato questa identità, di parlare per l’identità. Tu controlli l’identità perché solo tu conosci la chiave segreta, e se la hai generata in questo modo la chiave pubblica pk, sembra casuale. Quindi nessuno ha bisogno di sapere chi sei. Puoi generare una nuova identità che sembra casuale, che assomiglia ad una faccia nella folla che solo tu puoi controllare.
01.04.03
This brings us to the idea of decentralized identity management, that rather than having a central place that you have to go in order to register as a user in a system, you don’t need to get a user name. You don’t need to inform someone that you’re going to be using a particular name. If you want a new identity, just make one. Anybody can make a new identity at any time and you can make as many as you want. If you prefer to be known by five different names, no problem, just make five identities.
If you wanna be somewhat anonymous for a while you can make a new identity, use it just for a little while, then throw it away.

All of these things are possible with decentralized identity management. And there’s no central point of control, so that you don’t have to have anyone who’s in charge of it. The system operates in an entirely decentralized way. And this is the way Bitcoin in fact does identity. These identities are called addresses in Bitcoin jargon. And so you hear the term address used in talking about Bitcoin and cryptocurrencies. But what that really is, is just a public key or hash of a public key. It’s an identity that someone made up, out of thin air. As part of its decentralized identity management scheme.
Questo ci porta all’idea di una gestione dell’identità decentralizzata, che invece di avere un posto centrale in cui devi andare per registrarti come utente in un sistema, non è necessario ottenere un nome utente. Non è necessario informare qualcuno che stai usando un nome particolare. Se vuoi una nuova identità, creane una. Chiunque può creare una nuova identità in qualsiasi momento e puoi crearne quante ne vuoi. Se preferisci essere conosciuto con cinque nomi diversi, nessun problema, fai solo cinque identità.
Se vuoi essere un pò anonimo per un pò puoi creare una nuova identità, usala solo per un pò, poi buttala via.

Tutte queste cose sono possibili con la gestione dell’identità decentralizzata. E non esiste un punto centrale di controllo, in modo da non dover avere qualcuno che ne è il responsabile. Il sistema funziona in modo completamente decentralizzato. E questo è come Bitcoin di fatto gestisce le identità. Queste identità sono chiamate indirizzi nel gergo Bitcoin. E così senti il termine indirizzo usato per parlare di Bitcoin e criptovalute. Ma quello che realmente è, è solo una chiave pubblica o un hash di una chiave pubblica. È un’identità che qualcuno ha inventato, dal nulla. Come parte del suo sistema di gestione delle identità decentralizzato.
01.04.04
Now the obvious question that arises when you’re talking about decentralized identity management and people making up these identities, is how private is this? And the answer is, it’s complicated. On the one hand, the addresses that made up this way are not connected to you real world identity. You can execute a randomized algorithm, it will make some kind of PK that looks kind of random. And nothing exists initially to connect that to who you are. You can do that in the privacy of your own home.

So that’s good news if you want to be able to act privately.

But the bad news if you want to act privately is that if that address, if that identity is making a series of statements over time, if it’s engaging in a series of acts over time. The people can see that whoever this is has done a certain series of actions and they can start to connect the dots gee this person is acting a lot like Joe, maybe this person is Joe.

And so, an observer can link together these things over time and make inferences. And so, this balance between on the one hand, there being no initial tie to real world identity, and on the other hand that a pattern of behavior of an address emerging over time. And the question of what can be inferred and which dots can be connected. That gets pretty complicated. And that’s really the question of privacy in a cryptocurrency like Bitcoin and there’s a whole lecture about that later on. And so I’m not gonna steal the thunder of that lecture. I just wanna give you an idea of how decentralized identity makes privacy a complicated question.
Ora l’ovvia domanda che si pone quando si parla di gestione dell’identità decentrata e persone che creano queste identità, è: quanto è privata? E la risposta è: è complicato. Da un lato, gli indirizzi che sono stati creati in questo modo non sono collegati all’identità del mondo reale. Puoi eseguire un algoritmo randomizzato, renderà una sorta di PK che sembra un pò casuale. E inizialmente non esiste nulla per collegarlo a chi sei. Puoi farlo nella privacy della tua casa.

Quindi questa è una buona notizia se vuoi essere in grado di farlo in privato.

Ma la cattiva notizia se si vuole agire in privato è che se quell’indirizzo, se quell’identità sta facendo una serie di affermazioni nel tempo, se si sta impegnando in una serie di atti nel tempo. Le persone possono vedere che chiunque sia ha fatto una certa serie di azioni e possono iniziare a connettere i punti, questa persona si comporta come Joe, forse questa persona è Joe.

E così, un osservatore può collegare insieme queste cose nel tempo e fare inferenze. E così, questo equilibrio tra da un lato, non essendoci nessun legame iniziale con l’identità del mondo reale, e dall’altro lato che un modello di comportamento di un indirizzo emerge nel tempo. E la domanda su cosa può essere dedotto e quali punti possono essere collegati. Questo diventa piuttosto complicato. E questa è davvero la questione della privacy in una criptovaluta come Bitcoin e c’è un’intera letteratura a riguardo. E quindi non ruberò il fragore di quella letteratura. Voglio solo darti un’idea di come l’identità decentrata rende la privacy una domanda complicata.

[top]
© Edward W. Felten – Professor of Computer Science and Public affairs – Princeton University

W01.03
Firme digitali
W01.05
Una semplice criptovaluta