KR102357698B1 - Private key management method using partial hash value - Google Patents

Private key management method using partial hash value Download PDF

Info

Publication number
KR102357698B1
KR102357698B1 KR1020200022102A KR20200022102A KR102357698B1 KR 102357698 B1 KR102357698 B1 KR 102357698B1 KR 1020200022102 A KR1020200022102 A KR 1020200022102A KR 20200022102 A KR20200022102 A KR 20200022102A KR 102357698 B1 KR102357698 B1 KR 102357698B1
Authority
KR
South Korea
Prior art keywords
private key
hash value
encryption
user
generator
Prior art date
Application number
KR1020200022102A
Other languages
Korean (ko)
Other versions
KR20210107941A (en
Inventor
황순영
Original Assignee
황순영
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 황순영 filed Critical 황순영
Priority to KR1020200022102A priority Critical patent/KR102357698B1/en
Publication of KR20210107941A publication Critical patent/KR20210107941A/en
Application granted granted Critical
Publication of KR102357698B1 publication Critical patent/KR102357698B1/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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage

Abstract

본 발명은 부분 해시값을 이용한 개인키 관리 방법에 관한 것이다.
본 발명은 암호발생기가 해시함수에 사용자로부터 입력받은 개인정보를 대입하여 전체 해시값을 생성하는 전체 해시값 생성단계, 상기 암호발생기가 상기 전체 해시값과 상기 사용자의 개인키를 암호화 알고리즘에 대입하여 암호화된 개인키를 생성하는 암호화 단계, 상기 암호발생기가 상기 전체 해시값의 일부인 부분 해시값과 상기 암호화된 개인키를 관리서버로 전송하는 암호화 정보 전송단계 및 상기 관리서버가 상기 암호발생기로부터 전송받은 부분 해시값과 암호화된 개인키를 매칭시켜 복원 DB에 보관하는 암호화 정보 보관단계를 포함한다.
본 발명에 따르면, 개인키의 암호화를 사용자 본인만이 할 수 있도록 하며, 개인키를 복원할 수 있는 키값을 보관하지 않기 때문에 사용자 본인 이외에는 누구도 개인키를 사용할 수 없어 해킹이나 내부자 도용이 원천적으로 불가능한 효과가 있으며, 사용자가 개인키를 분실한 경우 이를 사용자 본인만이 안전하게 회복할 수 있다.
The present invention relates to a private key management method using a partial hash value.
The present invention provides a full hash value generation step in which the cryptographic generator generates a full hash value by substituting personal information input from the user into a hash function, the cryptographic generator substituting the entire hash value and the user's private key into an encryption algorithm An encryption step of generating an encrypted private key, an encryption information transmission step in which the encryption generator transmits a partial hash value that is a part of the entire hash value and the encrypted private key to a management server, and the management server receives the transmitted from the encryption generator It includes an encryption information storage step of matching the partial hash value with the encrypted private key and storing it in the restoration DB.
According to the present invention, only the user can encrypt the private key, and since the key value that can restore the private key is not stored, no one other than the user can use the private key, so hacking or insider theft is fundamentally impossible. It is effective, and if the user loses the private key, only the user himself/herself can safely recover it.

Description

부분 해시값을 이용한 개인키 관리 방법{PRIVATE KEY MANAGEMENT METHOD USING PARTIAL HASH VALUE}Private key management method using partial hash value {PRIVATE KEY MANAGEMENT METHOD USING PARTIAL HASH VALUE}

본 발명은 부분 해시값을 이용한 개인키 관리 방법에 관한 것이다. 보다 구체적으로, 본 발명은 개인키의 암호화를 사용자 본인만이 할 수 있도록 하며, 암호화된 개인키에서 개인키를 복원할 수 있는 키값을 보관하지 않으면서도 사용자가 개인키를 분실한 경우 이를 안전하게 회복할 수 있도록 하는 부분 해시값을 이용한 개인키 관리 방법에 관한 것이다.The present invention relates to a private key management method using a partial hash value. More specifically, the present invention allows only the user to encrypt the private key, and safely restores the private key when the user loses the private key without storing the key value that can restore the private key from the encrypted private key. It relates to a private key management method using a partial hash value that allows

금융거래, 상품거래 등을 포함하는 전자거래에 필요한 비밀번호나 비밀키, 개인키 등 사용자 본인만이 알아야 하는 중요한 정보를 보관하기 위한 종래 기술은 주로 해시(hash)나 AES와 같은 대칭키를 이용하거나, 매우 드물게는 비대칭키를 이용하여 비밀번호나 비밀키, 개인키 등을 암호화하여 보관한다.The prior art for storing important information that only the user himself needs to know, such as passwords, secret keys, and private keys, required for electronic transactions including financial transactions and commodity transactions, mainly uses a symmetric key such as hash or AES, or , very rarely, passwords, secret keys, private keys, etc. are encrypted and stored using an asymmetric key.

이러한 종래 기술은 개인키 보관을 위해 AES와 같은 대칭키 암호나 해시값으로 개인키를 보관하고 사용자가 개인키를 분실한 경우 개인키 회복을 위해 암호화에 사용된 키값을 함께 보관하고 있기 때문에, 보관되어 있는 키값과 알고리즘을 아는 시스템 운영자나 이를 탈취한 제3자가 암호화된 개인키에서 개인키를 복원하여 도용할 수 있는 가능성이 상존한다는 문제점이 있다. This prior art stores the private key as a symmetric key encryption or hash value such as AES for storing the private key, and stores the key value used for encryption to recover the private key when the user loses the private key. There is a problem that there is a possibility that a system operator who knows the key value and algorithm or a third party who has stolen it can restore the private key from the encrypted private key and steal it.

다시 말해, 이러한 종래 기술의 암호화 방식으로 암호화된 개인키는 개인키의 주인이 아닌 암호화를 실행한 당사자, 예를 들어, 금융기관 등과 같은 시스템 운영자가 암호를 풀어 개인키를 회복할 수 있기 때문에 시스템 운영자에 속하는 내부자에 의한 개인키 도용의 가능성이 상존하며 암호화된 개인키를 보관한 데이터베이스가 해킹될 경우 해커가 개인키를 도용할 가능성도 상존한다는 문제점이 있다.In other words, since the private key encrypted by the encryption method of the prior art is not the owner of the private key, but the party who performed the encryption, for example, a system operator such as a financial institution, can recover the private key by decrypting the system. There is a problem that the possibility of theft of the private key by an insider belonging to the operator exists, and that if the database storing the encrypted private key is hacked, there is a problem that the possibility of a hacker stealing the private key also exists.

이러한 문제점은 암호화된 개인키를 보관하는 운영자가 개인키를 복원하기 위해 복원키를 함께 보관하기 때문에 필연적으로 발생하게 된다는 문제점이 있다.This problem inevitably occurs because the operator who keeps the encrypted private key keeps the restoration key together to restore the private key.

최근 블록체인 업체들 뿐만 아니라, 대형 은행조차도 고객의 개인키를 무단 도용하는 불법행위를 저지르는 사례들이 현실화되고 있으며, 이러한 불법행위들은 정상적인 전자거래의 존립 자체를 위협할 수 있으므로, 고객 개인키의 무단 도용, 탈취 등의 행위는 반드시 방지되어야 한다.Recently, not only block chain companies, but also large banks commit illegal acts of stealing customers' private keys without permission, and these illegal acts can threaten the existence of normal electronic transactions. Acts such as theft and stealing must be prevented.

대한민국 공개특허공보 제10-2017-0141976호(공개일자: 2017년 12월 27일, 명칭: 전자 서명 서비스 시스템 및 방법)Republic of Korea Patent Publication No. 10-2017-0141976 (published date: December 27, 2017, title: Electronic signature service system and method) 대한민국 공개특허공보 제10-2019-0097998호(공개일자: 2019년 08월 21일, 명칭: 개인키의 안전 보관을 지원하는 사용자 간편 인증 장치 및 그 동작 방법)Republic of Korea Patent Publication No. 10-2019-0097998 (Publication date: August 21, 2019, Title: User simple authentication device supporting safe storage of private key and operating method thereof)

본 발명의 기술적 과제는, 개인키의 암호화를 사용자 본인만이 할 수 있도록 하며, 암호화된 개인키에서 개인키를 복원할 수 있는 키값을 보관하지 않으면서도 사용자가 개인키를 분실한 경우 이를 안전하게 회복할 수 있도록 하는 부분 해시값을 이용한 개인키 관리 방법을 제공하는 것이다.The technical problem of the present invention is to allow only the user to encrypt the private key, and to safely recover the private key when the user loses the private key without storing the key value that can restore the private key from the encrypted private key. It is to provide a private key management method using partial hash values.

이러한 기술적 과제를 해결하기 위한 본 발명에 따른 부분 해시값을 이용한 개인키 관리 방법은 암호발생기가 해시함수에 사용자로부터 입력받은 개인정보를 대입하여 전체 해시값을 생성하는 전체 해시값 생성단계, 상기 암호발생기가 상기 전체 해시값과 상기 사용자의 개인키를 암호화 알고리즘에 대입하여 암호화된 개인키를 생성하는 암호화 단계, 상기 암호발생기가 상기 전체 해시값의 일부인 부분 해시값과 상기 암호화된 개인키를 관리서버로 전송하는 암호화 정보 전송단계 및 상기 관리서버가 상기 암호발생기로부터 전송받은 부분 해시값과 암호화된 개인키를 매칭시켜 복원 DB에 보관하는 암호화 정보 보관단계를 포함한다.The private key management method using a partial hash value according to the present invention for solving this technical problem is a full hash value generation step in which the encryption generator substitutes the personal information input from the user into a hash function to generate a full hash value, the password An encryption step in which a generator substitutes the entire hash value and the user's private key into an encryption algorithm to generate an encrypted private key, wherein the encryption generator manages a partial hash value that is a part of the total hash value and the encrypted private key and an encryption information storage step of matching the encrypted private key with the partial hash value received from the encryption generator by the management server and storing the encrypted information in a restoration DB.

본 발명에 따른 부분 해시값을 이용한 개인키 관리 방법에 있어서, 상기 전체 해시값 생성단계에서, 상기 암호발생기는 상기 개인정보를, 상기 암호발생기에 구비된 입력수단을 통해 상기 사용자로부터 입력받거나, 상기 암호발생기와 근접 통신하는 단말기를 매개로 상기 사용자로부터 입력받는 것을 특징으로 한다.In the private key management method using a partial hash value according to the present invention, in the step of generating the full hash value, the encryption generator receives the personal information from the user through an input means provided in the encryption generator, or It is characterized in that the input is received from the user through a terminal communicating with the encryption generator in close proximity.

본 발명에 따른 부분 해시값을 이용한 개인키 관리 방법에 있어서, 상기 개인정보는 상기 사용자의 생체정보를 포함하는 것을 특징으로 한다.In the private key management method using a partial hash value according to the present invention, the personal information is characterized in that it includes the user's biometric information.

본 발명에 따른 부분 해시값을 이용한 개인키 관리 방법은 상기 관리서버가 상기 암호발생기를 분실한 사용자가 신규 발급받은 신규암호발생기로부터 전송받은 전체 해시값에 대응하는 부분 해시값을 상기 복원 DB에서 추출하고, 추출된 부분 해시값에 매칭되어 있는 암호화된 개인키와 상기 전체 해시값을 상기 암호화 알고리즘에 대응하는 복호화 알고리즘에 대입하여 상기 사용자의 개인키를 복원하여 상기 신규암호발생기로 제공하는 개인키 복원단계를 더 포함하는 것을 특징으로 한다.In the private key management method using a partial hash value according to the present invention, the management server extracts a partial hash value corresponding to the entire hash value transmitted from the new password generator newly issued to the user who has lost the password generator from the restoration DB and substituting the encrypted private key matched with the extracted partial hash value and the entire hash value to a decryption algorithm corresponding to the encryption algorithm to restore the user's private key and provide the new encryption generator to the new encryption key restoration It is characterized in that it further comprises a step.

본 발명에 따르면, 개인키의 암호화를 사용자 본인만이 할 수 있도록 하며, 개인키를 복원할 수 있는 키값을 보관하지 않기 때문에 사용자 본인 이외에는 누구도 개인키를 사용할 수 없어 해킹이나 내부자 도용이 원천적으로 불가능한 효과가 있으며, 사용자가 개인키를 분실한 경우 이를 사용자 본인만이 안전하게 회복할 수 있도록 하는 부분 해시값을 이용한 개인키 관리 방법이 제공되는 효과가 있다.According to the present invention, only the user can encrypt the private key, and since the key value that can restore the private key is not stored, no one other than the user himself can use the private key, so hacking or insider theft is fundamentally impossible. There is an effect that, when the user loses the private key, a private key management method using a partial hash value is provided so that only the user himself or herself can safely recover it.

도 1은 본 발명의 일 실시 예에 따른 부분 해시값을 이용한 개인키 관리 방법이 수행되는 예시적인 시스템 구성을 나타낸 도면이고,
도 2는 본 발명의 일 실시 예에 따른 부분 해시값을 이용한 개인키 관리 방법을 나타낸 도면이고,
도 3은 본 발명의 일 실시 예에 있어서, 개인키 복원단계의 하나의 예시적인 구성을 설명하기 위한 도면이고,
도 4는 본 발명의 일 실시 예에 있어서, 개인키 복원단계의 다른 예시적인 구성을 설명하기 위한 도면이다.
1 is a diagram showing an exemplary system configuration in which a private key management method using a partial hash value according to an embodiment of the present invention is performed;
2 is a view showing a private key management method using a partial hash value according to an embodiment of the present invention;
3 is a diagram for explaining an exemplary configuration of a private key restoration step according to an embodiment of the present invention;
4 is a diagram for explaining another exemplary configuration of a private key restoration step according to an embodiment of the present invention.

본 명세서에 개시된 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 또는 기능적 설명은 단지 본 발명의 개념에 따른 실시 예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시 예들은 다양한 형태들로 실시될 수 있으며 본 명세서에 설명된 실시 예들에 한정되지 않는다.Specific structural or functional descriptions of the embodiments according to the concept of the present invention disclosed in this specification are only exemplified for the purpose of explaining the embodiments according to the concept of the present invention, and the embodiments according to the concept of the present invention may take various forms. It can be implemented with the above and is not limited to the embodiments described herein.

본 발명의 개념에 따른 실시 예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시 예들을 도면에 예시하고 본 명세서에서 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예들을 특정한 개시 형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물, 또는 대체물을 포함한다.Since the embodiments according to the concept of the present invention may have various changes and may have various forms, the embodiments will be illustrated in the drawings and described in detail herein. However, this is not intended to limit the embodiments according to the concept of the present invention to specific disclosed forms, and includes all modifications, equivalents, or substitutes included in the spirit and scope of the present invention.

제1 또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 벗어나지 않은 채, 제1 구성 요소는 제2 구성 요소로 명명될 수 있고 유사하게 제2 구성 요소는 제1 구성 요소로도 명명될 수 있다.Terms such as first or second may be used to describe various elements, but the elements should not be limited by the terms. The above terms are used only for the purpose of distinguishing one component from another, for example without departing from the scope of the inventive concept, a first component may be termed a second component and similarly a second component A component may also be referred to as a first component.

어떤 구성 요소가 다른 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성 요소에 직접 연결되어 있거나 접속되어 있을 수도 있지만, 중간에 다른 구성 요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성 요소가 다른 구성 요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는 중간에 다른 구성 요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성 요소간의 관계를 설명하는 다른 표현들, 즉 "~사이에" 와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.When a component is referred to as being “connected” or “connected” to another component, it may be directly connected or connected to the other component, but it should be understood that other components may exist in between. will be. On the other hand, when it is said that a certain element is "directly connected" or "directly connected" to another element, it should be understood that the other element does not exist in the middle. Other expressions describing the relationship between elements, such as "between" and "immediately between" or "neighboring to" and "directly adjacent to", should be interpreted similarly.

본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로서, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 본 명세서에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used herein are used only to describe specific embodiments, and are not intended to limit the present invention. The singular expression includes the plural expression unless the context clearly dictates otherwise. In this specification, terms such as "comprise" or "have" are intended to designate that a feature, number, step, operation, component, part, or combination thereof described herein exists, but one or more other features It should be understood that it does not preclude the possibility of the presence or addition of numbers, steps, operations, components, parts, or combinations thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어는 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 나타낸다. 일반적으로 사용되는 사전에 정의된 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as commonly used dictionary definitions should be interpreted as having meanings consistent with the meanings in the context of the related art, and unless explicitly defined in the present specification, they are not to be interpreted in an ideal or excessively formal meaning. .

발명자가 제안하는 방식은 종래 기술과는 상이하게 개인키 저장 시 복원키를 보관하지 않음으로서 보관되어 있는 암호화된 개인키로부터 개인키를 복원할 수 없도록 하며, 개인키의 주인이 개인키를 분실하여 암호화된 개인키로부터 개인키를 복원할 수 있도록 하기 위해 저장되어 있는 암호화된 개인키의 주인이 맞는지를 확인할 수 있는 증거(부분 해시값)를 암호화된 개인키와 매칭하여 서버에 보관(저장)하는 방법을 제시한다.The method proposed by the inventor makes it impossible to restore the private key from the stored encrypted private key by not storing the restoration key when storing the private key, unlike the prior art, and the owner of the private key loses the private key. In order to be able to restore the private key from the encrypted private key, evidence (partial hash value) that can confirm whether the stored encrypted private key is correct is stored (stored) in the server by matching the encrypted private key. suggest a way

이하에서는, 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예를 상세히 설명한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일 실시 예에 따른 부분 해시값을 이용한 개인키 관리 방법이 수행되는 예시적인 시스템 구성을 나타낸 도면이고, 도 2는 본 발명의 일 실시 예에 따른 부분 해시값을 이용한 개인키 관리 방법을 나타낸 도면이다.1 is a diagram showing an exemplary system configuration in which a private key management method using a partial hash value according to an embodiment of the present invention is performed, and FIG. 2 is a private key using a partial hash value according to an embodiment of the present invention. It is a diagram showing a management method.

도 1 및 도 2를 참조하면, 본 발명의 일 실시 예에 따른 부분 해시값을 이용한 개인키 관리 방법은 전체 해시값 생성단계(S10), 암호화 단계(S20), 암호화 정보 전송단계(S30), 암호화 정보 보관단계(S40) 및 개인키 복원단계(S50)를 포함한다.1 and 2, the private key management method using a partial hash value according to an embodiment of the present invention includes a full hash value generation step (S10), an encryption step (S20), an encryption information transmission step (S30), It includes an encryption information storage step (S40) and a private key restoration step (S50).

전체 해시값 생성단계(S10)에서는, 암호발생기(10)가 암호발생기(10)에 저장되어 있는 해시함수에 사용자로부터 입력받은 개인정보를 대입하여 전체 해시값을 생성하는 과정이 수행된다.In the entire hash value generation step (S10), the encryption generator 10 generates the entire hash value by substituting the personal information input from the user into the hash function stored in the encryption generator 10 is performed.

예를 들어, 전체 해시값 생성단계(S10)에서, 암호발생기(10)는 개인정보를, 1) 암호발생기(10)에 자체적으로 구비되어 있는 입력수단을 통해 사용자로부터 입력받거나, 2) 암호발생기(10)와 근접 통신하는 단말기(20)를 매개로 사용자로부터 입력받도록 구성될 수 있으며, 개인정보는 사용자의 지문, 홍채 등과 같은 생체정보를 포함할 수 있다.For example, in the entire hash value generation step (S10), the encryption generator 10 receives personal information 1) from the user through an input means provided by the encryption generator 10, or 2) the password generator It may be configured to receive input from the user through the terminal 20 in close communication with the 10 , and the personal information may include biometric information such as the user's fingerprint and iris.

