wolfSSLの耐量子暗号に対する取り組み [2024年 春]

これまでの3年間で、当社の製品で耐量子暗号に対応できるよう多くの取り組みを行ってまいりました。そのすべてについて、以下に示します。
ご不明な点や、さらに取り組むべき項目がございましたら、 info@wolfssl.jp までご意見をお寄せください。

wolfCrypt

以下の耐量子暗号アルゴリズムの独自実装を行いました。

  • Kyber / ML-KEM
  • LMS/HSS
  • XMSS / XMSS^MT
  • Dilithium / ML-DSA (近日公開予定)

今後数ヶ月でさらに多くのアルゴリズムの実装を予定しております。これらの実装はwolfCryptのスタンダードに基づき、最小のコードサイズ、最大のパフォーマンス、様々な環境での動作にフォーカスを置き開発しています。

wolfSSL

TLS 1.3およびDTLS 1.3では、CRQC(Cryptographically Relevant Quantum Computer、暗号関連量子コンピュータ)が存在すると、共有鍵暗号のセキュリティ性能は約半分に低下することが判明しています。(Groverのアルゴリズム)

よって、AES-128レベルの暗号強度を保ちたい場合、単純にAES-256に移行することで実現できます。wolfSSLではTLS_AWS_256_GCM_SHA_384をサポートしているため、それが簡単です。

ただし、認証と鍵交換とでは異なる対応が必要です。これらは非対称アルゴリズムであり、CRQCが存在すると最新の手法であっても完全に破綻することが判明しています。そのため、耐量子暗号アルゴリズムの使用が必須です。wolfSSLでは、Kyber / ML-KEMを通常モードとハイブリッドモードの2タイプで使用できるようにしています。

  • Kyber Level 1
  • Kyber Level 3
  • Kyber Level 5
  • ECDHE P-256 hybridized with Kyber Level 1
  • ECDHE P-384 hybridized with Kyber Level 3
  • ECDHE P-521 hybridized with Kyber Level 5

認証には、Dilithium / ML-DSAとFalconをサポートしています。X.509の最新版で指定されているハイブリッド化の方法を採用しました。この方法では、代替の公開鍵と署名がX.509拡張として指定されます。これはデュアルアルゴリズム証明書と呼ばれます。TLS 1.3レイヤーでは、CertificateVerifyハンドシェイクメッセージで使用される鍵と署名が、TLS拡張を介してネゴシエートされます。こちらも、通常モードとハイブリッドモードで使用できます。

  • Dilithium Level 2
  • Dilithium Level 3
  • Dilithium Level 5
  • Falcon Level 1
  • Falcon Level 5
  • ECDSA P-256 and Dilithium Level 2
  • ECDSA P-384 and Dilithium Level 3
  • ECDSA P-521 and Dilithium Level 5
  • ECDSA P-256 and Falcon Level 1
  • ECDSA P-521 and Falcon Level 5
  • RSA-3072 and Dilithium Level 2
  • RSA-3072 and Falcon Level 1

wolfMQTT

wolfMQTTでは、wolfSSLのTLS 1.3実装を使用しています。よって、wolfSSLの耐量子暗号機能をそのまま使用できます。

wolfSSH

wolfSSHでは、ecdh-nistp256-kyber-512r3-sha256-d00@openquantumsafe.org と呼ばれるハイブリッド鍵交換をサポートしています。これにより、OpenSSHのOQSフォーク及びAWS Transfer Family SSH実装との相互運用が可能です。

wolfBoot

wolfBootでは、ステートフルハッシュベースの暗号スキーム LMS / HSSおよび、XMSS / XMSS^MT をサポートしています。

各種OSSプロジェクトとの統合

以下に挙げる3つのWebサーバOSSプロジェクトとの耐量子暗号領域における統合を実現しています。詳細は、それぞれのリンクからご確認ください(英語)。

また、クライアント側ではcURLに量子耐性を付加しました。詳細はこちら(英語)をご覧ください。

レガシーなソフトウェアが原因で変更が難しい場合、Stunnelとの耐量子統合(英語)を用いることで、より簡単に移行できます。

今後

まもなく、Dilithium / ML-DSAの独自実装をお届けできる見込みです。また、TLS 1.3・DTLS 1.3・SSHには、Curve25519とKyberの組み合わせによるハイブリッドモードを追加する予定です。より早い実装や、その他のアルゴリズムの実装をお求めでしたら、ぜひ以下のメールアドレスまでお知らせください。

ご質問がございましたら、 info@wolfssl.jp までお問い合わせください。

原文:https://www.wolfssl.com/everything-wolfssl-is-preparing-for-post-quantum-as-of-spring-2024