Инициатива открытых данных послужила топливом для современной цифровой экономики и многочисленных интеллектуальных и персонализированных возможностей, которыми мы все наслаждаемся. Открытые данные облегчают поиск информации. Они способствуют коммуникации и инновациям, а также помогают накапливать знания и открывать новые закономерности.
Но если все открыто, как защитить конфиденциальность? Никто не хочет открытых данных в ущерб неприкосновенности личной информации. Действительно, Общий регламент ЕС по защите данных (GDPR) и Калифорнийский закон о конфиденциальности потребителей (CCPA) были приняты для защиты конфиденциальности в эпоху открытых данных. Как можно подтвердить подлинность личности и завершить транзакции, не делясь личной, а иногда и конфиденциальной информацией?
Доказательство с нулевым разглашением
Криптографический метод, известный как «доказательство с нулевым разглашением» (англ. Zero-knowledge proof, или ZKP), может стать ответом.
Задуманный в 1985 году тремя исследователями Массачусетского технологического института, ZKP обеспечивает аутентификацию без раскрытия информации, которая может быть скомпрометирована. По сути, ZKP заключается в том, что одна сторона (доказывающий) убеждает другую сторону (запрашивающего/проверяющего) в том, что она знает или владеет частной информацией – например, номером кредитной карты, PIN-кодом или паролем – не раскрывая, что это за информация. Фактические учетные данные не передаются на сервер аутентификации и не хранятся на нем. ZKP оценивает вероятность – оно не доказывает что-то с уверенностью, но вероятность в конечном итоге достигает почти полной уверенности, поскольку процесс повторяется столько раз, сколько необходимо.
Существует несколько способов выполнения аутентификации с нулевым разглашением. Один из примеров – использование асимметричной пары закрытый-публичный ключ, при этом закрытый ключ выступает в качестве верификатора запрашиваемой информации. Проверяющий посылает вызов или запрос, используя открытый ключ, а доказывающий отвечает, используя закрытый ключ, чтобы подтвердить информацию. В результате «рукопожатия» между открытым и закрытым ключом проверяющий убеждается в том, что ключ доказывающего соответствует критериям, что приводит к успешной аутентификации.
Часто в головоломке ZKP есть и третья часть. Как в приведенном ниже примере с паспортом Covid-19, личная информация может храниться в надежном хранилище, например, в центральном медицинском журнале, к которому процесс обращается для завершения аутентификации. Но «секретная» информация остается секретной.
Существует несколько теоретических иллюстраций того, как работает ZKP, но вот несколько реальных примеров.
- Вход в аккаунт. Вместо того чтобы вводить свой пароль на потенциально небезопасном сайте, вы можете доказать, что у вас есть пароль, ответив на серию вопросов, которые убедят администратора сайта в том, что вы знаете пароль, не раскрывая его.
- Платежные приложения. Платежное приложение на вашем телефоне может проверить, достаточно ли у вас денег на банковском счете – банк предоставляет «закрытый ключ» или доказательство – для завершения транзакции, не раскрывая больше ничего о вашем балансе и не требуя пароля или PIN-кода, только «да» или «нет».
- Проверка подлинности личности. Вместо того чтобы называть имя своего первого питомца, вы можете отправить криптографическое доказательство того, что вы тот, за кого себя выдаете. Как и в случае рукопожатия с открытым и закрытым ключом, проверяющий будет вычислительно запрашивать и проверять подлинность предоставленного доказательства без информации, которая могла бы раскрыть что-либо о вас.
Или вот своевременный пример: Паспорта вакцин Covid-19. Все более распространенные, они могут потребоваться для успешного въезда в иностранные государства, а также в государственные и частные учреждения по всему миру. Как мы можем добиться того, чтобы ваш вакцинный паспорт 1) легко и эффективно проверялся, 2) принимался везде и 3) отображал только информацию, абсолютно необходимую для выполнения первого и второго пунктов?
Датский «Коронапас» повсеместно принимается датскими властями и частными предприятиями для подтверждения того, что человек вакцинирован или протестирован, или имеет иммунитет в результате предыдущей инфекции, без раскрытия конкретной информации. Цифровая версия представляет собой приложение для телефона, которое связано с датской системой электронного удостоверения личности. Когда вы захотите пройти регистрацию в аэропорту или войти в ресторан или другое заведение, контролер просто отсканирует QR-код и посмотрит, действителен ли паспорт. Примечательно, что паспорт не сообщает, почему он действителен; в нем нет информации о статусе вакцин, датах анализов или предыдущих инфекциях. Владелец паспорта может разрешить паспорту отображать имя и дату рождения, но это необязательно. Информация в паспорте хранится в приложении на самом телефоне. Данные о здоровье хранятся только в защищенных центральных медицинских журналах.
Точно так же, если полицейский останавливает вас и просит предъявить права, регистрацию и страховку, а затем возвращается в свой автомобиль, каждый документ содержит личную информацию, включая адрес, возраст, номер страхового полиса и идентификационный номер транспортного средства. Эта информация теперь находится в руках человека, который, если бы этот человек был недобросовестным, мог бы сфотографировать ваши права. С помощью ZKP ваше удостоверение личности может содержаться в приложении, которое держит личную информацию в секрете. Отсканированный код покажет только то, что необходимо. Вернувшись в машину, полицейский просканирует цифровые права, чтобы убедиться, что владелец имеет право управлять автомобилем и не имеет неоплаченных счетов или штрафов.
Дело не только в том, что информация может быть подвержена риску с точки зрения безопасности данных; дело в том, что раскрывается гораздо больше информации, чем необходимо. Предоставление такой «минимально необходимой проверки» может, например, предотвратить расовое и социальное профилирование. Теоретически, ZKP может помешать должностным лицам делать выводы, осознанно или нет, на основе личной информации. Представьте себе, если бы полицейский мог проверить всю необходимую информацию, используя только QR-код, сканер и простые ответы «да» или «нет».
Подведем итог
Вход в онлайн-аккаунт без пароля. Завершение криптовалютной транзакции без раскрытия своего баланса. Проверка статуса Covid-19 без указания вакцинации, предыдущих инфекций или даты сдачи анализов. Проверка доходов семьи для получения кредита без раскрытия своих доходов. Концепция обеспечения возможности проверки утверждения без раскрытия фактической информации лежит в основе доказательства с нулевым разглашением.
ZKP обладает потенциалом для защиты конфиденциальности в самых разных случаях. Внедряя ZKP, бизнес и общество могут перейти к «открытым данным 2.0», когда ежедневные транзакции будут осуществляться в условиях современной цифровой экономики, но без раскрытия ненужной конфиденциальной информации.
Сергей Воробьёв
Интернет-предприниматель, специалист по SEO и SMM, E-commerce, вебмастер, блогер.