http://www.developer.com/services/article.php/1555791/Web-Services-Applications-and-Security-Part-2.htm
As Web Services move into complex business transactions, security will play a major role. Some of the services may only be available to paid users. So, protecting sensitive data is a critical factor for Web Services applications to succeed. The key risk factor in this use case implementation is security. How can we make the Bookstore Application a secure application? How can we protect credit card information that has passed to the Payment Service? Let us go through the key requirements on Web Services security and different security scenarios, and examine the limitations and usage of each of them. The following requirements address the security of Web Services across distributed domains and platforms and provide security in a meaningful way. Following are some of the scenarios that help you build a simple Web Services application that is secure and reliable. This article covers only the overview of each security scenario. When the Web Services Application is a concern, most security scenarios are mainly related to categories such as transport/network level security, data level security issues, and message level integrity. Let us start with transport level security issues that are applicable to Web Service Application. Figure 1—Data transfer over the networks Description Basic authentication is an authentication mechanism that allows users to access the service after verifying the user id and password granted for that user. Limitations/Issues: Technologies to be used: Web Server, configuration files. It provides one level high to basic authentication mechanism. It solves some of the limitations of basic authentication. It is not completely different from basic authentication, but it takes care of password encryption to some extent. It generates a set of numbers based on the password and these numbers are hashed by the MD5 digest. It saves this password along with other items on the server side. This model provides secure transactions to some extent and the hackers cannot catch the password easily. Limitations/Issues: Description SSL is a security protocol that provides more secure mechanism; it is built on top of the TCP/IP protocol suite. It is used to authenticate and encrypt data, and a client/server handshaking process to authenticate the data transfer between the processes. It supports many algorithms, such as DSA (Digital Signature Algorithm), KEA (Key Exchange Algorithm), MD5 (Message Digest algorithm), RSA (A public-key algorithm), and so forth; they are used to authenticate data between client and server processes. RSA is the most commonly used SSL encryption algorithm that uses the RSA key exchange. In this approach, server and client determine the symmetric keys they will both use during an SSL session. For a simple Web Service application, we can use SSL as a secure channel to authenticate the transactions between the service provider and the service consumer. Using Soap over SSL is straightforward. We just need to enable SSL on the server side, in the same way that we would a standard Web application. After that, we have to install and configure SSL. Limitations Technologies to be used SSL, JSSE Sridhar Ravuthula is a senior software engineer with Hewlett-Packard, India. He has a master's degree in computer applications. Sridhar has been involved in designing and developing J2EE-based solutions on various platforms. He has worked in flagship product development, e-speak, and HP Bluestone (HPAS).
He has good knowledge and hands-on experience in Web Services technologies. You can reach him at sridhar_ravuthula@hp.com or sridharravatula@yahoo.co.uk.
Web Services Applications and Security: Part 2
December 11, 2002
What Are the Key Risk Factors in Web Services Application Development?
Web Services Security Key Requirements
Security Scenarios
Note:
To apply/use these scenarios in your application development, you need to refer to/check how these methodologies are supported by your Application or Web Servers and read the documentation that is provided by the vendor for setup, configuration, and built-in support provided in the products.
Scenario 1: Basic Authentication in a Web Service Application for a Request and Response to Messages
Scenario 2: Digest Authentication
Scenario 3: Using Secure Socket Layer (SSL)
All the above scenarios mainly deal with transport level mechanisms to make the application secure. A Web Service application mainly uses XML as the core piece for data representation. So, securing data in an XML document is a major challenge to make a Web Service application secure. Part 3 of this series deals with how we can manage the XML data in a secure fashion. About the Author