Обновление Safe Network 🇷🇺 4 ноября 2021 г

Это машинный перевод. Оригинал на английском здесь: Update 4 November 2021

«Сейф» в безопасной сети означает безопасный доступ для всех, конечно, но сейф также является сейфом, в котором вы можете запереть свои ценности. Соедините их вместе, и мы сможем представить себе сеть Сейфов, плавающих в море постоянно доступной информации. Хорошая картина.

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

Но постойте … что, если мы получим шишку на голове? Что, если наши бумажные резервные копии будут уничтожены пожаром или наводнением? Что, если мы состаримся (такое бывает) и… просто забудем? Наши драгоценности могут быть потеряны навсегда.

Должен быть способ лучше - и благодаря чуду пороговой криптографии он существует! @JimCollinson объясняет больше ниже.

Новости команды

Мы находимся на последних этапах назначения финансового директора (слава богу), который будет заниматься финтех. Это добавит к работе, которую Шэрон сделала для нас, но будет немного более подробным о запуске, адаптации и экономике токенов.

ПРОДВИЖЕНИЕ - @JimCollinson занял должность директора по стратегии. Все мы знаем Джима и знаем, на что он способен. Это освобождает его от авторитетных контактов с более широкой аудиторией. Джим будет работать с другими, в том числе с финансами, чтобы достичь запуска и не только. Нам не нужно говорить вам, насколько он хорош в этом, мы уже знаем :wink:

ПРОДВИЖЕНИЕ - @joshuef принял должность технического директора. Джош, как вы знаете, крут, как коты, и справляется с конфликтами, дебатами и командным духом так, как я никогда раньше не видел. Успокаивающее влияние, сосредоточенное на прогрессе. Нам повезло, что он есть, и снова мы сосредоточены на запуске, где Джош будет много взаимодействовать с командой запуска. Как Джим, который все еще использует инструменты и все еще работает, но с дополнительными полномочиями, позволяющими делать дела еще быстрее.

Оба промоушена были встречены всей командой, и это очень круто.

Все вместе, ребята :+1:

Общий прогресс

На прошлой неделе мы заявили, что очень близки к тому, чтобы удалить пул соединений из qp2p и перенести его в безопасную сеть, и мы рады сообщить, что @ chris.connelly теперь прочно оставил эту веху позади. Звучит технически - и на самом деле это технически, но в некоторой степени упрощает ситуацию.

@yogesh работает над реализацией еще одного упрощения, которое запланировано на некоторое время, но еще не запущено в тестовые сети. Когда узел хочет присоединиться к сети, он должен выполнить работу по объединению голосов старейшин и затем повторно отправить их, если у него достаточно.

Разработка безопасных, отказоустойчивых и удобных учетных данных

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

Итак, первая задача, чтобы эти учетные данные были полностью уникальными. Они не будут храниться в сети или где-нибудь на каком-то сервере, как в традиционных онлайн-аккаунтах. Таким образом, у них должно быть достаточно энтропии или случайности, чтобы на них не наткнуться, не столкнуться с чужими учетными данными или не пострадать от атаки в стиле «мозговой кошелек».

Более того, есть еще один набор качеств, которыми должны обладать эти полномочия:

  1. Они должны быть созданы в автономном режиме.
  2. Надежно записывать и хранить на бумаге.
  3. Есть механизм восстановления.
  4. Можно менять, не нарушая доступа.
  5. Не следует полагаться на человека в создании случайности.
  6. Может использоваться на любом устройстве. Т.е. не требует от меня управления отдельными учетными данными или паролями для каждого устройства, которое я использую.
  7. Может использоваться для удаленного закрытия доступа к Сейфу с устройства, которому я потерял доверие, без нарушения доступа через других лиц.
  8. Запрещается хранить в сети, в сети или передавать.
  9. Не должны содержать какую-либо общедоступную или различимую информацию обо мне.

Если пойти дальше и создать систему, удобную для людей, это означает, что они также должны обладать такими желательными функциями, как:

  • Памятный
  • Многоязычный
  • Эргономичный и удобный для использования на различных устройствах
  • Возможность использования дополнительных факторов в будущем в зависимости от моих потребностей и аппаратных ресурсов. Например. разрешите мне использовать аппаратный ключ или биометрические факторы на моем телефоне.

Это настоящий список желаний, не так ли? Мы могли бы глубоко погрузиться в каждую из них, но давайте просто рассмотрим решение, не так ли, и я объясню по ходу.

Безопасные учетные данные с использованием пороговой криптографии

Так можем ли мы это сделать? Что ж, вот предложение о том, какмы можем использовать подход Multisig к учетным данным с помощью BLS. Позвольте мне объяснить с помощью вайрфреймов.

Создание сейфа впервые

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


Эта фраза-пароль будет фразой в стиле BIP39 с контрольной суммой в конце.

Итак, с этими двумя элементами у нас есть кое-что, что вы знаете, пароль и что-то, что у вас есть кодовая фраза; и в сочетании мы можем генерировать подходящее количество энтропии.

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

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

Во-первых, это позволяет нам создать схему ключей «2 из 3» (Multisig FTW), что означает, что если я забуду свой пароль, я все равно могу получить доступ, используя свой телефон и кодовую фразу. Или, возможно, я не хочу вводить кодовую фразу каждый раз, когда открываю свой сейф; на этом доверенном устройстве я могу просто использовать свой пароль и ключ устройства, возможно, используя некоторые встроенные биометрические данные, для элемента того, кем вы являетесь.

