1fc21c243595a771bcb86e5cc890e154.ppt
- Количество слайдов: 29
Securing service oriented architectures with WS-Security Matias Cuenca-Acuna Aug, 2007
Talk Outline • Motivation • Introducing the technology • WS-Security in action • Performance Considerations • Doing SOA with FLOSS • Summary – Q&A Copyright © 2007, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners 3
The evolution of Internet services supplier partner customer Internet Pages, mash-ups Saa. S, … firewall SOA Enterprise services Copyright © 2007, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners 4
The evolution of Internet services Customer + Other services Supplier Pages, mash-ups Saa. S, … partner Open API firewall SOA Enterprise services Copyright © 2007, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners 5
Why looking at SOA, Why Security? • SOA is a huge success… – 71% of the companies have already invested in SOA, 85% is predicted for 2008 (Source: IDC 2006) – Microsoft just launched their SOA stack called Windows Communication Foundation (March 2007) – Sun released Java 6, the first version to include a SOA stack (Dec 2006) • B 2 B integration is becoming a reality – $7000 B will be spent on B 2 B transactions in 2007 (i. e. 45% of the total) (Source IDC) • SOA simplifies B 2 B but also exposes a bigger attack front – Shared APIs allow partners and attackers to access the core business apps. – Automated attacks are easier than ever • Web Services Description Language (WSDL) • Universal description, discovery, and integration (UDDI) • Off the shelve software stacks are everywhere – 75% of hacks occur at the Application/Service level (Source: Gartner) • WS-Security is to SOA what SSL is to HTTP (albeit at different rates )… – WS-Security is the only standard way to secure SOA • backed by the big guys (IBM, MS, Verisign) at OASIS (2006) • WS-Security adoption doubled in 2005 WS-Security is needed to support SOA growth… Copyright © 2007, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners 6
Introducing the technology Copyright © 2007, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners 7
What is SOA? • A service-oriented architecture is essentially a collection of services – These services communicate with each other and the communication can involve either simple data passing or direct application execution; – also it could involve two or more services coordinating some activity. • What is a Service? – A service is a function that is well-defined, self-contained, and does not depend on the context or state of others. • What is a Web Service? – Typically a web service is XML/SOAP based and most often described by WSDL and Schemas. In most SOA implementations a directory system known as UDDI is used to for Web Service discovery and central publication. Copyright © 2007, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners 8
The SOA reference architecture Increase business agility reducing integration expense Increase asset reuse SOA enables new business processes and composite applications from existing services Copyright © 2007, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners 9
The OSI model meets the SOA Stack DATA Perspective Data Representation Layer (XML) • More layers are being constantly added NETWORK Perspective – Security – Reliable messaging – Manageability Copyright © 2007, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners 10
Simple Object Access Protocol (SOAP) • SOAP is a protocol for exchanging XML-based messages over computer networks – Normally using HTTP • SOAP forms the foundation layer of the Web Services (WS) stack • Inside a SOAP message – Envelope, Header & Body Copyright © 2007, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners 11
WS-Security Anatomy Secured SOAP Message
A signed SOAP message WS-Security headers Signature block Signed references Signature value Signature key The content is selectively signed (not the message) Copyright © 2007, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners 13
WS-Security in action Copyright © 2007, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners 14
Anatomy of the SOA Security challenge The need for content based security Internet, Intranet and/or Extranet Perimeter & DMZ Web (HTTP) Distribution Layer Application (XML) Web Services Layer DB Layer Oracle Firewall VPN Termination (XML Traffic) IPS Network Threats SSL Termination SOAP TCP/IP Unsecured APIs enable attackers to go deep into the company Perimeter defense is not enough, WS-Security can help with data integrity and authentication Copyright © 2007, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners 15
Anatomy of the SOA Security challenge The need for end to end security Today’s technologies like SSL do not provide end to end protection
Anatomy of the SOA Security challenge The need for multiple signatures Each council member signs the resolution, no matter if they voted yes or no NYC’s townhouse Council member The Mayor verifies the signatures, decides to approve or veto the resolution, and finally signs it Finally, the City clerk verifies the signatures of the resolution, and publishes it on the City’s charter City clerk signature Mayor Bill signature voting signature verification Council member Resolution Council member City council signature verification signature City’s charter Content based security allows distributed transactions to be executed across vendors solutions Copyright © 2007, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners 17
Anatomy of the SOA Security challenge The need for multiple levels of clearance Field officers Headquarters Field officer verifies signature and decrypts the top secret information Field troops decrypt their orders Secret clearance Logistic information Mission execution details Mission Goal Headquarters sends information to field officer. Information is both encrypted and signed Copyright © 2007, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners Troops Top level clearance The rest of the information is forwarded to field troops. Message could include all the orders, or just the specifics to each rank Confidential clearance 18
So what is new in all of this? • The solution for all theses problems are well known – All this can be done with standard cryptography • But…. – Security is tricky: one mistake and it’s over – Custom solutions rarely help systems integration • WS-Security is – An OPEN STANDARD • It is the work of lots of smart individuals – It is implemented by several vendors (IBM, MS, Oracle, BEA, etc. ) • It is easy to provide security across systems – There open source implementations • More on this later… Copyright © 2007, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners 19
Performance Considerations (i. e. there is no free lunch) Copyright © 2007, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners 20
How expensive is all this? SSL vs. WS-Security in Grid Computing • The experiment (by Shirasuna et. al. , 2004) – Goal: compare SSL & WS-Security for message integrity • 8 clients saturate a server with small messages (5 bytes payload) – Environment • XSUL using Apache XML Security library (XSUL is faster than GT 3. 2) • Tomcat 4. 1. 30. Sun J 2 SE 1. 4. 2_04, Linux 2. 4. 21 • Dual Xeon 2. 8 GHz with 2 GB of RAM SSL adds a 10 X slowdown, WS-Security adds 100 X! (most of this cost is XML processing) Copyright © 2007, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners 21
What is the culprit? • Let’s do some back of the envelope calculations WS-Security (enc. only) RSA (No. operations) HTTPS 6 6 DES (% of content processed) 150% 300% XML overhead (% of content processed) 150% 0 0 6 No. SSL Negotiations – SSL requires more crypto than WS-Security!! • About the XML overhead (Liu et. al. , 2005) – It takes 10 ms to sign or encrypt 100 KB – Using WS-Security takes 100 -200 ms to do the same – Environment • Sun’s J 2 SE 1. 4. 2 with Bouncy Castle (JCE) & Apache’s WSS 4 J • Linux 2. 4. 10 • Pentium 4 CPU 2. 79 GHz with 768 MB of RAM Copyright © 2007, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners 22
What determines WS-Security performance? • Traditionally size is the main latency determinant • This question help us to encompass every existing workload – Remember the best case assumption It is not your father’s Word Document! Shape affects performance Copyright © 2007, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners 23
Doing SOA with FLOSS Copyright © 2007, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners 24
Step One: Open Standards WS-Security WS-Trust SAML 2. 0 XML DSig XML Encryption WS-Reliable. Messaging WSDL XML Schema XPATH 2. 0 WS-Secure. Conversation SOAP 1. 2 WS-Security. Policy XML UDDI Open standards help Open Source compete on a level plain field Copyright © 2007, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners 25
Step Two: Open Software Stacks App App Tomcat / JBoss Sun JVM / Harmony Standalone App g. SOAP Apache XML Security gcc Linux App WS-Security Rampart/WSS 4 J App Axis Stack Linux IBM JVM AIX Over $10 k in software Communication, Persistence, Management, Security, Transactions, Clustering/Scalability comes for FREE!! Copyright © 2007, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners 26
Summary of the talk • SOA has changed the way we think about software • Business integration is now possible • We need to address security in order to keep the momentum – Eventually we will have large & agile B 2 B systems • WS-Security is open standard which is ready for the challenge • There are plenty of open software stacks to build SOA Q&A Copyright © 2007, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners 27
Copyright © 2007, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners 28
Why is c 14 n so demanding? Rules for canonicalization 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. The document is encoded in UTF-8 Line breaks normalized to #x. A on input, before parsing Attribute values are normalized, as if by a validating processor • This means that special characters inside an attribute value are replaces by they corresponding character reference Character and parsed entity references are replaced • This means that character references such as #x. D are replaces by their real value. CDATA sections are replaced with their character content The XML declaration and document type declaration (DTD) are removed Empty elements are converted to start-end tag pairs • An empty element is one that does not contain any text or sub-elements, and is generally denoted by
Canonicalization example • Demonstrates: Retention of namespace prefixes from original document Empty element conversion to start-end tag pair Normalization of whitespace in start and end tags Relative order of namespace and attribute axes Lexicographic ordering of namespace and attribute axes Elimination of superfluous namespace declarations Addition of default attribute Original XML Canonicalized XML Copyright © 2007, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners 30