Verschlüsselung

Verschlüsselungsalgorithmus und Schlüssellängen

Zur PDF-Verschlüsselung werden folgende Verschlüsselungsalgorithmen verwendet:

  • RC4, eine symmetrische Stream-Verschlüsselung (der selbe Algorithmus kann zum Verschlüsseln wie zum Entschlüsseln verwendet werden). RC4 bietet keinen adäquaten Schutz mehr und wurde in PDF 2.0 als veraltet deklariert.
  • AES (Advanced Encryption Standard) wurde im Standard FIPS-197 spezifiziert. AES ist eine moderne Block-Verschlüsselung, die in vielen verschiedene Anwendungen verwendet wird.

Da die eigentlichen Schlüssel unhandliche binäre Sequenzen sind, werden sie von benutzerfreundlichen Kennwörtern abgeleitet, die aus normalem Text bestehen. Im Zuge der Entwicklung von PDF und Acrobat wurden die PDF-Verschlüsselungsmethoden erweitert, um stärkere Algorithmen, längere Chiffrierschlüssel und anspruchsvollere Passwörter verwenden zu können.

Die Algorithmen RC4 und AES-128 werden in PDF 2.0 als veraltet deklariert.

Verschlüsselungsalgorithmen, Schlüssel- und Kennwort-Länge in verschiedenen PDF-Versionen

PDF- und Acrobat-Version Verschlüsselungsalgorithmus und Schlüssellänge Max. Länge des Kennworts
und Kennwort-Encoding
PDF 1.1 - 1.3 (Acrobat 2-4) RC4 40-bit (schwacher Algorithmus, in PDF 2.0 als veraltet deklariert) 32 Zeichen (Latin-1)
PDF 1.4 (Acrobat 5) RC4 128-bit (schwacher Algorithmus, in PDF 2.0 als veraltet deklariert) 32 Zeichen (Latin-1)
PDF 1.5 (Acrobat 6) RC4 128-bit wie in PDF 1.4, aber andere Anwendung der Verschlüsselungsmethode (schwacher Algorithmus, in PDF 2.0 als veraltet deklariert) 32 Zeichen (Latin-1)
PDF 1.6 (Acrobat 7) und PDF 1.7 = ISO 32000-1 (Acrobat 8) AES-128 (in PDF 2.0 als veraltet deklariert) 32 Zeichen (Latin-1)
PDF 1.7 Adobe Extension Level 3 (Acrobat 9) AES-256 mit mangelhafter Handhabung von Kennwörtern (schwacher Algorithmus, in PDF 2.0 als veraltet deklariert) 127 UTF-8 Bytes (Unicode)
PDF 1.7 Adobe Extension Level 8 (Acrobat X/XI/DC) und PDF 2.0 = ISO 32000-2 AES-256 mit verbesserter Handhabung von Kennwörtern 127 UTF-8 Bytes (Unicode)
Zukünftige Erweiterung von PDF 2.0 AES-256 in Galois Counter Mode (GCM) 127 UTF-8 Bytes (Unicode)

 

Bei der PDF-Verschlüsselung wird nicht direkt das Benutzer- oder Master-Kennwort zur Verschlüsselung des Dokumentinhalts verwendet, sondern aus dem Kennwort und anderen Daten einschließlich der Berechtigungen ein Chiffrierschlüssel errechnet. Die Länge des tatsächlich für die Verschlüsselung des Dokuments verwendeten Chiffrierschlüssels ist unabhängig von der Länge des Kennworts (siehe Tabelle).

Kennwörter

Die PDF-Verschlüsselung arbeitet intern je nach PDF-Version mit 40-, 128- oder 256-Bit-Schlüsseln. Der binäre Chiffrierschlüssel wird aus dem vom Benutzer übergebenen Kennwort abgeleitet. Für das Kennwort bestehen Beschränkungen in der Länge und beim Encoding:

  • Bis PDF 1.7 (ISO 32000-1) durften Kennwörter maximal 32 Zeichen lang sein und nur Zeichen aus dem Encoding Latin-1 enthalten.
  • Mit PDF 1.7ext3 wurden Unicode-Zeichen eingeführt und die maximale Länge in der UTF-8-Darstellung des Kennworts auf 127 Bytes erhöht. Da UTF-8 Zeichen mit einer variablen Länge von 1-4 Bytes kodiert sind, ist die zulässige Anzahl von Unicode-Zeichen im Kennwort kleiner als 127, wenn es Nicht-ASCII-Zeichen enthält. Da japanische Zeichen in der Regel 3 Bytes in der UTF-8-Darstellung benötigen, können bis zu 42 japanische Zeichen für ein Kennwort verwendet werden.

Um Unklarheiten zu vermeiden, werden Unicode-Kennwörter durch einen Prozess namens SASLprep normalisiert (spezifiziert in RFC 4013, der auf Stringprep in RFC 3454 basiert). Dieser Prozess beseitigt Nicht-Textzeichen und normalisiert bestimmte Zeichenklassen (Nicht-ASCII-Leerzeichen werden z.B. auf ASCII-Leerzeichen U+0020 abgebildet). Das Kennwort wird in der Unicode-Normalform NFKC normiert. Spezielle Verarbeitungsschritte für bidirektionalen Text sollen Mehrdeutigkeiten vermeiden, wenn etwa links- und rechtsläufige Zeichen in einem Kennwort vermischt werden.

Die Stärke der PDF-Verschlüsselung hängt nicht nur von der Länge des Chiffrierschlüssels ab, sondern auch von der Länge und Qualität des Kennworts. Eigennamen oder echte Wörter sollten bekanntermaßen nicht als Kennwörter verwendet werden, da sie leicht zu erraten sind oder sich mit einem sogenannten Wörterbuchangriff systematisch ausprobieren lassen. Untersuchungen haben ergeben, dass für sehr viele Kennwörter einfach der Name des Partners oder Haustiers, der eigene Geburtstag, der Spitzname des Kindes usw. verwendet werden, die sich leicht erraten lassen.

Hier finden Sie weitere Empfehlungen für die Vergabe von sicheren Kennwörtern zum Schutz von PDF-Dokumenten.