Watermarks in Color Laserjet Printers

While at defcon XIII (that was a blast, btw…too many fun things happened to write about!) I ran into Seth Schoen from the EFF. He showed me one of the most frightining things I had seen in a while. Apparently, the US Secret Service has managed to convince a large number of color LaserJet manufacturers to embed a watermark into all printed pages. They are encoded as yellow dots that are virtually impossible to see without some kind of assistance, such as a microscope or spectrally pure light that is preferentially absorbed by the color yellow (such as the light emitted by a blue LED).

While there are legetimate uses for such a technology, there are a few problems with how the system was implemented. The most glaring problem is that the public wasn’t informed about it: how is it that the government managed to insert a tracking code on every color page I’ve printed for the past few years and I only found out now? Medical services, banks, ISPs, and others provide privacy policies to users (I’m not sure if they do it just because it’s good customer relations, or if they are legally required), yet I have never seen a printer owner’s manual document this potential privacy issue. This situation also leads to the paranoid speculation of what else has the government deployed that I don’t know about? Other problems, discussed in more detail at the EFF’s website, include a lack of legislation to regulate the government’s ability to abuse this system.

If you’ve read this far, you can tell I’m not a fan of this technology. So, I’d like to figure out two things: exactly what does this code mean, and how to get around it. Neither problem is solved, but I’ll share bits and pieces of my progress to try and help anyone else who is also working on getting around this problem.

Toward figuring out what this code means, Seth informed me that currently they have an intern at the EFF with a microscope trying to write down the codes. Sounds like a painful task. To make this easier, I have taken a Microtek S400 scanner (the cheapest high resolution (4800 dpi) scanner I could find) and modified it to emit blue LED light instead of a white light during the scanning process. This hack enables you to get high-resolution full-page scans where the watermark is easily readable.


Unretouched scanned image using the modified scanner; approx resolution is 1200 dpi (click to see full-size version). The watermarks are the small dots that seem randomly dispersed across the page, for example there is a dot to the lower left of and immediately on top of the “2” in “2600n”.

