До сих пор я не изучал безопасную связь, и у меня есть некоторые основные вопросы. Предположим, что есть браузер (клиент) и сервер. Из того, что я понял, сервер имеет как открытый, так и закрытый ключ. Открытый ключ известен каждому, а закрытый ключ - только сервером. Поэтому, когда клиент отправляет сообщение серверу, он зашифровывается открытым ключом сервера, и только сервер может его расшифровать (поскольку только сервер имеет закрытый ключ).Безопасные основы связи
Теперь на мой вопрос: что произойдет, когда сервер хочет отправить сообщение клиенту? Сервер шифрует сообщение своим личным ключом, а клиент расшифровывает его с помощью открытого ключа (он известен всем). Все идет нормально. Но если кто-то нюхает трафик, он также может расшифровать сообщение, потому что все знают открытый ключ. Как это безопасно? Я уверен, что я не понимаю, что-то на самом деле основной здесь :(
Заранее спасибо
С наилучшими пожеланиями, Петар
Как это не по теме? – 2010-11-30 13:22:52
Это сайт программирования Q & A, а не сайт Q & A протокола. Некоторые будут рассматривать ваш вопрос вне темы, другие - нет. – 2010-11-30 21:41:43
Я бы рекомендовал прочитать [RFC 2246 (TLS 1.0)] (http://www.rfc-editor.org/rfc/rfc2246.txt). Для упрощения целей вы можете игнорировать все, что не относится к шифрам RSA или DHE_RSA. Сначала прочитайте раздел 7.3 и получите копию этой первой диаграммы, обозначенной цифрой 1, когда вы читаете оставшуюся часть. – 2010-11-30 21:48:42