La crittografia della chiave privata di OpenSSH è vulnerabile?
La protezione di una chiave privata con una passphrase deve essere eseguita con attenzione, come di solito accade nelle criptografie. Generalmente l'approccio consiste nel crittografare la chiave privata con un algoritmo simmetrico utilizzando una chiave derivata dalla passphrase tramite una funzione di derivazione della chiave. Un classico esempio di funzione di derivazione della chiave adatta è PBKDF2 da RFC 2898 - PKCS # 5: Cryptography Specification Password 2.0 Version .
Secondo la presentazione di scrypt , di Colin Percival "OpenSSH utilizza MD5 come funzione di derivazione chiave per
passphrase sui file chiave ". Dal contesto sembra che stia dicendo che non usano sali o iterazioni, il che è spaventoso considerando la forza bruta veloce in questi giorni. Ci sono alcuni formati diversi che OpenSSH usa per memorizzare chiavi private, quindi mi piacerebbe conoscere altri dettagli e esattamente quali versioni sono interessate, ma sembra molto diverso da PBKDF2 o l'altro tecniche iterate e salate che esistono dal 1978 .
Vedo un riferimento che afferma che PGP e GPG utilizzano tecniche di iterazione / allungamento quando proteggono una chiave privata memorizzata in un file, ma ancora non conoscono ancora i dettagli.