4 ms·
The project is clearly motivated by Be careful what you copy: Invisibly inserting usernames into text[0] (posted 12 hours ago on HN), and many people here might
by boramalper 9y ago
The project is clearly motivated by Be careful what you copy: Invisibly inserting usernames into text[0] (posted 12 hours ago on HN), and many people here might think zero-width characters (or rather, any esoteric Unicode characters) are the only (or the prominent) way to watermark texts, which is wrong. The whole topic -watermarking- is worth at the very least a lengthy blog post, and maybe even several articles, so keep in mind that this comment is just a very brief introduction to different methods (of watermarking)[x]:
(from trivial to more complex ones)
----
1. Using Invisible Characters
The linked[0] article basically talks about a very basic version of it, which should be enough to get the idea. Of course, more sophisticated techniques will use more than just two characters, and will take the position of each invisible character into consideration while encoding & decoding watermarks, ensure it's uniformly distributed throughout the paragraphs etc.
Can be defeated by simply removing invisible characters.
----
2. Using Unicode Characters That Look Alike
The same working mechanism as IDN homograph attack[1].
Can be defeated by simply removing "out-of-place" letters/characters, after determining the language of a given text/paragraph/sentence etc.
----
3. Using Unicode Equivalence
> Code point sequences that are defined as canonically equivalent are assumed to have the same appearance and meaning when printed or displayed. For example, the code point U+006E (the Latin lowercase "n") followed by U+0303 (the combining tilde "◌̃") is defined by Unicode to be canonically equivalent to the single code point U+00F1 (the lowercase letter "ñ" of the Spanish alphabet).
https://en.wikipedia.org/wiki/Unicode_equivalence https://en.wikipedia.org/wiki/Unicode_equivalence
Can be defeated by simply normalising the text, and line endings!
----
(Now it's getting harder!)
4. Changing the Layout of Documents
You can change (the rendering of):
(a) the margins
(b) the ligatures
(c) the space between
(i) specific characters [kerning]
(ii) consequent words/lines/paragraphs
to embed fingerprints. This is especially dangerous as documents are often leaked by taking screenshots or photocopies, which is secure against Unicode attacks, but not of these.
Can be defeated by copying the plaintext, and pasting it to a text editor, and applying steps 1, 2, 3.
Also, bear in mind that if you can still -unintentionally- leak information:
(a) when you use a document editor (LibreOffice Writer, Microsoft Word) as the layout engines might act differently depending on your software version, platform, file format etc.
(b) paper size (A4, US Letter, ...)
----
5. Substituting with Synonyms
If characters can be replaced by their equivalents, why not replace words or sentences even? Words can be substituted by their synonyms based on an algorithm that can create fingerprints accordingly, and I presume even sentences can be rephrased with the latest advancements in AI/ML.
Also, some of the substitutions will be unintentional: a scribble on a piece of leaked document can also leak information about its leaker (different spellings in American and British English, ways of writing date & time, decimal separators etc).
Can be defeated by paraphrasing.
----
The list can probably extended even further but this was all I could remember on the top of my head. =)
[0]: https://news.ycombinator.com/item?id=16749422 https://news.ycombinator.com/item?id=16749422
[1]: https://en.wikipedia.org/wiki/IDN_homograph_attack https://en.wikipedia.org/wiki/IDN_homograph_attack
[x]: Not that I'm working in a related field, but I researched watermarking & fingerprinting techniques for a similar but much more extensive project for journalists/whistle-blowers to detect fingerprinting/watermarking in documents.
Let me know if you are interested and we can collaborate!
- zuminator 9y agoExcellent list. For completion's sake, I'd include intentional typos as an instance of category 5. This can be hard to catch if the typo is in a name. A logical extension of that would be entirely made-up names for non-essential people/places. At the age of 5, Hawking visited Oxford, incidentally passing through Fakenamingham-on-Watermarkshire. Dictionaries/encyclopedias have been known to insert entirely fake entries as a way of proving ownership.(http://articles.chicagotribune.com/2005-09-21/features/0509200275_1_electronic-dictionary-new-oxford-american-dictionary-new-yorker http://articles.chicagotribune.com/2005-09-21/features/05092...) In the age of ebooks and print-on-demand, those could be tailored to the individual licensee.
- jaclaz 9y ago>Dictionaries/encyclopedias have been known to insert entirely fake entries as a way of proving ownership. Just like non-existing places/roads on maps, so-called "trap-streets": https://en.wikipedia.org/wiki/Trap_street https://en.wikipedia.org/wiki/Trap_street and similar: https://en.wikipedia.org/wiki/Agloe,_New_York https://en.wikipedia.org/wiki/Agloe,_New_York
- beautifulfreak 9y agoalso mountweazels https://www.thoughtco.com/mountweazel-words-term-1691330 https://www.thoughtco.com/mountweazel-words-term-1691330