신뢰 서비스
WebSphere® Application Server에서 제공하는 보안 토큰 서비스를 신뢰 서비스라고 합니다. WebSphere Application Server 신뢰 서비스는 WS-Trust(Web Services Trust)의 보안 메시징 기능 메커니즘을 사용하여 보안 토큰의 발행, 교환 및 유효성 검증을 위한 추가 확장을 정의합니다.
WS-Trust(Web Services Trust)는 OASIS 표준으로, 요청/응답 프로토콜을 정의하여 보안 토큰 상호 운용성이 사용 가능으로 설정됩니다. 이 프로토콜을 사용하면 웹 서비스 클라이언트와 같은 SOAP 조치자가 특정 보안 토큰을 다른 보안 토큰과 교환할 수 있는 신뢰 권한 중 일부를 요청할 수 있습니다.
WebSphere Application Server는 WS-Trust 초안 스펙의 모든 컨텐츠를 구현하는 전체 보안 토큰 서비스를 제공하지 않습니다. WS-Trust의 WebSphere Application Server 지원은 보안 통신에 대한 보안 컨텍스트 토큰 설정에 중점을 둡니다. WebSphere Application Server는 2007년 3월 19일자 WS-Trust OASIS 표준 버전 1.3에 설명된 여러 보안 기능을 지원합니다.
써드파티 WS-Trust 클라이언트
WebSphere Application Server는 WS-Trust 클라이언트 구현을 제공하지 않습니다. 써드파티 WS-Trust 사용 클라이언트를 사용하도록 선택할 수 있지만, 선택할 경우 WebSphere Application Server에서 써드파티 신뢰 가능 클라이언트를 지원하지 않습니다. 신뢰 클라이언트는 이러한 SOAP 메시지의 생성 및 응답 처리를 용이하게 하지만 해당 클라이언트가 필요하지 않습니다.
WebSphere Application Server는 WS-SecureConversation(Web Services Secure Conversation)에 대한 보안 컨텍스트 토큰의 발행, 갱신 및 취소에 중점을 둡니다.
신뢰 서비스를 요청하려면 WS-Trust 스펙을 준수해야 합니다. 이 스펙은 WS-Addressing(Web Services Addressing) 헤더 사용을 포함합니다. WS-Addressing 헤더는 2004년 8월 스펙과 2005년 8월 스펙에 모두 지정되어 있습니다. 스펙에 따라 SOAP 본문을 단일 RequestSecurityToken(RST) 요소로 구성해야 합니다. 이 요소는 WS-Trust 및 WS-SecureConversation 스펙에 정의된 대로 하위 요소를 포함할 수 있습니다.
정책 세트에 정의된 부트스트랩 정책을 사용하여 WS-Trust SOAP 메시지를 보호할 수 있습니다. 부트스트랩 보안 정책은 초기자가 애플리케이션 서비스와 통신을 설정하는 중에 호출됩니다. 애플리케이션 서비스 이외의 서비스에 대한 초기 요청은 부트스트랩 정책을 통해 보호됩니다. 일반적으로 이러한 초기 요청에는 WebSphere Application Server 신뢰 서비스와 같은 보안 토큰 서비스(STS)에 대한 하나 이상의 요청이 포함됩니다. 요청에 대한 예로 WS-SecureConversation에 필요한 보안 컨텍스트 토큰을 획득할 수 있습니다. 초기자는 원래 요청을 시작하는 역할을 하며, 대부분의 경우 이는 클라이언트입니다. 클라이언트 부트스트랩 정책 세트는 엔드포인트의 신뢰 서비스 발행 및 갱신이 첨부된 정책 세트에 해당해야 합니다. 엔드포인트의 신뢰 서비스 취소 및 유효성 검증이 첨부된 정책 세트는 클라이언트 애플리케이션 정책 세트에 해당해야 합니다.
Websphere Application Server에서는 신뢰 서비스를 대상으로 하는 SOAP 메시지를 보호할 수 있는 두 가지 방법을 제공합니다. 한 가지 방법은 정책 세트에 정의된 부트스트랩 정책을 사용하는 것입니다. 또 다른 방법은 웹 서비스 보안 API(WSS API)를 사용하는 것입니다. 프로그램 API 기반 WS-SecureConversation의 보안 컨텍스트 토큰을 획득하기 위해 애플리케이션에서 WSS API를 사용할 수도 있습니다.
보안 통신을 위해 새(두 번째) 요청을 생성하는 중 엔드포인트 서비스에 대한 클라이언트의 요청을 일시중단하고 신뢰 서비스에서 처리합니다. 두 번째 요청과 함께 리턴된 보안 컨텍스트 토큰은 서비스와의 통신 보안을 유지하는 키를 파생하는 데 사용됩니다.
상위 레벨 신뢰 서비스 기능
다음 목록은 현재 WebSphere Application Server에서 지원되는 WS-Trust 관련 기능을 포함합니다. 목록은 포괄적이지 않으며 상위 레벨 기능에만 중점을 둡니다.
- 신뢰 서비스 컴포넌트가 임베디드되며 WS-Trust 프로토콜 메시지를 처리하는 각 WebSphere Application Server에서 사용할 수 있습니다.
- 통신은 RequestSecurityToken(RST), RequestSecurityTokenCollection(RSTC),
RequestSecurityTokenResponse(RSTR) 및 RequestSecurityTokenResponseCollection(RSTRC)를 통해 수행됩니다. 참고: 외부 보안 토큰 서비스(신뢰 서비스)에 대한 RST 요청을 작성할 수 있습니다. 그러나 WS-SecureConversation에 필요한 보안 컨텍스트 토큰은 WebSphere Application Server 신뢰 서비스에서 제공하도록 제한됩니다.
- 각 WS-Trust 조작(발행, 취소, 유효성 검증 및 갱신)에 대한 보안 정책.
- 특정 URL의 토큰을 발행하는 사전 구성된 보안 컨텍스트 토큰 제공자.
- 토큰 제공자의 토큰별 매개변수의 스펙(예: 만기 시간).
- WS-SecureConversation에 대한 보안 컨텍스트 토큰
- 클러스터 및 비클러스터 환경 둘 다에서 보안 컨텍스트 토큰에 대한 캐싱 지원. 요청이 보안 요구사항을 충족하는 경우 요청 시 WebSphere Application Server가 보안 컨텍스트 토큰을 발행합니다. 그러나 WebSphere Application Server에서 제공하는 WS-SecureConversation만 WebSphere Application Server에서 발행된 보안 컨텍스트 토큰을 처리합니다.
- WebSphere Application Server 신뢰 서비스에서만 보안 컨텍스트 토큰을 지원합니다.
- 신뢰 서비스는 WS-Addressing의 제출 스펙(2004/08) 및 최종 스펙(2005/08) 버전을 모두 지원합니다.
- 신뢰 서비스는 WS-Security 및 WS-Addressing이 포함된 TrustServiceSecurityDefault라고 하는 기본 정책 세트를 사용하며 발행 및 갱신 조작을 위한 기본 보안을 제공합니다.
- 신뢰 서비스는 WS-Security 및 WS-Addressing이 포함된 TrustServiceSymmetricDefault라고 하는 두 번째 기본 정책 세트를 사용하며 취소 및 유효성 검증 조작을 위한 기본 보안을 제공합니다.
지원되지 않는 신뢰 서비스 기능
- 조정 및 교환 프로토콜이 지원되지 않습니다.
- 현재 다른 토큰 유형이 지원되지 않으며 보안 컨텍스트 토큰만 지원됩니다.
- WS-SecurityPolicySet의 Trust10 스펙이 지원되지 않습니다.
- 요청하지 않은 RequestSecurityTokenResponse(RSTR)가 지원되지 않습니다.
- 보안 통신을 설정하도록 요청 보안 토큰(RST) 요청을 외부 보안 토큰 서비스(STS)에 발행할 수 없으며 현재 임베디드된 신뢰 서비스만 지원됩니다.
- RST에 포함된 정책 요청은 허용되지 않습니다.
- 토큰을 수정하는 기능(수정 조작)은 지원되지 않습니다.
- 토큰 서비스에 액세스하기 위한 전용 외부 엔드포인트는 지원되지 않으며 현재 임베디드된 신뢰 서비스만 지원됩니다.
- 신뢰 서비스는 EncryptedKey를 포함하는 Entropy 요소를 지원하지 않습니다.
- 위임 및 전달이 지원되지 않습니다.
- OnBehalfOf 요소가 지원되지 않습니다.
- 키 교환 토큰(KET) 바인딩이 지원되지 않습니다.
신뢰 서비스 조작
특히 WebSphere Application Server는 WS-SecureConversation의 보안 컨텍스트 토큰을 발행할 수 있도록 엔드포인트 대신 신뢰 서비스 기능을 지원합니다. 토큰 발행 지원은 보안 컨텍스트 토큰으로만 제한됩니다. 또한 토큰을 발행, 취소, 유효성 검증 또는 갱신하기 위한 신뢰 서비스의 정책을 정의할 수 있는 신뢰 정책 관리가 있습니다.
- http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue
- http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Cancel
- http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Validate
- http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Renew
- http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/SCT
- http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/SCT/Cancel
- http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/SCT/Renew
보안 컨텍스트 토큰 발행 조작의 인바운드 RST는 Entropy 요소를 포함해야 합니다. Entropy 요소는 BinarySecret를 포함해야 합니다. 신뢰 서비스는 EncryptedKey를 포함하는 Entropy 요소를 지원하지 않습니다.
신뢰 서비스는 요청된 RSTR 조치만 지원합니다. 또한 WebSphere Application Server에서 토큰을 수정하는 기능은 지원하지 않습니다. 또한 지원되지 않는 신뢰 서비스 기능 절을 참조하십시오.
신뢰 정책 세트 관련 파일
발행 및 갱신을 위한 기본 신뢰 서비스 정책 세트는 TrustServiceSecurityDefault입니다. 각 서비스 엔드포인트 URL에 해당 정책 세트와 바인딩을 설정할 수 있습니다.