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.1k
クラウド 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
4k
@nestjs/bull の活用について
odanado
PRO
0
1.4k
Vue.observable で状態管理 / vue-observable-state-management
odanado
PRO
4
2k
nuxtjs-axios-error-handling
odanado
PRO
0
340
ブロックチェーンアプリのトランザクションに対するデータ分析 / 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
❄️ tmux-nixの実装を通して学ぶNixOSモジュール
momeemt
1
110
型安全なDrag and Dropの設計を考える
yudppp
5
620
rbs-traceを使ってWEARで型生成を試してみた After RubyKaigi 2025〜ZOZO、ファインディ、ピクシブ〜 / tried rbs-trace on WEAR
oyamakei
0
450
tsconfigのオプションで変わる型世界
keisukeikeda
1
110
Boast Code Party / RubyKaigi 2025 After Event
lemonade_37
0
300
TypeScriptのmoduleオプションを改めて整理する
bicstone
4
380
CQRS/ESのクラスとシステムフロー ~ RailsでフルスクラッチでCQRSESを組んで みたことから得た学び~
suzukimar
0
180
What Spring Developers Should Know About Jakarta EE
ivargrimstad
1
370
DevDay2025-OracleDatabase-kernel-addressing-history
oracle4engineer
PRO
5
1.5k
Language Server と喋ろう – TSKaigi 2025
pizzacat83
2
510
医療系ソフトウェアのAI駆動開発
koukimiura
1
170
try-catchを使わないエラーハンドリング!? PHPでResult型の考え方を取り入れてみよう
kajitack
1
100
Featured
See All Featured
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
820
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
Designing for Performance
lara
608
69k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
32
5.8k
VelocityConf: Rendering Performance Case Studies
addyosmani
329
24k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.8k
GraphQLとの向き合い方2022年版
quramy
46
14k
Fireside Chat
paigeccino
37
3.5k
It's Worth the Effort
3n
184
28k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Embracing the Ebb and Flow
colly
85
4.7k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
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