KR101616795B1 - Method for manage private key file of public key infrastructure and system thereof - Google Patents

Method for manage private key file of public key infrastructure and system thereof Download PDF

Info

Publication number
KR101616795B1
KR101616795B1 KR1020150054649A KR20150054649A KR101616795B1 KR 101616795 B1 KR101616795 B1 KR 101616795B1 KR 1020150054649 A KR1020150054649 A KR 1020150054649A KR 20150054649 A KR20150054649 A KR 20150054649A KR 101616795 B1 KR101616795 B1 KR 101616795B1
Authority
KR
South Korea
Prior art keywords
otp
value
authentication
private key
user
Prior art date
Application number
KR1020150054649A
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 KR1020150054649A priority Critical patent/KR101616795B1/en
Application granted granted Critical
Publication of KR101616795B1 publication Critical patent/KR101616795B1/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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
    • 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/3226Cryptographic 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 using a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3228One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-key

Abstract

The present specification relates to a method and a system for managing a private key file based on a public key infrastructure (PKI), which can encrypt a PKI-based private key file using a one-time password (OTP), thereby securely managing the encrypted private key file. The system for managing a private key file based on a PKI according to an embodiment of the present specification may be configured to generate a character string based on an OTP authentication value generated by authenticating an OTP value of an OTP terminal and a password input by a user, recognize the generated new character string as a cipher key, encrypt the private key file using the cipher key, and store the encrypted private key file.

Description

PKI 기반의 개인키 파일 관리 방법 및 그 시스템{METHOD FOR MANAGE PRIVATE KEY FILE OF PUBLIC KEY INFRASTRUCTURE AND SYSTEM THEREOF}TECHNICAL FIELD [0001] The present invention relates to a PKI-based private key file management method and system,

본 발명은 PKI 기반의 개인키 파일을 관리하는 방법 및 그 시스템에 관한 것이다. The present invention relates to a method and system for managing a PKI-based private key file.

일반적으로,사용자는 개인용 컴퓨터(Personal Computer, PC)나 스마트폰 등을 이용하여 인터넷 뱅킹, 주식 거래, 쇼핑 등의 다양한 전자상거래를 한다. 이때 안전한 전자상거래를 위해 신원확인 및 부인방지의 수단으로 공인인증서를 활용한다. 이처럼 전자상거래 활성화를 위해 필수적인 공인인증서의 안전한 발급 및 관리의 체계를 마련코자 전자서명법이 제정되었지만, 사용자 PC의 키보드 해킹(Key Stroke)을 통해 계좌번호, 비밀번호, 공인인증서의 비밀번호 등이 유출되고 있다.Generally, a user performs various electronic commerce such as internet banking, stock trading, shopping, etc. by using a personal computer (PC) or a smart phone. At this time, the certificate is used as a means of identification and non-repudiation for safe electronic commerce. In this way, the electronic signature law has been enacted in order to establish a system of secure issuance and management of authorized certificates essential for electronic commerce activation. However, account numbers, passwords, and passwords of authorized certificates are leaked through keyboard hacking (Key Stroke) .

한국 특허 출원 번호 제10-2007-0098691호Korean Patent Application No. 10-2007-0098691

본 명세서는, PKI(Public Key Infrastructure) 기반의 개인키 파일을 일회용 패스워드(One Time Password, OTP)로 암호화함으로써, 그 암호화된 개인키 파일을 안전하게 관리할 수 있는 PKI 기반의 개인키 파일 관리 방법 및 그 시스템을 제공하는 데 그 목적이 있다. The present disclosure relates to a PKI-based private key file management method that can securely manage an encrypted private key file by encrypting a PKI (Public Key Infrastructure) based private key file with a One Time Password (OTP) The purpose of this system is to provide.

본 명세서의 실시예에 따른 PKI 기반의 개인키 파일을 관리하는 시스템은, OTP(One Time Password) 단말기의 OTP 값을 인증함으로써 생성된 OTP 인증 값과 사용자에 의해 입력한 비밀번호를 근거로 문자열을 생성하고, 상기 생성한 새로운 문자열을 암호키로 인식하고, 상기 암호키로 상기 개인키 파일을 암호화하고, 상기 암호화된 개인키 파일을 저장할 수 있다.A system for managing a PKI-based private key file according to an embodiment of the present invention generates a string based on an OTP authentication value generated by authenticating an OTP value of an OTP (One Time Password) terminal and a password input by a user Encrypts the generated private key file with the encryption key, and stores the encrypted private key file.

본 명세서의 실시예에 따른 PKI 기반의 개인키 파일을 관리하는 방법은, OTP(One Time Password) 단말기의 OTP 값을 인증함으로써 OTP 인증 값을 생성하고, 상기 생성된 OTP 인증 값과 사용자에 의해 입력한 비밀번호를 근거로 문자열을 생성하고, 상기 생성한 새로운 문자열을 암호키로서 상기 개인키 파일을 암호화하여 저장하는 단계를 포함할 수 있다.A method of managing a PKI-based private key file according to an embodiment of the present invention includes generating an OTP authentication value by authenticating an OTP value of an OTP (One Time Password) terminal, inputting the generated OTP authentication value, Generating a string based on a single password, and encrypting and storing the generated private key file using the generated new string as a cryptographic key.

본 발명의 실시예에 따른 PKI 기반의 개인키 파일을 관리하는 방법 및 그 시스템은, PKI(Public Key Infrastructure) 기반의 개인키 파일을 일회용 패스워드(One Time Password, OTP)로 암호화함으로써, 그 암호화된 개인키 파일을 안전하게 관리할 수 있는 효과가 있다.A method and system for managing a PKI-based private key file according to an embodiment of the present invention encrypts a PKI (Public Key Infrastructure) -based private key file with a One Time Password (OTP) It is possible to safely manage the private key file.

도 1은 본 발명의 실시예를 설명하기 위한 PKI 인증시스템을 개략적으로 나타낸 예시도 이다.
도 2는 본 발명의 실시예를 설명하기 위한 공인인증서 상세정보를 나타낸 예시 도이다.
도 3은 본 발명의 실시예를 설명하기 위한 암호화된 개인키 파일 상세 정보를 나타낸 예시도 이다.
도 4 및 도 5는 비동기화 방식 및 동기화 방식을 나타낸 예시도 이다.
도 6은 본 발명의 실시예에 따른 OTP를 이용한 PKI 기반의 개인키 파일 관리 시스템을 나타낸 구성도이다.
도 7은 본 발명의 실시예에 따른 OTP를 이용한 PKI 기반의 사용자 등록 방법을 나타낸 흐름도이다.
도 8은 본 발명의 실시예에 따른 OTP를 이용한 PKI 기반의 개인키 파일 관리 방법을 나타낸 흐름도이다.
BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a schematic view showing a PKI authentication system for explaining an embodiment of the present invention. FIG.
2 is an exemplary view showing detailed certificate information for explaining an embodiment of the present invention.
3 is an exemplary view showing encrypted private key file detailed information for explaining an embodiment of the present invention.
FIGS. 4 and 5 are exemplary diagrams illustrating an asynchronous mode and a synchronous mode.
6 is a block diagram of a PKI-based private key file management system using an OTP according to an embodiment of the present invention.
7 is a flowchart illustrating a PKI-based user registration method using an OTP according to an embodiment of the present invention.
8 is a flowchart illustrating a PKI-based private key file management method using an OTP according to an embodiment of the present invention.

