KR102416538B1 - System and method for providing electronic signature service - Google Patents

System and method for providing electronic signature service Download PDF

Info

Publication number
KR102416538B1
KR102416538B1 KR1020200030388A KR20200030388A KR102416538B1 KR 102416538 B1 KR102416538 B1 KR 102416538B1 KR 1020200030388 A KR1020200030388 A KR 1020200030388A KR 20200030388 A KR20200030388 A KR 20200030388A KR 102416538 B1 KR102416538 B1 KR 102416538B1
Authority
KR
South Korea
Prior art keywords
certificate
identification information
list
authority
external device
Prior art date
Application number
KR1020200030388A
Other languages
Korean (ko)
Other versions
KR20210114798A (en
Inventor
박진우
김진근
이문혁
이강희
Original Assignee
주식회사 티모넷
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 티모넷 filed Critical 주식회사 티모넷
Priority to KR1020200030388A priority Critical patent/KR102416538B1/en
Publication of KR20210114798A publication Critical patent/KR20210114798A/en
Application granted granted Critical
Publication of KR102416538B1 publication Critical patent/KR102416538B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0877Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3268Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/72Signcrypting, i.e. digital signing and encrypting simultaneously

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

전자 서명 서비스 시스템 및 그 방법에 관한 것이다. 전자 서명 서비스 시스템은, 권한 관리 테이블을 제공하는 관리 서버, 권한 관리 테이블을 이용하여 외부 기기의 접속 허용 여부를 결정하는 인터페이스 서버, 권한 관리 테이블을 이용하여 외부 기기의 권한을 검증하는 제1 검증 서버 및 권한 관리 테이블을 이용하여 외부 기기의 요청에 대응하는 인증서의 권한을 검증하는 제2 검증 서버를 포함한다. It relates to an electronic signature service system and method therefor. The electronic signature service system includes a management server that provides a permission management table, an interface server that determines whether to allow access of an external device using the permission management table, and a first verification server that verifies the permission of the external device using the permission management table and a second verification server that verifies the authority of the certificate corresponding to the request of the external device by using the authority management table.

Description

전자 서명 서비스 시스템 및 그 방법{System and method for providing electronic signature service}Electronic signature service system and method therefor

전자 서명을 제공하는 서비스 시스템 및 그 방법에 관한 것이다. It relates to a service system and method for providing an electronic signature.

공인 인증서는 공신력이 있는 공인검증기관에서 발급한 전자 서명 인증서로서, 우리나라의 경우 인터넷 뿐만 아니라 온라인 증명서 발급, 전자상거래, 인터넷 주식거래 등 다양한 분야에서 필수적으로 사용되고 있다. An accredited certificate is an electronic signature certificate issued by an accredited verification institution with public credibility.

기존의 PC 환경에서 공인 인증서 사용 형태를 살펴보면, 공인 인증서를 하드 디스크, 이동식 디스크, 휴대폰, 저장 토큰, 보안 토큰 등에 저장해 두고 있다가 인터넷 금융거래 등을 위해 공인검증이 필요한 경우 하드 디스크 등에 저장된 공인 인증서를 통해 전자 서명을 생성하고 이를 제1 검증 서버가 검증함으로써 공인검증을 수행하는 방식이다.Looking at the use of public certificates in the existing PC environment, public certificates are stored in hard disks, removable disks, mobile phones, storage tokens, security tokens, etc. It is a method of performing public verification by generating an electronic signature through , and verifying it by the first verification server.

상술한 공인검증 방식에서는 사용자가 공인 인증서가 저장된 매체를 소지하고 다녀야 하는 불편함이 있다. 그리고, 사용자가 공인 인증서를 사용할 수 있는 매체 수를 늘리기 위해서는 공인 인증서를 여러 매체에 복사, 이동하는 작업을 수행해야 하는 번거로움이 있다. 또한, 다수 매체에 공인 인증서가 저장되어 있으면 매체의 분실 혹은 타인이 매체에 접근함으로써 공인 인증서의 유출 가능성이 높아지는 위험이 있다.In the above-described public verification method, there is an inconvenience in that the user has to carry the medium in which the public certificate is stored. In addition, in order to increase the number of media in which the user can use the public certificate, there is a cumbersome operation of copying and moving the public certificate to various media. In addition, if the public certificate is stored in multiple media, there is a risk that the loss of the medium or the possibility that the public certificate is leaked by another person accessing the medium increases.

본 실시예는, 전자 서명을 보다 안전하게 제공하는 시스템 및 그 방법에 관한 것이다. The present embodiment relates to a system and method for more securely providing an electronic signature.

일 실시예에 따른 전자 서명 서비스 시스템은 권한 관리 테이블을 제공하는 관리 서버; 상기 권한 관리 테이블을 이용하여 외부 기기의 접속 허용 여부를 결정하는 인터페이스 서버; 상기 권한 관리 테이블을 이용하여 상기 외부 기기의 권한을 검증하는 제1 검증 서버; 및 상기 권한 관리 테이블을 이용하여 상기 외부 기기의 요청에 대응하는 인증서의 권한을 검증하는 제2 검증 서버;를 포함하고, 상기 권한 관리 테이블은, 외부 기기의 식별 정보 및 상기 외부 기기에 대한 그룹의 식별 정보를 포함하는 기기 목록, 상기 외부 기기에 대한 권한의 식별 정보가 포함된 기기 권한 목록, 상기 외부 기기에 대한 권한의 상세 정보가 포함된 권한 목록, 상기 인증서의 권한에 대한 정보가 포함된 인증서 권한 목록, 상기 인증서의 정책에 대한 정보가 포함된 인증서 정책 목록, 상기 인증서가 저장될 데이터베이스에 대한 정보 및 개인키가 저장될 하드웨어 보안 모듈에 대한 정보가 포함된 파티션 목록이 메타 데이터 형식으로 연결된다. An electronic signature service system according to an embodiment includes: a management server providing an authority management table; an interface server that determines whether to allow access of an external device by using the authority management table; a first verification server that verifies the authority of the external device using the authority management table; and a second verification server that verifies the authority of the certificate corresponding to the request of the external device by using the authority management table, wherein the authority management table includes identification information of the external device and a group of the external device. A device list including identification information, a device permission list including identification information of the authority for the external device, a permission list including detailed information on the authority for the external device, and a certificate including information about the authority of the certificate A list of privileges, a list of certificate policies including information on the policy of the certificate, a list of partitions including information on a database in which the certificate is to be stored and information on a hardware security module in which a private key is to be stored are linked in the form of metadata. .

그리고, 상기 관리 서버는, 상기 인터페이스 서버에 상기 기기 목록만을 제공하고, 상기 제1 검증 서버에 상기 기기 권한 목록 및 권한 목록만을 제공하며, 상기 제2 검증 서버에 인증서 정책 목록, 인증서 권한 목록 및 상기 파티션 목록만을 제공할 수 있다.And, the management server provides only the device list to the interface server, provides only the device authority list and authority list to the first verification server, and provides a certificate policy list, a certificate authority list and the second verification server to the second verification server. You can only provide a list of partitions.

또한, 상기 기기 목록은, 상기 외부 기기의 식별 정보 별로 상기 그룹의 식별 정보가 매칭되어 있으며, 상기 그룹의 식별 정보를 기초로 상기 기기 권한 목록과 연결될 수 있다.Also, in the device list, identification information of the group is matched for each identification information of the external device, and may be connected to the device permission list based on the identification information of the group.

그리고, 상기 기기 권한 목록은 상기 그룹의 식별 정보 별로 상기 권한의 식별 정보가 매칭되어 있고, 상기 권한의 식별 정보를 기초로 상기 권한 목록과 연결될 수 있다.In addition, the device permission list may match identification information of the permission for each identification information of the group, and may be connected to the permission list based on the identification information of the permission.

또한, 상기 기기 권한 목록은, 상기 그룹의 식별 정보별로 파티션의 식별 정보가 매칭되어 있고, 상기 파티션의 식별 정보를 기초로 상기 파티션 목록과 연결될 수 있다. Also, in the device permission list, identification information of a partition is matched for each identification information of the group, and the partition list may be connected based on identification information of the partition.

그리고, 상기 인증서 권한 목록은, 상기 인증서 정책의 식별 정보별로 파티션의 식별 정보가 매칭되어 있고, 상기 파티션의 식별 정보를 기초로 상기 파티션 목록과 연결딜 수 있다.And, in the certificate authority list, identification information of a partition is matched for each identification information of the certificate policy, and the partition list may be linked based on the identification information of the partition.

또한, 상기 외부 기기로부터 인증서 관련 요청을 수신받으면, 상기 인터페이스 서버는 상기 기기 목록으로부터 상기 외부 기기에 대응하는 그룹의 식별 정보를 획득하여 상기 제1 검증 서버에 전송하고, 상기 제1 검증 서버는, 상기 기기 권한 목록으로부터 상기 그룹의 식별 정보에 대응하는 권한의 식별 정보를 획득하고, 상기 권한 목록으로부터 상기 권한의 식별 정보에 대응하는 권한의 상세 정보를 획득하여 상기 외부 기기가 상기 인증서 관련 요청을 할 수 있는 외부 기기인지 검증할 수 있다.In addition, when receiving a certificate related request from the external device, the interface server obtains identification information of a group corresponding to the external device from the device list and transmits it to the first verification server, wherein the first verification server, Obtains identification information of a right corresponding to the identification information of the group from the device authority list, and obtains detailed information of a right corresponding to the identification information of the authority from the authority list, so that the external device makes the certificate-related request You can verify that it is an external device that can be used.

그리고, 상기 제1 검증 서버는, 상기 외부 기기의 검증이 완료되면, 상기 기기 권한 목록으로부터 상기 그룹의 식별 정보에 대응하는 파티션을 식별 정보를 획득하여 상기 인증서 관련 요청과 함께 상기 파티션의 식별 정보를 상기 제2 검증 서버에 전송할 수 있다.And, when the verification of the external device is completed, the first verification server obtains identification information of a partition corresponding to the identification information of the group from the device authority list, and obtains identification information of the partition along with the certificate related request. may be transmitted to the second verification server.

또한, 상기 제2 검증 서버는 상기 인증서 관련 요청이 인증서 및 개인키의 저장인 경우, 상기 인증서 정책 목록을 이용하여 상기 인증서에 대한 인증서 정책의 식별 정보를 획득하고, 상기 인증서 권한 목록으로부터 상기 인증서 정책의 식별 정보에 대응하는 파티션의 식별 정보를 획득하며, 상기 획득된 파티션의 식별 정보가 상기 제1 검증 서버로부터 수신된 파티션의 식별 정보와 비교함으로써 상기 인증서를 검증할 수 있다.In addition, when the certificate-related request is the storage of a certificate and a private key, the second verification server obtains identification information of a certificate policy for the certificate by using the certificate policy list, and obtains the certificate policy from the certificate authority list It is possible to obtain identification information of a partition corresponding to the identification information of , and verify the certificate by comparing the obtained identification information of the partition with identification information of the partition received from the first verification server.

그리고, 상기 제2 검증 서버는, 상기 인증서의 검증이 완료되면, 상기 파티션 목록으로부터 상기 파티션의 식별 정보에 대응하는 데이터베이스의 식별 정보를 획득하고, 상기 데이터베이스의 식별 정보에 대응하는 데이터베이스에 상기 인증서를 저장하며, 상기 파티션 목록으로부터 상기 파티션의 식별 정보에 대응하는 하드웨어 보안 모듈의 식별 정보를 획득하고, 상기 하드웨어 보안 모듈의 식별 정보에 대응하는 하드웨어 보안 모듈에 상기 개인키의 저장을 요청할 수 있다.Then, the second verification server, when the verification of the certificate is completed, obtains identification information of the database corresponding to the identification information of the partition from the partition list, and stores the certificate in the database corresponding to the identification information of the database store, obtain identification information of the hardware security module corresponding to the identification information of the partition from the partition list, and request the storage of the private key from the hardware security module corresponding to the identification information of the hardware security module.

또한, 상기 제2 검증 서버는 상기 인증서 관련 요청이 전자 서명인 경우, 상기 파티션 목록으로부터 상기 파티션의 식별 정보에 대응하는 데이터베이스의 식별 정보를 획득하고, 상기 획득된 데이터베이스의 식별 정보에 대응하는 데이터베이스로부터 인증서를 획득하고, 상기 인증서 정책 목록을 이용하여 상기 인증서에 대한 인증서 정책의 식별 정보를 획득하고, 상기 인증서 권한 목록으로부터 상기 인증서 정책의 식별 정보에 대응하는 권한의 상세 정보를 확인함으로써 상기 인증서를 검증할 수 있다.In addition, when the certificate-related request is an electronic signature, the second verification server obtains identification information of a database corresponding to the identification information of the partition from the partition list, and from the database corresponding to the obtained identification information of the database Obtaining a certificate, obtaining identification information of a certificate policy for the certificate by using the certificate policy list, and verifying the certificate by verifying detailed information of the authority corresponding to the identification information of the certificate policy from the certificate authority list can do.

그리고, 상기 제2 검증 서버는, 상기 인증서의 검증이 완료되면, 상기 파티션 목록으로부터 상기 파티션의 식별 정보에 대응하는 하드웨어 보안 모듈의 식별 정보를 획득하고, 상기 하드웨어 보안 모듈의 식별 정보에 대응하는 하드웨어 보안 모듈에 상기 전자 서명을 요청할 수 있다.Then, the second verification server, when the verification of the certificate is completed, obtains the identification information of the hardware security module corresponding to the identification information of the partition from the partition list, the hardware corresponding to the identification information of the hardware security module The electronic signature may be requested from the security module.

한편, 일 실시예에 따른 전자 서명 서비스 방법은, 인터페이스 서버는 권한 관리 테이블을 이용하여 외부 기기의 접속 허용 여부를 결정하는 단계; 상기 외부 기기의 접속이 허용되면, 제1 검증 서버는 상기 권한 관리 테이블을 이용하여 상기 외부 기기의 권한을 검증하는 단계; 및 상기 외부 기기의 권한이 검증되면, 제2 검증 서버는 상기 권한 관리 테이블을 이용하여 상기 외부 기기의 요청에 대응하는 인증서의 권한을 검증하는 단계; 를 포함하고, 상기 권한 관리 테이블은, 외부 기기의 식별 정보 및 상기 외부 기기에 대한 그룹의 식별 정보를 포함하는 기기 목록, 상기 외부 기기에 대한 권한의 식별 정보가 포함된 기기 권한 목록, 상기 외부 기기에 대한 권한의 상세 정보가 포함된 권한 목록, 상기 인증서의 권한에 대한 정보가 포함된 인증서 권한 목록, 상기 인증서의 정책에 대한 정보가 포함된 인증서 정책 목록, 상기 인증서가 저장될 데이터베이스에 대한 정보 및 개인키가 저장될 하드웨어 보안 모듈에 대한 정보가 포함된 파티션 목록이 메타 데이터 형식으로 연결된다. On the other hand, the digital signature service method according to an embodiment, the interface server using the authority management table to determine whether to allow the connection of the external device; when the access of the external device is permitted, the first verification server verifying the authority of the external device using the authority management table; and when the authority of the external device is verified, the second verification server verifying the authority of the certificate corresponding to the request of the external device using the authority management table. wherein the permission management table includes a device list including identification information of an external device and group identification information for the external device, a device permission list including identification information of permission for the external device, and the external device A permission list including detailed information about the authority for the certificate, a certificate authority list including information about the authority of the certificate, a certificate policy list including information about the policy of the certificate, information about a database in which the certificate is to be stored, and A list of partitions containing information about the hardware security module where the private key will be stored is linked in the form of metadata.

외부 기기의 접속 여부를 관리하는 서버, 외부 기기의 권한을 권리하는 서버, 인증서의 권한을 관리하는 서버 및 전자 서명을 수행하는 모듈이 각각 별도로 구비하고, 각 서버들은 권한 관리 테이블로 연계되어 있기 때문에 인증서 관리의 보안이 강화될 수 있다. Since the server that manages whether the external device is connected or not, the server that grants the authority of the external device, the server that manages the certificate authority and the module that performs the digital signature are separately provided, each server is linked with the authority management table. The security of certificate management can be enhanced.

또한, SaaS(Software as a Service) 형태로 전자서명 서비스 시스템을 구축하고, 하나의 전자서명 서비스 시스템으로 다수의 회원관리 시스템과 연동하는 서비스 제공이 가능해진다. In addition, it is possible to build an electronic signature service system in the form of SaaS (Software as a Service), and provide a service that interworks with multiple member management systems with one electronic signature service system.

뿐만 아니라, 외부 시스템 서버로 스케줄링 시스템 서버가 되어 연동 된다면 인증서 소유자의 검증은 사전에 별도로 획득하고 전자서명 생성은 추후 원하는 시간에 이루어지는 전자서명 예약 서비스 제공이 가능해질 수도 있고, 인증서 소유자의 검증은 1회만 수행하고 대량의 전자서명을 서버 간 연동에 의해 생성하는 일괄 전자서명 생성 서비스 제공도 가능해 질 수 있다.In addition, if the external system server becomes a scheduling system server and is linked, it may be possible to provide an electronic signature reservation service in which the verification of the certificate holder is separately obtained in advance and the generation of the electronic signature is performed at a desired time later, and the verification of the certificate holder is 1 It may be possible to provide a batch digital signature generation service that only performs one time and generates a large number of digital signatures by interworking between servers.

도 1은 예시적인 실시예에 따른 인증서 관리 시스템을 나타낸 도면이다.
도 2는 일 실시예에 따른 권한 권리 테이블의 예를 나타내는 도면이다.
도 3은 일 실시예에 따른 인터페이스 서버가 외부 기기의 접속 허용 여부를 결정하는 방법을 설명하는 흐름도이다.
도 4는 일 실시예에 따른 제1 및 제 2 검증 서버가 외부 기기를 검증하는 방법을 설명하는 흐름도이다.
도 5는 일 실시예에 따른 인증서 관리 시스템이 인증서를 저장하는 방법을 설명하는 흐름도이다.
도 6은 일 실시예에 따른 인증서 관리 시스템이 전자 서명을 생성하는 방법을 설명하는 흐름도이다.
1 is a diagram illustrating a certificate management system according to an exemplary embodiment.
2 is a diagram illustrating an example of a right table according to an embodiment.
3 is a flowchart illustrating a method for an interface server to determine whether to allow an external device to connect, according to an exemplary embodiment.
4 is a flowchart illustrating a method of verifying an external device by first and second verification servers according to an exemplary embodiment.
5 is a flowchart illustrating a method for a certificate management system to store a certificate according to an embodiment.
6 is a flowchart illustrating a method for generating an electronic signature by a certificate management system according to an embodiment.

본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다. The terms used in the present invention have been selected as currently widely used general terms as possible while considering the functions in the present invention, but these may vary depending on the intention or precedent of a person skilled in the art, the emergence of new technology, and the like. In addition, in a specific case, there is a term arbitrarily selected by the applicant, and in this case, the meaning will be described in detail in the description of the corresponding invention. Therefore, the term used in the present invention should be defined based on the meaning of the term and the overall content of the present invention, rather than the name of a simple term.

비록 제1, 제2 등의 용어가 다양한 요소들을 서술하기 위해서 사용되지만, 이 요소들은 이러한 용어에 의해 제한되지 않는다. 이러한 용어들은 단지 하나의 요소를 다른 요소와 구별하기 위하여 사용하는 것이다.Although the terms first, second, etc. are used to describe various elements, these elements are not limited by these terms. These terms are only used to distinguish one element from another.

본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. 제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.The terms used in the present application are only used to describe specific embodiments, and are not intended to limit the present invention. The singular expression includes the plural expression unless the context clearly dictates otherwise. In the present application, terms such as “comprise” or “have” are intended to designate that a feature, number, step, operation, component, part, or combination thereof described in the specification exists, but one or more other features It should be understood that this does not preclude the existence or addition of numbers, steps, operations, components, parts, or combinations thereof. Terms such as first, second, etc. may be used to describe various elements, but the elements should not be limited by the terms. The above terms are used only for the purpose of distinguishing one component from another.

명세서 전체에서 전자 서명(Digital Signature)은 네트워크를 통해 전송되는 데이터의 무결성 및 해당 데이터를 생성 또는 전송한 사용자를 보증하기 위한 보안 기술이다. 전자 서명은 송신자가 송신자의 개인키로 암호화된 전자 서명을 생성한 후 상기한 전자 서명을 메시지에 첨부하여 전송하면, 수신자는 송신자의 공개키로 전자 서명을 복호화한 후 원래의 메시지와 대비하여 검증할 수 있다. 이러한, 본 발명의 일 실시예에 따른 전자 서명은 알에스에이(Ron Rivest, Adi Shamir, Loenard Adleman, RSA) 알고리즘, 디지털 표준 알고리즘(Digital Standard Algorithm, DSA), 메시지 다이제스트 알고리즘(Message-Digest algorithm 5, MD5), 고급 암호화 표준(Advanced Encryption Standard, AES) 등과 같은 암호화 알고리즘 중 어느 하나를 이용할 수 있으나, 이에 한정되는 것은 아니다.Throughout the specification, a digital signature is a security technology for guaranteeing the integrity of data transmitted through a network and a user who has created or transmitted the data. As for the electronic signature, when the sender creates an encrypted digital signature with the sender's private key and attaches the above-mentioned digital signature to the message, the receiver decrypts the digital signature with the sender's public key and verifies it against the original message. have. Such, an electronic signature according to an embodiment of the present invention is an RSA (Ron Rivest, Adi Shamir, Loenard Adleman, RSA) algorithm, a Digital Standard Algorithm (DSA), a Message-Digest algorithm 5 , MD5), and any one of encryption algorithms such as Advanced Encryption Standard (AES), but is not limited thereto.

