icmns 2006 itb bandung
TRANSCRIPT
IMAGE COPYRIGHT IMAGE COPYRIGHT PROTECTION USING PROTECTION USING WATERMARKING IN WATERMARKING IN WEB APPLICATION WEB APPLICATION WITH GDI+WITH GDI+
Soetam Rizky Wicaksono, S.Kom, MCP
Information System Faculty Information System Faculty STIKOM Surabaya STIKOM Surabaya Raya Kedung Baruk 98Raya Kedung Baruk 98SurabayaSurabaya
Why Need Protection ?
• Too many images in web• Duplication, copyright fraud,
retouching / manipulation• Protection via login process or
subscription is not the best way anymore, too many ways to crack them, event with kiddies script
Solution Options For Web
• Image serialization( already done at SITIA 2006 )
• Convert into machine unreadable format although human readable such as : base-64, HTML etc.( Will be done at SNIKTI 2007 )
• Steganography( Will be done at KNSI 2007 )
• Watermarking
Chosen Option
On-the-fly watermarking :• Can be used not only in web
application, however, more appropriate applied in web application
• Using GDI+ in .NET Framework, thus it won’t charge additional time for webmaster in creating watermarking in upload process
Why Watermarking ?
• The amount of embedded information has a direct influence on watermark robustness.
• Embedding strength – there is trade-off between watermark embedding robustness and quality.
Sagarmay, Deb (ed), “Multimedia System and Content-Based Image Retrieval”, Idea Group, London, 2004.
Watermarking Weaknesses
• Selecting layers with the same pattern or same color
• Eliminate using imaging tools • Cropping technique
Avoid Watermarking Attacks
• Avoid placing watermark layer only in the corner of original image to eliminate cropping attack
• Placing more than one watermark layer
• Make gradient in watermark layer to avoid same-pattern attack
GDI+• An all-purpose drawing model for .NET
applications. • GDI+ has a number of uses in .NET, including
writing documents to the printer, displaying graphics in a Windows application, and rendering graphics in a web page.
• Using GDI+ code to draw a graphic is slower than using a static image file.
• However, it gives much more freedom and enables several possibilities that weren’t possible (or were prohibitively difficult) in earlier web development platforms
GDI+ Basics
• Create the in-memory bitmap where to perform all drawing.
• Create a GDI+ graphics context for the image. This gives the System.Drawing.Graphics object
• Perform the drawing using the methods of the Graphics object. Draw and fill lines and shapes, and can even copy bitmap content from existing files.
• Write the binary data for the image to the browser by using the Response.OutputStream property.
Watermarking Implementation
• Assuming that image file which will be protected already located at web server, GDI+ will read the original image as new layer
• Generate a new layer for watermark, which consist of copyright text
• Merge both layers
Detail Implementation• Take place at zero pixel for x
coordinate from the original image and started from 40 pixel for y coordinate from the original image.
• Assuming that image file which will be protected from internet infringement copyright has size more than 100x100 pixels.
• Only aim to be example, in further development, it should be adjusted within the image size.
Detail Implementation
Original image
Watermark layer
40
ASP .NET 2.0 Implementation
• Create original image as the container for watermarking layer
• Create a new layer which will going to be a watermark layer, contains text with gradient brush in order to restraint layer-removing technique
ASP .NET 2.0 Implementation
• Merging both layer into one layer and save it into a memory stream, and then display it into JPEG format.
• Assuming that the original file is also in JPEG format.
• For real application, result format should be the same with the original format of image file.
Future Development
• Watermark layer should contain many constraint to restrict it from advanced layer removing tehcniques, and as well printing infringement abuse.
• Reserve another method to combine, in order to increase security in image layering
Future Development ( II )
• Text variable in watermarking layer should be in better format, such as copyright author, date and also can include EXIF information.
• Integrate it into an XML Web Service
• Watermark layer can be encrypted using ligthweight algorithm such as TEA or XTEA
Soetam Rizky WicaksonoSoetam Rizky Wicaksono
Information System Faculty Information System Faculty STIKOM Surabaya STIKOM Surabaya Raya Kedung Baruk 98Raya Kedung Baruk 98SurabayaSurabaya