Jump to content

Обмен ключами Диффи-Хеллмана

(Перенаправлено с Диффи-Хеллмана )
При обмене ключами Диффи-Хеллмана две стороны получают общий секретный ключ без передачи общего секретного ключа по общедоступному каналу.

Диффи-Хеллмана ( DH ) Обмен ключами [ номер 1 ] — это математический метод безопасного обмена криптографическими ключами по общедоступному каналу, который был одним из первых протоколов с открытым ключом , задуманных Ральфом Мерклем и названных в честь Уитфилда Диффи и Мартина Хеллмана . [ 1 ] [ 2 ] DH — один из первых практических примеров обмена открытыми ключами, реализованный в области криптографии. Опубликованная в 1976 году Диффи и Хеллманом, это самая ранняя общеизвестная работа, в которой была предложена идея закрытого ключа и соответствующего открытого ключа.

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

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

Схема была опубликована Уитфилдом Диффи и Мартином Хеллманом в 1976 году. [ 2 ] но в 1997 году выяснилось, что Джеймс Х. Эллис , [ 4 ] Клиффорд Кокс и Малкольм Дж. Уильямсон из GCHQ , британского агентства радиотехнической разведки, ранее показали в 1969 году [ 5 ] как можно достичь криптографии с открытым ключом. [ 6 ]

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

Вскоре этому методу последовал RSA — реализация криптографии с открытым ключом с использованием асимметричных алгоритмов.

Патент США с истекшим сроком действия 4 200 770 [ 7 ] с 1977 года описывает алгоритм, ставший общедоступным . Хеллман, Диффи и Меркл считаются изобретателями.

В 2006 году Хеллман предложил назвать алгоритм обменом ключами Диффи-Хеллмана-Меркла в знак признания вклада Ральфа Меркла в изобретение криптографии с открытым ключом (Hellman, 2006), написав:

Система... с тех пор стала известна как обмен ключами Диффи-Хеллмана. Хотя эта система была впервые описана в статье Диффи и меня, это система распределения открытых ключей, концепция, разработанная Мерклом, и, следовательно, ее следует называть «обмен ключами Диффи-Хеллмана-Меркла», если с ней связаны имена. . Я надеюсь, что эта небольшая кафедра поможет в этом стремлении признать равный вклад Меркла в изобретение криптографии с открытым ключом. [ 8 ]

Описание

[ редактировать ]

Общий обзор

[ редактировать ]
Иллюстрация концепции обмена ключами Диффи – Хеллмана

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

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

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

Криптографическое объяснение

[ редактировать ]

Самая простая и оригинальная реализация, [ 2 ] позже формализовано как конечное поле Диффи-Хеллмана в RFC 7919 , [ 9 ] протокола использует мультипликативную группу целых чисел по модулю p , где p простое число , а g примитивный корень по модулю p . Эти два значения выбраны таким образом, чтобы гарантировать, что полученный общий секрет может принимать любое значение от 1 до p –1. Вот пример протокола: несекретные значения выделены синим цветом , а секретные значения — красным .

  1. Алиса и Боб публично соглашаются использовать модуль p = 23 и основание g = 5 (который является примитивным корнем по модулю 23).
  2. Алиса выбирает секретное целое число a = 4, затем отправляет Бобу A = g а против п
    • А = 5 4 mod 23 = 4 (в этом примере и A , и a имеют одинаковое значение 4, но обычно это не так)
  3. Боб выбирает секретное целое число b = 3, затем отправляет Алисе B = g б против п
    • Б = 5 3 против 23 = 10
  4. Алиса вычисляет s = B а против п
    • с = 10 4 против 23 = 18
  5. Боб вычисляет s = A б против п
    • с = 4 3 против 23 = 18
  6. Теперь у Алисы и Боба есть секрет (число 18).

И Алиса, и Боб пришли к одним и тем же значениям, поскольку по модулю p

Более конкретно,

