Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

QKD Support [Feature Request] #242

Open
nean-and-i opened this issue Feb 23, 2024 · 6 comments
Open

QKD Support [Feature Request] #242

nean-and-i opened this issue Feb 23, 2024 · 6 comments
Labels
enhancement New feature or request

Comments

@nean-and-i
Copy link

Support for Quantum Key Distribution (QKD) [Feature Request]

This is a feature request for Rosenpass to facilitate the exchange of key_ID provided by Quantum Key Distribution (QKD) Key Management System (KMS) via ETSI-014, over a secure PQC (Post-Quantum Cryptography) channel.

Background:

The objective is to enable Rosenpass to handle the exchange of key_ID associated with QKD-generated keys. This enhancement would establish Rosenpass to become a standard solution for both Post-Quantum Cryptography (PQC) and Quantum Key Distribution (QKD) additions to WireGuard.

Workflow:

  1. Key Provisioning from QKD KMS:

    • QKD KMS, for instance, QKD-KMS-Alice, will provide the keys for Pre-Shared Key (PSK) through a REST API call, adhering to the ETSI-014 specification (refer to ETSI014 specification).
    • The outcome will be a key_ID and an actual QKD-generated symmetric key, both are identical at both Location-Alice and Location-Bob.
  2. Exchange Process:

    • Rosenpass on Location-Alice will need to transmit the key_ID to Location-Bob.
    • Rosenpass on Location-Bob can then leverage the received key_ID to query QKD-KMS-Bob for the corresponding symmetric key. The key will subsequently be utilised as the Pre-Shared Key (PSK) on both location.
  3. Result:

    • A secure symmetric key generated by the Quantum Key Distribution system is utilised as the Pre-Shared Key for wireguard, enhancing the overall security of the communication between Location-Alice and Location-Bob.

By integrating QKD support into Rosenpass, this feature request facilitates the use of QKD-generated symmetric keys as PSK

Examples

KMS REST API calls respecting ETSI014

Location Alice: Get-New-Key-Request

curl --url https://$KMS/api/v1/keys/$SAE_ID/enc_keys --cacert $CACERT --cert $CERT --key $KEY --header "Content-Type: application/json"

Result:

{
    "keys": [
        {
            "key": "HaAm6+Y9I+mi8LgYYIW/O0DQXyNj36MIzctQtz7pnyg=",
            "key_ID": "d0344a38-169c-423b-a8d8-f39d83c57243"
        }
    ]
}

Location Alice -> Location Bob: use Rosenpass for PQC secured key_ID exchange

Location Bob: Get-Key-Via-Key_ID

curl --url https://$KMS/api/v1/keys/$SAE_ID/dec_keys?key_ID=$KEYID --cacert $CACERT --cert $CERT --key $KEY --header "Content-Type: application/json"

{
    "keys": [
        {
            "key": "HaAm6+Y9I+mi8LgYYIW/O0DQXyNj36MIzctQtz7pnyg=",
            "key_ID": "d0344a38-169c-423b-a8d8-f39d83c57243"
        }
    ]
}
@AliceOrunitia
Copy link
Contributor

Hi!

Thank you for the detailed request. I think it's a topic for further discussion with Rosenpass contributors. This issue is likely to be of particular interest to both @koraa, Rosenpass' founder and lead cryptographer, and Paul Sporeen (aka: aparcar), who does a lot of research work on Quantum Key Distribution for HS Nordhausen.

Would you be interested in discussing it further with them?

Thanks,
Alice

@nean-and-i
Copy link
Author

Hi Alice,

that's a very good idea.
How can I get in touch with them for an online meeting?

thanks,
nean

@aparcar
Copy link
Contributor

aparcar commented Feb 28, 2024

Please reach out via mail[at]aparcar[dot]org

@koraa
Copy link
Member

koraa commented Feb 28, 2024

@nean-and-i You already wrote a long intro message. How about a quick mail to @aparcar 's email and to karo at rosenpass dot eu so we can follow up by email…

@nean-and-i
Copy link
Author

@koraa @aparcar thanks, very much appreciated!
@AliceOrunitia thanks for connecting!

@thaodt
Copy link

thaodt commented Feb 29, 2024

@koraa @AliceOrunitia Im interested in learning more about this journey, can I take part in this thread?

@prabhpreet prabhpreet added the enhancement New feature or request label May 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

6 participants