Hi,
I have a question regarding diffie-hellman.
What exactly are we doing with diffie-hellman key? Do we use it to create another key? Or is it the key itself?
Thanks!
Hi,
I have a question regarding diffie-hellman.
What exactly are we doing with diffie-hellman key? Do we use it to create another key? Or is it the key itself?
Thanks!
Hi,
I assume you are referring to LE Secure Connections (LESC), which is where a Diffie–Hellman key exchange is used in Bluetooth. That is used so that the two peers can exchange their public keys with each other to generate a shared secret that no one else can know, even an attacker that has intercepted all of the communication. This in turn is used to generate a encryption key.
You can read more about LESC here, and refer to the Bluetooth specification for all details.
Hi,
I know that with diffie-hellman, both sides generates a key, without sharing private keys.
After it's done - we are we doing with that key? Do we use it to generate another key?
Thanks!
I understand that we are generating the LTK, using both sides addresses and random numbers which are sent to both sides. Can you please tell me if those numbers are sent before or after diffie-hellman? Does it happen over secured connection?
First, public keys are exchanged. Second, confirmation and random values are sent. The channel is not encrypted at this stage, but these values are not secret.
Thanks!
Regarding phases - does key generation occur during the second phase? Because I know that third phase is key distribution.
In other words - why do we need another phase for key distribution? After Diffie-hellman - both sides can generate the LTK.
Thanks!
In other words - why do we need another phase for key distribution? After Diffie-hellman - both sides can generate the LTK
They do. In case of LESC, third phase is only needed to distribute IRK and CSRK (if requested in pairing request/response). As these values are confidential, this step is performed over an encrypted channel.
In other words - why do we need another phase for key distribution? After Diffie-hellman - both sides can generate the LTK
They do. In case of LESC, third phase is only needed to distribute IRK and CSRK (if requested in pairing request/response). As these values are confidential, this step is performed over an encrypted channel.
OK, just to be sure everything is cleared:
Diffie-Hellman is used to generate shared secret. In the end - both sides have the shared secret.
After that - we use that shared secret key and together with both sides's addresses and rand numbers, we create the LTK? Do we know the exact generation function?
Thanks!!
After that - we use that shared secret key and together with both sides's addresses and rand numbers, we create the LTK?
Exactly.
Do we know the exact generation function?
Yes, see Bluetooth Core specification Vol 3 Part H, "LE Secure Connections key generation function f5".
Thanks!
Can you please tell me in which phase does authentication (passkey etc...) occur?
Phase 2, Authentication Stage 1.
If you're curious about such low-level things, please read Bluetooth Core spec (Vol 3 Part H) - the whole pairing process is explained in details.
Thanks!
Can you please give me the link for the spec?