KR20230089520A - Access token management system and method using blockchain - Google Patents

Access token management system and method using blockchain Download PDF

Info

Publication number
KR20230089520A
KR20230089520A KR1020220056088A KR20220056088A KR20230089520A KR 20230089520 A KR20230089520 A KR 20230089520A KR 1020220056088 A KR1020220056088 A KR 1020220056088A KR 20220056088 A KR20220056088 A KR 20220056088A KR 20230089520 A KR20230089520 A KR 20230089520A
Authority
KR
South Korea
Prior art keywords
access token
access
user terminal
token
transaction
Prior art date
Application number
KR1020220056088A
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 서울과학기술대학교 산학협력단
Publication of KR20230089520A publication Critical patent/KR20230089520A/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic 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/3213Cryptographic 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
    • 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/0884Network architectures or network communication protocols for network security for authentication of entities by delegation of authentication, e.g. a proxy authenticates an entity to be authenticated on behalf of this entity vis-à-vis an authentication entity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/53Network services using third party service providers
    • 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/3236Cryptographic 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 cryptographic hash functions
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

블록체인을 이용한 액세스 토큰 관리 시스템 및 방법이 제공된다. 사용자 단말기와 서비스 제공 서버 사이에 구비되며, 상기 서비스 제공 서버에서 제공하는 액세스 토큰의 관리를 블록체인을 이용하여 수행하는 블록체인을 이용한 액세스 토큰 관리 시스템에 있어서, 상기 액세스 토큰 관리 시스템은, 상기 사용자 단말기로부터 상기 액세스 토큰을 획득하면, 상기 액세스 토큰을 저장하고, 접근 허용자 리스트를 수정하며, 상기 사용자 단말기에 상기 액세스 토큰의 해시값을 전달하는 액세스 토큰 처리부; 및 상기 사용자 단말기로부터 사용 요청 트랜잭션을 획득하면, 상기 사용 요청 트랜잭션의 유효성을 검증하며, 블록체인에 기록하고 상기 유효성이 검증된 액세스 토큰인 유효 액세스 토큰을 상기 서비스 제공 서버에 제공하는 사용 요청 트랜잭션 처리부;를 포함하며, 상기 액세스 토큰은 상기 서비스 제공 서버로부터 발급된다. An access token management system and method using a blockchain are provided. In an access token management system using a block chain provided between a user terminal and a service providing server and performing management of an access token provided by the service providing server using a block chain, the access token management system comprises: an access token processing unit that, when obtaining the access token from a terminal, stores the access token, modifies an access permitted list, and transmits a hash value of the access token to the user terminal; and a use request transaction processing unit configured to, when obtaining a use request transaction from the user terminal, verify the validity of the use request transaction, record it in a blockchain, and provide a valid access token, which is the validated access token, to the service providing server. ; and the access token is issued from the service providing server.

Description

블록체인을 이용한 액세스 토큰 관리 시스템 및 방법{Access token management system and method using blockchain}Access token management system and method using blockchain}

본 발명은 블록체인을 이용한 액세스 토큰 관리 시스템 및 방법에 관한 것으로, 특히, 사용자의 데이터와 인증 관련 정보를 블록체인을 활용하여 안전하게 관리하는 블록체인을 이용한 액세스 토큰 관리 시스템 및 방법에 관한 것이다.The present invention relates to an access token management system and method using a blockchain, and more particularly, to an access token management system and method using a blockchain for safely managing user data and authentication-related information using a blockchain.

최근 사용자의 데이터를 활용한 서비스의 종류가 다양해지고 사용자 수요가 증가함에 따라 NHN, Google, Microsoft, Facebook 등의 기업에서 OAuth 인증 프레임워크를 기반으로 서드 파티 애플리케이션(3rd party Application)에게 외부 인증 서비스를 제공하거나 클라우드에 저장된 사용자 데이터를 이용할 수 있도록 하고 있다.Recently, as the types of services using user data diversify and user demand increases, companies such as NHN, Google, Microsoft, and Facebook provide external authentication services to 3rd party applications based on the OAuth authentication framework. It provides or makes available user data stored in the cloud.

OAuth 인증 프레임워크는 사용자(개인)로부터 사용자 소유의 정보에 관한 접근 권한을 위임받음으로써 제 3자(서드 파티 애플리케이션)가 해당 정보를 사용할 수 있도록 한다. 제 3자는 사전에 일련의 과정을 통해 인증 서버에 등록되어야 하고, 사용자의 데이터를 관리하는 데이터 서버에 발급받은 액세스 토큰을 제시하여 접근 권한 인가 사실을 증명한다. 액세스 토큰은 만료 기한을 갖고 이는 서드 파티 애플리케이션이 발급 요청 시 지정할 수 있다.The OAuth authentication framework allows a third party (third party application) to use the information by entrusting access to information owned by the user (individual). The third party must be registered in the authentication server through a series of processes in advance, and proves the access right by presenting the access token issued to the data server that manages the user's data. Access tokens have an expiration date, which can be specified by third-party applications when requesting issuance.

하지만 일반적으로 서드 파티 애플리케이션에서 발급받은 액세스 토큰을 평문으로 로컬 기기에 저장하여 사용하므로 정상적으로 인증을 거치지 않은 제 3자가 이를 탈취하여 악의적인 목적의 사용자 인증 및 데이터 접근에 이용할 우려가 있다. 또한, 일부 서드 파티 애플리케이션은 만료 기한이 없는 액세스 토큰을 발급받으므로 장기적으로 이를 활용한 개인 정보 유출, 도용, 사칭 등에 활용될 수 있다는 문제가 있다. However, since access tokens issued by third-party applications are generally stored and used in plain text on the local device, there is a risk that an unauthorized third party may steal them and use them for user authentication and data access for malicious purposes. In addition, since some third party applications receive an access token that does not expire, there is a problem that it can be used for personal information leakage, theft, impersonation, etc. using this in the long term.

한국등록특허 제10-2254499호Korean Patent Registration No. 10-2254499

상기와 같은 종래 기술의 문제점을 해결하기 위해, 본 발명의 일 실시예는 블록체인 기반의 방법에 액세스 토큰을 저장하고 이에 관한 접근을 관리함으로써 사용자의 외부 인증 서비스 및 데이터 접근을 안전하게 관리할 수 있는 블록체인을 이용한 액세스 토큰 관리 시스템 및 방법을 제공하고자 한다.In order to solve the problems of the prior art as described above, an embodiment of the present invention is to store an access token in a blockchain-based method and manage access thereto, thereby safely managing the user's external authentication service and data access. We intend to provide an access token management system and method using blockchain.

위와 같은 과제를 해결하기 위한 본 발명의 일 측면에 따르면, 사용자 단말기와 서비스 제공 서버 사이에 구비되며, 상기 서비스 제공 서버에서 제공하는 액세스 토큰의 관리를 블록체인을 이용하여 수행하는 블록체인을 이용한 액세스 토큰 관리 시스템이 제공된다. 상기 액세스 토큰 관리 시스템은, 상기 사용자 단말기로부터 상기 액세스 토큰을 획득하면, 상기 액세스 토큰을 저장하고, 접근 허용자 리스트를 수정하며, 상기 사용자 단말기에 상기 액세스 토큰의 해시값을 전달하는 액세스 토큰 처리부; 및 상기 사용자 단말기로부터 사용 요청 트랜잭션을 획득하면, 상기 사용 요청 트랜잭션의 유효성을 검증하며, 블록체인에 기록하고 상기 유효성이 검증된 액세스 토큰인 유효 액세스 토큰을 상기 서비스 제공 서버에 제공하는 사용 요청 트랜잭션 처리부;를 포함하며, 상기 액세스 토큰은 상기 서비스 제공 서버로부터 발급된다.According to one aspect of the present invention for solving the above problems, access using a block chain provided between a user terminal and a service providing server and performing management of an access token provided by the service providing server using a block chain A token management system is provided. The access token management system, when obtaining the access token from the user terminal, the access token processing unit for storing the access token, modifying the access permission list, and transmitting the hash value of the access token to the user terminal; and a use request transaction processor configured to, when obtaining a use request transaction from the user terminal, verify the validity of the use request transaction, record it in a blockchain, and provide a valid access token, which is the validated access token, to the service providing server. ; and the access token is issued from the service providing server.

상기 액세스 토큰 처리부는, 상기 액세스 토큰을 획득하여 저장하고, 상기 사용자 단말기로부터 획득되는 인증 정보를 이용하여 접근 허용 리스트를 수정하는 접근 허용 리스트 수정 모듈; 및 상기 사용자 단말기로 상기 액세스 토큰의 상기 해시값인 노드의 ID를 전달하는 노드 ID 제공 모듈;을 포함할 수 있다.The access token processing unit may include: an access permission list modification module for obtaining and storing the access token and modifying an access permission list using authentication information obtained from the user terminal; and a node ID providing module that transmits the node ID, which is the hash value of the access token, to the user terminal.

상기 사용 요청 트랜잭션 처리부는, 상기 사용자 단말기가 상기 블록체인의 노드에 발생시키는 상기 액세스 토큰에 대한 사용 요청 트랜잭션이 존재하는지 확인하는 트랜잭션 발생 확인 모듈; 상기 트랜잭션에 대한 유효성 검증을 수행하고 상기 블록체인에 상기 트랜잭션을 기록하는 트랜잭션 기록 모듈; 및 상기 기록된 트랜잭션이 유효한 경우 상기 액세스 토큰을 상기 서비스 제공 서버로 전달하여 상기 사용자 단말기의 데이터 접근 권한을 증명하는 데이터 접근 권한 증명 모듈;을 포함할 수 있다.The use request transaction processing unit may include a transaction generation confirmation module for verifying whether a use request transaction for the access token generated by the user terminal in the node of the block chain exists; a transaction recording module for performing validity verification on the transaction and recording the transaction in the blockchain; and a data access authority verification module for proving data access authority of the user terminal by transferring the access token to the service providing server when the recorded transaction is valid.

