Skip to content
This repository has been archived by the owner on Nov 5, 2021. It is now read-only.

Latest commit

 

History

History
103 lines (66 loc) · 2.92 KB

320-keycard.md

File metadata and controls

103 lines (66 loc) · 2.92 KB
id title status lead-contributor contributors budget
320-keycard
Status Keycard
implementation
guylouis
Michele @bitgamma
Andrea @gravityblast
Dmitry @dmitryn
xFntesting @nastya
xFndesign @denis-sharpyn
actual
xxx
estimate
yyy
currency
ETH/USD/SNT

Swarm proposal

Summary and Goal(s)

We want to give Status users control over their private keys, and offer them the possibilty to store them in a air-gapped secure device. This kind of control is provided by hardware wallets, however there is no hardware wallet on the market today that integrates with mobile apps, and hardware wallets are quite expensive.

Javacard smartcards are a good platform to solve this issue: their inexpensive, provides very high level of physical security (CC EAL5+), and are contactless (NFC) and thus work with Android apps.

Our goal is to:

  • manufacture such a smartcard, called Keycard,
  • standardize a protocol 'Keycard API' for integration of clients with smartcards securing access to crypto assets
  • propose an open source javacard applet 'Keycard applet'
  • integrate Keycard with Status app

This swarm is about:

  • Keycard applet
  • Status software integration

Communication

#status-keycard

Weekly Sync, tuesday 11:00 AM Paris time

Weekly meeting notes https://notes.status.im/BSmOfT4qSuWLLXS6AuxcXQ

Team page https://notes.status.im/Uyg8wkVESjKyvwWAa19czQ?view

Research

Keycard applet

closed

Status software integration

closed

Specification

Keycard applet

closed

Status software integration

The use cases for the Status integration are:

  1. sign transaction by tapping card + entering PIN
  2. login into account by tapping card and entering PIN
  3. export of the whisper key from the card to the app (goal : not store the whisper private key in Flash at anay time on the app)
  4. export of the password used to encode the database from the card to the app

UPDATE 15012019

It has been decided to leave Keycard card upgradeable to allow software upgrade of Keycard during its lifecycle. This has affected our state diagrams and specifications. Sepcifications (see below)have been updated and approvded by the team on wk2 2019.

Specifications reference document (UI flows + State Diagrams) https://bit.ly/2NdxoUB

Implementation

Keycard applet

closed

Status software integration

Alpha stage: up to 28/02/2019 Beta stage: 01/03/2019 (Beta success consists of functional availability of use cases 1-2-3-4)

15012019 UPDATE

  • detailed status in weekly meeting notes and pivotal tracker
  • overview
    • Done: card initialization, account creation
    • In progress: card settings (change PIN, reset cards, unpair), decoupling of whisper and private key in go
    • To be done : card login, sign transaction, import account

Maintenance

Copyright

Copyright and related rights waived via CC0.