Web Services Security with WSE 2.0 Muhammad Saqib Ilyas
Speaker.Bio.ToString() Assistant Professor, N.E.D. University Country Leader, INETA Pakistan MVP IEEE Student Branch Counselor Secretary/Treasurer IEEE Communications Society, Karachi Chapter Member IEEE Karachi Section Executive Committee
Agenda Security Basics WSE 2.0 programming model Demos
Security Basics Encryption Asymmetric Symmetric Message Digest Digital Signature
Public key (asymmetric) Messages encrypted with private key, decrypted with public key Vice versa e.g., RSA, Diffie Hellman Confidentiality and authentication Computationally expensive
Symmetric Same key for encryption and decryption e.g., DES Share the key securely
Message digest Computes a value unique to a message Hashing Integrity
Digital signature Compute a message digest over a message Encrypt the message digest using private key Transmit signature with message Decrypt signature using public key
Securing web services Use lower layer security such as SSL Limitations
WSE 2.0 Provides support for WS-* standards Includes security Approximately 8 MB download
WSE 2.0 Architecture Input and output filters Proxy base class WebServicesClientProtocol SoapContext object records particular options: –Username token –Certificate Security token manager
WSE Programming Configured in web.config Using GUI tool Add reference to: –Microsoft.Web.Services2.dll Microsoft.Web.Services2 Microsoft.Web.Services2.Security Microsoft.Web.Services2.Security.Tokens
Specifications supported WS-Security WS-SecurityPolicy WS-SecureConversation WS-Trust WS-Referral WS-Addressing WS-Policy DIME (Direct Internet Message Encapsulation) WS-Attachments
Demo Implementing a SOAP extension Signing using username/password tokens Installing X.509 certificates Signing using X.509 certificates Encryption using multiple tokens
Links