Привет, дорогой читатель!
Зарегистрируйтесь и получите доступ к бесплатному контенту. А также будьте в курсе нового учебного контента. Ссылка на учебную платформу:
Если материал полезен, то есть способ отблагодарить меня. Любая сумма будет отличной наградой и стимулом писать полезный контент для Вас.
Прежде чем приоткрыть завесу того, что из себя представляет ассиметричная криптография следует немного коснуться самой истории криптографии.
Криптография - основа целостности хранения и передачи данных. Именно она обеспечивает права владения и защищает активы пользователей. Активы могут быть разными, но основную ценность на данный момент составляют: сведения составляющие государственную тайну, коммерческая тайна (персональные данные, финансовые активы) и прочее.
На текущий момент криптография - ядро цифрового мира. Без криптографии сложно себе представить как бы мы совершали банковские транзакции. О системах электронного документооборота не было бы и речи! Ну а моднейшая технология блокчейн не имела бы никакого смысла.
История криптографии уходит корнями в глубь тысячелетий. Даже 5 тысяч лет назад, во времена Вавилона, люди ломали голову о том как обеспечить сохранность тайны. В первую очередь дело касалось военных тайн. В эпоху отсутствия в мире систем коллективной безопасности более слабые в военном отношении государства становились добычей агрессивных соседей. Единственным шансом для маленьких было примкнуть к большим и сильным. Для формирования коалиций, союзов и управления военными силами (объединёнными силами) требовалось обмениваться информацией, содержащей как намерения так и управленческие решения, приказы. Очевидно, что подобная информация имела чрезвычайную важность и попадание в руки противника приводила к фатальным последствиям: проигрышу в войне, массовым потерям и прочим неблагоприятным последствиям. В самом начале, когда не существовало даже базовых принципов сокрытия информации, информация передавалась через специальных людей (гонцов или шпионов). Вы наверное видели неоднократно в фильмах подобных персонажей!? Однако риск того, что такого человека перехватят или подкупят и враги узнают тайну был максимально высок. Естественно эти риски обязательным образом учитывались и информацию старались завуалировать самыми разнообразными способами - кто во что горазд!
Когда стали появляться первые примитивные шифры и информацию стало возможным зашифровать, то появилась новая проблема - нужно было каким-то образом согласовать способ шифрования/дешифрования и распространить ключ. Что, в свою очередь, влекло за собой риск, что эта информация может быть перехвачена (перекуплена) и впоследствии использована для чтения посланий. И самое главное отправитель и получатель такой информации были не в состоянии узнать о факте вскрытия тайны (компрометации) ключа.
Принцип, при котором сообщения шифруются и дешифруются одним и тем же ключом, которым владеют обе обменивающиеся информацией стороны, называется симметричной криптографией. Именно этот принцип и использовался почти все время существования человеческой цивилизации - от глубокой древности до 70-х годов прошлого века.
Немного про этапы эволюцию криптографии
Как и у любой другой области человеческих знаний, у криптографии была своя эволюция.
В самом начале использовалась подстановка одних букв вместо других - так называемые подстановочные шифры. К примеру, римский полководец Гай Юлий Цезарь кодировал послания своим генералам методом сдвига букв на три позиции в латинском алфавите. Подобные шифры называют еще моноалфавитными. Следующим этапом эволюции были полиалфавитные шифры - циклическое применение к исходному сообщению нескольких моноалфавитных шифров. Этот метод сохранял свою актуальность почти 1000 лет, до начала 20-го столетия, когда в обиход вошли электромеханические устройства для шифрования сообщений. Самой известной реализацией подобного способа криптографии является немецкая роторная шифровальная машина "Энигма", шифры которой считались нескрываемыми.
С современной точки зрения шифр "Энигмы" выглядит криптографически слабым. Тем не менее во времена Второй мировой войны эта шифровальная машина сумела доставить изрядные хлопоты противникам Германии. Однако пытливые умы в Англии во главе с талантливым математиком и криптографом Аланом Тьюрингом сумели снизить криптостойкость, а затем и вовсе взломать шифра "Энигмы". Дело в том, что в зашифрованных текстах немецких военных очень часто встречались повторяющиеся фразы - одной из таковых оказалось нацистское приветствие. Данный факт привел к заметному сужению диапазона перебора вариантов. Далее, с помощью нескольких сот криптоаналитических машин, построенных Аланом и его командой удалось вскрыть множество тайн фашистов. Считается, что именно это событие существенно повлияло на поражение Германии, а дата окончания войны, как полагают некоторые специалисты, приблизилась не менее чем на год.
К началу второй половины 20-го столетия стало очевидно, что возможностей симметричной криптографии явно не достаточно для решения современных задач. С появлением компьютеров и экспоненциальным ростом вычислительных мощностей взлом даже самых сложных симметричных шифров переставал быть серьезной проблемой. В результате мир постепенно, но верно стал двигаться в сторону математической криптографии. Результатом этого перехода стала настоящая революция, которая выражалась в появлении принципиально нового раздела криптографии. Речь шла о криптографии ассиметричной, или, как ее еще называют, криптографии с открытым ключем.
Новая эра криптографии
В 1976 г. Мартин Хеллман и Уитфилд Диффи предложили на тот момент революционную концепцию криптографии с открытым ключом которая в последствии легла в основу алгоритма "Диффи - Хеллмана" (Diffie - Helman) основанного на дискретном возведении в степень. Основная идея заключалась в методе, при котором, помимо одного секретного ключа (secret / private key), формируется также и второй - открытый (open / public key) , математически связанный с секретным ключом. При этом процесс восстановления секретного ключа из открытого представляет собой математическую задачу исключительной сложности. Конечный результат этой идеи воплотился в возможность распространять секретный ключ по открытым каналам, не рискуя при этом раскрыть его третьим лицам. Для этого сторонам необходимо обменяться между собой открытыми ключами с добавлением вспомогательной расчетной информацией. Затем при помощи математических операций, восстановить общий секретный ключ на стороне получателя. Алгоритм "Диффи - Хеллмана", по имени его создателей открыл новую эру в криптографии, в которой начали появляться и развиваться криптостойкие алгоритмы шифрования.
И так как же работает шифрование с открытым ключом (ассиметричное шифрование)?
"Все гениальное просто" - Йозеф Геббельс
Принцип шифрования с открытым ключом достаточно прост - каждый пользователь генерирует себе секретный ключ, пусть даже и случайным образом. Далее при помощи математических операций, зависящих от конкретного алгоритма шифрования, он получает из этого секретного ключа второй ключ, имеющий статус открытого. Владелец публичного ключа может распространять его любым образом: поместить на сайте, в почтовом сообщении и т.д. Раскрывать публичный ключ необходимо - он понадобится тому кто захочет отправить зашифрованное сообщение владельцу этого ключа. Суть в том, что расшифровать зашифрованное открытым ключом сообщение можно только при помощи соответствующего ему секретного ключа и никак иначе. Подобная схема несравненно удобнее, чем симметричная форма криптографии, при которой необходимо определить способ передачи общего секретного ключа. К примеру в нашей стране, для распространения секретных ключей симметричных шифров необходимо обратиться к услугам ФГУП "Спецсвязь России. Главный Центр Специальной Связи" (вооруженные дяди на бронированных микроавтобусах, имеющие максимальный допуск к разного рода тайнам).
Чувствую у вас тут возникает логичный вопрос: "А почему тогда не отказаться от симметричного шифрования и всех этих неудобств с распространением шифров?"
Отвечаю: "Симметричные системы шифрования продолжают использоваться в наше время. Дело в том, что симметричные алгоритмы обладают высокой скоростью шифрования и расшифрования. В системах где скорость - определяющий параметр, а стороны имеют возможность организовать безопасный обмен (распределение) секретных ключей, применение симметричного шифрования может оказаться вполне оправданным и эффективным". К примеру когда я служил в подразделениях связи МО РФ, то как раз там в основном используется симметричное шифрование. Почему? Ну в основном потому, что гостайну можно обрабатывать и передавать только при помощи сертифицированных криптографических средств в основе которых используются отечественные алгоритмы шифрования + есть возможность безопасно распространять шифры + скорость + простота.
На данный момент у нас в стране в качестве стандарта используется технология, описанная в ГОСТе 28147-89 «Системы обработки информации. Защита криптографическая. Алгоритм криптографического преобразования». Как видно из названия, этот ГОСТ был принят в 1989 году и с тех пор не изменялся. Нужно учитывать, что алгоритм, описанный в ГОСТе 28147-89, создавался с достаточно большим «запасом прочности». По этому параметру он на порядок превосходил американский DES, который сначала заменили на тройной DES (то есть одну и ту же информацию «прогоняли» три раза), а потом на AES. Таким образом, и на сегодняшний день криптостойкость российского стандарта вполне удовлетворяет всем современным требованиям. Вторая причина большого распространения ГОСТа 28147-89 - наше законодательство. Так, например, государственные организации и многие коммерческие структуры обязаны использовать для защиты данных сертифицированные средства защиты. Однако получение сертификата возможно только в том случае, если «в указанных криптосредствах реализованы криптографические алгоритмы, объявленные государственными или отраслевыми стандартами Российской Федерации». Таким образом, у многих компаний просто-напросто нет выбора. Однако, как мы уже говорили, ГОСТ 28147-89 удовлетворяет всем современным требованиям, а поэтому вряд ли кто-то будет расстраиваться из-за необходимости его использования.
Очень часто при передачи данных в сети интернет применяется комбинация алгоритмов ассиметричной и симметричной криптографии. В частности, при установлении соединения используется передача общего секрета при помощи алгоритма "Диффи - Хеллмана", а затем этот общий секрет используется обеими сторонами как ключ для шифрования и дешифрования пакетов данных симметричными алгоритмами.
Общий принцип обмена информацией между пользователями.
Сталкиваясь с ассиметричным шифрованием, для простоты восприятия, я использую следующие ассоциации:
секретный ключ (private key) - словно обычный ключ от навесного замка:
публичный ключ (public key) - словно навесной замок с автоматическим запиранием:
Представьте себе такую гипотетическую историю: Вы изготовили себе навесной замок (public key) с автоматическим запиранием и один подходящий для него ключ (private key). И ваш оппонент сделал тоже самое. Затем вы обменялись навесными замками (public keys) и условились, что конфиденциальные посылки будете передавать друг другу используя эти замки (public key).
Ну и вооружившись теорией и полезными ассоциациями получается такая картина:
Надеюсь было интересно и что-то да отложится. Напоминаю, что данная статья - одна из серии статей подводок к теме ЭЦП. На предыдущем шаге мы базово затронули минимально необходимую теорию про хеширование. Если не читали, то вот ссылка: Хеширование информации
В следующей статье будет немного конкретики о методах ассиметричного шифрования и непосредственно опишу, что из себя представляет ЭЦП.
Если понравилось - ставьте лайки, делитесь с друзьями, коллегами в соцсетях. Все это придает смысл моему альтруизму :)
До скорого!