10.07.2015 Views

all FREECO11-workshop-papers.pdf - trese

all FREECO11-workshop-papers.pdf - trese

all FREECO11-workshop-papers.pdf - trese

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

the corresponding rules. Policy assertions relating to differentsecurity concerns are tangled in one rule, such as theseverity level for privacy (line 6) and the encryption algorithmfor confidentiality (line 7). Policy assertions relatingto one security concern are scattered over multiple rules,such as the encryption algorithm BlowFish (lines 7 and 16).Tangling and scattering leads to poor maintainability of thepolicy specification due to crosscutting concerns.What is needed for modularizing tangled policies are languagemechanisms that help to encapsulate and disentanglenon-functional concerns in a clear and concise way.2.4 Policies Lack Integrating FormalismsPolicies express different goals. Like these goals vary, so dotheir representations in policy languages that specify them.Gener<strong>all</strong>y, different policy languages do not share a commonsyntax, even if they are based on the same fundamental representationaltechnology, such as XML (e.g. WS-Policy) orEBNF (e.g. Ponder [2]). Furthermore, policy statementsare adapted to the concepts underlying the specificationparadigms, with each policy supporting a single paradigm,and thus formalism. This limited view is insufficient whendealing with distributed business applications. A holisticspecification of the system’s behavior requires a combinationof views of the complete system. Because different representationsand formalisms have various degrees of powerregarding the description of these views, it is difficult to determinea single, ideal language suited to their expression.What is needed for policies are methods for integratingdifferent paradigms addressing different views of the system.3. OVERVIEW OF RELATED WORKCurrent policy languages only support one concrete syntaxthat supports only a limited set of security formalismsand paradigms. Existing languages are not open for newsyntax and semantics, which is what new formalisms andparadigms would require. They do not support policies likethose discussed in Section 2.1–2.4 because they <strong>all</strong> share theinsuffiencies that policies are not semantic<strong>all</strong>y flexible, notprecisely scoped, contain scattered and tangled code fragments,and adherent to one paradigm only.Ponder [2] is an object-oriented policy language with avery basic support for controlling the effects of policies inpolicy groups, but particularly it neither supports full-fledgedlexical nor dynamic scoping.WS-Policy 1 is a XML-based policy language frameworkthat <strong>all</strong>ows integrating new domain-specific policy languageswith an XML-based syntax, but in particular concrete syntaxis not supported.XACML 2 is an XML-based and rule-based policy languagefor defining attributes the specification of authorizationpolicies and obligations. Specific<strong>all</strong>y, but policies for abehavioral specification of a component (e.g. security automata)are out of scope.What is needed is an extensible policy language that userscan tailor for the specific requirements of their business application.So that, for such a policy language, they can selectthe right concrete DSL syntax, composition mechanisms, securityformalisms, or paradigms that they want to use, tobe included into their policy language.1 WS-Policy: www.w3.org/TR/ws-policy2 XACML: www.oasis-open.org/committees/xacml4. INTRODUCING COMPOSITION MECH-ANISMS INTO POLICY LANGUAGESIn order to overcome the limitation of existing policy languagesdiscussed in Section 2, we propose to make compositionmechanisms from programming languages available inpolicy languages. Specific<strong>all</strong>y, we consider adapting polymorphyand scoping for meeting the need of policy languagefor semantic flexibility. Furthermore, we propose the use ofaspects for addressing scattered and tangled policy definitions,and an open set of paradigms to define policies withthe right syntax and semantics. In the following, we presentexample solutions in WSPL, however WS-Policy or anotherpolicy language could be extended with the same mechanismsin a similar manner.4.1 PolymorphyTo enable flexible policies, we propose to extend the policylanguage with an inheritance mechanism that is similarto polymorphic programming languages. The inheritancemechanism enables the end users to refine the rules of abase policy in an extended policy.1 Policy (Id = ”Service−Levels”) {2 Rule { Trust = ”High”,3 Options = { ”Pre−Paid”, ”Credit−Card”, ”Invoice” }}4 ...5 Rule { Trust = ”Low”,6 Options = { ”Pre−Paid” }}7 }Listing 5: Base of a polymorphic policyFor example, Listing 5 and Listing 6 show two modularpolicies, where the latter policy extends the former – likea subclass extends its super class. Listing 5 shows the basepolicy Service-Levels that defines the payment options fordifferent trust levels. Listing 6 shows the policy extensionSpecific-Service-Levels that defines what Low trust orrespectively High trust means. Note that, even when differentstakeholders define those policies at different timesor in different sub-systems, the policy extension Specific-Service-Levels can refine what Low or High trust meansfor the Service-Levels base policy.1 Policy (Id = ”Specific−Service−Levels”) {2 Extends ( Super = ”Service−Levels” )3 Rule { Location = ”Germany”, Experience−Level = ”Good”,4 Experience−Length = ”Long”, Trust = ”High” }5 Rule { Location = ”USA”, TPM−Available = True,6 Platform−Monitor = ”Deployed”, Trust = ”High” }7 ...8 Rule { Trust = ”Low” }9 }Listing 6: Extension of a polymorphic policyWe expect that having an inheritance mechanism availablein policy languages, we can provide policy developers withsimilar advantages as having OO inheritance w.r.t. extensibility,reusability, and modular reasoning. However, it is ach<strong>all</strong>enge to provide such an inheritance mechanism for anopen set of policy dialects. On the one hand, the inheritancemechanism need to define a default polymorphic semanticsthat <strong>all</strong>ows to refine policies by overriding parts of them at

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!