WebSphere® Application Server 버전 6에서 SOAP(Simple Object Access Protocol) 메시지에 무결성, 기밀성 및 관련 토큰을 설정할 경우, 보안이 보장되지 않습니다. 웹 서비스 보안을 구성할 때에는 최종 구성 결과가 광범위한 공격 메커니즘에 취약하지 않은지 주의 깊게 검증해야 합니다. 이 문서에서는 웹 서비스 보안 설정 시 고려해야 할 보안 사항에 대한 정보를 제공합니다. 이 보안 고려사항 목록은 완전하지 않습니다. 사용하는 환경에 맞는 보안 분석을 자체적으로 수행해야 합니다.
WS-Security 2004 스펙은 SOAP(Simple Object Access Protocol) 헤더에서 XML 디지털 서명 및 XML 암호화를 사용하는 방법을 정의합니다. 따라서 사용자는 다른 여러 보안 메커니즘의 컨텍스트에서 XML 디지털 서명 및 XML 암호화를 이해해야 하며 엔티티에 대한 잠재적 위협을 파악해야 합니다. XML 디지털 서명의 경우, 일반적인 디지털 서명 및 특정한 디지털 서명을 사용함으로써 발생할 수 있는 모든 보안 영향을 숙지해야 합니다. 디지털 서명 기반의 애플리케이션에 신뢰를 설정할 경우 PKI(Public Key Infrastructure) 기반의 인증 신뢰 유효성 검증과 같은 다른 기술을 통합해야 합니다. XML 암호화의 경우, 공통 데이터의 디지털 서명 및 암호화를 조합하면 암호화 취약점에 노출될 수 있습니다. 예를 들어 디지털 서명된 데이터를 암호화할 때 디지털 서명을 일반 텍스트로 방치하면 메시지가 텍스트 추측 공격에 취약해질 수 있습니다. 일반적인 방법은 데이터를 암호화할 때 데이터 전체의 요약본이나 서명을 암호화하는 것입니다. 자세한 내용은 의 내용을 참조하십시오. .
토큰 대체 공격을 받을 수 있습니다. 이 시나리오에서는 주로 보안 토큰에서 파생되어 메시지에 포함되는 키를 사용하여 디지털 서명이 검증됩니다. 토큰이 대체될 경우, 수신자는 키가 대체된 예상과 다른 메시지를 수신할 수 있습니다. 이 문제를 해결할 수 있는 솔루션은 서명된 데이터와 함께 보안 토큰(또는 서명 키가 파생된 고유한 식별 데이터)에 서명하는 것입니다. 경우에 따라, 신뢰할 수 있는 인증 기관에서 발행된 토큰은 서명되어 있습니다. 이 경우 무결성 문제가 발생하지 않을 수 있습니다. 그러나 시간이 지남에 따라 애플리케이션 시맨틱 및 환경이 바뀔 수 있으므로 이 공격을 예방하는 것이 좋습니다. 배치된 환경에 따른 위험성 평가를 수행해야 합니다.
디지털 서명에 사용되는 토큰 ID의 신빙성과 유효성을 정확히 신뢰할 수 있는지 확인하는 것이 좋습니다. 특히 X.509 토큰의 경우, 이 문제는 인증서 경로를 확인하고 인증서 폐기 목록(CRL)을 사용하는 것과 관련됩니다. WebSphere Application Server 버전 6의 웹 서비스 보안 구현에서는 TokenConsumer 요소를 통해 인증이 검증됩니다. WebSphere Application Server는 Java™ CertPath 라이브러리를 사용하여 인증의 유효성을 검증하는 X.509 인증에 대한 기본 구현을 제공합니다. 구현에는 CRL의 명시적 개념이 포함되지 않습니다. 반대로, 올바른 루트 인증 및 잠정 인증은 파일로만 준비됩니다. 정교한 솔루션이 필요한 경우 온라인 CRL 데이터베이스나 OCSP(Online Certificate Status Protocol)를 사용하여 인증 및 CRL 유효성 검증을 수행하는 고유한 TokenConsumer 구현을 개발할 수 있습니다.
보호 설정 없이 UsernameToken의 비밀번호를 다운스트림 서버로 전송하는 것은 권장되지 않습니다. SSL 등의 전송 레벨 보안(예: HTTPS) 또는 XML 암호화를 사용한 웹 서비스 보안을 통해 비밀번호를 보호할 수 있습니다. 권장되는 보호 방법은 사용 중인 환경에 따라 다릅니다. 그러나 공격에 대한 취약성이 전혀 의심되지 않는 일부 특수한 환경에서는 비밀번호를 일반 텍스트로 다운스트림 서버에 전송할 수도 있습니다.
웹 서비스 보안은 단지 XML 디지털 서명 및 XML 암호화를 사용 가능하게 하는 것보다 더 많은 작업을 필요로 합니다. 올바른 웹 서비스 보안을 위해서는 PKI(Public Key Infrastructure)에 대한 지식이 필요합니다. 필요한 보안 레벨은 배치된 환경과 사용 패턴에 따라 달라지지만 그러나 웹 서비스 보안에는 일부 기본 규칙과 우수 사례가 있습니다. PKI 관련 서적 및 WS-I(Web services Interoperability Organization) BSP(Basic Security Profile)에 대한 정보를 읽어볼 것을 권장합니다.