구체적인 예로, 암호발생기(10)는 사용자가 금융기관 등과 같은 운영주체로부터 발급받아 소지하는 장치로서, OTP(One Time Password)일 수 있으나, 이에 한정되지는 않으며 인증과 관련한 암호를 발생시키고 단말기(20) 등과 통신할 수 있는 임의의 전자장치일 수 있다. 또한, 단말기(20)는 사용자 본인이 소지하는 단말이거나 사용자가 방문한 금융기관 등에 구비되어 있는 단말일 수 있다.As a specific example, the password generator 10 is a device issued and possessed by a user from an operating entity such as a financial institution, and may be an OTP (One Time Password), but is not limited thereto. ) may be any electronic device capable of communicating with, etc. Also, the terminal 20 may be a terminal owned by the user or a terminal provided in a financial institution visited by the user.

암호화 단계(S20)에서는, 암호발생기(10)가 전체 해시값과 사용자의 개인키를 암호발생기(10)에 저장되어 있는 암호화 알고리즘에 대입하여 암호화된 개인키를 생성하는 과정이 수행된다.In the encryption step (S20), the encryption generator 10 generates an encrypted private key by substituting the entire hash value and the user's private key into the encryption algorithm stored in the encryption generator 10 is performed.

암호화 정보 전송단계(S30)에서는, 암호발생기(10)가 전체 해시값의 일부인 부분 해시값과 암호화된 개인키를 관리서버(30)로 전송하는 과정이 수행된다.In the encryption information transmission step (S30), the encryption generator 10 transmits a partial hash value that is a part of the entire hash value and the encrypted private key to the management server 30 is performed.

