[go: up one dir, main page]

KR102829377B1 - Method and system for forced tagging of third party opinion information included in VP (Verifiable Credential) - Google Patents

Method and system for forced tagging of third party opinion information included in VP (Verifiable Credential) Download PDF

Info

Publication number
KR102829377B1
KR102829377B1 KR1020220175216A KR20220175216A KR102829377B1 KR 102829377 B1 KR102829377 B1 KR 102829377B1 KR 1020220175216 A KR1020220175216 A KR 1020220175216A KR 20220175216 A KR20220175216 A KR 20220175216A KR 102829377 B1 KR102829377 B1 KR 102829377B1
Authority
KR
South Korea
Prior art keywords
issuer
verifier
generator
information
key
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
KR1020220175216A
Other languages
Korean (ko)
Other versions
KR20240092449A (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 KR1020220175216A priority Critical patent/KR102829377B1/en
Publication of KR20240092449A publication Critical patent/KR20240092449A/en
Application granted granted Critical
Publication of KR102829377B1 publication Critical patent/KR102829377B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/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/0822Key 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 key encryption key

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 DID 기술과 관련된 것으로, VC에 포함된 제3자의 평가 내용을 암호화하여 평가 대상인 VP 생성자가 보지 못하게 하고, 강제 태그를 부여하여 이를 포함해야만 VP가 검증될 수 있도록 한 VP에 포함되는 제3자 의견정보의 강제 태깅 방법에 관한 것이다.The present invention relates to DID technology, and relates to a method for mandatory tagging of third-party opinion information included in a VP, which encrypts the third-party evaluation content included in a VC so that the VP creator, who is the subject of the evaluation, cannot see it, and assigns a mandatory tag so that the VP can be verified only when it includes the tag.

Description

VP(Verifiable Credential)에 포함되는 제3자 의견정보의 강제 태깅 방법 {Method and system for forced tagging of third party opinion information included in VP (Verifiable Credential)}Method and system for forced tagging of third party opinion information included in VP (Verifiable Credential)

본 발명은 DID 기술과 관련된 것으로, 자세하게는 VC(Verifiable Credential, 이하 'VC'라함)에 포함된 제3자의 평가 내용을 암호화하여 평가 대상인 VP(Verifiable Credential, 이하 'VP'라함) 생성자가 보지 못하게 하고, 강제 태그를 부여하여 이를 포함해야만 VP가 검증될 수 있도록 한 VP에 포함되는 제3자 의견정보의 강제 태깅 방법에 관한 것이다.The present invention relates to DID technology, and more particularly, to a method for mandatory tagging of third-party opinion information included in a Verifiable Credential (hereinafter referred to as “VC”), which encrypts the third-party evaluation content included in the VC so that the creator of the Verifiable Credential (hereinafter referred to as “VP”), which is the subject of the evaluation, cannot see it, and assigns a mandatory tag so that the VP can be verified only if it includes the tag.

분산 식별자(Decentralized Identifiers, 이하 'DID'라 함)는 분산원장기술 또는 그 밖의 다른 분산 네트워크 기술을 활용하여 분산된 저장소에 등록함으로써 중앙집중화된(centralized) 서버와 같은 등록기관이 필요하지 않은 전역 고유 식별자를 의미하며, 블록체인 기술을 기반으로 구축한 전자신분증 시스템 등에 사용된다.Decentralized identifiers (hereinafter referred to as 'DIDs') are globally unique identifiers that do not require a centralized registration agency such as a server by registering in a distributed repository using distributed ledger technology or other distributed network technologies, and are used in electronic identification systems built on blockchain technology.

서비스제공 기관이 중앙에서 사용자의 디지털 신원을 관리하는 기존의 중앙화된 신원관리체계에서는, 사용자 ID와 이를 검증하기 위한 크리덴셜(credentials, 예. 패스워드)을 발행하고, 사용자 이름, 주소 등의 사용자 정보를 보유하며 관리하는 것이 일반적으로, 사용자 신원이 중앙 기관에 위임되어 관리됨에 따라 사용자는 중앙 기관이 관리하는 자신의 신원, 개인 데이터, 관련 속성 정보를 통제하기 어렵다. In existing centralized identity management systems where a service provider centrally manages a user's digital identity, it is common to issue a user ID and credentials (e.g. password) to verify the ID, and to retain and manage user information such as user name and address. Since the user identity is delegated to and managed by a central agency, it is difficult for the user to control his or her identity, personal data, and related attribute information managed by the central agency.

이에 반해 블록체인과 같은 분산 네트워크 기술을 사용하면 사용자 개인이 자신의 신원 정보를 관리할 수 있으며, 이를 분산 신원관리 시스템이라고 하고 이에 사용되는 식별자를 DID라 한다.In contrast, using distributed network technologies such as blockchain, individual users can manage their own identity information. This is called a distributed identity management system, and the identifier used for this is called DID.

구체적으로 지갑에서 주민등록증을 꺼내 신원을 증명하는 것과 같이 필요한 상황에 블록체인 지갑에서 DID를 제출하여 신원을 증명하도록 할 수 있으며, 기존의 신원 인증방식과 비교하여 신원확인 과정에서 개개인이 자기 정보에 완전한 통제권을 행사하는 것이 특징이다.Specifically, you can prove your identity by submitting your DID from your blockchain wallet in situations where it is necessary, such as taking out your resident registration card from your wallet to prove your identity. Compared to existing identity authentication methods, it is characterized by individuals exercising complete control over their own information during the identity verification process.

이때 경력을 검증하는 등의 용도인 VP에서, 경력 진위 검증을 요청하는 자를 평가하는 제3자의 의견이 포함될 수 있으며, 이러한 제3자의 의견이 경력 진위 검증을 요청하는 자에 대해서 부정적인 내용일 수도 있다. 이런 경우 경력 진위 검증 요청자가 이러한 내용을 확인할 수 없도록 하면서 제출과정에서 이러한 정보를 누락시키지 않도록 강제화하는 기술이 요구된다.At this time, in the VP for purposes such as verifying careers, the opinions of third parties evaluating the person requesting career verification may be included, and these third party opinions may contain negative content about the person requesting career verification. In this case, a technology is required to force the person requesting career verification to not omit this information during the submission process while preventing the person requesting career verification from confirming this content.

대한민국 등록특허 제10-2439879호 (2022.08.30)Republic of Korea Patent No. 10-2439879 (2022.08.30)

본 발명은 상기와 같은 문제를 해결하기 위하여 창출된 것으로, 본 발명의 목적은 VC에 포함된 제3자의 평가 내용을 암호화하여 평가 대상인 VP 생성자가 볼 수 없도록 하고, 강제 태그를 부여하여 이를 포함해야만 VP가 검증될 수 있도록 한 VP에 포함되는 제3자 의견정보의 강제 태깅 방법을 제공하는 것이다.The present invention was created to solve the above problems, and the purpose of the present invention is to provide a method for mandatory tagging of third-party opinion information included in a VP, which encrypts the third-party evaluation content included in a VC so that the VP creator, who is the subject of the evaluation, cannot view it, and assigns a mandatory tag so that the VP can be verified only if it includes the tag.

상기와 같은 목적을 위해 본 발명은 서버에 평가자와 VC발급자와 VP생성자 및 VP검증자가 등록되고 상기 VC발급자가 발급한 VC를 통해 상기 VP생성자가 VP를 생성하여 상기 VP검증자에게 제출하는 DID 기반에서 VP를 유포하는 검증인 특정 방법에 있어서, 상기 평가자가 상기 VP생성자에 대한 평가정보를 생성하여 암호화하고, 개인키를 통해 서명 후 상기 VC발급자에게 암호화된 평가정보와 암호키를 전송하는 단계; 상기 VP생성자의 요청에 따라 상기 VC발급자가 상기 암호화된 평가정보를 포함한 VP생성자의 개인정보를 개인키로 서명하여 VC를 발급하는 단계; VC발급자가 발급한 VC를 상기 VP생성자가 가공 후 개인키로 서명하여 VP를 생성하고 상기 VP검증자에게 VP를 제출하는 단계; 상기 VP검증자가 상기 평가자의 공개키를 통해 암호화된 평가정보에 대한 서명을 확인하고, 상기 VC발급자에게 상기 암호키를 요청하는 단계; 상기 VC발급자가 VP검증자의 공개키를 확인하고 상기 VP검증자의 공개키를 통해 암호화한 암호키를 상기 VP검증자에게 전달하는 단계; 상기 VP검증자가 전달된 암호키를 통해 암호화된 평가정보를 복호화하는 단계; 를 포함하는 것을 특징으로 한다.For the above purpose, the present invention provides a method for distributing a VP based on a DID in which an evaluator, a VC issuer, a VP generator, and a VP verifier are registered in a server, and the VP generator generates a VP through a VC issued by the VC issuer and submits the VP to the VP verifier, comprising the steps of: the evaluator generating evaluation information about the VP generator, encrypting it, signing it with a private key, and transmitting the encrypted evaluation information and an encryption key to the VC issuer; the VC issuer signing the personal information of the VP generator including the encrypted evaluation information with a private key at the request of the VP generator to issue a VC; the VP generator processing the VC issued by the VC issuer, signing it with a private key, generating a VP, and submitting the VP to the VP verifier; the VP verifier verifying the signature on the encrypted evaluation information with the public key of the evaluator, and requesting the encryption key from the VC issuer; It is characterized by including a step in which the VC issuer verifies the public key of the VP verifier and transmits an encryption key encrypted using the public key of the VP verifier to the VP verifier; a step in which the VP verifier decrypts the encrypted evaluation information using the transmitted encryption key.

이때 상기 VC를 발급하는 단계(S 120)에서, 대칭키를 이용하여 암호화가 이루어지고 암호키와 초기화 벡터를 함께 전송하는 것이 바람직하다.At this time, in the step of issuing the VC (S 120), it is preferable to perform encryption using a symmetric key and transmit the encryption key and initialization vector together.

본 발명을 통해 경력증명 등의 용도의 VP에서 VP생성자인 사용자를 평가하는 제3자의 의견이 포함되는 경우 이를 암호화하여 사용자가 볼 수 없도록 VP검증자에게 전달되며 이러한 내용을 강제 태그화하여 이를 포함 해야만 VP가 검증될 수 있다. 이를 통해 제3자의 평가가 수록된 효용성이 좋은 VP의 제공이 가능하며 이러한 평가정보 또한 검증에 활용하여 신상정보의 보안 및 검증성능을 향상시킬 수 있다.In the present invention, if a VP for the purpose of career verification, etc. includes a third party's opinion evaluating the user who created the VP, this is encrypted and transmitted to the VP verifier so that the user cannot see it, and this content is forcibly tagged so that the VP can be verified only if it is included. Through this, it is possible to provide a highly useful VP that includes a third party's evaluation, and this evaluation information can also be utilized for verification to improve the security and verification performance of personal information.

도 1은 본 발명의 개념도,
도 2는 본 발명의 실시예에 따른 플로우차트,
도 3은 본 발명의 실시예에 따른 프로토콜 설명도,
도 4는 본 발명의 실시예에 따른 구성 및 연결관계를 나타낸 블록도이다.
Figure 1 is a conceptual diagram of the present invention;
Figure 2 is a flow chart according to an embodiment of the present invention;
Figure 3 is a protocol description diagram according to an embodiment of the present invention.
Figure 4 is a block diagram showing the configuration and connection relationship according to an embodiment of the present invention.

이하 첨부된 도면을 참조하여 본 발명 VP에 포함되는 제3자 의견정보의 강제 태깅 방법을 구체적으로 설명한다.Referring to the attached drawings below, a method for mandatory tagging of third-party opinion information included in the VP of the present invention is specifically described.

도 1은 본 발명의 개념도, 도 2는 본 발명의 실시예에 따른 플로어차트, 도 3은 본 발명의 실시예에 따른 프로토콜 설명도이다.FIG. 1 is a conceptual diagram of the present invention, FIG. 2 is a flow chart according to an embodiment of the present invention, and FIG. 3 is a protocol explanatory diagram according to an embodiment of the present invention.

기본적인 DID의 개념에서 VC는 VC 발급자(did:sov:ABC1)가 VC 요청자(=VP생성자, did:sov:123)에게 발행하는 하는 것으로, Claim에 요청자의 property를 넣고 proof에 발급자 개인키로 서명한 서명값을 넣어서 발급한 확인이 가능한 인증서이다. 예를 들어 did:sov:123이 자신이 다녔던 회사 did:sov:ABC1에서 발급해준 경력증명서가 VC가 된다.In the basic DID concept, a VC is issued by a VC issuer (did:sov:ABC1) to a VC requester (=VP creator, did:sov:123), and is a verifiable certificate issued by putting the requester's property in the Claim and the signature value signed with the issuer's private key in the proof. For example, the career certificate issued to did:sov:123 by the company he worked for, did:sov:ABC1, becomes a VC.

VP는 did:sov:123이 자신의 경력증명서들(did:sov:ABC1, did:sov:ABC2...)로받은 VC들을 모아서 did:sov:123의 개인키로 서명하고 서명값을 proof에 넣은 인증서이다.VP is a certificate that did:sov:123 collects the VCs he received with his career certificates (did:sov:ABC1, did:sov:ABC2...), signs them with did:sov:123's private key, and puts the signature value in the proof.

본 발명에서는 VP생성자(did:sov:123)가 자신의 경력을 증명하기 위해서 구인회사(=VP검증자, did:sov:BCD)에 자신의 경력 증명서(VP)를 발급시 자신의 개인정보가 유출되지 않도록 하고 만약 개인정보가 유출되면 누가 유출했는지 추적 가능한 방안을 제시한다.In the present invention, a method is proposed to prevent personal information from being leaked when a VP generator (did:sov:123) issues a certificate of career (VP) to a recruiting company (=VP verifier, did:sov:BCD) to prove his/her career, and to trace who leaked the personal information if it is leaked.

이러한 DID는 블록체인을 기반으로 하며 3개의 주체인 VC발급자(A), VP생성자(B), VP검증자(C)의 각자 자신의 공개키를 등록하고 DID 주소를 부여받는 DID 생성과정을 전제로 한다.These DIDs are based on blockchain and are based on a DID creation process in which each of the three entities, a VC issuer (A), a VP creator (B), and a VP verifier (C), registers their own public keys and is assigned a DID address.

상기 VC발급자(A)는 Issuer(발행자)로서 이용자의 신원정보인 VC를 발행하는 주체이며, 정보주체인 이용자의 요구에 의해 신원정보와 DID를 발급하는 기관이다. 발행자는 발급한 정보에 대해 신뢰할 수 있는 신원 정보를 전달한다.The above VC issuer (A) is the Issuer, which is the entity that issues the VC, which is the user's identity information, and is an institution that issues identity information and DID at the request of the user, who is the information subject. The Issuer delivers reliable identity information for the information it issues.

상기 VP생성자(B)는 이용자, Holder(소유자)로서 신원정보를 소유한 주체이며, 정보주체로 DID를 활용하여 본인의 신원을 증명하고자 하는 이용자이다. 시스템에서 DID를 발급 받고 제출한다.The above VP creator (B) is a user, Holder, who owns the identity information and is a user who wants to prove his/her identity by using DID as the information subject. The system issues and submits a DID.

상기 VP검증자(Verifier)는 서비스제공자로, 신원정보를 검증하는 주체이다. 정보주체인 이용자로부터 VP를 받아 신원정보를 검증한다.The above VP Verifier is a service provider that verifies identity information. It receives VP from the user, who is the information subject, and verifies the identity information.

VP생성자(B)의 요청에 따라 VC발급자(A)가 VP생성자(B)의 신원정보가 포함된 자격증명인 VC를 VC발급자(A)의 개인키로 서명하여 발급하며, 이러한 서명 및 발급 내역이 블록체인에 저장된다.At the request of the VP generator (B), the VC issuer (A) issues a VC, which is a credential that includes the identity information of the VP generator (B), by signing it with the VC issuer's (A) private key, and the details of this signing and issuance are stored on the blockchain.

VP생성자(B)는 VC발급자(A)가 발급한 VC를 개인 단말기에 저장하며, 이 중 필요한 정보를 VP생성자(B)의 개인키로 서명하여 VP를 생성하여, VP검증자(C)에게 제출한다.The VP generator (B) stores the VC issued by the VC issuer (A) in a personal terminal, signs the necessary information with the VP generator's (B) private key to create a VP, and submits it to the VP verifier (C).

VP검증자(C)는 제출받은 VP를 통해 VC발급자, VP생성자의 정보와, VC발급자의 VC 발행사실을 블록체인을 통해 검증하는 것이 일반적인 DID의 개념이다.The general concept of DID is that the VP verifier (C) verifies the information of the VC issuer and VP creator through the submitted VP, and the fact that the VC issuer has issued the VC through the blockchain.

이때 VC는 Credential metadata, Claims(s), Proof(s)로 구성되며, Credential metadata에는 VC 발행주체, 명시하고 있는 객체, 만료기간, 폐기방법 등이 포함되고, Claim(s)에는 Credential subject의 ID속성에 대한 정보가 ' Subject-Property-Value ' 방식으로 저장된다. Proof(s)에는 VC에 대한 진위 검증에 필요한 값이 포함되어, 검증하는 주체는 VC의 Proof를 검증함으로써 해당 VC가 VC에 명시된 발행인으로부터 발행된 것인지 검증 가능하다.At this time, the VC consists of Credential metadata, Claims(s), and Proof(s). Credential metadata includes the VC issuer, the specified object, expiration period, disposal method, etc., and Claim(s) stores information about the ID attribute of the Credential subject in the 'Subject-Property-Value' format. Proof(s) contains values required to verify the authenticity of the VC, so the verifying subject can verify whether the VC was issued by the issuer specified in the VC by verifying the Proof of the VC.

VP는 Presentation Metadata, Verifiable Credential(s), Proof(s)로 구성되며, Presentation Metadata에는 해당 데이터가 VP라는 것을 명시한 type, 이용약관, evidence 등 VP 검증에 필요한 데이터를 포함하고, Verifiable Credential(s)는 검증인이 요구하는 ID 속성을 가진 VC를 선택하여 넣는 영역으로, VP생성자는 VP 검증인이 요구하는 ID 속성을 가진 Claim만 선택하여 넣어 프라이버시 보호가 이루어진다. Proof에는 VP생성자의 서명이 포함된다.VP consists of Presentation Metadata, Verifiable Credential(s), and Proof(s). Presentation Metadata includes data required for VP verification, such as type, terms of use, and evidence that specify that the data is a VP. Verifiable Credential(s) is an area where the verifier selects and enters VCs with ID attributes required by the verifier. The VP creator selects and enters only Claims with ID attributes required by the VP verifier, thereby protecting privacy. Proof includes the VP creator's signature.

이러한 종래의 DID 기반에서 본 발명은, VP생성자를 평가한 제3자(did:sov:CDE)의 평가정보를 암호화하여 VC에 포함시키며 VP생성자가 내용을 볼 수 없도록 암호화하여 VP검증자에게 전달될 수 있도록 하며 이를 강제 태그화하여 VP검증에 활용할 수 있도록 한다.Based on such conventional DID, the present invention encrypts the evaluation information of a third party (did:sov:CDE) that evaluated the VP generator and includes it in the VC, encrypts it so that the VP generator cannot view the contents, enables it to be transmitted to the VP verifier, and forcibly tags it so that it can be used for VP verification.

이에 본 발명은 서버에 평가자와 VC발급자와 VP생성자 및 VP검증자가 등록되고 상기 VC발급자가 발급한 VC를 통해 상기 VP생성자가 VP를 생성하여 상기 VP검증자에게 제출하는 DID 생성을 기본 전제로 한다.Accordingly, the present invention is based on the premise that an evaluator, a VC issuer, a VP generator, and a VP verifier are registered on a server, and a DID is created by the VP generator generating a VP through a VC issued by the VC issuer and submitting the VP to the VP verifier.

먼저, 평가자 단말기(110)를 통해 상기 평가자가 상기 VP생성자에 대한 평가정보를 생성하여 암호화하고, 개인키를 통해 서명 후 상기 VC발급자에게 암호화된 평가정보와 암호키를 전송하는 단계(S 110)가 수행된다.First, a step (S 110) is performed in which the evaluator generates evaluation information for the VP generator through the evaluator terminal (110), encrypts it, signs it using a private key, and then transmits the encrypted evaluation information and an encryption key to the VC issuer.

이때 평가정보는 JSON Web Encryption(jwe) 암호화되어 암호화된 평가정보와 암호키 및 IV(Initialization Vector, 초기화 벡터)를 VC발급자에게 전달한다.At this time, the evaluation information is encrypted using JSON Web Encryption (jwe) and the encrypted evaluation information, encryption key, and IV (Initialization Vector) are transmitted to the VC issuer.

다음 VC발급자 단말기(120)를 통해 암호화된 평가정보와 암호키를 전송받은 VC발급자는 상기 VP생성자의 요청에 따라 상기 VC발급자가 상기 암호화된 평가정보를 포함한 VP생성자의 개인정보를 개인키로 서명하여 VC를 발급하는 단계(S 120)를 수행한다.The VC issuer, which receives encrypted evaluation information and an encryption key through the VC issuer terminal (120), performs a step (S 120) of issuing a VC by signing the VP generator's personal information including the encrypted evaluation information with a private key at the request of the VP generator.

이때 상기 평가자가 암호화한 평가정보의 jwe를 서명한 값이 proof에 들어가며, 본 발명의 실시예에 따른 VC 형태는 다음과 같다.At this time, the value of the jwe signed by the evaluator of the encrypted evaluation information is entered into the proof, and the VC format according to the embodiment of the present invention is as follows.

......

“credentailSubject”:{“credentailSubject”:{

“id”: “did:sov:123”,“id”: “did:sov:123”,

“carrer1”: {“carrer1”: {

“companyName”:“...”“companyName”:“...”

“fromDate”:“...”“fromDate”: “...”

“toDate”:“....”“toDate”:“....”

“Project”:[{“name”:“....”, “role”:“....”.....}“Project”:[{“name”:“....”, “role”:“....”.....}

“eval”:jwe“eval”:jwe

“Proof”:{“Proof”:{

.... 생략, .... Omitted,

“3rdParty”: did:sov:CDE“3rdParty”: did:sov:CDE

“challenge”: .... “challenge”: ....

“keystorage”: URL or blockchain A,“keystorage”: URL or blockchain A,

“jws”: ... “jws”: ...

}}

}}

“Proof”:{“Proof”:{

.... 생략,.... Omitted,

type:...type:...

created:....created:....

“creator”: “bankCarrierOn”“creator”: “bankCarrierOn”

“verificationMethod”: “....”“verificationMethod”: “....”

“jws”:“....”“jws”:“....”

}}

},},

여기서 eval은 VP 생성자에 대한 평가정, 뱅크케리온(bankCarrierOn)은 VC 생성자를 의미한다. 생략된 내용은 .....으로 표시하였으며, 생략된 DID 관련 내용은 공지의 기술로서 본 발명의 취지가 흐려지는 것을 방지하고자 기존 DID와 동일한 내용은 생략한다.Here, eval means evaluation for the VP constructor, and bankCarrierOn means the VC constructor. Omitted content is indicated as ....., and omitted DID-related content is a known technology, and to prevent the purpose of the present invention from being obscured, content that is identical to the existing DID is omitted.

여기서 jwe의 내용은 다음과 같다.Here is the content of jwe:

“header” : { “alg”:공개키암호알고리즘“, enc”: 대칭키 암호 알고리즘“ },“header” : { “alg”: public key encryption algorithm “, enc”: symmetric key encryption algorithm “ },

“ciphertext” : “평판에 대한 암호문”“ciphertext” : “Ciphertext for reputation”

상기 챌린지값(challenge)이 포함되는 이유는 challenge를 가지고 keystorage에서 eval에 있는 jwe를 암호화할 때 사용한 암호키(encryption_key)와 IV값을 가져오며, 상기 암호키와 IV는 VC발급자의 공개키로 암호화되어 있어 VC발급자가 자신의 개인키로 복호화하고, 후술되는 바와 같이 VC발급자가가 보유한 암호키(encryption_key)와 IV를 VP검증자에게 보낼때는 VP에 있는 VP검증자의 공개키로 암호키(encryption_key)와 IV를 암호화하여 전달한다.The reason the above challenge value is included is that the encryption key and IV value used when encrypting jwe in eval in keystorage are retrieved using the challenge, and the encryption key and IV are encrypted with the public key of the VC issuer, so the VC issuer decrypts them with its private key, and as described later, when the VC issuer sends the encryption key and IV held by the VP verifier to the VP verifier, the encryption key and IV are encrypted with the public key of the VP verifier in the VP and then transmitted.

또한 credentailSubject에 있는 Proof는 평자가인 제3자(did:sov:CDE)가 암호화한 평가정보(eval)에 있는 jwe를 서명한 값이 들어간다.Additionally, the Proof in the credentailSubject contains the signed value of jwe in the encrypted evaluation information (eval) by a third party (did:sov:CDE).

상기 키스토리지는 오프체인(offchain)서버 또는 블록체인 네트워크가 될 수 있다. 블록체인 네트워크는 온(On)체인(Chain)으로, 온체인 상의 모든 거래 정보가 블록에 포함되며 기록된 거래는 영구적으로 제거할 수 없다. 자체 네트워크를 구성하고 블록체인내 모든 내역이 기록되고 모든 사용자에게 공개가 되기 때문에 높은 안정성을 지니고 있다.The above key storage can be an off-chain server or a blockchain network. The blockchain network is on-chain, and all transaction information on the on-chain is included in the block, and recorded transactions cannot be permanently deleted. It has high stability because it forms its own network and all records in the blockchain are recorded and disclosed to all users.

오프체인은 온체인과 반대로 블록체인에 직접 기록하는 방식이 아닌 특정한 거랜 내역을 블록체인이 아닌 독립된 외부에 기록한다. 합의과정이나 검증이 필요 없어서 온체인과는 다르게 빠른 처리가 가능하다. 핵심 데이터만을 블록체인에 기록하고 빠른 속도가 필요한 데이터는 블록체인이 아니라 DAPP 중앙 서버에 기록되며, 속도도 빠르고 비용이 저렴하다.Off-chain, unlike on-chain, records specific transaction details in an independent external location, not directly on the blockchain. Unlike on-chain, it can process quickly because it does not require a consensus process or verification. Only core data is recorded on the blockchain, and data that requires high speed is recorded on the DAPP central server, not the blockchain, and it is fast and inexpensive.

다음으로 VC발급자가 발급한 VC를 VP생성자가 VP생성자 단말기(130)를 통해 가공 후 개인키로 서명하여 VP를 생성하고 상기 VP검증자에게 VP를 제출하는 단계(S 130)가 수행된다. 이 과정에서 VC에 포함된 평가정보는 암호화되어 있으며 이에 대한 암호키와 IV는 VC발급자가 보유하고 있으므로 VP생성자는 내용을 확인할 수 없는 상태로 VP 생성이 이루어진다.Next, a step (S 130) is performed in which the VP generator processes the VC issued by the VC issuer through the VP generator terminal (130), signs it with a private key, creates a VP, and submits the VP to the VP verifier. In this process, the evaluation information included in the VC is encrypted, and the encryption key and IV for this are held by the VC issuer, so the VP is created without the VP generator being able to verify the contents.

본 발명의 실시예에서 VP의 형태는 다음과 같다.In an embodiment of the present invention, the form of VP is as follows.

credentialSubject:...eval, Proof..credentialSubject:...eval, Proof..

Proof:......Proof:......

다음은 VP검증자 단말기(140)를 통해 상기 VP검증자가 상기 평가자의 공개키를 통해 암호화된 평가정보에 대한 서명을 확인하고, 상기 VC발급자에게 상기 암호키를 요청하는 단계(S 140)이다. 즉 credentailSubject의 Proof 안의 3rdParty에서 평가자 DID를 통해 블록체인에서 평가자의 공개키를 확인하고, 평가자의 공개키로 jwe 서명을 확인하게 된다.The following is a step (S 140) in which the VP verifier verifies the signature on the encrypted evaluation information using the public key of the evaluator through the VP verifier terminal (140) and requests the encryption key from the VC issuer. That is, the public key of the evaluator is verified in the blockchain through the evaluator DID in the 3rd Party in the Proof of the credentailSubject, and the jwe signature is verified using the public key of the evaluator.

이후 상기 VP생성자에게 상기 암호키 및 IV를 요청하고, 이를 수신한 상기 VC발급자가 VP검증자의 공개키를 확인하고 이를 통해 암호화한 암호키를 상기 VP검증자에게 전달하는 단계(S 150)가 수행된다.Thereafter, a step (S 150) is performed in which the VP generator is requested to provide the encryption key and IV, and the VC issuer, which receives the encryption key and IV, verifies the public key of the VP verifier and transmits the encrypted encryption key to the VP verifier.

앞서 언급한 바와 같이 VC발급자는 challenge를 가지고 keystorage에서 VC발급자의 공개키로 암호화된 암호키(encryption_key)와 IV값을 가져오며, VC발급자는 자신의 개인키로 상기 암호키(encryption_key)와 IV를 VP검증자에게 보낼때는 VP에 있는 VP검증자의 공개키로 암호키(encryption_key)와 IV를 암호화하여 전달한다.As mentioned above, the VC issuer retrieves the encryption key and IV value encrypted with the VC issuer's public key from keystorage with the challenge, and when the VC issuer sends the encryption key and IV to the VP verifier with its private key, it encrypts the encryption key and IV with the VP verifier's public key in the VP and transmits them.

마지막으로 상기 VP검증자가 VC발급자로부터 전달받은 암호키를 통해 암호화된 평가정보를 복호화하는 단계(S 160)가 수행된다.Finally, a step (S 160) is performed in which the VP verifier decrypts the encrypted evaluation information using the encryption key received from the VC issuer.

도 4는 본 발명의 실시예에 따른 구성 및 연결관계를 나타낸 블록도로서, 본 발명에 따른 방법이 수행되는 각 주체가 소유한 단말기와 동작하는 네트워크 환경을 간략히 나타내고 있다.FIG. 4 is a block diagram showing a configuration and connection relationship according to an embodiment of the present invention, and briefly shows a terminal owned by each entity in which a method according to the present invention is performed and a network environment in which it operates.

기본적으로 상기 서버(150)는 네트워크를 통해 평가자 단말기(110)와, VC발급자 단말기(120)와, VP생성자 단말기(130) 및 VP검증자 단말기(140)와 유무선으로 통신 가능하도록 구성되며, 오프체인 서버 내지는 블록체인이 될 수 있다.Basically, the above server (150) is configured to be able to communicate with an evaluator terminal (110), a VC issuer terminal (120), a VP generator terminal (130), and a VP verifier terminal (140) via a network, either wired or wireless, and may be an off-chain server or a blockchain.

상기 평가자 단말기(110)는 VP생성자에 대한 평가를 수행하는 제3자가 사용하는 단말기로서 제3자라함은 앞서 언급한 바와 같이 VC 관련 VP생성자의 성적이나 근태 등을 평가할 수 있는 평가자가 될 수 있다. The above evaluator terminal (110) is a terminal used by a third party to perform an evaluation of a VP generator. As mentioned above, the third party may be an evaluator who can evaluate the performance or attendance of a VP generator related to VC.

상기 VC발급자 단말기(120)는 VC를 발급하는 주체에 의해 사용되는 단말기로 신원 인증이 완료된 사용자에 대해 자격 인증에 대한 데이터인 VC를 발급하며, 예를 들어, 공공기관을 비롯하여 사용자가 요구하는 각종 증빙서류를 발급하는 기업이나 기관일 수 있다.The above VC issuer terminal (120) is a terminal used by the entity issuing the VC and issues a VC, which is data for qualification authentication, to a user whose identity has been verified. For example, the terminal may be a public institution or a company or institution that issues various supporting documents requested by the user.

상기 VP생성자 단말기(130)는 VP를 생성하는 주체에 의해 사용되는 단말기로 정보의 주체가 되는 사용자가 소유한 단말기이다. 상기 VC발급자 단말기(110)로 VC의 발급요청을 비롯하여 발급된 VC를 통해 VP를 만들고 이에 따른 정보를 상기 서버(140)로 등록과 함께 VP를 상기 VP검증자 단말기(130)로 제출하는 역할을 한다.The above VP generator terminal (130) is a terminal used by the subject of generating the VP and is a terminal owned by the user who is the subject of the information. It has the role of requesting the issuance of a VC to the above VC issuer terminal (110), creating a VP through the issued VC, and registering the information thereon with the server (140) and submitting the VP to the above VP verifier terminal (130).

상기 VP검증자 단말기(140)는 VP를 검증하는 주체에 의해 사용되는 단말기로, 사용자의 신원 확인 데이터를 받고, 받은 신원 확인 데이터에 기반을 두어 신원 인증을 수행할 수 있는 기관의 단말이 될 수 있다. 블록체인 네트워크에 등록된 복호화 정보를 활용하여 사용자에 대한 검증을 수행할 수 있다.The above VP verifier terminal (140) is a terminal used by the entity verifying the VP, and can be a terminal of an institution that receives the user's identity verification data and performs identity authentication based on the received identity verification data. Verification of the user can be performed using the decryption information registered in the blockchain network.

상기 평가자 단말기(110)와, VC발급자 단말기(120)와, VP생성자 단말기(130) 및 VP검증자 단말기(140)는 네트워크를 통하여 원격지의 서버나 단말에 접속할 수 있는 컴퓨터로 구현될 수 있다. 예를 들어, 컴퓨터는 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(Desktop), 랩톱(Laptop) 등을 포함할 수 있다. 또한, 평가자 단말기(110) 및 VP생성자 단말기(130)는 네트워크를 통하여 원격지의 서버나 다른 단말기에 접속할 수 있는 단말로 스마트폰(smartphone), 스마트 패드(smartpad), 태블릿 PC(Table PC) 등과 같은 모든 종류의 휴대용 개인 단말 장치를 포함할 수 있다.The above-mentioned evaluator terminal (110), VC issuer terminal (120), VP generator terminal (130), and VP verifier terminal (140) may be implemented as a computer that can access a remote server or terminal via a network. For example, the computer may include a notebook, desktop, laptop, etc. equipped with a web browser. In addition, the evaluator terminal (110) and the VP generator terminal (130) may include all types of portable personal terminal devices such as a smartphone, a smartpad, a tablet PC, etc., as terminals that can access a remote server or other terminal via a network.

본 발명의 권리는 위에서 설명된 실시예에 한정되지 않고 청구범위에 기재된 바에 의해 정의되며, 본 발명의 분야에서 통상의 지식을 가진 자가 청구범위에 기재된 권리범위 내에서 다양한 변형과 개작을 할 수 있다는 것은 자명하다.The rights of the present invention are not limited to the embodiments described above, but are defined by what is described in the claims, and it is obvious that a person skilled in the art in the field of the present invention can make various modifications and adaptations within the scope of the rights described in the claims.

110: 평가자 단말기 120: VC발급자 단말기
130: VP생성자 단말기 140: VP검증자 단말기
150: 서버
110: Evaluator Terminal 120: VC Issuer Terminal
130: VP generator terminal 140: VP verifier terminal
150: Server

Claims (2)

서버에 평가자와 VC발급자와 VP생성자 및 VP검증자가 등록되고 상기 VC발급자가 발급한 VC를 통해 상기 VP생성자가 VP를 생성하여 상기 VP검증자에게 제출하는 DID 기반에서 VP를 유포하는 검증인 특정 방법에 있어서,
상기 평가자가 상기 VP생성자에 대한 평가정보를 생성하여 암호화하고, 개인키를 통해 서명 후 상기 VC발급자에게 암호화된 평가정보와 암호키를 전송하는 단계(S 110);
상기 VP생성자의 요청에 따라 상기 VC발급자가 상기 암호화된 평가정보를 포함한 VP생성자의 개인정보를 개인키로 서명하여 VC를 발급하는 단계(S 120);
VC발급자가 발급한 VC를 상기 VP생성자가 가공 후 개인키로 서명하여 VP를 생성하고 상기 VP검증자에게 VP를 제출하는 단계(S 130);
상기 VP검증자가 상기 평가자의 공개키를 통해 암호화된 평가정보에 대한 서명을 확인하고, 상기 VC발급자에게 상기 암호키를 요청하는 단계(S 140);
상기 VC발급자가 VP검증자의 공개키를 확인하고 상기 VP검증자의 공개키를 통해 암호화한 암호키를 상기 VP검증자에게 전달하는 단계(S 150);
상기 VP검증자가 전달된 암호키를 통해 암호화된 평가정보를 복호화하는 단계(S 160); 를 포함하는 것을 특징으로 하는 VP에 포함되는 제3자 의견정보의 강제 태깅 방법.
In a specific method of distributing VP based on DID, where an evaluator, a VC issuer, a VP generator, and a VP verifier are registered on a server, and the VP generator generates a VP through a VC issued by the VC issuer and submits it to the VP verifier,
A step (S 110) in which the evaluator creates evaluation information for the VP generator, encrypts it, signs it using a private key, and then transmits the encrypted evaluation information and an encryption key to the VC issuer;
A step (S 120) in which the VC issuer issues a VC by signing the VP generator's personal information, including the encrypted evaluation information, with a private key at the request of the VP generator;
Step (S 130) where the VP generator processes the VC issued by the VC issuer, signs it with a private key, creates a VP, and submits the VP to the VP verifier;
Step (S 140) where the VP verifier verifies the signature on the encrypted evaluation information through the public key of the evaluator and requests the encryption key from the VC issuer;
A step (S 150) in which the VC issuer verifies the public key of the VP verifier and transmits an encryption key encrypted using the public key of the VP verifier to the VP verifier;
A method for mandatory tagging of third-party opinion information included in a VP, characterized in that it includes a step (S 160) of decrypting encrypted evaluation information using a transmitted encryption key by the above VP verifier.
제1항에 있어서,
상기 VC를 발급하는 단계(S 120)에서, 대칭키를 이용하여 암호화가 이루어지고 암호키와 초기화 벡터를 함께 전송하는 것을 특징으로 하는 VP에 포함되는 제3자 의견정보의 강제 태깅 방법.
In the first paragraph,
A method for mandatory tagging of third-party opinion information included in a VP, characterized in that in the step of issuing the above VC (S 120), encryption is performed using a symmetric key and an encryption key and an initialization vector are transmitted together.
KR1020220175216A 2022-12-14 2022-12-14 Method and system for forced tagging of third party opinion information included in VP (Verifiable Credential) Active KR102829377B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220175216A KR102829377B1 (en) 2022-12-14 2022-12-14 Method and system for forced tagging of third party opinion information included in VP (Verifiable Credential)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220175216A KR102829377B1 (en) 2022-12-14 2022-12-14 Method and system for forced tagging of third party opinion information included in VP (Verifiable Credential)

Publications (2)

Publication Number Publication Date
KR20240092449A KR20240092449A (en) 2024-06-24
KR102829377B1 true KR102829377B1 (en) 2025-07-04

Family

ID=91712362

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220175216A Active KR102829377B1 (en) 2022-12-14 2022-12-14 Method and system for forced tagging of third party opinion information included in VP (Verifiable Credential)

Country Status (1)

Country Link
KR (1) KR102829377B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102734200B1 (en) * 2024-08-19 2024-11-25 (주)케이스마텍 Digital key service system based on Decentralized Identifier of block-chain and method thereof

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102439879B1 (en) 2022-04-28 2022-09-02 주식회사 잇다헬스케어 Blockchain-based identity authentication system and its operation method

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102739252B1 (en) * 2020-09-04 2024-12-05 주식회사 엘쏠텍 Fluid behavior analysis system based on artificial intelligent and method thereof

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102439879B1 (en) 2022-04-28 2022-09-02 주식회사 잇다헬스케어 Blockchain-based identity authentication system and its operation method

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
MEF Standard, "MEF 128", LSO API Security Profile(2022.07.31.)
Mpyana Mwamba Merlec, "A Consortium Blockchain-Based Secure and Trusted Electronic Portfolio Management Scheme". Sensors(2022.02.08.)

Also Published As

Publication number Publication date
KR20240092449A (en) 2024-06-24

Similar Documents

Publication Publication Date Title
US11818265B2 (en) Methods and systems for creating and recovering accounts using dynamic passwords
US11777726B2 (en) Methods and systems for recovering data using dynamic passwords
US10917246B2 (en) System and method for blockchain-based cross-entity authentication
CN111164594B (en) System and method for mapping a de-centralized identity to a real entity
US12165141B1 (en) Biometrics-based e-signatures for pre-authorization and acceptance transfer
US20210075589A1 (en) System and method for blockchain-based cross-entity authentication
EP3701668B1 (en) Methods for recording and sharing a digital identity of a user using distributed ledgers
US6539093B1 (en) Key ring organizer for an electronic business using public key infrastructure
EP3788522A1 (en) System and method for mapping decentralized identifiers to real-world entities
EP3556069A1 (en) System and method for securely processing an electronic identity
US10992683B2 (en) System and method for authenticating, storing, retrieving, and verifying documents
Shakan et al. Verification of university student and graduate data using blockchain technology
TW200402224A (en) Biometric private key infrastructure
US20220393882A1 (en) Secured private credential certificate
US20240187259A1 (en) Method and apparatus for generating, providing and distributing a trusted electronic record or certificate based on an electronic document relating to a user
CN114666168B (en) Decentralized identity certificate verification method and device, and electronic equipment
CN108022194A (en) Law-enforcing recorder and its data safety processing method, server and system
CN109981287A (en) A kind of code signature method and its storage medium
CN103281180B (en) User is protected to access the bill generation method of privacy in a kind of network service
KR102829377B1 (en) Method and system for forced tagging of third party opinion information included in VP (Verifiable Credential)
JP2000215280A (en) Identity certification system
CN119299100A (en) A method and system for the trusted circulation of precisely authorized data elements
US11496316B1 (en) System and method for identity verification for online dating
CN116305185A (en) Data processing method, system and computer readable storage medium
KR102827076B1 (en) Verifier specific method for distributing VP (Verifiable Credential)

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20221214

PA0201 Request for examination

Patent event code: PA02011R01I

Patent event date: 20221214

Comment text: Patent Application

PG1501 Laying open of application
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20241028

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20250624

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20250630

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20250701

End annual number: 3

Start annual number: 1

PG1601 Publication of registration