www.samag.ru
      Get it on Google Play
Поиск  
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
Сетевой агент
О журнале
Журнал «БИТ»
Информация для ВАК
Звезды «СА»
Подписка
Где купить
Авторам
Рекламодателям
Магазин
Архив номеров
Мероприятия
Форум
Опросы
Ищу/Предлагаю работу
Спроси юриста
Игры
Контакты
   

Конференция DevOops

Слайд шоу  
Представляем работы Виктора Чумачева
Виктор Чумачев – известный московский художник, который сотрудничает с «Системным администратором» уже несколько лет. Именно его забавные и воздушные, как ИТ, иллюстрации украшают многие серьезные статьи в журнале. Работы Виктора Чумачева хорошо знакомы читателям в России («Комсомольская правда», «Известия», «Московские новости», Коммерсант и др.) и за рубежом (США, Германия). Каждый раз, получая новый рисунок Виктора, мы в редакции улыбаемся. А улыбка, как известно, смягчает душу. Поэтому смотрите на его рисунки – и пусть у вас будет хорошее настроение!

  Опросы
Дискуссии  
17.09.2014г.
Просмотров: 14327
Комментарии: 3
Красть или не красть? О пиратском ПО как о российском феномене

Тема контрафактного ПО и защиты авторских прав сегодня актуальна как никогда. Мы представляем ...

 Читать далее...

03.03.2014г.
Просмотров: 18526
Комментарии: 1
Жизнь под дамокловым мечом

Политические события как катализатор возникновения уязвимости Законодательная инициатива Государственной Думы и силовых структур, ...

 Читать далее...

23.01.2014г.
Просмотров: 26493
Комментарии: 3
ИТ-специалист будущего. Кто он?

Так уж устроен человек, что взгляд его обращен чаще всего в Будущее, ...

 Читать далее...

1001 и 1 книга  
16.02.2017г.
Просмотров: 3469
Комментарии: 0
Опоздавших не бывает, или книга о стеке

 Читать далее...

17.05.2016г.
Просмотров: 6529
Комментарии: 0
Теория вычислений для программистов

 Читать далее...

30.03.2015г.
Просмотров: 8635
Комментарии: 0
От математики к обобщенному программированию

 Читать далее...

18.02.2014г.
Просмотров: 10352
Комментарии: 0
Рецензия на книгу «Читаем Тьюринга»

 Читать далее...

13.02.2014г.
Просмотров: 7182
Комментарии: 0
Читайте, размышляйте, действуйте

 Читать далее...

Друзья сайта  

Форум системных администраторов  

sysadmins.ru

 Метод разграничения возможностей пользователей при взаимодействии с распределенными социальными сетями. Процедуры получения первого уровня «Доверия» и общения через «Доверителя»

Архив номеров / 2017 / Выпуск №6 (175) / Метод разграничения возможностей пользователей при взаимодействии с распределенными социальными сетями. Процедуры получения первого уровня «Доверия» и общения через «Доверителя»

Рубрика: Наука и технологии

Без фото БОГОРАЗ А.Г., кафедра безопасности информационных технологий, Институт компьютерных технологий и информационной безопасности, Южный федеральный университет, Ростовская область, г. Таганрог, bogoraz.a.g@gmail.com

Метод разграничения возможностей пользователей при взаимодействии с распределенными социальными сетями
Процедуры получения первого уровня «Доверия» и общения через «Доверителя»

Целью данной работы является разработка метода разграничения возможностей пользователей при взаимодействии с распределенными социальными сетями (РСС). В данной работе описывается проблематика разграничения доступа в РСС, идея метода «Доверие», а также ограничения и особенности работы метода. Далее описывается процедура повышения уровня доверия нового пользователя с «0» до «1» и процедура общения пользователей с помощью «Доверителя», который пригласил пользователя в РСС и выступает в качестве связующего звена между новым пользователем и другими пользователями РСС

Введение

Социальные сети (СС) на данный момент являются одним из самых быстро развивающихся сервисов в сети общего доступа Интернет. На данный момент наиболее простая архитектура для построения СС – клиент-серверная, являющаяся наиболее простой в реализации, но обладающая определенными недостатками с точки зрения безопасности, которые не могут быть полностью решены с помощью современных средств безопасности [1].

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

В [3] был предложен метод регистрации нового пользователя в распределенной социальной сети (РСС), который может использоваться практически в любой распределенной илидецентрализованной СС, основанной на протоколе DHT или DHT-подобных протоколах.

В результате исследования был разработан метод «Доверие», который позволяет гибко «модерировать» распределенные социальные сети (РСС). В данной работе описываются следующие процедуры этого метода:

  • повышение уровня «Доверия» пользователя с 0 до 1, что позволяет ему начать общаться с другими пользователями РСС с помощью «Доверителя» – того, кто повысил ему уровень до 1;
  • общение через «Доверителя».

