KR20220122224A - Integrated user authentication method based on decentralized identity in user device and server - Google Patents

Integrated user authentication method based on decentralized identity in user device and server Download PDF

Info

Publication number
KR20220122224A
KR20220122224A KR1020210026576A KR20210026576A KR20220122224A KR 20220122224 A KR20220122224 A KR 20220122224A KR 1020210026576 A KR1020210026576 A KR 1020210026576A KR 20210026576 A KR20210026576 A KR 20210026576A KR 20220122224 A KR20220122224 A KR 20220122224A
Authority
KR
South Korea
Prior art keywords
distributed
user
information
target server
document
Prior art date
Application number
KR1020210026576A
Other languages
Korean (ko)
Inventor
윤대근
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR1020210026576A priority Critical patent/KR20220122224A/en
Publication of KR20220122224A publication Critical patent/KR20220122224A/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/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/41User authentication where a single sign-on provides access to a plurality of computers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0815Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
    • 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/3271Cryptographic 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 challenge-response

Abstract

Provided is an integrated user authentication method based on decentralized identity in a user terminal. The method comprises the steps of: generating a decentralized ID including a pair of keys which comprises a public key and a private key, a decentralized ID document in which the public key is specified, and URI information of the decentralized ID document; storing the decentralized ID document in a repository; registering the decentralized ID to a server (hereinafter called a target server) corresponding to a predetermined target service; transmitting the registered decentralized ID to the target server to request user authentication; and receiving a user authentication result corresponding to the user authentication request from the target server. Therefore, the present invention allows a user to directly perform authentication using a safe encryption algorithm.

Description

사용자 단말 및 대상 서버에서의 분산 ID에 기반한 사용자 통합 인증 방법{INTEGRATED USER AUTHENTICATION METHOD BASED ON DECENTRALIZED IDENTITY IN USER DEVICE AND SERVER}User integrated authentication method based on distributed identity on user terminal and target server

본 발명은 사용자 단말 및 대상 서버에서의 분산 ID에 기반한 사용자 통합 인증 방법에 관한 것이다.The present invention relates to a user integrated authentication method based on a distributed ID in a user terminal and a target server.

현재 온라인 환경에서 사용되는 인증 방식인 아이디/패스워드 기반 인증 방식은 여러 문제점이 존재한다. 예를 들어, 길이가 짧은 비밀번호를 사용하는 경우 무차별 대입 공격에 의해 비밀번호가 쉽게 탈취될 수 있고, 기억하기 쉬운 비밀번호를 사용하는 경우에도 사전 공격(Dictionary Attack)을 통해 비밀번호가 쉽게 탈취될 수 있다. 또한, 비밀번호의 안전성을 위해서는 9자리 이상의 영문, 숫자, 특수문자 등으로 조합된 기억하기 힘든 문자열로 생성되어야만 한다.The ID/password-based authentication method, which is an authentication method currently used in an online environment, has several problems. For example, when a short password is used, the password can be easily stolen by a brute force attack, and even when an easy-to-remember password is used, the password can be easily stolen through a dictionary attack. In addition, for the safety of the password, it must be created as a difficult-to-remember string of 9 or more letters, numbers, and special characters.

이와 더불어, 사용자가 이용하는 모든 웹사이트의 인증 패스워드를 서로 다르게 사용해야만, 특정 웹사이트의 패스워드가 탈취되더라도 해커는 탈취한 패스워드를 통해 사용자의 다른 웹사이트로 인증할 수 없다. 하지만, 현재 사용자단 수십 개의 웹사이트를 사용하는 상황에서 이상적으로 생성된 서로 다른 아이디 및 패스워드를 기억하는 것은 불가능에 가깝다.In addition, even if the password of a specific website is stolen, the hacker cannot authenticate to another website of the user through the stolen password only when the authentication passwords of all websites used by the user are used differently. However, it is almost impossible to remember the different IDs and passwords that are ideally generated in the situation where only dozens of users are currently using the website.

이러한 문제점을 개선하기 위해 현재 SSO(Single Sign On)이 사용되고 있다. SSO는 IdP(IdentityProvider) 웹사이트의 회원 정보를 RP(Relying Party) 웹사이트로 회원가입 혹은 로그인이 가능한 기술이다. 주로 IdP는 구글, 네이버, 페이스북 등 많은 이용자들을 보유한 웹사이트가 그 역할을 하고 있다. 하지만, IdP가 단일 실패지점이 되어, 사용자의 부주의한 패스워드 관리 또는 IdP 서버의 보안 취약점 등의 이유로 사용자의 패스워드가 노출된다면 해커는 IdP를 통해 인증 가능한 모든 웹사이트와 관련된 사용자 정보를 탈취할 수 있는 문제가 있다.In order to improve this problem, SSO (Single Sign On) is currently being used. SSO is a technology that enables member registration or login of member information from IdP (Identity Provider) website to RP (Relying Party) website. As for IdP, websites with many users, such as Google, Naver, and Facebook, play a role. However, if the IdP becomes a single point of failure and the user's password is exposed due to the user's careless password management or the security vulnerability of the IdP server, hackers can steal user information related to all websites that can be authenticated through the IdP. there is a problem.

등록특허공보 제10-2139645호(2020.07.24)Registered Patent Publication No. 10-2139645 (2020.07.24)

본 발명이 해결하고자 하는 과제는 중앙 서버에 인증 정보를 저장하지 않고, 사용자가 직접 관리하는 분산 ID(Decentralized Identity)를 통해 사용자의 통합 인증을 수행하는, 사용자 단말 및 대상 서버에서의 분산 ID에 기반한 사용자 통합 인증 방법을 제공하는 것이다.The problem to be solved by the present invention is to perform integrated authentication of the user through a distributed ID (Decentralized Identity) directly managed by the user without storing authentication information in the central server, based on the distributed ID in the user terminal and the target server. It is to provide an integrated user authentication method.

다만, 본 발명이 해결하고자 하는 과제는 상기된 바와 같은 과제로 한정되지 않으며, 또다른 과제들이 존재할 수 있다.However, the problems to be solved by the present invention are not limited to the problems described above, and other problems may exist.

상술한 과제를 해결하기 위한 본 발명의 제1 측면에 따른 사용자 단말에서의 분산 ID에 기반한 사용자의 통합 인증 방법은 공개키와 암호키로 구성된 키 쌍과, 상기 공개키가 명시된 분산 ID(Decentralized Identity) 문서 및 상기 분산 ID 문서의 URI 정보를 포함하는 분산 ID를 생성하는 단계; 상기 분산 ID 문서를 저장소에 저장하는 단계; 소정의 이용 대상 서비스에 상응하는 서버(이하, 대상 서버)로 상기 분산 ID를 등록하는 단계; 상기 등록된 분산 ID를 대상 서버로 전송하여 사용자 인증을 요청하는 단계; 및 상기 사용자 인증 요청에 상응하는 사용자 인증 결과를 상기 대상 서버로부터 수신하는 단계를 포함한다.The integrated authentication method of the user based on the distributed ID in the user terminal according to the first aspect of the present invention for solving the above problems is a key pair consisting of a public key and an encryption key, and a distributed ID (Decentralized Identity) in which the public key is specified generating a distributed ID including a document and URI information of the distributed ID document; storing the distributed ID document in a storage; registering the distributed ID with a server (hereinafter referred to as a target server) corresponding to a predetermined service target service; requesting user authentication by transmitting the registered distributed ID to a target server; and receiving a user authentication result corresponding to the user authentication request from the target server.

본 발명의 일부 실시예에서, 상기 저장소는 상기 분산 ID에 포함된 URI 정보에 기초하여 상기 분산 ID 문서를 독출할 수 있다.In some embodiments of the present invention, the storage may read the distributed ID document based on URI information included in the distributed ID.

본 발명의 일부 실시예에서, 상기 대상 서버로 상기 분산 ID를 등록하는 단계는, 상기 대상 서버로 사용자 정보 및 분산 ID를 전송하는 단계; 상기 대상 서버로부터 생성된 챌린지(Challenge) 정보를 수신하는 단계; 상기 분산 ID 문서에 명시된 공개키와 쌍을 이루는 암호키를 이용하여 상기 챌린지 정보를 해독하는 단계; 및 상기 챌린지 정보의 해독 결과 획득되는 응답(Response) 정보를 상기 대상 서버로 전송하는 단계를 포함할 수 있다.In some embodiments of the present invention, the step of registering the distributed ID with the target server includes: transmitting user information and the distributed ID to the target server; receiving challenge information generated from the target server; decrypting the challenge information using an encryption key paired with the public key specified in the distributed ID document; and transmitting response information obtained as a result of decoding the challenge information to the target server.

본 발명의 일부 실시예에서, 상기 대상 서버는 상기 사용자 정보 및 분산 ID를 수신함에 따라, 상기 분산 ID를 이용하여 상기 저장소로부터 분산 ID에 상응하는 분산 ID 문서를 독출하고, 상기 분산 ID 문서에 기초하여 챌린지 정보를 생성하여 상기 사용자 단말로 전송할 수 있다.In some embodiments of the present invention, upon receiving the user information and the distributed ID, the target server reads a distributed ID document corresponding to the distributed ID from the storage using the distributed ID, and based on the distributed ID document Thus, the challenge information may be generated and transmitted to the user terminal.

본 발명의 일부 실시예에서, 상기 대상 서버는 상기 응답 정보를 수신함에 따라, 상기 응답 정보를 검증하여 올바른 사용자인 것으로 판단한 경우, 사용자의 분산 ID와 사용자 정보를 매칭하여 사용자 정보 테이블에 저장할 수 있다.In some embodiments of the present invention, when the target server receives the response information, verifies the response information and determines that the user is a correct user, the user information can be matched with the distributed ID of the user and stored in the user information table. .

본 발명의 일부 실시예에서, 상기 등록된 분산 ID를 대상 서버로 전송하여 사용자 인증을 요청하는 단계는, 상기 등록된 분산 ID 및 사용자 인증 요청을 상기 대상 서버로 전송하는 단계; 상기 대상 서버로부터 생성된 챌린지(Challenge) 정보를 수신하는 단계; 상기 분산 ID 문서에 명시된 공개키와 쌍을 이루는 암호키를 이용하여 상기 챌린지를 해독하는 단계; 및 상기 챌린지의 해독 결과 획득되는 응답(Response) 정보를 상기 대상 서버로 전송하는 단계를 포함할 수 있다.In some embodiments of the present invention, the step of requesting user authentication by transmitting the registered distributed ID to the target server includes: transmitting the registered distributed ID and user authentication request to the target server; receiving challenge information generated from the target server; decrypting the challenge using an encryption key paired with the public key specified in the distributed ID document; and transmitting response information obtained as a result of decoding the challenge to the target server.

본 발명의 일부 실시예에서, 상기 대상 서버는 상기 분산 ID 및 사용자 인증 요청을 수신함에 따라, 사용자 정보 테이블에 사용자의 상기 분산 ID가 존재하는 경우, 상기 분산 ID를 이용하여 상기 저장소로부터 분산 ID에 상응하는 분산 ID 문서를 독출하고, 상기 분산 ID 문서에 기초하여 챌린지 정보를 생성하여 상기 사용자 단말로 전송할 수 있다.In some embodiments of the present invention, as the target server receives the distributed ID and user authentication request, if the distributed ID of the user exists in the user information table, the distributed ID is used to access the distributed ID from the storage using the distributed ID. A corresponding distributed ID document may be read, and challenge information may be generated based on the distributed ID document and transmitted to the user terminal.

본 발명의 일부 실시예에서, 상기 대상 서버는 상기 응답 정보를 수신함에 따라, 상기 응답 정보를 검증하여 올바른 사용자인 것으로 판단한 경우 사용자의 인증을 허가할 수 있다.In some embodiments of the present invention, when the target server receives the response information, verifies the response information and determines that the user is a correct user, the target server may permit authentication of the user.

또한, 본 발명의 제2 측면에 따른 분산 ID에 기반한 사용자의 통합 인증이 가능한 사용자 단말은 소정의 이용 대상 서비스에 상응하는 서버(이하, 대상 서버) 및 분산 ID(Decentralized Identity) 문서를 저장하는 저장소와 데이터를 송수신하는 통신모듈, 분산 ID에 기반하여 사용자의 통합 인증을 위한 프로그램이 저장된 메모리 및 상기 메모리에 저장된 프로그램을 실행시킴에 따라, 공개키와 암호키로 구성된 키 쌍과, 상기 공개키가 명시된 분산 ID(Decentralized Identity) 문서 및 상기 분산 ID 문서의 URI 정보를 포함하는 분산 ID를 생성하고, 상기 통신모듈을 통해 분산 ID 문서를 저장소에 저장한 후, 상기 대상 서버로 분산 ID 등록을 요청하여 등록시키고, 상기 등록된 분산 ID를 대상 서버로 전송하여 사용자 인증을 요청하며, 상기 사용자 인증 요청에 상응하는 사용자 인증 결과를 상기 대상 서버로부터 수신하는 프로세서를 포함한다.In addition, a user terminal capable of integrated authentication of a user based on a distributed ID according to the second aspect of the present invention is a server (hereinafter, target server) corresponding to a predetermined service target service and a storage for storing a distributed ID (Decentralized Identity) document and a communication module for transmitting and receiving data, a memory in which a program for integrated authentication of a user is stored based on a distributed ID, and a key pair consisting of a public key and an encryption key as the program stored in the memory is executed, and the public key is specified After generating a distributed ID including a distributed ID (Decentralized Identity) document and URI information of the distributed ID document, storing the distributed ID document in the storage through the communication module, requesting and registering the distributed ID with the target server and a processor for requesting user authentication by transmitting the registered distributed ID to the target server, and receiving a user authentication result corresponding to the user authentication request from the target server.

