Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up
for free
ハードウェアウォレットのしくみ - ブロックチェーンサービスのセキュリティを考える -
Toshihide Hara
November 28, 2018
Technology
5
440
ハードウェアウォレットのしくみ - ブロックチェーンサービスのセキュリティを考える -
Toshihide Hara
November 28, 2018
Tweet
Share
More Decks by Toshihide Hara
See All by Toshihide Hara
toshihr
0
79
toshihr
0
24
toshihr
0
81
toshihr
0
57
Other Decks in Technology
See All in Technology
yashi8484
0
140
miura55
0
170
kawaguti
0
450
line_developers
PRO
2
190
finengine
0
350
yuzoiwasaki
0
170
ainehanta
0
110
1ftseabass
PRO
0
120
chipstar_light
0
490
kaga
0
320
ayatokura
1
180
techharmony
0
180
Featured
See All Featured
malarkey
392
61k
destraynor
221
47k
tanoku
259
24k
philhawksworth
192
8.9k
productmarketing
7
780
hursman
107
9.3k
maggiecrowley
10
550
jacobian
257
20k
paulrobertlloyd
73
1.5k
frogandcode
128
20k
sstephenson
146
12k
orderedlist
PRO
330
36k
Transcript
ブロックチェーンサービスのセキュリティを考える part 3【ウォレット編】 ハードウェアウォレットのしくみ
株式会社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
AndGoとは AndGo 社名の由来 暗号技術を持つ会社、秘匿暗号の研究開発をする会社 だからAndGo (アンゴー = 暗号) Excite The
World with Technology 技術で世界をワクワクさせる 技術が好きでたまらない 技術開発が楽しくて仕方がないエンジニアが創った会社 3期
フィンテック系アクセラレータ 第3期プログラム採択
“Your keys, your bitcoin” “Not your keys? Not your bitcoin”
- Andreas Antonopoulos -
暗号通貨を所有し安全に管理するには 1. 秘密鍵を自分で管理すること 2. 秘密鍵をオフラインで管理すること ログイン型 クライアント型 ハードウェア 高リスク 中リスク
低リスク 秘密鍵管理 秘密鍵所有者 一部オンライン オンライン オフライン 事業者 ユーザー ユーザー ※リモートでのハッキングリスク
利用者の割合 ハードウェア ログイン型 350 万人 23万人 ※仮想通貨交換業等に関する研究会 [4]、博報堂金融マーケティングプロジェクト [5]調べを元に算出 クライアント型
37万人
既存のハードウェアウォレット スマホとBluetooth接続 PCとUSBケーブル接続
アプリ 全体像 ウォレット事業者サーバー インターネット バックアップ ウォレット APIサーバー REST API /
JSON-RPC Stratum protocol, etc... Full Node bitcoind, geth, etc... ブロックチェーン USBケーブル/Bluetooth
アプリ トランザクションの流れ ウォレット事業者サーバー インターネット バックアップ ウォレット APIサーバー REST API /
JSON-RPC Stratum protocol, etc... Full Node bitcoind, geth, etc... ブロックチェーン ①トランザクション データ作成 ②トランザクション データ送信 ③電子署名 ④署名済み トランザクション データ送信 ⑤署名済みトランザクション ブロードキャスト
アプリ 全体像 ウォレット事業者サーバー インターネット バックアップ ウォレット APIサーバー REST API /
JSON-RPC Stratum protocol, etc... Full Node bitcoind, geth, etc... ブロックチェーン USBケーブル/Bluetooth 1 2 3 4
1.ハードウェア 1
1.ハードウェア - 構成 主な機能 秘密鍵の保管 + 秘密鍵による電子署名 メモリ(無揮発性) ・秘密鍵を保管する CPU
・秘密鍵をつくる ・秘密鍵の束を管理する(ウォレット機能) ・秘密鍵を使って電子署名する
1.ハードウェア - Hierarchy Deterministic Wallet Master Seedから階層的に、決定的に鍵を生成 Hardware Wallet PC
/ Smartphone インデックスにより 署名用の鍵を特定できる
1.ハードウェア - TREZOR メモリとCPUが一緒になったマイコンを利用 仕様 [6] ・マイコン STM32F205RET6 ARM Cortex-M3
(32bit) Flash 512kb SRAM 128kb Random Number Generator 特徴 ・OSが動かないほどコンパクトだ からハックされにくい ・マイコンの中で秘密鍵の管理、 電子署名を完結する
1.ハードウェア - Ledger Nano S セキュアマイコンを利用 仕様 [6] ・マイコン STM32F042K
・セキュアマイコン ST31H320 特徴 ・デュアルチップ構成 ・耐タンパー性がある [https://hodlitbro.com.au/2017/12/28/ledger-nano-s-protect-your-coins-with-a-hardware-wallet/]
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]
ハードウェア - 信じて良いのか問題 - 1
1.ハードウェア - 信じて良いのか問題 Amazonで購入したら偽物が届いた!
1.ハードウェア - 信じて良いのか問題 サプライチェーン・ロジスティック周辺問題 2018年11月19日 SatoshiLabsによる報告 [8] 偽物
1.ハードウェア - 信じて良いのか問題 差し込むだけのお手軽ハック技術が存在 BadUSB ・Black Hat USA 2014にて発表された ・差し込むだけでキーログを回収できる
・ワクチンソフトで検出できない USBdriveby ・DNSを書き換える機能 ・アプリケーションにアクセスする機能 [BadUSBをやってみた, 7]
1.ハードウェア - 信じて良いのか問題 スパイチップ問題 2018/10/14
1.ハードウェア - 信じて良いのか問題 物理的ハック耐性はある? [https://medium.com/@Zero404Cool/frozen-trezor-data-remanence-attacks-de4d70c9ee8c] 2017/8/18 Frozen Trezor — Data Remanence Attacks!
・SRAMは冷やすと意外なほど長時間記憶が保持される ・18.6秒でファームウェアを書き換え、秘密鍵を取り出せた
1.ハードウェア - 信じて良いのか問題 そもそも設計に穴がある問題 ・画面での中身確認なくてよいの? ・通信の暗号化に加え認証までしなくてよいの? ・ハードウェアのセキュリティ機能OFFにしちゃってよい の? [https://saleemrashid.com/2018/11/26/breaking-into-bitbox/] 攻撃を実証し、プロからの監査を受けるべきだと結論
バックアップ 2
2.バックアップ 主な機能 紙と鉛筆で秘密鍵のバックアップができる ・標準規格: BIP39 (2013年策定) ・2048ワードから12 / 24個選ばれる ・SatoshiLabsがTREZORを作る際に仕
様化を進めた ・元々のアイデアはElectrumの実装 ・TREZOR版とElectrum版には互換性が ない
バックアップ - 運用が辛いよ問題 - 2
2.バックアップ - 運用がつらいよ問題 感想「使える気がしない」 ・実際に操作、体感して頂くイベントを 実施 ・セットアップ、ニモニックをメモるだけ で一時間以上経過 ・そもそも、BIP39に対するセキュリティ レベルの評価はされていない
アプリ 3
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 トランザクションを検証する
アプリ - 偽アプリ、OSS版サプライチェーン問題 - 3
3.アプリ - 偽アプリ問題 偽アプリは意外と存在する
3.アプリ - OSS版サプライチェーン問題 OSSでもサプライチェーン問題が顕在化 ・マルチシグウォレットの Copay (BitPay製, Insightを作っているところ)が狙われた ・依存しているOSSライブラリ”event-stream”がハックされた ・開発者のコンピュータでは活動せず、リリースされたアプリ上で活性化される仕組み
サーバーサイド 4
4.サーバーサイド 主な機能 UTXOを集める、Txをブロードキャストする ウォレット事業者サーバー APIサーバー REST API / JSON-RPC Stratum
protocol, etc... Full Node bitcoind, geth, etc... ブロックチェーン APIサーバー ・BitPay Insight, Electrum, 独自実装など ・Nodeとアプリとの間に入り色々と面倒をみる ・AML/CFTに関するセキュリティを実装できる
サーバーサイド - 中央集権的である - 4
4.サーバーサイド - 中央集権的である - ・ダウンした際の影響が大きい ・プライバシーを侵害しうる 単一障害点 SPOF になりうる
“Your keys, your bitcoin” “Not your keys? Not your bitcoin”
- Andreas Antonopoulos -
使いこなせるセキュリティ ・ユーザーが所有権を持ちつつ、運用面まで考慮したセキュリティ 向上を指向する技術発展が望ましい 方向性の案 ・一部の信用(友人、事業者)を上手く取り込んだしくみ
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
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
Appendix
AndGoのハードウェアウォレット 「誰でも簡単に安全に秘密鍵を管理できる」を届ける ➔ セキュリティ・ファースト ◆ 多層のセキュリティ対策 ◆ 直感的UIでミスの芽を摘む ◆ 大画面で取引詳細確認も容易
➔ 使いたい時すぐ使える利便性 ◆ スマホにワイヤレス接続 ◆ パスワード/PIN入力も不要 ➔ 日本語UI、日本語サポート
ウォレットのバックアップと復元 24英単語を紙にメモ
暗号通貨の受け取り アドレス表示またはQRコード
暗号通貨の送金 アドレスを入力(コピペ)