KR20220017621A - 타원곡선암호 기반의 일회용 키와 루트 시그니처를 이용한 블록체인 통신 시스템 및 방법 - Google Patents

타원곡선암호 기반의 일회용 키와 루트 시그니처를 이용한 블록체인 통신 시스템 및 방법 Download PDF

Info

Publication number
KR20220017621A
KR20220017621A KR1020200097829A KR20200097829A KR20220017621A KR 20220017621 A KR20220017621 A KR 20220017621A KR 1020200097829 A KR1020200097829 A KR 1020200097829A KR 20200097829 A KR20200097829 A KR 20200097829A KR 20220017621 A KR20220017621 A KR 20220017621A
Authority
KR
South Korea
Prior art keywords
public key
client terminal
block chain
time
message
Prior art date
Application number
KR1020200097829A
Other languages
English (en)
Inventor
라경진
이임영
Original Assignee
순천향대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 순천향대학교 산학협력단 filed Critical 순천향대학교 산학협력단
Priority to KR1020200097829A priority Critical patent/KR20220017621A/ko
Publication of KR20220017621A publication Critical patent/KR20220017621A/ko

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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • 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
    • H04L9/3252Cryptographic 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 using DSA or related signature schemes, e.g. elliptic based signatures, ElGamal or Schnorr schemes
    • 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/3297Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • H04L2209/38

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

본 발명은 타원곡선암호(Elliptic Curve Cryptography: ECC) 기반의 일회용 키와 루트 시그니처(Root Signature)를 이용한 블록체인 통신 시스템 및 방법에 관한 것으로, 더욱 상세하게는 ECC를 적용하여 일회용 개인키 및 일회용 공개키를 포함하는 일회용 키(One Time Key: OTK)를 생성하여 데이터 통신에 적용하므로 데이터 통신량을 줄이고 일회용 키 및 블록체인 네트워크를 통한 전자서명을 제공하여 안전성과 효율성을 제공하는 타원곡선암호 기반의 일회용 키와 루트 시그니처를 이용한 블록체인 통신 시스템 및 방법에 관한 것이다.

Description

타원곡선암호 기반의 일회용 키와 루트 시그니처를 이용한 블록체인 통신 시스템 및 방법{Blockchain communication system using Elliptic curve cryptography based one time key and root signature}
본 발명은 타원곡선암호(Elliptic Curve Cryptography: ECC) 기반의 일회용 키와 루트 시그니처(Root Signature)를 이용한 블록체인 통신 시스템 및 방법에 관한 것으로, 더욱 상세하게는 ECC를 적용하여 일회용 개인키 및 일회용 공개키를 포함하는 일회용 키(One Time Key: OTK)를 생성하여 데이터 통신에 적용하므로 데이터 통신량을 줄이고 일회용 키 및 블록체인 네트워크를 통한 전자서명을 제공하여 안전성과 효율성을 제공하는 타원곡선암호 기반의 일회용 키와 루트 시그니처를 이용한 블록체인 통신 시스템 및 방법에 관한 것이다.
일반적으로 인터넷 기술이 발전하고 일반화됨에 따라 인터넷을 통해 다양한 정보들이 송수신되고 있다.
따라서 이러한 데이터 통신을 통해 송수신되는 정보를 암호화하고 송신한 사용자를 검증하고, 정보를 검증할 수 있는 방안이 요구되었다.
이러한 방안 중 하나가 공개키 및 개인키를 포함하는 인증키를 사용하는 전자서명이다. 전자서명은 개인키로 서명한 정보에 대해 공개키로 검증함에 따라 사용자 인증과 메시지 무결성을 비롯하여 부인방지를 제공한다.
따라서 전자서명은 사용자 인증 및 메시지 인증을 위해 키를 생성해야 하며, 정당한 사용자의 공개키를 검증할 수 있는 안전한 시스템이 구성되어야 한다.
이러한 시스템으로 공개키기반구조(Public Key Infrastructure: PKI) 시스템이 있으며, 상기 PKI 시스템은 이름, 아이디(ID), 유효기간, 발행자 등의 사용자 신원정보 및 사용자의 공개키를 바인딩한 공개키 인증서를 발급 및 검증할 수 있는 시스템이다. 이에 따라 전자서명은 안전하고 효율적인 공개키-개인키 생성 방식, 공개키 시스템 등으로 연구되고 있다.
특히, PKI 시스템은 신뢰할 수 있는 3자 기관(Trusted Third Party: TTP) 기반의 중앙집중형태의 공개키 인증서 발급과 유효 검증을 수행한다.
그러나 종래 PKI 시스템은 상기 중앙집중형태의 공개키 인증서 발급과 유효검증 시 단일지점오류가 일어날 수 있는 문제점이 있으며, 단일지점오류에 따른 중간자 공격, 재전송 공격 등의 보안 위협을 초래하는 문제점이 있었다.
이러한 문제점을 해결하기 위해 최근 블록체인과 같은 분산원장을 이용한 공개키 시스템 및 전자서명 방식이 연구되고 있으며, 안정성과 효율성을 모두 제공할 수 있는 시스템의 개발이 요구되고 있다.
대한민국 등록특허 제10-2020000호(2019.09.09.공고)
따라서 본 발명의 목적은 ECC를 적용하여 일회용 개인키 및 일회용 공개키를 포함하는 일회용 키(One Time Key: OTK)를 생성하여 데이터 통신에 적용하므로 데이터 통신량을 줄이고 일회용 키 및 블록체인 네트워크를 통한 전자서명을 제공하여 안전성과 효율성을 제공하는 타원곡선암호 기반의 일회용 키와 루트 시그니처를 이용한 블록체인 통신 시스템 및 방법을 제공함에 있다.
상기와 같은 목적을 달성하기 위한 본 발명에 따른 타원곡선암호 기반 일회용 키와 루트 시그니처를 이용한 블록체인 통신 시스템은: 다수의 노드들 포함하고, 토큰 요청 이벤트의 발생 시 임의의 노드가 토큰을 생성하여 방송하고, 검증 요청 발생 시 해당 토큰에 의해 공개키 인증서를 검증하여 검증 성공 시 유효 해시 경로 정보를 제공하는 블록체인 네트워크; 상기 노드 중 하나로, 공개키 인증서 요청 정보의 수신 시 서버 루트 시그니처를 생성하고, 상기 서버 루트 시그니처에 의한 공개키 인증서를 생성하여 전송하고, 메시지 서명 요청 정보의 수신 시 상기 블록체인 네트워크로 토큰 요청 정보를 전송하여 상기 토큰 요청 이벤트를 발생시키는 블록체인 서버; 타원곡선암호(ECC) 기반의 일회용 공개키 및 개인키를 생성하여 저장하고, 일회용 공개키에 대한 단말 루트 시그니처를 생성한 후, 상기 일회용 공개키, 단말 루트 시그니처 및 상기 일회용 공개키 생성시점에 대한 타임스탬프를 포함하는 인증서 발급 요청 정보를 생성하여 상기 블록체인 서버로 전송하고, 상기 인증서 발급 요청 정보의 송신에 응답하여 상기 블록체인 서버로부터 공개키 인증서를 수신받아 저장하며, 메시지 발생 시 상기 공개키 인증서 및 메시지를 포함하는 메시지 서명 요청 정보를 상기 블록체인 서버로 송신하고, 상기 메시지 서명 요청 정보의 송신에 대한 토큰을 수신하여 상기 토큰을 포함하는 인증정보 및 수신자의 공개키로 메시지를 암호화하여 송신하는 송신 클라이언트 단말기; 및 상기 송신 클라이언트 단말기로부터 암호화 메시지를 수신하고, 상기 암호화 메시지를 자신의 공개키로 복호하고, 상기 블록체인 네트워크를 통해 암호화 메시지에 포함된 공개키 인증서 및 토큰에 대한 인증을 수행한 후 인증 성공 시 유효 해시 경로 정보를 상기 블록체인 네트워크로부터 수신받아 상기 수신된 암호화 메시지의 토큰의 유효성 검증을 수행하는 수신 클라이언트 단말기를 포함하는 것을 특징으로 한다.
상기 송신 클라이언트 단말기는, 클라이언트 단말기 식별정보(IDPA), 상기 루트 시그니처(σA), 타임스탬프(t0), 일회용 공개키(PKAi)를 포함하는 상기 인증서 발급 요청 정보를 생성하는 것을 특징으로 한다.
상기 송신 클라이언트 단말기는, 하기 수힉식 1에 의해 상기 단말 루트 시그니처를 생성하는 것을 특징으로 한다.
[수학식 1]
Figure pat00001
상기 블록체인 서버는, 상기 송신 클라이언트 단말기로부터 공개키 인증서 요청 정보의 수신 시 하기 수학식 2에 의해 상기 공개키 인증서 요청 정보에 포함된 일회용 공개키(PKAi)에 따른 R을 검증하고,
[수학식 2]
Figure pat00002
상기 R 검증에 성공하면 자신의 개인키(SKBi)를 통해 하기 수학식 3과 같이 서명하며,
[수학식 3]
Figure pat00003
다수의 클라이언트 단말기의 공개키 인증서 요청 정보에 대해 하기 수학식 4에 의해 하나의 서명 값이 서버 루트 시그니처(σB)를 생성하며,
[수학식 4]
Figure pat00004
하기 수학식 5에 의해 상기 단일 서명인 서버 루트 시그니처()를 검증한 후,
[수학식 5]
Figure pat00005
상기 단일 서명을 모아 해시 트리의 리프노드로 하여 인증서 관리를 수행하고, 상기 검증된 서버 루트 시그니처가 포함된 공개키 인증서()를 상기 클라이언트 단말기로 제공하는 것을 특징으로 한다.
상기 송신 클라이언트 단말기는, 하기 수학식 6에 의해 상기 수신된 공개키 인증서를 검증하는 것을 특징으로 한다.
[수학식 6]
Figure pat00006
상기 송신 클라이언트 단말기는, 공개키 인증서(IDPA, σA, t0, PKAi, IDPB, σB), 일회용 개인키(SKAi) 및 하기 수학식 7에 의해 생성되는 메시지를 포함하는 상기 메시지 서명 요청 정보를 블록체인 서버로 전송하고,
[수학식 7]
Figure pat00007
여기서, m은 전자 메시지(내용)이다.
상기 블록체인 서버는, 상기 일회용 개인키와 공개키를 하기 수학식 8에 적용하여 상기 송신 클라이언트 단말기를 확인하고, 상기 블록체인 네트워크의 해시 트리를 통해 공개키 인증서의 유효성을 검증하며,
[수학식 8]
Figure pat00008
상기 블록체인 네트워크는, 상기 블록체인 서버의 공개키 인증서의 유효성 검증을 토큰 요청으로 인지하여 상기 메시지를 통해 글로벌 해시 트리를 생성한 후, 루트값(Root Value)에 세계 협정 시간을 링킹(Linking)하여 글로벌 타임스탬프(St)를 생성한 후 내부 합의( Consensus)를 통해 토큰(St, SkBi)을 생성한 후 상기 블록체인 서버 및 송신 클라이언트 단말기에 방송하는 것을 특징으로 한다.
상기 송신 클라이언트 단말기는, 상기 공개키 인증서 및 일회용 개인키, 토큰 및 수신 클라이언트 단말기의 공개키로 암호화한 암호화 메시지를 수신 클라이언트 단말기로 전송하고, 상기 수신 클라이언트 단말기는, 상기 암호화 메시지를 복호화하여 메시지를 획득한 후 블록체인 네트워크로 송신 클라이언트 단말기의 공개키 인증서 및 토큰을 포함하여 검증을 요청하는 검증 요청 정보를 전송하고, 이에 대한 유효 해시 경로 정보를 상기 블록체인 네트워크로부터 수신받아 토큰 유효성 검증을 수행하고, 상기 블록체인 네트워크는, 상기 검증 요청 정보를 수신하고 포함된 송신 클라이언트 단말기의 공개키 인증서를 해시 트리로 검증하고, 검증 성공 시 유효 해시 경로 정보를 상기 수신 클라이언트 단말기로 제공하는 것을 특징으로 한다.
상기와 같은 목적을 달성하기 위한 본 발명에 따른 타원곡선암호 기반 일회용 키와 루트 시그니처를 이용한 블록체인 통신 방법은: 다수의 노드를 포함하는 블록체인 네트워크의 노드인 클라이언트 단말기가 타원곡선암호(ECC) 기반의 일회용 공개키 및 개인키를 생성하여 저장하고, 일회용 공개키에 대한 단말 루트 시그니처를 생성한 후, 상기 일회용 공개키, 단말 루트 시그니처 및 상기 일회용 공개키 생성시점에 대한 타임스탬프를 포함하는 인증서 발급 요청 정보를 생성하여 상기 블록체인 서버로 전송하는 인증키 생성 및 공개키 인증서 생성 요청 과정; 다수의 노드를 포함하는 블록체인 네트워크의 노드인 블록체인 서버가 공개키 인증서 요청 정보의 수신 시 서버 루트 시그니처를 생성하고, 상기 서버 루트 시그니처에 의한 공개키 인증서를 생성하여 전송하는 공개키 인증서 발급 과정;상기 공개키 인증서를 수신받아 저장하고 있고, 메시지를 송신할 클라이언트 단말기인 송신 클라이언트 단말기가 메시지 발생 시 상기 공개키 인증서 및 메시지를 포함하는 메시지 서명 요청 정보를 상기 블록체인 서버로 송신하는 메시지 서명 요청 과정; 블록체인 서버가 상기 송신 클라이언트 단말기로부터 메시지 서명 요청 정보의 수신 시 상기 블록체인 네트워크로 토큰 요청 정보를 전송하는 토큰 요청 과정; 상기 블록체인 네트워크가 상기 토큰 요청 정보의 수신에 따른 토큰 요청 이벤트의 발생 시 임의의 노드가 토큰을 생성하여 상기 블록체인 서버 및 상기 송신 클라이언트 단말기로 방송하는 토큰 발행 과정; 상기 송신 클라이언트 단말기가 상기 메시지 서명 요청 정보의 송신에 대한 토큰을 수신하여 상기 토큰을 포함하는 인증정보 및 수신자의 공개키로 메시지를 암호화하여 수신자의 클라이언트 단말기인 수신 클라이언트 단말기로 송신하는 암호화 메시지 송신 과정; 및 상기 수신 클라이언트 단말기가 상기 송신 클라이언트 단말기로부터 암호화 메시지를 수신하고, 상기 암호화 메시지를 자신의 공개키로 복호하고, 상기 블록체인 네트워크를 통해 암호화 메시지에 포함된 공개키 인증서 및 토큰에 대한 인증을 수행한 후 인증 성공 시 유효 해시 경로 정보를 상기 블록체인 네트워크로부터 수신받아 상기 수신된 암호화 메시지의 토큰의 유효성 검증을 수행하는 블록체인 암호화 메시지 수신 처리 과정을 포함하는 것을 특징으로 한다.
인증키 생성 및 공개키 인증서 생성 요청 과정은, 상기 클라이언트 단말기가 공개키(IDPA) 및 개인키(IDSA)를 타원곡선암호(ECC)에 적용하여 일회용 공개키(PKAi) 및 일회용 개인키(SKAi)를 생성하여 저장하는 일회용 인증키 생성 단계; 상기 생성된 일회용 공개키에 대한 단말 루트 시그니처(σA)를 하기 수학식 1에 의해 생성하는 단말 루트 시그니처 생성 단계; 및 상기 일회용 공개키, 단말 루트 시그니처 및 상기 일회용 공개키 생성시점에 대한 타임스탬프를 포함하는 인증서 발급 요청 정보(IDPA, σA, t0, PKAi)를 생성하여 상기 블록체인 서버로 전송하는 인증서 생성 요청 단계를 포함하는 것을 특징으로 한다.
[수학식 1]
Figure pat00009
상기 공개키 인증서 발급 과정은, 상기 블록체인 서버가 상기 송신 클라이언트 단말기로부터 공개키 인증서 요청 정보의 수신 시 하기 수학식 2에 의해 상기 공개키 인증서 요청 정보에 포함된 일회용 공개키(PKAi)에 따른 R을 검증하는 R 검증 단계;
[수학식 2]
Figure pat00010
상기 R 검증에 성공하면 자신의 개인키(IDPB)를 통해 하기 수학식 3과 같이 서명하는 서명 단계;
[수학식 3]
Figure pat00011
상기 블록체인 서버가 다수의 클라이언트 단말기의 공개키 인증서 요청 정보에 대해 하기 수학식 4에 의해 하나의 서명 값인 서버 루트 시그니처(σB)를 생성하는 서버 루트 시그니처 생성 단계;
[수학식 4]
Figure pat00012
블록체인 서버로 구성된 블록체인 네트워크가 하기 수학식 5에 의해 상기 단일 서명인 서버 루트 시그니처(σB)를 검증하는 루트 시그니처 검증 단계;
[수학식 5]
Figure pat00013
상기 블록체인 서버가 상기 루트 시그니처 검증 단계에서 검증에 성공하면 상기 단일 서명을 모아 해시 트리의 리프노드로 하여 인증서 관리를 수행하는 인증서 관리 단계; 상기 검증된 서버 루트 시그니처가 포함된 공개키 인증서(IDPA, σB, t0, PKAi, IDPB, σA)를 상기 클라이언트 단말기로 제공하는 공개키 인증서 발급 단계를 포함하는 것을 특징으로 한다.
상기 공개키 인증서 발급 과정은, 상기 송신 클라이언트 단말기가 하기 수학식 6에 의해 상기 수신된 공개키 인증서를 검증하는 공개키 인증서 검증 단계를 더 포함하는 것을 특징으로 한다.
[수학식 6]
Figure pat00014
상기 메시지 서명 요청 과정은, 메시지를 송신할 클라이언트 단말기인 송신 클라이언트 단말기가 공개키 인증서(IDPA, σA, t0, PKAi, IDPB, σB), 일회용 개인키(SKAi) 및 하기 수학식 7에 의해 생성되는 메시지를 포함하는 상기 메시지 서명 요청 정보를 블록체인 서버로 전송하는 것을 특징으로 한다.
[수학식 7]
Figure pat00015
여기서, m은 전자 메시지(내용)이다.
상기 토큰 발행 과정은, 상기 블록체인 서버가 상기 일회용 개인키와 일회용 공개키를 하기 수학식 8에 적용하여 상기 송신 클라이언트 단말기를 확인하고, 상기 블록체인 네트워크의 해시 트리를 통해 공개키 인증서의 유효성을 검증하는 공개키 인증서 유효성 검증 단계; 및
[수학식 8]
Figure pat00016
상기 블록체인 네트워크가 상기 블록체인 서버의 공개키 인증서의 유효성 검증을 토큰 요청으로 인지하여 상기 메시지를 통해 글로벌 해시 트리를 생성한 후, 루트값(Root Value)에 세계 협정 시간을 링킹(Linking)하여 글로벌 타임스탬프(St)를 생성한 후 내부 합의(Consensus)를 통해 토큰(St, SkBi)을 생성한 후 상기 블록체인 서버 및 송신 클라이언트 단말기에 방송하는 토큰 방송 단계를 포함하는 것을 특징으로 한다.
상기 블록체인 암호화 메시지 수신 처리 과정은, 상기 수신 클라이언트 단말기가 상기 암호화 메시지를 복호화하여 메시지를 획득한 후 블록체인 네트워크로 송신 클라이언트 단말기의 공개키 인증서 및 토큰을 포함하여 검증을 요청하는 검증 요청 정보를 전송하는 검증 요청 단계; 상기 블록체인 네트워크가 상기 검증 요청 정보를 수신하고 포함된 송신 클라이언트 단말기의 공개키 인증서를 해시 트리로 검증하고, 검증 성공 시 유효 해시 경로 정보를 상기 수신 클라이언트 단말기로 제공하는 해시 경로 정보 제공 단계; 및 상기 수신 클라이언트 단말기가 상기 유효 해시 경로 정보를 상기 블록체인 네트워크로부터 수신받아 상기 유효 해시 경로 정보를 통해 블록체인의 상기 토큰의 유효성을 검증하는 토큰 유효성 검증단계를 포함하는 것을 특징으로 한다.
본 발명은 ECC 기반의 일회용 키를 생성하므로 키의 크기를 줄일 수 있어 통신량을 줄일 수 있는 효과가 있고 ECC 기반으로 생성한 트랜잭션 키에 따라 암호화하여 전송되므로 제3자가 메시지를 취득하더라도 복호화활 수 없어 기밀성을 제공할 수 있는 효과가 있다.
또한, 본 발명은 일회용 공개키를 생성하여 사용하므로 보안성을 향상시킬 수 있으며, 루트 시그니처를 적용함으로써 익명성을 제공할 수 있어 보안성을 향상시킬 수 있는 효과가 있다.
또한, 본 발명은 메시지에 따른 블록체인 네트워크의 글로벌 타임스탬프를 생성하여 블록에 삽입하므로 모든 사용자를 동기화시킬 수 있고, 이로 인해 블록을 변경하기 어렵게 하므로 무결성을 제공할 수 있는 효과가 있다.
도 1은 본 발명에 따른 타원곡선암호 기반 일회용 키와 루트 시그니처를 이용한 블록체인 통신 시스템의 구성을 나타낸 도면이다
도 2는 본 발명에 따른 타원곡선암호 기반 일회용 키와 루트 시그니처를 이용한 블록체인 통신 방법을 나타낸 절차도이다
도 3은 본 발명에 따른 타원곡선암호 기반 일회용 키와 루트 시그니처를 이용한 블록체인 통신 방법 중 공개키 인증서 발급 방법을 나타낸 절차도이다
도 4는 본 발명에 따른 타원곡선암호 기반 일회용 키와 루트 시그니처를 이용한 블록체인 통신 방법 중 메시지 서명 요청 및 토큰 발급 방법을 나타낸 절차도이다
도 5는 본 발명에 따른 타원곡선암호 기반 일회용 키와 루트 시그니처를 이용한 블록체인 통신 방법 중 메시지 송수신 방법을 나타낸 절차도이다
이하 첨부된 도면을 참조하여 본 발명에 따른 ECC 기반의 일회용 키와 루트 시그니처를 이용한 블록체인 통신 시스템의 구성 및 동작을 상세히 설명하고, 상기 시스템에서의 블록체인 통신 방법을 설명한다.
이하 도면을 참조하여 설명하기 전에 본 발명에서 사용하는 시스템 계수를 하기 표 1과 같이 정의한다.
Figure pat00017
도 1은 본 발명에 따른 타원곡선암호 기반 일회용 키와 루트 시그니처를 이용한 블록체인 통신 시스템의 구성을 나타낸 도면이다.
도 1을 참조하면, 본 발명에 따른 타원곡선암호 기반 일회용 키와 루트 시그니처를 이용한 블록체인 통신 시스템은 허가형 블록체인 네트워크(20)로 구성된다.
허가형 블록체인 네트워크(20)는 하나의 프라이빗 블록체인 네트워크(10)로 구성될 수도 있고, 둘 이상의 프라이빗 블록체인 네트워크(10)를 포함하는 컨소시움 블록체인 네트워크로 구성될 수도 있을 것이다.
프라이빗 블록체인 네트워크(10)는 유무선 데이터통신망(1)을 통해 연결되어 상호 데이터 통신을 수행하는 다수의 노드들을 포함한다.
상기 노드는 서버(100)일 수도 있고, 일반적인 사용자가 사용하는 클라이언트 단말기(200)일 수도 있을 것이다. 상기 클라이언트 단말기는 데스크톱 컴퓨터, 퍼스널 컴퓨터, 노트북 등과 같은 컴퓨터 단말기일 수도 있고, 스마트폰, 스마트패드 등과 같은 스마트 단말기일 수도 있을 것이다. 이하 설명에서 서버(100)는 블록체인 서버라 하며, 블록체인 서버(100)로는 KSI(Keyless Signature Infrastructure) 서버 등도 포함될 수 있을 것이다.
블록체인 서버(100)는 사용자 인증을 위해 일회용 키(One-Time Key)를 사용하고, 메시지 인증을 위해 서버 기반의 글로벌 타임스탬프 및 블록체인을 생성한다.
블록체인 서버(100)는 시드(Seed)를 통해 반복한 해시체인 값을 키로 사용한다. 따라서 블록체인 서버(100)는 여러 개의 일회용 키를 효율적으로 검증하고 키의 원본을 보장하는 키 관리 시스템이 필요하며, 이진 해시트리를 사용한다. 즉 공개키는 해시체인을 리프노드(LeafNode)로 하는 해시트리의 루트값과 해시체인의 마지막 값을 쌍으로 사용한다. 따라서 해시트리의 특성을 통해 리프노드와 해시 경로(Hash Path)를 통해 log n(n=Leaf node의 개수)의 노드만을 통해 최종 루트값 검증이 가능하다.
또한, 블록체인 서버(100)는 다수의 사용자로부터 수신한 정보를 리프노드로 하여 해시트리를 형성하고, 세계협정시간과 링킹(Linking)되어 해시 캘린더(Calendar)라는 구조에 저장된 타임스탬프 값을 블록체인으로 최종 수용한다.
또한, 블록체인 서버(100)는 블록체인 네트워크(20)에 등록 시 공개키(IDPB) 및 마스터키(개인키)(IDSB)를 할당받아 가지고 있다.
클라이언트 단말기(200)는 블록체인 네트워크(20) 등록 시 공개키(IDPA) 및 개인(IDSA)키를 할당받아 가지고 있으며, 공개키 및 개인키를 타원곡선암호(Elliptic Curve cryptography: ECC)에 적용하여 일회용 공개키(PKAi), 및 일회용 개인키(SKAi)를 생성하여 저장한다. 상기 ECC는 타원곡선 이론에 기반한 공개키 암호 방식이다. ECC는 RSA 및 Elgamal 암호화 방식에 비해 짧은 키를 생성하면서도 비슷한 수준의 안전성을 제공하는 특징을 갖는다.
본 발명에 따른 블록체인 서버(100) 및 클라이언트 단말기(200)는 각각의 루트 시그니처를 생성한다. 클라이언트 단말기(200)가 생성하는 루트 시그니처를 단말 루트 시그니처(σA)라 하고, 블록체인 서버(100)가 생성하는 루트 시그니처를 서버 루트 시그니처(σB)라고 한다.
루트 시그니처(Root Signature)는 블록체인에서의 다중 트랜잭션(Transaction)을 하나의 단일 트랜잭션처럼 시그니처를 생성하는 것을 말한다.
이러한 루트 시그니처는 입력 트랜잭션을 모아 단일 출력 트랜잭션을 생성하는 과정에서 익명성을 제공한다.
루트 시그니처는 ECC의 압축 성질을 이용하여 단일 메시지를 생성할 수 있고, 동형 및 겹선형 사상을 이용하여 익명성을 제공할 수도 있을 것이다.
이에 따라 본 발명의 블록체인 서버(100) 및 클라이언트 단말기(200)는 클라이언트 단말기(200)의 일회용 개인키를 적용한 단말 루트 시그니처 및 서버 루트 시그니처를 생성한다.
클라이언트 단말기(200)는 암호화된 메시지를 송신하는 송신모드로 동작할 수도 있고, 암호화된 메시지를 수신하는 수신모드로 동작할 수도 있을 것이다. 이하 설명에서는 송신모드로 동작하는 클라이언트 단말기(200)를 송신 클라이언트 단말기(200-1)로 표기하고, 수신모드로 동작하는 클라이언트 단말기(200)를 수신 클라이언트 단말기(200-2)로 표기한다.
블록체인 네트워크(20)의 임의의 노드는 토큰 요청 이벤트의 발생 시 임의의 노드가 토큰을 생성하여 토큰 요청 이벤트를 발생시킨 블록체인 서버(100) 및 송신 클라이언트 단말기(200)로 방송한다.
검증 요청 발생 시 블록체인 네트워크(20)의 임의 노드는 해당 토큰에 의해 공개키 인증서를 검증하여 검증 성공 시 유효 해시 경로 정보를 토큰 요청 이벤트를 발생시킨 블록체인 서버(100) 및 수신 클라이언트 단말기(200)로 제공한다.
이하 블록체인 네트워크(20)의 임의 노드에 의해 수행되는 동작은 블록체인 네트워크(20)가 수행하는 것으로 간주하여 설명한다.
구체적인 동작을 설명하면, 블록체인 서버(100)는 임의의 클라이언트 단말기(200)로부터 공개키 인증서 요청 정보의 수신 시 서버 루트 시그니처를 생성하고, 상기 서버 루트 시그니처에 의한 공개키 인증서를 생성하여 상기 클라이언트 단말기(200)로 발행하고, 임의의 송신 클라이언트 단말기(200-1)로부터 메시지 서명 요청 정보의 수신 시 상기 블록체인 네트워크(20)로 토큰 요청 정보를 전송하여 상기 토큰 요청 이벤트를 발생시킨다.
블록체인 네트워크(20)는 블록체인 서버(100)로부터 토큰 요청 정보의 수신 시 토큰 요청 이벤트를 발생시키고, 토큰을 생성하여 상기 블록체인 서버(100) 및 해당 송신 클라이언트 단말기(200-1)로 방송한다.
또한, 블록체인 네트워크(20)는 수신 클라이언트 단말기(200-2)로부터 검증 요청 정보의 수신 시 해당 토큰에 의해 공개키 인증서를 검증하고, 검증 성공 시 유효 해시 경로 정보를 상기 수신 클라이언트 단말기(200-2)로 제공한다.
송신 클라이언트 단말기(200-1)는 타원곡선암호(ECC) 기반의 일회용 공개키 및 개인키를 생성하여 저장하고, 일회용 공개키에 대한 단말 루트 시그니처를 생성한 후, 상기 일회용 공개키, 단말 루트 시그니처 및 상기 일회용 공개키 생성시점에 대한 타임스탬프를 포함하는 인증서 발급 요청 정보를 생성하여 상기 블록체인 서버(100)로 전송하고, 상기 인증서 발급 요청 정보의 송신에 응답하여 상기 블록체인 서버(100)로부터 공개키 인증서를 수신받아 저장하며, 메시지 발생 시 상기 공개키 인증서 및 메시지를 포함하는 메시지 서명 요청 정보를 상기 블록체인 서버(100)로 송신하고, 상기 메시지 서명 요청 정보의 송신에 대한 토큰을 블록체인 네트워크(20)로부터 수신하여 상기 토큰을 포함하는 인증정보 및 수신자의 공개키로 메시지를 암호화하여 송신한다.
수신 클라이언트 단말기(200-2)는 상기 송신 클라이언트 단말기(200-1)로부터 암호화 메시지를 수신하고, 상기 암호화 메시지를 자신의 공개키로 복호하고, 상기 블록체인 네트워크를 통해 암호화 메시지에 포함된 공개키 인증서 및 토큰에 대한 인증을 수행한 후 인증 성공 시 유효 해시 경로 정보를 상기 블록체인 네트워크로부터 수신받아 상기 수신된 암호화 메시지의 토큰의 유효성 검증을 수행한다.
도 2는 본 발명에 따른 타원곡선암호 기반 일회용 키와 루트 시그니처를 이용한 블록체인 통신 방법을 나타낸 절차도이다.
도 2를 참조하면, 다수의 노드를 포함하는 블록체인 네트워크(20)의 노드인 클라이언트 단말기(200)가 미리 획득한 공개키(IDPA) 및 개인키(IDSA)를 타원곡선암호(ECC)에 적용하여 일회용 공개키(PKAi) 및 개인키(SKAi)를 생성하여 저장하고, 일회용 공개키에 대한 단말 루트 시그니처(σA)를 생성한 후, 상기 공개키(IDPA), 일회용 공개키(PKAi), 단말 루트 시그니처(σA) 및 상기 일회용 공개키 생성시점에 대한 타임스탬프(t0)를 포함하는 인증서 발급 요청 정보(IDPA, PKAi, σA, t0)를 생성하여 상기 블록체인 서버(100)로 전송한다(S100).
다수의 노드를 포함하는 블록체인 네트워크(20)의 노드 중 하나인 블록체인 서버(100)가 상기 공개키 인증서 요청 정보의 수신 시 서버 루트 시그니처(σB)를 생성하고, 상기 서버 루트 시그니처에 의한 공개키 인증서(IDPA, PKAi, σA, t0, IDPB, σB)를 생성하여 상기 클라이언트 단말기(200)로 전송한다(S200). 그러면 클라이언트 단말기(200)는 상기 인증서 발급 요청 정보의 송신에 응답하여 상기 블록체인 서버로부터 공개키 인증서를 수신받아 저장한다.
상기 공개키 인증서를 수신받아 저장하고 있고, 메시지를 송신할 클라이언트 단말기(200)인 송신 클라이언트 단말기(200-1)가 메시지 발생 시 상기 공개키 인증서(IDPA, PKAi, σA, t0, IDPB, σB), 일회용 개인키(SKAi) 및 메시지(pair x=H(m, SKAi))를 포함하는 메시지 서명 요청 정보를 상기 블록체인 서버(100)로 송신한다(S300).
블록체인 서버(100)가 상기 송신 클라이언트 단말기(100-1)로부터 메시지 서명 요청 정보의 수신 시 상기 블록체인 네트워크(20)로 토큰 요청 정보를 전송한다(S410).
상기 블록체인 네트워크(20)가 상기 토큰 요청 정보의 수신에 따른 토큰 요청 이벤트의 발생 시 블록체인 네트워크(20)의 임의의 노드가 토큰(Token(St, SKBi)을 생성하여 상기 블록체인 서버(100) 및 상기 송신 클라이언트 단말기(200-1)로 방송한다(S420).
상기 송신 클라이언트 단말기(200-1)가 상기 메시지 서명 요청 정보의 송신에 대한 토큰을 수신하여 상기 토큰을 포함하는 인증정보 및 수신자의 공개키(IDPV)로 메시지를 암호화하여 수신자의 클라이언트 단말기(200)인 수신 클라이언트 단말기(200-2)로 송신한다(S500)
상기 수신 클라이언트 단말기(200-2)가 상기 송신 클라이언트 단말기(200-1)로부터 암호화 메시지를 수신하고, 상기 암호화 메시지를 자신의 공개키로 복호하고, 상기 블록체인 네트워크(20)를 통해 암호화 메시지에 포함된 공개키 인증서 및 토큰에 대한 인증을 수행한 후 인증 성공 시 유효 해시 경로 정보를 상기 블록체인 네트워크(20)로부터 수신받아 상기 수신된 암호화 메시지의 토큰의 유효성 검증을 수행한다(S600).
도 3은 본 발명에 따른 타원곡선암호 기반 일회용 키와 루트 시그니처를 이용한 블록체인 통신 방법 중 공개키 인증서 발급 방법을 나타낸 절차도로, 도 2의 S100 및 S200을 상세하게 나타낸 절차도이다.
도 3을 참조하면, 우선 클라이언트 단말기(100)는 블록체인 네트워크(20)에 가입 시 공개키(IDPA) 및 개인키(IDSA)를 획득하고, 획득된 공개키 및 개인키를 ECC에 적용하여 일회용 공개키(PKAi) 및 일회용 개인키(SKAi)를 생성 및 상기 일회용 공개키 생성 시점에 대한 타임스탬프(t0)를 획득한다(S111).
일회용 공개키 및 일회용 개인키가 생성된면 클라이언트 단말기(100)는 하기 수학식 1을 적용하여 단말 루트 시그니처(σA)를 생성한다(S113).
Figure pat00018
여기서, G는 겹선형 사상(쌍)(Bilinear Parings)이고, 상기 겹선형 사상은 동일한 위수 P를 갖는 곱셈군 n 그룹에서 곱셈군
Figure pat00019
1,
Figure pat00020
2가 있을 때, 이러한 그룹 내에서 이산대수문제를 푸는 것은 어렵다고 가정한다. g1은
Figure pat00021
1의 생성자이며, g2는
Figure pat00022
2의 생성자이다.
단말 루트 시그니처가 생성되면 클라이언트 단말기(100)는 인증서 발급 요청 정보를 생성한(S115) 후, 블록체인 서버(100)로 전송한다(S117).
블록체인 서버(100)는 블록체인 네트워크(20)에 가입 시 공개키(IDPB) 및 개인키(또는 "마스터키"라 함)(IDSB)를 획득하여 가지고 있을 것이다(S210).
블록체인 서버(100)는 클라이언트 단말기(200)로부터 인증서 발급 요청 정보가 수신되면 클라이언트 단말기(200)가 보낸 인증서 발급 요청 정보에 포함된 공개키 인증서의 일회용 공개키(PKAi)에 따른 R을 하기 수학식 2에 의해 검증한다(211).
Figure pat00023
블록체인 서버(100)는 상기 R 검증에 성공하면 자신의 서버 개인키(IDPB)를 통해 수학식 3과 같이 서명한다(S213).
Figure pat00024
블록체인 서버(100)는 서명 후, 다수의 클라이언트 단말기 공개키 인증서 요청 정보에 대해 하기 수학식 4에 의해 하나의 서명 값이 서버 루트 시그니처(σB)를 생하고, 하기 수학식 5에 의해 서버 루트 시그니처를 검증하여 서명을 검증한다(S215).
Figure pat00025
Figure pat00026
상기 블록체인 서버(100)는 상기 루트 시그니처 검증에서 검증에 성공하면 상기 단일 서명을 모아 블록체인 네트워크(20)의 해시 트리의 리프노드로 하여 인증서 관리를 수행한다(S217).
상기 블록체인 서버(100)는 상기 루트 시그니처의 검증 성공 시 또는 상기 리프노드로 하여 인증 관리의 개시 시 자신의 개인키(IDPB) 및 상기 검증된 서버 루트 시그니처가 포함된 공개키 인증서(IDPA, σB, t0, PKAi, IDPB, σA)를 생성한(S219) 후, 상기 클라이언트 단말기로 제공한다(S221).
그러면 클라이언트 단말기(200)는 하기 수학식 6에 의해 상기 수신된 공개키 인증서를 검증한 후 저장할 것이다(S223).
Figure pat00027
도 4는 본 발명에 따른 타원곡선암호 기반 일회용 키와 루트 시그니처를 이용한 블록체인 통신 방법 중 메시지 서명 요청 및 토큰 발급 방법을 나타낸 절차도이다.
클라이언트 단말기(200)는 전송할 메시지의 발생 시 송신 클라이언 단말기(200-1)로 동작하여, 상기 메시지를 공개키 인증서(IDPA, σA, t0, PKAi, IDPB, σB), 일회용 개인키(SKAi) 및 하기 수학식 7에 의해 생성되는 메시지를 포함하는 상기 메시지 서명 요청 정보를 생성하여 블록체인 서버로 전송한다(S311).
Figure pat00028
블록체인 서버(100)는 송신 클라이언트 단말기(200-1)로부터 메시지 서명 요청 정보가 수신되면 상기 메시지 서명 요청 정보의 일회용 개인키와 일회용 공개키를 하기 수학식 8에 적용하여 상기 송신 클라이언트 단말기(200-1)를 확인하고(S313), 블록체인 네트워크(20)의 해시 트리를 통해 공개키 인증서의 유효성을 검증한다(S315).
Figure pat00029
송신 클라이언트 단말기(200-1) 인증 및 공개키 인증서 유효성이 검증되면 블록체인 서버(100-1)는 블록체인 네트워크(20)의 임의 노드로 토큰을 요청한다(S410).
상기 토큰 요청은 별도로 이루어질 수도 있고, 별도로 이루어지는 것이 아니라 상기 공개키 인증성의 유효성 검증 자체가 될 수도 있을 것이다.
즉 블록체인 네트워크(20)의 임의 노드, 즉 블록체인 네트워크(20)는 별도의 토큰 요청을 받을 수도 있고, 블록체인 서버(100)의 공개키 인증서 검증 수행을 토큰 요청으로 인지하도록 구성될 수도 있을 것이다.
블록체인 네트워크(20)의 임의 노드, 즉 블록체인 네트워크(20)는 토큰 요청이 발생되면 상기 메시지를 통해 글로벌 해시 트리를 생성한 후, 루트값(Root Value)에 세계 협정 시간을 링킹(Linking)하여 글로벌 타임스탬프(St)를 생성한(S421) 후, 블록체인 네트워크(20)의 내부 합의(Consensus)를 통해 토큰(St, SkBi)을 생성하고(S423), 생성된 토큰을 상기 블록체인 서버(100) 및 송신 클라이언트 단말기(200-1)에 방송한다(S425).
도 5는 본 발명에 따른 타원곡선암호 기반 일회용 키와 루트 시그니처를 이용한 블록체인 통신 방법 중 메시지 송수신 방법을 나타낸 절차도이다.
블록체인 네트워크(20)로부터 토큰을 수신한 송신 클라이언트 단말기(200-1)는 상기 공개키 인증서 및 일회용 개인키, 토큰 및 수신 클라이언트 단말기의 공개키로 암호화하여 하기 수학식 9와 같이 암호화 메시지를 생성한 후 수신 클라이언트 단말기(200-2)로 전송한다(S500).
Figure pat00030
상기 수신 클라이언트 단말기(200-2)는 상기 암호화 메시지를 자신의 개인키로 복호화하여 메시지를 획득한(S611) 후 블록체인 네트워크(20)로 송신 클라이언트 단말기(200-1)의 공개키 인증서 및 토큰을 포함하여 검증을 요청하는 검증 요청 정보를 전송한다(S613).
상기 검증 요청 정보를 수신한 블록체인 네트워크(20)는 상기 검증 요청 정보에 포함된 송신 클라이언트 단말기(200-1)의 공개키 인증서를 해시 트리로 검증하고(S615), 검증 성공 시 토큰 검증을 유효 해시 경로 정보를 상기 수신 클라이언트 단말기(200-2)로 제공한다(S617).
상기 블록체인 네트워크(20)로부터 유효 해시 경로(Hash Path) 정보를 수신받아 상기 암호화 메시지에 포함된 토큰과 상기 유효 해시 경로 정보에 의해 토큰 유효성 검증을 수행한다(S619).
한편, 본 발명은 전술한 전형적인 바람직한 실시예에만 한정되는 것이 아니라 본 발명의 요지를 벗어나지 않는 범위 내에서 여러 가지로 개량, 변경, 대체 또는 부가하여 실시할 수 있는 것임은 당해 기술분야에서 통상의 지식을 가진 자라면 용이하게 이해할 수 있을 것이다. 이러한 개량, 변경, 대체 또는 부가에 의한 실시가 이하의 첨부된 특허청구범위의 범주에 속하는 것이라면 그 기술사상 역시 본 발명에 속하는 것으로 보아야 한다.
10: 프라이빗 블록체인 네트워크
20: (컨소시움) 블록체인 네트워크
100: 블록체인 서버
200: 클라이언트 단말기
200-1: 송신 클라이언트 단말기
200-2: 수신 클라이언트 단말기(Verifier)

Claims (14)

  1. 다수의 노드들 포함하고, 토큰 요청 이벤트의 발생 시 임의의 노드가 토큰을 생성하여 방송하고, 검증 요청 발생 시 해당 토큰에 의해 공개키 인증서를 검증하여 검증 성공 시 유효 해시 경로 정보를 제공하는 블록체인 네트워크;
    상기 노드 중 하나로, 공개키 인증서 요청 정보의 수신 시 서버 루트 시그니처를 생성하고, 상기 서버 루트 시그니처에 의한 공개키 인증서를 생성하여 전송하고, 메시지 서명 요청 정보의 수신 시 상기 블록체인 네트워크로 토큰 요청 정보를 전송하여 상기 토큰 요청 이벤트를 발생시키는 블록체인 서버;
    타원곡선암호(ECC) 기반의 일회용 공개키 및 개인키를 생성하여 저장하고, 일회용 공개키에 대한 단말 루트 시그니처를 생성한 후, 상기 일회용 공개키, 단말 루트 시그니처 및 상기 일회용 공개키 생성시점에 대한 타임스탬프를 포함하는 인증서 발급 요청 정보를 생성하여 상기 블록체인 서버로 전송하고, 상기 인증서 발급 요청 정보의 송신에 응답하여 상기 블록체인 서버로부터 공개키 인증서를 수신받아 저장하며, 메시지 발생 시 상기 공개키 인증서 및 메시지를 포함하는 메시지 서명 요청 정보를 상기 블록체인 서버로 송신하고, 상기 메시지 서명 요청 정보의 송신에 대한 토큰을 수신하여 상기 토큰을 포함하는 인증정보 및 수신자의 공개키로 메시지를 암호화하여 송신하는 송신 클라이언트 단말기; 및
    상기 송신 클라이언트 단말기로부터 암호화 메시지를 수신하고, 상기 암호화 메시지를 자신의 공개키로 복호하고, 상기 블록체인 네트워크를 통해 암호화 메시지에 포함된 공개키 인증서 및 토큰에 대한 인증을 수행한 후 인증 성공 시 유효 해시 경로 정보를 상기 블록체인 네트워크로부터 수신받아 상기 수신된 암호화 메시지의 토큰의 유효성 검증을 수행하는 수신 클라이언트 단말기를 포함하는 것을 특징으로 하는 타원곡선암호 기반 일회용 키와 루트 시그니처를 이용한 블록체인 통신 시스템.
  2. 제1항에 있어서,
    상기 송신 클라이언트 단말기는,
    클라이언트 단말기 식별정보(IDPA), 상기 루트 시그니처(σA), 타임스탬프(t0), 일회용 공개키(PKAi)를 포함하는 상기 인증서 발급 요청 정보를 생성하는 것을 특징으로 하는 타원곡선암호 기반 일회용 키와 루트 시그니처를 이용한 블록체인 통신 시스템.
  3. 제1항 또는 제2항에 있어서,
    상기 송신 클라이언트 단말기는,
    하기 수힉식 1에 의해 상기 단말 루트 시그니처를 생성하는 것을 특징으로 하는 타원곡선암호 기반 일회용 키와 루트 시그니처를 이용한 블록체인 통신 시스템.
    [수학식 1]
    Figure pat00031

  4. 제1항에 있어서,
    상기 블록체인 서버는,
    상기 송신 클라이언트 단말기로부터 공개키 인증서 요청 정보의 수신 시 하기 수학식 2에 의해 상기 공개키 인증서 요청 정보에 포함된 일회용 공개키(PKAi)에 따른 R을 검증하고,
    [수학식 2]
    Figure pat00032

    상기 R 검증에 성공하면 자신의 개인키(SKBi)를 통해 하기 수학식 3과 같이 서명하며,
    [수학식 3]
    Figure pat00033

    다수의 클라이언트 단말기의 공개키 인증서 요청 정보에 대해 하기 수학식 4에 의해 하나의 서명 값이 서버 루트 시그니처(σB)를 생성하며,
    [수학식 4]
    Figure pat00034


    하기 수학식 5에 의해 상기 단일 서명인 서버 루트 시그니처()를 검증한 후,
    [수학식 5]
    Figure pat00035


    상기 단일 서명을 모아 해시 트리의 리프노드로 하여 인증서 관리를 수행하고
    상기 검증된 서버 루트 시그니처가 포함된 공개키 인증서()를 상기 클라이언트 단말기로 제공하는 것을 특징으로 하는 타원곡선암호 기반 일회용 키와 루트 시그니처를 이용한 블록체인 통신 시스템.
  5. 제4항에 있어서,
    상기 송신 클라이언트 단말기는,
    하기 수학식 6에 의해 상기 수신된 공개키 인증서를 검증하는 것을 특징으로 하는 타원곡선암호 기반 일회용 키와 루트 시그니처를 이용한 블록체인 통신 시스템.
    [수학식 6]
    Figure pat00036

  6. 제5항에 있어서,
    상기 송신 클라이언트 단말기는,
    공개키 인증서(IDPA, σA, t0, PKAi, IDPB, σB), 일회용 개인키(SKAi) 및 하기 수학식 7에 의해 생성되는 메시지를 포함하는 상기 메시지 서명 요청 정보를 블록체인 서버로 전송하고,
    [수학식 7]
    Figure pat00037

    여기서, m은 전자 메시지(내용)
    상기 블록체인 서버는,
    상기 일회용 개인키와 공개키를 하기 수학식 8에 적용하여 상기 송신 클라이언트 단말기를 확인하고, 상기 블록체인 네트워크의 해시 트리를 통해 공개키 인증서의 유효성을 검증하며,
    [수학식 8]
    Figure pat00038

    상기 블록체인 네트워크는,
    상기 블록체인 서버의 공개키 인증서의 유효성 검증을 토큰 요청으로 인지하여 상기 메시지를 통해 글로벌 해시 트리를 생성한 후, 루트값(Root Value)에 세계 협정 시간을 링킹(Linking)하여 글로벌 타임스탬프(St)를 생성한 후 내부 합의( Consensus)를 통해 토큰(St, SkBi)을 생성한 후 상기 블록체인 서버 및 송신 클라이언트 단말기에 방송하는 것을 특징으로 하는 타원곡선암호 기반 일회용 키와 루트 시그니처를 이용한 블록체인 통신 시스템.
  7. 제6항에 있어서,
    상기 송신 클라이언트 단말기는,
    상기 공개키 인증서 및 일회용 개인키, 토큰 및 수신 클라이언트 단말기의 공개키로 암호화한 암호화 메시지를 수신 클라이언트 단말기로 전송하고,
    상기 수신 클라이언트 단말기는,
    상기 암호화 메시지를 복호화하여 메시지를 획득한 후 블록체인 네트워크로 송신 클라이언트 단말기의 공개키 인증서 및 토큰을 포함하여 검증을 요청하는 검증 요청 정보를 전송하고, 이에 대한 유효 해시 경로 정보를 상기 블록체인 네트워크로부터 수신받아 토큰 유효성 검증을 수행하고,
    상기 블록체인 네트워크는,
    상기 검증 요청 정보를 수신하고 포함된 송신 클라이언트 단말기의 공개키 인증서를 해시 트리로 검증하고, 검증 성공 시 유효 해시 경로 정보를 상기 수신 클라이언트 단말기로 제공하는 것을 특징으로 하는 타원곡선암호 기반 일회용 키와 루트 시그니처를 이용한 블록체인 통신 시스템.
  8. 다수의 노드를 포함하는 블록체인 네트워크의 노드인 클라이언트 단말기가 타원곡선암호(ECC) 기반의 일회용 공개키 및 개인키를 생성하여 저장하고, 일회용 공개키에 대한 단말 루트 시그니처를 생성한 후, 상기 일회용 공개키, 단말 루트 시그니처 및 상기 일회용 공개키 생성시점에 대한 타임스탬프를 포함하는 인증서 발급 요청 정보를 생성하여 상기 블록체인 서버로 전송하는 인증키 생성 및 공개키 인증서 생성 요청 과정;
    다수의 노드를 포함하는 블록체인 네트워크의 노드인 블록체인 서버가 공개키 인증서 요청 정보의 수신 시 서버 루트 시그니처를 생성하고, 상기 서버 루트 시그니처에 의한 공개키 인증서를 생성하여 전송하는 공개키 인증서 발급 과정;
    상기 공개키 인증서를 수신받아 저장하고 있고, 메시지를 송신할 클라이언트 단말기인 송신 클라이언트 단말기가 메시지 발생 시 상기 공개키 인증서 및 메시지를 포함하는 메시지 서명 요청 정보를 상기 블록체인 서버로 송신하는 메시지 서명 요청 과정;
    블록체인 서버가 상기 송신 클라이언트 단말기로부터 메시지 서명 요청 정보의 수신 시 상기 블록체인 네트워크로 토큰 요청 정보를 전송하는 토큰 요청 과정;
    상기 블록체인 네트워크가 상기 토큰 요청 정보의 수신에 따른 토큰 요청 이벤트의 발생 시 임의의 노드가 토큰을 생성하여 상기 블록체인 서버 및 상기 송신 클라이언트 단말기로 방송하는 토큰 발행 과정;
    상기 송신 클라이언트 단말기가 상기 메시지 서명 요청 정보의 송신에 대한 토큰을 수신하여 상기 토큰을 포함하는 인증정보 및 수신자의 공개키로 메시지를 암호화하여 수신자의 클라이언트 단말기인 수신 클라이언트 단말기로 송신하는 암호화 메시지 송신 과정; 및
    상기 수신 클라이언트 단말기가 상기 송신 클라이언트 단말기로부터 암호화 메시지를 수신하고, 상기 암호화 메시지를 자신의 공개키로 복호하고, 상기 블록체인 네트워크를 통해 암호화 메시지에 포함된 공개키 인증서 및 토큰에 대한 인증을 수행한 후 인증 성공 시 유효 해시 경로 정보를 상기 블록체인 네트워크로부터 수신받아 상기 수신된 암호화 메시지의 토큰의 유효성 검증을 수행하는 블록체인 암호화 메시지 수신 처리 과정을 포함하는 것을 특징으로 하는 타원곡선암호 기반 일회용 키와 루트 시그니처를 이용한 블록체인 통신 방법.
  9. 제8항에 있어서,
    인증키 생성 및 공개키 인증서 생성 요청 과정은,
    상기 클라이언트 단말기가 공개키(IDPA) 및 개인키(IDSA)를 타원곡선암호(ECC)에 적용하여 일회용 공개키(PKAi) 및 일회용 개인키(SKAi)를 생성하여 저장하는 일회용 인증키 생성 단계;
    상기 생성된 일회용 공개키에 대한 단말 루트 시그니처(σA)를 하기 수학식 1에 의해 생성하는 단말 루트 시그니처 생성 단계; 및
    상기 일회용 공개키, 단말 루트 시그니처 및 상기 일회용 공개키 생성시점에 대한 타임스탬프를 포함하는 인증서 발급 요청 정보(IDPA, σA, t0, PKAi)를 생성하여 상기 블록체인 서버로 전송하는 인증서 생성 요청 단계를 포함하는 것을 특징으로 하는 타원곡선암호 기반 일회용 키와 루트 시그니처를 이용한 블록체인 통신 방법.
    [수학식 1]
    Figure pat00039

  10. 제9항에 있어서,
    상기 공개키 인증서 발급 과정은,
    상기 블록체인 서버가 상기 송신 클라이언트 단말기로부터 공개키 인증서 요청 정보의 수신 시 하기 수학식 2에 의해 상기 공개키 인증서 요청 정보에 포함된 일회용 공개키(PKAi)에 따른 R을 검증하는 R 검증 단계;
    [수학식 2]
    Figure pat00040

    상기 R 검증에 성공하면 자신의 개인키(IDPB)를 통해 하기 수학식 3과 같이 서명하는 서명 단계;
    [수학식 3]
    Figure pat00041

    상기 블록체인 서버가 다수의 클라이언트 단말기의 공개키 인증서 요청 정보에 대해 하기 수학식 4에 의해 하나의 서명 값인 서버 루트 시그니처(σB)를 생성하는 서버 루트 시그니처 생성 단계;
    [수학식 4]
    Figure pat00042

    블록체인 서버로 구성된 블록체인 네트워크가 하기 수학식 5에 의해 상기 단일 서명인 서버 루트 시그니처(σB)를 검증하는 루트 시그니처 검증 단계;
    [수학식 5]
    Figure pat00043


    상기 블록체인 서버가 상기 루트 시그니처 검증 단계에서 검증에 성공하면 상기 단일 서명을 모아 해시 트리의 리프노드로 하여 인증서 관리를 수행하는 인증서 관리 단계;
    상기 검증된 서버 루트 시그니처가 포함된 공개키 인증서(IDPA, σB, t0, PKAi, IDPB, σA)를 상기 클라이언트 단말기로 제공하는 공개키 인증서 발급 단계를 포함하는 것을 특징으로 하는 타원곡선암호 기반 일회용 키와 루트 시그니처를 이용한 블록체인 통신 방법.
  11. 제10항에 있어서,
    상기 공개키 인증서 발급 과정은,
    상기 송신 클라이언트 단말기가 하기 수학식 6에 의해 상기 수신된 공개키 인증서를 검증하는 공개키 인증서 검증 단계를 더 포함하는 것을 특징으로 하는 타원곡선암호 기반 일회용 키와 루트 시그니처를 이용한 블록체인 통신 방법.
    [수학식 6]
    Figure pat00044

  12. 제11항에 있어서,
    상기 메시지 서명 요청 과정은,
    메시지를 송신할 클라이언트 단말기인 송신 클라이언트 단말기가 공개키 인증서(IDPA, σA, t0, PKAi, IDPB, σB), 일회용 개인키(SKAi) 및 하기 수학식 7에 의해 생성되는 메시지를 포함하는 상기 메시지 서명 요청 정보를 블록체인 서버로 전송하는 것을 특징으로 하는 타원곡선암호 기반 일회용 키와 루트 시그니처를 이용한 블록체인 통신 방법.
    [수학식 7]
    Figure pat00045

    여기서, m은 전자 메시지(내용)이다.
  13. 제12항에 있어서,
    상기 토큰 발행 과정은,
    상기 블록체인 서버가 상기 일회용 개인키와 일회용 공개키를 하기 수학식 8에 적용하여 상기 송신 클라이언트 단말기를 확인하고, 상기 블록체인 네트워크의 해시 트리를 통해 공개키 인증서의 유효성을 검증하는 공개키 인증서 유효성 검증 단계; 및
    [수학식 8]
    Figure pat00046

    상기 블록체인 네트워크가 상기 블록체인 서버의 공개키 인증서의 유효성 검증을 토큰 요청으로 인지하여 상기 메시지를 통해 글로벌 해시 트리를 생성한 후, 루트값(Root Value)에 세계 협정 시간을 링킹(Linking)하여 글로벌 타임스탬프(St)를 생성한 후 내부 합의(Consensus)를 통해 토큰(St, SkBi)을 생성한 후 상기 블록체인 서버 및 송신 클라이언트 단말기에 방송하는 토큰 방송 단계를 포함하는 것을 특징으로 하는 타원곡선암호 기반 일회용 키와 루트 시그니처를 이용한 블록체인 통신 방법.
  14. 제13항에 있어서,
    상기 블록체인 암호화 메시지 수신 처리 과정은,
    상기 수신 클라이언트 단말기가 상기 암호화 메시지를 복호화하여 메시지를 획득한 후 블록체인 네트워크로 송신 클라이언트 단말기의 공개키 인증서 및 토큰을 포함하여 검증을 요청하는 검증 요청 정보를 전송하는 검증 요청 단계;
    상기 블록체인 네트워크가 상기 검증 요청 정보를 수신하고 포함된 송신 클라이언트 단말기의 공개키 인증서를 해시 트리로 검증하고, 검증 성공 시 유효 해시 경로 정보를 상기 수신 클라이언트 단말기로 제공하는 해시 경로 정보 제공 단계; 및
    상기 수신 클라이언트 단말기가 상기 유효 해시 경로 정보를 상기 블록체인 네트워크로부터 수신받아 상기 유효 해시 경로 정보를 통해 블록체인의 상기 토큰의 유효성을 검증하는 토큰 유효성 검증단계를 포함하는 것을 특징으로 하는 타원곡선암호 기반 일회용 키와 루트 시그니처를 이용한 블록체인 통신 방법.
KR1020200097829A 2020-08-05 2020-08-05 타원곡선암호 기반의 일회용 키와 루트 시그니처를 이용한 블록체인 통신 시스템 및 방법 KR20220017621A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200097829A KR20220017621A (ko) 2020-08-05 2020-08-05 타원곡선암호 기반의 일회용 키와 루트 시그니처를 이용한 블록체인 통신 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200097829A KR20220017621A (ko) 2020-08-05 2020-08-05 타원곡선암호 기반의 일회용 키와 루트 시그니처를 이용한 블록체인 통신 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR20220017621A true KR20220017621A (ko) 2022-02-14

Family

ID=80254138

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200097829A KR20220017621A (ko) 2020-08-05 2020-08-05 타원곡선암호 기반의 일회용 키와 루트 시그니처를 이용한 블록체인 통신 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR20220017621A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230147318A (ko) 2022-04-14 2023-10-23 삼성에스디에스 주식회사 비디지털 자산에 대한 nft 발행 방법 및 시스템

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102020000B1 (ko) 2018-10-31 2019-09-09 주식회사 스위클 사용증명방식 블록체인 기반의 일회용 개인키를 이용한 개인정보 제공 시스템 및 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102020000B1 (ko) 2018-10-31 2019-09-09 주식회사 스위클 사용증명방식 블록체인 기반의 일회용 개인키를 이용한 개인정보 제공 시스템 및 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230147318A (ko) 2022-04-14 2023-10-23 삼성에스디에스 주식회사 비디지털 자산에 대한 nft 발행 방법 및 시스템

Similar Documents

Publication Publication Date Title
US10903991B1 (en) Systems and methods for generating signatures
US11323276B2 (en) Mutual authentication of confidential communication
US6868160B1 (en) System and method for providing secure sharing of electronic data
US10511591B2 (en) Generation of shared secrets using pairwise implicit certificates
CN109743171B (zh) 一种解决多方数字签名、时间戳及加密的密钥串联方法
US7308574B2 (en) Method and system for key certification
US7730319B2 (en) Provisional signature schemes
US9252955B2 (en) Apparatus and methods for the secure transfer of electronic data
CN101821987B (zh) 有效认证电子邮件协议
CN101459517B (zh) B2b数据交换系统
US9385872B2 (en) Reissue of cryptographic credentials
JP2006511104A (ja) セキュア認証の暗号方法および暗号装置
US6243466B1 (en) Auto-escrowable and auto-certifiable cryptosystems with fast key generation
KR20010040248A (ko) 과도 키 디지탈 시간 스탬프 방법 및 시스템
KR20220017621A (ko) 타원곡선암호 기반의 일회용 키와 루트 시그니처를 이용한 블록체인 통신 시스템 및 방법
EP1461891A1 (en) A method and system for authenticating digital certificates
KR100654933B1 (ko) 사용자의 패스워드 입력에 따라서 동적 생성되는 인증서를인증하는 인증시스템 및 인증방법
CN110572257B (zh) 基于身份的数据来源鉴别方法和系统
CN109088732A (zh) 一种基于移动终端的ca证书实现方法
KR20010096036A (ko) 도메인내에서 검증가능한 사인크립션 방법
JP2513170B2 (ja) 利用者認証方法
US20020152383A1 (en) Method for measuring the latency of certificate providing computer systems
EP4231583A1 (en) Methods and arrangements for establishing digital identity
JP3331329B2 (ja) 公開検証可依頼復元ブラインド署名方法、その装置及びプログラム記録媒体
Tanwar et al. Applications of Digital Signatures in Cryptography

Legal Events

Date Code Title Description
E601 Decision to refuse application