11. Security Considerations (セキュリティ上の考慮事項)
このセクションでは、CoAPのセキュリティ上の考慮事項の簡単な分析を提供します。推奨される主要なセキュリティメカニズムはDTLS [RFC6347]です。CoAPのセキュリティ環境と要件は[CoAP-SECUR]でさらに議論されています。
11.1. Parsing the Protocol and Processing URIs (プロトコルの解析とURIの処理)
実装は、バッファオーバーフロー、インジェクション攻撃、および不正な形式のメッセージやURIから生じる可能性のあるその他のセキュリティ脆弱性を防ぐために、すべての入力を注意深く解析および検証する必要があります。
11.2. Proxying and Caching (プロキシングとキャッシング)
プロキシとキャッシュは、情報漏洩や中間者攻撃を含む追加のセキュリティ上の考慮事項をもたらします。プロキシとサーバー間の接続を保護するためにDTLSを使用することが重要です。
11.3. Risk of Amplification (増幅のリスク)
CoAPリクエストは、リクエスト自体よりもはるかに大きい応答をもたらす可能性があり、これは増幅攻撃に悪用される可能性があります。サーバーはレート制限を実装すべきであり、マルチキャストリクエストへの応答はSection 8.2で説明されているように遅延されるべきです。
11.4. IP Address Spoofing Attacks (IPアドレススプーフィング攻撃)
UDP上で実行することにより、CoAPはIPアドレススプーフィング攻撃に対して脆弱になります。DTLSまたはIPsecを使用することで、このリスクを軽減できます。トークンのランダム化も応答スプーフィングを防ぐのに役立ちます。
11.5. Cross-Protocol Attacks (クロスプロトコル攻撃)
CoAP-to-HTTPプロキシは、クロスプロトコル攻撃を実行するために悪用される可能性があります。プロキシは、転送する前にリクエストを注意深く検証し、ヘッダーとURIをサニタイズする必要があります。
11.6. Constrained Node Considerations (制約されたノードの考慮事項)
制約されたノードは、完全なセキュリティメカニズムを実装するための十分なリソースを持っていない場合があります。このような場合、リンク層またはネットワーク層のセキュリティが適切な代替手段となる場合があります。
実装者は、特定の脅威モデルとリソース制約に基づいて、適切なセキュリティモードを選択する必要があります。