Только А и Б держатся в секрете. Все остальные значения – p , g , g а mod p и g б mod p – отправляются в открытом виде. Сила схемы заключается в том, что g аб мод р = г нет mod p занимает очень много времени для вычисления любым известным алгоритмом только на основе знания p , g , g а mod p и g б мод п . Такая функция, которую легко вычислить, но трудно обратить, называется односторонней функцией . Как только Алиса и Боб вычислят общий секрет, они смогут использовать его в качестве ключа шифрования, известного только им, для отправки сообщений по одному и тому же открытому каналу связи.

Конечно, гораздо большие значения a , b и p чтобы сделать этот пример безопасным, потребуются , поскольку существует только 23 возможных результата n по модулю 23. Однако, если p — простое число, состоящее как минимум из 600 цифр, то даже самые быстрые современные компьютеры, использующие самый быстрый известный алгоритм, не могут найти заданные только g , p и g а мод п . Такая задача называется задачей дискретного логарифмирования . [ 3 ] Вычисление g а mod p известен как модульное возведение в степень и может эффективно выполняться даже для больших чисел. Обратите внимание, что g вообще не обязательно должно быть большим и на практике обычно представляет собой небольшое целое число (например, 2, 3,...).

Таблица секретности

[ редактировать ]

На диаграмме ниже показано неизвестно что: несекретные значения выделены синим цветом , а секретные значения — красным . Здесь Ева является подслушивателем – она наблюдает за тем, что передается между Алисой и Бобом, но не меняет содержание их сообщений.

  • g , общедоступная (примитивная корневая) база, известная Алисе, Бобу и Еве. г = 5
  • p , публичный (простой) модуль, известный Алисе, Бобу и Еве. р = 23
  • a — закрытый ключ Алисы, известный только ей. а = 6
  • b , закрытый ключ Боба, известный только Бобу. б = 15
  • A — открытый ключ Алисы, известный Алисе, Бобу и Еве. А = г а против р = 8
  • B — открытый ключ Боба, известный Алисе, Бобу и Еве. Б = г б против р = 19
Алиса
Известный Неизвестный
р = 23
г = 5
а = 6 б
А = 5 а к 23
А = 5 6 против 23 = 8
Б = 19
с = Б а к 23
с = 19 6 против 23 = 2
Боб
Известный Неизвестный
р = 23
г = 5
б = 15 а
Б = 5 б к 23
Б = 5 15 против 23 = 19
А = 8
с = А б к 23
с = 8 15 против 23 = 2
Канун
Известный Неизвестный
р = 23
г = 5
а , б
   
   
А = 8 , Б = 19
   
с

Now s — общий секретный ключ, известный как Алисе, так и Бобу, но не Еве. Обратите внимание, что Еве бесполезно вычислить AB , что равно g а + б против п .

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

Обобщение на конечные циклические группы

[ редактировать ]

Вот более общее описание протокола: [ 10 ]

  1. Алиса и Боб договариваются о натуральном числе n и порождающем элементе g в конечной циклической группе G порядка n . (Обычно это делается задолго до остальной части протокола; предполагается, что g и n известны всем злоумышленникам.) Группа G записывается мультипликативно.
  2. Алиса выбирает случайное натуральное число a с 1 < a < n и отправляет элемент g а G . Бобу
  3. Боб выбирает случайное натуральное число b с условием 1 < b < n и отправляет элемент g б G . Алисе
  4. Алиса вычисляет элемент ( g б ) а = г нет Г.
  5. Боб вычисляет элемент ( g а ) б = г аб Г.

И Алиса, и Боб теперь владеют элементом группы g. аб = г нет , который может служить общим секретным ключом. Группа G удовлетворяет необходимому условию безопасной связи , пока не существует эффективного алгоритма определения g. аб учитывая г , г а , и г б .

Например, протокол Диффи-Хеллмана для эллиптической кривой представляет собой вариант, который представляет элемент G как точку на эллиптической кривой, а не как целое число по модулю n. варианты с использованием гиперэллиптических кривых Также были предложены . Суперсингулярный обмен ключами изогении — это вариант Диффи-Хеллмана, который был разработан для защиты от квантовых компьютеров , но был взломан в июле 2022 года. [ 11 ]

Эфемерные и/или статические ключи

[ редактировать ]

Используемые ключи могут быть либо эфемерными, либо статическими (долгосрочными), но могут быть даже смешанными, так называемым полустатическим DH. Эти варианты имеют разные свойства и, следовательно, разные варианты использования. Обзор многих вариантов, а также некоторые обсуждения можно найти, например, в NIST SP 800-56A. [ 12 ] Основной список:

  1. эфемерный, эфемерный: обычно используется для соглашения о ключах. Обеспечивает прямую секретность , но не аутентичность .
  2. static, static: создаст долгосрочный общий секрет. Не обеспечивает прямую секретность, но обеспечивает неявную подлинность. Поскольку ключи являются статическими, это, например, не защитит от атак повторного воспроизведения .
  3. эфемерный, статический: например, используется в шифровании Эль-Гамаля или интегрированной схеме шифрования (IES) . Если оно используется в соглашении о ключах, оно может обеспечить неявную одностороннюю подлинность (эфемерная сторона может проверять подлинность статической стороны). Никакой прямой секретности не предусмотрено.

Можно использовать эфемерные и статические ключи в одном соглашении ключей для обеспечения большей безопасности, как показано, например, в NIST SP 800-56A, но также возможно объединить их в одном обмене ключами DH, который тогда называется тройным DH ( 3-ДГ).

Тройной Диффи – Хеллман (3-DH)

[ редактировать ]

В 1997 году своего рода тройная DH была предложена Саймоном Блейком-Уилсоном, Доном Джонсоном, Альфредом Менезесом в 1997 году, [ 13 ] который был улучшен К. Кудлой и К.Г. Патерсоном в 2005 г. [ 14 ] и показал себя в безопасности.

Долгосрочные секретные ключи Алисы и Боба обозначаются буквами a и b соответственно, с открытыми ключами A и B , а также парами эфемерных ключей x, X и y, Y. Тогда протокол:

Протокол тройного Диффи-Хеллмана (3-DH)
Алиса ( ) Боб ( )

Долгосрочные открытые ключи необходимо каким-то образом передать. Это можно сделать заранее в отдельном доверенном канале или можно зашифровать открытые ключи с использованием некоторого соглашения о частичном ключе для сохранения анонимности. Более подробную информацию, а также другие улучшения, такие как защита побочного канала или явное подтверждение ключа , а также ранние сообщения и дополнительная аутентификация по паролю, см., например, в патенте США «Расширенное модульное рукопожатие для согласования ключей и дополнительной аутентификации». [ 15 ]

Расширенный тройной диффи-хеллман (X3DH)

[ редактировать ]

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

Протокол использует пять открытых ключей. У Алисы есть идентификационный ключ IK A и эфемерный ключ A. EK У Боба есть идентификационный ключ IK B , подписанный предварительный ключ SPK B и одноразовый предварительный ключ B. OPK [ 16 ] Боб сначала публикует свои три ключа на сервере, который Алиса загружает и проверяет подпись. Затем Алиса инициирует обмен с Бобом. [ 16 ] OPK не является обязательным. [ 16 ]

Работа с более чем двумя сторонами

[ редактировать ]

