SSL(Secure Sockets Layer) 클라이언트 증명 인증

SSL(Secure Sockets Layer)을 사용하여 서버에 대한 안전 연결을 설정하는 클라이언트 소프트웨어는 SSL 프로토콜 또는 TLS(Transport Layer Security)라고 하는 향상된 프로토콜을 사용하여 시작되어 SSL 인증서와 SSL 핸드쉐이크를 합니다. 개인 인증서는 서버를 나타내거나 특정 클라이언트를 나타낼 수 있으며 인증 기관(CA)에서 서명하여 개인 인증서가 올바로 식별되도록 합니다.

SSL을 사용하면 관리자는 개인 인증서 서명에 사용되고 클라이언트 및 서버 신뢰 저장소 모두에 저장되는 CA 서명자 인증서를 갖게됩니다. SSL 클라이언트 인증서 인증은 SSL 인증서를 사용하는 연결 핸드쉐이크 중에 발생합니다.

다음 이벤트는 이 프로세스 중에 발생해야 합니다.
  • 서버 측은 클라이언트 인증이 수행되는지를 판별해야 합니다. 클라이언트 인증은 서버의 SSL 구성 및 CSIv2(Common Secure Interoperability Version 2) 구성(IIOP(Inter-ORB Protocol)가 사용되는 경우)에서 사용되어야 합니다.
  • CSIv2 구성은 보안 도메인이 아니라 글로벌 보안에서 수행되어야 합니다.
  • 클라이언트의 서명자 인증서는 클라이언트의 키 저장소에서 추출되어 서버의 신뢰 저장소에 추가되어야 합니다.
  • 서버의 서명자 인증서는 서버의 키 저장소에서 추출되어 클라이언트의 신뢰 저장소에 추가되어야 합니다.

클라이언트 인증을 위해 WebSphere 서버 구성

클라이언트 측이 인증서를 보내도록 서버 측이 요청하는 경우에 클라이언트 인증서 인증이 발생합니다. WebSphere 서버는 SSL 구성에서 클라이언트 인증서 인증용으로 구성 가능합니다. 그렇지만 클라이언트 인증이 IIOP에 대해 필요한 경우 CSIv2 구성에서 구성되어야 합니다.

SSL 구성에서 관리 콘솔을 사용하여 클라이언트 인증서 인증을 구성하려면 다음을 수행하십시오.
  1. 보안 > SSL 인증서 및 키 관리 > SSL 구성을 클릭하십시오.
  2. SSL 구성을 선택하십시오.
  3. 추가 특성에서 보호 품질(QoP) 설정을 선택하십시오.
  4. 클라이언트 인증에서 필수를 선택하십시오.
  5. 확인을 클릭하여 변경사항을 저장하십시오.
참고: -clientAuthentication 플래그를 true로 설정하여 modifySSLConfig 명령을 사용해서도 클라이언트 인증을 사용할 수 있습니다. 이 명령에 대한 자세한 정보는 SSLConfigCommands 명령 그룹에서 AdminTask 오브젝트를 참조하십시오.
.
관리 콘솔을 사용하여 CSIv2 인바운드 연결에서 클라이언트 인증서 인증을 구성하려면 다음을 수행하십시오.
  1. 보안 > 글로벌 보안을 클릭하십시오.
  2. RMI/IIOP에서 CSIv2 인바운드 통신을 선택하십시오.
  3. CSIv2 전송 계층 섹션의 클라이언트 인증서 인증에서 필수를 선택하십시오.
  4. 확인을 클릭하여 변경을 저장하십시오.
참고: -clientCertAuth 플래그를 필수로 설정하여 configureCSIInbound 명령을 사용해서도 CSIv2에서 클라이언트 인증을 사용할 수 있습니다. 이 명령에 대한 자세한 정보는 SecurityConfigurationCommands 명령 그룹에서 AdminTask 오브젝트를 참조하십시오.

클라이언트 측이 클라이언트 인증에 대해 설정된 경우 클라이언트의 서명자 인증서는 서버의 신뢰 저장소에 추가되어야 합니다. 인증서 파일로 클라이언트에서 인증서가 있는 경우, 이는 서버의 신뢰 저장소에 추가할 수 있습니다.

관리 콘솔을 사용하여 서명자를 서버의 신뢰 저장소에 추가하려면 다음을 수행하십시오.
  1. 보안 > SSL 인증서 및 키 관리 > 키 저장소 및 인증서를 클릭하십시오.
  2. 클라이언트 인증에 대해 구성된 신뢰 저장소를 선택하십시오.
  3. 추가 특성에서 서명자 인증서를 선택하십시오.
  4. 추가를 클릭하십시오.
  5. 별명 필드에서 인증서가 저장되는 별명을 입력하십시오.
  6. 파일 이름 상자에 인증서 파일의 전체 경로를 입력하십시오.
  7. 확인을 클릭하여 변경을 저장하십시오.
