Уважаемые пользователи Голос!
Сайт доступен в режиме «чтение» до сентября 2020 года. Операции с токенами Golos, Cyber можно проводить, используя альтернативные клиенты или через эксплорер Cyberway. Подробности здесь: https://golos.io/@goloscore/operacii-s-tokenami-golos-cyber-1594822432061
С уважением, команда “Голос”
GOLOS
RU
EN
UA
cyberevents
6 лет назад

End-to-end encryption for Apps with NuCrypher KMS. Speaker: Sergey Zotov

В этом месяце были опубликованы короткие видео выступлений спикеров с конференции Blockchain Fairytails, узнаем о каждом из них более подробно:

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

Для понимания работы системы разберем задачи, которые данная система способна решить или улучшить:

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

    На сегодняшний день вышеуказанные задачи решаются с помощью доверенного сервера:

    (

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

    Компания NuCrypher предлагает свое решение - NuCrypher KMS:

    (

    NuCrypher KMS состоит из двух больших блоков: proxy re-encryption и decentralization.

    Proxy re-encryption

    Рассмотрим процесс работы на примере:

    (

    Задача - передать зашифрованное сообщение от Алисы Бобу. В стандартной ситуации (например в Telegram) эта задача решается следующим образом: Боб, имея пару ключей (секретный и публичный), отдает свои публичный ключ Алисе, затем Алиса шифрует сообщение и передает его Бобу, который расшифровывает его секретным ключом.
    С прокси-посредником алгоритм выглядит следующим образом: у каждого пользователя есть пара ключей, Алиса хочет кому-то и, необязательно прямо сейчас, передать сообщение, она шифрует его своим публичным ключом и сохраняет в открытом источнике или в прокси. Далее, когда Алиса хочет передать доступ к сообщению, например, Бобу, она берет у Боба его публичный ключ и на основе его публичного ключа и своего секретного создает так называемый re-encryption ключ и сохраняет его в прокси. Таким образом Боб получает доступ к данным. Когда Боб хочет прочитать сообщение, он обращается в прокси с запросом трансформировать данные. Прокси трансформирует данные таким образом, что Боб может их прочитать с помощью своего секретного ключа. Как видно, в цепочке появляется посредник- прокси, но он не может расшифровать данные, только трансформировать.

    Как работает централизованный KMS

    (

    Для того, чтобы шифрование работало быстрее, используется симметричные и асимметричные алгоритмы шифрования. Для начала случайным образом генерируется ключ для симметричного шифрования Data Encryption Key (DEK). Далее, с помощью этого ключа, зашифровываются данные - получаем шифротекст (С на слайде). После зашифровывается сам DEK. Шифротекст и DEK сохраняется в хранилище.

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

    Тогда к такому решению добавляется децентрализация

    (

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

    Еще одна особенность данного алгоритма - он является пороговым, то есть не требуется участия всех прокси, достаточно порогового значения, например 70%. Это значит, что если трансформируется 70% данных - можно получить ключ.

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

    На этом этапе используются смарт-контракты, Блокчейн и разработанный KMS токен

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

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

    Нода получает вознаграждения двумя способами:

    • Получение комиссии
    • Майнинг
    (

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

    На изображении представлены первые пользователи, которые хотят апробировать систему:

    (
    • Децентрализованные рынки данных
    • Децентрализованные базы данных
    • Сервисы для доступа к медицинской информации
    • Интернет вещей

    Инвесторы компании:

    (

    Команда:

    () (

    Если у вас остались вопросы или есть предложения, компания всегда открыта к диалогу:

    (
0
2.953 GOLOS
На Golos с August 2017
Комментарии (2)
Сортировать по:
Сначала старые