dm451
18-08-2010, 18:46
Здравствуйте, объясните, пожалуйста, один нюанс.
Есть клиент и сервер. Требуется наладить связь через ssh посредством метода открытого шифрования.
Для этого:
1) Клиент создает открытый и приватный ключ (/.ssh/private_key), например, с помощью генерации.
2) Клиент отправляет общедоступный ключ на сервер (/.ssh/authorized_keys).
3) Когда на сервер от клиента приходит запрос на аутентификацию, sshd запрашивает публичный ключ. Если полученный ключ совпадает с хранящимся в файле значением для этой системы, сервер генерирует случайную последовательность из 256 бит, шифрует ее публичным ключом и посылает клиенту.
4) Клиент расшифровывает посылку своим личным ключом, вычисляет 128-битовую контрольную сумму и возвращают ее серверу.
5) Сервер сравнивает полученную последовательность с правильной контрольной суммой и принимает аутентификацию в случае совпадения.
Правилен ли алгоритм?
Если да, то не ясен последний пункт. Откуда сервер знает правильную контрольную сумму для проверки расшифрованной последовательности?
Спасибо!
Есть клиент и сервер. Требуется наладить связь через ssh посредством метода открытого шифрования.
Для этого:
1) Клиент создает открытый и приватный ключ (/.ssh/private_key), например, с помощью генерации.
2) Клиент отправляет общедоступный ключ на сервер (/.ssh/authorized_keys).
3) Когда на сервер от клиента приходит запрос на аутентификацию, sshd запрашивает публичный ключ. Если полученный ключ совпадает с хранящимся в файле значением для этой системы, сервер генерирует случайную последовательность из 256 бит, шифрует ее публичным ключом и посылает клиенту.
4) Клиент расшифровывает посылку своим личным ключом, вычисляет 128-битовую контрольную сумму и возвращают ее серверу.
5) Сервер сравнивает полученную последовательность с правильной контрольной суммой и принимает аутентификацию в случае совпадения.
Правилен ли алгоритм?
Если да, то не ясен последний пункт. Откуда сервер знает правильную контрольную сумму для проверки расшифрованной последовательности?
Спасибо!