37 Responses to “Watermarks in Color Laserjet Printers”

  1. Block Sheep says:

    Bunnie,

    I know this is off-topic, but I just want to make sure you know the original usage of the phrase “begs the question”.

    As long as you know it and are deciding to use the new use of the phrase, then I do not object — but if you are misuing the phrase in ignorance, then please accept kindly read this info and inform yourself:

    http://en.wikipedia.org/wiki/Begging_the_question
    http://www.worldwidewords.org/qa/qa-beg1.htm
    http://www.google.com/search?q=begs%20the%20question

    :D,
    Block Sheep

  2. bunnie says:

    Fascinating, and interesting. I stand corrected. I did not know about the proper origins of “begs the question”. thanks!

  3. nathan says:

    Hey bunnie. Read the postings at your homepage. wrote something that I want you to read. I dont feel like typing it over again here. It would be way off topic anyways.

  4. bunnie says:

    Hey, thanks for pointing that out to me. I don’t check the bunniestudios corporate homepage as often as I do my personal one :) I posted a response there, thanks very much for the kind words!

  5. Block Sheep says:

    > Fascinating, and interesting. I stand corrected.
    > I did not know about the proper origins of “begs
    > the question”. thanks!

    I’m happy I got a positive answer from you … it’s hard to correct someone online and make sure you are not sounding mean.

    ON TOPIC:
    Thanks for doing a write-up on this issue. I wanted to know more about it for a while, but don’t have the technical skills to research it myself. Very informative!

  6. DC says:

    I’m fairly new at RE, with a bit of experience, but I’m still interested in helping break this, either from RE’ing the firmware on a printer to determine the algorithm used, or working backwards from the pattern.

    Do you happen to have full page scans? At the very least I could work on some image analysis software to pull out the dots.

    If you feel like having another pair of hands/eyes, drop me a line.

  7. DavidB says:

    I have a Xerox C525A colour printer (Australia). I messed with a microscope, but the filed size was too small even with 10x magfication.
    I then tried a Logitech webcam 4000 and a UV fluoro in a car inspection light. This gave good results (the dot pattern filled half the 640 x 480 field) and the images were at least as good as the scanner gave. By playing with the camera setting and the position of the UV fluoro, the images became black dots on a white background.
    If a blue light array in a scanner is cancelled by the calibration, then this may be turned to advantage. The obvious hack is to put a blue piece of celophane or other material on the white calibration strip. Then the scanner should do all the work and give a good picture of the yellow dots.

  8. Michael Sleator says:

    I think I’m missing something here… Why is restricting the spectrum at the source any better than restricting it at the detector? That is, the scanner already has filters on the detectors, so why is using a blue light any better than simply looking only at the blue channel of the scanner? It could be that the spectral width of the LEDs is narrower than the bandpass of the detector filter, but I’d be surprised if that difference was significant in this case.

    In general, I would think that using white light and all three channels of the scanner would yield a better SNR when scanning the yellow dots on a white field. Consider a gray spot on the paper. That will show up in all three channels. But if you subtract R and G from B (or, rather, add them with a ceiling function, since we have a white background), the gray spot will be cancelled from the B channel.

  9. bunnie says:

    You are right that white light works alright in the scanner. The first thing I tried was just scanning the pages and then using photoshop to isolate the yellow color and doing some DSP to enhance the contrast. I don’t know what the root cause of the problem is, but in practice the yellow spots still seemed much harder to read and digitally contrast than when I used a blue LED array. I think it is related to the fact that I use a very intense array of blue LEDs, so I tend to saturate the CMOS sensor elements; thus you sort of get a “supercontrast” due to nonlinear effects in the sensing mechanism itself. You can think of it as doing some of the DSP in the electro-optical domain, if you will. Also, when I use the blue LED technique, I also do get information on the R and G channels due to imperfect spectral purity of the blue LED. I use the standard RGB to gray transformation matrix to factor in this information and I do indeed get a perceptably better SNR than if I just used the blue channel of the scanner.

    To respond to a previous comment, replacing the Y cartridge with K is a good idea; you can do it by swapping out the electronic ID chip in the cartridge so the printer does not reject the cartridge as improper. It has a problem with generality, though–if I want dots from ten printers, then for every printer (including rentals and store demos) I’d have to do this hack. Staples would not like it if I went in and swapped around their cartridges on demo units, but with the scanner I can just take any page from any printer, pop it in and go.

  10. Michael Sleator says:

    Apropos DavidB’s comments above, I too had wondered about using UV, and having had a chance now to try it myself, I believe the reason it works well is that the paper itself fluoresces, whereas the toner doesn’t. Thus the toner dots show up as dark spots in a field of bright blue.

    This may also have something to do with the results of your scanner. Your LEDs probably have a peak emission around 450nm, which may excite the fluorescence of the paper. You may not notice it, because in this case the fluorescence is nearly the same color as the illumination, but it could significantly improve the image contrast. Just a theory. It would be interesting to rework your scanner with some of the 390nm – 400nm LEDs, but that might require more money and effort than the experiment is worth.

    Michael Sleator

  11. Ville says:

    Unfortunaltely (or should I say fortunately) none of my color printers do these dots so I can’t test this but I think you should be able to scan them very well with unmodified LiDE scanner with canon. It has led light source and actually scans colour documents by alternating the led colour between red green and blue very rapidly. Therefore I’d assume even just taking the blue channel out in photoshop would yield the same result one would get using just blue leds.

    I assume other scanners that have a CCFL light source don’t provide as accurate colour separation – at least not the cheapest models. Plus one interesting this is that when I scan grayscale it only uses green light. So, in theory it might be possible to hack the twain driver to make it scan using a blue light only.

  12. moshe says:

    Bunnie,

    I whant to bu from you a modified blue led microtek s400 scanner,
    please reply to my email: mlevi@liongroupintl.com

    thanks

  13. sarah says:

    Dear Bunnie,

    I’m a law graduate student from singapore. I came across this yellow dots case while searching for a topic for a project at school. My group are doing our little research about the existence of yellow dots here (sample of print-outs +blue LED light).
    But as law students, we’re trying to connect it to the laws which regulate it. The problem even started before we come to that, as we have our doubts whether the technology which are being used here, could be categorized as DRM (such as copy protection in cds,etc).
    Perhaps you could shed a bit of ‘blue LED lights’ here for us, as if we can’t come to a conclusion to pin down the category of the technology,we might have to change our topic. (which would be a shame, because it’s an interesting topic..-)..).
    Since we’re under a thight schedule here, i hope you’d find the time to respond asap…

    thanks a lot,bunnie….-)

    Regards,

    Sarah

  14. bunnie says:

    Interesting! I’ll send you an email within the hour.

  15. wangjie says:

    Dear bunnie,
    I have the same problem as Sarah,I am a graduate student of Chinese people ’ s public security University in China . I major in “_sue law _”. Recently, I do same reserch about pinter ,I found an article, titled ” Investigating Machine Identification Code Technology in Color Laser Printers _” and other articles about this title. then I find your article,I think you know thin aspect deeply,I am very interested in it,I found you may help me achieve my goals in this research field. This would make a really positive contribution to my work. .Do you have any other articles or imformation about other band. I respect your reply wishfully
    Thank you very much ,bunnie
    yours,wangjie

  16. Athina says:

    can a laser printed document be distinguished from a photocopied document? If so,what are the clues that would lead us to this distinction?

  17. Lou K. says:

    I’ve very much enjoyed the past 45 minutes I’ve spent reading your blog. Its great stuff, even the comments about “Beg the Question” was interesting and informative.

    Just thought I’d give a shout out. I see I’m not alone in my opinion.

    Cheers,
    – L

  18. Mitch says:

    I was wondering how the dots would be useful to authorites in tracking counterfeiters when the pattern takes up the entire page? Obviously, the counterfeit money would only take up a fraction of the page. Perhaps that would be useful for those of you who are trying o break the code.

  19. Warren says:

    Does anyone know of a printer that will print out currency and has a DPI?

  20. URnotMYfellowDJ says:

    I heard that the Carbon Tax is a ‘license to print money’ for the world’s elite.

  21. sam says:

    Dunno if you’re still working on this sort of stuff, but there’s a slightly easier way to get those dots to show up. If you’ve got a spare yellow color cartridge, use toner refills and stick black toner in (after resetting the page counter eeprom and whatnot)–obviously, the dots should become a whole lot clearer.

  22. tim tam says:

    i’m only three years behind the tide, but hey… better late than never…
    just emailed my printer manufacturer to ask how to turn it off, initial response, of course, was a denial… so i’ve emailed them a scanned and enhanced image… we’ll see where it goes

    to circumvent it, i’m thinking of printing a random pattern of yellow dots as a watermark image… at least on all the banknotes and anti-establishment propaganda i print…

  23. Ken says:

    Not sure anyone answer this in the list of comments, as far as I know, it is a legal requirement for all color laser printers to embed that yellow patch. And don’t think you want to figure out the patten coz it’s just random. The purpose is simple and completely legitimate -> so that it can easily counterfeit against printing of US currency notes. Try adding some random yellow dots to your US currency notes and you will know what I meant.

    On the LED hack part, I think it’s better to start with a scanner that use LED (rather than CCFL). Coz CCFL requires dozens of calibration to cancel out the instability of emission from the flourescent tube, along with the DSRU/PRNU/gain, etc calibrations, it is a difficult things to start with. So it will most likely calibrate your excessive blue LED. LED scanner has less calibration to possibly start with.

    Just my 2cents.

  24. Revelation 23 says:

    Stumbled across this while going through links here on your blog. I’m also behind, but I thought I’d add toss in some more about these markings. I can’t remember where or when I first read about it, but I did find something on Slashdot from late 2004 that mentions Xerox, while some of the comments elaborate on the matter.

    The printers at Kinko’s are also mentioned in the comments, which was similar to the original article I read. If I remember correctly, the code printed at Kinko’s seemed to represent how many pages had been printed from that specific printer over its lifespan and possibly the date and time. Of course, the dots/patterns could be mean a lot more.

  25. Vernon says:

    Hi! I am an engineering student. I am currently working on a project on changing the light source of a scanner. I have read your blog and that’s something I not very sure about it. The last part you mentioned by unplug the CCFL and LED array during the calibration sequence and then turn the LED array on once the scan head moves into the page area. I would like to know actually what does it means. The information would be of help to complete my final year project and would like to thank you in advance for the help.

  26. erectine says:

    I have tried detecting such watermarks but have had a hard time with it. I’m not suprised that our government it doing this. I am suprised that manufactuers are going along with it.

  27. Michael says:

    This is an awesome discovery but I don’t have a clue what invisible markings could be used for. Any ideas folks?

    Michael

  28. Frankie says:

    Dear Bunnie,

    I’m an engineering student. I’m currently working on a project which involves in changing the light source of s400 scanner. I have read your blog and that’s something I not very sure about it.

    The last part you mentioned by unplug the CCFL and LED array during the calibration sequence and then turn the LED array on once the scan head moves into the page area. I would like to know actually what does it mean.

    And is it possible to remove the normal CCFL and replaced it with a UV CCFL?

    The information would be of help to complete my final year project and would like to thank you in advance for the help.

  29. Frankie says:

    Something to add on to my previous post, could you email me the led array wiring connection part?

    Is it possible for me to replace the the normal CCFL and replaced it with a UV CCFL? And could it be possible if i install another led array besides it and activate either one of them at a time?

    Looking forward your reply. Thank You!

    Frankie
    frankie_fu20032000@yahoo.com.sg

  30. frankie says:

    Hope bunnie would be kind to guide me through my project.

  31. Frankie says:

    Dear Bunnie,

    Could i know if it’s possible for me to just replace the CCFL with a UV CCFL and let it do the scanning straightway without plugging in the BHS connector of the white CCFL? Thanks in advance for your precious advice.

    Frankie

  32. frankie says:

    Dear Bunnie,

    I’m now trying to replace the CCFL with a UV CCFL. Is it possible for me to scan UV watermarks straightaway? Or do i need to do anything else before it can scan UV watermarks? Thanks in advance!

    Frankie

  33. frankie says:

    Dear Bunnie,

    I tried replacing the normal CCFL with a UV CCFL but achieved a dull image of the uv watermarks. Is there any other better ways that you could recommend to improve the brightness of the scanned watermarks?

  34. Have a good day!. I must confess that I’ve gotten a bit distracted going through and reading a number of your posts… I ought to probably be doing work. You’ve got some good observations here, so I will add you to my Google Reader for the future. Take care!