KR20200108343A - 디지털로 서명된 데이터를 획득하기 위한 컴퓨터 구현된 방법 및 시스템 - Google Patents

디지털로 서명된 데이터를 획득하기 위한 컴퓨터 구현된 방법 및 시스템 Download PDF

Info

Publication number
KR20200108343A
KR20200108343A KR1020207023485A KR20207023485A KR20200108343A KR 20200108343 A KR20200108343 A KR 20200108343A KR 1020207023485 A KR1020207023485 A KR 1020207023485A KR 20207023485 A KR20207023485 A KR 20207023485A KR 20200108343 A KR20200108343 A KR 20200108343A
Authority
KR
South Korea
Prior art keywords
data
sharing
participants
digital signature
secret
Prior art date
Application number
KR1020207023485A
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
Priority claimed from GBGB1800706.2A external-priority patent/GB201800706D0/en
Application filed by 엔체인 홀딩스 리미티드 filed Critical 엔체인 홀딩스 리미티드
Publication of KR20200108343A publication Critical patent/KR20200108343A/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/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/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/085Secret sharing or secret splitting, e.g. threshold 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/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/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
    • H04L9/3239Cryptographic 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 involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • 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/3255Cryptographic 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 group based signatures, e.g. ring or threshold 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/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/3257Cryptographic 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 blind 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/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/16Obfuscation or hiding, e.g. involving white box
    • H04L2209/38

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Optimization (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Algebra (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)
  • Emergency Protection Circuit Devices (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

디지털로 서명된 데이터를 획득하는 방법이 개시된다. 방법은 복수의 제1 참가자 중 적어도 하나로부터 적어도 하나의 제2 참가자에게 제1 데이터(e2)를 전송하는 것 - 제1 데이터는 적어도 하나의 상기 제1 참가자에 액세스 가능한 제2 데이터(e)를 기초로 하고, 제2 데이터는 그 또는 각 상기 제2 참가자에 액세스할 수 없음 -을 포함한다. 제1 데이터의 디지털 서명(s1)은 적어도 하나의 상기 제2 참가자로부터 수신되고, 제1 데이터의 디지털 서명은 복수의 제1 참가자에 의해, 제2 데이터의 디지털 서명(s)의 공유를 제공하기 위해 처리되며, 상기 제2 데이터의 디지털 서명은 임계 개수의 상기 공유에 의해 액세스 가능하고, 임계 개수 미만의 공유에 대해 액세스 불가능하다.

Description

디지털로 서명된 데이터를 획득하기 위한 컴퓨터 구현된 방법 및 시스템
본 발명은 일반적으로, 데이터 및 컴퓨터 기반 리소스의 보안에 관한 것이다. 더 구체적으로, 이는 암호 화폐 및 암호화(cryptography)에 관한 것이며, 또한 타원 곡선 암호화(Elliptic Curve Cryptography), 타원 곡선 디지털 서명 알고리즘(Elliptic Curve Digital Signature Algorithm, ECDSA) 및 임계치 암호화(Threshold Cryptography)에 관한 것이다. 이는 (예를 들어) 비트코인(Bitcoin)과 같은 블록체인 구현된 암호 화폐에 관련하여 유리하게 사용할 수 있지만, 이에 관련하여 제한되지 않으며, 더욱 넓은 이용 가능성을 가질 수 있다. 일 실시예에서, 본 발명은 블라인드 딜러리스 임계치(blind dealerless thresholds)를 위한 분산 프로토콜을 제공하는 것으로 서술될 수 있다.
본 문서에서, '블록체인'이란 용어를 모든 형태의 전자적인, 컴퓨터-기반의, 분산 원장(distributed ledgers)을 포함하는 것으로 사용한다. 이는 컨센서스-기반의 블록체인(consensus-based blockchain) 및 트랜잭션-체인 기술, 허가된 및 허가되지 않은 원장, 공유 원장 및 이의 변형을 포함한다. 블록체인 기술의 가장 널리 알려진 응용은 비트코인 원장이지만, 다른 블록체인 구현이 제안되고 개발되었다. 비트코인이 본원에서 편의 및 예시의 목적으로 언급될 수 있지만, 본 발명이 비트코인 블록체인을 통해 사용하는 것으로 제한되지는 않으며, 대안적인 블록체인 구현 및 프로토콜이 본 발명의 범주 내에 속한다는 점이 유의 되어야 한다. "사용자"라는 용어는 본원에서 인간 또는 프로세서 기반의 리소스를 지칭할 수 있다.
블록체인은 결국 트랜잭션으로 구성되는 블록으로 구성되는 컴퓨터-기반의 탈중앙화된(decentralised) 분산 시스템으로 구현된 피어 투 피어(peer-to-peer) 전자 원장이다. 각 트랜잭션은 블록체인 시스템에서 참가자 간의 디지털 자산의 제어의 송신을 인코딩하는 데이터 구조이며, 적어도 하나의 입력 및 적어도 하나의 출력을 포함한다. 각 블록은 블록이 그의 시작 이래로 블록체인에 기록된 모든 트랜잭션의 영구적이고 변경할 수 없는 레코드를 생성하기 위해 함께 연쇄되도록 이전 블록의 해시(hash)를 포함한다. 트랜잭션은 그 입력 및 출력에 내재된(embedded) 스크립트로 알려진 소규모 프로그램을 포함하고, 이는 트랜잭션의 출력에 액세스할 수 있는 방법 및 대상을 지정한다. 비트코인 플랫폼에 대해, 이들 스크립트는 스택-기반의 스크립팅 언어(stack-based scripting language)를 사용하여 기록된다.
트랜잭션이 블록체인에 기록되게 하기 위해, 이는 "유효성 검증(validated)"되어야 한다. 네트워크 노드(채굴자)는, 각 트랜잭션이 유효하고, 무효한 트랜잭션이 네트워크로부터 거부됨을 보장하기 위한 작업을 수행한다. 노드 상에 설치된 소프트웨어 클라이언트는 그의 잠금 및 잠금 해제 스크립트를 실행함으로써, 소비되지 않은 트랜잭션(unspent transaction, UTXO)에 대해 이 유효성 검증 작업을 수행한다. 잠금 및 잠금 해제 스크립트의 실행이 TRUE로 평가되는 경우, 트랜잭션은 유효하고 트랜잭션은 블록체인에 기록된다. 따라서, 트랜잭션이 블록체인에 기록되게 하기 위해, 이는 i) 트랜잭션을 수신하는 제1 노드에 의해 유효성 검증되어야 하고 - 트랜잭션이 유효성 검증되는 경우, 노드는 네트워크에서 다른 노드에 이를 중계(relay)함 -; ii) 채굴자에 의해 구축되는 신규 블록에 추가되어야 하며; 및 iii) 채굴, 즉 과거 트랜잭션의 공공 원장에 추가되어야 한다.
암호 화폐 구현의 사용에 대해 블록체인 기술이 가장 널리 알려져 있지만, 디지털 기업가는 신규 시스템을 구현하기 위해 비트코인이 기초로 하는 암호 화폐 보안 시스템뿐만 아니라 블록체인 상에 저장될 수 있는 데이터의 사용을 조사하기 시작하였다. 블록체인이 암호 화폐의 영역으로 제한되지 않는 자동화된 작업 및 프로세스에 대해 사용될 수 있는 경우, 이는 매우 유리할 것이다. 이러한 해결책은 블록체인의 장점(예를 들어, 이벤트의 영구적인 변조 방지 레코드, 분산 처리 등)을 이용할 수 있으면서, 그의 응용에서 더욱 범용성이 있을 것이다.
탈중앙화의 개념은 비트코인 방법론의 기본이다. 탈중앙화된 시스템은 분산된 또는 중앙화된 시스템과 달리, 단일 장애 지점이 없는 장점을 제공한다. 그러므로, 이는 개선된 수준의 보안 및 회복력을 제공한다. 이 보안은 타원 곡선 암호화 및 ECDSA와 같은 알려진 암호화 기술을 사용하여 더 향상된다.
하지만, 비트코인 프로토콜 그 자체는 본 출원서를 제출할 때 임의의 상당한 공격에 대해 회복력이 있음을 입증하였지만, 비트코인 네트워크를 보충하거나 또는 구축하는 거래소(exchange) 및 지갑(wallet)에 대한 공격이 있다. Bitcoin의 가치가 증가함에 따라 Mt Gox 및 Bitfinex를 수반하는 것과 같은 더욱 많은 사건이 표준 중앙화된 시스템에서 발생할 가능성이 있다.
따라서, 이러한 시스템의 보안을 더 향상시키는 해결책에 대한 요구가 있다. 본 발명은 그 중에서도 이러한 장점을 제공한다.
본 발명은 첨부된 청구범위에 정의된 방법(들) 및 시스템(들)을 제공한다.
본 발명에 따라, 디지털로 서명된 데이터를 획득하는 방법이 제공될 수 있으며, 방법은:
복수의 제1 참가자 중 적어도 하나로부터 적어도 하나의 제2 참가자에게 제1 데이터를 전송하는 것 - 상기 제1 데이터는 적어도 하나의 상기 제1 참가자에 액세스 가능한 제2 데이터를 기초로 하고, 상기 제2 데이터는 그 또는 각 상기 제2 참가자에 액세스할 수 없음 -;
적어도 하나의 상기 제2 참가자로부터, 상기 제1 데이터의 디지털 서명을 수신하는 것; 및
복수의 상기 제1 참가자에 의해, 상기 제2 데이터의 디지털 서명의 공유를 제공하기 위해, 상기 제1 데이터의 상기 디지털 서명을 처리하는 것 - 상기 제2 데이터의 상기 디지털 서명은 임계 개수의 상기 공유에 의해 액세스 가능하고, 상기 임계 개수 미만의 공유에 대해 액세스 불가능함 -을 포함한다.
복수의 제1 참가자에 의해 제2 데이터의 디지털 서명의 공유를 제공하기 위해 제1 데이터의 디지털 서명을 처리함으로써, 제2 데이터의 디지털 서명은 임계 개수의 공유에 의해 액세스 가능하고 임계 개수 미만의 공유에 대해 액세스 불가능하고, 이는 제2 참가자가 제2 데이터에 액세스하지 못하지만, 제1 데이터에 서명하고 제2 데이터의 디지털 서명이 제공되게 하기 때문에, 개선된 보안의 장점을 제공하면서, 임계치 배열에 의해 보안을 더 개선한다. 이는 블록체인 트랜잭션과 같이 메시지에 서명하기 위한 개인키의 관리자(custodian)로서 제2 참가자를 임명할 수 있으면서, 제2 데이터가 제2 참가자에 대해 액세스 불가능하기 때문에 제2 참가자가 키의 허가되지 않은 사용을 하는 것을 방지하는 장점을 제공한다.
상기 제2 데이터의 상기 디지털 서명의 각 상기 공유는 공동 랜덤 비밀 공유(joint random secret sharing: JRSS)에 의해 복수의 상기 제1 참가자 간에 공유되는 복수의 제1 비밀 값의 공유를 포함할 수 있다.
이는 제1 비밀 값이 제1 참가자에 의해 공동으로 선택되는 딜러리스 비밀 값 공유 방식(dealerless secret value sharing scheme)을 제공함으로써 보안을 개선하는 장점을 제공하며, 그를 통해 단일 딜러의 형태인 시스템의 약점을 회피한다.
상기 제2 데이터의 상기 디지털 서명의 각 상기 공유는 공동 제로 비밀 공유(joint zero secret sharing, JZSS)에 의해 상기 복수의 제1 참가자 간에 공유되는 적어도 하나의 제1 마스킹 공유(first masking share)를 포함할 수 있다.
상기 제1 데이터가 임계 개수의 상기 공유에 의해 액세스 가능하고 상기 임계 개수 미만의 공유에 대해 액세스 불가능하도록 상기 제1 데이터는 상기 제1 데이터의 공유에 의해 생성될 수 있다.
상기 제1 데이터의 각 상기 공유는 공동 랜덤 비밀 공유(JRSS)에 의해 상기 복수의 상기 제1 참가자 간에 공유되는 복수의 상기 제1 비밀 값의 공유를 포함할 수 있다.
상기 제1 데이터의 각 상기 공유는 공동 제로 비밀 공유(JZSS)에 의해 상기 복수의 제1 참가자 간에 공유되는 적어도 하나의 제2 마스킹 공유를 포함할 수 있다.
방법은 적어도 하나의 상기 제2 참가자로부터, 상기 제2 비밀 값을 기초로 제3 데이터를 수신하는 것을 더 포함할 수 있다.
이는 제1 데이터의 디지털 서명으로부터 제2 데이터의 디지털 서명의 생성을 지원하는 장점을 제공한다.
제1 데이터의 디지털 서명은 복수의 상기 제2 참가자 간에 공유되는 상기 제1 데이터의 상기 디지털 서명의 공유에 의해 생성될 수 있으며, 상기 제1 데이터의 상기 디지털 서명은 상기 임계 개수의 상기 공유에 의해 액세스 가능하고 상기 임계 개수 미만의 상기 공유에 대해 액세스 불가능하다.
상기 제1 데이터의 상기 디지털 서명의 각 상기 공유는 공동 랜덤 비밀 공유(JRSS)에 의해 복수의 상기 제2 참가자 간에 공유되는, 복수의 제2 비밀 값의 공유를 포함할 수 있다.
상기 제1 데이터의 상기 디지털 서명의 각 상기 공유는 공동 제로 비밀 공유(JZSS)에 의해 상기 복수의 상기 제2 참가자 간에 공유되는 적어도 하나의 제3 마스킹 공유를 포함할 수 있다.
제2 데이터는 메시지일 수 있다.
제2 데이터는 메시지의 해시 값일 수 있다.
제1 데이터는 블록체인 트랜잭션일 수 있다.
적어도 하나의 상기 디지털 서명은 준동형 특성(homomorphic property)을 갖는 암호화 시스템에 기초할 수 있다.
적어도 하나의 상기 디지털 서명은 타원 곡선 암호화 시스템에 기초할 수 있다.
또한, 본 발명은 시스템을 제공하고:
프로세서; 및
프로세서에 의한 실행의 결과로서, 시스템이 본원에서 서술된 컴퓨터-구현 방법의 임의의 실시예를 수행하게 하는 실행가능 명령어를 포함하는 메모리를 포함한다.
본 발명은 또한, 컴퓨터 시스템의 프로세서에 의한 실행의 결과로서, 컴퓨터 시스템이 본원에서 서술되는 컴퓨터-구현 방법의 일 실시예를 적어도 수행하게 하는 실행가능 명령어를 저장하는 비일시적인 컴퓨터 판독가능 저장 매체를 제공한다.
본 발명의 이들 및 다른 양상은 본원에 서술된 실시예로부터 명백할 것이고, 이를 참조하여 설명될 것이다. 이제, 본 발명의 일 실시예는 첨부 도면을 참조로 예시로서만 서술될 것이다:
도 1은 본 발명을 구현하는 블라인드 서명 분산 시스템의 개략도이고; 및
도 2는 다양한 실시예가 구현될 수 있는 컴퓨팅 환경을 도시하는 개략도이다.
개요
본 출원에서, 비트코인과 완전히 호환 가능한 임계치 기반의 딜러리스 블라인드 서명 분산 시스템이 서술된다. 시스템은 비트코인 지갑 내에 전개된 전통적인 개별 서명 시스템으로부터 출발하는 그룹 서명 방식을 구축하고, 메시지의 분산된 임계치 블라인드 서명을 허용하도록 설계된 신규 시스템을 추가한다. 전개된 시스템은 확장 가능하고, 오류 및 악의적인 공격자에 견디는데 강력하다. 이 시스템은 딜러 및 딜러리스 시스템, 및 무한히 유연한 분산 조합의 전개를 지원한다.
블라인드 서명 방식은 메시지의 내용의 지식 없이, 메시지의 서명을 허용한다. 비트코인에서, 이는 어느 주소 또는 키로 위임(entrusted)되었는지를 알 필요 없이, 비트코인 개인 키에 대한 수탁자(trustee)의 역할을 하기 위한 능력을 포함한다.
임계 수의 참가자에 의해 문서가 유효하게 디지털로 서명될 수 있지만 임계 수 미만인 참가자에 의해서는 그렇지 않은, 임계치 서명 방식과 결합되어, 이는 비트코인 개인 키의 보유자(holder)가, 유지되는 양(amounts)의 지식 없이 주소를 관리하는 파티에 의해 메시지가 서명될 수 있는 신뢰 시스템을 생성하는 것을 허용한다. 따라서, 다량의 비트코인의 소유자인 제2 참가자 Alice는 제1 참가자 Bob을 사용하여, Bob이 Alice가 얼마나 많은 비트코인을 제어하는지 아는 것을 허용하지 않는 방식으로, 그녀의 키를 저장할 수 있다. Alice는 Bob이 Alice가 보유하고 제어하는 비트코인(또는 그 점에 있어서 비트코인의 주소)이 얼마나 많은지를 발견할 수 있지 않으면서, 블라인드된 주소로 더욱 많은 것을 보낼 수 있다(또는 다른 파티로부터 수신할 수 있다).
Alice는 임계치 시스템과 결합될 때, 다음 없이, 수 개의 파티가 일제히(in concert) 행동하게 할 수 있다:
1) 다른 블라인딩 파티의 신원(identity)을 아는 것
2) 파티가 더 이상 이용 가능하지 않더라도, 그녀가 그녀의 자금에 액세스하는 것을 허용하는 방식으로 수 개의 시스템을 통해 그녀의 비트코인을 보호하는 것.
임계치 블라인드된 키가 블라인드된 서명을 사용하는 것을 수반하는 서명된 메시지를 이끌기 때문에, 파티는 Alice의 자금에 액세스 하도록 공모할 수 없고, 심지어 다른 파티의 신원에 대한 액세스를 얻을 수 없고 메시지에 블라인드 서명할 수 있는 충분한 수의 임계치 공유를 획득할 수 없는데, 이는 이 메시지가 표준 ECDSA 비트코인 서명된 트랜잭션으로 블라인드 해제된(un-blinded) 경우에만 유효하기 때문이다.
임계치 블라인딩 기술은 또한 결함이 있는 난수 생성기(Random Number Generator, RNG)로부터 방어하는 데 도움이 될 수 있고 주입될 수 있는 임의성을 추가한 주소를 통해 기본 시스템의 보안을 추가한다. 블라인드 서명 파티는 주요(key) 관리자 또는 에스크로(escrow)의 역할을 할 수 있다. 이는 손실의 경우 또는 권한 부여(authorisation) 및 제어의 제2 계층을 추가하기 위해 기본 키에 대한 백업으로서 있을 수 있다. 수 개의 시스템 또는 운영자의 사용은 수 개의 독립적인 파티가 신뢰된 보호자로서 사용될 때 추가된 여분(redundancy)뿐만 아니라 추가된 보안을 갖는 RAID-유사 키 관리 시스템을 허용한다.
비트코인의 기존의 구현에서 지불자의 지갑은 손실되거나, 손상되거나 또는 도난될 수 있다. 그 후, 자금은 손실되거나 또는 복구할 수 없을 것이다. 하드웨어 암호 화폐 지갑이 훼손되거나(compromised) 손실될 수 있다. 본 출원에 서술된 시스템에서, 하드웨어 시스템은 다수의 부분으로 나누어질 수 있고, 하드웨어 디바이스는 안전하게 이동되거나 또는 재생성될 수 있다. 본 출원에서, 다음의 기호가 사용된다:
Figure pct00001
유의사항: k -1 은 (k -1 .k)=1 mod n이도록 k modulo(n)의 역(inverse)이다.
표준 ECDSA 값이 다음과 같이 적용된다:
Figure pct00002
모든 표준 ECDSA 규칙이 적용된다. 다음이 되도록 선형 변환을 구성하는 것이 가능하다.
Figure pct00003
이 관계는 서명될 메시지를 블라인드하는 데 사용된다. 제2 참가자(Alice)는 사용될 메시지 대신에, 블라인드된 메시지에 이제 서명할 수 있으며, 메시지를 유지하고 단지 블라인드된 매시지 해시만을 전송한다.
1) Alice는 메시지의 블라인드된 해시를 제1 참가자인 Bob에게 전송한다.
2) Bob은 서명된 값을 Alice에게 반환하는 '블라인드된 해시'에 서명한다.
3) Alice는 서명을 획득하기 위한 Bob의 값을 '블라인드 해제'한다. 이는 유효한 비트코인 트랜잭션을 재구성하는 데 사용될 수 있다
임계치 블라인딩은 다음을 통해 확장 가능하게 완료될 수 있다.
1) Alice의 키가 분할됨
2) Bob의 값이 분할됨
3) Bob 및 Alice의 키 양자가 분할됨
4) Alice 및 Bob의 키 전체, 하지만 블라인드를 위한 값이 나누어짐
Alice가 범위 [1, (n-1)] 내의 값 α를 선택하게 한다. 그 후, 다음을 계산한다:
Figure pct00004
β가 임계치인 경우, Alice는 T u 파티의 그룹으로서 간주될 수 있으며, A 1 내지 A Tv A i 로 표기된 특정 인스턴스를 갖는 Alice의 슬라이스 또는 임계치 버전이다. 여기서, α는 알고리즘 #1을 사용하여 선택되며, 이는 아래에서 더 자세히 서술된다.
종래의 작업
샤미르 비밀 공유 방식(Shamir Secret Sharing Scheme, SSSS)
샤미르(1979)는 먼저, 키의 분산된 관리를 허용한 딜러 기반의 비밀 공유 방식을 도입하였다. 이 방식과 연관된 문제점은 검증될 수 없는 딜러를 신뢰하는 것의 필요성으로부터 발생한다. 이 형태의 방식은 본 출원에 개시된 시스템과 완전히 호환 가능하며, 본원에서 유의되는 프로세스를 통해 생성되는 개별적인 키 슬라이스의 그룹 분산에 대해 사용될 수 있다.
공동 랜덤 비밀 공유(JRSS)(페데르센(Pedersen), 1992년)
이 절차의 명시된 목표는 참가자의 그룹이 임의의 참가자가 비밀의 지식을 갖지 않으면서, 비밀을 집합적으로 공유할 수 있는 방법을 생성하는 것이다. 각 참가자는 랜덤 값을 그의 로컬 비밀로서 선택하고, SSSS를 사용하여 이로부터 도출된 값을 그룹으로 분산시킨다. 그 후, 각 참가자는 그 자신을 포함하는 참가자로부터 수신된 모든 공유를 추가한다. 이 합은 공동 랜덤 비밀 공유이다. 단일의 정직한 참가자에 의해 제공된 임의성은 결합된 비밀 값의 기밀성(confidentiality)을 유지하는데 충분하다. 이 상태는 모든 (n-1)의 다른 참가자가 랜덤이 아닌 비밀 값을 의도적으로 선택하더라도 참으로 유지된다.
공동 제로 비밀 공유(JZSS) (벤-오(Ben-Or), 1988년)
JZSS는 JRSS와 유사하며, 차이점은 각 참가자가 랜덤 값에 대한 대안으로 0을 공유한다는 것이다. 이 기술을 사용하여 생성된 공유는 JRSS 알고리즘에서 임의의 잠재적인 약점을 제거하는 데 도움이 된다.
데스메트(Desmedt)[1987]는 그룹 지향된 암호화의 개념을 도입하였다. 이 프로세스는 참가자 중 선택된 서브세트만이 메시지를 암호 해독하는 것을 허용하는 방식으로, 참가자가 메시지를 일 그룹의 사람들에게 전송하는 것을 허용하였다. 시스템에서, 구성원은 전송자가 공개 키를 사용하여 그들을 알아야 하는 경우 알려진 것으로 언급되었고, 구성원과 독립적으로 유지되는 그룹에 대해 단일 공개 키가 존재하는 경우 그룹은 익명이다. 본 출원에 개시된 시스템은 양자의 방법론을 통합하고 알려진 익명의 전송자와 서명자가 그룹 내에 동시에 존재하는 것을 허용한다.
블라인드 서명(차움(Chaum), 1982년)
블라인드 서명은 서명자에 의해 메시지가 보여지는 것 없이 안전한 방식으로 일 파티가 다른 파티에 대한 유효한 서명을 생성하는 것을 허용한다. 시스템에서, 서명자만이 유효한 서명을 생성할 수 있는 한편, 서명될 메시지의 소유자에게는 그의 메시지가 변경되지 않았고 올바르게 분산되는 것이 보장될 수 있으며, 비트코인 내에서 사용되는 것과 같이 시스템에서 그가 그의 자금을 회수하는(redeem) 것을 허용한다. 또한, 시스템은 어떠한 파티도 블라인드된 값과 블라인드 해제된 값 사이의 관계 및 서명이 적용되어야 하는 것을 요구하는 파티 이외의 서명 쌍을 도출할 수 없다는 점을 생각할 수 없다.
임계치 시스템으로의 블라인드 서명의 포함은 서명자가 비트코인 주소에 소유권을 링크할 수 없는 비트코인 프로토콜에서 메시지의 서명을 허용한다. 이 방식으로, 서명자는 파티에 의해 그들이 보호하는 보유된 자금의 양 또는 이체되는 양을 결정할 수 없다. 키를 보호하는 임계치 그룹 내에서 자금을 훔치도록 공모하는 것이 더 이상 불가능하기 때문에, 이 추가적인 수준의 프라이버시는 추가적인 보안을 추가한다. 이는 어떤 블라인드된 키가 어떤 예금과 연관될 것인지를 알아야 하는 요건에 기인하여 실현 불가능해진다. 피어-그룹에서, 이러한 시스템이 구성될 수 있으며, 여기서 임계치 그룹의 구성원은 다른 구성원의 키를 보호하도록 작용한다. 이 시나리오에서, 구성원이 그룹에서 다른 이의 보유물을 알지 못하도록, 예금자의 그룹은 다른 구성원 사이의 서명 기능을 각각 분할할 것이다.
이 시나리오는 분산된 피어 그룹이 모든 구성원의 프라이버시를 유지하도록 허용하는 한편 그룹의 구성원에 관련된 민감한 정보를 드러내는 것을 할 수 없게 하는 다른 형태의 메시지 교환에도 사용될 수 있다.
방법 및 구현
본 실시예의 프로토콜은 개인 키의 계층적 도출(hierarchical derivation)을 기초로 타원 곡선 암호화(ECC)를 사용하여 참가자 간에 전송되도록 요구되는 비밀 정보를 암호화할 수 있으며, 이 경우, 필요시 잠재적으로 훼손되거나 또는 적대적인 참가자에 대해 유효성 검증이 이루어질 수 있도록 모든 메시지를 모든 사용자에게 전송되는 단일 패킷 내로 합치는(collate) 것이 가능하고 바람직하다.
서명 생성은 조정 참가자 p (c) 에 의해 제안된다. 기본적으로 임의의 키 슬라이스는 조정 참가자의 역할을 할 수 있으며, 요건은 프로토콜의 개별적인 구현에 의존한다. 사용된 알고리즘은 아래에 문서화되어 있으며 이후 섹션에서는 그 구축에 대한 세부 정보를 제공한다.
딜러리스 블라인드된 ECDSA 임계치 키를 생성
본 실시예의 시스템에서, 제1 참가자의 소유권 그룹 Alice (i) 이 정의된다. 이 그룹은 제2 참가자의 그룹, Bob (i) 그룹 또는 시스템의 자격(capacity)을 사용하여 블라인드 서명되는 개인 키의 이로운 제어자이다.
Alice 그룹
시작하기 위해, 블라인드 해제된 임계치 그룹 Alice (i) 은 난수(random number)의 형태인 제1 비밀 값의 세트를 선택한다.
Figure pct00005
A αi i번째 구성원의 비밀 슬라이스 A α 이도록, 그룹은 T u 임계치에서 T v 구성원을 갖는다.
알고리즘 1 - 키 생성 - 알고리즘 1의 더욱 상세한 버전은 아래 부록을 참조
도메인 파라미터(CURVE, Cardinality n, Generator G)
입력: N/A
출력: 블라인딩 키 공유 Aa1,...Aai, Ab1,...Abi, Ac1...Aci, Ad1...Adi
알고리즘 1을 사용하여 Alice 그룹의 구성원은 T v 임계치 교환의 JRSS T u 에 관계할(engage) 수 있다. 여기서, 제2 비밀 값 A α 을 생성하거나 또는 사용하기 위해서는 Alice의 T v 멤버의 임계 수 Tu가 요구된다.
마찬가지로, JRSS 프로세스는 제2 비밀 값 A bi 를 갖는 A b , A ci 를 갖는 A c A di 를 갖는 A d 를 더 생성하기 위해 알고리즘 1과 사용된다.
값의 각각은 동일한 임계치 그룹 (u, v)을 사용하여 사용되고 생성될 수 있거나, 또는 각 값은 별도의 임계 값 및 구성원을 사용하여 나누어지고 생성될 수 있다.
이 시스템에서, 다양한 비밀 A αi , A bi , A ci A di 은 단 한번만 사용된다. 이들 값이 다시 사용되어야 하는 경우, 아래에 자세히 설명된 알고리즘 2가 JZSS 변형을 사용하여 비밀을 다시 공유하는데 사용된다.
알고리즘 2 - 개인 키를 업데이트 - 알고리즘 2의 더욱 상세한 버전은 아래 부록을 참조.
입력: 개인 키 Aa, Ab, Ac, Ad에 대한 참가자 P i 의 공유는 각각 Aai, Abi, Aci, Adi로 표기된다.
출력: 참가자 P i 의 신규 개인 키 공유
A'ai, A'bi, A'ci, A'di
단일 Alice 그룹만이 존재하는 이상적인 경우(한 세트의 공유 (T u , T v ) 만이 있는 경우), 프로세스는 값으로서 T v 브로드캐스트를 요구한다.
A αi , A bi , A ci , A di 는 각각 단일 브로드캐스트 메시지로 전송될 수 있다.
Bob 그룹
제1 참가자의 Bob 그룹 Bob (i) 은 서명 그룹으로 정의된다. 이 그룹은 BpBq가 Alice 그룹에 대해 블라인드된 메시지에 서명하기 위해 Bob 그룹에 의해 사용되는 재생성된 블라인딩 값일 때, 제1 비밀 값 (Bp, Bq)을 공유하고 사용하기 위해 요구되는 T v ' 전체 구성원 중 (T u ', T v ') 또는 T u ' 구성원을 갖는다.
알고리즘 4 - Bob 그룹의 블라인딩 키
1) Bob 그룹의 구성원 Bob (i) 은 난수의 형태인 제2 비밀 값의 세트를 선택한다:
Figure pct00006
2)Bob 그룹은 다음 값을 계산한다.
a) BP = (Bp -1 .G)
b) BQ = (BqBp -1 .G)
여기서, BP는 본 출원의 부록에 더욱 상세히 서술된 알고리즘 3의 변형을 사용하여 계산된다.
3) 마스크 공유를 생성한다 -
JRSS를 사용하여 bai <- Zq
JZSS를 통해 bbi, bci <- Zq 2
4) 다음을 브로드캐스트한다 -
Figure pct00007
5)
Figure pct00008
Figure pct00009
Interpolatei, ..., αTv) 연산은 공유 αi에 의해 참가자 간에 공유된 비밀 값의 복구를 나타낸다.
6)
Figure pct00010
Figure pct00011
Exp-Interpolatei, ..., βTv) 연산은 공유 βi에 의해 참가자간에 공유된 타원 곡선 점 비밀 값의 복구를 나타낸다.
7)
Figure pct00012
Figure pct00013
이는 점 함수이며 수정된 알고리즘 1에 입력으로서 (Bp-1 x G)를 사용할 수 있다.
8) Bq i 즉, Bq의 공유 및 단계 (7)로부터의 (Bp-1.G)를 사용하여, Bob(i)의 각 구성원은 다음을 브로드캐스트할 것이다:
Figure pct00014
9)
Figure pct00015
Figure pct00016
10) 두 개의 EC 점 BPBQ은 제3 데이터 형태로 Alice 그룹에 전송된다. 비밀 교환은 예를 들어, 국제특허출원 WO2017/145016에 개시된 바와 같이 구현되는 기밀성을 유지하기 위해 사용될 수 있다.
블라인드될 임계치 메시지
다음으로, Alice(i) 그룹은 (5)를 사용하여 블라인드될 때 안전하게 공개될 수 있는 값을 계산하기 위해 Bob(i) 그룹으로부터의 값을 사용한다.
알고리즘 5 - Alice(단일 그룹)
Alice는 Bob (i) 그룹의 이전 브로드캐스트로부터 BPBQ를 안다.
Alice는 비밀 값을 계산함으로써 시작된다:
Figure pct00017
이는 다음과 같이 이루어진다.
1) 마스크 공유를 생성한다:
JZSS를 사용하여 M αi , 따라서, JZSS를 통해 M αi <- Z 2 q .
2) Alice(i)는 다음 값을 브로드캐스트한다:
Figure pct00018
3) Alice(i) 그룹은 이제 Aμ를 계산하며 여기서:
Figure pct00019
그러므로,
Figure pct00020
4)
Figure pct00021
Figure pct00022
다음 Alice(i) 그룹은 블라인드된 B 공개 키를 계산한다.
Figure pct00023
여기서 A K(x) 는 타원 곡선 점 AK의 x-좌표를 나타낸다.
Bob 그룹은 A T 또는 A K 를 알지 못하며, 그의 값 또는 노력 중 어느 것이 A a , A b , A c A d 를 발견하지 않고 A T 및 관련된 비트코인 주소로의 또는 이로부터의 어느 자금의 움직임에 수반되는지를 결정할 수 없다. Alice 그룹이 이를 보안 임계치로서 유지하는 경우, Bob 또는 임의의 다른 파티는 Alice의 세부 사항을 결코 알 수 없다.
Alice는 이제 비트코인 주소의 표준 생성에서 공개키 AT를 사용할 수 있으며, Bob이 트랙잭션의 서명에 도움을 주는데 유효하더라도, Bob (i) 이 그녀의 주소를 결정하기 위한 임의의 능력을 더 가릴 것이다.
알고리즘 6 - Alice가 공개 키를 계산
1) 마스크 공유를 생성한다:
JRSS를 사용하여 M αi <- Z2 q
2) 마스크 공유를 생성한다:
JZSS를 사용하여 M bi , M ci <- Z2 q
3) 계산:
Figure pct00024
i 를 모든 Alice(i) 구성원에게 브로드캐스트한다.
(A K(x) 는 점 AKx좌표임)
4) 알고리즘 1을 사용하여 (A b , G)를 계산한다.
여기서, Af i = G x A bi
Af i 를 모든 Alice(i) 구성원에게 브로드캐스트한다.
Figure pct00025
5)
Figure pct00026
를 계산한다.
먼저, Aμ를 취한다
이제,
Figure pct00027
Figure pct00028
따라서, 이는 나중에 [AaAK(x)]-1을 계산하는 데 사용될 수 있다.
6) 알고리즘 4에서 사용한 것과 동일한 방법으로 값 (A C -1 .BP)이 먼저 계산된다.
7) 이는 값 (A d .A c -1.BP)을 계산하는 데 사용된다
8) 마스크 공유를 생성한다:
JRSS를 사용하여 M di <- Z q
JZSS를 사용하여 M ei , M fi <- Z2 q
9) 값을 Alice(i) 그룹에 브로드캐스트한다.
Figure pct00029
10)
Figure pct00030
Figure pct00031
11)
Figure pct00032
Figure pct00033
12)
Figure pct00034
Figure pct00035
곡선 BP 상의 점으로서 A c -1.BP를 반환한다. 이는 알고리즘 1로의 입력으로서 사용된다.
13) Adi 및 EC 점 (A c -1.BP)을 사용하고, Alice(i)의 각 구성원은 다음을 브로드캐스트한다:
Figure pct00036
14)
Figure pct00037
Figure pct00038
15) 이제, 모든 부분이 공개 키 A T 를 계산하기 위해 존재한다. 이는 다음 공식을 사용하여 계산된다.
Figure pct00039
즉:
블라인드된 공개 키로서 기능을 하는 EC 점 A T 을 반환하는 알고리즘 (5.4)×[(6.4)+BQ+(6.14)].
비트코인 주소를 생성
이 공개 키는 비트코인 주소를 생성하기 위해 표준 방식으로 변환된다:
Figure pct00040
1) 공개 키를 나타내기 위해 A T (y) 및 전체 A T (x) 좌표의 패리티(parity)를 사용한다.
2) 공개 키를 두 번 해시한다.
a) SHA256를 사용
b) RIPEMD160을 사용
3) 버전(이는 비트코인 주소 버전 번호임) 번호를 앞 부분에 추가(prepend). 프로토콜이 표준인 경우, 버전 01이 사용된다. P2SH를 사용하는 경우 이를 버전 03으로 하는 것도 가능하다.
4) (3)으로부터 버전화된 공개 키 해시의 끝에 체크섬(checksum)을 추가한다(append). 체크섬은 (3)으로부터 반환된 값의 이중 SHA256 해시의 처음 4 바이트이다.
5) BASE58은 (4)에서 생성된 값을 인코딩한다. 이는 표준 포맷의 비트코인 주소이고, Alice(i) 그룹은 이 주소로 지불을 받을 수 있으며, 이 주소는 이 점에서 임의의 정상적인 비트코인 주소에 따라 디스플레이될 것이다.
Alice가 값 A α , A b , A c & A d 을 유출하지 않는 한 Bob을 포함하여 어느 파티도 A T 에 대한 주소를 누가 소유하였는지 알 수 없다.
이들이 유출 되더라도, Alice(i)는 다른 사람들에게 이들 값이 Bob(i) 서명 그룹에 관련되어 있음을 알릴 필요는 없다. Alice가 양호하지 않은 RNG를 갖는 경우, 그녀는 Bob(i)이 절차에 임의성을 주입할 수 있으므로 여전히 안전하다.
임계치 그룹에서 블라인드된 서명.
메시지에 서명하기 위해, 비트코인을 소비하는 요건 또는 (가령, 익명의 호스트의 이메일 메시지에 대한) 임의의 다른 메시지에 서명하기 위해, Alice(i) 그룹은 메시지 또는 트랜잭션의 해시 e = h(m)를 가져야 한다. 메시지(또는 트랜잭션) 및 서명된 해시를 통해, Alice(i)는 메시지(트랜잭션)를 재구성하고 비트코인 공개 키 A T 및 연관된 비트코인 기본 58 주소로부터 자금을 회수할 수 있다.
알고리즘 3 서명 생성 - 알고리즘 3의 더욱 상세한 버전은 아래 부록을 참조
도메인 파라미터: CURVE, Cardinality n, Generator G
입력: 서명될 메시지 e = H(m)
개인 키 공유
Figure pct00041
출력: 서명 e = H(m)에 대해
Figure pct00042
Alice는 Bob(i)이 메시지(트랜잭션)의 내용을 알지 못하게 함으로써 프라이버시를 유지한다. 따라서, Bob(i)은 그가 A T 에 관련된 메시지에 서명하는 것을 알지 못하며, Alice(i)는 해시 값을 블라인드 한다.
알고리즘 7 - 해시를 블라인드
Alice는 제2 데이터의 블라인드된 버전, 해시된 메시지(트랜잭션) e의 형태로 제1 데이터를 생성한다.
여기서, e2 = A α .e + A b (modq). 이는 다음과 같이 생성된다:
1) Alice(i)는 JZSS를 사용하여 마스크 공유 Mαi <- Zq를 생성함으로써 개시한다.
2) Alice(i)는 값 Av(i) = (i)e + Ab(i) + Mα(i)mod q를 전송할 것이다.
Alice(i)는 이 값 세트를 보간할 수 있는 다른 Alice 구성원에게 값 Av(i)을 전송한다.
3)
Figure pct00043
Figure pct00044
4) e 2Bob(i) 그룹에 브로드캐스트된다. 이는 Bob이 Alice의 신원을 검증하는 암호화된 채널을 사용하여 이루어진다. 이는 예를 들어, 국제특허출원 WO2017/145016에 개시된 바와 같은 배열에 의해 달성될 수 있다. 여기서 Alice는 Bob에게 서명을 위한 비용을 지불하고 폐쇄된 암호화된 세션 채널을 통해 교환한다.
Bob이 비-Alice 파티로부터 메시지를 수신하고 이에 서명하는 경우, 값은 블라인드 해제될 수 없으며, 따라서 이는 안전하게 유지된다. Bob이 지불 및 레코드를 갖더라도, 그는 값 e 2이 블라인드되고 Alice가 Bob에게 메시지를 전송하지 않고 블라인드된 해시만을 전송하므로, 서명된 Alice 트랜잭션에 관한 정보를 갖지 않는다.
Bob 그룹은 이제 블라인드된 해시에 서명하고 이를 즉, 제1 데이터의 디지털 서명을 Alice에게 반환한다.
Bob(i)은 메시지 s 1 = Bp.e 2 + Bq mod q를 생성한다.
s 1 은 Alice에게 반환될 것이며, 서명의 블라인드된 버전이다.
이를 하기 위해, Bob(i)은 그의 임계치 그룹으로부터 서명하고 s 1 Alice(i)로 반환하기 위해 알고리즘 8을 사용한다.
알고리즘 8
Figure pct00045
1) Bob(i)은 JZSS를 사용하여 마스크 공유를 생성한다.
JZSS를 통해
Figure pct00046
2) Bob(i)은 다음을 브로드캐스트한다
Figure pct00047
3)
Figure pct00048
Figure pct00049
4) Bob(i)s 1 , 블라인드된 s 1 서명 값을 Alice(i)에게 전송한다.
Alice는 이제 서명의 블라인드된 s 1 부분뿐만 아니라, (A K(x) )인 r 부분을 갖는다.
Alice(i)는 알고리즘 9를 사용하여 블라인드된 s 1 값으로부터 s 서명 값, 즉 제2 데이터의 디지털 서명을 복구하기 위해 임계치 블라인드 해제 방법을 사용할 수 있다.
알고리즘 9
Alice(i)s 1 블라인드된 부분으로부터 블라인드 해제된 s 서명 구성요소를 획득하기를 원할 수 있다. 그녀는 s = A c .s 1 + A d (mod q)를 계산함으로써 이를 한다.
이를 하기 위해 그녀는:
1) JZSS를 사용하여 해시 공유를 생성한다.
JZSS를 통해 M α(i) <- Z 2 q
2) Alice(i)은 다음을 브로드캐스트한다
si = Ac(i)s1 + Ad(i) + Ma(i)
모든 다른 Alice 구성원에게.
3)
Figure pct00050
Figure pct00051
이제 Alice(i) 그룹에서 각 파티는 유효한 ECDSA 서명인 (A K(x) , s)를 갖고, 공개 키 A T 또는 관련된 비트코인 주소를 사용하여 비트코인 프로토콜에서 늘 그렇듯 검증될 수 있다.
S는 다음과 같이 e의 유효한 ECDSA 서명으로 나타날 수 있다.
s를 확장한다
s = Acs1 + Ad = Ac(Bpe2 + Bq ) + Ad
= Ac Bp (Aa e + Ab) + Ac Bq + Ad = Ac Bp Aa e + Ac Bp Ab + Ac Bq + Ad
= (Ac Bp Aa) (e + Aa -1 [Ab + Bq Bp-1 + Ad Ac -1 Bp-1)
그러나 위의 방정식 1로부터 공개 키 AT에 해당하는 개인 키 dA
Aa -1 A K(x) -1 (Ab + Bq Bp-1 + Ad Ac -1 Bp-1)
이로부터, 이는 다음을 따르며
s = (Ac Bp Aa) [e + AK(x) dA] = k-1 [e + AK (x) dA], 여기서 k = (Ac Bp Aa)-1이며, 이로부터 s는 e의 유효한 ECDSA 서명이며 공개 키 AT로 검증 가능함이 관찰될 수 있다.
메시지와 이 서명은 비트코인 네트워크로 브로드캐스트될 경우 Alice(i)가 자금을 회수할 수 있는 표준 비트코인 트랜잭션을 형성할 수 있을 것이다.
Bob(i)은 Alice가 사용한 주소에 대해 어느 정보도 갖지 않을 것이다.
그는 비트코인 주소, 트랜잭션량 또는 그것이 어디에 전송되었는지도 알지 못할 것이다.
Bob(i)이 키를 보유하고 보호하지만, 그는 트랜잭션의 지식을 갖지 않는다.
보안 고려 사항
벤저(Benger) 등(2014)은 플래시 및 리로드(Flash and reload) 방법론을 사용한 ECDSA 개인 키 복구의 일 예시를 제공하였다. 그러나, 이러한 현상은 시스템 RAM 및 캐시에 대한 공격의 일 예시일 뿐이다. 이들 방법은 개인 키를 재구성할 때 원하는 샤미르의 SSS[1979]와 같은 절차의 사용으로는 부족하다. 또한, 개인 키가 재구성되는 임의의 시나리오에서, 신뢰에 대한 요건이 도입된다. 이 시나리오에서는 개인 키를 보유하는 엔티티의 시스템 및 프로세스에 의존하는 것이 필요하다. 신뢰된 파티가 악의적이지 않더라도, 그 프로세스에 의존할 필요가 있다. 최근의 다수의 훼손으로부터 관찰될 수 있는 바와 같이, 개인 키를 재구성하는 것에 대한 이 의존은 공격의 길(avenues)을 남긴다.
기존의 ECDSA 구현을 위한, 그리고 현재 비트코인 프로토콜과 완전히 투명하고 호환 가능한 드롭 인 대체(drop-in replacement)로서, 그 구현에는 하드 포크(hard fork) 또는 소프트 포크(soft fork)가 요구되지 않으며, 그 구현은 임의의 현재 트랜잭션과는 구별될 수 없다. 본 발명은 개인을 별도의 참가자로 다룰 수 있으며, 복구 기능을 갖는 키의 그룹 서명을 허용한다. 일 예시로서, 온라인 지갑 제공자 또는 교환소가 두 개의 키 슬라이스를 유지하고 최종 사용자가 두 개의 슬라이스를 유지하는 네 개의 키 슬라이스를 사용하여 2 중 2의 방식(two of two scheme)이 구현될 수 있다. 교환소 및 사용자는 각각, 이후 필요할 때 메시지의 안전한 서명을 위해 서로 연계하여 사용될 그들의 키 슬라이스에 대해 2 중 2의 프로세스를 갖게 될 것이다.
이 방식에서, 그룹 Bob(i)Alice(i)로부터 공급된 적어도 메시지의 해시를 볼 수 있다.
1. Bob(i)의 어느 구성원도 값 A α 또는 A b 를 집합적으로 또는 독립적으로 알지 못하기 때문에, 이 그룹의 어느 구성원이 e 2 를 메시지 해시 e의 블라인드 버전으로서 결정할 수 없다.
2. 마찬가지로, Bob(i)은 값 A c 또는 A d 의 지식을 갖지 않으며, 그러므로 서명 값 ss 1 사이의 관계를 결정할 수 없다.
3. Rabin () 서명의 계산에 사용된 것과 유사한 방식으로, Bob(i)은 값 A α A c 을 쉽게 결정할 수 없다. 타원 곡선 이산 대수 문제의 가정 하에서, Bob(i)A T (x)와 타원 곡선 점 BP 간의 관계를 결정할 수 없다.
4. 유사한 방식으로, Bob(i)은 값 BP 또는 BQAlice(i) 그룹 공개 키 A T (x, y)를 재구성하는데 사용되었는지에 대한 지식을 얻지 못한다.
5. 여기서, 블라인드 해제된 메시지가 Alice(i)에 의해 브로드캐스트되면, 트랜잭션과 연관된 공개 키의 값은 가려진 상태로 유지된다. Alice(i)Bob(i)으로부터 수신된 블라인드 메시지 서명을 브로드캐스트하는 것을 지연시키는 경우, 비트코인 블록 내에 다수의 다른 트랜잭션의 포함은 Alice(i)가 메시지를 서명하고, 그것이 수신된 이후에 이를 트랜잭션할 수도 있는 것보다 더 많은 것을 Bob(i)이 결정할 수 없음을 의미한다.
6. 외부 파티가 Alice(i)Bob(i) 사이의 트랜잭션에 관한 정보를 필요로 하지 않으므로, 이들 파티 사이의 프라이버시 보호 수준이 향상된다.
이 프로세스의 효과적인 결과는 그룹의 전체를 나타내거나 나타내지 않을 수 있는 Alice(i) 구성원의 임계치 그룹이 트랜잭션 또는 다른 메시지의 서명을 도울 수 있는 가디언 그룹(Guardian group) Bob(i)으로 전송할 수 있는 한편, Alice(i)에 의해 공급된 메시지의 내용은 감춰진 상태로 유지된다.
Alice(i)가 메시지의 전송에 대해 일부 타당한 거부 가능성을 갖는 위치에서 유지되고, (비트코인과 같이) 시스템 내의 메시지의 볼륨이 0보다 상당히 크게 유지되는 한, Bob(i)Alice(i)로부터 초래될 수 있는 메시지를 결정할 수 없다.
이는 상이한 해시 값을 서명할 때, Alice(i)가 파라미터 A α & A b 를 재사용하지 않는 방식에서 중요하다. 이들 값이 상이한 값 e로 재사용된 경우, 이는 Bob(i)이 브로드캐스트 메시지 e에 대한 원래의 해시 값과 가려진 해시 e 2를 링크할 수 있게 하는 정보의 계산을 가능하게 할 것이다. 추가적인 선형 방정식의 추가로서 이 결과는 Bob(i)A α & A b 사이의 관계 그러므로, 메시지 e를 보간할 수 있는 시나리오로 이어진다. 결과는 Bob(i)이 그 값 e에 대해 블록 체인을 검색하고, 대응하는 Alice(i) 그룹 공개 키 A T (x, y) 및 이 그룹과 연관된 어쩌면 다르게 도출된 공개 키에 링크할 수 있다는 것이다.
유사한 방식에서, 이는 Bob(i)Alice(i)에 의해 사용되는 블라인드되고 공개된 서명 간의 관계를 계산하고, 그러므로 파라미터 A α & A b 의 재사용에 유사한 방식으로 블록체인을 검색하며, 그가 Alice(i) 그룹 공개 키 A T (x, y)를 결정하는 것을 허용할 수 있으므로, Alice(i)가 파라미터 A c & A d 를 재사용하지 않는 것이 중요하다.
마찬가지로, Bob(i)에 의해 생성된 파라미터 B p & B q BP & BQ는 재사용되지 않아야 하며, 이들 없이, Alice(i)Bob(i)에 의해 생성된 블라인드된 서명의 위조(forgery)를 생성할 수 없고, 그러므로 공개 키 A T (x, y)에 의해 생성될 것으로 보이는 이러한 서명을 블라인드 해제할 수 없다. 값 B p & B q 가 예를 들어 국제특허출원 WO2017/145016에 개시된 바와 같은 배열에 의해 도출된 키 방식을 사용하여 Bob(i)에 의해 계산되기 때문에, B p & B q 의 각 값은 Alice(i)에 의해 생성된 각 메시지에 대해 고유하며, 충돌이 없는 해시 알고리즘의 가정 시, 서비스를 사용하는 임의의 파티는 결코 재사용되지 않는 각 메시지에 대해 생성된 B p & B q 의 그 자신의 버전을 가질 것이다.
본 발명은 그룹 서명 프로세스의 도입으로 암호 화폐가 달성하고자 하는 것을 향상시킨다. 분산 키 생성 시스템을 결합한 내결함성 서명 시스템(fault tolerable signing system)의 추가는 모든 중앙 집중화 및 신뢰 요건을 제거한다. 다수의 시스템이 신뢰에 대한 요구를 통해 진화할 것이다. 또한, 암시적으로 탈중앙화된 시스템의 도입은 더욱 강력하고 탄력적인 프로토콜의 생성을 허용한다. ECDSA[존슨(Johnson), 2001] 및 샤미르의 SSS[샤미르, 1979] 간의 호환성은 신규 검증 가능한 비밀 공유 방식으로 비트코인을 확장하는 시스템의 도입을 허용한다. 이 시스템은 펠드만(Feldman)[Feldman, 1987] 또는 페데르센[Pedersen, 1992]에 의해 도출된 것보다 훨씬 더 효율적이며 어떠한 보안성의 상실도 없다.
차움(1982)의 작업을 확장하는 임계치 서명 블라인딩의 도입은 웹 기반 교환소에서도 신뢰된 파티가 존재할 필요가 없는 시나리오로 이어진다. 이에서, 익명성의 디지털 현금 또는 자산 이체 시스템의 순수 형태(true form)가 유지되고, 심지어 안전한 개인 투표 시스템에도 링크될 수 있다.
본 출원에서, 기본 프로토콜의 변경을 요구하지 않으면서 비트코인의 기능을 확장하는 시스템이 개시된다. 본 발명의 시스템을 사용하면:
1. 키 비밀의 선택 또는 분산에 요구되는 신뢰된 제3자가 더 이상 요구되지 않는다.
2. 제3자 신뢰에 의존하지 않는 분산 뱅킹 교환소 시스템(distributed banking exchange system)을 생성할 수 있다.
3. 각 구성원 또는 구성원의 그룹은 보유한 비밀 키의 공유가 광고된 비트코인 주소 및 공개 키에 대응함을 독립적으로 검증할 수 있다.
4. 도청 및 관련된 공격의 영향을 완화하기 위해 개인 키 슬라이스를 리프레시하는 프로토콜이 존재한다.
5. 트랜잭션 및 메시지의 그룹 서명에 대해 신뢰된 제3자가 요구되지 않는다.
6. 제3자는 임계치 그룹에서 키의 무결성을 유지할 수 있다. 이 서명자의 그룹은 비트코인 또는 다른 자산이 그의 보호 하에 얼마나 보유되는지를 알지 못할 것이다. 이는 임계치 시스템이므로, 서명 그룹의 일부 구성원이 이용 가능하지 않은 경우, 다른 구성원이 트랜잭션에 블라인드 서명하는 것이 가능하게 유지되며, 보호되는 자금의 제거를 허용한다.
본 발명의 시스템이 민감한 데이터가 메모리에 나타나기 때문에, 이는 다수의 현존하는 보안 위험을 해결하였다. 또한, 이는 교환소 기반 시스템, 웹 지갑 및 다른 형태의 상거래의 분산을 허용한다. 이 시스템에서, 계층적 임계치 그룹은 시간에 걸쳐 키의 무결성을 보장하기 위해 다른 계층적 임계치 그룹과 상호작용할 수 있다. 이 시나리오에서, 주어진 이벤트에 자금의 이체를 허용하는 해결책이 생성될 수 있다. 이러한 시나리오는 다양한 시나리오에서 키의 복구를 허용하는 제어되고 보호될 수 있는 유언 및 유산 이체(Wills and estate transfers)를 포함할 것이다.
이제 도 2를 참조하면, 본 개시의 적어도 하나의 실시예를 실시하는데 사용될 수 있는 컴퓨팅 디바이스(2600)의 예시적이고 단순화된 블록도가 제공된다. 다양한 실시예에서, 컴퓨팅 디바이스(2600)는 위에서 예시되고 서술된 시스템 중 임의의 것을 구현하는데 사용될 수 있다. 예를 들어, 컴퓨팅 디바이스(2600)는 데이터 서버, 웹 서버, 휴대용 컴퓨팅 디바이스, 개인용 컴퓨터, 또는 임의의 전자 컴퓨팅 디바이스로서 사용하도록 구성될 수 있다. 도 2에 도시된 바와 같이, 컴퓨팅 디바이스(2600)는 메인 메모리(2608) 및 영구 저장소(2610)를 포함하는 저장소 서브시스템(2606)과 통신하도록 구성될 수 있는 하나 이상의 수준의 캐시 메모리 및 메모리 제어기를 갖는 하나 이상의 프로세서(집합적으로 2602로 라벨링 됨)를 포함할 수 있다. 메인 메모리(2608)는 도시된 바와 같이 동적 랜덤 액세스 메모리(DRAM)(2618) 및 판독 전용 메모리(ROM)(2620)를 포함할 수 있다. 저장소 서브시스템(2606) 및 캐시 메모리(2602)는 본 개시에서 서술된 바와 같은 트랜잭션 및 블록과 연관된 세부사항과 같은, 정보의 저장을 위해 사용될 수 있다. 프로세서(들)(2602)는 본 개시에서 서술된 임의의 실시예의 단계 또는 기능을 제공하기 위해 이용될 수 있다.
프로세서(들)(2602)는 또한, 하나 이상의 사용자 인터페이스 입력 디바이스(2612), 하나 이상의 사용자 인터페이스 출력 디바이스(2614) 및 네트워크 인터페이스 서브 시스템(2616)과 통신할 수 있다.
버스 서브시스템(2604)은 컴퓨팅 디바이스(2600)의 다양한 구성요소 및 서브시스템이 의도된 대로 서로 통신할 수 있게 하는 메커니즘을 제공할 수 있다. 버스 서브시스템(2604)이 단일의 버스로서 개략적으로 도시되었지만, 버스 서브시스템의 대안적인 실시예는 다수의 버스를 이용할 수 있다.
네트워크 인터페이스 서브시스템(2616)은 다른 컴퓨팅 디바이스 및 네트워크에 대한 인터페이스를 제공할 수 있다. 네트워크 인터페이스 서브시스템(2616)은 컴퓨팅 디바이스(2600)로부터 다른 시스템으로부터 데이터를 수신하고 이로 데이터를 송신하기 위한 인터페이스로서 기능할 수 있다. 예를 들어, 네트워크 인터페이스 서브시스템(2616)은 데이터 기술자가 데이터 센터와 같은 원격 위치에 있는 디바이스로 데이터를 송신하거나 또는 그 디바이스로부터 데이터를 수신할 수 있도록, 데이터 기술자가 디바이스를 네트워크에 연결하게 할 수 있다.
사용자 인터페이스 입력 디바이스(2612)는 키보드; 통합형 마우스, 트랙볼, 터치패드, 또는 그래픽스 태블릿과 같은 포인팅 디바이스; 스캐너; 바코드 스캐너; 디스플레이에 포함되는 터치 스크린; 음성 인식 시스템, 마이크로폰과 같은 오디오 입력 디바이스; 및 다른 타입의 입력 디바이스와 같은 하나 이상의 사용자 입력 디바이스를 포함할 수 있다. 일반적으로, "입력 디바이스"라는 용어의 사용은 컴퓨팅 디바이스(2600)에 정보를 입력하기 위한 가능한 모든 타입의 디바이스 및 메커니즘을 포함하는 것으로 의도된다.
하나 이상의 사용자 인터페이스 출력 디바이스(2614)는 디스플레이 서브시스템, 프린터, 또는 오디오 출력 디바이스와 같은 비-시각적 디스플레이 등을 포함할 수 있다. 디스플레이 서브시스템은 CRT(cathode ray tube), 또는 LCD(liquid crystal display), LED(light emitting diode) 디스플레이, 또는 프로젝션과 같은 플랫-패널 디바이스 또는 다른 디스플레이 디바이스일 수 있다. 일반적으로, "출력 디바이스"라는 용어의 사용은 컴퓨팅 디바이스(2600)로부터 정보를 출력하기 위한 가능한 모든 타입의 디바이스 및 메커니즘을 포함하는 것으로 의도된다. 하나 이상의 사용자 인터페이스 출력 디바이스(2614)는, 예를 들어, 이러한 사용자 상호작용이 적절할 수 있을 때, 서술된 프로세스 및 그 변형을 수행하는 애플리케이션과의 사용자 상호작용을 용이하게 하기 위해 사용자 인터페이스를 제시하는데 사용될 수 있다.
저장소 서브시스템(2606)은 본 개시의 적어도 하나의 실시예의 기능을 제공할 수 있는 기본 프로그래밍 및 데이터 구조를 저장하기 위한 컴퓨터 판독가능 저장 매체를 제공할 수 있다. 하나 이상의 프로세서에 의해 실행될 때, 애플리케이션(프로그램, 코드 모듈, 명령어)은 본 개시의 하나 이상의 실시예의 기능을 제공할 수 있고, 저장소 서브시스템(2606)에 저장될 수 있다. 이들 애플리케이션 모듈 또는 명령어는 하나 이상의 프로세서(2602)에 의해 실행될 수 있다. 저장소 서브시스템(2606)은 본 개시에 따라 사용되는 데이터를 저장하기 위한 보관소를 추가적으로 제공할 수 있다. 예를 들어, 메인 메모리(2608) 및 캐시 메모리(2602)는 프로그램 및 데이터를 위한 휘발성 저장소를 제공할 수 있다. 영구 저장소(2610)는 프로그램 및 데이터에 대한 영구적인(비-휘발성) 저장소를 제공할 수 있고, 플래시 메모리, 하나 이상의 고체 상태 드라이브, 하나 이상의 자기 하드 드라이브(magnetic hard disk drives), 연관된 이동식 매체를 갖는 하나 이상의 플로피 디스크 드라이브, 연관된 이동식 매체를 갖는 하나 이상의 광학 드라이브(예를 들어, CD-ROM 또는 DVD 또는 블루-레이) 드라이브 및 다른 유사한 저장 매체를 제공할 수 있다. 이러한 프로그램 및 데이터는 본 개시에서 서술된 하나 이상의 실시예의 단계를 수행하기 위한 프로그램뿐만 아니라, 본 개시에서 서술된 트랜잭션 및 블록과 연관된 데이터를 포함할 수 있다.
컴퓨팅 디바이스(2600)는 휴대용 컴퓨터 디바이스, 태블릿 컴퓨터, 워크스테이션, 또는 아래에서 서술되는 임의의 다른 디바이스를 포함하는 다양한 타입일 수 있다. 추가적으로, 컴퓨팅 디바이스(2600)는 하나 이상의 포트(예컨대, USB, 헤드폰 잭, 라이트닝(Lightning) 커넥터 등)를 통해 컴퓨팅 디바이스(2600)에 연결될 수 있는 다른 디바이스를 포함할 수 있다. 컴퓨팅 디바이스(2600)에 연결될 수 있는 디바이스는 광섬유 커넥터를 수용하도록 구성되는 복수의 포트를 포함할 수 있다. 따라서, 이 디바이스는 광 신호를, 처리를 위해 디바이스를 컴퓨팅 디바이스(2600)에 연결하는 포트를 통해 송신될 수 있는 전기 신호로 변환하도록 구성될 수 있다. 컴퓨터 및 네트워크의 계속 변하는 성질에 기인하여, 도 2에 도시된 컴퓨팅 디바이스(2600)의 서술은 디바이스의 바람직한 실시예를 예시할 목적으로 특정 예시로서만 의도된다. 도 2에 도시된 시스템보다 더 많거나 적은 구성요소를 갖는 다수의 다른 구성이 가능하다.
전술한 실시예는 본 발명을 제한하는 것이 아니고, 통상의 기술자는 첨부된 청구범위에 의해 정의된 본 발명의 범주를 벗어나지 않으면서, 다양한 대안적인 실시예를 설계 할 수 있음이 유의되어야 한다. 청구범위에서, 괄호안에 있는 임의의 참조 부호는 청구범위를 제한하는 것으로 해석되어서는 안된다. "포함하는" 및 "포함한다" 등의 단어는 임의의 청구범위 또는 명세서 전체에 열거된 것 이외의 요소 또는 단계의 존재를 배제하지 않는다. 본 명세서에서, "포함한다"는 "포함하거나 구성된다"를 의미하고, "포함하는"은 "포함하거나 구성되는"을 의미한다. 요소의 단수형 참조는 이러한 요소의 복수형의 참조를 배제하지 않으며, 그 역으로도 그러하다. 본 발명은 수개의 개별적인 요소를 포함하는 하드웨어에 의해, 그리고 적합하게 프로그래밍된 컴퓨터에 의해 구현될 수 있다. 수개의 수단을 나열하는 디바이스 청구항에서, 이들 수단 중 몇몇은 하나의 동일한 하드웨어의 항목에 의해 구현될 수 있다. 특정 측정치가 서로 상이한 종속 항에서 인용된다는 단순한 사실만으로 이들 측정치의 조합이 유리하도록 사용될 수 없음을 나타내지 않는다.
부록
알고리즘 1 키 생성
도메인 파라미터(CURVE, Cardinality n, Generator G)
입력: N/A
출력: 블라인딩 키 공유 α A(1) , α A(2) , ..., α A(i) , ..., α A(m)
(m) 참가자로부터 l 슬라이스의 임계치에 대해, 참가자(i)가 블라인딩 키에 서명하기 위해 비밀을 교환하는 다른 파티인 참가자(h)로서 지정된 (m-1) 참가자 및 참가자(i)와 연관된 블라인딩 키 세그먼트 α A(i) 가 구성된다.
- 방식에서, m은 총 참가자의 수이며 - l m -, 그러므로 i = m - 1
- 그러므로, (l+1,m)이다 - 임계치 공유 방식.
알고리즘 1에 대한 방법은 다음과 같다:
1) (j)의 각 참가자 p (i) - 1 ≤ I j -는 ECC 공개 키(또는 이 구현에서는 비트코인 주소)를 다른 모든 참가자와 교환한다. 이 주소는 그룹 식별 주소이며 임의의 다른 목적으로 사용되지 않아야 한다.
이는 예를 들어, 국제특허출원 WO2017/145016에 개시된 바와 같은 도출된 주소 및 본원에 개시된 프로세스로부터 참가자의 각각 사이에 공유된 값에 기초한 키임이 유의되어야 한다.
2) 각 참가자 p (i) 는 랜덤 계수를 갖는 (k -1) 차수의 다항식 f i (x)를 다른 모든 파티로부터는 비밀인 방식으로 선택한다.
이 함수는 다항식 자유 항(polynomial free term)으로서 선택되는 참가자의 비밀 α 0 (i) 을 조건으로 한다. 이 값은 공유되지 않는다. 이 값은 도출된 개인 키를 사용하여 계산된다.
f i (h)는 점(x = h)에서의 값에 대해 참가자 p (i) 에 의해 선택된 함수 f ( x )의 결과인 것으로 정의되며, 참가자 p (i) 에 대한 기준 방정식은 다음의 함수로서 정의된다:
Figure pct00052
이 방정식에서, α 0 는 각각의 참가자 p (i) 에 대한 비밀이며, 공유되지 않는다.
그러므로, 각 참가자 p (i) 는 그 참가자의 비밀로서 정의되는 자유 항α 0 (i) 을 갖는 (k-1) 차수의 다항식으로서 표현되는 비밀로 유지되는 함수 f i (x)를 다음과 같이 갖는다:
Figure pct00053
3) 각 참가자 p (i) 는 위에서 유의된 바와 같이 P ( h )의 공개 키1를 사용하여 참가자 P ( h )에 대한 f i (h)를 암호화하고
Figure pct00054
, 암호해독을 위해 P ( h )에 대한 값을 교환한다.
임의의 기준점 G에 대해
Figure pct00055
라는 점이 유의되어야 한다.
이와 같이 (b, b 1, b 2,...)로 나타날 수 있는 임의의 정수 세트
Figure pct00056
에 대해, bG=[b 1 G+b 2 G+ …]modP인 경우, b=[b 1+b 2+...]mod n이다. 또한, bG=[b 1 b 2...]mod p인 경우, b=[b 1 b 2...]modn이다.
Z n이 필드이고 라그랑주 보간 모듈로 n이 ECC 개인 키로서 선택된 값에 대해 유효하게 이루어질 수 있다면, 샤미르의 비밀 공유 방식(SSSS [5])이 Z n을 통해 구현될 수 있다는 결론을 이끄는 조건이 존재한다.
4) 각 참가자 P (i) 는 아래의 값을 모든 참가자에게 브로드캐스트한다.
a)
Figure pct00057
b)
Figure pct00058
위의 방정식에서 변수 h와 연관된 값은 참가자 P ( h )가 방식에서 제3 참가자를 나타내는 경우 h=3인 참가자 P ( h )의 위치일 수 있거나, 또는 참가자에 의해 사용되는 ECC 공개 키의 값을 정수로 동등하게 나타낼 수 있다. 사용 사례 및 시나리오는 어느 구현에 대해 존재한다. 후자의 구현에서, 값 h ={1,....., j}는 개별적인 참가자의 이용된 공개 키에 매핑된 값의 어레이로 대체될 것이다.
5) 각 참가자 P(h
Figure pct00059
i)는 수신된 공유와 각 다른 참가자로부터 수신된 것의 일관성을 검증한다. 즉:
Figure pct00060
그리고 f i (h)G는 참가자의 공유와 일관성이 있다.
6) 각 참가자 P(h≠i)는 그 참가자 P(h≠i)에 의해 소유되고 수신된 공유가 다른 수신된 공유와 일관성이 있음을 유효성 검증한다:
Figure pct00061
이것이 일관성이 없다면, 참가자는 프로토콜을 거부하고 다시 시작된다.
7) 참가자 p (i) 는 이제 그들의 공유 d A ( i )을 다음과 같이 계산한다:
Figure pct00062
여기서:
Figure pct00063
Figure pct00064
여기서:
Figure pct00065
Figure pct00066
반환
참가자 p (i) 는 이제 서명을 계산할 때 공유를 사용한다. 이 역할은 서명을 수집하는 프로세스에서 조정자로서 역할을 하는 임의의 참가자에 의해 또는 파티 p (c) 에 의해 수행될 수 있다. 참가자 p (i) 는 트랜잭션에 서명하기에 충분한 공유의 수집을 시도할 때마다 다를 수 있으며 동일한 당사자일 필요는 없다.
그러므로, 개인 키 공유
Figure pct00067
는 다른 참가자의 공유에 대한 지식 없이 생성되었다.
알고리즘 2 개인 키를 업데이트
입력: 참가자 P i 의 개인 키 공유 d A d A ( i )로 표기됨.
출력: 참가자(P i )의 신규 개인 키 공유 dA ( i )'.
알고리즘 2는 개인 키를 업데이트할 뿐만 아니라, 프로토콜에 임의성을 추가하는 데에도 사용될 수 있다.
개인 키의 재구성 또는 심지어 이의 계산된 존재 없이, 계층적 서브 키의 재계산을 수행하는 것이 가능하다. 이러한 방식으로, 올바르게 구축될 때, 과거에 발생한 임의의 대규모의 사기 또는 데이터베이스 도난을 제거할 비트코인 주소 및 개인 키 슬라이스의 계층 구조를 구성하는 것이 가능하다.
1) 각 참가자는 그의 자유 항으로서 0이 적용되는 (k-1) 차수의 랜덤 다항식을 선택한다. 이는 알고리즘 1과 유사하지만 참가자는 다른 모든 참가자의 선택된 비밀이 0임을 유효성 검증해야 한다.
Figure pct00068
에 유의해야 하며, 0은 타원 곡선 상에서 무한대의 점이다.
이 동등성을 사용하여, 모든 활성 참가자는 다음의 함수를 유효성 검증한다:
Figure pct00069
유추(analogy)에 대해서는 펠드만(1987)을 참조한다.
제로 공유: z i <- Z* n을 생성한다.
2) dA ( i )'=dA ( i )+z i
3) dA ( i )'를 반환한다.
이 알고리즘의 결과는 원래의 개인 키와 연관된 신규 키 공유이다. 이 알고리즘의 변형은 제1 알고리즘의 임의성을 증가시키는 능력 또는 비트코인 주소를 변경할 필요없이 신규 키 슬라이스를 초래하는 재공유 수행에 관계시키는 능력을 가능하게 한다. 이 방식으로, 본 발명의 프로토콜은 그룹이 기본 개인 키를 변경하지 않으면서, 개인 키 공유를 부가적으로 마스킹하는 것을 허용한다. 이 프로세스는 기본 비트코인 주소 및 개인 키를 변경하지 않고 개별적인 키 공유의 계속적인 사용 및 전개와 연관된 임의의 잠재적인 키 누설을 최소화하는 데 사용될 수 있다.
알고리즘 3 서명 생성
도메인 파라미터(CURVE, Cardinality n, Generator G)
입력: 서명될 메시지 e = H(m)
개인 키 공유
Figure pct00070
출력: 서명 e = H(m)에 대해
Figure pct00071
A) 분산 키 생성
1) 알고리즘 1을 사용하여 임시 키 공유를 생성한다:
Figure pct00072
2) 알고리즘 1을 사용하여 마스크 공유를 생성한다:
Figure pct00073
3) 알고리즘 2를 사용하여 마스크 공유를 생성한다:
Figure pct00074
B) 서명 생성
4) e = H(m) 메시지 m의 해시를 유효성 검증한다
5) 다음을 브로드캐스트한다
Figure pct00075
Figure pct00076
6)
Figure pct00077
Figure pct00078
7)
Figure pct00079
Figure pct00080
8) (R x , R y )를 계산한다, 여기서
Figure pct00081
Figure pct00082
9)
Figure pct00083
r = 0이면, 다시 시작한다(즉, 초기 분산부터)
10)
Figure pct00084
를 브로드캐스트한다.
11)
Figure pct00085
s = 0이면, 개시(A.1)로부터 알고리즘 3을 다시 수행한다.
12) (r, s)를 반환한다.
13) 표준 트랜잭션을 형성하기 위해, 비트코인에서, (r, s) 쌍과의 트랜잭션을 재구성한다
참조문헌
1) Bar-Ilan, J. Beaver, "Non-Cryptographic Fault-Tolerant Computing in a Constant Number of Rounds", Proc. of 8th PODC, pp. 201-209, 1989.
2) Berlekamp, Elwyn R. (1968), Algebraic Coding Theory, McGraw-Hill, New York, NY.
3) Benger, N., van de Pol, J., Smart, N.P., Yarom, Y.: "Ooh Aah... Just a Little Bit": A Small Amount of Side Channel Can Go a Long Way. In: Batina, L., Robshaw, M. (eds.) Cryptographic Hardware and Embedded Systems | CHES 2014, LNCS, vol. 8731, pp. 75-92. Springer (2014)
4) Ben-Or, M., Goldwasser, S., Wigderson, A.: "Completeness theorems for noncryptographic fault-tolerant distributed computation". In: Proceedings of the Twentieth Annual ACM Symposium on Theory of Computing. pp. 1-10. STOC '88, ACM, New York, NY, USA (1988)
5) BIP 65 OP_CHECKLOCKTIMEVERIFY https://github.com/bitcoin/bips/blob/master/bip-0065.mediawiki
6) Chaum, David (1983). "Blind signatures for untraceable payments" (PDF). Advances in Cryptology Proceedings of Crypto. 82 (3): 199-203.
7) Chen T.S. Huang G.S. Liu T.P. and Chung Y.F (2002), 'Digital Signature Scheme Resulted from Identification Protocol for Elliptic Curve Cryptosystem', Proceedings of IEEE TENCON'02. pp. 192-195
8) Chinnici M. (1995), 'CUDA Based Implementation of Parallelized Pollard's rho algorithm for Menezes A. and Vanstone S. Elliptic Curve Systems', Proposed IEEE P1363 Standard, pp. 142.
9) Chwei-Shyong Tsai, Min-Shiang Hwang, pei-ChenSung, "Blind Signature Scheme Based on Elliptic Curve Cryptography" (http://mshwang.ccs.asia.edu.tw/www/myjournal/P191.pdf.)
10) Dawson, E.; Donovan, D. (1994), "The breadth of Shamir's secret-sharing scheme", Computers & Security, 13: Pp. 69-78
11) Desmedt. Yuo (1987). "Society and Group Oriented Cryptography: A New Concept". In A Conference on the Theory and Applications of Cryptographic Techniques on Advances in Cryptology (CRYPTO '87), Carl Pomerance (Ed.). Springer-Verlag, London, UK, UK, 120-127.
12) ElGamal T. (1985), 'A Public-Key Cryptosystem and a Signature Scheme Based on Discrete Logarithms', IEEE Transactions on Information Theory, Vol.31, pp. 469-472.
13) Feldman. P. "A practical scheme for non-interactive verifiable secret sharing". In Proceedings of the 28th IEEE Annual Symposium on Foundations of Computer Science, pages 427-437, 1987.
14) Gennaro, R., Jarecki, S., Krawczyk, H., Rabin, T.: "Robust threshold DSS signatures". In: Proceedings of the 15th Annual International Conference on Theory and Application of Cryptographic Techniques. pp. 354-371. EUROCRYPT'96, SpringerVerlag, Berlin, Heidelberg (1996)
15) Ibrahim, M., Ali, I., Ibrahim, I., El-sawi, A.: "A robust threshold elliptic curve digital signature providing a new verifiable secret sharing scheme". In: Circuits and Systems, 2003 IEEE 46th Midwest Symposium on. vol. 1, pp. 276-280 (2003)
16) Johnson, D., Menezes, A., Vanstone, S.: "The elliptic curve digital signature algorithm (ecdsa)". International Journal of Information Security 1(1), 36-63 (2001)
17) Chakraborty, Kalyan & Mehta, Jay (2011) "A Stamped Blind Signature Scheme based on Elliptic Curve Discrete Logarithm Problem" (http://ijns.femto.com.tw/contents/ijns-v14-n6/ijns-2012-v14-n6-p316-319.pdf).
18) Kapoor, Vivek, Vivek Sonny Abraham, and Ramesh Singh. "Elliptic Curve Cryptography." Ubiquity 2008, no. May (2008): 1-8.
19) Knuth, D. E. (1997), "The Art of Computer Programming, II: Seminumerical Algorithms" (3rd ed.), Addison-Wesley, p. 505.
20) Koblitz, N. "An Elliptic Curve Implementation of the Finite Field Digital Signature Algorithm" in Advances in Cryptology -- Crypto '98. Lecture Notes in Computer Science, vol. 1462, pp. 327-337, 1998, Springer-Verlag.
21) Liu, C. L. (1968), "Introduction to Combinatorial Mathematics", New York: McGraw-Hill.
22) National Institute of Standards and Technology: FIPS PUB 186-4: "Digital Signature Standard" (DSS) (2003)
23) Pedersen, T.: "Non-interactive and information-theoretic secure verifiable secret sharing". In: Feigenbaum, J. (ed.) Advances in Cryptology ― CRYPTO '91, LNCS, vol. 576, pp. 129-140. Springer (1992)
24) Rabin T. & Ben-Or. M. (1989) "Verifiable secret sharing and multiparty protocols with honest majority". In Proc. 21st ACM Symposium on Theory of Computing, pages 73--85, 1989.
25) Shamir, Adi (1979), "How to share a secret", Communications of the ACM, 22 (11): Pp. 612-613
26) Wright, C. & Savanah, S. (2016) "Determining a common secret for two Blockchain nodes for the secure exchange of information" "Application Number: 15087315". 2016: n. pag. UK

Claims (17)

  1. 디지털로 서명된 데이터를 획득하기 위한 방법으로서, 상기 방법은:
    복수의 제1 참가자 중 적어도 하나로부터 적어도 하나의 제2 참가자에게 제1 데이터를 전송하는 것 - 상기 제1 데이터는 적어도 하나의 상기 제1 참가자에 액세스 가능한 제2 데이터를 기초로 하고, 상기 제2 데이터는 그 또는 각 상기 제2 참가자에 액세스할 수 없음 -;
    적어도 하나의 상기 제2 참가자로부터, 상기 제1 데이터의 디지털 서명을 수신하는 것; 및
    복수의 상기 제1 참가자에 의해, 상기 제2 데이터의 디지털 서명의 공유를 제공하기 위해, 상기 제1 데이터의 상기 디지털 서명을 처리하는 것 - 상기 제2 데이터의 상기 디지털 서명은 임계 개수의 상기 공유에 의해 액세스 가능하고, 상기 임계 개수 미만의 공유에 대해 액세스 불가능함 -을 포함하는, 방법.
  2. 제1항에 있어서, 상기 제2 데이터의 상기 디지털 서명의 각 상기 공유는 공동 랜덤 비밀 공유(joint random secret sharing, JRSS)에 의해 복수의 상기 제1 참가자 간에 공유되는 복수의 제1 비밀 값의 공유를 포함하는, 방법.
  3. 제2항에 있어서, 상기 제2 데이터의 상기 디지털 서명의 각 상기 공유는 공동 제로 비밀 공유(joint zero secret sharing, JZSS)에 의해 상기 복수의 제1 참가자 간에 공유되는 적어도 하나의 제1 마스킹 공유(first masking share)를 포함하는, 방법.
  4. 전술한 청구항 중 어느 한 항에 있어서, 상기 제1 데이터가 임계 개수의 상기 공유에 의해 액세스 가능하고 상기 임계 개수 미만의 공유에 대해 액세스 불가능하도록 상기 제1 데이터는 상기 제1 데이터의 공유에 의해 생성되는, 방법.
  5. 제4항에 있어서, 상기 제1 데이터의 각 상기 공유는 공동 랜덤 비밀 공유(JRSS)에 의해 상기 복수의 상기 제1 참가자 간에 공유되는 복수의 상기 제1 비밀 값의 공유를 포함하는, 방법.
  6. 제5항에 있어서, 상기 제1 데이터의 각 상기 공유는 공동 제로 비밀 공유(JZSS)에 의해 상기 복수의 제1 참가자 간에 공유되는 적어도 하나의 제2 마스킹 공유를 포함하는, 방법.
  7. 전술한 청구항 중 어느 한 항에 있어서, 적어도 하나의 상기 제2 참가자로부터, 상기 제2 비밀 값을 기초로 제3 데이터를 수신하는 것을 더 포함하는, 방법.
  8. 전술한 청구항 중 어느 한 항에 있어서, 상기 제1 데이터의 상기 디지털 서명은 복수의 상기 제2 참가자 간에 공유되는 상기 제1 데이터의 상기 디지털 서명의 공유에 의해 생성되며, 상기 제1 데이터의 상기 디지털 서명은 임계 개수의 상기 공유에 의해 액세스 가능하고 상기 임계 개수 미만의 상기 공유에 대해 액세스 불가능한, 방법.
  9. 제8항에 있어서, 상기 제1 데이터의 상기 디지털 서명의 각 상기 공유는 공동 랜덤 비밀 공유(JRSS)에 의해 복수의 상기 제2 참가자 간에 공유되는 복수의 제2 비밀 값의 공유를 포함하는, 방법.
  10. 제9항에 있어서, 상기 제1 데이터의 상기 디지털 서명의 각 상기 공유는 공동 제로 비밀 공유(JZSS)에 의해 상기 복수의 상기 제2 참가자 간에 공유되는 적어도 하나의 제3 마스킹 공유를 포함하는, 방법.
  11. 전술한 청구항 중 어느 한 항에 있어서, 상기 제2 데이터는 메시지인, 방법.
  12. 제1항 내지 제10항 중 어느 한 항에 있어서, 상기 제2 데이터는 메시지의 해시 값인, 방법.
  13. 전술한 청구항 중 어느 한 항에 있어서, 상기 제1 데이터는 블록체인 트랜잭션인, 방법.
  14. 전술한 청구항 중 어느 한 항에 있어서, 적어도 하나의 상기 디지털 서명은 준동형 특성(homomorphic property)을 갖는 암호화 시스템에 기초하는, 방법.
  15. 제14항에 있어서, 적어도 하나의 상기 디지털 서명은 타원 곡선 암호화 시스템에 기초하는, 방법.
  16. 컴퓨터 구현된 시스템으로서,
    프로세서; 및
    상기 프로세서에 의한 실행의 결과로서, 상기 시스템이 제1항 내지 제15항 중 어느 한 항에 청구된 컴퓨터 구현된 방법의 어느 실시예를 수행하게 하는 실행 가능한 명령어를 포함하는 메모리를 포함하는, 컴퓨터-구현된 시스템.
  17. 컴퓨터 시스템의 프로세서에 의해 실행되는 것의 결과로서, 상기 컴퓨터 시스템이 제1항 내지 제15항 중 어느 한 항에 청구된 방법의 실시예를 적어도 수행하게 하는 실행 가능한 명령어를 그에 저장한, 비일시적 컴퓨터 판독가능 저장 매체.
KR1020207023485A 2018-01-16 2019-01-10 디지털로 서명된 데이터를 획득하기 위한 컴퓨터 구현된 방법 및 시스템 KR20200108343A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
IBPCT/IB2018/050264 2018-01-16
IB2018050264 2018-01-16
GB1800706.2 2018-01-16
GBGB1800706.2A GB201800706D0 (en) 2018-01-16 2018-01-16 Computer implemented method and system
PCT/IB2019/050178 WO2019142075A1 (en) 2018-01-16 2019-01-10 Computer implemented method and system for obtaining digitally signed data

Publications (1)

Publication Number Publication Date
KR20200108343A true KR20200108343A (ko) 2020-09-17

Family

ID=65139055

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207023485A KR20200108343A (ko) 2018-01-16 2019-01-10 디지털로 서명된 데이터를 획득하기 위한 컴퓨터 구현된 방법 및 시스템

Country Status (9)

Country Link
US (2) US11838426B2 (ko)
EP (2) EP3741081B1 (ko)
JP (2) JP7316283B2 (ko)
KR (1) KR20200108343A (ko)
CN (1) CN111615810A (ko)
SG (1) SG11202006382VA (ko)
TW (2) TWI813616B (ko)
WO (1) WO2019142075A1 (ko)
ZA (1) ZA202005041B (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10089178B2 (en) * 2016-02-29 2018-10-02 International Business Machines Corporation Developing an accurate dispersed storage network memory performance model through training
JP7101031B2 (ja) 2018-04-13 2022-07-14 株式会社bitFlyer Blockchain ブロックチェーン・ネットワーク及びそのための確定方法
FR3085215B1 (fr) * 2018-08-21 2020-11-20 Maxim Integrated Products Dispositifs et procedes de masquage d'operations de cryptographie ecc
EP3696670A1 (en) * 2019-02-13 2020-08-19 UVUE Limited Distributed computation system and method of operation thereof
EP3955110A1 (en) 2020-08-12 2022-02-16 UVUE Limited Distributed computing system and method of operation thereof
GB2610559A (en) * 2021-09-07 2023-03-15 Licensing Ag Nchain Generating shared cryptographic keys
CN114499894B (zh) * 2022-04-01 2022-09-09 南京金宁汇科技有限公司 区块链网络中的文件存储、读取方法及存储读取***
CN114726542B (zh) * 2022-04-08 2024-04-09 中国再保险(集团)股份有限公司 一种基于隐私求交的数据传输方法及装置

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8271336B2 (en) * 1999-11-22 2012-09-18 Accenture Global Services Gmbh Increased visibility during order management in a network-based supply chain environment
JP4018370B2 (ja) 2001-10-30 2007-12-05 株式会社東芝 署名分散システム、プログラム及び方法
JP3910529B2 (ja) 2002-12-06 2007-04-25 株式会社エヌ・ティ・ティ・データ 電子投票システム
KR20030008182A (ko) 2002-12-24 2003-01-24 학교법인 한국정보통신학원 겹선형쌍을 이용한 개인식별정보 기반의 은닉서명 방법
EP1571777A1 (en) 2004-03-02 2005-09-07 France Telecom Electronic voting process using fair blind signatures
JP4249171B2 (ja) 2005-10-17 2009-04-02 日本電信電話株式会社 匿名アプリケーション格納方法及びシステム及び利用者装置及び発行装置及びデータ提供装置及びコンピュータ読み取り可能な記録媒体
US20110213975A1 (en) 2010-03-01 2011-09-01 Alessandro Sorniotti Secret interest groups in online social networks
CA2807972A1 (en) * 2010-08-11 2012-02-16 Security First Corp. Systems and methods for secure multi-tenant data storage
EP2619939A2 (en) * 2010-09-20 2013-07-31 Rick L. Orsini Systems and methods for secure data sharing
BR112014013805A8 (pt) * 2011-12-09 2017-06-13 Echarge2 Corp meio legível por computador; método implantado por computador de proteção de um conjunto de participantes; dispositivo de computação; e objeto de transferência de cifra inteligente
CN102647423B (zh) * 2012-04-12 2016-04-06 熊楚渝 一种数字签章及印鉴的鉴别方法及***
US9722776B2 (en) * 2012-06-21 2017-08-01 Microsoft Technology Licensing, Llc Homomorphic signatures and network coding signatures
US9049011B1 (en) * 2012-08-15 2015-06-02 Washington State University Secure key storage and distribution
US9489522B1 (en) * 2013-03-13 2016-11-08 Hrl Laboratories, Llc Method for secure and resilient distributed generation of elliptic curve digital signature algorithm (ECDSA) based digital signatures with proactive security
WO2015160839A1 (en) * 2014-04-17 2015-10-22 Hrl Laboratories, Llc A method for secure and resilient distributed generation of elliptic curve digital signature algorithm (ecdsa) based digital signatures with proactive security
US10432409B2 (en) 2014-05-05 2019-10-01 Analog Devices, Inc. Authentication system and device including physical unclonable function and threshold cryptography
JP6267658B2 (ja) 2015-01-09 2018-01-24 日本電信電話株式会社 署名生成装置、署名システム、署名生成方法、およびプログラム
US9735958B2 (en) 2015-05-19 2017-08-15 Coinbase, Inc. Key ceremony of a security system forming part of a host computer for cryptographic transactions
AU2017223133B2 (en) 2016-02-23 2022-09-08 nChain Holdings Limited Determining a common secret for the secure exchange of information and hierarchical, deterministic cryptographic keys
US10476888B2 (en) 2016-03-23 2019-11-12 Georgia Tech Research Corporation Systems and methods for using video for user and message authentication
US10447467B2 (en) 2016-05-04 2019-10-15 International Business Machines Corporation Revocable PKI signatures
US10193895B2 (en) * 2016-05-18 2019-01-29 Abdulrahman Alhothaily System and method for remote authentication with dynamic usernames
CN106127079B (zh) 2016-07-15 2019-04-12 中电长城网际***应用有限公司 一种数据共享方法及装置
CN106296138A (zh) * 2016-08-09 2017-01-04 西安电子科技大学 基于部分盲签名技术的比特币支付***及其方法
US20180203916A1 (en) * 2017-01-19 2018-07-19 Acquire Media Ventures Inc. Data clustering with reduced partial signature matching using key-value storage and retrieval
US9753964B1 (en) * 2017-01-19 2017-09-05 Acquire Media Ventures, Inc. Similarity clustering in linear time with error-free retrieval using signature overlap with signature size matching
CN110445619B (zh) * 2017-03-30 2020-10-16 腾讯科技(深圳)有限公司 区块链***、消息处理方法及存储介质
US10521616B2 (en) * 2017-11-08 2019-12-31 Analog Devices, Inc. Remote re-enrollment of physical unclonable functions
US10929125B2 (en) * 2017-12-28 2021-02-23 Microsoft Technology Licensing, Llc Determining provenance of files in source code projects
US11288740B2 (en) * 2017-12-29 2022-03-29 Intel Corporation Securing distributed electronic wallet shares

Also Published As

Publication number Publication date
US20240154819A1 (en) 2024-05-09
US11838426B2 (en) 2023-12-05
CN111615810A (zh) 2020-09-01
EP3741081B1 (en) 2021-10-13
JP2021510954A (ja) 2021-04-30
EP3741081A1 (en) 2020-11-25
EP4002759A1 (en) 2022-05-25
ZA202005041B (en) 2022-03-30
JP7316283B2 (ja) 2023-07-27
WO2019142075A1 (en) 2019-07-25
TW201937899A (zh) 2019-09-16
SG11202006382VA (en) 2020-08-28
TW202347988A (zh) 2023-12-01
US20210377050A1 (en) 2021-12-02
JP2023115331A (ja) 2023-08-18
TWI813616B (zh) 2023-09-01

Similar Documents

Publication Publication Date Title
KR102627049B1 (ko) 임계치 볼트를 생성하는 컴퓨터로 구현되는 방법
KR102627039B1 (ko) 임계치 디지털 시그니처 방법 및 시스템
JP7316283B2 (ja) デジタル署名されたデータを取得するためのコンピュータにより実施される方法及びシステム
TWI821248B (zh) 用以移轉數位資產支配權之電腦實施方法及系統
TW202029693A (zh) 用以分配數位簽署資料之份額的電腦實施系統及方法
Chen et al. Blockchain as a CA: A provably secure signcryption scheme leveraging blockchains

Legal Events

Date Code Title Description
E902 Notification of reason for refusal