Hello,
401 scheidet aus, da es explizit zur Authentifizierung auffordern würde.
Und welches potenzielle Problem siehst du damit verbunden?
Es würde mMn zu einem zusätzlichen Roundturn auffordern. Aber es bleibt nun bei 403. Das hat das alte System auch verwendet.
Es wird ein Token (32 Zeichen, 64 Möglichkeiten pro Digit) mitgesendet. Da das Ganze per https stattfindet, müsste damit relative Sicherheit gegeben sein.
Ja, HTTPS ist schonmal gut, um die Vertraulichkeit des Tokens abzusichern. Wie überträgst du das Token denn? Als Custom-Header, als Teil des Message-Bodys oder als Querystring-Parameter? Letzteres solltest du vermeiden, denn dann ist der Token kompromitiert sobald er einmal im Referrer-Header an einen fremden Server übertragen wird.
Guter Hinweis!
Das Token wird als Post-Parameter im Messagebody übertragen. Ob da nun mit multipart/form-data oder urlencoded Data gearbeitet wird, steht noch auf dem Arbeitszettel.
Aber wieso überhaupt etwas eigenes? Konzeptionell ist dein Verfahren ähnlich zu Basic Auth, wieso nicht direkt ein existierendes Verfahren nehmen? Hat den Vorteil, dass man die Sicherheitsmerkmale direkt nachschlagen kann, anstatt den Programmcode interpretieren zu müssen. Außerdem gibt es für gängige Verfahren bereits erprobte Implementierungen.
Es sitzt noch ein Protokoll dazwischen. Das muss wieder eingehalten werden. Die Tokens werden immer wieder ausgetauscht. Sie sind ja in den Sendegeräten gespeichert. Und die sind zeitweise unbeaufsichtigt. Da steckt die Schwachstelle im System. Wenn sich jemand so ein Gerät krallt, kann er mit dem Token noch einige Minuten lang Unsinn treiben.
Außerdem wird das Postparametermuster verglichen, was sicher nur "Security by Obscurity" ist; aber es schadet nicht.
Input-Validierung muss ja sowieso stattfinden.
BTW: Ich hatte deinen Tipp mit der Lib übrigens weitergegeben und nun spielen die Kollegen die ganze Zeit damit, anstatt die wesentlichen Dinge fertg zu machen :-O
Schön zu hören :) Spielen ist ein Geniestreich der Evolution, damit wir Freude am Lernen haben.
Naja, da interessiert wohl am Meisten die Möglichkeit des Streamens. Die scheidet aber für unsere Anwendungsfälle in 90% sowieso aus. Es gibt bei den Sendestellen meistens nur LLN statt Highspeed-WWW (Langsames Land Netz), sprich DSL über alte POTS-Leitungen oder G3. Und wenn G5 mal kommt, wird das zu teuer sein.
Ich wär ja auch neugierig, hab aber eine Terminvorgabe für das Grobkonzept.
Glück Auf
Tom vom Berg
Es gibt nichts Gutes, außer man tut es!
Das Leben selbst ist der Sinn.