[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

KR102245382B1 - 블록체인 네트워크 기반의 가상 공통 아이디 서비스 방법 및 이를 이용한 서비스 제공 서버 - Google Patents

블록체인 네트워크 기반의 가상 공통 아이디 서비스 방법 및 이를 이용한 서비스 제공 서버 Download PDF

Info

Publication number
KR102245382B1
KR102245382B1 KR1020190180073A KR20190180073A KR102245382B1 KR 102245382 B1 KR102245382 B1 KR 102245382B1 KR 1020190180073 A KR1020190180073 A KR 1020190180073A KR 20190180073 A KR20190180073 A KR 20190180073A KR 102245382 B1 KR102245382 B1 KR 102245382B1
Authority
KR
South Korea
Prior art keywords
data
service providing
providing server
specific
user
Prior art date
Application number
KR1020190180073A
Other languages
English (en)
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 KR1020190180073A priority Critical patent/KR102245382B1/ko
Priority to KR1020200095896A priority patent/KR20210086437A/ko
Priority to US17/787,507 priority patent/US12101419B2/en
Priority to PCT/KR2020/013955 priority patent/WO2021137397A1/ko
Application granted granted Critical
Publication of KR102245382B1 publication Critical patent/KR102245382B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0815Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
    • H04L67/20
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/53Network services using third party service providers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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/3218Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • 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/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3228One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/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/3263Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3268Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
    • 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
    • H04L2209/38

Landscapes

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

Abstract

본 발명은 블록체인 네트워크 기반의 가상 공통 아이디 서비스 방법에 있어서, (a) 제1 서비스 제공 서버 내지 제n 서비스 제공 서버 각각에 사용자에 대응되는 제1 사용자 아이디 내지 제n 사용자 아이디와 상기 제1 사용자 아이디 내지 상기 제n 사용자 아이디 각각에 대응되는 제1 아이디 데이터 내지 제n 아이디 데이터가 등록되며, 상기 제1 아이디 데이터 내지 상기 제n 아이디 데이터가 상기 사용자에 대응되는 공통 아이디 데이터에 연계된 사용자 데이터 세트로 블록체인 네트워크에 등록되며, 커밋먼트 스킴을 이용하여 상기 제1 서비스 제공 서버의 제1 비밀키와 상기 제1 아이디 데이터를 컴퓨팅 연산한 제1 아이디 커밋먼트 내지 상기 제n 서비스 제공 서버의 제n 비밀키와 상기 제n 아이디 데이터를 컴퓨팅 연산한 제n 아이디 커밋먼트가 상기 블록체인 네트워크에 등록된 상태에서, 상기 제1 서비스 제공 서버 내지 상기 제n 서비스 제공 서버 중 하나인 타 서비스 제공 서버로부터 상기 사용자에 대응되는 타 아이디 데이터, 상기 사용자 데이터 세트 - 상기 사용자 데이터 세트는 상기 타 서비스 제공 서버에 의해 상기 타 아이디 데이터를 이용하여 상기 블록체인 네트워크로부터 획득된 것임 - , 및 상기 타 아이디 데이터에 대한 소유권 증명을 위한 입증 정보를 포함하는 상기 사용자에 대응되는 특정 아이디 요청 트랜잭션이 획득되면, 상기 제1 서비스 제공 서버 내지 상기 제n 서비스 제공 서버 중 다른 하나인 특정 서비스 제공 서버가, 상기 특정 아이디 요청 트랜잭션으로부터 획득된 상기 타 아이디 데이터를 이용하여 상기 블록체인 네트워크로부터 상기 타 아이디 데이터에 대응되는 타 아이디 커밋먼트를 획득하는 단계; (b) 상기 특정 서비스 제공 서버가, 상기 블록체인 네트워크로부터 획득된 상기 타 아이디 커밋먼트와 상기 특정 아이디 요청 트랜잭션으로부터 획득된 상기 입증 정보를 참조하여 상기 타 아이디 데이터를 검증하는 단계; 및 (c) 상기 타 아이디 데이터가 검증되면, 상기 특정 서비스 제공 서버가, 상기 사용자 데이터 세트에 포함된 특정 아이디 데이터에 대응되는 특정 사용자 아이디를 확인하며, 확인된 상기 특정 사용자 아이디를 상기 타 서비스 제공 서버로 전송하여 주는 단계; 를 포함하는 방법에 관한 것이다.

Description

블록체인 네트워크 기반의 가상 공통 아이디 서비스 방법 및 이를 이용한 서비스 제공 서버{METHOD FOR SERVING VIRTUAL COMMON IDENTIFIER BASED ON BLOCKCHAIN NETWORK, AND SERVICE PROVIDING SERVER FOR USING THEM}
본 발명은 블록체인 네트워크 기반의 가상 공통 아이디 서비스 방법 및 이를 이용한 서비스 제공 서버에 관한 것으로, 보다 상세하게는, 공통 아이디를 사용하지 않고 서비스 제공자가 가진 사용자 아이디를 다른 서비스 제공자들과 통합이 가능하도록 하는 블록체인 네트워크 기반의 가상 공통 아이디 서비스 방법 및 이를 이용한 서비스 제공 서버에 관한 것이다.
주민등록번호 등과 같은 국가적 아이디는 특정한 사람을 고유하게 식별할 수 있는 간편한 방법으로 다양한 산업분야에서 사용되는 아이디이다.
그러나, 최근 사용자의 개인 정보를 악용하여 온라인 상에서 다양한 해킹들이 시도되고 있으며, 그에 따라 사용자 피해가 증가되고 있다.
이러한 문제를 해결하기 위하여 사용자 인증을 수행하는 본인인증 기관에서는 서비스 제공 업체별로 서로 다른 사용자 아이디를 사용하고 있다.
그리고, 서비스 제공 업체별로 서로 다른 사용자 아이디를 사용할 경우에는 서비스 제공 업체 간의 정보 연계가 어려우므로, 사용자의 주민등록번호 등과 같은 사용자 식별 정보와 본인인증 기관이 소유하고 있는 비밀정보로 생성되는 연계정보로 대체하여 사용하고 있다.
하지만, 연계정보를 이용하여 서비스 제공 업체 간의 정보 연계는 가능하여졌지만, 하나의 서비스 제공 업체에서 해당 연계정보가 유출되는 경우에는 치명적인 개인정보 유출이 발생할 수 있으며, 이를 대처하기 위해서는 모든 서비스 제공 업체에서 사용하는 연계정보를 변경하여야 하는 하는 문제점이 발생한다.
본 발명은 상술한 문제점들을 모두 해결하는 것을 그 목적으로 한다.
또한, 본 발명은 서비스 제공 업체 별로 서로 다른 사용자 아이디를 사용하면서도 연계정보를 사용하지 않고 서비스 제공 업체 사이의 정보를 연계할 수 있도록 하는 것을 다른 목적으로 한다.
또한, 본 발명은 서비스 제공 업체별로 제공하는 사용자 아이디를 유추할 수 없도록 한 상태에서 서비스 제공 업체 사이의 정보를 연계할 수 있도록 하는 것을 또 다른 목적으로 한다.
또한, 본 발명은 공통 아이디를 사용하지 않고 서비스 제공 업체별로 생성된 아이디를 다른 서비스 제공 업체들과 통합이 가능하도록 하는 것을 또 다른 목적으로 한다.
또한, 본 발명은 권한이 없는 자가 공개된 사용자 정보를 이용하여 서비스 제공 업체별로 생성된 아이디를 확인하지 못하도록 하는 또 다른 목적으로 한다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따르면, 블록체인 네트워크 기반의 가상 공통 아이디 서비스 방법에 있어서, (a) 제1 서비스 제공 서버 내지 제n 서비스 제공 서버 각각에 사용자에 대응되는 제1 사용자 아이디 내지 제n 사용자 아이디와 상기 제1 사용자 아이디 내지 상기 제n 사용자 아이디 각각에 대응되는 제1 아이디 데이터 내지 제n 아이디 데이터가 등록되며, 상기 제1 아이디 데이터 내지 상기 제n 아이디 데이터가 상기 사용자에 대응되는 공통 아이디 데이터에 연계된 사용자 데이터 세트로 블록체인 네트워크에 등록되며, 커밋먼트 스킴을 이용하여 상기 제1 서비스 제공 서버의 제1 비밀키와 상기 제1 아이디 데이터를 컴퓨팅 연산한 제1 아이디 커밋먼트 내지 상기 제n 서비스 제공 서버의 제n 비밀키와 상기 제n 아이디 데이터를 컴퓨팅 연산한 제n 아이디 커밋먼트가 상기 블록체인 네트워크에 등록된 상태에서, 상기 제1 서비스 제공 서버 내지 상기 제n 서비스 제공 서버 중 하나인 타 서비스 제공 서버로부터 상기 사용자에 대응되는 타 아이디 데이터, 상기 사용자 데이터 세트 - 상기 사용자 데이터 세트는 상기 타 서비스 제공 서버에 의해 상기 타 아이디 데이터를 이용하여 상기 블록체인 네트워크로부터 획득된 것임 - , 및 상기 타 아이디 데이터에 대한 소유권 증명을 위한 입증 정보를 포함하는 상기 사용자에 대응되는 특정 아이디 요청 트랜잭션이 획득되면, 상기 제1 서비스 제공 서버 내지 상기 제n 서비스 제공 서버 중 다른 하나인 특정 서비스 제공 서버가, 상기 특정 아이디 요청 트랜잭션으로부터 획득된 상기 타 아이디 데이터를 이용하여 상기 블록체인 네트워크로부터 상기 타 아이디 데이터에 대응되는 타 아이디 커밋먼트를 획득하는 단계; (b) 상기 특정 서비스 제공 서버가, 상기 블록체인 네트워크로부터 획득된 상기 타 아이디 커밋먼트와 상기 특정 아이디 요청 트랜잭션으로부터 획득된 상기 입증 정보를 참조하여 상기 타 아이디 데이터를 검증하는 단계; 및 (c) 상기 타 아이디 데이터가 검증되면, 상기 특정 서비스 제공 서버가, 상기 사용자 데이터 세트에 포함된 특정 아이디 데이터에 대응되는 특정 사용자 아이디를 확인하며, 확인된 상기 특정 사용자 아이디를 상기 타 서비스 제공 서버로 전송하여 주는 단계; 를 포함하는 방법이 제공된다.
상기 (a) 단계 이전에, (a1) 상기 사용자의 사용자 단말로부터 사용자 아이디에 대한 생성 요청이 획득되면, 상기 특정 서비스 제공 서버가, 상기 사용자에 대응되는 상기 특정 사용자 아이디를 생성하여 주고, 상기 특정 사용자 아이디를 가공한 상기 특정 아이디 데이터를 생성하며, 상기 특정 서비스 제공 서버의 특정 비밀키를 이용하여 특정 서비스 제공 서버 트랩 정보를 생성하는 단계; 및 (a2) 상기 특정 서비스 제공 서버가, 상기 특정 아이디 데이터와 상기 특정 서비스 제공 서버 트랩 정보를 인증 지원 서버로 전송하여 상기 인증 지원 서버로 하여금, 상기 커밋먼트 스킴을 이용하여 상기 특정 아이디 데이터와 상기 특정 서비스 제공 서버 트랩 정보를 컴퓨팅 연산하여 특정 아이디 커밋먼트를 생성하도록 하며, 상기 특정 아이디 커밋먼트를 상기 블록체인 네트워크에 등록하도록 하고, 상기 특정 아이디 데이터를 상기 블록체인 네트워크에 등록하여 상기 특정 아이디 데이터가 상기 사용자 데이터 세트에 연동되도록 하는 단계; 를 더 포함할 수 있다.
상기 커밋먼트 스킴의 제너레이터를 g, h라 하고, 상기 타 아이디 커밋먼트를 comm(타 사용자 아이디) = g^(타 아이디 데이터) * h^(타 비밀키)라 할 경우, 상기 (a) 단계에서, 상기 타 서비스 제공 서버에 의해, 랜덤 논스 x와 랜덤 논스 y가 생성되고, 상기 커밋먼트 스킴을 이용하여 상기 랜덤 논스 x와 상기 랜덤 논스 y에 대응되는 제1 입증 정보 g^x * h^y가 생성되어 전송되면, 상기 특정 서비스 제공 서버가, 랜덤 논스 c를 상기 타 서비스 제공 서버로 전송하여 상기 타 서비스 제공 서버로 하여금 상기 타 아이디 데이터, 상기 타 비밀키, 상기 랜덤 논스 x, 상기 랜덤 논스 y, 및 상기 랜덤 논스 c를 참조하여 제2 입증 정보 x' = x + c * (타 아이디 데이터)와 제2 입증 정보 y' = y + c * (타 비밀키)를 생성됨으로써 상기 입증 정보를 생성하도록 하며, 상기 (b) 단계에서, 상기 특정 서비스 제공 서버는, 상기 제1 입증 정보 g^x * h^y, 및 상기 타 아이디 커밋먼트 comm(타 아이디 데이터)를 참조하여 생성한 제1 확인값(g^x * h^y * comm(타 아이디 데이터)^c)과, 상기 제2 입증 정보 x'와 상기 제2 입증 정보 y'를 이용하여 생성한 제2 확인값(g^x' * h^y')이 일치하는지를 확인하여 상기 타 아이디 데이터를 검증할 수 있다.
상기 커밋먼트 스킴의 제너레이터를 g, h라 하고, 상기 타 아이디 커밋먼트를 comm(타 아이디 데이터) = g^(타 아이디 데이터) * h^(타 비밀키)라 할 경우, 상기 (a) 단계에서, 상기 타 서비스 제공 서버에 의해, 랜덤 논스 x와 랜덤 논스 y가 생성되고, 상기 커밋먼트 스킴을 이용하여 상기 랜덤 논스 x와 상기 랜덤 논스 y에 대응되는 제1 입증 정보 g^x * h^y가 생성되며, 상기 제1 입증 정보 g^x * h^y를 이용한 해시값 c = hash(g^x * h^y)가 생성되고, 상기 타 아이디 데이터, 상기 타 비밀키, 상기 랜덤 논스 x, 상기 랜덤 논스 y, 및 상기 해시값 c를 참조한 제2 입증 정보 x' = x + c * (타 아이디 데이터)와 제2 입증 정보 y' = y + c * (타 비밀키)가 생성됨으로써 상기 입증 정보가 생성되며, 상기 (b) 단계에서, 상기 특정 서비스 제공 서버는, 상기 제2 입증 정보 x', 상기 제2 입증 정보 y', 상기 해시값 c, 및 상기 타 아이디 커밋먼트 comm(타 아이디 데이터)를 참조하여 생성한 확인값(hash((g^x' * h^y') / (comm(타 아이디 데이터)^c)))과, 상기 해시값 c이 일치하는지를 확인하여 상기 타 아이디 데이터를 검증할 수 있다.
또한, 본 발명의 일 실시예에 따르면, 블록체인 네트워크 기반의 가상 공통 아이디 서비스 방법에 있어서, (a) 제1 서비스 제공 서버 내지 제n 서비스 제공 서버 각각에 사용자에 대응되는 제1 사용자 아이디 내지 제n 사용자 아이디가 등록되며, 상기 제1 사용자 아이디 내지 상기 제n 사용자 아이디 각각에 대응되는 제1 아이디 데이터 내지 제n 아이디 데이터가 상기 사용자에 대응되는 공통 아이디 데이터에 연계된 사용자 데이터 세트로 블록체인 네트워크에 등록되며, 커밋먼트 스킴을 이용하여 상기 제1 서비스 제공 서버의 제1 비밀키와 상기 제1 아이디 데이터를 컴퓨팅 연산한 제1 아이디 커밋먼트 내지 상기 제n 서비스 제공 서버의 제n 비밀키와 상기 제n 아이디 데이터를 컴퓨팅 연산한 제n 아이디 커밋먼트가 상기 블록체인 네트워크에 등록된 상태에서, 상기 제1 서비스 제공 서버 내지 상기 제n 서비스 제공 서버 중 하나인 타 서비스 제공 서버로부터 상기 사용자에 대응되는 타 아이디 데이터 및 상기 타 아이디 데이터에 대한 소유권 증명을 위한 입증 정보를 포함하는 상기 사용자에 대응되는 특정 아이디 요청 트랜잭션이 획득되면, 상기 제1 서비스 제공 서버 내지 상기 제n 서비스 제공 서버 중 다른 하나인 특정 서비스 제공 서버가, 상기 특정 아이디 요청 트랜잭션으로부터 획득된 상기 타 아이디 데이터를 이용하여 상기 블록체인 네트워크로부터 상기 타 아이디 데이터에 대응되는 타 아이디 커밋먼트를 획득하는 단계; (b) 상기 특정 서비스 제공 서버가, 상기 블록체인 네트워크로부터 획득된 상기 타 아이디 커밋먼트와 상기 특정 아이디 요청 트랜잭션으로부터 획득한 상기 입증 정보를 참조하여 상기 타 아이디 데이터를 검증하는 단계; 및 (c) 상기 타 아이디 데이터가 검증되면, 상기 특정 서비스 제공 서버가, 상기 특정 아이디 요청 트랜잭션에 포함된 상기 타 아이디 데이터를 이용하여 상기 블록체인 네트워크로부터 상기 타 아이디 데이터가 포함된 상기 사용자 데이터 세트를 획득하고, 상기 사용자 데이터 세트에 포함된 특정 아이디 데이터에 대응되는 특정 사용자 아이디를 확인하며, 확인된 상기 특정 사용자 아이디를 상기 타 서비스 제공 서버로 전송하여 주는 단계; 를 포함하는 방법이 제공된다.
상기 (a) 단계 이전에, (a1) 상기 사용자의 사용자 단말로부터 사용자 아이디에 대한 생성 요청이 획득되면, 상기 특정 서비스 제공 서버가, 상기 사용자에 대응되는 상기 특정 사용자 아이디를 생성하여 주고, 상기 특정 사용자 아이디를 가공한 상기 특정 아이디 데이터를 생성하며, 상기 특정 서비스 제공 서버의 특정 비밀키를 이용하여 특정 서비스 제공 서버 트랩 정보를 생성하는 단계; 및 (a2) 상기 특정 서비스 제공 서버가, 상기 특정 아이디 데이터와 상기 특정 서비스 제공 서버 트랩 정보를 인증 지원 서버로 전송하여 상기 인증 지원 서버로 하여금, 상기 커밋먼트 스킴을 이용하여 상기 특정 아이디 데이터와 상기 특정 서비스 제공 서버 트랩 정보를 컴퓨팅 연산하여 특정 아이디 커밋먼트를 생성하도록 하며, 상기 특정 아이디 커밋먼트를 상기 블록체인 네트워크에 등록하도록 하고, 상기 특정 아이디 데이터를 상기 블록체인 네트워크에 등록하여 상기 특정 아이디 데이터가 상기 사용자 데이터 세트에 연동되도록 하는 단계; 를 더 포함할 수 있다.
상기 커밋먼트 스킴의 제너레이터를 g, h라 하고, 상기 타 아이디 커밋먼트를 comm(타 아이디 데이터) = g^(타 아이디 데이터) * h^(타 비밀키)라 할 경우, 상기 (a) 단계에서, 상기 타 서비스 제공 서버에 의해, 랜덤 논스 x와 랜덤 논스 y가 생성되고, 상기 커밋먼트 스킴을 이용하여 상기 랜덤 논스 x와 상기 랜덤 논스 y에 대응되는 제1 입증 정보 g^x * h^y가 생성되어 전송되면, 상기 특정 서비스 제공 서버가, 랜덤 논스 c를 상기 타 서비스 제공 서버로 전송하여 상기 타 서비스 제공 서버로 하여금 상기 타 아이디 데이터, 상기 타 비밀키, 상기 랜덤 논스 x, 상기 랜덤 논스 y, 및 상기 랜덤 논스 c를 참조하여 제2 입증 정보 x' = x + c^(타 아이디 데이터)와 제2 입증 정보 y' = y + c^(타 비밀키)를 생성됨으로써 상기 입증 정보를 생성하도록 하며, 상기 (b) 단계에서, 상기 특정 서비스 제공 서버는, 상기 제1 입증 정보 g^x * h^y, 및 상기 타 아이디 커밋먼트 comm(타 아이디 데이터)를 참조하여 생성한 제1 확인값(g^x * h^y * comm(타 아이디 데이터)^c)과, 상기 제2 입증 정보 x'와 상기 제2 입증 정보 y'를 이용하여 생성한 제2 확인값(g^x' * h^y')이 일치하는지를 확인하여 상기 타 아이디 데이터를 검증할 수 있다.
상기 커밋먼트 스킴의 제너레이터를 g, h라 하고, 상기 타 아이디 커밋먼트를 comm(타 아이디 데이터) = g^(타 아이디 데이터) * h^(타 비밀키)라 할 경우, 상기 (a) 단계에서, 상기 타 서비스 제공 서버에 의해, 랜덤 논스 x와 랜덤 논스 y가 생성되고, 상기 커밋먼트 스킴을 이용하여 상기 랜덤 논스 x와 상기 랜덤 논스 y에 대응되는 제1 입증 정보 g^x * h^y가 생성되며, 상기 제1 입증 정보 g^x * h^y를 이용한 해시값 c = hash(g^x * h^y)가 생성되고, 상기 타 아이디 데이터, 상기 타 비밀키, 상기 랜덤 논스 x, 상기 랜덤 논스 y, 및 상기 해시값 c를 참조한 제2 입증 정보 x' = x + c * (타 아이디 데이터)와 제2 입증 정보 y' = y + c * (타 비밀키)가 생성됨으로써 상기 입증 정보가 생성되며, 상기 (b) 단계에서, 상기 특정 서비스 제공 서버는, 상기 제2 입증 정보 x', 상기 제2 입증 정보 y', 상기 해시값 c, 및 상기 타 아이디 커밋먼트 comm(타 아이디 데이터)를 참조하여 생성한 확인값(hash((g^x' * h^y') / (comm(타 아이디 데이터)^c)))과, 상기 해시값 c이 일치하는지를 확인하여 상기 타 아이디 데이터를 검증할 수 있다.
또한, 본 발명의 일 실시예에 따르면, 블록체인 네트워크 기반의 가상 공통 아이디 서비스를 제공하는 서비스 제공 서버에 있어서, 블록체인 네트워크 기반의 가상 공통 아이디 서비스를 제공하기 위한 인스트럭션들이 저장된 메모리; 및 상기 메모리에 저장된 상기 인스트럭션들에 따라 블록체인 네트워크 기반의 가상 공통 아이디 서비스를 제공하기 위한 동작을 수행하는 프로세서; 를 포함하되, 상기 프로세서는, (i) 제1 서비스 제공 서버 내지 제n 서비스 제공 서버 각각에 사용자에 대응되는 제1 사용자 아이디 내지 제n 사용자 아이디와 상기 제1 사용자 아이디 내지 상기 제n 사용자 아이디 각각에 대응되는 제1 아이디 데이터 내지 제n 아이디 데이터가 등록되며, 상기 제1 아이디 데이터 내지 상기 제n 아이디 데이터가 상기 사용자에 대응되는 공통 아이디 데이터에 연계된 사용자 데이터 세트로 블록체인 네트워크에 등록되며, 커밋먼트 스킴을 이용하여 상기 제1 서비스 제공 서버의 제1 비밀키와 상기 제1 아이디 데이터를 컴퓨팅 연산한 제1 아이디 커밋먼트 내지 상기 제n 서비스 제공 서버의 제n 비밀키와 상기 제n 아이디 데이터를 컴퓨팅 연산한 제n 아이디 커밋먼트가 상기 블록체인 네트워크에 등록된 상태에서, 상기 제1 서비스 제공 서버 내지 상기 제n 서비스 제공 서버 중 하나인 타 서비스 제공 서버로부터 상기 사용자에 대응되는 타 아이디 데이터, 상기 사용자 데이터 세트 - 상기 사용자 데이터 세트는 상기 타 서비스 제공 서버에 의해 상기 타 아이디 데이터를 이용하여 상기 블록체인 네트워크로부터 획득된 것임 - , 및 상기 타 아이디 데이터에 대한 소유권 증명을 위한 입증 정보를 포함하는 상기 사용자에 대응되는 특정 아이디 요청 트랜잭션이 획득되면, 상기 특정 아이디 요청 트랜잭션으로부터 획득된 상기 타 아이디 데이터를 이용하여 상기 블록체인 네트워크로부터 상기 타 아이디 데이터에 대응되는 타 아이디 커밋먼트를 획득하는 프로세스, (ii) 상기 블록체인 네트워크로부터 획득된 상기 타 아이디 커밋먼트와 상기 특정 아이디 요청 트랜잭션으로부터 획득된 상기 입증 정보를 참조하여 상기 타 아이디 데이터를 검증하는 프로세스, 및 (iii) 상기 타 아이디 데이터가 검증되면, 상기 사용자 데이터 세트에 포함된 특정 아이디 데이터에 대응되는 특정 사용자 아이디를 확인하며, 확인된 상기 특정 사용자 아이디를 상기 타 서비스 제공 서버로 전송하여 주는 프로세스를 수행하는 서비스 제공 서버가 제공된다.
상기 프로세서는, 상기 (i) 프로세스 이전에, (a1) 상기 사용자의 사용자 단말로부터 사용자 아이디에 대한 생성 요청이 획득되면, 상기 사용자에 대응되는 상기 특정 사용자 아이디를 생성하여 주고, 상기 특정 사용자 아이디를 가공한 상기 특정 아이디 데이터를 생성하며, 상기 특정 서비스 제공 서버의 특정 비밀키를 이용하여 특정 서비스 제공 서버 트랩 정보를 생성하는 프로세스, 및 (a2) 상기 특정 아이디 데이터와 상기 특정 서비스 제공 서버 트랩 정보를 인증 지원 서버로 전송하여 상기 인증 지원 서버로 하여금, 상기 커밋먼트 스킴을 이용하여 상기 특정 아이디 데이터와 상기 특정 서비스 제공 서버 트랩 정보를 컴퓨팅 연산하여 특정 아이디 커밋먼트를 생성하도록 하며, 상기 특정 아이디 커밋먼트를 상기 블록체인 네트워크에 등록하도록 하고, 상기 특정 아이디 데이터를 상기 블록체인 네트워크에 등록하여 상기 특정 아이디 데이터가 상기 사용자 데이터 세트에 연동되도록 하는 프로세스를 더 수행할 수 있다.
상기 커밋먼트 스킴의 제너레이터를 g, h라 하고, 상기 타 아이디 커밋먼트를 comm(타 사용자 아이디) = g^(타 아이디 데이터) * h^(타 비밀키)라 할 경우, 상기 프로세서는, 상기 (i) 프로세스에서, 상기 타 서비스 제공 서버에 의해, 랜덤 논스 x와 랜덤 논스 y가 생성되고, 상기 커밋먼트 스킴을 이용하여 상기 랜덤 논스 x와 상기 랜덤 논스 y에 대응되는 제1 입증 정보 g^x * h^y가 생성되어 전송되면, 랜덤 논스 c를 상기 타 서비스 제공 서버로 전송하여 상기 타 서비스 제공 서버로 하여금 상기 타 아이디 데이터, 상기 타 비밀키, 상기 랜덤 논스 x, 상기 랜덤 논스 y, 및 상기 랜덤 논스 c를 참조하여 제2 입증 정보 x' = x + c * (타 아이디 데이터)와 제2 입증 정보 y' = y + c * (타 비밀키)를 생성됨으로써 상기 입증 정보를 생성하도록 하며, 상기 (ii) 프로세스에서, 상기 제1 입증 정보 g^x * h^y, 및 상기 타 아이디 커밋먼트 comm(타 아이디 데이터)를 참조하여 생성한 제1 확인값(g^x * h^y * comm(타 아이디 데이터 아이디)^c)과, 상기 제2 입증 정보 x'와 상기 제2 입증 정보 y'를 이용하여 생성한 제2 확인값(g^x' * h^y')이 일치하는지를 확인하여 상기 타 아이디 데이터를 검증할 수 있다.
상기 커밋먼트 스킴의 제너레이터를 g, h라 하고, 상기 타 아이디 커밋먼트를 comm(타 아이디 데이터) = g^(타 아이디 데이터) * h^(타 비밀키)라 할 경우, 상기 프로세서는, 상기 (i) 프로세스에서, 상기 타 서비스 제공 서버에 의해, 랜덤 논스 x와 랜덤 논스 y가 생성되고, 상기 커밋먼트 스킴을 이용하여 상기 랜덤 논스 x와 상기 랜덤 논스 y에 대응되는 제1 입증 정보 g^x * h^y가 생성되며, 상기 제1 입증 정보 g^x * h^y를 이용한 해시값 c = hash(g^x * h^y)가 생성되고, 상기 타 아이디 데이터, 상기 타 비밀키, 상기 랜덤 논스 x, 상기 랜덤 논스 y, 및 상기 해시값 c를 참조한 제2 입증 정보 x' = x + c * (타 아이디 데이터)와 제2 입증 정보 y' = y + c * (타 비밀키)가 생성됨으로써 상기 입증 정보가 생성되며, 상기 (ii) 프로세스에서, 상기 제2 입증 정보 x', 상기 제2 입증 정보 y', 상기 해시값 c, 및 상기 타 아이디 커밋먼트 comm(타 아이디 데이터)를 참조하여 생성한 확인값(hash((g^x' * h^y') / (comm(타 아이디 데이터)^c)))과, 상기 해시값 c이 일치하는지를 확인하여 상기 타 아이디 데이터를 검증할 수 있다.
또한, 본 발명의 일 실시예에 따르면, 블록체인 네트워크 기반의 가상 공통 아이디 서비스를 제공하는 서비스 제공 서버에서 있어서, 블록체인 네트워크 기반의 가상 공통 아이디 서비스를 제공하기 위한 인스트럭션들이 저장된 메모리; 및 상기 메모리에 저장된 상기 인스트럭션들에 따라 블록체인 네트워크 기반의 가상 공통 아이디 서비스를 제공하기 위한 동작을 수행하는 프로세서; 를 포함하며, 상기 프로세서는, (i) 제1 서비스 제공 서버 내지 제n 서비스 제공 서버 각각에 사용자에 대응되는 제1 사용자 아이디 내지 제n 사용자 아이디가 등록되며, 상기 제1 사용자 아이디 내지 상기 제n 사용자 아이디 각각에 대응되는 제1 아이디 데이터 내지 제n 아이디 데이터가 상기 사용자에 대응되는 공통 아이디 데이터에 연계된 사용자 데이터 세트로 블록체인 네트워크에 등록되며, 커밋먼트 스킴을 이용하여 상기 제1 서비스 제공 서버의 제1 비밀키와 상기 제1 아이디 데이터를 컴퓨팅 연산한 제1 아이디 커밋먼트 내지 상기 제n 서비스 제공 서버의 제n 비밀키와 상기 제n 아이디 데이터를 컴퓨팅 연산한 제n 아이디 커밋먼트가 상기 블록체인 네트워크에 등록된 상태에서, 상기 제1 서비스 제공 서버 내지 상기 제n 서비스 제공 서버 중 하나인 타 서비스 제공 서버로부터 상기 사용자에 대응되는 타 아이디 데이터 및 상기 타 아이디 데이터에 대한 소유권 증명을 위한 입증 정보를 포함하는 상기 사용자에 대응되는 특정 아이디 요청 트랜잭션이 획득되면, 상기 특정 아이디 요청 트랜잭션으로부터 획득된 상기 타 아이디 데이터를 이용하여 상기 블록체인 네트워크로부터 상기 타 아이디 데이터에 대응되는 타 아이디 커밋먼트를 획득하는 프로세스, (ii) 상기 블록체인 네트워크로부터 획득된 상기 타 아이디 커밋먼트와 상기 특정 아이디 요청 트랜잭션으로부터 획득한 상기 입증 정보를 참조하여 상기 타 아이디 데이터를 검증하는 프로세스, 및 (iii) 상기 타 아이디 데이터가 검증되면, 상기 특정 아이디 요청 트랜잭션에 포함된 상기 타 아이디 데이터를 이용하여 상기 블록체인 네트워크로부터 상기 타 아이디 데이터가 포함된 상기 사용자 데이터 세트를 획득하고, 상기 사용자 데이터 세트에 포함된 특정 아이디 데이터에 대응되는 특정 사용자 아이디를 확인하며, 확인된 상기 특정 사용자 아이디를 상기 타 서비스 제공 서버로 전송하여 주는 프로세스를 수행하는 서비스 제공 서버가 제공된다.
상기 프로세서는, 상기 (i) 프로세스 이전에, (a1) 상기 사용자의 사용자 단말로부터 사용자 아이디에 대한 생성 요청이 획득되면, 상기 사용자에 대응되는 상기 특정 사용자 아이디를 생성하여 주고, 상기 특정 사용자 아이디를 가공한 상기 특정 아이디 데이터를 생성하며, 상기 특정 서비스 제공 서버의 특정 비밀키를 이용하여 특정 서비스 제공 서버 트랩 정보를 생성하는 프로세스, 및 (a2) 상기 특정 아이디 데이터와 상기 특정 서비스 제공 서버 트랩 정보를 인증 지원 서버로 전송하여 상기 인증 지원 서버로 하여금, 상기 커밋먼트 스킴을 이용하여 상기 특정 아이디 데이터와 상기 특정 서비스 제공 서버 트랩 정보를 컴퓨팅 연산하여 특정 아이디 커밋먼트를 생성하도록 하며, 상기 특정 아이디 커밋먼트를 상기 블록체인 네트워크에 등록하도록 하고, 상기 특정 아이디 데이터를 상기 블록체인 네트워크에 등록하여 상기 특정 아이디 데이터가 상기 사용자 데이터 세트에 연동되도록 하는 프로세스를 더 수행할 수 있다.
상기 커밋먼트 스킴의 제너레이터를 g, h라 하고, 상기 타 아이디 커밋먼트를 comm(타 아이디 데이터) = g^(타 아이디 데이터) * h^(타 비밀키)라 할 경우, 상기 프로세서는, 상기 (i) 프로세스에서, 상기 타 서비스 제공 서버에 의해, 랜덤 논스 x와 랜덤 논스 y가 생성되고, 상기 커밋먼트 스킴을 이용하여 상기 랜덤 논스 x와 상기 랜덤 논스 y에 대응되는 제1 입증 정보 g^x * h^y가 생성되어 전송되면, 랜덤 논스 c를 상기 타 서비스 제공 서버로 전송하여 상기 타 서비스 제공 서버로 하여금 상기 타 아이디 데이터, 상기 타 비밀키, 상기 랜덤 논스 x, 상기 랜덤 논스 y, 및 상기 랜덤 논스 c를 참조하여 제2 입증 정보 x' = x + c^(타 아이디 데이터)와 제2 입증 정보 y' = y + c^(타 비밀키)를 생성됨으로써 상기 입증 정보를 생성하도록 하며, 상기 (ii) 프로세스에서, 상기 제1 입증 정보 g^x * h^y, 및 상기 타 아이디 커밋먼트 comm(타 아이디 데이터)를 참조하여 생성한 제1 확인값(g^x * h^y * comm(타 아이디 데이터)^c)과, 상기 제2 입증 정보 x'와 상기 제2 입증 정보 y'를 이용하여 생성한 제2 확인값(g^x' * h^y')이 일치하는지를 확인하여 상기 타 아이디 데이터를 검증할 수 있다.
상기 커밋먼트 스킴의 제너레이터를 g, h라 하고, 상기 타 아이디 커밋먼트를 comm(타 아이디 데이터) = g^(타 아이디 데이터) * h^(타 비밀키)라 할 경우, 상기 프로세서는, 상기 (i) 프로세스에서, 상기 타 서비스 제공 서버에 의해, 랜덤 논스 x와 랜덤 논스 y가 생성되고, 상기 커밋먼트 스킴을 이용하여 상기 랜덤 논스 x와 상기 랜덤 논스 y에 대응되는 제1 입증 정보 g^x * h^y가 생성되며, 상기 제1 입증 정보 g^x * h^y를 이용한 해시값 c = hash(g^x * h^y)가 생성되고, 상기 타 아이디 데이터, 상기 타 비밀키, 상기 랜덤 논스 x, 상기 랜덤 논스 y, 및 상기 해시값 c를 참조한 제2 입증 정보 x' = x + c * (타 아이디 데이터)와 제2 입증 정보 y' = y + c * (타 비밀키)가 생성됨으로써 상기 입증 정보가 생성되며, 상기 (ii) 프로세스에서, 상기 제2 입증 정보 x', 상기 제2 입증 정보 y', 상기 해시값 c, 및 상기 타 아이디 커밋먼트 comm(타 아이디 데이터)를 참조하여 생성한 확인값(hash((g^x' * h^y') / (comm(타 아이디 데이터)^c)))과, 상기 해시값 c이 일치하는지를 확인하여 상기 타 아이디 데이터를 검증할 수 있다.
이 외에도, 본 발명의 방법을 실행하기 위한 컴퓨터 프로그램을 기록하기 위한 컴퓨터 판독 가능한 기록 매체가 더 제공된다.
본 발명에 의하면, 다음과 같은 효과가 있다.
본 발명은 서비스 제공 업체 별로 서로 다른 사용자 아이디를 사용하면서도 연계정보를 사용하지 않고 서비스 제공 업체 사이의 정보를 연계할 수 있도록 할 수 있다.
본 발명은 서비스 제공 업체별로 제공하는 사용자 아이디를 유추할 수 없도록 한 상태에서 서비스 제공 업체 사이의 정보를 연계할 수 있도록 할 수 있다.
본 발명은 공통 아이디를 사용하지 않고 서비스 제공 업체별로 생성된 아이디를 다른 서비스 제공 업체들과 통합이 가능하도록 할 수 있다.
본 발명은 권한이 없는 자가 공개된 사용자 정보를 이용하여 서비스 제공 업체별로 생성된 아이디를 확인하지 못하도록 할 수 있다.
도 1은 본 발명의 일 실시예에 따라 블록체인 네트워크 기반의 가상 공통 아이디 서비스를 제공하기 위한 시스템을 개략적으로 도시한 것이며,
도 2는 본 발명의 일 실시예에 따른 블록체인 네트워크 기반의 가상 공통 아이디 서비스 방법을 개략적으로 도시한 것이며,
도 3은 본 발명의 일 실시예에 따른 블록체인 네트워크 기반의 가상 공통 아이디 서비스 방법에서 아이디 데이터를 검증하는 과정을 개략적으로 도시한 것이고,
도 4는 본 발명의 일 실시예에 다른 블록체인 네트워크 기반의 가상 공통 아이디 서비스 방법에서 아이디 데이터를 검증하는 다른 과정을 개략적으로 도시한 것이고,
도 5는 본 발명의 다른 실시예에 따른 블록체인 네트워크 기반의 가상 공통 아이디 서비스 방법을 개략적으로 도시한 것이다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 바람직한 실시예들에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따라 블록체인 네트워크 기반의 가상 공통 아이디 서비스를 제공하기 위한 시스템을 개략적으로 도시한 것으로, 도 1을 참조하면, 시스템은 사용자 단말(100), 인증 지원 서버(200), 블록체인 네트워크(300), 및 서비스 제공 서버들(400-1 내지 400-n)을 포함할 수 있다.
먼저, 사용자 단말(100)은 사용자에게 서비스되는 정보를 표시하여 주며 사용자 인증과 관련한 사용자 신원 정보를 관리하는 주체로, PC, 모바일 컴퓨터, PDA/EDA, 휴대 전화, 스마트폰, 태블릿 등을 포함할 수 있다. 그리고, 사용자 단말(100)은 이에 한정되지 않으며, 유무선 통신 기능을 가진 휴대용 게임기, 디지털 카메라 개인 내비게이션 등의 모든 통신 디바이스를 포함할 수 있다.
다음으로, 인증 지원 서버(200)는 사용자의 아이디 데이터들에 대한 아이디 커밋먼트들을 생성하여 주며, 아이디 커밋먼트들 및 아이디 데이터들을 블록체인 네트워크에 등록하여 줄 수 있다. 이때, 인증 지원 서버(200)는 블록체인 네트워크의 각각의 노드에 대응하는 서버이거나, 블록체인 네트워크의 노드를 관리하는 서버 또는 트랜잭션 서버일 수 있다.
다음으로, 블록체인 네트워크(300)는 데이터들에 대한 블록을 체인으로 연결하여 분산원장에 기록하는 데이터 분산 처리를 수행하는 주체일 수 있으며, 아이디 커밋먼트를 분산원장에 저장하고, 아이디 데이터들을 포함하는 사용자 데이터 세트를 분산원장에 저장할 수 있다. 이때, 블록체인 네트워크(500)는 프라이빗 블록체인 네트워크 또는 퍼블릭 블록체인 네트워크로 구현될 수 있다.
다음으로, 서비스 제공 서버들(400-1 내지 400-n) 각각은, 사용자에게 서비스를 제공하는 것으로, 사용자 아이디를 등록하여 주고, 사용자 아이디에 대응되는 아이디 데이터를 저장할 수 있으며, 블록체인 네트워크 기반의 가상 공통 아이디 서비스를 제공하기 위한 인스트럭션들을 저장하는 메모리(410)와 메모리(410)에 저장된 인스트럭션들에 따라 블록체인 네트워크 기반의 가상 공통 아이디 서비스를 제공하기 위한 동작을 수행하는 프로세서(420)를 포함할 수 있다.
구체적으로, 서비스 제공 서버들(400-1 내지 400-n) 각각은 전형적으로 컴퓨팅 장치(예컨대, 컴퓨터 프로세서, 메모리, 스토리지, 입력 장치 및 출력 장치, 기타 기존의 컴퓨팅 장치의 구성요소들을 포함할 수 있는 장치; 라우터, 스위치 등과 같은 전자 통신 장치; 네트워크 부착 스토리지(NAS) 및 스토리지 영역 네트워크(SAN)와 같은 전자 정보 스토리지 시스템)와 컴퓨터 소프트웨어(즉, 컴퓨팅 장치로 하여금 특정의 방식으로 기능하게 하는 인스트럭션들)의 조합을 이용하여 원하는 시스템 성능을 달성하는 것일 수 있다.
이와 같은 컴퓨팅 장치의 통신부는 연동되는 타 컴퓨팅 장치와 요청과 응답을 송수신할 수 있는 바, 일 예시로서 그러한 요청과 응답은 동일한 TCP 세션에 의하여 이루어질 수 있지만, 이에 한정되지는 않는바, 예컨대 UDP 데이터그램으로서 송수신될 수도 있을 것이다.
또한, 컴퓨팅 장치의 프로세서는 MPU(Micro Processing Unit) 또는 CPU(Central Processing Unit), 캐쉬 메모리(Cache Memory), 데이터 버스(Data Bus) 등의 하드웨어 구성을 포함할 수 있다. 또한, 운영체제, 특정 목적을 수행하는 애플리케이션의 소프트웨어 구성을 더 포함할 수도 있다.
이와 같이 구성된 본 발명의 일 실시예에 따라 블록체인 네트워크 기반의 가상 공통 아이디 서비스 방법을 도 2를 참조하여 설명하면 다음과 같다.
먼저, 제1 서비스 제공 서버 내지 제n 서비스 제공 서버 각각에 사용자에 대응되는 제1 사용자 아이디 내지 제n 사용자 아이디와, 제1 사용자 아이디 내지 제n 사용자 아이디 각각에 대응되는 제1 아이디 데이터 내지 제n 아이디 데이터가 등록되며, 제1 아이디 데이터 내지 제n 아이디 데이터가 사용자에 대응되는 공통 아이디 데이터에 연계된 사용자 데이터 세트로 블록체인 네트워크에 등록되며, 커밋먼트 스킴을 이용하여 제1 서비스 제공 서버의 제1 비밀키와 제1 아이디 데이터를 컴퓨팅 연산한 제1 커밋먼트 내지 제n 서비스 제공 서버의 제n 비밀키와 제n 아이디 데이터를 컴퓨팅 연산한 제n 아이디 커밋먼트가 블록체인 네트워크에 등록된 상태일 수 있다.
즉, 사용자의 사용자 단말로부터 사용자 아이디에 대한 생성 요청이 획득되면, 특정 서비스 제공 서버가 사용자에 대응되는 특정 사용자 아이디를 생성하여 줄 수 있다. 이때, 특정 사용자 아이디는 사용자 신원 정보와 특정 서비스 제공 서버의 비밀키를 이용하여 생성한 것일 수 있으며, 사용자 신원 정보는 사용자의 성명, 나이, 주소, 전화번호, 성별, 주민등록번호, 직업, 사용자 아이디, 자격 정보 등 사용자와 관련한 모든 정보를 포함할 수 있다.
그리고, 특정 서비스 제공 서버는 특정 사용자 아이디를 가공한 특정 아이디 데이터를 생성한다. 이때, 특정 아이디 데이터는, 프라이빗키와 퍼블릭키 쌍, 해시 연산, 및 랜덤 넘버 바인딩 등을 통해 특정 사용자 아이디를 가공한 것일 수 있으나, 본 발명이 이에 한정되지 않으며, 특정 사용자 아이디를 확인할 수 없도록 하이딩하는 모든 방식을 이용할 수 있다.
이후, 특정 서비스 제공 서버는 특정 서비스 제공 서버의 특정 비밀키를 이용하여 특정 서비스 제공 서버 트랩 정보를 생성할 수 있다. 일 예로, 커밋먼트 스킴의 제너레이터가 g, h일 경우, 특정 서비스 제공 서버 트랩 정보는 h^(특정 비밀키)에 의해 생성될 수 있다.
그리고, 특정 서비스 제공 서버는 특정 아이디 데이터와 특정 서비스 제공 서버 트랩 정보를 인증 지원 서버로 전송하여 인증 지원 서버로 하여금, 커밋먼트 스킴을 이용하여 특정 아이디 데이터와 특정 서비스 제공 서버 트랩 정보를 컴퓨팅 연산하여 특정 아이디 커밋먼트를 생성하도록 하며, 특정 아이디 커밋먼트를 블록체인 네트워크에 등록하도록 하고, 특정 아이디 데이터를 블록체인 네트워크에 등록하여 특정 아이디 데이터가 사용자 데이터 세트에 연동되도록 할 수 있다. 이때, 사용자 데이터 세트는 각각의 특정 서비스 제공 서버에서 생성된 아이디 데이터를 포함할 수 있다. 또한, 사용자 데이터 세트는 각각의 아이디 데이터에 대한 트랜잭션들을 포함할 수 있으며, 각각의 트랜잭션의 체인을 통해 사용자의 가상 통합 아이디로 관리될 수 있다.
이때, 커밋먼트 스킴의 제너레이터를 g, h라 할 경우, 특정 아이디 커밋먼트는 comm(특정 사용자 아이디) = g^(특정 아이디 데이터) * h^(특정 비밀키)로 나타내어질 수 있다.
이와 같은 상태에서, 제1 서비스 제공 서버 내지 제n 서비스 제공 서버 중 하나인 타 서비스 제공 서버(400-2)는 타 사용자 아이디에 대응되는 타 아이디 데이터를 확인(S11)한 후, 타 아이디 데이터를 이용하여 블록체인 네트워크(300)로 사용자 데이터 세트를 요청(S12)할 수 있다. 일 예로, 사용자가 타 사용자 아이디를 이용하여 타 서비스 제공 서버(400-2)에서 제공되는 서비스를 이용하는 중, 타 서비스 제공 서버(400-2)로 특정 서비스 제공 서버(400-1)에서 제공되는 서비스를 요청할 경우, 타 서비스 제공 서버(400-2)는 사용자의 타 사용자 아이디를 이용하여 자신에게 등록되어 있는 타 아이디 데이터를 확인하며, 타 아이디 데이터를 포함하는 사용자 데이터 세트 요청 트랜잭션을 블록체인 네트워크(300)로 전송할 수 있다.
그러면, 블록체인 네트워크(300)는 타 아이디 데이터를 이용하여 분산원장에 등록된 데이터 세트들 중 타 아이디 데이터를 포함하는 사용자 데이터 세트를 획득하여 타 서비스 제공 서버(400-2)로 전송(S13)하여 줄 수 있다.
그리고, 블록체인 네트워크(300로부터 사용자 데이터 세트가 획득되면, 타 서비스 제공 서버(400-2)는 타 아이디 데이터에 소유권 입증 정보를 생성(S14)할 수 있다.
이때, 도 3을 참조하면, 타 서비스 제공 서버(400-2)는 랜덤 논스 x와 랜덤 논스 y를 생성(S31)할 수 있다. 그리고, 타 서비스 제공 서버(400-2)는 커밋먼트 스킴을 이용하여 랜덤 논스 x와 랜덤 논스 y에 대응되는 제1 입증 정보 g^x * h^y를 생성하여 특정 서비스 제공 서버(400-1)로 전송(S32)하여 줄 수 있다, 그러면, 특정 서비스 제공 서버(400-1)는 랜덤 논스 c를 생성하여 타 서비스 제공 서버(400-2)로 전송(S33)하여 주며, 타 서비스 제공 서버(400-2)는 타 아이디 데이터, 타 비밀키, 랜덤 논스 x, 랜덤 논스 y, 및 랜덤 논스 c를 참조하여 제2 입증 정보 x' = x + c * (타 아이디 데이터)와 제2 입증 정보 y' = y + c * (타 비밀키)를 생성(S34)할 수 있다. 그리고, 타 서비스 제공 서버(400-2)는 생성된 제2 입증 정보 x'와 제2 입증 정보 y'를 특정 서비스 제공 서버(400-1)로 전송(S25)하여 줄 수 있다.
이와는 달리, 도 4를 참조하면, 타 서비스 제공 서버(400-2)는 랜덤 논스 x와 랜덤 논스 y를 생성(S41)할 수 있다. 그리고, 타 서비스 제공 서버(400-2)는 커밋먼트 스킴을 이용하여 랜덤 논스 x와 랜덤 논스 y에 대응되는 제1 입증 정보 g^x * h^y가 생성할 수 있다. 이후, 타 서비스 제공 서버(400-2)는 제1 입증 정보 g^x * h^y를 이용한 해시값 c = hash(g^x * h^y)를 생성한 다음, 타 아이디 데이터, 타 비밀키, 랜덤 논스 x, 랜덤 논스 y, 및 해시값 c를 참조하여 제2 입증 정보 x' = x + c * (타 아이디 데이터)와 제2 입증 정보 y' = y + c * (타 비밀키)를 생성함으로써 입증 정보를 생성(S42)할 수 있다. 그리고, 타 서비스 제공 서버(400-2)는 생성된 제2 입증 정보 x', 제2 입증 정보 y', 및 해시값 c를 특정 서비스 제공 서버(400-1)로 전송(S43)하여 줄 수 있다.
다시, 도 2를 참조하면, 타 서비스 제공 서버(400-2)는 사용자에 대응되는 타 아이디 데이터, 사용자 데이터 세트, 및 타 아이디 데이터에 대한 소유권 증명을 위한 입증 정보를 포함하는 사용자에 대응되는 특정 아이디 요청 트랜잭션을 특정 서비스 제공 서버(400-1)로 전송(S15)하여 줄 수 있다.
그러면, 특정 서비스 제공 서버(400-1)는 특정 아이디 요청 트랜잭션으로부터 획득된 타 아이디 데이터를 이용하여 블록체인 네트워크(300)로 타 아이디 데이터에 대응되는 타 아이디 커밋먼트를 요청(S16)하며, 블록체인 네트워크(300)는 타 아이디 데이터를 이용하여 분산원장에 등록된 타 아이디 커밋먼트를 확인하고, 타 아이디 커밋먼트를 특정 서비스 제공 서버(400-1)로 전송(S17)하여 줄 수 있다.
이후, 특정 서비스 제공 서버(400-1)는 블록체인 네트워크(300)로부터 획득된 타 아이디 커밋먼트와 타 서비스 제공 서버(400-2)로부터의 특정 아이디 요청 트랜잭션으로부터 획득된 입증 정보를 참조하여 타 아이디 데이터를 검증(S18)할 수 있다.
일 예로, 도 3을 참조하면, 특정 서비스 제공 서버(400-1)는 제1 입증 정보 g^x * h^y, 및 타 아이디 커밋먼트 comm(타 아이디 데이터)를 참조하여 생성한 제1 확인값(g^x * h^y * comm(타 아이디 데이터)^c)과, 제2 입증 정보 x'와 제2 입증 정보 y'를 이용하여 생성한 제2 확인값(g^x' * h^y')이 일치하는지를 확인하여 타 아이디 데이터를 검증할 수 있다.
즉, 제2 확인값인 g^x' * h^y'는 g^(x + c * (타 아이디 데이터)) * h^(y + c * (타 비밀키))로 나타낼 수 있다. 그리고, g^(x + c * (타 아이디 데이터)) * h^(y + c * (타 비밀키))는 g^x * h^y * g^(c * (타 아이디 데이터)) * h^(c * (타 비밀키))로 나타낼 수 있다. 또한 g^x * h^y * g^(c * (타 아이디 데이터)) * h^(c * (타 비밀키))는 다시 g^x * h^y * (g^(타 아이디 데이터)) * h^(타 비밀키))^c로 나타낼 수 있으며, g^x * h^y * (g^(타 아이디 데이터)) * h^(타 비밀키))^c는 결과적으로 제1 확인값인 g^x * h^y * comm(타 아이디 데이터)^c로 나타내어질 수 있다.
이와는 달리, 도 4를 참조하면, 특정 서비스 제공 서버(400-1)는 제2 입증 정보 x', 제2 입증 정보 y', 상기 해시값 c, 및 타 아이디 커밋먼트 comm(타 아이디 데이터)를 참조하여 생성한 확인값(hash((g^x' * h^y') / (comm(타 아이디 데이터)^c)))과, 해시값 c이 일치하는지를 확인하여 타 아이디 데이터를 검증할 수 있다.
즉, 확인값 hash((g^x' * h^y') / (comm(타 아이디 데이터)^c))는 hash((g^(x + C * (타 아이디 데이터)) * h^(y + c * (타 비밀키))) / (comm(타 아이디 데이터)^c))로 나타내어질 수 있으며, hash((g^(x + C * (타 아이디 데이터)) * h^(y + c * (타 비밀키))) / (comm(타 아이디 데이터)^c))는 hash((g^x * h^y * g^(c * 타 아이디 데이터) * h^(c * 타 비밀키))/ (comm(타 아이디 데이터)^c))와 같이 나타내어 질 수 있다. 그리고, hash((g^x * h^y * g^(c * 타 아이디 데이터) * h^(c * 타 비밀키))/ (comm(타 아이디 데이터)^c))는 hash(g^x * h^y )로 c가 될 수 있다.
즉, 본 발명의 일 실시예에 따르면, 타 아이디 데이터와 타 비밀키를 공개하지 않고도 타 서비스 제공 서버(400-2)가 타 아이디 데이터를 변경하지 못하도록 바인딩하며, 검증시에도 타 아이디 데이터와 타 비밀키를 공개하지 않고 하이딩하며, 타 아이디 소유권 입증을 위한 입증 정보를 랜덤 논스를 이용하여 생성함으로써 입증 정보를 통해 타 아이디를 추적할 수 없도록 할 수 있다.
다시, 도 2를 참조하면, 상기에서와 같은 방법에 의해 타 아이디 데이터가 검증되면, 특정 서비스 제공 서버(400-1)는 사용자 데이터 세트에 포함된 특정 아이디 데이터에 대응되는 특정 아이디를 확인(S19)하며, 확인된 특정 사용자 아이디를 타 서비스 제공 서버(400-2)로 전송(S20)하여 줄 수 있다.
그에 따라, 타 서비스 제공 서버(400-2)는 사용자에 대응되는 특정 아이디를 이용하여 특정 서비스 제공 서버(400-1)에서 제공되는 특정 서비스를 사용에게 제공하여 줄 수 있게 된다.
한편, 상기에서와 다른 방법에 의해 본 발명의 일 실시예에 따라 블록체인 네트워크 기반의 가상 공통 아이디 서비스 방법을 도 5를 참조하여 설명하면 다음과 같다. 이하에서는 도 2의 설명으로부터 용이하게 이해 가능한 부분에 대해서는 상세한 설명을 생략하기로 한다.
타 서비스 제공 서버(400-2)는 타 사용자 아이디에 대응되는 타 아이디 데이터를 확인(S51)한 후, 타 아이디 데이터에 소유권 입증 정보를 생성(S52)할 수 있다.
이때, 도 3을 참조하면, 타 서비스 제공 서버(400-2)는 랜덤 논스 x와 랜덤 논스 y를 생성(S31)할 수 있다. 그리고, 타 서비스 제공 서버(400-2)는 커밋먼트 스킴을 이용하여 랜덤 논스 x와 랜덤 논스 y에 대응되는 제1 입증 정보 g^x * h^y를 생성하여 특정 서비스 제공 서버(400-1)로 전송(S32)하여 줄 수 있다, 그러면, 특정 서비스 제공 서버(400-1)는 랜덤 논스 c를 생성하여 타 서비스 제공 서버(400-2)로 전송(S33)하여 주며, 타 서비스 제공 서버(400-2)는 타 아이디 데이터, 타 비밀키, 랜덤 논스 x, 랜덤 논스 y, 및 랜덤 논스 c를 참조하여 제2 입증 정보 x' = x + c * (타 아이디 데이터)와 제2 입증 정보 y' = y + c * (타 비밀키)를 생성(S34)할 수 있다. 그리고, 타 서비스 제공 서버(400-2)는 생성된 제2 입증 정보 x'와 제2 입증 정보 y'를 특정 서비스 제공 서버(400-1)로 전송(S25)하여 줄 수 있다.
이와는 달리, 도 4를 참조하면, 타 서비스 제공 서버(400-2)는 랜덤 논스 x와 랜덤 논스 y를 생성(S41)할 수 있다. 그리고, 타 서비스 제공 서버(400-2)는 커밋먼트 스킴을 이용하여 랜덤 논스 x와 랜덤 논스 y에 대응되는 제1 입증 정보 g^x * h^y가 생성할 수 있다. 이후, 타 서비스 제공 서버(400-2)는 제1 입증 정보 g^x * h^y를 이용한 해시값 c = hash(g^x * h^y)를 생성한 다음, 타 아이디 데이터, 타 비밀키, 랜덤 논스 x, 랜덤 논스 y, 및 해시값 c를 참조하여 제2 입증 정보 x' = x + c * (타 아이디 데이터)와 제2 입증 정보 y' = y + c * (타 비밀키)를 생성함으로써 입증 정보를 생성(S42)할 수 있다. 그리고, 타 서비스 제공 서버(400-2)는 생성된 제2 입증 정보 x', 제2 입증 정보 y', 및 해시값 c를 특정 서비스 제공 서버(400-1)로 전송(S43)하여 줄 수 있다.
다시, 도 5를 참조하면, 타 서비스 제공 서버(400-2)는 사용자에 대응되는 타 아이디 데이터와, 타 아이디 데이터에 대한 소유권 증명을 위한 입증 정보를 포함하는 사용자에 대응되는 특정 아이디 요청 트랜잭션을 특정 서비스 제공 서버(400-1)로 전송(S53)하여 줄 수 있다.
그러면, 특정 서비스 제공 서버(400-1)는 특정 아이디 요청 트랜잭션으로부터 획득된 타 아이디 데이터를 이용하여 블록체인 네트워크(300)로 타 아이디 데이터에 대응되는 타 아이디 커밋먼트를 요청(S54)하며, 블록체인 네트워크(300)는 타 아이디 데이터를 이용하여 분산원장에 등록된 타 아이디 커밋먼트를 확인하고, 타 아이디 커밋먼트를 특정 서비스 제공 서버(400-1)로 전송(S55)하여 줄 수 있다.
이후, 특정 서비스 제공 서버(400-1)는 블록체인 네트워크(300)로부터 획득된 타 아이디 커밋먼트와 타 서비스 제공 서버(400-2)로부터의 특정 아이디 요청 트랜잭션으로부터 획득된 입증 정보를 참조하여 타 아이디 데이터를 검증(S56)할 수 있다.
일 예로, 도 3을 참조하면, 특정 서비스 제공 서버(400-1)는 제1 입증 정보 g^x * h^y, 및 타 아이디 커밋먼트 comm(타 아이디 데이터)를 참조하여 생성한 제1 확인값(g^x * h^y * comm(타 아이디 데이터)^c)과, 제2 입증 정보 x'와 제2 입증 정보 y'를 이용하여 생성한 제2 확인값(g^x' * h^y')이 일치하는지를 확인하여 타 아이디 데이터를 검증할 수 있다.
즉, 제2 확인값인 g^x' * h^y'는 g^(x + c * (타 아이디 데이터)) * h^(y + c * (타 비밀키))로 나타낼 수 있다. 그리고, g^(x + c * (타 아이디 데이터)) * h^(y + c * (타 비밀키))는 g^x * h^y * g^(c * (타 아이디 데이터)) * h^(c * (타 비밀키))로 나타낼 수 있다. 또한 g^x * h^y * g^(c * (타 아이디 데이터)) * h^(c * (타 비밀키))는 다시 g^x * h^y * (g^(타 아이디 데이터)) * h^(타 비밀키))^c로 나타낼 수 있으며, g^x * h^y * (g^(타 아이디 데이터)) * h^(타 비밀키))^c는 결과적으로 제1 확인값인 g^x * h^y * comm(타 아이디 데이터)^c로 나타내어질 수 있다.
이와는 달리, 도 4를 참조하면, 특정 서비스 제공 서버(400-1)는 제2 입증 정보 x', 제2 입증 정보 y', 상기 해시값 c, 및 타 아이디 커밋먼트 comm(타 아이디 데이터)를 참조하여 생성한 확인값(hash((g^x' * h^y') / (comm(타 아이디 데이터)^c)))과, 해시값 c이 일치하는지를 확인하여 타 아이디 데이터를 검증할 수 있다.
즉, 확인값 hash((g^x' * h^y') / (comm(타 아이디 데이터)^c))는 hash((g^(x + C * (타 아이디 데이터)) * h^(y + c * (타 비밀키))) / (comm(타 아이디 데이터)^c))로 나타내어질 수 있으며, hash((g^(x + C * (타 아이디 데이터)) * h^(y + c * (타 비밀키))) / (comm(타 아이디 데이터)^c))는 hash((g^x * h^y * g^(c * 타 아이디 데이터) * h^(c * 타 비밀키))/ (comm(타 아이디 데이터)^c))와 같이 나타내어 질 수 있다. 그리고, hash((g^x * h^y * g^(c * 타 아이디 데이터) * h^(c * 타 비밀키))/ (comm(타 아이디 데이터)^c))는 hash(g^x * h^y )로 c가 될 수 있다.
다시, 도 5를 참조하면, 상기에서와 같은 방법에 의해 타 아이디 데이터가 검증되면, 특정 서비스 제공 서버(400-1)는 타 아이디 데이터를 포함하는 사용자 데이터 세트 요청 트랜잭션을 블록체인 네트워크(300)로 전송(S57)할 수 있다.
그러면, 블록체인 네트워크(300)는 타 아이디 데이터를 이용하여 분산원장에 등록된 데이터 세트들 중 타 아이디 데이터를 포함하는 사용자 데이터 세트를 획득하여 특정 서비스 제공 서버(400-1)로 전송(S58)하여 줄 수 있다.
이후, 특정 서비스 제공 서버(400-1)는 사용자 데이터 세트에 포함된 특정 아이디 데이터에 대응되는 특정 아이디를 확인(S59)하며, 확인된 특정 사용자 아이디를 타 서비스 제공 서버(400-2)로 전송(S20)하여 줄 수 있다.
그에 따라, 타 서비스 제공 서버(400-2)는 사용자에 대응되는 특정 아이디를 이용하여 특정 서비스 제공 서버(400-1)에서 제공되는 특정 서비스를 사용에게 제공하여 줄 수 있게 된다.
또한, 이상 설명된 본 발명에 따른 실시예들은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명이 상기 실시예들에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형을 꾀할 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등하게 또는 등가적으로 변형된 모든 것들은 본 발명의 사상의 범주에 속한다고 할 것이다.
100: 사용자 단말,
200: 인증 지원 서버,
300: 블록체인 네트워크,
400-1, 400-n: 서비스 제공 서버

Claims (16)

  1. 블록체인 네트워크 기반의 가상 공통 아이디 서비스 방법에 있어서,
    (a) 제1 서비스 제공 서버 내지 제n 서비스 제공 서버 각각에 사용자에 대응되는 제1 사용자 아이디 내지 제n 사용자 아이디와 상기 제1 사용자 아이디 내지 상기 제n 사용자 아이디 각각에 대응되는 제1 아이디 데이터 내지 제n 아이디 데이터가 등록되며, 상기 제1 아이디 데이터 내지 상기 제n 아이디 데이터가 상기 사용자에 대응되는 공통 아이디 데이터에 연계된 사용자 데이터 세트로 블록체인 네트워크에 등록되며, 커밋먼트 스킴을 이용하여 상기 제1 서비스 제공 서버의 제1 비밀키와 상기 제1 아이디 데이터를 컴퓨팅 연산한 제1 아이디 커밋먼트 내지 상기 제n 서비스 제공 서버의 제n 비밀키와 상기 제n 아이디 데이터를 컴퓨팅 연산한 제n 아이디 커밋먼트가 상기 블록체인 네트워크에 등록된 상태에서, 상기 제1 서비스 제공 서버 내지 상기 제n 서비스 제공 서버 중 하나인 타 서비스 제공 서버로부터 상기 사용자에 대응되는 타 아이디 데이터, 상기 사용자 데이터 세트 - 상기 사용자 데이터 세트는 상기 타 서비스 제공 서버에 의해 상기 타 아이디 데이터를 이용하여 상기 블록체인 네트워크로부터 획득된 것임 - , 및 상기 타 아이디 데이터에 대한 소유권 증명을 위한 입증 정보를 포함하는 상기 사용자에 대응되는 특정 아이디 요청 트랜잭션이 획득되면, 상기 제1 서비스 제공 서버 내지 상기 제n 서비스 제공 서버 중 다른 하나인 특정 서비스 제공 서버가, 상기 특정 아이디 요청 트랜잭션으로부터 획득된 상기 타 아이디 데이터를 이용하여 상기 블록체인 네트워크로부터 상기 타 아이디 데이터에 대응되는 타 아이디 커밋먼트를 획득하는 단계;
    (b) 상기 특정 서비스 제공 서버가, 상기 블록체인 네트워크로부터 획득된 상기 타 아이디 커밋먼트와 상기 특정 아이디 요청 트랜잭션으로부터 획득된 상기 입증 정보를 참조하여 상기 타 아이디 데이터를 검증하는 단계; 및
    (c) 상기 타 아이디 데이터가 검증되면, 상기 특정 서비스 제공 서버가, 상기 사용자 데이터 세트에 포함된 특정 아이디 데이터에 대응되는 특정 사용자 아이디를 확인하며, 확인된 상기 특정 사용자 아이디를 상기 타 서비스 제공 서버로 전송하여 주는 단계;
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 (a) 단계 이전에,
    (a1) 상기 사용자의 사용자 단말로부터 사용자 아이디에 대한 생성 요청이 획득되면, 상기 특정 서비스 제공 서버가, 상기 사용자에 대응되는 상기 특정 사용자 아이디를 생성하여 주고, 상기 특정 사용자 아이디를 가공한 상기 특정 아이디 데이터를 생성하며, 상기 특정 서비스 제공 서버의 특정 비밀키를 이용하여 특정 서비스 제공 서버 트랩 정보를 생성하는 단계; 및
    (a2) 상기 특정 서비스 제공 서버가, 상기 특정 아이디 데이터와 상기 특정 서비스 제공 서버 트랩 정보를 인증 지원 서버로 전송하여 상기 인증 지원 서버로 하여금, 상기 커밋먼트 스킴을 이용하여 상기 특정 아이디 데이터와 상기 특정 서비스 제공 서버 트랩 정보를 컴퓨팅 연산하여 특정 아이디 커밋먼트를 생성하도록 하며, 상기 특정 아이디 커밋먼트를 상기 블록체인 네트워크에 등록하도록 하고, 상기 특정 아이디 데이터를 상기 블록체인 네트워크에 등록하여 상기 특정 아이디 데이터가 상기 사용자 데이터 세트에 연동되도록 하는 단계;
    를 더 포함하는 방법.
  3. 제1항에 있어서,
    상기 커밋먼트 스킴의 제너레이터를 g, h라 하고, 상기 타 아이디 커밋먼트를 comm(타 사용자 아이디) = g^(타 아이디 데이터) * h^(타 비밀키)라 할 경우,
    상기 (a) 단계에서,
    상기 타 서비스 제공 서버에 의해, 랜덤 논스 x와 랜덤 논스 y가 생성되고, 상기 커밋먼트 스킴을 이용하여 상기 랜덤 논스 x와 상기 랜덤 논스 y에 대응되는 제1 입증 정보 g^x * h^y가 생성되어 전송되면, 상기 특정 서비스 제공 서버가, 랜덤 논스 c를 상기 타 서비스 제공 서버로 전송하여 상기 타 서비스 제공 서버로 하여금 상기 타 아이디 데이터, 상기 타 비밀키, 상기 랜덤 논스 x, 상기 랜덤 논스 y, 및 상기 랜덤 논스 c를 참조하여 제2 입증 정보 x' = x + c * (타 아이디 데이터)와 제2 입증 정보 y' = y + c * (타 비밀키)를 생성됨으로써 상기 입증 정보를 생성하도록 하며,
    상기 (b) 단계에서,
    상기 특정 서비스 제공 서버는, 상기 제1 입증 정보 g^x, 상기 제1 입증 정보 h^y, 및 상기 타 아이디 커밋먼트 comm(타 아이디 데이터)를 참조하여 생성한 제1 확인값(g^x * h^y * comm(타 아이디 데이터)^c)과, 상기 제2 입증 정보 x'와 상기 제2 입증 정보 y'를 이용하여 생성한 제2 확인값(g^x' * h^y')이 일치하는지를 확인하여 상기 타 아이디 데이터를 검증하는 방법.
  4. 제1항에 있어서,
    상기 커밋먼트 스킴의 제너레이터를 g, h라 하고, 상기 타 아이디 커밋먼트를 comm(타 아이디 데이터) = g^(타 아이디 데이터) * h^(타 비밀키)라 할 경우,
    상기 (a) 단계에서,
    상기 타 서비스 제공 서버에 의해, 랜덤 논스 x와 랜덤 논스 y가 생성되고, 상기 커밋먼트 스킴을 이용하여 상기 랜덤 논스 x와 상기 랜덤 논스 y에 대응되는 제1 입증 정보 g^x * h^y가 생성되며, 상기 제1 입증 정보 g^x * h^y를 이용한 해시값 c = hash(g^x * h^y)가 생성되고, 상기 타 아이디 데이터, 상기 타 비밀키, 상기 랜덤 논스 x, 상기 랜덤 논스 y, 및 상기 해시값 c를 참조한 제2 입증 정보 x' = x + c * (타 아이디 데이터)와 제2 입증 정보 y' = y + c * (타 비밀키)가 생성됨으로써 상기 입증 정보가 생성되며,
    상기 (b) 단계에서,
    상기 특정 서비스 제공 서버는, 상기 제2 입증 정보 x', 상기 제2 입증 정보 y', 상기 해시값 c, 및 상기 타 아이디 커밋먼트 comm(타 아이디 데이터)를 참조하여 생성한 확인값(hash((g^x' * h^y') / (comm(타 아이디 데이터)^c)))과, 상기 해시값 c이 일치하는지를 확인하여 상기 타 아이디 데이터를 검증하는 방법.
  5. 블록체인 네트워크 기반의 가상 공통 아이디 서비스 방법에 있어서,
    (a) 제1 서비스 제공 서버 내지 제n 서비스 제공 서버 각각에 사용자에 대응되는 제1 사용자 아이디 내지 제n 사용자 아이디가 등록되며, 상기 제1 사용자 아이디 내지 상기 제n 사용자 아이디 각각에 대응되는 제1 아이디 데이터 내지 제n 아이디 데이터가 상기 사용자에 대응되는 공통 아이디 데이터에 연계된 사용자 데이터 세트로 블록체인 네트워크에 등록되며, 커밋먼트 스킴을 이용하여 상기 제1 서비스 제공 서버의 제1 비밀키와 상기 제1 아이디 데이터를 컴퓨팅 연산한 제1 아이디 커밋먼트 내지 상기 제n 서비스 제공 서버의 제n 비밀키와 상기 제n 아이디 데이터를 컴퓨팅 연산한 제n 아이디 커밋먼트가 상기 블록체인 네트워크에 등록된 상태에서, 상기 제1 서비스 제공 서버 내지 상기 제n 서비스 제공 서버 중 하나인 타 서비스 제공 서버로부터 상기 사용자에 대응되는 타 아이디 데이터 및 상기 타 아이디 데이터에 대한 소유권 증명을 위한 입증 정보를 포함하는 상기 사용자에 대응되는 특정 아이디 요청 트랜잭션이 획득되면, 상기 제1 서비스 제공 서버 내지 상기 제n 서비스 제공 서버 중 다른 하나인 특정 서비스 제공 서버가, 상기 특정 아이디 요청 트랜잭션으로부터 획득된 상기 타 아이디 데이터를 이용하여 상기 블록체인 네트워크로부터 상기 타 아이디 데이터에 대응되는 타 아이디 커밋먼트를 획득하는 단계;
    (b) 상기 특정 서비스 제공 서버가, 상기 블록체인 네트워크로부터 획득된 상기 타 아이디 커밋먼트와 상기 특정 아이디 요청 트랜잭션으로부터 획득한 상기 입증 정보를 참조하여 상기 타 아이디 데이터를 검증하는 단계; 및
    (c) 상기 타 아이디 데이터가 검증되면, 상기 특정 서비스 제공 서버가, 상기 특정 아이디 요청 트랜잭션에 포함된 상기 타 아이디 데이터를 이용하여 상기 블록체인 네트워크로부터 상기 타 아이디 데이터가 포함된 상기 사용자 데이터 세트를 획득하고, 상기 사용자 데이터 세트에 포함된 특정 아이디 데이터에 대응되는 특정 사용자 아이디를 확인하며, 확인된 상기 특정 사용자 아이디를 상기 타 서비스 제공 서버로 전송하여 주는 단계;
    를 포함하는 방법.
  6. 제5항에 있어서,
    상기 (a) 단계 이전에,
    (a1) 상기 사용자의 사용자 단말로부터 사용자 아이디에 대한 생성 요청이 획득되면, 상기 특정 서비스 제공 서버가, 상기 사용자에 대응되는 상기 특정 사용자 아이디를 생성하여 주고, 상기 특정 사용자 아이디를 가공한 상기 특정 아이디 데이터를 생성하며, 상기 특정 서비스 제공 서버의 특정 비밀키를 이용하여 특정 서비스 제공 서버 트랩 정보를 생성하는 단계; 및
    (a2) 상기 특정 서비스 제공 서버가, 상기 특정 아이디 데이터와 상기 특정 서비스 제공 서버 트랩 정보를 인증 지원 서버로 전송하여 상기 인증 지원 서버로 하여금, 상기 커밋먼트 스킴을 이용하여 상기 특정 아이디 데이터와 상기 특정 서비스 제공 서버 트랩 정보를 컴퓨팅 연산하여 특정 아이디 커밋먼트를 생성하도록 하며, 상기 특정 아이디 커밋먼트를 상기 블록체인 네트워크에 등록하도록 하고, 상기 특정 아이디 데이터를 상기 블록체인 네트워크에 등록하여 상기 특정 아이디 데이터가 상기 사용자 데이터 세트에 연동되도록 하는 단계;
    를 더 포함하는 방법.
  7. 제5항에 있어서,
    상기 커밋먼트 스킴의 제너레이터를 g, h라 하고, 상기 타 아이디 커밋먼트를 comm(타 아이디 데이터) = g^(타 아이디 데이터) * h^(타 비밀키)라 할 경우,
    상기 (a) 단계에서,
    상기 타 서비스 제공 서버에 의해, 랜덤 논스 x와 랜덤 논스 y가 생성되고, 상기 커밋먼트 스킴을 이용하여 상기 랜덤 논스 x와 상기 랜덤 논스 y에 대응되는 제1 입증 정보 g^x * h^y가 생성되어 전송되면, 상기 특정 서비스 제공 서버가, 랜덤 논스 c를 상기 타 서비스 제공 서버로 전송하여 상기 타 서비스 제공 서버로 하여금 상기 타 아이디 데이터, 상기 타 비밀키, 상기 랜덤 논스 x, 상기 랜덤 논스 y, 및 상기 랜덤 논스 c를 참조하여 제2 입증 정보 x' = x + c^(타 아이디 데이터)와 제2 입증 정보 y' = y + c^(타 비밀키)를 생성됨으로써 상기 입증 정보를 생성하도록 하며,
    상기 (b) 단계에서,
    상기 특정 서비스 제공 서버는, 상기 제1 입증 정보 g^x * h^y, 및 상기 타 아이디 커밋먼트 comm(타 아이디 데이터)를 참조하여 생성한 제1 확인값(g^x * h^y * comm(타 아이디 데이터)^c)과, 상기 제2 입증 정보 x'와 상기 제2 입증 정보 y'를 이용하여 생성한 제2 확인값(g^x' * h^y')이 일치하는지를 확인하여 상기 타 아이디 데이터를 검증하는 방법.
  8. 제5항에 있어서,
    상기 커밋먼트 스킴의 제너레이터를 g, h라 하고, 상기 타 아이디 커밋먼트를 comm(타 아이디 데이터) = g^(타 아이디 데이터) * h^(타 비밀키)라 할 경우,
    상기 (a) 단계에서,
    상기 타 서비스 제공 서버에 의해, 랜덤 논스 x와 랜덤 논스 y가 생성되고, 상기 커밋먼트 스킴을 이용하여 상기 랜덤 논스 x와 상기 랜덤 논스 y에 대응되는 제1 입증 정보 g^x * h^y가 생성되며, 상기 제1 입증 정보 g^x * h^y를 이용한 해시값 c = hash(g^x * h^y)가 생성되고, 상기 타 아이디 데이터, 상기 타 비밀키, 상기 랜덤 논스 x, 상기 랜덤 논스 y, 및 상기 해시값 c를 참조한 제2 입증 정보 x' = x + c * (타 아이디 데이터)와 제2 입증 정보 y' = y + c * (타 비밀키)가 생성됨으로써 상기 입증 정보가 생성되며,
    상기 (b) 단계에서,
    상기 특정 서비스 제공 서버는, 상기 제2 입증 정보 x', 상기 제2 입증 정보 y', 상기 해시값 c, 및 상기 타 아이디 커밋먼트 comm(타 아이디 데이터)를 참조하여 생성한 확인값(hash((g^x' * h^y') / (comm(타 아이디 데이터)^c)))과, 상기 해시값 c이 일치하는지를 확인하여 상기 타 아이디 데이터를 검증하는 방법.
  9. 블록체인 네트워크 기반의 가상 공통 아이디 서비스를 제공하는 서비스 제공 서버에 있어서,
    블록체인 네트워크 기반의 가상 공통 아이디 서비스를 제공하기 위한 인스트럭션들이 저장된 메모리; 및
    상기 메모리에 저장된 상기 인스트럭션들에 따라 블록체인 네트워크 기반의 가상 공통 아이디 서비스를 제공하기 위한 동작을 수행하는 프로세서;
    를 포함하되,
    상기 프로세서는,
    (i) 제1 서비스 제공 서버 내지 제n 서비스 제공 서버 각각에 사용자에 대응되는 제1 사용자 아이디 내지 제n 사용자 아이디와 상기 제1 사용자 아이디 내지 상기 제n 사용자 아이디 각각에 대응되는 제1 아이디 데이터 내지 제n 아이디 데이터가 등록되며, 상기 제1 아이디 데이터 내지 상기 제n 아이디 데이터가 상기 사용자에 대응되는 공통 아이디 데이터에 연계된 사용자 데이터 세트로 블록체인 네트워크에 등록되며, 커밋먼트 스킴을 이용하여 상기 제1 서비스 제공 서버의 제1 비밀키와 상기 제1 아이디 데이터를 컴퓨팅 연산한 제1 아이디 커밋먼트 내지 상기 제n 서비스 제공 서버의 제n 비밀키와 상기 제n 아이디 데이터를 컴퓨팅 연산한 제n 아이디 커밋먼트가 상기 블록체인 네트워크에 등록된 상태에서, 상기 제1 서비스 제공 서버 내지 상기 제n 서비스 제공 서버 중 하나인 타 서비스 제공 서버로부터 상기 사용자에 대응되는 타 아이디 데이터, 상기 사용자 데이터 세트 - 상기 사용자 데이터 세트는 상기 타 서비스 제공 서버에 의해 상기 타 아이디 데이터를 이용하여 상기 블록체인 네트워크로부터 획득된 것임 - , 및 상기 타 아이디 데이터에 대한 소유권 증명을 위한 입증 정보를 포함하는 상기 사용자에 대응되는 특정 아이디 요청 트랜잭션이 획득되면, 상기 특정 아이디 요청 트랜잭션으로부터 획득된 상기 타 아이디 데이터를 이용하여 상기 블록체인 네트워크로부터 상기 타 아이디 데이터에 대응되는 타 아이디 커밋먼트를 획득하는 프로세스, (ii) 상기 블록체인 네트워크로부터 획득된 상기 타 아이디 커밋먼트와 상기 특정 아이디 요청 트랜잭션으로부터 획득된 상기 입증 정보를 참조하여 상기 타 아이디 데이터를 검증하는 프로세스, 및 (iii) 상기 타 아이디 데이터가 검증되면, 상기 사용자 데이터 세트에 포함된 특정 아이디 데이터에 대응되는 특정 사용자 아이디를 확인하며, 확인된 상기 특정 사용자 아이디를 상기 타 서비스 제공 서버로 전송하여 주는 프로세스를 수행하는 서비스 제공 서버.
  10. 제9항에 있어서,
    상기 프로세서는,
    상기 (i) 프로세스 이전에, (a1) 상기 사용자의 사용자 단말로부터 사용자 아이디에 대한 생성 요청이 획득되면, 상기 사용자에 대응되는 상기 특정 사용자 아이디를 생성하여 주고, 상기 특정 사용자 아이디를 가공한 상기 특정 아이디 데이터를 생성하며, 상기 특정 서비스 제공 서버의 특정 비밀키를 이용하여 특정 서비스 제공 서버 트랩 정보를 생성하는 프로세스, 및 (a2) 상기 특정 아이디 데이터와 상기 특정 서비스 제공 서버 트랩 정보를 인증 지원 서버로 전송하여 상기 인증 지원 서버로 하여금, 상기 커밋먼트 스킴을 이용하여 상기 특정 아이디 데이터와 상기 특정 서비스 제공 서버 트랩 정보를 컴퓨팅 연산하여 특정 아이디 커밋먼트를 생성하도록 하며, 상기 특정 아이디 커밋먼트를 상기 블록체인 네트워크에 등록하도록 하고, 상기 특정 아이디 데이터를 상기 블록체인 네트워크에 등록하여 상기 특정 아이디 데이터가 상기 사용자 데이터 세트에 연동되도록 하는 프로세스를 더 수행하는 서비스 제공 서버.
  11. 제9항에 있어서,
    상기 커밋먼트 스킴의 제너레이터를 g, h라 하고, 상기 타 아이디 커밋먼트를 comm(타 사용자 아이디) = g^(타 아이디 데이터) * h^(타 비밀키)라 할 경우,
    상기 프로세서는,
    상기 (i) 프로세스에서, 상기 타 서비스 제공 서버에 의해, 랜덤 논스 x와 랜덤 논스 y가 생성되고, 상기 커밋먼트 스킴을 이용하여 상기 랜덤 논스 x와 상기 랜덤 논스 y에 대응되는 제1 입증 정보 g^x * h^y가 생성되어 전송되면, 랜덤 논스 c를 상기 타 서비스 제공 서버로 전송하여 상기 타 서비스 제공 서버로 하여금 상기 타 아이디 데이터, 상기 타 비밀키, 상기 랜덤 논스 x, 상기 랜덤 논스 y, 및 상기 랜덤 논스 c를 참조하여 제2 입증 정보 x' = x + c * (타 아이디 데이터)와 제2 입증 정보 y' = y + c * (타 비밀키)를 생성됨으로써 상기 입증 정보를 생성하도록 하며,
    상기 (ii) 프로세스에서, 상기 제1 입증 정보 g^x * h^y, 및 상기 타 아이디 커밋먼트 comm(타 아이디 데이터)를 참조하여 생성한 제1 확인값(g^x * h^y * comm(타 아이디 데이터 아이디)^c)과, 상기 제2 입증 정보 x'와 상기 제2 입증 정보 y'를 이용하여 생성한 제2 확인값(g^x' * h^y')이 일치하는지를 확인하여 상기 타 아이디 데이터를 검증하는 서비스 제공 서버.
  12. 제9항에 있어서,
    상기 커밋먼트 스킴의 제너레이터를 g, h라 하고, 상기 타 아이디 커밋먼트를 comm(타 아이디 데이터) = g^(타 아이디 데이터) * h^(타 비밀키)라 할 경우,
    상기 프로세서는,
    상기 (i) 프로세스에서, 상기 타 서비스 제공 서버에 의해, 랜덤 논스 x와 랜덤 논스 y가 생성되고, 상기 커밋먼트 스킴을 이용하여 상기 랜덤 논스 x와 상기 랜덤 논스 y에 대응되는 제1 입증 정보 g^x * h^y가 생성되며, 상기 제1 입증 정보 g^x * h^y를 이용한 해시값 c = hash(g^x * h^y)가 생성되고, 상기 타 아이디 데이터, 상기 타 비밀키, 상기 랜덤 논스 x, 상기 랜덤 논스 y, 및 상기 해시값 c를 참조한 제2 입증 정보 x' = x + c * (타 아이디 데이터)와 제2 입증 정보 y' = y + c * (타 비밀키)가 생성됨으로써 상기 입증 정보가 생성되며,
    상기 (ii) 프로세스에서, 상기 제2 입증 정보 x', 상기 제2 입증 정보 y', 상기 해시값 c, 및 상기 타 아이디 커밋먼트 comm(타 아이디 데이터)를 참조하여 생성한 확인값(hash((g^x' * h^y') / (comm(타 아이디 데이터)^c)))과, 상기 해시값 c이 일치하는지를 확인하여 상기 타 아이디 데이터를 검증하는 서비스 제공 서버.
  13. 블록체인 네트워크 기반의 가상 공통 아이디 서비스를 제공하는 서비스 제공 서버에서 있어서,
    블록체인 네트워크 기반의 가상 공통 아이디 서비스를 제공하기 위한 인스트럭션들이 저장된 메모리; 및
    상기 메모리에 저장된 상기 인스트럭션들에 따라 블록체인 네트워크 기반의 가상 공통 아이디 서비스를 제공하기 위한 동작을 수행하는 프로세서;
    를 포함하며,
    상기 프로세서는,
    (i) 제1 서비스 제공 서버 내지 제n 서비스 제공 서버 각각에 사용자에 대응되는 제1 사용자 아이디 내지 제n 사용자 아이디가 등록되며, 상기 제1 사용자 아이디 내지 상기 제n 사용자 아이디 각각에 대응되는 제1 아이디 데이터 내지 제n 아이디 데이터가 상기 사용자에 대응되는 공통 아이디 데이터에 연계된 사용자 데이터 세트로 블록체인 네트워크에 등록되며, 커밋먼트 스킴을 이용하여 상기 제1 서비스 제공 서버의 제1 비밀키와 상기 제1 아이디 데이터를 컴퓨팅 연산한 제1 아이디 커밋먼트 내지 상기 제n 서비스 제공 서버의 제n 비밀키와 상기 제n 아이디 데이터를 컴퓨팅 연산한 제n 아이디 커밋먼트가 상기 블록체인 네트워크에 등록된 상태에서, 상기 제1 서비스 제공 서버 내지 상기 제n 서비스 제공 서버 중 하나인 타 서비스 제공 서버로부터 상기 사용자에 대응되는 타 아이디 데이터 및 상기 타 아이디 데이터에 대한 소유권 증명을 위한 입증 정보를 포함하는 상기 사용자에 대응되는 특정 아이디 요청 트랜잭션이 획득되면, 상기 특정 아이디 요청 트랜잭션으로부터 획득된 상기 타 아이디 데이터를 이용하여 상기 블록체인 네트워크로부터 상기 타 아이디 데이터에 대응되는 타 아이디 커밋먼트를 획득하는 프로세스, (ii) 상기 블록체인 네트워크로부터 획득된 상기 타 아이디 커밋먼트와 상기 특정 아이디 요청 트랜잭션으로부터 획득한 상기 입증 정보를 참조하여 상기 타 아이디 데이터를 검증하는 프로세스, 및 (iii) 상기 타 아이디 데이터가 검증되면, 상기 특정 아이디 요청 트랜잭션에 포함된 상기 타 아이디 데이터를 이용하여 상기 블록체인 네트워크로부터 상기 타 아이디 데이터가 포함된 상기 사용자 데이터 세트를 획득하고, 상기 사용자 데이터 세트에 포함된 특정 아이디 데이터에 대응되는 특정 사용자 아이디를 확인하며, 확인된 상기 특정 사용자 아이디를 상기 타 서비스 제공 서버로 전송하여 주는 프로세스를 수행하는 서비스 제공 서버.
  14. 제13항에 있어서,
    상기 프로세서는,
    상기 (i) 프로세스 이전에, (a1) 상기 사용자의 사용자 단말로부터 사용자 아이디에 대한 생성 요청이 획득되면, 상기 사용자에 대응되는 상기 특정 사용자 아이디를 생성하여 주고, 상기 특정 사용자 아이디를 가공한 상기 특정 아이디 데이터를 생성하며, 상기 특정 서비스 제공 서버의 특정 비밀키를 이용하여 특정 서비스 제공 서버 트랩 정보를 생성하는 프로세스, 및 (a2) 상기 특정 아이디 데이터와 상기 특정 서비스 제공 서버 트랩 정보를 인증 지원 서버로 전송하여 상기 인증 지원 서버로 하여금, 상기 커밋먼트 스킴을 이용하여 상기 특정 아이디 데이터와 상기 특정 서비스 제공 서버 트랩 정보를 컴퓨팅 연산하여 특정 아이디 커밋먼트를 생성하도록 하며, 상기 특정 아이디 커밋먼트를 상기 블록체인 네트워크에 등록하도록 하고, 상기 특정 아이디 데이터를 상기 블록체인 네트워크에 등록하여 상기 특정 아이디 데이터가 상기 사용자 데이터 세트에 연동되도록 하는 프로세스를 더 수행하는 서비스 제공 서버.
  15. 제13항에 있어서,
    상기 커밋먼트 스킴의 제너레이터를 g, h라 하고, 상기 타 아이디 커밋먼트를 comm(타 아이디 데이터) = g^(타 아이디 데이터) * h^(타 비밀키)라 할 경우,
    상기 프로세서는,
    상기 (i) 프로세스에서, 상기 타 서비스 제공 서버에 의해, 랜덤 논스 x와 랜덤 논스 y가 생성되고, 상기 커밋먼트 스킴을 이용하여 상기 랜덤 논스 x와 상기 랜덤 논스 y에 대응되는 제1 입증 정보 g^x * h^y가 생성되어 전송되면, 랜덤 논스 c를 상기 타 서비스 제공 서버로 전송하여 상기 타 서비스 제공 서버로 하여금 상기 타 아이디 데이터, 상기 타 비밀키, 상기 랜덤 논스 x, 상기 랜덤 논스 y, 및 상기 랜덤 논스 c를 참조하여 제2 입증 정보 x' = x + c^(타 아이디 데이터)와 제2 입증 정보 y' = y + c^(타 비밀키)를 생성됨으로써 상기 입증 정보를 생성하도록 하며,
    상기 (ii) 프로세스에서, 상기 제1 입증 정보 g^x * h^y, 및 상기 타 아이디 커밋먼트 comm(타 아이디 데이터)를 참조하여 생성한 제1 확인값(g^x * h^y * comm(타 아이디 데이터)^c)과, 상기 제2 입증 정보 x'와 상기 제2 입증 정보 y'를 이용하여 생성한 제2 확인값(g^x' * h^y')이 일치하는지를 확인하여 상기 타 아이디 데이터를 검증하는 서비스 제공 서버.
  16. 제13항에 있어서,
    상기 커밋먼트 스킴의 제너레이터를 g, h라 하고, 상기 타 아이디 커밋먼트를 comm(타 아이디 데이터) = g^(타 아이디 데이터) * h^(타 비밀키)라 할 경우,
    상기 프로세서는,
    상기 (i) 프로세스에서, 상기 타 서비스 제공 서버에 의해, 랜덤 논스 x와 랜덤 논스 y가 생성되고, 상기 커밋먼트 스킴을 이용하여 상기 랜덤 논스 x와 상기 랜덤 논스 y에 대응되는 제1 입증 정보 g^x * h^y가 생성되며, 상기 제1 입증 정보 g^x * h^y를 이용한 해시값 c = hash(g^x * h^y)가 생성되고, 상기 타 아이디 데이터, 상기 타 비밀키, 상기 랜덤 논스 x, 상기 랜덤 논스 y, 및 상기 해시값 c를 참조한 제2 입증 정보 x' = x + c * (타 아이디 데이터)와 제2 입증 정보 y' = y + c * (타 비밀키)가 생성됨으로써 상기 입증 정보가 생성되며,
    상기 (ii) 프로세스에서, 상기 제2 입증 정보 x', 상기 제2 입증 정보 y', 상기 해시값 c, 및 상기 타 아이디 커밋먼트 comm(타 아이디 데이터)를 참조하여 생성한 확인값(hash((g^x' * h^y') / (comm(타 아이디 데이터)^c)))과, 상기 해시값 c이 일치하는지를 확인하여 상기 타 아이디 데이터를 검증하는 서비스 제공 서버.
