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
680
SecHack365 '19 愛媛回発表
暗号通貨サービスとQRコードを活用した署名システムの提案
Izuho Fujiwara
December 01, 2019
Tweet
Share
More Decks by Izuho Fujiwara
See All by Izuho Fujiwara
Passkey 概論 ~ はてな 秋の京都オフ会 ~
fujiwaraizuho
0
340
はじめての、シビックテック
fujiwaraizuho
1
120
SecHack365 '19 最終発表
fujiwaraizuho
0
860
SecHack365 '19 中間発表
fujiwaraizuho
0
730
Other Decks in Programming
See All in Programming
LLMOpsのパフォーマンスを支える技術と現場で実践した改善
po3rin
8
930
Google I/O Extended Incheon 2025 ~ What's new in Android development tools
pluu
1
290
대규모 트래픽을 처리하는 프론트 개발자의 전략
maryang
0
120
AIのメモリー
watany
13
1.5k
ゲームの物理
fadis
5
1.1k
Flutter로 Gemini와 MCP를 활용한 Agentic App 만들기 - 박제창 2025 I/O Extended Seoul
itsmedreamwalker
0
140
兎に角、コードレビュー
mitohato14
0
110
オホーツクでコミュニティを立ち上げた理由―地方出身プログラマの挑戦 / TechRAMEN 2025 Conference
lemonade_37
2
470
MCP連携で加速するAI駆動開発/mcp integration accelerates ai-driven-development
bpstudy
0
300
可変性を制する設計: 構造と振る舞いから考える概念モデリングとその実装
a_suenami
10
1.7k
The state patternの実践 個人開発で培ったpractice集
miyanokomiya
0
110
The State of Fluid (2025)
s2b
0
170
Featured
See All Featured
RailsConf 2023
tenderlove
30
1.2k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
1k
Intergalactic Javascript Robots from Outer Space
tanoku
272
27k
Building Adaptive Systems
keathley
43
2.7k
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.4k
Thoughts on Productivity
jonyablonski
69
4.8k
How to Ace a Technical Interview
jacobian
279
23k
Speed Design
sergeychernyshev
32
1.1k
Art, The Web, and Tiny UX
lynnandtonic
301
21k
The Invisible Side of Design
smashingmag
301
51k
GraphQLとの向き合い方2022年版
quramy
49
14k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
50
5.5k
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