KR102173426B1 - Did 환경의 프라이버시 보호를 지원하는 공개키 인프라구조 기반 서명 및 검증 시스템과 방법 - Google Patents
Did 환경의 프라이버시 보호를 지원하는 공개키 인프라구조 기반 서명 및 검증 시스템과 방법 Download PDFInfo
- Publication number
- KR102173426B1 KR102173426B1 KR1020200083901A KR20200083901A KR102173426B1 KR 102173426 B1 KR102173426 B1 KR 102173426B1 KR 1020200083901 A KR1020200083901 A KR 1020200083901A KR 20200083901 A KR20200083901 A KR 20200083901A KR 102173426 B1 KR102173426 B1 KR 102173426B1
- Authority
- KR
- South Korea
- Prior art keywords
- verification
- agenda
- signature
- terminal
- contract
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key 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/0825—Key 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3218—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3263—Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
-
- H04L2209/38—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic 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)
- Power Engineering (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
DID 환경의 프라이버시 보호를 지원하는 공개키 인프라구조 기반 서명 및 검증 시스템과 방법이 개시된다. 본 발명의 일 측면에 따르면, 탈중앙화 신원증명(DID) 환경 하에서의 공개키 인프라구조 기반 서명 및 검증 시스템으로서, 공인인증서를 발행하는 인증자 단말; 개인의 동의를 구하는 안건을 상정하고, 증명하는 소지자 단말; 상기 안건에 대한 의사표현을 상기 공인인증서로 전자서명한 트랜잭션을 생성하는 발급자 단말; 상기 트랜잭션을 전송받아 집계하고 블록체인 저장소에 저장하며, 상기 안건의 카운팅된 수가 미리 설정된 조건을 만족하는 경우 서명을 검증하는 스마트 컨트랙트가 구현된 노드들을 포함하는 블록체인 네트워크; 및 상기 블록체인 네트워크로부터 상기 안건에 관한 서명 검증 결과를 수신하여 동의 내용을 검증하는 검증자 단말을 포함하는 탈중앙화 신원증명 환경 하에서의 공개키 인프라구조 기반 서명 및 검증 시스템이 제공된다.
Description
본 발명은 DID 환경의 서명 및 검증 시스템 및 방법에 관한 것으로, 보다 상세하게는 공개키 인프라구조에 기반하고 프라이버스 보호를 지원하는 공개키 인프라구조 기반 서명 및 검증 시스템 및 방법에 관한 것이다.
DID(Decentralized IDentity, 탈중앙화 신원증명)는 분산원장을 기반으로 SSI(Self Sovereign Identity, 자기주권신원)가 가능한 인증 기술이다.
도 1은 DID 시스템에 대한 개념도이다.
도 1을 참조하면, DID 시스템(1)은 다음과 같은 4가지 요소로 구성된다.
소지자(Holder)(20)는 증명하고자 하는 주체가 된다. 발급자(Issuer)(10)는 타인에게 입증할 수 있는 크리덴셜(Credential)을 소지자(20)에게 발행한다. 분산원장 혹은 블록체인(40)은 크리덴셜을 증명하는데 사용되는 데이터를 저장한다. 검증자(Verifier)(30)는 크리덴셜로부터 소지자(20)의 필요한 인증을 검증한다.
DID 시스템(1)에서는 소지자(20)와 검증자(30)가 직접적으로 통신하지 않고, 필요한 상황에서 소지자(20)가 사전에 발급받은 크리덴셜을 활용하여 검증자(30)에게 발급 사실을 증명할 수 있다. 검증자(30)는 블록체인(40)에 저장된 데이터와 소지자(20)가 제시한 크리덴셜로부터 인증할 사실을 검증한다.
이러한 DID 시스템은 자기 스스로 통제 가능한 인증 기술로 다양한 분야에서 활용될 가능성이 존재한다. 하지만, DID 시스템은 기본적으로 발급자의 신뢰를 가정하는 한계가 있다. 현재 DID 시스템에서 논의되는 발급자로는 주로 정부, 학교, 병원, 기관과 같은 공공 인프라를 대상으로 설계 및 발전되고 있다.
이러한 인프라를 대상으로 발전하여 발급자는 사회 평판, 공공 신뢰를 기반으로 하기에 신뢰할 수 있는 반면, 개인이 발급자가 되지는 못하는 한계가 있다.
본 발명은 DID 환경 하에서 개인이 유효한 발급자 역할을 수행하여 소지자가 개인의 동의를 얻어서 다수의 지지를 확보하는 시스템에 적용 가능한 DID 환경의 프라이버시 보호를 지원하는 공개키 인프라구조 기반 서명 및 검증 시스템과 방법을 제공하기 위한 것이다.
본 발명은 검열 저항성을 가지도록 구성하고, 계정을 다수 생성하여 공격하는 시빌 공격(Sybil attack)에 대응 가능하며, 프라이버시 문제를 해결한 DID 환경의 프라이버시 보호를 지원하는 공개키 인프라구조 기반 서명 및 검증 시스템과 방법을 제공하기 위한 것이다.
본 발명의 이외의 목적들은 하기의 설명을 통해 쉽게 이해될 수 있을 것이다.
본 발명의 일 측면에 따르면, 탈중앙화 신원증명(DID) 환경 하에서의 공개키 인프라구조 기반 서명 및 검증 시스템으로서, 공인인증서를 발행하는 인증자 단말; 개인의 동의를 구하는 안건을 상정하고, 증명하는 소지자 단말; 상기 안건에 대한 의사표현을 상기 공인인증서로 전자서명한 트랜잭션을 생성하는 발급자 단말; 상기 트랜잭션을 전송받아 집계하고 블록체인 저장소에 저장하며, 상기 안건의 카운팅된 수가 미리 설정된 조건을 만족하는 경우 서명을 검증하는 스마트 컨트랙트가 구현된 노드들을 포함하는 블록체인 네트워크; 및 상기 블록체인 네트워크로부터 상기 안건에 관한 서명 검증 결과를 수신하여 동의 내용을 검증하는 검증자 단말을 포함하는 탈중앙화 신원증명 환경 하에서의 공개키 인프라구조 기반 서명 및 검증 시스템이 제공된다.
상기 스마트 컨트랙트는, 상기 트랜잭션을 집계하는 집계 컨트랙트와; 상기 안건의 카운팅된 수가 상기 안건에 대해 미리 설정된 조건을 만족하는지 여부를 판단하는 안건 관리자 컨트랙트와; 상기 안건의 카운팅된 수가 미리 설정된 조건을 만족하는 경우 서명을 검증하는 검증 컨트랙트를 포함할 수 있다.
상기 스마트 컨트랙트는 상기 인증자 단말의 공개키와 하위 인증자 및 등록서버에 대한 공개키 서명 체인 구조로 이루어진 인증 체인 컨트랙트를 더 포함하되, 상기 검증 컨트랙트는 상기 인증 체인 컨트랙트로부터 전달된 상기 공개키로 상기 트랜잭션에 포함된 전자서명을 검증할 수 있다.
상기 발급자 단말은 비신뢰기관에 해당할 수 있다.
한편 본 발명의 다른 측면에 따르면, 탈중앙화 신원증명(DID) 환경 하에서 프라이버시를 보호하는 공개키 인프라구조 기반 서명 및 검증 시스템으로서, 공인인증서를 발행하는 인증자 단말; 개인의 동의를 구하는 안건을 상정하고, 증명하는 소지자 단말; 상기 안건에 대한 의사표현을 상기 공인인증서로 전자서명한 결과에 대해 영지식 증명(zero knowledge proof)에 따라 생성한 증명 정보를 포함하는 트랜잭션을 생성하는 발급자 단말; 상기 트랜잭션을 전송받아 집계하고 블록체인 저장소에 저장하며, 상기 안건의 카운팅된 수가 미리 설정된 조건을 만족하는 경우 상기 증명 정보를 검증하는 스마트 컨트랙트가 구현된 노드들을 포함하는 블록체인 네트워크; 및 상기 블록체인 네트워크로부터 상기 안건에 관한 서명 검증 결과를 수신하여 동의 내용을 검증하는 검증자 단말을 포함하는 탈중앙화 신원증명 환경 하에서 프라이버시를 보호하는 공개키 인프라구조 기반 서명 및 검증 시스템이 제공된다.
상기 영지식 증명에 따라 상기 안건에 대한 전자서명 결과를 검증하는 프로그램에 대해 증명 키 및 검증 키가 생성되며, 상기 발급자 단말은 상기 증명 키를 가지고 상기 증명 정보를 생성하고, 상기 스마트 컨트랙트는 상기 검증 키를 가지고 상기 증명 정보의 참 혹은 거짓을 확인할 수 있다.
상기 발급자 단말은 하기 증명 알고리즘에 따라 상기 증명 정보를 생성하고, 상기 스마트 컨트랙트를 상기 검증 알고리즘에 따라 상기 증명 정보의 참 혹은 거짓을 확인할 수 있다.
증명 알고리즘 : proof <- Prove(pk, w, x)
검증 알고리즘 : T/F <- Verify(vk, proof, x)
여기서, pk는 상기 증명 키, vk는 상기 검증 키, input x는 Certificate Chain, msg, commitment cm 이고, w는 Cert Signature이며, msg는 상기 안건에 해당하는 전문이고, Certificate Chain은 PKI 체계의 체인 구조의 인증서 검증 자료 구조이며, Cert Signature는 안건 msg에 발급자의 개인키로 서명한 값이고, commitment cm은 Cert Signature의 hash 값임.
한편 본 발명의 또 다른 측면에 따르면, 탈중앙화 신원증명(DID) 환경 하에서의 공개키 인프라구조 기반 서명 및 검증 시스템에서 수행되는 서명 및 검증 방법으로서, 소지자 단말이 안건을 공지하는 단계; 발급자 단말이 상기 안건에 대한 의사표현을 인증자 단말에서 발행한 공인인증서를 이용하여 전자서명한 트랜잭션을 블록체인 네트워크에 전송하는 단계; 상기 블록체인 네트워크의 집계 컨트랙트에서 상기 트랜잭션을 집계하고 블록체인 저장소에 저장하는 단계; 상기 안건에 대해 카운팅된 수를 안건 관리자 컨트랙트에 전달하는 단계; 상기 안건에 대해 미리 설정된 조건의 만족 여부를 검증 컨트랙트에 전달하는 단계; 상기 검증 컨트랙트는 상기 인증 체인 컨트랙트로부터 전달된 상기 공인인증서에 상응하는 공개키로 상기 트랜잭션에 포함된 전자서명을 검증하는 단계; 및 검증이 확인되면, 검증자 단말에게 전달하는 단계를 포함하는 탈중앙화 신원증명 환경 하에서의 공개키 인프라구조 기반 서명 및 검증 방법이 제공된다.
한편 본 발명의 또 다른 측면에 따르면, 탈중앙화 신원증명(DID) 환경 하에서의 공개키 인프라구조 기반 서명 및 검증 시스템에서 수행되는 서명 및 검증 방법으로서, 소지자 단말이 안건을 공지하는 단계; 발급자 단말이 상기 안건에 대한 의사표현을 인증자 단말에서 발행한 공인인증서를 이용하여 전자서명한 결과를 영지식 증명(zero knowledge proof)에 따라 생성한 증명 정보를 포함하는 트랜잭션을 블록체인 네트워크에 전송하는 단계; 상기 블록체인 네트워크의 집계 컨트랙트에서 상기 트랜잭션을 집계하고 블록체인 저장소에 저장하는 단계; 상기 안건에 대해 카운팅된 수를 안건 관리자 컨트랙트에 전달하는 단계; 상기 안건에 대해 미리 설정된 조건의 만족 여부를 검증 컨트랙트에 전달하는 단계; 상기 검증 컨트랙트는 상기 인증 체인 컨트랙트로부터 전달된 상기 공인인증서에 상응하는 공개키로 상기 트랜잭션에 포함된 증명 정보의 참 혹은 거짓 여부를 검증하는 단계; 및 검증이 확인되면, 검증자 단말에게 전달하는 단계를 포함하는 탈중앙화 신원증명 환경 하에서의 공개키 인프라구조 기반 서명 및 검증 방법이 제공된다.
전술한 것 외의 다른 측면, 특징, 이점이 이하의 도면, 특허청구범위 및 발명의 상세한 설명으로부터 명확해질 것이다.
본 발명의 실시예에 따르면, DID 환경 하에서 개인이 유효한 발급자 역할을 수행하여 소지자가 개인의 동의를 얻어서 다수의 지지를 확보하는 시스템에 적용 가능한 효과가 있다.
또한, 검열 저항성을 가지도록 구성하고, 계정을 다수 생성하여 공격하는 시빌 공격(Sybil attack)에 대응 가능하며, 프라이버시 문제를 해결한 효과도 있다.
도 1은 DID 시스템에 대한 개념도,
도 2는 본 발명의 일 실시예에 따른 DID 환경의 공개키 인프라구조 기반 서명 및 검증 시스템의 개념도,
도 3은 본 발명의 일 실시예에 따른 DID 환경의 공개키 인프라구조 기반 서명 및 검증 시스템에서 수행되는 발급자의 참여에서 검증자의 검증까지의 과정에 따른 데이터 흐름을 나타낸 도면,
도 4는 본 발명의 일 실시예에 따른 DID 환경의 공개키 인프라구조 기반 서명 및 검증 방법의 순서도,
도 5는 본 발명의 다른 실시예에 따른 DID 환경의 프라이버시 보호를 지원하는 공개키 인프라구조 기반 서명 및 검증 시스템의 개념 및 데이터 흐름을 나타낸 도면,
도 6은 영지식 증명 수행을 위한 파라미터 구성.
도 2는 본 발명의 일 실시예에 따른 DID 환경의 공개키 인프라구조 기반 서명 및 검증 시스템의 개념도,
도 3은 본 발명의 일 실시예에 따른 DID 환경의 공개키 인프라구조 기반 서명 및 검증 시스템에서 수행되는 발급자의 참여에서 검증자의 검증까지의 과정에 따른 데이터 흐름을 나타낸 도면,
도 4는 본 발명의 일 실시예에 따른 DID 환경의 공개키 인프라구조 기반 서명 및 검증 방법의 순서도,
도 5는 본 발명의 다른 실시예에 따른 DID 환경의 프라이버시 보호를 지원하는 공개키 인프라구조 기반 서명 및 검증 시스템의 개념 및 데이터 흐름을 나타낸 도면,
도 6은 영지식 증명 수행을 위한 파라미터 구성.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
본 명세서에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
또한, 각 도면을 참조하여 설명하는 실시예의 구성 요소가 해당 실시예에만 제한적으로 적용되는 것은 아니며, 본 발명의 기술적 사상이 유지되는 범위 내에서 다른 실시예에 포함되도록 구현될 수 있으며, 또한 별도의 설명이 생략될지라도 복수의 실시예가 통합된 하나의 실시예로 다시 구현될 수도 있음은 당연하다.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일하거나 관련된 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
또한, 명세서에 기재된 "…부", "…유닛", "…모듈", "…기" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
본 발명의 일 실시예에 따른 서명 및 검증 시스템 및 방법은 개인이 발급자가 되는 DID 시스템에 적용된다. 예를 들어, 국민 청원과 같이 개인의 동의를 얻어서 다수의 지지를 확보하는 시스템을 생각할 수 있다.
해당 시나리오에서는 개인이 발급자, 안건 제안자가 소지자, 안건을 승인하는 기관이 검증자의 역할이다. 소지자가 다수의 동의를 구하기 위한 안건을 상정하고, 발급자가 이에 대해 동의할 경우 개인의 서명을 생성하여 전달한다. 소지자는 검증자에게 몇 명의 발급자가 안건에 동의했는지를 증명한다.
하지만, 이러한 시스템을 운영할 때 다음의 문제점이 발생한다.
첫번째로 서명을 전달하는 소지자가 검증자를 속이거나, 검증자가 결과를 위변조하는 것과 같은 특정 기관의 검열이 있을 수 있다. 이의 방지를 위해 본 실시예에서는 블록체인으로 구성된 DID 환경에서는 안건의 내용과 진행 상태, 발급자가 서명한 결과, 검증자에게 전달될 내용까지 모두 공개적으로 처리하여 검열 저항성을 가지도록 구성할 수 있다. 블록체인에 저장되는 데이터가 위변조가 어려운 특성을 활영한다. 공인인증서에 익명 인증을 지원할 경우 기존에 중앙 집중 기관의 청원 시스템, 설문 조사 등에서 발생 가능한 검열을 예방할 수 있다. 기존의 동의 및 추천 시스템과 달리 안건 자체가 블록체인에 저장됨으로써, 특정 기관의 검열에 대응할 수 있다.
두번째로 계정을 다수 생성하여 공격하는 시빌 공격이 가능하다. 시빌 공격이란 한 명의 사용자가 다수의 계정을 생성하여 공격하는 것으로, 1인 1투표 원칙에 위배된다. 이 같은 방법은 공인인증서와 같은 국가적 공개키 인프라를 통해 해결할 수 있다. 개인당 실제 서명을 반영하여 1인 1투표 원칙 수행을 강제할 수 있다.
마지막으로 공인인증서를 활용한 서명 혹은 공개키 및 서명에 대한 내용을 직접적으로 분산원장(블록체인)에 저장하면 프라이버시 문제가 발생할 수 있다. 이는 누가 현 안건에 대하여 서명을 하였는지 공개되므로, 영지식 증명과 같은 프라이버시 보호 기술을 적용하여 안건에 대한 서명은 했으나 누구인지가 드러나지 않도록 검증할 필요가 있다. 이후 소지자는 현 안건에 대해 서명한 사람이 몇 명이나 되는지 등을 검증자에게 제출하여 검증 받을 때 드러나지 않도록 한다.
본 실시예는 위 3가지 요구사항을 만족시키기 위해 DID 환경의 프라이버시 보호를 지원하는 공개키 인프라구조 기반 서명 및 검증 시스템과 방법에 관한 것이다.
도 2는 본 발명의 일 실시예에 따른 DID 환경의 공개키 인프라구조 기반 서명 및 검증 시스템의 개념도이다.
도 2를 참조하면, 본 발명의 일 실시예에 따른 DID 환경의 공개키 인프라구조 기반 서명 및 검증 시스템(100)은 인증자 단말(PKI CA)(150), 발급자 단말(110), 소지자 단말(120), 검증자 단말(130), DID 저장소 혹은 블록체인 네트워크(140)를 포함한다.
DID 저장소(DID Repository)(140)는 블록체인 기반으로 구성되며, 인증 체인(Certificate Chain)(142), 집계 컨트랙트(Aggregator Contract)(144), 안건 관리자(Agenda Manager)(146), 검증 컨트랙트(Verifier Contract)(148)에 관한 스마트 컨트랙트가 구현되고 실행되는 복수의 노드들을 포함하는 블록체인 네트워크(140)일 수 있다.
본 실시예에서 인증자 단말(150), 발급자 단말(110), 소지자 단말(120), 검증자 단말(130)은 블록체인 네트워크(140)에 접속이 가능하고 소정의 프로그램(혹은 애플리케이션) 실행이 가능한 컴퓨팅 장치로서, 예를 들어 PC, 노트북, 태블릿PC, 스마트폰 등일 수 있다.
인증자 단말(150)은 공개키 인프라구조(PKI)를 가지는 인증서의 최상위 기관으로, 발급자 단말(110)에게 인증서를 발행한다. 인증자 단말(150)과 발급자 단말(110) 사이에는 별도의 등록서버(RA, Registration Authority)가 존재할 수 있다. 공개키 인프라구조에서의 검증서버(VA, Validation Authority)의 경우, 본 실시예에서는 블록체인 네트워크(140)의 스마트 컨트랙트로 대체하여 인증 체인 컨트랙트(142)로 검증하도록 한다.
발급자 단말(110)은 일반적인 DID 환경에서는 공공 인프라인 학교, 병원, 정부기관 등으로 신뢰기관(Trusted Party)가 되지만, 본 실시예에서는 비신뢰기관(non-Trusted Party)이 되도록 하여 개인이 발급자 단말(110)이 될 수 있도록 한다. 발급자 단말(110)은 신뢰성 확보를 위해 인증자 단말(150)로부터 발급받은 인증서로 서명한 결과를 블록체인 네트워크(140)에 저장한다.
소지자 단말(120)은 안건(Agenda)을 상정하고, 상정된 안건에 대해 몇 명의 발급자 단말(110)에 의한 동의가 이루어졌는지를 검증자 단말(130)에게 제출하여 증명할 수 있다. 검증자 단말(130)이 요구하는 별도의 안건을 사전에 상정할 수 있다. 또한, 발급자 단말(110)의 서명을 집계하여 검증자 단말(130)에게 전달하기 위한 사전 준비를 담당한다.
검증자 단말(130)은 안건에 대하여 발급자 단말(110)의 동의 여부를 검증함으로써, 추후 정책에 반영하기 전 안건의 사실 여부를 검증한다.
인증 체인 컨트랙트(142)는 공개키 인프라구조의 인증 경로(path)를 포함하는 체인으로, 발급자 단말(110)의 공개키 검증 시 필요한 인증자 단말(CA)과 등록서버(RA)의 공개키가 체인 구조를 가지고 이루어져 있다. 발급자 단말(110)의 서명 검증으로 필요한 공개키에 서명된 루트 인증자 단말(Root CA)의 공개키까지의 경로를 포함하는 스마트 컨트랙트이다.
집계 컨트랙트(144)는 안건에 대해 발급자 단말(110)의 의사와 서명을 포함하여 집계하기 위한 스마트 컨트랙트이다. 발급자 단말(110)의 서명을 포함하는 메타데이터를 관리한다.
안건 관리자 컨트랙트(146)는 안건을 관리하는 스마트 컨트랙트이다. 소지자 단말(120)이 상정한 안건에 식별자(예를 들어, 넘버)를 부여하고, 집계 컨트랙트(144)로부터 결과를 전달받아 안건의 최종 결정 여부를 검증 컨트랙트(148)에 전달한다.
검증 컨트랙트(148)는 검증자 단말(130)에게 부여되는 스마트 컨트랙트이다. 안건에 필요한 요건이 달성되었을 경우 검증 컨트랙트(148)로 자동 전송된다. 실제 검증자 단말(130)은 검증 컨트랙트(148)를 모니터링하고 있어, 컨트랙트에서 상태 변경이 있을 경우 자동으로 감지할 수 있도록 할 수 있다.
도 3은 본 발명의 일 실시예에 따른 DID 환경의 공개키 인프라구조 기반 서명 및 검증 시스템에서 수행되는 발급자의 참여에서 검증자의 검증까지의 과정에 따른 데이터 흐름을 나타낸 도면이고, 도 4는 본 발명의 일 실시예에 따른 DID 환경의 공개키 인프라구조 기반 서명 및 검증 방법의 순서도이다.
발급자의 참여에서 검증자의 검증까지의 과정에 따른 데이터 흐름이 도 3에 도시되어 있다.
사전 단계로 발급자 단말(110)은 인증자 단말(150)이 발행한 공인인증서를 가지고 있다. 공인인증서에는 인증자 단말(150)의 서명과 발급자 단말(110)의 공개키가 포함될 수 있다.
인증 체인 컨트랙트(142)는 인증자 단말(150)의 공개키와 하위 인증자 단말(CA) 및 등록서버(RA)에 대한 공개키 서명 체인 구조로 이루어져 있어, 발급자 단말(110)가 제시한 전자서명을 공개키로 검증할 때 검증서버(VA)를 대체하기 위해 필요한 정보를 가지고 있따.
발급자 단말(110)의 서명은 소지자 단말(120) 혹은 검증자 단말(130)을 비롯한 스마트 컨트랙트에서 검증 가능하며, 이로 인해 하나의 안건에 중복하여 서명하는 것이 불가능하도록 구현되어 시빌 공격을 예방할 수 있다.
소지자 단말(120)은 검증자 단말(130)에게 안건에 대한 발급자 단말(110)의 동의 내용을 제출할 수 있다. 이 때 블록체인 네트워크(140)의 기록과는 별개로 관련 웹사이트(50)에 내용을 공개하거나 이메일, 메시지 등의 수단으로 발급자들에게 공지하는 과정을 거쳐 발급자 단말(110)로부터 서명을 유도할 수 있다(단계 S200).
안건을 확인한 발급자 단말(110)은 자신의 의사 표현을 위해 블록체인 네트워크(140)에 트랜잭션(TX)을 전송한다(단계 S205). 트랜잭션(TX) 내에는 블록체인 계정의 서명(BC Signature) 내부에 메타데이터로 인증서의 서명(Cert Signature)이 포함될 수 있다. 트랙잭션(TX)은 집계 컨트랙트(144)로 전달된다.
집계 컨트랙트(144)에 집계된 서명은 블록체인 저장소(140)에 저장된다(단계 S210). 그리고 해당 안건의 카운팅된 수를 안건 관리자 컨트랙트(146)로 전달한다(단계 S215). 안건 관리자 컨트랙트(146)에서는 안건에 대해 사전 설정된 조건(예를 들어, N명 이상이 동의하였을 경우 검증자에게 알림)을 만족하는지의 여부를 검증 컨트랙트(148)로 전달한다(단계 S220).
인증서의 서명은 스마트 컨트랙트 내에서 검증을 구현할 수 있다. 검증 컨트랙트(148)는 인증 체인 컨트랙트(142)에 저장된 데이터를 가져와서 발급자 단말(110)의 공개키를 검증한다(단계 S225). 단계 S225는 컨트랙트 실행, 저장 비용과 같은 문제로 인해 오프체인(Off-chain)에서 검증할 수도 있다.
검증이 확인되면, 최종적으로 검증자 단말(130)에게 그 결과가 전달된다(단계 S230).
전술한 서명 및 검증 시스템(100)에서는 블록체인 네트워크(140)에 인증서 서명(Cert Signature)이 저장되기 때문에 누가 어떤 안건에 투표를 했는지 모두 드러나게 된다(도 3의 빨간색 부분을 추적할 경우 드러남).
따라서, 본 발명의 다른 실시예에서는 영지식 증명(Zero Knowledge proof)을 이용하여 이를 처리함으로써 몇 명이 투표했는지는 검증 가능하면서, 어떤 서명 정보도 드러나지 않도록 하여 프라이버시를 보호할 수 있게 한다.
도 5는 본 발명의 다른 실시예에 따른 DID 환경의 프라이버시 보호를 지원하는 공개키 인프라구조 기반 서명 및 검증 시스템의 개념 및 데이터 흐름을 나타낸 도면이고, 도 6은 영지식 증명 수행을 위한 파라미터 구성이다.
도 5를 참조하면, 본 발명의 다른 실시예에 따른 DID 환경의 프라이버시 보호를 위한 공개키 인프라구조 기반 서명 및 검증 시스템(100A)의 경우, 도 3에 도시된 시스템(100)과 비교할 때 프라이버시 보호를 위해 변경된 점을 중심으로 설명하기로 한다.
발급자 단말(110A)은 트랜잭션(TX)에 포함된 사용자(발급자 단말(110))를 나타내는 인증서 서명 메타데이터 대신에 증명(Proof) 정보로 대체한 트랙잭션(TX)을 생성하여 전송한다.
그리고 이를 수신한 집계 컨트랙트(144A)에서는 대응되는 주소에 증명 정보를 저장한다.
증명 정보의 검증은 검증 컨트랙트(148A)에서 검증하며, 최종 결과를 검증자 단말(130)에게 전달한다.
본 실시예에서는 증명 정보를 이용하는 영지식 증명의 수행을 위해 zk-SNARK(zero knowledge Succinct Non-intercative ARgument Knowledge) 기법을 사용할 수 있다. zk-SNARK은 NIZK의 한 종류로 도 6의 박스와 같은 형식을 따를 수 있다.
(1) pk, vk <- Keygen(1lamda, Prog) : Keygen 알고리즘(키 생성 알고리즘)은 보안강도(lamda) 설정과 프로그램(Prog)을 입력하여 pk, vk를 생성한다.
(2) proof <- Prove(pk, w, x) : Prove 알고리즘(증명 알고리즘)의 수행 결과로 proof를 생성한다.
(3) T/F <- Verify(vk, proof, x) : Verify 알고리즘(검증 알고리즘)의 수행 결과로 proof의 참/거짓을 판별한다.
이는 증명하여 실행하고자 하는 프로그램(Prog)에 대하여 생성된 증명 키(proving key) pk 및 검증 키(verification key) 파를 이용하여 수행된다.
증명자(Prover)는 pk를 가지고 proof를 생성하고, 검증자 단말(Verifier)는 vk와 proof를 가지고 proof의 참/거짓 여부를 확인한다. 본 실시예에서 증명자(Prover)는 발급자 단말(110)에 대응되고, 검증자 단말(Verifier)는 검증 컨트랙트(148)에 대응된다. 증명 알고리즘은 발급자 단말(110)에 구현되고, 검증 알고리즘()은 검증 컨트랙트(148)에 구현될 수 있다.
하나의 프로그램(본 명세서에서는 안건)에 대해서 증명 및 검증할 때 동일한 pk와 vk를 반복 활용할 수 있다.
Prove()와 Verify()를 구현한 시스템은 인증 체인 컨트랙트(142)의 경로에 근거하여 발급자 단말(110)의 인증서 서명을 검증할 수 있다는 사실을 증명하는데 활용된다. 이때 사전에 인증서 서명의 해쉬(hash) 값을 약정값(commitment)으로 하여 블록체인 네트워크(140)에 저장하는 것이 요구된다.
proof(증명 정보)를 생성하는 Prove()에서 인자 값은 증명 키 pk와 목격정보 w, 입력 x를 포함한다. proof가 참인지 거짓인지를 판별하는 Verify()의 입력은 검증 키 vk, 발급자가 증명한 proof, 전달받은 입력 x를 포함한다. proof의 진실 여부에 따라 참(True) 혹은 거짓(False) 이외의 결과는 검증자가 알 수 없는 영지식 증명 시스템이다.
본 실시예에 따른 영지식 증명 시스템에서는 도 6의 하단과 같이 파라미터들이 정의될 수 있다.
msg는 안건에 해당하는 전문이고, Certificate Chain은 공인인증서와 같은 PKI 체계의 체인 구조의 인증서 검증 자료 구조이다. Cert Signature는 안건 msg에 발급자의 개인키로 서명한 값이고, Commitment cm은 Cert Signature의 hash 값이다. Prog는 Certificate Chain에 속한 공개키로 안건에 서명된 Cert Signature를 검증하는 프로그램이고, Input x는 Certificate Chain, msg, commitment cm 이다. 그리고 Witness w는 Cert Signature이다.
본 실시예에 따르면, 다음과 같은 조건을 만족할 수 있다.
건실성(Soundness) : 신뢰기관에 의해 블록체인에 저장된 인증 체인에 의해 발급자가 인증되지 않은 임의의 개인키로 서명을 할 경우 증명 정보(proof)는 검증에 실패함
완전성(Completeness) : 검증자는 증명 정보로부터 발급자가 안건에 투표했다는 사실에 대한 확신이 가능함
영지식성(Zero Knowledgeness) : 검증자는 증명 정보로부터 누가 안건에 서명했는지 알 수 없음
본 실시예에 따른 서명 및 검증 시스템은 일례로 국민 청원 시스템에 응용할 수 있다. 현재의 국민 청원 시스템은 공인인증서와 같은 인증 체계가 연계되지 않아 중복 투표가 가능할 뿐 아니라, 중앙화된 시스템으로 검열 저항성을 가지지 않는다. 이를 해결하기 위해 도 3에 도시된 시스템 및 프라이버시 보호 기능을 추가한 도 5에 도시된 시스템을 적용할 수 있을 것이다.
또한, 설문 조사 시스템에 응용할 수 있다. 현재의 설문 조사 시스템은 특정 기관에 의해 수행된 결과로 이를 검증할 수 있는 방법이 없다. 그리고 조사 기관에 의한 검열이 가능한 상황이다. 따라서, 본 실시예들에 대한 시스템은 이러한 문제를 해결할 수 있다.
또한, 개인 추천 시스템에도 응용할 수 있다. 현재의 추천 시스템(예를 들어, 링크드인(linkedin)의 추천 시스템)은 특정 인물에 대한 추천에 제한되며, 다수가 인정한 추천임을 검증하기가 쉽지 않다. 본 실시예들에 따를 경우 다수의 개인으로부터 인정받은 사실을 증명하기에 용이하게 될 것이다.
전술한 공개키 인프라구조 기반 서명 및 검증 방법은, 컴퓨터에 의해 실행되는 애플리케이션이나 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독 가능 매체는 컴퓨터 저장 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다.
전술한 공개키 인프라구조 기반 서명 및 검증 방법은, 단말기에 기본적으로 설치된 애플리케이션(이는 단말기에 기본적으로 탑재된 플랫폼이나 운영체제 등에 포함된 프로그램을 포함할 수 있음)에 의해 실행될 수 있고, 사용자가 애플리케이션 스토어 서버, 애플리케이션 또는 해당 서비스와 관련된 웹 서버 등의 애플리케이션 제공 서버를 통해 마스터 단말기에 직접 설치한 애플리케이션(즉, 프로그램)에 의해 실행될 수도 있다. 이러한 의미에서, 전술한 공개키 인프라구조 기반 서명 및 검증 방법은 단말기에 기본적으로 설치되거나 사용자에 의해 직접 설치된 애플리케이션(즉, 프로그램)으로 구현되고 단말기 등의 컴퓨터로 읽을 수 있는 기록매체에 기록될 수 있다.
상기에서는 본 발명의 실시예를 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
1: DID 시스템 10: 발급자
20: 소지자 30: 검증자
40: 블록체인
100, 100A: 공개키 인프라구조 기반 서명 및 검증 시스템
110, 110A: 발급자 120: 소지자
130: 검증자 140: 블록체인
142: 인증 체인 컨트랙트 144, 144A: 집계 컨트랙트
146: 안건 관리자 컨트랙트 148, 148A: 검증 컨트랙트
150: 인증자
20: 소지자 30: 검증자
40: 블록체인
100, 100A: 공개키 인프라구조 기반 서명 및 검증 시스템
110, 110A: 발급자 120: 소지자
130: 검증자 140: 블록체인
142: 인증 체인 컨트랙트 144, 144A: 집계 컨트랙트
146: 안건 관리자 컨트랙트 148, 148A: 검증 컨트랙트
150: 인증자
Claims (9)
- 탈중앙화 신원증명(DID) 환경 하에서의 공개키 인프라구조 기반 서명 및 검증 시스템으로서,
공인인증서를 발행하는 인증자 단말;
개인의 동의를 구하는 안건을 상정하고, 상기 안건에 대한 동의 내용을 제출하게 하는 소지자 단말;
상기 안건에 대한 의사표현을 상기 공인인증서로 전자서명한 트랜잭션을 생성하는 발급자 단말;
상기 트랜잭션을 전송받아 집계하고 블록체인 저장소에 저장하며, 상기 안건의 카운팅된 수가 미리 설정된 조건을 만족하는 경우 서명을 검증하는 스마트 컨트랙트가 구현된 노드들을 포함하는 블록체인 네트워크; 및
상기 블록체인 네트워크로부터 상기 안건에 관한 서명 검증 결과를 수신하여 상기 동의 내용을 검증하는 검증자 단말을 포함하는 탈중앙화 신원증명 환경 하에서의 공개키 인프라구조 기반 서명 및 검증 시스템.
- 제1항에 있어서,
상기 스마트 컨트랙트는,
상기 트랜잭션을 집계하는 집계 컨트랙트와;
상기 안건의 카운팅된 수가 상기 안건에 대해 미리 설정된 조건을 만족하는지 여부를 판단하는 안건 관리자 컨트랙트와;
상기 안건의 카운팅된 수가 미리 설정된 조건을 만족하는 경우 서명을 검증하는 검증 컨트랙트를 포함하는 것을 특징으로 하는 탈중앙화 신원증명 환경 하에서의 공개키 인프라구조 기반 서명 및 검증 시스템.
- 제2항에 있어서,
상기 스마트 컨트랙트는 상기 인증자 단말의 공개키와 하위 인증자 및 등록서버에 대한 공개키 서명 체인 구조로 이루어진 인증 체인 컨트랙트를 더 포함하되,
상기 검증 컨트랙트는 상기 인증 체인 컨트랙트로부터 전달된 상기 공개키로 상기 트랜잭션에 포함된 전자서명을 검증하는 것을 특징으로 하는 탈중앙화 신원증명 환경 하에서의 공개키 인프라구조 기반 서명 및 검증 시스템.
- 제1항에 있어서,
상기 발급자 단말은 비신뢰기관에 해당하는 것을 특징으로 하는 탈중앙화 신원증명 환경 하에서의 공개키 인프라구조 기반 서명 및 검증 시스템.
- 탈중앙화 신원증명(DID) 환경 하에서 프라이버시를 보호하는 공개키 인프라구조 기반 서명 및 검증 시스템으로서,
공인인증서를 발행하는 인증자 단말;
개인의 동의를 구하는 안건을 상정하고, 상기 안건에 대한 동의 내용을 제출하게 하는 소지자 단말;
상기 안건에 대한 의사표현을 상기 공인인증서로 전자서명한 결과에 대해 영지식 증명(zero knowledge proof)에 따라 생성한 증명 정보를 포함하는 트랜잭션을 생성하는 발급자 단말;
상기 트랜잭션을 전송받아 집계하고 블록체인 저장소에 저장하며, 상기 안건의 카운팅된 수가 미리 설정된 조건을 만족하는 경우 상기 증명 정보를 검증하는 스마트 컨트랙트가 구현된 노드들을 포함하는 블록체인 네트워크; 및
상기 블록체인 네트워크로부터 상기 안건에 관한 서명 검증 결과를 수신하여 상기 동의 내용을 검증하는 검증자 단말을 포함하는 탈중앙화 신원증명 환경 하에서 프라이버시를 보호하는 공개키 인프라구조 기반 서명 및 검증 시스템.
- 제5항에 있어서,
상기 영지식 증명에 따라 상기 안건에 대한 전자서명 결과를 검증하는 프로그램에 대해 증명 키 및 검증 키가 생성되며,
상기 발급자 단말은 상기 증명 키를 가지고 상기 증명 정보를 생성하고,
상기 스마트 컨트랙트는 상기 검증 키를 가지고 상기 증명 정보의 참 혹은 거짓을 확인하는 것을 특징으로 하는 탈중앙화 신원증명 환경 하에서 프라이버시를 보호하는 공개키 인프라구조 기반 서명 및 검증 시스템.
- 제6항에 있어서,
상기 발급자 단말은 하기 증명 알고리즘에 따라 상기 증명 정보를 생성하고, 상기 스마트 컨트랙트를 하기 검증 알고리즘에 따라 상기 증명 정보의 참 혹은 거짓을 확인하는 것을 특징으로 하는 탈중앙화 신원증명 환경 하에서 프라이버시를 보호하는 공개키 인프라구조 기반 서명 및 검증 시스템.
증명 알고리즘 : proof <- Prove(pk, w, x)
검증 알고리즘 : T/F <- Verify(vk, proof, x)
여기서, pk는 상기 증명 키, vk는 상기 검증 키, input x는 Certificate Chain, msg, commitment cm 이고, w는 Cert Signature이며, msg는 상기 안건에 해당하는 전문이고, Certificate Chain은 PKI 체계의 체인 구조의 인증서 검증 자료 구조이며, Cert Signature는 안건 msg에 발급자의 개인키로 서명한 값이고, commitment cm은 Cert Signature의 hash 값임.
- 탈중앙화 신원증명(DID) 환경 하에서의 공개키 인프라구조 기반 서명 및 검증 시스템에서 수행되는 서명 및 검증 방법으로서,
소지자 단말이 안건을 공지하는 단계;
발급자 단말이 상기 안건에 대한 의사표현을 인증자 단말에서 발행한 공인인증서를 이용하여 전자서명한 트랜잭션을 블록체인 네트워크에 전송하는 단계;
상기 블록체인 네트워크의 집계 컨트랙트에서 상기 트랜잭션을 집계하고 블록체인 저장소에 저장하는 단계;
상기 안건에 대해 카운팅된 수를 안건 관리자 컨트랙트에 전달하는 단계;
상기 안건에 대해 미리 설정된 조건의 만족 여부를 검증 컨트랙트에 전달하는 단계;
상기 검증 컨트랙트는 인증 체인 컨트랙트로부터 전달된 상기 공인인증서에 상응하는 공개키로 상기 트랜잭션에 포함된 전자서명을 검증하는 단계; 및
검증이 확인되면, 검증자 단말에게 전달하는 단계를 포함하는 탈중앙화 신원증명 환경 하에서의 공개키 인프라구조 기반 서명 및 검증 방법.
- 탈중앙화 신원증명(DID) 환경 하에서의 공개키 인프라구조 기반 서명 및 검증 시스템에서 수행되는 서명 및 검증 방법으로서,
소지자 단말이 안건을 공지하는 단계;
발급자 단말이 상기 안건에 대한 의사표현을 인증자 단말에서 발행한 공인인증서를 이용하여 전자서명한 결과를 영지식 증명(zero knowledge proof)에 따라 생성한 증명 정보를 포함하는 트랜잭션을 블록체인 네트워크에 전송하는 단계;
상기 블록체인 네트워크의 집계 컨트랙트에서 상기 트랜잭션을 집계하고 블록체인 저장소에 저장하는 단계;
상기 안건에 대해 카운팅된 수를 안건 관리자 컨트랙트에 전달하는 단계;
상기 안건에 대해 미리 설정된 조건의 만족 여부를 검증 컨트랙트에 전달하는 단계;
상기 검증 컨트랙트는 인증 체인 컨트랙트로부터 전달된 상기 공인인증서에 상응하는 공개키로 상기 트랜잭션에 포함된 증명 정보의 참 혹은 거짓 여부를 검증하는 단계; 및
검증이 확인되면, 검증자 단말에게 전달하는 단계를 포함하는 탈중앙화 신원증명 환경 하에서의 공개키 인프라구조 기반 서명 및 검증 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200083901A KR102173426B1 (ko) | 2020-07-08 | 2020-07-08 | Did 환경의 프라이버시 보호를 지원하는 공개키 인프라구조 기반 서명 및 검증 시스템과 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200083901A KR102173426B1 (ko) | 2020-07-08 | 2020-07-08 | Did 환경의 프라이버시 보호를 지원하는 공개키 인프라구조 기반 서명 및 검증 시스템과 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102173426B1 true KR102173426B1 (ko) | 2020-11-03 |
Family
ID=73197858
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200083901A KR102173426B1 (ko) | 2020-07-08 | 2020-07-08 | Did 환경의 프라이버시 보호를 지원하는 공개키 인프라구조 기반 서명 및 검증 시스템과 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102173426B1 (ko) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113094748A (zh) * | 2021-04-20 | 2021-07-09 | 西安交通大学 | 一种基于区块链的可认证匿名电商评价机制的实现方法 |
KR102303253B1 (ko) * | 2021-03-15 | 2021-09-17 | 주식회사 에프원시큐리티 | 블록체인 플랫폼 사용주체의 분산식별자 관리 시스템 |
KR102303254B1 (ko) * | 2021-03-09 | 2021-09-17 | 주식회사 에프원시큐리티 | 스마트홈 환경 블록체인 분산식별자 인증 시스템 |
CN113553621A (zh) * | 2021-07-28 | 2021-10-26 | 徐丹梅 | 一种自我主权身份***及方法 |
CN113610528A (zh) * | 2021-08-24 | 2021-11-05 | 上海点融信息科技有限责任公司 | 基于区块链的管理***、方法、设备及存储介质 |
KR102323755B1 (ko) * | 2020-11-23 | 2021-11-09 | 부산대학교 산학협력단 | 프라이버시 블록체인 플랫폼 기반 물류 방법 및 물류 시스템 |
CN113806699A (zh) * | 2021-09-30 | 2021-12-17 | 中国人民解放军国防科技大学 | 一种云际计算环境中跨区块链身份验证方法及*** |
KR102348401B1 (ko) * | 2021-04-30 | 2022-01-07 | (주)헥슬란트 | Did 서명 및 검증을 이용한 임계 서명 시스템과 방법 |
CN113935072A (zh) * | 2021-09-26 | 2022-01-14 | 网易(杭州)网络有限公司 | 发行者注册方法、装置、计算机设备及存储介质 |
WO2022107949A1 (ko) * | 2020-11-20 | 2022-05-27 | 서울외국어대학원대학교 산학협력단 | 디지털 id 보관 및 연계 서비스 모델 |
WO2022149816A1 (ko) * | 2021-01-06 | 2022-07-14 | 이화여자대학교 산학협력단 | 블록체인 기반 법인did 서비스 제공 시스템 및 방법 |
WO2023277556A1 (ko) * | 2021-06-30 | 2023-01-05 | 주식회사 아티프렌즈 | Did를 이용한 개인정보의 인증 및 식별 시스템과 그 방법 |
WO2023120842A1 (ko) * | 2021-12-22 | 2023-06-29 | 주식회사 테사 | 실물자산의 매각 시스템 |
KR20230148110A (ko) | 2022-04-15 | 2023-10-24 | 주식회사 아티프렌즈 | 블록체인에서 이중 체인 구조를 통한 블록 데이터 생성속도 증진 방법 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190023894A (ko) * | 2017-08-30 | 2019-03-08 | 세종대학교산학협력단 | 전자 투표 시스템 및 방법 |
KR20190076535A (ko) * | 2017-12-22 | 2019-07-02 | 충남대학교산학협력단 | 블록체인을 이용한 익명 투표 시스템 및 그 방법 |
KR20190120474A (ko) * | 2018-04-16 | 2019-10-24 | (주)마켓디자이너스 | 트랜잭션 처리 방법 및 장치 |
KR20200013206A (ko) * | 2018-07-29 | 2020-02-06 | 임장순 | 블록체인 기반의 화물운송예약시스템 및 화물운송예약방법 |
-
2020
- 2020-07-08 KR KR1020200083901A patent/KR102173426B1/ko active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190023894A (ko) * | 2017-08-30 | 2019-03-08 | 세종대학교산학협력단 | 전자 투표 시스템 및 방법 |
KR20190076535A (ko) * | 2017-12-22 | 2019-07-02 | 충남대학교산학협력단 | 블록체인을 이용한 익명 투표 시스템 및 그 방법 |
KR20190120474A (ko) * | 2018-04-16 | 2019-10-24 | (주)마켓디자이너스 | 트랜잭션 처리 방법 및 장치 |
KR20200013206A (ko) * | 2018-07-29 | 2020-02-06 | 임장순 | 블록체인 기반의 화물운송예약시스템 및 화물운송예약방법 |
Non-Patent Citations (1)
Title |
---|
미국공개특허 US 2019-0164157 (2019.05.30. 공개) - Transaction authorization process using blockchain |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022107949A1 (ko) * | 2020-11-20 | 2022-05-27 | 서울외국어대학원대학교 산학협력단 | 디지털 id 보관 및 연계 서비스 모델 |
KR102323755B1 (ko) * | 2020-11-23 | 2021-11-09 | 부산대학교 산학협력단 | 프라이버시 블록체인 플랫폼 기반 물류 방법 및 물류 시스템 |
WO2022107971A1 (ko) * | 2020-11-23 | 2022-05-27 | 부산대학교 산학협력단 | 프라이버시 블록체인 플랫폼 기반 물류 방법 및 물류 시스템 |
WO2022149816A1 (ko) * | 2021-01-06 | 2022-07-14 | 이화여자대학교 산학협력단 | 블록체인 기반 법인did 서비스 제공 시스템 및 방법 |
KR102303254B1 (ko) * | 2021-03-09 | 2021-09-17 | 주식회사 에프원시큐리티 | 스마트홈 환경 블록체인 분산식별자 인증 시스템 |
KR102303253B1 (ko) * | 2021-03-15 | 2021-09-17 | 주식회사 에프원시큐리티 | 블록체인 플랫폼 사용주체의 분산식별자 관리 시스템 |
CN113094748A (zh) * | 2021-04-20 | 2021-07-09 | 西安交通大学 | 一种基于区块链的可认证匿名电商评价机制的实现方法 |
CN113094748B (zh) * | 2021-04-20 | 2024-01-19 | 西安交通大学 | 一种基于区块链的可认证匿名电商评价机制的实现方法 |
KR102348401B1 (ko) * | 2021-04-30 | 2022-01-07 | (주)헥슬란트 | Did 서명 및 검증을 이용한 임계 서명 시스템과 방법 |
WO2023277556A1 (ko) * | 2021-06-30 | 2023-01-05 | 주식회사 아티프렌즈 | Did를 이용한 개인정보의 인증 및 식별 시스템과 그 방법 |
CN113553621A (zh) * | 2021-07-28 | 2021-10-26 | 徐丹梅 | 一种自我主权身份***及方法 |
CN113610528A (zh) * | 2021-08-24 | 2021-11-05 | 上海点融信息科技有限责任公司 | 基于区块链的管理***、方法、设备及存储介质 |
CN113610528B (zh) * | 2021-08-24 | 2024-04-02 | 上海点融信息科技有限责任公司 | 基于区块链的管理***、方法、设备及存储介质 |
CN113935072A (zh) * | 2021-09-26 | 2022-01-14 | 网易(杭州)网络有限公司 | 发行者注册方法、装置、计算机设备及存储介质 |
CN113935072B (zh) * | 2021-09-26 | 2024-04-30 | 网易(杭州)网络有限公司 | 发行者注册方法、装置、计算机设备及存储介质 |
CN113806699B (zh) * | 2021-09-30 | 2023-12-01 | 中国人民解放军国防科技大学 | 一种云际计算环境中跨区块链身份验证方法及*** |
CN113806699A (zh) * | 2021-09-30 | 2021-12-17 | 中国人民解放军国防科技大学 | 一种云际计算环境中跨区块链身份验证方法及*** |
WO2023120842A1 (ko) * | 2021-12-22 | 2023-06-29 | 주식회사 테사 | 실물자산의 매각 시스템 |
KR20230148110A (ko) | 2022-04-15 | 2023-10-24 | 주식회사 아티프렌즈 | 블록체인에서 이중 체인 구조를 통한 블록 데이터 생성속도 증진 방법 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102173426B1 (ko) | Did 환경의 프라이버시 보호를 지원하는 공개키 인프라구조 기반 서명 및 검증 시스템과 방법 | |
US11025435B2 (en) | System and method for blockchain-based cross-entity authentication | |
US11533164B2 (en) | System and method for blockchain-based cross-entity authentication | |
US10942994B2 (en) | Multicomputer processing for data authentication using a blockchain approach | |
US11159537B2 (en) | Multicomputer processing for data authentication and event execution using a blockchain approach | |
US11481768B2 (en) | System and method of generating and validating encapsulated cryptographic tokens based on multiple digital signatures | |
WO2021000419A1 (en) | System and method for blockchain-based cross-entity authentication | |
EP3788523A1 (en) | System and method for blockchain-based cross-entity authentication | |
WO2020002009A1 (en) | Delegating credentials with a blockchain member service | |
US20220329436A1 (en) | Token-based identity validation via blockchain | |
US20240137227A1 (en) | Systems and methods of ring usage certificate extension | |
Das et al. | A secure blockchain-enabled vehicle identity management framework for intelligent transportation systems | |
Nabi | Comparative study on identity management methods using blockchain | |
Heiss et al. | Non-disclosing credential on-chaining for blockchain-based decentralized applications | |
Mansoor et al. | A review of blockchain approaches for kyc | |
CN117280346A (zh) | 用于生成、提供和转发基于与用户相关的电子文件的可信电子数据集或证书的方法和装置 | |
US11283623B1 (en) | Systems and methods of using group functions certificate extension | |
US20230188353A1 (en) | Multi-issuer anonymous credentials for permissioned blockchains | |
US20230245112A1 (en) | Non-interactive token certification and verification | |
Rani et al. | A block chain-based approach using proof of continuous work consensus algorithm to secure the educational records | |
Xu et al. | AC2M: An Automated Consent Management Model for Blockchain Financial Services Platform | |
EP3761207B1 (en) | Method for entrusting blockchain operations contents | |
CN114697114B (zh) | 数据处理方法、装置、电子设备和介质 | |
KR102480754B1 (ko) | 다종 멤버십 간 통합 사용 제공 및 자동 정산에 대한 위/변조를 방지하는 다종 멤버십 통합 관리 시스템 및 그 방법 | |
Klingelbrunner | Datenschutz in SSI Systemen basierend auf Hyperledger Technologie |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |