このページの内容
量子バッファー
このトピックでは、量子脅威からネットワークデバイスを保護し、ネットワークを長期間にわたって安全に保つためのジュニパーネットワークスの量子バッファ機能について説明します。
概要
暗号関連量子コンピューター(CRQC)が実現すれば、従来の公開鍵暗号に大きな脅威を与える可能性があります。これを受けて、業界は量子攻撃に耐えることができるポスト量子暗号アルゴリズムに移行しています。NISTはこれらのアルゴリズムを標準化していますが、従来の暗号化方式の成熟度と信頼性に匹敵するには、さらに時間が必要です。
CRQCによってもたらされる潜在的なリスクを軽減し、ポスト量子暗号(PQC)への移行を促進するために、ジュニパーネットワークスは、既存の公開鍵暗号システムを強化するソリューションを提供しています。この解決策では、有限場暗号(FFC)パラメータを強化し、それによって現在のシステムが量子攻撃に対して安全を維持する期間を延長します。量子バッファ機能は、パラメーターの強度を向上させることで、従来の公開鍵暗号アルゴリズムに対する暗号分析攻撃に抵抗する機能を提供します。
ジュニパーネットワークスは、SSHプロトコルに量子バッファーを実装しています。
利点
-
耐障害性の向上—進化する量子攻撃に対するシステムの耐障害性を強化し、PQCを採用するための段階的なアプローチを提供することで、移行に伴う運用リスクを軽減します。
-
強化された防御—CRQCが発生した場合に、従来の公開キー暗号化に対する保護を強化します。この機能は、個別のログの脆弱性を標的とした攻撃など、従来の暗号に対する高度な攻撃からも保護します。
-
Cryptoagility—既存のインフラストラクチャを中断することなく、暗号化の俊敏性を提供します。
-
堅牢なソリューション—DH(Diffie-Hellman)係数を定期的に更新する機能により、セキュリティの継続的な強化を促進します。
-
パフォーマンスの最適化—セキュリティ強化とパフォーマンスのバランスをとり、プロトコルコンプライアンス要件を満たしながらリソースのオーバーヘッドを最小限に抑えます。
制限事項
- Quantum Bufferは、CRQCシナリオに時間ベースのバッファを提供し、将来CRQCが出現した場合に時間制限のあるセキュリティを提供します。
-
プライム世代アルゴリズムは大量のコンピューティングリソースを消費し、本質的に非決定論的です。そのため、各プライムの生成に必要な時間とCPU使用率を正確に予測することは困難です。
SSH用量子バッファー
ジュニパーネットワークスのデバイスは、リモート管理、設定、自動化のためにセキュアなSSHセッションを確立します。ジュニパーネットワークスは、SSH向け量子バッファーを使用してJSSHを実装しています。
SSH用量子バッファは以下をサポートします。
-
大きな素数サブ群を持つ有限場Diffie‐Hellman(FFDH)係数の動的生成
-
設定可能なリフレッシュ間隔に基づいて、FFDHプライム係数を定期的に更新します。
-
保護を強化するためにデバイスが生成する必要があるプライム係数をオプションで指定する機能。
qbufdプロセスは、プライム係数の生成を管理します。JSSHは、FFDHグループ交換アルゴリズム、group-exchange-sha1、およびgroup-exchange-sha2にこれらのモジュライを使用します。
JSSH は、Diffie-Hellman 鍵交換のために qbufd プロセスが生成するプライム係数を使用します。
Quantum Bufferを使用する場合は、次の推奨事項を使用します。
-
qbufdプロセスによりデバイスがCPU使用率が高くなる可能性があるため、問題を軽減するために設定で更新間隔を長く指定します。 -
Diffie-Hellman デザイナー型係数で大きな素数群と部分群のサイズを使用します。サブグループには、最小サイズを2048ビット、最適サイズを3072ビットまたは4096ビットにすることをお勧めします。保護を強化するために、カウントを3または4に指定します。
係数を設定しない場合、JSSHはデフォルトの固定係数セットの安全素数を使用します。
SSH用に量子バッファを設定する
前提条件
SSH用Quantum Bufferを設定するには、以下の前提条件を満たします。
-
特定の機能のプラットフォームおよびリリースサポートを確認するには、 機能エクスプローラー を参照してください。
-
インターフェイスの設定やユーザーの作成などの基本設定を使用して、ジュニパーネットワークスデバイスをセットアップします。
設定
SSH用Quantum Bufferを設定するには:
鍵交換アルゴリズムに必要な暗号化係数設定を指定します。
[edit] user@host# set system services ssh moduli type designer refresh monthly count 3
このコマンドでは、SSHサービスは、更新のたびに毎月3つの新しいモジュリを再生成することで、デザイナータイプのモジュリを使用します。詳細については、「 moduli」を参照してください。
SSHグループ交換アルゴリズムを設定します。JSSHのデフォルトアルゴリズムセットには、DHグループ交換アルゴリズム
group-exchange-sha2が含まれていることに注意してください。group-exchange-sha1を使用するには、アルゴリズムを設定します。[edit] user@host# set system services ssh key-exchange group-exchange-sha1
group-exchange-sha1とgroup-exchange-sha2の両方を使用するには、両方のアルゴリズムを設定します。[edit] user@host# set system services ssh key-exchange [group-exchange-sha1 group-exchange-sha2]
デバイスに接続するときに、SSHクライアントがこれらのアルゴリズムのいずれかを要求することを確認します。
検証
SSH用量子バッファーを検証するには:
デバイスが
qbufdプロセスを実行していることを確認します。qbufdイベントを含めるようにsyslogを設定することで、プロセスが実行されていることを確認できます。[edit] user@host# set system syslog file qbufd.log any any user@host# set system syslog file qbufd.log match qbufd
このコマンドでは、ログファイル名が qbufd.log ですが、任意の名前を指定できます。
または、デバイスのシェル プロンプトでプロセスを確認することもできます。
[edit] user@host:~# ps aux | grep qbufd
係数の生成を検証します。
user@host:~# grep "Moduli generated" /var/log/qbufd.log
係数の生成には時間がかかるため、ログと
qbufdプロセスを監視します。qbufdプロセスの実行が停止すると、デバイスの/etc/ssh/moduliで新しい素数係数の詳細を確認できます。設定された鍵交換アルゴリズムを使用したSSHログインが成功していることを確認します。
ラップトップなどのSSHクライアントで次のコマンドを実行します。
localhost:~$ ssh -o kexAlgorithms=diffie-hellman-group-exchange-sha256 user@host
変更履歴テーブル
サポートされる機能は、使用しているプラットフォームとリリースによって決まります。 機能エクスプローラー を使用して、機能がお使いのプラットフォームでサポートされているかどうかを確認します。