Re[11]: Вопрос про TLS 1.2 (https)
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 10.12.24 09:55
Оценка:
Здравствуйте, TailWind, Вы писали:

N>>signed_params передаётся подписанным. А чем именно оно подписано?

N>>Как раз публичным ключом, который указан в конечном сертификате.

TW>Вот, теперь почти правильно


TW>Приватным ключом, который не указан в конечном сертификате, а не публичным


TW>Если бы публичным мог бы каждый подписать


Я чуть поспешил и скомкал фразу. Приватным ключом, таким, что соответствующий ему публичный указан в сертификате. По-моему, это очевидно, но если вы хотите уточнения, вот вам оно.

TW>А проверяют уже публичным


Ну тогда я в упор не понимаю, где вы видите проблему, если сами сразу же об этом сказали. И повторю то, что уже говорил:

1) Клиенту уже передали на этот момент (RFC5246 строки 1970-1971, если совсем уточнять), как себя идентифицирует сервер — цепочкой сертификатов. Там указан публичный ключ, который подписан этой цепочкой.

2) Клиент расшифровывает (подтверждает подпись в этом digitally-signed struct, если совсем точно) ключ в сообщении ServerKeyExchange, пользуясь этим публичным ключом. Так как никто больше кроме сервера не знает приватный ключ и не может соответственно подписать, то присылка ключа является в этом сообщении аутентичной.

3) С помощью DH KEX вырабатывается общий ключ (master secret в терминах RFC), на основании знаний, которые есть у обеих сторон, но отсутствуют (и не могут быть вычислены) MitM.

Так в чём проблема-то?
The God is real, unless declared integer.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.