Take the 2-minute tour ×
Information Security Stack Exchange is a question and answer site for Information security professionals. It's 100% free, no registration required.

This question already has an answer here:

We have to build a product that will have a network. Users will be able to connect to this network by downloading a client. However, before allowing them to access the network we want to check if their hardware, for instance, supports certain characteristics.

I had thought that by sending to our server the result of a test, which looks for these hardware characteristics, and its hash, both of them encrypted, it could be enough. However, I fear that this result could be "injected", and thus we would be fooled into thinking that he/she has the correct hardware.

On the same wavelength, I might want to check that the client has not been manipulated, using, for example, a hashing algorithm. I think that we face a similar problem that in the hardware check scenario.

share|improve this question
    
License keys...? –  Terry Chia Jul 1 '13 at 12:23
    
@TerryChia how do they know that it was not created by a keygen? Or that I am not the rightful owner of that key but an impostor? –  eversor Jul 1 '13 at 12:28
    
Because they will notice that multiple people around the globe have authenticated with the same key. –  Lucas Kauffman Jul 1 '13 at 12:30
add comment

marked as duplicate by Lucas Kauffman, Gilles, NULLZ, TildalWave, Adnan Jul 1 '13 at 14:00

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.

2 Answers

So in terms of gaming companies blocking illegal software, as @lucaskauffman and @terrychia mention in commments this is typically done by the company issuing license keys to each user and then doing an online check during installation/operation that the key is only used in one place and is a valid key.

If you're looking at restricting access to a system based on hardware characteristics or perhaps installed software/configuration that sounds more like a job for Network Access Control (NAC) style systems.

They typically work by deploying an agent to each client which then runs a series of checks returning the result to network hardware that then only allows access to the network if the result is as expected.

A big warning with this kind of system is that a determined attacker will likely be able to bypass it. The security adage is that once the attacker has control of the hardware (in this case the client) they can usually bypass controls deployed to it.

It's not to say that it's not a good control, but that it's only effective in some situations and against some classes of attacker.

share|improve this answer
add comment

There's a pretty good rule to keep in mind here:-

Using only client sided validation never works. http://stackoverflow.com/questions/3531968/why-is-client-side-validation-a-security-risk-as-opposed-to-server-side-validati

Therefore, if you ask only a client based software to check for authenticity of hosts, it will never work (with or without things like hash checks). We can discuss that in comments or the chat room. ;)

We therefore more onto concepts where authentication is handled at a remote server which is considered secure from the attacker.

Next up are Network Access Control (NAC) related solutions which are good for most applications but like almost everything is security can't give you a one-step solution. They have the advantage of often not requiring client sided software installations. Try PacketFence: http://www.packetfence.org/home.html

Most solutions wherein software can be installed on a client's computer involve giving users unique access credentials which are then verified for integrity on the server. Simultaneous use of one set of credentials is not permitted and is detected via two concurrent sessions by the same user ID by the session management module.

This works fine unless you want user access credentials tied to a PC. In that case, there is no definitive solution I know of. Administrators rely on things such as the user is not having the know-how to clone the OS image or to steal and then spoof the MAC.

By implementing multiple such checks and keeping logs along with that, potentially adventurous troublemakers can be caught as the learn how to circumvent the system.

share|improve this answer
add comment

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