[レポート]web3 サービス導入時に気を付けるべきセキュリティのポイント ~ウォレットのキー管理実践など~ – AWS Security Forum Japan 2023 #aws #awssecurity

AWS Security Forum Japan 2023で行われた「web3 サービス導入時に気を付けるべきセキュリティのポイント ~ウォレットのキー管理実践など~」のセッションレポートです。
2023.10.12

こんにちは、臼田です。

みなさん、AWSのセキュリティ対策してますか?(挨拶

今回は2023年10月12日にオフラインで行われたAWS 国内最大のセキュリティイベントであるAWS Security Forum Japan 2023の下記セッションのレポートです。

web3 サービス導入時に気を付けるべきセキュリティのポイント ~ウォレットのキー管理実践など~

レコチョクは、ワンストップ EC ソリューション『murket』を提供しています。このプラットフォームは AWS 上で展開され、オンラインストアを簡単に開設できるだけでなく、さらに murket 上で取り扱う商品の一環として NFT を提供しています。そして、NFT の発行から販売までのプロセスを支援しています。このセッションでは、実際にレコチョクが web3 サービスを導入する際に直面したウォレット管理に関する課題に焦点を当て、その解決策を探求し、最終的に採用された手法について具体的な事例を交えて紹介します。また、導入に際して留意すべき点や注意事項についても解説します。

株式会社レコチョク エンジニアリングマネージャー 横田 直也氏

アマゾン ウェブ サービス ジャパン合同会社 技術統括本部 インターネットメディアソリューショングループ ソリューションアーキテクト 鈴木 祥太

レポート

  • AWS鈴木さん
  • AWSにおけるセキュリティデータ保護
    • AWSのセキュリティ
      • セキュリティはAWSに置いて最優先されるべき事項
      • クラウド自体のセキュリティはAWSが責任を持つ
      • クラウド利用の責任はお客様
    • 責任共有モデルで定義している
    • セキュリティを確保するためにWell-Architected Frameworkのセキュリティの柱を活用できる
    • セキュリティの柱におけるデータ保護
      • 組織のデータを気密レベルに基づいてカテゴリーに分類
      • 保管中/転送中のデータ保護につて定義
      • AWSサービスを活用することで保護体制を確立
    • AWS KMS
      • 暗号化操作に使用されるキーを簡単に作成及び管理できるマネージドサービス
    • AWS Secrets Manager
      • シークレットのライフサイクルを一元的に管理できるマネージドサービス
  • 株式会社レコチョク様の事例の概要
    • web3という先進的な取り組みに対するセキュリティ構築の歩み
    • web3分野に潜むセキュリティリスク
    • ブロックチェーンにおけるウォレットキーの管理ポイント
  • web3サービス導入
    • レコチョク横田さん
    • NFTの商品などを出している
    • レコチョクチケットなどの提供も開始している
    • 自己紹介
      • エンジニアリングマネージャーをしている
      • 次世代ビジネス推進部
    • murketというECソリューションを展開している
      • アーティスト個々のNFTストア
      • TシャツなどグッズとNFTを横並びにしている
    • NFTを楽しむ専用のWEBサイトmupla
      • レコチョクチケットでの入場管理などもできる
    • web3とはなにか
      • インターネット初期(Web1.0)
        • テキストベースで読むことが中心
      • Web2.0
        • 双方向のコミュニケーション
        • SNSの普及
        • 画像や動画
      • web3.0
        • 個人で管理する時代
        • 日中央集権、自律分散型
        • NFT、暗号資産、ウォレット、XtoErn
      • なぜ注目されているか
        • インターネットの所有が変わる
    • Web2.0と何が技術的に変わったのか
      • ブロックチェーン
        • 中央集権ではない
      • ウォレット
        • 個人の管理のもの
    • web3でもサービスのアーキテクチャは大きく変わらない
      • 異なるのは接続先にあるブロックチェーンだけ
      • でもこれでセキュリティは変わっている
    • web3では脆弱性が増えている
      • 一番多いのはSmart Contract
      • Flash Loanが2番目
      • Private Keyの漏洩が3番目
        • これは資産が漏洩するので対策がとても重要
    • webサービスを始めよう!とする
      • 最初に考えるのはどのようなサービスを提供するか
      • NFTを発行するにも転送するにもガス代(手数料)が必要
      • そのためにはウォレットが必要
      • ウォレットの選択と管理が最初のステップ
    • 誰のウォレットで管理すればいいの?
      • 個人なら自分のものでいい
      • 組織ではどうする?
      • 秘密鍵が漏洩すると秘密鍵に紐づいた情報にも影響が出る
      • 資産を失う可能性がある
    • 例えば
      • 会社から貸与されたPCで個人で管理するのは危険
      • 複数人だが固定の人たちで管理するのは危険
      • 企業全体でルールた必要
    • いくつか検討していく中で出てきた案を紹介します
      • 専用PCを1台用意してそこでのみウォレットが利用できる
        • 誰かのPCでの管理ではない
        • 特定の人しかアクセスできない
        • しかしデメリットが多い
          • PC管理コストやバックアップが難しい
          • アプリケーションからの操作が難しい
      • ハードウェアウォレットを利用する
        • USBタイプのものもあり軽くて楽
        • 誰かの持ち物じゃなく管理できる
        • ネットワークに常時繋いでいないので安全
        • まだデメリットがある
          • どう管理する
          • アプリケーションからの操作が難しい
          • ハードウェアメーカーを信頼できるところにする必要がある
      • マルチシグウォレットを利用する
        • 一人ではトランザクションが作成できない
        • 一人が秘密鍵をなくしても問題ない
        • それぞれのPCで秘密鍵管理してもいい
        • デメリット
          • ガス代が高い場合がある
          • スピード感が出ない
          • アプリケーションからの操作が難しい
      • 最終的に人の操作からトランザクションを発生させないでアプリケーションからの操作に寄せることとした
        • 人の操作なし
        • プログラムからのみアクセス
        • アクセス制御、管理がしやすい
        • デメリット
          • 人がどうしても必要になったとき
          • 秘密鍵を取り出す必要がある
    • どうやるか
      • AWS Secrets Managerを利用する
      • まだ問題は残る
      • エンジニアが誰でも鍵を取得できてしまう
      • もう少し制御したい
      • AWS KMSも利用する
        • キーポリシーを活用してより厳密なコントロールができる
        • CloudTrailでログ監視もできる
    • アーキテクチャはシンプル
      • アプリケーションはSecrets Managerから鍵を取得してブロックチェーンにアクセスする
    • 1年間運用してみて
      • 今のところ大きく困ってはいない
      • アクセス制御の編集は必要になっているがそこまで気にしていない
      • Amazon Managed Blockchainで秘密鍵の管理もできたらいいと望んでいる
      • 新たな鍵の概念も生まれているのでキャッチアップが必要
    • その他注意したこと
      • スマートコントラクト周りやアーキテクチャも含めたセキュリティ診断を入れる
      • 先人の知恵を借りる
        • 新しい領域のリスクを把握する

感想

鍵管理の課題を解決するためのアプローチについて紹介されていました。

新しい技術のリスクをキャッチアップしたり、その対策をどうやるかというのは大変ですね。是非参考にしましょう。