KR20230071415A - Method for generating user's public key certificate in hierarchical structure, method for selecting electronic signature algorithm for authentication, and appatarus capable of performing the method - Google Patents

Method for generating user's public key certificate in hierarchical structure, method for selecting electronic signature algorithm for authentication, and appatarus capable of performing the method Download PDF

Info

Publication number
KR20230071415A
KR20230071415A KR1020210157595A KR20210157595A KR20230071415A KR 20230071415 A KR20230071415 A KR 20230071415A KR 1020210157595 A KR1020210157595 A KR 1020210157595A KR 20210157595 A KR20210157595 A KR 20210157595A KR 20230071415 A KR20230071415 A KR 20230071415A
Authority
KR
South Korea
Prior art keywords
electronic signature
user
program
public key
computer
Prior art date
Application number
KR1020210157595A
Other languages
Korean (ko)
Inventor
심경아
Original Assignee
기초과학연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 기초과학연구원 filed Critical 기초과학연구원
Priority to KR1020210157595A priority Critical patent/KR20230071415A/en
Publication of KR20230071415A publication Critical patent/KR20230071415A/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/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/3265Cryptographic 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 chains, trees or paths; Hierarchical trust model
    • 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/002Countermeasures against attacks on cryptographic mechanisms
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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
    • H04L9/3255Cryptographic 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 using group based signatures, e.g. ring or threshold signatures

Abstract

공개키 인증서를 생성하는 방법이 개시된다. 상기 방법은 양자 컴퓨터를 이용한 암호해독 공격에 안전한 제2그룹에 속하는 전자 서명 프로그램들 중에서 어느 하나를 담당 인증 기관이 사용할 전자 서명 프로그램으로 선택하고, 상기 제2그룹에 속하는 전자 서명 프로그램들과 상기 양자 컴퓨터를 이용한 암호해독 공격에 안전하지 않은 제1그룹에 속하는 전자 서명 프로그램들 중에서 어느 하나를 객체가 사용할 전자 서명 프로그램으로 선택할 수 있다. 또한, 개인 식별 정보 기반 전자 서명 시스템의 작동 방법은 담당 인증 기관이 사용할 전자 서명 프로그램과 객체가 사용할 전자 서명 프로그램 각각을 양자 컴퓨터를 이용한 암호해독 공격에 안전한 전자 서명 프로그램들 중에서 어느 하나씩을 선택할 수 있고, 상기 담당 인증 기관이 사용할 전자 서명 프로그램과 상기 객체가 사용할 전자 서명 프로그램은 서로 동일할 수 있고 서로 다를 수 있다.A method of generating a public key certificate is disclosed. The method selects one of the electronic signature programs belonging to the second group, which is safe from a decryption attack using a quantum computer, as an electronic signature program to be used by a responsible certification authority, and the electronic signature programs belonging to the second group and the two Any one of electronic signature programs belonging to the first group that is not safe from a computer-based decryption attack may be selected as an electronic signature program to be used by the object. In addition, the method of operating the electronic signature system based on personal identification information can select one of the electronic signature programs to be used by the certification authority in charge and the electronic signature programs to be used by the object, each of which is safe for decryption attacks using quantum computers, , the electronic signature program to be used by the responsible certification authority and the electronic signature program to be used by the object may be the same or different.

Description

계층 구조에서 사용자 공개키 인증서 생성 방법, 인증을 위한 전자 서명 알고리즘 선택 방법, 및 상기 방법을 수행할 수 있는 장치{METHOD FOR GENERATING USER'S PUBLIC KEY CERTIFICATE IN HIERARCHICAL STRUCTURE, METHOD FOR SELECTING ELECTRONIC SIGNATURE ALGORITHM FOR AUTHENTICATION, AND APPATARUS CAPABLE OF PERFORMING THE METHOD}A method for generating a user public key certificate in a hierarchical structure, a method for selecting an electronic signature algorithm for authentication, and an apparatus capable of performing the method APPATARUS CAPABLE OF PERFORMING THE METHOD}

본 발명의 개념에 따른 실시 예는 사용자 개인키 인증서 생성 방법에 관한 것으로, 특히 인증 기관과 사용자 사이의 계층 구조에서 사용자 공개키 인증서 생성 방법, 인증을 위한 전자 서명 알고리즘 선택 방법, 상기 방법을 수행할 수 있는 장치, 및 상기 방법을 수행하는 컴퓨터 프로그램에 관한 것이다.An embodiment according to the concept of the present invention relates to a method for generating a user private key certificate, in particular, a method for generating a user public key certificate in a hierarchical structure between a certification authority and a user, a method for selecting a digital signature algorithm for authentication, and a method for performing the method. It relates to an apparatus capable of performing the method, and a computer program for performing the method.

전자 서명이라 함은, 서명자를 확인하고 상기 서명자가 당해 전자문서에 서명했다는 사실을 나타내는데 이용하려고, 특정 전자문서에 첨부되거나 논리적으로 결합된 전자적 형태의 정보를 말한다.An electronic signature refers to information in an electronic form attached to or logically combined with a specific electronic document to be used for verifying a signer and indicating that the signer has signed the corresponding electronic document.

송신자는 전자 서명 알고리즘을 이용하여 메시지에 전자 서명을 하고 상기 전자 서명은 수신자의 전자 서명 검증 알고리즘 의해서 검증된다.The sender digitally signs the message using a digital signature algorithm, and the electronic signature is verified by the digital signature verification algorithm of the receiver.

RSA 암호화와 복호화 구조에서, 비대칭키 구조에서 암복호화가 수행될 경우 수신자의 공개키로 메시지를 암호화하고 송신자의 개인키로 상기 메시지를 복호화하여 기밀성을 제공한다. RSA 전자 서명 구조에서는 송신자는 자신의 개인키로 메시지에 전자 서명 값을 생성하고 수신자는 상기 송신자의 공개키로 상기 메시지를 검증하므로 인증과 부인방지의 기능이 제공된다. In the RSA encryption and decryption structure, when encryption/decryption is performed in an asymmetric key structure, confidentiality is provided by encrypting a message with a receiver's public key and decrypting the message with a sender's private key. In the RSA digital signature structure, since a sender generates a digital signature value for a message with its own private key and a receiver verifies the message with the sender's public key, authentication and non-repudiation functions are provided.

등록특허공보: 등록번호 10-0431210 (2004.05.12.공고)Registered Patent Publication: Registration No. 10-0431210 (Announced on May 12, 2004) 등록특허공보: 등록번호 10-1825320 (2018.03.22. 공고)Registered Patent Publication: Registration No. 10-1825320 (2018.03.22. Notice) 등록특허공보: 등록번호 10-1863953 (2018.06.29. 공고)Registered Patent Publication: Registration No. 10-1863953 (2018.06.29. Notice) 공개특허공보: 공개번호 특2001-0047385 (2001.06.15. 공개)Publication of Patent Publication: Publication No. 2001-0047385 (published on June 15, 2001)

본 발명이 이루고자 하는 기술적인 과제는 담당 인증 기관과 객체가 계층 구조에 포함될 때, 양자 컴퓨터를 이용한 암호해독 공격에 안전한 제2그룹에 속하는 전자 서명 프로그램들 중에서 어느 하나를 상기 담당 인증 기관이 사용할 전자 서명 프로그램으로 선택하고, 상기 제2그룹에 속하는 전자 서명 프로그램들과 상기 양자 컴퓨터를 이용한 암호해독 공격에 안전하지 않은 제1그룹에 속하는 전자 서명 프로그램들 중에서 어느 하나를 상기 객체가 사용할 전자 서명 프로그램으로 선택할 수 있는 방법, 상기 방법을 수행하는 컴퓨터 프로그램, 및 상기 방법을 수행하는 장치를 제공하는 것이다.A technical problem to be achieved by the present invention is that when a responsible certification authority and an object are included in a hierarchical structure, one of the electronic signature programs belonging to the second group that is safe from a cryptographic attack using a quantum computer is used by the responsible certification authority. A signature program is selected, and any one of electronic signature programs belonging to the second group and electronic signature programs belonging to the first group that are not secure against decryption attacks using the quantum computer is selected as the electronic signature program to be used by the object. It is to provide a selectable method, a computer program for performing the method, and an apparatus for performing the method.

본 발명이 이루고자 하는 기술적인 과제는 담당 인증 기관이 사용할 전자 서명 프로그램과 객체가 사용할 전자 서명 프로그램 각각을 양자 컴퓨터를 이용한 암호해독 공격에 안전한 전자 서명 프로그램들로부터 선택할 수 있고, 상기 담당 인증 기관이 사용할 전자 서명 프로그램과 상기 객체가 사용할 전자 서명 프로그램은 서로 동일하게 또는 서로 다르게 선택할 수 있는 방법, 상기 방법을 수행하는 컴퓨터 프로그램, 및 상기 방법을 수행하는 장치를 제공하는 것이다.A technical problem to be achieved by the present invention is to select an electronic signature program to be used by a responsible certification authority and an electronic signature program to be used by an object from digital signature programs that are safe for decryption attacks using quantum computers, and to be used by the responsible certification authority. An electronic signature program and an electronic signature program to be used by the object are provided to provide a method for selecting the same or different electronic signature programs, a computer program for performing the method, and a device for performing the method.

본 발명의 실시 예에 따른 객체 공개키 인증서를 생성하는 방법은 인증 기관의 컴퓨터에서 실행되는 인증 기관 전자 서명 프로그램이 객체의 컴퓨터에서 실행되는 객체 전자 서명 프로그램으로부터 상기 객체의 식별 정보와 상기 객체의 공개키를 수신하는 단계와, 상기 인증 기관 전자 서명 프로그램이 상기 식별 정보와 상기 공개키에 대한 상기 인증 기관의 전자 서명을 생성하는 단계와, 상기 인증 기관 전자 서명 프로그램이 상기 식별 정보, 상기 공개키, 및 상기 전자 서명을 포함하는 객체 공개키 인증서를 생성하는 단계를 포함한다.In the method of generating an object public key certificate according to an embodiment of the present invention, a certification authority electronic signature program running on a computer of a certification authority discloses identification information of the object and disclosure of the object from an object electronic signature program running on a computer of the object. Receiving a key; Generating, by the certification authority digital signature program, an electronic signature of the certification authority for the identification information and the public key; and generating an object public key certificate including the electronic signature.

실시 예들에 따라, 상기 인증 기관 전자 서명 프로그램은 양자 컴퓨터를 이용한 암호해독 공격에 안전한 제2그룹에 포함된 전자 서명 프로그램들 중에서 어느 하나이고, 상기 객체 전자 서명 프로그램은 상기 양자 컴퓨터를 이용한 암호해독 공격에 안전하지 않은 제1그룹에 포함된 전자 서명 프로그램들 중에서 어느 하나이다.According to embodiments, the certification authority electronic signature program is any one of electronic signature programs included in the second group that is safe from decryption attacks using quantum computers, and the object electronic signature program is a decryption attack using quantum computers. is any one of the electronic signature programs included in the first unsafe group.

실시 예들에 따라, 전자 서명 프로그램들은 양자 컴퓨터를 이용한 암호해독 공격에 안전한 제2그룹에 포함된 전자 서명 프로그램들과 상기 양자 컴퓨터를 이용한 암호해독 공격에 안전하지 않은 제1그룹에 포함된 전자 서명 프로그램들을 포함할 때, 상기 인증 기관 전자 서명 프로그램은 상기 제2그룹에 포함된 전자 서명 프로그램들 중에서 제1전자 서명 프로그램이고, 상기 객체 전자 서명 프로그램은 상기 제1전자 서명 프로그램이다.According to embodiments, the electronic signature programs include electronic signature programs included in the second group that are safe from decryption attacks using quantum computers and electronic signature programs included in the first group that are not safe from decryption attacks using quantum computers. , the certification authority electronic signature program is a first electronic signature program among the electronic signature programs included in the second group, and the object electronic signature program is the first electronic signature program.

실시 예들에 따라, 전자 서명 프로그램들은 양자 컴퓨터를 이용한 암호해독 공격에 안전한 제2그룹에 포함된 전자 서명 프로그램들과 상기 양자 컴퓨터를 이용한 암호해독 공격에 안전하지 않은 제1그룹에 포함된 전자 서명 프로그램들을 포함할 때, 상기 인증 기관 전자 서명 프로그램은 상기 제2그룹에 포함된 전자 서명 프로그램들 중에서 제1전자 서명 프로그램이고, 상기 객체 전자 서명 프로그램은 상기 제2그룹에 포함된 전자 서명 프로그램들 중에서 제2전자 서명 프로그램이다.According to embodiments, the electronic signature programs include electronic signature programs included in the second group that are safe from decryption attacks using quantum computers and electronic signature programs included in the first group that are not safe from decryption attacks using quantum computers. , the certification authority electronic signature program is a first electronic signature program among the electronic signature programs included in the second group, and the object electronic signature program is the first among electronic signature programs included in the second group. 2Electronic signature program.

실시 예들에 따라, 객체 공개키 인증서를 생성하는 방법을 수행하기 위해 컴퓨터 프로그램은 저장 매체에 저장된다.According to embodiments, a computer program for performing a method of generating an object public key certificate is stored in a storage medium.

실시 예들에 따라, 컴퓨터는 객체 공개키 인증서를 생성하는 방법을 수행하는 컴퓨터 프로그램을 저장하는 저장 매체와, 상기 저장 매체에 저장된 상기 컴퓨터 프로그램을 실행하는 프로세서를 포함한다.According to embodiments, a computer includes a storage medium for storing a computer program for performing a method of generating an object public key certificate, and a processor for executing the computer program stored in the storage medium.

실시 예들에 따라, 인증 기관의 컴퓨터와 객체의 컴퓨터를 이용하여 객체 공개키 인증서를 생성하는 서비스를 제공하는 방법은 상기 객체의 컴퓨터에서 실행되는 객체 전자 서명 프로그램이 상기 객체의 공개키를 생성하고, 상기 객체의 식별 정보와 상기 객체의 공개키를 상기 인증 기관의 컴퓨터로 전송하는 단계와, 상기 인증 기관에서 실행되는 인증 기관 전자 서명 프로그램이 상기 식별 정보와 상기 공개키에 대한 상기 인증 기관의 전자 서명을 생성하는 단계와, 상기 인증 기관 전자 서명 프로그램이 상기 식별 정보, 상기 공개키, 및 상기 전자 서명을 포함하는 상기 객체 공개키 인증서를 생성하는 단계를 포함한다.According to embodiments, a method for providing a service for generating an object public key certificate using a computer of a certification authority and a computer of an object includes generating a public key of the object by an object electronic signature program running on the computer of the object, Transmitting the identification information of the object and the public key of the object to a computer of the certification authority, and a certification authority digital signature program running in the certification authority is digitally signed by the certification authority for the identification information and the public key. and generating, by the certification authority digital signature program, the object public key certificate including the identification information, the public key, and the digital signature.

실시 예들에 따라, 개인 식별 정보 기반 전자 서명 시스템의 작동 방법은 키 생성 센터의 KGC 전자 서명 프로그램이 KGC 공개키와 KGC 비밀키의 쌍을 생성하는 단계와, 제1사용자 컴퓨터의 제1사용자 전자 서명 프로그램이 제1사용자 신원 정보를 수신하는 단계와, 상기 KGC 전자 서명 프로그램이 상기 제1사용자 신원 정보를 이용하여 제1사용자 공개키와 제1사용자 비밀키의 쌍을 생성하는 단계와, 상기 KGC 전자 서명이 상기 제1사용자 비밀키을 이용하여 상기 제1사용자 신원 정보와 상기 제1사용자 공개키에 대한 KGC 전자 서명을 생성하는 단계와, 상기 KGC 전자 서명 프로그램이 상기 제1사용자 공개키와 상기 제1사용자 비밀키의 쌍과 상기 KGC 전자 서명을 포함하는 제1사용자 풀 비밀키를 생성하는 단계와, 상기 KGC 전자 서명 프로그램이 상기 제1사용자 풀 비밀키를 안전한 채널을 통해 상기 제1사용자 전자 서명 프로그램으로 전송하는 단계를 포함하다.According to embodiments, a method of operating an electronic signature system based on personal identification information includes generating a pair of a KGC public key and a KGC private key by a KGC electronic signature program of a key generation center, and a first user electronic signature of a first user computer Receiving first user identity information by a program; Generating, by the KGC electronic signature program, a pair of a first user public key and a first user private key using the first user identity information; generating a KGC digital signature for the first user identity information and the first user public key using the first user private key; Generating a first user full private key including a pair of user private keys and the KGC digital signature, wherein the KGC electronic signature program transmits the first user full private key through a secure channel Including sending to

실시 예들에 따라, 상기 KGC 전자 서명 프로그램은 양자 컴퓨터를 이용한 암호해독 공격에 안전한 전자 서명 프로그램들 중에서 어느 하나이고, 상기 KGC 전자 서명 프로그램과 상기 제1사용자 전자 서명 프로그램은 동일한 전자 서명 프로그램이다.According to embodiments, the KGC electronic signature program is one of electronic signature programs that are safe against decryption attacks using quantum computers, and the KGC electronic signature program and the first user electronic signature program are the same electronic signature program.

실시 예들에 따라, 상기 키 생성 전자 서명 프로그램은 양자 컴퓨터를 이용한 암호해독 공격에 안전한 전자 서명 프로그램들 중에서 어느 하나이고, 상기 제1사용자 전자 서명 프로그램은 상기 양자 컴퓨터를 이용한 암호해독 공격에 안전한 전자 서명 프로그램들 중에서 다른 하나이다.According to embodiments, the key generation electronic signature program is any one of electronic signature programs that are safe from decryption attacks using quantum computers, and the first user electronic signature program is an electronic signature that is safe from decryption attacks using quantum computers. one of the programs.

본 발명의 실시 예에 따른 공개키 인증서를 생성하는 방법과 상기 방법을 수행하는 컴퓨터 프로그램은 담당 인증 기관이 사용할 전자 서명 프로그램을 양자 컴퓨터를 이용한 암호해독 공격에 안전한 제2그룹에 속하는 전자 서명 프로그램들 중에서 어느 하나를 선택하고, 객체가 사용할 전자 서명 프로그램을 상기 제2그룹에 속하는 전자 서명 프로그램들과 상기 양자 컴퓨터를 이용한 암호해독 공격에 안전하지 않은 제1그룹에 속하는 전자 서명 프로그램들 중에서 어느 하나를 선택할 수 있으므로, 모든 전자 서명 프로그램이 상기 제2그룹에서 선택된 경우 본 발명은 암호해독 공격에 안전한 효과가 있다.A method for generating a public key certificate and a computer program for performing the method according to an embodiment of the present invention include digital signature programs belonging to the second group that are safe from decryption attacks using quantum computers for the digital signature program to be used by the certification authority in charge. Select one from among the digital signature programs to be used by the object, select one of the digital signature programs belonging to the second group and the digital signature programs belonging to the first group that are not secure against decryption attacks using the quantum computer. Since all digital signature programs are selected from the second group, the present invention has a safe effect against decryption attacks.

본 발명의 실시 예에 따른 개인 식별 정보 기반 전자 서명 시스템의 작동 방법과 상기 방법을 수행하는 컴퓨터 프로그램은 담당 인증 기관이 사용할 전자 서명 프로그램과 객체가 사용할 전자 서명 프로그램 각각을 양자 컴퓨터를 이용한 암호해독 공격에 안전한 전자 서명 프로그램들 중에서 어느 하나씩을 선택할 수 있고, 상기 담당 인증 기관이 사용할 전자 서명 프로그램과 상기 객체가 사용할 전자 서명 프로그램은 서로 동일할 수 있고 서로 다를 수 있다. 본 발명은 암호해독 공격에 안전한 효과가 있다.A method of operating an electronic signature system based on personal identification information according to an embodiment of the present invention and a computer program performing the method are a decryption attack using a quantum computer for each of the electronic signature program to be used by the responsible certification authority and the electronic signature program to be used by the object. Any one of safe electronic signature programs may be selected, and the electronic signature program to be used by the responsible certification authority and the electronic signature program to be used by the object may be the same or different. The present invention has a safe effect against decryption attacks.

본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.
도 1은 본 발명의 실시 예들에 따라 계층 구조를 가지며 전자 서명 프로그램을 선택하고 사용자 공개키 인증서를 생성하는 공개키 인증서 관리 시스템의 블록도이다.
도 2는 도 1의 공개키 인증서 관리 시스템에서 사용되는 전자 서명 프로그램들의 타입을 나타낸다.
도 3은 도 2 또는 도 6에 도시된 각 전자 서명 프로그램의 구조를 나타낸다.
도 4는 도 1의 공개키 인증서 관리 시스템에서 생성된 사용자 공개키 인증서를 객체에 저장하는 과정을 설명하는 플로우차트이다.
도 5는 도 1의 공개키 인증서 관리 시스템에서 생성된 사용자 공개키 인증서를 클라우드 스토리지에 저장하는 과정을 설명하는 플로우차트이다.
도 6은 본 발명의 실시 예들에 따라 개인 식별 정보 기반 전자 서명 프로그램 설계를 위한 공개키 기반 전자 서명 프로그램을 선택하는 방법을 수행하는 시스템의 블록도이다.
A detailed description of each drawing is provided in order to more fully understand the drawings cited in the detailed description of the present invention.
1 is a block diagram of a public key certificate management system that has a hierarchical structure and selects an electronic signature program and generates a user public key certificate according to embodiments of the present invention.
FIG. 2 shows types of digital signature programs used in the public key certificate management system of FIG. 1 .
FIG. 3 shows the structure of each electronic signature program shown in FIG. 2 or FIG. 6 .
4 is a flowchart illustrating a process of storing a user public key certificate generated in the public key certificate management system of FIG. 1 in an object.
5 is a flowchart illustrating a process of storing a user public key certificate generated in the public key certificate management system of FIG. 1 in a cloud storage.
6 is a block diagram of a system for performing a method of selecting a public key-based electronic signature program for designing a personal identification information-based electronic signature program according to embodiments of the present invention.

도 1은 본 발명의 실시 예들에 따라 계층 구조를 가지며 전자 서명 프로그램을 선택하고 사용자 공개키 인증서를 생성하는 공개키 인증서 관리 시스템의 블록도이다.1 is a block diagram of a public key certificate management system that has a hierarchical structure and selects an electronic signature program and generates a user public key certificate according to embodiments of the present invention.

도 1을 참조하면, 공개키 인증서 관리 시스템(100)은 루트 인증 기관(110), 복수 개의 인증 기관들(130-1~130-3), 및 복수 개의 사용자 컴퓨터들(151-1~151-X, 161-1~161-Y, 및 171-1~171-Z)을 포함한다. 여기서, X, Y, 및 Z 각각은 2이상의 자연수이다. 실시 예들에 따라, 공개키 인증서 관리 시스템(100)은 해당 인증 기관 (110, 130-1, 130-2, 또는 130-3)에 의해 생성된 사용자의 공개키 인증서를 수신하여 저장하는 클라우드 저장 장치(180)를 더 포함할 수 있다. Referring to FIG. 1, the public key certificate management system 100 includes a root certification authority 110, a plurality of certification authorities 130-1 to 130-3, and a plurality of user computers 151-1 to 151- X, 161-1 to 161-Y, and 171-1 to 171-Z). Here, each of X, Y, and Z is a natural number of 2 or greater. According to embodiments, the public key certificate management system 100 is a cloud storage device that receives and stores a user's public key certificate generated by a corresponding certification authority (110, 130-1, 130-2, or 130-3) (180) may be further included.