암호화 정보 보관단계(S40)에서는, 관리서버(30)가 암호발생기(10)로부터 전송받은 부분 해시값과 암호화된 개인키를 매칭시켜 복원 DB(40)에 보관하는 과정이 수행된다.In the encryption information storage step (S40), the management server 30 matches the partial hash value transmitted from the encryption generator 10 with the encrypted private key and stores it in the restoration DB 40 .

개인키 복원단계(S50)에서는, 관리서버(30)가 암호발생기(10)를 분실한 사용자가 신규 발급받은 신규암호발생기(10)로부터 전송받은 전체 해시값에 대응하는 부분 해시값을 복원 DB(40)에서 추출하고, 추출된 부분 해시값에 매칭되어 있는 암호화된 개인키와 전체 해시값을 암호화 알고리즘에 대응하는 복호화 알고리즘에 대입하여 사용자의 개인키를 복원하여 신규암호발생기(10)로 제공하는 과정이 수행된다.In the private key restoration step (S50), the management server 30 restores a partial hash value corresponding to the entire hash value transmitted from the new password generator 10 newly issued to the user who has lost the password generator 10, the restoration DB ( 40), and substituting the encrypted private key and the entire hash value matching the extracted partial hash value to the decryption algorithm corresponding to the encryption algorithm to restore the user's private key and provide it to the new encryption generator 10 The process is carried out.

