Как работают passkey
Ключи, которые управляют кошельком Vela, — это passkey: учётные данные WebAuthn на кривой P-256. Каждый из них создаёт ваше устройство или ключ безопасности; оно же хранит закрытый ключ и использует его только после того, как вы подтвердите действие, — через Face ID, отпечаток пальца, PIN-код устройства или касание и PIN-код на ключе безопасности. Vela никогда не получает закрытый ключ; если ключ синхронизирует менеджер паролей, он хранит его от вашего имени в зашифрованном виде.
Что такое passkey
Passkey — это пара из открытого и закрытого ключа, созданная для одного сайта; у
Vela это getvela.app. Приложение никогда не получает закрытый ключ: оно может
только попросить аутентификатор что-то подписать, а аутентификатор сначала
спрашивает вас.
Где хранится закрытый ключ, зависит от вида ключа:
| Вид ключа | Где хранится закрытый ключ | Синхронизируется на другие устройства? |
|---|---|---|
| Это устройство — Face ID, Touch ID, отпечаток пальца, Windows Hello | Менеджер паролей вашей платформы (Связка ключей iCloud, Менеджер паролей Google) или сторонний, например 1Password | Обычно да, со сквозным шифрованием, если синхронизация включена. Ключи Windows Hello остаются на этом компьютере |
| Другой телефон, подключённый по QR-коду | Менеджер паролей того телефона | Так же, как выше |
| Аппаратный ключ безопасности (YubiKey и другие ключи FIDO2, по USB или NFC) | Внутри ключа безопасности | Никогда |
Кошелёк Vela может использовать до семи ключей в любом сочетании; они выбираются при создании кошелька. Об этом выборе — на странице Подписывающие ключи и ключи безопасности.
Фишингу нечего украсть
Фишинг работает так: вас уговаривают отдать секрет. Сид-фраза — это двенадцать
слов, которые вас могут уговорить где-нибудь ввести. У passkey нет секрета,
который можно ввести: нечего раскрыть, нечего вставить, и поддельный сайт не
может его попросить. А поскольку passkey создаётся для одного сайта, браузер
предлагает passkey для getvela.app только страницам на getvela.app и его
поддоменах.
Так исчезает целый класс потерь, частый при самостоятельном хранении, — кража фразы восстановления.
От чего passkey не защищает
Passkey также не защитит от того, у кого в руках ваш разблокированный телефон и кто может пройти его проверку, или от того, кто контролирует аккаунт, через который синхронизируется ваш passkey. Держите код-пароль устройства включённым, защитите аккаунт Apple или Google и подумайте об аппаратном ключе безопасности, который нигде не синхронизируется.
Как ощущается подпись
- Вы подтверждаете транзакцию в Vela, прочитав, что она делает.
- Устройство или ключ безопасности запрашивает Face ID, отпечаток пальца, PIN-код или касание плюс PIN-код.
- Оно подписывает, и в приложение возвращается только подпись.
- Приложение передаёт подписанную операцию релею, а тот отправляет её в сеть; ваш контракт кошелька проверяет подпись passkey в блокчейне, прежде чем что-либо выполнить.
Куда попадает публичный ключ
Публичные половины ваших ключей записываются в публичный реестр в сети Gnosis, чтобы новое устройство могло найти ваш кошелёк. Об этом — страница Восстановление и вход.