Разное

Недостатком систем шифрования с открытым ключом является: Недостатком систем шифрования с открытым ключом является …

Содержание

Криптография с открытым ключом

Криптографическая система с открытым ключом или
Асимметричное шифрование, Асимметричный шифр — это система шифрования или
электронной цифровой подписи (ЭЦП), при которой открытый ключ передаётся
по незащищенному от постороннего наблюдения каналу, и используется для проверки
ЭЦП и шифрования сообщения. Генерация и расшифровака сообщения осуществляется
посредством секретного ключа.

Основы криптографии с открытым ключом были сформулированы совсем недавно.
Идею создания криптографии с открытым ключом выдвинули Уитфилдом Диффи
(Whitfield Diffie), Мартином Хеллманом (Martin Hellman) и Ральфом Мерклом (Ralph
Merkle). По их убеждению, ключи можно использовать парами — ключ шифрования
и ключ дешифрования, благодаря чему получлить один ключ из другого
не представляется возможным. В 1976 году Диффи и Хеллман впервые представили эту
идею на Национальной компьютерной конференции, а всего через несколько месяцев
была опубликована их основополагающая работа «Новые направления в криптографии»
(«New Directions in Cryptography»).


Схема передачи информации лицом А лицу В

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

  • Разложение больших чисел на простые множители (RSA)
  • Вычисление логарифма в конечном поле (криптосистема Эль-Гамаля)
  • Вычисление корней алгебраических уравнений (на основе эллиптических
    уравнений)

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

Все современные криптосистемы с открытым ключом весьма медлительны
и практически ни одна из них не может сравниться по быстродействию
с симметричными криптосистемами. Быстродействие RSA в тысячи раз ниже, чем у DES
или ГОСТ 28147-89. Поэтому эффективнее использовать гибридные криптосистемы.


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

Существует пять основных принципов построения криптосистем с открытым
ключом:

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

Для того, чтобы понять идеи и методы криптографии с открытым ключом
необходимо привести следующий пример — хранение паролей в компьютере. У каждого
пользователь в сети имеется свой секретный пароль. При входе в сеть,
пользователь указывает свое имя и вводит пароль. Важно отметить, что хранение
пароля на жестком диске компьютера облегчает доступ злоумышленников к секретной
информации. Как уже говорилось, для решения задачи используется односторонняя
или необратимая функция. В процессе создания секретного пароля в компьютере
сохраняется не сам пароль, а результат вычисления функции от этого пароля
и имени пользователя. Приведем наглядный пример, пользователь Маруся
придумала пароль «Баранки». При сохранении этих данных вычисляется
результат функции f(МАРУСЯБАРАНКИ), пусть в результате вычисления будет
выбрана строка Сухари, которая и будет сохранена в системе.
В результате файл паролей будет иметь следующий вид:

Имя
f(имя_пароль)

МАРУСЯ СУХАРИ

Вход в систему выглядит так:

Имя: АЛИСА
Пароль: БАРАНКИ

При введении пользователем Маруся секретного пароля, компьютер проверяет,
даёт или нет функция, применяемая к МАРУСЯБАРАНКИ, правильный результат
Сухари, хранящийся на диске компьютера. Изменение одной буквы в пароле
или имени приведет к совершенно другому результату функции.

В другом примере будет рассмоторена возможность восстановление открытого
сообщения с помощью «секретной лазейки», то есть труднодоступной информации. Для
шифрования текста можно воспользоваться большим абонентским справочником,
который состоит из нескольких толстых томов. Этот справочник позволяет без труда
найти номер любого жителя города, однако найти абонента по известному номеру
практически невозможно. Итак, для каждой буквы шифруемого сообщения подбирвается
имя, начинающееся на ту же букву. В результате, каждой букве соответствует номер
телефона абонента. К примеру, отправляемое сообщение «ВОРОНКА» будет
зашифровано следующим образом:

Сообщение Выбранное имя Криптотекст
В Волков 5643452
О Орлов 3572651
Р Рудакова 4673956
O Остапов 3517289
Н Наутин 7755628
К Киреева 1235267
А Артемьева 8492746

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


Еще одна форма атаки — вычисление закрытого ключа, зная
открытый

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

К главным достоинствам ассиметричных шифров относятся:

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

Однако ассиметричная система шифрования имеет и ряд недостатков. Среди них
выделяют:

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

Основы криптографии — тест 9

Главная / Безопасность /
Основы криптографии / Тест 9

Упражнение 1:


Номер 1

Алгоритмы шифрования с открытым ключом по-другому называются

Ответ:

&nbsp(1) асимметричными алгоритмами шифрования&nbsp

&nbsp(2) симметричными алгоритмами шифрования&nbsp

&nbsp(3) односторонними алгоритмами шифрования&nbsp

&nbsp(4) помехоустойчивыми алгоритмами шифрования&nbsp


Номер 2

Асимметричные алгоритмы шифрования по-другому называются

Ответ:

&nbsp(1) алгоритмами шифрования с открытым ключом&nbsp

&nbsp(2) симметричными алгоритмами шифрования&nbsp

&nbsp(3) односторонними алгоритмами шифрования&nbsp

&nbsp(4) помехоустойчивыми алгоритмами шифрования&nbsp


Номер 3

Когда в криптографии стало использоваться асимметричное шифрование?

Ответ:

&nbsp(1) в первой половине XIX;&nbsp

&nbsp(2) во второй половине XIX;&nbsp

&nbsp(3) в первой половине XX;&nbsp

&nbsp(4) во второй половине XX&nbsp


Упражнение 2:


Номер 1

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

Ответ:

&nbsp(1) криптографической функцией&nbsp

&nbsp(2) односторонней функцией&nbsp

&nbsp(3) функцией Диффи-Хеллмана&nbsp

&nbsp(4) функцией Эйлера&nbsp


Номер 2

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

Ответ:

&nbsp(1) формирования хеш-кодов&nbsp

&nbsp(2) шифрования сообщений&nbsp

&nbsp(3) формирования цифровой подписи&nbsp

&nbsp(4) контроля и исправления ошибок при передаче информации&nbsp


Номер 3

Односторонние функции с люком можно использовать для

Ответ:

&nbsp(1) формирования хеш-кодов&nbsp

&nbsp(2) шифрования сообщений&nbsp

&nbsp(3) формирования цифровой подписи&nbsp

&nbsp(4) контроля и исправления ошибок при передачи информации&nbsp


Упражнение 3:


Номер 1

Что является особенностью систем шифрования с открытым ключом по сравнению с симметричными системами шифрования?

Ответ:

&nbsp(1) возможность шифрования как текстовой, так и графической информации&nbsp

&nbsp(2) высокая скорость процессов шифрования/расшифрования&nbsp

&nbsp(3) использование малого количества вычислительных ресурсов&nbsp

&nbsp(4) отсутствие необходимости предварительной передачи секретного ключа по надёжному каналу связи&nbsp


Номер 2

Для решения каких задач можно использовать алгоритмы шифрования с открытым ключом?

Ответ:

&nbsp(1) для шифрования передаваемых и хранимых данных в целях их защиты от несанкционированного доступа&nbsp

&nbsp(2) для формирования цифровой подписи под электронными документами&nbsp

&nbsp(3) для распределения секретных ключей, используемых потом при шифровании документов симметричными методами&nbsp

&nbsp(4) для помехоустойчивого кодирования передаваемых сообщений&nbsp


Номер 3

Что является недостатком системы шифрования с открытым ключом?

Ответ:

&nbsp(1) низкая скорость процессов шифрования-расшифрования&nbsp

&nbsp(2) необходимость обновления ключа после каждого факта передачи&nbsp

&nbsp(3) отсутствие необходимости предварительной передачи секретного ключа по надёжному каналу&nbsp

&nbsp(4) необходимость предварительной передачи секретного ключа по надёжному каналу&nbsp


Упражнение 4:


Номер 1

Что называют закрытым ключом в асимметричных методах шифрования?

Ответ:

&nbsp(1) ключ, который должен храниться в секрете&nbsp

&nbsp(2) ключ, который необязательно хранить в секрете&nbsp

&nbsp(3) любой ключ, используемый для шифрования или расшифрования&nbsp

&nbsp(4) ключ, который используется для выработки имитовставки&nbsp


Номер 2

Что называют открытым ключом в асимметричных методах шифрования?

Ответ:

&nbsp(1) ключ, который должен храниться в секрете&nbsp

&nbsp(2) ключ, который не обязательно хранить в секрете&nbsp

&nbsp(3) любой ключ, используемый для шифрования или расшифрования&nbsp

&nbsp(4) ключ, который используется для выработки имитовставки&nbsp


Номер 3

Как называется ключ, используемый в асимметричных криптографических алгоритмах, который можно не хранить в секрете?

Ответ:

&nbsp(1) закрытый ключ&nbsp

&nbsp(2) открытый ключ&nbsp

&nbsp(3) тайный ключ&nbsp

&nbsp(4) явный ключ&nbsp

&nbsp(5) ключ шифрования&nbsp


