Policy Representation & Reasoning Juri L. De Coi, Philipp Kärger, Daniel Olmedilla, Sergej Zerr L3s Research Center / Leibniz Hannover University L3S Research Seminar Hannover, 18th April, 2008 Outline Introduction to Policy Representation & Reasoning Motivation, requirements, state of the art L3S Policy framework Protune in a Nutshell: framework and language Protune in Action: Policies on the Web Static content protection and dynamic generation Reactive Policies, Current and Further Policy Work Event reactivity, research ideas De Coi, Kärger, Olmedilla, Zerr L3S Research Seminar April 18th, 2008 2 Introduction: Policy Representation & Reasoning Daniel Olmedilla Policy Representation & Reasoning Problem Institutions, companies and people need to control the way they Make business Take decisions Offer their assets Etc … Computers help us on our daily work performing tasks that we cannot perform (or we do it worse) hard to control manually, time-consuming, expensive, errorprone automatically on our behalf But generally, we need to control how decisions and actions are taken De Coi, Kärger, Olmedilla, Zerr L3S Research Seminar April 18th, 2008 4 Policy Representation & Reasoning What is a Policy? Wikipedia: deliberate plan of action to guide decisions and achieve rational outcome(s) Not necessarily related to IT In an IT setting: Set of considerations designed to guide decisions of courses of actions Broad definition: Set of statements defining the behaviour of an entity in a given situation De Coi, Kärger, Olmedilla, Zerr L3S Research Seminar April 18th, 2008 5 Policy Representation & Reasoning Policies are everywhere (I) Rules of ethics for robots 1. A robot may not injure a human being or, through inaction, allow a human being to come to harm. 2. A robot must obey orders given to it by human beings, except where such orders would conflict with the First Law. 3. A robot must protect its own existence as long as such protection does not conflict with the First or Second Law. [Isaac Asimov. Runaround. 1942 ] De Coi, Kärger, Olmedilla, Zerr L3S Research Seminar April 18th, 2008 6 Policy Representation & Reasoning Policies are everywhere (II) Declarative De Coi, Kärger, Olmedilla, Zerr L3S Research Seminar April 18th, 2008 7 Policy Representation & Reasoning Policies are everywhere (III) De Coi, Kärger, Olmedilla, Zerr L3S Research Seminar April 18th, 2008 8 Policy Representation & Reasoning Policies are everywhere (IV) B2B contracts e.g. quantity flexible contracts, late delivery penalties, etc. Negotiation e.g. rules associated with auction mechanisms Security e.g. access control policies Privacy Information Collection Policies (aka “ P3P Privacy Policies”) Obfuscation Policies Workflow management What to do under different sets of conditions Context aware computing What service to invoke to access a particular contextual attribute Context-sensitive preferences [ by Norman Sadeh, Semantic Web Policy Workshop panel, ISWC 2005 ] De Coi, Kärger, Olmedilla, Zerr L3S Research Seminar April 18th, 2008 9 Policy Representation & Reasoning The goal Build applications/agents where Behaviour is flexible Can be changed/updated dynamically without re-coding, re-compiling, re-installing, etc… In a costless manner Can be managed by administrators/users without needing to be computer experts Can be understood by normal users De Coi, Kärger, Olmedilla, Zerr L3S Research Seminar April 18th, 2008 10 Policy Representation & Reasoning Benefits Explicit license for autonomous behaviour Reusability Efficiency Extensibility Context-sensitivity Verifiability Support for simple as well as sophisticated agents Protection from poorly-designed, buggy or malicious agents Reasoning about agent behaviour Compact representation, possibly declarative Etc. De Coi, Kärger, Olmedilla, Zerr L3S Research Seminar April 18th, 2008 11 Policy Representation & Reasoning Requirements / Challenges Many policies, one framework Conflict Resolution Integration with external sources Policies as active objects Executing actions Negotiations User awareness and control Cooperative enforcement De Coi, Kärger, Olmedilla, Zerr L3S Research Seminar April 18th, 2008 12 Policy Representation & Reasoning Many policies, one framework (I) The term policy covers: Security/Privacy policies, Trust management Business rules Quality of Service directives Service-level agreements Communication and conversation policies and more... In many cases they are interleaved If customers are younger than 26 give a 20% discount on international tickets Up to 15% of network bandwidth can reserved if payment is done with an accepted credit card Customers can rent a car if they are 18 or older, and exhibit a driving license and a valid credit card De Coi, Kärger, Olmedilla, Zerr L3S Research Seminar April 18th, 2008 13 Policy Representation & Reasoning Many policies, one framework (II) It is appealing to integrate all policies in one framework One common infrastructure for interoperability and decision making Where policies can be harmonized & coordinated De Coi, Kärger, Olmedilla, Zerr L3S Research Seminar April 18th, 2008 14 Policy Representation & Reasoning Conflict Resolution (I) Positive authorization You can access file123.txt Obligation You must inform your boss Alice Negative authorization You can not access file123.txt Dispensation You don’t need to inform your boss De Coi, Kärger, Olmedilla, Zerr L3S Research Seminar Ivan April 18th, 2008 15 Policy Representation & Reasoning Conflict Resolution (II) Security typically assumes “everything is denied by default” no need for disallow policies The cost of disclosing a sensitive resource is higher than not disclosing a public one But, if there exists the need, then it is required to provide techniques for Conflict detection Conflict harmonization De Coi, Kärger, Olmedilla, Zerr L3S Research Seminar April 18th, 2008 16 Policy Representation & Reasoning Integration with external systems Policies are not islands Decisions need data, information, and knowledge Each organization has its own Already available through legacy software and data A realistic solution must interoperate with them Third parties Credit card sites for validity checking External databases Variety of web resources De Coi, Kärger, Olmedilla, Zerr L3S Research Seminar April 18th, 2008 17 Policy Representation & Reasoning Negotiations (I) Alice Bob Step 1: Alice requests a service from Bob Step 2: Bob discloses his policy protecting the service Step 3: Alice discloses her policy protecting the VISA Step 4: Bob discloses his BBB credential Step 5: Alice discloses her VISA card credential Service De Coi, Kärger, Olmedilla, Zerr Step 6: Bob grants access to the service L3S Research Seminar April 18th, 2008 18 Policy Representation & Reasoning Negotiations (II) Used for Access control Service-level agreements Dynamic contracts E.g., in web service composition Autonomic computing Pervasive environments E.g., sensor networks Etc. De Coi, Kärger, Olmedilla, Zerr L3S Research Seminar April 18th, 2008 19 Policy Representation & Reasoning User awareness and control Explain policies and system decisions Make rules & reasoning intelligible to the common user Encourage people to personalize their policies Make it easy for users to write their own rules De Coi, Kärger, Olmedilla, Zerr L3S Research Seminar April 18th, 2008 20 Policy Representation & Reasoning Cooperative Policy Enforcement Crucial for the success of a service Never say (only) “no”! Encourage first-time users You can’t open this door, but you can ask Alice for permission Who don't know how to use your service Explain policy decisions Especially failures Advanced queries: Why not Advanced queries: How-to, What-if De Coi, Kärger, Olmedilla, Zerr L3S Research Seminar April 18th, 2008 21 Policy Representation & Reasoning Main State of the Art Approaches Ponder OO language, well established, focus on network management XACML Standard by OASIS, it being taken up by companies KAOS Based on DL reasoning REI Combination of DL representation and LP semantics PeerTrust Based on guarded distributed logic programs And many others De Coi, Kärger, Olmedilla, Zerr L3S Research Seminar April 18th, 2008 22 Protune policy framework: (not too) technical details Juri Luca De Coi Protune Policy Framework Outline Getting started Protune Features Usability issues De Coi, Kärger, Olmedilla, Zerr L3S Research Seminar April 18th, 2008 24 Getting started Protune Policy Framework Overview Alice Bob Policy ………. Intelligent policy engine De Coi, Kärger, Olmedilla, Zerr L3S Research Seminar Request Decision April 18th, 2008 26 Protune Policy Framework Just to get the flavor... IF conditions are fullfilled THEN allow action disclose(‘/EWSCpaper2008.pdf’) sendL3SEmployeeId. A resource can be disclosed if its status is „published“ disclose(X) status(X, published). EWSCpaper2008.pdf can be disclosed to the other peer if it has sent an L3S employee id. status(‘/EWSCpaper2007.pdf’, published). status(‘/EWSCpaper2008.pdf’, notPublished). De Coi, Kärger, Olmedilla, Zerr L3S Research Seminar April 18th, 2008 27 Protune Features Protune Policy Framework Standard example disclose(X) status(X, notPublished), sendL3SEmployeeId. Actions may be needed in order to make decisions status(‘/EWSCpaper2007.pdf’, published). status(‘/EWSCpaper2008.pdf’, notPublished). De Coi, Kärger, Olmedilla, Zerr L3S Research Seminar April 18th, 2008 29 Protune Policy Framework Metapolicy “type” disclose(X) status(X, notPublished), sendL3SEmployeeId. Usual predicate Action status(‘/EWSCpaper2007.pdf’, published). status(‘/EWSCpaper2008.pdf’, notPublished). sendL3SEmployeeId->type:action. status(X, Y)->type:logical. De Coi, Kärger, Olmedilla, Zerr L3S Research Seminar April 18th, 2008 30 Protune Policy Framework Metapolicy “actor” disclose(X) status(X, notPublished), sendL3SEmployeeId. Who executes the action? The requester? The local system? status(‘/EWSCpaper2007.pdf’, published). A third party? status(‘/EWSCpaper2008.pdf’, notPublished). sendL3SEmployeeId->type:action. sendL3SEmployeeId->actor:peer. status(X, Y)->type:logical. De Coi, Kärger, Olmedilla, Zerr L3S Research Seminar April 18th, 2008 31 Protune Policy Framework Available actions Access to relational databases Access to RDF repositories Credential exchange Searching of regular expressions within a file Interface to an LDAP server Time and location management De Coi, Kärger, Olmedilla, Zerr L3S Research Seminar April 18th, 2008 32 Protune Policy Framework Explanations De Coi, Kärger, Olmedilla, Zerr L3S Research Seminar April 18th, 2008 33 Usability issues Protune Policy Framework Usability issues download(User, Resource) authenticated(User), have(User, Subscription), availableFor(Subscription, Resource). authenticated(‘Bob’). have(‘Bob’, lncsSubscription). availableFor(lncsSubscription, ESWCpaper2007.pdf). authenticated(User)->type:logical. Every user who is availableFor(Subscription, Resource)->type:logical. authenticated and who have(User, has a Subscription)->type:logical. subscription that is available for a resource can download the resource. De Coi, Kärger, Olmedilla, Zerr L3S Research Seminar April 18th, 2008 35 Protune Policy Framework Using natural language: Problem How to deal with ambiguities? De Coi, Kärger, Olmedilla, Zerr L3S Research Seminar April 18th, 2008 36 Protune Policy Framework Using natural language: Ambiguities (I) Bob looks at the girl on the hill with a telescope De Coi, Kärger, Olmedilla, Zerr L3S Research Seminar April 18th, 2008 37 Protune Policy Framework Using natural language: Ambiguities (II) 2 girls lift 2 tables De Coi, Kärger, Olmedilla, Zerr L3S Research Seminar April 18th, 2008 38 Protune Policy Framework Solution: Use a controlled natural language What does “controlled” mean? Rules are used in order to automatically disambiguate ambiguous sentences Bob looks at the girl on the hill with a telescope Example disambiguation rule: Propositional phrases refer to the predicate of the sentence Only a subset of valid English sentences are valid sentences De Coi, Kärger, Olmedilla, Zerr L3S Research Seminar April 18th, 2008 39 Protune Policy Framework Disambiguation: using ACE (I) Bob looks at the girl on the hill with a telescope Bob looks with a telescope at the girl who is on the hill. De Coi, Kärger, Olmedilla, Zerr Bob looks at the girl on the hill with a telescope. L3S Research Seminar Bob looks at the girl who is on the hill with a telescope. April 18th, 2008 40 Protune Policy Framework Disambiguation: using ACE (II) 2 girls lift 2 tables 2 girls lift 2 tables. De Coi, Kärger, Olmedilla, Zerr Each of 2 girls lifts one table. L3S Research Seminar Each of 2 girls lifts 2 tables. April 18th, 2008 41 Protune Policy Framework The ACE Protune translation (I) Every user who is authenticated and who has a subscription that is available for a resource can download the resource. drs([], [ drs([A, B, C, D, E, F, G, H], [ object(A, user, countable, na, eq, 1)-1, property(B, authenticated, pos)-1, predicate(C, be, A, B)-1, object(D, subscription, countable, na, eq, 1)-1, object(E, resource, countable, na, eq, 1)-1, property(F, available, pos)-1, predicate(G, be, D, F)-1, modifier_pp(G, for, E)-1, predicate(H, have, A, D)-1 ]) => drs([], [ <> drs([I], [ predicate(I, download, A, E)-1 ]) ]) ]). De Coi, Kärger, Olmedilla, Zerr download(User, Resource) authenticated(User), ‘available#for’(Subscription, Resource), have(User, Subscription). L3S Research Seminar April 18th, 2008 42 Protune Policy Framework The ACE Protune translation (II) Every user who provides a declaration whose username is the user's name and whose password is the user's password is authenticated. authenticated(User) User.name:Username, User.password:Password, provide(User, Declaration), Declaration.password:Password, Declaration.username:Username. De Coi, Kärger, Olmedilla, Zerr L3S Research Seminar April 18th, 2008 43 Protune Policy Framework The ACE Protune translation (III) Every user who sends a credential • that is valid and • whose type is "creditCard" and • whose owner is authenticated and • on which a price is charged pays the price with "creditCard". 'pay#with'(User, Price, creditCard) valid(Credential), Credential.type:creditCard, authenticated(Owner), 'charged#on'(Price, Credential), send(User, Credential), Credential.owner:Owner. De Coi, Kärger, Olmedilla, Zerr L3S Research Seminar April 18th, 2008 44 Policy Based Protection and Personalized Generation of Web Content Sergej Zerr Protune in Action: Policies on the Web Trust within an Open Environment A x x B x Bookstore Web server De Coi, Kärger, Olmedilla, Zerr LMS L3S Research Seminar April 18th, 2008 46 Protune in Action: Policies on the Web Using Trust Negotiation Web Package x Applet Servlet Container (e.g Tomcat) var protectedResources= new Array( ‘http://test.de/test.jsp‘ ); <poljsp:policycondition policyname= "exchangedCredential(member)“ > <poljsp:iftrue>Success!!</poljsp:iftrue> </poljsp:policycondition> PolicyFilter.Jar De Coi, Kärger, Olmedilla, Zerr L3S Research Seminar April 18th, 2008 47 1. Reactive Policies 2. More policy research topics Philipp Kärger Reactive Policies Always accept files sent L3S members can My students While doing valuable research … by L3S members but only call me during business hours. can call me only on Wednesday morning. After the semester, deny their calls. only if it’s not an exe file. Show my date of birth only to family members. Notify me if one of my contacts has birthday and goes online. De Coi, Kärger, Olmedilla, Zerr Automatically accept “share contact dates” for L3S members and for the contacts of my family. If someone phones me while I am on a call, deny the call and open a chat instead. L3S Research Seminar April 18th, 2008 49 Reactive Policies Current Policies they define under which conditions things are true, e.g., who exactly gets access why we grant access what is needed to get access De Coi, Kärger, Olmedilla, Zerr L3S Research Seminar April 18th, 2008 50 Reactive Policies What is a reactive policy? But what is missing in current policy frameworks? When is the policy evaluated? Triggering Events What exactly happens if a policy is evaluated to true or false? Actions (as reactions to events) IF EVENT “call comes in” HAPPENS AND “I am on another call” HOLDS PERFORM ACTION “deny call and open chat” Reactivity! De Coi, Kärger, Olmedilla, Zerr L3S Research Seminar If someone phones me while I am on a call, deny the call and open a chat instead. April 18th, 2008 51 Reactive Policies Reactivity Reactivity in Databases: “Active Database Systems”, Book, 1995 many more Reactivity on the web: “An Event Condition Action Language for XML”, WWW2002 EDBT 2006 Workshop “Reactivity on the Web” REWERSE Work Package “Evolution and Reactivity” some more De Coi, Kärger, Olmedilla, Zerr L3S Research Seminar April 18th, 2008 52 Reactive Policies Approach Claim: We need policies that allow for reactivity. Solution: Reactive Policies also called Event Condition Action Policies De Coi, Kärger, Olmedilla, Zerr L3S Research Seminar April 18th, 2008 53 Reactive Policies Event Condition Action Policies - always three components: - Event: when is the rule evaluated - Condition: what has to be satisfied - Action: what is the reaction to the event ON a call comes in IF I am on another call DO deny call and open chat De Coi, Kärger, Olmedilla, Zerr L3S Research Seminar If someone phones me while I am on a call, deny the call and open a chat instead. April 18th, 2008 54 Reactive Policies Solution How do we get all this to work? r³ and Protune Combining a Reactive Framework and a Policy Framework De Coi, Kärger, Olmedilla, Zerr L3S Research Seminar April 18th, 2008 55 Reactive Policies r3 – Resourceful Reactive Rules (developed at the AI Center, Universida de Nova de Lisboa (Portugal)) (Semantic) Web Rule Engine for Reactive Rules evaluates rules of the form: <rule> <event>myEventLanguage:SkypeCallComesIn(User)</event> <condition>myConditionLanguage:isNotTrusted(User)</condition> <action>myActionLanguage:denyCall(User)</action> </rule> plugging in arbitrary languages makes it really flexible De Coi, Kärger, Olmedilla, Zerr L3S Research Seminar April 18th, 2008 56 Reactive Policies Combining r3 and Protune any event language (e.g., XChange, Prova) Protune goals <rule> <event>myEventLanguage:SkypeCallComesIn(User)</e vent> <condition>PROTUNE:isNotTrusted(User)</condition> <action>PROTUNE:denyCall(User)</action> </rule> Protune external actions De Coi, Kärger, Olmedilla, Zerr L3S Research Seminar April 18th, 2008 57 Reactive Policies Benefits Protune • allows for negotiations, information exchange • provides explanations • allows for (external) actions enhance reactivity with policies r³ making policies reactive De Coi, Kärger, Olmedilla, Zerr • allows for arbitrary event languages • evalutates Event Condition Action rules • handles the binding across events, conditions, actions L3S Research Seminar April 18th, 2008 58 Reactive Policies Summary • Reactive Policies – policy-enabled Reactivity • policies need some kind of reactivity no current policy framework allows for reactivity no current reactive rule framework allows for policies • ECA policies provide access control provide semantics for events and actions • combining r³ and Protune merges both worlds advanced access control with policies engine for reactive rules extends De Coi, Kärger, Olmedilla, Zerr L3S Research Seminar April 18th, 2008 59 More research ideas … •Daniel, Juri, Philipp, Sergej, and some more More research ideas Outline 1. Changing policies while negotiating. 2. Using preferences to guide decisions in negotiations. 3. Access control to RDF repositories. 4. Access control for desktop sharing. De Coi, Kärger, Olmedilla, Zerr L3S Research Seminar April 18th, 2008 61 More research ideas 1. Changing policies while negotiating Problem: What if I change my policies while my agent is negotiating? Policy: Only university members can call me. New Policy: Only L3S members can call me. De Coi, Kärger, Olmedilla, Zerr L3S Research Seminar April 18th, 2008 62 More research ideas 2. Preferences guiding negotiations Problem: What if there are two possibilities to succeed in a negotiation? I prefer to disclose my Student ID instead of disclosing my passport. Philipp Kärger, Daniel Olmedilla, Wolf-Tilo Balke “Using Preferences for Credential Disclosure in Policy-Driven Trust Negotiations.” De Coi, Kärger, Olmedilla, Zerr Just submitted. L3S Research Seminar April 18th, 2008 63 More research ideas 3. Access control to RDF repositories • RDF data is accessible only under certain conditions. • Problem: how to enforce this for querying? Return all triples FROM the ones I am interested in WHERE my conditions are true. RDF store (sensitive data) expansion Fabian Abel, Juri Luca De Coi, Nicola Henze, Arne W. Koesling, Daniel Krause, Daniel Olmedilla “Enabling Advanced and Context-Dependent Access Control in RDF Stores.” De Coi, Kärger, Olmedilla, Zerr ISWC 2007 Return all triples FROM the ones I am interested in WHERE my conditions are true AND the policy’s conditions are true. Policies: conditions that have to be fulfilled to access information. L3S Research Seminar April 18th, 2008 64 More research ideas 4. Access control for desktop sharing (I) Metadata: author: … title: … date: … inverted index: Juri L. De Coi, Ekaterini Ioannou, Arne Koesling, and Daniel Olmedilla. “Access control for sharing semantic data across desktops.” Workshop on Privacy Enforcement and Accountability with De Coi, Kärger, Semantics (PEAS),Olmedilla, 2007. Zerr “I want access to your private document.” “Is there a document containing ‘FBI’ in the title?” L3S Research Seminar April 18th, 2008 65 More research ideas 4. Access control for desktop sharing (II) Pre-evaluate for each file, each metadata, and each user. Policies Policies: Who is allowed to see what metadata of what file under which conditions. De Coi, Kärger, Olmedilla, Zerr L3S Research Seminar April 18th, 2008 66 End of the Seminar Let us give you a policy ON seminar just finished IF you liked it OR you had fun OR you learned something OR you liked the ice cream DO big applause De Coi, Kärger, Olmedilla, Zerr L3S Research Seminar April 18th, 2008 67 Thanks! Questions? [email protected] – http://www.L3S.de/web/DECOI [email protected] – http://www.L3S.de/~kaerger [email protected] – http://www.olmedilla.info/ [email protected] – http://www.L3S.de/web/ZERR De Coi, Kärger, Olmedilla, Zerr L3S Research Seminar April 18th, 2008 68 References • Antoniou et al., Rule-based policy specification. Secure Data Management in Decentralized Systems. Springer, 2007. http://www.l3s.de/~olmedilla/pub/2007/2007_bookDDMS_rule_policies.pdf • Bonatti, Olmedilla. Rule-based policy representation and reasoning for the semantic web. In Reasoning Web, Third International Summer School 2007. Springer. http://www.l3s.de/~olmedilla/pub/2007/2007_ReasoningWeb-policies.pdf • Antoniou et al. (Eds.): Reasoning Web 2007. Springer LNCS 4636, pp.1–153 • Bradshaw et al., Making Agents Acceptable to people, Intelligent technologies for information analysis: Advances in agents, data mining and statistical learning. Springer http://www.ihmc.us/research/projects/KAoS/biit-jeff.pdf De Coi, Kärger, Olmedilla, Zerr L3S Research Seminar April 18th, 2008 69
© Copyright 2026 Paperzz