Florida Atlantic University Department of Computer and Electrical Engineering &Computer Science ( CEECS ) Secure Systems Research Group Fall 2009 “A Pattern.

Slides:



Advertisements
Similar presentations
Chapter 14 – Authentication Applications
Advertisements

Authentication Applications. will consider authentication functions will consider authentication functions developed to support application-level authentication.
Key distribution and certification In the case of public key encryption model the authenticity of the public key of each partner in the communication must.
Public Key Infrastructure A Quick Look Inside PKI Technology Investigation Center 3/27/2002.
Web Service Security CS409 Application Services Even Semester 2007.
SECURITY IN E-COMMERCE VARNA FREE UNIVERSITY Prof. Teodora Bakardjieva.
Grid Security Infrastructure Tutorial Von Welch Distributed Systems Laboratory U. Of Chicago and Argonne National Laboratory.
SOA and Web Services. SOA Architecture Explaination Transport protocols - communicate between a service and a requester. Messaging layer - enables the.
Environmental Council of States Network Authentication and Authorization Services The Shared Security Component February 28, 2005.
DESIGNING A PUBLIC KEY INFRASTRUCTURE
Web Services and the Semantic Web: Open Discussion Session Diana Geangalau Ryan Layfield.
WS-Security TC Christopher Kaler Kelvin Lawrence.
T Network Application Frameworks and XML Service Federation Sasu Tarkoma.
© 2009 The MITRE Corporation. All rights Reserved. April 28, 2009 MITRE Public Release Statement Case Number Norman F. Brickman, Roger.
Lecture III : Communication Security, Services & Mechanisms Internet Security: Principles & Practices John K. Zao, PhD SMIEEE National Chiao-Tung University.
Using Digital Credentials On The World-Wide Web M. Winslett.
Chapter 8 Web Security.
Web services security I
Pay As You Go – Associating Costs with Jini Leases By: Peer Hasselmeyer and Markus Schumacher Presented By: Nathan Balon.
Secure Systems Research Group - FAU Web Services Standards Presented by Keiko Hashizume.
1 Web Services Security XML Encryption, XML Signature and WS-Security.
Secure Systems Research Group - FAU Patterns for Digital Signature using hashing Presented by Keiko Hashizume.
Cardea Requirements, Authorization Model, Standards and Approach Globus World Security Workshop January 23, 2004 Rebekah Lepro Metz
Secure Electronic Transaction (SET)
Identity Management Report By Jean Carreon and Marlon Gonzales.
Computer Science and Engineering 1 Service-Oriented Architecture Security 2.
WS-Security: SOAP Message Security Web-enhanced Information Management (WHIM) Justin R. Wang Professor Kaiser.
Network Security Lecture 26 Presented by: Dr. Munam Ali Shah.
Web Services Security Standards Overview for the Non-Specialist Hal Lockhart Office of the CTO BEA Systems.
Chapter 9: Using and Managing Keys Security+ Guide to Network Security Fundamentals Second Edition.
Cryptography, Authentication and Digital Signatures
Chapter 23 Internet Authentication Applications Kerberos Overview Initially developed at MIT Software utility available in both the public domain and.
Secure Systems Research Group - FAU Using patterns to compare web services standards E. Fernandez and N. Delessy.
Chapter 21 Distributed System Security Copyright © 2008.
WS-Trust Joseph Calandrino Vincent Noël Department of Computer Science University of Virginia February 9, 2004.
A Flexible Access Control Model for Web Services Elisa Bertino CERIAS and CS Department, Purdue University Joint work with Anna C. Squicciarini – University.
17 March 2008 © 2008 The University of Edinburgh, European Microsoft Innovation Center and University of Southampton IT Innovation Centre 1 NextGRID Security.
An XML based Security Assertion Markup Language
SAML: An XML Framework for Exchanging Authentication and Authorization Information + SPML, XCBF Prateek Mishra August 2002.
WS-Trust “From each,according to his ability;to each, according to his need. “ Karl marx Ahmet Emre Naza Selçuk Durna
Secure Systems Research Group - FAU Patterns for Web Services Security Standards Presented by Keiko Hashizume.
SOA-39: Securing Your SOA Francois Martel Principal Solution Engineer Mitigating Security Risks of a De-coupled Infrastructure.
W3C Web Services Architecture Security Discussion Kick-Off Abbie Barbir, Ph.D. Nortel Networks.
Secure Systems Research Group - FAU A Trust Model for Web Services Ph.D Dissertation Progress Report Candidate: Nelly A. Delessy, Advisor: Dr E.B. Fernandez.
Identity Proofing, Signatures, & Encryption in Direct esMD Author of Record Workgroup John Hall Coordinator, Direct Project June 13, 2012.
Network Security Lecture 27 Presented by: Dr. Munam Ali Shah.
Secure Systems Research Group - FAU 1 A Trust Model for Web Services Ph.D Dissertation Progess Report Candidate: Nelly A. Delessy, Advisor: Dr E.B. Fernandez.
Security Patterns for Web Services 02/03/05 Nelly A. Delessy.
Secure Systems Research Group - FAU A Pattern for XML Signature Presented by Keiko Hashizume.
Secure Systems Research Group - FAU 1 WS-Reliability Pattern Ingrid Buckley Dept. of Computer Science and Engineering Florida Atlantic University Boca.
Task Force CoRD Meeting / XML Security for Statistical Data Exchange Gregory Farmakis Agilis SA.
Andrew J. Hewatt, Gayatri Swamynathan and Michael T. Wen Department of Computer Science, UC-Santa Barbara A Case Study of the WS-Security Framework.
Florida Atlantic University Department of Computer and Electrical Engineering &Computer Science ( CEECS ) Secure Systems Research Group Fall 2009 “A Pattern.
Florida Atlantic University Department of Electrical and Computer Engineering &Computer Science ( ECECS ) &Computer Science ( ECECS ) Security Systems.
Cryptography and Network Security
e-Health Platform End 2 End encryption
Introduction How to combine and use services in different security domains? How to take into account privacy aspects? How to enable single sign on (SSO)
Tim Bornholtz Director of Technology Services
Presentation transcript:

Florida Atlantic University Department of Computer and Electrical Engineering &Computer Science ( CEECS ) Secure Systems Research Group Fall 2009 “A Pattern for the WS-Trust Standard ” Ola Ajaj 1

Web Services Standards can be : Lengthy documents. Too many details. Difficult for vendors to develop products. Difficult for users to decide what product to use. Also, several organizations that have different goals have developed standards that may overlap and even conflict to each other. We develop patterns for these standards to have a better understanding and to guide designers and evaluators. Introduction

WS-Federation WS- SecureConversation WS-Authorization WS-PolicyWS-TrustWS-Privacy XKMS XML Encryption XML Digital Signature SOAP Foundation WS-Security SAMLXACMLSPML 3 Web Services Security Specification

XML Encryption Symmetric Encryption Asymmetric Encryption XACML XML Signature Digital Signature With Hashing WS-Security WS- Policy WS-Federation WS- Trust WS-Secure Conversation 4 Access Control

5 The Ajiad travel agency offers its travel services through several different business portals to provide travel ticket, hotel and car rental services to its customers. The Ajiad needs to establish different trust relationships with its partners through these portals. Without a well-defined structure, Ajiad will not be able to automate the trust relationships quickly and securely with its partners and will lose the a valuable business goal of offering integrated travel services as part of the customer’s trusted portal environment. Introduction

WS-Trust  WS-Trust is a WS-* specification standard that provides extensions to WS- Security and WS-policy.  The goal of WS-Trust is to enable applications to construct trusted SOAP message exchanges. This trust is represented through the exchange and brokering of security tokens  Deals with issuing, renewing, and validating security tokens.  Specifically it establishes and assesses the presence of broker trust relationships between participants in a secure message exchange. 6

Terminology  Security Claim: a security statement about a client, service or other resource (e.g. name, identity, key, group, privilege, capability, etc)  For example: I am Joman, I am an authenticated user and I am authorized to print in printer A).  Security Token: a collection of claims.  Security Token Service (STS): a web service that issues security tokens.  Trust: the characteristic that one entity is willing to rely upon a second entity to execute a set of actions in a secure, reliable and timer manner.  The expected output for each STS. 7

Security Token Service Model

A Pattern for WS-Trust Without a clear definition of how web services could manage, secure communications and establish trust relationships with other partners, they could misuse their business interactions. 9 Intent

Example The Ajiad travel agency offers its travel services through several different business portals to provide travel tickets, hotel and car rental services to its customers. Ajiad needs to establish trust relationships with its partners through these portals. Ajiad supports different business relationships and needs to be able to determine which travel services to invoke for which customer. Without a well-defined structure, Ajiad will not be able to know if this partner is trusted or no? and will not be able to automate the trust relationships quickly and securely with its partners if there is. 10

Context Distributed applications need to establish secure and trusted relationships between them to perform some work in a web-service environment through unreliable and insecure environment (e.g. the internet). 11

Problem Without applying relevant trust relationships expressed in the same way between the involved parties, web services have no means to assure security and interoperability in their integration. 12

Forces The possible solution is constrained by the following forces: –Security: In human relationships, we are concerned with first knowing a person before we trust her. That attitude applies also to web services. We need to have a structure that encapsulates the structure of that unit. –Policy consideration: The web service policy encloses all the required assertions and conditions that should be met to use that web service. The trust structure should address this policy as a main referenced block for verification purposes. –Confidentiality and Integrity: Policies may include sensitive information. Malicious consumers may acquire sensitive information, fingerprint the service and infer service vulnerabilities. 13

–Tamper-Free: The data been transferred between the partners through exchanging messages are entirely private data that need to be protected. Outsiders may try to tamper or replace these messages. –Time Validation: For protection purposes, any interactions or means of communications (including the trust relationships) between the web services are restricted through a time manner that determines for how long that interaction is valid.. Forces 14

Solution We define explicitly an artifact that implies trust. This artifact implies what kind of assertions is required to satisfy any interaction between the involved web services. This solution encapsulates the claims and information sent by the requester in order to obtain the required secure token that is proved enough to establish a trust relationship with its target partners. Once initiated, this solution defines the protocol to handle that trust relationship properly. In this context, the concept of "Trusting A" mainly means "considering true the assertions made by A", which is not necessarily corresponding to the intuitive idea of trust in its colloquial use. 15

16

Dynamics We describe the dynamic aspects of the WS-Trust using sequence diagrams for the use cases “create security token” and “validate a security trust”. Create a security token (Figure 2): –Summary: STS creates a security token using the claims provided by the requester. –Actors: A Requester, Security Token Service, Trust Engine and policy. –Precondition: The STS has the required policy to verify the requester claims and the requester provides parameters in form of claims and RequestType signed by a signature. 17

Create a security token 18

Create a security token Description: –The requester requests a security token by sending the required parameters of claims and RequestType signed by a Signature to the STS. –STS contacts Trust Engine to check the requester’s claims. –The Trust Engine contacts the web service’s policy to verify the claims including attributes and security token issuers of the requester. –Once approved, the STS initiates a new security token. –The STS sends back its SecurityTokenResponce with a security token issued for the requester. Postcondition: The requester has a security token that can be used to communicate with a trusted unit. 19

Validate a security token Summary: A STS will establish a trust by verifying proofOfClaims send by the requester. Actors: Requester, Receiver, STS and trust Engine. Precondition: The Trust Engine has the required policy to verify the requester’ security token 20

Validate a security token 21

Description: –The requester asks for a service access by providing the required security token. –The receiver sends the security token to the STS for verification. –The STS use its Trust engine to verify the security token claims. –Once approved, the STS notifies the receiver that the security token is valid and verified. –Then, the receiver gives the requester the right to use the service. Postcondition: The requester has a security token that can be used to communicate with a Receiver through a trusted medium. Validate a security token 22

Implementation In this solution, the concept of trust is interrupted by obtaining security token from the web service (in our diagram, the Security Token Service) and submit it to the receiver who in turn validate that security token through the same web service. Upon approving, the receiver establishes a valid trust relationship with the receiver that last as long as the security token is kept valid. In order to assure effective implementation, we need to take in consideration the following: To communicate trust, a service requires proof, such as a signature to prove knowledge of a security token or set of security tokens. A service itself can generate tokens or it can rely on a separate STS to issue a security token with its own trust statement. Even the Messages exchanged between the involved entities are protected by WS-Security, still it presents three possible issues related to security tokens, which are security token format incompatibility, security token trust and namespace differences. WS-Trust pattern will address these issues by: Defining a request/response protocol (in which the client sends RequestSecurityToken and receives RequestSecurityTokenResponse) and introducing a Security Token Service (STS) which we typically consider as a web service. 23

Based on the credential provided by the requester, there are different aspect of requesting a security token (RST), each of which has a unique format that the requester should follow. –The issuance process: formed as RequestSecurityToken (RequestType, Claims). –The renewal process: formed as RequestSecurityToken (RequestType, RenewTarget). –The cancel process: formed RequestSecurityToken (RequestType, CancelTarget). By the way, the cancelled token is no longer valid for authentication and authorization usages. –The validate process: formed as RequestSecurityToken (RequestType, ValidateTarget). 24 Implementation

Example Resolved Ajiad now has the ability to automate the trust relationships with its partners. By assuming the registration tasks for all its partners and issuing customers a unique ID’s. In this case, Ajiad provides an intermediate medium between the customers and its participated partners and plays the role of negotiator and a third-party player who is looking to satisfy both sides. Ajiad now can offer a Security Token Service for its business partners, who may find useful ways to take advantages of credit processing and other services offered by Ajiad, which now has new business opportunities. 25

Consequences The WS-Trust pattern presents the following advantages: –By extending the WS-Security mechanisms, we can handle security issues such as security tokens (the possibility of a token substitution attack), signing (where all private elements should be included in the scope of signature and that this signature must include a timestamp). –With this solution, we have the choice of implementing WS-Policy framework to support trust partners by expressing and exchanging their statements of trust. The description of this expected behavior within the security space can also be expressed as a trust policy. –We can achieve confidentiality of users’ information. Since Policy providers now can use mechanisms provided by other web services specifications such as WS-Security [ibm09b] to secure access to the policy, XML Digital Signature [w3c08] to authenticate sensitive information and WS-Metadata Exchange [w3c09]. –All the security tokens exchanged between the involved parties are signed and stamped with unique keys that are known only to the recipients. –We can specify time constraint in the parameters of a security tokens issued by STS. This will specify for how long that security token is valid. Upon expiring, the security token’s holder may renew or cancel it. 26

Consequences The WS-Trust pattern presents the following liabilities: –There are concerns where efficiency is important. The context of WS- Trust may suffer from the repeated round-trips for multiple token requests. We need to make such an effort to reduce the number of messages exchanged. –The WS-Trust standard is a lengthy document with a lot of details that left to avoid making the pattern complex. But who is interested to address more details can check the WS-Trust Standard web page [oas09]. 27

Known Uses DataPower's XS40 XML Security Gateway. SecureSpan™ XML Firewall. Vordel Security Token Service (STS). PingTrust, a standalone WS-Trust Security Token Server. 28

Related Patterns The Credential Pattern. The Trust Analysis Pattern. 29