ssh аутентификация концептуальный вопрос - PullRequest
0 голосов
/ 26 сентября 2011

Везде, где я читаю, говорится, что аутентификация с помощью пары ключей ssh ​​более безопасна, чем простая аутентификация по паролю, потому что отправка подписи на сервер всегда отличается. Поэтому, если кто-то получит мою подпись, он не сможет использовать ее в следующий раз для входа в систему от моего имени.

Теперь мой вопрос, как эта подпись уникальна?

Отправляет ли сервер сначала случайную строку, на которую мой компьютер подписывает ее своим закрытым ключом, и отправляет ее обратно. Потому что это единственный способ видеть подпись уникальной каждый раз. Но везде в сети говорят, что клиент отправляет подпись FIRST (так как это первый шаг), но я думаю, что сервер должен сначала отправить случайную строку !!

Ответы [ 2 ]

0 голосов
/ 26 сентября 2011

Для аутентификации по ключу ваш закрытый ключ никогда не раскрывается серверу (и, следовательно, не злоумышленнику), а только вашему открытому ключу. Аналогично, закрытый ключ сервера никогда не раскрывается вам (или злоумышленнику), только открытый ключ.

Диффи-Хеллмана используется для получения двух пар ключей (по одной для каждой стороны), которые затем используются для отправки данных приложения туда и обратно, независимо от того, выполняется ли аутентификация с использованием простого пароля или с использованием аутентификации с открытым ключом .

В случае аутентификации по паролю пары сеансовых ключей рассчитываются до отправки пользователя / пароля по проводам. Это предотвращает простое прослушивание, но, конечно же, не мешает злоумышленникам пытаться соединиться и угадать комбинацию пользователь / пароль напрямую. И, конечно же, многие пользователи выбирают плохие пароли .

В случае аутентификации с открытым ключом , вычисляются пары ключей сеанса, затем простой разговор (обычно математический вопрос / ответ) выполняется с использованием RSA или аналогичного алгоритма. чтобы убедиться, что заявленный пользователь соответствует открытому ключу. Этот разговор нельзя подделать, не угадав один из секретных ключей. Если все сделано правильно, сделать это гораздо сложнее, чем даже для самых надежных паролей. Даже если в аутентификации с открытым ключом есть слабость, например, в генераторе случайных чисел 1018 *, полученная в результате слабая аутентификация с открытым ключом может быть намного сильнее, чем при аутентификации по паролю.

0 голосов
/ 26 сентября 2011

Я не эксперт по безопасности, но вот мое понимание того, как работает аутентификация на основе ключей: сервер отправляет случайное число, зашифрованное с использованием вашего личного ключа.Клиент расшифровывает запрос и отправляет его обратно на сервер, проверяя, что он владеет закрытым ключом.

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

Так что, похоже, это не причина, по которой открытый ключ- аутентификация на основе будет «более безопасной».

...