KR101407945B1 - 부분 연결성을 제공하는 익명 인증 서비스 방법 - Google Patents

부분 연결성을 제공하는 익명 인증 서비스 방법 Download PDF

Info

Publication number
KR101407945B1
KR101407945B1 KR1020100104585A KR20100104585A KR101407945B1 KR 101407945 B1 KR101407945 B1 KR 101407945B1 KR 1020100104585 A KR1020100104585 A KR 1020100104585A KR 20100104585 A KR20100104585 A KR 20100104585A KR 101407945 B1 KR101407945 B1 KR 101407945B1
Authority
KR
South Korea
Prior art keywords
service
key
group
anonymous
public key
Prior art date
Application number
KR1020100104585A
Other languages
English (en)
Other versions
KR20110070765A (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 US12/971,103 priority Critical patent/US8499158B2/en
Publication of KR20110070765A publication Critical patent/KR20110070765A/ko
Application granted granted Critical
Publication of KR101407945B1 publication Critical patent/KR101407945B1/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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • H04L9/3073Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
    • 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)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 부분 연결성을 제공하는 익명 서비스 방법에 관한 것으로, 서비스단말이 익명인증서버와 상호 협력하여 서비스 이용자의 그룹서명 비밀키를 획득하는 서비스 이용자 가입 과정; 서비스제공서버가 익명ID확인서버와 상호 협력하여 서비스제공자의 부분 연결용 공개키(LL 공개키) 및 비밀키(LL 비밀키) 쌍을 획득하는 서비스제공서버 가입 과정; 상기 서비스단말이 상기 서비스제공서버로부터 상기 LL 공개키를 제공받고, 그룹 공개키와 상기 LL 공개키, 상기 그룹서명 비밀키를 기반으로 하여 상기 서비스 이용자의 그룹서명을 생성하는 그룹서명 생성과정; 상기 서비스 제공서버가 상기 그룹 공개키와 상기 LL 공개키를 이용하여 상기 그룹서명의 유효 여부를 검증하는 그룹서명 검증과정; 상기 익명ID확인서버가 상기 그룹서명으로부터 익명ID를 계산한 후, 상기 익명인증서버와 상호 협력하여 상기 익명ID를 가지는 서비스 이용자를 확인하는 서명자 확인 과정; 및 상기 서비스제공서버가 상기 LL 비밀키를 통해 상기 그룹서명으로부터 상기 서비스 이용자의 가상인덱스를 획득하여, 상기 서비스 이용자의 부분 연결성을 확보하는 부분 연결 과정을 포함할 수 있다.

Description

