KR20090027554A - Method for issuing certificate of electric filing document, and system for storing certificate of electric filing document therefor, and the recording media storing the program performing the said method - Google Patents
Method for issuing certificate of electric filing document, and system for storing certificate of electric filing document therefor, and the recording media storing the program performing the said method Download PDFInfo
- Publication number
- KR20090027554A KR20090027554A KR1020070140321A KR20070140321A KR20090027554A KR 20090027554 A KR20090027554 A KR 20090027554A KR 1020070140321 A KR1020070140321 A KR 1020070140321A KR 20070140321 A KR20070140321 A KR 20070140321A KR 20090027554 A KR20090027554 A KR 20090027554A
- Authority
- KR
- South Korea
- Prior art keywords
- certificate
- electronic document
- field
- message
- request message
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/26—Government or public services
- G06Q50/265—Personal security, identity or safety
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/02—Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
Abstract
Description
본 발명은 전자문서 증명서 발급 방법 및 이를 위한 전자문서 보관 시스템, 상기 방법을 구현하는 프로그램이 저장된 기록매체에 관한 것이다. 보다 상세하게는, 전자문서에 대한 각종 증명서(구체적으로, 등록 증명서, 발급 증명서, 이관 증명서, 폐기 증명서, 원본 증명서 및 시점확인 증명서)를 발급하거나 검증하는 기술에 관련한 전자문서 증명서 발급 방법 및 이를 위한 전자문서 보관 시스템, 상기 방법을 구현하는 프로그램이 저장된 기록매체에 관한 것이다.The present invention relates to a method for issuing an electronic document certificate, an electronic document storage system, and a recording medium storing a program for implementing the method. More specifically, a method for issuing an electronic document certificate relating to a technology for issuing or verifying various certificates (specifically, a registration certificate, an issuance certificate, a transfer certificate, a revocation certificate, an original certificate, and a verification certificate) for an electronic document, and a method for the same An electronic document storage system and a recording medium storing a program for implementing the method.
일반적으로 전자문서(electric filing document)란 컴퓨터와 같이 정보처리 능력을 가진 장치에 의하여 전자적인 형태로 작성되며, 신호를 이용하여 송수신되는 저장될 수 있는 정보를 말한다. 이러한 전자문서는 오늘날 법률에 근거하여 보호받고 있는데, 그 예로써 전기통신사업법 제5조에 따르면, "전자문서는 다른 법률 에 특별한 규정이 있는 경우를 제외하고는 전자적 형태로 되어 있다는 이유로 문서로서의 효력이 부인되지 않는다."라고 명시되어 있다.In general, an electronic filing document is an electronic form by an apparatus having an information processing capability such as a computer, and refers to information that can be stored and transmitted using a signal. Such electronic documents are protected under today's legislation, for example, according to Article 5 of the Telecommunications Business Law, "E-Documents are not valid as documents because they are in electronic form, unless otherwise provided by other laws. It is not denied. "
그런데, 종래에는 이러한 전자문서에 대해 진위여부를 가늠할 수 있는 증명서가 제대로 갖추어지지 못했다. 이로 인해, 해킹 등을 통해 전자문서를 위조하거나 변조시키는 경우에는 적절한 대처가 이루어지지 못해 사용자로 하여금 전자문서 자체에 의구심을 가지게 하는 현상까지 발생하였다.However, in the related art, a certificate for estimating the authenticity of such an electronic document has not been properly prepared. For this reason, in the case of forging or tampering with an electronic document through hacking or the like, proper coping is not achieved, causing a user to doubt the electronic document itself.
한편, 전자문서 증명서에 관한 선행발명으로는 대한민국 특허공개공보 제2006-110955호(발명의 명칭 : 전자문서 내용증명 시스템의 내용증명서 갱신방법 및 그 갱신된 내용증명서의 검증방법)가 있다. 그러나, 이 발명에 기재된 전반적인 내용은 전자문서의 효력을 연장시키기 위한 것으로서 전자문서의 진위여부를 판단하는 증명서 역할에 대해서는 언급된 바가 없다. 또한, 이 발명에는 검증 방법에 대한 내용도 담고 있는데, 이 검증 방법은 DVCS(Data Validation and Certification Server: 데이터 검증 및 인증 서버) 서비스를 고려한 것으로(상기 특허 청구항 제4항의 내용 참조), 데이터 유효성을 검증하는 데에 한정된다. 따라서, 이 검증 방법만으로 검증이 충분히 이루어졌다고 하기에는 곤란하다.On the other hand, the prior invention on the electronic document certificate is Korea Patent Publication No. 2006-110955 (name of the invention: the method of updating the content certificate of the electronic document content identification system and the method of verifying the updated content certificate). However, the general contents described in this invention are intended to extend the validity of the electronic document, and there is no mention of the role of the certificate for determining the authenticity of the electronic document. In addition, the present invention also includes a verification method, which considers a DVCS (Data Validation and Certification Server) service (see the contents of claim 4 of the patent claim). It is limited to verification. Therefore, it is difficult to say that the verification was sufficiently performed only by this verification method.
본 발명은 상술한 문제점을 해결하기 위해 안출된 것으로서, 전자문서의 진위여부를 판단하는 증명서를 발급하거나 검증하는 기술에 관련한 전자문서 증명서 발급 방법 및 이를 위한 전자문서 보관 시스템, 상기 방법을 구현하는 프로그램이 저장된 기록매체를 제공함을 목적으로 한다.The present invention has been made to solve the above problems, an electronic document certificate issuance method and an electronic document storage system for the same, and a program for implementing the method related to the technology for issuing or verifying the authenticity of the electronic document. It is an object to provide this stored recording medium.
또한, 본 발명은 전자문서의 다양한 용도에 대한 증명서(구체적으로, 등록 증명서, 발급 증명서, 이관 증명서, 폐기 증명서, 원본 증명서 및 시점확인 증명서)를 발급하거나 검증하는 기술에 관련한 전자문서 증명서 발급 방법 및 이를 위한 전자문서 보관 시스템, 상기 방법을 구현하는 프로그램이 저장된 기록매체를 제공함을 목적으로 한다.The present invention also provides a method for issuing an electronic document certificate relating to a technology for issuing or verifying a certificate (specifically, a registration certificate, an issuance certificate, a transfer certificate, a revocation certificate, an original certificate, and a verification certificate) for various uses of an electronic document. It is an object of the present invention to provide an electronic document storage system and a recording medium storing a program for implementing the method.
또한, 본 발명은 증명서 유효성 검증 절차와 증명서 내용 검증 절차를 통해 발급된 증명서를 검증하는 기술에 관련한 전자문서 증명서 발급 방법 및 이를 위한 전자문서 보관 시스템, 상기 방법을 구현하는 프로그램이 저장된 기록매체를 제공함을 목적으로 한다.The present invention also provides a method for issuing an electronic document certificate related to a technology for validating a certificate issued through a certificate validation procedure and a certificate content verification process, an electronic document storage system, and a recording medium storing a program for implementing the method. For the purpose.
본 발명은 상술한 목적을 달성하기 위해 안출된 것으로서, 전자문서를 증명하는 증명서를 발급하는 방법에 있어서, (a) 상기 증명서 발급을 요청하는 증명서 요청 메시지를 생성하며, 상기 증명서 요청 메시지를 전송하는 단계; (b) 상기 증명서 요청 메시지에서 증명의 대상이 되는 증적을 검색하는 단계; (c) 상기 증명서 요청 메시지와 상기 검색된 증적을 근거로 상기 증명서 발급을 시도하는 단계; 및 (d) 상기 증명서 발급에 성공한 경우, 상기 증명서를 포함하는 증명서 응답 메시지를 생성하고 상기 증명서 응답 메시지를 전송하며, 상기 증명서 발급에 실패한 경우, 원인을 포함하는 에러 메시지를 생성하고 상기 에러 메시지를 전송하는 단계를 포함하는 것을 특징으로 하는 전자문서 증명서 발급 방법을 제공한다.In order to achieve the above object, the present invention provides a method for issuing a certificate for authenticating an electronic document, the method comprising: (a) generating a certificate request message requesting issuance of the certificate, and transmitting the certificate request message; step; (b) retrieving an evidence to be proved in the certificate request message; (c) attempting to issue the certificate based on the certificate request message and the retrieved evidence; And (d) generating a certificate response message including the certificate and transmitting the certificate response message if the certificate issuance is successful, and generating an error message including a cause if the certificate issuance fails and generating the error message. It provides an electronic document certificate issuing method comprising the step of transmitting.
바람직하게는, 상기 증명서는 상기 전자문서 등록을 증명하는 등록 증명서, 상기 전자문서 발급을 증명하는 발급 증명서, 상기 전자문서 이관을 증명하는 이관 증명서, 상기 전자문서 폐기를 증명하는 폐기 증명서, 발급된 전자문서가 보관된 전자문서와 동일한 원본임을 증명하는 원본 증명서, 및 일정 데이터가 특정 시각에 존재하였음을 증명하는 시점확인 증명서 중 하나 이상인 것을 특징으로 한다.Preferably, the certificate is a registration certificate to prove the registration of the electronic document, an issuance certificate to prove the issuance of the electronic document, a transfer certificate to prove the transfer of the electronic document, a revocation certificate to prove the disposal of the electronic document, issued electronic And at least one of an original certificate certifying that the document is the same original as the archived electronic document, and a time verification certificate certifying that the schedule data existed at a specific time.
바람직하게는, 상기 (c) 단계에서는 저장된 증명서 정책을 이용하는 것을 특징으로 한다.Preferably, in step (c), the stored certificate policy is used.
더 바람직하게는, 상기 증명서가 상기 등록 증명서인 경우, 최초 발급에 한하여 상기 증명서 요청 메시지 수신 없이 상기 등록 증명서를 담은 상기 증명서 응답 메시지를 생성 전송하는 것을 특징으로 한다.More preferably, when the certificate is the registration certificate, the certificate response message containing the registration certificate is generated and transmitted for the first time without receiving the certificate request message.
더 바람직하게는, 상기 증명서가 상기 원본 증명서인 경우 상기 (b) 단계에서는, 전자문서 원본 이외에 추가로 상기 원본과 동일한 구성을 가지는 변환본에 대한 원본 증명서를 발급하는 것을 특징으로 한다.More preferably, when the certificate is the original certificate, in the step (b), in addition to the original electronic document, it is characterized in that the original certificate for the converted version having the same configuration as the original.
더 바람직하게는, 상기 증명서가 상기 원본 증명서인 경우, 상기 (d) 단계에서 생성되는 증명서 응답 메시지는 DIP(Dissemination Information Packages)에 포 함되는 형태인 것을 특징으로 한다.More preferably, when the certificate is the original certificate, the certificate response message generated in the step (d) is characterized in that it is in the form included in DIP (Dissemination Information Packages).
더 바람직하게는, 상기 증명서가 상기 시점확인 증명서인 경우, 상기 (a) 단계에서의 증명서 요청 메시지는 데이터 해쉬값을 포함하는 것을 특징으로 한다.More preferably, when the certificate is the time-confirmation certificate, the certificate request message in step (a) includes a data hash value.
더 바람직하게는, 상기 증명서가 상기 시점확인 증명서, 상기 발급 증명서, 상기 이관 증명서 및 상기 폐기 증명서 중 하나 이상인 경우 상기 (a) 단계와 상기 (b) 단계의 중간 단계에서, 상기 증명서 요청 메시지의 무결성을 검증하는 것을 특징으로 한다.More preferably, if the certificate is at least one of the time verification certificate, the issue certificate, the transfer certificate, and the revocation certificate, in the middle of the steps (a) and (b), the integrity of the certificate request message It is characterized by verifying.
더 바람직하게는, 상기 증명서가 상기 발급 증명서, 상기 이관 증명서 및 상기 폐기 증명서 중 하나 이상인 경우 상기 (b) 단계에서는, 상기 증명서 요청 메시지를 근거로 기존 증적이 있는지를 검색하는 것을 특징으로 한다.More preferably, when the certificate is one or more of the issuance certificate, the transfer certificate and the revocation certificate, in step (b), it is characterized in that whether the existing evidence based on the certificate request message.
바람직하게는, 상기 (d) 단계에서의 상기 증명서 응답 메시지는 발급한 전자문서를 포함하는 것을 특징으로 한다.Preferably, the certificate response message in the step (d) is characterized in that it comprises the issued electronic document.
또한, 본 발명은 전자문서와 상기 전자문서에 대한 증명서를 취급하는 전자문서 보관 시스템에 있어서, 전자문서의 등록을 요청하는 자가 접속하는 이용자 단말기; 상기 증명서를 요청하는 자가 접속하는 요청자 단말기; 상기 요청을 표시하는 증명서 요청 메시지에서 증명의 대상이 되는 증적을 검색하며, 상기 증명서 요청 메시지와 상기 검색된 증적을 근거로 상기 증명서를 포함하는 증명서 응답 메시지를 생성 전송하는 전자문서 보관소 서버; 및 상기 이용자 단말기 또는 상기 요청자 단말기와 상기 전자문서 보관소 서버 사이에서 공인인증을 하는 공인인증기관 서버를 포함하는 것을 특징으로 하는 전자문서 보관소 시스템을 제공한다.In addition, the present invention provides an electronic document storage system for handling an electronic document and a certificate for the electronic document, comprising: a user terminal to which a person requesting registration of an electronic document is connected; A requestor terminal to which the requestor of the certificate is connected; An electronic document storage server for searching for a certificate to be proved in a certificate request message indicating the request, and generating and transmitting a certificate response message including the certificate based on the certificate request message and the retrieved certificate; And an accredited certification authority server configured to perform an accredited authentication between the user terminal or the requestor terminal and the electronic document storage server.
바람직하게는, 상기 전자문서 보관소 시스템은 상기 전자문서나 상기 증명서를 수임하는 자가 접속하는 수임자 단말기를 더 포함하되, 상기 수임자 단말기는 상기 이용자 단말기, 상기 요청자 단말기 및 제3자가 접속하는 제3자 단말기 중 어느 하나인 것을 특징으로 한다.Preferably, the electronic document storage system further includes a commissioner terminal to which the person accepting the electronic document or the certificate is connected, wherein the receiver terminal is a third party terminal to which the user terminal, the requestor terminal, and a third party connect. It is characterized in that any one of.
바람직하게는, 상기 전자문서 보관소 서버는 상기 증명서 응답 메시지 생성에 실패할 경우 원인을 포함하는 에러 메시지를 생성 전송하는 것을 특징으로 한다.Preferably, the electronic document archive server generates and transmits an error message including a cause when the certificate response message generation fails.
바람직하게는, 상기 전자문서 보관소 서버가 생성하는 증명서는 상기 전자문서 등록을 증명하는 등록 증명서, 상기 전자문서 발급을 증명하는 발급 증명서, 상기 전자문서 이관을 증명하는 이관 증명서, 상기 전자문서 폐기를 증명하는 폐기 증명서, 발급된 전자문서가 보관된 전자문서와 동일한 원본임을 증명하는 원본 증명서, 및 일정 데이터가 특정 시각에 존재하였음을 증명하는 시점확인 증명서 중 하나 이상인 것을 특징으로 한다.Preferably, the certificate generated by the electronic document storage server is a registration certificate to prove the registration of the electronic document, issuance certificate to prove the issuance of the electronic document, a transfer certificate to prove the transfer of the electronic document, proof of discarding the electronic document At least one of a revocation certificate, an original certificate for proving that the issued electronic document is the same as the archived electronic document, and a time-confirmation certificate for proving that the schedule data existed at a specific time.
바람직하게는, 상기 전자문서 보관소 서버는 상기 증명서 응답 메시지에 발급한 전자문서를 포함시키는 것을 특징으로 한다.Preferably, the electronic document storage server is characterized by including the electronic document issued in the certificate response message.
바람직하게는, 상기 전자문서 보관 시스템은 상기 전자문서 보관소 서버에 의해 운용되며, 상기 전자문서, 상기 증명서 및 상기 증적 중 하나 이상을 저장하는 전자문서 보관소 데이터베이스를 더 포함하되, 상기 전자문서 보관소 데이터베이스는 WORM(Write Once Read Many) 기능을 구비하는 것을 특징으로 한다.Preferably, the electronic document storage system is operated by the electronic document storage server, and further comprises an electronic document storage database for storing one or more of the electronic document, the certificate and the evidence, wherein the electronic document storage database And a write once read many (WORM) function.
더 바람직하게는, 상기 전자문서 보관소 서버는 상기 증명서 요청 메시지를 수신하고, 상기 증명서 응답 메시지나 상기 에러 메시지를 송신하는 통신부; 상기 전자문서를 등록하고, 상기 전자문서 등록에 대한 증적을 생성하며, 상기 등록 증명서를 생성하는 등록 관리부; 상기 증명서 응답 메시지나 상기 에러 메시지를 생성하는 메시지 생성부; 상기 전자문서를 발급하고, 상기 전자문서 발급사실에 대한 증적을 생성하며, 상기 원본 증명서를 생성하는 발급 관리부; 상기 증명서 요청 메시지의 무결성을 검증하는 무결성 검증부; 상기 증명서 요청 메시지에 포함된 데이터 해쉬값을 근거로 상기 시점확인 증명서를 생성하는 시점확인 관리부; 상기 증명서 요청 메시지를 근거로 기존 증적이 있는지를 검색하는 증적 검색부; 상기 증적 검색부가 검색한 증적을 근거로 상기 발급 증명서, 상기 이관 증명서 및 상기 폐기 증명서 중 하나 이상을 생성하는 기타 관리부; 및 상기 전자문서 보관소 데이터베이스를 연동시키며, 상기 통신부와 상기 등록 관리부와 상기 메시지 생성부와 상기 발급 관리부와 상기 무결성 검증부와 상기 시점확인 관리부와 상기 증적 검색부와 상기 기타 관리부의 전체 작동을 제어하는 중앙처리부를 포함하는 것을 특징으로 한다.More preferably, the electronic document storage server includes a communication unit for receiving the certificate request message, and transmits the certificate response message or the error message; A registration manager for registering the electronic document, generating a mark for registering the electronic document, and generating the registration certificate; A message generator for generating the certificate response message or the error message; An issue management unit for issuing the electronic document, generating an evidence of the electronic document issuing fact, and generating the original certificate; An integrity verification unit that verifies the integrity of the certificate request message; A point-of-view management unit generating the point-of-view certificate based on the data hash value included in the certificate request message; An evidence retrieval unit for retrieving whether there is an existing evidence based on the certificate request message; Another management unit generating at least one of the issued certificate, the transfer certificate, and the revocation certificate based on the evidence retrieved by the evidence retrieval unit; And interlocking the electronic document storage database and controlling the overall operations of the communication unit, the registration manager, the message generator, the issue manager, the integrity verifier, the point of time manager, the trace retrieval unit, and the other manager. It characterized in that it comprises a central processing unit.
바람직하게는, 상기 전자문서 보관소 서버가 처리하는 상기 증명서 요청 메시지와 상기 전자문서 보관소 서버가 생성하는 상기 증명서 응답 메시지는 ASN.1(Abstract Syntax Notation One), BER(Basic Encoding Rules) 및 DER(Distinguished Encoding Rules) 중 어느 하나의 방식으로 인코딩하는 IETF RFC 3852 CMS(Cryptographic Message Syntax) 구조를 형성하는 것을 특징으로 한다.Preferably, the certificate request message processed by the electronic document archive server and the certificate response message generated by the electronic document archive server are Abstract Syntax Notation One (ASN.1), Basic Encoding Rules (BER), and DER (Distinguished). An IETF RFC 3852 Cryptographic Message Syntax (CMS) structure for encoding in any one of Encoding Rules) is formed.
또한, 본 발명은 컴퓨터로 판독 가능한 기록매체에 있어서, 상술한 방법을 구현하는 프로그램이 저장되는 기록매체를 제공한다.The present invention also provides a recording medium in which a program for implementing the above-described method is stored in a computer-readable recording medium.
본 발명은 상술한 목적 및 구성에 따라 다음과 같은 효과를 발생시킨다. 첫째, 표준화된 증명 요청서 및 증명서의 프로파일을 정의함으로써 전자문서 보관소가 증명서를 발급함에 있어서 투명하고 효율적인 발급 서비스를 제공하고, 증명서의 호환성 확보로 인한 증명 서비스의 확대 및 서비스의 신뢰성을 제공할 수 있게 한다. 둘째, 증명서의 표준화된 검증 방법을 정의함으로써 증명서의 활용을 활성화시키고, 나아가 편리하면서도 검증력 향상을 통해 신뢰할 수 있는 시스템의 구축을 실현시킨다.The present invention produces the following effects in accordance with the above objects and configurations. First, by defining a standardized certificate request and certificate profile, it is possible to provide transparent and efficient issuance services in issuing certificates by the electronic document repository, and to expand the certification service and to provide reliability of services by ensuring compatibility of certificates. do. Second, by defining standardized verification methods of certificates, the use of certificates is activated, and furthermore, it is possible to realize the construction of a reliable system through convenient and improved verification power.
이하, 본 발명의 바람직한 실시예를 첨부된 도면들을 참조하여 상세히 설명한다. 우선 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다. 또한, 이하에서 본 발명의 바람직한 실시예를 설명할 것이나, 본 발명의 기술적 사상은 이에 한정하거나 제한되지 않고 당업자에 의해 변형되어 다양하게 실시될 수 있음은 물론이다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. First of all, in adding reference numerals to the components of each drawing, it should be noted that the same reference numerals are used as much as possible even if displayed on different drawings. In addition, in describing the present invention, when it is determined that the detailed description of the related known configuration or function may obscure the gist of the present invention, the detailed description thereof will be omitted. In addition, the following will describe a preferred embodiment of the present invention, but the technical idea of the present invention is not limited thereto and may be variously modified and modified by those skilled in the art.
도 1은 본 발명의 바람직한 실시예에 따른 전자문서 보관 시스템의 전체 구성을 개략적으로 도시한 개념도이다. 상기 도 1에 도시된 바에 따르면, 본 발명의 바람직한 실시예에 따른 전자문서 보관 시스템(100)은 이용자(user)가 접속하는 이용자 단말기(110), 증명서 요청자(requester)가 접속하는 증명서 요청자 단말기(115), 증명서 수임자(nominee)가 접속하는 증명서 수임자 단말기(120), 상기 단말기들(110 내지 120)과 네트워크 연결되는 전자문서 보관소 서버(130), 전자문서 보관소 데이터베이스(135) 및 공인인증기관(CA; Certificate Authority) 서버(150)를 포함하여 이루어진다.1 is a conceptual diagram schematically showing the overall configuration of an electronic document storage system according to a preferred embodiment of the present invention. As shown in FIG. 1, the electronic
상기에서, 편의상 특정 업무을 요청하는 주체에 따라 이용자 단말기(110), 증명서 요청자 단말기(115), 증명서 수임자 단말기(120) 등으로 구분하였으나, 이용자나 증명서 요청자가 동시에 증명서 수임자가 될 수도 있으므로 이들 단말기를 통일시켜 단일한 사용자 단말기로써 구현할 수 있음은 물론이다. 이는 곧, 하나의 사용자 단말기에서 이용자, 증명서 요청자, 증명서 수임자 각각이 전자문서 보관소 서버(130)에 업무를 요청하고 제공받을 수 있음으로 이해하면 될 것이다.In the above description, the
이용자 단말기(110)는 이용자가 접속하는 단말기로서, 전자문서 보관소 서버(130)에 전자문서 보관 등 업무를 이용하는 주체 역할을 한다. 구체적으로, 이용자 단말기(110)는 전자문서의 등록, 폐기, 이관, 발급 등의 일반적인 보관소 서버(130)의 업무를 이용하게 된다. 한편, 이용자 단말기(110)는 요청된 업무의 종류 및 행위에 따라서 증명서 요청자 단말기(115)와 증명서 수임자 단말기(120)로의 전이도 가능하다. 상기에서, 전자문서(electric filing document)라 함은 정보처리 시스템에 의하여 전자적 형태로 작성된 정보로서, 신호로써 송수신이 가능하며 전자문서 보관소 서버(130)에 의해 전자문서 보관소 데이터베이스(135)에 저장된다.The
증명서 요청자 단말기(115)는 증명서 요청자가 접속하는 단말기로서, 증명서를 요청하는 주체 역할을 한다. 구체적으로, 증명서 요청자 단말기(115)는 증명 요청서를 작성하여 보관소 서버(130)에 제출하고 증명서를 발급받는 기능을 수행한다.The
증명서 수임자 단말기(120)는 증명서 수임자가 접속하는 단말기로서, 증명서를 받아 이용하는 주체 역할을 한다. 구체적으로, 증명서 수임자 단말기(120)는 발급받은 증명서를 검증하거나 위임된 권한을 사용하는 기능을 수행한다. 따라서, 증명서 수임자 단말기(120)는 본 발명의 실시예에서 상술한 두 단말기(110, 115) 중 어느 하나가 될 수 있다. 물론, 증명서 수임자 단말기(120)는 제3자가 접속하는 제3자 단말기인 것도 가능하다.The
이상, 상술한 이용자 단말기(110), 증명서 요청자 단말기(115) 및 증명서 수임자 단말기(120)는 본 발명의 실시예에서 터미널(terminal) 기능을 하는 휴대폰, PDA, 컴퓨터 등으로 구현될 수 있다. 그러나, 반드시 이에 한정될 필요는 없으며, 입력신호를 발생시키는 키입력부와 출력신호를 표시하는 디스플레이부를 구비하는 소정 형상의 장치라면 충분할 것이다.As described above, the above-described
전자문서 보관소 서버(130)는 전자문서 증명 업무를 수행하는 주체로서, 본 발명의 실시예에서 그 주된 기능이 증명서의 발급이다. 전자문서 보관소 서버(130)는 요청자 단말기(115)에 의한 증명서 요청에 대하여 증명서를 발급하게 되는데, 증명서의 요청은 요청 및 응답의 프로토콜을 사용한다. 증명서 발급을 포함하여 전자문서 보관소 서버(130)가 본 발명의 실시예에서 수행하는 구체적인 기능은 다음 과 같다.The electronic
첫째, 보관소 서버(130)는 전자문서의 등록, 폐기, 이관, 발급 등에 대해 요청 업무를 수행하며, 이에 대한 기록을 증적의 형태로 생성하는 기능을 수행한다. 기록은 무결성을 보장하기 위해 안전하게 보관되며, 등록 기능의 경우에는 추가로 등록 증명서를 발급하게 된다.First, the
둘째, 보관소 서버(130)는 등록 증명서, 발급 증명서, 이관 증명서, 폐기 증명서, 원본 증명서, 시점확인 증명서 등을 발급하는 기능을 수행한다. 상기에 기재된 각각의 증명서를 정의하면 다음과 같다. 등록 증명서는 본 발명의 실시예에서 보관소 서버(130)가 수행한 전자문서 등록 기능에 대한 증적을 대상으로 발급하는 보증서로 정의된다. 발급 증명서는 본 발명의 실시예에서 보관소 서버(130)가 수행하는 전자문서 발급 기능에 대한 증적을 대상으로 발급하는 보증서로 정의된다. 이관 증명서는 본 발명의 실시예에서 보관소 서버(130)가 수행한 전자문서 이관 기능에 대한 증적을 대상으로 발급하는 보증서로 정의된다. 폐기 증명서는 본 발명의 실시예에서 보관소 서버(130)가 수행하는 전자문서 폐기 기능에 대한 증적을 대상으로 발급하는 보증서로 정의된다. 원본 증명서는 본 발명의 실시예에서 보관소 서버(130)가 발급하는 전자문서의 내용이 보관소가 보관 중인 원본 전자문서의 내용과 동일함을 증명하는 보증서로 정의된다. 시점확인 증명서는 본 발명의 실시예에서 특정 데이터가 특정 시각에 존재하였음을 증명하는 보증서로 정의된다.Second, the
한편, 보관소 서버(130)가 상술한 증명서들을 발급하는 절차는 도 2 내지 도 6을 참조하여 후술한다.Meanwhile, the procedure for issuing the above-mentioned certificates by the
세째, 보관소 서버(130)는 상술한 각종 증명서를 검증하는 데에 필요한 정보를 제공하는 기능을 수행한다. 증명서 검증은 증명서 검증자(verifier)가 접속하는 증명서 검증자 단말기(미도시)에 의해 이루어지는데, 증명서 검증자 단말기는 본 발명의 실시예에서 요청자 단말기(115) 또는 수임자 단말기(120)일 수 있다. 한편, 검증자 단말기는 필요에 따라 보관소 서버(130)에 특정 데이터를 추가 요청할 수 있다. 이 경우, 보관소 서버(130)는 검증자 단말기가 권한이 있다고 판단되는 경우에 한해 특정 데이터를 제공함이 바람직하다. 한편, 증명서 검증 방법은 후술한다.Third, the
전자문서 보관소 데이터베이스(135)는 본 발명의 실시예에서 전자문서 보관소 서버(130)가 증적의 형태로 생성한 각종 기록(전자문서 포함)을 저장 보관하는 기능을 한다. 이를 위해 이 데이터베이스(135)를 구현하는 저장매체는 WORM(Write Once Read Many) 기능을 가지도록 함이 바람직하다. 그러면, 설정된 보존 기간동안에는 삭제나 위조, 변조 등이 불가능하게 되어 신뢰성이 제고될 수 있다.The electronic
공인인증기관 서버(150)는 본 발명의 실시예에서 전자문서 보관소 서버(130)와 네트워크 연결된다. 이러한 공인인증기관 서버(150)은 보관소 서버(130) 이용자들의 인증서를 발급하게 해주는 기능을 수행한다. 또한, 공인인증기관 서버(150)는 인증서 유효성 검증을 위하여 디렉토리(Directory) 또는 OCSP(Online Certificate Status Protocol : 실시간 인증서 상태 확인 프로토콜) 기능을 제공한다. 공인인증기관 서버(150)가 구현하는 이러한 기능들은 예컨대, "X500; ITU-T Recommendation X.500 | ISO/IEC 9594-1:1998, Information technology - Open Systems Interconnection - The Directory : Overview Of Concepts, Models and Services", "X501; ITU-T Recommendation X.501 | ISO/IEC 9594-2:1995, Information technology - Open Systems Interconnection - The Directory : Part 2 : Models", "X509; ITU-T Recommendation X.509 | ISO/IEC 9594-8:1998, Information technology - Open Systems Interconnection - The Directory : Authentication Framework" 등의 문헌을 참고할 수 있겠다.The public
다음으로, 전자문서 보관 시스템(100)을 구성하는 전자문서 보관소 서버(130)를 설명한다. 도 2는 본 발명의 바람직한 실시예에 따른 전자문서 보관 시스템에 있어서, 전자문서 보관소 서버의 내부 구성을 개략 설명한 블록도이다. 도 2를 참조하면, 본 발명의 바람직한 실시예에 따른 전자문서 보관소 서버(130)는 통신부(200), 등록 관리부(205), 메시지 생성부(215), 발급 관리부(220), 무결성 검증부(225), 시점확인 관리부(230), 증적 검색부(235), 기타 관리부(240) 및 중앙처리부(210)를 포함한다. 이에 더하여, 전자문서 보관소 서버(130)가 항시 구동될 수 있도록 전원을 공급하는 전원부(미도시)를 더 구비함은 물론이다. 또한, 전자문서 보관소 서버(130)는 특정 신호를 입력하거나 처리된 결과를 표시할 수 있도록 입력부와 출력부를 더 구비함도 가능하다.Next, the electronic
전자문서 보관소 서버(130)는 비록 서버라는 명칭을 사용하였으나 서버 역할을 할 수 있는 통상의 컴퓨터로 구현됨도 가능하다. 따라서, 본 발명에서 사용되는 서버는 서버, 컴퓨터 등을 포함하는 정보처리 능력을 구비한 장치 개념으로 이해해야 할 것이다. 이는 공인인증기관 서버(150)의 경우도 마찬가지다. 한편, 전자문서 보관소 서버(130)를 구성하는 각 구성부(200 내지 240)의 기능은 도 3 내지 도 6에 따른 방법을 설명하면서 함께 기술할 것인 바 여기서는 상세한 설명을 생략한다.The electronic
다음으로, 이미 언급한 바와 같이 보관소 서버(130)가 각종 증명서들을 발급하는 절차를 설명한다. 도 3 내지 도 6은 본 발명의 바람직한 실시예에 따른 전자문서 보관 시스템에 있어서, 전자문서 보관소 서버의 증명서 발급 절차를 설명하기 위한 흐름도이다. 이하, 도 3 내지 도 6을 참조하여 설명한다.Next, as described above, the procedure for issuing various certificates by the
① 등록 증명서의 발급① Issuance of Registration Certificate
도 3을 참조하면, 제1 단계에서 이용자 단말기(110)는 전자문서 등록을 요청한다. 이 요청은 보관소 서버(130)의 통신부(200)에 수신된다(S300). 제2 단계에서, 보관소 서버(130)의 등록 관리부(205)는 이용자 단말기(110)의 요청에 따라 전자문서를 등록한다(S305). 이후, 등록 관리부(205)는 전자문서 등록에 대한 증적을 생성한다(S310).Referring to FIG. 3, in a first step, the
제3 단계에서, 보관소 서버(130)의 중앙처리부(210)는 전자문서 및 증적을 보관소 데이터베이스(135)에 저장 보관시킨다(S315). 제4 단계에서, 등록 관리부(205)는 중앙처리부(210)의 제어에 따라 보관소 데이터베이스(135)에 연계된다(S320). 이후, 등록 관리부(205)는 보관소 데이터베이스(135)에 저장된 증명서 정책과 증적을 이용하여 등록 증명서를 생성한다(S325).In a third step, the
제5 단계에서, 메시지 생성부(215)는 등록 증명서를 포함시켜 전자문서 등록 요청에 대한 답신 메시지를 생성한다(S330). 제6 단계에서, 중앙처리부(210)는 생 성된 답신 메시지를 통신부(200)를 통하여 이용자 단말기(110)에 제공한다(S335).In a fifth step, the
한편, S325 단계에서 등록 관리부(205)가 등록 증명서 생성에 실패하게 되면, 메시지 생성부(215)는 그 원인을 포함하는 에러 메시지를 생성한다(S340). 이후, 중앙처리부(210)는 에러 메시지를 통신부(200)를 통해 이용자 단말기(110)에 전달한다(S345).On the other hand, if the
한편, 본 발명의 실시예에서 등록 증명서가 최초의 것인 경우에는 이용자 단말기(110)의 별도 요청이 없어도 자동으로 발급되도록 함이 바람직하다.On the other hand, in the embodiment of the present invention, if the registration certificate is the first time, it is preferable to automatically issue even without a separate request of the
② 원본 증명서의 발급② Issuance of Original Certificate
도 4를 참조하면, 제1 단계에서 이용자 단말기(110)는 전자문서 발급을 요청한다. 이 요청은 통신부(200)에 수신된다(S400). 제2 단계에서, 보관소 서버(130)의 발급 관리부(220)는 이용자 단말기(110)의 요청에 따라 전자문서 원본을 발급한다(S405). 이후, 발급 관리부(220)는 전자문서 원본 발급 사실에 대한 증적을 생성한다(S410).Referring to FIG. 4, in a first step, the
제3 단계에서, 중앙처리부(210)는 증적을 보관소 데이터베이스(135)에 저장 보관시킨다(S415). 제4 단계에서, 발급 관리부(220)는 중앙처리부(210)의 제어에 따라 보관소 데이터베이스(135)에 연계된다(S420). 이후, 발급 관리부(220)는 저장된 증명서 정책과 발급된 전자문서 원본을 이용하여 원본 증명서를 생성한다(S425). 한편, 전자문서 원본과 동일한 구성을 가지는 변환본(예컨대, 복사본)이 존재하는 경우, 필요에 따라서는 발급 관리부(220)가 이 변환본에 대한 원본 증명서도 추가로 발급할 수 있다.In a third step, the
제5 단계에서, 메시지 생성부(215)는 DIP에 발급 요청된 전자문서 원본(또는 전자문서 변환본까지 포함)과 원본 증명서를 첨부시킨다(S430). 여기에서, DIP란 배부 정보 패키지(Dissemination Information Packages)로서, 전자문서 보관소 서버(130)가 전자문서를 이용자 단말기(110)에 제공할 때 이용하는 구조를 말한다. 제6 단계에서, 중앙처리부(210)는 DIP를 통신부(200)를 통하여 이용자 단말기(110)에 제공한다(S435).In a fifth step, the
한편, S425 단계에서 발급 관리부(220)가 원본 증명서 생성에 실패할 경우, 그 이후 과정인 S440 단계와 S445 단계는 S340 단계 및 S345 단계와 동일하다.On the other hand, if the
한편, 본 발명의 실시예에서 원본 증명서는 각종 전자문서 발급시에 전자문서와 함께 DIP에 첨부되며, 별도의 증명 요청서 없이도 자동으로 이용자 단말기(110)에 발급되게 함이 바람직하다.On the other hand, in the embodiment of the present invention, the original certificate is attached to the DIP with the electronic document at the time of issuing various electronic documents, it is preferable to be automatically issued to the
③ 시점확인 증명서의 발급③ Issuance of Certificate of Time Confirmation
도 5를 참조하면, 제1 단계에서 요청자 단말기(115)는 데이터 해쉬값을 포함하는 증명 요청서를 생성한다(S500). 이후, 요청자 단말기(115)는 증명 요청서를 보관소 서버(130)에 전달한다. 그러면, 통신부(200)가 이를 수신한다(S505). 제2 단계에서, 보관소 서버(130)의 무결성 검증부(225)는 증명 요청서의 무결성을 검증한다(S510). 만약 무결성 검증부(225)가 증명 요청서의 무결성을 확인하지 못하면, 메시지 생성부(215)는 증명 요청서의 무결성을 부정한다는 메시지를 생성한다(S515). 이후, 중앙처리부(210)는 이 메시지를 통신부(200)를 통하여 요청자 단말기(110)에 전달한다(S520). 물론, 증명 요청서의 무결성 부정에 대해 전자문서 보관소 서버(130)가 아무런 조치를 취하지 않음도 무방하다.Referring to FIG. 5, in the first step, the
제3 단계에서(이 단계를 비롯한 이후 단계는 증명 요청서의 무결성이 긍정됨을 전제로 한 것임), 보관소 서버(130)의 시점확인 관리부(230)는 증명 요청서와 증명 요청서에 기재된 데이터 해쉬값을 이용하여 시점확인 증명서를 생성한다(S525). 제4 단계에서, 중앙처리부(210)는 생성된 시점확인 증명서를 요청자 단말기(115)에 제공한다(S530).In the third step (assuming that the integrity of the certificate request is positive after this step), the point-of-
한편, S525 단계에서 시점확인 관리부(230)가 시점확인 증명서 생성에 실패할 경우, 그 이후 과정인 S535 단계와 S540 단계는 S340 단계 및 S345 단계와 동일하다.On the other hand, if the point of
④ 기타 증명서(발급 증명서, 이관 증명서, 폐기 증명서 등)의 발급④ Issuance of other certificates (issuance certificate, transfer certificate, revocation certificate, etc.)
도 6을 참조하면, 제1 단계에서 요청자 단말기(115)는 증명 요청서를 생성한다(S600). 이후, 요청자 단말기(115)는 증명 요청서를 보관소 서버(130)에 전달한다. 그러면, 통신부(200)가 이를 수신한다(S605). 제2 단계에서, 무결성 검증부(225)는 증명 요청서의 무결성을 검증한다(S610). 만약 무결성 검증부(225)가 증명 요청서의 무결성을 확인하지 못하면, 그 이후 과정인 S615 단계 및 S620 단계는 도 5의 경우와 동일하다.Referring to FIG. 6, in the first step, the
제3 단계에서(이 역시 도 5의 경우와 동일함), 보관소 서버(130)의 증적 검색부(235)는 중앙처리부(210)의 제어에 따라 보관소 데이터베이스(135)에 연계된다(S625). 이후, 증적 검색부(235)는 증명 요청서를 근거로 증명의 대상이 되는 증적을 검색한다(S630). 제4 단계에서, 보관소 서버(130)의 기타 관리부(240)는 저장 된 증명서 정책, 검색된 증적 및 증명 요청서를 이용하여 기타 증명서를 생성한다(S635).In the third step (which is also the same as that of FIG. 5), the
제5 단계에서, 중앙처리부(210)는 생성된 기타 증명서를 요청자 단말기(115)에 제공한다(S640).In a fifth step, the
한편, S635 단계에서 기타 관리부(240)가 기타 증명서 생성에 실패할 경우, 그 이후 과정인 S645 단계와 S650 단계는 S340 단계 및 S345 단계와 동일하다.On the other hand, if the
한편, 도 3 내지 도 6을 참조한 상기 설명에서 두 단말기(110, 115)와 전자문서 보관소 서버(130) 사이에는 3가지 메시지가 송수신된다. 증명서 요청 메시지, 증명서 응답 메시지, 에러 메시지가 바로 그것인데, 증명서 요청 메시지는 두 단말기(110, 115)가 증명서 발급을 위해 생성 또는 요청한 일련의 정보(예컨대, 증명 요청서)를 말한다. 그리고, 증명서 응답 메시지는 증명서 요청 메시지에 대해 그 처리 결과로 전자문서 보관소 서버(130)가 생성하는 일련의 정보(예컨대, 답신 메시지나 DIP)를 말한다. 마지막으로, 에러 메시지는 증명서 응답 메시지의 생성에 실패하였을 경우에 그 원인을 포함하여 생성하는 정보를 말한다. 이하, 이들 메시지에 대해 보다 상세하게 설명한다. 먼저, 증명서 요청 메시지를 설명한다.Meanwhile, in the above description with reference to FIGS. 3 to 6, three messages are transmitted and received between the two
증명서 요청 메시지는 전자서명 구조인 IETF RFC 3852 CMS(Cryptographic Message Syntax)에서 제시하는 ContentInfo 구조체로 표현된 signedData를 사용한다. signedData는 일반적으로 많이 사용되는 구조이며, 다양한 추가 정보 및 기능을 부여할 수 있는 기능을 가지고 있다. CMS는 기본적으로 인코딩 방식은 ASN.1(Abstract Syntax Notation One: 추상적 구문 표기) BER(Basic Encoding Rules: 기본 부호화 규칙)을 따르며, 일부 정보에 대하여는 DER(Distinguished Encoding Rules: 식별 부호화 규칙)을 요구할 수도 있다.The certificate request message uses signedData represented by a ContentInfo structure presented by IETF RFC 3852 Cryptographic Message Syntax (CMS). signedData is a commonly used structure, and has a function to give various additional information and functions. CMS basically conforms to Abstract Syntax Notation One (ASN.1) Basic Encoding Rules (BER), and may require DER (Distinguished Encoding Rules) for some information. have.
이상, 상술한 증명서 요청 메시지를 구현하는 방법은 예컨대, "X680; ITU-T Recommendation X.680 | ISO/IEC 8824-1: Information Technology Abstract Syntax Notation One (ASN.1) : Specification of basic notation", "X690; ITU-T Recommendation X.690 | ISO/IEC 8825-1: Information Technology ASN.1 Encoding Rules: Specification of Basic Encoding Rules (BER), Canonical Encoding Rules (CER) and Distinguished Encoding Rules (DER)", "CMP; Internet X.509 Public Key Infrastructure Certificate Management Protocol(CMP)(RFC 4210), IETF, 2005", "CMS; Cryptographic Message Syntax(RFC 3852), IETF, 2004" 등의 문헌을 참고할 수 있겠다. 이는 증명서 응답 메시지와 에러 메시지의 경우도 마찬가지이다.As described above, a method for implementing the above-described certificate request message is described in, for example, "X680; ITU-T Recommendation X.680 | ISO / IEC 8824-1: Information Technology Abstract Syntax Notation One (ASN.1): Specification of basic notation", "X690; ITU-T Recommendation X.690 | ISO / IEC 8825-1: Information Technology ASN.1 Encoding Rules: Specification of Basic Encoding Rules (BER), Canonical Encoding Rules (CER) and Distinguished Encoding Rules (DER)", See, eg, "CMP; Internet X.509 Public Key Infrastructure Certificate Management Protocol (CMP) (RFC 4210), IETF, 2005", "CMS; Cryptographic Message Syntax (RFC 3852), IETF, 2004". The same is true for certificate response messages and error messages.
CMS의 signedData 구조는 서명 대상, 서명 인증서, 서명 정보 등으로 구성된다. 이에 따라, 메시지의 내용, 메시지를 생성한 증명서 요청자의 전자서명, 증명서 요청자의 인증서는 각각 encapContentInfo 필드, signerInfos 필드, certificates 필드에 포함되어 구성된다. encapContentInfo 필드는 메시지에서 실제 데이터를 형성하는 ARCCertRequest 구조체를 포함하는 부분으로 무결성의 제공을 위하여 전자서명 되어지는 부분이다. 메시지 컨텐츠의 구별을 위해서 식별자는 id-kiec-arcCertRequest를 사용하게 된다. certificates 필드는 certificate의 집 합으로 증명서 요청자가 메시지 서명에 사용한 인증서를 비롯하여 인증기관의 인증서와 최상위 인증기관 인증서를 포함할 수 있다. certificate의 형식은 공인인증 체계에서 발급하는 형식인 X.509 version 3 인증서를 의미한다. certificates 필드는 선택적으로 사용 가능하지만, 본 발명에서는 증명서 요청자의 인증서를 포함하여 메시지를 생성하도록 한다. signerInfos 필드는 signerInfo의 집합으로 서명자에 대한 정보를 나타내는 필드이다. 증명서 요청자는 메시지의 무결성을 위하여 signerInfo에 증명서 요청자의 전자서명을 포함시킨다. signerInfo는 전자서명, 전자서명 알고리즘 및 속성들을 포함하고 있으며, 증명서 요청자는 CMS 표준에서 언급하고 있는 속성들을 추가적으로 사용할 수 있다.The signedData structure of CMS consists of signature object, signing certificate, and signature information. Accordingly, the content of the message, the digital signature of the certificate requestor that generated the message, and the certificate requestor's certificate are included in the encapContentInfo field, the signerInfos field, and the certificates field, respectively. The encapContentInfo field contains the ARCCertRequest structure that forms the actual data in the message and is digitally signed to provide integrity. To distinguish message contents, identifier uses id-kiec-arcCertRequest. The certificates field is a set of certificates that can include the certificate authority's certificate and the top-level CA certificate, as well as the certificate used by the certificate requester to sign the message. The format of the certificate refers to an X.509 version 3 certificate issued by a public certification system. Although the certificates field is optional, the present invention includes a certificate requestor's certificate to generate a message. The signerInfos field is a set of signerInfos and indicates a information about a signer. The certificate requester includes the certificate requester's digital signature in signerInfo for the integrity of the message. signerInfo includes digital signature, digital signature algorithm and attributes, and certificate requester can additionally use the attributes mentioned in CMS standard.
한편, 증명서 요청 메시지가 ARCCertRequest를 포함하는 signedData의 구조를 가짐은 이미 언급하였다. 이하, 이 구조 메시지의 기본 필드와 확장 필드를 살펴본다.On the other hand, it has already been mentioned that the certificate request message has a structure of signedData including an ARCCertRequest. The basic and extended fields of this structure message are described below.
메시지의 기본 필드는 메시지의 확장 필드(extensions)를 제외한 부분으로 버전, 요청자, 요청 시간, 정책, 증적, 난수 등 메시지 생성에 필요한 필수 정보를 나타낸다. 기본 필드는 메시지에 반드시 포함되어야 하는 정보인데, 이를 위해 ARCCertRequest는 DER 인코딩 방식을 따른다.The basic fields of the message are the parts except for the extension fields of the message, and indicate essential information necessary for generating the message such as version, requestor, request time, policy, trace, and random number. The basic field is information that must be included in the message. For this purpose, ARCCertRequest follows DER encoding.
다음으로, 기본 필드를 구성하는 각각의 정보를 살펴보면, 먼저 version 필드는 메시지의 버전을 표시한다. target 필드에 targetHash가 사용되면 버전 2를 사용하여야 하며, 그 외의 경우에는 버전 1을 사용하여야 한다.Next, look at each piece of information that makes up the basic field. First, the version field indicates the version of the message. If targetHash is used in the target field, version 2 should be used. Otherwise, version 1 should be used.
requester 필드는 증명서 발급을 요청한 주체를 나타낸다. 증명서 요청자는 GeneralName 구조체의 otherName 필드를 이용하여, 증명서 요청자의 실명을 UTF8String으로 인코딩한 값과 증명서 요청자의 식별번호를 두 번 해쉬한 값을 사용하는 것을 기본으로 한다. 증명서 요청자가 사업자인 경우의 실명으로는 사업자명을 사용하며, 식별번호로는 사업자번호를 사용한다. 증명서 요청자가 개인인 경우 식별번호로 주민번호를 사용하게 되는데, 이때 주민번호의 도용을 방지하기 위하여 안전한 난수를 생성하여 주민번호와 연접하여 사용하도록 한다. requester 필드는 한국정보보호진흥원의 "[KCAC.TS.CERTPROF] 전자서명 인증서 프로파일 기술규격"에서 정의된 IdentifyData 구조를 사용하는 공인인증서의 subjectAltName과 비슷한 구조로 되어 있으나, IdentifyData의 userInfo에 한국정보보호진흥원의 "[KCAC.TS.SIVID] 식별번호를 이용한 본인확인 기술규격"에 정의된 VID 구조를 사용하지 않고 본 발명에 적용된 HashedIDNInfo 구조를 사용한다. 한편, 보관소 서버(130)는 증명 요청서를 수신하여 검증하는 과정에서 반드시 requester 필드의 IdentifyData에 대한 검증을 수행해야 한다.The requester field indicates a subject that has requested to issue a certificate. The certificate requestor is based on using the otherName field of the GeneralName structure to encode the certificate requester's real name into UTF8String and hash the certificate requestor's identification number twice. If the certificate requester is a business operator, use the business name as the real name and the business number as the identification number. If the certificate requester is an individual, the social security number is used as an identification number. In this case, a secure random number is generated to be used in conjunction with the social security number to prevent theft of the social security number. The requester field has a structure similar to the subjectAltName of an accredited certificate that uses the IdentifyData structure defined in the Korea Information Security Agency's "[KCAC.TS.CERTPROF] Digital Signature Certificate Profile Technical Specification". The HashedIDNInfo structure applied to the present invention is used without using the VID structure defined in "[KCAC.TS.SIVID] Identification Technical Specification using Identification Number". Meanwhile, the
requestTime 필드는 증명서 요청시간을 의미한다. 증명서 요청시간은 증명서 요청자가 메시지를 생성한 시점을 의미하므로 보관소의 업무 수행시점보다는 이후의 시간을 갖는다. 메시지의 증명서 요청시간값이 잘못된 시간이거나 보관소 서버(130)의 시간과 차이가 나는 경우에 보관소 서버(130)는 증명서 발급에 실패한 것으로 처리하고, 증명서 요청자에게 에러 메시지를 전송해야 한다. 증명서 요청시간은 GeneralizedTime 형식을 사용한다.The requestTime field means certificate request time. The certificate request time means the time when the certificate requester generated the message, so it has a later time than when the repository performs its work. If the certificate request time value of the message is incorrect or different from the time of the
policy 필드는 증명서 정책을 나타낸다. 증명서 요청자는 발급받고 싶은 증 명서 정책을 선택하여 증명서를 요청할 수 있다. 이 필드는 보관소 서버(130)에 의하여 반드시 검토되어야 하며, 보관소 서버(130)가 정책을 알고 있어야 한다. 정의된 구조 중에 policyQualifiers는 사용하지 않는다.The policy field represents a certificate policy. The certificate requester can request a certificate by selecting a certificate policy to be issued. This field must be reviewed by the
target 필드는 증명서 요청자가 증명서를 통하여 증명받고자 하는 대상을 포함하는 필드이며, 요청하는 증명서의 종류에 따라 증적의 식별정보 또는 데이터의 해쉬정보로 구성될 수 있다.The target field is a field including a target that a certificate requestor wants to prove through a certificate. The target field may be configured as identification information of the evidence or hash information of the data according to the type of certificate requested.
targetRecord 필드는 보관소 서버(130)가 제공한 기능에 대한 기록이자 증명서 요청자가 증명서를 통하여 증명받고자 하는 증적의 식별자를 포함한다. 등록 증명서, 발급 증명서, 이관 증명서, 폐기 증명서 중 어느 하나 이상을 발급받기 위한 메시지인 경우는 targetRecord 필드를 사용하여 target 필드를 설정하여야 한다.The targetRecord field is a record of the function provided by the
serialNo 필드는 보관소 서버(130)가 제공한 기능을 기록한 증적의 식별번호로서, 발급될 증명서의 target 필드에 포함되는 OperationRecord 구조체의 하위 필드인 serialNo 필드와 동일한 값이어야 한다. 보관소 서버(130)는 증적의 serialNo 생성시 순차적으로 증가하는 양의 정수를 사용하여 최대 20byte까지 생성할 수 있어야 하고, 이용자 소프트웨어는 최대 20byte 길이의 serialNo를 처리할 수 있어야 한다.The serialNo field is an identification number of a record recording a function provided by the
opType 필드는 보관소 서버(130)가 제공한 기능의 종류, 즉 작업 종류를 의미하며, 역시 발급될 증명서의 target 필드에 포함되는 OperationRecord 구조체의 하위 필드인 opType 필드와 동일한 값이어야 한다. 각 기능의 의미는 다음과 같다.The opType field means a type of function provided by the
□ register : 전자문서 등록, issue : 전자문서 발급, transfer : 전자문서 이관, delete : 전자문서 폐기□ register: Electronic document registration, issue: Electronic document issuance, transfer: Electronic document transfer, delete: Electronic document disposal
targetHash 필드는 어떤 데이터가 특정 시각에 존재하였음에 대한 증명을 받고자 할 때 사용되는 필드로서 이는 HashedDataInfo 구조체 형식으로 표현된다. 시점확인 증명서를 발급받기 위한 메시지인 경우는 targetHash 필드를 사용하여 target 필드를 설정하여야 한다.The targetHash field is used to prove that data existed at a specific time. It is expressed in the form of a HashedDataInfo structure. In the case of a message for issuing a time verification certificate, the target field must be set using the targetHash field.
hashedData 필드는 해쉬 알고리즘인 hashAlg를 사용하여 증명받고자 하는 데이터를 한번 해쉬한 값이다.The hashedData field is a hash value of the data to be verified once using hashAlg, which is a hash algorithm.
nonce 필드는 증명서 요청자가 생성한 임시값을 나타낸다. nonce 필드는 기본적으로 재사용 공격 및 추측 공격 등을 방지하기 위하여 사용된다.The nonce field indicates a temporary value generated by the certificate requestor. The nonce field is basically used to prevent reuse attacks and guessing attacks.
다음으로, 확장 필드를 살펴본다. 확장 필드는 다음과 같은 구조로 되어 있다.Next, look at the extension fields. The extended field has the following structure.
Extensions ::= SEQUENCE SIZE (1..MAX) OF ExtensionExtensions :: = SEQUENCE SIZE (1..MAX) OF Extension
Extension ::= SEQUENCE {Extension :: = SEQUENCE {
extnID OBJECT IDENTIFIER,extnID OBJECT IDENTIFIER,
critical BOOLEAN DEFAULT FALSE,critical BOOLEAN DEFAULT FALSE,
extnValue OCTET STRING }extnValue OCTET STRING}
여기에서, Extension은 확장 필드의 종류를 나타내는 extnID와 중요도를 의미하는 critical 그리고 확장 필드의 값을 포함하는 extnValue로 구성된다. 확장 필드의 critical이 TRUE로 설정되어 있을 경우, 보관소 서버(130)는 확장 필드를 반드시 이해하고 처리할 수 있어야 한다.The extension consists of extnID, which indicates the type of the extension field, critical, which indicates the importance, and extnValue, which contains the value of the extension field. If critical of the extended field is set to TRUE, the
이하, 확장 필드를 구성하는 각각의 필드에 대해 설명한다. Qualifications 확장필드는 자격부여에 관한 것으로 증명서를 전달받아 이용하는 주체와 위임될 역할에 대한 정보를 나타낸다. 증명서를 전달받아 이용하는 주체가 한정되어야 할 경우에 이 필드를 사용하여 증명서에 대한 수임자를 지정할 수 있다. 이 필드를 사용하여 특정인에게만 유효한 증명서를 생성할 수 있으며, 또한 특정인에게 문서에 대한 접근 권한을 부여할 수 있다. 특정인에게 문서에 대한 접근 권한을 부여하기 위하여 본 필드를 사용한다면 반드시 등록 증명서를 요청하여야 한다. Qualifications 확장필드는 증명서의 수임자 정보인 nomineeInfo와 위임될 역할 또는 권한인 nomineeRole로 이루어진 qualification 필드가 복수개로 나열될 수 있는 구조로 되어있다. 증명서 수임자 정보는 증명서 수임자인 nominee와 증명서 수임자의 인증서 정보인 nomineeCert로 이루어져 있으며, 두 필드 중 하나는 반드시 존재해야 한다. 증명서 수임자가 개인일 경우는 반드시 nomineeCert만을 사용해야 하며, 사업자일 경우는 nominee 필드 또는 nomineeCert 필드 둘다 사용 가능하다. nominee 필드는 수임자의 실명 및 식별번호를 사용하여 requester 필드와 동일한 방법으로 생성한다. nomineeCert 필드는 수임자의 인증서에서 추출한 정보를 사용하여 구성한다.Hereinafter, each field constituting the extension field will be described. The Qualifications extension field is about entitlement and indicates information about the subject and the role to be delegated. This field can be used to specify the person responsible for the certificate when the subject to which the certificate is to be received must be limited. You can use this field to generate a certificate that is valid only for a specific person, and to grant access to a document to that person. If you use this field to grant a person access to a document, you must request a certificate of registration. The Qualifications extension field has a structure in which a plurality of qualification fields consisting of nomineeInfo, which is the certificate holder's information, and nomineeRole, which is a role or authority to be delegated, can be listed in a plurality. Certificate holder information consists of the certificate holder nominee and the certificate holder's certificate information nomineeCert. One of the two fields must exist. If the certificate holder is an individual, only nomineeCert should be used. In the case of a licensee, both the nominee field or the nomineeCert field may be used. The nominee field is created in the same way as the requester field using the real name and identification number of the person responsible. The nomineeCert field is constructed using information extracted from the certificate of the recipient.
NomineeRole ::= BIT STRING {NomineeRole :: = BIT STRING {
onlyForNominee (0),onlyForNominee (0),
readDocument (1),readDocument (1),
downloadDocument (2) }downloadDocument (2)}
nomineeRole 필드는 수임자의 역할 또는 권한을 나타낸다. 각 bit값의 의미는 다음과 같다.The nomineeRole field indicates the role or authority of the person in charge. The meaning of each bit value is as follows.
□ onlyForNominee : 증명서의 정당한 수신자임을 나타낸다.□ onlyForNominee: Indicates that the certificate is a valid recipient.
□ readDocument : 보관소 서버(130)에서 문서를 열람할 수 있음을 나타낸다.ReadDocument: Indicates that the document can be read from the
□ downloadDocument : 보관소 서버(130)에서 문서를 다운로드할 수 있음을 나타낸다.DownloadDocument: indicates that the document can be downloaded from the
onlyForNominee 값의 경우, 모든 Qualification에 동시에 설정하거나 동시에 해제해야 함에 주의한다. nomineeRole 필드에 readDocument나 downloadDocument 값을 설정할 경우 반드시 targetRecord 필드의 하위 필드인 opType 필드의 값은 register로 설정되어야 한다. 반대로, targetRecord 필드의 하위 필드인 opType 필드의 값이 register가 아닌 경우 nomineeRole 필드에 readDocument나 downloadDocument 값을 설정하지 않아야 한다. 본 필드 생성시 critical의 값은 TRUE로 설정해야 한다.Note that for the onlyForNominee value, all qualifications must be turned on or off at the same time. When setting the value of readDocument or downloadDocument in the nomineeRole field, the value of the opType field, which is a subfield of the targetRecord field, must be set to register. Conversely, if the value of the opType field, which is a subfield of the targetRecord field, is not register, the readDocument or downloadDocument value should not be set in the nomineeRole field. When creating this field, critical value should be set as TRUE.
UsageType 확장필드는 증명서 용도에 관한 것으로서, 증명서의 이용환경 또는 용도에 따른 분류방식을 나타낸다. 증명서 요청자는 UsageType 필드를 사용하여 증명서의 이용환경 또는 용도를 한정할 수 있다. 의미상으로 공존할 수 있다면, 동일한 증명서에 복수의 UsageType을 설정할 수도 있다.The UsageType extension field is for certificate usage and indicates the classification method according to the usage environment or usage of the certificate. The certificate requester can use the UsageType field to define the usage environment or use of the certificate. If you can semantically coexist, you can set multiple UsageTypes for the same certificate.
id-kiec-usageType OBJECT IDENTIFIER ::= { iso(1) member-body(2) korea(410) kiec(200032) certificate(2) aRCCertificateExtensions(3) 2 }id-kiec-usageType OBJECT IDENTIFIER :: = {iso (1) member-body (2) korea (410) kiec (200032) certificate (2) aRCCertificateExtensions (3) 2}
UsageType ::= BIT STRING {UsageType :: = BIT STRING {
online (0),online (0),
mobile (1),mobile (1),
paperEnable (2) }paperEnable (2)}
여기에서, 각 bit 값의 의미는 다음과 같다.Here, the meaning of each bit value is as follows.
□ online : online 환경에서 사용할 수 있음을 나타낸다.□ online: Indicates that it can be used in an online environment.
□ mobile : mobile 기기에서 사용할 수 있음을 나타낸다.□ mobile: Indicates that it can be used on mobile devices.
□ paperEnable : 종이 증명서로 출력하여 사용할 수 있음을 나타낸다.□ paperEnable: Indicates that paper certificate can be printed and used.
이상, 본 필드 생성시 critical의 값은 FALSE로 설정해야 한다.As above, critical value should be set to FALSE when generating this field.
DateOfExpiration 필드는 증명서 요청자가 증명서의 효력 만기일을 지정할 때 사용한다. 이 필드를 사용하지 않을 경우 보관소 서버(130)가 증명서 정책에서 정의한 유효기간을 사용하여 효력 만기일이 설정된다. 또한, 본 필드의 critical 값이 FALSE이며, 요청한 증명서 효력 만기일이 정책상 효력 만기일을 초과하는 경우, 보관소 서버(130)는 정책상의 유효기간을 사용하여 증명서 효력 만기일을 설정한다. 증명서 효력 만기일은 증명서 요청시간보다 미래이어야 한다. 이상, 본 필드 생성시 critical 값은 TRUE 또는 FALSE가 가능하다.The DateOfExpiration field is used by the certificate requestor to specify the expiration date of the certificate. If this field is not used, the expiration date is set using the expiration date defined by the
CertifiedTime 필드는 보증 일시에 관한 것으로서, 전자문서가 등록 시점부터 일정 기간동안 보관소 서버(130)에 보관되어 있었음을 이용자가 보증받기를 원 할 경우, 해당 기간의 마지막 일시를 기술하도록 한다. 보증 일시는 증명서 요청시간보다 미래일 수는 없다. 만약, 본 필드가 포함된 메시지가 정상적으로 처리되어 본 필드와 동일한 값이 설정된 증명서가 발급되었다면, 해당 증명서는 전자문서 등록시점부터 본 필드에 기재된 시점까지 전자문서가 보관소에 보관되어 있었음을 보증하게 된다. 본 필드는 반드시 등록 증명서를 요청할 경우에만 생성되어야 하며, 다른 종류의 메시지에는 포함될 수 없다. 이상, 본 필드 생성시 critical 값은 TRUE로 설정해야 한다.The CertifiedTime field relates to the date and time of the warranty. If the user wants to be guaranteed that the electronic document has been stored in the
다음으로, 증명서 응답 메시지(이하, '응답 메시지'로 약칭함)를 설명한다. 증명서 요청에 대하여 보관소 서버(130)는 증명서 발급을 하거나 거부 또는 실패에 대한 정보를 증명서 요청자에게 전달한다. 이하 내용에서는, 증명서 요청에 대하여 증명서 요청자에게 전달하는 응답 메시지의 구조와 증명서 발급 실패에 대한 원인 분류를 한다.Next, the certificate response message (hereinafter, abbreviated as 'response message') will be described. In response to the certificate request, the
먼저, 응답 메시지의 구조에서, 보관소 서버(130)가 보내는 응답 메시지도 증명서 요청 메시지와 같이 전자서명 구조인 IETF RFC 3852 CMS (Cryptographic Message Syntax)에서 제시하는 ContentInfo 구조체로 표현된 signedData를 사용한다. 따라서, 응답 메시지의 내용은 encapContentInfo에 포함되고, 응답 메시지를 생성한 보관소 서버(130)의 전자서명은 signerInfos에 포함되며, 보관소 서버(130)의 인증서는 certificates에 포함된다.First, in the structure of the response message, the response message sent by the
encapContentInfo 필드는 응답 메시지의 실제 데이터인 ARCCertResponse 구 조체를 포함하는 부분으로 무결성의 제공을 위하여 전자서명 되어지는 부분이다. 응답 메시지 컨텐츠의 구별을 위하여 식별자는 id-kiec-arcCertReseponse를 사용한다. ARCCertResponse 구조체는 증명 정보인 arcCertInfo 또는 에러 정보인 arcErrorNotice를 포함하며, 각각에 대한 정보는 후술한다.The encapContentInfo field contains the ARCCertResponse structure, which is the actual data of the response message, and is digitally signed to provide integrity. To distinguish the response message contents, the identifier uses id-kiec-arcCertReseponse. The ARCCertResponse structure includes arcCertInfo which is attestation information or arcErrorNotice which is error information, and information about each will be described later.
certificates 필드는 certificate의 집합으로 보관소 서버(130)가 응답 메시지 서명에 사용한 인증서를 비롯하여 인증기관의 인증서와 최상위 인증기관 인증서를 포함할 수 있다. certificate의 형식은 공인인증 체계에서 발급하는 형식인 X.509 version 3 인증서를 의미한다. certificates 필드는 선택적으로 사용 가능하지만, 본 발명에서는 보관소 서버(130)의 인증서를 포함하여 응답 메시지를 생성하도록 한다.The certificates field is a set of certificates, and may include a certificate of a certification authority and a top certificate authority certificate, including a certificate used by the
signerInfos 필드는 signerInfo의 집합으로 서명자에 대한 정보를 나타내는 필드이다. 보관소 서버(130)는 응답 메시지의 무결성을 위하여 signerInfo에 보관소의 전자서명을 포함한다. signerInfo는 전자서명, 전자서명 알고리즘 및 속성들을 포함하고 있으며, 보관소 서버(130)는 CMS 표준에서 언급하고 있는 속성들을 추가적으로 사용할 수 있다.The signerInfos field is a set of signerInfos and indicates a information about a signer. The
응답 메시지에서의 증명서는 ARCCertResponse의 'arcCertInfo'를 포함한 signedData의 구조를 가지며, 증명서 요청 메시지의 경우와 마찬가지로 기본 필드와 확장 필드로 구성된다. 먼저, 기본 필드를 설명하고, 확장 필드는 후술한다.The certificate in the response message has a structure of signedData including 'arcCertInfo' of the ARCCertResponse, and is composed of basic fields and extended fields as in the case of a certificate request message. First, the basic field will be described, and the extended field will be described later.
증명서 기본 필드는 증명서의 확장 필드(extensions)를 제외한 부분으로 버전, 일련번호, 발급자, 발급시간, 만료시간, 정책, 요청자 정보, 증적 등 증명서 생성에 필요한 필수 정보를 나타낸다. 증명서 기본 필드는 증명서에 반드시 포함되어야 하는 정보이다.The certificate basic field is a part excluding extension fields of the certificate, and indicates essential information necessary for generating a certificate such as a version, serial number, issuer, issue time, expiration time, policy, requestor information, and evidence. The certificate basic field is information that must be included in the certificate.
ARCCertInfo ::= SEQUENCE {ARCCertInfo :: = SEQUENCE {
version [0] EXPLICIT ARCVersion DEFAULT v1,version [0] EXPLICIT ARCVersion DEFAULT v1,
serialNumber SerialNumber,serialNumber SerialNumber,
issuer GeneralNames,issuer GeneralNames,
dateOfIssue GeneralizedTime,dateOfIssue GeneralizedTime,
dateOfExpiration DateOfExpiration,dateOfExpiration DateOfExpiration,
policy ARCCertificatePolicies,policy ARCCertificatePolicies,
requestInfo RequestInfo,requestInfo RequestInfo,
target TargetToCertify,target TargetToCertify,
extentions [1] EXPLICIT Extensions OPTIONAL }extentions [1] EXPLICIT Extensions OPTIONAL}
ARCCertInfo는 DER 인코딩 방식을 따르며, 각각의 항목들은 다음과 같다.ARCCertInfo follows DER encoding method and each item is as follows.
version 필드는 증명서의 버전을 표시한다. target 필드에 dataHash가 사용되면 버전 2를 사용하여야 하며, 그 외의 경우에는 버전 1을 사용하여야 한다.The version field indicates the version of the certificate. If dataHash is used in the target field, version 2 should be used. Otherwise, version 1 should be used.
serialNumber 필드는 보관소 서버(130)가 발급하는 증명서의 일련번호(구체적으로, 식별번호)를 나타낸다. 일련번호는 동일한 번호로 발급되어지면 안되며, 양의 정수값만을 사용하여야 한다. 보관소 서버(130)는 증명서의 일련번호를 최대 20byte까지 생성할 수 있어야 하고, 이용자 소프트웨어는 최대 20byte 길이의 일련번호를 처리할 수 있어야 한다.The serialNumber field represents a serial number (specifically, an identification number) of a certificate issued by the
issuer 필드는 증명서를 발급하는 주체인 보관소 서버(130)를 의미하며, 작은 의미로는 증명서를 발급하는 증명 시스템을 의미한다. 이는 증명서 발급자 필드를 이용하여 검증하려는 증명서를 발급한 보관소 서버(130)를 식별할 수 있다. issuer 필드는 보관소 서버(130)의 실명 및 식별번호를 사용하여 증명서 요청 메시지의 requester 필드와 동일한 방법으로 생성한다.The issuer field refers to the
dateOfIssue 필드는 보관소 서버(130)가 사용자의 증명서 발급 요청에 대하여 증명서를 생성한 시점(즉, 증명서 발급일)을 표현한다. 증명서 발급일은 GeneralizedTime 형식을 사용한다.The dateOfIssue field represents a point in time when the
dateOfExpiration 필드는 증명서의 효력 만기일을 의미하며, 일반적으로 증명서 정책을 기반으로 증명서의 효력 만기일이 정해진다. 증명서 요청 메시지(이하, '요청 메시지'로 약술함)에 dateOfExpiration 확장 필드가 존재하고 critical 값이 TRUE인 경우, 보관소 서버(130)는 요청 메시지의 dateOfExpiration 필드의 값을 사용하여 본 필드의 값을 설정해야 한다. 요청 메시지의 dateOfExpiration 필드값이 TRUE이나, 어떤 사유로 요청 메시지의 dateOfExpiration 필드값과 동일하게 설정하지 못하는 경우는 증명서 발급에 실패한 것으로 처리하고, 증명서 요청자에게 에러 메시지를 전송해야 한다.The dateOfExpiration field means the validity expiration date of a certificate. In general, a certificate expiration date is determined based on a certificate policy. If the dateOfExpiration extension field is present in the certificate request message (hereinafter abbreviated as 'Request message') and the critical value is TRUE, the
요청 메시지의 dateOfExpiration 필드의 critical 값이 FALSE로 설정되었고 필드값이 증명서 정책상 효력 만기일을 초과하는 경우, 보관소 서버(130)는 정책상의 유효기간을 사용하여 증명서 효력 만기일을 설정한다. 요청 메시지의 dateOfExpiration 필드의 critical 값이 FALSE로 설정되었고 필드값이 증명서 정책 상 효력 만기일 내에 있다면, 보관소 서버(130)는 해당값을 사용하거나 또는 정책상 유효기간을 사용하여 증명서 효력 만기일 설정하는 것이 모두 가능하다. 전자문서 등록시에 발급되어지는 최초 등록 증명서의 효력 만기일은 전자문서의 보존 만료일(RetentionExpiredDate)과 동일해야 함에 주의한다.If the critical value of the dateOfExpiration field of the request message is set to FALSE and the field value exceeds the validity expiration date according to the certificate policy, the
증명서의 사용에 있어서 증명서의 효력 기간은 증명서 발급일로부터 증명서 효력 만기일 사이이다. 단, 증명서 효력 만기일 내에 있으나 증명서 서명 인증서의 유효기간이 곧 만료되거나 이미 만료되어 증명서의 유효성을 보증하지 못하는 경우에, 이용자는 갱신된 인증서로 서명한 증명서를 다시 발급해 줄 것을 보관소 서버(130)에 요청할 수 있고, 보관소 서버(130)는 이에 대하여 동일한 효력 만기일의 증명서를 갱신 발급하여야 한다. 증명서 갱신발급의 의미는 증명서에 첨부된 서명 및 서명에 사용된 보관소 인증서의 정보를 갱신하여 증명서의 유효성을 연장하는 것으로서, 갱신 전 증명서의 내용과 갱신 후 증명서의 내용은 변경되지 않는다. 따라서, 보관소 서버(130)에 갱신발급을 요청하기 위하여 이용자가 별도의 요청 메시지를 생성할 필요는 없으며, 갱신 발급된 증명서의 arcCertInfo 필드의 내용은 이전 증명서의 arcCertInfo의 내용과 동일해야 한다. 증명서 갱신 발급을 위한 재서명시, 보관소 서버(130)는 증명서에 첨부된 이전 서명 정보를 제거하고 갱신된 보관소 인증서를 사용하여 생성된 새로운 서명 정보를 추가하도록 한다.The validity period of a certificate in the use of the certificate is between the date of issue of the certificate and the expiration date of the certificate. However, if the validity of the certificate signing certificate expires soon or has already expired and the certificate is not valid to guarantee the validity of the certificate, the user issuing the certificate signed by the renewed certificate again. The
policy 필드는 증명서 정책을 나타낸다. 증명서의 정책은 증명서를 발급하는 보관소의 해당 증명서에 대한 운영 정책 및 이용자의 증명서 이용 범위를 포함한다. 보관소 서버(130)는 기본 증명서 정책으로 등록 증명서 정책, 발급 증명서 정 책, 이관 증명서 정책, 폐기 증명서 정책, 원본 증명서 정책 등을 정의하고 각 정책에 OID(Object IDentifier: 객체 식별자)를 부여하여야 하며, 필요에 따라 각 기본 증명서 정책의 하위에 세부적인 증명서 정책을 정의하여 사용할 수 있다. 또한, 보관소 서버(130)는 부가적으로 시점확인 증명서를 발급하기 위한 시점확인 증명서 정책을 정의하고 OID를 부여하여 사용할 수 있다. 증명서의 정책에 따라서 증명서의 용도 및 효력이 결정되므로 증명서를 이용하는 모든 주체는 증명서 정책에 기술된 정책 내용에 대하여 인지하여야 한다.The policy field represents a certificate policy. The policy of a certificate includes the operating policy for that certificate in the repository where the certificate is issued and the scope of use of the certificate by the user. The
ARCCertificatePolicies는 PolicyInformation 구조의 집합으로 이루어져 있으며, 다시 PolicyInformation은 증명서 정책을 기술하는 policyIdentifier와 이를 보다 자세하게 기술하는 policyQualifiers로 구성된다. policyQualifiers에는 업무준칙에 대한 공시를 위한 URI 주소를 나타내는 cPSuri와 사용자에게 간단한 정책관련 정보를 제공하는 userNotice가 포함된다. 본 발명에서는 cPSuri를 사용하여 표현된 PolicyQualifierInfo 구조를 반드시 포함하여야 하며, userNotice를 사용하여 표현된 PolicyQualifierInfo 구조는 선택적으로 포함 가능하다. userNotice를 사용할 경우 noticeRef는 생성하지 않으며, explicitText의 형식은 BMPString을 사용하여야 한다.ARCCertificatePolicies consists of a set of PolicyInformation structures. PolicyInformation consists of a policyIdentifier describing a certificate policy and a policyQualifiers describing it in more detail. policyQualifiers include cPSuri, which represents a URI address for disclosure of business rules, and userNotice, which provides users with simple policy-related information. In the present invention, the PolicyQualifierInfo structure expressed using cPSuri must be included, and the PolicyQualifierInfo structure expressed using userNotice may be optionally included. noticeRef is not created when userNotice is used, and explicitText should be BMPString.
requestInfo 필드는 증명서 요청자가 생성한 증명서 요청 메시지를 나타낸다. 증명서 요청자가 증명서를 요청하는 일반적인 증명서 요청은 반드시 요청 메시지의 ARCCertRequest를 사용하고, 최초 등록 증명서나 원본 증명서와 같이 요청 메시지가 존재하지 않는 경우는 null을 사용한다.The requestInfo field represents a certificate request message generated by a certificate requester. A general certificate request for which a certificate requester requests a certificate must use the ARCCertRequest in the request message, or null if no request message exists, such as the original registration certificate or the original certificate.
target 필드는 증명 대상에 관한 것으로서, 보관소 서버(130)가 제공한 기능에 대한 증적이나 보관소가 증명서를 통하여 보증하고자 하는 사실을 나타내는 필드이다. 보관소 서버(130)는 이용자들이 요청한 등록, 발급, 이관, 폐기 등의 업무에 대하여 처리가 완료된 시점을 기준으로 업무 내역을 OperationRecord 구조체의 형식으로 생성하여 증적으로서 기록하고, 증명서 발급시 증명의 대상으로서 증명서에 포함한다. 또한, 보관소 서버(130)는 전자문서 발급시 해당 전자문서의 내용이 보관중인 원본 전자문서와 동일함을 보증하기 위하여 원본 전자문서 및 발급된 전자문서의 정보를 증명대상으로 증명서에 포함할 수 있으며, 이렇게 발급된 원본 증명서는 DIP 내에 첨부되어 발급된다. 그리고, 보관소 서버(130)는 증명서에 증명서 요청자가 보내온 해쉬정보를 포함하여 발급할 수 있는데, 이는 어떤 데이터가 특정 시각에 존재하였음을 증명하는 기능을 제공한다.The target field relates to an authentication target, and is a field indicating evidence of a function provided by the
opRecord 필드는 보관소 서버(130)가 일정 기능을 수행하고 기록한 증적 레코드로서 등록 증명서, 발급 증명서, 이관 증명서, 폐기 증명서 발급시에 설정하도록 하며, orgAndIssued 필드는 보관소 서버(130)에 보관중인 원본 전자문서 정보와 발급된 전자문서 정보로 구성된 필드로서 원본 증명서 발급시에 설정하도록 한다. dataHash 필드는 시점확인 증명서 발급시 요청 메시지에 기재된 데이터 해쉬정보를 사용하여 설정하도록 한다.The opRecord field is an evidence record recorded by the
OperationRecord ::= SEQUENCE {OperationRecord :: = SEQUENCE {
serialNo INTEGER,serialNo INTEGER,
opRequesterInfo OperationRequesterInfo,opRequesterInfo OperationRequesterInfo,
opRequestTime GeneralizedTime,opRequestTime GeneralizedTime,
opTime GeneralizedTime,opTime GeneralizedTime,
opType OperationType,opType OperationType,
orgDocInfo PackageDocumentInfo,orgDocInfo PackageDocumentInfo,
issuedDocInfo [0] EXPLICIT PackageDocumentInfo OPTIONAL,issuedDocInfo [0] EXPLICIT PackageDocumentInfo OPTIONAL,
peerARCInfo [1] EXPLICIT PeerARCInfo OPTIONAL,peerARCInfo [1] EXPLICIT PeerARCInfo OPTIONAL,
reason [2] EXPLICIT Reason OPTIONAL }reason [2] EXPLICIT Reason OPTIONAL}
여기에서, 각 필드의 의미는 다음과 같다.Here, the meaning of each field is as follows.
□ serialNo : 증적의 식별번호□ serialNo: identification number of the evidence
□ opRequesterInfo : 전자문서 서비스 요청자 정보□ opRequesterInfo: Electronic document service requester information
□ opRequestTime : 전자문서 서비스 요청시간□ opRequestTime: Electronic document service request time
□ opTime : 보관소 서버(130)의 서비스 제공시간, 즉 작업시간□ opTime: service providing time of the
□ opType : 보관소 서버(130)가 제공한 서비스 종류, 즉 작업 종류□ opType: Type of service provided by the
□ orgDocInfo : 보관소 서버(130)에 보관중인 원본문서 관련정보□ orgDocInfo: Original document related information stored in the
□ issuedDocInfo : 문서 발급시 발급된 문서관련 정보□ issuedDocInfo: Information related to the document issued when issuing the document
□ peerARCInfo : 이관 또는 수관시 상대 보관소 서버(130)의 관련정보□ peerARCInfo: Related information of the
□ reason : 작업 사유□ reason: Reason for work
serialNo 필드와 opType 필드의 값은 요청 메시지의 targetRecord 필드 내의 serialNo 필드와 opType 필드의 값과 동일해야 한다. opRequester 필드는 전자문서 관련 업무에 대한 요청자의 신원 정보로서, 등록, 발급, 이관, 폐기 등의 전자문서 업무를 요청한 이용자의 실명 및 식별번호를 사용하여 요청 메시지의 requester 필드와 동일한 방법으로 생성하며, 만약 업무 요청자가 개인일 경우에는 주민번호의 도용을 방지하기 위하여 보관소 서버(130)가 직접 160bit의 안전한 난수를 생성하여 requester 필드 생성시에 사용하도록 한다. 보관소 서버(130)는 생성한 난수를 증적 구조체와 함께 보관하여 업무 요청자에 대한 신원을 검증할 필요가 있을 때에 검증과정 중에 사용하도록 한다. 유효기간 만료시의 전자문서 자동 폐기 등의 경우처럼 전자문서 업무 요청자가 없는 경우에는 opRequester대신 null을 사용한다.The values of the serialNo field and the opType field must be the same as the values of the serialNo field and the opType field in the targetRecord field of the request message. The opRequester field is the identity information of the requester for the electronic document-related task, and is generated in the same manner as the requester field of the request message by using the real name and identification number of the user who requested the electronic document task such as registration, issuance, transfer, and disposal. If the business requester is an individual, the
opRequestTime 필드에는 AIP의 ReceiveDateTime 필드에 기술된 시각값과 동일한 값이 설정되어야 한다. 마찬가지로, opTime 필드에는 AIP의 RegisterDateTime 필드에 기술된 시각값과 동일한 값이 설정되어야 한다. 여기에서, AIP는 보존 정보 패키지로서, 전자문서 보관소 서버(130)가 이용자의 문서를 보관할 때 구성하는 구조를 말한다.In the opRequestTime field, a value equal to the time value described in the ReceiveDateTime field of the AIP must be set. Similarly, the opTime field should be set to the same value as the time value described in the RegisterDateTime field of the AIP. Here, AIP is a preservation information package, and refers to a structure that the electronic
orgDocInfo 필드는 보관소 서버(130)에 보관중인 원본 전자문서의 정보를 포함하며, issuedDocInfo 필드는 발급된 전자문서의 정보를 포함하는데, PackageDocumentInfo 구조체의 형식으로 표현된다. orgDocInfo 필드는 보관소 서버(130)가 수행하는 모든 기능에 대하여 원본 전자문서 정보로서 설정되어야 하며, issuedDocInfo는 보관소 서버(130)가 전자문서 발급 기능 수행시, 발급된 전자문서에 대한 정보로서 선택적으로 설정된다.The orgDocInfo field includes information of the original electronic document stored in the
packageID 필드는 패키지 식별자를 UTF8String 형식으로 변환한 값을 설정하 며, docInfo 필드는 패키지 내의 전자문서의 참조 정보를 포함한다. docInfo 필드는 orgDocInfo 필드에서 사용될 때는 항상 AIP 내의 원본 전자문서의 참조 정보를 포함해야 하며, issuedDocInfo 필드에서 사용될 때는 DIP 내에 포함된 원본 또는 변환본 전자문서의 참조 정보를 포함하게 된다. docID 필드는 전자문서 식별자를 UTF8String 형식으로 변환한 값을 설정한다.The packageID field sets a value obtained by converting a package identifier into UTF8String format. The docInfo field includes reference information of an electronic document in a package. When used in the orgDocInfo field, the docInfo field shall always contain the reference information of the original electronic document in the AIP. When used in the issuedDocInfo field, the docInfo field shall contain the reference information of the original or translated electronic document included in the DIP. The docID field sets the value of the electronic document identifier converted to UTF8String format.
fileIDs 필드는 전자문서 내의 첨부파일 중에서 관련된 첨부파일의 ID를 나타내며, 첨부파일 식별자를 UTF8String 형식으로 변환한 값의 목록으로 표현한다. 만약 전자문서 내의 모든 첨부파일에 해당된다면 fileIDs 필드 자체를 생략하도록 한다. docHash 필드는 전자문서의 해쉬값을 포함하는 DocumentHash 구조체 형식으로 표현된다. hashedDocument 필드는 해쉬 알고리즘인 hashAlg를 사용하여 전자문서의 내용을 한번 해쉬한 값으로서, 전자문서 내에 포함된 실제 문서파일이 2개 이상인 경우는 각 문서파일의 내용을 연접하여 해쉬한다. 이때, 문서파일의 연접 순서는 관련된 전자문서 내에서의 순서와 동일하다.The fileIDs field represents an ID of a related attachment file among attachments in the electronic document, and is expressed as a list of values of the attachment file identifiers converted to UTF8String format. If all attachments in the electronic document apply, omit the fileIDs field itself. The docHash field is represented in the form of a DocumentHash structure containing the hash value of the electronic document. The hashedDocument field is a value that hashes the contents of the electronic document once using hashAlg, which is a hash algorithm. When two or more actual document files are included in the electronic document, the contents of each document file are concatenated and hashed. At this time, the concatenation order of the document files is the same as the order in the associated electronic document.
peerARCInfo 필드는 전자문서 이관 또는 수관 발생시, 수관 보관소 서버의 등록 증명서 및 이관 보관소 서버의 이관 증명서 생성시에만 생성하는 필드이다. peerARC 필드와 peerARCPackageID 필드는 전자문서의 이관 또는 수관 기능을 수행한 경우, 이관을 수행한 보관소 서버가 발급한 이관 증명서에는 수관을 수행한 보관소 서버의 신원정보 및 수관 보관소 서버에서 부여한 AIP의 패키지 식별자를 포함하며, 수관을 수행한 보관소 서버가 발급한 등록 증명서에는 이관을 수행한 보관소 서버의 신원정보와 이관 보관소 서버에서 부여한 AIP의 패키지 식별자를 포함한 다. 만약 opType의 값이 0(register)이며 peerARCInfo 항목이 존재한다면, 타 보관소 서버로부터 이관된 전자문서에 대한 등록 증명서임을 알 수 있다. peerARC 필드는 상대 보관소 서버의 실명 및 식별번호를 사용하여 요청 메시지의 requester 필드와 동일한 방법으로 생성한다.The peerARCInfo field is a field created only when an electronic document is transferred or a water pipe is generated, and when a certificate of registration of a water pipe storage server and a water pipe certificate of a water pipe storage server are generated. When the peerARC field and the peerARCPackageID field are used to transfer or digitize an electronic document, the transfer certificate issued by the repository server that performed the transfer includes the identification information of the repository server that performed the export and the package identifier of the AIP granted by the repository server. In addition, the registration certificate issued by the repository server that performed the vestigation includes the identity information of the repository server that performed the migration and the package identifier of the AIP assigned by the repository server. If the value of opType is 0 (register) and peerARCInfo item exists, it can be seen that it is a registration certificate for an electronic document transferred from another archive server. The peerARC field is generated in the same way as the requester field of the request message by using the real name and identification number of the partner repository server.
Reason 필드는 선택적 생성 필드로서, 작업이 발생한 사유를 설정하며 값의 의미는 아래와 같다.The Reason field is an optional creation field. It sets the reason for the operation and the meaning of the value is as follows.
□ userRequest : 이용자 요청에 의한 작업□ userRequest: work by user request
□ arcRequest : 보관소 서버 내의 프로세스상 발생한 작업ArcRequest: An operation that occurred during the process in the repository server
□ expired : 보존기간 만료□ expired: Retention period expired
원본증명서에 사용되는 orgAndIssued 필드는 OriginalAndIssuedDocumentInfo 구조체로 표현된다. orgAndIssued 필드에 포함되는 orgDocInfo 필드는 보관소 서버(130)에 보관중인 원본 전자문서의 정보를 포함하며, issuedDocInfo 필드는 발급된 전자문서의 정보를 포함하는데, PackageDocumentInfo 구조체의 형식으로 표현된다. DocumentInfo 구조체 내의 docInfo 필드는 생성해야 하며 각 패키지 내에 포함된 관련 전자문서의 참조 정보를 가지고 있다.The orgAndIssued field used in the original certificate is represented by the OriginalAndIssuedDocumentInfo structure. The orgDocInfo field included in the orgAndIssued field includes information of the original electronic document stored in the
마찬가지 경우의 issuedDocOriginal 필드는 발급된 전자문서가 원본 전자문서인가 또는 변환본 전자문서인가를 나타내며, 만약 issuedDocOriginal 필드의 값이 TRUE이면 orgDocInfo 필드 내에 포함된 hashedDocument 필드의 값과와 issuedDocInfo 필드 내에 포함된 hashedDocument 필드의 값이 동일해야 하며, FALSE이면 두 값은 달라야 한다. 본 발명을 준용하여 증명서를 발급하는 전자문서 보관 시스템은 orgDocInfo 필드에서 hashedDocument 필드의 값을 생성할 때와 issuedDocInfo 필드에서 hashedDocument 필드의 값을 생성할 때 동일한 해쉬 알고리즘을 사용하여야 한다. 또한, issuedDocInfo 필드 내에 포함된 hashedDocument 필드의 값은 동일한 해쉬 알고리즘으로 원본 증명서가 첨부된 DIP 내의 전자문서에 포함된 모든 전자문서 파일을 전자문서에 포함된 순서대로 연접하여 해쉬한 값과 항상 동일하여야 한다.Similarly, the issuedDocOriginal field indicates whether the issued electronic document is an original electronic document or a converted electronic document. If the value of the issuedDocOriginal field is TRUE, the value of the hashedDocument field contained in the orgDocInfo field and the hashedDocument field contained in the issuedDocInfo field. Must have the same value, and if FALSE the two values must be different. The electronic document storage system issuing the certificate according to the present invention shall use the same hash algorithm when generating the value of the hashedDocument field in the orgDocInfo field and when generating the value of the hashedDocument field in the issuedDocInfo field. In addition, the value of the hashedDocument field included in the issuedDocInfo field must always be the same as the value hashed by concatenating all the electronic document files included in the electronic document in the DIP with the original certificate attached in the same order included in the electronic document by the same hash algorithm. .
시점확인 증명서를 발급받기 위한 요청 메시지인 경우는 target 필드가 targetHash 필드를 사용하여 설정되어 있으며, 보관소 서버(130)는 증명서 발급시 해당 필드 정보를 사용하여 증명서의 target 필드를 설정하여야 한다. 즉, 증명서의 target 필드는 dataHash 필드를 사용하여 설정하여야 하며, 이는 요청 메시지의 targetHash 필드에 설정된 값을 사용하여 동일하게 설정하도록 한다. 시점확인 증명서를 발급하기 전에 보관소 서버(130)는 증명서 요청자로부터 수신한 요청 메시지를 검증하는 과정에서, targetHash 필드의 하위 필드인 hashAlg 필드에 기재된 해쉬 알고리즘 OID와 해당 해쉬 알고리즘을 사용하여 생성된 해쉬값인 hashedData 필드값의 길이가 합리적인가를 확인하여야 한다.In the case of a request message for issuing a time verification certificate, the target field is set using the targetHash field, and the
다음으로, 확장 필드를 설명한다. 확장 필드는 다음과 같은 구조로 되어 있다.Next, the extension field will be described. The extended field has the following structure.
Extensions ::= SEQUENCE SIZE (1..MAX) OF ExtensionExtensions :: = SEQUENCE SIZE (1..MAX) OF Extension
Extension ::= SEQUENCE {Extension :: = SEQUENCE {
extnID OBJECT IDENTIFIER,extnID OBJECT IDENTIFIER,
critical BOOLEAN DEFAULT FALSE,critical BOOLEAN DEFAULT FALSE,
extnValue OCTET STRING }extnValue OCTET STRING}
여기에서, Extension은 확장 필드의 종류를 나타내는 extnID와 중요도를 의미하는 critical 그리고 확장 필드의 값을 포함하는 extnValue로 구성된다. 확장 필드의 critical이 TRUE로 설정되어 있을 경우에 증명서 이용자 또는 검증자는 이 확장 필드를 반드시 이해하고 처리할 수 있어야 한다.The extension consists of extnID, which indicates the type of the extension field, critical, which indicates the importance, and extnValue, which contains the value of the extension field. If critical of the extended field is set to TRUE, the certificate consumer or verifier must be able to understand and handle this extended field.
Qualifications 필드는 자격부여에 관한 것으로서, 증명서를 전달받아 이용하는 주체와 위임될 역할에 대한 정보를 나타낸다. 본 필드는 요청 메시지의 Qualifications 필드와 동일한 내용을 포함해야 하며, 요청 메시지 없이 발급되는 최초 등록 증명서와 원본 증명서에는 본 필드가 생성될 수 없다. 요청 메시지에 Qualifications 확장 필드가 존재하고 critical 값이 TRUE인 경우, 보관소 서버(130)는 반드시 본 필드를 생성해야 한다. 본 필드를 생성하지 못하는 경우는 증명서 발급에 실패한 것으로 처리하고, 증명서 요청자에게 에러 메시지를 전송해야 한다. 본 필드 생성시 critical의 값은 TRUE로 설정해야 한다.The Qualifications field is related to entitlement and indicates information on a subject to receive and use a certificate and a role to be delegated. This field shall contain the same contents as the Qualifications field of the request message. This field may not be generated in the original registration certificate and the original certificate issued without the request message. If the Qualifications extension field is present in the request message and the critical value is TRUE, the
UsageType 필드는 증명서 용도에 관한 것으로서, 증명서의 이용환경 또는 용도에 따른 분류방식을 나타낸다. 본 필드는 요청 메시지의 UsageType 필드와 동일한 내용을 포함한다. 요청 메시지에 UsageType 확장 필드가 존재하고 critical 값이 TRUE인 경우, 보관소는 반드시 본 필드를 생성해야 한다. 본 필드를 생성하지 못하는 경우는 증명서 발급에 실패한 것으로 처리하고, 증명서 요청자에게 에러 메 시지를 전송해야 한다. 본 필드 생성시 critical의 값은 FALSE로 설정해야 한다.The UsageType field relates to a certificate use and indicates a classification method according to the use environment or use of the certificate. This field contains the same contents as the UsageType field of the request message. If the UsageType extension field is present in the request message and the critical value is TRUE, the repository MUST create this field. If this field cannot be generated, it should be treated as a failed certificate issue and an error message should be sent to the certificate requester. When creating this field, critical value should be set as FALSE.
CertifiedTime 필드는 보증 일시에 관한 것으로서, 전자문서 등록시점부터 본 필드에 기재된 시점까지 전자문서가 보관소에 보관되어 있었음을 보증하는 필드이며, 등록 증명서에만 포함될 수 있다. 본 발명을 준수하여 생성된 등록 증명서는 CertifiedTime 필드를 필수적으로 생성하여야 한다. 단, 최초 등록 증명서에는 본 필드를 생성하지 않도록 한다. 요청 메시지에 CertifiedTime 확장 필드가 존재하고 critical 값이 TRUE로 설정되었다면, 보관소 서버(130)는 요청 메시지의 CertifiedTime 필드에 기재된 보증 일시까지 전자문서를 보관중이었음을 확인한 후, 해당값을 증명서의 CertifiedTime 필드에 기재하여 증명서를 생성하도록 한다. 전자문서의 등록시점부터 요청 메시지에 기재된 보증 일시까지 전자문서가 보관소 데이터베이스(135)에 보관되어 있지 않았다면, 보관소 서버(130)는 증명서 요청자에게 에러 메시지를 전송하여야 한다. 요청 메시지에 CertifiedTime 필드값이 존재하지 않으면, 보관소 서버(130)는 하기와 같은 절차로 CertifiedTime 확장 필드의 값을 설정한다.The CertifiedTime field is related to the date and time of the guarantee. It is a field that guarantees that the electronic document has been stored in the archive from the time of electronic document registration to the time described in this field, and can be included only in the registration certificate. Registration certificate generated in accordance with the present invention must create a CertifiedTime field. However, this field should not be created for the initial registration certificate. If the CertifiedTime extension field is present in the request message and the critical value is set to TRUE, the
□ 전자문서가 해당 전자문서의 보존 만료일 전에 폐기 또는 타 보관소 서버로 이관되었다면 해당 일시를 설정하도록 한다.□ If an electronic document is destroyed or transferred to another archive server before the expiration date of the electronic document, set the relevant date and time.
□ 전자문서가 해당 전자문서의 보존 만료일까지 정상적으로 보관되었다면 해당 일시를 설정하도록 한다.□ If an electronic document is normally stored by the expiration date of the electronic document, set the date and time.
□ 전자문서가 현재 보관소 데이터베이스에 보관중이라면 증명서 발급일 필드와 동일한 값을 설정하도록 한다.□ If the electronic document is currently stored in the archive database, set the same value as the certificate issue date field.
본 발명은 요청 메시지에 CertifiedTime 확장 필드가 존재한다면, 반드시 critical 값을 TRUE로 설정해야 하므로, FALSE인 경우는 다루지 않는다. 기타 사유로 본 필드를 생성하지 못하는 경우는 증명서 발급에 실패한 것으로 처리하고, 증명서 요청자에게 에러 메시지를 전송해야 한다. 본 필드 생성시 critical의 값은 TRUE로 설정해야 한다.In the present invention, if the CertifiedTime extension field is present in the request message, the critical value must be set to TRUE, so the case of FALSE is not dealt with. If this field cannot be created for any other reason, it shall be treated as a failure to issue the certificate and an error message should be sent to the certificate requester. When creating this field, critical value should be set as TRUE.
다음으로, 에러 메시지를 설명한다. 본 발명을 준용하지 않은 요청 메시지를 수신하거나 본 발명을 준용한 증명서를 생성하지 못하는 경우에는 보관소 서버(130)는 증명서 대신 에러 메시지를 생성하여 증명서 요청자에게 송신하여야 한다. 에러 정보를 포함하는 메시지는 ARCErrorNotice를 이용하여 증명서 요청자에게 전달된다.Next, the error message will be described. When receiving a request message that does not apply the present invention or failing to generate a certificate that applies the present invention, the
ARCErrorNotice ::= SEQUENCE {ARCErrorNotice :: = SEQUENCE {
transactionStatus PKIStatusInfo , transactionStatus PKIStatusInfo,
transactionIdentifier GeneralName OPTIONAL } transactionIdentifier GeneralName OPTIONAL}
상기에서, transactionIdentifier 필드는 사용하지 않는다. 그리고, PKIStatusInfo는 아래에서 보는 바와 같이 IETF RFC 4210에서 정의하고 있는 구조를 사용한다.In the above, the transactionIdentifier field is not used. PKIStatusInfo uses the structure defined in IETF RFC 4210 as shown below.
PKIStatusInfo ::= SEQUENCE {PKIStatusInfo :: = SEQUENCE {
status PKIStatus,status PKIStatus,
statusString PKIFreeText OPTIONAL,statusString PKIFreeText OPTIONAL,
failInfo PKIFailureInfo OPTIONAL }failInfo PKIFailureInfo OPTIONAL}
PKIStatus ::= INTEGER {PKIStatus :: = INTEGER {
accepted (0),accepted (0),
grantedWithMods (1),grantedWithMods (1),
rejection (2),rejection (2),
waiting (3),waiting (3),
revocationWarning (4),revocationWarning (4),
revocationNotification (5),revocationNotification (5),
keyUpdateWarning (6) }keyUpdateWarning (6)}
PKIFreeText ::= SEQUENCE SIZE (1..MAX) OF UTF8StringPKIFreeText :: = SEQUENCE SIZE (1..MAX) OF UTF8String
상기에서, PKIStatus의 값은 항상 rejection만을 사용한다. PKIFreeText에는 상세한 오류 메시지를 포함할 수 있다. failInfo필드는 역시 RFC 4210에서 사용하는 PKIFailureInfo를 사용하며, 본 발명에서 사용하는 값들은 다음과 같다. 이 값들의 내용은 아래 [표 1]을 참조하기 바란다.In the above, the value of PKIStatus always uses only rejection. PKIFreeText can contain detailed error messages. The failInfo field also uses PKIFailureInfo used in RFC 4210, and the values used in the present invention are as follows. See Table 1 below for the content of these values.
PKIFailureInfo ::= BIT STRING {PKIFailureInfo :: = BIT STRING {
badAlg (0),badAlg (0),
badMessageCheck (1),badMessageCheck (1),
badRequest (2),badRequest (2),
badTime (3),badTime (3),
badDataFormat (5),badDataFormat (5),
wrongAuthority (6),wrongAuthority (6),
incorrectData (7),incorrectData (7),
unacceptedPolicy (15),unacceptedPolicy (15),
unacceptedExtension (16),unacceptedExtension (16),
badSenderNonce (18),badSenderNonce (18),
signerNotTrusted (20),signerNotTrusted (20),
unsupportedVersion (22),unsupportedVersion (22),
unAuthorized (23),unAuthorized (23),
systemUnavail (24),systemUnavail (24),
systemFailure (25) }systemFailure (25)}
[표 1]TABLE 1
이외, 에러 메시지로는 다음도 있다. 그 내용은 [표 2]를 참조하기 바란다.Other error messages include: See Table 2 for details.
[표 2]TABLE 2
다음으로, 증명서 검증 방법을 설명한다. 도 7은 본 발명의 바람직한 실시예에 따른 전자문서 보관 시스템에 있어서, 증명서 검증자 단말기의 증명서 검증 방법을 설명하기 위한 순서도이다. 증명서 검증자 단말기는 상술한 바와 같이 증명서 요청자, 증명서 수임자, 증명서 수임자가 명시되어 있지 않은 증명서를 소유한 모든 이용자 중 어느 하나가 접속하는 단말기이다. 이러한 증명서 검증자 단말기는 본 발명의 실시예에서 보관소 서버(130) 및 보관소 데이터베이스(135)와 연동하여 증명서를 검증하는 기능을 수행하는데, 증명서 검증이 꼭 증명서 검증자 단말기에 한정되는 것은 아니다. 즉, 본 발명에서는 이러한 증명서 검증 방법을 보관소 서버(130)가 단독으로 구현하도록 하는 것도 가능하다. 이하, 도 7을 참조하여 증명서 검증 방법을 설명한다.Next, the certificate verification method will be described. 7 is a flowchart illustrating a certificate verification method of a certificate verifier terminal in an electronic document storage system according to a preferred embodiment of the present invention. As described above, the certificate verifier terminal is a terminal to which any one of the user who owns a certificate for which a certificate requestor, a certificate holder, or a certificate holder is not specified is connected. Such a certificate verifier terminal performs a function of verifying a certificate by interworking with the
증명서 검증 방법은 크게 증명서 유효성 검증 절차와 증명서 내용 검증 절차로 구분된다. 여기에서, 증명서 유효성 검증 절차는 증명서로서의 효력을 가지기 위한 조건들의 만족 여부를 확인하는 절차이고, 증명서 내용 검증 절차는 증명서를 활용하기 위한 조건들을 만족하는가를 확인하는 절차이다.Certificate verification methods are largely divided into certificate validation procedures and certificate content verification procedures. Here, the certificate validation procedure is a procedure for confirming whether or not the conditions for validity as a certificate are satisfied, and the certificate content verification procedure is a procedure for confirming whether the conditions for utilizing the certificate are satisfied.
상술한 증명서 검증 방법은 본 발명의 실시예에서 발급된 증명서 포맷을 검 증하는 단계(S700), S700 단계에서 오류가 없는 경우 발급된 증명서 유효기간을 검증하는 단계(S705), S705 단계에서 오류가 없는 경우 발급된 증명서 폐지여부를 검증하는 단계(S710), S710 단계에서 오류가 없는 경우 발급된 증명서의 전자서명을 검증하는 단계(S715), S715 단계에서 오류가 없는 경우 발급된 증명서의 서명 인증서를 검증하는 단계(S720), S720 단계에서 오류가 없는 경우 발급된 증명서를 요청 메시지에 포함된 증명 요청서와 비교 검증하는 단계(S725), S725 단계에서 오류가 없는 경우 발급된 증명서를 전자문서와 비교 검증하는 단계(S730), S730 단계에서 오류가 없는 경우 전자문서와 증명서를 발급받는 수임자를 검증하는 단계(S735), S735 단계에서 정당한 자인 경우 보관소 데이터베이스(135)에 저장된 증명서 정책을 검증하는 단계(S740), S740 단계에서 오류가 없는 경우 전자문서와 증명서의 용도를 검증하는 단계(S745), S745 단계에서 선의인 경우 증명서 요청자를 검증하는 단계(S750), S750 단계에서 정당한 자인 경우 검증 통과(pass)를 표시하고 검증을 완료하는 단계(S755) 등으로써 구현된다.In the above-described certificate verification method, the step of verifying the certificate format issued in the embodiment of the present invention (S700), if there is no error in step S700, the step of verifying the validity period of the issued certificate (S705), the error in step S705 If there is no error in the step of verifying the revocation of the issued certificate (S710), if there is no error in step S710 (S715), if there is no error in step S715, if there is no error in the signing certificate of the issued certificate Verification step (S720), if there is no error in step S720 Verification of the certificate issued to the certificate request included in the request message (S725), if there is no error in step S725 verification of the certificate issued compared to the electronic document Step (S730), if there is no error in step S730 step of verifying the recipient who is issued the electronic document and certificate (S735), if the legitimate person in step S735 Verifying the certificate policy stored in the database 135 (S740), if there is no error in step S740, verifying the use of the electronic document and the certificate (S745), and verifying the certificate requestor in good faith in step S745 (S750), if the right person in the step S750 is implemented by displaying the pass (pass) to complete the verification (S755) and the like.
상기에서, S700 단계 내지 S720 단계가 증명서 유효성 검증 절차에 해당하며, S725 단계 내지 S750 단계가 증명서 내용 검증 절차에 해당한다. 한편, S700 단계 내지 S750 단계에서 오류가 있거나 정당한 자가 아니거나 악의인 경우에는 검증 실패(fail)를 표시하고 해당 과정을 종료시킨다(S760). 한편, S730 단계와 S735 단계 사이에는 증적 증명에 대한 검증 단계와 원본 증명에 대한 검증 단계가 부과될 수 있다. 자세한 내용은 후술한다. 이하, 증명서 검증 방법의 각 단계를 구체적으로 설명한다.In the above, steps S700 to S720 correspond to a certificate validation procedure, and steps S725 to S750 correspond to a certificate content verification procedure. On the other hand, if there is an error in the steps S700 to S750 or is not a legitimate person or malicious, a verification failure (fail) is displayed and the process is terminated (S760). On the other hand, between the step S730 and S735 step may be a verification step for the proof evidence and the verification step for the original proof. Details will be described later. Hereinafter, each step of the certificate verification method will be described in detail.
① 증명서 유효성 검증 절차 (S700 ~ S720)① Certificate validation procedure (S700 ~ S720)
증명서 유효성 검증은 증명서로서의 효력을 가지기 위한 조건들의 만족 여부를 확인하는 과정으로서, 유효성 검증에 실패하면 증명서에 포함된 내용을 신뢰할 수 없게 되므로, 더이상 증명서는 신뢰받는 기관이 발급한 보증서로의 역할을 수행할 수 없다. 증명서 유효성 검증은 증명서 포맷 검증, 증명서 유효기간 검증, 증명서 폐지여부 검증, 전자서명 검증, 서명 인증서 검증으로 구분되며, 한 단계에서 실패하면 다음 과정을 진행하지 않고 검증 실패로 처리한다.Certificate validation is a process of checking whether the conditions for validity of a certificate are satisfied. If the validation fails, the certificate contained in the certificate cannot be trusted. Therefore, the certificate no longer functions as a certificate issued by a trusted authority. It cannot be done. Certificate validation is divided into certificate format verification, certificate validity verification, certificate revocation verification, digital signature verification, and signature certificate verification. If it fails in one step, it is treated as verification failure without proceeding with the next process.
② 증명서 포맷 검증 단계 (S700)② Certificate format verification step (S700)
증명서 포맷 검증 단계에서는 검증 대상 증명서가 본 발명에 게시된 증명서 포맷을 준수하여 생성되었는가의 여부를 확인한다. 본 발명에서 정의한 증명서의 구조 및 강제하거나 금하는 필드생성 규칙의 준수여부를 검증한 후, 증명서 내 각 필드 간의 모순이 없음을 확인한다. 필드 간 모순에 대한 주요한 몇 가지 예를 들면 다음과 같다.In the certificate format verification step, it is checked whether the certificate to be verified is generated in compliance with the certificate format posted in the present invention. After verifying the structure of the certificate defined in the present invention and compliance with the mandatory or prohibited field generation rule, it is confirmed that there is no contradiction between each field in the certificate. Some of the major examples of field contradictions are:
□ 증명서의 서명 인증서의 정보와 issuer 필드의 정보가 불일치□ The signature of the certificate does not match the information in the issuer field.
□ 증명서 정책 OID와 target 필드의 구조 및 내용이 의미상 불일치□ The semantically inconsistent structure and contents of certificate policy OID and target field
□ requestInfo의 내용과 다른 필드의 내용의 불일치□ Inconsistency between the content of requestInfo and the content of other fields
□ 등록 증명서가 아닌데, nomineeRole 필드에 readDocument나 downloadDocument 값이 설정된 경우□ If it is not a registration certificate and the value of readDocument or downloadDocument is set in the nomineeRole field.
□ Qualifications 필드 내의 복수개의 qualification 필드들 중에 일부만이 onlyForNominee로 설정된 경우If only some of the qualification fields in the Qualifications field are set to onlyForNominee
□ 최초 등록 증명서와 원본 증명서에 Qualifications 필드가 생성된 경우□ Qualifications fields are created on the original registration certificate and original certificate.
□ 등록 증명서인데, CertifiedTime 필드가 생성되지 않은 경우□ Your enrollment certificate is not created with the CertifiedTime field.
□ 등록 증명서가 아닌데, CertifiedTime 필드가 생성된 경우□ You are not an enrollment certificate and the CertifiedTime field is created.
□ 시점확인 증명서인데, Version 필드의 값이 2가 아닌 경우❏ If the certificate is a time-test certificate but the value of the Version field is not 2.
□ 시점확인 증명서가 아닌데, Version 필드의 값이 1이 아닌 경우□ It is not a time verification certificate, but the value of Version field is not 1.
이외에도 본 발명에서 정의한 필드생성 규칙을 준수하지 않았거나, 각 필드의 내용에 상호 모순이 있는 경우는 검증 실패로 처리하도록 한다. 검증 대상 증명서가 잘못된 포맷으로 생성되었다면, 이후의 과정을 더 진행하지 않고 검증 프로세스는 여기서 종료하도록 한다.In addition, if a field generation rule defined in the present invention is not observed or there is a mutual contradiction in the contents of each field, the verification failure is treated. If the certificate to be verified is generated in the wrong format, the verification process ends here without further processing.
③ 증명서 유효기간 검증 단계 (S705)③ Verification period of certificate validity period (S705)
증명서 유효기간이란 증명서 발급일(dateOfIssue)로부터 증명서 효력 만기일(dateOfExpiration)까지를 의미하며, 본 단계는 증명서 검증시점이 증명서 유효기간 내에 있음을 확인하는 단계이다. 증명서는 증명서의 유효기간 내에서만 유효성이 인정되므로 만약 검증시점이 증명서 발급일보다 과거이거나 또는 증명서 효력 만기일 이후라면 증명서의 효력은 상실된다. 검증시점(T)과 증명서 발급일 및 증명서 효력 만기일을 다음과 같이 비교한다.The certificate validity period means from the date of certificate issue (dateOfIssue) to the certificate validity expiration date (dateOfExpiration), this step is to confirm that the certificate verification time is within the certificate validity period. Certificates are only valid within the validity period of the certificate, so the validity of the certificate is lost if the verification date is earlier than the certificate issue date or after the certificate expiration date. The verification point (T) is compared with the certificate issue date and certificate expiration date as follows.
ⅰ) dateOfIssue = T < dateOfExpiration 일 경우 : 검증 성공Iii) if dateOfIssue = T <dateOfExpiration: validation succeeded
ⅱ) T < dateOfIssue 또는 dateOfExpiration = T 일 경우 : 검증 실패Ii) if T <dateOfIssue or dateOfExpiration = T: validation failed
검증시점이 증명서의 유효기간 내에 있지 않으면 검증 실패로 처리하고 검증 프로세스를 종료한다.If the verification point is not within the validity period of the certificate, it is treated as a verification failure and the verification process ends.
④ 증명서 폐지여부 검증 단계 (S710)④ Verification of whether the certificate is abolished (S710)
본 단계에서 증명서 검증자는 검증 대상 증명서에 대한 폐지여부를 보관소 서버(130)에 요청하여 확인하게 된다. 신뢰기관으로서 보관소 서버(130)가 발급한 증명서는 유효 기간동안 폐지되지 않는 것이 원칙이나, 중대한 사유로 증명서를 폐지해야만 되는 경우가 발생하였다면, 예외적으로 보관소 서버(130)는 해당 증명서를 폐지한 후, 증명서 폐지여부 확인 서비스를 통하여 해당 증명서의 폐지 정보를 증명서 검증자에게 제공하여야 한다. 증명서 검증자는 검증 대상 증명서를 보관소 서버(130)에 송신하여 폐지여부에 대한 확인을 요청하고, 보관소 서버(130)는 해당 증명서에 대한 폐지여부를 확인한 후, 응답 메시지에 증명서의 폐지여부 및 폐지된 증명서인 경우에 폐지 사유 등을 증명서 검증자에게 전송한다.In this step, the certificate verifier requests the
증명서 검증자는 증명서 요청자 검증 단계(S750)를 수행할 필요가 있다면, 폐지여부를 확인하는 절차 중에 증명서 요청자가 생성하여 보관소 서버(130)에 보관중인 난수값을 요청할 수 있으며, 이에 대한 응답 메시지에는 폐지여부에 대한 확인결과와 함께 해당 난수가 포함되어 증명서 검증자에게 전달된다. 증명서가 폐지되었다는 보관소 서버(130)의 응답 메시지를 수신했다면 검증 실패로 처리하고 검증 프로세스를 종료한다.If the certificate verifier needs to perform the certificate requestor verification step (S750), the certificate requester may request a random number generated by the certificate requester and stored in the
⑤ 전자서명 검증 단계 (S715)⑤ Digital signature verification step (S715)
보관소 서버(130)가 발급하는 증명서는 무결성의 제공 및 부인방지를 위하여 전자서명을 포함하며, 전자서명 검증 단계에서 증명서에 포함된 전자서명을 검증한다. 전자서명의 검증은 일반적인 CMS의 signedData에 대한 전자서명 검증 방법을 따른다. 전자서명의 검증이 실패하였다면 증명서의 무결성이 훼손되었음을 의미하며, 더이상 증명서의 내용을 신뢰할 수 없어 이후의 과정이 무의미해지므로 여기서 검증 프로세스를 종료하도록 한다.The certificate issued by the
⑥ 서명인증서 인증 단계 (S720)⑥ Signature certificate verification step (S720)
서명인증서 검증 단계는 증명서에 서명한 인증서가 보관소 서버(130)의 인증서임을 확인하는 단계와 해당 인증서의 유효성을 검증하는 단계로 이루어진다. 증명서 검증자는 소유하고 있는 보관소 서버(130)의 인증서 또는 인증서 식별정보와 증명서 서명인증서를 비교하여 증명서 서명인증서가 보관소 서버(130)의 인증서임을 확인한다. 증명서 검증자가 보관소 서버(130)의 인증서 또는 인증서 식별정보를 획득하는 과정은 당업자에 의해 용이설계 가능한 부분에 해당하므로 본 발명에서는 그 내용을 생략한다. 한편, 증명서 서명인증서의 경로구축 및 인증서의 유효성 검증은 공인인증 체계의 "공인인증서 경로검증 기술규격 [KCAC.TS.CERTVAL]"을 준용하여 검증한다.The signing certificate verification step includes verifying that the certificate that signed the certificate is the certificate of the
증명서 서명인증서의 유효성 검증에 실패한 경우, 증명서의 효력도 상실된다. 단, 증명서 서명인증서의 유효성 검증에는 실패하였더라도 증명서의 유효기간 검증에 성공하였고 전자서명 장기검증 기술이 적용된 상태라면, 해당 검증 기술에 따라 검증하여 성공하였을 경우, 서명인증서의 유효성 검증의 결과와는 관계없이 증명서의 유효성 검증에 성공한 것으로 처리한다.Failure to validate the Certificate Signing Certificate will also invalidate the Certificate. However, even if the validity of the certificate signature certificate fails, if the validity period of the certificate is successfully verified and the digital signature long-term verification technology is applied, if the verification is successful according to the verification technology, the result of the validation of the signature certificate is related. The certificate is considered to be successful.
전자서명 장기검증 기술은 예컨대 한국전자거래진흥원 또는 유관 기관이 제정한 기술규격("KCAC.DN; 전자서명인증관리체계 DN(Distinguished Name: 식별명칭) 규격 v1.1, 한국정보보호진흥원, 2003", "KCAC.DSCP; 전자서명 인증서 프로파일 기술규격 v1.10, 한국정보보호진흥원, 2004", "KCAC.SIVID; 식별번호를 이용한 본인확인 기술규격 v 1.11, 한국정보보호진흥원, 2002" 등)을 준용하도록 한다.The digital signature long-term verification technology is, for example, the Technical Specification (KKAC.DN; Digital Signature Certification Management System DN (Distinguished Name) Standard v1.1, established by the Korea Electronic Commerce Agency or related agencies), v1.1, Korea Information Security Agency, 2003. , "KCAC.DSCP; Digital Signature Certificate Profile Technical Specification v1.10, Korea Information Security Agency, 2004", "KCAC.SIVID; Identification Technical Specification using Identification Number v 1.11, Korea Information Security Agency, 2002"). Make sure to apply accordingly.
⑦ 증명서 내용 검증 절차 (S725 ~ S750)⑦ Verification procedure of certificate contents (S725 ~ S750)
증명서의 내용 검증 절차는 증명서의 활용 주체나 외부 환경 등에 따른 효용성을 검증하는 과정으로서 내용 검증에 실패하였다 하더라도 증명서 자체의 유효성을 상실하지는 않는다. 단, 증명 요청서와 비교 검증, 전자문서 검증에 실패하였다면, 검증 실패 메시지를 보관소 서버(130)에 통보하여 보관소 서버(130)가 이를 확인하고 증명서를 폐지 처리하여 증명서의 유효성을 상실하도록 한다. 검증 실패 메시지를 보관소 서버(130)에 통보하는 방법은 당업자에 의해 용이하게 실시될 수 있는 바 여기서는 생략한다. 내용 검증에 실패한 증명서의 이용자는 해당 증명서를 활용할 수 없다.The verification process of the contents of the certificate is a process of verifying the utility of the subject or external environment of the certificate. Even if the verification fails, the validity of the certificate itself is not lost. However, if the verification request and comparison verification, electronic document verification failed, the verification failure message is notified to the
증명서 내용 검증은 증명 요청서와 비교 검증, 전자문서 검증, 수임자 검증, 정책 검증, 용도 검증, 증명서 요청자 검증으로 구분되며, 한 단계에서 실패하면 다음 과정을 진행하지 않고 검증 실패로 처리한다. 각 검증의 순서는 필요에 따라 바뀔 수 있다.Verification of certificate contents is divided into verification request, comparison verification, electronic document verification, officer verification, policy verification, usage verification, certificate requestor verification, and if it fails in one step, it is treated as verification failure without proceeding with the next process. The order of each verification can be changed as needed.
⑧ 증명 요청서와 비교 검증 단계 (S725)⑧ Verification request and comparison verification step (S725)
증명서 요청자는 보관소 서버(130)로부터 증명서를 발급받은 즉시, 발급받은 증명서가 보관소 서버(130)에 송신했던 증명 요청서에 대한 증명서인가의 여부를 확인해야 한다. 따라서, 증명 요청서와의 비교 검증은 증명 요청서를 생성한 증명 서 요청자만이 수행할 수 있다. 증명서 요청자는 보관소 서버(130)가 발급한 증명서의 증명서 요청 메시지 정보인 requestInfo 필드의 arcCertRequest가 자신이 생성하여 송신했던 증명 요청서의 encapContentInfo 필드의 ARCCertRequest 구조체의 값과 동일함을 확인한다. 증명 요청서와의 비교 검증에 실패하였다면, 증명서 요청자는 보관소 서버(130)에 증명 요청서와의 비교검증 실패사실을 통보하여 폐지 처리하도록 하고, 증명서를 다시 발급받도록 한다.As soon as the certificate requester receives the certificate from the
⑨ 전자문서 검증 단계 (S730)⑨ Electronic document verification step (S730)
증명서 검증자가 증명서와 관련된 전자문서 패키지를 가지고 있다면, 반드시 증명서의 증명대상 필드에 포함된 전자문서의 해쉬값과의 비교 검증을 수행해야 한다. 원본 증명서는 항상 DIP에 첨부되어 발급되므로, 반드시 전자문서 검증 작업 중의 원본 증명에 대한 검증을 수행해야 한다. 어떤 데이터가 특정 시각에 존재하였음을 증명하는 시점확인 증명서의 경우에는 본 전자문서 검증 과정을 수행하지 않는다.If the certificate verifier has an electronic document package associated with the certificate, the verification must be performed against the hash value of the electronic document contained in the certificate subject field of the certificate. Since the original certificate is always issued attached to the DIP, the original proof must be verified during the electronic document verification work. In the case of the certificate of time verification which proves that the data existed at a certain time, this electronic document verification process is not performed.
⑩ 증적 증명에 대한 검증 단계검증 Verification step for evidence attestation
증명서의 증명대상 필드로서 증적 증명을 의미하는 opRecord 필드에는 원본 전자문서의 해쉬값을 포함하는 orgDocInfo 필드와 발급된 전자문서의 해쉬값을 포함하는 issuedDocInfo 필드가 있는데, orgDocInfo 필드는 증적 필드에 항상 포함되는 필드로서 보관소 서버(130)가 보관중인 AIP에 포함된 원본 전자문서의 해쉬값을 포함하고, issuedDocInfo 필드는 문서발급 기능을 수행한 증적에만 포함되는 필드로서 DIP에 포함된 전자문서의 해쉬값을 포함한다. 따라서, 이용자가 증명서 검증 자가 되어 orgDocInfo 필드 내의 전자문서의 해쉬값을 검증하기 위해서는 SIP에 포함되어 보관소 서버(130)에 등록된 전자문서와 동일한 원본 전자문서가 필요하고, issuedDocInfo 필드 내의 전자문서의 해쉬값을 검증하기 위해서는 DIP로부터 추출한 전자문서가 필요하다. 상기에서, SIP는 입수 정보 패키지를 말하며, 이는 이용자가 전자문서를 전자문서 보관소 서버(130)에 전송할 때 구성하는 구조를 말한다.The opRecord field, which is the evidence subject field of a certificate, means evidence evidence, orgDocInfo field containing the hash value of the original electronic document and issuedDocInfo field containing the hash value of the issued electronic document. The orgDocInfo field is always included in the evidence field. As a field, the
증명서 검증자는 전자문서 검증을 수행할 필요가 있다면 해당 전자문서를 획득하여야 하며, 증명서 검증자가 해당 전자문서를 획득하는 과정은 이하 생략한다(because 당업자의 용이 실시). 전자문서 검증을 수행하는 과정에서 주의하여야 할 사항은, 패키지 내의 원본 또는 변환본 전자문서에 다수의 전자문서 파일들이 포함되어 있을 때 각 문서파일들을 해쉬하는 과정에서 보관소 서버(130)가 수행한 과정과 증명서 검증자가 수행한 과정이 동일해야 한다는 것이다. 즉, 보관소 서버(130)나 증명서 검증자는 패키지 내 원본 또는 변환본의 전자문서에 포함된 다수의 전자문서 파일에 대하여 패키지에 포함되어 있는 순서로 연접한 후 정해진 해쉬 알고리즘에 따라 한번 해쉬하여 전자문서의 해쉬값을 생성하도록 한다. 만약 패키지 내의 전자문서의 해쉬값과 증적에 생성된 전자문서의 해쉬값이 다르다면, 해당 증명서는 더이상 활용할 수 없으며, 증명서 검증자는 해당 사실을 보관소 서버(130)에 통보하여 폐지처리 하도록 한다.If the certificate verifier needs to perform an electronic document verification, the electronic document must be acquired, and the process of obtaining the electronic document by the certificate verifier is omitted below. In the process of performing the electronic document verification, the matters to be careful of, the process performed by the
⑪ 원본 증명에 대한 검증 단계검증 Verification step for original proof
증명서의 증명대상 필드로서 원본 증명을 의미하는 orgAndIssued 필드에는 증적 증명과 마찬가지로, 원본 전자문서의 해쉬값을 포함하는 orgDocInfo 필드와 발급된 전자문서의 해쉬값을 포함하는 issuedDocInfo 필드가 있는데, orgDocInfo 필드는 보관소 서버(130)가 보관 중인 AIP에 포함된 원본 전자문서의 해쉬값을 포함하고, issuedDocInfo 필드는 DIP에 포함된 전자문서의 해쉬값을 포함한다. 또한, orgAndIssued 필드에는 발급된 전자문서가 원본 전자문서인지 변환본 전자문서인지를 표시하는 issuedDocOriginal 필드를 포함하고 있는데, 만약 issuedDocOriginal 필드의 값이 TRUE이면 두 해쉬값이 동일하며, FALSE이면 두 해쉬값이 달라야 한다.The orgAndIssued field, which means the original proof as the attestation field of the certificate, has an orgDocInfo field that contains the hash value of the original electronic document and an issuedDocInfo field that contains the hash value of the issued electronic document, similar to the evidence proof. The
원본 증명서는 항상 DIP에 첨부되어 발급되므로 증명서 검증자는 issuedDocInfo 필드에 설정된 발급 전자문서의 해쉬값과 DIP에 포함된 전자문서의 해쉬값의 동일성 여부를 검증해야 한다. 이용자가 증명서 검증자인 경우에 orgDocInfo 필드에 설정된 원본 전자문서의 해쉬값을 검증할 필요가 있다면, 증적 증명에서와 마찬가지로 원본 전자문서를 획득하여야 하며, 증명서 검증자가 원본 전자문서를 획득하는 과정은 이하 생략한다. 전자문서의 해쉬 절차는 증적 증명에서와 마찬가지 방법으로 생성하도록 한다. 만약 패키지 내의 전자문서의 해쉬값과 증적에 생성된 전자문서의 해쉬값이 다르다면, 해당 증명서는 더이상 활용할 수 없으며, 증명서 검증자는 해당 사실을 보관소 서버(130)에 통보하여 폐지처리 하도록 한다. 또한, 검증에 실패한 원본 증명서가 첨부된 DIP의 전자문서도 신뢰할 수 없는 것으로 판단하도록 한다.Since the original certificate is always issued attached to the DIP, the certificate verifier must verify whether the hash value of the issuing electronic document set in the issuedDocInfo field and the hash value of the electronic document included in the DIP are identical. If the user needs to verify the hash value of the original electronic document set in the orgDocInfo field when the user is the certificate verifier, the original electronic document must be obtained as in the proof proof, and the process of obtaining the original electronic document by the certificate verifier is omitted below. do. The hash procedure of an electronic document is generated in the same way as for the proof of evidence. If the hash value of the electronic document in the package and the hash value of the generated electronic document is different, the certificate can no longer be used, the certificate verifier notifies the
⑫ 수임자 검증 단계 (S735)검증 Commissioner verification step (S735)
증명서에 수임자를 지정한 Qualifications 확장필드가 존재하고 critical의 값이 TRUE인 경우, 증명서 검증자는 Qualifications 필드의 값을 확인하여야 한다. 수임자 검증이란, 수임자의 정보가 올바르게 생성되었음을 검증하는 것이 아니라, 증명서 검증자 또는 수임자임을 주장하는 자가 정당한 수임자인가를 확인하는 절차이다. 증명서의 Qualifications 필드의 모든 Qualification 항목들에 대하여 nomineeRole 필드의 값이 onlyForNominee를 포함하고 있다면, 해당 증명서는 각 qualification 항목의 nomineeInfo에 지정된 증명서 수임자들을 위해서만 발급된 것이므로, 증명서 검증자 또는 수임자임을 주장하는 자가 정당한 증명서 수임자인 경우에만 증명서를 활용할 수 있다. 수임자 검증에 실패하였더라도, 증명서 검증자나 수임자임을 주장하는 자가 증명서를 활용하지 못할 뿐, 증명서의 유효성을 상실하지는 않는다.If there is a Qualifications extension in the certificate that specifies the recipient and the critical value is TRUE, the certificate verifier shall check the value of the Qualifications field. Recipient verification is not a process of verifying that the information of the recipient has been correctly generated, but rather a process of verifying whether the certificate verifier or claimant is a legitimate recipient. If the value of the nomineeRole field contains onlyForNominee for all qualifications in the Qualifications field of the certificate, the certificate is issued only for the certificate holders specified in nomineeInfo of each qualification item, so that the validator or claimant claiming to be a valid person Certificates may only be used by certificate holders. Even if the verification fails, the certificate verifier or the claimant is not able to use the certificate and does not lose the validity of the certificate.
만약 Qualifications 확장필드가 없거나, critical의 값이 FALSE이거나, 모든qualification 필드 내 nomineeRole 필드의 값이 onlyForNominee를 포함하지 않는다면, 해당 증명서는 모든 사람에 의해서 활용될 수 있다.If there is no Qualifications extension, the value of critical is FALSE, or the value of the nomineeRole field in all qualification fields does not contain onlyForNominee, the certificate can be used by everyone.
⑬ 증명서 정책 검증 단계 (S740)⑬ Certificate Policy Verification Step (S740)
증명서 검증자는 검증하고자 하는 증명서에 포함된 증명서 정책이 현재 활용을 위한 목적에 부합되는가를 검증해야 한다. 증명서에 포함된 증명서의 정책은 증명서의 활용, 용도, 목적, 보증 범위 등에 대한 내용을 담고 있으며, 보관소 서버(130)는 이에 대한 내용을 증명서를 사용하는 모든 이용자를 위하여 공지하고 있다. 증명서 검증자는 증명서 정책 필드의 증명서 정책이 자신의 증명서 활용 목적을 위해서 적합한 정책인가를 확인한다. 정책 검증에 실패하였더라도, 증명서 검증자의 활용 목적을 위하여 증명서를 활용하지 못할 뿐, 증명서의 유효성을 상실하지 는 않는다.The certificate verifier must verify that the certificate policy contained in the certificate to be verified is compatible with the purpose for which it is currently being used. The policy of the certificate included in the certificate contains information on the use, use, purpose, warranty scope, and the like of the certificate, and the
⑭ 용도 검증 단계 (S745)⑭ Usage Verification Step (S745)
증명서에 증명서 용도를 지정한 UsageType 확장필드가 존재하고 critical의 값이 TRUE인 경우, 증명서 검증자는 UsageType 필드의 값을 확인하여야 한다. 증명서의 사용환경과 증명서 용도 필드의 값이 일치하지 않으면 검증에 실패하게 된다. 본 발명에서는 UsageType 필드의 critical의 값을 FALSE로 설정하도록 하므로 증명서의 용도 검증을 하지 않아도 된다.If there is a UsageType extension that specifies the purpose of the certificate in the certificate and the critical value is TRUE, the certificate verifier shall check the value of the UsageType field. If the certificate usage environment and the certificate usage field do not match, verification will fail. In the present invention, since the critical value of the UsageType field is set to FALSE, it is not necessary to verify the purpose of the certificate.
⑮ 증명서 요청자 검증 단계 (S750)⑮ Certificate Requester Verification Step (S750)
증명서에 증명서 요청자 정보가 포함되어 있는 경우, 즉 requestInfo 필드의 정보로 null이 아닌 arcCertRequest 필드가 사용되었다면, arcCertRequest 필드 내의 requester 필드에 대하여 필요한 경우에 검증을 수행할 수 있다. 본 증명서 요청자 검증 과정은 증명서 요청자라고 주장하는 자의 신원정보와 증명서 내의 증명서 요청자 정보와의 동일성 여부에 대한 확인을 주목적으로 한다. 증명서 요청자 검증에 실패하였더라도, 증명서 요청자라고 주장하는 자가 정당한 증명서 요청자가 아님을 확인한 것일 뿐, 증명서의 유효성을 상실하지는 않는다.If the certificate includes certificate requestor information, that is, if the non-null arcCertRequest field is used as the information of the requestInfo field, the requester field in the arcCertRequest field may be verified as necessary. This certificate requestor verification process aims at verifying the identity of the person claiming to be the certificate requester and the identity of the certificate requestor in the certificate. Even if the certificate requestor verification fails, it is confirmed that the claimant who is the certificate requester is not a valid certificate requestor, and does not lose the validity of the certificate.
한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성 가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, ROM, 플로피 디스크, 하드 디스크 등), 광학적 판독 매체(예를 들면, CD-ROM, DVD 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 저장매체를 포함한다.Meanwhile, the above-described embodiments of the present invention can be written as a program that can be executed in a computer, and can be implemented in a general-purpose digital computer that operates the program using a computer-readable recording medium. The computer-readable recording medium may include a magnetic storage medium (for example, a ROM, a floppy disk, a hard disk, etc.), an optical reading medium (for example, a CD-ROM, a DVD, etc.) and a carrier wave (for example, Storage media such as transmission over the Internet).
이상의 설명은 본 발명의 기술사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위 내에서 다양한 수정, 변경 및 치환이 가능할 것이다. 따라서, 본 발명에 개시된 실시예 및 첨부된 도면들은 본 발명의 기술사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예 및 첨부된 도면에 의하여 본 발명의 기술사상의 범위가 한정되는 것은 아니다. 본 발명의 보호범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The above description is merely illustrative of the technical spirit of the present invention, and those skilled in the art to which the present invention pertains various modifications, changes, and substitutions without departing from the essential characteristics of the present invention. will be. Accordingly, the embodiments disclosed in the present invention and the accompanying drawings are not intended to limit the technical spirit of the present invention but to describe the present invention, and the scope of the technical idea of the present invention is not limited by the embodiments and the accompanying drawings. . The scope of protection of the present invention should be interpreted by the following claims, and all technical ideas within the scope equivalent thereto should be construed as being included in the scope of the present invention.
본 발명은 전자문서를 취급하는 기관, 학교, 기업체 등지에서 이용 가능하여 그 이용도가 매우 높다할 것이다. 더욱이, 미래 사회는 유비쿼터스 시대를 지향하고 있으므로 본 발명은 향후 더욱 빛을 발할 것으로 예측된다.The present invention can be used in institutions, schools, businesses, etc. that handle electronic documents, the use thereof will be very high. Moreover, since the future society is oriented toward the ubiquitous era, the present invention is expected to shine more in the future.
도 1은 본 발명의 바람직한 실시예에 따른 전자문서 보관 시스템의 전체 구성을 개략적으로 도시한 개념도,1 is a conceptual diagram schematically showing the overall configuration of an electronic document storage system according to an embodiment of the present invention,
도 2는 본 발명의 바람직한 실시예에 따른 전자문서 보관 시스템에 있어서, 전자문서 보관소 서버의 내부 구성을 개략 설명한 블록도,2 is a block diagram schematically illustrating an internal configuration of an electronic document storage server in an electronic document storage system according to a preferred embodiment of the present invention;
도 3 내지 도 6은 본 발명의 바람직한 실시예에 따른 전자문서 보관 시스템에 있어서, 전자문서 보관소 서버의 증명서 발급 절차를 설명하기 위한 흐름도,3 to 6 are flow charts for explaining a certificate issuing procedure of the electronic document storage server in the electronic document storage system according to a preferred embodiment of the present invention;
도 7은 본 발명의 바람직한 실시예에 따른 전자문서 보관 시스템에 있어서, 증명서 검증자 단말기의 증명서 검증 방법을 설명하기 위한 순서도이다.7 is a flowchart illustrating a certificate verification method of a certificate verifier terminal in an electronic document storage system according to a preferred embodiment of the present invention.
< 도면의 주요부분에 대한 부호의 설명 ><Description of Symbols for Major Parts of Drawings>
100 : 전자문서 보관 시스템 110 : 이용자 단말기100: electronic document storage system 110: user terminal
115 : 증명서 요청자 단말기 120 : 증명서 수임자 단말기115: certificate requester terminal 120: certificate recipient terminal
130 : 전자문서 보관소 서버 135 : 전자문서 보관소 데이터베이스130: electronic archive server 135: electronic archive database
150 : 공인인증기관 서버 200 : 통신부150: certification authority server 200: communication unit
205 : 등록 관리부 210 : 중앙처리부205: Registration management unit 210: Central processing unit
215 : 메시지 생성부 220 : 발급 관리부215: message generating unit 220: issuing management unit
225 : 무결성 검증부 230 : 시점확인 관리부225: integrity verification unit 230: time check management unit
235 : 증적 검색부 240 : 기타 관리부235: evidence search unit 240: other management unit
Claims (19)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070092673 | 2007-09-12 | ||
KR20070092673 | 2007-09-12 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20090027554A true KR20090027554A (en) | 2009-03-17 |
KR100969313B1 KR100969313B1 (en) | 2010-07-09 |
Family
ID=40695144
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020070140321A KR100969313B1 (en) | 2007-09-12 | 2007-12-28 | Method for issuing certificate of electric filing document, and system for storing certificate of electric filing document therefor, and the recording media storing the program performing the said method |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100969313B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012005555A3 (en) * | 2010-07-08 | 2012-05-31 | 정보통신산업진흥원 | Method for creating/issuing electronic document distribution certificate, method for verifying electronic document distribution certificate, and system for distributing electronic document |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100579147B1 (en) * | 2004-01-29 | 2006-05-12 | (주)드림투리얼리티 | A system for verifying forged electronic documents of electronic document and a method using thereof |
KR100653512B1 (en) * | 2005-09-03 | 2006-12-05 | 삼성에스디에스 주식회사 | System for managing and storaging electronic document and method for registering and using the electronic document performed by the system |
JP2008061128A (en) * | 2006-09-01 | 2008-03-13 | Canon Inc | Facsimile transmitting/receiving apparatus and method, program and storage medium |
-
2007
- 2007-12-28 KR KR1020070140321A patent/KR100969313B1/en active IP Right Grant
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012005555A3 (en) * | 2010-07-08 | 2012-05-31 | 정보통신산업진흥원 | Method for creating/issuing electronic document distribution certificate, method for verifying electronic document distribution certificate, and system for distributing electronic document |
WO2012005546A3 (en) * | 2010-07-08 | 2012-05-31 | 정보통신산업진흥원 | Electronic document distribution system and electronic document distribution method |
CN103124981A (en) * | 2010-07-08 | 2013-05-29 | 情报通信产业振兴院 | Electronic document distribution system and electronic document distribution method |
KR101364612B1 (en) * | 2010-07-08 | 2014-02-20 | 정보통신산업진흥원 | System for circulating electronic document for creating and issuing and verifying electronic document circulation certificate |
US9143358B2 (en) | 2010-07-08 | 2015-09-22 | National It Industry Promotion Agency | Electronic document communication system and electronic document communication method |
CN103124981B (en) * | 2010-07-08 | 2016-12-07 | 韩国网络安全振兴院 | The electronic document system for the distribution of commodities and electronic document circulation method |
Also Published As
Publication number | Publication date |
---|---|
KR100969313B1 (en) | 2010-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2021206913B2 (en) | Systems and methods for distributed data sharing with asynchronous third-party attestation | |
Kent | Privacy enhancement for internet electronic mail: Part II: Certificate-based key management | |
Housley et al. | RFC2459: Internet X. 509 public key infrastructure certificate and CRL profile | |
US5774552A (en) | Method and apparatus for retrieving X.509 certificates from an X.500 directory | |
CN108696358B (en) | Digital certificate management method and device, readable storage medium and service terminal | |
US8656166B2 (en) | Storage and authentication of data transactions | |
JP2004531918A (en) | Method and system for obtaining a digital signature | |
US20020004800A1 (en) | Electronic notary method and system | |
US7058619B2 (en) | Method, system and computer program product for facilitating digital certificate state change notification | |
KR20090015026A (en) | Peer-to-peer contact exchange | |
JPH11338780A (en) | Method and device for acknowledging and safely storing electronic document | |
US11449285B2 (en) | Document security and integrity verification based on blockchain in image forming device | |
KR100978906B1 (en) | System for managing electric filing document, and application method therefor, and the recording media storing the program performing the said method | |
GB2583767A (en) | Methods and devices for public key management using a blockchain | |
KR100751673B1 (en) | Security system and method of server which deposits and manages electronic document | |
Solo et al. | Internet X. 509 public key infrastructure certificate and CRL profile | |
CN114079645A (en) | Method and device for registering service | |
KR100969313B1 (en) | Method for issuing certificate of electric filing document, and system for storing certificate of electric filing document therefor, and the recording media storing the program performing the said method | |
KR100966323B1 (en) | System for managing electric filing document, and method therefor, and the recording media storing the program performing the said method | |
JP2002132996A (en) | Server for authenticating existence of information, method therefor and control program for authenticating existence of information | |
JP2009031849A (en) | Certificate issuing system for electronic application, electronic application reception system, and method and program therefor | |
KR20010038208A (en) | Administrative information management method of X.509-base public key certification authority | |
KR20020086030A (en) | User Authentication Method and System on Public Key Certificate including Personal Identification Information | |
JP2020010299A (en) | Personal authentication device and personal authentication method | |
JP4057995B2 (en) | Alternative certificate issuance / verification system for PKI authentication system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E90F | Notification of reason for final refusal | ||
E701 | Decision to grant or registration of patent right | ||
N231 | Notification of change of applicant | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20130624 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20140610 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20150610 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20160610 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20170629 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20180416 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20190610 Year of fee payment: 10 |