Oracle OpenSSO 보안 토큰 서비스(OpenSSO STS)는 웹 서비스 클라이언트와 웹 서비스 공급자 간에 트러스트 관계를 구축한 다음 양자 간의 트러스트를 중개합니다. 웹 서비스는 여러 클라이언트와 통신할 필요 없이 하나의 entity?OpenSSO STS?에서 발행된 토큰을 신뢰할 수 있습니다. 이를 통해 OpenSSO STS는 트러스트 포인트 관리 오버헤드를 크게 줄입니다.
다음 섹션에는 보안 토큰 필요성을 확인하고 이러한 필요성을 충족하는 보안 토큰을 생성 및 유효성 검사하도록 보안 토큰 서비스를 구성하기 위한 지시사항이 제공됩니다.
새 웹 서비스 공급자 보안 에이전트 프로필을 추가하는 경우 웹 서비스 공급자는 OpenSSO STS에 자동으로 등록됩니다. 자세한 내용은 다음 섹션을 참조하십시오.
웹 서비스 공급자를 OpenSSO STS에 등록하면 웹 서비스 공급자가 사용할 수 있는 웹 클라이언트 보안 토큰을 생성하도록 OpenSSO STS를 구성할 수 있습니다.
웹 클라이언트 보안 토큰을 생성하도록 보안 토큰 서비스를 구성하려면 웹 서비스 공급자에게 필요한 보안 토큰의 종류를 확인해야 합니다. OpenSSO STS는 Liberty Alliance 프로젝트 보안 토큰 및 웹 서비스 상호 운영성 기본 보안 프로필 보안 토큰을 지원합니다.
Liberty Alliance 프로젝트 토큰, HTTP 클라이언트 또는 브라우저를 사용하여 보안을 사용 설정하는 경우 웹 서비스 클라이언트를 통해 웹 서비스 공급자로 액세스 요청을 보냅니다. 웹 서비스 보안 에이전트는 요청을 OpenSSO STS 인증 서비스로 리디렉션합니다. Liberty Alliance 프로젝트 보안 메커니즘이 존재하는 경우 HTTP 보안 에이전트는 리디렉션을 발행합니다. WS-IBS 보안이 사용되는 경우 SOAP 보안 에이전트가 리디렉션을 발행합니다.
OpenSSO STS 인증 서비스는 웹 서비스 공급자가 등록한 보안 메커니즘을 확인하고 적절한 보안 토큰을 검색합니다. 인증에 성공하면 웹 서비스 클라이언트가 SOAP 메시지 본문을 제공하고 웹 서비스측의 SOAP 보안 에이전트는 보안 헤더와 토큰을 삽입합니다. 그런 다음 요청이 WSP에 전송되기 전에 메시지가 서명됩니다.
웹 서비스 공급자 자체에 요청을 전달하기 전에 웹 서비스 공급자측의 SOAP 보안 에이전트가 SOAP 요청의 서명 및 보안 토큰을 확인합니다. 그런 다음 웹 서비스 공급자는 이를 처리하고 SOAP 보안 에이전트에서 서명한 응답을 웹 서비스 클라이언트에 다시 반환합니다. 그런 다음 응답을 웹 서비스 클라이언트로 전달하기 전에 웹 서비스 클라이언트측의 SOAP 보안 에이전트가 서명을 확인합니다.
다음 표는 Liberty Alliance 프로젝트 트랜잭션에 지원되는 토큰 목록과 간단한 설명을 제공합니다.
표 3–1 요청자 토큰 - Liberty Alliance 프로젝트
다음 표는 WS-IBS 트랜잭션에 지원되는 토큰 목록과 간단한 설명을 제공합니다.
표 3–2 요청자 토큰 - WS-IBS
보안 토큰 생성 매트릭스를 사용하면 웹 서비스 공급자에 필요한 웹 서비스 클라이언트 보안 토큰을 생성하도록 OpenSSO STS를 구성하는 데 도움이 됩니다. 먼저 OpenSSO STS 출력 토큰이라는 마지막 열에서 웹 서비스 공급자 토큰 요구 사항을 충족하는 설명을 찾습니다. 그런 다음 보안 토큰 서비스를 구성할 때 동일한 행의 매개 변수 값을 사용합니다. "토큰 생성 매트릭스 범례"는 테이블 제목 및 사용 가능한 옵션에 대한 정보를 제공합니다. 자세한 구성 지시사항은 5.2.3절, "보안 토큰 서비스를 구성하는 방법"을 참조하십시오. 웹 서비스 보안 및 관련 용어에 대한 일반 정보는 다음을 참조하십시오.
http://www.oracle.com/technology/tech/standards/pdf/security.pdf
http://download.oracle.com/docs/cd/E15523_01/web.1111/b32511/intro_security.htm#CDDHHGEE
보안 토큰 생성 매트릭스에는 자주 사용되는 보안 토큰 서비스 매개 변수 설정과 이러한 설정을 기반으로 하여 OpenSSO STS가 생성하는 보안 토큰 유형이 요약되어 있습니다.
표 3–3 보안 토큰 생성 매트릭스
행 |
메시지 수준 보안 바인딩 |
웹 서비스 클라이언트 토큰 |
KeyType |
OnBehalfOf Token |
사용 키 |
OpenSSO STS 출력 토큰 |
1 |
비대칭 |
X509 |
Bearer |
예 |
아니요 |
SAML Bearer, 증명 키 없음 |
2 |
비대칭 |
사용자 이름 |
Bearer |
예 |
아니요 |
SAML Bearer, 증명 키 없음 |
3 |
비대칭 |
X509 |
Bearer |
아니요 |
아니요 |
SAML Bearer, 증명 키 없음 |
4 |
비대칭 |
사용자 이름 |
Bearer |
아니요 |
아니요 |
SAML Bearer, 증명 키 없음 |
5 |
비대칭 |
X509 |
대칭 |
예 |
아니요 |
SAML Holder-of-Key, 대칭 증명 키 |
6 |
비대칭 |
사용자 이름 |
대칭 |
예 |
아니요 |
SAML Holder-of-Key, 대칭 증명 키 |
7 |
비대칭 |
X509 |
대칭 |
아니요 |
아니요 |
SAML Holder-of-Key, 대칭 |
8 |
비대칭 |
사용자 이름 |
대칭 |
아니요 |
아니요 |
SAML Holder-of-Key, 대칭 증명 키 |
9 |
비대칭 |
X509 |
비대칭 |
아니요 |
웹 서비스 클라이언트 공개 키 |
SAML Holder-of-Key, 비대칭 증명 키 |
10 |
비대칭 |
X509 |
SAML sender-vouches에 대한 Oracle 독점 |
예 |
아니요 |
SAML sender-vouches, 증명 키 없음 |
11 |
비대칭 |
사용자 이름 |
SAML sender-vouches에 대한 Oracle 독점 |
예 |
아니요 |
SAML sender-vouches, 증명 키 없음 |
12 |
비대칭 |
X509 |
SAML sender-vouches에 대한 Oracle 독점 |
아니요 |
아니요 |
오류 |
13 |
비대칭 |
사용자 이름 |
SAML sender-vouches에 대한 Oracle 독점 |
아니요 |
아니요 |
오류 |
14 |
전송 |
사용자 이름 |
Bearer |
예 |
아니요 |
SAML Bearer, 증명 키 없음 |
15 |
전송 |
사용자 이름 |
Bearer |
아니요 |
아니요 |
SAML Bearer, 증명 키 없음 |
16 |
전송 |
사용자 이름 |
대칭 |
예 |
아니요 |
SAML Holder-of-Key, 대칭 |
17 |
전송 |
사용자 이름 |
대칭 |
아니요 |
아니요 |
SAML Holder-of-Key, 대칭 증명 키 |
18 |
전송 |
사용자 이름 |
SAML sender-vouches에 대한 Oracle 독점 |
예 |
아니요 |
SAML sender-vouches, 증명 키 없음 |
19 |
전송 |
사용자 이름 |
SAML sender-vouches에 대한 Oracle 독점 |
아니요 |
아니요 |
오류 |
20 |
비대칭 |
사용자 이름 |
비대칭 |
아니요 |
웹 서비스 클라이언트 공개 키 |
오류 |
21 |
전송 |
사용자 이름 |
비대칭 |
아니요 |
웹 서비스 클라이언트 공개 키 |
오류 |
22 |
비대칭 |
X509 |
비대칭 |
예 |
아니요 |
오류 |
23 |
비대칭 |
사용자 이름 |
비대칭 |
예 |
아니요 |
오류 |
24 |
전송 |
사용자 이름 |
비대칭 |
예 |
아니요 |
오류 |
25 |
비대칭 |
X509 |
비대칭 |
아니요 |
아니요 |
SAML Holder-of-Key, 비대칭 증명 키 |
26 |
비대칭 |
X509 |
아니요 |
아니요 |
아니요 |
SAML Holder-of-Key, 비대칭 증명 키 |
27 |
비대칭 |
사용자 이름 |
아니요 |
아니요 |
아니요 |
SAML Holder-of-Key, 대칭 증명 키 |
28 |
전송 |
사용자 이름 |
아니요 |
아니요 |
아니요 |
SAML Holder-of-Key, 대칭 증명 키 |