Slide 1

Slide 1 text

ブロックチェーンサービスのセキュリティを考える part 3【ウォレット編】 ハードウェアウォレットのしくみ

Slide 2

Slide 2 text

株式会社AndGo代表取締役 原 利英,博士(理学)  2010年3月 東京理科大学理工学研究科情報科学専攻博士後期課程卒業  2010年4月 - 2015年3月 東京理科大学理工学部情報科学科助教  2015年4月 - 2017年4月 アクテイブ株式会社 IT研究所主任研究員  2017年4月 株式会社AndGo創業 著書:数理物理と数理情報の基礎 , 近代科学社, 2016. SNS: 専門: 電子工作 天空の城ラピュタ ドラゴンボール 東芝J3100 (白黒液晶) QBasic, Delphi Doom, Quake, Unreal 小学生 中学生・高校生 ゲノム解析手法 塾教師/がん研究会 アーチェリー github/toshihr @ToshihideHara 大学生 Genome Analysis / Drug Delivery System / Chaos / Crypto 研究職 暗号と出会う ゲノムは暗号! ・高精度アライメント法 ・AESより速い暗号化法 ・暗号化したまま比べる技術 Who is me

Slide 3

Slide 3 text

AndGoとは    AndGo 社名の由来 暗号技術を持つ会社、秘匿暗号の研究開発をする会社 だからAndGo (アンゴー = 暗号) Excite The World with Technology 技術で世界をワクワクさせる 技術が好きでたまらない 技術開発が楽しくて仕方がないエンジニアが創った会社 3期

Slide 4

Slide 4 text

フィンテック系アクセラレータ 第3期プログラム採択

Slide 5

Slide 5 text

“Your keys, your bitcoin” “Not your keys? Not your bitcoin” - Andreas Antonopoulos -

Slide 6

Slide 6 text

暗号通貨を所有し安全に管理するには 1. 秘密鍵を自分で管理すること 2. 秘密鍵をオフラインで管理すること ログイン型 クライアント型 ハードウェア 高リスク 中リスク 低リスク 秘密鍵管理 秘密鍵所有者 一部オンライン オンライン オフライン 事業者 ユーザー ユーザー ※リモートでのハッキングリスク

Slide 7

Slide 7 text

利用者の割合 ハードウェア ログイン型 350 万人 23万人 ※仮想通貨交換業等に関する研究会 [4]、博報堂金融マーケティングプロジェクト [5]調べを元に算出 クライアント型 37万人

Slide 8

Slide 8 text

既存のハードウェアウォレット スマホとBluetooth接続 PCとUSBケーブル接続

Slide 9

Slide 9 text

アプリ 全体像 ウォレット事業者サーバー インターネット バックアップ ウォレット APIサーバー REST API / JSON-RPC Stratum protocol, etc... Full Node bitcoind, geth, etc... ブロックチェーン USBケーブル/Bluetooth

Slide 10

Slide 10 text

アプリ トランザクションの流れ ウォレット事業者サーバー インターネット バックアップ ウォレット APIサーバー REST API / JSON-RPC Stratum protocol, etc... Full Node bitcoind, geth, etc... ブロックチェーン ①トランザクション  データ作成 ②トランザクション  データ送信 ③電子署名 ④署名済み  トランザクション  データ送信 ⑤署名済みトランザクション  ブロードキャスト

Slide 11

Slide 11 text

アプリ 全体像 ウォレット事業者サーバー インターネット バックアップ ウォレット APIサーバー REST API / JSON-RPC Stratum protocol, etc... Full Node bitcoind, geth, etc... ブロックチェーン USBケーブル/Bluetooth 1 2 3 4

Slide 12

Slide 12 text

1.ハードウェア 1

Slide 13

Slide 13 text

1.ハードウェア - 構成 主な機能 秘密鍵の保管 + 秘密鍵による電子署名 メモリ(無揮発性) ・秘密鍵を保管する CPU ・秘密鍵をつくる ・秘密鍵の束を管理する(ウォレット機能) ・秘密鍵を使って電子署名する

Slide 14

Slide 14 text

1.ハードウェア - Hierarchy Deterministic Wallet Master Seedから階層的に、決定的に鍵を生成 Hardware Wallet PC / Smartphone インデックスにより 署名用の鍵を特定できる

Slide 15

