Secure Web Services Arvind Easwaran CIS/TCOM 551 Spring 2004 Slide Set 7.

Slides:



Advertisements
Similar presentations
0 McLean, VA August 8, 2006 SOA, Semantics and Security.
Advertisements

Web Service Architecture
31242/32549 Advanced Internet Programming Advanced Java Programming
Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
SOAP.
Web Services Darshan R. Kapadia Gregor von Laszewski 1http://grid.rit.edu.
Web Services Nasrullah. Motivation about web service There are number of programms over the internet that need to communicate with other programms over.
Lecture 23 Internet Authentication Applications
1 Pertemuan 12 Authentication, Encryption, Digital Payments, and Digital Money Matakuliah: M0284/Teknologi & Infrastruktur E-Business Tahun: 2005 Versi:
Environmental Council of States Network Authentication and Authorization Services The Shared Security Component February 28, 2005.
Exchange Network Key Management Services A Security Component February 28, 2005 The Exchange Network Node Mentoring Workshop.
Presentation 7 part 2: SOAP & WSDL. Ingeniørhøjskolen i Århus Slide 2 Outline Building blocks in Web Services SOA SOAP WSDL (UDDI)
Latest techniques and Applications in Interprocess Communication and Coordination Xiaoou Zhang.
Making VLAB Secure Javier I. Roman. What is VLAB?  An interdisciplinary consortium dedicated to the development and promotion of the theory of planetary.
A New Computing Paradigm. Overview of Web Services Over 66 percent of respondents to a 2001 InfoWorld magazine poll agreed that "Web services are likely.
Livermore July Web Services Overview Francisco Curbera IBM T.J. Watson Research Center.
Introduction to Public Key Infrastructure (PKI) Office of Information Security The University of Texas at Brownsville & Texas Southmost College.
Web services security I
Secure Systems Research Group - FAU Web Services Standards Presented by Keiko Hashizume.
Web service testing Group D5. What are Web Services? XML is the basis for Web services Web services are application components Web services communicate.
Processing of structured documents Spring 2003, Part 6 Helena Ahonen-Myka.
Chapter 14 Encryption: A Matter Of Trust. Awad –Electronic Commerce 2/e © 2004 Pearson Prentice Hall 2 OBJECTIVES What is Encryption? Basic Cryptographic.
AMPol: Adaptive Messaging Policy Raja N. Afandi, Jianqing Zhang, Munawar Hafiz, Carl A. Gunter Computer Science Department, University of Illinois Urbana-Champaign.
Web Services Architecture1 - Deepti Agarwal. Web Services Architecture2 The Definition.. A Web service is a software system identified by a URI, whose.
Web services: Why and How OOPSLA 2001 F. Curbera, W.Nagy, S.Weerawarana Nclab, Jungsook Kim.
Lecture 23 Internet Authentication Applications modified from slides of Lawrie Brown.
Web Services Description Language (WSDL) Jason Glenn CDA 5937 Process Coordination in Service and Computational Grids September 30, 2002.
Web Services (SOAP, WSDL, UDDI) SNU OOPSLA Lab. October 2005.
Dr. Bhavani Thuraisingham October 2006 Trustworthy Semantic Webs Lecture #16: Web Services and Security.
Computer Security: Principles and Practice First Edition by William Stallings and Lawrie Brown Lecture slides by Lawrie Brown Chapter 22 – Internet Authentication.
Web Services based e-Commerce System Sandy Liu Jodrey School of Computer Science Acadia University July, 2002.
Web Services Standards. Introduction A web service is a type of component that is available on the web and can be incorporated in applications or used.
XML Web Services Architecture Siddharth Ruchandani CS 6362 – SW Architecture & Design Summer /11/05.
Web Services. ASP.NET Web Services  Goals of ASP.NET Web services:  To enable cross-platform, cross- business computing  Great for “service” based.
1 Security Protocols in the Internet Source: Chapter 31 Data Communications & Networking Forouzan Third Edition.
Web Services. Abstract  Web Services is a technology applicable for computationally distributed problems, including access to large databases What other.
Introduction to Server-Side Web Development Introduction to Server-Side Web Development using JSP and Web Services JSP and Web Services 18 th March 2005.
W3C Web Services Architecture Security Discussion Kick-Off Abbie Barbir, Ph.D. Nortel Networks.
Semantic Web Technologies Research Topics and Projects discussion Brief Readings Discussion Research Presentations.
Web Services Presented By : Noam Ben Haim. Agenda Introduction What is a web service Basic Architecture Extended Architecture WS Stacks.
Copyright © 2013 Curt Hill SOAP Protocol for exchanging data and Enabling Web Services.
563.4 Web Services Presented by: Carl A. Gunter University of Illinois Spring 2006.
1 Web Services Web and Database Management System.
XML and Web Services (II/2546)
S imple O bject A ccess P rotocol Karthikeyan Chandrasekaran & Nandakumar Padmanabhan.
Copyright © 2003 Jorgen Thelin / Cape Clear Software 1 A Web Services Security Framework Jorgen Thelin Chief Scientist Cape Clear Software Inc.
Kemal Baykal Rasim Ismayilov
Dyalog’08. Conga, SSL and WebServices Morten Kromberg Dyalog’08 - Elsinore.
Intro to Web Services Dr. John P. Abraham UTPA. What are Web Services? Applications execute across multiple computers on a network.  The machine on which.
BEA position on W3C ‘Web Services’ Standards Jags Ramnarayan 11th April 2001.
Introduction to Web Services Presented by Sarath Chandra Dorbala.
Web Services Blake Schernekau March 27 th, Learning Objectives Understand Web Services Understand Web Services Figure out SOAP and what it is used.
Web Services Security Standards Dr. Phillip M. Hallam-Baker C.Eng. FBCS VeriSign Inc.
VIRTUAL SERVERS Chapter 7. 2 OVERVIEW Exchange Server 2003 virtual servers Virtual servers in a clustering environment Creating additional virtual servers.
From Coulouris, Dollimore, Kindberg and Blair Distributed Systems: Concepts and Design Edition 5, © Addison-Wesley 2012 Slides for Chapter 9 Web Services.
Jackson, Web Technologies: A Computer Science Perspective, © 2007 Prentice-Hall, Inc. All rights reserved Chapter 9 Web Services: JAX-RPC,
Training for developers of X-Road interfaces
Sabri Kızanlık Ural Emekçi
Web Service Interview/VIVA
Implementing a service-oriented architecture using SOAP
Multi-party Authentication in Web Services
InfiNET Solutions 5/21/
Presentation transcript:

