KR20230092233A - Did-based signature method and system using bbs+ signature - Google Patents

Did-based signature method and system using bbs+ signature Download PDF

Info

Publication number
KR20230092233A
KR20230092233A KR1020210181452A KR20210181452A KR20230092233A KR 20230092233 A KR20230092233 A KR 20230092233A KR 1020210181452 A KR1020210181452 A KR 1020210181452A KR 20210181452 A KR20210181452 A KR 20210181452A KR 20230092233 A KR20230092233 A KR 20230092233A
Authority
KR
South Korea
Prior art keywords
signature
bbs
owner
issuer
verifier
Prior art date
Application number
KR1020210181452A
Other languages
Korean (ko)
Other versions
KR102677097B1 (en
Inventor
구자동
김원겸
Original Assignee
주식회사 케이사인
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 케이사인 filed Critical 주식회사 케이사인
Priority to KR1020210181452A priority Critical patent/KR102677097B1/en
Publication of KR20230092233A publication Critical patent/KR20230092233A/en
Application granted granted Critical
Publication of KR102677097B1 publication Critical patent/KR102677097B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0815Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

The present invention relates to a DID-based signature method using a BBS+ signature. The DID-based signature method using a BBS+ signature comprises: a step in which an owner system provides a common value for a BBS+ signature to an issuer system; a step in which the issuer system generates a first BBS+ signature associated with the issuer system using the provided common value; a step in which the owner system transmits a DID-based VC issuance request to the issuer system; a step in which the issuer system creates a VC associated with the owner system in response to the issuance request; a step in which the issuer system associates the first BBS+ signature with the created VC; and a step in which the issuer system provides the VC associated with the first BBS+ signature to the owner system. According to the present invention, VP creation and signature verification can be effectively simplified.

Description

BBS+ 서명을 이용한 DID 기반의 서명 방법 및 시스템{DID-BASED SIGNATURE METHOD AND SYSTEM USING BBS+ SIGNATURE}DID-based signature method and system using BBS+ signature {DID-BASED SIGNATURE METHOD AND SYSTEM USING BBS+ SIGNATURE}

본 발명은 BBS+ 서명을 이용한 DID 기반의 서명 방법 및 시스템에 관한 것으로, 구체적으로, BBS+ 서명을 통해 영지식 증명, 집합 서명 등을 수행하는 BBS+ 서명을 이용한 DID 기반의 서명 방법 및 시스템에 관한 것이다.The present invention relates to a DID-based signature method and system using BBS+ signatures, and more specifically, to a DID-based signature method and system using BBS+ signatures that perform zero-knowledge proofs, set signatures, etc. through BBS+ signatures.

DID(Decentralized identifiers)는 블록체인 기술 기반으로 구축된 전자 신분증 시스템 또는 해당 시스템에 사용되는 식별자를 나타낼 수 있다. 예를 들어, DID를 이용하는 경우 사용자는 신원 정보를 중앙 서버가 아닌 스마트폰, 태블릿 등의 개인 기기에 분산시켜 저장할 수 있으며, 이에 따라 자기 신원의 소유권을 직접 관리할 수 있다.Decentralized identifiers (DIDs) may represent an electronic identification system built on the basis of blockchain technology or an identifier used in the system. For example, when using DID, a user can distribute and store identity information on personal devices such as smartphones and tablets rather than on a central server, thereby directly managing the ownership of their identity.

일반적으로, 이러한 DID를 이용하는 경우 발행자에 의한 정당한 발행 여부 및 소유자의 신원 증명 등을 위해 다양한 서명 및 검증 기술이 이용될 수 있다. 그러나, 신원 증명이 필요할 때마다 각각의 검증 가능한 크레덴셜에 대해 반복적인 서명을 수행하는 경우, 서명 및 검증을 위해 소요되는 시간이 현저히 증가할 수 있다. 또한, 검증이 완료된 경우, 신원 정보가 검증자에게 공개될 수 있으며, 이에 따라 신원 정보 유출의 위험이 있는 문제가 있다.In general, when such a DID is used, various signature and verification technologies may be used to verify whether the issuer is legitimately issued and to prove the owner's identity. However, if the signature is repeatedly performed for each verifiable credential whenever identity verification is required, the time required for signing and verification may significantly increase. In addition, when the verification is completed, the identity information may be disclosed to the verifier, and thus there is a risk of leakage of the identity information.

본 발명은 상기와 같은 문제점을 해결하기 위한 BBS+ 서명을 이용한 DID 기반의 서명 방법, 컴퓨터 판독 가능 매체에 저장된 컴퓨터 프로그램, 컴퓨터 프로그램이 저장된 컴퓨터 판독 가능 매체 및 시스템(장치)을 제공한다.The present invention provides a DID-based signature method using a BBS+ signature, a computer program stored in a computer readable medium, a computer readable medium and a system (device) in which the computer program is stored to solve the above problems.

본 발명은 방법, 시스템(장치), 컴퓨터 판독 가능 매체에 저장된 컴퓨터 프로그램 또는 컴퓨터 프로그램이 저장된 컴퓨터 판독 가능 매체를 포함한 다양한 방식으로 구현될 수 있다.The present invention can be implemented in a variety of ways, including methods, systems (devices), computer programs stored on computer readable media or computer readable media on which computer programs are stored.

본 발명의 일 실시예에 따르면, BBS+ 서명을 이용한 DID 기반의 서명 방법은, 소유자 시스템이 BBS+ 서명을 위한 공통 값을 발급자 시스템에 제공하는 단계, 발급자 시스템이 제공된 공통 값을 이용하여 발급자 시스템과 연관된 제1 BBS+ 서명을 생성하는 단계, 소유자 시스템이 발급자 시스템으로 DID 기반의 VC 발급 요청을 전송하는 단계, 발급 요청을 수신하는 것에 응답하여, 발급자 시스템이 소유자 시스템과 연관된 VC를 생성하는 단계, 발급자 시스템이 제1 BBS+ 서명을 생성된 VC와 연관시키는 단계 및 발급자 시스템이 제1 BBS+ 서명과 연관된 VC를 소유자 시스템에 제공하는 단계를 포함한다.According to an embodiment of the present invention, a DID-based signature method using a BBS+ signature includes steps in which an owner system provides a common value for a BBS+ signature to an issuer system; Generating a first BBS+ signature, the owner system sending a DID-based VC issuance request to the issuer system, in response to receiving the issuance request, the issuer system creating a VC associated with the owner system, the issuer system associating this first BBS+ signature with the created VC and the issuer system providing the VC associated with the first BBS+ signature to the owner system.

본 발명의 일 실시예에 따르면, 소유자 시스템이 제1 BBS+ 서명과 연관된 VC를 수신하는 것에 응답하여 블록체인 네트워크로부터 발급자 시스템과 연관된 공개키를 획득하는 단계 및 소유자 시스템이 획득된 발급자 시스템과 연관된 공개키를 이용하여 제1 BBS+ 서명에 대한 서명 검증을 수행하는 단계를 더 포함한다.According to one embodiment of the present invention, in response to the owner system receiving the VC associated with the first BBS+ signature, obtaining a public key associated with the issuer system from a blockchain network and the owner system publishing the obtained issuer system associated public key. and performing signature verification on the first BBS+ signature using the key.

본 발명의 일 실시예에 따르면, 검증자 시스템이 소유자 시스템으로 VP 제출 요청을 전송하는 단계, 소유자 시스템이 소유자 시스템과 연관된 제2 BBS+ 서명을 생성하는 단계, 소유자 시스템이 VC에 포함된 각각의 클레임의 공개 여부를 결정하여 소유자 시스템과 연관된 VP를 생성하는 단계, 소유자 시스템이 제2 BBS+ 서명을 생성된 VP와 연관시키는 단계 및 소유자 시스템이 제2 BBS+ 서명과 연관된 VP를 검증자 시스템에 제공하는 단계를 더 포함한다.According to one embodiment of the present invention, the steps of the verifier system sending a VP submission request to the owner system, the owner system generating a second BBS+ signature associated with the owner system, and the owner system generating each claim included in the VC. determining whether to publish the VP associated with the owner system, the owner system associating the second BBS+ signature with the generated VP, and the owner system providing the VP associated with the second BBS+ signature to the verifier system. more includes

본 발명의 일 실시예에 따르면, 검증자 시스템이 제2 BBS+ 서명과 연관된 VP를 수신하는 것에 응답하여 블록체인 네트워크로부터 소유자 시스템과 연관된 공개키 및 발급자 시스템과 연관된 공개키를 획득하는 단계 및 검증자 시스템이 획득된 소유자 시스템과 연관된 공개키 및 발급자 시스템과 연관된 공개키를 이용하여 제1 BBS+ 서명 및 제2 BBS+ 서명에 대한 서명 검증을 수행하는 단계를 더 포함한다.According to one embodiment of the present invention, obtaining a public key associated with an owner system and a public key associated with an issuer system from a blockchain network in response to the verifier system receiving the VP associated with the second BBS+ signature and the verifier Further comprising the system performing signature verification on the first BBS+ signature and the second BBS+ signature using the obtained public key associated with the owner system and the public key associated with the issuer system.

본 발명의 일 실시예에 따르면, VC는 복수의 VC를 포함한다. 소유자 시스템이 VC에 포함된 각각의 클레임의 공개 여부를 결정하여 소유자 시스템과 연관된 VP를 생성하는 단계는, 소유자 시스템이 복수의 VC를 결합하여, 복수의 VC에 포함된 각각의 클레임의 공개 여부를 결정하여 소유자 시스템과 연관된 VP를 생성하는 단계를 포함한다.According to one embodiment of the present invention, the VC includes a plurality of VCs. The step of determining, by the owner system, whether to disclose each claim included in the VC and creating a VP associated with the owner system, wherein the owner system combines the plurality of VCs and determines whether each claim included in the plurality of VCs is disclosed. determining and creating a VP associated with the owner system.

본 발명의 일 실시예에 따르면, 소유자 시스템이 검증자 시스템으로 논스 값 요청을 전송하는 단계 및 논스 값 요청을 수신하는 것에 응답하여, 검증자 시스템이 논스 값을 생성하는 단계를 더 포함한다. 검증자 시스템이 소유자 시스템으로 VP 제출 요청을 전송하는 단계는, 검증자 시스템이 소유자 시스템으로 생성된 논스 값을 포함하는 VP 제출 요청을 전송하는 단계를 포함한다.According to one embodiment of the present invention, further comprising the owner system sending a nonce value request to a verifier system, and in response to receiving the nonce value request, the verifier system generating a nonce value. The step of the verifier system sending the VP submission request to the owner system includes the verifier system sending the VP submission request including the generated nonce value to the owner system.

본 발명의 일 실시예에 따른 상술된 방법을 컴퓨터에서 실행하기 위해 컴퓨터 판독 가능한 기록 매체에 저장된 컴퓨터 프로그램이 제공된다.A computer program stored in a computer readable recording medium is provided to execute the above-described method according to an embodiment of the present invention on a computer.

본 발명의 일 실시예에 따른 BBS+ 서명을 이용한 DID 기반의 서명 시스템은, 메모리에 포함된 컴퓨터 판독 가능한 적어도 하나의 프로그램을 실행하도록 구성된 적어도 하나의 프로세서를 포함한다. 적어도 하나의 프로그램은, 소유자 시스템이 BBS+ 서명을 위한 공통 값을 발급자 시스템에 제공하고, 발급자 시스템이 제공된 공통 값을 이용하여 발급자 시스템과 연관된 제1 BBS+ 서명을 생성하고, 소유자 시스템이 발급자 시스템으로 DID 기반의 VC 발급 요청을 전송하고, 발급 요청을 수신하는 것에 응답하여, 발급자 시스템이 소유자 시스템과 연관된 VC를 생성하고, 발급자 시스템이 제1 BBS+ 서명을 생성된 VC와 연관시키고, 발급자 시스템이 제1 BBS+ 서명과 연관된 VC를 소유자 시스템에 제공하도록 하기 위한 명령어들을 포함한다.A DID-based signature system using a BBS+ signature according to an embodiment of the present invention includes at least one processor configured to execute at least one computer-readable program included in a memory. The at least one program causes the owner system to provide a common value for the BBS+ signature to the issuer system, the issuer system to use the provided common value to generate a first BBS+ signature associated with the issuer system, and the owner system to issue a DID to the issuer system. In response to sending the based VC issuance request and receiving the issuance request, the issuer system creates a VC associated with the owner system, the issuer system associates a first BBS+ signature with the created VC, and the issuer system associates the first BBS+ signature with the created VC. Contains instructions for providing the VC associated with the BBS+ signature to the owner system.

본 발명의 일 실시예에 따르면, 적어도 하나의 프로그램은, 소유자 시스템이 제1 BBS+ 서명과 연관된 VC를 수신하는 것에 응답하여 블록체인 네트워크로부터 발급자 시스템과 연관된 공개키를 획득하고, 소유자 시스템이 획득된 발급자 시스템과 연관된 공개키를 이용하여 제1 BBS+ 서명에 대한 서명 검증을 수행하도록 하기 위한 명령어들 더 포함한다.According to one embodiment of the present invention, at least one program obtains a public key associated with an issuer system from a blockchain network in response to the owner system receiving the VC associated with the first BBS+ signature, and the owner system obtains the VC associated with the first BBS+ signature. Further comprising instructions for performing signature verification on the first BBS+ signature using the public key associated with the issuer system.

본 발명의 일 실시예에 따르면, 적어도 하나의 프로그램은, 검증자 시스템이 소유자 시스템으로 VP 제출 요청을 전송하고, 소유자 시스템이 소유자 시스템과 연관된 제2 BBS+ 서명을 생성하고, 소유자 시스템이 VC에 포함된 각각의 클레임의 공개 여부를 결정하여 소유자 시스템과 연관된 VP를 생성하고, 소유자 시스템이 제2 BBS+ 서명을 생성된 VP와 연관시키고, 소유자 시스템이 제2 BBS+ 서명과 연관된 VP를 검증자 시스템에 제공하도록 하기 위한 명령어들 더 포함한다.According to one embodiment of the invention, at least one program causes the verifier system to send a VP submission request to the owner system, the owner system to generate a second BBS+ signature associated with the owner system, and the owner system to include in the VC. determine whether to disclose each claimed claim, create a VP associated with the owner system, the owner system associates a second BBS+ signature with the generated VP, and the owner system provides the VP associated with the second BBS+ signature to the verifier system It contains more commands to do this.

본 발명의 일 실시예에 따르면, 적어도 하나의 프로그램은, 검증자 시스템이 제2 BBS+ 서명과 연관된 VP를 수신하는 것에 응답하여 블록체인 네트워크로부터 소유자 시스템과 연관된 공개키 및 발급자 시스템과 연관된 공개키를 획득하고, 검증자 시스템이 획득된 소유자 시스템과 연관된 공개키 및 발급자 시스템과 연관된 공개키를 이용하여 제1 BBS+ 서명 및 제2 BBS+ 서명에 대한 서명 검증을 수행하도록 하기 위한 명령어들 더 포함한다.According to one embodiment of the present invention, at least one program, in response to the verifier system receiving the VP associated with the second BBS+ signature, obtains from the blockchain network a public key associated with the owner system and a public key associated with the issuer system. obtain and cause the verifier system to perform signature verification on the first BBS+ signature and the second BBS+ signature using the obtained public key associated with the owner system and the public key associated with the issuer system.

본 발명의 일 실시예에 따르면, VC는 복수의 VC를 포함한다. 적어도 하나의 프로그램은, 소유자 시스템이 복수의 VC를 결합하여, 복수의 VC에 포함된 각각의 클레임의 공개 여부를 결정하여 소유자 시스템과 연관된 VP를 생성하도록 하기 위한 명령어들 더 포함한다.According to one embodiment of the present invention, the VC includes a plurality of VCs. The at least one program further includes instructions for causing the owner system to combine the plurality of VCs, determine whether to disclose each claim included in the plurality of VCs, and create a VP associated with the owner system.

본 발명의 일 실시예에 따르면, 적어도 하나의 프로그램은, 소유자 시스템이 검증자 시스템으로 논스 값 요청을 전송하고, 논스 값 요청을 수신하는 것에 응답하여, 검증자 시스템이 논스 값을 생성하고, 검증자 시스템이 소유자 시스템으로 생성된 논스 값을 포함하는 VP 제출 요청을 전송하도록 하기 위한 명령어들 더 포함한다.According to one embodiment of the present invention, the at least one program sends a request for a nonce value from an owner system to a verifier system, and in response to receiving the request for a nonce value, the verifier system generates and verifies a nonce value. It further includes instructions for causing the child system to send a VP submit request containing the generated nonce value to the owner system.

본 발명의 다양한 실시예에서 기존의 VC 제공 방식과 달리 BBS+ 서명을 추가적으로 이용함으로써, 집합 서명, 영지식 증명 등이 다른 서명 방식에 비해 빠르고 효율적으로 수행될 수 있다.In various embodiments of the present invention, by additionally using the BBS+ signature, unlike the existing VC provision method, set signature, zero-knowledge proof, etc. can be performed faster and more efficiently than other signature methods.

본 발명의 다양한 실시예에서 소유자 시스템은 복수의 VC에 포함된 클레임 중 필요한 정보만을 선택하여 통합 VP를 생성하고 BBS+ 서명을 수행함으로써, VP 생성 및 서명 검증 과정을 효과적으로 단순화할 수 있다.In various embodiments of the present invention, the owner system generates an integrated VP by selecting only necessary information from claims included in a plurality of VCs and performs BBS+ signature, thereby effectively simplifying the process of VP generation and signature verification.

본 발명의 다양한 실시예에서 논스 값의 암호화 및 복호화를 통해 임의의 시스템과 연관된 DID 문서에 대한 검증이 간단히 수행될 수 있다.In various embodiments of the present invention, verification of a DID document associated with an arbitrary system can be simply performed through encryption and decryption of a nonce value.

본 발명의 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급되지 않은 다른 효과들은 청구범위의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자("통상의 기술자"라 함)에게 명확하게 이해될 수 있을 것이다.The effects of the present invention are not limited to the effects mentioned above, and other effects not mentioned are clear to those skilled in the art (referred to as "ordinary technicians") from the description of the claims. will be understandable.

본 발명의 실시예들은, 이하 설명하는 첨부 도면들을 참조하여 설명될 것이며, 여기서 유사한 참조 번호는 유사한 요소들을 나타내지만, 이에 한정되지는 않는다.
도 1은 본 발명의 일 실시예에 따른 발급자 시스템, 소유자 시스템 및 검증자 시스템이 BBS+ 서명을 이용한 DID 기반의 서명을 수행하는 예시를 나타내는 도면이다.
도 2는 본 발명의 일 실시예에 따른 통합 VP가 제공되는 예시를 나타내는 도면이다.
도 3은 본 발명의 일 실시예에 따른 발급자 시스템, 소유자 시스템, 검증자 시스템 및 블록체인 네트워크 사이에서 DID 검증이 수행되는 과정을 나타내는 예시적인 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 발급자 시스템, 소유자 시스템, 검증자 시스템 및 블록체인 네트워크 사이에서 VC 발급 및 BBS+ 서명 검증이 수행되는 과정을 나타내는 예시적인 흐름도이다.
도 5는 본 발명의 일 실시예에 따른 소유자 시스템, 검증자 시스템 및 블록체인 네트워크 사이에서 VP 생성 및 BBS+ 서명 검증이 수행되는 과정을 나타내는 예시적인 흐름도이다.
도 6은 본 발명의 일 실시예에 따른 소유자 시스템, 검증자 시스템 및 블록체인 네트워크 사이에서 통합 VP 생성 및 BBS+ 서명 검증이 수행되는 과정을 나타내는 예시적인 흐름도이다.
도 7은 본 발명의 일 실시예에 따른 BBS+ 서명을 이용한 DID 기반의 서명 방법의 예시를 나타내는 흐름도이다.
도 8은 본 발명의 일 실시예에 따른 BBS+ 서명을 이용한 VP 생성 및 검증 방법의 예시를 나타내는 흐름도이다.
BRIEF DESCRIPTION OF THE DRAWINGS Embodiments of the present invention will be described with reference to the accompanying drawings described below, wherein like reference numbers indicate like elements, but are not limited thereto.
1 is a diagram illustrating an example in which an issuer system, an owner system, and a verifier system perform a DID-based signature using a BBS+ signature according to an embodiment of the present invention.
2 is a diagram illustrating an example in which an integrated VP is provided according to an embodiment of the present invention.
3 is an exemplary flowchart illustrating a process in which DID verification is performed between an issuer system, an owner system, a verifier system, and a blockchain network according to an embodiment of the present invention.
4 is an exemplary flowchart illustrating a process in which VC issuance and BBS+ signature verification are performed between an issuer system, an owner system, a verifier system, and a blockchain network according to an embodiment of the present invention.
5 is an exemplary flow diagram illustrating a process in which VP creation and BBS+ signature verification are performed between an owner system, a verifier system, and a blockchain network according to an embodiment of the present invention.
6 is an exemplary flow diagram illustrating a process in which integrated VP creation and BBS+ signature verification are performed between an owner system, a verifier system, and a blockchain network according to an embodiment of the present invention.
7 is a flowchart illustrating an example of a DID-based signature method using a BBS+ signature according to an embodiment of the present invention.
8 is a flowchart illustrating an example of a method for generating and verifying a VP using a BBS+ signature according to an embodiment of the present invention.

이하, 본 발명의 실시를 위한 구체적인 내용을 첨부된 도면을 참조하여 상세히 설명한다. 다만, 이하의 설명에서는 본 발명의 요지를 불필요하게 흐릴 우려가 있는 경우, 널리 알려진 기능이나 구성에 관한 구체적 설명은 생략하기로 한다.Hereinafter, specific details for the implementation of the present invention will be described in detail with reference to the accompanying drawings. However, in the following description, if there is a risk of unnecessarily obscuring the gist of the present invention, detailed descriptions of well-known functions or configurations will be omitted.

첨부된 도면에서, 동일하거나 대응하는 구성요소에는 동일한 참조부호가 부여되어 있다. 또한, 이하의 실시예들의 설명에 있어서, 동일하거나 대응되는 구성요소를 중복하여 기술하는 것이 생략될 수 있다. 그러나, 구성요소에 관한 기술이 생략되어도, 그러한 구성요소가 어떤 실시예에 포함되지 않는 것으로 의도되지는 않는다.In the accompanying drawings, identical or corresponding elements are given the same reference numerals. In addition, in the description of the following embodiments, overlapping descriptions of the same or corresponding components may be omitted. However, omission of a description of a component does not intend that such a component is not included in an embodiment.

개시된 실시예의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명이 완전하도록 하고, 본 발명이 통상의 기술자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것일 뿐이다.Advantages and features of the disclosed embodiments, and methods of achieving them, will become apparent with reference to the following embodiments in conjunction with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below and can be implemented in various different forms, only these embodiments make the present invention complete and the scope of the invention to those skilled in the art. It is provided only for complete information.

본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 개시된 실시예에 대해 구체적으로 설명하기로 한다. 본 명세서에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 관련 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서, 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.Terms used in this specification will be briefly described, and the disclosed embodiments will be described in detail. The terms used in this specification have been selected from general terms that are currently widely used as much as possible while considering the functions in the present invention, but these may vary depending on the intention or precedent of a person skilled in the related field, the emergence of new technologies, and the like. In addition, in a specific case, there is also a term arbitrarily selected by the applicant, and in this case, the meaning will be described in detail in the description of the invention. Therefore, the term used in the present invention should be defined based on the meaning of the term and the overall content of the present invention, not simply the name of the term.

본 명세서에서의 단수의 표현은 문맥상 명백하게 단수인 것으로 특정하지 않는 한, 복수의 표현을 포함한다. 또한, 복수의 표현은 문맥상 명백하게 복수인 것으로 특정하지 않는 한, 단수의 표현을 포함한다. 명세서 전체에서 어떤 부분이 어떤 구성요소를 포함한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다.Expressions in the singular number in this specification include plural expressions unless the context clearly dictates that they are singular. Also, plural expressions include singular expressions unless the context clearly specifies that they are plural. When it is said that a certain part includes a certain component in the entire specification, this means that it may further include other components without excluding other components unless otherwise stated.

본 발명에서, "포함하다", "포함하는" 등의 용어는 특징들, 단계들, 동작들, 요소들 및/또는 구성 요소들이 존재하는 것을 나타낼 수 있으나, 이러한 용어가 하나 이상의 다른 기능들, 단계들, 동작들, 요소들, 구성 요소들 및/또는 이들의 조합이 추가되는 것을 배제하지는 않는다.In the present invention, the terms "comprise", "comprising" and the like may indicate that features, steps, operations, elements and/or components are present, but may be used when such terms include one or more other functions, It is not excluded that steps, actions, elements, components, and/or combinations thereof may be added.

본 발명에서, 특정 구성 요소가 임의의 다른 구성 요소에 "결합", "조합", "연결" 되거나, "반응" 하는 것으로 언급된 경우, 특정 구성 요소는 다른 구성 요소에 직접 결합, 조합 및/또는 연결되거나, 반응할 수 있으나, 이에 한정되지 않는다. 예를 들어, 특정 구성 요소와 다른 구성 요소 사이에 하나 이상의 중간 구성 요소가 존재할 수 있다. 또한, 본 발명에서 "및/또는"은 열거된 하나 이상의 항목의 각각 또는 하나 이상의 항목의 적어도 일부의 조합을 포함할 수 있다.In the present invention, when a specific element is referred to as being “coupled”, “combined”, “connected”, or “reactive” to any other element, the specific element is directly bonded to, combined with, and/or other elements. or may be linked or reacted, but is not limited thereto. For example, one or more intermediate components may exist between certain components and other components. Also, in the present invention, “and/or” may include each of one or more items listed or a combination of at least a part of one or more items.

본 발명에서, "제1", "제2" 등의 용어는 특정 구성 요소를 다른 구성 요소와 구별하기 위해 사용되는 것으로, 이러한 용어에 의해 상술된 구성 요소가 제한되진 않는다. 예를 들어, "제1" 구성 요소는 "제2" 구성 요소와 동일하거나 유사한 형태의 요소일 수 있다.In the present invention, terms such as "first" and "second" are used to distinguish a specific component from other components, and the aforementioned components are not limited by these terms. For example, the “first” element may have the same or similar shape as the “second” element.

본 발명에서, "BBS+ 서명"은, 다중 메시지 서명을 지원하여 단일한 서명을 생성하는 디지털 서명일 수 있다. 즉, BBS+ 서명을 이용하는 경우, 사전 서명된 다중 메시지에 대한 하나의 추가적인 서명이 생성될 수 있으며, 이와 같이 생성된 서명을 이용하는 경우, 검증에 의한 신원 정보가 공개되지 않고 증명될 수 있으므로 영지식 증명(ZKP, Zero-Knowledge Proof)이 수행될 수 있다.In the present invention, a "BBS+ signature" may be a digital signature that supports multiple message signatures to create a single signature. That is, when using the BBS+ signature, one additional signature can be generated for multiple pre-signed messages, and when using the signature generated in this way, the identity information by verification can be proven without being disclosed, so zero-knowledge proof (ZKP, Zero-Knowledge Proof) may be performed.

본 발명에서, "VC(Verifiable Credential)"는, 신원 또는 자격의 증거를 나타내는 데이터 및/또는 정보의 집합을 지칭할 수 있으며, 발급자 시스템(issuer system)에 의해 발급된 검증 가능한 데이터 집합일 수 있다. 또한, VC에 포함된 클레임(claim)은, 데이터 집합에 포함된 각각의 신원 또는 자격의 증거를 지칭할 수 있으며, 예를 들어, 주민등록증의 경우, 개인의 이름, 주민등록번호, 주소 등이 VC에 포함된 각각의 클레임일 수 있다.In the present invention, “Verifiable Credential (VC)” may refer to a set of data and/or information representing evidence of identity or qualification, and may be a set of verifiable data issued by an issuer system. . In addition, claims included in the VC may refer to evidence of each identity or qualification included in the data set, for example, in the case of a resident registration card, an individual's name, resident registration number, address, etc. are included in the VC may be each claim.

본 발명에서, "VP(Verifiable Presentation)"는, 소유자 시스템(holder system)이 자신의 신원 또는 자격을 증명하기 위해 검증자 시스템(verifier system)에 제공하는 데이터 및/또는 정보의 집합으로서, 발급자 시스템에 의해 생성되고, 소유자 시스템에 의해 소유되는 것으로 증명 가능한 데이터 집합일 수 있다.In the present invention, "Verifiable Presentation (VP)" is a set of data and/or information that a holder system provides to a verifier system to prove its identity or qualifications, which is the issuer system. may be a set of data created by and provably owned by the owner system.

본 발명에서, "DID(Decentralized Identifier)"는, 분산 원장 기술 또는 그 밖의 다른 분산 네트워크 기술을 활용하여 분산된 저장소에 등록함으로써 중앙집중화된(centralized) 서버와 같은 등록기관이 필요하지 않은 전역 고유 식별자를 지칭할 수 있다.In the present invention, "DID (Decentralized Identifier)" is a global unique identifier that does not require a registrar such as a centralized server by registering in a distributed storage using distributed ledger technology or other distributed network technology. can refer to

본 발명에서, "발급자 시스템"은 특정 사용자에 대한 검증 가능한 크레덴셜(VC)을 발행하는 기관의 시스템일 수 있으며, "검증자 시스템"은 검증 가능한 프레젠테이션(VP)을 통해 소유자의 신원을 검증한 후 검증된 소유자에게 특정한 서비스를 제공하는 기관의 시스템일 수 있다. 또한, "소유자 시스템"은 자신의 신원을 직접 관리하는 소유자의 시스템일 수 있다. 발급자 시스템, 소유자 시스템 및/또는 검증자 시스템은 DID와 연관된 공개키 및 개인키 뿐만 아니라 BBS+ 서명과 연관된 공개키 및 개인키를 더 가질 수 있다.In the present invention, the "issuer system" may be a system of an institution that issues a verifiable credential (VC) for a specific user, and the "verifier system" verifies the owner's identity through a verifiable presentation (VP). It may be a system of an institution that provides a specific service to a verified owner after verification. Also, the "owner system" may be an owner's system that directly manages its own identity. The issuer system, owner system and/or verifier system may further have public and private keys associated with the DID as well as public and private keys associated with the BBS+ signature.

도 1은 본 발명의 일 실시예에 따른 발급자 시스템(110), 소유자 시스템(120) 및 검증자 시스템(130)이 BBS+ 서명을 이용한 DID 기반의 서명을 수행하는 예시를 나타내는 도면이다. 일 실시예에 따르면, DID(Decentralized Identifier)는 개인정보를 중앙 서버가 아닌 개인의 사용자 단말(예: 스마트폰, 태블릿 등)에 분산시켜서 관리하는 기법을 지칭할 수 있다. 도시된 것과 같이, 발급자 시스템(110), 소유자 시스템(120) 및 검증자 시스템(130)은 서로 통신하며 BBS+ 서명을 이용한 DID 기반의 서명을 수행하기 위해 필요한 데이터 및/또는 정보를 주고받을 수 있다.1 is a diagram illustrating an example in which the issuer system 110, the owner system 120, and the verifier system 130 perform a DID-based signature using a BBS+ signature according to an embodiment of the present invention. According to an embodiment, a decentralized identifier (DID) may refer to a technique of distributing and managing personal information to individual user terminals (eg, smart phones, tablets, etc.) rather than a central server. As shown, the issuer system 110, the owner system 120, and the verifier system 130 communicate with each other and can send and receive data and/or information necessary to perform DID-based signing using BBS+ signatures. .

일반적으로, DID의 사용을 위해, 소유자 시스템(120)은 발급자 시스템(110)으로 DID 기반의 VC 발급 요청을 전송할 수 있다. 이 경우, 발급 요청을 수신하는 것에 응답하여, 발급자 시스템(110)은 소유자 시스템(120)과 연관된 VC를 생성하고 해당 소유자 시스템(120)에게 발급할 수 있다. 여기서, VC는 소유자 시스템(120)의 DID에 대한 정보를 포함할 수 있다. 그리고 나서, 검증자 시스템(130)은 소유자 시스템(120)과 연관된 소유자의 신원 증명이 필요한 경우, 해당 소유자 시스템(120)에 VP 제출 요청을 전송하고, 소유자 시스템(120)과 연관된 VP를 획득할 수 있다. 이 경우, 검증자 시스템(130)은 획득된 VP에 대한 검증을 수행하여, 소유자 시스템(120)과 연관된 소유자의 신원 검증을 수행할 수 있다.In general, for use of DID, owner system 120 may send a DID-based VC issuance request to issuer system 110 . In this case, in response to receiving the issue request, the issuer system 110 may create a VC associated with the owner system 120 and issue the VC to the owner system 120 . Here, VC may include information about the DID of the owner system 120. Then, when the identity of the owner associated with the owner system 120 is required, the verifier system 130 transmits a VP submission request to the owner system 120 and obtains the VP associated with the owner system 120. can In this case, the verifier system 130 may verify the identity of the owner associated with the owner system 120 by performing verification on the obtained VP.

일 실시예에 따르면, VC를 생성하고 발급하는 경우, 발급자 시스템(110)은 VC의 발급 사실을 발급자 시스템(110)의 개인키로 서명하여 저장소(140)(예: 블록체인 네트워크)에 저장할 수 있다. 이 경우, 발급자 시스템(110)은 해당 개인키와 키 쌍을 구성하는 공개키를 저장소(140)에 저장할 수 있다. 그리고 나서, VC 발급 사실에 대한 검증을 수행하는 경우, 검증자 시스템(130) 등은 저장소(140)에 저장된 발급자 시스템(110)의 공개키를 이용하여 해당 VC 발급 사실을 복호화함으로써, 해당 VC가 발급자 시스템(110)에 의해 정당하게 발급된 것인지 여부를 판정할 수 있다.According to an embodiment, when generating and issuing a VC, the issuer system 110 may sign the issuance of the VC with a private key of the issuer system 110 and store it in the storage 140 (eg, a blockchain network). . In this case, the issuer system 110 may store the corresponding private key and the public key constituting the key pair in the storage 140 . Then, when verification of the VC issuance is performed, the verifier system 130 etc. decrypts the VC issuance fact using the public key of the issuer system 110 stored in the storage 140, so that the corresponding VC The issuer system 110 may determine whether or not it has been legitimately issued.

일 실시예에 따르면, VP를 생성하고 제공하는 경우, 소유자 시스템(120)은 VP를 소유자 시스템(120)의 개인키로 서명하여 검증자 시스템(130)에 제공할 수 있다. 이 경우, 소유자 시스템(120)은 해당 개인키와 키 쌍을 구성하는 공개키를 저장소(140)에 저장할 수 있다. 그리고 나서, VP에 대한 검증을 수행하는 경우, 검증자 시스템(130)은 저장소(140)에 저장된 소유자 시스템(120)의 공개키를 이용하여 해당 VP를 복호화함으로써, 해당 VP와 연관된 소유자 시스템(120)이 정당한 소유자인지 여부를 판정할 수 있다.According to one embodiment, when generating and providing a VP, the owner system 120 may sign the VP with a private key of the owner system 120 and provide it to the verifier system 130 . In this case, the owner system 120 may store the corresponding private key and the public key constituting the key pair in the storage 140 . Then, when verifying the VP, the verifier system 130 uses the public key of the owner system 120 stored in the storage 140 to decrypt the corresponding VP, and thus the owner system 120 associated with the corresponding VP. ) is the rightful owner.

