views:

153

answers:

5

Consider I have created software and want to make that soft to be activated via internet if it is being purchased (more precisely, if a license has been purchased). What is the contemporary way of making software safe from using without purchasing a license (from hacking)? How the software and license database should interact to make a robust system of safety against hacking but still not breaking the convenience and ease of use of the soft (In details please)?

NOTE: I know that completely to do that is impossible. There is no way against hacking. I am asking about decreasing possibility of hacking.

+4  A: 

You might want to start with asking how popular and ubiquitous your software is? If you're writing Photoshop then, yes, it'll need some pretty damn good protection. Anything else you can probably get away with downloading some kind of encrypted binary file from your server.

It's like encryption. It only needs to be good enough to either keep people out until the information doesn't matter or relative to the value on the information. Don't spend valuable development cycles creating a super-safe product - spend them adding value :).

Chris Arnold
+2  A: 

On Mere Mortal Software blog, the author has several articles describing his solution.

In an answer to this question, What copy protection technique do you use?, I explain why it is not worth to spend too much time on software protection.

mouviciel
Are you sure that for example Microsoft doesn't keep in enough strong attention the security of its products? I think serious specialist should be working on that.
Narek
Of course Microsoft pays attention to piracy. But with what results? Do you know that many Apple software products have no copy protection technique? Does it harm them much?
mouviciel
Piracy hurts everyone. It really does.
Alec Smart
A: 

Just develop something that no one would use apart from a handful of people and charge these people exorbitantly high prices.

That way, no one can be bothered enough to hack it, AND you're making cash back. Maybe.

AKofC
A: 

Your question boils down to: How can I make a lot of money with my software?

Activation won't help. To make a lot of money with your software, you need good marketing, fix bugs quickly, and make it easy to use (not necessarily in this order).

Aaron Digulla
+3  A: 

This is a very good article from the creator of the successful MacOS X text editor TextMate.

The basic concepts:

  • create a public/private key-pair once

On the server

  • create a hash of some user details (name or e-mail adress, ...)
  • encrypt the checksum with the private key
  • send the user a mail including the generated license key

On the client

  • use OpenSSL and your public key to validate the licence
weichsel