개인키와 전체 해시값이 32바이트(256비트)이고, 부분 해시값이 8바이트인 경우를 예로 들어 본 발명의 일 실시 예를 구체적으로 설명하면 다음과 같다. 물론 개인키, 전체 해시값, 부분 해시값의 길이가 이에 한정되지는 않는다.An embodiment of the present invention will be described in detail by taking the case where the private key and the total hash value are 32 bytes (256 bits) and the partial hash value is 8 bytes as an example. Of course, the lengths of the private key, the full hash value, and the partial hash value are not limited thereto.

구체적인 예로, 개인키는 통상 32바이트(256비트)의 긴 숫자들로 구성될 수 있으며, 전체 해시값 생성단계(S10)에서는, 암호발생기(10)는 해시함수에 사용자로부터 입력받은 개인정보를 대입하여 32바이트 길이의 전체 해시값을 생성할 수 있다.As a specific example, the private key may be usually composed of long numbers of 32 bytes (256 bits), and in the entire hash value generation step (S10), the encryption generator 10 substitutes the personal information input by the user into the hash function. to generate a full hash value of 32 bytes in length.

암호화 단계(S20)에서는, 암호발생기(10)가 전체 해시값과 개인키를 예를 들어, 모듈러 합산하여 32바이트의 암호화된 개인키를 생성할 수 있다.In the encryption step (S20), the encryption generator 10 may generate a 32-byte encrypted private key by modularly summing the entire hash value and the private key, for example.

