Researchers release DEDA to anonymize laser printer tracking dots
DEDA is a new tool for Linux that researchers have created to read and decode the forensic information, and to anonymize information to protect against tracking.
The Electronic Frontier Foundation discovered in 2008 that nearly all major color laser printer manufacturers added tracking dots to any printed document. The yellow tracking dots were invisible to the eye and apparently added to printouts on request of the U.S. government.
The foundation stopped updating the list in 2017 stating that there is strong evidence that all laser printers use some form of tracking. The organization went on to suggest that there was a strong likelihood that printers who did not use yellow dots used a different system that was not yet identified.
A team of researchers from TU Dresden in Germany published a research paper that provides deeper knowledge of laser printer printout tracking methods. The researchers discovered a new tracking pattern, managed to decode information, and developed an algorithm to detect and extract data.
The researchers confirm the EFF's initial discover that color printers add "tiny and systematic yellow dots" to printouts. The information usually includes the serial number of the printer and the data of the printout.
The information can be read and encoded automatically using the right tools. The tracking data poses a risk to privacy as the information may be used to link the printout to a particular printer.
The German researchers found four tracking dot patterns used by laser printers. The research paper provides an analysis of the code and structure for each.
The researchers released DEDA -- tracking Dots Extraction, Decoding and Anonymisation toolkit --Â which is available for Linux.
You can install the tool using the command pip3 install deda. It supports different options:
- read tracking data from a scanned image: deda_parse_print INPUTFILE
- find a divergent printer using several scanned printouts: deda_compare_prints INPUT1 INPUT2 [INPUT3]
- try to detect unknown patterns: libdeda/extract_yd.py INPUTFILE
- anonymize a scanned image: deda_clean_document INPUTFILE OUTPUTFILE
- anonymize a document for printing:
- save as PS file using pdf2ps: pdf2ps INPUT.PDF OUTPUT.PS
- print testpage file: deda_anonmask_create -w
- scan document and pass lossless file: deda_anonmask_create -r INPUTFILE
- apply anonymization mask: deda_anonmask_apply mask.json DOCUMENT.PS
The researchers suggest that you analyze the printouts using a microscope if the masked page covers the tracking dots added to printouts by the laser printer.
Probably the best course of action is to use inkjet printers whenever possible but if that is not possible, use DEDA to make sure tracking code is not embedded in printouts.