Bug 268981

Summary: Add DRM support in Image Editor using steganography
Product: [Applications] digikam Reporter: Axel Krebs <axel.krebs>
Component: Plugin-Editor-GmicQtAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: wishlist CC: caulier.gilles, dilfridge, freisim93, toddrme2178
Priority: NOR    
Version: 2.0.0   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In: 7.5.0
Sentry Crash Report:

Description Axel Krebs 2011-03-20 20:25:32 UTC
Version:           2.0.0 (using KDE 4.6.1) 
OS:                Linux

The more work and time is invested in a picture, the more value it gets. And this is _not_ only an ideational value!!!

In Germany there are serious penalties if using foreign properties or rights. For the supplier, it can harm economically and cause financial losses.
---

Digital Right Management with integrated steganographic capabilities should minimize the risk to loose ownership and offer the ability to proof this. 

As much as I know, there are some free available solutions for writing _and_ reading that information in the web. 

I hope you find my suggestion helpful for the DK-project.


Axel Krebs

Reproducible: Always
Comment 1 caulier.gilles 2011-03-20 20:47:59 UTC
>As much as I know, there are some free available solutions for writing _and_
>reading that information in the web. 

Really ? Which one ? Compatible with Open-Source ?

Gilles Caulier
Comment 2 Axel Krebs 2011-03-20 21:57:40 UTC
(In reply to comment #1)
> >As much as I know, there are some free available solutions for writing _and_
> >reading that information in the web. 
> 
> Really ? Which one ? Compatible with Open-Source ?
> 
> Gilles Caulier

As a starting point, I found wikipedia: 
- http://en.wikipedia.org/wiki/Steganography

Therein:
- http://petitcolas.net/fabien/steganography/image_downgrading/index.html
- http://www.jjtc.com/Steganography/

etc...

- http://www.dmoz.org/Computers/Security/Products_and_Tools/Cryptography/Steganography/

I can imagine, that Marcus Kuhn at Cambridge University could/would help out:
http://www.cl.cam.ac.uk/~mgk25/ , as he works for several years in open source and security respective computer safety issues (rem: I had never direct contact, but found his pages when working in the us). 

You`ll find there some reading under >http://www.cl.cam.ac.uk/~mgk25/ih99-stegfs.pdf< for a steganographic filesystem(!!).

I guess, I stringend search would deliver better hits.


Axel Krebs
Comment 3 Michael G. Hansen 2011-03-25 19:48:53 UTC
Axel,

are you talking here about steganography for embedding copyright information, to prove that an image was taken by you if somebody uses it without your consent?

Or are you talking about enforcing what a user can/can't do with an image, like the simple PDF DRM elements that specify that a PDF should not be printable/copyable?

Michael
Comment 4 Andreas K. Huettel 2011-03-25 20:27:54 UTC
There's probably some confusion here. 

Since digikam mainly works with open and well-documented image formats which do not support this, restricting what a user can do with an image cannot be done and any attempts in that direction (aka. the pdf drm limitations) will just not work. 

My interpretation of Axel's request (as digikam user who has been thinking about this before) is having a module that generates and recognizes watermarks, in particular invisible and robust ones (robust meaning that they survive image resizing, cropping, recompression, ...). This of course does not limit what can be done with a picture in a technical sense, but it can be used to prove provenance, ownership, or copyright claims.

Unfortunately, to my knowledge there is no open source project covering such a topic. Which may also be the case because of patented algorithms...
Comment 5 Axel Krebs 2011-03-26 08:59:08 UTC
(In reply to comment #3)
> Axel,
> 
> are you talking here about steganography for embedding copyright information,
> to prove that an image was taken by you if somebody uses it without your
> consent?
> 
> Or are you talking about enforcing what a user can/can't do with an image, like
> the simple PDF DRM elements that specify that a PDF should not be
> printable/copyable?

> 
> Michael

Michael:

Sorry for the delay: in the consequence of my proposal, I agree to your first statement: 

Prove of ownership in order to prove copyright. This is _not_ directed against the thoughts of opensource or similar rules. This is intended to prove reliable where a picture is coming from.

At this time, I do not think about controlling the way how a picture can accessed, as printing out or so (the second possibility you mention)


Axel
Comment 6 Axel Krebs 2011-03-26 10:22:38 UTC
(In reply to comment #4)
> There's probably some confusion here. 
> 
> Since digikam mainly works with open and well-documented image formats which do
> not support this, restricting what a user can do with an image cannot be done
> and any attempts in that direction (aka. the pdf drm limitations) will just not
> work. 
> 
> My interpretation of Axel's request (as digikam user who has been thinking
> about this before) is having a module that generates and recognizes watermarks,
> in particular invisible and robust ones (robust meaning that they survive image
> resizing, cropping, recompression, ...). This of course does not limit what can
> be done with a picture in a technical sense, but it can be used to prove
> provenance, ownership, or copyright claims.
> 
> Unfortunately, to my knowledge there is no open source project covering such a
> topic. Which may also be the case because of patented algorithms...

(In reply to comment #4)
> There's probably some confusion here. 
> 
> Since digikam mainly works with open and well-documented image formats which do
> not support this, restricting what a user can do with an image cannot be done
> and any attempts in that direction (aka. the pdf drm limitations) will just not
> work. 
> 
> My interpretation of Axel's request (as digikam user who has been thinking
> about this before) is having a module that generates and recognizes watermarks,
> in particular invisible and robust ones (robust meaning that they survive image
> resizing, cropping, recompression, ...). This of course does not limit what can
> be done with a picture in a technical sense, but it can be used to prove
> provenance, ownership, or copyright claims.
> 
> Unfortunately, to my knowledge there is no open source project covering such a
> topic. Which may also be the case because of patented algorithms...

Andreas, 

I am not familiar with documentations of several picture formats. Maybe you are right; but still hesitating to agree, as many raw-formats seem to be proprietary by camera producers [NIKON: nef, CANON: crw, cr2 etc.). digiKam can handle these. In spite of their format description is not "open", in many cases.

Thank you for revising my thoughts about "watermarks". Am I right if I understand "watermarks" as a _visible_ (!!) mark, one can choose? 
As much as I remember, watermark is in digiKam "a tool to overlay an image or text as an visble watermark" (context-help in batch processing). Furthermore, some approbriate "treating" may erase this type of watermark. So, overall, this is not a satisfying protection in the sense of my suggestion.

The second part of your understanding ("... robust meaning that they survive image resizing, cropping, recompression, ") fits my intention better. 

(I am not a programming guy as mentioned several times in this tracking system) 

I do _not_ agree to your last sentence, however:

- digiKam integrates external work as in KIPI-Plugins, Kdcraw, etc, provides interfaces to comercial or copyright protected software services (Marble, shmug, Facebook, etc.). That is the reason which I assume one can handle the question of opensource and free availability.

- Why digiKam does not provide an interface to (maybe) comercial suppliers for Digital Rights Management? The legal background would still remain to users, not be related to digiKam, I guess.

- Firefox shows free Add-Ons to show the origin of an image. Therefore this is a matter of common interest. Do you agree?
-- TinEye Reverse Image Search, 
-- Search Image Everywhere

- Is it possible to use merging techniques using free(!) pretty good privacy (or similar) and `free picture` processed in digiKam?

- Did you check out the links from Comment #2? There are many opensource projects dealing related topics, as in <http://www.dmoz.org/Computers/Security/Products_and_Tools/Cryptography/Steganography/> In "worst case", some authors
ahould be willing to support this idea. I mentioned Markus Kuhn, already.

I agree, there might be some work in evaluating these questions in detail. The resulting chances for digiKam would be huge!

Hope I could answer your questions. Thank you for your considerations


Axel
Comment 7 Andreas K. Huettel 2011-03-26 11:49:22 UTC
> I am not familiar with documentations of several picture formats. Maybe you are
> right; but still hesitating to agree, as many raw-formats seem to be
> proprietary by camera producers [NIKON: nef, CANON: crw, cr2 etc.). digiKam can
> handle these. In spite of their format description is not "open", in many
> cases.

That's true... since I dont use these formats yet so far, I tend to overlook them. :(

> Thank you for revising my thoughts about "watermarks". Am I right if I
> understand "watermarks" as a _visible_ (!!) mark, one can choose? 

It can be both, that's why I wrote about "invisible" watermarks.
So far, digikam only uses the term for visible watermarks.

> The second part of your understanding ("... robust meaning that they survive
> image resizing, cropping, recompression, ") fits my intention better. 

In general, 
* robust alone is not the problem (think big fat ugly text in the middle of the image)
* invisible alone is not the problem (think hiding data in the least significant bits)

> - digiKam integrates external work as in KIPI-Plugins, Kdcraw, etc, provides
> interfaces to comercial or copyright protected software services (Marble,
> shmug, Facebook, etc.). That is the reason which I assume one can handle the
> question of opensource and free availability.
> - Why digiKam does not provide an interface to (maybe) comercial suppliers for
> Digital Rights Management? The legal background would still remain to users,
> not be related to digiKam, I guess.

Well I guess that's a question the digikam devs will have to decide. I'm certainly agreeing that there are people who would be interested in such a feature.

> - Did you check out the links from Comment #2? There are many opensource
> projects dealing related topics, as in
> <http://www.dmoz.org/Computers/Security/Products_and_Tools/Cryptography/Steganography/>
> In "worst case", some authors
> ahould be willing to support this idea. I mentioned Markus Kuhn, already.

Some time ago I searched myself for a while for such a program and did not find anything reasonable that supports "robust AND invisible". 

I'll go through the links later in detail, the ones I checked so far focus on steganography. Which is fine for the "invisible" part, but once you crop, recompress, or convert your image, you are usually lost.

Of course it would be great if you could get one of the experts interested. :)

Here's an example on how these techniques are used "professionally":
http://www.cl.cam.ac.uk/~sjm217/projects/currency/
Comment 8 Todd 2011-03-26 16:07:14 UTC
(In reply to comment #6)
> - digiKam integrates external work as in KIPI-Plugins, Kdcraw, etc, provides
> interfaces to comercial or copyright protected software services (Marble,
> shmug, Facebook, etc.). That is the reason which I assume one can handle the
> question of opensource and free availability.

I am not sure why you included Marble, it is open-source as well.  The external libraries digikam integrates are all open-source.  The non-open-source stuff digikmam connects to are all web services where digikam's sole role is sending data over open-source compatible (i.e. http or ftp) communication channels.  There is a big difference between sending some data over the internet and linking to a library internally.  I am not 100% sure it is against the GPL license to link to commercial software internally, but it highly frowned-upon and makes distribution of the software very difficult.  It also requires that the software has a license that lets people link to it, otherwise digikam trying to do so would break the law.

Even ignoring the licensing issues, it is very unlikely that digikam would include features that require users jump through additional hoops (going online to download software, or even buying software) to make use of it.

It would also require the software be available for Linux.  Digikam is not linux-only, but it seems unlikely they would include software that only works on windows since that is a small fraction of their user and develop base.

> - Did you check out the links from Comment #2? There are many opensource
> projects dealing related topics, as in
> <http://www.dmoz.org/Computers/Security/Products_and_Tools/Cryptography/Steganography/>

What are the "many" open source versions listed there?  I looked through all the software on that list, only one is open-source (steghide), and it is unmaintained (last release was in 2003).  They list a bunch of freeware applications, but freeware and open source are not the same thing.

Can you please list any specific examples of currently-maintained open-source applications or libraries that support at the very least Linux and windows, rather than a website with a list of applications with no indication as to whether those applications are open-source or currently maintained?  

Since you are the one pushing this idea, it would be considerate to the readers if you made the effort to find the software that could be used, rather than forcing your readers to hunt for it.  You are trying to convince everyone this is a good idea, but forcing the readers to do your basic research for you is not the best way to go about it.
Comment 9 Axel Krebs 2012-09-15 11:55:24 UTC
Dear Uusers:

In "c't Digital Fotografie", 03/12 (page 90ff) you'll find a report of 14 pages dealing with serveral aspects of watermarking in GERMAN lnguage.

- proitection by watermarks
- steganography versus watermarking
- hoiw watermatks work
- finding stolen pics by crawler (p. 97)
- webservice instead of watermarks
- tools for watermarking  (p. 100ff)
- effects oin pic quality (p. 101)
- tutorial on how to visualize watermarks (p. 103) 

For my opinion, these informations state the high importance of copyrighting and assuring owenership.
Comment 10 Simon 2017-05-12 16:05:06 UTC
G'MIC has a filter that embeds text in the fourier domain, it is
called "Fourier watermark" (and "Fourier analysis" to retrieve the
info): https://gmicol.greyc.fr/
Comment 11 caulier.gilles 2022-01-15 09:42:48 UTC
The digiKam Image Editor Gmic Qt plugin with Fourier Watermark tool in action :

https://i.imgur.com/Fmmq7Ec.png

I close this file now.

Gilles Caulier