2

This question already has an answer here:

I need a process to allow only certain computer systems access to the website irrespective of the network they are using.

Much like a Licensing system, I can provide a private key or something similar to the user, which the host server should identify that key by matching from a list of private key. Alternatively could the website hosting server can use the MAC address of system?

Client Machine can have any OS installed. I am familiar with PHP but open to using any programming language

Any ideas are welcome

marked as duplicate by Adi, AJ Henderson, Luc, TildalWave, goodguys_activate May 21 '13 at 13:54

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

3

You can't do it using the MAC address - these are not visible across routers. Even if you were on the same LAN, it doesn't solve the problem (as posted) since it's trivial to change a MAC address.

The big question is how closely you need to stick to your requirement.

There are lots of solutions such as simply authenticating the user, using authentication devices (such as RSA keyfobs), client side certificates - but these methods can be transferred between machines. Browser fingerprinting makes it more difficult, and something like evercookie makes circumvention more difficult (but more likely to fail to work in the first place).

Really we need to know more about whether it's the device or the user you need to authenticate and how strong the requirement to disallow duplicated access is.

2

You can use Kerberos network authentication protocol for authenticating user before accessing the machine. Kerberos provides strong authentication for client/server applications by using secret-key cryptography where both client and server prove their identity across an insecure network connection. I recommend to read "Best Practices for Integrating Kerberos into Your Application" the paper describes best practices for application developers who want to add support for the Kerberos into their applications.

Not the answer you're looking for? Browse other questions tagged or ask your own question.