Passkeyウォレットの仕組み

初級編10/24/2024, 6:40:27 AM
この投稿では、パスキーがどのように機能するか、暗号化ウォレットにパスキーを使用することのリスクを探索し、スマートコントラクトと組み合わせることでパスキーを使用することができるようになる口座抽象化について説明します。

パスキーは、安全でユーザーフレンドリーな認証アプローチであり、楕円曲線暗号を使用しているため、暗号ウォレットを作成して安全に保管するためにも使用できます。

この投稿では、パスキーの動作方法、暗号通貨ウォレットでのパスキー使用のリスク、そしてスマートコントラクトと組み合わせてパスキーを使用するためのアカウント抽象化について説明します。

パスキーとは何ですか?

パスキーは、ユーザーが機密情報を保存する必要も、ログインの詳細を覚える必要もなく、アプリケーションにサインインするための簡単で安全な方法です。代わりに、ユーザーは顔認証(Face ID)や指紋認証(Touch ID)などのようななじみのある方法を使用してアカウントを作成およびアクセスします。

これにより、ユーザーは機密情報を保存せずに、許可された方法でアプリケーションに簡単にログインし、対話することができ、シームレスな体験とフィッシングなどの一般的な攻撃ベクトルに対する追加のセキュリティを提供します。

ほとんどのデバイス(iPhoneなど)では、パスキーは専用ハードウェア内に保存されています。セキュアエンクレーブ;メインプロセッサが侵害されても、機密データを保護するために設計された専用の孤立した環境。

パスキーはどのように機能しますか?

パスキーは利用します公開鍵暗号ユーザーのデバイス上で、2つのキーで構成される公開・秘密鍵ペアを生成するために。

  • 公開鍵:これは誰でも見ることができます。アプリケーションのサーバーに保存されるか、時にはスマートコントラクト内でチェーン上に保存されます。楕円曲線暗号を使用して、公開鍵は常に秘密鍵から導出することができます。
  • プライベートキー:これはアカウントの所有者のみが知っているべきです(あるいは場合によっては所有者自身も知らない場合もあります)。これはSecure EnclaveやYubiKeyなどのセキュリティの高いハードウェア内部に保存されています。

Like ブロックチェーンウォレット, パスキーの秘密鍵は、ブロックチェーン上で状態変更を行うために送信できるメッセージや取引に署名するために使用できます。

パスキーの秘密鍵で取引に署名するには、取引は安全なハードウェアに送信され、そこで署名され、その結果の署名が出力されます。このプロセス全体で、オーナーまたはアプリ開発者は秘密鍵にアクセスすることはありません。彼らは生成された署名のみを受け取ります。

これにより、通常、プライベートキーがアプリケーションのメモリに読み込まれないため、ユーザーのセキュリティが向上し、潜在的な攻撃にさらされるリスクが低減します。 例えば、iPhoneでは、ユーザーは設定内でパスキーの値にすらアクセスできません。キーは専用のハードウェアに生成および保存されるため、インターフェイスからアクセスできません。

暗号財布にパスキーを使用する

パスキーと暗号ウォレットは、楕円曲線暗号の基礎技術を共有して公開鍵と秘密鍵のペアを生成します。ブロックチェーンアプリケーション開発者は、パスキーを利用して、強力なUXを持つユーザー向けの安全なアプリ内ウォレットを作成することができます。

ただし、ブロックチェーンアカウントにパスキーを使用する場合、重要な違いが1つあり、パスキーはブロックチェーンアカウントとは異なる楕円曲線を使用します。

Apple、Android、およびWebAuthnはすべて、パスワードキーにsecp256r1(またはP-256)曲線を使用していますが、ブロックチェーンアカウントはsecp256k1楕円曲線を使用しています。

これは、パスキーの秘密鍵によって署名されたトランザクションが、EthereumやAbstractなどのブロックチェーンによって理解されず(したがって拒否される)、ブロックチェーンのデフォルトの期待は、トランザクションがsecp256k1曲線上で生成されたキーペアによって署名されていることです。

通常の(EOA)ウォレットはk1曲線上で生成されるため、取引署名キーがパスキーによって生成されたプライベートキーによって署名された取引を検証するカスタムロジックを含むスマートコントラクトウォレットが必要です。その後、取引実行を承認します。

なぜブロックチェーンはsecp256k1曲線を使用するのですか?

Bitcoinは、暗号操作にsecp256k1曲線を最初に採用したことで、Ethereumやその他のEVMベースのチェーンがアカウントにk1バリエーションの曲線を使用する標準を設定しました。

曲線のk1バリエーションには、secp256r1よりもやや複雑な追加係数などの特徴が欠けているため、secp256k1は鍵生成、署名作成、検証においてより計算効率が高いです。

直接の脆弱性は見つかっていませんが、ビットコインはk1曲線をより一般的なr1曲線の代わりに選んだことで、NSAなどの政府機関によって秘密裏に導入されたバックドアの可能性を回避するための陰謀論も存在しています。彼らはNISTで承認された暗号基準の開発に関与しているためです。

スマートコントラクトウォレットがパスキーを有効にする方法

スマートコントラクトウォレット(例:サポートされているウォレット)Abstractのネイティブアカウント抽象化) EVMで実行するための任意のロジックを含めることができます。これには、r1曲線上で作成されたプライベートキーによって署名されたメッセージの署名検証も含まれます。

オープンソースライブラリのようにDaimoのオープンソースP256検証ツールSolidityで書かれたスマートコントラクト内のsecp256r1曲線上の署名を検証するために構築されました。

Ethereum上では、これはスマートコントラクトを使用することを意味します。ERC-4337アカウント抽象化標準ユーザー操作内のr1署名を検証するためにvalidateUserOpスマートコントラクトウォレットの機能。

On Abstract, ネイティブアカウント抽象化スマートコントラクトウォレットが、署名フィールドをパスキーの秘密鍵によって署名されたメッセージとして設定してトランザクションを送信できるようにします。トランザクションを送信したアカウントがr1署名を検証するロジックを含むスマートコントラクトである場合、validateTransactionfunction), トランザクションは受け入れられます。

スマートコントラクトウォレットとは何ですか?

スマートコントラクトウォレットは、機能を管理および制御するためにコード(スマートコントラクトの形式で)を使用するため、リカバリーモジュール、複数の承認済み署名者、支出制限、セッションキーなど、任意のカスタム機能を持つことができます。

スマートコントラクトウォレットは、従来のEOA(Externally Owned Accounts)ウォレットよりも柔軟性があり、任意のEVMコードを含めることができるため、r1楕円曲線で作成されたキーペアから署名を検証(つまり、トランザクションを承認)する権限を持っています。

RIP-7212のプリコンパイルとは何ですか?

r1カーブ上の署名の検証は、イーサリアムやアブストラクトのようなブロックチェーンには固有のものではないため、この検証を行うには計算量が膨大であり、k1署名と比較してr1署名の検証には大幅にガスコストが増加します(およそ100倍高い)。

RIP-7212(Rollup Improvement Proposal)は、Ethereum L2に事前コンパイルされたスマートコントラクトの追加を提案し、r1カーブでのガス効率的な署名検証を行います。これはまだEthereumに含まれていませんが、AbstractなどのEVM互換のスケーリングソリューションは、すでにこれを実装しており、r1署名検証において100倍のガス削減を提供しています。

Passkeyウォレットのデメリット

パスキーウォレットのデメリットは、それらが単一のドメインに紐づいているという事実です。たとえば、some-domain.comでウォレットを作成した場合、あなたのパスキー(したがってあなたのウォレット)はその特定のドメインにのみ接続できます。

これはフィッシング攻撃を回避するための意図的な設計の選択肢ですが、セルフカストディを重視するユーザーにとっては重大な欠点です。なぜなら、ウォレットは1つのアプリケーションに直接結び付けられているためです。

  1. 複数のアプリでサインインする際に1つのウォレットを持つ利点が得られず、これは仮想通貨ウォレットの主な利点の1つです。
  2. ドメインがダウンしたりアクセスできなくなったりすると(開発者がホスティングの支払いを停止した場合など)、ウォレットから資金にアクセスしたり引き出したりすることができなくなります。

