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
430
ハードウェアウォレットのしくみ - ブロックチェーンサービスのセキュリティを考える -
Toshihide Hara
November 28, 2018
Tweet
Share
More Decks by Toshihide Hara
See All by Toshihide Hara
toshihr
0
73
toshihr
0
20
toshihr
0
72
toshihr
0
55
Other Decks in Technology
See All in Technology
fujiihda
8
990
clustervr
0
160
torisoup
0
270
am7cinnamon
2
2.7k
opelab
2
290
kentaro
1
390
soracom
0
270
kawaguti
0
110
tzkoba
0
390
viva_tweet_x
5
2.6k
hacker2202
0
760
neo_analytics
1
1k
Featured
See All Featured
dougneiner
55
5.4k
lynnandtonic
270
16k
cassininazir
347
20k
holman
448
130k
jrom
114
7.1k
bermonpainter
342
26k
sferik
609
54k
nonsquared
81
3.3k
wjessup
338
16k
revolveconf
200
9.6k
jakevdp
774
200k
sugarenia
233
830k
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コード
暗号通貨の送金 アドレスを入力(コピペ)