KR102816097B1 - 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 PDFInfo
- Publication number
- KR102816097B1 KR102816097B1 KR1020220156308A KR20220156308A KR102816097B1 KR 102816097 B1 KR102816097 B1 KR 102816097B1 KR 1020220156308 A KR1020220156308 A KR 1020220156308A KR 20220156308 A KR20220156308 A KR 20220156308A KR 102816097 B1 KR102816097 B1 KR 102816097B1
- Authority
- KR
- South Korea
- Prior art keywords
- token
- authentication
- blockchain
- terminal
- management server
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/321—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
- H04L9/3213—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3297—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2463/00—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
- H04L2463/102—Additional 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)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
본 발명의 일 실시예에 따른 블록체인을 이용한 제로 트러스트 네트워크의 인증 시스템에 있어서, 네트워크 등록을 요청하는 단말과 ID 인증을 수행하고, 상기 단말의 ID 인증됨에 기초하여 네트워크 등록을 위한 토큰을 포함하는 토큰 정보를 생성하고, 상기 토큰 정보를 상기 ID 인증된 단말에 제공하는 관리 서버; 및 상기 관리 서버로부터 상기 ID 인증된 단말에 대한 토큰 생성 요청을 수신함에 따라 상기 토큰을 생성하고, 상기 ID 인증된 단말로부터 상기 토큰을 이용한 상기 네트워크 등록 요청이 수신되는 경우, 상기 토큰을 검증하여 상기 ID 인증된 단말의 네트워크 등록 여부를 결정하는 인증 서버를 포함하고, 상기 관리 서버는, 상기 ID 인증 시 획득한 상기 ID 인증된 단말의 블록체인 공개키를 이용하여 상기 인증 서버로부터 수신한 상기 토큰을 암호화하고, 상기 암호화된 토큰을 블록체인 기반 NFT(Non-Fungible Token)에 메타데이터로 포함시킴으로써, 상기 토큰 정보를 생성한다. In an authentication system of a zero-trust network using blockchain according to one embodiment of the present invention, the system comprises: a management server which 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 an authentication server which generates the token upon receiving a token generation request for the ID-authenticated terminal from the management server, and, when a network registration request using the token is received from the ID-authenticated terminal, verifies the token to determine whether the ID-authenticated terminal is to be registered on the network, wherein the management server encrypts the token received from the authentication server using the blockchain public key of the ID-authenticated terminal acquired during the ID authentication, and includes the encrypted token as metadata in a blockchain-based NFT (Non-Fungible Token), thereby generating the token information.
Description
본 발명은 제로 트러스트 네트워크의 인증 시스템 및 인증 방법에 관한 것이다.The present invention relates to an authentication system and authentication method for a zero trust network.
제로 트러스트 네트워크(Zero Trust Network, ZTN)는 신원을 인증받고 지속적으로 검증되기 전에는 네트워크 인프라의 어떤 엔터티(entity)에도 시스템에 접속 권한을 부여하지 않는 네트워크 보안 모델이다. ZTN을 달성하기 위해 보안상 중요한 부분은 식별된 엔터티에 대해서만 네트워크 리소스에 대한 액세스를 최소화하고 각 후속 액세스 요청에 대해 이러한 ID를 지속적으로 인증 및 승인하는 것이다. Zero Trust Network (ZTN) is a network security model in which no entity in the network infrastructure is granted access to the system until its identity is authenticated and continuously verified. A security-critical part of achieving ZTN is to minimize access to network resources to only identified entities and to continuously authenticate and authorize these identities for each subsequent access request.
이를 보장하기 위해 사용되는 몇 가지 표준 방법, 예를 들어, OAuth2.0, OpenID Connect 등은 인증 프로세스 중에 JSON 웹 토큰(JSON Web Token, JWT)을 사용한다. 그러나 네트워크 등록을 위한 일회성 토큰(One Time Token, OTT) 등록 시 JWT를 사용하면 잠재적인 보안 문제가 있다.There are several standard methods used to ensure this, such as OAuth2.0, OpenID Connect, etc., which use JSON Web Tokens (JWTs) during the authentication process. However, there are potential security issues when using JWTs when registering One Time Tokens (OTTs) for network registration.
예를 들어, JWT는 제3자에 의해 가로채어질 수 있고, JWT 페이로드의 정보가 노출되어 인증 서버의 세부 정보를 드러낼 수 있다. 또한 가로채어진 JWT는 JWT가 활성 상태로 유지되는 한 권한 없는 다른 사람이 등록하는 데 사용될 수 있다. For example, a JWT can be intercepted by a third party, exposing information in the JWT payload, revealing details of the authentication server. Additionally, an intercepted JWT can be used by an unauthorized person to register as long as the JWT remains active.
따라서, 네트워크 등록을 위한 토큰을 안전하게 전달할 수 있는 기술에 대한 제안이 필요한 실정이다. Therefore, there is a need for a proposal for a technology that can safely transfer tokens for network registration.
본 발명의 목적은 보다 안전하게 네트워크 등록을 위한 토큰을 전달할 수 있는 제로 트러스트 네트워크의 인증 시스템 및 인증 방법을 제공하는 것이다.The purpose of the present invention is to provide an authentication system and method for a zero trust network capable of transmitting a token for network registration more securely.
본 발명의 목적은 보다 효과적으로 네트워크 등록을 위한 토큰의 소유권을 보장할 수 있는 제로 트러스트 네트워크의 인증 시스템 및 인증 방법을 제공하는 것이다.An object of the present invention is to provide an authentication system and authentication method for a zero trust network that can more effectively ensure ownership of a token for network registration.
본 발명의 일 실시예에 따른 블록체인을 이용한 제로 트러스트 네트워크의 인증 시스템에 있어서, 네트워크 등록을 요청하는 단말과 ID 인증을 수행하고, 상기 단말의 ID 인증됨에 기초하여 네트워크 등록을 위한 토큰을 포함하는 토큰 정보를 생성하고, 상기 토큰 정보를 상기 ID 인증된 단말에 제공하는 관리 서버; 및 상기 관리 서버로부터 상기 ID 인증된 단말에 대한 토큰 생성 요청을 수신함에 따라 상기 토큰을 생성하고, 상기 ID 인증된 단말로부터 상기 토큰을 이용한 상기 네트워크 등록 요청이 수신되는 경우, 상기 토큰을 검증하여 상기 ID 인증된 단말의 네트워크 등록 여부를 결정하는 인증 서버를 포함하고, 상기 관리 서버는, 상기 ID 인증 시 획득한 상기 ID 인증된 단말의 블록체인 공개키를 이용하여 상기 인증 서버로부터 수신한 상기 토큰을 암호화하고, 상기 암호화된 토큰을 블록체인 기반 NFT(Non-Fungible Token)에 메타데이터로 포함시킴으로써, 상기 토큰 정보를 생성한다. In an authentication system of a zero-trust network using blockchain according to one embodiment of the present invention, the system comprises: a management server which 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 an authentication server which generates the token upon receiving a token generation request for the ID-authenticated terminal from the management server, and, when a network registration request using the token is received from the ID-authenticated terminal, verifies the token to determine whether the ID-authenticated terminal is to be registered on the network, wherein the management server encrypts the token received from the authentication server using the blockchain public key of the ID-authenticated terminal acquired during the ID authentication, and includes the encrypted token as metadata in a blockchain-based NFT (Non-Fungible Token), thereby generating the token information.
상기 관리 서버는, 상기 단말과 ID 인증을 수행하면서 상기 블록체인 공개키와 상기 ID 인증된 단말의 블록체인 공개주소를 획득하고, 블록체인 기반 ID 관리 스마트 계약을 사용하여 상기 블록체인 공개주소를 등록함으로써 상기 ID 인증을 완료할 수 있다.The above management server can complete the ID authentication by obtaining the blockchain public key and the blockchain public address of the ID-authenticated terminal while performing the terminal and ID authentication, and registering the blockchain public address using a blockchain-based ID management smart contract.
상기 관리 서버는, 블록체인 기반 토큰 발급 스마트 계약을 사용하여 상기 암호화된 토큰을 상기 NFT의 토큰URI의 일부로 포함시키고, 상기 블록체인 공개주소와 매핑하여 상기 토큰 정보를 생성할 수 있다. The above management server can generate the token information by including the encrypted token as part of the token URI of the NFT using a blockchain-based token issuance smart contract and mapping it to the blockchain public address.
상기 단말은, 상기 단말의 블록체인 개인키를 이용하여 상기 토큰 URI를 복호화하여 상기 토큰을 획득할 수 있다. The above terminal can obtain the token by decrypting the token URI using the blockchain private key of the above terminal.
상기 인증 서버는, 상기 토큰 정보에 포함된 상기 블록체인 공개주소와 상기 ID 인증된 단말의 블록체인 공개주소가 동일한지 여부를 확인하여 상기 토큰의 유효성을 검증하고, 상기 토큰이 유효한 경우, 상기 토큰을 이용하여 상기 ID 인증된 단말의 네트워크 등록을 완료할 수 있다. The above 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 identical, and if the token is valid, the network registration of the ID-authenticated terminal can be completed using the token.
상기 인증 서버는, 상기 토큰 정보에 포함된 토큰 시간 정보를 현재 타임 스탬프와 비교하여 상기 토큰의 만료 여부에 따른 유효성을 검증할 수 있다. The above authentication server can verify the validity of the token by comparing the token time information included in the token information with the current timestamp and whether the token has expired.
상기 인증 서버는, 상기 토큰이 유효하지 않은 경우, 상기 관리 서버로 토큰 상태 알림 확인을 트리거 하여 상기 토큰을 제거할 수 있다.The above authentication server can trigger a token status notification check to the management server to remove the token if the token is invalid.
본 발명의 일 실시예에 따른 인증 시스템에 의해 수행되는 블록체인을 이용한 제로 트러스트 네트워크의 인증 방법에 있어서, 상기 인증 시스템의 관리 서버가 네트워크 등록을 요청하는 단말과 ID 인증을 수행하는 단계; 상기 인증 시스템의 인증 서버가 상기 관리 서버로부터 상기 ID 인증된 단말에 대한 토큰 생성 요청을 수신함에 따라 네트워크 등록을 위한 토큰을 생성하는 단계; 상기 관리 서버가 상기 ID 인증 시 획득한 상기 ID 인증된 단말의 블록체인 공개키를 이용하여 상기 토큰을 암호화하는 단계; 상기 관리 서버가 상기 암호화된 토큰을 블록체인 기반 NFT(Non-Fungible Token)에 메타데이터로 포함시킴으로써, 상기 토큰 정보를 생성하고, 상기 토큰 정보를 상기 ID 인증된 단말에 제공하는 단계; 상기 인증 서버가 상기 ID 인증된 단말로부터 상기 토큰을 이용한 상기 네트워크 등록 요청이 수신되는 경우, 상기 토큰을 검증하여 상기 ID 인증된 단말의 네트워크 등록 여부를 결정하는 단계를 포함한다. In an authentication method of a zero-trust network using blockchain, performed by an authentication system according to one embodiment of the present invention, the method comprises: a step in which a management server of the authentication system performs ID authentication with a terminal requesting network registration; a step in which the authentication server of the authentication system generates a token for network registration when receiving a token generation request for the ID-authenticated terminal from the management server; a step in which the management server encrypts the token using a blockchain public key of the ID-authenticated terminal acquired during the ID authentication; a step in which the management server generates token information by including the encrypted token as metadata in a blockchain-based NFT (Non-Fungible Token), and provides the token information to the ID-authenticated terminal; a step in which, when the authentication server receives a network registration request using the token from the ID-authenticated terminal, the authentication server verifies the token to determine whether the ID-authenticated terminal is registered in the network.
상기 ID 인증을 수행하는 단계는, 상기 단말과 ID 인증을 수행하면서 상기 블록체인 공개키와 상기 ID 인증된 단말의 블록체인 공개주소를 획득하는 단계; 블록체인 기반 ID 관리 스마트 계약을 사용하여 상기 블록체인 공개주소를 등록함으로써 상기 ID 인증을 완료하는 단계를 포함할 수 있다. The step of performing the above ID authentication may include a step of obtaining the blockchain public key and the blockchain public address of the ID-authenticated terminal while performing ID authentication with the terminal; and a step of 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 above token information may include a 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 to the blockchain public address to generate the token information.
상기 ID 인증된 단말의 네트워크 등록 여부를 결정하는 단계는, 상기 단말이 상기 단말의 블록체인 개인키를 이용하여 상기 토큰 URI를 복호화하여 상기 토큰을 획득하는 단계;를 더 포함할 수 있다.The step of determining whether the above ID-authenticated terminal is registered in the network may further include a step of the terminal decrypting the token URI using the blockchain private key of the terminal to obtain the token.
상기 ID 인증된 단말의 네트워크 등록 여부를 결정하는 단계는, 상기 토큰 정보에 포함된 상기 블록체인 공개주소와 상기 ID 인증된 단말의 블록체인 공개주소가 동일한지 여부를 확인하여 상기 토큰의 유효성을 검증하고, 상기 토큰이 유효한 경우, 상기 토큰을 이용하여 상기 ID 인증된 단말의 네트워크 등록을 완료하는 단계를 포함할 수 있다.The step of determining whether the above ID-authenticated terminal is registered in the network may include a step of 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 identical, and if the token is valid, completing the network registration of the ID-authenticated terminal using the token.
상기 토큰의 유효성을 검증하는 단계는, 상기 토큰 정보에 포함된 토큰 시간 정보를 현재 타임 스탬프와 비교하여 상기 토큰의 만료 여부에 따른 유효성을 검증하는 단계를 더 포함할 수 있다.The step of verifying the validity of the token may further include a step of verifying the validity of the token according to whether the token has expired by comparing the token time information included in the token information with the current timestamp.
상기 토큰이 유효하지 않은 경우, 상기 관리 서버로 토큰 상태 알림 확인을 트리거 하여 상기 토큰을 제거하는 단계를 더 포함할 수 있다.If the above token is invalid, the step of triggering a token status notification check with the management server to remove the token may be further included.
본 발명의 일 실시예에 따르면, 토큰의 소유권을 보장함으로써 정당한 사용자가 네트워크 등록하여 보안을 유지할 수 있다. According to one embodiment of the present invention, by ensuring ownership of tokens, legitimate users can register on the network and maintain security.
본 발명의 일 실시예에 따르면, 토큰의 소유권을 보장하고, 안전하게 토큰을 전달할 수 있다. According to one embodiment of the present invention, ownership of tokens can be guaranteed and tokens can be transferred safely.
본 발명의 일 실시예에 따르면, 블록체인 등 분산원장 기술은 ID 정보의 안전한 보관 기능을 제공하는 동시에 서버/데이터베이스 장애 발생 시 탄력성을 제공할 수 있다. According to one embodiment of the present invention, distributed ledger technology such as blockchain can provide a safe storage function for ID information while providing resilience in the event of a server/database failure.
도 1은 본 발명의 일 실시예에 따른 인증 시스템을 도시한 개략도이다.
도 2는 본 발명의 일 실시예에 따른 인증 시스템의 동작 흐름도를 도시한 도면이다.
도 3은 본 발명의 일 실시예에 따른 인증 시스템과 단말 간 동작 흐름도를 도시한 도면이다.
도 4는 본 발명의 일 실시예에 따른 인증 시스템과 단말의 동작 모습을 도시한 도면이다.FIG. 1 is a schematic diagram illustrating an authentication system according to one embodiment of the present invention.
FIG. 2 is a diagram illustrating an operation flow diagram of an authentication system according to one embodiment of the present invention.
FIG. 3 is a diagram illustrating an operation flow between an authentication system and a terminal according to one embodiment of the present invention.
FIG. 4 is a drawing illustrating the operation of an authentication system and a terminal according to one embodiment of the present invention.
이하, 본 발명에 따른 바람직한 실시 형태를 첨부된 도면을 참조하여 상세하게 설명한다. 첨부된 도면과 함께 이하에 개시될 상세한 설명은 본 발명의 예시적인 실시형태를 설명하고자 하는 것이며, 본 발명이 실시될 수 있는 유일한 실시형태를 나타내고자 하는 것이 아니다. 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략할 수 있고, 명세서 전체를 통하여 동일 또는 유사한 구성 요소에 대해서는 동일한 참조 부호를 사용할 수 있다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. The detailed description to be disclosed below together with the accompanying drawings is intended to explain exemplary embodiments of the present invention, and is not intended to represent the only embodiments in which the present invention may be practiced. In the drawings, in order to clearly describe the present invention, parts that are not related to the description may be omitted, and the same reference numerals may be used for the same or similar components throughout the specification.
도 1은 본 발명의 일 실시예에 따른 인증 시스템을 도시한 개략도이다.FIG. 1 is a schematic diagram illustrating an authentication system according to one 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) and determines whether to register it according to a network registration request of the terminal (10).
본 발명의 일 실시예에 따르면, 단말(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 requesting ID creation and registration in a zero trust network. Since the present invention performs ID authentication and network registration by utilizing blockchain technology, all terminals according to one embodiment of the present invention are considered to mean blockchain clients having a blockchain private key (Prk) and public key (Puk) together with a blockchain public address (PuAddr).
본 발명의 일 실시예에 따르면, 관리 서버(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 generation, smart contract execution, and secure token generation, and the management server may be implemented as an RPC server.
보다 구체적으로, 관리 서버(100)는 네트워크 등록을 요청하는 단말(10)과 ID 인증을 수행하고, 단말(10)의 ID 인증됨에 기초하여 네트워크 등록을 위한 토큰을 포함하는 토큰 정보를 생성하여 ID 인증된 단말(10)에 제공한다. More specifically, the management server (100) performs ID authentication with a terminal (10) requesting network registration, and generates token information including a token for network registration based on the ID authentication of the terminal (10) and provides it to the ID-authenticated terminal (10).
관리 서버(100)는 블록체인 기반의 ID 관리 스마트 계약과 토큰 발급 스마트 계약에서 얻은 정보를 결합할 수 있는 분산 응용 프로그램(dapp)으로 작동한다. The management server (100) operates as a decentralized 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) is an entity that generates a token for network registration and, when receiving a network registration request from a terminal (10), verifies the token to determine whether the terminal (10) is registered in the network.
이때, 인증 서버(200)에 의해 생성되는 토큰은 일회성 토큰(OTT)으로 JWT의 형식을 가진다. 그러나, 앞서 서술한 바와 같이 JWT 형식의 토큰이 네트워크 등록에 사용되는 경우 토큰 위, 변조 등 보안 문제가 발생할 수 있다. At this time, the token generated by the authentication server (200) is a one-time token (OTT) in the form of JWT. However, as described above, if a token in the form of JWT is used for network registration, security issues such as token forgery and tampering may occur.
또한, 인증 서버(200)는 제로 트러스트 네트워크를 나타내는 네트워크 오버레이의 일부로 간주된다. 그러나, 기존의 인증서버에는 네트워크 인증을 위한 토큰을 의도한 엔터티에 안전하게 전달하기 위한 통합 메커니즘이 없다.Additionally, the authentication server (200) is considered to be part of a network overlay representing a zero trust network. However, existing authentication servers lack an integrated mechanism for securely delivering a token for network authentication to the intended entity.
따라서, 본 발명에서는 허가된 블록체인 기술을 사용하여 각 잠재적 등록자에게 블록체인 ID(즉, 블록체인 개인 키, 블록체인 공개 키 및 블록체인 공개주소)를 할당하여 인증 서비스 프레임워크 상에서 JWT 형식의 토큰을 안전하게 전달할 수 있는 기술에 대해 제안한다. Therefore, the present invention proposes a technology that can securely transmit a token in the form of JWT on an authentication service framework by assigning a blockchain ID (i.e., a blockchain private key, a blockchain public key, and a blockchain public address) to each potential registrant using a permissioned blockchain technology.
특히, 본 발명에서는 토큰을 암호화하고, 암호화된 토큰을 NFT(Non-Fungible Token)에 메타데이터로 포함시켜 토큰의 소유권을 확보하는 것을 목표로 한다. In particular, the present invention aims to secure ownership of a token by encrypting the token and including the encrypted token as metadata in an NFT (Non-Fungible Token).
블록체인 기술은 암호화, 탈중앙화, 합의 원칙을 기반으로 거래 신뢰를 보장한다. 대부분의 블록체인 또는 분산 원장 기술(DLT)의 데이터는 하나 이상의 트랜잭션을 포함하는 블록으로 구성된다. 암호화 체인의 각각의 새로운 블록은 이전의 모든 블록에 연결되므로 변조가 거의 불가능하다.Blockchain technology ensures transaction trust based on the principles of encryption, decentralization, and consensus. Most blockchain or distributed ledger technology (DLT) data is organized into blocks containing one or more transactions. Each new block in the cryptographic chain is linked to all previous blocks, making it nearly impossible to tamper with.
또한, 블록체인은 모든 엔터티가 합의의 일부로 또는 트랜잭션을 실행하는 블록체인 클라이언트로 참여할 수 있는 공개 원장으로 작동하며, 프로그래밍 방식의 프레임워크를 제공하는 블록체인 기술을 통해 다양한 사용 사례를 수용할 수 있는 분산 응용 프로그램을 만들 수 있다.Additionally, blockchain operates as a public ledger in which any entity can participate as part of a consensus or as a blockchain client executing transactions, and blockchain technology provides a programmatic framework to create decentralized applications that can accommodate a variety of use cases.
이 때문에 본 발명에서는 블록체인 기반의 스마트 계약을 사용하여 프로그래밍 방식의 상호 작용이 가능한 프라이빗/허가된 블록체인을 사용한다. 또한, 본 발명에서는 Hyperledger Besu를 사용하는 허가된 이더리움 블록체인을 사용할 수 있다. For this reason, the present invention uses a private/permissioned blockchain that enables programmatic interaction using blockchain-based smart contracts. Additionally, the present invention can use a permissioned Ethereum blockchain using Hyperledger Besu.
이하, 도면들을 참조하여 본 발명의 일 실시예에 따른 시스템의 동작에 대해 보다 구체적으로 설명한다.Hereinafter, the operation of the system according to one embodiment of the present invention will be described in more detail with reference to the drawings.
도 2는 본 발명의 일 실시예에 따른 인증 시스템의 동작 흐름도를 도시한 도면이다.FIG. 2 is a diagram illustrating an operation flow diagram of an authentication system according to one 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 a 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 generation through interaction with the management server (100).
이때, ID 인증은 다중 인증(Multi Factor Authentication, MFA)으로 수행될 수 있으며, 관리 서버(100)는 단말(10)의 네트워크 등록 요청(본 단계에서는 사실상 ID 인증 요청이다.)에 따라 MFA 절차를 트리거한다. At this time, ID authentication can be performed with multi-factor authentication (MFA), and the management server (100) triggers the MFA procedure according to the network registration request of the terminal (10) (which is actually an ID authentication request at this stage).
관리 서버(100)는 단말(10)이 다중 인증을 수행하는 과정에서 암호화 서명된 요청을 얻을 수 있고, 이 서명에는 단말(10)의 블록체인 공개키와 블록체인 공개주소가 포함되어 있다.The management server (100) can obtain an encrypted signed request during the process of the terminal (10) performing 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) can complete ID authentication by obtaining a blockchain public key and a blockchain public address of the ID-authenticated terminal (10) while performing ID authentication with the terminal (10), and registering the blockchain public address of the terminal (10) using a blockchain-based ID management smart contract.
또한, 다중 인증 과정에서 추후 생성되는 토큰 정보의 전송을 관리 서버(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) is described as having completed ID authentication.
본 발명의 일 실시예에 따르면, 시스템(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 generation request for a 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) on the network. The authentication server (200) generates a token for network registration according to the token generation request. At this time, the token is an OTT in the JWT format, as described above. Thereafter, 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 a token using the blockchain public key of the terminal (10) obtained during ID authentication (S30).
만일, OTT를 그대로 단말(10)에 전달하면 중도에 위, 변조되는 등 보안에 취약하므로, 먼저 관리 서버(100)는 토큰을 블록체인 공개키를 이용하여 암호화한다. 이때, 암호화에 사용되는 블록체인 공개키는 S10의 인증 과정에서 획득된 것이다. If OTT is transmitted as is to the terminal (10), it is vulnerable to security issues such as being forged or altered in the middle, so the management server (100) first encrypts the token using a blockchain public key. At this time, the blockchain public key used for encryption is obtained during the authentication process of S10.
본 발명의 일 실시예에 따르면, 관리 서버(100)는 암호화된 토큰을 블록체인 기반 NFT에 메타데이터로 포함시킴으로써, 토큰 정보를 생성하고, 토큰 정보를 ID 인증된 단말(10)에 제공한다(S40).According to one embodiment of the present invention, the management server (100) generates token information by including an encrypted token as metadata in a blockchain-based NFT, and provides the token information to an ID-authenticated terminal (10) (S40).
본 발명의 일 실시예에 따르면, 토큰 정보는 암호화된 토큰을 포함하는 정보로, 전송의 안전성을 담보하기 위해 관리 서버(100)는 암호화된 토큰을 블록체인 기반의 NFT에 매핑하여 토큰 정보를 생성한다 According to one embodiment of the present invention, token information is information including an encrypted token, and in order to ensure the security of transmission, the management server (100) generates token information by mapping the encrypted token to a blockchain-based NFT.
보다 구체적으로, 관리 서버(100)는 블록체인 기반 토큰 발급 스마트 계약을 사용하여 암호화된 토큰을 NFT의 토큰URI의 일부로 포함시키고, 단말(10)의 블록체인 공개주소와 매핑하여 토큰 정보를 생성한다.More specifically, the management server (100) uses a blockchain-based token issuance smart contract to include an encrypted token as part of the token URI of the NFT and maps it to the blockchain public address of the terminal (10) to generate token information.
단말(10)은 관리 서버(100)로부터 토큰 정보를 수신하면, 단말(10)의 블록체인 개인키를 이용하여 토큰 정보의 토큰 URI를 복호화하여 토큰을 획득할 수 있다. 단말(10)은 복호화된 토큰을 인증 서버(200)와 통신하여 등록을 위한 토큰(OTT)으로 활용한다.When the terminal (10) receives token information from the management server (100), it can decrypt the token URI of the token information using the blockchain private key of the terminal (10) to obtain a token. The terminal (10) communicates with the authentication server (200) to use 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 a terminal (10), the authentication server (200) verifies the token to determine whether the terminal (10) is registered 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) can verify the validity according to whether the token has expired by comparing the token time information included in the token information with the current timestamp.
인증 서버(200)는 관리 서버(100)와 상호작용하여 토큰의 유효성 및 소유권을 확인할 수 있다. 인증 서버(200)는 토큰이 유효한 경우, 토큰을 이용하여 단말(10)의 네트워크 등록 절차를 완료한다. The authentication server (200) can interact with the management server (100) to verify the validity and ownership of the token. If the token is valid, the authentication server (200) uses the token to complete the network registration procedure of the terminal (10).
인증 서버(200)는 토큰이 유효하지 않은 경우, 즉, 획득된 토큰이 이미 등록에 사용되었거나, 토큰에 이미 만료 날짜가 있는 경우, 인증 서버(200)는 관리 서버(100)로 토큰 상태 확인 작업을 트리거 하여 토큰을 제거할 수 있다. If the token is invalid, i.e., the acquired token has already been used for registration or the token already has an expiration date, the authentication server (200) can trigger a token status check operation with the management server (100) to remove the token.
본 발명의 일 실시예에 따르면, NFT의 메타데이터를 암호화하여 정보를 보호할 수 있고, NFT를 통한 소유권 증명은 시스템의 잠재적인 등록자를 신뢰할 수 있다. According to one embodiment of the present invention, metadata of an NFT can be encrypted to protect information, and proof of ownership through an NFT can trust potential registrants of the system.
만일, 블록체인 기술을 사용하지 않고 유사한 결과를 얻으려면 복잡한 PKI 인프라와 데이터베이스 관리가 필요한 중앙 집중식 접근 방식이 필요하다. To achieve similar results without using blockchain technology, a centralized approach would be required, requiring complex PKI infrastructure and database management.
본 발명의 일 실시예에 따르면, 보다 간편하게 정보 보호 및 강력한 ID 인증이 가능하다. According to one embodiment of the present invention, information protection and strong ID authentication are possible more easily.
본 발명의 일 실시예에 따르면, 트랜잭션에 대한 액세스 권한을 부여하기 위해 허가된 블록체인이 사용되는 바, 허용된 계정만 블록체인 트랜잭션을 실행할 수 있어 악성 엔터티에 대한 접근(access)을 최소화할 수 있다.In 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.
도 3은 본 발명의 일 실시예에 따른 인증 시스템과 단말 간 동작 흐름도를 도시한 도면이다.FIG. 3 is a diagram illustrating an operation flow between an authentication system and a terminal according to one embodiment of the present invention.
도 3은 앞서 도 2를 참조하여 서술한 동작들을 인증 시스템의 각 장치와 연결하여 도시한 것으로, 도 2와 설명이 중복되는 부분에서는 그 내용을 차용한다. Figure 3 illustrates the operations described above with reference to Figure 2, connected to each device of the authentication system, and the contents of Figure 2 are borrowed where the explanation overlaps.
먼저, 단말(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 generate these 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) can make a registration request while providing the blockchain public address, name, and email information to the management server (100).
본질적으로 관리 서버(100)는 요청하는 단말(10)을 블록체인에 등록하기 위해 조직/기업의 일부인지 확인하는 역할을 한다. 이를 위해 관리 서버(100)는 조직에 특정한 비즈니스 규칙과 인적 자원 정보를 알고 있어야 한다. 본 발명에서는, 관리 서버(100)가 확인된 개인 연락처 정보를 기반으로 다중 인증 방식을 적용할 수 있도록 이러한 요구 사항을 충족한다고 가정한다. Essentially, the management server (100) plays a role in verifying whether the requesting terminal (10) is part of an organization/company in order to register it in the blockchain. To this end, the management server (100) must know the business rules and human resource information specific to the organization. In the present invention, it is assumed that these requirements are met so that the management server (100) can apply a multi-authentication method based on the 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 mail sent by the terminal (10) matches the mail in the database during the multiple authentication process. If they do not match, the registration request is rejected.
단말(10)은 이메일을 통해 확인 링크를 열고 개인키를 이용하여 관리 서버(100)에 대한 응답에 서명한다. 이 과정에서 관리 서버(100)는 블록체인 공개키를 획득하며, NFT 전송에 대한 권한을 위임받는다. The terminal (10) opens a confirmation link via email and signs a response to the management server (100) using the private key. In this process, the management server (100) obtains a blockchain public key and is delegated authority to transfer NFTs.
관리 서버(100)는 ID 관리 스마트 계약을 사용하여 블록체인 내부에 단말(10)의 블록체인 공개주소, 이름, 이메일 정보를 등록하여 ID 인증을 완료한다(S304). The management server (100) uses an ID management smart contract to register the blockchain public address, name, and email information of the terminal (10) within the blockchain to complete ID authentication (S304).
이후, 관리 서버(100)는 인증 서버(200)에 토큰 생성을 요청한다(S305). Thereafter, the management server (100) requests the authentication server (200) to create a token (S305).
관리 서버(100)는 등록된 단말(10)에 대한 토큰(OTT) 생성을 위해 인증 서버(200)와 통신한다. The management server (100) communicates with the authentication server (200) to generate a token (OTT) for a 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 includes it as metadata of the NFT to generate token information (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 generate an NFT, and the encrypted token is included in the token URI of the NFT.
관리 서버(100)는 JWT의 base64url의 블록체인 공개키 암호화를 기반으로 JWT 페이로드의 변조 방지를 보장한다. 이때, 토큰 메타데이터가 암호화된 JWT의 base64url을 "온체인" 정보의 일부로 포함하고, NFT 생성을 위해 ERC-721 토큰 표준을 적용할 수 있다. 블록 체인은 NFT가 의도된 등록자의 공개 블록체인 주소를 NFT의 소유자 필드에 매핑하는 것과 관련된 "소유권 증명"을 제공하기 때문에 JWT의 적절한 전달을 보장한다.The management server (100) ensures that the JWT payload is not tampered with based on blockchain public key encryption of the base64url of the JWT. At this time, the token metadata may include the encrypted base64url of the JWT as part of the "on-chain" information, and the ERC-721 token standard may be applied for NFT creation. The blockchain ensures proper delivery of the JWT because it provides "proof of ownership" related to mapping the public blockchain address of the intended registrant to the owner field of the NFT.
관리 서버(100)는 토큰 발급 스마트 계약에서 앞서 추출한 "exp" 및 "jti"정보와 tokenId를 입력한다.The management server (100) inputs the “exp” and “jti” information previously extracted from the token issuance smart contract and the tokenId.
관리 서버(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 using 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 a token and a signature message and verifies blockchain information related to the token. At this time, it queries the blockchain public address that owns the "exp" field, tokenId, and tokenId registered in the blockchain using "jti". If "exp" is less than the current timestamp, it verifies that the token is invalid.
서명 메시지에서 블록체인 공개주소를 복구하고, 복구된 블록체인 공개주소가 단말의 등록된 블록체인 공개주소와 일치하지 않으면 토큰이 유효하지 않음을 확인한다. 유효하지 않은 토큰은 제거한다. Recover the blockchain public address from the signing message, and if the recovered blockchain public address does not match the registered blockchain public address of the terminal, the token is verified as invalid. Invalid tokens are removed.
인증 서버(200)는 유효한 토큰을 사용하여 등록 절차를 완료한다. 토큰 상태 알림을 관리 서버(100)로 전송하여 사용된 토큰은 제거한다. The authentication server (200) completes the registration procedure using a valid token. It sends a token status notification to the management server (100) to remove the used token.
이와 같이 단말(10)의 ID와 토큰의 유효성은 네트워크 등록 프로세스 전반에 걸쳐 확인되고, 보장된다. In this way, the validity of the ID and token of the terminal (10) is verified and guaranteed throughout the network registration process.
도 4는 본 발명의 일 실시예에 따른 인증 시스템과 단말의 동작 모습을 도시한 도면이다.FIG. 4 is a drawing illustrating the operation of an authentication system and a terminal according to one embodiment of the present invention.
도 4는 앞서 도 2 및 도 3에서 설명한 내용을 도식화하여 나타낸 것이다. Figure 4 is a diagrammatic representation of the contents described above in Figures 2 and 3.
본 발명에서 제안한 메커니즘은 허가된 블록체인 기술을 활용하고 각 잠재적 사용자에게 블록체인 ID(블록체인 개인 키, 블록체인 공개 키 및 블록체인 공용 주소)를 할당하여 토큰(OTT)의 안전한 전달을 목표로 한다.The mechanism proposed in the present invention aims at the secure transfer of tokens (OTT) by utilizing permissioned blockchain technology and assigning blockchain ID (blockchain private key, blockchain public key and blockchain public address) to each potential user.
잠재적 등록자의 블록체인 공개 키를 사용하여 토큰을 암호화하고, 암호화된 토큰을 토큰 URI의 일부로 포함하는 NFT를 생성함으로써 토큰의 소유권을 보장할 수 있다. 허용된 블록체인은 의도된 등록자만이 토큰을 수신하고 해독할 수 있도록 보장한다. Ownership of a token can be secured by encrypting the token using the blockchain public key of the potential registrant and creating an NFT that includes the encrypted token as part of the token URI. The permissioned blockchain ensures that only the intended registrant can receive and decrypt the token.
*본 출원은 기업과제 수행에 따른 결과물로 과제 상세 정보는 다음과 같다.*This application is a result of a corporate project, and the project details are as follows.
-과제번호: 2021-1095-Task number: 2021-1095
-연구사업명: 인류 난제 해결을 위한 혁신 과학기술 센터 및 프로그램-Research Project Name: Center and Program for Innovative Science and Technology to Solve Humanity's Challenges
-연구과제명: Zero Touch 및 Zero Trust (ZT&T)를 위한 IBN(Intent based Networking) 및 블록체인 기반 접근법-Research Project Name: IBN (Intent-based Networking) and Blockchain-based Approach for Zero Touch and Zero Trust (ZT&T)
-부처명: 컴퓨터 공학과-Department Name: Computer Engineering
-전문기관명: 동그라미재단-Name of specialized organization: Donggrami Foundation
-주관기관명: 제주대학교- Name of the host organization: Jeju National University
-총 연구기간: 2021.12. 1. - 2022. 11. 30.-Total research period: December 1, 2021 - November 30, 2022
1: 인증 시스템
10: 단말
100: 관리 서버
200: 인증 서버1: Authentication System
10: Terminal
100: Management Server
200: Authentication Server
Claims (14)
네트워크 등록을 요청하는 단말과 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 request for token creation for the ID-authenticated terminal from the management server, the token is generated, and when a network registration request using the token is received from the ID-authenticated terminal, an authentication server is included that verifies the token to determine whether the ID-authenticated terminal is registered in the network.
The above management server,
An authentication system that encrypts the token received from the authentication server using the blockchain public key of the ID-authenticated terminal obtained during the ID authentication, and generates the token information by including the encrypted token as metadata in a blockchain-based NFT (Non-Fungible Token).
상기 관리 서버는,
상기 단말과 ID 인증을 수행하면서 상기 블록체인 공개키와 상기 ID 인증된 단말의 블록체인 공개주소를 획득하고,
블록체인 기반 ID 관리 스마트 계약을 사용하여 상기 블록체인 공개주소를 등록함으로써 상기 ID 인증을 완료하는 인증 시스템. In the first paragraph,
The above management server,
By performing the above terminal and ID authentication, the blockchain public key and the blockchain public address of the ID-authenticated terminal are acquired.
An authentication system that completes the ID authentication by registering the blockchain public address using a blockchain-based ID management smart contract.
상기 관리 서버는,
블록체인 기반 토큰 발급 스마트 계약을 사용하여 상기 암호화된 토큰을 상기 NFT의 토큰 URI의 일부로 포함시키고, 상기 블록체인 공개주소와 매핑하여 상기 토큰 정보를 생성하는 인증 시스템.In the second paragraph,
The above management server,
An authentication system that uses a blockchain-based token issuance smart contract to include said encrypted token as part of the token URI of said NFT and generates said token information by mapping it to said blockchain public address.
상기 단말은,
상기 단말의 블록체인 개인키를 이용하여 상기 토큰 URI를 복호화하여 상기 토큰을 획득하는 것을 특징으로 하는 인증 시스템.In the third paragraph,
The above terminal,
An authentication system characterized in that the token is obtained by decrypting the token URI using the blockchain private key of the terminal.
상기 인증 서버는,
상기 토큰 정보에 포함된 상기 블록체인 공개주소와 상기 ID 인증된 단말의 블록체인 공개주소가 동일한지 여부를 확인하여 상기 토큰의 유효성을 검증하고,
상기 토큰이 유효한 경우, 상기 토큰을 이용하여 상기 ID 인증된 단말의 네트워크 등록을 완료하는 인증 시스템.In the first paragraph,
The above authentication server,
The validity of the token is verified by checking whether the blockchain public address included in the token information is the same as the blockchain public address of the ID-authenticated terminal.
An authentication system that completes network registration of the ID-authenticated terminal using the token if the token is valid.
상기 인증 서버는,
상기 토큰 정보에 포함된 토큰 시간 정보를 현재 타임 스탬프와 비교하여 상기 토큰의 만료 여부에 따른 유효성을 검증하는 인증 시스템.In paragraph 5,
The above authentication server,
An authentication system that verifies the validity of the token by comparing the token time information included in the above token information with the current timestamp and whether the token has expired.
상기 인증 서버는,
상기 토큰이 유효하지 않은 경우, 상기 관리 서버로 토큰 상태 알림 확인을 트리거 하여 상기 토큰을 제거하는 인증 시스템.In clause 5 or 6,
The above authentication server,
An authentication system that triggers a token status notification check to the management server to remove the token if the token is invalid.
상기 인증 시스템의 관리 서버가 네트워크 등록을 요청하는 단말과 ID 인증을 수행하는 단계;
상기 인증 시스템의 인증 서버가 상기 관리 서버로부터 상기 ID 인증된 단말에 대한 토큰 생성 요청을 수신함에 따라 네트워크 등록을 위한 토큰을 생성하는 단계;
상기 관리 서버가 상기 ID 인증 시 획득한 상기 ID 인증된 단말의 블록체인 공개키를 이용하여 상기 토큰을 암호화하는 단계;
상기 관리 서버가 상기 암호화된 토큰을 블록체인 기반 NFT(Non-Fungible Token)에 메타데이터로 포함시킴으로써, 토큰 정보를 생성하고, 상기 토큰 정보를 상기 ID 인증된 단말에 제공하는 단계;
상기 인증 서버가 상기 ID 인증된 단말로부터 상기 토큰을 이용한 상기 네트워크 등록 요청이 수신되는 경우, 상기 토큰을 검증하여 상기 ID 인증된 단말의 네트워크 등록 여부를 결정하는 단계를 포함하는 인증 방법. In the authentication method of a Zero-Trust Network (ZTN) using a blockchain performed by an authentication system,
A step in which the management server of the above authentication system performs ID authentication with a terminal requesting network registration;
A step of generating a token for network registration when the authentication server of the above authentication system receives a request for token generation for the ID-authenticated terminal from the management server;
A step in which the management server encrypts the token using the blockchain public key of the ID-authenticated terminal obtained during the ID authentication;
A step in which the management server generates token information by including the encrypted token as metadata in a blockchain-based NFT (Non-Fungible Token), and provides the token information to the ID-authenticated terminal;
An authentication method comprising a step of verifying the token and determining whether the ID-authenticated terminal is registered in the network when the authentication server receives a network registration request using the token from the ID-authenticated terminal.
상기 ID 인증을 수행하는 단계는,
상기 단말과 ID 인증을 수행하면서 상기 블록체인 공개키와 상기 ID 인증된 단말의 블록체인 공개주소를 획득하는 단계;
블록체인 기반 ID 관리 스마트 계약을 사용하여 상기 블록체인 공개주소를 등록함으로써 상기 ID 인증을 완료하는 단계를 포함하는 인증 방법.In Article 8,
The steps for performing the above ID authentication are:
A step of obtaining the blockchain public key and the blockchain public address of the ID-authenticated terminal while performing the terminal and ID authentication;
An authentication method comprising a step of completing the ID authentication by registering the blockchain public address using a blockchain-based ID management smart contract.
상기 토큰 정보를 생성하는 단계는,
블록체인 기반 토큰 발급 스마트 계약을 사용하여 상기 암호화된 토큰을 상기 NFT의 토큰 URI의 일부로 포함시키고, 상기 블록체인 공개주소와 매핑하여 상기 토큰 정보를 생성하는 단계를 포함하는 인증 방법.In Article 9,
The steps for generating the above token information are:
An authentication method comprising the step of including said encrypted token as part of the token URI of said NFT using a blockchain-based token issuance smart contract and generating said token information by mapping it with said blockchain public address.
상기 ID 인증된 단말의 네트워크 등록 여부를 결정하는 단계는,
상기 단말이 상기 단말의 블록체인 개인키를 이용하여 상기 토큰 URI를 복호화하여 상기 토큰을 획득하는 단계;를 더 포함하는 인증 방법.In Article 10,
The step of determining whether to register the above ID-authenticated terminal on the network is as follows:
An authentication method further comprising a step of the terminal decrypting the token URI using the blockchain private key of the terminal to obtain the token.
상기 ID 인증된 단말의 네트워크 등록 여부를 결정하는 단계는,
상기 토큰 정보에 포함된 상기 블록체인 공개주소와 상기 ID 인증된 단말의 블록체인 공개주소가 동일한지 여부를 확인하여 상기 토큰의 유효성을 검증하고,
상기 토큰이 유효한 경우, 상기 토큰을 이용하여 상기 ID 인증된 단말의 네트워크 등록을 완료하는 단계를 포함하는 인증 방법.In Article 8,
The step of determining whether to register the above ID-authenticated terminal on the network is as follows:
The validity of the token is verified by checking whether the blockchain public address included in the token information is the same as the blockchain public address of the ID-authenticated terminal.
An authentication method comprising a step of completing network registration of the ID-authenticated terminal using the token if the token is valid.
상기 토큰의 유효성을 검증하는 단계는,
상기 토큰 정보에 포함된 토큰 시간 정보를 현재 타임 스탬프와 비교하여 상기 토큰의 만료 여부에 따른 유효성을 검증하는 단계를 더 포함하는 인증 방법.In Article 12,
The steps to verify the validity of the above token are:
An authentication method further comprising a step of comparing token time information included in the above token information with a current timestamp to verify validity according to whether the token has expired.
상기 토큰이 유효하지 않은 경우, 상기 관리 서버로 토큰 상태 알림 확인을 트리거 하여 상기 토큰을 제거하는 단계를 더 포함하는 인증 방법.In clause 12 or 13,
An authentication method further comprising the step of triggering a token status notification check with the management server to remove the token if the token is invalid.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020220156308A KR102816097B1 (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 KR102816097B1 (en) | 2022-11-21 | 2022-11-21 | Authentication system of zero trust network using a blockchain based token process and authentication method thereof |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| KR20240075095A KR20240075095A (en) | 2024-05-29 |
| KR102816097B1 true KR102816097B1 (en) | 2025-05-30 |
Family
ID=91278028
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020220156308A Active KR102816097B1 (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) | KR102816097B1 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR102856375B1 (en) * | 2025-04-15 | 2025-09-05 | (주)에이엔알 | Zero-trust operating system based on software-defined networks capable of detecting real-time anomalies in data channels |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR102101726B1 (en) | 2019-10-11 | 2020-05-29 | (주)소프트제국 | A method and system for simple authentication by using web storage based on the block chain |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR102181601B1 (en) * | 2018-03-30 | 2020-11-23 | 주식회사 코인플러그 | Method for sso service through blockchain, and terminal and server using the same |
-
2022
- 2022-11-21 KR KR1020220156308A patent/KR102816097B1/en active Active
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR102101726B1 (en) | 2019-10-11 | 2020-05-29 | (주)소프트제국 | A method and system for simple authentication by using web storage based on the block chain |
Non-Patent Citations (3)
| Title |
|---|
| Casimer DeCusatis 외 3명. Implementing Zero Trust Cloud Networks with Transport Access Control and First Packet Authentication. 2016 IEEE International Conference on Smart Cloud (2016.11.20) |
| Nicolas Martinod 외 4명. Towards a secure and trustworthy imaging with non-fungible tokens. Applications of Digital Image Processing XLIV. Vol. 11842. SPIE (2021.08.05) |
| Nikos Fotiou 외 4명. OAuth 2.0 authorization using blockchain-based tokens. arXiv preprint arXiv:2001.10461 (2020.01.28) |
Also Published As
| Publication number | Publication date |
|---|---|
| KR20240075095A (en) | 2024-05-29 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8219808B2 (en) | Session-based public key infrastructure | |
| CN104798083B (en) | Method and system for authenticating access requests | |
| JP5695120B2 (en) | Single sign-on between systems | |
| RU2434340C2 (en) | Infrastructure for verifying biometric account data | |
| EP1697818B1 (en) | Authentication system for networked computer applications | |
| KR100986441B1 (en) | Computer-readable storage media having information security methods, information security systems, and security protocols | |
| US7409543B1 (en) | Method and apparatus for using a third party authentication server | |
| TWI237978B (en) | Method and apparatus for the trust and authentication of network communications and transactions, and authentication infrastructure | |
| US7421083B2 (en) | System for seamlessly updating service keys with automatic recovery | |
| CN104580184A (en) | Identity authentication method for mutual-trust application systems | |
| GB2554082A (en) | User sign-in and authentication without passwords | |
| TWM595792U (en) | Authorization system for cross-platform authorizing access to resources | |
| JP2001186122A (en) | Authentication system and authentication method | |
| Kizza | Authentication | |
| Rivera et al. | Secure enrollment token delivery mechanism for zero trust networks using blockchain | |
| JPH10336172A (en) | How to manage public keys for electronic authentication | |
| KR20200016506A (en) | Method for Establishing Anonymous Digital Identity | |
| KR102816097B1 (en) | Authentication system of zero trust network using a blockchain based token process and authentication method thereof | |
| CN114079645A (en) | Method and device for registering services | |
| CN117396866A (en) | Authorized transaction escrow service | |
| CN112968779A (en) | Security authentication and authorization control method, control system and program storage medium | |
| Kim et al. | Can we create a cross-domain federated identity for the industrial Internet of Things without Google? | |
| TW202127289A (en) | Method for cross-platform authorizing access to resources and authorization system thereof | |
| KR102779052B1 (en) | Entrance device management method | |
| CN115632795B (en) | A blockchain-based approach to self-sovereign identity management |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20221121 |
|
| PA0201 | Request for examination | ||
| PG1501 | Laying open of application | ||
| E701 | Decision to grant or registration of patent right | ||
| PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20250527 |
|
| GRNT | Written decision to grant | ||
| PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20250528 Patent event code: PR07011E01D |
|
| PR1002 | Payment of registration fee |
Payment date: 20250528 End annual number: 3 Start annual number: 1 |
|
| PG1601 | Publication of registration |