Ledger Key Ring Protocol

Pragma Bangkok · 14 Nov 2024 · 15:48

Ledger's CTO argues that blockchains cover authentication, integrity and non-repudiation but leave confidentiality missing, so user data still sits with centralized platforms. The Key Ring Protocol turns a hardware wallet into a ring of encryption keys generated from the recovery words, with group keys for sharing and key rotation for revoking access. Its first use encrypts Ledger Live settings and accounts so they sync between desktop and mobile through a server that cannot read them, and messaging and photo storage apps are sketched as further uses.

Speakers

Topics

From Pragma Bangkok, hosted by ETHGlobal.

Transcript

[Music] all right we are ready for our last Talk of the day and for this very special talk I'd like to bring on Charles who is the CTO of ledger to tell you about leder's key ring protocol so without further Ado please give him a big round of applause [Music] GM everyone um in 15 minutes uh you will be able to have your beer and also you will know a little bit better what is

King protocol and why it's a big deal my name is Charles G I'm CTO at Ledger my background is cryptography and security these are topics I'm interested since I'm 12 um I discovered bitco in 2011 uh in at this time a friend of mine was mining with his own computer that was possible at this time and the one block was 50 Bitcoin by the way and he was talking about Bitcoin like every day so at some point I decided to have a look at uh at this and I studied the decentralized consensus the double spending problem the cryptography the blockchain technology and I was amazed by the technology but I didn't get the

use case and and this is exactly what I told him your thing is really interesting but there is no way this thing to be adopted in in the future obviously I was wrong and when I joined Ledger in 2017 he asked me if I finally understood and I think I understood um for me Bitcoin is a big revolution because it's permissionless with Bitcoin with blockchain technology in general you don't have to ask the permission to anyone to own your value and to use it and this is pretty powerful and this is made possible by two different things on one side you

have the decentralized consensus and on the other side you have the self- custody with Bitcoin with crypto you own your key and you own your crypto and this is this is pretty simple yet very powerful the decentralized consensus aspect is equally important and I think we must never forget this I I want to highlight this part especially because uh these days we had plenty of scalability challenges on blockchain and we tried to um Implement new solution to uh to scale the technology but I I think it's important to never forget that censorship resistance and decentralized

consensus is something important U because today we we can see in the ecosystem there's new L2 and um they are necessary to scale the the technology to scale the blockchain however we really need to pay attention of the censorship resistance and most of the current implementation are pretty centralized in cryptography I I won't give you a a cryptography lecture this is not the point but there are like in cryptography there are four main properties and three of these properties are really uh used by blockchain one is authentication second Integrity third non reputation and the last one is

confidentiality authentication is pretty simple you prove that you own a private key and then you are able to sign a message and then you can prove ownership over your eum you can prove ownership over the asset you want to move this is all about authentication Integrity is pretty simple uh you want to be sure that nothing has been altered blockchain technology are great for that you have the imitability and hashes that proves that nothing has changed in the past and the last one is non reputation again blockchain are imitable if you signed something in the past you created the digital signature that has been time stamped and put on the blockchain that

means that you cannot say I didn't I didn't sign this transaction it was written on chain those are the three main properties and the last one is confidentiality and confidentiality is a missing piece on blockchain most of the blockchain are completely transparent uh everything can be seen on chain there was a lot of interesting stuff about that however um if you want to respect your privacy um it's not ideal there are some project uh on chain that ensure confidentiality but most of um most of the project most of the onchain stuff do not Implement confidential um Primitives and confidentiality is

important for at least for privacy and and privacy today it simply doesn't exist we are used to use all these uh internet services uh with Google Facebook meta um X and all of this and we are used to give all our data um um in in exchange of using the services um there was something that a moto that we say quite often if it's free this is because you are the product and I think this paradig is U is now um Central in the way we are living our Digital Life and I don't think it's normal we should care about our our

privacy and privacy is not a question of hiding everything it's a question of deciding who has the right to own your data and who can see the data that that is your data and and privacy I think it's a natural right we all have uh things to hide I I have um created an email address um four four years ago I think like if you think that you don't you don't have anything to hide uh just give me access to all your email you can send you your you can send me your password to my passwords at ledger. frr I created this email address like four years ago I still didn't receive any email and this is a true story

um and today I'd like to introduce you to uh Ledger keuring protocol um we are using our devices because they are very useful and and Powerful to storing your digital assets and a authenticating yourself however when when it comes to encrypting uh your data to ensure confidential gr to ensure confidentiality uh there's nothing there so this is why we decided to add a new feature to our devices uh which is the ability to manage encryption keys so we decided to use the device as a key ring uh which will generate plenty of keys encryption keys and then you will decide which Keys you want to share with room

