KR20240075095A - Authentication system of zero trust network using a blockchain based token process and authentication method thereof - Google Patents

Authentication system of zero trust network using a blockchain based token process and authentication method thereof Download PDF

Info

Publication number
KR20240075095A
KR20240075095A KR1020220156308A KR20220156308A KR20240075095A KR 20240075095 A KR20240075095 A KR 20240075095A KR 1020220156308 A KR1020220156308 A KR 1020220156308A KR 20220156308 A KR20220156308 A KR 20220156308A KR 20240075095 A KR20240075095 A KR 20240075095A
Authority
KR
South Korea
Prior art keywords
token
authentication
blockchain
terminal
management server
Prior art date
Application number
KR1020220156308A
Other languages
Korean (ko)
Inventor
송왕철
무하마드 아팍
리베라 하비에르 호세 디아즈
왈리드 악바르
Original Assignee
제주대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 제주대학교 산학협력단 filed Critical 제주대학교 산학협력단
Priority to KR1020220156308A priority Critical patent/KR20240075095A/en
Publication of KR20240075095A publication Critical patent/KR20240075095A/en

Links

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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • 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/3297Cryptographic 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 time stamps, e.g. generation of time stamps
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/102Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying security measure for e-commerce

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

본 발명의 일 실시예에 따른 블록체인을 이용한 제로 트러스트 네트워크의 인증 시스템에 있어서, 네트워크 등록을 요청하는 단말과 ID 인증을 수행하고, 상기 단말의 ID 인증됨에 기초하여 네트워크 등록을 위한 토큰을 포함하는 토큰 정보를 생성하고, 상기 토큰 정보를 상기 ID 인증된 단말에 제공하는 관리 서버; 및 상기 관리 서버로부터 상기 ID 인증된 단말에 대한 토큰 생성 요청을 수신함에 따라 상기 토큰을 생성하고, 상기 ID 인증된 단말로부터 상기 토큰을 이용한 상기 네트워크 등록 요청이 수신되는 경우, 상기 토큰을 검증하여 상기 ID 인증된 단말의 네트워크 등록 여부를 결정하는 인증 서버를 포함하고, 상기 관리 서버는, 상기 ID 인증 시 획득한 상기 ID 인증된 단말의 블록체인 공개키를 이용하여 상기 인증 서버로부터 수신한 상기 토큰을 암호화하고, 상기 암호화된 토큰을 블록체인 기반 NFT(Non-Fungible Token)에 메타데이터로 포함시킴으로써, 상기 토큰 정보를 생성한다. In the authentication system of a zero trust network using a blockchain according to an embodiment of the present invention, ID authentication is performed with a terminal requesting network registration, and a token for network registration is included based on the ID authentication of the terminal. a management server that generates token information and provides the token information to the ID authenticated terminal; and generate the token upon receiving a token creation request for the ID-authenticated terminal from the management server, and when the network registration request using the token is received from the ID-authenticated terminal, verify the token and It includes an authentication server that determines whether to register the ID-authenticated terminal in the network, and the management server uses the blockchain public key of the ID-authenticated terminal obtained during the ID authentication to receive the token from the authentication server. The token information is generated by encrypting and including the encrypted token as metadata in a blockchain-based NFT (Non-Fungible Token).

Description

토큰 프로세스 기반 블록체인을 이용한 제로 트러스트 네트워크의 인증 시스템 및 인증 방법{Authentication system of zero trust network using a blockchain based token process and authentication method thereof}Authentication system of zero trust network using a blockchain based token process and authentication method thereof}

본 발명은 제로 트러스트 네트워크의 인증 시스템 및 인증 방법에 관한 것이다.The present invention relates to an authentication system and authentication method in a zero trust network.

제로 트러스트 네트워크(Zero Trust Network, ZTN)는 신원을 인증받고 지속적으로 검증되기 전에는 네트워크 인프라의 어떤 엔터티(entity)에도 시스템에 접속 권한을 부여하지 않는 네트워크 보안 모델이다. ZTN을 달성하기 위해 보안상 중요한 부분은 식별된 엔터티에 대해서만 네트워크 리소스에 대한 액세스를 최소화하고 각 후속 액세스 요청에 대해 이러한 ID를 지속적으로 인증 및 승인하는 것이다. Zero Trust Network (ZTN) is a network security model that does not grant access to systems to any entity in the network infrastructure until its identity is authenticated and continuously verified. A security critical part of achieving ZTN is minimizing access to network resources only for identified entities and continuously authenticating and authorizing these identities for each subsequent access request.

이를 보장하기 위해 사용되는 몇 가지 표준 방법, 예를 들어, OAuth2.0, OpenID Connect 등은 인증 프로세스 중에 JSON 웹 토큰(JSON Web Token, JWT)을 사용한다. 그러나 네트워크 등록을 위한 일회성 토큰(One Time Token, OTT) 등록 시 JWT를 사용하면 잠재적인 보안 문제가 있다.Several standard methods used to ensure this, such as OAuth2.0, OpenID Connect, etc., use JSON Web Tokens (JWT) during the authentication process. However, there are potential security issues when using JWT when registering a One Time Token (OTT) for network registration.

예를 들어, JWT는 제3자에 의해 가로채어질 수 있고, JWT 페이로드의 정보가 노출되어 인증 서버의 세부 정보를 드러낼 수 있다. 또한 가로채어진 JWT는 JWT가 활성 상태로 유지되는 한 권한 없는 다른 사람이 등록하는 데 사용될 수 있다. For example, a JWT can be intercepted by a third party, and information in the JWT payload can be exposed, revealing details of the authentication server. Additionally, intercepted JWTs can be used for registration by other unauthorized parties as long as the JWT remains active.

따라서, 네트워크 등록을 위한 토큰을 안전하게 전달할 수 있는 기술에 대한 제안이 필요한 실정이다. Therefore, there is a need for a proposal for a technology that can safely transmit tokens for network registration.

본 발명의 목적은 보다 안전하게 네트워크 등록을 위한 토큰을 전달할 수 있는 제로 트러스트 네트워크의 인증 시스템 및 인증 방법을 제공하는 것이다.The purpose of the present invention is to provide an authentication system and authentication method for a zero trust network that can more safely transmit tokens for network registration.

본 발명의 목적은 보다 효과적으로 네트워크 등록을 위한 토큰의 소유권을 보장할 수 있는 제로 트러스트 네트워크의 인증 시스템 및 인증 방법을 제공하는 것이다.The purpose of the present invention is to provide an authentication system and authentication method for a zero trust network that can more effectively guarantee ownership of tokens for network registration.

본 발명의 일 실시예에 따른 블록체인을 이용한 제로 트러스트 네트워크의 인증 시스템에 있어서, 네트워크 등록을 요청하는 단말과 ID 인증을 수행하고, 상기 단말의 ID 인증됨에 기초하여 네트워크 등록을 위한 토큰을 포함하는 토큰 정보를 생성하고, 상기 토큰 정보를 상기 ID 인증된 단말에 제공하는 관리 서버; 및 상기 관리 서버로부터 상기 ID 인증된 단말에 대한 토큰 생성 요청을 수신함에 따라 상기 토큰을 생성하고, 상기 ID 인증된 단말로부터 상기 토큰을 이용한 상기 네트워크 등록 요청이 수신되는 경우, 상기 토큰을 검증하여 상기 ID 인증된 단말의 네트워크 등록 여부를 결정하는 인증 서버를 포함하고, 상기 관리 서버는, 상기 ID 인증 시 획득한 상기 ID 인증된 단말의 블록체인 공개키를 이용하여 상기 인증 서버로부터 수신한 상기 토큰을 암호화하고, 상기 암호화된 토큰을 블록체인 기반 NFT(Non-Fungible Token)에 메타데이터로 포함시킴으로써, 상기 토큰 정보를 생성한다. In the authentication system of a zero trust network using a blockchain according to an embodiment of the present invention, ID authentication is performed with a terminal requesting network registration, and a token for network registration is included based on the ID authentication of the terminal. a management server that generates token information and provides the token information to the ID authenticated terminal; and generate the token upon receiving a token creation request for the ID-authenticated terminal from the management server, and when the network registration request using the token is received from the ID-authenticated terminal, verify the token and It includes an authentication server that determines whether to register the ID-authenticated terminal in the network, and the management server uses the blockchain public key of the ID-authenticated terminal obtained during the ID authentication to receive the token from the authentication server. The token information is generated by encrypting and including the encrypted token as metadata in a blockchain-based NFT (Non-Fungible Token).