상기 서비스 제공 서버는, 인증 서버 및 데이터 제공 서버를 포함하도록 형성되며, 상기 액세스 토큰의 관리는 상기 인증 서버와의 통신을 통해 수행되고, 상기 데이터 제공 서버를 통해 상기 사용자 단말기에 데이터를 제공하며, 상기 블록체인을 이용한 액세스 토큰 관리 시스템은, 상기 사용자 단말기에 상기 액세스 토큰을 발급하기 위해 구비되는 액세스 토큰 발급부;를 더 포함하며, 상기 액세스 토큰 발급부는, 상기 사용자 단말기로부터 상기 데이터에 대한 접근을 위한 상기 리퀘스트 토큰의 발급 요청 정보를 획득하고 클라이언트 ID가 존재하는지 확인하는 발급 요청 정보 획득 모듈; 상기 클라이언트 ID가 존재하는 발급 요청 정보를 상기 인증 서버로 전달하고, 상기 인증 서버에서 기 등록된 ID로 판단하는 경우 제공되는 상기 리퀘스트 토큰을 획득하여 사용자 단말기로 전달하는 리퀘스트 토큰 전달 모듈; 상기 사용자 단말기에서 상기 리퀘스트 토큰에 서명하여 상기 리퀘스트 토큰을 전달하면, 상기 인증 서버로 상기 리퀘스트 토큰을 전달하고, 상기 인증 서버에서 상기 서명을 검증한 후 발급하는 상기 액세스 토큰을 획득하여 상기 사용자 단말기로 전달하는 액세스 토큰 발급 모듈;을 포함할 수 있다.The service providing server is formed to include an authentication server and a data providing server, management of the access token is performed through communication with the authentication server, and provides data to the user terminal through the data providing server, The access token management system using the blockchain further includes an access token issuing unit provided to issue the access token to the user terminal, and the access token issuing unit controls access to the data from the user terminal. an issuance request information acquisition module for obtaining issue request information of the request token for the request token and verifying whether a client ID exists; a request token delivery module for transmitting issuance request information in which the client ID exists to the authentication server, acquiring the request token provided when the authentication server determines that the ID is pre-registered, and transmitting the request token to a user terminal; When the user terminal signs the request token and delivers the request token, the request token is transmitted to the authentication server, and the authentication server obtains the access token issued after verifying the signature to the user terminal. An access token issuance module that transmits; may be included.

본 발명의 일 측면에 따르면, 사용자 단말기와 서비스 제공 서버 사이에서 상기 서비스 제공 서버에서 제공하는 액세스 토큰의 관리를 블록체인을 이용하여 수행하는 블록체인을 이용한 액세스 토큰 관리 방법이 제공된다. 상기 블록체인을 이용한 액세스 토큰 관리 방법은, 상기 사용자 단말기로부터 액세스 토큰 처리부를 이용하여 상기 액세스 토큰을 획득하면, 상기 액세스 토큰을 저장하고, 접근 허용자 리스트를 수정하며, 상기 사용자 단말기에 상기 액세스 토큰의 해시값을 전달하는 단계; 및 상기 사용자 단말기로부터 사용 요청 트랜잭션 처리부를 이용하여 사용 요청 트랜잭션을 획득하면, 상기 사용 요청 트랜잭션의 유효성을 검증하며, 블록체인에 기록하고 상기 유효성이 검증된 액세스 토큰인 유효 액세스 토큰을 상기 서비스 제공 서버에 제공하는 단계;를 포함하며, 상기 액세스 토큰은 상기 서비스 제공 서버로부터 발급된다.According to one aspect of the present invention, there is provided an access token management method using a block chain that performs management of an access token provided by the service providing server between a user terminal and a service providing server using a block chain. In the access token management method using the blockchain, when the access token is obtained from the user terminal using an access token processing unit, the access token is stored, an access permitted list is modified, and the access token is stored in the user terminal. Transmitting the hash value of; and when a use request transaction is obtained from the user terminal using a use request transaction processing unit, the validity of the use request transaction is verified, recorded in a block chain, and a valid access token, which is the validated access token, is transferred to the service providing server. Provided to; includes, the access token is issued from the service providing server.

본 발명의 일 실시예에 따른 블록체인을 이용한 액세스 토큰 관리 시스템 및 방법은 기존 OAuth 프레임워크에서 발생하는 취약점을 보완함에 따라 사용자가 타 서비스에 데이터를 제공할 때 안정성, 신뢰성을 제공할 수 있는 효과가 있다. The system and method for managing access tokens using a blockchain according to an embodiment of the present invention compensate for vulnerabilities occurring in the existing OAuth framework, thereby providing stability and reliability when users provide data to other services. there is

또, 본 발명의 일 실시예에 따른 블록체인을 이용한 액세스 토큰 관리 시스템 및 방법은, 사용자의 기기 분실, 악성코드 감염 등으로 인한 사용자의 데이터 유출 시 노출되는 액세스 토큰을 악용한 개인 정보 유출 확대. 계정 도용. 사칭, 피싱, 스미싱 등의 각종 2차 피해를 예방할 수 있는 효과가 있다.In addition, the access token management system and method using a block chain according to an embodiment of the present invention expands the leakage of personal information by exploiting the access token exposed when the user's data is leaked due to the loss of the user's device or infection with malicious code. account hijacking. It is effective in preventing various secondary damages such as impersonation, phishing, and smishing.

도 1은 본 발명의 실시예에 따른 블록체인을 이용한 액세스 토큰 관리 시스템을 나타낸 블록도이다.
도 2는 도 1의 액세스 토큰 발급부의 구성을 나타낸 블록도이다.
도 3은 도 1의 액세스 토큰 처리부의 구성을 나타낸 블록도이다.
도 4는 도 1의 사용 요청 트랜잭션 처리부의 구성을 나타낸 블록도이다.
도 5는 본 발명의 일 실시예에 따른 블록체인을 이용한 액세스 토큰 관리 방법을 나타낸 블록도이다.
도 6은 도 5의 단계 S11을 상세히 나타낸 순서도이다.
도 7은 도 5의 단계 S13을 상세히 나타낸 순서도이다.
도 8은 도 5의 단계 S15를 상세히 나타낸 순서도이다.
도 9는 본 발명이 수행되는 모의 시나리오를 나타낸 도이다.
1 is a block diagram showing an access token management system using a block chain according to an embodiment of the present invention.
Figure 2 is a block diagram showing the configuration of the access token issuing unit of Figure 1;
Figure 3 is a block diagram showing the configuration of the access token processing unit of Figure 1;
4 is a block diagram showing the configuration of a use request transaction processing unit of FIG. 1 .
5 is a block diagram illustrating an access token management method using a blockchain according to an embodiment of the present invention.
6 is a flowchart illustrating step S11 of FIG. 5 in detail.
7 is a flowchart illustrating step S13 of FIG. 5 in detail.
8 is a flowchart showing step S15 of FIG. 5 in detail.
9 is a diagram showing a simulated scenario in which the present invention is performed.

이하, 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 동일 또는 유사한 구성요소에 대해서는 동일한 참조부호를 붙였다.Hereinafter, with reference to the accompanying drawings, embodiments of the present invention will be described in detail so that those skilled in the art can easily carry out the present invention. This invention may be embodied in many different forms and is not limited to the embodiments set forth herein. In order to clearly describe the present invention in the drawings, parts irrelevant to the description are omitted, and the same reference numerals are assigned to the same or similar components throughout the specification.

도 1은 본 발명의 실시예에 따른 블록체인을 이용한 액세스 토큰 관리 시스템을 나타낸 블록도이고, 도 2는 도 1의 액세스 토큰 발급부의 구성을 나타낸 블록도이며, 도 3은 도 1의 액세스 토큰 처리부의 구성을 나타낸 블록도이고, 도 4는 도 1의 사용 요청 트랜잭션 처리부의 구성을 나타낸 블록도이다.1 is a block diagram showing an access token management system using a blockchain according to an embodiment of the present invention, FIG. 2 is a block diagram showing the configuration of the access token issuing unit of FIG. 1, and FIG. 3 is the access token processing unit of FIG. It is a block diagram showing the configuration of, Figure 4 is a block diagram showing the configuration of the use request transaction processing unit of FIG.

이하에서는 도 1 내지 도 4를 이용하여 본 발명의 일 실시예에 따른 블록체인을 이용한 액세스 토큰 관리 시스템에 대해 상세히 설명하도록 한다. 본 발명은 기존 OAuth 2.0 인증 프레임워크에 블록체인을 기반으로 동작하는 액세스 토큰 관리 시스템을 도입함으로 액세스 토큰 탈취를 통해 발생하는 문제를 해결하는 새로운 프레임워크를 사용하는 시스템(1)에 대한 것이다.Hereinafter, an access token management system using a block chain according to an embodiment of the present invention will be described in detail using FIGS. 1 to 4. The present invention relates to a system (1) using a new framework that solves problems caused by access token theft by introducing an access token management system that operates based on a block chain to an existing OAuth 2.0 authentication framework.

본 발명의 일 실시예에 따른 블록체인을 이용한 액세스 토큰 관리 시스템(1)은 사용자 단말기(2)와 서비스 제공 서버(3) 사이를 유선 또는 무선 통신망을 이용하여 연결하며, 서비스 제공 서버(3)에서 제공하는 액세스 토큰의 관리를 블록체인을 이용하여 수행하도록 형성된다. 이를 위해 본 발명의 일 실시예에 따른 블록체인을 이용한 액세스 토큰 관리 시스템(1)은 도 1에 도시된 바와 같이 액세스 토큰 처리부(13) 및 사용 요청 트랜잭션 처리부(15)를 포함하도록 형성된다. An access token management system (1) using a block chain according to an embodiment of the present invention connects a user terminal (2) and a service providing server (3) using a wired or wireless communication network, and the service providing server (3) It is formed to perform the management of the access token provided by using a block chain. To this end, an access token management system 1 using a block chain according to an embodiment of the present invention is formed to include an access token processing unit 13 and a use request transaction processing unit 15 as shown in FIG.

블록체인을 이용한 액세스 토큰 관리 시스템(1)은 사용자 단말기(2)로부터 액세스 토큰을 획득하면, 액세스 토큰을 이용하여 서비스 제공 서버(3)에 사용자 단말기(2)가 데이터를 요청할 수 있도록 블록체인 처리 등을 수행하도록 형성된다. 여기서 액세스 토큰은 사용자 단말기(2)와 서비스 제공 서버(3)가 직접 통신하여 사용자 단말기(2)가 획득한 서비스 제공 서버(3)로부터 발급받은 액세스 토큰이지만, 본 발명의 다른 실시예에서는 추후 설명되는 액세스 토큰 발급부(11)를 통해 사용자 단말기(2)와 서비스 제공 서버(3)가 정보를 주고 받아 액세스 토큰을 사용자 단말기(2)가 발급 받도록 형성될 수도 있다.When the access token management system (1) using the blockchain obtains the access token from the user terminal (2), the user terminal (2) processes the block chain so that the user terminal (2) can request data from the service providing server (3) using the access token. It is formed to perform, etc. Here, the access token is an access token issued by the service providing server 3 obtained by the user terminal 2 through direct communication between the user terminal 2 and the service providing server 3, but will be described later in another embodiment of the present invention. The user terminal 2 and the service providing server 3 may exchange information through the access token issuing unit 11 so that the user terminal 2 receives an access token.

본 발명의 블록체인을 이용한 액세스 토큰 관리 시스템(1)의 액세스 토큰 처리부(13)는 사용자 단말기(2)로부터 액세스 토큰을 획득하면, 액세스 토큰을 저장하고, 접근 허용자 리스트를 수정하며, 사용자 단말기(2)에 액세스 토큰의 해시값을 전달하도록 형성된다. 이를 위해 액세스 토큰 처리부(13)는 도 3에 도시된 바와 같이 접근 허용 리스트 수정 모듈(131) 및 노드 ID 제공 모듈(133)을 포함하도록 형성될 수 있다. When the access token processing unit 13 of the access token management system 1 using the blockchain of the present invention obtains the access token from the user terminal 2, it stores the access token, modifies the access permitting list, and (2) to pass the hash value of the access token. To this end, the access token processing unit 13 may include an access permission list modification module 131 and a node ID providing module 133 as shown in FIG. 3 .

접근 허용 리스트 수정 모듈(131)은 액세스 토큰을 획득하여 저장하고, 사용자 단말기(2)로부터 획득되는 인증 정보를 이용하여 접근 허용 리스트를 수정하도록 형성된다. 접근 허용 리스트는, 사용자 단말기(2) 중 본 발명의 블록체인을 이용한 액세스 토큰 관리 시스템(1)이 접근을 허용하는 사용자 단말기의 리스트를 의미한다. 사용자 단말기(2)로부터 획득되는 인증 정보가 접근 허용 리스트에 기 포함되어 있는 경우 접근 허용 리스트 수정 모듈(131)은 접근 허용 리스트 중 해당 사용자 단말기(2)에 대해 더 포함될 수 있는 정보인 접속 횟수를 증가시킬 수 있다. 또, 사용자 단말기(2)로부터 획득되는 인증 정보가 접근 허용 리스트에 기 포함되어 있지 않는 경우, 접근 허용 리스트 수정 모듈(131)은 해당 인증 정보를 이용하여 해당 사용자 단말기(2)에 대한 정보를 접근 허용 리스트에 추가할 수 있다.The access permission list modification module 131 is configured to acquire and store an access token, and modify the access permission list using authentication information obtained from the user terminal 2 . The access permission list means a list of user terminals to which the access token management system 1 using the block chain of the present invention allows access among the user terminals 2. If the authentication information obtained from the user terminal 2 is already included in the access permission list, the access permission list modification module 131 determines the number of times of access, which is information that may be further included for the corresponding user terminal 2 in the access permission list. can increase In addition, when the authentication information obtained from the user terminal 2 is not previously included in the access permission list, the access permission list modification module 131 accesses information on the corresponding user terminal 2 using the authentication information. You can add them to the whitelist.

노드 ID 제공 모듈(133)은 사용자 단말기(2)로 액세스 토큰의 해시값인 노드의 ID를 전달하도록 형성된다. 노드 ID는 서비스 제공 서버(3)의 블록 체인 노드에 저장되는 접근 허용자 리스트와 액세스 토큰에 접근하기 위해 사용될 수 있다.The node ID providing module 133 is configured to transmit the ID of the node, which is the hash value of the access token, to the user terminal 2. The node ID can be used to access the access permission list and access token stored in the block chain node of the service providing server (3).

일 예를 들어 설명하자면, 접근 허용자 리스트와 액세스 토큰에 각각 ID가 20394857인 노드에 저장되어 있는 경우, 사용자 단말기(2)에서 해당 사용자에 대한 액세스 토큰을 요청하면 서비스 제공 서버(3)는 20394857의 ID를 가지는 노드에 접근하고 접근 허용자 리스트를 확인하며, 해당 사용자가 접근 허용자 리스트에 포함되는 경우, 엑세스 토큰을 읽어와 반환하도록 형성된다. 즉 노드 ID 제공 모듈(133)은 일 예시로, 후술되는 사용 요청 트랜잭션 처리부(15)와 사용자 단말기(2)가 서로 인증되었음을 증명하기 위해 노드 ID를 사용자 단말기(2)로 제공하도록 형성될 수 있다. As an example, if the access permission list and the access token are each stored in a node with an ID of 20394857, when the user terminal 2 requests an access token for the user, the service providing server 3 returns 20394857 It accesses the node with the ID of , checks the access permission list, and if the user is included in the access permission list, reads the access token and returns it. That is, as an example, the node ID providing module 133 may be configured to provide a node ID to the user terminal 2 to prove that the use request transaction processing unit 15 and the user terminal 2 are mutually authenticated. .

한편, 도 1에 도시되고 있는 본 발명의 일 실시예에 따른 사용 요청 트랜잭션 처리부(15)는 사용자 단말기(2)로부터 사용 요청 트랜잭션을 획득하면, 사용 요청 트랜잭션의 유효성을 검증하며 블록체인에 기록하며, 유효성이 검증된 액세스 토큰인 유효 액세스 토큰을 서비스 제공 서버(3)에 제공하도록 형성된다. 이를 위해 본 발명의 일 실시예에 따른 사용 요청 트랜잭션 처리부(15)는 도 4에 도시된 바와 같이 트랜잭션 발생 확인 모듈(151), 트랜잭션 기록 모듈(153) 및 데이터 접근 권한 증명 모듈(155)을 포함하도록 형성된다.On the other hand, when the use request transaction processing unit 15 according to an embodiment of the present invention shown in FIG. 1 obtains a use request transaction from the user terminal 2, it verifies the validity of the use request transaction and records it in the block chain. , is formed to provide a valid access token, which is a validated access token, to the service providing server 3. To this end, the use request transaction processing unit 15 according to an embodiment of the present invention includes a transaction occurrence confirmation module 151, a transaction recording module 153, and a data access authority verification module 155, as shown in FIG. is formed to

트랜잭션 발생 확인 모듈(151)은 사용자 단말기(2)가 블록체인의 노드에 발생시키는 액세스 토큰에 대한 사용 요청 트랜잭션이 존재하는지 확인하기 위해 형성된다. 트랜잭션은 데이터베이스의 상태를 변화시키기 위해서 수행하는 작업의 단위를 의미한다. 본 발명의 일 실시예에서 사용자 단말기(2)는 서비스 제공 서버(3)로부터 데이터를 획득하기 위해 접속을 요청하는 경우, 액세스 토큰의 상태를 변경시켜야 한다. 하지만, 액세스 토큰은 블록체인을 이용하여 형성되어 있기 때문에 액세스 토큰 자체에 대한 수정이 불가능하며, 따라서, 사용자 단말기(2)는 액세스 토큰의 노드에 사용 요청 트랜잭션을 삽입하여 액세스 토큰을 트랜잭션 발생 확인 모듈(151)로 전달할 수 있다.The transaction generation confirmation module 151 is configured to verify whether there is a transaction requesting use of an access token generated by the user terminal 2 to a node of a block chain. A transaction is a unit of work performed to change the state of a database. In one embodiment of the present invention, when the user terminal 2 requests access to obtain data from the service providing server 3, the state of the access token must be changed. However, since the access token is formed using a block chain, it is impossible to modify the access token itself. Therefore, the user terminal 2 inserts a transaction request transaction into the node of the access token to convert the access token to a transaction occurrence confirmation module. (151).

따라서, 트랜잭션 발생 확인 모듈(151)은 사용자 단말기(2)로부터 액세스 토큰을 획득하면, 획득한 액세스 토큰의 노드에 사용 요청 트랜잭션이 삽입되었는지 확인하고 후술되는 트랜잭션 기록 모듈(153)을 통해 해당 트랜잭션과 관련된 정보를 처리하도록 할 수 있다.Therefore, when the transaction occurrence confirmation module 151 acquires the access token from the user terminal 2, it checks whether a transaction requesting use is inserted into the node of the acquired access token, and records the corresponding transaction through the transaction recording module 153 described below. Relevant information can be processed.

트랜잭션 발생 확인 모듈(151)에서 사용자 단말기(2)로부터 획득한 액세스 토큰의 노드에 사용 요청 트랜잭션이 삽입된 것으로 확인되면, 트랜잭션 기록 모듈(153)은 해당 트랜잭션에 대한 유효성 검증을 수행하고, 블록체인에 트랜잭션을 기록하도록 형성된다. 블록체인에 트랜잭션을 기록함으로써, 본 발명에서는 해당 액세스 토큰에 대한 접근 또는 사용 정보를 영구적으로 변경되지 않게 기록함으로써 추후 트랜잭션에 대해 검토하여 접속 기록을 추적할 수도 있다.When the transaction occurrence confirmation module 151 confirms that the use request transaction has been inserted into the node of the access token acquired from the user terminal 2, the transaction recording module 153 performs validation on the transaction, and It is formed to record transactions in By recording the transaction in the blockchain, in the present invention, the access or use information for the corresponding access token is permanently recorded without change, so that later transactions can be reviewed and the access record can be tracked.

트랜잭션 기록 모듈(153)은 트랜잭션을 기록하는 과정에서 다수의 블록체인 노드를 이용하여 검증을 수행할 수 있다. 이를 통해 본 발명에서는 노드의 신뢰성이 보장되고, 액세스 토큰의 해시값을 분산형 해시 테이블의 ID로 사용하기 때문에 변조가 방지될 수 있고 액세스 토큰에 대한 무결성 및 신뢰성을 보장할 수 있다.The transaction recording module 153 may perform verification using a plurality of blockchain nodes in the process of recording a transaction. Through this, in the present invention, the reliability of the node is guaranteed, and since the hash value of the access token is used as the ID of the distributed hash table, tampering can be prevented and the integrity and reliability of the access token can be guaranteed.

데이터 접근 권한 증명 모듈(155)은 기록된 트랜잭션이 유효한 경우 액세스 토큰을 서비스 제공 서버(3)로 전달하여 사용자 단말기(2)의 데이터 접근 권한을 증명하도록 형성된다. 데이터 접근 권한 증명 모듈(155)은 유효하지 않은 트랜잭션이 확인된 경우, 해당 접근이 비정상인 것으로 판단하고, 액세스 토큰을 서비스 제공 서버(3)로 전달하지 않는다. 본 발명에서는 트랜잭션을 먼저 기록 한 이후 유효여부를 판단하도록 형성되기 때문에 정상 접근과 비정상 접근 모두 블록체인 상에 기록된다. 따라서, 데이터 접근 권한 증명 모듈(155)은 유효하지 않은 트랜잭션의 기록을 통해 비정상 적인 접근 시도나 액세스 토큰 변주를 추적할 수 있어 로컬 기기보다 안전하게 액세스 토큰을 관리할 수 있다.The data access authority verification module 155 is configured to prove the data access authority of the user terminal 2 by transferring the access token to the service providing server 3 when the recorded transaction is valid. When an invalid transaction is confirmed, the data access authority authentication module 155 determines that the corresponding access is abnormal and does not transfer the access token to the service providing server 3 . In the present invention, since the transaction is first recorded and then validated, both normal access and abnormal access are recorded on the blockchain. Therefore, the data access authority verification module 155 can track abnormal access attempts or access token variations through records of invalid transactions, so that access tokens can be managed more safely than local devices.

데이터 접근 권한 증명 모듈(155)에서 특정 사용자 단말기(2)의 데이터 접근 권한을 증명하면, 서비스 제공 서버(3)는 해당 사용자 단말기(2)의 데이터 접근을 허가하고, 사용자는 사용자 단말기(2)를 통해 원하는 데이터를 제공받을 수 있다. 또, 본 발명의 사용 요청 트랜잭션 처리부(15)은 사용자 단말기(2)에서 발생하는 모든 트랜잭션에 대하여 블록체인 상에 기록함으로써, 해당 사용자 단말기(2)에서 어떤 데이터를 요청하였는지 추후에 추적하도록 형성될 수도 있다.When the data access authority verification module 155 proves the data access authority of a specific user terminal 2, the service providing server 3 permits the data access of the corresponding user terminal 2, and the user receives the user terminal 2 You can get the data you want through . In addition, the use request transaction processing unit 15 of the present invention records all transactions occurring in the user terminal 2 on the blockchain, so that the data requested by the user terminal 2 is later tracked. may be

한편, 본 발명에서 서비스 제공 서버(3)는 인증 서버(31) 및 데이터 제공 서버(33)로 형성될 수도 있다. 이 경우 액세스 토큰의 관리는 인증 서버(31)와의 통신을 통해 수행되고, 이후 사용자 단말기(2)에서 요청하는 데이터의 제공은 데이터 제공 서버(33)를 통해 수행될 수 있다.Meanwhile, in the present invention, the service providing server 3 may be formed of an authentication server 31 and a data providing server 33. In this case, management of the access token is performed through communication with the authentication server 31, and then provision of data requested by the user terminal 2 may be performed through the data providing server 33.

또, 상술한 바와 같이 본 발명의 일 실시예에 따른 블록체인을 이용한 액세스 토큰 관리 시스템(1)은 사용자 단말기(2)에서 인증 서버(31)로부터 액세스 토큰을 발급받는 과정에 관여하는 액세스 토큰 발급부(11)를 도 1과 같이 더 포함하도록 형성될 수 있다. 본 발명의 액세스 토큰 발급부(11)는 도 2에 도시된 바와 같이 발급 요청 정보 획득 모듈(111), 리퀘스트 토큰 전달 모듈(113) 및 액세스 토큰 발급 모듈(115)을 포함하도록 형성될 수 있다. In addition, as described above, the access token management system 1 using a block chain according to an embodiment of the present invention issuing an access token involved in the process of issuing an access token from the authentication server 31 in the user terminal 2 It may be formed to further include a portion 11 as shown in FIG. 1 . As shown in FIG. 2 , the access token issuing unit 11 of the present invention may include an issuance request information acquisition module 111 , a request token delivery module 113 , and an access token issuance module 115 .

발급 요청 정보 획득 모듈(111)은 사용자 단말기(2)로부터 데이터에 대한 접근을 위해 필요한 리퀘스트 토큰에 대한 발급 요청 정보를 획득하고 클라이언트 ID가 존재하는지 확인하도록 형성된다. 발급 요청 정보 획득 모듈(111)은 클라이언트 ID가 존재하는 발급 요청 정보에 대해서는 후술되는 리퀘스트 토큰 전달 모듈(113)에서 사용할 수 있도록 전달하며, 클라이언트 ID가 존재하지 않는 발급 요청 정보에 대해서는 리퀘스트 토큰 전달 모듈(113)로 전달하지 않음으로써, 유효한 발급 요청 정보만 본 발명에서 사용할 수 있도록 할 수 있다.The issue request information obtaining module 111 is configured to obtain issue request information for a request token necessary for access to data from the user terminal 2 and to check whether a client ID exists. The issuance request information acquisition module 111 transfers the issuance request information with a client ID so that it can be used in the request token delivery module 113 described below, and the issuance request information with no client ID is transmitted to the request token delivery module. By not transmitting to (113), only valid issuance request information can be used in the present invention.

클라이언트 ID는 특정 사용자 단말기(2) 또는 사용자 단말기(2)에 설치되는 애플리케이션에서 인증 서버(31)에 접속하기 위해 부여된 ID를 의미할 수 있다. 본 발명의 발급 요청 정보 획득 모듈(111)은 클라이언트 ID가 존재하지 않는, 다시 말해 정상적인 인증 과정을 거치지 않은 서드 파티 애플리케이션 또는 사용자 단말기(2)에서 액세스 토큰을 획득하기 위해 리퀘스트 토큰 발급 요청을 수행하는 것을 방지할 수 있다.The client ID may refer to an ID assigned to access the authentication server 31 in a specific user terminal 2 or an application installed in the user terminal 2 . The issuance request information acquisition module 111 of the present invention performs a request token issuance request to acquire an access token from a third party application or user terminal 2 that does not have a client ID, that is, has not undergone a normal authentication process. that can be prevented

리퀘스트 토큰 전달 모듈(113)은 클라이언트 ID가 존재하는 발급 요청 정보를 획득하면, 해당 발급 요청 정보를 인증 서버(31)로 전달하도록 형성된다. 이때, 인증 서버(31)는 해당 발급 요청 정보에 포함된 클라이언트 ID가 인증 서버(31)에서 기 인증 받아 등록된 ID인지 판단하며, 판단 결과 기 등록된 ID인 경우, 리퀘스트 토큰을 제공한다. 리퀘스트 토큰 전달 모듈(113)은 인증 서버(31)에서 제공하는 리퀘스트 토큰을 획득하고, 이를 해당 발급 요청 정보를 제공한 사용자 단말기(2)로 전달할 수 있다. The request token delivery module 113 is configured to transmit the issue request information to the authentication server 31 when obtaining issue request information having a client ID. At this time, the authentication server 31 determines whether the client ID included in the issuance request information is an ID that has been previously authenticated and registered by the authentication server 31, and provides a request token if the ID is a pre-registered ID as a result of the determination. The request token delivery module 113 may acquire a request token provided by the authentication server 31 and deliver it to the user terminal 2 that provided the corresponding issuance request information.

한편, 사용자는 사용자 단말기(2)를 통해 리퀘스트 토큰을 획득하면, 해당 리퀘스트 토큰에 서명을 수행하여 사용자를 인증하고, 인증 정보를 이용하여 액세스 토큰을 획득하기 위해 서명한 리퀘스트 토큰을 액세스 토큰 발급 모듈(115)로 전달할 수 있다.On the other hand, when the user obtains the request token through the user terminal 2, the request token is signed to authenticate the user, and the signed request token is issued to the access token issuance module to acquire the access token using authentication information. (115).

액세스 토큰 발급 모듈(115)은 사용자 단말기(2)에서 리퀘스트 토큰에 서명하여 리퀘스트 토큰을 전달하면, 인증 서버(31)로 해당 리퀘스트 토큰을 전달하도록 형성된다. 이때, 인증 서버(31)는 획득한 리퀘스트 토큰에 포함된 서명을 검증하고, 검증 결과에 따라 액세스 토큰을 발급할 수 있다. 액세스 토큰 발급 모듈(115)은 인증 서버(31)에서 발급한 액세스 토큰을 획득한 후 해당 사용자 단말기(2)로 전달할 수 있다.The access token issuance module 115 is configured to transmit the request token to the authentication server 31 when the user terminal 2 signs the request token and delivers the request token. At this time, the authentication server 31 may verify the signature included in the acquired request token and issue an access token according to the verification result. The access token issuance module 115 may acquire the access token issued by the authentication server 31 and transfer it to the corresponding user terminal 2 .

한편, 도 5 내지 도 8에는 본 발명의 일 실시예에 따른 블록체인을 이용한 액세스 토큰 관리 방법이 도시되고 있다. 도 5는 본 발명의 일 실시예에 따른 블록체인을 이용한 액세스 토큰 관리 방법을 나타낸 블록도이고, 도 6은 도 5의 단계 S11을 상세히 나타낸 순서도이며, 도 7은 도 5의 단계 S13을 상세히 나타낸 순서도이고, 도 8은 도 5의 단계 S15를 상세히 나타낸 순서도이다. 이하에서는 도 5 내지 도 8을 이용하여 본 발명의 일 실시예에 따른 블록체인을 이용한 액세스 토큰 관리 방법에 대해 상세히 설명하도록 한다. 또, 이하에서는 설명의 편의상 도 1에 도시된 시스템을 이용하여 본 발명이 사용되는 것으로 설명하지만, 본 발명은 반드시 이에 한정되는 것은 아니며 유사한 동작을 수행할 수 있는 다양한 장치, 시스템 및 단말기 등에서 사용 가능하다.Meanwhile, FIGS. 5 to 8 illustrate an access token management method using a block chain according to an embodiment of the present invention. 5 is a block diagram showing an access token management method using a blockchain according to an embodiment of the present invention, FIG. 6 is a flowchart showing step S11 of FIG. 5 in detail, and FIG. 7 shows step S13 of FIG. 5 in detail. 8 is a flowchart showing step S15 of FIG. 5 in detail. Hereinafter, an access token management method using a block chain according to an embodiment of the present invention will be described in detail using FIGS. 5 to 8. In addition, although the present invention is described below as being used using the system shown in FIG. 1 for convenience of explanation, the present invention is not necessarily limited thereto and can be used in various devices, systems, and terminals capable of performing similar operations. do.

