웹 서비스에 XML 디지털 서명 추가

웹 서비스에 디지털 서명을 추가하여 웹 서비스의 무결성을 보장하고 정보가 무단으로 변경되지 않도록 보호할 수 있습니다.

시작하기 전에

전제조건: 웹 서비스가 포함된 프로젝트를 작성하거나 가져오십시오.

이 태스크 정보

XML 디지털 서명을 사용하여 클라이언트와 서버를 둘 다 보호할 수 있습니다. XML 디지털 서명을 클라이언트와 서버 간에 전송하려면 클라이언트와 서버에 대한 서명 정보를 둘 다 설정해야 합니다. 웹 서비스에 XML 디지털 서명을 추가하려면 다음을 수행하십시오.

프로시저

  1. Java™ EE 퍼스펙티브로 변경하십시오.
    1. > 퍼스펙티브 열기 > 기타를 클릭하십시오.
    2. 목록에서 Java EE를 선택하고 확인을 클릭하십시오.
  2. 프로젝트 탐색기 보기에서 웹 서비스 탭을 펼치십시오.
  3. 서비스 탭을 펼치십시오.
  4. 서비스를 마우스 오른쪽 단추로 클릭하고 보안 웹 서비스 > 디지털 서명 추가를 선택하십시오.
  5. 무결성 메시지 파트 절에는 기본적으로 1개의 메시지 파트가 추가되어 있습니다. 다이얼렉트 또는 키 단어를 수정하여 기존의 기본값을 수정할 수 있습니다. 메시지 파트를 더 추가할 수도 있습니다. 사용 가능한 메시지 파트 설정 메뉴가 있습니다. 이 메뉴에서는 기본 설정을 사용하는 것이 좋습니다. 메시지 파트 설정에 대한 자세한 정보를 보려면 메시지 파트 설정
  6. 나머지 설정의 기본값을 승인하고 토큰 이용자 페이지로 이동하려면 다음을 클릭하십시오.
    참고:

    사용 가능한 다른 메뉴에서는 선호하는 서명 메소드 알고리즘을 선택할 수 있습니다. 서명 메소드는 바인딩 파일에 있는 표준화된 <SignedInfo> 요소를 <SignatureValue> 요소로 변환하는 데 사용되는 알고리즘입니다. 이용자, 즉 요청 이용자나 응답 이용자 구성에 지정하는 알고리즘은 생성기, 즉 요청 생성기나 응답 생성기 구성에 지정된 알고리즘과 일치해야 합니다.

    WebSphere® Application Server는 다음과 같은 사전 구성 알고리즘을 지원합니다.
    • http://www.w3.org/2000/09/xmldsig#rsa-sha1
    • http://www.w3.org/2000/09/xmldsig#hmac-sha1
    • http://www.w3.org/2000/09/xmldsig#dsa-sha1
  7. 드롭 다운 목록에서, 사용할 토큰 이용자의 유형을 선택하십시오.
  8. 다음 참조를 가진 인증만 신뢰를 선택하십시오. 모든 인증 신뢰 옵션을 선택하면 XML 디지털 서명 인증을 갖는 모든 클라이언트가 서버에 액세스할 수 있습니다. 이 인증 참조에 보호 설정을 더 추가하지 않으면 서버 보안은 여전히 위험에 노출됩니다.
  9. 인증 정보 그룹에 필수 정보를 입력하십시오.
    1. 키 저장소 경로 필드에서 디지털 서명 키를 찾아보십시오.
    2. 키 저장소 storepass 필드에 선택한 키에 대한 비밀번호를 입력하십시오.
  10. 특정한 X509 인증을 지정하려면 인증 사용 선택란을 선택하십시오. 이 선택란을 선택하지 않으면 종류와 관계 없이 모든 X509 인증을 사용하는 클라이언트 요청이 승인됩니다.
  11. 나머지 설정의 기본값을 승인하고 확인을 선택하여 서버측 응답 생성기 디지털 서명 창으로 이동하십시오.
  12. 무결성 메시지 파트 절에는 기본적으로 1개의 메시지 파트가 추가되어 있습니다. 다이얼렉트 또는 키 단어를 수정하여 기존의 기본값을 수정할 수 있습니다. 메시지 파트를 더 추가할 수도 있습니다.
  13. 나머지 설정의 기본값을 승인하고 토큰 생성기 페이지로 이동하려면 다음을 클릭하십시오.
  14. 드롭 다운 목록에서, 토큰 생성기의 유형을 선택하십시오.
  15. 키 저장소 정보 절에 필수 정보를 입력하십시오.
    1. 키 저장소 경로 필드에서 디지털 서명 키의 경로를 직접 입력하거나 해당 경로를 찾아보십시오.
    2. 키 저장소 비밀번호 필드에 선택한 서명 키에 대한 비밀번호를 입력하십시오.
    키 사용 선택란은 XML 디지털 서명에 추가 보안을 추가하는 데 사용됩니다. 이 옵션을 선택하면, 나중에 이 웹 서비스에 추가 보호를 설정할 때 사용할 수 있도록 XML 디지털 서명의 별명과 비밀번호를 선택할 수 있습니다. 특정한 X509 인증을 지정하려면 인증 사용 선택란을 선택하십시오.
  16. 완료를 클릭하십시오. 이제 XML 디지털 서명으로 서버가 보호됩니다.
  17. 클라이언트에서 서버에 액세스할 수 있으려면 다음 방법 중 하나를 사용하여 클라이언트에 대한 XML 디지털 서명을 작성해야 합니다.
    • XML 디지털 서명 마법사를 사용하여 디지털 서명을 작성하려면 다음을 수행하십시오.
      1. 클라이언트를 마우스 오른쪽 단추로 클릭하고 보안 웹 서비스 클라이언트 > XML 디지털 서명 추가를 선택하십시오.
      2. 서버 보안 설정 시 사용한 것과 동일한 클라이언트 정보를 사용하여 위의 5 - 14단계를 수행하십시오.
    • 서버에 대한 모든 보안 유형을 설정한 경우 보안 웹 서비스 기반 마법사를 사용하여 클라이언트에 대한 디지털 서명을 작성할 수 있습니다.
      1. 클라이언트를 마우스 오른쪽 단추로 클릭하고 보안 웹 서비스 클라이언트 > 보안 웹 서비스 기반을 선택하십시오.
      2. 드롭 다운 메뉴에서 해당되는 서버를 선택했는지 확인한 후 다음을 클릭하십시오.
      3. 클라이언트측 요청 생성기에 필수 정보를 입력하십시오.
        1. 키 저장소 경로 필드에서 디지털 서명 키의 경로를 직접 입력하거나 해당 경로를 찾아보십시오.
        2. 키 저장소 비밀번호 필드에 선택한 서명 키에 대한 비밀번호를 입력하십시오.
      4. 다음을 클릭하십시오.
      5. 클라이언트측 응답 이용자에 필수 정보를 입력하십시오.
      6. 다음 참조를 가진 인증만 신뢰를 선택하십시오. 모든 인증 신뢰 옵션을 선택하면 XML 디지털 서명 인증을 갖는 모든 클라이언트가 서버에 액세스할 수 있습니다.
      7. 완료를 클릭하십시오.

다음에 수행할 작업

이제 XML 디지털 서명 보안을 통해 웹 서비스가 무결성을 위협하는 공격으로부터 보호됩니다. 자원 퍼스펙티브로 전환하여 웹 서비스 .xmi 파일을 열면 XML 소스의 변경사항을 확인할 수 있습니다. 이 파일을 열려면 > 퍼스펙티브 열기 > 기타를 클릭하고 자원을 선택한 후 확인을 클릭하십시오. 그런 다음 yourProjectName/WebContent/WEB-INF/ 디렉토리에서 해당되는 .xml 파일을 찾으십시오.

피드백