본 명세서에서 사용되는 기술적 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아님을 유의해야 한다. 또한, 본 명세서에서 사용되는 기술적 용어는 본 명세서에서 특별히 다른 의미로 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미로 해석되어야 하며, 과도하게 포괄적인 의미로 해석되거나, 과도하게 축소된 의미로 해석되지 않아야 한다. 또한, 본 명세서에서 사용되는 기술적인 용어가 본 발명의 사상을 정확하게 표현하지 못하는 잘못된 기술적 용어일 때에는, 당업자가 올바르게 이해할 수 있는 기술적 용어로 대체되어 이해되어야 할 것이다. 또한, 본 발명에서 사용되는 일반적인 용어는 사전에 정의되어 있는 바에 따라, 또는 전후 문맥상에 따라 해석되어야 하며, 과도하게 축소된 의미로 해석되지 않아야 한다.It is noted that the technical terms used herein are used only to describe specific embodiments and are not intended to limit the invention. It is also to be understood that the technical terms used herein are to be interpreted in a sense generally understood by a person skilled in the art to which the present invention belongs, Should not be construed to mean, or be interpreted in an excessively reduced sense. Further, when a technical term used herein is an erroneous technical term that does not accurately express the spirit of the present invention, it should be understood that technical terms that can be understood by a person skilled in the art are replaced. In addition, the general terms used in the present invention should be interpreted according to a predefined or prior context, and should not be construed as being excessively reduced.

또한, 본 명세서에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "구성된다" 또는 "포함한다" 등의 용어는 명세서 상에 기재된 여러 구성 요소들, 또는 여러 단계들을 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.Also, the singular forms "as used herein include plural referents unless the context clearly dictates otherwise. In the present application, the term "comprising" or "comprising" or the like should not be construed as necessarily including the various elements or steps described in the specification, Or may be further comprised of additional components or steps.

또한, 본 명세서에서 사용되는 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성 요소로 명명될 수 있고, 유사하게 제2 구성 요소도 제1 구성 요소로 명명될 수 있다. Furthermore, terms including ordinals such as first, second, etc. used in this specification can be used to describe various elements, but the elements should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component.

이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시 예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings, wherein like reference numerals refer to like or similar elements throughout the several views, and redundant description thereof will be omitted.

또한, 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 발명의 사상을 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 발명의 사상이 제한되는 것으로 해석되어서는 아니 됨을 유의해야 한다. In the following description, well-known functions or constructions are not described in detail since they would obscure the invention in unnecessary detail. It is to be noted that the accompanying drawings are only for the purpose of facilitating understanding of the present invention, and should not be construed as limiting the scope of the present invention with reference to the accompanying drawings.

사용자는 개인용 컴퓨터(Personal Computer, PC)나 스마트폰을 이용하여 인터넷 뱅킹, 주식 거래, 쇼핑 등의 다양한 전자상거래를 한다. 이때 안전한 전자상거래를 위해 신원확인 및 부인방지의 수단으로 공인인증서를 활용한다. 이처럼 전자상거래 활성화를 위해 필수적인 공인인증서의 안전한 발급 및 관리의 체계를 마련코자 전자서명법이 제정되었다. 하지만, 사용자 PC의 키보드 해킹(Key Stroke)을 통해 사용자 계좌번호, 비밀번호, 공인인증서의 비밀번호 등이 유출되고 있다.The user uses a personal computer (PC) or a smart phone to perform a variety of electronic commerce such as internet banking, stock trading, and shopping. At this time, the certificate is used as a means of identification and non-repudiation for safe electronic commerce. In this way, the Electronic Signature Law was enacted in order to establish a system for secure issuance and management of authorized certificates, which is essential for the activation of electronic commerce. However, a user account number, a password, and a password of an authorized certificate are leaked through a keyboard stroke of a user PC.

사용자 PC의 키보드나 메모리 해킹, 스마트폰에 저장된 공인인증서와 비밀번호 탈취 시도 등의 해킹 기술이 급속하게 발전하고 있으며, 최근 인터넷 뱅킹 관련 해킹 피해액이 증가하고 있다. 이러한 해킹 사고에 대응하기 위해 공인인증서뿐만 아니라, 일회용 패스워드(One Time Password, 이하 OTP라 함) 인증 방식, SMS(Short Message Service), 가상 키패드 등 다양한 인증방법을 도입하려는 시도가 늘어나고 있다. 특히, 은행/증권 등의 금융기관에서는 다양한 해킹사고를 방지하기 위해 SMS, 공인인증서, OTP, 가상 키패드 등을 함께 사용하도록 강제하고 있으며, 추가적으로 키보드 보안 솔루션, 백신 등 다양한 보안 프로그램을 사용자 PC에 반드시 설치하도록 요구하고 있다. 또한 사용자의 비밀번호를 영문/대소문자/숫자/특수문자 3가지 조합으로 9자리 이상을 요구함으로 인해 사용자는 비밀번호 관리에 부담을 갖게 된다. 하지만, 여러 가지 보안 대책에도 불구하고 사용자의 비밀번호와 개인키 파일이 외부에 노출되면 금융기관의 보안대책은 어떠한 보호막 역할을 수행하지 못한다. 즉, 여러 가지 보안대책을 수립하여 운영하더라도 공인인증서와 공인인증서의 비밀번호에 대한 안전한 관리 방안이 필요하다.Hacking technologies such as keyboard and memory hacking of users' PCs and attempts to steal passwords and passwords stored in smartphones have been rapidly developing, and the amount of hacking related to Internet banking is increasing recently. In order to cope with such a hacking accident, various attempts have been made to introduce various authentication methods such as a one time password (hereinafter referred to as OTP) authentication method, SMS (Short Message Service) and a virtual keypad in addition to a public certificate. In particular, financial institutions such as banks and securities are forced to use SMS, public certificate, OTP, virtual keypad, etc. to prevent various hacking accidents. In addition, various security programs such as keyboard security solution and vaccine Installation. In addition, since the user requires more than nine digits in combination of English, uppercase / lowercase / numerals / special characters, the user is burdened with password management. However, if the user's password and the private key file are exposed to the outside world despite the various security measures, the security measures of the financial institution do not play any protective role. In other words, even if various security countermeasures are established and operated, a secure management plan for the passwords of the authorized certificates and the authorized certificates is needed.

따라서, 본 발명에서는 OTP 기술을 활용하여 사용자 비밀번호와 개인키 파일이 노출되더라도 개인키 파일을 안전하게 관리(유지)할 수 있는 방법을 설명한다.Therefore, in the present invention, a method of securely managing (maintaining) a private key file even when a user's password and a private key file are exposed using OTP technology will be described.

이하에서는, 본 발명을 설명하기 위한 PKI(Public Key Infrastructure) 인증시스템에 대해 설명한다.Hereinafter, a PKI (Public Key Infrastructure) authentication system for explaining the present invention will be described.

도 1은 본 발명의 실시예를 설명하기 위한 PKI 인증시스템을 개략적으로 나타낸 예시도 이다.BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a schematic view showing a PKI authentication system for explaining an embodiment of the present invention. FIG.

먼저, PKI(Public Key Infrastructure)란 공개키 암호시스템을 안전하게 사용하고 관리하기 위한 정보보호 표준 방식으로 인터넷상의 전자상거래와 같이 지역적으로 떨어져 있는 이용자 간의 전자서명과 암호화에 의한 보안기술이다. 즉, PKI 인증시스템은 통신을 하고자 하는 쌍방이 모두 신뢰할 수 있는 기관(공인인증기관)에서 생성한 공개키와 개인키를 사용하여 안전한 전자상거래를 할 수 있도록 지원한다.First, PKI (Public Key Infrastructure) is an information security standard for securely using and managing a public key cryptosystem. It is a security technology by digital signatures and encryption between users who are locally distant, such as electronic commerce on the Internet. In other words, the PKI authentication system supports secure e-commerce by using the public key and the private key generated by all the parties (authorized certification authorities) that both parties who want to communicate can trust.

도 1에 도시한 바와 같이, PKI 인증시스템은 사용자 정보에 따라 랜덤하게 생성된 공개키 정보를 저장한 인증서(예를 들면, 공인 인증서)를 발급하고 관리하는 인증기관(CA), 사용자의 인증서 발급 요청에 따라 사용자 정보를 등록하는 등록대행기관(RA), 인증서와 폐지된 인증서 목록을 사용자에게 제공하는 디렉터리 시스템(DS) 등으로 구성된다. 이러한 PKI 인증시스템의 동작 절차는 다음과 같다. As shown in FIG. 1, the PKI authentication system includes a certification authority (CA) that issues and manages a certificate (for example, a public certificate) storing public key information generated randomly according to user information, A registrar (RA) for registering user information in response to a request, and a directory system (DS) for providing a certificate and a revoked certificate list to the user. The operation procedure of the PKI authentication system is as follows.

먼저, 사용자(User)가 등록대행기관(RA)에서 자신의 신원정보를 확인받고 인증서 발급 요청한다. 그 인증서 발급 요청을 받은 등록대행기관(RA)은 사용자 신원정보를 전송하면서 인증기관(CA)에 인증서 발급 요청을 한다. 사용자 인증서 발급요청을 수신한 인증기관(CA)은 사용자(User)에게 인증서를 발급해주면서 발급된 인증서와 인증서 폐지목록을 디렉터리 시스템(DS)에 게시한다. First, a user confirms his / her identity information in a registration agency (RA) and requests a certificate issuance. Upon receiving the certificate issuance request, the registration authority (RA) transmits the user identity information to the certification authority (CA) to issue a certificate request. Upon receiving the user certificate issuance request, the certification authority (CA) issues a certificate to the user, and posts the issued certificate and certificate revocation list to the directory system (DS).

사용자(User)가 인터넷 상점(Market)에 접속하여 전자상거래 시, 해당 상점(Market)에서는 디렉토리 시스템(DS)에 접속하여 사용자 인증서와 인증서 폐지목록을 다운받아 사용자의 인증서의 유효성을 검사한 후 그 인증서가 유효한 사용자에게만 해당 서비스를 제공한다.When the user accesses the Internet store and accesses the directory system (DS) in the e-commerce market, the user checks the validity of the user's certificate by downloading the user certificate and certificate revocation list, The service is provided only to users whose certificates are valid.

이처럼 PKI 인증시스템은 암복호화 및 전자서명 기술을 이용하여 전송데이터의 위변조 확인 메커니즘을 제공하여 다양한 인터넷 서비스나 전자상거래를 안전하게 할 수 있도록 지원한다. 전자상거래 시 아이디(ID)/비밀번호(PW) 방식이나 보안토큰 등의 방식에 비해 PKI 기반의 기술이 암호학적으로 더 안전하여, 한국에서 공인인증기관을 운영하고 있다. 이때 사용하는 X.509 공인인증서는 "signCert.der", "signPri.key", "CaPubs" 라는 파일들로 구성되며, 각 파일의 용도는 표 1과 같다. In this way, the PKI authentication system supports encryption / decryption and electronic signing technology to provide a mechanism for checking the forgery and alteration of transmitted data to secure various Internet services and e-commerce transactions. PKI-based technology is more cryptographically safe than e-commerce ID / PW method and security token, and operates certified certificate authority in Korea. The X.509 certificate used in this case consists of the files "signCert.der", "signPri.key", "CaPubs", and the usage of each file is shown in Table 1.

파일명File name 용도Usage signCert.dersignCert.der 인증서의 버전, 인증서 소유자 정보, 유효기간, 인증서 발급자 정보 등이 X.509 형식에 맞춰서 저장된 공개키 파일The public key file stored in X.509 format, such as the version of the certificate, the certificate owner information, the validity period, and the certificate issuer information signPri.keysignPri.key PKCS#8 구조에 따라 저장한 개인키 파일 Private key file saved according to PKCS # 8 structure CaPubsCaPubs 인증서의 유효성 검증을 위한 인증서 체인(발급기관 정보) 파일The certificate chain (issuer information) file for validating the certificate

도 2는 본 발명의 실시예를 설명하기 위한 공인인증서 상세정보를 나타낸 예시 도이다.2 is an exemplary view showing detailed certificate information for explaining an embodiment of the present invention.

도 2에 도시한 바와 같이, X.509 공인인증서 상세정보는 인증서 소유자 정보, 유효기간, 서명알고리즘, 서명해시 알고리즘, 발급자, 공개키 등의 정보를 X.509 인증서 구조체 형식에 따라 ASN.1 인코딩하여 저장하고, 개인키 상세정보는 개인키 암호 알고리즘, 서명 알고리즘 등의 정보를 PKCS#8 구조체 형식에 따라 사용자가 입력한 암호로 암호화하여 저장한다. 이때 개인키 파일의 암호화 메커니즘은 패스워드 기반의 암호화 방식( Password Based Encryption Scheme, PBES)을 사용한다. 즉, 사용자로부터 입력받은 암호로 개인키 파일을 암호화하여 저장하고, 개인키가 필요할 때마다 사용자로부터 암호를 입력받아 암호화된 개인키 파일을 복호화 후 전자서명 생성검증, 암복호화에 사용하게 된다.As shown in FIG. 2, the X.509 certificate detail information includes information such as the certificate owner information, the validity period, the signature algorithm, the signature verification algorithm, the issuer, and the public key according to the X.509 certificate structure format. And the private key detailed information encrypts and stores the information such as the private key cryptographic algorithm and the signature algorithm according to the PKCS # 8 structure type with the password inputted by the user. At this time, the encryption mechanism of the private key file uses a Password Based Encryption Scheme (PBES). That is, a private key file is encrypted and stored with a password input from a user, and the encrypted private key file is decrypted after the user inputs a password whenever the private key is needed, and then used for digital signature generation verification and encryption / decryption.

도 3은 본 발명의 실시예를 설명하기 위한 암호화된 개인키 파일 상세 정보를 나타낸 예시도 이다. 공인인증서는 공개키 및 개인키 파일, 인증서 체인파일이 그룹으로 사용되지만, 암호화된 개인키 파일은 해커들의 주요 공격대상이 된다.3 is an exemplary view showing encrypted private key file detailed information for explaining an embodiment of the present invention. Authorized certificates are used as a group of public and private key files and certificate chain files, but encrypted private key files are a major target for hackers.

이하에서는, 본 발명을 설명하기 위한 OTP(One Time Password, 일회용 패스워드) 단말기(또는 OTP 기기)를 설명한다. Hereinafter, an OTP (One Time Password) terminal (or OTP device) for explaining the present invention will be described.

OTP(One Time Password, 일회용 패스워드) 단말기는 사용자가 로그인할 때마다 해당 세션에서만 사용할 수 있는 일회용 패스워드를 생성하는 보안시스템으로, 아이디(ID)/패스워드(PW) 방식에서 사용자 패스워드가 외부 노출 시 재사용될 수 있는 문제를 예방하기 위해 매 인증시마다 달라지는 일회용 패스워드를 생성하여 사용자를 인증한다.One Time Password (OTP) terminal is a security system that generates a one-time password that can be used only in a session each time a user logs in. It is a system that allows a user password to be reused at the time of external exposure in an ID / To prevent problems that may occur, a one-time password that is different at every authentication is generated to authenticate the user.

사용자와 OTP 인증센터(OTP 인증서버)는 OTP 생성검증 알고리즘을 공유하고, 사용자가 자신의 아이디(ID)와 타임스탬프 값을 OTP 생성알고리즘에 입력하여 생성한 OTP값을 OTP 인증 센터에 전송하면 OTP 인증센터는 사용자로부터 수신한 OTP값과 사용자 아이디(ID)를 OTP 생성검증 알고리즘에 입력하여 사용자 아이디(ID)에 따른 OTP값을 생성한 후 이를 비교하여 검증하게 한다. 이때, OTP 생성 알고리즘은 암호학적으로 안전한 방법으로 타임스탬프 값과 비밀번호를 일방향 해쉬 알고리즘으로 OTP 값을 생성하고, 또한 요청 시 마다 다른 OTP값을 생성하므로, 공격자가 중간에서 OTP값을 획득했다 하더라도 추후 인증에 재사용할 수 없다. 이러한 OTP 방식은 OTP 인증센터와 동기화 과정의 필요여부에 따라 동기화 방식과 비동기화 방식으로 나눌 수 있다.The user and the OTP authentication center (OTP authentication server) share the OTP generation verification algorithm. When the user inputs his / her own ID and timestamp value into the OTP generation algorithm and sends the generated OTP value to the OTP authentication center, The authentication center inputs the OTP value and the user ID received from the user into the OTP generation verification algorithm to generate an OTP value according to the user ID, and then compares and verifies the OTP value. In this case, the OTP generation algorithm generates an OTP value using a one-way hash algorithm in a cryptographically secure manner using a timestamp value and a password, and generates another OTP value upon each request, so even if an attacker obtains an OTP value in the middle Can not be reused for authentication. The OTP method can be divided into a synchronization method and an asynchronous method depending on whether the synchronization process with the OTP authentication center is required.

도 4는 비동기화 방식을 나타낸 예시도 이며, 도 5는 동기화 방식을 나타낸 예시도 이다.FIG. 4 shows an example of an asynchronous method, and FIG. 5 shows an example of a synchronous method.

도 4에 도시한 바와 같이, 상기 비동기화 방식은 사용자(사용자 단말기)가 자신의 인증정보를 요청하면 인증 서버가 챌런지(Challenge) 값을 사용자(사용자 단말기)에게 요청하여 사용자(사용자 단말기)로부터 응답(Response) 값을 다시 수신하여 사용자 인증정보와 응답(Response) 값을 가지고 사용자를 인증하는 방식이다.As shown in FIG. 4, in the asynchronous mode, when a user (user terminal) requests authentication information of the user, the authentication server requests a challenge value from the user (user terminal) And receives the response value again to authenticate the user with the user authentication information and the response value.

도 5에 도시한 바와 같이, 상기 동기화 방식은 사용자가 자신의 인증정보가 포함된 OTP값을 인증 서버에 전송하면, 인증 서버는 이를 인증센터에 OTP 검증을 요청하여 그 결과로 사용자를 인증하는 방식이다.As shown in FIG. 5, in the synchronization method, when a user transmits an OTP value including his / her authentication information to an authentication server, the authentication server requests the authentication center to perform OTP verification and consequently authenticates the user to be.

상기 비동기화 방식은 인증 서버 및 OTP 인증센터와는 동기화 과정이 필요 없지만, 사용자가 OTP 인증센터로부터 수신한 챌런지(Challenge)값을 매번 입력해야 하고, 동기화 방식에 비해 네트워크 부하가 발생하며, 기존의 아이디(ID)/패스워드(PW) 기반의 애플리케이션과의 호환성이 낮다. 반면, 상기 동기화 방식은 OTP 인증센터의 챌런지(Challenge) 값에 대한 응답(Response)값을 받을 필요가 없고, 비동기화 방식에 비해 네트워크 부하가 상대적으로 적고, 기존 아이디(ID)/패스워드(PW) 기반의 애플리케이션과의 호환성이 높다. 그러나 사용자 단말기, 인증 서버, OTP 인증센터 간에 시간 동기화 및 동기화 횟수 등의 기준값이 동기화가 반드시 이뤄져야 한다. The asynchronous method does not need a synchronization process with the authentication server and the OTP authentication center. However, the user has to input the challenge value received from the OTP authentication center every time, the network load is generated compared with the synchronization method, (ID) / password (PW) based applications. On the other hand, the synchronization scheme does not need to receive a response value to the challenge value of the OTP authentication center, and the network load is relatively small as compared with the asynchronous scheme, and the existing ID / password (PW ) -Based applications. However, synchronization of reference values such as time synchronization and number of synchronization between user terminal, authentication server and OTP authentication center must be performed.

도 6은 본 발명의 실시예에 따른 OTP를 이용한 PKI 기반의 개인키 파일 관리 시스템을 나타낸 구성도이다.6 is a block diagram of a PKI-based private key file management system using an OTP according to an embodiment of the present invention.

도 6에 도시한 바와 같이, 본 발명의 실시예에 따른 OTP를 이용한 PKI 기반의 개인키 파일 관리 시스템은, 사용자 단말기(100), 인증 서버(200), OTP 인증 서버(또는 OTP 인증 센터)(300), PKI 인증 시스템(또는 PKI 인증 서버)(400)을 포함할 수 있다.6, a PKI-based private key file management system using an OTP according to an embodiment of the present invention includes a user terminal 100, an authentication server 200, an OTP authentication server (or an OTP authentication center) 300), and a PKI authentication system (or PKI authentication server) 400.

상기 사용자 단말기(100)는 휴대폰, 스마트 폰(smart phone), 노트북 컴퓨터(laptop computer), 디지털방송용 단말기, PDA(personal digital assistants), PMP(portable multimedia player), 네비게이션 장치, 슬레이트 PC(slate PC), 태블릿 PC(tablet PC), 울트라북(ultrabook), 웨어러블 디바이스(wearable device, 예를 들어, 워치형 단말기 (smartwatch), 글래스형 단말기 (smart glass), HMD(head mounted display)) 등 중에서 어느 하나가 될 수 있다. The user terminal 100 may be a mobile phone, a smart phone, a laptop computer, a digital broadcasting terminal, a personal digital assistant (PDA), a portable multimedia player (PMP), a navigation device, a slate PC, , A tablet PC, an ultrabook, a wearable device (for example, a smartwatch, a glass glass, a head mounted display (HMD) .

본 발명은 기존의 PKI 인증시스템에 OTP 기술을 적용하는 것으로서, 이로 인해 사용자가 전자서명인증서를 효율적으로 사용할 수 있다. PKI 인증시스템에서 사용하는 개인키 파일은 사용자에 의해 입력된 암호로 암호화되어 저장된다. 이때, 공격자(해커)는 사용자가 입력하는 암호를 몰래 빼내기 위해 키보드 해킹, 메모리 해킹 등의 다양한 해킹을 시도한다. 이러한 해킹에 대응하기 위해 사용자에게 암호를 수시로 변경하도록 권고하고 있다.The present invention applies OTP technology to an existing PKI authentication system, thereby enabling a user to efficiently use an electronic signature certificate. The private key file used in the PKI authentication system is encrypted and stored with the password entered by the user. At this time, an attacker (hacker) tries various hacking such as keyboard hacking, memory hacking and the like to secretly extract a password inputted by the user. In order to cope with such hacking, it is recommended to change the password from time to time.

본 발명에서는 사용자 비밀번호와 OTP 서버로부터 수신한 값을 이용해 개인키 파일을 암호화하는 방법을 제공함으로써 암호화된 개인키 파일을 안전하게 보호할 수 있는 방법을 설명한다.The present invention provides a method for securely protecting an encrypted private key file by providing a method of encrypting a private key file using a user password and a value received from an OTP server.

도 7은 본 발명의 실시예에 따른 OTP를 이용한 PKI 기반의 사용자 등록 방법을 나타낸 흐름도이다. 예를 들면, PKI인증시스템으로부터 사용자 인증서와 개인키 파일을 최초 발급받은 상태에서, 추가적으로 OTP 인증 센터와 인증 서버에 사용자 등록 및 개인키 파일의 암호화 절차를 수행하는 방법을 설명한다.7 is a flowchart illustrating a PKI-based user registration method using an OTP according to an embodiment of the present invention. For example, a method of performing user registration and encryption of a private key file in an OTP authentication center and an authentication server in a state where a user certificate and a private key file are first issued from a PKI authentication system will be described.

먼저, 사용자 단말기(100)는 사용자 정보(예를 들면, 사용자 ID)와 OTP 인증 서버(300)로부터 발급받은 OTP 기기정보(또는 OTP 단말기 정보)를 인증 서버(200)에 등록 요청한다(S11). 상기 사용자의 개인키 파일(예를 들면, signPri.key)은 사용자가 입력한 비밀번호로만 암호화된 상태이며, 상기 개인키 파일의 암호화에 필요한 전자서명값(예를 들면, AuthID0)이 인증 서버(200)에 저장되지 않은 상태이다. First, the user terminal 100 requests the authentication server 200 to register user information (for example, a user ID) and OTP device information (or OTP terminal information) received from the OTP authentication server 300 (S11) . (For example, signPri.key) is encrypted only with the password entered by the user, and an electronic signature value (for example, AuthID 0 ) necessary for encrypting the private key file is stored in the authentication server 200). ≪ / RTI >

인증 서버(200)는 상기 사용자 정보(예를 들면, 사용자 ID)와 상기 OTP 기기정보(또는 OTP 단말기 정보)를 상기 사용자 단말기(100)로부터 수신하고, 그 수신된 사용자 정보(예를 들면, 사용자 ID)와 상기 OTP 기기정보(또는 OTP 단말기 정보)를 등록(저장)한다.The authentication server 200 receives the user information (for example, a user ID) and the OTP device information (or OTP terminal information) from the user terminal 100 and transmits the received user information (for example, ID) and the OTP device information (or OTP terminal information).

사용자 단말기(100)는 사용자에 의해 입력된 사용자 정보(예를 들면, 사용자 ID(UserID))와 OTP 기기에 표시된 OTP 값(OTP_No)을 수신하고, 상기 수신된 사용자 정보(예를 들면, UserID)와 OTP 값(OTP_No)에 대한 인증을 인증 서버(200)에 요청한다(OTP 인증 요청)(S12).The user terminal 100 receives the user information (for example, the user ID) input by the user and the OTP value OTP_No displayed on the OTP device, And the OTP value (OTP_No) to the authentication server 200 (OTP authentication request) (S12).

인증 서버(200)는 상기 사용자 정보(예를 들면, 사용자 ID)와 OTP 기기에 표시된 OTP 값(OTP_No)을 수신하고, 상기 수신된 사용자 정보(예를 들면, 사용자 ID)가 최초 사용자인 경우에만 상기 수신된 OTP 값(OTP_No)을 OTP 인증 서버(300)에 전송함으로써 상기 OTP 값(OTP_No)에 대한 OTP 인증을 상기 OTP 인증 서버(300)에 요청한다(S13). 상기 인증 서버(200)는 상기 OTP 인증 요청이 처음이 아닌 경우 OTP 인증 요청을 거절한다.The authentication server 200 receives the user information (e.g., user ID) and the OTP value OTP_No displayed on the OTP device, and only when the received user information (e.g., user ID) is the first user The OTP authentication server 300 requests the OTP authentication server 300 to authenticate the OTP value OTP_No by transmitting the received OTP value OTP_No to the OTP authentication server 300 in operation S13. The authentication server 200 rejects the OTP authentication request when the OTP authentication request is not the first one.

상기 OTP 인증 서버(300)는 상기 인증 서버(200)로부터 상기 OTP값(OTP_No)을 수신하고, 그 수신된 OTP값(OTP_No)의 유효성을 검증한 후 상기 OTP값(OTP_No)에 대한 OTP 검증 결과를 상기 인증 서버(200)에 전송한다(S14). 예를 들면, 상기 OTP 인증 서버(300)는 상기 인증 서버(200)로부터 상기 OTP값(OTP_No)을 수신하고, 그 수신된 상기 OTP값(OTP_No)의 유효성을 검증한 후 OTP값(OTP_No)이 유효한 경우에만 OTP 인증 값(AuthID0값)을 생성하고, 그 생성한 OTP 인증 값(AuthID0값)을 상기 인증 서버(200)에 전송한다. 반면, 상기 OTP 인증 서버(300)는 상기 OTP값(OTP_No)이 유효하지 않으면 인증 실패(False) 값을 인증 서버(200)에 전송한다.The OTP authentication server 300 receives the OTP value OTP_No from the authentication server 200 and verifies the validity of the received OTP value OTP_No and then outputs the OTP verification result OTP_No To the authentication server 200 (S14). For example, the OTP authentication server 300 receives the OTP value OTP_No from the authentication server 200, verifies the validity of the received OTP value OTP_No, and outputs an OTP value OTP_No generating the OTP authentication value (AuthID 0 value) only when valid, and transmits the generated OTP authentication value (AuthID value 0) to the authentication server (200). On the other hand, if the OTP value (OTP_No) is not valid, the OTP authentication server 300 transmits an authentication failure value (False) to the authentication server 200.

인증 서버(200)는 OTP 인증 서버(300)로부터 OTP 인증 값(AuthID0)을 수신하고, 그 수신한 OTP 인증 값(AuthID0)을 인증 서버(200)(예를 들면, 인증 서버의 데이터베이스)에 저장한다. The authentication server 200 receives the OTP authentication value (AuthID 0 ) from the OTP authentication server 300 and transmits the received OTP authentication value (AuthID 0 ) to the authentication server 200 (for example, .

인증 서버(200)는 상기 저장된 OTP 인증 값(AuthID0)을 사용자 단말기(100)에 전송하고, 그 전송한 OTP 인증 값(AuthID0)에 대한 전자서명 값을 사용자 단말기(100)에 요청한다(S15).The authentication server 200 transmits the stored OTP authentication value (AuthID 0 ) to the user terminal 100 and requests the user terminal 100 for the digital signature value for the transmitted OTP authentication value (AuthID 0 ) S15).

사용자 단말기(100)는 인증 서버(200)로부터 상기 OTP 인증 값(AuthID0)이 수신되면 사용자로부터 비밀번호를 입력받아서 일방향 해쉬하여 암호화된 개인키 파일의 복호화를 수행한다.When the OTP authentication value (AuthID 0 ) is received from the authentication server 200, the user terminal 100 receives the password from the user and performs one-way hashing to decrypt the encrypted private key file.

사용자 단말기(100)는 상기 복호화된 개인키 파일을 이용해 상기 OTP 인증 값(AuthID0)을 전자서명함으로써 전자 서명 값(SigUser _ Pri _ key(AuthID0))을 생성하고, 그 생성한 전자 서명 값을 인증 서버(200)에 전송한다(S16).Generating a user terminal 100 is an electronic signature value (Sig User _ Pri _ key (AuthID 0)) by the digital signature of the OTP authentication value (AuthID 0) using the private key file that is the decoding, and the generated digital signature Value to the authentication server 200 (S16).

인증 서버(200)는 사용자 단말기(100)로부터 상기 전자 서명 값이 수신되면 PKI 인증 시스템(400)을 통해 사용자의 인증서를 검증하고(S17), 그 검증 결과 사용자의 인증서가 유효한 경우 상기 수신한 전자 서명 값이 유효한지를 검증한다. 인증 서버(200)는 상기 수신한 전자 서명 값이 유효하면 그 유효한 전자 서명 값을 인증 서버(200)의 데이터베이스에 저장하고, 그 유효한 전자 서명 값을 사용자 단말기(100)에 전송한다(S18).When the digital signature value is received from the user terminal 100, the authentication server 200 verifies the user's certificate through the PKI authentication system 400 (S17). If the user's certificate is valid, Verify that the signature value is valid. If the received digital signature value is valid, the authentication server 200 stores the valid digital signature value in the database of the authentication server 200 and transmits the valid digital signature value to the user terminal 100 (S18).

사용자 단말기(100)는 인증 서버(200)로부터 상기 유효한 전자 서명 값을 수신하고, 상기 유효한 전자 서명 값과 사용자 비밀 번호를 조합 및 일방향 해쉬함으로써 문자열을 생성하고, 그 생성한 문자열을 암호키로 인식하고, 그 암호키로 사용자의 복호화된 개인키 파일(예를 들면, signPri.key)을 암호화하여 파일로 저장한다. 즉, 상기 개인키 파일(예를 들면, signPri.key)은 사용자의 비밀번호와 상기 유효한 전자 서명 값으로 암호화되고, 인증 서버(200)에 사용자 등록 절차가 완료된다. The user terminal 100 receives the valid digital signature value from the authentication server 200, generates a character string by combining and validating the valid digital signature value and the user password in one direction, recognizes the generated character string as a cipher key , Encrypts the decrypted private key file (for example, signPri.key) of the user with the encryption key, and stores it as a file. That is, the private key file (for example, signPri.key) is encrypted with the user's password and the valid digital signature value, and the user registration procedure is completed in the authentication server 200.

도 8은 본 발명의 실시예에 따른 OTP를 이용한 PKI 기반의 개인키 파일 관리 방법을 나타낸 흐름도로서, 인증 서버(200)에 등록된 사용자의 인증 절차를 설명한다.FIG. 8 is a flowchart illustrating a PKI-based private key file management method using an OTP according to an embodiment of the present invention. The authentication procedure of a user registered in the authentication server 200 will be described.