세션키는 데이터를 암호화 및 복호화하는데 사용될 수 있으며, 서버는 기 정의된 알고리즘에 의해 세션키를 생성할 수 있다. 세션키도 검증에 이용되는 세션키를 검증용 세션키 등록에 이용되는 세션키를 등록용 세션키로 기재할 수 있다. The session key may be used to encrypt and decrypt data, and the server may generate the session key by a predefined algorithm. The session key may also be described as the session key used for verification and the session key used for registering the session key for verification as the session key for registration.

서명 대상 문서는 사용자의 전자 서명이 요구되는 전자 문서를 의미한다. 사용자는 상기 서명 대상 문서에 대해 전자 서명을 생성함으로써, 상기 서명 대상 문서에 대해 상기 사용자가 승인하였음을 검증할 수 있다. 서명 대상 문서는 전자 서명을 이용하는 이용 기관의 서버에 의해 작성될 수 있다. 상기 전자 서명 이용기관은 은행, 공공기관, 전자 상거래 서비스 운영기관, 주식 거래 기관 등일 수 있으며, 이에 제한되는 것은 아니다. 다른 예로, 서명 대상 문서는 서명의 권한이 있는 사용자 단말에 의해서도 작성될 수도 있다. 서명 대상 문서는 전자 문서로서, 온라인 증명서, 전자상거래 문서, 인터넷 주식 거래 문서 등을 포함할 수 있으며, 이에 제한되는 것은 아니다.The signature target document refers to an electronic document requiring a user's electronic signature. The user may verify that the user approves the signature target document by generating an electronic signature for the signature target document. A document to be signed may be created by a server of a user organization using an electronic signature. The electronic signature user institution may be a bank, a public institution, an e-commerce service operating institution, a stock trading institution, etc., but is not limited thereto. As another example, the document to be signed may also be prepared by a user terminal having the authority to sign. The document to be signed is an electronic document, and may include, but is not limited to, an online certificate, an e-commerce document, an Internet stock transaction document, and the like.

