KR102160892B1 - Public key infrastructure based service authentication method and system - Google Patents

Public key infrastructure based service authentication method and system Download PDF

Info

Publication number
KR102160892B1
KR102160892B1 KR1020200016796A KR20200016796A KR102160892B1 KR 102160892 B1 KR102160892 B1 KR 102160892B1 KR 1020200016796 A KR1020200016796 A KR 1020200016796A KR 20200016796 A KR20200016796 A KR 20200016796A KR 102160892 B1 KR102160892 B1 KR 102160892B1
Authority
KR
South Korea
Prior art keywords
authentication
service
user
server
value
Prior art date
Application number
KR1020200016796A
Other languages
Korean (ko)
Other versions
KR20200018546A (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 KR1020200016796A priority Critical patent/KR102160892B1/en
Publication of KR20200018546A publication Critical patent/KR20200018546A/en
Application granted granted Critical
Publication of KR102160892B1 publication Critical patent/KR102160892B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3821Electronic credentials
    • G06Q20/38215Use of certificates or encrypted proofs of transaction rights
    • 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/3231Biological data, e.g. fingerprint, voice or retina

Abstract

본 발명은 현재 사용하는 사용자 단말기가 올바른 서비스 서버에 접속하여 사용자 인증이 개시되었는지를 확인할 수 있는 방법 및 시스템을 제공한다. 보다 구체적으로 본 발명은 사용자 단말기의 서비스 접속 후 사용자 인증을 위하여 사용자 아이디를 서비스 서버에 입력하면, 서비스 서버는 서비스 인증값을 생성하여 사용자 단말기에 제시한 후, 서비스 인증값 또는 인증값을 생성할 수 있는 관련값을 PKI 기반 키로 암호화하여 인증 단말기로 전달하는 방법을 제공한다. 이후, 인증 단말기에서 사전에 보관하고 있는 PKI 기반 키로 해당 값을 검증하여 서비스로부터 전송된 값을 복호화하여 서비스 확인값 또는 관련값을 기반으로 한 서비스 확인값을 생성하여 사용자에게 표출함으로써 사용자 단말기가 정당한 서비스 서버와 연결되었는지 사용자가 직접 육안으로 확인할 수 있게 하는 서비스 인증 방법 및 시스템을 제공한다.The present invention provides a method and system capable of confirming whether user authentication has been initiated by accessing a correct service server by a currently used user terminal. More specifically, according to the present invention, when the user ID is input to the service server for user authentication after accessing the service of the user terminal, the service server generates a service authentication value and presents it to the user terminal, and then generates a service authentication value or authentication value. Provides a method of encrypting possible related values with a PKI-based key and transmitting them to an authentication terminal. Thereafter, the value transmitted from the service is decrypted by verifying the value with the PKI-based key stored in the authentication terminal in advance, and the service confirmation value or the service confirmation value based on the related value is generated and displayed to the user. It provides a service authentication method and system that enables a user to directly check whether a connection with a service server is connected with the naked eye.

Description

공개키 기반의 서비스 인증 방법 및 시스템{PUBLIC KEY INFRASTRUCTURE BASED SERVICE AUTHENTICATION METHOD AND SYSTEM} Public key based service authentication method and system {PUBLIC KEY INFRASTRUCTURE BASED SERVICE AUTHENTICATION METHOD AND SYSTEM}

본 발명은 인증 방법 및 시스템에 관한 것으로서, 보다 구체적으로는 공개키 기반의 서비스 인증 방법 및 시스템에 관한 것이다.The present invention relates to an authentication method and system, and more specifically, to a public key-based service authentication method and system.

수십개의 온라인 서비스와 모바일 기기가 일상생활에서 활용되면서 모바일 기기를 이용하여 사용자 인증을 대신할 수 있는 차세대 인증기술들이 도입되고 있다. 가장 대표적인 기술 중 하나는 사용자의 스마트폰에 부착된 생체정보 인식기와 PKI(Public Key Infrastructure)기반 기술을 응용한 FIDO(Fast IDentity Online)와 같은 사용자 인증 기술이다.As dozens of online services and mobile devices are used in everyday life, next-generation authentication technologies that can substitute for user authentication using mobile devices are being introduced. One of the most representative technologies is a user authentication technology such as FIDO (Fast IDentity Online) applying a biometric information recognizer attached to a user's smartphone and a PKI (Public Key Infrastructure) based technology.

이러한 모바일 단말기를 이용한 PKI 기반 사용자 인증기술은 통상적으로 다음과 같은 방식으로 동작한다. 사용자가 서비스에 가입할 때마다 별도의 본인 생체정보 등록과 같은 본인 확인 절차를 거쳐, 모바일 단말기에서 한쌍의 비대칭키를 생성하여 사용자의 비밀키는 사용자의 모바일 단말기에서 보관하고, 서비스 서버에게는 사용자의 공개키를 전송하는 방식이다. 추후 사용자가 해당 서비스에 접속하여 아이디를 입력하면, 서비스 서버는 접속 시점에 사전에 지정된 또는 임의의 시도값을 사용자의 단말기에 전송하고, 사용자 단말기에서 사용자가 등록해놓은 생체값 확인과 같은 본인 확인 절차를 거치면 사용자 단말기는 수신한 시도값에 사용자의 개인키로 사인하여 서버로 전송한다. 이에 따라, 서비스 서버는 서버가 보관하고 있던 사용자의 공개키로 해당 값을 검증하여, 정당한 사용자가 정당한 인증 단말기로 사용자 인증을 수행하였는지 확인하는 사용자 인증절차를 수행한다.PKI-based user authentication technology using such a mobile terminal generally operates in the following manner. Whenever a user subscribes to the service, a pair of asymmetric keys are generated in the mobile terminal through a separate identification procedure such as registering his/her biometric information, and the user's secret key is stored in the user's mobile terminal, and the service server This is a method of transmitting the public key. Later, when the user accesses the service and enters the ID, the service server transmits a pre-designated or random attempt value to the user's terminal at the time of connection, and the user's terminal confirms the identity of the biometric value registered by the user. After passing through, the user terminal signs the received attempt value with the user's private key and sends it to the server. Accordingly, the service server verifies the corresponding value with the user's public key stored in the server, and performs a user authentication procedure to confirm whether a legitimate user has performed user authentication with a legitimate authentication terminal.

그러나 기존 모바일 기반 사용자 인증 기술은 올바른 사용자가 올바른 모바일 인증기를 통하여 서비스 서버에 접속하는지를 인증하는 것이지, 현재 사용자가 사용하는 서비스 단말기가 올바른 서비스 서버에 연결되어 사용자 인증요청이 개시되었는지까지를 확인하지는 못한다.However, the existing mobile-based user authentication technology authenticates whether the correct user accesses the service server through the correct mobile authenticator, but does not verify whether the service terminal currently used by the user is connected to the correct service server and the user authentication request is initiated. .

일 예로 모바일 단말기에 서비스앱과 인증앱이 하나로 연결되어 구동되지 않고 각각 나누어서 구동되거나, PC 단말기에서 웹서비스로 온라인 서비스에 접속하면서 모바일 단말기의 인증앱으로 사용자 접속에 대한 인증을 수행하는 경우, 사용자가 정상적인 서비스 단말기로 정상적인 서비스 서버를 접속하였는지 확인하지 않은 채 모바일 단말기로 들어오는 사용자 확인에 대한 요청을 수행할 수 있다.For example, when a service app and an authentication app are connected to a mobile terminal and are not operated separately but are operated separately, or when a user accesses an online service through a web service from a PC terminal and authenticates the user's access with the authentication app of the mobile terminal, the user May perform a request for user confirmation entering the mobile terminal without checking whether a normal service server is connected to a normal service terminal.

따라서 사용자가 서비스 서버로부터 사용자 인증앱이 설치된 단말기에 사용자 인증 요청이 들어오게 되면 현재 서비스 단말기가 정상적인 서비스에 연결되어 사용자 요청이 들어온 것인지 확인할 수 없다. 이때 만일, 최초 사용자의 서비스 단말기가 정상적인 서비스 서버가 아닌 잘못된 서비스에 접속하고, 그 시점에 해커가 사용자 아이디를 해커의 서비스 단말기에 입력하게 되면, 올바른 사용자의 모바일 인증앱에 사용자 확인 요청이 들어오게 된다. 이러한 경우, 사용자는 자신의 접속으로 오해하고 사용자 확인을 수행하여 사용자 대신 해커의 접속시도에 대한 인증을 수행해주는 경우도 발생할 수 있다.Therefore, when the user receives a user authentication request from the service server to the terminal on which the user authentication app is installed, it is not possible to check whether the current service terminal is connected to a normal service and the user request is received. At this time, if the first user's service terminal accesses the wrong service other than the normal service server, and the hacker enters the user ID into the hacker's service terminal at that point, a user confirmation request is sent to the correct user's mobile authentication app. do. In this case, the user may be mistaken for his or her own access and may perform user verification to authenticate the hacker's access attempt instead of the user.

이를 보다 구체적으로 설명하면, 최초 사용자가 서비스 단말기에서 파밍 웹사이트나 파밍된 모바일앱으로 서비스에 접속하여 아이디를 입력하면, 그 시점에 해커가 습득한 아이디로 실제 서비스 서버에 접속하여 사용자 아이디를 입력하고, 사용자가 소지한 모바일 인증앱 단말기에 사용자 인증요청이 작동되면, 사용자는 자신의 접속에 따른 인증 요청으로 간주하고 생체값 입력과 같은 본인 확인 절차를 실시해주어, 해커의 서비스 단말기가 실제 서비스 서버에게 인증을 받게 되는 것이다.More specifically, when the first user accesses the service from the service terminal with the farming website or the farmed mobile app and enters the ID, the hacker accesses the actual service server with the ID acquired at that time and enters the user ID. And, when the user authentication request is activated on the mobile authentication app terminal possessed by the user, the user regards it as an authentication request according to his or her connection and performs an identity verification procedure such as inputting a biometric value, so that the hacker's service terminal is a real service server. You will be certified by

따라서 모바일 인증기를 통해서 서비스와 인증이 분리되어 운영될 때, 변조된 서비스에 의해서 인증이 개시되는 것을 사용자가 확인하지 않고 인증하게 되면, 적용된 사용자 인증기술이 아무리 보안성이 뛰어나다 하더라도 서비스 보안에 치명적인 문제점이 발생하게 된다.Therefore, when the service and authentication are operated separately through the mobile authenticator, if the user authenticates without confirming that authentication is initiated by the tampered service, no matter how high security the applied user authentication technology is, it is a critical problem to service security. Will occur.

그동안 사용자 단말기가 올바른 서비스를 만났는지 확인하는 인증방법으로는 QR 코드를 기반으로 검증하는 방식과 서비스 OTP(Service One Time Password)를 기반으로 검증하는 방식이 있었다.In the meantime, authentication methods for verifying whether a user's terminal has met the correct service includes a verification method based on a QR code and a verification method based on a service OTP (Service One Time Password).

QR 코드를 기반으로 검증하는 방식은 사용자가 서비스에 접속하여 사용자 아이디를 입력하면 서비스 서버가 생성한 QR 코드를 사용자의 서비스 단말기에 표출하고, 사용자의 모바일 인증앱의 카메라를 이용하여 감지한 값을 서비스 서버에 전송하는 방식이었다. 그러나 QR 코드를 이용하는 방식은 카메라로 센싱하는 번잡함과 함께 하나의 모바일 단말기로 서비스앱과 인증앱을 동시에 이용하는 모바일 업무환경에서는 자신의 카메라로 자신의 화면을 센싱할 수 없는 한계점이 발생한다.In the QR code-based verification method, when a user accesses the service and enters a user ID, the QR code generated by the service server is displayed on the user's service terminal, and the value detected using the camera of the user's mobile authentication app is displayed. It was a method of sending it to the service server. However, the method of using a QR code has a limitation in that it is not possible to sense one's screen with one's own camera in a mobile work environment where the service app and the authentication app are simultaneously used with one mobile terminal, along with the hassle of sensing with a camera.

또한 서비스 OTP를 기반으로 서비스를 검증하는 방식은 사용자가 서비스에 접속하여 아이디를 입력하면 서비스 서버가 생성한 OTP값을 사용자의 서비스 단말기에 표출하고, 사용자의 모바일 검증앱을 통해서 OTP값을 생성하여 서비스가 정상적인 서비스인지를 확인하는 방법이었다. 그러나 서비스 OTP를 이용하는 방식도 OTP 특성상 인증값이 숫자로만 표현되어야 하여 접속한 서비스의 이름이나 서비스가 제시하는 서비스 항목명(서비스내의 기능명, 거래명, 계약문서, 거래자명, 거래금액 등)으로 사용자에게 직접적으로 대조할 수 있게 표현하지 못하는 한계점이 있었다.In addition, the method of verifying the service based on the service OTP is to display the OTP value generated by the service server on the user's service terminal when the user accesses the service and enters the ID, and generates the OTP value through the user's mobile verification app. It was a way to check whether the service was a normal service. However, in the method of using service OTP, the authentication value must be expressed only in numbers due to the nature of OTP, so the user can use the name of the connected service or the service item name (the function name in the service, transaction name, contract document, trader name, transaction amount, etc.) There was a limitation in that it was not possible to express it in a way that could be directly contrasted.

따라서 사용자 단말기가 올바른 서비스 서버나 서비스의 올바른 하위서비스에 접속하여 사용자 인증이 개시된 것인지 확인할 수 있는 PKI 기반의 서비스 인증 기술이 필요하다.Therefore, there is a need for a PKI-based service authentication technology that allows a user terminal to access a correct service server or a correct subservice of a service to check whether user authentication has been initiated.

본 발명은 현재 사용하는 사용자 단말기가 올바른 서비스 서버에 접속하여 사용자 인증이 개시되었는지를 확인할 수 있는 방법 및 시스템을 제공한다.The present invention provides a method and system capable of confirming whether user authentication has been initiated by accessing a correct service server by a currently used user terminal.

보다 구체적으로 본 발명은 사용자 단말기의 서비스 접속 후 사용자 인증을 위하여 사용자 아이디를 서비스 서버에 입력하면, 서비스 서버는 서비스 인증값을 생성하여 사용자 단말기에 제시한 후, 서비스 인증값 또는 인증값을 생성할 수 있는 관련값을 PKI 기반 키로 암호화하여 인증 단말기로 전달하는 방법을 제공한다. 이후, 인증 단말기에서 사전에 보관하고 있는 PKI 기반 키로 해당 값을 검증하여 서비스로부터 전송된 값을 복호화하여 서비스 확인값 또는 관련값을 기반으로 한 서비스 확인값을 생성하여 사용자에게 표출함으로써 사용자 단말기가 정당한 서비스 서버와 연결되었는지 사용자가 직접 육안으로 확인할 수 있게 하는 서비스 인증 방법 및 시스템을 제공한다.More specifically, according to the present invention, when the user ID is input to the service server for user authentication after accessing the service of the user terminal, the service server generates a service authentication value and presents it to the user terminal, and then generates a service authentication value or authentication value. Provides a method of encrypting possible related values with a PKI-based key and transmitting them to an authentication terminal. Thereafter, the value transmitted from the service is decrypted by verifying the value with the PKI-based key stored in the authentication terminal in advance, and the service confirmation value or the service confirmation value based on the related value is generated and displayed to the user. It provides a service authentication method and system that enables a user to directly check whether a connection with a service server is connected with the naked eye.

본 발명의 일 측면에 따르면, PKI 기반 기술을 이용한 모바일 인증기술을 구성하는데 있어서 현재 사용하는 서비스 단말기가 올바른 서비스 서버에 접속하여 사용자 인증이 개시되었는지를 확인하는 PKI 기반의 인증기앱과 인증 서버가 제공된다.According to an aspect of the present invention, in configuring a mobile authentication technology using a PKI-based technology, a PKI-based authenticator app and an authentication server are provided to check whether user authentication has been initiated by accessing the service terminal currently used to the correct service server. do.

여기서, 서비스와 사용자 인증을 확인하는 PKI 기반의 인증 서버는,Here, the PKI-based authentication server that checks service and user authentication,

사용자 아이디를 수신하여 사전에 주어진 조건에 따라서 서비스 인증코드를 생성한 후 서비스 서버를 경유하여 사용자의 서비스 단말기에 제시한 후, 서비스 인증값 또는 인증값을 생성할 수 있는 관련값을 PKI 기반 키로 암호화하여 인증단말기로 전달하고, 인증기앱으로부터 수신된 암호화된 사용자 인증값을 복호화하여 사전에 지정된 사용자 인증값과 일치하는 경우 서비스 서버에게 인증 성공 메시지를 전달한다.After receiving the user ID, generating the service authentication code according to the conditions given in advance, presenting it to the user's service terminal through the service server, and encrypting the service authentication value or the related value that can generate the authentication value with a PKI-based key It transmits to the authentication terminal, decrypts the encrypted user authentication value received from the authenticator app, and delivers an authentication success message to the service server if it matches the user authentication value specified in advance.

여기서, 상기 서비스에 사용되는 PKI 기반의 인증기앱은,Here, the PKI-based authenticator app used for the service,

인증 서버로부터 수신한 암호화된 서비스 인증값을 인증단말기에서 사전에 보관하고 있는 PKI 기반 키로 해당 값을 복호화하여 서비스 확인값 또는 관련값을 기반으로 서비스 확인값을 생성하여 사용자에게 표출하고, 해당 서비스 단말기가 정당한 서비스 서버와 연결되었는지 사용자가 직접 확인할 수 있게 하며, 사용자의 동의 절차를 위한 본인확인과정을 거치면 사전에 지정된 조건에 따라 사용자 인증값을 생성하고 보관하고 있던 PKI 기반 키로 암호화하여 인증 서버로 암호화된 사용자 인증값을 전달한다.The encrypted service authentication value received from the authentication server is decrypted with the PKI-based key stored in the authentication terminal in advance, and the service check value is generated based on the service check value or related value, and the service check value is displayed to the user, and the corresponding service terminal Allows the user to directly check whether or not is connected to a legitimate service server, and after passing the identity verification process for the user's consent procedure, the user authentication value is generated according to the pre-specified conditions, encrypted with the stored PKI-based key, and encrypted with the authentication server. Passed the user authentication value.

본 발명의 실시 예에 의하면, PKI 기반 기술을 이용한 모바일 인증기술을 사용하는데 있어서, 현재 사용하는 사용자 단말기가 올바른 서비스 서버에 접속하여 사용자 인증이 개시되었는지 사용자가 명시적으로 확인할 수 있어 중간자 공격에 따른 인증요청에 대비할 수 있는 효과가 있다.According to an embodiment of the present invention, in using a mobile authentication technology using a PKI-based technology, the user can explicitly check whether the user terminal currently used accesses the correct service server and user authentication has been initiated. There is an effect to be prepared for authentication requests.

또한, 기존에 QR 코드 기반으로 사용자 단말기와 인증기 앱이 나누어서 수행하던 방식을 하나의 단말기에서 수행할 수 있게 함으로써, 보다 안전한 모바일 기반 인증환경을 구성할 수 있는 효과가 있다.In addition, there is an effect of configuring a more secure mobile-based authentication environment by allowing a single terminal to perform a method that was previously performed by a user terminal and an authenticator app separately based on a QR code.

또한, 기존에 OTP(One time password)가 숫자로만 표현되어야 하는 한계를 뛰어넘어서, 서비스를 인증하는데 있어서 접속한 서비스의 이름이나 서비스가 제시하는 서비스 항목명을 사용자에게 직접적으로 표현하여 의미적으로도 해당 서비스를 사용자가 직접 대조할 수 있는 표현이 가능한 효과가 있다.In addition, since the existing OTP (One time password) exceeds the limit that only numbers should be expressed, the name of the connected service or the service item name presented by the service is directly expressed to the user in authenticating the service. There is an effect that the user can directly collate the service and express it.

도 1은 본 발명의 실시예에 따른 PKI 기반의 서비스 인증 방법 및 시스템을 설명하기 위한 도면.
도 2 ~ 도 7은 본 발명의 실시예의 PKI 기반의 서비스 인증 방법에 따라 인증을 수행하는 과정에서 화면 상에 표출되는 예시 화면들.
1 is a view for explaining a PKI-based service authentication method and system according to an embodiment of the present invention.
2 to 7 are exemplary screens displayed on a screen during an authentication process according to a PKI-based service authentication method according to an embodiment of the present invention.

본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.Since the present invention can apply various transformations and have various embodiments, specific embodiments will be illustrated in the drawings and described in detail in the detailed description. However, this is not intended to limit the present invention to a specific embodiment, it is to be understood to include all conversions, equivalents, and substitutes included in the spirit and scope of the present invention.

본 발명을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 본 명세서의 설명 과정에서 이용되는 숫자(예를 들어, 제1, 제2 등)는 하나의 구성요소를 다른 구성요소와 구분하기 위한 식별기호에 불과하다.In describing the present invention, when it is determined that a detailed description of a related known technology may unnecessarily obscure the subject matter of the present invention, a detailed description thereof will be omitted. In addition, numbers (eg, first, second, etc.) used in the description of the present specification are merely identification symbols for distinguishing one component from another component.

또한, 명세서 전체에서, 일 구성요소가 다른 구성요소와 "연결된다" 거나 "접속된다" 등으로 언급된 때에는, 상기 일 구성요소가 상기 다른 구성요소와 직접 연결되거나 또는 직접 접속될 수도 있지만, 특별히 반대되는 기재가 존재하지 않는 이상, 중간에 또 다른 구성요소를 매개하여 연결되거나 또는 접속될 수도 있다고 이해되어야 할 것이다.In addition, throughout the specification, when one component is referred to as "connected" or "connected" to another component, the one component may be directly connected or directly connected to the other component, but specially It should be understood that as long as there is no opposing substrate, it may be connected or may be connected via another component in the middle.

또한, 명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하나 이상의 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 조합으로 구현될 수 있음을 의미한다. 또한 본 명세서에서 표현하는 Push ID는 통상적으로 모바일 앱 개발자들이 표현하는 Push Token을 의미하며, 푸시 메세지 서비스는 구글이나 애플사 등과 같은 모바일 운영체제에서 앱별로 제공하는 메시지 서비스를 말한다.In addition, throughout the specification, when a certain part "includes" a certain component, it means that other components may be further included rather than excluding other components unless otherwise stated. In addition, terms such as "unit" and "module" described in the specification mean a unit that processes at least one function or operation, which means that it can be implemented as one or more hardware or software, or a combination of hardware and software. . In addition, the Push ID expressed in this specification refers to a Push Token typically expressed by mobile app developers, and the push message service refers to a message service provided for each app by a mobile operating system such as Google or Apple.

도 1은 본 발명의 실시예에 따른 PKI 기반의 서비스 인증 방법 및 시스템을 설명하기 위한 도면이고, 도 2 ~ 도 7은 본 발명의 실시예의 PKI 기반의 서비스 인증 방법에 따라 인증을 수행하는 과정에서 화면 상에 표출되는 예시 화면들이다. 이하, 도 1을 중심으로 도 2 ~ 도 7을 참조하여, 본 발명의 실시예들을 상세히 설명하기로 한다.1 is a diagram for explaining a PKI-based service authentication method and system according to an embodiment of the present invention, and FIGS. 2 to 7 are in the process of performing authentication according to the PKI-based service authentication method according to an embodiment of the present invention. These are example screens displayed on the screen. Hereinafter, embodiments of the present invention will be described in detail with reference to FIGS. 2 to 7 centering on FIG. 1.

도 1을 참조하면, 본 발명의 실시예에 따른 PKI 기반의 서비스 인증 시스템은, 클라이언트에게 서비스를 제공하는 서비스 서버(110), 계정정보 DB(120), PKI 기반의 인증서버(130), 상기 서비스 서버에 접속하는 서비스 클라이언트(200), PKI 기반의 인증을 수행하기 위한 인증기앱(210)을 포함할 수 있다.1, a PKI-based service authentication system according to an embodiment of the present invention includes a service server 110 providing a service to a client, an account information DB 120, a PKI-based authentication server 130, and It may include a service client 200 accessing the service server and an authenticator app 210 for performing PKI-based authentication.

여기서, 상기 서비스 클라이언트(200)는 서비스 서버(110)에 접속하기 위해 사용자가 사용하는 컴퓨팅 디바이스로서, 사용자의 PC, 스마트폰 등의 각종 단말기를 통칭한다. 또한 상기 인증기앱(210)은 본 발명의 실시예에 따라 서비스 인증 및 사용자 인증을 수행하기 위한 용도로 제작된 애플리케이션 프로그램(즉, 인증 용도의 에이전트 프로그램)을 의미한다. 이러한 인증기앱(210)은 사용자가 자신의 인증단말기(예를 들어, 스마트폰 등)에 직접 설치할 수도 있지만, 전용 인증단말기로서 별도 구비될 수도 있음은 물론이다. 즉, 서비스 클라이언트(200)는 PKI 기반 인증기앱(210)과 별도로 구성된 PC의 웹브라우져일 수도 있고, 모바일 서비스앱일 수 있으며, 서비스 클라이언트(200)와 PKI 기반 인증기앱(210)이 하나로 통합된 모바일앱일 수 있음도 자명한 것이다. 또한 계정정보 DB(120)도 구현 방식에 따라 서비스 서버(110)와 통합 운영될 수도 있음은 자명하다.Here, the service client 200 is a computing device used by a user to access the service server 110 and collectively refers to various terminals such as a user's PC and a smart phone. In addition, the authenticator app 210 refers to an application program (ie, an agent program for authentication purposes) produced for performing service authentication and user authentication according to an embodiment of the present invention. The authenticator app 210 may be installed by the user directly on his or her authentication terminal (eg, a smartphone, etc.), but may be separately provided as a dedicated authentication terminal. That is, the service client 200 may be a web browser of a PC configured separately from the PKI-based authenticator app 210 or may be a mobile service app, and the service client 200 and the PKI-based authenticator app 210 are integrated into one mobile. It is also obvious that it can be an app. In addition, it is obvious that the account information DB 120 may also be integrated and operated with the service server 110 depending on the implementation method.

또한, 도 1에서는 서비스 클라이언트(200)와 인증기앱(210)이 물리적으로 분리된 객체로서 도시하였지만, 반드시 이와 같을 필요는 없다. 예를 들어서, 서비스 클라이언트(200)가 사용자의 스마트폰이고, 해당 스마트폰에 인증기앱(210)이 설치되는 경우에는 하나의 객체 내에 구현될 수도 있는 것이다. 본 명세서에 첨부된 도면을 기준으로 설명하면, 도 2, 도 4, 도 6은 서비스 클라이언트(200)가 PC 등과 같은 사용자가 이용하는 특정 서비스 단말기이고, 인증기앱(210)이 사용자가 소지한 스마트폰에 설치된 경우를 예시하고 있다. 이러한 경우, 서비스 클라이언트(200)는 서비스 서버(110)와 웹 어플리케이션을 통해서 접속하고, 인증기앱(210)은 모바일 환경에서 서비스 인증 및 사용자 인증 동작을 수행하게 될 것이다(본 발명의 실시예에 따른 제1 케이스). 다른 예로, 도 5 및 도 7은 서비스 클라이언트(200)도 사용자가 소지한 스마트폰이고, 해당 스마트폰에 인증기앱(210)이 설치된 경우를 예시하고 있다. 이러한 경우, 서비스 서버(110)와의 접속은 물론 인증 동작도 모두 모바일 환경에서 이루어지게 될 것이다(본 발명의 실시예에 따른 제2 케이스).In addition, in FIG. 1, the service client 200 and the authenticator app 210 are shown as physically separated objects, but this is not necessarily the case. For example, when the service client 200 is a user's smartphone and the authenticator app 210 is installed on the smartphone, it may be implemented in one object. Referring to the drawings attached to the present specification, FIGS. 2, 4, and 6 are specific service terminals used by users such as a PC, etc., and the authenticator app 210 is a smartphone possessed by the user. It is an example of a case installed in. In this case, the service client 200 connects through the service server 110 and the web application, and the authenticator app 210 will perform service authentication and user authentication operations in a mobile environment (according to an embodiment of the present invention). Case 1). As another example, FIGS. 5 and 7 illustrate a case where the service client 200 is also a smartphone owned by the user, and the authenticator app 210 is installed on the smartphone. In this case, the authentication operation as well as the connection with the service server 110 will all be performed in a mobile environment (the second case according to the embodiment of the present invention).

서비스 서버(110)는 서비스 클라이언트(200)의 요청에 대응하는 구성부로 실질적인 서비스를 제공하는 구성부이다. 최초 클라이언트가 접속을 시도하면 사용자 아이디를 요구하고[도 1의 S1 및 S2 참조], 계정정보 DB(120)에서 아이디가 확인되면[도 1의 S3 및 S4 참조], PKI 인증서버(130)에게 해당 아이디를 전달하고 서비스 인증코드를 요청한다[도 1의 S5 참조].The service server 110 is a configuration unit that provides a substantial service to a configuration unit corresponding to a request of the service client 200. When the first client attempts to connect, it requests a user ID [see S1 and S2 in Fig. 1], and when the ID is confirmed in the account information DB 120 [see S3 and S4 in Fig. 1], the PKI authentication server 130 The ID is transmitted and a service authentication code is requested [see S5 of FIG. 1].

이때, PKI로 사용되는 기반기술이 인증기앱(210)이 구동되어 있어야 하는 상황이라면 계정정보 DB(120)에서 아이디를 확인한 이후, 별도의 Push 서버(미도시)를 통해서 인증 요청이 접수되었다는 푸시 메시지를 PKI 기반 인증기앱(210)으로 보내고, 해당 푸시 메시지를 수신한 사용자가 앱을 구동하였다는 신호가 들어오면 아이디 전달과 함께 인증 코드 요청을 전개할 수 도 있음은 자명하다. At this time, if the underlying technology used as a PKI is a situation in which the authenticator app 210 must be running, after confirming the ID in the account information DB 120, a push message indicating that an authentication request has been received through a separate Push server (not shown) It is obvious that the PKI-based authenticator app 210 is sent, and when a signal indicating that the user who received the push message has driven the app is received, the authentication code request can be developed along with the ID delivery.

또한 서비스 인증코드를 요청하는데 있어서 서비스 인증코드 이외에 다른 서비스 서버가 현재 수행하려고 하는 기능명을 추가하여 인증코드를 요청 할 수 있다. 즉, 서비스 서버가 현재 인증을 받으려고 하는 동작명을 전송하는 것이다. 예를 들어 아이디를 보낼 때, 사이트 URL에 기능명을 '로그인'이라고 붙여서 전송하거나 특정 계약서에 인증을 받는 것이라면 계약서명, 계약서 파일위치, 계약서 문서화일, 계약주체 등을 추가로 포함하여 보낼 수도 있다.In addition, when requesting a service authentication code, the authentication code can be requested by adding a function name that other service servers are currently trying to perform in addition to the service authentication code. In other words, the service server transmits the name of the operation that is currently attempting to be authenticated. For example, when sending an ID, if the function name is attached to the site URL as'login', or if it is authenticated in a specific contract, the contract name, contract file location, contract document file, contract subject, etc. can be additionally included. .

PKI 인증서버(130)는 사전에 주어진 조건에 따라서 서비스 인증코드를 생성할 수 있다[도 1의 S6 참조]. 이때, 사전에 주어진 조건은 임의의 숫자를 생성하는 것일 수도 있고, OTP와 같은 별도의 사용자별로 사전에 지정된 대칭키로 해당 아이디의 OTP값을 생성하는 것일 수도 있으며, 사전에 지정한 계약서번호 생성규칙에 따라서 '계약2016-일련번호'등으로 생성될 수도 있고, 서비스 서버가 서비스 인증을 요청하는 문자열 '사이트명(예를 들어, estorm.co.kr), 기능명 Login' 등과 같이 사전에 지정된 그 어떤 형식의 문자열일 수도 있다.The PKI authentication server 130 may generate a service authentication code according to a condition given in advance (see S6 in FIG. 1). At this time, the condition given in advance may be to generate an arbitrary number, or to generate the OTP value of the corresponding ID with a symmetric key previously designated for each separate user, such as OTP, and according to the contract number generation rule specified in advance. It can be created as'Contract 2016-Serial Number', etc., or any form specified in advance such as'Site Name (e.g., estorm.co.kr), Function Name Login', a string requesting service authentication by the service server. It can also be a string of.

이후, PKI 인증서버(130)는 생성된 서비스 인증코드를 수신자의 아이디에 상응하여 미리 할당된 공개키로 암호화하여 해당 아이디의 PKI 기반 인증기앱(210)이 설치된 단말기로 전달한다[도 1의 S7 및 S8 참조]. 이때, 전달 방식은 소켓통신이나 푸시 메시지 등 그 어떤 통신방식으로도 전달이 가능함은 자명하다.Thereafter, the PKI authentication server 130 encrypts the generated service authentication code with a public key previously allocated corresponding to the recipient's ID, and transmits the generated service authentication code to the terminal on which the PKI-based authenticator app 210 of the corresponding ID is installed (S7 and See S8]. At this time, it is obvious that the delivery method can be delivered by any communication method such as socket communication or push message.

또한 이때, PKI 인증서버(130)는 생성된 서비스 인증코드를 서비스 서버(110)로 전달함으로써, 해당 서비스 인증코드가 서비스 서버(110)에서 제공하는 화면을 통해서 사용자에게 게시될 수 있도록 한다[도 1의 S9 및 S10 참조]. 이 경우, 서비스 인증 및 사용자 인증에 관한 화면 대기가 이루어진다[도 1의 S11 참조].In addition, at this time, the PKI authentication server 130 transmits the generated service authentication code to the service server 110 so that the corresponding service authentication code can be posted to the user through a screen provided by the service server 110 [Fig. 1, see S9 and S10]. In this case, a screen wait for service authentication and user authentication is performed (see S11 in FIG. 1).

서비스 서버(110)가 제공하는 화면을 통해서 서비스 인증 코드가 게시되는 것에 관한 화면 예시가 도 2의 (a)에 도시되고 있다. 다른 화면 예시로서, 도 4의 (a) 및 도 5의 (a)에는 서비스 인증 코드와 함께 해당 서비스 접속과 관련된 기타 정보(즉, 서비스 서버의 URL, 서비스명, 인증 목적, 인증을 요청한 사용자 등)도 더 표출되는 경우를 예시하고 있다. 또 다른 화면 예시로서, 도 6의 (a) 및 도 7의 (a)에는 서비스 인증 코드(본 예시에서는 계약 인증 코드임)와 함께 해당 계약과 관련된 기타 정보(즉, 계약서 위치, 계약명, 계약번호, 계약자 및 피계약자, 계약서 본문값 등)가 더 표출되는 경우를 예시하고 있다.An example of a screen in which a service authentication code is posted through a screen provided by the service server 110 is shown in FIG. 2A. As another example of the screen, Figs. 4A and 5A show the service authentication code and other information related to the service connection (i.e., the URL of the service server, the service name, the purpose of authentication, the user who requested the authentication, etc.) ) Also exemplifies a case where it is expressed more. As another example of the screen, in Fig.6(a) and Fig.7(a), the service authentication code (in this example, it is a contract authentication code) and other information related to the corresponding contract (i.e., the contract location, contract name, contract The number, contractor and contractee, contract body value, etc.) are further expressed.

