KR102350462B1 - 서명 생성 방법, 전자 장치 및 저장 매체 - Google Patents

서명 생성 방법, 전자 장치 및 저장 매체 Download PDF

Info

Publication number
KR102350462B1
KR102350462B1 KR1020197035599A KR20197035599A KR102350462B1 KR 102350462 B1 KR102350462 B1 KR 102350462B1 KR 1020197035599 A KR1020197035599 A KR 1020197035599A KR 20197035599 A KR20197035599 A KR 20197035599A KR 102350462 B1 KR102350462 B1 KR 102350462B1
Authority
KR
South Korea
Prior art keywords
signature
aggregate
generating
sub
public key
Prior art date
Application number
KR1020197035599A
Other languages
English (en)
Other versions
KR20200003144A (ko
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 KR20200003144A publication Critical patent/KR20200003144A/ko
Application granted granted Critical
Publication of KR102350462B1 publication Critical patent/KR102350462B1/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
    • 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/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0841Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1834Distributed file systems implemented based on peer-to-peer networks, e.g. gnutella
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/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/083Key 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) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • H04L9/0833Key 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) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/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/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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/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
    • 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/68Special signature format, e.g. XML format

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Storage Device Security (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 출원은 서명 생성 방법, 전자 장치 및 저장 매체를 제공하며, 정보 기술 분야에 속한다. 본 출원에서, 집계 서명은 복수의 서명 파티의 하위 서명을 사용함으로써 생성되고, 집계 공개 키는 복수의 서명 파티의 공개 키에 기초해서 생성되고, 획득된 집계 서명의 길이는 복수의 하위 서명을 스플라이싱함으로써 획득된 다중-서명의 길이보다 짧고, 집계 공개 키의 길이는 복수의 공개 키를 스플라이싱함으로써 획득된 다중 공개 키의 길이보다 짧으며, 그러므로 집계 서명 및 집계 공개 키의 네트워크 전송 동안, 네트워크 전송의 부담이 경감되고, 저장 공간은 저장 동안 감소되며, 서명 검사 동안, 서명될 메시지는 집계 공개 키 및 집계 서명을 직접 사용해서 체크되어 서명 검사의 복잡도가 크게 감소된다.

Description

서명 생성 방법, 전자 장치 및 저장 매체
본 출원은 발명의 명칭이 "서명 생성 방법 및 장치, 단말 및 서버"이고 2017년 11월 10일에 출원된 중국특허출원 제호에 대한 우선권을 주장하는 바이며, 상기 문헌의 내용은 본 명세서에 원용되어 포함된다.
본 출원은 정보 기술 분야에 관한 것이며, 특히 서명 생성 방법, 전자 장치 및 저장 매체에 관한 것이다.
정보 기술의 지속적인 개발에 따라, 새로운 기술인 블록 체인이 빠르게 개발되었다. 블록 체인은 암호화 방법을 사용하여 생성되는 관련 블록의 문자열이다. 블록 체인에서 각각의 블록의 블록 데이터는 이전 블록의 블록 데이터와 연관되어 있다. 따라서 블록 데이터를 조작하여 부정 행위를 수행할 수 없다. 모든 블록의 블록 데이터가 개방적이고 투명하다는 것을 보장할 수 있다. 블록 체인은 엔드-투-엔드 네트워크를 공동으로 구성하기 위해 많은 노드로 구성된다. 노드 간의 데이터 교환은 디지털 서명 기술을 사용하여 확인된다. 디지털 서명 기술은 디지털 암호화를 통해 디지털 정보를 인증하는 기술이다. 일부 경우에, 예를 들어, 거래가 복수의 파티 사이의 합의를 요구할 때, 복수의 파티는 메시지에 서명할 것이며, 이러한 서명 방식을 다중-서명 방식(multi-signature manner)이라 지칭한다.
관련 기술에서, 다중-서명 방식의 구현 계획은 다음과 같다:
Figure 112019124124503-pct00001
개의 서명 파티가 있다고 가정하면, 다중-서명이 수행될 때,
Figure 112019124124503-pct00002
개의 다른 서명이 일렬로 연결되어 블록 체인에 저장하기 위한 긴 서명으로 스플라이싱된다. 서명 검사 동안, 그 긴 서명을 검증하기 위해서는
Figure 112019124124503-pct00003
개의 서명 파티의 공개 키가 동시에 필요하다. N은 1보다 큰 정수이다.
본 개시의 실시예는 서명 생성 방법, 전자 장치 및 저장 매체를 제공하여, 서명 검사의 복잡도를 감소시킨다. 기술적 솔루션은 다음과 같다:
한 관점에 따라, 서명 생성 방법이 제공되며, 상기 방법은:
서명될 메시지 및 복수의 서명 파티의 고윳값에 따라 메시지 요약을 생성하는 단계 - 각각의 서명 파티의 고윳값은 상기 서명 파티의 난수에 따른 계산을 통해 획득됨 - ;
상기 복수의 서명 파티의 공개 키 및 하위 서명을 획득하는 단계 - 각각의 서명 파티의 하위 서명은 상기 서명 파티의 난수, 상기 메시지 요약 및 상기 복수의 서명 파티의 개인 키에 따른 계산을 통해 획득됨 - ;
상기 복수의 서명 파티의 공개 키에 따라 집계 공개 키를 생성하는 단계 - 상기 집계 공개 키의 길이는 스플라이싱 후 상기 복수의 공개 키의 길이보다 짧음 - ; 및
상기 복수의 하위 서명의 합산 값 및 상기 메시지 요약에 따라 집계 서명을 생성하는 단계
를 포함한다.
한 관점에 따라, 서명 생성 방법이 제공되며, 상기 방법은:
난수를 획득하고, 상기 난수에 따라 고윳값을 생성하는 단계;
서명될 메시지, 개인 키 및 공개 키를 획득하는 단계;
메시지 요약을 생성하는 단계 - 상기 메시지 요약은 상기 서명될 메시지 및 상기 고윳값에 따라 상기 서명 집계 파티에 의한 계산을 통해 획득됨 - ; 및
상기 메시지 요약, 상기 난수 및 상기 개인 키에 따라 하위 서명을 생성하는 단계
를 포함한다.
한 관점에 따라, 서명 생성 장치가 제공되며, 상기 장치는:
서명될 메시지 및 복수의 서명 파티의 고윳값에 따라 메시지 요약을 생성하도록 구성되어 있는 제1 생성 모듈 - 각각의 서명 파티의 고윳값은 상기 서명 파티의 난수에 따른 계산을 통해 획득됨 - ;
상기 복수의 서명 파티의 공개 키 및 하위 서명을 획득하도록 구성되어 있는 획득 모듈 - 각각의 서명 파티의 하위 서명은 상기 서명 파티의 난수, 상기 메시지 요약 및 상기 복수의 서명 파티의 개인 키에 따른 계산을 통해 획득됨 - ;
상기 복수의 서명 파티의 공개 키에 따라 집계 공개 키를 생성하도록 구성되어 있는 제2 생성 모듈 - 상기 집계 공개 키의 길이는 스플라이싱 후 상기 복수의 공개 키의 길이보다 짧음 - ; 및
상기 복수의 하위 서명의 합산 값 및 상기 메시지 요약에 따라 집계 서명을 생성하도록 구성되어 있는 제3 생성 모듈
을 포함한다.
한 관점에 따라, 서명 생성 장치가 제공되며, 상기 장치는:
난수를 획득하고, 상기 난수에 따라 고윳값을 생성하도록 구성되어 있는 제1 생성 모듈;
서명될 메시지, 개인 키 및 공개 키를 획득하도록 구성되어 있는 제1 획득 모듈;
메시지 요약을 생성하도록 구성되어 있는 제2 획득 모듈 - 상기 메시지 요약은 상기 서명될 메시지 및 상기 고윳값에 따라 상기 서명 집계 파티에 의한 계산을 통해 획득됨 - ; 및
상기 메시지 요약, 상기 난수 및 상기 개인 키에 따라 하위 서명을 생성하도록 구성되어 있는 제2 생성 모듈
을 포함한다.
한 관점에 따라, 단말이 제공되며, 상기 단말은 프로세서 및 메모리를 포함하며, 상기 메모리는 적어도 하나의 명령을 저장하고, 상기 적어도 하나의 명령은 전술한 서명 생성 방법을 실행하도록 프로세서에 의해 로딩되어 수행된다.
한 관점에 따라, 서버가 제공되며, 상기 서버는 프로세서 및 메모리를 포함하며, 상기 메모리는 적어도 하나의 명령을 저장하고, 상기 적어도 하나의 명령은 전술한 서명 생성 방법을 실행하도록 프로세서에 의해 로딩되어 수행된다.
한 관점에 따라, 컴퓨터 판독 가능형 매체가 제공되며, 상기 컴퓨터 판독 가능형 매체는 프로세서 및 메모리를 포함하며, 상기 메모리는 적어도 하나의 명령을 저장하고, 상기 적어도 하나의 명령은 전술한 서명 생성 방법을 실행하도록 프로세서에 의해 로딩되어 수행된다.
본 개시의 실시예의 기술적 솔루션에 의해 생기는 유리한 효과는 다음과 같다: 복수의 서명 파티의 하위 서명을 사용함으로써 집계 서명이 생성되고, 복수의 서명 파티의 공개 키에 기초하여 집계 공개 키가 생성되고; 획득된 집계 서명의 길이는 복수의 하위 서명을 스플라이싱함으로써 획득된 다중-서명의 길이보다 짧고, 집계 공개 키의 길이는 복수의 공개 키를 스플라이싱함으로써 획득된 다중 공개 키의 길이보다 짧으며; 따라서, 집계 서명 및 집계 공개 키의 네트워크 전송 동안, 네트워크 전송 부담이 경감되고, 저장 동안 저장 공간이 감소되고, 서명 검사 동안, 서명될 메시지는 집계 공개 키 및 집계 서명을 사용하여 직접 검사되므로 서명 검사의 복잡도를 크게 줄인다.
본 발명의 실시예의 기술적 솔루션을 더 명확하게 설명하기 위해, 이하에서는 본 발명의 실시예를 설명하는 데 필요한 첨부된 도면에 대해 간략하게 설명한다. 당연히, 이하의 실시예의 첨부된 도면은 본 발명의 일부의 실시예에 지나지 않으며, 당업자라면 창조적 노력 없이 첨부된 도면으로부터 다른 도면을 도출해낼 수 있을 것이다.
도 1은 본 개시의 실시예에 따른 실행 환경에 대한 도면이다.
도 2는 본 개시의 실시예에 따른 서명 생성에 대한 흐름도이다.
도 3은 본 개시의 실시예에 따른 복수의 계정 주소 간의 이체 시나리오에 대한 개략도이다.
도 4는 본 개시의 실시예에 따른 서명 생성에 대한 흐름면이다.
도 5는 본 개시의 실시예에 따른 합의에 도달하는 프로세스에 대한 개략도이다.
도 6은 본 개시의 실시예에 따른 병렬 방식의 서명 생성에 대한 개략도이다.
도 7은 본 개시의 실시예에 따른 서명 생성에 대한 흐름도이다.
도 8은 본 개시의 실시예에 따른 복수의 계약 파티에 의해 계약을 개시하는 것에 대한 개략도이다.
도 9는 본 개시의 실시예에 따른 서명 생성 장치에 대한 개략적인 구조도이다.
도 10은 본 개시의 실시예에 따른 서명 생성 장치에 대한 개략적인 구조도이다.
도 11은 본 개시의 실시예에 따른 단말(1100)에 대한 개략적인 블록도이다.
도 12는 본 개시의 실시예에 따른 서버에 대한 개략적인 구조 블록도이다.
본 개시의 목적, 기술적 솔루션 및 이점을 더 명확하게 하기 위해, 이하에서는 첨부된 도면을 참조해서 본 개시의 구현을 더 상세히 설명한다.
도 1에 도시된 데이터 공유 시스템을 참조하면, 데이터 공유 시스템(100)은 노드 간의 데이터 공유를 위한 시스템이다. 데이터 공유 시스템은 복수의 노드(101, 102, 103)를 포함할 수 있고, 복수의 노드(101)는 데이터 공유 시스템의 클라이언트 장치일 수 있고, 데이터 공유 시스템은 정보 및 데이터를 저장하기 위한 하나 이상의 블록 체인을 구성할 수 있다. 각각의 노드(101)는 정상적인 작업 동안 입력 정보를 수신할 수 있고, 수신된 입력 정보에 기초하여 데이터 공유 시스템에서 공유 데이터를 유지한다.
데이터 공유 시스템에서 정보 상호 연동을 보장하기 위해, 데이터 공유 시스템의 노드 사이에 정보 연결이 확립될 수 있어서, 정보 연결을 통해 노드 간에 정보가 전송될 수 있다. 노드들 사이의 통신이 수행될 수 있고 신뢰가 달성된다. 디지털 서명 기술에 의존해야 하며, 주로 신원 확인, 정보 인증 및 무결성 인증을 실행한다. 예를 들어, 데이터 공유 시스템의 임의의 노드가 입력 정보를 수신할 때, 이 노드의 검사가 성공한 후, 정보는 다른 노드로 브로드캐스트될 것이다. 노드 간 합의에 도달하는 프로세스에서, 노드는 서명을 확인해야 하며 특정 수의 노드 확인이 성공하면 합의에 도달할 수 있다. 합의에 도달한 후, 입력 정보는 스토리지의 공유 데이터로 사용되므로 데이터 공유 시스템의 모든 노드에 저장된 데이터가 일관된다. 데이터 공유 시스템은 거래 시스템일 수 있고, 거래 시스템은 금융 거래를 위한 시스템이다. 거래 시스템은 복수의 노드를 포함할 수 있다. 각 노드는 거래 중에 원장 데이터를 생성하고 그 원장 데이터를 기반으로 거래 시스템에서 공유 원장을 유지한다.
블록 체인 기술을 적용하는 동안, 둘 이상의 사용자가 거래를 서명하여 블록 체인으로 보내려면 다중-서명 기술이 필요하다. 즉, 서명 집계 파티는 복수의 사용자의 서명 및 공개 키에 따라 집계 서명 및 집계 공개 키를 생성하고, 서명 검사 동안, 서명된 메시지는 집계 서명 및 집계 공개 키에 따라 검사되기만 하면 된다. 실제 적용 시나리오에서, 서명 생성 프로세스에서, 서명을 생성하는 트리거 명령을 수신한 후, 복수의 서명 파티는 난수를 선택하고 난수에 따라 고윳값을 생성한다. 서명 집계 파티는 서명될 메시지 및 복수의 서명 파티의 고윳값에 따라 메시지 요약을 생성한다. 복수의 서명 파티는 메시지 요약을 획득하고(메시지 요약은 서명될 메시지 및 고윳값에 따라 서명 집계 파티에 의한 계산을 통해 획득된다), 그런 다음 메시지 요약, 난수, 및 개인 키에 따라 하위 서명을 생성한다. 서명 집계 파티는 복수의 서명 파티의 공개 키 및 하위 서명을 획득한다. 그런 다음, 서명 집계 파티는 복수의 서명 파티의 공개 키에 따라 집계 공개 키를 생성한다. 서명 집계 파티는 복수의 하위 서명(예를 들어, 하위 서명의 합산 값) 및 메시지 요약에 따라 집계 서명을 생성한다.
데이터 공유 시스템의 클라이언트 장치 및 노드는 난수, 하위 서명, 메시지 요약, 집계 서명 집계 공개 키 등을 저장하기 위해 적어도 하나의 데이터베이스를 추가로 가질 수 있다.
이 솔루션은 3개의 구현 시나리오를 사용해서 이하에 상세히 설명한다.
도 2는 본 개시의 실시예에 따른 서명 생성에 대한 흐름도이다. 예를 들어, 방법은 데이터 공유 시스템에서 클라이언트 장치에 적용되고, 복수의 서명 파티는 클라이언트 장치에 의해 제공되는 복수의 계정 주소이다. 이 경우, 복수의 서명 파티 및 서명 집계 파티는 동일한 데이터 공유 시스템에서 동일한 클라이언트 장치 상에 있다. 즉, 복수의 서명 파티 및 서명 집계 파티는 동일한 실행 본문을 가지며, 서명될 메시지는 각각의 계정 주소에 대응하는 이체 금액 및 일부 다른 거래 정보이다. 작동 200-208은 아래에 상세히 설명된다.
200: 클라이언트 장치는 서명 생성 명령을 획득하고, 서명 생성 명령은 복수의 계정 주소로부터 적어도 하나의 계정 주소로 전달하도록 명령하고 복수의 계정 주소의 전달 수량을 지시하는 데 사용된다.
도 3에 도시된 바와 같이, 사용자가 복수의 계정 주소를 가지고 있는 것으로 가정하면, 사용자가 복수의 계정 주소 내의 자산을 하나 이상의 목표 계정 주소에 이체해야 할 때, 복수의 계정은 복수의 서명 파티이다. 사용자가 클라이언트 장치를 작동시켜 거래를 수행할 때, 클라이언트 장치는 이체 요청을 수신한다. 이체 요청은 이 거래에서 서명될 메시지를 전달한다. 그런 다음, 서명 생성 명령이 트리거링되어, 클라이언트 장치는 서명을 생성하기 시작한다. 서명될 메시지는 현재 이체 요청일 수 있거나, 또는 현재 이체 요청에서 출금 이체 계좌(transfer-out account)로 사용되는 계정 주소, 각각의 계정 주소의 이체 금액 및 입금 이체 계좌(transfer-in account)로 사용되는 계정 주소일 수 있다.
201: 클라이언트 장치는 클라이언트 장치는 이체 계좌로 사용되는 복수의 계정 주소의 복수의 난수를 획득하고, 복수의 난수에 따라 복수의 계정 주소의 고윳값을 개별적으로 생성한다.
서명 생성 명령을 수신한 후, 클라이언트 장치에서 복수의 계정 주소를 구별하기 위해, 클라이언트 장치는 복수의 계정 주소에 대한 각각의 난수를 선택하거나, 복수의 계정 주소의 미리 저장된 각각의 난수를 취하며, 복수의 난수에 따라 복수의 계정 주소의 고윳값을 각각 생성한다.
구체적으로, 계정 주소를 예로 들어, 계정 주소의 실행 본체는 클라이언트 장치이고, 작동 200은 다음 동작 1 내지 동작 4를 포함할 수 있다.
작동 1: 클라이언트 장치는 계정 주소에 대한 제1 값
Figure 112019124124503-pct00004
및 제2 값
Figure 112019124124503-pct00005
를 획득하고, 제1 값
Figure 112019124124503-pct00006
및 제2 값
Figure 112019124124503-pct00007
는 소수이고,
Figure 112019124124503-pct00008
Figure 112019124124503-pct00009
의 인수이고,
Figure 112019124124503-pct00010
Figure 112019124124503-pct00011
이다.
클라이언트 장치는
Figure 112019124124503-pct00012
의 범위 내의 소수를 선택하고 그 소수를 제1 값
Figure 112019124124503-pct00013
으로 결정하고,
Figure 112019124124503-pct00014
의 범위 내의 소수를 선택하고 그 소수를 제2 값
Figure 112019124124503-pct00015
로 결정하므로, 제1 값
Figure 112019124124503-pct00016
및 제2 값
Figure 112019124124503-pct00017
Figure 112019124124503-pct00018
Figure 112019124124503-pct00019
의 인수임을 만족한다. 전술한 방식 외에, 클라이언트 장치는 관련 데이터베이스에 미리 저장되어 있는 제1 값
Figure 112019124124503-pct00020
및 제2 값
Figure 112019124124503-pct00021
을 또한 고려할 수 있다. 미리 저장되어 있는 제1 값
Figure 112019124124503-pct00022
및 제2 값
Figure 112019124124503-pct00023
는 모두 소수이며,
Figure 112019124124503-pct00024
Figure 112019124124503-pct00025
의 인수이고,
Figure 112019124124503-pct00026
Figure 112019124124503-pct00027
임을 만족한다.
작동 2: 생성 기준(generation base)
Figure 112019124124503-pct00028
를 획득하며,
Figure 112019124124503-pct00029
Figure 112019124124503-pct00030
Figure 112019124124503-pct00031
로 정확하게 나누어질 수 있음을 만족한다.
클라이언트 장치는 무작위로 값을 선택하고, 그 값을 생성 기준 g로 결정하므로, 생성 기준 g는
Figure 112019124124503-pct00032
Figure 112019124124503-pct00033
로 정확하게 나누어질 수 있음을 만족한다. 대안으로, 클라이언트 장치는 관련 데이터베이스에 미리 저장되어 있는 생성 기준 g를 가져오고 그 생성 기준 g는
Figure 112019124124503-pct00034
Figure 112019124124503-pct00035
로 정확하게 나누어질 수 있음을 만족한다.
작동 3: 난수를 획득하며, 난수의 값 범위는
Figure 112019124124503-pct00036
이다.
클라이언트 장치는
Figure 112019124124503-pct00037
의 범위 내의 값을 무작위로 선택하고, 그 값을 난수로 결정한다. 대안으로, 클라이언트 장치는 관련 데이터베이스에 미리 저장되어 있는 난수를 가져오고 그 난수는
Figure 112019124124503-pct00038
의 범위 내에 있음을 만족한다.
작동 4: 난수, 생성 기준 및 제1 값에 따라 고윳값을 생성한다.
난수, 생성 기준 및 제1 값에 따라 고윳값을 획득한 후, 클라이언트 장치는 다음 식(1)에 따라 계정 주소의 고윳값을 계산할 수 있다:
Figure 112019124124503-pct00039
Figure 112019124124503-pct00040
은 고윳값을 나타내고,
Figure 112019124124503-pct00041
은 난수를 나타내고,
Figure 112019124124503-pct00042
는 생성 기준을 나타내며,
Figure 112019124124503-pct00043
는 제1 값을 나타낸다.
클라이언트 장치는 작동 1 내지 작동 4에 따라 출금 이체 계좌로 사용되는 복수의 계정 주소에 대한 각각의 고윳값을 생성할 수 있다. 세부 사항은 여기서 다시 설명하지 않는다. 생성 프로세스는 병렬일 수 있다. 즉, 클라이언트 장치는 복수의 계정 주소에 대한 각각의 난수를 동시에 획득하고, 복수의 난수에 따라 복수의 계정 주소에 대한 각각의 고윳값을 생성한다. 생성 프로세스는 직렬일 수도 있다. 즉, 클라이언트 장치는 계정 주소에 대한 난수를 획득하고 난수에 따라 계정 주소에 대한 고윳값을 생성한다. 그런 다음, 클라이언트 장치는 모든 계정 주소에 대해 고윳값이 생성될 때까지 임의의 숫자에 따라 다음 계정 주소에 대한 고윳값을 생성하고, 그런 다음 작동이 종료된다. 이것은 여기에 제한되지 않는다.
202: 클라이언트 장치는 서명될 메시지 및 복수의 계정 주소의 고윳값을 획득하고, 메시지 요약을 생성하고, 상기 서명될 메시지는 출금 이체 계좌(transfer-out account)로 사용되는 계정 주소, 각각의 계정 주소의 이체 금액 및 입금 이체 계좌(transfer-in account)로 사용되는 계정 주소를 포함한다.
전술한 프로세스에 따라 계정 어드레스에 대한 각각의 고윳값을 생성한 후, 클라이언트 장치는 복수의 고윳값을 획득하고, 복수의 고윳값에 따라 집계 고윳값을 생성한다. 그런 다음, 클라이언트 장치는 획득된 집계 고윳값, 출금 이체 계좌로 사용된 계정 주소, 각각의 계정 주소의 이체 금액, 입금 이체 계좌로 사용된 계정 주소 및 미리 설정된 단방향 해시 함수(one-way hash function)에 따라 메시지 요약을 생성한다.
구체적으로, 작동 202는 이하의 작동 1 내지 작동 3을 포함할 수 있다.
작동 1: 클라이언트 장치는 복수의 계정 주소에 대한 각각의 고윳값 및 서명될 메시지를 획득한다.
클라이언트 장치는 서명될 메시지로서 전송 요청을 직접 사용하거나, 전송 요청에서 출금 이체 계좌로 사용된 계정 주소, 각각의 계정 주소의 이체 금액 및 입금 이체 계좌로 사용된 계정 주소를 서명될 메시지로서 추출할 수 있다. 이 실시예에서는, 서명될 메시지가 출금 이체 계좌로 사용된 추출된 계정 주소, 각각의 계정 주소의 이체 금액 및 출금 이체 계좌로서 사용된 계정 주소인 예를 사용하여 설명이 제공된다.
이 동작에서, 클라이언트 장치는 작동 201에서 생성되는 계정 어드레스의 고윳값 및 제1 값을 미리 저장할 수 있다. 메시지 요약을 생성하기 전에, 클라이언트 장치는 계정 주소의 미리 저장된 고윳값 및 제1값을 획득할 수 있다.
작동 2: 클라이언트 장치는 복수의 계정 어드레스의 각각의 고윳값 및 제1 값에 따라 집계 고윳값을 생성한다.
특정 계산 방식에서, 클라이언트 장치는 복수의 고윳값의 곱을 계산하고, 복수의 고윳값의 곱 및 제1 값에 따라 집계 고윳값을 생성한다. 또한, 전술한 계산 프로세스에서, 클라이언트 장치가 복수의 고윳값과 제1 값의 곱에 따라 집계 고윳값을 생성하는 프로세스는 모듈로 연산을 통해 수행될 수 있다. 계산식은 다음 식(2)일 수 있다.
Figure 112019124124503-pct00044
Figure 112019124124503-pct00045
은 집계 고윳값을 나타내고,
Figure 112019124124503-pct00046
은 계정 주소의 총수를 나타내고,
Figure 112019124124503-pct00047
는 i번째 계정 주소의 고윳값을 나타내며, mod는 모듈로 연산을 나타내며,
Figure 112019124124503-pct00048
는 제1 값을 나타낸다.
작동 3: 집계 고윳값, 서명될 메시지 및 미리 설정된 단방향 해시 함수에 따라 메시지 요약을 생성한다.
메시지의 해시 값은 전술한 생성된 집계 고윳값, 서명될 메시지 및 미리 설정된 단방향 해시 함수에 따라 획득된다. 해시 값은 메시지 요약이다. 미리 설정된 단방향 해시 함수는 SHA256 보안 해시 함수일 수 있다.
또한, 메시지 요약은 다음 식(3)에 따라 계산될 수 있다:
Figure 112019124124503-pct00049
Figure 112019124124503-pct00050
는 메시지 요약을 나타내고,
Figure 112019124124503-pct00051
는 해시 값 계산 연산을 나타내고,
Figure 112019124124503-pct00052
은 서명될 메시지를 나타내며,
Figure 112019124124503-pct00053
은 집계 고윳값을 나타낸다.
203: 클라이언트 장치는 출금 이체 계좌로 사용되는 복수의 계정 주소의 개인 키 및 공개 키를 획득하고, 메시지 요약, 난수 및 개인 키에 따라 하위 서명을 생성한다.
메시지 요약을 획득한 후, 클라이언트 장치는 전송할 준비가 된 계정 주소의 개인 키 및 공개 키를 획득할 수 있다. 개인 키 및 공개 키는 다음의 복수의 구현으로 획득될 수 있다: (1) 데이터베이스는 각각의 계정 주소의 개인 키 및 공개 키를 저장할 수 있고, 클라이언트 장치가 개인 키 및 공개 키를 필요로 할 때, 클라이언트 장치는 데이터베이스로부터 각각의 계정 주소의 개인 키 및 공개 키를 직접 얻을 수 있으며; (2) 클라이언트 장치는 각각의 계정 주소에 대한 개인 키 및 공개 키를 일시적으로 생성하며, 개인 키는
Figure 112019124124503-pct00054
의 범위 내에 있으며,
Figure 112019124124503-pct00055
는 위에서 획득된 제2 값이며, 공개 키는 개인 키, 생성 기준 및 제1 값에 따라 생성된다. 구체적인 계산식은 다음 식(4)일 수 있다:
Figure 112019124124503-pct00056
Figure 112019124124503-pct00057
는 공개 키를 나타내고,
Figure 112019124124503-pct00058
는 공개 키를 나타내고,
Figure 112019124124503-pct00059
는 생성 기준을 나타내며,
Figure 112019124124503-pct00060
는 제1 값을 나타낸다.
그런 다음, 클라이언트 장치는 전술한 프로세스에서 생성된 메시지 요약, 난수 및 제2 값을 획득하고, 개인 키, 메시지 요약, 각각의 계정 주소의 난수 및 제2 값에 따라 각각의 계정 주소의 하위 서명을 계산한다. 계산 식은 다음 식(5)일 수 있다:
Figure 112019124124503-pct00061
Figure 112019124124503-pct00062
는 i번째 계정 주소의 하위 서명을 나타내고,
Figure 112019124124503-pct00063
는 i번째 계정 주소의 난수를 나타내고,
Figure 112019124124503-pct00064
는 메시지 요약을 나타내고,
Figure 112019124124503-pct00065
는 i번째 계정 주소의 개인 키를 나타내고,
Figure 112019124124503-pct00066
는 제2 값을 나타내며, mod는 모듈로 연산을 나타낸다.
204: 클라이언트 장치는 복수의 계정 주소의 공개 키를 획득하고, 복수의 계정 주소의 공개 키에 따라 집계 공개 키를 생성한다.
클라이언트 장치가 전술한 처리 프로세스에 따라 계정 주소에 대한 각각의 공개 키를 획득한 후, 클라이언트 장치는 공개 키의 곱 및 제1 값에 따라 집계 공개 키를 생성한다. 또한, 전술한 계산 프로세스에서, 클라이언트 장치는 계정 어드레스에 대한 각각의 제1 값을 획득하고, 복수의 공개 키의 곱을 계산하고, 복수의 공개 키의 곱 및 제1 값에 따라 모듈로 연산을 수행하며, 집계 공개 키를 생성한다. 그 계산은 다음 식(6)에 따라 수행될 수 있다:
Figure 112019124124503-pct00067
Figure 112019124124503-pct00068
는 집계 공개 키를 나타내고,
Figure 112019124124503-pct00069
는 구적 연산을 나타내고,
Figure 112019124124503-pct00070
은 계정 주소의 총수를 나타내고,
Figure 112019124124503-pct00071
는 i번째 계정 주소의 공개 키를 나타내며, mod는 모듈로 연산을 나타내며,
Figure 112019124124503-pct00072
는 제1 값을 나타낸다.
205: 클라이언트 장치는 복수의 하위 서명의 합산 값 및 메시지 요약에 따라 집계 서명을 생성한다.
전술한 작동 203을 통해, 클라이언트 장치는 계정 어드레스에 대한 각각의 하위 서명을 획득하고, 복수의 하위 서명의 합산 값을 획득하기 위해 하위 서명을 부가하고, 합산 값을 집계 하위 서명으로서 결정하며, 그런 다음 집계 하위 서명 및 메시지 요약에 따라 집계 서명을 생성한다.
또한, 전술한 계산 프로세스에서, 복수의 하위 서명의 합산 값을 얻기 위해 계정 주소의 하위 서명이 부가되고, 모듈로 연산은 합산 값 및 제2 값에 대해 수행되고, 획득된 결과는 집계 하위 서명으로 결정되며, 계산은 다음 수학 식(7)에 따라 수행될 수 있다:
Figure 112019124124503-pct00073
Figure 112019124124503-pct00074
는 집계 하위 서명을 나타내고,
Figure 112019124124503-pct00075
는 합산 연산을 나타내고,
Figure 112019124124503-pct00076
은 계정 주소의 총수를 나타내고,
Figure 112019124124503-pct00077
는 i번째 계정 주소의 하위 서명을 나타내며, mod는 모듈로 연산을 나타내며,
Figure 112019124124503-pct00078
는 제2 값을 나타낸다.
전술한 과정을 통해 집계 하위 서명을 결정한 후, 집계 하위 서명과 메시지 요약을 스플라이싱하고, 스플라이싱을 통해 얻은 결과를 집계 서명으로 결정한다. 전술한 과정을 통해 집계 하위 서명을 결정할 때, 집계 하위 서명은 하위 서명의 합산 값에 따라 생성되기 때문에, 획득된 집계 하위 서명의 길이는 스플라이싱 후 복수의 하위 서명의 길이보다 훨씬 짧다. 그러므로 집계 하위 서명에 따라 획득된 집계 서명의 길이는 스플라이싱을 통해 획득된 서명의 길이보다 짧고, 저장 동안 저장 공간이 감소될 수 있으며, 집계 서명의 네트워크 전송 동안, 네트워크 전송 부담이 경감된다.
전술한 동작에서, 고윳값, 메시지 요약, 하위 서명, 집계 서명, 집계 공개 키 등은 계산을 통해 획득될 수 있고, 클라이언트 장치는 획득된 고윳값, 메시지 요약, 하위 서명, 집계 서명, 집계 공개 키 등을 저장할 수 있다. 저장 동안, 클라이언트 장치는 생성된 모든 결과를 관련 데이터베이스에 저장하거나, 그 결과를 저장을 위해 각각의 계정 주소와 결합할 수 있으며, 이것은 여기에서 제한되지 않는다.
집계 서명 및 집계 공개 키를 생성하는 전술한 프로세스는 병렬일 수 있다. 즉, 클라이언트 장치는 모든 계정 주소의 각각의 하위 서명을 동시에 획득하고, 복수의 하위 서명에 따라 집계 하위 서명을 생성하고, 그런 다음 집계 하위 서명 및 메시지 요약에 따라 집계 서명을 생성한다. 유사하게, 클라이언트 장치는 모든 계정 주소의 각각의 공개 키를 동시에 획득하고, 복수의 공개 키에 따라 집계 공개 키를 생성한다. 선택적으로, 집계 서명 및 집계 공개 키를 생성하는 전술한 프로세스는 또한 직렬일 수 있다. 즉, 클라이언트 장치는 제1 계정 주소의 하위 서명 및 제2 계정 주소의 하위 서명을 획득하고, 2개의 하위 서명에 따라 부분 집계 하위 서명을 생성한다. 그런 다음, 클라이언트 장치는 제3 계정 주소의 하위 서명을 획득하고, 전술한 부분 집계 하위 서명 및 하위 서명에 따라 새로운 부분 집계 하위 서명을 생성한다. 그런 다음, 클라이언트 장치는 제4 계정 주소의 하위 서명을 획득하고, 모든 계정 주소의 하위 서명이 집계 하위 서명을 생성하는 데 참여할 때까지 전술한 부분 집계 하위 서명 및 하위 서명 등에 따라 새로운 부분 집계 하위 서명을 생성하며, 그런 다음, 생성된 통합 하위 서명 및 메시지 요약에 따라 통합 서명이 생성된다. 이것은 여기에 제한되지 않는다.
206: 클라이언트 장치는 데이터 공유 시스템에서 임의의 노드에 메시지, 집계 공개 키 및 집계 서명을 전송한다.
이 작동에서, 집계 서명은 데이터 공유 시스템으로 전송하기 위해 메시지에 추가될 수 있거나, 메시지 및 집계 서명은 데이터 공유 시스템으로 함께 전송될 수 있다. 이것은 여기에 제한되지 않는다.
전술한 프로세스에서 집계 공개 키 및 집계 서명이 생성된 후, 클라이언트 장치는 메시지, 집계 공개 키 및 집계 서명을 데이터 공유 시스템에 전송하고, 데이터 공유 시스템은 메시지에 대한 서명 검사를 수행한다.
207: 데이터 공유 시스템 내의 임의의 노드는 집계 공개 키 및 집계 서명에 따라 메시지에 대해 서명 검사를 수행한다.
구체적으로, 클라이언트 장치는 메시지, 생성 기준 및 각각의 계정 주소의 제1 값, 그리고 집계 공개 키 및 집계 서명을 데이터 공유 시스템에 전송하고, 데이터 공유 시스템은 정보를 시스템의 노드에 전송한다. 정보를 수신하는 노드는 메시지, 생성 기준 및 각각의 계정 주소의 제1 값, 그리고 집계 공개 키 및 집계 서명에 따라 메시지에 대한 서명 검사를 수행한다. 서명 검사 동안, 다음 식(8)이 성립되는지를 판정하고; 성립하면, 서명 검사가 성공이고 그렇지 않으면 서명 검사가 실패이다.
Figure 112019124124503-pct00079
Figure 112019124124503-pct00080
는 메시지 요약을 나타내고,
Figure 112019124124503-pct00081
는 해시 값 계산 연산을 나타내고,
Figure 112019124124503-pct00082
은 메시지를 나타내며,
Figure 112019124124503-pct00083
는 생성 기준을 나타내고,
Figure 112019124124503-pct00084
는 집계 하위 서명을 나타내고,
Figure 112019124124503-pct00085
는 집계 공개 키를 나타내며, mod는 모듈로 연산을 나타내며,
Figure 112019124124503-pct00086
는 제1 값을 나타낸다.
전술한 서명 검사 방법의 정확도는 수학적 방법을 사용해서 증명될 수 있으며, 특정한 증명 방법은 다음과 같을 수 있다:
전술한 계산 방법에 따르면, 식(8)
Figure 112019124124503-pct00087
Figure 112019124124503-pct00088
와 같고, 유클리드 알고리즘에 따라 다음이 획득될 수 있다:
Figure 112019124124503-pct00089
그러므로
Figure 112019124124503-pct00090
이 유도될 수 있다.
Figure 112019124124503-pct00091
Figure 112019124124503-pct00092
와 같기 때문에,
Figure 112019124124503-pct00093
가 성립한다. 그러므로 전술한 서명 검사 방법은 정확하다.
208. 데이터 공유 시스템은 서명 검사 결과, 집계 공개 키 및 집계 서명을 메시지에 부가한다.
데이터 공유 시스템은 서명 검사 결과, 집계 공개 키 및 집계 서명을 메시지에 부가하고, 부가 후에 획득된 메시지를 블록 체인에 부가한다.
본 출원에서, 집계 서명은 복수의 서명 파티의 하위 서명을 사용하여 생성되고, 집계 공개 키는 복수의 서명 파티의 공개 키에 기초하여 생성되며; 획득된 집계 서명의 길이는 복수의 하위 서명을 스플라이싱함으로써 획득된 다중 서명의 길이보다 짧고, 집계 공개 키의 길이는 복수의 공개 키를 스플라이싱함으로써 획득된 다중 공개 키의 길이보다 짧으며; 따라서, 집계 서명 및 집계 공개 키의 네트워크 전송 동안, 네트워크 전송의 부담이 경감되고, 저장 동안 저장 공간이 감소되고, 서명 검사 동안, 서명된 메시지는 집계 공개 키 및 집계를 사용하여 직접 검사되므로 서명 검사의 복잡도를 크게 줄이다. 또한, 전송 시나리오에서 전술한 서명 생성 방법의 특정 적용이 제공되므로, 서명 생성의 실행 가능성이 향상되고, 이체 시나리오에서 서명 생성 및 서명 검사의 효율성도 향상된다.
도 4는 본 발명의 일 실시예에 따른 서명 생성 방법의 흐름도이다. 예를 들어, 이 방법은 데이터 공유 시스템의 리더 노드에 적용된다. 이 경우 서명 집계 파티는 데이터 공유 시스템의 리더 노드이다. 복수의 서명 파티 각각은 데이터 공유 시스템에서 팔로워 노드이다. 임의의 팔로워 노드는 데이터 공유 시스템에서 리더 노드에 의해 브로드캐스트된 하트비트 정보(heartbeat information)에 따라, 리더 노드가 정상적으로 실행되고 리더 노드의 지시에 기초하여 로그를 복사할 수 있는 것으로 결정할 수 있다. 팔로워 노드가 일정 기간 동안 리더 노드의 하트비트 정보를 수신하지 않으면, 팔로워 노드는 리더 노드의 실행 중 결함이 있다고 결정할 수 있으며, 팔로워 노드는 데이터 공유 노드의 각각의 노드에 투표 요청(voting request)을 브로드캐스트한다. 클러스터에서 절반 이상의 노드 장치에 대한 투표를 받으면 팔로어 노드는 실행을 위해 리더 상태로 전환하고 클러스터의 각 노드 장치에 하트비트 정보를 브로드캐스트하고 클라이언트 장치와의 상호 작용에 따라 로그를 저장하며, 각 노드에 로그를 복사하도록 명령한다. 이러한 작업은 아래에 자세히 설명된다.
400: 리더 노드는 클라이언트 장치의 입력 정보를 전달하는 합의 확인 패킷을 각각의 팔로워 노드에 전송한다.
신뢰할 수 있는 블록 체인에서 bft-raft(consensus algorithm)를 사용하여 노드 사이의 합의에 도달할 때, 도 5에 도시된 바와 같이, 리더 노드는 합의 확인 패킷을 각각의 팔로어 노드에 전송한다. 합의 확인 패킷은 노드 사이의 패킷에 대한 합의에 도달한 후에 저장되어야 하는 데이터 패킷이며, 합의 확인 패킷 t는 서명될 메시지를 전달한다. 이 실시예에서, 서명될 메시지가 전송 메시지와 같은 클라이언트 장치의 입력 정보일 수 있는 예를 사용하여 설명이 제공된다.
401: 각각의 팔로워 노드는 합의 확인 패킷을 수신한다.
리더 노드가 합의 확인 패킷을 전송한 후, 각각의 팔로워 노드는 합의 확인 패킷을 수신한다. 합의 확인 패킷은 클라이언트 장치의 입력 정보를 전달하고, 클라이언트 장치의 입력 정보에 서명하도록 각각의 팔로워 노드를 트리거링한다.
402: 각각의 팔로워 노드는 합의 확인 패킷으로부터 클라이언트 장치의 입력 정보를 획득한다.
리더 노드에 의해 송신된 합의 확인 패킷을 수신한 후, 각각의 팔로워 노드는 합의 확인 패킷을 파싱하고 클라이언트 장치의 입력 정보를 획득한다.
403: 각각의 팔로워 노드는 각각의 공개 키 및 개인 키를 획득한다.
각각의 팔로워 노드가 전술한 프로세스에서 클라이언트 장치의 입력 정보를 획득한 후, 각각의 팔로워 노드는 각각의 공개 키 및 개인 키를 획득하고, 그 획득 방법은 작동 203을 참조해서 처리될 수 있으며, 이에 대해서는 여기서 다시 설명하지 않는다.
404: 리더 노드는 각각의 팔로워 노드의 공개 키를 획득한다.
전술한 작동이 완료된 후, 리더 노드는 각각의 팔로어 노드의 공개 키를 획득한다. 리더 노드는 다음의 복수의 구현들에서 각각의 팔로워 노드의 공개 키를 획득할 수 있다: (1) 각 팔로워 노드의 공개 키는 리더 노드의 데이터베이스에 저장될 수 있고, 필요할 경우 리더 노드는 데이터베이스에서 각각의 계정 주소의 공개 키를 직접 획득할 수 있다. (2) 각각의 팔로어 노드는 각각의 공개 키 및 개인 키를 각각의 데이터베이스에 저장할 수 있으며, 각각의 공개 키를 획득한 후, 각각의 팔로어 노드는 공개 키를 리더 노드로 전송한다. 이 경우, 팔로어 노드가 처음으로 공개 키를 전송한 후, 리더 노드는 팔로어 노드의 공개 키를 저장할 수 있고, 다음에 리더 노드가 팔로어 노드의 공개 키를 필요로 할 때 처리를 위해 전술한 구현 (1)에 대한 참조가 이루어질 수 있다. (3) 각각의 팔로워 노드는 개인 키 및 공개 키를 일시적으로 생성하고, 생성 계산 방법에 대한 전술한 작동 203을 참조할 수 있으며, 세부 사항은 여기서 다시 설명하지 않는다. 그런 다음, 각각의 팔로어 노드는 생성된 공개 키를 리더 노드로 전송한다. 이 경우, 팔로어 노드가 처음으로 공개 키를 전송한 후, 리더 노드는 팔로어 노드의 공개 키를 저장할 수 있고, 다음에 리더 노드가 팔로어 노드의 공개 키를 필요로 할 때 처리를 위해 전술한 구현 (1)에 대한 참조가 이루어질 수 있다. 세부 사항은 여기서 다시 설명하지 않는다.
405: 각각의 팔로워 노드는 각각의 난수를 획득하고, 각각의 난수에 따라 각각의 고윳값을 생성한다.
각각의 팔로워 노드가 난수를 획득하는 방법은 작동 201에서 작동 3에 따라 처리될 수 있으며, 각각의 팔로워 노드가 난수에 따라 고윳값을 생성하는 방법은 작동 201에서 작동 4에 따라 처리될 수 있다. 이에 대해서는 여기서 다시 설명하지 않는다. 각각의 고윳값을 생성한 후, 각각의 팔로워 노드는 각각의 고윳값을 리더 노드에 전송한다.
406: 각각의 팔로워 노드는 각각 생성된 고윳값을 리더 노드에 전송한다.
407: 각각의 팔로워 노드에 의해 송신된 각각의 고윳값을 수신한 후, 리더 노드는 클라이언트 장치의 입력 정보 및 각각의 팔로워 노드의 고윳값에 따라 메시지 요약을 생성한다.
메시지 요약을 생성하는 계산 프로세스는 작동 202에 따라 처리될 수 있으며, 이에 대해서는 여기서 다시 설명하지 않는다. 메시지 요약을 생성한 후, 리더 노드는 각각의 팔로워 노드에 메시지 요약을 전송한다.
408: 리더 노드는 데이터 공유 시스템에서 각각의 팔로워 노드에 메시지 요약을 전송한다.
409: 각각의 팔로워 노드는 메시지 요약, 난수 및 개인 키에 따라 하위 서명을 생성한다.
각각의 팔로워 노드가 하위 서명을 생성하는 계산 프로세스는 작동 203에 따라 처리될 수 있으며, 이에 대해서는 여기서 다시 설명하지 않는다. 각각의 팔로워 노드가 전술한 작동에서 각각의 하위 서명을 생성한 후, 각각의 팔로워 노드는 각각의 하위 서명을 리더 노드에 전송한다.
410: 리더 노드는 각각의 팔로워 노드에 의해 송신된 공개 키를 수신하고, 각각의 팔로워 노드의 공개 키에 따라 집계 공개 키를 생성한다.
리더 노드가 집계 공개 키를 생성하는 계산 프로세스는 작동 204에 따라 처리될 수 있으며, 이에 대해서는 여기서 다시 설명하지 않는다.
411: 리더 노드는 하위 서명의 합산 값 및 메시지 요약에 따라 집계 서명을 생성한다.
리더 노드가 집계 서명을 생성하는 계산 프로세스는 작동 205에 따라 처리될 수 있으며, 이에 대해서는 여기서 다시 설명하지 않는다.
412: 리더 노드는 각각의 팔로워 노드에 집계 공개 키 및 집계 서명을 전송한다.
리더 노드는 생성된 집계 공개 키 및 집계 서명을 합의 확인 패킷에 부가하고, 그런 다음 합의 확인 패킷을 각각의 팔로워 노드에 전송한다. 각각의 팔로워 노드는 합의 확인 패킷을 파싱하고, 집계 공개 키, 집계 서명 및 클라이언트 장치의 입력 정보를 추출한다. 그런 다음 각각의 팔로워 노드는 집계 공개 키 및 집계 서명에 따라 메시지에 대해 서명 검사를 수행한다. 서명 검사는 작동 207을 참조해서 처리될 수 있으며, 이에 대해서는 여기서 다시 설명하지 않는다.
413: 모든 팔로워 노드에 의해 메시지 노드에 대한 서명 검사가 수행된 후, 리더 노드는 합의에 도달하고, 각각의 노드는 합의 확인 패킷에서의 클라이언트 장치의 입력 정보, 집계 서명 및 집계 공개 키를 저장한다.
집계 공개 키 및 집계 서명에 따라 각 팔로워 노드가 메시지에서 서명 검사를 성공적으로 수행한 후 노드 간에 합의에 도달한다. 그런 다음, 각각의 팔로어 노드는 합의 확인 패킷 내의 클라이언트 장치의 입력 정보, 집계 서명 및 집계 공개 키를 저장한다.
전술한 프로세스에서 획득된 집계 서명의 길이는 스플라이싱을 통해 획득된 서명의 길이보다 짧고, 집계 공개 키의 길이는 스플라이싱을 통해 획득된 공개 키의 길이보다 짧다. 따라서, 합의 프로세스에서, 집계 서명의 네트워크 전송 동안, 네트워크 전송의 부담이 경감될 수 있고, 메시지에 대해 서명 검사가 수행될 때, 서명 검사의 복잡성이 감소되도록 집계 공개 키 및 집계 서명에 따라서만 메시지에 대한 서명 검사가 수행될 필요가 있다.
집계 서명 및 집계 공개 키를 생성하는 프로세스는 병렬일 수 있다. 도 6에 도시된 바와 같이, 리더 노드는 복수의 하위 서명에 따라 집계 하위 서명을 생성한 후, 집계 하위 서명 및 메시지 요약에 따라 집계 서명을 생성한다. 유사하게, 리더 노드는 복수의 공개 키에 따라 통합 공개 키를 생성한다. 선택적으로, 집계 서명 및 집계 공개 키를 생성하는 프로세스는 직렬일 수 있다. 즉, 제1 팔로어 노드는 그 하위 서명을 획득한 후 이를 제2 팔로어 노드로 전송하며; 제2 팔로어 노드는 제1 팔로어 노드의 하위 서명 및 제2 팔로어 노드의 하위 서명을 획득하고, 부분 집계 하위 서명을 생성하고, 그런 다음, 부분 집계 하위 서명을 제3 팔로어 노드로 전송하고; 제3 팔로어 노드는 제2 팔로어 노드에 의해 전송된 부분 집계 하위 서명 및 제3 팔로어 노드의 하위 서명을 획득하고, 새로운 부분 집계 하위 서명을 생성하며, 그런 다음, 새로운 부분 집계 하위 서명을 제4 팔로어 노드에 전송하고; 이와 같이 계속함으로써 마지막 팔로워 노드가 새로운 부분 집계 하위 서명을 생성하고, 부분 집계 하위 서명을 리더 노드로 전송하며; 리더 노드는 부분 집계 하위 서명을 수신하고, 부분 집계 하위 서명을 집계 하위 서명으로서 결정하고, 그런 다음 생성된 집계 하위 서명 및 메시지 요약에 따라 집계 서명을 생성한다. 이것은 여기에 제한되지 않는다.
본 출원에서, 집계 서명은 복수의 서명 파티의 하위 서명을 사용하여 생성되고, 집계 공개 키는 복수의 서명 파티의 공개 키에 기초하여 생성되고; 획득된 집계 서명의 길이는 복수의 하위 서명을 스플라이싱함으로써 획득된 다중 서명의 길이보다 짧고, 집계 공개 키의 길이는 복수의 공개 키를 스플라이싱함으로써 획득된 다중 공개 키의 길이보다 짧으며; 따라서, 집계 서명 및 집계 공개 키의 네트워크 전송 동안, 네트워크 전송의 부담이 경감되고, 저장 동안 저장 공간이 감소되고, 서명 검사 동안, 서명된 메시지는 집계 공개 키 및 집계 서명을 사용하여 직접 검사되므로 서명 검사의 복잡성을 크게 줄인다. 또한, 합의 시나리오에서의 전술한 서명 생성 방법의 특정 적용이 제공되어 서명 생성의 실행 가능성이 개선되고, 합의 시나리오에서의 서명 생성 및 서명 검사의 효율성도 개선된다.
도 7은 본 개시의 실시예에 따른 서명 생성에 대한 흐름도이다. 예를 들어, 이 방법은 데이터 공유 시스템에서 클라이언트 장치에 적용되고, 복수의 서명 파티 중 어느 하나가 위치하는 클라이언트 장치는 집계 서명을 실행하는 실행 본체로서 사용된다. 이 경우, 설명을 용이하게 하기 위해 지능형 계약에 참여하는 클라이언트 장치에서 서명 집계 파티로 사용되는 클라이언트 장치를 제1 클라이언트 장치라고 하며, 지능형 계약에 참여하는 다른 클라이언트 장치를 제2 클라이언트 장치라고 한다. 지능형 계약 시나리오에서, 서명될 메시지는 계약 데이터이며 계약 데이터는 거래 완료 조건을 제한하는 데 사용된다. 동작은 아래에 자세히 설명되어 있다.
700: 제1 클라이언트 장치 및 적어도 하나의 제2 클라이언트 장치는 서명 생성 명령을 획득하고, 서명 생성 명령은 복수의 계약 파티의 계약 내용 및 이체 금액을 나타내는 데 사용된다.
도 8에 도시된 바와 같이, 복수의 파티가 공동으로 계약의 양도를 개시할 때, 계약에 도달하기 위해서는 복수의 계약 파티의 서명이 필요하다. 복수의 계약 파티가 전송을 위해 각각의 클라이언트 장치를 조작할 때, 클라이언트 장치는 계약 전달 요청을 수신하고, 계약 거래 요청은 이 거래에서 서명될 메시지를 전달하며, 그 메시지는 복수의 계약 파티의 서명을 필요로 하고, 복수의 계약 파티는 서명을 생성하기 시작하도록 트리거링된다.
701: 제1 클라이언트 장치 및 적어도 하나의 제2 클라이언트 장치는 복수의 각각의 난수를 획득하고, 복수의 난수에 따라 각각의 고윳값을 개별적으로 생성한다.
서명 생성 트리거 명령을 수신할 때, 적어도 하나의 제2 클라이언트 장치는 각각의 난수를 획득한다. 획득 프로세스는 작동 201을 참조하여 처리될 수 있으며, 세부 사항은 여기서 다시 설명되지 않는다. 적어도 하나의 제2 클라이언트 장치의 난수를 획득한 후, 적어도 하나의 제2 클라이언트 장치는 각각의 난수에 따라 각각의 고윳값을 생성한다. 생성 방법은 작동 201을 참조하여 처리될 수 있으며, 세부 사항은 여기서 다시 설명되지 않는다. 고윳값을 생성한 후, 적어도 하나의 제2 클라이언트 장치는 생성된 고윳값을 제1 클라이언트 장치로 전송한다.
702: 적어도 하나의 제2 클라이언트 장치는 제1 클라이언트 장치에 각각의 고윳값을 전송한다.
703: 제1 클라이언트 장치는 계약 데이터 및 적어도 하나의 제2 클라이언트 장치의 적어도 하나의 고윳값에 따라 메시지 요약을 생성한다.
제1 클라이언트 장치가 메시지 요약을 생성하는 프로세스는 전술한 작동 202를 참조해서 처리될 수 있으며, 이에 대해서는 여기서 다시 설명하지 않는다.
704: 제1 클라이언트 장치는 적어도 하나의 제2 클라이언트 장치에 메시지 요약을 전송한다.
705: 적어도 하나의 제2 클라이언트 장치는 메시지 요약을 획득하고, 그런 다음 제1 클라이언트 장치 및 적어도 하나의 제2 클라이언트 장치는 계약 데이터, 개인 키 및 공개 키를 획득한다.
제1 클라이언트 장치 및 적어도 하나의 제2 클라이언트 장치가 각각의 비림 키 및 공개 키를 획득하는 프로세스는 작동 203을 참조해서 처리될 수 있으며, 이에 대해서는 여기서 다시 설명하지 않는다.
706: 제1 클라이언트 장치 및 적어도 하나의 제2 클라이언트 장치는 메시지 요약, 난수 및 개인 키에 따라 하위 서명을 생성한다.
적어도 하나의 제2 클라이언트 장치가 각각의 하위 서명을 생성하는 프로세스는 전술한 작동 203을 참조해서 처리될 수 있으며, 이에 대해서는 여기서 다시 설명하지 않는다.
707: 적어도 하나의 제2 클라이언트 장치는 제1 클라이언트 장치에 각각의 하위 서명을 전송한다.
708: 제1 클라이언트 장치는 제1 클라이언트 장치와 적어도 하나의 제2 클라이언트 장치의 각각의 공개 키를 획득하고, 제1 클라이언트 장치와 적어도 하나의 제2 클라이언트 장치의 각각의 공개 키에 따라 집계 공개 키를 생성한다.
제1 클라이언트 장치는 적어도 하나의 제2 클라이언트 장치에 의해 송신된 공개 키 및 하위 서명을 수신하고, 수신된 공개 키 및 하위 서명을 저장한다. 그런 다음, 제1 클라이언트 장치가 집계 공개 키를 생성하는 프로세스는 전술한 작동 204를 참조해서 처리될 수 있으며, 이에 대해서는 여기서 다시 설명하지 않는다.
709: 제1 클라이언트 장치는 제1 클라이언트 장치와 적어도 하나의 제2 클라이언트 장치의 하위 서명의 합산 값 및 메시지 요약에 따라 집계 서명을 생성한다.
제1 클라이언트 장치가 집계 서명을 생성하는 프로세스는 전술한 작동 205를 참조해서 처리될 수 있으며, 이에 대해서는 여기서 다시 설명하지 않는다.
710: 제1 클라이언트 장치는 집계 공개 키 및 집계 서명을 계약 데이터에 부가한다.
집계 공개 키 및 집계 서명을 생성한 후, 제1 클라이언트 장치는 집계 공개 키 및 집계 서명을 계약 데이터에 부가하고, 그런 다음, 계약 데이터를 데이터 공유 시스템으로 전송한다. 또한, 데이터 공유 시스템의 각 노드는 집계 공개 키 및 집계 서명에 기초하여 계약 데이터에 대한 서명 검사를 수행할 수 있다. 서명 검사가 성공하면 데이터 공유 시스템은 계약 데이터, 집계 공개 키 및 집계 서명을 저장한다. 당연히, 계약 데이터에 대해 서명 검사가 수행되지 않을 수 있으며 계약 데이터, 집계 공개 키 및 집계 서명이 직접 저장된다. 계약이 실행될 때, 데이터 공개 시스템으로부터 집계 공개 키 및 집계 서명이 획득되고, 집계 공개 키 및 집계 서명에 따라 계약 데이터에 대한 서명 검사가 수행된다.
전술한 프로세스에서 획득된 집계 서명의 길이는 스플라이싱을 통해 획득된 서명의 길이보다 짧고, 집계 공개 키의 길이는 스플라이싱을 통해 획득된 공개 키의 길이보다 짧다. 따라서, 집계 서명의 네트워크 전송 동안, 네트워크 전송의 부담이 경감될 수 있고, 집계 공개 키 및 집계 서명의 저장 동안, 저장 공간이 감소될 수 있다.
집계 서명 및 집계 공개 키를 생성하는 프로세스는 병렬일 수 있다. 즉, 집계 파티의 제1 클라이언트 장치는 복수의 하위 서명에 따라 집계 하위 서명을 생성하고 그런 다음, 집계 하위 서명 및 메시지 요약에 따라 집계 서명을 생성한다. 유사하게, 제1 클라이언트 장치는 복수의 공개 키에 따라 통합 공개 키를 생성한다. 선택적으로, 집계 서명 및 집계 공개 키를 생성하는 프로세스는 직렬일 수 있다. 즉, 제1 계약 파티 클라이언트 장치는 그 하위 서명을 획득하고 그런 다음, 이를 적어도 하나의 제2 계약 파티 클라이언트 장치로 전송한다. 적어도 하나의 제2 계약 파티 클라이언트 장치는 제1 계약 파티 클라이언트 장치의 하위 서명 및 적어도 하나의 제2 계약 파티 클라이언트 장치의 하위 서명을 획득하고, 부분 집계 하위 서명을 생성하고 그런 다음, 이를 제3 계약 파티 클라이언트 장치로 전송한다. 제3 계약 파티 클라이언트 장치는 적어도 하나의 제2 계약 파티 클라이언트 장치에 의해 전송된 부분 집계 하위 서명 및 제3 계약 파티 클라이언트 장치의 하위 서명을 획득하고, 새로운 부분 집계 하위 서명을 생성하고, 이와 같이 계속 진행하여, 그런 다음 이를 제4 계약 파티 클라이언트 장치에 전송하며, 이와 같이 계속 진행하여 마지막 계약 파티 클라이언트 장치가 새로운 부분 집계 하위 서명을 생성하고, 부분 집계 하위 서명을 집계 파티 제1 클라이언트 장치로 전송한다. 집계 파티 클라이언트는 부분 집계 하위 서명 및 집계 파티 클라이언트의 하위 서명에 따라 집계 하위 서명을 생성하고, 그런 다음 생성된 집계 하위 서명 및 메시지 요약에 따라 집계 서명을 생성한다. 이것은 여기에 제한되지 않는다.
본 출원에서, 집계 서명은 복수의 서명 파티의 하위 서명을 사용하여 생성되고, 집계 공개 키는 복수의 서명 파티의 공개 키에 기초하여 생성되며; 획득된 집계 서명의 길이는 복수의 하위 서명을 스플라이싱함으로써 획득된 다중 서명의 길이보다 짧고, 집계 공개 키의 길이는 복수의 공개 키를 스플라이싱함으로써 획득된 다중 공개 키의 길이보다 짧으며; 따라서, 집계 서명 및 집계 공개 키의 네트워크 전송 동안, 네트워크 전송의 부담이 경감되고, 저장 동안 저장 공간이 감소되고, 서명 검사 동안, 서명 공개 메시지는 집계 공개 키 및 집계를 사용하여 직접 검사된다 서명 검사의 복잡성을 크게 줄이다. 또한, 지능형 계약 시나리오에서 전술한 서명 생성 방법의 특정 적용이 제공되므로, 서명 생성의 실행 가능성이 개선되고, 지능형 계약 시나리오에서 서명 생성 및 서명 검사의 효율성도 개선된다.
도 9는 본 개시의 실시예에 따른 서명 생성 장치에 대한 개략적인 구조도이다. 도 9를 참조하면, 장치는 생성 모듈(901) 및 획득 모듈(902)를 포함한다.
생성 모듈(901)은 서명될 메시지(to-be-signed message) 및 복수의 서명 파티의 고윳값에 따라 메시지 요약을 생성하도록 구성되어 있으며, 각각의 서명 파티의 고윳값은 상기 서명 파티의 난수에 따른 계산을 통해 획득된다.
획득 모듈(902)은 상기 복수의 서명 파티의 공개 키 및 하위 서명을 획득하도록 구성되어 있으며, 각각의 서명 파티의 하위 서명은 상기 서명 파티의 난수, 상기 메시지 요약 및 상기 복수의 서명 파티의 개인 키에 따른 계산을 통해 획득된다.
생성 모듈(901)은 상기 복수의 서명 파티의 공개 키에 따라 집계 공개 키(aggregation public key)를 생성하도록 추가로 구성되어 있으며, 상기 집계 공개 키의 길이는 스플라이싱(splicing) 후 상기 복수의 공개 키의 길이보다 짧다.
생성 모듈(901)은 상기 복수의 하위 서명의 합산 값 및 상기 메시지 요약에 따라 집계 서명을 생성하도록 추가로 구성되어 있다.
임의의 가능한 구현에서, 생성 모듈(901)은 획득 서브모듈(9011) 및 생성 서브모듈(9012)을 포함한다.
획득 서브모듈(9011)은 상기 복수의 서명 파티의 고윳값, 상기 서명될 메시지 및 제1 값을 획득하도록 구성되어 있다.
생성 서브모듈(9012)은 상기 복수의 서명 파티의 고윳값 및 상기 제1 값에 따라 집계 고윳값을 생성하도록 구성되어 있다.
생성 서브모듈(9012)은 상기 집계 고윳값, 상기 서명될 메시지 및 미리 설정된 단방향 해시 함수(one-way hash function)에 따라 메시지 요약을 생성하도록 추가로 구성되어 있다.
임의의 가능한 구현에서, 생성 서브모듈(9012)은:
상기 복수의 고윳값의 곱을 계산하고, 상기 복수의 고윳값의 곱 및 상기 제1 값에 따라 상기 집계 고윳값을 생성하도록 추가로 구성되어 있다.
임의의 가능한 구현에서, 생성 서브모듈(9012)은: 상기 복수의 공개 키의 곱을 계산하고, 상기 복수의 공개 키의 곱 및 상기 제1 값에 따라 상기 집계 공개 키를 생성하도록 추가로 구성되어 있다.
임의의 가능한 구현에서, 생성 모듈(901)은:
상기 복수의 하위 서명에 따라 집계 하위 서명을 생성하고, 상기 집계 하위 서명 및 상기 메시지 요약을 스플라이싱하며, 스플라이싱 후에 획득된 결과를 상기 집계 서명으로서 결정하도록 추가로 구성되어 있다.
임의의 가능한 구현에서, 상기 복수의 서명 파티는 상기 클라이언트 장치에 의해 제공되는 복수의 계정 주소이며, 상기 서명될 메시지는 상기 방법이 데이터 공유 시스템에서 클라이언트 장치에 적용되는 경우에 각각의 계정 주소에 대응하는 값 전달 정보이다.
임의의 가능한 구현에서, 상기 서명될 메시지는 계약 데이터이며, 상기 계약 데이터는 상기 방법이 데이터 공유 시스템에서 클라이언트 장치에 적용되는 경우에 거래를 완료하는 조건을 제한하는 데 사용된다.
임의의 가능한 구현에서, 복수의 서명 파티 각각은 상기 방법이 데이터 공유 시스템에서 클라이언트 장치에 적용되는 경우에 데이터 공유 시스템에서 팔로워 노드이다.
이에 상응해서, 상기 장치는:
서명될 메시지 및 복수의 서명 파티의 고윳값에 따라 메시지 요약을 생성하는 단계 이후에, 상기 데이터 공유 시스템에서 상기 팔로어 노드에 상기 메시지 요약을 전송하도록 구성되어 있는 전송 모듈(903)
를 더 포함한다.
획득 모듈(902)은:
각각의 팔로워 노드에 의해 송신되는 공개 키 및 하위 서명을 수신하도록 추가로 구성되어 있다.
전송 모듈(903)은:
상기 복수의 하위 서명의 합산 값 및 상기 메시지 요약에 따라 집계 서명을 생성하는 단계 이후에, 상기 집계 공개 키 및 상기 집계 서명을 각각의 팔로어 노드에 전송하도록 추가로 구성되어 있다.
도 10은 본 개시의 실시예에 따른 서명 생성 장치에 대한 개략적인 구조도이다. 도 10을 참조하면, 장치는 생성 모듈(1001) 및 획득 모듈(1002)를 포함한다.
생성 모듈(1001)은 난수를 획득하고, 상기 난수에 따라 고윳값을 생성하도록 구성되어 있다.
획득 모듈(1002)은 서명될 메시지, 개인 키(private key) 및 공개 키를 획득하도록 구성되어 있다.
획득 모듈(1002)은 메시지 요약을 생성하도록 구성되어 있으며, 상기 메시지 요약은 상기 서명될 메시지 및 상기 고윳값에 따라 상기 서명 집계 파티에 의한 계산을 통해 획득된다.
생성 모듈(1001)은 상기 메시지 요약, 상기 난수 및 상기 개인 키에 따라 하위 서명을 생성하도록 구성되어 있다.
임의의 가능한 구현에서, 생성 모듈(1001)은:
제1 값
Figure 112019124124503-pct00094
및 제2 값
Figure 112019124124503-pct00095
를 획득하고 - 상기 제1 값
Figure 112019124124503-pct00096
및 상기 제2 값
Figure 112019124124503-pct00097
는 소수이고,
Figure 112019124124503-pct00098
Figure 112019124124503-pct00099
의 인수이고,
Figure 112019124124503-pct00100
Figure 112019124124503-pct00101
임 - ;
생성 기준(generation base)
Figure 112019124124503-pct00102
를 획득하고 -
Figure 112019124124503-pct00103
Figure 112019124124503-pct00104
Figure 112019124124503-pct00105
로 정확하게 나누어질 수 있음을 만족함 - ; 및
상기 난수를 획득하고 - 상기 난수의 값 범위는
Figure 112019124124503-pct00106
임 - ; 그리고
상기 난수, 상기 생성 기준 및 상기 제1 값에 따라 상기 고윳값을 생성하도록 추가로 구성되어 있다.
임의의 가능한 구현에서, 상기 장치는:
상기 서명 생성 방법이 데이터 공유 시스템에서 팔로워 노드에 적용되는 경우 상기 서명 집계 파티에 상기 하위 서명 및 상기 공개 키를 전송하도록 구성되어 있는 전송 모듈(1003)
을 더 포함한다.
본 개시의 실시예는 전자 장치를 추가로 제공하며, 상기 전자 장치는: 프로세서; 및 컴퓨터 프로그램을 저장하도록 구성된 메모리를 포함하며, 상기 프로세서는 상기 메모리에 저장되어 있는 상기 컴퓨터 프로그램을 실행하여, 다음의 방법 작동: 서명될 메시지 및 복수의 서명 파티의 고윳값에 따라 메시지 요약을 생성하는 단계 - 각각의 서명 파티의 고윳값은 상기 서명 파티의 난수에 따른 계산을 통해 획득됨 - ; 상기 복수의 서명 파티의 공개 키 및 하위 서명을 획득하는 단계 - 각각의 서명 파티의 하위 서명은 상기 서명 파티의 난수, 상기 메시지 요약 및 상기 복수의 서명 파티의 개인 키에 따른 계산을 통해 획득됨 - ; 상기 복수의 서명 파티의 공개 키에 따라 집계 공개 키를 생성하는 단계 - 상기 집계 공개 키의 길이는 스플라이싱 후 상기 복수의 공개 키의 길이보다 짧음 - ; 및 상기 복수의 하위 서명의 합산 값 및 상기 메시지 요약에 따라 집계 서명을 생성하는 단계를 수행하도록 구성되어 있다.
가능한 구현에서, 상기 프로세서는: 상기 복수의 서명 파티의 고윳값, 상기 서명될 메시지 및 제1 값을 획득하고; 상기 복수의 서명 파티의 고윳값 및 상기 제1 값에 따라 집계 고윳값을 생성하며; 그리고 상기 집계 고윳값, 상기 서명될 메시지 및 미리 설정된 단방향 해시 함수에 따라 메시지 요약을 생성하도록 구성되어 있다.
가능한 구현에서, 상기 프로세서는: 상기 복수의 고윳값의 곱을 계산하고, 상기 복수의 고윳값의 곱 및 상기 제1 값에 따라 상기 집계 고윳값을 생성하도록 구성되어 있다.
가능한 구현에서, 상기 프로세서는: 상기 복수의 공개 키의 곱을 계산하고, 상기 복수의 공개 키의 곱 및 상기 제1 값에 따라 상기 집계 공개 키를 생성하도록 구성되어 있다.
가능한 구현에서, 상기 프로세서는: 상기 복수의 하위 서명에 따라 집계 하위 서명을 생성하고, 상기 집계 하위 서명 및 상기 메시지 요약을 스플라이싱하며, 스플라이싱 후에 획득된 결과를 상기 집계 서명으로서 결정하도록 구성되어 있다.
가능한 구현에서, 상기 전자 장치는 데이터 공유 시스템에서 클라이언트 장치이고, 상기 복수의 서명 파티는 상기 클라이언트 장치에 의해 제공되는 복수의 계정 주소이며, 상기 서명될 메시지는 각각의 계정 주소에 대응하는 값 전달 정보이다.
가능한 구현에서, 상기 전자 장치는 데이터 공유 시스템에서 클라이언트 장치이고, 상기 서명될 메시지는 계약 데이터이며, 상기 계약 데이터는 거래를 완료하는 조건을 제한하는 데 사용된다.
가능한 구현에서, 상기 전자 장치는 데이터 공유 시스템에서 리더 노드이고, 상기 복수의 서명 파티 각각은 데이터 공유 시스템에서 팔로어 노드이며, 상기 전자 장치는 상기 데이터 공유 시스템에서 상기 메시지 요약을 상기 팔로어 노드로 전송하도록 구성되어 있는 송수신기를 더 포함하며, 상기 송수신기는 각각의 팔로워 노드에 의해 송신되는 공개 키 및 하위 서명을 수신하도록 추가로 구성되어 있으며, 상기 프로세서는 상기 집계 공개 키 및 상기 집계 서명을 각각의 팔로어 노드에 전송하도록 추가로 구성되어 있다.
일 예에서, 전술한 전자 장치는 도 11에 도시된 단말(1100)로서 제공될 수 있다. 도 11은 본 개시의 일 실시예에 따른 단말(1100)의 구조 블록도이다. 단말(1100)은 개인용 컴퓨터(PC), 스마트 폰, 태블릿 컴퓨터 등일 수 있다. 단말(1100)은 또한 사용자 기기, 휴대용 단말, 다른 이름 등으로 지칭될 수 있다.
통상적으로, 단말(1100)은 프로세서(1101) 및 메모리(1102)를 포함한다.
프로세서(1101)는 하나 이상의 프로세싱 코어, 예를 들어 4-코어 프로세서 또는 8-코어 프로세서를 포함할 수 있다. 프로세서(1101)는 디지털 신호 처리(digital signal processing, DSP), 필드-프로그래머블 게이트 어레이(field-programmable gate away, FPGA) 및 프로그래머블 로직 어레이(programmable logic array, PLA)에서 적어도 하나의 하드웨어 형태로 구현될 수 있다. 프로세서(1101)는 또한 메인 프로세서 및 코프로세서를 포함할 수 있다. 메인 프로세서는 어웨이크 상태에서 데이터를 처리하기 위한 프로세서이며 중앙 처리 장치(CPU)라고도 한다. 코프로세서는 대기 상태에서 데이터를 처리하기 위한 저전력 프로세서이다. 일부 실시예에서, 프로세서(1101)는 그래픽 처리 유닛(Graphics Processing Unit, GPU)와 통합될 수 있으며, GPU는 디스플레이 상에 디스플레이될 필요가 있는 컨텐츠를 렌더링 및 드로잉하는 역할을 한다. 일부 실시예들에서, 프로세서(1101)는 인공 지능(AI) 프로세서를 더 포함할 수 있다. AP 프로세서는 기계 학습과 관련된 컴퓨팅 동작을 처리하도록 구성된다.
메모리(1102)는 유형적(tangible)이고 비 일시적일 수 있는 하나 이상의 컴퓨터 판독 가능 저장 매체를 포함할 수 있다. 메모리(1102)는 또한 고속 랜덤 액세스 메모리, 및 하나 이상의 자기 디스크 저장 장치 및 플래시 저장 장치와 같은 비휘발성 메모리를 포함할 수 있다. 일부 실시예들에서, 메모리(1102) 내의 비 일시적 컴퓨터 판독 가능 저장 매체는 적어도 하나의 명령어를 저장하도록 구성되며, 적어도 하나의 명령어는 본 출원에서 제공된 서명 생성 방법을 구현하기 위해 프로세서(1101)에 의해 실행된다.
일부 실시예들에서, 단말(1100)은 선택적으로 주변 장치 인터페이스(1103) 및 적어도 하나의 주변 장치를 포함한다. 구체적으로, 주변 장치는 무선 주파수 회로(1104), 터치 디스플레이(1105), 카메라(1106), 오디오 회로(1107), 위치 결정 컴포넌트(1108) 및 전원(1109) 중 적어도 하나를 포함한다.
주변 장치 인터페이스(1103)는 입/출력(I/O)에 관련된 적어도 하나의 주변 장치를 프로세서(1101) 및 메모리(1102)에 연결하도록 구성될 수 있다. 일부 실시예에서, 프로세서(1101), 메모리(1102), 주변 장치 인터페이스(1103)는 동일한 칩 또는 회로 보드 상에 통합되고; 일부 다른 실시예에서, 프로세서(1101), 메모리(1102) 및 주변 장치 인터페이스(1103) 중 임의의 하나 또는 둘은 별도의 칩 또는 회로 보드 상에 구현될 수 있으며, 이는 본 실시예에 제한되지 않는다.
무선 주파수 회로(1104)는 전자기 신호로도 지칭되는 무선 주파수(RF) 신호를 수신 및 송신하도록 구성된다. RF 회로(1104)는 전자기 신호를 통해 통신 네트워크 및 다른 통신 장치와 통신한다. RF 회로(1104)는 전송을 위해 전기 신호를 전자기 신호로 변환하거나, 수신된 전자기 신호를 전기 신호로 변환한다. 선택적으로, RF 회로(1104)는 안테나 시스템, RF 송수신기, 하나 이상의 증폭기, 튜너, 발진기, 디지털 신호 프로세서, 코덱 칩셋, 가입자 식별 모듈 카드 등을 포함한다. RF 회로(1104)는 적어도 하나의 무선 통신 프로토콜을 통해 다른 단말과 통신할 수 있다. 무선 통신 프로토콜은 월드 와이드 웹, 수도권 네트워크, 인트라넷, 세대의 이동 통신 네트워크(2G, 3G, 4G 및 5G), 무선 근거리 네트워크 및/또는 무선 충실도(WiFi) 네트워크를 포함하지만 이에 제한되지는 않는다. 일부 실시예들에서, 무선 주파수 회로(1104)는 근거리 통신(NFC) 관련 회로를 더 포함할 수 있으며, 이것은 본 출원에서 제한되지 않는다.
터치 디스플레이(1105)는 사용자 인터페이스(UI)를 표시하도록 구성된다. UI는 그래픽, 텍스트, 아이콘, 비디오 및 이들의 임의의 조합을 포함할 수 있다. 터치 디스플레이(1105)는 또한 터치 디스플레이(1105)의 표면 상에서 또는 그 위에서 터치 신호를 수집하는 능력을 갖는다. 터치 신호는 처리를 위한 제어 신호로서 프로세서(1101)에 입력될 수 있다. 터치 디스플레이(1105)는 소프트 버튼 및/또는 소프트 키보드로도 지칭되는 가상 버튼 및/또는 가상 키보드를 제공하도록 구성된다. 일부 실시예들에서, 단말(1100)의 전면 패널 상에 배치된 하나의 터치 디스플레이(1105)가 있을 수 있고; 일부 다른 실시예들에서, 단말(1100)의 상이한 표면들 상에 또는 접힌 디자인으로 각각 배치된 적어도 2개의 터치 디스플레이(1105)가 있을 수 있다. 또 다른 실시예에서, 터치 디스플레이(1105)는 단말(1100)의 곡면 또는 접힌 표면에 배치된 플렉서블 디스플레이일 수 있다. 터치 디스플레이(1105)조차도 직사각형이 아닌 불규칙 패턴, 즉 프로파일링 스크린으로 설정될 수 있다. 터치 디스플레이 스크린(1105)조차도 직사각형이 아닌 불규칙 패턴, 즉 프로파일 스크린으로 설정될 수 있다. 터치 디스플레이(1105)는 액정 디스플레이(LCD) 또는 유기 발광 다이오드(OLED)와 같은 재료를 사용하여 제조될 수 있다.
카메라 어셈블리(1106)는 이미지 또는 비디오를 수집하도록 구성된다. 선택적으로, 카메라 어셈블리(1106)는 전면 카메라 및 후면 카메라를 포함한다. 일반적으로 전면 카메라는 화상 통화 또는 셀카를 구현하도록 구성되고 후면 카메라는 사진 또는 비디오 촬영을 구현하도록 구성된다. 일부 실시예에서, 메인 카메라, 피사계 심도 카메라 및 광각 카메라 중 어느 하나인 적어도 2개의 후방 카메라가 존재하여, 메인 카메라와 피사계 심도 카메라가 조합되어 구현된다. 보케 기능(bokhe function), 메인 카메라 및 광각 카메라가 결합되어 파노라마 촬영 및 가상 현실(VR) 촬영 기능을 구현한다. 일부 실시예에서, 카메라 어셈블리(1106)는 또한 플래시를 포함할 수 있다. 플래시는 단색 온도 플래시 또는 2색 온도 플래시일 수 있다. 2색 온도 플래시는 웜 라이트 플래시와 콜드 라이트 플래시의 조합이며 다른 색 온도에서 빛을 보정하는 데 사용할 수 있다.
오디오 회로(1107)는 사용자와 단말(1100) 사이에 오디오 인터페이스를 제공하도록 구성된다. 오디오 회로(1107)는 마이크로폰 및 스피커를 포함할 수 있다. 마이크로폰은: 사용자 및 환경의 음파를 수집하고, 음파를 처리를 위해 프로세서(1101)에 입력하기 위해 전기 신호로, 또는 음성 통신을 위해 RF 회로(1104)로 변환하도록 구성된다. 스테레오 수집 또는 노이즈 감소를 위해, 단말(1100)의 서로 다른 부분에 복수의 마이크로폰이 각각 배치될 수 있다. 마이크로폰은 또한 어레이 마이크로폰 또는 무지향성 마이크로폰일 수 있다. 스피커는 프로세서(1101) 또는 RF 회로(1104)로부터의 전기 신호를 음파로 변환하도록 구성된다. 스피커는 종래의 필름 스피커 또는 압전 세라믹 스피커일 수 있다. 스피커가 압전 세라믹 스피커인 경우, 전기 신호를 사람의 가청 음파로 변환할 수 있을 뿐만 아니라 전기 신호를 사람이 들을 수 없는 음파로 변환할 수 있다. 일부 실시예들에서, 오디오 회로(1107)는 또한 헤드폰 잭을 포함할 수 있다.
위치 결정 컴포넌트(1108)는 내비게이션 또는 위치 기반 서비스(LBS)를 구현하기 위해 단말(1100)의 현재 지리적 위치를 찾도록 구성된다. 위치 결정 구성 요소(1108)는 미국 GPS(Global Positioning System), 중국 베이도우 시스템 또는 러시아 갈릴레오 시스템에 기초한 위치 결정 구성 요소일 수 있다.
전원(1109)은 단말(1100)의 다양한 구성 요소에 전원을 공급하도록 구성된다. 전원(1109)은 교류, 직류, 일회용 배터리 또는 재충전 가능 배터리일 수 있다. 전원(1109)이 충전식 배터리를 포함하는 경우, 충전식 배터리는 유선 충전식 배터리 또는 무선 충전식 배터리일 수 있다. 유선 충전식 배터리는 유선으로 충전되는 배터리이고, 무선 충전식 배터리는 무선 코일로 충전되는 배터리이다. 충전식 배터리는 급속 충전 기술을 지원하는 데에도 사용할 수 있다.
일부 실시예에서, 단말(1100)은 하나 이상의 센서(1110)를 더 포함한다. 하나 이상의 센서(1110)는 가속 센서(1111), 자이로스코프 센서(1112), 압력 센서(1113), 지문 센서(1114), 광학 센서(1115) 및 근접 센서(1116)를 포함하지만 이에 제한되지는 않는다.
가속도 센서(1111)는 단말(1100)에 의해 설정된 좌표계의 3개의 좌표축 상의 가속도의 크기를 검출할 수 있다. 예를 들어, 가속도 센서(1111)는 3개의 좌표축 상의 중력 가속도의 성분을 검출하도록 구성될 수 있다. 프로세서(1101)는 가속도 센서(1111)에 의해 수집된 중력 가속도 신호에 따라 사용자 인터페이스를 가로 또는 세로로 표시하도록 터치 디스플레이(1105)를 제어할 수 있다. 가속도 센서(1111)는 게임의 데이터 또는 사용자의 움직임 데이터를 수집하도록 구성될 수도 있다.
자이로스코프 센서(1112)는 단말(1100)의 신체 방향 및 회전 각도를 검출할 수 있고, 자이로스코프 센서(1112)는 가속도 센서(1111)와 협력하여 단말(1100)에 대한 사용자의 3D 움직임을 수집할 수 있다. 자이로스코프 센서(1112)에 의해 수집된 프로세서(1101)는 (사용자의 틸팅 동작에 따라 UI를 변경하는 것과 같은) 모션 센싱, 촬영 시의 이미지 안정화, 게임 제어 및 관성 항법과 같은 기능을 구현할 수 있다.
압력 센서(1113)는 단말(1100)의 측면 베젤 및/또는 터치 디스플레이(1105)의 하위 레이어에 배치될 수 있다. 압력 센서(1113)가 단말(1100)의 측면 베젤에 배치될 때, 단말(1100)에 대한 사용자의 유지 신호(holding signal)가 감지될 수 있으며, 유지 신호에 따라 왼손 및 오른손 인식 또는 단축키 동작이 수행될 수 있다. 압력 센서(1113)가 터치 디스플레이(1105)의 하위 레이어에 배치될 때, UI 인터페이스에 대한 조작성 제어는 터치 디스플레이(1105)에 대한 사용자의 압력 조작에 따라 제어될 수 있다. 조작성 제어는 버튼 제어, 스크롤 막대 컨트롤, 아이콘 컨트롤 및 메뉴 컨트롤 중 적어도 하나를 포함한다.
지문 센서(1114)는 수집된 지문에 따라 사용자의 신원을 식별하기 위해 사용자의 지문을 수집하도록 구성된다. 사용자의 신원이 신뢰할 수 있는 신원임을 식별하면, 프로세서(1101)는 사용자에게 화면 잠금 해제, 암호화된 정보 보기, 소프트웨어 다운로드, 지불 및 변경 설정 등을 포함하는 관련 민감한 동작을 수행할 수 있는 권한을 부여한다. 지문 센서(1114)는 단말(1100)의 전면, 후면 또는 측면에 배치될 수 있다. 단말(1100)에 물리 버튼 또는 제조사 로고가 배치될 때, 지문 센서(1114)는 물리 버튼 또는 제조업체 로고와 통합될 수 있다.
광학 센서(1115)는 주변 광 강도를 수집하도록 구성된다. 일 실시예에서, 프로세서(1101)는 광학 센서(1115)에 의해 수집된 주변 광 강도에 따라 터치 디스플레이(1105)의 디스플레이 밝기를 제어할 수 있다. 구체적으로, 주변 광 강도가 비교적 높을 때, 터치 디스플레이(1105)의 디스플레이 밝기가 상승되고; 주변 광 강도가 비교적 낮으면, 터치 디스플레이(1105)의 디스플레이 밝기가 낮아진다. 다른 실시예에서, 프로세서(1101)는 또한 광 센서(1115)에 의해 수집된 주변 광 강도에 따라 카메라 어셈블리(1106)의 촬영 파라미터를 동적으로 조정할 수 있다.
거리 센서라고도 하는 근접 센서(1116)는 보통 단말(1100)의 전면에 배치된다. 근접 센서(1116)는 사용자와 단말(1100)의 전면 사이의 거리를 수집하도록 구성된다. 실시예에서, 근접 센서(1116)가 사용자와 단말(1100)의 전면 사이의 거리가 점차 감소하고 있음을 검출하면, 프로세서(1101)는 터치 스크린(1105)을 제어하여 브라이트 스크린 상태에서 블랙아웃 스크린 상태로 전환하고; 근접 센서(1116)가 사용자와 단말(1100)의 전면 사이의 거리가 점차 증가하고 있음을 검출하면, 프로세서(1101)는 블랙아웃 스크린 상태에서 브라이트 스크린 상태로 전환하도록 터치 디스플레이(1105)를 제어한다.
당업자는 도 11에 도시된 구조가 단말(1100)에 대한 제한을 구성하지 않으며, 단말은 도면에 도시된 것보다 더 많은 구성 요소를 포함하거나 더 적은 구성 요소를 포함할 수 있거나, 일부 구성 요소가 결합되거나, 상이한 구성 요소 배치가 사용될 수 있다는 것을 이해할 수 있을 것이다.
예시적 실시예에서, 적어도 하나의 명령, 적어도 하나의 프로그램 및 코드 세트 또는 명령 세트를 저장하는 컴퓨터 판독 가능 저장 매체가 더 제공되며, 적어도 하나의 명령은 적어도 하나의 프로그램, 및 코드 세트 또는 명령 세트는 전술한 실시예에서 제공되는 서명 생성 방법을 구현하기 위해 프로세서에 의해 로드 및 실행된다. 예를 들어, 컴퓨터 판독 가능 저장 매체는 ROM, 랜덤 액세스 메모리(RAM), CD-ROM, 자기 테이프, 플로피 디스크, 광학 데이터 저장 장치 등일 수 있다.
일 예에서, 전술한 전자 장치는 도 12에 도시된 서버(1200)로서 제공될 수 있다. 도 12는 본 개시의 일 실시예에 따른 서버의 구조적 블록도이다. 예를 들어, 서버(1200)는 노드로 제공될 수 있다. 도 12를 참조하면, 서버(1200)는 프로세싱 컴포넌트(1222)를 포함하고, 서버(1200)는 하나 이상의 프로세서, 및 메모리(132)로 표현되는 메모리 자원을 더 포함한다. 메모리 자원은 프로세싱 컴포넌트(1222)에 의해 실행될 수 있는 명령을 저장하기 위해 사용된다. 예를 들어 응용 프로그램이다. 메모리(1232)에 저장된 애플리케이션 프로그램은 각각이 일련의 명령에 대응하는 하나 이상의 모듈을 포함할 수 있다. 또한, 프로세싱 컴포넌트(1222)는 도 2, 도 4 및 도 7에 도시된 실시예들에서 임의의 서명 생성 방법에서 서버 측의 방법 동작들을 수행하기 위해 명령을 실행하도록 구성된다.
서버(1200)는 서버(1200)의 전원 공급 관리를 실행하도록 구성된 전원 공급 장치 컴포넌트(1226), 서버(1200)를 네트워크에 연결하도록 구성된 유선 또는 무선 네트워크 인터페이스(1250) 및 입/출력(I/O) 인터페이스를 더 포함할 수 있다. 서버(1200)는 메모리(1232)에 저장된 운영 체제, 예를 들어 Windows ServerTM, Mac OS XTM, UnixTM, LinuxTM, 또는 FreeBSDTM를 작동시킬 수 있다.
예시적인 실시예에서, 컴퓨터 판독 가능 저장 매체가 더 제공되며, 상기 저장 매체는 적어도 하나의 명령을 저장하며, 상기 적어도 하나의 명령은 전술한 실시예에서 제공되는 서명 생성 방법을 구현하기 위해 프로세서에 의해 로드 및 실행된다. 예를 들어, 컴퓨터 판독 가능 저장 매체는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광학 데이터 저장 장치 등일 수 있다.
본 명세서를 고려하고 본 개시를 실시한 후, 당업자는 본 개시의 다른 구현을 쉽게 생각할 수 있을 것이다. 본 출원은 본 개시의 임의의 변형, 사용 또는 적응적 변경을 포함하도록 의도된다. 이러한 변형, 사용 또는 적응적 변경은 본 개시의 일반적인 원리를 따르고, 본 개시에서 개시되지 않은 일반적인 지식 또는 일반적인 기술적 수단을 포함한다. 본 명세서 및 실시예는 단지 예시적인 것으로 간주되며, 본 개시의 실제 범위 및 사상은 다음의 청구 범위에서 지적된다.
본 출원은 전술되고 첨부 도면에 도시된 정확한 구조로 제한되지 않으며, 본 개시의 범위를 벗어나지 않고 다양한 수정 및 변경이 이루어질 수 있음을 이해해야 한다. 본 개시의 범위는 첨부된 청구 범위에 의해서만 제한된다.

Claims (20)

  1. 전자 장치에 의해 수행되는 서명 생성 방법으로서,
    서명될 메시지(to-be-signed message) 및 복수의 서명 파티(signature party)의 고윳값에 따라 메시지 요약을 생성하는 단계 - 각각의 서명 파티의 고윳값은 상기 서명 파티의 난수에 따른 계산을 통해 획득됨 - ;
    상기 복수의 서명 파티의 개인 키(private key), 공개 키 및 하위 서명을 획득하는 단계 - 각각의 서명 파티의 하위 서명은 상기 서명 파티의 난수, 상기 메시지 요약 및 상기 서명 파티의 개인 키에 따른 계산을 통해 획득됨 - ;
    상기 복수의 서명 파티의 공개 키에 따라 집계 공개 키(aggregation public key)를 생성하는 단계 - 상기 집계 공개 키의 길이는 스플라이싱(splicing) 후 복수의 공개 키의 길이보다 짧음 - ; 및
    복수의 하위 서명의 합산 값 및 상기 메시지 요약에 따라 집계 서명을 생성하는 단계
    를 포함하고,
    상기 복수의 하위 서명의 합산 값 및 상기 메시지 요약에 따라 집계 서명을 생성하는 단계는,
    상기 복수의 하위 서명의 합산 값에 따라 집계 하위 서명을 생성하고, 상기 집계 하위 서명 및 상기 메시지 요약을 스플라이싱하며, 스플라이싱 후에 획득된 결과를 상기 집계 서명으로서 결정하는 단계
    를 포함하는,
    서명 생성 방법.
  2. 제1항에 있어서,
    상기 서명될 메시지 및 복수의 서명 파티의 고윳값에 따라 메시지 요약을 생성하는 단계는,
    상기 복수의 서명 파티의 고윳값, 상기 서명될 메시지 및 제1 값을 획득하는 단계;
    상기 복수의 서명 파티의 고윳값 및 상기 제1 값에 따라 집계 고윳값을 생성하는 단계; 및
    상기 집계 고윳값, 상기 서명될 메시지 및 미리 설정된 단방향 해시 함수(one-way hash function)에 따라 메시지 요약을 생성하는 단계
    를 포함하는, 서명 생성 방법.
  3. 제2항에 있어서,
    상기 복수의 고윳값 및 상기 제1 값에 따라 집계 고윳값을 생성하는 단계는,
    상기 복수의 고윳값의 곱을 계산하고, 상기 복수의 고윳값의 곱 및 상기 제1 값에 따라 상기 집계 고윳값을 생성하는 단계
    를 포함하는, 서명 생성 방법.
  4. 제2항에 있어서,
    상기 복수의 서명 파티의 공개 키에 따라 집계 공개 키를 생성하는 단계는,
    상기 복수의 공개 키의 곱을 계산하고, 상기 복수의 공개 키의 곱 및 상기 제1 값에 따라 상기 집계 공개 키를 생성하는 단계
    를 포함하는, 서명 생성 방법.
  5. 삭제
  6. 제1항에 있어서,
    상기 전자 장치는 데이터 공유 시스템에서 클라이언트 장치이고, 상기 복수의 서명 파티는 상기 클라이언트 장치에 의해 제공되는 복수의 계정 주소이며, 상기 서명될 메시지는 각각의 계정 주소에 대응하는 값 전달 정보인, 서명 생성 방법.
  7. 제1항에 있어서,
    상기 전자 장치는 데이터 공유 시스템에서 클라이언트 장치이고, 상기 서명될 메시지는 계약 데이터이며, 상기 계약 데이터는 거래를 완료하는 조건을 제한하는 데 사용되는, 서명 생성 방법.
  8. 제1항에 있어서,
    상기 전자 장치는 데이터 공유 시스템에서 리더 노드(leader node)이고, 상기 복수의 서명 파티 각각은 데이터 공유 시스템에서 팔로어 노드(follower node)이고,
    상기 서명될 메시지 및 복수의 서명 파티의 고윳값에 따라 메시지 요약을 생성하는 단계 이후에, 상기 서명 생성 방법은:
    상기 데이터 공유 시스템에서 상기 팔로어 노드에 상기 메시지 요약을 전송하는 단계
    를 더 포함하며,
    상기 복수의 서명 파티의 공개 키 및 하위 서명을 획득하는 단계는,
    각각의 팔로워 노드에 의해 송신되는 공개 키 및 하위 서명을 수신하는 단계
    를 포함하고,
    상기 복수의 하위 서명의 합산 값 및 상기 메시지 요약에 따라 집계 서명을 생성하는 단계 이후에, 상기 서명 생성 방법은,
    상기 집계 공개 키 및 상기 집계 서명을 각각의 팔로어 노드에 전송하는 단계
    를 더 포함하는 서명 생성 방법.
  9. 서명 생성 방법으로서,
    각 서명 파티의 난수를 획득하고, 상기 난수에 따라 각 서명 파티의 고윳값을 생성하는 단계;
    서명될 메시지, 각 서명 파티의 개인 키(private key) 및 공개 키를 획득하는 단계;
    메시지 요약을 생성하는 단계 - 상기 메시지 요약은 상기 서명될 메시지 및 모든 서명 파티의 고윳값에 따라 서명 집계 파티에 의한 계산을 통해 획득됨 - ;
    상기 메시지 요약, 상기 난수 및 상기 개인 키에 따라 하위 서명을 생성하는 단계; 및
    서명 파티가 복수일 경우, 복수의 하위 서명의 합산 값에 따라 집계 하위 서명을 생성하고, 상기 집계 하위 서명 및 상기 메시지 요약을 스플라이싱하며, 스플라이싱 후에 획득된 결과를 집계 서명으로서 결정하는 단계
    를 포함하는 서명 생성 방법.
  10. 제9항에 있어서,
    상기 난수를 획득하고, 상기 난수에 따라 고윳값을 생성하는 단계는,
    제1 값
    Figure 112019124318508-pct00132
    및 제2 값
    Figure 112019124318508-pct00133
    를 획득하는 단계 - 상기 제1 값
    Figure 112019124318508-pct00134
    및 상기 제2 값
    Figure 112019124318508-pct00135
    는 소수이고,
    Figure 112019124318508-pct00136
    Figure 112019124318508-pct00137
    의 인수이고,
    Figure 112019124318508-pct00138
    Figure 112019124318508-pct00139
    임 - ;
    생성 기준(generation base)
    Figure 112019124318508-pct00140
    를 획득하는 단계 -
    Figure 112019124318508-pct00141
    Figure 112019124318508-pct00142
    Figure 112019124318508-pct00143
    로 정확하게 나누어질 수 있음을 만족함 - ; 및
    상기 난수를 획득하는 단계 - 상기 난수의 값 범위는
    Figure 112019124318508-pct00144
    임 - ; 및
    상기 난수, 상기 생성 기준 및 상기 제1 값에 따라 상기 고윳값을 생성하는 단계
    를 포함하는, 서명 생성 방법.
  11. 제9항에 있어서,
    상기 메시지 요약, 상기 난수 및 상기 개인 키에 따라 하위 서명을 생성하는 단계 이후에, 상기 서명 생성 방법은,
    상기 서명 생성 방법이 데이터 공유 시스템에서 팔로워 노드에 적용되는 경우 상기 서명 집계 파티에 상기 하위 서명 및 상기 공개 키를 전송하는 단계
    를 더 포함하는 서명 생성 방법.
  12. 전자 장치로서,
    프로세서; 및
    컴퓨터 프로그램을 저장하도록 구성된 메모리
    를 포함하며,
    상기 프로세서는 상기 메모리에 저장되어 있는 상기 컴퓨터 프로그램을 실행하여, 제1항 내지 제4항, 제6항 내지 제11항 중 어느 한 항에 따른 방법의 작동을 수행하도록 구성되어 있는, 전자 장치.
  13. 컴퓨터 프로그램을 저장하는 컴퓨터 판독 가능형 저장 매체로서,
    상기 컴퓨터 프로그램은, 프로세서에 의해 실행될 때, 제1항 내지 제4항, 제6항 내지 제11항 중 어느 한 항에 따른 방법의 작동을 수행하도록 구성되어 있는, 컴퓨터 판독 가능형 저장 매체.
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
KR1020197035599A 2017-11-10 2018-10-25 서명 생성 방법, 전자 장치 및 저장 매체 KR102350462B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201711106750.7 2017-11-10
CN201711106750.7A CN107968708B (zh) 2017-11-10 2017-11-10 生成签名的方法、装置、终端及服务器
PCT/CN2018/111928 WO2019091289A1 (zh) 2017-11-10 2018-10-25 生成签名的方法、电子设备及存储介质

Publications (2)

Publication Number Publication Date
KR20200003144A KR20200003144A (ko) 2020-01-08
KR102350462B1 true KR102350462B1 (ko) 2022-01-11

Family

ID=62000078

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197035599A KR102350462B1 (ko) 2017-11-10 2018-10-25 서명 생성 방법, 전자 장치 및 저장 매체

Country Status (6)

Country Link
US (1) US11128450B2 (ko)
EP (1) EP3611872A4 (ko)
JP (1) JP6966572B2 (ko)
KR (1) KR102350462B1 (ko)
CN (2) CN110971414B (ko)
WO (1) WO2019091289A1 (ko)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110971414B (zh) * 2017-11-10 2021-05-04 财付通支付科技有限公司 生成签名的方法、装置、终端及服务器
CN108650097B (zh) * 2018-04-28 2021-03-09 上海扈民区块链科技有限公司 一种高效的聚合数字签名方法
US11769156B2 (en) * 2018-05-15 2023-09-26 International Business Machines Corporation Automated data projection for smart contract groups on a blockchain
CN109064146B (zh) * 2018-08-07 2021-05-11 中钞***产业发展有限公司杭州区块链技术研究院 一种数字货币交易方法、设备、***、终端及客户端钱包
CN110826091B (zh) * 2018-08-14 2022-05-06 珠海金山办公软件有限公司 一种文件签名方法、装置、电子设备及可读存储介质
CN110943838A (zh) * 2018-09-21 2020-03-31 上海派链信息科技有限公司 区块链网络中确定区块的共识的方法、设备和存储介质
CN112968884B (zh) * 2018-09-27 2023-03-24 福建福链科技有限公司 一种防止黑客攻击的区块链异构共识方法及终端
EP3888290A4 (en) * 2018-11-27 2022-08-24 Akamai Technologies, Inc. TRUST-BASED, HIGH-PERFORMANCE, CONSENSUS-BASED DISTRIBUTED REGISTRATION SYSTEM
CN109672535B (zh) * 2018-12-11 2021-10-08 成都四方伟业软件股份有限公司 联盟链签名生成方法及装置
CN111385096B (zh) * 2018-12-28 2023-08-08 北京沃东天骏信息技术有限公司 一种区块链网络***、签名处理方法、终端及存储介质
CN110084600B (zh) * 2019-04-29 2021-08-27 百度在线网络技术(北京)有限公司 决议事务请求的处理、验证方法、装置、设备及介质
CN110209683B (zh) * 2019-06-05 2021-11-16 北京资源律动科技有限公司 一种实时获取环境数据并将其写入区块链的***
CN110247774A (zh) * 2019-06-28 2019-09-17 深圳市网心科技有限公司 一种区块链数据的共识方法及相关设备
CN112689848B (zh) * 2019-06-28 2024-06-11 深圳市网心科技有限公司 一种区块链数据的共识方法及相关设备
CN110300172B (zh) * 2019-06-28 2022-06-07 深圳市迅雷网络技术有限公司 一种区块链数据的共识方法及相关设备
CN110363513A (zh) * 2019-07-15 2019-10-22 湖南智慧政务区块链科技有限公司 基于区块链的联合支付方法和装置
CN110401537A (zh) * 2019-07-26 2019-11-01 深圳市网心科技有限公司 基于bls签名算法的门限投票方法、***及相关设备
CN110401541A (zh) * 2019-07-26 2019-11-01 深圳市网心科技有限公司 基于EC-Schnoor签名算法的门限投票方法、***及相关设备
CN110400409B (zh) * 2019-07-26 2022-02-22 深圳市迅雷网络技术有限公司 基于bls签名算法的门限投票方法、***及相关设备
CN110505064A (zh) * 2019-07-26 2019-11-26 深圳市网心科技有限公司 基于EC-Schnoor签名算法的门限投票方法、***及相关设备
CN110830259A (zh) * 2019-08-06 2020-02-21 贵州大学 为多媒体数据提供原始性和完整性证明的方法及***
US11588645B1 (en) * 2019-09-06 2023-02-21 University Of South Florida Systems and methods for compromise resilient and compact authentication for digital forensics
US11411721B2 (en) * 2019-09-27 2022-08-09 Cypherium Blockchain Inc. Systems and methods for selecting and utilizing a committee of validator nodes in a distributed system
CN111314067B (zh) * 2020-02-05 2021-04-16 腾讯科技(深圳)有限公司 区块存储方法、装置、计算机设备及存储介质
WO2021162737A1 (en) * 2020-02-14 2021-08-19 Google Llc Secure multi-party reach and frequency estimation
CN111371564B (zh) * 2020-03-04 2023-02-03 深圳大学 一种数字签名及区块链交易方法、装置及电子设备
CN111476572B (zh) * 2020-04-09 2024-03-19 财付通支付科技有限公司 基于区块链的数据处理方法、装置、存储介质及设备
CN113592638A (zh) * 2020-04-30 2021-11-02 顺丰科技有限公司 交易请求的处理方法、装置以及联盟链
CN111478772B (zh) * 2020-06-22 2020-10-16 杭州趣链科技有限公司 一种流水线友好的签名和验签方法、设备及存储介质
CN111769938B (zh) * 2020-06-29 2023-03-24 福建福链科技有限公司 一种区块链传感器的密钥管理***、数据验证***
EP4175217A4 (en) * 2020-06-30 2023-08-23 Fujitsu Limited SIGNATURE CONTROL METHOD, SIGNATURE CONTROL PROGRAM AND INFORMATION PROCESSING DEVICE
CN114124396B (zh) * 2020-09-01 2023-12-01 中国电信股份有限公司 信息传输方法、***和存储介质
CN112261082B (zh) * 2020-09-21 2021-11-19 中国科学院计算技术研究所 基于区块链和安全多方计算的被动dns数据共享方法及***
CN112380575B (zh) * 2020-11-17 2024-03-15 深圳市联创知识产权服务中心 多方电子签名合成方法、装置、设备及存储介质
CN112468304B (zh) * 2020-11-27 2024-05-03 湖南赛吉智慧城市建设管理有限公司 数据加密方法、装置、计算机设备及存储介质
US11675650B2 (en) * 2020-12-30 2023-06-13 Mission Secure, Inc. System and method for n-modular redundant communication
WO2022153452A1 (ja) * 2021-01-14 2022-07-21 富士通株式会社 制御方法、制御プログラム、および情報処理装置
CN112600678B (zh) * 2021-03-02 2021-05-07 腾讯科技(深圳)有限公司 一种数据处理方法、装置、设备及存储介质
KR20220161035A (ko) * 2021-05-28 2022-12-06 삼성에스디에스 주식회사 원본 증명 방법, 이를 위한 사용자 단말 및 키 관리 서버
CN113742709B (zh) * 2021-09-13 2023-09-05 抖音视界有限公司 信息的处理方法、装置、可读介质和电子设备
KR102439195B1 (ko) * 2022-05-03 2022-08-31 세종대학교산학협력단 다중 서명 생성 방법 및 시스템과 이를 수행하기 위한 컴퓨팅 장치

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106549909A (zh) * 2015-09-17 2017-03-29 阿里巴巴集团控股有限公司 一种授权验证方法及设备
WO2017186317A1 (en) * 2016-10-04 2017-11-02 Nec Europe Ltd. Method and system for byzantine fault-tolerance replicating of data on a plurality of servers

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001142397A (ja) * 1998-10-30 2001-05-25 Hitachi Ltd ディジタル署名方法、秘密情報の管理方法およびシステム
JP4194745B2 (ja) * 2000-09-19 2008-12-10 株式会社エヌ・ティ・ティ・データ 電子署名システム及び電子署名方法
AU2009200408B2 (en) * 2006-09-12 2012-05-10 Cpc Patent Technologies Pty Ltd Password generator
US8595504B2 (en) * 2008-08-12 2013-11-26 Industrial Technology Research Institute Light weight authentication and secret retrieval
JP5669204B2 (ja) * 2011-03-17 2015-02-12 Necソリューションイノベータ株式会社 分散情報管理システム、分散情報管理方法、および分散情報管理プログラム
US9713019B2 (en) * 2011-08-17 2017-07-18 CBF Networks, Inc. Self organizing backhaul radio
US9141823B2 (en) * 2013-03-15 2015-09-22 Veridicom, Sa De Cv Abstraction layer for default encryption with orthogonal encryption logic session object; and automated authentication, with a method for online litigation
CN103414731A (zh) * 2013-08-29 2013-11-27 青岛大学 一种并行密钥隔离的基于身份的聚合签名方法
FR3023400A1 (fr) * 2014-07-04 2016-01-08 Schneider Electric Ind Sas Procede de gestion de l'installation d'une application sur un dispositif electronique
CN104462965B (zh) * 2014-11-14 2018-03-13 华为技术有限公司 应用程序完整性验证方法及网络设备
US9853977B1 (en) * 2015-01-26 2017-12-26 Winklevoss Ip, Llc System, method, and program product for processing secure transactions within a cloud computing system
US9762393B2 (en) * 2015-03-19 2017-09-12 Conduent Business Services, Llc One-to-many matching with application to efficient privacy-preserving re-identification
CN105162760B (zh) * 2015-07-28 2018-08-14 郝孟一 随机抽取方法、装置以及***
US9948460B2 (en) * 2015-08-28 2018-04-17 City University Of Hong Kong Multivariate cryptography based on clipped hopfield neural network
CN105721413B (zh) * 2015-09-08 2018-05-29 腾讯科技(深圳)有限公司 业务处理方法及装置
CN105406970B (zh) * 2015-10-21 2019-03-12 浪潮电子信息产业股份有限公司 签名的方法及装置、验证签名的方法及装置
US11025407B2 (en) * 2015-12-04 2021-06-01 Verisign, Inc. Hash-based digital signatures for hierarchical internet public key infrastructure
US10567377B2 (en) * 2016-05-23 2020-02-18 Pemian & Corella, LLC Multifactor privacy-enhanced remote identification using a rich credential
CN106296200A (zh) * 2016-08-13 2017-01-04 深圳市樊溪电子有限公司 基于区块链技术的分布式光伏电力交易平台
GB2538022B (en) * 2016-08-20 2018-07-11 PQ Solutions Ltd Multiple secrets in quorum based data processing
US10230525B2 (en) * 2016-12-23 2019-03-12 Amazon Technologies, Inc. Public key rollup for merkle tree signature scheme
US10243939B2 (en) * 2016-12-23 2019-03-26 Amazon Technologies, Inc. Key distribution in a distributed computing environment
US10218511B2 (en) * 2016-12-23 2019-02-26 Amazon Technologies, Inc. Signature delegation
US10511445B1 (en) * 2017-01-05 2019-12-17 Amazon Technologies, Inc. Signature compression for hash-based signature schemes
US10608824B1 (en) * 2017-01-09 2020-03-31 Amazon Technologies, Inc. Merkle signature scheme tree expansion
CN106888096B (zh) * 2017-03-23 2019-10-08 西安电子科技大学 基于混淆技术的安全广播多重签名方法
CN107171788B (zh) * 2017-04-08 2020-06-30 西安邮电大学 一种基于身份且签名长度恒定的在线离线聚合签名方法
CN107222482A (zh) * 2017-06-01 2017-09-29 黑龙江卓亚科技有限公司 一种基于复合区块链网络的数据管理***及方法
US10581613B2 (en) * 2017-06-09 2020-03-03 Ecole Polytechnique Federale De Lausanne (Epfl) Cryptographically verifiable data structure having multi-hop forward and backwards links and associated systems and methods
US10862831B2 (en) * 2017-08-03 2020-12-08 Digital 14 Llc System, method, and computer program product providing end-to-end security of centrally accessible group membership information
US10601907B2 (en) * 2017-09-22 2020-03-24 Artiste QB Net Inc. System and method for platform to securely distribute compute workload to web capable devices
CN110971414B (zh) * 2017-11-10 2021-05-04 财付通支付科技有限公司 生成签名的方法、装置、终端及服务器

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106549909A (zh) * 2015-09-17 2017-03-29 阿里巴巴集团控股有限公司 一种授权验证方法及设备
WO2017186317A1 (en) * 2016-10-04 2017-11-02 Nec Europe Ltd. Method and system for byzantine fault-tolerance replicating of data on a plurality of servers

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Zhang Jun, A Combination Multi-Signature Scheme, 2009 International Conference on Networking and Digital Society (2009.)*

Also Published As

Publication number Publication date
WO2019091289A1 (zh) 2019-05-16
EP3611872A1 (en) 2020-02-19
CN110971414A (zh) 2020-04-07
CN107968708A (zh) 2018-04-27
US20200076586A1 (en) 2020-03-05
JP6966572B2 (ja) 2021-11-17
CN107968708B (zh) 2020-01-17
CN110971414B (zh) 2021-05-04
KR20200003144A (ko) 2020-01-08
US11128450B2 (en) 2021-09-21
EP3611872A4 (en) 2020-12-09
JP2020520607A (ja) 2020-07-09

Similar Documents

Publication Publication Date Title
KR102350462B1 (ko) 서명 생성 방법, 전자 장치 및 저장 매체
CN109615515B (zh) 债权凭证转移方法、装置、电子设备及存储介质
CN111245745B (zh) 消息发送方法、装置、节点设备及存储介质
CN111339086B (zh) 区块处理方法、基于区块链的数据查询方法及装置
US20220224677A1 (en) User inviting method and apparatus, computer device, and computer-readable storage medium
CN111340482B (zh) 冲突检测方法、装置、节点设备及存储介质
CN111080443B (zh) 基于区块链的业务处理方法、装置、设备及存储介质
CN108769992B (zh) 用户认证方法、装置、终端及存储介质
CN110597924B (zh) 基于区块链的用户标识处理方法、装置、设备及存储介质
CN111339181B (zh) 区块存储方法、装置、节点设备及存储介质
CN111212074B (zh) 基于区块链的资格认定方法、装置、设备及存储介质
CN110290191B (zh) 资源转移结果处理方法、装置、服务器、终端及存储介质
CN111062725B (zh) 人脸支付方法、装置及***、计算机可读存储介质
CN110597840B (zh) 基于区块链的伴侣关系建立方法、装置、设备及存储介质
CN110570289A (zh) 基于区块链的业务处理方法、装置、设备及存储介质
CN111198922A (zh) 基于区块链的游戏资源管理方法及装置
CN111131619B (zh) 账号切换处理的方法、装置及***
CN110971692B (zh) 开通服务的方法、装置及计算机存储介质
CN112699364A (zh) 验证信息的处理方法、装置、设备及存储介质
CN111191254A (zh) 访问校验方法、装置、计算机设备及存储介质
CN115348262B (zh) 基于跨链协议的跨链操作执行方法及网络***
CN114143012A (zh) 消息队列管理方法、装置、设备及计算机可读存储介质
CN111681001A (zh) 交易记录存储方法、电子设备及存储介质
CN112700249A (zh) 订单信息管理方法、装置及***、存储介质

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant