ビットバンク株式会社
手軽にパスワードレス認証が可能なbitidについて
Bitcoinウォレットで簡単パスワードレスログイン
Bitbank LT Night #4 〜Blockchain〜 @you21979
Copyright © bitbank, inc.
自己紹介
所属:bitbank
通称:ゆあ
ツイッター:@you21979
Copyright © bitbank, inc.
BitIDを三行で簡単に説明
ビットコインウォレットを使って
パスワードレスで
簡単にログインする仕組み
Copyright © bitbank, inc.
ログイン認証のデモをします
認証URL
https://bitid-demo.herokuapp.com/login
認証に使うウォレット
Mycelium Bitcoin Wallet
Copyright © bitbank, inc.
認証の流れ
● QRCODEをBitID対応ウォレットでスキャンする
● ユーザーはサイトのURLを確認する
● QRCODEのURLに認証したいビットコインアドレスの鍵で署名する
● ウォレットが署名とビットコインアドレスをQRCODEのURLに送信する
● 画面がログイン状態に遷移する
Copyright © bitbank, inc.
シーケンス図
Copyright © bitbank, inc.
QRCODEの中身
bitid:www.site.com/callback?x=NONCE
Copyright © bitbank, inc.
署名するメッセージ
x18Bitcoin Signed Message:
%bitid:www.site.com/callback?x=NONCE
Copyright © bitbank, inc.
既存の問題を解消できる
● IDが自動生成される
URIで決定論的に決まったアドレスが生成される
サイトごとに管理する煩わしさから開放される
索引を持っているので複数作ることも可能
(その場合は索引の管理が必要)
Copyright © bitbank, inc.
他に依存しない
● シングルポイントがない
ブロックチェーンを参照しないので依存する要素がない
(連携はできるけど、毎回参照は必要無いはず)
Copyright © bitbank, inc.
新たな問題点がある
● デバイスなくすとその秘密鍵を無効化できない欠点
落として拾われたらやばいので
  対策としてはサーバー側で従来の二段階認証をいれるなど。
 
Copyright © bitbank, inc.
BitIDと似たような仕組み
● FIDO U2F
● WEBAUTHN(FIDO U2F 2.0)
Copyright © bitbank, inc.
その他参考資料等
ウォレットから認証用のアドレス導出のための仕様
https://github.com/satoshilabs/slips/blob/master/slip-0013.md
BitIDの仕様
https://github.com/bitid/bitid/blob/master/BIP_draft.md
鍵導出の実装
https://www.npmjs.com/package/slip0013
Copyright © bitbank, inc.
総論
IDとパスワードを管理する時代も終わりが近いですね

ビットコインウォレットで手軽にパスワードレス認証が可能なbitidについての紹介

  • 1.
  • 2.
    Copyright © bitbank,inc. 自己紹介 所属:bitbank 通称:ゆあ ツイッター:@you21979
  • 3.
    Copyright © bitbank,inc. BitIDを三行で簡単に説明 ビットコインウォレットを使って パスワードレスで 簡単にログインする仕組み
  • 4.
    Copyright © bitbank,inc. ログイン認証のデモをします 認証URL https://bitid-demo.herokuapp.com/login 認証に使うウォレット Mycelium Bitcoin Wallet
  • 5.
    Copyright © bitbank,inc. 認証の流れ ● QRCODEをBitID対応ウォレットでスキャンする ● ユーザーはサイトのURLを確認する ● QRCODEのURLに認証したいビットコインアドレスの鍵で署名する ● ウォレットが署名とビットコインアドレスをQRCODEのURLに送信する ● 画面がログイン状態に遷移する
  • 6.
    Copyright © bitbank,inc. シーケンス図
  • 7.
    Copyright © bitbank,inc. QRCODEの中身 bitid:www.site.com/callback?x=NONCE
  • 8.
    Copyright © bitbank,inc. 署名するメッセージ x18Bitcoin Signed Message: %bitid:www.site.com/callback?x=NONCE
  • 9.
    Copyright © bitbank,inc. 既存の問題を解消できる ● IDが自動生成される URIで決定論的に決まったアドレスが生成される サイトごとに管理する煩わしさから開放される 索引を持っているので複数作ることも可能 (その場合は索引の管理が必要)
  • 10.
    Copyright © bitbank,inc. 他に依存しない ● シングルポイントがない ブロックチェーンを参照しないので依存する要素がない (連携はできるけど、毎回参照は必要無いはず)
  • 11.
    Copyright © bitbank,inc. 新たな問題点がある ● デバイスなくすとその秘密鍵を無効化できない欠点 落として拾われたらやばいので   対策としてはサーバー側で従来の二段階認証をいれるなど。  
  • 12.
    Copyright © bitbank,inc. BitIDと似たような仕組み ● FIDO U2F ● WEBAUTHN(FIDO U2F 2.0)
  • 13.
    Copyright © bitbank,inc. その他参考資料等 ウォレットから認証用のアドレス導出のための仕様 https://github.com/satoshilabs/slips/blob/master/slip-0013.md BitIDの仕様 https://github.com/bitid/bitid/blob/master/BIP_draft.md 鍵導出の実装 https://www.npmjs.com/package/slip0013
  • 14.
    Copyright © bitbank,inc. 総論 IDとパスワードを管理する時代も終わりが近いですね