상기 관리 서버는, 상기 단말과 ID 인증을 수행하면서 상기 블록체인 공개키와 상기 ID 인증된 단말의 블록체인 공개주소를 획득하고, 블록체인 기반 ID 관리 스마트 계약을 사용하여 상기 블록체인 공개주소를 등록함으로써 상기 ID 인증을 완료할 수 있다.The management server performs ID authentication with the terminal, obtains the blockchain public key and the blockchain public address of the ID-verified terminal, and registers the blockchain public address using a blockchain-based ID management smart contract. By doing so, the ID authentication can be completed.

상기 관리 서버는, 블록체인 기반 토큰 발급 스마트 계약을 사용하여 상기 암호화된 토큰을 상기 NFT의 토큰URI의 일부로 포함시키고, 상기 블록체인 공개주소와 매핑하여 상기 토큰 정보를 생성할 수 있다. The management server may include the encrypted token as part of the token URI of the NFT using a blockchain-based token issuance smart contract and generate the token information by mapping it with the blockchain public address.

상기 단말은, 상기 단말의 블록체인 개인키를 이용하여 상기 토큰 URI를 복호화하여 상기 토큰을 획득할 수 있다. The terminal may obtain the token by decrypting the token URI using the terminal's blockchain private key.

상기 인증 서버는, 상기 토큰 정보에 포함된 상기 블록체인 공개주소와 상기 ID 인증된 단말의 블록체인 공개주소가 동일한지 여부를 확인하여 상기 토큰의 유효성을 검증하고, 상기 토큰이 유효한 경우, 상기 토큰을 이용하여 상기 ID 인증된 단말의 네트워크 등록을 완료할 수 있다. The authentication server verifies the validity of the token by checking whether the blockchain public address included in the token information and the blockchain public address of the ID authenticated terminal are the same, and if the token is valid, the token You can complete network registration of the ID-authenticated terminal using .

상기 인증 서버는, 상기 토큰 정보에 포함된 토큰 시간 정보를 현재 타임 스탬프와 비교하여 상기 토큰의 만료 여부에 따른 유효성을 검증할 수 있다. The authentication server may compare token time information included in the token information with a current time stamp to verify validity according to whether the token has expired.

상기 인증 서버는, 상기 토큰이 유효하지 않은 경우, 상기 관리 서버로 토큰 상태 알림 확인을 트리거 하여 상기 토큰을 제거할 수 있다.The authentication server may remove the token if the token is invalid by triggering a token status notification check to the management server.

본 발명의 일 실시예에 따른 인증 시스템에 의해 수행되는 블록체인을 이용한 제로 트러스트 네트워크의 인증 방법에 있어서, 상기 인증 시스템의 관리 서버가 네트워크 등록을 요청하는 단말과 ID 인증을 수행하는 단계; 상기 인증 시스템의 인증 서버가 상기 관리 서버로부터 상기 ID 인증된 단말에 대한 토큰 생성 요청을 수신함에 따라 네트워크 등록을 위한 토큰을 생성하는 단계; 상기 관리 서버가 상기 ID 인증 시 획득한 상기 ID 인증된 단말의 블록체인 공개키를 이용하여 상기 토큰을 암호화하는 단계; 상기 관리 서버가 상기 암호화된 토큰을 블록체인 기반 NFT(Non-Fungible Token)에 메타데이터로 포함시킴으로써, 상기 토큰 정보를 생성하고, 상기 토큰 정보를 상기 ID 인증된 단말에 제공하는 단계; 상기 인증 서버가 상기 ID 인증된 단말로부터 상기 토큰을 이용한 상기 네트워크 등록 요청이 수신되는 경우, 상기 토큰을 검증하여 상기 ID 인증된 단말의 네트워크 등록 여부를 결정하는 단계를 포함한다. In the authentication method of a zero trust network using a blockchain performed by an authentication system according to an embodiment of the present invention, the management server of the authentication system performs ID authentication with a terminal requesting network registration; Generating a token for network registration as the authentication server of the authentication system receives a token creation request for the ID authenticated terminal from the management server; Encrypting the token using the blockchain public key of the ID-authenticated terminal obtained by the management server when authenticating the ID; The management server includes the encrypted token as metadata in a blockchain-based NFT (Non-Fungible Token), thereby generating the token information and providing the token information to the ID authenticated terminal; When the authentication server receives the network registration request using the token from the ID-authenticated terminal, it verifies the token and determines whether to register the ID-authenticated terminal in the network.

상기 ID 인증을 수행하는 단계는, 상기 단말과 ID 인증을 수행하면서 상기 블록체인 공개키와 상기 ID 인증된 단말의 블록체인 공개주소를 획득하는 단계; 블록체인 기반 ID 관리 스마트 계약을 사용하여 상기 블록체인 공개주소를 등록함으로써 상기 ID 인증을 완료하는 단계를 포함할 수 있다. The step of performing the ID authentication includes performing ID authentication with the terminal and obtaining the blockchain public key and the blockchain public address of the ID-authenticated terminal; It may include completing the ID authentication by registering the blockchain public address using a blockchain-based ID management smart contract.

상기 토큰 정보를 생성하는 단계는, 블록체인 기반 토큰 발급 스마트 계약을 사용하여 상기 암호화된 토큰을 상기 NFT의 토큰URI의 일부로 포함시키고, 상기 블록체인 공개주소와 매핑하여 상기 토큰 정보를 생성하는 단계를 포함할 수 있다.The step of generating the token information includes including the encrypted token as part of the token URI of the NFT using a blockchain-based token issuance smart contract and mapping it with the blockchain public address to generate the token information. It can be included.

상기 ID 인증된 단말의 네트워크 등록 여부를 결정하는 단계는, 상기 단말이 상기 단말의 블록체인 개인키를 이용하여 상기 토큰 URI를 복호화하여 상기 토큰을 획득하는 단계;를 더 포함할 수 있다.The step of determining whether to register the ID-authenticated terminal in the network may further include the step of the terminal obtaining the token by decrypting the token URI using the terminal's blockchain private key.

상기 ID 인증된 단말의 네트워크 등록 여부를 결정하는 단계는, 상기 토큰 정보에 포함된 상기 블록체인 공개주소와 상기 ID 인증된 단말의 블록체인 공개주소가 동일한지 여부를 확인하여 상기 토큰의 유효성을 검증하고, 상기 토큰이 유효한 경우, 상기 토큰을 이용하여 상기 ID 인증된 단말의 네트워크 등록을 완료하는 단계를 포함할 수 있다.The step of determining whether to register the ID-verified terminal in the network includes verifying the validity of the token by checking whether the blockchain public address included in the token information and the blockchain public address of the ID-verified terminal are the same. And, if the token is valid, it may include completing network registration of the ID-authenticated terminal using the token.

상기 토큰의 유효성을 검증하는 단계는, 상기 토큰 정보에 포함된 토큰 시간 정보를 현재 타임 스탬프와 비교하여 상기 토큰의 만료 여부에 따른 유효성을 검증하는 단계를 더 포함할 수 있다.Verifying the validity of the token may further include comparing token time information included in the token information with a current time stamp to verify validity according to whether the token has expired.

