EJB 보안을 위한 인증 프로토콜

WebSphere® Application Server 버전 9.0 서버는 CSIv2 인증 프로토콜만 지원합니다. [AIX Solaris HP-UX Linux Windows][IBM i] SAS는 버전 6.0.x버전 9.0 셀에 연합된 이하 버전의 서버 사이에서만 지원됩니다. SAS, CSIv2 또는 둘 다 중에서 선택하는 옵션은 버전 6.0.x 이하의 릴리스가 버전 9.0 셀에 연합된 경우에만 관리 콘솔에서 사용할 수 있습니다. [z/OS] z/SAS는 버전 6.0.x버전 9.0 셀에 연합된 이하 버전의 서버 사이에서만 지원됩니다. z/SAS, CSIv2 또는 둘 다 중에서 선택하는 옵션은 버전 6.0.x 이하의 릴리스가 버전 6.1 셀에 연합된 경우에만 관리 콘솔에서 사용할 수 있습니다.

[AIX Solaris HP-UX Linux Windows][IBM i]SAS는 WebSphere Application Server의 모든 이전 버전에서 사용되는 프로토콜이며 역호환성을 위해 유지보수됩니다. OMG(Object Management Group)는 벤더가 안전하게 상호 운용할 수 있도록 CSIv2라는 인증 프로토콜을 정의했습니다. CSIv2는 SAS보다 많은 기능으로 WebSphere Application Server에서 구현되며 전략적인 프로토콜로 고려됩니다.
중요사항: SAS는 버전 6.1 셀에 연합된 이전 버전 서버와 버전 6.0.x 서버 사이에서만 지원됩니다.
[z/OS]OMG(Object Management Group)는 벤더가 안전하게 상호 운용할 수 있도록 CSIv2라는 인증 프로토콜을 정의했습니다. CSIv2는 z/SAS보다 많은 기능으로 WebSphere Application Server에서 구현되며 전략적인 프로토콜로 고려됩니다.
중요사항: z/SAS는 버전 6.1 셀에 연합된 이전 버전 서버와 버전 6.0.x 서버 사이에서만 지원됩니다.

Enterprise Java™ Beans(EJB) 메소드를 안전한 WebSphere Application Server 환경에서 호출하려면 보안 레벨 및 각 요청에 대한 모든 지정 클라이언트와 서버 사이에 발생하는 인증 유형을 판별하는 인증 프로토콜이 필요합니다. 이는 클라이언트 구성으로 판별되고 해당 클라이언트 및 서버 쌍에 특정되는 인증 정책으로 발생하는 클라이언트 인증 요구사항이 포함된 IOR(Interoperable Object Reference)로 판별되는 서버 인증 요구사항을 병합하는 메소드 호출 중에 인증 프로토콜의 작업입니다.

인증 정책은 특히 클라이언트와 서버 구성을 기반으로 하는 경우에 다음과 같은 의사결정을 합니다.
  • 이 서버에 대해 작성하려는 연결 유형 - SSL(Secure Sockets Layer) 또는 TCP/IP?
  • SSL을 선택하는 경우 데이터 암호화의 강도 수준은?
  • SSL이 선택되는 경우 클라이언트 인증서를 사용하여 클라이언트 인증 여부?
  • 사용자 ID와 비밀번호를 사용하여 클라이언트 인증 여부? 기존 신임 정보가 있습니까?
  • 다운스트림 서버로 클라이언트 ID를 어설션하는지 여부?
  • 클라이언트와 서버 구성을 기반으로 안전 요청을 계속할 수 있는지 여부?

[AIX Solaris HP-UX Linux Windows][IBM i]두 프로토콜(SAS 및 CSIv2)이 동시에 작동하도록 구성할 수 있습니다. 서버가 두 프로토콜을 지원하는 경우 SAS 및 CSIv2의 구성을 설명하는 태그가 있는 컴포넌트가 포함된 IOR을 내보냅니다. 클라이언트가 두 프로토콜을 지원하는 경우 SAS 및 CSIv2 모두에 대해 태그가 있는 컴포넌트를 읽습니다. 클라이언트가 둘 다를 지원하고 서버가 둘 다를 지원하면 CSIv2가 사용됩니다. 그렇지만 서버가 SAS를 지원하고(예를 들어, 이전의 WebSphere Application Server 릴리스인 경우) 클라이언트는 둘 다를 지원하면 SAS 프로토콜이 공통적으로 둘 다에서 사용되기 때문에 클라이언트는 이 요청에 대해 SAS를 선택합니다.

[z/OS]두 프로토콜(z/SAS 및 CSIv2)이 동시에 작동하도록 구성할 수 있습니다. 서버가 두 프로토콜을 지원하는 경우 z/SAS 및 CSIv2의 구성을 설명하는 태그가 있는 컴포넌트가 포함된 IOR을 내보냅니다. 클라이언트가 두 프로토콜을 지원하는 경우 z/SAS 및 CSIv2 모두에 대해 태그가 있는 컴포넌트를 읽습니다. 클라이언트가 둘 다를 지원하고 서버가 둘 다를 지원하면 CSIv2가 사용됩니다. 그렇지만 서버가 z/SAS를 지원하고(예를 들어, 이전의 WebSphere Application Server 릴리스인 경우) 클라이언트는 둘 다를 지원하면 z/SAS 프로토콜이 공통적으로 둘 다에서 사용되기 때문에 클라이언트는 이 요청에 대해 z/SAS를 선택합니다.

[z/OS]CSIv2는 com.ibm.CORBA.ConfigURL Java 특성이 있는 클라이언트에서 사용되도록 고려됩니다. 특성이 지정되지 않거나 지정된 특성이 없는 경우 CSIv2는 사용되지 않습니다.

[AIX Solaris HP-UX Linux Windows][IBM i]com.ibm.CSI.protocol 특성을 클라이언트 측에서 지정하고 서버 측의 관리 콘솔을 통해 구성하여 프로토콜을 선택하십시오. 더 자세한 내용은 SAS 및 CSIv2 특성 기사에서 제공됩니다.

CSIv2(Common Secure Interoperability Specification, Version 2)

[AIX Solaris HP-UX Linux Windows][IBM i]CSIv2(Common Secure Interoperability Specification, Version 2)는 상호 운용 인증, 위임, 권한을 사용하는 SAS(Security Attribute Service)를 정의합니다. CSIv2 및 SAS 프로토콜은 완전히 다릅니다. CSIv2 SAS는 SSL 및 EJB Specification, 버전 2.1과의 상호 운용성을 지원하는 CSIv2의 하위 컴포넌트입니다.

[z/OS]CSIv2(Common Secure Interoperability Specification, Version 2)는 상호 운용 인증 및 위임을 사용하는 SAS(Security Attribute Service)를 정의합니다. CSIv2와 z/SAS 프로토콜은 완전히 다릅니다. CSIv2 SAS는 SSL 및 상호 운용성을 지원하는 CSIv2의 하위 컴포넌트입니다.

SAS(Security Attribute Service)

CSIv2 SAS(Common Secure Interoperability Specification, Version 2 Security Attribute Service) 프로토콜은 연결 기반 전송을 통해 통신하는 GIOP(GenerGeneral Inter-ORB Protocol) 요청 및 회신 메시지에서 해당 프로토콜 요소를 교환하도록 설계되었습니다. 프로토콜은 SSL(Secure Sockets Layer) 및 TLS(Transport Layer Security)를 통해 사용할 수 있는 전송 계층 보안이 메시지 보호(즉, 무결성 및/또는 기밀성) 및 서버 대 클라이언트 인증을 제공하기 위해 사용되는 환경에서 사용됩니다. 프로토콜은 기반 전송에서 해당하는 부족함을 극복하기 위해 적용되어야 하는 클라이언트 인증, 위임, 권한 기능을 제공합니다. CSIv2 SAS 프로토콜은 안전한 전송이 결합 가능한 상위 레벨의 프로토콜로 사용되는 상호 운용성을 활용합니다.

