Уникальный бизнес-коммуникатор с поддержкой IP телефонии
Всё об IP телефонии: оборудование, справочные данные, статьи, терминология
Rambler's Top100

IP телефония - статьи и информация по IP телефонии

Статья:

БЕЗОПАСНОСТЬ IP-ТЕЛЕФОНИИ

Глава:

Методы криптографической защиты информации

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

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

  • симметричное шифрование;
  • асимметричное шифрование;
  • односторонние хэш-функции.

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

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

В настоящее время широко используются алгоритмы секретных ключей типа Data Encryption Standard (DES), 3DES (или «тройной DES») и International Data Encryption Algorithm (IDEA). Эти алгоритмы шифруют сообщения блоками по 64 бита. Если объем сообщения превышает 64 бита (как это обычно и бывает), необходимо разбить его на блоки по 64 бита в каждом, а затем каким-то образом свести их воедино. Такое объединение, как правило, происходит одним из следующих четырех методов: электронной кодовой книги (ЕСВ), цепочки зашифрованных блоков (СВС), х-битовой зашифрованной обратной связи (CFB-x) или выходной обратной связи (OFB).

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

Метод секретных ключей имеет следующие недостатки:

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

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

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

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

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

Среди наиболее известных алгоритмов общих ключей можно назвать RSA и ElGamal.

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

Хэш-функция принимает сообщение любой длины и выдает на выходе хэш фиксированной длины. Обычные хэш-функции включают:

  • алгоритм Message Digest 4 (MD4);
  • алгоритм Message Digest 5 (MD5);
  • алгоритм безопасного хэша (Secure Hash Algorithm — SHA).

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

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

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

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

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

На практике часто используют совместно шифрование и цифровые сертификаты. Например, маршрутизатор и межсетевой экран имеют по одной паре общих/частных ключей (рис. 8.1). Предположим, что эмитирующей организации (СА) удалось получить сертификаты X.509 для маршрутизатора и межсетевого экрана по защищенным каналам. Далее предположим, что маршрутизатор и межсетевой экран тоже получили копии общего ключа СА по защищенным каналам. Теперь, если на маршрутизаторе имеется трафик, предназначенный для межсетевого экрана, и если маршрутизатор хочет обеспечить аутентификацию и конфиденциальность данных, необходимо предпринять следующие шаги.

  1. Маршрутизатор отправляет в эмитирующую организацию СА запрос на получение общего ключа межсетевого экрана.
  2. СА отправляет ему сертификат межсетевого экрана, зашифрованный частным ключом СА.
  3. Маршрутизатор расшифровывает сертификат общим ключом СА и получает общий ключ межсетевого экрана.
  4. Межсетевой экран направляет СА запрос на получение общего ключа маршрутизатора.
  5. СА отправляет ему сертификат маршрутизатора, зашифрованный частным ключом СА.
  6. Межсетевой экран расшифровывает сертификат общим ключом СА и получает общий ключ маршрутизатора.
  7. Маршрутизатор и межсетевой экран используют алгоритм Диффи-Хеллмана и шифрование с помощью общих ключей для аутентификации.
  8. С помощью секретного ключа, полученного в результате использования алгоритма Диффи-Хеллмана, маршрутизатор и межсетевой экран проводят обмен конфиденциальными данными.

Безопасная связь с использованием шифрования

Рис. 1. Структурная схема организации телефонной связи через сеть Интернет с использованием шлюзов