kuraga333
@kuraga333
Программист, аналитик

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

Я не сетевик и не безопасник, да и вопрос в чем-то риторический... Не пинайте.

Зачем вообще нужны протоколы "для шифрования" трафика на прикладном уровне? Почему не предусмотреть шифрование на уровне взаимодействия узлов и/или сеанса связи между узлами (сетевой уровень?)?

Я понимаю, что кроме непосредственно шифрования, у всех протоколов и другие задачи. Но, если для простоты взять только шифрование трафика, - то почему его не использовать на одном уровне, и все?

Возможно, я имею ввиду L2TP или IPSec, но не уверен до конца...

Спасибо.
  • Вопрос задан
  • 83 просмотра
Пригласить эксперта
Ответы на вопрос 5
Zoominger
@Zoominger Куратор тега Компьютерные сети
System Engineer
Ну, например, шифрование на уровне IP позволяет скрыть топологию сети тех, кто обменивается пакетами.
А шифрование только на 7-ом уровне этого не делает.
На канальном уровне, например, можно организовать шифрованный канал (пардон за тавтологию) и гонять через него всё, что хочешь. Никто ж не заставляет шифровать на всех-всех уровнях модели.
Ответ написан
@rPman
Шифрование есть почти на всех уровнях, это просто исторически так сложилось, ну и потому что от легаси невозможно избавиться резко, и главное - шифрование на разных уровнях решает немного разную задачу. Например wifi шифрует на канальном.

Самое 'правильное' шифрование - на самом верхнем уровне, например не решит задачу сокрытия того, какие именно сервисы работают, только что они делают.
Ответ написан
@Karpion
Во-первых, криптография изобретается в математике - а там нет уровней сетевой модели. На уровни сетевой модели криптография внедряется разработчиками.

Ну, для начала приведу такой пример:
  • PPTP и прочие VPN-протоколы с шифрованием - упихивают трафик в IP-пакеты. Это позволяет коннектиться в любую точку Интернета.
  • PPoE - упихивает трафик в Ethernet-кадры. Это значит, что протокол может работать не далее ближайшего роутера, на котором Ethernet-сегмент заканчивается. Зато мы имеет не такое сильное ужимание MTU.


Простейшая причина шифровать трафик на уровне приложения - в том, что приложение само реализует шифрование, не спрашивая операционку. Ибо непривилегированный юзер не имеет права внедрять свой код в ядро - а в программе можно реализовать без участия админа. Ну и вообще - в ядре надо иметь как можно меньше кода.
Ответ написан
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Потому, что кроме межуровневого взаимодействия, существует ещё и внутреуровневое (а иногда - даже и кросс-уровневое!).

Банально: Операционка (и/или рядом стоящий софт) может слить любой текст вводимый на любом сайте (и в любой программе!!!) с любой защитой своим создателям прежде, чем Вы решите: отправлять его на сайт или нет! ;)
Ответ написан
kuraga333
@kuraga333 Автор вопроса
Программист, аналитик
Спасибо большое! Мне вот тут еще хороший ответ дали:

Ценность шифрования в p2p. Где конечной точкой является конкретное приложение конкретного пользователя.

На компе одновременно работают Вася и Вова. Которые общаются в крыпточате с Верой и Викой соответственно, сидящих на разных компах. Шифрование должно быть от Васи до Веры и от Вовы до Вики.

Проще всего шифровать на уровне приложения end to end. А для передачи использовать обычную сеть.

Если создавать шифрование на сетевом уровне, то надо:
  1. Создавать два виртуальных крыпто-интерфейса на компе Вовы и Васи.
  2. Вешать на них IP.
  3. Добавлять маршруты
  4. Написать сетевой экран.

В реалиях, между оффисами используется двойное шифрование: шифрованный тунель и приложения свой трафик шифруют независимо.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы