22.01.2014 Aufrufe

Download (5Mb) - oops/ - Oldenburger Online-Publikations-Server

Download (5Mb) - oops/ - Oldenburger Online-Publikations-Server

Download (5Mb) - oops/ - Oldenburger Online-Publikations-Server

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

7.3 Backend 111<br />

Abbildung 7.3: Überblick beispielhafter Einbindungen von Rack Middleware in der Rack<br />

Architektur – als Authentifizierung- oder Komprimierung-Maßnahme<br />

Eine Middleware-Komponente kann auch als ein Filter angesehen werden, die z.B. die ursprüngliche<br />

Anfrage abfangen und bearbeiten kann oder die formulierte Antwort einer Anfrage weiter bearbeiten<br />

kann. Darüber hinaus kann der gesamte Vorgang unterbrochen werden, wenn z.B. eine Authentifizierung<br />

fehlschlagt. Darüber hinaus können Rack Middleware Komponenten für Caching, Überwachung<br />

der Performanz und ähnliche Konzepte eingeführt werden.<br />

Der letzte Anwendungsfall (Vorgang unterbrechen) wird im Fall des rack-authenticate<br />

Gems ausgenutzt: gemäß dem standardisierten Verfahren 19 zur HMAC wird die Bearbeitungskette<br />

aus der Abbildung 7.3 abgebrochen und eine 401 Unauthorized HTTP Antwort zurückgeliefert,<br />

falls eine Überprüfung (s.u.) fehlschlägt.<br />

Die Überprüfung einer HMAC-Signatur berücksichtigt die Handhabung verschiedener Parameter<br />

wie die private Schlüssel und den dazugehörigen Bezeichner (in diesem Fall der Name der kontextbewussten<br />

Anwendung, Klasse ContextAwareApplication), das Datum, an dem die Anfrage<br />

formuliert wurde, sowie im Fall von POST Anfragen, die Handhabung des MD5 Wertes. Anhand<br />

dieser Parameter wird zur hauptsächlichen Überprüfung der privaten Schlüssel gelungen – in dieser<br />

Phase wird der Bezeichner benutzt, um das in der Datenbank gespeicherten Wert (die private,<br />

von Frontend und Backend geteilte Schlüssel) auszulesen. Der letzte Schritt bei der HMAC Authentifizierung<br />

ist die erneute Berechnung des Hashwertes anhand der ausgelesenen privaten Schlüssel.<br />

Wenn das entstehende Wert mit dem übermittelten übereinstimmt, wird die Anfrage als authentifiziert<br />

bezeichnet und weiter in die Bearbeitungskette zugelässt.<br />

Die genannten Erweiterungen zu dem rack-authenticate Gem wurden temporär in der Entwicklungsphase<br />

im Quelltext durchgeführt, um die Überprüfungsphase der HMAC-Signatur einzuteilen,<br />

zu dem Zweck, eine eventuelle fehlerhafte Überprüfung identifizieren zu können. Darüber hinaus<br />

wurde eine Erweiterung der Hashwert-Berechnung (s.o.) durchgeführt, in dem die performantere, mit<br />

Ruby 1.9 mitgelieferte Bibliothek OpenSSL für die Berechnung des Hashwertes angewendet wurde.<br />

19 RFC 2104: http://www.ietf.org/rfc/rfc2104.txt

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!