メインコンテンツまでスキップ

10. アプリケーションプロファイリングの考慮事項

  1. アプリケーションプロファイリングの考慮事項

本文書は、一連のセキュリティサービスを提供するように設計されているが、特定の用途に対するアルゴリズムの実装要件を課すものではない。相互運用性要件は、個々の各サービスがどのように使用されるか、および相互運用性のためにアルゴリズムがどのように使用されるかについて提供される。どのアルゴリズムとどのサービスが必要かに関する要件は、各アプリケーションに委ねられる。

プロファイルの例は [RFC8613] にある。そこでは、CoAP ヘッダーと組み合わせてコンテンツを運ぶために開発されたプロファイルがある。

その特定のアプリケーションの相互運用性要件を定義する本文書のプロファイルを作成することが意図されている。本セクションでは、本文書のプロファイリングを行う際に考慮する必要がある一連のガイドラインとトピックを提供する。

  • アプリケーションは、使用する本文書で定義されたメッセージのセットを決定する必要がある。メッセージのセットは、必要なセキュリティサービスのセットおよびセキュリティレベルとかなり直接的に対応している。

  • アプリケーションは、特定の目的のために新しいヘッダーパラメータを定義してもよい。アプリケーションは、特定のヘッダーパラメータを使用するか使用しないかを選択することがよくある。たとえば、アプリケーションは通常、IV または Partial IV ヘッダーパラメータのいずれかを使用する設定を述べる。Partial IV ヘッダーパラメータが指定されている場合、アプリケーションは IV の固定部分がどのように決定されるかも定義する必要がある。

  • アプリケーションが外部で定義された認証済みデータを使用する場合、そのデータがどのようにエンコードされるかを定義する必要がある。本文書では、データがバイト列として提供されることを前提としている。詳細については、セクション 4.3 を参照のこと。

  • アプリケーションは、使用するセキュリティアルゴリズムのセットを決定する必要がある。実装必須セットとして使用するアルゴリズムを選択する場合、特定の目的のために 2 つが選択されるときは、異なるタイプのアルゴリズムを選択することを考慮する必要がある。この例としては、異なる MAC アルゴリズムとして HMAC-SHA512 と AES-CMAC (Cipher-Based Message Authentication Code) を選択することが挙げられる。これら 2 つのアルゴリズム間の構成は大きく異なる。これは、あるアルゴリズムの弱体化が他のアルゴリズムの弱体化につながる可能性が低いことを意味する。もちろん、これらのアルゴリズムは同じレベルのセキュリティを提供するわけではないため、目的のセキュリティ機能と比較できない場合がある。追加のガイダンスは [BCP201] にある。

  • 複数のアルゴリズムまたはメッセージ構造が許可されている場合、アプリケーションは何らかのタイプのネゴシエーションまたは発見方法を提供する必要がある場合がある。この方法は、アルゴリズムのセットの事前設定を要求するような単純なものから、プロトコルに組み込まれた発見方法を提供することまで多岐にわたる。S/MIME は、アプリケーションが従うことができる問題へのアプローチ方法をいくつか提供した。

    • メッセージでのアドバタイズ (S/MIME capabilities) [RFC8551]。

    • 証明書でのアドバタイズ (capabilities extension) [RFC4262]。

    • S/MIME の最小要件。これらは時間の経過とともに更新されている [RFC2633] [RFC3851] [RFC5751] [RFC8551]。([RFC2633] は [RFC3851] によって廃止され、[RFC3851] は [RFC5751] によって廃止され、[RFC5751] は [RFC8551] によって廃止されたことに注意すること。)