1. はじめに
2024年はセキュリティに関して大きな動きがありました。まず、2024年10月にEUでサイバーレジリエンス法が採択され、製品のサイバーセキュリティ確保を製造者に義務付けることになり、この法律が発効されてから36か月後に全面的に適用され、日本企業もEU圏に販売するデジタル製品にも適用されます。
もう一つは、量子コンピュータの研究開発が進んでおり、2030年に実用化されると言われています。
量子コンピュータの出現は、現在の非対称暗号を破るのに十分な性能を持つようになり、重要なデータや資産を危険にさらすことになるでしょう。このコラムでは、耐量子暗号の最近の開発について説明し、量子コンピューティング時代にデバイスとデータを保護するために知っておくべきことを以降に記します。
まず、セキュリティ・アーキテクチャの基礎と暗号プリミティブについて説明し、続いて、量子コンピュータが、どのようにして、特定のアルゴリズムを置き換えることになるのかを紹介します。合わせて、そのタイムラインや標準規格、そして米国Rambus Inc(ラムバス社)が提供する耐量子暗号IPコアおよびライブラリのソリューションについてもご紹介しますので、ポスト量子時代に向けた次世代設計の準備にお役立てください。
2. セキュリティの4つの柱
どのようなシステムを保護する場合でも、以下の4つのセキュリティの基本に対処する必要があります。
① 機密性
機密性とは第三者の情報へのアクセスを防ぐことを意味します。これは強固な暗号化アルゴリズムの実装と安全な鍵管理技術によって達成されます。
② 完全性
システムまたはそのデータが変更されていないことを保証し、意図した通りに動作するようにすることを意味します。これは、作業または転送されるデータ、使用される推論モデル、またはそれらを処理するシステム全体とアルゴリズムに関するものです。
③ 真正性
それが本物であり、意図されたソースから来たものであることを確認することです。これら2つの側面は、堅牢な、完全性確認と認証のアルゴリズムを使用し、適切な鍵とID管理を行うことで達成できます。
④ 可用性
それが利用可能で、必要なときに利用できることを保証することです。高可用性は、データセンターや自動車など多くのユースケースでの要となります。可用性の保証は設計に信頼を実装することで達成できます。
信頼されたハードウェアの実行、信頼されたソフトウェアの起動と実行から始まり、例えば、改ざん防止メカニズムの実装まで。最新のセキュリティ実装のほとんどは、これら4つの側面すべてを持っていると言ってよいでしょう。
3. 暗号技術のツールボックス – NIST & CNSA 1.0
Data-at-Rest(静止状態)、Data-in-Use(使用中)、Data-in-Motion(移動中)の各セキュリティ・アーキテクチャは、それぞれ暗号を利用しています。暗号技術のツールボックスを開くと、使用できるアルゴリズムとプロトコルが表示されます。
アルゴリズムは通常、対称型と非対称型に分けられ、両者の大きな違いは、使用する鍵のタイプになります。
対称型アルゴリズムは実行スピードの点で優位性がありますが、暗号化と復号化で同一の鍵を利用する必要があり、当事者間で鍵を事前に交換する必要があるため、この点がデメリットと言えます。
一方、非対称アルゴリズムは、鍵のペアを使うことでこの問題を解決しています。通信チャネルは2つの鍵ペアを使用します。鍵ペアの半分は公開鍵と呼ぶ暗号化方向の鍵で、これは秘密にする必要はないので、通常の平文通信で相手に送ることができます。もう半分の秘密鍵は安全に保護する必要があります。
何故すべてに非対称キーを使わないのでしょうか?非対称暗号の実行は対象暗号と比較すると非常に時間がかかるものであり、また大きな鍵を使う点があります。つまり、高速なユースケースには不向となります。そのため、大量かつ高速なユースケースには対称暗号を使い、対称鍵の生成と交換には非対称暗号を使うことになります。
また、非対称暗号には、デジタル署名の生成やその検証など、より多くのユースケースがあります。
ツールボックスには、他にも乱数生成、ハッシュ、鍵導出の機能などがあります。ここに示されているのは、米国NIST※1が公開・管理している暗号ツールの標準になり、商用国家安全保障アルゴリズムスイートCommercial National Security Algorithm (CNSA) 1.0 に準拠しています。
このツールボックスは何十年も前から存在しており、その結果、様々なアルゴリズムの暗号解析が徹底的に行われ、最終的には業界で広く受け入れられるようになりました。時代の移り変わりとともに、鍵の強度や、動作モードの追加などの更新はありましたが、ツールボックスそのものは非常に安定しています。
これまで、これらのアルゴリズムの一部は、量子コンピュータの危険にさらされており、量子コンピュータが十分に強力になれば、因数分解や離散対数などの数学的演算に依存する古典的な非対称アルゴリズムが危険にさらされることは、長年知られていました。攻撃の為の演算は、従来のコンピュータでは非常に計算量が多いため、数千年かかると考えられています。
※1:National Institute of Standards and Technologyの略で「米国国立標準技術研究所」と呼ばれる政府機関
4. 量子コンピュータが暗号技術に与える影響
量子コンピュータは従来のコンピュータよりも効率的に問題を解くことができます。
1994年、ピーター・ショアが整数の素因数を求める量子アルゴリズムを発表しています。これは、整数の因数分解に基づいているRSAを破ることにつながり、また、離散対数に基づいている楕円曲線暗号を破ることにもつながります。RSAとECCはともに、現在最も広く使われている非対称暗号アルゴリズムになります。
1996年、ロブ・グローバーはブラックボックス関数へのユニークな入力を高確率で見つける量子探索アルゴリズムを考案しています。このアルゴリズムを量子コンピュータに導入することで、対称暗号に対する総当たり攻撃を減らすことが可能になります。
ここで注意しなければならないのは、これらのアルゴリズムには、十分な信頼性があり、十分な論理量子ビットを持つ、実行可能な量子コンピュータが必要だということになります。現在、まだ十分な性能と信頼性を備えていません。暗号を解読するための量子コンピュータは数千から数万の論理量子ビットを必要とするとされていますが、今日最も強力な量子コンピュータは、1000量子ビット程度です。ただ、一方でIBMは10年以内に10万量子ビットのマシンを開発するとも発表しています。
この様な状況により、既存の公開鍵ベースのアルゴリズムに代わる「耐量子」アルゴリズムを準備する必要があります。何故、この準備が今行うべきでしょうか? そして、今何故、量子コンピューティングを心配するのでしょうか?
企業や組織によって異なりますが、量子コンピュータの脅威をいくつかの場合に分けて考えてみます。
第一に、機密性を失う脅威があげられます。
harvest-data-now攻撃とdecrypt-later攻撃はこの場合に分類されます。
長期間にわたって機密性を保持する必要があるデータは、傍受されて保存され、新しい量子技術が利用可能になった後で分析される可能性があります。
第二に、認証鍵や署名鍵のような長期間利用されるクレデンシャルは、後に悪用される可能性があります。
第三に、法的履歴の脅威があげられます。法的文書のデジタル署名が復元され、文書の署名が時間内に操作される可能性があります
だからといって今すぐ行動を起こす必要があるのでしょうか?ドイツの情報セキュリティ機関であるBSI※2は、2030年には量子コンピュータが十分に実用化されると予測していますが、それまで待つことはできないのでしょうか?
要は、私たちがいつ行動を起こすべきかということです。Xデーの2年前まで待つべきか?それは危険でしょう、なぜなら、チップの開発には数年はかかりますし、その後、何年かは市場で利用されることが予想されます。
※2:ドイツ連邦政府においてコンピュータと通信のセキュリティ担当部門(Bundesamt für Sicherheit in der Informationstechnikの略)
良いニュースは、暗号の学術コミュニティ、標準化団体、産業界が、現在の非対称暗号に代わるものを何年も前から準備してきたことです。新しいポストクォンタムまたはクォンタムセーフのアルゴリズムが今まさに提案され、分析され、標準化されています。
5. 耐量子アルゴリズムの現状
米国NISTは、2016年から産業界と学術界が新しい量子安全アルゴリズムを提案する共同公開プログラムに取り組んでいます。2016年以降、数回の選考が行われ、2022年末に第3ラウンドが終了しています。ラウンド3では、2つのカテゴリーで4つのアルゴリズムが選ばれており、特に格子ベースのメカニズムが注目されています。
NISTは4つのうち3つの最終規格を2024年8月13日に確定しました。
Crystals-Kyberは、FIPS 203 ML-KEMとなり、Crystals-Dilithiumは、FIPS204 ML-DSA、Sphincs+は、FIPS205 SLH-DSAと正式に決定されました。
NTRUのFalconは、まだドラフトで、これは、浮動小数点アルゴリズムのため実装にコストがかかることから、産業業界では好まれていない傾向があります。
これらのデジタル署名と鍵のカプセル化スキームに加えて、NIST は SP800-208 で、ファームウェア検証のユースケースにハッシュベースの署名アルゴリズムのXMSSとLMSを先行して採用しています。
6. 暗号技術のツールボックス – NIST & CNSA 2.0
この結果、NISTとCNSAのツールボックスが更新され、これらの新しい耐量子暗号
アルゴリズムが含まれるようになりました。
AESは256ビットの鍵長に設定し、既存のハッシュ・アルゴリズムは引き続き使用できます。また、公開鍵アルゴリズムのセクションは、先に述べた耐量子アルゴリズムで拡張されています。乱数生成と鍵の導出関数は、既存アルゴリズムのままで問題ありません。
7. NSAが公開したCNSA v2.0とその採用スケジュール
2022年9月、米国家安全保障局(NSA)は、新しいCNSA 2.0アルゴリズム採用のスケジュールを発表しています。
これには、従来のAES、SHA-2および3のハッシュ・アルゴリズム、KyberとDilithiumに基づく2つの新しい公開鍵メカニズム、2つのファームウェア・アップデートの為のLMSとXMSSで構成されています。
このタイムラインは、新しいファームウェア署名への移行を2025年に開始し、2030年に移行を完了することを目標としており、その他の移行は、2025年か2027年に開始し、2033年に完了するようにとされています。
ハードウェアを実際に検証し、FIPS140-3に照らして認証することができるように、今すぐ準備する事が義務付けられています。
あなたのシステム設計は影響を受けますか?耐量子暗号の重要性を理解したところで、現在の設計が新しいトレンドの影響を受けるかどうかを確認してみてください。
良いニュースとしては、Data-at-Rest, Data-in-Useおよび Data-in-Motionのアーキテクチャそのものは影響を受けないということです。
影響を受けるのは、セキュリティ・プロトコルの公開鍵部分になります。具体的にはセキュアブート、セキュアデバッグ、デジタル署名及び、暗号通信における鍵交換のユースケースになります。
現状これらのユースケースは主にRoot-of-Trustの既存のアルゴリズムによって実装されており、公開鍵インフラを利用するユースケースでは、RSAやECCベースの実装を耐量子暗号に置き換える必要があります。
8. 現在のデバイスを耐量子バージョンに移行する
従来のものから耐量子バージョンに移行する際には、段階的なアプローチをとることが推奨されます。
まずは、公開鍵ベースの暗号から始めることになります。現在、最も広く実装されており、重要なのはセキュアブートになります。従来のRSAやECDSAベースの署名方式は、新しいステートフルハッシュベースの署名、あるいはML-DSA・Dilithiumベースの署名に置き換える必要があります。
セキュアブートと類似したものに、セキュアデバッグがあります。これも、従来のRSAまたはECCベースの認証スキームが、ML-DSA・Dilithiumベースの署名に置き換える必要があります。
鍵のカプセル化として様々な鍵カプセル化と署名検証アルゴリズムが、ML-KEM・Kyber と ML-DSA・Dilithium に置き換えられます。
また、暗号通信プロトコル・スタックの制御部分では、鍵交換アルゴリズムは、IEEEやIETFの標準を改訂する必要があり、ML-KEMとML-DSAが有力な候補になっています。
対称暗号には、暗号とハッシュ・アルゴリズムがあります。
AESのような従来の対称暗号は、256ビットの鍵が使われれば十分な強度を持っており、逆に128ビットでは不十分ということになります。SHA-2やSHA-3アルゴリズムも十分な強度があると言われています。
Data-in-UseとData-in-Motionのほとんどのデータプレーン暗号化は対称暗号に依存しているため、256ビットの鍵長に変更する以外その他の変更は必要ありません。
新しいアルゴリズムに対して十分な暗号解析が行われているかどうかは、議論の余地があり、まだ利用可能な認証スキームがないため、現在の暗号と耐量子暗号の両方を使用するハイブリッドなアプローチが正しい選択かもしれません。
AND-Hybridアプローチは、現在の暗号と対量子暗号の両方を利用するもので、利点としては、耐量子安全暗号の使用が保証されているという点です。
デメリットとしては、デュアル暗号アプローチのオーバーヘッドになります、
OR-Hybridアプローチでは、保護スキームで古典暗号と耐量子暗号のどちらを使用するかを決定するために、システム間でネゴシエーションを行います。
メリットとしては相互運用性になりますが、デメリットとしてはダウングレード攻撃のリスクが挙げられます。
9. サイドチャネル攻撃について
保護されていない従来の公開鍵暗号の実装の脆弱性については、過去に多くのことを学んでいます。特にサイドチャネル攻撃対策が施されていない場合、どのような公開鍵実装であっても、秘密鍵の構成要素を比較的簡単に抽出されてしまいます。
サイドチャネル攻撃とは、コンピュータシステムの実装から得られる情報を元にした暗号解読の攻撃のことで、半導体搭載機器やICカードといった攻撃対象のハードウェアを外部から物理的に観察、測定することで、内部情報を取得するサイバー攻撃です。
新しい耐量子アルゴリズムも、公開鍵と秘密鍵の概念で動作しており、RSAやECCと同様に、その秘密鍵はなんとしても保護される必要があります。アルゴリズムが発表されて以来、脆弱性の発見は取り組まれており、現在進行中ですが、耐量子暗号の実装もサイドチャネル攻撃から脆弱性を受けることが明らかになってきています。
最近発表された論文によると、テスト中のデバイスに6分程度にアクセスできると、攻撃者は格子削減技術を使用して6時間以内に54%の確率で秘密鍵を復元できると主張しています。
良いニュースは、これらに対する対策が存在し、提供可能である点です。
耐量子アルゴリズムは確率的な性質を持っているため、実行時間が予測できません。そのため、標準的なテストベクター漏洩評価手法では、対策の有効性を定量化することが難しくなります。差分電力解析と同様に、初期段階のフォールト・インジェクション攻撃は、いくつかの鍵交換メカニズムにおける等号チェックをスキップするために使用されるかもしれないので、言うまでもなく、この分野でやるべきことは非常に多くあります。
10. 米国Rambus社の暗号およびセキュリティ設計アーキテクチャ
米国Rambus Inc.(以下、ラムバス社)は、デバイスとデータの保護を保証する暗号およびセキュリティ・ソリューションをシリコンIPコアという形で提供してきた30年を超える経験があります。
前述の機密性、完全性、真正性、可用性という4つの柱の保護を提供するセキュリティ・ソリューションの設計は、基本的な暗号コアの可用性に依存しています。これらのIPコアは、ハードウェア実装による電力効率と堅牢性を備え、アルゴリズムの高速化を実現します。また、場合によっては、フォールト・インジェクションや差分電力解析などのサイドチャネル攻撃に対する保護も提供します。
さらに、FIPS140、SESIP、PSA、コモンクライテリアなどの独立した検証および認証スキームにより、これらのコアの適切かつ堅牢なセキュリティ実装に対する信頼が確認されています。
ここで、注意すべきことは、暗号アクセラレータを実装したからといって、セキュリティが保証されるわけではないことです。セキュリティは非常に幅広い概念で、セキュアなシステムの重要な側面として、機密性、完全性、真正性、可用性をお伝えしましたが、暗号アクセラレータを中心としたセキュアなサブシステムを構築するためには、一歩下がって、システムが特定のデータや資産をどのように保護することが期待されているかについてお話する必要があります。
ラムバス社では、セキュリティを実装するための3つの主要なユースケースを区別しています。
-
常にオンチップに存在するデータと資産をData-at-Restと呼びます。
-
常にデバイス内に存在するが、必ずしもオンチップでないデータや資産をData-in-Useと呼びます。オフチップのDRAMやFLASHメモリにあるデータがこれに当たります。
-
デバイス内外への転送されるデータや資産を、Data-in-Motionと呼んでいます。
暗号化やハッシュ化といった手法は、Data-at-Rest、Data-in-Use、Data-in-Motionを保護するための基本です。これらの全てで使用されるアルゴリズムは通常同じで、十分に検証された、暗号アルゴリズムとハッシュ・アルゴリズムに基づいて構築されています。
Data-at-Restは、通常、敵対者がシステムの分析や攻撃に十分な時間をかけることが可能です。Data-at-Restは、長期に渡って保存される鍵、ファームウェア、デバイスIDなどの重要な資産を指します。改ざん防止や、サイド・チャネル・プロテクションなどの厳格な保護メカニズムが必要なのはこの為です。
Root-of-Trust製品は、セキュアなコード実行、セキュアなブート、セキュアなアップデート、セキュアなデバッグ、ライフサイクル管理、プラットフォームの認証、攻撃の検出や保護など、Data-at-Restセキュリティ・サービスをシステムに提供します。
その基盤として、Root-of-Trustの設計は、左の青いボックスから堅牢な暗号アクセラレータ・コアを実装しています。
使用中のデータ(Data-in-Use)は、常にデバイス内に存在するデータや資産のことで、必ずしもオンチップとは限りません。典型的な例は、DDR や FLASH などのメモリ・コンポーネントに保存されるデータや資産をさしています。メモリは直接接続されていることもあれば、PCIeやCXLを介して接続されていることもあります。
敵対者は、コンポーネント間の物理インターフェイスから盗聴したり、メモリ・デバイスに保存されているデータに直接アクセスしたり、影響を及ぼそうとする可能性があります。不揮発性メモリ・コンポーネントは、取り外されたり、交換されたりする可能性さえあります。
一方、システムは、常に最適なスループット、パフォーマンス、レイテンシーを提供することが期待されるため、暗号を使った保護はオーバーヘッドを最小化する方法で行う必要があり、理想的にはオーバーヘッドをゼロにする必要があります。
単に暗号アクセラレータをシステムバスに取り付けるだけでは、処理に時間がかかるため、こうした低オーバーヘッドの要件を満たすことはできません。
そのため、Data-in-Useは、インラインのメモリの暗号化エンジンを利用します。異なるエンジンの実装は、PCIe、CXL、DDRなどの専用インターフェイスに合わせて調整する必要があり、ゼロまたは固定の低レイテンシーで、機密性と完全性の保護を提供し、保護されるネイティブ・インターフェースに匹敵するスループットを提供することが期待されます。最大で毎秒数百ギガビットに達する可能性があります。
Data-in-Useのプロテクションで、一般的に要求される機能は、サイドチャネル攻撃へのプロテクションになります。また、鍵管理は通常、オンボードのData-at-Restソリューションによって提供されます。
Data-in-Motionは、デバイスから転送されるデータです。Data-in-Useと同様に、Data-in-Motionのソリューションも高いスループットと完全性、機密性が必要とされます。ここでは、MACsec、IPsec、TLSなどの暗号通信が登場します。
これらはそれぞれ異なるネットワーク・レイヤで動作しますが、相互運用性を確保するために業界標準に従っているという点で共通しています。Data-in-Motionの場合と同様にスループット要件も非常に高いです。
暗号通信のプロトコルは複雑であるため、データのパイプラインにプロトコル・インテリジェンスを追加する必要があります。このインテリジェンスがなければ、ネットワーク・プロトコル・プロセッシング・ユニットの作業負荷が非常に高くなり、ラインレートでの暗号アクセラレーションが保証できなくなります。
ここで使用される暗号の鍵は、通常使い捨てのランダムな一時的な鍵になります。また、鍵管理は通常、制御プレーン・プロトコルの一部として、オンボードのData-at-Restソリューションによって提供されます。
11. ラムバス社のスタンドアローン耐量子暗号エンジン
ラムバスは、インテグレータが現在のセキュリティおよび暗号ソリューションを拡張し、耐量子暗号を含むスタンドアローン耐量子暗号エンジンを開発しました。
ラムバス社の製品QSE-IP-86には、サイドチャネル攻撃対策が施されたバージョンと、そうでないバージョンがあり、計算量の多い演算には専用アクセラレータを実装し、プロトコル部分は組込みファームウェアで実装しています。
これにより、標準的な変更や将来のアップデートのために必要に応じて柔軟に対応することが可能です。
12. システム・セキュリティ・マネージャに組み込まれた耐量子暗号
耐量子暗号アルゴリズム、パラメータ、秘密鍵コンポーネントの実装には、Root-of-Trust製品による高度な保護が必要です。このRoot-of-Trustは、耐量子暗号システムのセキュリティ・マネージャとして機能し、セキュリティ・アプリケーションの実行を保護し、プラットフォームのセキュリティを強化します。
13. RT-600:シリコンの中のセキュア領域
ラムバス社のRT-600 Root-of-Trust ファミリーは、自動車、データセンター、クラウド、などの分野でそれぞれ認証されたコンフィギュレーションを用意しています。
RT-600 Root-of-Trustアーキテクチャは、RSAおよびECCアルゴリズムに基づくすべての公開鍵ベースのメカニズムを実装しており、専用のDPAおよびフォールト・インジェクション対応の公開鍵アクセラレータ・コアで実装しています。
耐量子拡張のRT-634とRT-664は、現行の公開鍵エンジンの横に耐量子エンジンを追加した専用のバージョンになります。
この Root-of-Trust のセキュリティ・バウンダリ内で実行される、セキュア・アプリケーションは従来の暗号アルゴリズムと耐量子暗号アルゴリズムの両方を利用することができます。
耐量子暗号アルゴリズムも、”鍵”を使用していることにご留意頂きたいです。耐量子暗号アルゴリズムの実装においてもサイドチャネル攻撃の対策、DPA対策が必要と言うことになります。
14. ラムバス社の量子安全暗号IP
ラムバス社の製品は、ポスト量子時代にどのように備えることができるように間上げています。
ラムバス社は、従来のアルゴリズムと耐量子アルゴリズムのアクセラレーションを提供するIPフォームファクタをいくつかリリースしました。先に述べた全てのアルゴリズムとメカニズムで構成されるCNSA 2.0ツールボックスのサポートに重点を置いています。
耐量子暗号の実装は、2つのフォームファクタで提供されます。
1つは、RT-600 Root-of-Trustに耐量子暗号アクセラレータを組み込んだものです。
もう1つは、QSE-IP-86はプログラマブルなスタンドアローンの耐量子暗号エンジンで、既存の公開鍵アクセラレータと共に動作します。いずれのフォームファクタも、DPAおよびFIA対策オプションが選択可能です。
セキュア・プロビジョニング・インフラストラクチャは、シリコンやデバイスのライフサイクルの初期段階において、セキュアなIDや資産をパーソナライズしてプロビジョニングするために、従来の暗号および耐量子暗号を備えたRoot-of-Trustやその他のラムバス以外のデバイスもサポートしています。
本コラムは、ポスト量子の脅威とは何か、耐量子暗号がこれらの脅威をどのように克服できるのか、そしてなぜ今それを考え始めるべきなのかを理解する上の参考になればと思っています。
結論として、今こそ次のシリコン設計に量子安全メカニズムを取り入れるべき時です。ラムバス社は、量子安全に対応した包括的なポートフォリオを用意しています。
メーカー
Rambus社の製品はこちら
関連製品
IP(セキュリティ)の組み込み製品
個別相談も承っております。下記よりお申し込みください。