Обновить PDF-файл, включив в него зашифрованный, скрытый, уникальный идентификатор?

Справочная информация

Идея такова:

  • Человек предоставляет контактную информацию для покупки книги в Интернете
  • Книга, как PDF-файл, помечена уникальным хешем
  • Человек скачивает книгу
  • PDF-пароли легко обойти или поделиться

Идеальным процессом был бы что-то вроде:

  1. Сгенерировать хэш на основе контактной информации
  2. Сохранить контактную информацию и хэш в базе данных
  3. Получить блокировку книги
  4. Обновить «включаемый» файл с хеш-текстом
  5. Создать книгу как PDF (используя pdflatex )
  6. Применить хеш в книгу
  7. Снять блокировку книги
  8. Отправить электронное письмо со ссылкой для скачивания книги

Технологии

Могут использоваться следующие технологии (возможны другие языки программирования, но библиотеки скорее всего будут ограничены теми, которые предоставляются хостом):

  • C, Java, PHP
  • LaTeX-файлы
  • PDF-файлы
  • Linux

Вопрос

Какие методы программирования (или программное обеспечение с открытым исходным кодом) следует ли мне исследовать, чтобы:

  • Встраивать уникальный хэш (или другую метку) в PDF-файл
  • Создавать метку устойчивости к сговору
  • Разработать небезопасный (например,, PDF -> EPS -> PDF все еще содержит отметку) решение

Исследование

Я рассмотрел следующие возможности:

  • Стеганография
  • Обработка естественного языка (NLP)
  • Преобразование пустых страниц PDF в изображения; отметьте эти изображения; повторно собрать PDF
  • Пакет водяных знаков LaTeX
  • ImageMagick

Проблемы

Возможные решения, которые я исследовал, включают следующие проблемы:

  • Стеганография. (a) Требуется главная копия изображений, которые преобразуются в EPS, что требует больших затрат ресурсов ЦП и времени; (b) сохранится ли водяной знак PDF -> EPS -> PDF или другие типы преобразования; (c) большинство изображений - это рисунки или снимки экрана, а не фотографии в формате PNG.
  • LaTeX. Создает кэш изображений; любое стеганографическое решение должно каким-то образом перехватить этот процесс.
  • НЛП. Вносит грамматические ошибки; может изменить значение технических слов.
  • Пустые страницы. Сразу подозреваю; подозрительные пустые страницы легко заменить.
  • Пакет водяных знаков. Рисует видимые отметки.
  • ImageMagick. Рисует видимые отметки.

Какие еще возможны решения?

Ссылки по теме

Спасибо!

9
задан Community 23 May 2017 в 10:33
поделиться