KR100844436B1 - 지역적인 공개키 기반 구조를 갖는 지역분포형 로컬 씨에이시스템 - Google Patents

지역적인 공개키 기반 구조를 갖는 지역분포형 로컬 씨에이시스템 Download PDF

Info

Publication number
KR100844436B1
KR100844436B1 KR1020060038440A KR20060038440A KR100844436B1 KR 100844436 B1 KR100844436 B1 KR 100844436B1 KR 1020060038440 A KR1020060038440 A KR 1020060038440A KR 20060038440 A KR20060038440 A KR 20060038440A KR 100844436 B1 KR100844436 B1 KR 100844436B1
Authority
KR
South Korea
Prior art keywords
certificate
local
user
signature
cert
Prior art date
Application number
KR1020060038440A
Other languages
English (en)
Other versions
KR20070106055A (ko
Inventor
박영수
이병관
정은희
Original Assignee
주식회사 리미트정보통신
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 리미트정보통신 filed Critical 주식회사 리미트정보통신
Priority to KR1020060038440A priority Critical patent/KR100844436B1/ko
Publication of KR20070106055A publication Critical patent/KR20070106055A/ko
Application granted granted Critical
Publication of KR100844436B1 publication Critical patent/KR100844436B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3268Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/006Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving public key infrastructure [PKI] trust models
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials

Abstract

본 발명은 지역적인 공개키 기반 구조의 지역분포형 인증기관(Locally distributed Certificate Authority, LdCA) 시스템의 인증서 생성 및 인증서 검증 방법에 관한 것이다. 본 발명에서는 종래의 X.509v3을 축약시킨 인증서인 Local_Cert 인증서와 Cert_List 테이블을 생성한다. 본 발명은 사용자, 로컬 CA, 디렉토리서버를 포함하는, 계층적 공개키 기반 구조의 인증 시스템으로서, 상기 로컬 CA는, 인증서를 신청한 사용자의 공개키/개인키 쌍을 생성하여 공개키/개인키를 생성하는 수단과, 사용자(user)의 요청에 의해 인증서를 생성하여 사용자에게 발행하는 수단, 폐기된 인증서의 정보를 Cert_List 테이블의 해당 인증서를 검색하여 인증서 폐기 날짜 항목에 기록하면서 Cert_List 테이블 정보를 갱신하는 수단을 포함하고, 상기 디렉토리 서버는, 인증서와 사용자 관련 정보, 상호 인증서쌍 및 CRL 등을 저장 및 탐색하는 장소로서 상기 로컬 CA에 의해 제어되는 것을 특징으로 한다.
local CA, 인증서, 서명, 검증, PKI

Description

지역적인 공개키 기반 구조를 갖는 지역분포형 로컬 씨에이 시스템 {Local distributed CA system based on local PKI}
도 1은 본 발명의 전체적인 계층 구조를 나타내는 상태도.
도 2는 본 발명의 인증서 발행절차를 나타내는 흐름도.
도 3은 종래의 인증서 및 본 발명에 따른 Local_Cert 인증서 형식의 데이터 구성도.
도 4는 인증서 서명 검증의 흐름도.
도 5는 인증서 서명 검증의 순서도.
도 6은 Cert_List 갱신의 순서도.
도 7은 인증서 유효성 검증의 흐름도.
도 8은 인증성 유효성 검증의 순서도.
본 발명은 지역분포형 인증기관 시스템(Locally distributed Certificate Authority, 이하에서는 "본 발명의 LdCA"라는 용어로 사용함) 를 갖는 지역적인 공개키 기반 구조에 있어서의 인증서 생성 및 인증서 검증 방법에 관한 것이다.
인터넷의 사용이 보편화되고 통신망이 발전하게 되면서 전자거래가 급속히 증가하고 이를 통한 다양한 업무처리가 이루어지고 있지만, 인터넷 통신망은 개인 정보의 노출에 의해 위조 또는 변조되어 사용자에게 심각한 피해를 주는 보안상의 문제점이 발생하고 있다.
따라서 전자거래를 제공하는 공급업체와 전자거래를 사용하는 사용자 측 간에 안전하게 믿고 거래를 할 수 있는 보안을 제공하는 인증 및 보안기술의 중요성이 부각되고 있다.
한편, 공개키 기반 구조(PKI: Public Key Infrastructure)는 공개키 인증서를 글로벌 네트워크를 통하여 효과적으로 저장 및 분배함으로써 기밀성, 무결성, 인증, 부인 방지 등 다양한 형태의 암호학적 서비스 구현에 이용하는 종합적인 인증 체계 기반 구조이다. PKI 구축을 위해 필요한 작업으로는 인증서의 발행, 갱신, 폐지 등을 다루는 인증서 관리 작업과 인증서를 검증하는 인증서 검증 작업, 그리고 전자 서명 생성 및 검증과, 암호화 알고리즘을 이용하는 암호화 작업으로 구분할 수 있다. 인증서 검증 작업은 실제 전자 거래에 있어 그 거래의 유효성에 관한 것이므로 가장 신중하게 처리되어야 하며, 금융 거래에서는 특히 실시간으로 검증이 가능하여야 한다.
공개키 기반 구조에서 사용자의 공개키는 공개되어 있기 때문에 다른 사람으로부터의 위조가 가능하다는 문제점을 갖는다. 이러한 문제점을 해결하기 위해 신뢰할 수 있는 인증기관이 사용자의 공개키를 포함한 인증서를 발급하고, 인증기관의 개인키로 서명하여 사용자에게 발급하여, 사용자의 공개키 위조를 방지하고 있 다. 이렇듯, PKI의 중점은 전자서명인데, 전자서명의 유효성은 인증기관이 인증서를 발행하여 증명한다. 즉, 인증기관이 사용자의 공개키를 보증하는 인증서의 내용이 검증되어야 하는데 이런 검증 작업을 인증서 검증 작업이라 한다. 인증서 검증 작업에 있어서는, 먼저 FTP, LDAP, HTTP 등의 프로토콜을 이용해 인증서의 경로를 설정에 필요한 인증서 및 인증서 취소 목록(Certificate Revocation List)을 가져오거나, 인증서 상태 정보를 온라인으로 제공하는 OCSP(On-line Certificate Status Protocol), SCVP(Simple Certificate Validation Protocol)가 대표적이다.
그런데, 인증 경로를 설정하고 인증서의 유효성을 검증하기 위한 작업은 인증 경로 상의 모든 인증서를 검증해야 하므로 많은 시간이 소요되고, 인증 경로가 올바르지 않으면 또다른 인증경로를 설정하고 다시 인증서 검증 작업을 수행해야 하는 단점이 있다. 특히, 서명의 유효성을 검증하는 작업은 경로상의 각 인증서들에 대해 소모적인 암호화 계산이 수반됨으로 사용자측 부담을 더욱 가중시킨다.
이러한 문제점, 즉, 사용자측 부담을 해결하기 위해 검증 작업을 대행해주는 OCSP, SCVP 서버 운영이 제안되고 있다. 그러나 온라인 인증서 검증 서버들은 실시간 인증서 유효성 검증과 검증에 관련된 정책 설정 및 신뢰 관리를 집중적으로 할 수 있다는 장점은 있지만, 검증 서버를 위한 부수적인 시스템 도입이 필요하며, 항상 온라인 상태가 유지되어야 하고, 서버와 사용자 사이의 안전한 키 분배 및 상호 인증서 검증의 다양한 메커니즘이 제공되어야 하는 까다로운 문제가 수반된다.
이러한 문제를 해결하기 위해, 본 발명에서는 LdCA를 갖는 지역적 공개키 기 반 구조에서 새롭게 개발된 인증서 생성 및 검증 방법을 제안한다.
본 발명 LdCA의 로컬 CA는 지역적 공개키 기반 구조의 최상위 기관 역할을 하며, LdCA가 발행한 인증서들을 로컬 CA가 갱신하므로, 인증서 유효기간 갱신에 따른 비용을 절감할 수 있고, 로컬 CA가 인증서 서명 검증 및 인증서 유효성 검사를 하도록 하여 사용자의 부담을 감소시킬 수 있다. 또한, LdCA는 기존의 X.903v3 인증서 형식을 축약한 Local_Cert 인증서 형식은 유/무선에서 사용할 수 있는 인증서를 발행함으로써 유/무선 거래에 따른 인증서 변환이 필요없으며, 축약된 인증서 형식을 사용함으로써 메시지 전송량을 감소시킬 수 있다.
본 발명의 LdCA는 계층적 공개키 기반 구조로서 Root CA에서 인증받은 신뢰할 수 있는 인증기관 시스템으로서, 로컬CA, 디렉토리 서버(Directory Server), 사용자(User)로 구성된다. 로컬 CA는 지역적 공개키 기반 구조인 LdCA의 최상위 기관 역할을 하며, LdCA가 발행한 인증서들을 로컬 CA가 갱신하므로 인증서를 발행할 때, 인증서 유효기간을 정해서 발행을 하는데, 이 유효기간이 만료되면 인증서를 사용할 수 없으므로, 인증서 유효기간을 갱신해야만 한다. 이때, 기존 시스템에서는 갱신에 따른 비용 부담을 해야 하는데, 본 발명의 LdCA 시스템에서는 로컬 CA가 발행한 인증서에 대해서는 자체적으로 인증서 유효기간을 갱신할 수 있다. 따라서 인증서 유효기간 갱신에 따른 비용을 절감할 수 있고, 로컬 CA가 인증서 서명 검증 및 인증서 유효성 검사를 하도록 하여 사용자의 부담을 감소시킬 수 있으며, 별도의 검증서버를 설치하지 않아도 되므로 설치비용을 줄일 수 있다.
또한, 본 발명에 따른 LdCA는 기존의 X.903v3 인증서 형식을 축약한 Local_Cert 인증서 형식의 인증서를 발행하는데, 이 인증서는 유/무선에서 사용할 수 있도록 설계되었으며, 축약된 인증서를 사용함으로써 메시지 전송량을 감소시킬 수 있다. 기존의 X.509v3 인증서의 내용보다 본 발명에 따른 Local_Cert 인증서의 내용이 단순화되어 데이터 전송량을 감소시킬 수 있기 때문이다(도 3의 인증서 형식 참조).
그리고 본 발명에 따른 LdCA는 인증서를 발행할 때, 발행한 인증서에 대한 인증서 목록 테이블(Cert_List)을 생성하는데, 이 테이블은 로컬 CA가 인증서 서명 검증 및 유효성 검증을 할 때 사용하여 기존의 인증서 서명 검증 시간을 단축하고 인증서 유효성 검증 시간을 단축시켰다.
그 이유는, 기존의 인증서 서명 검증 절차는 첫째, 인증서의 내용을 해쉬 알고리즘으로 해쉬값을 구하고, 둘째 인증서의 서명을 CA의 공개키로 풀고(복호화시키고), 셋째 해쉬값(첫번째 결과값)과 공개키로 푼 값(두번째 결과값)을 비교하여 서명의 무결성을 검증하는데, LdCA의 서명 검증 절차에서 첫 번째의 해쉬 알고리즘으로 해쉬값을 구하는 과정을 인증서를 생성할 당시에 계산된 해쉬값을 사용하므로 서명 검증 절차가 간소화되었을 뿐만 아니라 해쉬값 계산 시간을 줄일 수 있기 때문이다. 또한, 인증서의 유효성 검증을 할 때, 사용자가 인증서 폐기 목록(CRL)을 다운로드 받아 인증서의 폐기 여부를 검증하는데, 본 발명에서는 인증서 폐기 목록을 생성할 때, 인증서 폐기 여부를 기록한 Cert_List 테이블을 사용함으로써, 인증서 폐기 목록을 다운로드 받을 필요가 없으므로 인증서 유효성 검증 시간을 단축시 킬 수 있는 것이다.
이하, 도면을 참조하여 본 발명의 LdCA에 대해서 구체적으로 설명한다.
1. 본 발명의 LdCA 구조
LdCA는 계층적 PKI 구조 형태로서 루트 CA(root CA)가 인증한 인증기관으로 신뢰할 수 있는 인증기관이라는 가정하에 설계된 것이다. 본 발명에 따른 LdCA는, 로컬 CA(local CA), 디렉토리 서버(directory server), 사용자(user)로 구성된다. 루트 CA와 로컬 CA, 디렉토리 서버, 사용자간의 관계는 도 1에 나타낸 것과 같다.
도 1은 본 발명의 LdCA의 구성 요소 위치와 인증서 발행 신청 및 발행에 대한 흐름, 사용자(user) 간의 거래 흐름을 설명한 것이다. 본 발명의 LdCA는 계층형 PKI 구조 형태로 신뢰할 수 있는 루트 CA의 하위 인증기관 시스템으로, 지역적으로 분포시켜 그 지역의 인증서 발행 및 인증서 폐기 목록을 생성하는 시스템이다. 또한, 도 1은 그 지역의 로컬 CA에서 인증서를 발행받은 사용자는 인증서를 이용해 동일한 로컬 CA 지역 내에서 거래를 할 수 있거나, 다른 지역의 로컬 CA의 사용자간에도 거래가 가능하다는 것을 의미하는 도면이다.
1.1 로컬 CA의 역할
로컬 CA는 다음과 같은 역할을 수행한다.
(1) 키 생성
인증서를 신청한 사용자의 공개키/개인키 쌍을 생성한다. 로컬 CA가 공개키/개인키를 생성함으로써 사용자의 부담을 덜어주는 집중형 키 생성 방식을 사용한다.
(2) 인증서 발행(도 2 참조)
본 발명에 따른 LdCA 구조에서는, 로컬 CA가 루트 CA의 역할을 담당한다. 따라서 사용자(user)가 로컬 CA에 인증서 발급을 요청하면(도 2의 1단계), 로컬 CA는 본 발명의 Local_Cert 인증서 형식으로 인증서를 생성하여 사용자에게 발행한다(도 2의 5단계).
본 발명에 따른 로컬 CA의 가장 큰 특징은 X.509v3을 축약시킨 인증서인 Local_Cert 인증서와 인증서 서명 및 유효성 검증에 사용할 Cert_List 테이블을 생성하는 것인데, 이 인증서는 유선 및 무선에서도 사용가능토록 설계하였다. 또한, Local_Cert를 사용함으로써 메시지 전송량을 감소시키고, 인증서를 발행할 때마다 발행된 인증서의 일련번호(serial number), 주체자 이름(subject name), 서명(signature), 해쉬값(hashed value)을 복사하여 Cert_List 테이블로 별도로 생성하여 디렉토리 서버에 저장한다. 여기서 해쉬값(hashed value)이란 인증서 서명을 생성하기 전에 해쉬알고리즘으로 메시지 축약을 한 값을 의미한다. 인증서 서명을 작성하기 위해 생성된 해쉬값을 Cert_List 테이블에 저장하는 것이므로 별도의 작업을 수행하는 것은 아니다. 로컬 CA가 인증서 서명을 검증할 때, 전달받은 인증서 서명을 로컬 CA의 공개키로 풀고, 인증서 내용을 해쉬값으로 비교함으로써 인증서 서명을 검증하는데, 이 Cert_List 테이블의 해쉬값을 사용함으로써 인증서 내용을 해쉬하는 과정을 생략함으로써 인증서 서명 검증 시간을 단축시킬 수 있다.
Cert_List 테이블은 사용자가 인증서 서명 검증 및 인증서 유효성 검증을 요청할 때 사용하는 테이블로서, 로컬 CA가 발행하는 인증서 및 인증서 폐기 목록에 대 한 정보로 구성된다. 즉, 로컬 CA가 인증서 발행할 때마다 인증서에 대한 정보를 Cert_List 테이블에 저장한다. 또한, 인증서 폐기 목록을 생성할 때, 폐기된 인증서에 대한 정보로 Cert_List 테이블을 갱신한다.
(3) 인증서 폐기 목록(CRL)을 주기적으로 생성하여 디렉토리 서버에 전달
로컬 CA는 인증서 폐기 목록을 생성할 때마다, 폐기된 인증서의 정보를 Cert_List 테이블의 해당 인증서를 검색하여 인증서 폐기 날짜 항목에 기록하면서 Cert_List 테이블 정보를 갱신한다(도2의 6, 7 단계). 차후에 사용자가 인증서 유효성 검증을 로컬_CA에 의뢰할 때, 로컬 CA는 인증서 폐기 목록을 검색할 필요없이 Cert_List 테이블에서 해당 인증서를 찾아 인증서 폐기 상황 여부가 기록된 항목(Revocation)을 확인한 후, 공백이면 인증서가 유효하고 "Yes"가 기입되어 있으면 인증서가 폐기되었음을 사용자에게 알려주기만 하면 된다.
1.2 사용자의 역할
사용자는 유/무선 거래의 종단 개체로서 자신의 인증서를 다른 사용자에게 제공할 수 있어야 하며, CRL을 해석할 수 있어야 한다. 또한, 수신받은 인증서의 내용을 분석하여 인증서의 경로 검증을 설정할 수 있어야 하며 전자서명을 검증할 수 있어야 한다.
1.3 디렉토리 서버
인증서와 사용자 관련 정보, 상호 인증서쌍 및 CRL 등을 저장 및 탐색하는 장소로서 로컬 CA에서 관리한다. 로컬 CA는 LDAP 또는 FTP를 이용해 디렉토리 서버에 접근할 수 있다. 디렉토리 서버는 인증서와 상호 인증서 쌍을 유효기간이 지난 후 에도 서명 검증을 위해 일정 기간동안 디렉토리 서버에 저장한다.
2. 본 발명에 따른 인증서 검증의 절차
본 발명의 LdCA는 사용자가 요청한 인증서를 발행할 때, 기존의 X.509v3 형식의 인증서 대신에 본 발명에 따른 인증서 형식인 Local_Cert를 사용한다. 로컬 CA의 역할에서 정의했듯이, 인증서 서명 검증과 인증서 유효성 검증을 담당하므로, 인증서 서명 알고리즘을 인증서 형식에 포함시킬 필요는 없다. 즉, 사용자가 인증서를 검증하려면, 인증서 서명에 필요한 알고리즘을 포함시켜야만 사용자가 인증서 서명 검증 알고리즘을 이용해 인증서를 검증할 수 있다. 하지만, 로컬 CA가 직접 인증서를 검증한다면, 인증서 검증 알고리즘을 인증서 형식에 포함시킬 필요가 없다.
도 3은 기존의 유/무선 인증서와 본 발명에서 제안하는 Local_Cert 인증서 구조 및 인증서 서명 검증에 사용할 Cert_List 테이블 형식을 비교한 것이다. (a)와 (b)는 각각 X.509v3 및 WAP WTLS의 인증서를 나타내는 것이고, (c)는 본 발명에서 생성되는 Local_Cert 인증서의 형식을, (d)는 Cert-list의 테이블 형식을 나타낸다.
도 3에서, 본 발명의 로컬 CA가 인증서 서명 검증을 담당하므로 CA의 인증서 서명 알고리즘을 명시할 필요가 없기 때문에 본 발명에서는 종래의 서명알고리즘 id(signature algorithm id)를 삭제하였고, RFC 2459에서는 인터넷 인증서에서 고유 식별자인 발행자 고유id(issuer unique identifier)와 주체자 고유id( subject unique identifier)를 사용하지 않을 것을 권고하고 있기 때문에 Local_Cert 인증 서 구조에서는 이들을 삭제하였다.
도 3에 사용된 각 용어의 의미는 다음과 같다. 이하에서는, 아래 용어가 데이터 필드의 이름으로 사용되는 경우에는 영문 그대로 표기하기로 한다.
Serial number 인증서 고유 번호
issuer name 인증서 발행자 이름
validity period 인증서 유효기간
subject name 인증서 주체자 이름, 즉 인증서 신청자 이름
subject public key information 인증서 주체자(인증서 신청자) 공개키 정보
extensions 확장
signature 로컬 CA 개인키로 전자 서명한 서명
Hashed value Local_Cert의 고유번호에서 확장까지 해쉬함수로 해쉬한 값
Revocation 인증서 폐기 상황을 기록. 공백이 유효하고 “Yes"이며 폐기된 인증서임.
한편, Local_Cert 인증서의 기본 필드에 대해서는 아래와 같이 선언한다. 표 2는 Local_Cert 인증서의 필드를 예시한다.
Certificate ::= SEQUENCE { tbsCertificateTBSCertificate; signatureValueBIT STRING} TBSCertificate ::= SEQUENCE { serialNumber CertificateSerialNumber, issuer Name, validity Validity, subject Name, subjectPublicKeyInfo SubjectPublicKeyInfo, extensions EXPLICIT Extensions OPTIONAL } CertificateSerialNumber ::= INTEGER Validity ::= SEQUENCE{ notBefore Time, notAfter Time} SubjectPublicKeyInfo ::= SEQUENCE{ algorithm AlgorithmIdentifier, subjectPublicKey BIT STRING} Extensions ::= SEQUENCE SIZE(1..MAX) OF Extension Extension ::= SEQUENCE{ extnID OBJECT INDENTIFIER, critical BOOLEAN DEFAULT FALSE, extnValue OCTET STRING}
(1) 인증서 서명 검증 절차
로컬 CA가 인증서 서명 검증을 함으로써 사용자의 부담을 해소시키고, Cert_List 테이블의 해쉬값과 서명을 이용함으로써 인증서 서명 검증 시간을 단축시킨다. 도 4는 인증서 서명 검증의 프로세스를 나타내며, 도 5는 이를 구현하기 위한 순서도를 나타낸다.
[단계 1] 사용자 A가 사용자 B에게서 문서, 인증서, 전자서명을 전송받으면(도 4의 1단계), 사용자 A는 사용자 B의 인증서 내용 중에서 사용자 B의 인증서 발행자 이름을 찾는다.
[단계 2] 사용자 A(검증자)가 사용자 B의 인증서를 발행한 인증기관(로컬 CA)에 사용자 B의 인증서 Serial number, 인증서의 signature로 인증서 서명 검증을 요청한다(도 4의 2단계, 도 5의 1단계).
[단계 3] 로컬 CA는 Cert_List에서 인증서의 serial number와 일치하는 레코드를 찾는다(도 4의 3단계, 도 5의 2단계).
[단계 4] Cert_List의 Hashed Value를 로컬 CA의 개인키로 서명한 값과 전달받은 서명(signature)과 비교한다(도 4의 4단계, 도 5의 3단계).
[단계 5] 단계 4의 결과값이 일치하면 인증서의 서명이 유효하다는 것을 사용자에게 전달하고, 결과값이 일치하지 않으면, 인증서 서명이 유효하지 않음을 사용자에게 전달한다(도 4의 5단계, 도 5의 4단계).
(2) 인증서 유효성 검증 절차
본 발명에 따른 LdCA는 X.509v2 인증서 폐기 목록(CRL) 형식을 사용하여 인증서 폐기 목록을 생성하며, 폐기된 인증서의 Serial number를 이용하여 Cert_List 테이블의 해당 인증서의 Revocation 항목에 “Yes"를 기입한다.
표 3은 기존의 인증서 폐기 목록 필드(CRL)에 대한 설명이다.
CertificateList ::= SEQUENCE { tbsCertList TBSCertList, signatureAlgorithm AlgorithmIdentifier, signature BIT STRING TBSCertList ::= SEQUENCE{ version Version OPTIONAL, signature AlgorithmIdentifier, issuer Name, thisUpdate Time, nextUpdate Time, revokedCertificates SEQUENCE OF SEQUENCE userCertificate CertificateSerialNumber, revocationDate Time, crlEntryExtensions Extensions OPTIONAL } OPTIONAL, crlExtensions [0] EXPLICIT Extensions OPTIONAL }
한편, 로컬 CA가 인증서 폐기 목록(CRL)을 작성할 때마다 Cert_List 테이블의 Revocation Date 항목을 갱신하는 프로세스는 도6의 순서도에 나타낸 것과 같다.
[단계 1] 로컬 CA가 CRL을 생성한다(도 6의 1단계).
[단계 2] 인증서 폐기 목록에 추가된 사용자 인증서들에 대한 serial number를 이용해 Cert_List 테이블에서 검색한다. 로컬 CA가 발행한 인증서들은 모두 Cert_List에 저장되어 있으므로 CRL에 기록된 인증서의 serial number는 반드시 존재한다고 할 수 있다(도 6의 2단계).
[단계 3] 단계 2의 결과로서 해당 인증서를 찾으면, 그 레코드 항목 중의 Revocation 항목에 "Yes"를 기입한다(도 6의 3단계).
또한, Cert_List 테이블을 이용하는 인증서의 유효성 검증 과정의 프로세스는 도 7에 나타낸 것과 같고, 그 구현을 위한 순서도는 도 8에 나타내었다. 이들 도면을 참조하여 설명하면 다음과 같다.
[단계 1] 사용자 A가 사용자 B에게서 문서, 인증서, 전자서명을 전송받으면(도 7의 1단계), 사용자 A는 사용자 B의 인증서 내용 중에서 발행자 이름을 찾는다.
[단계 2] 사용자 A(검증자)가 사용자 B의 인증서 유효성 검증을 사용자 B의 인증서를 발행한 인증기관(로컬 CA)에 요청한다(도 7의 2단계, 도 8의 1단계).
[단계 2] 로컬 CA는 Cert_List에서 인증서의 serial number와 일치하는 레코드를 찾는다(도 7의 3단계, 도 8의 2단계).
[단계 3] 레코드의 폐기(Revocation) 항목이 공백이면 유효하다는 결과 값을 사용자에게 전달하고, 폐기(Revocation) 항목에 "Yes"가 존재하면 사용자에게 인증서가 유효하지 않음을 전달한다(도 7의 4단계, 도 8의 3단계).
이상에서는 본 발명의 바람직한 실시예에 대해서 도시하고 설명하였으나, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 실시가 가능한 것은 물론이고, 그와 같은 변경은 청구범위 기재의 범위 내에 있게 된다.
본 발명의 LdCA의 로컬 CA는 지역적 공개키 기반 구조의 최상위 기관 역할을 하며, LdCA가 발행한 인증서들을 로컬 CA가 갱신하므로, 인증서 유효기간 갱신에 따른 비용을 절감할 수 있고, 로컬 CA가 인증서 서명 검증 및 인증서 유효성 검사를 하도록 하여 사용자의 부담을 감소시킬 수 있다.
또한, LdCA는 기존의 X.903v3 인증서 형식을 축약한 Local_Cert 인증서 형식은 유/무선에서 사용할 수 있는 인증서를 발행함으로써 유/무선 거래에 따른 인증서 변환이 필요없으며, 축약된 인증서 형식을 사용함으로써 메시지 전송량을 감소시킬 수 있다. 그리고 LdCA는 로컬 CA가 발행한 인증서의 정보를 인증서 목록 테이블(Cert_List)을 저장하여 인증서 서명을 검증을 요청 받았을 때 Cert_List 테이블을 사용함으로써, 인증서 서명 검증 단계를 축소시켜 인증서 서명 검증 시간을 단축시킬 수 있으며, 인증서 유효성 검증을 위해 CRL 목록을 검색할 필요 없이 Cert_List 테이블에서 해당 인증서를 찾아 인증서 폐기에 기록된 결과 값을 확인하여 인증서 유효성 검증 결과를 알 수 있으므로, 인증서 유효성 검증 시간을 단축시킬 수 있다. 즉, LdCA는 인증서 서명 검증 및 유효성 검증을 Cert_List 테이블 하나로 실행할 수 있는 지역적인 공개키 기반 구조이다.
따라서 지역적인 인증기반 구조를 가진 LdCA는 제안한 인증서 형식인 Local_Cert를 따르는 인증서를 발행하고, 이 Local_Cert 인증서는 유/무선 거래에 모두 사용할 수 있으므로, 유/무선 거래에 따른 인증서 변환이 필요 없다. 또한, 본 발명의 LdCA가 발행한 인증서들의 인증서 유효기간은 로컬 CA가 갱신하므로 인증서 갱신 비용을 절감하고, Cert_List 테이블을 이용함으로써 인증서 서명 검증 및 유효성 검증 시간을 단축시킬 수 있다.

Claims (4)

  1. 루트 CA, 계층적 공개키 기반 구조로서 상기 루트 CA으로부터 신뢰성을 인증받은 복수 개의 로컬 CA, 및 각각의 로컬 CA와 연결되는 사용자와 디렉터리 서버로 이루어지는 지역분포형 로컬 CA 시스템에 있어서,
    각각의 로컬 CA는, 사용자의 인증서 발급 요청에 따라 인증서를 생성하여 발행하고, 주기적으로 갱신되는 인증서 폐기 목록을 작성하며, 인증서를 발행할 때마다 인증서의 일련번호, 사용자 이름, 서명, 및 해쉬 값(hashed value)을 복사하여 대응되는 디렉터리 서버에 포함된 테이블에 저장하고, 인증서 폐기 목록을 생성할 때마다 폐기된 인증서의 정보를 바탕으로 대응되는 디렉터리 서버에 포함된 상기 테이블에 인증서 폐기 여부를 기록하고, 사용자의 요청에 따라 인증서 서명 검증과 인증서 유효성 검증을 직접 수행하며, 상기 발행할 인증서에는, 서명 알고리즘 ID, 발행자 고유 ID, 및 사용자 고유 ID가 포함되지 않는 것을 특징으로 하는 지역분포형 로컬 CA 시스템.
  2. 삭제
  3. 제1항에 있어서, 각각의 로컬 CA는,
    사용자가 인증서 일련번호 및 서명을 통해 인증서 서명 검증 요청을 하면,
    대응되는 디렉터리 서버에서 상기 인증서 일련번호가 저장된 테이블을 탐색하고, 상기 탐색한 테이블에 저장된 해쉬 값과 상기 인증서 서명을 비교하여 요청한 인증서 서명의 유효성 여부를 판단하는 것을 특징으로 하는 지역분포형 로컬 CA 시스템.
  4. 제1항에 있어서, 각각의 로컬 CA는,
    사용자가 인증서 일련번호를 통해 인증서 유효성 검증 요청을 하면,
    대응되는 디렉터리 서버에서 상기 인증서 일련번호가 저장된 테이블을 탐색하고, 상기 탐색한 테이블에 기록된 인증서 폐기 여부에 따라 인증서의 유효성 여부를 판단하는 것을 특징으로 하는 지역분포형 로컬 CA 시스템.
KR1020060038440A 2006-04-28 2006-04-28 지역적인 공개키 기반 구조를 갖는 지역분포형 로컬 씨에이시스템 KR100844436B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060038440A KR100844436B1 (ko) 2006-04-28 2006-04-28 지역적인 공개키 기반 구조를 갖는 지역분포형 로컬 씨에이시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060038440A KR100844436B1 (ko) 2006-04-28 2006-04-28 지역적인 공개키 기반 구조를 갖는 지역분포형 로컬 씨에이시스템

Publications (2)

Publication Number Publication Date
KR20070106055A KR20070106055A (ko) 2007-11-01
KR100844436B1 true KR100844436B1 (ko) 2008-07-07

Family

ID=39062087

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060038440A KR100844436B1 (ko) 2006-04-28 2006-04-28 지역적인 공개키 기반 구조를 갖는 지역분포형 로컬 씨에이시스템

Country Status (1)

Country Link
KR (1) KR100844436B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101238846B1 (ko) 2011-06-10 2013-03-04 한국전자통신연구원 인증서 검증 시스템 및 그 방법
KR101746201B1 (ko) 2016-05-26 2017-06-12 주식회사 케이티 공인 인증서를 관리하기 위한 장치 및 방법
WO2022146571A1 (en) * 2020-12-28 2022-07-07 Keyfactor, Inc. Remote certificate authority management

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8090949B2 (en) * 2008-03-13 2012-01-03 GM Global Technology Operations LLC Certificate assignment strategies for efficient operation of the PKI-based security architecture in a vehicular network
CN101483866B (zh) * 2009-02-11 2011-03-16 中兴通讯股份有限公司 Wapi终端证书的管理方法、装置及系统
CN105243313B (zh) * 2010-01-12 2018-12-25 维萨国际服务协会 用于对验证令牌的任何时候确认的方法
DE102011108003B4 (de) * 2011-07-19 2013-07-25 Abb Technology Ag Prozessleitsystem

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040028071A (ko) * 2002-09-28 2004-04-03 주식회사 케이티 인증기관 환경에서의 인증서 검증 서비스 장치 및 그 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040028071A (ko) * 2002-09-28 2004-04-03 주식회사 케이티 인증기관 환경에서의 인증서 검증 서비스 장치 및 그 방법

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101238846B1 (ko) 2011-06-10 2013-03-04 한국전자통신연구원 인증서 검증 시스템 및 그 방법
KR101746201B1 (ko) 2016-05-26 2017-06-12 주식회사 케이티 공인 인증서를 관리하기 위한 장치 및 방법
WO2022146571A1 (en) * 2020-12-28 2022-07-07 Keyfactor, Inc. Remote certificate authority management
US11973751B2 (en) 2020-12-28 2024-04-30 Keyfactor, Inc. Remote certificate authority management

Also Published As

Publication number Publication date
KR20070106055A (ko) 2007-11-01

Similar Documents

Publication Publication Date Title
US20210273779A1 (en) Hash-based digital signatures for hierarchical internet public key infrastructure
JP4796971B2 (ja) Ocsp及び分散型ocspのための効率的に署名可能なリアルタイム・クレデンシャル
EP1250774B1 (en) Public key validation service
KR101569818B1 (ko) 개체 네트워크 변환
US7073056B2 (en) Apparatus and method for demonstrating and confirming the status of digital certificates and other data
US6763459B1 (en) Lightweight public key infrastructure employing disposable certificates
US7526644B2 (en) Apparatus and method for demonstrating and confirming the status of digital certificates and other data
US7644284B1 (en) Specifying security protocols and policy constraints in distributed systems
US7461250B1 (en) System and method for certificate exchange
JP4844281B2 (ja) ドキュメント管理装置及びプログラム
US20070150737A1 (en) Certificate registration after issuance for secure communication
US20040064691A1 (en) Method and system for processing certificate revocation lists in an authorization system
KR100844436B1 (ko) 지역적인 공개키 기반 구조를 갖는 지역분포형 로컬 씨에이시스템
US20030037234A1 (en) Method and apparatus for centralizing a certificate revocation list in a certificate authority cluster
US6975727B1 (en) Dynamic security credential generation system and method
US20030115461A1 (en) System and method for the signing and authentication of configuration settings using electronic signatures
JP2004248220A (ja) 公開鍵証明書発行装置、公開鍵証明書記録媒体、認証端末装置、公開鍵証明書発行方法、及びプログラム
KR100501172B1 (ko) 무선 인터넷을 위한 무선 인증서 상태 관리 시스템 및방법과 이를 이용한 무선 인증서 상태 검증 방법
KR100453685B1 (ko) 루트키 검증과 시알엘 선행 검증을 포함하는 변형된인증경로 검증장치및 방법
JP2008219787A (ja) 鍵管理システム、鍵管理プログラムおよびicカード
CN113240418B (zh) 基于区块链的隐私数据智能访问控制方法和设备
CN114422138A (zh) 一种域名所有者自定义验证策略的证书透明化方法和系统
CN113449032A (zh) 一种数据上链可验证的区块链离链数据交互系统及方法
CN114844700A (zh) 一种分布式环境中基于可信存储的身份认证方法、系统、设备及存储介质
Farrell et al. Network Working Group D. Cooper Internet-Draft NIST Obsoletes: 3280 (if approved) S. Santesson Expires: July 2006 Microsoft

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
E701 Decision to grant or registration of patent right
N231 Notification of change of applicant
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee