WebSphere® Application Server 버전 6은 HMAC-SHA1이라는 비밀 키 기반의 서명을 지원합니다. HMAC-SHA1을 사용할 경우 SOAP(Simple Object Access Protocol) 메시지에 2진 보안 토큰이 포함되지 않습니다. 이 경우, 키 저장소에 비밀 키를 지정할 때 사용되는 키 이름이 메시지의 키 정보에 포함된 것으로 간주됩니다.
키 위치 지정자는 공개 키 기반의 서명을 지원하므로, 유효성 검증 키는 수신되는 메시지의 <BinarySecurityToken> 요소로 X.509 인증에 임베드됩니다. 예를 들어, 키 위치 지정자는 컨텍스트에서 호출자 ID를 획득하고 응답을 암호화하는 데 사용되는 호출자의 공개 키를 검색할 수 있습니다.
이 절에서는 키 위치 지정자의 사용 시나리오를 설명합니다.
서명
서명 키의 이름은 웹 서비스 보안 구성에서 지정됩니다. 이 값은 키 위치 지정자로 전달되어 실제 키로 리턴됩니다. 해당되는 X.509 인증도 리턴될 수 있습니다.
검증
암호화
암호화 키의 이름은 웹 서비스 보안 구성에서 지정됩니다. 이 값은 키 위치 지정자로 전달되어 실제 키로 리턴됩니다. 서버측에서는 SignerCertKeyLocator를 사용하여, 요청 메시지의 X.509 인증으로부터 수신된 응답 메시지에서 암호화 키를 검색할 수 있습니다.
복호화
웹 서비스 보안 스펙에서는 키 이름 대신, 키 ID를 사용할 것을 권장합니다. 그러나 공개 키 ID의 계산 알고리즘은 IETF(Internet Engineering Task Force) RFC(Request for Comment) 3280에 정의되어 있는 반면, 비밀 키에 대한 합의된 알고리즘은 존재하지 않습니다. 따라서 현재의 웹 서비스 보안 구현은 공개 키 기반의 암호화가 수행될 때에만 공개 키 ID를 사용합니다. 그 외의 경우에는 순서 키 이름이 사용됩니다.
공개 키 기반의 암호화를 사용하면 수신되는 암호화 메시지에 키 ID 값이 임베드됩니다. 그러면 웹 서비스 보안 구현이 키 위치 지정자가 관리하는 모든 키를 검색하고 ID 값이 메시지의 ID 값과 일치하는 키를 사용하여 메시지를 복호화합니다.
비밀 키 기반의 암호화를 사용하면 수신되는 암호화 메시지에 키 이름 값이 임베드됩니다. 웹 서비스 보안 구현은 키 위치 지정자에게 메시지에 포함된 이름과 일치하는 이름이 있는 키를 요청하여 해당 키로 메시지를 복호화합니다.