1) Канал - это безопасный канал связи, который вы получаете, когда устанавливаете SSH-туннель между доверенными компьютерами. Сеть - это физическая сеть машин (компьютеров, маршрутизаторов, коммутаторов), передающих данные. Данные разбиваются на пакеты, которые отправляются по сети к машине назначения.
Вы можете представить канал как виртуальный канал, защищенный шифрованием.
Все, что проходит через этот виртуальный канал, транспортируется в виде зашифрованных пакетов с использованием базовой сети.
2) В большинстве случаев вы не можете доверять сети, потому что у вас нет полного контроля над всеми машинами.
Если кто-то контролирует машину, передающую (пересылающую) ваши пакеты, он может читать или изменять их.
Для защиты от таких атак вы используете шифрование, например, SSH. Шифрование означает изменение открытого текста таким образом, что вы можете получить его обратно, только если у вас есть ключ.
Чтобы получить безопасный канал через незащищенную сеть, вам нужно сделать 2 вещи:
- Убедитесь, что вы разговариваете с нужной машиной / человеком.
- Установить безопасный (зашифрованный) канал, используя ключ, который никто не знает (общий секрет)
Для достижения этих целей SSH использует криптографию с открытым ключом на обоих концах.
Чтобы убедиться, что вы разговариваете с нужным устройством (1.), вы должны проверить отпечаток пальца.
После этого оба конца согласовывают общий секретный ключ, используемый для шифрования данных.
Для этого обычно используется Диффи-Хеллман .
Поскольку вы убедились, что разговариваете с правильным партнером по общению, и вы надежно обменяли общий секретный ключ для симметричного шифрования данных, никто больше не сможет изменить или прочитать ваше общение. У вас есть безопасный канал через небезопасную сеть.