Back to top

Turnpike

Last modified by Florian Matthes Feb 8, 2017

Turnpike delivered code analysis tools and formal verification algorithms to perform efficient and complete authorization checks in Java-based enterprise software based on declaratively specified authorization policies.

Objective

Es sollen Methoden und Werkzeuge entwickelt werden, die für typische betriebliche Anwendungen einerseits eine lückenlose Zugriffskontrolle für alle möglichen Ausführungshistorien garantieren, dabei aber gleichzeitig nur einen möglichst geringen Aufwand (Laufzeit, Speicherplatzbedarf, Entwicklungszeit) für die Durchführung der Zugriffskontrolle erfordern. Ein weiteres Ziel ist die Trennung von Anwendungslogik, Spezifikation der Zugriffsrechte und Realisierung der Zugriffskontrolle.

Contact

Florian Matthes

Summary

Java-basierte betriebliche Anwendungen zeichnen sich durch eine reguläre Schichtenarchitektur, eine anfrage- und dokumentorientierte Realisierung der angebotenen Dienste sowie ein objektorientiertes Datenmodell der persisten­ten Geschäftsobjekte aus.

Zugriffskontrolle besteht grundsätzlich aus zwei Bausteinen: der Zugriffsentscheidung und der Zugriffs­durchsetzung (siehe ISO-Norm 10181-3). Während es bereits verschiedene Ansätze in der Literatur und Praxis zur Bündelung und Strukturierung der Zugriffsentscheidung durch Bibliotheken und Werkzeuge gibt, ist das Problem der lückenlosen Zugriffskontrolle für anwendungsspezifische Berechtigungsmodelle noch weitgehend unerforscht.

In dieser Arbeit wird in einem ersten Teil ein ausdrucksmächtiges Berechtigungsmodell entwickelt, mit dem auch für anspruchsvolle betriebliche Anwendung notwendige komplexe Berechtigungsanforderungen modelliert werden können. Hierbei werden die Geschäftsobjekte als zu schützende Ressourcen betrachtet. Das entwickelte Berechtigungsmodell basiert direkt auf dem der Anwendung zugrunde liegenden Datenmodell, so dass die Konsistenz zwischen Berechtigungsdefinition und der tatsächlich vorhandenen Ressourcentypen und Beziehung der Ressourcentypen untereinander gegeben ist. Geschützte Operationen sind hierbei Operationen, die auf der Datenbank ausgeführt werden können (Anlegen und Löschen von Geschäftsobjekten und deren Beziehungen, sowie das Lesen und Schreiben von Geschäftsobjekten).

In zweiten Teil der Arbeit wird ein Zugriffskontrollframework entworfen und prototypisch implementiert, welches die Vollständigkeit und Effizienz der Zugriffskontrolle dadurch zusichert, dass Aufrufe der Zugriffsentschei­dungsfunktionen basierend auf dem für die An­wendung deklarativ festgelegten Berechtigungsmodell und dem Ergebnis einer abstrakten Interpretation des Java-Quelltextes der betrieblichen Anwendung automatisch generiert werden. Die Generierung sichert einerseits eine lückenlose und konsistente Zugriffs­kontrolle auf allen möglichen Ausführungspfaden, eliminiert redundante Zu­griffskontrollüberprüfungen und versucht gleichzeitig, den Zeitpunkt der Zugriffskontrolle möglichst vor den Beginn der Ausführung der Geschäftslogik jeder Anfrageausführung zu verschieben.

Technical Reports

  • Entwurf eines fachlichen Lösungskonzepts und eines Architekturmodells für das unternehmensweite Berechtigungsmanagement in einer Großbank, Sergius Schneider, Bachelor-Thesis, SS 2005
  • Integration von Berechtigungsprüfungen in betriebliche Anwendungen mit AspectJ, Christopher Rölle, Bachelor-Thesis, SS 2004
  • Spezifikation der Semantik einer generischen Autorisierungskomponente als Basis für eine verbesserte Implementierung, Thomas Nietsch, Diplomarbeit SS 2004
  • Verwaltung von Benutzer- und Berechtigungsdaten für Autorisierungszwecke, Thomas Nietsch, SEP WS 03/04
  • Methoden und Techniken zur Sicherstellung des vertrauenswürdigen Managements von Benutzerprofildaten in vernetzten Anwendungen, Andreas Bucksteeg, Diplomarbeit WS 03/04
  • Integration unabhängig entwickelter generischer Anwendungen am Beispiel einer "Content-, Commerce- und Community- Applikation", Klaas Hermanns, Diplomarbeit SS 2003