본 명세서에서 설명된 전자 서명은 디지털 서명이라고도 불린다.The electronic signatures described herein are also referred to as digital signatures.

본 명세서에서 설명되는 전자 서명 프로그램(이를 '컴퓨터 프로그램'이라고도 한다.)은 하드웨어(예를 들면, 프로세서)와 결합되어 컴퓨터(예를 들면, 프로세서)로 읽을 수 있는 저장 매체(예를 들면, 저장 장치)에 저장되고, 상기 컴퓨터에 의해 실행된다.The electronic signature program (also referred to as a 'computer program') described in this specification is combined with hardware (eg, a processor) and a computer (eg, processor)-readable storage medium (eg, storage medium). device) and executed by the computer.

본 명세서에서 제1컴퓨터에 설치된 제1전자 서명 프로그램이 제2컴퓨터에 설치된 제2전자 서명 프로그램과 정보(이를 신호 또는 데이터라고도 한다.)를 주고받는다 함은, 상기 제1전자 서명 프로그램이 통신 네트워크(예를 들면, 무선 통신 네트워크 또는 유선 통신 네트워크)를 통해 서로 접속된 상기 제1컴퓨터의 통신 장치와 상기 제2컴퓨터의 통신 장치를 통해 상기 제2전자 서명 프로그램과 정보를 주고받는 것을 의미한다.In this specification, the first electronic signature program installed in the first computer exchanges information (also referred to as a signal or data) with the second electronic signature program installed in the second computer, which means that the first electronic signature program is connected to a communication network. It means exchanging information with the second electronic signature program through the communication device of the first computer and the communication device of the second computer connected to each other through (eg, a wireless communication network or a wired communication network).

루트(또는 상위) 인증 기관(110)과 복수 개의 인증 기관들(130-1~130-3) 각각은 컴퓨터 또는 서버(이를 '데이터 처리 장치'라고도 한다.)를 의미한다.Each of the root (or higher) certification authority 110 and the plurality of certification authorities 130-1 to 130-3 means a computer or server (also referred to as a 'data processing device').

루트 인증 기관(110)은 전자 서명 프로그램(114)을 실행하는 프로세서(112)와, 해당 장치(130-1, 130-2, 130-3, 또는 180)와 통신 네트워크를 통해 정보를 주고받는 통신 장치(116)를 포함한다.The root certification authority 110 communicates with the processor 112 executing the electronic signature program 114 and the corresponding device 130-1, 130-2, 130-3, or 180 to exchange information through a communication network. device 116.

제1인증 기관(130-1)은 전자 서명 프로그램(134-1)을 실행하는 프로세서 (132-1), 저장 장치(136-1), 및 해당 장치(110, 151-1~151-X, 및/또는 180)와 통신 네트워크를 통해 정보를 주고받는 통신 장치(138-1)를 포함한다.The first certification authority 130-1 includes a processor 132-1 executing the electronic signature program 134-1, a storage device 136-1, and corresponding devices 110, 151-1 to 151-X, and/or a communication device 138-1 that exchanges information with 180 through a communication network.

제2인증 기관(130-2)은 전자 서명 프로그램(134-2)을 실행하는 프로세서 (132-2), 저장 장치(136-2), 및 해당 장치(110, 161-1~161-Y, 및/또는 180)와 통신 네트워크를 통해 정보를 주고받는 통신 장치(138-2)를 포함한다.The second authentication authority 130-2 includes a processor 132-2 executing the electronic signature program 134-2, a storage device 136-2, and corresponding devices 110, 161-1 to 161-Y, and/or a communication device 138-2 that exchanges information with 180 through a communication network.

제3인증 기관(130-3)은 전자 서명 프로그램(134-3)을 실행하는 프로세서 (132-3), 저장 장치(136-3), 및 해당 장치(110, 171-1~171-Z, 및/또는 180)와 통신 네트워크를 통해 정보를 주고받는 통신 장치(138-3)를 포함한다.The third authentication authority 130-3 includes a processor 132-3 executing the electronic signature program 134-3, a storage device 136-3, and corresponding devices 110, 171-1 to 171-Z, and/or a communication device 138-3 that exchanges information with 180 through a communication network.

복수 개의 사용자 컴퓨터들(151-1~151-X, 161-1~161-Y, 및 171-1~171-Z) 각각각은 PC 또는 모바일 장치일 수 있고, 상기 모바일 장치의 예들은 랩탑 컴퓨터, 스마트폰, 모바일 인터넷 장치(mobile internet device(MID) 또는 사물 인터넷 (Internet of Things(IoT)) 장치 등을 포함한다.Each of the plurality of user computers 151-1 to 151-X, 161-1 to 161-Y, and 171-1 to 171-Z may be a PC or a mobile device, examples of which include a laptop computer , smart phones, mobile internet devices (MID) or Internet of Things (IoT) devices, and the like.

사용자 컴퓨터(151-1)은 전자 서명 프로그램(155-1)을 실행하는 프로세서 (153-1), 저장 장치(157-1), 및 제1인증 기관(130-1)과 통신 네트워크를 통해 정보를 주고받는 통신 장치(159-1)를 포함한다. 제1인증 기관(130-1)과 통신 네트워크를 통해 정보를 주고받는 각 사용자 컴퓨터(151-2~151-X)의 구조와 작동은 사용자 컴퓨터(151-1)의 구조와 작동과 동일하다고 가정한다.The user computer 151-1 transmits information through a processor 153-1 executing the electronic signature program 155-1, a storage device 157-1, and a first authentication authority 130-1 through a communication network. and a communication device 159-1 for sending and receiving. It is assumed that the structure and operation of each user computer 151-2 to 151-X that exchanges information with the first authentication authority 130-1 through the communication network is the same as that of the user computer 151-1. do.

사용자 컴퓨터(161-1)은 전자 서명 프로그램(165-1)을 실행하는 프로세서 (163-1), 저장 장치(167-1), 및 제2인증 기관(130-2)과 통신 네트워크를 통해 정보를 주고받는 통신 장치(169-1)를 포함한다. 제2인증 기관(130-2)과 통신 네트워크를 통해 정보를 주고받는 각 사용자 컴퓨터(161-2~161-Y)의 구조와 작동은 사용자 컴퓨터(161-1)의 구조와 작동과 동일하다고 가정한다.The user computer 161-1 transmits information through a processor 163-1 executing the digital signature program 165-1, a storage device 167-1, and a second authentication authority 130-2 through a communication network. and a communication device 169-1 for sending and receiving. It is assumed that the structure and operation of each user computer (161-2 to 161-Y) that exchanges information with the second authentication authority 130-2 through the communication network is the same as that of the user computer 161-1. do.

사용자 컴퓨터(171-1)은 전자 서명 프로그램(175-1)을 실행하는 프로세서 (173-1), 저장 장치(177-1), 및 제3인증 기관(130-3)과 통신 네트워크를 통해 정보를 주고받는 통신 장치(179-1)를 포함한다. 제3인증 기관(130-3)과 통신 네트워크를 통해 정보를 주고받는 각 사용자 컴퓨터(171-2~171-Z)의 구조와 작동은 사용자 컴퓨터(171-1)의 구조와 작동과 동일하다고 가정한다.The user computer 171-1 transmits information through a processor 173-1 executing an electronic signature program 175-1, a storage device 177-1, and a third authentication authority 130-3 through a communication network. and a communication device 179-1 for sending and receiving. It is assumed that the structure and operation of each user computer (171-2 to 171-Z) that exchanges information with the third authentication authority (130-3) through the communication network is the same as that of the user computer (171-1). do.

통신 네트워크는 유선 통신 네트워크 또는 무선 통신 네트워크일 수 있고, 각 저장 장치(136-1, 136-2, 136-3, 159-1, 169-1, 및 179-1)는 메모리 장치일 수 있고, 휘발성 메모리 장치와 불휘발성 메모리 장치를 총칭한다.The communication network may be a wired communication network or a wireless communication network, and each of the storage devices 136-1, 136-2, 136-3, 159-1, 169-1, and 179-1 may be a memory device, A general term for volatile memory devices and non-volatile memory devices.

도 1에 도시된 바와 같이 루트 인증 기관(110), 복수 개의 인증 기관들(130-1~130-3), 및 복수 개의 사용자 컴퓨터들(151-1~151-X, 161-1~161-Y, 및 171-1~171-Z)은 계층 구조(hierarchy)를 갖는다.1, a root certification authority 110, a plurality of certification authorities 130-1 to 130-3, and a plurality of user computers 151-1 to 151-X, 161-1 to 161- Y, and 171-1 to 171-Z) have a hierarchy.

루트 인증 기관(110)은 인증 기관들(130-1~130-3) 각각에 대한 전자적 신분 증명서를 발행하고 관리하는 기관을 의미하고, 제1인증 기관(130-1)은 사용자 컴퓨터들(151-1~151-X) 각각에 대한 전자적 신분 증명서를 발행하고 관리하는 기관을 의미하고, 제2인증 기관(130-2)은 사용자 컴퓨터들(161-1~161-Y) 각각에 대한 전자적 신분 증명서를 발행하고 관리하는 기관을 의미하고, 제3인증 기관(130-3)은 사용자 컴퓨터들(171-1~171-Z) 각각에 대한 전자적 신분 증명서를 발행하고 관리하는 기관을 의미한다. 실시 예들에 따라, 전자적 신분 증명서는 공개키의 유효성을 보증하는 공개키 인증서를 의미할 수 있으나 이에 한정되는 것은 아니다.The root certification authority 110 refers to an authority that issues and manages electronic identity certificates for each of the certification authorities 130-1 to 130-3, and the first certification authority 130-1 is a user computer 151 -1 to 151-X) refers to an organization that issues and manages electronic identity certificates for each, and the second authentication authority 130-2 is an electronic identity for each of the user computers 161-1 to 161-Y This refers to an institution that issues and manages certificates, and the third authentication authority 130-3 refers to an institution that issues and manages electronic identification certificates for each of the user computers 171-1 to 171-Z. According to embodiments, an electronic identity certificate may refer to a public key certificate that guarantees the validity of a public key, but is not limited thereto.

루트 인증 기관(110)은 인증 기관들(130-1~130-3) 각각의 공개키의 유효성을 보증하고, 제1인증 기관(130-1)은 각 사용자 컴퓨터(151-1~151-X)를 사용하는 사용자의 공개키의 유효성을 보증하고, 제2인증 기관(130-2)은 각 사용자 컴퓨터(161-1~161-Y)를 사용하는 사용자의 공개키의 유효성을 보증하고, 제3인증 기관(130-3)은 각 사용자 컴퓨터(171-1~171-Z)를 사용하는 사용자의 공개키의 유효성을 보증한다. 여기서, 공개키의 유효성을 보증한다 함은 공개키 인증서를 생성하는 것을 의미하나 이에 한정되는 것은 아니다.The root certification authority 110 guarantees the validity of the public key of each of the certification authorities 130-1 to 130-3, and the first certification authority 130-1 is used by each user computer 151-1 to 151-X. ), and the second authentication authority 130-2 guarantees the validity of the user's public key using each user's computer 161-1 to 161-Y. 3 The certification authority 130-3 guarantees the validity of the public key of the user using each user computer 171-1 to 171-Z. Here, ensuring the validity of the public key means generating a public key certificate, but is not limited thereto.

실시 예들에 따라, 객체가 사용자(또는 사용자 컴퓨터)일 때 상기 사용자(또는 사용자 컴퓨터)에 대한 전자적 신분 증명서를 발행하고 관리하는 인증 기관을 담당 인증 기관이라 하고, 상기 객체가 인증 기관일 때 상기 인증 기관에 대한 전자적 신분 증명서를 발행하고 관리하는 상위 인증 기관(또는 루트 인증 기관)을 담당 인증 기관이라 한다. 담당 인증 기관은 클라우드 저장 장치(180)을 운영할 수 있다.According to embodiments, when an object is a user (or user computer), a certification authority that issues and manages an electronic identity certificate for the user (or user computer) is referred to as a responsible certification authority, and when the object is a certification authority, the authentication An upper certification authority (or root certification authority) that issues and manages electronic identity certificates for an authority is called a responsible certification authority. The responsible certification authority may operate the cloud storage device 180 .

인증 기관 컴퓨터 프로그램은 담당 인증 기관의 컴퓨터에서 실행되는 컴퓨터 프로그램을 의미하고, 객체 컴퓨터 프로그램은 객체의 컴퓨터에서 실행되는 컴퓨터 프로그램을 의미한다.The certification authority computer program refers to a computer program executed on a computer of a responsible certification authority, and the object computer program refers to a computer program executed on a computer of an object.

도 2는 도 1의 공개키 인증서 관리 시스템에서 사용되는 전자 서명 프로그램들의 타입을 나타낸다.FIG. 2 shows types of digital signature programs used in the public key certificate management system of FIG. 1 .

본 명세서에서 양자 컴퓨터(quantum computer)를 이용한 암호해독 공격 (cryptanalytic attack)에 안전한 전자 서명 프로그램은 상기 양자 컴퓨터를 이용한 암호해독 공격에 안전한 전자 서명 알고리즘(이를 '암호 기법' 또는 '포스트 양자 암호(Post Quantum Cryptography(PQC)'라고도 한다.)을 이용(또는 실행)하는 컴퓨터 프로그램을 의미하고, 상기 양자 컴퓨터를 이용한 암호해독 공격에 안전하지 않은 전자 서명 프로그램은 상기 양자 컴퓨터를 이용한 암호해독 공격에 안전하지 않은 전자 서명 알고리즘을 이용(또는 실행)하는 컴퓨터 프로그램을 의미한다.In the present specification, an electronic signature program that is safe from a cryptanalytic attack using a quantum computer is an electronic signature algorithm that is safe from a cryptanalytic attack using the quantum computer ('cryptography' or 'post quantum cryptography'). Also referred to as 'Quantum Cryptography (PQC)'), it means a computer program that uses (or executes), and an electronic signature program that is not safe for a decryption attack using the quantum computer is not safe for a decryption attack using the quantum computer. A computer program that uses (or executes) a digital signature algorithm that is not known.

도 2에 도시된 바와 같이 전자 서명 프로그램들(200)은 제1그룹(210)과 제2그룹(220)으로 분류된다.As shown in FIG. 2 , the electronic signature programs 200 are classified into a first group 210 and a second group 220 .

제1그룹(210)은 양자 컴퓨터를 이용한 암호해독 공격에 안전하지 않은 전자 서명 프로그램들(211~215)의 집합을 의미하고, 제2그룹(220)는 상기 양자 컴퓨터를 이용한 암호해독 공격에 안전한 전자 서명 프로그램들(221~229)의 집합을 의미한다.The first group 210 refers to a set of electronic signature programs 211 to 215 that are not safe from a cryptographic attack using a quantum computer, and the second group 220 is safe from a cryptographic attack using a quantum computer. It means a set of electronic signature programs 221 to 229.

제1그룹(210)에 속하는 전자 서명 프로그램들의 예들은 소인수 분해 문제 (integer factorization problem) 기반 전자 서명 알고리즘을 수행하는 전자 서명 프로그램 (211), 이산 대수 문제(discrete logarithm problem) 기반 전자 서명 알고리즘을 수행하는 전자 서명 프로그램(213), 및 타원 곡선 이산 대수 문제 (elliptic-curve discrete logarithm problem) 기반 전자 서명 알고리즘을 수행하는 컴퓨터 프로그램(215) 등을 포함하나 이에 한정되는 것은 아니다.Examples of electronic signature programs belonging to the first group 210 include the electronic signature program 211 that performs an integer factorization problem-based digital signature algorithm, and a discrete logarithm problem-based digital signature algorithm. It includes, but is not limited to, an electronic signature program 213 that performs a digital signature program 213, and a computer program 215 that performs an electronic signature algorithm based on an elliptic-curve discrete logarithm problem.

제2그룹(220)에 속하는 전자 서명 프로그램들의 예들은 격자 기반(Lattice-based) 전자 서명 알고리즘을 수행하는 컴퓨터 프로그램(221), 부호 기반(Code-based) 전자 서명 알고리즘을 수행하는 컴퓨터 프로그램(223), 다변수 기반 (multivariate quadratic-based) 전자 서명 알고리즘을 수행하는 컴퓨터 프로그램 (225), 아이소제니 기반(Isogeny-based) 전자 서명 알고리즘을 수행하는 컴퓨터 프로그램(227), 및 해시 기반 (Hash-based) 전자 서명 알고리즘을 수행하는 컴퓨터 프로그램(229) 등을 포함하나 이에 한정되는 것은 아니다.Examples of electronic signature programs belonging to the second group 220 include a computer program 221 performing a lattice-based electronic signature algorithm and a computer program 223 performing a code-based electronic signature algorithm. ), a computer program 225 that performs a multivariate quadratic-based electronic signature algorithm, a computer program 227 that performs an Isogeny-based digital signature algorithm, and a hash-based ), but is not limited thereto.

격자 기반 전자 서명 알고리즘은 격자 위에서 가장 짧은 벡터를 찾는 것과 관련된 문제의 어려움에 기반하는 전자 서명 알고리즘이다. 격자의 종류는 표준 (standard) 격자, 아이디얼(ideal) 격자, 모듈(module) 격자 등을 포함하고, 문제의 종류의 예들은 오류가 있는 학습(learning with errors(LWE)), 짧은 정수 솔루션(Short integer solution(SIS)), 링-LWE(Ring-LWE), 및 모듈 LWE(Module-LWE), 등을 포함한다.A lattice-based digital signature algorithm is a digital signature algorithm based on the difficulty of the problem of finding the shortest vector on a lattice. Types of lattices include standard lattices, ideal lattices, module lattices, etc. Examples of types of problems include learning with errors (LWE), short integer solutions (Short integer solution (SIS)), Ring-LWE (Ring-LWE), and Module-LWE (Module-LWE), and the like.

부호 기반 전자 서명 알고리즘은 일반적인 선형 코드를 디코딩(decoding)하는 어려움에 기반하는 전자 서명 알고리즘이고, 신드롬 디코딩 문제(syndrome decoding problem) 등을 포함한다. 부호 기반 전자 서명 알고리즘들의 예들은 매켈리스(McEliece), 모던 매켈리스(Modern McEliece), 니더레이터(Niederreiter), MCPC-매켈리스, 와일드 매켈리스, McBits 등을 포함한다.The code-based electronic signature algorithm is an electronic signature algorithm based on the difficulty of decoding a general linear code, and includes a syndrome decoding problem and the like. Examples of code-based digital signature algorithms include McEliece, Modern McEliece, Niederreiter, MCPC-McEliece, Wild McEliece, McBits, and the like.

다변수 기반 전자 서명 알고리즘은 유한체(finite field) 또는 갈루아 필드 (Galois field) 위에서 정의된 다변수 이차식의 시스템의 해를 구하는 문제의 어려움에 기반하는 전자 서명 알고리즘이다.A multivariate-based electronic signature algorithm is an electronic signature algorithm based on the difficulty of solving a problem of a multivariate quadratic system defined on a finite field or a Galois field.

아이소제니 기반 전자 서명 알고리즘은 두 타원 곡선 사이에 존재하는 아이소제니를 구하는 문제의 어려움에 기반하는 전자 서명 알고리즘이다.An isogeny-based digital signature algorithm is an electronic signature algorithm based on the difficulty of obtaining an isogeny existing between two elliptic curves.

해시 기반 전자 서명 알고리즘 해시 함수의 충돌쌍(collision) 또는 두번째 역상(Second preimage)을 찾는 문제의 어려움에 기반하는 전자 서명 알고리즘이다.Hash-based Digital Signature Algorithm It is a digital signature algorithm based on the difficulty of finding a collision pair or second preimage of a hash function.