Затем я готов закончить и впервые открыть Сейф локально, используя этот набор из трех учетных данных, два из которых _ всегда_ необходимы для разблокировки.

Mo ’Keys, Mo’ options

Но мне не нужно останавливаться на достигнутом. Я могу создавать дополнительные ключи доступа, чтобы обеспечить большую гибкость и отказоустойчивость. На экране параметров я создаю дополнительные парольные фразы, возможно, резервную копию, возможно, для хранения в разных физических местах. И я также могу настроить здесь дополнительные устройства (включая специальные аппаратные ключи, такие как YubiKey в будущем) или отозвать доступ к любому устройству или парольной фразе, к которой я потерял доверие или к которым больше не имею доступа.

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

Например, я могу настроить 3 из 6 или перейти к k-of-n по своему выбору. Кроме того, я могу всегда запрашивать пароль или кодовую фразу для разблокировки моего сейфа, запрещая доступ любому, у кого был доступ к двум или более моим устройствам.

Разблокировка на другом устройстве

Итак, я создал свой Сейф, но хочу открыть его на другом устройстве, которым раньше не пользовался. Давайте посмотрим, как это работает.

Мне предоставляется экран разблокировки, на который я нажимаю, чтобы ввести ключ доступа.

Затем мне предоставляется экран, который позволяет мне сканировать QR-код (который находится в распечатках парольных фраз или в использовании ключа устройства, о котором мы поговорим позже), или я могу просто начать вводить парольную фразу в текстовый ввод на Нижний.

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

Итак, здесь мы можем создать интерфейс, который, хотя и не супербыстрый, все же может быть плавным и довольно простым в использовании, когда дело доходит до ввода длинной фразы.

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

Обратите внимание, что только после того, как я успешно ввел этот первый ключ (кодовую фразу или ключ устройства), мне будет предложено ввести пароль.
Здесь мы видим, что пароль был успешно введен, а сейф разблокирован.

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

И на этой ноте …

Разблокировка без пароля

… Что до мне делать, если я забыл свой пароль? Это обычное явление и в целом одна из самых серьезных угроз безопасности наших данных в децентрализованной сети. В конце концов, нет ни центрального органа, к которому можно было бы обратиться, ни сервера, на который можно было бы отправить запрос на сброс пароля, ни списка имен пользователей с хешами паролей. Все зависит от меня и имеющихся в моем распоряжении инструментов.

К счастью, мы можем использовать эти команды Multisig, чтобы вернуться, если я не введу пароль, как я обычно это делаю.

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

Я вернулся к экрану разблокировки, и яможет увидеть введенную мной парольную фразу. Я не могу ввести здесь пароль, потому что я, конечно, забыл его, поэтому мне нужно будет использовать другое мое устройство, чтобы войти. Я нажимаю, чтобы ввести другой ключ доступа, и я готов отсканировать QR I ’ буду производить через другое моё устройство.

Используя другое устройство, которое я использовал раньше и на котором сохранен ключ устройства, я открываю экран разблокировки:

Нажав на ключ устройства, указанный здесь, или через меню в виде фрикаделек в правом верхнем углу, или, возможно, даже просто дважды нажав значок блокировки, я могу создать экран ключа устройства, на котором есть QR-код для сканирования на новом устройстве (или, если я хочу, Я мог бы показать его как кодовую фразу и ввести вручную. Или в дальнейшем мы могли бы рассмотреть другие варианты, такие как NFC easy, но вы поняли идею).

Следует отметить, что ключ доступа (точнее, совместное использование ключей), представленный отображаемым здесь QR-кодом, генерируется при открытии экрана. Он передается новому устройству и в сочетании со вторым ключом позволяет разблокировать Сейф. Это позволяет избежать раскрытия / передачи самого ключа устройства, а скорее представляет собой процесс создания ключа специально для целевого устройства через существующее.

Поэтому я сканирую QR-код на новом устройстве …

… И я вошел. На этом этапе я могу добавить ключ устройства на новое устройство и, конечно же, пойти и сбросить свой пароль.

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

Итак, как выглядит это предложение?

Что вы думаете? Будет ли это соответствовать всем требованиям? Подход Multisig, который дает нам систему учетных данных, которая:

:white_check_mark: Может быть создан в автономном режиме
:white_check_mark: Эргономичны
:white_check_mark: Разрешить запоминаемость
:white_check_mark: Они читаются и произносятся человеком, что позволяет их записывать и надежно вводить
:white_check_mark: Устойчивы к потере учетных данных
:white_check_mark: Можно изменить без нарушения доступа
:white_check_mark: Они не полагаются исключительно на людей в поисках энтропии
:white_check_mark: Может использоваться на множестве устройств
:white_check_mark: Может быть доступен на нескольких языках и легко расширяется
:white_check_mark: Разрешите мне отозвать доступ к устройствам, которым я потерял доверие
:white_check_mark: Не нужно хранить в сети, онлайн или передавать
:white_check_mark: И не требовать никакой общедоступной или доступной информации.

Это чистая уборка?

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

Вникните во все детали

Если вы хотите поближе познакомиться с каркасными пользовательскими потоками для этого предложения, вы можете сразу перейти к полностью документированной Фигме ниже. В этом есть немного больше нюансов, чем мы можем втиснуть в обновление для разработчиков, так что не стесняйтесь, и, как всегда, мы будем рады вашим отзывам и комментариям.


Полезные ссылки

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

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