Различные бизнес-услуги теперь предлагаются онлайн через клиент-серверные приложения. Самые популярные формы — это веб-приложение и электронная почта. В обоих приложениях клиент связывается с назначенным сервером и получает услуги.
При использовании службы из любого серверного приложения клиент и сервер обмениваются большим количеством информации в базовой интрасети или Интернете. Мы знаем, что эти информационные транзакции уязвимы для различных атак.
Сетевая безопасность влечет за собой защиту данных от атак во время их передачи по сети. Для достижения этой цели было разработано много протоколов безопасности в реальном времени. Такой протокол должен обеспечивать, по крайней мере, следующие основные цели —
- Стороны могут вести переговоры в интерактивном режиме для установления подлинности друг друга.
- Установите секретный сеансовый ключ перед обменом информацией в сети.
- Обмен информацией в зашифрованном виде.
Интересно, что эти протоколы работают на разных уровнях сетевой модели. Например, протокол S / MIME работает на прикладном уровне, протокол SSL разработан для работы на транспортном уровне, а протокол IPsec работает на сетевом уровне.
В этой главе мы обсудим различные процессы обеспечения безопасности для обмена сообщениями по электронной почте и соответствующие протоколы безопасности. Способ защиты DNS рассматривается ниже. В последующих главах будут описаны протоколы для достижения веб-безопасности.
E-mail Security
В наше время электронная почта стала очень широко используемым сетевым приложением. Давайте кратко обсудим инфраструктуру электронной почты, прежде чем узнавать о протоколах безопасности электронной почты.
Инфраструктура электронной почты
Простейшим способом отправки электронной почты будет отправка сообщения непосредственно с компьютера отправителя на компьютер получателя. В этом случае важно, чтобы обе машины работали в сети одновременно. Однако такая настройка нецелесообразна, поскольку пользователи могут время от времени подключать свои машины к сети.
Отсюда и концепция настройки почтовых серверов. В этой настройке почта отправляется на почтовый сервер, который постоянно доступен в сети. Когда аппарат получателя подключается к сети, он читает почту с почтового сервера.
В целом, инфраструктура электронной почты состоит из сети почтовых серверов, также называемых агентами передачи сообщений (MTA) и клиентскими компьютерами, на которых запущена программа электронной почты, состоящая из агента пользователя (UA) и локального MTA.
Как правило, сообщение электронной почты пересылается с его UA, проходит через сетку MTA и, наконец, достигает UA на машине получателя.
Протоколы, используемые для электронной почты, следующие:
-
Простой протокол передачи почты (SMTP), используемый для пересылки сообщений электронной почты.
-
Почтовый протокол (POP) и протокол доступа к сообщениям в Интернете (IMAP) используются для получения сообщений получателем с сервера.
Простой протокол передачи почты (SMTP), используемый для пересылки сообщений электронной почты.
Почтовый протокол (POP) и протокол доступа к сообщениям в Интернете (IMAP) используются для получения сообщений получателем с сервера.
MIME
Базовый стандарт электронной почты в Интернете был написан в 1982 году и описывает формат сообщений электронной почты, которыми обмениваются в Интернете. Он в основном поддерживает сообщения электронной почты, написанные в виде текста в основном латинице.
К 1992 году возникла необходимость улучшить то же самое. Следовательно, был определен дополнительный стандартный Многоцелевой Интернет-Почта (MIME). Это набор расширений базового стандарта электронной почты Интернета. MIME предоставляет возможность отправлять электронную почту с использованием символов, отличных от символов основного латинского алфавита, таких как кириллический алфавит (используется на русском языке), греческий алфавит или даже идеографические символы китайского языка.
Еще одна потребность, выполняемая MIME, — отправка нетекстового содержимого, например изображений или видеоклипов. Благодаря этим функциям стандарт MIME получил широкое распространение благодаря SMTP для связи по электронной почте.
Служба безопасности электронной почты
Растущее использование связи по электронной почте для важных и важных транзакций требует предоставления определенных основных услуг безопасности, а именно:
-
Конфиденциальность — сообщение электронной почты не должно быть прочитано кем-либо, кроме предполагаемого получателя.
-
Аутентификация — получатель электронной почты может быть уверен в личности отправителя.
-
Целостность — гарантия для получателя, что сообщение электронной почты не было изменено с момента его отправки отправителем.
-
Безотказность — получатель электронной почты может доказать третьему лицу, что отправитель действительно отправил сообщение.
-
Подтверждение отправки — отправитель электронной почты получает подтверждение того, что сообщение передано в систему доставки почты.
-
Подтверждение доставки — отправитель получает подтверждение, что получатель получил сообщение.
Конфиденциальность — сообщение электронной почты не должно быть прочитано кем-либо, кроме предполагаемого получателя.
Аутентификация — получатель электронной почты может быть уверен в личности отправителя.
Целостность — гарантия для получателя, что сообщение электронной почты не было изменено с момента его отправки отправителем.
Безотказность — получатель электронной почты может доказать третьему лицу, что отправитель действительно отправил сообщение.
Подтверждение отправки — отправитель электронной почты получает подтверждение того, что сообщение передано в систему доставки почты.
Подтверждение доставки — отправитель получает подтверждение, что получатель получил сообщение.
Службы безопасности, такие как конфиденциальность, аутентификация, целостность сообщений и отказ от авторства, обычно предоставляются с использованием криптографии с открытым ключом.
Как правило, существует три разных сценария общения по электронной почте. Мы обсудим методы достижения вышеуказанных служб безопасности в этих сценариях.
Индивидуальная электронная почта
В этом случае отправитель отправляет сообщение электронной почты только одному получателю. Обычно в общении участвует не более двух MTA.
Предположим, отправитель хочет отправить конфиденциальное электронное письмо получателю. Обеспечение конфиденциальности в этом случае достигается следующим образом —
-
Отправитель и получатель имеют свои закрытые открытые ключи как (S PVT , S PUB ) и (R PVT , R PUB ) соответственно.
-
Отправитель генерирует секретный симметричный ключ K S для шифрования. Хотя отправитель мог использовать R PUB для шифрования, симметричный ключ используется для более быстрого шифрования и дешифрования.
-
Отправитель шифрует сообщение ключом K S, а также шифрует K S открытым ключом получателя R PUB .
-
Отправитель отправляет зашифрованное сообщение и зашифрованный K S получателю.
-
Получатель сначала получает K S , расшифровывая закодированный K S, используя свой закрытый ключ R PVT .
-
Затем получатель расшифровывает сообщение с использованием симметричного ключа K S.
Отправитель и получатель имеют свои закрытые открытые ключи как (S PVT , S PUB ) и (R PVT , R PUB ) соответственно.
Отправитель генерирует секретный симметричный ключ K S для шифрования. Хотя отправитель мог использовать R PUB для шифрования, симметричный ключ используется для более быстрого шифрования и дешифрования.
Отправитель шифрует сообщение ключом K S, а также шифрует K S открытым ключом получателя R PUB .
Отправитель отправляет зашифрованное сообщение и зашифрованный K S получателю.
Получатель сначала получает K S , расшифровывая закодированный K S, используя свой закрытый ключ R PVT .
Затем получатель расшифровывает сообщение с использованием симметричного ключа K S.
Если в этом сценарии также необходимы службы обеспечения целостности сообщений, аутентификации и отказа от авторства, к вышеуказанному процессу добавляются следующие шаги.
-
Отправитель создает хеш сообщения и подписывает его цифровой подписью своим секретным ключом S PVT .
-
Отправитель отправляет этот подписанный хэш получателю вместе с другими компонентами.
Отправитель создает хеш сообщения и подписывает его цифровой подписью своим секретным ключом S PVT .
Отправитель отправляет этот подписанный хэш получателю вместе с другими компонентами.
-
Получатель использует открытый ключ S PUB и извлекает хеш, полученный под подписью отправителя.
-
Затем получатель хеширует дешифрованное сообщение и сравнивает два значения хеша. Если они совпадают, целостность сообщения считается достигнутой.
-
Также получатель уверен, что сообщение отправлено отправителем (аутентификация). И, наконец, отправитель не может отрицать, что он не отправил сообщение (безотказность).
Получатель использует открытый ключ S PUB и извлекает хеш, полученный под подписью отправителя.
Затем получатель хеширует дешифрованное сообщение и сравнивает два значения хеша. Если они совпадают, целостность сообщения считается достигнутой.
Также получатель уверен, что сообщение отправлено отправителем (аутентификация). И, наконец, отправитель не может отрицать, что он не отправил сообщение (безотказность).
Электронная почта получателей от одного к нескольким
В этом случае отправитель отправляет сообщение электронной почты двум или более получателям. Список управляется программой электронной почты отправителя (UA + локальный MTA). Все получатели получают одно и то же сообщение.
Предположим, отправитель хочет отправить конфиденциальное электронное письмо многим получателям (скажем, R1, R2 и R3). Обеспечение конфиденциальности в этом случае достигается следующим образом —
-
Отправитель и все получатели имеют свою собственную пару закрытых-открытых ключей.
-
Отправитель генерирует секретный симметричный ключ K s и шифрует сообщение этим ключом.
-
Затем отправитель несколько раз шифрует K S с помощью открытых ключей R1, R2 и R3, получая R1 PUB (K S ), R2 PUB (K S ) и R3 PUB (K S ).
-
Отправитель отправляет зашифрованное сообщение и соответствующий зашифрованный K S получателю. Например, получатель 1 (R1) получает зашифрованное сообщение и R1 PUB (K S ).
-
Каждый получатель сначала извлекает ключ K S , расшифровывая закодированный K S, используя свой закрытый ключ.
-
Затем каждый получатель расшифровывает сообщение с использованием симметричного ключа K S.
Отправитель и все получатели имеют свою собственную пару закрытых-открытых ключей.
Отправитель генерирует секретный симметричный ключ K s и шифрует сообщение этим ключом.
Затем отправитель несколько раз шифрует K S с помощью открытых ключей R1, R2 и R3, получая R1 PUB (K S ), R2 PUB (K S ) и R3 PUB (K S ).
Отправитель отправляет зашифрованное сообщение и соответствующий зашифрованный K S получателю. Например, получатель 1 (R1) получает зашифрованное сообщение и R1 PUB (K S ).
Каждый получатель сначала извлекает ключ K S , расшифровывая закодированный K S, используя свой закрытый ключ.
Затем каждый получатель расшифровывает сообщение с использованием симметричного ключа K S.
Для обеспечения целостности сообщения, аутентификации и отсутствия отказа необходимо выполнить шаги, аналогичные шагам, упомянутым выше в сценарии «один на один» с электронной почтой.
Электронная почта списка рассылки
В этом случае отправитель отправляет сообщение электронной почты двум или более получателям, но список получателей не управляется отправителем локально. Как правило, почтовый сервер (MTA) поддерживает список рассылки.
Отправитель отправляет почту в MTA, управляющий списком рассылки, а затем MTA рассылает почту всем получателям в списке.
В этом случае, когда отправитель хочет отправить конфиденциальное электронное письмо получателям списка рассылки (скажем, R1, R2 и R3); конфиденциальность обеспечивается следующим образом —
-
Отправитель и все получатели имеют свою собственную пару закрытых-открытых ключей. Сервер Exploder имеет пару закрытых открытых ключей для каждого поддерживаемого им списка рассылки (List PUB , List PVT ).
-
Отправитель генерирует секретный симметричный ключ K s и затем шифрует сообщение этим ключом.
-
Затем отправитель шифрует K S с помощью открытого ключа, связанного со списком, получает список PUB (K S ).
-
Отправитель отправляет зашифрованное сообщение и список PUB (K S ). MTA анализатора расшифровывает Список PUB (K S ) с помощью Списка PVT и получает K S.
-
Взрыватель шифрует K S с таким количеством открытых ключей, сколько есть членов в списке.
-
Эксплорер пересылает полученное зашифрованное сообщение и соответствующие зашифрованные K S всем получателям в списке. Например, Exploder пересылает зашифрованное сообщение и R1 PUB (K S ) получателю 1 и так далее.
Отправитель и все получатели имеют свою собственную пару закрытых-открытых ключей. Сервер Exploder имеет пару закрытых открытых ключей для каждого поддерживаемого им списка рассылки (List PUB , List PVT ).
Отправитель генерирует секретный симметричный ключ K s и затем шифрует сообщение этим ключом.
Затем отправитель шифрует K S с помощью открытого ключа, связанного со списком, получает список PUB (K S ).
Отправитель отправляет зашифрованное сообщение и список PUB (K S ). MTA анализатора расшифровывает Список PUB (K S ) с помощью Списка PVT и получает K S.
Взрыватель шифрует K S с таким количеством открытых ключей, сколько есть членов в списке.
Эксплорер пересылает полученное зашифрованное сообщение и соответствующие зашифрованные K S всем получателям в списке. Например, Exploder пересылает зашифрованное сообщение и R1 PUB (K S ) получателю 1 и так далее.
Для обеспечения целостности сообщения, аутентификации и отказа от авторства шаги, которые необходимо выполнить, аналогичны приведенным в случае сценария «один на один» с электронной почтой.
Интересно, что программа электронной почты, использующая вышеуказанный метод защиты для защиты электронной почты, как ожидается, будет работать для всех возможных сценариев, рассмотренных выше. Большинство из вышеперечисленных механизмов безопасности для электронной почты обеспечиваются двумя популярными схемами — Pretty Good Privacy (PGP) и S / MIME. Мы обсудим оба в следующих разделах.
PGP
Pretty Good Privacy (PGP) — это схема шифрования электронной почты. Он стал стандартом де-факто для предоставления услуг безопасности для связи по электронной почте.
Как обсуждалось выше, он использует криптографию с открытым ключом, криптографию с симметричным ключом, хэш-функцию и цифровую подпись. Это обеспечивает —
- Конфиденциальность
- Аутентификация отправителя
- Целостность сообщения
- Неотрекаемость
Наряду с этими службами безопасности, он также обеспечивает сжатие данных и поддержку управления ключами. PGP использует существующие криптографические алгоритмы, такие как RSA, IDEA, MD5 и т. Д., А не изобретает новые.
Работа PGP
-
Хеш сообщения подсчитывается. (Алгоритм MD5)
-
Результирующий 128-битный хэш подписывается с использованием закрытого ключа отправителя (алгоритм RSA).
-
Цифровая подпись соединяется с сообщением, а результат сжимается.
-
Генерируется 128-битный симметричный ключ K S, который используется для шифрования сжатого сообщения с помощью IDEA.
-
K S шифруется с использованием открытого ключа получателя с использованием алгоритма RSA, и результат добавляется к зашифрованному сообщению.
Хеш сообщения подсчитывается. (Алгоритм MD5)
Результирующий 128-битный хэш подписывается с использованием закрытого ключа отправителя (алгоритм RSA).
Цифровая подпись соединяется с сообщением, а результат сжимается.
Генерируется 128-битный симметричный ключ K S, который используется для шифрования сжатого сообщения с помощью IDEA.
K S шифруется с использованием открытого ключа получателя с использованием алгоритма RSA, и результат добавляется к зашифрованному сообщению.
Формат сообщения PGP показан на следующей диаграмме. Идентификаторы указывают, какой ключ используется для шифрования KS и какой ключ должен использоваться для проверки подписи в хэше.
В схеме PGP сообщение подписывается и шифруется, а затем MIME кодируется перед передачей.
Сертификат PGP
Сертификат ключа PGP обычно устанавливается через цепочку доверия. Например, открытый ключ A подписан B, используя его открытый ключ, а открытый ключ B подписан C, используя его открытый ключ. По мере того как этот процесс продолжается, он создает сеть доверия.
В среде PGP любой пользователь может выступать в качестве удостоверяющего органа. Любой пользователь PGP может сертифицировать открытый ключ другого пользователя PGP. Однако такой сертификат действителен для другого пользователя только в том случае, если пользователь распознает сертификат в качестве доверенного представителя.
Существует несколько проблем с таким методом сертификации. Может быть трудно найти цепочку, ведущую от известного и доверенного открытого ключа к желаемому ключу. Кроме того, может быть несколько цепочек, которые могут привести к различным ключам для желаемого пользователя.
PGP также может использовать инфраструктуру PKI с центром сертификации, а открытые ключи могут быть сертифицированы CA (сертификат X.509).
S / MIME
S / MIME расшифровывается как Надежное Многоцелевое Расширение Почты Интернета. S / MIME — это безопасный стандарт электронной почты. Он основан на более раннем небезопасном стандарте электронной почты, который называется MIME.
Работа S / MIME
Подход S / MIME похож на PGP. Он также использует криптографию с открытым ключом, криптографию с симметричным ключом, хэш-функции и цифровые подписи. Он предоставляет услуги безопасности, аналогичные PGP, для связи по электронной почте.
Наиболее распространенные симметричные шифры, используемые в S / MIME, это RC2 и TripleDES. Обычный метод с открытым ключом — это RSA, а алгоритм хеширования — это SHA-1 или MD5.
S / MIME указывает дополнительный тип MIME, например «application / pkcs7-mime», для конвертации данных после шифрования. Весь объект MIME зашифрован и упакован в объект. S / MIME имеет стандартизированные форматы криптографических сообщений (отличные от PGP). Фактически, MIME дополнен некоторыми ключевыми словами для идентификации зашифрованных и / или подписанных частей в сообщении.
S / MIME использует сертификаты X.509 для распространения открытых ключей. Для поддержки сертификации требуется нисходящая иерархическая инфраструктура открытых ключей.
Возможность трудоустройства S / MIME
В связи с требованием сертификата от центра сертификации для реализации, не все пользователи могут использовать преимущества S / MIME, поскольку некоторые могут пожелать зашифровать сообщение с помощью пары открытого / секретного ключей. Например, без участия или административных накладных расходов на сертификаты.
На практике, хотя большинство почтовых приложений реализуют S / MIME, процесс регистрации сертификатов является сложным. Вместо этого поддержка PGP обычно требует добавления плагина, и этот плагин поставляется со всем, что необходимо для управления ключами. Сеть доверия на самом деле не используется. Люди обмениваются своими открытыми ключами через другую среду. После получения они хранят копии открытых ключей тех, с кем обычно обмениваются электронными письмами.
Уровень реализации в сетевой архитектуре для схем PGP и S / MIME показан на следующем рисунке. Обе эти схемы обеспечивают безопасность на уровне приложений для связи по электронной почте.
В зависимости от среды используется одна из схем — PGP или S / MIME. Безопасная связь по электронной почте в неволевой сети может быть обеспечена путем адаптации к PGP. Для обеспечения безопасности электронной почты через Интернет, где письма часто обмениваются с новыми неизвестными пользователями, S / MIME считается хорошим вариантом.
DNS Безопасность
В первой главе мы упоминали, что злоумышленник может использовать отравление DNS-кэша для атаки на целевого пользователя. Расширения безопасности системы доменных имен (DNSSEC) — это стандарт Интернета, который может предотвратить такие атаки.
Уязвимость стандартного DNS
В стандартной схеме DNS, когда пользователь хочет подключиться к какому-либо доменному имени, его компьютер связывается с DNS-сервером и ищет соответствующий IP-адрес для этого доменного имени. После получения IP-адреса компьютер подключается к этому IP-адресу.
В этой схеме процесс проверки вообще не задействован. Компьютер запрашивает у своего DNS-сервера адрес, связанный с веб-сайтом, DNS-сервер отвечает IP-адресом, и ваш компьютер, несомненно, принимает его как законный ответ и подключается к этому веб-сайту.
Поиск DNS на самом деле происходит в несколько этапов. Например, когда компьютер запрашивает «www.tutorialspoint.com», поиск DNS выполняется в несколько этапов:
-
Сначала компьютер запрашивает локальный DNS-сервер (предоставляется провайдером). Если у провайдера есть это имя в кеше, он отвечает иначе, перенаправляет запрос в «каталог корневой зоны», где он может найти «.com.» И ответы корневой зоны.
-
Основываясь на ответе, компьютер запрашивает каталог «.com», где он может найти «tutorialspoint.com».
-
На основании полученной информации компьютер запрашивает «tutorialspoint.com», где он может найти www. tutorialspoint.com.
Сначала компьютер запрашивает локальный DNS-сервер (предоставляется провайдером). Если у провайдера есть это имя в кеше, он отвечает иначе, перенаправляет запрос в «каталог корневой зоны», где он может найти «.com.» И ответы корневой зоны.
Основываясь на ответе, компьютер запрашивает каталог «.com», где он может найти «tutorialspoint.com».
На основании полученной информации компьютер запрашивает «tutorialspoint.com», где он может найти www. tutorialspoint.com.
Определено DNSSEC
Поиск DNS, когда выполняется с использованием DNSSEC, включает в себя подписание ответов отвечающим объектом. DNSSEC основан на криптографии с открытым ключом.
В стандарте DNSSEC каждая зона DNS имеет пару открытый / закрытый ключ. Вся информация, отправляемая DNS-сервером, подписывается закрытым ключом исходной зоны для обеспечения подлинности. DNS-клиенты должны знать открытые ключи зоны, чтобы проверить подписи. Клиенты могут быть предварительно настроены с открытыми ключами всех доменов верхнего уровня или корневым DNS.
С DNSSEC процесс поиска выглядит следующим образом:
-
Когда ваш компьютер отправляет запрос в корневую зону, где он может найти .com, ответ подписывается сервером корневой зоны.
-
Компьютер проверяет ключ подписи корневой зоны и подтверждает, что это подлинная корневая зона с достоверной информацией.
-
В ответе корневая зона предоставляет информацию о ключе подписи сервера зоны .com и его местонахождении, позволяя компьютеру связываться с каталогом .com и обеспечивая его законность.
-
Каталог .com затем предоставляет ключ подписи и информацию для tutorialspoint.com, позволяя ему связаться с google.com и убедиться, что вы подключены к реальному tutorialspoint.com, что подтверждается зонами над ним.
-
Отправляемая информация находится в форме набора записей ресурсов (RRSets). Пример RRSet для домена «tutorialspoint.com» на сервере «.com» верхнего уровня показан в следующей таблице.
Когда ваш компьютер отправляет запрос в корневую зону, где он может найти .com, ответ подписывается сервером корневой зоны.
Компьютер проверяет ключ подписи корневой зоны и подтверждает, что это подлинная корневая зона с достоверной информацией.
В ответе корневая зона предоставляет информацию о ключе подписи сервера зоны .com и его местонахождении, позволяя компьютеру связываться с каталогом .com и обеспечивая его законность.
Каталог .com затем предоставляет ключ подписи и информацию для tutorialspoint.com, позволяя ему связаться с google.com и убедиться, что вы подключены к реальному tutorialspoint.com, что подтверждается зонами над ним.
Отправляемая информация находится в форме набора записей ресурсов (RRSets). Пример RRSet для домена «tutorialspoint.com» на сервере «.com» верхнего уровня показан в следующей таблице.
Доменное имя | Время жить | Тип | Значение |
---|---|---|---|
tutorialspoint.com | 86400 | NS | dns.tutorialspoint.com |
dns.tutorialspoint.com | 86400 | 36..1.2.3 | |
tutorialspoint.com | 86400 | KEY | 3682793A7B73F731029CE2737D … |
tutorialspoint.com | 86400 | SIG | 86947503A8B848F5272E53930C … |
-
Запись KEY является открытым ключом «tutorialspoint.com».
-
Запись SIG — это подписанный хэш-сервер верхнего уровня .com записей полей NS, A и KEY для проверки их подлинности. Его значение — Kcom pvt (H (NS, A, KEY)).
Запись KEY является открытым ключом «tutorialspoint.com».
Запись SIG — это подписанный хэш-сервер верхнего уровня .com записей полей NS, A и KEY для проверки их подлинности. Его значение — Kcom pvt (H (NS, A, KEY)).
Таким образом, считается, что, когда DNSSEC полностью развернут, компьютер пользователя может подтвердить, что ответы DNS являются законными и правдивыми, и избежать DNS-атак, запускаемых из-за заражения кэша DNS.
Резюме
Процесс защиты электронной почты обеспечивает сквозную безопасность связи. Он предоставляет услуги безопасности конфиденциальности, аутентификации отправителя, целостности сообщений и отказа от авторства.
Для обеспечения безопасности электронной почты были разработаны две схемы: PGP и S / MIME. Обе эти схемы используют криптографию с секретным ключом и открытым ключом.
Стандартный поиск DNS уязвим для атак, таких как спуфинг DNS / отравление кэша. Защита поиска DNS возможна благодаря использованию DNSSEC, в котором используется криптография с открытым ключом.
В этой главе мы обсудили механизмы, используемые на уровне приложений для обеспечения безопасности сети для сквозного взаимодействия.