또한, 본 발명의 제3 측면에 따른 대상 서버에서의 분산 ID에 기반하여 사용자의 통합 인증을 수행하는 방법은 사용자 단말로부터 사용자 정보 및 분산 ID(Decentralized Identity)를 포함하는 분산 ID 등록 요청을 수신하는 단계; 상기 분산 ID 등록 요청에 상응하여 상기 분산 ID를 이용하여 저장소로부터 분산 ID에 상응하는 분산 ID 문서를 독출하는 단계; 상기 분산 ID 문서에 기초하여 챌린지(Challenge) 정보를 생성하는 단계; 상기 사용자 단말로부터 상기 챌린지 정보에 상응하는 응답(Response) 정보를 수신하는 단계; 상기 응답 정보를 검증하여 올바른 사용자인지 여부를 판단하는 단계; 및 상기 판단 결과에 기초하여 사용자의 분산 ID와 사용자 정보를 매칭하여 사용자 정보 테이블에 저장하는 단계를 포함한다.In addition, the method for performing integrated authentication of a user based on a distributed ID in a target server according to the third aspect of the present invention is to receive a distributed ID registration request including user information and a distributed ID (Decentralized Identity) from a user terminal. step; reading a distributed ID document corresponding to the distributed ID from a storage using the distributed ID in response to the distributed ID registration request; generating challenge information based on the distributed ID document; receiving response information corresponding to the challenge information from the user terminal; determining whether the user is a valid user by verifying the response information; and matching the distributed ID of the user with the user information based on the determination result and storing the matching user information in the user information table.

본 발명의 일부 실시예는, 상기 사용자 단말로부터 분산 ID를 포함하는 사용자 인증 요청을 수신하는 단계; 상기 사용자 정보 테이블에 사용자의 상기 분산 ID가 존재하는지 여부를 확인하는 단계; 확인 결과 존재하는 경우, 상기 분산 ID를 이용하여 상기 저장소로부터 분산 ID에 상응하는 분산 ID 문서를 독출하는 단계; 상기 분산 ID 문서에 기초하여 챌린지(Challenge) 정보를 생성하는 단계; 상기 사용자 단말로부터 상기 챌린지 정보에 상응하는 응답(Response) 정보를 수신하는 단계; 상기 응답 정보를 검증하여 올바른 사용자인지 여부를 판단하는 단계; 및 상기 판단 결과에 기초하여 사용자의 인증을 허가하는 단계를 더 포함할 수 있다.In some embodiments of the present invention, receiving a user authentication request including a distributed ID from the user terminal; checking whether the distributed ID of the user exists in the user information table; reading a distributed ID document corresponding to the distributed ID from the storage using the distributed ID if it exists as a result of checking; generating challenge information based on the distributed ID document; receiving response information corresponding to the challenge information from the user terminal; determining whether the user is a valid user by verifying the response information; and permitting the user's authentication based on the determination result.

상술한 과제를 해결하기 위한 본 발명의 다른 면에 따른 컴퓨터 프로그램은, 하드웨어인 컴퓨터와 결합되어 분산 ID에 기반한 사용자의 통합 인증 방법을 실행하며, 컴퓨터 판독가능 기록매체에 저장된다.A computer program according to another aspect of the present invention for solving the above-described problems is combined with a computer, which is hardware, and executes a user's integrated authentication method based on a distributed ID, and is stored in a computer-readable recording medium.

본 발명의 기타 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.Other specific details of the invention are included in the detailed description and drawings.

전술한 본 발명의 일 실시예에 의하면, 사용자는 보안에 취약한 아이디 및 패스워드 방식 대신 충분한 안정성이 보장된 암호 알고리즘 기반으로 인증을 수행할 수 있다.According to the above-described embodiment of the present invention, the user can perform authentication based on an encryption algorithm guaranteeing sufficient stability instead of the ID and password method, which is weak in security.

또한, 사용자는 보안을 위해 어려운 패스워드를 기억할 필요 없이 단말에 저장된 분산 ID와 키 값을 이용하여 인증을 수행할 수 있다.In addition, the user can perform authentication using the distributed ID and key value stored in the terminal without having to remember a difficult password for security.

이와 더불어, 하나의 분산 ID를 통해 다수의 서비스를 이용하는 통합 로그인 시스템을 구현할 수 있다. SSO와 같은 통합 로그인 시스템은 사용자가 IdP와 같은 제3자가 사용하는 보안 시스템에 완전히 의존하여 인증하는 반면, 분산 ID를 이용하는 방법은 사용자가 직접 안전한 암호 알고리즘을 사용하여 인증을 수행할 수 있다는 장점이 있다.In addition, it is possible to implement an integrated login system using multiple services through one distributed ID. An integrated login system such as SSO allows the user to authenticate completely by relying on the security system used by a third party such as an IdP, whereas the method using a distributed identity has the advantage that the user can perform authentication using a secure password algorithm directly. have.

본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.Effects of the present invention are not limited to the effects mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the following description.

도 1은 본 발명의 일 실시예에 따른 분산 ID를 생성하는 과정을 설명하기 위한 도면이다.
도 2는 본 발명의 일 실시예에 따른 사용자의 분산 ID를 등록하는 과정을 설명하기 위한 도면이다.
도 3은 사용자 정보 테이블의 일 예시를 도시한 도면이다.
도 4는 본 발명의 일 실시예에 따른 분산 ID를 이용하여 사용자 인증을 수행하는 과정을 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 분산 ID에 기반한 사용자의 통합 인증이 가능한 사용자 단말의 블록도이다.
1 is a diagram for explaining a process of generating a distributed ID according to an embodiment of the present invention.
2 is a diagram for explaining a process of registering a distributed ID of a user according to an embodiment of the present invention.
3 is a diagram illustrating an example of a user information table.
4 is a diagram for explaining a process of performing user authentication using a distributed ID according to an embodiment of the present invention.
5 is a block diagram of a user terminal capable of integrated authentication of a user based on a distributed ID according to an embodiment of the present invention.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야의 통상의 기술자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. Advantages and features of the present invention and methods of achieving them will become apparent with reference to the embodiments described below in detail in conjunction with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but may be implemented in various different forms, and only these embodiments allow the disclosure of the present invention to be complete, and those of ordinary skill in the art to which the present invention pertains. It is provided to fully inform those skilled in the art of the scope of the present invention, and the present invention is only defined by the scope of the claims.

본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.The terminology used herein is for the purpose of describing the embodiments and is not intended to limit the present invention. In this specification, the singular also includes the plural, unless specifically stated otherwise in the phrase. As used herein, “comprises” and/or “comprising” does not exclude the presence or addition of one or more other components in addition to the stated components. Like reference numerals refer to like elements throughout, and "and/or" includes each and every combination of one or more of the recited elements. Although "first", "second", etc. are used to describe various elements, these elements are not limited by these terms, of course. These terms are only used to distinguish one component from another. Therefore, it goes without saying that the first component mentioned below may be the second component within the spirit of the present invention.

