読者には、TLS 1.2プロトコルでのロシアの暗号化アルゴリズムの使用を定義する、開発中の標準化勧告案 (以下、単に勧告案)の簡単な概要が提供されます。
TLSプロトコル
TLSプロトコル(Transport Layer Security)は、インターネット上で安全な通信チャネルを確立するために設計された最も一般的なプロトコルの1つです。 SSL(Secure Sockets Layer)プロトコル仕様バージョン3.0に基づいていますが、長年にわたってかなりの数の変更が行われています。 プロトコルの現在のバージョンは現在TLS 1.2ですが、近い将来TLS 1.3が期待されています。
TLSプロトコルは2つの層で構成されます。 最下層にはTLSレコードプロトコルがあり、これはパケット配信が保証されたトランスポートプロトコルの上で実行されます( TCPを参照)。 Records Protocolは、通信チャネルを介して送信されるデータの機密性と整合性を保証します。 次に、レコードプロトコルの上に、アラートプロトコル、状態変更プロトコル、アプリケーションデータプロトコル、およびハンドシェイクプロトコルが機能します。 最初の3つは基本的に暗号化の問題を解決しません。ここでの主な関心は、当事者の認証と、レコードプロトコルのレベルでデータを保護するために必要なセキュリティパラメータの開発を担当するハンドシェイクプロトコルです。
新しいクリプトン:誰が、なぜ必要なのか?
2015年に、新しい標準GOST R 34.12–2015およびGOST R 34.13–2015がリリースされました 。これは、GrasshopperとMagmaの2つのブロック暗号化アルゴリズムとそれらの動作モードを説明しています。 その結果、これらのアルゴリズムをTLS 1.2プロトコルバージョンに対応する新しい暗号セットに統合する必要が生じました。 また、このドキュメントの著者が直面している重要なタスクの1つは、最新のネットワークプロトコルを理解するのが最も難しく、最も困難なものの1つの完全かつ自給自足の記述の作成でした。 そして、この問題をなんとか解決しました。
開発中の勧告案では、2つの新しい暗号セットが定義されています。
- TLS_GOSTR341112_256_WITH_KUZNYECHIK_CTR_OMAC;
- TLS_GOSTR341112_256_WITH_MAGMA_CTR_OMAC。
1つ目はGrasshopperブロック暗号の使用に基づいており、2つ目はGrasshopperブロック暗号の使用に基づいています
ブロック暗号マグマ。
新しい暗号化アルゴリズムに加えて、ロシアの暗号セットを備えたTLS 1.2プロトコルのバージョンに追加された新機能を詳しく見てみましょう。
主な原則と重要な機能
新しいクリプトンのハンドシェイクプロトコルの基本原則は、以前のバージョンの国内クリプトンと比べて大きく変わっていません。 簡単に説明すると、メインシークレットパラメーターであるプリマスターシークレット(PMS)は、クライアントによって生成され、公開キーを使用して暗号化されたサーバーに送信されます。 サーバー認証は、サーバーが秘密鍵を使用して秘密のPMS値を正しく取得するために実行されます。 クライアントは、必要に応じて、署名で認証されます。
ハンドシェイクプロトコルの主な暗号技術革新は次のとおりです。
- 新しい暗号とその動作モード(別の新しいドキュメントのフレームワークで定義されている )に基づいた、新しいPMS暗号化アルゴリズム、いわゆるキーエクスポートアルゴリズムが使用されます。
- セッションシークレット-マスターシークレット(MS)-は、グリーティングメッセージで送信されるパーティのランダムな値だけでなく、生成前に送信されるすべてのメッセージにも添付されるようになりました。 ここでの主なことは、MS値がサーバー証明書に依存するようになったことです。これにより、 トリプルハンドシェイク攻撃に抵抗できます。 この革新はRFC 7627に準拠しています 。
ハンドシェイクプロトコルとは対照的に、レコードプロトコルは、国内の推奨事項の以前のバージョンの対応するものや、外国のバージョンとは類似していません。 安全な通信チャネルを提供し、キーの負荷 (つまり、1つのキーで処理されるデータの量)を最小化するタスクに関連するすべての高度な成果を実装します。 データ保護に関係するキーは階層(ルートキー、中間レベルキー、メッセージ処理キー、セクションキー)を形成します。これにより、キーの安全な負荷を維持しながら、処理されるメッセージの数を増やすことができます。 このような階層の作成は、外部および内部キー変換(外部および内部キー再生成)のメカニズムを使用して達成されます。その肯定的な特性は、外国( AbdalaおよびBellarの作品を参照)と国内の暗号作成者( こことここを参照)の多くの作品で証明されています ) これらのメカニズムは、CTR-ACPKM暗号化モードとTLSTREEキーの多様化機能を使用して実装されます。 キーの負荷を減らすための前述のアプローチは、 RFCドラフトで説明されており、国内の専門家の指導の下で現在開発中です。
おわりに
結果の文書は完全に自給自足の記述であり、その印象的な量にもかかわらず、理解可能で構造化されています。 アルゴリズム部分の説明に加えて、ドキュメントの付録には、使用されている構造のフィールドでソートされたプロトコルの詳細なログがあります。 制御値のこのような説明は、プロトコルの詳細の理解を大いに促進します。
現在、開発されたクリプトンの番号には、 IANA番号のプライベートエリアから一時的な値が割り当てられています。 勧告案が採用されるとすぐに、すぐにRFCの開発を開始する予定です。
また、技術委員会26( TK26 )のワーキンググループの専門家の当面の計画は、バージョンTLS 1.3に対応する暗号セットに関する次の勧告案の開発を開始することです。 このドキュメントの作業は、TLS 1.2の現在のプロジェクトのTK26での承認後、およびTLS 1.3の新しいRFCのリリース直後に開始されます。