T-110.455 Network Application Frameworks and XML Summary and Conclusions 27.04.2005 Sasu Tarkoma.

Slides:



Advertisements
Similar presentations
18 Copyright © 2005, Oracle. All rights reserved. Distributing Modular Applications: Introduction to Web Services.
Advertisements

Web Service Architecture
Siebel Web Services Siebel Web Services March, From
Overview of Web Services
Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
Web Services Nasrullah. Motivation about web service There are number of programms over the internet that need to communicate with other programms over.
1.1 © 2004 Pearson Education, Inc. Exam Managing and Maintaining a Microsoft® Windows® Server 2003 Environment Lesson 1: Introducing Windows Server.
Lecture 23 Internet Authentication Applications
Environmental Council of States Network Authentication and Authorization Services The Shared Security Component February 28, 2005.
1 Introduction to XML. XML eXtensible implies that users define tag content Markup implies it is a coded document Language implies it is a metalanguage.
T Network Application Frameworks and XML Service Federation Sasu Tarkoma.
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.
CSC-8530: Distributed Systems Christopher Salembier 28-Oct-2009.
Web Services Security Multimedia Information Engineering Lab. Yoon-Sik Yoo.
Grid Computing, B. Wilkinson, 20043a.1 WEB SERVICES Introduction.
Jacob Boston Josh Pfeifer. Definition of HyperText Transfer Protocol How HTTP works How Websites work GoDaddy.com OSI Model Networking.
Protocols and the TCP/IP Suite
Web services security I
Secure Systems Research Group - FAU Web Services Standards Presented by Keiko Hashizume.
What is a Protocol A set of definitions and rules defining the method by which data is transferred between two or more entities or systems. The key elements.
T Network Application Frameworks and XML Web Services and WSDL Sasu Tarkoma Based on slides by Pekka Nikander.
Protocols and the TCP/IP Suite
Internet Addresses. Universal Identifiers Universal Communication Service - Communication system which allows any host to communicate with any other host.
Networks – Network Architecture Network architecture is specification of design principles (including data formats and procedures) for creating a network.
WS-Security: SOAP Message Security Web-enhanced Information Management (WHIM) Justin R. Wang Professor Kaiser.
International Telecommunication Union Geneva, 9(pm)-10 February 2009 ITU-T Security Standardization on Mobile Web Services Lee, Jae Seung Special Fellow,
Lecture 15 Introduction to Web Services Web Service Applications.
Chapter 9: Using and Managing Keys Security+ Guide to Network Security Fundamentals Second Edition.
Dr. Bhavani Thuraisingham October 2006 Trustworthy Semantic Webs Lecture #16: Web Services and Security.
Web Services Kanda Runapongsa Dept. of Computer Engineering Khon Kaen University.
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.
T Network Application Frameworks and XML Web Services and WSDL Sasu Tarkoma Based on slides by Pekka Nikander.
Web Security : Secure Socket Layer Secure Electronic Transaction.
Web Services Based on SOA: Concepts, Technology, Design by Thomas Erl MIS 181.9: Service Oriented Architecture 2 nd Semester,
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.
Chapter 15 – Part 2 Networks The Internal Operating System The Architecture of Computer Hardware and Systems Software: An Information Technology Approach.
SOAP “Simple” Object Access Protocol Will Cameron CSC 8530 November 9, 2006 Student Presentation 2.
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.
OS Services And Networking Support Juan Wang Qi Pan Department of Computer Science Southeastern University August 1999.
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.
XML and Web Services (II/2546)
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
Kemal Baykal Rasim Ismayilov
Security fundamentals Topic 10 Securing the network perimeter.
CHAPTER 4 PROTOCOLS AND THE TCP/IP SUITE Acknowledgement: The Slides Were Provided By Cory Beard, William Stallings For Their Textbook “Wireless Communication.
Security Patterns for Web Services 02/03/05 Nelly A. Delessy.
1 G52IWS: Web Services Chris Greenhalgh. 2 Contents The World Wide Web Web Services example scenario Motivations Basic Operational Model Supporting standards.
Information-Centric Networks10b-1 Week 10 / Paper 2 Hermes: a distributed event-based middleware architecture –P.R. Pietzuch, J.M. Bacon –ICDCS 2002 Workshops.
AMQP, Message Broker Babu Ram Dawadi. overview Why MOM architecture? Messaging broker like RabbitMQ in brief RabbitMQ AMQP – What is it ?
T Network Application Frameworks and XML Summary and Conclusions Sasu Tarkoma.
BEA position on W3C ‘Web Services’ Standards Jags Ramnarayan 11th April 2001.
Lecture VI: SOAP-based Web Service CS 4593 Cloud-Oriented Big Data and Software Engineering.
Web Services Security Mike Shaw Architectural Engineer.
T Network Application Frameworks and XML XML Security Basics Sasu Tarkoma Based on slides by Pekka Nikander.
T Network Application Frameworks and XML Summary and Conclusions Sasu Tarkoma.
Sabri Kızanlık Ural Emekçi
Topics Covered Distributed systems security
Overview of Web Services
Goals Introduce the Windows Server 2003 family of operating systems
Distributed Systems Bina Ramamurthy 11/30/2018 B.Ramamurthy.
Distributed Systems Bina Ramamurthy 12/2/2018 B.Ramamurthy.
Presentation transcript:

T Network Application Frameworks and XML Summary and Conclusions Sasu Tarkoma

Topics Covered n Distributed systems security n Multi-addressing: Mobility and multi- homing n Building applications with XML u Distributed objects u Role of directory services u Mobile and wireless applications u XML-based presentation and RPC n Scalability and performance issues

Lecture Outline Note: starts 16.00

Interconnections n Interconnections applicable on many levels u Network-level operation F DNS, overlay lookup, IPsec u Application-level operation F UDDI, SSL, WS-Security NetworkSecurity Directories Objects

Mobility and Routing

Naming, Addressing, and Routing NAMING ADDRESSING ROUTING How to identify and name a node? Frequent updates? One or two new name spaces? Where is the node located? Differences (IPv4/IPv6) Multi-addressing? How to route information to the node’s address? NAT traversal? Overlay vs. network routing unicast: to a specific node broadcast: to all nodes multicast: to a subset of nodes anycast: to any one in some subset (IPv6)

TCP/IP Network Stack Networking Layer (IP) Transport Layer (TCP/UDP) Application Layer Underlying network (link layer) host-to-host transport reliability, congestion control, flow control host-to-host connectivity routing, addressing Link layer: local data transfer, encoding, framing, error correction Physical: transmission of signals All applications (FTP, Telnet, HTTP, Overlays) HOST-TO-HOST

Routing vs. mobility n Topology data aggregation is necessary u Cannot track all hosts in the world u IP addresses determined by topology F Network gives the routing prefix n Mobile hosts must change their IP addresses u Causes sockets / connections to break n How to communicate address changes? n Goal of a mobility protocol u Transport and applications do not see address changes

Networks: Mobility R Public Switched Data Network Router R RR R Backbone LAN Router MAN NAT AP GPRS/UMTS Access network NAT BS MH Ad hoc MH

Rendezvous n How to find the moving end-point? u Tackling double jump F What if both hosts move at the same time? F Requires a rendezvous point n Mobility management is needed! u Initial rendezvous u Can be based on directories u Requires fast updates to directories F Does not work well for DNS

Identity/Locator split Process Transport ID Layer IP Layer Link Layer identifier locator n New name space for IDs u Maybe based on DNS u Maybe a separate namespace u Maybe IP addresses are used for location u Good for hiding IP versions n Communication end- points (sockets) bound to identifiers

Host Identity Protocol n New cryptographic namespace n Connection endpoints mapped to 128 bit host identity tags (hashes of public keys) n Mapping at HIP layer n 4-phase Base Exchange with cryptographic puzzle for DoS prevention n IPSec for network-level security

Upper layer view n IP connectivity problematic today u Broken by firewalls, NATs, mobility u Two versions of IP: IPv4 and IPv6 n HIP has a potential remedy u Restores end-to-end connectivity (NAT traversal possible but may require changes / tunnelling) u Adds opportunistic security u Handles mobility and multi-homing u Requires DHT based overlay (currently missing) n Where is the network state? u Routers know addresses F Like today u DHT knows HITs / SIDs F Lease based storage u Middleboxes know SPIs F Soft state

Lessons to learn n Hierarchical routing likely to stay u Addresses carry topological information u Efficient and well established n Applications face changing connectivity u QoS varies u periods of non-connectivity n Identifiers and locators likely to split n Mobility management is needed n Probably changes in directory services u Overlays have been proposed

Summary n Topology based routing is necessary n Mobility causes address changes n Address changes must be signalled end- to-end n Mobility management needed u Initial rendezvous: maybe a directory service u Double jump problem: rendezvous needed n Many engineering trade-offs

