XPath 표현식을 사용하여 생성기 보안 제한조건에 무결성에 필요한 임시값 추가

시작하기 전에

다음 정보에서는 서명할 메시지 파트를 지정하기 위해 XPath 표현식을 사용하는 것과 키워드를 사용하는 것 사이의 차이점에 대해 설명합니다.
XPath 표현식
XPath 표현식을 사용하여 메시지 파트를 지정하십시오. XPath는 XML 문서의 파트를 가리키는 데 사용되는 언어입니다. 다음 웹 사이트에서 XPath 구문에 대한 정보를 찾을 수 있습니다. http://www.w3.org/TR/1999/REC-xpath-19991116
키워드
사전 정의된 키워드를 사용하여 메시지 내부의 요소만 지정합니다.

이 태스크 정보

무결성의 임시값은 특정 요소에 임시값이 임베드되며 요소가 서명되도록 지정하는 데 사용됩니다. 임시값은 무작위로 생성되는 암호화 토큰입니다. 메시지의 특정 파트에 임시값을 추가하면 생성된 임시값이 고유하기 때문에 도난 및 반복 공격을 예방할 수 있습니다. 예를 들어, 임시값이 없으면 HTTP와 같은 비보안 전송을 사용하여 한 시스템에서 다른 시스템으로 사용자 이름 토큰을 전달할 때 토큰이 인터셉트되거나 반복 공격에 사용될 수 있습니다. XML 디지털 서명 및 XML 암호화를 사용하는 경우에도 사용자 이름 토큰을 도난당할 수 있습니다. 그러나 임시값을 추가함으로써 이러한 상황을 예방할 수 있습니다.

요청 생성기 또는 응답 생성기에 적용할 생성기 보안 제한조건을 구성하는 경우 XPath 표현식을 사용하여 무결성에 필요한 임시값을 지정하려면 다음 단계를 완료하십시오. 요청 생성기가 클라이언트에 적합하게 구성되고 응답 생성기가 서버에 적합하게 구성됩니다. 다음 단계 중 2단계에서 클라이언트 측 확장기능을 구성하거나 3단계에서 서버 측 확장기능을 구성해야 합니다.

프로시저

  1. 창 > 퍼스펙티브 열기 > J2EE를 클릭하십시오.
  2. 옵션: 프로젝트 탐색기 창을 사용하여 클라이언트 측 확장기능을 찾으십시오. 클라이언트 배치 디스크립터 창이 표시됩니다. 이 웹 서비스에는 구성해야 하는 확장기능이 포함되어 있습니다. 클라이언트 측 확장기능을 찾으려면 다음 단계를 완료하십시오.
    1. 웹 서비스 > 클라이언트 섹션을 펼친 후 웹 서비스의 이름을 두 번 클릭하십시오.
    2. WS 확장기능 탭을 클릭하고 요청 생성기 구성 절을 펼치십시오.
  3. 옵션: 프로젝트 탐색기 창을 사용하여 서버 측 확장기능을 찾으십시오. 웹 서비스 편집기 창이 표시됩니다. 이 웹 서비스에는 구성해야 하는 확장기능이 포함되어 있습니다. 서버 측 확장기능을 찾으려면 다음 단계를 완료하십시오.
    1. 웹 서비스 > 서비스 섹션을 펼친 후 웹 서비스의 이름을 두 번 클릭하십시오.
    2. 확장기능 탭을 클릭하고 응답 생성기 서비스 구성 세부사항 절을 펼치십시오.
  4. 무결성 절을 펼치십시오. 기밀성이 암호화를 참조하는 반면 무결성은 디지털 서명을 참조합니다. 무결성은 네트워크에서 데이터를 전송할 때 데이터가 수정될 위험성을 감소시킵니다. SOAP(Simple Object Access Protocol) 메시지의 디지털 서명에 대한 자세한 정보는 XML 디지털 서명을 참조하십시오.
  5. 추가를 클릭하여 무결성에 필요한 임시값을 지정하십시오. 무결성 대화 상자 창이 표시됩니다. 다음 단계를 완료하여 구성을 지정하십시오.
    1. 무결성 이름 필드에 무결성 요소의 이름을 지정하십시오.
    2. 순서 필드에 순서를 지정하십시오. 값(양의 정수여야 함)은 디지털 서명이 처리되는 순서를 지정합니다. 순서 값 1은 서명이 첫 번째로 완료되도록 지정합니다.
  6. 무결성 대화 상자 창의 임시값 절에서 추가를 클릭하십시오. 임시값 통용어 및 메시지 파트를 지정하려면 다음 단계를 완료하십시오.
    1. 임시값 절에서 임시값 통용어를 선택하십시오. http://www.w3.org/TR/1999/REC-xpath-19991116 통용어는 XPath 표현식을 사용하여 임시값이 추가되고 서명된 메시지 파트를 지정합니다.
    2. 임시값 키워드 필드에서 XPath 표현식을 사용하여 임시값이 추가되고 서명된 메시지 파트를 선택하십시오. 예를 들어, 본문에 임시값이 추가되고 요소가 서명되도록 지정하려면 임시값 키워드에 다음 표현식을 지정해야 합니다.
      /*[namespace-uri()='http://schemas.xmlsoap.org/soap/envelope/' and local-name()='Envelope']/*
      [namespace-uri()='http://schemas.xmlsoap.org/soap/envelope/' and local-name()='Body']
  7. 메시지 파트 절에서 추가를 클릭하고 메시지 파트 통용어 필드에서 http://www.w3.org/TR/1999/REC-xpath-19991116을 선택하십시오.
  8. 메시지 파트 절에서 메시지 파트 키워드를 선택하십시오.
    중요사항: 무결성에 임시값을 지정하려면 메시지 파트 절에 최소한 하나의 메시지 파트를 정의해야 합니다. 임시값의 상위 요소뿐 아니라 이 메시지 파트도 서명됩니다.
  9. 확인을 클릭하여 구성 변경사항을 저장하십시오.
    참고: 이용자와 생성기의 이 구성이 일치해야 합니다.
    임시값 외에도 시간소인 요소에 서명하도록 지정할 수 있습니다. 자세한 정보는 다음 문서를 참조하십시오.

다음에 수행할 작업

메시지 파트에 임시값이 추가되고 서명되도록 지정한 후 메시지를 디지털로 서명하는 데 사용되는 메소드를 지정해야 합니다. 자세한 정보는 어셈블리 도구를 사용하여 생성기 바인딩에 필요한 서명 정보 구성을 참조하십시오.

피드백