암호화 정보 전송단계(S30)에서는 암호발생기(10)가 32바이트의 해시값 중 배열순서를 기준으로 앞 부분에 위치하는 8바이트를 부분 해시값으로 선택하고, 이 8바이트의 부분 해시값과 32바이트의 암호화된 개인키를 관리서버(30)로 전송할 수 있다.In the encryption information transmission step (S30), the encryption generator 10 selects, as a partial hash value, 8 bytes located at the front of the 32-byte hash value based on the arrangement order, and the partial hash value of 8 bytes and 32 bytes of the encrypted private key may be transmitted to the management server 30 .

암호화 정보 보관단계(S40)에서는, 관리서버(30)가 암호발생기(10)로부터 전송받은 8바이트의 부분 해시값과 32바이트의 암호화된 개인키를 상호 매칭시켜 복원 DB(40)저장하여 보관할 수 있다.In the encryption information storage step (S40), the management server 30 matches the partial hash value of 8 bytes received from the encryption generator 10 with the encrypted private key of 32 bytes to store and store the restoration DB 40 have.

이렇게 저장된 8바이트의 부분 해시값과 32바이트의 암호화된 개인키로부터 개인키를 바로 복원할 수는 없으며, 복원을 위해 32바이트의 전체 해시값 중에서 나머지인 24바이트가 추가로 필요하기 때문에 결국 전체 해시값을 재생성해야만 한다.The private key cannot be directly restored from the stored 8-byte partial hash value and the 32-byte encrypted private key. You have to recreate the value.

전체 해시값의 재생성은 개인키의 주인만이 만들어 낼 수 있다. 따라서 개인키를 분실한 주인이 개인키를 복원하고자 할 때 자신이 입력했던 당초의 개인정보를 해시함수에 입력하여 32바이트의 전체 해시값을 재생성하고, 재생성된 32바이트의 전체 해시값 중에서 앞부분 8바이트와 동일한 부분 해시값을 복원 DB(40)에서 찾아 그 8바이트의 부분 해시값과 매칭된 32바이트의 암호화된 개인키를 찾을 수 있으며, 찾은 32바이트의 암호화된 개인키와 재생성된 32바이트의 전체 해시값을 암호화에 사용된 연산과 반대로 역연산하여 32바이트의 개인키를 복원할 수 있다.Only the owner of the private key can regenerate the entire hash value. Therefore, when the owner who has lost the private key wants to restore the private key, he inputs the original personal information he entered into the hash function to regenerate the entire 32-byte hash value, and the first 8 of the regenerated 32-byte total hash value A partial hash value equal to the byte can be found in the restoration DB 40, and a 32-byte encrypted private key matching the 8-byte partial hash value can be found. The 32-byte private key can be restored by performing the reverse operation of the entire hash value to the operation used for encryption.

