Как работает авторизация через соцсети. Механика, безопасность, юридический аспект

Коллеги из Red Collar разобрались, как устроена авторизация через социальную сеть на сайте и как понять, что берёт сайт из вашего профиля.

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

Как это работает

1. Вы нажимаете на иконку социальной сети на сайте.

2. Вас перебрасывает в закрытое приложение соцсети, которое создал разработчик сайта. Оно пропускает информацию выборочно, с множеством нюансов и защит. Фактически это скорее дверь или шлюз, чем полноценное приложение. В него невозможно попасть и максимум, что можно увидеть — «заглушку».

3. Видимой частью приложения является «поп-ап» всплывающее окно с надписью «Продолжить как (имя)» или «Разрешить».

4. Нажимаете, и социальная сеть посылает сайту ключ доступа. Говорит, что вы согласны дать эти данные.

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

Заглушка на закрытом приложении «ВКонтакте»

Видимая часть закрытого приложения

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

Функция обработки ответа от провайдера

Что берёт сайт и зачем

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

По умолчанию в сбор включаются общие данные профиля — public_profile. В коде и адресной строке это прописывается через параметр scope, включающий в себя «публичный профиль». Набор данных, входящий в этот «публичный профиль», у всех соцсетей разный. Например, на Facebook в него входят: айди, обложка, ник, имя, фамилия, возрастной диапазон, ссылка на страницу, пол, местонахождение, фотография, временная зона, последнее обновление страницы и само подтверждение.

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

Для ряда параметров нужна дополнительная проверка со стороны социальной сети при запросе на эти данные. Подробнее про них и другие разрешения при работе с Facebook можно найти на сайте Facebook for Developers. Альтернативные списки существуют для каждой социальной сети на официальных страницах с информацией — вот как это выглядит во «ВКонтакте» и «Одноклассиниках».

Зачем это владельцам сайтов

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

Какую информацию может взять сайт из разных социальных сетей. Источник: CXL


       

Игорь Иванов

Руководитель студии поискового маркетинга Semantica

«Уже много лет мы работаем с проектами, у которых на сайте стоит авторизация через соцсети, и в 100% случаев клиенты не хотят использовать возможности на полную. Главная причина: малому и среднему бизнесу (какими и являются наши клиенты) хватает несложных инструментов для достижения целей. Собрать максимальные данные о пользователе не так трудно, а вот потом придумать, зачем их использовать и навести в них порядок — это уже нетривиальная задача. Это как с big data: данные собирают все, а используют единицы. Если говорить об использовании этих данных в рекламе, то для среднего и малого бизнеса дополнительные расходы на программиста и часы специалиста по рекламе нет смысла оплачивать, когда есть ремаркетинг. Другой сценарий: сегментация пользователей, данные которых получили при авторизации для персонализации товаров на самом сайте или же для использования этих данных в email-рассылке. Здесь мы сталкиваемся с тем, что нужен квалифицированный специалист для создания технического задания и приличное число часов программиста. И при оценке этих затрат вырисовывается печальная картина: все эти работы окупятся через несколько лет. И кому это надо? Для крупного бизнеса — проект с десятками или сотнями тысяч авторизаций — как правило, выгодно использовать все возможности авторизации через соцсети. Для среднего и малого бизнеса это остаётся просто упрощением регистрации на сайте».

Сохранность данных и ответственность сторон

Ответственность за сохранность персональных данных лежит на четырёх сторонах: разработчик сайта, собственник сайта, социальная сеть и провайдер.

Социальная сеть

В Facebook есть отдельная страница с объяснением процесса запроса и контроля со стороны пользователя. Без дополнительной проверки сайт может запросить только публичный профиль, почту и список друзей. Здесь достаточно согласия пользователя. По другим запросам приложение проверяют специалисты со стороны социальной сети, чтобы убедиться в корректности использования данных.

Владелец сайта

Добросовестные владельцы сайтов составляют документ, регламентирующий использование персональных данных, ответственности сторон и сохранность информации — «политику конфиденциальности». Для примера мы рандомно открыли один из популярных сайтов. При входе через Facebook сайт сообщает следующее (здесь и далее «Х» — название компании):

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

«Другая общедоступная информация» звучит размыто и настораживающе, верно? Выше мы раскрыли секрет этой опасной «воды», но станет ли объяснять владелец, что он берёт?

Пробуем найти ответ, что это за информация и зачем она нужна в «политике конфиденциальности»:

«Регистрация — совокупность действий Пользователя в соответствии с указанными на Х инструкциями, включая предоставление Учётных данных и иной информации, совершаемых Пользователем с использованием специальной формы пользовательского интерфейса Х в целях формирования Личного кабинета и получения доступа к отдельным Сервисам Х.

