XML 디지털 서명

XML 서명 구문 및 처리(XML 서명)는 디지털 컨텐츠의 디지털 서명을 검증 및 서명하기 위한 XML 구문 및 처리 규칙을 정의하는 스펙입니다. 스펙은 W3C(World Wide Web Consortium) 및 IETF(Internet Engineering Task Force)를 사용하여 같이 개발되었습니다.

중요사항: 버전 5.x와 버전 6 이상 애플리케이션 간에는 중요한 차이가 있습니다. 정보는 WebSphere® Application Server 6.0.x 이상 버전과 함께 사용되는 버전 5.x 애플리케이션만을 지원합니다. 버전 6.0.x 이상의 애플리케이션에는 이 정보가 적용되지 않습니다.

XML 서명은 새로운 암호 알고리즘을 도입하지 않습니다. WebSphere Application Server는 RSA, HMAC 및 SHA1과 같은 기존 알고리즘을 사용하는 XML 서명을 사용합니다. XML 서명은 키 정보를 설명하는 많은 메소드를 정의하고 새 메소드 정의를 사용합니다.

XML 정규화(c14n)는 XML 서명을 사용하는 경우에 필요하기도 합니다. 정보는 직렬화된 XML 문서 내에서 다양한 방식으로 표시 가능합니다. 예를 들어, 해당 옥텟 표시가 다르더라도 다음 예는 동일합니다.
  • <person first="John" last="Smith"/>
  • <person last="Smith" first="John"></person>

C14n은 XML 정보를 정규화하는 데 사용되는 프로세스입니다. 정규화되는 정보는 이 알고리즘에 종속되기 때문에 적절한 c14n 알고리즘을 선택하십시오. 주요 c14n 알고리즘 중 하나인 독점 XML 정규화는 문자열 인코딩 설계, 속성 순서, 네임스페이스 선언 등을 정규화합니다. 알고리즘은 태그 밖의 공백, 네임스페이스 접두부 또는 데이터 유형 표시를 정규화하지 않습니다.

Web Services Security-Core 스펙의 XML 서명

WSS-Core(Web Services Security-Core) 스펙은 SOAP 메시지가 XML 서명과 상호 운용하는 표준 방식을 정의합니다. 거의 대부분의 XML 서명 기능을 WSS-Core에서 사용할 수 있으며 엔벨로프된 서명 및 엔벨로프하는 서명은 제외됩니다. 그렇지만 WSS-Core에는 일부 권장사항(예: c14n 알고리즘에 대한 독점 정규화) 및 SecurityTokenReferenceKeyIdentifier와 같은 일부 추가 기능이 있습니다. KeyIdentifier는 X.509 인증의 SubjectKeyIdentifier 필드 값입니다. KeyIdentifier에 대한 자세한 정보는 OASIS Web Services Security X.509 Certificate Token Profile 문서에서 "Reference to a Subject Key Identifier"를 참조하십시오.

SOAP 메시지에 XML 서명을 포함시키면 다음을 수행할 수 있습니다.
메시지 무결성
메시지 수신자는 메시지의 파트가 키로 서명된 이후에 해당 파트가 공격자 또는 사고로 인해 수정되지 않은 것을 확인할 수 있습니다.
인증
올바른 서명이 소유 증명이라고 가정할 수 있습니다. 메시지에 인증 기관이 발행한 디지털 인증서가 있고 메시지에 인증서의 공용 키를 사용하여 성공적으로 유효성 검증된 서명이 있으면 서명자가 해당하는 개인용 키를 가지고 있다는 증거입니다. 수신자는 인증서의 신뢰성을 확인하여 서명자를 인증할 수 있습니다.

현재 구현에 있는 XML 서명

XML 서명은 웹 서비스 보안에서 지원되지만 API(Application Programming Interface)는 사용할 수 없습니다. 현재 구현에는 다수의 하드 코딩된 동작이 있으며 몇 개의 사용자 작동 가능한 구성 항목도 있습니다. 디지털 서명에 대한 클라이언트를 구성하려면, 응답 디지털 서명 검증을 위한 클라이언트 구성: 메시지 파트 확인을 참조하십시오. 디지털 서명에 대한 서버를 구성하려면, 요청 디지털 서명 검증을 위한 서버 구성: 메시지 파트 확인을 참조하십시오.

보안 고려사항:

재생 공격에서, 공격자는 행을 도청하고, 서명된 메시지를 수신한 다음 메시지를 수신자에게 리턴합니다. 이 경우, 수신자는 동일한 메시지를 두 번 받게 되고 서명이 유효한 경우에는 둘 모두를 처리할 수 있습니다. 메시지가 대금 청구용인 경우 두 메시지를 모두 처리하면 수신인에게 손해를 입힐 수 있습니다. 메시지 재생에 서명된 생성 시간소인과 서명된 만기 시간이 있는 경우에는 공격이 줄어듭니다. 그러나, 이것이 완전한 솔루션은 아닙니다. 이러한 공격을 막으려면 메시지에는 난스(nonce) 값이 있어야 하며 수신자는 처리된 난스가 들어 있는 메시지를 거부해야 합니다. 현재 구현은 메시지에서 난스(nonce)를 생성하고 확인하기 위한 표준 방법을 제공하지 않습니다. WebSphere Application Server, 버전 5.1에서 난스(nonce)는 사용자 이름 토큰에서만 지원됩니다. 사용자 이름 토큰 프로파일에는 사용자 이름 토큰을 위한 구체적인 사용법 시나리오가 들어 있습니다. 애플리케이션은 일련 번호와 같은 난스를 처리하고 이들을 서명해야 합니다.


주제 유형을 표시하는 아이콘 개념 주제



시간소인 아이콘 마지막 업데이트 날짜: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cwbs_digsign
파일 이름:cwbs_digsign.html