Назад в библиотеку

Усиление стойкости протокола обмена ключами с аутентификацией Белловина и Меррита за счет использования асимметричного выполнения криптосистем

Автор: Варфоломеев А.А.
Источник: Безопасные информационные технологии : Сборник трудов Десятой международной научно-технической конференции, Москва, 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 Белловина-Меррита и предложения по усилению его стойкости

Протокол EKE [4] является одним из первых протоколов обмена ключами с аутентификацией на основе парольного слова. Целью протокола является безопасная транспортировка высокоэнтропийного ключа от одного пользователя другому при наличии у них общего низкоэнтропийного секрета (пароля). Протокол ЕКЕ запатентован.

Для замкнутости изложения напомним этапы и шаги протокола ЕКЕ. Обозначим через PW – парольное слово, известное пользователям А и В.

Этап транспортировки ключа:

  1. A: посылает сообщение [A, E(PW; PKa)] → B, где E(PW; PKa) – преобразование зашифрования симметричным шифром на ключе PW, PKa – открытый ключ пользователя А для асимметричного шифра.
  2. B: вырабатывает высокоэнтропийный ключ k и посылает E(PW; E_PKa(k)) → A. Этап подтверждения получения ключа k – «Запрос-ответ».
  3. A: Из E(PW; E_PKa(k)) получает k, посылает E(k; R_a) → B.
  4. B: Из E(k; R_a) получает R_a, посылает E(k; h(R_a) II R_b) →A, здесь h - некоторая хэш-функция.
  5. A: Из E(k; h(R_a) II R_b) получает h(R_a) II R_b и проверяет h(R_a)=?, далее посылает E(k; h(R_b)) → B.
  6. B: Из E(k; h(R_b)) получает и проверяет h(R_b)=?

Согласно модели Долева-Яо, злоумышленник на шаге 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 вариант усиления протокола

  1. A: [A, E(PW-Ra; PKa II h(PKa)] → B , где Ra – случайный вектор, выбранный пользователем А и не известный пользователю В.
  2. B перебирает Ra и ищет Pka по критерию на открытый текст. Далее посылает
  3. E(PW; E_PKa(k)) → A.

На шаге 1 в открытый текст PKa добавлен хэш-код от него, чтобы придать структурность этому открытому тексту для того, чтобы пользователь В мог найти истинный открытый ключ PKa пользователя А. Трудоемкость расшифрования для В увеличена в 2^IRaI, где IRaI – размер вектора Ra.

Но критерий на открытый текст получает и злоумышленник. Таким образом, этот случай подобен случаю передачи шифрованного текста, полученного зашифрованием структурного открытого текста на ключе PW (структурность текста вида PKa II h(PKa) выбрана для наглядности). Для усиления стойкости шифрования в этом случае могут быть применены рекомендации предыдущих работ [1-2].

2 вариант усиления протокола

На первом шаге шифруется некоторое множество открытых ключей пользователя А:

PKa1, PKa2, …, PKaN.

  1. A: [A, E(PW; PKa1, PKa2, …, PKaN)] → B.
  2. B: После расшифрования шифртекста E(PW; PKa1, PKa2, …, PKaN) и получения множества открытых ключей {PKa1, PKa2, …, PKaN}, пользователь В случайно выбирает один из них - ключ PKaJ. Далее В вырабатывает высокоэнтропийный ключ k и посылает пользователю А сообщение E(PW; E_PKaJ(k II h(k) ) → A.
  3. А, зная парольное слово PW, расшифровывает E(PW; E_PKaJ(k II h(k) ) и восстанавливает E_PKaJ(k II h(k), перебирает свои открытые ключи PKa1, PKa2, …, PKaN, ищет PKaJ и ключ k. Критерий нахождения истинного ключа k – нахождение ключа k с правильным прикрепленным значением h(k).

Пользователь А в этом варианте работает больше В. Он должен на шаге 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). Для оценки сложности дешифрования нужно исходить из стойкости используемого асимметричного алгоритма.

3 вариант усиления протокола

  1. A: [A, E(PW – Ra; PKa1, PKa2, …, PKaN, h(*))] → B.
  2. B: Перебирает Ra и ищет истинный набор открытых ключей. Критерий – структурность текста [PKa1, PKa2, …, PKaN, h(*)]. Выбирает один ключ PKaJ пользователя А.
  3. E(PW-Ra; E_PKaJ(k II h(k) ) → A , k – высокоэнтропийный ключ.
  4. А: перебирает свои открытые ключи PKa1, PKa2, …, PKaN (Ra – знает), ищет PKaJ и ключ k. Критерий – нахождение ключа k с правильным прикрепленным значением h(k).

4 вариант усиления протокола

  1. A: [A, E(PW – Ra; PKa1, PKa2, …, PKaN, h(*))] → B.
  2. B: Перебирает Ra и ищет истинный набор открытых ключей. Критерий – структурность текста [PKa1, PKa2, …, PKaN, h(*)]. Выбирает один ключ PKaJ пользователя А.
  3. E(PW-Rb; E_PKaJ(k II h(k) ) → A , k – высокоэнтропийный ключ.
  4. А: перебирает свои открытые ключи PKa1, PKa2, …, PKaN и Rb, ищет PKaJ и ключ k. Критерий – нахождение ключа k с правильным прикрепленным значением h(k).

В четвертом варианте трудоемкость работы пользователя А возрастает за счет неизвестности вектора Rb и выбора пользователем В одного из N открытых ключей, а трудоемкость работы пользователя В возрастает за счет неизвестности вектора Ra.

В 3 варианте вектор Rb = Ra и известен пользователю А.

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

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

Вывод

Технология асимметричного выполнения пользователями – участниками протокола PAKE – криптографических преобразований может увеличить стойкость этих протоколов. В данной работе это продемонстрировано на примере протокола Белловина и Меррита. Для других протоколов PAKE необходимо предложить свои конкретные способы асимметричного выполнения.

Литература

  1. Варфоломеев А.А. Некоторые рекомендации по повышению стойкости шифра с малым размером ключа к методу полного опробования. // Вопросы кибербезопасности. 2015. № 5(13). C. 60-62.
  2. Варфоломеев А.А. О некоторых предварительных преобразованиях открытого текста типа «All-Or-Nothing» для усиления стойкости шифра к методу полного опробования. SIBCON 2016. – URL: [Ссылка]
  3. Варфоломеев А.А. Об асимметрично выполнимых симметричных криптосистемах (шифрах). РусКрипто 2018.
  4. Bellovin, S. M.; M. Merritt (May 1992). Encrypted Key Exchange: Password-Based Protocols Secure Against Dictionary Attacks. Proceedings of the I.E.E.E. Symposium on Research in Security and Privacy. Oakland. p. 72. doi:10.1109/RISP.1992.213269. ISBN 978-0-8186-2825-2.
  5. Jareck, S., Krawczyk H., Xu J. (2018). OPAQUE: An Asymmetric PAKE Protocol Secure Against Pre-Computation Attacks. Advances in Cryptology. Lecture Notes in Computer Science. 10822. pp. 456– 486. doi:10.1007/978-3-319-78372-7_15. ISBN 978-3-319-78371-0.
  6. RFC 8133. The Security Evaluated Standardized Password-Authenticated Key Exchange (SESPAKE) Protocol. – URL: [Ссылка]
  7. Словарь криптографических терминов. / Под ред. Б. А. Погорелова и В. Н. Сачкова. - М.: МЦНМО, 2006. - 94 с.
  8. Menezes A., van Oorschot P., Vanstone S., (1997). Handbook of Applied Cryptography, Boca Raton, CRC Press. ISBN 0-8493-8523-7.