연결 및 요청 인터셉터

WebSphere Application Server에서 사용되는 인증 프로토콜은 추가 기능 상호 운용 IIOP(Inter-ORB Protocol) 서비스입니다. IIOP는 두 개의 ORB(Object Request Brokers) 사이에서 메시지를 전송하는 데 사용되는 요청 및 응답 통신 프로토콜입니다. 클라이언트 ORB에서 서버 ORB로의 각 요청에 대해 서버가 연관된 회신을 작성하여 클라이언트 ORB로 다시 보냅니다. 모든 요청 플로우 전에 플로우 클라이언트와 서버 ORB 사이의 연결이 TCP/IP 전송에 설정되어야 합니다(SSL은 TCP/IP의 안전한 버전). 클라이언트 ORB는 인증 프로토콜 클라이언트 연결을 호출하고 이는 서버에 있는 오브젝트의 IOR에서 태그가 있는 컴포넌트를 읽는 데 사용됩니다. 이전에 언급한 것처럼 인증 정책은 요청에 대해 여기에서 설정됩니다. 지정된 인증 정책으로(서버 구성을 클라이언트 구성과 결합하여) 연결의 장점이 ORB로 리턴됩니다. ORB는 적절한 연결을 일반적으로 SSL을 통해 설정합니다.

연결이 설정되면 클라이언트 ORB는 인증 프로토콜 클라이언트 요청 인터셉터를 호출하며 이는 전송에서 설정된 이외의 보안 정보 전송에 사용됩니다. 보안 정보에는 서버에서 인증되는 사용자 ID와 비밀번호 토큰, 서버에서 유효성 검증되는 인증 메커니즘 특정 토큰, ID 어설션 토큰이 포함됩니다. ID 어설션은 임의 서버가 원래 클라이언트를 다시 인증하거나 다시 유효성 검증하지 않고 다른 서버를 신뢰하는 방식입니다. 그렇지만 서버가 업스트림 서버를 신뢰하려면 추가 작업이 필요합니다. 이 추가 보안 정보는 서비스 컨텍스트에서 메시지로 전송됩니다. 서비스 컨텍스트에는 등록된 ID가 있어서 서버 ORB가 정보를 전송하는 프로토콜을 식별할 수 있습니다.

[AIX Solaris HP-UX Linux Windows][IBM i]서비스 컨텍스트가 고유 ID를 포함하는 사실은 WebSphere Application Server가 SAS 및 CSIv2를 동시에 지원하는 다른 방법이 되며 이는 두 프로토콜이 다른 서비스 컨텍스트 ID를 가지기 때문입니다. 클라이언트 요청 인터셉터가 메시지에 서비스 컨텍스트 추가를 완료한 후 메시지는 서버 ORB로 전송됩니다.

[z/OS]서비스 컨텍스트가 고유 ID를 포함하는 사실은 WebSphere Application Server가 z/SAS 및 CSIv2를 동시에 지원하는 다른 방법이 되며 이는 두 프로토콜이 다른 서비스 컨텍스트 ID를 가지기 때문입니다. 클라이언트 요청 인터셉터가 메시지에 서비스 컨텍스트 추가를 완료한 후 메시지는 서버 ORB로 전송됩니다.

[AIX Solaris HP-UX Linux Windows][IBM i]메시지가 서버 ORB에서 수신되면 ORB는 인증 프로토콜 서버 요청 인터셉터를 호출합니다. 이 인터셉터는 프로토콜에서 인식되는 서비스 컨텍스트 ID를 검색합니다. SAS와 CSIv2 모두 서버에서 지원되면 두 개의 다른 서버 요청 인터셉터가 호출되고 두 인터셉터 모두 다른 서비스 컨텍스트 ID를 검색합니다.