これらの理由から、パスキーウォレットは少額のお金や初心者ユーザーを最初の暗号体験に乗せるために最も適しています。それらが自己保管ウォレットについてより知識を深めるまでの間。

デバイスを紐づけることで、ログインのための二要素認証を有効にしています。デバイスを失くした場合は、Gate.ioのアカウントに再度ログインし、セキュリティ設定を再構成する必要があります。

これは、パスキーのバックアップ方法によって異なります。パスキーをクラウド(Apple Keychainなど)にバックアップしておくことで、元のパスキーを紛失しても他のデバイスでアクセスできるようにすることができます。

デバイスが盗まれた場合、どうなりますか?

デバイス上ではセキュアエンクロージャにあるため、秘密鍵はいかなる時点でも読み取ることはできません。ただし、バイオメトリックデータにアクセスできる場合は、あたかもパスキー/ウォレットを制御しているかのように操作を行うことができます。

アプリケーションは私の生体認証データを取得しますか?

いいえ。お客様の生体認証データはどこにも送信されず、お客様のデバイスに保管されます。生体認証データは、単純にパスキーを「解除」するために使用されます。

免責事項:

  1. この記事は[から転載されていますabs.xyz]. すべての著作権は元の著者に帰属します [Jarrod Watts]. もし、この転載に異議がある場合は、お問い合わせください。Gate Learnチームが対応し、迅速に処理します。
  2. 責任の免責事項:この記事で表現されている見解や意見は、著者個人のものであり、投資アドバイスを構成するものではありません。
  3. 他の言語への記事の翻訳は、Gate Learnチームによって行われます。特に記載がない限り、翻訳された記事のコピー、配布、または盗用は禁止されています。

Passkeyウォレットの仕組み

初級編10/24/2024, 6:40:27 AM
この投稿では、パスキーがどのように機能するか、暗号化ウォレットにパスキーを使用することのリスクを探索し、スマートコントラクトと組み合わせることでパスキーを使用することができるようになる口座抽象化について説明します。

パスキーは、安全でユーザーフレンドリーな認証アプローチであり、楕円曲線暗号を使用しているため、暗号ウォレットを作成して安全に保管するためにも使用できます。

この投稿では、パスキーの動作方法、暗号通貨ウォレットでのパスキー使用のリスク、そしてスマートコントラクトと組み合わせてパスキーを使用するためのアカウント抽象化について説明します。

パスキーとは何ですか?

パスキーは、ユーザーが機密情報を保存する必要も、ログインの詳細を覚える必要もなく、アプリケーションにサインインするための簡単で安全な方法です。代わりに、ユーザーは顔認証(Face ID)や指紋認証(Touch ID)などのようななじみのある方法を使用してアカウントを作成およびアクセスします。

これにより、ユーザーは機密情報を保存せずに、許可された方法でアプリケーションに簡単にログインし、対話することができ、シームレスな体験とフィッシングなどの一般的な攻撃ベクトルに対する追加のセキュリティを提供します。

ほとんどのデバイス(iPhoneなど)では、パスキーは専用ハードウェア内に保存されています。セキュアエンクレーブ;メインプロセッサが侵害されても、機密データを保護するために設計された専用の孤立した環境。

パスキーはどのように機能しますか?

パスキーは利用します公開鍵暗号ユーザーのデバイス上で、2つのキーで構成される公開・秘密鍵ペアを生成するために。

  • 公開鍵:これは誰でも見ることができます。アプリケーションのサーバーに保存されるか、時にはスマートコントラクト内でチェーン上に保存されます。楕円曲線暗号を使用して、公開鍵は常に秘密鍵から導出することができます。
  • プライベートキー:これはアカウントの所有者のみが知っているべきです(あるいは場合によっては所有者自身も知らない場合もあります)。これはSecure EnclaveやYubiKeyなどのセキュリティの高いハードウェア内部に保存されています。

