Ho alcune domande su come viene eseguita la funzione di impronta digitale. Prima di tutto, ho una certa conoscenza della crittografia. Tuttavia, sembra non essere abbastanza buono da comprendere centinaia di pagine con informazioni vaghe o incomplete.
Domande:
-
Sto cercando di sapere come confrontare l'impronta digitale visualizzata quando Firefox avverte di un certificato autofirmato, mostrando l'impronta digitale in MD5 e SHA1.
Lo sto facendo perché, nonostante quanto possano sembrare belli e corti, le impronte digitali non sono davvero utili in tutto se si ha il certificato autofirmato (tutta la stringa) e non l'impronta digitale. Quindi, come puoi sapere che tale impronta digitale mostrata da Firefox è quella che corrisponde alla vera impronta digitale del tuo certificato autofirmato?
Per quanto ho capito, il file .crt ha il certificato (mostrato in base64).
Se, ad esempio, I
Export
theEquifax Secure CA
da Certificate Manager di Firefox, ed eseguo questo comando:$ openssl dgst -sha1 BuiltinObjectToken-EquifaxSecureCA.crt SHA1(BuiltinObjectToken-EquifaxSecureCA.crt)=**e05110ddb9bcb9e47818ea6e955cc6ba78ec6627** $ openssl dgst -md5 BuiltinObjectToken-EquifaxSecureCA.crt MD5(BuiltinObjectToken-EquifaxSecureCA.crt)=**54b6604a82d90ebdb9a8a3c544bb77f1**
... vengono visualizzate le due impronte digitali (SHA1 e MD5).
Tuttavia, quando dallo stesso cliente di Firefox seleziono tale certificato e clicco su "Visualizza", ciò che il Gestore certificati di Firefox mostra le altre due impronte digitali:
sha1: D2:32:09:AD:23:D3:14:23:21:74:E4:0D:7F:9D:62:13:97:86:63:3A md5: 67:CB:9D:C0:13:24:8A:82:9B:B2:17:1E:D1:1B:EC:D4
Perchésonocosìdiversi?
Forsequestadomandacispingeràadaprireunaltropost.Intalcaso,aprivounnuovopostconcosì.
Sehocapitobene,ilcertificatoèlachiavepubblicafirmatadaqualcuno(inquestocasodamestesso,einaltricasidesideratidaun'autoritàdicertificazione)eaggiungendoaltridatifunzionaliepertinenti(comenomedidominio,email-indirizzo,ecc.).
Ilcertificatovieneinviatodalserveralclient(eccettoicertificatiautofirmatipreinstallatisulsitodelcliente,principalmentedaunasortadiautoritàdicertificazionedailivellipiùaltidellagerarchia).
Quindi,lamiadomanda.L'improntadigitalevienemostrataquandouncertificatovienescaricatodallatoclientdalserver:questaimprontadigitaleèildigestdellachiavepubblicaoildigestdelcertificatostesso?
LaconfigurazionedialcuniserverperconsentireSecureConnexions(quellichelavoranosuSSL:https,ftps,smtps,ecc...),includealcunedirettiveallaconfigurazioneSSLpermostrarealserverqualifiledeveutilizzare.
Adesempio,ilserverHTTPSApache2potrebbeincluderequestetredirettive:
SSLCertificateFile-digitalcertificate(eg.your_domain_name.crt).SSLCertificateKeyFile-privatekey(eg.your_domain_name.key).SSLCertificateChainFile-intermediate(eg.DigiCertCA.crt),[ORSSLCACertificateFile]
Perconoscerel'improntadigitalecheFirefoxmostreràquandol'utenteaccedeaquestoserver,suqualifiledevoapplicareicomandimostratialladomanda1eottenereleimprontedigitalida?alfilespecificatoinSSLCertificateFileoinunaltrofilechehasololachiavepubblicaenonèinclusoqui?
Frequentandoladomandadicuisopra.Sonol'amministratorediquelserverHTTPSconuncertificatoautofirmatoevoglioinstallaresulmiobrowserWebilcertificato,evitandocosìalmiobrowserdiscaricarlo(e,asuavolta,evitandoqualsiasiattaccoMain-In-The-Middle-qualcunochemidàunaltrocertificatoautofirmato),qualefiledevo"importare" nel mio browser web? È l'ultimo file generato dal server o è direttamente il file specificato nella direttiva SSLCertificateFile?
NOTA: ti sto chiedendo questa ultima domanda, perché nella direttiva SSLCertificateFile , ad esempio, puoi specificare un file .pem , invece di un file .crt . E il file .pem, come ho verificato nel mio server Web, potrebbe contenere anche la chiave privata (qualcosa da non inviare al browser Web). Ciò che, in effetti, ci mostra che applicando l'impronta digitale al file .pem , il risultato sarebbe diverso da quello mostrato dal browser Web quando avvisa di un certificato autofirmato.
Grazie a tutti voi !! e mi dispiace per la lunga domanda, ma ho trovato molte pagine che parlano delle stesse informazioni, infinite volte e nessuno ha nulla a riguardo.
Ritengo che questa sia una cosa strana, dal momento che migliaia di amministratori utilizzano strumenti crittografici e c'è un punto importante di cui non discutono: le impronte digitali. Al momento, credo che quando vedono l'avviso di un certificato autofirmato, accettano semplicemente l'eccezione senza controllare nulla. E penso di sì, perché non ci sono informazioni che parlano di questo specifico argomento su Internet (credo - importante, se non di più)