[z/OS]메시지가 서버 ORB에서 수신되면 ORB는 인증 프로토콜 서버 요청 인터셉터를 호출합니다. 이 인터셉터는 프로토콜에서 인식되는 서비스 컨텍스트 ID를 검색합니다. z/SAS와 CSIv2 모두 서버에서 지원되면 두 개의 다른 서버 요청 인터셉터가 호출되고 두 인터셉터 모두 다른 서비스 컨텍스트 ID를 검색합니다.

그렇지만 한 개만 지정된 모든 요청에 대한 서비스 컨텍스트를 찾습니다. 서버 요청 인터셉터가 서비스 컨텍스트를 찾으면 서비스 컨텍스트에서 정보를 읽습니다. 메소드가 보안 서버로 호출되어 클라이언트 ID를 인증하거나 유효성 검증합니다. 보안 서버는 정보를 거부하거나 신임 정보를 리턴합니다. 신임 정보에는 사용자 레지스트리에서 검색된 클라이언트에 대한 추가 정보가 포함되어 권한 부여가 적절한 의사결정을 할 수 있습니다. 권한 부여는 사용자가 메소드에 적용된 역할 및 사용자에게 부여된 역할을 기반으로 요청을 호출할 수 있는지를 판별하는 프로세스입니다.

CSIv2 서버 요청 인터셉터를 통해 서비스 컨텍스트를 찾을 수 없는 경우, 인터셉터 프로세스는 클라이언트 체인이 전송되었는지 확인하기 위해 전송 연결을 확인합니다. 이 프로세스는 SSL 클라이언트 인증이 클라이언트와 서버 사이에서 구성된 경우에 완료됩니다.

[AIX Solaris HP-UX Linux Windows][IBM i]클라이언트 인증서 체인이 있는 경우 식별 이름(DN)은 인증서에서 추출되어 사용자 레지스트리의 ID로 맵핑하는 데 사용됩니다. 사용자 레지스트리가 LDAP(Lightweight Directory Access Protocol)인 경우, LDAP 레지스트리 구성에 정의된 검색 필터는 인증서가 레지스트리 항목에 맵핑되는 방법을 판별합니다. 사용자 레지스트리가 로컬 OS인 경우, 식별 이름(DN)의 첫 번째 속성은 레지스트리의 사용자 ID에 맵핑됩니다. 이 속성은 일반적으로 공통 이름입니다.

[z/OS]사용자 레지스트리가 LDAP(Lightweight Directory Access Protocol)인 경우, LDAP 레지스트리 구성에 정의된 검색 필터는 인증서가 레지스트리 항목에 맵핑되는 방법을 판별합니다. 사용자 레지스트리가 로컬 OS인 경우, 인증서는 SAF(System Authorization Facility) 사용자 ID에 맵핑됩니다. 그러면 발행자 이름 또는 주제(Subject) 이름을 사용하는 사용자 ID를 SAF 인증서 맵핑 기능으로 맵핑할 수 있습니다.

인증서가 맵핑되지 않으면 신임 정보가 작성되지 않고 요청이 거부됩니다. 유효한 보안 정보가 없는 경우 메소드 요청은 거부되고 NO_PERMISSION 예외가 회신으로 다시 전송됩니다. 그렇지만 보안 정보가 없으면 인증된 신임 정보가 요청에 대해 작성되고 권한 부여 엔진은 메소드가 호출되었는지 판별합니다. 엔터프라이즈 JavaBeans(EJB) 메소드를 호출하는 인증된 신임 정보의 경우, 메소드에 대해 보안 역할이 정의되지 않았거나 특수한 모든 사용자 역할이 메소드에 정의되었습니다.

메소드 호출이 EJB 컨테이너에서 완료되면 서버 요청 인터셉터가 다시 호출되어 서버 인증을 완료하고 새 회신 서비스 컨텍스트가 출력의 클라이언트 요청 인터셉트를 통지하기 위해 작성됩니다. 이 프로세스는 일반적으로 요청을 stateful하게 만듭니다. stateful 요청이 작성되면 클라이언트와 서버 사이의 첫 번째 요청만 보안 정보 전송이 필요합니다. 모든 후속 메소드 요청은 고유 컨텍스트 ID만 전송하도록 하여 서버는 세션 테이블에 저장된 신임 정보만 검색합니다. 컨텍스트 ID는 클라이언트와 서버 사이의 연결에서 고유합니다.

마지막으로 메소드 요청 주기는 정보를 제공하는 회신 서비스 컨텍스트로 서버에서 회신을 수신하는 클라이언트 요청 인터셉터로 완료되어 클라이언트 측 stateful 컨텍스트 ID는 확인 및 재사용 가능합니다.

[AIX Solaris HP-UX Linux Windows][IBM i]stateful 클라이언트 지정은 특성 com.ibm.CSI.performStateful(true/false)를 통해 완료됩니다. stateful 서버 지정은 관리 콘솔 구성을 통해 완료됩니다.

[z/OS]클라이언트와 서버는 구성 가능하지 않은 stateful 및 Stateless 세션 모두를 지원합니다.

인증 프로토콜 플로우인증 프로토콜 플로우

각 요청에 대한 인증 정책

지정된 요청의 인증 정책은 클라이언트와 서버 사이의 보안 보호를 판별합니다. 클라이언트 또는 서버 인증 프로토콜 구성은 필요한 기능, 지원되는 기능, 지원되지 않는 기능을 설명할 수 있습니다. 클라이언트에 기능이 필요한 경우, 해당 기능을 요청 또는 지원하도록 서버에만 지시할 수 있습니다. 서버에 기능이 필요한 경우, 해당 기능을 요청 또는 지원하도록 클라이언트에만 지시할 수 있습니다. 클라이언트가 기능을 지원하면 해당 기능을 지원하거나 요청하도록 서버에 지시할 수는 있지만 서버에게 기능을 지원하지 않도록 지시할 수도 있습니다. 서버가 기능을 지원하면 해당 기능을 지원하거나 요청하도록 클라이언트에 지시할 수는 있지만 기능을 지원하지 않거나 기능을 지원하지 않도록 클라이언트에 지시할 수도 있습니다.

예를 들어, 클라이언트가 클라이언트 인증서 인증을 지원하도록 하려면 자체 서명 인증서를 생성하거나 인증 기관(CA)에서 하나 가져오도록 일부 설정이 필요합니다. 일부 클라이언트는 이 조치를 완료할 필요가 없기 때문에 따라서 이 기능이 지원되지 않는 것으로 구성할 수 있습니다. 이 의사결정을 통해 클라이언트는 클라이언트 인증서 인증이 필요한 안전한 서버와 통신할 수 없습니다. 대신, 이 클라이언트는 사용자 ID 및 비밀번호를 서버에 자체를 인증하는 메소드로 사용하도록 선택할 수 있습니다.

일반적으로 기능 지원은 기능을 구성하는 가장 공통적인 방식입니다. 또한, 기능을 요청하는 것보다는 이를 허용하는 것이기 때문에 런타임 중에 가장 성공적일 수도 있습니다. 도메인에서 서버가 얼마나 안전하게 구성되어 있는지를 알기 위해 클라이언트에 대해 올바른 조합을 선택하여 성공적인 메소드 호출이 가능하게 하면서도 여전히 가장 높은 보안을 설정합니다. 모든 서버가 클라이언트에 대해 클라이언트 인증서와 사용자 ID 및 비밀번호 인증 모두를 지원하고 있음을 아는 경우, 하나는 필요하지 않거나 다른 하나를 지원하지 않을 수 있습니다. 사용자 ID와 비밀번호 및 클라이언트 인증서 모두가 클라이언트와 서버 모두에서 지원되는 경우, 사용자 ID와 비밀번호가 서버에서는 우선적으로 사용됩니다. 이 조치는 CSIv2 스펙 요구사항을 기반으로 합니다.


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



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