53

Итак, сценарий таков: учитывая, что я Боб, я хочу зашифровать какое-то сообщение для Алисы. Единственный открытый ключ, который у меня есть, это ее ssh-rsa id_rsa.pub:

SSH-RSA AAAAB3NzaC1yc2EAAAABIwAAAQEAyb+qaZLwgC7KAQJzYikf3XtOWuhlMXVv2mbTKa5dp0sHPRd2RaYnH8ZRkt7V8bjqct1IHGCuxI8xyoEp4at3FHe6j9RfWiarc1ldLUCmTtryI0GGpRs6Zpvqdtpcq/1NCIYtUQAvsImyEFCtqmB2suDo1ZSllZQ0x9TCKHdCANYIOeaniuFzR57POgE3vxk/r6PO24oy8BIWqxvi29r0n1LUigVBJ7CmMHuzb4/+i1v6PxV1Lqnj6osPP9GpXpsh8kLUCby/KcmcryWNdSP0esyCdDxkA5hlIuk8qL1vzsyPluUQuc0BEHu6nuw8WQlCF1mFFxcpJL+MhWEr01WIIw == sikachu@Sikachus-Notebook.local

Итак, есть ли способ зашифровать строку с помощью этого открытого ключа, чтобы она могла использовать свой закрытый ключ от id_rsa (сгенерированный из ssh-keygen) для расшифровки сообщения?

(Я знаю, что это возможно сразу, если вы используете файл пары ключей .pem . Если вы можете показать мне, как преобразовать это в формат, который поддерживает openssl , это было бы также здорово!)

Спасибо!

3 ответа3

66

Возможно преобразовать ваш открытый ключ ssh в формат PEM (который может прочитать «openssl rsautl»):

Пример:

ssh-keygen -f ~/.ssh/id_rsa.pub -e -m PKCS8 > id_rsa.pem.pub

Предполагая, что «myMessage.txt» - это ваше сообщение, которое должно быть зашифровано открытым ключом.

Затем просто зашифруйте ваше сообщение с помощью openssl rsautl и вашего преобразованного открытого ключа PEM, как вы это обычно делаете:

openssl rsautl -encrypt -pubin -inkey id_rsa.pem.pub -ssl -in myMessage.txt -out myEncryptedMessage.txt

Результатом является ваше зашифрованное сообщение в myEncryptedMessage.txt.

Чтобы проверить свою работу по расшифровке секретного ключа Алисы:

openssl rsautl -decrypt -inkey ~/.ssh/id_rsa -in myEncryptedMessage.txt -out myDecryptedMessage.txt
1

Попробуйте ssh-vault: он использует открытые ключи ssh-rsa для шифрования "создать хранилище" и закрытый ключ ssh-rsa для расшифровки "просмотра содержимого хранилища"

-3

Почему бы не сделать это супер очевидным способом, который не требует использования собственного крипто.

Алиса sftps to alice@bobserver.com, которая настроена так, чтобы разрешить только аутентификацию с открытым ключом для учетной записи Алиса. Свойства ssh прекрасно гарантируют, что только Алиса может аутентифицировать. Даже человек в середине атаки терпит неудачу, поскольку (при условии, что вы отключили ssh1 и настаиваете на правильных настройках), первоначальное общение с использованием DH создает значение, известное как Алисе, так и Бобу, но не любому человеку в середине, и это можно использовать для аутентификации что ни ответ, ни MITM-атака не могут увидеть содержимое сообщения.

Так что Алиса sftp в вашу коробку и скачать файл.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .