CMS Enveloped Data
PDF-Zertifikatsicherheit basiert auf der Cryptographic Message Syntax (CMS) gemäß RFC 5652. CMS beschreibt ein Paketformat für verschiedene Verschlüsselungsfunktionen einschließlich digitaler Signaturen, Nachrichten-Authentifizierung und -Verschlüsselung. PDF-Zertifikatsicherheit verwendet die in CMS definierte Funktionalität Enveloped Data; verschlüsselte E-Mails funktionieren auf ähnliche Weise. Um Speicherplatz und Laufzeit zu optimieren, wird Zertifikatsicherheit auf hybride Art implementiert: zunächst wird ein Chiffrierschlüssel zufällig erzeugt und für jedes Empfängerzertifikat verschlüsselt. Dabei kommt Public-Key-Verschlüsselung mit den Algorithmen RSA oder Elliptic Curve Cryptography (ECC) zum Einsatz. Die verschlüsselten Versionen des Zufallsschlüssels werden im CMS-Objekt gespeichert. Mit dem Zufallsschlüssel wird die tatsächliche CMS-Nutzlast mit einem symmetrischen Algorithmus verschlüsselt und im CMS gespeichert. Aktuelle Implementierungen verwenden in der Regel den AES-Algorithmus für symmetrische Verschlüsselung. Für weitere Informationen zu diesem Verfahren und den verwendeten Algorithmen siehe Kryptografische Details.
Jeder Empfänger verwendet zur Entschlüsselung des symmetrischen Schlüssels seinen privaten Schlüssel, um dann mit dem resultierenden Schlüssel die CMS-Nutzdaten zu entschlüsseln. Die Kombination von verschlüsselten Nutzdaten und einem Chiffrierschlüssel für den verschlüsselten »Content« für jeden Empfänger wird digitaler Umschlag genannt.
Da der erste Schritt bei der Verschlüsselung asymmetrisch ist und der Zufallsschlüssel nur vorübergehend gespeichert wird, kann der Verfasser eines verschlüsselten Dokuments dieses später nur dann entschlüsseln, wenn sein eigenes Zertifikat in der Liste der Empfänger enthalten ist.
Es gibt zwei Gründe für den hybriden Ansatz mit asymmetrischer und symmetrischer Verschlüsselung. Zum einen ist asymmetrische Verschlüsselung sehr langsam und nur für kleine Datenmengen geeignet. Sie wird deshalb nur für den kurzen symmetrischen Chiffrierschlüssel und nicht für die gesamten Nutzdaten verwendet. Zum anderen müssen die Nutzdaten bei dieser Vorgehensweise nur einmal symmetrisch verschlüsselt werden, während nur der kurze Chiffrierschlüssel für jeden Empfänger individuell verschlüsselt werden muss. Die Nutzdaten für jeden Empfänger zu verschlüsseln würde die Ausgabedatei erheblich vergrößern.
Die Struktur EnvelopedData in einem CMS-Objekt enthält eine oder mehrere Strukturen vom Typ RecipientInfo. Jede enthält Informationen über ein Empfängerzertifikat – in der Regel das Zertifikat des Ausstellers (CA) und die Seriennummer – sowie einen chiffrierten Schlüssel für den Empfänger.
Vertraulichkeit der Empfängerdaten
Die Namen der Empfänger sind im CMS-Objekt nicht vorhanden. Allerdings kann der Name des Zertifikat-Ausstellers (CA) sowie die Seriennummer des Zertifikats ohne Entschlüsselung dem CMS-Objekt entnommen werden. Für Zertifikate aus einer Public Key Infrastructure (PKI) sind in diesem Fall nur der Name der CA und die Seriennummer sichtbar. Je nach PKI können diese Informationen eventuell ausreichen, um den Empfänger zu identifizieren. Bei selbst signierten Zertifikaten signiert der Zertifikatinhaber den öffentlichen Schlüssel allerdings selbst. Deshalb sind die Namen aller Empfänger mit selbst signierten Zertifikaten im CMS-Objekt sichtbar. Manchmal kann die Sichtbarmachung von Empfängerdaten unerwünscht sein. In diesen Fällen sollten Sie in selbst signierten Zertifikaten ein Pseudonym verwenden oder diese ganz vermeiden.
Anzahl von Empfängern und Größe des CMS
Ein Dokument kann für eine beliebige Anzahl von Empfängerzertifikaten verschlüsselt werden. Da jedoch für jeden zusätzlichen Empfänger ein eindeutig chiffrierter Schlüssel eingebettet wird, erhöht sich die Länge des CMS mit der Anzahl der Empfänger. Wie stark sich die Datei vergrößert, hängt von der Länge des öffentlichen Schlüssels des Empfängers und der Menge an Informationen im Zertifikat ab. Im Allgemeinen erhöht sich die Größe der Ausgabedatei um 1-2 KB pro Empfänger.
Anwenden von CMS auf PDF-Dokumente
Ein mit Zertifikatsicherheit verschlüsseltes PDF-Dokument enthält ein oder mehrere CMS-Objekte im Eintrag Recipients des Encrypt-Dictionarys. Allerdings wird bei PDF der CMS-Mechanismus nicht direkt auf die Dokumentinhalte angewendet, sondern eine weitere, mit dem Kennwortschutz identische Ebene von Verschlüsselung hinzugefügt. Die CMS-Nutzdaten enthalten keine PDF-Objekte, sondern Schlüsselmaterial, das verwendet wird, um den Chiffrierschlüssel für PDF-Objekte abzuleiten. Die symmetrischen Algorithmen zur Verschlüsselung von PDF-Objekten sind die gleichen, die auch für den Kennwortschutz verwendet werden. Während Zertifikatsicherheit den Schlüssel für das Dokument aus dem chiffrierten Schlüsselmaterial im CMS ableitet, wird dieser beim Kennwortschutz aus dem geheimen Kennwort abgeleitet..
PDF-Berechtigungen
Für Dokumente mit Zertifikatsicherheit können die gleichen Berechtigungen eingestellt werden wie für kennwortgeschützte PDF-Dokumente (siehe Berechtigungen). Zusätzlich gibt es für Zertifikatsicherheit folgende Einstellungen:
- Drucken und Bearbeiten des Dokuments sowie seine Sicherheitseinstellungen einschränken (siehe Abbildung, oben): Ist diese Einstellung aktiviert, können Empfänger das Dokument öffnen und lesen, bestimmte Aktionen wie das Drucken und Ändern des Dokuments werden jedoch von anderen Berechtigungseinstellungen eingeschränkt. Ist diese Einstellung nicht aktiviert, haben Empfänger den vollen Zugriff auf das Dokument und können auch die Sicherheitseinstellungen ändern. Dies ist vergleichbar mit kennwortgeschützten Dokumenten, für die der Benutzer das Master-Kennwort kennt. Daher bezeichnen wir dies als Master-Berechtigung.
Für verschiedene Benutzer lassen sich unterschiedliche Berechtigungen festlegen. In einem Unternehmen kann zum Beispiel einem Manager die Master-Berechtigung erteilt werden, um das Dokument bearbeiten, die Verschlüsselung ändern oder eine andere Änderung vornehmen zu können, während die Kollegen nur Formularfelder ausfüllen und das Dokument signieren dürfen. Diese Flexibilität bei der Vergabe von Berechtigungen ist ein großer Vorteil der Zertifikatsicherheit gegenüber dem Kennwortschutz.
Die Berechtigungen werden in die CMS-Nutzdaten aufgenommen, die für einen bestimmten Empfänger verschlüsselt werden. Daher sind die Berechtigungen für einen bestimmten Empfänger nur nach der Entschlüsselung für diesen ersichtlich. Ohne die zugehörige digitale ID können die Berechtigungen eines Empfängers nicht abgefragt werden.
Bei der Behandlung von Berechtigungen bestehen zwischen der Zertifikatsicherheit für PDF-Dokumente und der für E-Mails signifikante Unterschiede. PDF-Dokumente können mehrere CMS-Objekte enthalten, wobei jedes Objekt wiederum eine Gruppe mehrerer Empfänger adressieren kann. Chiffrierte Schlüssel für Empfänger mit den gleichen Berechtigungen werden im selben CMS-Objekt gespeichert.