New Ethereum talks, every Monday. The week's conference uploads by event, in your inbox.

Loading player…

Keycard: An Open Source Smartcard Hardware Wallet Framework (Devcon5)

DevconFri, Oct 9, 2020, 12:00 AM

Visit the https://archive.devcon.org/ to gain access to the entire library of Devcon talks with the ease of filtering, playlists, personalized suggestions, decentralized access on IPFS and more. https://archive.devcon.org/archive/watch/5/keycard-an-open-source-smartcard-hardware-wallet-framework Keycard is an open source smartcard framework and API to build smartcards for cryptocurrency. We propose a workshop where developers can learn everything about using Keycard hardware and software. Using Android, iOS or Go SDKs they will quickly learn how to integrate Keycard with existing applications on both mobile (iOS/Android) and desktop. Interacting with the Keycard applet, they will able to integrate a smartcard hardware wallet that implements all the features of an HD Wallet. Using the Keycard Cash wallet, they will learn how to interact with a smartcard “burner wallet” that enables quick onboarding with “pre-paid/pre-loaded” cards and ready to use NFC enabled smartcard to tap and pay at Point of Sales devices. Keycard applets run on standard javacard smart cards, the same platform used by credit cards or SIM cards, and turns them into a hardware implementation of a BIP-32 HD wallet that supports key generation, derivation and signing. Speaker(s): Michele Balistreri, Andrea Franz, Guy-Louis GRAU Skill level: Intermediate Track: Developer Infrastructure Keywords: technical Follow us: https://twitter.com/efdevcon, https://twitter.com/ethereum Learn more about devcon: https://www.devcon.org/ Learn more about ethereum: https://ethereum.org/ Devcon is the Ethereum conference for developers, researchers, thinkers, and makers. Devcon 5 was held in Osaka, Japan on Oct 8 - 11, 2019. Devcon is organized and presented by the Ethereum Foundation, with the support of our sponsors. To find out more, please visit https://ethereum.foundation/

Transcript

