18

One time while I was printing my documents at a copy center, I saw they dragged-and-dropped my PDFs from my flash drive to their desktop.

How do I protect my files without using password? Is there a way to make a file open once and after that encrypt it?

6
  • 31
    When you give a file to a copyshop for printing it, you have to trust that shop. There is no technical way for you to prevent them from keeping a copy after printing it. Depending on jurisdiction they might even be required by law to do so.
    – Philipp
    Commented Oct 15, 2013 at 13:41
  • 11
    Fundamentally, they have to have the unrestricted contents of the document in order to print it out. This is like handing someone a note for them to copy, and asking if you can prevent them from memorizing it. Commented Oct 15, 2013 at 17:45
  • I vaguely recall an event where there were some files on a flash drive that could not be copied from it. Is it perhaps possible to reprogram the flash drive microcontroller to prevent files from being copied? Of course one could still be read and rewrite data, so this is not a foolproof solution, but maybe the in the act of copying a file from a flash drive to the desktop the OS requests a ‘copy’ operation rather than a ‘read’ operation, which can then be distinguished and denied.
    – arxanas
    Commented Oct 15, 2013 at 20:41
  • 8
    @arxanas no, reading a file for opening it with a program and reading a file for copying it to another filesystem is the same operation for the controller.
    – Philipp
    Commented Oct 15, 2013 at 21:29
  • 10
    Staple a lawyer to it. Commented Oct 16, 2013 at 9:09

6 Answers 6

48

As far as I know there is no feature like that in Adobe Reader. But even when there were such a feature, it couldn't be effective.

  • PDF is an open format, so they could just use another PDF-capable program to view it which doesn't support this feature
  • They could create a copy of the file before opening it. Adobe Reader couldn't know about that second copy, so it wouldn't be able to encrypt it too.
  • They could make the file write-protected which means that it can't be encrypted after opening it
  • They could log the generated print-job in the printer spool of the operating system
  • They could use a custom printer driver which outputs each printed document to a file
  • The printer itself could cache the print-job (likely it does by default - professional printers often come with quite large hard drives)

Bottom line: When you want to print a sensitive document, either find a copyshop you trust or print it yourself.

30

There is a way to distribute the risk such that any single print-shop gains no benefit from copying your files: Visual Cryptography.

But it is esoteric and it is hard-core - versus simply buying your own printer or eBook reader.

To print PDFs at untrusted print-shops with visual cryptography, you use special software to split each page into two parts - each which you print on a transparency (a/k/a lecture slide) at entirely separate print-shops*. You can then view the document by leafing through glued transparencies.

The resolution depends on a variety factors such as the intelligence of the separation algorithm but will be fairly low (1980's monitor resolution).

Example of visual cryptography

* Preferably while wearing a Groucho Marx disguise and providing fake ID if your totalitarian state requires it.

0
20

There's no technical way to solve this. The file (or, rather, a version of it) will be stored in the computer's cache for some time, and sent to the printer which will keep it there for some time. There are several places where a version of your file can be intercepted and stored.

If you don't trust the copy shop, get your own printer.

4

This is achievable by several methods (besides passwording):

  1. Acquiring and implementing a DRM (Digital rights management) licence or LiveCycle Rights Management.

  2. Create using layers with JavaScript.

    "Cover" the PDF pages with an opaque watermark, then use a script to uncover the PDF for a period. This is not a perfect method, but it is fail safe. Meaning that if JavaScript is turned off or it is opened in a 3rd party viewer, the content will be hidden. Source

Video of Acrobat representative explaining options.

7
  • 17
    These techniques would only be deterrents to casual snoops.
    – Roy Tinker
    Commented Oct 15, 2013 at 17:39
  • 1
    Preventing a copy will be hard, but Adobe LiveCycle definitely will allow you to prevent printing the PDF. Also Adobe Policy Server will allow you to remotely revoke PDF files (or replace them with an updated version).
    – fimez
    Commented Oct 16, 2013 at 8:02
  • 2
    @fimez If they have access to the hardware print spool (it's their printer) and thus can re-save the unencrypted raw print job, then file has been copied in a form visible and reusable on any other computer. Commented Oct 16, 2013 at 8:28
  • @LateralFractal but for that you would first need to be able to print the document and you can deny printing in a reader extended PDF document.
    – fimez
    Commented Oct 16, 2013 at 9:03
  • @fimez I guess I assumed the question meant 'How do I prevent copying by the third party printing company?' but technically the question doesn't ask that, merely implies. So your comments are valid, within the limits and provisos of the existing answers. Commented Oct 16, 2013 at 9:06
2

There are copy-protected memory sticks which you can use - the content is encrypted and can only be opened/printed while the memory stick is actually in the computer. This will not help against printers printing to file etc., but can be useful to avoid casual copies.

See https://www.truscont.com/?page=38&id=4 for more info - I'm not affiliated with them but it's the solution we've used for securing files and software.

1

In theory, you can create an application that will print the document on copyshop's printer and then destroy itself (example). However, not every copyshop will allow to launch your program instead of opening your document.

Also, they still will be able to intercept your data at printer level (driver/spool/device etc). Sure, your application in theory can behave like an advanced anti-rootkit tool and detect even this - but won't it be cheaper just to buy a printer rather than developing such product?

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .