Download - Infotech
Transcript
Handbuch (AGD) Seite 23/104 der Nichtbenutzung und es wird bei der nächsten Signatur sofort die Bestätigung zur Multisignatur eingeholt. Die Multisignatur ist in jedem Fall beendet, wenn die Multisignaturkarte gezogen und damit die Verbindung zur Karte unterbrochen wurde. 4.1.2 SF2 - Hashverifikation und elektronische Signaturen Die SAK kann elektronische Signaturen verifizieren, die auf SHA-1, SHA-224, SHA-256, SHA384. SHA-512 oder RIPE-MD 160 Hashwerten beruhen. Die Verifikation wird durchgeführt, indem der Hashwert über die zu prüfenden Daten berechnet wird, der Original-Hash aus der Signatur mit Hilfe des RSA-Algorithmus extrahiert wird und hierfür der öffentliche Schlüssel (Verifikationsschlüssel) aus dem gegebenen Zertifikat des Erstellers der Signatur zur Verifikation verwendet wird. Hierbei wird das Zertifikat des Erstellers stets mitgeführt (in PKCS#7 und in XML Signature mit XAdES). Die SAK bekommt das zu prüfende „Dokument“ als Datenblock, sowie die Klasse des Blocks übergeben (PKCS#7 oder XML Signature mit XAdES). PKCS#7 Im Falle von PKCS#7 wird zunächst die ggf. vorhandene base64-Transportkodierung entfernt, so dass die Rohdaten vorliegen. Auf diese wird ASN.1 angewandt und der Signaturwert extrahiert. Anschließend wird über den Datenblock der gewünschte Hashwert gebildet. Wenn die Signatur authentisierte Attribute enthält, wird geprüft, ob diese den ermittelten Hashwert enthalten und über alle authentisierten Attribute erneut der Hashwert gebildet. Der Signaturwert wird mit dem öffentlichen Schlüssel des enthaltenen Zertifikats nach RSA entschlüsselt und der so erhaltene Hashwert wird mit dem oben berechneten verglichen. Die Signaturzeit wird den authentisierten Attributen entnommen. Dieser Vorgang wird wiederholt, wenn die Rohdaten wiederum im PKCS#7-Format vorliegen. XML Bei XML werden zunächst die Knoten ermittelt, die Signaturdaten nach dem XML-SignatureStandard enthalten. Die innerhalb der SignedInfo-Struktur enthaltenen Reference-Knoten werden ausgewertet und die XML-Daten entsprechend des XML-Signature-Standards gefiltert und nach Canonical-XML transformiert. Über die resultierenden Datenblöcke werden Hashwerte gebildet und mit den Reference-Einträgen verglichen. Die SignedInfo-Struktur wird ebenfalls nach Canonical-XML transformiert. Aus diesem wird der resultierende Hashwert berechnet. Die Signatur wird mit dem öffentlichen Schlüssel des enthaltenen Signaturzertifikats nach RSA entschlüsselt und der so erhaltene Hashwert mit dem resultierenden Hashwert verglichen. Die Signaturzeit wird ggf. aus den erweiterten Signaturdaten nach XAdES ermittelt.