Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
SecHack365 '19 愛媛回発表
Search
Izuho Fujiwara
December 01, 2019
Programming
0
620
SecHack365 '19 愛媛回発表
暗号通貨サービスとQRコードを活用した署名システムの提案
Izuho Fujiwara
December 01, 2019
Tweet
Share
More Decks by Izuho Fujiwara
See All by Izuho Fujiwara
Passkey 概論 ~ はてな 秋の京都オフ会 ~
fujiwaraizuho
0
260
はじめての、シビックテック
fujiwaraizuho
1
99
SecHack365 '19 最終発表
fujiwaraizuho
0
810
SecHack365 '19 中間発表
fujiwaraizuho
0
690
Other Decks in Programming
See All in Programming
現場で役立つモデリング 超入門
masuda220
PRO
15
3.1k
Make Impossible States Impossibleを 意識してReactのPropsを設計しよう
ikumatadokoro
0
150
ヤプリ新卒SREの オンボーディング
masaki12
0
120
初めてDefinitelyTypedにPRを出した話
syumai
0
340
What’s New in Compose Multiplatform - A Live Tour (droidcon London 2024)
zsmb
1
470
Macとオーディオ再生 2024/11/02
yusukeito
0
350
광고 소재 심사 과정에 AI를 도입하여 광고 서비스 생산성 향상시키기
kakao
PRO
0
170
3rd party scriptでもReactを使いたい! Preact + Reactのハイブリッド開発
righttouch
PRO
1
600
macOS でできる リアルタイム動画像処理
biacco42
9
2.3k
Why Jakarta EE Matters to Spring - and Vice Versa
ivargrimstad
0
880
Hotwire or React? ~アフタートーク・本編に含めなかった話~ / Hotwire or React? after talk
harunatsujita
1
120
Enabling DevOps and Team Topologies Through Architecture: Architecting for Fast Flow
cer
PRO
0
270
Featured
See All Featured
Automating Front-end Workflow
addyosmani
1366
200k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
The Pragmatic Product Professional
lauravandoore
31
6.3k
The Art of Programming - Codeland 2020
erikaheidi
52
13k
VelocityConf: Rendering Performance Case Studies
addyosmani
325
24k
Designing on Purpose - Digital PM Summit 2013
jponch
115
7k
What's in a price? How to price your products and services
michaelherold
243
12k
Ruby is Unlike a Banana
tanoku
96
11k
Thoughts on Productivity
jonyablonski
67
4.3k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
Facilitating Awesome Meetings
lara
50
6.1k
A designer walks into a library…
pauljervisheath
202
24k
Transcript
SecHack365 '19 愛媛回発表 暗号通貨サービスとQRコードを活用した署名システムの提案 開発駆動コース仲山ゼミ 藤原 出帆 1
秘密鍵 暗号通貨 送 金 依 頼 出 金 暗号通貨サービス 署名
ウォレット トランザクション 送信 利用者 署名システムについて 2
秘密鍵 暗号通貨 出 金 暗号通貨サービス 署名 ウォレット トランザクション 送信 利用者
署名システムについて 送 金 依 頼 3
秘密鍵 署名 トランザクション 署名システムについて 4
秘密鍵 署名 トランザクション 署名システムについて 重要 5
秘密鍵 署名 トランザクション 署名システムについて 重要 こんな重要なもの管理したくない 6
秘密鍵を利用者に管理させる 利用者 秘密鍵 7
秘密鍵を利用者に管理させる 利用者 ? CASE1 よくわからないけど秘密鍵消えました 8
秘密鍵を利用者に管理させる 利用者 秘密鍵 ? 攻撃者 攻撃 CASE2 秘密鍵を保管している端末のセキュリティが 弱すぎて盗まれました ?
9
秘密鍵を利用者に管理させる 利用者 秘密鍵 ??? 利用者に秘密鍵を管理させるのはすごく難しい 10
既存の署名システム 11
既存の署名システムについて 運営者が利用者の秘密鍵を管理する方法 • 運営者の意図だけで送金できてしまう → 改正資金決済法の暗号資産カストディ業務に関する規制に該当する為 金融庁へ仮想通貨交換業の申請を行う必要がある • サーバーに秘密鍵が保存されている 問題点
利用者 運営者 トランザクション 送金依頼 署名 12
既存の署名システムについて 外部ウォレットと連携する方法 問題点 • 利用者が暗号通貨サービスとは別のサービスに移動し秘密鍵の管理を 自己で行う必要があるためUI / UXが悪くなってしまう • 外部ウォレットサービスに依存する
利用者 外部ウォレット トランザクション 署名 暗号通貨サービス 送金依頼 13
利用者が暗号通貨サービスとは別のサービスに移動し秘密鍵の 管理を自己で行う必要があるためUI / UXが悪くなってしまう 改正資金決済法の暗号資産カストディ業務に関する規制に該 当する為金融庁へ仮想通貨交換業の申請を行う必要がある 問題1 問題2 既存の署名システムの問題点 14
利用者が暗号通貨サービスとは別のサービスに移動し秘密鍵の 管理を自己で行う必要があるためUI / UXが悪くなってしまう 改正資金決済法の暗号資産カストディ業務に関する規制に該 当する為金融庁へ仮想通貨交換業の申請を行う必要がある 問題1 問題2 既存の署名システムの問題点 15
UI / UXが悪くなってしまう理由 外部ウォレットと連携する方法 利用者 外部ウォレット トランザクション 署名 暗号通貨サービス 送金依頼
16
外部ウォレットと連携する方法 利用者 外部ウォレット トランザクション 署名 暗号通貨サービス 送金依頼 サービスが別なので新規登録が複数回必要 UI /
UXが悪くなってしまう理由 17
利用者が暗号通貨サービスとは別のサービスに移動し秘密鍵の 管理を自己で行う必要があるためUI / UXが悪くなってしまう 改正資金決済法の暗号資産カストディ業務に関する規制に該 当する為金融庁へ仮想通貨交換業の申請を行う必要がある 問題1 問題2 既存の署名システムの問題点 18
QRコードを活用した署名システム 19
QRコードを活用した署名システム サーバー データベース 署名用 QRコード 署名用パスワード ウォレット AES-256-CBC 暗号化 AES-256-CBC
復号 iv salt 署名 トランザクション 送 信 クライアントサイド サーバーサイド 20
QRコードを活用した署名システム 生成 サーバー データベース 署名用 QRコード 署名用パスワード ウォレット AES-256-CBC 暗号化
AES-256-CBC 復号 iv salt 署名 トランザクション 送 信 21
QRコードを活用した署名システム データベース 署名用 QRコード 署名用パスワード ウォレット ④ AES-256-CBC 暗号化 iv
salt ①ランダム生成 クライアントサイド サーバーサイド QRコードの生成 22
QRコードを活用した署名システム データベース 署名用 QRコード 署名用パスワード ウォレット ④ AES-256-CBC 暗号化 iv
salt ①ランダム生成 クライアントサイド サーバーサイド QRコードの生成 23
QRコードを活用した署名システム データベース 署名用 QRコード 署名用パスワード ウォレット ④ AES-256-CBC 暗号化 iv
salt ①ランダム生成 クライアントサイド サーバーサイド QRコードの生成 24
QRコードを活用した署名システム データベース 署名用 QRコード 署名用パスワード ウォレット ④ AES-256-CBC 暗号化 iv
salt ①ランダム生成 クライアントサイド サーバーサイド QRコードの生成 25
QRコードを活用した署名システム データベース 署名用 QRコード 署名用パスワード ウォレット ④ AES-256-CBC 暗号化 iv
salt ①ランダム生成 クライアントサイド サーバーサイド QRコードの生成 26
QRコードを活用した署名システム データベース 署名用 QRコード 署名用パスワード ウォレット ④ AES-256-CBC 暗号化 iv
salt ①ランダム生成 クライアントサイド サーバーサイド QRコードの生成 27
QRコードを活用した署名システム 署名 サーバー データベース 署名用 QRコード 署名用パスワード ウォレット AES-256-CBC 暗号化
AES-256-CBC 復号 iv salt 署名 トランザクション 送 信 28
QRコードを活用した署名システム データベース ④ AES-256-CBC 復号 クライアントサイド サーバーサイド QRコードで署名 署名用 QRコード
署名用パスワード ⑤ 署名 トランザクション サーバー ⑥ 送 信 29
QRコードを活用した署名システム データベース ④ AES-256-CBC 復号 クライアントサイド サーバーサイド QRコードで署名 署名用 QRコード
署名用パスワード ⑤ 署名 トランザクション サーバー ⑥ 送 信 30
QRコードを活用した署名システム データベース ④ AES-256-CBC 復号 クライアントサイド サーバーサイド QRコードで署名 署名用 QRコード
署名用パスワード ⑤ 署名 トランザクション サーバー ⑥ 送 信 31
QRコードを活用した署名システム データベース ④ AES-256-CBC 復号 クライアントサイド サーバーサイド QRコードで署名 署名用 QRコード
署名用パスワード ⑤ 署名 トランザクション サーバー ⑥ 送 信 32
QRコードを活用した署名システム データベース ④ AES-256-CBC 復号 クライアントサイド サーバーサイド QRコードで署名 署名用 QRコード
署名用パスワード ⑤ 署名 トランザクション サーバー ⑥ 送 信 33
QRコードを活用した署名システム データベース ④ AES-256-CBC 復号 クライアントサイド サーバーサイド QRコードで署名 署名用 QRコード
署名用パスワード ⑤ 署名 トランザクション サーバー ⑥ 送 信 34
QRコードを活用した署名システム サーバー データベース 署名用 QRコード 署名用パスワード ウォレット AES-256-CBC 暗号化 AES-256-CBC
復号 iv salt 署名 トランザクション 送 信 クライアントサイド サーバーサイド 35
とりあえず生成部分作ってみた 36
None
何が変わるのか very_strong_password 長過ぎるプライベートキー 署名用パスワードとQR army+describe+draft+soon+famous+ razor+duty+shoulder+hockey+blosso m+critic+degree+vendor+rebel+note +junior+scatter+educate+park+kidne y+dentist+health+museum+firs 38
まとめ • 秘密鍵はとっても重要 • 秘密鍵を利用者に管理させるのは危険 • 既存の署名システムには問題がある • 利用者の意図なしに運営者が送金できてしまうため、改正資金決済 法の暗号資産カストディ業務に関する規制に該当する可能性がある
• サービスごとに新規登録を行う必要があるためUI / UXが悪くなって しまう • QRコードを活用した署名システムを導入すればUI / UXの問題を解決し つつ安全に秘密鍵を管理できる • QRコードを活用した署名システムを導入した簡易暗号通貨ウォレット つくってバグハンティング • QRコードを活用した署名システムをゼニマに導入してローンチしたい こと • 発展: QRコードの管理の仕方やQRコードであるべきか? 39