[Applause] thank you very much for being here I am product manager of the car I'm going to give a quick introduction to what is T card and then on Turin Italy which are what the developers 40 cars are going to be in a hands-on approach and scope this is supposed to be a very hands-on workshop you can get your computer ready we have key cards for you we have Twitter's what you're less than 40 meters that's not enough you can maybe so quick introduction to what is keep on very quickly and then we can get on to the hands on the workshop so this is very steep it's 32 yeah she called attorney stick out when we left on a small car [Music] it's open source and it's running on shall account what it's not it's not a simple NFC tag that you that you would use as a QR code or the name 15 that I need NFC it's actually a small computer key card is an applet that runs on there it's open source so you can check it you can edit it and tweak it everywhere you want for your own application and it runs on very standard web hardware actually all of you here you have to have a card on yourself right now most probably because every one of the and it has a very high level of physical security any be very expensive physically to get private keys the key card we are providing here and the one we produce the status that we've integrated with instead of stairs as to type of interfaces it was contactless with NFC so that you can integrate with either Android or iOS mobile applications and it's also got a physical interface like that meaning you can meet the materials that we've distributed connected to desktop application so that's key card what can you build with key card it's a hardware wallet so you can either generate a secret within the card or you can import a secret let's say the secret is a sea then you can make any derivation for any prostitute on DC within the card and then the card he's doing the trend the second signature ECB is a signature of the transaction at least capacitor part so your application is passing once it's set up and the secrets are here they never leave the card and your application is passing the transaction to the hash of the transaction and and passing that's what it does why does it have security or Christie it's air gaps it's offline that's not where what is your project you'll never leave and with intoxication provides the other thing is price order of the private keys an end user this is tangible the private keys are here and education lot of things most of us are aware what it's all this top of my wallet sorry mobile or desktop well it is can be used to store the keys for identity systems this car is very convenient as good right users of our any identification so that's what speaker than what you can deal with it so we'd like this to be hands-on suppose we just arrived you can get some new cards and to connect them to your your PC you need some inventive readers we've already destroyed some and they are not enough maybe you can [Music] I'm working you might need two things Tokaji console but tons of them everyone can get one I mean let's make small groups we've already readers our lease without my mom here the hobby is that way working because I mean you don't know [Music] - trainees I waited it is never in the dark so you when you are signing with the without polish the signal will speak to the on the car which really is a reminder of this aspect and the communicator of the in that car and the device that you're using is encrypted this is protocol that we implemented above the standard communication protocol it was the use case of this kind of cars is you confuse the device sales but in our case you can use except any device so we have this a layer of aluminum tops which protects many within the vehicles even if they are quite hard to convey out of the spend over over the way and it also prevents random device is sending omens with a car I mean it as a team for example and you could send three time the wrong pin it cost a car it would be inconvenient if ideologically hope doctor so if you don't if you are authorized to even send installation this one is done to park sorry when so when you ship a true key cards show is already installed when double pistol it doesn't have any secret because in Tel Aviv it was intended to and it doesn't help the painting toes which is needed to increase the channel so it's really gone and then with the installation phase where you don't the still create a wallet you just to define your own pin through and creating hood which is this way so we don't know the problem of the in addition a separate envelope cord or a scratch coat which can be abandoned in your inference you do it yourself on your audio device you say then there is the key generation step and disconnected in different ways because of course we want people to be able to import the emitter p9c sprays or for a Vedic system is you can go the key see the binary still just the keeper even without and then you can stop sign is a sign it is something that you can go only up to drop arise with the B so this ends the publisher pin like regular in the end when you want to sign in insert the beep and they take card since the edge of the transaction transaction because it doesn't make is not very efficient first and second about doesn't technically to show you the devalue so it doesn't make any sense and then you give us the signal repair and the port and the device users can submit this basically ok so in this sense the kicker is one interface so yet so you can use it with NFC and it's maybe the best way to use he used to be alive solenoids and that means that you just need to talk to be like right you just need to top and it's easy to use otherwise it's also contact so we distribute now the USB reader and you can just use it also in with a lot and so we released like the Java so for Android SDKs a months ago already in the last weeks we developed the u.s. sophisticated with the newest us 13 it's possible like to send a video hello [Music] yeah so so before yes 13 it was impossible to send all the kinds of APD with so many almonds it's being that you needed and now it's possible so I think the first application that was really supports the kicker is gnosis that was raised yesterday and also safe and integrating like the tikka bizarre two-factor authentication system and thank you thank them because they helped other development and so now if you want to try something maybe doing something mobile will be longer because we need to [Music] buy a pilot's and the points to the phone so we also develop this kick-ass CLI so we can basically try to use it and see basically all the comments that you can use to interact with the kicker's from scratch to sign with signature and signing the transaction and then basically that the same concept you can apply them [Music] so I took my things before so the first one so this is the keycard outlets and it's basically the software this is finding the kicker and its resources here it is I am salacious and train the CLI says is within go and you can [Music] yeah okay so if you have the GST running until the end you don't know that the key card which dominancy right you can just run ticket in focus and you basically know like something about the card gives you certain so few can see here so it says if the Outlands is resistant shall I fix it let me see later but it's not useful yet so we can use all the key card installed to pay comments or we can use also you can use the kicker shell comment and you can justify or direct a list of comments and in this specific case there's a list of like video comments to install the updates so when you receive the decals of the blue key of it you can buy the applet is already closed so you don't need some of these I've gotta pick something for the key and you want to upgrade or install the updates or not do something else you need this kind of comments so that's another thing is it's in a smart car you can also use so multiple instances of the key cut so it means that you can have five different HD wallets along with a different master key and then you just select so in this case it's a if I run this I also put right about here and you can see all the video comments at the same so they can you cannot have these bytes that are basically sent to the cards each one is a set of classified [Music] instruction by some parameters and some data so in this case it's long because it's like uploading the output and after this you basically have this math curve in the same state of the one that you received when when you buy one so it's restored a lot in choice which means that it's ready to be used but it doesn't have a second unit since the running game like we won before so now it says that so now it's installed it's not initialized meaning there's no steam it's not ready to be paired with device there's no key so there's no you ain't and this just keep that it's used like full of service solution so after this are you trying something so it granny if it's not working okay so whatever saying when you know whenever say I thought it's not ready to I mean it's ready to be used but you need to initialize it and this means basically creating the signature so the secrets that you have to use to to use it later so in this case our so the first one is the the pin the second one is the third one is a parent password so in this case if you want to do the same shell scripts going to wrap this up all the scripts if you want to secure saying comments you know the you have obviously this one thing that's here in the description the first one - still the office still the instrument between just okay so this one has a hard coded like path to the bell plaits the little before changes so what it's an arm right second script so this one is basically and so he can sell in here if I go back to install you can see that the some comments there are starting with GP another woody cancer to please like means global platform since these standards communicate with received become manager application on the card so is the one that allows is building without this from the cart and is independent from it's implemented in the dark side equity yes we - it's all set of comments general to interact with monitored and escape which is based because we use we are not interacting yet with the King adopted and then we have some key cards so stuck even think of comments that are basically just like replacing the X I its composition and in this case like selecting the outlets the keeper gotta say what you said you can have like wicked outlets and then like with these updates something else something special and then we send like the secret so we can just for testing using this otherwise you can just not specify [Music] and then he Kathleen eat which is initialized so it's basically saying okay so starting from now these are the secret and you can use this card only if you know deceiver and we prepared with the password in you need to use the pin for any signature example so okay so after this so the key card can be paired with five devices five body but certain is that every time you want to interactivity card you need to pair them to be able to start the pairing comments you need to know the the pairing of this one so preparing a password and after that you can prepare then opening a secure channel and then doing something so this skill is basically not doing anything so it's pairing open a secure channel and then I'm paying and I'm doing this unfair just because otherwise I basically used one of the swats for the parent time you use another one another five you know a bourbon in there and then I'm just using verify thing because for some comments verified opinion for example before signing a transaction or in general so of course when you you don't need to pair every time you use the kicker for example when you when you have a lighter foundation we just felt the first time and then with the pairing essentially making a key and that key you can store it in the phone and you use it at the time so it's basically once for each device that you want to pair and yeah so these are scripted runs this one is the number this and it's just getting the stages of the same thing that we had before so if it's installed it's initialized and everything and we can still the parent which is the one gets really used in session and then the pilots ride so it I designed you so you can you can put their own pitiful times otherwise then you need to use the book to read Isha lies the pain and so if we so at this point the key card is initialized but it doesn't tell the master key so there's another comment that you use which is generate the key and this one is basically generating the key inside the card and then which is basically diversity there are the wage man so here like a Misaki in the card majority on the card cuff but you can upload it or you cannot blow they think the indexes of a pbs39 phrase and then the card is told in the in the card and then you can start using it so yeah you have any question also like if you have problems [Music] it's not all the ships on the market they support the course defined in the Java car specification and so they define the FP course and like the SEC the Tongass for ATM yes because of the policies of habit you know [Music] because of the I mean because before this for months something that didn't put accent is that there is also a sort of acetyl channel and it has a key the issue of nose deceive what's the toy so when they sell you the card you don't know the so you cannot but is actually not really I'm out this yep it with the one that we distributed now so they have the test keys the one blue that we combine they have a different key but I still know having things like the key card keys offender I mean for the final release maybe we would generate as no random key so that it's possible to change on your device remaining because actually the Yubikey uses the same protocol so the same communication protocol so actually it's implementation will be done for Java path but porting this to the UPR clearly did something which is no no question is programmed with like mmm he carved our personal [Music] [Applause] I don't know so if you can use the same applet on that card and if it's like something over so so at least that you can know that as far as I know we can't extract the private key from the Estonian citizenship program like the government knows it but you can't damage it so they are you can run but you cannot play with the keys so is there a ah this is secure element this basically is what is useful all this happens the applets are emitted by the when the chips over it but a model itself the key as we say the key is fixed so it's actually a user notice but then the user can change it so they can change the key to load applets that nobody else can they move towards Columbus on their chart step so we don't want to manage this centrally on our side we want that the user has the ability to load other oppressed them what they what they won't be okay do you have any other question okay so now we came to the read the key so we can still use the che comments and use the script number five and it's basically just doing the same that we do before so it's selecting the applets setting their secrets to be able to pairing and open the secure channel verified to be tipping so that because it's it's like regenerating that the key is already there this case it was empty so it's generate the key and leather bag so from this point you can start right using it so you can sell transactional sending data so one point with the cart actually as a true random number generator on board so generating the Keystone cart is really secure okay so yeah it's it's in the cheapest assess if I do okay so now yes now there's the kicad stein comment and it's basically accepting like 32 bytes of data and the descriptive like same thing an empty life and the same the usual selecting opening the secures channel verified would be because it's required before signing and then appendix so if I use it and then do this so the output is giving me like the signature and what does the sign message which is actually directing this Eli but it's not really this case and then there's another concept about the penis bath so so every so now every time you want to interact with a ticket you need to know the parent password so the first time you use it like the parent and then every time you want to sign some data you need to verify your pitch it's always something that you get you need to service your only you know the owner of the garden the only one its opinions so in general you you only used the clicking with your own trust device we can set a specific path of HD words that can be used with an trusted device so it's for many things so you can be creative so we can be like just to open the door yeah so the key that you're actually using for your wallet when you are still of is all you can do something something like paying point-of-sale and with the risk of other experiment ahead but basically these have just a few tokens on the path in just a bit let's visit so the way you do it is by this set previous path Department and to use it you need to of course pairing and verify the pin and then you just pass like the path of bass to what its people to use and after this [Music] yes okay so after this we we set with this path in the stuff and basically what we consume is timing so as you can see here so the script is really into common so one is just selecting and the other one is like signing something and here so the example is like these other things and nothing that is another simple example funky and an example is basically doing everything and yes this one just so if not developing by the application this interacts with the CLI can be useful so that you can easily like restore inchaallah expansion to the earth and everything and then the main is basically the one for joy one for advice and they basically have the same common sense and inside the statists key capture this so does the package of Juniper Java and Android and then this there's a bit more I'll I can try so it's basically a Cena so the way it works is like a lot of gels and then you basically initialize a common sense and then you basically have the same common that we had before is a method of the common separately so selecting and then let's see if there's something that it's really same so like pairing and then gifting the individual town so it it's based to to to read and it's basically so if this day wants basically preventing anything you need to have study it's easily to copy it you know sorry you mentioned I us what is the status of virus yeah so let me also [Music] yes okay so before [Music] okay so saying so with the solar virus 13 which is the event they prevented everything API the C core so you can basically send a receive all the videos so so so you can have a full interaction and before that it was like only reading the in-depth tag so it was only for you know [Music] okay so there's this year kicker Swift SDK and then there's an example application the Moses repository and the common set is basically the same jacket ends with basically anything about your common sense away and now I don't know I mean we we saw everything so if you have questions or if you want to play with card with the CLI or if you want to install the demo app for Android and iOS and try to compile them the point and we're here to help and there's a question I never just speak up so I missed the beginning of the presentations are loud that it already mentioned but overall it status keycard compared to something like a dress or one in security so in general compared to the other our wallets so the keycard us every cycle storage places it is the same cigarette more or less the same thing could elevate like the letter it doesn't tempt additional part controlling the screen and the Baptist because it doesn't have a screen buttons so it's very simple storage it is inexpensive this and this standard artwork so we the Pope one of the points is that you we don't have a product to sell and it is no that is close the soul because and giving even if it's open source the schematics we still are not going to make it yourself but these cards you can find them Israel we bought these white cards and we stopped the output so there can be many different of this there can be endless combinations with different features multiple offers on the same card so from a security point of view is the same based basic of what is in a ledger the same secure element of course you don't have a screen and you don't have buttons so it's a compromise you were to trust the device we solved this in part by implementing this secure channel protocol which at least allows you to pair with a specific device that you want to use up to five so you don't have random devices interacting with the card the card as the advantage of being very practical because every phone has an NFC reader so compare the two USB solutions they can be also used but it's not as straightforward and it can be used also with USB card readers which are also quite common to find actually so it is the second thing is for me to be convenient and secure and for purpose limits that's my answer your question and also products because it's like something she that you came by yep it's easier to buy five of your friends so I mean for the physics on sorry that something's kind of music on the security so there's the software and the hardware itself not very pretty open source so it's can be edited and the hardware which is secure elements is I mean these have accounts usually certified meet the hardware prod products these ones are from any speed for instance from whom any speed yeah which is one of the main supplier of Java cause they are the Faro certification program this one is Yale a l5 + certified so that follows a list of tests to test the hardware security how hard it is with a microscope with side-channel attacks to get the secret out so the awkward price themselves are qualified in country also thank you you see the expensive how expensive how inexpensive is a card yes it really depends I mean like we were seeing at the beginning several parts are produced by millions I mean there are in every phones and everything that is a car so they can be really inexpensive when you do volumes I mean okay the question of the price is more depending on your relationship with your supplier yeah but roughly I mean these things when you manufacture a couple of thousands you know couple of dollars and your beautifies dollars for such an hour okay it's quite simple is it possible to source different form factors yeah I mean then usually down these form factors or they can be just this single sim card without the antenna for phones but some suppliers do rings some do things that you can attach to physical objects then it's settled the guys that manufacture is up to this so this the chip that is here behind this is from one manufacturer and the body of the car with their ten nice meet by another manufacturer so this can be even embedded in electronic devices last question I was late can I still have our either them think there are more thank you it's a key [Music] it's not just today I always just gonna ask about maybe batteries and like where where can i source these in volume so there are so different actors first you need to find a chipset provider because that manufacturer the cheaper per se so downloads such a big number this is an HP engineer and has been eating something yeah so though maybe and then you need to find a manufacturer that's gonna do the process that week they describe that bias these chipset and then put them in the physical card and this type of scenario there are hundreds hundreds I mean how self man factor we want Europe New York France actually but there are tons of guys that know how to create a car and then the other thing you can consider is the level of security depending on what you download at the factory level in the car the level of security you want in a factory what we choose to ourselves when we manufacture that is that there's not any secret in the car minions and so we don't want to rely on the security of the manufacturer or the process the cars are initialized with the with the with the phone you intend to publish an application to deter intercultural performing yes establish quiet is implementing now Akita and it is also so not statuses from us of course and then there are third-party application which also integrates of the most is safe and bullied then this one are released and then there are people's writing system cost the cost given a path because of the operating system the operating system no no the operating system is developed by an XP or I don't know maybe an XP buys it from someone else but they have shipped already on that you bought my sauce no no no this there is this thing so the Java card upland that we wrote is fully open source and it can be installed on any Java car on any java craft OS platform but this specification of the chips under NDA and we don't even ever we don't you don't need to use it and to rise is so always so they need the specifications and so they are all closed source by default and engine there is no other way no no because if you we have told that it's better to make pinless interaction with the point of sale because the point of sale is on trust so if you enter your field you are giving you a secret - and a trusted device so it's better to have a separate wallet with as little funds and you know it's cash money and we are thinking about ways on how to mitigate trout today's current things like this but at least you don't give any secret it was giving them in maybe you are giving also pattern to your other pins and that's are there any such chips on the market or wherever in the world that are open sourced out to the lowest level unfortunately not I'm having a close look to the base 5 initiative because actually this thing is an article controller with a secure storage and if you order our accelerator for photography the cool thing what make this secure why an ARM chip is not securing this one is is the topology of the transistor is randomized so if you is all scaled let's say so so if you take a microscope and you open whatever in the cup in a microcontroller you can see exactly okay this is the ROM this is the roll you open this one that you don't see anything so it's so yeah I'm looking at the risk by initiative because it could be used at the basis but there is a lot of development cost to bring the same level of security so to make this really important yes [Music] so you can in poverty but you cannot make strategy all right even with acetabular backup even with passport there is a small image you can never export the master key but that's the master key generated on the cadre yes yeah no but if you add this is crazy already but if you have an expert box in the API for some yes and I want to display NIT export function allows its port in public keys and private keys but only under a specific sub tree as a subtree which we have defined with a which should not be used in this application system but I think we are going to remove it because actually the better way is probably to use TC wallet where you can just change a couple so see the we need you always have to war against God and pray together [Music] [Applause]

Automatic transcript — names and jargon may be misspelled.