다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야의 통상의 기술자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.Unless otherwise defined, all terms (including technical and scientific terms) used herein will have the meaning commonly understood by those of ordinary skill in the art to which this invention belongs. In addition, terms defined in a commonly used dictionary are not to be interpreted ideally or excessively unless clearly specifically defined.

이하에서는 도 1 내지 도 4를 참조하여 사용자 단말(100) 및 대상 서버(200)에 의해 수행되는 분산 ID에 기반한 사용자의 통합 인증 방법을 설명하도록 한다.Hereinafter, an integrated authentication method of a user based on a distributed ID performed by the user terminal 100 and the target server 200 will be described with reference to FIGS. 1 to 4 .

도 1은 본 발명의 일 실시예에 따른 분산 ID를 생성하는 과정을 설명하기 위한 도면이다.1 is a diagram for explaining a process of generating a distributed ID according to an embodiment of the present invention.

먼저, 사용자 단말(100)은 공개키와 암호키로 구성된 키 쌍과, 공개키가 명시된 분산 ID(Decentralized Identity) 문서 및 분산 문서의 URI 정보를 포함하는 분산 ID를 생성한다(S111).First, the user terminal 100 generates a distributed ID including a key pair consisting of a public key and an encryption key, a distributed ID (Decentralized Identity) document in which the public key is specified, and URI information of the distributed document (S111).

분산 ID는 분산 ID를 가리킬 수 있는 통합 자원 식별자(Uniform Resource Identifier, 이하 URI)를 의미한다. 일 예로, 분산 ID는 기존의 중앙집중형 신원증명 기술과는 달리 블록체인을 기반으로 생성될 수 있다.The distributed ID means a Uniform Resource Identifier (URI) that can point to the distributed ID. As an example, the distributed ID may be generated based on a block chain unlike the existing centralized identification technology.

사용자 단말(100)은 분산 ID를 생성할 때 공개키와 암호키를 동시에 생성하며, 암호키는 안전한 저장소(300)에 저장하고, 공개키는 분산 ID 문서에 포함하여 저장할 수 있다.The user terminal 100 generates a public key and an encryption key at the same time when generating a distributed ID, and stores the encryption key in the secure storage 300, and the public key may be stored in a distributed ID document.

분산 ID 문서는 분산 ID의 소유권을 주장할 수 있는 공개키 값을 저장한다.A distributed ID document stores a public key value that can claim ownership of a distributed ID.

한편, 사용자 단말(100)은 키 쌍을 생성하기 위해 RSA, CDSA, EdDSA, FIDO 등의 암호화 알고리즘을 사용할 수 있으며, 암호학적 안전성을 충분히 보장받을 수 있는 다양한 알고리즘을 사용할 수 있다.Meanwhile, the user terminal 100 may use an encryption algorithm such as RSA, CDSA, EdDSA, FIDO, etc. to generate a key pair, and may use various algorithms that can sufficiently ensure cryptographic safety.

다음으로, 사용자 단말(100)은 공개키가 명시된 분산 ID 문서를 저장소(300)에 전송하고(S113), 저장소(300)는 이를 수신하여 저장한다(S115). 여기에서, 저장소(300)는 분산 ID에 포함된 URI 정보에 기초하여 분산 ID 문서를 독출하는 기능을 제공하며, 블록체인 기반의 저장소(300), 클라우드, 웹서버, 데이터베이스 등의 저장소(300)로 구현될 수 있다.Next, the user terminal 100 transmits the distributed ID document in which the public key is specified to the storage 300 (S113), and the storage 300 receives and stores it (S115). Here, the storage 300 provides a function to read the distributed ID document based on the URI information included in the distributed ID, and the storage 300 such as the blockchain-based storage 300, cloud, web server, and database. ) can be implemented.

도 2는 본 발명의 일 실시예에 따른 사용자의 분산 ID를 등록하는 과정을 설명하기 위한 도면이다. 도 3은 사용자 정보 테이블의 일 예시를 도시한 도면이다.2 is a diagram for explaining a process of registering a distributed ID of a user according to an embodiment of the present invention. 3 is a diagram illustrating an example of a user information table.

사용자는 웹 서비스와 같은 소정의 이용 대상 서비스를 이용하기 위해, 패스워드를 대상 서버(200)에 저장하는 대신, 사용자가 직접 관리하는 분산 ID를 대상 서버(200)로 등록한다.In order to use a predetermined target service such as a web service, the user registers a distributed ID directly managed by the user as the target server 200 instead of storing the password in the target server 200 .

구체적으로, 사용자 단말(100)은 사용자가 원하는 서비스, 기관 등의 대상 서버(200)에 사용자 정보와 분산 ID를 전송한다(S211).Specifically, the user terminal 100 transmits the user information and the distributed ID to the target server 200 such as a service or institution desired by the user (S211).

대상 서버(200)는 사용자 정보 및 분산 ID를 수신함에 따라, 사용자 정보와 분산 ID를 캐시 등을 통해 임시 저장하고, 분산 ID를 저장소(300)에 전송하여 저장소(300)로부터 분산 ID에 상응하는 분산 ID 문서를 독출한다(S213, S215).As the target server 200 receives the user information and the distributed ID, the user information and the distributed ID are temporarily stored through a cache, etc., and the distributed ID is transmitted to the storage 300 to correspond to the distributed ID from the storage 300. The distributed ID document is read (S213, S215).

이후, 대상 서버(200)는 분산 ID 문서를 이용하여 챌린지(Challenge) 정보를 생성하여 사용자 단말(100)로 전송한다(S217, S219). 여기에서 챌린지 정보는 추후 사용자가 분산 ID의 소유권을 주장하기 위해 사용된다. 예를 들어, 분산 ID 문서의 키 값으로 비대칭 키가 있을 경우, 대상 서버(200)는 분산 ID 문서 내에 포함된 공개키를 이용하여 난수(nonce), 수식 등을 암호화하여 챌린지 정보를 생성할 수 있다. 한편, 분산 ID 문서의 키 값으로는 RSA, 타원 곡선 등을 활용한 비대칭키, 생체인증 등 상호 간 챌린지/응답(Challenge/Response)을 통해 인증할 수 있는 모든 암호 수단이 될 수 있다.Thereafter, the target server 200 generates challenge information using the distributed ID document and transmits it to the user terminal 100 (S217, S219). Here, the challenge information is used later by the user to claim ownership of the distributed ID. For example, if there is an asymmetric key as the key value of the distributed ID document, the target server 200 encrypts a random number, a formula, etc. using the public key included in the distributed ID document to generate challenge information. have. On the other hand, the key value of the distributed ID document can be any cryptographic means that can be authenticated through mutual challenge/response, such as RSA, an asymmetric key using an elliptic curve, and biometric authentication.

대상 서버(200)로부터 생성된 챌린지 정보를 수신한 사용자 단말(100)은 분산 ID 문서에 명시된 공개키와 쌍을 이루는 암호키를 이용하여 챌린지 정보를 해독하고, 챌린지 정보의 해독 결과 획득되는 응답(Response) 정보를 대상 서버(200)로 전송한다(S221, S223). 여기에서 응답 정보는 대상 서버(200)가 챌린지 정보를 생성하기 위해 사용한 난수 값 또는 수식에 대한 정답 등이 이에 해당할 수 있다.The user terminal 100 receiving the challenge information generated from the target server 200 decrypts the challenge information using the encryption key paired with the public key specified in the distributed ID document, and the response obtained as a result of decryption of the challenge information ( Response) information is transmitted to the target server 200 (S221, S223). Here, the response information may correspond to a random number value used by the target server 200 to generate the challenge information or a correct answer to a formula.

응답 정보를 수신한 대상 서버(200)는 응답 정보를 검증하고(S225), 검증 결과 올바른 사용자인 것으로 판단한 경우 사용자의 분산 ID와 사용자 정보를 매칭하여 도 3과 같은 사용자 정보 테이블에 저장한다(S227). 그리고 분산 ID 등록 결과를 사용자 단말(100)로 전송한다(S229)The target server 200 receiving the response information verifies the response information (S225), and when it is determined that the user is a correct user as a result of the verification, the distributed ID of the user and the user information are matched and stored in the user information table as shown in FIG. 3 (S227) ). And transmit the distributed ID registration result to the user terminal 100 (S229)

도 4는 본 발명의 일 실시예에 따른 분산 ID를 이용하여 사용자 인증을 수행하는 과정을 설명하기 위한 도면이다.4 is a diagram for explaining a process of performing user authentication using a distributed ID according to an embodiment of the present invention.

본 발명의 일 실시예는 사용자가 웹 서비스 등을 이용하기 위해 서버에 저장된 아이디에 해당하는 패스워드로 인증하는 대신, 사용자가 관리하는 분산 ID에 대한 키 값을 이용한 프로토콜을 통해 인증을 수행한다.In one embodiment of the present invention, authentication is performed through a protocol using a key value for a distributed ID managed by the user, instead of using a password corresponding to an ID stored in the server for the user to use a web service or the like.

먼저, 사용자 단말(100)은 자신이 등록한 서비스, 기관 등에 상응하는 대상 서버(200)로 등록시 사용한 분산 ID 및 사용자 인증 요청을 전송한다(S311).First, the user terminal 100 transmits the distributed ID and user authentication request used during registration to the target server 200 corresponding to the service or institution registered by the user terminal 100 (S311).

대상 서버(200)는 분산 ID 및 사용자 인증 요청을 수신함에 따라, 사용자 정보 테이블에서 사용자의 분산 ID를 확인하고, 확인 결과 분산 ID가 존재하는 경우 이를 이용하여 저장소(300)로부터 분산 ID에 상응하는 분산 ID 문서를 독출한다(S313, S315).As the target server 200 receives the distributed ID and user authentication request, it checks the distributed ID of the user in the user information table, and if there is a distributed ID as a result of the check, it is used to determine the distributed ID from the storage 300. The distributed ID document is read (S313, S315).

이후, 대상 서버(200)는 분산 ID 문서를 이용하여 챌린지(Challenge) 정보를 생성하여 사용자 단말(100)로 전송한다(S317, S319). 여기에서 챌린지 정보는 추후 사용자가 분산 ID의 소유권을 주장하기 위해 사용된다. 예를 들어, 분산 ID 문서의 키 값으로 비대칭 키가 있을 경우, 대상 서버(200)는 분산 ID 문서 내에 포함된 공개키를 이용하여 난수(nonce), 수식 등을 암호화하여 챌린지 정보를 생성할 수 있다. 한편, 분산 ID 문서의 키 값으로는 RSA, 타원 곡선 등을 활용한 비대칭키, 생체인증 등 상호 간 챌린지/응답(Challenge/Response)을 통해 인증할 수 있는 모든 암호 수단이 될 수 있다.Thereafter, the target server 200 generates challenge information using the distributed ID document and transmits it to the user terminal 100 ( S317 and S319 ). Here, the challenge information is used later by the user to claim ownership of the distributed ID. For example, if there is an asymmetric key as the key value of the distributed ID document, the target server 200 encrypts a random number, a formula, etc. using the public key included in the distributed ID document to generate challenge information. have. On the other hand, the key value of the distributed ID document can be any cryptographic means that can be authenticated through mutual challenge/response, such as RSA, an asymmetric key using an elliptic curve, and biometric authentication.

대상 서버(200)로부터 생성된 챌린지 정보를 수신한 사용자 단말(100)은 분산 ID 문서에 명시된 공개키와 쌍을 이루는 암호키를 이용하여 챌린지 정보를 해독하고, 챌린지 정보의 해독 결과 획득되는 응답(Response) 정보를 대상 서버(200)로 전송한다(S321, S323). 여기에서 응답 정보는 대상 서버(200)가 챌린지 정보를 생성하기 위해 사용한 난수 값 또는 수식에 대한 정답 등이 이에 해당할 수 있다.The user terminal 100 receiving the challenge information generated from the target server 200 decrypts the challenge information using the encryption key paired with the public key specified in the distributed ID document, and the response obtained as a result of decryption of the challenge information ( Response) information is transmitted to the target server 200 (S321, S323). Here, the response information may correspond to a random number value used by the target server 200 to generate the challenge information or a correct answer to a formula.

응답 정보를 수신한 대상 서버(200)는 응답 정보를 검증하고(S325), 검증 결과 올바른 사용자인 것으로 판단한 경우 사용자가 요청한 서비스, 권한 등을 허가한다(S327).Upon receiving the response information, the target server 200 verifies the response information (S325), and if it is determined that the user is the correct user as a result of the verification, the service and authority requested by the user are permitted (S327).

한편, 상술한 설명에서, 단계 S111 내지 S327은 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 변경될 수도 있다. Meanwhile, in the above description, steps S111 to S327 may be further divided into additional steps or combined into fewer steps according to an embodiment of the present invention. In addition, some steps may be omitted if necessary, and the order between the steps may be changed.

도 5는 본 발명의 일 실시예에 따른 분산 ID에 기반한 사용자의 통합 인증이 가능한 사용자 단말(100)의 블록도이다.5 is a block diagram of a user terminal 100 capable of integrated authentication of a user based on a distributed ID according to an embodiment of the present invention.

본 발명의 일 실시예에 따른 사용자 단말(100)은 통신모듈(110), 메모리(120) 및 프로세서(130)를 포함하여 구성될 수 있다.The user terminal 100 according to an embodiment of the present invention may include a communication module 110 , a memory 120 , and a processor 130 .

통신모듈(110)은 소정의 이용 대상 서비스에 상응하는 서버(이하, 대상 서버(200)) 및 분산 ID(Decentralized Identity) 문서를 저장하는 저장소(300)와 데이터를 송수신한다.The communication module 110 transmits/receives data to and from a server (hereinafter, referred to as the target server 200) corresponding to a predetermined target service and a storage 300 storing a distributed ID (Decentralized Identity) document.

메모리(120)에는 분산 ID에 기반하여 사용자의 통합 인증을 위한 프로그램이 저장되고, 프로세서(130)는 메모리(120)에 저장된 프로그램을 실행시킨다.The memory 120 stores a program for user's integrated authentication based on the distributed ID, and the processor 130 executes the program stored in the memory 120 .

프로세서(130)는 메모리(120)에 저장된 프로그램을 실행시킴에 따라, 공개키와 암호키로 구성된 키 쌍과, 상기 공개키가 명시된 분산 ID(Decentralized Identity) 문서 및 상기 분산 ID 문서의 URI 정보를 포함하는 분산 ID를 생성하고, 상기 통신모듈을 통해 분산 ID 문서를 저장소(300)에 저장한다. As the processor 130 executes the program stored in the memory 120, a key pair consisting of a public key and an encryption key, a distributed ID document in which the public key is specified, and URI information of the distributed ID document are included. to generate a distributed ID, and store the distributed ID document in the storage 300 through the communication module.

그 후, 프로세서(130)는 상기 대상 서버(200)로 분산 ID 등록을 요청하여 등록시키고, 상기 등록된 분산 ID를 대상 서버(200)로 전송하여 사용자 인증을 요청하며, 상기 사용자 인증 요청에 상응하는 사용자 인증 결과를 상기 대상 서버(200)로부터 수신한다.Thereafter, the processor 130 requests and registers the distributed ID registration to the target server 200 , transmits the registered distributed ID to the target server 200 to request user authentication, and corresponds to the user authentication request to receive a user authentication result from the target server 200 .

이상에서 전술한 본 발명의 일 실시예에 따른 사용자 단말(100) 및 대상 서버(200)에서의 분산 ID에 기반한 사용자의 통합 인증 방법은, 하드웨어인 컴퓨터와 결합되어 실행되기 위해 프로그램(또는 어플리케이션)으로 구현되어 매체에 저장될 수 있다.The user's integrated authentication method based on the distributed ID in the user terminal 100 and the target server 200 according to an embodiment of the present invention described above is a program (or application) to be executed in combination with a computer, which is hardware. may be implemented and stored in a medium.

상기 전술한 프로그램은, 상기 컴퓨터가 프로그램을 읽어 들여 프로그램으로 구현된 상기 방법들을 실행시키기 위하여, 상기 컴퓨터의 프로세서(CPU)가 상기 컴퓨터의 장치 인터페이스를 통해 읽힐 수 있는 C, C++, JAVA, Ruby, 기계어 등의 컴퓨터 언어로 코드화된 코드(Code)를 포함할 수 있다. 이러한 코드는 상기 방법들을 실행하는 필요한 기능들을 정의한 함수 등과 관련된 기능적인 코드(Functional Code)를 포함할 수 있고, 상기 기능들을 상기 컴퓨터의 프로세서가 소정의 절차대로 실행시키는데 필요한 실행 절차 관련 제어 코드를 포함할 수 있다. 또한, 이러한 코드는 상기 기능들을 상기 컴퓨터의 프로세서가 실행시키는데 필요한 추가 정보나 미디어가 상기 컴퓨터의 내부 또는 외부 메모리의 어느 위치(주소 번지)에서 참조되어야 하는지에 대한 메모리 참조관련 코드를 더 포함할 수 있다. 또한, 상기 컴퓨터의 프로세서가 상기 기능들을 실행시키기 위하여 원격(Remote)에 있는 어떠한 다른 컴퓨터나 서버 등과 통신이 필요한 경우, 코드는 상기 컴퓨터의 통신 모듈을 이용하여 원격에 있는 어떠한 다른 컴퓨터나 서버 등과 어떻게 통신해야 하는지, 통신 시 어떠한 정보나 미디어를 송수신해야 하는지 등에 대한 통신 관련 코드를 더 포함할 수 있다.The above-mentioned program, in order for the computer to read the program and execute the methods implemented as a program, C, C++, JAVA, Ruby, which the processor (CPU) of the computer can read through the device interface of the computer; It may include code coded in a computer language such as machine language. Such code may include functional code related to a function defining functions necessary for executing the methods, etc. can do. In addition, the code may further include additional information necessary for the processor of the computer to execute the functions or code related to memory reference for which location (address address) in the internal or external memory of the computer should be referenced. have. In addition, when the processor of the computer needs to communicate with any other computer or server located remotely in order to execute the functions, the code uses the communication module of the computer to determine how to communicate with any other computer or server remotely. It may further include a communication-related code for whether to communicate and what information or media to transmit and receive during communication.

상기 저장되는 매체는, 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상기 저장되는 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있지만, 이에 제한되지 않는다. 즉, 상기 프로그램은 상기 컴퓨터가 접속할 수 있는 다양한 서버 상의 다양한 기록매체 또는 사용자의 상기 컴퓨터상의 다양한 기록매체에 저장될 수 있다. 또한, 상기 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장될 수 있다.The storage medium is not a medium that stores data for a short moment, such as a register, a cache, a memory, etc., but a medium that stores data semi-permanently and can be read by a device. Specifically, examples of the storage medium include, but are not limited to, ROM, RAM, CD-ROM, magnetic tape, floppy disk, and optical data storage device. That is, the program may be stored in various recording media on various servers accessible by the computer or in various recording media on the computer of the user. In addition, the medium may be distributed in a computer system connected by a network, and computer-readable codes may be stored in a distributed manner.

전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.The foregoing description of the present invention is for illustration, and those of ordinary skill in the art to which the present invention pertains can understand that it can be easily modified into other specific forms without changing the technical spirit or essential features of the present invention. will be. Therefore, it should be understood that the embodiments described above are illustrative in all respects and not restrictive. For example, each component described as a single type may be implemented in a distributed manner, and likewise components described as distributed may also be implemented in a combined form.

본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present invention is indicated by the following claims rather than the above detailed description, and all changes or modifications derived from the meaning and scope of the claims and their equivalent concepts should be interpreted as being included in the scope of the present invention. do.

100: 사용자 단말
110: 통신모듈
120: 메모리
130: 프로세서
200: 대상 서버
300: 저장소
100: user terminal
110: communication module
120: memory
130: processor
200: target server
300: storage

Claims (11)

