OneKey Transfer — это функция приложения OneKey, которая безопасно перемещает закрытые ключи вашего программного кошелька между вашими устройствами. В этом руководстве объясняются многоуровневые меры безопасности, защищающие ваши данные.
Примечание о кошельках: Эта функция в настоящее время предназначена только для программных кошельков. Поддержка аппаратных кошельков более сложна и будет добавлена в будущей версии.
Основные принципы
Наша безопасность основана на трех ключевых обещаниях:
Открытый исходный код и надежность
Код нашего приложения и сервера является общедоступным. Любой может проверить его, чтобы убедиться в наших заявлениях о безопасности.
Сквозное шифрование (E2EE)
Ваши данные шифруются на вашем устройстве и расшифровываются только на устройстве назначения. Никто посередине, даже OneKey, не может их прочитать.
Нулевое разглашение сервера
Наш сервер действует только как диспетчер для соединения ваших устройств. Он не имеет доступа к передаваемым данным и не знает о них.
Создание ключа шифрования
Ваши данные блокируются ключом, состоящим из нескольких независимых частей. Злоумышленнику пришлось бы одновременно украсть все части из разных мест, чтобы попытаться взломать шифрование.
1. Динамический общий ключ (ECDHE)
Что это: Временный, одноразовый общий ключ, создаваемый непосредственно между двумя вашими устройствами в начале сеанса.
Ключевой момент: Этот ключ никогда не передается и не виден серверу. Он обеспечивает безопасность соединения, даже если ваш код сопряжения будет перехвачен (например, через запись экрана).
2. Код сопряжения
Первые 10 символов: Отправляются на сервер для идентификации устройств, желающих подключиться.
Последние 40 символов: Используются в качестве секретного компонента для окончательного ключа шифрования. Эта часть никогда не отправляется на сервер.
3. Дополнительные секретные компоненты
С вашего устройства (локально): Пароль блокировки вашего устройства, случайное число для передачи, уникальный идентификатор вашего экземпляра приложения и встроенный секретный ключ приложения (соль).
Из облака (сервер): Временный идентификатор соединения и еще одно случайное число, сгенерированное сервером для сеанса.
Коротко говоря, эта многоисточниковая композиция ключа создает невероятно высокий барьер безопасности. Чтобы иметь хоть какой-то шанс расшифровать ваши данные, злоумышленнику пришлось бы одновременно взломать сервер (чтобы перехватить данные, получить части ключа с облачной стороны и подменить ключ ECDHE с помощью атаки «человек посередине») И записать экран вашего приложения (чтобы украсть код сопряжения и другие части локального ключа).
Защита и проверки
Мы используем несколько активных мер для блокировки атак и обеспечения вашего контроля.
Защита на стороне сервера
Защита от перебора:
Ограничение скорости: Одно устройство может делать запрос только раз в 3 секунды, предотвращая атаки методом перебора.
Ограничение попыток: Код сопряжения можно использовать только 10 раз. После 10 неудачных попыток сеанс завершается.
Проверка, контролируемая пользователем
Проверка пароля блокировки экрана
Что вы делаете: Вы должны ввести пароль своего телефона для авторизации передачи.
Почему это важно: Это гарантирует, что человек, взявший ваш разблокированный телефон, не сможет украсть ваши ключи.
Физическая проверка 6-значного кода
Что вы делаете: После сопряжения вы должны физически подтвердить, что 6-значный код совпадает на экранах обоих ваших устройств.
Почему это важно: Это предотвращает атаку «человек посередине». Хакер не сможет завершить передачу, так как не увидит код на вашем втором устройстве.
Одноразовый код сопряжения
Что это: Код сопряжения истекает после одного успешного использования.
Почему это важно: Это обеспечивает защиту «превентивного соединения». Если хакер украдет ваш код и подключится первым, ваша собственная законная попытка подключения принудительно отключит хакера, гарантируя, что только вы сможете продолжить.
Расширенные параметры
Благодаря нашему открытому исходному коду вы можете еще больше повысить безопасность и конфиденциальность ваших данных при передаче:
Самостоятельный хостинг сервера: Разверните код нашего сервера на собственном сервере, а затем подключитесь к нему, выбрав в приложении опцию «Пользовательский сервер». Это даст вам полный контроль над вашими данными.
Передача по LAN (скоро): В будущей версии настольное приложение OneKey сможет выступать в качестве ретранслятора локальной сети (LAN). Это позволит вашим устройствам передавать данные, никогда не затрагивая общедоступный интернет, обеспечивая истинную физическую изоляцию.
