Скачать презентацию Secure Web Services Arvind Easwaran arvinde seas CIS TCOM 551 Скачать презентацию Secure Web Services Arvind Easwaran arvinde seas CIS TCOM 551

c3094783a184020e17b7624787d94b16.ppt

  • Количество слайдов: 44

Secure Web Services Arvind Easwaran (arvinde@seas) CIS/TCOM 551 Spring 2004 Slide Set 7 Secure Web Services Arvind Easwaran ([email protected]) CIS/TCOM 551 Spring 2004 Slide Set 7

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

Web Services (WS) Overview Web Services (WS) Overview

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

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

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

Typical Web Service Components Typical Web Service Components

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

Web Services Framework n Framework can be described in terms of – What goes Web Services Framework n 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 XML

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

Sample XML Example <? xml version=“ 1. 0” encoding=“…”? > <msg: message from=“id” to=“id” Sample XML Example Hi please bill to the following address Skateboard One Warehouse Park Boston

XML Declaration <? xml version=“ 1. 0” encoding=“…”? > n <? xml ? > XML Declaration n the XML declaration – Not required, but typically used – Attributes include: § Version § Encoding – the character encoding

XML Element <msg: message from=“id” to=“id” xmlns: msg=“URI” xmlns: po=“URI”> <msg: text> Hi please XML Element Hi please bill the following n n text/element an element Each element tag can be divided into 2 parts Namespace, Tag name

XML Attribute <msg: message from=“id” to=“id” xmlns: msg=“URI” xmlns: po=“URI”> … <po: po id=“ XML Attribute n XML Attribute – Describes additional information about an element – text – Reserved attribute xml: lang

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

SOAP SOAP

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

Soap Message Processing Soap Message Processing

SOAP Message Example <? xml … ? > <SOAP-ENV: Envelope xmlns: SOAP-ENV=“URI” > <SOAP-ENV: SOAP Message Example 12345 Very High “XML Document”

WSEmail Carl Gunter Kevin Lux Michael May WSEmail Carl Gunter Kevin Lux Michael May

WSEmail n Traditional Internet Email – Based on a collection of protocols § SMTP, WSEmail n Traditional Internet Email – Based on a collection of protocols § SMTP, POP, IMAP – Evolved over a vast installed base – Shortcomings § Flexibility § Security and § Integration

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

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

Architecture Architecture

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

Architecture (Contd) n n Hop-by-hop confidentiality, so communications between the nodes can be protected Architecture (Contd) n n 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 Servers authenticate themselves using certificates Such certificates are used in TLS and used to sign messages using XMLDSIG

Variations – Security Token Variations – Security Token

Security Token (Contd) n n n SC contacts SS to obtain a security token Security Token (Contd) n n n SC contacts SS to obtain a security token recognized by RS SC sends a message authenticated with this credential to RS Instant messages are posted directly to the client 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

Security Security

Why Web Services Security is a Challenge Theory: This thing has 4 wheel drive 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 Message Level Security

" src="https://present5.com/presentation/c3094783a184020e17b7624787d94b16/image-34.jpg" alt="Example : SC to SS " /> Example : SC to SS SC Date

" src="https://present5.com/presentation/c3094783a184020e17b7624787d94b16/image-35.jpg" alt=" " />

Canonicalization n Logically equivalent physically different XML snippets – <p a=“ 1” b=“ 2”> Canonicalization n Logically equivalent physically different XML snippets –

XML Element Specific Security <po xmlns=“URI” id=“ 123”> <enc: Encrypted. Data Type=“URI”> <enc: Encryption. XML Element Specific Security Shared Key

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

Platform Level Security Platform Level Security

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

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

Demo Demo

Conclusions n Without Security and Trust – Web Services are Dead On Arrival n Conclusions n Without Security and Trust – Web Services are Dead On Arrival n 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