- Does Google's decision mean that it would be prudent for me to also delete or disable the root CA from my machine?
Non lo so. Symantec non è di grande aiuto. In teoria dovrebbe non fare male, ma qualcosa sembra essere rotto nei client .
Inoltre: i venditori non sembrano essere d'accordo su questo.
Ho creato uno script veloce e analizzato quattro negozi di fiducia (Apple, Java, Microsoft, Mozilla) che lo strumento di test SSL di ssilze viene fornito con:
$ grep -rl 'Issuer: C=US, O=VeriSign, Inc., OU=Class 3 Public Primary Certification Authority$' | xargs -- grep -A2 -- 'Serial Number'
apple.truststore/108.cer.txt: Serial Number:
apple.truststore/108.cer.txt- 70:ba:e4:1d:10:d9:29:34:b6:38:ca:7b:03:cc:ba:bf
apple.truststore/108.cer.txt- Signature Algorithm: md2WithRSAEncryption
--
apple.truststore/164.cer.txt: Serial Number:
apple.truststore/164.cer.txt- 3c:91:31:cb:1f:f6:d0:1b:0e:9a:b8:d0:44:bf:12:be
apple.truststore/164.cer.txt- Signature Algorithm: sha1WithRSAEncryption
--
java.truststore/143.cer.txt: Serial Number:
java.truststore/143.cer.txt- 3c:91:31:cb:1f:f6:d0:1b:0e:9a:b8:d0:44:bf:12:be
java.truststore/143.cer.txt- Signature Algorithm: sha1WithRSAEncryption
--
java.truststore/61.cer.txt: Serial Number:
java.truststore/61.cer.txt- 70:ba:e4:1d:10:d9:29:34:b6:38:ca:7b:03:cc:ba:bf
java.truststore/61.cer.txt- Signature Algorithm: md2WithRSAEncryption
--
microsoft.truststore/15.cer.txt: Serial Number:
microsoft.truststore/15.cer.txt- 70:ba:e4:1d:10:d9:29:34:b6:38:ca:7b:03:cc:ba:bf
microsoft.truststore/15.cer.txt- Signature Algorithm: md2WithRSAEncryption
Quindi: (se i negozi sslyze sono aggiornati) Apple ha entrambi, Java ha entrambi, Microsoft ne ha uno. Mozilla non ne ha nessuno.
Sidenote: sslyze viene fornito anche con un trust store "Google", l'ho saltato perché non so cosa sia. (Forse per i telefoni Android?) Per prima cosa, Chrome non utilizza il proprio negozio di fiducia. Si affida al negozio di fiducia del sistema operativo. E questa potrebbe essere la radice del problema qui. Non possono semplicemente rimuovere una CA, ma devono revocarla esplicitamente. - Mozilla Firefox è più facile da questo punto di vista, dal momento che gestisce il proprio negozio di fiducia.
- Or might Microsoft Windows have some automated process that would also stop trusting the same certificate (in for example IE)?
Sì. Hanno un meccanismo di aggiornamento automatico della CA . E regolarmente apportano modifiche. Ad esempio hanno annunciato l'intenzione di rimuovere circa 20 CA solo oggi.
- Also, instead of deleting the root CA, I could go to it's properties and maybe update it with "Disable all purposes for this certificate". Would there be any benefits from choosing this option instead?
Assolutamente. O quello o spostando il certificato nell'archivio Untrusted Certificates
. Altrimenti verrà semplicemente aggiunto nuovamente dal processo automatizzato.
Aggiornamento 2015-12-30W. Oh caro, oh caro, oh caro.
Ryan Sleevi ha creato un altro post sul blog. Questa volta in privato e non come un portavoce di Google e ha queste (scoraggianti) parole da dire al riguardo:
December 2015: With only one week’s notice, Symantec requests that a root certificate trusted on billions of devices be revoked, so that Symantec will no longer be obligated to abide by the Baseline Requirements for that root. Without this notice, Symantec’s use of their root in this manner would have been in violation of their agreements with root programs, putting at risk every other root certificate they operate and every single customer of theirs. Yet, even with this notice, it will likely take years to reduce the number of users and devices at risk from certificates issued by Symantec from this root to a something quantified in the tens of millions.
Passi per esplodere il pacchetto apple.pem
Ho eseguito questi comandi per suddividere il pacchetto PEM in singoli file PEM:
[~] $ wc apple.pem
4903 5279 303714 apple.pem
[~] $ mkdir apple.truststore
[~] $ cd apple.truststore/
[~/apple.truststore] $ awk 'split_after==1{++n;split_after=0} /-----END CERTIFICATE-----/ {split_after=1} {print > "cert" n ".cer"}' < ../apple.pem
[~/apple.truststore] $ for RAWCERTFILE in *.cer; do openssl x509 -in $RAWCERTFILE -text 2>&1 > $RAWCERTFILE.txt; done