Aktualisieren Sie ein PDF, um eine verschlüsselte, versteckte, eindeutige Kennung einzuschließen?

StackOverflow https://stackoverflow.com/questions/4536334

Frage

Hintergrund

Die Idee ist:

  • Person bietet Kontaktinformationen für den Online -Buchkauf
  • Buch als PDF ist mit einem einzigartigen Hash gekennzeichnet
  • Person Downloads Buch
  • PDF -Passwörter sind einfach zu umgehen oder zu teilen

Der ideale Prozess wäre so etwas wie:

  1. Generieren Sie Hash anhand von Kontaktinformationen
  2. Speichern Sie Kontaktinformationen und Hash in der Datenbank
  3. Book Lock erwerben
  4. Aktualisieren Sie eine Datei "integrieren" mit Hash -Text
  5. Generieren Sie ein Buch als PDF (mit Verwendung pdflatex)
  6. Hash anwenden, um zu buchen
  7. Release Book Lock
  8. Senden Sie E -Mail mit Buch -Download -Link

Technologien

Die folgenden Technologien können verwendet werden (andere Programmiersprachen sind möglich, aber Bibliotheken werden wahrscheinlich auf die vom Host gelieferten Personen beschränkt):

  • C, Java, Php
  • Latexdateien
  • PDF -Dateien
  • Linux

Frage

Zu welchen Programmierungstechniken (oder Open -Source -Software) sollte ich untersuchen:

  • Betten Sie einen einzigartigen Hash (oder eine andere Marke) in einen PDF ein
  • Erstellen Sie eine Absprache-Angriffsmarke
  • Entwickeln Sie ein Nicht-Fragil (z. B., z. PDF -> EPS -> PDF Enthält immer noch die Marke) Lösung

Forschung

Ich habe mir die folgenden Möglichkeiten angesehen:

  • Steganographie
  • Verarbeitung natürlicher Sprache (NLP)
  • Umwandeln Sie leere Seiten in PDF in Bilder; Markieren Sie diese Bilder; PDF wieder zusammenbauen
  • Latex -Wasserzeichenpaket
  • Imagemagick

Ausgaben

Die möglichen Lösungen, die ich untersucht habe, haben die folgenden Probleme:

  • Steganographie. (a) erfordert eine Master-Kopie der Bilder, die in EPS konvertiert werden, was CPU-intensiv und zeitaufwändig ist. (b) Würde das Wasserzeichen überleben? PDF -> EPS -> PDF, oder andere Arten von Konvertierung; (c) Die meisten Bilder sind Zeichnungen oder Screen -Aufnahmen, keine Fotos im PNG -Format.
  • Latex. Erstellt einen Bildcache; Jede steganografische Lösung müsste diesen Prozess irgendwie abfangen.
  • NLP. Führt grammatikalische Fehler ein; könnte die Bedeutung von technischen Wörtern ändern.
  • Leere Seiten. Sofort verdächtigt; Es ist einfach, verdächtige leere Seiten zu ersetzen.
  • Wasserzeichenpaket. Zeichnet sichtbare Markierungen.
  • Imagemagick. Zeichnet sichtbare Markierungen.

Welche anderen Lösungen sind möglich?

ähnliche Links

Vielen Dank!

War es hilfreich?

Lösung

Ich habe dies für ein anderes Projekt mit gemacht PDFLIB. Wir brauchten Rückverfolgbarkeit für die generierten PDFs, falls die Datei durchgesickert war. Grundsätzlich:

  1. Erstellen Sie eine Quellvorlage PDF mit dem in den angemessenen Inhalten, legen Sie das Dokumentmaster-Passwort mit den erforderlichen Optionen fest (kein Bearbeiten, kein Druck, kein Bildschirmleser usw.) Set
  2. Zur Laufzeit haben wir ein paar Wasserzeichen angewendet (auferlegte Seitenfußzeile mit der Aufschrift "Dieses Dokument wurde auf Benutzer #12345" gesetzt. Setzen ... "Deckseite usw.)
  3. Fügen Sie optional ein Benutzerkennwort hinzu, um eine PW -Eingabeaufforderung zu erzwingen, wenn das Dokument geöffnet wird.

Da die neuesten PDF-Versionen AES-128 für ihre Verschlüsselung verwenden, haben wir nur ein geeignetes, zufällig generiertes 128Char-Kennwort mit hohem Entropie festgelegt-niemand würde es jemals von Hand eingeben, so schwer zu typed war für uns irrelevant und tatsächlich vorzuziehen. Das Master-Passwort verhinderte Endbenutzer daran, Änderungen am Dokument vorzunehmen. Die verschiedenen Noprint/No Screen -Leseoptionen werden tatsächlich vom PDF -Leser erzwungen und daher zugänglich, können sie aber trotzdem nicht schaden, sie festzulegen.

Der Nachteil ist, dass die Lizenzierung von PDFLIB ziemlich steil ist. Ich weiß nicht, ob eine der kostenlosen PDF -Bibliotheken von PDF die neuesten PDF -Verschlüsselungsschemata unterstützt, insbesondere das Master -Passwort -Zeug. Wenn Sie jedoch unterstützen können, kann PDFLIB die Möglichkeit zur sicheren Dokumentenproduktion entstehen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top