Slide 15 text

1.ハードウェア - TREZOR メモリとCPUが一緒になったマイコンを利用 仕様 [6] ・マイコン STM32F205RET6  ARM Cortex-M3 (32bit)  Flash 512kb  SRAM 128kb  Random Number Generator 特徴 ・OSが動かないほどコンパクトだ からハックされにくい ・マイコンの中で秘密鍵の管理、 電子署名を完結する

Slide 16

Slide 16 text

1.ハードウェア - Ledger Nano S セキュアマイコンを利用 仕様 [6] ・マイコン STM32F042K ・セキュアマイコン ST31H320 特徴 ・デュアルチップ構成 ・耐タンパー性がある [https://hodlitbro.com.au/2017/12/28/ledger-nano-s-protect-your-coins-with-a-hardware-wallet/]

Slide 17

Slide 17 text

1.ハードウェア - Common Criteria (CC) セキュアマイコンはCommon Criteria基準で評価されている ・コンピュータセキュリティのための国際規格 ISO/IEC 15408 ・セキュリティ評価の枠組みが提供されている ・CCは要求仕様を示し、開発、評価のプロセスが厳格な方式で行われたという保証を提 供する ST31 (Ledger Nano Sの採用するチップ) について ・評価保証レベル (EAL, Evaluation Assurance Level) 5+ ・EALはCCのうち、製品の開発過程全般をカバーする保証要件のパッケージ ・Ledgerによるファームウェア実装部のセキュリティが評価されているわけではない [https://www.st.com/en/secure-mcus/secure-hardware-platforms.html]

Slide 18

Slide 18 text

ハードウェア - 信じて良いのか問題 - 1

Slide 19

Slide 19 text

1.ハードウェア - 信じて良いのか問題 Amazonで購入したら偽物が届いた!

Slide 20

Slide 20 text

1.ハードウェア - 信じて良いのか問題 サプライチェーン・ロジスティック周辺問題 2018年11月19日 SatoshiLabsによる報告 [8] 偽物

Slide 21

Slide 21 text

1.ハードウェア - 信じて良いのか問題 差し込むだけのお手軽ハック技術が存在 BadUSB ・Black Hat USA 2014にて発表された ・差し込むだけでキーログを回収できる ・ワクチンソフトで検出できない USBdriveby ・DNSを書き換える機能 ・アプリケーションにアクセスする機能 [BadUSBをやってみた, 7]

Slide 22

Slide 22 text

1.ハードウェア - 信じて良いのか問題 スパイチップ問題 2018/10/14

Slide 23

Slide 23 text

1.ハードウェア - 信じて良いのか問題 物理的ハック耐性はある? [https://medium.com/@Zero404Cool/frozen-trezor-data-remanence-attacks-de4d70c9ee8c] 2017/8/18 Frozen Trezor — Data Remanence Attacks! ・SRAMは冷やすと意外なほど長時間記憶が保持される ・18.6秒でファームウェアを書き換え、秘密鍵を取り出せた

Slide 24

Slide 24 text

1.ハードウェア - 信じて良いのか問題 そもそも設計に穴がある問題 ・画面での中身確認なくてよいの? ・通信の暗号化に加え認証までしなくてよいの? ・ハードウェアのセキュリティ機能OFFにしちゃってよい の? [https://saleemrashid.com/2018/11/26/breaking-into-bitbox/] 攻撃を実証し、プロからの監査を受けるべきだと結論

Slide 25

Slide 25 text

バックアップ 2

Slide 26

Slide 26 text

2.バックアップ 主な機能 紙と鉛筆で秘密鍵のバックアップができる ・標準規格: BIP39 (2013年策定) ・2048ワードから12 / 24個選ばれる ・SatoshiLabsがTREZORを作る際に仕 様化を進めた ・元々のアイデアはElectrumの実装 ・TREZOR版とElectrum版には互換性が ない

Slide 27

Slide 27 text

バックアップ - 運用が辛いよ問題 - 2

Slide 28

Slide 28 text

2.バックアップ - 運用がつらいよ問題 感想「使える気がしない」 ・実際に操作、体感して頂くイベントを 実施 ・セットアップ、ニモニックをメモるだけ で一時間以上経過 ・そもそも、BIP39に対するセキュリティ レベルの評価はされていない

Slide 29

Slide 29 text

アプリ 3

Slide 30

Slide 30 text

3.アプリ 主な機能 UTXOを集め残高を計算する、Txの作成、検証をする 各アドレスの残高を合算する Transaction A Input FROM Previous Transaction: #0 Alice 1.0 BTC Output Output #0: Bob 0.3 BTC Output #1: Alice 0.6995 BTC Fee: 0.0005 BTC トランザクションを検証する

Slide 31

Slide 31 text

アプリ - 偽アプリ、OSS版サプライチェーン問題 - 3

Slide 32

Slide 32 text

3.アプリ - 偽アプリ問題 偽アプリは意外と存在する

Slide 33

Slide 33 text

3.アプリ - OSS版サプライチェーン問題 OSSでもサプライチェーン問題が顕在化 ・マルチシグウォレットの Copay (BitPay製, Insightを作っているところ)が狙われた ・依存しているOSSライブラリ”event-stream”がハックされた ・開発者のコンピュータでは活動せず、リリースされたアプリ上で活性化される仕組み

Slide 34

Slide 34 text

サーバーサイド 4

Slide 35

Slide 35 text

4.サーバーサイド 主な機能 UTXOを集める、Txをブロードキャストする ウォレット事業者サーバー APIサーバー REST API / JSON-RPC Stratum protocol, etc... Full Node bitcoind, geth, etc... ブロックチェーン APIサーバー ・BitPay Insight, Electrum, 独自実装など ・Nodeとアプリとの間に入り色々と面倒をみる ・AML/CFTに関するセキュリティを実装できる

Slide 36

Slide 36 text

サーバーサイド - 中央集権的である - 4

Slide 37

Slide 37 text

4.サーバーサイド - 中央集権的である - ・ダウンした際の影響が大きい ・プライバシーを侵害しうる 単一障害点 SPOF になりうる

Slide 38

Slide 38 text

“Your keys, your bitcoin” “Not your keys? Not your bitcoin” - Andreas Antonopoulos -

Slide 39

Slide 39 text

使いこなせるセキュリティ ・ユーザーが所有権を持ちつつ、運用面まで考慮したセキュリティ 向上を指向する技術発展が望ましい 方向性の案 ・一部の信用(友人、事業者)を上手く取り込んだしくみ

Slide 40

Slide 40 text

www.andgo.co.jp www.facebook.com/andgojp/ (JP) www.facebook.com/andgoinc/ (EN) @andgo_inc (JP) @AndgoInc (EN) エンジニア、デザイナー 募集中です! Let’s Enjoy Tech-Driven Evolution

Slide 41

Slide 41 text

References [1] BIP - https://github.com/bitcoin/bips [2] BIP39について調べてみた - https://tech.bitbank.cc/about-bip39/ [3] チップハック問題 - https://www.bloomberg.com/news/features/2018-10-04/the-big-hack-how-china-used-a-tiny-chip-to-infiltrat e-america-s-top-companies [4] 金融庁仮想通貨交換業等に関する研究会 - https://www.fsa.go.jp/news/30/singi/kasoukenkyuukai.html [5] 博報堂調査 - https://www.hakuhodo.co.jp/uploads/2018/03/20180327-1.pdf [6] TREZOR - https://github.com/trezor/trezor-hw [7] BadUSBをやってみた - http://jh1lhv.hatenablog.jp/entry/2015/02/09/215102 [8] FAKE Trezor - https://blog.trezor.io/psa-non-genuine-trezor-devices-979b64e359a7

Slide 42

Slide 42 text

Appendix

Slide 43

Slide 43 text

AndGoのハードウェアウォレット 「誰でも簡単に安全に秘密鍵を管理できる」を届ける ➔ セキュリティ・ファースト ◆ 多層のセキュリティ対策 ◆ 直感的UIでミスの芽を摘む ◆ 大画面で取引詳細確認も容易 ➔ 使いたい時すぐ使える利便性 ◆ スマホにワイヤレス接続 ◆ パスワード/PIN入力も不要 ➔ 日本語UI、日本語サポート

Slide 44

Slide 44 text

ウォレットのバックアップと復元 24英単語を紙にメモ

Slide 45

Slide 45 text

暗号通貨の受け取り アドレス表示またはQRコード

Slide 46

Slide 46 text

暗号通貨の送金 アドレスを入力(コピペ)