전자서명인증서프로파일규격 Digital Signature Certificate Profile v1.70 2009년 9월
목 차 1. 개요 1 2. 규격의구성및범위 1 3. 관련표준 1 3.1 국외표준및규격 1 3.2 국내표준및규격 2 3.3 기타 2 4. 정의 2 4.1 전자서명법용어정의 2 4.2 용어의정의 3 4.3 용어의효력 3 5. 약어 4 6. 전자서명공인인증서프로파일 4 6.1 인증서기본필드 4 6.2 인증서확장필드 5 7. 상호연동을위한요구사항 13 부록 부록 1. 전자서명인증체계공인인증서프로파일요약 14 2. 규격연혁 21
전자서명인증서프로파일기술규격 Digital Signature Certificate Profile 1. 개요 본규격에서는전자서명법에따라구축된공인전자서명인증체계의공인인증기관이 유무선 공인인증서비스를제공하는데있어필수적으로요구되는전자서명공인 인증서( 이하인증서) 프로파일을규정한다. 2. 규격의구성및범위 본규격은 [RFC3280] 을준수하여전자서명인증체계에서사용되는 인증서에대한프로파일규격을정의하고있다. X.509 v3 첫번째로본문에서는인증서내기본필드와확장필드의사용목적및구조체등을정의하고있으며, 두번째로부록에서는최상위인증기관과공인인증기관, 사용자소프트웨어가인증서를생성하고처리하기위한요구사항들을명시하고있다. 3. 관련표준 3.1 국외표준및규격 [X500] ITU-T Recommendation X.500 (1997) ISO/IEC 9594-1:1998, Information technology - Open Systems Interconnection - The Directory : Overview Of Concepts, Models and Services [X501] ITU-T Recommendation X.501 (1997) ISO/IEC 9594-2:1995, Information technology - Open Systems Interconnection - The Directory : Part 2 : Models [X509] ITU-T Recommendation X.509 (1997) ISO/IEC 9594-8:1998, Information technology - Open Systems Interconnection - The Directory : Authentication Framework [RFC2119] IETF RFC 2119 (1997), Key Words for use in RFCs to Indicate Requirement Levels -1-
[RFC2459] IETF RFC 2459 (1999), Internet X.509 Public Key Infrastructure Certificate and CRL Profile [RFC3280] IETF RFC 3280 (2002), Internet X.509 Public Key Infrastructure Certificate and CRL Profile [WAPCert] WAP-211-WAPCert-20010522-a(2001), WAP Certificate and CRL Profiles [RFC3850] IETF RFC 3850 (2004), Secure/Multipurpose Internet Mail Extensions (S/MIME) Version 3.1 Certificate Handling 3.2 국내표준및규격 [KCAC.TS.DSIG] KISA, KCAC.TS.DSIG, v1.30, 전자서명알고리즘규격, 2009 [KCAC.TS.CRLPROF] KISA, KCAC.TS.CRLPROF, v1.50, 전자서명인증서효력정지및 폐지목록프로파일규격,2009 [KCAC.TS.NSACA] KISA, KCAC.TS.NSACA, v1.11, 공인인증서표시를위한기술 [KCAC.TS.SIVID] 규격,2009 KISA, KCAC.TS.SIVID, v1.21, 식별번호를이용한본인확인기술 규격,2009 [KCAC.TS.DN] KISA, KCAC.DN, v1.21, 전자서명인증체계 DN 규격,2009 [KCAC.TS.HSMU] KISA, KCAC.TS.HSMU, v1.90, 보안토큰기반공인인증서이용 기술규격,2009 3.3 기타 해당사항없음 4. 정의 4.1 전자서명법용어정의 본규격에서사용된다음의용어들은전자서명법및동법시행령, 공인인증기관의 시설및장비등에관한규정( 행정안전부고시) 에정의되어있다. 가) 나) 다) 라) 인증서전자서명인증체계가입자가입자소프트웨어 -2-
마) 공인인증서 4.2 용어의정의 해당사항없음 4.3 용어의효력 본규격에서사용된다음의용어들은공인인증기관및가입자소프트웨어의구현 정도를의미하는것으로 [RFC2119] 를준용하며다음과같은의미를지닌다. 가) 해야한다, 필수이다, 강제한다 ( 기호 : M) 반드시준수해야한다. 나) 권고한다 ( 기호 : R) 보안성및상호연동을고려하여준수할것을권장한다. 다) 할수있다, 쓸수있다 ( 기호 : O) 주어진상황을고려하여필요한경우에한해선택적으로사용할수있다. 라) 권고하지않는다 ( 기호 : NR) 보안성및상호연동을고려하여사용하지말것을권장한다. 마) 금지한다, 허용하지않는다 ( 기호 : X) 반드시사용하지않아야한다. 바) 언급하지않는다, 정의하지않는다 ( 기호 : -) 준수여부에대해기술하지않는다. 5. 약어 본규격에서는다음의약어가이용된다. 가) DN : Distinguished Name, 식별명칭나) ASN.1 : Abstract Syntax Notation One, 추상적구문표기다) CPS : Certification Practice Statement, 인증업무준칙 6. 전자서명공인인증서프로파일 6.1 인증서기본필드 인증서기본필드는인증서의버전, 발급자, 유효기간등인증서의기본정보를 -3-
나타낸다. 아래정의된기본필드는공인인증서에모두포함되어야하며, 소프트웨어는이를처리해야한다. 가입자 6.1.1 버전(Version) 버전필드는공인인증서형식을구별할수있는기능을제공하는데본규격에 서는정수 2값을갖는버전 3 인증서만허용한다. Version ::= INTEGER { v1(0), v2(1), v3(2) } 6.1.2 일련번호(Serial Number) 일련번호필드는공인인증기관이발급하는공인인증서에부여하는유일한양의 정수이다. 이값은공인인증서효력정지및폐지목록에서더이상유효하지않는 목록들에대한참조정보로사용된다. 최대 모든인증서의일련번호는 20 바이트를넘을수없으며, 가입자소프트웨어는 20 바이트길이의일련번호를처리할수있어야한다. 6.1.3 서명알고리즘(Signature) 서명알고리즘필드는공인인증기관이인증서를생성할때사용하는서명알고 리즘의 다. OID 값을가진다. 사용하는서명알고리즘은 [KCAC.TS.DSIG ] 를준수해야한 6.1.4 발급자(Issuer) 발급자필드는공인인증서를발급한인증기관의명칭을 DN 형식으로표현하며 반드시값을가져야한다. 여기서 DN 형식은 [KCAC.TS.DN] 을준수해야한다. 6.1.5 유효기간(Validity) 유효기간필드는공인인증기관이공인인증서의상태를보증해주는기간을나타 낸다. 이필드는다음과같이공인인증서유효기간의시작을나타내는시작시각 (notbefore) 과유효기간의종료시점을나타내는종료시각(notAfter) 에시작정보를 저장하여유효기간을표현한다. Validity ::= SEQUENCE { -4-
notbefore Time, notafter Time } 시각정보(Time) 는 GMT로표현하며 2049년까지 UTCTime 형식을사용하고 2050년부터는 GeneralizedTime 형식을사용해야한다. 6.1.6 소유자(Subject) 소유자필드는공인인증서소유자의명칭을 DN 형식으로표현하며반드시 값을가져야한다. 여기서 DN 형식은 [KCAC.TS.DN] 을준수해야한다. 6.1.7 소유자공개키정보(Subject Public Key Info) 소유자공개키정보필드는소유자의공개키에대한알고리즘및공개키정보를 나타낸다. SubjectPublicKeyInfo ::= SEQUENCE { algorithm AlgorithmIdentifier, subjectpublickey BIT STRING } algorithm은알고리즘의고유정보를 OID로나타내며사용되는알고리즘은 [KCAC.TS.DSIG ] 를준수해야한다. 6.2 인증서확장필드 6.2.1 발급자공개키식별자(Authority Key Identifier) 발급자공개키식별자확장필드는인증서를서명하는데사용된인증기관개인키에 대응되는공개키를식별하기위해사용된다. } AuthorityKeyIdentifier ::= SEQUENCE { KeyIdentifier [0] KeyIdentifier OPTIONAL, authoritycertissuer [1] GeneralNames OPTIONAL, authoritycertserialnumber [2] CertificateSerialNumber OPTIONAL 발급자공개키를식별하기위하여 KeyIdentifier 와 authoritycertissuer, authoritycertserialnumber 를모두사용해야한다. KeyIdentifier는발급자인증서 의소유자공개키정보확장필드의 subjectpublickey 값을 SHA-1 알고리즘으로 해쉬한 160비트값을 OCTET STRING 형태로저장한다. -5-
발급자공개키식별자는공인인증기관과사용자인증서에포함되어야하고 가입자소프트웨어는이확장필드를처리해야한다. 이확장필드는 non-critical 로설정되어야한다. 6.2.2 소유자공개키식별자(Subject Key Identifier) 소유자공개키식별자확장필드는인증기관으로부터인증받은공개키를식별 한다. SubjectKeyIdentifier ::= KeyIdentifier KeyIdentifier는인증서내소유자공개키정보확장필드의 subjectpublickey 값을 SHA-1 알고리즘으로해쉬하여 160비트값을 OCTET STRING 형태로저장한다. 소유자공개키식별자는인증서에포함되어야하고가입자소프트웨어는이확 장필드는처리해야한다. 이확장필드는 non-critical 로설정되어야한다. 6.2.3 키사용목적(Key Usage) 키사용목적확장필드는인증서에포함된소유자의공개키가사용되는목적을 명시한다. KeyUsage ::= BIT STRING { digitalsignature (0), nonrepudiation (1), keyencipherment (2), dataencipherment (3), keyagreement (4), keycertsign (5), crlsign (6), encipheronly (7), decipheronly (8) } 인증기관인증서는키사용목적확장필드의값으로 KeyCertSign과 crlsign을 -6-
사용해야하며, 사용자인증서는 digitalsignature와 nonrepudiation을사용해야 한다. 가입자소프트웨어는이확장필드를처리할수있어야하며이확장필드는 critical 로설정되어야한다. 6.2.4 인증서정책(Certificate Policy) 인증서정책확장필드는인증서를발급하는데적용된인증기관의인증서정책 을나타낸다. certificatepolicies EXTENSION ::= { SYNTAX CertificatePoliciesSyntax IDENTIFIED BY id-ce-certficiatepolicies } certificatepoliciessyntax ::= SEQUENCE SIZE(1..MAX) OF PolicyInformtation PolicyInformation ::= SEQUENCE { policyidentifier CertPolicyId, policyqualifiers SEQUENCE SIZE(1..MAX) OF PolicyQualifierInfo OPTIONAL} CertPolicyID ::= OBJECT IDENTIFIER PolicyQualifierInfo ::= SEQUENCE { policyqualifierid CERT-POLICY-QUALIFIER.&id ({SupportedPolicyQualifiers}), qualifier CERT-POLICY-QUALIFIER.&Qualifier ({SupportedPolicyQualifiers}{@policyQualifierId}) OPTIONAL} policyidentifier 하위필드는인증서정책에대한 OID 를값으로갖는다. policyqualfiers 하위필드는 [KCAC.TS.NSACA] 를준수하여 cpsuri와 usernotice 를사용해야한다. 이확장필드는최상위인증기관인증서의경우에는 non-critical 로설정하고, 공인인증기관및사용자인증서의경우 사용자인증서가전자우편보안용으로사용되는경우에는 할것을권고한다. critical로설정할것을권고한다. 다만, non-critical로설정 가입자소프트웨어는이확장필드를처리할수있어야한다. -7-
6.2.5 인증서정책매핑(Policy Mappings) 인증서정책매핑확장필드는인증서비스영역간의상호인증시상대방인증서 비스영역의인증서정책을받아들이고자하는경우에사용된다. 인증서정책매핑확장필드는상호인증을위해최상위인증기관인증서에서선택적으로사용될수있으며, 가입자소프트웨어는이확장필드는처리할수있어야한다. 이확장필드는 non-critical 로설정되어야한다. 6.2.6 소유자대체명칭(Subject Alternative Name) 소유자대체명칭확장필드는소유자의추가적인명칭을나타내며,identityData 필드를사용하여인증서비스영역내에서사용되는고유한식별정보를나타낼 수있다. 식별정보의생성및주입위치는 [KCAC.TS.SIVID] 를준수해야한다. 만일공인인증서를전자우편보안용으로사용하고자하는경우,rfc822Name에사용 자의이메일주소를포함하여야한다. SubjectAltName ::= GeneralNames GeneralNames := SEQUENCE SIZE(1..MAX) of GeneralName GeneralName ::= CHOICE{ othername [0] OtherName, rfc822name [1] IA5String, dnsname [2] IA5String, X400Address [3] ORAddress, directoryname [4] Name, edipartyname [5] EDIPartyName, uniformresourceidentifier [6] IA5String, ipaddress [7] OCTET STRING, registeredid [8] OBJECT IDENTIFIER } id-kisa-identifydata OBJECT IDENTIFIER ::= { id-attribute 1 } identitydata ::= SEQUENCE { realname UTF8String, userinfo SEQUENCE SIZE (1..MAX) OF AttributeTypeAndValue OPTIONAL } -8-
공인인증기관및사용자인증서는소유자식별정보를사용하여본확장필드를사용해야하며, 가입자소프트웨어는이확장필드를처리할수있어야한다. 이확장필드는 non-critical 로설정되어야한다. 6.2.7 발급자대체명칭(Issuer Alternative Name) 발급자대체명칭확장필드는인증기관의추가적인명칭을나타내며인증서비스 영역내에서사용되는고유한식별정보를나타낼수있다. 인증기관의고유정보를나타내고자하는경우에는 6.2.7에서정의한형식을사용 한다. 발급자대체명칭확장필드는공인인증기관과가입자인증서에서선택적으로 포함될수있으며, 모든가입자소프트웨어는이확장필드를처리할수있어야한다. 이확장필드는 non-critical 로설정되어야한다. 6.2.8 기본제한(Basic Constraints) 기본제한확장필드는사용자가인증기관의역할을수행하는것을방지하며 이를위하여인증기관의여부및인증경로의길이를제한한다. 이확장필드는 인증기관용인증서에만포함되며사용자인증서에는포함되지말아야한다. BasicConstraintsSyntax ::= SEQUENCE { ca BOOLEAN DEFAULT FALSE, pathlenconstraint INTEGER (0..MAX) OPTIONAL } 최상위인증기관과공인인증기관의인증서는 ca 하위필드의값으로 TRUE를가 진다. 공인인증기관인증서는 pathlenconstraints하위필드의값으로 0 을가진다. 이확장필드는 한다. critical로설정되며모든가입자소프트웨어는이필드를처리해야 6.2.9 명칭제한(Name Constraints) 명칭제한확장필드는소유자필드및소유자대체명칭확장필드에서사용되는 명칭의범위를제한한다. -9-
NameConstraintsSntax ::= SEQUENCE { permittedsubtrees[0] GeneralSubtrees OPTIONAL, excludedsubtrees[1] GeneralSubtrees OPTIONAL } GeneralSubtrees ::= SEQUENCE SIZE (1..MAX) OF GeneralSubtree GeneralSubtree ::= SEQUENCE { base GeneralName, manimum[0] BaseDistance DEFAULT 0, maximum[1] BaseDistance OPTIONAL } BaseDistance ::= INTEGER (0..MAX) 명칭제한은계층적인구조를가지는명칭에대해서만반영되며 소유자고유정보관련명칭등에는적용되지않는다. 6.2.7에서정의한 이확장필드는사용자인증 서에는포함되지말아야하며, 인증기관은선택적으로생성할수있다. 이확장필드는 한다. critical로설정되며모든가입자소프트웨어는이필드를처리해야 6.2.10 정책제한(Policy Constraints) 정책제한확장필드는인증서정책검사의요구및인증서정책매핑에대한 금지등에대한정보를나타낸다. policyconstraintssyntax ::= SEQUENCE{ requireexplicitpolicy [0] SkipCerts OPTIONAL, inhibitpolicymapping [1] SkipCerts OPTIONAL } SkipCerts ::= INTEGER (0..MAX) 이확장필드는공인인증기관인증서에만 critical로설정되어포함되며 requireexplictpolicy 하위필드값으로 0을사용하여사용자인증서의인증서정책을 검증하여야한다. 모든가입자소프트웨어는이확장필드를처리해야한다. - 10 -
6.2.11 확장키사용목적(Extended Key Usage) 확장키사용목적확장필드는키사용목적확장필드에서나타낼수있는것 이외의공개키사용목적을명시하며각각의사용목적에대한 OID 로나타낸다. extkeyusage EXTENSION ::= { SYNTAX SEQUENCE SIZE(1..MAX) OF KeyPurposeId IDENTIFIED BY id-ce-extkeyusage } KeyPurposedId ::= OBJECT IDENTIFIER id-kp-timestamping OBJECT IDENTIFIER ::= { id-kp 8} id-kp-ocspsigning OBJECT IDENTIFIER ::= { id-kp 9} 공인인증기관의 OCSP 서버용및시점확인용인증서인경우이확장필드를 반드시사용해야하며 critical 로설정되어야하고, 모든가입자소프트웨어는이 확장필드를처리해야한다. 또한, 가입자전자서명인증서의전자서명키가 [ KCAC.TS.HSMU] 을준용한보안토큰에서생성될경우이를인증서에표시하기위해 id-kisa-hsm 식별자를사용한다. 이경우확장필드는 non-critical 로설정되어야하고, 가입자소프트웨어에서이확장필드의처리는선택사항으로한다. id-kisa-hsm OBJECT IDENTIFIER ::= { iso(1) member-body(2) korea(410) kisa(200004) npki(10) attributes(1) kisa-hsm(2) } 6.2.12 인증서효력정지및폐지목록분배점(CRL Distribution Points) 인증서효력정지및폐지목록분배점확장필드는인증서의상태정보를확인하는 방법으로인증서효력정지및폐지목록을사용하는경우에이를획득할수있는 디렉토리서버의위치정보를나타낸다. crldistributionpoints EXTENSION ::= { SYNTAX CRLDistPointSyntax IDENTIFIED BY id-ce-crldistributionpoints } CRLDistPointSyntax ::= SEQUENCE SIZE (1..MAX) OF DistributionPoint DistribuiontPoint ::= SEQUENCE { - 11 -
distributionpoint [0] DistributionPointName OPTIONAL, reasons [1] ReasonFlags OPTIONAL, crlissuer [2] GeneralNames OPTIONAL } DistributionPointName ::= CHOICE { fullname [0] GeneralNames, namerelativetocrlissuer [1] RelativeDistinguishedName } 공인인증기관과사용자인증서는이확장필드의 distributionpoint 하위필드를반드시 포함해야하며, 이경우DistributionPointName.fullName은 ldap 주소의uRI 형태를 사용해야한다. 해당인증서의 CRL이간접CRL인경우에는 crlissuer 하위필드를반 드시포함해야한다. 이확장필드는사용해야하며non-critical 로설정되며, 모든가입자소프트웨어는 이확장필드를처리해야한다. 6.2.13 발급자정보접근(Authority Information Access) 발급자정보접근확장필드는인증서를발급한인증기관에대한정보를획득하 고자하는경우에사용되며인증기관정보에접근하는방법및위치정보등을 포함한다. AuthorityInfoAccessSyntax ::= SEQUENCE SIZE (1..MAX) OF AccessDescription AccessDescription ::= SEQUENCE { accessmethod OBJECT IDENTIFIER, accesslocation GeneralName } id-ad-caissuers OBJECT IDENTIFIER ::= { id-ad 2 } id-ad-ocsp OBJECT IDENTIFIER ::= { id-ad 1 } 이확장필드는사용자인증서에 non-critical로포함되며모든가입자소프트웨 어는이확장필드를처리해야한다.id-ad-ocsp를사용하여 ocsp서버에접근하기 위한 URL 을나타내야하며, id-ad-caissuers를사용하여최상위인증기관인증서 획득정보를포함할수있다. - 12 -
7. 상호연동을위한요구사항 전자서명인증체계에서사용되는공인인증서는이규격에서정의하고있는 인증서프로파일을준수해야한다. 만일, 상호연동용으로사용되어지는공인인증서에규격에서정의되지않은확장필드를추가적으로사용하고자하거나, 확장필드의값으로규격에서사용하도록정의하고있는값이외의값을추가적으로사용하고자하는경우에는해당인증서의상호연동성이보장되어야한다. - 13 -
부록 1. 전자서명인증체계공인인증서프로파일요약 가. 최상위인증기관전자서명인증서프로파일 1) 기본필드 # 필드명 ASN.1 type Note 지원여부 1 Version INTEGER 0x2( 버전 3) 2 Serial Number INTEGER 자동할당 3 4 5 6 생성 Issuer [KCAC.TS.DN] 준수 type OID C(Country) 는 printablestring, printablestring value 또는 utf8string 그이외의속성값은 utf8string Validity 최상위인증기관 CPS에명시 notbefore UTCTime 된유효기간준수 notafter UTCTime Subject [KCAC.TS.DN] 준수 type OID C(Country) 는 printablestring, printablestring value 또는 utf8string 그이외의속성값은 utf8string Subject Public Key Info algorithm OID 전자서명인증체계알고리즘기술규격준수 subjectpublickey BIT STRING 7 Extensions Extensions [1] C=KR,O=KISA,OU=Korea Certification Authority Central,CN=KISA RootCA 숫자 [2] CA와 client는 UTCTime 및 GeneralizedTime 모두를지원하는것을권고함 처리 비고 [1] [2] [1] - 14 -
2) 확장필드 # 필드명 ASN.1 type Note C 지원여부비생성처리고 1 Authority Key Identifier 최상위인증기관인증서는경 KeyIdentifier OCTET STRING 로구축대상이아니므로본 - authoritycertissuer GeneralNames 확장필드를생성하지않음 authoritycertserialnumber INTEGER x x 2 Subject Key Identifier OCTET STRING subjectpublickey 정보의 160비트해쉬값 n 3 Key Usage BIT STRING KeyCertSing, crlsign c o m Certificate Policy o m policyidentifier OID 최상위인증기관인증서정책 o m policyqualifiers o m PolicyQualifierId OID CPS, UserNotice o m 4 Qualifier n o m CPSuri IA5String 최상위인증기관홈페이지주소 o m UserNotice o m NoticeReference SEQUENCE - - ExplicitText BMPString 공인인증서표시규격준수 o m Policy Mappings 5 issuerdomainpolicy OID subjectdomainpolicy OID 국가간상호인증고려 n o m 6 Subject Alternative Names othername id-kisa-identifydata 에한글실명 n o m 7 Issuer Alternative Names othername id-kisa-identifydata 에한글실명 - x x Basic Constraints 8 ca TRUE c pathlenconstraint INTEGER 국가간상호인증고려 o m Policy Constraints o m 9 requireexplicitpolicy INTEGER c o m inhibitpolicymapping INTEGER - - Name Constraints 10 permittedsubtrees GeneralSubtrees c o m excludedsubtrees GeneralSubtrees 11 Extended Key Usage OID - x x CrlDistributionPoint o m 12 distributionpoint DistributionPointName ARL 획득정보 n o m reasons ReasongFlags o m crlissuer GeneralNames 간접ARL발급시사용 o m Authority Information Access 13 accessmethod OID id-ad-caissuers, id-ad-ocsp - x x accesslocation GeneralName - 15 -
나. 공인인증기관전자서명인증서프로파일 1) 기본필드 # 필드명 ASN.1 type Note 지원여부 1 Version INTEGER 0x2( 버전 3) 2 Serial Number INTEGER 자동할당 3 4 5 6 생성 Issuer [KCAC.TS.DN] 준수 type OID C(Country) 는 printablestring, printablestring value 또는 utf8string 그이외의속성값은 utf8string Validity 최상위인증기관 CPS에명시 notbefore UTCTime 된유효기간준수 notafter UTCTime Subject [KCAC.TS.DN] 준수 type OID C(Country) 는 printablestring, printablestring value 또는 utf8string 그이외의속성값은 utf8string Subject Public Key Info algorithm OID subjectpublickey BIT STRING 처리 비 고 7 Extensions Extensions - 16 -
2) 확장필드 # 필드명 ASN.1 type Note C 지원여부비생성처리고 Authority Key Identifier 1 KeyIdentifier OCTET STRING 3가지값을모두사용 n authoritycertissuer GeneralNames authoritycertserialnumber INTEGER 2 Subject Key Identifier OCTET STRING subjectpublickey 정보의 160비트해쉬값 n 3 Key Usage BIT STRING KeyCertSing, crlsign c Certificate Policy policyidentifier OID 공인인증기관인증서정책 policyqualifiers o m PolicyQualifierId OID CPS, UserNotice o m 4 Qualifier c o m CPSuri IA5String 공인인증기관 CPS 주소 o m UserNotice o m NoticeReference SEQUENCE - - ExplicitText BMPString 공인인증서표시규격준수 o m Policy Mappings 5 issuerdomainpolicy OID - - - subjectdomainpolicy OID 6 Subject Alternative Names othername id-kisa-identifydata 에공인인증기관한글실명 n 7 Issuer Alternative Names othername id-kisa-identifydata 에최상위인증기관한글실명 n o m Basic Constraints 8 ca TRUE c pathlenconstraint INTEGER 0 Policy Constraints 9 requireexplicitpolicy INTEGER 0 c inhibitpolicymapping INTEGER - - Name Constraints 10 permittedsubtrees GeneralSubtrees c o m excludedsubtrees GeneralSubtrees 11 Extended Key Usage OID - x x CrlDistributionPoint 12 distributionpoint DistributionPointName ARL 획득정보 [1] n reasons ReasongFlags o m crlissuer GeneralNames 간접ARL발급시사용 o m Authority Information Access 13 accessmethod OID id-ad-caissuers, id-ad-ocsp - x x accesslocation GeneralName [1] uri값으로 ldap://hostname[:portnumber]/dn[?attribute] 형식사용 - 17 -
다. 공인인증기관시점확인및 OCSP 서버용인증서프로파일 1) 기본필드 : 2) 확장필드 공인인증기관전자서명용인증서프로파일과동일 # 필드명 ASN.1 type Note C 지원여부생성처리비 고 Authority Key Identifier 1 KeyIdentifier OCTET STRING 3가지값을모두사용 n authoritycertissuer GeneralNames authoritycertserialnumber INTEGER 2 Subject Key Identifier OCTET STRING subjectpublickey 정보의 160비트해쉬값 n 3 Key Usage BIT STRING Digital Signature, non-repudiation c Certificate Policy policyidentifier OID 공인인증기관인증서정책 policyqualifiers PolicyQualifierId OID CPS, UserNotice 4 Qualifier c CPSuri IA5String 공인인증기관 CPS 주소 UserNotice NoticeReference SEQUENCE - - ExplicitText BMPString 공인인증서표시규격준수 5 Policy Mappings - - - 6 Subject Alternative Names othername id-kisa-identifydata 에가입자한글실명 n 7 Issuer Alternative Names othername id-kisa-identifydata 에발급기관한글실명 n o m 8 Basic Constraints - x x 9 Policy Constraints - - - 10 Name Constraints - - - 11 Extended Key Usage OID c CRL Distribution Point 12 distributionpoint DistributionPointName CRL 획득정보 [1] n reasons ReasonFlags o m crlissuer GeneralNames 간접CRL발급시사용 o m Authority Information Access 13 accessmethod OID id-ad-caissuers n o m [2] accesslocation GeneralName 14 OCSP No Check OID id-pkix-ocsp-nocheck n o m [3] [1] uri값으로 ldap://hostname[:portnumber]/dn[?attribute] 형식사용 OCSP 서버용인증서를공인인증기관이발급하는경우에는반드시생성 [2] 시점확인용인증서의경우에는사용하지않음 OCSP 서버용 shortlived 인증서를발행할경우사용 [3] 시점확인용인증서의경우에는사용하지않음 - 18 -
라. 웹서버보안인증서발급용인증서프로파일 1) 기본필드 : 2) 확장필드 공인인증기관전자서명용인증서프로파일과동일 # 필드명 ASN.1 type Note C 지원여부비생성처리고 Authority Key Identifier 1 KeyIdentifier OCTET STRING 3가지값을모두사용 n authoritycertissuer GeneralNames authoritycertserialnumber INTEGER 2 Subject Key Identifier OCTET STRING subjectpublickey 정보의 160비트해쉬값 n 3 Key Usage BIT STRING KeyCertSing, crlsign c Certificate Policy policyidentifier OID 공인인증기관인증서정책 policyqualifiers o m PolicyQualifierId OID CPS, UserNotice o m 4 Qualifier n o m CPSuri IA5String 공인인증기관 CPS 주소 o m UserNotice o m NoticeReference SEQUENCE - - ExplicitText BMPString 공인인증서표시규격준수 o m Policy Mappings 5 issuerdomainpolicy OID - - - subjectdomainpolicy OID 6 Subject Alternative Names othername id-kisa-identifydata 에공인인증기관한글실명 n 7 Issuer Alternative Names othername id-kisa-identifydata 에최상위인증기관한글실명 n o m Basic Constraints 8 ca TRUE c pathlenconstraint INTEGER 0 Policy Constraints 9 requireexplicitpolicy INTEGER 0 n inhibitpolicymapping INTEGER - - Name Constraints 10 permittedsubtrees GeneralSubtrees c o m excludedsubtrees GeneralSubtrees 11 Extended Key Usage OID - x x CrlDistributionPoint 12 distributionpoint DistributionPointName ARL 획득정보 [1] n reasons ReasongFlags o m crlissuer GeneralNames 간접ARL발급시사용 o m Authority Information Access 13 accessmethod OID id-ad-caissuers, id-ad-ocsp - x x accesslocation GeneralName [1] uri값으로 ldap://hostname[:portnumber]/dn[?attribute] 형식사용 - 19 -
마. 가입자전자서명인증서프로파일 1) 기본필드 : 2) 확장필드 공인인증기관전자서명용인증서프로파일과동일 # 필드명 ASN.1 type Note C 지원여부생성처리비 고 Authority Key Identifier 1 KeyIdentifier OCTET STRING 발급자인증서의 KeyID n authoritycertissuer GeneralNames authoritycertserialnumber INTEGER 2 Subject Key Identifier OCTET STRING subjectpublickey 정보의 160비트해쉬값 n 3 Key Usage BIT STRING Digital Signature, non-repudiation c Certificate Policy policyidentifier OID 공인인증기관인증서정책 policyqualifiers PolicyQualifierId OID CPS, UserNotice 4 Qualifier b [1] CPSuri IA5String 공인인증기관 CPS 주소 UserNotice NoticeReference SEQUENCE - - ExplicitText BMPString 공인인증서표시규격준수 Policy Mappings 5 issuerdomainpolicy OID - - - subjectdomainpolicy OID 6 Subject Alternative Names othername id-kisa-identifydata 에가입자한글실명과 VID n rfc822name 가입자이메일주소 o m [2] 7 Issuer Alternative Names othername id-kisa-identifydata 에공인인증기관한글실명 n o m 8 Extended Key Usage OID 보안토큰식별자 (id-kisa-hsm) n o o [3] Basic Constraints 9 ca FALSE - x x pathlenconstraint INTEGER Policy Constraints 10 requireexplicitpolicy INTEGER inhibitpolicymapping INTEGER - - - 11 Name Constraints - - - CRL Distribution Point 12 distributionpoint DistributionPointName CRL 획득정보 [4] n reasons ReasonFlags - - crlissuer GeneralNames 간접CRL 발급시사용 o m Authority Information Access 13 accessmethod OID id-ad-caissuers, id-ad-ocsp n [5] accesslocation GeneralName [1] 전자우편보안에사용하고자하는경우 non-critical 설정, 이외에 critical 설정권고 [2] 전자우편보안에사용하고자하는경우 rfc822name 생성권고 [3] [KCAC.TS.HSM] 의보안토큰기반일경우보안토큰식별자(id-kisa-HSM) 사용 [4] uri값으로 ldap://hostname[:portnumber]/dn[?attribute] 형식사용 [5] 전자우편보안에사용하고자하는경우 id-ad-caissuers 생성권고 - 20 -
부록 2. 규격연혁 버전 제개정일 제개정내역 v1.00 2000년 2월 " 전자서명인증서프로파일" 로제정 v1.10 2004년 6월 v1.20 2005년 12월 v1.50 2007년 3월 v1.60 2008년 10월 v1.70 2009년 9월 무선전자서명인증서프로파일규격 v1.21 흡수통합 전체적인문서형식및구성을전자서명인증관리체계규격 문서양식에맞게개정 6. 전자서명인증서프로파일을 RFC3280에적합하게 내용수정 부록 1. 전자서명인증서프로파일은 RF3280에적합하게 내용수정및최상위인증기관인증서, OCSP 인증서프로파일추가 부록 2. 전자서명인증관리체계 OID 구조삭제 서버용 부록 3. 전자서명인증관리체계에서지원하는알고리즘삭제 6.2.4 인증서정책확장필드속성을 critical에서 both로 변경 6.2.6 주체대체이름확장필드에사용자이메일주소포함 6.2.13 발급자정보접근확장필드의 ic-ad-caissuers 이용방법변경 부록 1. 전자서명인증체계공인인증서프로파일요약수정 가입자전자서명인증서의경우전자서명키가보안토큰내 에서생성될경우확장키사용목적(Extended Key Usage) 을 사용할수있도록하되, 속성은 non-critical 및처리는 선택사항으로설정 [ 부록1] 라. 가입자전자서명인증서프로파일의확장키 사용목적(extended key usage) 속성변경 속성 : non-critical, 생성(o), 처리(o) 관련국내표준및규격갱신내용반영 법률공포번호가해당법률개정시마다변경되는점을 고려하여법령명으로개정 공인인증서암호체계고도화에따른암호알고리즘변 경내용반영 웹서버보안인증서발급용인증서프로파일을부록 라항으로추가 1의 - 21 -
규격작성공헌자 본규격의제개정을위해아래와같이많은분들이공헌을하였습니다. 구분성명소속사 규격제안전자인증팀한국인터넷진흥원 규격초안제출전자인증팀한국인터넷진흥원 규격검토 규격안편집 백종현이석래박상환이원철박윤식박순태전인경김영준오중효김근옥국상진이성국김재홍신동규김선종김기영박선우이규승이한욱정순구박상환이원철 한국인터넷진흥원한국인터넷진흥원한국인터넷진흥원한국인터넷진흥원한국인터넷진흥원한국인터넷진흥원한국인터넷진흥원한국인터넷진흥원금융결제원한국정보인증한국무역정보통신코스콤한국정보사회진흥원유넷시스템이니텍소프트포럼한국정보인증코스콤금융결제원한국전자인증한국인터넷진흥원한국인터넷진흥원 - 22 -