KR101425552B1 - 제어가능 연결성을 제공하는 그룹서명 시스템 및 방법 - Google Patents

제어가능 연결성을 제공하는 그룹서명 시스템 및 방법 Download PDF

Info

Publication number
KR101425552B1
KR101425552B1 KR1020100096561A KR20100096561A KR101425552B1 KR 101425552 B1 KR101425552 B1 KR 101425552B1 KR 1020100096561 A KR1020100096561 A KR 1020100096561A KR 20100096561 A KR20100096561 A KR 20100096561A KR 101425552 B1 KR101425552 B1 KR 101425552B1
Authority
KR
South Korea
Prior art keywords
key
signature
group
issuer server
public key
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
KR1020100096561A
Other languages
English (en)
Other versions
KR20120035069A (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 KR1020100096561A priority Critical patent/KR101425552B1/ko
Priority to US13/079,588 priority patent/US8762729B2/en
Publication of KR20120035069A publication Critical patent/KR20120035069A/ko
Application granted granted Critical
Publication of KR101425552B1 publication Critical patent/KR101425552B1/ko
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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

Landscapes

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

Abstract

본 발명은 제어가능 연결성을 제공하는 그룹서명 시스템 및 방법을 제공한다. 여기서 연결성은 주어진 "서명 값들이 한 서명키로부터 생성 되었음"를 의미한다. 본 발명에서는 사용자 가입/탈퇴에 대한 동적 맴버쉽(dynamic membership)을 지원하고 기본적으로 기존에 알려진 그룹서명의 모든 기능들을 제공하며 이에 더하여 제어가능 연결성을 제공한다. 그룹서명의 참가자들은 크게 키 발급자(issuer), 확인자(opener), 연결자(linker), 서명자(signer)(또는 사용자), 그리고 검증자(verifier)로 구성된다. 서명자는 가입을 한 후 키 발급자로부터 익명인증에 사용되는 키를 발급받고 이 후 익명성 기반의 서명을 생성하는데 사용한다. 검증자는 공개 그룹키를 이용하여 서명자가 누구인지는 모른체 서명이 정당한 사용자가 생성했음을 확인할 수 있다. 향후 키 분실 또는 사용자 탈퇴의 경우, 확인자는 자신의 확인키를 이용하여 사용자가 누구인지 증명할 수 있는 증명값들을 생성할 수 있다. 연결자는 자신의 연결키를 이용하여 주어진 두 개의 서명 값들이 서명자가 누구인지는 모른체 같은 사용자로부터 생성된 것인지 확인할 수 있다.

Description

제어가능 연결성을 제공하는 그룹서명 시스템 및 방법{GROUP SIGNATURE SYSTEM AND SCHEMES WITH CONTROLLABLE LINKABILITY}
본 발명은 암호학적 그룹서명 기법에 관한 것으로, 특히 그룹의 정당한 사용자가 생성한 서명은 겉으로는 단지 그룹 맴버 중 한 사용자가 메시지에 대한 서명을 생성했음을 증명하지만 특별한 확인키(opening key)가 주어질 경우 서명자를 확인할 수 있으며 또한 특별한 연결키(linking key)가 주어질 경우에는 서명 값들이 서로 연결됨 (즉, 한 서명자 또는 서명자키에 생성되었음)을 확인할 수 있도록 하여 다양한 수준으로 제어 가능한 익명성 및 연결성을 제공하는 그룹서명 시스템 및 방법에 관한 것이다.
통상적으로, 그룹서명 기법은 사용자의 프라이버시(privacy)를 보호하기 위한 매우 중요한 암호학적 인증 기법 중 하나로 폭넓게 연구되고 있다. 이러한 그룹서명 기법은 1991년 Chaum과 Heyst에 의해 최초로 개념이 제시된 이후로 많은 발전을 이루어 왔으며 안전성 요구사항에 대한 형식적 모델은 물론 구체적인 기법들도 많이 제안되어 오고 있다.
또한, 개인정보의 등록 및 확인 과정을 통해 개인정보 노출, 서비스 제공자의 과도한 개인정보 수집 및 관리 부주의로 인한 유출 등과 같은 많은 문제점을 안고 있는 아이디/패스워드(id/password) 인증 기법, 실명 기반 PKI 인증 기법과, 광범위한 행위 추적의 문제를 가지고 있는 i-Pin 기법 등을 대체할 수 있는 효과적인 익명 인증 기법으로 최근 활발히 연구되고 있다.
하지만, 전통적인 그룹서명 기법은 서명자의 아이디를 은닉/복구하는 이분법적인 구조로 단순하게 익명성을 다루고 있어 실제적인 응용 환경에서 채택되기에는 충분하지 않다. 이는 서비스를 이용하는 쪽에서는 더욱 완전한 익명성의 장점을 선호하지만 서비스를 제공하는 측면에서는 익명성만으로 서비스 제공으로부터 얻은 본래의 목적을 달성하기 쉽지 않기 때문이다.
예를 들어, 웹 기반의 익명 인증 서비스를 생각해 보면 양질의 서비스는 물론 다양한 개인화된 서비스를 구성하기 어렵다. 또한 데이터 마이닝의 경우 익명 인증 데이터로부터 유용한 정보를 얻어내기 힘들다.
따라서 이러한 문제점을 해결하기 위해서 실용적인 관점에서 다양한 익명성 수준을 제어할 수 있으며 성능 관점에서도 우수한 그룹서명 기법 등의 개발이 절실히 필요하다.
또한, 위에서 언급한 익명성 특성을 제공하는 효율적인 그룹서명 기법들을 설계 및 개발하기 위해서는, 기존에 알려진 이선형 군 (Bilinear Group) 상의 선형 암호 (Linear Encryption, LE) 기법만으로는 충분하지 않으며, 효율적으로 다중의 메시지 쌍을 암호화 시킬 수 있는 구조적으로 유연한 새로운 암호 기법 등이 동시에 개발되어야 한다.
한편, 현재까지 익명 인증을 제공하기 위해서 다양한 그룹 서명 기법들이 제안되고 있으나 익명성을 처리하는 방식이 생성된 서명 속에 서명자의 아이디를 감추고 확인키 (master opening key)가 주어지면 다시 서명자 아이디를 복구할 수 있는 단순한 구조를 채택하고 있다. 이러한 단편적인 방식은 실제 응용 환경에서 활용되기에는 미흡하다. 서비스를 이용하는 쪽에서는 익명성의 장점을 선호하지만 서비스를 제공하는 측면에서는 단순한 익명성만으로 서비스 제공을 위한 유용한 목적을 달성하기 쉽지 않은 문제점이 있다. 예를 들어, 웹 기반의 익명 인증 서비스를 고려할 경우, 서비스 제공자는 익명화된 형태의 사용자 정보(예를 들어, 사용자의 소비 패턴 등)가 필요하며 이것이 뒷받침되지 않을 경우 다양한 개인화된 서비스 및 이와 결합된 양질의 서비스를 구성하기 어렵다. 또한 데이터 마이닝(Data Mining)의 경우 익명 인증 데이터로부터 개발자가 원하는 방식으로 유용한 정보를 얻어내기 힘들다.
따라서, 본 발명의 목적은, 기존의 그룹 서명 기법이 갖는 익명성의 제한된 제어 모습을 극복하고 익명성의 수준을 다각화하는데 필요한 새로운 형태의 그룹 기반 익명 서명 기법을 제공하는 것이다. 구체적으로, 제어가능 연결성을 도입하여 익명성의 개념을 다양한 수준으로 세분화하고 이에 대응하는 제어 방법을 제공하는 그룹서명 시스템 및 방법을 제공하고자 한다. 즉, 특별한 키가 주어졌을 경우에만 서명자 아이디 또는 서명 값들 사이의 연결 정보가 확인되며 따라서 이런 측면에서 익명성은 제어 가능하다.
본 발명의 다른 목적은, 선형결합암호 (linear combination encryption, LCE 기법과 이를 확장한 하이브리드 선형결합암호 (hybrid linear combination encryption, HLCE) 기법을 제안한다. 이 기법들은 그룹서명 기법의 설계를 위해 매우 필수적으로 이용되며 또한 독립적으로 다른 암호학적 기법의 설계를 위해 중요하게 이용될 수 있다. 이러한 암호 기법들은 결정적 DH (Decisional Diffie-Hellman, DDH) 문제가 쉬운 대수적 군(algebraic group), 예를 들어, 이선형함수(bilinear pairings)를 위해 정의되는 이선형 군(bilinear group)에서 안전하게 다중의 메시지를 효율적으로 암호화할 수 있다.
상술한 본 발명은 그룹서명 시스템으로서, 그룹 공개키의 제1파라미터를 생성하고 이에 대응하는 마스터 발급키를 생성하며, 사용자 기기의 가입이 있는 경우 상기 사용자에게 서명키를 발급하고 사용자 키 폐기가 발생할 경우 키 갱신을 위해 폐기 목록 등을 관리하는 키발급자 서버와, 상기 그룹 공개키의 제2파라미터와 이에 대응하는 마스터 확인키와 마스터 연결키를 생성하는 확인자 서버와, 상기 그룹 공개키에 대응하는 유효한 두 개의 서명이 주어지는 경우 상기 마스터 연결키를 이용하여 상기 두 개의 서명들이 서로 연결되었는지 확인하는 연결자 서버를 포함한다.
또한, 상기 그룹서명 시스템은, 발급된 서명키를 이용하여 서명을 생성하는 사용자 기기와, 상기 주어진 서명에 대한 서명의 유효성을 확인하여 주는 서명검증부와, 상기 확인자 서버에서 생성된 서명자 확인정보의 유효성을 확인해주는 서명자증명정보 확인부를 더 포함하는 것을 특징으로 한다.
또한, 상기 키발급자 서버는, 상기 제1파라미터와 제2파라미터를 이용하여 그룹 공개키를 생성하고, 이를 사용자 기기를 포함한 모든 참가자에게 제공하는 것을 특징으로 한다.
또한, 상기 키발급자 서버는, 이선형군 쌍과 상기 이선형군 쌍과 결합되는 이선형 함수를 이용하여 상기 마스터 발급키를 정의하는 것을 특징으로 한다.
또한, 상기 키발급자 서버는, 그룹서명 시스템에 등록하고자 하는 사용자 기기로부터 가입 요청 메시지를 수신하는 경우 상기 가입 요청 메시지의 유효성을 검증한 후, 상기 사용자 기기로 서명키를 발급하는 것을 특징으로 한다.
또한, 상기 가입 요청 메시지에는, 개인키 소유 증명 정보와 키 발급과 관련된 증명정보 등을 포함되는 것을 특징으로 한다.
또한, 상기 사용자 기기와 키발급자 서버간에는, 인증을 위한 보안 채널이 형성되는 것을 특징으로 한다.
또한, 상기 키발급자 서버는, 키폐기가 발생하는 경우 세션을 변경하고, 폐기 목록을 공개하여 상기 그룹 공개키와 사용자 비밀키를 갱신하도록 하는 것을 특징으로 한다.
또한, 상기 확인자 서버는, 상기 유효한 서명이 주어지는 경우 상기 마스터 확인키를 이용하여 서명자가 누구인지 확인해주는 증명정보를 출력하는 것을 특징으로 한다.
또한 본 발명은 그룹서명 시스템에서 그룹서명 방법으로서, 키발급자 서버에서 그룹 공개키의 제1파라미터를 생성하고 이에 대응하는 마스터 발급키를 생성하는 단계와, 사용자 기기의 가입이 있는 경우 상기 사용자 기기로 서명키를 발급하는 단계와, 확인자 서버에서 상기 그룹 공개키의 제2파라미터와 이에 대응하는 마스터 확인키와 마스터 연결키를 생성하는 단계를 포함한다.
또한, 상기 연결자 서버에서 유효한 두 개의 서명이 주어지는 경우 상기 마스터 연결키를 이용하여 상기 두 개의 서명이 서로 연결되었는지 확인하는 단계를 포함한다.
또한, 상기 확인자 서버에서, 유효한 서명이 주어지는 경우 상기 마스터 확인키를 이용하여 서명자가 누구인지 확인해주는 증명정보를 출력하는 단계를 더 포함하는 것을 특징으로 한다.
또한, 본 발명은 그룹서명 시스템에서 그룹 공개키 생성 방법으로서, 키발급자 서버에서 그룹 공개키의 제1파라미터를 생성하고 마스터 발급키를 정의하는 단계와, 확인자 서버에서 마스터 확인키와 마스터 연결키를 각각 정의하고, 상기 그룹 공개키의 제2파라미터를 생성하여 상기 키발급자 서버로 제공하는 단계와, 상기 키발급자 서버에서 상기 제1파라미터와 제2파라미터를 조합하여 상기 그룹 공개키를 생성하는 단계를 포함한다.
또한, 상기 그룹 공개키의 생성단계 이후, 상기 키발급자 서버에서 상기 그룹 공개키를 상기 그룹서명 시스템에 등록된 사용자 기기로 제공하는 단계를 더 포함하는 것을 특징으로 한다.
또한, 상기 마스터 발급키는, 이선형군 쌍과 상기 이선형군 쌍과 결합되는 이선형 함수 및 해쉬 함수를 이용하여 정의되는 것을 특징으로 한다.
또한, 본 발명은 그룹서명 시스템에서 그룹 공개키 갱신 방법으로서, 키발급자 서버는 세션이 변경되는 경우 키 갱신을 위한 폐기 목록을 공개하는 단계와, 상기 키발급자 서버에서 새로운 그룹 공개키를 생성하여 사용자 기기로 제공하는 단계와, 상기 사용자 기기에서 상기 새로운 그룹 공개키로 그룹 공개키를 갱신하는 단계와, 상기 사용자 기기에서 상기 새로운 그룹 공개키에 대응하는 서명키를 갱신하는 단계를 포함한다.
또한, 본 발명은 그룹서명 시스템에서 서명키 생성 방법으로서, 키발급자 서버에서 사용자 기기로부터 가입 요청 메시지를 수신하는 단계와, 상기 키발급자 서버에서 상기 가입 요청 메시지의 유효성을 검증하는 단계와, 상기 사용자 기기로부터 상기 유효성이 검증된 상기 가입 요청 메시지에 대한 서명을 전송받는 단계와, 상기 키발급자 서버에서 상기 서명의 유효성을 검증하여 상기 사용자 기기를 등록하는 단계와, 상기 사용자 기기에서 그룹 공개키에 대응하는 비밀 서명키를 생성하는 단계를 포함한다.
또한, 상기 사용자 기기와 키발급자 서버간에는, 인증을 위한 보안 채널이 형성되는 것을 특징으로 한다.
또한, 상기 가입 요청 메시지에는, 개인키 소유 증명 정보가 포함되는 것을 특징으로 한다.
또한, 본 발명은 그룹서명 시스템에서 메시지 암호 방법으로서, 확인자 서버는 그룹 공개키의 제2파라미터에 포함되는 확인자 서버의 공개키를 정의하고 이에 대응되는 비밀키를 저장하는 단계와, 사용자기기가 상기 공개키를 이용하여 (그룹서명에 포함될) 자신의 서명키의 암호문을 출력하는 단계와, 확인자 서버가 상기 비밀키를 이용하여 상기 암호문으로부터 상기 메시지, 즉 서명키를 복구하는 단계를 포함한다. 상기 메시지 암호 방법은 상기 그룹서명 시스템과 독립적으로 정의되어 이용되거나 다른 시스템과 결합되어 이용될 수 있다.
본 발명에서는 제어가능 연결성을 포함하여 익명성을 다양한 수준으로 제어할 수 있는 그룹서명 기법을 통해 사용자 프라이버시를 보호할 수 있는 방법을 제공하며 기존의 다양한 응용서비스들과 결합되어 또는 독립적으로 쉽게 채택될 수 있는 이점이 있다.
본 발명에 따르면, 제공되는 제어가능 연결성을 통해 익명성은 다양한 조건, 정책과 결합되어 세분화 될 수 있다. 기본적으로, 구성 기법은 기존에 알려진 그룹서명 기법의 모든 기능 및 보안특성들을 제공한다. 즉, 주어진 서명 값으로부터 단순히 서명자의 확인이나 연결성 정보의 확인은 불가능하다. 하지만 특별한 키들이 주어졌을 경우, 즉, 특별한 확인키 (opening key)가 주어질 경우 서명자를 확인할 수 있으며 또한 특별한 연결키 (linking key)가 주어질 경우에는 서명자는 서명 값들이 서로 연결됨(즉, 한 서명자 또는 서명자키로 생성되었음)을 확인할 수 있다.
또한, 본 발명을 통해 결정적 DH (Decisional Diffie-Hellman) 문제가 쉬운 대수적 군(algebraic group)에서 안전하게 메시지를 암호/복호화 할 수 있는 방법을 제공하며, 또한 교통망을 위한 익명 인증(VSC), 미래인터넷 익명 패킷 인증 등 기존의 그룹 서명 기법이 적용 가능했던 용용 분야들뿐만 아니라 익명성 기반 웹 서비스, 의료정보보호, 클라우드 컴퓨팅 인증 등 다양한 차세대 IT 응용분야에서 활용될 수 있는 이점이 있다.
도 1은 본 발명의 실시 예에 따른 제어가능 연결성을 제공하는 그룹서명 시스템의 구성도,
도 2는 본 발명의 실시 예에 따라 그룹서명 시스템의 그룹 공개키와 마스터 발급키, 마스터 확인키, 마스터 연결키 들을 생성하는 동작 제어 흐름도,
도 3은 본 발명의 실시 예에 따라 키발급자 서버와 사용자 기기간 상호적으로 서명키를 생성하는 동작 제어 흐름도,
도 4는 본 발명의 실시 예에 따라 정당한 사용자 기기가 주어진 메시지에 대해 그룹서명을 생성하는 동작 제어 흐름도,
도 5는 본 발명의 실시 예에 따라 정당한 사용자 기기가 생성한 한 메시지에 대한 그룹서명에 대해 서명검증부를 통해 검증하는 동작 제어 흐름도,
도 6은 본 발명의 실시 예에 따라 정당한 사용자 기기가 생성한 한 메시지에 대한 그룹서명에 대해 증명정보를 생성하고, 증명정보의 유효성을 검증하는 동작 제어 흐름도,
도 7은 본 발명의 실시 예에 따라 정당한 사용자 기기가 생성한 두 그룹서명들에 대해 마스터 연결키를 이용하여 서명값들이 서로 연결되었는지를 확인해 주는 동작 제어 흐름도,
도 8은 본 발명의 실시 예에 따라 키 폐기가 발생한 경우 키발급자 서버가 관련 정보를 공개하고 그룹 공개키를 갱신하고 정당한 사용자 기기는 자신의 서명키를 갱신하는 동작 제어 흐름도,
도 9는 본 발명의 실시 예에 따른 선형결합암호기법(Linear Combination Encryption(LCE) Scheme) 을 설명하는 동작 제어 흐름도,
도 10은 본 발명의 실시 예에 따른 하이브리드선형결합암호기법(Hybrid Linear Combination Encryption(HLCE) Scheme)을 설명하는 동작 제어 흐름도.
이하, 첨부된 도면을 참조하여 본 발명의 동작 원리를 상세히 설명한다. 하기에서 본 발명을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 1은 본 발명의 실시 예에 따른 제어가능 연결성을 제공하는 그룹서명 시스템의 구성을 도시한 것이다.
도 1을 참조하면, 본 발명에 따른 기법의 참가 구성요소들은 크게 키발급자 서버(issuer sever)(100), 확인자 서버(opener server)(200), 연결자 서버(linker server)(300), 사용자 기기(400), 서명검증부(500), 그리고 서명자증명정보 확인부(600)로 구성된다. 여기서 서버는 주어진 입력값에 대해 특별한 값을 출력하는 알고리즘의 개념으로 사용 가능하다. 다만 참가자들의 구성은 이에 한정되는 것은 아니며 설계되는 방식에 따라 유연하게 참가자의 역할이 새로운 주체의 정의로 분리되거나 또는 통합될 수 있으며(예, 키발급자 서버와 확인자 서버의 통합 또는 확인자 서버와 연결자 서버의 통합), 필요 시 알려진 실명 인증 기법과 연동을 위해 새로운 참가자를 정의할 수 있다.
키발급자 서버(100)는 신뢰된 주체로써 초기에 그룹 공개키의 제1파라미터 (group public parameters, gpp1)를 생성하고, 이에 대응하는 마스터 발급키(master issuing key, mik)를 생성한다. 키발급자 서버(100)는 새로운 사용자 기기(400)의 가입이 있을 경우 상호적인 프로토콜을 수행한 후, 사용자에게 서명키를 발급한다.
또한, 키폐기(revocation)가 발생할 경우, 키발급자 서버(100)는 폐기목록을 포함한 관련 정보를 공개하고 참가자들이 필요한 경우 키 값들이 갱신되도록 한다.
확인자 서버(200)는 초기에 그룹공개키의 제2파라미터(group public parameters, gpp2)와 이에 대응하는 마스터 확인키(master opening key, mok)와 마스터 연결키(master linking key, mlk)를 생성한다. 마스터 연결키는 연결자서버(300)에게 제공한다. 유효한 서명이 주어진 경우, 마스터 확인키를 이용하여 서명자가 누구인지 확인해 주는 증명정보를 출력한다. 출력된 증명정보는 누구든지 공개적으로 확인 가능하다.
연결자(Linker)서버(300)는 초기에 마스터 연결키(master linking key, mlk)를 확인자 서버(400)로부터 받는다. 유효한 두 개의 서명이 주어진 경우, 마스터 연결키를 이용하여 서로 연결되었는지(즉, 두 명 서명을 한 서명자가 생성했는지) 확인할 수 있다.
사용자 기기(400)는 정당한 그룹의 맴버로 가입하여 키발급자 서버(100)로부터 서명키를 발급받을 수 있다.
이 때, 사용자 기기(400)와 키발급자 서버(100)는 상호적인 프로토콜을 수행한다. 이 후, 사용자 기기(400)는 발급받은 서명키를 이용하여 주어진 메시지에 대한 서명 값(group signature)을 생성한다. 키폐기(revocation)가 발생할 경우, 사용자 기기(400)는 키발급자 서버(100)로부터 공개된 폐기정보를 이용하여 키값들을 갱신한다. 서명검증부(500)는 주어진 서명에 대한 서명의 유효성을 확인해 주는 알고리즘이다. 서명자증명정보 확인부(600)는 확인자 서버(200)으로부터 생성된 서명자 확인정보의 유효성을 검증해 주는 알고리즘이다.
키발급자 서버(100)는 위에서 생성된 제1파라미터(gpp1)과 제2파라미터(gpp2)를 조합하여 그룹 공개키(group public key, gpk)로 정의하며, 이와 같이 정의된 그룹 공개키를 그룹서명 시스템내 모든 참가 구성요소들에게 공개한다. 즉, gpk={gpp1,gpp2}이다. 향후, 키폐기가 발생할 때 마다, gpk는 갱신된다.
도 2는 본 발명의 실시 예에 따라 키 발급자 서버(100)와 확인자 서버(200)가 그룹 공개키의 파라미터들 gpp1, gpp2으로 구성된 초기그룹 공개키 gpk와 이에 대응하는 마스터 발급키(mik), 마스터 확인키(mok), 마스터 연결키(mlk)를 생성하는 동작 제어 흐름을 도시한 것이다.
이하, 도 2를 참조하여 본 발명의 실시 예를 상세히 설명하기로 한다.
초기에 보안 파라미터
Figure 112010064082904-pat00001
를 입력으로 받아서 키 발급자 서버(100)는 다음을 수행한다. 먼저 이선형군 (bilinear group) 쌍
Figure 112010064082904-pat00002
와 이와 결합된 이선형 함수(bilinear map)
Figure 112010064082904-pat00003
와 해쉬 함수
Figure 112010064082904-pat00004
를 생성한다. 임의의 원소
Figure 112010064082904-pat00005
과 임의의
Figure 112010064082904-pat00006
을 선택한다. 또한 임의의
Figure 112010064082904-pat00007
를 선택하고
Figure 112010064082904-pat00008
을 계산한 후
Figure 112010064082904-pat00009
를 마스터 발급키로 정의한다(S200).
또한, 확인자 서버(200)는 임의의
Figure 112010064082904-pat00010
을 선택하고
Figure 112010064082904-pat00011
,
Figure 112010064082904-pat00012
을 계산한다. 또한 임의의
Figure 112010064082904-pat00013
을 선택하고
Figure 112010064082904-pat00014
,
Figure 112010064082904-pat00015
,
Figure 112010064082904-pat00016
,
Figure 112010064082904-pat00017
을 계산한다. 여기서,
Figure 112010064082904-pat00018
는 마스터 확인키로,
Figure 112010064082904-pat00019
은 마스터 연결키로 각각 정의된다. 그리고, 제2파라미터 gpp2=
Figure 112010064082904-pat00020
를 키 발급자 서버(100)에게 송신한다(S202).
키발급자 서버(100)는 확인자 서버(200)로부터 수신된 gpp2=
Figure 112010064082904-pat00021
를 자신의 gpp1=
Figure 112010064082904-pat00022
와 조합하여 초기 그룹 공개키
Figure 112010064082904-pat00023
를 만들고 공개적으로 이용할 수 있게 한다(S204). 이와 같은 초기 공개키는 키 폐기 사건이 발생할 때 마다 갱신된다. 편의상 초기 그룹 공개키를 gpk0으로 나타내자. 그룹 공개키에서 키 발급자 서버(100)와 확인자 서버(200)가 관리하는 파라미터들은 공개적으로 인증된 방식으로 "검증가능하다"고 가정한다.
도 3은 본 발명의 실시 예에 따라 키발급자 서버(100)가 사용자 기기(400)와 상호적으로 서명키를 생성하는 동작 제어 흐름을 도시한 것이다.
이하, 도 3을 참조하여 본 발명의 실시 예를 상세히 설명하기로 한다.
먼저, 새롭게 그룹에 가입하려는 사용자 기기(400)와 키발급자 서버(100)는 상호적으로 다음과 같은 작업을 수행한다. 두 참가자 사이에는 인증 및 보안채널이 형성되어 있다고 가정한다. 아래의 설명에서 Ext-Commit는 완전한 바인딩(perfect binding), 계산적 하이딩(computationally hiding)을 제공하는 추출 가능한 위탁 기법(extractable commitment scheme)을 나타낸다. 트랩도어(trapdoor) 정보가 주어지면 위탁된 값을 복구할 수 있다. NIZKEqDL(a,b,c)는 a에 위탁된 값과 logcb이 동일함을 증명하는 비상호적인 영지식증명기법(non-interactive zero-knowledge proof)을 나타낸다.
또한, NIZKEqDL(B,D)는 logDB에 대한 지식을 증명하는 비상호적인 영지식증명기법을 나타낸다. 초기 그룹 공개키
Figure 112010064082904-pat00024
와 현재의 그룹 공개키
Figure 112010064082904-pat00025
가 주어졌다고 하자. (여기서
Figure 112010064082904-pat00026
이다.) 다음에서 사용자 기기(400)는 일반적인 서명 기법(PKI기반의 형태 가능) ∑=(KGen, Sign, Vrfy)을 이용한다. 다음 설명에서는 사전에 각 사용자 기기(400)는 서명 기법 ∑=(KGen, Sign, Vrfy)을 사용하기 위한 공개키와 비밀키 쌍을 생성했다고 가정한다.
(1) 사용자 기기(400)는 임의의 난수
Figure 112010064082904-pat00027
를 선택하고
Figure 112010064082904-pat00028
을 계산한다. 그리고,
Figure 112010064082904-pat00029
(
Figure 112010064082904-pat00030
Ext-Commit(
Figure 112010064082904-pat00031
), NIZKEqDL(
Figure 112010064082904-pat00032
,
Figure 112010064082904-pat00033
,
Figure 112010064082904-pat00034
)) 를 생성한 후, 가입 요청 메시지 (Join, IDi, (
Figure 112010064082904-pat00035
,
Figure 112010064082904-pat00036
))를 키 발급자 서버(100)에게 보낸다(S300). 여기서, (
Figure 112010064082904-pat00037
,
Figure 112010064082904-pat00038
)는 개인키 소유 증명(proof of possession, POP) 역할을 한다.
(2) 키발급자 서버(100)는 가입 요청 메시지 (Join, IDi, (
Figure 112010064082904-pat00039
,
Figure 112010064082904-pat00040
))를 수신한 후, 정해진 방식을 따라서 (
Figure 112010064082904-pat00041
,
Figure 112010064082904-pat00042
)의 유효성을 검증한다. 유효하면, 사용자 등록 목록 REG에서 (IDi,
Figure 112010064082904-pat00043
,
Figure 112010064082904-pat00044
, ... ,
Figure 112010064082904-pat00045
,
Figure 112010064082904-pat00046
,
Figure 112010064082904-pat00047
,
Figure 112010064082904-pat00048
, ..)이 있는지 확인한다. 만일 존재하면,
Figure 112010064082904-pat00049
을 선택하고
Figure 112010064082904-pat00050
을 계산한다. 만일 존재하지 않으면
Figure 112010064082904-pat00051
을 선택하고
Figure 112010064082904-pat00052
을 계산한다. 또한,
Figure 112010064082904-pat00053
,
Figure 112010064082904-pat00054
,
Figure 112010064082904-pat00055
,
Figure 112010064082904-pat00056
,
Figure 112010064082904-pat00057
,
Figure 112010064082904-pat00058
을 계산하고
Figure 112010064082904-pat00059
NIZKPoKDL(
Figure 112010064082904-pat00060
,
Figure 112010064082904-pat00061
)와
Figure 112010064082904-pat00062
NIZKPoKDL(
Figure 112010064082904-pat00063
,
Figure 112010064082904-pat00064
)을 생성한다. 키발급자 서버(100)는 (
Figure 112010064082904-pat00065
,
Figure 112010064082904-pat00066
,
Figure 112010064082904-pat00067
,
Figure 112010064082904-pat00068
,
Figure 112010064082904-pat00069
)을 사용자 기기(400)에게 송신한다(S302).
(3) 사용자 기기(400)는 (
Figure 112010064082904-pat00070
,
Figure 112010064082904-pat00071
,
Figure 112010064082904-pat00072
)을 수신한 후,
Figure 112010064082904-pat00073
Figure 112010064082904-pat00074
을 계산하고,
Figure 112010064082904-pat00075
가 유효한지 확인한다. 또한 등식
Figure 112010064082904-pat00076
=
Figure 112010064082904-pat00077
이 성립하는지 확인한다. 만일 모든 검증이 성공 적이면 서명
Figure 112010064082904-pat00078
Signski(
Figure 112010064082904-pat00079
,
Figure 112010064082904-pat00080
,
Figure 112010064082904-pat00081
,
Figure 112010064082904-pat00082
)을 생성하고,
Figure 112010064082904-pat00083
를 키발급자 서버(100)에게 보낸다(S304).
(4) 키발급자 서버(100)는 서명
Figure 112010064082904-pat00084
를 수신한 후, 서명의 유효성을 검증한다. 만일 서명이 유효하면, 키 발급자 서버(100)는 사용자 기기(400)에
Figure 112010064082904-pat00085
을 송신한다(S306).
(5) 사용자 기기(400)는
Figure 112010064082904-pat00086
을 수신한 후, 사용자 키 갱신 알고리즘을 이용하여 현재의 그룹 공개키에 대응하는
Figure 112010064082904-pat00087
을 계산한다. 다음 두 등식이 성립하는지 확인한다:
Figure 112010064082904-pat00088
,
Figure 112010064082904-pat00089
.
만일 두 등식이 성립하면
Figure 112010064082904-pat00090
을 현재의 그룹 공개키에 대응하는 비밀 서명키로 안전하게 저장한다(S308). 마지막으로 사용자 기기(400)는
Figure 112010064082904-pat00091
,
Figure 112010064082904-pat00092
이 성립하면 메시지 (
Figure 112010064082904-pat00093
,
Figure 112010064082904-pat00094
,
Figure 112010064082904-pat00095
,
Figure 112010064082904-pat00096
,
Figure 112010064082904-pat00097
,
Figure 112010064082904-pat00098
) 에 대한 서명
Figure 112010064082904-pat00099
Signski(
Figure 112010064082904-pat00100
,
Figure 112010064082904-pat00101
,
Figure 112010064082904-pat00102
,
Figure 112010064082904-pat00103
,
Figure 112010064082904-pat00104
,
Figure 112010064082904-pat00105
)을 생성하고,
Figure 112010064082904-pat00106
를 키발급자 서버(100)에게 보낸다(S310).
(6) 키발급자 서버(100)는 서명
Figure 112010064082904-pat00107
를 수신한 후, 서명의 유효성을 검증한다. 만일 서명이 유효하면, (IDi,
Figure 112010064082904-pat00108
,
Figure 112010064082904-pat00109
,
Figure 112010064082904-pat00110
,
Figure 112010064082904-pat00111
,
Figure 112010064082904-pat00112
,
Figure 112010064082904-pat00113
,
Figure 112010064082904-pat00114
,
Figure 112010064082904-pat00115
,
Figure 112010064082904-pat00116
)을 사용자 등록 목록 REG에 추가한다(312).
위의 설명에서는 마스터 연결키 mlk가 주어지면 사용자 기기(400)의 맴버쉽에 관계없이 연결성을 확인할 수 있는 구조를 제공하고 있다. 이를 수정하여, 만일 사용자 기기(400)가 정당한 맴버로 가입되어 있는 동안에만 연결성을 제공하는 경우를 고려한다면, (2)번 단계에서 키발급자 서버(100)는 사용자 가입시 마다
Figure 112010064082904-pat00117
을 매번 새로운 값으로 선택할 수 있다.
도 4는 본 발명의 실시 예에 따라 정당한 사용자 기기(400)가 주어진 메시지에 대해 그룹서명을 생성하는 동작 제어 흐름을 도시한 것이다.
이하, 도 4를 참조하여 본 발명의 실시 예를 상세히 설명하기로 한다.
먼저 메시지
Figure 112010064082904-pat00118
이 수신되는 경우 사용자 기기(400)는 주어진 현재의 그룹 공개키
Figure 112010064082904-pat00119
, 이에 대응하는 사용자 비밀 서명키
Figure 112010064082904-pat00120
, 그리고 메시지
Figure 112010064082904-pat00121
을 입력으로 받는다(S400). 이어 사용자 기기(400)는 위와 같은 입력에 대해 다음과 같이 서명
Figure 112010064082904-pat00122
을 생성한다(S402). 즉, 사용자 기기(400)는 먼저, 임의의 난수
Figure 112010064082904-pat00123
를 선택하고
Figure 112010064082904-pat00124
,
Figure 112010064082904-pat00125
,
Figure 112010064082904-pat00126
,
Figure 112010064082904-pat00127
Figure 112010064082904-pat00128
mod p,
Figure 112010064082904-pat00129
mod p을 계산한다. 또한, 임의의 난수들
Figure 112010064082904-pat00130
를 선택하고
Figure 112010064082904-pat00131
,
Figure 112010064082904-pat00132
,
Figure 112010064082904-pat00133
,
Figure 112010064082904-pat00134
,
Figure 112010064082904-pat00135
,
Figure 112010064082904-pat00136
을 계산한다. 또한, 해쉬함수를 이용하여
Figure 112010064082904-pat00137
을 계산하고
Figure 112010064082904-pat00138
,
Figure 112010064082904-pat00139
,
Figure 112010064082904-pat00140
,
Figure 112010064082904-pat00141
,
Figure 112010064082904-pat00142
Figure 112010064082904-pat00143
,
Figure 112010064082904-pat00144
을 계산한다. 마지막으로,
Figure 112010064082904-pat00145
을 서명으로 출력한다(S404).
위의 설명에서,
Figure 112010064082904-pat00146
또는
Figure 112010064082904-pat00147
는 선택적으로 선형결합암호 기법 대신 선형암호(Linear Encryption)기법을 이용할 수 있다. 예를 들어,
Figure 112010064082904-pat00148
대신
Figure 112010064082904-pat00149
을 계산한다. 이 경우, 관련된 그룹 공개키 생성과 서명자 확인을 위한 증명정보 생성, 서명자증명정보확인을 위한 알고리즘 및, 연결성 정보의 확인 방법은 일관성을 위해 필요 시 적절히 수정된다. 수정은 자명하게 이루어지므로 생략한다.
도 5는 본 발명의 실시 예에 따라 정당한 사용자 기기(400)가 생성한 한 메시지에 대한 그룹서명에 대해 서명검증알고리즘(500)을 통해 검증하는 동작 제어 흐름을 도시한 것이다.
이하, 도 5를 참조하여 본 발명의 실시 예를 상세히 설명하기로 한다.
메시지
Figure 112010064082904-pat00150
에 대한 서명
Figure 112010064082904-pat00151
가 주어졌다고 가정하자(S500). 그러면, 서명검증부(500)부는
Figure 112010064082904-pat00152
,
Figure 112010064082904-pat00153
,
Figure 112010064082904-pat00154
,
Figure 112010064082904-pat00155
,
Figure 112010064082904-pat00156
, 그리고
Figure 112010064082904-pat00157
을 계산한다(S502). 그리고 해쉬함수 값
Figure 112010064082904-pat00158
을 계산한 후
Figure 112010064082904-pat00159
Figure 112010064082904-pat00160
이 같은지 확인한다. 만일 같다면 주어진 서명에 유효함을 나타내는 1을 출력한다. 만일 아니라면 0을 출력한다(S504).
도 6은 본 발명의 실시 예에 따라 정당한 사용자 기기(400)가 생성한 한 메시지에 대한 그룹서명에 대해 마스터 확인키를 이용하여 서명자가 누구인지 확인해 주는 증명정보를 생성하고 서명자증명정보 확인부(600)를 이용하여 증명정보의 유효성을 검증하는 동작 제어 흐름을 도시한 것이다.
이하, 도 6을 참조하여 본 발명의 실시 예를 상세히 설명하기로 한다.
메시지
Figure 112010064082904-pat00161
에 대한 서명
Figure 112010064082904-pat00162
가 주어졌다고 가정하자(S600). 확인자 서버(200)는 마스터 확인키(mok)
Figure 112010064082904-pat00163
를 이용하여 다음과 같이 증명정보
Figure 112010064082904-pat00164
를생성한다.
Figure 112010064082904-pat00165
Figure 112010064082904-pat00166
을 통해서
Figure 112010064082904-pat00167
Figure 112010064082904-pat00168
를 계산한다(S602).
이어서,
Figure 112010064082904-pat00169
을 이용하여 사용자 등록 목록 REG에서 이진 검색을 통해 효율적으로
Figure 112010064082904-pat00170
을 만족하는 사용자 인덱스
Figure 112010064082904-pat00171
와 이에 대응하는 정보
Figure 112010064082904-pat00172
,
Figure 112010064082904-pat00173
,
Figure 112010064082904-pat00174
,
Figure 112010064082904-pat00175
,
Figure 112010064082904-pat00176
를 찾는다. 여기서,
Figure 112010064082904-pat00177
은 서명자가 가입 시 자신의 공개키로 등록한 정보이다(S604). 임의의 난수
Figure 112010064082904-pat00178
를 선택하고
Figure 112010064082904-pat00179
,
Figure 112010064082904-pat00180
,
Figure 112010064082904-pat00181
,
Figure 112010064082904-pat00182
,
Figure 112010064082904-pat00183
, 그리고
Figure 112010064082904-pat00184
,
Figure 112010064082904-pat00185
(mod p)을 계산한다. 그리고, 주어진 서명과 메시지에 대한 서명자 증명정보로 (
Figure 112010064082904-pat00186
,
Figure 112010064082904-pat00187
,
Figure 112010064082904-pat00188
,
Figure 112010064082904-pat00189
,
Figure 112010064082904-pat00190
,
Figure 112010064082904-pat00191
,
Figure 112010064082904-pat00192
,
Figure 112010064082904-pat00193
)을 출력한다(S606). 여기서,
Figure 112010064082904-pat00194
는 서명자
Figure 112010064082904-pat00195
가 지수값들
Figure 112010064082904-pat00196
을 알고 있음을 증명하는 (서명자
Figure 112010064082904-pat00197
에 의해서 서명 기법 ∑를 이용하여 생성된) 일반적인 서명이다.
주어진 메시지
Figure 112010064082904-pat00198
에 대한 서명
Figure 112010064082904-pat00199
, 그리고 서명자 증명정보 (
Figure 112010064082904-pat00200
,
Figure 112010064082904-pat00201
,
Figure 112010064082904-pat00202
,
Figure 112010064082904-pat00203
, ,
Figure 112010064082904-pat00205
,
Figure 112010064082904-pat00206
,
Figure 112010064082904-pat00207
)에 대해 서명자증명정보 확인부(600)는 다음이 성립하는지 확인한다. (1) 먼저
Figure 112010064082904-pat00208
를 계산하고
Figure 112010064082904-pat00209
이 성립하는지 확인한다. (2)
Figure 112010064082904-pat00210
이 성립하는지 확인한다. 여기서
Figure 112010064082904-pat00211
는 현재의 그룹 공개키에 포함된 값이고
Figure 112010064082904-pat00212
는 초기 그룹공개키
Figure 112010064082904-pat00213
에 포함된 값이다. 만일 위의 등식들이 모두 성립하면 유효함을 나타내는 1을 출력한다. 만일 아니라면 0을 출력한다(S608).
도 7은 본 발명의 실시 예에 따라 정당한 사용자 기기(400)가 생성한 두 그룹서명들에 대해 마스터 연결키를 이용하여 서명값들이 서로 연결되었는지를 확인해 주는 동작 제어 흐름을 도시한 것이다.
이하, 도 7을 참조하여 본 발명의 실시 예를 상세히 설명하기로 한다.
주어진 메시지와 서명들의 쌍,
Figure 112010064082904-pat00214
Figure 112010064082904-pat00215
을 입력받는 경우(S700), 연결자 서버(300)는 마스터 연결키
Figure 112010064082904-pat00216
를 이용하여
Figure 112010064082904-pat00217
Figure 112010064082904-pat00218
을 계산한 후 등식
Figure 112010064082904-pat00219
이 성립하는지 확인한다(S702). 만일 등식이 성립하면 "연결됨"을 나타내는 1을 출력한다. 만일 아니라면 0을 출력한다(S704).
선택적으로, 계산의 효율성을 증진시키기 위해서 등식
Figure 112010064082904-pat00220
이 성립함을 확인할 수 있다.
도 8은 본 발명의 실시 예에 따라 키 폐기가 발생한 경우 키발급자 서버(100)가 관련 정보를 공개하고, 그룹 공개키를 갱신하고 정당한 사용자 기기(400)는 자신의 서명키를 갱신하는 동작 제어 흐름을 도시한 것이다.
이하, 도 8을 참조하여 본 발명의 실시 예를 상세히 설명하기로 한다.
각 세션마다 키들의 집합이 폐기되며, 각 세션을 구분하기 위해 인덱스 변수
Figure 112010064082904-pat00221
를 이용하여 세션을 나타내기로 하자. 세션이 변하면
Figure 112010064082904-pat00222
는 1씩 증가한다고 가정한다. 초기 그룹 공개키
Figure 112010064082904-pat00223
와 현재의 그룹 공개키
Figure 112010064082904-pat00224
가 각각 주어졌다고 가정하자. (여기서
Figure 112010064082904-pat00225
이다.)
주어진 키 값들을 폐기 시키고 키들을 갱신시키기 위해서, 키발급자 서버(100)는 먼저 폐기목록
Figure 112010064082904-pat00226
을 공개한다(S800).
(1)그룹 공개키를
Figure 112010064082904-pat00227
에서
Figure 112010064082904-pat00228
으로 갱신하기 위해서
Figure 112010064082904-pat00229
,
Figure 112010064082904-pat00230
,
Figure 112010064082904-pat00231
,을 계산한다. 갱신된 그룹 공개키는
Figure 112010064082904-pat00232
이다(S802).
(2)사용자 기기(400)는 자신의 서명키를
Figure 112010064082904-pat00233
에서
Figure 112010064082904-pat00234
으로 갱신하기 위해서
Figure 112010064082904-pat00235
을 계산한다. 현재의 그룹공개키
Figure 112010064082904-pat00236
에 대응하는 갱신된 서명키는
Figure 112010064082904-pat00237
로 설정된다(S804).
도 9는 본 발명의 실시 예에 따른 선형결합암호기법(Linear Combination Encryption(LCE) Scheme) 을 도시한 것이다.
이하, 도 9를 참조하여 본 발명의 실시 예를 상세히 설명하기로 한다.
다음과 같이 키 생성, 암호화, 복호화 알고리즘으로 정의한다. (1) 키 생성 알고리즘: 최초 사용자는 소수 위수
Figure 112010064082904-pat00238
인 대수적 군
Figure 112010064082904-pat00239
Figure 112010064082904-pat00240
의 임의의 생성원
Figure 112010064082904-pat00241
를 생성한다. 그리고 집합
Figure 112010064082904-pat00242
에서 임의의
Figure 112010064082904-pat00243
,
Figure 112010064082904-pat00244
를 선택한 후
Figure 112010064082904-pat00245
,
Figure 112010064082904-pat00246
을 계산한다. 여기서는
Figure 112010064082904-pat00247
을 곱셈군(Multiplicative Group)으로 표현한다. 공개키를
Figure 112010064082904-pat00248
으로 정의하고 공개하고 이에 대응하는 비밀키 (
Figure 112010064082904-pat00249
,
Figure 112010064082904-pat00250
)를 안전하게 저장한다(S900). (2) 암호화 알고리즘: 메시지
Figure 112010064082904-pat00251
을 암호화 하기 위해서, 암호화 알고리즘은 집합
Figure 112010064082904-pat00252
에서 임의의
Figure 112010064082904-pat00253
,
Figure 112010064082904-pat00254
를 선택하고,
Figure 112010064082904-pat00255
,
Figure 112010064082904-pat00256
,
Figure 112010064082904-pat00257
을 계산한 후 암호문 (
Figure 112010064082904-pat00258
,
Figure 112010064082904-pat00259
,
Figure 112010064082904-pat00260
)를 출력한다(S902). (3) 복호화 알고리즘: 주어진 암호문 (
Figure 112010064082904-pat00261
,
Figure 112010064082904-pat00262
,
Figure 112010064082904-pat00263
)을 복호화하기 위해서, 비밀키 (
Figure 112010064082904-pat00264
,
Figure 112010064082904-pat00265
)를 이용하여
Figure 112010064082904-pat00266
을 계산하여 메시지를 복구한다(S904).
도 10은 본 발명의 실시 예에 따라 n개의 메시지 쌍
Figure 112010064082904-pat00267
을 암호화 하기 위해서 선형결합암호기법(Linear Combination Encryption(LCE) Scheme)을 효율적으로 확장시키는 하이브리드선형결합암호기법(Hybrid Linear Combination Encryption(HLCE) Scheme)을 도시한 것이다.
이하, 다음은 이에 대한 자세한 설명이다. 다음과 같이 키 생성, 암호화, 복호화 알고리즘으로 정의한다. (1) 키 생성 알고리즘: 최초 사용자는 소수 위수
Figure 112010064082904-pat00268
인 대수적 군
Figure 112010064082904-pat00269
Figure 112010064082904-pat00270
의 임의의 생성원
Figure 112010064082904-pat00271
를 생성한다. 그리고 각
Figure 112010064082904-pat00272
에 대하여 집합
Figure 112010064082904-pat00273
에서 임의의
Figure 112010064082904-pat00274
,
Figure 112010064082904-pat00275
를 선택한 후
Figure 112010064082904-pat00276
,
Figure 112010064082904-pat00277
을 계산한다. 여기서는 곱셈군(Multiplicative Group)으로 표현한다. 공개키를 (
Figure 112010064082904-pat00278
,
Figure 112010064082904-pat00279
,
Figure 112010064082904-pat00280
,
Figure 112010064082904-pat00281
,…,
Figure 112010064082904-pat00282
,
Figure 112010064082904-pat00283
)으로 정의하고 공개하고 이에 대응하는 비밀키 (
Figure 112010064082904-pat00284
,
Figure 112010064082904-pat00285
,…,
Figure 112010064082904-pat00286
,
Figure 112010064082904-pat00287
)를 안전하게 저장한다(S950). (2) 암호화 알고리즘: 메시지
Figure 112010064082904-pat00288
를 암호화 하기 위해서, 암호화 알고리즘은 집합
Figure 112010064082904-pat00289
에서 임의의
Figure 112010064082904-pat00290
,
Figure 112010064082904-pat00291
를 선택하고,
Figure 112010064082904-pat00292
,
Figure 112010064082904-pat00293
,
Figure 112010064082904-pat00294
, ...,
Figure 112010064082904-pat00295
,...,
Figure 112010064082904-pat00296
을 계산한 후 암호문 (
Figure 112010064082904-pat00297
,
Figure 112010064082904-pat00298
,
Figure 112010064082904-pat00299
,...,
Figure 112010064082904-pat00300
)를 출력한다(S952). (3) 복호화 알고리즘: 주어진 암호문 (
Figure 112010064082904-pat00301
,
Figure 112010064082904-pat00302
,
Figure 112010064082904-pat00303
,...,
Figure 112010064082904-pat00304
)을 복호화하기 위해서, 비밀키 (
Figure 112010064082904-pat00305
,
Figure 112010064082904-pat00306
,…,
Figure 112010064082904-pat00307
,
Figure 112010064082904-pat00308
)를 이용하여
Figure 112010064082904-pat00309
을 계산하여 메시지를 복구한다(S954).
한편 상술한 본 발명의 설명에서는 구체적인 실시 예에 관해 설명하였으나, 여러 가지 변형이 본 발명의 범위에서 벗어나지 않고 실시될 수 있다. 즉 본 발명에서는 제어가능 연결성을 제공하는 그룹서명 기법과 선형결합암호기법, 그리고 하이브리드선형결합암호기법에 대해 예시된 도면을 참조로 설명하였으나, 본 명세서에 개시된 실시예와 도면에 의해 본 발명은 한정되지 않고, 기술사상이 보호되는 범위 이내에서 응용될 수 있다. 따라서 발명의 범위는 설명된 실시 예에 의하여 정할 것이 아니고 특허청구범위에 의해 정하여져야 한다.
100 : 키발급자 서버 200 : 확인자 서버
300 : 연결자 서버 400 : 사용자 기기
500 : 서명검증부 600 : 서명자증명정보 확인부

Claims (20)

  1. 그룹서명 시스템으로서,
    그룹 공개키의 제1파라미터를 생성하고 이에 대응하는 마스터 발급키를 생성하며, 사용자 기기의 가입이 있는 경우 상기 사용자에게 서명키를 발급하는 키발급자 서버와,
    상기 그룹 공개키의 제2파라미터와 이에 대응하는 마스터 확인키와 마스터 연결키를 생성하는 확인자 서버와,
    상기 그룹 공개키에 대응하는 유효한 두 개의 서명이 주어지는 경우 상기 마스터 연결키를 이용하여 상기 두 개의 서명이 서로 연결되었는지 확인하는 연결자 서버를 포함하며,
    상기 키발급자 서버는, 그룹서명 시스템에 등록하고자 하는 사용자 기기로부터 가입 요청 메시지를 수신하는 경우 상기 가입 요청 메시지의 유효성을 검증한 후, 상기 사용자 기기로 서명키를 발급하는 것을 특징으로 하는 그룹서명 시스템.
  2. 제 1 항에 있어서,
    상기 그룹서명 시스템은,
    상기 주어진 서명에 대한 서명의 유효성을 확인하여 주는 서명검증부를 더 포함하는 그룹서명 시스템.
  3. 제 1 항에 있어서,
    상기 그룹서명 시스템은,
    상기 확인자 서버에서 생성된 서명자 확인정보의 유효성을 확인해주는 서명자증명정보 확인부를 더 포함하는 그룹서명 시스템.
  4. 제 1 항에 있어서,
    상기 키발급자 서버는,
    상기 제1파라미터와 제2파라미터를 이용하여 그룹 공개키를 생성하고, 이를 사용자 기기를 포함하는 모든 참가자에게 제공하는 그룹서명 시스템.
  5. 삭제
  6. 제 1 항에 있어서,
    상기 가입 요청 메시지에는,
    개인키 소유 증명 정보와 키발급과 관련된 증명정보가 포함되는 그룹서명 시스템.
  7. 제 1 항에 있어서,
    상기 키발급자 서버는,
    세션의 변경에 따라 키폐기가 발생하는 경우, 상기 그룹 공개키를 갱신시키는 그룹서명 시스템.
  8. 제 1 항에 있어서,
    상기 키발급자 서버는,
    이선형군 쌍과 상기 이선형군 쌍과 결합되는 이선형 함수를 이용하여 상기 마스터 발급키를 정의하는 그룹서명 시스템.
  9. 제 1 항에 있어서,
    상기 확인자 서버는,
    상기 유효한 서명이 주어지는 경우 상기 마스터 확인키를 이용하여 서명자가 누구인지 확인해주는 증명정보를 출력하는 그룹서명 시스템.
  10. 제 1 항에 있어서,
    상기 사용자 기기와 키발급자 서버간에는,
    인증을 위한 보안 채널이 형성되는 그룹서명 시스템.
  11. 키발급자 서버에서 그룹 공개키의 제1파라미터를 생성하고 이에 대응하는 마스터 발급키를 생성하는 단계와,
    상기 키발급자 서버에서, 그룹서명 시스템에 등록하고자 하는 사용자 기기로부터 가입 요청 메시지를 수신하는 경우 상기 가입 요청 메시지의 유효성을 검증한 후, 상기 사용자 기기로 서명키를 발급하는 단계와,
    확인자 서버에서 상기 그룹 공개키의 제2파라미터와 이에 대응하는 마스터 확인키와 마스터 연결키를 생성하는 단계와,
    연결자 서버에서 유효한 두 개의 서명이 주어지는 경우 상기 마스터 연결키를 이용하여 상기 두 개의 서명이 서로 연결되었는지 확인하는 단계
    를 포함하는 그룹서명 방법.
  12. 제 11 항에 있어서,
    상기 확인단계이 후, 상기 유효한 서명이 주어지는 경우, 상기 확인자 서버에서 상기 마스터 확인키를 이용하여 서명자가 누구인지 확인해주는 증명정보를 출력하는 단계를 더 포함하는 그룹서명 방법.
  13. 키발급자 서버에서 그룹 공개키의 제1파라미터를 생성하고 마스터 발급키를 정의하는 단계와,
    확인자 서버에서 마스터 확인키와 마스터 연결키를 각각 정의하고, 상기 그룹 공개키의 제2파라미터를 생성하여 상기 키발급자 서버로 제공하는 단계와,
    상기 키발급자 서버에서 상기 제1파라미터와 제2파라미터를 조합하여 상기 그룹 공개키를 생성하는 단계를 포함하며,
    상기 마스터 발급키는, 이선형군 쌍과 상기 이선형군 쌍과 결합되는 이선형 함수를 이용하여 정의되는 것을 특징으로 하는 그룹 공개키 생성 방법.
  14. 제 13 항에 있어서,
    상기 그룹 공개키의 생성단계 이후, 상기 키발급자 서버에서 상기 그룹 공개키를 그룹서명 시스템에 등록된 사용자 기기로 제공하는 단계를 더 포함하는 그룹 공개키 생성 방법.
  15. 삭제
  16. 키발급자 서버는 세션이 변경되는 경우 키 갱신을 위한 폐기목록을 공개하는 단계와,
    상기 키발급자 서버에서 새로운 그룹 공개키 생성하여 사용자 기기로 제공하는 단계와,
    상기 사용자 기기에서 상기 새로운 그룹 공개키로 그룹 공개키를 갱신하는 단계와,
    상기 사용자 기기에서 상기 새로운 그룹 공개키에 대응하는 서명키를 갱신하는 단계
    를 포함하는 그룹 공개키 갱신 방법.
  17. 키발급자 서버에서 사용자 기기로부터 가입 요청 메시지를 수신하는 단계와,
    상기 키발급자 서버에서 상기 가입 요청 메시지의 유효성을 검증하는 단계와,
    상기 사용자 기기로부터 상기 유효성이 검증된 상기 가입 요청 메시지에 대한 서명을 전송받는 단계와,
    상기 키발급자 서버에서 상기 서명의 유효성을 검증하여 상기 사용자 기기를 등록하는 단계와,
    상기 사용자 기기에서 그룹 공개키에 대응하는 비밀 서명키를 생성하는 단계
    를 포함하는 서명키 생성 방법.
  18. 제 17 항에 있어서,
    상기 사용자 기기와 키발급자 서버간에는,
    인증을 위한 보안 채널이 형성되는 서명키 생성 방법.
  19. 제 17 항에 있어서,
    상기 가입 요청 메시지에는,
    개인키 소유 증명 정보와 키발급과 관련된 증명정보가 포함되는 서명키 생성 방법.
  20. 삭제
KR1020100096561A 2010-10-04 2010-10-04 제어가능 연결성을 제공하는 그룹서명 시스템 및 방법 Active KR101425552B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020100096561A KR101425552B1 (ko) 2010-10-04 2010-10-04 제어가능 연결성을 제공하는 그룹서명 시스템 및 방법
US13/079,588 US8762729B2 (en) 2010-10-04 2011-04-04 Group signature system and method providing controllable linkability

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100096561A KR101425552B1 (ko) 2010-10-04 2010-10-04 제어가능 연결성을 제공하는 그룹서명 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20120035069A KR20120035069A (ko) 2012-04-13
KR101425552B1 true KR101425552B1 (ko) 2014-08-05

Family

ID=45890849

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100096561A Active KR101425552B1 (ko) 2010-10-04 2010-10-04 제어가능 연결성을 제공하는 그룹서명 시스템 및 방법

Country Status (2)

Country Link
US (1) US8762729B2 (ko)
KR (1) KR101425552B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220064766A (ko) 2020-11-12 2022-05-19 성신여자대학교 연구 산학협력단 효율적인 키 폐기가 가능한 익명 속성 증명 시스템 및 방법
US11451519B2 (en) 2019-11-25 2022-09-20 Electronics And Telecommunications Research Institute Anonymous credential authentication system and method thereof

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4764447B2 (ja) * 2008-03-19 2011-09-07 株式会社東芝 グループ署名システム、装置及びプログラム
KR101543711B1 (ko) * 2011-10-11 2015-08-12 한국전자통신연구원 짧은 서명을 제공하는 경량 그룹서명 방법 및 장치
US10038679B2 (en) * 2012-12-24 2018-07-31 Intel Corporation Centralized secure device pairing
JP5939580B2 (ja) * 2013-03-27 2016-06-22 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 匿名化データを名寄せするための名寄せシステム、並びに、その方法及びコンピュータ・プログラム
KR101423955B1 (ko) * 2013-06-28 2014-08-01 고려대학교 산학협력단 사용자단말의 콘텐츠 접근 제어에 따른 콘텐츠 분배 방법 및 시스템
KR101883156B1 (ko) * 2016-08-10 2018-07-30 삼성에스디에스 주식회사 인증 시스템 및 방법과 이를 수행하기 위한 사용자 단말, 인증 서버 및 서비스 서버
US10666443B2 (en) * 2016-10-18 2020-05-26 Red Hat, Inc. Continued verification and monitoring of application code in containerized execution environment
CN110278082B (zh) * 2018-03-14 2021-11-16 西安西电捷通无线网络通信股份有限公司 一种群组数字签名的群组成员发布方法和设备
US11063746B2 (en) * 2018-04-19 2021-07-13 Electronics And Telecommunications Research Institute Method for selecting consensus node using nonce and method and apparatus for generating blockchain using the same
US11646879B2 (en) 2018-06-12 2023-05-09 Electronics And Telecommunications Research Institute Method and apparatus for selecting distributed consensus node based on proof of nonce
US11516658B2 (en) * 2018-07-03 2022-11-29 Board Of Regents, The University Of Texas System Efficient and secure distributed signing protocol for mobile devices in wireless networks
US11240025B2 (en) 2018-11-09 2022-02-01 Ares Technologies, Inc. Systems and methods for distributed key storage
US11283623B1 (en) 2019-06-03 2022-03-22 Wells Fargo Bank, N.A. Systems and methods of using group functions certificate extension
US11483162B1 (en) * 2019-12-18 2022-10-25 Wells Fargo Bank, N.A. Security settlement using group signatures
CN111064581B (zh) * 2019-12-28 2022-11-08 西安工业大学 一种有连接能力的隐私保护方法及系统
KR102568418B1 (ko) * 2021-08-26 2023-08-18 하이파이브랩 주식회사 다중 서명을 지원하는 전자 인증 시스템 및 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080021801A (ko) * 2005-06-23 2008-03-07 닛본 덴끼 가부시끼가이샤 서비스 제공 시스템, 아웃소싱 비지니스 장치, 서비스 제공 방법, 및 컴퓨터 판독가능 저장 매체
KR20100018043A (ko) * 2007-07-11 2010-02-16 가부시끼가이샤 도시바 그룹 서명 시스템, 장치 및 기록 매체
JP2010103623A (ja) * 2008-10-21 2010-05-06 Nec Corp グループ署名システム、失効情報管理装置、メンバー装置、失効処理方法およびプログラム

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6298153B1 (en) * 1998-01-16 2001-10-02 Canon Kabushiki Kaisha Digital signature method and information communication system and apparatus using such method
US7318155B2 (en) * 2002-12-06 2008-01-08 International Business Machines Corporation Method and system for configuring highly available online certificate status protocol responders
FR2855343B1 (fr) * 2003-05-20 2005-10-07 France Telecom Procede de signature electronique de groupe avec anonymat revocable, equipements et programmes pour la mise en oeuvre du procede
KR100537514B1 (ko) * 2003-11-01 2005-12-19 삼성전자주식회사 그룹 구성원의 신원 정보를 기반으로 한 전자 서명 방법및 전자 서명을 수행한 그룹 구성원의 신원 정보를획득하기 위한 방법 및 그룹 구성원의 신원 정보를기반으로 한 전자 서명 시스템
JP3761557B2 (ja) * 2004-04-08 2006-03-29 株式会社日立製作所 暗号化通信のための鍵配付方法及びシステム
EP1786139A4 (en) * 2004-09-03 2011-07-06 Nec Corp GROUP SIGNATURE SYSTEM, MEMBERSHIP STATISTICS APPROACH, GROUP SIGNATURE PROCEDURES AND MEMBERSHIP STATUTE ASSESSMENT PROGRAM
EP2634958A1 (en) * 2005-01-21 2013-09-04 Nec Corporation Group Signature Scheme
US8041944B2 (en) * 2006-03-16 2011-10-18 Nec Corporation Group signature system and information processing method
JP4334580B2 (ja) * 2007-04-09 2009-09-30 株式会社東芝 鍵管理システム及び鍵管理方法
GB0801662D0 (en) * 2008-01-30 2008-03-05 Hewlett Packard Development Co Direct anonymous attestation using bilinear maps
JP2009200595A (ja) * 2008-02-19 2009-09-03 Fujitsu Ltd 署名管理プログラム、署名管理方法及び署名管理装置
US8499149B2 (en) * 2008-02-20 2013-07-30 Hewlett-Packard Development Company, L.P. Revocation for direct anonymous attestation
JP5053179B2 (ja) * 2008-05-30 2012-10-17 株式会社日立製作所 検証サーバ、プログラム及び検証方法
US8495362B2 (en) * 2008-07-28 2013-07-23 Nec Corporation Signature systems
JP4731609B2 (ja) * 2009-01-30 2011-07-27 シャープ株式会社 画像生成装置、画像処理装置、画像読取装置、画像形成装置、画像生成方法、画像処理方法、コンピュータプログラム及び記録媒体

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080021801A (ko) * 2005-06-23 2008-03-07 닛본 덴끼 가부시끼가이샤 서비스 제공 시스템, 아웃소싱 비지니스 장치, 서비스 제공 방법, 및 컴퓨터 판독가능 저장 매체
KR20100018043A (ko) * 2007-07-11 2010-02-16 가부시끼가이샤 도시바 그룹 서명 시스템, 장치 및 기록 매체
US20100169656A1 (en) * 2007-07-11 2010-07-01 Takuya Yoshida Group signature system, device, and program
JP2010103623A (ja) * 2008-10-21 2010-05-06 Nec Corp グループ署名システム、失効情報管理装置、メンバー装置、失効処理方法およびプログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11451519B2 (en) 2019-11-25 2022-09-20 Electronics And Telecommunications Research Institute Anonymous credential authentication system and method thereof
KR20220064766A (ko) 2020-11-12 2022-05-19 성신여자대학교 연구 산학협력단 효율적인 키 폐기가 가능한 익명 속성 증명 시스템 및 방법
KR102477363B1 (ko) 2020-11-12 2022-12-14 성신여자대학교 연구 산학협력단 효율적인 키 폐기가 가능한 익명 속성 증명 시스템 및 방법

Also Published As

Publication number Publication date
US8762729B2 (en) 2014-06-24
US20120084567A1 (en) 2012-04-05
KR20120035069A (ko) 2012-04-13

Similar Documents

Publication Publication Date Title
KR101425552B1 (ko) 제어가능 연결성을 제공하는 그룹서명 시스템 및 방법
US7653817B2 (en) Signature schemes using bilinear mappings
CN113014392A (zh) 基于区块链的数字证书管理方法及系统、设备、存储介质
JP2004208263A (ja) バイリニアペアリングを用いた個人識別情報に基づくブラインド署名装置及び方法
JP2002534701A (ja) 寄託されない署名専用キーを用いた自動回復可能な自動可能暗号システム
Parameswarath et al. A privacy-preserving authenticated key exchange protocol for V2G communications using SSI
CN108881279A (zh) 一种基于无证书双重认证防护聚合签名的移动健康医疗传感器数据隐私保护方法
CN103988466A (zh) 群加密方法及设备
CN106357397B (zh) 发送者可认证的非对称群密钥协商方法
CN105141419A (zh) 大属性域的属性基签名方法及系统
CN110278081B (zh) 一种群组数字签名的控制方法和设备
EP2384563B1 (en) Verification of data items in data processing systems
Shim Design principles of secure certificateless signature and aggregate signature schemes for IoT environments
Sahu et al. Identity‐based multi‐proxy multi‐signature scheme provably secure in random oracle model
Bakhtiari-Chehelcheshmeh et al. A new certificateless and secure authentication scheme for ad hoc networks
KR101407945B1 (ko) 부분 연결성을 제공하는 익명 인증 서비스 방법
Tian et al. A systematic method to design strong designated verifier signature without random oracles
Rasslan et al. An IoT Privacy-Oriented selective disclosure credential system
KR101780774B1 (ko) 제어가능 연결성을 제공하는 그룹서명 장치 및 방법
Xin et al. Identity-based quantum signature scheme with strong security
Anada et al. Identity-embedding method for decentralized public-key infrastructure
JP4146252B2 (ja) 不正者特定可能な匿名通信方法、それに使用される利用者装置、及び中継サーバ装置
Shin et al. AAnA: Anonymous authentication and authorization based on short traceable signatures
Allam et al. A provably secure certificateless organizational signature schemes
Wu et al. A publicly verifiable PCAE scheme for confidential applications with proxy delegation

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20101004

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

Comment text: Notification of reason for refusal

Patent event date: 20131227

Patent event code: PE09021S01D

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

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20140723

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20140725

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20140728

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
FPAY Annual fee payment

Payment date: 20170627

Year of fee payment: 4

PR1001 Payment of annual fee

Payment date: 20170627

Start annual number: 4

End annual number: 4

FPAY Annual fee payment

Payment date: 20180627

Year of fee payment: 5

PR1001 Payment of annual fee

Payment date: 20180627

Start annual number: 5

End annual number: 5

FPAY Annual fee payment

Payment date: 20190625

Year of fee payment: 6

PR1001 Payment of annual fee

Payment date: 20190625

Start annual number: 6

End annual number: 6

PR1001 Payment of annual fee

Payment date: 20200625

Start annual number: 7

End annual number: 7

PR1001 Payment of annual fee

Payment date: 20210624

Start annual number: 8

End annual number: 8

PR1001 Payment of annual fee

Payment date: 20220628

Start annual number: 9

End annual number: 9

PR1001 Payment of annual fee

Payment date: 20230620

Start annual number: 10

End annual number: 10

PR1001 Payment of annual fee

Payment date: 20240625

Start annual number: 11

End annual number: 11