Accessibility
 
Home / Developer Center /  

JD's Forum

John Dowdell

John Dowdell

John Dowdell joined Macromedia in 1993 and listens to people in the online communities. He likes to make complex things simpler, and keeps a daily weblog of related news.

View Previous Columns

 
Question of the week: How to Protect Digital Content?


Summary: No conclusions here... I've just noticed how the same problem manifests itself in different ways, and I'm rambling a bit over ways to ease certain situations.

All of us who deliver digital content risk having that content copied and reused without our consent. Photographs are reused without notice... site designs are used anew on different sites... SWF applications are often swiped for other sites... Macromedia's applications are stolen and impersonated... music and movies are pressed onto CDs without compensation to the creators.

We humans have succeeded in making it easy to copy digital content, but we're still struggling with ways to route perceived value back to the real creators, without having it leeched out by parasites.

I have a feeling this is a short-term bump in the road... my gut tells me that people parasitize when they're just on the road to prosperity, and that once they actually become prosperous they find more value in becoming close to the creator. Look at the market for counterfeit clothing in China... people buy fake labels to show they're more prosperous than they are, but there is then a higher status in the actual connection to the true designer label.

The bell curve is similar to that for pollution rates in developing countries, or deforestation rates... as Julian Simon and others have shown, environmental degradation increases while a country is developing, but after a certain point of prosperity there is value found in a natural environment again. It's not a linear trend, but is instead a bell-shaped trend. I think we'll see the same type of curve with digital theft.

But still, it can be distressing to see some schmuck ripping off your own site design, or linking to your bitmaps on your server, or otherwise using the fruits of your creative gifts and labor without your consent. Generally, you're more protected if your production is very specific to the problem at hand. A general solution is easier to steal than a specific solution.

You can help protect a piece by branding it strongly. Put the client name in the photo, or specific names inside text, or use photos of real people rather than clip art, or call back to a specific server. Storing links within a file rather than in an external text file makes it harder for anyone to change. A strongly-branded element is harder for others to reuse.

The goal is to make it more expensive to steal your work. Any solution is hackable, but if you can increase the hacking costs you'll lower overall theft.

When taking measures against a thief, try using intermittent reinforcement rather than perfect reinforcement. If they see that something always fails then they know what they have to work around. But if something fails only once every ten times, or fails on one day and works the next, then you've massively increased their detection costs and proof costs.

The flip side of all this is true too... if you download any digital content, you should be confident of the source. A company like AOL, CNET or Macromedia has a lot invested in their reputation, and while we may not be perfect we have great incentives to only distribute safe materials. But a fly-by-night warez site has no real reputation to protect, and you can't be sure whether the material you're receiving is actually what it represents itself to be.



