Как работают кошельки Passkey

Новичок10/24/2024, 6:40:27 AM
В этом посте мы рассмотрим, как работают ключи доступа, изучим риски использования ключей доступа для криптокошельков и углубимся в то, как абстракция учетной записи позволяет использовать ключи доступа в сочетании со смарт-контрактами.

Парольные ключи - это безопасный и удобный способ аутентификации, который также можно использовать для создания и безопасного хранения криптокошельков благодаря использованию криптографии эллиптических кривых.

В этом посте мы рассмотрим, как работают парольные ключи, изучим риски использования парольных ключей для криптовалютных кошельков и рассмотрим, как абстракция учетной записи позволяет использовать парольные ключи в сочетании с смарт-контрактами.

Что такое Passkeys?

Пасскейи - это простой и безопасный способ для пользователей войти в приложение, не требуя от них хранения чувствительных паролей или запоминания любых данных для входа. Вместо этого пользователи создают и получают доступ к учетным записям, используя знакомые методы, такие как биометрия, такие как Face ID или Touch ID.

Это позволяет пользователям легко входить и взаимодействовать с приложениями в авторизованном режиме, не храня чувствительные учетные данные; обеспечивая безупречный опыт и дополнительную защиту от утечек данных и распространенных векторов атак, таких как фишинг.

На большинстве устройств, таких как iPhone, парольные ключи хранятся внутри специализированного оборудования, называемого Безопасный контур; выделенная изолированная среда, разработанная для защиты конфиденциальных данных, даже если основной процессор скомпрометирован.

Как работают ключи доступа?

Passkeys используютсякриптография с открытым ключомдля генерации пары открытого и закрытого ключей на устройстве пользователя, состоящей из двух ключей:

  • Открытый ключ: Этот ключ может быть просмотрен любым. Он хранится на сервере приложения или иногда хранится on-chain в смарт-контракте. С использованием криптографии на эллиптических кривых открытый ключ всегда может быть выведен из закрытого ключа.
  • Приватный ключ: Это должно быть известно только владельцу учетной записи (или в некоторых случаях даже не известно владельцу). Он хранится внутри безопасного хранилища или другого защищенного аппаратного обеспечения, такого как YubiKey.

Какблокчейн кошелькиКлючевое слово частного ключа может использоваться для подписи сообщений и транзакций, которые могут быть отправлены для внесения изменений состояния на блокчейне.

Для подписи транзакции с помощью закрытого ключа парольной фразы, транзакция отправляется в защищенное аппаратное устройство, где она подписывается, и полученная подпись затем выводится. Ни владелец, ни разработчик приложения никогда не имеют доступа к закрытому ключу; они только получают сгенерированные подписи.

Это обеспечивает улучшенную безопасность для пользователя, поскольку приватный ключ обычно не загружается в память приложения, что снижает риск подвергнуться потенциальным атакам. Например, на iPhone пользователь даже не может получить доступ к значению кодовой фразы в своих настройках, так как ключ генерируется и хранится в специализированном аппаратном обеспечении, к которому интерфейс не имеет доступа.

Использование персональных ключей для криптокошельков

Парольные ключи и криптокошельки используют одну и ту же базовую технологию эллиптической кривой криптографии для генерации пар ключей. Разработчики приложений блокчейна могут использовать парольные ключи для создания безопасных кошельков в приложениях для пользователей с мощным пользовательским интерфейсом.

Однако есть одно важное отличие, которое вводит сложность при использовании паролей для учетных записей блокчейна; пароли используют другую эллиптическую кривую, чем учетные записи блокчейна.

В то время как Apple, Android и WebAuthn все используют кривую secp256r1 (также известную как P-256) для ключей доступа, учетные записи блокчейна используют эллиптическую кривую secp256k1.

Это означает, что транзакции, подписанные приватным ключом ключа доступа, не понимаются (и, следовательно, отклоняются) блокчейнами, такими как Ethereum или Abstract. По умолчанию блокчейны ожидают, что транзакция будет подписана ключевой парой, сгенерированной на кривой secp256k1.

Поскольку обычные (EOA) кошельки генерируются на кривой k1, поэтому требуются смарт-контрактные кошельки, так как они могут включать пользовательскую логику, которая проверяет транзакции, подписанные частными ключами, сгенерированными парольными ключами, перед авторизацией выполнения транзакции.

Почему блокчейны используют кривую secp256k1?

Биткойн был первым, кто принял кривую secp256k1 для криптографических операций, что установило стандарт для Ethereum и других цепей на основе EVM для использования вариации кривой k1 для учетных записей.

Вариант k1 кривой также лишен определенных особенностей, таких как дополнительные коэффициенты, которые делают secp256r1 немного более сложным, что означает, что secp256k1 более вычислительно эффективен для генерации ключей, создания подписей и верификации.

Хотя прямых уязвимостей не обнаружено, существуют также теории заговора, что Биткоин выбрал использовать кривую k1 вместо более широко принятой кривой r1, чтобы избежать возможности наличия тайного заднего хода, который мог бы быть введен правительственными агентствами, такими как НСА, учитывая их участие в разработке криптографических стандартов, одобренных НИСТ.

Как Smart Contract Wallets позволяют использовать пароли

Кошельки смарт-контрактов (такие, как те, которые поддерживаются в Нативная абстракция учетной записи Abstract) может содержать произвольную логику для выполнения EVM; включая проверку подписи для сообщений, которые он получает, подписанных закрытым ключом, созданным на кривой r1.

Открытые библиотеки, такие как проверяющий код Daimo с открытым исходным кодом P256были построены для проверки подписей на кривой secp256r1 внутри смарт-контрактов, написанных на Solidity.

На Ethereum это означает, что вы можете использовать смарт-контракты, созданные с помощью стандарт ERC-4337 для абстракции учетной записидля проверки подписи r1 операции пользователя внутри validateUserOpфункция кошелька смарт-контракта.

