Upgrade to Pro — share decks privately, control downloads, hide ads and more …

クラウド KMS の活用 / TOKYO BLOCKCHAIN TECH MEETUP 2022

クラウド KMS の活用 / TOKYO BLOCKCHAIN TECH MEETUP 2022

00766b8e1f9c2665cf7fd29f9cf558df?s=128

odanado
PRO

July 12, 2022
Tweet

More Decks by odanado

Other Decks in Programming

Transcript

  1. クラウド KMS の活用
 1
 TOKYO BLOCKCHAIN TECH MEETUP 2022
 @odan3240


  2. 自己紹介
 • Twitter: @odan3240
 • 五反田にある会社でソフトウェアエンジニア(後述)
 
 • 最近の興味
 ◦

    TypeScript
 ◦ Seaport
 ◦ EIP-2771: Secure Protocol for Native Meta Transactions 
 ◦ コントラクトウォレット
 2

  3. 宣伝
 • 普段のお仕事で開発しているサービス
 • ユニキス ガレージ
 ◦ NFT の生成ができる SaaS


    ◦ NFT の生成は API もあるので
 既存サービスとのインテグレーションも可能
 
 • ユニマ
 ◦ 生成した NFT を販売するマーケット
 
 3

  4. Web サービス開発における秘密鍵管理
 • サービスの要件によっては
 バックエンドからトランザクション発行が必要
 
 
 
 • 秘密鍵管理を環境変数で行った場合の課題


    ◦ 誰かがこっそり秘密鍵を MetaMask にインポート可能
 4

  5. クラウドの KMS
 • AWS/GCP/Azure などのクラウドサービスには
 KMS (Key Management Service) というサービスがある


    ◦ AWS Key Management Service
 ◦ Cloud KMS
 ◦ Azure Key Vault
 • 各 KMS は Ethereum が使用している
 楕円曲線暗号の secp256k1 サポートしている
 5

  6. クラウドの KMS
 • クラウドの KMS で秘密鍵管理すると都合が良い
 ◦ エンジニア含めて秘密鍵自体に誰もアクセスできない
 
 


    ◦ 誰が秘密鍵で署名したかログが残る
 ▪ API 呼び出しの監査ログは保存されている
 6

  7. cloud-cryptographic-wallet
 • https://github.com/odanado/cloud-cryptographic-walle t
 • クラウドの KMS にある秘密鍵を web3.js や

    ethers から 扱うためのライブラリ
 7

  8. cloud-cryptographic-wallet
 • 対応ライブラリ
 ◦ web3.js
 ◦ ethers
 ◦ hardhat (開発中)


    • 対応クラウド
 ◦ AWS
 ◦ GCP
 8

  9. まとめ
 • 生の秘密鍵を開発で運用すると
 セキュリティ的な不安要素がある
 • 各種クラウドの KMS の利点
 ◦ Ethereum

    の秘密鍵の形式に対応している
 ◦ セキュアに秘密鍵を使用できる
 • cloud-cryptographic-wallet を使用すると
 クラウドの KMS の秘密鍵で
 Ethereum 関係のライブラリを利用できる
 9