이하에서는 도 3 및 도 4를 추가로 참조하여 개인키 복원단계(S50)의 예시적인 구성들을 설명한다.Hereinafter, exemplary configurations of the private key restoration step S50 will be described with additional reference to FIGS. 3 and 4 .

도 3에 개시된 예는 사용자가 금융기관 등과 같은 운영주체의 사업장을 직접 방문한 경우이고, 도 4에 개시된 예는 사용자가 금융기관 등과 같은 주체가 운영하는 관리서버(30)에 접속한 경우이다.The example disclosed in FIG. 3 is a case in which the user directly visits a business place of an operating entity such as a financial institution, and the example disclosed in FIG. 4 is a case in which the user accesses the management server 30 operated by an entity such as a financial institution.

도 3은 본 발명의 일 실시 예에 있어서, 개인키 복원단계(S50)의 하나의 예시적인 구성을 설명하기 위한 도면이다.3 is a diagram for explaining an exemplary configuration of the private key restoration step (S50) according to an embodiment of the present invention.

도 3을 추가로 참조하면, 단계 S110에서, 사용자가 암호발생기(10)를 분실, 훼손 등의 사유로 개인키를 분실할 수 있다.Referring additionally to FIG. 3 , in step S110 , the user may lose the private key due to the loss or damage of the encryption generator 10 .

단계 S120에서는, 사용자가 관리서버(30)를 운영하는 주체 등과 같은 시스템 운영주체로부터 신규암호발생기(10)를 재발급받고, 이 신규암호발생기(10)에 개인정보를 입력하는 과정이 수행된다. 예를 들어, 이 과정은 사용자가 신규암호발생기(10)에 개인정보를 직접 입력하거나, 사용자가 단말기(20)에 개인정보를 입력하면 단말기(20)가 입력받은 개인정보를 신규암호발생기(10)로 전송하는 방식으로 수행될 수 있다. 단말기(20)는 사용자가 소지하는 단말이거나 사용자가 방문한 금융기관 등에 구비된 단말일 수 있다.In step S120, the user receives the new password generator 10 reissued from the system operating entity such as the principal who operates the management server 30, and the process of inputting personal information into the new password generator 10 is performed. For example, in this process, when the user directly inputs personal information into the new password generator 10, or when the user inputs personal information into the terminal 20, the terminal 20 converts the received personal information into the new password generator 10 ) can be transmitted in a way that The terminal 20 may be a terminal possessed by the user or a terminal provided in a financial institution visited by the user.

단계 S130에서는, 신규암호발생기(10)가 저장되어 있는 해시함수에 사용자로부터 입력받은 개인정보를 대입하여 전체 해시값을 생성하는 과정이 수행된다.In step S130, the process of generating the entire hash value by substituting the personal information input from the user into the hash function stored in the new password generator 10 is performed.

단계 S140에서는, 신규암호발생기(10)가 전체 해시값을 관리서버(30)로 전송하는 과정이 수행된다. 예를 들어, 이 과정은 신규암호발생기(10)가 단말기(20)를 매개로 재생성된 전체 해시값을 관리서버(30)로 전송하는 방식으로 수행될 수 있으나, 이에 한정되지는 않는다.In step S140 , the process of transmitting the entire hash value to the management server 30 by the new encryption generator 10 is performed. For example, this process may be performed in such a way that the new encryption generator 10 transmits the entire hash value regenerated through the terminal 20 to the management server 30, but is not limited thereto.

단계 S150에서는, 관리서버(30)가 신규암호발생기(10)로부터 전송받은 전체 해시값에 대응하는 부분 해시값을 복원 DB(40)에서 추출하는 과정이 수행된다.In step S150, a process of extracting a partial hash value corresponding to the entire hash value transmitted from the new encryption generator 10 by the management server 30 from the restoration DB 40 is performed.

단계 S160에서는, 관리서버(30)가 추출된 부분 해시값에 매칭되어 있는 암호화된 개인키와 신규암호발생기(10)로부터 전송받은 전체 해시값을 복호화 알고리즘에 대입하여 사용자의 개인키를 복원하는 과정이 수행된다.In step S160, the management server 30 substitutes the encrypted private key matching the extracted partial hash value and the entire hash value transmitted from the new encryption generator 10 to the decryption algorithm to restore the user's private key This is done.

단계 S170에서는, 관리서버(30)가 복원된 개인키를 신규암호발생기(10)로 제공하는 과정이 수행된다.In step S170, the process of providing the restored private key to the new encryption generator 10 by the management server 30 is performed.

도 4는 본 발명의 일 실시 예에 있어서, 개인키 복원단계(S50)의 다른 예시적인 구성을 설명하기 위한 도면이다.4 is a view for explaining another exemplary configuration of the private key restoration step (S50) according to an embodiment of the present invention.

도 4를 추가로 참조하면, 단계 S110은 도 3을 통해 설명한 내용과 동일하다.Referring additionally to FIG. 4 , step S110 is the same as described with reference to FIG. 3 .

단계 S220에서는, 사용자가 단말기(20)를 통해 관리서버(30)에 접속하여 개인정보를 입력하는 과정이 수행된다.In step S220, a process for the user to access the management server 30 through the terminal 20 and input personal information is performed.

