Как работает парольная фраза закрытого ключа RSA под капотом?


закрытые ключи RSA могут быть назначены "парольной фразой", которая, как я понимаю, предназначена для обеспечения некоторой вторичной безопасности в случае, если кто - то уходит с файлом закрытого ключа.

Как реализуется уровень безопасности парольной фразы?

3 55

3 ответа:

ssh-keygen использует OpenSSL для генерации ключей RSA и хранения их в формате PEM. Шифрование, о котором вы говорите, специфично для PEM. Если вы посмотрите на свой ключевой файл,

-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,5B01E932988DC66B

EPESt4ZVIrxnQXxxWWVa7cCR+vgNZ/4vTu4mdq6pjaW7jMZoB8HV+mA745mQkQw7
i+YtdVs/JqOeyGiw/3McxYYKZTlhyh7MvfIr1n8ZdZmcjQz+oFqMxChFU3r8BGgA

заголовок"DEK-Info" содержит всю информацию, необходимую для расшифровки ключа, если вы знаете парольную фразу. "DES-EDE3-CBC" означает тройной DES (в режиме EDE). CBC-это режим цепочки. Шестнадцатеричное число-это начальный вектор, необходимый для CBC.

PEM-это очень старый формат, поэтому он поддерживает только DES / TripleDES. AES и Blowfish были добавлены позже, но не поддерживаются всеми реализациями. Мой ssh (OpenSSH 5.2) поддерживает только DES и TripleDES.

парольная фраза-Это просто ключ, используемый для шифрования файла, содержащего ключ RSA, с использованием симметричного шифра (обычно DES или 3DES). Чтобы использовать ключ для шифрования с открытым ключом, сначала необходимо расшифровать его файл с помощью ключа дешифрования. ssh делает это автоматически, запрашивая у вас пароль.

Если кто-то получил доступ к файлу ключа, они не смогут использовать его, если они не знают пароль, используемый для шифрования файла.

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

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