wolfSSLでは、Linux x86_64マシンとARM Cortex M4 チップ搭載のSTM32 NUCLEO-F446ZEボード間で鍵合意にKYBER_LEVEL1グループを使用してのTLS1.3接続に成功しました!
接続には一般的なUART TTL-USBケーブルを使いました。Linuxマシン側ではケーブルをUSBポートに接続し、ボード側はUARTピンヘッダーに接続しました。いずれの側もサーバーあるいはクライアントにすることができます。
liboqsはSTM32向けビルドをサポートしていませんから、どのようにしてwolfSSLに統合したのか疑問に思う方もいらっしゃるかもしれません。wolfSSLはOQSチームの姉妹プロジェクトであるMUPQチームのpqm4プロジェクトと統合しているからです。アルゴリズムアーティファクトはliboqsとpqm4と間で相互運用されており、かつwolfSSLは両側にあるため完全な相互運用が実現できています。OQSチームのOpenSSLフォークとも相互運用できることは重要です。
これは本当に重要でしょうか?私たち重要だと思っています。ポスト量子アルゴリズムがインターネットに与える影響を示す多くの素晴らしい作業が行われています。いくつかの学術論文と大規模な実験があり、いくつかの非常に興味深い結果があり、一般的に言えば、インターネットがポスト量子アルゴリズムの準備ができていることを示しています。しかし、制約のある低リソースのデバイスについてはどうでしょうか。 IoTはどうですか?暗号化アーティファクトのサイズが大きく、一部の操作ではプロセッサパワーの必要性が高いため、これらのアルゴリズムは、制約のある低リソースのデバイスに大きな影響を与える可能性があります。
このようなリソース制限のある機器のドメインでは組み込みプラットフォーム用のポスト量子暗号アルゴリズムの実装とそれを統合しているTLSスタックがないために実験があまり行われてこなかったかもしれません。しかし、今からは変わります。TLS1.3を使ってポスト量子暗号のアルゴリズムを実験し、組み込み機器プロジェクトでの影響を検討することができます。
今後数週間で、STM32 CubeIDEプロジェクトでのサンプルプログラムと、STM32デバイスでTLS1.3を介したポスト量子暗号の確立を開始する方法についてのウェビナーをご報告できる予定です。
現在、KYBER_LEVEL1のみがサポートされています。他のアルゴリズムやバリアントが必要ですか?ハイブリッドが欲しいですか?サンプルプロジェクトとウェビナーがいつリリースされるか知りたいですか?ぜひメールでご連絡ください。
ポスト量子暗号の過去の記事はこちら:
ご質問は、info@wolfssl.jpまでお問い合わせください。テクニカルサポートについは、support@wolfssl.comにお問い合わせください。
原文:https://www.wolfssl.com/post-quantum-tls-1-3-key-establishment-comes-stm32-cortex-m4/