KR102477363B1 - 효율적인 키 폐기가 가능한 익명 속성 증명 시스템 및 방법 - Google Patents

효율적인 키 폐기가 가능한 익명 속성 증명 시스템 및 방법 Download PDF

Info

Publication number
KR102477363B1
KR102477363B1 KR1020200151238A KR20200151238A KR102477363B1 KR 102477363 B1 KR102477363 B1 KR 102477363B1 KR 1020200151238 A KR1020200151238 A KR 1020200151238A KR 20200151238 A KR20200151238 A KR 20200151238A KR 102477363 B1 KR102477363 B1 KR 102477363B1
Authority
KR
South Korea
Prior art keywords
key
attribute
signing
signing key
issuer
Prior art date
Application number
KR1020200151238A
Other languages
English (en)
Other versions
KR20220064766A (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 KR1020200151238A priority Critical patent/KR102477363B1/ko
Publication of KR20220064766A publication Critical patent/KR20220064766A/ko
Application granted granted Critical
Publication of KR102477363B1 publication Critical patent/KR102477363B1/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/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/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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • 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/3215Cryptographic 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 a plurality of channels
    • 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)

Abstract

본 발명은 익명 속성 증명 시스템에 관한 것으로서, 사용자가 사용하는 기기로서, 통신망을 통해 유무선 통신이 가능한 사용자 기기, 초기 시스템 공개키를 생성하고, 이에 대응하는 발급키(issuing key)를 생성하고, 상기 사용자 기기로부터 속성서명키 발급 요청이 있으면 상기 발급키를 이용하여 상기 사용자 기기에게 다중의 속성 정보들과 결합된 속성서명키를 발급하고, 발급한 속성서명키를 유효한 속성서명키 목록을 통해 관리하며, 상기 사용자 기기로부터 속성서명키 폐기 요청이 있는 경우, 키 폐기 이벤트에 기반하여 속성서명키 폐기 절차를 진행하고, 이와 관련하여 시스템 공개키를 갱신하고, 폐기된 속성서명키 목록을 관리하는 속성서명키 발급자, 상기 사용자 기기로부터 유효한 익명 속성 증명 서명이 주어진 경우, 확인키(opening key)를 이용하여 서명자가 누구인지 확인한 결과인 서명자 증명 정보를 출력하는 확인자 및 유효한 두 개의 익명 속성 증명 서명들이 주어진 경우, 연결키(linking key)를 이용하여 서로 연결되는지 여부를 확인한 결과를 출력하는 연결자를 포함한다.

Description

효율적인 키 폐기가 가능한 익명 속성 증명 시스템 및 방법 {Anonymous Attribute Proof System and Method with Efficient Key Revocation}
본 발명은 익명성을 유지하면서도 비밀 서명키를 효과적으로 폐기할 수 있는 암호학적 익명 속성 증명 시스템 및 방법에 관한 것으로, 기본적으로 정당한 사용자는 가입 시 발급받은 유효한 속성 증명 서명키를 이용하여 서명키와 결합된 다중의 속성값들이 일정한 명제를 만족함을 보이는 익명 속성 증명 서명값들을 생성할 수 있고, 키 손실, 망실, 도난, 해킹 등의 다양한 이유로 키를 폐기해야 하는 경우에는 효과적으로 비밀서명키를 폐기할 수 있는 방법에 대한 것이다.
정보통신 서비스가 공공, 의료/헬스케어, 금융, 기반인프라 시설 등 사회 전반의 영역에서 지능화 및 고도화되면서, 다양한 사용자 속성 및 자격 정보들을 필요한 정보만 노출시키면서 증명할 수 있는 인증 수단이 광범위하게 필요해지고 있다.
기존에 많이 알려진 ID/패스워드(id/password) 기반 로그인 방법, PKI 전자서명 기법, 그리고 i-Pin 기법 등 전통적인 인증기법들은 개인정보의 등록 및 확인 과정에서의 정보 노출, 서비스 제공자의 과도한 개인정보 수집 및 관리 부주의로 인한 유출, 광범위한 사용자 추적의 문제 등과 같이 프라이버시 측면에서 많은 단점을 가지고 있다. 이러한 단점들을 극복하고 사용자의 프라이버시(privacy)를 보호하기 위한 다양한 형태의 암호학적 인증 기법들이 최근 다양한 형태로 연구되고 있다.
대표적인 예로는, 익명 신용장(anonymous credential), DAA(Direct Anonymous Attestation), 그룹서명(group signature) 기법 등을 들 수 있다.
익명 신용장 기법은 다중의 속성 정보를 증명할 수 있는 익명 인증 기법이다. 다수의 속성 항목들을 포함한 크리덴셜(credential)을 발급받은 사용자는, 이 항목들 중, 서비스에 따라 필요한 항목만을 노출시키고 나머지는 감출 수 있는 부분은닉이 가능하다. 서명값으로부터 서명자의 익명성이 보장되며 다중의 서명값들이 주어졌을 때 단일 서명자가 생성했는지 알 수 없도록 비연결성(unlinkability)을 제공한다. 이 기법은 1991년에 기본 개념이 제시되었으며, Camenisch와 Lysyanskaya에 의해서 구체적인 구성 방법들이 제시되었다. IBM의 Identity Mixer는 대표적인 익명 신용장 기법 중 하나이다.
DAA 기법은 기기 사용자의 프라이버시 보호를 위해서 기기 또는 컴퓨터의 원격 인증을 가능하게 해 주는 익명 인증 기법이다. DAA는 사용자 제어형 연결성(user-controlled linkability)을 제공하는 익명 인증 기법이다. 사용자 제어형 연결성은 사용자가 베이스네임(basename)으로 불리우는 일종의 고정 태그 정보를 이용하여 서명의 연결 가능성을 결정할 수 있는 특성을 의미한다.
책임성을 고려한 프라이버시를 위한 대표적인 암호학적 인증 기법 중 하나로 그룹서명(group signature) 기법이 알려져 있다. 1991년 Chaum과 Heyst에 의해 최초로 기본 개념이 제시된 이후로, 다양한 보안 요구사항들과 형식적 모델에 기반한 구체적인 기법들이 많이 제안되어 오고 있다.
그룹 서명 기법은 기본적으로 서명값으로부터 서명자의 신원 정보 또는 신원 식별자(identifier)가 노출되지 않는다. 즉, 서명은 겉으로 단지 그룹 맴버 중 한 사용자가 메시지에 대한 서명을 생성했음을 증명한다. 또한 여러 개의 서명값들이 주어졌을 때 동일한 서명자가 생성했는지 알 수 없도록 비연결성(unlinkability)을 제공한다. 그룹서명은 책임성을 위해서 '제어가능 익명성'을 제공한다. 제어가능 익명성은 확인키(opening key)가 주어질 경우, 서명자의 식별자를 확인할 수 있는 기능을 의미한다. 예를 들어서, 서명 행위에 대한 문제가 발생할 경우 책임을 부과하거나 서명자 증명을 통해 서명자에게 수혜를 제공하기 위해서 이용될 수 있다. 하지만 서명자의 식별자를 은닉/복구하는 이분법적인 구조로 단편적인 익명성을 다루고 있어 실제적인 응용 환경에서는 활용에 제한을 가지게 된다. 서비스를 제공하는 측면에서는 단순한 식별자 은닉/복구 제어만으로는 서비스 제공으로부터 얻은 본래의 목적을 달성하기 쉽지 않기 때문이다.
단순한 제어가능 익명성을 제공하는 전통적인 그룹 서명 기법들을 확장하여 “제어가능 연결성(controllable linkability)”을 제공하는 그룹서명 기법도 제시되고 있다. 제어가능 연결성은 특별한 연결키(linking key)가 주어질 경우에는 서명 값들이 서로 연결됨(즉, 한 서명자 또는 서명자키에 의해서 서명값들이 생성되었음)을 확인할 수 있는 기능을 의미한다. 이러한 특성을 이용하면, 신원정보의 익명성을 유지하면서, 즉 신원 식별자를 드러내지 않으면서도, 서비스제공자는 다양한 익명성 기반의 서비스들을 제공할 수 있다. 예를 들어, 웹 기반의 개인화된 익명 인증 서비스 또는 데이터 마이닝의 경우, 사용자를 노출시키지 않으면서 익명 인증 데이터를 분석하여 유용한 정보를 제공할 수 있다.
상기에서 설명한 그룹 서명 기법들은 모두 단일 식별자만 은닉/노출 처리할 수 있는 한계를 가지고 있다. 현재의 지능화되고 고도화된 ICT 응용분야에서 개인 신원정보는 이름, 생년월일, 성별, 주소, 소지한 신용카드 정보, 학력과 같은 다양한 속성정보들의 집합들로 구성되며 헬스케어, 소셜, 교육, 직장, 취미, 전자상거래 등 응용분야에 따라서 다양한 속성들의 조합을 개인 정보로 활용한다. 사용자 정보의 오남용을 막고 응용에 따라서 필요한 속성 증명 정보만 제공하여 사용자 프라이버시를 보호하며 책임성 또는 부인방지 기능을 제공할 수 있는 익명 인증 방법 및 시스템도 제시되고 있다.
그러나 상기 기법 및 시스템들은 대부분 익명성(anonymity)과 연결성(linkability)의 제어 기능에 초점이 맞추어져 기술이 연구/개발되어오고 있다. 기본적으로 서명 및 인증 시스템에서는 키 관리 기능, 즉 유효한 키 생성 및 키 폐기 기능이 올바르게 제공되어야 한다. 다시 말하면, 사용자가 익명성을 제공하는 속성 증명 시스템에 가입하여 유효한 서명키를 발급받아 이용할 수 있어야 하며, 동시에 키 손실, 망실, 도난, 해킹 등의 다양한 이유로 키를 폐기해야 하는 경우에는 효과적으로 개인서명키를 폐기하는 방법도 제공되어야 한다. 전통적인 실명 기반의 PKI 시스템에서는 소위 CRL(Certifiate Revocation List)관리를 통하여 쉽게 키 폐기 기능을 구현할 수 있다. 예를 들어, 검증자는 주어진 서명의 생성자의 공개키가 CRL 목록에 있다면 유효하지 않는 서명값으로 판단하면 된다. 하지만 익명 속성 증명 시스템에서는 생성되는 서명의 서명자를 알 수 없으므로 근본적으로 CRL기반의 키 폐기 방법을 적용할 수가 없게 된다. 사실 학계 및 산업계에서 익명 속성 증명 시스템에서 키 폐기 방법은 매우 어려운 문제로 알려져 있다.
종래 익명서명 기법에서 제 3자가 키폐기 여부 결과를 확인해 주는 방법을 적용할 수 있으나, 이 경우 매 익명서명으로부터 서명자를 확인하는 과정을 거쳐야 하므로, 시스템의 통신 오버헤드에 부담이 커져 실행 성능이 급격히 저하된다는 문제점이 있다. 뿐만아니라 익명서명으로부터 서명자를 확인하는 과정에서 프라이버시 침해가 발생하며 키폐기 여부에 대해 제 3자를 신뢰해야 하는 근원적인 어려움이 있다.
대한민국 특허등록 제10-1425552호
본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로서, 익명성을 유지하면서도 비밀 서명키를 효과적으로 폐기할 수 있는 암호학적 익명 속성 증명 시스템 및 방법을 제공하는데 그 목적이 있다.
본 발명의 목적은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
이와 같은 목적을 달성하기 위한 본 발명은 익명 속성 증명 시스템에 관한 것으로서, 사용자가 사용하는 기기로서, 통신망을 통해 유무선 통신이 가능한 사용자 기기, 초기 시스템 공개키를 생성하고, 이에 대응하는 발급키(issuing key)를 생성하고, 상기 사용자 기기로부터 속성서명키 발급 요청이 있으면 상기 발급키를 이용하여 상기 사용자 기기에게 다중의 속성 정보들과 결합된 속성서명키를 발급하고, 발급한 속성서명키를 유효한 속성서명키 목록을 통해 관리하며, 상기 사용자 기기로부터 속성서명키 폐기 요청이 있는 경우, 키 폐기 이벤트에 기반하여 속성서명키 폐기 절차를 진행하고, 이와 관련하여 시스템 공개키를 갱신하고, 폐기된 속성서명키 목록을 관리하는 속성서명키 발급자, 상기 사용자 기기로부터 유효한 익명 속성 증명 서명이 주어진 경우, 확인키(opening key)를 이용하여 서명자가 누구인지 확인한 결과인 서명자 증명 정보를 출력하는 확인자 및 유효한 두 개의 익명 속성 증명 서명들이 주어진 경우, 연결키(linking key)를 이용하여 서로 연결되는지 여부를 확인한 결과를 출력하는 연결자를 포함한다.
상기 익명 속성 증명 서명에 대한 유효성을 검증하고, 상기 확인자에서 생성된 서명자 증명 정보의 유효성을 검증하는 서명검증부를 더 포함할 수 있다.
상기 속성서명키 발급자는 상기 초기 시스템 공개키와 키 폐기 이벤트로 인해 갱신된 시스템 공개키를, 상기 사용자 기기를 포함한 시스템 내 모든 참가자에게 공개할 수 있다.
상기 속성서명키 발급자는 상기 사용자 기기로부터 속성서명키 발급 요청 메시지를 수신하는 경우, 상기 발급 요청 메시지의 유효성을 검증한 후, 사용자에 대한 다중의 속성 정보들과 결합된 속성서명키를 상기 사용자 기기에 발급할 수 있다.
상기 발급 요청 메시지에는 속성 및 개인키에 대한 위임값과, 이에 대응하는 속성 및 개인키 소유에 대한 지식 증명 정보와, 속성서명키 발급을 요청한 사용자를 보증하는 메시지가 포함될 수 있다.
상기 사용자 기기와 상기 속성서명키 발급자 간에는 인증을 위한 보안 채널이 형성되어 있을 수 있다.
상기 속성서명키 발급자는 상기 사용자 기기로부터 속성서명키 폐기 요청이 있으면, 일정한 시간 이후 폐기 이벤트를 발생시켜서 속성서명키 폐기 절차를 진행할 수 있다.
또는 상기 속성서명키 발급자는 상기 사용자 기기로부터 속성서명키 폐기 요청이 있으면, 속성서명키 폐기 요청의 횟수가 미리 정해진 수치가 되면 폐기 이벤트를 발생시켜서 속성서명키 폐기 절차를 진행할 수 있다.
본 발명의 익명 속성 증명 방법에서, 상기 속성서명키 발급자는 초기 시스템 공개키를 생성하고, 이에 대응하는 발급키(issuing key)를 생성하는 단계, 상기 속성서명키 발급자는 상기 사용자 기기로부터 속성서명키 발급 요청이 있으면 상기 발급키를 이용하여 상기 사용자 기기에게 다중의 속성 정보들과 결합된 속성서명키를 발급하고, 발급한 속성서명키를 유효한 속성서명키 목록을 통해 관리하는 단계, 상기 속성서명키 발급자는 상기 사용자 기기로부터 속성서명키 폐기 요청이 있는 경우, 키 폐기 이벤트에 기반하여 속성서명키 폐기 절차를 진행하고, 이와 관련하여 시스템 공개키를 갱신하고, 폐기된 속성서명키 목록을 관리하는 단계, 상기 확인자는 상기 사용자 기기로부터 유효한 익명 속성 증명 서명이 주어진 경우, 확인키(opening key)를 이용하여 서명자가 누구인지 확인한 결과인 서명자 증명 정보를 출력하는 단계 및 상기 연결자는 유효한 두 개의 익명 속성 증명 서명들이 주어진 경우, 연결키(linking key)를 이용하여 서로 연결되는지 여부를 확인한 결과를 출력하는 단계를 포함한다.
상기 서명검증부는 상기 익명 속성 증명 서명에 대한 유효성을 검증하고, 상기 확인자에서 생성된 서명자 증명 정보의 유효성을 검증하는 단계를 더 포함할 수 있다.
상기 속성서명키 발급자는 상기 초기 시스템 공개키와 키 폐기 이벤트로 인해 갱신된 시스템 공개키를, 상기 사용자 기기를 포함한 시스템 내 모든 참가자에게 공개할 수 있다.
상기 속성서명키 발급자는 상기 사용자 기기로부터 속성서명키 발급 요청 메시지를 수신하는 경우, 상기 발급 요청 메시지의 유효성을 검증한 후, 사용자에 대한 다중의 속성 정보들과 결합된 속성서명키를 상기 사용자 기기에 발급할 수 있다.
상기 발급 요청 메시지에는 속성 및 개인키에 대한 위임값과, 이에 대응하는 속성 및 개인키 소유에 대한 지식 증명 정보와, 속성서명키 발급을 요청한 사용자를 보증하는 메시지가 포함될 수 있다.
상기 사용자 기기와 상기 속성서명키 발급자 간에는 인증을 위한 보안 채널이 형성되어 있을 수 있다.
상기 속성서명키 발급자는 상기 사용자 기기로부터 속성서명키 폐기 요청이 있으면, 일정한 시간 이후 폐기 이벤트를 발생시켜서 속성서명키 폐기 절차를 진행할 수 있다.
또는, 상기 속성서명키 발급자는 상기 사용자 기기로부터 속성서명키 폐기 요청이 있으면, 속성서명키 폐기 요청의 횟수가 미리 정해진 수치가 되면 폐기 이벤트를 발생시켜서 속성서명키 폐기 절차를 진행할 수 있다.
본 발명에 의하면, 익명 속성 증명 시스템은 다중의 속성값들과 결합된 유효한 속성 증명 서명키를 이용하여 응용서비스에서 요구하는 일정한 기준을 만족함(예를 들어, 나이>18 (성인), 나이>65 (경로우대), 학력 (대학 졸업) 등)을 보이는 익명 속성 증명 서명값을 제시함으로써, 서비스 제공자에게 정보의 노출을 최소화 하며, 서비스에 따라서 선택적 노출 기능 등을 제공하여 정보의 오남용을 방지하는 효과가 있다. 한편 그러면서도 키 손실, 망실, 도난, 해킹 등의 다양한 이유로 키를 폐기해야 하는 경우에는 효과적으로 비밀서명키를 폐기하는 방법을 제공할 수 있다.
디지털 숫자로 구성된 키 값은 사용자가 보유한 사이버 자산 또는 사이버 자산에 접근할 수 있는 속성 증명과 매우 밀접한 관계가 있으므로, 사이버 해킹, 기기 도난에 따른 키 누출 등의 키 도난으로부터 키를 효과적으로 폐기하는 기능은 현실적으로 매우 중요하다. 이러한 키 폐기 기능이 안정적으로 제공이 되어야 최근 주목받고 있는 분산원장기술 또는 블록체인 기술과 결합된 자기주권신원(self-sovereign identity)을 위한 인증시스템에 활용도가 매우 높을 것이다.
본 발명을 이용하면 제 3자가 개입하여 익명서명으로부터 서명자를 확인하는 과정 없이도 키폐기 기능을 제공하며, 따라서 4차산업의 핵심 인증 시스템 중 하나인 분산 ID 시스템에서 서명자의 프라이버시를 보호하면서 유효한 익명속성 서명을 생성하고 활용할 수 있게 된다.
도 1은 본 발명의 실시 예에 따라 다중의 속성 정보들에 대해 제어 가능한 프라이버시를 제공하는 익명 속성 증명 시스템의 구성도.
도 2는 본 발명의 실시 예에 따라 익명 속성 증명 시스템의 초기 시스템 공개키와 발급키, 확인키, 연결키들을 생성하는 동작 제어 흐름도.
도 3은 본 발명의 실시 예에 따라 속성서명키 발급자와 사용자 기기간 상호적으로 다중 속성 정보들과 결합된 속성서명키를 생성하는 동작 제어 흐름도.
도 4는 본 발명의 실시 예에 따라 폐기 이벤트(예. 일정한 시간 동안 또는 정해진 개수까지 모아진 사용자 기기의 속성서명키 폐기 요청들)에 기반하여, 다중 속성 정보들과 결합된 속성서명키 폐기 절차를 진행하고 속성서명키 발급자가 이전 시스템 공개키를 업데이트하여 공개하며 폐기된 속성서명키 목록을 관리하는 동작 제어 흐름도.
도 5는 본 발명의 실시 예에 따라 정당한 속성서명키를 보유한 사용자 기기가 주어진 메시지에 대해서 서비스에 필요한 속성들이 일정한 명제를 만족함을 보이는 속성 증명 서명값을 생성하는 동작 제어 흐름도.
도 6은 본 발명의 실시 예에 따라 정당한 속성서명키를 보유한 사용자 기기가 생성한 속성 증명 서명에 대해 서명검증부를 통해 검증하는 동작 제어 흐름도.
도 7은 본 발명의 실시 예에 따라 정당한 속성서명키를 보유한 사용자 기기가 생성한 일정 메시지에 대해 생성한 속성 증명 서명에 대해서 확인키를 이용하여 서명자증명정보를 생성하고, 증명정보의 유효성을 검증하는 동작 제어 흐름도.
도 8은 본 발명의 실시 예에 따라 정당한 속성서명키를 사용자 기기가 생성한 두 개의 속성 증명 서명들에 대해서 연결키를 이용하여 서명 값들이 서로 연결되었는지에 대한 결과를 출력해 주는 동작 제어 흐름도.
본 명세서에서 개시된 실시 예의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 개시에서 제안하고자 하는 실시 예는 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 당해 기술분야에서 통상의 지식을 가진 자에게 실시 예들의 범주를 완전하게 알려주기 위해 제공되는 것일 뿐이다.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 개시된 실시 예에 대해 구체적으로 설명하기로 한다.
본 명세서에서 사용되는 용어는 개시된 실시 예들의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 관련 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 명세서의 상세한 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 명세서의 전반에 걸친 내용을 토대로 정의되어야 한다.
본 명세서에서의 단수의 표현은 문맥상 명백하게 단수인 것으로 특정하지 않는 한, 복수의 표현을 포함한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에서 사용되는 "부"라는 용어는 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, "부"는 어떤 역할들을 수행한다. 그렇지만 "부"는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. "부"는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 "부"는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 "부"들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 "부"들로 결합되거나 추가적인 구성요소들과 "부"들로 더 분리될 수 있다.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조 부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
도 1은 본 발명의 실시 예에 따라 다중의 속성 정보들에 대해 제어 가능한 프라이버시를 제공하는 익명 속성 증명 시스템의 구성도이다.
도 1은 본 발명의 실시 예에 따른 다중의 속성 정보들에 대해 요구되는 속성 증명이 가능하며 필요시 서명자를 확인할 수 있고 서명 값들이 서로 연결되었는지(즉, 두 익명 속성 증명 서명값들을 한 서명자가 생성했는지) 확인할 수 있는 기능을 제공하는 속성 증명 시스템의 구성을 도시한 것이다.
도 1을 참조하면, 본 발명에 따른 시스템의 참가 구성요소들은 크게 속성서명키 발급자(Issuing Party)(100), 확인자(Opening Party)(200), 연결자(Linking Party)(300), 사용자 기기(400), 서명검증부(500)로 구성된다. 여기서 “Party“는 주어진 입력값에 대해 특별한 값을 출력하는 알고리즘 또는 서버 또는 시스템의 개념으로 사용가능하다. 다만 참가자들의 구성은 이에 한정되는 것은 아니며 설계되는 방식에 따라 유연하게 참가자의 역할이 새로운 주체의 정의로 분리되거나 또는 통합될 수 있으며(예, 속성서명키 발급자와 확인자의 통합 또는 확인자와 연결자의 통합), 필요한 경우, 알려진 실명 인증 기법과 연동을 위해 새로운 참가자를 정의할 수 있다.
사용자 기기(400)는 사용자가 사용하는 기기로서, 통신망을 통해 유무선 통신이 가능한 사용자 기기이다. 가령, 사용자 기기(400)는 스마트폰, 태블릿 PC, 데스크탑 컴퓨터, 랩탑 컴퓨터 등으로 구현될 수 있다.
속성서명키 발급자(100), 확인자(200), 연결자(300)는 신뢰된 주체로서 초기에 필요시 서로 협력하여 초기 시스템 공개키(system public key,
Figure 112022114203223-pat00001
)를 생성하고, 이에 대응하는 발급키(Issuing Key, IK), 확인키(Opening Key, OK), 그리고 연결키(Linking Key, LK)를 생성한다. 발급키, 확인키, 연결키는 각각 속성서명키 발급자(100), 확인자(200), 연결자(300)가 관리한다고 가정한다. 속성서명키 발급자(100)는 초기 시스템 공개키
Figure 112022114203223-pat00254
를 익명 속성 증명 시스템 내의 모든 참가 구성요소들에게 공개한다. 향후 폐기 이벤트에 따라서 업데이트되는 키폐기 정보 목록 RL(Revocation List)와 이에 따라서 업데이트되는 시스템 공개키를 관리하며 키폐기 정보 목록과 시스템 공개키를 익명 속성 증명 시스템 내의 모든 참가 구성요소들에게 공개한다. 폐기 이벤트에 따라서 업데이트되는 특성을 나타내기 위해서, i번째 폐기 이벤트에 대응하는 키폐기 정보 목록과 시스템 공개키는 각각 RL[i]과
Figure 112022114203223-pat00255
으로 나타낸다.
속성서명키 발급자(100)는 사용자 기기(400)로부터 속성서명키 발급 요청이 있을 경우 상호적인 프로토콜을 수행한 후, 사용자에게 속성서명키를 발급하고 속성서명키 발급 목록 REG을 업데이트 한다. 또한 사용자 기기(400)로부터 속성서명키 폐기 요청이 있을 경우, 폐기 이벤트(예. 일정한 시간 동안 또는 정해진 개수까지 모아진 사용자 기기의 속성서명키 폐기 요청들)에 기반하여, 속성서명키 폐기 절차를 진행하고, 속성서명키 발급자(100)는 속성서명키 폐기 목록과 키폐기 정보 목록을 업데이트하고 속성서명키 폐기 목록은 내부적으로 보관하고 키폐기 정보 목록은 공개한다. 또한 속성서명키 발급자(100)는 이전 시스템 공개키를 업데이트하여 공개한다.
확인자(200)는, 유효한 익명 속성 증명 서명이 주어진 경우, 확인키를 이용하여 서명자가 누구인지 확인한 결과를 출력한다.
연결자(300)는 유효한 두 개의 익명 속성 증명 서명들이 주어진 경우, 연결키를 이용하여 서로 연결되는지(즉, 두 익명 속성 증명 서명값들을 한 서명자가 생성했는지) 확인한 결과를 출력한다.
사용자 기기(400)는 속성서명키 발급자(100)로부터 속성서명키를 발급받을 수 있다. 이 때, 사용자 기기(400)와 속성서명키 발급자(100)는 사용자 기기(400)가 합법적인 주체인지를 확인하기 위해서 상호적인 프로토콜을 수행한다. 이 후, 사용자 기기(400)는 필요한 서비스를 이용할 때 발급받은 속성서명키를 이용하여 주어진 메시지에 대한 익명 속성 증명 서명값을 생성한다. 또한 사용자 기기(400)는 속성서명키 발급자(100)에게 속성서명키 폐기 요청을 할 수 있다. 사용자 기기(400)와 속성서명키 발급자(100)는 정해진 상호적인 프로토콜을 수행하면서 속성서명키 폐기 절차를 진행한다. 폐기된 속성키는 속성서명키 폐기 목록에 추가되고 키폐기 정보 목록은 업데이트된다.
서명검증부(500)는 주어진 익명 속성 증명 서명값과 메시지에 대한 유효성을 검증한다.
본 발명의 일 실시예에 따른 익명 속성 증명 시스템의 구성요소를 다시 정리하여 기술하면 다음과 같다.
속성서명키 발급자(100)는 초기 시스템 공개키를 생성하고, 이에 대응하는 발급키(issuing key)를 생성하고, 사용자 기기(400)로부터 속성서명키 발급 요청이 있으면 발급키를 이용하여 사용자 기기(400)에게 다중의 속성 정보들과 결합된 속성서명키를 발급한다. 그리고, 발급한 속성서명키를 유효한 속성서명키 목록을 통해 관리하며, 사용자 기기(400)로부터 속성서명키 폐기 요청이 있는 경우, 키 폐기 이벤트에 기반하여 속성서명키 폐기 절차를 진행하고, 이와 관련하여 시스템 공개키를 갱신하고, 폐기된 속성서명키 목록을 관리한다.
확인자(200)는 사용자 기기(400)로부터 유효한 익명 속성 증명 서명이 주어진 경우, 확인키(opening key)를 이용하여 서명자가 누구인지 확인한 결과인 서명자 증명 정보를 출력한다.
연결자(300)는 유효한 두 개의 익명 속성 증명 서명들이 주어진 경우, 연결키(linking key)를 이용하여 서로 연결되는지 여부를 확인한 결과를 출력한다.
서명검증부(500)는 익명 속성 증명 서명에 대한 유효성을 검증하고, 확인자(200)에서 생성된 서명자 증명 정보의 유효성을 검증한다.
속성서명키 발급자(100)는 초기 시스템 공개키와 키 폐기 이벤트로 인해 갱신된 시스템 공개키를, 사용자 기기(400)를 포함한 시스템 내 모든 참가자에게 공개할 수 있다.
속성서명키 발급자(100)는 사용자 기기(400)로부터 속성서명키 발급 요청 메시지를 수신하는 경우, 발급 요청 메시지의 유효성을 검증한 후, 사용자에 대한 다중의 속성 정보들과 결합된 속성서명키를 사용자 기기(400)에 발급할 수 있다.
본 발명의 일 실시예에서 발급 요청 메시지에는 속성 및 개인키에 대한 위임값과, 이에 대응하는 속성 및 개인키 소유에 대한 지식 증명 정보와, 속성서명키 발급을 요청한 사용자를 보증하는 메시지가 포함될 수 있다.
사용자 기기(400)와 속성서명키 발급자(100) 간에는 인증을 위한 보안 채널이 형성될 수 있다.
속성서명키 발급자(100)는 사용자 기기(400)로부터 속성서명키 폐기 요청이 있으면, 일정한 시간 이후 폐기 이벤트를 발생시켜서 속성서명키 폐기 절차를 진행할 수 있다.
또는 속성서명키 발급자(100)는 사용자 기기(400)로부터 속성서명키 폐기 요청이 있으면, 속성서명키 폐기 요청의 횟수가 미리 정해진 수치가 되면 폐기 이벤트를 발생시켜서 속성서명키 폐기 절차를 진행할 수 있다.
도 2는 본 발명의 실시 예에 따라 익명 속성 증명 시스템의 초기 시스템 공개키와 발급키, 확인키, 연결키들을 생성하는 동작 제어 흐름도이다.
도 2는 본 발명의 실시 예에 따라 속성서명키 발급자(100)가 초기 시스템 공개키 spk[0]와 이에 대응하는 발급키(IK), 확인키(OK), 연결키(LK)를 생성하는 동작 제어 흐름을 도시한 것이다.
이하, 도 2를 참조하여 본 발명의 실시 예를 수학식을 이용하여 상세히 설명하기로 한다.
초기에 보안 파라미터 k를 입력으로 받아서, 먼저 이선형군(bilinear group) 쌍
Figure 112022114203223-pat00008
와 이와 결합된 이선형 함수(bilinear map)
Figure 112022114203223-pat00009
와 해시 함수
Figure 112022114203223-pat00256
가 생성된다고 가정한다. 여기서 그룹들의 위수는 소수 p라고 하자. 속성서명키 발급자(100)는 발급키와 파라미터들을 생성하기 위해서 다음을 수행한다. 임의의 원소
Figure 112022114203223-pat00012
Figure 112022114203223-pat00257
를 선택하고 임의의
Figure 112022114203223-pat00258
를 선택하고
Figure 112022114203223-pat00259
을 계산한다. 속성서명키 발급자(100)는
Figure 112022114203223-pat00016
를 발급키로 저장한다(S200).
확인자(200)는 임의의
Figure 112022114203223-pat00260
를 선택하고
Figure 112022114203223-pat00261
,
Figure 112022114203223-pat00262
을 계산 후, 속성서명키 발급자(100)에게 전송한다. 또한 연결키
Figure 112022114203223-pat00263
을 계산하고 연결키를 연결자(300)에게 전송한다. 확인자(200)는
Figure 112022114203223-pat00264
를 확인키로 저장한다(S202).
이 경우, 속성서명키 발급자(100)는 확인키
Figure 112022114203223-pat00265
정보를 알지 못하므로 속성서명키 발급 권한과 사용자 확인 권한이 분산될 수 있다. 또한 확인자(200)의 운영을 다중의 신뢰 주체로 구성하고 비밀 분산 기법 등을 이용하여 사용자의 확인에 대한 권한을 분산시켜 서명자 프라이버시를 강화하도록 구성할 수도 있을 것이다.
Figure 112022114203223-pat00266
은 연결키로 정의한다.
상기에서 선택적으로, 속성서명키 발급자(100)가 확인키
Figure 112022114203223-pat00267
와 연결키
Figure 112022114203223-pat00268
, 공개 파라미터
Figure 112022114203223-pat00269
,
Figure 112022114203223-pat00270
를 생성한 후, 확인자(200)에게 확인키
Figure 112022114203223-pat00271
를 전송하고 연결자(300)에게 연결키
Figure 112022114203223-pat00272
를 전송할 수도 있다(S204).
속성서명키 발급자(100)는 확인자(200)로부터 받은 공개 파라미터
Figure 112022114203223-pat00273
,
Figure 112022114203223-pat00274
를 시스템 공개키에 포함하여 초기 시스템 공개키
Figure 112022114203223-pat00275
를 만들고 공개적으로 이용할 수 있게 한다(S206).
초기 시스템 공개키는 이후 키 폐기 이벤트에 따라서 업데이트 되어진다. 초기 공개키는
Figure 112022114203223-pat00276
으로 나타내며, 첫 번째 키 폐기 이벤트 후에는
Figure 112022114203223-pat00277
이 생성되어 공개되며, 두 번째 키 폐기 이벤트 후에는
Figure 112022114203223-pat00278
가 생성되어 공개되며, n번째 키 폐기 이벤트 후에는
Figure 112022114203223-pat00279
이 생성되어 공개된다고 가정한다.
도 3은 본 발명의 실시 예에 따라 속성서명키 발급자(100)가 사용자 기기(400)와 상호적으로 속성서명키를 생성하는 동작 제어 흐름을 도시한 것이다.
이하, 도 3을 참조하여 본 발명의 실시 예를 상세히 설명하기로 한다.
사용자 기기(400)와 속성서명키 발급자(100)는 상호적으로 다음과 같은 작업을 수행한다. 필요한 경우, 두 참가자 사이에는 인증 및 보안채널이 형성되어 있다고 가정한다. 사용자의 속성들을
Figure 112022114203223-pat00280
으로 나타난다고 가정한다. 서비스에 따라서 다양한 속성 정보들이 조합되어 정의될 수 있다. 예를 들어서, a0는 난수 개인키, a1는 이름, a2는 생년월일, a3는 성별, a4는 전화번호, a5는 주소 등으로 정의될 수 있다. 각 속성별로 별도로 정해진 인코딩 방법을 적용하여 최초 속성 정보가 0과 소수 p사이의 정수 형태로 변환될 수 있다고 가정한다.
전체 속성들 중 일부 또는 전부는 응용에 따라서 속성서명키 발급자(100)와 사용자 기기(400)가 서로 공유한다고 가정할 수 있다. 예를 들어, 속성서명키 발급자(100)가 이동통신사인 경우 속성서명키 발급자(100)와 사용자 기기(400)는 이름, 생년월일, 성별, 휴대 전화번호 등을 공유하는 속성 정보로 가정할 수 있다. 또한 금융사인 경우 계좌정보 등이 공유될 수 있으며, 동주민센터인 경우 실명, 주민등록번호, 주소 등이 공유될 수 있을 것이다.
속성서명키를 발급받으려는 사용자 기기(400)는 속성서명키 발급자(100)에게 접근하여 발급 요청메시지를 전달하고 필요한 인증절차를 수행한다. 속성서명키 발급자(100)는 최초 시스템 공개키
Figure 112022114203223-pat00281
와 가장 최신 상태로 업데이트된 시스템 공개키
Figure 112022114203223-pat00282
를 사용자 기기(400)에게 전달한다. 여기서는 설명의 편의성을 위해서
Figure 112022114203223-pat00047
번째까지 키 폐기 이벤트가 발생되었다고 가정하자.
사용자의 속성 목록
Figure 112022114203223-pat00283
에 대하여, 난수
Figure 112022114203223-pat00284
을 선택하고 위임(commitment)값,
Figure 112022114203223-pat00285
Figure 112022114203223-pat00286
를 생성한다. 그리고 두 위임값, F0 Fρ 에 대해서 난수
Figure 112022114203223-pat00287
과 속성값
Figure 112022114203223-pat00288
을 알고 있음을 증명하는 영지식 증명(zero-knowledge proof) 값,
Figure 112022114203223-pat00289
Figure 112022114203223-pat00290
을 생성한다. 사용자 기기(400)는 속성서명키 발급 요청 메시지 Req_Cred와 위임값 F0 Fρ , 그리고 이와 관련된 영지식 증명값,
Figure 112022114203223-pat00291
Figure 112022114203223-pat00292
, 그리고 상기 메시지에 대한 사용자 인증값 S 등을 속성서명키 발급자(100)에게 제공한다(S300).
속성서명키 발급자(100)는 사용자의 속성 목록
Figure 112022114203223-pat00293
에 대하여 속성서명키 발급 요청을 한 사용자 기기(400)가 유효한지 확인하고 제공된 두 위임값 F0 Fρ 에 대한 영지식 증명값
Figure 112022114203223-pat00294
Figure 112022114203223-pat00295
이 유효한지 검증한다. 만일 모든 검증이 성공하면 속성서명키 발급자(100)는 임의의
Figure 112022114203223-pat00296
를 선택한 후 발급키 θ를 이용하여
Figure 112022114203223-pat00297
Figure 112022114203223-pat00298
을 계산한 후, 속성서명키 일부,
Figure 112022114203223-pat00299
를 사용자 기기(400)에게 전송한다(S302).
상기 발급 과정에서, 정해진 정책에 따라서 속성서명키 발급자(100)는 부가적으로 속성 정보를 추가하거나 속성 정보를 변형할 수 있다고 가정한다. 예를 들어서, 위임값 F0 Fρ 에 각각
Figure 112022114203223-pat00300
Figure 112022114203223-pat00301
를 곱하여 최초 i번째의 속성값 ai을 새로운 속성값
Figure 112022114203223-pat00302
으로 변경 후
Figure 112022114203223-pat00303
Figure 112022114203223-pat00304
를 생성하고 사용자 기기에게
Figure 112022114203223-pat00305
을 발급할 수 있다. 이 경우 사용자에게 변경 사항을 알리고 변경을 위해 이용된 값
Figure 112022114203223-pat00306
을 제공할 수 있다. 또 다른 예를 들어서, 만일 최초 위임값 F0 Fρ 의 i번째의 속성값이 정의되지 않은 경우, 상기와 유사하게
Figure 112022114203223-pat00307
Figure 112022114203223-pat00308
를 곱하여 i번째의 속성값을 ci로 정의한 후 사용자 기기에게
Figure 112022114203223-pat00309
을 제공할 수 있다.
사용자 기기(400)는
Figure 112022114203223-pat00310
을 발급받은 후
Figure 112022114203223-pat00311
의 유효성을 수학식을 통해 검증한다. 즉,
Figure 112022114203223-pat00312
Figure 112022114203223-pat00313
를 계산 후 t1 t2 가 동일한 값인지 확인한다. 만일 동일하다면,
Figure 112022114203223-pat00314
를 계산하고,
Figure 112022114203223-pat00315
을 완전한 속성서명키로 안전하게 저장한다. 그리고
Figure 112022114203223-pat00316
을 계산한 후 속성서명키 발급자(100)에게 전송한다(S304).
속성서명키 발급자(100)는 사용자 등록 목록 REG에 등록 정보 REGi=[tag,
Figure 112022114203223-pat00317
, F0 , Fρ ,
Figure 112022114203223-pat00318
,
Figure 112022114203223-pat00319
, S, 부가정보)]를 추가한다(S306). 부가정보는, 예를 들어서, 발급 시 속성서명키 발급자(100)에 의해서 추가적으로 정의한 속성값들이 될 수 있다.
위 방법들은 비상호적 영지식증명(non-interactive zero-knowledge proof of knowledge) 방법을 이용하면 동시 가입을 지원하도록 할 수 있다.
도 4는 본 발명의 실시 예에 따라 폐기 이벤트(예. 일정한 시간 동안 또는 정해진 개수까지 모아진 사용자 기기의 속성서명키 폐기 요청들)에 기반하여, 다중 속성 정보들과 결합된 속성서명키 폐기 절차를 진행하고 속성서명키 발급자가 이전 시스템 공개키를 업데이트하여 공개하며 폐기된 속성서명키 목록을 관리하는 동작 제어 흐름도이다.
도 4는 본 발명의 실시 예에 따라 폐기 이벤트에 기반하여, 속성서명키 발급자(100)가 속성서명키 폐기 목록과 키폐기 정보 목록를 업데이트하고 또한 시스템 공개키를 업데이트한 후 갱신된 시스템 공개키를 공개하며 관련 정보를 관리하는 동작 제어 흐름을 도시한 것이다.
이하, 도 4를 참조하여 본 발명의 실시 예를 상세히 설명하기로 한다.
속성서명키 발급자(100)는 키폐기 이벤트에 따라서 사용자 기기(400)로부터 속성서명키 폐기 요청들을 받는다(S400).
키 폐기 이벤트는 정해진 정책에 따라서 정의된다. 예를 들어, 일정한 시간 동안 모아진 사용자 기기의 속성서명키 폐기 요청들로 매 키폐기 이벤트를 구성될 수 있다. 또 다른 예로는 시간과 상관없이 미리 정해진 개수(예. 1000개)까지 모아진 속성서명키 폐기 요청들로 키폐기 이벤트가 구성될 수도 있다.
속성서명키 발급자(100)는 키 폐기 이벤트에 속하는 각 속성서명키 폐기 요청들에 대응하는 속성서명키 등록정보를 사용자 등록 목록 REG에서 찾고 관련 정보를 이용하여 키폐기 정보 목록을 RL[ρ]에서 RL[ρ+1]로 업데이트한다(S402).
최초 키폐기 정보 목록은 RL[0]으로 나타내며 폐기이벤트가 발생하지 않은 상태이므로 빈 목록이다. ρ를 양의 정수라고 가정하자. ρ번째 키 폐기 이벤트에 대응하는 키폐기 정보 목록 RL[ρ]은 다음과 같이 표시된다.
Figure 112022114203223-pat00320
여기서
Figure 112022114203223-pat00321
Figure 112022114203223-pat00322
번째 키 폐기 이벤트에 속하는 각 속성서명키 폐기 요청들에 대응하는 속성서명키 관련 정보들의 모임이다. 여기서는 설명의 편의성을 위해서 ρ번째까지 키 폐기 이벤트가 발생되었다고 가정한다.
Figure 112022114203223-pat00323
정보는 사용자 기기(400)가 i번째 키 폐기 이벤트 후에 유효한 속성 증명 서명을 생성할 때 자신의 속성서명키를 갱신하기 위해서 사용하는 정보이다.
Figure 112022114203223-pat00324
는 다음과 같이 구성된다.
Figure 112022114203223-pat00325
속성서명키 발급자(100)는 키 폐기 이벤트에 속하는 각 속성서명키 폐기 요청들에 대응하는 속성서명키 관련 정보들의 모임인
Figure 112022114203223-pat00326
을 계산하고, 매번
Figure 112022114203223-pat00327
정보가 키폐기 정보 목록에 추가할 때마다 속성서명키 폐기목록을 업데이트하면서 이에 대응하여 시스템 공개키를
Figure 112022114203223-pat00328
에서
Figure 112022114203223-pat00329
으로 갱신한 후 공개한다(S404).
갱신된 시스템 공개키는
Figure 112022114203223-pat00330
로 표시되며 다음과 같이 계산된다. 속성서명키 발급자(100)는 먼저 수학식
Figure 112022114203223-pat00331
을 계산하고, 이전 시스템 공개키
Figure 112022114203223-pat00332
에 포함되어 있는
Figure 112022114203223-pat00333
Figure 112022114203223-pat00334
을 이용하여, 각
Figure 112022114203223-pat00335
에 대하여
Figure 112022114203223-pat00336
를 계산하고, 각 k=1,2에 대하여
Figure 112022114203223-pat00337
을 계산한다(S406).
도 5는 본 발명의 실시 예에 따라 정당한 속성서명키를 보유한 사용자 기기가 주어진 메시지에 대해서 서비스에 필요한 속성들이 일정한 명제를 만족함을 보이는 속성 증명 서명값을 생성하는 동작 제어 흐름도이다.
도 5는 본 발명의 실시 예에 따라 정당한 속성서명키를 보유한 사용자 기기(400)가 주어진 메시지 M에 대해 속성서명키에 결합된 속성들이 서비스에 필요한 조건들을 만족함을 보이는 속성 증명 서명의 생성(generation) 및 제시(presentation)하는 동작 제어 흐름을 도시한 것이다.
이하, 도 5를 참조하여 본 발명의 실시 예를 상세히 설명하기로 한다.
사용자 기기(400)는 최신 시스템 공개키
Figure 112022114203223-pat00338
, 메시지 M, 조건정보 QI, 속성서명키,
Figure 112022114203223-pat00339
을 입력으로 받고 다음과 같이 속성 증명 서명 σ을 생성한다.
먼저 사용자 기기(400)는 속성서명키 발급자(100)에 접속하여 최신 시스템 공개키
Figure 112022114203223-pat00340
, 키폐기 정보 목록
Figure 112022114203223-pat00341
를 얻는다(S500).
그리고, 사용자 기기(400)는 최신 시스템 공개키와 키폐기 정보 목록을 이용하여 속성서명키를 최신 시스템 공개키에 대응되도록 다음과 같이 업데이트 한다(S502).
만일 속성서명키 구성 요소 중 Aτ가 ρ번째 업데이트된 공개키에 대응하도록 업데이트된 상태라면 더 이상 업데이트 하지 않는다. 하지만 Aτ가 (ρ 보다 작은 수인) i(<ρ)번째 업데이트된 공개키에 대응하도록 업데이트 되었다면 추가로 업데이트를 하여 ρ번째 업데이트된 공개키에 대응하도록 만든다. 여기서는 설명을 위해서 Aτ가 ρ-1번째 업데이트된 공개키에 대응하도록 업데이트 되었다고 가정하고 ρ번째 업데이트된 공개키에 대응하도록 Aτ를 업데이트하는 방법을 설명한다. Aτ가 ρ-1번째 업데이트된 공개키에 대응하도록 업데이트 되었음을 나타내기 위해서 Aτ를 Aρ-1으로 나타내자. 그리고
Figure 112022114203223-pat00342
를 다음과 같이 나타내자.
Figure 112022114203223-pat00343
사용자 기기(400)는 다음과 같이 중간값 SS를 계산한 후,
Figure 112022114203223-pat00344
Aρ-1를 이용하여
Figure 112022114203223-pat00345
를 계산한다. Aρ값이 ρ번째 업데이트된 공개키에 대응하는 속성서명키 구성 요소 값이 된다.
사용자 기기(400)는 서비스 이용에 필요한 조건 정보 QI를 입력받고 세부 조건에 따라서 속성서명키에 결합된 속성 항목들을 은닉 속성 정보, 직접 노출 속성 정보, 일정함수(예. 범위 증명)를 만족하는 속성정보 등으로 구분한다(S504).
속성서명키 발급자(100)은 상기에서
Figure 112022114203223-pat00171
번째 업데이트된 최신 시스템 공개키에 대응하는 속성서명키, 을 이용하여 속성 증명 서명 σ을 다음과 같이 생성한다.
편의상, 전체 속성 목록이
Figure 112022114203223-pat00346
와 같이 3개로 항목들로 구성된다고 가정하자. 또한 속성들이 예를 들어서, '
Figure 112022114203223-pat00347
', '
Figure 112022114203223-pat00348
', '
Figure 112022114203223-pat00349
'로 정의된다고 가정하자. 조건 정보 QI는 속성들이 만족해야 하는 기준을 나타낸다. 예시로 사용자가 성인임을 증명해야 할 때 즉, 현재년월일-'생년월일'>18 임을 나타낼 수 있다. 속성이 3개인 경우만을 고려하므로 상기에서 정의된 시스템 공개키는
Figure 112022114203223-pat00350
이 된다. 아래에서는 조건 정보 QI가 모두 은닉을 가정하는 기본적인 익명 서명 생성에 대해 예시를 통해 설명한다.
사용자 기기(400)는 먼저, 임의의 난수
Figure 112022114203223-pat00351
를 선택하고
Figure 112022114203223-pat00352
,
Figure 112022114203223-pat00353
,
Figure 112022114203223-pat00354
,
Figure 112022114203223-pat00355
을 계산한다. 또한, 임의의 난수들
Figure 112022114203223-pat00356
를 선택하고
Figure 112022114203223-pat00357
을 계산한다. 또한, 해시함수를 이용하여
Figure 112022114203223-pat00358
을 계산하고
Figure 112022114203223-pat00359
을 계산한다. 모든 인덱스 i=0,1,2에 대해서
Figure 112022114203223-pat00360
을 계산한다.
상기에서는 조건 정보 QI가 모두 속성은닉을 가정하는 기본적인 익명서명 생성에 대해 예시를 들어 설명했으나 조건 정보 QI가 속성 정보 (예. a2)에 관한 범위 증명과 같이 일반적인 속성 증명을 요구하는 경우에는 예를 들어서 a2에 관한 범위 증명, π=ZKP[(18<나이(=현재연월일-a2)<200)]에 해당하는 영지식 증명을 생성한 후 기본 서명에 추가한다(S506).
마지막으로 사용자 기기(400)는
Figure 112022114203223-pat00361
을 속성 증명 서명값으로 출력한다(S508).
도 6은 본 발명의 실시 예에 따라 정당한 속성서명키를 보유한 사용자 기기가 생성한 속성 증명 서명에 대해 서명검증부를 통해 검증하는 동작 제어 흐름도이다.
도 6는 본 발명의 실시 예에 따라 정당한 속성서명키를 보유한 사용자 기기(400)가 생성한 주어진 메시지 M에 대한 속성 증명 서명에 대해 서명검증부(500)를 통해 검증하는 동작 제어 흐름을 도시한 것이다.
이하, 도 6를 참조하여 본 발명의 실시 예를 상세히 설명하기로 한다.
서명검증부(500)는 메시지 M과 조건정보 QI에 대한 속성 증명 서명을 입력으로 받는다(S600). 서명검증부(500)는 조건정보 QI에 따라서 은닉 속성 정보, 직접 노출 속성 정보, 일정함수(예. 범위 증명)에 해당하는 검증이 되도록 속성 항목 인덱스들을 구분한다(S602). 여기서는 설명의 편의성을 위해서 조건정보 QI가 모두 은닉 속성 정보를 나타내는 인덱스로 구성된다고 가정한다.
서명검증부(500)는 주어진 서명,
Figure 112022114203223-pat00362
에 대해 다음과 같이 기본 검증을 수행한다(S604).
속성서명키 발급자(100)로부터 서명에 포함된 페기 인덱스 ρ에 대응하는 시스템 공개키
Figure 112022114203223-pat00363
를 수신한다. 그리고 아래와 같이
Figure 112022114203223-pat00364
를 계산한다.
Figure 112022114203223-pat00365
삭제
삭제
해시함수 값
Figure 112022114203223-pat00366
을 계산한 후 c
Figure 112022114203223-pat00367
이 같은지 확인한다. 만일 같다면 주어진 서명이 유효함을 나타내는 1을 출력하고, 아니면 0을 출력한다.
만일 조건정보 QI에 따라서 은닉 속성 정보, 직접 노출 속성 정보, 일정함수(예. 범위 증명)에 해당하는 증명을 포함하고 있다면, 예를 들어서 주어진 서명이 범위 증명 (18<나이(=현재연월일-a5)<200)에 대한 영지식증명을 포함하고 있다면 이에 대한 검증을 부가적으로 수행한다(S606).
서명검증부(500)는 상기 검증 결과가 모두 유효하면, 주어진 서명이 유효함을 나타내는 1을 출력한다. 만일 아니라면 0을 출력한다(S608).
도 7은 본 발명의 실시 예에 따라 정당한 속성서명키를 보유한 사용자 기기가 생성한 일정 메시지에 대해 생성한 속성 증명 서명에 대해서 확인키를 이용하여 서명자증명정보를 생성하고, 증명정보의 유효성을 검증하는 동작 제어 흐름도이다.
도 7은 본 발명의 실시 예에 따라 정당한 사용자 기기(400)가 생성한 메시지, 조건정보에 대한 속성 증명 서명에 대해 확인자(200)는 확인키를 이용하여 서명자가 누구인지 확인한 결과를 출력하는 동작 제어 흐름을 도시한 것이다.
이하, 도 7을 참조하여 본 발명의 실시 예를 상세히 설명하기로 한다.
확인자(200)는 메시지 M과 조건정보 QI과 이에 대한 속성 증명 서명
Figure 112022114203223-pat00368
을 입력으로 받고 유효성을 검증한다(S700).
만일 서명이 유효하면, 확인자(200)는 확인키
Figure 112022114203223-pat00369
를 이용하여 유효한 속성 증명 서명에 포함된 사용자 태그 정보를 계산하고 속성서명 키 발급 목록을 이용하여 사용자 등록관련 정보를 얻는다(S702).
확인자(200)는
Figure 112022114203223-pat00370
Figure 112022114203223-pat00371
를 계산한 후, 필요시 속성서명키 발급자(100)와 협력하여, 속성서명키 발급 목록 REG에서 t에 대응하는 사용자 정보가 존재하면 사용자 확인 정책에 대응하는 사용자 정보를 출력한다. 필요 시,
Figure 112022114203223-pat00372
를 계산한 후 출력한다(S704).
도 8은 본 발명의 실시 예에 따라 정당한 속성서명키를 사용자 기기가 생성한 두 개의 속성 증명 서명들에 대해서 연결키를 이용하여 서명 값들이 서로 연결되었는지에 대한 결과를 출력해 주는 동작 제어 흐름도이다.
도 8은 본 발명의 실시 예에 따라 정당한 사용자 기기(400)가 생성한 두 속성 증명서명들에 대해 연결자(300)가 연결키를 이용하여 서명 값들이 서로 연결되었는지(즉, 두 익명 속성 증명 서명값들을 한 서명자가 생성했는지) 확인한 결과를 출력해 주는 동작 제어 흐름을 도시한 것이다.
이하, 도 8을 참조하여 본 발명의 실시 예를 상세히 설명하기로 한다.
연결자(300)는 두 개의 메시지, 조건정보 또는 속성 증명서명 쌍
Figure 112022114203223-pat00373
Figure 112022114203223-pat00374
을 입력으로 받고, 속성 증명 서명의 유효성을 검증한다(S800). 여기서, 입력받은 두 서명은 각각 서로 다른 폐기 인덱스(즉, 서명을 구성하는 첫 번째 항목값) ρ와 ζ를 가져도 된다.
그리고, 연결자(300)는 연결키
Figure 112022114203223-pat00375
를 이용하여 두 개의 연결 태그,
Figure 112022114203223-pat00376
Figure 112022114203223-pat00377
를 계산한다(S802).
만일 두 연결 태그 값이 같으면, 즉 LT1 = LT2 이 성립하면 1(연결됨)을 출력하고, 아니면 0(연결안됨)을 출력한다(S804).
본 발명에 의하면, 기본적으로 정당한 사용자는 가입 시에 다중의 속성값들과 결합된 유효한 속성 증명 서명키를 발급받고, 이를 이용하여 서명키와 결합된 다중의 속성값들이 일정한 명제를 만족함을 보이는 익명 속성 증명 서명값들을 생성할 수 있다. 그러면서 키 손실, 망실, 도난, 해킹 등의 다양한 이유로 키를 폐기해야 하는 경우에는 효과적으로 비밀서명키를 폐기할 수 있다. 즉, 폐기된 비밀서명키를 이용하여 생성된 익명 서명 값이 유효하지 않은 것임을 누구나 쉽게 확인할 수 있다.
이상 본 발명을 몇 가지 바람직한 실시 예를 사용하여 설명하였으나, 이들 실시 예는 예시적인 것이며 한정적인 것이 아니다. 본 발명이 속하는 기술분야에서 통상의 지식을 지닌 자라면 본 발명의 사상과 첨부된 특허청구범위에 제시된 권리범위에서 벗어나지 않으면서 다양한 변화와 수정을 가할 수 있음을 이해할 것이다.
100 : 속성서명키 발급자 200 : 확인자
300 : 연결자 400 : 사용자 기기
500 : 서명검증부

