T
T
token2016-01-29 11:54:44
Encryption
token, 2016-01-29 11:54:44

Possible vulnerabilities in the presented algorithm for the exchange between a key and a lock via a radio channel?

Hello! Need advice on the security of using the presented authentication scheme between a lock and a key (meaning a key that opens a remote lock, via a radio channel):
1. The key generates an absolutely unique sequence (never repeats), let's call it "K1".
2. The key sends a request to the lock, the request consists of K1 and H1 = MD5(K1 + SALT1)
3. The lock checks the equality H1 = MD5(K1 + SALT1)
4. The lock generates an absolutely unique sequence (never repeats), let's call it " K2".
5. The lock responds to the key with a packet that consists of H2 = MD5(K2 + SALT2)
6. The key makes H3 = MD5(H2 + SALT3) and sends it back to the lock
7. The lock checks for H3 = MD5(H2 + SALT3) and resp. . how he reacts to it
What are the possible vulnerabilities? Is it safe (in this context) to use MD5?
Update question:
In general, they advised me the following:
1. Throw out steps 1 - 3 completely
2. Replace MD5 with an HMAC variation of HMAC-MD5 / HMAC-SHA1
How is this option? Burglar resistant?

Answer the question

In order to leave comments, you need to log in

4 answer(s)
A
Armenian Radio, 2016-01-29
@gbg

Are you sending naked K1 and MD5(K1 || SALT1)? In this case, your crutch is over, anyone will pick up SALT1.
You, as usual, got the Schneier law .
You are dangerously incompetent in cryptography

R
res2001, 2016-01-29
@res2001

What can prevent any other unauthorized device from starting the authentication process? Ignorance of SALT1,2,3?

A
Andrey, 2016-01-29
@VladimirAndreev

It turns out that absolutely any key that implements this algorithm will open the lock?

J
jcmvbkbc, 2016-01-30
@jcmvbkbc

1. The word salt denotes an open random sequence needed to fight rainbow tables. If the material is secret, then it is either a key or a derivative of it.
2. K2 and SALT2 are not needed at all in your algorithm, since they are not used by the second party in any way. In essence, you send a random H2 from the lock and check that the key knows SALT3.
3. Nowhere in the description is it visible how the key and lock identify messages as part of the same authentication process. Well, i.e. How does a lock receiving something (presumably H3) associate it with a previously sent H2?

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question