따라서, 루트 인증 기관(110)에 설치된 전자 서명 프로그램(114)은 제2그룹 (210)에 속하는 전자 서명 프로그램들(221~229) 중에서 어느 하나이고, 각 인증 기관(130-1, 130-2, 및 130-3)에 설치된 전자 서명 프로그램(134-1, 134-2, 및 134-3)은 제2그룹(220에 속하는 전자 서명 프로그램들(221~229) 중에서 어느 하나이고, 각 사용자 컴퓨터(151-1~151-X, 161-1~161-Y, 및 171-1~171-Z)에 설치된 전자 서명 프로그램은 제1그룹(210)에 속하는 전자 서명 프로그램들(211~215)과 제2그룹(210)에 속하는 전자 서명 프로그램들(221~229) 중에서 어느 하나이다.Therefore, the electronic signature program 114 installed in the root certification authority 110 is any one of the electronic signature programs 221 to 229 belonging to the second group 210, and each certification authority 130-1, 130-2 The electronic signature programs 134-1, 134-2, and 134-3 installed in the , and 130-3 are any one of the electronic signature programs 221 to 229 belonging to the second group 220, and each user computer The electronic signature programs installed in (151-1 to 151-X, 161-1 to 161-Y, and 171-1 to 171-Z) are electronic signature programs (211 to 215) belonging to the first group (210) and It is any one of the electronic signature programs 221 to 229 belonging to the second group 210.

도 3은 도 2 또는 도 6에 도시된 각 전자 서명 프로그램의 구조를 나타낸다. 도 2를 참조하여 설명된 전자 서명 프로그램(211, 213, 215, 221, 223, 225, 227, 및 229)을 통칭하는 도 3의 전자 서명 프로그램(230)는 키 생성 알고리즘을 수행하는 키 생성 프로그램(예를 들면, 명령어들의 집합; 231), 서명 생성 알고리즘을 수행하는 서명 생성 프로그램(예를 들면, 명령어들의 집합; 233), 및 검증 알고리즘을 수행하는 검증 프로그램(예를 들면, 명령어들의 집합; 235)을 포함한다.FIG. 3 shows the structure of each electronic signature program shown in FIG. 2 or FIG. 6 . The electronic signature program 230 of FIG. 3, which collectively refers to the electronic signature programs 211, 213, 215, 221, 223, 225, 227, and 229 described with reference to FIG. 2, is a key generation program that performs a key generation algorithm. (eg, set of instructions; 231), a signature generation program that performs a signature generation algorithm (eg, set of instructions; 233), and a verification program that performs a verification algorithm (eg, set of instructions; 235).

키 생성 알고리즘은 사용자의 키 쌍을 생성하고, 상기 키 쌍은 공개키와 비밀키를 포함한다.The key generation algorithm generates a user's key pair, and the key pair includes a public key and a private key.

서명 생성 알고리즘은 사용자의 비밀키를 이용하여 전자 서명을 생성한다.The signature generation algorithm generates an electronic signature using the user's private key.

검증 알고리즘(또는 서명 검증 알고리즘)은 전자 서명, 메시지, 및 사용자의 공개키를 이용하여 상기 전자 서명을 검증한다.A verification algorithm (or signature verification algorithm) verifies the electronic signature using the digital signature, the message, and the user's public key.

도 4는 도 1의 공개키 인증서 관리 시스템에서 생성된 공개키 인증서를 객체에 저장하는 과정을 설명하는 플로우차트이다.4 is a flowchart illustrating a process of storing a public key certificate generated in the public key certificate management system of FIG. 1 in an object.

사용자 컴퓨터(151-1, 또는 사용자 컴퓨터(151-1)의 사용자), 제1인증 기관 (130-1 또는 제1인증 기관(130-1)의 관리자), 루트 인증 기관(110 또는 루트 인증 기관(110)의 관리자), 및 공개키 인증서 관리 시스템(100)의 시스템 엔니지어 중에서 적어도 하나가 해당 전자 서명 프로그램을 선택하는 선택 주체가 될 수 있다.User computer (151-1 or user of user computer 151-1), first certification authority (130-1 or administrator of first certification authority 130-1), root certification authority (110 or root certification authority) At least one of the administrator of (110) and the system engineer of the public key certificate management system (100) may be a selection subject for selecting the corresponding electronic signature program.

우선, 객체가 사용자 컴퓨터(151-1)이고, 담당 인증 기관이 제1인증 기관 (130-1)이라고 가정하고, 사용자 인증서 공개키를 생성하고 관리하는 과정이 도 1 내지 도 4를 참조하여 설명된다.First, assuming that the object is the user computer 151-1 and the responsible certification authority is the first certification authority 130-1, a process of generating and managing a user certificate public key will be described with reference to FIGS. 1 to 4 do.

제1인증 기관(130-1)은 자신이 사용할 전자 서명 프로그램(SS_CCA)를 선택하고(S110), 제1인증 기관(130-1) 또는 사용자 컴퓨터(151-1)의 사용자는 사용자 컴퓨터(151-1)에서 사용될 전자 서명 프로그램(SS_OU)을 선택할수 있다(S112).The first certification authority 130-1 selects the digital signature program (SS_CCA) to be used (S110), and the user of the first certification authority 130-1 or the user computer 151-1 uses the user computer 151 -1) can select the electronic signature program (SS_OU) to be used (S112).

사용자 컴퓨터(151-1)에서 사용될 전자 서명 프로그램(SS_OU)을 선택하는 방법은 아래와 같다.A method of selecting an electronic signature program (SS_OU) to be used in the user computer 151-1 is as follows.

첫 번째, 제1인증 기관(130-1)이 자신이 사용할 전자 서명 프로그램을 제2그룹(220)에 포함된 전자 서명 프로그램들(221~229) 중에서 어느 하나를 선택한다. 루트 인증 기관(110)과 인증 기관들(130-1, 130-2, 및 130-3) 각각은 항상 제2그룹 (220)에 포함된 전자 서명 프로그램들(221~229) 중에서 어느 하나를 선택한다.First, the first certification authority 130-1 selects one of the electronic signature programs 221 to 229 included in the second group 220 as an electronic signature program to be used. Each of the root certification authority 110 and certification authorities 130-1, 130-2, and 130-3 always selects one of the electronic signature programs 221 to 229 included in the second group 220. do.

제1인증 기관(130-1)이 제1그룹(210)에 포함된 전자 서명 프로그램들(211, 213, 및 215) 중에서 어느 하나를 선택하고, 선택된 전자 서명 프로그램(211, 213, 또는 215)을 사용자 컴퓨터(151-1)로 전송하면, 선택된 전자 서명 프로그램(211, 213, 또는 215)은 사용자 컴퓨터(151-1)에 설치된다. The first certification authority 130-1 selects one of the electronic signature programs 211, 213, and 215 included in the first group 210, and the selected electronic signature program 211, 213, or 215 is transmitted to the user computer 151-1, the selected electronic signature program 211, 213, or 215 is installed in the user computer 151-1.

두 번째, 제1인증 기관(130-1)이 자신이 사용할 전자 서명 프로그램을 제2그룹(220)에 포함된 전자 서명 프로그램들(221~229) 중에서 어느 하나를 선택하고, 제2그룹(220)에 포함된 전자 서명 프로그램들(221~229)을 사용자 컴퓨터(151-1)로 전송하고, 사용자 컴퓨터(151-1)의 사용자가 전자 서명 프로그램들(221, 223, 225, 227, 및 229) 중에서 어느 하나를 선택하면, 선택된 전자 서명 프로그램(221, 223, 225, 227, 또는 229)이 사용자 컴퓨터(151-1)에 설치된다.Second, the first authentication authority 130-1 selects one of the electronic signature programs 221 to 229 included in the second group 220 as an electronic signature program to be used by the first authentication authority 130-1, and selects one of the electronic signature programs 220 ) and transmits the electronic signature programs 221 to 229 included in the user computer 151-1, and the user of the user computer 151-1 sends the electronic signature programs 221, 223, 225, 227, and 229 ), the selected electronic signature program 221, 223, 225, 227, or 229 is installed in the user computer 151-1.

실시 예에 따라, 루트 인증 기관(110)과 각 인증 기관(130-1~130-3)은 제2그룹(220)에서 해당 전자 서명 프로그램을 선택하고, 각 사용자는 제1그룹(210) 또는 제2그룹(220)에서 해당 전자 서명 프로그램을 선택할 수 있다. According to an embodiment, the root certification authority 110 and each certification authority 130-1 to 130-3 select a corresponding digital signature program from the second group 220, and each user selects the first group 210 or A corresponding electronic signature program can be selected from the second group 220 .

전자 서명 프로그램들을 선택하는 방법들은 아래에 예시된 바와 같다.Methods for selecting electronic signature programs are as illustrated below.

1. 제1방법1. Method 1

제1방법은 선택 주체가 제1인증 기관(130-1)에서 사용할 전자 서명 프로그램 (134-1)을 제2그룹(220)에서 선택하고, 사용자 컴퓨터(151-1)에서 사용될 전자 서명 프로그램 (155-1)을 제1그룹(210)에서 선택하는 방법이다.In the first method, the selection subject selects the electronic signature program 134-1 to be used by the first certification authority 130-1 from the second group 220, and the electronic signature program to be used in the user computer 151-1 ( 155-1) is selected from the first group 210.

1) 선택 주체가 제1인증 기관(130-1)에서 사용할 전자 서명 프로그램(134-1)을 격자 기반 전자 서명 알고리즘을 수행하는 컴퓨터 프로그램(221)으로 선택하고, 선택 주체가 사용자 컴퓨터(151-1)에서 사용될 전자 서명 프로그램(155-1)을 소인수 분해 문제 기반 알고리즘(예를 들면, RSA(Rivest Shamir Adleman) 알고리즘)을 수행하는 전자 서명 프로그램(211) 또는 타원 곡선 이산 대수 문제 기반 알고리즘(예를 들면, ECDSA(Elliptic Curve Digital Signature Algorithm))을 수행하는 컴퓨터 프로그램(215)으로 선택,1) The selection subject selects the electronic signature program 134-1 to be used by the first certification authority 130-1 as the computer program 221 that performs the lattice-based electronic signature algorithm, and the selection subject selects the user computer 151-1 1) an electronic signature program 211 that performs a prime factorization problem-based algorithm (eg, RSA (Rivest Shamir Adleman) algorithm) on the electronic signature program 155-1 to be used, or an elliptic curve discrete logarithm problem-based algorithm (eg For example, selected as a computer program 215 that performs ECDSA (Elliptic Curve Digital Signature Algorithm),

2) 선택 주체가 제1인증 기관(130-1)에서 사용할 전자 서명 프로그램(134-1)을 해시 기반 전자 서명 알고리즘을 수행하는 컴퓨터 프로그램(229)으로 선택하고, 선택 주체가 사용자 컴퓨터(151-1)에서 사용될 전자 서명 프로그램(155-1)을 소인수 분해 문제 기반 알고리즘(예를 들면, RSA 알고리즘)을 수행하는 전자 서명 프로그램(211) 또는 타원 곡선 이산 대수 문제 기반 알고리즘(예를 들면, ECDSA)을 수행하는 컴퓨터 프로그램(215)으로 선택,2) The selection subject selects the electronic signature program 134-1 to be used by the first certification authority 130-1 as the computer program 229 that performs the hash-based electronic signature algorithm, and the selection subject selects the user computer 151-1 1) an electronic signature program 211 that performs a prime factorization problem-based algorithm (eg, RSA algorithm) on the electronic signature program 155-1 to be used or an elliptic curve discrete logarithm problem-based algorithm (eg, ECDSA) Selected as a computer program 215 that performs,

3) 선택 주체가 제1인증 기관(130-1)에서 사용할 전자 서명 프로그램(134-1)을 다변수 기반 전자 서명 알고리즘을 수행하는 컴퓨터 프로그램(225)으로 선택하고, 선택 주체가 사용자 컴퓨터(151-1)에서 사용될 전자 서명 프로그램(155-1)을 소인수 분해 문제 기반 알고리즘(예를 들면, RSA 알고리즘)을 수행하는 전자 서명 프로그램(211) 또는 타원 곡선 이산 대수 문제 기반 알고리즘(예를 들면, ECDSA)을 수행하는 컴퓨터 프로그램(215)으로 선택,3) The selection subject selects the electronic signature program 134-1 to be used by the first certification authority 130-1 as the computer program 225 that performs the multi-variable based electronic signature algorithm, and the selection subject selects the user computer 151 -1) The electronic signature program 211 that performs the prime factorization problem-based algorithm (eg, RSA algorithm) on the electronic signature program 155-1 to be used or the elliptic curve discrete logarithm problem-based algorithm (eg, ECDSA ) selected as the computer program 215 that performs,

4) 선택 주체가 루트 인증 기관(110)에서 사용할 전자 서명 프로그램(114)을 항상 제2그룹(220)에 포함된 전자 서명 프로그램들(221~229) 중에서 어느 하나를 선택하되, 제1인증 기관(130-1)에서 사용할 전자 서명 프로그램(134-1)과 동일한 전자 서명 프로그램을 선택하거나, 제1인증 기관(130-1)에서 사용할 전자 서명 프로그램(134-1)과 다른 전자 서명 프로그램을 선택.4) The selection subject always selects one of the electronic signature programs 221 to 229 included in the second group 220 as the electronic signature program 114 to be used by the root certification authority 110, but the first certification authority Select the same electronic signature program as the electronic signature program (134-1) to be used in (130-1) or select an electronic signature program different from the electronic signature program (134-1) to be used in the first certification authority (130-1). .

2. 제2방법2. Method 2

제2방법은 선택 주체가 제1인증 기관(130-1)에서 사용할 전자 서명 프로그램(134-1)을 제2그룹(210)에서 선택하고, 사용자 컴퓨터(151-1)에서 사용될 전자 서명 프로그램 (155-1)을 제2그룹(220)에서 선택하는 방법이다. 이 방법은 제1인증 기관(130-1)과 사용자 컴퓨터(151-1)에서 사용될 전자 서명 프로그램은 동일한 전자 서명 프로그램이다.In the second method, the selection subject selects the electronic signature program 134-1 to be used in the first certification authority 130-1 from the second group 210, and the electronic signature program to be used in the user computer 151-1 ( 155-1) is selected from the second group 220. In this method, the electronic signature program to be used in the first authentication authority 130-1 and the user computer 151-1 is the same electronic signature program.

1) 선택 주체가 제1인증 기관(130-1)에서 사용할 전자 서명 프로그램(134-1)과 사용자 컴퓨터(151-1)에서 사용될 전자 서명 프로그램(155-1) 모두를 격자 기반 전자 서명 알고리즘을 수행하는 컴퓨터 프로그램(221)으로 선택,1) The selection subject sets both the electronic signature program 134-1 to be used in the first certification authority 130-1 and the electronic signature program 155-1 to be used in the user computer 151-1 by using a lattice-based digital signature algorithm. Selected as a computer program 221 to perform,

2) 선택 주체가 제1인증 기관(130-1)에서 사용할 전자 서명 프로그램(134-1)과 사용자 컴퓨터(151-1)에서 사용될 전자 서명 프로그램(155-1) 모두를 해시 기반 (Hash-based) 전자 서명 알고리즘을 수행하는 컴퓨터 프로그램(229)으로 선택,2) The selection subject hash-based both the electronic signature program 134-1 to be used in the first certification authority 130-1 and the electronic signature program 155-1 to be used in the user computer 151-1. ) selected as a computer program 229 that performs an electronic signature algorithm,

3) 선택 주체가 루트 인증 기관(110)과 제1인증 기관(130-1) 각각에서 사용할 전자 서명 프로그램(114와 134-1) 모두를 다변수 기반 전자 서명 알고리즘을 수행하는 컴퓨터 프로그램(225)으로 선택.3) A computer program 225 that performs a multi-variable based electronic signature algorithm on both of the electronic signature programs 114 and 134-1 to be used by the selected subject in the root certification authority 110 and the first certification authority 130-1, respectively. select by.

3. 제3방법3. Method 3

제3방법은 선택 주체가 제1인증 기관(130-1)에서 사용할 전자 서명 프로그램 (134-1)을 제2그룹(210)에서 선택하고, 사용자 컴퓨터(151-1)에서 사용될 전자 서명 프로그램(155-1)을 제2그룹(220)에서 선택하는 방법이다. 이 방법은 제1인증 기관(130-1)과 사용자 컴퓨터(151-1)에서 사용될 전자 서명 프로그램이 서로 다른 전자 서명 프로그램이다.In the third method, the selection subject selects the electronic signature program 134-1 to be used in the first certification authority 130-1 from the second group 210, and the electronic signature program to be used in the user computer 151-1 ( 155-1) is selected from the second group 220. In this method, the electronic signature programs to be used in the first certification authority 130-1 and the user computer 151-1 are different electronic signature programs.

