02.02.2014 Aufrufe

Entwurf einer anwendungsunabhängigen Zugriffskontrolle mittels ...

Entwurf einer anwendungsunabhängigen Zugriffskontrolle mittels ...

Entwurf einer anwendungsunabhängigen Zugriffskontrolle mittels ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Zugriffskontrollverfahren und AOP<br />

3.2 Probleme üblicher Zugriffskontrollverfahren<br />

3.2.1 Fahrtenbücher und <strong>Zugriffskontrolle</strong>n<br />

Die untersuchten Fahrtenbücher weisen keine der oben aufgeführten Zugriffskontrollverfahren<br />

auf. Die meisten Systeme verfügen nur über eine einfache<br />

Passwortabfrage (siehe [IbNoJ] und [SysoJ]). Fortgeschrittene <strong>Zugriffskontrolle</strong>n wie<br />

etwa rollenbasierte <strong>Zugriffskontrolle</strong>n werden hingegen nicht unterstützt.<br />

Im Folgenden soll nicht weiter auf die Sicherheitsmängel üblicher Fahrtenbuch-<br />

Software bzw. -Dienste eingegangen werden. Stattdessen wird erörtert, welche<br />

Probleme auftreten, wenn man die <strong>Zugriffskontrolle</strong> <strong>einer</strong> (Telematik-)Anwendung mit<br />

den oben beschriebenen Verfahren realisieren möchte.<br />

3.2.2 Vermischung von Quellcode und <strong>Zugriffskontrolle</strong><br />

Das Hauptproblem üblicher Verfahren ist, dass die Zugriffskontrollaufrufe im<br />

Anwendungsprogramm zu programmieren sind. Üblicherweise verfügt eine Zugriffskontrollfunktionalität<br />

über eine Schnittstelle, die vom Anwendungsprogramm genutzt<br />

wird. Die folgende Abbildung zeigt eine Beispielanwendung, die um Funktionen zur<br />

Überprüfung der Autorisierung erweitert wurde.<br />

package Logbook;<br />

import Security.SecurityFacade;<br />

public class Start<br />

{<br />

…<br />

public static void main(String[] args) throws Exception {<br />

SecurityFacade security = SecurityFacade.getInstance();<br />

…<br />

else if (action.equals(„setdate“)) {<br />

if(security.checkAuthorization(user,”Entry”,”setdate”)<br />

String date = JoptionPane.showInputDialog(…);<br />

Entry e = (Entry) entries[actualNbr];<br />

e.setdate(date);<br />

else<br />

System.out.println(“Access denied”);<br />

…<br />

}<br />

}<br />

Abbildung 7: Anwendungsprogramm inklusive Rechteprüfung<br />

Wie man anhand der fett markierten Zugriffskontrollfunktionen deutlich sehen kann,<br />

muss sich ein Großteil des Anwendungscodes mit der <strong>Zugriffskontrolle</strong> beschäftigen.<br />

25

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!