Secure Web Services Arvind Easwaran CIS/TCOM 551 Spring 2004 Slide Set 7

Outline Web Services (WS): An overview Web Services (WS): An overview XML Basics XML Basics SOAP Basics SOAP Basics WS The real one WS The real one Security in WS Security in WS

Web Services (WS) Overview

Today’s Web Designed for applications involving human interactions Designed for applications involving human interactions Intended purpose Intended purpose –Information sharing: a distributed content library –Enabled B2C e-commerce –Non-automated B2B interactions How did it happen? How did it happen? –Built on very few standards: http + html –Shallow interaction model: very few assumptions –Result was ubiquity

What’s next? There is a lot more we can do ! There is a lot more we can do ! –Open, automated B2B e-commerce –Business process integration on the Web –Resource sharing, distributed computing Existing Web technology is ad hoc for this Existing Web technology is ad hoc for this –Application-to-application interactions with HTML forms Goal Goal Enabling systematic application-to- application interaction on the Web

Web Services “Web services” is an effort to build a distributed computing platform for the Web “Web services” is an effort to build a distributed computing platform for the Web Web service applications are encapsulated, loosely coupled Web “components” that can bind dynamically to each other The Penn – Amazon example

Typical Web Service Components

SOAP Web Services consumers send and receive SOAP messages Web Services consumers send and receive SOAP messages WSDL Web Services Description Language Web Services are defined in terms of the formats and ordering of messages Web Services are defined in terms of the formats and ordering of messages Built using open Internet protocols Built using open Internet protocols XML & HTTP Web Services Architecture A programmable application component accessible via standard Web protocols Open Internet Protocols Web Service UDDI Universal Description, Discovery, and Integration Provide a Directory of Services on the Internet Provide a Directory of Services on the Internet

Web Services Framework Framework can be described in terms of Framework can be described in terms of –What goes “on the wire” Formats and protocols : XML and SOAP using HTTP –What describes what goes on the wire Description languages : WSDL –What allows us to find these descriptions Discovery of services : UDDI

XML

What is XML? Extensible Markup Language Extensible Markup Language Meta language that Meta language that –Allows to create and format own document markups a method for putting structured data into a text file a method for putting structured data into a text file - easy to read - unambiguous - extensible - platform-independent

Sample XML Example <msg:text> Hi please bill to the following address </msg:text><msg:item> Skateboard Skateboard One Warehouse Park One Warehouse Park Boston Boston </msg:message>

XML Declaration the XML declaration the XML declaration –Not required, but typically used –Attributes include:  Version  Encoding – the character encoding

XML Element <msg:text> Hi please bill the following </msg:text><msg:item> … </msg:message> text/element an element text/element an element Each element tag can be divided into 2 parts  Namespace, Tag name Each element tag can be divided into 2 parts  Namespace, Tag name

XML Attribute … … </msg:message> XML Attribute XML Attribute –Describes additional information about an element – text – text –Reserved attribute  xml:lang

XML Namespaces …</msg:message> Namespaces Namespaces –Not mandatory, but useful in giving uniqueness to an element –Declared using the xmlns:name= “value”

SOAP

SOAP An XML envelope for XML messaging An XML envelope for XML messaging Headers + body Headers + body SOAP is “transport independent” SOAP is “transport independent” A convention for doing RPC A convention for doing RPC

Soap Message Processing

SOAP Message Example Very High </SOAP-ENV:Header><SOAP-ENV:Body> “XML Document” </SOAP-ENV:Envelope>

WS Carl Gunter Kevin Lux Michael May

WS Traditional Internet Traditional Internet –Based on a collection of protocols  SMTP, POP, IMAP –Evolved over a vast installed base –Shortcomings  Flexibility  Security and  Integration

WS The Solution Aims to exploit advantages of web service protocols Aims to exploit advantages of web service protocols Uses web service security features to support integrity, authentication, and access control for both end-to-end and hop-by-hop message transmissions Uses web service security features to support integrity, authentication, and access control for both end-to-end and hop-by-hop message transmissions A collection of services that can be added to the base system A collection of services that can be added to the base system

The Solution (Contd) A way to integrate different messaging systems A way to integrate different messaging systems Prototype system is built using Microsoft.Net Prototype system is built using Microsoft.Net On-demand attachments On-demand attachments Integrated instant messaging Integrated instant messaging

Architecture

Architecture (Contd) Sender Client SC makes a call on its Sender Server SS Sender Client SC makes a call on its Sender Server SS All calls are SOAP calls over TCP All calls are SOAP calls over TCP The server SS then makes a call on the Receiver Server RS The server SS then makes a call on the Receiver Server RS The Receiver Client RC periodically makes calls to RC The Receiver Client RC periodically makes calls to RC Security based on standards for web service security possibly supported by encrypted tunnels Security based on standards for web service security possibly supported by encrypted tunnels

Architecture (Contd) Hop-by-hop confidentiality, so communications between the nodes can be protected by TLS Hop-by-hop confidentiality, so communications between the nodes can be protected by TLS Clients like SC and RC are typically authenticated by a password Clients like SC and RC are typically authenticated by a password Servers authenticate themselves using certificates Servers authenticate themselves using certificates Such certificates are used in TLS and used to sign messages using XMLDSIG Such certificates are used in TLS and used to sign messages using XMLDSIG

Variations – Security Token

Security Token (Contd) SC contacts SS to obtain a security token recognized by RS SC contacts SS to obtain a security token recognized by RS SC sends a message authenticated with this credential to RS SC sends a message authenticated with this credential to RS Instant messages are posted directly to the client Instant messages are posted directly to the client RS and RC apply access control for this function based on the security token from SC RS and RC apply access control for this function based on the security token from SC Token is recognized because of a form of federated identity between SS and RS Token is recognized because of a form of federated identity between SS and RS

Security

Why Web Services Security is a Challenge Theory: This thing has 4 wheel drive But we only take it to the Mall Practice: In this environment we need 4 wheel drive

Message Level Security

Example : SC to SS <wsse:Security SOAP-ENV:mustUnderstand="1“ SOAP-ENV:actor=“…” xmlns:wsse=“…"> SOAP-ENV:actor=“…” xmlns:wsse=“…"> <wsse:UsernameToken xmlns:wsu=“…“ wsu:Id="SecurityToken…"> wsu:Id="SecurityToken…"><wsse:Username>SC</wsse:Username> … … Date Date

<Signature><SignedInfo> <DigestValue>…</DigestValue></Reference></SignedInfo>

<SignatureValue>…</SignatureValue> </Signature></wsse:Security>

Canonicalization Logically equivalent physically different XML snippets Logically equivalent physically different XML snippets – –

XML Element Specific Security <ds:KeyInfo> Shared Key Shared Key </ds:KeyInfo><enc:CipherData>…</enc:CipherData></enc:EncryptedData>…</po>

XML Key Management Specification (XKMS) Management of Public Keys Management of Public Keys –Registration  Alice registers her signature public key –Information  Bob looks up the key for Alice  Bob checks to see if it is valid Core Objective Core Objective –Shield the client from the complexity of PKI

Platform Level Security

Security Terminology Authentication Authentication –Positively identifying the clients –User ID password pairs, X509 certificate etc Authorization Authorization –Defining what authenticated clients are allowed to see and do –ACLs Non Repudiation Non Repudiation –Digital Signatures Secure Communication Secure Communication –Ensuring that messages remain private and unaltered as they cross networks –SSL point-to-point

Is SSL Alone Enough? For some applications  Yes For some applications  Yes As Infrastructure  No As Infrastructure  No  SSL does not support multi-party transactions –Intermediate Node  SSL does not support non-Repudiation  Does not leave any audit trail

Demo

Conclusions Without Security and Trust Without Security and Trust –Web Services are Dead On Arrival Considerable progress has already been made Considerable progress has already been made –Industry wide consensus on value of standards –Basic Infrastructure is in place or in development –There is considerable consensus on the roadmap –Web Services is certainly moving towards a secure architecture