인증서란 전자 서명이 사용자에 의해 생성되었음을 검증하기 위한 전자적 문서를 의미한다. 인증서는 전자 서명을 진행한 사용자 정보, 인증서의 용도, 인증서 유효기간, 인증서 만료일 및 인증서 발급기관에 대한 정보 중 적어도 하나를 포함할 수 있다. A certificate means an electronic document for verifying that an electronic signature is generated by a user. The certificate may include at least one of information about the user who performed the digital signature, the purpose of the certificate, the validity period of the certificate, the expiration date of the certificate, and information about the certificate issuing authority.

전자 서명문은 전자 서명을 이용하는 이용 기관에 제출되는 전자 문서를 의미한다. 전자 서명 이용 기관은 전자 서명문에 첨부된 공개 키 데이터로 상기 전자 서명을 검증함으로써, 전자 서명이 사용자에 의해 작성된 것인 지를 확인할 수 있다.The electronic signature means an electronic document submitted to a user organization using an electronic signature. By verifying the electronic signature with public key data attached to the electronic signature, the electronic signature using organization can confirm whether the electronic signature is created by the user.

도 1은 예시적인 실시예에 따른 인증서 관리 시스템(100)을 나타낸 도면이다. 1 is a diagram illustrating a certificate management system 100 according to an exemplary embodiment.

도 1을 참조하면, 인증서 관리 시스템(100)은 권한 관리 테이블(200)을 관리하고 인증서 관리 시스템(100)의 다른 서버에 제공하는 관리 서버(110), 외부 기기(10)에 대한 인증서 관리 시스템(100)의 접속 여부를 허용하는 인터페이스 서버(120), 인터페이스 서버(120)로부터 수신된 외부 기기(10)를 검증하는 제1 검증 서버(130), 인증서를 검증하는 제2 검증 서버(140), 인증서를 저장하는 데이터베이스(150), 개인키를 저장하거나 개인키를 이용하여 전자 서명을 생성하는 하드웨어 보안 모듈(160)를 포함할 수 있다. 시스템(100)은 하나 이상의 데이터베이스(150) 및 하나 이상의 하드웨어 보안 모듈(160)을 포함함으로써 대용량의 인증서 및 개인키의 저장이 가능하다. Referring to FIG. 1 , the certificate management system 100 manages the authority management table 200 and provides the management server 110 to other servers of the certificate management system 100 , the certificate management system for the external device 10 . (100) Interface server 120 allowing the connection or not, the first verification server 130 to verify the external device 10 received from the interface server 120, the second verification server 140 to verify the certificate , a database 150 for storing certificates, and a hardware security module 160 for storing a private key or generating an electronic signature using a private key. The system 100 includes one or more databases 150 and one or more hardware security modules 160 so that a large amount of certificates and private keys can be stored.

인터페이스 서버(120)는 외부 기기(10)와 통신 가능하고 외부 기기(10)의 접속 허용 여부를 결정할 수 있다. 인터페이스 서버(120)는 외부 기기(10)와 인증서 관리 시스템(100)간의 인터페이스 기능을 수행할 수 있다. 즉, 인증서 관리 시스템(100) 내의 제1 검증 서버(130), 제2 검증 서버(140), 데이터베이스(150) 및 하드웨어 보안 모듈(160)은 외부 기기(10)와 직접 통신할 수 없다. 인터페이스 서버(120)와 외부 기기(10)간의 통신 방법은 HTTP(HyperText Transfer Protocol), Socket, API(Application Programming Interface) 방식 등 다양할 수 있으나, 이에 한정되지 않는다. The interface server 120 may communicate with the external device 10 and may determine whether to allow the connection of the external device 10 . The interface server 120 may perform an interface function between the external device 10 and the certificate management system 100 . That is, the first verification server 130 , the second verification server 140 , the database 150 , and the hardware security module 160 in the certificate management system 100 cannot directly communicate with the external device 10 . A communication method between the interface server 120 and the external device 10 may be various, such as HyperText Transfer Protocol (HTTP), Socket, and Application Programming Interface (API), but is not limited thereto.

인터페이스 서버(120)는 외부 기기(10)의 동시 접속 건수를 기준으로 접속 가능한지 여부를 판단할 수 있다. 예를 들어, 인터페이스 서버(120)는 동시 접속 건수가 기설정된 건수 이상인 경우, 외부 기기(10)의 접속을 차단할 수 있다. 접속 건수에 따라 접속 허용 여부를 결정하는 이유는 DDoS 등과 같은 무차별 요청을 통한 서비스 마비 초래 등의 보안 위협을 차단할 수 있다. 동시 접속 건수 이외에도 일정 시간 동안의 접속 건수를 이용하여 접속 허용 여부를 결정할 수도 있다. The interface server 120 may determine whether access is possible based on the number of simultaneous connections of the external device 10 . For example, when the number of simultaneous connections is greater than or equal to a preset number, the interface server 120 may block the connection of the external device 10 . The reason for deciding whether to allow access according to the number of connections is that it can block security threats such as service paralysis through indiscriminate requests such as DDoS. In addition to the number of simultaneous connections, it is also possible to determine whether to allow access by using the number of connections for a certain period of time.

한편, 동시 접속 건수가 기설정된 건수 미만인 경우, 접속을 요청하는 외부 기기(10)가 접속이 허용되는 기기인지 여부를 판단할 수 있다. 인터페이스 서버(120)는 접근 권한 테이블을 이용하여 외부 기기(10)의 접속 허용 여부를 결정할 수 있다. 상기한 접근 권한 테이블에는 기기 목록이 포함될 수 있다. 접속을 요청한 외부 기기(10)의 식별 정보가 상기한 기기 목록에 포함되어 있으면, 접속을 허용하고, 기기 목록에 포함되지 않으면 접속을 허용하지 않을 수 있다. Meanwhile, when the number of simultaneous accesses is less than a preset number, it may be determined whether the external device 10 requesting access is a device to which access is permitted. The interface server 120 may determine whether to allow access of the external device 10 by using the access authority table. The access authority table may include a device list. If the identification information of the external device 10 requesting access is included in the device list, access may be permitted, and if not included in the device list, access may not be permitted.

접속이 허용되면 인터페이스 서버(120)는 외부 기기(10)로부터 수신된 요청 메시지를 제1 검증 서버(130)에 전송할 수 있다. 제1 검증 서버(130)는 권한 관리 테이블을 이용하여 외부 기기(10)의 권한을 검증하여 정당한 외부 기기(10)로부터 요청되었는지 검증할 수 있다. 제1 검증 서버(130)는 인터페이스 서버(120)로부터 수신된 메시지를 기초로 외부 기기(10)를 검증할 수 있다. 그리고, 제1 검증 서버(130)가 검증이 완료되면 제1 검증 서버(130)는 외부 기기(10)의 요청 사항을 제2 검증 서버(140)에 전송할 수 있다. When the connection is permitted, the interface server 120 may transmit the request message received from the external device 10 to the first verification server 130 . The first verification server 130 may verify the authority of the external device 10 by using the authority management table to verify whether a request is made from a legitimate external device 10 . The first verification server 130 may verify the external device 10 based on the message received from the interface server 120 . In addition, when the verification of the first verification server 130 is completed, the first verification server 130 may transmit a request from the external device 10 to the second verification server 140 .

제2 검증 서버(140)는 권한 관리 테이블을 이용하여 인증서를 기준으로 요청 메시지가 정당한 것인지 여부를 확인할 수 있다. 요청 메시지가 정당하면, 제2 검증 서버(140)는 인증서를 저장하거나 대응하는 인증서를 독출할 수 있다. The second verification server 140 may check whether the request message is legitimate based on the certificate by using the authority management table. If the request message is legitimate, the second verification server 140 may store the certificate or read the corresponding certificate.

그리고, 제2 검증 서버(140)의 요청에 따라 하드웨어 보안 모듈(160)은 개인키를 저장하거나, 저장된 개인키를 이용하여 전자 서명을 생성할 수 있다. In addition, according to the request of the second verification server 140 , the hardware security module 160 may store the private key or may generate an electronic signature using the stored private key.

인증서 관리 시스템(100)은 권한 관리 테이블을 이용하여 외부 기기(10)를 관리할 수 있다. The certificate management system 100 may manage the external device 10 using the authority management table.

도 2는 일 실시예에 따른 권한 권리 테이블(200)의 예를 나타내는 도면이다. 도 2에 도시된 바와 같이, 권한 관리 테이블(200)은, 파티션 목록(210), 인증서 권한 목록(220), 인증서 정책 목록(230), 기기 목록(240), 기기 권한 목록(250) 및 권한 목록(260) 등이 메타 데이터 형식으로 연결되어 있다. 2 is a diagram illustrating an example of a right table 200 according to an embodiment. As shown in Figure 2, the authority management table 200, the partition list 210, the certificate authority list 220, the certificate policy list 230, the device list 240, the device authority list 250 and authority The list 260 and the like are connected in the form of meta data.

상기한 권한 관리 테이블(200)은 관리 서버(110)에 의해 생성되어 기저장되어 있을 수 있다. 관리 서버(110)는 권한 권리 테이블(200) 중 일부 정보만을 인터페이스 서버(120), 제1 검증 서버(130) 및 제2 검증 서버(140)에 제공할 수 있다. 예를 들어, 관리 서버(110)는 인터페이스 서버(120)에는 기기 목록(240)만을 제공하고, 제1 검증 서버(130)에는 기기 권한 목록(250) 및 권한 목록(260)만을 제공하며, 제2 검증 서버(140)에는 파티션 목록(210), 인증서 권한 목록(220) 및 인증서 정책 목록(230)만을 제공한다. 그리하여, 인증서 관리 시스템(100)의 보안을 강화할 수 있다. The authority management table 200 may be created and stored in advance by the management server 110 . The management server 110 may provide only some information of the authority table 200 to the interface server 120 , the first verification server 130 , and the second verification server 140 . For example, the management server 110 provides only the device list 240 to the interface server 120 , and provides only the device permission list 250 and the permission list 260 to the first verification server 130 , 2 The verification server 140 provides only the partition list 210 , the certificate authority list 220 , and the certificate policy list 230 . Thus, the security of the certificate management system 100 can be enhanced.