일 실시예에 따르면, 상술된 일반적인 신원 증명 과정에서 BBS+ 서명이 추가적으로 사용될 수 있다. 예를 들어, 상술된 신원 증명 과정에서 서명 검증을 수행하는 경우, 전체 서명 및 메시지와 연관된 내용이 공개될 수 있다. 그러나, BBS+ 서명을 추가적으로 이용하는 경우, 송신하는 메시지(내용)를 공개하지 않고 무결성을 증명하는 영지식 증명이 빠르고 간단히 수행될 수 있다. 즉, BBS+ 서명을 이용하는 경우, 소유자는 서명된 메시지의 각각을 선택적으로 공개할 수 있다.According to one embodiment, a BBS+ signature may additionally be used in the general identity verification process described above. For example, when signature verification is performed in the above-described identity verification process, the entire signature and contents associated with the message may be disclosed. However, when BBS+ signature is additionally used, zero-knowledge proof that proves integrity without disclosing the transmitted message (content) can be quickly and simply performed. That is, when using BBS+ signatures, the owner can selectively publish each of the signed messages.

일 실시예에 따르면, 소유자 시스템(120)은 발급자 시스템(110)으로 BBS+ 서명을 위한 공통 값(예:

Figure pat00001
,
Figure pat00002
)을 제공할 수 있다. 이 경우, 소유자 시스템(120)은 제공된 공통 값을 이용하여 BBS+ 서명을 생성하고, 생성된 BBS+ 서명을 VC와 연관시킬 수 있다. 예를 들어, BBS+ 서명은 페어링하기 쉬운(paring-friendly) 타원 곡선을 사용하여 생성될 수 있다. BBS+ 서명을 위해, 동일한 소수 p의 순환 그룹
Figure pat00003
Figure pat00004
가 정의될 수 있으며, 공통 값은
Figure pat00005
Figure pat00006
로부터 획득된 값일 수 있다. 또한,
Figure pat00007
Figure pat00008
로부터 결정되는 쌍선형 맵(bilinear map)이 다음의 수학식 1과 같이 정의될 수 있다.According to one embodiment, owner system 120 communicates with issuer system 110 a common value for BBS+ signatures (e.g.,
Figure pat00001
,
Figure pat00002
) can be provided. In this case, the owner system 120 may use the provided common value to generate a BBS+ signature and associate the generated BBS+ signature with the VC. For example, BBS+ signatures can be created using paring-friendly elliptic curves. For BBS+ signatures, cyclic groups of equal prime p
Figure pat00003
class
Figure pat00004
can be defined, and common values are
Figure pat00005
and
Figure pat00006
It may be a value obtained from also,
Figure pat00007
and
Figure pat00008
A bilinear map determined from may be defined as in Equation 1 below.

Figure pat00009
Figure pat00009

여기서,

Figure pat00010
는 동일한 소수 P의 또 다른 순환 그룹이며, e는 쌍선형 맵일 수 있다. 이러한 쌍선형 맵은 다항식 시간 계산이 가능한 맵일 수 있으며, 다음의 수학식 2에 의해 요소 값
Figure pat00011
를 생성할 수 있다.here,
Figure pat00010
is another cyclic group of the same prime P, and e can be a bilinear map. Such a bilinear map may be a map capable of polynomial time calculation, and element values are obtained by Equation 2 below.
Figure pat00011
can create

Figure pat00012
Figure pat00012

여기서,

Figure pat00013
,
Figure pat00014
Figure pat00015
는 각각 순환 그룹
Figure pat00016
,
Figure pat00017
Figure pat00018
에 의해 정의된 값일 수 있다.here,
Figure pat00013
,
Figure pat00014
and
Figure pat00015
are each cyclic group
Figure pat00016
,
Figure pat00017
and
Figure pat00018
It can be a value defined by

일 실시예에 따르면, BBS+ 서명을 위한 키가 생성될 수 있다. 예를 들어, L 개의 메시지

Figure pat00019
가 주어졌을 때, BBS+ 서명은
Figure pat00020
와 같이 L+2 개의 변수를 갖는 키(예: 공개키)를 생성할 수 있다. 구체적으로, 다음의 수학식 3과 같이 순환 그룹
Figure pat00021
으로부터 L+1 개의 랜덤 값이 생성될 수 있다.According to one embodiment, a key may be generated for BBS+ signing. For example, L messages
Figure pat00019
Given that, the BBS+ signature is
Figure pat00020
A key (e.g., public key) having L+2 variables can be generated. Specifically, as shown in Equation 3 below, the cyclic group
Figure pat00021
L+1 random values may be generated from

Figure pat00022
Figure pat00022

이 경우, BBS+ 서명을 위한 개인키(x)는 다음의 수학식 4와 같이 랜덤 값으로 결정될 수 있으며, 공개키 생성을 위한 w 값은 다음의 수학식 5와 같이 산출될 수 있다.In this case, the private key (x) for the BBS+ signature may be determined as a random value as in Equation 4 below, and the w value for generating the public key may be calculated as in Equation 5 below.

Figure pat00023
Figure pat00023

Figure pat00024
Figure pat00024

상술한 바와 같이, BBS+ 서명을 위한 공개키 및 개인키가 생성된 후, BBS+ 서명이 생성될 수 있다. 예를 들어, BBS+ 서명(

Figure pat00025
)은 다음의 수학식 6과 같이 정의될 수 있다.As described above, after the public and private keys for the BBS+ signature are generated, the BBS+ signature can be generated. For example, the BBS+ signature (
Figure pat00025
) may be defined as in Equation 6 below.

Figure pat00026
Figure pat00026

여기서, e 및 s는 랜덤 값으로서 다음의 수학식 7에 의해 생성될 수 있으며, A 값은 다음의 수학식 8에 의해 산출될 수 있다.Here, e and s are random values and can be generated by Equation 7 below, and the value A can be calculated by Equation 8 below.

Figure pat00027
Figure pat00027

Figure pat00028
Figure pat00028

일 실시예에 따르면, 발급자 시스템(110)은 VC를 생성한 후 상술한 바와 같이 생성된 BBS+ 서명을 해당 VC와 연관시켜 소유자 시스템(120)에게 제공할 수 있으며, 소유자 시스템(120)은 BBS+ 서명과 연관된 VC를 이용하여 다양한 서비스를 제공받을 수 있다.According to one embodiment, issuer system 110 may generate a VC and then associate the BBS+ signature generated as described above with the corresponding VC and provide it to owner system 120, and owner system 120 may provide the BBS+ signature. Various services can be provided using VC related to .

도 1에서는 하나의 발급자 시스템(110) 및 하나의 검증자 시스템(130)이 존재하는 것으로 도시되었으나, 이에 한정되지 않으며, 복수의 발급자 시스템 및/또는 복수의 검증자 시스템이 존재할 수 있다. 이와 같은 구성에 의해, 기존의 VC 제공 방식과 달리 BBS+ 서명을 추가적으로 이용함으로써, 집합 서명, 영지식 증명 등이 다른 서명 방식에 비해 빠르고 효율적으로 수행될 수 있다.In FIG. 1 , it is shown that one issuer system 110 and one verifier system 130 exist, but it is not limited thereto, and a plurality of issuer systems and/or a plurality of verifier systems may exist. With this configuration, unlike the existing VC provision method, by additionally using the BBS+ signature, set signature, zero-knowledge proof, etc. can be performed faster and more efficiently than other signature methods.

도 2는 본 발명의 일 실시예에 따른 통합 VP(230)가 제공되는 예시를 나타내는 도면이다. 도시된 것과 같이, 소유자 시스템(120)은 제1 발급자 시스템(110_1)으로부터 제1 VC(210)를 제공받고, 제2 발급자 시스템(110_2)으로부터 제2 VC(220)를 제공받을 수 있다. 상술한 바와 같이, 소유자 시스템(120)은 제1 발급자 시스템(110_1) 및 제2 발급자 시스템(110_2)에 BBS+ 서명을 위한 공통 값을 제공하고, 각각의 BBS+ 서명과 연관된 제1 VC(210) 및 제2 VC(220) 등을 제공받을 수 있다.2 is a diagram illustrating an example in which an integrated VP 230 is provided according to an embodiment of the present invention. As shown, the owner system 120 may receive the first VC 210 from the first issuer system 110_1 and the second VC 220 from the second issuer system 110_2. As described above, owner system 120 provides common values for BBS+ signatures to first issuer system 110_1 and second issuer system 110_2, and first VC 210 and 210 associated with each BBS+ signature. A second VC 220 may be provided.

일 실시예에 따르면, 소유자 시스템(120)은 제1 VC(210)에 포함된 적어도 일부의 클레임 및 제2 VC(220)에 포함된 적어도 일부의 클레임을 결합하여 통합 VP(230)를 생성할 수 있다. 즉, 소유자 시스템(120)은 복수의 VC(210, 220)에서 특정 서비스 이용에 필요한 정보만을 선택하여 통합 VP(230)를 생성할 수 있다. 이 경우, 소유자 시스템(120)은 생성된 통합 VP(230)를 검증자 시스템(130)에 제공하여 자신의 신원을 증명하고 검증자 시스템(130)과 연관된 특정 서비스를 이용할 수 있다.According to one embodiment, the owner system 120 combines at least some of the claims included in the first VC 210 and at least some of the claims included in the second VC 220 to create an integrated VP 230. can That is, the owner system 120 may generate the integrated VP 230 by selecting only information necessary for using a specific service from the plurality of VCs 210 and 220 . In this case, the owner system 120 may provide the created unified VP 230 to the verifier system 130 to prove its identity and use the specific service associated with the verifier system 130 .

일 실시예에 따르면, 소유자 시스템(120)은 소유자 시스템과 연관된 BBS+ 서명을 생성할 수 있다. 예를 들어, 소유자 시스템(120)은 도 1에서 상술된 수학식 등을 이용하여 BBS+ 서명을 생성할 수 있다. 또한, 소유자 시스템(120)은 생성된 BBS+ 서명을 통합 VP(230)와 결합하여 검증자 시스템(130)에 제공할 수 있다. 여기서, 통합 VP(230)는 발급자 시스템(110)과 연관된 BBS+ 서명(예: 제1 BBS+ 서명) 및 소유자 시스템(120)과 연관된 BBS+ 서명(예: 제2 BBS+ 서명)을 포함할 수 있다.According to one embodiment, owner system 120 may generate a BBS+ signature associated with the owner system. For example, owner system 120 may generate a BBS+ signature using the equations discussed above in FIG. 1 or the like. Additionally, the owner system 120 may combine the generated BBS+ signature with the aggregating VP 230 and provide it to the verifier system 130 . Here, consolidated VP 230 may include a BBS+ signature associated with issuer system 110 (e.g., a first BBS+ signature) and a BBS+ signature associated with owner system 120 (e.g., a second BBS+ signature).

일 실시예에 따르면, 검증자 시스템(130)은 통합 VP(230)에 대한 서명 검증을 수행할 수 있다. 예를 들어, 검증자 시스템(130)은 발급자 시스템(110)과 연관된 공개키(제1 BBS+ 서명과 연관된 공개키)를 이용하여 제1 BBS+ 서명에 대한 서명 검증(signature verification)을 수행할 수 있다. 또한, 검증자 시스템(130)은 소유자 시스템(120)과 연관된 공개키(제2 BBS+ 서명과 연관된 공개키)를 이용하여 제2 BBS+ 서명에 대한 서명 검증을 수행할 수 있다. 서명 검증은 다음의 수학식 9에 의해 수행될 수 있다.According to one embodiment, the verifier system 130 may perform signature verification for the unified VP 230 . For example, verifier system 130 may perform signature verification for a first BBS+ signature using a public key associated with issuer system 110 (the public key associated with the first BBS+ signature). . Additionally, verifier system 130 may perform signature verification on the second BBS+ signature using the public key associated with owner system 120 (the public key associated with the second BBS+ signature). Signature verification may be performed by Equation 9 below.

Figure pat00029
Figure pat00029

예를 들어, 서명 검증은 수학식 9의 좌변과 우변이 동일한지 여부를 기초로 수행될 수 있다. 즉, 각각의 BBS+ 서명에 대해 수학식 9의 좌변과 우변이 동일한 경우, 각각의 BBS+ 서명이 검증된 것으로 판정될 수 있다. 이와 같이 서명 검증을 통해 신원 증명이 완료된 경우, 소유자 시스템(120)은 검증자 시스템(130)과 연관된 서비스를 이용할 수 있다.For example, signature verification may be performed based on whether the left and right sides of Equation 9 are the same. That is, when the left side and the right side of Equation 9 are the same for each BBS+ signature, it can be determined that each BBS+ signature is verified. In this way, when identity verification is completed through signature verification, the owner system 120 may use a service associated with the verifier system 130 .

도 2에서는 소유자 시스템(120)이 2개의 VC(210, 220) 중 적어도 일부를 결합하여 통합 VP(230)를 생성하는 것으로 도시되었으나, 이에 한정되지 않으며, 소유자 시스템(120)은 각각의 VC에 대응되는 각각의 VP를 별도로 생성하여 검증자 시스템(130)에 제공할 수도 있다. 또한, 도 2에서는 2개의 발급자 시스템(110_1, 110_2)이 존재하는 것으로 도시되었으나, 이에 한정되지 않으며, 임의의 개수의 발급자 시스템이 존재할 수 있다. 이와 같은 구성에 의해, 소유자 시스템(120)은 복수의 VC(210, 220)에 포함된 클레임 중 필요한 정보만을 선택하여 통합 VP(230)를 생성하고 BBS+ 서명을 수행함으로써, VP 생성 및 서명 검증 과정을 효과적으로 단순화할 수 있다.In FIG. 2, the owner system 120 is shown as combining at least a portion of the two VCs 210 and 220 to create an integrated VP 230, but is not limited thereto. Corresponding VPs may be separately generated and provided to the verifier system 130 . In addition, although it is shown that there are two issuer systems 110_1 and 110_2 in FIG. 2, the present invention is not limited thereto, and any number of issuer systems may exist. With this configuration, the owner system 120 selects only necessary information from among the claims included in the plurality of VCs 210 and 220 to generate the integrated VP 230 and performs the BBS+ signature, thereby generating the VP and verifying the signature. can be effectively simplified.

도 3은 본 발명의 일 실시예에 따른 발급자 시스템(110), 소유자 시스템(120), 검증자 시스템(130) 및 블록체인 네트워크(140) 사이에서 DID 검증이 수행되는 과정을 나타내는 예시적인 흐름도이다. 도시된 것과 같이, 발급자 시스템(110), 소유자 시스템(120), 검증자 시스템(130) 및 블록체인 네트워크(140)는 DID 검증에 필요한 데이터 및/또는 정보를 주고받을 수 있다.3 is an exemplary flow diagram illustrating a process in which DID verification is performed between the issuer system 110, the owner system 120, the verifier system 130 and the blockchain network 140 according to an embodiment of the present invention. . As shown, the issuer system 110, the owner system 120, the verifier system 130, and the blockchain network 140 may exchange data and/or information necessary for DID verification.

일 실시예에 따르면, 발급자 시스템(110)은 발급자 시스템(110)과 연관된 키 쌍(DID와 연관된 공개키 및 개인키) 및 DID를 생성할 수 있다(312). 또한, 소유자 시스템(120)은 소유자 시스템(120)과 연관된 키 쌍 및 DID를 생성할 수 있다(314). 마찬가지로, 검증자 시스템(130)은 검증자 시스템(130)과 연관된 키 쌍 및 DID를 생성할 수 있다(316).According to one embodiment, the issuer system 110 may generate a key pair associated with the issuer system 110 (a public key and a private key associated with the DID) and a DID (312). Owner system 120 may also generate a key pair and DID associated with owner system 120 ( 314 ). Similarly, verifier system 130 may generate a key pair and DID associated with verifier system 130 (316).

이와 같이 생성된 DID와 연관된 DID 문서들은 블록체인 네트워크(140)에 저장되고 관리될 수 있다(318). 여기서, DID 문서(DID document)는 DID와 연관된 공개키, DID의 사용 기준 등에 대한 정보를 포함하는 문서일 수 있다. 그리고 나서, 블록체인 네트워크(140) 상에 저장된 DID 문서들을 이용하여 DID 교환 및 검증이 수행될 수 있다(322, 324). 예를 들어, 소유자 시스템(120)은 발급자 시스템(110)의 DID를 획득하는 경우, 해당 DID와 연관된 DID 문서를 블록체인 네트워크(140)로부터 추출한 후 공개키를 이용한 복호화 등을 수행함으로써, DID 검증을 수행할 수 있다.DID documents associated with the DID created in this way may be stored and managed in the blockchain network 140 (318). Here, the DID document may be a document including information about a public key related to the DID, standards for using the DID, and the like. DID exchange and verification may then be performed using the DID documents stored on the blockchain network 140 (322, 324). For example, when the owner system 120 obtains the DID of the issuer system 110, the DID document associated with the corresponding DID is extracted from the blockchain network 140 and then decrypted using a public key to verify the DID. can be performed.

일 실시예에 따르면, DID 검증을 수행하는 소유자 시스템(120) 등은 발급자 시스템(110) 및/또는 검증자 시스템(130)으로부터 DID를 제공받을 수 있다. 이 경우, 소유자 시스템(120)은 제공된 DID를 이용하여 블록체인 네트워크(140)에 해당 DID와 대응되는 DID 문서를 요청하고 획득할 수 있다. 그리고 나서, 소유자 시스템(120)은 획득된 DID 문서를 기초로 임의의 논스(nonce) 값을 생성할 수 있다. 여기서, 논스 값은 DID 문서와 연관된 임의의 랜덤 값일 수 있다. 소유자 시스템(120)은 이와 같이 생성된 논스 값을 임의의 알고리즘을 기초로 암호화하여 발급자 시스템(110) 및/또는 검증자 시스템(130)에 전달하고, 발급자 시스템(110) 및/또는 검증자 시스템(130)으로부터 복호화된 논스 값을 전달받을 수 있다. 이 경우, 소유자 시스템(120)은 전달받은 복호화된 논스 값과 자신이 생성한 논스 값을 비교하여 DID 문서에 대한 검증을 완료할 수 있다.According to one embodiment, the owner system 120 or the like performing the DID verification may receive the DID from the issuer system 110 and/or the verifier system 130 . In this case, the owner system 120 may request and obtain a DID document corresponding to the corresponding DID from the blockchain network 140 using the provided DID. Owner system 120 may then generate an arbitrary nonce value based on the obtained DID document. Here, the nonce value may be any random value associated with the DID document. The owner system 120 encrypts the generated nonce value based on an arbitrary algorithm and transfers it to the issuer system 110 and/or the verifier system 130, and the issuer system 110 and/or the verifier system A decrypted nonce value may be delivered from (130). In this case, the owner system 120 may complete verification of the DID document by comparing the received decrypted nonce value with the nonce value generated by the owner system 120 .

도 3에서는 소유자 시스템(120)이 발급자 시스템(110) 및/또는 검증자 시스템(130)의 DID 문서를 검증하는 것으로 상술되었으나, 이에 한정되지 않는다. 예를 들어, 발급자 시스템(110) 및/또는 검증자 시스템(130)은 상술된 과정과 동일한 과정으로 다른 시스템의 DID 문서 검증을 수행할 수 있다. 이와 같은 구성에 의해, 논스 값의 암호화 및 복호화를 통해 임의의 시스템과 연관된 DID 문서에 대한 검증이 간단히 수행될 수 있다.In FIG. 3 , it is detailed that the owner system 120 verifies the DID document of the issuer system 110 and/or the verifier system 130 , but is not limited thereto. For example, the issuer system 110 and/or the verifier system 130 may perform DID document verification of other systems through the same process as described above. With this configuration, verification of a DID document associated with an arbitrary system can be easily performed through encryption and decryption of a nonce value.

도 4는 본 발명의 일 실시예에 따른 발급자 시스템(110), 소유자 시스템(120), 검증자 시스템(130) 및 블록체인 네트워크(140) 사이에서 VC 발급 및 BBS+ 서명 검증이 수행되는 과정을 나타내는 예시적인 흐름도이다. 도시된 것과 같이, 발급자 시스템(110), 소유자 시스템(120), 검증자 시스템(130) 및 블록체인 네트워크(140)는 VC 발급 및 BBS+ 서명 검증에 필요한 데이터 및/또는 정보를 주고받을 수 있다.4 shows a process in which VC issuance and BBS+ signature verification are performed between the issuer system 110, the owner system 120, the verifier system 130 and the blockchain network 140 according to an embodiment of the present invention. It is an exemplary flow chart. As shown, issuer system 110, owner system 120, verifier system 130, and blockchain network 140 may send and receive data and/or information necessary for VC issuance and BBS+ signature verification.

일 실시예에 따르면, 소유자 시스템(120)은 BBS+ 서명을 위한 공통 값(412, 414)을 발급자 시스템(110) 및/또는 검증자 시스템(130)에 제공할 수 있다. 또한, 소유자 시스템(120)은 발급자 시스템(110)으로 DID 기반의 VC 발급 요청(416)을 전송할 수 있다. 이 경우, 발급자 시스템(110)은 제공된 공통 값(412)을 이용하여 발급자 시스템(110)과 연관된 제1 BBS+ 서명 및 소유자 시스템(120)과 연관된 VC를 생성할 수 있다(418). 예를 들어, 공통 값(412)을 기초로 제1 BBS 키 쌍이 생성되고, 제1 BBS 키 쌍을 기초로 제1 BBS+ 서명이 생성될 수 있다. 또한, 발급자 시스템(110)은 제1 BBS+ 서명을 생성된 VC와 연관시킬 수 있다. 그리고 나서, 발급자 시스템(110)은 제1 BBS+ 서명과 연관된 공개키(422)를 블록체인 네트워크(140) 상에 저장할 수 있다.According to one embodiment, owner system 120 may provide common values 412 and 414 for BBS+ signatures to issuer system 110 and/or verifier system 130 . In addition, the owner system 120 may transmit a DID-based VC issuance request 416 to the issuer system 110 . In this case, the issuer system 110 may use the provided common value 412 to generate a first BBS+ signature associated with the issuer system 110 and a VC associated with the owner system 120 (418). For example, a first BBS key pair may be generated based on the common value 412, and a first BBS+ signature may be generated based on the first BBS key pair. Additionally, issuer system 110 may associate the first BBS+ signature with the created VC. The issuer system 110 may then store the public key 422 associated with the first BBS+ signature on the blockchain network 140 .

일 실시예에 따르면, 발급자 시스템(110)은 소유자 시스템(120)으로 VC 및 공개키 저장 주소(424)를 제공할 수 있다. 여기서, VC는 발급자 시스템(110)의 개인키로 서명되어 소유자 시스템(120)에 제공될 수 있다. 이 경우, 소유자 시스템(120)은 발급자 시스템(110)과 연관된 공개키를 이용하여 VC 서명 검증을 수행할 수 있다(426). 예를 들어, 소유자 시스템(120)은 제공된 VC에 포함된 발급자 시스템(110)의 공개키를 이용하여 VC 서명 검증을 수행할 수 있다.According to one embodiment, issuer system 110 may provide VC and public key storage address 424 to owner system 120 . Here, the VC may be signed with the private key of the issuer system 110 and provided to the owner system 120 . In this case, the owner system 120 may perform VC signature verification using the public key associated with the issuer system 110 (426). For example, owner system 120 may perform VC signature verification using the public key of issuer system 110 included in the provided VC.

일 실시예에 따르면, 소유자 시스템(120)은 블록체인 네트워크(140)로부터 제1 BBS+ 서명과 연관된 공개키(428)를 획득할 수 있다. 그리고 나서, 소유자 시스템(120)은 획득된 공개키(428)를 이용하여 VC와 연관된 제1 BBS+ 서명 검증을 수행할 수 있다(432). 이 경우, BBS+ 서명 검증은 도 1에서 상술된 것과 동일한 과정에 의해 수행될 수 있다.According to one embodiment, owner system 120 may obtain public key 428 associated with the first BBS+ signature from blockchain network 140 . Owner system 120 may then use the obtained public key 428 to perform a first BBS+ signature verification associated with VC (432). In this case, BBS+ signature verification may be performed by the same process as described above in FIG. 1 .

도 5는 본 발명의 일 실시예에 따른 소유자 시스템(120), 검증자 시스템(130) 및 블록체인 네트워크(140) 사이에서 VP 생성 및 BBS+ 서명 검증이 수행되는 과정을 나타내는 예시적인 흐름도이다. 도시된 것과 같이, 소유자 시스템(120), 검증자 시스템(130) 및 블록체인 네트워크(140)는 VP 생성 및 BBS+ 서명 검증에 필요한 데이터 및/또는 정보를 주고받을 수 있다.5 is an exemplary flow diagram illustrating a process in which VP creation and BBS+ signature verification are performed between the owner system 120, the verifier system 130, and the blockchain network 140 according to one embodiment of the present invention. As shown, owner system 120, verifier system 130, and blockchain network 140 may send and receive data and/or information necessary for VP creation and BBS+ signature verification.

일 실시예에 따르면, 소유자 시스템(120)은 검증자 시스템(130)으로 논스(nonce) 값 요청(512)을 전송할 수 있다. 논스 값 요청(512)을 수신하는 것에 응답하여, 검증자 시스템(130)은 논스 값을 생성할 수 있다. 그리고 나서, 검증자 시스템(130)은 소유자 시스템(120)으로 생성된 논스 값을 포함하는 VP 제출 요청(514)을 전송할 수 있다. 여기서, 논스 값은 임의의 알고리즘에 의해 산출된 랜덤 값일 수 있다.According to one embodiment, owner system 120 may send a nonce value request 512 to verifier system 130 . In response to receiving nonce value request 512 , verifier system 130 may generate a nonce value. The verifier system 130 may then send a VP submission request 514 containing the generated nonce value to the owner system 120 . Here, the nonce value may be a random value calculated by an arbitrary algorithm.

VP 제출 요청(514)을 수신하는 경우, 소유자 시스템(120)은 VP 제출 요청(514)에 포함된 논스 값, 공통 값 등을 이용하여 제2 BBS+ 서명 및 VP를 생성할 수 있다(516). 예를 들어, 소유자 시스템(120)은 하나 이상의 VC에 포함된 각각의 클레임(claim)의 공개 여부를 결정하여 소유자 시스템(120)과 연관된 VP를 생성할 수 있다. 즉, 소유자 시스템(120)은 VC에 포함된 다양한 신원 정보 중 일부만을 선택하여 VP를 생성할 수 있다. 그리고 나서, 소유자 시스템(120)은 생성된 제2 BBS+ 서명을 생성된 VP와 연관시킬 수 있다. 이 경우, 소유자 시스템(120)은 제2 BBS+ 서명과 연관된 공개키(518)를 블록체인 네트워크(140) 상에 저장할 수 있다.Upon receiving VP Submit Request 514, owner system 120 may use the nonce value, common value, etc. included in VP Submit Request 514 to generate a second BBS+ signature and VP (516). For example, owner system 120 may create a VP associated with owner system 120 by determining whether to disclose each claim included in one or more VCs. That is, the owner system 120 may generate a VP by selecting only some of various identity information included in the VC. Owner system 120 can then associate the generated second BBS+ signature with the generated VP. In this case, the owner system 120 may store the public key 518 associated with the second BBS+ signature on the blockchain network 140 .

일 실시예에 따르면, 소유자 시스템(130)은 제2 BBS+ 서명과 연관된 VP 및 공개키 저장 주소(522)를 검증자 시스템(130)에 제공할 수 있다. 여기서, VP는 소유자 시스템(120)의 개인키로 서명되어 검증자 시스템(130)에 제공될 수 있다. 이 경우, 검증자 시스템(130)은 소유자 시스템(120)과 연관된 공개키를 이용하여 VP 서명 검증을 수행할 수 있다(524). 예를 들어, 검증자 시스템(130)은 제공된 VP에 포함된 소유자 시스템(120)의 공개키를 이용하여 VP 서명 검증을 수행할 수 있다.According to one embodiment, the owner system 130 may provide the verifier system 130 with the VP and public key storage address 522 associated with the second BBS+ signature. Here, the VP may be signed with the private key of the owner system 120 and provided to the verifier system 130. In this case, the verifier system 130 may perform VP signature verification using the public key associated with the owner system 120 (524). For example, verifier system 130 may perform VP signature verification using the public key of owner system 120 included in the provided VP.

일 실시예에 따르면, 검증자 시스템(130)은 블록체인 네트워크(140)로부터 제2 BBS+ 서명과 연관된 공개키(526)를 획득할 수 있다. 그리고 나서, 검증자 시스템(130)은 획득된 공개키(526)를 이용하여 VP와 연관된 제2 BBS+ 서명 검증을 수행할 수 있다(528). 추가적으로, 검증자 시스템(130)은 블록체인 네트워크(140)로부터 제1 BBS+ 서명(발급자 시스템과 연관된 BBS+ 서명)과 연관된 공개키를 획득할 수 있다. 그리고 나서, 검증자 시스템(130)은 획득된 공개키를 이용하여 VP와 연관된 제1 BBS+ 서명 검증을 수행할 수 있다. 이 경우, BBS+ 서명 검증은 도 1에서 상술된 것과 동일한 과정에 의해 수행될 수 있다.According to one embodiment, verifier system 130 may obtain public key 526 associated with the second BBS+ signature from blockchain network 140 . Then, the verifier system 130 may perform a second BBS+ signature verification associated with the VP using the obtained public key 526 (528). Additionally, verifier system 130 may obtain from blockchain network 140 a public key associated with the first BBS+ signature (the BBS+ signature associated with the issuer system). Then, verifier system 130 may use the obtained public key to perform first BBS+ signature verification associated with the VP. In this case, BBS+ signature verification may be performed by the same process as described above in FIG. 1 .

도 6은 본 발명의 일 실시예에 따른 소유자 시스템(120), 검증자 시스템(130) 및 블록체인 네트워크(140) 사이에서 통합 VP 생성 및 BBS+ 서명 검증이 수행되는 과정을 나타내는 예시적인 흐름도이다. 도시된 것과 같이, 소유자 시스템(120), 검증자 시스템(130) 및 블록체인 네트워크(140)는 통합 VP(aggregated VP) 생성 및 BBS+ 서명 검증에 필요한 데이터 및/또는 정보를 주고받을 수 있다.6 is an exemplary flow diagram illustrating a process in which integrated VP creation and BBS+ signature verification are performed between the owner system 120, the verifier system 130, and the blockchain network 140 according to one embodiment of the present invention. As shown, the owner system 120, the verifier system 130, and the blockchain network 140 may send and receive data and/or information necessary for generating an aggregated VP and verifying the BBS+ signature.

도 5에서 상술된 것과 유사하게, 소유자 시스템(120)은 검증자 시스템(130)으로 논스 값 요청(612)을 전송할 수 있다. 논스 값 요청(612)을 수신하는 것에 응답하여, 검증자 시스템(130)은 논스 값을 생성할 수 있다. 그리고 나서, 검증자 시스템(130)은 소유자 시스템(120)으로 생성된 논스 값을 포함하는 VP 제출 요청(614)을 전송할 수 있다. 여기서, 논스 값은 임의의 알고리즘에 의해 산출된 랜덤 값일 수 있다.Similar to what was described above in FIG. 5 , owner system 120 may send a nonce value request 612 to verifier system 130 . In response to receiving nonce value request 612 , verifier system 130 may generate a nonce value. The verifier system 130 may then send a VP submission request 614 containing the generated nonce value to the owner system 120 . Here, the nonce value may be a random value calculated by an arbitrary algorithm.

VP 제출 요청(614)을 수신하는 경우, 소유자 시스템(120)은 VP 제출 요청(614)에 포함된 논스 값, 공통 값 등을 이용하여 제2 BBS+ 서명 및 통합 VP를 생성할 수 있다(616). 예를 들어, 소유자 시스템(120)은 복수의 VC 및 복수의 VC에 포함된 각각의 클레임의 공개 여부를 결정하여 소유자 시스템(120)과 연관된 통합 VP를 생성할 수 있다. 즉, 소유자 시스템(120)은 복수의 VC에 포함된 다양한 신원 정보 중 일부만을 선택하여 통합 VP를 생성할 수 있다. 그리고 나서, 소유자 시스템(120)은 생성된 제2 BBS+ 서명을 생성된 통합 VP와 연관시킬 수 있다. 이 경우, 소유자 시스템(120)은 제2 BBS+ 서명과 연관된 공개키(618)를 블록체인 네트워크(140) 상에 저장할 수 있다.Upon receiving VP Submit Request 614, owner system 120 may use the nonce value, common values, etc. included in VP Submit Request 614 to generate 616 a second BBS+ signature and unified VP. . For example, owner system 120 may determine whether to disclose the plurality of VCs and each claim included in the plurality of VCs to create an aggregated VP associated with owner system 120 . That is, the owner system 120 may create an integrated VP by selecting only some of various identity information included in a plurality of VCs. Owner system 120 can then associate the generated second BBS+ signature with the created combined VP. In this case, the owner system 120 may store the public key 618 associated with the second BBS+ signature on the blockchain network 140 .

일 실시예에 따르면, 소유자 시스템(130)은 제2 BBS+ 서명과 연관된 통합 VP 및 공개키 저장 주소(622)를 검증자 시스템(130)에 제공할 수 있다. 여기서, 통합 VP는 소유자 시스템(120)의 개인키로 서명되어 검증자 시스템(130)에 제공될 수 있다. 이 경우, 검증자 시스템(130)은 소유자 시스템(120)과 연관된 공개키를 이용하여 통합 VP 서명 검증을 수행할 수 있다(624). 예를 들어, 검증자 시스템(130)은 제공된 통합 VP에 포함된 소유자 시스템(120)의 공개키를 이용하여 통합 VP 서명 검증을 수행할 수 있다.According to one embodiment, the owner system 130 may provide the verifier system 130 with the joint VP and public key storage address 622 associated with the second BBS+ signature. Here, the unified VP may be signed with the private key of the owner system 120 and provided to the verifier system 130 . In this case, the verifier system 130 may perform integrated VP signature verification using the public key associated with the owner system 120 (624). For example, the verifier system 130 may perform integrated VP signature verification using the public key of the owner system 120 included in the provided integrated VP.

일 실시예에 따르면, 검증자 시스템(130)은 블록체인 네트워크(140)로부터 제2 BBS+ 서명과 연관된 공개키(626)를 획득할 수 있다. 그리고 나서, 검증자 시스템(130)은 획득된 공개키(626)를 이용하여 통합 VP와 연관된 제2 BBS+ 서명 검증을 수행할 수 있다(628). 추가적으로, 검증자 시스템(130)은 블록체인 네트워크(140)로부터 제1 BBS+ 서명(발급자 시스템과 연관된 BBS+ 서명)과 연관된 공개키를 획득할 수 있다. 그리고 나서, 검증자 시스템(130)은 획득된 공개키를 이용하여 통합 VP와 연관된 제1 BBS+ 서명 검증을 수행할 수 있다. 이 경우, BBS+ 서명 검증은 도 1에서 상술된 것과 동일한 과정에 의해 수행될 수 있다. 이와 같은 구성에 의해, 복수의 VC가 존재하는 경우, 각 VC에 대응하는 별도의 VP를 생성하지 않고도, 하나의 통합된 VP가 생성될 수 있으며, 이에 따라 VP의 생성 및 서명에 대한 효율성이 효과적으로 증가될 수 있다.According to one embodiment, verifier system 130 may obtain public key 626 associated with the second BBS+ signature from blockchain network 140 . Then, the verifier system 130 may use the obtained public key 626 to perform a second BBS+ signature verification associated with the unified VP (628). Additionally, verifier system 130 may obtain from blockchain network 140 a public key associated with the first BBS+ signature (the BBS+ signature associated with the issuer system). Then, verifier system 130 may use the obtained public key to perform first BBS+ signature verification associated with the combined VP. In this case, BBS+ signature verification may be performed by the same process as described above in FIG. 1 . With this configuration, when a plurality of VCs exist, one integrated VP can be created without creating a separate VP corresponding to each VC, and thus the efficiency of VP creation and signature is effectively reduced. can be increased

도 7은 본 발명의 일 실시예에 따른 BBS+ 서명을 이용한 DID 기반의 서명 방법(700)의 예시를 나타내는 흐름도이다. BBS+ 서명을 이용한 DID 기반의 서명 방법(700)은 적어도 하나의 프로세서(예: 발급자 시스템, 소유자 시스템 및 검증자 시스템의 적어도 하나의 프로세서)에 의해 수행될 수 있다. BBS+ 서명을 이용한 DID 기반의 서명 방법(700)은 소유자 시스템이 BBS+ 서명을 위한 공통 값을 발급자 시스템에 제공함으로써 개시될 수 있다(S710). 이 경우, 발급자 시스템은 제공된 공통 값을 이용하여 발급자 시스템과 연관된 제1 BBS+ 서명을 생성할 수 있다(S720).7 is a flowchart illustrating an example of a DID-based signature method 700 using a BBS+ signature according to an embodiment of the present invention. The DID-based signature method 700 using the BBS+ signature may be performed by at least one processor (eg, at least one processor of an issuer system, an owner system, and a verifier system). The DID-based signature method 700 using the BBS+ signature may be initiated by the owner system providing a common value for the BBS+ signature to the issuer system (S710). In this case, the issuer system may generate a first BBS+ signature associated with the issuer system using the provided common value (S720).

일 실시예에 따르면, 소유자 시스템은 발급자 시스템으로 DID 기반의 VC 발급 요청을 전송할 수 있다(S730). 발급 요청을 수신하는 것에 응답하여, 발급자 시스템은 소유자 시스템과 연관된 VC를 생성할 수 있다(S740). 예를 들어, 생성된 VC는 소유자 시스템과 연관된 임의의 신원 정보를 포함할 수 있다.According to an embodiment, the owner system may transmit a DID-based VC issuance request to the issuer system (S730). In response to receiving the issue request, the issuer system may create a VC associated with the owner system (S740). For example, the created VC may include any identity information associated with the owner's system.

일 실시예에 따르면, 발급자 시스템은 제1 BBS+ 서명을 생성된 VC와 연관시킬 수 있다(S750). 또한, 발급자 시스템은 제1 BBS+ 서명과 연관된 VC를 소유자 시스템에 제공할 수 있다(S760). 이 경우, 소유자 시스템은 제1 BBS+ 서명과 연관된 VC를 수신하는 것에 응답하여 블록체인 네트워크로부터 발급자 시스템과 연관된 공개키를 획득하고, 획득된 발급자 시스템과 연관된 공개키를 이용하여 제1 BBS+ 서명에 대한 서명 검증을 수행할 수 있다.According to one embodiment, the issuer system may associate the first BBS+ signature with the generated VC (S750). In addition, the issuer system may provide the VC associated with the first BBS+ signature to the owner system (S760). In this case, the owner system obtains a public key associated with the issuer system from the blockchain network in response to receiving the VC associated with the first BBS+ signature, and uses the obtained public key associated with the issuer system to obtain information about the first BBS+ signature. You can perform signature verification.

도 8은 본 발명의 일 실시예에 따른 BBS+ 서명을 이용한 VP 생성 및 검증 방법(800)의 예시를 나타내는 흐름도이다. BBS+ 서명을 이용한 VP 생성 및 검증 방법(800)은 적어도 하나의 프로세서(예: 발급자 시스템, 소유자 시스템 및 검증자 시스템의 적어도 하나의 프로세서)에 의해 수행될 수 있다. BBS+ 서명을 이용한 VP 생성 및 검증 방법(800)은 검증자 시스템이 소유자 시스템으로 VP 제출 요청을 전송함으로써 개시될 수 있다(S810). 예를 들어, 소유자 시스템은 검증자 시스템으로 논스 값 요청을 전송할 수 있다. 이 경우, 논스 값 요청을 수신하는 것에 응답하여, 검증자 시스템은 논스 값을 생성하고, 소유자 시스템으로 생성된 논스 값을 포함하는 VP 제출 요청을 전송할 수 있다.8 is a flow diagram illustrating an example of a VP generation and verification method 800 using a BBS+ signature according to an embodiment of the present invention. The method 800 for generating and verifying a VP using a BBS+ signature may be performed by at least one processor (eg, at least one processor of an issuer system, an owner system, and a verifier system). The VP generation and verification method 800 using the BBS+ signature may be initiated by the verifier system sending a VP submission request to the owner system (S810). For example, the owner system could send a request for a nonce value to the verifier system. In this case, in response to receiving the nonce value request, the verifier system may generate a nonce value and send a VP submission request containing the generated nonce value to the owner system.

소유자 시스템은 소유자 시스템과 연관된 제2 BBS+ 서명을 생성할 수 있다(S820). 또한, 소유자 시스템은 VC에 포함된 각각의 클레임의 공개 여부를 결정하여 소유자 시스템과 연관된 VP를 생성할 수 있다(S830). 이 경우, 소유자 시스템은 복수의 VC를 결합하여, 복수의 VC에 포함된 각각의 클레임의 공개 여부를 결정하여 소유자 시스템과 연관된 VP를 생성할 수도 있다.The owner system may generate a second BBS+ signature associated with the owner system (S820). In addition, the owner system may determine whether to disclose each claim included in the VC and create a VP associated with the owner system (S830). In this case, the owner system may combine a plurality of VCs, determine whether to disclose each claim included in the plurality of VCs, and create a VP associated with the owner system.

소유자 시스템은 제2 BBS+ 서명을 생성된 VP와 연관시킬 수 있다(S840). 또한, 소유자 시스템은 제2 BBS+ 서명과 연관된 VP를 검증자 시스템에 제공할 수 있다(S850). 이 경우, 검증자 시스템은 제2 BBS+ 서명과 연관된 VP를 수신하는 것에 응답하여 블록체인 네트워크로부터 소유자 시스템과 연관된 공개키 및 발급자 시스템과 연관된 공개키를 획득할 수 있다. 그리고 나서, 검증자 시스템은 획득된 소유자 시스템과 연관된 공개키 및 발급자 시스템과 연관된 공개키를 이용하여 제1 BBS+ 서명 및 제2 BBS+ 서명에 대한 서명 검증을 수행할 수 있다.The owner system may associate the second BBS+ signature with the created VP (S840). Additionally, the owner system may provide the VP associated with the second BBS+ signature to the verifier system (S850). In this case, the verifier system may obtain the public key associated with the owner system and the public key associated with the issuer system from the blockchain network in response to receiving the VP associated with the second BBS+ signature. Then, the verifier system may perform signature verification for the first BBS+ signature and the second BBS+ signature using the obtained public key associated with the owner system and the public key associated with the issuer system.

상술된 방법 및/또는 다양한 실시예들은, 디지털 전자 회로, 컴퓨터 하드웨어, 펌웨어, 소프트웨어 및/또는 이들의 조합으로 실현될 수 있다. 본 발명의 다양한 실시예들은 데이터 처리 장치, 예를 들어, 프로그래밍 가능한 하나 이상의 프로세서 및/또는 하나 이상의 컴퓨팅 장치에 의해 실행되거나, 컴퓨터 판독 가능한 기록 매체 및/또는 컴퓨터 판독 가능한 기록 매체에 저장된 컴퓨터 프로그램으로 구현될 수 있다. 상술된 컴퓨터 프로그램은 컴파일된 언어 또는 해석된 언어를 포함하여 임의의 형태의 프로그래밍 언어로 작성될 수 있으며, 독립 실행형 프로그램, 모듈, 서브 루틴 등의 임의의 형태로 배포될 수 있다. 컴퓨터 프로그램은 하나의 컴퓨팅 장치, 동일한 네트워크를 통해 연결된 복수의 컴퓨팅 장치 및/또는 복수의 상이한 네트워크를 통해 연결되도록 분산된 복수의 컴퓨팅 장치를 통해 배포될 수 있다.The above-described methods and/or various embodiments may be realized with digital electronic circuits, computer hardware, firmware, software, and/or combinations thereof. Various embodiments of the present invention may be performed by a data processing device, eg, one or more programmable processors and/or one or more computing devices, or as a computer readable recording medium and/or a computer program stored on a computer readable recording medium. can be implemented The above-described computer programs may be written in any form of programming language, including compiled or interpreted languages, and may be distributed in any form, such as a stand-alone program, module, or subroutine. A computer program may be distributed over one computing device, multiple computing devices connected through the same network, and/or distributed over multiple computing devices connected through multiple different networks.

상술된 방법 및/또는 다양한 실시예들은, 입력 데이터를 기초로 동작하거나 출력 데이터를 생성함으로써, 임의의 기능, 함수 등을 처리, 저장 및/또는 관리하는 하나 이상의 컴퓨터 프로그램을 실행하도록 구성된 하나 이상의 프로세서에 의해 수행될 수 있다. 예를 들어, 본 발명의 방법 및/또는 다양한 실시예는 FPGA(Field Programmable Gate Array) 또는 ASIC(Application Specific Integrated Circuit)과 같은 특수 목적 논리 회로에 의해 수행될 수 있으며, 본 발명의 방법 및/또는 실시예들을 수행하기 위한 장치 및/또는 시스템은 FPGA 또는 ASIC와 같은 특수 목적 논리 회로로서 구현될 수 있다.The methods and/or various embodiments described above may be performed by one or more processors configured to execute one or more computer programs that process, store, and/or manage any function, function, or the like, by operating on input data or generating output data. can be performed by For example, the method and/or various embodiments of the present invention may be performed by a special purpose logic circuit such as a Field Programmable Gate Array (FPGA) or an Application Specific Integrated Circuit (ASIC), and the method and/or various embodiments of the present invention may be performed. Apparatus and/or systems for performing the embodiments may be implemented as special purpose logic circuits such as FPGAs or ASICs.

컴퓨터 프로그램을 실행하는 하나 이상의 프로세서는, 범용 목적 또는 특수 목적의 마이크로 프로세서 및/또는 임의의 종류의 디지털 컴퓨팅 장치의 하나 이상의 프로세서를 포함할 수 있다. 프로세서는 읽기 전용 메모리, 랜덤 액세스 메모리의 각각으로부터 명령 및/또는 데이터를 수신하거나, 읽기 전용 메모리와 랜덤 액세스 메모리로부터 명령 및/또는 데이터를 수신할 수 있다. 본 발명에서, 방법 및/또는 실시예들을 수행하는 컴퓨팅 장치의 구성 요소들은 명령어들을 실행하기 위한 하나 이상의 프로세서, 명령어들 및/또는 데이터를 저장하기 위한 하나 이상의 메모리 디바이스를 포함할 수 있다.The one or more processors executing the computer program may include a general purpose or special purpose microprocessor and/or one or more processors of any kind of digital computing device. The processor may receive instructions and/or data from each of the read-only memory and the random access memory, or receive instructions and/or data from the read-only memory and the random access memory. In the present invention, components of a computing device performing methods and/or embodiments may include one or more processors for executing instructions, and one or more memory devices for storing instructions and/or data.

일 실시예에 따르면, 컴퓨팅 장치는 데이터를 저장하기 위한 하나 이상의 대용량 저장 장치와 데이터를 주고받을 수 있다. 예를 들어, 컴퓨팅 장치는 자기 디스크(magnetic disc) 또는 광 디스크(optical disc)로부터 데이터를 수신하거나/수신하고, 자기 디스크 또는 광 디스크로 데이터를 전송할 수 있다. 컴퓨터 프로그램과 연관된 명령어들 및/또는 데이터를 저장하기에 적합한 컴퓨터 판독 가능한 저장 매체는, EPROM(Erasable Programmable Read-Only Memory), EEPROM(Electrically Erasable PROM), 플래시 메모리 장치 등의 반도체 메모리 장치를 포함하는 임의의 형태의 비 휘발성 메모리를 포함할 수 있으나, 이에 한정되지 않는다. 예를 들어, 컴퓨터 판독 가능한 저장 매체는 내부 하드 디스크 또는 이동식 디스크와 같은 자기 디스크, 광 자기 디스크, CD-ROM 및 DVD-ROM 디스크를 포함할 수 있다.According to one embodiment, a computing device may exchange data with one or more mass storage devices for storing data. For example, a computing device may receive/receive data from and transfer data to a magnetic or optical disc. A computer-readable storage medium suitable for storing instructions and/or data associated with a computer program includes semiconductor memory devices such as Erasable Programmable Read-Only Memory (EPROM), Electrically Erasable PROM (EEPROM), and flash memory devices. Any type of non-volatile memory may be included, but is not limited thereto. For example, computer readable storage media may include magnetic disks such as internal hard disks or removable disks, magneto-optical disks, CD-ROM and DVD-ROM disks.

사용자와의 상호 작용을 제공하기 위해, 컴퓨팅 장치는 정보를 사용자에게 제공하거나 디스플레이하기 위한 디스플레이 장치(예를 들어, CRT (Cathode Ray Tube), LCD(Liquid Crystal Display) 등) 및 사용자가 컴퓨팅 장치 상에 입력 및/또는 명령 등을 제공할 수 있는 포인팅 장치(예를 들어, 키보드, 마우스, 트랙볼 등)를 포함할 수 있으나, 이에 한정되지 않는다. 즉, 컴퓨팅 장치는 사용자와의 상호 작용을 제공하기 위한 임의의 다른 종류의 장치들을 더 포함할 수 있다. 예를 들어, 컴퓨팅 장치는 사용자와의 상호 작용을 위해, 시각적 피드백, 청각 피드백 및/또는 촉각 피드백 등을 포함하는 임의의 형태의 감각 피드백을 사용자에게 제공할 수 있다. 이에 대해, 사용자는 시각, 음성, 동작 등의 다양한 제스처를 통해 컴퓨팅 장치로 입력을 제공할 수 있다.To provide interaction with a user, a computing device includes a display device (eg, a cathode ray tube (CRT), a liquid crystal display (LCD), etc.) It may include a pointing device (eg, a keyboard, mouse, trackball, etc.) capable of providing input and/or commands to, but is not limited thereto. That is, the computing device may further include any other type of device for providing interaction with a user. For example, a computing device may provide any form of sensory feedback to a user for interaction with the user, including visual feedback, auditory feedback, and/or tactile feedback. In this regard, the user may provide input to the computing device through various gestures such as visual, voice, and motion.

본 발명에서, 다양한 실시예들은 백엔드 구성 요소(예: 데이터 서버), 미들웨어 구성 요소(예: 애플리케이션 서버) 및/또는 프론트 엔드 구성 요소를 포함하는 컴퓨팅 시스템에서 구현될 수 있다. 이 경우, 구성 요소들은 통신 네트워크와 같은 디지털 데이터 통신의 임의의 형태 또는 매체에 의해 상호 연결될 수 있다. 예를 들어, 통신 네트워크는 LAN(Local Area Network), WAN(Wide Area Network) 등을 포함할 수 있다.In the present invention, various embodiments may be implemented in a computing system including a back-end component (eg, a data server), a middleware component (eg, an application server), and/or a front-end component. In this case, the components may be interconnected by any form or medium of digital data communication, such as a communication network. For example, the communication network may include a local area network (LAN), a wide area network (WAN), and the like.

본 명세서에서 기술된 예시적인 실시예들에 기반한 컴퓨팅 장치는, 사용자 디바이스, 사용자 인터페이스(UI) 디바이스, 사용자 단말 또는 클라이언트 디바이스를 포함하여 사용자와 상호 작용하도록 구성된 하드웨어 및/또는 소프트웨어를 사용하여 구현될 수 있다. 예를 들어, 컴퓨팅 장치는 랩톱(laptop) 컴퓨터와 같은 휴대용 컴퓨팅 장치를 포함할 수 있다. 추가적으로 또는 대안적으로, 컴퓨팅 장치는, PDA(Personal Digital Assistants), 태블릿 PC, 게임 콘솔(game console), 웨어러블 디바이스(wearable device), IoT(internet of things) 디바이스, VR(virtual reality) 디바이스, AR(augmented reality) 디바이스 등을 포함할 수 있으나, 이에 한정되지 않는다. 컴퓨팅 장치는 사용자와 상호 작용하도록 구성된 다른 유형의 장치를 더 포함할 수 있다. 또한, 컴퓨팅 장치는 이동 통신 네트워크 등의 네트워크를 통한 무선 통신에 적합한 휴대용 통신 디바이스(예를 들어, 이동 전화, 스마트 전화, 무선 셀룰러 전화 등) 등을 포함할 수 있다. 컴퓨팅 장치는, 무선 주파수(RF; Radio Frequency), 마이크로파 주파수(MWF; Microwave Frequency) 및/또는 적외선 주파수(IRF; Infrared Ray Frequency)와 같은 무선 통신 기술들 및/또는 프로토콜들을 사용하여 네트워크 서버와 무선으로 통신하도록 구성될 수 있다.A computing device based on the example embodiments described herein may be implemented using hardware and/or software configured to interact with a user, including a user device, user interface (UI) device, user terminal, or client device. can For example, the computing device may include a portable computing device such as a laptop computer. Additionally or alternatively, the computing device may include personal digital assistants (PDAs), tablet PCs, game consoles, wearable devices, internet of things (IoT) devices, virtual reality (VR) devices, AR (augmented reality) device, etc. may be included, but is not limited thereto. A computing device may further include other types of devices configured to interact with a user. Further, the computing device may include a portable communication device (eg, a mobile phone, smart phone, wireless cellular phone, etc.) suitable for wireless communication over a network, such as a mobile communication network. A computing device communicates wirelessly with a network server using wireless communication technologies and/or protocols such as radio frequency (RF), microwave frequency (MWF) and/or infrared ray frequency (IRF). It can be configured to communicate with.

본 발명에서 특정 구조적 및 기능적 세부 사항을 포함하는 다양한 실시예들은 예시적인 것이다. 따라서, 본 발명의 실시예들은 상술된 것으로 한정되지 않으며, 여러 가지 다른 형태로 구현될 수 있다. 또한, 본 발명에서 사용된 용어는 일부 실시예를 설명하기 위한 것이며 실시예를 제한하는 것으로 해석되지 않는다. 예를 들어, 단수형 단어 및 상기는 문맥상 달리 명확하게 나타내지 않는 한 복수형도 포함하는 것으로 해석될 수 있다.The various embodiments herein, including specific structural and functional details, are exemplary. Accordingly, embodiments of the present invention are not limited to those described above and may be implemented in various other forms. In addition, terms used in the present invention are for describing some embodiments and are not construed as limiting the embodiments. For example, the singular and the above may be construed to include the plural as well, unless the context clearly dictates otherwise.

본 발명에서, 달리 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함하여 본 명세서에서 사용되는 모든 용어는 이러한 개념이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 갖는다. 또한, 사전에 정의된 용어와 같이 일반적으로 사용되는 용어들은 관련 기술의 맥락에서의 의미와 일치하는 의미를 갖는 것으로 해석되어야 한다.In the present invention, unless defined otherwise, all terms used in this specification, including technical or scientific terms, have the same meaning as commonly understood by a person of ordinary skill in the art to which such concept belongs. . In addition, terms commonly used, such as terms defined in a dictionary, should be interpreted as having a meaning consistent with the meaning in the context of the related technology.

본 명세서에서는 본 발명이 일부 실시예들과 관련하여 설명되었지만, 본 발명의 발명이 속하는 기술분야의 통상의 기술자가 이해할 수 있는 본 발명의 범위를 벗어나지 않는 범위에서 다양한 변형 및 변경이 이루어질 수 있다. 또한, 그러한 변형 및 변경은 본 명세서에 첨부된 특허청구의 범위 내에 속하는 것으로 생각되어야 한다.Although the present invention has been described in relation to some embodiments in this specification, various modifications and changes can be made without departing from the scope of the present invention that can be understood by those skilled in the art. Moreover, such modifications and variations are intended to fall within the scope of the claims appended hereto.

110: 발급자 시스템
120: 소유자 시스템
130: 검증자 시스템
140: 저장소
110: issuer system
120: owner system
130: validator system
140: storage

Claims (13)

