Zum Hauptinhalt springen

11. Security Considerations (Sicherheitsüberlegungen)

Dieser Abschnitt bietet eine kurze Analyse der Sicherheitsüberlegungen für CoAP. Der empfohlene primäre Sicherheitsmechanismus ist DTLS [RFC6347]. Die Sicherheitsumgebung und Anforderungen für CoAP werden weiter in [CoAP-SECUR] diskutiert.

11.1. Parsing the Protocol and Processing URIs (Parsen des Protokolls und Verarbeiten von URIs)​

Implementierungen müssen alle Eingaben sorgfältig parsen und validieren, um Pufferüberläufe, Injection-Angriffe und andere Sicherheitsschwachstellen zu verhindern, die aus fehlerhaften Nachrichten oder URIs entstehen können.

11.2. Proxying and Caching (Proxying und Caching)​

Proxys und Caches führen zu zusätzlichen Sicherheitsüberlegungen, einschließlich Informationsoffenlegung und Man-in-the-Middle-Angriffen. Die Verwendung von DTLS zum Schutz von Verbindungen zwischen Proxys und Servern ist wichtig.

11.3. Risk of Amplification (Risiko der Verstärkung)​

CoAP-Anfragen können zu Antworten führen, die deutlich größer sind als die Anfrage selbst, was für Verstärkungsangriffe ausgenutzt werden könnte. Server sollten Ratenbegrenzung implementieren, und Antworten auf Multicast-Anfragen sollten wie in Abschnitt 8.2 beschrieben verzögert werden.

11.4. IP Address Spoofing Attacks (IP-Adressen-Spoofing-Angriffe)​

Die Ausführung über UDP macht CoAP anfällig für IP-Adressen-Spoofing-Angriffe. Die Verwendung von DTLS oder IPsec kann dieses Risiko mindern. Die Randomisierung von Tokens hilft auch, Response-Spoofing zu verhindern.

11.5. Cross-Protocol Attacks (Cross-Protocol-Angriffe)​

CoAP-zu-HTTP-Proxys könnten ausgenutzt werden, um Cross-Protocol-Angriffe durchzuführen. Proxys sollten Anfragen sorgfältig validieren und Header und URIs vor dem Weiterleiten bereinigen.

11.6. Constrained Node Considerations (Überlegungen zu eingeschränkten Knoten)​

Eingeschränkte Knoten haben möglicherweise nicht ausreichend Ressourcen, um vollständige Sicherheitsmechanismen zu implementieren. In solchen Fällen kann Link-Layer- oder Network-Layer-Sicherheit eine geeignete Alternative sein.

Implementierer sollten basierend auf ihrem spezifischen Bedrohungsmodell und ihren Ressourcenbeschränkungen geeignete Sicherheitsmodi wählen.