KR20190114597A - Method, apparatus and system for identifying caller using blockchain - Google Patents

Method, apparatus and system for identifying caller using blockchain Download PDF

Info

Publication number
KR20190114597A
KR20190114597A KR1020180037541A KR20180037541A KR20190114597A KR 20190114597 A KR20190114597 A KR 20190114597A KR 1020180037541 A KR1020180037541 A KR 1020180037541A KR 20180037541 A KR20180037541 A KR 20180037541A KR 20190114597 A KR20190114597 A KR 20190114597A
Authority
KR
South Korea
Prior art keywords
node
member node
record
authentication
hash value
Prior art date
Application number
KR1020180037541A
Other languages
Korean (ko)
Other versions
KR102054581B1 (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 KR1020180037541A priority Critical patent/KR102054581B1/en
Publication of KR20190114597A publication Critical patent/KR20190114597A/en
Application granted granted Critical
Publication of KR102054581B1 publication Critical patent/KR102054581B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • 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)
    • H04L9/0825Key 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) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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

Abstract

Disclosed are a method for confirming a caller using a block chain, an apparatus thereof, and a system thereof. According to one embodiment of the present invention, the method for confirming a caller using a block chain comprises the steps of: obtaining an authentication token for a member node and an address of the member node, performed by a representative node; generating a representative signature by signing the authentication token and the address of the member node with a secret key of the representative node; generating an authentication record authenticating the member node based on the authentication token, the address of the member node, the representative signature, and a public key of the representative node; and propagating the authentication record to a block chain network.

Description

블록 체인을 이용한 발신자 확인 방법, 장치 및 시스템{METHOD, APPARATUS AND SYSTEM FOR IDENTIFYING CALLER USING BLOCKCHAIN}Caller identification method, device and system using blockchain {METHOD, APPARATUS AND SYSTEM FOR IDENTIFYING CALLER USING BLOCKCHAIN}

아래 실시예들은 블록 체인을 이용한 발신자 확인 방법, 장치 및 시스템에 관한 것이다.The following embodiments are directed to a method, apparatus and system for calling party identification using a blockchain.

블록체인(blockchain)은 관리 대상 데이터를 블록이라고 하는 소규모 데이터들이 P2P(peer-to-peer) 방식을 기반으로 생성된 체인 형태의 연결고리 기반 분산 데이터 저장환경에 저장되어 누구도 임의로 수정될 수 없고 누구나 변경의 결과를 열람할 수 있는 분산 컴퓨팅 기술 기반의 데이터 위변조 방지 기술이다. 이는 분산 데이터 저장기술의 한 형태로, 지속적으로 변경되는 데이터를 모든 참여 노드에 기록한 변경 리스트로서 분산 노드의 운영자에 의한 임의 조작이 불가능하도록 고안되었다. 잘 알려진 블록체인의 응용 사례는 암호화폐의 거래과정을 기록하는 탈중앙화된 전자장부로서 비트코인이 있다. 이 거래 기록은 의무적으로 암호화되고 블록체인 소프트웨어를 실행하는 컴퓨터상에서 운영된다. 비트코인을 비롯한 대부분의 암호화폐들이 블록체인 기술 형태에 기반하고 있다.Blockchain (blockchain) is a small chain of data called block to be managed in a chain-based distributed data storage environment created based on peer-to-peer (P2P) method, no one can be modified arbitrarily Data forgery and alteration prevention technology based on distributed computing technology that can view the result of the change. This is a form of distributed data storage technology, and is a change list in which constantly changing data is recorded on all participating nodes, and is designed to be impossible to be manipulated by an operator of a distributed node. A well-known example of blockchain application is Bitcoin, a decentralized electronic ledger that records the transactions of cryptocurrencies. This transaction record is mandatory and runs on a computer running blockchain software. Most cryptocurrencies, including Bitcoin, are based on the form of blockchain technology.

일 실시예에 따르면, 블록체인을 이용한 발신자 확인 방법은, 대표 노드에 의해 수행되는, 구성원 노드를 위한 인증 토큰 및 상기 구성원 노드의 주소를 획득하는 단계; 상기 인증 토큰 및 상기 구성원 노드의 주소를 상기 대표 노드의 비밀 키로 서명하여 대표 서명을 생성하는 단계; 상기 인증 토큰, 상기 구성원 노드의 주소, 상기 대표 서명 및 상기 대표 노드의 공개 키에 기초하여 상기 구성원 노드를 인증하는 인증 레코드를 생성하는 단계; 및 상기 인증 레코드를 블록체인 네트워크에 전파하는 단계를 포함한다.According to one embodiment, a method for verifying a caller using a blockchain includes: obtaining an authentication token for a member node and an address of the member node, performed by a representative node; Signing the authentication token and the address of the member node with a secret key of the representative node to generate a representative signature; Generating an authentication record authenticating the member node based on the authentication token, the address of the member node, the representative signature, and the public key of the representative node; And propagating the authentication record to a blockchain network.

상기 블록체인을 이용한 발신자 확인 방법은, 상기 구성원 노드에 의해 수행되는, 상기 인증 레코드의 해쉬 값 및 상기 구성원 노드의 주소를 상기 구성원 노드의 비밀 키로 서명하여 구성원 서명을 생성하는 단계; 상기 인증 레코드의 해쉬 값, 상기 구성원 노드의 주소, 상기 구성원 서명 및 상기 구성원 노드의 공개 키에 기초하여 상기 구성원 노드를 확인하는 확인 레코드를 생성하는 단계; 및 상기 확인 레코드를 상기 블록체인 네트워크에 전파하는 단계를 더 포함할 수 있다.The sender verification method using the blockchain includes: generating a member signature by signing a hash value of the authentication record and an address of the member node with the secret key of the member node, performed by the member node; Generating a confirmation record identifying the member node based on a hash value of the authentication record, the address of the member node, the member signature, and the public key of the member node; And propagating the confirmation record to the blockchain network.

상기 블록체인을 이용한 발신자 확인 방법은, 상기 구성원 노드에 의해 수행되는, 상기 구성원 노드의 식별정보 및 수신 노드의 식별 정보 중 적어도 하나를 상기 구성원 노드의 비밀 키로 서명하여 확인 서명을 생성하는 단계; 및 상기 구성원 노드의 주소 및 상기 확인 서명을 포함하는 확인 정보를 통화 혹은 메시지에 첨부하여 상기 수신 노드로 발신하는 단계를 더 포함할 수 있다.The sender verification method using the blockchain may include: generating a verification signature by signing at least one of identification information of the member node and identification information of a receiving node, performed by the member node, with a secret key of the member node; And sending the identification information including the address of the member node and the verification signature to the receiving node by attaching it to a call or a message.

상기 블록체인을 이용한 발신자 확인 방법은, 상기 수신 노드에 의해 수행되는, 상기 구성원 노드의 주소에 기초하여 상기 블록체인 네트워크에서 상기 인증 레코드의 해쉬 값을 획득하는 단계; 상기 인증 레코드의 해쉬 값을 이용하여 상기 블록체인 네트워크에서 상기 인증 레코드를 검색하는 단계; 및 상기 인증 레코드에 포함된 상기 대표 노드의 공개 키를 이용하여 상기 구성원 노드의 소속 정보를 결정하는 단계를 더 포함할 수 있다.The sender identification method using the blockchain may include obtaining a hash value of the authentication record in the blockchain network based on an address of the member node, performed by the receiving node; Retrieving the authentication record from the blockchain network using a hash value of the authentication record; And determining belonging information of the member node using the public key of the representative node included in the authentication record.

상기 수신 노드에 의해 수행되는, 상기 구성원 노드의 식별정보 및 상기 수신 노드의 식별 정보 중 적어도 하나에 기초하여 제1 해쉬 값을 생성하는 단계; 상기 구성원 노드의 공개 키로 상기 확인 서명을 복호화한 데이터에 기초하여 제2 해쉬 값을 생성하는 단계; 및 상기 제1 해쉬 값 및 상기 제2 해쉬 값을 비교하여 상기 확인 서명을 검증하는 단계를 더 포함할 수 있다.Generating a first hash value based on at least one of identification information of the member node and identification information of the receiving node, performed by the receiving node; Generating a second hash value based on data obtained by decrypting the verification signature with the public key of the member node; And comparing the first hash value and the second hash value to verify the verification signature.

상기 블록체인을 이용한 발신자 확인 방법은, 상기 구성원 노드에 의해 수행되는, 상기 구성원 노드의 식별정보, 및 수신 노드의 식별 정보 중 적어도 하나를 상기 구성원 노드의 비밀 키로 서명하여 확인 서명을 생성하는 단계; 상기 수신 노드로 통화 혹은 메시지를 발신하는 단계; 및 상기 구성원 노드의 주소 및 상기 확인 서명을 포함하는 확인 정보를 상기 구성원 노드의 소속을 확인하는 서비스 서버로 전달하는 단계를 더 포함할 수 있다.The sender verification method using the blockchain may include: generating a verification signature by signing at least one of identification information of the member node and identification information of a receiving node, performed by the member node, with a secret key of the member node; Sending a call or message to the receiving node; And transmitting identification information including the address of the member node and the verification signature to a service server for confirming belonging to the member node.

일 실시예에 따르면, 블록체인을 이용한 수신 노드의 발신자 확인 방법은, 구성원 노드의 주소를 포함하는 확인 정보가 첨부된 통화 혹은 메시지를 상기 구성원 노드로부터 수신하는 단계; 상기 구성원 노드의 주소에 기초하여 블록체인 네트워크에서 상기 구성원 노드의 확인을 위해 상기 구성원 노드에 의해 전파된 확인 레코드를 검색하는 단계; 상기 확인 레코드에서 상기 구성원 노드의 인증을 위해 상기 구성원 노드가 속한 대표 노드에 의해 전파된 인증 레코드의 해쉬 값을 획득하는 단계; 상기 인증 레코드의 해쉬 값을 이용하여 상기 블록체인 네트워크에서 상기 인증 레코드를 검색하는 단계; 및 상기 인증 레코드에 포함된 상기 대표 노드의 공개 키를 이용하여 상기 구성원 노드의 소속 정보를 결정하는 단계를 포함한다.According to an embodiment, a method of verifying a caller of a receiving node using a blockchain may include receiving a call or a message with confirmation information including an address of a member node from the member node; Retrieving a confirmation record propagated by the member node for identification of the member node in a blockchain network based on the address of the member node; Obtaining a hash value of an authentication record propagated by the representative node to which the member node belongs for authentication of the member node in the confirmation record; Retrieving the authentication record from the blockchain network using a hash value of the authentication record; And determining belonging information of the member node using the public key of the representative node included in the authentication record.

상기 인증 레코드는 상기 구성원 노드를 위한 인증 토큰, 상기 구성원 노드의 주소, 상기 인증 토큰 및 상기 구성원 노드의 주소를 상기 대표 노드의 비밀 키로 서명한 대표 서명, 및 상기 대표 노드의 공개 키를 포함하고, 상기 확인 레코드는 상기 인증 레코드의 해쉬 값, 상기 구성원 노드의 주소, 상기 인증 레코드의 해쉬 값 및 상기 구성원 노드의 주소를 상기 구성원 노드의 비밀 키로 서명한 구성원 서명, 및 상기 구성원 노드의 공개 키를 포함할 수 있다.The authentication record includes an authentication token for the member node, an address of the member node, a representative signature that signed the authentication token and the address of the member node with the secret key of the representative node, and a public key of the representative node, The verification record includes a hash value of the authentication record, an address of the member node, a hash value of the authentication record, and a member signature that signs the address of the member node with the secret key of the member node, and the public key of the member node. can do.

상기 확인 정보는 상기 구성원 노드가 상기 구성원 노드의 식별정보 및 상기 수신 노드의 식별 정보 중 적어도 하나를 상기 구성원 노드의 비밀 키로 서명한 확인 서명을 더 포함할 수 있다.The confirmation information may further include a confirmation signature in which the member node signs at least one of identification information of the member node and identification information of the receiving node with a secret key of the member node.

상기 블록체인을 이용한 수신 노드의 발신자 확인 방법은, 상기 구성원 노드의 식별정보 및 상기 수신 노드의 식별 정보 중 적어도 하나에 기초하여 제1 해쉬 값을 생성하는 단계; 상기 구성원 노드의 공개 키로 상기 확인 서명을 복호화한 데이터에 기초하여 제2 해쉬 값을 생성하는 단계; 및 상기 제1 해쉬 값 및 상기 제2 해쉬 값을 비교하여 상기 확인 서명을 검증하는 단계를 더 포함할 수 있다.The method for identifying a sender of a receiving node using the blockchain may include generating a first hash value based on at least one of identification information of the member node and identification information of the receiving node; Generating a second hash value based on data obtained by decrypting the verification signature with the public key of the member node; And comparing the first hash value and the second hash value to verify the verification signature.

일 실시예에 따르면, 블록체인을 이용한 서비스 서버의 발신자 확인 방법은 구성원 노드에 의해 수신 노드로 통화 또는 메시지가 송신됨에 따라, 상기 구성원 노드로부터 상기 구성원 노드의 주소를 포함하는 확인 정보를 수신하는 단계; 상기 구성원 노드의 주소에 기초하여 블록체인 네트워크에서 상기 구성원 노드의 확인을 위해 상기 구성원 노드에 의해 전파된 확인 레코드를 검색하는 단계; 상기 확인 레코드에서 상기 구성원 노드의 인증을 위해 상기 구성원 노드가 속한 대표 노드에 의해 전파된 인증 레코드의 해쉬 값을 획득하는 단계; 상기 인증 레코드의 해쉬 값을 이용하여 상기 블록체인 네트워크에서 상기 인증 레코드를 검색하는 단계; 상기 인증 레코드에 포함된 상기 대표 노드의 공개 키를 이용하여 상기 구성원 노드의 소속 정보를 결정하는 단계; 및 상기 수신 노드로 상기 소속 정보를 전달하는 단계를 포함한다.According to an embodiment, a method of confirming a caller of a service server using a blockchain may include receiving confirmation information including an address of the member node from the member node as a call or a message is transmitted by a member node to a receiving node. ; Retrieving a confirmation record propagated by the member node for identification of the member node in a blockchain network based on the address of the member node; Obtaining a hash value of an authentication record propagated by the representative node to which the member node belongs for authentication of the member node in the confirmation record; Retrieving the authentication record from the blockchain network using a hash value of the authentication record; Determining affiliation information of the member node using the public key of the representative node included in the authentication record; And forwarding the belonging information to the receiving node.

도 1은 일 실시예에 따른 블록 체인을 이용한 발신자 확인 시스템을 나타낸 도면.
도 2는 일 실시예에 따른 블록체인 네트워크를 구성하는 레코드들을 나타낸 도면.
도 3은 일 실시예에 따른 블록체인 네트워크를 구성하는 방법을 나타낸 동작 흐름도.
도 4는 일 실시예에 따른 블록체인 네트워크를 이용하여 발신자를 확인하는 과정을 나타낸 도면.
도 5는 일 실시예에 따른 블록체인 네트워크를 이용하여 발신자를 확인하는 방법을 나타낸 동작 흐름도.
도 6은 일 실시예에 따른 레코드의 형식을 나타낸 도면.
도 7은 일 실시예에 따른 레코드의 검증 과정을 나타낸 도면.
도 8은 인증 토큰의 발급 형태에 관한 실시예들을 나타낸 도면.
도 9는 구성원 노드의 타입에 관한 실시예들을 나타낸 도면.
도 10은 소속 정보를 확인하는 주체에 관한 실시예들을 나타낸 도면.
1 is a diagram illustrating a caller identification system using a blockchain according to an embodiment.
2 is a diagram showing records constituting a blockchain network according to an embodiment.
3 is a flowchart illustrating a method of configuring a blockchain network according to an embodiment.
4 is a diagram illustrating a process of identifying a sender using a blockchain network according to an embodiment.
5 is a flowchart illustrating a method of identifying a caller using a blockchain network according to an embodiment.
6 illustrates a format of a record according to an embodiment.
7 illustrates a verification process of a record according to an exemplary embodiment.
8 illustrates embodiments related to an issuance form of an authentication token.
9 illustrates embodiments relating to the type of member node.
10 is a diagram illustrating embodiments of a subject confirming affiliation information;

본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시예들에 대해서 특정한 구조적 또는 기능적 설명들은 단지 본 발명의 개념에 따른 실시예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시예들은 다양한 형태로 실시될 수 있으며 본 명세서에 설명된 실시예들에 한정되지 않는다.Specific structural or functional descriptions of the embodiments according to the inventive concept disclosed herein are merely illustrated for the purpose of describing the embodiments according to the inventive concept, and the embodiments according to the inventive concept. These may be embodied in various forms and are not limited to the embodiments described herein.

본 발명의 개념에 따른 실시예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시예들을 도면에 예시하고 본 명세서에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시예들을 특정한 개시형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 변경, 균등물, 또는 대체물을 포함한다.Embodiments according to the inventive concept may be variously modified and have various forms, so embodiments are illustrated in the drawings and described in detail herein. However, this is not intended to limit the embodiments in accordance with the concept of the present invention to specific embodiments, and includes modifications, equivalents, or substitutes included in the spirit and scope of the present invention.

제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만, 예를 들어 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.Terms such as first or second may be used to describe various components, but the components should not be limited by the terms. The above terms are only for the purpose of distinguishing one component from another, for example, without departing from the scope of the rights according to the inventive concept, the first component may be called a second component, Similarly, the second component may also be referred to as the first component.

어떤 구성요소가 다른 구성요소에 “연결되어” 있다거나 “접속되어” 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 “직접 연결되어” 있다거나 “직접 접속되어” 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 표현들, 예를 들어 “~사이에”와 “바로~사이에” 또는 “~에 직접 이웃하는” 등도 마찬가지로 해석되어야 한다.When a component is said to be “connected” or “connected” to another component, it may be directly connected to or connected to that other component, but it may be understood that other components may be present in the middle. Should be. On the other hand, when a component is said to be "directly connected" or "directly connected" to another component, it should be understood that there is no other component in between. Expressions that describe the relationship between components, such as "between" and "immediately between," or "directly neighboring to," should be interpreted as well.

본 명세서에서 사용한 용어는 단지 특정한 실시예들을 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, “포함하다” 또는 “가지다” 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In this specification, the terms “comprise” or “have” are intended to designate that the stated feature, number, step, operation, component, part, or combination thereof exists, but includes one or more other features or numbers, It is to be understood that it does not exclude in advance the possibility of the presence or addition of steps, actions, components, parts or combinations thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art. Terms such as those defined in the commonly used dictionaries should be construed as having meanings consistent with the meanings in the context of the related art, and are not construed in ideal or excessively formal meanings unless expressly defined herein. Do not.

이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 특허출원의 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.Hereinafter, exemplary embodiments will be described in detail with reference to the accompanying drawings. However, the scope of the patent application is not limited or limited by these embodiments. Like reference numerals in the drawings denote like elements.

도 1은 일 실시예에 따른 블록 체인을 이용한 발신자 확인 시스템을 나타낸 도면이다.1 is a diagram illustrating a caller identification system using a blockchain according to an embodiment.

기관 A(110), 기관 B(120) 및 기관 C(130)에는 각각 소속 직원이 속해있을 수 있고, 소속 직원이 고객이나 민원인과 같은 일반인에게 통화나 메시지를 통해 접촉할 때 소속 직원 본인의 신분 확인이 요구될 수 있다. 예를 들어, 기관 A(110), 기관 B(120) 및 기관 C(130)는 각각 관공서, 금융기관, 기업 등을 나타낼 수 있다. 기관 A(110), 기관 B(120) 및 기관 C(130)는 각각 대표 노드 및 적어도 하나의 구성원 노드를 포함한다. 대표 노드는 기관을 대표하는 서버에 대응할 수 있다. 회사의 소속 직원은 구성원으로 지칭될 수 있고, 구성원 노드는 각 소속 직원이 사용하는 통신단말, 혹은 각 소속 직원이 사용하는 통신단말이 연결된 교환기일 수 있다. 구성원 노드의 타입에 관해서는 추후 상세히 설명한다.Institution A (110), Institution B (120), and Institution C (130) may each have their own employees, and their own identity when the employee contacts or communicates with a member of the public, such as a customer or complaint. Confirmation may be required. For example, institution A 110, institution B 120, and institution C 130 may each represent a government office, a financial institution, a company, or the like. Institution A 110, Institution B 120, and Institution C 130 each include a representative node and at least one member node. The representative node may correspond to a server representing the organization. The employee of the company may be referred to as a member, and the member node may be a communication terminal used by each employee or an exchange to which a communication terminal used by each employee is connected. The type of the member node will be described later in detail.

이하, 대표 노드(111) 및 구성원 노드(112)에 관한 설명은 다른 대표 노드 및 다른 구성원 노드들에 적용될 수 있다. 대표 노드(111) 및 구성원 노드(112)는 각각 블록체인 네트워크(100)에 레코드를 전파한다. 레코드는 블록체인 네트워크(100)에 전파되어 저장 내지 등록될 수 있다. 블록체인 네트워크(100)에 전파된 레코드 등의 정보는 대표 노드(111) 및 구성원 노드(112)뿐만 아니라 수신 노드(150) 등 다른 장치들에 의해서도 자유롭게 접근 가능하다. 수신 노드(150)는 통신단말일 수 있다.Hereinafter, the description of the representative node 111 and the member node 112 may be applied to other representative nodes and other member nodes. The representative node 111 and the member node 112 propagate the record to the blockchain network 100, respectively. Records can be propagated to the blockchain network 100 to be stored or registered. Information such as a record propagated to the blockchain network 100 is freely accessible by not only the representative node 111 and the member node 112 but also other devices such as the receiving node 150. The receiving node 150 may be a communication terminal.

아래에서 상세히 설명되겠지만, 대표 노드(111)는 구성원 노드(112)에 대응하는 인증 레코드를 생성하여 블록체인 네트워크(100)에 전파하고, 구성원 노드(112)는 상기 생성된 인증 레코드에 대응하는 확인 레코드를 생성하여 블록체인 네트워크(100)에 전파한다. 예를 들어, 인증 레코드는 구성원이 기관에 입사한 것에 대응하여 생성될 수 있다. 이들은 다른 대표 노드들에 의해 전파된 인증 레코드들 및 다른 구성원 노드들에 의해 전파된 확인 레코드들과 함께 블록체인을 구성할 수 있다. 하나의 블록에는 다수의 인증 레코드들 및 확인 레코드들이 포함될 수 있다. 구성원 노드(112)가 수신 노드(150)에 통화 또는 메시지를 발신할 경우, 수신 노드(150)는 블록체인 네트워크(100)에서 구성원 노드(112)에 관련된 인증 레코드 및 확인 레코드를 검색하여 구성원 노드(112)의 소속 정보를 확인할 수 있다.As will be described in detail below, the representative node 111 generates an authentication record corresponding to the member node 112 and propagates it to the blockchain network 100, and the member node 112 confirms that corresponds to the generated authentication record. A record is generated and propagated to the blockchain network 100. For example, an authentication record may be created in response to a member entering the organization. They may form a blockchain with authentication records propagated by other representative nodes and confirmation records propagated by other member nodes. One block may include multiple authentication records and confirmation records. When member node 112 sends a call or message to receiving node 150, receiving node 150 retrieves the authentication record and confirmation record related to member node 112 from blockchain network 100 to retrieve member node. (112) affiliation information can be confirmed.

기존에 발신 번호에 대응하는 소속 정보를 제공하는 어플리케이션이 존재하지만, 이러한 어플리케이션은 이용자의 의견에 따라 구축된 데이터베이스를 이용하므로, 악의의 발신자가 자신의 전화번호를 바꾸어 접촉하면 소속 정보가 제공되지 않는다. 즉, 소속 정보가 전화번호에 의존하여 제공되므로 전화번호 변경에 따라 데이터베이스의 기능이 상실되게 된다. 발신자인 관공서, 금융기관, 기업 등의 소속 직원도 수신자인 고객이나 민원인의 신뢰를 위해 수신자에게 자신의 소속을 알릴 필요가 있으므로, 발신자 및 수신자 양측 모두에 발신자 확인은 중요할 수 있다. 실시예들에 따르면 블록체인을 통해 발신자의 소속 정보가 수신자에게 높은 신뢰도로 제공될 수 있다.Existing applications exist that provide affiliation information corresponding to the calling number. However, since these applications use a database constructed according to the opinion of the user, the affiliation information is not provided when a malicious caller changes his / her phone number and contacts it. . In other words, since the belonging information is provided depending on the telephone number, the function of the database is lost as the telephone number is changed. Employees of the sender's government offices, financial institutions, companies, etc. also need to inform the recipient of their affiliation for the trust of the recipient's customer or complaint, so caller identification can be important to both the sender and the recipient. According to embodiments, the sender's belonging information may be provided to the receiver with high reliability through the blockchain.

도 2는 일 실시예에 따른 블록체인 네트워크를 구성하는 레코드들을 나타낸 도면이다.2 is a diagram illustrating records constituting a blockchain network according to an embodiment.

도 2를 참조하면, 대표 노드(210)는 구성원 노드(230)에 관해 인증 레코드(220)를 생성하여 블록체인 네트워크(250)에 전파하고, 구성원 노드(230)는 구성원 노드(230)에 관해 확인 레코드(240)를 생성하여 블록체인 네트워크(250)에 전파한다.Referring to FIG. 2, the representative node 210 generates an authentication record 220 for the member node 230 and propagates it to the blockchain network 250, and the member node 230 relates to the member node 230. A confirmation record 240 is generated and propagated to the blockchain network 250.

인증 레코드(220)는 인증 토큰(221), 구성원 노드의 주소(222), 대표 서명(224) 및 대표 노드의 공개 키(225)를 포함한다.Authentication record 220 includes an authentication token 221, an address 222 of a member node, a representative signature 224, and a public key 225 of a representative node.

인증 토큰(221)은 구성원 노드 각각을 위해 발급될 수 있다. 아래에서 다시 설명되겠으나, 인증 토큰은 총괄 기관에 의해 참여 기관들에게 발급되거나, 참여 기관에 의해 자체적으로 생성될 수 있다. 총괄 기관에 의해 인증 토큰이 발급될 경우, 각 참여 기관은 인증 토큰이 총괄 기관에서 발급된 것인지 확인하여 인증 토큰을 검증할 수 있다. 참여 기관에 의해 인증 토큰이 생성될 경우, 각 참여 기관은 모든 참여 기관의 정보(예: 주소)를 공유하고, 인증 토큰이 정당한 참여 기관에 의해 생성된 것인지 확인하여 인증 토큰을 검증할 수 있다. 인증 토큰(221)은 구성원 노드(230)를 위해 발급된 것으로, 대표 노드(210)는 이를 인증 레코드(220)에 포함시킬 수 있다.Authentication token 221 may be issued for each member node. As will be described again below, authentication tokens may be issued to participating organizations by the general authority or may be generated by the participating organizations themselves. When an authentication token is issued by the general authority, each participating agency may verify the authentication token by confirming that the authentication token is issued by the general authority. When an authentication token is generated by a participating agency, each participating organization can verify the authentication token by sharing the information (eg, address) of all participating organizations and verifying that the authentication token is generated by a legitimate participating organization. The authentication token 221 is issued for the member node 230, and the representative node 210 may include it in the authentication record 220.

구성원은 구성원 노드(230)에 관해 비밀 키, 공개 키 및 주소를 생성할 수 있고, 구성원 노드(230)의 주소를 대표 노드(210)로 전달할 수 있다. 구성원은 이메일, 메신저와 같은 온라인 채널, 혹은 오프라인을 통해 대표 노드(210)에 구성원 노드(230)의 주소를 전달할 수 있다. 구성원 노드의 주소(222)는 구성원 노드(230)로부터 전달 받은 것으로, 대표 노드(210)는 이를 인증 레코드(220)에 포함시킬 수 있다.The member may generate a secret key, public key, and address with respect to member node 230, and may pass the address of member node 230 to representative node 210. The member may transmit the address of the member node 230 to the representative node 210 through an online channel such as an email, a messenger, or offline. The address 222 of the member node is received from the member node 230, and the representative node 210 may include it in the authentication record 220.

구성원 노드(230)와 마찬가지로 대표 노드(210)를 위한 비밀 키, 공개 키, 및 주소가 생성될 수 있다. 대표 노드(210)는 인증 토큰(221) 및 구성원 노드의 주소(222)를 획득하고, 인증 토큰(221) 및 구성원 노드의 주소(222)를 대표 노드의 비밀 키(223)로 서명하여 대표 서명(224)을 생성할 수 있다. 대표 노드(210)는 대표 서명(224) 및 대표 노드의 공개 키(225)를 인증 레코드(220)에 포함시킬 수 있다. 대표 노드의 공개 키(225)를 통해 대표 서명(224)이 검증될 수 있다. 아래에서 상세히 설명될 것처럼, 대표 노드의 공개 키(225)를 통해 구성원 노드(230)의 소속 정보가 확인될 수 있다.Like the member node 230, a secret key, public key, and address for the representative node 210 can be generated. The representative node 210 acquires the authentication token 221 and the address of the member node 222, and signs the authentication token 221 and the member node's address 222 with the representative node's secret key 223 to sign the representative. 224 can be generated. The representative node 210 may include the representative signature 224 and the representative node's public key 225 in the authentication record 220. The representative signature 224 can be verified through the representative node's public key 225. As will be described in detail below, membership information of the member node 230 may be verified through the public key 225 of the representative node.

확인 레코드(240)는 인증 레코드의 해쉬 값(241), 구성원 노드의 주소(242), 구성원 서명(244) 및 구성원 노드의 공개 키(245)를 포함한다. 인증 레코드(220) 내 구성원 노드의 주소(222) 및 확인 레코드(240) 내 구성원 노드의 주소(242)는 동일한 값을 가질 수 있다.The confirmation record 240 includes a hash value 241 of the authentication record, an address 242 of the member node, a member signature 244, and a public key 245 of the member node. The address 222 of the member node in the authentication record 220 and the address 242 of the member node in the confirmation record 240 may have the same value.

구성원 노드(230)는 인증 레코드(220) 및 해쉬 함수로 인증 레코드의 해쉬 값(241)을 계산할 수 있고, 이를 확인 레코드(240)에 포함시킬 수 있다. 아래에서 다시 설명되겠지만, 블록체인 네트워크(250) 내 복수의 인증 레코드들의 해쉬 값들 및 인증 레코드의 해쉬 값(241) 간의 비교를 통해, 복수의 인증 레코드들에서 인증 레코드(220)가 검색될 수 있다.The member node 230 may calculate the hash value 241 of the authentication record using the authentication record 220 and the hash function, and may include it in the confirmation record 240. As will be described again below, the authentication record 220 may be retrieved from the plurality of authentication records through a comparison between the hash values of the plurality of authentication records in the blockchain network 250 and the hash value 241 of the authentication record. .

전술된 것처럼, 구성원에 의해 구성원 노드의 비밀 키(243) 및 구성원 노드의 공개 키(245)가 생성될 수 있다. 구성원 노드(230)는 인증 레코드의 해쉬 값(241) 및 구성원 노드의 주소(242)를 구성원 노드의 비밀 키(243)로 서명하여 구성원 서명(244)을 생성할 수 있다. 구성원 노드(230)는 구성원 서명(244) 및 구성원 노드의 공개 키(245)를 확인 레코드(240)에 포함시킬 수 있다. 구성원 노드의 공개 키(245)를 통해 구성원 서명(244)이 검증될 수 있다.As described above, the member node's private key 243 and member node's public key 245 can be generated by the member. The member node 230 may generate a member signature 244 by signing the hash value 241 of the authentication record and the member node address 242 with the member node's secret key 243. Member node 230 may include member signature 244 and member node's public key 245 in verification record 240. The member signature 244 can be verified through the member node's public key 245.

아래에서 다시 설명되겠으나, 실시예에 따라 구성원 서명은 인증 레코드의 해쉬 값, 구성원 노드의 주소 및 추가 데이터에 기초하여 생성될 수 있다. 예를 들어, 추가 데이터는 이름, 부서 등 구성원의 개인 정보를 포함할 수 있다. 구성원 서명은 추가 데이터를 통해 구성원에 관해 개인화될 수 있다.As will be described again below, in accordance with an embodiment the member signature may be generated based on the hash value of the authentication record, the address of the member node, and additional data. For example, the additional data may include personal information of the member, such as name and department. Member signatures can be personalized about members through additional data.

도 3은 일 실시예에 따른 블록체인 네트워크를 구성하는 방법을 나타낸 동작 흐름도이다.3 is a flowchart illustrating a method of configuring a blockchain network according to an embodiment.

구성원 노드(310)는 단계(301)에서 개인 키, 공개 키 및 주소를 생성하고, 단계(302)에서 대표 노드(320)에게 자신의 주소를 알린다. 대표 노드(320)는 단계(303)에서 구성원 노드(310)를 수신으로 하여 인증 레코드를 생성하고, 단계(304)에서 블록체인 네트워크(330)로 인증 레코드를 전파한다. 인증 레코드가 구성원 노드(310)를 수신으로 한다는 것은 구성원 노드(310)가 인증 레코드에 관련된 레코드를 생성할 수 있다는 것을 의미한다.The member node 310 generates a private key, a public key, and an address in step 301, and informs the representative node 320 of its address in step 302. The representative node 320 receives the member node 310 in step 303 to generate an authentication record, and in step 304 propagates the authentication record to the blockchain network 330. The fact that the authentication record receives member node 310 means that member node 310 can generate a record related to the authentication record.

구성원 노드(310)는 단계(305)에서 블록체인 네트워크(330)에 인증 레코드가 등록된 것을 확인하고, 단계(306)에서 자신을 수신으로 하는 확인 레코드를 생성한다. 확인 레코드가 구성원 노드(310)를 수신으로 한다는 것은 구성원 노드(310)가 확인 레코드에 관련된 레코드를 생성할 수 있다는 것을 의미한다. 아래에서 다시 설명되겠지만, 구성원 노드(310)는 확인 레코드의 등록 이후에 기관에서 퇴사한 경우 대표 노드(320)를 수신으로 하는 반환 레코드를 생성하여 블록체인 네트워크(330)에 등록할 수 있다. 추가로, 구성원 노드(310)는 확인 레코드의 등록 이후에 확인 레코드 내 개인 정보의 변경이 필요한 경우 추가 확인 레코드를 생성하여 개인 정보를 갱신할 수 있다.The member node 310 confirms that an authentication record is registered in the blockchain network 330 in step 305, and generates a confirmation record that receives itself in step 306. Having the confirmation record receiving member node 310 means that member node 310 can create a record related to the confirmation record. As will be described again below, the member node 310 may register with the blockchain network 330 by generating a return record that receives the representative node 320 when the organization leaves the organization after registration of the confirmation record. In addition, the member node 310 may update the personal information by generating an additional confirmation record when a change of personal information in the confirmation record is required after registration of the confirmation record.

단계(308)에서 블록체인 네트워크(330)를 통해 인증 레코드 및 확인 레코드가 검증되고, 검증이 완료된 인증 레코드 및 확인 레코드는 단계(309)에서 블록체인 네트워크(330)의 블록에 저장된다. 레코드의 검증에 관해서는 추후 상세히 설명한다.In step 308, the authentication record and the verification record are verified through the blockchain network 330, and the verification and verification record that has been verified is stored in the block of the blockchain network 330 in step 309. The verification of the record will be described later in detail.

그 밖에 도 3의 블록체인 네트워크를 구성하는 방법에는 상술된 사항 및 후술될 사항이 적용될 수 있으며, 보다 상세한 설명은 생략한다.In addition, the above-described matters and the following matters may be applied to the method of configuring the blockchain network of FIG. 3, and a detailed description thereof will be omitted.

도 4는 일 실시예에 따른 블록체인 네트워크를 이용하여 발신자를 확인하는 과정을 나타낸 도면이다.4 is a diagram illustrating a process of identifying a sender using a blockchain network according to an embodiment.

도 4를 참조하면, 구성원 노드(410)는 수신 노드(430)로 통화 또는 메시지를 발신한다. 전화 또는 메시지에는 확인 정보(421)가 첨부될 수 있다. 확인 정보(421)는 구성원 노드(410)의 식별정보, 수신 노드(430)의 식별정보, 타임스탬프, 구성원 노드(410)의 주소, 검색 키 및 확인 서명 중 적어도 하나를 포함할 수 있다.Referring to FIG. 4, the member node 410 sends a call or a message to the receiving node 430. Confirmation information 421 may be attached to the call or message. The confirmation information 421 may include at least one of identification information of the member node 410, identification information of the receiving node 430, a timestamp, an address of the member node 410, a search key, and a verification signature.

식별 정보는 전화번호를 포함할 수 있다. 타임스탬프는 통화 또는 메시지가 발신된 연도, 날짜 및 시간을 포함할 수 있다. 확인 서명은 확인 정보(421)를 검증하기 위한 것이다. 구성원 노드(410)는 구성원 노드(410)의 식별정보, 수신 노드(430)의 식별정보 및 타임스탬프 중 적어도 하나를 구성원 노드(410)의 비밀 키로 서명하여 확인 서명을 생성할 수 있다. 아래에서는 대표적으로 확인 서명이 구성원 노드(410)의 식별정보, 수신 노드(430)의 식별정보 및 타임스탬프가 구성원 노드(410)의 비밀 키로 서명된 것을 예시로 설명한다.The identification information may include a telephone number. The time stamp may include the year, date, and time the call or message originated. The verification signature is for verifying the verification information 421. The member node 410 may generate at least one of identification information of the member node 410, identification information of the receiving node 430, and a timestamp with a secret key of the member node 410 to generate a verification signature. In the following description, the verification signature is representatively signed with the identification information of the member node 410, the identification information of the receiving node 430, and the timestamp with the secret key of the member node 410.

검색 키는 블록체인 네트워크(450)에서 구성원 노드(410)에 관한 레코드를 빠르게 검색하기 위한 것으로, 블록 인덱스 및 레코드 인덱스를 포함할 수 있다. 구성원 노드(410)의 주소가 있으면 블록체인 네트워크(450)에서 구성원 노드(410)에 관한 레코드를 검색할 수 있으나, 검색 키를 통해 검색 시간이 단축될 수 있다. 예를 들어, 검색 키에서 블록 인덱스가 x, 레코드 인덱스가 y라면, 이는 구성원 노드(410)에 관한 레코드가 블록체인 내 x번째 블록의 y번째 레코드에 대응하는 것을 나타낼 수 있다. 검색 키는 인증 레코드, 확인 레코드 및 반환 레코드 중 적어도 하나를 나타낼 수 있고, 각 레코드에 관해 블록 인덱스 및 레코드 인덱스를 포함할 수 있다.The search key is for quickly searching for records related to the member nodes 410 in the blockchain network 450 and may include a block index and a record index. If there is an address of the member node 410, the blockchain network 450 may search for the record of the member node 410, but the search time may be shortened through the search key. For example, if the block index in the search key is x and the record index is y, this may indicate that the record for the member node 410 corresponds to the y th record of the x th block in the block chain. The search key may represent at least one of an authentication record, a confirmation record, and a return record, and may include a block index and a record index for each record.

전화 또는 메시지가 수신되면, 수신 노드(430)는 확인 정보(421) 내 타임스탬프의 유효성을 검증할 수 있다. 예를 들어, 수신 노드(430)는 타임스탬프가 나타내는 시간으로부터 미리 정해진 기간이 도과된 경우, 확인 정보(421)가 유효하지 않은 것으로 결정할 수 있다.When a call or message is received, the receiving node 430 may verify the validity of the time stamp in the confirmation information 421. For example, when a predetermined period has elapsed from the time indicated by the timestamp, the receiving node 430 may determine that the confirmation information 421 is not valid.

또한, 전화 또는 메시지가 수신되면, 수신 노드(430)는 확인 서명을 검증하기 위한 제1 해쉬 값을 생성하고, 구성원 노드(410)의 소속을 확인하기 위해 검색 API(440)를 호출할 수 있다. 수신 노드(430)는 확인 서명이 기초하는 정보, 즉 앞선 예시에서 구성원 노드(410)의 식별정보, 수신 노드(430)의 식별정보 및 타임스탬프에 기초하여 제1 해쉬 값을 생성할 수 있다. 수신 노드(430)는 구성원 노드(410)의 주소, 제1 해쉬 값, 및 확인 서명을 입력으로 하여 검색 API(440)를 호출할 수 있다.In addition, when a call or message is received, the receiving node 430 may generate a first hash value for verifying the verification signature and call the search API 440 to verify the affiliation of the member node 410. . The receiving node 430 may generate the first hash value based on the information on which the verification signature is based, that is, the identification information of the member node 410, the identification information of the receiving node 430, and the timestamp in the previous example. The receiving node 430 may call the search API 440 with the address of the member node 410, the first hash value, and the verification signature as input.

검색 API(440)는 확인 정보(421)에 기초하여 구성원 노드(410)에 관한 소속 정보(480)를 수신 노드(430)에 제공할 수 있다. 검색 API(440)는 수신 노드(430)에 저장되거나, 수신 노드(430) 외부의 장치에 저장될 수 있다. 검색 API(440)가 수신 노드(430)에 저장된 경우, 아래에서 설명되는 검색 API(440)의 동작은 수신 노드(430)에 의해 수행되는 것으로 볼 수 있다.The search API 440 may provide the receiving node 430 with the belonging information 480 about the member node 410 based on the confirmation information 421. The search API 440 may be stored in the receiving node 430 or may be stored in a device outside the receiving node 430. When the search API 440 is stored in the receiving node 430, the operation of the search API 440 described below may be regarded as being performed by the receiving node 430.

검색 API(440)는 구성원 노드(410)의 주소에 기초하여 블록체인 네트워크(450)에서 확인 레코드(460)를 검색할 수 있다. 만약 확인 정보(421)에 검색 키가 포함되었고, 이 것이 수신 노드(430)를 통해 검색 API(440)에 제공된 경우, 검색 API(440)는 검색 키를 이용하여 블록체인 네트워크(450)에서 확인 레코드(460) 및 인증 레코드(470) 중 적어도 하나를 검색할 수 있다.The search API 440 may retrieve the confirmation record 460 from the blockchain network 450 based on the address of the member node 410. If the confirmation information 421 includes a search key, which is provided to the search API 440 via the receiving node 430, the search API 440 confirms in the blockchain network 450 using the search key. At least one of the record 460 and the authentication record 470 may be retrieved.

블록체인 네트워크(450)에서 확인 레코드(460)가 검색되면, 검색 API(440)는 확인 레코드(460)에서 구성원 노드의 공개 키(464)를 획득하고, 구성원 노드의 공개 키(464)로 확인 서명을 복호화하여 데이터를 획득할 수 있고, 해당 데이터에 기초하여 제2 해쉬 값을 생성할 수 있다. 검색 API(440)는 제1 해쉬 값 및 제2 해쉬 값을 비교하여 확인 서명을 검증할 수 있다. 즉, 제1 해쉬 값 및 제2 해쉬 값이 동일한 경우 확인 서명이 구성원 노드(410)에 의해 생성된 것이 검증될 수 있다.When the verification record 460 is retrieved from the blockchain network 450, the search API 440 obtains the member node's public key 464 from the verification record 460 and verifies with the member node's public key 464. The signature may be decrypted to obtain data, and a second hash value may be generated based on the data. The search API 440 may verify the verification signature by comparing the first hash value and the second hash value. That is, when the first hash value and the second hash value are the same, it may be verified that the verification signature is generated by the member node 410.

블록체인 네트워크(450)에서 확인 레코드(460)가 검색되면, 검색 API(440)는 확인 레코드(460)에서 인증 레코드의 해쉬 값(461)을 획득할 수 있다. 검색 API(440)는 인증 레코드의 해쉬 값(461)을 이용하여 블록체인 네트워크(450)에서 인증 레코드(470)를 검색할 수 있다. 예를 들어, 검색 API(440)는 블록체인 네트워크(450) 내 인증 레코드들의 해쉬 값들을 계산할 수 있고, 이 중에 인증 레코드의 해쉬 값(461)과 동일한 해쉬 값을 갖는 인증 레코드(470)를 찾아낼 수 있다.When the confirmation record 460 is retrieved from the blockchain network 450, the search API 440 may obtain a hash value 461 of the authentication record from the confirmation record 460. The search API 440 may retrieve the authentication record 470 from the blockchain network 450 using the hash value 461 of the authentication record. For example, the search API 440 may calculate hash values of authentication records in the blockchain network 450, among which find an authentication record 470 with a hash value equal to the hash value 461 of the authentication record. I can make it.

검색 API(440)는 대표 노드의 공개 키 및 기관 명칭이 서로 매칭되어 저장된 데이터베이스를 유지하거나, 해당 데이터베이스에 접근할 수 있다. 검색 API(440)는 인증 레코드(470)에 포함된 대표 노드의 공개 키(474), 및 해당 데이터베이스에 기초하여 구성원 노드(410)의 소속 정보(480)를 결정할 수 있다. 소속 정보(480)는 구성원 노드(410)가 속한 기관 명칭을 포함할 수 있다. 검색 API(440)는 확인 서명이 검증되었는지 여부를 나타내는 서명 검증 정보 및 소속 정보(480)를 수신 노드(430)에 제공할 수 있다.The search API 440 may maintain a database in which the public key and the organization name of the representative node match each other, or access the database. The search API 440 may determine affiliation information 480 of the member node 410 based on the public key 474 of the representative node included in the authentication record 470, and the corresponding database. The belonging information 480 may include an organization name to which the member node 410 belongs. The search API 440 can provide the receiving node 430 with signature verification information and affiliation information indicating whether the verification signature has been verified.

도 5는 일 실시예에 따른 블록체인 네트워크를 이용하여 발신자를 확인하는 방법을 나타낸 동작 흐름도이다.5 is a flowchart illustrating a method of identifying a sender using a blockchain network according to an embodiment.

구성원 노드(510)는 단계(501)에서 확인 정보를 생성하고, 단계(502)에서 통화 또는 메시지에 확인 정보를 첨부하여 수신 노드(520)로 발신한다. 수신 노드(520)는 단계(503)에서 서명 확인용 해쉬 값을 생성하고, 단계(504)에서 검색 API(530)를 호출한다. 검색 API(530)는 단계(505)에서 구성원 노드(510)의 소속 정보를 확인하고, 단계(506)에서 수신 노드(520)에게 구성원 노드(510)의 소속 정보를 전달한다. 그 밖에 도 5의 블록체인 네트워크를 이용하여 발신자를 확인하는 방법에는 상술된 사항 및 후술될 사항이 적용될 수 있으며, 보다 상세한 설명은 생략한다.The member node 510 generates the confirmation information in step 501, and attaches the confirmation information to the call or message in step 502 and sends it to the receiving node 520. The receiving node 520 generates a hash value for signature verification at step 503 and calls the search API 530 at step 504. The search API 530 confirms the membership information of the member node 510 in step 505, and transfers the membership information of the member node 510 to the receiving node 520 in step 506. In addition, the above-described matters and the following matters may be applied to the method for identifying a sender using the blockchain network of FIG. 5, and a detailed description thereof will be omitted.

도 6은 일 실시예에 따른 레코드의 형식을 나타낸 도면이다.6 is a diagram illustrating a format of a record according to an embodiment.

도 6을 참조하면, 레코드(600)는 Input(610), Output(620), Extra Data(630) 및 Signature(640)를 포함한다.Referring to FIG. 6, the record 600 includes an input 610, an output 620, an extra data 630, and a signature 640.

Input(610)은 Record Type 및 Token/Previous Record Hash를 포함한다. Record Type은 레코드(600)의 종류를 인증 레코드, 확인 레코드 및 반환 레코드 중 어느 하나로 나타낼 수 있다. 예를 들어, 인증 레코드는 소속 직원의 입사 시 생성될 수 있고, 확인 레코드는 인증 레코드가 생성된 이후, 혹은 확인 레코드 내 정보가 변경된 경우 생성될 수 있고, 반환 레코드는 소속 직원의 퇴사 시 생성될 수 있다. 특정 구성원 노드에 관해 반환 레코드가 존재한다면, 해당 구성원 노드는 더 이상 대응하는 대표 노드에 소속되어 있지 않음을 의미할 수 있다.Input 610 includes Record Type and Token / Previous Record Hash. The record type may indicate the type of the record 600 as one of an authentication record, a confirmation record, and a return record. For example, an authentication record may be generated upon entry of a member of the employee, a confirmation record may be generated after the authentication record has been created, or if the information in the confirmation record has changed, and a return record may be generated upon departure of the employee. Can be. If a return record exists for a particular member node, it may mean that the member node no longer belongs to the corresponding representative node.

Token/Previous Record Hash는 인증 토큰, 혹은 연관된 이전 레코드의 해쉬 값을 나타낸다. Record Type이 인증 레코드인 경우 Token/Previous Record Hash는 인증 토큰을 포함하며, Record Type이 확인 레코드 혹은 반환 레코드인 경우 Token/Previous Record Hash는 이전 레코드의 해쉬 값을 나타낼 수 있다. 예를 들어, Record Type이 확인 레코드인 경우 Token/Previous Record Hash는 인증 레코드의 해쉬 값을 나타낼 수 있고, Record Type이 반환 레코드인 경우 Token/Previous Record Hash는 확인 레코드의 해쉬 값을 나타낼 수 있다. 정보 변경으로 인해 확인 레코드가 복수 존재하는 경우 현재 확인 레코드의 Token/Previous Record Hash는 이전 확인 레코드의 해쉬 값을 나타낼 수 있다.Token / Previous Record Hash represents the hash value of the authentication token, or associated previous record. Token / Previous Record Hash includes an authentication token when the Record Type is an authentication record, and Token / Previous Record Hash may indicate the hash value of the previous record when the Record Type is a confirmation record or a return record. For example, if the Record Type is a verification record, Token / Previous Record Hash may represent a hash value of the authentication record. If the Record Type is a return record, Token / Previous Record Hash may represent a hash value of the verification record. If there are multiple confirmation records due to the information change, Token / Previous Record Hash of the current confirmation record may represent the hash value of the previous confirmation record.

Output(620)은 수신자의 주소를 포함한다. 예를 들어, 인증 레코드의 수신자는 구성원 노드이고, 확인 레코드의 수신자는 구성원 노드이고, 반환 레코드의 수신자는 대표 노드가 될 수 있다. 수신자는 연관된 다음 레코드를 작성하여 블록체인 네트워크에 전파할 수 있다.Output 620 includes the address of the recipient. For example, the receiver of the authentication record may be a member node, the receiver of the confirmation record may be a member node, and the receiver of the return record may be a representative node. The receiver can create the next associated record and propagate it to the blockchain network.

Extra Data(630)는 Input(610), Output(620) 이외에 필요한 추가 데이터를 포함할 수 있다. 예를 들어, 확인 레코드의 경우 이름, 부서 등 구성원의 개인 정보를 포함할 수 있고, 이를 통해 구성원 서명이 대응하는 구성원에 관해 개인화될 수 있다.The extra data 630 may include additional data required in addition to the input 610 and the output 620. For example, a confirmation record may include personal information of a member, such as a name, a department, and so the member signature may be personalized with respect to the corresponding member.

Signature(640)는 Digital Signature 및 Public Key를 포함한다. Digital Signature는 개인 키를 이용하여 Input(610), Output(620) 및 Extra Data(630)를 서명한 것이다. 예를 들어, Digital Signature는 인증 레코드의 경우 대표 노드의 개인 키에 기초한 대표 서명을 나타내고, 확인 레코드 및 반환 레코드의 경우 구성원 노드의 개인 키에 기초한 구성원 서명을 나타낼 수 있다.Signature 640 includes a Digital Signature and a Public Key. Digital Signature is a signature of Input 610, Output 620 and Extra Data 630 using a private key. For example, the digital signature may represent a representative signature based on the private key of the representative node in the case of the authentication record, and the member signature based on the private key of the member node in the case of the verification record and the return record.

레코드(600)에서 Token/Previous Record Hash는 이전 레코드를 입력으로 사용 가능한지 검증하는데 이용될 수 있고, Digital Signature는 레코드(600)가 변경되지 않았는지 검증하는데 이용될 수 있다. 레코드의 검증 과정은 아래 도 7을 참조하여 설명한다.Token / Previous Record Hash in record 600 may be used to verify that the previous record is available as input, and Digital Signature may be used to verify that record 600 has not changed. The verification process of the record will be described with reference to FIG. 7 below.

도 7은 일 실시예에 따른 레코드의 검증 과정을 나타낸 도면이다.7 is a diagram illustrating a verification process of a record, according to an exemplary embodiment.

특정 레코드에서 Input, Output 및 Extra Data에 관한 해쉬 값 및 디지털 서명을 공개 키로 복호화한 값이 동일하면, 해당 개인 키 및 공개 키 쌍을 보유한 노드에 의해 생성되어 변경되지 않은 레코드임이 검증될 수 있다. 예를 들어, 인증 레코드(710)의 경우 Input, Output 및 Extra Data에 관한 해쉬 값 및 대표 서명을 대표 노드의 공개 키로 복호화한 값이 동일하면, 인증 레코드(710)가 대응하는 대표 노드에 의해 생성되어 변경되지 않았음이 검증되며, 확인 레코드(720)의 경우 Input, Output 및 Extra Data에 관한 해쉬 값 및 구성원 서명을 구성원 노드의 공개 키로 복호화한 값이 동일하면, 확인 레코드(720)가 대응하는 구성원 노드에 의해 생성되어 변경되지 않았음이 검증된다.If the hash value for the input, output, and extra data in the specific record and the value obtained by decrypting the digital signature with the public key are the same, it can be verified that the record has not been changed by being generated by the node holding the corresponding private key and public key pair. For example, in the case of the authentication record 710, if the hash value for input, output, and extra data and the value of decrypting the representative signature with the public key of the representative node are the same, the authentication record 710 is generated by the corresponding representative node. In the case of the verification record 720, if the hash value for the input, output, and extra data and the value obtained by decrypting the member signature with the public key of the member node are the same, the verification record 720 corresponds to Created by the member node and verified that it has not been changed.

특정 레코드에서 공개 키로 디지털 서명을 복호화하여 획득된 Output 내 주소 및 해당 레코드의 Input 내 해쉬 값에 대응하는 이전 레코드의 Output 내 주소가 동일하면, 해당 레코드가 이전 레코드의 수신 노드인 것이 검증될 수 있다. 예를 들어, 확인 레코드(720)의 경우, 구성원 노드의 공개 키로 구성원 서명을 복호화하여 획득된 Output 내 주소 1234567890 및 Input 내 해쉬 값에 대응하는 인증 레코드(710)의 Output 내 주소 1234567890가 동일하므로, 확인 레코드(720)가 인증 레코드(710)의 정당한 수신 노드인 것이 검증된다.If the address in the output obtained by decrypting the digital signature with the public key in the specific record and the address in the output of the previous record corresponding to the hash value in the input of the record are the same, it can be verified that the record is the receiving node of the previous record. . For example, in the case of the verification record 720, since the address in the output 1234567890 obtained by decrypting the member signature with the public key of the member node and the address in the output 1234567890 corresponding to the hash value in the input corresponding to the hash value in the input are the same, Verification record 720 is verified to be a legitimate receiving node of authentication record 710.

레코드들은 상술된 검증 과정을 통해 검증이 완료된 이후에 블록체인에 저장될 수 있다.The records may be stored in the blockchain after verification is completed through the verification process described above.

도 8은 인증 토큰의 발급 형태에 관한 실시예들을 나타낸 도면이다.8 is a diagram illustrating embodiments of an issuance form of an authentication token.

도 8에서 참여 기관은 상술된 대표 기관에 대응한다. 도 8(a)의 실시예에 따르면, 총괄 기관은 참여 기관에 인증 토큰을 발급할 수 있고, 참여 기관은 발급된 인증 토큰에 기초하여 자신에게 소속된 구성원들에 관해 인증 레코드를 생성할 수 있다. 이 경우, 각 참여 기관은 인증 토큰이 총괄 기관에서 발급된 것인지 확인하여 인증 토큰을 검증할 수 있다. 도 8(b)의 실시예에 따르면, 참여 기관은 스스로 인증 토큰을 생성할 수 있고, 생성된 인증 토큰에 기초하여 자신에게 소속된 구성원들에 관해 인증 레코드를 생성할 수 있다. 이 경우, 각 참여 기관은 모든 참여 기관의 정보(예: 주소)를 공유하고, 인증 토큰이 정당한 참여 기관에 의해 생성된 것인지 확인하여 인증 토큰을 검증할 수 있다.In FIG. 8, the participating authority corresponds to the representative authority described above. According to the embodiment of FIG. 8 (a), the general authority may issue an authentication token to the participating authority, and the participating authority may generate an authentication record for the members belonging to it based on the issued authentication token. . In this case, each participating authority may verify the authentication token by checking whether the authentication token is issued by the general authority. According to the embodiment of FIG. 8 (b), the participating authority may generate an authentication token by itself, and generate an authentication record for members belonging to it based on the generated authentication token. In this case, each participating authority can verify the authentication token by sharing the information (eg, address) of all participating agencies and verifying that the authentication token is generated by a legitimate participating authority.

도 9는 구성원 노드의 타입에 관한 실시예들을 나타낸 도면이다.9 is a diagram illustrating embodiments of types of member nodes.

도 9(a)의 실시예에 따르면, 구성원 개인이 사용하는 통신단말(910)이 구성원 노드에 대응할 수 있다. 이 경우, 통신단말(910)에 비밀 키 및 대응 키 쌍이 저장된다. 도 9(b)의 실시예에 따르면, 구성원 개인이 사용하거나, 혹은 구성원들이 공유하는 통신단말(921, 922)을 연결하는 교환기(920)가 구성원 노드에 대응할 수 있다. 이 경우, 교환기(920)에 비밀 키 및 대응 키 쌍이 저장된다.According to the embodiment of FIG. 9A, a communication terminal 910 used by an individual member may correspond to a member node. In this case, the secret key and the corresponding key pair are stored in the communication terminal 910. According to the embodiment of FIG. 9 (b), the exchange 920 connecting the communication terminals 921 and 922 used by the member individuals or shared by the members may correspond to the member nodes. In this case, the secret key and the corresponding key pair are stored in the exchange 920.

도 10은 소속 정보를 확인하는 주체에 관한 실시예들을 나타낸 도면이다.10 is a diagram illustrating embodiments of a subject confirming affiliation information.

도 10(a)의 실시예에 따르면, 앞서 설명되었던 것과 같이 구성원 노드(1010)는 통화 또는 메시지에 확인 정보를 첨부되어 수신 노드(1020)에 발신하며, 검색 API(1030)가 확인 정보에 기초하여 구성원 노드(1010)의 소속 정보를 확인한다.According to the embodiment of FIG. 10 (a), as described above, member node 1010 attaches confirmation information to a call or message and sends it to receiving node 1020, and search API 1030 is based on the confirmation information. Check membership information of the member node 1010.

도 10(b)의 실시예에 따르면, 앞서 설명되었던 것과 달리 구성원 노드(1050)는 확인 정보가 첨부되지 않은 일반 통화 또는 메시지를 수신 노드(1060)에 발신하며, 이와 별도로 서비스 서버(1070)에 확인 정보를 전달한다. 서비스 서버(1070)는 검색 API(1030)와 같이 확인 정보에 기초하여 구성원 노드(1050)의 소속 정보를 확인한다. 소속 정보는 수신 노드(1060)에 설치된 어플리케이션에 전달될 수 있고, 어플리케이션은 소속 정보를 수신자에게 제공할 수 있다. 그 밖에, 전술된 블록체인을 이용한 발신자 확인 방법이 도 10(b)의 실시예에 적용될 수 있다.According to the embodiment of FIG. 10 (b), unlike what has been described above, the member node 1050 sends a general call or message without confirmation information to the receiving node 1060, and separately to the service server 1070. Pass confirmation information. The service server 1070 checks the membership information of the member node 1050 based on the confirmation information, such as the search API 1030. The belonging information may be delivered to an application installed in the receiving node 1060, and the application may provide the belonging information to the receiver. In addition, the caller identification method using the above-described blockchain may be applied to the embodiment of FIG. 10 (b).