BBS+ 서명을 이용한 DID(Decentralized Identity) 기반의 서명 방법으로서,
소유자 시스템(holder system)이 BBS+ 서명을 위한 공통 값을 발급자 시스템(issuer system)에 제공하는 단계;
상기 발급자 시스템이 상기 제공된 공통 값을 이용하여 상기 발급자 시스템과 연관된 제1 BBS+ 서명을 생성하는 단계;
상기 소유자 시스템이 상기 발급자 시스템으로 DID 기반의 VC(Verifiable Credential) 발급 요청을 전송하는 단계;
상기 발급 요청을 수신하는 것에 응답하여, 상기 발급자 시스템이 상기 소유자 시스템과 연관된 VC를 생성하는 단계;
상기 발급자 시스템이 상기 제1 BBS+ 서명을 상기 생성된 VC와 연관시키는 단계; 및
상기 발급자 시스템이 상기 제1 BBS+ 서명과 연관된 VC를 상기 소유자 시스템에 제공하는 단계;
를 포함하는 BBS+ 서명을 이용한 DID 기반의 서명 방법.
As a DID (Decentralized Identity) based signature method using BBS+ signature,
the holder system providing a common value for the BBS+ signature to the issuer system;
generating, by the issuer system, a first BBS+ signature associated with the issuer system using the provided common value;
transmitting, by the owner system, a request for issuing a DID-based Verifiable Credential (VC) to the issuer system;
in response to receiving the issuance request, the issuer system creating a VC associated with the owner system;
the issuer system associating the first BBS+ signature with the generated VC; and
the issuer system providing the owner system with a VC associated with the first BBS+ signature;
DID-based signature method using BBS + signature including.
제1항에 있어서,
상기 소유자 시스템이 상기 제1 BBS+ 서명과 연관된 VC를 수신하는 것에 응답하여 블록체인 네트워크로부터 상기 발급자 시스템과 연관된 공개키(public key)를 획득하는 단계; 및
상기 소유자 시스템이 상기 획득된 발급자 시스템과 연관된 공개키를 이용하여 상기 제1 BBS+ 서명에 대한 서명 검증(signature verification)을 수행하는 단계;
를 더 포함하는 BBS+ 서명을 이용한 DID 기반의 서명 방법.
According to claim 1,
obtaining a public key associated with the issuer system from a blockchain network in response to the owner system receiving the VC associated with the first BBS+ signature; and
the owner system performing signature verification on the first BBS+ signature using the obtained public key associated with the issuer system;
DID-based signature method using BBS + signature further comprising.
제2항에 있어서,
검증자 시스템(verifier system)이 상기 소유자 시스템으로 VP(Verifiable Presentation) 제출 요청을 전송하는 단계;
상기 소유자 시스템이 상기 소유자 시스템과 연관된 제2 BBS+ 서명을 생성하는 단계;
상기 소유자 시스템이 상기 VC에 포함된 각각의 클레임(claim)의 공개 여부를 결정하여 상기 소유자 시스템과 연관된 VP를 생성하는 단계;
상기 소유자 시스템이 상기 제2 BBS+ 서명을 상기 생성된 VP와 연관시키는 단계; 및
상기 소유자 시스템이 상기 제2 BBS+ 서명과 연관된 VP를 상기 검증자 시스템에 제공하는 단계;
를 더 포함하는 BBS+ 서명을 이용한 DID 기반의 서명 방법.
According to claim 2,
Transmitting, by a verifier system, a Verifiable Presentation (VP) submission request to the owner system;
generating, by the owner system, a second BBS+ signature associated with the owner system;
generating, by the owner system, a VP associated with the owner system by determining whether to disclose each claim included in the VC;
the owner system associating the second BBS+ signature with the created VP; and
the owner system providing the verifier system with a VP associated with the second BBS+ signature;
DID-based signature method using BBS + signature further comprising.
제3항에 있어서,
상기 검증자 시스템이 상기 제2 BBS+ 서명과 연관된 VP를 수신하는 것에 응답하여 블록체인 네트워크로부터 상기 소유자 시스템과 연관된 공개키 및 상기 발급자 시스템과 연관된 공개키를 획득하는 단계; 및
상기 검증자 시스템이 상기 획득된 소유자 시스템과 연관된 공개키 및 상기 발급자 시스템과 연관된 공개키를 이용하여 상기 제1 BBS+ 서명 및 상기 제2 BBS+ 서명에 대한 서명 검증을 수행하는 단계;
를 더 포함하는 BBS+ 서명을 이용한 DID 기반의 서명 방법.
According to claim 3,
obtaining from a blockchain network a public key associated with the owner system and a public key associated with the issuer system in response to the verifier system receiving the VP associated with the second BBS+ signature; and
performing, by the verifier system, signature verification on the first BBS+ signature and the second BBS+ signature using the obtained public key associated with the owner system and the public key associated with the issuer system;
DID-based signature method using BBS + signature further comprising.
제3항에 있어서,
상기 VC는 복수의 VC를 포함하고,
상기 소유자 시스템이 상기 VC에 포함된 각각의 클레임(claim)의 공개 여부를 결정하여 상기 소유자 시스템과 연관된 VP를 생성하는 단계는,
상기 소유자 시스템이 상기 복수의 VC를 결합하여, 상기 복수의 VC에 포함된 각각의 클레임의 공개 여부를 결정하여 상기 소유자 시스템과 연관된 VP를 생성하는 단계;
를 포함하는 BBS+ 서명을 이용한 DID 기반의 서명 방법.
According to claim 3,
The VC includes a plurality of VCs,
The step of determining whether the owner system discloses each claim included in the VC and creating a VP associated with the owner system,
generating, by the owner system, a VP associated with the owner system by combining the plurality of VCs and determining whether to disclose each claim included in the plurality of VCs;
DID-based signature method using BBS + signature including.
제3항에 있어서,
상기 소유자 시스템이 상기 검증자 시스템으로 논스(nonce) 값 요청을 전송하는 단계; 및
상기 논스 값 요청을 수신하는 것에 응답하여, 상기 검증자 시스템이 논스 값을 생성하는 단계;
를 더 포함하고,
상기 검증자 시스템이 상기 소유자 시스템으로 VP 제출 요청을 전송하는 단계는,
상기 검증자 시스템이 상기 소유자 시스템으로 상기 생성된 논스 값을 포함하는 VP 제출 요청을 전송하는 단계;
를 포함하는 BBS+ 서명을 이용한 DID 기반의 서명 방법.
According to claim 3,
the owner system sending a nonce value request to the verifier system; and
in response to receiving the nonce value request, the verifier system generating a nonce value;
Including more,
The step of the verifier system sending a VP submission request to the owner system,
sending, by the verifier system, a VP submission request including the generated nonce value to the owner system;
DID-based signature method using BBS + signature including.
제1항 내지 제6항 중 어느 한 항에 따른 방법을 컴퓨터에서 실행하기 위해 컴퓨터 판독 가능한 기록 매체에 저장된 컴퓨터 프로그램.
A computer program stored in a computer-readable recording medium to execute the method according to any one of claims 1 to 6 on a computer.
BBS+ 서명을 이용한 DID 기반의 서명 시스템으로서,
메모리에 포함된 컴퓨터 판독 가능한 적어도 하나의 프로그램을 실행하도록 구성된 적어도 하나의 프로세서;
를 포함하고,
상기 적어도 하나의 프로그램은,
소유자 시스템이 BBS+ 서명을 위한 공통 값을 발급자 시스템에 제공하고,
상기 발급자 시스템이 상기 제공된 공통 값을 이용하여 상기 발급자 시스템과 연관된 제1 BBS+ 서명을 생성하고,
상기 소유자 시스템이 상기 발급자 시스템으로 DID 기반의 VC 발급 요청을 전송하고,
상기 발급 요청을 수신하는 것에 응답하여, 상기 발급자 시스템이 상기 소유자 시스템과 연관된 VC를 생성하고,
상기 발급자 시스템이 상기 제1 BBS+ 서명을 상기 생성된 VC와 연관시키고,
상기 발급자 시스템이 상기 제1 BBS+ 서명과 연관된 VC를 상기 소유자 시스템에 제공하도록 하기 위한 명령어들을 포함하는 BBS+ 서명을 이용한 DID 기반의 서명 시스템.
As a DID-based signature system using BBS+ signature,
at least one processor configured to execute at least one computer readable program contained in the memory;
including,
The at least one program,
the owner system provides common values for BBS+ signatures to the issuer system;
the issuer system generates a first BBS+ signature associated with the issuer system using the provided common value;
The owner system transmits a DID-based VC issuance request to the issuer system,
in response to receiving the issuance request, the issuer system creates a VC associated with the owner system;
the issuer system associates the first BBS+ signature with the generated VC;
A DID-based signature system using BBS+ signatures comprising instructions for causing the issuer system to provide the owner system with a VC associated with the first BBS+ signature.
제8항에 있어서,
상기 적어도 하나의 프로그램은,
상기 소유자 시스템이 상기 제1 BBS+ 서명과 연관된 VC를 수신하는 것에 응답하여 블록체인 네트워크로부터 상기 발급자 시스템과 연관된 공개키를 획득하고,
상기 소유자 시스템이 상기 획득된 발급자 시스템과 연관된 공개키를 이용하여 상기 제1 BBS+ 서명에 대한 서명 검증을 수행하도록 하기 위한 명령어들 더 포함하는 BBS+ 서명을 이용한 DID 기반의 서명 시스템.
According to claim 8,
The at least one program,
obtain a public key associated with the issuer system from a blockchain network in response to the owner system receiving a VC associated with the first BBS+ signature;
The DID-based signature system using BBS+ signatures further comprising instructions for causing the owner system to perform signature verification on the first BBS+ signature using the obtained public key associated with the issuer system.
제9항에 있어서,
상기 적어도 하나의 프로그램은,
검증자 시스템이 상기 소유자 시스템으로 VP 제출 요청을 전송하고,
상기 소유자 시스템이 상기 소유자 시스템과 연관된 제2 BBS+ 서명을 생성하고,
상기 소유자 시스템이 상기 VC에 포함된 각각의 클레임의 공개 여부를 결정하여 상기 소유자 시스템과 연관된 VP를 생성하고,
상기 소유자 시스템이 상기 제2 BBS+ 서명을 상기 생성된 VP와 연관시키고,
상기 소유자 시스템이 상기 제2 BBS+ 서명과 연관된 VP를 상기 검증자 시스템에 제공하도록 하기 위한 명령어들 더 포함하는 BBS+ 서명을 이용한 DID 기반의 서명 시스템.
According to claim 9,
The at least one program,
The validator system sends a VP submission request to the owner system;
the owner system generates a second BBS+ signature associated with the owner system;
the owner system determines whether to disclose each claim included in the VC to create a VP associated with the owner system;
the owner system associates the second BBS+ signature with the created VP;
The DID-based signature system using BBS+ signatures further comprising instructions for causing the owner system to provide the verifier system with a VP associated with the second BBS+ signature.
제10항에 있어서,
상기 적어도 하나의 프로그램은,
상기 검증자 시스템이 상기 제2 BBS+ 서명과 연관된 VP를 수신하는 것에 응답하여 블록체인 네트워크로부터 상기 소유자 시스템과 연관된 공개키 및 상기 발급자 시스템과 연관된 공개키를 획득하고,
상기 검증자 시스템이 상기 획득된 소유자 시스템과 연관된 공개키 및 상기 발급자 시스템과 연관된 공개키를 이용하여 상기 제1 BBS+ 서명 및 상기 제2 BBS+ 서명에 대한 서명 검증을 수행하도록 하기 위한 명령어들 더 포함하는 BBS+ 서명을 이용한 DID 기반의 서명 시스템.
According to claim 10,
The at least one program,
obtain a public key associated with the owner system and a public key associated with the issuer system from a blockchain network in response to the verifier system receiving the VP associated with the second BBS+ signature;
further comprising instructions for causing the verifier system to perform signature verification on the first BBS+ signature and the second BBS+ signature using the obtained public key associated with the owner system and the public key associated with the issuer system DID-based signature system using BBS+ signature.
제10항에 있어서,
상기 VC는 복수의 VC를 포함하고,
상기 적어도 하나의 프로그램은,
상기 소유자 시스템이 상기 복수의 VC를 결합하여, 상기 복수의 VC에 포함된 각각의 클레임의 공개 여부를 결정하여 상기 소유자 시스템과 연관된 VP를 생성하도록 하기 위한 명령어들 더 포함하는 BBS+ 서명을 이용한 DID 기반의 서명 시스템.
According to claim 10,
The VC includes a plurality of VCs,
The at least one program,
DID-based using a BBS+ signature further comprising instructions for allowing the owner system to combine the plurality of VCs, determine whether to disclose each claim included in the plurality of VCs, and generate a VP associated with the owner system 's signature system.
제10항에 있어서,
상기 적어도 하나의 프로그램은,
상기 소유자 시스템이 상기 검증자 시스템으로 논스 값 요청을 전송하고,
상기 논스 값 요청을 수신하는 것에 응답하여, 상기 검증자 시스템이 논스 값을 생성하고,
상기 검증자 시스템이 상기 소유자 시스템으로 상기 생성된 논스 값을 포함하는 VP 제출 요청을 전송하도록 하기 위한 명령어들 더 포함하는 BBS+ 서명을 이용한 DID 기반의 서명 시스템.
According to claim 10,
The at least one program,
the owner system sends a nonce value request to the verifier system;
In response to receiving the nonce value request, the verifier system generates a nonce value;
The DID-based signature system using BBS+ signatures further comprising instructions for causing the verifier system to send a VP submission request containing the generated nonce value to the owner system.
KR1020210181452A 2021-12-17 2021-12-17 Did-based signature method and system using bbs+ signature KR102677097B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210181452A KR102677097B1 (en) 2021-12-17 2021-12-17 Did-based signature method and system using bbs+ signature

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210181452A KR102677097B1 (en) 2021-12-17 2021-12-17 Did-based signature method and system using bbs+ signature

Publications (2)

Publication Number Publication Date
KR20230092233A true KR20230092233A (en) 2023-06-26
KR102677097B1 KR102677097B1 (en) 2024-06-20

Family

ID=86947512

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210181452A KR102677097B1 (en) 2021-12-17 2021-12-17 Did-based signature method and system using bbs+ signature

Country Status (1)

Country Link
KR (1) KR102677097B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200082638A (en) * 2018-12-31 2020-07-08 (주)케이사인 Method and System for Identifying and Tracking IoT Device based on Multi-dimensional Block Chain

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200082638A (en) * 2018-12-31 2020-07-08 (주)케이사인 Method and System for Identifying and Tracking IoT Device based on Multi-dimensional Block Chain

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Vasilis Kalos, Verifiable Credentials Selective Disclosure, Challenges and Solutions, ATHENS UNIVERTISY OF ECONOMICS AND BUSINESS, Master Thesis in Computer Science (2021.10.)* *

Also Published As

Publication number Publication date
KR102677097B1 (en) 2024-06-20

Similar Documents

Publication Publication Date Title
US20220321359A1 (en) Methods and systems for ownership verification using blockchain
CN110351096B (en) Multiple signature method, signature center, program medium, and electronic device
US20210049600A1 (en) Digital Asset Delivery Network
CN110601816B (en) Lightweight node control method and device in block chain system
CN107967557A (en) Reputation Evaluation System and method, electronic fare payment system are changed based on block chain
WO2018115567A1 (en) Method and apparatus for private data transfer between parties
CN109064324A (en) Method of commerce, electronic device and readable storage medium storing program for executing based on alliance's chain
CN116561789A (en) Processing method and device of privacy data, electronic equipment and readable storage medium
CN108876593A (en) A kind of online transaction method and apparatus
CN110336779B (en) Block chain construction method and device and electronic equipment
CN111767569A (en) Access authorization method and node of block chain
Li et al. Toward decentralized fair data trading based on blockchain
CN111178840A (en) Service processing method, device, system, electronic equipment and storage medium
CN112073196B (en) Service data processing method and device, electronic equipment and storage medium
CN115130140B (en) Safety joint analysis method for multi-party privacy data and financial privacy data
CN108737435A (en) A kind of account initial method and device
CN114792004A (en) Identity information processing method, equipment and system
Huang et al. An Anonymous Authentication System for Pay-As-You-Go Cloud Computing $^* $
Kansal et al. Efficient multi-signature scheme using lattice
CN117561508A (en) Cross-session issuance of verifiable credentials
Yang et al. Practical escrow protocol for bitcoin
Ni et al. Dual-anonymous off-line electronic cash for mobile payment
CN116975936B (en) Finance qualification proving method and finance qualification verifying method
KR102677097B1 (en) Did-based signature method and system using bbs+ signature
CN115860741A (en) Block chain data encryption verification method, device and system

Legal Events

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