Web3 стремительно расширяется: ежедневно появляются новые приложения, протоколы и функции. Однако для многих пользователей истинным барьером для входа является не отсутствие ончейн-функциональности, а скорее сложность безопасного хранения и восстановления ключей кошелька.
В настоящее время отраслевым стандартом остается сид-фраза (мнемоника). Тем не менее, этот подход сопряжен с реальными проблемами: пользователи часто делают скриншоты своих фраз и непреднамеренно синхронизируют их с облачными альбомами; другие записывают их на бумаге, а затем теряют или повреждают, что приводит к безвозвратной потере активов. Подобные истории слишком часты. Зачастую эти риски проистекают не из технических сбоев, а из-за упущений в повседневных привычках.
В последние годы появилось все больше решений для кошельков «в стиле Web2», которые позволяют пользователям создавать, резервировать копии и восстанавливать кошельки с помощью привычных методов входа. Хотя их цель — снизить барьер для входа, существуют существенные различия в том, как они реализованы, — в частности, сохраняют ли они истинную децентрализацию и самохранение.
Риск централизованного шардинга: Некоторые решения разделяют приватный ключ на несколько «долей» или «шардов». Само по себе разделение не является проблемой. Критический риск возникает, если одна участвующая сторона (например, серверная часть поставщика услуг) владеет достаточным количеством долей для достижения порога восстановления. Если это так, они технически обладают возможностью реконструировать полный ключ, что делает «самохранение» лишь номинальным обещанием.
Риск зависимости от HSM: Другие решения хранят приватные ключи в Аппаратных Модулях Безопасности (HSM), заявляя, что они будут подписывать транзакции только в соответствии со строгими правилами. Хотя это звучит надежно, если принудительное выполнение правил или исполнение политик происходит вне доверенного периметра (т.е. вне HSM), это может — в крайних сценариях — быть обойдено или скомпрометировано, что приведет к подписям, не отражающим намерение пользователя.
Чем безключевой кошелек OneKey отличается от других
Безключевой кошелек OneKey использует подход «Вход через Google/Apple + ПИН-код», сочетая простоту использования с истинным самохранением в одном дизайне.
Вы выполняете вход и восстановление, используя знакомые системные аккаунты, но базовая архитектура использует распределенный механизм управления ключами и подписи. Это гарантирует, что ни одна сторона, включая OneKey, не сможет реконструировать ваш полный ключ или инициировать переводы в одностороннем порядке.
Иными словами: даже если наши серверы, определенный компонент или одна участвующая сторона будут скомпрометированы, злоумышленник не сможет просто взломать OneKey, чтобы «украсть ваш кошелек».
Решение OneKey
Безключевой кошелек OneKey построен на распределенном механизме управления ключами. Его цель — избавить вас от рискованного бремени записи, хранения и транспортировки сид-фраз. Вместо этого вы можете создавать и восстанавливать свой кошелек с помощью метода, который вы уже знаете: Вход через Google / Apple + ПИН-код.
Снижение нагрузки, безусловное самохранение
Традиционные кошельки полагаются на сид-фразы (обычно 12 или 24 слова), требуя от пользователей их безопасного хранения и ручного восстановления при необходимости. Безключевой кошелек позволяет вам управлять своими активами, просто помня ПИН-код. Возможность восстановления вашего кошелька основана на распределенной архитектуре, гарантирующей, что полный контроль никогда не передается какому-либо одному поставщику услуг.
Двойная аутентификация: Аккаунт + ПИН-код
Безключевой кошелек использует два фактора аутентификации:
Ваш аккаунт Google / Apple
Ваш ПИН-код
Это означает, что даже если ваш аккаунт Google или Apple скомпрометирован, критические операции не могут быть выполнены без ПИН-кода. И наоборот, одного ПИН-кода недостаточно для восстановления или доступа к кошельку без входа в связанный аккаунт. Оба фактора незаменимы, что значительно снижает риск единой точки отказа.
Сид-фраза появляется только после верификации
В дизайне Безключевого кошелька полная сид-фраза или приватный ключ никогда не хранятся в открытом виде в каком-либо одном месте в течение длительного времени. Только когда вы успешно верифицируете свой аккаунт и ПИН-код на своем устройстве, кошелек локально завершает необходимые процессы восстановления и активации.
Как происходит резервное копирование и восстановление:
Зашифрованное хранилище: Данные, связанные с сид-фразой, хранятся на сервере в зашифрованном виде для обеспечения доступности (например, для восстановления на другом устройстве).
Механизм шардинга: Критические материалы, необходимые для дешифрования, разделяются и распределяются между несколькими сторонами или узлами.
Следовательно, если вы не завершите верификацию и не инициируете восстановление на своем устройстве, ни одна сторона (включая OneKey) не сможет в одностороннем порядке реконструировать его в используемый ключ в открытом виде.
Техническое углубление
В этом разделе объясняется, что происходит как на стороне клиента (вашего устройства), так и на стороне сервера, когда вы создаете новый Безключевой кошелек с использованием Google или Apple. Он также разъясняет, почему процессы «Резервное копирование» и «Восстановление» удобны для пользователя, но при этом гарантируют, что ни одна сторона никогда не получит доступ к вашему полному приватному ключу.
Резервное копирование Безключевого кошелька
При создании Безключевого кошелька в процессе онбординга вы можете:
Выбрать «Продолжить с Google» на главном экране.
Или нажать кнопку «•••» → Безключевой кошелек → Выбрать Google или Apple.
Важное примечание: Безключевой кошелек и традиционные кошельки с сид-фразой — это две различные, независимые системы. В настоящее время миграция «существующего кошелька с сид-фразой» в Безключевой кошелек не поддерживается; они существуют параллельно.
Рассмотрим технический процесс, который происходит, когда пользователь создает кошелек с использованием своей учетной записи Google или Apple.
Шаг 1 — Генерация, шифрование и хранение сид-текста на устройстве
Локальная генерация: Устройство локально генерирует новую сид-фразу (служащую источником случайности для ключевого материала кошелька).
Создание симметричного ключа: Устройство одновременно генерирует Симметричный ключ.
Шифрование: Устройство использует этот Симметричный ключ для шифрования сид-фразы, создавая Сид-текст.
Безопасное хранение: Только Сид-текст передается на сервер OneKey для безопасного хранения (обеспечивая доступность для восстановления на другом устройстве).
Ключевые моменты:
Локальная обработка: И сид-фраза в открытом виде, и Симметричный ключ генерируются и обрабатываются исключительно на устройстве. Они никогда не передаются напрямую за пределы устройства.
Неиспользуемый текст: Сам текст нельзя использовать для подписи. Без Симметричного ключа невозможно расшифровать текст обратно в используемую сид-фразу или ключевой материал.
Шаг 2 — Разделение Симметричного ключа на две доли «2 из 2»
Вернувшись на устройство, Симметричный ключ разделяется на две доли с использованием Секретного Распределения Шамира (SSS) с порогом 2 из 2:
Доля на сервере: Хранится на сервере OneKey.
Доля Juicebox: Хранится в децентрализованном протоколе хранения Juicebox.
Ключевые моменты:
При пороге 2 из 2 одной доли недостаточно для реконструкции Симметричного ключа. Даже если OneKey владеет как «Сид-текстом», так и «Долей на сервере», он не может в одностороннем порядке восстановить кошелек или инициировать подписание транзакции.
Шаг 3 — Запись сетевой доли в распределенной сети, защищенной ПИН-кодом
Доля Juicebox записывается в сеть Juicebox.
Пользователь устанавливает ПИН-код, который служит для защиты доступа к получению этой доли из Juicebox.
Техническая реализация: Доля дополнительно разделяется на несколько Под-долей и распределяется между разными узлами для хранения. Для получения доли необходимо ввести правильный ПИН-код, чтобы пройти пороговую верификацию сети.
Восстановление Безключевого кошелька
Шаг 1 — Аутентификация и получение Сид-текста + Доли на сервере
Устройство выполняет аутентификацию с использованием вашей учетной записи Google / Apple.
После успешной проверки устройство извлекает две части данных с бэкенда OneKey:
Сид-текст
Доля на сервере
Шаг 2 — Ввод ПИН-кода для получения Доли Juicebox
Вы вводите свой ПИН-код на устройстве.
Устройство использует ПИН-код для получения Доли Juicebox из протокола децентрализованного хранения Juicebox.
Шаг 3 — Реконструкция Симметричного ключа и дешифрование
Устройство объединяет Долю на сервере + Долю Juicebox для реконструкции исходного Симметричного ключа.
Оно использует этот Симметричный ключ для дешифрования Сид-текста, восстанавливая исходную сид-фразу локально на устройстве.
После завершения восстановления кошелек функционирует нормально в приложении OneKey, как и стандартный кошелек.
Комплексный анализ
Конечное состояние (распределение данных)
Пользователь: Имеет доступ к своей учетной записи Google / Apple и помнит ПИН-код.
Клиент OneKey (Устройство): Обладает используемой, расшифрованной сид-фразой (временно для использования).
Сервер OneKey: Хранит Текст и Долю на сервере.
Области Juicebox: Индивидуально хранят Под-доли Juicebox (необходимые для реконструкции Доли Juicebox).
Свойства безопасности
Компрометация базы данных сервера OneKey: Даже если злоумышленник получит доступ к Тексту и Доле на сервере, он не сможет в одностороннем порядке реконструировать Симметричный ключ. Следовательно, ему невозможно расшифровать сид-фразу.
Компрометация областей/узлов Juicebox: Если злоумышленник не получит достаточного количества Под-долей Juicebox (не достигнет порога восстановления), он не сможет восстановить Долю Juicebox и, следовательно, не сможет помочь в реконструкции Симметричного ключа.
Компрометация аккаунта: Одного доступа к учетной записи Google или Apple недостаточно для получения Под-долей Juicebox со стороны Juicebox. Процесс получения строго защищен ПИН-кодом; без ПИН-кода цепочка восстановления не может быть завершена.
Безопасность
Цель дизайна Безключевого кошелька OneKey — минимизировать барьер для входа без централизации «контроля» в руках какой-либо одной стороны. Поскольку восстановление кошелька является одной из наиболее чувствительных операций, мы ставим протокольные границы безопасности и модели угроз в основу нашего дизайна. Это гарантирует, что улучшенная удобство использования не достигается ценой безопасности.
Цели безопасности
Наша архитектура разработана для достижения следующих двух критически важных целей:
Отсутствие одностороннего доступа: Никакая третья сторона (включая OneKey) не должна иметь возможность в одностороннем порядке реконструировать или использовать приватный ключ или сид-фразу пользователя.
Строгие условия восстановления: Единственный способ для пользователя восстановить свой кошелек — это одновременное выполнение двух требований верификации:
Успешная аутентификация через свою учетную запись Google / Apple;
И подтверждение владения ПИН-кодом.
Почему OneKey (в одностороннем порядке) не может реконструировать ваш ключ
Для восстановления используемой сид-фразы или ключевого материала на вашем устройстве все следующие элементы должны присутствовать одновременно:
Сид-текст
Обе доли Симметричного ключа (Доля на сервере + Доля Juicebox)
Эта архитектура приводит к нескольким прямым выводам:
Злоумышленники внутри Juicebox: Если менее чем пороговое количество узлов/областей Juicebox действуют злонамеренно, злоумышленник не сможет реконструировать действительную Долю Juicebox и, следовательно, не сможет реконструировать Симметричный ключ.
Полная компрометация распределенной сети: Даже в гипотетическом сценарии, когда вся распределенная сеть шардинга скомпрометирована, злоумышленнику все равно не хватит Доли на сервере или Текста, хранящихся на бэкенде OneKey, что делает независимое восстановление невозможным.
Компрометация бэкенда OneKey: Даже если бэкенд OneKey будет атакован, злоумышленнику все равно не хватит доли, хранящейся на стороне Juicebox. Без Доли Juicebox данных бэкенда недостаточно для реконструкции Симметричного ключа или дешифрования Сид-текста.
Почему «Аккаунт + ПИН-код» незаменимы
В отношении идентификации и контроля доступа Безключевой кошелек разделяет «Кто вы» (Идентификация аккаунта) и «Что вы знаете» (ПИН-код):
Сторона аккаунта: OneKey использует установленные потоки входа/авторизации OAuth 2.0 для взаимодействия с Google и Apple для проверки личности и авторизации.
Сторона ПИН-кода: ПИН-код защищает процесс получения критической доли из протокола децентрализованного хранения (Juicebox). Даже если злоумышленник скомпрометирует ваш аккаунт, он не сможет получить соответствующую долю или завершить восстановление, не зная ПИН-кода.
Шифрование и управление ключами
На уровне шифрования и разделения ключей Безключевой кошелек придерживается принципа, что «Текст может храниться, но Ключи никогда не должны быть централизованы»:
Шифрование сид-фразы: Сид-фраза/ключевой материал шифруется с использованием алгоритмов аутентифицированного шифрования (AES-256) для создания текста, обеспечивающего проверку целостности во время восстановления.
Разделение и реконструкция ключей: Секретное Распределение Шамира (SSS) используется для разделения и реконструкции Симметричного ключа в соответствии с пороговыми правилами.
Шифрование бэкенда в состоянии покоя: Доли, хранящиеся на бэкенде, сначала шифруются с использованием Cloud KMS и алгоритмов шифрования перед хранением. Это гарантирует, что никогда не будет виден открытый текст на протяжении всего процесса, обеспечивая безопасность ключевых данных.
Надежность
Важный момент, который необходимо понять о Безключевом кошельке OneKey, заключается в том, что восстановление зависит от одновременного выполнения двух условий: вы должны иметь возможность войти в соответствующую учетную запись Google или Apple, и вы должны помнить свой ПИН-код.
В отличие от традиционных потоков «Забыли пароль» в Web2, OneKey не может извлечь ваш ПИН-код за вас, и мы не можем реконструировать ваш приватный ключ или сид-фразу от вашего имени. Это не недостаток продукта, а намеренная часть границы безопасности: если бы у поставщика услуг была возможность получить доступ к любому из этих элементов, основной атрибут «самохранения» был бы принципиально скомпрометирован.
Следовательно, истинное решение «Нулевого доверия» неизбежно требует, чтобы пользователь нес часть ответственности: поддерживать доступ к своей учетной записи и помнить свой ПИН-код.
Что, если я забуду свой ПИН-код?
Однако есть и подстраховка: сид-фраза для Безключевого кошелька существует в используемой форме на устройствах, где вы уже вошли в систему.
Если вы забудете свой ПИН-код, но у вас по-прежнему есть доступ к устройству, на котором кошелек вошел в систему и работает, вы, как правило, сможете сбросить ПИН-код на этом устройстве. Этот процесс создаст новую конфигурацию резервной копии, гарантируя, что вы сохраните возможность восстановления на разных устройствах в будущем.
Периодические напоминания о необходимости проверки ПИН-кода
Чтобы снизить риск забыть ПИН-код с течением времени, OneKey будет предлагать вам проверять свой ПИН-код через соответствующие интервалы.
Если в ходе одной из этих проверок вы понимаете, что не можете вспомнить свой ПИН-код, вам следует воспользоваться этой возможностью, чтобы немедленно сбросить ПИН-код, пока у вас все еще есть доступ к устройству, а затем сгенерировать/обновить конфигурацию резервной копии.
Окончательная граница доступности
Таким образом, вы, как правило, сохраните доступ к своему Безключевому кошельку, если выполняете хотя бы одно из следующих условий:
У вас по-прежнему есть рабочее устройство с выполненным входом; ИЛИ
Вы можете войти в свою учетную запись Google / Apple И вы помните свой ПИН-код (что позволяет восстановить кошелек на новом устройстве).
Наша рекомендация: Проведите «Учебную тревогу по восстановлению на другом устройстве»
Поскольку процесс восстановления — это, по сути, просто «Вход в аккаунт + Ввод ПИН-кода», мы настоятельно рекомендуем вам провести учебную тревогу по восстановлению на втором устройстве сразу после создания вашего Безключевого кошелька.
Сделав это, вы обеспечите:
Точку доступа на Устройстве А.
Точку доступа на Устройстве Б.
Подтвержденную уверенность в своем пути резервного копирования (Аккаунт + ПИН-код) для будущего восстановления на новых устройствах.
Заключение
Для многих новых пользователей, хотя сид-фразы и являются отраслевым стандартом, их использование часто далеко не интуитивно. Ввод сид-фразы на новом устройстве сопряжен со значительными трудностями, а знание того, как и где безопасно ее хранить, часто является источником путаницы.
Безключевой кошелек OneKey стремится найти иной баланс:
Он снижает барьер для входа, используя знакомый метод (Google / Apple + ПИН-код). В то же время, благодаря распределенной архитектуре управления ключами, он гарантирует, что ни одна сторона (включая OneKey) не сможет в одностороннем порядке реконструировать ваш полный ключ. Это достигает компромисса между «простотой использования» и «границами безопасности самохранения», что в значительной степени подходит для широкой публики.