본 발명의 일 실시예에 따른 블록체인을 이용한 액세스 토큰 관리 방법(10)은 사용자 단말기와 서비스 제공 서버 사이를 유선 또는 무선 통신망을 이용하여 연결하며, 서비스 제공 서버에서 제공하는 액세스 토큰의 관리를 블록체인을 이용하여 수행하도록 형성된다. 이를 위해 본 발명의 일 실시예에 따른 블록체인을 이용한 액세스 토큰 관리 방법(10)은 도 5에 도시된 바와 같이 액세스 토큰의 처리를 수행하는 단계(S13) 및 사용 요청 트랜잭션을 처리하는 단계(S15)를 포함하도록 형성된다. An access token management method 10 using a block chain according to an embodiment of the present invention connects a user terminal and a service providing server using a wired or wireless communication network, and blocks management of the access token provided by the service providing server. It is formed to perform using a chain. To this end, the access token management method 10 using a blockchain according to an embodiment of the present invention, as shown in FIG. 5, performs processing of the access token (S13) and processing a use request transaction (S15). ) is formed to include.

블록체인을 이용한 액세스 토큰 관리 방법(10)은 사용자 단말기로부터 액세스 토큰을 획득하면, 액세스 토큰을 이용하여 서비스 제공 서버에 사용자 단말기가 데이터를 요청할 수 있도록 블록체인 처리 등을 수행하도록 형성된다. 여기서 액세스 토큰은 사용자 단말기와 서비스 제공 서버가 직접 통신하여 사용자 단말기가 획득한 서비스 제공 서버로부터 발급받은 액세스 토큰이지만, 본 발명의 다른 실시예에서는 추후 설명되는 액세스 토큰을 발급하는 단계(S11)를 통해 사용자 단말기와 서비스 제공 서버가 정보를 주고 받아 액세스 토큰을 사용자 단말기가 발급 받도록 형성될 수도 있다.The access token management method 10 using a block chain is formed to perform block chain processing and the like so that the user terminal can request data from a service providing server using the access token when an access token is obtained from a user terminal. Here, the access token is an access token issued by the service providing server obtained by the user terminal through direct communication between the user terminal and the service providing server, but in another embodiment of the present invention, through the step (S11) of issuing the access token described later. The user terminal and the service providing server may exchange information so that the user terminal is issued an access token.

본 발명의 블록체인을 이용한 액세스 토큰 관리 방법(10)의 액세스 토큰의 처리를 수행하는 단계(S13)는 사용자 단말기로부터 액세스 토큰을 획득하면, 액세스 토큰 처리부를 이용하여 액세스 토큰을 저장하고, 접근 허용자 리스트를 수정하며, 사용자 단말기에 액세스 토큰의 해시값을 전달하도록 형성된다. 이를 위해 액세스 토큰의 처리를 수행하는 단계(S13)는 도 7에 도시된 바와 같이 접근 허용 리스트를 수정하는 단계(S131) 및 노드 ID를 제공하는 단계(S133)를 포함하도록 형성될 수 있다. In the step (S13) of processing the access token of the access token management method 10 using the blockchain of the present invention, when the access token is obtained from the user terminal, the access token is stored using the access token processing unit, and access is granted. It is configured to modify the child list, and to transmit the hash value of the access token to the user terminal. To this end, the step of processing the access token (S13) may be formed to include a step of modifying the access permission list (S131) and providing a node ID (S133) as shown in FIG.

접근 허용 리스트를 수정하는 단계(S131)는 액세스 토큰을 획득하여 저장하고, 사용자 단말기로부터 획득되는 인증 정보를 이용하여 접근 허용 리스트를 수정하도록 형성된다. 접근 허용 리스트는, 사용자 단말기 중 본 발명의 블록체인을 이용한 액세스 토큰 관리 방법(10)이 접근을 허용하는 사용자 단말기의 리스트를 의미한다. 사용자 단말기로부터 획득되는 인증 정보가 접근 허용 리스트에 기 포함되어 있는 경우 접근 허용 리스트를 수정하는 단계(S131)는 접근 허용 리스트 중 해당 사용자 단말기에 대해 더 포함될 수 있는 정보인 접속 횟수를 증가시킬 수 있다. 또, 사용자 단말기로부터 획득되는 인증 정보가 접근 허용 리스트에 기 포함되어 있지 않는 경우, 접근 허용 리스트를 수정하는 단계(S131)는 해당 인증 정보를 이용하여 해당 사용자 단말기에 대한 정보를 접근 허용 리스트에 추가할 수 있다.In the step of modifying the access permission list (S131), an access token is acquired and stored, and the access permission list is modified using authentication information obtained from the user terminal. The access permission list means a list of user terminals to which the access token management method 10 using the block chain of the present invention allows access among user terminals. If the authentication information obtained from the user terminal is already included in the access permission list, the step of modifying the access permission list (S131) can increase the number of accesses, which is information that can be further included for the user terminal in the access permission list. . In addition, if the authentication information obtained from the user terminal is not previously included in the access permission list, the step of modifying the access permission list (S131) adds information about the corresponding user terminal to the access permission list using the authentication information. can do.

노드 ID를 제공하는 단계(S133)는 사용자 단말기로 액세스 토큰의 해시값인 노드의 ID를 전달하도록 형성된다. 노드 ID는 서비스 제공 서버의 블록 체인 노드에 저장되는 접근 허용자 리스트와 액세스 토큰에 접근하기 위해 사용될 수 있다.The step of providing the node ID (S133) is configured to deliver the ID of the node, which is the hash value of the access token, to the user terminal. The node ID can be used to access the access permission list and access token stored in the blockchain node of the service providing server.

일 예를 들어 설명하자면, 접근 허용자 리스트와 액세스 토큰에 각각 ID가 20394857인 노드에 저장되어 있는 경우, 사용자 단말기에서 해당 사용자에 대한 액세스 토큰을 요청하면 서비스 제공 서버는 20394857의 ID를 가지는 노드에 접근하고 접근 허용자 리스트를 확인하며, 해당 사용자가 접근 허용자 리스트에 포함되는 경우, 엑세스 토큰을 읽어와 반환하도록 형성된다. 즉 노드 ID를 제공하는 단계(S133)는 일 예시로, 후술되는 사용 요청 트랜잭션을 처리하는 단계(S15)에서 사용자 단말기가 인증되었음을 증명하기 위해 노드 ID를 사용자 단말기로 제공하도록 형성될 수 있다. As an example, if the access permission list and the access token are each stored in a node with an ID of 20394857, when a user terminal requests an access token for a corresponding user, the service providing server sends a request to the node with an ID of 20394857. It accesses and checks the list of authorized users, and if the user is included in the list of authorized users, the access token is read and returned. That is, the step of providing the node ID (S133) may be configured to provide the node ID to the user terminal in order to prove that the user terminal is authenticated in the step of processing the use request transaction (S15), which will be described later, as an example.

한편, 도 5에 도시되고 있는 본 발명의 일 실시예에 따른 사용 요청 트랜잭션을 처리하는 단계(S15)는 사용자 단말기로부터 사용 요청 트랜잭션을 획득하면, 사용 요청 트랜잭션 처리부를 이용하여 사용 요청 트랜잭션의 유효성을 검증하며 블록체인에 기록하며, 유효성이 검증된 액세스 토큰인 유효 액세스 토큰을 서비스 제공 서버에 제공하도록 형성된다. 이를 위해 본 발명의 일 실시예에 따른 사용 요청 트랜잭션을 처리하는 단계(S15)는 도 8에 도시된 바와 같이 트랜잭션 발생 여부를 확인하는 단계(S151), 트랜잭션을 기록하는 단계(S153) 및 데이터 접근 권한을 증명하는 단계(S155)를 포함하도록 형성된다.Meanwhile, in the step of processing the use request transaction according to an embodiment of the present invention shown in FIG. 5 (S15), when the use request transaction is obtained from the user terminal, the validity of the use request transaction is checked using the use request transaction processing unit. It is formed to provide a valid access token, which is a validated access token, to a service providing server. To this end, the step of processing the use request transaction according to an embodiment of the present invention (S15) includes the step of checking whether a transaction has occurred (S151), the step of recording the transaction (S153), and data access as shown in FIG. It is formed to include the step of proving authority (S155).

트랜잭션 발생 여부를 확인하는 단계(S151)는 사용자 단말기가 블록체인의 노드에 발생시키는 액세스 토큰에 대한 사용 요청 트랜잭션이 존재하는지 확인하기 위해 형성된다. 트랜잭션은 데이터베이스의 상태를 변화시키기 위해서 수행하는 작업의 단위를 의미한다. 본 발명의 일 실시예에서 사용자 단말기는 서비스 제공 서버로부터 데이터를 획득하기 위해 접속을 요청하는 경우, 액세스 토큰의 상태를 변경시켜야 한다. 하지만, 액세스 토큰은 블록체인을 이용하여 형성되어 있기 때문에 액세스 토큰 자체에 대한 수정이 불가능하며, 따라서, 사용자 단말기는 액세스 토큰의 노드에 사용 요청 트랜잭션을 삽입하여 액세스 토큰을 트랜잭션 발생 여부를 확인하는 단계(S151)로 전달할 수 있다.The step of checking whether a transaction has occurred (S151) is formed to check whether a transaction requesting use of an access token generated by a user terminal to a node of a block chain exists. A transaction is a unit of work performed to change the state of a database. In one embodiment of the present invention, the user terminal needs to change the state of the access token when requesting access to obtain data from the service providing server. However, since the access token is formed using a blockchain, it is impossible to modify the access token itself. Therefore, the user terminal inserts a use request transaction into the node of the access token to check whether the access token transaction has occurred. It can be delivered in (S151).

따라서, 트랜잭션 발생 여부를 확인하는 단계(S151)는 사용자 단말기로부터 액세스 토큰을 획득하면, 획득한 액세스 토큰의 노드에 사용 요청 트랜잭션이 삽입되었는지 확인하고 후술되는 트랜잭션을 기록하는 단계(S153)를 통해 해당 트랜잭션과 관련된 정보를 처리하도록 할 수 있다.Therefore, the step of checking whether a transaction has occurred (S151) is, when an access token is obtained from a user terminal, checking whether a use request transaction is inserted into the node of the acquired access token, and recording the transaction (S153), which will be described later. You can have it process information related to the transaction.

트랜잭션 발생 여부를 확인하는 단계(S151)에서 사용자 단말기로부터 획득한 액세스 토큰의 노드에 사용 요청 트랜잭션이 삽입된 것으로 확인되면, 트랜잭션을 기록하는 단계(S153)는 해당 트랜잭션에 대한 유효성 검증을 수행하고, 블록체인에 트랜잭션을 기록하도록 형성된다. 블록체인에 트랜잭션을 기록함으로써, 본 발명에서는 해당 액세스 토큰에 대한 접근 또는 사용 정보를 영구적으로 변경되지 않게 기록함으로써 추후 트랜잭션에 대해 검토하여 접속 기록을 추적할 수도 있다.In the step of checking whether a transaction has occurred (S151), if it is confirmed that the transaction requesting use is inserted into the node of the access token acquired from the user terminal, the step of recording the transaction (S153) performs validation of the transaction, It is formed to record transactions on the blockchain. By recording the transaction in the blockchain, in the present invention, the access or use information for the corresponding access token is permanently recorded without change, so that later transactions can be reviewed and the access record can be tracked.

트랜잭션을 기록하는 단계(S153)는 트랜잭션을 기록하는 과정에서 다수의 블록체인 노드를 이용하여 검증을 수행할 수 있다. 이를 통해 본 발명에서는 노드의 신뢰성이 보장되고, 액세스 토큰의 해시값을 분산형 해시 테이블의 ID로 사용하기 때문에 변조가 방지될 수 있고 액세스 토큰에 대한 무결성 및 신뢰성을 보장할 수 있다.In the step of recording the transaction (S153), verification may be performed using a plurality of blockchain nodes in the process of recording the transaction. Through this, in the present invention, the reliability of the node is guaranteed, and since the hash value of the access token is used as the ID of the distributed hash table, tampering can be prevented and the integrity and reliability of the access token can be guaranteed.

데이터 접근 권한을 증명하는 단계(S155)는 기록된 트랜잭션이 유효한 경우 액세스 토큰을 서비스 제공 서버로 전달하여 사용자 단말기의 데이터 접근 권한을 증명하도록 형성된다. 데이터 접근 권한을 증명하는 단계(S155)는 유효하지 않은 트랜잭션이 확인된 경우, 해당 접근이 비정상인 것으로 판단하고, 액세스 토큰을 서비스 제공 서버로 전달하지 않는다. 본 발명에서는 트랜잭션을 먼저 기록 한 이후 유효여부를 판단하도록 형성되기 때문에 정상 접근과 비정상 접근 모두 블록체인 상에 기록된다. 따라서, 데이터 접근 권한을 증명하는 단계(S155)는 유효하지 않은 트랜잭션의 기록을 통해 비정상 적인 접근 시도나 액세스 토큰 변주를 추적할 수 있어 로컬 기기보다 안전하게 액세스 토큰을 관리할 수 있다.The step of proving the data access right (S155) is formed to prove the data access right of the user terminal by passing the access token to the service providing server if the recorded transaction is valid. In the step of proving data access authority (S155), when an invalid transaction is confirmed, the corresponding access is determined to be abnormal, and the access token is not transferred to the service providing server. In the present invention, since the transaction is first recorded and then validated, both normal access and abnormal access are recorded on the blockchain. Therefore, in the step of proving data access rights (S155), abnormal access attempts or access token variations can be tracked through records of invalid transactions, so access tokens can be managed more safely than local devices.

데이터 접근 권한을 증명하는 단계(S155)에서 특정 사용자 단말기의 데이터 접근 권한을 증명하면, 서비스 제공 서버는 해당 사용자 단말기의 데이터 접근을 허가하고, 사용자는 사용자 단말기를 통해 원하는 데이터를 제공받을 수 있다. 또, 본 발명의 사용 요청 트랜잭션을 처리하는 단계(S15)는 사용자 단말기에서 발생하는 모든 트랜잭션에 대하여 블록체인 상에 기록함으로써, 해당 사용자 단말기에서 어떤 데이터를 요청하였는지 추후에 추적하도록 형성될 수도 있다.If the data access right of the specific user terminal is proved in step S155 of verifying the data access right, the service providing server permits data access of the corresponding user terminal, and the user can receive desired data through the user terminal. In addition, in the step of processing the use request transaction (S15) of the present invention, all transactions occurring in the user terminal are recorded on the blockchain, so that any data requested by the user terminal can be tracked at a later time.

한편, 본 발명에서 서비스 제공 서버는 인증 서버 및 데이터 제공 서버로 형성될 수도 있다. 이 경우 액세스 토큰의 관리는 인증 서버와의 통신을 통해 수행되고, 이후 사용자 단말기에서 요청하는 데이터의 제공은 데이터 제공 서버를 통해 수행될 수 있다.Meanwhile, in the present invention, the service providing server may be formed of an authentication server and a data providing server. In this case, management of the access token may be performed through communication with the authentication server, and then provision of data requested by the user terminal may be performed through the data providing server.

또, 상술한 바와 같이 본 발명의 일 실시예에 따른 블록체인을 이용한 액세스 토큰 관리 방법(10)은 액세스 토큰 발급부를 이용하여 사용자 단말기에서 인증 서버로부터 액세스 토큰을 발급받는 과정에 관여하는 액세스 토큰을 발급하는 단계(S11)를 도 5와 같이 더 포함하도록 형성될 수 있다. 본 발명의 액세스 토큰을 발급하는 단계(S11)는 도 6에 도시된 바와 같이 발급 요청 정보를 획득하는 단계(S111), 리퀘스트 토큰을 전달하는 단계(S113) 및 액세스 토큰을 발급하는 단계(S115)를 포함하도록 형성될 수 있다. In addition, as described above, the access token management method 10 using a block chain according to an embodiment of the present invention uses an access token issuing unit to obtain an access token involved in the process of issuing an access token from an authentication server in a user terminal. It may be formed to further include the issuing step (S11) as shown in FIG. Issuing an access token of the present invention (S11) is a step of obtaining issuance request information (S111), transmitting a request token (S113) and issuing an access token (S115) as shown in FIG. It can be formed to include.

발급 요청 정보를 획득하는 단계(S111)는 사용자 단말기로부터 데이터에 대한 접근을 위해 필요한 리퀘스트 토큰에 대한 발급 요청 정보를 획득하고 클라이언트 ID가 존재하는지 확인하도록 형성된다. 발급 요청 정보를 획득하는 단계(S111)는 클라이언트 ID가 존재하는 발급 요청 정보에 대해서는 후술되는 리퀘스트 토큰을 전달하는 단계(S113)에서 사용할 수 있도록 전달하며, 클라이언트 ID가 존재하지 않는 발급 요청 정보에 대해서는 리퀘스트 토큰을 전달하는 단계(S113)로 전달하지 않음으로써, 유효한 발급 요청 정보만 본 발명에서 사용할 수 있도록 할 수 있다.Acquiring issue request information (S111) is formed to obtain issue request information for a request token necessary for access to data from a user terminal and to check whether a client ID exists. In the step of acquiring the issuance request information (S111), the issuance request information with the client ID is delivered so that it can be used in the step of delivering the request token described later (S113), and the issuance request information with no client ID is transmitted. By not passing the request token to the step of transmitting (S113), only valid issuance request information can be used in the present invention.

클라이언트 ID는 특정 사용자 단말기 또는 사용자 단말기에 설치되는 애플리케이션에서 인증 서버에 접속하기 위해 부여된 ID를 의미할 수 있다. 본 발명의 발급 요청 정보를 획득하는 단계(S111)는 클라이언트 ID가 존재하지 않는, 다시 말해 정상적인 인증 과정을 거치지 않은 서드 파티 애플리케이션 또는 사용자 단말기에서 액세스 토큰을 획득하기 위해 리퀘스트 토큰 발급 요청을 수행하는 것을 방지할 수 있다.The client ID may refer to an ID assigned to access an authentication server in a specific user terminal or an application installed in the user terminal. The step of obtaining issuance request information (S111) of the present invention is to perform a request token issuance request to obtain an access token from a third party application or user terminal that does not have a client ID, that is, has not undergone a normal authentication process. It can be prevented.

리퀘스트 토큰을 전달하는 단계(S113)는 클라이언트 ID가 존재하는 발급 요청 정보를 획득하면, 해당 발급 요청 정보를 인증 서버로 전달하도록 형성된다. 이때, 인증 서버는 해당 발급 요청 정보에 포함된 클라이언트 ID가 인증 서버에서 기 인증 받아 등록된 ID인지 판단하며, 판단 결과 기 등록된 ID인 경우, 리퀘스트 토큰을 제공한다. 리퀘스트 토큰을 전달하는 단계(S113)는 인증 서버에서 제공하는 리퀘스트 토큰을 획득하고, 이를 해당 발급 요청 정보를 제공한 사용자 단말기로 전달할 수 있다. In the step of transmitting the request token (S113), when issuance request information having a client ID is acquired, the corresponding issue request information is transmitted to the authentication server. At this time, the authentication server determines whether the client ID included in the issuance request information is an ID that has been previously authenticated and registered by the authentication server, and provides a request token if the ID is already registered as a result of the determination. In the step of transmitting the request token (S113), the request token provided by the authentication server may be acquired and transferred to the user terminal that provided the corresponding issuance request information.

한편, 사용자는 사용자 단말기를 통해 리퀘스트 토큰을 획득하면, 해당 리퀘스트 토큰에 서명을 수행하여 사용자를 인증하고, 인증 정보를 이용하여 액세스 토큰을 획득하기 위해 서명한 리퀘스트 토큰을 액세스 토큰을 발급하는 단계(S115)로 전달할 수 있다.On the other hand, when the user obtains the request token through the user terminal, authenticating the user by signing the request token, and issuing the signed request token to obtain the access token using authentication information as an access token ( S115).