Упражнение 5:


Номер 1

Сколько ключей используется в криптографических алгоритмах с открытым ключом?

Ответ:

&nbsp(1) ноль&nbsp

&nbsp(2) один&nbsp

&nbsp(3) два&nbsp

&nbsp(4) три&nbsp


Номер 2

Что общего имеют все методы шифрования с закрытым ключом?

Ответ:

&nbsp(1) в них для шифрования информации используется один ключ, а для расшифрования – другой ключ&nbsp

&nbsp(2) в них для шифрования и расшифрования информации используется один и тот же ключ&nbsp

&nbsp(3) в них входной поток исходного текста делится на блоки, в каждом из которых выполняется перестановка символов&nbsp

&nbsp(4) в них для операций шифрования и расшифрования используется два разных ключа – открытый и закрытый&nbsp


Номер 3

Что общего имеют все методы шифрования с открытым ключом?

Ответ:

&nbsp(1) в них для шифрования информации используется один ключ, а для расшифрования – другой ключ&nbsp

&nbsp(2) в них для шифрования и расшифрования информации используется один и тот же ключ&nbsp

&nbsp(3) в них входной поток исходного текста делится на блоки, в каждом из которых выполняется перестановка символов&nbsp

&nbsp(4) эти методы позволяют производить коррекцию ошибок при передаче по зашумленным каналам связи&nbsp


Упражнение 6:


Номер 1

Укажите требования к алгоритмам шифрования с открытым ключом

Ответ:

&nbsp(1) вычислительно легко создавать пару (открытый ключ, закрытый ключ)&nbsp

&nbsp(2) вычислительно легко зашифровать сообщение открытым ключом&nbsp

&nbsp(3) вычислительно легко, зная открытый ключ, определить соответствующий закрытый ключ&nbsp

&nbsp(4) вычислительно легко, зная только открытый ключ и зашифрованное сообщение, восстановить исходное сообщение&nbsp


Номер 2

Укажите требования к алгоритмам шифрования с открытым ключом

Ответ:

&nbsp(1) вычислительно невозможно создавать пару (открытый ключ, закрытый ключ)&nbsp

&nbsp(2) вычислительно невозможно зашифровать сообщение открытым ключом&nbsp

&nbsp(3) вычислительно невозможно, зная открытый ключ, определить соответствующий закрытый ключ&nbsp

&nbsp(4) вычислительно невозможно, зная только открытый ключ и зашифрованное сообщение, восстановить исходное сообщение&nbsp


Номер 3

Укажите требования к алгоритмам шифрования с открытым ключом

Ответ:

&nbsp(1) вычислительно легко зашифровать сообщение открытым ключом&nbsp

&nbsp(2) вычислительно легко расшифровать сообщение, используя закрытый ключ&nbsp

&nbsp(3) вычислительно невозможно, зная открытый ключ, определить соответствующий закрытый ключ&nbsp

&nbsp(4) вычислительно невозможно, зная только открытый ключ и зашифрованное сообщение, восстановить исходное сообщение&nbsp


Упражнение 7:


Номер 1

Какие ключи и как должны применяться при использовании асимметричных криптографических алгоритмов для шифрования передаваемых данных?

Ответ:

&nbsp(1) отправитель шифрует сообщение открытым ключом получателя, а получатель расшифровывает сообщение своим закрытым ключом&nbsp

&nbsp(2) отправитель шифрует сообщение закрытым ключом получателя, а получатель расшифровывает сообщение своим открытым ключом&nbsp

&nbsp(3) отправитель шифрует сообщение своим открытым ключом, а получатель расшифровывает сообщение закрытым ключом отправителя&nbsp

&nbsp(4) отправитель шифрует сообщение своим закрытым ключом, а получатель расшифровывает сообщение открытым ключом отправителя&nbsp


Номер 2

Какие ключи и как должны применяться при использовании асимметричных криптографических алгоритмов для формирования электронной цифровой подписи?

Ответ:

&nbsp(1) отправитель использует для шифрования открытый ключ получателя, а получатель использует для расшифрования свой закрытый ключ&nbsp

&nbsp(2) отправитель использует для шифрования закрытый ключ получателя, а получатель использует для расшифрования свой открытый ключ&nbsp

&nbsp(3) отправитель использует для шифрования свой открытый ключ, а получатель использует для расшифрования закрытый ключ отправителя&nbsp

&nbsp(4) отправитель использует для шифрования свой закрытый ключ, а получатель использует для расшифрования открытый ключ отправителя&nbsp


Номер 3

Какие ключи и как должны применяться при использовании асимметричных криптографических алгоритмов для шифрования сеансовых ключей?

Ответ:

&nbsp(1) отправитель шифрует сеансовый ключ открытым ключом получателя, а получатель расшифровывает полученный ключ своим закрытым ключом&nbsp

&nbsp(2) отправитель шифрует сеансовый ключ закрытым ключом получателя, а получатель расшифровывает полученный ключ своим открытым ключом&nbsp

&nbsp(3) отправитель шифрует сеансовый ключ своим открытым ключом, а получатель расшифровывает полученный ключ закрытым ключом отправителя&nbsp

&nbsp(4) отправитель шифрует сеансовый ключ своим закрытым ключом, а получатель расшифровывает полученный ключ открытым ключом отправителя&nbsp


Упражнение 8:


Номер 1

Каким требованиям должна удовлетворять электронная цифровая подпись?

Ответ:

&nbsp(1) подпись воспроизводится только одним лицом, а подлинность ее может быть удостоверена многими&nbsp

&nbsp(2) подпись воспроизводится многими лицами, а ее подлинность может быть удостоверена только одним лицом&nbsp

&nbsp(3) подпись неразрывно связывается с данным сообщением и не может быть перенесена на другой документ&nbsp

&nbsp(4) подпись не связывается с конкретным сообщением и может быть перенесена на другой документ&nbsp


Номер 2

Каким требованиям должна удовлетворять электронная цифровая подпись?

Ответ:

&nbsp(1) после того, как документ подписан, его невозможно изменить&nbsp

&nbsp(2) после того, как документ подписан, его можно изменять&nbsp

&nbsp(3) подпись неразрывно связывается с данным сообщением и не может быть перенесена на другой документ&nbsp

&nbsp(4) подпись не связывается с конкретным сообщением и может быть перенесена на другой документ&nbsp


Номер 3

Каким требованиям должна удовлетворять электронная цифровая подпись?

Ответ:

&nbsp(1) от поставленной подписи невозможно отказаться, то есть лицо, подписавшее документ, не сможет потом утверждать, что не ставило подпись&nbsp

&nbsp(2) подпись воспроизводится многими лицами, а ее подлинность может быть удостоверена только одним лицом&nbsp

&nbsp(3) подпись неразрывно связывается с данным сообщением и не может быть перенесена на другой документ&nbsp

&nbsp(4) подпись не связывается с конкретным сообщением и может быть перенесена на другой документ&nbsp


Системы шифрования с открытым ключом — Студопедия

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

В основе применения систем с открытым ключом лежит использование необратимых или односторонних функций . Эти функции обладают следующим свойством. По известному х легко определяется функция у = f(х). Но по известному значению у практически невозможно получить х. В криптографии используется односторонние функции, имеющие так называемый потайной ход. Эти функции с параметром z обладают следующими свойствами. Для определенного z могут быть найдены алгоритмы Ez и Dz. С помощью Ez легко получить функцию fz(х) для всех х из области определения. Так же просто с помощью алгоритма Dz получается и обратная функция х = f-1(y) для всех у из области допустимых значений. В то же время практически для всех z и почти для всех у из области допустимых значений нахождение f-1(y) при помощи вычислений невозможно даже при известном Ez. В качестве открытого ключа используется у, а в качестве закрытого — х.

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

Криптосистемы с открытыми ключами различаются видом односторонних функций. Среди них самыми известными являются системы RSA, Эль-Гамаля и Мак-Элиса. В настоящее время наиболее эффективным и распространенным алгоритмом шифрования с открытым ключом является алгоритм RSA, получивший свое название от первых букв фамилий его создателей: Rivest, Shamir и Adleman.



Алгоритм основан на использовании операции возведения в степень модульной арифметики. Его можно представить в виде следующей последовательности шагов.

Шаг 1. Выбираются два больших простых числа р и q. Простыми называются числа, которые делятся только на самих себя и на 1 . Величина этих чисел должна быть больше 200.

Шаг 2. Получается открытая компонента ключа n:

n = р * q.

Шаг 3. Вычисляется функция Эйлера по формуле:

f(p, q) = (p-1) * (q-1).

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


Шаг 4. Выбирается большое простое число d, которое является взаимно простым со значением f(p, q).

Шаг 5. Определяется число е, удовлетворяющее условию:

e * d = 1(modf(p, q)).

Данное условие означает, что остаток от деления (вычет) произведения е*d на функцию f(р, q) равен 1. Число е принимается в качестве второй компоненты открытого ключа. В качестве секретного ключа используются числа p и q.