Проблематика разграничения возможностей пользователей в РСС

Стоит отметить важную особенность РСС – новый пользователь, который является пользователем такой сети один час, обладает такими же возможностями взаимодействия в РСС, как и пользователь, который зарегистрирован один год назад. Таким образом, в РСС все пользователи равны между собой и ни один пользователь не может иметь возможностей больше, чем любой другой пользователь такой сети. Таким образом, из вышесказанного следует, что в РСС отсутствует возможность разграничения доступа относительно администрирования пользователей. К примеру, в СС, построенных на основе архитектуры клиент-сервер, существует возможность заблокировать пользователя, который был обнаружен в совершении злоумышленных действий. Такое действие может быть осуществлено администратором CC. В случае РСС такой класс пользователей, как администратор, отсутствует полностью. Из вышесказанного следует, что возможность заблокировать пользователя, который был замечен в злоумышленных действиях, фактически отсутствует илиявляется трудновыполнимой (см. рис. 1).

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

Рисунок 1. Различие в администрировании СС, построенных на основе клиент-серверной и полностью децентрализованной архитектур.

В первом случае модерированием пользователей занимается Администратор A.

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

В то же время стоит отметить, что существует возможность администрирования пользователей по возможностям их взаимодействия с РСС с помощью метода «Доверие».

Метод разграничения возможностей пользователей в РСС

Метод «Доверие» представляет собой систему сертификатов, которые могут быть выданы пользователями, являющимися «Друзьями» пользователя, зарегистрированного в РСС [3]. Пользователи, которые выдали пользователю-«Другу» сертификаты для повышения уровня «Доверия», называются «Доверителями». Такие пользователи могут также аннулировать действие своих сертификатов, что позволяет гибко регулировать уровень «Доверия» каждого пользователя такой РСС. Любой пользователь может выдать любому конкретному пользователю только один сертификат «Доверия», что позволит повысить уровень «Доверия» этого пользователя на единицу. Выдать сертификат «Доверия» пользователю может только пользователь, который числится в его «Списке Друзей». Все «Доверители» пользователя известны друг другу, но могут не являться «Друзьями» друг друга. Также все«Доверители» хранят все сертификаты, которые были выданы пользователю его «Доверителями». На данный момент предполагается, что показатель уровня «Доверия» определяет 7уровней, которые нумеруются с 1 до 7.

Чем выше уровень «Доверия» конкретного пользователя, тем больше возможностей по взаимодействию с РСС он имеет. К примеру, возможность выработки приглашений, необходимых для регистрации новых пользователей, а также возможность выдачи сертификатов для пользователей может быть разрешена только с уровнем «Доверия» равным, например, 4. Это означает, что 4 и более пользователя-«Друга» должны предоставить пользователю, который хочет пригласить нового пользователя в эту РСС или повысить пользователю РСС уровень «Доверия», свои сертификаты, которые позволят повысить его уровень «Доверия», что даст возможность выработать файл приглашения или выполнить процедуру повышения уровня «Доверия». Данное ограничение, к примеру, позволит защитить РСС от регистрации злоумышленного пользователя, который зарегистрировался какдобропорядочный пользователь и который после процесса регистрации может попытаться начать регистрировать любое количество злоумышленных пользователей через выработанные им файлы приглашения. Также данное ограничение защитит от новых пользователей, которые сразу после регистрации могут попытаться несанкционированно повысить уровень «Доверия» злоумышленного пользователя.

Следует отметить, что на данный момент, предполагается, что один сертификат равняется уровню «Доверия» 1 любого пользователя, независимо от текущего уровня «Доверия» пользователя. Однако с увеличением количества пользователей, например, больше тысячи, может появиться проблема организованных злоумышленных групп. К примеру, добросовестный пользователь может «пригласить» пользователя, который в результате взаимодействия с РСС получит уровень «Доверия» больше 4 и который начнет совершать злоумышленные действия, например, в виде регистрации множества поддельных пользователей. В этом случае можно использовать ограничение на количество вырабатываемых пользователем «приглашений» за определенный период времени или более эффективное решение в виде введения фиксированной «стоимости» уровней «Доверия» в зависимости отколичества пользователей РСС. К примеру, если в РСС зарегистрирована 1 тысяча человек, то для получения новому пользователю уровня «Доверия» равному 1 необходим 1сертификат от пользователя, его «пригласившего», для получения уровня 2 – 5 сертификатов, для уровня 3 – 25 и т.д. Соответственно, с увеличением количества пользователей РСС будет расти и фиксированная «стоимость» уровней «Доверия».

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