이에 따라, PKI 기반의 인증기앱(210)은 전달된 암호화된 값을 자신의 비밀키로 복호화하고, 해당 문자열을 사전에 지정된 방식으로 처리하여 사용자가 서비스 인증코드를 확인할 수 있도록 표시하면서 사용자의 동의를 구한다[도 1의 S12, S13, S14 참조]. 이때, 복호화된 해당 문자열은 서비스 인증을 위한 인증값 자체일 수도 있고, 서비스 인증값을 생성할 수 있는 OTP 생성 변수일 수도 있으며, 사이트명에 기능명을 조합한 문자열일 수도 있고, 계약번호에 계약금액과 계약자명이 명시된 문자열 등 그 제한이 없다.Accordingly, the PKI-based authenticator app 210 decrypts the transmitted encrypted value with its own secret key, processes the string in a pre-specified manner, and displays the service authentication code so that the user can confirm the user's consent. Is obtained [see S12, S13, S14 in Fig. 1]. At this time, the decrypted string may be an authentication value for service authentication itself, an OTP generation variable that can generate a service authentication value, a string that combines a site name with a function name, or a contract number There are no restrictions, such as the amount and the character string specified by the contractor name.

여기서, 서비스 인증코드를 확인하는데 있어서 사용자의 동의 방식은 사전에 정의된 방식에 따라서 다양하게 적용될 수 있다. 일예로 사용자 동의는 사용자 본인을 확인할 수 있는 생체정보 확인기능으로서 지문인식, 음성인식, 얼굴인식, PIN 확인 등 스마트폰에서 수행 가능한 다양한 본인확인 기능이 적용될 수 있음은 자명하다. 이에 관한 일 예로서 도 3은 지문인식을 통한 본인확인 방법이 도시되고 있다.Here, in checking the service authentication code, the user's consent method may be variously applied according to a predefined method. As an example, user consent is a biometric information verification function that can identify the user, and it is obvious that various identification functions that can be performed on a smartphone such as fingerprint recognition, voice recognition, face recognition, and PIN verification can be applied. As an example of this, FIG. 3 shows a method of identifying an identity through fingerprint recognition.

