7. Sicherheitsüberlegungen (Security Considerations)
Es gelten die Sicherheitsüberlegungen in Abschnitt 11 von [RFC7252], der CoAP-Spezifikation.
Das Beobachten von Ressourcen kann die negativen Auswirkungen von Amplification Attacks drastisch erhöhen. Das heißt, nicht nur können Benachrichtigungsnachrichten viel größer sein als die Anforderungsnachricht, sondern die Natur des Protokolls kann dazu führen, dass eine beträchtliche Anzahl von Benachrichtigungen generiert wird. Ohne Client-Authentifizierung MUSS ein Server daher die Anzahl der Benachrichtigungen, die er zwischen dem Empfang von Bestätigungen sendet, die das tatsächliche Interesse des Clients an den Daten bestätigen, streng begrenzen; d. h. alle Benachrichtigungen, die in nicht bestätigbaren Nachrichten gesendet werden, MÜSSEN mit bestätigbaren Nachrichten durchsetzt sein. Beachten Sie, dass ein Angreifer die Bestätigungen dennoch fälschen kann, wenn die bestätigbaren Nachrichten ausreichend vorhersehbar sind.
Das Protokoll verfolgt einen Best-Effort-Ansatz, um den vom Client beobachteten Zustand und den tatsächlichen Ressourcenzustand auf einem Server synchron zu halten. Dies kann dazu führen, dass Client und Server zeitweise nicht synchron sind. Abhängig von der Empfindlichkeit der beobachteten Ressource kann das Arbeiten mit einem alten Zustand eine Sicherheitsbedrohung darstellen. Der Client muss daher darauf achten, eine Repräsentation nicht nach Ablauf ihres Max-Age zu verwenden, und der Server muss die Max-Age-Option auf einen sinnvollen Wert setzen.
Wie bei jedem Protokoll, das einen Zustand erzeugt, können Angreifer versuchen, die Ressourcen zu erschöpfen, die dem Server für die Verwaltung der Liste der Beobachter für jede Ressource zur Verfügung stehen. Server möchten möglicherweise Zugriffskontrollen auf diese Zustandserstellung anwenden. Als degradiertes Verhalten kann der Server immer darauf zurückgreifen, die Anfrage als normale GET-Anfrage (ohne Observe-Option) zu verarbeiten, wenn er nicht bereit oder in der Lage ist, einen Client zur Liste der Beobachter einer Ressource hinzuzufügen, auch wenn die Systemressourcen erschöpft sind oder sich der Erschöpfung nähern.
Vermittler müssen darauf achten, dass Benachrichtigungen nicht dazu verwendet werden können, eine Schleife zu erzeugen. Ein einfacher Weg, um Schleifen zu unterbrechen, ist die Verwendung von Caches für die Weiterleitung von Benachrichtigungen in Vermittlern.
Ressourcen können über CoAP beobachtet werden, das durch Datagram Transport Layer Security (DTLS) unter Verwendung eines der in Abschnitt 9 von RFC 7252 beschriebenen Sicherheitsmodi gesichert ist. Die Verwendung von DTLS wird durch das URI-Schema "coaps" angezeigt. Alle Benachrichtigungen, die aus einer GET-Anfrage mit einer Observe-Option resultieren, MÜSSEN innerhalb derselben Epoche derselben Verbindung wie die Anfrage zurückgegeben werden.