0
$\begingroup$

I am dealing with protocol design regarding the Diffie-Hellman Key Exchange (DHKE). The DHKE is performed by the Key Master and some Slave Component. Afterwards, a session key is transmitted using the secure channel provided by the DHKE (i.e. the session key is protected using the shared DH key).

From a logical standpoint, I would suppose that the session key is derived after the DHKE was performed. However, for performance reasons it may be better to derive the session key berforehand (see diagram below).

I am asking myself whether there might be security issues by doing so and whether there are other things that need to be considered w.r.t. order of executed actions.enter image description here

Edit: The session key is not derived from the shared DH key. Reasoning: The DHKE is performed among the Key Master and multiple Slave Components.

Furthermore, the session key is just used for integrity protection (by calculating a MAC).

$\endgroup$
10
  • 2
    $\begingroup$ In DHKE, the key derivation can't be before receiving data from the other side. $\endgroup$
    – fgrieu
    Commented May 3, 2020 at 14:33
  • $\begingroup$ Why not, if the key is generated just as a random number of suitable size? $\endgroup$
    – Marm
    Commented May 3, 2020 at 14:35
  • $\begingroup$ Oh maybe it is not clear from the description above: I am talking about a session key that is sent encrypted using the shared DH key (i.e. two separate keys) $\endgroup$
    – Marm
    Commented May 3, 2020 at 14:37
  • 1
    $\begingroup$ @kelalaka Because there are actually multiple slave components. The Key Master performs DHKE with each component separately. Therefore the shared DH keys differs for each pair of (Master, Slave_i), but the session key must be the same for alle components $\endgroup$
    – Marm
    Commented May 3, 2020 at 14:46
  • $\begingroup$ @kelalaka Thanks! I edited above. The session key is used for MAC generation and not for encryption $\endgroup$
    – Marm
    Commented May 3, 2020 at 14:57

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.