Соглашение о ключах Диффи-Хеллмана не ограничивается согласованием ключа, совместно используемого только двумя участниками. В соглашении может принять участие любое количество пользователей, выполняя итерации протокола соглашения и обмениваясь промежуточными данными (которые сами по себе не должны храниться в секрете). Например, Алиса, Боб и Кэрол могли бы участвовать в соглашении Диффи-Хеллмана следующим образом, при этом все операции выполняются по модулю p :

  1. Стороны согласовывают параметры алгоритма p и g .
  2. Стороны генерируют свои закрытые ключи с именами a , b и c .
  3. Алиса вычисляет g а mod p и отправляет его Бобу.
  4. Боб вычисляет ( g а ) б мод р = г аб mod p и отправляет его Кэрол.
  5. Кэрол вычисляет ( g аб ) с мод р = г абв mod p и использует это как свой секрет.
  6. Боб вычисляет g б mod p и отправляет его Кэрол.
  7. Кэрол вычисляет ( g б ) с мод р = г до нашей эры mod p и отправляет его Алисе.
  8. Алиса вычисляет ( g до нашей эры ) а мод р = г до н.э. мод р = г абв mod p и использует это как свой секрет.
  9. Кэрол вычисляет g с mod p и отправляет его Алисе.
  10. Алиса вычисляет ( g с ) а мод р = г что mod p и отправляет его Бобу.
  11. Боб вычисляет ( g что ) б мод р = г такси мод р = г абв mod p и использует его как свой секрет.

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

Чтобы распространить этот механизм на более крупные группы, необходимо следовать двум основным принципам:

  • Начиная с «пустого» ключа, состоящего только из g , секрет создается путем повышения текущего значения до частного показателя каждого участника один раз в любом порядке (первое такое возведение в степень дает собственный открытый ключ участника).
  • Любое промежуточное значение (с применением до N -1 показателей степени, где N — количество участников в группе) может быть раскрыто публично, но окончательное значение (с применением всех N показателей степени) представляет собой общий секрет и, следовательно, никогда не должно быть раскрыто. раскрыто публично. Таким образом, каждый пользователь должен получить свою копию секрета, применив свой собственный закрытый ключ последним (в противном случае у последнего участника не было бы возможности передать окончательный ключ получателю, поскольку этот последний участник превратил бы ключ в самый секрет, который группа хотела защитить).

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

Выбирая более желательный порядок и полагаясь на то, что ключи могут быть дублированы, можно сократить количество модульных возведений в степень, выполняемых каждым участником, до 2 ( N ) + 1, используя в стиле «разделяй и властвуй». подход , приведенное здесь для восьми участников:

  1. Участники A, B, C и D каждый выполняют по одному возведению в степень, что дает g abcd ; это значение отправляется в E, F, G и H. Взамен участники A, B, C и D получают g фух .
  2. Участники A и B выполняют по одному возведению в степень, что дает g Эфхаб , который они отправляют C и D, в то время как C и D делают то же самое, получая g efghcd , который они отправляют A и B.
  3. Участник А возводит в степень, получая g efghcda , который он отправляет B; аналогично B отправляет g efghcdb к A. C и D поступают аналогично.
  4. Участник А выполняет последнее возведение в степень, получая секрет g. efghcdba = г abcdefgh , а B делает то же самое, чтобы получить g efghcdab = г abcdefgh ; И снова C и D делают то же самое.
  5. Участники от E до H одновременно выполняют одни и те же операции, используя g abcd в качестве их отправной точки.

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

Безопасность и практические соображения

[ редактировать ]

Протокол считается защищенным от перехвата, если G и g выбраны правильно. В частности, порядок группы G должен быть большим, особенно если одна и та же группа используется для больших объемов трафика. Подслушивающему необходимо решить задачу Диффи–Хеллмана, чтобы получить g аб . В настоящее время это считается затруднительным для групп, порядок которых достаточно велик. Эффективный алгоритм решения проблемы дискретного логарифма облегчил бы вычисление a или b и решение проблемы Диффи-Хеллмана, что сделало бы эту и многие другие криптосистемы с открытым ключом небезопасными. Поля с небольшой характеристикой могут быть менее безопасными. [ 17 ]

Порядок G должен алгоритма Полига иметь большой простой множитель, чтобы предотвратить использование -Хеллмана для получения a или b . По этой причине простое число Софи Жермен q иногда используется для вычисления p = 2 q + 1 , называемое безопасным простым числом , поскольку тогда порядок G делится только на 2 и q . Иногда g выбирается для создания порядка q подгруппы группы G , а не G , так что символ Лежандра группы g а никогда не раскрывает младший бит . Протоколом, использующим такой выбор, является, например, IKEv2 . [ 18 ]

