Nist Sp 800-95
Total Page:16
File Type:pdf, Size:1020Kb
Special Publication 800-95 (Draft) Guide to Secure Web Services Recommendations of the National Institute of Standards and Technology Anoop Singhal Theodore Winograd Karen Scarfone NIST Special Publication 800-95 Guide to Secure Web Services Recommendations of the National Institute of Standards and Technology Anoop Singhal Theodore Winograd Karen Scarfone C O M P U T E R S E C U R I T Y Computer Security Division Information Technology Laboratory National Institute of Standards and Technology Gaithersburg, MD 20899-8930 August 2007 U.S. Department of Commerce Carlos M. Gutierrez, Secretary National Institute of Standards and Technology William Jeffrey, Director GUIDE TO SECURE WEB SERVICES Reports on Computer Systems Technology The Information Technology Laboratory (ITL) at the National Institute of Standards and Technology (NIST) promotes the U.S. economy and public welfare by providing technical leadership for the nation’s measurement and standards infrastructure. ITL develops tests, test methods, reference data, proof of concept implementations, and technical analysis to advance the development and productive use of information technology. ITL’s responsibilities include the development of technical, physical, administrative, and management standards and guidelines for the cost-effective security and privacy of sensitive unclassified information in Federal computer systems. This Special Publication 800-series reports on ITL’s research, guidance, and outreach efforts in computer security and its collaborative activities with industry, government, and academic organizations. National Institute of Standards and Technology Special Publication 800-95 Natl. Inst. Stand. Technol. Spec. Publ. 800-95, 128 pages (Aug. 2007) Certain commercial entities, equipment, or materials may be identified in this document in order to describe an experimental procedure or concept adequately. Such identification is not intended to imply recommendation or endorsement by the National Institute of Standards and Technology, nor is it intended to imply that the entities, materials, or equipment are necessa rily the best available for the purpose. ii GUIDE TO SECURE WEB SERVICES Acknowledgements The authors, Anoop Singhal and Karen Scarfone of the National Institute of Standards and Technology (NIST) and Theodore Winograd of Booz Allen Hamilton, wish to thank their colleagues who contributed technical content to this document, especially Holly Lynne McKinley, Patrick Holley, and Karen Mercedes Goertzel of Booz Allen Hamilton. The authors would like to acknowledge Tim Grance, David Ferraiolo, and Rick Kuhn of NIST, Jeremy Epstein of Web Methods and David Kleiner, Michael Colon, Steven Lavenhar, and Victoria Thompson of Booz Allen Hamilton, for their keen and insightful assistance throughout the development of the document. iii GUIDE TO SECURE WEB SERVICES Table of Contents Executive Summary..............................................................................................................ES-1 1. Introduction ......................................................................................................................1-1 1.1 Authority...................................................................................................................1-1 1.2 Purpose and Scope .................................................................................................1-1 1.3 Audience ..................................................................................................................1-1 1.4 Document Structure .................................................................................................1-2 2. Background to Web Services and Their Relationship to Security ..............................2-1 2.1 Introducing Web Services ........................................................................................2-1 2.1.1 Web Service Discovery ................................................................................2-1 2.1.2 Web Service Messaging...............................................................................2-2 2.1.3 Web Portals ..................................................................................................2-3 2.1.4 Web Service Roles, Modes, and Properties.................................................2-3 2.1.5 Coordination: Orchestration and Choreography...........................................2-5 2.2 Elements of Security ................................................................................................2-7 2.3 Web Services Security Dimensions .........................................................................2-8 2.3.1 Secure Messaging........................................................................................2-8 2.3.2 Protecting Resources ...................................................................................2-8 2.3.3 Negotiation of Contracts ...............................................................................2-9 2.3.4 Trust Relationships.....................................................................................2-10 2.3.5 Requirements for Secure Software ............................................................2-11 2.4 Meeting the Requirements for Securing Web Services .........................................2-11 2.4.1 Secure Web Service Standards Stack .......................................................2-11 2.4.2 Relationship of Web Service Security Requirements to Standards............2-13 2.5 Core Services ........................................................................................................2-13 2.6 Threats Facing Web Services................................................................................2-15 2.7 Common Risks Facing Web Services....................................................................2-17 2.8 Web Services’ Interfaces with Network/Infrastructure Security Architectures........2-19 2.9 Summary................................................................................................................2-20 3. Web Service Security Functions and Related Technologies.......................................3-1 3.1 Service-to-Service Authentication............................................................................3-1 3.1.1 Service Chaining ..........................................................................................3-1 3.1.2 WS-Security for Authentication.....................................................................3-2 3.1.3 Security Concerns of WS-Security ...............................................................3-3 3.2 Identity Management ...............................................................................................3-4 3.2.1 Identity Management Architectures ..............................................................3-6 3.2.2 Laws of Identity.............................................................................................3-6 3.2.3 Identity Management and Web Services......................................................3-7 3.3 Establishing Trust between Services .......................................................................3-8 3.3.1 Federation of Trust .......................................................................................3-9 3.3.2 Trust Federation Frameworks ......................................................................3-9 3.4 Describing Web Services Policies (WS-Policy)......................................................3-11 3.5 Distributed Authorization and Access Management ..............................................3-14 3.5.1 Authorization Models ..................................................................................3-14 3.5.2 Enforcing Least Privilege for Services........................................................3-17 3.5.3 SAML..........................................................................................................3-18 iv GUIDE TO SECURE WEB SERVICES 3.5.4 XACML .......................................................................................................3-25 3.5.5 Role of XML Schema in Implementing Access Control ..............................3-28 3.5.6 Use of Specialized Security Metadata for Access Control .........................3-29 3.6 Confidentiality and Integrity of Service to Service Interchanges............................3-30 3.6.1 Transport Layer Confidentiality and Integrity: HTTPS ................................3-30 3.6.2 XML Confidentiality and Integrity................................................................3-30 3.6.3 WS-Security for SOAP Confidentiality and Integrity ...................................3-31 3.6.4 Role of XML Gateways in Integrity Protection ............................................3-32 3.7 Accountability End-to-End throughout a Service Chain .........................................3-33 3.7.1 Audit in the SOA Environment....................................................................3-34 3.7.2 Non-Repudiation of Web Service Transactions..........................................3-34 3.8 Availability of Web Services...................................................................................3-35 3.8.1 Failover.......................................................................................................3-36 3.8.2 Quality of Service .......................................................................................3-36 3.8.3 Reliable Messaging ....................................................................................3-37 3.8.4