Шаг 6. Исходная информация, независимо от ее физической природы, представляется в числовом двоичном виде. Последовательность бит разделяется на блоки длиной L бит, где L — наименьшее целое число, удовлетворяющее условию: L≥lоg2(n+1). Каждый блок рассматривается как целое положительное число Х(i), принадлежащее интервалу [0, n-1]. Таким образом, исходная информация представляется последовательностью чисел Х(i), i= . Значение I определяется длиной шифруемой последовательности.

Шаг 7. Зашифрованная информация получается в виде последовательности чисел Y(i), вычисляемых по формуле:

Y(i) = (Х(i))e(mod n).

Шаг 8. Для расшифрования информации используется следующая зависимость:

X(i) = (Y(i))d(mod n).

Пример применения метода RSA для криптографического закрытия информации. Примечание: для простоты вычислений использованы минимально возможные числа.

Пусть требуется зашифровать сообщение на русском языке «ГАЗ».

Для зашифрования и расшифрования сообщения необходимо выполнить следующие шаги.

Шаг 1. Выбирается p = 3 и q = 11.

Шаг 2. Вычисляется n = 3 * 11 = 33.

Шаг 3. Определяется функция Эйлера

f(p, q) = (3-1)*(11-1) = 20.

Шаг 4. В качестве взаимно простого числа выбирается число

Шаг 5. Выбирается такое число е, которое удовлетворяло бы ношению: (е*3) (mod 20) = 1. Пусть е = 7.

Шаг 6. Исходное сообщение представляется как последовательность целых чисел. Пусть букве А соответствует число 1, букве Г — число 4, букве З — число 9. Для представления чисел в двоичном коде требуется 6 двоичных разрядов, так как в русском алфавите используются 33 буквы (случайное совпадение с числом n). Исходная информация в двоичном коде имеет вид:

000100 000001 001001.

Длина блока L определяется как минимальное число из целых чисел, удовлетворяющих условию: L≥log2(33+1), так как n=33. Отсюда L = 6. Тогда исходный текст представляется в виде кортежа Х(i) = <4, 1, 9>.

Шаг 7. Кортеж Х(i) зашифровывается с помощью открытого ключа {7, 33}:

Y(1) = (47) (mod 33) = 16384 (mod 33) = 16;

Y(2) = (17) (mod 33) = 1 (mod 33) = 1;

Y(3) = (97) (mod 33) = 4782969 (mod 33) = 15.

Получено зашифрованное сообщение Y(i) = <16, 1, 15>.

Шаг 8. Расшифровка сообщения Y(i) = <16, 1, 15> осуществляется с помощью секретного ключа {3, 33}:

Х(1) = (163) (mod 33) = 4096 (mod 33) = 4;

Х(2) = (13) (mod 33) = 1 (mod 33) = 1;

Х(3) = (153) (mod 33) = 3375 (mod 33) = 9.

Исходная числовая последовательность в расшифрованном виде X(1) = <4, 1, 9> заменяется исходным текстом «ГАЗ».

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

Преимущества и недостатки криптографии — CoderLessons.com

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

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

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

Криптография — преимущества

Криптография является важным средством защиты информации. Предоставляет четыре основных сервиса информационной безопасности —

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

  • Аутентификация — криптографические методы, такие как MAC и цифровые подписи, могут защитить информацию от подделки и подделки.

  • Целостность данных — криптографические хэш-функции играют важную роль в обеспечении пользователей целостностью данных.

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

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

Аутентификация — криптографические методы, такие как MAC и цифровые подписи, могут защитить информацию от подделки и подделки.

Целостность данных — криптографические хэш-функции играют важную роль в обеспечении пользователей целостностью данных.

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

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

Криптография — Недостатки

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

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

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

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

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

  • Криптография поставляется за плату. Стоимость с точки зрения времени и денег —

    • Добавление криптографических методов в обработку информации приводит к задержке.

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

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

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

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

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

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

Криптография поставляется за плату. Стоимость с точки зрения времени и денег —

Добавление криптографических методов в обработку информации приводит к задержке.

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

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

Будущее криптографии

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

Квантовые вычисления — это новое явление. В то время как современные компьютеры хранят данные, используя двоичный формат, называемый «бит», в котором могут храниться «1» или «0»; квантовый компьютер хранит данные, используя квантовую суперпозицию нескольких состояний. Эти многозначные состояния хранятся в «квантовых битах» или «кубитах». Это позволяет вычислять числа на несколько порядков быстрее, чем традиционные транзисторные процессоры.

Чтобы понять мощность квантового компьютера, рассмотрим RSA-640, число с 193 цифрами, которое может быть вычислено восемьюдесятью компьютерами с частотой 2,2 ГГц в течение 5 месяцев, один квантовый компьютер будет иметь коэффициент менее 17 секунд. Числа, на вычисление которых обычно уходят миллиарды лет, могут занять несколько часов или даже минут с полностью разработанным квантовым компьютером.

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

Криптографическая система с открытым ключом

