1.2. Requirements (Anforderungen)
1.2. Requirements (Anforderungen)
HTTP erlaubt und erfordert mitunter, dass Vermittler Nachrichten transformieren. Der Empfänger kann eine Nachricht erhalten, die nicht bitweise mit der gesendeten übereinstimmt. Dann ist Integritätsschutz über Rohbytes nicht verifizierbar, da Signierender und Verifizierender dieselbe Signaturbasis benötigen. Sie müssen die Signaturbasis daher unabhängig aus ihren Sichten erzeugen, mit einem Verfahren, das sichere, bedeutungserhaltende Änderungen toleriert.
Eine strikte Definition „sicher“ vs. „unsicher“ ist kaum praktikabel. Anwendungen nutzen HTTP unterschiedlich; ein allgemeines Verfahren muss Signierenden Kontrolle über die abgedeckten Komponenten geben.
Anwendungen können ohne vollen Zugriff auf Rohnachrichten laufen (z. B. Browser-JavaScript) oder Protokolldetails abstrahieren (z. B. Java HttpClient, https://openjdk.java.net/groups/net/httpclient/intro.html). Sie müssen Signaturen trotzdem erzeugen und prüfen können.