파티션 목록(210)은 파티션의 식별 정보, 데이터베이스(150)의 식별 정보, 하드웨어 보안 모듈(160)의 식별 정보 등을 포함할 수 있다. 파티션의 식별 정보별로 데이터베이스(150)의 식별 정보 및 하드웨어 보안 모듈(160)의 식별 정보가 매칭되어 있다. 데이터베이스(150)의 식별 정보는 데이터베이스(150)의 어드레스 정보일 수 있고, 하드웨어 보안 모듈(160)의 식별 정보는 하드웨어 보안 모듈(160)의 슬롯명, 소프트카드 정보 등일 수 있다. The partition list 210 may include identification information of a partition, identification information of the database 150 , identification information of the hardware security module 160 , and the like. The identification information of the database 150 and the identification information of the hardware security module 160 are matched for each identification information of the partition. The identification information of the database 150 may be address information of the database 150 , and the identification information of the hardware security module 160 may be a slot name of the hardware security module 160 , soft card information, and the like.

여기서 파티션은 외부 기기(10)의 그룹별로 인증서를 저장할 데이터베이스(150) 및 개인키를 관리할 하드웨어 보안 모듈(160)을 할당하기 위한 것으로서, 파티션의 식별 정보가 동일하면 동일한 그룹의 외부 기기(10)에 대응하는 인증서 및 개인키 각각은 동일한 데이터베이스(150) 및 동일한 하드웨어 보안 모듈(160)에 저장될 수 있다. 파티션의 식별 정보는 관리 서버(110)에 의해 설정된 임의의 텍스트, 숫자 등이 조합일 수 잇다. Here, the partition is for allocating the database 150 to store the certificate for each group of the external device 10 and the hardware security module 160 to manage the private key. If the identification information of the partition is the same, the external device 10 of the same group ) corresponding to each of the certificate and private key may be stored in the same database 150 and the same hardware security module 160 . The partition identification information may be a combination of arbitrary texts, numbers, etc. set by the management server 110 .

인증서 권한 목록(220)은 파티션의 식별 정보, 인증서 정책의 식별 정보, 권한의 상세 정보를 포함할 수 있다. 파티션의 식별 정보 별로 인증서 정책의 식별 정보 및 권한의 상세 정보가 매칭되어 있으며, 권한의 상세 정보는 인증서가 저장을 위한 인증서인지 이용을 위한 인증서인지에 관한 정보일 수 있다. 파티션의 식별 정보를 기초로 인증서 권한 목록(220)은 파티션 목록(210)에 연결되어 있다. The certificate authority list 220 may include identification information of a partition, identification information of a certificate policy, and detailed information of authority. The identification information of the certificate policy and the detailed information of the authority are matched for each identification information of the partition, and the detailed information of the authority may be information on whether the certificate is a certificate for storage or a certificate for use. Based on the identification information of the partition, the certificate authority list 220 is connected to the partition list 210 .

인증서 정책 목록(230)은 인증서 정책의 식별 정보, 발급 기관, 용도, 대상(개인 대상인지 사업자 대상인지) 등을 포함할 수 있으며, 인증서 정책의 식별 정보 별 발급 기관, 용도 및 대상이 매칭되어 있다. 인증서 정책의 식별 정보로 기초로 인증서 정책 목록(230)은 인증서 권한 목록(220)에 연결되어 있다. The certificate policy list 230 may include identification information, issuing authority, purpose, target (whether it is an individual target or a business target), etc. of the certificate policy, and the issuing agency, purpose, and target for each identification information of the certificate policy are matched. . Based on the identification information of the certificate policy, the certificate policy list 230 is connected to the certificate authority list 220 .

또한, 기기 권한 목록(250)은 파티션의 식별 정보, 그룹의 식별 정보, 권한의 식별 정보를 포함할 수 있으며, 파티션의 식별 정보별로 그룹의 식별 정보, 권한의 식별 정보가 매칭되어 있다. 파티션의 식별 정보를 기초로 기기 권한 목록(250)과 파티션 목록(210)이 연결되어 있다. In addition, the device permission list 250 may include partition identification information, group identification information, and permission identification information, and group identification information and permission identification information are matched for each partition identification information. Based on the identification information of the partition, the device permission list 250 and the partition list 210 are connected.

그리고, 기기 목록(240)은 그룹의 식별 정보 및 기기의 식별 정보를 포함할 수 있다. 그룹의 식별 정보 별로 기기의 식별 정보가 매칭되어 있고, 그룹의 식별 정보를 기초로 기기 목록(240)과 기기 권한 목록(250)이 연결되어 있다. 여기서 기기의 식별 정보는 외부 기기(10)의 IP 또는 MAC에 대한 정보일 수 있다. In addition, the device list 240 may include group identification information and device identification information. Device identification information is matched for each group identification information, and the device list 240 and the device permission list 250 are connected based on the group identification information. Here, the device identification information may be information on the IP or MAC of the external device 10 .

외부 기기(10)는 복수 개의 그룹으로 그룹핑될 수 있다. 예를 들어, 외부 기기(10)가 개인 단말인지, 특정 기관의 서버인지 등에 따라 그룹핑될 수 있다. 관리 서버(110)는 그룹핑된 외부 기기별로 그룹의 식별 정보를 설정할 수 있다. 그룹의 식별 정보는 관리 서버(110)가 임의로 설정할 수 있으며, 텍스트, 숫자, 특수 문자 등으로 이루어질 수 있다. The external device 10 may be grouped into a plurality of groups. For example, the external device 10 may be grouped according to whether it is a personal terminal or a server of a specific institution. The management server 110 may set group identification information for each grouped external device. The group identification information may be arbitrarily set by the management server 110, and may consist of text, numbers, special characters, and the like.

다음은 상기한 접근 관리 테이블(200)을 이용하는 방법을 보다 구체적으로 설명한다. 도 3은 일 실시예에 따른 인터페이스 서버(120)가 외부 기기(10)의 접속 허용 여부를 결정하는 방법을 설명하는 흐름도이다. Next, a method of using the access management table 200 will be described in more detail. 3 is a flowchart illustrating a method for the interface server 120 to determine whether to allow the connection of the external device 10 according to an exemplary embodiment.

외부 기기(10)로부터 접속 요청 메시지를 수신받으면(S310), 인터페이스 서버(120)는 외부 기기(10)의 접속 건수가 기준값 미만인지 여부를 판단할 수 있다(S320). 인터페이스 서버(120)는 동시 또는 일정 시간 동안의 외부 기기(10)의 접속 건수가 기준값 이상인 경우(S320-Yes), 인터페이스 서버(120)는 접속 거절 메시지를 생성하여 외부 기기(10)에 전송할 수 있다(S330). Upon receiving the access request message from the external device 10 (S310), the interface server 120 may determine whether the number of connections of the external device 10 is less than a reference value (S320). The interface server 120 generates a connection rejection message and transmits it to the external device 10 when the number of connections of the external device 10 is greater than or equal to the reference value (S320-Yes) at the same time or for a certain period of time (S320-Yes). There is (S330).

그러나, 동시 또는 일정 시간 동안의 외부 기기(10)의 접속 건수가 기준값미만인 경우(S320-No), 인터페이스 서버(120)는 외부 기기(10)의 접속 요청 메시지로부터 외부 기기(10)의 식별 정보를 획득할 수 있다(S340). 외부 기기(10)의 식별 정보는 외부 기기(10)의 IP 또는 MAC 주소일 수 있다.However, when the number of connections of the external device 10 at the same time or for a predetermined time is less than the reference value (S320-No), the interface server 120 receives the identification information of the external device 10 from the connection request message of the external device 10 can be obtained (S340). The identification information of the external device 10 may be an IP or MAC address of the external device 10 .

그리고, 외부 기기(10)의 식별 정보가 기기 목록(240)에 포함되는지 여부를 판단할 수 있다(S350). 구체적으로, 인터페이스 서버(120)는 관리 서버(110)로부터 접근 권한 테이블(200) 중 기기 목록(240)을 제공받고, 접속 요청 메시지에 포함된 외부 기기(10)의 식별 정보가 상기한 기기 목록(240)에 포함되는지 여부를 판단할 수 있다. Then, it may be determined whether the identification information of the external device 10 is included in the device list 240 (S350). Specifically, the interface server 120 receives the device list 240 of the access authority table 200 from the management server 110, and the identification information of the external device 10 included in the access request message is the device list. It can be determined whether or not included in (240).

접속 요청 메시지에 포함된 외부 기기(10)의 식별 정보가 기기 목록(240)에 포함되어 있지 않으면(S350-No), 인터페이스 서버(120)는 접속 거절 메시지를 생성하여 외부 기기(10)에 전송할 수 있다(S360). If the identification information of the external device 10 included in the access request message is not included in the device list 240 (S350-No), the interface server 120 generates a connection rejection message and transmits it to the external device 10 . It can be (S360).

접속 요청 메시지에 포함된 외부 기기(10)의 식별 정보가 기기 목록(240)에 포함되어 있으면(S350-Yes), 인터페이스 서버(120)는 상기한 외부 기기(10)의 접속을 허용할 수 있다(S370). 즉, 인터페이스 서버(120)는 접속 허용 메시지를 생성하여 외부 기기(10)에 전송할 수 있다. If the identification information of the external device 10 included in the access request message is included in the device list 240 (S350-Yes), the interface server 120 may allow access to the external device 10 . (S370). That is, the interface server 120 may generate a connection permission message and transmit it to the external device 10 .

도 4는 일 실시예에 따른 제1 및 제 2 검증 서버가 외부 기기를 검증하는 방법을 설명하는 흐름도이다. 4 is a flowchart illustrating a method of verifying an external device by first and second verification servers according to an exemplary embodiment.

외부 기기(10)의 접속이 허용되면, 외부 기기(10)는 요청 메시지를 인증서 관리 시스템(100)에 전송할 수 있다. 여기서 요청 메시지는 인증서 및 개인키의 저장을 요청하는 저장 요청 메시지이거나 인증서 및 개인키로 전자 서명을 요청하는 서명 요청 메시지일 수 있다. 그러나, 이에 한정되지 않는다. 인증서의 삭제 등 수정도 포함될 수 있다. When the connection of the external device 10 is permitted, the external device 10 may transmit a request message to the certificate management system 100 . Here, the request message may be a storage request message for requesting storage of a certificate and a private key or a signature request message for requesting an electronic signature with a certificate and a private key. However, the present invention is not limited thereto. Modifications such as deletion of certificates may also be included.

인터페이스 서버(120)는 기기 목록(240)으로부터 외부 기기(10)의 식별 정보에 대응하는 그룹의 식별 정보를 획득할 수 있다(S410). The interface server 120 may obtain identification information of a group corresponding to the identification information of the external device 10 from the device list 240 ( S410 ).

인터페이스 서버(120)는 요청 메시지와 함께 그룹의 식별 정보를 제1 검증 서버(130)에 전송할 수 있다(S420). The interface server 120 may transmit group identification information together with the request message to the first verification server 130 (S420).

제1 검증 서버(130)는 그룹의 식별 정보를 이용하여 외부 기기(10)의 권한을 검증할 수 있다(S430). 구체적으로, 제1 검증 서버(130)는 기기 권한 목록(250)에 상기한 그룹의 식별 정보가 포함되어 있는지 여부를 판단한다. 그룹의 식별 정보가 기기 권한 목록(250)에 포함되지 않는 경우, 제1 검증 서버(130)는 요청이 실패되었음을 알리는 응답 메시지를 인터페이스 서버(120)에 전송하고, 인터페이스는 상기한 메시지를 외부 기기(10)에 전송할 수 있다(S440). The first verification server 130 may verify the authority of the external device 10 using the group identification information (S430). Specifically, the first verification server 130 determines whether the identification information of the group is included in the device permission list 250 . If the group identification information is not included in the device permission list 250, the first verification server 130 transmits a response message indicating that the request has failed to the interface server 120, and the interface sends the above message to the external device. It can be transmitted to (10) (S440).

