KR20200091138A - Authentication method and system using private domain name - Google Patents
Authentication method and system using private domain name Download PDFInfo
- Publication number
- KR20200091138A KR20200091138A KR1020190007991A KR20190007991A KR20200091138A KR 20200091138 A KR20200091138 A KR 20200091138A KR 1020190007991 A KR1020190007991 A KR 1020190007991A KR 20190007991 A KR20190007991 A KR 20190007991A KR 20200091138 A KR20200091138 A KR 20200091138A
- Authority
- KR
- South Korea
- Prior art keywords
- communication terminal
- domain name
- token
- authentication
- personal domain
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/321—Cryptographic 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 a third party or a trusted authority
- H04L9/3213—Cryptographic 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 a third party or a trusted authority using tickets or tokens, e.g. Kerberos
-
- H04L61/1511—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0876—Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3226—Cryptographic 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/3228—One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-key
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- H04L2209/38—
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Power Engineering (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Telephonic Communication Services (AREA)
Abstract
Description
본 발명은 인증 기술에 관한 것으로서, 더욱 상세하게는 개인 도메인 네임을 이용하여 간편하게 웹 사이트의 인증을 수행하는 인증 방법 및 시스템에 관한 것이다. The present invention relates to an authentication technology, and more particularly, to an authentication method and system for easily authenticating a website using a personal domain name.
오늘날 통신망과 이동통신기기의 기술이 발전함에 따라, 사용자들은 다양한 웹 사이트에 접속하여 로그인 인증을 수행한 후에, 웹 서비스를 제공받는다. 일반적으로, 사용자들은 웹 사이트별로 동일 또는 상이한 아이디와 패스워드를 설정하고, 해당 아이디와 패스워드를 웹 사이트에 입력한 후에, 로그인 인증을 수행한다. 2. Description of the Related Art As technology of communication networks and mobile communication devices develops today, users access web sites and perform login authentication, and then receive web services. In general, users set the same or different ID and password for each web site, input the corresponding ID and password to the web site, and then perform login authentication.
또한, 기존의 패스워드와 아이디 기반의 인증 방식에서 벗어나, 이미지 인증 기술, 공인인증서 인증 기술, 일회용 패스워드를 통한 인증 기술 등 다양한 인증 기술이 개시되었다. 아래의 특허문헌은 이미지 코드를 토대로 자동 로그인을 수행하는 방법 및 시스템에 대해서 개시한다.In addition, various authentication technologies such as image authentication technology, public certificate authentication technology, and authentication technology through one-time password have been disclosed, away from the existing password and ID-based authentication methods. The following patent document discloses a method and system for performing automatic login based on an image code.
그런데 이러한 인증 기술도, 사용자로부터 일일이 패스워드와 암호를 입력받아야만 인증이 가능한 기술로서, 로그인 인증에서 사용자의 번거로움을 유발하는 문제점이 있다. However, such an authentication technology is also a technology that can be authenticated only when a password and a password are inputted from a user, which causes a hassle of a user in login authentication.
한편, 하나의 웹 페이지 내에 서로 다른 웹 사이트 도메인과 관련된 데이터가 기록되기도 한다. 이렇게 단일의 웹 페이지 내에 복수의 웹 사이트 도메인의 데이터가 나타나는 경우, 크로스 도메인 문제가 발생할 수 있다. 상기 크로스 도메인 문제란, 웹 사이트의 도메인이 다른 경우, 서로 간에 정보 접근이 차단되는 것이다. 구체적으로, 크로스 도메인 환경에서 부모창(포털 사이트)과 팝업창 간에 도메인이 서로 다른 경우에 정보 교환을 제한하는 것이다. 상기 크로스 도메인 환경이란 인터넷 브라우저 상에서 부모창과 팝업창 혹은 프레임(frame) 등의 도메인 주소가 다른 경우를 말한다. 만약 도메인 주소가 다른 웹 페이지 간의 자바스크립트(Javascript)동작을 허용할 경우, 각종 웹 페이지에 대하여 자바스크립트를 이용한 불법적인 공격이 용이하게 된다. 따라서 웹 브라우저에서는 크로스 도메인 환경에서의 자바스크립트 제어를 차단하여, 보안을 향상시킨다. Meanwhile, data related to different website domains may be recorded in one web page. When data of multiple web site domains appear in a single web page, cross domain problems may occur. The cross-domain problem is that when the domains of web sites are different, access to information is blocked from each other. Specifically, in a cross-domain environment, information exchange is restricted when domains are different between a parent window (portal site) and a pop-up window. The cross-domain environment refers to a case where a domain address such as a parent window and a pop-up window or a frame is different on an Internet browser. If JavaScript operations between web pages with different domain addresses are allowed, illegal attacks using JavaScript are facilitated for various web pages. Therefore, the web browser blocks JavaScript control in the cross domain environment, thereby improving security.
그런데 크로스 도메인 간에 정보 접근이 차단된 상태에서 인증이 수행되는 경우, 사용자는 여러 번 인증정보를 입력해야 되고, 또한 각 도메인마다 별도로 관리해야 되는 번거로움이 발생한다. However, when authentication is performed in a state in which access to information is blocked between cross domains, a user has to input authentication information several times, and also has a hassle of separately managing each domain.
본 발명은 이러한 문제점을 해결하기 위하여 제안된 것으로, 개인 도메인 네임을 이용하여 사용자의 편의성 및 보안성을 향상시킨 개인 도메인 네임을 이용한 인증 방법 및 시스템을 제공하는데 그 목적이 있다. The present invention has been proposed to solve this problem, and has an object to provide an authentication method and system using a personal domain name that improves user convenience and security by using a personal domain name.
또한, 본 발명은 개인 도메인 네임을 통하여 크로스 도메인 환경에서도, 인증정보가 서로 공유되게 하여 원활한 인증을 수행하는 인증 방법 및 시스템을 제공하는데 다른 목적이 있다. In addition, another object of the present invention is to provide an authentication method and system for smooth authentication by allowing authentication information to be shared with each other even in a cross domain environment through a personal domain name.
본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있으며, 본 발명의 실시예에 의해 보다 분명하게 알게 될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.Other objects and advantages of the present invention can be understood by the following description, and will be more clearly understood by examples of the present invention. In addition, it will be readily appreciated that the objects and advantages of the present invention can be realized by means of the appended claims and combinations thereof.
상기 목적을 달성하기 위한 본 발명의 제1측면에 따른, 개인 도메인 네임을 이용한 인증 방법은, 웹 서버가, 개인 도메인 네임과 사용자 공개키를 제2통신 단말로부터 수신하는 단계; 상기 웹 서버가, 상기 개인 도메인 네임 및 상기 사용자 공개키와 관련되어 저장된 연동 토큰을 블록체인에서 획득하는 단계; 상기 웹 서버가, 상기 연동 토큰을 기초로 상기 제2통신 단말과 연동되는 제1통신 단말을 확인하고, 상기 제1통신 단말로 인증 진행 알림 메시지를 전송하여 일회성 인증 토큰을 생성을 유도하는 단계; 상기 웹 서버가, 상기 제1통신 단말에서 생성하여 상기 블록체인에 저장된 일회성 인증 토큰을 획득하는 단계; 상기 웹 서버가, 상기 제1통신 단말에서 생성하여 상기 제2통신 단말로 전송된 일회성 인증 토큰을 상기 제2통신 단말로부터 수신하는 단계; 및 상기 웹 서버가, 상기 블록체인에서 획득한 일회성 인증 토큰과 상기 제2통신 단말로부터 수신한 일회성 인증 토큰의 일치 여부를 확인하여, 제2통신 단말의 인증을 수행하는 단계를 포함한다.An authentication method using a personal domain name according to a first aspect of the present invention for achieving the above object comprises: a web server receiving a personal domain name and a user public key from a second communication terminal; Obtaining, by the web server, a linked token stored in association with the personal domain name and the user public key on a blockchain; Confirming, by the web server, a first communication terminal interworking with the second communication terminal based on the interlocking token, and sending an authentication progress notification message to the first communication terminal to induce generation of a one-time authentication token; Obtaining, by the web server, a one-time authentication token generated in the first communication terminal and stored in the blockchain; The web server receiving the one-time authentication token generated by the first communication terminal and transmitted to the second communication terminal from the second communication terminal; And confirming whether the web server matches the one-time authentication token obtained from the blockchain with the one-time authentication token received from the second communication terminal, and performing authentication of the second communication terminal.
상기 방법은, 상기 유도하는 단계 이후에, 상기 제1통신 단말이, 상기 일회성 인증 토큰을 생성하고, 상기 일회성 인증 토큰을 상기 개인 도메인 네임 및 상기 사용자 공개키와 연관시켜 상기 블록체인에 저장하고 상기 제2통신 단말로 전송하는 단계를 포함할 수 있다. 이 경우, 상기 일회성 인증 토큰을 획득하는 단계는, 상기 개인 도메인 네임 및 상기 사용자 공개키와 연관된 상기 일회성 인증 토큰을 상기 블록체인에서 획득한다.In the method, after the step of deriving, the first communication terminal generates the one-time authentication token, associates the one-time authentication token with the personal domain name and the user public key, and stores the blockchain in the blockchain. It may include the step of transmitting to the second communication terminal. In this case, the step of acquiring the one-time authentication token acquires the one-time authentication token associated with the personal domain name and the user public key from the blockchain.
상기 제2통신 단말로부터 수신하는 단계는, 상기 웹 서버가, iframe 태그에 개인 도메인 서비스 서버의 도메인이 기록되는 웹 페이지를 상기 제2통신 단말로 전송하고, 상기 iframe 태그와 관련된 메뉴가 상기 제2통신 단말에서 선택되는 경우, 상기 제2통신 단말로부터 개인 도메인 네임과 사용자 공개키를 수신할 수 있다. In the step of receiving from the second communication terminal, the web server transmits a web page in which the domain of the personal domain service server is recorded in the iframe tag to the second communication terminal, and the menu associated with the iframe tag is the second. When selected in a communication terminal, a personal domain name and a user public key may be received from the second communication terminal.
상기 일회성 인증 토큰을 획득하는 단계는, 상기 웹 서버가, 상기 개인 도메인 네임과 상기 사용자 공개키를 포함하는 도메인 질의 메시지를 개인 도메인 서비스 서버로 전송하는 단계; 및 상기 웹 서버가, 상기 개인 도메인 네임 및 상기 사용자 공개키와 연관되는 연동 토큰을, 상기 도메인 질의에 대한 응답으로서 상기 개인 도메인 서비스 서버로부터 수신하는 단계를 포함할 수 있다.The obtaining of the one-time authentication token may include: sending, by the web server, a domain query message including the personal domain name and the user public key to a personal domain service server; And the web server receiving, from the personal domain service server, an interworking token associated with the personal domain name and the user public key, in response to the domain query.
상기 목적을 달성하기 위한 본 발명의 제2측면에 따른, 개인 도메인 네임을 이용한 사용자 인증을 수행하는 인증 시스템은, 개인 도메인 네임과 사용자 공개키를 제2통신 단말로부터 수신하고, 상기 개인 도메인 네임 및 상기 사용자 공개키와 관련되어 저장된 연동 토큰을 블록체인에서 획득하고, 상기 연동 토큰을 기초로 상기 제2통신 단말과 연동되는 제1통신 단말을 확인하고, 상기 제1통신 단말로 인증 진행 알림 메시지를 전송하는 웹 서버; 및 상기 제1통신 단말에 탑재되며, 상기 인증 진행 알림 메시지를 수신하면 일회성 인증 토큰을 생성하고 상기 생성한 일회성 인증 토큰을 블록체인에 저장하고, 상기 생성한 일회성 인증 토큰을 상기 제2통신 단말로 제공하는 인증 애플리케이션을 포함한다.An authentication system for performing user authentication using a personal domain name according to the second aspect of the present invention for achieving the above object, receives a personal domain name and a user public key from a second communication terminal, and the personal domain name and Acquire the interworking token stored in association with the user public key from the blockchain, identify the first communication terminal interworking with the second communication terminal based on the interworking token, and send an authentication progress notification message to the first communication terminal. A sending web server; And mounted on the first communication terminal, upon receiving the authentication progress notification message, generates a one-time authentication token, stores the generated one-time authentication token on the blockchain, and sends the generated one-time authentication token to the second communication terminal. Includes authentication application provided.
상기 웹 서버는, 상기 인증 애플리케이션에서 생성되어 제공된 일회성 인증 토큰을 상기 제2통신 단말로부터 수신하고, 상기 블록체인에 저장중인 일회성 인증 토큰을 획득한 후, 상기 획득한 일회성 인증 토큰과 상기 제2통신 단말로부터 수신한 일회성 인증 토큰의 일치 여부를 확인하여, 상기 제2통신 단말에 대한 인증을 수행한다.The web server receives the one-time authentication token generated and provided by the authentication application from the second communication terminal, acquires the one-time authentication token stored in the blockchain, and then obtains the one-time authentication token and the second communication It is checked whether the one-time authentication token received from the terminal matches, and the second communication terminal is authenticated.
본 발명은 로그인 아이디와 패스워드를 입력하는 것이 없이, iframe과 관련된 특정 링크 또는 메뉴를 클릭하는 것에 의해 간편하게 인증이 진행되게 하는 이점이 있다. The present invention has an advantage that authentication is easily performed by clicking a specific link or menu related to an iframe without entering a login ID and password.
또한, 본 발명은 인증이 진행될 때마다 새로운 사용자 승인에 의해서 1회성 인증정보(즉, 인증 토큰)를 생성하고, 이 인증정보를 토대로 사용자 인증이 수행되게 함으로써, 인증에 대한 보안성을 향상시키는 장점이 있다. In addition, according to the present invention, one-time authentication information (that is, authentication token) is generated by new user approval whenever authentication is performed, and user authentication is performed based on the authentication information, thereby improving security for authentication. There is this.
게다가, 본 발명은 기존의 공용 도메인 네임과의 중복되는 것과 관계없이 사용자만을 위한 개인 도메인 네임을 제공할 수 있어, 개인 도메인 네임을 사용하는데 있어서의 편의성을 극대화할 수 있는 이점이 있다.In addition, the present invention has the advantage of being able to provide a personal domain name only for the user regardless of overlap with the existing public domain name, thereby maximizing convenience in using the personal domain name.
게다가, 본 발명은 개인 도메인 네임과 공개키를 통한 데이터 획득을 통해서, 크로스 도메인 환경에서도 서로 다른 도메인 간에 원활하게 데이터가 공유되게 함으로써, 크로스 도메인 문제를 해결하는 장점이 있다. In addition, the present invention has an advantage of solving a cross-domain problem by smoothly sharing data between different domains in a cross-domain environment through data acquisition through a private domain name and a public key.
본 명세서에 첨부되는 다음의 도면들은 본 발명의 바람직한 실시예를 예시하는 것이며, 발명을 실시하기 위한 구체적인 내용과 함께 본 발명의 기술사상을 더욱 이해시키는 역할을 하는 것이므로, 본 발명은 그러한 도면에 기재된 사항에만 한정되어 해석되어서는 아니 된다.
도 1은 본 발명의 일 실시예에 따른, 개인 도메인 네임을 이용한 인증 시스템의 구성을 나타내는 도면이다.
도 2는 본 발명의 일 실시예에 따른, 개인 도메인 네임을 등록하는 방법을 설명하는 흐름도이다.
도 3은 본 발명의 일 실시예에 따른, 제1통신 단말과 제2통신 단말의 서로 연동시키는 방법을 설명하는 흐름도이다.
도 4는 본 발명의 일 실시예에 따른, 제2통신 단말이 개인 도메인 네임을 이용하여 인증을 진행하는 방법을 설명하는 흐름도이다.
도 5는 본 발명의 일 실시예에 따른, 인증 시스템에서 사용자 인증을 수행하는 방법을 설명하는 흐름도이다.The following drawings attached to this specification are intended to illustrate preferred embodiments of the present invention, and serve to further understand the technical idea of the present invention together with specific details for carrying out the invention, and thus the present invention is described in such drawings. It should not be interpreted as being limited to the matter.
1 is a view showing the configuration of an authentication system using a personal domain name according to an embodiment of the present invention.
2 is a flowchart illustrating a method of registering a personal domain name according to an embodiment of the present invention.
3 is a flowchart illustrating a method of interworking between a first communication terminal and a second communication terminal according to an embodiment of the present invention.
4 is a flowchart illustrating a method for a second communication terminal to perform authentication using a personal domain name according to an embodiment of the present invention.
5 is a flowchart illustrating a method for performing user authentication in an authentication system according to an embodiment of the present invention.
상술한 목적, 특징 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일 실시예를 상세히 설명하기로 한다.The above objects, features, and advantages will become more apparent through the following detailed description in connection with the accompanying drawings, and accordingly, those skilled in the art to which the present invention pertains can easily implement the technical spirit of the present invention. There will be. In addition, in the description of the present invention, when it is determined that the detailed description of the known technology related to the present invention may unnecessarily obscure the subject matter of the present invention, the detailed description will be omitted. Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 일 실시예에 따른, 개인 도메인 네임을 이용한 인증 시스템의 구성을 나타내는 도면이다.1 is a view showing the configuration of an authentication system using a personal domain name according to an embodiment of the present invention.
도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 인증 시스템은 통신 단말(110, 120), 개인 도메인 서비스 서버(200), 블록체인 네트워크(300) 및 웹 서버(400)를 포함한다. As shown in Figure 1, the authentication system according to an embodiment of the present invention includes a communication terminal (110, 120), a personal
통신 단말(110, 120), 개인 도메인 서비스 서버(200), 웹 서버(400) 각각은 통신망(500)을 통해서 서로 통신한다. 상기 통신망(500)은 이동통신망과 유선 통신망을 포함한다.Each of the
블록체인 네트워크(300)는 복수의 노드들이 연결되어 있으며, 트랜잭션에 대한 검증을 수행한다. 또한, 블록체인 네트워크(300)에 속하는 각 노드들은 트랜잭션이 발생하면, 이 트랜잭션에 대한 검증을 수행한다. 상기 블록체인 네트워크(300)에 포함된 각 노드들은 트랜잭션이 기록되며 블록 간에 연결 구조를 가지는 블록체인을 서로 공유한다. 상기 트랜잭션은 인증 토큰 또는 연동 토큰이 새롭게 저장되거나, 개인 도메인 네임이 등록/변경/삭제될 때에 발생한다. 상기 블록에는 사용자 공개키, 개인 도메인 네임 및 연동 토큰이 포함된다. 또한, 상기 블록에는 일회성 인증 토큰이 포함될 수도 있다. The
여기서, 인증 토큰은 사용자를 인증하는데 이용되는 인증정보로서, 사전에 설정된 자릿수의 숫자열 또는 문자열이거나 또는 숫자와 문자의 조합일 수 있다. 상기 인증 토큰은 한 번만 사용 가능한 일회성 인증정보이다. 또한, 연동 토큰은 제2통신 단말(120)과 연동되는 제1통신 단말(110)을 식별하기 위한 데이터로서, 푸시 토큰이 이용될 수 있다. 또한, 개인 도메인 네임은 블록체인에 데이터를 저장하고 획득하는데 이용되는 일종의 사용자 전용의 검색키로서, 개인 도메인 서비스 서버(200)로 개인 도메인 네임을 질의하면, 해당 개인 도메인 네임과 사용자 공개키와 대응되는 데이터가 추출되어, 이 데이터가 도메인 질의에 대한 응답으로서 추출된 데이터가 통신 장치로 제공된다. Here, the authentication token is authentication information used for authenticating a user, and may be a numeric string or a string having a predetermined number of digits, or a combination of numbers and letters. The authentication token is one-time authentication information that can be used only once. In addition, the interworking token is data for identifying the
상기 블록체인 네트워크(300)에서 정보를 요청하는 트랜잭션이 발생되면, 블록체인 네트워크(300)에 포함된 각 노드들은 상기 트랜잭션을 검증하고, 검증에 성공하는 경우 개인 도메인 네임과 사용자 공개키와 대응되는 데이터(예컨대, 연동 토큰, 인증 토큰)를 블록체인에서 추출하여 웹 서버(400) 또는 개인 도메인 서비스 서버(200)로 제공할 수 있다. When a transaction requesting information from the
제1통신 단말(110)은 사용자가 소유한 단말로서, 스마트폰, 태블릿 컴퓨터, 등과 같은 이동통신 장치이다. 상기 제1통신 단말(110)에는 간편 인증 서비스를 위한 인증 애플리케이션(111)이 설치된다. 상기 인증 애플리케이션(111)은 사용자 전용의 개인키와 공개키를 생성할 수 있다. 사용자는 상기 인증 애플리케이션(111)을 이용하여 개인 도메인 네임을 등록할 수 있다. 이때, 인증 애플리케이션(111)은 개인 도메인 서비스 서버(200)를 통해서 전자 서명, 개인 도메인 네임 및 연동 토큰이 포함된 트랜잭션을 발생시키고, 이 트랜잭션을 포함하는 블록을 블록체인 네트워크(300)에 등록할 수 있다. The
제1통신 단말(110)의 인증 애플리케이션(111)은 연동 토큰을 저장할 수 있으며, 지문 등과 같은 사용자의 생체 정보를 저장할 수 있다. 상기 제1통신 단말(110)은 외부의 푸시 서비스 서버(도면에 도시되지 않음)로부터 연동 토큰을 획득하여 저장할 수 있다. 제1통신 단말(110)은 인증 애플리케이션(111)은 개인 도메인 네임 및 사용자의 공개키를 제2통신 단말(120)로 전송함으로써, 개인 도메인 네임과 공개키를 제2통신 단말(120)과 공유한다. 또한, 인증 애플리케이션(111)은 일회성 인증 토큰을 생성하고, 이 인증 토큰을 블록체인에 저장되고 더불어 상기 인증 토큰을 제2통신 단말(120)로 전송한다. The
제2통신 단말(120)은 이동통신단말, 서버, 개인용 컴퓨터, IPTV 등과 같은 통신 장치로서, 제1통신 단말(110)과 연동하여, 웹 서버(400)로 간편 인증을 수행할 수 있다. 상기 제2통신 단말(120)은 개인 도메인 서비스 서버(200)와 세션을 설정하고, 이 세션의 식별정보(즉, 세션 ID)가 기록된 바코드를 출력하고, 이 바코드가 제1통신 단말(110)에서 판독되는 것에 의해서 제1통신 단말(110)과 연동할 수 있다. 상기 제2통신 단말(120)은 저장중인 개인 도메인 네임과 사용자의 공개키를 웹 서버(400)에 제공한 상태에서, 제1통신 단말(110)로부터 인증 토큰을 수신한 후, 이 인증 토큰을 웹 서버(400)로 제공함으로써, 간편 인증을 시도할 수 있다. The
상기 제2통신 단말(120)은 개인 도메인 서비스 서버(200)의 도메인 네임이 기록된 iframe 관련 메뉴(또는 링크)가 웹 페이지에서 클릭된 경우, 간편 인증을 진행할 수 있다. 상기 제2통신 단말(120)에는 간편 인증을 위한 전용 프로그램이 설치되며, 상기 간편 인증 전용 프로그램을 통해서 바코드를 생성하여 화면에 출력하고, 제1통신 단말(110)과 연동할 수 있다. When the iframe-related menu (or link) in which the domain name of the personal
상기 개인 도메인 서비스 서버(200)의 도메인 네임과 웹 서버(400)의 도메인 네임은, 일반적으로 인터넷에서 사용되는 서버의 도메인 네임으로서, 개인만을 위하여 사용되는 개인 도메인 네임과는 구별된다. The domain name of the personal
개인 도메인 서비스 서버(200)는 개인 도메인 네임을 관리하고, 개인 도메인 네임 질의에 대한 응답을 수행하는 기능을 수행한다. 개인 도메인 서비스 서버(200)는 개인 도메인 네임을 블록체인 네트워크(300)에 등록하거나, 변경하거나 삭제하는 기능을 수행한다. 개인 도메인 서비스 서버(200)는 제1통신 단말(110)의 인증 애플리케이션(111)으로부터 개인 도메인 네임에 대한 등록을 요청받으면, 전자 서명, 개인 도메인 네임, 사용자 공개키 및 연동 토큰이 포함된 트랜잭션을 블록체인 네트워크(300)에 발생시킴으로써, 상기 개인 도메인 네임, 사용자 공개키 및 연동 토큰을 연관시켜 블록체인 네트워크(300)에 저장할 수 있다. The personal
또한, 개인 도메인 서비스 서버(200)는 개인 도메인과 공개키가 포함된 도메인 네임 질의를 수신하면, 상기 개인 도메인 네임과 사용자 공개키와 대응하는 연동 토큰을 블록체인 네트워크(300)에서 획득하고, 상기 획득한 연동 토큰을 웹 서버(400)로 제공한다. 상기 개인 도메인 서비스 서버(200)는 상기 도메인 네임 질의에 포함된 전자 서명의 진위를 검증한 후, 검증에 성공하면 상기 연동 토큰을 블록체인 네트워크(300)에서 추출할 수 있다. In addition, when the personal
또한, 개인 도메인 서비스 서버(200)는 제1통신 단말(110)과 제2통신 단말(120)의 연동시키는 기능을 수행한다. In addition, the personal
상기 개인 도메인 서비스 서버(200)는 단일의 서버인 것으로 설명하였으나, 상기 개인 도메인 서비스 서버(200)는 그 기능에 따라 복수 개로 분리되어 구현될 수 있다. Although the personal
웹 서버(400)는 이메일 서비스, 금융 서비스, 온라인 쇼핑 서비스, 공연 예매 서비스 등과 같은 웹 서비스를 지원하는 서버로서, 사용자의 공개키, 사용자 아이디, 사용자 생년월일, 사용자 이메일 주소 등을 포함하는 회원 정보를 저장한다. 상기 웹 서버(400)는 복수의 웹 사이트의 도메인 네임(즉, 서버의 도메인 네임)이 기재되는 웹 페이지를 통신 단말(110, 120)로 제공한다. 이때, 웹 서버(400)는 개인 도메인 서비스 서버의 도메인 네임이 기록되는 iframe 태그를 웹 페이지의 소스코드에 기록하고, 더불어 상기 iframe 태그를 인증 관련 메뉴 또는 링크로 설정하여 상기 웹 페이지를 구성할 수 있다.The
상기 웹 서버(400)는 상기 iframe 태그와 관련된 메뉴가 제2통신 단말(120)에서 클릭되면, 상기 제2통신 단말(120)로부터 사용자 공개키와 개인 도메인 네임을 수신할 수 있다. 또한, 웹 서버(400)는 상기 도메인 네임과 사용자 공개키를 포함하는 도메인 질의 메시지를 개인 도메인 서비스 서버(200)로 전송하고, 이에 따른 응답으로 연동 토큰을 획득할 수 있다. 상기 웹 서버(400)는 연동 토큰을 근거로, 제1통신 단말(110)의 인증 애플리케이션(111)으로 제2통신 단말(120)에서 인증이 진행되고 있음을 알리는 메시지를 전송한다. 웹 서버(400)는 제2통신 단말(120)로부터 수신한 일회성 인증 토큰과 블록체인에 저장된 일회성 인증 토큰의 일치 여부를 확인하여, 제2통신 단말(120)을 인증할 수 있다. 웹 서버(400)는 인증에 성공하면, 사용자의 공개키를 토대로 사용자를 식별하여, 이 사용자 전용의 웹 서비스를 제공할 수 있다. When the menu related to the iframe tag is clicked on the
도 2는 본 발명의 일 실시예에 따른, 개인 도메인 네임을 등록하는 방법을 설명하는 흐름도이다.2 is a flowchart illustrating a method for registering a personal domain name according to an embodiment of the present invention.
도 2를 참조하면, 제1통신 단말(110)의 인증 애플리케이션(111)은 사용자 전용의 개인키와 공개키를 생성한다.Referring to FIG. 2, the
이어서, 제1통신 단말(110)의 인증 애플리케이션(111)은 사용자로부터 도메인을 입력받아, 상기 입력받은 도메인에 사전에 설정된 개인 도메인 코드(예컨대, kt.tin)를 덧붙여 개인 도메인 네임을 생성한다(S201). 또 다른 실시예로서, 제1통신 단말(110)의 인증 애플리케이션(111)은 상기 도메인과 상기 개인 도메인 코드를 모두 포함하는 개인 도메인 네임을 입력받을 수도 있다. Subsequently, the
다음으로, 인증 애플리케이션(111)은 제1통신 단말(110)에 저장된 연동 토큰(예컨대, 푸시 토큰)을 확인한다(S203). 제1통신 단말(110)은 외부의 푸시 서비스 서버(도면에 도시되지 않음)로부터 상기 연동 토큰을 사전에 획득하여 저장할 수 있다. Next, the
다음으로, 인증 애플리케이션(111)은, 사용자의 개인키로 전자 서명을 수행한다(S205). 이때, 인증 애플리케이션(111)은 개인 도메인 네임, 사용자의 공개키, 연동 토큰 중에서 하나 이상을 조합시키고, 이렇게 조합된 정보를 상기 사용자의 개인키로 전자 서명할 수도 있다. Next, the
이어서 인증 애플리케이션(111)은 개인 도메인 네임, 사용자의 공개키, 연동 토큰 및 전자 서명이 포함된 도메인 등록 요청 메시지를 개인 도메인 서비스 서버(200)로 전송한다(S207).Subsequently, the
그러면, 개인 도메인 서비스 서버(200)는 상기 개인 도메인 네임, 사용자의 공개키, 연동 토큰 및 전자 서명이 포함된 도메인 등록 트랜잭션을 블록체인 네트워크(300)로 발생시킨다(S209). Then, the personal
이어서, 블록체인 네트워크(300)에 포함된 각 노드들은 상기 전자 서명의 진위를 검증한다. 이때, 블록체인 네트워크(300)에 포함된 각 노드들은 인증 애플리케이션(111)과 동일한 방법으로, 개인 도메인 네임, 사용자의 공개키, 연동 토큰 중에서 하나 이상을 조합시키고, 이 조합된 정보와 사용자 공개키를 사전에 설정된 서명 검증 알고리즘에 입력하여 결과값을 획득하고, 이 결과값이 상기 사용자의 공개키와 일치하는지 여부를 확인함으로써, 상기 전자 서명을 검증할 수 있다. Subsequently, each node included in the
이어서, 블록체인 네트워크(300)에 포함된 각 노드들은 상기 전자 서명 검증에 성공하면, 상기 개인 도메인 네임과 사용자의 공개키 모두를 포함하는 블록이 블록체인에 저장되어 있는지 여부를 확인하여, 개인 도메인 네임에 대한 중복 체크를 수행한다(S211). 여기서, 개인 도메인 네임만을 중복 체크하는 것이 아니라 사용자 공개키와 개인 도메인 네임을 모두 가지고 있는 블록이 존재하는지 여부를 체크한다. 부연하면, 개인 도메인 네임이 동일하더라도 사용자 공개키가 다르면, 본 서비스에서 사용될 수 있다. 즉, 본 발명에서는 사용자가 서로 상이하여 사용자 공개키가 서로 다른 경우에는, 동일한 개인 도메인 네임이 사용자들간에 사용될 수 있다.Subsequently, when each of the nodes included in the
다음으로, 블록체인 네트워크(300)의 각 노드들은 중복 체크 결과, 제1통신 단말(110)의 공개키와 개인 도메인 네임 모두를 가지는 블록이 블록체인에 존재하지 않으면, 상기 도메인 등록 트랜잭션을 포함하는 블록을 생성하고 상기 생성한 블록을 기존 블록과 연결함으로써, 개인 도메인 네임을 블록체인에 저장한다(S213). 이에 따라, 복호키, 개인 도메인 네임 및 연동 토큰이 함께 블록체인에 등록된다. Next, each node of the
이어서, 블록체인 네트워크(300)는 트랜잭션 성공을 개인 도메인 서비스 서버(200)로 알린다(S215). 그러면, 개인 도메인 서비스 서버(200)는 도메인 등록 성공 응답을 인증 애플리케이션(111)으로 통보한다(S217). Subsequently, the
한편, 블록체인 네트워크(300)의 각 노드들은, 전자 서명 검증에 실패하거나, 상기 개인 도메인 네임과 사용자 공개키를 포함하는 블록이 이미 블록체인에 저장되어 있으면, 도메인 등록 실패를 개인 도메인 서비스 서버(200)로 전송하고, 개인 도메인 서비스 서버(200)는 도메인 등록 실패를 제1통신 단말(110)로 통보한다.On the other hand, if each node of the
개인 도메인 네임이 등록되면, 사용자는 인증 애플리케이션(111)을 이용하여, 개인 도메인 네임을 수정하거나 삭제할 수 있다. 개인 도메인 네임이 변경되면, 도 2와 유사한 절차를 통해서, 개인 도메인 서비스 서버(200)는 사용자 개인키로 서명된 전자 서명, 사용자 공개키 및 변경된 개인 도메인 네임을 포함하는 도메인 변경 트랜잭션으로 블록체인 네트워크(300)로 발생시킨다. 그러면, 블록체인 네트워크(300)에서 전자 서명 검증에 성공하면, 상기 도메인 변경 트랜잭션에 포함된 개인 도메인 네임으로 기존의 개인 도메인 네임을 변경하는 블록을 생성하고, 이 블록과 기존의 블록을 연결하여 블록체인을 확장한다. When the personal domain name is registered, the user can modify or delete the personal domain name using the
한편, 사용자가 인증 애플리케이션(111)을 이용하여 개인 도메인 네임을 삭제하면, 개인 도메인 서비스 서버(200)는 사용자 개인키로 서명된 전자 서명 및 사용자 공개키를 포함하는 도메인 삭제 트랜잭션을 블록체인 네트워크(300)로 발생시키고, 블록체인 네트워크(300)는 전자 서명을 검증한 후에 전자 서명에 성공하면, 사용자의 개인 도메인 네임을 삭제하는 블록을 생성하고 기존의 블록과 연결하여 블록체인에 저장한다.On the other hand, when the user deletes the personal domain name using the
도 3은 본 발명의 일 실시예에 따른, 제1통신 단말과 제2통신 단말의 서로 연동시키는 방법을 설명하는 흐름도이다.3 is a flowchart illustrating a method of interworking between a first communication terminal and a second communication terminal according to an embodiment of the present invention.
도 3을 참조하면, 제2통신 단말(120)은 개인 도메인 서비스 서버(200)로 접속하여, 개인 도메인 서비스 서버(200)와 세션을 형성한다(S301).Referring to FIG. 3, the
이어서, 제2통신 단말(120)은 개인 도메인 서비스 서버(200)와 형성한 세션 식별정보(즉, 세션 ID)를 확인하고, 이 세션 ID가 기록된 바코드를 생성하여 화면에 출력한다(S303). 즉, 제2통신 단말(120)은 상기 세션 ID가 바코드 판독을 통해서 인식될 수 있도록, 상기 세션 ID가 포함된 바코드를 표출한다.Subsequently, the
다음으로, 제1통신 단말(110)의 인증 애플리케이션(111)은 카메라를 통해서 제2통신 단말(120)의 화면에 출력중인 바코드를 영상 인식하여, 상기 바코드에 포함된 세션 ID를 식별한다(S305, S307). 상기 바코드는 2차원 바코드일 수 있으며, 이 경우 제1통신 단말(110)은 상기 바코드를 카메라를 통해서 영상 인식하여 상기 바코드에 기록된 세션 ID를 판독할 수 있다.Next, the
이어서, 인증 애플리케이션(111)은 제1통신 단말(110)에서 저장된 개인 도메인 네임 및 사용자 공개키를 획인하고, 상기 세션 ID, 개인 도메인 네임 및 사용자 공개키를 상기 개인 도메인 서비스 서버(200)로 전송한다(S309). Subsequently, the
그러면, 개인 도메인 서비스 서버(200)는 상기 세션 ID를 토대로, 현재 자신에게 접속중인 복수의 단말 중에서 제1통신 단말(110)과 연동되는 단말이 제2통신 단말(120)임을 인식하고, 상기 제2통신 단말(120)로 상기 개인 도메인 네임 및 사용자 공개키를 전송한다(S311).Then, based on the session ID, the personal
이어서, 제2통신 단말(120)은 개인 도메인 서비스 서버(200)로부터 수신한, 사용자 공개키와 개인 도메인 네임을 저장한다(S313). Subsequently, the
도 3의 절차에 따라, 제1통신 단말(110)은 제2통신 단말(120)에서 출력된 바코드를 인식함으로써, 제1통신 단말(110)로 공개키와 개인 도메인 네임을 제공할 수 있다. According to the procedure of FIG. 3, the
도 4는 본 발명의 일 실시예에 따른, 제2통신 단말이 개인 도메인 네임을 이용하여 인증을 진행하는 방법을 설명하는 흐름도이다.4 is a flowchart illustrating a method for a second communication terminal to perform authentication using a personal domain name according to an embodiment of the present invention.
도 4를 참조하면, 제2통신 단말(120)은 웹 서버(400)에 접속하여, iframe 태그에 개인 도메인 서비스 서버(200)의 URL이 포함되는 웹 페이지를 웹 서버(400)로부터 수신한다(S401). 상기 웹 서버(400)는 개인 도메인 서비스 서버(200)와 연동하는 서버로서, 개인 도메인 서비스 서버(200)의 도메인 네임이 기록되고, 인증 관련 메뉴와 연관되는 iframe 태그를 상기 웹 페이지에 포함시켜 구성할 수 있다. 또한, 상기 웹 서버(400)는 자신의 도메인과 관련된 태그 정보를 상기 웹 페이지에 포함한다. Referring to FIG. 4, the
제2통신 단말(120)은 개인 도메인 서비스 서버(200)의 도메인이 기록되는 iframe 태그와 연관된 메뉴가 클릭되면(S403), 제2통신 단말(120)에 내장된 웹 브라우저는 저장중인 개인 도메인 네임과 공개키를 확인한다(S405). When the menu associated with the iframe tag in which the domain of the personal
이어서, 제2통신 단말(120)은 상기 iframe 클릭에 따른 다른 웹 페이지의 요청 메시지를 웹 서버(400)로 전송한다(S407). 이때, 제2통신 단말(120)은 상기 확인한 개인 도메인 네임과 공개키를 상기 웹 서버(400)로 전송할 수 있다. 상기 개인 도메인 네임과 공개키는 상기 요청 메시지의 헤더에 기록될 수 있다.Subsequently, the
다음으로, 웹 서버(400)는 iframe과 관련된 웹 페이지 요청 메시지가 수신되고 상기 iframe 태그에 기록된 도메인이 개인 도메인 서비스 서버(200)의 도메인임에 따라, 개인 도메인 서비스 서버(200)로 개인 도메인을 질의하여 정보를 획득하는 절차를 진행한다. 구체적으로, 웹 서버(400)는 제2통신 단말(120)로부터 수신한 사용자의 공개키, 개인 도메인 네임 중에서 하나 이상을 원본 데이터로서 설정하고, 이 원본 데이터를 자신의 개인키로 전자 서명한다(S409). 이때, 웹 서버(400)는 상기 전자 서명을 사전에 설정된 자릿수의 문자열(예컨대, 16진수 문자열)로 변환할 수도 있다. 이어서, 웹 서버(400)는 상기 전자 서명, 사용자의 공개키 및 개인 도메인 네임이 포함된 개인 도메인 질의 메시지를 개인 도메인 서비스 서버(200)로 전송한다(S411).Next, the
그러면, 개인 도메인 서비스 서버(200)는 웹 서버(400)의 전자 서명의 진위에 대한 검증을 수행한다(S413). 즉, 개인 도메인 서비스 서버(200)는, 사용자의 공개키, 개인 도메인 네임 중에서 하나 이상을 원본 데이터로서 설정하고, 원본 데이터와 상기 공개키를 사전에 설정된 서명 검증 알고리즘에 입력하여 결과값을 획득하고, 이 결과값이 상기 사용자의 공개키와 일치하는지 여부를 확인함으로써, 웹 서버(400)의 전자 서명을 검증할 수 있다. Then, the personal
개인 도메인 서비스 서버(200)는 웹 서버(400)의 전자 서명 검증에 실패하면, 전자 서명 실패 사실을 웹 서버(400)로 통보한다. 반면에, 개인 도메인 서비스 서버(200)는 웹 서버(400)의 전자 서명 검증에 성공하면, 도메인 질의 메시지에 포함된 사용자의 공개키와 개인 도메인 네임을 확인하고, 상기 공개키와 개인 도메인 네임이 포함된 정보 요청 트랜잭션을 블록체인 네트워크(300)로 발생시킨다(S415). The personal
그러면, 블록체인 네트워크(300)는 상기 개인 도메인 네임 및 사용자의 공개키를 포함하는 블록을 블록체인에서 확인하고, 해당 블록에서 연동 토큰을 확인한다(S417). 이어서, 블록체인 네트워크(300)는 상기 추출한 연동 토큰을 포함된 트랜잭션 처리 메시지를 개인 도메인 서비스 서버(200)로 전송한다(S419).Then, the
다음으로, 개인 도메인 서비스 서버(200)는 S411 단계의 도메인 질의에 대한 응답으로서, 상기 연동 토큰을 웹 서버(400)로 전송한다(S421).Next, the personal
도 5는 본 발명의 일 실시예에 따른, 인증 시스템에서 사용자 인증을 수행하는 방법을 설명하는 흐름도이다.5 is a flowchart illustrating a method for performing user authentication in an authentication system according to an embodiment of the present invention.
도 5에 따른 절차는 도 4에 따른 절차에 후속되어 진행된다.The procedure according to FIG. 5 follows the procedure according to FIG. 4.
도 5를 참조하면, 웹 서버(400)는 도메인 질의에 대한 응답으로서 수신한 상기 연동 토큰을 토대로, 제1통신 단말(110)이 상기 제2통신 단말(120)과 연동됨을 확인한다. 이어서, 웹 서버(400)는 상기 연동 토큰을 이용하여, 제2통신 단말(120)에서 인증이 진행되고 있음을 알리는 메시지를 제2통신 단말(120)로 전송한다(S501). 이때, 웹 서버(140)는 상기 제2통신 단말(120)의 식별정보(예컨대, IP 주소)를 상기 제1통신 단말(110)로 전송할 수 있다. 상기 웹 서버(400)에서 발신한 인증 진행 알림 메시지를 연동 토큰과 함께 푸시 서비스 서버(도면에 도시되지 않음)로 전송되고, 푸시 서비스 서버는 연동 토큰과 매핑된 제1통신 단말(110)의 식별정보를 확인하고, 이 제1통신 단말(110)로 상기 인증 진행 알림 메시지를 전달할 수 있다.Referring to FIG. 5, the
다음으로, 제1통신 단말(110)의 인증 애플리케이션(111)은, 제2통신 단말(120)에서 인증이 진행되고 있음을 알리는 메시지를 화면에 출력한 후, 사용자로부터 인증 진행 승인 또는 인증 진행 미승인을 입력받을 수 있다. 인증 애플리케이션(111)은 사용자로부터 인증 진행 미승인을 입력받은 경우, 웹 서버(400)로 인증 불가 진행 메시지를 전송하고, 웹 서버(400)는 제2통신 단말(120)의 인증을 실패 처리한다.Next, the
반면에, 인증 애플리케이션(111)은 사용자로부터 인증 진행 승인을 입력받은 경우, 일회성 인증 토큰을 생성한다(S503). 상기 인증 애플리케이션(111)은 제1통신 단말(100)에 구비된 입력 수단을 이용하여, 사용자로부터 지문, 비밀번호 등과 같은 인증 정보를 입력받고, 이 인증 정보가 사전에 제1통신 단말(110)에 저장된 인증정보와 일치하는 경우에만, 사용자의 인증 진행을 최종적으로 승인 처리할 수 있다. 상기 인증 애플리케이션(111)은 현재 시각, 사용자의 공개키, 난수 등을 시드로서 이용하여, 일회성 인증 토큰을 생성할 수 있다. On the other hand, the
다음으로, 인증 애플리케이션(111)은 사용자의 공개키, 개인 도메인 네임 및 상기 일회성 인증 토큰이 포함된 토큰 저장 트랜잭션을 블록체인 네트워크(300)로 전파한다(S505). 인증 애플리케이션(111)은 상기 블록체인 네트워크(300)에 접근할 수 없는 경우, 개인 도메인 서비스 서버(200)로 상기 토큰 저장 트랜잭션을 전송하고, 상기 개인 도메인 서비스 서버(200)가 상기 토큰 저장 트랜잭션을 블록체인 네트워크(300)로 전파할 수 있다. Next, the
그러면, 블록체인 네트워크(300)에 포함된 각 노드들은 상기 토큰 저장 트랜잭션을 포함하는 신규 블록을 생성하여 기존 블록과 연결함으로써, 상기 일회성 인증 토큰을 블록체인에 저장한다(S507).Then, each node included in the
다음으로, 제1통신 단말(110)의 인증 애플리케이션(111)은 일회성 인증 토큰이 블록체인에 저장되었음을 웹 서버(400)로 통보하고(S509), 더불어 제2통신 단말(120)로 상기 생성한 일회성 인증 토큰을 전송한다(S511).Next, the
이어서, 제2통신 단말(120)은 제1통신 단말(110)로부터 수신한 일회성 인증 토큰을 웹 서버(400)로 전송함으로써, 인증을 요청한다(S513). Subsequently, the
그러면, 웹 서버(400)는 도 4의 S407 단계에서 획득한 사용자의 공개키와 개인 도메인 네임을 포함하는 인증 토큰 요청 트랜잭션을 블록체인 네트워크(300)로 전파하여, 상기 개인 도메인 네임과 상기 공개키와 함께 저장되는 일회성 인증 토큰을 블록체인 네트워크(300)로부터 수신한다(S515, S517). 웹 서버(400)가 상기 블록체인 네트워크(300)에 접근할 수 없는 경우, 개인 도메인 서비스 서버(200)로 상기 인증 토큰 요청 트랜잭션을 전송하고, 상기 개인 도메인 서비스 서버(200)가 인증 토큰 요청 트랜잭션을 블록체인 네트워크(300)로 전파하여, 블록체인에서 일회성 인증 토큰을 획득한 후 상기 일회성 인증 토큰을 상기 웹 서버(400)로 제공할 수 있다. Then, the
상기 웹 서버(400)는 제2통신 단말(120)로부터 수신한 일회성 인증 토큰과 블록체인 네트워크(300)로부터 수신한 일회성 인증 토큰이 일치하는지 여부를 확인하여, 제2통신 단말(120)의 인증한다(S519). 웹 서버(400)는 제2통신 단말(120)로부터 수신한 일회성 인증 토큰과 블록체인에서 획득한 일회성 인증 토큰이 일치하면 인증에 성공한 것으로 처리하고, 그렇지 않으면 인증에 실패한 것으로 처리한다.The
다음으로, 웹 서버(400)는 인증 결과가 기록되는 웹 페이지를 제2통신 단말(120)로 전송하고, 인증 성공한 제2통신 단말(120)로 요구되는 웹 서비스를 제공할 수 있다(S521). 상기 웹 서버(400)는 사용자 공개키를 토대로, 인증에 성공한 사용자를 식별하고, 이 사용자에게 특화된 웹 서비스를 제공할 수 있다. Next, the
도 5에 따른 통해서, 제2통신 단말(120)의 웹 서버(400)로의 인증은 제1통신 단말(110)의 제어를 통해서 진행된다. 또한, 제1통신 단말(110)의 승인에 따라, 제2통신 단말(120)의 인증때 마다 매번 새로운 일회성 인증 토큰이 인증 애플리케이션(111)을 통해서 생성되어 블록체인에 저장되고, 제2통신 단말(120)로 제공된다. 또한, 사용자는 별도의 로그인 아이디와 패스워드를 입력하는 것이 없이, 지정된 메뉴(즉, 개인 도메인 서비스 서버의 도메인과 관련된 iframe 태그 메뉴)를 클릭하는 것에 의해서, 간편한 로그인이 수행하여, 원하는 웹 서비스를 제공받을 수 있다. 5, authentication of the
본 명세서는 많은 특징을 포함하는 반면, 그러한 특징은 본 발명의 범위 또는 특허청구범위를 제한하는 것으로 해석되어서는 안 된다. 또한, 본 명세서에서 개별적인 실시예에서 설명된 특징들은 단일 실시예에서 결합되어 구현될 수 있다. 반대로, 본 명세서에서 단일 실시예에서 설명된 다양한 특징들은 개별적으로 다양한 실시예에서 구현되거나, 적절히 결합되어 구현될 수 있다.While this specification includes many features, such features should not be construed as limiting the scope of the invention or the claims. In addition, features described in individual embodiments herein may be implemented in combination in a single embodiment. Conversely, various features that are described in this specification in a single embodiment may be implemented in various embodiments individually or in combination as appropriate.
도면에서 동작들이 특정한 순서로 설명되었으나, 그러한 동작들이 도시된 바와 같은 특정한 순서로 수행되는 것으로, 또는 일련의 연속된 순서, 또는 원하는 결과를 얻기 위해 모든 설명된 동작이 수행되는 것으로 이해되어서는 안 된다. 특정 환경에서 멀티태스킹 및 병렬 프로세싱이 유리할 수 있다. 아울러, 상술한 실시예에서 다양한 시스템 구성요소의 구분은 모든 실시예에서 그러한 구분을 요구하지 않는 것으로 이해되어야 한다. 상술한 프로그램 구성요소 및 시스템은 일반적으로 단일 소프트웨어 제품 또는 멀티플 소프트웨어 제품에 패키지로 구현될 수 있다.Although the operations in the drawings have been described in a specific order, it should not be understood that such operations are performed in a specific order as shown, or a series of sequences, or all described actions are performed to obtain a desired result. . In certain circumstances, multitasking and parallel processing may be advantageous. In addition, it should be understood that the division of various system components in the above-described embodiment does not require such division in all embodiments. The above-described program components and systems may be generally implemented as a package in a single software product or multiple software products.
상술한 바와 같은 본 발명의 방법은 프로그램으로 구현되어 컴퓨터로 읽을 수 있는 형태로 기록매체(시디롬, 램, 롬, 플로피 디스크, 하드 디스크, 광자기 디스크 등)에 저장될 수 있다. 이러한 과정은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있으므로 더 이상 상세히 설명하지 않기로 한다.The method of the present invention as described above may be implemented as a program and stored in a computer readable form on a recording medium (CD-ROM, RAM, ROM, floppy disk, hard disk, magneto-optical disk, etc.). Such a process will not be described in detail any more as those skilled in the art to which the present invention pertains can easily carry out.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.The present invention described above, as the person skilled in the art to which the present invention pertains, various substitutions, modifications and changes are possible within the scope of the technical spirit of the present invention, and the above-described embodiments and the attached It is not limited by the drawings.
110, 120 : 통신 단말
111 : 인증 APP
200 : 개인 도메인 서비스 서버
300 : 블록체인 네트워크
400 : 웹 서버
500 : 통신망110, 120: communication terminal
111: authentication APP
200: personal domain service server
300: Blockchain network
400: web server
500: communication network
Claims (11)
웹 서버가, 개인 도메인 네임과 사용자 공개키를 제2통신 단말로부터 수신하는 단계;
상기 웹 서버가, 상기 개인 도메인 네임 및 상기 사용자 공개키와 관련되어 저장된 연동 토큰을 블록체인에서 획득하는 단계;
상기 웹 서버가, 상기 연동 토큰을 기초로 상기 제2통신 단말과 연동되는 제1통신 단말을 확인하고, 상기 제1통신 단말로 인증 진행 알림 메시지를 전송하여 일회성 인증 토큰을 생성을 유도하는 단계;
상기 웹 서버가, 상기 제1통신 단말에서 생성하여 상기 블록체인에 저장된 일회성 인증 토큰을 획득하는 단계;
상기 웹 서버가, 상기 제1통신 단말에서 생성하여 상기 제2통신 단말로 전송된 일회성 인증 토큰을 상기 제2통신 단말로부터 수신하는 단계; 및
상기 웹 서버가, 상기 블록체인에서 획득한 일회성 인증 토큰과 상기 제2통신 단말로부터 수신한 일회성 인증 토큰의 일치 여부를 확인하여, 제2통신 단말의 인증을 수행하는 단계;를 포함하는 인증 방법.As an authentication method using a personal domain name,
A web server receiving a personal domain name and a user public key from a second communication terminal;
Obtaining, by the web server, a linked token stored in association with the personal domain name and the user public key on a blockchain;
Confirming, by the web server, a first communication terminal interworking with the second communication terminal based on the interlocking token, and sending an authentication progress notification message to the first communication terminal to induce generation of a one-time authentication token;
Obtaining, by the web server, a one-time authentication token generated in the first communication terminal and stored in the blockchain;
Receiving, by the web server, a one-time authentication token generated by the first communication terminal and transmitted to the second communication terminal from the second communication terminal; And
And the web server confirming whether the one-time authentication token obtained from the blockchain matches the one-time authentication token received from the second communication terminal and performing authentication of the second communication terminal.
상기 유도하는 단계 이후에,
상기 제1통신 단말이, 상기 일회성 인증 토큰을 생성하고, 상기 일회성 인증 토큰을 상기 개인 도메인 네임 및 상기 사용자 공개키와 연관시켜 상기 블록체인에 저장하고, 상기 일회성 인증 토큰을 상기 제2통신 단말로 전송하는 단계;를 포함하고,
상기 일회성 인증 토큰을 획득하는 단계는,
상기 개인 도메인 네임 및 상기 사용자 공개키와 연관된 상기 일회성 인증 토큰을 상기 블록체인에서 획득하는 것을 특징으로 하는 인증 방법.According to claim 1,
After the inducing step,
The first communication terminal generates the one-time authentication token, stores the one-time authentication token in association with the personal domain name and the user public key, and stores the one-time authentication token in the second communication terminal. And transmitting;
The step of obtaining the one-time authentication token,
An authentication method characterized by obtaining the one-time authentication token associated with the personal domain name and the user public key in the blockchain.
상기 제2통신 단말로부터 수신하는 단계는,
상기 웹 서버가, iframe 태그에 개인 도메인 서비스 서버의 도메인이 기록되는 웹 페이지를 상기 제2통신 단말로 전송하고, 상기 iframe 태그와 관련된 메뉴가 상기 제2통신 단말에서 선택되는 경우, 상기 제2통신 단말로부터 개인 도메인 네임과 사용자 공개키를 수신하는 것을 특징으로 하는 인증 방법.According to claim 1,
The step of receiving from the second communication terminal,
When the web server transmits a web page in which the domain of the personal domain service server is recorded in the iframe tag to the second communication terminal, and the menu associated with the iframe tag is selected in the second communication terminal, the second communication Authentication method characterized by receiving the personal domain name and the user public key from the terminal.
상기 일회성 인증 토큰을 획득하는 단계는,
상기 웹 서버가, 상기 개인 도메인 네임과 상기 사용자 공개키를 포함하는 도메인 질의 메시지를 개인 도메인 서비스 서버로 전송하는 단계; 및
상기 웹 서버가, 상기 개인 도메인 네임 및 상기 사용자 공개키와 연관되는 연동 토큰을, 상기 도메인 질의에 대한 응답으로서 상기 개인 도메인 서비스 서버로부터 수신하는 단계;를 포함하는 인증 방법.According to claim 1,
The step of obtaining the one-time authentication token,
Transmitting, by the web server, a domain query message including the personal domain name and the user public key to a personal domain service server; And
And receiving, by the web server, an interworking token associated with the personal domain name and the user public key from the personal domain service server in response to the domain query.
상기 일회성 인증 토큰을 획득하는 단계 이전에,
상기 제1통신 단말이, 상기 개인 도메인 네임, 상기 사용자 공개키 및 상기 연동 토큰이 포함된 도메인 등록 요청 메시지를 개인 도메인 서비스 서버로 전송하는 단계; 및
상기 개인 도메인 서비스 서버가, 상기 개인 도메인 네임, 상기 사용자 공개키 및 상기 연동 토큰이 포함된 도메인 등록 트랜잭션을 블록체인 네트워크에 발생시켜, 상기 블록체인에 상기 등록 트랜잭션을 포함하는 블록을 저장시키는 단계;를 더 포함하는 인증 방법.According to claim 4,
Before the step of obtaining the one-time authentication token,
Transmitting, by the first communication terminal, a domain registration request message including the personal domain name, the user public key, and the interlocking token to a personal domain service server; And
Generating, by the personal domain service server, a domain registration transaction including the personal domain name, the user public key, and the interlocking token in a blockchain network, thereby storing a block including the registration transaction in the blockchain; Authentication method further comprising a.
상기 사용자 공개키와 상기 개인 도메인 네임을 모두를 가지는 블록이 블록체인에 저장되지 않은 경우, 상기 등록 트랜잭션을 포함하는 블록이 상기 블록체인에 저장되는 것을 특징으로 하는 인증 방법.The method of claim 5,
If the block having both the user public key and the private domain name is not stored in the blockchain, the authentication method, characterized in that the block containing the registration transaction is stored in the blockchain.
상기 제2통신 단말이, 개인 도메인 서비스 서버와 형성한 세션의 식별정보를 확인하고, 이 세션의 식별정보가 포함되는 바코드를 출력하는 단계;
상기 제1통신 단말이, 상기 바코드를 판독하여 상기 세션의 식별정보를 인식한 후, 상기 인식한 세션의 식별정보, 상기 개인 도메인 네임 및 상기 사용자 공개키를 상기 개인 도메인 서비스 서버로 전송하는 단계; 및
상기 개인 도메인 서비스 서버가, 상기 제1통신 단말로부터 수신한 세션의 식별정보를 토대로, 상기 제1통신 단말과 연동되는 상기 제2통신 단말을 식별하고, 상기 제2통신 단말로 상기 개인 도메인 네임과 상기 사용자 공개키를 전송하는 단계;를 포함하는 인증 방법.According to claim 1,
Checking, by the second communication terminal, identification information of a session formed with a personal domain service server, and outputting a barcode including identification information of the session;
After the first communication terminal reads the barcode and recognizes the identification information of the session, transmitting the identification information of the recognized session, the personal domain name, and the user public key to the personal domain service server; And
The personal domain service server identifies the second communication terminal interworking with the first communication terminal based on the identification information of the session received from the first communication terminal, and uses the personal domain name as the second communication terminal. And transmitting the user public key.
개인 도메인 네임과 사용자 공개키를 제2통신 단말로부터 수신하고, 상기 개인 도메인 네임 및 상기 사용자 공개키와 관련되어 저장된 연동 토큰을 블록체인에서 획득하고, 상기 연동 토큰을 기초로 상기 제2통신 단말과 연동되는 제1통신 단말을 확인하고, 상기 제1통신 단말로 인증 진행 알림 메시지를 전송하는 웹 서버; 및
상기 제1통신 단말에 탑재되며, 상기 인증 진행 알림 메시지를 수신하면 일회성 인증 토큰을 생성하고 상기 생성한 일회성 인증 토큰을 블록체인에 저장하고, 상기 생성한 일회성 인증 토큰을 상기 제2통신 단말로 제공하는 인증 애플리케이션;을 포함하고,
상기 웹 서버는, 상기 인증 애플리케이션에서 생성되어 제공된 일회성 인증 토큰을 상기 제2통신 단말로부터 수신하고 상기 블록체인에 저장중인 일회성 인증 토큰을 획득한 후, 이 획득한 일회성 인증 토큰과 상기 제2통신 단말로부터 수신한 일회성 인증 토큰의 일치 여부를 확인하여, 상기 제2통신 단말에 대한 인증을 수행하는 것을 특징으로 하는 인증 시스템. An authentication system that performs user authentication using a personal domain name,
A personal domain name and a user public key are received from a second communication terminal, and an interlocking token stored in association with the personal domain name and the user public key is obtained in a blockchain, and based on the interlocking token, the second communication terminal and A web server that identifies an interlocked first communication terminal and transmits an authentication progress notification message to the first communication terminal; And
When mounted on the first communication terminal, upon receiving the authentication progress notification message, a one-time authentication token is generated, the generated one-time authentication token is stored in the blockchain, and the generated one-time authentication token is provided to the second communication terminal Including the authentication application;
The web server receives the one-time authentication token generated and provided by the authentication application from the second communication terminal, obtains the one-time authentication token stored in the blockchain, and then acquires the one-time authentication token and the second communication terminal An authentication system characterized in that the second communication terminal is authenticated by checking whether the one-time authentication token received from the user matches.
상기 인증 애플리케이션은, 상기 인증 토큰을 상기 개인 도메인 네임 및 상기 사용자 공개키와 연관시켜 상기 블록체인에 저장하고,
상기 웹 서버는, 상기 개인 도메인 네임 및 상기 사용자 공개키와 연관된 상기 인증 토큰을 상기 블록체인에서 획득하는 것을 특징으로 하는 인증 시스템. The method of claim 8,
The authentication application stores the authentication token in the blockchain in association with the personal domain name and the user public key,
And the web server acquires the authentication token associated with the personal domain name and the user public key from the blockchain.
상기 개인 도메인 네임과 상기 사용자 공개키를 포함하는 도메인 질의 메시지를 상기 웹 서버로부터 수신하고, 상기 개인 도메인 네임과 상기 사용자 공개키와 연관되는 연동 토큰을 상기 블록체인에서 획득하여 상기 웹 서버로 제공하는 개인 도메인 서비스 서버;를 더 포함하는 것을 특징으로 하는 인증 시스템. The method of claim 8,
A domain query message including the personal domain name and the user public key is received from the web server, and an interlocking token associated with the personal domain name and the user public key is obtained from the blockchain and provided to the web server. Personal domain service server; further comprising an authentication system.
상기 개인 도메인 서비스 서버는,
상기 개인 도메인 네임, 상기 사용자 공개키 및 상기 연동 토큰이 포함된 도메인 등록 요청 메시지를 상기 인증 애플리케이션으로부터 수신하고, 상기 개인 도메인 네임, 상기 사용자 공개키 및 상기 연동 토큰이 포함된 도메인 등록 트랜잭션을 블록체인 네트워크에 발생시켜, 상기 블록체인에 상기 등록 트랜잭션을 포함하는 블록을 저장시키는 것을 특징으로 하는 인증 시스템. The method of claim 10,
The personal domain service server,
The domain registration request message including the personal domain name, the user public key, and the interlocking token is received from the authentication application, and a domain registration transaction including the personal domain name, the user public key and the interlocking token is blockchained. Authentication system, characterized in that to store in the network, the block containing the registration transaction in the blockchain.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190007991A KR20200091138A (en) | 2019-01-22 | 2019-01-22 | Authentication method and system using private domain name |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190007991A KR20200091138A (en) | 2019-01-22 | 2019-01-22 | Authentication method and system using private domain name |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20200091138A true KR20200091138A (en) | 2020-07-30 |
Family
ID=71839207
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190007991A KR20200091138A (en) | 2019-01-22 | 2019-01-22 | Authentication method and system using private domain name |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20200091138A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114884724A (en) * | 2022-05-06 | 2022-08-09 | 杭州联吉技术有限公司 | Cloud server interaction method and device, readable storage medium and terminal equipment |
KR102515721B1 (en) * | 2022-12-28 | 2023-03-30 | 주식회사 시그마체인 | Non-fungible password authentication supproting method using one time password for authentication based on blockchain and apparatus therefor |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130093838A (en) | 2012-01-26 | 2013-08-23 | 정성권 | Method for auto log-in and system for the same |
-
2019
- 2019-01-22 KR KR1020190007991A patent/KR20200091138A/en unknown
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130093838A (en) | 2012-01-26 | 2013-08-23 | 정성권 | Method for auto log-in and system for the same |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114884724A (en) * | 2022-05-06 | 2022-08-09 | 杭州联吉技术有限公司 | Cloud server interaction method and device, readable storage medium and terminal equipment |
CN114884724B (en) * | 2022-05-06 | 2024-03-22 | 杭州联吉技术有限公司 | Cloud server interaction method and device, readable storage medium and terminal equipment |
KR102515721B1 (en) * | 2022-12-28 | 2023-03-30 | 주식회사 시그마체인 | Non-fungible password authentication supproting method using one time password for authentication based on blockchain and apparatus therefor |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11546756B2 (en) | System and method for dynamic multifactor authentication | |
US9698992B2 (en) | Method for signing electronic documents with an analog-digital signature with additional verification | |
TWI700916B (en) | Method and device for providing and obtaining safety identity information | |
CA2711243C (en) | System and method for secure voting | |
US7100049B2 (en) | Method and apparatus for authentication of users and web sites | |
CN110086608A (en) | User authen method, device, computer equipment and computer readable storage medium | |
Hammood et al. | A review of user authentication model for online banking system based on mobile IMEI number | |
US20150310686A1 (en) | System and method for secure voting | |
CN108023893A (en) | A kind of method of block chain data recognizing system | |
KR101858653B1 (en) | Method for certifying a user by using mobile id through blockchain database and merkle tree structure related thereto, and terminal and server using the same | |
JP2007527059A (en) | User and method and apparatus for authentication of communications received from a computer system | |
KR20190132120A (en) | Simple login method and system using private domain name | |
KR101027228B1 (en) | User-authentication apparatus for internet security, user-authentication method for internet security, and recorded medium recording the same | |
KR20200091138A (en) | Authentication method and system using private domain name | |
Helm | Distributed Internet voting architecture: A thin client approach to Internet voting | |
WO2018232443A1 (en) | Method and system for identity proofing | |
KR100648986B1 (en) | Service system and method for electronic name card, device and method for authentication of electronic name card | |
KR102123405B1 (en) | System and method for providing security membership and login hosting service | |
KR101617875B1 (en) | authentication method for service of providing electronic documents, method and system for service of providing electronic documents | |
WO2016042473A1 (en) | Secure authentication using dynamic passcode | |
JP5282229B2 (en) | Service providing system, alteration check method, and alteration check program | |
JP2007065789A (en) | Authentication system and method | |
JP6840921B2 (en) | WEB page verification device, verification method and program for phishing prevention | |
KR20210053567A (en) | Method for verifying certification improper use in block environment and system therefor | |
KR20240044930A (en) | Method to Register a User Binding Old Account and Minimizing Manual Input |