액세스 토큰을 발급하는 단계(S115)는 사용자 단말기에서 리퀘스트 토큰에 서명하여 리퀘스트 토큰을 전달하면, 인증 서버로 해당 리퀘스트 토큰을 전달하도록 형성된다. 이때, 인증 서버는 획득한 리퀘스트 토큰에 포함된 서명을 검증하고, 검증 결과에 따라 액세스 토큰을 발급할 수 있다. 액세스 토큰을 발급하는 단계(S115)는 인증 서버에서 발급한 액세스 토큰을 획득한 후 해당 사용자 단말기로 전달할 수 있다.Issuing the access token (S115) is formed to deliver the request token to the authentication server when the user terminal signs the request token and delivers the request token. At this time, the authentication server may verify the signature included in the acquired request token and issue an access token according to the verification result. In the step of issuing an access token (S115), the access token issued by the authentication server may be acquired and then transferred to the corresponding user terminal.

한편, 도 9에는 본 발명이 수행되는 모의 시나리오가 나타나고 있다. 본 모의 시나리오는 상술한 시스템 및 방법에서 각각 액세스 토큰 발급부(11) 및 액세스 토큰을 발급하는 단계(S11)가 제외되고 사용자 단말기(2)와 서비스 제공 서버(3)가 직접 액세스 토큰을 주고받는 시나리오이다.Meanwhile, FIG. 9 shows a simulated scenario in which the present invention is performed. In this simulated scenario, the access token issuing unit 11 and the step of issuing the access token (S11) are excluded from the above-described system and method, and the user terminal 2 and the service providing server 3 directly exchange the access token. It's a scenario.

도 9를 살펴보면, 본 발명이 수행되는 모의 시나리오는 총 15단계로 구성된다. 먼저, 사용자가 사용자 단말기(2)에 설치된 서드파티 애플리케이션에 특정 서비스를 요청한다(단계 1). 여기서, 특정 서비스는 서비스 제공 서버(3)에 특정 데이터의 제공을 요구하는 서비스일 수 있다.Referring to FIG. 9, the simulation scenario in which the present invention is performed consists of a total of 15 steps. First, a user requests a specific service from a third party application installed in the user terminal 2 (step 1). Here, the specific service may be a service that requests the service providing server 3 to provide specific data.

사용자 단말기(2)는 서드파티 애플리케이션을 이용하여 서비스 제공 서버(3)에 데이터 접근을 위한 리퀘스트 토큰 발급을 요청한다(단계 2). 여기서, 서비스 제공 서버(3)는 인증 서버(31)일 수 있다.The user terminal 2 requests issuance of a request token for data access to the service providing server 3 using a third party application (step 2). Here, the service providing server 3 may be an authentication server 31 .

인증 서버(31)는 리퀘스트 토큰 발급 요청을 수신하면, 요청 정보에 포함된 클라이언트 ID를 확인하고, 이를 통해 리퀘스트 토큰 발급을 요청한 서드파티 애플리케이션의 기 등록 여부를 확인하고, 기 등록된 서드파티 애플리케이션인 경우 리퀘스트 토큰을 발급한다(단계 3).Upon receiving the request token issuance request, the authentication server 31 checks the client ID included in the request information, checks whether the third party application requesting the request token issuance has already been registered, and checks whether the previously registered third party application If so, a request token is issued (step 3).

인증 서버(31)에서 발급된 리퀘스트 토큰은 서드파티 애플리케이션으로 전달되고, 서드파티 애플리케이션은 사용자 단말기(2)를 이용하여 사용자에게 인증 서버(31)로부터 데이터 접근 여부 및 범주를 인가 받기 위한 인증 정보를 획득한다(단계 4). 이를 위해 서드파티 애플리케이션은 데이터 접근 여부 및 범주를 인가받기 위한 인증페이지를 리다이렉트하여 사용자에게 제공할 수 있으며, 여기서 인증페이지는 인증 서버(31)에서 공식적으로 제공하는 페이지일 수 있다.The request token issued by the authentication server 31 is delivered to the third party application, and the third party application uses the user terminal 2 to provide authentication information to the user to obtain data access and category authorization from the authentication server 31. Acquire (step 4). To this end, the third party application may redirect and provide an authentication page for authorizing data access and category to the user, where the authentication page may be a page officially provided by the authentication server 31 .

사용자는 서드파티 애플리케이션을 통해 획득한 인증페이지에서 데이터 접근 여부 및 범주를 인가하고 이를 증명하기 위해 리퀘스트 토큰에 서명을 수행한다(단계 5). 서명된 리퀘스트 토큰은 사용자 단말기(2)를 통해 다시 인증 서버(31)로 전달될 수 있다.The user authorizes data access and category on the authentication page acquired through the third party application, and signs the request token to prove it (step 5). The signed request token may be transmitted back to the authentication server 31 through the user terminal 2 .

인증 서버는 획득한 서명된 리퀘스트 토큰을 이용하여 사용자의 서명을 검증한다(단계 6). 여기서, 사용자의 서명이 기 저장된 서명과 일치하거나 위조되었다는 증거가 없는 경우, 인증 서버(31)는 액세스 토큰을 사용자 단말기(2)에 발급한다.The authentication server verifies the user's signature using the obtained signed request token (step 6). Here, when there is no evidence that the user's signature matches a pre-stored signature or forged, the authentication server 31 issues an access token to the user terminal 2 .

사용자는 인증 서버(31)로부터 발급 받은 액세스 토큰을 블록체인을 이용한 액세스 토큰 관리 시스템(1) 또는 블록체인을 이용한 액세스 토큰 관리 방법(10)이 사용 가능한 장치, 단말기 또는 시스템에 전달한다(단계 7). 이하에서는 설명의 편의상 토큰 관리 서버로 통칭한다.The user transfers the access token issued from the authentication server 31 to a device, terminal or system that can use the access token management system 1 using a block chain or the access token management method 10 using a block chain (step 7). ). Hereinafter, for convenience of description, it is collectively referred to as a token management server.

토큰 관리 서버는 사용자로부터 전달 받은 액세스 토큰을 저장하고, 접근 허용자 리스트에 사용자를 추가하는 등의 수정을 수행한 후 서드파티 애플리케이션으로 액세스 코드의 해시값인 노드의 ID를 전달한다(단계 8). The token management server stores the access token received from the user, performs modifications such as adding the user to the list of authorized users, and sends the node ID, which is the hash value of the access code, to the third party application (step 8). .

사용자는 서드파티 애플리케이션을 통해 토큰 관리 서버의 블록체인 노드에 액세스 토큰의 사용 요청 트랜잭션을 발생시키고(단계 9), 토큰 관리 서버는 발생한 사용 요청 트랜잭션에 대한 유효성 검증을 수행한 후 해당 트랜잭션을 블록체인상에 기록한다(단계 10).The user generates a transaction requesting the use of the access token to the blockchain node of the token management server through a third-party application (step 9), and the token management server validates the transaction requesting use that has occurred and sends the transaction to the blockchain node. write on (step 10).

여기서, 블록체인상에 기록된 트랜잭션이 유효한 경우 토큰 관리 서버는 데이터 제공 서버(33)에 액세스 토큰을 전달해 데이터 접근 권한을 증명한다(단계 11).Here, if the transaction recorded on the blockchain is valid, the token management server transfers the access token to the data providing server 33 to prove data access rights (step 11).

데이터 제공 서버(33)는 액세스 토큰에 대한 검증을 수행하고, 검증이 완료되면 서드파티 애플리케이션에 데이터 접근이 가능하다는 정보를 제공하며(단계 12), 서드 파티 애플리케이션은 접근 가능 상태에서 데이터 제공 서버(33)에 단계 1에서 사용자가 요청한 특정 데이터의 제공을 요청한다(단계 13).The data providing server 33 verifies the access token, and when the verification is complete, provides the third party application with information that data access is possible (step 12), and the third party application in an accessible state provides the data providing server ( 33) requests the provision of specific data requested by the user in step 1 (step 13).

데이터 제공 서버(33)는 요청받은 데이터를 서드파티 애플리케이션에 전송하며(단계 14), 서드파티 애플리케이션은 전송받은 데이터를 기반으로 사용자에게 특정 서비스를 제공할 수 있다(단계 15).The data providing server 33 transmits the requested data to the third party application (step 14), and the third party application may provide a specific service to the user based on the received data (step 15).

이상에서 본 발명의 일 실시예에 대하여 설명하였으나, 본 발명의 사상은 본 명세서에 제시되는 실시 예에 제한되지 아니하며, 본 발명의 사상을 이해하는 당업자는 동일한 사상의 범위 내에서, 구성요소의 부가, 변경, 삭제, 추가 등에 의해서 다른 실시 예를 용이하게 제안할 수 있을 것이나, 이 또한 본 발명의 사상범위 내에 든다고 할 것이다.Although one embodiment of the present invention has been described above, the spirit of the present invention is not limited to the embodiments presented herein, and those skilled in the art who understand the spirit of the present invention may add elements within the scope of the same spirit. However, other embodiments can be easily proposed by means of changes, deletions, additions, etc., but these will also fall within the scope of the present invention.

1: 블록체인을 이용한 액세스 토큰 관리 시스템
2: 사용자 단말기 3: 서비스 제공 서버
11: 액세스 토큰 발급부 13: 액세스 토큰 처리부
15: 사용 요청 트랜잭션 처리부
31: 인증 서버 33: 데이터 제공 서버
111: 발급 요청 정보 획득 모듈
113: 리퀘스트 토큰 전달 모듈
115: 액세스 토큰 발급 모듈
131: 접근 허용 리스트 수정 모듈
133: 노드 ID 제공 모듈
151: 트랜잭션 발생 확인 모듈
153: 트랜잭션 기록 모듈
155: 데이터 접근 권한 증명 모듈
1: Access token management system using blockchain
2: user terminal 3: service providing server
11: access token issuing unit 13: access token processing unit
15: Usage request transaction processing unit
31: authentication server 33: data provision server
111: issuance request information acquisition module
113: request token delivery module
115: access token issuance module
131: access permission list modification module
133: node ID providing module
151: transaction occurrence confirmation module
153: transaction history module
155: data access authority authentication module

Claims (5)

사용자 단말기와 서비스 제공 서버 사이에 구비되며, 상기 서비스 제공 서버에서 제공하는 액세스 토큰의 관리를 블록체인을 이용하여 수행하는 블록체인을 이용한 액세스 토큰 관리 시스템에 있어서,
상기 액세스 토큰 관리 시스템은,
상기 사용자 단말기로부터 상기 액세스 토큰을 획득하면, 상기 액세스 토큰을 저장하고, 접근 허용자 리스트를 수정하며, 상기 사용자 단말기에 상기 액세스 토큰의 해시값을 전달하는 액세스 토큰 처리부; 및
상기 사용자 단말기로부터 사용 요청 트랜잭션을 획득하면, 상기 사용 요청 트랜잭션의 유효성을 검증하며, 블록체인에 기록하고 상기 유효성이 검증된 액세스 토큰인 유효 액세스 토큰을 상기 서비스 제공 서버에 제공하는 사용 요청 트랜잭션 처리부;를 포함하며,
상기 액세스 토큰은 상기 서비스 제공 서버로부터 발급되는 블록체인을 이용한 액세스 토큰 관리 시스템.
In an access token management system using a block chain provided between a user terminal and a service providing server and performing management of an access token provided by the service providing server using a block chain,
The access token management system,
an access token processing unit that, when obtaining the access token from the user terminal, stores the access token, modifies an access permitted list, and transmits a hash value of the access token to the user terminal; and
a use request transaction processing unit that, upon obtaining a use request transaction from the user terminal, verifies the validity of the use request transaction, records it in a blockchain, and provides a valid access token, which is the validated access token, to the service providing server; Including,
The access token is an access token management system using a block chain issued from the service providing server.
제 1항에 있어서,
상기 액세스 토큰 처리부는,
상기 액세스 토큰을 획득하여 저장하고, 상기 사용자 단말기로부터 획득되는 인증 정보를 이용하여 접근 허용 리스트를 수정하는 접근 허용 리스트 수정 모듈; 및
상기 사용자 단말기로 상기 액세스 토큰의 상기 해시값인 노드의 ID를 전달하는 노드 ID 제공 모듈;을 포함하는 블록체인을 이용한 액세스 토큰 관리 시스템.
According to claim 1,
The access token processing unit,
an access permission list modification module for acquiring and storing the access token and modifying an access permission list using authentication information obtained from the user terminal; and
Access token management system using a block chain comprising a; node ID providing module for transmitting the ID of the node that is the hash value of the access token to the user terminal.
제 1항에 있어서,
상기 사용 요청 트랜잭션 처리부는,
상기 사용자 단말기가 상기 블록체인의 노드에 발생시키는 상기 액세스 토큰에 대한 사용 요청 트랜잭션이 존재하는지 확인하는 트랜잭션 발생 확인 모듈;
상기 트랜잭션에 대한 유효성 검증을 수행하고 상기 블록체인에 상기 트랜잭션을 기록하는 트랜잭션 기록 모듈; 및
상기 기록된 트랜잭션이 유효한 경우 상기 액세스 토큰을 상기 서비스 제공 서버로 전달하여 상기 사용자 단말기의 데이터 접근 권한을 증명하는 데이터 접근 권한 증명 모듈;을 포함하는 블록체인을 이용한 엑세스 토큰 관리 시스템.
According to claim 1,
The use request transaction processing unit,
a transaction generation confirmation module for verifying whether a transaction requesting use of the access token generated by the user terminal in the node of the block chain exists;
a transaction recording module for performing validity verification on the transaction and recording the transaction in the blockchain; and
If the recorded transaction is valid, the access token is transmitted to the service providing server to prove data access rights of the user terminal; access token management system using a block chain comprising:
제 1항에 있어서,
상기 서비스 제공 서버는,
인증 서버 및 데이터 제공 서버를 포함하도록 형성되며, 상기 액세스 토큰의 관리는 상기 인증 서버와의 통신을 통해 수행되고, 상기 데이터 제공 서버를 통해 상기 사용자 단말기에 데이터를 제공하며,
상기 블록체인을 이용한 액세스 토큰 관리 시스템은,
상기 사용자 단말기에 상기 액세스 토큰을 발급하기 위해 구비되는 액세스 토큰 발급부;를 더 포함하며,
상기 액세스 토큰 발급부는,
상기 사용자 단말기로부터 상기 데이터에 대한 접근을 위한 상기 리퀘스트 토큰의 발급 요청 정보를 획득하고 클라이언트 ID가 존재하는지 확인하는 발급 요청 정보 획득 모듈;
상기 클라이언트 ID가 존재하는 발급 요청 정보를 상기 인증 서버로 전달하고, 상기 인증 서버에서 기 등록된 ID로 판단하는 경우 제공되는 상기 리퀘스트 토큰을 획득하여 사용자 단말기로 전달하는 리퀘스트 토큰 전달 모듈;
상기 사용자 단말기에서 상기 리퀘스트 토큰에 서명하여 상기 리퀘스트 토큰을 전달하면, 상기 인증 서버로 상기 리퀘스트 토큰을 전달하고, 상기 인증 서버에서 상기 서명을 검증한 후 발급하는 상기 액세스 토큰을 획득하여 상기 사용자 단말기로 전달하는 액세스 토큰 발급 모듈;을 포함하는 블록체인을 이용한 액세스 토큰 관리 시스템.
According to claim 1,
The service providing server,
It is formed to include an authentication server and a data providing server, the management of the access token is performed through communication with the authentication server, and provides data to the user terminal through the data providing server,
The access token management system using the blockchain,
Further comprising: an access token issuing unit provided to issue the access token to the user terminal;
The access token issuing unit,
an issuance request information obtaining module for obtaining issue request information of the request token for access to the data from the user terminal and verifying whether a client ID exists;
a request token delivery module for transmitting issuance request information in which the client ID exists to the authentication server, acquiring the request token provided when the authentication server determines that the ID is pre-registered, and transmitting the request token to a user terminal;
When the user terminal signs the request token and delivers the request token, the request token is transmitted to the authentication server, and the authentication server obtains the access token issued after verifying the signature to the user terminal. An access token management system using a block chain including; an access token issuance module that transmits.
사용자 단말기와 서비스 제공 서버 사이에서 상기 서비스 제공 서버에서 제공하는 액세스 토큰의 관리를 블록체인을 이용하여 수행하는 블록체인을 이용한 액세스 토큰 관리 방법에 있어서,
상기 블록체인을 이용한 액세스 토큰 관리 방법은,
상기 사용자 단말기로부터 액세스 토큰 처리부를 이용하여 상기 액세스 토큰을 획득하면, 상기 액세스 토큰을 저장하고, 접근 허용자 리스트를 수정하며, 상기 사용자 단말기에 상기 액세스 토큰의 해시값을 전달하는 단계; 및
상기 사용자 단말기로부터 사용 요청 트랜잭션 처리부를 이용하여 사용 요청 트랜잭션을 획득하면, 상기 사용 요청 트랜잭션의 유효성을 검증하며, 블록체인에 기록하고 상기 유효성이 검증된 액세스 토큰인 유효 액세스 토큰을 상기 서비스 제공 서버에 제공하는 단계;를 포함하며,
상기 액세스 토큰은 상기 서비스 제공 서버로부터 발급되는 블록체인을 이용한 액세스 토큰 관리 방법.
In the access token management method using a block chain for performing the management of the access token provided by the service providing server between a user terminal and a service providing server using a block chain,
The access token management method using the blockchain,
When obtaining the access token from the user terminal using an access token processing unit, storing the access token, modifying an access permitted list, and transmitting a hash value of the access token to the user terminal; and
When a use request transaction is obtained from the user terminal using the use request transaction processing unit, the validity of the use request transaction is verified, recorded in the blockchain, and the valid access token, which is the validated access token, is sent to the service providing server. Including; providing;
The access token is an access token management method using a block chain issued from the service providing server.
KR1020220056088A 2021-12-13 2022-05-06 Access token management system and method using blockchain KR20230089520A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020210177949 2021-12-13
KR20210177949 2021-12-13

Publications (1)

Publication Number Publication Date
KR20230089520A true KR20230089520A (en) 2023-06-20

Family

ID=86995181

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220056088A KR20230089520A (en) 2021-12-13 2022-05-06 Access token management system and method using blockchain

Country Status (1)

Country Link
KR (1) KR20230089520A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117708787A (en) * 2024-02-06 2024-03-15 人民法院信息技术服务中心 Cross-chain data acquisition method and device based on distributed identity recognition

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102254499B1 (en) 2018-03-30 2021-05-21 주식회사 코인플러그 Method for oauth service through blockchain, and terminal and server using the same

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102254499B1 (en) 2018-03-30 2021-05-21 주식회사 코인플러그 Method for oauth service through blockchain, and terminal and server using the same

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117708787A (en) * 2024-02-06 2024-03-15 人民法院信息技术服务中心 Cross-chain data acquisition method and device based on distributed identity recognition
CN117708787B (en) * 2024-02-06 2024-04-26 人民法院信息技术服务中心 Cross-chain data acquisition method and device based on distributed identity recognition

Similar Documents

Publication Publication Date Title
KR101979586B1 (en) IoT DEVICE MANAGED BASED ON BLOCK CHAIN, SYSTEM AND METHOD THEREOF
US11645593B2 (en) Use of identity and access management for service provisioning
US7694330B2 (en) Personal authentication device and system and method thereof
US9830447B2 (en) Method and system for verifying an access request
KR20180054530A (en) Identification System Using a Relay Server and Identification Method by the Same
US20020049912A1 (en) Access control method
US9825938B2 (en) System and method for managing certificate based secure network access with a certificate having a buffer period prior to expiration
KR102265788B1 (en) Multi-security authentication system and method between blockchain-based mobile terminals and IoT devices
CN101262342A (en) Distributed authorization and validation method, device and system
RU2008141288A (en) AUTHENTICATION FOR COMMERCIAL TRANSACTION WITH THE MOBILE MODULE
EP3579595B1 (en) Improved system and method for internet access age-verification
KR20080019362A (en) Substitutable local domain management system and method for substituting the system
KR20060032888A (en) Apparatus for managing identification information via internet and method of providing service using the same
US20170104748A1 (en) System and method for managing network access with a certificate having soft expiration
US20230412400A1 (en) Method for suspending protection of an object achieved by a protection device
JP3761432B2 (en) Communication system, user terminal, IC card, authentication system, connection and communication control system, and program
KR20230089520A (en) Access token management system and method using blockchain
CN112968779B (en) Security authentication and authorization control method, control system and program storage medium
CN112565294B (en) Identity authentication method based on block chain electronic signature
JPH05298174A (en) Remote file access system
JP2009003501A (en) Onetime password authentication system
JPH1125045A (en) Access control method, its device, attribute certificate issuing device, and machine-readable recording medium
JP2018022941A (en) Management system, management server and management program
CN116055178A (en) OTP authentication method supporting offline environment
JP2012033000A (en) Memory device, host device, server device, authentication system, and authentication method