그룹의 식별 정보가 기기 권한 목록(250)에 포함되어 있는 경우, 제1 검증 서버(130)는 기기 권한 목록(250)으로부터 그룹의 식별 정보에 대응하는 권한의 식별 정보를 획득한다. 그리고, 권한 목록(260)을 이용하여 상기한 권한의 식별 정보에 대응하는 권한 내용(즉, 권한명 및 설명)을 획득한 후, 외부 기기(10)의 권한을 검증할 수 있다. 즉, 외부 기기(10)의 요청 메시지가 외부 기기(10)의 권한에 부합하는지 판단할 수 있다. When the group identification information is included in the device permission list 250 , the first verification server 130 acquires permission identification information corresponding to the group identification information from the device permission list 250 . In addition, after obtaining permission contents (ie, permission name and description) corresponding to the identification information of the permission using the permission list 260 , the permission of the external device 10 may be verified. That is, it may be determined whether the request message of the external device 10 conforms to the authority of the external device 10 .

권한의 내용로서, 예를 들어, 인증서 발급을 허용하는 권한, 인증서 주입을 허용하는 권한, 인증서 삭제를 허용하는 권한, 인증서 사용(전자서명 생성 및 암호화 또는 복호화)을 허용하는 권한 등을 포함할 수 있다. 상기와 같이, 외부 기기(10)별로 권한이 나누어 관리하는 이유는 “전자서명 예약 서비스 서버는 전자서명 생성 권한만 가져야 하고, 인증서 발급/주입, 삭제 권한을 가지지 않도록 하여 해당 서버를 통한 악의적인 전자서명 서비스 이용을 방지하기 위함이다. As the content of the authority, it may include, for example, a right to allow the issuance of a certificate, a right to allow certificate injection, a right to allow deletion of a certificate, a right to allow the use of the certificate (creation of digital signature and encryption or decryption), etc. have. As described above, the reason for dividing the authority for each external device 10 is “The digital signature reservation service server must have only the right to create a digital signature, and not to have the right to issue/inject or delete the certificate, so that malicious electronic This is to prevent the use of the signature service.

요청 메시지가 상기한 권한 내용에 부합하지 않으면(S430-Yes), 제1 검증 서버(130)는 인터페이스 서버(120)를 통해 외부 기기(10)에 요청이 실패되어 있음 알리는 응답 메시지를 전송한다(S440). 예를 들어, 요청 메시지에는 인증서의 삭제를 포함하나, 그룹의 식별 정보에 대응하는 권한은 인증서의 저장만인 경우, 제1 검증 서버(130)는 요청 메시지는 외부 기기(10)의 권한에 부합하지 않다고 판단할 수 있다. If the request message does not conform to the permission contents (S430-Yes), the first verification server 130 transmits a response message informing the external device 10 that the request has failed through the interface server 120 ( S440). For example, if the request message includes deletion of the certificate, but the authority corresponding to the group identification information is only the storage of the certificate, the first verification server 130 determines that the request message corresponds to the authority of the external device 10 . It can be concluded that it does not.

그러나, 요청 메시지가 상기한 권한에 부합하면(S430-Yes), 제1 검증 서버(130)는 기기 권한 목록(250)으로부터 그룹의 식별 정보에 대응하는 파티션의 식별 정보를 획득하고(S450), 요청 메시지와 함께 파티션의 식별 정보를 제2 검증 서버(140)에 전송한다(S460). However, if the request message meets the above authority (S430-Yes), the first verification server 130 obtains the identification information of the partition corresponding to the identification information of the group from the device authority list 250 (S450), The partition identification information is transmitted along with the request message to the second verification server 140 (S460).

제2 검증 서버(140)는 요청 메시지에 대응하는 인증서를 이용하여 인증서의 권한을 검증할 수 있다(S470). 예를 들어, 요청 메시지에 포함된 인증서가 포함된 경우, 인증서를 파싱(Parsing)하여 인증서 정책 필드를 획득할 수 있다. 인증서 정책은 인증서 발급기관(CA)이 인증서 발급시 부여하며, OID(Object ID) 형식으로 그 값을 가질 수 있다. 상기한 인증서 정책에는 인증서 발급 기관 정보(예를 들어, 금융결제원, 한국정보검증, 코스콤, 한국무역정보통신, 한국전자검증, 이니텍 등) 인증서 용도(예를 들어, 은행/보험용, 전자세금계산서발행용, 증권/보험용, 범용 등), 인증서 대상(예를 들어, 개인 대상 또는 사업자 대상)을 포함할 수 있다. The second verification server 140 may verify the authority of the certificate by using the certificate corresponding to the request message (S470). For example, when a certificate included in the request message is included, the certificate policy field may be obtained by parsing the certificate. The certificate policy is given by the certificate issuing authority (CA) when issuing a certificate, and may have a value in the form of an object ID (OID). The above certificate policy includes information on the certificate issuing institution (eg, Korea Financial Telecommunications and Clearings Institute, Korea Information Verification, Koscom, Korea Trade Information and Communication, Korea Electronic Verification, Initech, etc.) For issuance, securities/insurance, general purpose, etc.), and may include a subject for a certificate (eg, for an individual or for a business entity).

제2 검증 서버(140)는 상기한 정보를 이용하여 인증서 정책 목록(230)으로부터 인증서 정책의 식별정보를 획득하고, 인증서 권한 목록(220)으로부터 상기한 인증서 정책의 식별 정보에 대응하는 파티션의 식별 정보를 획득할 수 있다. The second verification server 140 obtains identification information of the certificate policy from the certificate policy list 230 by using the above information, and identifies a partition corresponding to the identification information of the certificate policy from the certificate authority list 220 information can be obtained.

인증서 권한 목록(220)으로부터 획득된 파티션의 식별 정보와 제1 검증 서버(130)로부터 수신된 파티션의 식별 정보가 일치하면, 제2 검증 서버(140)는 인증서의 검증이 성공하였다고 결정할 수 있다. 그리고, 요청 메시지에 대응하는 다음 단계를 수행할 수 있다(ㄴ490). If the identification information of the partition obtained from the certificate authority list 220 matches the identification information of the partition received from the first verification server 130 , the second verification server 140 may determine that the verification of the certificate is successful. Then, the next step corresponding to the request message may be performed (b490).

그러나, 인증서 권한 목록(220)으로부터 획득된 파티션의 식별 정보와 제1 검증 서버(130)로부터 수신된 파티션의 식별 정보가 일치하지 않으면(S470-No), 제2 검증 서버(140)는 인증서의 검증이 실패하였다고 결정할 수 있다. 그 결과를 제1 검증 서버(130), 인터페이스 서버(120)를 통해 외부 기기(10)에 전송할 수 있다(S480). However, if the identification information of the partition obtained from the certificate authority list 220 and the identification information of the partition received from the first verification server 130 do not match (S470-No), the second verification server 140 of the certificate It can be determined that the verification has failed. The result may be transmitted to the external device 10 through the first verification server 130 and the interface server 120 (S480).

다음은 구체적으로, 상기한 요청이 인증서 저장인 경우, 인증서 관리 시스템(100)이 동작하는 방법을 설명한다. The following will specifically describe how the certificate management system 100 operates when the above request is certificate storage.

도 5는 일 실시예에 따른 인증서 관리 시스템(100)이 인증서를 저장하는 방법을 설명하는 흐름도이다. 5 is a flowchart illustrating a method for the certificate management system 100 to store a certificate according to an embodiment.

외부 기기(10)가 등록된 외부 기기(10)인 경우, 인터페이스 서버(120)는 접속을 허용하는 응답 메시지를 생성하여 외부 기기(10)에 전송할 수 있다. When the external device 10 is the registered external device 10 , the interface server 120 may generate a response message allowing access and transmit it to the external device 10 .

외부 기기(10)는 제1 난수를 생성할 수 있다(S510). 상기 제1 난수는 외부 기기(10)에 의해 랜덤으로 생성되는 숫자 배열을 의미한다. 외부 기기(10)는 세션 생성을 요청하는 세션 요청 메시지를 생성하여 인증서 관리 시스템(100)에 전송한다.The external device 10 may generate a first random number (S510). The first random number means an array of numbers randomly generated by the external device 10 . The external device 10 generates a session request message for requesting session creation and transmits it to the certificate management system 100 .

인터페이스 서버(120)는 세션 요청 메시지에 응답하여 제2 난수를 생성할 수 있다(S515). 상기한 제2 난수는 인터페이스 서버(120)에 의해 랜덤으로 생성되는 숫자 배열을 의미할 수 있다. The interface server 120 may generate a second random number in response to the session request message (S515). The second random number may mean an array of numbers randomly generated by the interface server 120 .

인터페이스 서버(120)은 제1 및 제2 난수를 이용하여 세션키를 생성할 수 있다(S520). 예를 들어, 인터페이스 서버(120)는 제2 난수의 해시값을 제1 난수를 첫 번째 바이트(LSB)부터 마지막 바이트(MSB)까지 배타적인 논리합(XOR)한 결과값 만큼 반복 수행하여 해시랜덤(hRandom)을 생성할 수 있다. 또한, 인터페이스 서버(120), 인증서 소유자 정보의 해시값과 기저장된 마스터키를 암호화하여 유도키를 생성하고, 해시랜덤(hRandom)과 유도키를 암호화하여 세션키를 생성할 수 있다. 여기서 인증서 소유자 정보는 외부 기기(10)에 저장된 정보로서 인증서 정보와 함께 인증서 관리 시스템(100)에 저장될 수 있다. The interface server 120 may generate a session key using the first and second random numbers (S520). For example, the interface server 120 repeats the hash value of the second random number as much as the result of the exclusive OR (XOR) of the first random number from the first byte (LSB) to the last byte (MSB). hRandom) can be created. In addition, the interface server 120 may generate a derivation key by encrypting a hash value of certificate owner information and a pre-stored master key, and may generate a session key by encrypting a hash random (hRandom) and the derivation key. Here, the certificate owner information is information stored in the external device 10 and may be stored in the certificate management system 100 together with the certificate information.

인터페이스 서버(120)는 세션키의 생성을 완료하였음을 알리는 세션 응답 메시지를 생성하여 인터페이스 서버(120)를 통해 외부 기기(10)에 전송할 수 있다. 상기한 세션 응답 메시지에는 제1 검증 서버(130)가 생성한 제2 난수가 포함될 수 있다. The interface server 120 may generate a session response message informing that generation of the session key is completed and transmit it to the external device 10 through the interface server 120 . The session response message may include a second random number generated by the first verification server 130 .

외부 기기(10)도 제1 난수 및 제2 난수를 이용하여 세션키를 생성할 수 있다(S525). 세션키 생성 방법은 인터페이스 서버(120)가 세션키를 생성하는 방법과 동일하다. 이와 같이, 외부 기기(10) 및 인터페이스 서버(120) 각각이 세션키를 생성함으로써 해킹의 위험을 방지할 수 있다. The external device 10 may also generate a session key using the first random number and the second random number (S525). The method of generating the session key is the same as the method of generating the session key by the interface server 120 . In this way, the external device 10 and the interface server 120 each generate a session key, thereby preventing the risk of hacking.

외부 기기(10)는 인증서 및 개인키를 암호화할 수 있다(S530). 인증서 및 개인키를 암호화할 때 외부 기기(10)는 세션키를 이용할 수 있다. 여기서 인증서 및 개인키는 외부 기기(10)가 기획득한 정보일 수 있다. The external device 10 may encrypt the certificate and the private key (S530). When encrypting the certificate and the private key, the external device 10 may use the session key. Here, the certificate and the private key may be information acquired by the external device 10 .

