Как я и опасался перед публикацией предыдущей заметки — всё пошло не так, как хотелось бы. В комментариях было сказано довольно много разных слов, но существенная часть из них относилась не к идее, описанной в заметке, и даже не к конкретному варианту реализации, а к неприкосновенности личной жизни в целом и анонимности игроков в ММО в частности.
Было высказано много соображений про персональные данные — как достаточно здравых, так и весьма далёких от действительности. В результате — тема деанонимизации, похоже, перетянула одеяло на себя. Я решил немного подробнее коснуться этих самых персональных данных и технической стороны их сбора.
Для начала условимся о терминах — чтобы на определённом этапе не оказалось, что мы имеем в виду разные вещи:
Итак, ещё раз: отсутствие анонимности — это когда вы знаете, что аккаунт 7234687263 со всеми привязанными к нему персонажами принадлежит Ивану Ивановичу Пупкину, номер паспорта 4500 123456, проживает на Третьей улице Строителей…
Когда вы знаете, что Нагибатор666 и Феяняшечка — персонажи одного человека с аккаунтом номер 7234687263, это НЕ деанонимизация. Даже если вы знаете (хотя фактически — вовсе не обязательно для предоставления сервиса это знать), что аккаунт 7234687263 зарегистрирован на номер телефона +7 485 001 02 03 и почту trustno1@mail.ru — это тоже НЕ деанонимизация.
Идея в прошлой заметке, если максимально её сублимировать, заключалась в том, что перед логином в игру вы, помимо пароля, предоставляете приложению ряд биометрических данных, которые прямо там, в приложении, обезличиваются, превращаясь в абстрактный хэш, который улетает на сервер. Затем, чтобы подтвердить, что играет тот же человек, который логинился, используются и другие метрики, более косвенные — паттерны поведения, лексика и т. д.
Термин номер два:
Формулировка довольно размытая и, к сожалению, разъяснения профильных государственных органов картину не улучшают. Однако, нам нужно с чего-то начать — например, с перечня того, что абсолютно точно является ПД:
Продолжим другим списком — того, что точно НЕ является ПД:
Про последний пункт хочу рассказать подробнее, поскольку многие, кажется, не понимают — почему так. Всё, на самом деле, очень просто — персональные данные, как было сказано выше, это информация, относящаяся к определенному физическому лицу. IP-адрес относится не к человеку, а к пакету, переданному по сети, IMEI и MAC-адрес — к устройству (вдобавок оба легко меняются), куки и фингерпринт — к браузерам, да ещё и не к совсем конкретным. Во всех этих случаях невозможно однозначно судить, что за человек всем этим пользовался — поэтому и не ПД.
Если подходить к вопросу предельно педантично — то ни ФИО, ни дата рождения, ни адрес проживания по отдельности не идентифицируют человека однозначно.
Недопонимание, как мне кажется, произрастает из отождествления наличия у кого-либо ПД человека и возможности деанонимизации — а это ведь далеко не всегда связанные вещи. Условные спецслужбы могут идентифицировать объект с помощью данных, и не являющихся ПД — электронная почта, IP, аккаунт в соцсетях — просто потому, что у них есть возможность отследить путь несчастного пакета через интернет до домашнего провайдера, запросить у последнего логи — и получить информацию о конкретном клиенте с указанием его ФИО и места жительства. Как видите, ПД здесь появляются только в самом конце — да и то, у «кого надо» все ваши данные есть и так — вместе с доступом к многочисленным базам — из паспортных столов, налоговых, пенсионных фондов, банков.
Владельцы обычных интернет-ресурсов же подобными полномочиями и доступами не обладают — поэтому знание о вашем IP, номере телефона и почте не даст им практически ничего. Да, можно начать копать в интернете, сопоставляя информацию из соцсетей, геотэги фоточек в альбомах, просматривая тексты человека на предмет какой-либо деанонимизирующей информации — но сделать это можно и зная один-единственный ник или логин в ФБ или контактике.
Опять же — видите, деанонимизация вполне осуществима вовсе без знания какой-либо чувствительной информации, не говоря уж о ПД.
Отдельным параграфом мне хотелось бы коснуться биометрических данных. Тут, признаю, всё довольно плохо — в плане того, что российское законодательство в данном случае действует по принципу из известного анекдота — "ну, аппарат-то есть":
Иначе говоря, никого не интересует, собираете ли вы эти данные, сохраняете ли, обезличиваете ли — если существует хотя бы гипотетическая возможность (ну, скажем — приложение просит доступ к микрофону и камере телефона) такие данные собрать, то всё — с юридической точки зрения вы становитесь Оператором ПД со всеми вытекающими обязанностями. Сбор данных — это уже обработка, даже если вы сразу после получения отпечатка пальца, фотографии и примера голоса обезличиваете эту информацию.
Поэтому, кагбе, прошлая заметка и была с ремаркой — «сейчас, в 2020 году — не получится». Мне, как технарю, вполне очевидно, что обезличенные данные не должны обладать такими же драконовскими обязанностями по защите, как и обычные. Их и данными-то, блин, назвать нельзя — как и любую другую строку, схлопнутую хэш-функцией в набор шестнадцатеричных символов.
Анонимность, на мой взгляд — важнейшее право любого человека, особенно в интернете.
И мне было довольно странно читать комментарии с обвинениями, что, мол, я хочу лишить её игроков. Нет, нет и ещё раз нет. Торжественно заявляю, что в предложенной мной идее анонимность нисколько не нарушается — просто не нужно её путать с чем-то другим, например, глобализацией информации об игровых персонажах и их действиях.
Было высказано много соображений про персональные данные — как достаточно здравых, так и весьма далёких от действительности. В результате — тема деанонимизации, похоже, перетянула одеяло на себя. Я решил немного подробнее коснуться этих самых персональных данных и технической стороны их сбора.
Для начала условимся о терминах — чтобы на определённом этапе не оказалось, что мы имеем в виду разные вещи:
Анонимность — невозможность точной идентификации человека.
Итак, ещё раз: отсутствие анонимности — это когда вы знаете, что аккаунт 7234687263 со всеми привязанными к нему персонажами принадлежит Ивану Ивановичу Пупкину, номер паспорта 4500 123456, проживает на Третьей улице Строителей…
Когда вы знаете, что Нагибатор666 и Феяняшечка — персонажи одного человека с аккаунтом номер 7234687263, это НЕ деанонимизация. Даже если вы знаете (хотя фактически — вовсе не обязательно для предоставления сервиса это знать), что аккаунт 7234687263 зарегистрирован на номер телефона +7 485 001 02 03 и почту trustno1@mail.ru — это тоже НЕ деанонимизация.
Идея в прошлой заметке, если максимально её сублимировать, заключалась в том, что перед логином в игру вы, помимо пароля, предоставляете приложению ряд биометрических данных, которые прямо там, в приложении, обезличиваются, превращаясь в абстрактный хэш, который улетает на сервер. Затем, чтобы подтвердить, что играет тот же человек, который логинился, используются и другие метрики, более косвенные — паттерны поведения, лексика и т. д.
Термин номер два:
Персональные данные (в соответствии с законом РФ 152-ФЗ) — любая информация, относящаяся к прямо или косвенно определенному или определяемому физическому лицу (субъекту персональных данных).
Формулировка довольно размытая и, к сожалению, разъяснения профильных государственных органов картину не улучшают. Однако, нам нужно с чего-то начать — например, с перечня того, что абсолютно точно является ПД:
- Фамилия, имя, отчество
- Год, месяц, дата и место рождения
- Адрес места регистрации и проживания
- Семейное, социальное, имущественное положение
- Образование, профессия, доходы
- Паспортные данные
- Биометрические данные
Продолжим другим списком — того, что точно НЕ является ПД:
- Адрес электронной почты, номер мобильного телефона без указания их владельца (см. разъяснение РКН)
- Любые софтварные и хардварные идентификаторы — IMEI, IP и MAC-адреса, HWID компьютера, куки и другие способы фингерпринтинга через браузер
Про последний пункт хочу рассказать подробнее, поскольку многие, кажется, не понимают — почему так. Всё, на самом деле, очень просто — персональные данные, как было сказано выше, это информация, относящаяся к определенному физическому лицу. IP-адрес относится не к человеку, а к пакету, переданному по сети, IMEI и MAC-адрес — к устройству (вдобавок оба легко меняются), куки и фингерпринт — к браузерам, да ещё и не к совсем конкретным. Во всех этих случаях невозможно однозначно судить, что за человек всем этим пользовался — поэтому и не ПД.
Если подходить к вопросу предельно педантично — то ни ФИО, ни дата рождения, ни адрес проживания по отдельности не идентифицируют человека однозначно.
Недопонимание, как мне кажется, произрастает из отождествления наличия у кого-либо ПД человека и возможности деанонимизации — а это ведь далеко не всегда связанные вещи. Условные спецслужбы могут идентифицировать объект с помощью данных, и не являющихся ПД — электронная почта, IP, аккаунт в соцсетях — просто потому, что у них есть возможность отследить путь несчастного пакета через интернет до домашнего провайдера, запросить у последнего логи — и получить информацию о конкретном клиенте с указанием его ФИО и места жительства. Как видите, ПД здесь появляются только в самом конце — да и то, у «кого надо» все ваши данные есть и так — вместе с доступом к многочисленным базам — из паспортных столов, налоговых, пенсионных фондов, банков.
Владельцы обычных интернет-ресурсов же подобными полномочиями и доступами не обладают — поэтому знание о вашем IP, номере телефона и почте не даст им практически ничего. Да, можно начать копать в интернете, сопоставляя информацию из соцсетей, геотэги фоточек в альбомах, просматривая тексты человека на предмет какой-либо деанонимизирующей информации — но сделать это можно и зная один-единственный ник или логин в ФБ или контактике.
Отдельным параграфом мне хотелось бы коснуться биометрических данных. Тут, признаю, всё довольно плохо — в плане того, что российское законодательство в данном случае действует по принципу из известного анекдота — "ну, аппарат-то есть":
Обработка персональных данных — любое действие (операция) или совокупность действий (операций), совершаемых с использованием средств автоматизации или без использования таких средств с персональными данными, включая сбор, запись, систематизацию, накопление, хранение, уточнение (обновление, изменение), извлечение, использование, передачу (распространение, предоставление, доступ), обезличивание, блокирование, удаление, уничтожение персональных данных.
Иначе говоря, никого не интересует, собираете ли вы эти данные, сохраняете ли, обезличиваете ли — если существует хотя бы гипотетическая возможность (ну, скажем — приложение просит доступ к микрофону и камере телефона) такие данные собрать, то всё — с юридической точки зрения вы становитесь Оператором ПД со всеми вытекающими обязанностями. Сбор данных — это уже обработка, даже если вы сразу после получения отпечатка пальца, фотографии и примера голоса обезличиваете эту информацию.
Поэтому, кагбе, прошлая заметка и была с ремаркой — «сейчас, в 2020 году — не получится». Мне, как технарю, вполне очевидно, что обезличенные данные не должны обладать такими же драконовскими обязанностями по защите, как и обычные. Их и данными-то, блин, назвать нельзя — как и любую другую строку, схлопнутую хэш-функцией в набор шестнадцатеричных символов.
И мне было довольно странно читать комментарии с обвинениями, что, мол, я хочу лишить её игроков. Нет, нет и ещё раз нет. Торжественно заявляю, что в предложенной мной идее анонимность нисколько не нарушается — просто не нужно её путать с чем-то другим, например, глобализацией информации об игровых персонажах и их действиях.
18 комментариев
Посмотрим на реальные примеры. В Корее нельзя завести аккаунт в ММО (про все не могу утверждать) не предъявив свой идентификатор, что-то вроде номера паспорта. Каждый, кто пытался попасть на какой-нибудь корейский бета-тест с этим сталкивался. У нас, в России, вполне можно было бы организовать логин через Госуслуги. При этом вопрос анонимности вообще не стоит. Сервисы ММО и информационных порталов при этом могут принимать некий абстрактный ключ не завязанный вообще ни на что. Всё, что они будут знать это то, что такой человек существует. Это помогает бороться с ботами и, сильно снижает возможности заведения левых аккаунтов, хотя таковая остаётся.
Реализовать хранилище информации для связи аккаунтов из разных ММО уже сложнее, так как подобная информация должна будет храниться на стороне того сервиса, на котором осуществляется регистрация. В нашем случае на Госуслугах. Либо Госуслуги должны предоставлять некое proxy API (не знаю как это ещё назвать), так как для соблюдения безопасности сервисы не могут ходить друг к другу сами. Есть, конечно, ещё вариант — сделать обязательным при регистрации привязку не только к Госуслугам, но и к некому сервису статистики. Но, в таком случае, это не будет настолько обязательным для разработчика ММО.
В схеме, конечно, хватает белых пятен. Но она уже работает на примере той же Кореи. Что делать если человек переехал, как связать подобную историю игр. Ведь международной системы идентификации личности не существует.
Есть ещё проблемы связанные с доверием. Эта абсолютно бессмысленная привычка обвинять государство во всём подряд, существующая на пространстве бывшего СССР. Я уже представляю реакцию пользователей если кто-то решится действительно предложить подобную регистрацию.
И, главное, проблема консервативности людей по отношению к технологиям. Как бы странно это не звучало в среде ММО игроков. Проблема не в какой-то абстрактной «анонимности», а в том, что все считают цифровые технологии некой «серой зоной» и не хотят, чтобы кто-то что-то знал о том, что они делают в этой «серой зоне». Например, наличие номера в паспорте никого, почти, не беспокоит. Но авторизация в интернет-сервисах по государственному идентификатору или чипы под кожей сразу вызывают, необоснованные, негативные ассоциации.
Человечество сопротивляется переходу к цифровому обществу. Люди не хотят покупать в интернете — нужно пощупать. Не хотят цифровой паспорт — его кто-нибудь взломает. Не хотят чтобы их действия в интернете кто-либо связывал с их личностью — считают его зоной где всё можно. В каких-то странах в большей степени, в каких-то в меньшей. В зависимости от традиций.
Хотя казалось бы — уже давно придуманы и расцвели пышным цветом технологии, на математическом уровне, а не желании левой пятки рандомного чиновника реализующие надёжную и анонимную аутентификацию, хранение и кросс-сервисное, с гибким разделением доступа использование данных, в том числе биометрических. Начиная с асимметричного шифрования и заканчивая блокчейном.
Интересно наблюдать как гугл отслеживает все наши перемещения даже в выключенным GPS.
Так же удивляет возможность нейронных сетей найти тебя на фото совершенно незнакомых людей, достаточно просто попасть в кадр. Или, сфотографировавшись с другом, Вы можете получить через пару минут «подарок» от гугл с вашим совместным фото сделанным пару лет назад.
А сопротивление всему новому, это обычное поведение мозга. Первая реакция.
Доверие… его тяжело получить, но легко потерять.
Ответсвенность за совершенные действия в игре, преврашает игру во что-то иное.
Да, мне тоже не нравится когда пакостят.
Но, как знать, вруг именно возможность пакостить в игре может удержать от аналогичных действия в реальности? По крейней мере, серьезно пакостить. Понятно, что данных психотип будет везде хорошо прослеживаться.
Я могу ошибаться за давностью лет, но, по-моему, в обеих заметках ничего не было про последствия для пакостников — может наоборот, это будет плюсом в случае приёма в гильдии определённой направленности?
И начал играть… ну, скажем, в ArcheAge. Решил сменить амплуа, и построить что-то прекрасное. И тут на меня накидываются все те, кого я чем-то обидел в Eve. Может, они и до этого играли в ArcheAge, а может просто выслеживали меня, чтобы отомстить.
Хочу ли я такого геймлея? Наверно, не очень. Значит нужно было быть паинькой в Eve.
Вот и наступила та самая ответственность.
Чем же тогда отличается эта виртуальная вселенная от реальной? И тут и там придется отвечать. Значит уже нельзя делать все, что хочется. Значит ну вас всех нафиг. Пойду ботов крошить. Они тупые и оценок не ставят.
Информация всегда может работать как во благо, так и во зло. Смотря кто ее интерпретирует.
А если нет информации? То и суда праведного нет. А в гильдию злодеев и так пробиться можно.
Лично мне такая идентификация не страшна. Я везде один ник использую. Не скрываюсь.
Но, если кто-то хочет остаться инкогнито в игре — его право.
Но мир безусловно станет лучше, когда люди осознанно смогут выбирать — хотят они играть в игры с пакостниками или без оных.
И это самое интересное, возможность сопоставления и комбинации этих данных. А ещё GDPR рекомендует псевдонимизацию данных. Грубо говоря, если Петя создаёт второй аккаунт, система обязана не понимать, что это именно Петя. С точки зрения GDPR описанная система не только не обеспечивает анонимности, но и псевдонимности тоже. То есть всё это требует кучу подписанных бумажных документов от каждого пользователя.
Но это не имеет ни малейшего значения, раз уж хешируется всё на стороне клиента. Вносим погрешность в данные и все хеши превращаются в мусор. В первой статье шла речь вообще об опенсорс проекте, так кто мешает скачать исходник, найти функцию формирования хеша и посолить. Выносим соль в параметры запуска и у нас уже столько цифровых личностей, сколько нам нужно. Игроки, убеждённые, что не просто так заполняли формуляр с разрешением на сбор данных, свято верят в метрики. А злоумышленник давно прикрылся фальшивой личиной и пользуется необоснованным спокойствием игроков. А ещё он знает, какого вида хеши формируются и из чего именно, ведь у него есть тот самый алгоритм. То есть глубоко незаконная система вызывает ложное чувство защищённости и при этом не выполняет своих прямых функций.
Безусловно, кто же спорит? И что?
Чьими персональными данными, простите? Как идентифицировать субъекта персональных данных по нику и id? Персональность-то именно в том и заключается (см. соответствующий термин в начале заметки), что данные позволяют отнести их к конкретному физическому лицу. Если уж РКН даже номер мобильного не считает ПД, то какие-то там юзерайди непременно идут лесом.
Я и не говорю, что проблема в РКН, хотя с законами РФ тоже есть некие шероховатости. Писалось это в контексте GDPR, который явно указывает, что customer number является personal data.
Зная какие именно хеши формируются и из чего именно можно создать радужные таблицы и притворяться уже не только абстрактным Васей, будучи Петей, а вполне конкретным Фёдором. И, пользуясь чужим кредитом доверия, портить ему репутацию. Да, радужные таблицы дело не быстрое.
security.stackexchange.com/a/61147
Но главной идеи это не отменяет, весь вопрос только во времени. А вообще, вы до конца дочитали?
Всего 25 gpu, это даже не средненькая ферма для майнинга. Насколько мощными были GPU в 2012, насколько мощные они сегодня? На сколько мощными они будут, когда мы скатимся в настолько беспросветное мрачное будущее?
Смысл радужных таблиц — предвычисления хэшей всех вариантов входных строк. Вопрос к ним не только и не столько к скорости вычисления, сколько к необходимому для хранения всего этого объёму — который возрастает по степенному закону с увеличением количества символов/байт/бит во входной строке. Если 2.5 Йоттабайта для всех вариантов 12-символьных паролей по моей бессмысленной ссылке вас не впечатлили — что ж, удачи в создании подобных таблиц для длин в разы и порядки больших.
Ну, если предположить, что описанная система реально существует, вы предлагаете ей бесконечно гонять трафик по сети? О, так игры ещё и будут тормозить. Всё прекраснее.
Я запутался, вы меня опровергаете или поддерживаете? :) Ссылка с паролями была взята как одна из первых по запросу «rainbow table max length», просто, чтобы продемонстрировать порядки чисел.
В плане чудовищности объёма информации скорее поддерживаю. Однако речь о теоретической возможности подобной атаки. Сейчас-то от привычных md5 и sha1 повсеместно отказываются, хотя казалось бы — добавьте энтропии, добавьте соль и проблема решена. И, к слову, существующие радужные таблицы вовсе не пригодятся при кастомном алгоритме. Однако такая атака теоретически возможна. Плюс, опять же, для реализации такой системы нужна отмена GDPR и множества других законов по защите личности, установление повсеместного тоталитарного режима и, скорее всего, какие-то другие вещи. Что очевидно не случится быстро. Вычислительные мощности подрастут, возможность атаки станет ещё выше. Концепт, скорее всего, нежизнеспособен. Если уж такое реализовывать, то через сквозное шифрование и передачу сырых данных в облако.
Если информация собрана — ее нужно использовать.
Если информацию не использовать, то и незачем ее собирать.
Спорно, но ладно. Любой имеет право верить во что угодно. Но другие не обязаны разделять эту веру. Я не хочу тратить своё время на то, чтобы через пакости в мой адрес в виртуальном пространстве уберегать реальное от большей беды, тем более, что искренне верю в обратное — любой опыт реален и, если он приносит удовольствие, может служить подкреплением.