Claims (16)

  1. 사용자가 사용하는 기기로서, 통신망을 통해 유무선 통신이 가능한 사용자 기기;
    초기 시스템 공개키를 생성하고, 이에 대응하는 발급키(issuing key)를 생성하고, 상기 사용자 기기로부터 속성서명키 발급 요청이 있으면 상기 발급키를 이용하여 상기 사용자 기기에게 다중의 속성 정보들과 결합된 속성서명키를 발급하고, 발급한 속성서명키를 유효한 속성서명키 목록을 통해 관리하며, 상기 사용자 기기로부터 속성서명키 폐기 요청이 있는 경우, 키 폐기 이벤트에 기반하여 속성서명키 폐기 절차를 진행하고, 이와 관련하여 시스템 공개키를 갱신하고, 폐기된 속성서명키 목록을 관리하는 속성서명키 발급자;
    상기 사용자 기기로부터 유효한 익명 속성 증명 서명이 주어진 경우, 확인키(opening key)를 이용하여 서명자가 누구인지 확인한 결과인 서명자 증명 정보를 출력하는 확인자;
    유효한 두 개의 익명 속성 증명 서명들이 주어진 경우, 연결키(linking key)를 이용하여 서로 연결되는지 여부를 확인한 결과를 출력하는 연결자; 및
    상기 익명 속성 증명 서명에 대한 유효성을 검증하고, 상기 확인자에서 생성된 서명자 증명 정보의 유효성을 검증하는 서명검증부를 포함하고,
    상기 속성서명키 발급자는 상기 초기 시스템 공개키와 키 폐기 이벤트로 인해 갱신된 시스템 공개키를, 상기 사용자 기기를 포함한 시스템 내 모든 참가자에게 공개하고,
    상기 속성서명키 발급자는 상기 사용자 기기로부터 속성서명키 발급 요청 메시지를 수신하는 경우, 상기 발급 요청 메시지의 유효성을 검증한 후, 사용자에 대한 다중의 속성 정보들과 결합된 속성서명키를 상기 사용자 기기에 발급하고,
    상기 발급 요청 메시지에는 속성 및 개인키에 대한 위임값과, 이에 대응하는 속성 및 개인키 소유에 대한 지식 증명 정보와, 속성서명키 발급을 요청한 사용자를 보증하는 메시지가 포함되고,
    상기 사용자 기기와 상기 속성서명키 발급자 간에는 인증을 위한 보안 채널이 형성되어 있고,
    상기 속성서명키 발급자는 상기 사용자 기기로부터 속성서명키 폐기 요청이 있으면, 일정한 시간 이후 폐기 이벤트를 발생시켜서 속성서명키 폐기 절차를 진행하거나, 또는 속성서명키 폐기 요청의 횟수가 미리 정해진 수치가 되면 폐기 이벤트를 발생시켜서 속성서명키 폐기 절차를 진행하며,
    상기 속성서명키 발급자가 초기 시스템 공개키
    Figure 112022114203223-pat00378
    와 이에 대응하는 발급키(IK), 확인키(OK), 연결키(LK)를 생성하는 동작 제어 흐름은,
    초기에 보안 파라미터 k를 입력으로 받아서, 먼저 이선형군(bilinear group) 쌍
    Figure 112022114203223-pat00249
    와 이와 결합된 이선형 함수(bilinear map)
    Figure 112022114203223-pat00250
    와 해시 함수
    Figure 112022114203223-pat00379
    가 생성된다고 가정하고, 여기서 그룹들의 위수는 소수 p라고 할 때, 상기 속성서명키 발급자는 발급키와 파라미터들을 생성하기 위해서, 임의의 원소
    Figure 112022114203223-pat00253
    Figure 112022114203223-pat00380
    를 선택하고 임의의
    Figure 112022114203223-pat00381
    를 선택하고
    Figure 112022114203223-pat00382
    을 계산하고,
    Figure 112022114203223-pat00383
    를 발급키로 저장하고,
    상기 확인자는 임의의
    Figure 112022114203223-pat00384
    를 선택하고
    Figure 112022114203223-pat00385
    ,
    Figure 112022114203223-pat00386
    을 계산 후 상기 속성서명키 발급자에게 전송하고, 연결키
    Figure 112022114203223-pat00387
    을 계산하고 연결키를 상기 연결자에게 전송하고,
    Figure 112022114203223-pat00388
    를 확인키로 저장하고,
    Figure 112022114203223-pat00389
    은 연결키로 정의할 때, 상기 속성서명키 발급자가 확인키
    Figure 112022114203223-pat00390
    와 연결키
    Figure 112022114203223-pat00391
    , 공개 파라미터
    Figure 112022114203223-pat00392
    ,
    Figure 112022114203223-pat00393
    를 생성한 후, 상기 확인자에게 확인키
    Figure 112022114203223-pat00394
    를 전송하고 상기 연결자에게 연결키
    Figure 112022114203223-pat00395
    를 전송하고,
    상기 속성서명키 발급자는 상기 확인자로부터 받은 공개 파라미터
    Figure 112022114203223-pat00396
    ,
    Figure 112022114203223-pat00397
    를 공개적으로 이용할 수 있도록, 시스템 공개키에 포함하여 초기 시스템 공개키
    Figure 112022114203223-pat00398
    를 만들고, 이때 초기 시스템 공개키는 이후 키 폐기 이벤트에 따라서 업데이트되고, 초기 공개키는
    Figure 112022114203223-pat00399
    으로 나타내며, 첫 번째 키 폐기 이벤트 후에는
    Figure 112022114203223-pat00400
    이 생성되어 공개되며, 두 번째 키 폐기 이벤트 후에는
    Figure 112022114203223-pat00401
    가 생성되어 공개되며, n번째 키 폐기 이벤트 후에는
    Figure 112022114203223-pat00402
    이 생성되어 공개되는 과정을 포함하여 이루어지는 것을 특징으로 하는 익명 속성 증명 시스템.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
  9. 사용자가 사용하는 기기로서, 통신망을 통해 유무선 통신이 가능한 사용자 기기, 속성서명키 발급자, 확인자, 연결자 및 서명검증부를 포함하는 익명 속성 증명 시스템에서의 익명 속성 증명 방법에서,
    상기 속성서명키 발급자는 초기 시스템 공개키를 생성하고, 이에 대응하는 발급키(issuing key)를 생성하는 단계;
    상기 속성서명키 발급자는 상기 사용자 기기로부터 속성서명키 발급 요청이 있으면 상기 발급키를 이용하여 상기 사용자 기기에게 다중의 속성 정보들과 결합된 속성서명키를 발급하고, 발급한 속성서명키를 유효한 속성서명키 목록을 통해 관리하는 단계;
    상기 속성서명키 발급자는 상기 사용자 기기로부터 속성서명키 폐기 요청이 있는 경우, 키 폐기 이벤트에 기반하여 속성서명키 폐기 절차를 진행하고, 이와 관련하여 시스템 공개키를 갱신하고, 폐기된 속성서명키 목록을 관리하는 단계;
    상기 확인자는 상기 사용자 기기로부터 유효한 익명 속성 증명 서명이 주어진 경우, 확인키(opening key)를 이용하여 서명자가 누구인지 확인한 결과인 서명자 증명 정보를 출력하는 단계;
    상기 연결자는 유효한 두 개의 익명 속성 증명 서명들이 주어진 경우, 연결키(linking key)를 이용하여 서로 연결되는지 여부를 확인한 결과를 출력하는 단계; 및
    상기 서명검증부는 상기 익명 속성 증명 서명에 대한 유효성을 검증하고, 상기 확인자에서 생성된 서명자 증명 정보의 유효성을 검증하는 단계를 포함하고,
    상기 속성서명키 발급자는 상기 초기 시스템 공개키와 키 폐기 이벤트로 인해 갱신된 시스템 공개키를, 상기 사용자 기기를 포함한 시스템 내 모든 참가자에게 공개하고,
    상기 속성서명키 발급자는 상기 사용자 기기로부터 속성서명키 발급 요청 메시지를 수신하는 경우, 상기 발급 요청 메시지의 유효성을 검증한 후, 사용자에 대한 다중의 속성 정보들과 결합된 속성서명키를 상기 사용자 기기에 발급하고,
    상기 발급 요청 메시지에는 속성 및 개인키에 대한 위임값과, 이에 대응하는 속성 및 개인키 소유에 대한 지식 증명 정보와, 속성서명키 발급을 요청한 사용자를 보증하는 메시지가 포함되고,
    상기 사용자 기기와 상기 속성서명키 발급자 간에는 인증을 위한 보안 채널이 형성되어 있고,
    상기 속성서명키 발급자는 상기 사용자 기기로부터 속성서명키 폐기 요청이 있으면, 일정한 시간 이후 폐기 이벤트를 발생시켜서 속성서명키 폐기 절차를 진행하거나, 또는 속성서명키 폐기 요청의 횟수가 미리 정해진 수치가 되면 폐기 이벤트를 발생시켜서 속성서명키 폐기 절차를 진행하며,
    상기 속성서명키 발급자가 초기 시스템 공개키
    Figure 112022114203223-pat00403
    와 이에 대응하는 발급키(IK), 확인키(OK), 연결키(LK)를 생성하는 동작 제어 흐름은,
    초기에 보안 파라미터 k를 입력으로 받아서, 먼저 이선형군(bilinear group) 쌍
    Figure 112022114203223-pat00404
    와 이와 결합된 이선형 함수(bilinear map)
    Figure 112022114203223-pat00405
    와 해시 함수
    Figure 112022114203223-pat00406
    가 생성된다고 가정하고, 여기서 그룹들의 위수는 소수 p라고 할 때, 상기 속성서명키 발급자는 발급키와 파라미터들을 생성하기 위해서, 임의의 원소
    Figure 112022114203223-pat00407
    Figure 112022114203223-pat00408
    를 선택하고 임의의
    Figure 112022114203223-pat00409
    를 선택하고
    Figure 112022114203223-pat00410
    을 계산하고,
    Figure 112022114203223-pat00411
    를 발급키로 저장하고,
    상기 확인자는 임의의
    Figure 112022114203223-pat00412
    를 선택하고
    Figure 112022114203223-pat00413
    ,
    Figure 112022114203223-pat00414
    을 계산 후 상기 속성서명키 발급자에게 전송하고, 연결키
    Figure 112022114203223-pat00415
    을 계산하고 연결키를 상기 연결자에게 전송하고,
    Figure 112022114203223-pat00416
    를 확인키로 저장하고,
    Figure 112022114203223-pat00417
    은 연결키로 정의할 때, 상기 속성서명키 발급자가 확인키
    Figure 112022114203223-pat00418
    와 연결키
    Figure 112022114203223-pat00419
    , 공개 파라미터
    Figure 112022114203223-pat00420
    ,
    Figure 112022114203223-pat00421
    를 생성한 후, 상기 확인자에게 확인키
    Figure 112022114203223-pat00422
    를 전송하고 상기 연결자에게 연결키
    Figure 112022114203223-pat00423
    를 전송하고,
    상기 속성서명키 발급자는 상기 확인자로부터 받은 공개 파라미터
    Figure 112022114203223-pat00424
    ,
    Figure 112022114203223-pat00425
    를 공개적으로 이용할 수 있도록, 시스템 공개키에 포함하여 초기 시스템 공개키
    Figure 112022114203223-pat00426
    를 만들고, 이때 초기 시스템 공개키는 이후 키 폐기 이벤트에 따라서 업데이트되고, 초기 공개키는
    Figure 112022114203223-pat00427
    으로 나타내며, 첫 번째 키 폐기 이벤트 후에는
    Figure 112022114203223-pat00428
    이 생성되어 공개되며, 두 번째 키 폐기 이벤트 후에는
    Figure 112022114203223-pat00429
    가 생성되어 공개되며, n번째 키 폐기 이벤트 후에는
    Figure 112022114203223-pat00430
    이 생성되어 공개되는 과정을 포함하여 이루어지는 것을 특징으로 하는 익명 속성 증명 방법.
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
KR1020200151238A 2020-11-12 2020-11-12 효율적인 키 폐기가 가능한 익명 속성 증명 시스템 및 방법 KR102477363B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200151238A KR102477363B1 (ko) 2020-11-12 2020-11-12 효율적인 키 폐기가 가능한 익명 속성 증명 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200151238A KR102477363B1 (ko) 2020-11-12 2020-11-12 효율적인 키 폐기가 가능한 익명 속성 증명 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20220064766A KR20220064766A (ko) 2022-05-19
KR102477363B1 true KR102477363B1 (ko) 2022-12-14

