Secure Your Web Services

 .net magazine august 2003에서 발췌, 요약.
 
Secure Your Web Services
 
Using currently available technology
 
1. SSL/TLS
 
Secure Socket Layer/Transport Layer Security (SSL/TLS)나 Windows Integrated Security를 사용하는 방법이다. TLS란 SSL의 대체물로 SSL 3.1로 불리기도 한다. TLS와 SSL은 호환성이 없으므로, 새로운 프로젝트에는 TLS를 사용하는 것이 좋을 것이다.
 
Web services message는 Web services provider에게 secure SSL/TLS channel을 통해 전달된다. 이 secure channel은 interaction’s outset에서 handshake에 의해 형성된다. 각각의 message들은 encrypt되어있고 digitally sign되어있고, 따라서 message의 confidentiality와 integrity를 보장한다.  initial handshake 중에는 single, dual-sided authentication이 일어난다. Web service provider는 항상 CA로부터 발급받은 certificate를 가지고 있다.
 
SSL/TLS solution은 매우 secure하지만, 매우 resource-intensive하기 때문에 scale하지 않다.
 
2. Windows Authentication
 
authentication만을 지원. (not encryption) provider와 client 사이의 정보는 clear text.
 
3. SOAP header
 
SOAP header는 fully extendable하기 때문에 authentication을 위한 credential을 포함하는 header를 만들 수 있다. 이러한 solution은 client와 service 양측에 대한 control이 가능할 때 가장 적절한 solution이다.
 
적절한 de facto or official standard 없이는 여러 partner간에 secure infrastructure를 일반화하고 유지하는 것은 불가능하다. 위의 방법들은 Web services를 위해 설계되지 않았기 때문에 한정된 환경 (constrained environment)에서 잘 동작하는 단기적인 해결책이다.
 
WS-Security specification from OASIS
 
– enhancements to the SOAP messaging protocol: authentication & security token
– XML digital signatures: integrity
– XML encryption: confidentiality
 
Web services architeture usage scenarios에서 W3C는 specification들에 관련된 Web services의 requirement를 정리하고 있다.
 그러한 specifications들 가운데 기본적인 개념 하나는 미래의 Web services message들은 claim을 가질 것이란 것이다. claim이란 name, key, 또는 permission 그리고 authorization이다. Web services의 security policy는 필요한 claim들의 집합을 명시할 수 있다. Web service는 필요로 하는 claim을 가지지 않은 message를 무시하거나 거부할 수 있다. Web service client는 security token을 message에 포함함으로써 claim의 증명을 제시한다.
 
Web services message는 parsing, authentication, authorization에 필요한 모든 정보들을 가지고 있을 것이다. messages가 destination에 도달할 때까지 여러 intermediaries를 거치게 되므로, 이 원칙은 매우 중요하다.

 
이러한 시나리오에서 message의 recipient가 모든 인증된 claim을 가지고 message의 originator와 항상 직접 interact하는 것은 불가능하다. message가 필요한 claim 없이 destination에 도달할 경우, requestor나 requestor에 해당하는 intermediaries는 다른 Web services로부터 필요한 claim과 security token을 얻어올 수 있다.
 

 
 
 
 

 
 
 
 
 
 
 
 
 
 
 
Prepare for Web Services’ Future
 
Web services는 서로 다른 vendor들의 system을 연동하는 glue이다. 따라서 capable least common denominator가 시급하게 필요하다. 소프트웨어, 하드웨어 산업의 모든 key player들이 노력을 쏟고 있는 현실에서, 앞으로 Web services의 확산은 불가피한 것 같다.
 
Resources
 
Microsoft XML Web Services Developer Center Home:
http://msdn.microsoft.com/webservices/
 
OASIS
http://www.oasis-open.org
 
OASIS Web Services Security TC
http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=wss
 
W3C Web Services Architecture Usage Scenarios
http://www.w3.org/tr/2002/wd-ws-arch-scenarios-20020730/
 
developerWorks Web services
http://www-136.ibm.com/developerworks/webservices

“Secure Your Web Services”의 1개의 댓글

댓글 달기

이메일 주소는 공개되지 않습니다.

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.