1) 선택 주체가 제1인증 기관(130-1)에서 사용할 전자 서명 프로그램(134-1)을 다변수 기반 전자 서명 알고리즘을 수행하는 컴퓨터 프로그램(225)으로 선택하고, 선택 주체가 사용자 컴퓨터(151-1)에서 사용될 전자 서명 프로그램(155-1)을 격자 기반 전자 서명 알고리즘을 수행하는 컴퓨터 프로그램(221)으로 선택,1) The selection subject selects the electronic signature program 134-1 to be used by the first certification authority 130-1 as the computer program 225 that performs the multivariate-based electronic signature algorithm, and the selection subject selects the user computer 151 -1) Select the electronic signature program 155-1 to be used as the computer program 221 that performs the lattice-based electronic signature algorithm,

2) 선택 주체가 제1인증 기관(130-1)에서 사용할 전자 서명 프로그램(134-1)을 해시 기반(Hash-based) 전자 서명 알고리즘을 수행하는 컴퓨터 프로그램(229)으로 선택하고, 선택 주체가 사용자 컴퓨터(151-1)에서 사용될 전자 서명 프로그램 (155-1)을 격자 기반 전자 서명 알고리즘을 수행하는 컴퓨터 프로그램(221)으로 선택,2) The selection subject selects the electronic signature program 134-1 to be used by the first certification authority 130-1 as a computer program 229 that performs a hash-based electronic signature algorithm, and the selection subject Selecting the electronic signature program 155-1 to be used in the user computer 151-1 as the computer program 221 that performs the lattice-based electronic signature algorithm,

3) 선택 주체가 루트 인증 기관(110)에서 사용할 전자 서명 프로그램(114)을 다변수 기반 전자 서명 알고리즘을 수행하는 컴퓨터 프로그램(225)으로 선택하고, 선택 주체가 제1인증 기관(130-1)과 사용자 컴퓨터(151-1) 각각에서 사용될 전자 서명 프로그램(134-1과 155-1)을 격자 기반 전자 서명 알고리즘을 수행하는 컴퓨터 프로그램(221)으로 선택,3) The selection subject selects the electronic signature program 114 to be used by the root certification authority 110 as the computer program 225 that performs the multivariate-based electronic signature algorithm, and the selection subject selects the first certification authority 130-1 and selecting the electronic signature programs 134-1 and 155-1 to be used in each of the user computers 151-1 as the computer program 221 that performs the lattice-based electronic signature algorithm,

4) 선택 주체가 제1인증 기관(110)에서 사용할 전자 서명 프로그램(134-1)을 제1타입(예를 들면, 표준 격자)을 이용하는 격자 기반 전자 서명 알고리즘을 수행하는 컴퓨터 프로그램(221-1)으로 선택하고, 선택 주체가 사용자 컴퓨터(151-1)에서 사용될 전자 서명 프로그램(155-1)을 제3타입(예를 들면, 모듈 격자)을 이용하는 격자 기반 전자 서명 알고리즘을 수행하는 컴퓨터 프로그램(221-3)으로 선택.4) A computer program (221-1) that performs a lattice-based electronic signature algorithm using the first type (eg, standard lattice) of the electronic signature program (134-1) to be used by the first authentication authority (110) by the selection entity ), and a computer program for performing a lattice-based electronic signature algorithm using a third type (eg, module lattice) for the electronic signature program 155-1 to be used in the user computer 151-1 by the selection subject ( 221-3).

사용자 컴퓨터(151-1)에 설치된 전자 서명 프로그램(155-1)은 전자 서명 프로그램(155-1)의 키 생성 알고리즘을 이용하여 사용자의 공개키(OPK)를 생성한다 (S114). 이때, 사용자의 공개키(OPK)와 비밀키는 쌍으로 생성된다.The electronic signature program 155-1 installed in the user computer 151-1 generates the user's public key (OPK) using the key generation algorithm of the electronic signature program 155-1 (S114). At this time, the user's public key (OPK) and private key are generated as a pair.

전자 서명 프로그램(155-1)은 사용자 컴퓨터(151-1 또는 사용자 컴퓨터 (151-1)의 사용자)를 유니크(unique)하게 식별할 수 있는 식별 정보(OID)와 사용자의 공개키(OPK)를 포함하는 메시지(M(OID, OPK))를 생성하여 통신 장치를 통해 제1인증 기관(130-1)으로 전송한다(S116).The electronic signature program 155-1 generates identification information (OID) capable of uniquely identifying the user computer (151-1 or the user of the user computer 151-1) and the user's public key (OPK). A message (M(OID, OPK)) is generated and transmitted to the first authentication authority 130-1 through the communication device (S116).

제1인증 기관(130-1)에 설치된 전자 서명 프로그램(134-1)은 전자 서명 프로그램(134-1)의 서명 생성 알고리즘을 이용하여 사용자의 식별 정보(OID)와 공개키 (OPK)에 대한 제1인증 기관(130-1)의 전자 서명(Sig_CCA(OID, OPK))을 생성한다 (S118). 예를 들면, 전자 서명 프로그램(134-1)은 제1인증 기관(130-1)의 비밀키로 식별정보(OID)와 공개키(OPK)에 전자 서명을 하여 전자 서명(Sig_CCA(OID, OPK))을 생성한다(S118).The electronic signature program 134-1 installed in the first certification authority 130-1 uses the signature generation algorithm of the electronic signature program 134-1 to generate information about the user's identification information (OID) and public key (OPK). An electronic signature (Sig_CCA (OID, OPK)) of the first certification authority 130-1 is generated (S118). For example, the electronic signature program 134-1 digitally signs the identification information (OID) and the public key (OPK) with the secret key of the first certification authority 130-1 to obtain an electronic signature (Sig_CCA (OID, OPK) ) is generated (S118).

전자 서명 프로그램(134-1)의 서명 생성 알고리즘은 식별 정보(OID), 사용자의 공개키(OPK), 및 전자 서명(Sig_CCA(OID, OPK))을 포함하는 사용자의 공개키 인증서(Cert_OU)를 생성하고(S210), 공개키 인증서(Cert_OU)를 사용자 컴퓨터(151-1)로 전송한다(S122-1). 전자 서명 프로그램(155-1)은 공개키 인증서(Cert_OU)를 수신하여 저장 장치(157-1)에 저장한다(S124-1).The signature generation algorithm of the digital signature program 134-1 generates the user's public key certificate (Cert_OU) including identification information (OID), the user's public key (OPK), and the digital signature (Sig_CCA (OID, OPK)). It is generated (S210), and the public key certificate (Cert_OU) is transmitted to the user computer (151-1) (S122-1). The electronic signature program 155-1 receives the public key certificate (Cert_OU) and stores it in the storage device 157-1 (S124-1).

객체가 제1인증 기관(130-1)이고, 담당 인증 기관이 루트 인증 기관(110)이라고 가정하여 제1인증 기관(130-1)의 인증서 공개키를 생성하고 관리하는 과정이 도 1 내지 도 4를 참조하여 설명된다.Assuming that the object is the first certification authority 130-1 and the responsible certification authority is the root certification authority 110, a process of generating and managing a certificate public key of the first certification authority 130-1 is illustrated in FIGS. It is explained with reference to 4.

루트 인증 기관(110)은 자신이 사용할 전자 서명 프로그램(SS_CCA)를 선택하고(S110), 루트 인증 기관(110) 또는 제1인증 기관(130-1)의 관리자는 제1인증 기관(130-1)에서 사용될 전자 서명 프로그램(SS_OU)을 선택한다(S112).The root certification authority 110 selects the digital signature program (SS_CCA) to be used (S110), and the manager of the root certification authority 110 or the first certification authority 130-1 selects the first certification authority 130-1. ) selects an electronic signature program (SS_OU) to be used (S112).

제1인증 기관(130-1)에 설치된 전자 서명 프로그램(134-1)은 전자 서명 프로그램(134-1)의 키 생성 알고리즘을 이용하여 제1인증 기관(130-1)의 공개키(OPK)를 생성한다(S114). 이때, 제1인증 기관(130-1)의 공개키(OPK)와 비밀키는 쌍으로 생성된다.The digital signature program 134-1 installed in the first certification authority 130-1 generates the public key (OPK) of the first certification authority 130-1 by using the key generation algorithm of the digital signature program 134-1. is generated (S114). At this time, the public key (OPK) and the private key of the first certification authority 130-1 are generated as a pair.

전자 서명 프로그램(134-1)은 제1인증 기관(130-1) 또는 제1인증 기관(130-1)의 관리자의 식별 정보(OID)와 제1인증 기관(130-1)의 공개키(OPK)를 포함하는 메시지(M(OID, OPK))를 생성하여 통신 장치를 통해 루트 인증 기관(110)으로 전송한다(S116).The electronic signature program 134-1 is the first authentication authority 130-1 or the identification information (OID) of the manager of the first certification authority 130-1 and the public key of the first authentication authority 130-1 ( A message (M(OID, OPK)) including OPK is generated and transmitted to the root certification authority 110 through the communication device (S116).

루트 인증 인증 기관(110)에 설치된 전자 서명 프로그램(114)은 전자 서명 프로그램(114)의 서명 생성 알고리즘을 이용하여 제1인증 기관(130-1)의 식별 정보 (OID)와 공개키(OPK)에 대한 루트 인증 기관(110)의 전자 서명(Sig_CCA(OID, OPK))을 생성한다(S118). 예를 들면, 전자 서명 프로그램(114)은 루트 인증 인증 기관 (110)의 비밀키로 식별 정보(OID)와 공개키(OPK)에 전자 서명을 하여 전자 서명 (Sig_CCA(OID, OPK))을 생성한다(S118).The digital signature program 114 installed in the root certification authority 110 generates identification information (OID) and public key (OPK) of the first certification authority 130-1 using the signature generation algorithm of the digital signature program 114. An electronic signature (Sig_CCA (OID, OPK)) of the root certification authority 110 for is generated (S118). For example, the electronic signature program 114 digitally signs identification information (OID) and public key (OPK) with the private key of the root certification authority 110 to generate an electronic signature (Sig_CCA (OID, OPK)). (S118).

전자 서명 프로그램(114)의 서명 생성 알고리즘은 식별 정보(OID), 제1인증 기관(130-1)의 공개키(OPK), 및 전자 서명(Sig_CCA(OID, OPK))을 포함하는 제1인증 기관(130-1)의 공개키 인증서(Cert_OU)를 생성하고(S210), 공개키 인증서(Cert_OU)를 제1인증 기관(130-1)로 전송한다(S122-1). 전자 서명 프로그램(134-1)은 공개키 인증서(Cert_OU)를 수신하여 저장 장치(136-1)에 저장한다(S124-1).The signature generation algorithm of the digital signature program 114 is first authentication including identification information (OID), a public key (OPK) of the first certification authority (130-1), and a digital signature (Sig_CCA (OID, OPK)). A public key certificate (Cert_OU) of the authority 130-1 is generated (S210), and the public key certificate (Cert_OU) is transmitted to the first certification authority 130-1 (S122-1). The electronic signature program 134-1 receives the public key certificate (Cert_OU) and stores it in the storage device 136-1 (S124-1).

도 5는 도 1의 공개키 인증서 관리 시스템에서 생성된 공개키 인증서를 클라우드 스토리지에 저장하는 과정을 설명하는 플로우차트이다.5 is a flowchart illustrating a process of storing a public key certificate generated in the public key certificate management system of FIG. 1 in a cloud storage.

도 4를 참조하면 담당 인증 기관(130-1, 또는 110)에서 생성된 객체의 공개키 인증서(Cert_OU)는 객체(151-1 또는 130-1)에 저장되나, 도 5에서는 담당 인증 기관(130-1, 또는 110)에서 생성된 객체의 공개키 인증서(Cert_OU)는 객체(151-1 또는 130-1)에 저장되지 않고 클라우드 저장 장치(180)에 저장된다.Referring to FIG. 4 , the public key certificate (Cert_OU) of the object generated by the responsible certification authority 130-1 or 110 is stored in the object 151-1 or 130-1, but in FIG. 5, the responsible certification authority 130 The public key certificate (Cert_OU) of the object generated in -1 or 110) is stored in the cloud storage device 180, not stored in the object 151-1 or 130-1.

도 1 내지 5를 참조하면, 전자 서명 프로그램(114 또는 134-1)의 서명 생성 알고리즘은 식별 정보(OID), 객체의 공개키(OPK), 및 전자 서명(Sig_CCA(OID, OPK))을 포함하는 상기 객체의 공개키 인증서(Cert_OU)를 생성하고(S120), 공개키 인증서(Cert_OU)를 클라우드 저장 장치(180)로 전송한다(S122-2). 클라우드 저장 장치(180)는 객체의 공개키 인증서(Cert_OU)를 수신하여 그 안에 저장한다(S124-2).1 to 5, the signature generation algorithm of the electronic signature program 114 or 134-1 includes identification information (OID), object public key (OPK), and electronic signature (Sig_CCA (OID, OPK)). A public key certificate (Cert_OU) of the object to be generated (S120), and the public key certificate (Cert_OU) is transmitted to the cloud storage device 180 (S122-2). The cloud storage device 180 receives the object's public key certificate (Cert_OU) and stores it therein (S124-2).

루트 인증 기관(110)과 각 인증 기관(130-2와 130-3) 사이의 작동 방법은 루트 인증 기관(110)과 제1인증 기관(130-1) 사이의 작동 방법과 동일하고, 각 인증 기관(130-2와 130-3)과 각 사용자 컴퓨터(161-1~161-Y, 및 171-1~171-Z) 사이의 작동 방법은 제1기관(130-1)과 각 사용자 컴퓨터(151-1~151-X) 사이의 작동 방법은 동일하므로, 이들에 대한 상세한 설명을 생략한다. The operation method between the root certification authority 110 and each certification authority 130-2 and 130-3 is the same as that between the root certification authority 110 and the first certification authority 130-1, and each authentication The operating method between the institutions 130-2 and 130-3 and each user computer (161-1 to 161-Y and 171-1 to 171-Z) is the first institution 130-1 and each user computer ( 151-1 to 151-X) are the same, so a detailed description thereof will be omitted.

도 6은 본 발명의 실시 예들에 따라 개인 식별 정보 기반 전자 서명 프로그램 설계를 위한 공개키 기반 전자 서명 프로그램을 선택하는 방법을 수행하는 시스템의 블록도이다.6 is a block diagram of a system for performing a method of selecting a public key-based electronic signature program for designing a personal identification information-based electronic signature program according to embodiments of the present invention.

