KR20210054146A - 발행인 익명성 인증서 시스템을 위한 분산화된 그룹 서명 방법 - Google Patents

발행인 익명성 인증서 시스템을 위한 분산화된 그룹 서명 방법 Download PDF

Info

Publication number
KR20210054146A
KR20210054146A KR1020190139894A KR20190139894A KR20210054146A KR 20210054146 A KR20210054146 A KR 20210054146A KR 1020190139894 A KR1020190139894 A KR 1020190139894A KR 20190139894 A KR20190139894 A KR 20190139894A KR 20210054146 A KR20210054146 A KR 20210054146A
Authority
KR
South Korea
Prior art keywords
group
group member
polynomial
signing
value
Prior art date
Application number
KR1020190139894A
Other languages
English (en)
Other versions
KR102372718B1 (ko
Inventor
허환조
이현진
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR1020190139894A priority Critical patent/KR102372718B1/ko
Priority to US17/088,998 priority patent/US11750404B2/en
Publication of KR20210054146A publication Critical patent/KR20210054146A/ko
Application granted granted Critical
Publication of KR102372718B1 publication Critical patent/KR102372718B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • H04L9/3255Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using group based signatures, e.g. ring or threshold signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • 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/3218Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • H04L9/3257Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using blind signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/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/3263Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/26Testing cryptographic entity, e.g. testing integrity of encryption key or encryption algorithm
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/42Anonymization, e.g. involving pseudonyms

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

본 발명은 발행인 익명성 인증서 시스템을 위한 분산화된 그룹 서명 방법 에 관한 것이다.
본 발명에 따른 분산화된 그룹 서명 방법은 (a) 그룹 서명 방법의 구성 요소 및 각 그룹 멤버가 생성하고 공유하는 정보를 정의하는 시스템 초기 설정 단계와, (b) 그룹 멤버 초기 설정 단계와, (c) 새로운 그룹 멤버를 그룹에 추가시키는 그룹 멤버 참여 단계와, (d) 특정 메시지에 그룹 서명을 하는 그룹 서명 단계와, (e) 그룹 서명을 검증하는 단계와, (f) 특정 그룹 멤버에게 서명된 그룹 서명으로부터 그룹 구성원의 동의를 얻어 익명성을 제거하는 단계; 및 (g) 특정 그룹 멤버를 그룹 구성원의 동의를 얻어 추방하는 단계를 포함하고, 그룹 매니저의 독자적 권한을 그룹 멤버들이 분할하여 가지는 것을 특징으로 한다.

Description

발행인 익명성 인증서 시스템을 위한 분산화된 그룹 서명 방법{METHOD FOR DECENTRALIZED GROUP SIGNATURE FOR ISSUER ANONYMIZED CREDENTIAL SYSTEM}
본 발명은 발행인 익명성 인증서 시스템을 위한 분산화된 그룹 서명 방법에 관한 것이다.
그룹 서명(Group signature) 방법은 서명 주체의 익명성을 제공하기 위해 널리 사용되고 있다.
그룹 서명 방법에서는 일반적으로 그룹 구성원(Group members)이 모두 신뢰하는 그룹의 대표자(Group manager)가 있어서, 대표자를 통해 키(key)를 생성하고, 새로운 멤버를 참여시키거나 서명의 익명성을 제거하여 누가 서명을 했는지 밝혀낼 수 있다.
그룹 서명 방법은 그룹 대표자에게 집중되는 권한을 분산화하여, 공동의 합의를 통해 그룹이 운영될 수도 있도록 발전되어 왔으며, 예를 들어 새로운 멤버를 참여시키거나 서명의 익명성을 제거할 때 그룹 멤버간의 합의를 필요로 하는데 (t, n) 임계 속성을 가진다.
(t, n) 임계 속성은 총 n개의 구성원 중 t개 이상 구성원의 동의를 필요로 한다.
개인의 신원 증명, 학위 및 재직 증명, 특정 사실 혹은 자격에 대한 증명을 위해 디지털 인증 시스템이 사용된다.
특히, 개인의 프라이버시 보호와 증명서의 안전성을 위해 익명 인증서 시스템(anonymous credential system)이 활발히 연구되었고 IBM의 IdeMix(Identity Mixer) 또는 Microsoft의 U-Prove 등이 개발되어 사용되고 있다.
익명 인증서 시스템은 인증서의 부분적인 정보를 숨기거나 가공하여 증명에 이용할 수 있고 대상자(Identity owner)를 가명화(pseudonym)하여 신원 증명 발행인 및 검증자를 통해 식별되는 것을 방지한다.
익명 인증서 시스템은 사용자의 선택에 의해 인증서의 속성을 부분적으로 증명할 수 있지만 인증서를 발행한 발행인은 검증자에게 노출이 될 수 밖에 없다.
이러한 인증서 시스템에서는 검증자가 인증서를 발행한 발행인에 대한 신뢰를 바탕으로 하기 때문에 근본적으로 발행인의 식별이 필요하다.
하지만 발행인의 식별은 때로는 프라이버시 문제점으로 나타날 수 있다.
특히, 블라인드 심사/채용과 같은 상황에서 학위 증명을 할 경우에 쉽게 문제점을 살펴볼 수 있다.
예를 들어, 지원자가 A대학에서 학사학위를 받은 졸업생이라면 A대학으로부터 학사학위증명서를 발급받을 수 있다.
그런데 발급받은 학위증명서를 "학사학위를 보유하고 있다는 사실" 만을 증명하기 위해 검증자에게 제출하더라도, 검증자는 A대학이 인증서(학위증명서)를 발급했다는 사실을 알게 된다.
사용자가 학위를 받은 학교를 노출하고 싶지 않더라도, 검증자는 발행인(A대학)에 대한 신뢰 없이는 인증서 내용의 진위를 확인할 수 없으므로 발행인의 노출은 필수불가결하다.
이러한 문제점을 해결하기 위해서는 발행인이 연합체를 구성하고, 검증자는 발행인 연합체에 대한 신뢰를 바탕으로 인증서를 검증할 수 있다.
예를 들어, 대학교는 대학 연합체를 만들어서 인증서를 대학 연합체의 서명을 이용하여 발급하고, 검증자는 대학 연합체에 대한 신뢰를 바탕으로 서명된 인증서의 내용을 확인할 수 있다.
특히, 이러한 연합체를 구성할 때 연합체의 대표자를 두어 연합체 구성원의 추가, 탈퇴 등의 권한을 주게 되면 대표자에게 권한이 집중되는 문제가 생기기 때문에, 대표자 없이 대표자의 권한을 연합체의 구성원이 나누어가지는 방법은 이러한 시스템의 보안성을 향상시킬 수 있다.
본 발명은 전술한 문제점을 해결하기 위하여 제안된 것으로, 그룹 매니저(대표)가 독자적으로 가지고 있는 권한을 분할하여 그룹 멤버들이 가지도록 함으로써, 인증서 시스템에 활용되어 발행인의 익명성을 보장하는 것이 가능한 분산화된 그룹 서명 방법을 제공하는데 그 목적이 있다.
본 발명에 따른 분산화된 그룹 서명 방법은 (a) 그룹 서명 방법의 구성 요소 및 각 그룹 멤버가 생성하고 공유하는 정보를 정의하는 시스템 초기 설정 단계와, (b) 그룹 멤버 초기 설정 단계와, (c) 새로운 그룹 멤버를 그룹에 추가시키는 그룹 멤버 참여 단계와, (d) 특정 메시지에 그룹 서명을 하는 그룹 서명 단계와, (e) 그룹 서명을 검증하는 단계와, (f) 특정 그룹 멤버에게 서명된 그룹 서명으로부터 그룹 구성원의 동의를 얻어 익명성을 제거하는 단계; 및 (g) 특정 그룹 멤버를 그룹 구성원의 동의를 얻어 추방하는 단계를 포함하고, 그룹 매니저의 독자적 권한을 그룹 멤버들이 분할하여 가지는 것을 특징으로 한다.
본 발명에 따르면, 대표자가 없이도 그룹 멤버의 합의를 통해 그룹 매니저의 역할을 수행할 수 있는 분산화된 그룹 서명 기법을 제공하는 효과가 있다.
본 발명에 따르면, 각 그룹 멤버가 신뢰 기관 또는 신뢰하는 특정 멤버를 통하지 않고 초기 설정이 가능하므로 안전성이 뛰어나며, 인증서 시스템에 활용되어 발행인의 익명성을 제공하는 인증서 시스템으로 확장 가능한 효과가 있다.
본 발명의 효과는 이상에서 언급한 것들에 한정되지 않으며, 언급되지 아니한 다른 효과들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 실시예에 따른 발행인 익명성 인증서 시스템을 위한 분산화된 그룹 서명 방법을 도시한다.
도 2 내지 도 4는 본 발명의 실시예에 따른 그룹 멤버 초기 설정 단계를 도시한다.
도 5 및 도 6은 본 발명의 실시예에 따른 그룹 멤버 참여 단계를 도시한다.
도 7 내지 도 9는 본 발명의 실시예에 따른 그룹 서명 단계를 도시한다.
도 10은 본 발명의 실시예에 따른 그룹 서명 검증 단계를 도시한다.
도 11은 본 발명의 실시예에 따른 그룹 멤버 익명성 제거 단계를 도시한다.
도 12는 본 발명의 실시예에 따른 그룹 멤버 익명성 제거 단계 및 그룹 멤버 추방 단계를 포함한다.
도 13 및 도 14는 본 발명의 실시예에 따른 익명 인증 시스템 내 프로토콜 흐름에 대해 설명한다.
도 15는 본 발명의 실시예에 따른 익명 인증 시스템 관련 파라미터를 도시한다.
도 16은 본 발명의 실시예에 따른 익명 인증 시스템 관련 파라미터의 사이즈를 도시한다.
도 17 내지 도 19는 본 발명의 실시예에 따른 그룹 멤버, 사용자, 검증자 간의 흐름을 도시한다.
본 발명의 전술한 목적 및 그 이외의 목적과 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다.
그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 이하의 실시예들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 목적, 구성 및 효과를 용이하게 알려주기 위해 제공되는 것일 뿐으로서, 본 발명의 권리범위는 청구항의 기재에 의해 정의된다.
한편, 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성소자, 단계, 동작 및/또는 소자가 하나 이상의 다른 구성소자, 단계, 동작 및/또는 소자의 존재 또는 추가됨을 배제하지 않는다.
본 발명의 실시예에 따르면, 키 생성 등의 그룹 구성원에 대한 초기 절차, 새로운 멤버의 참여나 탈퇴 절차, 서명의 익명성 제거 절차 등 모든 절차에 있어서, 신뢰해야 할 그룹 대표자 없이 구성원 간의 동의로 그룹 서명이 가능하며, 본 발명의 실시예에 따른 분산화된 그룹 서명 방법은 신원 증명 시스템에 활용성이 높다.
이하에서는, 분산화된 그룹 서명 방법 및 분산화된 그룹 서명 방법을 인증서 시스템에 적용하는 실시예에 대해 설명한다.
이하, 본 발명의 실시예에 따른 분산화된 그룹 서명 방법을 설명한다.
본 발명의 실시예에 따른 분산화된 그룹 서명 방법은 시스템 초기 설정 단계(S110), 그룹 멤버 초기 설정 단계(S120), 그룹 멤버 참여 단계(S130), 그룹 서명 단계(S140), 그룹 서명 검증 단계(S150), 그룹 멤버 익명성 제거 단계(S160) 및 그룹 멤버 추방 단계(S170)를 포함한다.
시스템 초기 설정 단계(S110)에서는, 그룹 서명 기법(group signature scheme)의 구성 요소 및 사전에 공통적으로 또는 각 구성원이 생성/공유하는 정보를 정의한다.
그룹 멤버 초기 설정 단계(S120)에서는, 시스템 초기 설정 후에 각 그룹 멤버가 그룹 서명, 서명 검증, 참여, 추방 등의 절차를 위해 사전에 이루어지는 절차를 게시한다.
그룹 멤버 참여 단계(S130)에서는, 새로운 그룹 멤버가 그룹에 추가될 때 이루어지는 방법을 게시한다.
그룹 서명 단계(S140)에서는, 특정 메시지에 그룹 서명을 하는 방법을 게시한다.
그룹 서명 검증 단계(S150)에서는, 그룹 서명을 검증하는 방법을 게시한다.
그룹 멤버 익명성 제거 단계(S160)에서는, 특정 그룹 멤버에게 서명된 그룹 서명으로부터 그룹 구성원의 동의를 얻어 익명성을 제거하는 방법을 게시한다.
그룹 멤버 추방 단계(S170)에서는, 특정 그룹 멤버를 그룹 구성원의 동의를 얻어 추방하는 방법을 게시한다.
이하, 시스템 초기 설정 단계에 대해 설명한다.
본 발명의 실시예에 따른 그룹 서명 방법은 다음과 같은 설정에서 정의되며, 초기에 공통적으로 그룹 구성원(그룹 멤버)이 알고 있는 값들은 본 발명에서 게시하는 범위를 벗어나 다른 경로를 통해(out-of-band) 각 그룹 구성원이 공유하고 있다고 가정한다.
그룹 서명에 참여하는 n명의 그룹 멤버(group member)가 존재하고, 각 그룹 멤버
Figure pat00001
는 공개키쌍 (
Figure pat00002
)을 가지고 있다.
초기에 그룹을 형성하기 위해 모든 그룹 멤버
Figure pat00003
는 다음을 동일하게 알고 있다고 가정한다.
n: 초기 그룹 멤버의 수
t: 합의에 필요한 정족수
모든 그룹 멤버
Figure pat00004
의 공개키(public key) y j
N: 합성수
Figure pat00005
(
Figure pat00006
는 모두 소수)
g: 위수 q를 가지는 (i.e.,
Figure pat00007
) 생성자(generator) g
대칭키 암호화/복호화 알고리즘 Ek{}, Dk{} - k는 대칭키
서명 및 서명 검증 알고리즘 Ssk{}, Vpk{} - (sk, pk)는 공개키쌍
해쉬 함수 H{}
커미트먼트 생성 함수 COMM{}
초기에 그룹을 형성하기 위해 모든 그룹 멤버
Figure pat00008
는 다음의 비공개/공개 값을 생성하며 공개 값은 서로에게 공유한다.
공개키쌍 (
Figure pat00009
) - 임의의 비공개키
Figure pat00010
와 공개키
Figure pat00011
식별자쌍 (
Figure pat00012
) - 임의의 비공개 식별자
Figure pat00013
와 공개 식별자
Figure pat00014
이하, 도 2 내지 도 4를 참조하여, 그룹 멤버 초기 설정 단계에 대해 설명한다.
본 발명의 실시예에 따른 그룹 멤버 초기 설정 단계는 그룹 서명, 서명 검증, 참여, 추방, 익명성 제거 등을 위해 각 그룹 멤버가 다항식을 생성하고 결합하는 초기 설정 과정으로, 각 그룹 멤버 별 다항식 생성 단계, 각 그룹 멤버 별 다항식 검증 데이터 공유 단계, 각 그룹 멤버 별 다항식 값 공유 단계, 각 그룹 멤버 별 다항식 및 검증 데이터 결합 단계 및 결합된 다항식 검증 단계를 포함한다.
공개 파라미터는
Figure pat00015
이다.
각 그룹 멤버 별 다항식 생성 단계에서는, [수학식 1]에 따라 익명성 제거 시 사용되는 다항식을 생성하고, [수학식 2]에 따라 서명 시 사용되는 다항식을 생성한다.
[수학식 1]
Figure pat00016
Figure pat00017
이고, 다른 계수(
Figure pat00018
)는 무작위로 추출한다.
[수학식 2]
Figure pat00019
Figure pat00020
이고, 향후 검증할 때 사용된다.
각 그룹 멤버 별 다항식 검증 데이터 공유 단계에서, [수학식 3]에 따라 다항식 commitment 값을 생성하고, [수학식 4]에 따라 공개 파라미터를 생성하며, [수학식 5[에 따라 공개 파라미터를 공유한다.
[수학식 3]
Figure pat00021
이는 향후 다항식의 무결성을 확인하기 위한 다항식 commitment값을 생성하는 것이다.
[수학식 4]
Figure pat00022
Figure pat00023
Figure pat00024
이는 신뢰 기관을 분산했기 때문에, 각 그룹 멤버가 공개 파라미터를 생성하는 것이다.
[수학식 5]
Figure pat00025
전술한 바와 같이, 신뢰 기관을 분산했기 때문에, 본 발명의 실시예에 따르면 각 그룹 멤버가 공개 파라미터를 공유한다.
각 그룹 멤버 별 다항식 값 공유 단계에서, [수학식 6]에 따라 그룹 멤버가 생성한 다항식에
Figure pat00026
에 대입하여 결과 값을 생성하고 전송하고, [수학식 7]에 따라 각 그룹 멤버가 수신한 값들을 검증한다.
[수학식 6]
Figure pat00027
이는 그룹 멤버의 블라인드 식별자에 대한 다항식 값을 계산하는 것이다.
[수학식 7]
Figure pat00028
이는 신뢰 기관을 분산했기 때문에, 각 그룹 멤버로부터 다항식 값을 수신하고 해당 값들을 검증하는 것이다.
각 그룹 멤버 별 다항식 및 검증 데이터 결합 단계에서, 공통의 그룹 파라미터를 생성하기 위해, 각 그룹 멤버는 [수학식 8]에 따라 수신한 값들을 결합한다.
[수학식 8]
Figure pat00029
Figure pat00030
Figure pat00031
결합된 다항식 검증 단계에서는 [수학식 9]에 따라 각 멤버별 결합된 값을 검증한다.
[수학식 9]
Figure pat00032
이하, 도 5 및 도 6을 참조하여, 그룹 멤버 참여 단계에 대해 설명한다.
본 발명의 실시예에 따른 그룹 멤버 참여 단계는 신규 그룹 멤버가 그룹에 참여하기 위해 각 그룹 멤버와 데이터를 공유하고 다항식을 구성/검증하는 절차로서, 신규 그룹 멤버 참여를 위한 각 그룹 멤버의 데이터 공유 단계, 신규 그룹 멤버 다항식 구성 단계 및 신규 그룹 멤버의 다항식 검증 단계를 포함한다.
공개/공유 파라미터는ynew,XIDnew, yi,XIDi이다.
신규 그룹 멤버 참여를 위한 각 그룹 멤버의 데이터 공유 단계에서, [수학식 10]에 따라 신규 그룹 멤버의 그룹 참여를 요청하고, [수학식 11]에 따라 기존 그룹 멤버의 응답이 이루어진다.
[수학식 10]
Figure pat00033
Figure pat00034
는 익명 인증 시스템과 연동하기 위한 그룹 멤버 식별자이다.
[수학식 11]
Figure pat00035
Figure pat00036
는 익명 인증 시스템과 연동하기 위한 그룹 멤버 식별자이다.
신규 그룹 멤버 다항식 구성 단계에서, 신규 그룹 멤버가 t 명 이상으로부터 응답을 받을 경우 [수학식 12]에 따라 본인이 그룹 멤버로서 사용할 다항식을 구성하고, 연립방정식을 해결하여
Figure pat00037
을 구한다.
[수학식 12]
Figure pat00038
신규 그룹 멤버의 다항식 검증 단계에서, [수학식 13]에 따라 신규 그룹 멤버는 자신이 생성한 다항식을 검증하고, [수학식 14]에 따라 검증 실패의 경우 잘못된 값을 준 그룹 멤버를 특정한다.
[수학식 13]
Figure pat00039
[수학식 14]
Figure pat00040
이하, 도 7 내지 도 9를 참조하여, 특정 메시지에 대해 그룹 서명을 하는 그룹 서명 단계에 대해 설명한다.
그룹 서명 단계는 서명 시 필요한 개별 데이터 생성 단계와, 수신한 개별 데이터 검증 단계와, 서명한 인원 확인 시 사용할 다항식 구성 단계와, 수신한 개별 데이터 결합 및 메시지 서명 단계와, 메시지 부분 서명 데이터 전송 단계와, 수신한 부분 서명 데이터 검증 및 서명 값 생성 단계를 포함한다.
공개/공유 파라미터는
Figure pat00041
,
Figure pat00042
이다.
서명 시 필요한 개별 데이터 생성 단계에서, 각 그룹 멤버는 [수학식 15]에 따라 임의의 랜덤 값을 선택하고, [수학식 16]에 따라 서명을 구성하기 위해 생성한 개별 서명 데이터를 생성하고, [수학식 17]에 따라 각 그룹 멤버에게 생성된 개별 서명 데이터를 전송한다.
[수학식 15]
Figure pat00043
[수학식 16]
Figure pat00044
[수학식 17]
Figure pat00045
이 때,
Figure pat00046
는 익명 인증 시스템과 연동하기 위한 그룹 멤버 식별자이다.
수신한 개별 데이터 검증 단계에서, [수학식 18]에 따라 수신한 개별 데이터
Figure pat00047
를 검증하고, 검증이 실패할 경우는
Figure pat00048
가 잘못된
Figure pat00049
를 전달한 것이다.
[수학식 18]
Figure pat00050
서명한 인원 확인 시 사용할 다항식 구성 단계에서는, [수학식 19]에 따라 서명한 인원 확인에 사용할 다항식을 구성한다.
[수학식 19]
Figure pat00051
수신한 개별 데이터 결합 및 메시지 서명 단계에서는 [수학식 20]에 따라 수신한 개별 데이터를 결합하고, [수학식 21]에 따라 메시지 서명을 수행한다.
[수학식 20]
Figure pat00052
[수학식 21]
Figure pat00053
메시지 부분 서명 데이터 전송 단계에서, [수학식 22]에 따라 메시지 서명 데이터를 전송한다.
[수학식 22]
Figure pat00054
수신한 부분 서명 데이터 검증 및 서명 값 생성 단계에서, [수학식 23]에 따라 수신한 서명 데이터를 검증하고, [수학식 24]에 따라 서명 값을 생성한다.
[수학식 23]
Figure pat00055
[수학식 24]
Figure pat00056
이하, 도 10을 참조하여 그룹 서명 검증 단계에 대해 설명한다.
공개 파라미터는
Figure pat00057
,
Figure pat00058
이다.
그룹 서명 검증 단계는 [수학식 25]에 따라 서명 값 검증을 위한 계산을 수행하고, [수학식 26]에 따라 메시지 m에 대한 서명을 검증한다.
[수학식 25]
Figure pat00059
[수학식 26]
Figure pat00060
위 식이 참이라면 해당 서명 (
Figure pat00061
)은 유효하다.
이하, 도 11을 참조하여, 그룹 멤버 익명성 제거 단계에 대해 설명한다.
이는 합의에 필요한 정족수(t) 이상의 그룹 멤버를 통해 특정 그룹 멤버의 익명성을 제거하는 절차로서, 공유 파라미터는
Figure pat00062
이다.
그룹 멤버 익명성 제거 단계는 이상 그룹 멤버의
Figure pat00063
를 공유하고, 각 매니저는
Figure pat00064
로부터 수신한
Figure pat00065
를 서로에게 공유한다.
[수학식 27]에 따라, 각 매니저는 t개 이상의 다항식 값을 수신할 경우 이를 통해 다항식을 복구한 뒤 검증한다.
[수학식 27]
Figure pat00066
[수학식 28]에 따라, 복구한 다항식을 통해 사용자
Figure pat00067
를 확인한다.
[수학식 28]
Figure pat00068
이하, 도 12를 참조하여 그룹 멤버 추방 단계에 대해 설명한다.
그룹 멤버 추방 단계는 그룹 멤버 익명성 제거를 통해 밝혀진 그룹 멤버를 추방하는 절차이고, 공유 파라미터는
Figure pat00069
이다.
그룹 멤버 추방 단계에서, [수학식 29]에 따라 t명 이상의 그룹 멤버들은 추방 멤버 리스트에 서명하고(
Figure pat00070
은 전술한 그룹 멤버 익명성 제거 단계로부터 획득된다), [수학식 30]에 따라 서명에 같이 참여한 그룹 멤버로서 탈퇴 멤버가 사용한 값을 확인한다.
[수학식 29]
Figure pat00071
Figure pat00072
는 익명 인증 시스템과 연동하기 위한 그룹 멤버 식별자이다.
[수학식 30]
Figure pat00073
이하에서는 전술한 분산화된 그룹 서명 방법을 인증서 시스템에 적용하여, 발행인 익명성을 제공하는 인증서 시스템 구성에 대해 설명한다.
이하에서는, IdeMix 프로토콜에 분산화된 그룹 서명 방법을 적용한 익명 인증 시스템의 프로토콜을 설명하며, 본 발명의 실시예에 따르면 인증서를 발행하는 그룹 멤버의 식별자를 다른 그룹 멤버들이 블라인드 서명한 값을 증명하는 방법을 통해 인증서의 유효성을 증명한다.
1. 이하, 익명 인증 시스템 적용 방안의 개요에 대해 설명한다.
본 발명의 실시예에 따른 익명 인증 시스템은 최초 사용자가 그룹 멤버를 검증하는 로직이 추가된다.
발급자는 자신의
Figure pat00074
값과 관련 서명 정보, 지식 증명 데이터 등을 사용자에게 전송하고, 사용자는 해당 값을 검증하여 발급자의 유효성을 검증한다.
본 발명의 실시예에 따르면, 향후 검증자가 발급자의 유효성을 검증할 수 있도록 하기 위해 사용자는 관련 정보를 속성 값으로 지정한다.
Figure pat00075
(발급자의 블라인드 식별자)
Figure pat00076
:
Figure pat00077
(블라인드 식별자에 대한 서명)
Figure pat00078
(시리얼 번호로 향후 인증서를 식별할 필요가 있을 때 사용)
Figure pat00079
(업데이트 시점을 기록하기 위한 타임스탬프)
Figure pat00080
(사용자 식별자)
본 발명의 실시예에 따르면, 발급자는 해당 메시지 값(
Figure pat00081
~
Figure pat00082
)을 검증하고 인증서를 발행하고, 검증자는 향후 해당 메시지 값을 검증하여 발행인의 유효성을 검증한다.
본 발명의 실시예에 따르면, 유효한 그룹 멤버들이 그룹 멤버의 블라인드 식별자에 서명한 값을 익명 인증 시스템 내 참여자에게 증명함으로써 익명 인증 시스템의 발급자 역할을 수행한다.
발급자(
Figure pat00083
)는 익명 인증서 발급 전 수행 절차로서, 자신의 식별자인
Figure pat00084
의 블라인드 값
Figure pat00085
에 대한 유효한 서명을 받아야 한다(
Figure pat00086
를 일회용으로 사용하기 위한 서명 처리 옵션 설정 가능).
익명 인증 시스템에서 사용할 키 쌍을 생성한다.
사용자는 그룹 멤버가 유효한 그룹 멤버인지 검증하고, 인증 받고자 하는 속성 중 공개하지 않을 속성에 대한 지식 증명 값을 생성한다.
발급자는 사용자로부터 받은 속성 값을 검증하고, 비공개 속성 값과 공개 속성 값들에 대한 인증서를 발행한다.
사용자는 검증자에게 인증서 제공 전 작업으로서, 인증서를 랜덤화하고 비공개 속성에 대한 증명 데이터를 생성하며, 검증자에게 인증서를 제공한다.
검증자는 유효한 그룹 멤버가 생성한 인증서임을 확인하고, 인증서의 유효성을 검증하고, 필요한 속성 값을 확인한다.
본 발명의 실시예에 따르면, 발행인 익명성 보장을 위해 그룹 성명 도입 시 수정 범위로서, 인증서 발급자가 그룹 멤버임을 증명하는 단계가 추가된 기술적 특징이 있다.
본 발명의 실시예에 따른 블라인드 식별자 서명 처리 옵션으로서, 실시간 서명 처리 방안(옵션 1)에 대해 설명한다.
선행 작업으로서 그룹 멤버 참여 절차를 수행하고, 추가로 블라인드 식별자가 필요할 때마다 그룹 서명 절차를 반복하여 블라인드 식별자를 생성한다.
이 때, 사용자에게 블라인드 식별자의 영지식 증명을 사용하여 인증서를 발급할 경우 다음 사용자의 서명을 위해 새로운 블라인드 식별자 생성하고, 블라인드 식별자를 수신한 그룹 멤버는 해당 값에 서명하여 타 그룹 멤버에게 전송하며, 임계 서명 정책에 따라 유효한 서명을 생성한다.
그룹 멤버들로부터 블라인드 식별자에 유효한 서명 값이 생성될 경우, 이를 활용하여 사용자에게 인증서를 발급한다.
본 발명의 실시예에 따른 블라인드 식별자 서명 처리 옵션으로서, 일괄 서명 처리 방안(옵션 2)에 대해 설명한다.
선행 작업으로서 그룹 멤버 참여 절차 수행하고, 미리 협의한 특정 시점에 일괄적으로 그룹 서명 절차를 수행한다.
이 때, 임의로 정한 시간에 인증서 발급 시 사용될 블라인드 식별자를 대량으로 생성하여 그룹 멤버에게 전달하고, 블라인드 식별자를 수신한 그룹 멤버는 해당 값에 서명하여 타 그룹 멤버에게 전송하며, 임계 서명 정책에 따라 유효한 서명을 생성한다.
그룹 멤버들로부터 블라인드 식별자에 유효한 서명 값이 생성될 경우 이를 활용하여 사용자에게 인증서를 발급한다.
도 13 및 도 14를 참조하여, 익명 인증 시스템 내 프로토콜 흐름에 대해 설명한다.
도 13을 참조하면, IDEMIX의 발급 프로토콜의 참가자들의 입력 값에 대한 개요를 도시하며, 발급자와 수신자의 속성 값은 다를 수 있다.
특히, 발급자는 비밀 데이터들에 대한 어떠한 지식도 알 수 없고, 그룹과 시스템 파라미터는 인증서 구조체에 주어진 참조를 통해 접근할 수 있다.
도 14를 참조하면, 증명 프로토콜에 대한 입력 값은 주로 증명 명세서이다.
증명 명세서는 증명자 측의 인증서를 연결하며 검증자 측의 증명서 구조체와도 연결된다.
검증자는 발급 프로토콜과 같은 애플리케이션 특정 작업에 사용할 수 있는 암호학적 비밀 출력 객체로서 이를 얻는다.
2. 이하, 익명 인증 시스템 적용 방안의 표기법에 대해 설명한다.
아래는 그룹 서명 관련 표기법을 설명한다.
그룹 멤버 집합 (그룹 매니저 겸) :
Figure pat00087
그룹 멤버 식별자 (비밀 데이터) :
Figure pat00088
그룹 공개 식별자 :
Figure pat00089
그룹 멤버 외부 식별자 (공개) :
Figure pat00090
커밋먼트 값 :
Figure pat00091
다항식 값 :
Figure pat00092
i번째 그룹 멤버와 관련된 표기법 :
Figure pat00093
그룹 서명 :
Figure pat00094
익명 인증 시스템 관련 파라미터 및 설명은 도 15에 도시한 바와 같고, 익명 인증 시스템 관련 파라미터의 사이즈는 도 16에 도시한 바와 같다.
그 외 Time은 타임스탬프, SN은 시리얼 넘버,
Figure pat00095
는 모든 공개 파라미터와 발급자의 공개키 목록이다.
3. 이하, 익명 인증 시스템 적용 방안의 인증서 발행 절차 (발급자/사용자), 인증서 발급 프로토콜에 대해 설명한다.
공통 입력 값(input common)은
Figure pat00096
, {nym}, {dNym},
Figure pat00097
,
Figure pat00098
이다.
사용자(recipient)는
Figure pat00099
이다.
발급자(issuer)는 sk, 그룹 서명 정보이다.
공통 출력 값으로, The CL-Signature (A, e, v) 또는 프로토콜이 실패한다면 ⊥를 반환한다.
Figure pat00100
발급 명세서이다.
Figure pat00101
는 가명(pseudonyms)이고,
Figure pat00102
, m5=master sectret key이다.
Figure pat00103
는 도메인 가명(domain pseudonyms)이고,
Figure pat00104
이다.
Figure pat00105
는 커밋먼트(commitments)이고,
Figure pat00106
이다.
Figure pat00107
는 메시지(messages)이다.
Round 0
Round 0은 그룹 멤버를 인증하기 위한 절차로써 발급자 익명성 보장과 함께 사용자/검증자가 발급자가 유효한 그룹 멤버임을 검증하는 단계이다.
핵심은 해당 블라인드 식별자가 그룹 서명을 받은 것인지와 발급자의 블라인드 식별자에 대한 영지식 증명을 검증하는 것이다.
본 검증이 의미하는 바는 그룹 멤버 중 정족수가 동의한 사용자의 블라인드 식별자임을 증명하고, 실제 인증서를 발급하는 발급자는 해당 블라인드 식별자의 소유자임을 확인하는 것이다.
0.1 사용자 :
Figure pat00108
0.2 발급자 ← 사용자 :
Figure pat00109
0.3 발급자 : Timestamp Time, Serial Number
Figure pat00110
,
Figure pat00111
,
Figure pat00112
0.4 발급자 → 사용자 :
Figure pat00113
0.5 사용자 : 아래의 내용을 검증함
그룹 서명 값
Figure pat00114
Figure pat00115
에 대해 검증함
발급자가
Figure pat00116
에 대한 이산대수 값을 알고 있는지 검증함 (
Figure pat00117
)
발급자가 사용자가 보낸 값을 사용하여 c를 생성하였는지 검증함
0.6 발급자와 사용자 : S로부터 속성 구조체 A를 불러옴
Round 1
1.1 사용자 :
Figure pat00118
1.2 사용자 :
Figure pat00119
(
Figure pat00120
Figure pat00121
그리고
Figure pat00122
은 항상 노출된다)
Figure pat00123
Figure pat00124
에서, 향후 검증자가 발급자의 유효성을 검증하기 위해 사용자는 자신의 속성에 그룹 멤버의 블라인드 식별자를 삽입하고 발급자 역시 자신이 사용하고 있는 블라인드 식별자가 해당 위치에 속성 값이 있는지 검증한다.
1.3 사용자 : non-interactive proof
1.3.0.1
Figure pat00125
for
Figure pat00126
1.3.0.2 (가명과 마스터 시크릿 키의 지식 증명) 만약 nym
Figure pat00127
Figure pat00128
라면,
Figure pat00129
로 설정하고,
Figure pat00130
를 계산함. 아니면
Figure pat00131
=
Figure pat00132
로 설정
1.3.0.3 (도메인 가명과 마스터 시크릿 키에 대한 지식) 만약 dNym
Figure pat00133
Figure pat00134
라면,
Figure pat00135
를 계산하고 아니면
Figure pat00136
:=
Figure pat00137
로 설정
1.3.1 (U'의 표현에 대한 지식 증명)
Figure pat00138
로 선택하고
Figure pat00139
를 계산한 뒤 모든 랜덤 값을 저장함
1.3.2 (커밋 값의 지식 증명)
Figure pat00140
Figure pat00141
로 선택하고,
Figure pat00142
를 계산함
1.3.3 (도전 값)
Figure pat00143
1.3.4 (응답 값)
Figure pat00144
Figure pat00145
만약 nym
Figure pat00146
이라면,
Figure pat00147
을 계산하고 아니면
Figure pat00148
Figure pat00149
을 설정함
1.3.5 (출력)
Figure pat00150
1.4 발급자 ← 사용자 :
Figure pat00151
1.5 사용자는
Figure pat00152
(값과 구조체),
Figure pat00153
, context를 파일에 저장함(인증서 업데이트에 사용됨)
Round 2(서명 생성)
2.1 발급자는 P1을 검증한다.
2.1.0.1 (가명과 마스터 스크릿 키에 대한 지식 증명) 만약 nym
Figure pat00154
라면,
Figure pat00155
을 계산하고 아니라면
Figure pat00156
을 설정한다.
Figure pat00157
와 관련하여, 그룹 멤버 검증 시 사용되는 속성 값들로 인해 사용자의 익명성을 보장하기 위한 속성 값의 인덱스 번호가 변경되고, 오리지널 스킴에서는
Figure pat00158
에 가명 값이 세팅되어 있음
2.1.0.2 (도메인 가명과 마스터 시크릿 키에 대한 지식 증명) 만약 dNym
Figure pat00159
라면,
Figure pat00160
을 계산한다.
2.1.1 (U의 표현(representation))
Figure pat00161
2.1 발급자는 P1을 검증한다.
2.1.2 (커밋된 값에 대한 지식 증명) 만약 dNym
Figure pat00162
라면,
Figure pat00163
를 계산한다.
2.1.3 (검증)
Figure pat00164
만약
Figure pat00165
라면, 검증은 실패한 것이며 인증서 발급 프로토콜을 중단하고 ⊥을 반환한다.
2.1.4 (길이 점검)
Figure pat00166
Figure pat00167
길이 점검이 실패한다면, 인증서 발급 프로토콜을 중단하고 ⊥를 반환한다.
2.2 발급자는 속성들에 대해 CL 서명을 생성한다.
2.2.1 랜덤
Figure pat00168
소수를 선택한다.
Figure pat00169
2.2.2 랜덤 정수를 선택하고
Figure pat00170
,
Figure pat00171
를 계산한다.
2.2.3
Figure pat00172
Figure pat00173
로 지정한 뒤 아래를 계산한다.
Figure pat00174
Figure pat00175
을 사용자에게 전송한다.
Figure pat00176
Figure pat00177
와 관련하여, 속성 1번에 인증서 발급자의 블라인드 식별자를 추가한 상태로 서명을 생성하고, 향후 익명인증 시스템 내 검증자가 발급자의 유효성을 판단하는 근거로 사용된다.
2.2.4 발급자는 Q,
Figure pat00178
(값과 구조체),
Figure pat00179
, context를 파일에 저장한다 (인증서 업데이트에 사용됨)
2.3 발급자는 아래와 같이 정확성 증명 데이터(proof of correctness)를 생성한다.
Figure pat00180
2.3.1
Figure pat00181
Figure pat00182
를 계산한다.
2.3.2
Figure pat00183
||A||
Figure pat00184
||
Figure pat00185
를 계산한다.
2.3.3
Figure pat00186
mod
Figure pat00187
))를 계산한다. 증명은
Figure pat00188
이다.
2.4 발급자 → 사용자 : (
Figure pat00189
Round 3
3.1
Figure pat00190
를 계산한다.
3.2 사용자는 CL 서명 검증 알고리즘을 사용하여 (
Figure pat00191
을 검증한다.
3.2.1 e가 소수인지 확인하고
Figure pat00192
를 검증한다.
3.2.2
Figure pat00193
를 설정하고
Figure pat00194
계산한다.
Figure pat00195
Figure pat00196
와 관련하여, 향후 검증자가 발급자의 유효성을 검증하기 위해 사용자는 자신의 속성에 그룹 멤버의 블라인드 식별자를 삽입한다.
3.2.3
Figure pat00197
를 계산한다.
3.2.4 만약 Q
Figure pat00198
(mod n)라면, 인증서 발급 프로토콜을 중단한다.
3.3 사용자 P2를 검증한다.
3.3.1
Figure pat00199
mod
Figure pat00200
계산한다.
3.3.2
Figure pat00201
||A||
Figure pat00202
||
Figure pat00203
) 계산한다.
3.3.3 만약
Figure pat00204
라면 , 인증서 발급 프로토콜을 중단한다.
3.4 (출력) 만약 단계 3.2 와 3.3 성공한다면, 인증서
Figure pat00205
를 저장한다.
4. 이하, 익명 인증 시스템 적용 방안의 인증서 업데이트 절차 (발급자/사용자)에 대해 설명한다.
Round 1
1.1
Figure pat00206
은 업데이트 될 인증서의 속성 값이다.
1.2
Figure pat00207
1.3 발급자는 업데이트 파일로부터 이전에 저장한 객체를 불러온다.
1.4 발급자는 속성에 대해 CL 서명을 생성한다.
1.4.1 랜덤 소수를 선택한다.
Figure pat00208
1.4.2 랜덤 정수
Figure pat00209
를 선택하고
Figure pat00210
Figure pat00211
를 계산한다.
1.4.3
Figure pat00212
Figure pat00213
를 계산한다.
1.4.4
Figure pat00214
,
Figure pat00215
Figure pat00216
를 설정한다.
1.5 발급자는 아래와 같은 정확성 증명 데이터(proof of correctness )을 생성한다.
Figure pat00217
1.7 발급자는 (
Figure pat00218
그리고
Figure pat00219
를 사용자에게 보낸다.
1.7 발급자는
Figure pat00220
,
Figure pat00221
,
Figure pat00222
와 같은 객체를 파일에 업데이트한다. (인증서 업데이트에 사용됨)
Round 2
2.1 사용자는 업데이트 파일로부터 이전에 저장된 객체를 불러온다.
2.2 사용자는 P2를 검증한다.
2.2.1
Figure pat00223
Figure pat00224
를 계산한다.
2.2.2
Figure pat00225
)를 계산한다.
2.2.3 만약
Figure pat00226
라면, 인증서 업데이트 프로토콜을 중단한다.
2.3 사용자는
Figure pat00227
를 계산하고 저장한다.
2.4 사용자는 CL 서명 검증 알고리즘을 사용하여
Figure pat00228
를 검증한다.
2.4.1 e가 소수인지와
Figure pat00229
Figure pat00230
에 속하는지 검증한다.
2.4.2
Figure pat00231
를 검증한다.
2.5 만약 단계 2.2와 2.4 성공한다면, 인증서 (
Figure pat00232
) 를 출력하고 사용자는 이 인증서를 위해 해당 기록을 업데이트한다.
5. 이하, 익명 인증 시스템 적용 방안의 증명데이터 생성 절차(사용자)에 대해 설명한다.
증명데이터 검증 방법은 증명 생성 프로토콜 실행에 따라 모든 하위 프로토콜(CL 서명 증명 프로토콜, AND 연산 증명 데이터 생성 프로토콜, … etc)을 수행하여 해당 프로토콜의 T 값에 해당되는 값을 계산하는 단계와, 도전(Challenge) c 값을 생성하는 단계와, c 값을 활용하여 모든 하위 프로토콜의 S 값을 계산하는 단계 및 검증자에게 증명 데이터를 전송하는 단계를 포함한다.
이하, 증명 데이터를 구성하기 위한 프로토콜에 대해 설명한다. 입력은
Figure pat00233
이고, 출력은
Figure pat00234
에 존재하는 조건의 비대화형 증명: (Common, c, s)이다.
Figure pat00235
는 인증서,
Figure pat00236
는 커밋먼트(commitments),
Figure pat00237
는 표현(representations),
Figure pat00238
는 가명(pseudonyms),
Figure pat00239
는 도메인 가명(domain pseudonyms),
Figure pat00240
는 검증 가능한 암호화(verifiable encryptions),
Figure pat00241
는 메시지(messages),
Figure pat00242
Figure pat00243
안에 명시된 술부의 집합,
Figure pat00244
는 노출된 식별자의 집합,
Figure pat00245
는 노출되지 않는 식별자의 집합,
Figure pat00246
는 검증자로부터 발생된 논스이다.
0. 설정
0.1 각 히든 식별자
Figure pat00247
에 대해,
Figure pat00248
를 생성하며, 이 값들은 각 식별자에 저장된다.
1. t 값을 계산한다.
1.1
Figure pat00249
에 있는 각
Figure pat00250
는 적절한 하위 증명 프로토콜을 호출한다. 각 하위 증명 프로토콜은 t 값을 저장하기 위해 목록 T에 접근하고, 공통 값을 저장하기 위해 목록 Common에 접근한다. 하위 증명 프로토콜은 단계 0.1로부터 생성된 랜담 값에 접근할 수 있다. 본 발명에서는, 부분 프로토콜이 증명이 끝날 때까지 (i.e., t와 s값이 완료될 때까지) 상태를 유지한다고 가정한다.
2. 도전을 계산한다.
2.1 도전(challenge) c:
Figure pat00251
)
3. 응답을 계산한다.
3.1 각 술부
Figure pat00252
Figure pat00253
는 적절한 하위 증명 프로토콜을 호출한다. 하위 증명 프로토콜은 필요시 s 값을 출력한다. s 값은 술부나 식별 이름으로 인덱스되어 있다.
4. 증명 데이터를 출력한다.
4.1 증명 데이터(c, s, Common)를 출력한다. s의 구조체는 s 와
Figure pat00254
가 주어졌을 때 검증자는 검증 기간 동안에 사용하기 위해 쉽게 올바른 s 값을 판정할 수 있다.
이하, CL 서명 증명 프로토콜에 대해 설명한다.
CL 서명 증명 프로토콜은 자신이 소유한 인증서를 랜덤화한 상태에서 유효한 인증서임을 증명한다.
입력은 cred, CLPredicate p, [c]이고, 출력은 만약
Figure pat00255
라면, 하나의 t 값과 공통 값 A' 을 출력하고 아니면 세 개의 s 값을 출력한다.
1. 서명을 랜덤화시킨다.
1.1
Figure pat00256
1.2 CL 서명을 다음과 같이 랜덤화시킨다. 랜덤화 된 서명 값은 (
Figure pat00257
))이다.
Figure pat00258
Figure pat00259
추가로
Figure pat00260
를 계산한다.
2. t 값을 계산한다.
2.1
Figure pat00261
,
Figure pat00262
2.2각 식별자
Figure pat00263
에 대해, 대응되는 랜덤 값
Figure pat00264
를 복구한다.
Figure pat00265
3. t
Figure pat00266
와 공통 값 A'를 출력한다.
4. s값을 계산한다.
Figure pat00267
범위 내에서 다음을 계산한다.
4.1
Figure pat00268
(
Figure pat00269
4.2
Figure pat00270
4.3
Figure pat00271
for
Figure pat00272
이하, AND 연산자 증명 데이터 생성 프로토콜에 대해 설명한다.
입력은 PrimeEncodePredicate p (with AND operator), [c]이고, 출력은 만약
Figure pat00273
라면, 두 개의 t값과 공통 값을 출력하고 아니면 두 개의 s값을 출력한다.
1. m 에 커밋한다(커밋먼트 계산).
1.1
Figure pat00274
1.2
Figure pat00275
2. t값을 계산한다.
2.1 랜덤 정수를 선택한다.
Figure pat00276
,
Figure pat00277
2.2 아래와 같이 계산한다.
Figure pat00278
Figure pat00279
3. t
Figure pat00280
Figure pat00281
, 공통 값 C를 계산한다.
4. s 값을 계산한다.
Figure pat00282
범위 내에서 아래와 같이 계산한다.
4.1
Figure pat00283
4.2
Figure pat00284
이하, NOT 연산자 증명 데이터 생성 프로토콜에 대해 설명한다.
입력은 PrimeEncodePredicate p (with NOT operator), [c]이고, 출력은 만약
Figure pat00285
라면 하나의 t 값과 공통 값을 출력하고 아니면 세 개의 s 값을 출력한다.
1. m에 커밋하고 지수를 계산한다.
1.1
Figure pat00286
1.2
Figure pat00287
1.3
Figure pat00288
1.4
Figure pat00289
를 만족하는 a와 b를 계산한다.
1.5
Figure pat00290
2. t 값을 계산한다.
2.1
Figure pat00291
2.2
Figure pat00292
3. t
Figure pat00293
과 공통 값 C를 출력한다.
4. s 값을 계산한 뒤 출력한다.
Figure pat00294
범위내에서 아래와 같이 계산한다.
4.1
Figure pat00295
4.2
Figure pat00296
4.3
Figure pat00297
이하, 부등 증명 데이터 생성 프로토콜에 대해 설명한다. 이는 <, ≤,>,≥ 연산자에 대한 증명 프로토콜이다.
입력은 InequalityPredicate p, [c]이고, 출력은 만약
Figure pat00298
라면 여섯 개의 t 값과 다섯 개의 공통 값을 출력하고 아니면 10개의 s 값을 출력한다.
1. 증명 데이터 설정 (Proof setup)
1.1 정의
Figure pat00299
그리고
Figure pat00300
Figure pat00301
는 조건식이 참이라면 항상 양수로 표현된다. 따라서
Figure pat00302
<0라면, 증명은 실패로 간주하고 ⊥를 반환한다.
1.2 네 개의 제곱의 합으로
Figure pat00303
를 표현한다.
Figure pat00304
1.3
Figure pat00305
,
Figure pat00306
를 선택하고 아래와 같이 계산한다.
Figure pat00307
그리고
Figure pat00308
,
Figure pat00309
,
Figure pat00310
,
Figure pat00311
를 계산한다.
2. t 값을 계산한다.
2.1
Figure pat00312
Figure pat00313
Figure pat00314
Figure pat00315
를 선정하고 아래와 같이 계산한다.
Figure pat00316
Figure pat00317
은 하위 증명 프로토콜에 공유되는 랜덤 값이다.
2.2
Figure pat00318
Figure pat00319
로 선정하고 아래와 같이 계산한다.
Figure pat00320
2.3 t 값을 출력함 :
Figure pat00321
, ... ,
Figure pat00322
,
Figure pat00323
, Q
2.4 공통 출력 값 :
Figure pat00324
,...
Figure pat00325
3. s 값을 계산한다.
3.1
Figure pat00326
에 대해,
Figure pat00327
3.2
Figure pat00328
3.3
Figure pat00329
3.4
Figure pat00330
를 계산하고
Figure pat00331
을 출력한다.
이하, 커밋먼트 증명 데이터 생성 프로토콜에 대해 설명한다.
입력은 comm, CommitmentPredicate p, [c]이고, 출력은 만약
Figure pat00332
라면 하나의 t 값을 출력하고 아니면 하나의 s 값을 출력한다.
커밋먼트 comm
Figure pat00333
로 표현된다.
Figure pat00334
,
Figure pat00335
는 발급자의 공개키이고
Figure pat00336
,…,
Figure pat00337
는 커밋 값이다.
1. t 값을 계산한다.
1.1 랜덤 정수를 선택한다.
Figure pat00338
1.2
Figure pat00339
은 증명 생성 단계 0.1에서 선택된 값이고 아래와 같이 계산한다.
Figure pat00340
2. 응답 값을 계산한다.
2.1
Figure pat00341
범위 내에서 계산하고
Figure pat00342
을 출력한다.
이하, 표현(Representation) 증명 데이터 생성 프로토콜에 대해 설명한다.
입력은 rep, RepresentationPredicate p, [c]이고, 출력은 만약
Figure pat00343
라면 하나의 t 값을 출력하고 아니면 하나의 s 값을 출력한다.
1. 아래의 값을 계산하고 t 값을 출력한다. 숨겨진 식별자에 대응되는 x j 의 모든 j에 대해
Figure pat00344
를 계산한다.
표현(Representation)은 일반적으로 커밋먼트의 베이스(bases)는 공개키로 구성되지만, 해당 베이스를 임의로 선정하였다면 이를 표현 (Representation) 라고 부른다.
이하, 가명(Pseudonyms)/도메인 가명(Domain Pseudonyms) 증명 데이터 생성 프로토콜에 대해 설명한다.
입력은 nym and/or dNym, NymPredicate and/or DomNymPredicate p, [c]이고, 출력은 만약
Figure pat00345
라면 하나의 t 값을 출력하고 아니면 하나의 s 값을 출력한다.
1. t 값을 출력한다.
1.1 랜덤 정수 값을 선택한다.
Figure pat00346
1.2 증명 생성 단계 0.1에서 선택한
Figure pat00347
값에 대해,
Figure pat00348
(발급자 검증 시 사용되는 속성 값들로 사용자의 가명 정보를 포함한 속성 값의 인덱스 번호가 변경됨)
2. s 값을 생성하고 출력한다.
Figure pat00349
이하, 검증 가능한 암호 증명 데이터 생성 프로토콜에 대해 설명한다. 이는 속성 검증 가능한 암호화 된 값의 증명 프로토콜이다.
입력은 verEnc, VerEncPredicate p, [c]이고, 출력은 만약 만약
Figure pat00350
라면 3 t 값들을 출력하고 아니면 하나의 s 값을 출력한다.
1. t 값을 계산한다.
1.1 랜덤 정수를 선택한다.
Figure pat00351
1.2 아래와 같이 계산한다.
Figure pat00352
and
Figure pat00353
1.3 t 값들을 출력한다 :
Figure pat00354
2. s 값을 계산한다. :
Figure pat00355
,
술부(predicate) p는 공개키를 포함한다.
암호문(u, v, e)과 랜덤값 r 은 증명자가 로드한다.
6. 이하, 익명 인증 시스템 적용 방안의 증명데이터 검증 절차(검증자)에 대해 설명한다.
이하, 증명 데이터 검증 프로토콜에 대해 설명한다. 이는 사용자로부터 받은 증명 데이터를 검증하는 알고리즘이다.
입력은 S, P = (c, s, Common),
Figure pat00356
이고, 출력은 P의 허용 또는 거부이다.
1.
Figure pat00357
값을 계산한다.
1.1 각 술부(predicate)
Figure pat00358
Figure pat00359
는 적절한 하위 검증 프로토콜을 호출한다. 각 하위 검증자는 Common으로 부터 적절한 공통 값과
Figure pat00360
값을 저장하기 위해 목록
Figure pat00361
에 접근한다. 하위 검증 프로토콜은 s 값들에 접근할 수 있다.
2. 검증 도전(verfication challenge)를 계산한다.
2.1.
Figure pat00362
3. 도전 값이 같은지 확인한다.
3.1 만약
Figure pat00363
라면 P를 허용하고 아니면 거절한다.
이하, CL 서명 데이터 검증 프로토콜에 대해 설명한다.
사용자로부터 받은 증명서가 유효한 증명서임을 확인하는 프로토콜
입력은 인증서 구조체, CLPredicate p이고, 출력은 한 개의
Figure pat00364
값이다.
1. 아래와 같이 계산한다.
Figure pat00365
2. 길이를 검증한다.
Figure pat00366
for
Figure pat00367
Figure pat00368
3.
Figure pat00369
를 출력한다.
이하, AND 연산자 증명 데이터 검증 프로토콜에 대해 설명한다. AND 연산자 증명 데이터의 유효성을 판단한다.
입력은 PrimeEncodePredicate p (with AND operator)이고, 출력은 한 개의
Figure pat00370
값이다.
1. 아래와 같이 계산한다.
Figure pat00371
2. 길이를 검증한다.
Figure pat00372
3.
Figure pat00373
,
Figure pat00374
를 출력한다.
이하, NOT 연산자 증명 데이터 검증 프로토콜에 대해 설명한다. NOT 연산자 증명 데이터의 유효성을 판단한다.
입력은 PrimeEncodePredicate p (with NOT operator)이고, 출력은 한 개의
Figure pat00375
값이다.
Figure pat00376
p안에서 지정된 식별자에 대응되는 s 값,
Figure pat00377
은 상수라고 가정한다.
Figure pat00378
,
Figure pat00379
,
Figure pat00380
와 C 는 해당 프로토콜의 출력 값이다.
1. 아래와 같이 계산한다.
Figure pat00381
2. 길이를 검증한다.
Figure pat00382
3.
Figure pat00383
를 출력한다.
이하, 부등 증명 데이터 검증 프로토콜에 대해 설명한다. <, ≤,>,≥ 연산자에 대한 증명 검증 프로토콜이다.
입력은 InequalityPredicate p이고, 출력은 한 개의
Figure pat00384
값이다.
1. 필요시
Figure pat00385
를 계산하고 c를 업데이트한다.
Figure pat00386
Figure pat00387
2. t값을 계산한다.
2.1 아래의 값을 계산한다.
Figure pat00388
2.2
Figure pat00389
에 대해, 아래의 연산을 수행한다.
Figure pat00390
2.3 아래의 값을 계산한다.
Figure pat00391
3. t
Figure pat00392
,
Figure pat00393
, ...,
Figure pat00394
,
Figure pat00395
를 출력한다.
이하, 커밋먼트 증명 데이터 검증 프로토콜에 대해 설명한다.
입력은 comm, CommitmentPredicate p이고, 출력은 한 개의
Figure pat00396
값이다.
Figure pat00397
s 값이고,
Figure pat00398
Figure pat00399
는 커밋먼트 증명 데이터 생성 프로토콜에서 정의된 값이다.
1. 아래의 값을 계산한다.
Figure pat00400
Figure pat00401
2.
Figure pat00402
를 출력한다.
이하, 가명(Pseudonyms)/도메인 가명(Domain Pseudonyms) 증명 데이터 검증 프로토콜에 대해 설명한다.
입력은 nym 또는 dNym, PsudonymPredicate or DomainNymPredicate p이고, 출력은 한 개의
Figure pat00403
값이다.
p는 값
Figure pat00404
를 가리키는 프로토콜이다.
1. 아래의 값을 계산한다.
Figure pat00405
(발급자 검증 시 사용되는 속성 값들로 사용자의 가명 정보를 포함한 속성 값의 인덱스 번호가 변경됨)
2.
Figure pat00406
와/또는
Figure pat00407
를 출력한다.
이하, 검증 가능한 암호 증명 데이터 검증 프로토콜에 대해 설명한다. 속성 검증 가능한 암호화 된 값의 증명 검증 프로토콜이다.
입력은 verEnc, ProveVerEnc p이고, 출력은 세 개의
Figure pat00408
값이다.
p는 값
Figure pat00409
Figure pat00410
을 수신하는 프로토콜이다.
1. 아래의 값을 계산한다.
Figure pat00411
2.
Figure pat00412
를 출력한다.
7. 기타
도 17 내지 도 19는 그룹 멤버, 사용자, 검증자 간의 흐름을 도시한다.
한편, 본 발명의 실시예에 따른 발행인 익명성 인증서 시스템을 위한 분산화된 그룹 서명 방법은 컴퓨터 시스템에서 구현되거나, 또는 기록매체에 기록될 수 있다. 컴퓨터 시스템은 적어도 하나 이상의 프로세서와, 메모리와, 사용자 입력 장치와, 데이터 통신 버스와, 사용자 출력 장치와, 저장소를 포함할 수 있다. 전술한 각각의 구성 요소는 데이터 통신 버스를 통해 데이터 통신을 한다.
컴퓨터 시스템은 네트워크에 커플링된 네트워크 인터페이스를 더 포함할 수 있다. 프로세서는 중앙처리 장치(central processing unit (CPU))이거나, 혹은 메모리 및/또는 저장소에 저장된 명령어를 처리하는 반도체 장치일 수 있다.
메모리 및 저장소는 다양한 형태의 휘발성 혹은 비휘발성 저장매체를 포함할 수 있다. 예컨대, 메모리는 ROM 및 RAM을 포함할 수 있다.
따라서, 본 발명의 실시예에 따른 발행인 익명성 인증서 시스템을 위한 분산화된 그룹 서명 방법은 컴퓨터에서 실행 가능한 방법으로 구현될 수 있다. 본 발명의 실시예에 따른 발행인 익명성 인증서 시스템을 위한 분산화된 그룹 서명 방법이 컴퓨터 장치에서 수행될 때, 컴퓨터로 판독 가능한 명령어들이 본 발명에 따른 그룹 서명 방법을 수행할 수 있다.
한편, 상술한 본 발명에 따른 발행인 익명성 인증서 시스템을 위한 분산화된 그룹 서명 방법은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현되는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체로는 컴퓨터 시스템에 의하여 해독될 수 있는 데이터가 저장된 모든 종류의 기록 매체를 포함한다. 예를 들어, ROM(Read Only Memory), RAM(Random Access Memory), 자기 테이프, 자기 디스크, 플래시 메모리, 광 데이터 저장장치 등이 있을 수 있다. 또한, 컴퓨터로 판독 가능한 기록매체는 컴퓨터 통신망으로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 읽을 수 있는 코드로서 저장되고 실행될 수 있다.
이제까지 본 발명의 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.

Claims (15)

  1. (a) 그룹 서명 방법의 구성 요소 및 각 그룹 멤버가 생성하고 공유하는 정보를 정의하는 시스템 초기 설정 단계;
    (b) 그룹 멤버 초기 설정 단계;
    (c) 새로운 그룹 멤버를 그룹에 추가시키는 그룹 멤버 참여 단계;
    (d) 특정 메시지에 그룹 서명을 하는 그룹 서명 단계;
    (e) 그룹 서명을 검증하는 단계;
    (f) 특정 그룹 멤버에게 서명된 그룹 서명으로부터 그룹 구성원의 동의를 얻어 익명성을 제거하는 단계; 및
    (g) 특정 그룹 멤버를 그룹 구성원의 동의를 얻어 추방하는 단계
    를 포함하고, 그룹 매니저의 독자적 권한을 그룹 멤버들이 분할하여 가지는 것을 특징으로 하는 발행인 익명성 인증서 시스템을 위한 분산화된 그룹 서명 방법.
  2. 제1항에 있어서,
    상기 (a) 단계에서 상기 그룹 멤버는 초기 그룹 멤버수, 합의에 필요한 정족수, 그룹 멤버의 공개키, 해쉬 함수, 커미트먼트 생성 함수를 알고 있으며, 공개키쌍 및 식별자쌍을 생성하고 공개 값을 상호 공유하는 것
    인 발행인 익명성 인증서 시스템을 위한 분산화된 그룹 서명 방법.
  3. 제1항에 있어서,
    상기 (b) 단계는 각 그룹 멤버 별 다항식 생성 단계, 각 그룹 멤버 별 다항식 검증 데이터 공유 단계, 각 그룹 멤버 별 다항식 값 공유 단계, 각 그룹 멤버 별 다항식 및 검증 데이터 결합 단계 및 결합된 다항식 검증 단계를 포함하는 것
    인 발행인 익명성 인증서 시스템을 위한 분산화된 그룹 서명 방법.
  4. 제3항에 있어서,
    상기 각 그룹 멤버 별 다항식 생성 단계는 익명성 제거 시 사용되는 다항식 및 서명 시 사용되는 다항식을 생성하는 것
    인 발행인 익명성 인증서 시스템을 위한 분산화된 그룹 서명 방법.
  5. 제3항에 있어서,
    상기 각 그룹 멤버 별 다항식 검증 데이터 공유 단계는 다항식의 무결성을 확인하기 위한 다항식 커밋먼트 값을 생성하고, 각 그룹 멤버가 공개 파라미터를 생성하고 공유하는 것
    인 발행인 익명성 인증서 시스템을 위한 분산화된 그룹 서명 방법.
  6. 제3항에 있어서,
    상기 각 그룹 멤버 별 다항식 값 공유 단계는 그룹 멤버의 블라인드 식별자에 대한 다항식 값을 계산하고, 해당 값을 검증하는 것
    인 발행인 익명성 인증서 시스템을 위한 분산화된 그룹 서명 방법.
  7. 제3항에 있어서,
    상기 각 그룹 멤버 별 다항식 및 검증 데이터 결합 단계는 공통의 그룹 파라미터 생성을 위해 각 그룹 멤버가 생성한 값들을 결합하는 것
    인 발행인 익명성 인증서 시스템을 위한 분산화된 그룹 서명 방법.
  8. 제1항에 있어서,
    상기 (c) 단계는 신규 그룹 멤버 참여를 위한 각 그룹 멤버의 데이터 공유 단계, 신규 그룹 멤버 다항식 구성 단계 및 신규 그룹 멤버의 다항식 검증 단계를 포함하는 것
    인 발행인 익명성 인증서 시스템을 위한 분산화된 그룹 서명 방법.
  9. 제8항에 있어서,
    상기 신규 그룹 멤버 참여를 위한 각 그룹 멤버의 데이터 공유 단계는 익명 인증 시스템과 연동하기 위한 그룹 멤버 식별자를 이용하여 신규 그룹 멤버의 그룹 참여 요청이 이루어지면, 기존 그룹 멤버의 응답이 수행되는 것
    인 발행인 익명성 인증서 시스템을 위한 분산화된 그룹 서명 방법.
  10. 제8항에 있어서,
    상기 신규 그룹 멤버 다항식 구성 단계는 신규 그룹 멤버가 기설정 기준 이상의 멤버로부터 응답을 받을 경우 본인이 그룹 멤버로서 사용할 다항식을 구성하는 것
    인 발행인 익명성 인증서 시스템을 위한 분산화된 그룹 서명 방법.
  11. 제10항에 있어서,
    상기 신규 그룹 멤버의 다항식 검증 단계는 상기 신규 그룹 멤버가 자신이 생성한 다항식을 검증하되, 검증 실패의 경우 잘못된 값을 준 그룹 멤버를 특정하는 것
    인 분산화된 그룹 서명 방법.
  12. 제1항에 있어서,
    상기 (d) 단계는 서명 시 필요한 개별 데이터 생성 단계, 수신한 개별 데이터 검증 단계, 서명한 인원 확인 시 사용할 다항식 구성 단계, 수신한 개별 데이터 결합 및 메시지 서명 단계, 메시지 부분 서명 데이터 전송 단계, 수신한 부분 서명 데이터 검증 및 서명 값 생성 단계를 포함하는 것
    인 발행인 익명성 인증서 시스템을 위한 분산화된 그룹 서명 방법.
  13. 제12항에 있어서,
    상기 서명 시 필요한 개별 데이터 생성 단계는 각 그룹 멤버가 임의의 랜덤 값을 선택하고, 서명 구성을 위해 생성한 개별 서명 데이터를 생성하며, 각 그룹 멤버에게 생성된 개별 서명 데이터를 전송하는 것
    인 발행인 익명성 인증서 시스템을 위한 분산화된 그룹 서명 방법.
  14. 제1항에 있어서,
    상기 (f) 단계는 이상 그룹 멤버의 정보를 공유하고, 각 매니저는 다항식을 복구한 뒤 검증하여 사용자 정보를 확인하는 것
    인 발행인 익명성 인증서 시스템을 위한 분산화된 그룹 서명 방법.
  15. 제14항에 있어서,
    상기 (g) 단계는 상기 (f) 단계에서 밝혀진 그룹 멤버를 추방하되, 기설정 수 이상의 그룹 멤버가 추방 멤버 리스트에 서명하고, 추방 멤버가 사용한 값을 확인하는 것
    인 발행인 익명성 인증서 시스템을 위한 분산화된 그룹 서명 방법.
KR1020190139894A 2019-11-05 2019-11-05 발행인 익명성 인증서 시스템을 위한 분산화된 그룹 서명 방법 KR102372718B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020190139894A KR102372718B1 (ko) 2019-11-05 2019-11-05 발행인 익명성 인증서 시스템을 위한 분산화된 그룹 서명 방법
US17/088,998 US11750404B2 (en) 2019-11-05 2020-11-04 Decentralized group signature scheme for credential systems with issuer anonymization

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190139894A KR102372718B1 (ko) 2019-11-05 2019-11-05 발행인 익명성 인증서 시스템을 위한 분산화된 그룹 서명 방법

Publications (2)

Publication Number Publication Date
KR20210054146A true KR20210054146A (ko) 2021-05-13
KR102372718B1 KR102372718B1 (ko) 2022-03-11

Family

ID=75688064

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190139894A KR102372718B1 (ko) 2019-11-05 2019-11-05 발행인 익명성 인증서 시스템을 위한 분산화된 그룹 서명 방법

Country Status (2)

Country Link
US (1) US11750404B2 (ko)
KR (1) KR102372718B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102435349B1 (ko) * 2021-11-05 2022-08-23 주식회사 스마트엠투엠 프라이빗 블록체인 기반의 비식별화된 센싱 데이터 처리 방법 및 시스템
KR102439195B1 (ko) * 2022-05-03 2022-08-31 세종대학교산학협력단 다중 서명 생성 방법 및 시스템과 이를 수행하기 위한 컴퓨팅 장치

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3675087B1 (en) * 2017-08-22 2023-10-11 Nippon Telegraph And Telephone Corporation Agreement system, agreement apparatus, program, and recording medium
EP4049406A1 (en) * 2019-10-23 2022-08-31 "Enkri Holding", Limited Liability Company Method and system for anonymous identification of a user
CN114172668B (zh) * 2022-02-10 2022-07-05 亿次网联(杭州)科技有限公司 一种基于数字证书的群成员管理方法和系统

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7543139B2 (en) * 2001-12-21 2009-06-02 International Business Machines Corporation Revocation of anonymous certificates, credentials, and access rights
KR100537514B1 (ko) 2003-11-01 2005-12-19 삼성전자주식회사 그룹 구성원의 신원 정보를 기반으로 한 전자 서명 방법및 전자 서명을 수행한 그룹 구성원의 신원 정보를획득하기 위한 방법 및 그룹 구성원의 신원 정보를기반으로 한 전자 서명 시스템
DE102005004611A1 (de) * 2005-02-01 2006-08-10 Siemens Ag Verfahren und Vorrichtung zur Kontrolle von Netzelementen in einem dezentralen Netzwerk
US20100122080A1 (en) 2008-11-11 2010-05-13 Electronics And Telecommunications Research Institute Pseudonym certificate process system by splitting authority
KR101543711B1 (ko) 2011-10-11 2015-08-12 한국전자통신연구원 짧은 서명을 제공하는 경량 그룹서명 방법 및 장치
FR3003713B1 (fr) 2013-03-25 2016-10-07 Morpho Signature de groupe utilisant un pseudonyme
GB2552453A (en) * 2016-05-23 2018-01-31 Maidsafe Found Method of creating a data chain in a data structure that can be cryptographically proven to contain valid data
GB201711878D0 (en) * 2017-07-24 2017-09-06 Nchain Holdings Ltd Computer - implemented system and method
DE112017008311T5 (de) * 2017-12-29 2020-09-17 Intel Corporation Technologien zur internet-der-dinge-schlüsselverwaltung
US20210014073A1 (en) * 2018-03-22 2021-01-14 Communication Security Group Inc. Decentranlised communication system and method
US20210273807A1 (en) * 2018-07-31 2021-09-02 Oded Wertheim Scaling and accelerating decentralized execution of transactions
JP2022538697A (ja) * 2019-03-20 2022-09-05 デフィニティ スティフトゥング ブラインド識別情報を有する分散ネットワーク
US11451406B2 (en) * 2019-04-04 2022-09-20 Moac Blockchain Tech Inc Cross-chain messaging and message validation
JP7238977B2 (ja) * 2019-05-27 2023-03-14 日本電信電話株式会社 匿名署名システム及び匿名署名方法
CN112513914A (zh) * 2020-07-03 2021-03-16 支付宝(杭州)信息技术有限公司 基于区块链的隐私交易中提供隐私和安全保护的系统和方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
NASIMA BEGUM et al., Efficiency Improvement in Group Signature Scheme with Probabilistic Revocation, Journal of Information Processing Vol.27 (2019.09.) *
WANG Xiao-Ming, Distributed and Dynamic Threshold Group Signature Scheme, 2008 11th IEEE Singapore International Conference on Communication Systems (2008.11.19.) *
Yisen Cao et al., Decentralized Group Signature Scheme based on Blockchain, International Conference on Communications, Information System and Computer Engineering (CISCE), (2019.07.05.) *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102435349B1 (ko) * 2021-11-05 2022-08-23 주식회사 스마트엠투엠 프라이빗 블록체인 기반의 비식별화된 센싱 데이터 처리 방법 및 시스템
KR102439195B1 (ko) * 2022-05-03 2022-08-31 세종대학교산학협력단 다중 서명 생성 방법 및 시스템과 이를 수행하기 위한 컴퓨팅 장치

Also Published As

Publication number Publication date
US11750404B2 (en) 2023-09-05
US20210135879A1 (en) 2021-05-06
KR102372718B1 (ko) 2022-03-11

Similar Documents

Publication Publication Date Title
CN110391911B (zh) 区块链匿名投票系统及方法
KR102372718B1 (ko) 발행인 익명성 인증서 시스템을 위한 분산화된 그룹 서명 방법
JP5468157B2 (ja) 公開鍵を検証可能に生成する方法及び装置
US7590850B2 (en) Digital signature method based on identification information of group members, and method of acquiring identification information of signed-group member, and digital signature system for performing digital signature based on identification information of group members
US8650403B2 (en) Crytographic method for anonymous authentication and separate identification of a user
US8930704B2 (en) Digital signature method and system
JP5205398B2 (ja) 鍵認証方式
US9882890B2 (en) Reissue of cryptographic credentials
Smyth et al. Direct Anonymous Attestation (DAA): Ensuring privacy with corrupt administrators
US10846372B1 (en) Systems and methods for trustless proof of possession and transmission of secured data
JP2008503966A (ja) 匿名証明書呈示に関する匿名証明書
WO2017195886A1 (ja) 認証システム、認証方法およびプログラム
Morrissey et al. The TLS handshake protocol: A modular analysis
CN112380584B (zh) 区块链数据更新方法、装置、电子设备和存储介质
CN113360943A (zh) 一种区块链隐私数据的保护方法及装置
WO2019110399A1 (en) Two-party signature device and method
MacKenzie et al. Threshold password-authenticated key exchange
JP2023539432A (ja) しきい値署名
US20010021256A1 (en) Method for preventing key share attacks
JP3513324B2 (ja) ディジタル署名処理方法
WO2019174404A1 (zh) 一种群组数字签名、验证方法及其设备和装置
CN111314059A (zh) 账户权限代理的处理方法、装置、设备及可读存储介质
Byun PDAKE: a provably secure PUF-based device authenticated key exchange in cloud setting
CN110572257B (zh) 基于身份的数据来源鉴别方法和系统
Abraham An abuse-free optimistic contract signing protocol with multiple TTPs

Legal Events

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