© 2008 Cisco Systems, Inc. All rights reserved.Cisco ConfidentialPresentation_ID 1 Introduction to XMPP Joe Hildebrand.

Slides:



Advertisements
Similar presentations
11/2/2013 2:02:38 AM 5864_ER_FED 1 Importing Certificates into Lotus Notes R6.
Advertisements

MCT620 – Distributed Systems
Chapter 10 Encryption: A Matter of Trust. Awad –Electronic Commerce 1/e © 2002 Prentice Hall 2 OBJECTIVES What is Encryption? Basic Cryptographic Algorithm.
Virtual Trunk Protocol
1 Security for Ad Hoc Network Routing. 2 Ad Hoc Networks Properties Mobile Wireless communication Medium to high bandwidth High variability of connection.
Using PHINMS and Web-Services for Interoperability The findings and conclusions in this presentation are those of the author and do not necessarily represent.
© 2007 Cisco Systems, Inc. All rights reserved.ISCW-Mod3_L7 1 Network Security 2 Module 6 – Configure Remote Access VPN.
ISA 662 SSL Prof. Ravi Sandhu. 2 © Ravi Sandhu SECURE SOCKETS LAYER (SSL) layered on top of TCP SSL versions 1.0, 2.0, 3.0, 3.1 Netscape protocol later.
1 Copyright © 2010, Elsevier Inc. All rights Reserved Fig 2.1 Chapter 2.
…and a natural peer-to-peer platform!. Jabber as P2P Platform Agenda Why spend time in this session? What is Jabber? Who cares about Jabber? How does.
Internet Peer-to-Peer Application Infrastructure Darren New Invisible Worlds, Inc.
Presence, Security and Privacy. VON The Current Environment Many Faces of Security Authentication Verify someone is who they.
VON Europe /19/00 SIP and the Future of VON Protocols SIP and the Future of VON Protocols: Presence and IM Jonathan Rosenberg.
RadSec – A better RADIUS protocol
1 Formal Modeling & Verification of Messaging Framework of Simple Object Access Protocol (SOAP) Manzur Ashraf Faculty,BRAC University.
1 Hyades Command Routing Message flow and data translation.
Secure Naming structure and p2p application interaction IETF - PPSP WG July 2010 Christian Dannewitz, Teemu Rautio and Ove Strandberg.
Delivery Methods forIPP Event Notifications 1 Internet Printing Protocol (IPP) Delivery Methods for IPP Event Notifications.
M2M middleware service Inge Grønbæk, Telenor R&I ETSI Workshop on RFID and The Internet Of Things, 3rd and 4th December 2007.
Jeopardy Q 1 Q 6 Q 11 Q 16 Q 21 Q 2 Q 7 Q 12 Q 17 Q 22 Q 3 Q 8 Q 13
Enabling Secure Internet Access with ISA Server
Overview Environment for Internet database connectivity
SNMP (Simple Network Management Protocol) Overview Draft Version.
Chapter 1: Introduction to Scaling Networks
Notification Explosion Calendaring –You have a new meeting request –Your meeting begins in 15 minutes SIP –Hello HTTP/WebDAV –A resource you want to edit.
Yunling Wang VoIP Security COMS 4995 Nov 24, 2008 XCAP The Extensible Markup Language (XML) Configuration Access Protocol (XCAP)
© 2005 AT&T, All Rights Reserved. 11 July 2005 AT&T Enhanced VPN Services Performance Reporting and Web Tools Presenter : Sam Levine x111.
Kerberos and X.509 Fourth Edition by William Stallings
CSCE 815 Network Security Lecture 10 KerberosX.509 February 13, 2003.
©2013 PROS, Inc. All rights reserved. Confidential and Proprietary. PROS Connect User Community Website and Support Portal Prepared by Christine Lambden.
Cisco Confidential © 2011 Cisco and/or its affiliates. All rights reserved. 1 XMPP-Grid for SACM Information Transport XMPP Protocol Extensions for Use.
Adding SASL to HTTP/1.1 draft-nystrom-http-sasl-07.txt Magnus Nyström, RSA Security Alexey Melnikov, Isode Limited
IONA Technologies Position Paper Constraints and Capabilities for Web Services
31242/32549 Advanced Internet Programming Advanced Java Programming
PSIRP Publish-Subscribe Internet Routing Paradigm 08-Oct /27.
25 seconds left…...
External User Security Model (EUSM) for SNMPv3 draft-kaushik-snmp-external-usm-00.txt November, 2004.
Designed for your needs ANI Voice Communications Designed for your needs Audio Conferencing Message Delivery TeamConnect.
© 2009 GroundWork Open Source, Inc. PROPRIETARY INFORMATION: Information contained herein is not for use or disclosure outside of GroundWork Open Source,
PEAP & EAP-TTLS 1.EAP-TLS Drawbacks 2.PEAP 3.EAP-TTLS 4.EAP-TTLS – Full Example 5.Security Issues 6.PEAP vs. EAP-TTLS 7.Other EAP methods 8.Summary.
Jabber and Extensible Messaging and Presence Protocol (XMPP) Presenter: Michael Smith Cisc 856 Dec. 6, 2005.
SIP issues with S/MIME and CMS Rohan Mahy SIP, SIPPING co-chair.
Cryptography and Network Security
An Introduction to Secure Sockets Layer (SSL). Overview Types of encryption SSL History Design Goals Protocol Problems Competing Technologies.
© 2008 Cisco Systems, Inc. All rights reserved.Cisco ConfidentialPresentation_ID 1 Chapter 7: Transport Layer Introduction to Networking.
K. Salah 1 Chapter 31 Security in the Internet. K. Salah 2 Figure 31.5 Position of TLS Transport Layer Security (TLS) was designed to provide security.
Chapter 8 Web Security.
XMPP Extensible Messaging and Presence Protocol. Chat In the beginning there was instant messaging and chat. Lots of binary standards: Unix talk, IRC,
Wireless and Security CSCI 5857: Encoding and Encryption.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.1 ISP Services Working at a Small-to-Medium Business or ISP – Chapter 7.
Implementing ISA Server Publishing. Introduction What Are Web Publishing Rules? ISA Server uses Web publishing rules to make Web sites on protected networks.
An XMPP (Extensible Message and Presence Protocol) based implementation for NHIN Direct 1.
Lecture 23 Internet Authentication Applications modified from slides of Lawrie Brown.
XMPP – Extensible Messaging and Presence Protocol Vidya Satyanarayanan.
Web Security : Secure Socket Layer Secure Electronic Transaction.
XMPP Concrete Implementation Updates: 1. Why XMPP 2 »XMPP protocol provides capabilities that allows realization of the NHIN Direct. Simple – Built on.
Chapter 21 Distributed System Security Copyright © 2008.
Kerberos Named after a mythological three-headed dog that guards the underworld of Hades, Kerberos is a network authentication protocol that was designed.
User Interface; Graphical User Interface;Jabber XMPP- Core.
SOA-based Collaborative Authoring Andrew Roczniak Multimedia Research Lab University of Ottawa.
Presence Networking: XMPP and Jabber Joe Hildebrand Chief Architect Jabber, Inc. Networld+Interop 1 May 2003.
Jabber Technical Overview Presenter: Ming-Wei Lin.
An Analysis of XMPP Security Team “Vision” Chris Nelson Ashwin Kulkarni Nitin Khatri Taulant Haka Yong Chen CMPE 209 Spring 2009.
15 May 2006 IVOA - Victoria: VOEvent 11 Jabber/XMPP Matthew J. Graham Caltech T HE US N ATIONAL V IRTUAL O BSERVATORY.
Secure Sockets Layer (SSL)
Working at a Small-to-Medium Business or ISP – Chapter 7
Working at a Small-to-Medium Business or ISP – Chapter 7
Working at a Small-to-Medium Business or ISP – Chapter 7
Chinese wall model in the internet Environment
Presentation transcript:

© 2008 Cisco Systems, Inc. All rights reserved.Cisco ConfidentialPresentation_ID 1 Introduction to XMPP Joe Hildebrand

© 2010 Cisco Systems, Inc. All rights reserved. 2 What is XMPP? eXtensible Messaging and Presence Protocol Bi-directional streaming XML Core: IETF RFC 3920, Extensions: XMPP Standards Foundation (XSF) –Membership-based –Elected technical council –Unit of work: XMPP Extension Protocol (XEP) –Process: Experimental, Proposed, Draft, Final Goals: –Simple clients –Federate everything

© 2010 Cisco Systems, Inc. All rights reserved. 3 XMPP Architecture Addressing Scheme: –JID = Jabber ID –Node: identity, e.g. user name –Domain: DNS domain name –Resource: device identifier identifies a person Client talks to local server –Wherever the user account is hosted –Tied to directory if desired –Organizational policy enforced Servers talk to other servers –DNS lookup on domain portion of address –Dialback, MTLS for security –One connection for many conversations

© 2010 Cisco Systems, Inc. All rights reserved Arlington VA XML Refresher Element Attribute Namespace Language Text

© 2010 Cisco Systems, Inc. All rights reserved. 5 XMPP Streams Client connects TCP socket to server Client sends stream start tag: Server sends stream start tag back: Each child element of stream a stanza Note: NOT an element

