セキュリティライブラリーwolfSSLが耐量子計算機暗号(PQC)に対応、組み込み機器で通信が可能に

セキュリティライブラリーwolfSSLが耐量子計算機暗号(PQC)に対応、組み込み機器で耐量子計算機暗号による通信が可能に

米国ワシントン州を拠点に組み込みシステム向けに軽量なセキュリティライブラリーを提供するwolfSSLは3月16日、主力製品の組み込みシステム向けセキュリティライブラリー「wolfSSL」が耐量子計算機暗号(PQC。耐量子暗号、ポスト量子暗号とも。Post-quantum cryptography)に対応したことを発表した。これにより、wolfSSLライブラリーを組み込んだ製品は、インターネットセキュリティーの標準プロトコル「TLS」上で、アプリケーションに変更を加えることなく、ポスト量子暗号による通信が可能になる。

現在、米国標準技術局(NIST)では、本格的な量子コンピューターの時代を見据えた耐量子計算機暗号の国際標準化を進めている。その候補として最終的に絞り込まれた技術のアルゴリズムを、オープンソースソフトウェア(OSS)プロジェクト「Open Quantum Safe」(OQS)が「liboqs」ライブラリーとして提供しており、wolfSSLはこれを実装し、組み込みシステムで利用できるようにしたということだ。

すでに、現在提供されている最新バージョン「wolfSSL 5.2.0」で耐量子計算機暗号に対応している。TLSで試すサンプルプログラムとその使用法の説明は、「wolfSSLのポスト量子暗号対応」で公開している。

最新のトランスポートレイヤーセキュリティ(TLS)プロトコルを強化するライブラリを、Facebookがオープンソース化

Internet Engineering Task Force(IETF)は何年にもわたって、Transport Layer Security(TLS)プロトコルの改善に取り組んでいる、このプロトコルはデータをインターネット上で移動させる際に、開発者がデータ保護を行いやすくするためのものだ。FacebookはFizzというAPIライブラリを開発していた。これは最新版であるTLS1.3を、Facebbokネットワーク上で改善するためのものだ。本日(米国時間8月6日)Facebookは、Fizzをオープンソース化し、誰でもアクセスできるようにそれをGitHub上に置いたことを発表した

Facebookは現在、トラフィックの50%以上をTLS 1.3とFizzを通じて扱っており、彼らはそれをこれまでで最も大規模なTLS 1.3の実装だと考えている。

これらはすべて、トラフィックがインターネット上をどのように動くのか、サーバー同士がどのように安全に通信するのかに関係している、これは、Facebookも指摘しているように、とても重要なことだ。なぜなら現代のインターネットサーバーアーキテクチャの中ではプロセスの重要な部分が世界中のあちこちに分散してしまっていることが珍しくないからだ。またこのことにより、データをサーバーからサーバーへ移動させる際のレイテンシー(遅延時間)を削減するという課題も生まれる。

主要な問題の1つは、膨大なデータをメモリ領域に書き込むことで、リソースのオーバーヘッドと速度低下が起きることだ。この問題を回避するために、Facebookはデータをメモリに移す際に、小さなチャンクに分割し、それらをその場で暗号化することを決定した。このプロセスはscatter/gather I/O(分断/結合を行うI/O)という名で呼ばれている。

ひとかたまりのデータを暗号化するのではなく、Scatter/Gather Fizzを利用してデータを小さな断片に分割しそれぞれを暗号化する。図提供:Facebook

TLS 1.3では、”early data”(これはゼロラウンドトリップデータ、もしくは0-RTTデータとしても知られている)という概念が導入され、レイテンシーの削減を助ける。ITEFによれば、これは「クライアントが直近にアクセスしたものと同じサーバーに接続しているのなら、クライアントが接続時の最初のラウンドトリップの際に、TLSハンドシェイクの成立を待たずにデータを送ることを可能にする」ものだ。問題は、このコンセプトが安全でない場合があることだ。そこでFizzはこのコンセプトに基くAPIを取り込み、既知の脆弱性を取り除きながらそのAPIの上にシステムを構築した。

FacebookはIETFと協力してきた、同社は日々扱う膨大な数のトランザクションに由来するユニークなニーズを抱えているからだ。Facebookによれば、TLS 1.3は「インターネットトラフィックをより安全にするための新しい機能が取り込まれている。例えば証明書をプライベートに保つための暗号化されたハンドシェイクメッセージの取り込みや、秘密鍵の導出方法の再設計、そしてゼロラウンドトリップコネクションセットアップ(これによりいくつかのリクエストは確かにTLS 1.2よりも速くなる)などだ」。

Fizzに関してFacebookは「TLS 1.3で実現された改良点に加えて、Fizzはミドルボックスハンドシェイクエラーへの改良されたソリューション、ディフォルトでの非同期I/Oサポート、そして余計なデータコピーを取り除くためにscatter/gather I/Oを利用する」と、ライブラリのオープンソース化を発表したブログ投稿の中で述べている。

Fizzは、Transport Layer Security(TLS)プロトコルの最新バージョンを改良したものだ。そしてそれをオープンソース化することにより、Facebookはこのテクノロジーを広くコミュニティで共有し、誰もがFacebookの作り上げた成果物を利用して開発が行えるようにしたのだ。

[原文へ]
(翻訳:sako)

写真: Maxiphoto / Getty Images