Посторонним в

Блог-форум Винни Пуха
 
ФорумФорум  ЧаВоЧаВо  ПоискПоиск  ПользователиПользователи  ГруппыГруппы  РегистрацияРегистрация  ВходВход  

Поделиться | 
 

 Технологии, используемые в DECENT

Предыдущая тема Следующая тема Перейти вниз 
АвторСообщение
Winnie
Admin


Сообщения : 661
Дата регистрации : 2015-06-10

СообщениеТема: Технологии, используемые в DECENT   2016-08-22, 03:51

Безопасная коммуникация между узлами сети DECENT

Использование блокчейна и передача данных методами, подобными применяемым в TOR, является надёжным и безотказным способом для безопасной и анонимной связи между узлами, end-to-end. Но это также очень медленно и неэффективно, особенно если мы хотим сделать простую реализацию удалённого вызова процедур, например, для реализации DHT. Отсутствие любого слоя защиты означает высокий риск для анонимности абонента, поскольку узлы могут передавать данные, которые либо позволят эти узлы идентифицировать либо раскроют их активность. Примером может служить торрент на основе магнитных ссылок, когда злоумышленник может перехватить DHT связь, чтобы загрузить пользователю определённый файл.

Для предотвращения такого рода атак, мы должны реализовать гибкий и эффективный механизм для обмена данными между узлами, который обеспечит анонимность, конфиденциальность и сокрытие активности (plausible deniability) пользователей. Для достижения этих целей мы выбрали механизм, называемый DEUT (dynamic encrypted UDP tunnels) - динамически шифруемые UDP туннели, он описан далее.


Динамически шифруемые UDP туннели (DEUT)

Участники процесса:

  • Все узлы в сети DECENT. Они могут действовать в качестве:

    • отправителя
    • конечной точки туннеля
    • ретранслятора
    • получателя

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

Узел идентифицируется по IP и двум портам - один на приём, другой на передачу. Туннели могут быть установлены как для отправителей, так и для получателей. Таким образом отправитель и получатель имеют собственные наборы туннелей, с их конечными точками и ретрансляторами. Мастер узел инициализирует туннель запросом (примитивом) TunnelContolRequest, который посылается на произвольный узел из своего списка. Принимающим узлом является либо ретранслятор, и в этом случае он так же выбирает случайные узлы из собственного списка известных узлов в качестве следующего узла, либо конечная точка, которая открывает порты для связи с мастер узлом. Шлюз (конечная точка) отвечает сообщением TunnelControlResponse. Во время этого сеанса связи мастер узел обменивается с конечной точкой открытыми RSA ключами и дальнейшая связь шифруется ими.

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

Получатель узнает IP-адрес и пару портов мастер узла и далее может использовать этот адрес совместно со своими пирами (например, через kademlia примитив FIND_NODE).

Когда отправитель хочет связаться мастер узлом и знает адрес одной из его конечных точек, он посылает сообщение на эту конечную точку. Конечная точка узнаёт какому туннелю предназначено сообщение, шифрует его с помощью приватного (а не открытого?) ключа мастер узла и направляет его первому ретранслятору...

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

Используемые ключи RSA имеют недолгий срок жизни, при каждой перезагрузке приложения они создаются заново.
Вернуться к началу Перейти вниз
Посмотреть профиль http://free.userboard.net
Winnie
Admin


Сообщения : 661
Дата регистрации : 2015-06-10

СообщениеТема: Схема Шамира   2016-09-04, 15:08

Схема разделения секрета Шамира
http://decent.ch/decent-development-key-distribution/

Одна из наиболее интересных технологий, применяемых в DECENT, это распространение ключей с использованием концепции разделения секрета Шамира (SSS - Shamir’s Secret Sharing), когда ключ разделяется на несколько частей, и каждый участник схемы разделения получает не все части. Схема Шамира образует пороговую схему, в которой для расшифровки ключа необходима только часть всех участников.

Возьмём в качестве примера полином 2-й степени (на графике ему соответствует парабола). Через 2 заданные точки можно провести бесконечное количество полиномов 2-й степени, но для задания уникального полинома достаточно определить 3 точки. В схеме Шамира используются многочлены над конечным полем, и наглядно их сложно представить, но суть та же.

Реализация схемы Шамира с пороговым механизмом n-из-m в DECENT выглядит следующим образом:

Автор

  1. Автор создаёт контент в виде компьютерных файлов и выбирает два натуральных числа n и m такие, что n>​m>2.
  2. Приложение автора генерирует AES ключ и шифрует ту часть контента, к которой не будет свободного доступа.
  3. В приложении автора выбирается протокол распространения контента и создаётся дистрибуционный пакет контента, включающий в себя свободную и зашифрованную части.
  4. Приложение автора разбивает ключ шифрования на n частей таким образом, что для получения ключа методом SSS потребуется m частей.
  5. Приложение автора находит n подходящих издателей.
  6. Приложение автора шифрует n частей зашифрованного ключа, созданных на 4-м шаге, открытыми ключами n издателей, т.е. для каждой части используется открытый ключ одного из издателей.
  7. Приложение автора генерирует транзакцию, представляющую контент. Транзакция будет содержать метаданные контента, такие как название, краткий обзор или теги, а также сетевые данные контента, такие как срок действия, стоимость, список издателей, и список частей, зашифрованных каждым из выбранных издателей.
  8. Транзакция включается в следующий блок и становится доступной для чтения издателям и потребителям.

Потребитель контента
  1. Потребитель выбирает контент, который он хочет купить и его приложение загружает дистрибуционный пакет, используя выбранный протокол (возможны разные протоколы).
  2. Приложение потребителя контента генерирует транзакцию с запросом о покупке. Транзакция включается в следующий блок, где она становится видна издателям.
  3. Узлы издателей видят в блокчейне запрос о покупке. Они расшифровывают соответствующую часть контента своим закрытым ключом и шифруют его снова с помощью открытого ключа потребителя контента.
  4. Узлы издателей генерируют транзакцию ключей доставки, содержащую часть, зашифрованную с помощью ключа потребителя, и код доказательства доставки (proof-of-delivery). Транзакция включается в следующий блок, где она становится видна потребителю контента.
  5. При наличии достаточного количества частей зашифрованного ключа, поставляемых через блокчейн, потребитель контента расшифровывает части с их закрытым ключом, восстанавливает ключ дешифрования AES и дешифрует контент.
Вернуться к началу Перейти вниз
Посмотреть профиль http://free.userboard.net
 
Технологии, используемые в DECENT
Предыдущая тема Следующая тема Вернуться к началу 
Страница 1 из 1
 Похожие темы
-
» Коммерческое предложение по внедрению ТЕХНОЛОГИИ экономии топлива Электростанций на Cамоорганизующейся Системе Smart-MES «MES-T2 2020» в 2016 году с прибылью 3-10 миллиардов рублей
» Технология создания самоорганизующихся IT-Систем для любой промышленности на примере Smart-MES
» Коммерческое предложение на внедрение ТЕХНОЛОГИИ экономии топлива Электростанций на MES-Системе «MES-T2 2020» посредством расчёта ТЭП (на 2015 год)
» Ответ на письмо из Минэнерго по вопросу технологии увеличения энергоэффективности электростанций
» технологии возведения стен

Права доступа к этому форуму:Вы не можете отвечать на сообщения
Посторонним в :: Блокчейн проекты :: DECENT :: Механизмы DECENT (алгоритмы, технологии)-
Перейти: