KR102400402B1 - Authentication Data Feed for Smart Contract using Public Key Infrastructure - Google Patents

Authentication Data Feed for Smart Contract using Public Key Infrastructure Download PDF

Info

Publication number
KR102400402B1
KR102400402B1 KR1020200154224A KR20200154224A KR102400402B1 KR 102400402 B1 KR102400402 B1 KR 102400402B1 KR 1020200154224 A KR1020200154224 A KR 1020200154224A KR 20200154224 A KR20200154224 A KR 20200154224A KR 102400402 B1 KR102400402 B1 KR 102400402B1
Authority
KR
South Korea
Prior art keywords
data
smart contract
certificate
data source
oracle
Prior art date
Application number
KR1020200154224A
Other languages
Korean (ko)
Other versions
KR20210060356A (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 충남대학교 산학협력단
Publication of KR20210060356A publication Critical patent/KR20210060356A/en
Application granted granted Critical
Publication of KR102400402B1 publication Critical patent/KR102400402B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • 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/3247Cryptographic 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 digital signatures
    • 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/3265Cryptographic 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 chains, trees or paths; Hierarchical trust model
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash

Abstract

본 발명은 공개키 인프라 구조를 이용한 스마트 컨트랙트의 인증된 데이터 피드 방법에 관한 것으로서, 데이터 요청자(Data Requester)가 스마트 컨트랙트(Smart Contract)의 데이터 소스(Data Source) 목록을 색인하고, 오라클로 데이터를 요청하는 (a) 단계; 오라클이 스마트 컨트랙트(Smart Contract)를 색인하여 데이터 소스(Data Source)의 주소 및 데이터 타입과 대응하는 데이터 소스(Data Source)로 데이터를 요청하는 (b) 단계; 데이터 소스(Data Source)가 오라클로 피드백하는 응답에 인증서를 서명하여 응답하는 (c) 단계; 오라클이 서명된 데이터에 대한 트랜잭션을 작성하여 스마트 컨트랙트로 보고하는 (d) 단계; 스마트 컨트랙트가 등록된 인증서 체인 컨트랙트(Certificate Chain Contract)를 호출하여 데이터 소스(Data Source)의 서명을 검증하는 (e) 단계; 및 스마트 컨트랙트가 서명이 검증된 경우, 검증 결과를 데이터 요청자(Data Requester)로 반환하는 (f) 단계를 포함한다.The present invention relates to an authenticated data feed method of a smart contract using a public key infrastructure, wherein a data requester indexes a list of data sources of a smart contract, and sends data to an oracle (a) making a request; (b) step of Oracle indexing the smart contract and requesting data from the data source corresponding to the address and data type of the data source; (c) responding by signing the certificate to the response that the data source feeds back to the Oracle; (d) the oracle creates a transaction for the signed data and reports it to the smart contract; (e) verifying the signature of the data source by calling the smart contract registered Certificate Chain Contract; and (f) returning a verification result to a data requester when the smart contract signature is verified.

Description

공개키 인프라 구조를 이용한 스마트 컨트랙트의 인증된 데이터 피드 방법{Authentication Data Feed for Smart Contract using Public Key Infrastructure}Authentication Data Feed for Smart Contract using Public Key Infrastructure

본 발명은 공개키 인프라 구조를 이용한 스마트 컨트랙트의 인증된 데이터 피드 방법에 관한 것으로 더욱 상세하게는, TLS(Transport Layer Security) 프로토콜을 수정하지 않으면서 제3자에게 출처 인증을 검증시킴으로써, 오라클이 전달한 데이터가 위변조 되지 않았음을 증명하는 기술에 관한 것이다.The present invention relates to an authenticated data feed method of a smart contract using a public key infrastructure, and more particularly, by verifying the source authentication to a third party without modifying the TLS (Transport Layer Security) protocol, It is about technology that proves that data has not been forged.

스마트 컨트랙트는 블록체인에서 동작하는 프로그램으로 다양한 분야에서 활용될 수 있다. 블록체인에서 구현되는 합의는 내부 시스템에서 검증되어야 하는 요소(예를 들어 계정의 잔액)에 대해서만 검증이 이루어지기 때문에 외부 세계(Off-chain)의 데이터에 대한 연결은 신뢰할 수 없다.A smart contract is a program that operates on a blockchain and can be used in various fields. Since consensus implemented in the blockchain is verified only for elements that need to be verified in the internal system (for example, account balances), the connection to data from the outside world (off-chain) is unreliable.

블록체인 외부에서 발생한 일련의 데이터를 내부로 전달해주는 역할을 오라클이라고 하며, 이 오라클은 외부 데이터에 대한 신뢰성이 확보되어야 한다. 신뢰성을 이루는 여러 가지 요소 중에 외부 데이터의 출처에 대한 인증이 포함된다.The role of delivering a series of data generated outside the block chain to the inside is called an oracle, and reliability of external data must be secured for this oracle. Among the many factors that constitute credibility, authentication of the source of external data is included.

오라클은 URL로 관리되는 외부 웹사이트와 HTTPS 통신으로 접근하여, JSON 또는 XML 타입으로 정의된 데이터를 파싱하여 요청된 부분만을 스마트 컨트랙트로 전달하는 역할을 수행한다. 하지만, 현재 인터넷을 구성하는 웹 프로토콜인 HTTPS를 지원하는 TLS 프로토콜은 제3자(스마트 컨트랙트)에 대한 증명을 위한 인증 기법을 제공하지 않는다.Oracle accesses an external website managed by URL through HTTPS communication, parses the data defined in JSON or XML type, and delivers only the requested part to the smart contract. However, the TLS protocol supporting HTTPS, which is the web protocol constituting the current Internet, does not provide an authentication method for proof to a third party (smart contract).

TLS는 handshake 과정에서 개인키를 통신 주체가 보유하고 있지만, HTTPS는 쌍방의 통신과정에서 기밀성을 유지하기 위한 목적으로 활용되고 있다. 따라서, 이를 해결하기 위한 방법으로 제안된 'TLS-N' 프로토콜은, 제3자에게 인증을 위해서는 TLS 프로토콜의 수정이 필요하다.In TLS, the communication subject holds the private key in the handshake process, but HTTPS is used for the purpose of maintaining confidentiality in the communication process of both parties. Therefore, the 'TLS-N' protocol proposed as a method to solve this problem requires modification of the TLS protocol for authentication to a third party.

이에 본 출원인은 TLS 프로토콜을 수정하지 않으면서 제3자에게 출처 인증을 검증시킴으로써, 오라클이 전달한 데이터가 위변조 되지 않았음을 증명하는 방법을 제안한다. 또 이를 위해서 네트워크 스택에서 TLS 계층이 아닌 어플리케이션 계층의 공개키 인프라구조를 활용하였다.Accordingly, the present applicant proposes a method to prove that the data transmitted by Oracle is not forged or forged by verifying the source authentication to a third party without modifying the TLS protocol. In addition, for this, the public key infrastructure of the application layer rather than the TLS layer was used in the network stack.

한국공개특허 제10-2017-0041729호(2017.04.17)Korean Patent Publication No. 10-2017-0041729 (2017.04.17)

본 발명의 목적은, 네트워크 스택에서 어플리케이션 계층의 공개키 인프라 구조를 활용하여 제3자에게 출처 인증을 검증시킴으로써, 별도의 하드웨어를 구성하지 않고, TLS 프로토콜을 수정하지 않으면서 오라클이 전달한 데이터가 위변조 되지 않았음을 증명하는데 있다.It is an object of the present invention to verify the source authentication to a third party by utilizing the public key infrastructure of the application layer in the network stack, so that the data transmitted by Oracle is forged or forged without configuring separate hardware and without modifying the TLS protocol. to prove that it didn't happen.

본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있고 아래의 기재로부터 당업자에게 명확하게 이해되어질 수 있을 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.The objects of the present invention are not limited to the objects mentioned above, and other objects and advantages of the present invention not mentioned can be understood by the following description and will be clearly understood by those skilled in the art from the following description. It will also be readily apparent that the objects and advantages of the present invention may be realized by the means and combinations thereof indicated in the appended claims.

이러한 기술적 과제를 달성하기 위한 본 발명의 공개키 인프라 구조를 이용한 스마트 컨트랙트의 인증된 데이터 피드 방법은, 데이터 요청자(Data Requester)가 스마트 컨트랙트(Smart Contract)의 데이터 소스(Data Source) 목록을 색인하고, 오라클로 데이터를 요청하는 (a) 단계; 오라클이 스마트 컨트랙트를 색인하여 데이터 소스(Data Source)의 주소 및 데이터 타입과 대응하는 데이터 소스(Data Source)로 데이터를 요청하는 (b) 단계; 데이터 소스(Data Source)가 오라클로 피드백하는 응답에 인증서를 서명하여 응답하는 (c) 단계; 오라클이 서명된 데이터에 대한 트랜잭션을 작성하여 스마트 컨트랙트로 보고하는 (d) 단계; 스마트 컨트랙트가 등록된 인증서 체인 컨트랙트(Certificate Chain Contract)를 호출하여 데이터 소스(Data Source)의 서명을 검증하는 (e) 단계; 및 스마트 컨트랙트가 서명이 검증된 경우, 검증 결과를 데이터 요청자(Data Requester)로 반환하는 (f) 단계를 포함하는 것을 특징으로 한다.The authenticated data feed method of a smart contract using the public key infrastructure of the present invention for achieving this technical task is that a data requester indexes a list of data sources of a smart contract and , (a) requesting data to Oracle; (b) the oracle indexes the smart contract and requests data from the data source corresponding to the address and data type of the data source; (c) responding by signing the certificate to the response that the data source feeds back to the Oracle; (d) the oracle creates a transaction for the signed data and reports it to the smart contract; (e) verifying the signature of the data source by calling the smart contract registered Certificate Chain Contract; and (f) returning a verification result to a data requester when the smart contract signature is verified.

바람직하게는, (a) 단계 이전에 데이터 소스(Data Source)가 데이터 제공자로의 기능을 수행하기 위한 인증서 발급을 요청하는 (g) 단계; PKI 서버가 기존의 Root CA로부터 하위 계층의 CA로 구성된 인증서 체인(Certificate Chain)에 데이터 소스(Data Source)의 인증서를 추가하여 서명된 인증서를 발급하는 (h) 단계; 인증서 체인(Certificate Chain)이 업데이트를 위해 추가된 데이터 소스(Data Source)의 인증서를 등록하는 (i) 단계; 데이터 소스(Data Source)가 발급된 인증서의 체인(Chain)과 블록체인에 기 저장된 인증서 체인 컨트랙트(Certificate Chain Contract)와 비교하여 발급 사실을 확인하는 (j) 단계; 및 스마트 컨트랙트가 인증된 데이터 소스(Data Source) 목록에 발급된 인증서를 추가하여 관리하는 (k) 단계를 포함하는 것을 특징으로 한다.Preferably, before step (a), the data source (Data Source) requests the issuance of a certificate for performing a function as a data provider (g); (h) step of the PKI server issuing a signed certificate by adding the certificate of the data source to the certificate chain (Certificate Chain) composed of the lower-level CA from the existing Root CA; (i) registering the certificate of the data source added for the certificate chain (Certificate Chain) update; (j) step of confirming the issue by comparing the data source with the issued certificate chain and the certificate chain contract pre-stored in the block chain; and (k) managing the smart contract by adding the issued certificate to the certified data source list.

(c) 단계는 데이터 소스(Data Source)가 개인키로 인증서를 서명하는 것을 특징으로 하는 것을 특징으로 한다.Step (c) is characterized in that the data source (Data Source) signs the certificate with a private key.

(e) 단계는 스마트 컨트랙트가 공개키를 통해 데이터 소스(Data Source)의 서명을 검증하는 것을 특징으로 한다.Step (e) is characterized in that the smart contract verifies the signature of the data source through the public key.

상기와 같은 본 발명에 따르면, 네트워크 스택에서 어플리케이션 계층의 공개키 인프라 구조를 활용하여 제3자에게 출처 인증을 검증시킴으로써, 별도의 하드웨어를 구성하지 않고, TLS 프로토콜을 수정하지 않으면서 오라클이 전달한 데이터가 위변조 되지 않았음을 증명하는 효과가 있다.According to the present invention as described above, by verifying the source authentication to a third party by utilizing the public key infrastructure of the application layer in the network stack, data transmitted by Oracle without configuring separate hardware and without modifying the TLS protocol It has the effect of proving that is not forged.

이에 따라 블록체인에서 생성되지 않는 암호 화폐 시장 가격, 환율, 주식 시장과 같은 외부 정보에 대해서, 오라클이 검증된 사이트로부터 인증된 데이터 보고가 가능한 효과가 있다.Accordingly, for external information such as cryptocurrency market price, exchange rate, and stock market that is not created in the block chain, it is possible to report data authenticated by Oracle from a verified site.

또한, 블록체인 외부의 기기(IoT 등), 이체 내역, 경기 결과 등과 같은 외부 발생 이벤트에 대한 데이터 피드에 대해 신뢰성을 제공하는 효과가 있다.In addition, it has the effect of providing reliability for data feeds for external events such as devices outside the blockchain (IoT, etc.), transfer history, and match results.

그리고, 이름, 주민번호, 주거 지역, 자격 현황, 직업 현황, 자산 현황 등의 내용을 발급하는 데이터 소스(Data Source)로부터 인증된 데이터를 블록체인 내부로 유입하는 효과가 있다.In addition, there is an effect of introducing the authenticated data from the data source that issues the name, resident number, residential area, qualification status, job status, asset status, etc. into the block chain.

도 1은 본 발명의 일 실시예에 따른 공개키 인프라 구조를 이용한 스마트 컨트랙트의 인증된 데이터 피드 방법에 대한 PKI 기반 인증과 데이터 피드 절차를 도시한 블록도.
도 2는 본 발명의 일 실시예에 따른 공개키 인프라 구조를 이용한 스마트 컨트랙트의 인증된 데이터 피드 방법에 대한 인증서 발급 및 등록 절차를 도시한 순서도.
도 3은 본 발명의 일 실시예에 따른 공개키 인프라 구조를 이용한 스마트 컨트랙트의 인증된 데이터 피드 방법을 도시한 순서도.
1 is a block diagram illustrating a PKI-based authentication and data feed procedure for an authenticated data feed method of a smart contract using a public key infrastructure according to an embodiment of the present invention.
2 is a flowchart illustrating a certificate issuance and registration procedure for an authenticated data feed method of a smart contract using a public key infrastructure according to an embodiment of the present invention.
3 is a flowchart illustrating an authenticated data feed method of a smart contract using a public key infrastructure according to an embodiment of the present invention.

본 발명의 구체적인 특징 및 이점들은 첨부도면에 의거한 다음의 상세한 설명으로 더욱 명백해질 것이다. 이에 앞서, 본 명세서 및 청구범위에 사용된 용어나 단어는 발명자가 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념을 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야 할 것이다. 또한, 본 발명에 관련된 공지 기능 및 그 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는, 그 구체적인 설명을 생략하였음에 유의해야 할 것이다.The specific features and advantages of the present invention will become more apparent from the following detailed description taken in conjunction with the accompanying drawings. Prior to this, the terms or words used in the present specification and claims are based on the principle that the inventor can appropriately define the concept of the term in order to describe his invention in the best way, based on the technical idea of the present invention. It should be interpreted as a corresponding meaning and concept. In addition, it should be noted that, when it is determined that the detailed description of the well-known functions related to the present invention and its configuration may unnecessarily obscure the gist of the present invention, the detailed description thereof is omitted.

도 1은 본 발명의 일 실시예에 따른 오라클 환경의 구성을 도시한 도면으로, 데이터 요청자(Data Requester)는 DAPP(Decentralized Application)과 같은 서비스의 일부로, 오라클을 구동시키는 출발점이자 데이터의 최종 목적지이다.1 is a diagram showing the configuration of an Oracle environment according to an embodiment of the present invention. A data requester is a part of a service such as a DAPP (Decentralized Application), which is a starting point for driving an Oracle and a final destination of data. .

스마트 컨트랙트(Smart Contract, SC)는 오라클의 모니터링 대상으로 데이터 요청자(Data Requester)에게 요청을 받고, 오라클로부터 수신한 데이터를 반환하기 위해 존재한다.A smart contract (SC) exists to receive a request from a data requester and return the data received from the oracle as a monitoring target of the oracle.

오라클은 블록체인에서 생성할 수 없는 데이터를 데이터 소스(Data Source)로 요청하여 스마트 컨트랙트로 전송하는 기능을 수행하고, 데이터 소스(Data Source)는 실제 데이터를 보유하고 있는 웹서버와 동일한 형태로 구성된다.Oracle performs the function of requesting data that cannot be generated in the block chain to the data source and transmitting it to the smart contract, and the data source is configured in the same form as the web server that holds the actual data. do.

본 발명의 일 실시예는 일반적인 오라클 환경에서 공개키 인프라 구조 적용(Application Public Key Infrastructure)를 추가하여 도 1에 도시된 바와 같이 구성하였다. 데이터 요청자가 스마트 컨트랙트(Smart Contract)로 데이터를 요청한 것에 대해 오라클이 데이터 소스(Data Source)로 요청을 보내는 프로세스는 종래와 동일하다.An embodiment of the present invention is configured as shown in FIG. 1 by adding an Application Public Key Infrastructure in a general Oracle environment. In response to a data requester requesting data through a smart contract, the process in which Oracle sends a request to a data source is the same as before.

하지만, 사전 작업으로 데이터 소스가 PKI 서버로부터 인증서를 발급 받아야 한다. 추가로 인증서로 서명한 응답(response)에 대해서 제3자에 해당하는 스마트 컨트랙트(Smart Contract)에서 자동으로 공개키에 대해 서명할 수 있도록 블록체인 상에 인증서 체인(Certificate Chain)에 등록이 되어야 한다.However, as a preliminary work, the data source must obtain a certificate from the PKI server. In addition, for the response signed with the certificate, it must be registered in the Certificate Chain on the blockchain so that the public key can be automatically signed by the smart contract corresponding to the third party. .

이하, 도 1 및 도 2를 참조하여 본 발명의 일 실시예에 따른 공개키 인프라 구조를 이용한 스마트 컨트랙트의 인증된 데이터 피드 방법의 인증서 발급 및 등록 절차에 대해 살피면 아래와 같다.Hereinafter, with reference to FIGS. 1 and 2, the certificate issuance and registration procedure of the method for feeding authenticated data of a smart contract using a public key infrastructure according to an embodiment of the present invention will be described as follows.

먼저, 데이터 소스(Data Source)가 데이터 제공자로의 기능을 수행하기 위한 인증서 발급을 요청한다(S202).First, the data source requests the issuance of a certificate for performing a function as a data provider (S202).

이어서, PKI 서버가 기존의 Root CA로부터 하위 계층의 CA로 구성된 인증서 체인(Certificate Chain)에 데이터 소스(Data Source)의 인증서를 추가하여 서명된 인증서를 발급한다(S204). (도 1의 1. 인증서 발급(Issue Certificate))Next, the PKI server issues a signed certificate by adding the certificate of the data source to the certificate chain composed of the CA of the lower layer from the existing root CA (S204). (1. Certificate Issuance of Fig. 1 (Issue Certificate))

뒤이어, 인증서 체인(Certificate Chain)이 업데이트를 위해 추가된 데이터 소스(Data Source)의 인증서를 등록한다(S206). (도 1의 2. 등록(Register))Subsequently, the certificate chain registers the certificate of the data source added for update (S206). (2. Register in Fig. 1)

이어서, 데이터 소스(Data Source)가 발급된 인증서의 Chain과 블록체인에 기 저장된 인증서 체인 컨트랙트(Certificate Chain Contract)와 비교하여 발급 사실을 확인한다(S208).Next, the data source confirms the issue by comparing the issued certificate chain with the certificate chain contract pre-stored in the block chain (S208).

그리고, 스마트 컨트랙트(Smart Contract)가 인증된 데이터 소스(Data Source) 목록에 발급된 인증서를 추가하여 관리한다(S210). 이후, 데이터 요청자가 데이터 소스(Data Source)를 대상으로 오라클에게 데이터를 요청할 수 있다.Then, the smart contract (Smart Contract) is managed by adding the issued certificate to the authenticated data source (Data Source) list (S210). Thereafter, the data requester may request data from the Oracle for the data source.

이하, 도 1 및 도 3을 참조하여 본 발명의 일 실시예에 따른 공개키 인프라 구조를 이용한 스마트 컨트랙트의 인증된 데이터 피드 방법의 오라클 인증된 데이터 피드 절차에 대해 살피면 아래와 같다.Hereinafter, with reference to FIGS. 1 and 3, the Oracle-certified data feed procedure of the smart contract authenticated data feed method using the public key infrastructure according to an embodiment of the present invention will be described as follows.

먼저, 데이터 요청자(Data Requester)가 스마트 컨트랙트(Smart Contract)의 데이터 소스(Data Source) 목록을 색인하고, 오라클로 데이터를 요청한다(S302).First, a data requester indexes a list of data sources of a smart contract, and requests data to the oracle (S302).

이어서, 오라클이 스마트 컨트랙트(Smart Contract)를 색인하여 데이터 소스(Data Source)의 주소(URL 등) 및 데이터 타입과 대응하는 데이터 소스(Data Source)로 데이터를 요청한다(S304). (도 1의 3. 요청(Request))Next, the Oracle indexes the smart contract and requests data to the data source corresponding to the address (URL, etc.) of the data source and the data type (S304). (3. Request in Fig. 1)

뒤이어, 데이터 소스(Data Source)가 오라클로 피드백하는 응답에 인증서의 개인키(sk)로 서명하여 응답한다(S306). (도 1의 4. 응답(Response))Subsequently, the data source responds by signing with the private key (sk) of the certificate to the response fed back to the Oracle (S306). (4. Response in Fig. 1)

이어서, 오라클이 서명된 데이터에 대한 트랜잭션을 작성하여 스마트 컨트랙트(Smart Contract)로 보고한다(S308). (도 1의 5. 보고(Report))Next, the oracle creates a transaction for the signed data and reports it as a smart contract (S308). (5. Report of Fig. 1)

뒤이어, 스마트 컨트랙트가 등록된 인증서 체인 컨트랙트(Certificate Chain Contract)를 호출하여 데이터 소스(Data Source)의 서명을 검증한다(S310). 이때 검증은 공개키(pk)와 인증서 체인(Certificate Chain)을 확인하여 이루어진다. (도 1의 6. 인증서 검증(Verify Certificate))Subsequently, the smart contract calls the registered certificate chain contract to verify the signature of the data source (S310). At this time, verification is performed by checking the public key (pk) and the certificate chain (Certificate Chain). (6. Verify Certificate in Fig. 1)

그리고, 스마트 컨트랙트(Smart Contract)가 서명이 검증된 경우, 검증 결과를 데이터 요청자(Data Requester)로 반환한다(S312). (도 1의 7. 반환(Return))And, when the signature of the smart contract is verified, the verification result is returned to the data requester (S312). (7. Return in Fig. 1)

이처럼 전술한 바와 같은 본 발명의 일 실시예에 의하면, 네트워크 스택에서 어플리케이션 계층의 공개키 인프라 구조를 활용하여 제3자에게 출처 인증을 검증시킴으로써, 별도의 하드웨어를 구성하지 않고, TLS 프로토콜을 수정하지 않으면서 오라클이 전달한 데이터가 위변조 되지 않았음을 증명하는 효과가 있다.As described above, according to an embodiment of the present invention as described above, by verifying the source authentication to a third party by utilizing the public key infrastructure of the application layer in the network stack, separate hardware is not configured and the TLS protocol is not modified. It has the effect of proving that the data transmitted by Oracle has not been forged or falsified.

아울러, 종래의 경우 TEE를 활용한 오라클 솔루션으로 외부 정보에 대한 인증 대신에, 오라클이 위변조 하지 않았다는 사실을 TEE 내에서 증명함에 따라, Intel SGX와 같은 별도의 하드웨어를 필수적으로 보유해야만 했으나, 본 발명의 일 실시예에 의하면 하드웨어에 의존적이지 않다는 장점이 있다.In addition, in the case of the conventional Oracle solution using TEE, instead of authenticating external information, as it proves within the TEE that Oracle has not forged or falsified, it was necessary to have separate hardware such as Intel SGX, but the present invention According to an embodiment of , there is an advantage that it is not dependent on hardware.

그리고, 하드웨어를 사용하지 않고 오라클과 데이터 소스(Data Source)간의 TLS 통신 기록 단위(record)에 대해 순서대로 서명한 후, 오라클은 서명된 데이터를 스마트 컨트랙스로 제출하는 종래의 TLS-N 기법의 경우, TLS 프로토콜의 수정이 불가피하나, 본 발명의 일 실시예에 의하면 인증서 발급 및 등록과 오라클의 인증된 데이터 피드에 대한 일련의 절차를 TLS 계층이 아닌 Application 계층에서 수행함으로써, TLS 프로토콜을 수정하지 않아도 되는 장점이 있다.And, after signing the TLS communication record unit (record) between the Oracle and the data source in order without using hardware, the Oracle submits the signed data to the smart contract. In this case, modification of the TLS protocol is inevitable, but according to an embodiment of the present invention, the TLS protocol is not modified by performing a series of procedures for certificate issuance and registration and Oracle's authenticated data feed at the Application layer, not the TLS layer. The advantage is that you don't have to.

이상으로 본 발명의 기술적 사상을 예시하기 위한 바람직한 실시예와 관련하여 설명하고 도시하였지만, 본 발명은 이와 같이 도시되고 설명된 그대로의 구성 및 작용에만 국한되는 것이 아니며, 기술적 사상의 범주를 일탈함이 없이 본 발명에 대해 다수의 변경 및 수정이 가능함을 당업자들은 잘 이해할 수 있을 것이다. 따라서 그러한 모든 적절한 변경 및 수정과 균등 물들도 본 발명의 범위에 속하는 것으로 간주되어야 할 것이다.Although the above has been described and illustrated in relation to a preferred embodiment for illustrating the technical idea of the present invention, the present invention is not limited to the configuration and operation as shown and described as such, and deviates from the scope of the technical idea. It will be apparent to those skilled in the art that many changes and modifications may be made to the present invention without reference to the invention. Accordingly, all such suitable alterations and modifications and equivalents are to be regarded as being within the scope of the present invention.

Claims (4)

(a) 데이터 요청자(Data Requester)가 스마트 컨트랙트(Smart Contract)의 데이터 소스(Data Source) 목록을 색인하고, 오라클로 데이터를 요청하는 단계;
(b) 오라클이 스마트 컨트랙트(Smart Contract)를 색인하여 데이터 소스(Data Source)의 주소 및 데이터 타입과 대응하는 데이터 소스(Data Source)로 데이터를 요청하는 단계;
(c) 데이터 소스(Data Source)가 오라클로 피드백하는 응답에 인증서를 서명하여 응답하는 단계;
(d) 오라클이 서명된 데이터에 대한 트랜잭션을 작성하여 스마트 컨트랙트로 보고하는 단계;
(e) 스마트 컨트랙트가 등록된 인증서 체인 컨트랙트(Certificate Chain Contract)를 호출하여 데이터 소스(Data Source)의 서명을 검증하는 단계; 및
(f) 스마트 컨트랙트가 서명이 검증된 경우, 검증 결과를 데이터 요청자(Data Requester)로 반환하는 단계를
포함하는 것을 특징으로 하는 공개키 인프라 구조를 이용한 스마트 컨트랙트의 인증된 데이터 피드 방법.
(a) the data requester (Data Requester) indexing the list of data sources (Data Source) of the smart contract, and requesting data to the Oracle;
(b) the Oracle indexing the smart contract and requesting data from the data source corresponding to the address and data type of the data source;
(c) responding by signing the certificate to the response fed back to the Oracle by the data source;
(d) the oracle creates a transaction for the signed data and reports it to the smart contract;
(e) verifying the signature of the data source by calling a certificate chain contract in which the smart contract is registered; and
(f) when the smart contract signature is verified, returning the verification result to the data requester;
An authenticated data feed method of a smart contract using a public key infrastructure, comprising:
제1항에 있어서,
상기 (a) 단계 이전에,
(g) 데이터 소스(Data Source)가 데이터 제공자로의 기능을 수행하기 위한 인증서 발급을 요청하는 단계;
(h) PKI 서버가 기존의 Root CA로부터 하위 계층의 CA로 구성된 인증서 체인(Certificate Chain)에 데이터 소스(Data Source)의 인증서를 추가하여 서명된 인증서를 발급하는 단계;
(i) 인증서 체인(Certificate Chain)이 업데이트를 위해 추가된 데이터 소스(Data Source)의 인증서를 등록하는 단계;
(j) 데이터 소스(Data Source)가 발급된 인증서의 Chain과 블록체인에 기 저장된 인증서 체인 컨트랙트(Certificate Chain Contract)와 비교하여 발급 사실을 확인하는 단계; 및
(k) 스마트 컨트랙트가 인증된 데이터 소스(Data Source) 목록에 발급된 인증서를 추가하여 관리하는 단계를
포함하는 것을 특징으로 하는 공개키 인프라 구조를 이용한 스마트 컨트랙트의 인증된 데이터 피드 방법.
The method of claim 1,
Before step (a),
(g) requesting the issuance of a certificate for performing a function as a data provider by a data source;
(h) issuing, by the PKI server, a signed certificate by adding a certificate of a data source to a certificate chain consisting of a lower-level CA from the existing Root CA;
(i) registering the certificate of the data source added for the certificate chain (Certificate Chain) update;
(j) confirming the issue by comparing the chain of the certificate issued by the data source with the certificate chain contract previously stored in the block chain; and
(k) the step of adding and managing the issued certificate to the list of data sources certified by the smart contract
An authenticated data feed method of a smart contract using a public key infrastructure, comprising:
제1항에 있어서,
상기 (c) 단계는,
데이터 소스(Data Source)가 개인키로 인증서를 서명하는 것을 특징으로 하는 것을 특징으로 하는 공개키 인프라 구조를 이용한 스마트 컨트랙트의 인증된 데이터 피드 방법.
The method of claim 1,
Step (c) is,
An authenticated data feed method of a smart contract using a public key infrastructure, characterized in that the data source signs the certificate with a private key.
제1항에 있어서,
상기 (e) 단계는,
스마트 컨트랙트가 공개키를 통해 데이터 소스(Data Source)의 서명을 검증하는 것을 특징으로 하는 공개키 인프라 구조를 이용한 스마트 컨트랙트의 인증된 데이터 피드 방법.
The method of claim 1,
Step (e) is,
An authenticated data feed method of a smart contract using a public key infrastructure, characterized in that the smart contract verifies the signature of the data source through the public key.
KR1020200154224A 2019-11-18 2020-11-18 Authentication Data Feed for Smart Contract using Public Key Infrastructure KR102400402B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20190147721 2019-11-18
KR1020190147721 2019-11-18

Publications (2)

Publication Number Publication Date
KR20210060356A KR20210060356A (en) 2021-05-26
KR102400402B1 true KR102400402B1 (en) 2022-05-23

Family

ID=76137873

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200154224A KR102400402B1 (en) 2019-11-18 2020-11-18 Authentication Data Feed for Smart Contract using Public Key Infrastructure

Country Status (1)

Country Link
KR (1) KR102400402B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102565970B1 (en) * 2022-04-19 2023-08-11 주식회사 블로코 Certificate issuance method using blockchain and system for the same
KR102506431B1 (en) * 2022-04-19 2023-03-07 주식회사 블로코 Certificate issuance method using blockchain and system for the same

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019023452A1 (en) 2017-07-26 2019-01-31 Alibaba Group Holding Limited Digital certificate management method, apparatus, and system
WO2019108436A1 (en) 2017-11-30 2019-06-06 Mocana Corporation System and method for recording device lifecycle transactions as versioned blocks in a blockchain network using a transaction connector and broker service
US20190253259A1 (en) 2018-11-16 2019-08-15 Alibaba Group Holding Limited Domain name management scheme for cross-chain interactions in blockchain systems

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9455979B2 (en) 2014-07-31 2016-09-27 Nok Nok Labs, Inc. System and method for establishing trust using secure transmission protocols
KR20180119179A (en) * 2017-04-24 2018-11-02 라온시큐어(주) Methods and apparatus for authentication of fido and cerificates based on authentication chain
KR102181600B1 (en) * 2018-03-30 2020-11-23 주식회사 코인플러그 Method for sso service through blockchain, and terminal and server using the same

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019023452A1 (en) 2017-07-26 2019-01-31 Alibaba Group Holding Limited Digital certificate management method, apparatus, and system
WO2019108436A1 (en) 2017-11-30 2019-06-06 Mocana Corporation System and method for recording device lifecycle transactions as versioned blocks in a blockchain network using a transaction connector and broker service
US20190253259A1 (en) 2018-11-16 2019-08-15 Alibaba Group Holding Limited Domain name management scheme for cross-chain interactions in blockchain systems

Also Published As

Publication number Publication date
KR20210060356A (en) 2021-05-26

Similar Documents

Publication Publication Date Title
US10685099B2 (en) System and method for mapping decentralized identifiers to real-world entities
TWI730692B (en) Improving integrity of communications between blockchain networks and external data sources
CN107231351B (en) Electronic certificate management method and related equipment
CN110569674B (en) Authentication method and device based on block chain network
CN109845220B (en) Method and apparatus for providing blockchain participant identity binding
CN107483509B (en) A kind of auth method, server and readable storage medium storing program for executing
CN109845188B (en) Secure handling of an attestation request
CN108681965B (en) Block chain network transaction processing method and device for offline node
KR102173426B1 (en) Privacy preserving public key infrastructure based self sign and verification system and method in decentralized identity
CN110535648B (en) Electronic certificate generation and verification and key control method, device, system and medium
CN102638454B (en) Plug-in type SSO (single signon) integration method oriented to HTTP (hypertext transfer protocol) identity authentication protocol
CN106384236A (en) Blockchain based CA (Certificate Authority) management method, device and system
CN110535807B (en) Service authentication method, device and medium
KR102400402B1 (en) Authentication Data Feed for Smart Contract using Public Key Infrastructure
CN111753014B (en) Identity authentication method and device based on block chain
CN109861996B (en) Block chain-based relationship proving method, device, equipment and storage medium
KR20130103572A (en) Method and device for anonymous entity identification
WO2016054924A1 (en) Identity authentication method, third-party server, merchant server and user terminal
CN111314172B (en) Block chain-based data processing method, device, equipment and storage medium
CN112910660B (en) Certificate issuing method, adding method and transaction processing method of blockchain system
CN110599275A (en) Data processing method and device based on block chain network and storage medium
WO2021031741A1 (en) Voip processing method, device, and terminal
WO2022193984A1 (en) Cross-chain data transmission method and apparatus, and computer device, storage medium and computer program product
CN105681030A (en) Key management system, method and device
TWI668590B (en) Certificate validity verification system and method thereof

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant