Криптозащита и безопасные коммуникации
Асимметричное шифрование
Асимметричное шифрование, или шифрование с помощью публичного ключа, основано на использовании пары ключей: закрытого (частного) и открытого (публичного).
Послание можно зашифровать и частным, и публичным ключом, а расшифровать только вторым ключом из пары. То есть послание, зашифрованное частным ключом, можно расшифровать только публичным, и наоборот. Частный ключ известен только владельцу и его нельзя никому передавать, в то время как публичный ключ распространяется открыто и известен всем корреспондентам.
Пару ключей - частный и публичный - можно использовать как для решения задач аутентификации, так и для обеспечения секретности (конфиденциальности).
Согласно первой схеме (рис. 10.4), пользователь А заранее отсылает публичный ключ своим корреспондентам В и С, а затем отправляет им сообщение, зашифрованное его частным ключом.
Рис. 10.4. Сообщение мог послать только А (лишь он обладает частным ключом), т.е. проблема аутентификации решена. Но, например, B не уверен, что письмо не прочитал также С. Таким образом, конфиденциальность не обеспечена
Схема, обеспечивающая секретность (конфиденциальность), представлена на рис. 10.5.
Рис. 10.5. Сообщение может прочесть только А, так как лишь он обладает частным ключом, раскрывающим сообщение, то есть проблема конфиденциальности решена. Но А не может быть уверен, что сообщение не прислал С, выдающий себя за В. Таким образом, аутентификация не обеспечивается
Таким образом, для того чтобы обеспечить конфиденциальный обмен сообщениями в переписке двух лиц, необходимо иметь две пары ключей.
При шифровании с помощью ключевой пары (рис. 10.5) у А нет необходимости рассылать свой публичный ключ всем корреспондентам. Гораздо удобнее выложить этот ключ в Сети на некоем сервере с открытым доступом. Тогда каждый может скачать данный ключ и послать А секретное сообщение, которое, кроме него, никто не прочтет.
Шифрование с симметричным и асимметричным ключом
Следует отметить, что алгоритм асимметричного шифрования сильно проигрывает симметричным с точки зрения времени шифрования и расшифровки данных, поэтому многие современные системы шифрования используют комбинацию асимметричной и традиционной симметричной систем шифрования. Шифрование с открытым ключом используется для передачи симметричного ключа, который служит непосредственно для шифрования передаваемой информации. Для того чтобы понять логику работы данной схемы, обратимся к рис. 10.6.
Вначале А шифрует исходный файл с помощью симметричного (секретного) ключа (пункт 1). Затем (пункт 2) А получает из открытых источников публичный ключ, принадлежащий В, и с помощью этого ключа зашифровывает свой симметричный ключ. Далее (пункт 3) оба объекта (зашифрованный файл и зашифрованный симметричный ключ) отсылаются на адрес В посредством Интернета.
В получает оба объекта (пункт 4). Симметричный ключ расшифровывается частным ключом, принадлежащим В (пункт 5) и, наконец, с помощью расшифрованного симметричного ключа расшифровывается исходный файл (пункт 6).
Когда кто-то получает от вас сообщение, зашифрованное вашим частным ключом, он уверен в аутентичности послания. То есть в данном случае шифрование эквивалентно поставленной подписи.
Таким образом, цифровая подпись или электронная подпись - это метод аутентификации отправителя или автора подписи, подтверждающий, что содержание документа не было изменено. Цифровая подпись может быть поставлена как в зашифрованном, так и в открытом послании.