Таким образом, любому пользователю, который был замечен в злонамеренных действиях в отношении других пользователей, уровень «Доверия» может быть понижен до 0, чтопозволит этому пользователю общаться исключительно с пользователем, зарегистрировавшим его, который может добавить этого пользователя в свой личный «Черный список». Вэтом случае любые сообщения злонамеренного пользователя будут отбрасываться клиентом РСС пользователя, который его пригласил. Таким образом, злонамеренному пользователю будет исключен любой доступ в РСС.

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

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

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

Следует также отметить, что каждый пользователь, который имеет уровень «Доверия» больше 0, должен выработать себе асимметричную пару электронной цифровой подписи (ЭЦП), секретный ключ для подписания и открытый ключ для проверки подписи, сделанной секретным ключом, которая будет использоваться исключительно в рамках работы скомпонентами механизма «Доверия» (далее упоминается ЭЦП «Доверия») (см .рис. 2).

Рисунок 2. Схематичный пример работы метода «Доверие». Пользователи E (уровень «Доверия» равен 7) и K (уровень «Доверия» равен 5) являются «Друзьями» и «Доверителями» пользователя A (уровень «Доверия» равен 4). Также E и K являются «Друзьями» друг для друга, но не «Доверителями». A «пригласил» в сеть новичка – пользователя B. A добавил B в «Друзья» и стал его «Доверителем». Таким образом, уровень «Доверия» B стал равен 1. В свою очередь, B нашел в РСС пользователя D и стал его «Другом», но при этом D не является «Доверителем» B, но может им стать, в случае если уровень «Доверия» D этопозволит. Пользователи D и C являются «Друзьями» друг друга, но не являются «Доверителями» друг для друга. В данном случае уровень «Доверия» D и C может быть любым

Рисунок 2. Схематичный пример работы метода «Доверие». Пользователи E (уровень «Доверия» равен 7) и K (уровень «Доверия» равен 5) являются «Друзьями» и «Доверителями» пользователя A (уровень «Доверия» равен 4). Также E и K являются «Друзьями» друг для друга, но не «Доверителями».

A «пригласил» в сеть новичка – пользователя B. A добавил B в «Друзья» и стал его «Доверителем». Таким образом, уровень «Доверия» B стал равен 1.

В свою очередь, B нашел в РСС пользователя D и стал его «Другом», но при этом D не является «Доверителем» B, но может им стать, в случае если уровень «Доверия» D этопозволит.

Пользователи D и C являются «Друзьями» друг друга, но не являются «Доверителями» друг для друга. В данном случае уровень «Доверия» D и C может быть любым

Пользователи, участвующие в процессе повышения уровня «Доверия»

Пользователь А – полноценный пользователь РСС, имеющий более 4 сертификатов «Доверия», которые были выданы его «Доверителями»-пользователями-«Друзьями». Пользователь A пригласил и зарегистрировал своего «Друга» – пользователя B в РСС, которую он использует [3].

Пользователь B – «Друг» пользователя А, который выполнил процедуру регистрации в РСС по приглашению пользователя A. Уровень «Доверия» пользователя B равен 0. Из этого следует, что он может общаться только с пользователем A, который его зарегистрировал и добавил в «Друзья». Пользователю B необходимо получить от пользователя A сертификат, который позволит ему повысить свой уровень «Доверия». Это даст ему возможность начать общаться с другим пользователем РСС – D, при общении с которым пользователь A будет выступать в роли «Доверителя» пользователя B.

Пользователь C – злоумышленник, который хочет повысить свой уровень «Доверия» таким образом, чтобы другие пользователи считали, что пользователю C повысил уровень «Доверия» пользователь A. Является пользователем РСС с уровнем «Доверия» равным 1. Таким образом, пользователя C зарегистрировал в РСС некий пользователь, и этот пользователь является «Доверителем» пользователя С. В свою очередь, пользователь C хочет повысить свой уровень «Доверия» злоумышленными методами. Пользователь С знает отом, что пользователь A зарегистрировал своего друга – пользователя B в РСС.

Пользователь D – друг пользователя B в реальной жизни. Является пользователем РСС, в которой A зарегистрировал B. На момент начала процедуры общения через «Доверителя» не знает о том, что B зарегистрирован в РСС. Пользователь B знает, что пользователь D является участником РСС, в которой его зарегистрировал пользователь A. Подразумевается, что пользователю B известен логин пользователя D в РСС. Стоит также отметить, что процедура, описанная ниже, подразумевает, что пользователь D может не быть «Другом» пользователя A.

Повышение уровня «Доверия» пользователя B до уровня 1

Пользователь A решает повысить уровень «Доверия» пользователя B. Для этого A вырабатывает сертификат повышения уровня «Доверия» B, который является хеш-суммой, выработанной от хеш-сумм компонентов, сложенных с помощью операции сложения по модулю два: логин пользователя B, пароль пользователя A, открытый ключ основной пары пользователя A, текущий адрес пользователя A в РСС, выработанный в соответствии с логикой протокола DHT, текущие Дата и Время и «Соль», которая является криптостойким набором цифр.

A подписывает полученный сертификат с помощью своего секретного ключа ЭЦП «Доверия». Любой пользователь, который имеет открытый ключ этой ЭЦП, может проверить подпись A, что будет доказывать, что данный компонент подписан A.

В итоге A получает подписанный сертификат повышения уровня «Доверия» B, который A будет хранить вместе с другими служебными данными B до того момента, пока A и Bявляются «Друзьями» либо A по личным причинам не захочет аннулировать действие своего сертификата.

Далее A создает криптоконтейнер, который он шифрует с помощью открытых ключей основной, сессионной и временной пар ключей шифрования B. A помещает сертификат повышения уровня «Доверия» B в этот криптоконтейнер и отправляет его B через РСС.

B расшифровывает полученный криптоконтейнер с помощью секретных ключей своих основной, сессионной и временной пар ключей шифрования и получает сертификат, спомощью которого он может повысить свой уровень «Доверия».

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

После вычисления своего уровня «Доверия» B должен выработать свою пару ключей ЭЦП «Доверия», которая предназначена для операций с компонентами «Доверия». В качестве инициализирующей переменной для этой ЭЦП B вырабатывает хеш-сумму, выработанную от хеш-сумм компонентов, сложенных с помощью операции сложения по модулю два: открытый ключ любой сессионной пары шифрования, актуальной на момент создания ЭЦП «Доверия» B (в данном случае той, которая используется для общения с A), открытый ключ основной пары шифрования пользователя B, текущий пароль пользователя B, текущий адрес пользователя B в сети, выработанный в соответствии с логикой протокола DHT, текущие Дата и Время и «Соль».

B подписывает с помощью секретного ключа своей выработанной пары ЭЦП свой уровень «Доверия». Далее B создает криптоконтейнер, куда он помещает свой подписанный уровень «Доверия» и открытый ключ своей пары ЭЦП «Доверия», который он шифрует с помощью открытых ключей пар шифрования A. Полученный криптоконтейнер Bотправляет A через сеть РСС.

A расшифровывает полученный криптоконтейнер и получает подписанный уровень «Доверия» B и открытый ключ пары ЭЦП «Доверия» B.

Для подтверждения того, что уровень «Доверия» прислал B, пользователь A проверяет подпись B с помощью открытого ключа пары ЭЦП «Доверия» B и сравнивает значение уровня «Доверия», присланное B, с сертификатом повышения уровня «Доверия» B, который A ранее выслал B и хранит как служебные данные B (см. рис. 3).

Рисунок 3. Пользователь A вырабатывает для пользователя B сертификат повышения уровня «Доверия», который A подписывает с помощью секретного ключа своей ЭЦП «Доверия» и отправляет B через РСС в соответствующем криптоконтейнере. Копию этого сертификата A хранит в служебных данных B. Пользователь B расшифровывает полученный криптоконтейнер, высчитывает свой уровень «Доверия». Далее B вырабатывает открытый и секретный ключи для своей ЭЦП «Доверия». С помощью секретного ключа своей ЭЦП «Доверия» B подписывает свой уровень «Доверия» и отправляет A через РСС в соответствующем криптоконтейнере. В этот криптоконтейнер B также вкладывает открытый ключ своей ЭЦП «Доверия». Свой уровень «Доверия» и сертификат повышения «Доверия», присланный A, B хранит у себя вслужебных данных клиента РСС. A расшифровывает полученный криптоконтейнер и проверяет подпись уровня «Доверия» B с помощью полученного открытого ключа ЭЦП «Доверия» B. Также A сравнивает значение уровня «Доверия» B, присланное B, с тем, которое A хранит у себя

Рисунок 3. Пользователь A вырабатывает для пользователя B сертификат повышения уровня «Доверия», который A подписывает с помощью секретного ключа своей ЭЦП «Доверия» и отправляет B через РСС в соответствующем криптоконтейнере. Копию этого сертификата A хранит в служебных данных B.

Пользователь B расшифровывает полученный криптоконтейнер, высчитывает свой уровень «Доверия». Далее B вырабатывает открытый и секретный ключи для своей ЭЦП «Доверия». С помощью секретного ключа своей ЭЦП «Доверия» B подписывает свой уровень «Доверия» и отправляет A через РСС в соответствующем криптоконтейнере. В этот криптоконтейнер B также вкладывает открытый ключ своей ЭЦП «Доверия». Свой уровень «Доверия» и сертификат повышения «Доверия», присланный A, B хранит у себя вслужебных данных клиента РСС.

A расшифровывает полученный криптоконтейнер и проверяет подпись уровня «Доверия» B с помощью полученного открытого ключа ЭЦП «Доверия» B. Также A сравнивает значение уровня «Доверия» B, присланное B, с тем, которое A хранит у себя

В случае если подпись некорректна или значения сертификата и уровня «Доверия» не совпадают, A необходимо связаться с B с помощью любого способа связи, позволяющего общаться в режиме реального времени, например телефонной связи, и подтвердить или опровергнуть компрометацию B. В случае если компрометация подтверждена, A должен удалить B из «Друзей» и B рекомендуется пройти регистрацию заново [3].

В ином случае A подписывает уровень «Доверия» B с помощью секретного ключа своей пары ЭЦП «Доверия». Таким образом, A подтверждает правильность расчетов Bотносительно его уровня «Доверия».

A создает криптоконтейнер, в который он помещает уровень «Доверия» B, который он подписал в результате проверки правильности расчета, и свой открытый ключ пары ЭЦП «Доверия», чтобы B мог проверить подпись A. В качестве ключей шифрования для криптоконтейнера A использует открытые ключи пар шифрования B. Полученный криптоконтейнер A отправляет B через РСС.

B расшифровывает полученный криптоконтейнер и получает свой уровень «Доверия», подписанный A, и открытый ключ пары ЭЦП «Доверия» A.

Для подтверждения подписи A B проверяет подпись A с помощью присланного ему открытого ключа пары ЭЦП «Доверия» A. Также он проверяет целостность своей подписи спомощью своего открытого ключа пары ЭЦП «Доверия» (см. рис. 4).

Рисунок 4. Пользователь A подписывает подписанный пользователем B уровень «Доверия» B с помощью секретного ключа своей ЭЦП «Доверия» A. Подписанный A и B уровень «Доверия» B и открытый ключ своей ЭЦП «Доверия» A помещает в соответствующим образом зашифрованный криптоконтейнер, который A отправляет B через РСС. B расшифровывает полученный криптоконтейнер и проверяет подписи A и B в полученном уровне «Доверия» B с помощью открытых ключей ЭЦП «Доверия» A и B

Рисунок 4. Пользователь A подписывает подписанный пользователем B уровень «Доверия» B с помощью секретного ключа своей ЭЦП «Доверия» A. Подписанный A и B уровень «Доверия» B и открытый ключ своей ЭЦП «Доверия» A помещает в соответствующим образом зашифрованный криптоконтейнер, который A отправляет B через РСС.

B расшифровывает полученный криптоконтейнер и проверяет подписи A и B в полученном уровне «Доверия» B с помощью открытых ключей ЭЦП «Доверия» A и B

После успешного подтверждения корректности всех подписей B должен считать, что его уровень «Доверия» равен 1.

Таким образом, после повышения своего уровня «Доверия» B получает дополнительные возможности для взаимодействия с РСС. К примеру, B с момента повышения его уровня «Доверия» может искать в РСС пользователей, которые могут стать его «Друзьями» и в перспективе повысить его уровень «Доверия», и общаться с пользователями РСС, в ходе общения с которыми пользователь A будет выступать «Доверителем» пользователя B.

Ограничения и особенности работы процедуры повышения уровня «Доверия»

Следует отметить, что метод работы «Доверия» подразумевает, что пользователи не могут регистрироваться в РСС самостоятельно. Для регистрации таким пользователям необходимо иметь «Друга» – пользователя РСС, который, обладая определенным уровнем «Доверия», проведет процедуру регистрации нового пользователя. После процедуры регистрации новый пользователь является «Другом» пользователя, который его пригласил, и они могут общаться друг с другом [3].

Предполагается, что в результате процедуры приглашения, описанной в [3], пользователи A и B являются «Друзьями» и обладают основной, сессионной и временной парами ключей шифрования. Также предполагается, что они обладают открытыми ключами пар друг друга, что позволяет обеспечивать многослойное шифрование, основанное на 2 обязательных – основной и сессионной – и 1 опциональной – временной – парах ключей шифрования.

Рекомендации

Метод «Доверие» подразумевает, что пользователь A не является злоумышленным пользователем или вероятность такого события мала. В то же время пользователям B и Dнеобходимо учитывать, что после окончания процедуры A владеет открытыми ключами основных пар B и D, а также открытыми ключами сессионной и временной пар ключей шифрования, которые были сгенерированы исключительно для создания многослойного шифрования сообщений, передаваемых между B и D. Таким образом, после успешного выполнения процедуры общения через «Доверителя» A, B и D рекомендуется произвести процедуру смены ключей, описанную в [3].

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