단계 S230에서는, 관리서버(30)가 해시함수에 사용자로부터 입력받은 개인정보를 대입하여 전체 해시값을 생성하는 과정이 수행된다.In step S230, the process of generating the entire hash value by substituting the personal information input from the user into the hash function by the management server 30 is performed.

단계 S240에서는, 관리서버(30)가 전체 해시값에 대응하는 부분 해시값을 복원 DB(40)에서 추출하는 과정이 수행된다.In step S240, a process of extracting a partial hash value corresponding to the entire hash value by the management server 30 from the restoration DB 40 is performed.

단계 S250에서는, 관리서버(30)가 추출된 부분 해시값에 매칭되어 있는 암호화된 개인키와 전체 해시값을 복호화 알고리즘에 대입하여 사용자의 개인키를 복원하는 과정이 수행된다.In step S250, the management server 30 substitutes the encrypted private key and the entire hash value matched to the extracted partial hash value to the decryption algorithm to restore the user's private key is performed.

단계 S260에서는, 관리서버(30)가 복원된 개인키를 신규암호발생기(10)에 입력하는 과정이 수행된다.In step S260, a process of inputting the restored private key to the new encryption generator 10 by the management server 30 is performed.

단계 S270에서는, 관리서버(30)가 복원된 개인키가 입력된 신규암호발생기(10)를 사용자에게 제공하는 과정이 수행된다. 예를 들어, 이 과정은 관리서버(30)를 운영하는 주체가 신규암호발생기(10)를 우편 등의 방식으로 사용자에게 제공하거나, 사용자가 관리서버(30)를 운영하는 주체의 사업장 등을 방문하여 신규암호발생기(10)를 직접 수령하는 방식으로 진행될 수 있으나, 이에 한정되지는 않는다.In step S270, the management server 30 provides the user with the new encryption generator 10 to which the restored private key is input is performed. For example, in this process, the subject operating the management server 30 provides the new password generator 10 to the user by mail or the like, or the user visits the business site of the subject operating the management server 30 . Thus, the new password generator 10 may be directly received, but the present invention is not limited thereto.

이상에서 상세히 설명한 바와 같이 본 발명에 따르면, 개인키의 암호화를 사용자 본인만이 할 수 있도록 하며, 개인키를 복원할 수 있는 키값을 보관하지 않기 때문에 사용자 본인 이외에는 누구도 개인키를 사용할 수 없어 해킹이나 내부자 도용이 원천적으로 불가능한 효과가 있으며, 사용자가 개인키를 분실한 경우 이를 사용자 본인만이 안전하게 회복할 수 있도록 하는 부분 해시값을 이용한 개인키 관리 방법이 제공되는 효과가 있다.As described in detail above, according to the present invention, only the user himself/herself can encrypt the private key, and since the key value capable of restoring the private key is not stored, no one other than the user himself/herself can use the private key, so There is an effect that insider theft is fundamentally impossible, and a private key management method using a partial hash value that allows only the user to safely recover the private key when the user loses it is effective.

10: 암호발생기
20: 단말기
30: 관리서버
40: 복원 DB
S10: 전체 해시값 생성단계
S20: 암호화 단계
S30: 암호화 정보 전송단계
S40: 암호화 정보 보관단계
S50: 개인키 복원단계
10: password generator
20: terminal
30: management server
40: restore DB
S10: Full hash value generation step
S20: Encryption Phase
S30: Encryption information transmission step
S40: Encryption information storage stage
S50: Private key restoration step

Claims (4)

부분 해시값을 이용한 개인키 관리 방법으로서,
암호발생기가 해시함수에 사용자로부터 입력받은 개인정보를 대입하여 전체 해시값을 생성하는 전체 해시값 생성단계;
상기 암호발생기가 상기 전체 해시값과 상기 사용자의 개인키를 암호화 알고리즘에 대입하여 암호화된 개인키를 생성하는 암호화 단계;
상기 암호발생기가 상기 전체 해시값의 일부인 부분 해시값과 상기 암호화된 개인키를 관리서버로 전송하는 암호화 정보 전송단계; 및
상기 관리서버가 상기 암호발생기로부터 전송받은 부분 해시값과 암호화된 개인키를 매칭시켜 복원 DB에 보관하는 암호화 정보 보관단계를 포함하는, 부분 해시값을 이용한 개인키 관리 방법.
As a private key management method using a partial hash value,
A total hash value generation step of generating an entire hash value by substituting the personal information input from the user into the hash function by the cryptographic generator;
an encryption step in which the encryption generator generates an encrypted private key by substituting the entire hash value and the user's private key into an encryption algorithm;
an encryption information transmission step in which the encryption generator transmits a partial hash value that is a part of the entire hash value and the encrypted private key to a management server; and
and an encryption information storage step of matching, by the management server, the partial hash value transmitted from the encryption generator to the encrypted private key, and storing the encrypted private key in a restoration DB.
제1항에 있어서,
상기 전체 해시값 생성단계에서,
상기 암호발생기는 상기 개인정보를,
상기 암호발생기에 구비된 입력수단을 통해 상기 사용자로부터 입력받거나,
상기 암호발생기와 근접 통신하는 단말기를 매개로 상기 사용자로부터 입력받는 것을 특징으로 하는, 부분 해시값을 이용한 개인키 관리 방법.
According to claim 1,
In the step of generating the entire hash value,
The encryption generator is the personal information,
receiving input from the user through an input means provided in the encryption generator;
A method for managing a private key using a partial hash value, characterized in that the input is received from the user through a terminal in close communication with the encryption generator.
제2항에 있어서,
상기 개인정보는 상기 사용자의 생체정보를 포함하는 것을 특징으로 하는, 부분 해시값을 이용한 개인키 관리 방법.
3. The method of claim 2,
The personal information is a private key management method using a partial hash value, characterized in that it includes the user's biometric information.
제1항에 있어서,
상기 관리서버가 상기 암호발생기를 분실한 사용자가 신규 발급받은 신규암호발생기로부터 전송받은 전체 해시값에 대응하는 부분 해시값을 상기 복원 DB에서 추출하고, 추출된 부분 해시값에 매칭되어 있는 암호화된 개인키와 상기 전체 해시값을 상기 암호화 알고리즘에 대응하는 복호화 알고리즘에 대입하여 상기 사용자의 개인키를 복원하여 상기 신규암호발생기로 제공하는 개인키 복원단계를 더 포함하는 것을 특징으로 하는, 부분 해시값을 이용한 개인키 관리 방법.
According to claim 1,
The management server extracts a partial hash value corresponding to the entire hash value transmitted from the new password generator newly issued to the user who has lost the password generator from the restoration DB, and an encrypted individual matching the extracted partial hash value Substituting the key and the entire hash value into a decryption algorithm corresponding to the encryption algorithm to restore the user's private key, the partial hash value characterized in that it further comprises a private key restoration step of providing it to the new encryption generator How to use private key management.
KR1020200022102A 2020-02-24 2020-02-24 Private key management method using partial hash value KR102357698B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200022102A KR102357698B1 (en) 2020-02-24 2020-02-24 Private key management method using partial hash value

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200022102A KR102357698B1 (en) 2020-02-24 2020-02-24 Private key management method using partial hash value

