В настоящее время социальные сети (СС) находятся на пике популярности. Для того, чтобы начать пользоваться любой СС, достаточно лишь создать профиль с личной информацией, чтобы люди смогли идентифицировать пользователя среди множества таких же профилей других людей. Эта информация может использоваться как для слежения за личной жизнью пользователя соответствующими структурами, так и для составления максимально полного описания пользователя, его взаимоотношений с другими пользователями, текущей работы, хобби, благосостояния, перемещений, будущих планов и многого другого.
На данный момент наиболее распространены СС, построенные на базе клиент-серверной архитектуры. Однако, информационные технологии постоянно эволюционируют, и в своей работе мы хотели бы затронуть аспект работы социальных CC распределенного типа.
Распределенные Социальные Сети (РСС) - это сети, созданные для сохранения конфиденциальности информации пользователя. Персональные данные (ПД) пользователя хранятся исключительно на клиентской машине пользователя. Пользователь целиком и полностью определяет доступ к своим данным для любого пользователя РСС.
Клиент-серверные РСС работают аналогично обычным СС, но с серьезными отличиями. В подобных РСС сервер используется только для соединения клиентов между собой, без использования в качестве промежуточного звена хранения информации.
Полностью децентрализованные РСС отличаются полным отсутствием сервера. Клиент такой сети устанавливается на компьютер пользователя и является как клиентом, так и сервером одновременно.
Diaspora — некоммерческая распределённая децентрализованная социальная сеть, построенная на основе одноимённого свободного программного обеспечения с открытым исходным кодом.
Diaspora состоит из сети взаимосвязанных узлов, или Подов, которые располагаются у разных людей и организаций. Каждый узел работает на своей копии движка, являясь по сути отдельным веб-сервером. Пользователи сети могут создать аккаунт на любом из этих серверов, но при этом будут взаимодействовать со всеми остальными серверами.
Любой может использовать движок Diaspora, чтобы открыть свой «Под» (сервер) и объединить его с остальной частью СС. Можно использовать «Под» самостоятельно, вместе с друзьями или семьёй, что даёт пользователю полный контроль над вашей личной информацией (включая имя, сообщения и фотографии) и тем, как он это хранит и какие права даёт другим пользователям.
Одна из важных особенностей безопасности этой сети — ассиметричное общение.
В сетях с асимметричной формой общения, если пользователь решил добавить человека в «Друзья», то тем самым он разрешил этому человеку видеть свои публикации. С другой стороны, «друг» может, как согласиться, так и не согласиться делиться с пользователем своими публикациями. Если он не согласится, то можно будет видеть только те его публикации, которые он сделал публичными или открытыми для всех без исключений.
Поды РСС Diaspora должны быть доступны для поиска пользователей в них c выдачей информации об их адресах протокола Webfinger. [1]
Webfinger-профиль Боба должен содержать ссылку на его hcard (HTML vCard). Hcard содержит персональные данные, такие, как полное имя Боба, ссылка на его аватар и т. д.
При создании Под, Под должен сгенерировать ключевую PGP-пару. Ключи будут использоваться для подписания сообщений.
В качестве алгоритма шифрования, в РСС Diaspora используется симметричный алгоритм RSA. Формат ключа следующий: берется представление ключа в кодировке ASCII, конвертируется по специальному методу кодирования DER, шифруется с помощью криптографического стандарта PKCS#1 и затем кодируется еще раз по base64. Таким образом, ключ оказывается зашифрован двойной образом.
Если Алиса решает начать общаться с Бобом, то она должна отправить сообщение по протоколу Salmon ему как удаленному пользователю, для этого ей нужно:
1. Создать сообщение. Сообщения пересылаются в зашифрованном виде. Для поддержки семантики шифрования используется «Магический конверт» протокола Salmon, который расширяется для внесения дополнительных данных.
2. Создать URL протокола Salman Боба.
Для создания URL протокола Salmon делается следующее:
1). Берется местонахождение Пода удаленного пользователя, Боба.
2). Берется глобальный уникальный идентификатор удаленного пользователя.
3). Создается /receive/users/. Это и есть URL Salmon Боба.
3. Отправить сообщение Бобу.
Берется окончательная форма сообщения по протоколу Salmon, дважды URL-кодируется, и затем отправляется протоколу Salmon Боб. Если Алиса получит сообщение HTTP 202 Created или 200 OK, следовательно, ее сообщение было получено.
Суть получения заключается в повторении действий алгоритма отправления сообщения, но в обратном порядке.
Следует отметить, что а) «Приветствие», отосланное Бобу, подписано закрытым ключом Алисы, б) в то же время, ничего о том, кто отослал «Приветствие» не будет отослано в открытом виде.
Полезная нагрузка также содержит указатель на автора сообщения. Через протокол Webfinger Боб может запросить открытый ключ Алисы. С помощью этого ключа он сможет подтвердить, что сообщение отослала именно Алиса. [2]
Заключение
РСС предоставляют намного больше возможностей по защите пользовательских персональных данных и любой другой конфиденциальной информации. Обычные социальные сети, из-за особенностей своей модели построения, никогда не смогут предоставить аналогичные возможности защиты.
Таким образом, можно с уверенностью утверждать, что изучение РСС является актуальным на сегодняшний день благодаря возможностям и особенностям, которые они могут предоставить пользователю с точки зрения безопасности. [3]
Библиографический список
[1] Distributed social network protocols // Diaspora Project Wiki, URL: https://wiki.diasporafoundation.org/Distributed_social_network_protocols (дата обращения: 30.11.2014).
[2] Federation protocol overview // Diaspora Project Wiki, URL: https://wiki.diasporafoundation.org/Federation_protocol_overview (дата обращения: 30.11.2014).
[3] Анализ безопасности распределенной социальной сети Diaspora, авторы: Богораз А.Г., Власов А.С., Пескова О.Ю. - Cборник конференции №17 «Современное состояние ЕиТН», 2015 год