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.

I have a case where I have a set of low compute capable processors connected to a gateway processor. I need a way of authenticating these processors to gateway processor. The main things are:

  1. I need to prevent some other processor from connecting to gateway processor
  2. I am looking at a way where after authentication, I will be using encryption so that sniffing will be impossible
  3. So I thought of doing authentication and then encryption
  4. The main challenges are computing power of the processors are very less. At at time I can send 64 bits of data only. I also need to minimize the no of data send during authentication.
  5. These are embedded processors
share|improve this question

2 Answers 2

You might think of reinventing the wheel and rolling your own protocol. Don't.

This is what SSL/TLS is for. SSL/TLS is a surprisingly lightweight protocol that works great on embedded processors. This is especially true if you control both the client and server in which case you can remove the algorithm negotiation phase and stick to a single implementation.

share|improve this answer
    
Our processors don't have computing power to handle SSL/TLS –  user2315 Dec 17 '13 at 2:25
2  
@user2315 Thomas Pornin says otherwise. security.stackexchange.com/a/3213/10211 –  Terry Chia Dec 17 '13 at 2:35

If they have enough storage, you can consider a hashchain-like scheme which makes use of only hash functions. The prover does not need to do any computations while the verifier needs to compute one hash operation only.

There are many research papers out there but basically the scheme works like this. The processors first hash a secret key, K repeatedly for N times and store all the N hash digests (This step maybe pre-computed by a third party but the processor will still have to store all the hash digests). Next, we pass the final hash digest, H^N{K} to the gateway to serve as a "commitment". In order to authenticate the processor, the latter sends the previous hash output, i.e. H^N-1{K} to the gateway. The gateway computes one hash operation and verify that H{H^N-1{K}} == H^N{K}.

If the hash function is assumed to be pre-image resistant then the user with the pre-image is likely to be legitimate. Hope this helps.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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