let me explain a little bit more so imagine like a wing with plenty of keys that give you access to different safes so these are your safe you can duplicate this keys and give the keys to your friend uh so that they can access the saves you can also change the lock of a given safe um so that you don't want your friend to access to the safe anymore you can rotate the key rotate the keys basically you also have the notion of master keys that allow to open a group of saves and this is exactly what we implemented with Ledger curing protocol but obviously uh in the digital world so what we did is to uh Leverage

The Ledger device to and the 24 words to generate deterministic deterministically a large number of Secrets uh and encryp different Resources with uh this secret there is also the notion of a group secrets that allows you to selectively encrypt either individual resources or a group of resources then you can selectively choose who can access to R and you choose your own level of privacy and as I mentioned there is a revocation mechanism that allows to rotate keys by re-encrypting the resource with a new key if you think about your um digital

experience your web experience uh what we call web2 is something very centralized and you will log in to there's very centralized Services uh with your password and and your login passwords and all your data is owned by uh the platform this is the current Paradigm and we are all used to that and we think it's normal I don't think it is but this is the this is the current state of web two when we think about web 3 and when when we think about um ow owering users giving them uh the sovereignty over their their data and and so on we want to provide the same type of uxx but on a decentralized manner and also on a surway manner

so the centralized login methods so login and passwords are really bad we know that humans are bad at generating CET very bad at managing them and using them but we can we can replace this uh centralized login with a decentralized login for instance you can use your uh ethereum key your public key is your login your address is your login and then you sign a message to prove that you are the owner of um your key this is the authentication part but when it comes to the data uh again there is no um real solution today and with uh Ledger curing protocol you can Implement um services that allows to uh give the

power to the user so that he owns his data and he would choose if you want to if he wants to share this data with others or not what we do what we implemented is a protocol so first of all it's a completely uh um abstract anyone can use it and the first instantiation of this protocol is a very simple feature um when you use Ledger live which is the software part uh the software wallet that you use with with your Ledger device um there was a there was a question like when you use Ledger live on your mobile and you use Ledger live on your desktop you probably notice that those two instances of Ledger live are

not connected you will create different account crypto currency account you will Define your settings on your desktop and when you go on your mobile uh things are not connected you can see that your balance moved because we are synchronizing synchronizing the chain but all the data that is um related to your settings or your account is not synchronized and if we wanted to implement like this kind of synchronization on a web two manner what we would do is to make you a ledger account with login and password we would get all your data and then you could synchronize your account across your different instances of leg life but this

is not what we want to do because we want users to be Sovereign over their data and what we implemented is the using curing protocol uh to do so so when you install leder live on your desktop uh then you will create your list of cryptocurrency account you will Define all your settings and then you will use the curing protocol to encrypt all this local data that is stored locally on your desktop uh and this data will be stored on some server it doesn't really matter because everything is encrypted in this case it's on Ledger server but again we don't have access to this data and when you use Ledger live on your mobile what you will do is use

keuring protocol to share the encryption key uh from your device to um to the to your mobile and then the the the two different devices are sharing the same secret and can synchronize themselves um without uh Ledger knowing anything about about your data so it's a very simple feature when you are using Web Two services this is something that is completely normal but the big difference is that as a user you are completely Sovereign over over your data again it's a generic protocol uh what we uh did is a simple feature using this protocol we are we are going to implement all features uh in the same

way but you can Implement plenty of new things for instance think about um U messaging if you use uh telegram for instance what you what you do is log into to telegram servers and as soon as you are communicating communicating to anyone uh all the messages are stored uh inside telegram servers and telegram has a full access to all uh this this messages since the Inception of telegram and it's a big deal I think so it's a problem that telegram has an access to those messages but when you think about it maybe like someone some nation state attack could some nation state could attack telegram servers to get access to

all those messages we don't know if it happened in the past we don't know if it's happening now but this is something that is possible because it's not um secured by cryptography with a curing protocol you could Implement like a telegram type of experience but in a sovereign manner meaning that all the messages can be stored on some server but no one can decp it decp the data except you and the people with whom you are talking to so you can do end to-end communication uh using Ledger curing protocol also think about uh Google photos when you when you use Google photos what you do is sending all your photos to Google and when you want to share your photos to your friend what

you do is clicking on the button and what you do is asking the permission to Google to give access to your friend to your photos it doesn't make sense we would like to have a Google photos without Google on Sovereign Manner and to do so you can do that using Ledger cing protocol again you will use your uh device to generate plenty of encryption keys and you the keys will be used to encrypt all your photos individually also as there is the notion of of Group keys you can um share a folder to share a folder you only have to share the group key corresponding to this folder so everything is possible uh to to implement like all the all the features

that you have in Google photos can be implemented on suring manner using curing protocol so there those are just a few ideas that can be implemented with with it and what I would like to do uh today is to do a call to action uh if if you are a developer and you care about uh self sovereignty if you care about privacy for users you can leverage this feature uh to implement um privacy preserving uh stuff thank you for your attention [Music]