Сетевая безопасность - уровень приложений
Различные бизнес-услуги теперь предлагаются онлайн через клиент-серверные приложения. Самыми популярными формами являются веб-приложение и электронная почта. В обоих приложениях клиент связывается с назначенным сервером и получает услуги.
При использовании службы из любого серверного приложения клиент и сервер обмениваются большим объемом информации в основной интрасети или Интернете. Нам известно, что эти информационные транзакции уязвимы для различных атак.
Сетевая безопасность подразумевает защиту данных от атак во время их передачи по сети. Для достижения этой цели было разработано множество протоколов безопасности в реальном времени. Такой протокол должен обеспечивать по крайней мере следующие основные цели:
- Стороны могут вести переговоры в интерактивном режиме для аутентификации друг друга.
- Установите секретный сеансовый ключ перед обменом информацией по сети.
- Обмен информацией в зашифрованном виде.
Интересно, что эти протоколы работают на разных уровнях сетевой модели. Например, протокол S / MIME работает на прикладном уровне, протокол SSL разработан для работы на транспортном уровне, а протокол IPsec работает на сетевом уровне.
В этой главе мы обсудим различные процессы обеспечения безопасности для связи по электронной почте и соответствующие протоколы безопасности. Далее рассматривается метод защиты DNS. В следующих главах будут описаны протоколы обеспечения веб-безопасности.
Безопасность электронной почты
В настоящее время электронная почта стала очень широко используемым сетевым приложением. Давайте кратко обсудим инфраструктуру электронной почты, прежде чем приступить к изучению протоколов безопасности электронной почты.
Инфраструктура электронной почты
Самый простой способ отправить электронное письмо - это отправить сообщение прямо с машины отправителя на машину получателя. В этом случае важно, чтобы обе машины работали в сети одновременно. Однако такая настройка непрактична, поскольку пользователи могут иногда подключать свои машины к сети.
Таким образом, появилась концепция создания серверов электронной почты. В этой настройке почта отправляется на почтовый сервер, который постоянно доступен в сети. Когда аппарат получателя подключается к сети, он читает почту с почтового сервера.
В общем, инфраструктура электронной почты состоит из сети почтовых серверов, также называемых Message Transfer Agents (MTA) и клиентские машины, на которых запущена программа электронной почты, состоящая из User Agent (UA) и локального MTA.
Как правило, сообщение электронной почты пересылается из своего UA, проходит через сеть MTA и, наконец, достигает UA на машине получателя.
Протоколы, используемые для электронной почты, следующие:
Простой протокол передачи почты (SMTP), используемый для пересылки сообщений электронной почты.
Протокол почтового отделения (POP) и протокол доступа к сообщениям в Интернете (IMAP) используются для получения сообщений получателем с сервера.
MIME
Базовый стандарт электронной почты Интернета был написан в 1982 году и описывает формат сообщений электронной почты, которыми обмениваются в Интернете. Он в основном поддерживает сообщения электронной почты, написанные в виде текста на основном латинском алфавите.
К 1992 году возникла потребность улучшить то же самое. Следовательно, было определено дополнительное стандартное многоцелевое расширение почты Интернета (MIME). Это набор расширений к основному стандарту электронной почты в Интернете. MIME предоставляет возможность отправлять электронную почту с использованием символов, отличных от символов основного латинского алфавита, таких как кириллица (используется в русском языке), греческий алфавит или даже идеографические символы китайского языка.
Другая потребность, выполняемая MIME, - это отправка нетекстового содержимого, такого как изображения или видеоклипы. Благодаря этим особенностям стандарт MIME получил широкое распространение с SMTP для связи по электронной почте.
Службы безопасности электронной почты
Растущее использование электронной почты для важных и важных транзакций требует предоставления определенных основных услуг безопасности, таких как:
Confidentiality - Сообщение электронной почты не должно читаться никем, кроме предполагаемого получателя.
Authentication - Получатель электронного письма может быть уверен в личности отправителя.
Integrity - Уверенность получателя в том, что сообщение электронной почты не было изменено с момента его передачи отправителем.
Non-repudiation - Получатель электронной почты может доказать третьей стороне, что отправитель действительно отправил сообщение.
Proof of submission - Отправитель электронной почты получает подтверждение о том, что сообщение передано в систему доставки почты.
Proof of delivery - Отправитель получает подтверждение, что получатель получил сообщение.
Такие услуги безопасности, как конфиденциальность, аутентификация, целостность сообщений и неотказуемость, обычно предоставляются с использованием криптографии с открытым ключом.
Обычно существует три различных сценария общения по электронной почте. Мы обсудим методы достижения вышеуказанных услуг безопасности в этих сценариях.
Индивидуальное электронное письмо
В этом сценарии отправитель отправляет сообщение электронной почты только одному получателю. Обычно в коммуникации участвует не более двух 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 и извлекает хэш, полученный под подписью отправителя.
Затем получатель хеширует расшифрованное сообщение и сравнивает два значения хеш-функции. Если они совпадают, считается, что целостность сообщения достигнута.
Также получатель уверен, что сообщение отправлено отправителем (аутентификация). И наконец, отправитель не может отрицать, что он не отправлял сообщение (неотказуемость).
Электронная почта от одного к нескольким получателям
В этом сценарии отправитель отправляет сообщение электронной почты двум или более получателям. Список управляется программой электронной почты отправителя (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 .
Для обеспечения целостности сообщения, аутентификации и предотвращения отказа от авторства шаги, которые необходимо выполнить, аналогичны шагам, упомянутым выше в сценарии индивидуальной электронной почты.
Электронная почта для списка рассылки
В этом сценарии отправитель отправляет сообщение электронной почты двум или более получателям, но список получателей не управляется отправителем локально. Обычно почтовый сервер (MTA) поддерживает список рассылки.
Отправитель отправляет письмо MTA, управляющему списком рассылки, а затем MTA рассылает почту всем получателям в списке.
В этом случае, когда отправитель хочет отправить конфиденциальное электронное письмо получателям списка рассылки (скажем, R1, R2 и R3); конфиденциальность обеспечивается следующим образом -
Отправитель и все получатели имеют свою пару закрытых и открытых ключей. Сервер Exploder имеет пару закрытых и открытых ключей для каждого списка рассылки (List PUB , List PVT ), который он поддерживает.
Отправитель генерирует секретный симметричный ключ K s, а затем шифрует сообщение этим ключом.
Затем отправитель шифрует K S открытым ключом, связанным со списком, и получает List PUB (K S ).
Отправитель отправляет зашифрованное сообщение и список PUB (K S ). Взрыватель MTA расшифровывает Список PUB (K S ) с помощью списка PVT и получает K S .
Взрыватель шифрует K S с помощью такого количества открытых ключей, сколько членов находится в списке.
Exploder пересылает полученное зашифрованное сообщение и соответствующий зашифрованный K S всем получателям в списке. Например, Exploder пересылает зашифрованное сообщение и R1 PUB (K S ) получателю 1 и так далее.
Для обеспечения целостности сообщения, аутентификации и предотвращения отказа от авторства шаги, которые необходимо выполнить, аналогичны приведенным в случае сценария индивидуальной электронной почты.
Интересно, что программа электронной почты, использующая вышеуказанный метод защиты для защиты электронной почты, как ожидается, будет работать для всех возможных сценариев, описанных выше. Большинство из вышеперечисленных механизмов безопасности для электронной почты обеспечивается двумя популярными схемами: Pretty Good Privacy (PGP) и S / MIME. Мы обсуждаем оба в следующих разделах.
PGP
Pretty Good Privacy(PGP) - это схема шифрования электронной почты. Он стал де-факто стандартом предоставления услуг безопасности для общения по электронной почте.
Как обсуждалось выше, он использует криптографию с открытым ключом, криптографию с симметричным ключом, хэш-функцию и цифровую подпись. Он обеспечивает -
- Privacy
- Аутентификация отправителя
- Целостность сообщения
- Non-repudiation
Наряду с этими службами безопасности он также обеспечивает сжатие данных и поддержку управления ключами. PGP использует существующие криптографические алгоритмы, такие как RSA, IDEA, MD5 и т.д., а не изобретает новые.
Работа PGP
Рассчитывается хеш сообщения. (Алгоритм 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 расшифровывается как Secure Multipurpose Internet Mail Extension. 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 для распространения открытых ключей. Для поддержки сертификации требуется иерархическая иерархическая PKI сверху вниз.
Возможность использования S / MIME
Из-за требования сертификата от центра сертификации для реализации не все пользователи могут воспользоваться преимуществами S / MIME, так как некоторые могут захотеть зашифровать сообщение с помощью пары открытого / закрытого ключей. Например, без участия или административных накладных расходов на сертификаты.
На практике, хотя большинство приложений электронной почты реализуют S / MIME, процесс регистрации сертификатов сложен. Вместо этого для поддержки PGP обычно требуется добавление подключаемого модуля, и этот модуль поставляется со всем, что необходимо для управления ключами. Сеть доверия на самом деле не используется. Люди обмениваются своими открытыми ключами через другой носитель. После получения они хранят копии открытых ключей тех, с кем обычно обмениваются электронными письмами.
Уровень реализации в сетевой архитектуре для схем PGP и S / MIME показан на следующем изображении. Обе эти схемы обеспечивают безопасность на уровне приложений для электронной почты.
Одна из схем, PGP или S / MIME, используется в зависимости от среды. Безопасное общение по электронной почте во внутренней сети может быть обеспечено путем адаптации к PGP. S / MIME считается хорошим вариантом для обеспечения безопасности электронной почты через Интернет, когда почта обменивается с новыми неизвестными пользователями.
Безопасность DNS
В первой главе мы упоминали, что злоумышленник может использовать DNS Cache Poisoning для атаки на целевого пользователя. Domain Name System Security Extensions (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.
Определено 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» показан в следующей таблице.
Доменное имя | Время жить | Тип | Значение |
---|---|---|---|
tutorialspoint.com | 86400 | NS | dns.tutorialspoint.com |
dns.tutorialspoint.com | 86400 | А | 36..1.2.3 |
tutorialspoint.com | 86400 | КЛЮЧ | 3682793A7B73F731029CE2737D ... |
tutorialspoint.com | 86400 | SIG | 86947503A8B848F5272E53930C ... |
Запись 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, в котором используется криптография с открытым ключом.
В этой главе мы обсудили механизмы, используемые на уровне приложений для обеспечения сетевой безопасности для сквозной связи.