Passkeys - це безпечний та зручний підхід до аутентифікації, який також може бути використаний для створення та безпечного зберігання криптогаманців завдяки використанню еліптичної криптографії.
У цьому пості ми розглянемо, як працюють парольні ключі, дослідимо ризики використання парольних ключів для криптовалютних гаманців і дослідимо, як абстракція облікового запису дозволяє використовувати парольні ключі в поєднанні з розумними контрактами.
Парольні ключі - це простий та безпечний спосіб для користувачів увійти до додатка, не потребуючи зберігати чутливі паролі або пам'ятати будь-які дані входу. Замість цього користувачі створюють та отримують доступ до облікових записів за допомогою звичних методів, таких як біометрія, наприклад Face ID або Touch ID.
Це дозволяє користувачам легко увійти та взаємодіяти з додатками у авторизованому режимі, не зберігаючи чутливі облікові дані; забезпечуючи безшовний досвід та додаткову безпеку проти порушень даних та типових векторів атак, таких як фішинг.
На більшості пристроїв, таких як iPhone, паролі зберігаються у спеціалізованому апаратному забезпеченні, яке називається Безпечне сховище; Спеціальне ізольоване середовище, призначене для захисту конфіденційних даних, навіть якщо основний процесор скомпрометовано.
Passkeys використовуютьсякриптографія з відкритим ключемстворити пару публічного-приватного ключа на пристрої користувача, що складається з двох ключів:
Якблокчейн гаманці, приватний ключ від паскі може бути використаний для підпису повідомлень та транзакцій, які можуть бути відправлені для зміни стану на блокчейні.
Для підписання транзакції за допомогою приватного ключа парольного ключа транзакція надсилається на безпечний апаратний засіб, де вона підписується, а отриманий підпис потім виводиться. Протягом цього процесу власник або розробник додатків ніколи не мають доступу до приватного ключа; вони отримують лише згенеровані підписи.
Це забезпечує покращену безпеку для користувача, оскільки приватний ключ зазвичай не завантажується в пам'ять додатка, що зменшує ризик вразливості перед потенційними атаками. Наприклад, на iPhone користувач навіть не може отримати доступ до значення ключа доступу у своїх налаштуваннях, оскільки ключ генерується та зберігається в спеціалізованому обладнанні, що не доступне інтерфейсу.
Парольные ключи та криптокошельки використовують однакову основну технологію криптографії на еліптичній кривій для генерації пар публічного та приватного ключа. Розробники блокчейн-додатків можуть використовувати парольні ключі для створення безпечних внутрідодаткових гаманців для користувачів з потужним UX.
Однак, є одна важлива відмінність, яка ускладнює використання парольних ключів для облікових записів блокчейну; парольні ключі використовують іншу еліптичну криву, ніж облікові записи блокчейну.
У той час як Apple, Android і WebAuthn використовують криву secp256r1 (також відомий як P-256) для ключів доступу, блокчейн-акаунти використовують еліптичну криву secp256k1.
Це означає, що транзакції, підписані приватним ключем прохідного ключа, не розуміються (і, отже, відхиляються) блокчейнами, такими як Ethereum або Abstract. Типовою очікуваною умовою блокчейнів є те, що транзакція підписана ключовою парою, створеною на кривій secp256k1.
Оскільки звичайні (EOA) гаманці генеруються на кривій k1, тому необхідні смарт-контрактні гаманці, оскільки вони можуть містити власну логіку, яка перевіряє транзакції, підписані приватними ключами, згенерованими засобами доступу перед авторизацією виконання транзакції.
Bitcoin був першим, хто прийняв криву secp256k1 для криптографічних операцій, що встановило стандарт для Ethereum та інших ланцюжків, заснованих на EVM, використовувати варіацію k1 кривої для облікових записів.
Варіація кривої k1 також не має певних функцій, таких як додаткові коефіцієнти, що робить secp256r1 трохи складнішим, що означає, що secp256k1 є більш обчислювально ефективним для генерації ключа, створення підпису та верифікації.
Хоча прямі вразливості не були виявлені, існують також теорії змови, згідно з якими Bitcoin вибрав використання кривої k1 замість більш добре прийнятої кривої r1, щоб уникнути будь-якої можливості таємного введення тилового входу, яке можливо було б секретно внесено урядовими агентствами, такими як Національне агентство з безпеки США, враховуючи їх участь у розробці криптографічних стандартів, рекомендованих NIST.
Гаманці з розумним контрактом (такі як ті, які підтримуються Gate.io)Abstract's native абстракція облікового запису) може містити довільну логіку для виконання EVM, включаючи перевірку підпису для отриманих повідомлень, підписаних приватним ключем, створеним на кривій r1.
Відкриті бібліотеки, такі як Перевірник відкритого коду P256 від DaimoБули побудовані для перевірки підписів на кривій secp256r1 всередині розумних контрактів, написаних на Solidity.
На Ethereum це означає, що ви можете використовувати смарт-контракти, побудовані з Стандарт абстракції облікового запису ERC-4337для перевірки підпису r1 Операції користувача всерединіпідтвердити Операцію Користувача
функція гаманця розумного контракту.
На Абстракті, абстрагування місцевого облікового записудозволяє смарт-контрактним гаманцям надсилати транзакції зі значенням поля підпису, встановленим як повідомлення, підписане приватним ключем паспортного ключа. Якщо обліковий запис, який відправив транзакцію, є смарт-контрактом, який містить логіку для перевірки підписів r1 (у випадку,підтвердитиТранзакцію
функція), транзакція приймається.
Розумні гаманці з контрактами використовують код (у формі розумного контракту) для керування та контролю їх функціональністю, що означає, що вони можуть мати будь-які користувацькі функції, включаючи модулі відновлення, декілька схвалених підписантів, обмеження на витрати, ключі сесій тощо.
Гаманці з розумним контрактом пропонують більшу гнучкість, ніж традиційні гаманці EOA (Externally Owned Accounts), і, оскільки вони можуть містити довільний код EVM, мають можливість перевіряти підписи (тобто авторизувати транзакції) від ключових пар, створених на еліптичній кривій r1.
Оскільки перевірка підписів на кривій r1 не є властивою блокчейнам, таким як Ethereum або Abstract, обчислювально дорого виконувати цю перевірку; що призводить до радикального збільшення витрат на газ для перевірки підписів r1 порівняно з підписами k1 (приблизно в 100 разів дорожче).
RIP-7212 (Пропозиція про поліпшення Rollup) пропонує додавання попередньо скомпільованого розумного контракту до Ethereum L2 для більш ефективної перевірки підпису на кривій r1. Хоча це ще не включено в Ethereum, масштабовані рішення, сумісні з EVM, такі як Abstract, вже реалізували це і надають зниження витрат на газ у 100 разів для перевірки підпису r1.
Недоліком паскі-гаманців є той факт, що вони пов'язані з одним доменом. Наприклад, якщо ви створюєте гаманець на some-domain.com, ваш паскі (і, отже, ваш гаманець) може підключатися лише до цього конкретного домену.
Це свідомий вибір дизайну для уникнення фішингових атак, однак це становить серйозний недолік для користувачів, які цінують власну самостійність, оскільки ваш гаманець прив'язаний безпосередньо до одного додатка; означає:
З цих причин, гаманці з паролями найбільш підходять для невеликих сум грошей або для введення початківців у свої перші криптовалютні досвіди, поки вони не набудуть більшої інформованості про гаманці для самоконтролю.
Це залежить від того, як ви вирішуєте зберегти ваш ключ доступу. Є кілька варіантів резервного копіювання вашого ключа доступу в хмару (наприклад, Apple Keychain), щоб мати доступ до нього на інших пристроях, навіть якщо ви втратите свій оригінал.
Приватний ключ не може бути прочитаний на пристрої в будь-який момент, оскільки він знаходиться в Безпечному підсховищі. Однак, якщо вони мають доступ до вашої біометричних даних, вони можуть виконувати операції, ніби вони мали контроль над вашим парольним ключем/гаманцем.
Ні. Ваші біометричні дані нікуди не відправляються; вони залишаються на вашому пристрої. Ваші біометричні дані просто використовуються для «розблокування» коду доступу.
Passkeys - це безпечний та зручний підхід до аутентифікації, який також може бути використаний для створення та безпечного зберігання криптогаманців завдяки використанню еліптичної криптографії.
У цьому пості ми розглянемо, як працюють парольні ключі, дослідимо ризики використання парольних ключів для криптовалютних гаманців і дослідимо, як абстракція облікового запису дозволяє використовувати парольні ключі в поєднанні з розумними контрактами.
Парольні ключі - це простий та безпечний спосіб для користувачів увійти до додатка, не потребуючи зберігати чутливі паролі або пам'ятати будь-які дані входу. Замість цього користувачі створюють та отримують доступ до облікових записів за допомогою звичних методів, таких як біометрія, наприклад Face ID або Touch ID.
Це дозволяє користувачам легко увійти та взаємодіяти з додатками у авторизованому режимі, не зберігаючи чутливі облікові дані; забезпечуючи безшовний досвід та додаткову безпеку проти порушень даних та типових векторів атак, таких як фішинг.
На більшості пристроїв, таких як iPhone, паролі зберігаються у спеціалізованому апаратному забезпеченні, яке називається Безпечне сховище; Спеціальне ізольоване середовище, призначене для захисту конфіденційних даних, навіть якщо основний процесор скомпрометовано.
Passkeys використовуютьсякриптографія з відкритим ключемстворити пару публічного-приватного ключа на пристрої користувача, що складається з двох ключів:
Якблокчейн гаманці, приватний ключ від паскі може бути використаний для підпису повідомлень та транзакцій, які можуть бути відправлені для зміни стану на блокчейні.
Для підписання транзакції за допомогою приватного ключа парольного ключа транзакція надсилається на безпечний апаратний засіб, де вона підписується, а отриманий підпис потім виводиться. Протягом цього процесу власник або розробник додатків ніколи не мають доступу до приватного ключа; вони отримують лише згенеровані підписи.
Це забезпечує покращену безпеку для користувача, оскільки приватний ключ зазвичай не завантажується в пам'ять додатка, що зменшує ризик вразливості перед потенційними атаками. Наприклад, на iPhone користувач навіть не може отримати доступ до значення ключа доступу у своїх налаштуваннях, оскільки ключ генерується та зберігається в спеціалізованому обладнанні, що не доступне інтерфейсу.
Парольные ключи та криптокошельки використовують однакову основну технологію криптографії на еліптичній кривій для генерації пар публічного та приватного ключа. Розробники блокчейн-додатків можуть використовувати парольні ключі для створення безпечних внутрідодаткових гаманців для користувачів з потужним UX.
Однак, є одна важлива відмінність, яка ускладнює використання парольних ключів для облікових записів блокчейну; парольні ключі використовують іншу еліптичну криву, ніж облікові записи блокчейну.
У той час як Apple, Android і WebAuthn використовують криву secp256r1 (також відомий як P-256) для ключів доступу, блокчейн-акаунти використовують еліптичну криву secp256k1.
Це означає, що транзакції, підписані приватним ключем прохідного ключа, не розуміються (і, отже, відхиляються) блокчейнами, такими як Ethereum або Abstract. Типовою очікуваною умовою блокчейнів є те, що транзакція підписана ключовою парою, створеною на кривій secp256k1.
Оскільки звичайні (EOA) гаманці генеруються на кривій k1, тому необхідні смарт-контрактні гаманці, оскільки вони можуть містити власну логіку, яка перевіряє транзакції, підписані приватними ключами, згенерованими засобами доступу перед авторизацією виконання транзакції.
Bitcoin був першим, хто прийняв криву secp256k1 для криптографічних операцій, що встановило стандарт для Ethereum та інших ланцюжків, заснованих на EVM, використовувати варіацію k1 кривої для облікових записів.
Варіація кривої k1 також не має певних функцій, таких як додаткові коефіцієнти, що робить secp256r1 трохи складнішим, що означає, що secp256k1 є більш обчислювально ефективним для генерації ключа, створення підпису та верифікації.
Хоча прямі вразливості не були виявлені, існують також теорії змови, згідно з якими Bitcoin вибрав використання кривої k1 замість більш добре прийнятої кривої r1, щоб уникнути будь-якої можливості таємного введення тилового входу, яке можливо було б секретно внесено урядовими агентствами, такими як Національне агентство з безпеки США, враховуючи їх участь у розробці криптографічних стандартів, рекомендованих NIST.
Гаманці з розумним контрактом (такі як ті, які підтримуються Gate.io)Abstract's native абстракція облікового запису) може містити довільну логіку для виконання EVM, включаючи перевірку підпису для отриманих повідомлень, підписаних приватним ключем, створеним на кривій r1.
Відкриті бібліотеки, такі як Перевірник відкритого коду P256 від DaimoБули побудовані для перевірки підписів на кривій secp256r1 всередині розумних контрактів, написаних на Solidity.
На Ethereum це означає, що ви можете використовувати смарт-контракти, побудовані з Стандарт абстракції облікового запису ERC-4337для перевірки підпису r1 Операції користувача всерединіпідтвердити Операцію Користувача
функція гаманця розумного контракту.
На Абстракті, абстрагування місцевого облікового записудозволяє смарт-контрактним гаманцям надсилати транзакції зі значенням поля підпису, встановленим як повідомлення, підписане приватним ключем паспортного ключа. Якщо обліковий запис, який відправив транзакцію, є смарт-контрактом, який містить логіку для перевірки підписів r1 (у випадку,підтвердитиТранзакцію
функція), транзакція приймається.
Розумні гаманці з контрактами використовують код (у формі розумного контракту) для керування та контролю їх функціональністю, що означає, що вони можуть мати будь-які користувацькі функції, включаючи модулі відновлення, декілька схвалених підписантів, обмеження на витрати, ключі сесій тощо.
Гаманці з розумним контрактом пропонують більшу гнучкість, ніж традиційні гаманці EOA (Externally Owned Accounts), і, оскільки вони можуть містити довільний код EVM, мають можливість перевіряти підписи (тобто авторизувати транзакції) від ключових пар, створених на еліптичній кривій r1.
Оскільки перевірка підписів на кривій r1 не є властивою блокчейнам, таким як Ethereum або Abstract, обчислювально дорого виконувати цю перевірку; що призводить до радикального збільшення витрат на газ для перевірки підписів r1 порівняно з підписами k1 (приблизно в 100 разів дорожче).
RIP-7212 (Пропозиція про поліпшення Rollup) пропонує додавання попередньо скомпільованого розумного контракту до Ethereum L2 для більш ефективної перевірки підпису на кривій r1. Хоча це ще не включено в Ethereum, масштабовані рішення, сумісні з EVM, такі як Abstract, вже реалізували це і надають зниження витрат на газ у 100 разів для перевірки підпису r1.
Недоліком паскі-гаманців є той факт, що вони пов'язані з одним доменом. Наприклад, якщо ви створюєте гаманець на some-domain.com, ваш паскі (і, отже, ваш гаманець) може підключатися лише до цього конкретного домену.
Це свідомий вибір дизайну для уникнення фішингових атак, однак це становить серйозний недолік для користувачів, які цінують власну самостійність, оскільки ваш гаманець прив'язаний безпосередньо до одного додатка; означає:
З цих причин, гаманці з паролями найбільш підходять для невеликих сум грошей або для введення початківців у свої перші криптовалютні досвіди, поки вони не набудуть більшої інформованості про гаманці для самоконтролю.
Це залежить від того, як ви вирішуєте зберегти ваш ключ доступу. Є кілька варіантів резервного копіювання вашого ключа доступу в хмару (наприклад, Apple Keychain), щоб мати доступ до нього на інших пристроях, навіть якщо ви втратите свій оригінал.
Приватний ключ не може бути прочитаний на пристрої в будь-який момент, оскільки він знаходиться в Безпечному підсховищі. Однак, якщо вони мають доступ до вашої біометричних даних, вони можуть виконувати операції, ніби вони мали контроль над вашим парольним ключем/гаманцем.
Ні. Ваші біометричні дані нікуди не відправляються; вони залишаються на вашому пристрої. Ваші біометричні дані просто використовуються для «розблокування» коду доступу.