Pull to refresh

Анонимность и подлинность

Reading time16 min
Views4.3K

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

Введение

В начале разъясним мотивационные причины написания настоящей заметки.

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

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

С другой стороны, в упомянутых публикациях, в частности тут, просматривается претензия  на всеобъемлющую «теорию», что недвусмысленно следует из названия. Однако, если речь идёт о теории в классической трактовке, то необходимо обеспечить полноту и непротиворечивость положений, составляющих смысловое содержании последней. К сожалению, здесь имеются некоторые упущения, которые мы постараемся продемонстрировать при помощи простого контрпримера. Отметим, что автор текста под названием «Теория строения скрытых систем» был уведомлен об этом заранее в комментариях к публикации. В дальнейшем по мере необходимости мы будем соотноситься с упомянутым выше текстом. Для отсылки воспользуемся аппелятивом «Автор», безусловно имея в виду автора этого текста. Причем преднамеренно с прописной буквы, подчеркивая тем самым исключительно уважительное, но при  этом конструктивно-критическое отношение.

Термины и определения

Начнём с уточнения терминологии.

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

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

Характеристики идентификатора определяются выбранным способом отображения. Например, если для этой цели воспользоваться криптографической хеш-функцией, то на основании модели случайного оракула (Random Oracle Model, ROM) полученный идентификатор будет удовлетворять равномерному распределению при условии детерминированности и полиномиальной вычислительной трудоемкости.

Мы будем использовать термин анонимность (anonymity) для обозначения такой услуги безопасности, когда при известном идентификаторе субъект с ограниченными ресурсами, как вычислительными, так и памяти, не в состоянии раскрыть в реальном масштабе времени персональные данные другого субъекта. Автор для обозначения анонимности использует термин «несвязываемость». Мы ничего не имеем против новых терминов при условии, что они не дублируют уже существующие и привносят дополнительные смыслы. В данном случае нам не удалось уловить фокус предлагаемой новации.

Поскольку Автор в основном рассуждает о неотслеживаемости (untraceability), то необходимо разъяснить и эту услугу безопасности, которая в существенной мере связана с сетевым взаимодействием. Неотслеживаемость достигается в том случае, когда получатель не может определить сетевой адрес отправителя. По-другому, для определения этого адреса ему необходимо решить задачу сверхполиномиальной трудоемкости. При этом выделяют:

  • теоретико-информационный подход, когда решение может быть либо угадано с некоторой вероятностью, либо при наличии критерия выбраковки получено посредством исчерпывающего перебора, 

  • вычислительно-сложностный подход, который сводится к решению известной вычислительной проблемы. 

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

Для обозначения неотслеживаемости Автор применяет термин «ненаблюдаемость», который также не привносит ничего нового в смысловом плане. Можно долго и безрезультатно спорить о содержательности того или иного термина, но мы полагаем, что тут следует руководствоваться простым правилом «первой руки» — термин «неотслеживаемость» с соответствующим смысловым содержанием был введен еще двадцать лет тому назад в книге Чмора А.Л. Современная прикладная криптография. 2-е изд. – М.: Гелиос, АРВ, 2002. – 256 с. И с тех пор употребляется повсеместно. 

Контрпример

Итак, Автор рассуждает о неотслеживаемости. Основные положения можно считать верными, если бы не одно «но». Автор утверждает, что неотслеживаемость включает в себя анонимность. Процитируем Автора: 

«Критерий ненаблюдаемости уже включает в себя критерий несвязываемости. Если пойти от обратного и предположить ложность данного суждения (то-есть, отсутствие несвязываемости в ненаблюдаемости), тогда можно было бы при помощи несвязываемости определить существование субъектов информации и, тем самым, допустить нарушение ненаблюдаемости, что является противоречием для последнего». 

Это не слишком ясное утверждение выдаётся за формальное доказательство, хотя по сути таковым не является. Наша задача заключается в том, чтобы показать, почему это утверждение не верно.

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

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

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

Передача отдельного зашифрованного сообщения гарантирует анонимность отправителя, но не получателя. Поясним. Понятно, что расшифровать это сообщение может только тот, кто владеет парным секретным ключом, а проверка подлинности общедоступного ключа из этой пары осуществляется отправителем при том, что никому кроме него неизвестно, чей именно ключ он применил для зашифрования сообщения. В ходе проверки подлинности общедоступного ключа получателя при помощи соответствующего сертификата раскрываются его персональные данные. Также предположим, что в ходе такой передачи отправитель сознательно не раскрывает свои персональные данные. Отсутствие анонимности получателя объясняется тем, что его персональные данные известны отправителю и могут быть разглашены (отправитель не заинтересован в разглашении своих собственных персональных данных, но это правило может не распространяться на чужие персональные данные). Действует простой принцип: «Если кто-то, кроме тебя самого, знает твои персональные данные, то они могут быть разглашены». Однако для обеспечения неотслеживаемости необходимо задействовать дополнительные средства, например воспользоваться сетевым кодированием. Здесь мы видим, что анонимность и неотслеживаемость существуют сами по себе и никак не коррелируют.

Если необходимо гарантировать подлинность и целостность, то для этого сообщение заверяется ЭЦП при помощи секретного ключа отправителя. Назовем заверителем того, кто формирует ЭЦП. Теперь получатель должен убедиться в подлинности общедоступного ключа заверителя (отправителя) и по факту подтверждения подлинности перейти к проверке ЭЦП сообщения. С этой целью получатель извлекает сертификат общедоступного ключа заверителя и проверяет ЭЦП, которая входит  в состав сертификата и сформирована доверенным удостоверяющим центром. Валидность этой ЭЦП свидетельствует о подлинности общедоступного ключа из сертификата. Как мы отметили выше, сертификат также содержит персональные данные заверителя. Это в свою очередь означает, что анонимность невозможна. Совершенно неважно, обеспечивается при этом неотслеживаемость или нет. Сообщение можно сначала заверить  ЭЦП при помощи секретного ключа отправителя, а потом зашифровать на общедоступном ключе получателя. Очевидно, что такая схема также не обеспечивает анонимности субъектов взаимодействия. Это тот самый контрпример, который указывает на несостоятельность «доказательства», представленного Автором.

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

Невозможно полностью отказаться от асимметричной криптографии. Например, согласование сеансового секретного ключа для дальнейшего использования последнего в симметричной схеме с целью зашифрования/расшифрования, осуществляется при помощи протокола Диффи-Хеллмана, в котором для противодействия «атаке посредника» (Men-In-the-Middle, MItM) сеансовые (кратковременные) общедоступные ключи заверяются ЭЦП, тогда как проверка ЭЦП выполняется с привлечением сертификатов долговременных общедоступных ключей субъектов. Аналогичная ситуация возникает и в случае применения метода «цифрового конверта». 

Постановка задачи

Если мы не можем полностью отказаться от асимметричной криптографии или сертификатов общедоступных ключей, то что же делать? Существуют ли иные решения? 

Мы попытались ответить на эти вопросы, разработав интерактивный протокол анонимной идентификации (подробнее). С момента публикации были получены новые результаты. Со временем мы опубликуем заметку с подробным описанием очередной разработки,  но сейчас ограничимся постановкой задачи, а также поясним логику рассуждений, которой следовали разработчики.

Развитие протокола анонимной идентификации началось с разработки MItM-иммунизированной версии. Изначально было понятно, что существует другая, не менее актуальная задача, которая заключается в переходе от идентификации к организации защищенного  туннеля для безопасной передачи данных. Такой виртуальный туннель можно реализовать при помощи протокола согласования секретного ключа, например, известного протокола Диффи-Хеллмана. Однако, несмотря на то, что MItM-иммунизированный протокол идентификации безусловно самодостаточен и востребован в задачах управления доступом к различным ресурсам, сформировалось отчетливое понимание, что использование этого протокола в комбинации с протоколом Диффи-Хеллмана сводит на нет MItM-иммунизацию, так как факт доказательства принадлежности локальному сообществу участников (или опровержение этого факта), а в этом и состоит смысл идентификации, невозможно учесть в протоколе согласования секретного ключа, который существует отдельно от протокола идентификации. Иными словами, злоумышленник может «вклиниться» между обособленными сессиями двух различных протоколов, идентификации и согласования ключа, и осуществить имперсонификацию, которую впоследствии невозможно обнаружить. 

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

В рамках разработки была поставлена задача совместить идентификацию и согласование ключа в едином протоколе так, чтобы его итоговая коммуникационная сложность (количество сообщений, которыми обмениваются стороны) не превышала полутора раундов. 

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

Зададимся следующим вопросом: Существуют ли практические задачи, в которых одновременно востребованы анонимность и подлинность? Да, такие задачи существуют.  Ниже мы предлагаем несколько сценариев.

Для упрощения изложения опустим несущественные для понимания подробности, связанные с регистрацией, генерацией и распространением  ключей.

Сценарий 1. Удаленное медицинское обслуживание

Пусть имеется удаленное медицинское обслуживание, которое включает набор различных сервисов: диагностику, терапевтические рекомендации, назначение препаратов и пр. Потенциальный пациент (пациент X) удаленно связывается с медцентром. Первое, что он должен сделать — это доказать, что он «свой». Иными словами, имеет страховку, которая покрывает запрашиваемые услуги, а также удовлетворяет другим условиям обслуживания. Здесь активизируется этап идентификации, который позволяет принимать решение по принципу «свой/чужой». Если страховка имеется и не просрочена, то X сможет доказать, что он «свой». Причём на этом этапе всё происходит с соблюдением анонимности — его персональные данные не раскрываются. Если X  имеет страховку и это подтверждено, то теперь он может запросить медицинские услуги. Медцентр принимает решение предоставлять их или нет (например, если страховка имеется, но не покрывает запрашиваемые услуги).

Предположим, что услуги предоставляются, тогда медцентр и X могут организовать защищенный туннель для передачи данных. Это реализуется на этапе совместного формирования общего сессионного секретного ключа для X и центра. Для этого стороны используют секретный материал, который они сформировали на этапе идентификации. Когда туннель организован, то X должен передать в медцентр свои персональные данные для доступа к медкарте. Здесь возникает проблема. Пациент X может передать не свои данные, а чужие. Например, он хочет, чтобы по его страховке обслуживание получил другой человек. ЭЦП здесь также не помогает. Можно разными способами получить ЭЦП персональных данных третьих лиц, например, в результате сговора или применения методов социальной инженерии (при помощи фишинга, например). Следовательно, центр, выступающий в роли проверяющего, должен иметь возможность достоверно установить, что ЭЦП сформировал именно тот, кто в текущей сессии доказал, что он «свой». Для этого следует применить разработанный нами режим моментальной ЭЦП. Это именно режим, так как на схему ЭЦП не накладывается никаких ограничений. Уникальность режима в том, что он работает только с нашим протоколом идентификации и не работает с другим протоколами.

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

Сценарий 2. Конкурсные торги

Предположим, что физическое/юридическое лицо запрашивает кредит в банке. Банк оценивает легальность документов, анализирует кредитную историю, текущий баланс и в конечном итоге принимает решение о целесообразности выдачи кредита на оговоренных условиях. Если заключение положительное, то банк заносит информацию о заемщике в специальный разрешительный реестр, а затем формирует персональные общедоступный и секретный ключи. Реестр также ассоциирован с групповым общедоступным ключом, который формируется на основании данных о заемщиках. Про групповой общедоступный ключ мы подробно рассказывали в этой заметке.

Особенность в том, что сертификат персонального общедоступного ключа содержит информацию, которая удостоверяет, что владельцу одобрен кредит с указанием его размера, процентной ставки, сроков погашения, реквизитов банка-кредитора и так далее, но вместо персональных данных указан внутрибанковский идентификатор. Далее будем называть такие сертификаты вторичными. Здесь следует уточнить. Очевидно, что удостоверяющий центр откажет в сертификате, если не сможет подтвердить личность того, кто запросил его выпуск. Однако, такой сертификат может выдаваться на имя физического лица, например, уполномоченного сотрудника банка, отвечающего за управление кредитами. Сотрудник запрашивает сертификат на основании отметки в разрешительном реестре.

Предположим, что одобренный банковский кредит — одно из обязательных условий участия в конкурсных торгах. Заявитель может воспользоваться интерактивным протоколом и доказать, что имеет на это право. Противоположная сторона (конкурсная комиссия) использует групповой общедоступный ключ для проверки доказательства. Однако действительно доказать может только заемщик, располагающий персональным секретным ключом. Если доказательство принято конкурсной комиссией, то заявитель становится участником торгов.

Возможны варианты. Например, если заемщик сначала был включён в реестр, а затем из него исключен, то его данные не будут учтены при формировании группового общедоступного ключа, а вторичный сертификат будет отозван. Это означает, что доказательство будет отвергнуто, несмотря на наличие персонального секретного ключа.

Анонимность участника гарантируется, поскольку вторичный сертификат не содержит персональных данных того, кому одобрен кредит. Однако после того как доказательство принято конкурсной комиссией, участник может воспользоваться защищенным туннелем для передачи своих персональных данных, заверенных индивидуальной ЭЦП (ИЭЦП), которая формируется/проверяется при помощи отдельных ключей, никак не связанных с ключами заёмщика. Принципиальное различие касается сертификатов: для персонального общедоступного ключа выпускается вторичный сертификат, тогда как сертификат любого другого общедоступного ключа, в том числе и того, на котором проверяется ИЭЦП, включает персональные данные его владельца.

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

Информация об участниках не раскрывается третьей стороне, что позволяет минимизировать риски. Например, исключает давление на участников с целью изменения результатов торгов. Подчеркнем, что проверка доказательства не предполагает взаимодействия с банком-кредитором.

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

Сценарий 3. Цифровой нотариат

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

Клиент регистрируется и получает от доверенной стороны персональный секретный ключ, кроме этого выпускается вторичный сертификат персонального общедоступного ключа. Такой сертификат не содержит персональных данных клиента, но включает информацию общего характера. Например, гражданство, возраст, данные о регистрации на уровне административно-территориальной единицы, а также иную информацию, которая, с одной стороны, не позволяет деанонимизировать клиента, но подтверждает законность предоставления услуг, — с другой. Для физического лица выпуск такого сертификат может происходить параллельно с оформлением паспорта и выдаваться, например, на имя уполномоченного сотрудника Федеральной миграционной службы. На основании информации о клиентах формируется групповой общедоступный ключ, для которого также выпускается сертификат.

Нотариус имеет свою пару ключей и для общедоступного ключа из этой пары выпускается сертификат.

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

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

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

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

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

Фундаментальное различие заключается в том, что интерактивный протокол осуществляет идентификацию в данный конкретный момент времени в соответствии с принципом «здесь и сейчас» (online), а ЭЦП формируется заранее (offline), как правило этот момент разнесен во времени с моментом проверки, по этой причине проследить источник её происхождения иногда не представляется возможным.

Заключение

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

Tags:
Hubs:
Total votes 2: ↑2 and ↓0+2
Comments8

Articles