공개키와 암호키로 구성된 키 쌍과, 상기 공개키가 명시된 분산 ID(Decentralized Identity) 문서 및 상기 분산 ID 문서의 URI 정보를 포함하는 분산 ID를 생성하는 단계;
상기 분산 ID 문서를 저장소에 저장하는 단계;
소정의 이용 대상 서비스에 상응하는 서버(이하, 대상 서버)로 상기 분산 ID를 등록하는 단계;
상기 등록된 분산 ID를 대상 서버로 전송하여 사용자 인증을 요청하는 단계; 및
상기 사용자 인증 요청에 상응하는 사용자 인증 결과를 상기 대상 서버로부터 수신하는 단계를 포함하는,
사용자 단말에서의 분산 ID에 기반한 사용자의 통합 인증 방법.
generating a distributed ID including a key pair consisting of a public key and an encryption key, a distributed ID (Decentralized Identity) document in which the public key is specified, and URI information of the distributed ID document;
storing the distributed ID document in a storage;
registering the distributed ID with a server (hereinafter referred to as a target server) corresponding to a predetermined service target service;
requesting user authentication by transmitting the registered distributed ID to a target server; and
Receiving a user authentication result corresponding to the user authentication request from the target server,
A user's integrated authentication method based on the distributed ID in the user terminal.
제1항에 있어서,
상기 저장소는 상기 분산 ID에 포함된 URI 정보에 기초하여 상기 분산 ID 문서를 독출하는 것인,
사용자 단말에서의 분산 ID에 기반한 사용자의 통합 인증 방법.
The method of claim 1,
The storage will read the distributed ID document based on the URI information included in the distributed ID,
A user's integrated authentication method based on the distributed ID in the user terminal.
제1항에 있어서,
상기 대상 서버로 상기 분산 ID를 등록하는 단계는,
상기 대상 서버로 사용자 정보 및 분산 ID를 전송하는 단계;
상기 대상 서버로부터 생성된 챌린지(Challenge) 정보를 수신하는 단계;
상기 분산 ID 문서에 명시된 공개키와 쌍을 이루는 암호키를 이용하여 상기 챌린지 정보를 해독하는 단계; 및
상기 챌린지 정보의 해독 결과 획득되는 응답(Response) 정보를 상기 대상 서버로 전송하는 단계를 포함하는,
사용자 단말에서의 분산 ID에 기반한 사용자의 통합 인증 방법.
According to claim 1,
The step of registering the distributed ID with the target server comprises:
transmitting user information and distributed ID to the target server;
receiving challenge information generated from the target server;
decrypting the challenge information using an encryption key paired with the public key specified in the distributed ID document; and
Comprising the step of transmitting response (Response) information obtained as a result of decoding the challenge information to the target server,
A user's integrated authentication method based on the distributed ID in the user terminal.
제3항에 있어서,
상기 대상 서버는 상기 사용자 정보 및 분산 ID를 수신함에 따라, 상기 분산 ID를 이용하여 상기 저장소로부터 분산 ID에 상응하는 분산 ID 문서를 독출하고, 상기 분산 ID 문서에 기초하여 챌린지 정보를 생성하여 상기 사용자 단말로 전송하는 것인,
사용자 단말에서의 분산 ID에 기반한 사용자의 통합 인증 방법.
4. The method of claim 3,
When the target server receives the user information and the distributed ID, the target server reads a distributed ID document corresponding to the distributed ID from the storage using the distributed ID, and generates challenge information based on the distributed ID document to create the user which is transmitted to the terminal,
A user's integrated authentication method based on the distributed ID in the user terminal.
제3항에 있어서,
상기 대상 서버는 상기 응답 정보를 수신함에 따라, 상기 응답 정보를 검증하여 올바른 사용자인 것으로 판단한 경우, 사용자의 분산 ID와 사용자 정보를 매칭하여 사용자 정보 테이블에 저장하는 것인,
사용자 단말에서의 분산 ID에 기반한 사용자의 통합 인증 방법.
4. The method of claim 3,
When the target server receives the response information, verifies the response information and determines that the user is a correct user, the user information is matched with the distributed ID of the user and stored in the user information table,
A user's integrated authentication method based on the distributed ID in the user terminal.
제1항에 있어서,
상기 등록된 분산 ID를 대상 서버로 전송하여 사용자 인증을 요청하는 단계는,
상기 등록된 분산 ID 및 사용자 인증 요청을 상기 대상 서버로 전송하는 단계;
상기 대상 서버로부터 생성된 챌린지(Challenge) 정보를 수신하는 단계;
상기 분산 ID 문서에 명시된 공개키와 쌍을 이루는 암호키를 이용하여 상기 챌린지를 해독하는 단계; 및
상기 챌린지의 해독 결과 획득되는 응답(Response) 정보를 상기 대상 서버로 전송하는 단계를 포함하는,
사용자 단말에서의 분산 ID에 기반한 사용자의 통합 인증 방법.
According to claim 1,
The step of requesting user authentication by sending the registered distributed ID to the target server,
transmitting the registered distributed ID and user authentication request to the target server;
receiving challenge information generated from the target server;
decrypting the challenge using an encryption key paired with the public key specified in the distributed ID document; and
Comprising the step of transmitting response (Response) information obtained as a result of decryption of the challenge to the target server,
A user's integrated authentication method based on the distributed ID in the user terminal.
제6항에 있어서,
상기 대상 서버는 상기 분산 ID 및 사용자 인증 요청을 수신함에 따라, 사용자 정보 테이블에 사용자의 상기 분산 ID가 존재하는 경우, 상기 분산 ID를 이용하여 상기 저장소로부터 분산 ID에 상응하는 분산 ID 문서를 독출하고, 상기 분산 ID 문서에 기초하여 챌린지 정보를 생성하여 상기 사용자 단말로 전송하는 것인,
사용자 단말에서의 분산 ID에 기반한 사용자의 통합 인증 방법.
7. The method of claim 6,
Upon receiving the distributed ID and user authentication request, the target server reads a distributed ID document corresponding to the distributed ID from the storage using the distributed ID when the distributed ID of the user exists in the user information table, , to generate and transmit challenge information to the user terminal based on the distributed ID document,
A user's integrated authentication method based on the distributed ID in the user terminal.
제6항에 있어서,
상기 대상 서버는 상기 응답 정보를 수신함에 따라, 상기 응답 정보를 검증하여 올바른 사용자인 것으로 판단한 경우 사용자의 인증을 허가하는 것인,
사용자 단말에서의 분산 ID에 기반한 사용자의 통합 인증 방법.
7. The method of claim 6,
When the target server receives the response information, verifies the response information and determines that the user is a correct user, authentication of the user is permitted,
A user's integrated authentication method based on the distributed ID in the user terminal.
소정의 이용 대상 서비스에 상응하는 서버(이하, 대상 서버) 및 분산 ID(Decentralized Identity) 문서를 저장하는 저장소와 데이터를 송수신하는 통신모듈,
분산 ID에 기반하여 사용자의 통합 인증을 위한 프로그램이 저장된 메모리 및
상기 메모리에 저장된 프로그램을 실행시킴에 따라, 공개키와 암호키로 구성된 키 쌍과, 상기 공개키가 명시된 분산 ID(Decentralized Identity) 문서 및 상기 분산 ID 문서의 URI 정보를 포함하는 분산 ID를 생성하고, 상기 통신모듈을 통해 분산 ID 문서를 저장소에 저장한 후, 상기 대상 서버로 분산 ID 등록을 요청하여 등록시키고, 상기 등록된 분산 ID를 대상 서버로 전송하여 사용자 인증을 요청하며, 상기 사용자 인증 요청에 상응하는 사용자 인증 결과를 상기 대상 서버로부터 수신하는 프로세서를 포함하는,
분산 ID에 기반한 사용자의 통합 인증이 가능한 사용자 단말.
A communication module for transmitting and receiving data to and from a server (hereinafter referred to as a target server) corresponding to a predetermined target service and a storage for storing a distributed ID (Decentralized Identity) document;
Based on distributed ID, a memory and a program for single authentication of users are stored
As the program stored in the memory is executed, a key pair composed of a public key and an encryption key, a distributed ID including a distributed ID document in which the public key is specified, and URI information of the distributed ID document is generated, After storing the distributed ID document in the storage through the communication module, requesting and registering the distributed ID to the target server, sending the registered distributed ID to the target server to request user authentication, A processor for receiving a corresponding user authentication result from the target server,
A user terminal capable of integrated authentication of users based on distributed ID.
사용자 단말로부터 사용자 정보 및 분산 ID(Decentralized Identity)를 포함하는 분산 ID 등록 요청을 수신하는 단계;
상기 분산 ID 등록 요청에 상응하여 상기 분산 ID를 이용하여 저장소로부터 분산 ID에 상응하는 분산 ID 문서를 독출하는 단계;
상기 분산 ID 문서에 기초하여 챌린지(Challenge) 정보를 생성하는 단계;
상기 사용자 단말로부터 상기 챌린지 정보에 상응하는 응답(Response) 정보를 수신하는 단계;
상기 응답 정보를 검증하여 올바른 사용자인지 여부를 판단하는 단계; 및
상기 판단 결과에 기초하여 사용자의 분산 ID와 사용자 정보를 매칭하여 사용자 정보 테이블에 저장하는 단계를 포함하는,
대상 서버에서의 분산 ID에 기반하여 사용자의 통합 인증을 수행하는 방법.
Receiving a distributed ID registration request including user information and a distributed ID (Decentralized Identity) from the user terminal;
reading a distributed ID document corresponding to the distributed ID from a storage using the distributed ID in response to the distributed ID registration request;
generating challenge information based on the distributed ID document;
receiving response information corresponding to the challenge information from the user terminal;
determining whether the user is a valid user by verifying the response information; and
Comprising the step of matching the user information with the distributed ID of the user based on the determination result and storing it in a user information table,
How to perform single sign-on of a user based on the distributed identity on the target server.
제10항에 있어서,
상기 사용자 단말로부터 분산 ID를 포함하는 사용자 인증 요청을 수신하는 단계;
상기 사용자 정보 테이블에 사용자의 상기 분산 ID가 존재하는지 여부를 확인하는 단계;
확인 결과 존재하는 경우, 상기 분산 ID를 이용하여 상기 저장소로부터 분산 ID에 상응하는 분산 ID 문서를 독출하는 단계;
상기 분산 ID 문서에 기초하여 챌린지(Challenge) 정보를 생성하는 단계;
상기 사용자 단말로부터 상기 챌린지 정보에 상응하는 응답(Response) 정보를 수신하는 단계;
상기 응답 정보를 검증하여 올바른 사용자인지 여부를 판단하는 단계; 및
상기 판단 결과에 기초하여 사용자의 인증을 허가하는 단계를 더 포함하는,
대상 서버에서의 분산 ID에 기반하여 사용자의 통합 인증을 수행하는 방법.
11. The method of claim 10,
receiving a user authentication request including a distributed ID from the user terminal;
checking whether the distributed ID of the user exists in the user information table;
reading a distributed ID document corresponding to the distributed ID from the storage using the distributed ID if it exists as a result of checking;
generating challenge information based on the distributed ID document;
receiving response information corresponding to the challenge information from the user terminal;
determining whether the user is a valid user by verifying the response information; and
Further comprising the step of permitting the user's authentication based on the determination result,
How to perform single sign-on of a user based on the distributed identity on the target server.
KR1020210026576A 2021-02-26 2021-02-26 Integrated user authentication method based on decentralized identity in user device and server KR20220122224A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210026576A KR20220122224A (en) 2021-02-26 2021-02-26 Integrated user authentication method based on decentralized identity in user device and server

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210026576A KR20220122224A (en) 2021-02-26 2021-02-26 Integrated user authentication method based on decentralized identity in user device and server

