views:

39

answers:

3

Two types of problems I want to talk about:

1) Say you wrote a program you want to encrypt for copyright purposes (eg: denying unlicensed user from reading a certain file, or disabling certain features of the program), but most software-based encryption can be broken by hackers (just look at the amount of programs available to HACK programs to become "full versions". )

2) Say you want to push a software to other users, but want to protect against piracy (ie, the other user making a copy of this software and selling it as their own). What effective way is there to guard against this (similar to music protection on CD's, like DRM)? Both from a software perspective and a hardware perspective?

Or are those 2 belong to the same class of problems? (Dongles being the hardware / chip based solution, as many noted below) ?

So, can chip or hardware based encryption be used? And if so, what exactly is needed? Do you purchase a special kind of CPU, special kind of hardware? What do we need to do?

Any guidance is appreciated, thanks!

A: 

Back in the day I've seen hardware dongles on the parallell port. Today you use USB dongles like this. Wikipedia link.

NA
A: 

They are called dongles, they fit in the USB port (nowadays) and contain their own little computer and some encrypted memory.

You can use them to check the program is valud by testing if the hardware dongle is present, you can store enecryption keys and other info in the dongle or sometimes you can have some program functions run in the dongle. It's based on the dongle being harder to copy and reverse engineer than your software.

See deskey or hasp (seem to have been taken over)

Martin Beckett
A: 

Unless you're selling this program for thousands of dollars a copy, it's almost certainly not worth the effort.

As others have pointed out, you're basically talking about a dongle, which, in addition to being a major source of hard-to-fix bugs for developers, is a also a major source of irritation for users, and there's a long history of these supposedly "uncrackable" dongles being cracked. AutoCAD and Cubase are two examples that come to mind.

The bottom line is that a determined enough cracker can still crack dongle protection; and if your software isn't an attractive enough target for the crackers to do this, then it's probably not worth the expense in the first place.

Just my two cents.

Aaronaught
Interesting. This is what we may be looking for. So how do we produce a dongle? Do we contact dongle manufacturer, and they have to physically manufacture and customize the dongles to fit our software protection requirements? And if we sell 100 copies of the software, we'd have to distribute 100 copies of the dongles to the customers?
Saobi