[Back]


Diploma and Master Theses (authored and supervised):

M. Kosco:
"Concept and Implementation of Attribute-Based Database Access Control Exemplified by an Internationally Used Membership Management System";
Supervisor: T. Grechenig; 183-1, 2016.



English abstract:
In complex software systems managing millions of members and customers and their sensitive data, users should only have limited access to those data depending on their role in the system. Attribute-based access control (ABAC) systems provide fine-grained access restrictions based on attributes of the customer, employee or any related object. An ABAC policy can, for example, de- fine that users are granted access to another user¿s account if they are in a parent-child relationship and the age attribute of the child object is less than 18. Such policies are usually implemented on the application-level. Based on ABAC approaches from literature, a concept for storing digital ABAC access policies and algorithms to evaluate and enforce those policies were defined. Suitable database mechanisms were reviewed and a proof of concept was implemented, consisting of a database model for digital ABAC policies, modules to intercept requests to the database, to evaluate policies and to enforce them by preventing unauthorized requests. An evaluation of different access control and performance metrics was conducted, and the results were compared with existing, similar software-based solutions. The proof of concept implementation and the evaluation show that it is possible to implement attribute-based access control solely on the database-level. Complex access policies, limited only by the programming language and expressiveness of the database and by the data available to the database, can be implemented. Any client accessing the database will only be able to view and modify objects that he or she is authorized for. The performance impacts of a database- and an application-based implementation are comparable. In addition, the database implementation supports more expressive and elegant policies. It also provides better security and limits programming errors by separating business logic from access control. Compared to similar database implementations, the implementation in this thesis supports advanced features such as negative permissions and conflict resolution.

German abstract:
Komplexe Verwaltungssystemen beinhalten eine grosse Menge an sensiblen Daten. Abhaengig von deren Rolle im System und im Unternehmen duerfen Benutzer dieser Systeme nur begrenzte Zugriffsmoeglichkeiten besitzen. Applikationen mit attributbasierter Zugriffskontrolle (ABAC) unterstuetzen feingranulare Zugriffsbeschraenkungen basierend auf Attributen des Benutzers, Kunden oder eines beliebigen, in Beziehung stehenden Objektes. Als Beispiel einer ABAC Zugriffsberechtigung darf ein Benutzer das Konto eines anderen Benutzers nur dann einsehen, wenn diese in einer Elternteil-Kind Beziehung stehen und das Alter-Attribut des Kind-Objektes kleiner 18 ist. Solche Zugriffsberechtigungen werden ueblicherweise als Teil der Applikation implementiert. Basierend auf einer Literaturrecherche ueber ABAC wurde ein Konzept zur Speicherung von digitalen Zugriffsberechtigungen entwickelt. Zusaetzlich wurden Algorithmen fuer die Evaluierung und die Durchsetzung dieser Berechtigungen definiert. Geeignete Datenbankmechanismen wurden bewertet und ein Machbarkeitsnachweis, bestehend aus einem Datenbankmodell fuer digitale attributbasierte Zugriffsberechtigungen, Module fuer die Evaluierung der Zugriffsberechtigungen und die Durchsetzung durch das Verhindern von nicht autorisierten Anfragen wurden implementiert. Eine Bewertung diverser Zugangsbeschraenkungs- und Leistungsmetriken wurde durchgefuehrt und die Ergebnissse wurden mit aehnlichen existierenden Loesungen verglichen. Der Machbarkeitsnachweis und die Evaluierung zeigen, dass es moeglich ist, attributbasierte Zugriffskontrolle ausschliesslich auf Datenbankebene zu implementieren. Komplexe Zugriffsberechtigungen, beschraenkt lediglich durch die Ausdrucksstaerke der Datenbanksprache und der darin gespeicherten Daten, koennen implementiert werden. Jeder Client kann dadurch nur die Daten einsehen und modifizieren, fuer die er entsprechende Berechtigungen hat. Die Auswirkungen auf die Leistung einer Applikation sind zwischen applikatorischer und datenbankbasierter Implementierung vergleichbar. Zusaetzlich unterstuetzt die Datenbankimplementierung ausdrucksstaerkere und elegantere Zugriffsberechtigungen und bietet mehr Sicherheit durch die Trennung zwischen Applikationslogik und Zugriffskontrolle. Verglichen mit aehnlichen Datenbankbasierten Implementierungen bietet die Implementierung in dieser Arbeit zusaetzliche Eigenschaften wie negative Zugriffsberechtigungen und die Aufloesung von Laufzeitkonflikten.

Created from the Publication Database of the Vienna University of Technology.