상기 토큰이 유효하지 않은 경우, 상기 관리 서버로 토큰 상태 알림 확인을 트리거 하여 상기 토큰을 제거하는 단계를 더 포함할 수 있다.If the token is invalid, the step of removing the token by triggering a token status notification confirmation to the management server may be further included.

본 발명의 일 실시예에 따르면, 토큰의 소유권을 보장함으로써 정당한 사용자가 네트워크 등록하여 보안을 유지할 수 있다. According to one embodiment of the present invention, by ensuring ownership of the token, legitimate users can register on the network and maintain security.

본 발명의 일 실시예에 따르면, 토큰의 소유권을 보장하고, 안전하게 토큰을 전달할 수 있다. According to an embodiment of the present invention, ownership of the token can be guaranteed and the token can be safely delivered.

본 발명의 일 실시예에 따르면, 블록체인 등 분산원장 기술은 ID 정보의 안전한 보관 기능을 제공하는 동시에 서버/데이터베이스 장애 발생 시 탄력성을 제공할 수 있다. According to an embodiment of the present invention, distributed ledger technology such as blockchain can provide a safe storage function for ID information and provide elasticity in the event of a server/database failure.

도 1은 본 발명의 일 실시예에 따른 인증 시스템을 도시한 개략도이다.
도 2는 본 발명의 일 실시예에 따른 인증 시스템의 동작 흐름도를 도시한 도면이다.
도 3은 본 발명의 일 실시예에 따른 인증 시스템과 단말 간 동작 흐름도를 도시한 도면이다.
도 4는 본 발명의 일 실시예에 따른 인증 시스템과 단말의 동작 모습을 도시한 도면이다.
1 is a schematic diagram showing an authentication system according to an embodiment of the present invention.
Figure 2 is a diagram illustrating an operation flowchart of an authentication system according to an embodiment of the present invention.
Figure 3 is a diagram illustrating an operation flowchart between an authentication system and a terminal according to an embodiment of the present invention.
Figure 4 is a diagram showing the operation of an authentication system and a terminal according to an embodiment of the present invention.

이하, 본 발명에 따른 바람직한 실시 형태를 첨부된 도면을 참조하여 상세하게 설명한다. 첨부된 도면과 함께 이하에 개시될 상세한 설명은 본 발명의 예시적인 실시형태를 설명하고자 하는 것이며, 본 발명이 실시될 수 있는 유일한 실시형태를 나타내고자 하는 것이 아니다. 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략할 수 있고, 명세서 전체를 통하여 동일 또는 유사한 구성 요소에 대해서는 동일한 참조 부호를 사용할 수 있다.Hereinafter, preferred embodiments according to the present invention will be described in detail with reference to the attached drawings. The detailed description set forth below in conjunction with the accompanying drawings is intended to illustrate exemplary embodiments of the invention and is not intended to represent the only embodiments in which the invention may be practiced. In order to clearly explain the present invention in the drawings, parts unrelated to the description may be omitted, and the same reference numerals may be used for identical or similar components throughout the specification.

도 1은 본 발명의 일 실시예에 따른 인증 시스템을 도시한 개략도이다.1 is a schematic diagram showing an authentication system according to an embodiment of the present invention.

도 1을 참조하여 살펴보면, 인증 시스템(1)(이하, 시스템(1)이라고도 한다.)은 관리 서버(100) 및 인증 서버(200)를 포함한다. 시스템(1)은 단말(10)의 네트워크 등록 요청에 따라, 단말(10)의 ID를 인증하고, 등록 여부를 결정한다. Referring to FIG. 1 , the authentication system 1 (hereinafter also referred to as system 1) includes a management server 100 and an authentication server 200. The system 1 authenticates the ID of the terminal 10 according to the network registration request of the terminal 10 and determines whether to register.

본 발명의 일 실시예에 따르면, 단말(10)(end point)은 제로 트러스트 네트워크에 ID 생성 및 등록을 요청하는 클라이언트 혹은 서비스 공급자이다. 본 발명에서는 블록체인 기술을 활용하여 ID 인증 및 네트워크 등록을 수행하는 바, 본 발명의 일 실시예에 따른 모든 단말은 블록체인 공개주소(PuAddr)와 함께 블록체인 개인키(Prk) 및 공개키(Puk)가 있는 블록체인 클라이언트를 의미하는 것으로 본다. According to one embodiment of the present invention, the terminal 10 (end point) is a client or service provider that requests ID creation and registration in a zero trust network. In the present invention, ID authentication and network registration are performed using blockchain technology, and all terminals according to an embodiment of the present invention have a blockchain public address (PuAddr), a blockchain private key (Prk), and a public key ( It is considered to mean a blockchain client with Puk).

본 발명의 일 실시예에 따르면, 관리 서버(100)는 ID 생성, 스마트 계약 실행 및 안전한 토큰 생성을 위한 인증 서버(200)와의 상호 작용에 대한 사용자 요청을 처리하는 엔터티로서, 관리 서버는 RPC 서버로 구현될 수 있다. According to one embodiment of the present invention, the management server 100 is an entity that processes user requests for interaction with the authentication server 200 for ID creation, smart contract execution, and secure token generation, and the management server is an RPC server. It can be implemented as:

보다 구체적으로, 관리 서버(100)는 네트워크 등록을 요청하는 단말(10)과 ID 인증을 수행하고, 단말(10)의 ID 인증됨에 기초하여 네트워크 등록을 위한 토큰을 포함하는 토큰 정보를 생성하여 ID 인증된 단말(10)에 제공한다. More specifically, the management server 100 performs ID authentication with the terminal 10 requesting network registration, generates token information including a token for network registration based on the ID authentication of the terminal 10, and generates ID Provided to the authenticated terminal 10.

관리 서버(100)는 블록체인 기반의 ID 관리 스마트 계약과 토큰 발급 스마트 계약에서 얻은 정보를 결합할 수 있는 분산 응용 프로그램(dapp)으로 작동한다. The management server 100 operates as a distributed application (dapp) that can combine information obtained from a blockchain-based ID management smart contract and a token issuance smart contract.

본 발명의 일 실시예에 따르면, 인증 서버(200)는 네트워크 등록을 위한 토큰을 생성하고, 단말(10)로부터 네트워크 등록 요청을 수신하면 토큰을 검증하여 단말(10)의 네트워크 등록 여부를 결정하는 엔터티이다. According to one embodiment of the present invention, the authentication server 200 generates a token for network registration, and upon receiving a network registration request from the terminal 10, verifies the token to determine whether the terminal 10 is registered in the network. It is an entity.

이때, 인증 서버(200)에 의해 생성되는 토큰은 일회성 토큰(OTT)으로 JWT의 형식을 가진다. 그러나, 앞서 서술한 바와 같이 JWT 형식의 토큰이 네트워크 등록에 사용되는 경우 토큰 위, 변조 등 보안 문제가 발생할 수 있다. At this time, the token generated by the authentication server 200 is a one-time token (OTT) and has the format of JWT. However, as described above, if a JWT format token is used for network registration, security problems such as token forgery or tampering may occur.

또한, 인증 서버(200)는 제로 트러스트 네트워크를 나타내는 네트워크 오버레이의 일부로 간주된다. 그러나, 기존의 인증서버에는 네트워크 인증을 위한 토큰을 의도한 엔터티에 안전하게 전달하기 위한 통합 메커니즘이 없다.Additionally, authentication server 200 is considered part of a network overlay representing a zero trust network. However, existing authentication servers do not have an integrated mechanism to securely deliver tokens for network authentication to the intended entity.

