< 부록 > 행정기관 SSO 연계 표준 규격

개요

본 규격은 각 행정기관에서 통합인증시스템을 구축하여 운영할 경우,  SSO 연계를 위한 표준 규격이며 연계 표준은 OASIS SAML 2.0 표준을 기반으로 이루어져 있다.

2. 표준 규격

2.1 사용자 인증

2.1.1 인증 요청

• SP는 'SAML 2.0 Web Browser SSO Profile'의 <AuthnRequest> form을 준용해야
한다.

• <AuthnRequest>는 HTTP Redirect Binding을 이용해야 한다.

• <AuthnRequest>는 SP의 개인키로 서명하여 메시지의 무결성을 보장하고 IDP가 SP을 인증하도록 한다.

<Issuer>

• <Issuer>는 SP의 식별 값을 가져야 한다.

ProtocolBinding

• 프로토콜 바인딩 속성은 아래와 같아야 한다.
o urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST.

<RequestedAuthnContext>

• 인증 요청은 <RequestedAuthnContext>를 포함할 수도 있다.

• 만약 <RequestAuthnContext>가 포함된 경우, Comparison 속성은 'minimum'으로
설정해야 한다.

2.1.2 인증 응답

IDP가 <AuthnRequest>에 응답할 경우 다음을 따른다.

• IDP는 'SAML 2.0 Web Browser SSO Profile'에 따라 <Response>를 생성해야 한다.

• <Response>는 HTTP POST Binding을 이용하여 통신되어야 한다.

Version

• Version 속성은 “2.0”으로 설정되어야 한다.

Consent

• 만약 제시된다면, Consent의 값은 아래와 같아야 한다.

o urn:oasis:names:tc:SAML:2.0:consent:unspecified

<EncryptedAssertion>

• 각 <Response>는 하나 이상의 <EncryptedAssertion>는 포함한다.

2.1.2.1 <Assertion>

• IDP는 <Assertion>을 생성해야한다.

• <Assertion>은 서명되고, 암호화되고, 그리고 <Response>안에 <EncryptedAssertion>을 포함해야 한다.

<Version>

• Version 속성은 “2.0”으로 설정되어야 한다.

<Issuer>

• <Issuer>는 IDP의  식별 값을 가지고 존재해야 한다.

<Subject>

• <Assertion>마다 하나의 <Subject>를 가지고 있어야 한다.

2.1.2.2 <Subject>

• 각 <Assertion>은 <Assertion>에서 사용자를 어디에 표시하는지 나타내는 하나의 <Subject>를 포함해야 한다.

<NameID>

• <Subject>안의 <NameID>는 아래와 같은 Format 속성을 가진다.

o urn:oasis:names:tc:SAML:2.0:nameid-format:persistent

2.1.2.3 <AttributeStatement> Element

• SP가 첫 번째 특정 <Subject>에 대한 <Assertion>을 전송하는 동안 IDP는 정확하게 하나의 <AttributeStatement>를 보내야한다.

• 후속의 각 <Assertion>은 하나 이상의 <AttributeStatement>를 포함해야 한다.

<Attribute>

• 만약 제시된다면 <Attribute>의 NameFormat은 아래와 같아야 한다.

o urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified

• 다음은 <AttributeSatement>에 포함될 내용이다.

Name(URI)	Description	Format	Datatype
authentication:basic:assuranceLevel	인증레벨	1,2,3,4 중 택일	xs:string
authentication:basic:specVer	버전	“2.0”	xs:string
authentication:basic:userName	사용자 이름	128 크기 이하 문자	xs:string
authentication:basic:orgID	조직(기관)코드	128 크기 이하 문자	xs:string
authentication:basic:orgName	조직(기관) 이름	128 크기 이하 문자	xs:string

2.2 로그아웃

• 단일 로그아웃 프로토콜은 인증세션과 모든 SP의 세션들이 거의 동시에 종료될 수 있도록 수단을 제시한다.

• SP는 사용자가 로그아웃(오직 해당 SP만 로그아웃 요청)과 단일 로그아웃 사이에서 선택하여 로그아웃 할 수 있도록 제공해야한다.

• 만약 사용자가  IDP 자원에 로그아웃하는 동안 SSO 서버는 사용자의 인증세션을 종료하고, 단일로그아웃을 호출해야 한다. (즉, 인증 세션과 관련된 모든 연계기관 세션들은 종료해야한다.)

o 모든 SP의 세션을 종료하기 전에, IDP는 사용자에게 모든 SP의 세션 종료를 알려줘야 한다.

<Logout Request>

• <LogoutRequest>는 HTTP Redirect binding으로 통신되어야 한다.

• <LogoutRequest>은 서명되어야 한다.

• Version 속성은 “2.0”으로 설정해야 한다.

• IDP는 <LogoutRequest>를 받는 즉시 <LogoutRequest>를 사용자가 방문했던 모든 SP에 전송해야 한다. 이전에 방문했던 SP 중 이미 세션이 종료된 SP는 제외한다.

• SP들은 <LogoutRequest>를 받는 즉시 사용자의 세션을 종료한다.

• IDP는 사용자가 로그아웃 되면(즉, 인증 세션의 종료), 단일 로그아웃을 완료하기 위해 <LogoutResponse>을 최초의 SP로 보낸다.

<LogoutResponse>

• <LogoutResponse>는 HTTP Redirect binding으로 통신되어야 한다.

• <LogoutResponse>은 서명되어야 한다.

• Version 속성은 “2.0”으로 설정해야 한다.

• 만약, <LogoutResponse>의 상태가 ‘urn:oasis:names:tc:SAML:2.0:status:Success’이 아니면 <LogoutResponse>의 수신인은 사용자에게 아직 SP의 세션이 활성화 되어 있을 수도 있다는 것을 알리고, 사용자의 브라우저를 닫도록 권고해야한다. 그렇지 않으면, SP의 시스템은 사용자에게 성공적으로 로그아웃 처리가 됐다고 알려야 한다.

2.3 전자서명(Digital Signature)

모든 SAML 메시지는 행정전자서명 인증체계에서 발급된 인증서를 이용하여 서명한다.

2.4 암호화(Encryption)

SAML 메시지내의 암호화 처리는 수신 엔터티 측의 행전전자서명 발급 인증서의 공개키를 이용한다.

2.5 EAI 통신 데이터 전문 형식

엘리먼트/ Attubute명				횟수	설명
Ac	cReg			1	루트태그로 각 정보 규격마다 태그명을 다르게 정의한다. SysInfo: SP정보, AccReg: 계정생성정보 AccMod: 계정변경정보, AccCid: 센터계정정보
	us	er		0..n	해당 내역정보가 여러개인 정보규격에 사용하며, 루트태그가 계정변경정보(AccMod)인 경우만 해당한다.
		at	tr	0..n	정보의 특정 필드를 의미하며 LDAP 의 Attribute 에 해당한다.
			name	1	해당 필드명을 의미하여 LDAP 의 Attribute 명에 해당한다.
			value	0..n	해당 필드의 데이터로 LDAP 의 Attribute Value 에 해당한다. 값 정보가 여러개인 경우 value 엘리먼트를 여러번 넣을 수 있다.

2.6 SOAP 요청 전문의 예

<?xml version="1.0" encoding="UTF-8"?>

<!-- SOAP 봉투 부분 -->

<SOAP-ENV:Envelope

xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

<!-- SOAP 본문 -->

<SOAP-ENV:Body>

<!-- 실제 전문 데이터 부분 -->

<AccReg> <!-- 루트 태그를 정보의 구분자로 사용 (계정생성) -->

<attr name="userNum"><value>@@8QRzkREFqBrgAC</value></attr>

...중략...

<attr name="processCode"><value>N</value></attr>

</AccReg>

</SOAP-ENV:Body>

</SOAP-ENV:Envelope>

[ WS-Security 가 적용된 전문 ]

<?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xenc="http://www.w3.org/2001/04/xmlenc#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><SOAP-ENV:Header><wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" SOAP-ENV:mustUnderstand="1"><wsse:BinarySecurityToken xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary" ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3" wsu:Id="43EE229120DD29164F12892004262854" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">MIID5TCCAs2gAwIBAgIQSoznygAO4KDmmFlYxit2zzANBgkqhkiG9w0BAQUFADBQMQswCQYDVQQGEwJLUjEcMBoGA1UEChMTR292ZXJubWVudCBvZiBLb3JlYTENMAsGA1UECxMER1BLSTEUMBIGA1UEAxMLQ0ExMzEwMDAwMDEwHhcNMDkwODIwMDYwNjAyWhcNMTExMTIwMDYwNjAyWjBdMQswCQYDVQQGEwJLUjEcMBoGA1UECgwTR292ZXJubWVudCBvZiBLb3JlYTEYMBYGA1UECwwPR3JvdXAgb2YgU2VydmVyMRYwFAYDVQQDDA1TVlIxMzExMzU5MDEwMIGeMA0GCSqGSIb3DQEBAQUAA4GMADCBiAKBgGMrXqJ3oMRQ8tiTfdN4sfjrxWjpA2BKTCu0gqcFi+pN+geunQ70yDpetNI9eQqXiT+myg8Yrm+d1WLlZQAb+ExNwk2B6+63phAO4j0sTeO24oV8P87VNEbn4xjnHOChjgU9ipQ7/74zjAlENmzue5NrNMgRR4TQS/PRhUKL9UPHAgMBAAGjggExMIIBLTAfBgNVHSMEGDAWgBQBzxeuBI2HzLdVC3Fsa0ic5rGylTAdBgNVHQ4EFgQUgOx6bf4J50kvHtW9SL5VD/P7tpAwDgYDVR0PAQH/BAQDAgUgMBgGA1UdIAQRMA8wDQYJKoMaho0hAgECMAAwgYgGA1UdHwSBgDB+MHygeqB4hnZsZGFwOi8vY2VuLmRpci5nby5rcjozODkvY249Y3JsMDAyNSxjbj1DQTEzMTAwMDAwMSxvdT1HUEtJLG89R292ZXJubWVudCBvZiBLb3JlYSxjPUtSP2NlcnRpZmljYXRlUmV2b2NhdGlvbmxpc3Q7YmluYXJ5MDYGCCsGAQUFBwEBBCowKDAmBggrBgEFBQcwAYYaaHR0cDovL2d2YS5ncGtpLmdvLmtyOjgwODAwDQYJKoZIhvcNAQEFBQADggEBAHCwp3HLoU1s9wurqh3DtESi5xO1c2kgJ+PfaJh4PiNfb2oC08UnfZJrZIjKZCEmlvw0xCKdL3AxC67PhqLYZ4UgqXnhxOFaYQ8LSrG5vKUtL6aWZusZuT9qpTy/VOm4JywSnMcru0tzGfIj4+4LrOPzbiprmij7aHqNLKLSeLHgTu/X2THe6CmHPm3K4uInZ3Ovj61whV5P14uk2XjAByYwpzZgwD8mPsUjEaLYb0B5vXFqjwoZm9e7P+Q73ew/DiqHbiVLsKuohyw7Sr5pBhwEcFMcR1KzMnW03NoX5e2lZ6UUVv31/iiTPM2H2KGj2qMvl8q7a7suPn97QXu4oZ0=</wsse:BinarySecurityToken><xenc:EncryptedKey Id="EncKeyId-43EE229120DD29164F12892004262955" xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"><xenc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-1_5"/><ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">

<wsse:SecurityTokenReference xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"><wsse:Reference URI="#43EE229120DD29164F12892004262854" ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"/></wsse:SecurityTokenReference>

</ds:KeyInfo><xenc:CipherData><xenc:CipherValue>Mp/gm6h7m0tsRCf77TXGRBkEjpn8OlSitSH5tCVnh1BQmvowgtpRdHUvqGHMFsLAzDsjNj/ZSht2txasNgdYvS6gFiuHgBwzQ0zFqLot3/03xIUnvP51Mpt9FBmMwYJ/g1fc3RrYYlLjw0+LNX+BwJaDnxcE1IYasmZbFG84Z+M=</xenc:CipherValue></xenc:CipherData><xenc:ReferenceList><xenc:DataReference URI="#EncDataId-3"/></xenc:ReferenceList></xenc:EncryptedKey><wsse:BinarySecurityToken xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary" ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3" wsu:Id="CertId-43EE229120DD29164F12892004260141"

.....................................................................................

BZti0Rs6I3roujq3T8rEbXCSDkdcfb78CqqXtmy+aLgVOovkP7MREYEaVidvzOfD5ezqyJ0S3kzZUTD1eYb8t6JfaAmJWKdO+qTBGXnnw4vtBRT5OVhr1irktyQAAX9Ze6pS6FROHuIjsMGfg8kqZurXwlaHA6SA48ThbxAlU22X+cm7U1DMTDB0teZia8GIh9IbSyMIoYPnxaie9MRWluK1pDAfyL/0LFbSBnFhajxpp1j8ZyxIKhXg1fxUFKWIdVYeY7rgXjV23d1UAzB5g2+NZufXDXeD3ppHGNKmJbc4Jf+PjmRxh4of19T8elKWgQWo2FeyaJNaA9NFcRmVVXQDg5rzW+os2lUAOUB8UCd1vmqSy1AbyhRvkKaC6Zf6pRtEQqYEakvbLM4eA0fNnc82xppIbNtvpUPl0ukzt49+qbLCfNhnEGrobc9baEmjiTjXP99OzzdFDMxunmjhG9Sdl6+3BOYVqJrmy62XRR+mik0UX/L9kh6KrhlPPn81TQkV6egskGfpywGCyZ0s

ubwmrwUkLWbObmZNdoFtUkY65eB1rcfUmCPM8+/VnBywU+BPeKufR6dkf487VvYCFrRmu6HdLzgAfGZUzHoG3QDSjW0yMuP/9/0eyCqCUJBFmFTQeJGX1DAGY7/Vi6Spj3Zqgp5thSAiUdl5B5EF1uhyOW2aqJTy9JFSwSgoeJenD9NLOKqfndIl2iGzmH0bY/Wjz9fbUuA5ya2F26ecT79WBiN8ZuaseIM+cgtZ+rQIgeC3QsCHAx5vrOughzlbdHjo1/R71gkKf75u1gKpINiy4qxyCJMZ9Nf0wSFVpJWL77ojmP6nlRXbJ24Hfq4Lfw8P7sJfsZ8F+4u/AesMHqUGjry/oYnETjqu/97y2SOTY/9fDeL/SPEvtZwg

reziBFI6sDDgYirqEz/w9pwUNVLTBK9fcNqvoLIzJFRirkE+2OXrfEFxya7j6/ENqXYcZkpVO+CKakWJ0SNiUrrtCwijDEVHfOd8DrOMZWTS4bc4HxwhAFF6A/BLN5/PG6RBg+OCwbJw5uca2J7EcB66TplJy+ACI3HnAgC1A56qRiIgBQ+Q8nIKZNUaEkThZrfC</xenc:CipherValue></xenc:CipherData></xenc:EncryptedData></SOAP-ENV:Body>

</SOAP-ENV:Envelope>

2.7 SP(서비스제공자) 정보 전문의 예

<?xml version="1.0" encoding="UTF-8"?>

<SysInfo>

<!-- 게이트웨이 서비스 -->

<attr name="spid"><value>1311000YG0174</value></attr>

<!-- 게이트웨이 코드 -->

<attr name="gatewayCode"><value>1311000</value></attr>

<!-- 시스템 명칭 -->

<attr name="cn"><value>동일빌딩시스템</value></attr>

<!-- 시스템 코드 -->

<attr name="acId"><value>YG0174</value></attr>

<!-- 시스템 설명 -->

<attr name="acDescription"><value>http://10.47.2.68:9601/sso/index.jsp</value></attr>

<!-- 시스템 유형 -->

<attr name="acJobType"><value>APP</value></attr>

<!-- 조직(부서) 코드 -->

<attr name="acOrgId" />

<!-- 관리자 계정 -->

<attr name="acAdministrator"><value>3426a100f7e5ff85f110cf7bfc,김홍구</value></attr>

<!-- 신뢰수준 레벨 -->

<attr name="assuranceCd" />

<!-- 인증수단 코드 -->

<attr name="methodCd" />

<!-- 행정정보 중요도 -->

<attr name="ciaValue" />

<!-- 개인정보 보유량 -->

<attr name="privateValue" />

<!-- 위험도 평가 -->

<attr name="dangerValue" />

<!-- 위험도 추가 우려사항 -->

<attr name="dangerAdd" />

<!-- 등록자 -->

<attr name="gwId" />

<!-- 인덱스 URL -->

<attr name="acIndexURL"><value>http://www.uauth.go.kr/index.jsp</value></attr>

<!-- 인증서 DN -->

<attr name="CertificateDNsp"><value>cn=test</value></attr>

</SysInfo>

2.8 계정정보 전문의 예

[ 계정생성 정보 전문의 예 ]

<?xml version="1.0" encoding="UTF-8"?>

<AccReg>

<!-- 식별코드 -->

<attr name="userNum"><value>@@8QRzkREFqBrgAC</value></attr>

<!-- 통합계정아이디 -->

<attr name="requestUid"><value>41701b695e1f419d043f48782e7540e5</value></attr>

