7.4. Протоколы аутентификации с нулевой передачей знаний

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

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

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

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

Данные протоколы являются примером систем интерактивного доказательства, в которых проверяющий и доказывающий обмениваются многочисленными запросами и ответами, обычно зависящими от случайных чисел (в идеальном случае такая зависимость может реализоваться в виде подбрасывания монеты), которые позволяют сохранить секрет в тайне. Цель доказывающего – убедить проверяющего в истинности утверждения. Проверяющий же принимает или отклоняет доказательство. Необходимо отметить, что такие доказательства носят, скорее, вероятностный, нежели абсолютный характер.

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