Product Documentation

iOS용 파생된 자격 증명

Feb 21, 2018

파생된 자격 증명은 모바일 장치를 위한 강력한 인증을 제공합니다. 이 자격 증명은 스마트 카드로부터 파생되어 카드가 아닌 모바일 장치에 상주합니다. 스마트 카드는 PIV(Personal Identity Verification) 카드 또는 CAC(Common Access Card)입니다.

파생된 자격 증명은 UPN 같은 사용자 식별자가 포함된 등록 인증서입니다. XenMobile은 자격 증명 공급자로부터 받은 자격 증명을 장치의 보안 저장소에 저장합니다.

XenMobile은 파생된 자격 증명을 iOS 장치 등록에 사용할 수 있습니다. 파생된 자격 증명을 사용하도록 구성하면 XenMobile이 iOS 장치에 대해 등록 초대 또는 기타 등록 모드를 지원하지 않습니다. 그러나 동일한 XenMobile Server에서 등록 초대 및 기타 등록 모드를 통해 Android 장치를 등록할 수는 있습니다.

요구 사항

  • 다음의 파생된 자격 증명 솔루션 중 하나:
    • Intercede 3.12
      Citrix는 XenMobile이 Intercede 파생된 자격 증명 솔루션과 작동하는 것을 확인했습니다. Apple App Store에서 앱 이름은 MyID for Citrix입니다.
      참고: 사용자는 XenMobile에 등록하기 전에 장치에 MyID for Citrix를 설치해야 합니다.
  • 기타 파생된 자격 증명 솔루션
    다른 자격 증명 솔루션 대부분은 XenMobile과 호환된 가능성이 높지만 운영 환경에 배포하기 전에 통합을 테스트하십시오.
  • XenMobile Server 10.6(최소 버전)
    • 엔터프라이즈(XME) 모드용으로 구성됨
    • 자격 증명 공급자 서버에 인증서를 발급하는 기관의 루트 인증서가 있어야 합니다. 이렇게 설정하면 XenMobile이 등록 도중 디지털 서명된 인증서를 수락할 수 있습니다. 인증서 추가에 대한 자세한 내용은 인증서 및 인증을 참조하십시오.
    • 사용자 전자 메일 도메인이 LDAP 도메인과 다른 경우 설정 > LDAP도메인 별칭 설정에 전자 메일 도메인을 포함하십시오. 예를 들어 전자 메일 주소의 도메인이 myID.com이고 LDAP 도메인 이름은 sample.com인 경우 도메인 별칭sample.com, myID.com으로 설정하십시오.
    • 파생된 자격 증명은 공유 장치에 사용할 수 없습니다.
  • 사용자 ID 인증서:
    • 주체 대체 이름 필드의 사용자 이름은 SubjectAltName 확장의 otherName, rfc822Name 또는 dNSName 필드로 형식 지정되어야 합니다. 다른 필드는 지원되지 않습니다. 주체 대체 이름에 대한 자세한 내용은 RFC(https://www.ietf.org/rfc/rfc5280.txt)를 참조하십시오.
    • 전자 메일 또는 CN에서 주체 필드의 사용자 ID는 현재 지원되지 않습니다.
  • 인증서 인증 또는 인증서와 보안 토큰 인증에 대해 구성된 NetScaler Gateway
    PKI 구성에 대한 자세한 내용은 PKI 엔터티를 참조하십시오.
  • Secure Hub 10.6(최소 버전)
  • XenMobile Apps 10.6(최소 버전)
    • Secure Mail은 파생된 자격 증명을 사용하지 않으며 이전처럼 계속 작동합니다.
    • 동일한 개발자 인증서를 사용하여 Apple App Store의 모든 앱을 서명하십시오.

아키텍처

등록을 위해 XenMobile Server는 다음 다이어그램처럼 "요구 사항" 섹션에 기술된 구성 요소에 연결합니다.

localized image
  • 장치 등록 도중 Secure Hub는 파생된 자격 증명 앱에서 인증서를 가져옵니다.
  • 파생된 자격 증명 앱은 등록 도중 자격 증명 관리 서버와 통신합니다.
  • 자격 증명 관리 서버와 타사 PKI 공급자에 같거나 다른 서버를 사용할 수 있습니다.
  • XenMobile Server는 타사 PKI 서버에 연결하여 인증서를 가져옵니다.

등록 후 구성 요소는 다음 다이어그램처럼 연결합니다.

localized image

다음 섹션에서는 XenMobile을 파생된 자격 증명 공급자와 함께 구성하고, 파생된 자격 증명을 등록에 사용할 수 있도록 설정하고, 파생된 자격 증명을 사용하는 장치를 관리하는 방법을 설명합니다.

파생된 자격 증명을 사용하도록 설정

기본적으로 XenMobile 콘솔에는 설정 > 파생된 자격 증명 페이지가 포함되지 않습니다. 파생된 자격 증명에 대한 인터페이스를 사용하려면 설정 > 서버 속성에서 서버 속성 derived.credentials.enable을 추가하고 true로 설정합니다.

localized image

파생된 자격 증명 구성

이 지침에서는 XenMobile과 통합할 계획인 파생된 자격 증명 공급자에 대한 작동하는 구성이 있는 것으로 가정합니다. 그러면 해당 서버와 통신하도록 XenMobile을 구성할 수 있습니다. 이미 XenMobile에 추가된 파생된 자격 증명 CA 인증서를 선택하거나 인증서를 가져올 수도 있습니다.

해당 CA 인증서에 대한 OCSP(Online Certificate Status Protocol) 지원을 활성화할 수 있습니다. OCSP에 대한 자세한 내용은 PKI 엔터티의 "임의의 CA"를 참조하십시오.

XenMobile 콘솔에서 설정 > iOS용 파생된 자격 증명으로 이동하십시오.

localized image

공급자 아래에서 다음을 수행하십시오.

  • 파생된 자격 증명 공급자 선택. Citrix는 XenMobile이 Intercede와 작동하는 것을 확인했습니다. 공급자에 대해 기타를 선택한 경우 서버를 운영하기 전에 통합을 테스트하십시오.

  • 앱 URL(iOS): Intercede를 공급자로 선택한 경우 XenMobile이 앱 URL을 입력합니다. 기타를 공급자로 선택한 경우 파생된 자격 증명 공급자에서 앱 URL을 가져옵니다.

참고: 장치가 공급자에 연결할 수 없는 경우 공급자에 문의하여 앱 URL을 확인하십시오. 변경해야 할 수 있습니다.

  • 선택적 매개 변수: 일부 파생된 자격 증명 공급자의 경우 연결을 위한 매개 변수를 제공해야 할 수 있습니다. 예를 들어 공급업체에서 백엔드 서버의 URL을 지정하도록 요구할 수 있습니다. 추가를 클릭하여 매개 변수를 제공합니다.

파생된 자격 증명의 인증서 지정: 인증서가 이미 XenMobile에 업로드된 경우 발급자 CA에서 해당 인증서를 선택합니다. 그렇지 않은 경우에는 가져오기를 클릭하여 인증서를 추가합니다. 인증서 가져오기 대화 상자가 나타납니다.

인증서 가져오기 대화 상자에서 찾아보기를 클릭하여 인증서로 이동합니다. 그런 다음 찾아보기를 클릭하여 개인 키 파일로 이동합니다.

localized image

Intercede를 공급자로 선택한 경우 XenMobile이 사용자 식별자 필드사용자 식별자 유형을 입력합니다. Intercede의 경우 사용자 식별자 필드주체 대체 이름이고 사용자 식별자 유형userPrincipalName입니다. 다른 파생된 자격 증명 공급자의 경우 해당 공급자에 정보를 요청하여 설정을 구성하십시오.

원하는 경우 OCSP 응답자를 사용하여 인증서 해제를 확인할 수 있습니다. 기본적으로 OSP 확인은 해제되어 있습니다. CA 인증서에 대한 OCSP 지원을 활성화하려면:

  • OCSP 확인켜기로 설정합니다.

localized image
  • 사용자 지정 OCSP URL 사용에 대한 옵션을 선택합니다. 기본적으로 XenMobile은 인증서에서 OCSP URL을 추출합니다(해지를 위해 인증서 정의 사용 옵션). 응답자 URL을 지정하려면 사용자 지정 사용을 클릭하고 URL을 입력합니다.
  • 응답자 CA: 응답자 CA에서 인증서를 선택합니다. 또는 가져오기를 클릭한 다음 인증서 가져오기 대화 상자를 사용하여 인증서를 찾습니다.

저장을 클릭합니다. 파생된 자격 증명 대화 상자가 나타납니다.

localized image
  • 파생된 자격 증명 구성을 사용하도록 설정하려면 저장을 클릭합니다. 파생된 자격 증명을 사용하려면 등록 설정도 구성해야 합니다.

  • 파생된 자격 증명 구성을 사용하도록 설정한 다음 곧바로 설정 > 등록으로 이동하려면 저장하고 등록으로 이동을 클릭하십시오.

등록에 파생된 자격 증명을 사용하도록 설정하려면: 설정 > 등록 페이지의 고급 등록 아래에서 파생된 자격 증명(iOS 전용)을 선택하고 사용을 클릭합니다.

localized image

확인 대화 상자가 나타납니다. 파생된 자격 증명을 사용하도록 설정하려면 확인란을 선택하고 사용을 클릭합니다.

localized image

파생된 자격 증명 등록에 대한 옵션을 편집하려면 설정 > 등록으로 이동하고 파생된 자격 증명(iOS 전용)을 선택한 다음 편집을 클릭합니다.

파생된 자격 증명을 사용하도록 설정한 후: 장치 등록 보고서의 등록 모드 열에 derived_credentials이 표시됩니다.

파생된 자격 증명을 사용할 때의 등록 단계에 대해서는 파생된 자격 증명을 사용하는 iOS 장치를 참조하십시오.

파생된 자격 증명에 대한 로그 메시지

Secure Hub와 XenMobile Server의 통신 도중에 생성되는 로그 메시지에는 다음과 같이 성공 또는 실패가 표시됩니다.

XenMobile Server의 메시지(SessionCreate SUCCESS)

2017-05-11T23:23:28.537+0000 | D88973753C718B23  |  INFO | http-nio-10080-exec-47 | com.sparus.nps.ios.agent.V9AgentUtils | Derived Credential: User extracted from certificate: XXXXXXX@XMTEST.NET

2017-05-11T23:23:28.728+0000 | D88973753C718B23  |  INFO | http-nio-10080-exec-47 | com.sparus.nps.ios.agent.V9AgentUtils | Derived Credential: Using user XXXXXX@XMTEST.NET' from cert and converted to XXXXXXX with certid 60000001a95b7fecbbbf2821dd0000000001a9

2017-05-11T23:23:28.883+0000 | D88973753C718B23  |  INFO | http-nio-10080-exec-47 | com.citrix.cg.bo.spring.impl.InternalUserServiceImpl | Input params for addUser. UserName XXXXXXX@auster.ctx' and Domain Name 'auster.ctx'

2017-05-11T23:23:29.94+0000 | D88973753C718B23  |  INFO | http-nio-10080-exec-47 | com.citrix.xms.oca.imil.service.impl.GroupServiceImpl | No.of groups:0 retrieved by UserID:40

2017-05-11T23:23:29.95+0000 | D88973753C718B23  |  WARN | http-nio-10080-exec-47 | com.sparus.nps.ldap.LdapCredentialHandlerImpl | No groups found for user XXXXXX@auster.ctx'

2017-05-11T23:23:34.244+0000 | 21829910a6438ef5  |  INFO | http-nio-10080-exec-60 | com.sparus.nps.ios.agent.V7ContextBuilder | No matching identity found in request from 172.16.1.57 to /zdm/ios/agent;jsessionid=D88973753C718B23ADDEA26B46E5FBB2

2017-05-11T23:23:59.118+0000 | 21829910a6438ef5  |  INFO | http-nio-10080-exec-52 | com.sparus.nps.ios.enroll.ProfileServiceServlet | New enrollment initiated for serialNumber=CCQLQNKPFMJF, imei=null, udid=4a621749b64f7d915849ebcef3ded9cf7f460406, meid=null

XenMobile Server의 메시지(SessionCreate FAIL)

2017-05-11T23:06:46.168+0000 | 40DA582380D50C72  |  INFO | http-nio-10080-exec-42 | com.sparus.nps.ios.agent.V9AgentUtils | Derived Credential: User extracted from certificate: XXXXXXXX@XMTEST.NET

2017-05-11T23:06:46.233+0000 | 40DA582380D50C72  |  WARN | http-nio-10080-exec-42 | com.citrix.cg.util.CGUtil | No default Domain found redirecting to 'local' domain.

2017-05-11T23:06:46.253+0000 | 40DA582380D50C72  |  WARN | http-nio-10080-exec-42 | com.citrix.cg.util.CGUtil | local domain. Directory service not managed for IDP local

2017-05-11T23:06:46.253+0000 | 40DA582380D50C72  | ERROR | http-nio-10080-exec-42 | com.sparus.nps.ios.agent.V9AgentUtils | dc ecxeption

com.citrix.xms.oca.imil.exception.OperationFailedException: Could not log on. Incorrect user name or password

Secure Hub의 메시지(SessionCreate SUCCESS)

start request with id 6 and value (redacted) https://*****/zdm/ios/agent?action=sessioncreate&h=dc

Handling the client cert challenge for h=dc

Cred length is 3405

Passing the credentials in DC client cert challenge

Credentials parsed successfully

received challenge NSURLAuthenticationMethodServerTrust

request with id 6 succeeded with httpResponse code 200

Secure Hub의 메시지(SessionCreate FAIL)

start request with id 6 and value (redacted) https://*****/zdm/ios/agent?action=sessioncreate&h=dc

Handling the client cert challenge for h=dc

Item found.

Cred length is 3434

Passing the credentials in DC client cert challenge

Credentials parsed successfully

request with id 6 failed with httpResponse code 500

NetScaler 관련 메시지

User is enrolled with Derived Credential and transientCredential is NOT nil. //Derived credential certificate is passed to NetScaler.

User is enrolled with Derived Credential and transientCredential is nil. ////Derived credential certificate isn't found and isn't passed to NetScaler.

User is enrolled with Derived Credential and the certificate has expired. Displaying message to the user to renew the certificate.