0

We want to create a unique machine id - key fingerprint, in order to use it to identify a PC(s) over a secure network (probably ssl/tls), so that we are sure that the server delivers to the certain PC , and not to someone who has stolen the license. The pc(s) will be on Linux OS. How should we do it?

Stathis G.
  • 247
  • 1
  • 3
  • 12

1 Answers1

0

Couple of suggestions.

  1. Create a unique hashing algorithm that hashes the computer name and MAC address together, sends the hash back to the secure server, and stores it in a binary file on the local machine. When communicating, your protocol then requires the client to send it's hashcode fingerprint to the server to authenticate before communicating.

  2. Generate a set of valid license keys (another hash) that you store in a special file. When the application boots for the first time, it registers the key and computer information with the server (ie: computer name) or username/password combo. As with #1, the computer must send the unique key to the server to authenticate before communicating. Set up your server code so the same key cannot come from two different devices.

  3. Check out this stackoverflow answer to the same question. The author had some interesting insights to a very similar question.

Community
  • 1
  • 1
FloppyDisk
  • 1,693
  • 16
  • 25
  • I would go for option 1. This algorithm you say should be an app running on the client's machine? Or is it possible for the server to request and get this kind of information from the client? If an app should be made, how will this be triggered every time a server needs to authenticate the request? – Stathis G. Oct 06 '11 at 08:33
  • If you are going to build a client side application, you can just bundle this in with that instead of building a separate app to make the key hash. On the other hand, if you decide to not have a client side app, you would have the server generate a valid hash key using something like the current time in milliseconds and send that to the client when the client requests a key. – FloppyDisk Oct 06 '11 at 13:55