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.