참고: addSignerCertificate 명령을 사용하여 서명자를 서버의 신뢰 저장소에 추가할 수도 있습니다. 이 명령에 대한 자세한 정보는 SignerCertificateCommands 명령 그룹에서 AdminTask 오브젝트를 참조하십시오.
참고: 클러스터 환경에서 클라이언트 인증을 사용 중인 경우 클라이언트 인증은 클러스터의 해당 서버가 있는 각 노드에 대해 구성되어야 합니다.

클라이언트 인증을 위해 클라이언트 측 설정

클라이언트:

관리 클라이언트, 씬 클라이언트, 단일 클라이언트는 해당 키 저장소에 개인 인증서를 가지고 있어야 합니다. WebSphere® Application Server가 설치될 때 작성되는 WebSphere 클라이언트 기본 저장소는 이미 개인 인증서를 포함하고 있습니다. 이 키 저장소는 ssl.client.props 파일의 com.ibm.ssl.keyStore 특성에 있습니다. 클라이언트 키 저장소는 WebSphere Application Server로 관리되지 않기 때문에 키 관리 유틸리티(iKeyMan) 또는 Java™ keytool 유틸리티를 사용하여 인증서 파일로 인증서를 추출할 수 있습니다.

iKeyMan을 사용하여 인증서를 추출하려면 다음을 수행하십시오.
  1. iKeyMan을 시작하십시오.
  2. 키 데이터베이스 파일 > 열기를 선택하십시오.
  3. 키 저장소 파일에 경로를 입력하십시오. 이는 ssl.client.props 파일에서 가져올 수 있습니다.
  4. 확인을 클릭하십시오.
  5. 키 저장소에 대한 비밀번호를 입력하고 확인을 클릭하십시오.
  6. 개인 인증서에서 클라이언트 기본 인증서를 선택하십시오.
  7. 인증서 파일에 대해 경로 및 파일 이름을 입력하고 확인을 클릭하십시오.

추출된 인증서가 포함된 파일은 서명자를 서버의 신뢰 저장소에 추가하는 데 사용할 수 있습니다. "클라이언트 인증을 위해 WebSphere 서버 구성" 절에 따라 해당 서명자를 서버의 신뢰 저장소에 추가하십시오.

IIOP를 통해 통신하는 경우 다음 특성은 sas.client.props 파일에 설정되어야 합니다.
  • SSL 사용:
    	com.ibm.CSI.performTransportAssocSSLTLSSupported=true 	com.ibm.CSI.performTransportAssocSSLTLSRequired=false 
  • 메시지 계층에서 클라이언트 인증을 사용 안함:
    	com.ibm.CSI.performClientAuthenticationRequired=false
    	com.ibm.CSI.performClientAuthenticationSupported=false 
  • 전송 계층에서 클라이언트 인증 사용(지원되지만 필수는 아님):
     com.ibm.CSI.performTLClientAuthenticationRequired=false
    	com.ibm.CSI.performTLClientAuthenticationSupported=true 

씬 클라이언트와 단일 클라이언트는 WebSphere Application Server SSL 특성 파일 ssl.client.props를 사용하지 않을 수도 있습니다. 대부분 Java 시스템 특성을 사용하여 클라이언트 키 저장소와 신뢰 저장소를 설정합니다. 서버의 서명자 인증서는 java.net.ssl.trustStore 시스템 특성으로 지정되는 신뢰 저장소에 추가되어야 합니다. Keytool 또는 iKeyman은 서명자 인증서 추가에 사용할 수 있습니다. 서명자는 javax.net.ssl.keyStore 시스템 특성으로 지정된 키 저장소의 개인 인증서에서 추출되어 서버의 신뢰 저장소에 추가되어야 합니다.

예를 들어 다음과 같습니다.
javax.net.ssl.keyStore
javax.net.ssl.keyStorePassword
javax.net.ssl.keyStoreType
javax.net.ssl.trustStore
javax.net.ssl.trustStorePassword
javax.net.ssl.trustStoreType

클라이언트로 사용되는 서버:

클라이언트는 클라이언트로 사용되는 WebSphere 서버일 수 있습니다. 그런 경우 통신의 클라이언트 측에서 사용 중인 SSL 구성을 판별하고 해당 인증서의 서명자를 추출하여 이를 서버 측 신뢰 저장소에 추가하십시오. 루트 인증서 서명자를 사용하도록 권장됩니다.

