PDF-Verschlüsselung erklärt: RC4 vs AES-128 vs AES-256
PDF-Verschlüsselung ist der kryptografische Schutz, der auf die Inhaltsströme eines PDFs angewendet wird, sodass die Datei ohne Passwort nicht gelesen werden kann. Die PDF-Spezifikation hat im Laufe ihrer Geschichte mehrere Algorithmen unterstützt, und nicht alle sind noch sicher. Diese Seite erklärt, was jeder Algorithmus tut, welche PDF-Version ihn einführte und welchen Sie heute beim Schutz einer Datei wählen sollten.
Mechanismus
Wie PDF-Verschlüsselung funktioniert
Wenn ein PDF-Writer eine Datei verschlüsselt, erzeugt er einen zufälligen Dateiverschlüsselungsschlüssel, verwendet diesen Schlüssel zum Verschlüsseln der Inhaltsströme (und bestimmter anderer Zeichenketten in der Datei) und speichert den Dateiverschlüsselungsschlüssel in einem Verschlüsselungswörterbuch, das durch das Passwort des Benutzers geschützt ist. Zum Öffnen der Datei fordert der Viewer das Passwort an, leitet daraus einen Schlüssel ab, verwendet diesen Schlüssel zum Entschlüsseln des Dateiverschlüsselungsschlüssels und dann den Dateiverschlüsselungsschlüssel zum Entschlüsseln des Inhalts.
Die wichtige Folge: das Passwort wird nicht in der Datei gespeichert. Gespeichert wird ein mit dem Passwort verschlüsselter Wert. Zur Verifikation eines Passworts versucht der Viewer, diesen Wert zu entschlüsseln, und prüft das Ergebnis gegen einen bekannten Klartext-Marker. Deshalb gibt es keine Passwort-Wiederherstellung — die Datei enthält nicht das Passwort, sondern nur etwas, das durch es gesperrt ist.
Algorithmus
RC4 — deprecated und gebrochen
RC4 ist eine 1987 entworfene Stromchiffre, die in den 1990er-Jahren breit verwendet wurde (PDF, SSL, WEP). PDF 1.2 führte 40-Bit-RC4 ein; spätere Versionen erweiterten es auf 128-Bit-RC4. RC4 ist nun in PDF deprecated und gilt für moderne Sicherheitsverwendung als gebrochen. Konkret:
- 40-Bit-RC4 ist auf moderner Hardware trivial per Brute Force knackbar.
- 128-Bit-RC4 ist nicht per Brute Force knackbar, aber RC4 hat statistische Verzerrungen, die Informationen über den Klartext leaken, und mehrere praktische Angriffe auf RC4-verschlüsselte PDFs wurden veröffentlicht.
- Moderne Viewer warnen oder weigern sich in einigen Konfigurationen, RC4-verschlüsselte Dateien zu öffnen.
Erstellen Sie keine neuen RC4-verschlüsselten PDFs. Wenn Sie eine antreffen, entschlüsseln Sie sie (mit dem Passwort) und verschlüsseln Sie neu mit AES-128 oder AES-256.
Algorithmus
AES-128 — solide, breit unterstützt
AES-128 wurde in PDF 1.5 (2003, Acrobat 6/7) eingeführt. AES ist eine Blockchiffre; AES-128 verwendet einen 128-Bit-Schlüssel. Der AES-Modus von PDF verwendet CBC mit einem zufälligen 16-Byte-Initialisierungsvektor pro Zeichenkette. AES-128 hat keine praktischen Angriffe gegen sich und wird von jedem modernen PDF-Viewer breit unterstützt. Es ist ein vernünftiger Standardwert, wenn AES-256 nicht verfügbar ist.
Algorithmus
AES-256 — der aktuelle Standard
AES-256 wurde in PDF 1.6 Extension Level 3 (2008, Acrobat 9) eingeführt. Es verwendet einen 256-Bit-Schlüssel und leitet im ursprünglichen PDF-1.6-Ext-Level-3-Design den Schlüssel mit SHA-256 vom Passwort ab. Eine spätere Revision (PDF 2.0 / Extension Level 8) fügte eine stärkere Schlüsselableitung hinzu, die PBKDF2 mit vielen Iterationen verwendet und Brute Force deutlich erschwert. Dies wird manchmal „AES-256 R6" oder „Acrobat-X-Kompatibilität" genannt.
Bevorzugen Sie AES-256, wann immer Ihr Werkzeug es anbietet. Wenn Sie zwischen älterer und neuerer Schlüsselableitung wählen können, wählen Sie die neuere (PBKDF2-basierte).
Geschichte
Welche PDF-Version führte welchen Algorithmus ein
- PDF 1.2 (1996) — 40-Bit-RC4.
- PDF 1.3 (1999) — 128-Bit-RC4.
- PDF 1.5 (2003) — AES-128 (V4, R4).
- PDF 1.6 Ext Level 3 (2008) — AES-256 (V5, R5).
- PDF 2.0 / Ext Level 8 (2017) — AES-256 mit PBKDF2-Schlüsselableitung (V5, R6).
Praktisch
Welchen Algorithmus wählen
Für neue Dateien: AES-256 mit PBKDF2-Schlüsselableitung (R6), wenn sowohl Signierer- als auch Empfänger-Viewer es unterstützen; andernfalls AES-128. Wählen Sie niemals RC4 für eine neue Datei. Das Passwort ist wichtiger als der Algorithmus: ein 6-Zeichen-Passwort mit AES-256 ist schwächer als ein 20-Zeichen-Zufallspasswort mit AES-128, weil die Angriffsfläche das Passwort ist, nicht die Chiffre.
Zum Öffnen alter Dateien: jeder moderne Viewer behandelt alle drei. Wenn Sie die Datei kontrollieren, entschlüsseln und neu mit AES-256 verschlüsseln.
Ein nützlicher Sanity-Check: nachdem Sie ein PDF geschützt haben, versuchen Sie, es in einem anderen Viewer als dem zum Verschlüsseln verwendeten zu öffnen. Wenn ein zweiter Viewer es ohne Warnungen öffnen kann, ist die Verschlüsselung breit kompatibel. Wenn nur das Originalwerkzeug es öffnen kann, haben Sie möglicherweise einen nicht-standardmäßigen Modus verwendet.
IXPDF
IXPDFs Verschlüsselungsfähigkeit heute
IXPDFs aktuelle PDF-Engine (pdf-lib) unterstützt weder Schreiben noch Lesen verschlüsselter PDFs. Die Seiten PDF schützen und PDF entsperren erklären die Einschränkung ehrlich und sind als Research Required markiert. Wir evaluieren eine browserkompatible Verschlüsselungsbibliothek, die es uns erlauben würde, AES-256-Schutz vollständig im Browser ohne Upload anzubieten. Bis dahin siehe unseren Passwortschutz-Leitfaden für vertrauenswürdige lokale Werkzeuge.
Weiterlesen