사용자의 인증코드 확인이 이루어지면, 인증기앱(210)은 사전에 지정된 조건에 따라서 사용자 인증값을 생성하고[도 1의 S15 참조], 인증기에서 사용 가능한 해당 아이디의 개인키로 사용자 인증값을 암호화하여 인증서버(130)에 전달한다[도 1의 S16 및 S17 참조]. 이때, 사전에 지정된 조건은 서비스 인증시 수령하였던 문자열을 그대로 사용할 수 있고, 수령한 문자열에 시간과 같은 임의의 가변값을 적용하여 변경할 수 도 있고, 서버와 사전에 사용자 인증에 사용하기로한 동일한 조건에 의해서 생성될 수 있음은 자명하다. When the user's authentication code is verified, the authenticator app 210 generates a user authentication value according to a predetermined condition [see S15 in Fig. 1], and encrypts the user authentication value with a private key of the corresponding ID usable in the authenticator. Then, it is transmitted to the authentication server 130 (see S16 and S17 in FIG. 1). At this time, the pre-designated condition can be used as it is the character string received at the time of service authentication, and can be changed by applying an arbitrary variable value such as time to the received character string, and the same condition that the server and the user decided to use in advance for authentication. It is obvious that it can be created by

PKI 인증서버(130)는 인증기앱(210)이 전송한 암호화된 값을 해당 아이디의 공개키를 이용하여 복원하고, 사전에 지정한 조건에 따라서 생성한 사용자 인증코드와 비교하여 일치하는 경우 정당한 인증기앱(210)으로부터 데이터가 들어왔다는 것을 확인한후, 서비스 서버에게 인증결과(즉, 인증 승인)을 전송한다[도 1의 S18 및 S19 참조]. 서비스 서버는 인증승인에 따라서 서비스를 개시한다[도 1의 S20 참조]. 예를 들어, 인증 목적이 로그인인 경우에는 해당 사용자에 의한 서비스 접속을 승인하는 것이 될 것이고, 인증 목적이 계약 체결인 경우에는 사용자 동의 의사에 따른 계약 체결을 승인하는 것이 될 것이다.The PKI authentication server 130 restores the encrypted value transmitted by the authenticator app 210 using the public key of the corresponding ID, and compares it with the user authentication code generated according to the conditions specified in advance, and if it matches, a legitimate authenticator app After confirming that data has been received from 210, the authentication result (ie, authentication approval) is transmitted to the service server (see S18 and S19 in FIG. 1). The service server starts the service according to the authentication approval (see S20 of FIG. 1). For example, when the purpose of authentication is login, the service access by the user is approved, and when the purpose of authentication is contract, the contract is approved according to the user's consent.