Family

ID=81801202

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200151238A KR102477363B1 (ko) 2020-11-12 2020-11-12 효율적인 키 폐기가 가능한 익명 속성 증명 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR102477363B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115174247A (zh) * 2022-07-18 2022-10-11 中国工商银行股份有限公司 基于区块链的对象追踪方法、装置及电子设备
CN115378613A (zh) * 2022-08-25 2022-11-22 天津大学 基于区块链的匿名信息监管方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101425552B1 (ko) 2010-10-04 2014-08-05 한국전자통신연구원 제어가능 연결성을 제공하는 그룹서명 시스템 및 방법
WO2016014048A1 (en) * 2014-07-23 2016-01-28 Hewlett-Packard Development Company, L.P. Attribute-based cryptography

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101543711B1 (ko) * 2011-10-11 2015-08-12 한국전자통신연구원 짧은 서명을 제공하는 경량 그룹서명 방법 및 장치
KR20150006909A (ko) * 2013-07-08 2015-01-20 코리아크레딧뷰로 (주) 개인정보 관리 방법과 이를 위한 개인정보 관리 서버

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101425552B1 (ko) 2010-10-04 2014-08-05 한국전자통신연구원 제어가능 연결성을 제공하는 그룹서명 시스템 및 방법
WO2016014048A1 (en) * 2014-07-23 2016-01-28 Hewlett-Packard Development Company, L.P. Attribute-based cryptography