도 2와 및 도 6을 참조하면, 본 발명의 실시 예에 따른 신원 정보 기반 전자 서명 스킴(identity information-based electronic signature scheme)을 설계하기 위해서는 두 개의 공개키 기반 전자 서명 알고리즘들이 필요하다. 두 개의 공개키 기반 전자 서명 알고리즘들은 키 생성 센터(Key Generation Center, 이하 'KGC'라 한다)가 사용할 전자 서명 알고리즘과, 사용자가 사용할 전자 서명 알고리즘을 포함한다. 본 발명은 두 개의 공개키 기반 전자 서명 알고리즘들을 선택하는 방법이다.Referring to FIGS. 2 and 6 , two public key-based electronic signature algorithms are required to design an identity information-based electronic signature scheme according to an embodiment of the present invention. The two public key-based electronic signature algorithms include an electronic signature algorithm to be used by a Key Generation Center (hereinafter referred to as 'KGC') and an electronic signature algorithm to be used by a user. The present invention is a method for selecting two public key based digital signature algorithms.

시스템(300)은 KGC(310), 제1사용자 컴퓨터(330-1), 및 제2사용자 컴퓨터 (330-2)를 포함한다. KGC(310)는 컴퓨터 또는 서버(이를 '데이터 처리 장치'라고도 한다.)일 수 있다.The system 300 includes a KGC 310, a first user computer 330-1, and a second user computer 330-2. The KGC 310 may be a computer or a server (also referred to as a 'data processing device').

KGC(310)는 전자 서명 프로그램(314)을 실행하는 프로세서(312)와, 각 사용자 컴퓨터(330-1과 330-2)와 정보를 주고받는 통신 장치를 포함한다.The KGC 310 includes a processor 312 that executes the electronic signature program 314 and a communication device that exchanges information with each user computer 330-1 and 330-2.

제1사용자 컴퓨터(330-1)는 전자 서명 프로그램(334-1)을 실행하는 프로세서 (332-1), 저장 장치(336-1), 및 해당 장치(310 및 330-2)와 통신 네트워크를 통해 정보를 주고받는 통신 장치를 포함한다.The first user computer 330-1 establishes a communication network with a processor 332-1 executing an electronic signature program 334-1, a storage device 336-1, and corresponding devices 310 and 330-2. It includes a communication device for exchanging information through.

제2사용자 컴퓨터(330-2)는 전자 서명 프로그램(334-2)을 실행하는 프로세서 (332-2), 저장 장치(336-2), 및 해당 장치(310과 330-1)와 통신 네트워크를 통해 정보를 주고받는 통신 장치를 포함한다.The second user computer 330-2 establishes a processor 332-2 executing the electronic signature program 334-2, a storage device 336-2, and a communication network with the corresponding devices 310 and 330-1. It includes a communication device for exchanging information through.

1. 제2그룹에 포함된 동일한 전자 서명 프로그램을 사용1. Use the same electronic signature program included in the 2nd group

KGC(310)에서 사용될 전자 서명 프로그램(314)와 각 사용자 컴퓨터(330-1과 330-2)에서 사용될 전자 서명 프로그램(334-1과 334-2) 모두는 도 2의 제2그룹 (220)에 포함된 전자 서명 프로그램들(221~229) 중에서 어느 하나가 선택된다. 즉, 각 객체(310, 330-1, 및 330-2) 모두는 동일한 전자 서명 프로그램을 사용한다.Both the electronic signature program 314 to be used in the KGC 310 and the electronic signature programs 334-1 and 334-2 to be used in the respective user computers 330-1 and 330-2 are the second group 220 of FIG. Any one of the electronic signature programs 221 to 229 included in is selected. That is, all of the objects 310, 330-1, and 330-2 use the same electronic signature program.

예를 들면, KGC(310)에서 사용될 전자 서명 프로그램(314)과 각 사용자 컴퓨터(330-1과 330-2)에서 사용될 전자 서명 프로그램(334-1과 334-2) 모두는 제2그룹 (220)에 포함된 격자 기반 전자 서명 알고리즘을 수행하는 컴퓨터 프로그램(221) 또는 다변수 기반 전자 서명 알고리즘을 수행하는 컴퓨터 프로그램(225)일 수 있으나 이에 한정되는 것은 아니다.For example, both the electronic signature program 314 to be used in the KGC 310 and the electronic signature programs 334-1 and 334-2 to be used in the respective user computers 330-1 and 330-2 are the second group 220 ), but may be a computer program 221 performing a lattice-based electronic signature algorithm or a computer program 225 performing a multivariate-based electronic signature algorithm, but is not limited thereto.

2. 제2그룹에 포함된 서로 다른 전자 서명 프로그램을 사용2. Using different electronic signature programs included in the second group

KGC(310)에서 사용될 전자 서명 프로그램(314)과 각 사용자 컴퓨터(330-1과 330-2)에서 사용될 전자 서명 프로그램(334-1과 334-2) 모두는 도 2의 제2그룹 (220)에 포함되나, 각 객체(310, 330-1, 및 330-2)는 서로 다른 전자 서명 프로그램을 사용한다.Both the electronic signature program 314 to be used in the KGC 310 and the electronic signature programs 334-1 and 334-2 to be used in the respective user computers 330-1 and 330-2 are the second group 220 of FIG. , but each object 310, 330-1, and 330-2 uses a different electronic signature program.

이 방법은 설계될 개인 식별 정보 기반 전자 서명 알고리즘의 전자 서명 길이, 서명 생성 속도, 및/또는 서명 검증 속도 등 효율성 요구 조건에 적합하도록 두 개의 전자 서명 알고리즘들이 선택될 수 있어 각 객체(310, 330-1, 및 330-2)에 대한 맞춤형 설계가 가능하다.In this method, two electronic signature algorithms can be selected to meet efficiency requirements such as the digital signature length, signature generation speed, and / or signature verification speed of the digital signature algorithm based on personal identification information to be designed, so that each object 310, 330 -1, and 330-2) can be customized.

예를 들면, KGC(310)에서 사용될 전자 서명 프로그램(314)으로 다변수 기반 전자 서명 알고리즘을 수행하는 컴퓨터 프로그램(225) 또는 해시 기반 전자 서명 알고리즘을 수행하는 컴퓨터 프로그램(229)이 선택되고, 각 사용자 컴퓨터(330-1과 330-2)에서 사용될 전자 서명 프로그램(334-1과 334-2)으로 격자 기반 전자 서명 알고리즘을 수행하는 컴퓨터 프로그램(221)이 선택된다.For example, as the electronic signature program 314 to be used in the KGC 310, a computer program 225 performing a multivariate-based electronic signature algorithm or a computer program 229 performing a hash-based electronic signature algorithm is selected, and each The computer program 221 that performs the lattice-based electronic signature algorithm is selected as the electronic signature programs 334-1 and 334-2 to be used in the user computers 330-1 and 330-2.

선택된 두 개의 공개키 기반 전자 서명 알고리즘으로부터 개인 식별 정보 기반 전자 서명 알고리즘을 설계하는 방법은 도 2, 도 3, 및 도 6을 참조하여 설명된다.A method of designing an electronic signature algorithm based on personal identification information from two selected public key based electronic signature algorithms will be described with reference to FIGS. 2, 3, and 6.

제2그룹(220)에 포함된 전자 서명 프로그램들(221~229) 중에서 어느 하나가 KGC(310)에서 사용될 전자 서명 프로그램(314)으로 선택되고, 제2그룹(220)에 포함된 전자 서명 프로그램들(221~229) 중에서 상기 어느 하나 또는 다른 하나가 각 사용자 컴퓨터(330-1과 330-2)에서 사용될 전자 서명 프로그램(334-1과 334-2)으로 선택되었다고 가정한다.Any one of the electronic signature programs 221 to 229 included in the second group 220 is selected as the electronic signature program 314 to be used in the KGC 310, and the electronic signature program included in the second group 220 It is assumed that one or the other of the above 221 to 229 is selected as the electronic signature programs 334-1 and 334-2 to be used in the respective user computers 330-1 and 330-2.

KGC(310)의 컴퓨터 프로그램(314)에서 키 생성 알고리즘을 수행하는 키 생성 프로그램은 KGC 공개키(PK_M)와 KGC 비밀키(SK_M)의 쌍((PK_M, SK_M))을 생성한다 (S310).The key generation program that performs the key generation algorithm in the computer program 314 of the KGC 310 generates a pair ((PK_M, SK_M)) of a KGC public key (PK_M) and a KGC private key (SK_M) (S310).

컴퓨터 프로그램(314)의 키 생성 프로그램은 제1사용자 컴퓨터(330-1)의 컴퓨터 프로그램(334-1)로부터 제1사용자 신원(identity) 정보(ID)를 수신하면 (S312), 컴퓨터 프로그램(314)의 키 생성 프로그램은 제1사용자 신원 정보(ID)를 이용하여 제1사용자 공개키(PK_U)와 제1사용자 비밀키(SK_U)의 쌍((PK_U, SK_U))를 생성한다(S314).When the key generation program of the computer program 314 receives the first user identity information (ID) from the computer program 334-1 of the first user computer 330-1 (S312), the computer program 314 The key generation program of ) generates a pair ((PK_U, SK_U)) of the first user public key (PK_U) and the first user private key (SK_U) using the first user identity information (ID) (S314).

KGC(310)의 컴퓨터 프로그램(314)에서 서명 생성 알고리즘을 수행하는 서명 생성 프로그램은 KGC 비밀키(SK_M)로 제1사용자 신원 정보(ID)와 제1사용자 공개키 (PK_U)에 전자 서명을 하여 KGC 전자 서명(Sig_KGC(ID, PK_U))을 생성한다(S316).The signature generation program that performs the signature generation algorithm in the computer program 314 of the KGC 310 electronically signs the first user identification information (ID) and the first user public key (PK_U) with the KGC private key (SK_M). A KGC electronic signature (Sig_KGC (ID, PK_U)) is generated (S316).

