Vraag Waarom zijn CA-stamcertificaten allemaal ondertekend door SHA-1 (aangezien SHA-1 is verouderd)?


Ik begrijp dat SSL-certificaten niet meer kunnen worden ondertekend met SHA-1. Toch zijn alle CA-basiscertificaten SHA-1 (meestal) ondertekend. Betekent dit dat hetzelfde algoritme dat niet langer wordt vertrouwd voor 'je oma SSL-winkel' prima is voor het allerbeste, bovenste beveiligde certificaat van de wereld?

Mis ik iets? (sleutelgebruik? sleutelgrootte?)


65
2018-03-13 15:09


oorsprong


Het is niet waar dat "alle" CA-rootcertificaten SHA1 zijn. - Greg Askew
Rootcertificaten zijn net startende aannames in een wereldbeeld. Er is geloof voor nodig om hen te vertrouwen. - Roy Tinker
@RoyTinker behalve voor cogito ergo sum (Zie radicale twijfel, en het is een antwoord: Cartesisch scepticisme)? - Nick T
Cross-stack: security.stackexchange.com/questions/120301/... en superuser.com/questions/1122069/... - dave_thompson_085
@NickT: veilig spelen - cogito ergo cogito ;-) - tonysdg


antwoorden:


De handtekening van de root-CA-certificaten doet er niet toe, omdat het niet nodig is om ze te verifiëren. Ze zijn allemaal zelfondertekend.

Als u een basiscertificaat vertrouwt, hoeft u de handtekening niet te verifiëren. Als je het niet vertrouwt, is de handtekening waardeloos voor jou.

Bewerken: er zijn enkele zeer relevante opmerkingen hieronder. Ik voel me niet op mijn gemak om ze te kopiëren of te herformatteren en de eer op te nemen in plaats van hun auteurs. Maar ik verwelkom mensen om uitleg toe te voegen aan dit antwoord.


105
2018-03-13 15:16



Brengt de vraag waarom ze überhaupt zijn ondertekend - Richard Tingle
Omdat het systeem geen certificaten ondersteunt die niet zijn ondertekend. - OrangeDog
Het lijkt mij dat de zorg met een crackable root cert niet is "je weet niet waar je de root cert vandaan hebt", maar eerder "je weet niet wie anders in staat was om deze cert te kraken en te gebruiken om te tekenen wat ze willen. " En het lijkt uit uw antwoord dat de twee (cert en cert-signing) afzonderlijke problemen zijn, en dat het certificaat zelf op geschikte wijze veilig en niet-afsplitsbaar is? - Dewi Morgan
Ik zou zelfs verder gaan dan "het is niet nodig om ze te verifiëren". Het doel van de handtekening in een certificaatketen is dat een hogere autoriteit een lagere autoriteit certificeert. Voor een root-CA is er geen hogere autoriteit per definitie (dat is wat "root" betekent), dus daar is niemand die het certificaat zou kunnen ondertekenen. Omdat, zoals gezegd, certificaten moet worden ondertekend, root CA's worden ondertekend met een "dummy" handtekening, en de eenvoudigste manier om dat te doen, is zelf ondertekenen. Dus, niet alleen is er geen noodzaak om te verifiëren, de zeer idee van het verifiëren van de handtekening van een root-CA is niet sensibel. - Jörg W Mittag
@DewiMorgan Je kunt een root cert niet "kraken" met een hash-botsing, omdat de client de. Vertrouwt cert zelf, niet de (zelf) handtekening. U zou de private sleutel moeten herstellen, wat een aanval op RSA is, en niet op het hash-algoritme. - zwol


Aan het einde van de dag is een rootcertificaat door de gebruiker ondertekend. Het is nooit ondertekend door een andere entiteit behalve zijzelf. Het rootcertificaat krijgt vertrouwen via out-of-band-processen, zoals het indienen bij een browserslijst van vertrouwde uitgevers, of het door Microsoft laten accepteren voor invoegen in de standaardlijst van vertrouwde Windows-uitgevers.

Deze certificaten (en de bedrijven die ze zelf hebben ondertekend) worden (naar verluidt, hopelijk) grondig doorgelicht op andere manieren dan alleen hun handtekeningen.


45
2018-03-13 15:17



Om nog maar te zwijgen, het bijwerken van een rootcertificaat vereist opnieuw het doorlopen van dat out-of-band-proces. - Kaithar
+1 voor de 'naar verluidt, hopelijk' - Nathan Osman


Het enige geval waarin dit van belang is, is dat als de root is ondertekend door SHA-1, deze kan worden ingetrokken door SHA-1. Dat wil zeggen, iemand die kan aanvallen SHA-1 kan een intrekking voor de root construeren. En ik weet absoluut zeker dat de browser niet weet hoe hij dat moet volhouden dus heeft de vandaal niet meer bereikt dan het laten vallen van SSL-verbindingen. Hoe zwak.


7
2018-03-13 18:39



Dit is een interessante gedachte, maar ik betwijfel of dit op deze manier zou werken. Mijn gok is dat elke agent zijn eigen unieke gedrag zou hebben, maar ik betwijfel of ontwikkelaars het idee hadden dat de intrekkingslijst zou worden gebruikt voor het beheer van de intrekking van root-certificaten. Op zijn minst, als dit in sommige gevallen zou werken, zou dit te wijten zijn aan abstractie van software-intrekking en niet opzettelijk door ontwikkelaars. - Peter Oehlert


Als een opmerking over deze, SOMMIGE CA's hebben hun root- en intermediate certificaten al naar SHA256 geüpdatet.

Ik weet dat vorig jaar GlobalSign hun certificaten bijwerkte terwijl we onze codes voor ondertekening van de code bijwerkten, dus ik moest ook hun nieuwe ketting toevoegen.

U kunt controleren welke specifieke certificaten zijn bijgewerkt en welke ze hebben bijgewerkt, maar ook een oud SHA1-certificaat hebben achtergelaten voor hier => 1

Ik hoop dat het helpt.


1
2018-03-15 00:52





Voor root-CA geeft u uw vertrouwen op de openbare sleutel van de CA-gebundeld in de CRT - ongeacht de ondertekening.

CA beschrijven met behulp van de .CRT-bestandsindeling in plaats van een onbewerkte openbare sleutel. PEM maakt het mogelijk om meer details erin te bundelen - bijv. CA-naam - (wederom is de handtekening waardeloos)


0
2018-03-16 19:30