Trust but Verify: Authorization for Web Services. The University of Vermont



Similar documents
CHAPTER 7 GENERAL PROOF SYSTEMS

Introducing Formal Methods. Software Engineering and Formal Methods

Authentication, Access Control, Auditing and Non-Repudiation

Chapter II. Controlling Cars on a Bridge

Lecture 13 of 41. More Propositional and Predicate Logic

CS 356 Lecture 28 Internet Authentication. Spring 2013

CS510 Software Engineering

APPLYING FORMAL METHODS TO CRYPTOGRAPHIC PROTOCOL ANALYSIS: EMERGING ISSUES AND TRENDS

Formal Analysis of A Novel Mutual Authentication and Key Agreement Protocol

Cloud Computing Security Considerations

Handout #1: Mathematical Reasoning

Secure cloud access system using JAR ABSTRACT:

Part 2 D(E(M, K),K ) E(M, K) E(M, K) Plaintext M. Plaintext M. Decrypt with private key. Encrypt with public key. Ciphertext

! " # The Logic of Descriptions. Logics for Data and Knowledge Representation. Terminology. Overview. Three Basic Features. Some History on DLs

Ulster University Standard Cover Sheet

Foundational Proof Certificates

A SECURITY ARCHITECTURE FOR AGENT-BASED MOBILE SYSTEMS. N. Borselius 1, N. Hur 1, M. Kaprynski 2 and C.J. Mitchell 1

Adversary Modelling 1

PCI DSS Compliance: The Importance of Privileged Management. Marco Zhang

Chapter 8 A secure virtual web database environment

The Classes P and NP

QUIRE: : Lightweight Provenance for Smart Phone Operating Systems

Service Oriented Architecture (SOA) An Introduction

ON FUNCTIONAL SYMBOL-FREE LOGIC PROGRAMS

How Can Data Sources Specify Their Security Needs to a Data Warehouse?

Lecture 9 - Message Authentication Codes

Access Control Fundamentals

Automated Theorem Proving - summary of lecture 1

Formal Verification and Linear-time Model Checking

Data Storage Security in Cloud Computing for Ensuring Effective and Flexible Distributed System

Ensuring Consistency in Long Running Transactions

Static Program Transformations for Efficient Software Model Checking

Likewise, we have contradictions: formulas that can only be false, e.g. (p p).

WebEx Security Overview Security Documentation

Formal Engineering for Industrial Software Development

Cassandra. References:

A logical approach to dynamic role-based access control

OIO SAML Profile for Identity Tokens

Runtime Verification - Monitor-oriented Programming - Monitor-based Runtime Reflection

BMC Software Inc. Technical Disclosure Publication Document Enterprise Service Bus (ESB) Insulation Service. Author. Vincent J.

Electronic Payment Schemes Guidelines

Verifying Specifications with Proof Scores in CafeOBJ

Overview of the TACITUS Project

Fabio Patrizi DIS Sapienza - University of Rome

A Semantical Perspective on Verification of Knowledge

Lecture VII : Public Key Infrastructure (PKI)

Automating Identity Management and Access Control

Internet Authentication Procedure Guide

Digital Identity Management

INFORMATION TECHNOLOGY SECURITY STANDARDS

The Need for Service Catalog Design in Cloud Services Development

Smart Card- An Alternative to Password Authentication By Ahmad Ismadi Yazid B. Sukaimi

A System for Interactive Authorization for Business Processes for Web Services

Payment Systems for E-Commerce. Shengyu Jin 4/27/2005

Server based signature service. Overview

THE SECURITY ISSUE. Chris J Mitchell

Why Cryptosystems Fail. By Ahmed HajYasien

CHAPTER 3. Methods of Proofs. 1. Logical Arguments and Formal Proofs

Parametric Domain-theoretic models of Linear Abadi & Plotkin Logic

White paper December Addressing single sign-on inside, outside, and between organizations

Scalable Automated Symbolic Analysis of Administrative Role-Based Access Control Policies by SMT solving

ReliabilityFirst CIP Evidence List CIP-002 through CIP-009 are applicable to RC, BA, IA, TSP, TO, TOP, GO, GOP, LSE, NERC, & RE

Five High Order Thinking Skills

Architecture Guidelines Application Security

Run-time Service Oriented Architecture (SOA) V 0.1

Chapter ML:IV. IV. Statistical Learning. Probability Basics Bayes Classification Maximum a-posteriori Hypotheses

Internal Revenue Service Number: Release Date: 08/13/2004 Index Number:

THE SEARCH FOR NATURAL DEFINABILITY IN THE TURING DEGREES

System Description: The MathWeb Software Bus for Distributed Mathematical Reasoning

A Sensible Approach to Asset Management

Logic in general. Inference rules and theorem proving

Specification and Analysis of Contracts Lecture 1 Introduction

Adobe Systems Incorporated

A standards-based approach to application integration

A Conceptual Technique for Modelling Security as a Service in Service Oriented Distributed Systems

DRAFT Pan Canadian Identity Management Steering Committee March 1, 2010

Specifying Conflict of Interest in Web Services Endpoint Language (WSEL)

Software Modeling and Verification

Transcription:

Trust but Verify: Authorization for Web Services Christian Skalka X. Sean Wang The University of Vermont

Trust but Verify (TbV) Reliable, practical authorization for web service invocation. Securing complex interactions of (cooperating?) services Ideal security may take many details and relations into account Practical security may require abstractions or simplifications to achieve efficiency Simplification during authorization introduces elements of trust into online security decisions. Essence of TbV: Online trust should be verifiable offline, to ensure that it is warranted. 1