또한, 외부 기기(10)는 세션키를 이용하여 인증 데이터를 생성할 수 있다(S535). 외부 기기(10)는 외부 기기(10)의 식별 정보 및 세션키를 암호화하여 임시키(Temporary Key)를 생성할 수 있다. 여기서 외부 기기(10)의 식별 정보는 제1 검증 서버(130)가 외부 기기(10)를 인식할 수 있도록 사전에 등록된 외부 기기(10)의 네트워크 정보, 예를 들어, 외부 기기(10)의 IP 주소, MAC 주소 등일 수 있다. 그리고, 요청 전문과 TK를 암호화하여 인증 데이터를 생성할 수 있다. 상기한 요청 전문은 인증서와 관련하여 인증서 관리 시스템(100)에 요청하는 내용이다. 상기한 요청 전문에는 인증서와 개인키가 포함될 수 있다. Also, the external device 10 may generate authentication data using the session key (S535). The external device 10 may generate a temporary key by encrypting the identification information and the session key of the external device 10 . Here, the identification information of the external device 10 is network information of the external device 10 registered in advance so that the first verification server 130 can recognize the external device 10 , for example, the external device 10 . of IP address, MAC address, etc. In addition, authentication data can be generated by encrypting the full request message and the TK. The full text of the request is a request to the certificate management system 100 in relation to the certificate. The request message may include a certificate and a private key.

외부 기기(10)는 인증서 및 개인키를 저장할 것을 요청하는 저장 요청 메시지를 인터페이스 서버(120)에 전송할 수 있다. 상기한 저장 요청 메시지에는 요청 전문, 외부 기기(10)의 식별 정보, 인증 데이터 등이 포함될 수 있다. The external device 10 may transmit a storage request message requesting to store the certificate and the private key to the interface server 120 . The storage request message may include a full request message, identification information of the external device 10, authentication data, and the like.

인터페이스 서버(120)는 상기한 저장 요청 메시지를 제1 검증 서버(130)에 전송할 수 있다. 한편, 인터페이스 서버(120)가 저장 요청 메시지를 제1 검증 서버(130)에 전송할 때, 도 4에서 설명한 바와 같이 외부 기기(10)에 대한 그룹의 식별 정보를 획득하고, 상기한 그룹의 식별 정보도 함께 제1 검증 서버(130)에 전송할 수 있다. 뿐만 아니라, 인터페이스 서버(120)가 생성한 세션키도 제1 검증 서버(130)에 전송될 수 있다. The interface server 120 may transmit the above-described storage request message to the first verification server 130 . Meanwhile, when the interface server 120 transmits the storage request message to the first verification server 130 , as described in FIG. 4 , group identification information for the external device 10 is acquired, and the group identification information may also be transmitted to the first verification server 130 . In addition, the session key generated by the interface server 120 may also be transmitted to the first verification server 130 .

제1 검증 서버(130)는 수신된 인증 데이터를 검증할 수 있다(S540). 제1 검증 서버(130)는 저장 요청 메시지에 포함된 외부 기기(10)의 식별 정보 및 세션키를 암호화하여 임시키를 생성할 수 있다. 여기서 외부 기기(10)의 식별 정보는 제1 검증 서버(130)가 외부 기기(10)를 인식할 수 있도록 사전에 그리고, 저장 요청 메시지에 포함된 요청 전문과 TK를 암호화하여 인증 데이터를 생성할 수 있다. 제1 검증 서버(130)는 생성된 인증 데이터와 저장 요청 메시지에 포함된 인증 데이터의 동일 여부를 인증 데이터를 검증할 수 있다. 생성된 인증 데이터와 저장 요청 메시지에 포함된 인증 데이터가 동일하면 수신된 저장 요청 메시지는 정당한 메시지로 결정할 수 있다. The first verification server 130 may verify the received authentication data (S540). The first verification server 130 may generate a temporary key by encrypting the identification information and the session key of the external device 10 included in the storage request message. Here, the identification information of the external device 10 is generated in advance so that the first verification server 130 can recognize the external device 10, and by encrypting the request message and TK included in the storage request message to generate authentication data. can The first verification server 130 may verify the authentication data whether the generated authentication data and the authentication data included in the storage request message are the same. If the generated authentication data and the authentication data included in the storage request message are the same, the received storage request message may be determined as a legitimate message.

그리고, 제1 검증 서버(130)는 외부 기기(10)의 권한을 검증할 수 있다(S545). 즉, 제1 검증 서버(130)는 외부 기기(10)가 상기한 저장 요청 메시지를 전송할 권한이 있는지 여부를 확인할 수 있다. 제1 검증 서버(130)는 권한 관리 테이블(200)을 이용하여 외부 기기(10)가 인증서 저장 권한을 갖는지 확인할 수 있다. 이는 도 4의 S430에서 설명하였는바, 구체적인 설명은 생략한다. Then, the first verification server 130 may verify the authority of the external device 10 (S545). That is, the first verification server 130 may check whether the external device 10 has the authority to transmit the above-described storage request message. The first verification server 130 may check whether the external device 10 has the authority to store the certificate by using the authority management table 200 . This has been described in S430 of FIG. 4, and a detailed description thereof will be omitted.

저장 권한 있는 것으로 확인되면, 제1 검증 서버(130)는 저장 요청 메시지를 제2 검증 서버(140)에 전송할 수 있다. 이때, 제1 검증 서버(130)는 도 4의 S450에서 설명한 바와 같이, 파티션의 식별 정보를 획득하여 함께 제2 검증 서버(140)에 전송할 수 있다. 또한, 제1 검증 서버(130)는 제1 검증 서버(130)가 생성한 세션키도 제2 검증 서버(140)에 전송할 수 있다. If it is confirmed that the storage is authorized, the first verification server 130 may transmit a storage request message to the second verification server 140 . In this case, as described in S450 of FIG. 4 , the first verification server 130 may acquire identification information of the partition and transmit it to the second verification server 140 together. Also, the first verification server 130 may transmit the session key generated by the first verification server 130 to the second verification server 140 .

제2 검증 서버(140)는 저장 요청 메시지에 포함된 인증서 및 개인키를 복호화할 수 있다(S550). 제2 검증 서버(140)는 제1 검증 서버(130)가 생성한 세션키를 이용하여 암호화된 개인키 및 인증서를 복호화하여 개인키 데이터를 획득하고, 제1 검증 서버(130)의 세션키를 이용하여 암호된 개인키 및 인증서를 복호화할 수 있다. The second verification server 140 may decrypt the certificate and the private key included in the storage request message (S550). The second verification server 140 decrypts the encrypted private key and certificate using the session key generated by the first verification server 130 to obtain private key data, and the session key of the first verification server 130 can be used to decrypt the encrypted private key and certificate.

그리고, 제2 검증 서버(140)는 복호화된 인증서의 권한을 검증할 수 있다(S555). 도 4의 S470에서 인증서의 권한을 검증하는 방법에 대해 설명하였는 바, 구체적인 설명은 생략한다. Then, the second verification server 140 may verify the authority of the decrypted certificate (S555). Since the method of verifying the authority of the certificate has been described in S470 of FIG. 4 , a detailed description thereof will be omitted.

인증서의 권한이 성공적으로 검증되면, 제2 검증 서버(140)는 파티션 목록(210)에 포함된 하드웨어 보안 모듈(160)의 식별 정보에 대응하는 하드웨어 보안 모듈(160)에 개인키의 저장을 요청하고, 그에 따라 상기한 하드웨어 보안 모듈(160)은 개인키를 저장한다(S560). When the authority of the certificate is successfully verified, the second verification server 140 requests storage of the private key from the hardware security module 160 corresponding to the identification information of the hardware security module 160 included in the partition list 210 . and, accordingly, the hardware security module 160 stores the private key (S560).

그리고, 제2 검증 서버(140)는 파티션 목록(210)에 포함된 데이터베이스(150)의 식별 정보에 대응하는 데이터베이스(150)에 인증서의 저장을 요청하고, 그에 따라 데이터베이스(150)은 인증서를 저장한다(S565)Then, the second verification server 140 requests storage of the certificate in the database 150 corresponding to the identification information of the database 150 included in the partition list 210, and the database 150 stores the certificate accordingly. Do (S565)

다음은 전자 서명을 생성하는 방법을 설명한다. 도 6은 일 실시예에 따른 인증서 관리 시스템이 전자 서명을 생성하는 방법을 설명하는 흐름도이다. 도 6을 참조하면, 외부 기기(10)가 접속을 요청하면 인터페이스 서버(120)는 외부기기 목록(240)을 이용하여 외부 기기(10)가 접근 가능한 기기인지 여부를 판단하고 그 결과를 외부 기기(10)에 전송한다. The following describes how to generate an electronic signature. 6 is a flowchart illustrating a method for generating an electronic signature by a certificate management system according to an embodiment. Referring to FIG. 6 , when the external device 10 requests access, the interface server 120 determines whether the external device 10 is an accessible device using the external device list 240 , and returns the result to the external device. (10) to transmit.

그리고, 외부 기기(10)는 제1 난수를 생성하고(S610), 세션 생성을 요청하는 세션 요청 메시지를 인터페이스 서버(120)에 전송할 수 있다. Then, the external device 10 may generate a first random number ( S610 ) and transmit a session request message for requesting the creation of a session to the interface server 120 .

인터페이스 서버(120)는 세션 요청 메시지에 응답하여 제2 난수를 생성할 수 있다(S615). 인터페이스 서버(120)는 제1 난수 및 제2 난수를 기초로 세션키를 생성한 후 그 결과를 외부 기기(10)에 전송할 수 있다(S620). The interface server 120 may generate a second random number in response to the session request message (S615). The interface server 120 may generate a session key based on the first random number and the second random number, and then transmit the result to the external device 10 ( S620 ).

외부 기기(10)도 제1 난수 및 제2 난수를 이용하여 세션키를 생성할 수 있다(S625). 세션키 생성 방법은 도 5에서 설명하였는 바, 구체적인 설명은 생략한다. 또한, 외부 기기(10)는 인증 데이터도 생성한다(S630). 인증 데이터 생성 방법도 도 5에서 설명하였는 바, 구체적인 설명은 생략한다. The external device 10 may also generate a session key using the first random number and the second random number (S625). The method of generating the session key has been described with reference to FIG. 5, and a detailed description thereof will be omitted. In addition, the external device 10 also generates authentication data (S630). Since the authentication data generation method has also been described with reference to FIG. 5 , a detailed description thereof will be omitted.

한편, 외부 기기(10)는 전자 서명문의 해시값을 암호화할 수 있다(S635). 외부 기기(10)는 전자 서명문의 해시값을 세션키를 이용하여 암호화할 수 있다. 그리고, 전자 서명문의 해시값, 인증 데이터를 포함한 서명 요청 메시지를 생성하여 인터페이스 서버(120)를 통해 제1 검증 서버(130)에 전송할 수 있다. 인터페이스 서버(120)가 제1 검증 서버(130)에 상기한 서명 요청 메시지를 전송할 때, 도 4의 S410에서 설명한 바와 같이 외부 기기(10)에 대한 그룹의 식별 정보도 함께 전송할 수 있다. Meanwhile, the external device 10 may encrypt the hash value of the electronic signature (S635). The external device 10 may encrypt the hash value of the digital signature using the session key. In addition, a signature request message including a hash value of the electronic signature and authentication data may be generated and transmitted to the first verification server 130 through the interface server 120 . When the interface server 120 transmits the signature request message to the first verification server 130 , as described in S410 of FIG. 4 , group identification information for the external device 10 may also be transmitted.

