通知およびユーザーストレージのプライバシーアプローチ
MetaMask Portfolioで利用可能な新しい認証、通知、ユーザー設定の保存機能に関する情報。
MetaMask Webにログインするメリットとは?
MetaMask Webにログインすると、以下のことが可能になり、ユーザーエクスペリエンスが向上します。
ウォレットのアクティビティに関する通知を受け取れます
MetaMaskがインストールされたデバイス間でのユーザー設定と構成情報の同期が可能です。時間の経過とともに、アドレス帳、トランザクション履歴、インポートされたトークン、監視しているアドレスのバックアップとクロス同期も開始する予定です
ブラウザを変更またはリセットした場合に備えた設定のバックアップが可能です
MetaMaskユーザーのプライバシーはどのように保護されていますか?
ユーザー設定はMetaMaskでのアクティビティの機密性を損なうことなく同期されます。サービスプロバイダーがユーザーのデータをホストするWeb2のようなアーキテクチャとは異なり、当社はクライアント側で (つまりユーザーのデバイスでローカルに) 情報が暗号化される、プライバシー優先のアプローチを取っています。サーバーは暗号化されたデータの保管と仲介のみを担います。そのため、MetaMaskはどのユーザーやアドレスがどのようにこのサービスを使用しているのか、全く把握できません。
ログインはどのような仕組みですか?
MetaMask Webへのサインインを試みると、MetaMaskウォレットから、そのアカウントの所有者であることを証明するために、ご登録アドレスでメッセージに署名するよう求められます。署名後は、そのアカウントアドレスでMetaMask Webにログインできます。
当社はイーサリアムフローの標準サインインを使用します。当社のサーバーは署名済みのメッセージとユーザーのアドレスを受け取り、署名を確認し、アドレスとソルト (ランダムな値) をハッシュ値に変換してAccountIDを生成してから、アドレスを削除します。サーバーはAccountIDに署名し、クライアントがユーザー構成ストレージや通知などのMetaMaskサービスにアクセスするために使用できるJSON Webトークン (JWT) を出力します。 アドレスは保管されず、AccountIDハッシュは元に戻せないため、MetaMaskはログインしたユーザーやアドレスを把握できません。
ユーザー設定はどこでどのように保管されますか?
ユーザー設定は、ユーザーのみが所有する特別に生成されたキーで暗号化され、MetaMaskのサーバーに保管されます。ユーザー以外が設定を読み取ることはできません。 ログイン時に、アカウントの署名を提供されたメッセージに適用して生成されるハッシュを取得し、クライアント側のキーが作成されます。キーは決定性を持ち、この署名の結果は、同じアカウントが同じメッセージに署名した場合、常に同じになります。ユーザー設定はすべてMetaMaskのサーバーに送信される前に、このキーを使用してクライアント側で暗号化されます。
このアプローチにおいて、MetaMaskは単なるストレージに過ぎず、すべてがクライアント側で暗号化されているため、サービスを利用しているユーザーの情報や設定情報を把握することはできません。暗号化された情報は必要に応じて、同じユーザーが別のデバイスでMetaMaskにログインした場合、別のクライアントで解読できます。 また、当社はエコシステムと積極的に連携し、将来的にユーザー構成のストレージを分散化する方法を模索しています。
どのユーザー設定が保管されますか?
ユーザーの設定内容や構成情報が保管されます。たとえば、パブリックアドレス、通貨、お気に入りのトークン、インターフェース設定、アドレス帳などです。秘密鍵やシークレットリカバリーフレーズが保管、転送、バックアップされることはなく、いずれもユーザーのみがアクセスできます。
ウォレットのアクティビティ通知はどのような仕組みですか?
MetaMaskがブロックチェーンを監視し、トークンやNFTの受取、ステーキングの解除など、ユーザーのアドレスに関連したアクティビティがあったときにプッシュ通知を送信します。
クライアント側でのみ暗号化されたデータをホストするユーザー構成サービスとは異なり、通知サービスは監視対象のアドレスの暗号化されていないバージョンをサーバー側で保存する必要があります。複数のアドレスが同じユーザーに割り当てられないように、当社のサーバーは、属するユーザーに「結び付いていない」通知タスクを保存します。つまり、AccountIDとアドレスの結び付きは、クライアント側でのみ保管されます。