Trust but Verify: Motivations Example: online credit card transactions. Credit card companies should ideally verify that cardholders delegate purchasing rights to vendors In North American practice, companies trust vendors, without extensive proof of cardholder delegation Online transaction efficiency Good citizenship onus on vendors TbV approach allows auditing of trusted transactions, in case of disputes or as a matter of course, to verify trust content. SET architecture more sophisticated; popular in Europe. 2

A Formal Framework TbV is a framework for augmenting trust management systems. Logically well-founded: precise meaning of trust and verification, provable guarantees General: framework can be applied to variety of systems A TbV system is characterized by high-level formal conditions. TbV implementations must adhere to these conditions. 3

ABLP: High-Level Trust Management ABLP logic is a high-level trust management logic. Comprises syntax of compound principals and statements, proof theory for logical deductions (undecidable) Defined at abstract level: e.g. perfect crypto assumed, no implementation details Sufficiently general to encode other trust management systems, e.g. SDSI/SPKI A convenient and expressive formal setting for conceptual development of TbV. M. Abadi, M. Burrows, B. Lampson and G. Plotkin, A Calculus for Access Control in Distributed Systems, TOPLAS 1993 4

ABLP: Trust Management ABLP comprises a calculus of principals: P atomic principals A B A quoting B A as B A in the role of B A B conjunction A B disjunction Statements are either terms in propositional logics, or assertions ascribed to principals: K P says s statement s signed with key K P A partial ordering defines authorization relation between principals; systems parameterized by speaks for assumptions: K P P K P speaks for P 5

ABLP: Trust Management Logical axioms of ABLP allow deductions; e.g. : For example, we may deduce: s A says s s A B s B says s K P says s (K P P) P says s By associating privileges with statements s, authorization is entailed by provability of s from access requests and local assumptions. In this presentation, we restrict assumptions to access control lists: P controls s (P says s) s ACL entry 6

Components of TbV Framework ABLP provides a formal trust management setting in which to develop the components of TbV: Authorization contexts and decisions Resource access predicated on automated theorem proving Trust transformations A function from formulae to formulae Auditing (automated verification) Searches for the preimage of trust-transformed formulae 7

Authorization Contexts and Decisions Authorization contexts are compound formulae, conjoining: Access request Other request components, e.g. certificates Local beliefs, e.g. ACL Resource privileges are represented by atomic formulae priv; access is granted iff priv is derivable from a request context. Condition 1 Let s be an authorization context; then s priv is decidable. 8

Authorization: Example Suppose a webservice WS requires priv to be accessed, and a trusted principal D makes an access request: A D controls priv A ACL defined by WS D says priv access request s D says priv A authorization context s D says priv s D says priv priv s priv Since priv is provable in this context, authorization succeeds. 9

Trust Transformation Online trust is specified via trust transformations: trust is codified through function definition. Trust transformations simplify authorization contexts; given extrapolated context s, transformed formula s is a trusted context. Trust transformation must be decidable, made explicit by TbV implementation. Function definition formalizes trust as transformational rules. 10

Trust Transformation: Example Suppose that a web service WS requires priv to be accessed, and: Any access request must be accompanied by a signed certificate authenticating the request. ACL A defined by WS comprises entries (P K P ) controls priv. For the sake of efficiency, signed certificates are not actively included (suppressed) in online authorization. P says s K P says s A = P says s A (P K B ) controls priv A = P controls priv A 11

Auditing: Automated Verification Formal definition of trust transformation determines meaning of verification. Auditing implements offline verification. Condition 2 Let s be a trusted context; then if audit(s) succeeds, it is the case that audit(s) s such that s = s. Condition 3 Let s be a trusted context and priv be a privilege. If s priv and audit(s) succeeds, then audit(s) priv. 12

Auditing: Example (continued) Suppose that a principal P on machine M P makes an access request to webservice WS on M WS : P says priv K P says priv Since A is defined by WS, the relevant trust transformed context is: s P says priv A Assume that authorization for WS in this context succeeds: s priv 13

Auditing: Example (continued) Goal of auditing on M WS : (K P says priv P says priv A). Two possible strategies can be imagined: 1 Trust transformation and logging performed by requester on M P M P communicates (P says priv) (K P says priv) logged on M P M WS demands (K P says priv) from M P during auditing 2 Trust transformation and logging performed by web service on M WS M P communicates (P says priv K P says priv) (K P says priv) logged on M WS M WS searches locally for (K P says priv) during auditing 14

TbV for Web Services TbV is especially suited for web service authorization: Cooperating web services produce distributed stacks of web service activations Multiple intermediaries, machines Trust transformation promote online efficiency, conditions on auditing provide high-level coherence of offline verification. 15

TbV for Web Services Consider a medical diagnostic service, invoked on behalf of Dr. Bob, that in turn invokes an independent medical db: Bob as Doctor Diagnostic Tool as Trusted Service Doctor Medical Database Tool interface, diagnostic tool, database all reside on separate machines; each invocation extends chain of intermediaries, certificates 16

TbV for Web Services Trust transformation eliminates levels of complexity by simplifying authorization contexts: Doctor Diagnostic Tool as Doctor Medical Database Auditing allows flexibility for storage and retrieval of trust suppressed knowledge in verification. 17

Future Work Implementation of TbV is most immediate target for ongoing research: Extension of SOAP messaging format to accommodate trust management scheme Logging and auditing strategies for trust suppressed knowledge Policy enforcement, communication Topics of theoretical interest also exist: Formal verification of security in threat model (related to Gordon et al., Tulufale: A security tool for web services, FMCO03) 18

Conclusion Trust but Verify for web services authorization: Refinement of trust management for web services security Conceptual distinction between efficient online and highly secure offline authorization components Formalization of online trust provides foundation for meaning and rigor of offline verification http://www.cs.uvm.edu/~skalka 19