Генератор g часто представляет собой небольшое целое число, например 2. Из-за случайной самосократимости задачи дискретного логарифмирования маленький g так же безопасен, как и любой другой генератор той же группы.

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

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

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

Атака типа «отказ в обслуживании»

[ редактировать ]

В CVE, выпущенном в 2021 году ( CVE-2002-20001 ), раскрыта атака типа «отказ в обслуживании» (DoS) против вариантов протокола, использующих эфемерные ключи, называемая атакой D(HE)at. [ 19 ] Атака использует то, что обмен ключами Диффи-Хеллмана позволяет злоумышленникам отправлять произвольные числа, которые на самом деле не являются открытыми ключами, вызывая дорогостоящие вычисления модульного возведения в степень на стороне жертвы. Другой CVE, выпущенный в 2022 году ( CVE-2022-40735 ), показал, что реализации обмена ключами Диффи-Хеллмана могут использовать длинные частные показатели, которые, возможно, делают вычисления модульного возведения в степень неоправданно дорогими. [ 20 ] Злоумышленник может использовать обе уязвимости вместе.

Практические атаки на интернет-трафик

[ редактировать ]

Алгоритм решета числового поля , который обычно является наиболее эффективным при решении задачи дискретного логарифмирования , состоит из четырех вычислительных шагов. Первые три шага зависят только от порядка группы G, а не от конкретного числа, конечный журнал которого требуется. [ 21 ] Оказывается, большая часть интернет-трафика использует одну из немногих групп размером порядка 1024 бит или меньше. [ 3 ] Предварительно вычислив первые три шага решета числового поля для наиболее распространенных групп, злоумышленнику достаточно выполнить только последний шаг, который требует гораздо меньше вычислительных затрат, чем первые три шага, чтобы получить определенный логарифм. Атака Logjam использовала эту уязвимость для компрометации различных интернет-сервисов, которые позволяли использовать группы, порядок которых представлял собой 512-битное простое число, так называемый уровень экспорта . Авторам потребовалось несколько тысяч процессорных ядер в течение недели для предварительного вычисления данных для одного 512-битного простого числа. Как только это будет сделано, отдельные логарифмы можно будет решить примерно за минуту с помощью двух 18-ядерных процессоров Intel Xeon. [ 3 ]

По оценкам авторов атаки Logjam, гораздо более сложные предварительные вычисления, необходимые для решения проблемы дискретного журнала для 1024-битного простого числа, будут стоить порядка 100 миллионов долларов, что вполне укладывается в бюджет крупного национального разведывательного агентства, такого как США Агентство национальной безопасности (АНБ). Авторы Logjam предполагают, что предварительные вычисления на основе широко используемых 1024-битных простых чисел DH лежат в основе утверждений в просочившихся документах АНБ о том, что АНБ способно взломать большую часть современной криптографии. [ 3 ]

Чтобы избежать этих уязвимостей, авторы Logjam рекомендуют использовать криптографию на основе эллиптических кривых , для которой не известно ни одной подобной атаки. В противном случае они рекомендуют, чтобы порядок p группы Диффи-Хеллмана составлял не менее 2048 бит. По их оценкам, предварительные вычисления, необходимые для 2048-битного простого числа, составляют 10 9 раз сложнее, чем для 1024-битных простых чисел. [ 3 ]

Другое использование

[ редактировать ]

Шифрование

[ редактировать ]

Были предложены схемы шифрования с открытым ключом, основанные на обмене ключами Диффи-Хеллмана. Первой такой схемой является шифрование Эль-Гамаля . Более современный вариант — Integrated Encryption Scheme .

Прямая секретность

[ редактировать ]

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

Соглашение о ключах, подтвержденное паролем

[ редактировать ]

Когда Алиса и Боб используют общий пароль, они могут использовать форму соглашения о ключах с аутентификацией паролем (PK) Диффи-Хеллмана, чтобы предотвратить атаки «человек посередине». Одна простая схема — сравнить хеш-код s , объединенный с паролем, рассчитанным независимо на обоих концах канала. Особенностью этих схем является то, что злоумышленник может проверять только один конкретный пароль на каждой итерации с другой стороной, поэтому система обеспечивает хорошую безопасность с относительно слабыми паролями. Этот подход описан в ITU-T Рекомендации X.1035 , которая используется стандартом G.hn. домашних сетей

Примером такого протокола является протокол Secure Remote Password .

Открытый ключ

[ редактировать ]

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

На практике алгоритм Диффи-Хеллмана таким образом не используется, поскольку RSA является доминирующим алгоритмом с открытым ключом. Во многом это связано с историческими и коммерческими причинами. [ нужна ссылка ] а именно, что RSA Security создала центр сертификации для подписи ключей, который стал Verisign . Метод Диффи-Хеллмана, как указано выше, не может использоваться напрямую для подписи сертификатов. Однако с ним математически связаны алгоритмы подписи Эль-Гамаля и DSA , а также MQV , STS и IKE компонент набора протоколов IPsec для защиты связи по Интернет-протоколу .

См. также

[ редактировать ]

Примечания

