Управление услугами и проектами в IT
Поиск
Авторизация
smLogic.ru > Шифрование и цифровые подписи

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

Криптогра́фия (от др.-греч. κρυπτός — скрытый и γράφω — пишу) — наука о методах обеспечения конфиденциальности (невозможности прочтения информации посторонним) и аутентичности (целостности и подлинности авторства, а также невозможности отказа от авторства) информации.

wikipedia

Алгоритмы шифрования делятся на симметричные (с секретным, единым ключом, одноключевые) и асимметричные (с открытым ключом).

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

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

В асимметричных алгоритмах шифрования (или криптографии с открытым ключом) используются два ключа – открытый ключ (public key) и секретный ключ (secret key или private key), сгенерированные таким образом, что их последовательное применение к некоторому информационному объекту оставляет этот объект без изменений.

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

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

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

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

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

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

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

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

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

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

Цифровой сертификат состоит из трёх компонентов:

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