Как блок­чейн по­может за­щитить пер­со­наль­ные дан­ные?

17 декабря 2018

Блокчейн — очень популярная технология. Без понимания сути ее можно отнести к хайпу и забыть. Мы в DSR разбираемся, применяем и делимся знаниями. Нет общего безопасного метода доказать личность человека в сети. Мы как пользователи раздаем свою информацию многим сервисам и думаем: "а как это хранится и используется?". Задача: доказать что у прувера есть набор данных, которому можно доверять.


Физический мир и цифровая реальность

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

Сколько у вас аккаунтов в сети? Банк, социальные сети, страхование, госуслуги и так далее. Телевидение, автомобиль, электронная почта. Да, сейчас одни сети позволяют ссылаться на другие при логировании. И все равно нет единого хранилища, к которому можно обращаться каждый раз при необходимости. Все это используется для сбора статистики об активности пользователей. В том или ином виде. Этакое цифровое досье об активности каждого пользователя в сети.

И в том, и в другом мире есть проблема доверия и приватности данных. Это ортогональные вещи. Как решить вопрос подтверждения идентификации?

Структура решения

В цепочке есть три звена. Эмитент. Человек. Проверяющая сторона.

picture

Проверяющим в цепочке является банк. Прувер — человек, данные которого нужно подтвердить. Эмитент — это организация, которой все доверяют. Может быть правительство, министерство. Паспорт — credential. Это документ трудно взламываемого формата с идентификационными данными.

Суть нового подхода: Self Sovereign Identity [SSI]

Существует три модели цифровой идентификации. У централизованного сервиса с аккаунтом для каждого человека есть минус — это централизованность. Люди не контролируют свои данные и пользуются одинаковыми паролями для разных сервисов. У федеративной модели также недостаток — для доступа к сервису используется посредник, контроля данных также нет. Поэтому приходит SSI.

Новая модель цифровой идентичности SSI. Приватные данные. Часть публичных ключей хранится в публичном леджере — блокчейне. Проблема централизованности решается. Она явно лучше, чем федеративная модель и централизованный сервис с аккаунтами. Не нужно переиспользовать пароли или пользоваться третьесторонним ресурсом для доступа.

Здесь данные приватные. Публичные ключи частично хранятся в публичном леджере (https://en.wikipedia.org/wiki/Ledger) — его роль исполняет блокчейн. Централизованность устраняется. Проблема решена.

Зачем публичному леджеру блокчейн?

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

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

Что нельзя писать? Приватные DID. Приватные ключи. Сами креденшиалы. Это хранится локально у каждого пользователя. Приватные атрибуты и другие данные. Проверяющей стороне даются не сами креденшиалы, а дополнительные доказательства. Hyperledger Indy позволяет всему этому работать. Независимая идентичность. Этот блокчейн – распределенный леджер, созданный специально для децентрализованной идентификации и набор библиотек, инструментов, компонентов для работы приложений. Sovrin Indy – это новый блокчейн. Не имеет отношения к биткоину и прочему. Не связан с концепцией денег. Блокчейн с узкой специализацией.

Все блокчейны делятся по типу доступа – публичные и приватные. И по типу валидации. Permissionless и permissioned. Узлы, которые участвуют в валидации, – их набор строго ограничен. Кольцо узлов, отвечающих за транзакции, ограничено в Indy Sovrin. Sovrin Foundation определяет, кто может участвовать.

Доказательства с нулевым разглашением

Это доказательства некого условия, ответом на который является "да" или "нет" без раскрытия самого высказывания. У доказательства три свойства:

  • Полнота. Можно доказать, что оно действительно верно.
  • Непротиворечивость. Если оно верно, нельзя доказать, что он ложно.
  • Нулевые знания. Если доказательство верно, то ничего кроме того, что оно верно, не раскрывается.

Идея в том, что в креденшиале набор полей. И на его основании генерируется сущность — доказательство. Доказывается, что есть поле, но не содержимое. Оно не раскрывается. Доказательство отправляется проверяющей стороне. Проверяющий использует публичные ключи эмитента и верифицирует доказательство. Эмитент публикует ключи в блокчейн.

Например, правительство России расшарило публичный ключ. Для документа генерируется криптографическая подпись. Совмещается с кешированием — короткий набор байтов. Проверить может любой, у кого есть публичный ключ. Криптография решает проблемы аутентификации.

Парное взаимодействие

Чтобы обменяться доказательствами, нужен безопасный канал передачи данных. Обе стороны генерируют пару симметричных ключей. Ключи генерируются все время разные. Третья сторона в этом не участвует. Публикуют в базу данных. Никто не знает, к чему что относится, поэтому не получится использовать. Технически можно поднести один телефон к другому и произойдет передача.

Применение

Электронные выборы в Эстонии. Правительство Канады в Британской Колумбии. Жила-была Алиса. Поступила в институт, закончила его. Получила электронный сертификат об окончании. Аналог диплома. Решила устроиться на работу. Там у нее попросили подтвердить наличие высшего образования. И тут ей помог блокчейн. Ее взяли на работу.

Захотела Алиса взять ипотеку. Отправилась она в банк. Там ее попросили подтвердить свои доходы. И опять все прошло гладко благодаря блокчейну. На работе подтвердили, что уровень дохода у Алисы достаточный для покупки квартиры в рассрочку.

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

picture

Узнайте остальные подробности в видеозаписи нашего митапа.