Jeg er lidt forvirret over forskellene mellem Signature Algorithm
, Signature Hash Algorithm
og Thumbprint Algorithm
, der findes i SSL / TLS-certifikater. Kan nogen uddybe?
Jeg er lidt forvirret over forskellene mellem Signature Algorithm
, Signature Hash Algorithm
og Thumbprint Algorithm
, der findes i SSL / TLS-certifikater. Kan nogen uddybe?
Du er forvirret, fordi nogle mennesker (ja jeg kigger på dig, Microsoft) har brugt termerne inkonsekvent.
En signaturalgoritme er en kryptografisk algoritme, der:
Hjørnestenen i signatur sikkerhed er, at det ikke skal være muligt uden kendskab til den private nøgle at generere par besked + signatur, som verifikationsalgoritmen accepterer.
Du kan støde på nogle "forklaringer", der forsøger at sige, at digital underskrifter er en slags kryptering; de beskriver det normalt som "du krypterer med den private nøgle". Tro det ikke; disse forklaringer er faktisk forkerte og forvirrende.
Af tekniske årsager begynder signaturalgoritmer (både til signering og til bekræftelse) ofte med en hash-funktion. En hash-funktion er en helt offentlig algoritme uden nøgle. Pointen med hash-funktioner er, at de kan spise terabyte data og producere en "fordøjelse" (også kaldet "fingeraftryk" eller endda "tommelfingerprint"), der har en fast, lille størrelse. Signaturalgoritmer har brug for det, fordi de arbejder med værdier i en algebraisk struktur af en begrænset størrelse og derfor ikke kan rumme store beskeder. Derfor hashes meddelelsen først, og kun hashværdien bruges til at generere eller verificere en signatur.
Den hashalgoritme, når den bruges som første trin i en signaturgenererings- eller verifikationsalgoritme, vil blive kaldt "signaturhashalgoritme". Når vi siger noget i retning af "RSA / SHA-256", mener vi "RSA-signatur med SHA-256 som ledsagende hash-funktion".
En "thumbprint-algoritme" er et andet navn for en hash-funktion. Det stødes ofte, når vi taler om certifikater : "certifikatets" fingeraftryk er virkelig resultatet af en hash-funktion, der anvendes på selve certifikatet (i Windows-systemer bruges SHA-1-hash-funktionen) .
Mens det accepterede svar går i detaljer om, hvordan beregningen udføres, behandler det slet ikke det originale spørgsmål - Signaturalgoritme, Signatur Hash-algoritme og Thumbprint Algoritme, der findes i SSL / TLS-certifikater - hvilken er hvilket stykke af ligningen (især hvis Microsoft også blander det sammen)?
Svaret virker ret simpelt - fra:
og markeret som korrekt svar derovre:
Forskelle mellem "Signaturalgoritme" og "Signatur Hash-algoritme"
De bruges til at bestemme signaturalgoritmen og hash funktion, der bruges til at underskrive certifikatet. Disse oplysninger bruges af certifikatkædemotoren til at validere certifikatets signatur. Certifikatkædemotor beregner en hash over et certifikat (signeret del). Hash-metoden er valgt fra Signatur Hash-algoritme-feltet. Derefter afkoder certifikatkædemotor vedhæftet signatur ved hjælp af signaturalgoritme, der er angivet i feltet Signaturalgoritme og gendanner underskrevet hash. Hvis begge hashes matcher, er signaturen gyldig, hvis de adskiller sig, betragtes signaturen som ugyldig.
Min tilføjelse fra en anden kilde - Thumbprint Algo - enkel ikke-kryptoegenskab, der bruges til at identificere certifikatet på et givet system (ikke godkende det eller verificere dets gyldighed)