1
$\begingroup$

Is there any implemented solution to agree on a session key in offline way.

I can exchange some keys before being offline but I need both sides to create the session key offline.

I need implemented and secure solutions.

$\endgroup$

migrated from security.stackexchange.com Jun 19 '17 at 10:58

This question came from our site for information security professionals.

  • 1
    $\begingroup$ You want to generate 2 symmetric keys on 2 disconnected clients? Sounds like OTP to me. $\endgroup$ – schroeder Jun 19 '17 at 10:42
  • $\begingroup$ Something like that, but how to generate the same OTP at both sides? $\endgroup$ – M.Fooladgar Jun 19 '17 at 10:44
  • $\begingroup$ Use the same seed. Please look up the protocol. $\endgroup$ – schroeder Jun 19 '17 at 10:49
  • 1
    $\begingroup$ Then seed agreement is not a problem $\endgroup$ – schroeder Jun 19 '17 at 11:20
  • 1
    $\begingroup$ Generating values based on a seed (and a CSPRNG) can not be OTP. Anything else than truly random, uniform and independent random values dooes not fullfill OTPs assumptions. $\endgroup$ – tylo Jun 19 '17 at 13:00
5
$\begingroup$

Given the information in the question and in the comments, this is pretty straightforward:

  1. Online phase: Use any common key agreement protocol, e.g. Diffie-Hellmann key exchange to generate a shared secret.
  2. Offline phase: Use a proper key derivation function on the shared secret and a nonce - one nonce for each key you need to generate. A counter would also work.

I need implemented and secure solutions.

Both functionalities should be included in various cryptographic libraries.

For the security it is necessary to make sure that the shared secret is stored securely. But that's basic key management.

For the security proof you could argue that the KDF is actually a PRF or use the properties of one-way functions. A proof by contradiction should only take a few lines.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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