Also Published As

Publication number Publication date
KR20220064766A (ko) 2022-05-19

Similar Documents

Publication Publication Date Title
AU2020200584B2 (en) Parameter based key derivation
Adams et al. Understanding PKI: concepts, standards, and deployment considerations
CN110493347A (zh) 基于区块链的大规模云存储中数据访问控制方法及系统
KR102460299B1 (ko) 익명 크리덴셜 인증 시스템 및 그 방법
JP2021517389A (ja) 双線形写像アキュムレータに基づく認証のためのブロックチェーン実装方法及びシステム
Pussewalage et al. Attribute based access control scheme with controlled access delegation for collaborative E-health environments
Li et al. Privacy‐aware PKI model with strong forward security
Ibrahim et al. A secure framework for sharing electronic health records over clouds
KR102477363B1 (ko) 효율적인 키 폐기가 가능한 익명 속성 증명 시스템 및 방법
CN114503508A (zh) 用于在区块链上存储经认证的数据的计算机实施的方法和系统
Silde et al. Anonymous tokens with public metadata and applications to private contact tracing
Shahraki et al. Attribute-based data access control for multi-authority system
CN117280346A (zh) 用于生成、提供和转发基于与用户相关的电子文件的可信电子数据集或证书的方法和装置
CN117528516A (zh) 一种跨链身份管理方法及系统
Derler et al. Signer-anonymous designated-verifier redactable signatures for cloud-based data sharing
Wang et al. Anonymous single sign-on schemes transformed from group signatures
Mittal et al. A novel two-level secure access control approach for blockchain platform in healthcare
EP4018614A1 (en) Did delegation/revocation to another did
Mittal et al. A three-phase framework for secure storage and sharing of healthcare data based on blockchain, IPFS, proxy re-encryption and group communication
CN110943846B (zh) 基于环签名技术的异构身份联盟用户信誉值传递方法
Rehman et al. Securing cloud storage by remote data integrity check with secured key generation
Liang et al. Decentralised functional signatures
Liang et al. An efficient blockchain-based anonymous authentication and supervision system
CN113656829A (zh) 一种基于格密码与联盟链的医疗数据安全共享方法
Buccafurri et al. Implementing advanced electronic signature by public digital identity system (SPID)

Legal Events

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