웹 서비스 보안 통신
WS-SecureConversation(Web Services Secure Conversation)은 메시지 교환을 장기 실행하고 대칭 암호화 알고리즘을 활용하기 위한 보안 세션을 제공합니다.
WS-SecureConversation은 세션 기반 보안을 제공합니다. 메시지를 서명하고 암호화하는 데 대칭 암호화를 사용할 수 있으므로 세션 기반 보안은 긴 메시지 교환을 최적화합니다. 일반적으로 대칭 암호화 알고리즘은 비대칭 암호화보다 CPU에 덜 집중적입니다. 대칭 암호화 알고리즘은 비대칭 암호화 알고리즘과 비교할 때 더 나은 성능 및 처리량을 제공해야 합니다.
대칭 암호화 알고리즘은 WS-ReliableMessaging(Web Services Reliable Messaging)과 같은 기타 세션 기본 프로토콜 및 교환 패턴을 보안하는 도구도 제공합니다.
보안 통신의 보안 컨텍스트 토큰
웹 서비스 보안 스펙은 웹 서비스 보안을 제공하는 기본 메커니즘을 정의합니다. 웹 서비스 신뢰(WS-Trust) 스펙은 두 파티 사이의 신뢰 관계를 설정하고 중개하는 방법을 제공하는 웹 서비스 보안에 대한 확장을 정의합니다. WS-Trust 프로토콜은 보안 토큰 서비스로 전송할 수 있는 요청의 구문과 보안 토큰 서비스의 해당 또는 후속 응답을 정의합니다. WebSphere® Application Server와 함께 제공되는 보안 토큰을 신뢰 서비스라고 합니다.
WS-Trust 프로토콜을 사용하면 파티는 신뢰 서비스가 보안 컨텍스트 토큰(SCT)을 발행하도록 요청할 수 있습니다. 그러면 이 토큰은 보안 통신(WS-SecureConversation)을 설정하는 데 사용할 수 있습니다. 보안 토큰에 대한 요청은 애플리케이션 엔드포인트로 전송됩니다. 요청은 WebSphere Application Server에서 인터셉트하여 신뢰 서비스로 라우트됩니다.
정책은 모든 신뢰 발행 조작, 갱신 조작, 유효성 검증 조작 또는 취소 조작에 대한 기본값으로 정의될 수 있습니다. 또한 정책은 특정 URL 및 조작 쌍에 첨부될 수 있습니다.
WS-SecureConversation은 보안 컨텍스트 설정 및 공유와 세션 키 파생을 허용하는 확장을 정의하여 이로 인해 컨텍스트가 설정되며 잠재적으로 보다 효율적인 키 또는 새 키 자료와 교환될 수 있습니다. WS-Trust 및 WS-SecureConversation에 대한 WebSphere Application Server 지원은 보안 통신에 대한 보안 컨텍스트 토큰 발행, 갱신, 유효성 검증 및 취소에 중점을 둡니다.
정책 세트 및 부트스트랩 정책
이러한 기능 설명 외에도 OASIS WS-SecureConversation 초안 제출은 초기자와 SOAP 메시지를 받는 사람 사이에 보안 세션을 설정하는 여러 가지 방법에 대해 설명합니다.
부트스트랩 보안 정책은 토큰 발행 WS-Trust 또는 WS-SecureConversation 프로토콜 메시지를 사용하여 신뢰 서비스에서 보안 통신에 대한 보안 토큰을 확보하는 시작하는 파티의 보안 정책입니다. 정책 세트 구성은 애플리케이션 서비스와의 통신을 위한 보안 정책과 신뢰 서비스와의 통신을 위한 부트스트랩 정책으로 구성됩니다.
보안 통신 부트스트랩 정책이 포함된 정책 구성 공유(WS-Policy 사용)가 실패하는 경우 부트스트랩 요청 및 응답 정책이 다르기 때문일 수 있습니다. 요청 및 응답 둘 모두에 대해 단일 정책이 공개되므로 요청 및 응답 부트스트랩 메시지 모두에 대해 부트스트랩 정책의 메시지 파트 보호가 동일해야 합니다.
웹 서비스 보안 통신에 지원되는 기능
- 시작하는 파티와 받는 사람 파티 사이에 설정된 보안 컨텍스트 토큰(SCT).
- 발행 토큰, 갱신 토큰 및 취소 토큰과 같은 보안 컨텍스트 토큰(SCT)에서 지원되는 WS-SecureConversation 조작. 유효성 검증 토큰은 WS-Trust 프로토콜을 사용하여 지원됩니다.
- 파생된 키(명시적 및 암시적)
웹 서비스 보안 통신에 지원되지 않는 기능
다음 목록은 WebSphere Application Server에서 지원되지 않는 일부 주요 기능을 강조표시합니다. 목록은 포괄적이지 않습니다.
- WS-SecureConversation은 외부 보안 토큰 서비스에서 작성된 보안 컨텍스트 토큰을 통해 보안 컨텍스트 설정을 지원하지 않습니다(신뢰 컴포넌트). 그러나 WebSphere Application Server는 내부 보안 토큰 서비스를 지원합니다.
- WebSphere Application Server는 통신 파티 중 하나에서 작성되어 메시지와 함께 전파된 보안 컨텍스트 토큰을 통해 보안 컨텍스트 설정을 지원하지 않습니다.
- WebSphere Application Server는 보안 컨텍스트 토큰 수정을 지원하지 않습니다.
- WebSphere Application Server는 보안 컨텍스트 토큰을 작성하는 클라이언트를 지원하지 않습니다.
- WebSphere Application Server는 교환 및 조정을 위한 지원을 제공하지 않습니다.
보안 통신 시나리오
- WS-SecureConversation
이 시나리오는 받는 사람과 함께 보안 컨텍스트 토큰을 설정하고 메시지를 서명 및 암호화하기 위해 파생된 키를 사용하는 데 기초를 두고 있습니다. 세션 기반 보안을 사용하여 보안 컨텍스트를 설정하는 방법에 대해 설명합니다. 세션 기반 보안은 초기자의 플로우가 받는 사람과 함께 WS-SecureConversation 프로토콜을 사용하여 보안 컨텍스트 토큰을 설정하는 위치입니다.
- WS-ReliableMessaging이
있는 WS-SecureConversation
이 시나리오는 웹 서비스 신뢰 메시징(WS-ReliableMessaging), WS-SecureConversation 및 WS-Trust의 컴포지션 시나리오에 필요한 기능을 포함하는 컴포지트 시나리오입니다. 이 시나리오는 WS-ReliableMessaging과 함께 WS-SecureConversation을 사용하는 방법에 대해 설명하며, 이 플로우는 보안 통신에 유망하다는 점을 제외하고는 이전 시나리오와 유사합니다. 그러나 기본적인 차이점은 WS-ReliableMessaging 시퀀스는 보안 컨텍스트 토큰으로 보안되며 보안 컨텍스트 토큰으로 WS-ReliableMessaging 시퀀스의 범위가 지정된다는 점입니다. 이 설명은 전체 플로우에서 보안 컨텍스트 토큰을 사용 중인 메시지 교환에 중점을 두고 있습니다.