Publications (1)

Publication Number Publication Date
KR20220122224A true KR20220122224A (en) 2022-09-02

Family

ID=83281010

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210026576A KR20220122224A (en) 2021-02-26 2021-02-26 Integrated user authentication method based on decentralized identity in user device and server

Country Status (1)

Country Link
KR (1) KR20220122224A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024090628A1 (en) * 2022-10-27 2024-05-02 주식회사 드림시큐리티 Cryptographic communication method and apparatus of decentralized-id-based service

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102139645B1 (en) 2020-04-13 2020-07-30 주식회사 한국정보보호경영연구소 System for Certificating identity based on Blockchain and Driving method thereof

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102139645B1 (en) 2020-04-13 2020-07-30 주식회사 한국정보보호경영연구소 System for Certificating identity based on Blockchain and Driving method thereof

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024090628A1 (en) * 2022-10-27 2024-05-02 주식회사 드림시큐리티 Cryptographic communication method and apparatus of decentralized-id-based service

Similar Documents

Publication Publication Date Title
US20200236147A1 (en) Brokered authentication with risk sharing
US7409543B1 (en) Method and apparatus for using a third party authentication server
US10567377B2 (en) Multifactor privacy-enhanced remote identification using a rich credential
CN106330850B (en) Security verification method based on biological characteristics, client and server
EP2954451B1 (en) Barcode authentication for resource requests
US8997196B2 (en) Flexible end-point compliance and strong authentication for distributed hybrid enterprises
US20120254935A1 (en) Authentication collaboration system and authentication collaboration method
US10880276B1 (en) System and method for allowing access to an application or features thereof on each of one or more user devices
CN107733933B (en) Method and system for double-factor identity authentication based on biological recognition technology
US20170288873A1 (en) Network Authentication Of Multiple Profile Accesses From A Single Remote Device
KR101367621B1 (en) System and method for authentication based on one-time password
US11368314B2 (en) Secure digital signing
CA2884005A1 (en) Method and system for verifying an access request
US11949785B1 (en) Biometric authenticated biometric enrollment
KR20210095093A (en) Method for providing authentification service by using decentralized identity and server using the same
KR102012262B1 (en) Key management method and fido authenticator software authenticator
US9954853B2 (en) Network security
US11716312B1 (en) Platform for optimizing secure communications
US20150328119A1 (en) Method of treating hair
KR102372503B1 (en) Method for providing authentification service by using decentralized identity and server using the same
Alrodhan et al. Enhancing user authentication in claim-based identity management
US11882120B2 (en) Identity intermediary service authorization
KR20220122224A (en) Integrated user authentication method based on decentralized identity in user device and server
WO2021107755A1 (en) A system and method for digital identity data change between proof of possession to proof of identity
US20220263818A1 (en) Using a service worker to present a third-party cryptographic credential