키 위치 지정자

키 위치 지정자 또는 com.ibm.wsspi.wssecurity.keyinfo.KeyLocator 클래스는 디지털 서명 및 암호화에 사용되는 키를 검색하는 추상화된 메커니즘입니다.
원하는 구현에 따라, 다음과 같은 인프라를 사용하여 키를 검색할 수 있습니다.
키 위치 지정자는 몇 가지 유형의 단서를 사용하여 키를 검색합니다. 지원되는 단서 유형은 다음과 같습니다.

WebSphere® Application Server 버전 6은 HMAC-SHA1이라는 비밀 키 기반의 서명을 지원합니다. HMAC-SHA1을 사용할 경우 SOAP(Simple Object Access Protocol) 메시지에 2진 보안 토큰이 포함되지 않습니다. 이 경우, 키 저장소에 비밀 키를 지정할 때 사용되는 키 이름이 메시지의 키 정보에 포함된 것으로 간주됩니다.

키 위치 지정자는 공개 키 기반의 서명을 지원하므로, 유효성 검증 키는 수신되는 메시지의 <BinarySecurityToken> 요소로 X.509 인증에 임베드됩니다. 예를 들어, 키 위치 지정자는 컨텍스트에서 호출자 ID를 획득하고 응답을 암호화하는 데 사용되는 호출자의 공개 키를 검색할 수 있습니다.

이 절에서는 키 위치 지정자의 사용 시나리오를 설명합니다.

서명

서명 키의 이름은 웹 서비스 보안 구성에서 지정됩니다. 이 값은 키 위치 지정자로 전달되어 실제 키로 리턴됩니다. 해당되는 X.509 인증도 리턴될 수 있습니다.

검증

WebSphere Application Server 버전 6은 기본적으로 다음과 같은 키 위치 지정자 유형을 지원합니다.
KeyStoreKeyLocator
키 저장소를 사용하여 디지털 서명 및 검증에 사용할 키 또는 암호화 및 복호화에 사용되는 키를 검색합니다.
X509CertKeyLocator
메시지에 포함된 X.509 인증을 사용하여 검증 또는 복호화에 사용할 키를 검색합니다.
SignerCertKeyLocator
요청 메시지에 포함된 X.509 인증을 사용하여 암호화에 사용할 키를 응답 메시지에서 검색합니다.

암호화

암호화 키의 이름은 웹 서비스 보안 구성에서 지정됩니다. 이 값은 키 위치 지정자로 전달되어 실제 키로 리턴됩니다. 서버측에서는 SignerCertKeyLocator를 사용하여, 요청 메시지의 X.509 인증으로부터 수신된 응답 메시지에서 암호화 키를 검색할 수 있습니다.

복호화

웹 서비스 보안 스펙에서는 키 이름 대신, 키 ID를 사용할 것을 권장합니다. 그러나 공개 키 ID의 계산 알고리즘은 IETF(Internet Engineering Task Force) RFC(Request for Comment) 3280에 정의되어 있는 반면, 비밀 키에 대한 합의된 알고리즘은 존재하지 않습니다. 따라서 현재의 웹 서비스 보안 구현은 공개 키 기반의 암호화가 수행될 때에만 공개 키 ID를 사용합니다. 그 외의 경우에는 순서 키 이름이 사용됩니다.

공개 키 기반의 암호화를 사용하면 수신되는 암호화 메시지에 키 ID 값이 임베드됩니다. 그러면 웹 서비스 보안 구현이 키 위치 지정자가 관리하는 모든 키를 검색하고 ID 값이 메시지의 ID 값과 일치하는 키를 사용하여 메시지를 복호화합니다.

비밀 키 기반의 암호화를 사용하면 수신되는 암호화 메시지에 키 이름 값이 임베드됩니다. 웹 서비스 보안 구현은 키 위치 지정자에게 메시지에 포함된 이름과 일치하는 이름이 있는 키를 요청하여 해당 키로 메시지를 복호화합니다.


피드백