В случае если пользователь A решит произвести атаку типа Man-in-the-Middle и попытается каким-либо образом подменить ключи, подписанные пользователем B или D, и ему этоудастся, то B и D это станет известно в тот момент, когда они начнут общаться между собой самостоятельно, без участия A как «Доверителя». В случае подмены они не смогут зашифровывать и расшифровывать криптоконтейнеры, которые они будут использовать для пересылки сообщений между собой. В то же время у них будет существовать возможность однослойного шифрования с помощью основных пар друг друга, что не рекомендуется вследствие возможности взлома таких сообщений.

В этом случае B и D должны попытаться произвести процедуру общения через «Доверителя» еще один раз. В случае если A попытается еще раз подменить ключи, что будет выяснено после окончания процедуры, то пользователю B рекомендуется пройти процесс регистрации заново [3] через другого пользователя, например D. Пользователю D, в свою очередь, необходимо сообщить «Доверителям» пользователя A, что A был замечен в злоумышленных действиях с приложением соответствующих доказательств.

Процедура общения пользователя с пользователем через «Доверителя»

После повышения уровня «Доверия» до 1 пользователь B может начать общаться с пользователем D. С помощью функции поиска пользователь B c помощью пользователя A находит пользователя D. Он создает сообщение для D, которое подписывает с помощью секретного ключа своей ЭЦП «Доверия». Сообщение, открытый ключ своей ЭЦП «Доверия» и логин D он помещает в криптоконтейнер, зашифрованный с помощью открытых ключей основной, сессионной и временной пар шифрования A, который отправляет A через РСС.

A расшифровывает криптоконтейнер, проверяет подпись B в сообщении, предназначенном для D. Также A проверяет, что вложенный B открытый ключ ЭЦП «Доверия» B совпадает с тем, который хранится у него. Затем A подписывает сообщение от B с помощью секретного ключа своей ЭЦП «Доверия». Далее A определяет адрес пользователя D в РСС спомощью логина D, присланного B.

В случае если D – друг A, то A отправляет ему сообщение от B в соответствующем криптоконтейнере. В ином случае A необходимо пройти процедуру общения с D с помощью «Доверителя», аналогичную описываемой в этой секции, с генерацией соответствующих пар ключей шифрования.

В данном случае подразумевается, что A имеет открытые ключи соответствующих пар и открытый ключ ЭЦП «Доверия» D. Таким образом, A создает криптоконтейнер, шифрует его с помощью открытых ключей соответствующих пар D и отправляет D через РСС. В криптоконтейнер A вкладывает сообщение B, подписанное B и A, открытые ключи ЭЦП «Доверия» A и B.

D получает криптоконтейнер, из которого он извлекает открытые ключи ЭЦП «Доверия» A и B и сообщение от B, которое он проверяет с помощью этих ключей (см. рис. 5).

Рисунок 5. Пользователь B находит в РСС пользователя D. B создает для D сообщение M, подписанное секретным ключом ЭЦП «Доверия» B. Далее B создает криптоконтейнер, зашифрованный с помощью открытых ключей пар шифрования пользователя A и вкладывает в него открытый ключ ЭЦП «Доверия» B, подписанное B сообщение M и логин D. Этот криптоконтейнер B отправляет A через РСС. A расшифровывает криптоконтейнер, вычисляет DHT-адрес из логина D, сравнивает присланный открытый ключ ЭЦП «Доверия» B с тем, который хранится у него, и проверяет подпись пользователя B в сообщении M. После этого A подписывает сообщение М с помощью секретного ключа своей ЭЦП «Доверия» и создает соответствующим образом зашифрованный криптоконтейнер, в который A вкладывает подписанное B и A сообщение M и открытые ключи ЭЦП «Доверия» B и A, который A отправляет D через РСС повычисленному DHT-адресу. D расшифровывает криптоконтейнер и проверяет подписи A и B в сообщении M с помощью присланных ему открытых ключей ЭЦП «Доверия» A и B

Рисунок 5. Пользователь B находит в РСС пользователя D. B создает для D сообщение M, подписанное секретным ключом ЭЦП «Доверия» B. Далее B создает криптоконтейнер, зашифрованный с помощью открытых ключей пар шифрования пользователя A и вкладывает в него открытый ключ ЭЦП «Доверия» B, подписанное B сообщение M и логин D. Этот криптоконтейнер B отправляет A через РСС.

A расшифровывает криптоконтейнер, вычисляет DHT-адрес из логина D, сравнивает присланный открытый ключ ЭЦП «Доверия» B с тем, который хранится у него, и проверяет подпись пользователя B в сообщении M. После этого A подписывает сообщение М с помощью секретного ключа своей ЭЦП «Доверия» и создает соответствующим образом зашифрованный криптоконтейнер, в который A вкладывает подписанное B и A сообщение M и открытые ключи ЭЦП «Доверия» B и A, который A отправляет D через РСС повычисленному DHT-адресу.

D расшифровывает криптоконтейнер и проверяет подписи A и B в сообщении M с помощью присланных ему открытых ключей ЭЦП «Доверия» A и B