На абстракции, абстрагирование учетной записипозволяет смарт-контрактным кошелькам отправлять транзакции с установленным полем подписи в виде сообщения, подписанного частным ключом ключа доступа. Если учетная запись, отправившая транзакцию, является смарт-контрактом, который включает логику для проверки подписей r1 (вvalidateTransactionЕсли хеш выше цели (сложность сети), транзакция принимается.

Что такое кошелек смарт-контракта?

Кошельки с умными контрактами используют код (в виде умного контракта) для управления и контроля своей функциональностью, что означает, что они могут иметь любые настраиваемые функции, включая модули восстановления, несколько утвержденных подписантов, лимиты трат, ключи сессии и многое другое.

Кошельки смарт-контрактов предлагают большую гибкость по сравнению с традиционными кошельками EOA (внешнеуправляемые счета) и поскольку они могут включать произвольный код EVM, они имеют возможность проверять подписи (т.е. авторизовать транзакции) от пар ключей, созданных на эллиптической кривой r1.

Что такое предварительная компиляция RIP-7212?

Поскольку проверка подписей на кривой r1 не является встроенной в блокчейны, такие как Ethereum или Abstract, выполнение этой проверки требует больших вычислительных затрат, что приводит к резкому увеличению стоимости газа для проверки подписей r1 по сравнению с подписями k1 (примерно в 100 раз дороже).

RIP-7212 (Rollup Improvement Proposal) предлагает добавить предварительно скомпилированный смарт-контракт в Ethereum L2s для более экономичной проверки подписи на кривой r1. Хотя это еще не включено в Ethereum, EVM-совместимые решения для масштабирования, такие как Abstract, уже реализовали это и обеспечивают 100-кратное сокращение расхода газа для проверки подписи r1.

Недостатки кошельков Passkey

Недостатком кошельков с кодом доступа является то, что они привязаны к одному домену. Например, если вы создадите кошелек на some-domain.com, ваш код доступа (а следовательно, ваш кошелек) сможет подключаться только к этому конкретному домену.

Это преднамеренный выбор дизайна для предотвращения фишинговых атак, однако это создает серьезный недостаток для пользователей, ценящих самостоятельное хранение, так как ваш кошелек привязан непосредственно к одному приложению; это означает:

  1. Вы не получаете преимуществ от наличия одного кошелька для входа в несколько приложений, что является одним из ключевых преимуществ криптокошельков; и
  2. Если домен перестанет работать или станет недоступным (например, если разработчик перестанет оплачивать хостинг), вы не сможете получить доступ или вывести средства со своего кошелька.

Поэтому кошельки с ключом доступа наиболее подходят для небольших сумм денег или для привлечения начинающих пользователей к их первым криптовалютным опытам, пока они не станут более осведомленными о кошельках с собственным управлением.

Что произойдет, если я потеряю свое устройство?

Это зависит от того, как вы решите резервировать свой ключ. Существует несколько вариантов для резервного копирования ключа в облако (например, Apple Keychain), чтобы иметь возможность получить к нему доступ на других устройствах, даже если вы потеряете оригинальный.

Что происходит, если кто-то украдет мое устройство?

Закрытый ключ не может быть прочитан на устройстве в любой момент, так как он находится в Secure Enclave. Однако, если у них есть доступ к вашим биометрическим данным, они могут выполнять операции, как если бы у них был контроль над вашим кодом доступа/кошельком.

Приложение получает мои биометрические данные?

Нет. Ваши биометрические данные никуда не отправляются; Они остаются на вашем устройстве. Ваши биометрические данные просто используются для «разблокировки» ключа доступа.

Отказ:

  1. Эта статья перепечатана с [abs.xyz]. Все авторские права принадлежат оригинальному автору [Jarrod Watts]. Если есть возражения по поводу этого повторного издания, пожалуйста, свяжитесь с Gate Learnкоманда и они быстро справятся с этим.
  2. Отказ от ответственности: Взгляды и мнения, выраженные в этой статье, принадлежат только автору и не являются инвестиционным советом.
  3. Переводы статьи на другие языки выполняются командой Gate Learn. Если не указано обратное, копирование, распространение или плагиат переведенных статей запрещены.

Как работают кошельки Passkey

Новичок10/24/2024, 6:40:27 AM
В этом посте мы рассмотрим, как работают ключи доступа, изучим риски использования ключей доступа для криптокошельков и углубимся в то, как абстракция учетной записи позволяет использовать ключи доступа в сочетании со смарт-контрактами.

Парольные ключи - это безопасный и удобный способ аутентификации, который также можно использовать для создания и безопасного хранения криптокошельков благодаря использованию криптографии эллиптических кривых.

В этом посте мы рассмотрим, как работают парольные ключи, изучим риски использования парольных ключей для криптовалютных кошельков и рассмотрим, как абстракция учетной записи позволяет использовать парольные ключи в сочетании с смарт-контрактами.

Что такое Passkeys?

Пасскейи - это простой и безопасный способ для пользователей войти в приложение, не требуя от них хранения чувствительных паролей или запоминания любых данных для входа. Вместо этого пользователи создают и получают доступ к учетным записям, используя знакомые методы, такие как биометрия, такие как Face ID или Touch ID.

Это позволяет пользователям легко входить и взаимодействовать с приложениями в авторизованном режиме, не храня чувствительные учетные данные; обеспечивая безупречный опыт и дополнительную защиту от утечек данных и распространенных векторов атак, таких как фишинг.

На большинстве устройств, таких как iPhone, парольные ключи хранятся внутри специализированного оборудования, называемого Безопасный контур; выделенная изолированная среда, разработанная для защиты конфиденциальных данных, даже если основной процессор скомпрометирован.

Как работают ключи доступа?

Passkeys используютсякриптография с открытым ключомдля генерации пары открытого и закрытого ключей на устройстве пользователя, состоящей из двух ключей:

  • Открытый ключ: Этот ключ может быть просмотрен любым. Он хранится на сервере приложения или иногда хранится on-chain в смарт-контракте. С использованием криптографии на эллиптических кривых открытый ключ всегда может быть выведен из закрытого ключа.
  • Приватный ключ: Это должно быть известно только владельцу учетной записи (или в некоторых случаях даже не известно владельцу). Он хранится внутри безопасного хранилища или другого защищенного аппаратного обеспечения, такого как YubiKey.

Какблокчейн кошелькиКлючевое слово частного ключа может использоваться для подписи сообщений и транзакций, которые могут быть отправлены для внесения изменений состояния на блокчейне.

Для подписи транзакции с помощью закрытого ключа парольной фразы, транзакция отправляется в защищенное аппаратное устройство, где она подписывается, и полученная подпись затем выводится. Ни владелец, ни разработчик приложения никогда не имеют доступа к закрытому ключу; они только получают сгенерированные подписи.

Это обеспечивает улучшенную безопасность для пользователя, поскольку приватный ключ обычно не загружается в память приложения, что снижает риск подвергнуться потенциальным атакам. Например, на iPhone пользователь даже не может получить доступ к значению кодовой фразы в своих настройках, так как ключ генерируется и хранится в специализированном аппаратном обеспечении, к которому интерфейс не имеет доступа.

Использование персональных ключей для криптокошельков

Парольные ключи и криптокошельки используют одну и ту же базовую технологию эллиптической кривой криптографии для генерации пар ключей. Разработчики приложений блокчейна могут использовать парольные ключи для создания безопасных кошельков в приложениях для пользователей с мощным пользовательским интерфейсом.

Однако есть одно важное отличие, которое вводит сложность при использовании паролей для учетных записей блокчейна; пароли используют другую эллиптическую кривую, чем учетные записи блокчейна.

В то время как Apple, Android и WebAuthn все используют кривую secp256r1 (также известную как P-256) для ключей доступа, учетные записи блокчейна используют эллиптическую кривую secp256k1.

Это означает, что транзакции, подписанные приватным ключом ключа доступа, не понимаются (и, следовательно, отклоняются) блокчейнами, такими как Ethereum или Abstract. По умолчанию блокчейны ожидают, что транзакция будет подписана ключевой парой, сгенерированной на кривой secp256k1.

Поскольку обычные (EOA) кошельки генерируются на кривой k1, поэтому требуются смарт-контрактные кошельки, так как они могут включать пользовательскую логику, которая проверяет транзакции, подписанные частными ключами, сгенерированными парольными ключами, перед авторизацией выполнения транзакции.

Почему блокчейны используют кривую secp256k1?

Биткойн был первым, кто принял кривую secp256k1 для криптографических операций, что установило стандарт для Ethereum и других цепей на основе EVM для использования вариации кривой k1 для учетных записей.

Вариант k1 кривой также лишен определенных особенностей, таких как дополнительные коэффициенты, которые делают secp256r1 немного более сложным, что означает, что secp256k1 более вычислительно эффективен для генерации ключей, создания подписей и верификации.

Хотя прямых уязвимостей не обнаружено, существуют также теории заговора, что Биткоин выбрал использовать кривую k1 вместо более широко принятой кривой r1, чтобы избежать возможности наличия тайного заднего хода, который мог бы быть введен правительственными агентствами, такими как НСА, учитывая их участие в разработке криптографических стандартов, одобренных НИСТ.

Как Smart Contract Wallets позволяют использовать пароли

Кошельки смарт-контрактов (такие, как те, которые поддерживаются в Нативная абстракция учетной записи Abstract) может содержать произвольную логику для выполнения EVM; включая проверку подписи для сообщений, которые он получает, подписанных закрытым ключом, созданным на кривой r1.

Открытые библиотеки, такие как проверяющий код Daimo с открытым исходным кодом P256были построены для проверки подписей на кривой secp256r1 внутри смарт-контрактов, написанных на Solidity.

На Ethereum это означает, что вы можете использовать смарт-контракты, созданные с помощью стандарт ERC-4337 для абстракции учетной записидля проверки подписи r1 операции пользователя внутри validateUserOpфункция кошелька смарт-контракта.

На абстракции, абстрагирование учетной записипозволяет смарт-контрактным кошелькам отправлять транзакции с установленным полем подписи в виде сообщения, подписанного частным ключом ключа доступа. Если учетная запись, отправившая транзакцию, является смарт-контрактом, который включает логику для проверки подписей r1 (вvalidateTransactionЕсли хеш выше цели (сложность сети), транзакция принимается.

Что такое кошелек смарт-контракта?

Кошельки с умными контрактами используют код (в виде умного контракта) для управления и контроля своей функциональностью, что означает, что они могут иметь любые настраиваемые функции, включая модули восстановления, несколько утвержденных подписантов, лимиты трат, ключи сессии и многое другое.

Кошельки смарт-контрактов предлагают большую гибкость по сравнению с традиционными кошельками EOA (внешнеуправляемые счета) и поскольку они могут включать произвольный код EVM, они имеют возможность проверять подписи (т.е. авторизовать транзакции) от пар ключей, созданных на эллиптической кривой r1.

Что такое предварительная компиляция RIP-7212?

Поскольку проверка подписей на кривой r1 не является встроенной в блокчейны, такие как Ethereum или Abstract, выполнение этой проверки требует больших вычислительных затрат, что приводит к резкому увеличению стоимости газа для проверки подписей r1 по сравнению с подписями k1 (примерно в 100 раз дороже).

RIP-7212 (Rollup Improvement Proposal) предлагает добавить предварительно скомпилированный смарт-контракт в Ethereum L2s для более экономичной проверки подписи на кривой r1. Хотя это еще не включено в Ethereum, EVM-совместимые решения для масштабирования, такие как Abstract, уже реализовали это и обеспечивают 100-кратное сокращение расхода газа для проверки подписи r1.

Недостатки кошельков Passkey

Недостатком кошельков с кодом доступа является то, что они привязаны к одному домену. Например, если вы создадите кошелек на some-domain.com, ваш код доступа (а следовательно, ваш кошелек) сможет подключаться только к этому конкретному домену.

Это преднамеренный выбор дизайна для предотвращения фишинговых атак, однако это создает серьезный недостаток для пользователей, ценящих самостоятельное хранение, так как ваш кошелек привязан непосредственно к одному приложению; это означает:

  1. Вы не получаете преимуществ от наличия одного кошелька для входа в несколько приложений, что является одним из ключевых преимуществ криптокошельков; и
  2. Если домен перестанет работать или станет недоступным (например, если разработчик перестанет оплачивать хостинг), вы не сможете получить доступ или вывести средства со своего кошелька.

Поэтому кошельки с ключом доступа наиболее подходят для небольших сумм денег или для привлечения начинающих пользователей к их первым криптовалютным опытам, пока они не станут более осведомленными о кошельках с собственным управлением.

Что произойдет, если я потеряю свое устройство?

Это зависит от того, как вы решите резервировать свой ключ. Существует несколько вариантов для резервного копирования ключа в облако (например, Apple Keychain), чтобы иметь возможность получить к нему доступ на других устройствах, даже если вы потеряете оригинальный.

Что происходит, если кто-то украдет мое устройство?

Закрытый ключ не может быть прочитан на устройстве в любой момент, так как он находится в Secure Enclave. Однако, если у них есть доступ к вашим биометрическим данным, они могут выполнять операции, как если бы у них был контроль над вашим кодом доступа/кошельком.

Приложение получает мои биометрические данные?

Нет. Ваши биометрические данные никуда не отправляются; Они остаются на вашем устройстве. Ваши биометрические данные просто используются для «разблокировки» ключа доступа.

Отказ:

  1. Эта статья перепечатана с [abs.xyz]. Все авторские права принадлежат оригинальному автору [Jarrod Watts]. Если есть возражения по поводу этого повторного издания, пожалуйста, свяжитесь с Gate Learnкоманда и они быстро справятся с этим.
  2. Отказ от ответственности: Взгляды и мнения, выраженные в этой статье, принадлежат только автору и не являются инвестиционным советом.
  3. Переводы статьи на другие языки выполняются командой Gate Learn. Если не указано обратное, копирование, распространение или плагиат переведенных статей запрещены.
Начните торговать сейчас
Зарегистрируйтесь сейчас и получите ваучер на
$100
!