따라서, 본 발명에서는 허가된 블록체인 기술을 사용하여 각 잠재적 등록자에게 블록체인 ID(즉, 블록체인 개인 키, 블록체인 공개 키 및 블록체인 공개주소)를 할당하여 인증 서비스 프레임워크 상에서 JWT 형식의 토큰을 안전하게 전달할 수 있는 기술에 대해 제안한다. Therefore, the present invention uses permissioned blockchain technology to assign a blockchain ID (i.e., blockchain private key, blockchain public key, and blockchain public address) to each potential registrant to create a token in JWT format on the authentication service framework. We propose technologies that can safely deliver.

특히, 본 발명에서는 토큰을 암호화하고, 암호화된 토큰을 NFT(Non-Fungible Token)에 메타데이터로 포함시켜 토큰의 소유권을 확보하는 것을 목표로 한다. In particular, the present invention aims to secure ownership of the token by encrypting the token and including the encrypted token as metadata in an NFT (Non-Fungible Token).

블록체인 기술은 암호화, 탈중앙화, 합의 원칙을 기반으로 거래 신뢰를 보장한다. 대부분의 블록체인 또는 분산 원장 기술(DLT)의 데이터는 하나 이상의 트랜잭션을 포함하는 블록으로 구성된다. 암호화 체인의 각각의 새로운 블록은 이전의 모든 블록에 연결되므로 변조가 거의 불가능하다.Blockchain technology guarantees transaction trust based on the principles of encryption, decentralization, and consensus. Data in most blockchains or distributed ledger technologies (DLTs) consists of blocks containing one or more transactions. Each new block in the crypto chain is linked to all previous blocks, making tampering virtually impossible.

또한, 블록체인은 모든 엔터티가 합의의 일부로 또는 트랜잭션을 실행하는 블록체인 클라이언트로 참여할 수 있는 공개 원장으로 작동하며, 프로그래밍 방식의 프레임워크를 제공하는 블록체인 기술을 통해 다양한 사용 사례를 수용할 수 있는 분산 응용 프로그램을 만들 수 있다.Additionally, blockchain operates as a public ledger on which any entity can participate, either as part of the consensus or as a blockchain client executing transactions. Blockchain technology provides a programmatic framework that can accommodate a variety of use cases. You can create distributed applications.

이 때문에 본 발명에서는 블록체인 기반의 스마트 계약을 사용하여 프로그래밍 방식의 상호 작용이 가능한 프라이빗/허가된 블록체인을 사용한다. 또한, 본 발명에서는 Hyperledger Besu를 사용하는 허가된 이더리움 블록체인을 사용할 수 있다. For this reason, the present invention uses a private/permissioned blockchain that allows programmatic interaction using blockchain-based smart contracts. Additionally, the present invention can use the permissioned Ethereum blockchain using Hyperledger Besu.

이하, 도면들을 참조하여 본 발명의 일 실시예에 따른 시스템의 동작에 대해 보다 구체적으로 설명한다.Hereinafter, the operation of the system according to an embodiment of the present invention will be described in more detail with reference to the drawings.

도 2는 본 발명의 일 실시예에 따른 인증 시스템의 동작 흐름도를 도시한 도면이다.Figure 2 is a diagram illustrating an operation flowchart of an authentication system according to an embodiment of the present invention.

본 발명의 일 실시예에 따르면, 시스템(1)의 관리 서버(100)는 네트워크 등록을 요청하는 단말(10)과 ID 인증을 수행한다(S10). According to one embodiment of the present invention, the management server 100 of the system 1 performs ID authentication with the terminal 10 requesting network registration (S10).

단말(10)은 네트워크 등록을 위한 토큰을 수신할 때까지 인증 서버(200)를 인식하지 못한다. 따라서, 단말(10)은 먼저 관리 서버(100)와의 상호 작용을 통해 ID 생성을 요청한다. The terminal 10 does not recognize the authentication server 200 until it receives a token for network registration. Therefore, the terminal 10 first requests ID creation through interaction with the management server 100.

이때, ID 인증은 다중 인증(Multi Factor Authentication, MFA)으로 수행될 수 있으며, 관리 서버(100)는 단말(10)의 네트워크 등록 요청(본 단계에서는 사실상 ID 인증 요청이다.)에 따라 MFA 절차를 트리거한다. At this time, ID authentication can be performed by multi-factor authentication (MFA), and the management server 100 performs the MFA procedure according to the network registration request of the terminal 10 (in this step, it is actually an ID authentication request). trigger.

관리 서버(100)는 단말(10)이 다중 인증을 수행하는 과정에서 암호화 서명된 요청을 얻을 수 있고, 이 서명에는 단말(10)의 블록체인 공개키와 블록체인 공개주소가 포함되어 있다.The management server 100 can obtain a cryptographically signed request while the terminal 10 performs multiple authentication, and this signature includes the blockchain public key and blockchain public address of the terminal 10.

즉, 관리 서버(100)는 단말(10)과 ID 인증을 수행하면서 블록체인 공개키와 ID 인증된 단말(10)의 블록체인 공개주소를 획득하고, 블록체인 기반 ID 관리 스마트 계약을 사용하여 단말(10)의 블록체인 공개주소를 등록함으로써 ID 인증을 완료할 수 있다. That is, the management server 100 performs ID authentication with the terminal 10, obtains the blockchain public key and the blockchain public address of the ID-certified terminal 10, and uses a blockchain-based ID management smart contract to secure the terminal. ID authentication can be completed by registering the blockchain public address in (10).

또한, 다중 인증 과정에서 추후 생성되는 토큰 정보의 전송을 관리 서버(100)가 수행하도록 위임되며, 관리 서버(100)는 호출을 시작한 단말(10)의 모든 NFT를 관리할 수 있다. In addition, the management server 100 is delegated to perform the transmission of token information generated later during the multi-authentication process, and the management server 100 can manage all NFTs of the terminal 10 that initiated the call.

이하, 설명의 편의를 위해 단말(10)은 ID 인증이 완료된 것으로 보고 설명한다. Hereinafter, for convenience of explanation, the terminal 10 will be described assuming that ID authentication has been completed.

본 발명의 일 실시예에 따르면, 시스템(1)의 인증 서버(200)는 단말(10)에 대한 토큰 생성 요청을 수신함에 따라 네트워크 등록을 위한 토큰을 생성한다(S20). According to one embodiment of the present invention, the authentication server 200 of the system 1 generates a token for network registration upon receiving a token creation request for the terminal 10 (S20).

관리 서버(100)는 단말(10)에 대한 ID 인증을 완료한 뒤, 단말(10)을 네트워크에 등록하기 위한 토큰을 생성하도록 인증 서버(200)에 요청한다. 인증 서버(200)는 토큰 생성 요청에 따라 네트워크 등록을 위한 토큰을 생성한다. 이때, 토큰은 앞서 서술한 바와 같이, JWT 형식의 OTT이다. 이후, 인증 서버(200)는 생성된 토큰을 관리 서버(100)에 전송한다.After completing ID authentication for the terminal 10, the management server 100 requests the authentication server 200 to generate a token for registering the terminal 10 in the network. The authentication server 200 generates a token for network registration according to the token creation request. At this time, the token is an OTT in JWT format, as described previously. Afterwards, the authentication server 200 transmits the generated token to the management server 100.

본 발명의 일 실시예에 따르면, 관리 서버(100)는 ID 인증 시 획득한 단말(10)의 블록체인 공개키를 이용하여 토큰을 암호화한다(S30). According to one embodiment of the present invention, the management server 100 encrypts the token using the blockchain public key of the terminal 10 obtained during ID authentication (S30).

만일, OTT를 그대로 단말(10)에 전달하면 중도에 위, 변조되는 등 보안에 취약하므로, 먼저 관리 서버(100)는 토큰을 블록체인 공개키를 이용하여 암호화한다. 이때, 암호화에 사용되는 블록체인 공개키는 S10의 인증 과정에서 획득된 것이다. If the OTT is delivered to the terminal 10 as is, it is vulnerable to security, such as being forged or altered, so first, the management server 100 encrypts the token using the blockchain public key. At this time, the blockchain public key used for encryption was obtained during the S10 authentication process.

본 발명의 일 실시예에 따르면, 관리 서버(100)는 암호화된 토큰을 블록체인 기반 NFT에 메타데이터로 포함시킴으로써, 토큰 정보를 생성하고, 토큰 정보를 ID 인증된 단말(10)에 제공한다(S40).According to one embodiment of the present invention, the management server 100 generates token information by including the encrypted token as metadata in the blockchain-based NFT, and provides the token information to the ID authenticated terminal 10 ( S40).

본 발명의 일 실시예에 따르면, 토큰 정보는 암호화된 토큰을 포함하는 정보로, 전송의 안전성을 담보하기 위해 관리 서버(100)는 암호화된 토큰을 블록체인 기반의 NFT에 매핑하여 토큰 정보를 생성한다 According to one embodiment of the present invention, token information is information including an encrypted token, and to ensure the safety of transmission, the management server 100 generates token information by mapping the encrypted token to a blockchain-based NFT. do

보다 구체적으로, 관리 서버(100)는 블록체인 기반 토큰 발급 스마트 계약을 사용하여 암호화된 토큰을 NFT의 토큰URI의 일부로 포함시키고, 단말(10)의 블록체인 공개주소와 매핑하여 토큰 정보를 생성한다.More specifically, the management server 100 includes the encrypted token as part of the token URI of the NFT using a blockchain-based token issuance smart contract and generates token information by mapping it with the blockchain public address of the terminal 10. .

단말(10)은 관리 서버(100)로부터 토큰 정보를 수신하면, 단말(10)의 블록체인 개인키를 이용하여 토큰 정보의 토큰 URI를 복호화하여 토큰을 획득할 수 있다. 단말(10)은 복호화된 토큰을 인증 서버(200)와 통신하여 등록을 위한 토큰(OTT)으로 활용한다.When the terminal 10 receives token information from the management server 100, the terminal 10 can obtain a token by decrypting the token URI of the token information using the blockchain private key of the terminal 10. The terminal 10 communicates with the authentication server 200 and uses the decrypted token as a token (OTT) for registration.

본 발명의 일 실시예에 따르면, 인증 서버(200)는 단말(10)로부터 토큰을 이용한 네트워크 등록 요청이 수신되는 경우, 토큰을 검증하여 단말(10)의 네트워크 등록 여부를 결정한다(S50).According to one embodiment of the present invention, when a network registration request using a token is received from the terminal 10, the authentication server 200 verifies the token and determines whether to register the terminal 10 in the network (S50).

이때, 인증 서버(200)는 토큰 정보에 포함된 블록체인 공개주소와 단말(10)의 블록체인 공개주소가 동일한지 여부를 확인하여 토큰의 유효성을 검증한다. 추가로, 인증 서버(200)는 토큰 정보에 포함된 토큰 시간 정보를 현재 타임 스탬프와 비교하여 토큰의 만료 여부에 따른 유효성을 검증할 수 있다. At this time, the authentication server 200 verifies the validity of the token by checking whether the blockchain public address included in the token information and the blockchain public address of the terminal 10 are the same. Additionally, the authentication server 200 may compare token time information included in the token information with the current time stamp to verify validity according to whether the token has expired.

인증 서버(200)는 관리 서버(100)와 상호작용하여 토큰의 유효성 및 소유권을 확인할 수 있다. 인증 서버(200)는 토큰이 유효한 경우, 토큰을 이용하여 단말(10)의 네트워크 등록 절차를 완료한다. The authentication server 200 may interact with the management server 100 to confirm the validity and ownership of the token. If the token is valid, the authentication server 200 completes the network registration process of the terminal 10 using the token.

인증 서버(200)는 토큰이 유효하지 않은 경우, 즉, 획득된 토큰이 이미 등록에 사용되었거나, 토큰에 이미 만료 날짜가 있는 경우, 인증 서버(200)는 관리 서버(100)로 토큰 상태 확인 작업을 트리거 하여 토큰을 제거할 수 있다. If the token is invalid, that is, the acquired token has already been used for registration, or the token already has an expiration date, the authentication server 200 checks the status of the token with the management server 100. You can remove the token by triggering .

본 발명의 일 실시예에 따르면, NFT의 메타데이터를 암호화하여 정보를 보호할 수 있고, NFT를 통한 소유권 증명은 시스템의 잠재적인 등록자를 신뢰할 수 있다. According to one embodiment of the present invention, information can be protected by encrypting the metadata of the NFT, and proof of ownership through NFT can trust potential registrants of the system.

만일, 블록체인 기술을 사용하지 않고 유사한 결과를 얻으려면 복잡한 PKI 인프라와 데이터베이스 관리가 필요한 중앙 집중식 접근 방식이 필요하다. Achieving similar results without using blockchain technology requires a centralized approach that requires complex PKI infrastructure and database management.

본 발명의 일 실시예에 따르면, 보다 간편하게 정보 보호 및 강력한 ID 인증이 가능하다. According to an embodiment of the present invention, information protection and strong ID authentication are possible more easily.

본 발명의 일 실시예에 따르면, 트랜잭션에 대한 액세스 권한을 부여하기 위해 허가된 블록체인이 사용되는 바, 허용된 계정만 블록체인 트랜잭션을 실행할 수 있어 악성 엔터티에 대한 접근(access)을 최소화할 수 있다.According to one embodiment of the present invention, a permissioned blockchain is used to grant access to transactions, so that only permitted accounts can execute blockchain transactions, thereby minimizing access to malicious entities. there is.

도 3은 본 발명의 일 실시예에 따른 인증 시스템과 단말 간 동작 흐름도를 도시한 도면이다.Figure 3 is a diagram illustrating an operation flowchart between an authentication system and a terminal according to an embodiment of the present invention.

도 3은 앞서 도 2를 참조하여 서술한 동작들을 인증 시스템의 각 장치와 연결하여 도시한 것으로, 도 2와 설명이 중복되는 부분에서는 그 내용을 차용한다. FIG. 3 illustrates the operations previously described with reference to FIG. 2 in connection with each device of the authentication system, and the content is borrowed from parts where the description overlaps with that of FIG. 2.

먼저, 단말(10)은 블록체인 개인키(PrK), 블록체인 공개키(PuK) 및 블록체인 공개주소(PuAddr)를 생성한다(S301). 이때, 단말(10)은 메타마스크(Metamask)를 사용하여 이들을 생성할 수 있다. First, the terminal 10 generates a blockchain private key (PrK), a blockchain public key (PuK), and a blockchain public address (PuAddr) (S301). At this time, the terminal 10 can create them using Metamask.

단말(10)은 관리 서버(100)에 네트워크 등록 요청을 한다(S302). 이때, 단말(10)은 관리 서버(100)에 블록체인 공개주소, 이름, 이메일 정보를 제공하면서 등록 요청을 할 수 있다. The terminal 10 requests network registration to the management server 100 (S302). At this time, the terminal 10 may request registration while providing the blockchain public address, name, and email information to the management server 100.

본질적으로 관리 서버(100)는 요청하는 단말(10)을 블록체인에 등록하기 위해 조직/기업의 일부인지 확인하는 역할을 한다. 이를 위해 관리 서버(100)는 조직에 특정한 비즈니스 규칙과 인적 자원 정보를 알고 있어야 한다. 본 발명에서는, 관리 서버(100)가 확인된 개인 연락처 정보를 기반으로 다중 인증 방식을 적용할 수 있도록 이러한 요구 사항을 충족한다고 가정한다. Essentially, the management server 100 serves to confirm whether the requesting terminal 10 is part of an organization/company in order to register it in the blockchain. For this purpose, the management server 100 must know business rules and human resource information specific to the organization. In the present invention, it is assumed that the management server 100 satisfies these requirements so that it can apply a multi-factor authentication method based on verified personal contact information.

관리 서버(100)는 단말(10)과 ID 인증을 수행하며(S303), 구체적인 과정은 다음과 같다. 관리 서버(100)는 다중 인증 과정에서 단말(10)이 전송한 메일과 데이터베이스 상 메일과 일치하는지 여부를 확인한다. 일치하지 않는 경우 등록 요청을 거부한다. The management server 100 performs ID authentication with the terminal 10 (S303), and the specific process is as follows. The management server 100 checks whether the email sent by the terminal 10 matches the email in the database during the multi-authentication process. If there is a mismatch, the registration request is rejected.

단말(10)은 이메일을 통해 확인 링크를 열고 개인키를 이용하여 관리 서버(100)에 대한 응답에 서명한다. 이 과정에서 관리 서버(100)는 블록체인 공개키를 획득하며, NFT 전송에 대한 권한을 위임받는다. The terminal 10 opens a confirmation link via email and signs the response to the management server 100 using the private key. In this process, the management server 100 acquires a blockchain public key and is delegated authority for NFT transmission.

관리 서버(100)는 ID 관리 스마트 계약을 사용하여 블록체인 내부에 단말(10)의 블록체인 공개주소, 이름, 이메일 정보를 등록하여 ID 인증을 완료한다(S304). The management server 100 completes ID authentication by registering the blockchain public address, name, and email information of the terminal 10 in the blockchain using an ID management smart contract (S304).

이후, 관리 서버(100)는 인증 서버(200)에 토큰 생성을 요청한다(S305). Afterwards, the management server 100 requests the authentication server 200 to generate a token (S305).

관리 서버(100)는 등록된 단말(10)에 대한 토큰(OTT) 생성을 위해 인증 서버(200)와 통신한다. The management server 100 communicates with the authentication server 200 to generate a token (OTT) for the registered terminal 10.

인증 서버(200)는 관리 서버(100)에 대한 응답으로 토큰을 생성하고(S306), 관리 서버(100)로 전송한다(S307).The authentication server 200 generates a token in response to the management server 100 (S306) and transmits it to the management server 100 (S307).

관리 서버(100)는 토큰을 암호화하고, NFT의 메타데이터로 포함시켜 토큰 정보를 생성한다(S308).The management server 100 encrypts the token and generates token information by including it as metadata of the NFT (S308).

보다 구체적으로, 관리 서버(100)는 토큰의 페이로드에서 "exp" 및 "jti"필드를 추출하고, S303에서 얻은 단말(10)의 공개키를 이용하여 토큰을 암호화한다. 관리 서버(100)는 토큰 발급 스마트 계약과 상호 작용하여 NFT를 생성하며, NFT의 토큰 URI에 암호화된 토큰이 포함된다. More specifically, the management server 100 extracts the “exp” and “jti” fields from the payload of the token and encrypts the token using the public key of the terminal 10 obtained in S303. The management server 100 interacts with the token issuing smart contract to create an NFT, and the token URI of the NFT includes an encrypted token.

관리 서버(100)는 JWT의 base64url의 블록체인 공개키 암호화를 기반으로 JWT 페이로드의 변조 방지를 보장한다. 이때, 토큰 메타데이터가 암호화된 JWT의 base64url을 "온체인" 정보의 일부로 포함하고, NFT 생성을 위해 ERC-721 토큰 표준을 적용할 수 있다. 블록 체인은 NFT가 의도된 등록자의 공개 블록체인 주소를 NFT의 소유자 필드에 매핑하는 것과 관련된 "소유권 증명"을 제공하기 때문에 JWT의 적절한 전달을 보장한다.The management server 100 ensures tampering prevention of the JWT payload based on blockchain public key encryption of the base64url of the JWT. At this time, the token metadata includes the base64url of the encrypted JWT as part of the “on-chain” information, and the ERC-721 token standard can be applied for NFT creation. Blockchain ensures proper delivery of JWTs because it provides “proof of ownership,” which involves mapping the public blockchain address of the registrant for whom the NFT is intended to be placed on the NFT’s owner field.

관리 서버(100)는 토큰 발급 스마트 계약에서 앞서 추출한 "exp" 및 "jti"정보와 tokenId를 입력한다.The management server 100 inputs the “exp” and “jti” information and tokenId previously extracted from the token issuing smart contract.

관리 서버(100)는 토큰 발급 스마트 계약에서 단말(10)의 블록체인 공개주소로 토큰 정보를 전송한다(S309). 이때, 전송을 위한 스마트 계약 이벤트가 트리거되고, 이벤트에는 발신자의 블록체인 공개주소, 수신자의 공개주소, tokenId가 포함되어 있다. The management server 100 transmits token information from the token issuance smart contract to the blockchain public address of the terminal 10 (S309). At this time, a smart contract event for transmission is triggered, and the event includes the sender's blockchain public address, the recipient's public address, and tokenId.

단말(10)은 토큰 정보를 수신하여, tokenId로 NFT의 tokenURI를 쿼리하고, 블록체인 개인키를 이용하여 토큰을 복호화한다(S310). The terminal 10 receives token information, queries the tokenURI of the NFT with tokenId, and decrypts the token using the blockchain private key (S310).

단말(10)은 복호화된 정보를 인증 서버(200)와 통신하여 획득한 토큰으로 네트워크 등록을 요청한다(S311). 이때, 단말(10)은 등록을 위해 기본 인증서비스의 클라이언트 API 기능을 사용하고, 요청에 블록체인 공개키 서명 메시지를 추가한다. The terminal 10 requests network registration with the token obtained by communicating the decrypted information with the authentication server 200 (S311). At this time, the terminal 10 uses the client API function of the basic authentication service for registration and adds a blockchain public key signature message to the request.

인증 서버(200)는 관리 서버(100)와 상호 작용하여 OTT 유효성 및 소유권을 확인한다. 인증 서버(200)는 토큰과 서명 메시지를 수신하여 토큰과 관련된 블록체인 정보를 확인한다. 이때, "jti"를 사용하여 "exp" 필드, tokenId 및 블록체인에 등록된 tokenId를 소유한 블록체인 공개주소를 쿼리한다. 만일, "exp"가 현재 타임스탬프보다 작으면 토큰이 유효하지 않음을 확인한다. The authentication server 200 interacts with the management server 100 to verify OTT validity and ownership. The authentication server 200 receives the token and signature message and verifies blockchain information related to the token. At this time, use “jti” to query the “exp” field, tokenId, and the blockchain public address that owns the tokenId registered in the blockchain. If "exp" is less than the current timestamp, it confirms that the token is invalid.

서명 메시지에서 블록체인 공개주소를 복구하고, 복구된 블록체인 공개주소가 단말의 등록된 블록체인 공개주소와 일치하지 않으면 토큰이 유효하지 않음을 확인한다. 유효하지 않은 토큰은 제거한다. Recover the blockchain public address from the signature message, and confirm that the token is invalid if the recovered blockchain public address does not match the registered blockchain public address of the terminal. Invalid tokens are removed.

인증 서버(200)는 유효한 토큰을 사용하여 등록 절차를 완료한다. 토큰 상태 알림을 관리 서버(100)로 전송하여 사용된 토큰은 제거한다. The authentication server 200 completes the registration process using a valid token. A token status notification is transmitted to the management server 100 and the used token is removed.

이와 같이 단말(10)의 ID와 토큰의 유효성은 네트워크 등록 프로세스 전반에 걸쳐 확인되고, 보장된다. In this way, the validity of the ID and token of the terminal 10 is confirmed and guaranteed throughout the network registration process.

도 4는 본 발명의 일 실시예에 따른 인증 시스템과 단말의 동작 모습을 도시한 도면이다.Figure 4 is a diagram showing the operation of an authentication system and a terminal according to an embodiment of the present invention.