© 2010 Cisco Systems, Inc. All rights reserved. 6 Stream features After stream start, server sends feature list: DIGEST-MD5 zlib Client can negotiate any of these features

© 2010 Cisco Systems, Inc. All rights reserved. 7 Security Stuff Start-TLS –Prove the identity of the server –Prove the identity of the user (optional) –Encryption –Data integrity SASL (RFC 4422)RFC 4422 –Authentication –Optional encryption (rarely used) –Pluggable (e.g. passwords, Kerberos, X.509, SAML, etc.)

© 2010 Cisco Systems, Inc. All rights reserved. 8 Stanzas All have to='JID' and from='JID' addresses –To gives destination –From added by local server Each stanza routed separately All contents of stanza passed along Extend with any XML from your namespace Different types for delivery semantics : one direction, one recipient : one direction, publish to many : "info/query", request/response

© 2010 Cisco Systems, Inc. All rights reserved. 9 Message Example: Wherefore art thou, Romeo? Types: chat, groupchat, headline, error Body: plain text XHTML IM: XEP-0071XEP-0071

© 2010 Cisco Systems, Inc. All rights reserved. 10 Presence Example: dnd Meeting 1 Show: chat, available, away, xa, dnd Status: Human-readable text Priority: Which resource "most available"?

© 2010 Cisco Systems, Inc. All rights reserved. 11 IQ Request Example: Type: get, set, result, error ID: track the corresponding response Query/Namespace: what type of request?

© 2010 Cisco Systems, Inc. All rights reserved. 12 IQ Response (Roster) Example: Friends Type: response ID matches request Subscription state: none, to, from, both

© 2010 Cisco Systems, Inc. All rights reserved. 13 Subscribing to Presence Send a subscription request: Approving a request: Every time you change a subscription, you get a "roster push":

© 2010 Cisco Systems, Inc. All rights reserved. 14 Extensibility Example: Message Use a new namespace Key: if you don't understand it, ignore it Example, CAP, XEP-0127: KSTO T14:57:00-07:00 Met SEVERE THUNDERSTORM... XEP-0127

© 2010 Cisco Systems, Inc. All rights reserved. 15 Extensibility Example: Presence Keep presence stanzas small Example: Entity Capabilities, XEP-0115: XEP-0115 Ver attribute is hash of all features of this client Hash -> Feature list is cached

© 2010 Cisco Systems, Inc. All rights reserved. 16 XMPP Extensions Many already exist: Add new ones –Custom: use a namespace you control, make up protocol –Standardized: write a XEP. It's straightforward, and we'll help

© 2010 Cisco Systems, Inc. All rights reserved. 17 Federation: DNS Starts with: non-local domain in to address Look up this DNS SRV record: _xmpp-server._tcp.domain Example: jabber.com: jabber.com. Priority: Which one to try first if multiple Weight: Within a priority, what percentage chance? Port: TCP port number Target: Machine to connect to

© 2010 Cisco Systems, Inc. All rights reserved. 18 Federation: Security Old-style: dialback –Connect back to domain claimed by initiator –Check secret claimed by initiator –"Someone said they were example.com; was that you?" New-style: Mutual TLS –Initiator presents "client" certificate –Responder presents "server" certificate –Both certificates signed by trusted CA All stanzas must have from with correct domain

© 2010 Cisco Systems, Inc. All rights reserved. 19 Bandwidth minimization TLS compression –Not implemented in all SSL/TLS stacks –Some want compression w/o encryption XEP-0138: Stream Compression XEP-0138 –Defines zlib mechanism (2-3x or more compression) –Others can be added –Concern: battery drain vs. radio transmission XEP-0198: Stanza Acknowledgements XEP-0198 –Quick reconnects –Avoid re-synchronizing state on startup Partial rosters Privacy lists Others being pursued

© 2010 Cisco Systems, Inc. All rights reserved. 20 Latency Most critical on startup –Several handshakes and stream restarts –Can be minimized by client assuming server configuration –Example: don't wait for Once running –Stanza size matters: try to stay under 8kB, take larger blocks out of band if possible –Configure federation to keep links open, first stanza will be slow –Beware of DoS protection, "karma"

© 2010 Cisco Systems, Inc. All rights reserved. 21 Reading List RFCs RFC –3920: Core3920 –3921: IM & Presence3921 –5122: XMPP URIs5122 XEP highlights XEP –4: Forms4 –30: Disco30 –45: Chat rooms45 –60: Pub/Sub60 –71: XHTML71 –115: Capabilities115 –163: PEP163

© 2010 Cisco Systems, Inc. All rights reserved. 22 Q and A

© 2010 Cisco Systems, Inc. All rights reserved. 23