Distributed Hash Tables and Overlays

Layered-model revisited Object API Firewall bypass End-to-end Routing Congestion control Presentation DNS names IP addresses Routing paths XML presentation Finding, meta-data, invoking, syncing, mobility. Web Services

Overlay Networks n Origin in Peer-to-Peer (P2P) n Builds upon Distributed Hash Tables (DHTs) n Easy to deploy u No changes to routers or TCP/IP stack u Typically on application layer n Overlay properties u Resilience u Fault-tolerance u Scalability

Upper layers Overlay Congestion End-to-end Routing DNS names, custom identifiers Overlay addresses IP addresses Routing paths

Some DHT applications n File sharing n Web caching n Censor-resistant data storage n Event notification n Naming systems n Query and indexing n Communication primitives n Backup storage n Web archive

Applications for DHTs n DHTs are used as a basic building block for an application-level infrastructure u Internet Indirection Infrastructure (i3) F New forwarding infrastructure based on Chord u DOA (Delegation Oriented Architecture) F New naming and addressing infrastructure based on overlays

Summary n Mobility and multi-homing require directories u Scalability, low-latency updates n Overlay networks have been proposed u Searching, storing, routing, notification,.. u Lookup (Chord, Tapestry, Pastry), coordination primitives (i3), middlebox support (DOA) u Logarithmic scalability, decentralised,… n Host/identity split and overlays for directories seem good candidates for solving many of the issues with mobility and multi-homing

Middleware

n Widely used and popular term n Fuzzy term n One definition u “A set of service elements above the operating system and the communications stack” n Second definition u “Software that provides a programming model above the basic building blocks of processes and message passing” (Colouris, Dollimore, Kindberg, 2001)

Why Middleware? n Application development is complex and time-consuming u Should every developer code their own protocols for directories, transactions,..? u How to cope with heterogeneous environments? F Networks, operating systems, hardware, programming languages n Middleware is needed u To cut down development time F Rapid application development u Simplify the development of applications u Support heterogeneous environments and mask differences in OS/languages/hardware

Middleware cont. n Middleware services include u directory, trading, brokering u remote invocation (RPC) facilities u transactions u persistent repositories u location and failure transparency u messaging u Security n Network stack (transport and below) is not part of middleware

Transparencies n Location transparency u RPC and RMI used without knowledge of the location of the invoked procedure / object n transport protocol transparency u RPC may be implemented using any transport protocol n transparency of OS and hardware u RPC/RMI uses external data representation u Presentation is important u XML is becoming increasingly important n transparency of programming languages u language independent definition of procedures: CORBA IDL

Network Application Framework n Network Application Framework is middleware n Contains services for distributed applications n Middleware as a term is fuzzier and larger n In this course, we focus on network application frameworks and XML u objects (discovery, representation) u directories (overlays,..) u network u security

Examples n Middleware u CORBA u Message-oriented Middleware u Event Systems & tuple spaces u Java Message Service u Java 2 Enterprise Edition (J2EE) u.NET n Mobile middleware u WAE u J2ME u Wireless CORBA u FUEGO

Mobile Middleware I n Middleware is typically designed and implemented for fixed-network hosts u High bandwidth, low latency, reliable communication u Persistent storage and sufficient computing power u No mobility n Mobile environment requires new solutions u Existing middleware services do not scale u Previous lectures: mobility is challenging u Small devices / embedded systems pose totally different challenges

Mobile Middleware II n Goals for middleware: u fault-tolerance, adaptability, heterogeneity,scalability, resource sharing n Mobile middleware u dynamically changing context u decoupled F events, tuple spaces u Basic solution for wireless F Use a proxy

Summary n Middleware u for application development and deployment u for supporting heterogeneous environments u Main communication paradigms: RPC/RMI, asynchronous events (publish/subscribe) u J2EE, CORBA,.. n Mobile middleware u Desktop middleware not usable on small, mobile devices u Special solutions are needed u J2ME, Wireless CORBA,..

Web Services

A Basic Web Service Computer A Language: C++ OS: W2000 Computer A Language: C++ OS: W2000 Computer B Language: Java OS: Linux Computer B Language: Java OS: Linux XML Independent of language, OS, network protocols

Standardization n W3C Web Services u XML Protocol Working Group F SOAP u Web Services Addressing Working Group u Web Services Choreography Working Group u Web Services Description Working Group F WSDL n OASIS u E-business standards, UDDI n WS-I (Web Service Interoperability Org.) u Binding profiles,..

Web Service Architecture n The three major roles in web services u Service provider F Provider of the WS u Service Requestor F Any consumer / client u Service Registry F logically centralized directory of services n A protocol stack is needed to support these roles

Web Services Protocol Stack n Message Transport u Responsible for transporting messages u HTTP, BEEP n XML Messaging u Responsible for encoding messages in common XML format u XML-RPC, SOAP n Service Description u Responsible for describing an interface to a specific web service u WSDL n Service discovery u Responsible for service discovery and search u UDDI

WS Protocol Stack Transport: HTTP, FTP, BEEP, SMTP, JMS XML Messaging: SOAP, XML-RPC, XML Description: WSDL Discovery: UDDI

WSDL with Java Services WSDL document JAXR UDDI Publish firewall WS requester Business partner or other system SOAP RQ Bind SOAP RQ 1. WSDL is published to UDDI 2. Look up WS 3. Retrieve WSDL description 4. Call WS JAXR= Java API for XML Registries

What is WSDL? n WSDL: Web Service Description Language n An XML language used to describe and locate web services u location of web service u methods that are available u data type information and XML messages n Commonly used to describe SOAP-based services n W3C standard (work in progress) u Initial input: WSDL 1.1 as W3C Note u Current version 2.0 (last call) u Some differences between 1.1 and 2.0 n WSDL 1.1 in WS-I Basic Profile 1.0 and 1.1.

WSDL Overview : ROOT WSDL element : The data types that are used : What messages are transmitted? : The supported operations : The binding to concrete protocols : Reference to actual location

42 of 20 Mapping SOAP to WSDL

Putting it together Source:

44 of 20 SOAP Message Structure SOAP Envelope SOAP Header Header block SOAP Body Message Body Optional header contains blocks of information regarding how to process the message: u Routing and delivery settings u Authentication/authorizatio n assertions u Transaction contexts n Body is a mandatory element and contains the actual message to be delivered and processed (and fault information)

45 of 20 What is UDDI? n Universal Description Discovery and Integration n Industry-wide initiative supporting web services n Specifications u Schemas for service description u Schemas for business (service implementers) description u Developed on industry standards F Applies equally to XML and non-XML web services n Implementation u Public web service registry and development resources u SOAP-based programming protocol for registering and discovering Web services F XML schema for SOAP messages F a description of the API n UDDI does not directly specify how pricing, deadlines, etc. are handled/matched u Advanced discovery via portals and marketplaces

Web Services Security

Need for XML security n XML document can be encrypted using SSL or IPSec u this cannot handle the different parts of the document u documents may be routed hop-by-hop u different entities must process different parts of the document n SSL/TLS/IPSec provide message integrity and privacy only when the message is in transit n We also need to encrypt and authenticate the document in arbitrary sequences and to involve multiple parties

High-level view to WS security n Security is as strong as the weakest link n The options for an attacker are: u Attack the Web Service directly F Using ”unexpected” XML u Attack the Web Services platform u Attack a WS security tool u Attack the underlying operating system or network connection

Application-layer Security n Identity-based security u Authentication and authorization information shared across security domains n Content-based security u Protecting against buffer overflow and CGI-like attacks u Must have knowledge about the applications to which these messages are directed n Accountability or non-repudation u Need message level security u Maintain integrity, archived audit trails n The standards and specifications mentioned earlier address these issues

Standardization landscape n Who are specifying the basic standards? n Who are specifying the higher level standards? n Who is implementing the standards?

Who are specifying the standards? n Joint IETF/W3C u XML Signature ( n W3C u XML Encryption ( u XML Key Management (XKMS) ( n OASIS u WS-Security F SOAP Message Security specification etc. u SAML: Security Assertion Markup Language u XACML: Extensible Access Control Markup language u Electronic Business XML (ebXML) (with UN/CEFACT) n Web Services Interoperability Organization (WS-I) u Basic security

Standardization Groups XML Encryption XML Signature XKMS XrML WS-Security Provisioning Biometrics XACML SAML W3COASIS Security Assertion Markup language XML Common Biometric Format (XCBF) Extensible Rights Markup Language eXtensible Access Control Markup Language (XACML) XML Key Management Specification

Basic XML Security n XML Digital Signatures (XMLDSIG) n XML Encryption n XML Canonicalization n XML Key Management

Digital Signatures Message Digest Message Digest Message Private keyPublic key Asymmetric Key Pair SIGNVERIFY Signature Pass/Fail Need to know the message, digest, and algorithm (f.e. SHA1)

XML Digital Signatures (cont.) ( ( )? )+ ( )? ( )*

Encryption Public keyPrivate key Asymmetric Key Pair EncryptDecrypt

XML Encryption ? ? ? ?

Why Canonicalization is Hard n Exactly the same sequence of data bytes must be used for signing as for verifying u Problem of DTDs & Schemas u Problem of white space u Curse of namespaces u The usual: F Encodings & character sets (UTF-8,..) F Representations (, ) F Reordering of attributes

XML Key Management (XKMS) n A Web Service that provides an interface to a PKI u Abstracts PKI certificates u Towards centralized PKI management (an enterprise resource vs. configured by end-clients) n Designed to manage the sharing of public keys u Managing includes verifying signatures u Also includes encrypting messages n XKMS takes complexity from the applications n Originally from u VeriSign, Microsoft, webMethods n XKMS 1.0 u W3C Note 30 March 2001 n XKMS 2.0 u W3C Candidate Recommendation 5 April 2004

XML Key Management (XKMS) n The XML Key Management Specification (XKMS) comprises two parts u the XML Key Information Service Specification (X-KISS), and F Retrieval of information about keys u the XML Key Registration Service Specification (X-KRSS). F Store of information about keys n Uses the SOAP 1.1 protocol for communication, XML Schema, WSDL 1.0 n Based on XML Signatures

Web Services Security Requirements n Access control to Web services u WS-Security, XML-Signature u SAML – Issuing and validation of SAML assertions u Digital certificate validation n Content-filtering XML u Filters based on data format (XSD) u Filters based on content (XPath) u Filters based on integrity (XML Signature)

Functional point of view Routing IntegrityValidation Content Checking Authentication Authorization XML Management Console Design and Deploy Security policies ID Management LDAP PKI Single Sign-On Reporting Activity Alerting Secure logging XML

Security Contexts in Web Services n Remember Web Services goals: u Re-use existing services u Combine services from several domains n Security result: Must support several security domains u SOAP intermediaries u Reusing security tokens from one message in another message

WS Security I n Web Services Security: SOAP Message Security 1.0 (Oasis Standard 2004) n End-to-End security u Headers are decrypted and processed as needed n Selective processing u Some parts are plain text u Some are encrypted u Some are signed n How does it work? u SOAP header carries security information (and other info as well)

WS Security II n Ability to send security tokens as part of a message, message integrity, and message confidentiality n Security model in terms of security tokens combined with digital signatures to protect and authenticate SOAP messages n An X.509 is an example of a signed security token endorsed by a CA. n When third party support is not available, receiver may choose to accept the claims in the token based on trust on the entity that sent the message.

SAML n SAML (Security Assertion Markup Language) u A XML-based framework (schemas) for the exchange of authentication and authorization information u A standard message exchange protocol F How you ask and receive information n Mainly for integration, up to relying parties to decide to what authentication authority to trust n Assertions can convey information about authentication acts performed by subjects, attributes of subjects, and authorization decisions about whether subjects are allowed to access certain resources u Authentication statements merely describe acts of authentication that happened previously n Specified by OASIS

SAML in a nutshell n XML-based framework for exchanging security information u XML-encoded security assertions u XML-encoded request/response protocol u Rules on using assertions with standard transport and messaging frameworks n SAML & WS-Security allow a SOAP message to include information about the end-user’s authentication status

Summary n Security contexts u Security needed within and between contexts u XML validation, encryption, and authentication needed between security contexts! n WS security standard revisited u SOAP header carries security information (and other info as well) u Selective processing n SAML u Statements about authorization, authentication, attributes u SAML & WS-Security & XACML n Implementations available

Putting it together

With identity/locator split + overlays? Upper layers Overlay Congestion End-to-end Routing Overlay addresses IP addresses Routing paths DNS names, custom identifiers Host Identities IP addresses Routing paths ID Layer CONTROL DATA

”Theory” WS Security SOAP TCP IP ”Practice” WS Security SOAP TCP4 IPv4 HTTP/TLS/sockets TCP6 IPv6 ”Future?” WS Security SOAP IPv4 HTTP?/sockets IPv6 TCP HIPsec HIPCTRLHIPCTRL HIPCTRLHIPCTRL

Discussion

Important Dates n Exam on Thursday in T1. n Deadline for the second assignment 15.5.