컴퓨터 프로그램(314)의 서명 생성 프로그램은 제1사용자 공개키와 제1사용자 비밀키의 쌍((PK_U, SK_U))과 KGC 전자 서명(Sig_KGC(ID, PK_U))을 포함하는 제1사용자 풀(full) 비밀키(FSK_U=(PK_U, SK_U, Sig_KGC(ID, PK_U))를 생성하고 (S318), 이(FSK_U)를 안전한 채널(SECH)을 통해 제1사용자 컴퓨터(330-1)로 전송한다(S320). 암호(cryptography)에서, 안전한 채널(SECH)은 도청(overhearing)과 변조(tampering)에 강한 데이터 전송 수단을 의미한다.The signature generation program of the computer program 314 is a first user pool (including a pair of first user public key and first user private key ((PK_U, SK_U)) and a KGC electronic signature (Sig_KGC (ID, PK_U)) A full) secret key (FSK_U = (PK_U, SK_U, Sig_KGC (ID, PK_U)) is generated (S318), and this (FSK_U) is transmitted to the first user computer 330-1 through a secure channel (SECH) (S320) In cryptography, the secure channel (SECH) means data transmission means that is resistant to overhearing and tampering.

제1사용자 컴퓨터(330-1)의 컴퓨터 프로그램(334-1)은 제1사용자 풀 비밀키 (FSK_U=(PK_U, SK_U, Sig_KGC(ID, PK_U))를 수신하여 이를 저장 장치(336-1)에 안전하게 저장한다.The computer program 334-1 of the first user computer 330-1 receives the first user pool secret key (FSK_U=(PK_U, SK_U, Sig_KGC(ID, PK_U))) and stores it in the storage device 336-1. stored safely in

메시지(M)가 컴퓨터 프로그램(334-1)으로 입력되면(S322), 컴퓨터 프로그램 (334-1)에서 서명 생성 알고리즘을 수행하는 서명 생성 프로그램은 제1사용자 풀 비밀키(FSK_U=(PK_U, SK_U, Sig_KGC(ID, PK_U))에 포함된 제1사용자 비밀키(SK_U)로 메시지(M), 제1사용자 신원 정보(ID), 및 제1사용자 공개키(PK_U)에 전자 서명을 하여 제1사용자 전자 서명(Sig_U(M, ID, PK_U))을 생성한다(S324).When the message M is input to the computer program 334-1 (S322), the signature generation program that performs the signature generation algorithm in the computer program 334-1 uses the first user pool secret key (FSK_U=(PK_U, SK_U) , Sig_KGC (ID, PK_U)) to digitally sign the message (M), the first user identity information (ID), and the first user public key (PK_U) with the first user's private key (SK_U) included in the first user's private key (SK_U). A user digital signature (Sig_U (M, ID, PK_U)) is generated (S324).

컴퓨터 프로그램(334-1)의 서명 생성 프로그램은 제1사용자 공개키와 제1사용자 비밀키의 쌍((PK_U, SK_U)), KGC 전자 서명(Sig_KGC(ID, PK_U)), 및 제1사용자 전자 서명(Sig_U(M, ID, PK_U))을 포함하는 제1사용자 전송 전자 서명 (Sig_IBS=(PK_U, Sig_KGC(ID, PK_U), Sig_U(M, ID, PK_U))을 생성하고, 제1사용자 신원 정보(ID), 메시지(M), 및 제1사용자 전송 전자 서명(Sig_IBS=(PK_U, Sig_KGC(ID, PK_U), Sig_U(M, ID, PK_U))를 제2사용자 컴퓨터(330-2)로 전송한다 (S326).The signature generation program of the computer program 334-1 includes a pair of a first user public key and a first user private key ((PK_U, SK_U)), a KGC digital signature (Sig_KGC(ID, PK_U)), and a first user electronic signature. Generates a first user transmission digital signature (Sig_IBS=(PK_U, Sig_KGC(ID, PK_U), Sig_U(M, ID, PK_U)) including a signature (Sig_U(M, ID, PK_U)), and identifies the first user Information (ID), message (M), and electronic signature transmitted by the first user (Sig_IBS=(PK_U, Sig_KGC(ID, PK_U), Sig_U(M, ID, PK_U)) to the second user computer 330-2 Transmit (S326).

제2사용자 컴퓨터(330-2)의 컴퓨터 프로그램(334-2)에서 검증 알고리즘을 수행하는 검증 프로그램은 KGC 공개키(PK_M)를 획득한다(S328). 예를 들면, 컴퓨터 프로그램(334-2)의 검증 프로그램은 KGC(310)로부터 KGC 공개키(PK_M)를 수신할 수 있다.The verification program performing the verification algorithm in the computer program 334-2 of the second user computer 330-2 acquires the KGC public key (PK_M) (S328). For example, the verification program of the computer program 334-2 may receive the KGC public key (PK_M) from the KGC 310.

컴퓨터 프로그램(334-2)의 검증 프로그램은 KGC 공개키(PK_M)를 이용하여 KGC 전자 서명(Sig_KGC(ID, PK_U))을 검증한다(S330). 검증 결과 KGC 전자 서명 (Sig_KGC(ID, PK_U))이 유효하다고 판단되면 컴퓨터 프로그램(334-2)의 검증 프로그램은 다음 단계(S332)를 수행하고, 검증 결과 KGC 전자 서명(Sig_KGC(ID, PK_U))이 유효하지 않다고 판단되면 컴퓨터 프로그램(334-2)의 검증 프로그램은 제1사용자 전송 전자 서명(Sig_IBS)을 거부한다.The verification program of the computer program 334-2 verifies the KGC electronic signature (Sig_KGC(ID, PK_U)) using the KGC public key (PK_M) (S330). If it is determined that the KGC electronic signature (Sig_KGC(ID, PK_U)) is valid as a result of the verification, the verification program of the computer program 334-2 performs the next step (S332), and as a result of the verification, the KGC electronic signature (Sig_KGC(ID, PK_U)) ) is invalid, the verification program of the computer program 334-2 rejects the first user transmission electronic signature (Sig_IBS).

예를 들면, 검증 프로그램은 제1사용자 전송 전자 서명(Sig_IBS=(PK_U, Sig_KGC(ID, PK_U), Sig_U(M, ID, PK_U))으로부터 제1사용자 공개키(PK_U), KGC 전자 서명(Sig_KGC(ID, PK_U)), 및 제1사용자 전자 서명(Sig_U(M, ID, PK_U))을 추출할 수 있다.For example, the verification program uses the first user public key (PK_U), KGC digital signature (Sig_KGC (ID, PK_U)) and the first user's electronic signature (Sig_U (M, ID, PK_U)) may be extracted.

컴퓨터 프로그램(334-2)의 검증 프로그램은 KGC 공개키(PK_M)를 이용하여 제1사용자 전자 서명(Sig_U(M, ID, PK_U))을 검증한다(S332). 검증 결과 제1사용자 전자 서명(Sig_U(M, ID, PK_U))이 유효하다고 판단되면 컴퓨터 프로그램(334-2)의 검증 프로그램은 제1사용자 전자 서명(Sig_U(M, ID, PK_U))을 승인하고, 검증 결과 제1사용자 전자 서명(Sig_U(M, ID, PK_U))이 유효하지 않다고 판단되면 컴퓨터 프로그램(334-2)의 검증 프로그램은 제1사용자 전송 전자 서명(Sig_IBS)을 거부한다.The verification program of the computer program 334-2 verifies the first user electronic signature (Sig_U (M, ID, PK_U)) using the KGC public key (PK_M) (S332). As a result of the verification, if it is determined that the first user's electronic signature (Sig_U(M, ID, PK_U)) is valid, the verification program of the computer program 334-2 approves the first user's electronic signature (Sig_U(M, ID, PK_U)). And, as a result of the verification, if it is determined that the first user electronic signature Sig_U(M, ID, PK_U) is not valid, the verification program of the computer program 334-2 rejects the first user transmission electronic signature Sig_IBS.

도 1 내지 도 5를 참조하여 설명된 시스템(100)에서 설명된 공개키 기반 전자 서명 알고리즘(또는 공개키 기반 전자 서명 프로그램)은 신뢰할 수 있는 기관인 담당 인증 기관(110, 130-1, 130-2, 또는 130-3)이 객체(30-1, 130-2, 130-3, 151-1~151-X, 161-1~161-Y, 또는 171-1~171-Z)의 공개키에 대한 공개키 인증서 (Cert_OU)를 발급하여 인증해 주는 구조이다.The public key-based electronic signature algorithm (or public key-based digital signature program) described in the system 100 described with reference to FIGS. 1 to 5 is a responsible certification authority (110, 130-1, 130-2) , or 130-3) to the public key of the object (30-1, 130-2, 130-3, 151-1 through 151-X, 161-1 through 161-Y, or 171-1 through 171-Z). It is a structure that authenticates by issuing a public key certificate (Cert_OU).

그러나, 도 6을 참조하여 설명된 시스템(300)에서 설명된 개인 식별 정보 기반 전자 서명 알고리즘(또는 개인 식별 정보 기반 전자 서명 프로그램)은 KGC(310)가 KGC 비밀키(SK_M)를 이용하여 사용자 컴퓨터(330-1 또는 330-2)의 사용자의 신원 정보(ID)에 대한 비밀키를 생성해서 이를 사용자 컴퓨터(330-1 또는 330-2)로 안전한 통신 채널을 통해 전송하고, 사용자 컴퓨터(330-1 또는 330-2)에서 실행되는 컴퓨터 프로그램은 공개키 인증서(Cert_OU)를 사용하는 대신에 개인 식별 정보를 이용하여 전자 서명(Sig_IBS)을 생성하고 이를 검증한다.However, in the personal identification information-based electronic signature algorithm (or personal identification information-based electronic signature program) described in the system 300 described with reference to FIG. 6, the KGC 310 uses the KGC secret key (SK_M) to (330-1 or 330-2) generates a secret key for the user's identity information (ID), transmits it to the user computer (330-1 or 330-2) through a secure communication channel, and The computer program executed in 1 or 330-2) generates and verifies a digital signature (Sig_IBS) using personal identification information instead of using a public key certificate (Cert_OU).

따라서, 도 6을 참조하여 설명된 시스템(300)은 사용자에 대한 공개키의 유효성을 보증하는 도 1의 인증 기관(110, 130-1, 130-2, 및 130-3)을 포함하지 않는다. Accordingly, the system 300 described with reference to FIG. 6 does not include the certification authorities 110, 130-1, 130-2, and 130-3 of FIG. 1 that guarantee the validity of public keys for users.

본 발명은 도면에 도시된 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.Although the present invention has been described with reference to the embodiments shown in the drawings, this is only exemplary, and those skilled in the art will understand that various modifications and equivalent other embodiments are possible therefrom. Therefore, the true technical protection scope of the present invention should be determined by the technical spirit of the attached claims.

100: 시스템
110: 루트 인증 기관
114, 134-1, 134-2, 134-3: 전자 서명 프로그램
130-1, 130-2, 130-3: 인증 기관
151-1~151-X, 161-1~161-Y, 171-1~171-Z: 사용자 컴퓨터
300: 시스템
310: 키 생성 센터
330-1: 제1사용자 컴퓨터
330-2: 제2사용자 컴퓨터
100: system
110 Root Certification Authority
114, 134-1, 134-2, 134-3: electronic signature program
130-1, 130-2, 130-3: Certification Authority
151-1~151-X, 161-1~161-Y, 171-1~171-Z: User computer
300: system
310: key generation center
330-1: first user computer
330-2: Second user computer

Claims (22)

인증 기관의 컴퓨터에서 실행되는 인증 기관 전자 서명 프로그램이 객체의 컴퓨터에서 실행되는 객체 전자 서명 프로그램으로부터 상기 객체의 식별 정보와 상기 객체의 공개키를 수신하는 단계;
상기 인증 기관 전자 서명 프로그램이 상기 식별 정보와 상기 공개키에 대한 상기 인증 기관의 전자 서명을 생성하는 단계; 및
상기 인증 기관 전자 서명 프로그램이 상기 식별 정보, 상기 공개키, 및 상기 전자 서명을 포함하는 객체 공개키 인증서를 생성하는 단계를 포함하는 객체 공개키 인증서를 생성하는 방법.
receiving identification information of the object and public key of the object from an object electronic signature program executed on the object's computer, by a certification authority digital signature program running on the computer of the certification authority;
generating, by the certification authority digital signature program, an electronic signature of the certification authority for the identification information and the public key; and
generating, by the certificate authority digital signature program, an object public key certificate including the identification information, the public key, and the digital signature.
제1항에 있어서,
상기 인증 기관 전자 서명 프로그램은 양자 컴퓨터를 이용한 암호해독 공격에 안전한 제2그룹에 포함된 전자 서명 프로그램들 중에서 어느 하나이고,
상기 객체 전자 서명 프로그램은 상기 양자 컴퓨터를 이용한 암호해독 공격에 안전하지 않은 제1그룹에 포함된 전자 서명 프로그램들 중에서 어느 하나인 객체 공개키 인증서를 생성하는 방법.
According to claim 1,
The certification authority electronic signature program is any one of the electronic signature programs included in the second group safe from decryption attacks using quantum computers,
The object electronic signature program is any one of the electronic signature programs included in the first group that is not safe from a decryption attack using the quantum computer. Method for generating an object public key certificate.
제1항에 있어서,
상기 인증 기관 전자 서명 프로그램은 양자 컴퓨터를 이용한 암호해독 공격에 안전한 전자 서명 프로그램들 중에서 제1전자 서명 프로그램이고,
상기 객체 전자 서명 프로그램은 상기 제1전자 서명 프로그램인 객체 공개키 인증서를 생성하는 방법.
According to claim 1,
The certification authority electronic signature program is a first electronic signature program among electronic signature programs that are safe against decryption attacks using quantum computers,
The object electronic signature program generates an object public key certificate that is the first electronic signature program.
제1항에 있어서,
상기 인증 기관 전자 서명 프로그램은 양자 컴퓨터를 이용한 암호해독 공격에 안전한 전자 서명 프로그램들 중에서 제1전자 서명 프로그램이고,
상기 객체 전자 서명 프로그램은 상기 전자 서명 프로그램들 중에서 제2전자 서명 프로그램인 객체 공개키 인증서를 생성하는 방법.
According to claim 1,
The certification authority electronic signature program is a first electronic signature program among electronic signature programs that are safe against decryption attacks using quantum computers,
The object electronic signature program is a method of generating an object public key certificate that is a second electronic signature program among the electronic signature programs.
제1항에 있어서,
상기 객체가 사용자 컴퓨터에서 생성된 사용자 공개키에 대한 사용자 공개키 인증서를 생성하는 사용자 인증 기관이고,
상기 인증 기관이 상기 사용자 인증 기관에서 생성된 인증 기관 공개키에 대한 인증 기관 공개키 인증서를 생성하는 루트 인증 기관이고,
상기 루트 인증 기관, 상기 사용자 인증 기관, 및 상기 사용자 컴퓨터는 계층 구조를 갖는 객체 공개키 인증서를 생성하는 방법.
According to claim 1,
The object is a user authentication authority that generates a user public key certificate for a user public key generated on a user computer,
The certification authority is a root certification authority that generates a certification authority public key certificate for the certification authority public key generated by the user certification authority,
The root certification authority, the user certification authority, and the user computer generate an object public key certificate having a hierarchical structure.
제1항에 있어서,
상기 인증 기관 전자 서명 프로그램은 제2그룹에 포함된 전자 서명 프로그램들 중에서 어느 하나이고,
상기 객체 전자 서명 프로그램은 상기 제2그룹에 포함된 전자 서명 프로그램들과 제1그룹에 포함된 전자 서명 프로그램들 중에서 어느 하나이고,
상기 제2그룹에 포함된 전자 서명 프로그램들은 격자 기반 전자 서명 알고리즘을 수행하는 컴퓨터 프로그램, 부호 기반 전자 서명 알고리즘을 수행하는 컴퓨터 프로그램, 다변수 기반 전자 서명 알고리즘을 수행하는 컴퓨터 프로그램, 아이소제니 기반 전자 서명 알고리즘을 수행하는 컴퓨터 프로그램, 및 해시 기반 전자 서명 알고리즘을 수행하는 컴퓨터 프로그램 중에서 적어도 두 개를 포함하고,
상기 제1그룹에 포함된 전자 서명 프로그램들은 소인수 분해 문제 기반 알고리즘을 수행하는 전자 서명 프로그램, 이산 대수 문제 기반 알고리즘을 수행하는 전자 서명 프로그램, 및 타원 곡선 이산 대수 문제 기반 알고리즘을 수행하는 컴퓨터 프로그램 중에서 적어도 두 개를 포함하는 객체 공개키 인증서를 생성하는 방법.
According to claim 1,
The certification authority electronic signature program is any one of electronic signature programs included in the second group,
The object electronic signature program is any one of electronic signature programs included in the second group and electronic signature programs included in the first group,
The electronic signature programs included in the second group include a computer program performing a lattice-based electronic signature algorithm, a computer program performing a code-based electronic signature algorithm, a computer program performing a multivariate-based electronic signature algorithm, and an isogeny-based electronic signature. At least two of a computer program that performs an algorithm, and a computer program that performs a hash-based digital signature algorithm;
The electronic signature programs included in the first group are at least one of a digital signature program that performs an algorithm based on a prime factorization problem, an electronic signature program that performs an algorithm based on a discrete logarithm problem, and a computer program that performs an algorithm based on an elliptic curve discrete logarithm problem. How to create an object public key certificate that contains two.
제1항에 있어서,
상기 인증 기관 전자 서명 프로그램이 상기 객체 공개키 인증서를 상기 객체 전자 서명 프로그램으로 전송하는 단계를 더 포함하는 객체 공개키 인증서를 생성하는 방법.
According to claim 1,
The method of generating an object public key certificate further comprising transmitting, by the certification authority digital signature program, the object public key certificate to the object digital signature program.
제1항에 있어서.
상기 인증 기관 전자 서명 프로그램이 상기 객체 공개키 인증서를 클라우드 저장 장치로 전송하는 단계를 더 포함하는 객체 공개키 인증서를 생성하는 방법.
According to claim 1.
The method of generating an object public key certificate further comprising transmitting, by the certificate authority digital signature program, the object public key certificate to a cloud storage device.
제1항에 기재된 객체 공개키 인증서를 생성하는 방법을 수행하기 위해 저장 매체에 저장된 컴퓨터 프로그램.A computer program stored in a storage medium to perform the method of generating an object public key certificate according to claim 1. 제1항에 기재된 객체 공개키 인증서를 생성하는 방법을 수행하는 컴퓨터 프로그램을 저장하는 저장 매체; 및
상기 저장 매체에 저장된 상기 컴퓨터 프로그램을 실행하는 프로세서를 포함하는 컴퓨터.
A storage medium storing a computer program for performing the method of generating an object public key certificate according to claim 1; and
A computer comprising a processor to execute the computer program stored in the storage medium.
인증 기관의 컴퓨터와 객체의 컴퓨터를 이용하여 객체 공개키 인증서를 생성하는 서비스를 제공하는 방법에 있어서,
상기 객체의 컴퓨터에서 실행되는 객체 전자 서명 프로그램이 상기 객체의 공개키를 생성하고, 상기 객체의 식별 정보와 상기 객체의 공개키를 상기 인증 기관의 컴퓨터로 전송하는 단계;
상기 인증 기관에서 실행되는 인증 기관 전자 서명 프로그램이 상기 식별 정보와 상기 공개키에 대한 상기 인증 기관의 전자 서명을 생성하는 단계; 및
상기 인증 기관 전자 서명 프로그램이 상기 식별 정보, 상기 공개키, 및 상기 전자 서명을 포함하는 상기 객체 공개키 인증서를 생성하는 단계를 포함하는 객체 공개키 인증서를 생성하는 서비스를 제공하는 방법.
A method for providing a service for generating an object public key certificate using a computer of a certification authority and a computer of an object,
generating a public key of the object by an object digital signature program executed on the computer of the object, and transmitting identification information of the object and the public key of the object to the computer of the certification authority;
generating, by a certification authority digital signature program executed in the certification authority, an electronic signature of the certification authority for the identification information and the public key; and
generating, by the certificate authority digital signature program, the object public key certificate including the identification information, the public key, and the digital signature.
제11항에 있어서,
상기 인증 기관 전자 서명 프로그램이 상기 객체 공개키 인증서를 상기 객체의 컴퓨터로 전송하는 단계; 및
상기 객체 전자 서명 프로그램이 상기 객체 공개키 인증서를 수신하여 자장 장치에 저장하는 단계를 더 포함하는 객체 공개키 인증서를 생성하는 서비스를 제공하는 방법.
According to claim 11,
transmitting, by the certification authority digital signature program, the object public key certificate to the object's computer; and
The method of providing a service for generating an object public key certificate further comprising the step of receiving the object public key certificate and storing it in a magnetic device by the object digital signature program.
제11항에 있어서.
상기 인증 기관 전자 서명 프로그램이 상기 객체 공개키 인증서를 클라우드 저장 장치로 전송하는 단계; 및
상기 클라우드 저장 장치가 상기 객체 공개키 인증서를 수신하여 저장하는 단계를 더 포함하는 객체 공개키 인증서를 생성하는 서비스를 제공하는 방법.
According to claim 11.
transmitting, by the certification authority digital signature program, the object public key certificate to a cloud storage device; and
The method of providing a service for generating an object public key certificate further comprising receiving and storing the object public key certificate by the cloud storage device.
키 생성 센터(key generation center(KGC))의 KGC 전자 서명 프로그램이 KGC 공개키와 KGC 비밀키의 쌍을 생성하는 단계;
제1사용자 컴퓨터의 제1사용자 전자 서명 프로그램이 제1사용자 신원 정보를 수신하는 단계;
상기 KGC 전자 서명 프로그램이 상기 제1사용자 신원 정보를 이용하여 제1사용자 공개키와 제1사용자 비밀키를 생성하는 단계;
상기 KGC 전자 서명이 상기 제1사용자 비밀키을 이용하여 상기 제1사용자 신원 정보와 상기 제1사용자 공개키에 대한 KGC 전자 서명을 생성하는 단계;
상기 KGC 전자 서명 프로그램이 상기 제1사용자 공개키와 상기 제1사용자 비밀키와 상기 KGC 전자 서명을 포함하는 제1사용자 풀 비밀키를 생성하는 단계; 및
상기 KGC 전자 서명 프로그램이 상기 제1사용자 풀 비밀키를 안전한 채널을 통해 상기 제1사용자 전자 서명 프로그램으로 전송하는 단계를 포함하는 개인 식별 정보 기반 전자 서명 시스템의 작동 방법,
generating a pair of KGC public key and KGC private key by a KGC electronic signature program of a key generation center (KGC);
receiving, by a first user electronic signature program on a first user computer, first user identity information;
generating, by the KGC digital signature program, a first user public key and a first user private key using the first user identity information;
generating a KGC digital signature for the first user identity information and the first user public key by using the KGC digital signature using the first user private key;
generating, by the KGC digital signature program, a first user full private key including the first user public key, the first user private key, and the KGC digital signature; and
A method of operating an electronic signature system based on personal identification information comprising transmitting, by the KGC electronic signature program, the first user full private key to the first user electronic signature program through a secure channel;
제14항에 있어서,
상기 KGC 전자 서명 프로그램은 양자 컴퓨터를 이용한 암호해독 공격에 안전한 전자 서명 프로그램들 중에서 어느 하나이고,
상기 KGC 전자 서명 프로그램과 상기 제1사용자 전자 서명 프로그램은 동일한 전자 서명 프로그램인 개인 식별 정보 기반 전자 서명 시스템의 작동 방법,
According to claim 14,
The KGC electronic signature program is one of electronic signature programs that are safe from decryption attacks using quantum computers,
The KGC electronic signature program and the first user electronic signature program are the same electronic signature program, a method of operating an electronic signature system based on personal identification information;
제15항에 있어서,
상기 제1사용자 전자 서명 프로그램이 메시지를 수신하는 단계;
상기 제1사용자 전자 서명 프로그램이 상기 제1사용자 풀 비밀키에 포함된 상기 제1사용자 비밀키를 이용하여 상기 메시지, 상기 제1사용자 신원 정보, 및 상기 제1사용자 공개키에 대한 제1사용자 전자 서명을 생성하는 단계; 및
상기 제1사용자 전자 서명 프로그램이 상기 제1사용자 공개키, 상기 KGC 전자 서명, 및 상기 제1사용자 전자 서명을 포함하는 제1사용자 전송 전자 서명을 생성하는 단계; 및
상기 제1사용자 전자 서명 프로그램이 상기 제1사용자 신원 정보, 상기 메시지, 및 상기 제1사용자 전송 전자 서명을 제2사용자 컴퓨터로 전송하는 단계를 더 포함하는 개인 식별 정보 기반 전자 서명 시스템의 작동 방법,
According to claim 15,
receiving a message by the first user electronic signature program;
The first user electronic signature program uses the first user private key included in the first user full private key to obtain the first user electronic signature for the message, the first user identity information, and the first user public key. generating a signature; and
generating, by the first user electronic signature program, a first user transmitted electronic signature including the first user public key, the KGC electronic signature, and the first user electronic signature; and
The method of operating the electronic signature system based on personal identification information further comprising transmitting, by the first user electronic signature program, the first user identity information, the message, and the electronic signature transmitted by the first user to a second user computer;
제16항에 있어서,
제2사용자 컴퓨터의 제2사용자 전자 서명 프로그램이 상기 KGC 공개키를 획득하는 단계;
상기 제2사용자 전자 서명 프로그램이 상기 KGC 공개키를 이용하여 상기 KGC 전자 서명을 검증하는 단계;
상기 제2사용자 전자 서명 프로그램이 상기 KGC 전자 서명이 유효하다고 판단되면 상기 KCC 공개키를 이용하여 상기 제1사용자 전자 서명을 검증하는 단계; 및
상기 제2사용자 전자 서명 프로그램이 상기 제1사용자 전자 서명이 유효하다고 판단되면 상기 제1사용자 전자 서명을 승인하는 단계를 더 포함하는 개인 식별 정보 기반 전자 서명 시스템의 작동 방법.
According to claim 16,
acquiring the KGC public key by a second user electronic signature program of a second user computer;
verifying, by the second user digital signature program, the KGC digital signature using the KGC public key;
verifying the first user electronic signature using the KCC public key when the second user digital signature program determines that the KGC digital signature is valid; and
Approving the first user's electronic signature when the second user's electronic signature program determines that the first user's electronic signature is valid.
제17항에 있어서,
상기 제2사용자 전자 서명 프로그램이, 상기 KGC 전자 서명이 유효하지 않다고 판단되면, 상기 제1사용자 전송 전자 서명을 거부하는 단계; 및
상기 제2사용자 전자 서명 프로그램이, 상기 제1사용자 전자 서명이 유효하지 않다고 판단되면, 상기 제1사용자 전송 전자 서명을 거부하는 단계를 더 포함하는 개인 식별 정보 기반 전자 서명 시스템의 작동 방법.
According to claim 17,
rejecting, by the second user electronic signature program, the electronic signature transmitted by the first user when it is determined that the KGC digital signature is not valid; and
If the second user electronic signature program determines that the first user electronic signature is not valid, rejecting the electronic signature transmitted by the first user.
제14항에 있어서,
상기 키 생성 전자 서명 프로그램은 양자 컴퓨터를 이용한 암호해독 공격에 안전한 전자 서명 프로그램들 중에서 어느 하나이고,
상기 제1사용자 전자 서명 프로그램은 상기 양자 컴퓨터를 이용한 암호해독 공격에 안전한 전자 서명 프로그램들 중에서 다른 하나인 개인 식별 정보 기반 전자 서명 시스템의 작동 방법.
According to claim 14,
The key generation electronic signature program is one of electronic signature programs that are safe for decryption attacks using quantum computers,
The first user electronic signature program is another one of electronic signature programs that are safe from decryption attacks using the quantum computer. Method of operating an electronic signature system based on personal identification information.
제19항에 있어서,
상기 제1사용자 전자 서명 프로그램이 메시지를 수신하는 단계;
상기 제1사용자 전자 서명 프로그램이 상기 제1사용자 풀 비밀키에 포함된 상기 제1사용자 비밀키를 이용하여 상기 메시지, 상기 제1사용자 신원 정보, 및 상기 제1사용자 공개키에 대한 제1사용자 전자 서명을 생성하는 단계; 및
상기 제1사용자 전자 서명 프로그램이 상기 제1사용자 공개키, KGC 전자 서명, 및 상기 제1사용자 전자 서명을 포함하는 제1사용자 전송 전자 서명을 생성하는 단계; 및
상기 제1사용자 전자 서명 프로그램이 상기 제1사용자 신원 정보, 상기 메시지, 및 상기 제1사용자 전송 전자 서명을 제2사용자 컴퓨터로 전송하는 단계를 더 포함하는 개인 식별 정보 기반 전자 서명 시스템의 작동 방법,
According to claim 19,
receiving a message by the first user electronic signature program;
The first user electronic signature program uses the first user private key included in the first user full private key to obtain the first user electronic signature for the message, the first user identity information, and the first user public key. generating a signature; and
generating, by the first user electronic signature program, a first user transmission electronic signature including the first user public key, KGC electronic signature, and the first user electronic signature; and
The method of operating the electronic signature system based on personal identification information further comprising transmitting, by the first user electronic signature program, the first user identity information, the message, and the electronic signature transmitted by the first user to a second user computer;
제20항에 있어서,
제2사용자 컴퓨터의 제2사용자 전자 서명 프로그램이 상기 KGC 공개키를 획득하는 단계;
상기 제2사용자 전자 서명 프로그램이 상기 KGC 공개키를 이용하여 상기 KGC 전자 서명을 검증하는 단계;
상기 제2사용자 전자 서명 프로그램이 상기 KGC 전자 서명이 유효하다고 판단되면 상기 KGC 공개키를 이용하여 상기 제1사용자 전자 서명을 검증하는 단계; 및
상기 제2사용자 전자 서명 프로그램이 상기 제1사용자 전자 서명이 유효하다고 판단되면 상기 제1사용자 전자 서명을 승인하는 단계를 더 포함하는 개인 식별 정보 기반 전자 서명 시스템의 작동 방법.
According to claim 20,
acquiring the KGC public key by a second user electronic signature program of a second user computer;
verifying, by the second user digital signature program, the KGC digital signature using the KGC public key;
verifying the first user electronic signature using the KGC public key when the second user digital signature program determines that the KGC digital signature is valid; and
Approving the first user's electronic signature when the second user's electronic signature program determines that the first user's electronic signature is valid.
제21항에 있어서,
상기 제2사용자 전자 서명 프로그램이, 상기 KGC 전자 서명이 유효하지 않다고 판단되면, 상기 제1사용자 전송 전자 서명을 거부하는 단계; 및
상기 제2사용자 전자 서명 프로그램이, 상기 제1사용자 전자 서명이 유효하지 않다고 판단되면, 상기 제1사용자 전송 전자 서명을 거부하는 단계를 더 포함하는 개인 식별 정보 기반 전자 서명 시스템의 작동 방법.

According to claim 21,
rejecting, by the second user electronic signature program, the electronic signature transmitted by the first user when it is determined that the KGC digital signature is not valid; and
If the second user electronic signature program determines that the first user electronic signature is not valid, rejecting the electronic signature transmitted by the first user.

KR1020210157595A 2021-11-16 2021-11-16 Method for generating user's public key certificate in hierarchical structure, method for selecting electronic signature algorithm for authentication, and appatarus capable of performing the method KR20230071415A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210157595A KR20230071415A (en) 2021-11-16 2021-11-16 Method for generating user's public key certificate in hierarchical structure, method for selecting electronic signature algorithm for authentication, and appatarus capable of performing the method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210157595A KR20230071415A (en) 2021-11-16 2021-11-16 Method for generating user's public key certificate in hierarchical structure, method for selecting electronic signature algorithm for authentication, and appatarus capable of performing the method

Publications (1)

Publication Number Publication Date
KR20230071415A true KR20230071415A (en) 2023-05-23

Family

ID=86544566

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210157595A KR20230071415A (en) 2021-11-16 2021-11-16 Method for generating user's public key certificate in hierarchical structure, method for selecting electronic signature algorithm for authentication, and appatarus capable of performing the method

Country Status (1)

Country Link
KR (1) KR20230071415A (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010047385A (en) 1999-11-19 2001-06-15 오길록 A methode of issuing users' public key certificates in certification authority system
KR100431210B1 (en) 2002-08-08 2004-05-12 한국전자통신연구원 Validation Method of Certificate Validation Server using Certificate Policy Table and Certificate Policy Mapping Table in PKI
KR101825320B1 (en) 2017-01-26 2018-03-22 (주)에이티솔루션즈 Method for Providing Certificate Management
KR101863953B1 (en) 2016-06-16 2018-06-29 주식회사 티모넷 System and method for providing electronic signature service

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010047385A (en) 1999-11-19 2001-06-15 오길록 A methode of issuing users' public key certificates in certification authority system
KR100431210B1 (en) 2002-08-08 2004-05-12 한국전자통신연구원 Validation Method of Certificate Validation Server using Certificate Policy Table and Certificate Policy Mapping Table in PKI
KR101863953B1 (en) 2016-06-16 2018-06-29 주식회사 티모넷 System and method for providing electronic signature service
KR101825320B1 (en) 2017-01-26 2018-03-22 (주)에이티솔루션즈 Method for Providing Certificate Management

Similar Documents

Publication Publication Date Title
US10326753B2 (en) Authentication via revocable signatures
CN109672537B (en) Anti-quantum certificate acquisition system and method based on public key pool
US20210049591A1 (en) Cryptocurrency wallet and cryptocurrency account management
JP5201136B2 (en) Anonymous authentication system and anonymous authentication method
US10063531B2 (en) Method for key rotation
US8589693B2 (en) Method for two step digital signature
EP2847928B1 (en) Method and system for a certificate-less authentication encryption (clae)
JP4818264B2 (en) Method and system for generating a list signature
Smyth et al. Direct Anonymous Attestation (DAA): Ensuring privacy with corrupt administrators
KR20170057549A (en) Large simultaneous digital signature service system based on hash function and method thereof
KR100635280B1 (en) Security method using electronic signature
GB2490483A (en) Digital signature method generating strong cryptographic parameter form weak security parameter.
US20220021521A1 (en) Secure consensus over a limited connection
US11283612B2 (en) Information processing device, verification device, and information processing system
US11438147B2 (en) Technologies for multiple device authentication in a heterogeneous network
CN109918888B (en) Anti-quantum certificate issuing method and issuing system based on public key pool
CN111953479A (en) Data processing method and device
JP2018117185A (en) Information processing apparatus, information processing method
CN112364335B (en) Identification identity authentication method and device, electronic equipment and storage medium
JP3513324B2 (en) Digital signature processing method
CN116346336A (en) Key distribution method based on multi-layer key generation center and related system
KR20230071415A (en) Method for generating user's public key certificate in hierarchical structure, method for selecting electronic signature algorithm for authentication, and appatarus capable of performing the method
CN105187213B (en) A kind of method of computer information safe
GB2421407A (en) Generating a shared symmetric key using identifier based cryptography
KR100654933B1 (en) System and its method for authenticating dynamically created certificate by user's password input

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E902 Notification of reason for refusal