<!-- 사용자구분 -->

<attr name="userRole"><value>U</value></attr>

<!-- 신청일자 -->

<attr name="accountDate"><value>2010-11-03 15:07:54</value></attr>

<!-- 신청자명 -->

<attr name="accountName"><value>gw어드민(서울)</value></attr>

<!-- 신청자메일 -->

<attr name="accountMail"><value>gwadmin@mopas.go.kr</value></attr>

<!-- 신청자핸드폰번호 -->

<attr name="accountMobile"><value>000-0000-0000</value></attr>

<!-- 최상위기관코드 -->

<attr name="topOuCode"><value>0000000</value></attr>

<!-- 차상위기관코드 -->

<attr name="parentOuCode"><value>0000000</value></attr>

<!-- 기관코드 -->

<attr name="ouCode"><value>9999999</value></attr>

<!-- 최상위로부터의 조직명 -->

<attr name="orgFullName"><value>데이터센터</value></attr>

<!-- 기관게이트웨이 코드 -->

<attr name="gatewayCode"><value>6110000</value></attr>

<!-- 상태코드 -->

<attr name="statusCode"><value>C</value></attr>

<!-- 처리코드 -->

<attr name="processCode"><value>N</value></attr>

</AccReg>

[ 계정변경 정보 전문의 예 ]

<?xml version="1.0" encoding="UTF-8"?>

<AccMod>

<!-- user 태그로 여러 데이터임을 표현함 -->

<user>

<!-- 식별코드 -->

<attr name="userNum"><value>@@8QRzkR7MSjRgAC</value></attr>

<!-- 통함계정아이디 -->

<attr name="requestUid"><value>41701b695e1f419d043f48782e7540e5</value></attr>

<!-- 사용자구분 -->

<attr name="userRole"><value>U</value></attr>

<!-- 신청일자 -->

<attr name="accountDate"><value>2010-10-27 17:18:25</value></attr>

<!-- 신청자명 -->

<attr name="accountName"><value>gw어드민(서울)</value></attr>

<!-- 최상위기관코드 -->

<attr name="topOuCode"><value>0000000</value></attr>

<!-- 차상위기관코드 -->

<attr name="parentOuCode"><value>0000000</value></attr>

<!-- 기관코드 -->

<attr name="ouCode"><value>9999999</value></attr>

<!-- 최상위로부터의 조직명 -->

<attr name="orgFullName"><value>데이터센터</value></attr>

<!-- 기관게이트웨이 코드 -->

<attr name="gatewayCode"><value>6110000</value></attr>

<!-- 상태코드 -->

<attr name="statusCode"><value>D</value></attr>

<!-- 처리코드 -->

<attr name="processCode"><value>N</value></attr>

</user>

</AccMod>

[ 센터계정 정보 전문의 예 ]

<?xml version="1.0" encoding="UTF-8"?>

<AccCid>

<!-- 일련번호 -->

<attr name="deployNum"><value>@@8QRwJoEF0DmgAC</value></attr>

<!-- 기관사용자계정 -->

<attr name="deployUid"><value>41701b695e1f419d043f48782e7540e5</value></attr>

<!-- 센터아이디 -->

<attr name="deployCid"><value>@@8QRwJoEF0DmgAC</value></attr>

<!-- 기관게이트웨이 코드 -->

<attr name="gatewayCode"><value>6110000</value></attr>

<!-- 등록일자 -->

<attr name="reqDate"><value>2010-11-03 15:10:39</value></attr>

<!-- 처리코드 -->

<attr name="deployProcessCode"><value>N</value></attr>

</AccCid>

2.9 인증요청 및 응답의 예

○ 인증요청

<?xml version="1.0" encoding="UTF-8"?>

<!-- 인증 요청 메시지 -->

<AuthnRequest xmlns="urn:oasis:names:tc:SAML:2.0:protocol"

xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"

xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"

xmlns:xsd="http://www.w3.org/2001/XMLSchema"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

Destination="http://mopas.uauth.go.kr/SSO/POST-SingleSignOn.html"

ForceAuthn="false" ID="a04c15d24a5d3acc59e68383fa23b301"

IsPassive="false" IssueInstant="2010-11-04T05:03:02Z"

ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Version="2.0">

<!-- 인증요청 하는 SP(서비스제공자) 기관코드 -->

<Issuer xmlns="urn:oasis:names:tc:SAML:2.0:assertion"