부분 연결성을 제공하는 익명 인증 서비스 방법{Anonymous authentication service method for providing local linkability}
본 발명은 익명 인증 기법 중 대표적인 짧은 그룹서명 기법(Short Group Signature)을 변형하여 익명성을 유지하면서도 동일한 서비스 도메인 내에서는 연결성을 지원할 수 있는 부분 연결성을 제공하는 익명 서비스 방법에 관한 것이다.
본 발명은 지식경제부의 IT원천기술개발사업의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호: 2008-F-036-02, 과제명: 익명성 기반의 u지식정보보호기술 개발].
일반적으로 인터넷에서 개인이 금융 거래 등과 같은 중요한 거래에 대해서 실명 확인 및 서명을 하거나, 특정 서비스를 이용하기 위한 실명 확인 및 인증을 위하여 PKI(Public Key Infrastructure) 기반 전자인증서를 사용하는 경우가 있다.
PKI 기반 전자인증서는 그 비밀키를 소유한 사람만이 전자 서명을 생성할 수 있으며, 비밀키를 소유하지 않은 사람이 전자 서명을 위조할 확률이 무시 가능한 정도로 매우 낮기 때문에 매우 안전하면서 편리한 전자 서명 및 인증이 가능하도록 해준다.
그러나, 대체로 공인인증기관에 의해 발행된 인증서에는 사용자 실명이 그대로 드러나며, 주민등록번호와 같은 중요한 개인정보가 일치하는지를 암호학적으로 확인할 수 있는 정보 등도 포함되어 있으므로, 특정 전자 서명 정보를 누가 생성했는지를 쉽게 알 수 있어 개인의 프라이버시 문제를 야기할 수 있다.
한편, 어떤 서비스들은 사용자 실명을 확인할 필요가 없으며, 사용자의 서비스 이용 권한(ex. 성인 여부)만을 확인하는 것으로 충분한 경우가 많다. 이를 위하여 익명 인증 기법들이 연구되고 있으며, 이 중 대표적인 방법이 Short Group Signature 이다. Short Group Signature 를 포함하는 그룹서명 기법들은 익명성(Anonymity), 추적성(Traceability), 연결익명성(Unlinkability) 등 조건부 추적 가능한 익명성을 위한 기본적인 기능들을 모두 포함하고 있다.
이 중 연결익명성(Unlinkability)은 익명 사용자가 익명 인증을 여러 번 수행 하였을 때, 검증자(대체로, 서비스제공서버)가 이들이 같은 사용자인지 아닌지를 판단할 수 없음을 의미한다. 만약 연결익명성(Unlinkability) 기능이 제공되지 않는다면, 특정 사용자의 모든 서비스 이용 패턴 및 이용 기록에 대한 행적 추적(tracking)이 가능해진다. 이러한 행적 추적 기록이 누적되면 누적될수록 사용자의 익명성이 훼손될 가능성이 커지며, 또한 이 기록 중 한군데서 실명이 노출될 경우, 전체적인 익명성이 모두 깨지게 된다.
그러나, 연결익명성(Unlinkability)는 일반적인 인터넷 서비스에 적용될 경우 매우 불편할 수 있다.
서비스제공자는 일반적으로 서비스 이용 관련 통계를 내고 이 통계를 바탕으로 서비스 전략을 세우고, 또한 단골 서비스 이용자, 불량 서비스 이용자 등을 구분하여 이들에게 특화된 서비스를 제공하거나 서비스 이용에 제약을 가하는 등의 다양한 서비스를 제공하여야 하는데, 익명 인증 기법에 따르면 서비스 이용자에 대한 정보를 전혀 얻을 수 없어 서비스 계획과 전략을 수립하기 어렵게 되기 때문이다.
따라서, 사용자의 프라이버시를 일부 희생시키지만, 상기와 같은 요구 사항을 만족시킬 수 있는 새로운 방식의 익명 서비스 방법의 필요성이 대두되고 있다.
이에 본 발명에서는 완전한 연결익명성(Unlinkability)와 완전한 연결성(Linkability) 사이에서 타협점을 가지는 부분 연결성(Local Linkability)이라는 새로운 개념을 제안하고, 이를 이용하여 적정한 수준의 익명성을 보장하면서도 서비스 제공에 필수적인 익명 회원 관리가 가능하도록 하는 익명 서비스 방법을 제공하고자 한다.
상기 과제를 해결하기 위한 수단으로서, 본 발명의 일 실시 형태에 따르면, 부분 연결성을 제공하는 익명 서비스 방법은, 서비스단말이 익명인증서버와 상호 협력하여 서비스 이용자의 그룹서명 비밀키를 획득하는 서비스 이용자 가입 과정; 서비스제공서버가 익명ID확인서버와 상호 협력하여 서비스제공자의 부분 연결용 공개키(LL 공개키) 및 비밀키(LL 비밀키) 쌍을 획득하는 서비스제공서버 가입 과정; 상기 서비스단말이 상기 서비스제공서버로부터 상기 LL 공개키를 제공받고, 그룹 공개키와 상기 LL공개키, 상기 그룹서명 비밀키를 기반으로 하여 상기 서비스 이용자의 그룹서명을 생성하는 그룹서명 생성과정; 상기 서비스 제공서버가 상기 그룹 공개키와 상기 LL 공개키를 이용하여 상기 그룹서명의 유효 여부를 검증하는 그룹서명 검증과정; 상기 익명ID확인서버가 상기 그룹서명으로부터 익명ID를 계산한 후, 상기 익명인증서버와 상호 협력하여 상기 익명ID를 가지는 서비스 이용자를 확인하는 서명자 확인 과정; 및 상기 서비스제공서버가 상기 LL 비밀키를 통해 상기 그룹서명으로부터 상기 서비스 이용자의 가상인덱스를 획득하여, 상기 서비스 이용자의 부분 연결성을 확보하는 부분 연결 과정을 포함하는 부분 연결성을 제공하는 익명 서비스 방법을 제공한다.
상기 방법은 상기 서비스 이용자 가입 과정 이전에, 상기 익명인증서버가 그룹 공개파라미터를 이용하여 상기 그룹 공개키와 그룹 멤버키 생성용 비밀키를 생성하며, 상기 그룹 공개파라미터와 상기 그룹 공개키를 공개하는 그룹 생성 과정을 더 포함할 수 있다.
상기 그룹 생성 과정은 상기 그룹 공개파라미터를 기초로 겹선형 그룹과 함수, 그리고 해시 함수를 결정하는 단계; 및 상기 그룹 공개파라미터에 기반한 상기 그룹 공개키를 공개하고, 상기 그룹 멤버키 생성용 비밀키를 생성하여 저장하는 단계를 포함할 수 있다.
상기 서비스 이용자 가입 과정은 상기 서비스단말이 상기 서비스 이용자의 비밀키를 생성하고 상기 비밀키에 대한 개인키 소유 증명 정보와 신원확인정보를 상기 익명인증서버에 제공하는 단계; 상기 익명인증서버가 상기 서비스 이용자에 대응되는 익명ID를 포함하는 그룹멤버키를 생성하여 상기 서비스 단말에게 제공하고, 상기 서비스 이용자를 등록하는 단계; 및 상기 서비스 단말이 상기 비밀키와 상기 그룹멤버키를 합쳐서 상기 그룹서명 비밀키를 생성하여 저장하는 단계를 포함할 수 있다.
상기 그룹멤버키는 (Ai, xi, zi)(Ai =
Figure 112010069258083-pat00001
∈G1, xi,yi,zi∈ZP * , G1,G2는 겹선형 그룹, g1=φ(g2), g2 =∈G2\{
Figure 112010069258083-pat00002
}, φ는 동형함수, g3,g4∈G1\{
Figure 112010069258083-pat00003
},
Figure 112010069258083-pat00004
∈ZP *)으로 표현되고, 상기 그룹서명 비밀키는 gsk[i]=(Ai,xi,zi,yi)로 표현되며, 상기 개인키 소유 증명 정보는 공개키 g3∈G1와 비밀키 yi를 이용하여 생성되며, 상기 비밀키 yi를 소유하고 있다는 증명 정보로
Figure 112010069258083-pat00005
를 포함하는 정보인 것을 특징으로 한다.
상기 그룹멤버키를 생성하여 상기 서비스 이용자에게 제공하는 단계는 상기 서비스 이용자가 이미 등록되어 있는 경우, 상기 서비스 이용자에 대응되는 상기 그룹멤버키를 최신 정보로 갱신하여 상기 익명인증서버에 제공하는 단계; 및 상기 서비스 이용자가 미등록되어 있는 경우, 상기 익명인증서버가 상기 서비스 이용자에 대응되는 상기 그룹멤버키를 생성하여 상기 서비스 단말에 제공하고 상기 서비스 이용자를 등록하는 단계를 포함할 수 있다.
상기 서비스 제공 서버 가입 과정은 상기 서비스 제공서버가 서비스 제공자의 신원확인정보를 상기 익명ID확인서버에 제공하는 단계; 상기 익명ID확인서버가 상기 서비스 제공자에 대응되는 임시 부분 연결용 공개키 및 비밀키쌍과 추적키를 생성하여 상기 서비스 제공자를 등록하고, 상기 임시 부분 연결용 공개키 및 비밀키쌍을 상기 서비스 제공서버에게 제공하는 단계; 및 상기 서비스 제공서버가 상기 임시 부분 연결용 공개키 및 비밀키쌍으로부터 상기 LL 공개키 및 LL 비밀키를 지정 및 저장하는 단계를 포함할 수 있다.
상기 LL 공개키 LLpksp[j]=(hj, mj, uj, vj)(
Figure 112014006659926-pat00006
, χj1j2j∈ZP *)으로 표현되고, 상기 LL 비밀키 LLsksp[j]=(Mj, Uj, Vj)(Mj∈G2\{
Figure 112014006659926-pat00007
}, Uj=
Figure 112014006659926-pat00008
, Vj=
Figure 112014006659926-pat00009
∈G2)으로 표현되고, 상기 추적키는 (tksp[j]=(χj1j2j))(χj1j2j∈ZP *)으로 표현되는 것을 특징으로 한다.
상기 LL 공개키 및 LL 비밀키를 지정 및 저장하는 단계는 상기 서비스 제공서버가 현재 세션의 그룹 공개파라미터를 이용하여 상기 임시 부분 연결용 공개키로부터 상기 LL 공개키를 지정하여 저장하는 단계; 및 상기 서비스 제공서버가 상기 임시 부분 연결용 비밀키를 상기 LL 비밀키로 저장하는 단계를 포함하는 것을 특징으로 한다.
상기 그룹 공개파라미터는 (e, G1, G2, H)(H :{0,1}*→ZP, H는 해쉬함수)로 표현되고, 상기 그룹 공개키는 (gpk=(g0,g1,g2,g3,g4,w))로 표현되며, 상기 LL 공개키는 (LLpksp[j]=(hj, mj, uj, vj))로 표현되는 것을 특징으로 한다.
상기 LL 공개키 및 LL 비밀키를 지정 및 저장하는 단계는 상기 LL 공개키를 저장하는 단계와 상기 LL 비밀키로 저장하는 단계를 수행하기 전에, 상기 서비스 제공서버가 상기 임시 부분 연결용 공개키 및 비밀키쌍이 e(mj, Mj)=e(uj, Uj)=e(vj,Vj)의 식을 만족하는지를 확인하는 단계를 더 포함할 수 있다.
상기 그룹서명 생성과정은 상기 서비스 단말이 상기 서비스제공서버로부터 서비스 제공자의 LL 공개키를 획득하는 단계; 및 상기 서비스 단말이 그룹 공개키, 상기 LL 공개키, 상기 그룹서명 비밀키, 메시지를 이용하여 상기 그룹서명을 생성하는 단계를 포함할 수 있다.
상기 그룹서명은 (σ=(T1, T2, T3, T4, c, sα, sβ,
Figure 112010069258083-pat00010
,
Figure 112010069258083-pat00011
,
Figure 112010069258083-pat00012
,
Figure 112010069258083-pat00013
,
Figure 112010069258083-pat00014
)(T1=uj α , T2=vj β, T3=Aihj α+β, T4=
Figure 112010069258083-pat00015
, α,β ∈ ZP, H={0,1}*∈ ZP, H는 해쉬함수, c=H(M,T1, T2, T3, T4, R1, R2, R3, R4, R5, R6), M은 메시지,
Figure 112010069258083-pat00016
,
Figure 112010069258083-pat00017
,
Figure 112010069258083-pat00018
,
Figure 112010069258083-pat00019
,
Figure 112010069258083-pat00020
,
Figure 112010069258083-pat00021
,
Figure 112010069258083-pat00022
j∈ZP *,w=
Figure 112010069258083-pat00023
∈G2,
Figure 112010069258083-pat00024
∈ZP *, δ1=xiα, δ2=xiβ, sα=rα + cα, sβ =rβ + cβ,
Figure 112010069258083-pat00025
,
Figure 112010069258083-pat00026
,
Figure 112010069258083-pat00027
,
Figure 112010069258083-pat00028
,
Figure 112010069258083-pat00029
)으로 표현되는 것을 특징으로 한다.
상기 서명자 확인 과정은 상기 익명ID확인서버가 상기 추적키를 이용하여 상기 그룹서명으로부터 상기 서비스 이용자의 익명ID를 추출하는 단계; 및 상기 익명ID확인서버가 상기 익명인증서버와 상호 협력하여 상기 추출된 익명ID에 대응되는 신원확인정보 및 상기 그룹멤버키를 가지는 서비스 이용자를 확인하는 단계를 포함할 수 있다.
상기 익명ID은 (
Figure 112010069258083-pat00030
)(
Figure 112010069258083-pat00031
)로 표현되는 것을 특징으로 한다.
상기 부분 연결 과정은 상기 LL 비밀키를 통해 상기 그룹서명으로부터 상기 서비스 이용자의 가상인덱스를 획득하여, 부분 연결성을 확보하는 단계를 포함할 수 있다.
상기 서비스 이용자의 가상인덱스는 (
Figure 112010069258083-pat00032
)로 표현되는 것을 특징으로 한다.
이와 같이 본 발명의 부분 연결성을 제공하는 익명 서비스 방법은 Short Group Signature 에 기반한 익명 인증 동작을 수행하되, 부분 연결성이라는 개념을 도입하여 동일한 서비스 도메인 내에서의 연결성을 확보하도록 한다.
즉, 본 발명에서는 서비스제공자 내부에서는 서비스 이용자별로 고정된 값을 가지는 가상인덱스를 계산하되, 다수의 서비스제공자들이 공모를 하여도 이와 동일한 값을 가지는 가상인덱스를 계산할 수 없도록 하여, 동일 서비스 도메인 내부에서만 연결성이 확보될 수 있을 뿐, 서로 다른 서비스 도메인 내부에서는 연결성이 확보할 수 없도록 해준다.
이에 따라 본 발명의 부분 연결성을 제공하는 익명 서비스 방법은 서비스 이용자의 익명성을 유지하면서도, 익명으로 마일리지 서비스, 벌점 부여, 서비스 이용 기록 분석 등의 회원 관리를 할 수 있도록 해준다.
도1은 일반적인 Short Group Signature을 이용한 익명 서비스 시스템을 도시한 도면이다.
도2는 일반적인 Short Group Signature을 이용한 익명 서비스 방법을 도시한 도면이다.
도3은 본 발명의 일 실시예에 따른 부분 연결성을 제공하는 익명 서비스 방법을 도시한 도면이다.
도4는 도3의 초기화 과정을 보다 상세하게 설명하기 위한 도면이다.
도5는 도3의 서비스 이용자 가입 단계를 보다 상세하게 설명하기 위한 도면이다.
도6은 도3의 서비스제공자 가입 단계를 보다 상세하게 설명하기 위한 도면이다.
도7은 도3의 그룹서명 생성 과정을 보다 상세하게 설명하기 위한 도면이다.
도8은 도3의 부분 연결 과정을 보다 상세하게 설명하기 위한 도면이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다.
그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
본 발명의 익명 서비스 방법을 설명하기에 앞서 본 발명의 기반이 되는 Short Group Signature 에 대해 먼저 설명하기로 한다.
그룹서명 기법은 D. Chaum 등이 1991년에 EUROCRYPT 컨퍼런스에서 처음 제안한 기법으로, 그룹에 속한 멤버는 누구라도 서명할 수 있으며 검증자는 서명의 옳고 그름을 검증할 수 있으나 서명자에 대해 어떤 정보도 알아낼 수 없도록 한다. 그룹 관리자는 그룹서명 기법에서 가장 중요한 존재로, 그룹서명을 추적하여 그룹서명자의 신원을 알아낼 수 있다.
Short Group Signature는 D. Boneh 등이 2004년에 CRYPTO 컨퍼런스에 제안한 그룹서명 기법으로, 서명의 길이가 고정적이고 짧으며(1533bits), 서명 및 검증 시간이 상대적으로 적다는 장점을 가진다.
도1은 일반적인 Short Group Signature을 이용한 익명 서비스 시스템을 도시한 도면이다.
도1을 참조하면, 상기 익명 서비스 시스템은 서비스 단말(100), 익명인증서버(110), 서비스제공서버(120) 및 익명ID확인서버(130) 서비스제공서버(120) 등을 포함할 수 있다.
서비스 단말(100)은 익명인증서버(110)로부터 익명인증수단(익명ID || 비밀키)을 발급받아 사용자가 익명으로 서비스를 이용할 수 있도록 하는 장치이다. 본 발명의 실시예에 따른 서비스 단말(100)은 서비스 이용자에 의해 구동 및 이용되므로, 이하에서는 설명의 편이를 위해 서비스 이용자로 총칭하기로 한다.
익명인증서버(110)는 서비스 이용자의 실명을 확인하여 익명인증수단을 발급하며, 문제가 있는 경우에는 익명ID확인서버(130)와 함께 사용자의 실명을 추적할 수 있으나 단독으로는 추적이 불가능하다.
서비스제공서버(120)는 익명으로 서비스를 제공하며, 문제가 있는 경우 익명ID확인서버(130)를 통하여 익명 사용자의 실명에 대한 추적을 요청할 수 있다.
익명ID확인서버(130)는 서비스제공서버(120)로부터 익명인증 트랜잭션을 전달받아, 그로부터 익명ID를 확인할 수 있다.
도2는 일반적인 Short Group Signature을 이용한 익명 서비스 방법을 도시한 도면이다.
도2의 Short Group Signature에는 기본 방법 및 Strong Exculpability를 적용하기 위한 방법이 추가적으로 제안되어 있으며, 이하에서는 Strong Exculpability 방식을 기반으로 상기 익명 서비스 방법을 설명하고자 한다.
도2의 익명 서비스 방법은 초기화(SetUp) 과정(S100), 가입(Join) 과정(S110), 그룹서명 생성(Sign) 과정(S120), 그룹서명 검증(Verify) 과정(S130), 및 서명자 확인(Open) 과정(S140)으로 이루어진다.
먼저, 초기화(SetUp) 과정(S100)에서는 익명인증서버(110)와 익명ID확인서버(130)는 다음과 같은 과정을 수행한다.
1) 익명인증서버(110)는 보안 파라미터 K를 입력으로 받아서 겹선형(bilinear) 그룹쌍 (G1, G2)과 결합된 계산 가능한 동형함수 φ와 겹선형 함수 e: G1 × G2→GT, 그리고 해쉬 함수 H :{0,1}*→ZP를 생성한다. 그리고 임의의 생성원 와 g2∈G2\{
Figure 112010069258083-pat00033
}와 g3∈G1\{
Figure 112010069258083-pat00034
}를 선택하고 g1=φ(g2)을 계산하며, 마스터 비밀키
Figure 112010069258083-pat00035
∈ZP *를 선택하고 그룹 공개키 요소 w=
Figure 112010069258083-pat00036
∈G2를 계산하여, 그룹 공개키 gpk=(g1,g2,g3,w)를 획득한다.
2) 익명ID확인서버(130)는 임의의 생성원 h∈G1\{
Figure 112014006659926-pat00037
}과 임의의 난수 ξ1, ξ2 ∈ZP *를 선택하고
Figure 112014006659926-pat00038
을 만족하는 u, v∈G1을 계산한다. 그리고 공개파라미터 (h,u,v)을 익명인증서버(110)에 전달하고 gmtk=(ξ1, ξ2)을 마스터 추적키로 안전하게 저장한다.
3) 익명인증서버(110)는 그룹 공개키 gpk를 모든 참가자에게 공개한다. 이때, 참가자는 그룹 공개키 gpk에 포함된 (h,u,v)값들이 익명ID확인서버(130)에 의해 발급된 값임을 검증할 수 있다고 가정하며, 그룹 공개키는 폐기(Revocation) 이벤트가 발생할 때마다 갱신된다.
이후, 가입(Join) 과정(S110)에서는 익명인증서버(110)와 그룹에 가입하려는 서비스 이용자(100)는 다음과 같은 과정을 수행한다. 이때, 익명인증서버(110)와 서비스 이용자(100) 사이에는 보안채널이 형성되어 있다고 가정한다.
1) 서비스 이용자(100)는 비밀키 yi∈ZP * 를 선택하고 공개키 g3∈G1을 계산한다. 그리고 공개키 g3∈G1를 이용하여 비밀키 yi에 대한 개인키 소유 증명(Proof of Possession, POP), 즉 yi를 소유하고 있다는 증명 정보 POP(yi)를 생성한 후, 자신의 신원확인 정보와 함께 익명인증서버(110)에 송신한다. 즉, (신원확인정보, POP(yi))을 익명인증서버(110)에 송신한다.
2) 익명인증서버(110)는 서비스 이용자(100)로부터 (신원확인정보,POP(yi))가 전송되면, 전송된 (신원확인정보,POP(yi))가 유효한지 확인한다. 그리고 임의의 난수 xi∈ZP *를 선택하고
Figure 112010069258083-pat00039
∈G1}을 계산하여 그룹멤버키(또는, 유효 SDH 튜플(Strong Diffle-Hellman tuple))인 (Ai,xi)을 서비스 이용자(100)에게 송신한 후, (신원확인정보, (Ai,xi))을 이용자 목록(User-List)에 추가하여 해당 서비스 이용자(100)를 등록한다.
3) 서비스 이용자(100)는 그룹멤버키 (Ai,xi)을 수신한 후, 이하의 수학식1이 성립하는지 확인한 후 수학식1이 성립하면, 서비스 이용자(100)는 수신된 그룹멤버키 (Ai,xi)와 자신의 비밀키 yi를 합쳐서 그룹서명 비밀키 gsk[i]=(Ai,xi ,yi)을 생성하고 이를 저장한다.
[수학식 1]
Figure 112010069258083-pat00040
그룹서명 생성(Sign) 과정(S120)에서는, 서비스 이용자(100)는 다음을 수행한다.
1) 서비스 이용자(100)는 임의의 난수 α,β ∈ ZP를 선택한 후, T1←uα, T2←vβ, T3←Aihα+β를 계산하고, δ1←xiα 와 δ2←xiβ 를 계산한다. 또한, 임의의 난수 rα, rβ,
Figure 112010069258083-pat00041
,
Figure 112010069258083-pat00042
,
Figure 112010069258083-pat00043
,
Figure 112010069258083-pat00044
∈ ZP를 선택하고 이하의 수학식2에 따라 R1, R2, R3, R4, R5을 계산한다.
[수학식 2]
Figure 112010069258083-pat00045
Figure 112010069258083-pat00046
Figure 112010069258083-pat00047
Figure 112010069258083-pat00048
Figure 112010069258083-pat00049
2) T1, T2, T3, R1, R2, R3, R4, R5과 메시지 M을 이용하여 해쉬 값 c=H(M,T1, T2, T3, R1, R2, R3, R4, R5)를 계산하고, sα=rα + cα, sβ =rβ + cβ,
Figure 112010069258083-pat00050
,
Figure 112010069258083-pat00051
,
Figure 112010069258083-pat00052
,
Figure 112010069258083-pat00053
을 계산하여, 메시지 M에 대한 그룹서명
Figure 112010069258083-pat00054
을 출력한다.
이후, 그룹서명 검증(Verify) 과정(S130)이 되면, 서비스제공서버(120) 또는 임의의 참가자는 그룹 공개키 gpk, 메시지 M, 이에 대응하는 그룹서명
Figure 112010069258083-pat00055
에 대해서 다음을 수행한다.
서비스제공서버(120) 또는 임의의 참가자는 이하의 수학식3에 따라
Figure 112010069258083-pat00056
를 계산하고, 계산된
Figure 112010069258083-pat00057
과 주어진
Figure 112010069258083-pat00058
, 메시지 M을 이용하여 해쉬 값
Figure 112010069258083-pat00059
을 생성하고 이 값이 그룹서명에 포함된
Figure 112010069258083-pat00060
와 같은지 확인한다. 만약 두 값이 같다면 1(서명 유효)을 출력하고 그렇지 않다면 0(서명 미유효)을 출력한다.
[수학식 3]
Figure 112010069258083-pat00061
Figure 112010069258083-pat00062
Figure 112010069258083-pat00063
Figure 112010069258083-pat00064
Figure 112010069258083-pat00065
이후, 서명자 확인(Open) 과정(S140)이 되면, 서비스제공서버(120) 또는 임의의 참가자로부터 제공되는 그룹 공개키 gpk 와 그룹 마스터 비밀키 gmsk=(ξ1, ξ2), 그리고 메시지 M과 이에 대응하는 그룹 서명 값
Figure 112014006659926-pat00066
에 대하여 다음을 수행한다.
1) 먼저 주어진 그룹서명 값이 정당한지 그룹서명 검증 알고리즘을 이용하여 확인한 후, 만일 정당하다면, gmtk=(ξ1, ξ2)을 이용하여 서비스 이용자(100)의 익명ID
Figure 112014006659926-pat00067
을 계산한다.
2) 서비스제공서버(120)는 익명인증서버(110)와 익명ID확인서버(130)를 통해 익명ID에 대응되는 서비스 이용자를 확인한다.
이상에서 살펴본 바와 같이, 일반적인 Short Group Signature 를 이용한 익명 서비스 방법은 서비스 이용자의 익명성을 보장하면서도, 서비스 이용자의 인증을 수행하고 사용자가 필요로 하는 서비스를 제공해줄 수 있도록 한다.
그러나 본 발명에서는 부분 연결성이라는 개념을 제안하고, 이에 따라 Short Group Signature을 이용한 익명 서비스 방법을 변형함으로써, Short Group Signature에 의한 익명성을 유지하되 동일한 서비스 도메인 내의 연결성은 추가적으로 지원할 수 있도록 하는 새로운 익명 서비스 방법을 제안하고자 한다.
부분 연결성이라는 개념은 익명성을 약간 완화시켜 마일리지 서비스 등 유용한 기능을 제공하기 위해 제안된 것으로, 특히 이용자의 반복적인 가입과 탈퇴 하에서도 연속적으로 부분 연결성을 제공하도록 설계하여 멤버십의 변화와 상관없이 안정적인 마일리지 서비스 등의 유용한 기능을 제공할 수 있도록 하기 위한 것이다.
다만, 본 발명의 익명 인증 및 익명 서비스 방법을 사용하는 서비스 제공서버는 동일 도메인 내에서의 그룹서명은 연결할 수 있지만(즉, 동일서명자가 생성한 서명을 확인할 수 있지만), 그룹서명자의 익명ID를 확인하거나 여러 서비스 도메인간의 "부분 연결성" 정보를 공유할 수는 없다.
도3은 본 발명의 일 실시예에 따른 부분 연결성을 제공하는 익명 서비스 방법을 도시한 도면이다.
도3을 참조하면, 상기 익명 서비스 방법은 초기화(SetUp) 과정(S200), 가입(Join) 과정(S210), 그룹서명 생성(Sign) 과정(S220), 그룹서명 검증(Verify) 과정(S230), 및 서명자 확인(Open) 과정(S240) 이외에 부분 연결(Local-Link) 과정(S250)을 추가적으로 더 포함함을 알 수 있다.
이하에서, 각 과정을 보다 구체적으로 살펴보면 다음과 같다.
먼저 초기화(SetUp) 과정(S100)에서는 도4에 도시된 바와 같이, 익명인증서버(110)가 다음과 같은 과정을 수행한다.
단계 S201에서, 익명인증서버(110)는 보안 파라미터 K를 입력으로 받아서 다음을 수행한다. 먼저 그룹 공개파라미터(e, G1, G2)를 이용하여 겹선형(bilinear) 그룹쌍 (G1, G2)와 결합된 계산 가능한 동형함수 φ와 겹선형 함수 e: G1 × G2→GT, 그리고 해쉬 함수 H :{0,1}*→ZP를 생성한다. 그리고 임의의 생성원 g2∈G2\{
Figure 112010069258083-pat00068
}와 g0,g3,g4,h∈G1\{
Figure 112010069258083-pat00069
}을 선택하고 g1 =φ(g2)을 계산하며, 마스터 비밀키
Figure 112010069258083-pat00070
∈ZP *를 선택하고 그룹 공개키 요소 w=
Figure 112010069258083-pat00071
=G2를 계산하여, 초기 그룹 공개키 gpk=(g0,g1,g2,g3,g4,w)를 획득한다.
단계 S202에서, 익명인증서버(110)는 그룹 공개키 gpk를 모든 참가자에게 공개한다. 이때, 그룹 공개키는 철폐(Revocation) 이벤트가 발생할 때마다 갱신된다. 또한 선택적으로, 그룹 공개키의 페어링 함수 계산을 줄이기 위한 η1←e(g1,g2),η4←e(g3,g2), η5←e(g4,g2)을 공개키에 포함할 수 있다.
이후 가입(Join) 과정(S210)은 도3에 도시된 바와 같이 서비스 이용자 가입 단계(S211)와 서비스제공자 가입 단계(S212)가 수행된다. 이때, 서비스 이용자 가입 단계(S211)는 그룹에 가입하여 그룹서명키를 사용하려는 서비스 이용자(100)를 위한 절차이며, 서비스제공자 가입 단계(S212)는 부분 연결성을 확보하기 위한 서비스제공서버를 위한 절차이다.
일반적으로, 서비스제공자 가입 단계는 익명 서비스의 제공 전에 이루어지는 것이 일반적이며, 서비스의 연속성을 위하여 최초 발급 후에 다시 발급받는 것은 가급적 지양하여야 한다. 서비스 이용자의 가입 단계는 서비스 이용자가 언제든지 거칠 수 있으며, 한 서비스 이용자가 이 단계를 여러 번 거침으로써 그룹서명 비밀키를 여러 번 발급받는 것이 가능해야 한다.
도5에 도시된 바와 같이, 서비스 이용자 가입 단계(S211)는 서비스 이용자(100)와 익명인증서버(110)에 의해 수행되며, 이때 서비스 이용자(100)와 익명인증서버(110)사이에는 보안채널이 형성되어 있다고 가정한다.
S211-1에서, 서비스 이용자(100)는 자신의 비밀키 yi∈ZP *를 선택하고 공개키 g3 ∈G1을 계산한다. 그리고 공개키 g3를 이용하여 비밀키 yi에 대한 개인키 소유 증명(Proof of Possession, POP), 즉, 비밀키 yi를 소유하고 있다는 증명 정보, POP(yi)를 생성한 후, 익명인증서버(110)에 (신원확인정보, (POP(yi))을 송신한다. 이 POP(yi)에는
Figure 112010069258083-pat00072
혹은 이를 직접 계산할 수 있는 정보가 포함되어 있어야 한다.
S211-2에서, 익명인증서버(110)는 가입하려는 서비스 이용자(100)로부터 전송되는 (신원확인정보,POP(yi))를 수신하여 이의 유효성을 확인한 후, 서비스 이용자(100)의 재가입 여부를 확인한다.
S211-3에서, 서비스 이용자(100)가 이미 가입되어 (신원확인정보, (POP(yi))이 이용자 목록(User-List)에 존재하면, 익명인증서버(110)는 이용자 목록으로부터 그 이용자에 등록되어 있는 zi를 얻은 후, 임의의 난수 xi∈ZP *를 선택하고 익명ID인
Figure 112010069258083-pat00073
를 계산한다. 그리고 서비스 이용자(100)에 대한 그룹멤버키로 생성된 (Ai, xi, zi)을 해당 서비스 이용자(100)에게 송신한다.
S211-4에서, 서비스 이용자(100)가 최초로 가입하여 (신원확인정보, (POP(yi))이 이용자 목록에 없으면, 익명인증서버(110)는 임의의 난수 xi, yi∈ZP *를 선택하고 익명ID인
Figure 112010069258083-pat00074
를 계산한다. 그리고, 익명인증서버(110)는 서비스 이용자(100)에 대한 그룹멤버키 (Ai, xi, zi)를 서비스 이용자(100)에 송신하면서, (신원확인정보, POP(yi),zi,
Figure 112010069258083-pat00075
)을 사용자 목록(User-List)에 추가하여 해당 서비스 이용자(100)를 등록한다. (
Figure 112010069258083-pat00076
는 특정 사용자에게 고정된 익명 ID에 해당하며, 이하에서는 간단히 줄여서 Bi로 표시하기로 한다.)
S211-5에서, 서비스 이용자(100)는 (Ai, xi, zi)를 수신한 후, 이하의 수학식4이 성립하는지 확인한 후, 수학식4가 성립되면 서비스 이용자(100)는 gsk[i]=(Ai,xi ,zi ,yi)을 자신의 그룹서명 비밀키로 저장한다.
[수학식 4]
Figure 112010069258083-pat00077
도6에 도시된 바와 같이, 서비스제공자 가입 단계(S212)는 서비스제공서버(120)와 익명ID확인서버(130)에 의해 수행되며, 이때 서비스제공서버(120)와 익명ID확인서버(130) 사이에는 보안채널이 형성되어 있다고 가정한다.
S212-1에서, 서비스제공서버(120)는 자신의 SP 신원확인정보를 익명ID확인서버(130)에 송신한다.
S212-2 에서, 익명ID확인서버(130)는 서비스제공서버(120)로부터 전송되는 SP 신원확인정보를 수신하여 이의 유효성을 확인한 후, 임의의 생성원 mj∈G1\{
Figure 112014006659926-pat00078
}, Mj∈G2\{
Figure 112014006659926-pat00079
}와 난수 χj1j2j∈ZP * 를 선택하고
Figure 112014006659926-pat00080
를 계산한다. 그리고 서비스제공서버(120)로 전달할 임시 부분 연결용 공개키 및 비밀키쌍(hj, mj, uj, vj, Mj, Uj, Vj)과 추적키 tksp[j]=(χj1j2j)를 계산한다. S212-2에서, 익명ID확인서버(130)는 ((hj, mj, uj, vj, Mj, Uj, Vj), SP신원확인정보, (χj1j2j))을 서비스제공서버 목록(SP-List)에 추가하여, 서비스제공서버(120)를 등록한다.
S212-3에서, 익명ID확인서버(130)는 임시 부분 연결용 공개키 및 비밀키쌍 (hj, mj, uj, vj, Mj, Uj, Vj)은 서비스제공서버(120)에게 전달한다.
S212-4에서, 서비스제공서버(120)는 임시 부분 연결용 공개키 및 비밀키쌍 (hj, mj, uj, vj, Mj, Uj, Vj)를 수신한 후 이하의 수학식5가 성립하는지 확인한다. 만약 수학식5가 성립되면, 서비스제공서버(120)는 LLsksp[j]=(Mj, Uj, Vj)을 자신의 LL 비밀키로 저장하고, LL 공개키 LLpksp[j]=(hj, mj, uj, vj)를 저장한 후 공개한다.
[수학식 5]
e(mj,Mj)=e(uj,Uj)=e(vj,Vj)
이때, 서비스 이용자(100)는 LL 공개키에 포함된 값들이 익명ID확인서버(130)가 서비스제공서버(120)를 위해 발급한 값임을 검증할 수 있다고 가정하며, 이를 위해 LL 공개키에 대한 인증서를 사용할 수도 있다.
그룹서명 생성(Sign) 과정(S220)에서는, 서비스 이용자(100)는 도7에 도시된 바와 같이 상호 협력하여 그룹서명을 생성한다.
S221에서, 서비스 이용자(100)는 서비스제공서버(120)로부터 LL 공개키 LLpksp[j]를 획득한다.
S222에서, 서비스 이용자(100)는 그룹 공개키 gpk, LL 공개키 LLpksp[j], 비밀키 gsk[i]=(
Figure 112010069258083-pat00081
,xi ,zi ,yi), 메시지 M를 이용하여 그룹서명을 생성한다.
즉, 임의의 난수 α,β ∈ ZP를 선택한 후, T1=uj α, T2=vj β, T3=Aihj α+β,T4=
Figure 112010069258083-pat00082
를 계산하고, δ1=xiα와 δ2=xiβ를 계산한다. 그리고, 임의의 난수 rα, rβ,
Figure 112010069258083-pat00083
,
Figure 112010069258083-pat00084
,
Figure 112010069258083-pat00085
,
Figure 112010069258083-pat00086
,
Figure 112010069258083-pat00087
∈ ZP을 선택하고 다음과 같이 R1, R2, R3, R4, R5, R6을 계산한다. 계산된 값들과 메시지 M을 이용하여 해쉬 값 c=H(M,T1, T2, T3, T4, R1, R2, R3, R4, R5, R6)를 계산한 후, sα=rα+cα, sβ =rβ+cβ,
Figure 112010069258083-pat00088
,
Figure 112010069258083-pat00089
,
Figure 112010069258083-pat00090
,
Figure 112010069258083-pat00091
,
Figure 112010069258083-pat00092
을 계산하여, 그룹서명
Figure 112010069258083-pat00093
를 생성한다.
[수학식 6]
Figure 112010069258083-pat00094
Figure 112010069258083-pat00095
Figure 112010069258083-pat00096
Figure 112010069258083-pat00097
Figure 112010069258083-pat00098
Figure 112010069258083-pat00099
S223에서, 서비스 이용자(100)는 S222 단계에서 생성된 그룹서명을 서비스 제공 서버(120)에 전달한다.
그룹서명 검증(Verify) 과정(S230)에서는, 서비스제공서버(120) 또는 임의의 참가자는 그룹 공개키 gpk, LL 공개키 LLpksp[j], 메시지 M, 그룹서명
Figure 112010069258083-pat00100
에 대해서 다음을 수행한다.
서비스제공서버(120) 또는 임의의 참가자는 이하의 수학식7에 따라
Figure 112010069258083-pat00101
를 계산하고, 계산된
Figure 112010069258083-pat00102
과 그룹서명에 포함된
Figure 112010069258083-pat00103
, 메시지 M을 이용하여 해쉬 값 c=H(M,T1, T2, T3, T4, R1, R2, R3, R4, R5, R6)를 생성하고 이 값이 그룹서명에 포함된
Figure 112010069258083-pat00104
와 같은지 확인한다. 만약 두 값이 같다면 1(그룹서명 유효)을 출력하고 그렇지 않다면 0(그룹서명 미유효)을 출력한다.
[수학식 7]
Figure 112010069258083-pat00105
Figure 112010069258083-pat00106
Figure 112010069258083-pat00107
Figure 112010069258083-pat00108
Figure 112010069258083-pat00109
Figure 112010069258083-pat00110
서명자 확인(Open) 과정(S240)에서는, 익명ID확인서버(130)와 익명인증서버(110)는 다음의 과정을 수행한다.
익명ID확인서버(130)는 서비스제공서버(120) 또는 임의의 참가자로부터 제공되는 그룹 공개키 gpk, LL 공개키LLpksp[j]와 이에 대응하는 추적키 tksp[j]=(χj1j2j), 그리고 메시지 M과 이에 대응하는 그룹 서명
Figure 112010069258083-pat00111
에 대하여 다음을 수행한다.
먼저, 그룹서명의 검증 과정(S230)을 동일하게 적용하여 그룹서명의 유효성을 확인한 후, tksp[j]=(χj1j2j)을 이용하여 익명ID인
Figure 112014006659926-pat00112
을 계산한다. 이때, 그룹서명에 포함된 세 가지
Figure 112014006659926-pat00113
과 추적키 tksp[j]=(χj1j2j)를 이용하여 갱신된 익명ID 정보 값
Figure 112014006659926-pat00114
도 복호할 수 있다.
그리고 익명인증서버(110)와 익명ID확인서버(130)는 상호 협력하여 (필요한 경우, 익명인증서버(110)의 이용자 목록(User-List)에서 익명ID에 대응되는 신원확인정보 및 상기 그룹멤버키를 가지는 서비스 이용자를 비교 검색하여) 익명ID에 대응되는 사용자를 확인한다.
부분 연결(Local-Link) 과정(S250)에서는, 서비스제공서버(120)는 도8에 도시된 바와 같이 동작하여 동일 서비스 도메인내에서의 연결성을 확보한다.
S251에서, 서비스제공서버(120)는 그룹 공개키, LL 공개키와 자신의 LL 비밀키 LLsksp[j]=(Mj, Uj, Vj), 그리고 메시지 M과 이에 대응하는 그룹 서명
Figure 112014006659926-pat00115
에 획득한 후, 이하의 수학식8에 따라 자신의 LL 비밀키를 이용하여 서비스 이용자(100)의 가상인덱스를 계산한다. 이 때 필요할 경우, 이 전에 수행된 그룹서명 검증 과정(S230)을 적용하여 그룹서명의 유효성을 다시 확인할 수 있다.
[수학식 8]
Figure 112010069258083-pat00116
S252에서, 서비스제공서버(120)는
Figure 112010069258083-pat00117
를 가상인덱스로 획득하고, 이를 익명토큰 목록(AT-List)에 등록하여 부분 연결성을 확보한다.
이와 같이, 본 발명의 부분 연결 과정(S250)에 따르면 서비스제공서버(120)는 익명 사용자의 익명ID에 해당하는Ai를 (혹은 xi, zi, bi=
Figure 112014006659926-pat00118
)를 계산하지 못하나, 고정된 값을 가지는 가상인덱스 Pij = e(Bi,Mj)=e(
Figure 112014006659926-pat00119
, Mj)은 계산할 수 있게 된다.
이에 서비스 제공서버(120)는 서비스 이용자마다 고정된 값을 가지는 가상인덱스를 이용하여 서비스 이용자를 구분하고 마일리지 서비스, 벌점 부여, 서비스 이용 기록 분석 등의 기능을 수행할 수 있게 된다.
즉, 서비스 제공서버(120)는 익명을 유지하면서도 동일한 서비스 도메인 내에서의 연결성을 지원할 수 있게 된다.
그럼에도 불구하고, 서비스제공자 j, k가 공모를 하여도 같은 사용자의 그룹서명들로부터 동일한 가상인덱스를 계산할 수 없어, 서로 같은 사용자인지를 확인할 수 없게 된다.
즉, 서비스제공자 j, k는 같은 사용자로부터 받은 각각의 그룹서명들로부터 각각 Pij = e(Bi,Mj)=e(
Figure 112010069258083-pat00120
, Mj), Pik = e(Bi,Mk)=e(
Figure 112010069258083-pat00121
, Mk)만을 계산할 수 있어, 동일한 값을 가상인덱스를 획득하지 못하게 된다. 또한, 서비스 제공자 j가 받은 같은 서비스 이용자의 그룹 서명들로부터 서비스 제공자 k는 (혹은 그 역으로도) 유일한 가상인덱스를 계산할 수 없다.
따라서, 본 발명에서는 동일 서비스 도메인 내부에서만 연결성이 확보될 수 있을 뿐, 서로 다른 서비스 도메인간의 연결은 지원하지 않으므로, 부분 연결성(Local Linkability) 기능을 만족할 수 있게 된다.
이상 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
100: 서비스 이용자 110: 익명인증서버
120: 익명ID확인서버 130: 서비스제공서버

Claims (18)

  1. 서비스단말이 익명인증서버와 상호 협력하여 서비스 이용자의 그룹서명 비밀키를 획득하는 서비스 이용자 가입 과정;
    서비스제공서버가 익명ID확인서버와 상호 협력하여 서비스제공자의 부분 연결용 공개키(LL 공개키) 및 비밀키(LL 비밀키) 쌍을 획득하는 서비스제공서버 가입 과정;
    상기 서비스단말이 상기 서비스제공서버로부터 상기 LL 공개키를 제공받고, 그룹 공개키와 상기 LL 공개키, 상기 그룹서명 비밀키를 기반으로 하여 상기 서비스 이용자의 그룹서명을 생성하는 그룹서명 생성과정;
    상기 서비스 제공서버가 상기 그룹 공개키와 상기 LL 공개키를 이용하여 상기 그룹서명의 유효 여부를 검증하는 그룹서명 검증과정;
    상기 익명ID확인서버가 상기 그룹서명으로부터 익명ID를 계산한 후, 상기 익명인증서버와 상호 협력하여 상기 익명ID를 가지는 서비스 이용자를 확인하는 서명자 확인 과정; 및
    상기 서비스제공서버가 상기 LL 비밀키를 통해 상기 그룹서명으로부터 상기 서비스 이용자의 가상인덱스를 획득하여, 상기 서비스 이용자의 부분 연결성을 확보하는 부분 연결 과정을 포함하는 부분 연결성을 제공하는 익명 서비스 방법.
  2. 제1항에 있어서,
    상기 서비스 이용자 가입 과정 이전에, 상기 익명인증서버가 그룹 공개파라미터를 이용하여 상기 그룹 공개키와 그룹 멤버키 생성용 비밀키를 생성하며, 상기 그룹 공개파라미터와 상기 그룹 공개키를 공개하는 그룹 생성 과정을 더 포함하는 것을 특징으로 하는 부분 연결성을 제공하는 익명 서비스 방법.
  3. 제2항에 있어서, 상기 그룹 생성 과정은
    상기 그룹 공개파라미터를 기초로 겹선형 그룹과 함수, 그리고 해시 함수를 결정하는 단계; 및
    상기 그룹 공개파라미터에 기반한 상기 그룹 공개키를 공개하고, 상기 그룹 멤버키 생성용 비밀키를 생성하여 저장하는 단계를 포함하는 것을 특징으로 하는 부분 연결성을 제공하는 익명 서비스 방법.
  4. 제3항에 있어서, 상기 서비스 이용자 가입 과정은
    상기 서비스단말이 상기 서비스 이용자의 비밀키를 생성하고 상기 비밀키에 대한 개인키 소유 증명 정보와 신원확인정보를 상기 익명인증서버에 제공하는 단계;
    상기 익명인증서버가 상기 서비스 이용자에 대응되는 익명ID를 포함하는 그룹멤버키를 생성하여 상기 서비스 단말에게 제공하고, 상기 서비스 이용자를 등록하는 단계; 및
    상기 서비스 단말이 상기 비밀키와 상기 그룹멤버키를 합쳐서 상기 그룹서명 비밀키를 생성하여 저장하는 단계를 포함하는 것을 특징으로 하는 부분 연결성을 제공하는 익명 서비스 방법.
  5. 제4항에 있어서,
    상기 그룹멤버키는 (Ai, xi, zi)(Ai =
    Figure 112010069258083-pat00122
    ∈G1, xi,yi,zi∈ZP * , G1,G2는 겹선형 그룹, g1=φ(g2), g2 =∈G2\{
    Figure 112010069258083-pat00123
    }, φ는 동형함수, g3,g4∈G1\{
    Figure 112010069258083-pat00124
    },
    Figure 112010069258083-pat00125
    ∈ZP *)으로 표현되고,
    상기 그룹서명 비밀키는 gsk[i]=(Ai,xi,zi,yi)로 표현되며,
    상기 개인키 소유 증명 정보는 공개키 g3∈G1와 비밀키 yi를 이용하여 생성되며, 상기 비밀키 yi를 소유하고 있다는 증명 정보로
    Figure 112010069258083-pat00126
    를 포함하는 정보인 것을 특징으로 하는 부분 연결성을 제공하는 익명 서비스 방법.
  6. 제4항에 있어서, 상기 그룹멤버키를 생성하여 상기 서비스 단말에게 제공하는 단계는
    상기 서비스 이용자가 이미 등록되어 있는 경우, 상기 서비스 이용자에 대응되는 상기 그룹멤버키를 최신 정보로 갱신하여 상기 익명인증서버에 제공하는 단계; 및
    상기 서비스 이용자가 미등록되어 있는 경우, 상기 익명인증서버가 상기 서비스 이용자에 대응되는 상기 그룹멤버키를 생성하여 상기 서비스 단말에 제공하고 상기 서비스 이용자를 등록하는 단계를 포함하는 것을 특징으로 하는 부분 연결성을 제공하는 익명 서비스 방법.
  7. 제4항에 있어서, 상기 서비스 제공 서버 가입 과정은
    상기 서비스 제공서버가 상기 서비스 제공자의 신원확인정보를 상기 익명ID확인서버에 제공하는 단계;
    상기 익명ID확인서버가 상기 서비스 제공자에 대응되는 임시 부분 연결용 공개키 및 비밀키 쌍과 추적키를 생성하여 상기 서비스 제공자를 등록하고, 상기 임시 부분 연결용 공개키 및 비밀키쌍을 상기 서비스 제공서버에게 제공하는 단계; 및
    상기 서비스 제공서버가 상기 임시 부분 연결용 공개키 및 비밀키쌍으로부터 상기 LL 공개키 및 LL 비밀키를 지정 및 저장하는 단계를 포함하는 것을 특징으로 하는 부분 연결성을 제공하는 익명 서비스 방법.
  8. 제7항에 있어서,
    상기 LL 공개키 LLpksp[j]=(hj, mj, uj, vj)(
    Figure 112014006659926-pat00127
    , χj1j2j∈ZP *)으로 표현되고,
    상기 LL 비밀키 LLsksp[j]=(Mj, Uj, Vj)(Mj∈G2\{
    Figure 112014006659926-pat00128
    }, Uj=
    Figure 112014006659926-pat00129
    , Vj=
    Figure 112014006659926-pat00130
    ∈G2)으로 표현되고,
    상기 추적키 tksp[j]=(χj1j2j)(χj1j2j∈ZP *)으로 표현되는 것을 특징으로 하는 부분 연결성을 제공하는 익명 서비스 방법.
  9. 제8항에 있어서, 상기 LL 공개키 및 LL 비밀키를 지정 및 저장하는 단계는
    상기 서비스 제공서버가 현재 세션의 그룹 공개파라미터를 이용하여 상기 임시 부분 연결용 공개키로부터 상기 LL 공개키를 지정하여 저장하는 단계; 및
    상기 서비스 제공서버가 상기 임시 부분 연결용 비밀키를 상기 LL 비밀키로 저장하는 단계를 포함하는 것을 특징으로 하는 부분 연결성을 제공하는 익명 서비스 방법.
  10. 제9항에 있어서,
    상기 그룹 공개파라미터는 (e, G1, G2, H)(H :{0,1}*→ZP, H는 해쉬함수)로 표현되고,
    상기 그룹 공개키는 (gpk=(g0,g1,g2,g3,g4,w))로 표현되며,
    상기 LL 공개키는 (LLpksp[j]=(hj, mj, uj, vj))로 표현되는 것을 특징으로 하는 부분 연결성을 제공하는 익명 서비스 방법.
  11. 제9항에 있어서, 상기 LL 공개키 및 LL 비밀키를 지정 및 저장하는 단계는
    상기 LL 공개키를 지정하여 저장하는 단계와 상기 LL 비밀키로 저장하는 단계를 수행하기 전에, 상기 서비스 제공서버가 상기 임시 부분 연결용 공개키 및 비밀키쌍이 e(mj, Mj)=e(uj, Uj)=e(vj,Vj)의 식을 만족하는지를 확인하는 단계를 더 포함하는 것을 특징으로 하는 부분 연결성을 제공하는 익명 서비스 방법.
  12. 제7항에 있어서, 상기 그룹서명 생성과정은
    상기 서비스 단말이 상기 서비스제공서버로부터 서비스 제공자의 LL 공개키를 획득하는 단계; 및
    상기 서비스 단말이 그룹 공개키, 상기 LL 공개키, 상기 그룹서명 비밀키, 메시지를 이용하여 상기 그룹서명을 생성하는 단계를 포함하는 것을 특징으로 하는 부분 연결성을 제공하는 익명 서비스 방법.
  13. 제12항에 있어서,
    상기 그룹서명은 (σ=(T1, T2, T3, T4, c, sα, sβ,
    Figure 112010069258083-pat00131
    ,
    Figure 112010069258083-pat00132
    ,
    Figure 112010069258083-pat00133
    ,
    Figure 112010069258083-pat00134
    ,
    Figure 112010069258083-pat00135
    )(T1=uj α , T2=vj β, T3=Aihj α+β, T4=
    Figure 112010069258083-pat00136
    , α,β ∈ ZP, H={0,1}*∈ZP, H는 해쉬함수, c=H(M,T1, T2, T3, T4, R1, R2, R3, R4, R5, R6), M은 메시지,
    Figure 112010069258083-pat00137
    ,
    Figure 112010069258083-pat00138
    ,
    Figure 112010069258083-pat00139
    ,
    Figure 112010069258083-pat00140
    ,
    Figure 112010069258083-pat00141
    ,
    Figure 112010069258083-pat00142
    ,
    Figure 112010069258083-pat00143
    j∈ZP *,w=
    Figure 112010069258083-pat00144
    ∈G2,
    Figure 112010069258083-pat00145
    ∈ZP *, δ1=xiα, δ2=xiβ, sα=rα + cα, sβ =rβ + cβ,
    Figure 112010069258083-pat00146
    ,
    Figure 112010069258083-pat00147
    ,
    Figure 112010069258083-pat00148
    ,
    Figure 112010069258083-pat00149
    ,
    Figure 112010069258083-pat00150
    )으로 표현되는 것을 특징으로 하는 부분 연결성을 제공하는 익명 서비스 방법.
  14. 제7항에 있어서, 상기 서명자 확인 과정은
    상기 익명ID확인서버가 상기 추적키를 이용하여 상기 그룹서명으로부터 상기 서비스 이용자의 익명ID를 추출하는 단계; 및
    상기 익명ID확인서버가 상기 익명인증서버와 상호 협력하여 상기 추출된 익명ID에 대응되는 신원확인정보 및 상기 그룹멤버키를 가지는 서비스 이용자를 확인하는 단계를 포함하는 것을 특징으로 하는 부분 연결성을 제공하는 익명 서비스 방법.
  15. 제14항에 있어서,
    상기 익명ID은 (
    Figure 112010069258083-pat00151
    )(
    Figure 112010069258083-pat00152
    )로 표현되는 것을 특징으로 하는 부분 연결성을 제공하는 익명 서비스 방법.
  16. 제7항에 있어서, 상기 부분 연결 과정은
    상기 LL 비밀키를 통해 상기 그룹서명으로부터 상기 서비스 이용자의 가상인덱스를 획득하여, 부분 연결성을 확보하는 단계를 포함하는 것을 특징으로 하는 부분 연결성을 제공하는 익명 서비스 방법.
  17. 제16항에 있어서,
    상기 서비스 이용자의 가상인덱스는 (
    Figure 112014006659926-pat00153
    )로 표현되는 것을 특징으로 하는 부분 연결성을 제공하는 익명 서비스 방법.
  18. 제13항에 있어서, 상기 그룹서명 검증과정은
    상기 서비스제공서버가 다음의 수학식
    Figure 112014006659926-pat00162

    Figure 112014006659926-pat00163

    Figure 112014006659926-pat00164

    Figure 112014006659926-pat00165

    Figure 112014006659926-pat00166

    Figure 112014006659926-pat00167

    에 따라
    Figure 112014006659926-pat00168
    를 계산하고,
    상기
    Figure 112014006659926-pat00169
    과 그룹서명에 포함된
    Figure 112014006659926-pat00170
    , 메시지 M을 이용하여 해쉬 값 c=H(M,T1, T2, T3, T4, R1, R2, R3, R4, R5, R6)를 생성하며,
    상기 해쉬 값 c가 상기 그룹서명에 포함된
    Figure 112014006659926-pat00171
    와 같은지 확인하여, 두 값이 같으면 상기 그룹서명이 유효함을 나타내는 값을 출력하고, 같지 않으면 상기 그룹서명이 유효하지 않음을 나타내는 값을 출력하는 것을 특징으로 하는 부분 연결성을 제공하는 익명 서비스 방법.
KR1020100104585A 2009-12-18 2010-10-26 부분 연결성을 제공하는 익명 인증 서비스 방법 KR101407945B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/971,103 US8499158B2 (en) 2009-12-18 2010-12-17 Anonymous authentication service method for providing local linkability

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020090127545 2009-12-18
KR20090127545 2009-12-18

Publications (2)

Publication Number Publication Date
KR20110070765A KR20110070765A (ko) 2011-06-24
KR101407945B1 true KR101407945B1 (ko) 2014-06-17

Family

ID=44402230

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100104585A KR101407945B1 (ko) 2009-12-18 2010-10-26 부분 연결성을 제공하는 익명 인증 서비스 방법

Country Status (1)

Country Link
KR (1) KR101407945B1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101136119B1 (ko) * 2010-11-23 2012-04-17 순천향대학교 산학협력단 Abm 기반 그룹키 관리 방법
KR101475282B1 (ko) 2010-12-20 2014-12-22 한국전자통신연구원 키 유효성 검증 방법 및 이를 수행하기 위한 서버
KR101423955B1 (ko) * 2013-06-28 2014-08-01 고려대학교 산학협력단 사용자단말의 콘텐츠 접근 제어에 따른 콘텐츠 분배 방법 및 시스템
KR102439195B1 (ko) * 2022-05-03 2022-08-31 세종대학교산학협력단 다중 서명 생성 방법 및 시스템과 이를 수행하기 위한 컴퓨팅 장치

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008146667A1 (ja) 2007-05-24 2008-12-04 Nec Corporation 匿名認証システムおよび匿名認証方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008146667A1 (ja) 2007-05-24 2008-12-04 Nec Corporation 匿名認証システムおよび匿名認証方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Dan Boneh 외 2명, Short Group Signatures, Advances in Cryptology-CRYPTO 2004, LNCS 3152, pp41-55 (2004.) *

Also Published As

Publication number Publication date
KR20110070765A (ko) 2011-06-24

Similar Documents

Publication Publication Date Title
Yang et al. Delegating authentication to edge: A decentralized authentication architecture for vehicular networks
US8499158B2 (en) Anonymous authentication service method for providing local linkability
KR101475282B1 (ko) 키 유효성 검증 방법 및 이를 수행하기 위한 서버
KR101425552B1 (ko) 제어가능 연결성을 제공하는 그룹서명 시스템 및 방법
JP4816458B2 (ja) グループ署名システム、メンバ状態判定装置、グループ署名方法及びメンバ状態判定プログラム
KR102460299B1 (ko) 익명 크리덴셜 인증 시스템 및 그 방법
JP6688823B2 (ja) 構造化集合に組織化された様々な識別情報ドメインからのデータを管理及び検査する方法
Yue et al. A revocable group signatures scheme to provide privacy-preserving authentications
KR101407945B1 (ko) 부분 연결성을 제공하는 익명 인증 서비스 방법
Lian et al. Periodic $ K $-Times Anonymous Authentication With Efficient Revocation of Violator’s Credential
Hsu et al. New proxy multi-signature scheme
CN109447646A (zh) 一种电力交易系统中身份隐私保护方法及系统
CN110278081A (zh) 一种群组数字签名的控制方法和设备
Li et al. Multi-authority anonymous authentication with public accountability for incentive-based applications
Sarencheh et al. An efficient cooperative message authentication scheme in vehicular ad-hoc networks
Tian et al. A systematic method to design strong designated verifier signature without random oracles
CN110278073A (zh) 一种群组数字签名、验证方法及其设备和装置
CN115952483A (zh) 匿名可追踪身份认证方法及装置
Liang et al. An efficient blockchain-based anonymous authentication and supervision system
Zhao et al. Times limited accountable anonymous online submission control system from single-verifier k-times group signature
Hazazi et al. Privacy-preserving authentication scheme for wireless networks
KR20120070663A (ko) X.509 기반 그룹 인증서 프로파일을 이용한 익명 인증 방법
Connolly et al. Protego: A Credential Scheme for Permissioned Blockchains (Extended Version).
KR20120072014A (ko) 익명 인증 서비스 방법
KR20140074791A (ko) 대리 서명 시스템 및 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170529

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180529

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190527

Year of fee payment: 6