웹 서비스-보안

보안은 웹 서비스에 매우 중요합니다. 그러나 XML-RPC 나 SOAP 사양은 명시적인 보안 또는 인증 요구 사항을 만들지 않습니다.

웹 서비스에는 세 가지 특정 보안 문제가 있습니다.

  • Confidentiality
  • Authentication
  • 네트워크 보안

기밀성

클라이언트가 XML 요청을 서버에 보내는 경우 통신이 기밀로 유지되도록 할 수 있습니까?

답은 여기에 있습니다-

  • XML-RPC 및 SOAP는 주로 HTTP 위에서 실행됩니다.
  • HTTP는 SSL (Secure Sockets Layer)을 지원합니다.
  • 통신은 SSL을 통해 암호화 될 수 있습니다.
  • SSL은 입증 된 기술이며 널리 배포됩니다.

단일 웹 서비스는 일련의 애플리케이션으로 구성 될 수 있습니다. 예를 들어, 하나의 대형 서비스가 다른 세 가지 애플리케이션의 서비스를 함께 묶을 수 있습니다. 이 경우 SSL은 적절하지 않습니다. 메시지는 서비스 경로를 따라 각 노드에서 암호화되어야하며 각 노드는 체인의 잠재적 인 약한 링크를 나타냅니다. 현재이 문제에 대해 합의 된 솔루션은 없지만 유망한 솔루션 중 하나는 W3C XML 암호화 표준입니다. 이 표준은 전체 XML 문서 또는 XML 문서의 일부만 암호화 및 해독하기위한 프레임 워크를 제공합니다. www.w3.org/Encryption 에서 확인할 수 있습니다.

입증

클라이언트가 웹 서비스에 연결하는 경우 사용자를 어떻게 식별합니까? 사용자가 서비스를 사용할 권한이 있습니까?

다음 옵션을 고려할 수 있지만 강력한 인증 체계에 대한 명확한 합의는 없습니다.

  • HTTP에는 기본 및 다이제스트 인증에 대한 기본 지원이 포함되어 있으므로 서비스는 현재 HTML 문서가 보호되는 것과 거의 동일한 방식으로 보호 될 수 있습니다.

  • SOAP 디지털 서명 (SOAP-DSIG)은 공개 키 암호화를 활용하여 SOAP 메시지에 디지털 서명합니다. 클라이언트 나 서버가 상대방의 신원을 확인할 수 있도록합니다. www.w3.org/TR/SOAP-dsig 에서 확인하십시오 .

  • OASIS (Organization for the Advancement of Structured Information Standards)는 SAML (Security Assertion Markup Language)에 대해 작업하고 있습니다.

네트워크 보안

현재이 문제에 대한 쉬운 답은 없으며 많은 논쟁의 대상이되었습니다. 현재 SOAP 또는 XML-RPC 메시지를 필터링하려는 의도가 있다면 콘텐츠 유형을 text / xml로 설정하는 모든 HTTP POST 요청을 필터링 할 수 있습니다.

또 다른 대안은 SOAPAction HTTP 헤더 속성을 필터링하는 것입니다. 방화벽 공급 업체는 현재 웹 서비스 트래픽을 필터링하도록 명시 적으로 설계된 도구를 개발하고 있습니다.