TGViewer
Из Solidity в AI и дальше Из Solidity в AI и дальше @solidityset · 2.49K subscribers
Post #1329 992
Пара слов о Passkeys

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

Сейчас часто встречаю статьи про технологию регистрации и логина на сайтах web2, которую назвали passkeys. Примечательно то, что она также использует систему приватных/публичных ключей, как и кошельки web3. А теперь, чуть подробнее.

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

1. Публичный ключ: хранится на сервере сервиса и не является конфиденциальным.

2. Приватный ключ: хранится на устройстве пользователя и защищается биометрической аутентификацией (например, отпечаток пальца или распознавание лица).

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

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

Тут надо уточнить, что приватный ключ хранится в защищенных аппаратных компонентах, таких как Secure Enclave (Apple) или Trusted Platform Module (Windows), и может быть защищен биометрией. Именно поэтому потеря девайса - станет проблемой.

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

Как вообще происходит создание ключа и регистрация на сайте:

1. Когда пользователь регистрирует passkey на сайте или в приложении, сервис отправляет запрос на создание новой пары ключей через протокол WebAuthn (Web Authentication API).

2. Устройство пользователя генерирует пару ключей: приватный ключ и публичный ключ, который создается одновременно с первым и может быть передан серверу сервиса.

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

5. Сервер связывает публичный ключ с учетной записью пользователя.

6. Теперь, когда пользователь пытается войти в систему, сервер отправляет запрос на аутентификацию через WebAuthn.

7. Устройство пользователя использует приватный ключ для подписания запроса. Этот процесс требует подтверждения пользователя (например, с помощью биометрии или PIN-кода).

8. Сервер проверяет подпись с помощью публичного ключа, сохраненного при регистрации. Если подпись верна, доступ предоставляется.

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

#passkeys
  • 🔥 5
  • ❤ 1
  • 👍 1
  • 🤔 1
More from @solidityset
  1. Sep 22, 2026Какой язык программирования учить сейчас? На днях в Твиттере увидел небольшой пост о разви…
  2. Sep 18, 2026Интересная модель Jev Буквально пару дней назад в Твиттере многие начали обсуждение новой…
  3. Sep 14, 2026Графы повсюду Если вы также следите за новостями в мире ИИ, то наверняка уже все чаще встр…
  4. Sep 10, 2026GTA6, Cyberleek, блокчейн и безопасность Увидел несколько постов (тут и тут) про Cyberleek…
  5. Sep 9, 2026Работа с чистой энергией Дисклеймер Сегодня ава и название канала, наконец, поменялись. Я…
  6. Sep 9, 2026Channel name was changed to «Из Solidity в AI и дальше»
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →