Kapitel 7: Workflow Modellierung mit BPMN · Jutta Mülle / Silvia von Stackelberg WfMS - WS...

55
Jutta Mülle / Silvia von Stackelberg Kap. 7, Teil 2 - 1 WfMS - WS 2011/2012 Konzepte und Anwendung von Workflowsystemen Kapitel 7: Workflow Modellierung mit BPMN Teil 2: Modellierung von Sicherheit und Privatheit Vorlesung Wintersemester 2011/12 Lehrstuhl für Systeme der Informationsverwaltung, Prof. Böhm Institut für Programmstrukturen und Datenorganisation (IPD)

Transcript of Kapitel 7: Workflow Modellierung mit BPMN · Jutta Mülle / Silvia von Stackelberg WfMS - WS...

Jutta Mülle / Silvia von Stackelberg

Kap. 7, Teil 2 - 1 WfMS - WS 2011/2012

Konzepte und Anwendung von Workflowsystemen

Kapitel 7:

Workflow Modellierung mit BPMN Teil 2: Modellierung von Sicherheit und Privatheit

Vorlesung Wintersemester 2011/12

Lehrstuhl für Systeme der Informationsverwaltung, Prof. Böhm Institut für Programmstrukturen und Datenorganisation (IPD)

Jutta Mülle / Silvia von Stackelberg

Kap. 7, Teil 2 - 2 WfMS - WS 2011/2012

Überblick Kapitel 7 – Teil 2

Wiederholung BPMN Motivation am Beispiel „Praktikumsvermittlung“ Umsetzung von Sicherheit und Privatheit in BPMS

o Überblick Sicherheit und Privatheit o Annotationen für

• Sicherheit • Privatheit

o Transformation der Annotationen Zusammenfassung Übung

o Übungsaufgabe („Hausaufgabe“ mit Incentive) o Test (freiwillig)

Jutta Mülle / Silvia von Stackelberg

Kap. 7, Teil 2 - 3 WfMS - WS 2011/2012

Wiederholung BPMN

Verbreiteter Standard (OMG) zur Modellierung von

Prozessen (Workflows) Beschreibt die Notation und Semantik von Prozessen

sowie der Kommunikation zwischen Prozessen o Graphische Modellierung von Prozessen als sogenannte

„Diagramme“

Sowohl für fachliche als auch für technische Modelle

Jutta Mülle / Silvia von Stackelberg

Kap. 7, Teil 2 - 4 WfMS - WS 2011/2012

Einführungsbeispiel Workflow - Teilablauf einer Praktikumsvermittlung -

PDS: Personal Data Store

Jutta Mülle / Silvia von Stackelberg

Kap. 7, Teil 2 - 5 WfMS - WS 2011/2012

Beispiel BPMN – Praktikumsvermittlung -

[Start Event

[End-Events

[Data Object

[Gateway

[Activities (Tasks)

[Pool [Lanes

Jutta Mülle / Silvia von Stackelberg

Kap. 7, Teil 2 - 6 WfMS - WS 2011/2012

Wiederholung der Kernelemente BPMN

Flow Objects

Connecting Objects Swimlanes Data Artifacts

Jutta Mülle / Silvia von Stackelberg

Kap. 7, Teil 2 - 7 WfMS - WS 2011/2012

Wiederholung „Artifacts“ in BPMN – Beispiel Praktikumsvermittlung -

[Annotation

[check case: is user already registered ?

[Gruppierung

Jutta Mülle / Silvia von Stackelberg

Kap. 7, Teil 2 - 8 WfMS - WS 2011/2012

Einführungsbeispiel - Teilablauf einer Praktikumsvermittlung -

Aktivitäten

… Prozess Start

Aufgabenträger

Jutta Mülle / Silvia von Stackelberg

Kap. 7, Teil 2 - 9 WfMS - WS 2011/2012

Service-orientierte Architekturen (SOA) und Workflows

Web Service

Web Service

Web Service

SOAP

SOAP

SOAP

Internet

SOA: lose gekoppelte Services in einem Netzwerk Workflow-Management-System (WfMS) koordiniert Prozesse durch

Service-Aufrufe Interaktionen mit Akteuren

Jutta Mülle / Silvia von Stackelberg

Kap. 7, Teil 2 - 10 WfMS - WS 2011/2012

Zusammenfassung (bisher)

BPMN weit verbreitete, graphische Modellierungssprache

In Vorlesung wichtigste Konstrukte behandelt Was passiert mit Diagrammen? → Prozess-

Ausführung durch WfMS

bisher: generische Modellierung von Workflows Aber: in Praxis weitere Aspekte, wie Sicherheit und

Privatheit, von Bedeutung Forschungsfrage: Einbindung von Sicherheit und

Privatheit bei Modellierung (und Ausführung) von Workflows

Jutta Mülle / Silvia von Stackelberg

Kap. 7, Teil 2 - 11 WfMS - WS 2011/2012

Überblick Sicherheit und Privatheit in Workflows - Beispiel Praktikumsvermittlung -

Persönliche Daten

Festgelegte Zuständigkeiten

Sicherheitsaspekte

Autorisierung Authentifizierung

Auditing Vertraulichkeit

Integrität

Interaktion

Jutta Mülle / Silvia von Stackelberg

Kap. 7, Teil 2 - 12 WfMS - WS 2011/2012

Forschungsfragen

Ziel: Effiziente Integration von Sicherheitsmechanismen und Privatheitsaspekten in WfMS

Evaluierung

Ausführung

Konfiguration

Design & Analyse

Modellierung von

Anforderungen

Transformation von

Anforderungen

Erweiterung eines WfMS

Identifikation von

Auffälligkeiten

Jutta Mülle / Silvia von Stackelberg

Kap. 7, Teil 2 - 13 WfMS - WS 2011/2012

Sicherheit

Sicherheits-Facetten in SOA

Autorisierung

Integrität

Vertraulichkeit

Auditing

Authentifi-zierung

Jutta Mülle / Silvia von Stackelberg

Kap. 7, Teil 2 - 14 WfMS - WS 2011/2012

Sicherheit in Workflows

Autorisierung (Access Control) o Rechtevergabe an Akteure oder Web Services für die Durchführung von

Aufgaben (Aktivitäten) o Rollenkonzepte o Workflow-spezifische Einschränkungen

• z.B. Pflichtenbindung (Binding of Duty (BoD)), Pflichtentrennung (Separation of Duty (SoD))

o Delegation von Rechten auf Daten Authentifizierung

o Beglaubigte Identifikation von Beteiligten Vertraulichkeit von Datenflüssen

o Verschlüsselung/ Signatur Datenintegrität

o Korrektheit und Schutz vor unberechtigter Manipulation der Daten Auditing

o Protokollierung (Logging)

Jutta Mülle / Silvia von Stackelberg

Kap. 7, Teil 2 - 15 WfMS - WS 2011/2012

Privatheit in Workflows Personenbezogene Daten

o Rechtliche Rahmenbedingungen (z.B. Zustimmungen, Nachverfolgung → Auditing)

o Trust (Reputation) von beteiligten Services

Interaktive Einbeziehung der sog. „Betroffenen“ bei Ausführung von Workflowinstanzen o Berücksichtigung persönlicher Präferenzen

• Regelungen für Datenzugriffe • Informationspolitik (Notifikationen) bzgl. Umsetzung von

Richtlinien • Auswahl von Services zur Speicherung personenbezogener

Daten anhand der Reputation (Trust-Level) o Zustimmungen zu Geschäftsbedingungen („Give

Consent“)

Jutta Mülle / Silvia von Stackelberg

Kap. 7, Teil 2 - 16 WfMS - WS 2011/2012

Konventionelle Ansätze

Basismechanismen für Sicherheit in WfMS verfügbar o Rollenkonzepte zur Autorisierung

Nicht hinreichend unterstützt o Autorisierungen (z.B. für Bereiche des Workflows) o Separation of Duty (SoD), Binding of Duty (BoD) o Rechtemanagement für Daten

Umsetzung von Sicherheit durch proprietäre Software-Erweiterungen o aufwändig, kostspielig

Privatheit: existierende Ansätze berücksichtigen nicht, dass Entscheidungen kontextabhängig sein können

Jutta Mülle / Silvia von Stackelberg

Kap. 7, Teil 2 - 17 WfMS - WS 2011/2012

Ansatz zur Umsetzung von Sicherheit und Privatheit in Workflows

Entwicklung einer Sprache o Sicherheits- und Privatheitsbedingungen in

Workflows Einbindung in BPMN-Diagramme

o Bedingungen als Annotationsterme an BPMN Elemente

Generelle Repräsentation: << Annotationterm: list(parameter-name=„value“) >>

Umsetzung der Annotationen durch WfMS mit Hilfe von neu entwickelten Komponenten 1. Transformation 2. Ausführung

Jutta Mülle / Silvia von Stackelberg

Kap. 7, Teil 2 - 18 WfMS - WS 2011/2012

Annotationssprache: Autorisierung (I)

„Role Assignment“ (Rollenzuweisung) o Autorisierung von Rolleninhabern zur Ausführung einer

Aktivität

„Assignment Mechanism“ (Zuordnungsmechanismus) o Zuordnung der Aufgaben an Rolleninhaber (z.B.

Erfahrungsgrad, Kundenbetreuer)

„User Assignment“ o Direkte Zuordnung eines Benutzers

Jutta Mülle / Silvia von Stackelberg

Kap. 7, Teil 2 - 19 WfMS - WS 2011/2012

Annotationssprache: Autorisierung (II)

„Separation of Duty“ (Pflichtentrennung) o Annotierte Aktivitäten müssen von unterschiedlichen

Benutzern durchgeführt werden

„Binding of Duty“ (Pflichtenbindung) o Annotierte Aktivitäten müssen vom gleichen Benutzer

durchgeführt werden

Delegation o Weitergabe der Zugriffsrechte auf Daten o Weitergabe der Ausführungsrechte für Tasks

Jutta Mülle / Silvia von Stackelberg

Kap. 7, Teil 2 - 20 WfMS - WS 2011/2012

„Role Assignment“ Für Aktivitäten, Gruppen von Aktivitäten (GoA),

oder Swimlanes Syntax:

<< Assignment: type=„Role“

name=„$rolename“ >>

Bei Aktivitäten name=„$rolename“ obligatorisch, ansonsten optional

Einschränkung: max. eine Annotation pro BPMN-Element

Jutta Mülle / Silvia von Stackelberg

Kap. 7, Teil 2 - 21 WfMS - WS 2011/2012

Beispiel „Role Assigment“ für „Lanes“

Autorisierung der Rolleninhaber „Coordinator“ für alle Aktivitäten von „Lane“ Coordinator (analog „Lane“ Learner)

Jutta Mülle / Silvia von Stackelberg

Kap. 7, Teil 2 - 22 WfMS - WS 2011/2012

Beispiel „Role Assignment“ (Aktivitäten)

Autorisierung von Aktivität „Approve User“ durch Rolleninhaber von „Clerk“

Analog Gruppe von Aktivitäten (GoA) durch Rolleninhaber von „Coordinator“

>>

>>

Jutta Mülle / Silvia von Stackelberg

Kap. 7, Teil 2 - 23 WfMS - WS 2011/2012

Assignment Mechanism Assignment Mechanism legt fest, wie Zuordnung

von Aufgaben an Rolleninhaber erfolgt Korrespondiert mit „Role Assignment“ Syntax:

<<Assignment: type=„Mechanism“

name=„$mechanismname“ >>

„$mechanismname“ a priori spezifiziert Beispiel für Mechanismus:

falls Rolleninhaber Coordinator verfügbar, der frühere Vermittlungen von Learner bearbeitet hat, dann Zuweisung dieses Coordinators; falls nicht, nächst verfügbaren Coordinator zuweisen

Jutta Mülle / Silvia von Stackelberg

Kap. 7, Teil 2 - 24 WfMS - WS 2011/2012

„Binding of Duty“ (BoD)

Pflichtenbindung für Aufgaben o Durchführung durch gleiche Akteure

Für Aktivitäten, GoA, „Swimlanes“ Syntax:

<<BoD: spec=„weak“>>

spec optionaler Parameter spec=„weak“ lässt explizite Änderung

der Zuweisung zu („Re-assignment“)

Jutta Mülle / Silvia von Stackelberg

Kap. 7, Teil 2 - 25 WfMS - WS 2011/2012

„Separation of Duty“ (SoD) Pflichtentrennung

o Durchführung der Aufgaben von unterschiedlichen Benutzern

o Motivation oft zusätzliche Sicherheit (z.B. 4-Augen-Prinzip)

o Für Aktivitäten, GoA, „Swimlanes“ Syntax:

<< SoD: role=„$rolename“ number =„$value“ threshold =„$value“ >>

role, number, threshold optional Ausschluss von Rollen: role=„$rolename“

Jutta Mülle / Silvia von Stackelberg

Kap. 7, Teil 2 - 26 WfMS - WS 2011/2012

Beispiel SoD für Lanes

SoD mit role=… als Ausschluss, d.h. Learner und Coordinator müssen unterschiedliche Personen sein

Jutta Mülle / Silvia von Stackelberg

Kap. 7, Teil 2 - 27 WfMS - WS 2011/2012

SoD mit Kardinalitäten

Zusätzliche Ausdrucksmächtigkeit number =„$value“: minimale Anzahl

unterschiedlicher Benutzer threshold =„$value“: maximale Anzahl von

Aktivitäten (Instanzen), die von einem Benutzer durchgeführt werden dürfen (der gesamten, mit SoD annotierten Aktivitäten)

Default-Semantik SoD: (number=2, threshold=1) bei 2 Aktivitäten bzw. bei wiederholender Aktivität

Jutta Mülle / Silvia von Stackelberg

Kap. 7, Teil 2 - 28 WfMS - WS 2011/2012

Beispiele SoD

Min. 2 Benutzer, jeder Benutzer maximal 2 Aufgaben

Jutta Mülle / Silvia von Stackelberg

Kap. 7, Teil 2 - 29 WfMS - WS 2011/2012

D-Delegation Weitergabe von Zugriffsrechten auf (geschützte)

Daten o Prozessinterne Daten („data objects“) o Externe Daten („data stores“)

Syntax:

<< D-Delegation: rights=“list ($rightsname)” object=“$objectname” interval=“($activityname1,$activityname2)|$group” owner=“$rolename” receiver=“$rolename”|“$webservicename” spec=“$specification” >>

Jutta Mülle / Silvia von Stackelberg

Kap. 7, Teil 2 - 30 WfMS - WS 2011/2012

D-Delegation: Parameter

rights: read, write, delete, oder policy (deskriptive Beschreibung)

object: Datenobjekt, für das Rechte vergeben werden (bzw. View auf Datenobjekt)

owner: Rechteinhaber, Betroffene interval: Zeitintervall für Rechtevergabe receiver (Empfänger): rolename or webservicename

Spezifikation spec: grant (optional)

Jutta Mülle / Silvia von Stackelberg

Kap. 7, Teil 2 - 31 WfMS - WS 2011/2012

Beispiel D-Delegation

Delegation von Rechten für den Zugriff auf Daten

„Learner“ ist nicht Ausführender der

Task, aber Rechte-Inhaber!

Web Service „PDS“ ist Empfänger der

Rechte

Objekt, für das Rechte vergeben

werden

Jutta Mülle / Silvia von Stackelberg

Kap. 7, Teil 2 - 32 WfMS - WS 2011/2012

Sicherheit

Sicherheits-Facetten in SOA

Autorisierung

Integrität

Vertraulichkeit

Auditing

Authenti-fizierung

Jutta Mülle / Silvia von Stackelberg

Kap. 7, Teil 2 - 33 WfMS - WS 2011/2012

Authentifizierung

Identifikation von Beteiligten o Attribut/Werte-Paare o Bestätigung durch Identity-Provider

Syntax: << Authn: attributes=„[list[(attributename, value)“]

idp=„$identityprovider“ >>

Anmerkung: Trennung der Listenelemente durch „ ,“ (siehe folg. Bsp.)

Jutta Mülle / Silvia von Stackelberg

Kap. 7, Teil 2 - 34 WfMS - WS 2011/2012

Beispiel Authentifizierung

Jutta Mülle / Silvia von Stackelberg

Kap. 7, Teil 2 - 35 WfMS - WS 2011/2012

Auditing

Protokollierung (Logging) des Prozesses bzw. von Teilen des Prozesses

Motivation u.a. auch gesetzliche Regelungen Syntax:

<< Audit: policy=„$policyname“ >>

policy spezifiziert, was protokolliert wird (z.B. Zugriff auf personenbezogene Daten gemäß Datenschutzrichtlinien)

Jutta Mülle / Silvia von Stackelberg

Kap. 7, Teil 2 - 36 WfMS - WS 2011/2012

Beispiele Sicherheits-Annotationen in BPMN - Prozessanfang

Rollenzuweisung

Authentifizierung

Pflichtentrennung

Auditing

Pflichtenbindung

Jutta Mülle / Silvia von Stackelberg

Kap. 7, Teil 2 - 37 WfMS - WS 2011/2012

Einbeziehung von Benutzern

Zusätzlich zur Sicherheits-Sprache: Einbeziehung von Benutzern (sog. „User Involvements“) zur Spezifikation von Privatheits- und „Trust“-Aspekten o Einwilligung zu Geschäftsbedingungen (z.B. Terms &

Conditions) o Datenzugriffs-Regeln (Policy) o Regeln für Auswahl beteiligter Services anhand der

Vertrauenswürdigkeit („Trust“) o Trust-Feedback nach Nutzung von Services o Interaktions-Präferenzen

Nicht a priori, sondern dynamisch zur Laufzeit von Workflows o Abhängig von Workflow-Kontext

Jutta Mülle / Silvia von Stackelberg

Kap. 7, Teil 2 - 38 WfMS - WS 2011/2012

Ansatz zur Einbeziehung von Benutzern

Für alle Optionen vormodellierte Teilprozesse Sprache zur Darstellung von Teilprozessen

o Parametrisierbar o Prozessmodellierer greift auf vordefinierte Prozesse zurück,

kein Bedarf an Umsetzungs-Kenntnissen

Dynamische Einbindung der Teilprozesse bei Ausführung eines Workflows (Schema-Erweiterung)

Jutta Mülle / Silvia von Stackelberg

Kap. 7, Teil 2 - 39 WfMS - WS 2011/2012

Überblick Sprache „User Involvements“

Syntax << UInvolve: type=„$UInvolvetype“ ... >>

Vordefinierte Werte für UInvolvetype: SetIAPref

Consent

SelectService

SetDataPolicy, SelectDataPolicy

SetTrustPolicy, SelectTrustPolicy

TrustFeedback

Jutta Mülle / Silvia von Stackelberg

Kap. 7, Teil 2 - 40 WfMS - WS 2011/2012

„Consent“ (Zustimmungen)

Zustimmung der Benutzer zu den Geschäftsbedingungen des Workflows

Syntax <<UInvolve: type=„Consent“

target=„$targetname of privacy terms“ role=„$rolename“ insertplace=„$activityname“

display = „$option1,…,optionn“ >>

target spezifiziert Geschäftsbedingungen display gibt Benutzeroptionen an Optional: role, insertplace

Jutta Mülle / Silvia von Stackelberg

Kap. 7, Teil 2 - 41 WfMS - WS 2011/2012

Beispiel „Consent“

Jutta Mülle / Silvia von Stackelberg

Kap. 7, Teil 2 - 42 WfMS - WS 2011/2012

„Select Service“

Auswahl aus den verfügbaren Web Services Voraussetzung: Spezifikation des Trust Levels Syntax:

<<UInvolve: type=„$SelectService“ display=„list($option)“ role=„$rolename“ insertplace=„$activityname“>>

display gibt verfügbare Services an optional: role, insertplace

Jutta Mülle / Silvia von Stackelberg

Kap. 7, Teil 2 - 43 WfMS - WS 2011/2012

Beispiel „Select Service“

Jutta Mülle / Silvia von Stackelberg

Kap. 7, Teil 2 - 44 WfMS - WS 2011/2012

„Select Trust Policy“

Trust Policy spezifiziert die Anforderungen an die Vertrauenswürdigkeit (Trust) eines Web Services o Notwendige Spezifikation bei Service Selection

Benutzer wählt z.B. Trust Level für beteiligte Services

Syntax: <<UInvolve: type=„SelectTrustPolicy“ display=„list($option)“ role=„$rolename“ insertplace=„$activityname“>>

display gibt Benutzeroptionen an optional: role, insertplace

Jutta Mülle / Silvia von Stackelberg

Kap. 7, Teil 2 - 45 WfMS - WS 2011/2012

Beispiel „Select Trust Policy“

Jutta Mülle / Silvia von Stackelberg

Kap. 7, Teil 2 - 46 WfMS - WS 2011/2012

Transformation der Annotationen

Transformation „verarbeitet“ die Annotationen und

bereitet die Ausführung für die Engine vor

Erweiterung des Workflow-Schemas vor Ausführung Im Folgenden exemplarisch für <<UInvolve: type=„SelectTrustPolicy“ … >>

Jutta Mülle / Silvia von Stackelberg

Kap. 7, Teil 2 - 47 WfMS - WS 2011/2012

Transformation Annotierter Prozess

Modellierung

Konfiguration Transformation

Prozess-Fragmente

<<UInvolve: type=„SelectTrustPolicy“ role=„Learner” display=‘‘trustAll, averageFeedback, mostreputableUsers 5mostreputableUsers‘‘>>

Schema-Erweiterung

Jutta Mülle / Silvia von Stackelberg

Kap. 7, Teil 2 - 48 WfMS - WS 2011/2012

Prozessfragment “Select Trust Policy”

Jutta Mülle / Silvia von Stackelberg

Kap. 7, Teil 2 - 49 WfMS - WS 2011/2012

Prozess mit Annotationen

Jutta Mülle / Silvia von Stackelberg

Kap. 7, Teil 2 - 50 WfMS - WS 2011/2012

Workflow mit geschlossenem Sub-Prozess

Jutta Mülle / Silvia von Stackelberg

Kap. 7, Teil 2 - 51 WfMS - WS 2011/2012

Workflow mit integriertem Prozessfragment

Jutta Mülle / Silvia von Stackelberg

Kap. 7, Teil 2 - 52 WfMS - WS 2011/2012

Zusammenfassung

Modellierung von Workflows wichtiger Schritt zur

autom. Koordination von Abläufen Aktuelles Forschungsthema zur Modellierung von

Sicherheitsaspekten, Privatheit und Trust am IPD o Sprache

• Sicherheitsaspekte • Einbeziehung von Benutzern zur Spezifikation von Präferenzen Vorwiegend für das Verwalten von Daten

Jutta Mülle / Silvia von Stackelberg

Kap. 7, Teil 2 - 53 WfMS - WS 2011/2012

Übung

„Hausaufgabe“ Aufgabenstellung siehe Übungsblatt (Website

Lehrveranstaltungen IPD) Freiwillige, sofern gewünscht anonymisierte

Teilnahme Bearbeitungszeit bis 21. Dez. 2011 Schriftliche Abgabe, danach Feedback Incentives abhängig von Leistung

Jutta Mülle / Silvia von Stackelberg

Kap. 7, Teil 2 - 54 WfMS - WS 2011/2012

Exemplarische Fragen Kap. 7- Teil 2

Klassifizieren Sie Sicherheit. Beschreiben Sie kurz die Idee, Sicherheit in WfMS

umzusetzen. Geben Sie Beispiele für konkrete Annotationen an

(z.B. Authorisierung, Authentisierung, Einbeziehung von Benutzern)

Jutta Mülle / Silvia von Stackelberg

Kap. 7, Teil 2 - 55 WfMS - WS 2011/2012

Ergänzende Literatur Kap. 7 - Teil 2

Sicherheit in Workflows Mülle, Jutta, von Stackelberg, Silvia, Böhm, Klemens:

A Security Language for BPMN Process Models. Tech. Rep. 2011-09, Karlsruhe Institute of Technology (KIT), Karlsruhe, Germany, http://www.ubka.uni-karlsruhe.de/eva/index.html (alte Syntax)

Mülle, Jutta, von Stackelberg, Silvia, Böhm, Klemens: Modelling and Transforming Security Constraints in Privacy-Aware Business Processes, to appear in: SOCA, Dec. 2011 (modifizierte Syntax)