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
クラウド KMS の活用 / TOKYO BLOCKCHAIN TECH MEETUP 2022
Search
odanado
PRO
July 12, 2022
Programming
0
1.2k
クラウド KMS の活用 / TOKYO BLOCKCHAIN TECH MEETUP 2022
odanado
PRO
July 12, 2022
Tweet
Share
More Decks by odanado
See All by odanado
Vitest Browser Mode への期待 / Vitest Browser Mode
odanado
PRO
3
4.1k
@nestjs/bull の活用について
odanado
PRO
0
1.4k
Vue.observable で状態管理 / vue-observable-state-management
odanado
PRO
4
2k
nuxtjs-axios-error-handling
odanado
PRO
0
350
ブロックチェーンアプリのトランザクションに対するデータ分析 / PyCon-JP-2019
odanado
PRO
0
400
スマートコントラクトに対する既知の攻撃とその対策 / bc.tokyo-21
odanado
PRO
0
230
最近のweb3.js事情 / bc.tokyo-19
odanado
PRO
2
490
YAPC::Tokyo 2019に スタッフ参加してみて / kichijojipm-18
odanado
PRO
1
2.3k
JavaScript + Dockerの知見 / knowledge-of-docker-in-javascript
odanado
PRO
9
54k
Other Decks in Programming
See All in Programming
Select API from Kotlin Coroutine
jmatsu
1
180
ドメインモデリングにおける抽象の役割、tagless-finalによるDSL構築、そして型安全な最適化
knih
11
1.9k
Go Modules: From Basics to Beyond / Go Modulesの基本とその先へ
kuro_kurorrr
0
120
Spring gRPC で始める gRPC 入門 / Introduction to gRPC with Spring gRPC
mackey0225
2
520
Webからモバイルへ Vue.js × Capacitor 活用事例
naokihaba
0
740
単体テストの始め方/作り方
toms74209200
0
510
Cursor Meetup Tokyo ゲノミクスとCursor: 進化と制約のあいだ
koido
2
1k
セキュリティマネジャー廃止とクラウドネイティブ型サンドボックス活用
kazumura
1
190
Cline指示通りに動かない? AI小説エージェントで学ぶ指示書の書き方と自動アップデートの仕組み
kamomeashizawa
1
560
統一感のある Go コードを生成 AI の力で手にいれる
otakakot
0
3k
Team topologies and the microservice architecture: a synergistic relationship
cer
PRO
0
910
実践ArchUnit ~実例による検証パターンの紹介~
ogiwarat
2
280
Featured
See All Featured
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.8k
Balancing Empowerment & Direction
lara
1
340
What's in a price? How to price your products and services
michaelherold
245
12k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
700
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.9k
Faster Mobile Websites
deanohume
307
31k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Designing for humans not robots
tammielis
253
25k
Practical Orchestrator
shlominoach
188
11k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.3k
For a Future-Friendly Web
brad_frost
179
9.8k
Transcript
クラウド KMS の活用 1 TOKYO BLOCKCHAIN TECH MEETUP 2022 @odan3240
自己紹介 • Twitter: @odan3240 • 五反田にある会社でソフトウェアエンジニア(後述) • 最近の興味 ◦
TypeScript ◦ Seaport ◦ EIP-2771: Secure Protocol for Native Meta Transactions ◦ コントラクトウォレット 2
宣伝 • 普段のお仕事で開発しているサービス • ユニキス ガレージ ◦ NFT の生成ができる SaaS
◦ NFT の生成は API もあるので 既存サービスとのインテグレーションも可能 • ユニマ ◦ 生成した NFT を販売するマーケット 3
Web サービス開発における秘密鍵管理 • サービスの要件によっては バックエンドからトランザクション発行が必要 • 秘密鍵管理を環境変数で行った場合の課題
◦ 誰かがこっそり秘密鍵を MetaMask にインポート可能 4
クラウドの KMS • AWS/GCP/Azure などのクラウドサービスには KMS (Key Management Service) というサービスがある
◦ AWS Key Management Service ◦ Cloud KMS ◦ Azure Key Vault • 各 KMS は Ethereum が使用している 楕円曲線暗号の secp256k1 サポートしている 5
クラウドの KMS • クラウドの KMS で秘密鍵管理すると都合が良い ◦ エンジニア含めて秘密鍵自体に誰もアクセスできない
◦ 誰が秘密鍵で署名したかログが残る ▪ API 呼び出しの監査ログは保存されている 6
cloud-cryptographic-wallet • https://github.com/odanado/cloud-cryptographic-walle t • クラウドの KMS にある秘密鍵を web3.js や
ethers から 扱うためのライブラリ 7
cloud-cryptographic-wallet • 対応ライブラリ ◦ web3.js ◦ ethers ◦ hardhat (開発中)
• 対応クラウド ◦ AWS ◦ GCP 8
まとめ • 生の秘密鍵を開発で運用すると セキュリティ的な不安要素がある • 各種クラウドの KMS の利点 ◦ Ethereum
の秘密鍵の形式に対応している ◦ セキュアに秘密鍵を使用できる • cloud-cryptographic-wallet を使用すると クラウドの KMS の秘密鍵で Ethereum 関係のライブラリを利用できる 9