11.07.2015 Views

Improving Web Application Security: Threats and - CGISecurity

Improving Web Application Security: Threats and - CGISecurity

Improving Web Application Security: Threats and - CGISecurity

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

344 Part III: Building Secure <strong>Web</strong> <strong>Application</strong>sAs an alternate option for use with an extranet, you can use IIS client certificateauthentication instead of passing explicit credentials. In this case, the callingapplication must present a valid certificate with the call. The <strong>Web</strong> service usesthe certificate to authenticate the caller <strong>and</strong> authorize the operation. For moreinformation, see the “Extranet <strong>Security</strong>” section in MSDN article, “Building SecureASP.NET <strong>Application</strong>s” at http://msdn.microsoft.com/library/en-us/dnnetsec/html/SecNetch06.asp.Internet DeploymentIf you expose your <strong>Web</strong> service to a large number of Internet consumers <strong>and</strong> requireauthentication, the options available to you are substantially constrained. Any formof platform level authentication is unikely to be suitable, since the consumers will nothave proper domain accounts to which they can map their credentials. The use of IISclient certicate authentication <strong>and</strong> the transport (SSL) level is also problematic when alarge number of client certificates must be made known to the target IIS <strong>Web</strong> server(or the ISA Server in front of it). This leaves message <strong>and</strong> application-levelauthentication <strong>and</strong> authorization the most likely choice. Credentials passed by theconsumer of the service in the form of user name, password, certicate, Kerberosticket, or custom token) can be validated transparently by the <strong>Web</strong> servicesinfrastructure (WSE) or programmatically inside the target service. client certificatesare difficult to manage scale. Key management (issuing <strong>and</strong> revoking) becomes anissue. Also, certificate-based authentication is resource intensive <strong>and</strong> therefore issubject to scalability issues with large number of clients.SSL usually provides encryption of the network traffic (server-side certicate only),but can also be supplemented by message-level encryption.Using client certicates, while advantageous from a seucrity point of view, oftenbecomes problematic for large numbers of users. You must carefully manage thecerticates <strong>and</strong> consider how they should be delivered to clients, renewed, revoked,<strong>and</strong> so on. Another pottential issue in Internet situaions Is the oveall scalability of thesolution due to processing overhead or the encryption/decryption <strong>and</strong> certificatevalidation for a large-scale <strong>Web</strong> service with significant workload.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!