먼저, 사용자 단말기(100)는 사용자 아이디(User ID), OTP 단말기의 OTP 값(OTP_No)을 입력받고, 그 입력받은 사용자 아이디(User ID) 및 OTP 값(OTP_No)에 대한 인증(사용자 인증)을 인증 서버(200)에 요청한다(S21).First, the user terminal 100 receives a user ID and an OTP value OTP_No of the OTP terminal and performs authentication (user authentication) on the input user ID and OTP value OTP_No And requests the authentication server 200 (S21).

인증 서버(200)는 사용자 단말기(100)로부터 사용자 아이디(User ID) 및 OTP 값(OTP_No)을 수신하고, 그 수신한 사용자 아이디(User ID)가 유효한 사용자인지 확인(검증) 후, 사용자 아이디(User ID)가 유효한 사용자인 경우 사용자 아이디(User ID)에 해당하는 OTP 기기정보(OTP_DeviceNo)와 상기 수신된 OTP 값(OTP_No)을 OTP 인증 서버(300)에 전송하여 상기 수신된 OTP 값(OTP_No)에 대한 OTP 인증을 OTP 인증 서버(300)에 요청한다(S22). The authentication server 200 receives the user ID and the OTP value OTP_No from the user terminal 100 and verifies (verifies) that the received user ID is a valid user, OTP value (OTP_No) corresponding to the user ID (User ID) and the received OTP value (OTP_No) to the OTP authentication server 300 and transmits the received OTP value (OTP_No) To the OTP authentication server 300 (S22).

OTP 인증 서버(300)는 인증 서버(200)로부터 OTP 기기정보(OTP_DeviceNo)와 상기 수신된 OTP 값(OTP_No)을 수신하고, 그 수신한 OTP 기기정보(OTP_DeviceNo)와 상기 수신된 OTP 값(OTP_No)이 유효한지를 검증한 후, 그 수신한 OTP 기기정보(OTP_DeviceNo)와 상기 수신된 OTP 값(OTP_No)에 대한 OTP 검증 결과를 상기 인증 서버(200)에 전송한다(S23). 예를 들면, 상기 OTP 인증 서버(300)는 상기 인증 서버(200)로부터 OTP 기기정보(OTP_DeviceNo) 및 OTP값(OTP_No)을 수신하고, 그 수신된 OTP 기기정보(OTP_DeviceNo) 및 OTP값(OTP_No)의 유효성을 검증한 후 OTP값(OTP_No)이 유효한 경우에만 새로운 OTP 인증 값(AuthID1)을 생성하고, 그 생성한 OTP 인증 값(AuthID1값)을 상기 인증 서버(200)에 전송한다. 반면, 상기 OTP 인증 서버(300)는 상기 OTP값(OTP_No)이 유효하지 않으면 인증 실패(False) 값을 인증 서버(200)에 전송한다.The OTP authentication server 300 receives the OTP device information OTP_DeviceNo and the received OTP value OTP_No from the authentication server 200 and transmits the received OTP device information OTP_DeviceNo and the received OTP value OTP_No, And transmits the OTP verification result for the received OTP device information OTP_DeviceNo and the received OTP value OTP_No to the authentication server 200 at step S23. For example, the OTP authentication server 300 receives the OTP device information (OTP_DeviceNo) and the OTP value (OTP_No) from the authentication server 200 and stores the received OTP device information (OTP_DeviceNo) and the OTP value (OTP_No) And generates a new OTP authentication value (AuthID 1 ) only when the OTP value (OTP_No) is valid and transmits the generated OTP authentication value (AuthID 1 value) to the authentication server (200). On the other hand, if the OTP value (OTP_No) is not valid, the OTP authentication server 300 transmits an authentication failure value (False) to the authentication server 200.

인증 서버(200)는 상기 새로운 OTP 인증 값(AuthID1)을 데이터베이스에 저장한 후 이전에 저장된 OTP 인증 값(AuthID0)을 사용자 단말기(100)에 전송하고, 상기 이전에 저장된 OTP 인증 값(AuthID0)에 대한 전자서명 값을 사용자 단말기(100)에 요청한다(S24). 반면, 인증 서버(200)는 상기 OTP 인증 서버(300)로부터 인증 실패값이 수신되면 사용자 단말기(100)에 인증실패 메시지를 전송한다. The authentication server 200 stores the new OTP authentication value (AuthID 1 ) in the database and then transmits the previously stored OTP authentication value (AuthID 0 ) to the user terminal 100, and stores the previously stored OTP authentication value 0 ) to the user terminal 100 (S24). On the other hand, when the authentication failure value is received from the OTP authentication server 300, the authentication server 200 transmits an authentication failure message to the user terminal 100.

사용자 단말기(100)는 인증 서버(200)로부터 상기 OTP 인증 값(AuthID0)이 수신되면 사용자로부터 비밀번호를 입력받고, 그 입력받은 비밀번호와 상기 OTP 인증 값(AuthID0)을 조합하여 상기 암호화된 개인키 파일에 대해 복호화를 수행한다. The user terminal 100 receives a password from a user when the OTP authentication value (AuthID 0 ) is received from the authentication server 200, combines the received password with the OTP authentication value (AuthID 0 ) Decryption is performed on the key file.

사용자 단말기(100)는 상기 복호화된 개인키(예를 들면, User_Pri_key)로 상기 OTP 인증 값(AuthID0)을 전자서명함으로써 전자 서명 값(예를 들면, SigUser _ Pri _ key(AuthID0))을 생성하고, 그 생성한 전자 서명 값을 인증 서버(200)에 전송한다(S25).The user terminal 100 is an electronic signature value (e.g., Sig User _ Pri _ key (AuthID 0)) of the OTP authentication value (AuthID 0) with the private key (e.g., User_Pri_key) the decrypted by electronic signature And transmits the generated digital signature value to the authentication server 200 (S25).

인증 서버(200)는 사용자 단말기(100)로부터 상기 전자 서명 값이 수신되면 PKI 인증 시스템(400)을 통해 사용자의 인증서를 검증하고(S26), 그 검증 결과 사용자의 인증서가 유효한 경우 상기 수신한 전자 서명 값이 유효한지를 검증한다. 인증 서버(200)는 상기 수신한 전자 서명 값이 유효하면 상기 이전에 저장된 OTP 인증 값(AuthID0)을 상기 새로운 OTP 인증 값(AuthID1)으로 변경하고, 그 변경된 새로운 OTP 인증 값(AuthID1)을 암호화하고, 그 암호화된 새로운 OTP 인증 값(AuthID1)을 사용자 단말기(100)에 전송한다(S27). 인증 서버(200)는 상기 수신한 전자 서명 값이 유효하지 않으면 사용자 단말기(100)에 오류메시지를 전송한다.When the digital signature value is received from the user terminal 100, the authentication server 200 verifies the user's certificate through the PKI authentication system 400 (S26). If the user's certificate is valid, Verify that the signature value is valid. When the received digital signature value is valid, the authentication server 200 changes the previously stored OTP authentication value (AuthID 0 ) to the new OTP authentication value (AuthID 1 ) and transmits the changed new OTP authentication value (AuthID 1 ) And transmits the encrypted new OTP authentication value (AuthID 1 ) to the user terminal 100 (S27). The authentication server 200 transmits an error message to the user terminal 100 if the received digital signature value is invalid.

사용자 단말기(100)는 상기 암호화된 새로운 OTP 인증 값(AuthID1)을 인증 서버(200)로부터 수신하고, 상기 암호화된 새로운 OTP 인증 값(AuthID1)을 복호화한 후, 그 복호화된 새로운 OTP 인증 값(AuthID1)과 사용자가 입력한 비밀번호를 조합 및 일방향 해쉬함으로써 새로운 문자열을 생성하고, 그 생성한 새로운 문자열을 새로운 암호키로 인식하고, 그 새로운 암호키로 사용자의 복호화된 개인키 파일(예를 들면, signPri.key)을 암호화하여 파일로 저장한다. The user terminal 100 receives the encrypted new OTP authentication value (AuthID 1 ) from the authentication server 200, decrypts the encrypted new OTP authentication value (AuthID 1 ), and transmits the decrypted new OTP authentication value ( 1 ) and the password input by the user, and recognizes the new string as a new cryptographic key. Then, the user's decrypted private key file (for example, signPri.key) and save it as a file.

이하에서는, 본 발명의 실시예에 따른 PKI 기반의 개인키 파일 관리 방법 및 그 시스템의 객관적인 안전성을 기존의 사용자 인증 방식과 비교 평가하였으며, 기존의 보안시스템에서 사용하는 사용자 인증 방식으로 가장 대표적인 ID/PW 방식과 공인/사설인증서를 이용한 인증방식, OTP를 이용한 인증방식 등과 비교 평가한 결과를 표 2와 같이 나타내었다.Hereinafter, a PKI-based private key file management method according to an embodiment of the present invention and the objective safety of the system are compared with an existing user authentication method, and a user authentication method used in an existing security system, Table 2 shows the results of comparison with PW method, authentication method using public / private certificate, and authentication method using OTP.


ID/PW방식

ID / PW method

인증서 방식

Certificate method

OTP 방식

OTP method

제안시스템

Suggested system

특성

characteristic

정적

silence

정적

silence

동적

dynamic

동적

dynamic

PW 변경 필요

PW change required

필요

need

필요

need

불필요

Unnecessary

불필요

Unnecessary

재사용

recycle

가능

possible

가능

possible

불가
(1회사용)

Impossible
(One time use)

불가
(1회사용)

Impossible
(One time use)

추측가능성

Possibility of speculation

있음

has exist

있음

has exist

없음

none

없음

none

인증요소

Authentication Factor

사용자
소유 정보

user
Proprietary Information

사용자
소유 정보

user
Proprietary Information

사용자매체를 통한 정보

Information via user media

사용자 소유정보와 사용자매체를 통한 정보

User-owned and user-supplied information

위변조
가능성

Forgery
Possibility

높음

height

낮음
(개인키파일
노출위험증가)

lowness
(Private key file
Increased risk of exposure)

낮음

lowness

낮음
(개인키파일
노출위험감소)

lowness
(Private key file
Reducing exposure risk)

보안강도

Security strength


Ha


Prize


Prize



Prize

표 2에 개시된 바와 같이, 인증 방식을 비교 평가한 결과, 본 발명의 실시예에 따른 PKI 기반의 개인키 파일 관리 방법 및 그 시스템은 비밀번호의 잦은 변경이 필요 없으며, 개인키 파일이 노출이 되더라도 재사용이 어렵고, 위변조 가능성이 낮아 보안강도가 높음을 알 수 있다. As a result of comparing and evaluating the authentication method as shown in Table 2, the PKI-based private key file management method and system according to the embodiment of the present invention do not require frequently changing the password, and even if the private key file is exposed, And the possibility of forgery and falsification is low, so that the security strength is high.

따라서, 본 발명의 실시예에 따른 PKI 기반의 개인키 파일 관리 방법 및 그 시스템은, PKI(Public Key Infrastructure) 기반의 개인키 파일을 일회용 패스워드(One Time Password, OTP)로 암호화함으로써, 그 암호화된 개인키 파일을 안전하게 관리할 수 있다. 예를 들면, 해커에 의해 암호화된 개인키 파일이 외부에 노출되어도 그 암호화된 개인키 파일을 안전하게 관리할 수 있다.Accordingly, a PKI-based private key file management method and system thereof according to an embodiment of the present invention encrypts a private key file based on a PKI (Public Key Infrastructure) with a one-time password (OTP) You can safely manage your private key file. For example, even if a private key file encrypted by a hacker is exposed to the outside, the encrypted private key file can be safely managed.

본 발명의 실시예에 따른 PKI 기반의 개인키 파일 관리 방법 및 그 시스템은, 기존에 존재하는 다른 인증 방식 즉, ID/PW 방식에 비해 훨씬 보안강도가 강하며, 인증서 방식과 OTP 방식과 동일한 수준의 보안 강도를 유지하면서 기존의 PKI 인증시스템의 취약점인 개인키 파일에 대한 안전한 관리가 가능하다. The PKI-based private key file management method and system according to the embodiment of the present invention has a stronger security strength than other existing authentication methods, i.e., the ID / PW method, and has the same level as the certificate method and the OTP method It is possible to securely manage the private key file, which is a weak point of the existing PKI authentication system.

본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims. Therefore, the embodiments disclosed in the present invention are intended to illustrate rather than limit the scope of the present invention, and the scope of the technical idea of the present invention is not limited by these embodiments. The scope of protection of the present invention should be construed according to the following claims, and all technical ideas within the scope of equivalents should be construed as falling within the scope of the present invention.

100: 사용자 단말기 200: 인증 서버
300: OTP 인증 서버 400: PKI 인증 시스템
100: user terminal 200: authentication server
300: OTP authentication server 400: PKI authentication system

Claims (11)

OTP(One Time Password) 단말기의 OTP 값을 인증함으로써 생성된 OTP 인증 값(AuthID11)과 사용자에 의해 입력한 비밀번호를 근거로 개인키 파일을 관리하는 PKI(Public Key Infrastructure) 기반의 개인키 파일을 관리하는 시스템에 있어서, 상기 시스템은,
사용자 아이디 및 상기 OTP 값에 대한 사용자 인증을 요청하는 사용자 단말기와;
상기 사용자 단말기의 요청에 따라 상기 사용자 아이디가 유효한지를 검증하고, 상기 사용자 아이디가 유효하면 상기 OTP 단말기의 OTP 기기정보와 상기 OTP 값에 대한 OTP 인증을 요청하는 인증 서버와;
상기 인증 서버의 요청에 따라 상기 OTP 기기정보 및 OTP 값의 유효성을 검증한 후 상기 OTP 값이 유효하면 상기 OTP 값에 대한 OTP 인증 값(AuthID1)을 생성하고, 상기 생성한 OTP 인증 값(AuthID1값)을 상기 인증 서버에 전송하는 OTP 인증 서버를 포함하며,
상기 인증 서버는,
상기 OTP 인증 값(AuthID1)을 저장한 후 이전 OTP 인증 값(AuthID0)을 상기 사용자 단말기에 전송하고, 상기 이전 OTP 인증 값(AuthID0)에 대한 전자서명 값을 상기 사용자 단말기에 요청하는 것을 특징으로 하는 PKI 기반의 개인키 파일 관리 시스템.
OTP (One Time Password) A PKI (Public Key Infrastructure) -based private key file that manages a private key file based on the OTP authentication value (AuthID1 1 ) generated by authenticating the terminal's OTP value and the password entered by the user A system for managing, the system comprising:
A user terminal for requesting user authentication of the user ID and the OTP value;
An authentication server verifying whether the user ID is valid according to a request of the user terminal, and requesting OTP authentication of the OTP device information and the OTP value of the OTP terminal when the user ID is valid;
The authentication server verifies the validity of the OTP device information and the OTP value according to a request from the authentication server, generates an OTP authentication value (AuthID 1 ) for the OTP value if the OTP value is valid, 1 value) to the authentication server,
The authentication server includes:
A digital signature value for the OTP authentication value (AuthID 1) a storage after transmitting a previous OTP authentication value (AuthID 0) to the user terminal, wherein the transfer OTP authentication value (AuthID 0) to request to the user terminal PKI - based private key file management system.
삭제delete 삭제delete 제1항에 있어서, 상기 사용자 단말기는,
상기 이전 OTP 인증 값(AuthID0)이 상기 인증 서버로부터 수신되면 상기 사용자로부터 비밀번호를 입력받고, 상기 입력받은 비밀번호와 상기 이전 OTP 인증 값(AuthID0)을 근거로 이전에 암호화된 개인키 파일에 대해 복호화를 수행하고, 상기 복호화된 개인키 파일 내의 개인키로 상기 이전 OTP 인증 값(AuthID0)을 전자서명함으로써 전자 서명 값을 생성하고, 상기 생성한 전자 서명 값을 상기 인증 서버에 전송하는 것을 특징으로 하는 PKI 기반의 개인키 파일 관리 시스템.
The method of claim 1,
If the previous OTP authentication value (AuthID 0 ) is received from the authentication server, the password is input from the user, and based on the inputted password and the previous OTP authentication value (AuthID 0 ), the previously encrypted private key file And generating an electronic signature value by digitally signing the previous OTP authentication value (AuthID 0 ) with the private key in the decrypted private key file, and transmitting the generated digital signature value to the authentication server PKI based private key file management system.
제4항에 있어서, 상기 인증 서버는,
상기 사용자 단말기로부터 상기 전자 서명 값이 수신되면 PKI 인증 서버를 통해 사용자의 인증서를 검증하고, 상기 검증 결과 상기 사용자의 인증서가 유효하면 상기 수신한 전자 서명 값이 유효한지를 검증하고, 상기 수신한 전자 서명 값이 유효하면 상기 이전 OTP 인증 값(AuthID0)을 상기 OTP 인증 값(AuthID1)으로 변경하고, 상기 변경된 OTP 인증 값(AuthID1)을 암호화하고, 상기 암호화된 OTP 인증 값(AuthID1)을 상기 사용자 단말기에 전송하는 것을 특징으로 하는 PKI 기반의 개인키 파일 관리 시스템.
5. The authentication server according to claim 4,
Verifies the user's certificate through the PKI authentication server when the digital signature value is received from the user terminal, verifies whether the received digital signature value is valid if the user's certificate is valid, Value, the control unit changes the previous OTP authentication value (AuthID 0 ) to the OTP authentication value (AuthID 1 ), encrypts the changed OTP authentication value (AuthID 1 ), and transmits the encrypted OTP authentication value (AuthID 1 ) Wherein the PKI-based private key file management system transmits the PKI-based private key file to the user terminal.
제5항에 있어서, 상기 사용자 단말기는,
상기 암호화된 OTP 인증 값(AuthID1)을 상기 인증 서버로부터 수신하고, 상기 암호화된 OTP 인증 값(AuthID1)을 복호화한 후, 상기 복호화된 OTP 인증 값(AuthID1)과 상기 사용자가 입력한 비밀번호를 근거로 문자열을 생성하고, 상기 생성한 새로운 문자열을 암호키로 인식하고, 상기 암호키로 상기 복호화된 개인키 파일을 암호화하여 저장하는 것을 특징으로 하는 PKI 기반의 개인키 파일 관리 시스템.
6. The method of claim 5,
And the encrypted OTP authentication value (AuthID 1 ) is received from the authentication server, and after decrypting the encrypted OTP authentication value (AuthID 1 ), the decrypted OTP authentication value (AuthID 1 ) and the password Encrypts the decrypted private key file with the encryption key, and stores the decrypted private key file in the encrypted private key file.
제1항에 있어서, 상기 OTP 인증 서버는,
상기 OTP 값이 유효하지 않으면 인증 실패 값을 발생하고, 상기 발생한 인증 실패 값을 상기 인증 서버에 전송하는 것을 특징으로 하는 PKI 기반의 개인키 파일 관리 시스템.
The system according to claim 1, wherein the OTP authentication server comprises:
Generates an authentication failure value if the OTP value is invalid, and transmits the generated authentication failure value to the authentication server.
제5항에 있어서, 상기 인증 서버는,
상기 수신한 전자 서명 값이 유효하지 않으면 상기 사용자 단말기에 오류메시지를 전송하는 것을 특징으로 하는 PKI 기반의 개인키 파일 관리 시스템.
6. The authentication server according to claim 5,
And transmits an error message to the user terminal if the received digital signature value is not valid.
제4항에 있어서,
상기 이전에 암호화된 개인키 파일은,
상기 사용자에 의해 입력된 비밀번호와 상기 이전 OTP 인증 값(AuthID0)을 근거로 암호화된 개인키 파일인 것을 특징으로 하는 PKI 기반의 개인키 파일 관리 시스템.
5. The method of claim 4,
Wherein the previously encrypted private key file comprises:
Wherein the private key file is an encrypted private key file based on the password input by the user and the old OTP authentication value (AuthID 0 ).
삭제delete 삭제delete
KR1020150054649A 2015-04-17 2015-04-17 Method for manage private key file of public key infrastructure and system thereof KR101616795B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150054649A KR101616795B1 (en) 2015-04-17 2015-04-17 Method for manage private key file of public key infrastructure and system thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150054649A KR101616795B1 (en) 2015-04-17 2015-04-17 Method for manage private key file of public key infrastructure and system thereof

Publications (1)

Publication Number Publication Date
KR101616795B1 true KR101616795B1 (en) 2016-05-12

Family

ID=56024922

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150054649A KR101616795B1 (en) 2015-04-17 2015-04-17 Method for manage private key file of public key infrastructure and system thereof

Country Status (1)

Country Link
KR (1) KR101616795B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107370601A (en) * 2017-09-18 2017-11-21 山东确信信息产业股份有限公司 A kind of intelligent terminal, system and method for integrating a variety of safety certifications
KR20190040772A (en) 2017-10-11 2019-04-19 한국전자통신연구원 Apparatus for storing device data in internet of things environment and method for the same
CN111082927A (en) * 2019-11-07 2020-04-28 贵州警察学院 Private key management method and device and terminal equipment

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101049728B1 (en) 2007-10-01 2011-07-19 에스케이 텔레콤주식회사 Apparatus and method for authenticating certificate password in mobile communication terminal
KR101459283B1 (en) 2013-09-17 2014-11-07 주식회사 아이넵 2 Channel authentication device and method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101049728B1 (en) 2007-10-01 2011-07-19 에스케이 텔레콤주식회사 Apparatus and method for authenticating certificate password in mobile communication terminal
KR101459283B1 (en) 2013-09-17 2014-11-07 주식회사 아이넵 2 Channel authentication device and method

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107370601A (en) * 2017-09-18 2017-11-21 山东确信信息产业股份有限公司 A kind of intelligent terminal, system and method for integrating a variety of safety certifications
CN107370601B (en) * 2017-09-18 2023-09-05 确信信息股份有限公司 Intelligent terminal, system and method integrating multiple security authentications
KR20190040772A (en) 2017-10-11 2019-04-19 한국전자통신연구원 Apparatus for storing device data in internet of things environment and method for the same
CN111082927A (en) * 2019-11-07 2020-04-28 贵州警察学院 Private key management method and device and terminal equipment
CN111082927B (en) * 2019-11-07 2023-12-12 贵州警察学院 Private key management method and device and terminal equipment

Similar Documents

Publication Publication Date Title
AU2019240671B2 (en) Methods for secure cryptogram generation
US10609014B2 (en) Un-password: risk aware end-to-end multi-factor authentication via dynamic pairing
US10929524B2 (en) Method and system for verifying an access request
US8112787B2 (en) System and method for securing a credential via user and server verification
US9083533B2 (en) System and methods for online authentication
US7775427B2 (en) System and method for binding a smartcard and a smartcard reader
US10523441B2 (en) Authentication of access request of a device and protecting confidential information
KR101863953B1 (en) System and method for providing electronic signature service
KR101897715B1 (en) System for non-password secure biometric digital signagure
CN103856468A (en) Authentication system and method
US20190007218A1 (en) Second dynamic authentication of an electronic signature using a secure hardware module
KR101616795B1 (en) Method for manage private key file of public key infrastructure and system thereof
CN114270386A (en) Authenticator application for consent framework
CN112968779B (en) Security authentication and authorization control method, control system and program storage medium
KR102053993B1 (en) Method for Authenticating by using Certificate
KR101868564B1 (en) Apparatus for authenticating user in association with user-identification-registration and local-authentication and method for using the same
KR20170092992A (en) User authentication apparatus and method thereof
KR101271464B1 (en) Method for coding private key in dual certificate system
CN112311534A (en) Method for generating asymmetric algorithm key pair
KR101804845B1 (en) OTP authentication methods and system
Li et al. Digital Signature Technology of Mobile Phone Verification Code based on Biometrics
KR20010048908A (en) Method for issuing and authenticating of payphone smart card

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190304

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20200227

Year of fee payment: 5