KR20180082703A - Key management method and apparatus for software authenticator - Google Patents

Key management method and apparatus for software authenticator Download PDF

Info

Publication number
KR20180082703A
KR20180082703A KR1020170003563A KR20170003563A KR20180082703A KR 20180082703 A KR20180082703 A KR 20180082703A KR 1020170003563 A KR1020170003563 A KR 1020170003563A KR 20170003563 A KR20170003563 A KR 20170003563A KR 20180082703 A KR20180082703 A KR 20180082703A
Authority
KR
South Korea
Prior art keywords
key
user
fido
message
key management
Prior art date
Application number
KR1020170003563A
Other languages
Korean (ko)
Other versions
KR102252731B1 (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 KR1020170003563A priority Critical patent/KR102252731B1/en
Publication of KR20180082703A publication Critical patent/KR20180082703A/en
Application granted granted Critical
Publication of KR102252731B1 publication Critical patent/KR102252731B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/72Signcrypting, i.e. digital signing and encrypting simultaneously

Abstract

A key management apparatus for a fast identity online (FIDO) software authenticator mounted on a user device receives a key generation request including a security private key used for generating authentication information of a user public key from a key control apparatus connected to the FIDO software authenticator, generates an encryption key used to encrypt a user private key of a user public key pair, stores the security private key and the encryption key in a key storage unit, and then transmits a key generation response to the key control apparatus. Accordingly, the present invention can improve the security of the FIDO software authenticator and safely manage and store the keys.

Description

소프트웨어 인증장치를 위한 키 관리 방법 및 장치{KEY MANAGEMENT METHOD AND APPARATUS FOR SOFTWARE AUTHENTICATOR}[0001] KEY MANAGEMENT METHOD AND APPARATUS FOR SOFTWARE AUTHENTICATOR [0002]

본 발명은 소프트웨어 인증장치를 위한 키 관리 방법 및 장치에 관한 것으로, 더욱 자세하게는 FIDO(Fast IDentity Online) 인증 장치의 운용에 필수적인 키들을 안전하게 저장하고 관리하고, FIDO 인증 장치의 보안성을 높일 수 있는 소프트웨어 인증장치를 위한 키 관리 방법 및 장치에 관한 것이다. The present invention relates to a key management method and apparatus for a software authentication apparatus, and more particularly to a key management method and apparatus for securely storing and managing keys essential for operation of a FIDO (Fast IDentity Online) authentication apparatus, And a key management method and apparatus for a software authentication apparatus.

현재 대부분의 웹 서비스에서 패스워드를 이용하여 사용자를 인증하고 개인정보에 대한 접근을 허용하고 있다. 하지만 패스워드는 약한 보안강도, 도용의 문제, 여러 사이트에 중복 사용하는 문제점을 가지고 있다. Currently, most web services use passwords to authenticate users and allow access to personal information. However, passwords have problems of weak security strength, theft, and redundant use of multiple sites.

FIDO는 상기와 같은 문제점을 가진 패스워드를 대체하는 인증 방식이다. FIDO는 서버에서 사용자를 직접 인증하던 기존 인증 방식과 달리 사용자 단말에서 사용자를 인증하는 로컬 인증과 서비스 제공 서버에서 수행하는 원격 인증으로 인증을 분리하고 있다. 로컬 인증은 지문, 홍채, 얼굴 등의 생체인증뿐만 아니라 스마트카드, 패스워드 등 다양한 인증 방식을 지원한다. 원격인증은 공개키 방식의 인증 프로토콜을 규정하고 있다. 원격 인증을 위해 FIDO는 FIDO 인증을 이용하는 서비스 기관(RP, Relying Party) 별로 사용자의 공개키쌍을 별도로 생성하여 관리하고, RP의 인증 요청 시 해당 RP를 위해 생성한 사용자의 개인키로 전자서명을 하게 된다. 이와 같은 인증의 분리는 서비스 제공자가 원격 인증만을 지원하면, 사용자 측에서 어떠한 방식의 로컬 인증을 사용하더라도 서비스 제공자 측을 수정할 필요가 없게 되어, 최근 모바일 컴퓨팅 환경의 인증 방식으로 급속히 확장되고 있다. FIDO는 2014년 정식 규격이 발표된 이후, 최근에는 웹 브라우저 환경에서도 편리하게 인증을 제공하기 위해 W3C 표준화가 진행되고 있어 컴퓨팅 환경의 보편적인 인증방식으로 자리 잡을 것으로 기대된다. FIDO is an authentication method for replacing a password having the above-described problems. FIDO separates the authentication from the local authentication that authenticates the user at the user terminal and the remote authentication performed by the service providing server, unlike the existing authentication method which directly authenticated the user at the server. Local authentication supports various authentication methods such as smart card and password as well as biometric authentication of fingerprint, iris, and face. Remote authentication defines a public key authentication protocol. For remote authentication, FIDO separately generates and manages a public key pair for each service organization (RP, Relying Party) that uses FIDO authentication, and performs digital signature with the private key of the user created for the RP when requesting authentication of the RP . This separation of authentication has been rapidly expanded to an authentication method of a mobile computing environment in recent years, since the service provider does not need to modify the service provider side even if the service provider supports only remote authentication, no matter what type of local authentication is used on the user side. FIDO is expected to become a universal authentication method of computing environment since W3C standardization is being done recently to provide convenient authentication in web browser environment since official specification was announced in 2014.

이러한 FIDO가 운용되기 위해서는 사용자 단말에서 사용자를 로컬 인증하고 사용자가 등록한 공개키로 FIDO 서버에서 요청하는 메시지를 전자 서명하는 기능을 제공하는 인증장치가 필수적이다. 인증장치는 하드웨어/소프트웨어로 구현될 수 있지만 현재 다양한 생체 정보를 로컬 인증에 사용하는 소프트웨어 인증장치가 많이 확산된 상태이다. 이러한 소프트웨어 인증장치가 운용되기 위해서는 사용자 공개키쌍 생성의 정당성을 확인할 수 있는 보장 개인키(Attestation Private Key)와 사용자 개인키를 암호화하는데 사용되는 암호키(Wrap Key)가 필수적이다. 그런데 소프트웨어 인증장치는 일반적으로 운용체제 상에서 소프트웨어 모듈로 동작하는 프로그램으로 구현되기 때문에 보장 개인키와 암호키에 대한 저장 관리가 소프트웨어 상에서 이루어지기 때문에 안전한 관리에 한계가 있는 상황이다. In order to operate the FIDO, an authentication device that provides a function of locally authenticating a user at a user terminal and providing a digital signature of a message requested by the FIDO server with a public key registered by the user is essential. Although the authentication device can be implemented by hardware / software, a large number of software authentication devices that use various types of biometric information for local authentication are widely used. In order to operate such a software authentication device, a security private key (Attestation Private Key) and a cryptographic key (Wrap Key) used to encrypt a user's private key are essential. However, since the software authentication device is generally implemented as a software module operating program on the operating system, the storage management of the secure private key and the encryption key is performed in software.

현재까지의 FIDO 관련 기술에 대한 연구는 주로 FIDO가 제공하는 인증 기능을 확장하는 것에 대해 주로 이루어지고 있는 상황으로 소프트웨어 인증장치의 안전한 키 관리는 아직 미흡하여 상태이다. To date, research on FIDO related technologies has mainly been performed mainly for expanding the authentication function provided by FIDO, so that the secure key management of the software authentication device is still insufficient.

본 발명이 해결하려는 과제는 FIDO 소프트웨어 인증장치의 운용에 필요한 키들을 안전하게 저장하고 관리하며, FIDO 소프트웨어 인증장치의 보안성을 높일 수 있는 키 관리 방법 및 장치를 제공하는 것이다. SUMMARY OF THE INVENTION It is an object of the present invention to provide a key management method and apparatus capable of safely storing and managing keys necessary for operation of the FIDO software authentication apparatus and enhancing security of the FIDO software authentication apparatus.

본 발명의 한 실시 예에 따르면, 사용자 기기에 탑재된 FIDO(Fast IDentity Online) 소프트웨어 인증장치를 위한 키 관리 장치의 키 관리 방법이 제공된다. 키 관리 방법은 상기 FIDO 소프트웨어 인증장치와 연결되는 키 제어 장치로부터 사용자 공개키의 입증 정보를 생성하기 위해 사용되는 보장 개인키를 포함한 키 생성 요청을 수신하는 단계, 사용자 공개키쌍 중 사용자 개인키를 암호화하는 데 사용되는 암호키를 생성하는 단계, 상기 보장 개인키 및 상기 암호키를 키 저장부에 저장하는 단계, 그리고 키 생성 응답을 상기 키 제어 장치로 전송하는 단계를 포함한다. According to an embodiment of the present invention, there is provided a key management method of a key management apparatus for a Fast IDentity Online (FIDO) software authentication apparatus mounted on a user equipment. The key management method includes receiving a key generation request including a security private key used to generate authentication information of a user public key from a key control device connected to the FIDO software authentication device, encrypting the user private key of the user public key pair , Storing the secure private key and the encryption key in a key storage unit, and transmitting a key generation response to the key control unit.

상기 키 관리 방법은 상기 키 제어 장치로부터 사용자 공개키쌍 생성 요청을 수신하는 단계, 상기 사용자 공개키쌍을 생성하는 단계, 그리고 상기 사용자 공개키쌍 생성 요청에 대한 응답을 전송하는 단계를 더 포함할 수 있다. The key management method may further include receiving a user public key pair generation request from the key control device, generating the user public key pair, and transmitting a response to the user public key pair generation request.

상기 응답을 전송하는 단계는 상기 사용자 공개키쌍의 상기 사용자 개인키를 상기 암호키로 암호화하는 단계, 상기 사용자 공개키쌍의 상기 사용자 공개키를 상기 보장 개인키로 전자서명하여 상기 사용자 공개키의 입증 정보를 생성하는 단계, 그리고 암호화된 상기 사용자의 개인키와 상기 사용자 공개키의 입증 정보를 상기 키 제어 장치로 전송하는 단계를 포함할 수 있다. Transmitting the response comprises encrypting the user private key of the user public key pair with the cryptographic key, generating proof of the user public key by digitally signing the user public key of the user public key pair with the secure private key And transmitting the encrypted private key of the user and the authentication information of the user public key to the key control device.

상기 키 관리 방법은 상기 키 제어 장치로부터 상기 FIDO 소프트웨어 인증장치에서 사용하는 메시지의 처리 요청을 수신하는 단계, 상기 처리 요청에 따라 상기 사용자 개인키 또는 상기 암호키를 이용하여 메시지를 처리하는 단계, 그리고 처리된 메시지를 상기 키 제어 장치로 전송하는 단계를 더 포함할 수 있다.The key management method includes receiving a processing request for a message used by the FIDO software authentication apparatus from the key control apparatus, processing a message using the user private key or the encryption key according to the processing request, And transmitting the processed message to the key control device.

상기 처리 요청은 상기 메시지의 전자서명 또는 암호화된 메시지의 복호화를 포함할 수 있다. The processing request may include a digital signature of the message or a decryption of the encrypted message.

상기 수신하는 단계는 상기 키 제어 장치로부터 디스커버리 요청 신호를 수신하는 단계, 그리고 상기 디스커버리 요청 신호에 대응하여 상기 키 관리 장치의 존재를 나타내는 디스커버리 응답 신호를 상기 키 제어 장치로 전송하는 단계를 포함하고, 상기 키 생성 요청은 상기 디스커버리 응답 신호를 전송한 적어도 하나의 키 관리 장치 중에서 선택된 키 관리 장치로 전송될 수 있다. Wherein the receiving comprises receiving a discovery request signal from the key control device and transmitting a discovery response signal indicating the presence of the key management device to the key control device in response to the discovery request signal, The key generation request may be transmitted to a key management apparatus selected from at least one key management apparatus that has transmitted the discovery response signal.

상기 키 관리 장치는 USIM(Universal Subscriber Identity Module), TEE(Trusted Execution Environment), 스마트 카드(Smart Card), OS(Operating System)에서 제공하는 키스토어(KeyStore) 중 적어도 하나로 구현될 수 있다. The key management device may be implemented by at least one of a Universal Subscriber Identity Module (USIM), a Trusted Execution Environment (TEE), a Smart Card, and a KeyStore provided by an OS (Operating System).

본 발명의 다른 한 실시 예에 따르면, 사용자 기기에 탑재된 FIDO 소프트웨어 인증장치를 위한 키 제어 장치의 키 관리 방법이 제공된다. 키 관리 방법은 상기 사용자 기기에서 사용 가능한 키 관리 장치를 선택하는 단계, 사용자 공개키의 입증 정보를 생성하기 위해 사용되는 보장 개인키를 포함한 키 생성 요청을 상기 키 관리 장치로 전송하는 단계, 그리고 상기 키 생성 요청에 따라 상기 키 관리 장치에 의해 사용자 개인키를 암호화하는 데 사용되는 암호키가 생성되면, 키 생성 응답을 상기 키 관리 장치로부터 수신하는 단계를 포함한다. According to another embodiment of the present invention, there is provided a key management method of a key control device for an FIDO software authentication device mounted on a user device. The key management method includes the steps of selecting a key management device usable in the user equipment, transmitting a key generation request including a security private key used for generating authentication information of the user public key to the key management device, And receiving a key generation response from the key management apparatus when a cryptographic key used to encrypt the user's private key is generated by the key management apparatus according to the key generation request.

상기 키 관리 방법은 사용자 공개키쌍 생성 요청을 상기 키 관리 장치로 전송하는 단계, 그리고 상기 사용자 공개키쌍 생성 요청에 따라 상기 키 관리 장치에 의해 상기 사용자 공개키와 상기 사용자 개인키의 쌍이 생성되면, 사용자 공개키쌍 생성 응답을 상기 키 관리 장치로부터 수신하는 단계를 더 포함할 수 있고, 상기 사용자 공개키쌍 생성 응답은 상기 암호키로 암호화된 상기 사용자 개인키 및 상기 사용자 공개키를 상기 보장 개인키로 전자서명하여 생성된 상기 사용자 공개키의 입증 정보를 포함할 수 있다. Wherein the key management method comprises: transmitting a user public key pair creation request to the key management device; and when a pair of the user public key and the user private key is generated by the key management device according to the user public key pair creation request, Receiving a public key pair generation response from the key management device, wherein the user public key pair generation response is generated by electronically signing the user private key and the user public key encrypted with the encryption key with the secure private key And the authentication information of the user public key.

상기 선택하는 단계는 디스커버리 요청 신호를 전송하는 단계, 상기 디스커버리 요청 신호를 수신한 적어도 하나의 적어도 하나의 키 관리 장치로부터 디스커버리 응답 신호를 수신하는 단계, 그리고 상기 적어도 하나의 키 관리 장치 중에서 키 관리를 수행할 키 관리 장치를 선택하는 단계를 포함할 수 있다.Wherein the selecting comprises transmitting a discovery request signal, receiving a discovery response signal from at least one at least one key management device that has received the discovery request signal, and managing key management among the at least one key management device And selecting the key management apparatus to be performed.

설정된 정책에 따라 우선순위가 가장 높은 키 관리 장치가 선택되거나 사용자의 선택에 따라 키 관리 장치가 선택될 수 있다.The key management apparatus with the highest priority may be selected according to the set policy or the key management apparatus may be selected according to the user's selection.

상기 키 관리 방법은 상기 FIDO 소프트웨어 인증장치에서 사용되는 메시지의 처리 요청을 상기 키관리 장치로 전송하는 단계, 그리고 상기 키 관리 장치로부터 처리된 메시지를 수신하는 단계를 더 포함하고, 상기 처리 요청은 상기 메시지의 전자서명 또는 암호화된 메시지의 복호화를 포함할 수 있다. Wherein the key management method further comprises transmitting a processing request for a message used in the FIDO software authentication apparatus to the key management apparatus and receiving a processed message from the key management apparatus, Digital signature of the message, or decryption of the encrypted message.

상기 키 관리 장치는 USIM, TEE, 스마트 카드, OS에서 제공하는 키스토어 중 적어도 하나로 구현될 수 있다. The key management device may be implemented by at least one of a USIM, a TEE, a smart card, and a key store provided by an OS.

본 발명의 또 다른 한 실시 예에 따르면, 사용자 기기에 탑재된 FIDO 소프트웨어 인증장치를 위한 키 관리 장치가 제공된다. 키 관리 장치는 키 생성부, 키 저장부, 그리고 메시지 처리부를 포함한다. 상기 키 생성부는 상기 FIDO 소프트웨어 인증장치와 연결되는 키 제어 장치로부터 사용자 공개키의 입증 정보를 생성하기 위해 사용되는 보장 개인키를 포함한 키 생성 요청에 따라, 사용자 공개키쌍 중 사용자 개인키를 암호화하는데 사용하는 보장키를 생성한다. 상기 키 저장부는 상기 보장 개인키와 상기 암호키를 저장한다. 그리고 상기 메시지 처리부는 상기 FIDO 소프트웨어 인증장치에서 사용되는 메시지의 처리 요청을 상기 키 제어 장치를 통해 수신하면, 상기 사용자 개인키 또는 상기 암호키를 사용하여 상기 메시지를 처리하고, 처리된 메시지를 상기 키 제어 장치로 전송한다. According to another embodiment of the present invention, there is provided a key management apparatus for a FIDO software authentication apparatus mounted on a user equipment. The key management apparatus includes a key generation unit, a key storage unit, and a message processing unit. The key generation unit is used to encrypt a user's private key in a user public key pair according to a key generation request including a security private key used to generate authentication information of a user public key from a key control apparatus connected to the FIDO software authentication apparatus Lt; / RTI > The key storage unit stores the secure private key and the encryption key. When the message processing unit receives a request for processing a message used in the FIDO software authentication apparatus through the key control unit, the message processing unit processes the message using the user private key or the encryption key, To the control device.

상기 키 생성부는 사용자 공개키쌍의 생성 요청에 따라, 상기 사용자 공개키쌍을 생성하고, 상기 사용자 개인키를 상기 암호키로 암호화하며, 상기 사용자 공개키를 상기 보장 개인키로 전자서명하여 상기 사용자 공개키의 입증 정보를 생성할 수 있다. Wherein the key generation unit generates the user public key pair according to a request for generating a user public key pair, encrypts the user private key with the encryption key, digitally signs the user public key with the guaranteed private key, Information can be generated.

상기 키 생성부는 암호화된 상기 사용자의 개인키와 상기 사용자 공개키의 입증 정보를 상기 키 제어 장치로 전송할 수 있다.The key generation unit may transmit the encrypted private key of the user and the authentication information of the user public key to the key control device.

상기 메시지의 처리는 상기 메시지의 전자서명 또는 암호화된 메시지의 복호화를 포함할 수 있다. Processing of the message may include digital signature of the message or decryption of the encrypted message.

상기 키 관리 장치는 USIM, TEE, 스마트 카드, OS에서 제공하는 키스토어 중 적어도 하나로 구현될 수 있다. The key management device may be implemented by at least one of a USIM, a TEE, a smart card, and a key store provided by an OS.

본 발명의 실시 예에 의하면, 키 관리 장치에서 FIDO 소프트웨어 인증장치의 운용에 필수적인 보장 개인키와 암호키를 안전하게 저장 관리할 수 있으며, FIDO 소프트웨어 인증장치의 메시지를 암호화하거나 전자서명을 수행함으로써, FIDO 소프트웨어 인증장치의 보안성을 높일 수 있다. 또한 키 관리 장치로 하나의 고정적인 장치를 사용하는 것이 아니라 사용자 기기에서 사용 가능한 USIM, TEE, 키스토어, 스마트 카드 등의 다양한 장치를 키 관리 장치로 사용할 수 있어 안전한 소프트웨어 인증장치의 사용성을 높일 수 있다. According to the embodiment of the present invention, it is possible to safely store and manage the secure private key and the encryption key, which are essential for the operation of the FIDO software authentication apparatus, in the key management apparatus. By encrypting the message of the FIDO software authentication apparatus or performing digital signature, The security of the software authentication apparatus can be enhanced. In addition, it is possible to use a variety of devices such as USIM, TEE, key store, and smart card, which can be used in a user device, as a key management device instead of using one fixed device as a key management device, have.

또한 지문, 홍채 등의 다양한 생체 인증 기술을 소프트웨어 인증장치로 통합할 경우 발생할 수 있는 키 안전성 문제를 해결할 수 있어 다양한 형태의 소프트웨어 인증장치가 활성화될 수 있어 사용자의 편의성을 높일 수 있다. In addition, it is possible to solve the key security problem that may occur when a variety of biometric authentication technologies such as fingerprint and iris are integrated into a software authentication device, so that various types of software authentication devices can be activated, thereby enhancing the convenience of the user.

도 1은 일반적인 FIDO 기반 인증 시스템을 개략적으로 나타낸 도면이다.
도 2는 본 발명의 실시 예에 FIDO 소프트웨어 인증장치를 위한 키 저장 관리 시스템을 나타낸 도면이다.
도 3은 도 2에 도시된 키 제어 장치를 나타낸 도면이다.
도 4는 도 2에 도시된 키 관리 장치를 나타낸 도면이다.
도 5는 본 발명의 실시 예에 따른 키 제어 장치와 키 관리 장치간 키 관리 방법을 설명하는 도면이다.
도 6은 본 발명의 실시 예에 따른 키 관리 장치에서 사용자 공개키쌍을 생성하는 방법을 설명하는 도면이다.
도 7은 본 발명의 실시 예에 따른 키 관리 장치에서 메시지에 대해 전자서명을 수행하는 방법을 설명하는 도면이다.
도 8은 본 발명의 실시 예에 따른 키 관리 장치에서 암호화된 메시지의 복호화 방법을 설명하는 도면이다.
Figure 1 is a schematic representation of a general FIDO based authentication system.
2 is a diagram illustrating a key storage management system for an FIDO software authentication apparatus according to an embodiment of the present invention.
3 is a view showing the key control device shown in Fig.
4 is a block diagram of the key management apparatus shown in FIG.
5 is a view for explaining a key management method between a key control device and a key management device according to an embodiment of the present invention.
6 is a view for explaining a method of generating a user public key pair in a key management apparatus according to an embodiment of the present invention.
7 is a view for explaining a method of performing digital signature on a message in a key management apparatus according to an embodiment of the present invention.
8 is a view for explaining a method of decrypting an encrypted message in a key management apparatus according to an embodiment of the present invention.

아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시 예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다. Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art can easily carry out the present invention. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. In order to clearly illustrate the present invention, parts not related to the description are omitted, and similar parts are denoted by like reference characters throughout the specification.

명세서 및 청구범위 전체에서, 어떤 부분이 어떤 구성 요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다. Throughout the specification and claims, when a section is referred to as "including " an element, it is understood that it does not exclude other elements, but may include other elements, unless specifically stated otherwise.

이제 본 발명의 실시 예에 따른 소프트웨어 인증장치를 위한 키 관리 방법 및 장치에 대하여 도면을 참고로 하여 상세하게 설명한다. Now, a key management method and apparatus for a software authentication apparatus according to an embodiment of the present invention will be described in detail with reference to the drawings.

도 1은 일반적인 FIDO 기반 인증 시스템을 개략적으로 나타낸 도면이다. Figure 1 is a schematic representation of a general FIDO based authentication system.

도 1을 참고하면, FIDO 기반 인증 시스템은 크게 사용자 기기(100)와 사용자에게 서비스를 제공하는 웹 서버(200)로 구성된다. Referring to FIG. 1, the FIDO-based authentication system includes a user device 100 and a web server 200 that provides a service to a user.

사용자 기기(100)는 서비스를 제공하는 응용 어플리케이션(Relying-Party Application)(110)과 사용자 인증을 수행하기 위해 FIDO 클라이언트(120) 및 FIDO 인증장치(Authenticator)(130)로 구성되며, 웹 서버(200)는 사용자에게 서비스를 제공하기 위한 응용 서버(Relying-Party Server)(210)와 FIDO 서버(220)로 구성된다. The user device 100 comprises a Relying-Party Application 110 for providing a service and an FIDO client 120 and an FIDO authentication device 130 for performing user authentication, 200 is composed of an application server (Relying-Party Server) 210 and a FIDO server 220 for providing services to a user.

FIDO 인증장치(130)는 ASM(Authenticator Specific Module)(132), FIDO 인증모듈(134)를 포함한다. FIDO 클라이언트(120)는 서비스 응용의 인증정책에 부합하는 FIDO 인증장치(130)를 연결하고, ASM(132)은 소프트웨어 인터페이스를 제공하며, FIDO 클라이언트(120)가 FIDO 인증장치(130)를 사용할 수 있도록 지원하며, FIDO 인증모듈(134)는 사용자 인증 및 FIDO 프로토콜 수행에 필요한 보안 정보를 관리한다. The FIDO authentication apparatus 130 includes an ASM (Authenticator Specific Module) 132 and an FIDO authentication module 134. The FIDO client 120 connects to the FIDO authentication device 130 conforming to the authentication policy of the service application and the ASM 132 provides the software interface and the FIDO client 120 can use the FIDO authentication device 130 And the FIDO authentication module 134 manages security information necessary for user authentication and FIDO protocol execution.

FIDO 서버(220)는 서비스 응용의 인증정책을 관리하여 해당 인증정책에 부합하는 FIDO 인증장치(130)와 사용자 등록, 인증 및 탈퇴에 필요한 프로토콜을 수행한다. The FIDO server 220 manages the authentication policy of the service application, and performs a protocol necessary for user registration, authentication and withdrawal, and the FIDO authentication device 130 conforming to the authentication policy.

먼저, 등록 프로토콜에 따른 등록 절차에 대해 설명한다. FIDO 인증장치(130)는 사용자 인증 수단으로 지문 인증을 채택한다고 가정한다. First, the registration procedure according to the registration protocol will be described. It is assumed that the FIDO authentication device 130 adopts fingerprint authentication as the user authentication means.

사용자가 응용 어플리케이션(110)에서 인증 수단을 지문 인증으로 채택한 경우, 응용 어플리케이션(110)은 FIDO 등록 요청 메시지를 FIDO 서버(220)에 요청한다. When the user adopts the authentication means as the fingerprint authentication in the application application 110, the application application 110 requests the FIDO server 220 to send the FIDO registration request message.

FIDO 서버(220)는 인증정책이 포함된 FIDO 등록 요청 메시지를 생성하여 FIDO 클라이언트(120)에 전달한다. 인증정책은 특정 제조사, 특정 모델, 특정 인증 수단 등으로 사용되는 인증장치를 제한할 수 있다. The FIDO server 220 generates an FIDO registration request message including the authentication policy and transmits the FIDO registration request message to the FIDO client 120. The authentication policy may restrict authentication devices used for a specific manufacturer, a specific model, a specific authentication means, and the like.

FIDO 클라이언트(120)는 FIDO 서버(220)의 인증정책에 부합하는 지문 인증을 수행하는 FIDO 인증장치(130)를 호출한다. 사용자가 지문을 입력하여 사용자 인증을 성공하면, FIDO 인증장치(130)의 FIDO 인증모듈(134)은 사용자 공개키 쌍을 생성한다. 이때 FIDO 인증모듈(134)에서 사용자 공개키쌍 생성의 정당성을 확인하기 위해 보장 개인키(Attestation Private Key)가 사용되는데, 동일한 인증 모델의 FIDO 인증장치(130)는 동일한 보장 개인키를 사용할 수 있다. 이때 FIDO 인증장치(130)가 소프트웨어 인증장치의 경우, 보장 개인키는 지문 인증을 수행하는 FIDO 인증장치(130)의 최초 호출 또는 최초 실행 시에 발급 받거나 FIDO 인증장치(130)의 설치 프로그램과 함께 배포된 정보로부터 추출하여 저장하여 사용된다. The FIDO client 120 calls the FIDO authentication device 130 that performs fingerprint authentication conforming to the authentication policy of the FIDO server 220. [ If the user successfully authenticates the user by inputting the fingerprint, the FIDO authentication module 134 of the FIDO authentication device 130 generates a user public key pair. At this time, an Attestation Private Key is used to confirm the legitimacy of the user public key pair generation in the FIDO authentication module 134. The FIDO authentication device 130 of the same authentication model can use the same secure private key. At this time, when the FIDO authentication apparatus 130 is a software authentication apparatus, the guaranteed private key is issued at the time of the first call or the first execution of the FIDO authentication apparatus 130 performing the fingerprint authentication or together with the installation program of the FIDO authentication apparatus 130 Extracted from the distributed information, and stored.

FIDO 인증모듈(134)은 사용자 개인키를 암호화하기 위한 암호키(Wrap Key)를 생성하고, 사용자 개인키를 암호키로 암호화하여 저장 관리한다. 그리고 FIDO 인증모듈(134)은 생성된 사용자 공개키와 사용자 공개키의 입증 정보가 포함된 FIDO 등록 응답 메시지를 FIDO 서버(220)에 전달한다. 사용자 공개키의 입증 정보는 사용자 공개키 값과 공개키 생성 관련 정보를 포함하고 있으며, 이들 정보를 보장 개인키로 서명한 값으로 구성된다. The FIDO authentication module 134 generates a wrap key for encrypting the user's private key and encrypts and stores the user's private key with the encryption key. Then, the FIDO authentication module 134 transmits the FIDO registration response message including the generated user public key and authentication information of the user public key to the FIDO server 220. [ The authentication information of the user public key includes the user public key value and the public key generation related information, and the information is composed of the signed value of the security private key.

FIDO 서버(220)는 보장 개인키의 쌍인 보장 공개키를 이용하여 사용자 공개키의 입증 정보를 서명한 후, 해당 사용자 공개키를 FIDO 서버(220)에 저장한다. The FIDO server 220 signs the proof information of the user public key using the secure public key, which is a pair of secure private keys, and then stores the corresponding user public key in the FIDO server 220.

다음, 인증 프로토콜에 따른 인증 절차에 대해 설명한다. Next, the authentication procedure according to the authentication protocol will be described.

응용 어플리케이션(110)은 사용자 로그인, 결제 승인, 거래 내역 확인 등과 같은 서비스를 위해 사용자 인증을 요청한다. 예를 들어, 간편결제 서비스를 이용하기 위해 지문 인증을 요청한다.The application application 110 requests user authentication for services such as user login, payment approval, transaction history confirmation, and the like. For example, fingerprint authentication is requested to use a simple payment service.

응용 어플리케이션(110)은 응용 서버(210)에 FIDO 인증을 요청하면 응용 서버(210)는 FIDO 서버(220)에 FIDO 인증 요청 메시지를 요청한다.When the application application 110 requests FIDO authentication to the application server 210, the application server 210 requests the FIDO server 220 for a FIDO authentication request message.

FIDO 서버(220)는 FIDO 인증 요청 메시지를 생성하여 FIDO 클라이언트(120)에 전달한다. FIDO 클라이언트(120)는 FIDO 인증 요청 메시지에 포함된 정보로 FIDO 인증장치(130)를 호출하고, 사용자가 지문을 입력하여 사용자 인증을 성공하면, FIDO 인증장치(130)는 등록 프로토콜을 수행할 당시에 생성된 사용자 개인키를 이용해 전자서명을 생성한다.The FIDO server 220 generates and transmits an FIDO authentication request message to the FIDO client 120. The FIDO client 120 calls the FIDO authentication device 130 with the information included in the FIDO authentication request message. When the user successfully authenticates the user by inputting the fingerprint, the FIDO authentication device 130 transmits And generates a digital signature using the generated user private key.

FIDO 인증장치(130)는 전자서명이 포함된 FIDO 인증 응답 메시지를 FIDO 서버(220)에 전달한다.The FIDO authentication device 130 transmits the FIDO authentication response message including the digital signature to the FIDO server 220. [

FIDO 서버(220)는 등록 프로토콜을 수행할 당시에 저장된 사용자 공개키를 이용하여 전자서명을 확인하고 인증 결과를 전달한다.The FIDO server 220 confirms the digital signature using the stored user public key at the time of performing the registration protocol and delivers the authentication result.

이러한 FIDO 인증장치(130)는 다양한 형태로 구현될 수 있다. 하드웨어 또는 소프트웨어 방식의 인증장치, 사용자 기기(100)에 물리적으로 연결된 또는 분리된 인증장치, 지문, 얼굴, 홍채, 카드 터치, 기타 인증을 제공하는 인증장치, 별도의 디스플레이를 보유한 인증장치, TEE(Trusted Execution Environment)나 NFC(Near Field Communication)를 활용한 인증장치 등이 FIDO 인증장치(130)로 사용될 수 있다. 이때 FIDO 소프트웨어 인증장치의 경우, 보장 개인키와 암호키에 대한 저장 관리가 소프트웨어 상에서 이루어지기 때문에 보장 개인키와 암호키를 안전하게 저장 관리하기 위한 방법이 필요하다. The FIDO authentication device 130 may be implemented in various forms. An authenticating device physically connected or disconnected to the user device 100, an authenticating device providing a fingerprint, a face, an iris, a card touch, or other authentication, an authentication device having a separate display, a TEE Trusted Execution Environment) or an NFC (Near Field Communication) authentication device can be used as the FIDO authentication device 130. In this case, since the storage management of the secure private key and the encryption key is performed in software, a method for safely storing and managing the secure private key and the encryption key is needed.

도 2는 본 발명의 실시 예에 FIDO 소프트웨어 인증장치를 위한 키 저장 관리 시스템을 나타낸 도면이다. 2 is a diagram illustrating a key storage management system for an FIDO software authentication apparatus according to an embodiment of the present invention.

도 2를 참고하면, 키 저장 관리 시스템(300)은 키 제어 장치(310) 및 키 관리 장치(320)를 포함한다. Referring to FIG. 2, the key storage management system 300 includes a key control device 310 and a key management device 320.

키 제어 장치(310)는 키 관리 장치(320)를 검색하고, 검색된 키 관리 장치(320)로 키 저장 또는 키 생성을 요청하거나 FIDO 인증모듈(134)에서 사용하는 메시지의 암호화, 전자서명 또는 복호화를 요청한다. 키 제어 장치(310)는 사용자 기기(100) 내 구현될 수 있고, FIDO 인증모듈(134)과 연결될 수 있다. 예를 들면, FIDO 인증모듈(134)에서 사용하는 메시지에는 FIDO 인증 요청 메시지, FIDO 인증 응답 메시지 등이 있을 수 있다. The key control apparatus 310 searches the key management apparatus 320 and requests key storage or key generation by the retrieved key management apparatus 320 or encrypts or electronically signs or decrypts a message used by the FIDO authentication module 134. [ Lt; / RTI > The key control device 310 may be implemented in the user equipment 100 and may be connected to the FIDO authentication module 134. For example, the message used by the FIDO authentication module 134 may include a FIDO authentication request message, an FIDO authentication response message, and the like.

키 관리 장치(320)는 키 제어 장치(310)의 요청에 따라 키를 생성하거나 저장하고, FIDO 인증장치(130)에서 사용하는 메시지를 암호화, 전자서명 또는 복호화한다. 키 관리 장치(320)로는 하드웨어 기반으로 키 정보를 안전하게 관리하는 USIM(Universal Subscriber Identity Module), TEE, 스마트 카드(Smart Card) 등이 사용되거나 OS(Operating System)에서 제공하는 키스토어(KeyStore) 등이 사용될 수 있다. The key management device 320 generates or stores a key according to a request of the key control device 310, and encrypts, electronically signs, or decrypts a message used in the FIDO authentication device 130. As the key management device 320, a Universal Subscriber Identity Module (USIM), a TEE, a smart card, or the like for safely managing key information based on hardware may be used, or a key store (KeyStore) provided by an OS Can be used.

도 3은 도 2에 도시된 키 제어 장치를 나타낸 도면이다. 3 is a view showing the key control device shown in Fig.

도 3을 참고하면, 키 제어 장치(310)는 장치 검색부(312), 키 생성 요청부(314) 및 메시지 처리 요청부(316)를 포함한다. 키 제어 장치(310)는 적어도 하나의 프로세서에 의해 장치 검색부(312), 키 생성 요청부(314) 및 메시지 처리 요청부(316)의 기능을 수행할 수 있다. 프로세서는 중앙 처리 장치(central processing unit, CPU), 그래픽 처리 장치(graphics processing unit, GPU), 또는 본 발명의 실시 예들에 따른 방법이 수행되는 전용의 프로세서를 의미할 수 있다.Referring to FIG. 3, the key control device 310 includes a device search unit 312, a key generation request unit 314, and a message processing request unit 316. The key control device 310 may perform the functions of the device search unit 312, the key generation request unit 314, and the message processing request unit 316 by at least one processor. A processor may refer to a central processing unit (CPU), a graphics processing unit (GPU), or a dedicated processor on which a method according to embodiments of the invention is performed.

장치 검색부(312)는 사용자 기기(100)에서 사용 가능한 키 관리 장치를 조회하고, 키 관리 장치를 선택한다. The device search unit 312 inquires of the key management apparatus usable in the user device 100 and selects the key management apparatus.

키 생성 요청부(314)는 보장 개인키의 저장 및 암호키 및 사용자 공개키쌍의 생성을 선택된 키 관리 장치로 요청한다. The key generation request unit 314 requests the selected key management apparatus to store the secure private key and generate the encryption key and the user public key pair.

메시지 처리 요청부(316)는 FIDO 인증모듈(134)에서 사용하는 메시지의 복호화 및 전자서명을 선택된 키 관리 장치로 요청한다. The message processing requesting unit 316 requests the selected key management apparatus to decrypt the message used in the FIDO authentication module 134 and the digital signature.

도 4는 도 2에 도시된 키 관리 장치를 나타낸 도면이다.4 is a block diagram of the key management apparatus shown in FIG.

도 4를 참고하면, 키 관리 장치(320)는 키 저장부(322), 키 생성부(324) 및 메시지 처리부(326)를 포함한다. 키 관리 장치(320)는 적어도 하나의 프로세서에 의해 키 생성부(324) 및 메시지 처리부(326)의 기능을 수행할 수 있다. 프로세서는 중앙 처리 장치(central processing unit, CPU), 그래픽 처리 장치(graphics processing unit, GPU), 또는 본 발명의 실시 예들에 따른 방법이 수행되는 전용의 프로세서를 의미할 수 있다. Referring to FIG. 4, the key management device 320 includes a key storage unit 322, a key generation unit 324, and a message processing unit 326. The key management device 320 may perform the functions of the key generation unit 324 and the message processing unit 326 by at least one processor. A processor may refer to a central processing unit (CPU), a graphics processing unit (GPU), or a dedicated processor on which a method according to embodiments of the invention is performed.

키 저장부(322)는 키 제어 장치(310)가 전달한 보장 개인키와 키 생성부(324)에서 생성한 암호키를 안전하게 저장한다. The key storage unit 322 securely stores the secure private key transferred by the key control unit 310 and the encryption key generated by the key generation unit 324.

키 생성부(324)는 키 제어 장치(310)로부터 키 생성 요청에 따라 사용자 공개키쌍의 사용자 개인키를 암호화하여 관리하는데 사용되는 암호키를 생성하고, 사용자 공개키쌍을 생성한다. 그리고 키 생성부(324)는 사용자 개인키를 암호키로 암호화하여 FIDO 인증모듈(134)로 전달하고, 키 생성 요청에 포함된 보장 개인키를 키 저장부(322)에 저장한다. The key generation unit 324 generates a cryptographic key used for encrypting and managing the user's private key of the user public key pair according to a key generation request from the key control device 310, and generates a user public key pair. The key generation unit 324 encrypts the user's private key with the encryption key, transfers the encryption key to the FIDO authentication module 134, and stores the secure private key included in the key generation request in the key storage unit 322. [

메시지 처리부(326)는 FIDO 인증모듈(134)에서 사용되는 메시지의 복호화 및 전자서명을 수행한다. The message processing unit 326 performs decoding and digital signature of the message used in the FIDO authentication module 134. [

도 5는 본 발명의 실시 예에 따른 키 제어 장치와 키 관리 장치간 키 관리 방법을 설명하는 도면이다. 5 is a view for explaining a key management method between a key control device and a key management device according to an embodiment of the present invention.

도 5를 참고하면, 키 제어 장치(310)는 사용자 기기(100)에서 사용 가능한 키 관리 장치(3201~320n)를 조회한다. 키 제어 장치(310)는 키 관리 장치(3201~320n)의 인식을 위한 디스커버리 요청 신호를 전송한다(S510). 키 제어 장치(310)는 사용자 기기(100)에 내장된(Built-in) USIM, TEE, 키 스토어와 같은 키 관리 장치(320)의 경우는 API(Application Program Interface) 형태로 키 관리 장치(320)의 유무를 확인할 수 있다. 반면 스마트 카드와 같이 외부 인터렉션(Interaction)이 필요한 키 관리 장치(320)의 경우, 스마트 카드를 사용자 기기(100)에 터치하거나 리더기에 삽입할 것을 요청하는 메시지를 출력하여 키 관리 장치(320)를 인식할 수 있다. Referring to FIG. 5, the key control device 310 inquires of the key management devices 320 1 to 320 n usable in the user device 100. The key control device 310 transmits a discovery request signal for recognizing the key management devices 320 1 to 320 n (S 510). The key control device 310 is a key management device 320 in the form of an API (Application Program Interface) in the case of a key management device 320 such as a built-in USIM, a TEE, ) Can be confirmed. On the other hand, in the case of the key management apparatus 320 requiring an external interaction such as a smart card, a message requesting the user to touch the smart card or inserting the smart card into the reader is output to the key management apparatus 320 Can be recognized.

다음, 디스커버리 요청 신호를 수신한 키 관리 장치(3201~320n)는 자신의 존재를 나타내는 디스커버리 응답 신호를 생성하고, 디스커버리 응답 신호를 키 제어 장치(310)로 전송한다(S520). Next, the key management apparatus 320 1 to 320 n receiving the discovery request signal generates a discovery response signal indicating the existence of the discovery request signal, and transmits the discovery response signal to the key control apparatus 310 (S 520).

키 제어 장치(310)는 디스커버리 응답 신호를 전송한 키 관리 장치 중에 가장 적절한 키 관리 장치(3201)를 선택한다(S530). 도 5에서는 편의상 키 관리 장치(3201)만이 디스커버리 응답 신호를 전송한 것으로 도시하였다. 만약, 키 제어 장치(310)는 다수의 키 관리 장치(3201~320n)가 사용 가능한 경우에, 설정된 정책에 따라 우선순위가 가장 높은 키 관리 장치를 선택하거나 사용자에게 사용 가능한 키 관리 장치 목록을 출력하여 사용자의 선택에 따라 키 관리 장치를 선택할 수 있다. The key control device 310 selects the most suitable key management device 320 1 among the key management devices that transmitted the discovery response signal (S530). In FIG. 5, only the key management device 320 1 has shown that only the discovery response signal is transmitted. If a plurality of key management devices 320 1 to 320 n are available, the key control device 310 selects a key management device having the highest priority according to a set policy, So that the key management apparatus can be selected according to the user's selection.

키 제어 장치(310)는 선택된 키 관리 장치(3201)에게 키 생성 요청을 전송한다(S540). 키 생성 요청을 전송할 때 키 관리 장치(3201)에 안전하게 저장되어야 하는 보장 개인키를 전송한다. The key control device 310 transmits a key generation request to the selected key management device 320 1 (S 540). Transmits a secure private key that must be securely stored in the key management device 320 1 when transmitting the key generation request.

키 관리 장치(3201)는 키 생성 요청을 수신하면, 사용자 개인키를 암호화하는데 사용하는 암호키를 생성한다(S550). 일반적으로 암호키는 AES 256으로 생성될 수 있다. Upon receiving the key generation request, the key management apparatus 320 1 generates an encryption key used to encrypt the user's private key (S550). Generally, cryptographic keys can be generated with AES 256.

키 관리 장치(3201)는 키 제어 장치(310)로부터 수신한 보장 개인키와 생성된 암호키를 저장한다(S560). The key management device 320 1 stores the secure private key and the generated encryption key received from the key control device 310 (S560).

다음, 키 관리 장치(3201)는 키 생성 응답을 키 제어 장치(310)에게 전송한다(S570). Next, the key management device 320 1 transmits a key generation response to the key control device 310 (S570).

도 6은 본 발명의 실시 예에 따른 키 관리 장치에서 사용자 공개키쌍을 생성하는 방법을 설명하는 도면이다.6 is a view for explaining a method of generating a user public key pair in a key management apparatus according to an embodiment of the present invention.

도 6을 참고하면, 키 제어 장치(310)는 FIDO 인증모듈(134)에서 사용자 공개키쌍을 생성할 키 관리 장치를 조회한다. 즉, 키 제어 장치(310)는 도 5의 절차에 의해 선택된 키 관리 장치(3201)가 사용자 기기에서 현재 존재하여 사용 가능한지 확인한다(S610). Referring to FIG. 6, the key control device 310 inquires of the FIDO authentication module 134 about a key management device for generating a user public key pair. That is, the key control device 310 determines whether the key management device 320 1 selected by the procedure of FIG. 5 exists in the user device and is available (S 610).

키 제어 장치(310)는 사용자 공개키 쌍 생성을 키 관리 장치(3201)에게 요청한다(S620). 키 제어 장치(310)는 생성된 사용자 개인키와 함께 암호키로 암호화할 메시지를 키 관리 장치(3201)에게 전달한다. 일반적으로 함께 암호화할 메시지는 사용자 이름, 키 접근 정보 등을 포함할 수 있다. The key control apparatus 310 requests the key management apparatus 3201 to generate a user public key pair (S620). The key control device 310 transmits a message to be encrypted with the encryption key together with the generated user private key to the key management device 320 1 . In general, the message to be encrypted together may include a user name, key access information, and the like.

키 관리 장치(3201)는 사용자 공개키쌍을 생성한다(S630).The key management apparatus 320 1 generates a user public key pair (S630).

다음, 키 관리 장치(3201)는 키 제어 장치(310)로부터 전달 받은 메시지와 생성된 사용자 개인키를 암호키로 암호화하여 암호화된 사용자 개인키 정보를 생성한다(S640). Next, the key management device 320 1 encrypts the message received from the key control device 310 and the generated user private key using the encryption key to generate the encrypted user private key information (S640).

다음, 키 관리 장치(3201)는 생성된 사용자 공개키를 보장 개인키로 전자서명하여 사용자 공개키의 입증 정보를 생성한다(S650).Next, the key management device 320 1 generates the authentication information of the user public key by electronically signing the generated user public key with the security private key (S 650).

다음, 키 관리 장치(3201)는 암호화한 사용자 개인키 정보와 사용자 공개키의 입증 정보를 키 제어 장치(310)에게 전송한다(S660).Next, the key management device 320 1 transmits the encrypted user private key information and the user public key authentication information to the key control device 310 (S660).

도 7은 본 발명의 실시 예에 따른 키 관리 장치에서 메시지에 대해 전자서명을 수행하는 방법을 설명하는 도면이다. 7 is a view for explaining a method of performing digital signature on a message in a key management apparatus according to an embodiment of the present invention.

도 7을 참고하면, 키 제어 장치(310)는 FIDO 인증모듈(134)에서 사용할 메시지에 대해 전자서명을 수행할 키 관리 장치를 조회한다. 즉, 키 제어 장치(310)는 도 5의 절차에 의해 선택된 키 관리 장치(3201)가 사용자 기기에서 현재 존재하여 사용 가능한지 확인한다(S710). Referring to FIG. 7, the key control device 310 inquires of a key management device to perform digital signature on a message to be used in the FIDO authentication module 134. [ That is, the key control device 310 determines whether the key management device 320 1 selected by the procedure of FIG. 5 exists in the user device and is available (S 710).

키 제어 장치(310)는 메시지의 전자서명을 키 관리 장치(3201)에게 요청한다(S720). 키 제어 장치(310)는 전자서명의 대상이 되는 메시지를 키 관리 장치(3201)에게 전달한다. The key control apparatus 310 requests the key management apparatus 320 1 to digitally sign the message (S720). The key control device 310 delivers the message to be subjected to digital signature to the key management device 320 1 .

키 관리 장치(3201)는 키 제어 장치(310)로부터 전달받은 메시지에 대해 사용자 개인키로 전자서명을 수행한다(S730). The key management apparatus 320 1 performs an electronic signature on the message received from the key control apparatus 310 using the user's private key (S730).

다음, 키 관리 장치(3201)는 전자서명한 메시지를 키 제어 장치(310)에게 전송한다(S740). Next, the key management device 320 1 transmits the digitally signed message to the key control device 310 (S740).

도 8은 본 발명의 실시 예에 따른 키 관리 장치에서 암호화된 메시지의 복호화 방법을 설명하는 도면이다. 8 is a view for explaining a method of decrypting an encrypted message in a key management apparatus according to an embodiment of the present invention.

도 8을 참고하면, 키 제어 장치(310)는 FIDO 인증모듈(134)로부터 암호화된 메시지를 수신하면, 메시지를 복호화할 키 관리 장치를 조회한다. 즉, 키 제어 장치(310)는 도 5의 절차에 의해 선택된 키 관리 장치(3201)가 사용자 기기에서 현재 존재하여 사용 가능한지 확인한다(S810). Referring to FIG. 8, when the key control device 310 receives the encrypted message from the FIDO authentication module 134, it inquires the key management device to decrypt the message. That is, the key control device 310 determines whether the key management device 320 1 selected by the procedure of FIG. 5 exists in the user device and is available (S810).

키 제어 장치(310)는 메시지의 복호화를 키 관리 장치(3201)에게 요청한다(S820). 키 제어 장치(310)는 복호화할 메시지를 키 관리 장치(3201)에게 전달한다. The key control apparatus 310 requests the key management apparatus 320 1 to decrypt the message (S820). The key control device 310 delivers the message to be decrypted to the key management device 320 1 .

키 관리 장치(3201)는 키 제어 장치(310)로부터 전달받은 메시지를 암호키로 복호화한다(S830). The key management device 320 1 decrypts the message received from the key control device 310 with the encryption key (S830).

다음, 키 관리 장치(3201)는 복호화된 메시지를 키 제어 장치(310)에게 전송한다(S840). Next, the key management device 320 1 transmits the decrypted message to the key control device 310 (S840).

이상에서 설명한 본 발명의 실시 예를 구성하는 모든 구성 요소들이 하나로 결합하여 동작하는 것으로 기재되어 있다고 해서, 본 발명이 반드시 이러한 실시 예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성 요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 또한, 이와 같은 컴퓨터 프로그램은 USB 메모리, CD 디스크, 플래쉬 메모리 등과 같은 컴퓨터가 읽을 수 있는 저장매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시 예를 구현할 수 있다. 컴퓨터 프로그램의 저장매체로서는 자기 기록매체, 광 기록매체, 캐리어 웨이브 매체 등이 포함될 수 있다. 이러한 구현은 앞서 설명한 실시 예의 기재로부터 본 발명이 속하는 기술 분야의 전문가라면 쉽게 구현할 수 있는 것이다. It is to be understood that the present invention is not limited to these embodiments, and all elements constituting the embodiments of the present invention described above are described as being combined into one operation. That is, within the scope of the present invention, all of the components may be selectively coupled to one or more of them. In addition, although all of the components may be implemented as one independent hardware, some or all of the components may be selectively combined to perform a part or all of the functions in one or a plurality of hardware. As shown in FIG. In addition, such a computer program may be stored in a computer-readable medium such as a USB memory, a CD disk, a flash memory, etc., and read and executed by a computer to implement embodiments of the present invention. As the storage medium of the computer program, a magnetic recording medium, an optical recording medium, a carrier wave medium, or the like may be included. Such an embodiment can be readily implemented by those skilled in the art from the description of the embodiments described above.

이상에서 본 발명의 실시 예에 대하여 상세하게 설명하였지만 본 발명의 권리 범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리 범위에 속하는 것이다. While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, It belongs to the scope of right.

Claims (18)

사용자 기기에 탑재된 FIDO(Fast IDentity Online) 소프트웨어 인증장치를 위한 키 관리 장치의 키 관리 방법으로서,
상기 FIDO 소프트웨어 인증장치와 연결되는 키 제어 장치로부터 사용자 공개키의 입증 정보를 생성하기 위해 사용되는 보장 개인키를 포함한 키 생성 요청을 수신하는 단계,
사용자 공개키쌍 중 사용자 개인키를 암호화하는 데 사용되는 암호키를 생성하는 단계,
상기 보장 개인키 및 상기 암호키를 키 저장부에 저장하는 단계, 그리고
키 생성 응답을 상기 키 제어 장치로 전송하는 단계
를 포함하는 키 관리 방법.
A key management method of a key management device for a Fast IDentity Online (FIDO) software authentication device mounted on a user device,
Receiving a key generation request including a security private key used to generate authentication information of a user public key from a key control device connected to the FIDO software authentication device,
Generating a cryptographic key used to encrypt a user private key of a user public key pair,
Storing the secure private key and the encryption key in a key storage unit, and
Transmitting a key generation response to the key control device
Gt;
제1항에서,
상기 키 제어 장치로부터 사용자 공개키쌍 생성 요청을 수신하는 단계,
상기 사용자 공개키쌍을 생성하는 단계, 그리고
상기 사용자 공개키쌍 생성 요청에 대한 응답을 전송하는 단계
를 더 포함하는 키 관리 방법.
The method of claim 1,
Receiving a user public key pair creation request from the key control device,
Generating the user public key pair, and
Transmitting a response to the user public key pair creation request
The key management method further comprising:
제2항에서,
상기 응답을 전송하는 단계는
상기 사용자 공개키쌍의 상기 사용자 개인키를 상기 암호키로 암호화하는 단계,
상기 사용자 공개키쌍의 상기 사용자 공개키를 상기 보장 개인키로 전자서명하여 상기 사용자 공개키의 입증 정보를 생성하는 단계, 그리고
암호화된 상기 사용자의 개인키와 상기 사용자 공개키의 입증 정보를 상기 키 제어 장치로 전송하는 단계를 포함하는 키 관리 방법.
3. The method of claim 2,
The step of transmitting the response
Encrypting the user private key of the user public key pair with the encryption key,
Generating proof of the user public key by digitally signing the user public key of the user public key pair with the secure private key;
And transmitting the encrypted private key of the user and the authentication information of the user public key to the key control device.
제1항에서,
상기 키 제어 장치로부터 상기 FIDO 소프트웨어 인증장치에서 사용하는 메시지의 처리 요청을 수신하는 단계,
상기 처리 요청에 따라 상기 사용자 개인키 또는 상기 암호키를 이용하여 메시지를 처리하는 단계, 그리고
처리된 메시지를 상기 키 제어 장치로 전송하는 단계
를 더 포함하는 키 관리 방법.
The method of claim 1,
Receiving a processing request for a message used by the FIDO software authentication device from the key control device,
Processing the message using the user private key or the encryption key according to the processing request, and
Transmitting the processed message to the key control device
The key management method further comprising:
제4항에서,
상기 처리 요청은 상기 메시지의 전자서명 또는 암호화된 메시지의 복호화를 포함하는 키 관리 방법.
5. The method of claim 4,
Wherein the processing request comprises a digital signature of the message or a decryption of the encrypted message.
제1항에서,
상기 수신하는 단계는
상기 키 제어 장치로부터 디스커버리 요청 신호를 수신하는 단계, 그리고
상기 디스커버리 요청 신호에 대응하여 상기 키 관리 장치의 존재를 나타내는 디스커버리 응답 신호를 상기 키 제어 장치로 전송하는 단계를 포함하고,
상기 키 생성 요청은 상기 디스커버리 응답 신호를 전송한 적어도 하나의 키 관리 장치 중에서 선택된 키 관리 장치로 전송되는 키 관리 방법.
The method of claim 1,
The receiving step
Receiving a discovery request signal from the key control device, and
And transmitting a discovery response signal indicating the presence of the key management device to the key control device in response to the discovery request signal,
Wherein the key generation request is transmitted to a key management apparatus selected from at least one key management apparatus that has transmitted the discovery response signal.
제1항에서,
상기 키 관리 장치는 USIM(Universal Subscriber Identity Module), TEE(Trusted Execution Environment), 스마트 카드(Smart Card), OS(Operating System)에서 제공하는 키스토어(KeyStore) 중 적어도 하나로 구현되는 키 관리 방법.
The method of claim 1,
Wherein the key management device is implemented by at least one of a Universal Subscriber Identity Module (USIM), a Trusted Execution Environment (TEE), a Smart Card, and a KeyStore provided by an OS (Operating System).
사용자 기기에 탑재된 FIDO(Fast IDentity Online) 소프트웨어 인증장치를 위한 키 제어 장치의 키 관리 방법으로서,
상기 사용자 기기에서 사용 가능한 키 관리 장치를 선택하는 단계,
사용자 공개키의 입증 정보를 생성하기 위해 사용되는 보장 개인키를 포함한 키 생성 요청을 상기 키 관리 장치로 전송하는 단계, 그리고
상기 키 생성 요청에 따라 상기 키 관리 장치에 의해 사용자 개인키를 암호화하는 데 사용되는 암호키가 생성되면, 키 생성 응답을 상기 키 관리 장치로부터 수신하는 단계
를 포함하는 키 관리 방법.
A key management method of a key control device for a Fast IDentity Online (FIDO) software authentication device mounted on a user device,
Selecting a key management device usable in the user equipment,
Transmitting a key generation request including a security private key used for generating authentication information of the user public key to the key management apparatus; and
Receiving a key generation response from the key management apparatus when the key management apparatus generates a cryptographic key used to encrypt the user's private key according to the key generation request,
Gt;
제8항에서,
사용자 공개키쌍 생성 요청을 상기 키 관리 장치로 전송하는 단계, 그리고
상기 사용자 공개키쌍 생성 요청에 따라 상기 키 관리 장치에 의해 상기 사용자 공개키와 상기 사용자 개인키의 쌍이 생성되면, 사용자 공개키쌍 생성 응답을 상기 키 관리 장치로부터 수신하는 단계
를 더 포함하고,
상기 사용자 공개키쌍 생성 응답은 상기 암호키로 암호화된 상기 사용자 개인키 및 상기 사용자 공개키를 상기 보장 개인키로 전자서명하여 생성된 상기 사용자 공개키의 입증 정보를 포함하는 키 관리 방법.
9. The method of claim 8,
Transmitting a user public key pair creation request to the key management device, and
Receiving a user public key pair generation response from the key management device when the user public key and the user private key are generated by the key management device according to the user public key pair generation request,
Further comprising:
Wherein the user public key pair generation response includes the user private key encrypted with the encryption key and the authentication information of the user public key generated by digitally signing the user public key with the secure private key.
제8항에서,
상기 선택하는 단계는
디스커버리 요청 신호를 전송하는 단계,
상기 디스커버리 요청 신호를 수신한 적어도 하나의 적어도 하나의 키 관리 장치로부터 디스커버리 응답 신호를 수신하는 단계, 그리고
상기 적어도 하나의 키 관리 장치 중에서 키 관리를 수행할 키 관리 장치를 선택하는 단계를 포함하는 키 관리 방법.
9. The method of claim 8,
The step of selecting
Transmitting a discovery request signal,
Receiving a discovery response signal from at least one at least one key management device that has received the discovery request signal, and
And selecting a key management device to perform key management among the at least one key management device.
제10항에서,
설정된 정책에 따라 우선순위가 가장 높은 키 관리 장치가 선택되거나 사용자의 선택에 따라 키 관리 장치가 선택되는 키 관리 방법.
11. The method of claim 10,
Wherein the key management apparatus having the highest priority is selected according to the set policy or the key management apparatus is selected according to the user's selection.
제8항에서,
상기 FIDO 소프트웨어 인증장치에서 사용되는 메시지의 처리 요청을 상기 키관리 장치로 전송하는 단계, 그리고
상기 키 관리 장치로부터 처리된 메시지를 수신하는 단계
를 더 포함하고,
상기 처리 요청은 상기 메시지의 전자서명 또는 암호화된 메시지의 복호화를 포함하는 키 관리 방법.
9. The method of claim 8,
Transmitting a processing request for a message used in the FIDO software authentication apparatus to the key management apparatus; and
Receiving a processed message from the key management device
Further comprising:
Wherein the processing request comprises a digital signature of the message or a decryption of the encrypted message.
제8항에서,
상기 키 관리 장치는 USIM(Universal Subscriber Identity Module), TEE(Trusted Execution Environment), 스마트 카드(Smart Card), OS(Operating System)에서 제공하는 키스토어(KeyStore) 중 적어도 하나로 구현되는 키 관리 방법.
9. The method of claim 8,
Wherein the key management device is implemented by at least one of a Universal Subscriber Identity Module (USIM), a Trusted Execution Environment (TEE), a Smart Card, and a KeyStore provided by an OS (Operating System).
사용자 기기에 탑재된 FIDO(Fast IDentity Online) 소프트웨어 인증장치를 위한 키 관리 장치로서,
상기 FIDO 소프트웨어 인증장치와 연결되는 키 제어 장치로부터 사용자 공개키의 입증 정보를 생성하기 위해 사용되는 보장 개인키를 포함한 키 생성 요청에 따라, 사용자 공개키쌍 중 사용자 개인키를 암호화하는데 사용하는 보장키를 생성하는 키 생성부,
상기 보장 개인키와 상기 암호키를 저장하는 키 저장부, 그리고
상기 FIDO 소프트웨어 인증장치에서 사용되는 메시지의 처리 요청을 상기 키 제어 장치를 통해 수신하면, 상기 사용자 개인키 또는 상기 암호키를 사용하여 상기 메시지를 처리하고, 처리된 메시지를 상기 키 제어 장치로 전송하는 메시지 처리부
를 포함하는 키 관리 장치.
A key management device for a Fast IDentity Online (FIDO) software authentication device mounted on a user device,
A security key used for encrypting a user's private key in a public key pair according to a key generation request including a security private key used for generating authentication information of a user public key from a key control device connected to the FIDO software authentication device A key generating unit for generating a key,
A key storage unit for storing the secure private key and the encryption key,
When receiving a processing request for a message used in the FIDO software authentication apparatus through the key control apparatus, processes the message using the user private key or the encryption key, and transmits the processed message to the key control apparatus The message processor
.
제14항에서,
상기 키 생성부는 사용자 공개키쌍의 생성 요청에 따라, 상기 사용자 공개키쌍을 생성하고, 상기 사용자 개인키를 상기 암호키로 암호화하며, 상기 사용자 공개키를 상기 보장 개인키로 전자서명하여 상기 사용자 공개키의 입증 정보를 생성하는 키 관리 장치.
The method of claim 14,
Wherein the key generation unit generates the user public key pair according to a request for generating a user public key pair, encrypts the user private key with the encryption key, digitally signs the user public key with the guaranteed private key, A key management device for generating information.
제15항에서,
상기 키 생성부는 암호화된 상기 사용자의 개인키와 상기 사용자 공개키의 입증 정보를 상기 키 제어 장치로 전송하는 키 관리 장치.
16. The method of claim 15,
Wherein the key generation unit transmits the encrypted private key of the user and the authentication information of the user public key to the key control device.
제14항에서,
상기 메시지의 처리는 상기 메시지의 전자서명 또는 암호화된 메시지의 복호화를 포함하는 키 관리 장치.
The method of claim 14,
Wherein the processing of the message comprises digital signature of the message or decryption of the encrypted message.
제14항에서,
상기 키 관리 장치는 USIM(Universal Subscriber Identity Module), TEE(Trusted Execution Environment), 스마트 카드(Smart Card), OS(Operating System)에서 제공하는 키스토어(KeyStore) 중 적어도 하나로 구현되는 키 관리 장치.
The method of claim 14,
Wherein the key management device is implemented by at least one of a Universal Subscriber Identity Module (USIM), a Trusted Execution Environment (TEE), a Smart Card, and a KeyStore provided by an OS (Operating System).
KR1020170003563A 2017-01-10 2017-01-10 Key management method and apparatus for software authenticator KR102252731B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170003563A KR102252731B1 (en) 2017-01-10 2017-01-10 Key management method and apparatus for software authenticator

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170003563A KR102252731B1 (en) 2017-01-10 2017-01-10 Key management method and apparatus for software authenticator

Publications (2)

Publication Number Publication Date
KR20180082703A true KR20180082703A (en) 2018-07-19
KR102252731B1 KR102252731B1 (en) 2021-05-18

Family

ID=63058472

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170003563A KR102252731B1 (en) 2017-01-10 2017-01-10 Key management method and apparatus for software authenticator

Country Status (1)

Country Link
KR (1) KR102252731B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020116889A1 (en) * 2018-12-04 2020-06-11 (주)이더블유비엠 Lock system using fido authentication
WO2020130348A1 (en) * 2018-12-18 2020-06-25 시큐리티플랫폼 주식회사 Device-specific encryption key generator and method

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102497076B1 (en) * 2022-06-23 2023-02-07 (주)탭핀 Computer device, method and computer program for providing fido biometric authentication security key based blockchain wallet service

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060025427A (en) * 2004-09-16 2006-03-21 주식회사 국민은행 Ic card contained with electronic bankbooks and public certificates and processing machine for the ic card and server for issuing the ic card
KR20100012439A (en) * 2008-07-29 2010-02-08 주식회사 케이티 Apparatus and method for managing certificate in smart card
US20100172504A1 (en) * 2001-03-09 2010-07-08 Arcot Systems, Inc. Method and apparatus for cryptographic key storage wherein key servers are authenticated by possession and secure distribution of stored keys
KR101690989B1 (en) * 2016-07-29 2017-01-02 한국스마트아이디 주식회사 Method of electric signature using fido authentication module

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100172504A1 (en) * 2001-03-09 2010-07-08 Arcot Systems, Inc. Method and apparatus for cryptographic key storage wherein key servers are authenticated by possession and secure distribution of stored keys
KR20060025427A (en) * 2004-09-16 2006-03-21 주식회사 국민은행 Ic card contained with electronic bankbooks and public certificates and processing machine for the ic card and server for issuing the ic card
KR20100012439A (en) * 2008-07-29 2010-02-08 주식회사 케이티 Apparatus and method for managing certificate in smart card
KR101690989B1 (en) * 2016-07-29 2017-01-02 한국스마트아이디 주식회사 Method of electric signature using fido authentication module

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020116889A1 (en) * 2018-12-04 2020-06-11 (주)이더블유비엠 Lock system using fido authentication
WO2020130348A1 (en) * 2018-12-18 2020-06-25 시큐리티플랫폼 주식회사 Device-specific encryption key generator and method
KR20200075451A (en) * 2018-12-18 2020-06-26 시큐리티플랫폼 주식회사 Unique encryption key generator for device and method thereof
CN113168481A (en) * 2018-12-18 2021-07-23 微安科技有限公司 Device-specific encryption key generator and method

Also Published As

Publication number Publication date
KR102252731B1 (en) 2021-05-18

Similar Documents

Publication Publication Date Title
US8689290B2 (en) System and method for securing a credential via user and server verification
CN101507233B (en) Method and apparatus for providing trusted single sign-on access to applications and internet-based services
US7409552B2 (en) Method for securing communications between a terminal and an additional user equipment
US8001588B2 (en) Secure single sign-on authentication between WSRP consumers and producers
KR101800737B1 (en) Control method of smart device for self-identification, recording medium for performing the method
US20090158033A1 (en) Method and apparatus for performing secure communication using one time password
JP2019512961A (en) Method and system for user authentication with improved security
US20040143730A1 (en) Universal secure messaging for remote security tokens
US9621344B2 (en) Method and system for recovering a security credential
KR20130131682A (en) Method for web service user authentication
KR102012262B1 (en) Key management method and fido authenticator software authenticator
JP2006190175A (en) Rfid-use type authentication control system, authentication control method and authentication control program
US20020018570A1 (en) System and method for secure comparison of a common secret of communicating devices
US20120124378A1 (en) Method for personal identity authentication utilizing a personal cryptographic device
KR101659847B1 (en) Method for two channel authentication using smart phone
KR20150098595A (en) Smart card, smart authentication server and smart card authentication method
KR102252731B1 (en) Key management method and apparatus for software authenticator
KR100792163B1 (en) Authentication system for on-line banking, and user terminal for the same
US20210014674A1 (en) Secure interaction system and communication display device
KR102171377B1 (en) Method of login control
KR101271464B1 (en) Method for coding private key in dual certificate system
JP4895288B2 (en) Authentication system and authentication method
KR100908242B1 (en) Certificate transmission server and system for transmitting certificate stored in fixed terminal to mobile terminal and method thereof
EP2530618B1 (en) Sign-On system with distributed access
JP2009020783A (en) Authentication system and authentication method using noncontact ic and personal digital assistant

Legal Events

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