제1 검증 서버(130)는 인증 데이터를 검증하고(S640), 권한 관리 테이블(200)을 이용하여 외부 기기(10)의 권한을 검증할 수 있다(S645). 외부 기기(10)의 권한 검증 방법은 도 4의 S430에서 설명하였다. The first verification server 130 verifies the authentication data (S640) and verifies the authority of the external device 10 using the authority management table 200 (S645). The method of verifying the authority of the external device 10 has been described in S430 of FIG. 4 .

외부 기기(10)의 권한이 성공적으로 검증되면, 제1 검증 서버(130)는 제2 검증 서버(140)에 전자 서명 생성 요청 메시지를 전달할 수 있다. 이때, 제1 검증 서버(130)는 도 4의 S450에서 설명한 바와 같이, 파티션의 식별 정보를 획득하여 함께 제2 검증 서버(140)에 전송할 수 있다. 또한, 인터페이스 서버(120)가 생성한 세션키도 제1 검증 서버(130)를 통해 제2 검증 서버(140)에 전송될 수 있다. When the authority of the external device 10 is successfully verified, the first verification server 130 may transmit a digital signature generation request message to the second verification server 140 . In this case, as described in S450 of FIG. 4 , the first verification server 130 may acquire identification information of the partition and transmit it to the second verification server 140 together. In addition, the session key generated by the interface server 120 may also be transmitted to the second verification server 140 through the first verification server 130 .

제2 검증 서버(140)는 파티션의 식별 정보를 이용하여 데이터베이스(150)로부터 인증서를 획득할 수 있다(S650). 구체적으로, 제1 검증 서버(130)로부터 파티션의 식별 정보를 수신받으면, 제2 검증 서버(140)는 파티션 목록(210)으로부터 상기한 파티션의 식별 정보에 대응하는 데이터베이스(150)의 식별 정보를 획득한다. 그리고, 상기한 데이터베이스(150)의 식별 정보에 대응하는 데이터베이스(150)로부터 인증서를 획득할 수 있다. The second verification server 140 may obtain a certificate from the database 150 using the partition identification information (S650). Specifically, when receiving the identification information of the partition from the first verification server 130, the second verification server 140 receives the identification information of the database 150 corresponding to the identification information of the partition from the partition list 210. acquire Then, a certificate may be obtained from the database 150 corresponding to the identification information of the database 150 .

그리고, 제2 검증 서버(140)는 획득된 인증서의 권한을 검증할 수 있다(S655). 인증서의 권한 검증 방법은 도 4의 S470에서 설명하였는 바, 구체적인 방법을 생략한다. Then, the second verification server 140 may verify the authority of the obtained certificate (S655). Since the method of verifying the authority of the certificate has been described in S470 of FIG. 4 , the detailed method is omitted.

인증서의 권한이 성공적으로 검증되면, 제2 검증 서버(140)는 암호화된 전자 서명문의 해시값을 복호화할 수 있다(S660). When the authority of the certificate is successfully verified, the second verification server 140 may decrypt the hash value of the encrypted digital signature (S660).

제2 검증 서버(140)는 하드웨어 보안 모듈(160)에 전자 서명문의 해시값과 함께 전자 서명을 요청할 수 있고, 하드웨어 보안 모듈(160)은 기저장된 개인키를 이용하여 전자 서명을 생성한다(S665). 그리고, 그 결과를 제2 검증 서버(140)에 전송할 수 있다. 생성된 전자 서명은 제1 검증 서버(130) 및 인터페이스 서버(120)를 통해 외부기기로 전송될 수 있다.The second verification server 140 may request an electronic signature along with a hash value of the electronic signature from the hardware security module 160, and the hardware security module 160 generates an electronic signature using a pre-stored private key (S665). ). Then, the result may be transmitted to the second verification server 140 . The generated electronic signature may be transmitted to an external device through the first verification server 130 and the interface server 120 .

상기와 같이, 외부 기기(10)의 접속 여부를 관리하는 서버, 외부 기기(10)의 권한을 권리하는 서버, 인증서의 권한을 관리하는 서버 및 전자 서명을 수행하는 모듈이 각각 별도로 구비하고, 각 서버들은 권한 관리 테이블(200)로 연계되어 있기 때문에 인증서 관리의 보안이 강화될 수 있다. As described above, the server for managing whether the external device 10 is connected or not, the server for righting the authority of the external device 10, the server for managing the authority of the certificate, and the module for performing the electronic signature are separately provided, each Since the servers are linked to the authority management table 200 , the security of certificate management can be enhanced.

또한, SaaS(Software as a Service) 형태로 전자서명 서비스 시스템(100)을 구축하고, 하나의 전자서명 서비스 시스템(100)으로 다수의 회원관리 시스템(100)과 연동하는 서비스 제공이 가능해진다. In addition, by building the electronic signature service system 100 in the form of SaaS (Software as a Service), it is possible to provide a service that interworks with a plurality of member management systems 100 with one electronic signature service system 100 .

뿐만 아니라, 외부 시스템(100) 서버로 스케줄링 시스템(100) 서버가 되어 연동 된다면 인증서 소유자의 검증은 사전에 별도로 획득하고 전자서명 생성은 추후 원하는 시간에 이루어지는 전자서명 예약 서비스 제공이 가능해질 수도 있고, 인증서 소유자의 검증은 1회만 수행하고 대량의 전자서명을 서버 간 연동에 의해 생성하는 일괄 전자서명 생성 서비스 제공도 가능해 질 수 있다.In addition, if the scheduling system 100 server is interlocked with the external system 100 server, the verification of the certificate owner is separately obtained in advance, and the electronic signature reservation service can be provided in which the electronic signature is generated at a desired time later, It may also become possible to provide a batch digital signature generation service that verifies the certificate holder only once and generates a large number of digital signatures by interworking between servers.

이제까지 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.So far, the preferred embodiments have been mainly looked at. Those of ordinary skill in the art to which the present invention pertains will understand that the present invention can be implemented in a modified form without departing from the essential characteristics of the present invention. Therefore, the disclosed embodiments are to be considered in an illustrative rather than a restrictive sense. The scope of the present invention is indicated in the claims rather than the foregoing description, and all differences within the scope equivalent thereto should be construed as being included in the present invention.

10: 외부 기기
100: 전자 서명 서비스 시스템
110: 관리 서버
120: 인터페이스 서버
130: 제1 검증 서버
140: 제2 검증 서버
150: 데이터베이스
160: 하드웨어 보안 모듈
10: external device
100: electronic signature service system
110: management server
120: interface server
130: first verification server
140: second verification server
150: database
160: hardware security module

Claims (13)