이상에서는 서비스 인증을 구현하는데 있어서 PKI 인증서버에서 보관하고 있는 사용자의 공개키로 서비스 인증값을 암호화하여 PKI 인증기앱에서 사용자의 비밀키로 복호화하는 경우를 설명하였다, 다만 이와 반대로 PKI 인증서버에서 서버의 비밀키로 암호화하고 PKI 인증기앱에서 서버의 공개키로 복호화할 수 있음도 자명하다. 즉, 서비스 인증은 서버의 비밀키로 인증을 시작하여 사용자의 PKI 인증기앱이 보관하던 서버의 공개키로 복호화하여 서비스 화면과 인증기 화면에 표시된 서비스 인증값이 일치하는지 여부를 사용자에게 확인하도록 동의를 구하고, 이를 사용자가 확인하는 경우 자신의 PKI 인증기앱이 사전에 지정된 방식으로 사용자 인증값을 생성하여, 사용가능한 사용자 개인키로 사용자 인증값을 암호화한 후 PKI 인증서버로 전송할 수 있다.In the above, in implementing service authentication, the case where the service authentication value is encrypted with the user's public key stored in the PKI authentication server and decrypted with the user's private key in the PKI authenticator app has been described. It is also obvious that it can be encrypted with a key and decrypted with the server's public key in a PKI authenticator app. In other words, service authentication starts with the server's secret key, decrypts it with the server's public key stored by the user's PKI authenticator app, and asks the user to confirm whether the service authentication value displayed on the service screen and authenticator screen match , When the user confirms this, the user's PKI authenticator app generates user authentication values in a pre-specified manner, encrypts the user authentication values with a usable user private key, and transmits them to the PKI authentication server.