관리 콘솔을 사용하여 루트 인증서를 추출하려면 다음을 수행하십시오.
  1. 보안 > SSL 인증서 및 키 관리 > 키 저장소 및 인증서를 클릭하십시오.
  2. 키 저장소 사용법 풀다운에서 루트 인증서 키 저장소를 클릭하십시오.
  3. DmgrDefaultRootStore(네트워크 배치 서버용) 또는 NodeDefaultRootStore(애플리케이션 서버용) 중에서 선택하십시오.
  4. 추가 특성에서 개인 인증서를 선택하십시오.
  5. 기본 루트 인증서(일반적으로 root)를 선택하고 추출을 클릭하십시오.
  6. 이름 인증서 파일 상자에서 인증서가 포함된 파일의 전체 경로를 입력하십시오.
  7. 확인을 클릭하여 저장하십시오.
참고: extractCertificate 명령을 사용하여 루트 인증서를 추출할 수도 있습니다. 이 명령에 대한 자세한 정보는 PersonalCertificateCommands 명령 그룹에서 AdminTask 오브젝트를 참조하십시오.

작성된 인증서 파일은 서버 측으로 전달되어 서버의 신뢰 저장소에 추가될 수 있습니다.

서버가 클라이언트로 사용되는 경우, 클라이언트 측 서버에는 대상 서버의 서명자가 필요합니다. 서명자는 서명자 인증서 포트에서 검색 옵션을 사용하여 검색할 수 있습니다.

관리 콘솔을 사용하여 포트에서 서명자를 추출하려면 다음을 수행하십시오.
  1. 보안 > SSL 인증서 및 키 관리 > 키 저장소 및 인증서를 클릭하십시오.
  2. 콜렉션에서 서버의 신뢰 저장소를 선택하십시오.
  3. 추가 특성에서 서명자 인증서를 선택하십시오.
  4. 포트에서 검색을 클릭하십시오.
  5. 대상 호스트 이름 및 대상 포트 이름을 입력하십시오.
  6. 인증서의 별명을 입력하십시오.
  7. 서명자 정보 검색을 클릭하십시오.
  8. 확인을 클릭하여 저장하십시오.

retrieveSignerFromPort 명령을 사용하여 포트에서 서명자를 검색할 수도 있습니다. 이 명령에 대한 자세한 정보는 SignerCertificateCommands 명령 그룹에서 AdminTask 오브젝트를 참조하십시오.

클라이언트 인증을 위해 브라우저 설정:

WebSphere Application Server가 클라이언트 인증서 인증에 대해 구성되고 브라우저에서 서버 액세스가 시도되면 브라우저는 클라이언트 인증서 인증에 대한 인증서가 있어야 합니다. 서버의 기본 SSL 구성이 클라이언트 인증서 인증을 사용하도록 수정된 경우, 관리 콘솔에 로그인할 수 없습니다.

관리 콘솔을 사용하여 브라우저에 대해 인증서를 작성할 수 있습니다. 우선 키 저장소를 작성하고 체인된 인증서를 작성해야 합니다. 인증서가 작성되면 브라우저에 대한 지시사항을 사용하여 인증서를 가져오십시오. 브라우저에는 체인의 각 파트가 인증서 확인을 위해 추가되어야 하기 때문에 루트 인증서는 추출되어 브라우저에 추가되어야 합니다. 루트 인증서 추출에 대한 정보는 "클라이언트 인증을 위해 클라이언트 측 설정" 절의 지시사항에 따라 수행하십시오.

관리 콘솔을 사용하여 키 저장소를 작성하려면 다음을 수행하십시오.
  1. 보안 > SSL 인증서 및 키 관리 > 키 저장소 및 인증서를 클릭하십시오.
  2. 새로 작성을 클릭하십시오.
  3. 키 저장소 이름을 입력하십시오.
  4. 키 저장소 파일의 전체 경로를 입력하십시오.
  5. 키 저장소 비밀번호를 입력하고 확인하십시오.
  6. 확인을 클릭하여 저장하십시오.
관리 콘솔을 사용하여 체인된 인증서를 작성하려면 다음을 수행하십시오.
  1. 보안 > SSL 인증서 및 키 관리 > 키 저장소 및 인증서를 클릭하십시오.
  2. 이전에 작성한 키 저장소를 선택하십시오.
  3. 추가 특성에서 개인 인증서를 클릭하십시오.
  4. 작성 단추의 풀다운 목록에서 체인된 인증서를 선택하십시오.
  5. 인증서의 별명을 입력하십시오.
  6. 인증서에 대한 공통 이름을 입력하십시오. 이름은 주제(Subject) DN의 "CN=" 파트입니다.
  7. 체인된 인증서의 주제(Subject) DN을 빌드하기 위해 나머지 필드 중 하나에 정보를 입력하십시오.
  8. 확인을 클릭하여 저장하십시오.

createKeyStore 명령을 사용하여 키 저장소를 작성할 수도 있습니다. 이 명령에 대한 자세한 정보는 KeyStoreCommands 명령 그룹에서 AdminTask 오브젝트를 참조하십시오.

createChainedCertificate 명령을 사용하여 체인된 인증서를 작성할 수도 있습니다. 이 명령에 대한 자세한 정보는 PersonalCertificateCommands 명령 그룹에서 AdminTask 오브젝트를 참조하십시오.

참고: 클라이언트 인증서 인증이 사용되면 웹 인증서 인증은 다음 절에서 설명하는 대로 수행 가능합니다.

웹 인증서 인증

인증서 기본 인증은 모듈이 클라이언트 인증서 인증에 대해 구성된 경우 Java 2 Platform, Enterprise Edition(J2EE) 웹 모듈에서 수행할 수 있습니다. 이를 사용하면 사용자는 인증하려는 인증서를 사용하여 웹 모듈에 로그인하고 해당 인증서를 레지스트리의 사용자에 맵핑할 수 있습니다.

웹 인증서 인증을 사용하려면 서버의 SSL 구성이 모듈이 설치된 서버의 클라이언트 인증서 인증에 대해 구성되어야 합니다.

서버 측은 클라이언트 인증이 수행되는지를 판별합니다. "클라이언트 인증을 위해 WebSphere 서버 구성" 절에서 클라이언트 인증 구성 방법을 참조하십시오. 클라이언트 측은 클라이언트 신뢰 저장소를 추가하려는 서버의 서명자가 있어야 합니다. 자세한 정보는 "클라이언트 인증을 위해 클라이언트 측 설정"을 참조하십시오.

웹 모듈의 web.xml 파일은 인증 메소드가 web.xml 파일의 login-config 섹션에서 CLIENT-AUTH로 설정되어야 합니다.

<login-config>
<auth-method>CLIENT-CERT</auth-method>
</login-config>

인증서는 레지스트리의 사용자에 맵핑해야 하며 아니면 해당 웹 모듈에 로그인할 수 없습니다.

localOS 사용자 레지스트리의 경우 인증서 주제(Subject) DN의 CN 값은 로컬 OS 사용자 레지스트리의 사용자에 맵핑되어야 합니다. 예를 들어, 인증서 주제(Subject) DN이 CN=tester,o=ibm,c=us이며 tester는 로컬 사용자 레지스트리를 검색하는 사용자입니다. 해당 사용자가 로컬 레지스트리에 없으면 인증이 실패합니다.

LDAP(Lightweight Directory Access Protocol) 사용자 레지스트리는 인증서를 사용자 레지스트리에 맵핑하는 추가 옵션을 제공합니다. LDAP의 기본 인증서 맵핑 모드는 LDAP 레지스트리와 인증서의 주제(Subject) DN 사이의 정확인 DN 일치에 사용됩니다. 예를 들어, 인증서 DN이 CN=user1,o=ibm,c=us인 경우 해당하는 정확한 값의 항목이 LDAP 레지스트리에 있어야 합니다. LDAP 사용자 레지스트리에는 LDAP 저장소에 대해 인증서 주제(Subject) DN의 특정 파트에 대한 일치사항을 제공할 수 있는 인증서 필터 옵션이 있습니다. LDAP 인증서 맵핑에 대한 세부사항은 "Lightweight Directory Access Protocol 저장소 구성 설정"을 참조하십시오.

연합 저장소 구성에서 기본적으로 클라이언트 인증서 로그인은 파일 기반 저장소에 대해 지원되지 않습니다. 파일 기반 저장소에서 인증서 맵핑 지원을 사용하려면 연합 저장소 파일 기반 저장소에서 클라이언트 인증서 로그인 지원 사용 주제의 프로시저에 따라 수행하십시오.

연합 저장소 LDAP 레지스트리는 인증서 맵핑을 지원합니다. 이는 LDAP 사용자 레지스트리가 사용하는 동일한 맵핑 규칙 및 특성을 사용합니다.

사용자 정의 사용자 레지스트리는 사용자 정의 레지스트리가 mapCertificate() 메소드를 구현하는 경우 인증서를 사용자에 맵핑할 수 있습니다.


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



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