이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(Arithmetic Logic Unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(Field Programmable Gate Array), PLU(Programmable Logic Unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The apparatus described above may be implemented as a hardware component, a software component, and / or a combination of hardware components and software components. For example, the devices and components described in the embodiments are, for example, processors, controllers, Arithmetic Logic Units (ALUs), digital signal processors, microcomputers, field programmable gate arrays (FPGAs). Can be implemented using one or more general purpose or special purpose computers, such as a programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. The processing device may also access, store, manipulate, process and generate data in response to the execution of the software. For the convenience of understanding, a processing device may be described as one being used, but a person skilled in the art will appreciate that the processing device includes a plurality of processing elements and / or a plurality of types of processing elements. It can be seen that it may include. For example, the processing device may include a plurality of processors or one processor and one controller. In addition, other processing configurations are possible, such as parallel processors.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of the above, and configure the processing device to operate as desired, or process it independently or collectively. You can command the device. Software and / or data may be any type of machine, component, physical device, virtual equipment, computer storage medium or device in order to be interpreted by or to provide instructions or data to the processing device. Or may be permanently or temporarily embodied in a signal wave to be transmitted. The software may be distributed over networked computer systems so that they may be stored or executed in a distributed manner. Software and data may be stored on one or more computer readable recording media.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to the embodiment may be embodied in the form of program instructions that can be executed by various computer means and recorded in a computer readable medium. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the media may be those specially designed and constructed for the purposes of the embodiments, or they may be of the kind well-known and available to those having skill in the computer software arts. Examples of computer readable recording media include magnetic media such as hard disks, floppy disks and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks such as floppy disks. Magneto-optical media, and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like. The hardware device described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.Although the embodiments have been described by the limited embodiments and the drawings as described above, various modifications and variations are possible to those skilled in the art from the above description. For example, the described techniques may be performed in a different order than the described method, and / or components of the described systems, structures, devices, circuits, etc. may be combined or combined in a different form than the described method, or other components. Or even if replaced or substituted by equivalents, an appropriate result can be achieved.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are within the scope of the claims that follow.

Claims (11)

블록체인을 이용한 발신자 확인 방법에 있어서,
대표 노드에 의해 수행되는,
구성원 노드를 위한 인증 토큰 및 상기 구성원 노드의 주소를 획득하는 단계;
상기 인증 토큰 및 상기 구성원 노드의 주소를 상기 대표 노드의 비밀 키로 서명하여 대표 서명을 생성하는 단계;
상기 인증 토큰, 상기 구성원 노드의 주소, 상기 대표 서명 및 상기 대표 노드의 공개 키에 기초하여 상기 구성원 노드를 인증하는 인증 레코드를 생성하는 단계; 및
상기 인증 레코드를 블록체인 네트워크에 전파하는 단계
를 포함하는 발신자 확인 방법.
In the caller identification method using a blockchain,
Performed by the representative node,
Obtaining an authentication token for the member node and an address of the member node;
Signing the authentication token and the address of the member node with a secret key of the representative node to generate a representative signature;
Generating an authentication record authenticating the member node based on the authentication token, the address of the member node, the representative signature, and the public key of the representative node; And
Propagating the authentication record to a blockchain network
Caller identification method comprising a.
제1항에 있어서,
상기 구성원 노드에 의해 수행되는,
상기 인증 레코드의 해쉬 값 및 상기 구성원 노드의 주소를 상기 구성원 노드의 비밀 키로 서명하여 구성원 서명을 생성하는 단계;
상기 인증 레코드의 해쉬 값, 상기 구성원 노드의 주소, 상기 구성원 서명 및 상기 구성원 노드의 공개 키에 기초하여 상기 구성원 노드를 확인하는 확인 레코드를 생성하는 단계; 및
상기 확인 레코드를 상기 블록체인 네트워크에 전파하는 단계
를 더 포함하는 발신자 확인 방법.
The method of claim 1,
Performed by the member node,
Generating a member signature by signing the hash value of the authentication record and the address of the member node with the secret key of the member node;
Generating a confirmation record identifying the member node based on a hash value of the authentication record, the address of the member node, the member signature, and the public key of the member node; And
Propagating the confirmation record to the blockchain network
Sender verification method comprising more.
제1항에 있어서,
상기 구성원 노드에 의해 수행되는,
상기 구성원 노드의 식별정보 및 수신 노드의 식별 정보 중 적어도 하나를 상기 구성원 노드의 비밀 키로 서명하여 확인 서명을 생성하는 단계; 및
상기 구성원 노드의 주소 및 상기 확인 서명을 포함하는 확인 정보를 통화 혹은 메시지에 첨부하여 상기 수신 노드로 발신하는 단계
를 더 포함하는, 발신자 확인 방법.
The method of claim 1,
Performed by the member node,
Signing at least one of identification information of the member node and identification information of a receiving node with a secret key of the member node to generate a confirmation signature; And
Sending identification information including the address of the member node and the verification signature to the receiving node by attaching it to a call or a message;
Further comprising, caller identification method.
제3항에 있어서,
상기 수신 노드에 의해 수행되는,
상기 구성원 노드의 주소에 기초하여 상기 블록체인 네트워크에서 상기 인증 레코드의 해쉬 값을 획득하는 단계;
상기 인증 레코드의 해쉬 값을 이용하여 상기 블록체인 네트워크에서 상기 인증 레코드를 검색하는 단계; 및
상기 인증 레코드에 포함된 상기 대표 노드의 공개 키를 이용하여 상기 구성원 노드의 소속 정보를 결정하는 단계
를 더 포함하는, 발신자 확인 방법.
The method of claim 3,
Performed by the receiving node,
Obtaining a hash value of the authentication record in the blockchain network based on the address of the member node;
Retrieving the authentication record from the blockchain network using a hash value of the authentication record; And
Determining belonging information of the member node using the public key of the representative node included in the authentication record;
Further comprising, caller identification method.
제3항에 있어서,
상기 수신 노드에 의해 수행되는,
상기 구성원 노드의 식별정보 및 상기 수신 노드의 식별 정보 중 적어도 하나에 기초하여 제1 해쉬 값을 생성하는 단계;
상기 구성원 노드의 공개 키로 상기 확인 서명을 복호화한 데이터에 기초하여 제2 해쉬 값을 생성하는 단계; 및
상기 제1 해쉬 값 및 상기 제2 해쉬 값을 비교하여 상기 확인 서명을 검증하는 단계
를 더 포함하는, 발신자 확인 방법.
The method of claim 3,
Performed by the receiving node,
Generating a first hash value based on at least one of identification information of the member node and identification information of the receiving node;
Generating a second hash value based on data obtained by decrypting the verification signature with the public key of the member node; And
Verifying the verification signature by comparing the first hash value and the second hash value
Further comprising, caller identification method.
제1항에 있어서,
상기 구성원 노드에 의해 수행되는,
상기 구성원 노드의 식별정보, 및 수신 노드의 식별 정보 중 적어도 하나를 상기 구성원 노드의 비밀 키로 서명하여 확인 서명을 생성하는 단계;
상기 수신 노드로 통화 혹은 메시지를 발신하는 단계; 및
상기 구성원 노드의 주소 및 상기 확인 서명을 포함하는 확인 정보를 상기 구성원 노드의 소속을 확인하는 서비스 서버로 전달하는 단계
를 더 포함하는, 발신자 확인 방법.
The method of claim 1,
Performed by the member node,
Generating at least one of identification information of the member node and identification information of a receiving node with a secret key of the member node to generate a confirmation signature;
Sending a call or message to the receiving node; And
Delivering verification information including the address of the member node and the verification signature to a service server confirming belonging to the member node;
Further comprising, caller identification method.
블록체인을 이용한 수신 노드의 발신자 확인 방법에 있어서,
구성원 노드의 주소를 포함하는 확인 정보가 첨부된 통화 혹은 메시지를 상기 구성원 노드로부터 수신하는 단계;
상기 구성원 노드의 주소에 기초하여 블록체인 네트워크에서 상기 구성원 노드의 확인을 위해 상기 구성원 노드에 의해 전파된 확인 레코드를 검색하는 단계;
상기 확인 레코드에서 상기 구성원 노드의 인증을 위해 상기 구성원 노드가 속한 대표 노드에 의해 전파된 인증 레코드의 해쉬 값을 획득하는 단계;
상기 인증 레코드의 해쉬 값을 이용하여 상기 블록체인 네트워크에서 상기 인증 레코드를 검색하는 단계; 및
상기 인증 레코드에 포함된 상기 대표 노드의 공개 키를 이용하여 상기 구성원 노드의 소속 정보를 결정하는 단계
를 포함하는 발신자 확인 방법.
In the sender identification method of the receiving node using a blockchain,
Receiving from the member node a call or message with confirmation information including an address of the member node;
Retrieving a confirmation record propagated by the member node for identification of the member node in a blockchain network based on the address of the member node;
Obtaining a hash value of an authentication record propagated by the representative node to which the member node belongs for authentication of the member node in the confirmation record;
Retrieving the authentication record from the blockchain network using a hash value of the authentication record; And
Determining belonging information of the member node using the public key of the representative node included in the authentication record;
Caller identification method comprising a.
제7항에 있어서,
상기 인증 레코드는 상기 구성원 노드를 위한 인증 토큰, 상기 구성원 노드의 주소, 상기 인증 토큰 및 상기 구성원 노드의 주소를 상기 대표 노드의 비밀 키로 서명한 대표 서명, 및 상기 대표 노드의 공개 키를 포함하고,
상기 확인 레코드는 상기 인증 레코드의 해쉬 값, 상기 구성원 노드의 주소, 상기 인증 레코드의 해쉬 값 및 상기 구성원 노드의 주소를 상기 구성원 노드의 비밀 키로 서명한 구성원 서명, 및 상기 구성원 노드의 공개 키를 포함하는,
발신자 확인 방법.
The method of claim 7, wherein
The authentication record includes an authentication token for the member node, an address of the member node, a representative signature that signed the authentication token and the address of the member node with a secret key of the representative node, and a public key of the representative node,
The verification record includes a hash value of the authentication record, an address of the member node, a hash value of the authentication record, and a member signature that signs the address of the member node with the secret key of the member node, and a public key of the member node. doing,
How to verify the caller.
제7항에 있어서,
상기 확인 정보는
상기 구성원 노드가 상기 구성원 노드의 식별정보 및 상기 수신 노드의 식별 정보 중 적어도 하나를 상기 구성원 노드의 비밀 키로 서명한 확인 서명을 더 포함하는, 발신자 확인 방법.
The method of claim 7, wherein
The confirmation information is
And a verification signature in which the member node signs at least one of identification information of the member node and identification information of the receiving node with a secret key of the member node.
제9항에 있어서,
상기 구성원 노드의 식별정보 및 상기 수신 노드의 식별 정보 중 적어도 하나에 기초하여 제1 해쉬 값을 생성하는 단계;
상기 구성원 노드의 공개 키로 상기 확인 서명을 복호화한 데이터에 기초하여 제2 해쉬 값을 생성하는 단계; 및
상기 제1 해쉬 값 및 상기 제2 해쉬 값을 비교하여 상기 확인 서명을 검증하는 단계
를 더 포함하는, 발신자 확인 방법.
The method of claim 9,
Generating a first hash value based on at least one of identification information of the member node and identification information of the receiving node;
Generating a second hash value based on data obtained by decrypting the verification signature with the public key of the member node; And
Verifying the verification signature by comparing the first hash value and the second hash value
Further comprising, caller identification method.
블록체인을 이용한 서비스 서버의 발신자 확인 방법에 있어서,
구성원 노드에 의해 수신 노드로 통화 또는 메시지가 송신됨에 따라, 상기 구성원 노드로부터 상기 구성원 노드의 주소를 포함하는 확인 정보를 수신하는 단계;
상기 구성원 노드의 주소에 기초하여 블록체인 네트워크에서 상기 구성원 노드의 확인을 위해 상기 구성원 노드에 의해 전파된 확인 레코드를 검색하는 단계;
상기 확인 레코드에서 상기 구성원 노드의 인증을 위해 상기 구성원 노드가 속한 대표 노드에 의해 전파된 인증 레코드의 해쉬 값을 획득하는 단계;
상기 인증 레코드의 해쉬 값을 이용하여 상기 블록체인 네트워크에서 상기 인증 레코드를 검색하는 단계;
상기 인증 레코드에 포함된 상기 대표 노드의 공개 키를 이용하여 상기 구성원 노드의 소속 정보를 결정하는 단계; 및
상기 수신 노드로 상기 소속 정보를 전달하는 단계
를 포함하는 발신자 확인 방법.
In the caller identification method of the service server using a blockchain,
As a call or message is sent by the member node to the receiving node, receiving confirmation information including the address of the member node from the member node;
Retrieving a confirmation record propagated by the member node for identification of the member node in a blockchain network based on the address of the member node;
Obtaining a hash value of an authentication record propagated by the representative node to which the member node belongs for authentication of the member node in the confirmation record;
Retrieving the authentication record from the blockchain network using a hash value of the authentication record;
Determining belonging information of the member node using the public key of the representative node included in the authentication record; And
Transmitting the belonging information to the receiving node;
Caller identification method comprising a.
KR1020180037541A 2018-03-30 2018-03-30 Method, apparatus and system for identifying caller using blockchain KR102054581B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180037541A KR102054581B1 (en) 2018-03-30 2018-03-30 Method, apparatus and system for identifying caller using blockchain

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180037541A KR102054581B1 (en) 2018-03-30 2018-03-30 Method, apparatus and system for identifying caller using blockchain

Publications (2)

Publication Number Publication Date
KR20190114597A true KR20190114597A (en) 2019-10-10
KR102054581B1 KR102054581B1 (en) 2019-12-12

Family

ID=68206515

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180037541A KR102054581B1 (en) 2018-03-30 2018-03-30 Method, apparatus and system for identifying caller using blockchain

Country Status (1)

Country Link
KR (1) KR102054581B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210092028A (en) * 2020-01-15 2021-07-23 성기운 Communication node, method of operating thereof and collaborative system
KR20230018710A (en) 2021-07-30 2023-02-07 주식회사 비비도 Intensive therapy device and beauty device set including the same
WO2024005565A1 (en) * 2022-06-29 2024-01-04 주식회사 호패 Method, system, and non-transitory computer-readable recording medium for providing messenger service

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102522981B1 (en) * 2020-11-16 2023-04-18 포항공과대학교 산학협력단 Blockchain-based Smishing Prevention method and apparatus thereof

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101575030B1 (en) * 2014-07-11 2015-12-07 조선대학교산학협력단 Method of multi-signature generation for shared data in the cloud
KR20160114749A (en) * 2015-02-25 2016-10-06 이진희 Dealing method of Crypto-currency base on Blockchain System
KR101799343B1 (en) * 2016-05-16 2017-11-22 주식회사 코인플러그 Method for using, revoking certificate information and blockchain-based server using the same
KR101837166B1 (en) * 2016-10-26 2018-03-09 주식회사 코인플러그 Method for issuing and paying money using updated status of balance database by respective blocks in blockchain, and server using the same

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101575030B1 (en) * 2014-07-11 2015-12-07 조선대학교산학협력단 Method of multi-signature generation for shared data in the cloud
KR20160114749A (en) * 2015-02-25 2016-10-06 이진희 Dealing method of Crypto-currency base on Blockchain System
KR101799343B1 (en) * 2016-05-16 2017-11-22 주식회사 코인플러그 Method for using, revoking certificate information and blockchain-based server using the same
KR101837166B1 (en) * 2016-10-26 2018-03-09 주식회사 코인플러그 Method for issuing and paying money using updated status of balance database by respective blocks in blockchain, and server using the same

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210092028A (en) * 2020-01-15 2021-07-23 성기운 Communication node, method of operating thereof and collaborative system
KR20230018710A (en) 2021-07-30 2023-02-07 주식회사 비비도 Intensive therapy device and beauty device set including the same
WO2024005565A1 (en) * 2022-06-29 2024-01-04 주식회사 호패 Method, system, and non-transitory computer-readable recording medium for providing messenger service

Also Published As

Publication number Publication date
KR102054581B1 (en) 2019-12-12

Similar Documents

Publication Publication Date Title
US11496312B2 (en) Collecting surveys with secure identities via a blockchain
US10708060B2 (en) System and method for blockchain-based notification
US11025435B2 (en) System and method for blockchain-based cross-entity authentication
US11533164B2 (en) System and method for blockchain-based cross-entity authentication
TWI720727B (en) Computer-implemented method for managing sensitive data elements that are stored in a blockchain network, apparatus and system for managing sensitive data elements stored in a blockchain network
KR102054581B1 (en) Method, apparatus and system for identifying caller using blockchain
US20210264000A1 (en) Blockchain based associate information and licensing
EP3814948A1 (en) System and method for blockchain-based cross-entity authentication
US20210390558A1 (en) Smart logistics management using blockchain
EP3593515B1 (en) Managing housing scores using smart contracts in blockchain networks
CN110555029A (en) ticket management method and device based on block chain and storage medium
CN113544722A (en) Method for using block chain
JP2020526052A (en) Product promotion using smart contracts within the blockchain network
KR102227578B1 (en) Method for serving certificate based on zero knowledge proof by using blockchain network, and server and terminal for using them
CN111416709B (en) Voting method, device, equipment and storage medium based on block chain system
Perez et al. Improving end-to-end verifiable voting systems with blockchain technologies
CN112600830B (en) Service data processing method and device, electronic equipment and storage medium
US11283623B1 (en) Systems and methods of using group functions certificate extension
KR20210004842A (en) Method for providing virtual asset service based on dicentralized identity and virtual asset service providing server using them
Saramago et al. A privacy-preserving and transparent certification system for digital credentials
Kumar et al. Preserving Location Data Integrity in Location Based Servers using Blockchain Technology
Kagona BLOCKCHAIN BASED ELECTRONIC VOTING PROTOCOL
Liu Improving the security and reliability of application systems with blockchain technology
JP2023019673A (en) Electronic contract method, electronic contract system, and program
Sangeetha et al. Secure and transparent electronic voting system using blockchain

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right