Автор: Варфоломеев А.А.
Источник: Безопасные информационные технологии : Сборник трудов Десятой международной научно-технической конференции, Москва, 03–04 декабря 2019 года. – Москва: Московский государственный технический университет имени Н.Э. Баумана (национальный исследовательский университет), 2019. – С. 60-64.
Варфоломеев А.А. Усиление стойкости протокола обмена ключами с аутентификацией Белловина и Меррита за счет использования асимметричного выполнения криптосистем. Протоколы выработки высокоэнтропийных криптографических сеансовых ключей из долговременных низкоэнтропийных ключей или паролей (PAKE - Password Authenticated Key Exchange) служат для повышения стойкости защиты информации в информационных системах. В работе показывается, как повысить еще и стойкость самих протоколов PAKE на примере классического протокола EKE (Encrypted Key Exchange) Белловина и Меррита за счет использования предложенной ранее автором концепции асимметричного выполнения криптосистем (см., например, SIBCON 2016, РусКрипто 2018). Асимметричное выполнение операций в криптосистемах предполагает умышленное существенное увеличение трудоемкости выполнения операций для одного из законных пользователей (например, для сервера, за счет дополнительных преобразований открытого текста, увеличения пароля на случайную величину, выбора режима работы шифров, сокрытия части необходимой для операции информации), приводящее к существенному увеличению трудоемкости нахождения секретных ключей и для злоумышленника.
Данная работа, помимо самостоятельного значения, является продолжением ряда работ автора в области усиления стойкости криптосистем с короткими ключами. Под короткими ключами понимаются ключи симметричных и асимметричных криптосистем, заданных ограничением для безлицензионного использования, введенным известным Постановлением Правительства РФ от 16.04.2012 № 313. Согласно Постановлению, без лицензии можно применять симметричный криптографический алгоритм, использующий криптографический ключ длиной, не превышающей 56 бит, либо асимметричный криптографический алгоритм, основанный либо на методе разложения на множители целых чисел, размер которых не превышает 512 бит, либо на методе вычисления дискретных логарифмов в мультипликативной группе конечного поля размера, не превышающего 512 бит, либо на методе вычисления дискретных логарифмов в иной группе размера, не превышающего 112 бит
.
В литературе часто используется понятие низкоэнтропийных ключей, по сравнению с высокоэнтропийными ключами в 256 бит, характерными для современных стандартных алгоритмов шифрования. Короткие ключи можно отнести к низкоэнтропийным, но ряд авторов относят к низкоэнтропийным ключам парольные слова и даже PIN – коды, энтропия которых меньше 56 бит.
В работе [1] для симметричных шифров предлагалось внести асимметрию в трудоемкость работы при зашифровании открытого текста и при расшифровании шифртекста законными пользователями. В связи с этим такие шифры и криптосистемы были названы асимметрично выполняемыми. Законный получатель шифртекста в этом случае тратил существенно больше времени на расшифрование, так как ему приходилось опробовать случайный двоичный вектор, на который был увеличен использованный при зашифровании короткий ключ, известный отправителю и получателю сообщения.
Злоумышленник для нахождения открытого текста должен был опробовать и короткий ключ и добавленный отправителем к ключу случайный вектор. Конечно, при этом предполагается наличие у отправителя качественного генератора случайных двоичных последовательностей, а для модели злоумышленника – возможность использования для дешифрования только метод полного опробования.
Для усиления стойкости в работе [2] предлагались и другие способы, включая предварительное преобразование открытого текста типа AON- преобразования. Существенным для эффективности реализации оказалось использования новых (по сравнению с ГОСТ 28147-89) режимов работы блочных шифров по стандарту ГОСТ 34.13.
Далее на конференции РусКрипто 2018 [3] автором для усиления стойкости шифров с короткими ключами было предложено использовать протоколы PAKE, где в качестве парольного слова использовать короткий ключ. Например, при совместном использовании симметричного и асимметричного шифров с короткими ключами в протоколе EKE [4] трудоемкость дешифрования не является суммой трудоемкостей дешифрования каждого из шифров, а является их произведением.
В данной работе показывается, как внесение асимметрии в трудоемкость выполнения операций законными пользователями самих протоколов PAKE приводит к увеличению трудоемкости решения задач криптоанализа для злоумышленника на примере известных широко известных протоколов.
В ряде работ ранее рассматривалось понятие асимметричного РАКЕ
(см., например, [5], [6]), но причина использования слова асимметрия
отличается от изложенного в данной работе. Асимметричный PAKE – это тот же РАКЕ в клиент-серверной архитектуре, где сервер хранит не само парольное слово, а значение однонаправленной функции от него. В случае компрометации сервера, злоумышленнику придется выполнить еще дополнительную офф - лайн атаку для нахождения парольного слова.
Протокол EKE [4] является одним из первых протоколов обмена ключами с аутентификацией на основе парольного слова. Целью протокола является безопасная транспортировка высокоэнтропийного ключа от одного пользователя другому при наличии у них общего низкоэнтропийного секрета (пароля). Протокол ЕКЕ запатентован.
Для замкнутости изложения напомним этапы и шаги протокола ЕКЕ. Обозначим через PW – парольное слово, известное пользователям А и В.
Этап транспортировки ключа:
Согласно модели Долева-Яо, злоумышленник на шаге 1 получает для off-line атаки шифртекст E(PW; PKa). Ввиду сравнительно малого числа вариантов для выбора PW, он может их все перебрать и получить варианты для открытого ключа PKa. Но этот ключ, являющийся открытым текстом для E(PW; PKa), не имеет структурности и похож на случайную последовательность бит. Поэтому выделить истинное парольное слово на этом шаге он не может.
На шаге 2 каждый выбранный вариант PW приводит к задаче нахождения ключа k по соответствующему открытому ключу PKa с 1 шага и по шифртексту E_PKa(k), полученному при расшифровании E(PW; E_PKa(k)) на PW. Даже при возможности опробования всех секретных ключей асимметричного алгоритма зашифрования невозможно определить истинный ключ k, так как он тоже не имеет структурности. При коротких открытых и секретных ключах асимметричного алгоритма (например, в 512 бит) возможно более быстрое нахождение k, но все равно в числе вариантов для PW.
Отсюда следует, что, для увеличения трудоемкости нахождения ключа k злоумышленником, необходимо увеличить число вариантов для PW.
Приведем варианты усиления стойкости протокола ЕКЕ только для этапа транспортировки ключа, опустив второй этап для краткости изложения.
На шаге 1 в открытый текст PKa добавлен хэш-код от него, чтобы придать структурность этому открытому тексту для того, чтобы пользователь В мог найти истинный открытый ключ PKa пользователя А. Трудоемкость расшифрования для В увеличена в 2^IRaI, где IRaI – размер вектора Ra.
Но критерий на открытый текст получает и злоумышленник. Таким образом, этот случай подобен случаю передачи шифрованного текста, полученного зашифрованием структурного открытого текста на ключе PW (структурность текста вида PKa II h(PKa) выбрана для наглядности). Для усиления стойкости шифрования в этом случае могут быть применены рекомендации предыдущих работ [1-2].
На первом шаге шифруется некоторое множество открытых ключей пользователя А:
PKa1, PKa2, …, PKaN.
Пользователь А в этом варианте работает больше В. Он должен на шаге 3 перебрать все N посланные пользователю В открытые ключи PKa1, PKa2, …, PKaN.
На шаге 1 как и раньше последовательность PKa1, PKa2, …, PKaN не обладает структурностью, что не дает возможности злоумышленнику восстановить парольное слово PW из шифртекста E(PW; PKa1, PKa2, …, PKaN)] даже полным опробованием.
На шаге 2 имеем E_PKaJ(k II h(k)) – шифртекст, полученный зашифрованием текста (k II h(k)) на открытом ключе PKaJ пользователя А. Он не имеет структурности, что не позволяет злоумышленнику найти PW из шифртекста E(PW; E_PKaJ(k II h(k) ) даже полным опробованием.
После 1 шага злоумышленник может иметь IPWI вариантов множества открытых ключей {PKa1, PKa2, …, PKaN}, где IPWI – число возможных вариантов слова PW.
После 2 шага злоумышленник имеет IPWI *N задач дешифрования шифртекста E_PKaJ(k II h(k). Для оценки сложности дешифрования нужно исходить из стойкости используемого асимметричного алгоритма.
В четвертом варианте трудоемкость работы пользователя А возрастает за счет неизвестности вектора Rb и выбора пользователем В одного из N открытых ключей, а трудоемкость работы пользователя В возрастает за счет неизвестности вектора Ra.
В 3 варианте вектор Rb = Ra и известен пользователю А.
Но во всех этих вариантах соответственно возрастает и сложность задачи дешифрования для злоумышленника.
В данной работе не приводятся конкретные параметры усиления стойкости, так как во многом они зависят от вычислительной мощности злоумышленника и вычислительной мощности законных участников взаимодействия, а также от требования оперативности получения информации, которое может в свою очередь диктоваться необходимым уровнем безопасности в каждом конкретном случае.
Технология асимметричного выполнения пользователями – участниками протокола PAKE – криптографических преобразований может увеличить стойкость этих протоколов. В данной работе это продемонстрировано на примере протокола Белловина и Меррита. Для других протоколов PAKE необходимо предложить свои конкретные способы асимметричного выполнения.