[ редактировать ]
  1. ^ Синонимы обмена ключами Диффи-Хеллмана включают:
    • Обмен ключами Диффи-Хеллмана-Меркла
    • Ключевое соглашение Диффи-Хеллмана
    • Ключевое заведение Диффи-Хеллмана
    • Ключевые переговоры Диффи-Хеллмана
    • Экспоненциальный обмен ключами
    • Протокол Диффи-Хеллмана
    • Рукопожатие Диффи-Хеллмана
  1. ^ Меркл, Ральф К. (апрель 1978 г.). «Безопасная связь по незащищенным каналам». Коммуникации АКМ . 21 (4): 294–299. CiteSeerX   10.1.1.364.5157 . дои : 10.1145/359460.359473 . S2CID   6967714 . Поступило в августе 1975 г.; пересмотрено в сентябре 1977 г.
  2. ^ Перейти обратно: а б с Диффи, Уитфилд ; Хеллман, Мартин Э. (ноябрь 1976 г.). «Новые направления в криптографии» (PDF) . Транзакции IEEE по теории информации . 22 (6): 644–654. CiteSeerX   10.1.1.37.9720 . дои : 10.1109/TIT.1976.1055638 . Архивировано (PDF) из оригинала 29 ноября 2014 г.
  3. ^ Перейти обратно: а б с д и ж Адриан, Дэвид; и др. (октябрь 2015 г.). «Несовершенная прямая секретность: как Диффи-Хеллман терпит неудачу на практике» (PDF) . Архивировано (PDF) из оригинала 6 сентября 2015 г.
  4. ^ Эллис, Дж. Х. (январь 1970 г.). «Возможность Несекретного цифрового шифрования» (PDF) . Отчет об исследовании CESG . Архивировано из оригинала (PDF) 30 октября 2014 г. Проверено 28 августа 2015 г.
  5. ^ «Возможность безопасного секретного цифрового шифрования» (PDF) . Архивировано (PDF) из оригинала 16 февраля 2017 г. Проверено 08 июля 2017 г.
  6. ^ «Трио GCHQ признано ключом к обеспечению безопасности покупок в Интернете» . Новости Би-би-си . 5 октября 2010 г. Архивировано из оригинала 10 августа 2014 г. . Проверено 5 августа 2014 г.
  7. ^ Патент США 4200770.  
  8. ^ Хеллман, Мартин Э. (май 2002 г.), «Обзор криптографии с открытым ключом» (PDF) , журнал IEEE Communications Magazine , 40 (5): 42–49, CiteSeerX   10.1.1.127.2652 , doi : 10.1109/MCOM.2002.1006971 , S2CID   9504647 , заархивировано (PDF) из оригинала 2 апреля 2016 г.
  9. ^ Вонг, Дэвид (2021). «Стандарты обмена ключами» . Криптография реального мира . Мэннинг. ISBN  9781617296710 – через Google Книги.
  10. ^ Бухманн, Йоханнес А. (2013). Введение в криптографию (второе изд.). Springer Science + Business Media. стр. 190–191. ISBN  978-1-4419-9003-7 .
  11. ^ «Эффективная атака с восстановлением ключа на SIDH» (PDF) . {{cite journal}}: Для цитирования журнала требуется |journal= ( помощь )
  12. ^ Баркер, Элейн; Чен, Лили; Рогинский, Аллен; Васильев, Апостол; Дэвис, Ричард (16 апреля 2018 г.). Рекомендации по схемам установления парных ключей с использованием криптографии дискретного логарифма (отчет). Национальный институт стандартов и технологий.
  13. ^ Блейк-Уилсон, Саймон; Джонсон, Дон; Менезес, Альфред (1997), Протоколы ключевых соглашений и их анализ безопасности , CiteSeerX   10.1.1.25.387 , doi : 10.1007/BFb0024447
  14. ^ Кудла, Кэролайн; Патерсон, Кеннет Г. (2005). «Модульные доказательства безопасности для протоколов соглашения о ключах». В Рое, Бимале (ред.). Достижения в криптологии - ASIACRYPT 2005 (PDF) . Конспекты лекций по информатике. Том. 3788. Берлин, Гейдельберг: Springer. стр. 549–565. дои : 10.1007/11593447_30 . ISBN  978-3-540-32267-2 .
  15. ^ US11025421B2 , Фэй, Бьорн, «Расширенное модульное рукопожатие для согласования ключей и дополнительной аутентификации», выпущено 1 июня 2021 г.  
  16. ^ Перейти обратно: а б с д «Спецификации >> Протокол соглашения о ключах X3DH» . Сигнальный мессенджер .
  17. ^ Барбулеску, Разван; Годри, Пьеррик; Жу, Антуан; Томе, Эммануэль (2014). «Эвристический квазиполиномиальный алгоритм дискретного логарифма в конечных полях малой характеристики» (PDF) . Достижения в криптологии – EUROCRYPT 2014 . Материалы 33-й ежегодной международной конференции по теории и применениям криптографических методов. Конспекты лекций по информатике. Том. 8441. Копенгаген, Дания. стр. 1–16. дои : 10.1007/978-3-642-55220-5_1 . ISBN  978-3-642-55220-5 . Архивировано (PDF) из оригинала 22 марта 2020 г.
  18. ^ «Протокол обмена ключами в Интернете (IKEv2) RFC 4306». Internet Engineeringrg/web/20150107073645/ http://www.ietf.org/rfc/rfc4306.txt .
  19. ^ Пфайффер, Сцилард; Тиханьи, Норберт (25 декабря 2023 г.). «D (HE) at: Практическая атака типа «отказ в обслуживании» на обмен ключами Диффи-Хеллмана с конечным полем» . Доступ IEEE . 12 : 957–980. дои : 10.1109/ACCESS.2023.3347422 . Архивировано из оригинала 22 апреля 2024 г.
  20. ^ ван Ооршот, ПК; Винер, MJ (1996). «О ключевом соглашении Диффи-Хеллмана с короткими показателями» . Достижения в криптологии — EUROCRYPT '96 . Springer, Берлин, Гейдельберг (опубликовано в 2001 г.). стр. 332–343. дои : 10.1007/3-540-68339-9_29 . Архивировано из оригинала 19 февраля 2023 г.
  21. ^ Уитфилд Диффи, Пол К. Ван Оршот и Майкл Дж. Винер «Аутентификация и обмен ключами с проверкой подлинности», в Designs, Codes and Cryptography, 2, 107–125 (1992), раздел 5.2, доступно как Приложение B к патенту США № 5,724,425.

Общие ссылки

[ редактировать ]
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 97e3182483742de08019d9edefde976d__1725058740
URL1:https://arc.ask3.ru/arc/aa/97/6d/97e3182483742de08019d9edefde976d.html
Заголовок, (Title) документа по адресу, URL1:
Diffie–Hellman key exchange - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)