도 4는 앞서 도 2 및 도 3에서 설명한 내용을 도식화하여 나타낸 것이다. Figure 4 schematically shows the content previously described in Figures 2 and 3.

본 발명에서 제안한 메커니즘은 허가된 블록체인 기술을 활용하고 각 잠재적 사용자에게 블록체인 ID(블록체인 개인 키, 블록체인 공개 키 및 블록체인 공용 주소)를 할당하여 토큰(OTT)의 안전한 전달을 목표로 한다.The mechanism proposed in the present invention utilizes permissioned blockchain technology and aims at secure delivery of tokens (OTT) by assigning a blockchain ID (blockchain private key, blockchain public key, and blockchain public address) to each potential user. do.

잠재적 등록자의 블록체인 공개 키를 사용하여 토큰을 암호화하고, 암호화된 토큰을 토큰 URI의 일부로 포함하는 NFT를 생성함으로써 토큰의 소유권을 보장할 수 있다. 허용된 블록체인은 의도된 등록자만이 토큰을 수신하고 해독할 수 있도록 보장한다. Ownership of the token can be guaranteed by encrypting the token using the potential registrant's blockchain public key and creating an NFT that includes the encrypted token as part of the token URI. A permissioned blockchain ensures that only the intended registrant can receive and decrypt tokens.

*본 출원은 기업과제 수행에 따른 결과물로 과제 상세 정보는 다음과 같다.*This application is the result of performing a corporate task, and detailed information on the task is as follows.

-과제번호: 2021-1095-Assignment number: 2021-1095

-연구사업명: 인류 난제 해결을 위한 혁신 과학기술 센터 및 프로그램-Research project name: Innovative science and technology center and program to solve humanity's difficult problems

-연구과제명: Zero Touch 및 Zero Trust (ZT&T)를 위한 IBN(Intent based Networking) 및 블록체인 기반 접근법-Research project title: IBN (Intent based Networking) and blockchain-based approach for Zero Touch and Zero Trust (ZT&T)

-부처명: 컴퓨터 공학과-Department name: Department of Computer Engineering

-전문기관명: 동그라미재단-Professional organization name: Circle Foundation

-주관기관명: 제주대학교-Name of host institution: Jeju National University

-총 연구기간: 2021.12. 1. - 2022. 11. 30.-Total research period: December 2021. 1. - 2022. 11. 30.

1: 인증 시스템
10: 단말
100: 관리 서버
200: 인증 서버
1: Authentication system
10: terminal
100: Management server
200: Authentication server

Claims (14)