Publications (2)

Publication Number Publication Date
KR20210107941A KR20210107941A (en) 2021-09-02
KR102357698B1 true KR102357698B1 (en) 2022-02-14

Family

ID=77794209

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200022102A KR102357698B1 (en) 2020-02-24 2020-02-24 Private key management method using partial hash value

Country Status (1)

Country Link
KR (1) KR102357698B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114221762A (en) * 2021-12-13 2022-03-22 深圳壹账通智能科技有限公司 Private key storage method, private key reading method, private key management device, private key management equipment and private key storage medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100445737B1 (en) 1995-12-15 2004-11-03 인터내셔널 비지네스 머신즈 코포레이션 Differential work factor cryptography method and system
US20070180509A1 (en) 2005-12-07 2007-08-02 Swartz Alon R Practical platform for high risk applications
KR101977109B1 (en) 2015-11-17 2019-08-28 (주)마크애니 Large simultaneous digital signature service system based on hash function and method thereof

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999060749A1 (en) * 1998-05-18 1999-11-25 Mitsubishi Materials Corporation Information sharing system
KR101863953B1 (en) 2016-06-16 2018-06-29 주식회사 티모넷 System and method for providing electronic signature service
KR102070248B1 (en) 2018-02-12 2020-01-28 주식회사 한컴위드 User authentication apparatus supporting secure storage of private key and operating method thereof

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100445737B1 (en) 1995-12-15 2004-11-03 인터내셔널 비지네스 머신즈 코포레이션 Differential work factor cryptography method and system
US20070180509A1 (en) 2005-12-07 2007-08-02 Swartz Alon R Practical platform for high risk applications
KR101977109B1 (en) 2015-11-17 2019-08-28 (주)마크애니 Large simultaneous digital signature service system based on hash function and method thereof

Also Published As

Publication number Publication date
KR20210107941A (en) 2021-09-02

Similar Documents

Publication Publication Date Title
US11824991B2 (en) Securing transactions with a blockchain network
US20180144114A1 (en) Securing Blockchain Transactions Against Cyberattacks
JP4881119B2 (en) User authentication method, user side authentication device, and program
US10680808B2 (en) 1:N biometric authentication, encryption, signature system
US6950523B1 (en) Secure storage of private keys
US9853813B2 (en) Method for securing a private key
US20180034810A1 (en) A system and methods for protecting keys in computerized devices operating versus a server
US20060036857A1 (en) User authentication by linking randomly-generated authentication secret with personalized secret
He et al. A social-network-based cryptocurrency wallet-management scheme
RU2584500C2 (en) Cryptographic authentication and identification method with real-time encryption
KR20200118303A (en) Private key securing methods of decentralizedly storying keys in owner's device and/or blockchain nodes
US20150113283A1 (en) Protecting credentials against physical capture of a computing device
JP2005522775A (en) Information storage system
US20140258718A1 (en) Method and system for secure transmission of biometric data
EP2192513B1 (en) Authentication using stored biometric data
TWI476629B (en) Data security and security systems and methods
TW201223225A (en) Method for personal identity authentication utilizing a personal cryptographic device
JP2010231404A (en) System, method, and program for managing secret information
US8806216B2 (en) Implementation process for the use of cryptographic data of a user stored in a data base
KR102357698B1 (en) Private key management method using partial hash value
US20200160333A1 (en) System and method for the protection of consumer financial data utilizing dynamic content shredding
CN111628864A (en) Method for carrying out secret key safety recovery by using SIM card
JP4350961B2 (en) Data processing device
Dhanalakshmi et al. Password Manager with Multi-Factor Authentication
KR100986980B1 (en) Biometric authentication method, client and server

Legal Events

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