Криптографическая система с открытым ключом (или Асимметричное шифрование, Асимметричный шифр) — система шифрования и/или электронной цифровой подписи (ЭЦП), при которой открытый ключ передаётся по открытому (то есть незащищённому, доступному для наблюдения) каналу, и используется для проверки ЭЦП и для шифрования сообщения. Для генерации ЭЦП и для расшифрования сообщения используется секретный ключ. [1] Криптографические системы с открытым ключом в настоящее время широко применяются в различных сетевых протоколах, в частности, в протоколах SSL (лежащих в основе SSH. Также используется в S/MIME.

Идея криптосистемы с открытым ключом

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

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

Понять идеи и методы криптографии с открытым ключом помогает следующий пример — хранение паролей в компьютере. Каждый пользователь в сети имеет свой пароль. При входе, он указывает имя и вводит секретный пароль. Но если хранить пароль на диске компьютера, то кто-нибудь его может считать (особенно легко это сделать администратору этого компьютера) и получить доступ к секретной информации. Для решения задачи используется односторонняя функция. При создании секретного пароля в компьютере сохраняется не сам пароль, а результат вычисления функции от этого пароля и имени пользователя. Например, пользователь Алиса придумала пароль «Гладиолус». При сохранении этих данных вычисляется результат функции f(АЛИСАГЛАДИОЛУС), пусть результатом будет строка РОМАШКА, которая и будет сохранена в системе. В результате файл паролей примет следующий вид:

Имя f(имя_пароль)
АЛИСА РОМАШКА
БОБ НАРЦИСС

Вход в систему теперь выглядит так:

Имя: АЛИСА
Пароль: ГЛАДИОЛУС

Когда Алиса вводит «секретный» пароль, компьютер проверяет, даёт или нет функция, применяемая к АЛИСАГЛАДИОЛУС, правильный результат РОМАШКА, хранящийся на диске компьютера. Стоит изменить хотя бы одну букву в имени или в пароле, и результат функции будет совершенно другим. «Секретный» пароль не хранится в компьютере ни в каком виде. Файл паролей может быть теперь просмотрен другими пользователями без потери секретности, так как функция необратимая.

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

Сообщение Выбранное имя Криптотекст
К Королёв 5643452
О Орехов 3572651
Р Рузаева 4673956
O Осипов 3517289
Б Батурин 7755628
К Кирсанова 1235267
А Арсеньева 8492746

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

Примеры таких криптотекстов:

Криптотекст 1 Криптотекст 2 Криптотекст 3
1235267 5643452 1235267
3572651 3517289 3517289
4673956 4673956 4673956
3517289 3572651 3572651
7755628 7755628 7755628
5643452 1235267 5643452
8492746 8492746 8492746

Чтобы расшифровать текст, надо иметь справочник, составленный согласно возрастанию номеров. Этот справочник является лазейкой (секрет, который помогает получить начальный текст), известной только легальным пользователям. Не имея на руках копии справочника, криптоаналитик затратит очень много времени на расшифровку.[2]

Схема шифрования с открытым ключом

Пусть K — пространство ключей, а e и d — ключи шифрования и расшифрования соответственно. Ee — функция шифрования для произвольного ключа eK, такая что:

Ee(m) = c

Здесь cC, где C — пространство шифротекстов, а mM, где M — пространство сообщений.

Dd — функция расшифрования, с помощью которой можно найти исходное сообщение m, зная шифротекст c :

Dd(c) = m

{Ee: eK} — набор шифрования, а {Dd: dK} — соответствующий набор для расшифрования. Каждая пара (E,D) имеет свойство: зная Ee, невозможно решить уравнение Ee(m) = c, то есть для данного произвольного шифротекста cC, невозможно найти сообщение mM. Это значит, что по данному e невозможно определить соответствующий ключ расшифрования d. Ee является односторонней функцией, а d — лазейкой.[3]

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

  1. Боб выбирает пару (e,d) и шлёт ключ шифрования e (открытый ключ) Алисе по открытому каналу, а ключ расшифрования d (закрытый ключ) защищён и секретен (он не должен передаваться по открытому каналу, либо его подлинность должна быть гарантирована некоторым сертифицирующим органом).
  2. Чтобы послать сообщение m Бобу, Алиса применяет функцию шифрования, определённую открытым ключом e: Ee(m) = c, c — полученный шифротекст.
  3. Боб расшифровывает шифротекст c, применяя обратное преобразование Dd, однозначно определённое значением d.

Научная основа

Начало асимметричным шифрам было положено в работе «Новые направления в современной криптографии» Уитфилда Диффи и Мартина Хеллмана, опубликованной в 1976 году. Находясь под влиянием работы Ральфа Меркле (Ralph Merkle) о распространении открытого ключа, они предложили метод получения секретных ключей, используя открытый канал. Этот метод экспоненциального обмена ключей, который стал известен как обмен ключами Диффи-Хеллмана, был первым опубликованным практичным методом для установления разделения секретного ключа между заверенными пользователями канала. В 2002 году Хеллман предложил называть данный алгоритм «Диффи — Хеллмана — Меркле», признавая вклад Меркле в изобретение криптографии с открытым ключом. Эта же схема была разработана Малькольмом Вильямсоном в 1970-х, но держалась в секрете до 1997 года. Метод Меркле по распространению открытого ключа был изобретён в 1974 году и опубликован в 1978, его также называют загадкой Меркле.

В 1977 году учёными Рональдом Райвестом (Ronald Linn Rivest), Ади Шамиром (Adi Shamir) и Леонардом Адлеманом (Leonard Adleman) из Массачусетского Технологического Института (MIT) был разработан алгоритм шифрования, основанный на проблеме о разложении на множители. Система была названа по первым буквам их фамилий. Эта же система была изобретена Клиффордом Коксом (Clifford Cocks) в 1973 году, работавшим в центре правительственной связи (GCHQ). Но эта работа хранилась лишь во внутренних документах центра, поэтому о её существовании было не известно до 1977 года.

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

Основные принципы построения криптосистем с открытым ключом

  1. Начинаем с трудной задачи P. Она должна решаться сложно в смысле теории: нет алгоритма, с помощью которого можно было бы перебрать все варианты решения задачи P за полиномиальное время относительно размера задачи.
  2. Можно выделить легкую подзадачу P‘ из P. Она должна решаться за полиномиальное время, лучше, если за линейное.
  3. «Перетасовываем и взбалтываем» P‘, чтобы получить задачу P», совершенно не похожую на первоначальную. Задача P», по крайней мере, должна выглядеть как оригинальная труднорешаемая задача P.
  4. P» открывается с описанием, как она может быть использована в роли ключа зашифрования. Как из P» получить P‘, держится в секрете как секретная лазейка.
  5. Криптосистема организована так, что алгоритмы расшифрования для легального пользователя и криптоаналитика существенно различны. В то время как первый решает P» задачу, второй использует секретную лазейку и решает P‘ задачу.

Криптография с несколькими открытыми ключами

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

Пусть есть 3 ключа KA, KB, KC, распределенные так, как показано в таблице.

Лицо Ключ
Алиса KA
Боб KB
Кэрол KC
Дэйв KA, KB
Эллен KB, KC
Франк KA, KC

Тогда Алиса может зашифровать сообщение ключом KA, а Эллен расшифровать ключами KB, KC, Кэрол — ключом KC, а Дэйв расшифровать ключами KA, KB. Если Дэйв зашифрует сообщение ключом KA, то сообщение сможет прочитать Эллен, если ключом KB, то его сможет прочитать Франк, если же обоими ключами KA и KB, то сообщение прочитает Кэрол. По аналогии действуют и другие участники. Таким образом, если используется одно подмножество ключей для шифрования, то для расшифрования требуются оставшиеся ключи множества. Такую схему можно использовать для n ключей.

Шифруется ключом Расшифровывается ключом
KB и KC KA
KA и KC KB
KA и KB KC
KC KA, KB
KA KB, KC
KB KA, KC
  • Теперь можно посылать сообщения группам агентов, не зная заранее состав группы.

Рассмотрим для начала множество, состоящее из трех агентов: Алисы, Боба и Кэрол. Алисе выдаются ключи KA и KB, Бобу — KB и KC, Кэрол — KA и KC. Теперь, если отправляемое сообщение зашифровано ключом KC, то его сможет прочитать только Алиса, последовательно применяя ключи KA и KB. Если нужно отправить сообщение Бобу, сообщение шифруется ключом KA, Кэрол — ключом KB. Если нужно отправить сообщение и Алисе и Кэрол, то для шифрования используются ключи KB и KC.

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

Недостатком такой схемы является то, что необходимо также широковещательно передавать подмножество агентов (список имён может быть внушительным), которым нужно передать сообщение. Иначе каждому из них придется перебирать все комбинации ключей в поисках подходящей. Также агентам придется хранить немалый объём информации о ключах.[4]

Криптоанализ алгоритмов с открытым ключом

Казалось бы, что криптосистема с открытым ключом — идеальная система, не требующая безопасного канала для передачи ключа шифрования. Это подразумевало бы, что два легальных пользователя могли бы общаться по открытому каналу, не встречаясь, чтобы обменяться ключами. К сожалению, это не так. Рисунок иллюстрирует, как Ева, выполняющая роль активного перехватчика, может захватить систему (расшифровать сообщение, предназначенное Бобу) без взламывания системы шифрования.

В этой модели Ева перехватывает открытый ключ e, посланный Бобом Алисе. Затем создает пару ключей e’ и d’, «маскируется» под Боба, посылая Алисе открытый ключ e’, который, как думает Алиса, открытый ключ, посланный ей Бобом. Ева перехватывает зашифрованные сообщения от Алисы к Бобу, расшифровывает их с помощью секретного ключа d’, заново зашифровывает открытым ключом e Боба и отправляет сообщение Бобу. Таким образом, никто из участников не догадывается, что есть третье лицо, которое может как просто перехватить сообщение m, так и подменить его на ложное сообщение m‘. Это подчеркивает необходимость аутентификации открытых ключей. Для этого обычно используют сертификаты. Распределённое управление ключами в [5]

Еще одна форма атаки — вычисление закрытого ключа, зная открытый (рисунок ниже). Криптоаналитик знает алгоритм шифрования Ee, анализируя его, пытается найти Dd. Этот процесс упрощается, если криптоаналитик перехватил несколько криптотекстов с, посланных лицом A лицу B.

Большинство криптосистем с открытым ключом основаны на проблеме факторизации больших чисел. К примеру,

Год Число десятичных разрядов
в разложенном числе
Во сколько раз сложнее разложить
на множители 512-битовое число
1983 71 > 20 000 000
1985 80 > 2 000 000
1988 90 250 000
1989 100 30 000
1993 120 500
1994 129 100

Также задачу разложения потенциально можно решить с помощью Алгоритма Шора при использовании достаточно мощного квантового компьютера.

Для многих методов несимметричного шифрования криптостойкость, полученная в результате криптоанализа, существенно отличается от величин, заявляемых разработчиками алгоритмов на основании теоретических оценок. Поэтому во многих странах вопрос применения алгоритмов шифрования данных находится в поле законодательного регулирования. В частности, в России к использованию в государственных и коммерческих организациях разрешены только те программные средства шифрования данных, которые прошли государственную сертификацию в административных органах, в частности, в ФСБ, ФСТЭК.[6]

Особенности системы

Применение

Алгоритмы криптосистемы с открытым ключом можно использовать[7]

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

Преимущества

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

Недостатки

  • Преимущество алгоритма симметричного шифрования над несимметричным заключается в том, что в первый относительно легко внести изменения.
  • Хотя сообщения надежно шифруются, но «засвечиваются» получатель и отправитель самим фактом пересылки шифрованного сообщения.[8]
  • Несимметричные алгоритмы используют более длинные ключи, чем симметричные. Ниже приведена таблица, сопоставляющая длину ключа симметричного алгоритма с длиной ключа несимметричного алгоритма с аналогичной криптостойкостью:
Длина симметричного ключа, бит Длина несимметричного ключа, бит
56 384
64 512
80 768
112 1792
128 2304
  • Процесс шифрования-расшифрования с использованием пары ключей проходит на два-три порядка медленнее, чем шифрование-расшифрование того же текста симметричным алгоритмом.
  • В чистом виде асимметричные криптосистемы требуют существенно больших вычислительных ресурсов, потому на практике используются в сочетании с другими алгоритмами.
    1. Для ЭЦП сообщение предварительно подвергается хешированию, а с помощью асимметричного ключа подписывается лишь относительно небольшой результат хеш-функции.
    2. Для шифрования они используются в форме гибридных криптосистем, где большие объёмы данных шифруются симметричным шифром на сеансовом ключе, а с помощью асимметричного шифра передаётся только сам сеансовый ключ.

Виды симметричных шифров

блочные шифры
потоковые шифры

Виды асимметричных шифров

Примечания

  1. Брюс Шнайер. Прикладная криптография. 2-е изд. Протоколы, алгоритмы и исходные тексты на языке Си. Глава 2.7 Цифровые подписи и шифрование.
  2. Саломаа А. Криптография с открытым ключом. с. 74-75
  3. Handbook of Applied Cryptography, Menezes A.J., Oorschot P.C., Vanstone S.A. С. 25—26
  4. Брюс Шнайер. Прикладная криптография. 2-е изд. Протоколы, алгоритмы и сиходные тексты на языке Си. Глава 3.5
  5. PGP. Распределение ключей..
  6. Принцип достаточной защиты.
  7. Баричев С. Криптография без секретов. с. 20
  8. См. например: Yoshiharu Maeno, Yukio Ohsawa. Discovering covert node in networked organization

См. также

Литература

  • Саломаа А. Криптография с открытым ключом. — М.: Мир, 1995. — 318 с. — ISBN 5-03-001991-X
  • A. J. Menezes, P. C. van Oorschot, S. A. Vanstone. Handbook of Applied Cryptography. — 1997. — ISBN 0-8493-8523-7
  • Шнайер Б. Прикладная криптография. Протоколы, алгоритмы, исходные тексты на языке Си = Applied Cryptography. Protocols, Algorithms and Source Code in C. — М.: Триумф, 2002. — 816 с. — 3000 экз. — ISBN 5-89392-055-4

Wikimedia Foundation.
2010.

Криптосистема с открытым ключом — это… Что такое Криптосистема с открытым ключом?

Криптографическая система с открытым ключом (или асимметричное шифрование, асимметричный шифр) — система шифрования и/или электронной цифровой подписи (ЭЦП), при которой открытый ключ передаётся по открытому (то есть незащищённому, доступному для наблюдения) каналу и используется для проверки ЭЦП и для шифрования сообщения. Для генерации ЭЦП и для расшифровки сообщения используется секретный ключ.[1] Криптографические системы с открытым ключом в настоящее время широко применяются в различных сетевых протоколах, в частности, в протоколах TLS и его предшественнике SSL (лежащих в основе HTTPS), в SSH. Также используется в PGP, S/MIME.

Идея криптосистемы с открытым ключом

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

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

Понять идеи и методы криптографии с открытым ключом помогает следующий пример — хранение паролей в компьютере. Каждый пользователь в сети имеет свой пароль. При входе он указывает имя и вводит секретный пароль. Но если хранить пароль на диске компьютера, то кто-нибудь его может считать (особенно легко это сделать администратору этого компьютера) и получить доступ к секретной информации. Для решения задачи используется односторонняя функция. При создании секретного пароля в компьютере сохраняется не сам пароль, а результат вычисления функции от этого пароля и имени пользователя. Например, пользователь Алиса придумала пароль «Гладиолус». При сохранении этих данных вычисляется результат функции (ГЛАДИОЛУС), пусть результатом будет строка РОМАШКА, которая и будет сохранена в системе. В результате файл паролей примет следующий вид:

Имя (имя_пароль)
АЛИСА РОМАШКА
БОБ НАРЦИСС

Вход в систему теперь выглядит так:

Имя: АЛИСА
Пароль: ГЛАДИОЛУС

Когда Алиса вводит «секретный» пароль, компьютер проверяет, даёт или нет функция, применяемая к ГЛАДИОЛУС, правильный результат РОМАШКА, хранящийся на диске компьютера. Стоит изменить хотя бы одну букву в имени или в пароле, и результат функции будет совершенно другим. «Секретный» пароль не хранится в компьютере ни в каком виде. Файл паролей может быть теперь просмотрен другими пользователями без потери секретности, так как функция практически необратимая.

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

Сообщение Выбранное имя Криптотекст
К Королёв 5643452
О Орехов 3572651
Р Рузаева 4673956
O Осипов 3517289
Б Батурин 7755628
К Кирсанова 1235267
А Арсеньева 8492746

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

Примеры таких криптотекстов:

Криптотекст 1 Криптотекст 2 Криптотекст 3
1235267 5643452 1235267
3572651 3517289 3517289
4673956 4673956 4673956
3517289 3572651 3572651
7755628 7755628 7755628
5643452 1235267 5643452
8492746 8492746 8492746

Чтобы расшифровать текст, надо иметь справочник, составленный согласно возрастанию номеров. Этот справочник является лазейкой (секрет, который помогает получить начальный текст), известной только легальным пользователям. Не имея на руках копии справочника, криптоаналитик затратит очень много времени на расшифровку.[2]

Схема шифрования с открытым ключом

Пусть  — пространство ключей, а и  — ключи шифрования и расшифрования соответственно.  — функция шифрования для произвольного ключа , такая что:

Здесь , где  — пространство шифротекстов, а , где  — пространство сообщений.

 — функция расшифрования, с помощью которой можно найти исходное сообщение , зная шифротекст  :

{: } — набор шифрования, а {: } — соответствующий набор для расшифрования. Каждая пара имеет свойство: зная , невозможно решить уравнение , то есть для данного произвольного шифротекста , невозможно найти сообщение . Это значит, что по данному невозможно определить соответствующий ключ расшифрования . является односторонней функцией, а  — лазейкой.[3]

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

  1. Боб выбирает пару и шлёт ключ шифрования (открытый ключ) Алисе по открытому каналу, а ключ расшифрования (закрытый ключ) защищён и секретен (он не должен передаваться по открытому каналу).
  2. Чтобы послать сообщение Бобу, Алиса применяет функцию шифрования, определённую открытым ключом : ,  — полученный шифротекст.
  3. Боб расшифровывает шифротекст , применяя обратное преобразование , однозначно определённое значением .

Научная основа

Начало асимметричным шифрам было положено в работе «Новые направления в современной криптографии» Уитфилда Диффи и Мартина Хеллмана, опубликованной в 1976 году. Находясь под влиянием работы Ральфа Меркле (англ. Ralph Merkle) о распространении открытого ключа, они предложили метод получения секретных ключей, используя открытый канал. Этот метод экспоненциального обмена ключей, который стал известен как обмен ключами Диффи — Хеллмана, был первым опубликованным практичным методом для установления разделения секретного ключа между заверенными пользователями канала. В 2002 году Хеллман предложил называть данный алгоритм «Диффи — Хеллмана — Меркле», признавая вклад Меркле в изобретение криптографии с открытым ключом. Эта же схема была разработана Малькольмом Вильямсоном в 1970-х, но держалась в секрете до 1997 года. Метод Меркле по распространению открытого ключа был изобретён в 1974 и опубликован в 1978 году, его также называют загадкой Меркле.

В 1977 году учёными Рональдом Ривестом, Ади Шамиром и Леонардом Адлеманом из Массачусетского технологического института был разработан алгоритм шифрования, основанный на проблеме о разложении на множители. Система была названа по первым буквам их фамилий (RSA — Rivest, Shamir, Adleman). Эта же система была изобретена в 1973 году Клиффордом Коксом (англ. Clifford Cocks), работавшим в центре правительственной связи (GCHQ), но эта работа хранилась лишь во внутренних документах центра, поэтому о её существовании было не известно до 1977 года. RSA стал первым алгоритмом, пригодным и для шифрования, и для цифровой подписи.

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

Основные принципы построения криптосистем с открытым ключом

  1. Начинаем с трудной задачи . Она должна решаться сложно в смысле теории: не должно быть алгоритма, с помощью которого можно было бы перебрать все варианты решения задачи за полиномиальное время относительно размера задачи. Более правильно сказать: не должно быть известного полиномиального алгоритма, решающего данную задачу — так как ни для одной задачи ещё пока не доказано, что для неё подходящего алгоритма нет в принципе.
  2. Можно выделить легкую подзадачу из . Она должна решаться за полиномиальное время и лучше, если за линейное.
  3. «Перетасовываем и взбалтываем» , чтобы получить задачу , совершенно не похожую на первоначальную. Задача должна по крайней мере выглядеть как оригинальная труднорешаемая задача .
  4. открывается с описанием, как она может быть использована в роли ключа зашифрования. Как из получить , держится в секрете как секретная лазейка.
  5. Криптосистема организована так, что алгоритмы расшифрования для легального пользователя и криптоаналитика существенно различны. В то время как второй решает -задачу, первый использует секретную лазейку и решает -задачу.

Криптография с несколькими открытыми ключами

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

Пусть есть 3 ключа , , , распределенные так, как показано в таблице.

Тогда Алиса может зашифровать сообщение ключом , а Эллен расшифровать ключами , , Кэрол — зашифровать ключом , а Дэйв расшифровать ключами , . Если Дэйв зашифрует сообщение ключом , то сообщение сможет прочитать Эллен, если ключом , то его сможет прочитать Франк, если же обоими ключами и , то сообщение прочитает Кэрол. По аналогии действуют и другие участники. Таким образом, если используется одно подмножество ключей для шифрования, то для расшифрования требуются оставшиеся ключи множества. Такую схему можно использовать для n ключей.

  • Теперь можно посылать сообщения группам агентов, не зная заранее состав группы.

Рассмотрим для начала множество, состоящее из трех агентов: Алисы, Боба и Кэрол. Алисе выдаются ключи и , Бобу — и , Кэрол — и . Теперь, если отправляемое сообщение зашифровано ключом , то его сможет прочитать только Алиса, последовательно применяя ключи и . Если нужно отправить сообщение Бобу, сообщение шифруется ключом , Кэрол — ключом . Если нужно отправить сообщение и Алисе и Кэрол, то для шифрования используются ключи и .

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

Недостатком такой схемы является то, что необходимо также широковещательно передавать подмножество агентов (список имён может быть внушительным), которым нужно передать сообщение. Иначе каждому из них придется перебирать все комбинации ключей в поисках подходящей. Также агентам придется хранить немалый объём информации о ключах.[4]

Криптоанализ алгоритмов с открытым ключом

Казалось бы, что криптосистема с открытым ключом — идеальная система, не требующая безопасного канала для передачи ключа шифрования. Это подразумевало бы, что два легальных пользователя могли бы общаться по открытому каналу, не встречаясь, чтобы обменяться ключами. К сожалению, это не так. Рисунок иллюстрирует, как Ева, выполняющая роль активного перехватчика, может захватить систему (расшифровать сообщение, предназначенное Бобу) без взламывания системы шифрования.

В этой модели Ева перехватывает открытый ключ , посланный Бобом Алисе. Затем создает пару ключей и , «маскируется» под Боба, посылая Алисе открытый ключ , который, как думает Алиса, открытый ключ, посланный ей Бобом. Ева перехватывает зашифрованные сообщения от Алисы к Бобу, расшифровывает их с помощью секретного ключа , заново зашифровывает открытым ключом Боба и отправляет сообщение Бобу. Таким образом, никто из участников не догадывается, что есть третье лицо, которое может как просто перехватить сообщение , так и подменить его на ложное сообщение . Это подчеркивает необходимость аутентификации открытых ключей. Для этого обычно используют сертификаты. Распределённое управление ключами в PGP решает возникшую проблему с помощью поручителей.[5]

Ещё одна форма атаки — вычисление закрытого ключа, зная открытый (рисунок ниже). Криптоаналитик знает алгоритм шифрования , анализируя его, пытается найти . Этот процесс упрощается, если криптоаналитик перехватил несколько криптотекстов с, посланных лицом A лицу B.

Большинство криптосистем с открытым ключом основаны на проблеме факторизации больших чисел. К примеру, RSA использует в качестве открытого ключа n произведение двух больших чисел. Сложность взлома такого алгоритма состоит в трудности разложения числа n на множители. Но эту задачу решить реально. И с каждым годом процесс разложения становится все быстрее. Ниже приведены данные разложения на множители с помощью алгоритма «Квадратичное решето».

Год Число десятичных разрядов
в разложенном числе
Во сколько раз сложнее разложить
на множители 512-битовое число
1983 71 > 20 млн
1985 80 > 2 млн
1988 90 250 тыс.
1989 100 30 тыс.
1993 120 500
1994 129 100

Также задачу разложения потенциально можно решить с помощью Алгоритма Шора при использовании достаточно мощного квантового компьютера.

Для многих методов несимметричного шифрования криптостойкость, полученная в результате криптоанализа, существенно отличается от величин, заявляемых разработчиками алгоритмов на основании теоретических оценок. Поэтому во многих странах вопрос применения алгоритмов шифрования данных находится в поле законодательного регулирования. В частности, в России к использованию в государственных и коммерческих организациях разрешены только те программные средства шифрования данных, которые прошли государственную сертификацию в административных органах, в частности, в ФСБ, ФСТЭК.[6]

Особенности системы

Применение

Алгоритмы криптосистемы с открытым ключом можно использовать[7]

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

Преимущества

Преимущества асимметричных шифров перед симметричными:

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

Недостатки

Недостатки алгоритма несимметричного шифрования в сравнении с симметричным:

  • В алгоритм сложнее внести изменения.
  • Хотя сообщения надежно шифруются, но получатель и отправитель самим фактом пересылки шифрованного сообщения «засвечиваются».[8][уточнить]
  • Более длинные ключи. Ниже приведена таблица, сопоставляющая длину ключа симметричного алгоритма с длиной ключа RSA с аналогичной криптостойкостью:
Длина симметричного ключа, бит Длина ключа RSA, бит
56 384
64 512
80 768
112 1792
128 2304
  • Шифрование-расшифрование с использованием пары ключей проходит на два-три порядка медленнее, чем шифрование-расшифрование того же текста симметричным алгоритмом.
  • Требуются существенно бо́льшие вычислительные ресурсы, поэтому на практике асимметричные криптосистемы используются в сочетании с другими алгоритмами:
    1. Для ЭЦП сообщение предварительно подвергается хешированию, а с помощью асимметричного ключа подписывается лишь относительно небольшой результат хеш-функции.
    2. Для шифрования они используются в форме гибридных криптосистем, где большие объёмы данных шифруются симметричным шифром на сеансовом ключе, а с помощью асимметричного шифра передаётся только сам сеансовый ключ.

Виды симметричных шифров

блочные шифры
  • DES (Data Encryption Standard, стандарт шифрования данных)
  • 3DES (Triple-DES, тройной DES)
  • AES (Advanced Encryption Standard, улучшенный стандарт шифрования)
  • RC2 (Шифр Ривеста (Rivest Cipher или Ron’s Cipher))
  • RC5
  • Blowfish
  • Twofish
  • ГОСТ 28147-89
  • NUSH
  • IDEA (International Data Encryption Algorithm, интернациональный алгоритм шифрования данных)
  • CAST (по инициалам разработчиков Carlisle Adams и Stafford Tavares)
  • CRAB
  • 3-WAY
  • Khufu и Khafre
потоковые шифры
  • RC4 (алгоритм шифрования с ключом переменной длины)
  • SEAL (Software Efficient Algorithm, программно-эффективный алгоритм)
  • WAKE (World Auto Key Encryption algorithm, всемирный алгоритм шифрования на автоматическом ключе)

Виды асимметричных шифров

  • RSA (Rivest-Shamir-Adleman)
  • DSA (Digital Signature Algorithm)
  • Elgamal (Шифросистема Эль-Гамаля)
  • Diffie-Hellman (Обмен ключами Диффи — Хелмана)
  • ECDSA (Elliptic Curve Digital Signature Algorithm) — алгоритм с открытым ключом для создания цифровой подписи.
  • ГОСТ Р 34.10-2001
  • Rabin
  • Luc
  • McEliece
  • Williams System (Криптосистема Уильямса)

См. также

Примечания

  1. Брюс Шнайер. Прикладная криптография. 2-е изд. Протоколы, алгоритмы и исходные тексты на языке Си. Глава 2.7 Цифровые подписи и шифрование.
  2. Саломаа А. Криптография с открытым ключом. с. 74-75
  3. Handbook of Applied Cryptography, Menezes A.J., Oorschot P.C., Vanstone S.A. С. 25—26
  4. Брюс Шнайер. Прикладная криптография. 2-е изд. Протоколы, алгоритмы и исходные тексты на языке Си. Глава 3.5
  5. PGP. Распределение ключей..(недоступная ссылка — история)
  6. Принцип достаточной защиты. Архивировано из первоисточника 8 февраля 2012.
  7. Баричев С. Криптография без секретов. с. 20
  8. См. например: Yoshiharu Maeno. Node discovery in a networked organization // Proceedings of the IEEE International Conference on Systems, Man and Cybernetics. — San Antonio, октябрь 2009. — arΧiv:0803.3363

Литература

7.1.5 Системы шифрования с открытым ключом

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

В основе применения
систем с открытым ключом лежит
использование необратимых или
односторонних функций . Эти функции
обладают следующим свойством. По
известному х легко определяется функция
у = f(х). Но по известному значению у
практически невозможно получить х. В
криптографии используется односторонние
функции, имеющие так называемый потайной
ход. Эти функции с параметром z обладают
следующими свойствами. Для определенного
z могут быть найдены алгоритмы Ezи Dz. С помощью Ezлегко получить
функцию fz(х) для всех х из области
определения. Так же просто с помощью
алгоритма Dzполучается и обратная
функция х = f-1(y) для всех у из области
допустимых значений. В то же время
практически для всех z и почти для всех
у из области допустимых значений
нахождение f-1(y) при помощи вычислений
невозможно даже при известном Ez.
В качестве открытого ключа используется
у, а в качестве закрытого — х.

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

Криптосистемы с
открытыми ключами различаются видом
односторонних функций. Среди них самыми
известными являются системы RSA, Эль-Гамаля
и Мак-Элиса. В настоящее время наиболее
эффективным и распространенным алгоритмом
шифрования с открытым ключом является
алгоритм RSA, получивший свое название
от первых букв фамилий его создателей:
Rivest, Shamir и Adleman.

Алгоритм основан
на использовании операции возведения
в степень модульной арифметики. Его
можно представить в виде следующей
последовательности шагов.

Шаг 1. Выбираются
два больших простых числа р и q. Простыми
называются числа, которые делятся только
на самих себя и на 1 . Величина этих чисел
должна быть больше 200.

Шаг 2. Получается
открытая компонента ключа n:

n = р * q.

Шаг 3. Вычисляется
функция Эйлера по формуле:

f(p, q) = (p-1) * (q-1).

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

Шаг 4. Выбирается
большое простое число d, которое является
взаимно простым со значением f(p, q).

Шаг 5. Определяется
число е, удовлетворяющее условию:

e * d = 1(modf(p, q)).

Данное условие
означает, что остаток от деления (вычет)
произведения е*d на функцию f(р, q) равен
1. Число е принимается в качестве второй
компоненты открытого ключа. В качестве
секретного ключа используются числа p
и q.

Шаг 6. Исходная
информация, независимо от ее физической
природы, представляется в числовом
двоичном виде. Последовательность бит
разделяется на блоки длиной L бит, где
L — наименьшее целое число, удовлетворяющее
условию: L≥lоg2(n+1). Каждый блок
рассматривается как целое положительное
число Х(i), принадлежащее интервалу [0,
n-1]. Таким образом, исходная информация
представляется последовательностью
чисел Х(i), i=.
Значение I определяется длиной шифруемой
последовательности.

Шаг 7. Зашифрованная
информация получается в виде
последовательности чисел Y(i), вычисляемых
по формуле:

Y(i)
= (Х(i))e(mod
n).

Шаг 8.
Для расшифрования информации
используется следующая зависимость:

X(i) = (Y(i))d(mod
n).

Пример применения
метода RSA для криптографического закрытия
информации. Примечание: для простоты
вычислений использованы минимально
возможные числа.

Пусть требуется
зашифровать сообщение на русском языке
«ГАЗ».

Для зашифрования
и расшифрования сообщения необходимо
выполнить следующие шаги.

Шаг 1. Выбирается
p = 3 и q = 11.

Шаг 2. Вычисляется
n = 3 * 11 = 33.

Шаг 3. Определяется
функция Эйлера

f(p, q) = (3-1)*(11-1) = 20.

Шаг 4. В качестве
взаимно простого числа выбирается число

Шаг 5. Выбирается
такое число е, которое удовлетворяло
бы ношению: (е*3) (mod 20) = 1. Пусть е = 7.

Шаг 6. Исходное
сообщение представляется как
последовательность целых чисел. Пусть
букве А соответствует число 1, букве Г
— число 4, букве З — число 9. Для представления
чисел в двоичном коде требуется 6 двоичных
разрядов, так как в русском алфавите
используются 33 буквы (случайное совпадение
с числом n). Исходная информация в двоичном
коде имеет вид:

000100 000001 001001.

Длина блока L
определяется как минимальное число из
целых чисел, удовлетворяющих условию:
L≥log2(33+1), так как n=33. Отсюда L = 6. Тогда
исходный текст представляется в виде
кортежа Х(i) = <4, 1, 9>.

Шаг 7. Кортеж Х(i)
зашифровывается с помощью открытого
ключа {7, 33}:

Y(1) = (47)
(mod 33) = 16384 (mod 33) = 16;

Y(2) = (17)
(mod 33) = 1 (mod 33) = 1;

Y(3)
= (97) (mod33) = 4782969 (mod33) = 15.

Получено зашифрованное
сообщение Y(i) = <16, 1, 15>.

Шаг 8. Расшифровка
сообщения Y(i) = <16, 1, 15> осуществляется
с помощью секретного ключа {3, 33}:

Х(1) =
(163)
(mod 33) = 4096 (mod 33) = 4;

Х(2) =
(13)
(mod 33) = 1 (mod 33) = 1;

Х(3) = (153) (mod33) = 3375 (mod33) = 9.

Исходная числовая
последовательность в расшифрованном
виде X(1) = <4, 1, 9> заменяется исходным
текстом «ГАЗ».

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

Недостатков шифрования с открытым ключом | Small Business

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

Скорость

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

Проблемы сертификации

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

Прямой компромисс

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

Ложное ощущение безопасности

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

.

Устранение недостатков централизованной PKI с помощью блокчейна / Корпоративный блог ENCRY / Хабр

Цифровые сертификаты — один из наиболее широко известных вспомогательных инструментов, помогающих защитить данные в общедоступных сетях. Однако основной недостаток этой технологии также широко известен: пользователи вынуждены безоговорочно доверять центрам сертификации, которые выдают цифровые сертификаты. Андрей Чмора, директор по технологиям и инновациям ENCRY, предложил новый подход к построению инфраструктуры открытого ключа (PKI) для устранения существующих недостатков с использованием технологии распределенного реестра (блокчейн).
Начнем с основ.

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

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

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

Но как добиться частного обмена информацией?

Рис. 1. Передача зашифрованных данных с использованием криптографии с открытым ключом

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

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

Рисунок 2. Цифровая подпись / проверка

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

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

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

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

Кто выдает цифровые сертификаты? Цифровые сертификаты выдаются и обслуживаются доверенными центрами сертификации (ЦС). Сущность, делающая запрос, просит ЦС выдать сертификат, регистрируется в Центре регистрации (RC), а затем получает свой сертификат в ЦС. CA гарантирует, что открытый ключ сертификата принадлежит тому объекту, для которого он был выпущен.

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

Цифровые сертификаты всегда используются вместе с асимметричной криптографией. Один из самых популярных цифровых сертификатов — это SSL-сертификаты для безопасной связи через HTTPS. SSL-сертификаты выпускаются сотнями компаний в различных юрисдикциях. Основная доля рынка распределена между пятью-десятью крупнейшими доверенными центрами сертификации: IdenTrust, Comodo, GoDaddy, GlobalSign, DigiCert, CERTUM, Actalis, Secom и Trustwave.

CA и RC — это компоненты PKI, которые также включают:

  • Public Dictionary: Общедоступная база данных, обеспечивающая надежное хранение цифровых сертификатов
  • Список отозванных сертификатов: Общедоступная база данных, которая обеспечивает надежное хранение цифровых сертификатов отозванных открытых ключей (например, из-за взлома закрытых ключей)
    Сущности инфраструктуры могут получить доступ к этой базе данных самостоятельно или использовать специализированный протокол статуса онлайн-сертификации (OCSP), который упрощает процесс проверки.
  • Пользователи сертификата: объектов PKI, которые обслуживаются в соответствии с пользовательским соглашением с ЦС и проверяют цифровые подписи и / или шифруют данные на основе открытого ключа из сертификата
  • Подписчики: объектов PKI, которые обслуживаются ЦС, владеют закрытым ключом и парным открытым ключом из сертификата и заключили подписное соглашение с ЦС. Подписчик также может быть пользователем сертификата.

Таким образом, доверенные объекты инфраструктуры открытых ключей, включая центры сертификации, RC и общедоступные словари, несут ответственность за:

  1. Проверка объекта, отправляющего запрос
  2. Профилирование сертификата открытого ключа
  3. Выдача сертификата открытого ключа для аутентифицированного объекта, делающего запрос
  4. Изменение статуса сертификата открытого ключа
  5. Предоставление информации о текущем состоянии сертификата открытого ключа.

Какие недостатки у PKI? Основным недостатком PKI является зависимость от доверенных объектов. Пользователи вынуждены слепо доверять CA и RC. Однако такое слепое доверие опасно.

За последние десять лет уязвимость инфраструктуры стала причиной нескольких крупных скандалов.

В 2010 году вредоносная программа Stuxnet, подписанная с использованием украденных цифровых сертификатов от RealTek и JMicron, начала распространяться в Интернете.

В 2017 году Google обвинил Symantec в выпуске большого количества фальсифицированных сертификатов. На тот момент Symantec была одним из крупнейших центров сертификации по количеству выданных сертификатов. Начиная с версии 70 Google Chrome, Google прекратил поддержку всех сертификатов, выданных этой компанией и ее аффилированными лицами GeoTrust и Thawte до 1 декабря 2017 года.

Эти центры сертификации были скомпрометированы, и, как следствие, сами центры сертификации, а также пользователи и подписчики пострадали. Более того, было подорвано доверие к инфраструктуре. Кроме того, цифровые сертификаты могут быть запрещены из-за политических конфликтов, что может повлиять на многие ресурсы.Поэтому в 2016 году власти России рассматривали создание национального удостоверяющего центра для выдачи SSL-сертификатов для сайтов Рунета. В нынешней ситуации российские правительственные порталы используют цифровые сертификаты, выданные американскими компаниями Comodo или Thawte (дочерняя компания Symantec).

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

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

Как устранить эти недостатки? Поскольку текущие проблемы PKI в основном вызваны централизацией, очевидно, что децентрализация может помочь устранить по крайней мере некоторые из них. Децентрализация

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

Вот как будут выглядеть получение, проверка и отзыв уведомлений в предлагаемом DPKI:

  1. Каждая организация, делающая запрос, самостоятельно подает заявку на уведомление, заполнив регистрационную форму, а затем составляет транзакцию, которая будут храниться в специализированном пуле.
  2. Информация об открытом ключе вместе с данными о владельце и другими метаданными хранится в распределенном реестре, а не в цифровом сертификате, который выдается центром сертификации в централизованной PKI.
  3. Затем объект, отправляющий запрос, аутентифицируется совместными усилиями сообщества пользователей DPKI, а не RC.
  4. Только владелец такого уведомления может изменить статус открытого ключа.
  5. Каждый может получить доступ к распределенному реестру и проверить текущий статус открытого ключа.

Примечание. На первый взгляд аутентификация объекта, отправляющего запрос, может показаться ненадежной. Однако важно помнить, что в настоящее время все пользователи цифровых услуг оставляют постоянно растущий цифровой след. К общедоступным инструментам относятся цифровые базы данных юридических лиц, карты, оцифрованные изображения местности, социальные сети и многое другое. Они уже успешно используются в расследованиях журналистов и правоохранительных органов. Один из типичных примеров — расследования Bellingcat и совместная группа JIT, которая расследует крушение малазийского самолета Boeing.
Итак, как на практике будет работать децентрализованная инфраструктура открытых ключей? Давайте углубимся в технологию, которую мы запатентовали в 2018 году, и рассмотрим наши лучшие ноу-хау.

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

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

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

Рисунок 3. Создание нулевой транзакции

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

Рисунок 4. Связывание и проверка транзакций

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

Рисунок 5. Проверка нулевой транзакции

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

Рисунок 6. Создание ненулевой транзакции

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

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

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

Для ясности, давайте уточним назначение этих ключей:

  1. Ключи электронного кошелька используются для генерации и / или проверки как нулевых, так и любых ненулевых транзакций. Закрытый ключ электронного кошелька известен только владельцу электронного кошелька, который также обладает набором обычных открытых ключей.
  2. Назначение обычного открытого ключа такое же, как у открытого ключа, для которого выдается сертификат в централизованной PKI.
  3. Пара открытый / закрытый ключ службы принадлежит DPKI. Для зарегистрированных объектов выдается закрытый ключ, который используется для создания DS всех ненулевых транзакций. Открытый ключ используется для проверки DS для транзакций перед добавлением их в реестр.

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

Примечание. Пара открытый / закрытый ключ службы может быть раскрыта различным объектам DPKI. В некоторых случаях пара может быть одинаковой для всех объектов. Вот почему для формирования подписи для каждой ненулевой транзакции требуются два закрытых ключа, один из которых является ключом электронного кошелька: этот ключ известен только владельцу электронного кошелька, который также обладает набором обычных открытых ключей. У всех этих ключей есть определенные цели.Например, мы всегда можем доказать, что данная транзакция была включена в реестр зарегистрированным объектом DPKI, поскольку подпись также была сформирована с использованием служебного закрытого ключа. Кроме того, это предотвращает любые DOS-атаки и другие мошеннические действия, поскольку владелец платит за каждую транзакцию.

Все транзакции, следующие за нулевой транзакцией, формируются аналогично: открытый ключ (от обычной пары ключей, а не ключа электронного кошелька, как для нулевых транзакций) обрабатывается с использованием двух хеш-функций: SHA256 и RIPEMD160.Так формируются данные в третьем поле. Четвертое поле содержит дополнительную информацию (например, информацию о текущем статусе, сроке действия, отметке времени, идентификаторах криптографических алгоритмов и т. Д.). Пятое поле содержит открытый ключ из пары открытый / закрытый ключ службы. Этот ключ реплицируется, поскольку он будет использоваться для проверки DS. Докажем, что такой подход необходим.

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

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

  1. Злоумышленник размещает свой открытый ключ в транзакции, сохраняя при этом DS владельца неизменным.
  2. Злоумышленник формирует новую DS, используя свой собственный закрытый ключ, сохраняя при этом открытый ключ владельца неизменным.
  3. Злоумышленник формирует новую DS, используя свой собственный закрытый ключ, и помещает соответствующий открытый ключ в транзакцию.

Очевидно, что варианты 1 и 2 бесполезны, так как проверка DS всегда обнаружит такую ​​подделку. Единственный вариант, который имеет смысл, — это вариант 3: если злоумышленник создает DS, используя свой собственный закрытый ключ, он вынужден сохранить соответствующий открытый ключ в транзакции, и этот ключ будет отличаться от открытого ключа владельца.Это единственный способ для злоумышленника использовать свои фальсифицированные данные.

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

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

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

Ненулевые транзакции проверяются с использованием двух открытых ключей: ключа электронного кошелька и служебного ключа. (Рисунок 7)

Рисунок 7. Проверка ненулевой транзакции

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

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

Предположим, что нам нужно проверить, действительно ли за транзакцией № 2 следует транзакция № 3 . Для этого мы можем использовать комбинированный метод хеширования для вычисления значений хеш-функции для данных в третьем, четвертом и пятом полях. Мы можем объединить данные из первого поля транзакции № 3 и ранее рассчитанного комбинированного значения хэш-функции для данных в третьем, четвертом и пятом полях транзакции транзакции № 2 .Затем все эти значения обрабатываются с помощью двух хеш-функций: SHA256 и RIPEMD160. Если результирующее значение совпадает с данными во втором поле транзакции № 2 , значит, проверка прошла успешно и соединение доказано. Более подробно это показано на рисунках ниже.

Рисунок 8, Рисунок 9. Проверка привязки, пример второй и третьей транзакций

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

Рисунок 10. Структура транзакции и обработка

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

Итак, поскольку объект, делающий запрос, отправляет запрос на регистрацию уведомлений, которые хранятся в реестре, а не в базе данных CA, основные архитектурные компоненты DPKI следующие:

  1. Реестр действительных уведомлений ( LVN)
  2. Журнал отозванных уведомлений (LWN)
  3. Журнал приостановленных уведомлений (LSN).

Информация об открытых ключах хранится в LVN / LWN / LSN как значения хэш-функции. Также обратите внимание, что это могут быть как разные реестры, так и разные цепочки, или даже одна цепочка как часть единого реестра, когда информация о статусе обычного открытого ключа (отзыв, приостановка и т. Д.) Добавляется в четвертое поле структура данных как соответствующее значение кода. Существует множество вариантов архитектурной реализации DPKI в зависимости от различных критериев оптимизации, таких как затраты на долгосрочное хранение открытых ключей в памяти и т. Д.

Таким образом, DPKI может иметь такую ​​же или даже меньшую архитектурную сложность по сравнению с централизованным решением.

Итак, главный вопрос: , какой реестр больше подходит для реализации этой технологии?

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

Мы в ENCRY попытались решить вышеуказанные проблемы и разработали реестр, который, по нашему мнению, имеет несколько важных преимуществ:

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

Проще говоря, необходимо выполнить следующие шаги:

  1. Лицо, отправляющее запрос, регистрируется в DPKI и получает электронный кошелек. Адрес электронного кошелька — это значение хеш-функции, применяемой к открытому ключу электронного кошелька. Закрытый ключ электронного кошелька известен только лицу, отправившему запрос
  2. После регистрации организация получает доступ к служебному закрытому ключу
  3. Субъект формирует нулевую транзакцию, а затем аутентифицирует свою DS с помощью закрытого ключа электронного кошелька
  4. При формировании ненулевой транзакции объект должен аутентифицировать свой DS с помощью двух закрытых ключей: ключа электронного кошелька и служебного ключа
  5. Организация отправляет транзакцию в пул
  6. Сетевой узел ENCRY считывает транзакцию из пула, а затем проверяет DS транзакции и возможность подключения.
  7. Если DS действителен и соединение доказано, то узел подготовит транзакцию для добавления в реестр.

Здесь реестр служит распределенной базой данных, в которой хранится информация о действительных, отозванных и приостановленных уведомлениях.

Конечно, децентрализация не является универсальным решением. Основная проблема с аутентификацией основного пользователя все еще сохраняется: в то время как объект, отправляющий запрос, в настоящее время проверяется CA, DPKI предлагает делегировать эту проверку членам сообщества и мотивировать их финансово. Технология проверки на основе открытых источников широко известна.Эффективность такой проверки доказана и на практике: несколько громких расследований, проведенных Bellingcat, являются хорошим тому примером.

Но в целом мы совершенно уверены, что DPKI способен устранить многие, если не все, недостатки централизованной PKI.

Не стесняйтесь подписаться на наш блог на Habr , где мы будем обсуждать наши дальнейшие исследования и разработки, и подписывайтесь на наш Twitter , чтобы быть в курсе новостей о проектах ENCRY.

.Шифрование

— gnupg: нет гарантии, что этот ключ принадлежит указанному пользователю

Переполнение стека

  1. Около
  2. Продукты

  3. Для команд
  1. Переполнение стека
    Общественные вопросы и ответы

  2. Переполнение стека для команд
    Где разработчики и технологи делятся частными знаниями с коллегами

  3. Вакансии
    Программирование и связанные с ним технические возможности карьерного роста

  4. Талант
    Нанимайте технических специалистов и создавайте свой бренд работодателя

  5. Реклама
    Обратитесь к разработчикам и технологам со всего мира

  6. О компании

.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

2021 © Все права защищены. Карта сайта