Like ブロックチェーンウォレット, パスキーの秘密鍵は、ブロックチェーン上で状態変更を行うために送信できるメッセージや取引に署名するために使用できます。

パスキーの秘密鍵で取引に署名するには、取引は安全なハードウェアに送信され、そこで署名され、その結果の署名が出力されます。このプロセス全体で、オーナーまたはアプリ開発者は秘密鍵にアクセスすることはありません。彼らは生成された署名のみを受け取ります。

これにより、通常、プライベートキーがアプリケーションのメモリに読み込まれないため、ユーザーのセキュリティが向上し、潜在的な攻撃にさらされるリスクが低減します。 例えば、iPhoneでは、ユーザーは設定内でパスキーの値にすらアクセスできません。キーは専用のハードウェアに生成および保存されるため、インターフェイスからアクセスできません。

暗号財布にパスキーを使用する

パスキーと暗号ウォレットは、楕円曲線暗号の基礎技術を共有して公開鍵と秘密鍵のペアを生成します。ブロックチェーンアプリケーション開発者は、パスキーを利用して、強力なUXを持つユーザー向けの安全なアプリ内ウォレットを作成することができます。

ただし、ブロックチェーンアカウントにパスキーを使用する場合、重要な違いが1つあり、パスキーはブロックチェーンアカウントとは異なる楕円曲線を使用します。

Apple、Android、およびWebAuthnはすべて、パスワードキーにsecp256r1(またはP-256)曲線を使用していますが、ブロックチェーンアカウントはsecp256k1楕円曲線を使用しています。

これは、パスキーの秘密鍵によって署名されたトランザクションが、EthereumやAbstractなどのブロックチェーンによって理解されず(したがって拒否される)、ブロックチェーンのデフォルトの期待は、トランザクションがsecp256k1曲線上で生成されたキーペアによって署名されていることです。

通常の(EOA)ウォレットはk1曲線上で生成されるため、取引署名キーがパスキーによって生成されたプライベートキーによって署名された取引を検証するカスタムロジックを含むスマートコントラクトウォレットが必要です。その後、取引実行を承認します。

なぜブロックチェーンはsecp256k1曲線を使用するのですか?

Bitcoinは、暗号操作にsecp256k1曲線を最初に採用したことで、Ethereumやその他のEVMベースのチェーンがアカウントにk1バリエーションの曲線を使用する標準を設定しました。

曲線のk1バリエーションには、secp256r1よりもやや複雑な追加係数などの特徴が欠けているため、secp256k1は鍵生成、署名作成、検証においてより計算効率が高いです。

直接の脆弱性は見つかっていませんが、ビットコインはk1曲線をより一般的なr1曲線の代わりに選んだことで、NSAなどの政府機関によって秘密裏に導入されたバックドアの可能性を回避するための陰謀論も存在しています。彼らはNISTで承認された暗号基準の開発に関与しているためです。

スマートコントラクトウォレットがパスキーを有効にする方法

スマートコントラクトウォレット(例:サポートされているウォレット)Abstractのネイティブアカウント抽象化) EVMで実行するための任意のロジックを含めることができます。これには、r1曲線上で作成されたプライベートキーによって署名されたメッセージの署名検証も含まれます。

オープンソースライブラリのようにDaimoのオープンソースP256検証ツールSolidityで書かれたスマートコントラクト内のsecp256r1曲線上の署名を検証するために構築されました。

Ethereum上では、これはスマートコントラクトを使用することを意味します。ERC-4337アカウント抽象化標準ユーザー操作内のr1署名を検証するためにvalidateUserOpスマートコントラクトウォレットの機能。

On Abstract, ネイティブアカウント抽象化スマートコントラクトウォレットが、署名フィールドをパスキーの秘密鍵によって署名されたメッセージとして設定してトランザクションを送信できるようにします。トランザクションを送信したアカウントがr1署名を検証するロジックを含むスマートコントラクトである場合、validateTransactionfunction), トランザクションは受け入れられます。

スマートコントラクトウォレットとは何ですか?

スマートコントラクトウォレットは、機能を管理および制御するためにコード(スマートコントラクトの形式で)を使用するため、リカバリーモジュール、複数の承認済み署名者、支出制限、セッションキーなど、任意のカスタム機能を持つことができます。

スマートコントラクトウォレットは、従来のEOA(Externally Owned Accounts)ウォレットよりも柔軟性があり、任意のEVMコードを含めることができるため、r1楕円曲線で作成されたキーペアから署名を検証(つまり、トランザクションを承認)する権限を持っています。

RIP-7212のプリコンパイルとは何ですか?

r1カーブ上の署名の検証は、イーサリアムやアブストラクトのようなブロックチェーンには固有のものではないため、この検証を行うには計算量が膨大であり、k1署名と比較してr1署名の検証には大幅にガスコストが増加します(およそ100倍高い)。

RIP-7212(Rollup Improvement Proposal)は、Ethereum L2に事前コンパイルされたスマートコントラクトの追加を提案し、r1カーブでのガス効率的な署名検証を行います。これはまだEthereumに含まれていませんが、AbstractなどのEVM互換のスケーリングソリューションは、すでにこれを実装しており、r1署名検証において100倍のガス削減を提供しています。

Passkeyウォレットのデメリット

パスキーウォレットのデメリットは、それらが単一のドメインに紐づいているという事実です。たとえば、some-domain.comでウォレットを作成した場合、あなたのパスキー(したがってあなたのウォレット)はその特定のドメインにのみ接続できます。

これはフィッシング攻撃を回避するための意図的な設計の選択肢ですが、セルフカストディを重視するユーザーにとっては重大な欠点です。なぜなら、ウォレットは1つのアプリケーションに直接結び付けられているためです。

  1. 複数のアプリでサインインする際に1つのウォレットを持つ利点が得られず、これは仮想通貨ウォレットの主な利点の1つです。
  2. ドメインがダウンしたりアクセスできなくなったりすると(開発者がホスティングの支払いを停止した場合など)、ウォレットから資金にアクセスしたり引き出したりすることができなくなります。

これらの理由から、パスキーウォレットは少額のお金や初心者ユーザーを最初の暗号体験に乗せるために最も適しています。それらが自己保管ウォレットについてより知識を深めるまでの間。

デバイスを紐づけることで、ログインのための二要素認証を有効にしています。デバイスを失くした場合は、Gate.ioのアカウントに再度ログインし、セキュリティ設定を再構成する必要があります。

これは、パスキーのバックアップ方法によって異なります。パスキーをクラウド(Apple Keychainなど)にバックアップしておくことで、元のパスキーを紛失しても他のデバイスでアクセスできるようにすることができます。

デバイスが盗まれた場合、どうなりますか?

デバイス上ではセキュアエンクロージャにあるため、秘密鍵はいかなる時点でも読み取ることはできません。ただし、バイオメトリックデータにアクセスできる場合は、あたかもパスキー/ウォレットを制御しているかのように操作を行うことができます。

アプリケーションは私の生体認証データを取得しますか?

いいえ。お客様の生体認証データはどこにも送信されず、お客様のデバイスに保管されます。生体認証データは、単純にパスキーを「解除」するために使用されます。

免責事項:

  1. この記事は[から転載されていますabs.xyz]. すべての著作権は元の著者に帰属します [Jarrod Watts]. もし、この転載に異議がある場合は、お問い合わせください。Gate Learnチームが対応し、迅速に処理します。
  2. 責任の免責事項:この記事で表現されている見解や意見は、著者個人のものであり、投資アドバイスを構成するものではありません。
  3. 他の言語への記事の翻訳は、Gate Learnチームによって行われます。特に記載がない限り、翻訳された記事のコピー、配布、または盗用は禁止されています。
今すぐ始める
登録して、
$100
のボーナスを獲得しよう!