KR1020190180073A 2019-12-31 2019-12-31 블록체인 네트워크 기반의 가상 공통 아이디 서비스 방법 및 이를 이용한 서비스 제공 서버 KR102245382B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020190180073A KR102245382B1 (ko) 2019-12-31 2019-12-31 블록체인 네트워크 기반의 가상 공통 아이디 서비스 방법 및 이를 이용한 서비스 제공 서버
KR1020200095896A KR20210086437A (ko) 2019-12-31 2020-07-31 블록체인 네트워크 기반의 가상 공통 아이디 서비스 방법 및 이를 이용한 서비스 제공 서버
US17/787,507 US12101419B2 (en) 2019-12-31 2020-10-13 Blockchain network-based virtual common ID service method and service provision server using same
PCT/KR2020/013955 WO2021137397A1 (ko) 2019-12-31 2020-10-13 블록체인 네트워크 기반의 가상 공통 아이디 서비스 방법 및 이를 이용한 서비스 제공 서버

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190180073A KR102245382B1 (ko) 2019-12-31 2019-12-31 블록체인 네트워크 기반의 가상 공통 아이디 서비스 방법 및 이를 이용한 서비스 제공 서버

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020200095896A Division KR20210086437A (ko) 2019-12-31 2020-07-31 블록체인 네트워크 기반의 가상 공통 아이디 서비스 방법 및 이를 이용한 서비스 제공 서버

Publications (1)

Publication Number Publication Date
KR102245382B1 true KR102245382B1 (ko) 2021-04-28

Family

ID=75720795

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020190180073A KR102245382B1 (ko) 2019-12-31 2019-12-31 블록체인 네트워크 기반의 가상 공통 아이디 서비스 방법 및 이를 이용한 서비스 제공 서버
KR1020200095896A KR20210086437A (ko) 2019-12-31 2020-07-31 블록체인 네트워크 기반의 가상 공통 아이디 서비스 방법 및 이를 이용한 서비스 제공 서버

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020200095896A KR20210086437A (ko) 2019-12-31 2020-07-31 블록체인 네트워크 기반의 가상 공통 아이디 서비스 방법 및 이를 이용한 서비스 제공 서버

Country Status (3)

Country Link
US (1) US12101419B2 (ko)
KR (2) KR102245382B1 (ko)
WO (1) WO2021137397A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102245382B1 (ko) 2019-12-31 2021-04-28 주식회사 코인플러그 블록체인 네트워크 기반의 가상 공통 아이디 서비스 방법 및 이를 이용한 서비스 제공 서버

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110017165A (ko) * 2009-08-13 2011-02-21 에스케이 텔레콤주식회사 폰 번호를 이용한 사용자 인증 시스템 및 방법
KR101985179B1 (ko) * 2017-12-26 2019-09-03 상명대학교 천안산학협력단 블록체인 기반의 ID as a Service

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5365628B2 (ja) * 2008-04-17 2013-12-11 日本電気株式会社 要求側分散id管理装置、提供側分散id管理装置、分散id管理システムおよび提供側分散id管理方法
US8418237B2 (en) * 2009-10-20 2013-04-09 Microsoft Corporation Resource access based on multiple credentials
US9768962B2 (en) * 2013-03-15 2017-09-19 Microsoft Technology Licensing, Llc Minimal disclosure credential verification and revocation
US9053310B2 (en) * 2013-08-08 2015-06-09 Duo Security, Inc. System and method for verifying status of an authentication device through a biometric profile
US11308485B2 (en) * 2016-07-15 2022-04-19 Paypal, Inc. Processing a transaction using electronic tokens
KR101930825B1 (ko) * 2017-01-23 2018-12-19 주식회사 데일리인텔리전스 블록체인 네트워크를 이용해서 사용자를 인증하고 블록을 동기화하는 시스템 및 방법
WO2018194736A1 (en) * 2017-04-18 2018-10-25 Tbcasoft, Inc. Anonymity and traceability of digital property transactions on a distributed transaction consensus network
KR102003747B1 (ko) 2017-07-25 2019-07-26 주식회사 큐라코 배설물 처리장치의 세척 및 소독 방법 및 이를 이용하는 배설물 처리장치
KR101952784B1 (ko) 2017-08-02 2019-02-27 주식회사 비케이바이오 면역 증강 활성 및 항암 활성이 있는 브로콜리 유래 다당 분획물 및 이의 제조방법
KR102015700B1 (ko) * 2017-08-23 2019-08-28 에스케이 주식회사 블록체인 기반 one ID 서비스 시스템 및 방법
US11177961B2 (en) * 2017-12-07 2021-11-16 Nec Corporation Method and system for securely sharing validation information using blockchain technology
US10701054B2 (en) * 2018-01-31 2020-06-30 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing super community and community sidechains with consent management for distributed ledger technologies in a cloud based computing environment
KR102181601B1 (ko) * 2018-03-30 2020-11-23 주식회사 코인플러그 블록체인 기반의 통합 로그인 방법, 단말 및 이를 이용한 서버
US11057366B2 (en) * 2018-08-21 2021-07-06 HYPR Corp. Federated identity management with decentralized computing platforms
CN111095865B (zh) * 2019-07-02 2023-08-04 创新先进技术有限公司 用于发布可验证声明的系统和方法
CN111213139B (zh) * 2019-08-12 2023-11-21 创新先进技术有限公司 基于区块链的无纸化文档处理
KR102245382B1 (ko) 2019-12-31 2021-04-28 주식회사 코인플러그 블록체인 네트워크 기반의 가상 공통 아이디 서비스 방법 및 이를 이용한 서비스 제공 서버

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110017165A (ko) * 2009-08-13 2011-02-21 에스케이 텔레콤주식회사 폰 번호를 이용한 사용자 인증 시스템 및 방법
KR101985179B1 (ko) * 2017-12-26 2019-09-03 상명대학교 천안산학협력단 블록체인 기반의 ID as a Service

