Digital rights management for images

H

Henrik Dahl

Hello!

I have some images (for instance in .jpg files) which I would like to apply
digital rights management for, i.e. that only authorized users may wiew then
using their www browser, i.e. if a non-authorized user is attempting to
address the .jpg file with a url, or for that sake gets a copy of the image
file from an authorized user, the un-authorized user should not be able to
view the image.

Does some of the .NET or other Microsoft products offer a solution to the
mentioned problem?


Best regards,

Henrik Dahl
 
I

Ignacio Machin \( .NET/ C# MVP \)

Hi,

No, there is nothing like, the best you can do is placing the images inside
a password protected folder.
but if such a user gets a copy of the image there is no protection at all
and he can do anything with it.


Cheers,
 
H

Henrik Dahl

Hello again!

OK. Actually the user does not need to get the .jpg file. For instance it
could be that the .jpg file could be wrapped in something, e.g. a file of a
different kind, but supporting digital rights management in some way, which
the user could then get.


Best regards,

Henrik Dahl
 
R

Rad [Visual C# MVP]

Hello again!

OK. Actually the user does not need to get the .jpg file. For instance it
could be that the .jpg file could be wrapped in something, e.g. a file of a
different kind, but supporting digital rights management in some way, which
the user could then get.

Best regards,

Henrik Dahl

That's an interesting idea you could create a custom file type and have the
image data as an attribute of your new file type -- then you could enforce
your DRM using a custom viewer application, perhaps an ActiveX component or
a J# applet.

But alas there's little you can do for the showstopper that is the Print
Screen button or the ULTIMATE showstopper - a camera :)
 
J

Jeffrey Tan[MSFT]

Hi Henrik,

Rad [Visual C# MVP] has provided the basic idea of this approach. The key
DRM of this approach is using the undocumented file format to wrap the
image so that other vendor's image browser can not read it without your
company's file format specification.

Actually, DRM is out of the scope of .Net or C#. DRM is hot area in
computer science. Normally, the software DRM solution is not reliable
without special hardware support. Here is some comments, for your
information:
1. Undocumented custom file format. It is not uncommon for the hacker to
disassemble your application image browser to understand the logic of
parsing this undocumented file. After analysising the file format, it is
easy for the hacker to read the image part from the custom file format. DRM
lost now.
2. Although you may have encrypt the image file on the disk with enough
strong algorithm, the image still have to be decrypted in the memory before
viewing by your own application. Then the hacker process can still position
the decrypted JPG in the memory and dump/save it to the disk. DRM lost
again.

Please refer to the book below, if you need more information about how
hacker does the above 2 technologies:
"Reversing: Secrets of Reverse Engineering (Paperback) "
http://www.amazon.com/Reversing-Secrets-Engineering-Eldad-Eilam/dp/076457481
7/sr=1-1/qid=1167379224/ref=pd_bbs_sr_1/002-0699431-9284048?ie=UTF8&s=books

Another famous case study is Sony Music's DRM for its CD, which uses the
kernel-mode rootkit. This behavior is discovered by Mark Russinovich on his
wonderful blog below:
http://blogs.technet.com/markrussinovich/archive/2005/10/31/sony-rootkits-an
d-digital-rights-management-gone-too-far.aspx

However, using kernel-mode rootkit for DRM is also not perfect, Mark
Russinovich talks about how to use rootkit to defeat rootkit based DRM in
the article below:
"Using Rootkits to Defeat Digital Rights Management"
http://blogs.technet.com/markrussinovich/archive/2006/02/06/using-rootkits-t
o-defeat-digital-rights-management.aspx

Using special hardware to decrypt and display the encrypted image is the
only perfect reliable way of implementing DRM, however, it is just a
principle solution, because many company can not afford the hardware based
solution.

Sorry, for the long comment, I just want to provide more information
regarding this interesting topic. The idea solution is based on your DRM
severity, in normal situation, the Rad [Visual C# MVP]'s solution is a good
balance, although you may add some type of encryption in file.

Happy New Year!

Best regards,
Jeffrey Tan
Microsoft Online Community Support
==================================================
Get notification to my posts through email? Please refer to
http://msdn.microsoft.com/subscriptions/managednewsgroups/default.aspx#notif
ications.

Note: The MSDN Managed Newsgroup support offering is for non-urgent issues
where an initial response from the community or a Microsoft Support
Engineer within 1 business day is acceptable. Please note that each follow
up response may take approximately 2 business days as the support
professional working with you may need further investigation to reach the
most efficient resolution. The offering is not appropriate for situations
that require urgent, real-time or phone-based interactions or complex
project analysis and dump analysis issues. Issues of this nature are best
handled working with a dedicated Microsoft Support Engineer by contacting
Microsoft Customer Support Services (CSS) at
http://msdn.microsoft.com/subscriptions/support/default.aspx.
==================================================
This posting is provided "AS IS" with no warranties, and confers no rights.
 
J

Jesse McGrew

:
[...]
Using special hardware to decrypt and display the encrypted image is the
only perfect reliable way of implementing DRM, however, it is just a
principle solution, because many company can not afford the hardware based
solution.

As Rad pointed out, even custom hardware isn't a perfect solution. You
can't stop someone from making a copy via the "analog hole" by pointing
a digital camera at the screen. There'll be some quality loss, but that
may be acceptable to the copiers.

There's no technical solution to this problem, short of giving your
customers cybernetic eye transplants or beaming an image directly into
their brains. The only real solution is at the business level: if your
ability to profit depends on preventing or detecting an activity that
simply cannot be prevented or detected, perhaps you should rethink the
business model.

Jesse
 
O

Otis Mukinfus

However, using kernel-mode rootkit for DRM is also not perfect, Mark
Russinovich talks about how to use rootkit to defeat rootkit based DRM in
the article below:
"Using Rootkits to Defeat Digital Rights Management"
http://blogs.technet.com/markrussinovich/archive/2006/02/06/using-rootkits-t
o-defeat-digital-rights-management.aspx

Here is the new (correct) URL to the above:
http://blogs.technet.com/markrussin...kits-to-defeat-digital-rights-management.aspx

Good luck with your project,

Otis Mukinfus
http://www.arltex.com
http://www.tomchilders.com
 
I

Ignacio Machin \( .NET/ C# MVP \)

Hi,


Henrik Dahl said:
Hello again!

OK. Actually the user does not need to get the .jpg file. For instance it
could be that the .jpg file could be wrapped in something, e.g. a file of
a different kind, but supporting digital rights management in some way,
which the user could then get.

Honestly I think you are after the holy gail , if a user can see it he can
do a number of things:
1- printscreen
2- take a photo

and those are only the more rustic

what I see that the sites that sells pictures do is insert a watermark in
the photo in such a way that you can still see the photo but with a text or
logo inside.

in anycase there is nothing in .net to allow this.
 
R

Rad [Visual C# MVP]

Honestly I think you are after the holy gail , if a user can see it he can
do a number of things:
1- printscreen
2- take a photo

and those are only the more rustic

what I see that the sites that sells pictures do is insert a watermark in
the photo in such a way that you can still see the photo but with a text or
logo inside.

in anycase there is nothing in .net to allow this.

Not sure I understand that -- are you saying there is nothing in .NET to do
watermarking? If so I believe you can use the Graphics.DrawString() or
Graphics.DrawImage() to layer some text or another image on top of an
existing image
 
I

Ignacio Machin \( .NET/ C# MVP \)

Hi,

Rad said:
Not sure I understand that -- are you saying there is nothing in .NET to
do
watermarking? If so I believe you can use the Graphics.DrawString() or
Graphics.DrawImage() to layer some text or another image on top of an
existing image

I was refering to DRM really.

But neither the watermarking is supported in .net it's not as simple as
drawing a string or image, its' that you have to difuse it in such a way
that it does not affect the original image
 
J

Jeffrey Tan[MSFT]

Hi Jesse,

Oh, yes, thanks for pointing this out. My statement mainly comes from the
binary code DRM, which has some exception with image DRM.

Anyway, since the image will finally be displayed to the end user, so I
eliminate the discussing of the digital camera. It is totally out of the
Computer Science scope and abilitiy :).

Finally, happy New Year to all the community! Your effect makes the
newsgroup better and better!

Best regards,
Jeffrey Tan
Microsoft Online Community Support
==================================================
Get notification to my posts through email? Please refer to
http://msdn.microsoft.com/subscriptions/managednewsgroups/default.aspx#notif
ications.

Note: The MSDN Managed Newsgroup support offering is for non-urgent issues
where an initial response from the community or a Microsoft Support
Engineer within 1 business day is acceptable. Please note that each follow
up response may take approximately 2 business days as the support
professional working with you may need further investigation to reach the
most efficient resolution. The offering is not appropriate for situations
that require urgent, real-time or phone-based interactions or complex
project analysis and dump analysis issues. Issues of this nature are best
handled working with a dedicated Microsoft Support Engineer by contacting
Microsoft Customer Support Services (CSS) at
http://msdn.microsoft.com/subscriptions/support/default.aspx.
==================================================
This posting is provided "AS IS" with no warranties, and confers no rights.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top