D хочет отправить сообщение B в ответ. Для этого он создает ответное сообщение для B и подписывает с помощью секретного ключа своей ЭЦП «Доверия». Также он подписывает открытый ключ своей основной пары ключей шифрования. Таким образом, D вкладывает в криптоконтейнер подписанное им сообщение для B, подписанный им открытый ключ основной пары D, открытый ключ ЭЦП «Доверия» D и логин B, которому необходимо отправить эти компоненты. Криптоконтейнер, зашифрованный с помощью соответствующих пар ключей шифрования A, отправляет A через РСС.

A получает и расшифровывает этот криптоконтейнер. A проверяет подпись D в сообщении для B и в открытом ключе основной пары шифрования D с помощью открытого ключа ЭЦП «Доверия» D. Далее A подписывает сообщение и открытый ключ основной пары D с помощью секретного ключа своей ЭЦП «Доверия». А создает криптоконтейнер, зашифрованный с помощью открытых ключей соответствующих пар B, который он отправляет B через РСС. В этот криптоконтейнер A помещает сообщение D для B и открытый ключ основной пары шифрования D, подписанные D и A, и открытый ключ ЭЦП «Доверия» D.

B расшифровывает полученный криптоконтейнер и проверяет подписи пользователей A и D в сообщении от D и в открытом ключе основной пары шифрования D.

B читает сообщение D, в котором D соглашается «Добавить в Друзья» B. Таким образом, B и D могут начать процедуру обмена ключами. B создает криптоконтейнер, зашифрованный открытыми ключами соответствующих пар A, который отправляет A через РСС. В криптоконтейнер B вкладывает открытый ключ своей основной пары, который онподписывает секретным ключом своей ЭЦП «Доверия» и логин D, которому A должен отправить ключ.

A расшифровывает этот криптоконтейнер, проверяет, что открытый ключ, присланный B, совпадает с открытым ключом основной пары B, который A хранит у себя, также онпроверяет подпись B в этом открытом ключе с помощью открытого ключа ЭЦП «Доверия» B и подписывает этот ключ с помощью секретного ключа своей ЭЦП «Доверия».

Подписанный B и A ключ A помещает в криптоконтейнер, зашифрованный с помощью открытых ключей соответствующих пар D, который A отправляет D через РСС.

D расшифровывает полученный криптоконтейнер и проверяет подписи B и A в открытом ключе основной пары шифрования B.

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

D создает криптоконтейнер, зашифрованный с помощью открытых ключей соответствующих пар A, который он отправляет A через РСС. В криптоконтейнер D вкладывает открытый ключ выработанной сессионной пары D, который он подписал с помощью секретного ключа своей ЭЦП «Доверия» и логин B, которому A должен отправить этот ключ.

A расшифровывает полученный криптоконтейнер, проверяет подпись D в открытом ключе сессионной пары D. Проверенный ключ A помещает в криптоконтейнер, который оншифрует с помощью открытых ключей соответствующих пар B, который он отправляет B через РСС.

B расшифровывает полученный криптоконтейнер и получает открытый ключ сессионной пары ключей шифрования D. B проверяет подпись D с помощью открытого ключа ЭЦП «Доверия» D.

Далее B создает свою сессионную и временную пары ключей, открытые и закрытые соответственно. Эти пары создаются согласно процедуре, описанной в [3].

После выработки ключей B подписывает с помощью секретного ключа своей ЭЦП «Доверия» открытые ключи сессионной и временной пар ключей шифрования. Подписанные ключи и логин D, которому A должен отправить эти ключи, B помещает в криптоконтейнер, который зашифровывает с помощью открытых ключей соответствующих пар A, который отправляет A через РСС.

A расшифровывает полученный криптоконтейнер, проверяет подпись B в ключах, присланных B, и помещает их в криптоконтейнер, который зашифровывает с помощью открытых ключей соответствующих пар D, который отправляет D через РСС.

D расшифровывает полученный криптоконтейнер и проверяет подпись B в открытых ключах сессионной и временной пар ключей шифрования B.

После этого D создает свою временную пару ключей, открытый и закрытый соответственно. Эта пара создается согласно процедуре, описанной в [3]. Открытый ключ этой пары Dподписывает с помощью секретного ключа своей ЭЦП «Доверия».

Далее D создает криптоконтейнер, зашифрованный открытыми ключами соответствующих пар A, который отправляет A через РСС. В криптоконтейнер D помещает подписанный открытый ключ своей временной пары ключей шифрования и логин B, которому A должен отправить этот ключ.

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

В расшифровывает полученный криптоконтейнер и получает открытый ключ временной пары ключей шифрования D, подпись которого он проверяет с помощью открытого ключа ЭЦП «Доверия» D.

