KR20240075095A - 토큰 프로세스 기반 블록체인을 이용한 제로 트러스트 네트워크의 인증 시스템 및 인증 방법 - Google Patents
토큰 프로세스 기반 블록체인을 이용한 제로 트러스트 네트워크의 인증 시스템 및 인증 방법 Download PDFInfo
- 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
- 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.)
- Pending
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)
Abstract
본 발명의 일 실시예에 따른 블록체인을 이용한 제로 트러스트 네트워크의 인증 시스템에 있어서, 네트워크 등록을 요청하는 단말과 ID 인증을 수행하고, 상기 단말의 ID 인증됨에 기초하여 네트워크 등록을 위한 토큰을 포함하는 토큰 정보를 생성하고, 상기 토큰 정보를 상기 ID 인증된 단말에 제공하는 관리 서버; 및 상기 관리 서버로부터 상기 ID 인증된 단말에 대한 토큰 생성 요청을 수신함에 따라 상기 토큰을 생성하고, 상기 ID 인증된 단말로부터 상기 토큰을 이용한 상기 네트워크 등록 요청이 수신되는 경우, 상기 토큰을 검증하여 상기 ID 인증된 단말의 네트워크 등록 여부를 결정하는 인증 서버를 포함하고, 상기 관리 서버는, 상기 ID 인증 시 획득한 상기 ID 인증된 단말의 블록체인 공개키를 이용하여 상기 인증 서버로부터 수신한 상기 토큰을 암호화하고, 상기 암호화된 토큰을 블록체인 기반 NFT(Non-Fungible Token)에 메타데이터로 포함시킴으로써, 상기 토큰 정보를 생성한다.
Description
본 발명은 제로 트러스트 네트워크의 인증 시스템 및 인증 방법에 관한 것이다.
제로 트러스트 네트워크(Zero Trust Network, ZTN)는 신원을 인증받고 지속적으로 검증되기 전에는 네트워크 인프라의 어떤 엔터티(entity)에도 시스템에 접속 권한을 부여하지 않는 네트워크 보안 모델이다. ZTN을 달성하기 위해 보안상 중요한 부분은 식별된 엔터티에 대해서만 네트워크 리소스에 대한 액세스를 최소화하고 각 후속 액세스 요청에 대해 이러한 ID를 지속적으로 인증 및 승인하는 것이다.
이를 보장하기 위해 사용되는 몇 가지 표준 방법, 예를 들어, OAuth2.0, OpenID Connect 등은 인증 프로세스 중에 JSON 웹 토큰(JSON Web Token, JWT)을 사용한다. 그러나 네트워크 등록을 위한 일회성 토큰(One Time Token, OTT) 등록 시 JWT를 사용하면 잠재적인 보안 문제가 있다.
예를 들어, JWT는 제3자에 의해 가로채어질 수 있고, JWT 페이로드의 정보가 노출되어 인증 서버의 세부 정보를 드러낼 수 있다. 또한 가로채어진 JWT는 JWT가 활성 상태로 유지되는 한 권한 없는 다른 사람이 등록하는 데 사용될 수 있다.
따라서, 네트워크 등록을 위한 토큰을 안전하게 전달할 수 있는 기술에 대한 제안이 필요한 실정이다.
본 발명의 목적은 보다 안전하게 네트워크 등록을 위한 토큰을 전달할 수 있는 제로 트러스트 네트워크의 인증 시스템 및 인증 방법을 제공하는 것이다.
본 발명의 목적은 보다 효과적으로 네트워크 등록을 위한 토큰의 소유권을 보장할 수 있는 제로 트러스트 네트워크의 인증 시스템 및 인증 방법을 제공하는 것이다.
본 발명의 일 실시예에 따른 블록체인을 이용한 제로 트러스트 네트워크의 인증 시스템에 있어서, 네트워크 등록을 요청하는 단말과 ID 인증을 수행하고, 상기 단말의 ID 인증됨에 기초하여 네트워크 등록을 위한 토큰을 포함하는 토큰 정보를 생성하고, 상기 토큰 정보를 상기 ID 인증된 단말에 제공하는 관리 서버; 및 상기 관리 서버로부터 상기 ID 인증된 단말에 대한 토큰 생성 요청을 수신함에 따라 상기 토큰을 생성하고, 상기 ID 인증된 단말로부터 상기 토큰을 이용한 상기 네트워크 등록 요청이 수신되는 경우, 상기 토큰을 검증하여 상기 ID 인증된 단말의 네트워크 등록 여부를 결정하는 인증 서버를 포함하고, 상기 관리 서버는, 상기 ID 인증 시 획득한 상기 ID 인증된 단말의 블록체인 공개키를 이용하여 상기 인증 서버로부터 수신한 상기 토큰을 암호화하고, 상기 암호화된 토큰을 블록체인 기반 NFT(Non-Fungible Token)에 메타데이터로 포함시킴으로써, 상기 토큰 정보를 생성한다.
상기 관리 서버는, 상기 단말과 ID 인증을 수행하면서 상기 블록체인 공개키와 상기 ID 인증된 단말의 블록체인 공개주소를 획득하고, 블록체인 기반 ID 관리 스마트 계약을 사용하여 상기 블록체인 공개주소를 등록함으로써 상기 ID 인증을 완료할 수 있다.
상기 관리 서버는, 블록체인 기반 토큰 발급 스마트 계약을 사용하여 상기 암호화된 토큰을 상기 NFT의 토큰URI의 일부로 포함시키고, 상기 블록체인 공개주소와 매핑하여 상기 토큰 정보를 생성할 수 있다.
상기 단말은, 상기 단말의 블록체인 개인키를 이용하여 상기 토큰 URI를 복호화하여 상기 토큰을 획득할 수 있다.
상기 인증 서버는, 상기 토큰 정보에 포함된 상기 블록체인 공개주소와 상기 ID 인증된 단말의 블록체인 공개주소가 동일한지 여부를 확인하여 상기 토큰의 유효성을 검증하고, 상기 토큰이 유효한 경우, 상기 토큰을 이용하여 상기 ID 인증된 단말의 네트워크 등록을 완료할 수 있다.
상기 인증 서버는, 상기 토큰 정보에 포함된 토큰 시간 정보를 현재 타임 스탬프와 비교하여 상기 토큰의 만료 여부에 따른 유효성을 검증할 수 있다.
상기 인증 서버는, 상기 토큰이 유효하지 않은 경우, 상기 관리 서버로 토큰 상태 알림 확인을 트리거 하여 상기 토큰을 제거할 수 있다.
본 발명의 일 실시예에 따른 인증 시스템에 의해 수행되는 블록체인을 이용한 제로 트러스트 네트워크의 인증 방법에 있어서, 상기 인증 시스템의 관리 서버가 네트워크 등록을 요청하는 단말과 ID 인증을 수행하는 단계; 상기 인증 시스템의 인증 서버가 상기 관리 서버로부터 상기 ID 인증된 단말에 대한 토큰 생성 요청을 수신함에 따라 네트워크 등록을 위한 토큰을 생성하는 단계; 상기 관리 서버가 상기 ID 인증 시 획득한 상기 ID 인증된 단말의 블록체인 공개키를 이용하여 상기 토큰을 암호화하는 단계; 상기 관리 서버가 상기 암호화된 토큰을 블록체인 기반 NFT(Non-Fungible Token)에 메타데이터로 포함시킴으로써, 상기 토큰 정보를 생성하고, 상기 토큰 정보를 상기 ID 인증된 단말에 제공하는 단계; 상기 인증 서버가 상기 ID 인증된 단말로부터 상기 토큰을 이용한 상기 네트워크 등록 요청이 수신되는 경우, 상기 토큰을 검증하여 상기 ID 인증된 단말의 네트워크 등록 여부를 결정하는 단계를 포함한다.
상기 ID 인증을 수행하는 단계는, 상기 단말과 ID 인증을 수행하면서 상기 블록체인 공개키와 상기 ID 인증된 단말의 블록체인 공개주소를 획득하는 단계; 블록체인 기반 ID 관리 스마트 계약을 사용하여 상기 블록체인 공개주소를 등록함으로써 상기 ID 인증을 완료하는 단계를 포함할 수 있다.
상기 토큰 정보를 생성하는 단계는, 블록체인 기반 토큰 발급 스마트 계약을 사용하여 상기 암호화된 토큰을 상기 NFT의 토큰URI의 일부로 포함시키고, 상기 블록체인 공개주소와 매핑하여 상기 토큰 정보를 생성하는 단계를 포함할 수 있다.
상기 ID 인증된 단말의 네트워크 등록 여부를 결정하는 단계는, 상기 단말이 상기 단말의 블록체인 개인키를 이용하여 상기 토큰 URI를 복호화하여 상기 토큰을 획득하는 단계;를 더 포함할 수 있다.
상기 ID 인증된 단말의 네트워크 등록 여부를 결정하는 단계는, 상기 토큰 정보에 포함된 상기 블록체인 공개주소와 상기 ID 인증된 단말의 블록체인 공개주소가 동일한지 여부를 확인하여 상기 토큰의 유효성을 검증하고, 상기 토큰이 유효한 경우, 상기 토큰을 이용하여 상기 ID 인증된 단말의 네트워크 등록을 완료하는 단계를 포함할 수 있다.
상기 토큰의 유효성을 검증하는 단계는, 상기 토큰 정보에 포함된 토큰 시간 정보를 현재 타임 스탬프와 비교하여 상기 토큰의 만료 여부에 따른 유효성을 검증하는 단계를 더 포함할 수 있다.
상기 토큰이 유효하지 않은 경우, 상기 관리 서버로 토큰 상태 알림 확인을 트리거 하여 상기 토큰을 제거하는 단계를 더 포함할 수 있다.
본 발명의 일 실시예에 따르면, 토큰의 소유권을 보장함으로써 정당한 사용자가 네트워크 등록하여 보안을 유지할 수 있다.
본 발명의 일 실시예에 따르면, 토큰의 소유권을 보장하고, 안전하게 토큰을 전달할 수 있다.
본 발명의 일 실시예에 따르면, 블록체인 등 분산원장 기술은 ID 정보의 안전한 보관 기능을 제공하는 동시에 서버/데이터베이스 장애 발생 시 탄력성을 제공할 수 있다.
도 1은 본 발명의 일 실시예에 따른 인증 시스템을 도시한 개략도이다.
도 2는 본 발명의 일 실시예에 따른 인증 시스템의 동작 흐름도를 도시한 도면이다.
도 3은 본 발명의 일 실시예에 따른 인증 시스템과 단말 간 동작 흐름도를 도시한 도면이다.
도 4는 본 발명의 일 실시예에 따른 인증 시스템과 단말의 동작 모습을 도시한 도면이다.
도 2는 본 발명의 일 실시예에 따른 인증 시스템의 동작 흐름도를 도시한 도면이다.
도 3은 본 발명의 일 실시예에 따른 인증 시스템과 단말 간 동작 흐름도를 도시한 도면이다.
도 4는 본 발명의 일 실시예에 따른 인증 시스템과 단말의 동작 모습을 도시한 도면이다.
이하, 본 발명에 따른 바람직한 실시 형태를 첨부된 도면을 참조하여 상세하게 설명한다. 첨부된 도면과 함께 이하에 개시될 상세한 설명은 본 발명의 예시적인 실시형태를 설명하고자 하는 것이며, 본 발명이 실시될 수 있는 유일한 실시형태를 나타내고자 하는 것이 아니다. 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략할 수 있고, 명세서 전체를 통하여 동일 또는 유사한 구성 요소에 대해서는 동일한 참조 부호를 사용할 수 있다.
도 1은 본 발명의 일 실시예에 따른 인증 시스템을 도시한 개략도이다.
도 1을 참조하여 살펴보면, 인증 시스템(1)(이하, 시스템(1)이라고도 한다.)은 관리 서버(100) 및 인증 서버(200)를 포함한다. 시스템(1)은 단말(10)의 네트워크 등록 요청에 따라, 단말(10)의 ID를 인증하고, 등록 여부를 결정한다.
본 발명의 일 실시예에 따르면, 단말(10)(end point)은 제로 트러스트 네트워크에 ID 생성 및 등록을 요청하는 클라이언트 혹은 서비스 공급자이다. 본 발명에서는 블록체인 기술을 활용하여 ID 인증 및 네트워크 등록을 수행하는 바, 본 발명의 일 실시예에 따른 모든 단말은 블록체인 공개주소(PuAddr)와 함께 블록체인 개인키(Prk) 및 공개키(Puk)가 있는 블록체인 클라이언트를 의미하는 것으로 본다.
본 발명의 일 실시예에 따르면, 관리 서버(100)는 ID 생성, 스마트 계약 실행 및 안전한 토큰 생성을 위한 인증 서버(200)와의 상호 작용에 대한 사용자 요청을 처리하는 엔터티로서, 관리 서버는 RPC 서버로 구현될 수 있다.
보다 구체적으로, 관리 서버(100)는 네트워크 등록을 요청하는 단말(10)과 ID 인증을 수행하고, 단말(10)의 ID 인증됨에 기초하여 네트워크 등록을 위한 토큰을 포함하는 토큰 정보를 생성하여 ID 인증된 단말(10)에 제공한다.
관리 서버(100)는 블록체인 기반의 ID 관리 스마트 계약과 토큰 발급 스마트 계약에서 얻은 정보를 결합할 수 있는 분산 응용 프로그램(dapp)으로 작동한다.
본 발명의 일 실시예에 따르면, 인증 서버(200)는 네트워크 등록을 위한 토큰을 생성하고, 단말(10)로부터 네트워크 등록 요청을 수신하면 토큰을 검증하여 단말(10)의 네트워크 등록 여부를 결정하는 엔터티이다.
이때, 인증 서버(200)에 의해 생성되는 토큰은 일회성 토큰(OTT)으로 JWT의 형식을 가진다. 그러나, 앞서 서술한 바와 같이 JWT 형식의 토큰이 네트워크 등록에 사용되는 경우 토큰 위, 변조 등 보안 문제가 발생할 수 있다.
또한, 인증 서버(200)는 제로 트러스트 네트워크를 나타내는 네트워크 오버레이의 일부로 간주된다. 그러나, 기존의 인증서버에는 네트워크 인증을 위한 토큰을 의도한 엔터티에 안전하게 전달하기 위한 통합 메커니즘이 없다.
따라서, 본 발명에서는 허가된 블록체인 기술을 사용하여 각 잠재적 등록자에게 블록체인 ID(즉, 블록체인 개인 키, 블록체인 공개 키 및 블록체인 공개주소)를 할당하여 인증 서비스 프레임워크 상에서 JWT 형식의 토큰을 안전하게 전달할 수 있는 기술에 대해 제안한다.
특히, 본 발명에서는 토큰을 암호화하고, 암호화된 토큰을 NFT(Non-Fungible Token)에 메타데이터로 포함시켜 토큰의 소유권을 확보하는 것을 목표로 한다.
블록체인 기술은 암호화, 탈중앙화, 합의 원칙을 기반으로 거래 신뢰를 보장한다. 대부분의 블록체인 또는 분산 원장 기술(DLT)의 데이터는 하나 이상의 트랜잭션을 포함하는 블록으로 구성된다. 암호화 체인의 각각의 새로운 블록은 이전의 모든 블록에 연결되므로 변조가 거의 불가능하다.
또한, 블록체인은 모든 엔터티가 합의의 일부로 또는 트랜잭션을 실행하는 블록체인 클라이언트로 참여할 수 있는 공개 원장으로 작동하며, 프로그래밍 방식의 프레임워크를 제공하는 블록체인 기술을 통해 다양한 사용 사례를 수용할 수 있는 분산 응용 프로그램을 만들 수 있다.
이 때문에 본 발명에서는 블록체인 기반의 스마트 계약을 사용하여 프로그래밍 방식의 상호 작용이 가능한 프라이빗/허가된 블록체인을 사용한다. 또한, 본 발명에서는 Hyperledger Besu를 사용하는 허가된 이더리움 블록체인을 사용할 수 있다.
이하, 도면들을 참조하여 본 발명의 일 실시예에 따른 시스템의 동작에 대해 보다 구체적으로 설명한다.
도 2는 본 발명의 일 실시예에 따른 인증 시스템의 동작 흐름도를 도시한 도면이다.
본 발명의 일 실시예에 따르면, 시스템(1)의 관리 서버(100)는 네트워크 등록을 요청하는 단말(10)과 ID 인증을 수행한다(S10).
단말(10)은 네트워크 등록을 위한 토큰을 수신할 때까지 인증 서버(200)를 인식하지 못한다. 따라서, 단말(10)은 먼저 관리 서버(100)와의 상호 작용을 통해 ID 생성을 요청한다.
이때, ID 인증은 다중 인증(Multi Factor Authentication, MFA)으로 수행될 수 있으며, 관리 서버(100)는 단말(10)의 네트워크 등록 요청(본 단계에서는 사실상 ID 인증 요청이다.)에 따라 MFA 절차를 트리거한다.
관리 서버(100)는 단말(10)이 다중 인증을 수행하는 과정에서 암호화 서명된 요청을 얻을 수 있고, 이 서명에는 단말(10)의 블록체인 공개키와 블록체인 공개주소가 포함되어 있다.
즉, 관리 서버(100)는 단말(10)과 ID 인증을 수행하면서 블록체인 공개키와 ID 인증된 단말(10)의 블록체인 공개주소를 획득하고, 블록체인 기반 ID 관리 스마트 계약을 사용하여 단말(10)의 블록체인 공개주소를 등록함으로써 ID 인증을 완료할 수 있다.
또한, 다중 인증 과정에서 추후 생성되는 토큰 정보의 전송을 관리 서버(100)가 수행하도록 위임되며, 관리 서버(100)는 호출을 시작한 단말(10)의 모든 NFT를 관리할 수 있다.
이하, 설명의 편의를 위해 단말(10)은 ID 인증이 완료된 것으로 보고 설명한다.
본 발명의 일 실시예에 따르면, 시스템(1)의 인증 서버(200)는 단말(10)에 대한 토큰 생성 요청을 수신함에 따라 네트워크 등록을 위한 토큰을 생성한다(S20).
관리 서버(100)는 단말(10)에 대한 ID 인증을 완료한 뒤, 단말(10)을 네트워크에 등록하기 위한 토큰을 생성하도록 인증 서버(200)에 요청한다. 인증 서버(200)는 토큰 생성 요청에 따라 네트워크 등록을 위한 토큰을 생성한다. 이때, 토큰은 앞서 서술한 바와 같이, JWT 형식의 OTT이다. 이후, 인증 서버(200)는 생성된 토큰을 관리 서버(100)에 전송한다.
본 발명의 일 실시예에 따르면, 관리 서버(100)는 ID 인증 시 획득한 단말(10)의 블록체인 공개키를 이용하여 토큰을 암호화한다(S30).
만일, OTT를 그대로 단말(10)에 전달하면 중도에 위, 변조되는 등 보안에 취약하므로, 먼저 관리 서버(100)는 토큰을 블록체인 공개키를 이용하여 암호화한다. 이때, 암호화에 사용되는 블록체인 공개키는 S10의 인증 과정에서 획득된 것이다.
본 발명의 일 실시예에 따르면, 관리 서버(100)는 암호화된 토큰을 블록체인 기반 NFT에 메타데이터로 포함시킴으로써, 토큰 정보를 생성하고, 토큰 정보를 ID 인증된 단말(10)에 제공한다(S40).
본 발명의 일 실시예에 따르면, 토큰 정보는 암호화된 토큰을 포함하는 정보로, 전송의 안전성을 담보하기 위해 관리 서버(100)는 암호화된 토큰을 블록체인 기반의 NFT에 매핑하여 토큰 정보를 생성한다
보다 구체적으로, 관리 서버(100)는 블록체인 기반 토큰 발급 스마트 계약을 사용하여 암호화된 토큰을 NFT의 토큰URI의 일부로 포함시키고, 단말(10)의 블록체인 공개주소와 매핑하여 토큰 정보를 생성한다.
단말(10)은 관리 서버(100)로부터 토큰 정보를 수신하면, 단말(10)의 블록체인 개인키를 이용하여 토큰 정보의 토큰 URI를 복호화하여 토큰을 획득할 수 있다. 단말(10)은 복호화된 토큰을 인증 서버(200)와 통신하여 등록을 위한 토큰(OTT)으로 활용한다.
본 발명의 일 실시예에 따르면, 인증 서버(200)는 단말(10)로부터 토큰을 이용한 네트워크 등록 요청이 수신되는 경우, 토큰을 검증하여 단말(10)의 네트워크 등록 여부를 결정한다(S50).
이때, 인증 서버(200)는 토큰 정보에 포함된 블록체인 공개주소와 단말(10)의 블록체인 공개주소가 동일한지 여부를 확인하여 토큰의 유효성을 검증한다. 추가로, 인증 서버(200)는 토큰 정보에 포함된 토큰 시간 정보를 현재 타임 스탬프와 비교하여 토큰의 만료 여부에 따른 유효성을 검증할 수 있다.
인증 서버(200)는 관리 서버(100)와 상호작용하여 토큰의 유효성 및 소유권을 확인할 수 있다. 인증 서버(200)는 토큰이 유효한 경우, 토큰을 이용하여 단말(10)의 네트워크 등록 절차를 완료한다.
인증 서버(200)는 토큰이 유효하지 않은 경우, 즉, 획득된 토큰이 이미 등록에 사용되었거나, 토큰에 이미 만료 날짜가 있는 경우, 인증 서버(200)는 관리 서버(100)로 토큰 상태 확인 작업을 트리거 하여 토큰을 제거할 수 있다.
본 발명의 일 실시예에 따르면, NFT의 메타데이터를 암호화하여 정보를 보호할 수 있고, NFT를 통한 소유권 증명은 시스템의 잠재적인 등록자를 신뢰할 수 있다.
만일, 블록체인 기술을 사용하지 않고 유사한 결과를 얻으려면 복잡한 PKI 인프라와 데이터베이스 관리가 필요한 중앙 집중식 접근 방식이 필요하다.
본 발명의 일 실시예에 따르면, 보다 간편하게 정보 보호 및 강력한 ID 인증이 가능하다.
본 발명의 일 실시예에 따르면, 트랜잭션에 대한 액세스 권한을 부여하기 위해 허가된 블록체인이 사용되는 바, 허용된 계정만 블록체인 트랜잭션을 실행할 수 있어 악성 엔터티에 대한 접근(access)을 최소화할 수 있다.
도 3은 본 발명의 일 실시예에 따른 인증 시스템과 단말 간 동작 흐름도를 도시한 도면이다.
도 3은 앞서 도 2를 참조하여 서술한 동작들을 인증 시스템의 각 장치와 연결하여 도시한 것으로, 도 2와 설명이 중복되는 부분에서는 그 내용을 차용한다.
먼저, 단말(10)은 블록체인 개인키(PrK), 블록체인 공개키(PuK) 및 블록체인 공개주소(PuAddr)를 생성한다(S301). 이때, 단말(10)은 메타마스크(Metamask)를 사용하여 이들을 생성할 수 있다.
단말(10)은 관리 서버(100)에 네트워크 등록 요청을 한다(S302). 이때, 단말(10)은 관리 서버(100)에 블록체인 공개주소, 이름, 이메일 정보를 제공하면서 등록 요청을 할 수 있다.
본질적으로 관리 서버(100)는 요청하는 단말(10)을 블록체인에 등록하기 위해 조직/기업의 일부인지 확인하는 역할을 한다. 이를 위해 관리 서버(100)는 조직에 특정한 비즈니스 규칙과 인적 자원 정보를 알고 있어야 한다. 본 발명에서는, 관리 서버(100)가 확인된 개인 연락처 정보를 기반으로 다중 인증 방식을 적용할 수 있도록 이러한 요구 사항을 충족한다고 가정한다.
관리 서버(100)는 단말(10)과 ID 인증을 수행하며(S303), 구체적인 과정은 다음과 같다. 관리 서버(100)는 다중 인증 과정에서 단말(10)이 전송한 메일과 데이터베이스 상 메일과 일치하는지 여부를 확인한다. 일치하지 않는 경우 등록 요청을 거부한다.
단말(10)은 이메일을 통해 확인 링크를 열고 개인키를 이용하여 관리 서버(100)에 대한 응답에 서명한다. 이 과정에서 관리 서버(100)는 블록체인 공개키를 획득하며, NFT 전송에 대한 권한을 위임받는다.
관리 서버(100)는 ID 관리 스마트 계약을 사용하여 블록체인 내부에 단말(10)의 블록체인 공개주소, 이름, 이메일 정보를 등록하여 ID 인증을 완료한다(S304).
이후, 관리 서버(100)는 인증 서버(200)에 토큰 생성을 요청한다(S305).
관리 서버(100)는 등록된 단말(10)에 대한 토큰(OTT) 생성을 위해 인증 서버(200)와 통신한다.
인증 서버(200)는 관리 서버(100)에 대한 응답으로 토큰을 생성하고(S306), 관리 서버(100)로 전송한다(S307).
관리 서버(100)는 토큰을 암호화하고, NFT의 메타데이터로 포함시켜 토큰 정보를 생성한다(S308).
보다 구체적으로, 관리 서버(100)는 토큰의 페이로드에서 "exp" 및 "jti"필드를 추출하고, S303에서 얻은 단말(10)의 공개키를 이용하여 토큰을 암호화한다. 관리 서버(100)는 토큰 발급 스마트 계약과 상호 작용하여 NFT를 생성하며, NFT의 토큰 URI에 암호화된 토큰이 포함된다.
관리 서버(100)는 JWT의 base64url의 블록체인 공개키 암호화를 기반으로 JWT 페이로드의 변조 방지를 보장한다. 이때, 토큰 메타데이터가 암호화된 JWT의 base64url을 "온체인" 정보의 일부로 포함하고, NFT 생성을 위해 ERC-721 토큰 표준을 적용할 수 있다. 블록 체인은 NFT가 의도된 등록자의 공개 블록체인 주소를 NFT의 소유자 필드에 매핑하는 것과 관련된 "소유권 증명"을 제공하기 때문에 JWT의 적절한 전달을 보장한다.
관리 서버(100)는 토큰 발급 스마트 계약에서 앞서 추출한 "exp" 및 "jti"정보와 tokenId를 입력한다.
관리 서버(100)는 토큰 발급 스마트 계약에서 단말(10)의 블록체인 공개주소로 토큰 정보를 전송한다(S309). 이때, 전송을 위한 스마트 계약 이벤트가 트리거되고, 이벤트에는 발신자의 블록체인 공개주소, 수신자의 공개주소, tokenId가 포함되어 있다.
단말(10)은 토큰 정보를 수신하여, tokenId로 NFT의 tokenURI를 쿼리하고, 블록체인 개인키를 이용하여 토큰을 복호화한다(S310).
단말(10)은 복호화된 정보를 인증 서버(200)와 통신하여 획득한 토큰으로 네트워크 등록을 요청한다(S311). 이때, 단말(10)은 등록을 위해 기본 인증서비스의 클라이언트 API 기능을 사용하고, 요청에 블록체인 공개키 서명 메시지를 추가한다.
인증 서버(200)는 관리 서버(100)와 상호 작용하여 OTT 유효성 및 소유권을 확인한다. 인증 서버(200)는 토큰과 서명 메시지를 수신하여 토큰과 관련된 블록체인 정보를 확인한다. 이때, "jti"를 사용하여 "exp" 필드, tokenId 및 블록체인에 등록된 tokenId를 소유한 블록체인 공개주소를 쿼리한다. 만일, "exp"가 현재 타임스탬프보다 작으면 토큰이 유효하지 않음을 확인한다.
서명 메시지에서 블록체인 공개주소를 복구하고, 복구된 블록체인 공개주소가 단말의 등록된 블록체인 공개주소와 일치하지 않으면 토큰이 유효하지 않음을 확인한다. 유효하지 않은 토큰은 제거한다.
인증 서버(200)는 유효한 토큰을 사용하여 등록 절차를 완료한다. 토큰 상태 알림을 관리 서버(100)로 전송하여 사용된 토큰은 제거한다.
이와 같이 단말(10)의 ID와 토큰의 유효성은 네트워크 등록 프로세스 전반에 걸쳐 확인되고, 보장된다.
도 4는 본 발명의 일 실시예에 따른 인증 시스템과 단말의 동작 모습을 도시한 도면이다.
도 4는 앞서 도 2 및 도 3에서 설명한 내용을 도식화하여 나타낸 것이다.
본 발명에서 제안한 메커니즘은 허가된 블록체인 기술을 활용하고 각 잠재적 사용자에게 블록체인 ID(블록체인 개인 키, 블록체인 공개 키 및 블록체인 공용 주소)를 할당하여 토큰(OTT)의 안전한 전달을 목표로 한다.
잠재적 등록자의 블록체인 공개 키를 사용하여 토큰을 암호화하고, 암호화된 토큰을 토큰 URI의 일부로 포함하는 NFT를 생성함으로써 토큰의 소유권을 보장할 수 있다. 허용된 블록체인은 의도된 등록자만이 토큰을 수신하고 해독할 수 있도록 보장한다.
*본 출원은 기업과제 수행에 따른 결과물로 과제 상세 정보는 다음과 같다.
-과제번호: 2021-1095
-연구사업명: 인류 난제 해결을 위한 혁신 과학기술 센터 및 프로그램
-연구과제명: Zero Touch 및 Zero Trust (ZT&T)를 위한 IBN(Intent based Networking) 및 블록체인 기반 접근법
-부처명: 컴퓨터 공학과
-전문기관명: 동그라미재단
-주관기관명: 제주대학교
-총 연구기간: 2021.12. 1. - 2022. 11. 30.
1: 인증 시스템
10: 단말
100: 관리 서버
200: 인증 서버
10: 단말
100: 관리 서버
200: 인증 서버
Claims (14)
- 블록체인을 이용한 제로 트러스트 네트워크(Zero-Trust Network, ZTN)의 인증 시스템에 있어서,
네트워크 등록을 요청하는 단말과 ID 인증을 수행하고, 상기 단말의 ID 인증됨에 기초하여 네트워크 등록을 위한 토큰을 포함하는 토큰 정보를 생성하고, 상기 토큰 정보를 상기 ID 인증된 단말에 제공하는 관리 서버; 및
상기 관리 서버로부터 상기 ID 인증된 단말에 대한 토큰 생성 요청을 수신함에 따라 상기 토큰을 생성하고, 상기 ID 인증된 단말로부터 상기 토큰을 이용한 상기 네트워크 등록 요청이 수신되는 경우, 상기 토큰을 검증하여 상기 ID 인증된 단말의 네트워크 등록 여부를 결정하는 인증 서버를 포함하고,
상기 관리 서버는,
상기 ID 인증 시 획득한 상기 ID 인증된 단말의 블록체인 공개키를 이용하여 상기 인증 서버로부터 수신한 상기 토큰을 암호화하고, 상기 암호화된 토큰을 블록체인 기반 NFT(Non-Fungible Token)에 메타데이터로 포함시킴으로써, 상기 토큰 정보를 생성하는 인증 시스템. - 제1항에 있어서,
상기 관리 서버는,
상기 단말과 ID 인증을 수행하면서 상기 블록체인 공개키와 상기 ID 인증된 단말의 블록체인 공개주소를 획득하고,
블록체인 기반 ID 관리 스마트 계약을 사용하여 상기 블록체인 공개주소를 등록함으로써 상기 ID 인증을 완료하는 인증 시스템. - 제2항에 있어서,
상기 관리 서버는,
블록체인 기반 토큰 발급 스마트 계약을 사용하여 상기 암호화된 토큰을 상기 NFT의 토큰 URI의 일부로 포함시키고, 상기 블록체인 공개주소와 매핑하여 상기 토큰 정보를 생성하는 인증 시스템. - 제3항에 있어서,
상기 단말은,
상기 단말의 블록체인 개인키를 이용하여 상기 토큰 URI를 복호화하여 상기 토큰을 획득하는 것을 특징으로 하는 인증 시스템. - 제1항에 있어서,
상기 인증 서버는,
상기 토큰 정보에 포함된 상기 블록체인 공개주소와 상기 ID 인증된 단말의 블록체인 공개주소가 동일한지 여부를 확인하여 상기 토큰의 유효성을 검증하고,
상기 토큰이 유효한 경우, 상기 토큰을 이용하여 상기 ID 인증된 단말의 네트워크 등록을 완료하는 인증 시스템. - 제5항에 있어서,
상기 인증 서버는,
상기 토큰 정보에 포함된 토큰 시간 정보를 현재 타임 스탬프와 비교하여 상기 토큰의 만료 여부에 따른 유효성을 검증하는 인증 시스템. - 제5항 또는 제6항에 있어서,
상기 인증 서버는,
상기 토큰이 유효하지 않은 경우, 상기 관리 서버로 토큰 상태 알림 확인을 트리거 하여 상기 토큰을 제거하는 인증 시스템. - 인증 시스템에 의해 수행되는 블록체인을 이용한 제로 트러스트 네트워크(Zero-Trust Network, ZTN)의 인증 방법에 있어서,
상기 인증 시스템의 관리 서버가 네트워크 등록을 요청하는 단말과 ID 인증을 수행하는 단계;
상기 인증 시스템의 인증 서버가 상기 관리 서버로부터 상기 ID 인증된 단말에 대한 토큰 생성 요청을 수신함에 따라 네트워크 등록을 위한 토큰을 생성하는 단계;
상기 관리 서버가 상기 ID 인증 시 획득한 상기 ID 인증된 단말의 블록체인 공개키를 이용하여 상기 토큰을 암호화하는 단계;
상기 관리 서버가 상기 암호화된 토큰을 블록체인 기반 NFT(Non-Fungible Token)에 메타데이터로 포함시킴으로써, 토큰 정보를 생성하고, 상기 토큰 정보를 상기 ID 인증된 단말에 제공하는 단계;
상기 인증 서버가 상기 ID 인증된 단말로부터 상기 토큰을 이용한 상기 네트워크 등록 요청이 수신되는 경우, 상기 토큰을 검증하여 상기 ID 인증된 단말의 네트워크 등록 여부를 결정하는 단계를 포함하는 인증 방법. - 제8항에 있어서,
상기 ID 인증을 수행하는 단계는,
상기 단말과 ID 인증을 수행하면서 상기 블록체인 공개키와 상기 ID 인증된 단말의 블록체인 공개주소를 획득하는 단계;
블록체인 기반 ID 관리 스마트 계약을 사용하여 상기 블록체인 공개주소를 등록함으로써 상기 ID 인증을 완료하는 단계를 포함하는 인증 방법. - 제9항에 있어서,
상기 토큰 정보를 생성하는 단계는,
블록체인 기반 토큰 발급 스마트 계약을 사용하여 상기 암호화된 토큰을 상기 NFT의 토큰 URI의 일부로 포함시키고, 상기 블록체인 공개주소와 매핑하여 상기 토큰 정보를 생성하는 단계를 포함하는 인증 방법. - 제10항에 있어서,
상기 ID 인증된 단말의 네트워크 등록 여부를 결정하는 단계는,
상기 단말이 상기 단말의 블록체인 개인키를 이용하여 상기 토큰 URI를 복호화하여 상기 토큰을 획득하는 단계;를 더 포함하는 인증 방법. - 제8항에 있어서,
상기 ID 인증된 단말의 네트워크 등록 여부를 결정하는 단계는,
상기 토큰 정보에 포함된 상기 블록체인 공개주소와 상기 ID 인증된 단말의 블록체인 공개주소가 동일한지 여부를 확인하여 상기 토큰의 유효성을 검증하고,
상기 토큰이 유효한 경우, 상기 토큰을 이용하여 상기 ID 인증된 단말의 네트워크 등록을 완료하는 단계를 포함하는 인증 방법. - 제12항에 있어서,
상기 토큰의 유효성을 검증하는 단계는,
상기 토큰 정보에 포함된 토큰 시간 정보를 현재 타임 스탬프와 비교하여 상기 토큰의 만료 여부에 따른 유효성을 검증하는 단계를 더 포함하는 인증 방법. - 제12항 또는 제13항에 있어서,
상기 토큰이 유효하지 않은 경우, 상기 관리 서버로 토큰 상태 알림 확인을 트리거 하여 상기 토큰을 제거하는 단계를 더 포함하는 인증 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220156308A KR20240075095A (ko) | 2022-11-21 | 2022-11-21 | 토큰 프로세스 기반 블록체인을 이용한 제로 트러스트 네트워크의 인증 시스템 및 인증 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220156308A KR20240075095A (ko) | 2022-11-21 | 2022-11-21 | 토큰 프로세스 기반 블록체인을 이용한 제로 트러스트 네트워크의 인증 시스템 및 인증 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20240075095A true KR20240075095A (ko) | 2024-05-29 |
Family
ID=91278028
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220156308A Pending KR20240075095A (ko) | 2022-11-21 | 2022-11-21 | 토큰 프로세스 기반 블록체인을 이용한 제로 트러스트 네트워크의 인증 시스템 및 인증 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20240075095A (ko) |
-
2022
- 2022-11-21 KR KR1020220156308A patent/KR20240075095A/ko active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8219808B2 (en) | Session-based public key infrastructure | |
JP5695120B2 (ja) | システム間シングルサインオン | |
RU2434340C2 (ru) | Инфраструктура верификации биометрических учетных данных | |
KR102202547B1 (ko) | 액세스 요청을 검증하기 위한 방법 및 시스템 | |
US7421083B2 (en) | System for seamlessly updating service keys with automatic recovery | |
US20020150253A1 (en) | Methods and arrangements for protecting information in forwarded authentication messages | |
CN105577612B (zh) | 身份认证方法、第三方服务器、商家服务器及用户终端 | |
JP2005532736A (ja) | 生物測定学的私設キーインフラストラクチャ | |
GB2554082B (en) | User sign-in and authentication without passwords | |
JP6742558B2 (ja) | 認証システムおよび認証プログラム | |
TWM595792U (zh) | 跨平台授權存取資源的授權存取系統 | |
JP2001186122A (ja) | 認証システム及び認証方法 | |
CN108737376A (zh) | 一种基于指纹和数字证书的双因子认证方法及系统 | |
KR20000024445A (ko) | 전자서명을 이용한 사용자 인증기법과 무선 전자서명을이용한사용자 인증기법 및 휴대형 처리 도구 | |
US7571311B2 (en) | Scheme for sub-realms within an authentication protocol | |
KR20200016506A (ko) | 익명 디지털 아이덴티티 수립 방법 | |
Rivera et al. | Secure enrollment token delivery mechanism for zero trust networks using blockchain | |
KR100656355B1 (ko) | 분할된 사용자 인증키를 이용한 사용자 인증 방법, 서비스인증 방법 및 그 장치 | |
JP6742557B2 (ja) | 認証システム | |
CN112968779B (zh) | 一种安全认证与授权控制方法、控制系统、程序存储介质 | |
KR101868564B1 (ko) | 사용자 본인 확인(identification) 등록과 로컬 인증을 연계한 사용자 인증 장치 및 방법 | |
CN118869177A (zh) | 基于区块链的数字身份管理方法、系统、电子设备及计算机可读存储介质 | |
CN115242471B (zh) | 信息传输方法、装置、电子设备及计算机可读存储介质 | |
KR20240075095A (ko) | 토큰 프로세스 기반 블록체인을 이용한 제로 트러스트 네트워크의 인증 시스템 및 인증 방법 | |
CN117396866A (zh) | 授权交易托管服务 |
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 |