Qual è la migliore crittografia password & amp; libreria di decrittazione da utilizzare con Perl? [chiuso]
-
19-08-2019 - |
Domanda
Sto scrivendo uno script perl che manipola i file zip protetti da password. Di conseguenza, devo archiviare & amp; recuperare le password per farlo. Ho tre opzioni per memorizzare la password:
- Memorizza in testo semplice. Prima di entrare, ho praticamente escluso questa opzione.
- Utilizza un semplice munger password per impedire l'accesso casuale / accidentale (anche da parte dei DBA)
- Utilizzare una libreria di crittografia / decrittografia appropriata, come Blowfish o AES.
Qualunque cosa scelga deve essere eseguita in Perl, sotto Windows ed essere facile da usare.
Qualche suggerimento?
Soluzione
Esistono alcuni pacchetti di crittografia Perl eseguiti su Windows, è possibile scaricare i PPM con il gestore pacchetti ActivePerl.
Puoi anche usare la versione Perl pura di quei moduli (cerca il nome che termina in _PP).
Ho trovato questi moduli su CPAN:
Altri suggerimenti
Il problema principale con l'approccio 3 è che, dove memorizzi la chiave del file che contiene le password? Potresti usare Base64 per l'approccio 2 ma è molto facile "decifrare".
Non ci dovrebbero essere domande qui. È necessario utilizzare uno schema di crittografia sufficientemente potente. Ti vengono affidati dati sensibili e devi fare tutto il possibile per proteggerli.
Se si utilizza Windows, è possibile sfruttare DPAPI per crittografare AESkey e memorizzarlo nel registro. Perl ha moduli per interagire con le librerie Win32.
La migliore crittografia è soggettiva, tuttavia AES 128 è sufficientemente potente da gennaio 2009 per crittografare i tuoi dati.
Anche i migliori schemi di crittografia possono essere sconfitti se l'utente non capisce completamente cosa sta facendo.
Ovviamente, hai ragione # 1 è fuori.
E anche il n. 2 è uscito per lo stesso motivo. Non è sicuro.
Per quanto riguarda il n. 3, potrei suggerire che anche questo è fuori. La decrittografia della password la porta in uno stato più vulnerabile per il confronto. MA, se hai intenzione di farlo, posso suggerire di usare Crypt :: CBC WITH Crypt :: Blowfish per Cipher Block Chaining .
[consigliato] # 4: anziché archiviare le password per il recupero, la decrittografia, quindi il confronto come nel n. 3. Usa Authen :: Passphrase abbastanza modulo Perl completo e flessibile che consente di confrontare una password inserita senza decodificare / decodificare l'originale. Vedi anche Come può Criptare e decrittografare le password in un programma Perl CGI?