전자 서명 서비스 시스템에 있어서,
권한 관리 테이블을 제공하는 관리 서버;
상기 권한 관리 테이블을 이용하여 외부 기기의 접속 허용 여부를 결정하는 인터페이스 서버;
상기 권한 관리 테이블을 이용하여 상기 외부 기기의 권한을 검증하는 제1 검증 서버; 및
상기 권한 관리 테이블을 이용하여 상기 외부 기기의 요청에 대응하는 인증서의 권한을 검증하는 제2 검증 서버;를 포함하고,
상기 권한 관리 테이블은,
외부 기기의 식별 정보 및 상기 외부 기기에 대한 그룹의 식별 정보를 포함하는 기기 목록, 상기 외부 기기에 대한 권한의 식별 정보가 포함된 기기 권한 목록, 상기 외부 기기에 대한 권한의 상세 정보가 포함된 권한 목록, 상기 인증서의 권한에 대한 정보가 포함된 인증서 권한 목록, 상기 인증서의 정책에 대한 정보가 포함된 인증서 정책 목록, 상기 인증서가 저장될 데이터베이스에 대한 정보 및 개인키가 저장될 하드웨어 보안 모듈에 대한 정보가 포함된 파티션 목록이 메타 데이터 형식으로 연결되고,
상기 관리 서버는,
상기 인터페이스 서버에 상기 기기 목록만을 제공하고,
상기 제1 검증 서버에 상기 기기 권한 목록 및 권한 목록만을 제공하며,
상기 제2 검증 서버에 인증서 정책 목록, 인증서 권한 목록 및 상기 파티션 목록만을 제공하는 전자 서명 서비스 시스템.
In the electronic signature service system,
a management server that provides an authority management table;
an interface server that determines whether to allow access of an external device by using the authority management table;
a first verification server that verifies the authority of the external device using the authority management table; and
a second verification server that verifies the authority of the certificate corresponding to the request of the external device using the authority management table;
The authority management table is
A device list including identification information of an external device and group identification information for the external device, a device permission list including identification information of a permission for the external device, and a permission including detailed information on the permission for the external device A list, a certificate authority list including information about the authority of the certificate, a certificate policy list including information about the policy of the certificate, information about a database in which the certificate is to be stored, and a hardware security module in which the private key will be stored A list of partitions with information is concatenated in the form of metadata;
The management server,
providing only the device list to the interface server;
providing only the device permission list and the permission list to the first verification server,
An electronic signature service system that provides only the certificate policy list, the certificate authority list, and the partition list to the second verification server.
삭제delete 제 1항에 있어서,
상기 기기 목록은,
상기 외부 기기의 식별 정보 별로 상기 그룹의 식별 정보가 매칭되어 있으며, 상기 그룹의 식별 정보를 기초로 상기 기기 권한 목록과 연결되어 있는 전자 서명 서비스 시스템.
The method of claim 1,
The device list is
The identification information of the group is matched for each identification information of the external device, and the electronic signature service system is connected to the device authority list based on the identification information of the group.
제 1항에 있어서,
상기 기기 권한 목록은
상기 그룹의 식별 정보 별로 상기 권한의 식별 정보가 매칭되어 있고,
상기 권한의 식별 정보를 기초로 상기 권한 목록과 연결되어 있는 전자 서명 서비스 시스템.
The method of claim 1,
The device permission list is
The identification information of the authority is matched for each identification information of the group,
An electronic signature service system that is connected to the list of rights based on the identification information of the rights.
제 1항에 있어서,
상기 기기 권한 목록은,
상기 그룹의 식별 정보별로 파티션의 식별 정보가 매칭되어 있고,
상기 파티션의 식별 정보를 기초로 상기 파티션 목록과 연결되어 있는 전자 서명 서비스 시스템.
The method of claim 1,
The device permission list is
The identification information of the partition is matched for each identification information of the group,
An electronic signature service system connected to the partition list based on the identification information of the partition.
제 5항에 있어서,
상기 인증서 권한 목록은,
상기 인증서 정책의 식별 정보별로 파티션의 식별 정보가 매칭되어 있고, 상기 파티션의 식별 정보를 기초로 상기 파티션 목록과 연결되어 있는 전자 서명 서비스 시스템.
6. The method of claim 5,
The certificate authority list is
The identification information of the partition is matched for each identification information of the certificate policy, and the electronic signature service system is connected to the partition list based on the identification information of the partition.
제 1항에 있어서,
상기 외부 기기로부터 인증서 관련 요청을 수신받으면, 상기 인터페이스 서버는 상기 기기 목록으로부터 상기 외부 기기에 대응하는 그룹의 식별 정보를 획득하여 상기 제1 검증 서버에 전송하고,
상기 제1 검증 서버는, 상기 기기 권한 목록으로부터 상기 그룹의 식별 정보에 대응하는 권한의 식별 정보를 획득하고,
상기 권한 목록으로부터 상기 권한의 식별 정보에 대응하는 권한의 상세 정보를 획득하여 상기 외부 기기가 상기 인증서 관련 요청을 할 수 있는 외부 기기인지 검증하는 전자 서명 서비스 시스템.
The method of claim 1,
When receiving a certificate related request from the external device, the interface server obtains identification information of a group corresponding to the external device from the device list and transmits it to the first verification server,
The first verification server obtains, from the device permission list, identification information of a right corresponding to the identification information of the group,
An electronic signature service system for verifying whether the external device is an external device capable of making a request related to the certificate by obtaining detailed information of the authority corresponding to the identification information of the authority from the authority list.
제 7항에 있어서,
상기 제1 검증 서버는,
상기 외부 기기의 검증이 완료되면, 상기 기기 권한 목록으로부터 상기 그룹의 식별 정보에 대응하는 파티션을 식별 정보를 획득하여 상기 인증서 관련 요청과 함께 상기 파티션의 식별 정보를 상기 제2 검증 서버에 전송하는 전자 서명 서비스 시스템.
8. The method of claim 7,
The first verification server,
When the verification of the external device is completed, the electronic device for acquiring identification information on the partition corresponding to the identification information of the group from the device permission list and transmitting the identification information of the partition together with the certificate-related request to the second verification server Signature service system.
제 8항에 있어서,
상기 제2 검증 서버는
상기 인증서 관련 요청이 인증서 및 개인키의 저장인 경우,
상기 인증서 정책 목록을 이용하여 상기 인증서에 대한 인증서 정책의 식별 정보를 획득하고,
상기 인증서 권한 목록으로부터 상기 인증서 정책의 식별 정보에 대응하는 파티션의 식별 정보를 획득하며, 상기 획득된 파티션의 식별 정보가 상기 제1 검증 서버로부터 수신된 파티션의 식별 정보와 비교함으로써 상기 인증서를 검증하는 전자 서명 서비스 시스템.
9. The method of claim 8,
The second verification server is
When the certificate-related request is the storage of a certificate and a private key,
Acquire identification information of a certificate policy for the certificate by using the certificate policy list,
Obtaining identification information of a partition corresponding to the identification information of the certificate policy from the certificate authority list, and verifying the certificate by comparing the obtained identification information of the partition with identification information of the partition received from the first verification server Electronic signature service system.
제 9항에 있어서,
상기 제2 검증 서버는,
상기 인증서의 검증이 완료되면, 상기 파티션 목록으로부터 상기 파티션의 식별 정보에 대응하는 데이터베이스의 식별 정보를 획득하고, 상기 데이터베이스의 식별 정보에 대응하는 데이터베이스에 상기 인증서를 저장하며,
상기 파티션 목록으로부터 상기 파티션의 식별 정보에 대응하는 하드웨어 보안 모듈의 식별 정보를 획득하고, 상기 하드웨어 보안 모듈의 식별 정보에 대응하는 하드웨어 보안 모듈에 상기 개인키의 저장을 요청하는 전자 서명 서비스 시스템.
10. The method of claim 9,
The second verification server,
When verification of the certificate is completed, obtain identification information of a database corresponding to identification information of the partition from the partition list, and store the certificate in a database corresponding to identification information of the database;
Obtaining identification information of a hardware security module corresponding to identification information of the partition from the partition list, and requesting storage of the private key to a hardware security module corresponding to identification information of the hardware security module.
제 8항에 있어서,
상기 제2 검증 서버는
상기 인증서 관련 요청이 전자 서명인 경우,
상기 파티션 목록으로부터 상기 파티션의 식별 정보에 대응하는 데이터베이스의 식별 정보를 획득하고, 상기 획득된 데이터베이스의 식별 정보에 대응하는 데이터베이스로부터 인증서를 획득하고,
상기 인증서 정책 목록을 이용하여 상기 인증서에 대한 인증서 정책의 식별 정보를 획득하고,
상기 인증서 권한 목록으로부터 상기 인증서 정책의 식별 정보에 대응하는 권한의 상세 정보를 확인함으로써 상기 인증서를 검증하는 전자 서명 서비스 시스템.
9. The method of claim 8,
The second verification server is
If the above certificate-related request is an electronic signature,
Obtaining identification information of a database corresponding to the identification information of the partition from the partition list, obtaining a certificate from the database corresponding to the obtained identification information of the database,
Acquire identification information of a certificate policy for the certificate by using the certificate policy list,
The electronic signature service system for verifying the certificate by checking detailed information of the authority corresponding to the identification information of the certificate policy from the certificate authority list.
제 11항에 있어서,
상기 제2 검증 서버는,
상기 인증서의 검증이 완료되면, 상기 파티션 목록으로부터 상기 파티션의 식별 정보에 대응하는 하드웨어 보안 모듈의 식별 정보를 획득하고, 상기 하드웨어 보안 모듈의 식별 정보에 대응하는 하드웨어 보안 모듈에 상기 전자 서명을 요청하는 전자 서명 서비스 시스템.
12. The method of claim 11,
The second verification server,
When the verification of the certificate is completed, the identification information of the hardware security module corresponding to the identification information of the partition is obtained from the partition list, and the electronic signature is requested from the hardware security module corresponding to the identification information of the hardware security module. Electronic signature service system.
전자 서명 서비스 방법에 있어서,
인터페이스 서버는 권한 관리 테이블을 이용하여 외부 기기의 접속 허용 여부를 결정하는 단계;
상기 외부 기기의 접속이 허용되면, 제1 검증 서버는 상기 권한 관리 테이블을 이용하여 상기 외부 기기의 권한을 검증하는 단계; 및
상기 외부 기기의 권한이 검증되면, 제2 검증 서버는 상기 권한 관리 테이블을 이용하여 상기 외부 기기의 요청에 대응하는 인증서의 권한을 검증하는 단계; 를 포함하고,
상기 권한 관리 테이블은,
외부 기기의 식별 정보 및 상기 외부 기기에 대한 그룹의 식별 정보를 포함하는 기기 목록, 상기 외부 기기에 대한 권한의 식별 정보가 포함된 기기 권한 목록, 상기 외부 기기에 대한 권한의 상세 정보가 포함된 권한 목록, 상기 인증서의 권한에 대한 정보가 포함된 인증서 권한 목록, 상기 인증서의 정책에 대한 정보가 포함된 인증서 정책 목록, 상기 인증서가 저장될 데이터베이스에 대한 정보 및 개인키가 저장될 하드웨어 보안 모듈에 대한 정보가 포함된 파티션 목록이 메타 데이터 형식으로 연결되고,
상기 인터페이스 서버에 상기 권한 관리 테이블 중 상기 기기 목록만이 제공되고,
상기 제1 검증 서버에 상기 권한 관리 테이블 중 상기 기기 권한 목록 및 권한 목록만이 제공되며,
상기 제2 검증 서버에 상기 권한 관리 테이블 중 상기 인증서 정책 목록, 상기 인증서 권한 목록 및 상기 파티션 목록만이 제공되는 전자 서명 서비스 방법.
An electronic signature service method comprising:
determining, by the interface server, whether to allow access of an external device by using the authority management table;
when the access of the external device is permitted, the first verification server verifying the authority of the external device using the authority management table; and
when the authority of the external device is verified, the second verification server verifying the authority of the certificate corresponding to the request of the external device using the authority management table; including,
The authority management table is,
A device list including identification information of an external device and group identification information for the external device, a device permission list including identification information of a permission for the external device, and a permission including detailed information on the permission for the external device A list, a certificate authority list including information about the authority of the certificate, a certificate policy list including information about the policy of the certificate, information about a database in which the certificate is to be stored, and a hardware security module in which the private key will be stored A list of partitions with information is concatenated in the form of metadata;
Only the device list among the authority management table is provided to the interface server,
Only the device permission list and the permission list of the permission management table are provided to the first verification server,
The electronic signature service method in which only the certificate policy list, the certificate authority list, and the partition list are provided to the second verification server in the authority management table.
KR1020200030388A 2020-03-11 2020-03-11 System and method for providing electronic signature service KR102416538B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200030388A KR102416538B1 (en) 2020-03-11 2020-03-11 System and method for providing electronic signature service

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200030388A KR102416538B1 (en) 2020-03-11 2020-03-11 System and method for providing electronic signature service

Publications (2)

Publication Number Publication Date
KR20210114798A KR20210114798A (en) 2021-09-24
KR102416538B1 true KR102416538B1 (en) 2022-07-05

Family

ID=77914800

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200030388A KR102416538B1 (en) 2020-03-11 2020-03-11 System and method for providing electronic signature service

Country Status (1)

Country Link
KR (1) KR102416538B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100673329B1 (en) * 2005-02-03 2007-01-24 학교법인 대전기독학원 한남대학교 User Role / Permission Setting System using Certificate in Grid Environment and Its Method
KR101545897B1 (en) * 2014-12-30 2015-08-21 주식회사 레드비씨 A server access control system by periodic authentification of the smart card

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100586030B1 (en) * 1999-11-03 2006-06-01 한국전자통신연구원 Method for managing information needed to recovery crytographic key
US9344275B2 (en) * 2012-05-08 2016-05-17 Arm Technologies Israel Ltd. System, device, and method of secure entry and handling of passwords

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100673329B1 (en) * 2005-02-03 2007-01-24 학교법인 대전기독학원 한남대학교 User Role / Permission Setting System using Certificate in Grid Environment and Its Method
KR101545897B1 (en) * 2014-12-30 2015-08-21 주식회사 레드비씨 A server access control system by periodic authentification of the smart card

Also Published As

Publication number Publication date
KR20210114798A (en) 2021-09-24

Similar Documents

Publication Publication Date Title
JP7181539B2 (en) METHOD AND APPARATUS FOR MANAGING USER IDENTIFICATION AND AUTHENTICATION DATA
US7774611B2 (en) Enforcing file authorization access
US8196186B2 (en) Security architecture for peer-to-peer storage system
WO2019233204A1 (en) Method, apparatus and system for key management, storage medium, and computer device
More et al. Third party public auditing scheme for cloud storage
US6834112B1 (en) Secure distribution of private keys to multiple clients
US6801998B1 (en) Method and apparatus for presenting anonymous group names
US7925023B2 (en) Method and apparatus for managing cryptographic keys
WO2020062668A1 (en) Identity authentication method, identity authentication device, and computer readable medium
US6247127B1 (en) Method and apparatus for providing off-line secure communications
US7676433B1 (en) Secure, confidential authentication with private data
KR101132148B1 (en) System and method for providing key management protocol with client verification of authorization
CN104798083B (en) For the method and system of authentication-access request
US7707416B2 (en) Authentication cache and authentication on demand in a distributed network environment
US20200320178A1 (en) Digital rights management authorization token pairing
CN105103119A (en) Data security service
US8769276B2 (en) Method and system for transmitting and receiving user's personal information using agent
JPH11237969A (en) File printing method, network system, computer system, file server and print server
US20130019093A1 (en) Certificate authority
CN105122265A (en) Data security service system
US7487535B1 (en) Authentication on demand in a distributed network environment
US20220014354A1 (en) Systems, methods and devices for provision of a secret
Chidambaram et al. Enhancing the security of customer data in cloud environments using a novel digital fingerprinting technique
CN111399980A (en) Safety authentication method, device and system for container organizer
JPH05298174A (en) Remote file access system

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant