KR101040588B1 - 익명성을 제공하는 효율적인 신원기반 환서명 방법과 그 시스템 - Google Patents

익명성을 제공하는 효율적인 신원기반 환서명 방법과 그 시스템 Download PDF

Info

Publication number
KR101040588B1
KR101040588B1 KR1020100127205A KR20100127205A KR101040588B1 KR 101040588 B1 KR101040588 B1 KR 101040588B1 KR 1020100127205 A KR1020100127205 A KR 1020100127205A KR 20100127205 A KR20100127205 A KR 20100127205A KR 101040588 B1 KR101040588 B1 KR 101040588B1
Authority
KR
South Korea
Prior art keywords
value
signature
identity information
identity
user
Prior art date
Application number
KR1020100127205A
Other languages
English (en)
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 KR1020100127205A priority Critical patent/KR101040588B1/ko
Application granted granted Critical
Publication of KR101040588B1 publication Critical patent/KR101040588B1/ko
Priority to US13/314,665 priority patent/US8543811B2/en

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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0847Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving identity based encryption [IBE] schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/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
    • 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

Abstract

신원기반의 환서명 인증방법이 개시된다. 상기 방법은 개인키 발급기관이 공개변수들과 t번째 사용자의 단말기로부터 수신한 신원정보를 이용하여 비밀키를 생성하고 생성된 비밀키를 상기 사용자의 단말기로 전송한다. 상기 단말기가 임의의 랜덤한 값을 선택하여 (n-1)개의 값들을 구성하고, 상기 공개변수들, 상기 비밀키, 상기 사용자의 신원정보를 포함하는 환구성원들의 신원정보의 집합, 및 상기 (n-1)개의 값들을 이용하여 메시지에 대한 제1전자 서명값을 생성하고, 상기 제1전자 서명값, 상기 메시지 상기 환구성원들의 신원정보의 집합, 및 상기 비밀키를 이용하여 상기 사용자의 전자 서명값을 생성하고, 상기 (n-1)개의 값들와 상기 사용자의 전자 서명값을 포함하는 제2전자 서명값들을 생성하고, 상기 제1전자 서명값과 상기 제2전자 서명값들을 포함하는 환서명을 생성한다. 인증서버가 상기 단말기로부터 상기 신원정보의 집합, 상기 메시지, 및 상기 메시지에 대한 상기 환서명을 수신하고, 상기 공개변수들을 이용하여 수신된 상기 환서명의 유효성을 검증한다.

Description

익명성을 제공하는 효율적인 신원기반 환서명 방법과 그 시스템{An Efficient Identity-based Ring Signature Scheme with Anonymity and System thereof}
본 발명의 개념에 따른 실시 예는 신원기반 환서명 기술에 관한 것으로, 특히 검증과정에서 환구성원의 수에 관계없이 고정된 겹선형 함수 계산량을 가진 효율적인 신원기반 환서명 인증방법과 상기 방법을 수행할 수 있는 시스템에 관한 것이다.
환서명(ring signature)은 서명자가 자신을 포함하는 그룹 또는 환(ring)을 구성하고 상기 서명자 자신의 비밀키와 상기 그룹내의 다른 구성원들 각각의 공개키를 모두 이용하여 임의의 메시지에 서명하는 방식이다.
상기 서명을 검증하는 시스템은 주어진 서명이 상기 그룹의 구성원들 중에서 어느 한명에 의하여 생성된 것이라는 확신을 할 수 있으나 실제 서명자가 누구인지를 알아낼 수 없다. 따라서 환서명은 익명성을 제공한다.
2001년 Rivest, Shamir, 및 Tauman에 의하여 환서명의 개념이 최초로 제안된 후, 다양한 환서명 방법이 제안되었다.
공개키 암호시스템에서, 일반적으로 사용자는 두 개의 키, 예컨대 비밀키와 공개키를 가지고 있다. 상기 공개키와 상기 공개키 소유자의 신원을 연결하고 상기 공개키의 유효성을 확인시켜주는 것은 인증기관(certificate authority)이 서명한 전자서명 형태인 공개키 인증서이다. 기존의 전통적인 인증서기반(certificate-based) 시스템에서, 사용자들 각각은 자신의 키를 등록하고 상대방 공개키를 사용하기 전에 항상 상응하는 공개키 인증서를 검증해야 하는 계산적 복잡성과 키(key) 관리 문제가 있다.
2002년 Zhang, Kim의 겹선형 함수를 이용한 신원기반 환서명 스킴(scheme)이 발표된 이후 많은 신원기반 환서명 스킴이 제안되었다. 그러나, 제안된 스킴들은 검증할 때 환구성원의 인원수에 비례하여 겹선형 함수 계산량이 증가하는 특징을 가지므로 매우 비효율적이다. 타원 곡선상의 겹선형 함수 계산은 구현 기술과 컴퓨터의 발달에도 불구하고 가장 많은 시간과 비용을 필요로 한다.
본 발명이 이루고자 하는 기술적인 과제는 검증과정에서 환구성원의 수에 관계없이 고정된 겹선형 함수 계산량을 가지면서도 특수한 형태의 함수(MapToPoint)를 사용하지 않는 효율적인 신원기반 환서명 인증방법과 상기 방법을 수행할 수 있는 시스템을 제공하는 것이다.
본 발명의 실시예에 따른 신원기반의 환서명 인증방법은 개인키 발급기관이 공개변수들(q, G1, G2, e, P, PPub, g, H1, H2)과 t번째 사용자의 단말기로부터 수신한 신원정보(IDt)를 이용하여 비밀키(St)를 생성하고 생성된 비밀키(St)를 상기 사용자의 단말기로 전송하는 단계와, 상기 단말기가 임의의 랜덤한 값을 선택하여 (n-1)개의 값들(V1, V2, ..., Vt -1, Vt +1, ..., Vn)을 구성하고, 상기 공개변수들(q, G1, G2, e, P, PPub, g, H1, H2), 상기 비밀키(St), 상기 사용자의 신원정보(IDt)를 포함하는 환구성원들의 신원정보의 집합(L={ID1, ..., IDn}), 및 상기 (n-1)개의 값들 (V1, V2, ..., Vt -1, Vt +1, ..., Vn)을 이용하여 메시지(m)에 대한 제1전자 서명값(U)을 생성하는 단계와, 상기 제1전자 서명값(U), 상기 메시지(m), 상기 환구성원들의 신원정보의 집합(L), 및 상기 비밀키(St)를 이용하여 상기 사용자의 전자 서명값 (Vt)을 생성하는 단계와, 상기 제1전자 서명값(U)을 생성하는데 사용된 상기 (n-1)개의 값들(V1, V2, ..., Vt -1, Vt +1, ..., Vn)과 상기 사용자의 전자 서명값(Vt)을 포함하는 제2전자 서명값들을 생성하는 단계와, 상기 제1전자 서명값(U)과 상기 제2전자 서명값들을 포함하는 환서명(τ)을 생성하는 단계와, 인증서버가 상기 단말기로부터 상기 신원정보의 집합(L), 상기 메시지(m), 및 상기 메시지(m)에 대한 상기 환서명(τ)을 수신하고, 상기 공개변수들(q, G1, G2, e, P, PPub, g, H1, H2)을 이용하여 수신된 상기 환서명(τ)의 유효성을 검증하는 단계를 포함한다.
상기 공개변수들은 소수(q)를 위수(order)로 하는 타원 곡선군(G1)과 유한체의 곱 부분군(G2), 겹선형 함수(e), G1의 생성원(P), 상기 P와 상기 개인키 발급기관의 마스터 비밀키(s)의 스칼라 곱인 공개키(PPub=s·P), 상기 P를 입력값으로 하는 상기 겹선형 함수(e)의 결과값(g=e(P, P)), 제1해쉬 함수(H1), 및 제2해쉬 함수 (H2)를 포함한다.
상기 비밀키(St)는 상기 신원정보(IDt)를 입력 값으로 하는 상기 제1해쉬 함수(H1)의 출력값(qt=H1(IDt)), 상기 마스터 비밀키(s), 및 상기 G1의 생성원(P)을 이용하여 생성된다.
상기 비밀키(St)는 수식
Figure 112010082067154-pat00001
에 따라 생성된다.
상기 제1해쉬 함수(H1)는 임의의 비트열을 입력값으로 하여 정수집합을 상기 소수(q)로 나눈 나머지들을 포함하는 집합(Zq) 상의 한점으로 대응시키는 함수이고, 상기 마스터 비밀키(s)는 상기 개인키 발급기관에 의해 선택되는 난수이다.
상기 제1전자 서명값(U)을 생성하는 단계는 상기 단말기가 상기 소수(q)를 위수로 하는 상기 타원 곡선군(G1)에서 랜덤하게 (n-1)개 점들(Vi∈G1, 단 i=1, 2, 3, ..., t-1, t+1, ..., n)을 선택하는 단계와, 상기 단말기가 상기 신원정보의 집합(L)에 포함된 n명의 신원정보 (IDi)에 대한 제1해쉬 함수(H1)의 결과 값(qi=H1(IDi))을 계산하는 단계와, 상기 단말기가 난수(r)를 선택하는 단계와, 상기 g의 상기 난수(r)의 멱승을 한 값(gr), 상기 (n-1)개의 점들의 합(
Figure 112010082067154-pat00002
)과 상기 PPub를 입력값으로 하는 겹선형 함수의 제1결과값(
Figure 112010082067154-pat00003
), 상기 qi와 상기 Vi의 스칼라 곱의 합(
Figure 112010082067154-pat00004
)과 상기 P를 입력값으로 하는 겹선형 함수의 제2결과값(
Figure 112010082067154-pat00005
)을 계산하고, 상기 g의 상기 난수(r)의 멱승을 한 값(gr), 상기 제1결과값, 및 상기 제2결과값을 이용하여 상기 단말기가 수식
Figure 112010082067154-pat00006
을 만족하는 상기 제1전자 서명값 (U)을 생성하는 단계를 포함한다.
상기 사용자의 전자 서명값(Vt)은 상기 메시지(m), 상기 제1전자 서명값(U), 환서명을 생성하는 상기 사용자의 신원정보(IDt)를 포함하는 n명의 환구성원들의 상기 신원정보의 집합(L)을 입력값으로 하는 제2해쉬함수(H2)의 결과값(H2(m, U, L)과 상기 난수(r)를 더한 값(r+H2(m, U, L))과 상기 신원정보의 집합(L)내에서 상기 신원정보(IDt)를 가진 상기 사용자의 비밀키(St)를 상기 G1에서 스칼라 곱한 수식 Vt=[r+H2(m, U, L)]St에 따라 생성되며, 상기 난수(r)와 상기 제2해쉬 함수(H2)의 결과값(H2(m, U, L))의 덧셈은 Zq에서의 덧셈을 의미한다.
상기 환서명의 유효성을 검증하는 단계는 상기 인증서버가 상기 공개변수들, 상기 신원정보의 집합(L), 상기 메시지 (m), 및 상기 메시지(m)에 대한 상기 환서명(τ)을 수신하는 단계와, 상기 인증서버가 상기 신원정보의 집합(L)에 포함된 다수의 사용자들의 신원 정보(IDi)를 입력값으로 하는 제1해쉬 함수값(qi=H1(IDi))을 계산하는 단계와, 상기 인증서버가 상기 메시지(m), 상기 제1전자 서명값(U), 및 상기 신원정보의 집합(L)을 입력으로 하는 제2해쉬 함수(H2)의 결과값(h=H2(m, U, L))을 계산하는 단계와, 수신된 제2전자 서명값들(V1, ..., Vt, ..., Vn)의 합 (
Figure 112010082067154-pat00007
)과 상기 Ppub를 입력값으로 하는 제1겹선형 함수값(
Figure 112010082067154-pat00008
)을 계산하고, 상기 qi와 상기 Vi의 스칼라 곱(qiVi)의 합(
Figure 112010082067154-pat00009
)과 상기 P를 입력값으로 하는 제2겹선형 함수값(
Figure 112010082067154-pat00010
)을 계산한 후, 상기 제1겹선형 함수값과 상기 제2겹선형 함수의 곱인 제1출력값(
Figure 112010082067154-pat00011
)을 계산하는 단계와, 상기 제1전자 서명값(U)과, 상기 g에 상기 h로 멱승한 값(gh)의 곱인 제2출력값(U·gh)을 계산하는 단계와, 상기 제1출력값과 상기 제2출력값이 서로 동일하면 상기 환서명(τ)이 유효한 것으로 판단하고 서로 다르면 유효하지 않은 것으로 판단하는 단계를 포함한다.
여기서,
Figure 112010082067154-pat00012
Figure 112010082067154-pat00013
는 상기 타원 곡선군(G1)에서의 합연산이고,
Figure 112010082067154-pat00014
는 상기 유한체의 곱 부분군(G2)에서의 곱연산이고, U·gh는 상기 유한체의 곱 부분군(G2)에서의 곱연산이다.
본 발명의 실시 예에 따른 신원기반의 환서명 인증방법을 수행할 수 있는 시스템은 개인키 발급기관, 사용자 단말기, 및 인증서버를 포함한다.
본 발명의 실시 예에 따른 신원기반 환서명 인증방법은 환구성원의 수에 관계없이 고정된 겹선형 함수 계산량으로 환서명을 검증할 수 있는 효과가 있다.
본 발명의 실시 예에 따른 신원기반 환서명 인증방법은 특수한 형태의 함수 (MapToPoint)가 아닌 일반적인 해쉬 함수를 적용해 환서명을 생성하고 생성된 환서명을 검증할 수 있으므로 광범위한 범위에 적용가능하다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.
도 1은 본 발명의 실시 예에 따른 신원기반 환서명 인증 시스템의 블럭도이다.
도 2는 도 1에 도시된 신원기반 환서명 인증 시스템의 인증 방법을 설명하기 위한 데이터 흐름도이다.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 또는 기능적 설명들은 단지 본 발명의 개념에 따른 실시 예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시 예들은 다양한 형태로 실시될 수 있으며 본 명세서에 설명된 실시 예들에 한정되는 것으로 해석되어서는 아니 된다.
본 발명의 개념에 따른 실시 예들은 다양한 변경을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 특정 실시 예들을 도면에 예시하고 본 명세서에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예를 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1 및/또는 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미가 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다.
본 명세서에서 나타내는 수학적 기호나 표기방법의 예로, 소수(prime)는 약수가 1과 자기 자신인 수를 의미하고, Zq는 정수들의 집합을 소수 q로 나눈 나머지들의 집합을 나타내며, Zq = {0, 1, 2,..., q-1}와 같이 표기한다.
Zq *은 집합 Zq 중 원소 '0'이 제외된 집합으로서, Zq * = {1, 2,..., q-1}로 표기한다.
f:X → Y는 함수 표시로서 정의역이 집합 X, 공변역이 집합 Y이며, f(x) = y의 의미는 집합 X의 원소 x가 함수 f에 의해 집합 Y의 한 원소 y에 대응된다는 것을 의미한다.
도 1은 본 발명의 실시 예에 따른 신원기반 환서명 인증 시스템의 블럭도이고, 도 2는 도 1에 도시된 신원기반 환서명 인증 시스템의 인증방법을 설명하기 위한 데이터 흐름도이다.
도 1 및 도 2를 참조하면, 신원기반의 환서명 인증시스템(10)은 개인키 발급기관(Private Key Generator; PKG:20), t번째 사용자 단말기(30), 및 인증서버(40)를 포함한다.
개인키 발급기관(20)은 공개변수 생성모듈(23), 송수신 모듈(25), 및 비밀키 생성모듈(27)을 포함한다.
개인키 발급기관(20)의 각각의 구성요소(23, 25, 및 27)는 기능적으로 그리고 논리적으로 분리될 수 있음을 나타나기 위해 별도로 도면에 표시한 것이며, 물리적으로 반드시 별도의 구성요소이거나 별도의 코드로 구현되는 것을 의미하는 것은 아니다.
본 명세서에서의 모듈(module)이라 함은 본 명세서에서 설명되는 각각의 명칭에 따른 기능과 동작을 수행할 수 있는 하드웨어를 의미할 수도 있고, 또는 특정한 기능과 동작을 수행할 수 있는 컴퓨터 프로그램 코드를 의미할 수도 있고, 또는 특정한 기능과 동작을 수행시킬 수 있는 컴퓨터 프로그램 코드가 탑재된 전자적 기록 매체, 예컨대 프로세서를 의미할 수 있다.
다시 말해, 모듈이란 본 발명의 기술적 사상을 수행하기 위한 하드웨어 및/또는 상기 하드웨어를 구동하기 위한 소프트웨어의 기능적 및/또는 구조적 결합을 의미할 수 있다.
공개변수 생성모듈(23)은 시스템 설정단계에서 다수의 공개변수들(Params)을 생성한다.
다수의 공개 변수들(Params)은 사용자 단말기(30)의 사용자 및 이후 설명할 인증서버(40)가 이용할 수 있도록 공개하는 변수값들을 의미하며, 다음과 같은 각각의 공개변수를 포함한다.
Params = <q, G1, G2, e, P, Ppub, g, H1, H2>
q는 소수(prime)를 나타내고, G1과 G2는 위수(order)가 q인 군(group)을 나타낸다.
이때 G1은 타원 곡선군을 의미하며, G2는 유한체의 곱 부분군 (Multiplicative Subgroup)을 의미한다.
e는 e: G1×G1 → G2로 겹선형성(bilinearity)과 정상성(non-degeneracy)을 만족하는 겹선형 함수 또는 페어링 함수를 나타낸다.
겹선형 함수 e 가 만족하는 상기 겹선형성과 상기 정상성은 다음과 같다.
겹선형성(Bilinearity): Q, R ∈ G1인 모든 Q, R과 a, b ∈ Z인 모든 a, b에 대해서, e(aQ, bR)= e(Q, R)ab 를 만족한다.
정상성(Non-degenaracy): e(Q, Q) ≠ 1 를 만족하는 Q ∈ G1 가 존재한다.
P는 G1의 생성원이고, Ppub는 P와 개인키 발급기관(20)의 마스터 비밀키(s)의 스칼라 곱, 즉 수식 Ppub = sㆍP를 만족하는 공개키이다. 즉, 공개변수 생성모듈 (23)은 임의의 난수 s∈ Zq *를 선택해 Ppub = sㆍP를 계산하고, P를 입력값으로 하는 겹선형 함수(e)의 결과값(g), 즉 g=e(P, P)를 계산한다.
이때 마스터 비밀키(s)는 개인키 발급기관(20)만이 알고 있는 비밀정보로서, 개인키 발급기관(20)에 의해 선택되는 난수(random number)이며, 마스터 비밀키(s)는 시스템(10)내 복수의 사용자들 각각의 비밀키(예컨대, t번째 사용자의 비밀키 (St)) 생성에 이용된다.
Ppub는 공개변수로서 시스템 내의 사용자들에게 공개되지만, 수식 Ppub = sㆍP 를 만족하는 마스터 비밀키(s)를 찾아내기란 매우 어려운 일이다. 상기 수학적 문제를 타원 곡선상의 이산 로그 문제(Elliptic Curve Discrete logarithm problem(ECDLP))라 하며, 마스터 비밀키(s)는 이를 생성한 개인키 발급기관(20)만이 알 수 있으며 공개변수인 공개키(Ppub)만이 사용자에게 공개된다.
제1해쉬 함수(H1)는 임의의 비트열(bit string), 예컨대 사용자의 신원 정보를 입력값으로 하여 정수집합을 소수(q)로 나눈 나머지들로 이루어진 결과값을 Zq내의 한 점에 대응시키는 함수로서 ANSI의 FIPS 180-3에 정의된 해쉬함수인 SHA(Secure Hash Algorithm)-1, SHA-224, SHA-256, SHA-384, 또는 SHA -512 중에서 어느 하나일 수 있다.
제2해쉬 함수(H2)는 임의의 비트열을 Zq 내의 한 원소 값으로 출력하는 기능을 하는 함수이다.
실시 예에 따라 제2해쉬 함수(H2)는 제1해쉬 함수(H1)와 같이 ANSI의 FIPS 180-3에 정의된 함수를 선택하면 된다.
제1해쉬 함수(H1)와 제2해쉬 함수(H2)는 수학적으로 다음과 같이 표기될 수 있다.
H1 : {0,1}* → Zq , H2 :{0,1}* → Zq
송수신모듈(25)은 유선통신 표준뿐만 아니라 Wi-Fi, 블루투스 또는 관련된 무선통신 표준을 사용하여 복수의 사용자 단말기들(예컨대, 사용자 단말기(30))과 무선통신할 수 있도록 제어하는 기능을 수행하는 하드웨어 또는 소프트웨어를 의미한다.
개인키 발급기관(20)의 송수신모듈(25)은 t번째 사용자 단말기(30)로부터 신원정보(IDt)를 수신한다(S10).
신원정보(IDt)는 t번째 사용자 단말기(30)를 사용하는 t번째 사용자의 전자 메일 주소, 이동통신 단말기의 전화번호, IP 주소 등 상기 사용자를 식별할 수 있는 어떠한 정보도 포함할 수 있다.
신원정보(IDt)는 임의의 비트열로 변환하여 사용한다.
비밀키 생성모듈(27)은 사용자 단말기(30)로부터 수신한 신원정보(IDt)에 기초하여 다수의 공개변수들(Params)을 이용하여 비밀키(St)를 생성한다(S30).
비밀키 생성모듈(27)이 비밀키(St)를 생성하는 과정은 다음과 같다.
비밀키 생성모듈(27)은 신원정보(IDt, 예컨대, t번째 사용자의 신원을 나타내는 임의의 스트링(string)인 IDt ∈ {0,1}*)를 입력값으로 하는 제1해쉬 함수(H1)를 이용하여 제1해쉬 함수의 결과값(qt)을 계산한다(S20).
제1해쉬 함수의 결과값 : qt = H1(IDt) ∈ Zq
비밀키 생성모듈(27)은 개인키 발급기관(20)의 마스터 비밀키(s)와 제1해쉬 함수(H1)의 결과값(qt)을 이용하여, 예컨대 수학식 1과 같이 마스터 비밀키(s)와 제1해쉬 함수(H1)의 결과값(qt)의 합의 역수에, P의 스칼라 곱으로 비밀키(St)를 생성한다(S30).
[수학식 1]
Figure 112010082067154-pat00015
수학식 1에 표시된 바와 같이, 비밀키(St)는 신원기반 환서명에 참여하는 사용자의 비밀키로서 개인키 발급기관(20)에 의하여 발급되고 n명의 사용자들을 포함하는 신원정보의 집합 L={ID1, ..., IDt, ..., IDn)에서 t번째 사용자, 즉 t번째 신원정보(IDt)로 갖는 사용자의 비밀키이다.
개인키 발급기관(20)의 송수신모듈(23)은 생성된 비밀키(St)를 신원정보 (IDt)를 전송한 t번째 사용자 단말기(30)로 안전한 채널을 통하여 전송한다(S40).
실시 예에 따라 상기 안전한 채널은 SSL(Secure Socket Layer)/TLS (Transport Layer Security)를 통하여 구현될 수 있다.
상기 SSL/TLS은 인터넷 프로토콜이 보안면에서 기밀성을 유지하지 못한다는 문제점을 극복하기 위해 개발된 개인정보보호 프로토콜의 하나로서, 인터넷 상거래 시 요구되는 개인정보와 신용카드 정보보안 유지에 널리 사용되는 프로토콜이다.
또한 개인키 발급기관(20)의 송수신모듈(25)은 인증서버(40)로 다수의 공개변수들(Params)을 전송한다.
사용자 단말기(30)는 송수신모듈(33) 및 서명생성모듈(35)을 포함한다.
사용자 단말기(30)는 유선통신 네트워크 또는 무선통신 네트워크를 통하여 개인키 발급기관(20)과 데이터를 주고받을 수 있는 모든 통신 단말기를 의미한다.
실시 예에 따라 사용자 단말기(30)는 PC(personal computer), 포터블 컴퓨터, 태블릿(tablet) PC, 이동 전화기, 스마트 폰(smart phone), 또는 PDA(personal digital assistant) 등의 통신 단말기를 의미할 수 있다.
사용자 단말기(30)의 송수신모듈(33)은 개인키 발급기관(20)으로부터 비밀키 (St)를 수신하고 서명생성모듈(35)은 서명하려는 메시지(m)에 대한 제1전자 서명값 (U) 및 다수의 제2전자 서명값들(V1, ..., Vn)를 포함하는 환서명(τ=(U, V1, ..., Vn))을 생성한다(S100).
예컨대, 서명생성모듈(35)은 서명하고자 하는 메시지(m), 신원정보의 집합 (L)에 포함된 신원정보(IDt)를 갖는 사용자 자신의 비밀키(St), 다수의 공개변수들 (Params) 내의 생성원(P), 공개키(Ppub), 제2해쉬 함수(H2)를 이용하여 메시지(m)에 대한 신원기반의 환서명(τ)을 생성한다(S100).
환서명(τ)을 생성하는 과정은 다음과 같다.
L={ID1,..., IDn}은 환서명을 구성하는 환구성원, 즉 다수의 사용자의 신원정보의 집합을 나타낸다. 실제 서명자의 신원정보는 다수의 사용자의 신원정보의 집합(L) 내에 속해 있으며, 특히 사용자의 신원정보의 집합(L) 중에서 t번째 신원 정보(IDt)의 스트링을 신원정보를 지닌 사용자라고 할 때, 환서명(τ)은 다음의 과정을 통하여 생성된다. 여기서 t번째 신원정보(IDt)는 환서명(τ)을 생성한, 즉 서명자의 식별 정보로서 L안에 포함되어 있다.
서명 생성모듈(35)은 임의의 랜덤한 값을 선택하여 (n-1)개의 값들(V1, V2, ..., Vt -1, Vt +1, ..., Vn)을 구성하고, 다수의 공개변수들(q, G1, G2, e, P, PPub, g, H1, H2), 비밀키(St), 환구성원들의 신원정보의 집합(L), 및 (n-1)개의 값들(V1, V2, ..., Vt -1, Vt +1, ..., Vn)을 이용하여 메시지(m)에 대한 제1전자 서명값(U)을 수학식 2에 따라 생성한다(S80).
제1전자 서명값(U)을 생성하는 서명 생성모듈(35)은 소수(q)를 위수로 하는 타원 곡선군(G1)에서 랜덤하게 (n-1)개 점들(Vi∈G1, 단 i=1, 2, 3, ..., t-1, t+1, ..., n)을 선택하고, 신원정보의 집합(L)에 포함된 n명의 신원정보(IDi)를 입력값으로 제1해쉬 함수값(qi=H1(IDi))을 계산하고, 난수(r)를 선택하여, 상기 g의 상기 난수(r)의 멱승을 한 값(gr), 상기 (n-1)개의 점들의 합 (
Figure 112010082067154-pat00016
)과 상기 PPub를 입력값으로 하는 겹선형 함수의 제1결과값(
Figure 112010082067154-pat00017
), 상기 qi와 상기 Vi의 스칼라 곱의 합(
Figure 112010082067154-pat00018
)과 상기 P를 입력값으로 하는 겹선형 함수의 제2결과값(
Figure 112010082067154-pat00019
)을 계산하고, 상기 g의 상기 난수(r)의 멱승을 한 값(gr), 상기 제1결과값, 및 상기 제2결과값을 이용하여 수학식 2, 즉
Figure 112010082067154-pat00020
을 만족하는 제1전자 서명값(U)을 생성한다.
[수학식 2]
Figure 112010082067154-pat00021
서명 생성모듈(35)은 제1전자 서명값(U), 메시지(m), 환구성원들의 신원정보의 집합(L), 및 비밀키(St)를 이용하여 사용자의 전자 서명값(Vt)을 생성한다 (S90).
사용자의 전자 서명값(Vt)은 메시지(m), 제1전자 서명값(U), 환서명을 생성하는 상기 사용자의 신원정보(IDt)를 포함하는 n명의 환구성원들의 신원정보의 집합 (L)을 입력값으로 하는 제2해쉬함수(H2)의 결과값(H2(m, U, L))과 난수(r)를 더한 값(r+H2(m, U, L))과 신원정보의 집합(L)에 포함된 신원정보(IDt)를 갖는 상기 사용자의 비밀키(St)를 상기 G1에서 스칼라 곱, 즉 Vt=[r+H2(m, U, L)]St에 따라 생성되며, 난수(r)와 제2해쉬 함수(H2)의 결과값(H2(m, U, L))의 덧셈은 Zq에서의 덧셈을 의미한다. 즉, 서명 생성모듈(35)은 비밀키 발급기관(20)으로부터 수신한 비밀키(St)를 이용하여 Vt=[r+H2(m, U, L)]St를 만족하는 전자 서명값(Vt)을 생성한다(S90).
Vi(V1, ..., Vt -1, Vt +1, ..., Vn)는 제1전자 서명값(U)을 생성할 때 G1에서 선택된 (n-1)개의 랜덤한 값이다.
또한, 서명 생성모듈(35)은 제1전자 서명값(U)을 생성하는데 사용된 (n-1)개의 값들(V1, V2, ..., Vt -1, Vt +1, ..., Vn)과 사용자의 전자 서명값(Vt)을 이용하여 다수의 제2전자 서명값들(V1, V2, ..., Vt -1, Vt, Vt +1, ..., Vn)을 생성한다(S60).
서명 생성모듈(35)은 제1전자 서명값(U)과 다수의 제2전자 서명값들(V1, V2, ..., Vt -1, Vt, Vt +1, ..., Vn)을 포함하는 환서명(τ)을 생성한다(S100).
사용자 단말기(30)의 송수신 모듈(33)은 메시지(m)에 대한 환서명(τ)의 유효성 검증을 위해 메시지(m), 신원정보의 집합(L), 및 메시지(m)에 대한 환서명(τ)을 인증서버(30)로 전송한다(S110).
도 1에서는 설명의 편의를 위하여 하나의 사용자 단말기(30)만을 도시하였으나 사용자 단말기(30)는 다수개일 수 있다.
인증 서버(40)는 송수신 모듈(43)과 검증 모듈(45)을 포함한다.
인증서버(40) 각각의 구성요소 역시 기능적 및/또는 논리적으로 분리될 수 있음을 나타나기 위해 별도로 도면에 표시한 것이며, 물리적으로 반드시 별도의 구성요소이거나 별도의 코드로 구현되는 것을 의미하는 것은 아니다.
송수신 모듈(43)은 사용자 단말기(30)로부터 메시지(m), 신원정보의 집합 (L), 및 환서명(τ)을 수신한다.
인증서버(40)의 검증모듈(45)은 연산모듈(46)과 비교모듈(48)을 포함한다.
검증모듈(45)은 메시지(m), 신원정보의 집합(L), 및 환서명(τ=(U, V1, ..., Vn)에 기초하여 환서명(τ)의 유효성을 검증한다.
검증모듈(45)의 환서명(τ)에 대한 유효성 검증과정은 다음과 같다.
검증모듈(45)의 연산모듈(46)은 다수의 공개변수들(q, G1, G2, e, P, PPub, g, H1, H2), 신원정보의 집합(L), 메시지(m), 및 메시지(m)에 대한 환서명(τ)을 수신하고, 신원정보의 집합(L)에 포함된 다수의 사용자들의 신원정보(IDi)에 대한 제1해쉬 함수(H1)의 결과값(qi=H1(IDi))을 계산하고, 메시지(m), 제1전자 서명값(U), 및 신원정보의 집합(L)을 입력으로 하는 제2해쉬 함수(H2)의 결과값(h=H2(m, U, L))을 계산하고, 수신된 제2전자 서명값들(V1, ..., Vt, ..., Vn)의 합(
Figure 112010082067154-pat00022
)과 Ppub를 입력값으로 하는 제1겹선형 함수값(
Figure 112010082067154-pat00023
)을 계산하고, qi와 Vi의 스칼라 곱 (qiVi)의 합(
Figure 112010082067154-pat00024
)과 P를 입력값으로 하는 제2겹선형 함수값(
Figure 112010082067154-pat00025
)을 계산한 후, 상기 제1겹선형 함수값과 상기 제2겹선형 함수의 곱인 제1출력값(
Figure 112010082067154-pat00026
)을 계산하고(S130), 제1전자 서명값(U)과, 상기 g에 상기 h로 멱승한 값(gh)의 곱인 제2출력값(U·gh)을 계산한다(S140).
여기서,
Figure 112010082067154-pat00027
Figure 112010082067154-pat00028
는 상기 타원 곡선군(G1)에서의 합연산이고, (
Figure 112010082067154-pat00029
)는 상기 유한체의 곱 부분군(G2)에서의 곱연산이고, U·gh는 상기 유한체의 곱 부분군(G2)에서의 곱연산이다.
비교모듈(48)은 상기 제1출력값과 상기 제2출력값의 비교결과에 따라 환서명(τ)의 유효성을 검증한다. 예컨대, 상기 제1출력값과 상기 제2출력값이 서로 일치할 때 비교모듈(48)은 환서명(τ)이 유효한 것으로 판단한다.
비교모듈(48)은 상술한 바와 같이 수학식 3을 만족하는지의 여부를 판단하고 판단결과에 환서명(τ)의 유효성을 판단한다(S200).
[수학식 3]
Figure 112010082067154-pat00030
수학식 3을 보다 구체적으로 정리하면 수학식 4와 같다.
Figure 112010082067154-pat00031
본 발명의 실시 예에 따르는 환서명 인증방법은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다.
컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 USB 저장장치, ROM, RAM, CD-ROM, 자기 테이프, 하드 디스크, 플로피 디스크, 광 데이터 저장장치 등을 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
본 발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
10: 신원기반의 환서명 인증 시스템
20: 개인키 발급기관(Private Key Generator, PKG)
23: 공개변수 생성모듈
25: 송수신모듈
27: 비밀키 생성모듈
30: 사용자 단말기
33: 송수신모듈
35: 서명생성모듈
40: 인증서버
45: 검증모듈
46: 연산모듈
48: 비교모듈

Claims (13)

  1. 개인키 발급기관이 공개변수들(q, G1, G2, e, P, PPub, g, H1, H2)과 t번째 사용자의 단말기로부터 수신한 신원정보(IDt)를 이용하여 비밀키(St)를 생성하고 생성된 비밀키(St)를 상기 사용자의 상기 단말기로 전송하는 단계;
    상기 단말기가 임의의 랜덤한 값을 선택하여 (n-1)개의 값들(V1, V2, ..., Vt-1, Vt+1, ..., Vn)을 구성하고, 상기 공개변수들(q, G1, G2, e, P, PPub, g, H1, H2), 상기 비밀키(St), 상기 사용자의 상기 신원정보(IDt)를 포함하는 환구성원들의 신원정보의 집합(L={ID1, ..., IDn}), 및 상기 (n-1)개의 값들(V1, V2, ..., Vt-1, Vt+1, ..., Vn)을 이용하여 메시지(m)에 대한 제1전자 서명값(U)을 생성하는 단계;
    상기 제1전자 서명값(U), 상기 메시지(m), 상기 환구성원들의 상기 신원정보의 집합(L), 및 상기 비밀키(St)를 이용하여 상기 사용자의 전자 서명값(Vt)을 생성하는 단계;
    상기 제1전자 서명값(U)을 생성하는데 사용된 상기 (n-1)개의 값들(V1, V2, ..., Vt-1, Vt+1, ..., Vn)과 상기 사용자의 상기 전자 서명값(Vt)을 포함하는 다수의 제2전자 서명값들을 생성하는 단계;
    상기 제1전자 서명값(U)과 상기 다수의 제2전자 서명값들을 포함하는 환서명 (τ)을 생성하는 단계; 및
    인증서버가 상기 단말기로부터 상기 신원정보의 집합(L), 상기 메시지(m), 및 상기 메시지(m)에 대한 상기 환서명(τ)을 수신하고, 상기 공개변수들 (q, G1, G2, e, P, PPub, g, H1, H2)을 이용하여 수신된 상기 환서명(τ)의 유효성을 검증하는 단계를 포함하며,
    상기 공개변수들은 소수(q)를 위수(order)로 하는 타원 곡선군(G1)과 유한체의 곱 부분군(G2), 겹선형 함수(e), G1의 생성원(P), 상기 P와 상기 개인키 발급기관의 마스터 비밀키(s)의 스칼라 곱인 공개키(PPub=s·P), 상기 P를 입력값으로 하는 상기 겹선형 함수(e)의 결과값(g=e(P, P)), 제1해쉬 함수(H1), 및 제2해쉬 함수 (H2)를 포함하는 신원기반의 환서명 인증방법.
  2. 제1항에 있어서,
    상기 비밀키(St)는 상기 신원정보(IDt)를 입력 값으로 하는 상기 제1해쉬 함수(H1)의 출력값(qt=H1(IDt)), 상기 마스터 비밀키(s), 및 상기 G1의 생성원(P)을 이용하여 생성된 신원기반의 환서명 인증방법.
  3. 제2항에 있어서, 상기 비밀키(St)는,
    수식
    Figure 112010082067154-pat00032
    에 따라 생성되는 신원기반의 환서명 인증방법.
  4. 제2항에 있어서,
    상기 제1해쉬 함수(H1)는 임의의 비트열을 입력값으로 하여 정수집합을 상기 소수(q)로 나눈 나머지들을 포함하는 집합(Zq) 상의 한점으로 대응시키는 함수이고,
    상기 마스터 비밀키(s)는 상기 개인키 발급기관에 의해 선택되는 난수인 신원기반의 환서명 인증방법.
  5. 제1항에 있어서, 상기 제1전자 서명값(U)을 생성하는 단계는,
    상기 단말기가 상기 소수(q)를 위수로 하는 상기 타원 곡선군(G1)에서 랜덤하게 (n-1)개 점들(Vi∈G1, 단 i=1, 2, 3, ..., t-1, t+1, ..., n)을 선택하는 단계;
    상기 단말기가 상기 신원정보의 집합(L)에 포함된 n명의 신원정보 (IDi)에 대한 제1해쉬 함수(H1)의 결과 값(qi=H1(IDi))을 계산하는 단계;
    상기 단말기가 난수(r)를 선택하는 단계; 및
    상기 g의 상기 난수(r)의 멱승을 한 값(gr), 상기 (n-1)개의 점들의 합(
    Figure 112010082067154-pat00033
    )과 상기 PPub를 입력값으로 하는 겹선형 함수의 제1결과값 (
    Figure 112010082067154-pat00034
    ), 상기 qi와 상기 Vi의 스칼라 곱의 합(
    Figure 112010082067154-pat00035
    )과 상기 P를 입력값으로 하는 겹선형 함수의 제2결과값(
    Figure 112010082067154-pat00036
    )을 계산하고, 상기 g의 상기 난수(r)의 멱승을 한 값(gr), 상기 제1결과값, 및 상기 제2결과값을 이용하여 상기 단말기가 수식
    Figure 112010082067154-pat00037

    을 만족하는 상기 제1전자 서명값(U)을 생성하는 단계를 포함하는 신원기반의 환서명 인증방법.
  6. 제5항에 있어서,
    상기 사용자의 상기 전자 서명값(Vt)은 상기 메시지(m), 상기 제1전자 서명값(U), 환서명을 생성하는 상기 사용자의 상기 신원정보(IDt)를 포함하는 n명의 환구성원들의 상기 신원정보의 집합(L)을 입력값으로 하는 제2해쉬함수(H2)의 결과값(H2(m, U, L))과 상기 난수(r)를 더한 값(r+H2(m, U, L))과 상기 신원정보의 집합(L)내에서 상기 신원정보(IDt)를 가진 상기 사용자의 비밀키(St)를 상기 G1에서 스칼라 곱한 수식 Vt=[r+H2(m, U, L)]St에 따라 생성되며,
    상기 난수(r)와 상기 제2해쉬 함수(H2)의 결과값(H2(m, U, L))의 덧셈은 Zq에서의 덧셈을 의미하는 신원기반의 환서명 인증방법.
  7. 제6항에 있어서, 상기 환서명의 유효성을 검증하는 단계는,
    상기 인증서버가 상기 공개변수들, 상기 신원정보의 집합(L), 상기 메시지 (m), 및 상기 메시지(m)에 대한 상기 환서명(τ)을 수신하는 단계;
    상기 인증서버가 상기 신원정보의 집합(L)에 포함된 다수의 사용자들의 신원 정보(IDi)를 입력값으로 하는 제1해쉬 함수값(qi=H1(IDi))을 계산하는 단계;
    상기 인증서버가 상기 메시지(m), 상기 제1전자 서명값(U), 및 상기 신원정보의 집합(L)을 입력으로 하는 제2해쉬 함수(H2)의 결과값(h=H2(m, U, L))을 계산하는 단계;
    수신된 제2전자 서명값들(V1, ..., Vt, ..., Vn)의 합(
    Figure 112010082067154-pat00038
    )과 상기 Ppub를 입력값으로 하는 제1겹선형 함수값(
    Figure 112010082067154-pat00039
    )을 계산하고, 상기 qi와 상기 Vi의 스칼라 곱(qiVi)의 합(
    Figure 112010082067154-pat00040
    )과 상기 P를 입력값으로 하는 제2겹선형 함수값 (
    Figure 112010082067154-pat00041
    )을 계산한 후, 상기 제1겹선형 함수값과 상기 제2겹선형 함수의 곱인 제1출력값(
    Figure 112010082067154-pat00042
    )을 계산하는 단계;
    상기 제1전자 서명값(U)과, 상기 g에 상기 h로 멱승한 값(gh)의 곱인 제2출력값(U·gh)을 계산하는 단계; 및
    상기 제1출력값과 상기 제2출력값의 비교결과에 따라 상기 환서명(τ)의 유효성을 검증하는 단계를 포함하며,
    여기서,
    Figure 112010082067154-pat00043
    Figure 112010082067154-pat00044
    는 상기 타원 곡선군(G1)에서의 합연산이고,
    (
    Figure 112010082067154-pat00045
    )는 상기 유한체의 곱 부분군(G2)에서의 곱연산이고,
    U·gh는 상기 유한체의 곱 부분군(G2)에서의 곱연산인 신원기반의 환서명 인증 방법.
  8. 제1항 내지 제7항 중에서 어느 하나의 항에 기재된 신원기반의 환서명 인증 방법을 수행하기 위한 컴퓨터 프로그램이 기록된 기록매체.
  9. t번째 사용자의 단말기;
    공개변수들(q, G1, G2, e, P, PPub, g, H1, H2)과 상기 단말기로부터 수신한 신원정보(IDt)를 이용하여 비밀키(St)를 생성하기 위한 개인키 발급기관; 및
    인증서버를 포함하며,
    상기 단말기는 임의의 랜덤한 값을 선택하여 (n-1)개의 값들(V1, V2, ..., Vt-1, Vt+1, ..., Vn)을 구성하고, 상기 공개변수들(q, G1, G2, e, P, PPub, g, H1, H2), 상기 비밀키(St), 상기 사용자의 상기 신원정보(IDt)를 포함하는 환구성원들의 신원정보의 집합(L={ID1, ..., IDn}), 및 상기 (n-1)개의 값들(V1, V2, ..., Vt-1, Vt+1, ..., Vn)을 이용하여 메시지(m)에 대한 제1전자 서명값(U)을 생성하고, 상기 제1전자 서명값(U), 상기 메시지(m), 상기 환구성원들의 상기 신원정보의 집합(L), 및 상기 비밀키 (St)를 이용하여 상기 사용자의 전자 서명값(Vt)을 생성하고, 상기 제1전자 서명값 (U)을 생성하는데 사용된 상기 (n-1)개의 값들(V1, V2, ..., Vt-1, Vt+1, ..., Vn)과 상기 사용자의 전자 서명값(Vt)을 포함하는 제2전자 서명값들을 생성하고, 상기 제1전자 서명값(U)과 상기 제2전자 서명값들을 포함하는 환서명(τ)을 생성하고,
    상기 인증서버는 상기 단말기로부터 상기 신원정보의 집합(L), 상기 메시지(m), 및 상기 메시지(m)에 대한 상기 환서명(τ)을 수신하고, 상기 공개변수들을 이용하여 수신된 상기 환서명(τ)의 유효성을 검증하고,
    상기 공개변수들은 소수(q)를 위수(order)로 하는 타원 곡선군(G1)과 유한체의 곱 부분군(G2), 겹선형 함수(e), G1의 생성원(P), 상기 P와 상기 개인키 발급 기관의 마스터 비밀키(s)의 스칼라 곱인 공개키(PPub=s·P), 상기 P를 입력값으로 하는 상기 겹선형 함수(e)의 결과값(g=e(P, P)), 제1해쉬 함수(H1), 및 제2해쉬 함수(H2)를 포함하는 신원기반의 환서명 인증시스템.
  10. 제9항에 있어서, 상기 개인키 발급기관은,
    Figure 112010082067154-pat00046
    에 따라 상기 비밀키(St)를 생성하고,
    상기 qt는 상기 개인키 발급기관으로 비밀키 발급 요청한 상기 사용자의 상기 신원정보(IDt)를 입력으로 하는 제1해쉬 함수(H1)의 출력값(qt=H1(IDt))인 신원기반의 환서명 인증시스템.
  11. 제9항에 있어서, 상기 사용자의 상기 단말기는,
    상기 소수(q)를 위수로 하는 상기 타원 곡선군(G1)에서 랜덤하게 (n-1)개 점들(Vi∈G1, 단 i=1, 2, 3, ..., t-1, t+1, ..., n)을 선택하고, 상기 신원정보의 집합(L)에 포함된 n명의 신원정보(IDi)에 대한 제1해쉬 함수값(qi=H1(IDi))을 계산하고, 난수(r)를 선택하고, 상기 g의 상기 난수(r)의 멱승을 한 값(gr), 상기 (n-1)개의 점들의 합(
    Figure 112011033227890-pat00047
    )과 상기 PPub를 입력값으로 하는 겹선형 함수의 제1결과값 (
    Figure 112011033227890-pat00048
    ), 상기 qi와 상기 Vi의 스칼라 곱의 합(
    Figure 112011033227890-pat00049
    )과 상기 P를 입력값으로 하는 겹선형 함수의 제2결과값(
    Figure 112011033227890-pat00050
    )을 계산하고, 상기 g의 상기 난수(r)의 멱승을 한 값(gr), 상기 제1결과값, 및 상기 제2결과값을 이용하여 수식
    Figure 112011033227890-pat00051
    을 만족하는 상기 제1전자 서명값(U)을 생성하는 신원기반의 환서명 인증시스템.
  12. 제11항에 있어서, 상기 사용자의 상기 단말기는,
    상기 메시지(m), 상기 제1전자 서명값(U), 환서명을 생성하는 상기 사용자의 상기 신원정보(IDt)를 포함하는 n명의 환구성원들의 상기 신원정보의 집합(L)을 입력값으로 하는 제2해쉬함수(H2)의 결과값(H2(m, U, L)과 상기 난수(r)를 더한 값(r+H2(m, U, L))과 상기 신원정보의 집합(L)내에서 상기 신원정보(IDt)를 갖는 상기 사용자의 비밀키(St)를 상기 G1에서 스칼라 곱한 수식 Vt=[r+H2(m, U, L)]St에 따라 상기 사용자의 전자 서명값(Vt)을 생성하고,
    상기 난수(r)와 상기 제2해쉬 함수(H2)의 결과값(H2(m, U, L))의 덧셈은 정수 집합에서의 덧셈을 의미하는 신원기반의 환서명 인증시스템.
  13. 제12항에 있어서, 상기 인증서버는,
    상기 공개 변수들, 상기 신원정보의 집합(L), 상기 메시지(m), 및 상기 메시지(m)에 대한 상기 환서명(τ)을 수신하고, 상기 신원정보의 집합(L)에 포함된 다수의 사용자들의 신원 정보(IDi)에 대한 제1해쉬 함수값(qi=H1(IDi))을 계산하고, 상기 메시지(m), 상기 제1전자 서명값(U), 및 상기 신원정보의 집합(L)을 입력으로 하는 제2해쉬 함수(H2)의 결과값(h=H2(m, U, L))을 계산하고, 수신된 제2전자 서명값들(V1, ..., Vt, ..., Vn)의 합(
    Figure 112010082067154-pat00052
    )과 상기 Ppub를 입력값으로 하는 제1겹선형 함수값(
    Figure 112010082067154-pat00053
    )을 계산하고, 상기 qi와 상기 Vi의 스칼라 곱(qiVi)의 합(
    Figure 112010082067154-pat00054
    )과 상기 P를 입력값으로 하는 제2겹선형 함수값(
    Figure 112010082067154-pat00055
    )을 계산한 후, 상기 제1겹선형 함수값과 상기 제2겹선형 함수의 곱인 제1출력값(
    Figure 112010082067154-pat00056
    )을 계산하고, 상기 제1전자 서명값(U)과, 상기 g에 상기 h로 멱승한 값(gh)의 곱인 제2출력값(U·gh)을 계산하고, 상기 제1출력값과 상기 제2출력값의 비교결과에 따라 상기 환서명(τ)의 유효성을 검증하며,
    Figure 112010082067154-pat00057
    Figure 112010082067154-pat00058
    는 상기 타원 곡선군(G1)에서의 합연산이고,
    Figure 112010082067154-pat00059
    는 상기 유한체의 곱 부분군(G2)에서의 곱연산이고, U·gh는 상기 유한체의 곱 부분군(G2)에서의 곱연산인 신원기반의 환서명 인증시스템.


KR1020100127205A 2010-12-13 2010-12-13 익명성을 제공하는 효율적인 신원기반 환서명 방법과 그 시스템 KR101040588B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020100127205A KR101040588B1 (ko) 2010-12-13 2010-12-13 익명성을 제공하는 효율적인 신원기반 환서명 방법과 그 시스템
US13/314,665 US8543811B2 (en) 2010-12-13 2011-12-08 Efficient identity-based ring signature scheme with anonymity and system thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100127205A KR101040588B1 (ko) 2010-12-13 2010-12-13 익명성을 제공하는 효율적인 신원기반 환서명 방법과 그 시스템

Publications (1)

Publication Number Publication Date
KR101040588B1 true KR101040588B1 (ko) 2011-06-10

Family

ID=44405390

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100127205A KR101040588B1 (ko) 2010-12-13 2010-12-13 익명성을 제공하는 효율적인 신원기반 환서명 방법과 그 시스템

Country Status (2)

Country Link
US (1) US8543811B2 (ko)
KR (1) KR101040588B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113505396A (zh) * 2021-07-09 2021-10-15 安徽大学 一种基于身份的前向安全环签名方法
CN115037507A (zh) * 2022-04-22 2022-09-09 京东科技控股股份有限公司 用户访问管理的方法、装置和系统

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130326602A1 (en) * 2011-02-22 2013-12-05 Hewlett-Packard Development Company, L.P. Digital Signatures
JP2014068140A (ja) * 2012-09-25 2014-04-17 Sony Corp 情報処理装置、情報処理方法及びプログラム
US9350550B2 (en) 2013-09-10 2016-05-24 M2M And Iot Technologies, Llc Power management and security for wireless modules in “machine-to-machine” communications
US9100175B2 (en) 2013-11-19 2015-08-04 M2M And Iot Technologies, Llc Embedded universal integrated circuit card supporting two-factor authentication
US10498530B2 (en) 2013-09-27 2019-12-03 Network-1 Technologies, Inc. Secure PKI communications for “machine-to-machine” modules, including key derivation by modules and authenticating public keys
US10700856B2 (en) 2013-11-19 2020-06-30 Network-1 Technologies, Inc. Key derivation for a module using an embedded universal integrated circuit card
US9853977B1 (en) 2015-01-26 2017-12-26 Winklevoss Ip, Llc System, method, and program product for processing secure transactions within a cloud computing system
US10778435B1 (en) * 2015-12-30 2020-09-15 Jpmorgan Chase Bank, N.A. Systems and methods for enhanced mobile device authentication
JP7059282B6 (ja) * 2017-01-05 2022-06-03 コーニンクレッカ フィリップス エヌ ヴェ ネットワークデバイス及び信頼できるサードパーティデバイス
EP3379766B1 (en) * 2017-03-20 2019-06-26 Huawei Technologies Co., Ltd. A wireless communication device for communication in a wireless communication network
CN109831306B (zh) * 2019-01-15 2021-08-31 如般量子科技有限公司 基于多个密钥池的抗量子计算环签名方法和系统
US10797887B2 (en) 2019-06-26 2020-10-06 Alibaba Group Holding Limited Confidential blockchain transactions
CN111709058B (zh) * 2020-06-09 2023-10-17 陕西师范大学 一种基于身份和环签名的数据完整性校验方法
CN112906059B (zh) * 2021-01-19 2024-02-23 中国银联股份有限公司 代理签名和验证方法、装置、系统及存储介质
CN113691371B (zh) * 2021-07-30 2022-11-08 西安邮电大学 区块链上基于身份的环签密方法
CN114448623A (zh) * 2022-01-24 2022-05-06 中国银联股份有限公司 代理签名及验证方法、代理秘钥生成方法、装置和系统
CN114389822B (zh) * 2022-03-22 2022-06-28 北京百度网讯科技有限公司 基于区块链的签名生成方法、装置、设备和存储介质
CN114389821B (zh) * 2022-03-22 2022-06-17 北京百度网讯科技有限公司 基于区块链的签名监管方法、装置、设备和存储介质
CN115664675B (zh) * 2022-10-20 2023-07-04 牛津(海南)区块链研究院有限公司 基于sm2算法的可追踪环签名方法、系统、设备及介质
CN115665732B (zh) * 2022-10-24 2023-10-27 中国人民解放军国防科技大学 一种面向卫星互联网的无证书签名认证方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040123110A1 (en) 2002-12-24 2004-06-24 Information And Communications University Educational Foundation Apparatus and method for ID-based ring structure by using bilinear pairings
US20090019285A1 (en) 2007-07-09 2009-01-15 Hewlett-Packard Development Company, L.P. Establishing a Trust Relationship Between Computing Entities

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101453331A (zh) * 2002-04-15 2009-06-10 株式会社Ntt都科摩 利用双线性映射的签名方案
US8108678B1 (en) * 2003-02-10 2012-01-31 Voltage Security, Inc. Identity-based signcryption system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040123110A1 (en) 2002-12-24 2004-06-24 Information And Communications University Educational Foundation Apparatus and method for ID-based ring structure by using bilinear pairings
US20090019285A1 (en) 2007-07-09 2009-01-15 Hewlett-Packard Development Company, L.P. Establishing a Trust Relationship Between Computing Entities

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
김기동 외 1명, 서명자 검증 가능한 ID-기반 환 서명, 한국정보과학회 2007 가을 학술발표 논문집, pp.77-81 (2007)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113505396A (zh) * 2021-07-09 2021-10-15 安徽大学 一种基于身份的前向安全环签名方法
CN113505396B (zh) * 2021-07-09 2024-02-13 安徽大学 一种基于身份的前向安全环签名方法
CN115037507A (zh) * 2022-04-22 2022-09-09 京东科技控股股份有限公司 用户访问管理的方法、装置和系统
CN115037507B (zh) * 2022-04-22 2024-04-05 京东科技控股股份有限公司 用户访问管理的方法、装置和系统

Also Published As

Publication number Publication date
US8543811B2 (en) 2013-09-24
US20120159153A1 (en) 2012-06-21

Similar Documents

Publication Publication Date Title
KR101040588B1 (ko) 익명성을 제공하는 효율적인 신원기반 환서명 방법과 그 시스템
US8949609B2 (en) Anonymous authentication signature system, user device, verification device, signature method, verification method, and program therefor
Hsu et al. New nonrepudiable threshold proxy signature scheme with known signers
Yang et al. An ID-based remote mutual authentication with key agreement scheme for mobile devices on elliptic curve cryptosystem
US8819439B2 (en) Attributes in cryptographic credentials
McGrew et al. Fundamental elliptic curve cryptography algorithms
US7814326B2 (en) Signature schemes using bilinear mappings
US9571274B2 (en) Key agreement protocol
US20060083370A1 (en) RSA with personalized secret
CN1937496A (zh) 可延展伪名证书系统和方法
WO2012156255A1 (en) Procedure for a multiple digital signature
Hwang et al. Generalization of proxy signature based on elliptic curves
WO2007105749A1 (ja) グループ署名システムおよび情報処理方法
Savu Signcryption scheme based on schnorr digital signature
JP5029358B2 (ja) 鍵発行方法、グループ署名システム
US20160352689A1 (en) Key agreement protocol
KR101045804B1 (ko) 신원기반 집합서명의 빠른 검증 방법 및 시스템
Hajny et al. Attribute‐based credentials with cryptographic collusion prevention
Shim On delegatability of designated verifier signature schemes
Tso A new way to generate a ring: Universal ring signature
JP2005513564A (ja) 負荷を複数のエンティティおよびそのデバイスに分散させるための暗号法
CN110445621B (zh) 一种可信标识的应用方法及系统
CA2550362C (en) Enhanced key agreement and transport protocol
Shapuan et al. A Strong Designated Verifier Signature Scheme with Hybrid Cryptographic Hard Problems
JP2005532723A (ja) 処理中の計算を容易にするための暗号化方法、及び装置

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated 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: 20140514

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160511

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170605

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20180531

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20190529

Year of fee payment: 9