Here are some notes from what I've heard online about protection of various media types:

  • Photos: Slicing makes it a hassle to swipe. Sometimes people have put a DIV with transparent GIF above a photo, so a context-click copies the empty GIF instead of the photo. Digital watermarking can be used to prove where an image comes from, but it doesn't protect against the image being re-used. Putting a photo inside a SWF prevents direct copying. All of these fail against screen capture, however. Using different resolutions or adding visible watermarks is one way to separate demo artwork from deliverable artwork.

    If someone links to photos on your server, they'll show up in your server logs. This is particularly sleazy, because they're not only stealing your content, they're stealing your bandwidth too. Fortuntately you can have some fun with these people by changing your HTML to match new images in a new location, and then changing the images at the original location to change the meaning of the thief's site. (If you give them evil images for only an hour a day, and normal images the rest of the time, then you can increase the number of complaints they receive by lengthening the time before they can detect and resolve the problem.)

  • Maps: Cartographers have used "bunnies" to mark their work... these are sort of like easter eggs, and occur as fake streets or names. Not all digital content can use similar techniques, but if you have a proprietary description of public events, then false identifying data is a good technique to keep in mind.

  • Markup: In the late '90s the HTML-authoring newsgroups would see "How can I protect my markup?" threads with astounding regularity. I think it was because those folks regarded markup as being very difficult to produce, so it would have implied value. The thread has died down in recent years. Dreamweaver has seen a competing tool directly swipe its JavaScript routines. Generally, though, people don't seem as worried about protecting markup and JavaScript as they did a few years ago.

  • Deep links: I'm not sure what the fuss is in the courts over this... you can do a server-side or client-side detection of the referring link, and route the viewer elsewhere if they don't come from your domain. This may be another example of heavy-handed political rules having more unimagined side-effects than simple and evolving technical protections would.

  • Applets: Shockwave and Flash applets have been stolen in the past, but these interactive elements offer more means to recognize where they are and to take appropriate action. There are TechNotes detailing some protection techniques, and Gary Rosenzweig recently wrote an article on various approaches. A thief can still reach inside the SWF or DCR to change protection strings, but this increases their theft costs dramatically. As with other protection methods, having it fail intermittently can cost a thief much more than having it fail reliably every time.

    Techniques here include having the applet query its serving location; having the applet call for a local file to act as key; having explicit timeouts in the copy of the aplet; having the applet report its serving location to your server; requiring matching keycode in the HTML's OBJECT/EMBED parameters; using a host file which calls multiple content files; more.

    SWF files are publicly documented, and so can be read by other applications. The "protect" bit on a SWF is respected by the Macromedia Flash authoring application, but other applications cannot be compelled to respect these privileges. Sometimes people want to protect their ActionScript from inspection. This cannot be done, but you can make it more expensive to read these scripts by obfuscating function and variable names with nonsense strings, by padding with dummy scripts, by setting global variables in an obscure part of the file, by including misleading comments. (I'm not sure that these techniques aren't more trouble than they're worth, myself.)

  • Web services: This hasn't come up yet, but I imagine it will be an issue soon... what happens when someone swipes book descriptions from Amazon for their own order-fulfillment? How can we prevent a service from being misused? This type of issue will likely come up more and more over the next two years.

  • Applications: If you download an application from a criminal site and run it on your machine, then you're acting like a moron. You're acting like a dangerous moron too. It doesn't matter whether it's a full application or just a crack for a trial... by willingly executing admitted-criminal instructions on your machine you've left yourself open to remote control, and you risk hurting the rest of us too.

    Virus writers, spyware bundles and other malefactors go to a lot of trouble to try to get people to execute their code. If you do so willingly, then that's just dumb, dumb, dumb.

    Does anti-viral software help? It can only detect known signatures... it's rear-guard protection against known and popular dangers, but cannot protect your machine from dangers it hasn't been written to recognize. Why would anyone want to insert control code on my machine? For a massive coordinated denial-of-service attack that can cripple the net from just a horde of infected machines. We're in a war, and when stupid [expletive deleted] humans fly airplanes into buildings they'll certainly want to crash the net too.

    Please, if you're going to steal from me and my friends here at Macromedia, then at least have the basic intelligence to steal a serial number rather than downloading weird code from who-knows-where. You've just got to know whose instructions you're obeying these days!!

  • Music and movies: These are files, rather than applications, and so usually don't have the security risks of warez. But if you run utility apps like Kazaa then you've probably got some associated spyware installed on your machine. There have been a few exploits where image or music files have actually contained data, which was then executed by a smaller app which came in through another avenue. Once you go into the grey market for digital content you can't really be sure what you're getting.

    Music is sort of a funny situation, because it has been an artificially-maintained market for so long. The early popular music business was very diverse, but now there are five major labels which control the bulk of the money. Radio spectrum has been politically controlled far in excess of technological realities, and radio content is heavily manipulated. Copyright law has been extended, thanks to Sonny Bono, from the incredible to the absurd... there's something wrong with a world where you can't sing "Happy Birthday" in public. Music creators can generate millions in sales, but others may end up with this money instead of them. It may take awhile for this house of cards to topple over, but something has gotta give here, the music business is just too nuts.

    (If you're a musician, then there are efforts underway now to build a post-Big5 music business... the adage "you can't steal a gift" shows where the strongest economic structures may be.)

    Will movies follow the same trend? They require more capital than music-making, and aren't something that people do everyday. But video capture and editing are rapidly increasing, and I suspect there are major shifts up ahead for the large studios soon. As video becomes an everyday means of mutual communication the evolutionary pressures on big-budget film will rapidly mutate.

    I don't know what the solutions for the music and movie businesses are, and fortunately I don't have to know. I strongly suspect that they'll end up de-emphasizing the digital bits, and instead focus on the relationship between creators and those who find value in their work. But they may just try to pass a Volstead Act on certain chipsets, who knows....


We humans haven't been in a position before where it has been so easy to duplicate, transmit, and reuse creative work, much less a situation where so much human value is carried in creative work rather than agriculture, manufactured goods or non-creative services. There's definitely abuse out there, but we're also gradually evolving social mechanisms to deal with it. There's a risk that ham-handed political rules may blockade this social evolution.

Myself, I strongly suspect we're due for a plague from rampant file-copying... that vector is too convenient a transmission path for pathologies to ignore. Such a disaster will bring into sharper relief the necessity of trusting the digital content you're using.

But until then, a general approach is to make your solutions specific to the task at hand... use general components during construction, sure, but strive for the tightest fit to your client's particular needs. The more closely your project fits into the one ecology, the more mutation it would have to do to be transplanted into other ecologies.

See? I told you I didn't have any final answers to this problem.... ;-)