Целостность открытого ключа SSH

Целостность открытого ключа SSH

Мое понимание (хотя и ограниченное) асимметричной криптографии с открытым ключом заключается в том, что открытый ключ предназначен для совместного использования всеми, в то время как закрытый ключ хранится в тайне.

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

Если да, означает ли это, что я должен делиться открытым ключом только с одной стороной - в данном случае с сервером - что противоречит моему пониманию того, для чего нужен открытый ключ? Могу ли я иметь разные пары ключей на своей локальной машине для разных приложений?

решение1

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

решение2

Есть триоченьРазличные действия, которые можно выполнить с помощью системы открытого ключа:

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

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

  3. Установить частный канал: это более сложный метод, наиболее распространенным являетсяПротокол обмена ключами Диффи-Хеллмана. Этот короткий обмен позволяет двум сторонам сгенерировать общий секрет, и даже если кто-то перехватил сообщения, он не получит этот общий секрет, если у него нет одного из закрытых ключей. Затем общий секрет используется для шифрования остальной части сообщений.

Я думаю, вы читали описания первых двух случаев, но ваш вопрос (иОтвет Майка Скотта) похоже, был где-то на третьем месте.

решение3

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

на одном компьютере может быть много разных пар ключей.

решение4

Единственное применение открытого ключа SSH — определение личности владельца соответствующего закрытого ключа. Единственное, что вы можете сделать с открытым ключом SSH — это определить, владеет ли сотрудничающий агент аутентификации соответствующим закрытым ключом.

Связанный контент