Also Published As

Publication number Publication date
KR20210086437A (ko) 2021-07-08
US12101419B2 (en) 2024-09-24
WO2021137397A1 (ko) 2021-07-08
US20230073894A1 (en) 2023-03-09

Similar Documents

Publication Publication Date Title
US11870769B2 (en) System and method for identifying a browser instance in a browser session with a server
EP3777028B1 (en) Generating and linking private transaction identifiers to distributed data repositories
US10944574B2 (en) Method for providing virtual asset service based on decentralized identifier and virtual asset service providing server using them
KR102227578B1 (ko) 블록체인 네트워크를 이용한 영지식 증명 기반의 인증서 서비스 방법, 이를 이용한 인증 지원 서버 및 사용자 단말
KR102254499B1 (ko) 블록체인 기반의 권한 인증 방법, 단말 및 이를 이용한 서버
JP2021507557A (ja) クロスブロックチェーン認証方法および装置
KR102252086B1 (ko) 블록체인 기반의 권한 인증 방법, 단말 및 이를 이용한 서버
KR102192370B1 (ko) 블록체인 기반의 권한 인증 방법, 단말 및 이를 이용한 서버
US20200412554A1 (en) Id as service based on blockchain
KR102284396B1 (ko) 생체 정보 기반의 pki 키 생성 방법 및 이를 이용한 키 생성 장치
JP2018093434A (ja) トランザクション管理方法、トランザクション管理プログラム及びトランザクション管理装置
CN107493291A (zh) 一种基于安全元件se的身份认证方法和装置
EP3206329B1 (en) Security check method, device, terminal and server
US20210241270A1 (en) System and method of blockchain transaction verification
CN110365632A (zh) 计算机网络系统中的认证
CN107347073B (zh) 一种资源信息处理方法
KR102245382B1 (ko) 블록체인 네트워크 기반의 가상 공통 아이디 서비스 방법 및 이를 이용한 서비스 제공 서버
KR20210058784A (ko) 탈중앙화 아이디 기반의 가상 자산 서비스 제공 방법 및 이를 이용한 가상 자산 서비스 제공 서버
KR20210007844A (ko) 관계성 탈중앙화 아이디 서비스를 제공하는 방법 및 이를 이용한 블록체인 노드
CN105379176A (zh) 用于验证scep证书注册请求的系统和方法
KR20200112771A (ko) 블록체인 기반의 권한 인증 방법, 단말 및 이를 이용한 서버
KR20200112770A (ko) 블록체인 기반의 권한 인증 방법, 단말 및 이를 이용한 서버
KR20200110121A (ko) 블록체인 네트워크를 이용하여 사용자의 아이덴티티를 관리하는 방법 및 서버, 그리고, 블록체인 네트워크 기반의 사용자 아이덴티티를 이용하여 사용자를 인증하는 방법 및 단말
KR20140043628A (ko) 보안 로그인 처리 방법
KR102192382B1 (ko) 블록체인 기반의 권한 인증 방법, 단말 및 이를 이용한 서버

Legal Events

Date Code Title Description
GRNT Written decision to grant