В процессе пользования Сервисами Х (в том числе при Регистрации, взаимодействии с другими Пользователями через интерфейс Х, размещении Объявлений, просмотре страниц Х и т. п.), Пользователь самостоятельно и добровольно принимает решение о предоставлении Х или размещении в открытом доступе персональных и иных сведений о Пользователе (фамилия, имя, отчество или псевдоним Пользователя, адрес электронной почты, номер мобильного телефона, а также любая иная информация, предоставленная Пользователем…) Х принимает все необходимые меры для защиты персональных данных Пользователя от несанкционированного доступа третьих лиц».

Ответа на вопрос «какие данные берутся» не видно, только общие слова об «иной» информации. Документ не даёт ни чётких объяснений, какую информацию возьмёт сайт из вашего профиля, ни 100% гарантии сохранности данных.

Разработчик

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

Провайдер

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

Юридическая сторона

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


       

Павел Мищенко

Юрист и сооснователь Runetlex

«Основные требования Федерального закона N 152-ФЗ «О персональных данных» сформулированы давно. И уже давно есть требование брать письменное согласие при сборе персональных данных. Текущие изменения связаны не с самим законом, а со штрафами за его неисполнение. Если раньше за нарушение законодательства в области персональных данных предусматривался штраф в размере 10 000 ₽, то сейчас размер штрафа существенно увеличился и зависит от типа нарушений. За обработку персональных данных, несовместимую с целями их сбора, юридическое лицо может получить штраф до 50 000 ₽, за обработку персональных данных без согласия субъекта (если оно требуется) — до 70 000 ₽, за отсутствие в открытом доступе политики конфиденциальности — до 30 000 ₽. Все основания для штрафов и точные формулировки можно посмотреть здесь. В ФЗ № 152 не предусмотрен термин «общедоступная информация», но есть очень близкий по смыслу — персональные данные, сделанные общедоступными субъектом персональных данных для неограниченного круга лиц. Обработка общедоступных персональных данных допускается законом. При этом получать согласие на обработку таких данных не требуется. (п.1 ст. 6 ФЗ № 152). Следует понимать, что общедоступными могут быть только те данные профиля, которые может изучить любое лицо. То есть ограничение «показывать только друзьям» уже исключают персональные данные из понятия «общедоступные». При работе с общедоступными персональными данными, как и с любыми другими, следует помнить о ряде важных ограничений, установленных ст. 5 ФЗ-152:
  • Обработка персональных данных должна ограничиваться достижением конкретных, заранее определённых и законных целей.
  • Не допускается обработка персональных данных, несовместимая с целями сбора персональных данных.
  • Содержание и объем обрабатываемых персональных данных должны соответствовать заявленным целям обработки.
  • Обрабатываемые персональные данные не должны быть избыточными по отношению к заявленным целям их обработки.
С 1 июля за обработку персональных данных, несовместимую с целями их сбора, юридическое лицо может получить штраф до 50 000 ₽. Таким образом, даже при сборе общедоступных персональных данных, на сайте нужно объяснить, какие данные собираются и для каких целей. Размытость формулировки «и другие общедоступные данные» может быть воспринята контролирующими органами неоднозначно и привести к проблемам. Как было отмечено выше, далеко не все данные из социальной сети являются общедоступными. Для того чтобы избежать ненужных проблем, я рекомендую установить единый порядок получения персональных данных вне зависимости от того, общедоступные они или нет: 1. При любом виде регистрации (в том числе авторизации через социальные сети) пользователю показывается текст согласия на обработку его персональных данных. 2. В согласии указать:
  • Наименование или фамилию, имя, отчество и адрес оператора, получающего согласие субъекта персональных данных.
  • Цель обработки персональных данных.
  • Перечень персональных данных, на обработку которых даётся согласие субъекта персональных данных.
  • Перечень действий с персональными данными, на совершение которых даётся согласие, общее описание используемых оператором способов обработки персональных данных.
  • Срок, в течение которого действует согласие субъекта персональных данных, а также способ его отзыва, если иное не установлено федеральным законом.
3. Пользователь принимает согласие способом, который предусмотрен в нём (отметка в чекбоксе или нажатие кнопки «зарегистрировать» или какое-то другое действие)».

Мнение редакции может не совпадать с мнением автора. Ваши статьи присылайте нам на 42@cossa.ru. А наши требования к ним — вот тут.


Комментарии:

Ответить?

Самые интересные статьи, обзоры и размышления —
в рассылке!

Email *


Подпишись!


Вход на cossa.ru

Уже есть аккаунт?
Выбирай любой вариант входа:
Facebook Twitter Vkontakte

Используйте свой аккаунт в социальной сети Facebook или Twitter, чтобы пользоваться сайтом

Не забудьте написать email на странице своего профиля для управления рассылкой