Format="urn:oasis:names:tc:SAML:2.0:nameid-format:entity">YG0001</Issuer>

<!-- 인증 요청 방식(인증서 방식을 요청함) -->

<RequestedAuthnContext Comparison="minimum">

<AuthnContextClassRef xmlns="urn:oasis:names:tc:SAML:2.0:assertion">

urn:oasis:names:tc:SAML:2.0:ac:classes:X509

</AuthnContextClassRef>

</RequestedAuthnContext>

</AuthnRequest>

○ 인증응답

<?xml version="1.0" encoding="UTF-8"?>

<!-- 로그인 및 SSO 처리 응답 메시지 -->

<Response xmlns="urn:oasis:names:tc:SAML:2.0:protocol"

xmlns:ds="http://www.w3.org/2000/09/xmldsig#"

xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"

xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"

ID="a46b7fb4bfbe703ed29caa8113771571"

InResponseTo="d9dc851f3ef85f7004a3d2a48b55e921"

IssueInstant="2010-11-04T13:56:10Z"

Version="2.0">

<!-- 로그인 및 SSO 처리한 IDP 기관코드 -->

<Issuer xmlns="urn:oasis:names:tc:SAML:2.0:assertion">

IDP002

</Issuer>

<!-- 로그인 및 SSO 처리의 성공, 실패 코드(성공) -->

<Status>

<StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Success">

</StatusCode>

</Status>

<!-- 사용자 인증 정보 메시지 -->

<Assertion xmlns="urn:oasis:names:tc:SAML:2.0:assertion"

ID="ba86aad3b6fe090079be2d4f7281342b"

IssueInstant="2010-11-04T04:56:10Z"

Version="2.0">

<!-- 인증 처리한 기관 코드 -->

<Issuer>IDP002</Issuer>

<!-- 사용자의 아이디 정보 -->

<Subject>

<saml:NameID xmlns:xsd="http://www.w3.org/2001/XMLSchema"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

Format="urn:oasis:names:tc:SAML:2.0:nameid-format:persistent"

SPProvidedID="gwadmin">

</saml:NameID>

</Subject>

<AuthnStatement AuthnInstant="2010-11-04T04:56:10Z">

<!-- 인증 처리한 방식(인증서) -->

<AuthnContext>

<AuthnContextClassRef>

urn:oasis:names:tc:SAML:2.0:ac:classes:X509

</AuthnContextClassRef>

</AuthnContext>

</AuthnStatement>

<!-- 사용자의 속성 정보 -->

<AttributeStatement>

<!-- 사용자의 이름 -->

<Attribute FriendlyName="friendlyName"

Name="name"	NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic">

<AttributeValue>이정주</AttributeValue>

</Attribute>

<!-- 사용자의 부서이름 -->

<Attribute FriendlyName="friendlyName"

Name="ou"

NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic">

<AttributeValue>정부전자문서유통관리센터</AttributeValue>

</Attribute>

<!-- 사용자의 부서코드 -->

<Attribute FriendlyName="friendlyName"

Name="oucode"

NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic">

<AttributeValue>9999999</AttributeValue>

</Attribute>

<!-- 사용자의 상위부서코드 -->

<Attribute FriendlyName="friendlyName"

Name="parentoucode"

NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic">

<AttributeValue>0000000</AttributeValue>

</Attribute>

<!-- 사용자의 최상위부서코드 -->

<Attribute FriendlyName="friendlyName"

Name="topoucode"

NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic">

<AttributeValue>9999999</AttributeValue>

</Attribute>

<!-- 사용자의 인증서DN -->

<Attribute FriendlyName="friendlyName"

Name="certdn"

NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic">

<AttributeValue>cn=999이정주001,ou=people,ou=정부전자문서유통관리센터,o=Government of Korea,c=KR</AttributeValue>

</Attribute>

<!-- 사용자의 이메일 -->

<Attribute FriendlyName="friendlyName"

Name="mail"

NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic">

<AttributeValue>gwadmin@mopas.go.kr</AttributeValue>

</Attribute>

<!-- 사용자의 전화번호 -->

<Attribute FriendlyName="friendlyName"

Name="phone"

NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic">

<AttributeValue>

</AttributeValue>

</Attribute>

<Attribute FriendlyName="friendlyName"

Name="isusermodify"

NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic">

<AttributeValue>n</AttributeValue>

</Attribute>

</AttributeStatement>

</Assertion>

</Response>