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
750
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
SecHack365 '19 愛媛回発表
暗号通貨サービスとQRコードを活用した署名システムの提案
Izuho Fujiwara
December 01, 2019
More Decks by Izuho Fujiwara
See All by Izuho Fujiwara
Passkey 概論 ~ はてな 秋の京都オフ会 ~
fujiwaraizuho
0
430
はじめての、シビックテック
fujiwaraizuho
1
150
SecHack365 '19 最終発表
fujiwaraizuho
0
920
SecHack365 '19 中間発表
fujiwaraizuho
0
800
Other Decks in Programming
See All in Programming
ソフトウェアエンジニアにとっての生成AI - 特性を知って使い倒す / generative ai for software enginner
kishida
7
2.2k
業務時間外もAIに働いてもらう話
colorful12
2
9.2k
30年振りにコンパイラの定数整数除算を改善した
herumi
9
4.4k
異なる設計思想のフレームワークを経験して得た学び
amekuhideki
2
1.2k
My Marp Sample
sinoue0108
0
130
DynamoDBの基礎を振り返りながらベクトル検索機能を理解する
musan
3
250
PyConJP2026_wat_Python × Signal Processing: How to Draw Pictures with Sound Using Spectrogram Art
wat
0
590
【QA Test Talk Vol.8】AI-DLC による Whole Team Approach の加速
pkshadeck
PRO
0
260
komatsuna「分散システムにおけるバグ分析手法」
komatsunaqa
0
290
Discordを用いたラボオートメーション関連情報収集の自動化
noguhiro2002
0
470
Oxlintはいいぞ(続)
yug1224
1
490
楽しそうなつよつよエンジニアと目が死んでる僕/A brilliant engineer having a blast, and dead-eyed me.
3l4l5
2
260
Featured
See All Featured
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
4
520
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
370
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
580
Marketing to machines
jonoalderson
1
5.7k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
430
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Odyssey Design
rkendrick25
PRO
2
790
Tell your own story through comics
letsgokoyo
1
1.1k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Darren the Foodie - Storyboard
khoart
PRO
3
3.8k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
390
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
680
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