애플리케이션 레벨에서 토큰 생성기 구성

이 태스크 정보

이 태스크에서는 애플리케이션 레벨에서 토큰 생성기를 지정하는 데 필요한 단계를 설명합니다. 이 정보는 생성기측에서 보안 토큰을 생성하는 데 사용됩니다.

애플리케이션 레벨에서 토큰 생성기를 구성하려면 다음 단계를 완료하십시오.

프로시저

  1. WebSphere® Application Server 관리 콘솔에서 토큰 생성기 패널을 찾으십시오.
    1. 애플리케이션 > 엔터프라이즈 애플리케이션 > application_name을 클릭하십시오.
    2. 관련 항목에서, EJB 모듈 또는 웹 모듈 > URI_name을 클릭하십시오.
    3. 추가 특성 절에서 다음 바인딩에 대한 토큰 생성기에 액세스할 수 있습니다.
      • 요청 생성기(송신기) 바인딩의 경우 웹 서비스: 클라이언트 보안 바인딩을 클릭하십시오. 요청 생성기(송신기) 바인딩에서 사용자 정의 편집을 클릭하십시오.
      • 응답 생성기(송신기) 바인딩의 경우 웹 서비스: 서버 보안 바인딩을 클릭하십시오. 응답 생성기(송신기) 바인딩에서 사용자 정의 편집을 클릭하십시오.
    4. 추가 특성에서 토큰 생성기를 클릭하십시오.
    5. 새로 작성을 클릭하여 토큰 생성기 구성을 작성한 후 기존 구성 옆에 있는 상자를 선택하고 삭제를 클릭하여 기존의 구성을 삭제하십시오. 또는 기존 토큰 생성기 구성의 이름을 클릭하여 해당 설정을 편집하십시오. 새 구성을 작성하려는 경우, 토큰 생성기 이름 필드에 고유한 이름을 입력하십시오. 예를 들어 gen_signtgen을 지정할 수 있습니다.
  2. 토큰 생성기 클래스 이름 필드에 클래스 이름을 지정하십시오. 토큰 생성기 클래스는 com.ibm.wsspi.wssecurity.token.TokenGeneratorComponent 인터페이스를 구현해야 합니다. 요청 생성기와 응답 생성기의 토큰 생성기 클래스 이름은 요청 이용자와 응답 이용자의 토큰 이용자 클래스 이름과 유사해야 합니다. 예를 들어, 애플리케이션에 사용자 이름 토큰 이용자가 필요한 경우 애플리케이션 레벨에 대한 토큰 이용자 패널에 com.ibm.wsspi.wssecurity.token.UsernameTokenConsumer 클래스 이름을 지정하고 이 필드에 com.ibm.wsspi.wssecurity.token.UsernameTokenGenerator 클래스 이름을 지정할 수 있습니다.
  3. 옵션: 파트 참조 필드에서 파트 참조를 선택하십시오. 파트 참조는 배치 디스크립터에 정의된 보안 토큰의 이름을 표시합니다.
    중요사항: 애플리케이션 레벨에서 배치 디스크립터에 보안 토큰을 지정하지 않는 경우 파트 참조 필드가 표시되지 않습니다. 배치 디스크립터에 user_tgen이라는 보안 토큰을 정의할 경우 파트 참조 필드의 옵션으로 user_tgen이 표시됩니다. 어셈블리 도구를 사용하여 애플리케이션을 어셈블할 때 배치 디스크립터에 보안 토큰을 지정할 수 있습니다.
  4. 인증서 경로를 없음 또는 전용 서명 정보로 선택하십시오. 토큰 생성기에서 PKCS#7 토큰 유형을 사용하지 않으면 없음을 선택하십시오. 토큰 생성기에서 PKCS#7 토큰 유형을 사용하고, 인증서 폐기 목록(CRL)을 보안 토큰에 패키징하려는 경우 전용 서명 정보를 선택하고 인증서 저장소를 선택하십시오. 애플리케이션 레벨에서 생성기 바인딩에 대한 콜렉션 인증서 저장소와 인증서 폐기 목록을 구성하려면 다음 단계를 완료하십시오.
    1. 애플리케이션 > 엔터프라이즈 애플리케이션 > application_name을 클릭하십시오.
    2. 관련 항목에서, EJB 모듈 또는 웹 모듈 > URI_name을 클릭하십시오.
    3. 추가 특성 절에서 다음 바인딩에 대한 콜렉션 인증서 저장소 구성에 액세스할 수 있습니다.
      • 요청 생성기(송신기) 바인딩의 경우 웹 서비스: 클라이언트 보안 바인딩을 클릭하십시오. 요청 생성기(송신기) 바인딩에서 사용자 정의 편집을 클릭하십시오.
      • 응답 생성기(송신기) 바인딩의 경우 웹 서비스: 서버 보안 바인딩을 클릭하십시오. 응답 생성기(송신기) 바인딩에서 사용자 정의 편집을 클릭하십시오.
    4. 추가 특성에서 콜렉션 인증서 저장소를 클릭하십시오.

    콜렉션 인증서 저장소 구성에 대한 자세한 정보는 애플리케이션 레벨에서 생성기 바인딩의 콜렉션 인증서 저장소 구성을 참조하십시오.

  5. 옵션: 임시값 추가 옵션을 선택하십시오. 이 옵션은 토큰 생성기의 사용자 이름 토큰에 임시값이 포함되는지 여부를 지정합니다. 임시값은 메시지에 임베드되는 고유한 암호화 번호로, 사용자 이름 토큰의 반복적인 무단 공격을 차단하는 데 도움이 됩니다. 임시값 추가 옵션은 생성되는 토큰 유형이 사용자 이름 토큰이고, 해당 토큰 유형을 요청 생성기 바인딩에만 사용할 수 있는 경우에만 유효합니다.
    임시값 추가 옵션을 선택할 경우 추가 특성 절에서 다음과 같은 특성을 지정할 수 있습니다. 이러한 특성은 요청 이용자에 사용됩니다.
    표 1. 추가 임시값 특성
    특성 이름 기본값 설명
    com.ibm.ws.wssecurity.config.token.
    BasicAuth.Nonce.cacheTimeout
    600초 서버에서 캐시되는 임시값의 제한시간 값(초)을 지정합니다.
    com.ibm.ws.wssecurity.config.token.
    BasicAuth.Nonce.clockSkew
    0초 임시값 시간소인이 만기되기 이전 시간(초)을 지정합니다.
    com.ibm.ws.wssecurity.config.token.
    BasicAuth.Nonce.maxAge
    300초 WebSphere Application Server가 메시지의 적시성(timeliness)을 검사할 때 고려할 클럭 오차(초)를 지정합니다.

    서버 레벨에서는 WebSphere Application Server 관리 콘솔의 웹 서비스 보안에 대한 기본 바인딩 패널에서 이러한 추가 특성을 임시값에 지정할 수 있습니다. 이 패널에 액세스하려면 서버 > Application Server > server_name을 클릭하십시오. 보안에서 웹 서비스: 웹 서비스 보안에 대한 기본 바인딩을 클릭하십시오.

  6. 옵션: 시간소인 추가 옵션을 선택하십시오. 이 옵션은 사용자 이름 토큰에 시간소인을 삽입할지 여부를 지정합니다. 시간소인 추가 옵션은 생성되는 토큰 유형이 사용자 이름 토큰이고, 해당 토큰 유형을 요청 생성기 바인딩에만 사용할 수 있는 경우에만 유효합니다.
  7. 로컬 이름 필드에 값 유형 로컬 이름을 지정하십시오. 사용자 이름 토큰 및 X.509 인증 보안 토큰의 경우, WebSphere Application Server가 값 유형에 대한 사전 정의된 로컬 이름을 제공합니다. 다음 로컬 이름 중 하나를 지정할 경우 값 유형 URI를 지정할 필요가 없습니다.
    http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#UsernameToken
    이 로컬 이름은 사용자 이름 토큰을 지정합니다.
    http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509
    이 로컬 이름은 X.509 인증 토큰을 지정합니다.
    http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509PKIPathv1
    이 로컬 이름은 공개 키 인프라(PKI) 경로에 X.509 인증을 지정합니다.
    http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#PKCS7
    이 로컬 이름은 X.509 인증 목록과 인증서 폐기 목록을 PKCS#7 형식으로 지정합니다.

    LTPA 토큰의 경우, 값 유형 로컬 이름으로 LTPA를, 값 유형 URI(Uniform Resource Identifier)로 http://www.ibm.com/websphere/appserver/tokentype/5.0.2를 사용할 수 있습니다.

  8. 옵션: URI 필드에 값 유형 URI를 지정하십시오. 이 항목은 생성되는 토큰에 대한 값 유형의 네임스페이스 URI를 지정합니다.
  9. 확인, 저장을 차례로 클릭하여 구성을 저장하십시오.
  10. 토큰 생성기 구성의 이름을 클릭하십시오.
  11. 추가 특성에서 콜백 핸들러를 클릭하십시오.
  12. 콜백 핸들러에 대한 설정을 지정하십시오.
    1. 콜백 핸들러 클래스 이름 필드에 클래스 이름을 지정하십시오. 이 클래스 이름은 보안 토큰 프레임워크를 플러그인으로 사용하는 데 필요한 콜백 핸들러 구현 클래스의 이름입니다. 지정된 콜백 핸들러 클래스는 javax.security.auth.callback.CallbackHandler 인터페이스를 구현해야 하며 다음 구문을 사용하는 생성자를 제공해야 합니다.
      MyCallbackHandler(String username, char[] password, java.util.Map properties)
      여기서 각 항목은 다음과 같습니다.
      username
      구성으로 전달할 사용자 이름을 지정합니다.
      password
      구성으로 전달할 비밀번호를 지정합니다.
      properties
      구성으로 전달할 기타 구성 특성을 지정합니다.
      이 생성자는 콜백 핸들러에 사용자 이름과 비밀번호가 필요한 경우에 필수입니다. 그러나 X509CallbackHandler와 같이 사용자 이름과 비밀번호가 필요 없는 콜백 핸들러의 경우, 다음 구문을 사용하는 생성자를 사용하십시오.
      MyCallbackHandler(java.util.Map properties)
      WebSphere Application Server에서는 다음 기본 콜백 핸들러 구현을 제공합니다.
      com.ibm.wsspi.wssecurity.auth.callback.GUIPromptCallbackHandler
      이 콜백 핸들러는 로그인 프롬프트를 사용하여 사용자 이름 및 비밀번호 정보를 수집합니다. 그러나 이 패널에서 사용자 이름과 비밀번호를 지정할 경우 프롬프트가 표시되지 않고 WebSphere Application Server가 사용자 이름과 비밀번호를 토큰 생성기로 리턴합니다. J2EE(Java™ 2 Platform, Enterprise Edition) 애플리케이션 클라이언트에만 이 구현을 사용하십시오. 이 구현을 사용할 경우 기본 인증 사용자 ID와 비밀번호를 이 패널에 입력해야 합니다.
      com.ibm.wsspi.wssecurity.auth.callback.NonPromptCallbackHandler
      이 콜백 핸들러는 프롬프트를 발행하지 않으며 이 패널에 사용자 이름 및 비밀번호가 지정된 경우 이를 리턴합니다. 웹 서비스가 클라이언트 역할을 하는 경우, 이 콜백 핸들러를 사용할 수 있습니다. 이 구현을 사용할 경우 기본 인증 사용자 ID와 비밀번호를 이 패널에 입력해야 합니다.
      com.ibm.wsspi.wssecurity.auth.callback.StdinPromptCallbackHandler
      이 콜백 핸들러에서는 표준 입력 프롬프트를 사용하여 사용자 이름 및 비밀번호를 수집합니다. 그러나 이 패널에 사용자 이름 및 비밀번호가 지정된 경우에는 WebSphere Application Server가 프롬프트를 발행하지 않지만 토큰 생성기에 사용자 이름 및 비밀번호를 리턴합니다. J2EE(Java 2 Platform, Enterprise Edition) 애플리케이션 클라이언트에만 이 구현을 사용하십시오. 이 구현을 사용할 경우 기본 인증 사용자 ID와 비밀번호를 이 패널에 입력해야 합니다.
      com.ibm.wsspi.wssecurity.auth.callback.LTPATokenCallbackHandler
      이 콜백 핸들러는 실행 도구 호출 주제에서 LTPA(Lightweight Third Party Authentication) 보안 토큰을 얻는 데 사용됩니다. 이 토큰은 SOAP 메시지 내의 웹 서비스 보안 헤더에 2진 보안 토큰으로 삽입됩니다. 그러나 사용자 이름 및 비밀번호가 이 패널에서 지정된 경우 WebSphere Application Server가 실행 도구 주제에서 LTPA 보안 토큰을 얻지 않고 사용자 이름 및 비밀번호를 인증하여 LTPA 보안 토큰을 얻습니다. 웹 서비스가 애플리케이션 서버에서 클라이언트 역할을 하는 경우에만 이 콜백 핸들러를 사용하십시오. J2EE 애플리케이션 클라이언트에서는 이 콜백 핸들러를 사용하지 않는 것이 좋습니다. 이 구현을 사용할 경우 기본 인증 사용자 ID와 비밀번호를 이 패널에 입력해야 합니다.
      com.ibm.wsspi.wssecurity.auth.callback.X509CallbackHandler
      이 콜백 핸들러는 SOAP 메시지 내의 웹 서비스 보안 헤더에 2진 보안 토큰으로 삽입되는 X.509 인증서를 작성하는 데 사용됩니다. 이 콜백 핸들러에는 키 저장소 및 키 정의가 필수입니다. 이 구현을 사용할 경우 키 저장소 비밀번호, 경로 및 유형을 이 패널에 입력해야 합니다.
      com.ibm.wsspi.wssecurity.auth.callback.PKCS7CallbackHandler
      이 콜백 핸들러는 PKCS#7 형식으로 인코드되는 X.509 인증서를 작성하는 데 사용됩니다. 이 인증서는 SOAP 메시지의 웹 서비스 보안 헤더에 2진 보안 토큰으로 삽입됩니다. 이 콜백 핸들러에는 키 저장소가 필수입니다. 콜렉션 인증서 저장소에서 인증서 폐기 목록(CRL)을 지정할 수 있습니다. CRL은 PKCS#7 형식의 X.509 인증서로 인코드됩니다. 이 구현을 사용할 경우 키 저장소 비밀번호, 경로 및 유형을 이 패널에 입력해야 합니다.
      com.ibm.wsspi.wssecurity.auth.callback.PkiPathCallbackHandler
      이 콜백 핸들러는 PkiPath 형식으로 인코드되는 X.509 인증서를 작성하는 데 사용됩니다. 이 인증서는 SOAP 메시지 내의 웹 서비스 보안 헤더에 2진 보안 토큰으로 삽입됩니다. 이 콜백 핸들러에는 키 저장소가 필수입니다. 이 콜백 핸들러에서는 CRL이 지원되지 않습니다. 따라서 콜렉션 인증서 저장소가 필수가 아니거나 사용되지 않습니다. 이 구현을 사용할 경우 키 저장소 비밀번호, 경로 및 유형을 이 패널에 입력해야 합니다.

      콜백 핸들러 구현에서는 필수 보안 토큰을 얻어 토큰 생성기에 이를 전달합니다. 토큰 생성기는 SOAP 메시지 내의 웹 서비스 보안 헤더에 보안 토큰을 삽입합니다. 또한 토큰 생성기는 플러그 가능한 보안 토큰 프레임워크의 플러그인 지점입니다. 서비스 제공자는 자체 구현을 제공할 수 있으나, 구현이 com.ibm.wsspi.wssecurity.token.TokenGeneratorComponent 인터페이스를 사용해야 합니다.

    2. 옵션: ID 어설션 사용 옵션을 선택하십시오. IBM® 확장 배치 디스크립터에 ID 어설션이 정의된 경우 이 옵션을 선택하십시오. 이 옵션은 초기 송신기의 ID만 필수이며 SOAP 메시지의 웹 서비스 보안 헤더에 이 ID가 삽입됨을 표시합니다. 예를 들어, WebSphere Application Server는 사용자 이름 토큰 생성기를 처음 호출한 사람의 사용자 이름만 전송합니다. X.509 토큰 생성기의 경우 애플리케이션 서버가 원래 서명자 인증만 전송합니다.
    3. 옵션: 실행 도구 ID 사용 옵션을 선택하십시오. IBM 확장 배치 디스크립터에 ID 어설션이 정의되어 있고, 다운스트림 호출에서 ID를 어설션할 때 첫 번째 호출자의 ID 대신 실행 도구 ID를 사용하려는 경우에 이 옵션을 선택하십시오. 이 옵션은 사용자 이름 TokenGenerator를 토큰 생성기로 구성한 경우에만 유효합니다.
    4. 옵션: 기본 인증 사용자 ID 필드에 기본 인증 사용자 ID를 지정하십시오. 이 항목은 콜백 핸들러 구현의 생성자에게 전달될 사용자 이름을 지정합니다. 콜백 핸들러 클래스 이름 필드에 아래의 기본 콜백 핸들러 구현 중 하나를 지정할 경우 기본 인증 사용자 이름과 비밀번호가 사용됩니다.
      • com.ibm.wsspi.wssecurity.auth.callback.GUIPromptCallbackHandler
      • com.ibm.wsspi.wssecurity.auth.callback.NonPromptCallbackHandler
      • com.ibm.wsspi.wssecurity.auth.callback.StdinPromptCallbackHandler
      • com.ibm.wsspi.wssecurity.auth.callback.LTPATokenCallbackHandler
    5. 옵션: 기본 인증 비밀번호 필드에 기본 인증 비밀번호를 지정하십시오. 이 항목은 콜백 핸들러 구현의 생성자로 전달될 비밀번호를 지정합니다.
    6. 옵션: 키 저장소 비밀번호 필드에 키 저장소 비밀번호를 지정하십시오. 이 항목은 키 저장소 파일에 액세스할 때 사용할 비밀번호를 지정합니다. WebSphere Application Server에 포함된 아래의 기본 콜백 핸들러 구현 중 하나를 선택할 경우, 키 저장소 및 해당 구성이 사용됩니다.
      com.ibm.wsspi.wssecurity.auth.callback.PKCS7CallbackHandler
      인증서 경로를 사용하여 X.509 인증서를 빌드하는 데 키 저장소를 사용합니다.
      com.ibm.wsspi.wssecurity.auth.callback.PkiPathCallbackHandler
      인증서 경로를 사용하여 X.509 인증서를 빌드하는 데 키 저장소를 사용합니다.
      com.ibm.wsspi.wssecurity.auth.callback.X509CallbackHandler
      X.509 인증서를 검색하는 데 키 저장소를 사용합니다.
    7. 옵션: 경로 필드에 키 저장소 경로를 지정하십시오. ${USER_INSTALL_ROOT}는 사용 중인 머신의 WebSphere Application Server 경로로 확장할 수 있으므로, 경로 이름에 이 변수를 사용하는 것이 좋습니다. 이 변수에 사용되는 경로를 변경하려면 환경 > WebSphere 변수를 클릭하고 USER_INSTALL_ROOT를 클릭하십시오. 이 필드는 com.ibm.wsspi.wssecurity.auth.callback.PKCS7CallbackHandler, com.ibm.wsspi.wssecurity.auth.callback.PkiPathCallbackHandler 또는 com.ibm.wsspi.wssecurity.auth.callback.X509CallbackHandler 콜백 핸들러 구현을 사용할 때 필수입니다.
    8. 옵션: 유형 필드에서 키 저장소 유형을 선택하십시오. 이 선택사항은 키 저장소 파일에 사용되는 형식을 지정합니다. 이 필드에는 다음 값 중 하나를 선택할 수 있습니다.
      JKS
      키 저장소에서 JKS(Java Keystore) 형식을 사용하는 경우 이 옵션을 사용하십시오.
      JCEKS
      SDK(Software Development Kit)에 Java Cryptography Extension이 구성된 경우 이 옵션을 사용하십시오. 기본 IBM JCE는 WebSphere Application Server에 구성됩니다. 이 옵션에서는 삼중 DES 암호화를 사용하여 저장된 개인 키를 더 안전하게 보호합니다.
      PKCS11KS(PKCS11)
      키 저장소에서 PKCS#11 파일 형식을 사용하는 경우 이 형식을 사용하십시오. 이 형식을 사용하는 키 저장소는 암호화 하드웨어에 대한 RSA 키를 포함하고 있거나 암호화 하드웨어를 사용하는 키를 암호화하여 확실히 보호할 수 있도록 합니다.
      PKCS12KS(PKCS12)
      키 저장소에서 PKCS#12 파일 형식을 사용하는 경우 이 옵션을 사용하십시오.
  13. 확인, 저장을 차례로 클릭하여 구성을 저장하십시오.
  14. 토큰 생성기 구성의 이름을 클릭하십시오.
  15. 추가 특성에서 콜백 핸들러 > 키를 클릭하십시오.
  16. 키 이름, 키 별명, 키 비밀번호를 지정하십시오.
    1. 새로 작성을 클릭하여 키 구성을 작성한 후 삭제를 클릭하여 기존 구성을 삭제하거나, 기존 키 구성의 이름을 클릭하여 설정을 편집하십시오. 새 구성을 작성하려는 경우, 키 이름 필드에 고유한 이름을 입력하십시오. 디지털 서명의 경우, 메시지에 디지털 서명을 입력하는 키를 판별하기 위해 요청 생성기 또는 응답 생성기 서명 정보에 키 이름이 사용됩니다. 암호화의 경우 암호화에 사용되는 키를 판별하기 위해 키 이름이 사용됩니다. 키 이름은 완전한 식별 이름이어야 합니다. 예를 들면, CN=Bob,O=IBM,C=US입니다.
    2. 키 별명 필드에 키 별명을 지정하십시오. 키 위치 지정자가 키 저장소 파일에서 키를 찾을 때 키 별명이 사용됩니다.
    3. 키 비밀번호 필드에 키 비밀번호를 지정하십시오. 키 저장소 파일의 키 오브젝트에 액세스하려면 이 비밀번호가 필요합니다.
  17. 확인, 저장을 차례로 클릭하여 구성을 저장하십시오.

결과

애플리케이션 레벨에서 토큰 생성기를 구성했습니다.

다음에 수행할 작업

애플리케이션 레벨에서 이와 유사한 토큰 이용자 구성을 지정해야 합니다.

피드백