블록체인을 이용한 제로 트러스트 네트워크(Zero-Trust Network, ZTN)의 인증 시스템에 있어서,
네트워크 등록을 요청하는 단말과 ID 인증을 수행하고, 상기 단말의 ID 인증됨에 기초하여 네트워크 등록을 위한 토큰을 포함하는 토큰 정보를 생성하고, 상기 토큰 정보를 상기 ID 인증된 단말에 제공하는 관리 서버; 및
상기 관리 서버로부터 상기 ID 인증된 단말에 대한 토큰 생성 요청을 수신함에 따라 상기 토큰을 생성하고, 상기 ID 인증된 단말로부터 상기 토큰을 이용한 상기 네트워크 등록 요청이 수신되는 경우, 상기 토큰을 검증하여 상기 ID 인증된 단말의 네트워크 등록 여부를 결정하는 인증 서버를 포함하고,
상기 관리 서버는,
상기 ID 인증 시 획득한 상기 ID 인증된 단말의 블록체인 공개키를 이용하여 상기 인증 서버로부터 수신한 상기 토큰을 암호화하고, 상기 암호화된 토큰을 블록체인 기반 NFT(Non-Fungible Token)에 메타데이터로 포함시킴으로써, 상기 토큰 정보를 생성하는 인증 시스템.
In the authentication system of Zero-Trust Network (ZTN) using blockchain,
a management server that performs ID authentication with a terminal requesting network registration, generates token information including a token for network registration based on the ID authentication of the terminal, and provides the token information to the ID-authenticated terminal; and
Upon receiving a token creation request for the ID-authenticated terminal from the management server, the token is generated, and when the network registration request using the token is received from the ID-authenticated terminal, the token is verified to generate the ID. Includes an authentication server that determines whether to register the authenticated terminal on the network,
The management server is,
The token received from the authentication server is encrypted using the blockchain public key of the ID authenticated terminal obtained during the ID authentication, and the encrypted token is stored as metadata in a blockchain-based NFT (Non-Fungible Token). An authentication system that generates the token information by including it.
제1항에 있어서,
상기 관리 서버는,
상기 단말과 ID 인증을 수행하면서 상기 블록체인 공개키와 상기 ID 인증된 단말의 블록체인 공개주소를 획득하고,
블록체인 기반 ID 관리 스마트 계약을 사용하여 상기 블록체인 공개주소를 등록함으로써 상기 ID 인증을 완료하는 인증 시스템.
According to paragraph 1,
The management server is,
While performing ID authentication with the terminal, obtain the blockchain public key and the blockchain public address of the ID-authenticated terminal,
An authentication system that completes the ID authentication by registering the blockchain public address using a blockchain-based ID management smart contract.
제2항에 있어서,
상기 관리 서버는,
블록체인 기반 토큰 발급 스마트 계약을 사용하여 상기 암호화된 토큰을 상기 NFT의 토큰 URI의 일부로 포함시키고, 상기 블록체인 공개주소와 매핑하여 상기 토큰 정보를 생성하는 인증 시스템.
According to paragraph 2,
The management server is,
An authentication system that uses a blockchain-based token issuance smart contract to include the encrypted token as part of the token URI of the NFT and generates the token information by mapping it with the blockchain public address.
제3항에 있어서,
상기 단말은,
상기 단말의 블록체인 개인키를 이용하여 상기 토큰 URI를 복호화하여 상기 토큰을 획득하는 것을 특징으로 하는 인증 시스템.
According to paragraph 3,
The terminal is,
An authentication system characterized in that the token is obtained by decrypting the token URI using the blockchain private key of the terminal.
제1항에 있어서,
상기 인증 서버는,
상기 토큰 정보에 포함된 상기 블록체인 공개주소와 상기 ID 인증된 단말의 블록체인 공개주소가 동일한지 여부를 확인하여 상기 토큰의 유효성을 검증하고,
상기 토큰이 유효한 경우, 상기 토큰을 이용하여 상기 ID 인증된 단말의 네트워크 등록을 완료하는 인증 시스템.
According to paragraph 1,
The authentication server is,
Verifying the validity of the token by checking whether the blockchain public address included in the token information and the blockchain public address of the ID authenticated terminal are the same,
An authentication system that completes network registration of the ID-authenticated terminal using the token when the token is valid.
제5항에 있어서,
상기 인증 서버는,
상기 토큰 정보에 포함된 토큰 시간 정보를 현재 타임 스탬프와 비교하여 상기 토큰의 만료 여부에 따른 유효성을 검증하는 인증 시스템.
According to clause 5,
The authentication server is,
An authentication system that verifies validity based on whether the token has expired by comparing the token time information included in the token information with the current time stamp.
제5항 또는 제6항에 있어서,
상기 인증 서버는,
상기 토큰이 유효하지 않은 경우, 상기 관리 서버로 토큰 상태 알림 확인을 트리거 하여 상기 토큰을 제거하는 인증 시스템.
According to claim 5 or 6,
The authentication server is,
An authentication system that, if the token is invalid, triggers a token status notification check to the management server to remove the token.
인증 시스템에 의해 수행되는 블록체인을 이용한 제로 트러스트 네트워크(Zero-Trust Network, ZTN)의 인증 방법에 있어서,
상기 인증 시스템의 관리 서버가 네트워크 등록을 요청하는 단말과 ID 인증을 수행하는 단계;
상기 인증 시스템의 인증 서버가 상기 관리 서버로부터 상기 ID 인증된 단말에 대한 토큰 생성 요청을 수신함에 따라 네트워크 등록을 위한 토큰을 생성하는 단계;
상기 관리 서버가 상기 ID 인증 시 획득한 상기 ID 인증된 단말의 블록체인 공개키를 이용하여 상기 토큰을 암호화하는 단계;
상기 관리 서버가 상기 암호화된 토큰을 블록체인 기반 NFT(Non-Fungible Token)에 메타데이터로 포함시킴으로써, 토큰 정보를 생성하고, 상기 토큰 정보를 상기 ID 인증된 단말에 제공하는 단계;
상기 인증 서버가 상기 ID 인증된 단말로부터 상기 토큰을 이용한 상기 네트워크 등록 요청이 수신되는 경우, 상기 토큰을 검증하여 상기 ID 인증된 단말의 네트워크 등록 여부를 결정하는 단계를 포함하는 인증 방법.
In the authentication method of Zero-Trust Network (ZTN) using blockchain performed by an authentication system,
A management server of the authentication system performing ID authentication with a terminal requesting network registration;
Generating a token for network registration as the authentication server of the authentication system receives a token creation request for the ID authenticated terminal from the management server;
Encrypting the token using the blockchain public key of the ID-authenticated terminal obtained by the management server when authenticating the ID;
The management server generating token information by including the encrypted token as metadata in a blockchain-based NFT (Non-Fungible Token), and providing the token information to the ID authenticated terminal;
When the authentication server receives the network registration request using the token from the ID-authenticated terminal, the authentication method includes determining whether to register the ID-authenticated terminal in the network by verifying the token.
제8항에 있어서,
상기 ID 인증을 수행하는 단계는,
상기 단말과 ID 인증을 수행하면서 상기 블록체인 공개키와 상기 ID 인증된 단말의 블록체인 공개주소를 획득하는 단계;
블록체인 기반 ID 관리 스마트 계약을 사용하여 상기 블록체인 공개주소를 등록함으로써 상기 ID 인증을 완료하는 단계를 포함하는 인증 방법.
According to clause 8,
The step of performing the ID authentication is,
Obtaining the blockchain public key and the blockchain public address of the ID-verified terminal while performing ID authentication with the terminal;
An authentication method comprising completing the ID authentication by registering the blockchain public address using a blockchain-based ID management smart contract.
제9항에 있어서,
상기 토큰 정보를 생성하는 단계는,
블록체인 기반 토큰 발급 스마트 계약을 사용하여 상기 암호화된 토큰을 상기 NFT의 토큰 URI의 일부로 포함시키고, 상기 블록체인 공개주소와 매핑하여 상기 토큰 정보를 생성하는 단계를 포함하는 인증 방법.
According to clause 9,
The step of generating the token information is,
An authentication method including the step of including the encrypted token as part of the token URI of the NFT using a blockchain-based token issuance smart contract and mapping it with the blockchain public address to generate the token information.
제10항에 있어서,
상기 ID 인증된 단말의 네트워크 등록 여부를 결정하는 단계는,
상기 단말이 상기 단말의 블록체인 개인키를 이용하여 상기 토큰 URI를 복호화하여 상기 토큰을 획득하는 단계;를 더 포함하는 인증 방법.
According to clause 10,
The step of determining whether to register the ID-authenticated terminal in the network is,
An authentication method further comprising: the terminal decrypting the token URI using the terminal's blockchain private key to obtain the token.
제8항에 있어서,
상기 ID 인증된 단말의 네트워크 등록 여부를 결정하는 단계는,
상기 토큰 정보에 포함된 상기 블록체인 공개주소와 상기 ID 인증된 단말의 블록체인 공개주소가 동일한지 여부를 확인하여 상기 토큰의 유효성을 검증하고,
상기 토큰이 유효한 경우, 상기 토큰을 이용하여 상기 ID 인증된 단말의 네트워크 등록을 완료하는 단계를 포함하는 인증 방법.
According to clause 8,
The step of determining whether to register the ID-authenticated terminal in the network is,
Verifying the validity of the token by checking whether the blockchain public address included in the token information and the blockchain public address of the ID authenticated terminal are the same,
When the token is valid, an authentication method comprising completing network registration of the ID-authenticated terminal using the token.
제12항에 있어서,
상기 토큰의 유효성을 검증하는 단계는,
상기 토큰 정보에 포함된 토큰 시간 정보를 현재 타임 스탬프와 비교하여 상기 토큰의 만료 여부에 따른 유효성을 검증하는 단계를 더 포함하는 인증 방법.
According to clause 12,
The step of verifying the validity of the token is,
An authentication method further comprising comparing token time information included in the token information with a current time stamp to verify validity according to whether the token has expired.
제12항 또는 제13항에 있어서,
상기 토큰이 유효하지 않은 경우, 상기 관리 서버로 토큰 상태 알림 확인을 트리거 하여 상기 토큰을 제거하는 단계를 더 포함하는 인증 방법.
According to claim 12 or 13,
If the token is invalid, triggering a token status notification check with the management server to remove the token.
KR1020220156308A 2022-11-21 2022-11-21 Authentication system of zero trust network using a blockchain based token process and authentication method thereof KR20240075095A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220156308A KR20240075095A (en) 2022-11-21 2022-11-21 Authentication system of zero trust network using a blockchain based token process and authentication method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220156308A KR20240075095A (en) 2022-11-21 2022-11-21 Authentication system of zero trust network using a blockchain based token process and authentication method thereof

Publications (1)

Publication Number Publication Date
KR20240075095A true KR20240075095A (en) 2024-05-29

Family

ID=91278028

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220156308A KR20240075095A (en) 2022-11-21 2022-11-21 Authentication system of zero trust network using a blockchain based token process and authentication method thereof

Country Status (1)

Country Link
KR (1) KR20240075095A (en)

Similar Documents

Publication Publication Date Title
JP5695120B2 (en) Single sign-on between systems
US8219808B2 (en) Session-based public key infrastructure
RU2434340C2 (en) Infrastructure for verifying biometric account data
US7409543B1 (en) Method and apparatus for using a third party authentication server
KR102202547B1 (en) Method and system for verifying an access request
US7421083B2 (en) System for seamlessly updating service keys with automatic recovery
US7571311B2 (en) Scheme for sub-realms within an authentication protocol
US20020150253A1 (en) Methods and arrangements for protecting information in forwarded authentication messages
CN105577612B (en) Identity authentication method, third-party server, merchant server and user terminal
JP2005532736A (en) Biometric private key infrastructure
GB2554082B (en) User sign-in and authentication without passwords
TWM595792U (en) Authorization system for cross-platform authorizing access to resources
CN108737376A (en) A kind of double factor authentication method and system based on fingerprint and digital certificate
JP2001186122A (en) Authentication system and authentication method
JP6742558B2 (en) Certification system and certification program
KR20200016506A (en) Method for Establishing Anonymous Digital Identity
JPH10336172A (en) Managing method of public key for electronic authentication
CN112968779B (en) Security authentication and authorization control method, control system and program storage medium
KR20090054774A (en) Method of integrated security management in distribution network
JPWO2019198130A1 (en) Authentication system
CN115242471B (en) Information transmission method, information transmission device, electronic equipment and computer readable storage medium
Rivera et al. Secure enrollment token delivery mechanism for zero trust networks using blockchain
KR101868564B1 (en) Apparatus for authenticating user in association with user-identification-registration and local-authentication and method for using the same
Rivera et al. Secure enrollment token delivery for Zero Trust networks using blockchain
KR20240075095A (en) Authentication system of zero trust network using a blockchain based token process and authentication method thereof