또한 서비스서버가 사용자 인증이 아닌 계약서에 사용자의 개인키로 날인하는 서비스를 구현하는 경우 상기흐름과 전체적인 흐름은 유사하나 아이디와 함께 전자적 계약서파일을 PKI 인증서버로 함께 전달할 수 있다. 이때, PKI 인증서버는 해당 계약서 파일의 해쉬값을 생성한후 사용자의 공개키로 암호화하여 PKI 인증기앱으로 전달하고, PKI 인증기앱은 자신의 비밀키로 해당 해쉬값을 복호화한후, 사용자 동의가 이루어지면 사용자의 비밀키로 해쉬값을 암호화하여 PKI 인증 서버로 전송할 수 있다. 이에 따라 PKI 인증서버는 수신한 암호화된 해쉬값을 해당 사용자의 공개키로 복호화하고, 서버에서 전송했던 해쉬값과 비교하여 일치하는 경우 서비스 서버에게 계약이 체결된 것을 통보하는 것으로 추가 구현할 수 있음도 자명하다.In addition, when the service server implements a service that seals the contract with the user's private key rather than user authentication, the overall flow is similar to the above, but the electronic contract file together with the ID can be delivered to the PKI authentication server. At this time, the PKI authentication server generates the hash value of the corresponding contract file, encrypts it with the user's public key, and delivers it to the PKI authenticator app, and the PKI authenticator app decrypts the hash value with its own private key, and when user consent is obtained. The hash value can be encrypted with the user's private key and transmitted to the PKI authentication server. Accordingly, it is also apparent that the PKI authentication server decrypts the received encrypted hash value with the user's public key, compares it with the hash value transmitted from the server, and informs the service server that the contract has been concluded if they match. Do.

또한 구성에 따라서 사용자가 동의하는 방법이 모바일 기기내에 장착된 지문인식과 같은 생체인식 기능이라면, 제조사의 지문인식기가 화면에 표시될 때 서비스 제공자 또는 서비스 제공자의 기능명이 함께 표시되어 지문인식시 사용자가 무엇에 동의하는지 확인해 줄 수 있게 제조사 레벨에서 구현할 수 있음도 자명하다. 이에 관한 화면 예시가 도 5의 (b) 및 (c), 도 7의 (b) 및 (c)에 도시되어 있다.In addition, if the method that the user agrees to according to the configuration is a biometric function such as fingerprint recognition installed in a mobile device, when the manufacturer's fingerprint reader is displayed on the screen, the service provider or the function name of the service provider is displayed together, so that the user can recognize the fingerprint. It is also obvious that it can be implemented at the manufacturer level so that you can confirm what you agree with. Examples of screens related thereto are shown in FIGS. 5B and 5C and 7B and 7C.

상술한 본 발명의 실시예에 따른 공개키 기반의 서비스 인증 방법은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로서 구현되는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체로는 컴퓨터 시스템에 의하여 해독될 수 있는 데이터가 저장된 모든 종류의 기록 매체를 포함한다. 예를 들어, ROM(Read Only Memory), RAM(Random Access Memory), 자기 테이프, 자기 디스크, 플래쉬 메모리, 광 데이터 저장장치 등이 있을 수 있다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 통신망으로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 읽을 수 있는 코드로서 저장되고 실행될 수 있다. The public key-based service authentication method according to an embodiment of the present invention described above may be implemented as a computer-readable code on a computer-readable recording medium. Computer-readable recording media include all types of recording media in which data that can be read by a computer system are stored. For example, there may be read only memory (ROM), random access memory (RAM), magnetic tape, magnetic disk, flash memory, optical data storage device, and the like. In addition, the computer-readable recording medium can be distributed to a computer system connected through a computer communication network, and stored and executed as code that can be read in a distributed manner.

이상에서는 본 발명의 실시예를 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 쉽게 이해할 수 있을 것이다.The above has been described with reference to the embodiments of the present invention, but those of ordinary skill in the relevant technical field variously modify the present invention within the scope not departing from the spirit and scope of the present invention described in the following claims. And it will be easily understood that it can be changed.

Claims (5)

인증 시스템으로서,
온라인 서비스 서버에 관한 인증 절차를 대행하는 인증 서버와, 모바일 기기에 설치되며 상기 온라인 서비스 서버에 접속하는 접속 단말기에 관한 인증 절차를 수행하는 모바일 인증앱을 포함하고,
상기 인증 서버는,
상기 접속 단말기를 통한 상기 온라인 서비스 서버로의 사용자의 서비스 요청에 상응하여 서비스 인증코드를 생성하고, 상기 온라인 서비스 서버가 상기 서비스 인증코드를 서비스 화면 상에 게시할 수 있도록 상기 서비스 인증코드를 상기 온라인 서비스 서버로 전송하고, 상기 사용자가 상기 모바일 인증앱의 화면을 통해서 상기 서비스 인증코드를 확인할 수 있도록 PKI(Public Key Infrastructure) 기반의 암호화를 수행하여 암호화된 서비스 인증코드 또는 암호화된 서비스 인증코드 관련값을 상기 모바일 인증앱으로 전송함으로써, 상기 사용자의 서비스 요청에 따른 해당 서비스가 진정한 온라인 서비스 서버에 의해 제공되는 서비스인지에 관한 진위 여부 판별이 가능하도록 하고,
상기 모바일 인증앱은,
상기 암호화하여 수신된 서비스 인증코드 또는 상기 서비스 인증코드 관련값을 상기 PKI 기반으로 복호화하여 상기 서비스 인증코드를 앱 화면을 통해서 게시함으로써, 상기 사용자가 상기 앱 화면에 게시된 서비스 인증코드와 상기 서비스 화면 상에 게시된 서비스 인증코드의 비교 확인을 통해서 해당 서비스의 진위 여부에 관한 서비스 인증을 수행할 수 있도록 하고, 상기 서비스 인증 코드 확인을 통한 상기 서비스 인증이 완료된 이후, 사전 지정된 조건에 따라 사용자 인증값을 생성하고 생성된 사용자 인증값을 상기 인증 서버로 전송하며,
상기 인증 서버는,
상기 모바일 인증앱에서의 사용자 인증값의 생성 조건에서와 동일한 생성 조건을 이용하여 생성한 확인용 인증값을 생성하며, 상기 수신된 사용자 인증값과 상기 확인용 인증값 간의 비교를 통해서 해당 사용자의 진위 확인을 위한 사용자 인증을 수행하고, 해당 사용자 인증 수행 결과를 상기 온라인 서비스 서버로 통지하며,
상기 PKI 기반의 암호화 과정에서, 상기 인증 서버는,
상기 접속 단말기로부터 전달된 상기 사용자의 계정 정보를 상기 온라인 서비스 서버로부터 수신하고, 상기 수신된 사용자 계정 정보에 상응하여 사전에 할당된 공개키 및 상기 인증 서버의 서버 개인키 중 어느 하나로 상기 생성된 서비스 인증코드 또는 상기 서비스 인증코드 관련값을 암호화하고,
상기 PKI 기반의 복호화 과정에서, 상기 모바일 인증앱은,
상기 암호화하여 수신된 서비스 인증코드 또는 상기 서비스 인증코드 관련값을 상기 사용자 계정 정보에 상응하여 사용되는 비밀키 및 상기 인증 서버에 상응하여 사전에 할당된 공개키 중 어느 하나를 이용하여 상기 PKI 기반으로 복호화하는 것을 특징으로 하는, 인증 시스템.
As an authentication system,
An authentication server that acts on behalf of an online service server, and a mobile authentication app installed on a mobile device and performing an authentication procedure for a connection terminal that accesses the online service server,
The authentication server,
Generate a service authentication code in response to a user's service request to the online service server through the access terminal, and send the service authentication code to the online service server so that the service authentication code can be posted on the service screen. Encrypted service authentication code or encrypted service authentication code related value by performing encryption based on Public Key Infrastructure (PKI) so that transmission to the service server and the user can check the service authentication code through the screen of the mobile authentication app By transmitting to the mobile authentication app, it is possible to determine whether the corresponding service according to the service request of the user is a genuine service provided by the online service server,
The mobile authentication app,
The service authentication code and the service screen posted on the app screen by the user by decrypting the encrypted and received service authentication code or the service authentication code-related value based on the PKI and posting the service authentication code through the app screen. Service authentication can be performed regarding the authenticity of the service through comparison and confirmation of the service authentication code posted on the image, and after the service authentication is completed through the service authentication code check, the user authentication value according to a predetermined condition And transmits the generated user authentication value to the authentication server,
The authentication server,
The authentication value for verification is generated using the same generation condition as in the generation condition of the user authentication value in the mobile authentication app, and the authenticity of the user through comparison between the received user authentication value and the authentication value for verification Perform user authentication for confirmation, and notify the result of performing the user authentication to the online service server,
In the PKI-based encryption process, the authentication server,
The service generated by any one of a public key assigned in advance and a server private key of the authentication server in response to receiving the user's account information transmitted from the access terminal from the online service server, and corresponding to the received user account information Encrypt the authentication code or the service authentication code related value,
In the PKI-based decryption process, the mobile authentication app,
The encrypted received service authentication code or the service authentication code related value is based on the PKI using one of a private key used in correspondence with the user account information and a public key previously allocated in accordance with the authentication server. An authentication system, characterized in that to decrypt.
삭제delete 제1항에 있어서,
상기 서비스 인증코드 확인을 통한 상기 서비스 인증은 FIDO(Fast Identity Online) 기반의 인증 방식과 함께 통합 구현되는 것을 특징으로 하는, 인증 시스템.
The method of claim 1,
The service authentication through the service authentication code verification is characterized in that the integrated implementation with a fast identity online (FIDO) based authentication method, authentication system.
제1항에 있어서,
상기 인증 서버는, 상기 온라인 서비스 서버로부터 수신된 해당 서비스 관련 정보를 활용하여 사전 지정된 조건에 따라 상기 서비스 인증코드를 생성하고,
상기 서비스 관련 정보는, 상기 온라인 서비스 서버의 상기 서비스 화면 및 상기 모바일 인증앱의 화면을 통해 상기 서비스 인증 코드와 함께 게시되는 것을 특징으로 하는, 인증 시스템.
The method of claim 1,
The authentication server generates the service authentication code according to a pre-designated condition by using the service-related information received from the online service server,
The service-related information is posted together with the service authentication code through the service screen of the online service server and the screen of the mobile authentication app.
제4항에 있어서,
상기 서비스 관련 정보는,
인증 목적이 접속 인증인 경우, 서비스 서버의 웹 주소 정보, 접속 서비스명, 상기 인증 목적, 인증 요청자 중 적어도 하나를 포함하고,
인증 목적이 계약 인증인 경우, 계약명, 계약번호, 계약자, 피계약자, 계약서 본문값 중 적어도 하나를 포함하는, 인증 시스템.
The method of claim 4,
The above service-related information,
When the authentication purpose is access authentication, at least one of the web address information of the service server, the access service name, the authentication purpose, and the authentication requester is included,
When the authentication purpose is contract authentication, the authentication system including at least one of a contract name, a contract number, a contractor, a contractee, and a contract body value.
KR1020200016796A 2020-02-12 2020-02-12 Public key infrastructure based service authentication method and system KR102160892B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200016796A KR102160892B1 (en) 2020-02-12 2020-02-12 Public key infrastructure based service authentication method and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200016796A KR102160892B1 (en) 2020-02-12 2020-02-12 Public key infrastructure based service authentication method and system

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020170081767A Division KR20180013710A (en) 2016-07-28 2017-06-28 Public key infrastructure based service authentication method and system

Publications (2)

Publication Number Publication Date
KR20200018546A KR20200018546A (en) 2020-02-19
KR102160892B1 true KR102160892B1 (en) 2020-09-29

Family

ID=69669884

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200016796A KR102160892B1 (en) 2020-02-12 2020-02-12 Public key infrastructure based service authentication method and system

Country Status (1)

Country Link
KR (1) KR102160892B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102633814B1 (en) * 2022-09-28 2024-02-05 주식회사 올라핀테크 Information collection service server that collects and provides information on individual site use history on the website through e-mail-based third-party authentication and the operating method thereof

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101611872B1 (en) * 2015-11-05 2016-04-12 에스지에이솔루션즈 주식회사 An authentication method using FIDO(Fast IDentity Online) and certificates
KR101637863B1 (en) * 2016-01-05 2016-07-08 주식회사 코인플러그 Security system and method for transmitting a password

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160055388A (en) * 2014-11-08 2016-05-18 김경진 The common application service method based on the service provider authentication and secure communication

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101611872B1 (en) * 2015-11-05 2016-04-12 에스지에이솔루션즈 주식회사 An authentication method using FIDO(Fast IDentity Online) and certificates
KR101637863B1 (en) * 2016-01-05 2016-07-08 주식회사 코인플러그 Security system and method for transmitting a password

Also Published As

Publication number Publication date
KR20200018546A (en) 2020-02-19

Similar Documents

Publication Publication Date Title
US11223948B2 (en) Anonymous authentication and remote wireless token access
US11218480B2 (en) Authenticator centralization and protection based on authenticator type and authentication policy
EP3343831B1 (en) Identity authentication method and apparatus
EP2885904B1 (en) User-convenient authentication method and apparatus using a mobile authentication application
US8132722B2 (en) System and method for binding a smartcard and a smartcard reader
JP6586446B2 (en) Method for confirming identification information of user of communication terminal and related system
EP1922632B1 (en) Extended one-time password method and apparatus
US20200196143A1 (en) Public key-based service authentication method and system
CN111275419B (en) Block chain wallet signature right confirming method, device and system
KR102372503B1 (en) Method for providing authentification service by using decentralized identity and server using the same
KR102160892B1 (en) Public key infrastructure based service authentication method and system
KR102284876B1 (en) System and method for federated authentication based on biometrics
KR20160140372A (en) Cross authentication method and system using one time password
KR101879842B1 (en) User authentication method and system using one time password
KR20170099339A (en) System and method for providing security membership and login hosting service
JP2023010223A (en) Information management system, information management method, server device, and program
CN117882103A (en) Authentication system based on block chain

Legal Events

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