С этого момента процедура организации общения пользователя B с пользователем D через «Доверителя» A считается оконченной. Пользователь B может общаться с пользователем D напрямую, вычисляя адрес D в РСС, выработанный согласно протоколу DHT, с помощью логина пользователя D.

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

Ограничения, связанные с процедурой общения через «Доверителя»

Стоит отметить следующие важные особенности, связанные с процедурой общения с помощью «Доверителя»:

  1. пользователь A, как «Доверитель» пользователя B определяет, с кем B может общаться в условиях уровня «Доверия», который ему ранее выдал пользователь A. В соответствии с политикой безопасности A B может общаться с 3 типами пользователей в РСС:
    • с пользователями , которые числятся в «Списке Друзей» пользователя A;
    • с пользователями, которые являются «Друзьями Друзей» пользователя A;
    • с любыми пользователями РСС;
  2. на данный момент работа механизма «Доверия» подразумевает, что в случае если пользователь B хочет начать процедуру общения с другими пользователями, при которой пользователь A будет выступать «Доверителем», то A в момент исполнения процедуры должен находиться в РСС;
  3. стоит отметить, что пользователь B может попытаться связаться с пользователем D без участия пользователя A. К примеру, B может связаться с D не через РСС, например, потелефону, узнать логин D и попытаться отправлять сообщения напрямую D через РСС. Это возможно, учитывая, что логин пользователя D связан с его текущим адресом узла, вычисленным согласно логике работы протокола DHT. В то же время стоит отметить, что в этом случае клиент РСС пользователя D отследит, что сообщения не являются шифрованными согласно логике, описанной в [3], так как не была проведена процедура обмена ключами через «Доверителя», описанная ниже. Предполагается, что такие сообщения должны отбрасываться клиентом как недоверенные и незашифрованные, так как невозможно проверить, кто является настоящим автором данных сообщений, даже в случае если пользователь B подпишет такие сообщения своей ЭЦП «Доверия», а также невозможно быть уверенным, что такие сообщения не были перехвачены. Таким образом, единственной возможностью общения для пользователей, которые не являются «Друзьями» друг для друга, является общение через «Доверителя». Данное ограничение актуально для всех пользователей РСС, имеющих любой уровень «Доверия»;
  4. методы приглашение [3] и «Доверие» подразумевают, что пользователи могут обладать открытыми ключами основных пар друг друга, но при этом могут не быть «Друзьями» друг друга. Это необходимо для того, чтобы пользователи могли шифровать сообщения, передаваемые в случаях, аналогичных тому, что описан ниже, который подразумевает, что при общении B с D через «Доверителя» A, A и D могут не быть друзьями друг друга.

Заключение

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

В то же время следует отметить, что, к примеру, в работе не описана ситуация, при которой пользователь B может иметь более одного сертификата «Доверия», и, соответственно, неописано, каким образом пользователь A проверяет уровень «Доверия» пользователя B в этом случае.

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

  1. Богораз А.Г., Пескова О.Ю. Централизованные и распределенные социальные сети // Университет ИТМО, Технологии информационного общества в науке, образовании икультуре: сборник научных статей. Труды XVII Всероссийской объединенной конференции «Интернет и современное общество» (IMS-2014), Санкт-Петербург, 19-20 ноября 2014 г.
  2. Богораз А.Г. Создание методов защиты децентрализованных распределенных сетей. // «Системный администратор», № 4, 2017 г. – URL: http://samag.ru/archive/article/3419 (дата обращения: 03.05.2017).
  3. Богораз А.Г. Метод регистрации нового пользователя в распределенной социальной сети. // «Системный администратор», № 5, 2017 г. URL: http://samag.ru/archive/article/3439 (дата обращения: 03.05.2017).

Ключевые слова: распределенные социальные сети, РСС, социальные сети, доверие, разграничение доступа, общение, доверитель.


The method of differentiation of the user opportunities when interacting with DSN. Procedures of taking the first level of «trust» by a new user and communication through the "Principal"

Bogoraz A.G., Department of Information Technologies Security, Institute of Computer Technologies and Information Security, Southern Federal University, Rostov Region, Taganrog, bogoraz.a.g@gmail.com

Abstract: The purpose of this work is to develop a method for differentiation users' capabilities when interacting with Distributed Social Networks (DSN). In this paper, the problem of access delimitation in the DSN is described, the idea of the "Trust" method is described, as well as the limitations and peculiarities of the method operation. The following describes the procedure for increasing the level of trust of a new user from "0" to "1" and the procedure of the users communication through the "Principal", which invited the user to the DSN and acts as a link between the new user and other users of the DSN.

Keywords: Distributed Social Network, DSN, social network, trust, demarcation, communication, principal.


Комментарии отсутствуют

Добавить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-41
Fax: (499) 277-12-45
E-mail: sa@samag.ru