KR20000056883A - 다목적 부인 봉쇄 디지털 서명 방법 - Google Patents

다목적 부인 봉쇄 디지털 서명 방법 Download PDF

Info

Publication number
KR20000056883A
KR20000056883A KR1019990006630A KR19990006630A KR20000056883A KR 20000056883 A KR20000056883 A KR 20000056883A KR 1019990006630 A KR1019990006630 A KR 1019990006630A KR 19990006630 A KR19990006630 A KR 19990006630A KR 20000056883 A KR20000056883 A KR 20000056883A
Authority
KR
South Korea
Prior art keywords
signature
signer
verifier
challenge
message
Prior art date
Application number
KR1019990006630A
Other languages
English (en)
Other versions
KR100394737B1 (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 KR10-1999-0006630A priority Critical patent/KR100394737B1/ko
Publication of KR20000056883A publication Critical patent/KR20000056883A/ko
Application granted granted Critical
Publication of KR100394737B1 publication Critical patent/KR100394737B1/ko

Links

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
    • 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

Landscapes

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

Abstract

본 발명은 다목적 부인 봉쇄 디지털 서명 방법에 관한 것으로, 특히 부인 프로토콜을 가지며 필요에 따라 부인 봉쇄 서명을 일반 서명으로 전환할 수 있도록 한 다목적 부인 봉쇄 디지털 서명 방법에 관한 것이다.
본 발명은 서명자의 비밀키, 공개키 및 서명 대상 메시지를 생성하는 과정과, 부인 봉쇄 서명을 생성하여 상기 서명 대상 메시지 및 해쉬 파라미터와 함께 검증자에게 전송하는 과정과, 상기 부인 봉쇄 서명이 상기 서명 대상 메시지에 대해 올바른 서명인지를 검증하는 과정과, 상기 부인 봉쇄 서명을 일반 서명으로 전환하는 과정을 포함하여 이루어진다. 또한, 본 발명은 상기 부인 봉쇄 서명의 검증이 실패한 경우에 상기 서명자의 부정인지 또는 상기 부인 봉쇄 서명이 잘못된 것인지를 확인하는 과정을 더 포함하여 이루어진 것을 특징으로 한다.

Description

다목적 부인 봉쇄 디지털 서명 방법{Multipurpose Undeniable Digital Signature Scheme}
본 발명은 다목적 부인 봉쇄 디지털 서명 방법에 관한 것으로, 특히 부인 프로토콜(Disavowal Protocol)을 가지며 필요에 따라 부인 봉쇄 서명(Undeniable Signature Scheme)을 일반 서명으로 전환할 수 있도록 한 다목적 부인 봉쇄 디지털 서명 방법에 관한 것이다.
인터넷과 같은 광범위한 공중망과 개인용 컴퓨터의 보급으로 많은 사회적 영역이 컴퓨터화되고 있는데, 많은 사람들이 전자 정보를 공유함에 따라 해커와 같은 능동적 공격자로부터 개인 정보를 보호하지 못하는 심각한 문제가 대두되고 있다. 그래서, 개인 전자 정보 보호를 위하여 암호학 기법의 적용이 필수적이다.
부인 봉쇄 디지털 서명 기법(Undeniable digital Signature Scheme)은 서명자의 동의 없이는 서명의 정당성을 검증할 수 없는 기법으로, 종래 기술로는 춈(Chaum)이 제안한 서명 기법과 보이얼(Boyar)이 제안한 서명 기법이 있다.
도 1은 부인 봉쇄 서명 방법을 설명하기 위한 구성으로, 서명자(10)와, 검증자(20)로 이루어져 있다.
그러면, 암호학 응용에 사용될 수 있는 이산 대수 문제에 대해서 정의하고 춈과 보이얼 방식의 구성을 다음과 같이 설명한다.
해당 이산 대수 문제에 근거한 공개키 알고리즘의 안전성은 암호학적으로 안전한 유한체에 기반으로 하는데, 해당 유한체(GF(p))에 대한 정의는 아래와 같다.
암호학적으로 안전한 유한체(GF(p))와 군(Gq)에 있어서, 'p'는 큰 소수로 해당 유한체(GF(p))상에서 법(p)에 대한 이산 대수 문제를 구하는 것이 계산상 불가능할 때에 'GF(p)'를 암호학적으로 안전한 유한체라고 정의한다. 여기서, 해당 유한체(GF(p))상에서의 이산 대수 문제와 관련하여 폴리그-헬만(Pohlig-Hellman) 공격법에 안전하기 위해서는 'p-1'이 인수로 아주 큰 소수를 가져야 한다. 그리고, 'p-1'의 인수 중 큰 소수를 'q'라고 가정하며, 해당 군(Gq)은 해당 유한체(GF(p))의 부분 집합 군으로 위수(q)를 가진다.
첫 번째로, 춈에 의한 부인 봉쇄 서명 기법은 기존의 순수 디지털 서명 기법으로 해결할 수 없었던 많은 사회적인 영역을 전자화할 수 있는데, 일반 서명 기법과의 차이점은 서명자(10)의 동의 없이는 디지털 서명을 검증할 수 없다는 점으로, 도전(Challenge) 및 응답(Response) 개념의 서명 확인(Confirmation) 프로토콜과 부인 프로토콜(Disavowal Protocol)이 존재한다.
그리고, 상기 춈에 의한 부인 봉쇄 서명 기법은 키 생성(Key Generation), 서명 생성 프로토콜, 서명 확인 프로토콜 및 부인 프로토콜로 이루어진다. 여기서, 해당 키 생성에는 서명자(10)의 비밀키(x)와 공개키(y)가 다음과 같이 이루어지는데, 서명자(10)는 상술한 정의로부터 암호학적으로 안전한 유한체(GF(p))와 군(Gq)을 선택하며 'g'는 군(Gq)에서 정의된 생성자이다. 그리고, 해당 비밀키(x)와 공개키(y)는 아래의 수학식 1과 같다.
0 〈 x 〈 q-1, y ≡ gx(mod p)
그러면, 상기 춈에 의한 부인 봉쇄 서명 기법의 동작 원리를 살펴보면, 먼저 서명자(10)의 서명 생성 프로토콜에 있어서, 서명자(10)는 자신의 비밀키(x)를 이용해서 서명 대상 메시지(m)에 대한 부인 봉쇄 서명(z)을 생성하는데, 해당 'm'과 'z'는 아래의 수학식 2와 같다.
m ∈ Gq, z ≡ mx(mod p)
그런 후에 상기 서명 대상 메시지(m)와 서명(z)을 검증자(20)에게 전송한다.
그리고, 검증자(20)의 서명 확인 프로토콜에 있어서, 검증자(20)는 '유한체(Zq)' 상에서 임의의 난수(a, b)를 선택하고 도전(w)을 생성하여 서명자(10)에게 전송하는데, 해당 'w'는 아래의 수학식 3과 같다.
w ≡ zayb(mod p), 1 ≤ a, b ≤ q-1
그런 후에 서명자(10)는 도전(w)에 대한 응답(R)을 생성하는데, 해당 'R'은 아래의 수학식 4와 같다. 여기서, 's-1'은 's mod q'에 대한 곱셈의 역이다.
R ≡ w의 s-1승 (mod p), ss-1≡ 1 (mod q)
그런 후에 검증자(20)는 아래의 수학식 5를 통해서 서명을 검증한다.
R ≡ magb(mod p)
이 때, 상기 수학식 5인 경우에 상기 서명(z)은 상기 서명 대상 메시지(m)에 대한 올바른 서명임을 알 수 있으며, 만약 'Rmagb(mod p)'라면 상기 서명 대상 메시지(m)에 대한 서명(z)이 잘못됐거나 서명자(10)가 부정을 하는 경우임을 알 수 있다.
여기서, 상기 서명자(10)가 생성한 응답(R)이 검증자(20)가 생성한 'magb'와 다르면 상기 서명(z)이 올바르지 않은 경우와 상기 서명자(10)가 부정을 하는 두 가지 경우가 존재함을 인지할 수 있으며, 따라서 상기 서명자(10)가 부인 프로토콜을 이용해서 상기 서명(z)이 잘못된 것을 증명할 수 있다.
즉, 상기 부인 프로토콜은 상기 서명 확인 프로토콜과 동일하게 검증자(20)가 'Zq' 상에서 임의의 난수(a, b)를 선택하고 도전(w)을 생성하여 서명자(10)에게 전송한 후에 서명자(10)가 도전(w)에 대한 응답(R)을 생성한다.
그런 후에 'Rmagb(mod p)'인 경우에 검증자(20)는 'Zq' 상에서 임의의 난수(c, d)를 선택하고 도전(w`)을 생성하여 서명자(10)에게 전송하는데, 해당 'w`'는 아래의 수학식 6과 같다.
w` ≡ zcyd(mod p), 1 ≤ c, d ≤ q-1
그런 후에 서명자(10)는 도전(w`)에 대한 응답(R`)을 생성하여 검증자(20)에게 전송하는데, 해당 'R`'은 아래의 수학식 7과 같다.
R` ≡ w`의 s-1승 (mod p)
그런 후에 검증자(20)는 아래의 수학식 8을 통해서 서명자(10)의 부정을 검증한다.
(Rg-b)c≡ (R`g-d)a(mod p)
이 때, 상기 수학식 8인 경우에 상기 서명(z)이 잘못된 것임을 알 수 있으며, 만약 '(Rg-b)c (R`g-d)a(mod p)'라면 상기 서명자(10)가 부정하고 있음을 알 수 있다.
두 번째로, 보이얼에 의한 부인 봉쇄 서명 기법은 서명자(10)가 비밀키의 일부를 공개함으로써 모든 부인 봉쇄 서명을 일반 서명으로 전환하는 성질을 가진다. 유효 기간이 지난 대외비 문서 또는 비밀 프로젝트 수행 후 관련 문서의 공개 등 일정 시점을 기준으로 모든 사람에게 문서의 정당성을 입증할 수 있는 응용에 적합하다.
또한, 상기 보이얼에 의한 부인 봉쇄 서명 기법에는 키 생성, 서명 생성 프로토콜, 서명 확인 프로토콜 및 서명 전환 프로토콜로 이루어진다. 여기서, 해당 키 생성에는 서명자(10)의 비밀키(x, z)와 공개키(p, q, g, y, u)가 다음과 같이 이루어지는데, 암호학적으로 안전한 유한체(GF(p))와 군(Gq)은 상술한 정의와 동일하며 'g'는 군(Gq) 상에서 정의된 생성자이다. 그리고, 서명자(10)의 비밀키(x, z)와 공개키(p, q, g, y, u)와 서명 대상 메시지(m)는 아래의 수학식 9와 같다.
x, z ∈ Zq, y ≡ gx(mod p), u ≡ gz(mod p), m ∈ Gq
그러면, 상기 보이얼에 의한 부인 봉쇄 서명 기법의 동작 원리를 살펴보면, 먼저 서명 생성 프로토콜에 있어서, 서명자(10)는 임의의 난수(t)를 선택한 후에 아래의 수학식 10과 같은 메시지(M)를 생성한다.
M ≡ gttzm (mod q)
그런 후에 아래의 수학식 11에서 상기 메시지(M)에 대한 엘가말(E1-Gamal) 서명(r, s)을 생성한다.
gM≡ yrrs(mod p)
그런 후에 gt, r, s 및 m을 검증자(20)에게 전송해 준다.
그리고, 서명 확인 프로토콜에 있어서, 메시지(m)와 서명(gt, r, s)이 주어졌을 경우에 서명자(10)와 검증자(20)는 아래의 수학식 12와 같이 'w'와 'v'를 계산할 수 있다.
w ≡ g의 'tgtm'승 (mod p), v ≡ yrrs(mod p)
즉, 검증자(20)는 임의의 난수(a, b)를 선택하고 도전(ch)을 생성하여 서명자(10)에게 전송하는데, 해당 'a', 'b' 및 'ch'는 아래의 수학식 13과 같다.
a, b ∈ Zq, ch ≡ wagb(mod p)
그런 후에 서명자(10)는 임의의 난수(r)를 선택해서 아래의 수학식 14와 같이 응답(h1, h2)을 생성하여 검증자(20)에게 전송한다.
r ∈ Zq, h1≡ chr(mod p), h2≡ h1 z(mod p)
그런 후에 검증자(20)는 서명자(10)에게 난수(a, b)를 전송한다. 그리고, 서명자(10)는 상기 도전(ch)을 인증하는데, 상기 도전(ch)이 올바른 경우에, 즉 'ch ≡ wagb(mod p)'인 경우에 난수(r)의 값을 검증자(20)에게 전송한다.
그런 후에 검증자(20)는 아래의 수학식 15와 같이 응답(h1, h2)을 검증한다.
h1≡ (wagb)r(mod p), h2≡ (vaub)r(mod p)
그리고, 서명 전환(Conversion) 프로토콜에 있어서, 서명자(10)가 난수(z)를 공개함으로써 모든 서명을 일반 서명으로 전환할 수 있으며, 서명자(10)가 난수(t)를 공개함으로써 특정 서명을 일반 서명으로 전환할 수 있다. 즉, 난수(t)가 공개되었을 경우에 서명 검증은 아래의 수학식 16과 같다.
(u의 mgt승)t≡ yrrs(mod p)
그런데, 상술한 부인 봉쇄 서명 기법은 일반 서명 기법과 달리 서명자(10)의 서명만 가지고는 검증자(20)가 서명의 정당성을 확인할 수 없으며, 서명자(10)와 검증자(20) 간에 서명 확인을 위한 도전 및 응답 프로토콜이 반드시 필요하다. 따라서, 서명 확인 프로토콜의 통신 단계 수가 많아 전체 서명 기법의 효율성에 큰 악영향을 미치게 된다.
특히, 보이얼에 의한 부인 봉쇄 서명 기법은 서명 확인 프로토콜이 실패했을 경우에 서명이 잘못된 것인지 또는 서명자(10)가 부정하는 것인지의 여부를 입증할 수 있는 부인 프로토콜이 존재하지 않다는 단점도 가지고 있다.
전술한 바와 같은 문제점을 해결하기 위한 것으로, 본 발명의 목적은 부인 프로토콜을 가지며 필요에 따라 부인 봉쇄 서명을 일반 서명으로 전환할 수 있도록 함으로써, 보다 폭넓은 사회적 영역을 컴퓨터화할 수 있고 부인 봉쇄 디지털 다중 서명 기술로 쉽게 확장될 수 있어 ATM 교환기에 관련하여 점대다중점 ATM 시그널링 보안에 적용될 수 있다.
도 1은 종래 부인 봉쇄 서명 방법을 설명하기 위한 구성을 나타낸 블록도.
도 2와 3은 본 발명의 실시예에 따른 다목적 부인 봉쇄 디지털 서명 방법을 설명하기 위한 구성을 나타낸 블록도.
도 4는 본 발명의 실시예에 따른 다목적 부인 봉쇄 디지털 서명 방법을 나타낸 플로우챠트.
* 도면의 주요 부분에 대한 부호의 설명 *
10 : 서명자 20 : 검증자
상술한 바와 같은 목적을 달성하기 위한 본 발명의 실시예에 따른 다목적 부인 봉쇄 디지털 서명 방법은 도 4의 플로우챠트에 도시된 바와 같이, 서명자의 비밀키, 공개키 및 서명 대상 메시지를 생성하는 과정(S1)과, 부인 봉쇄 서명을 생성하여 상기 서명 대상 메시지 및 해쉬 파라미터와 함께 검증자에게 전송하는 과정(S2)과, 상기 부인 봉쇄 서명이 상기 서명 대상 메시지에 대해 올바른 서명인지를 검증하는 과정(S3)과, 상기 부인 봉쇄 서명을 일반 서명으로 전환하는 과정(S4)을 포함하여 이루어진다. 또한, 본 발명의 실시예에 따른 다목적 부인 봉쇄 디지털 서명 방법은 상기 제3과정(S3)에서 상기 부인 봉쇄 서명의 검증이 실패한 경우에 상기 서명자의 부정인지 또는 상기 부인 봉쇄 서명이 잘못된 것인지를 확인하는 과정(S5)을 더 포함하여 이루어진다.
본 발명에서 제안한 디지털 서명 방식은 이산 대수 문제에 기반한 다목적 부인 봉쇄 디지털 서명 기법으로 해당 부인 봉쇄 서명을 일반 서명으로 전환할 수 있고 서명자의 부정을 입증할 수 있는 부인 프로토콜을 함께 사용할 수 있도록 해 준다.
본 발명의 실시예에 따른 다목적 부인 봉쇄 디지털 서명 방법을 설명하기 위한 구성은 종래의 도면인 도 1과 동일하며, 해당 다목적 부인 봉쇄 디지털 서명 방법은 엘가말 서명 기법에 기반하고 춈이 제안한 부인 봉쇄 성질(Undeniability)을 만족한다. 아래의 수학식 17은 다목적 부인 봉쇄 디지털 서명식의 일예로 본 발명에 응용된다. 여기서, 하기할 수학식에 사용된 부호는 이에 국한되어 있지 않으며, 해당 다목적 부인 봉쇄 디지털 서명식도 다르게 표현할 수 있다는 점에 유의해 주기 바란다.
k(mh+ s)≡ xr (mod p-1)
그리고, 해당 다목적 부인 봉쇄 디지털 서명 방법에는 키 생성, 서명 생성 프로토콜, 서명 확인 프로토콜, 서명 전환 프로토콜 및 부인 프로토콜로 이루어진다. 여기서, 해당 키 생성에는 서명자(10)의 비밀키(x), 공개키(y) 및 서명 대상 메시지(m)가 다음과 같이 이루어지는데, 암호학적으로 안전한 유한체(GF(p))는 상술한 바 있는 정의와 동일하고 'g'는 'GF(p)' 상에서 정의된 생성자로 위수(p-1)를 가진다. 그리고, 해당 비밀키(x), 공개키(y) 및 서명 대상 메시지(m)는 아래의 수학식 18과 같다.
x ∈ Zp-1, y ≡ gx(mod p), m ∈ Zp-1
그러면, 본 발명의 실시예에 따른 다목적 부인 봉쇄 디지털 서명 방법의 동작 원리를 살펴보면 다음과 같다.
첫 번째로 서명 생성 프로토콜에 있어서, 서명자(10)는 아래의 수학식 19의 조건에 만족하는 임의의 제1난수(k)를 선택하고 안전하게 보관하는데, 일방향 해쉬 함수(h)를 이용해서 서명 대상 메시지(m)를 해쉬한다. 여기서, 해당 해쉬값(mh)이 법(p)에 대한 원시근이 되도록 해쉬 파라미터(hpr)를 조정해 준다.
gcd(k, p-1) = 1, mh≡ h(m, hpr)
그런 후에 상기 제1난수(k)에 대한 부인 봉쇄 서명 중 하나의 파라미터(r)를 아래의 수학식 20과 같이 생성한다.
r ≡ mh의 k승 (mod p)
그런 후에 서명자(10)는 아래의 수학식 21을 만족하는 상기 서명 중 다른 하나의 파라미터(s)를 구한다. 여기서, 제1난수(k)와 위수(P-1)는 서로소이기 때문에 해당 파라미터(s)에 대해 유일한 해가 존재한다.
ks ≡ xr - kmh(mod p-1)
그런 후에 서명자(10)는 검증자(20)에게 상기 서명 대상 메시지(m), 해쉬 파라미터(hpr) 및 부인 봉쇄 서명(r, s)을 전송해 준다.
두 번째로 서명 확인 프로토콜에 있어서, 검증자(20)는 상기 서명(r, s)이 상기 서명 대상 메시지(m)에 대한 올바른 서명인지를 확인하기 위해서 도 2와 같은 서명 확인 프로토콜을 수행한다.
즉, 검증자(20)는 임의의 두 개의 제2난수(a, b)를 선택해서 서명자(10)에게 전송할 제1도전(ch)을 아래의 수학식 22와 같이 생성하여 서명자(10)에게 전송한다.
a, b ∈ Zp-1, mh= h(m, hpr), ch ≡ (r의 a(mh+s)승)yrb(mod p)
그런 후에 서명자(10)는 아래의 수학식 23과 같이 제1응답(rsp)을 생성하여 검증자(20)에게 전송한다. 여기서, 'x-1'은 법(p-1)에 대한 'x'의 모듈라 곱셈의 역이다.
xx-1≡ 1 (mod p-1), rsp ≡ ch의 x-1승 (mod p)
그런 후에 검증자(20)는 상기 제1응답(rsp)을 아래의 수학식 24와 같이 인증해서 상기 서명(r, s)이 상기 서명 대상 메시지(m)에 대한 올바른 서명인지를 확인한다.
rsp ≡ (mh의 ra승)grb(mod p)
이때, 상기 수학식 24가 성립하지 않는 경우, 즉 'rsp(mh의 ra승)grb(mod p)'이면, 상기 서명(r, s)이 상기 서명 대상 메시지(m)에 대한 올바른 서명이 아니거나 서명자(10)가 부정을 하는 경우이다.
세 번째로 서명 전환 프로토콜에 있어서, 부인 봉쇄 서명을 일반 서명으로 전환할 경우에 검증자(20)는 상기 선택한 두 개의 제2난수(a, b)를 서명자(10)에게 전송하게 되며, 서명자(10)는 해당 제2난수(a, b)를 이용해서 검증자(20)의 제1도전(ch)을 인증하게 되는데, 상기 수학식 22를 이용한다.
그런 후에 서명자(10)가 서명 전환을 위한 제1난수(k)에 대한 공개 정보(gk)를 공개함으로써 검증자(20)에 대한 부인 봉쇄 서명(r, s)을 일반 서명으로 전환하는데, 검증자(20)는 아래의 수학식 25와 같이 서명 검증을 함으로써 상기 서명 대상 메시지(m)에 대한 디지털 서명을 확인한다.
g의 k(mh+s)승 ≡ yr(mod p)
네 번째로 부인 프로토콜에 있어서, 검증자(20)는 제1응답(rsp)의 인증에 실패할 경우에 서명자(10)가 부정하는 것인지 아니면 서명이 잘못된 것인지를 알 수 있어야 하는데, 즉 상기 서명 확인 프로토콜의 과정을 수행한 후에 검증에 실패한 경우에 도 3에 도시된 바와 같은 부인 프로토콜을 수행한다.
다시 말해서, 검증자(20)는 아래의 수학식 26의 조건을 만족하는 임의의 두 개의 제3난수(c, d)를 선택해서 서명자(10)에게 전송할 제2도전(ch')을 생성한다.
그런 후에 서명자(10)는 아래의 수학식 27과 같이 제2응답(rsp')을 생성하여 검증자(20)에게 전송한다.
rsp' ≡ ch'의 x-1승 (mod p)
그런 후에 검증자(20)는 상기 제1응답(rsp)과 제2응답(rsp')을 이용하여 각각 아래의 수학식 28과 같이 인증값(R1, R2)을 계산한다.
R1≡ (rsp·g-rb)c(mod p)
R2≡ (rsp'·g-rd)a(mod p)
그런 후에 상기 인증값(R1, R2)을 비교하여 상기 서명(r, s)이 잘못된 것인지 아니면 서명자(10)의 부정인지를 확인한다. 이때, 상기 제1인증값(R1)과 제2인증값(R2)이 동일하면, 즉 'R1≡ R2'이면 상기 서명(r, s)이 잘못된 것임을 알 수 있으며, 상기 제1인증값(R1)과 제2인증값(R2)이 다르면, 즉 'R1 R2'이면 서명자(10)가 올바른 서명에 대해서 부인하는 경우임을 알 수 있다.
다음으로, 본 발명의 실시예에 따른 다목적 부인 봉쇄 디지털 서명 방법의 무결성과 부인 봉쇄 성질에 대해서 분석해 보면 다음과 같다.
먼저, 서명 확인 프로토콜의 무결성 검증에 있어서, 서명자(10)와 검증자(20)가 서명 확인 프로토콜을 올바르게 수행하면 검증자(20)의 제1도전(ch)에 대한 서명자(10)의 제1응답(rsp)은 상기 수학식 24를 만족하므로, 검증자(20)는 서명자(10)의 부인 봉쇄 서명을 올바른 것으로 수용한다.
그리고, 서명 전환 프로토콜의 무결성 검증에 있어서, 서명자(10)가 상기 공개 정보(gk)를 공개함으로써 상기 부인 봉쇄 서명(r, s)을 일반 서명으로 전환하는데, 검증자(20)는 서명자(10)로부터 수신한 부인 봉쇄 서명(r, s)과 공개 정보(gk)를 이용하여 상기 서명 대상 메시지(m)에 대한 디지털 서명을 검증한다.
즉, 생성자(g)를 이용하여 상기 수학식 17을 유도하면 상기 수학식 25를 생성할 수 있다. 여기서, 제1난수(k)가 공개되면 서명자(10)의 비밀키(x)를 쉽게 구할 수 있다. 그리고, 상기 공개 정보(gk)로부터 제1난수(k)를 구하는 문제는 유한체(GF(p)) 상에서의 이산 대수 문제가 되는데, 아래의 수학식 29와 같다.
r' ≡ gk(mod p), k ≡ loggr' (mod p)
또한, 상술한 정의로부터 암호학적으로 안전한 유한체(GF(p)) 상에서의 이산 대수 문제는 계산상 불가능하므로, 제1난수(k)를 유추하는 것은 불가능하며 전환된 일반 서명의 안전성은 엘가말 서명 기법의 안전성과 동일하다.
두 번째로, 본 발명의 서명 기법에 대한 부인 봉쇄 성질을 분석한다.
상기 서명 대상 메시지(m)에 대한 올바른 서명(r, s)에 대한 정의는 상기 수학식 17과 20에 나타낸 바와 같으며, 상기 서명 대상 메시지(m)에 대한 잘못된 서명(r', s)에 대한 정의는 아래의 수학식 30과 같다.
k'(mh+ s) ≡ x'r' (mod p-1), x'x
이와 같은 잘못된 서명(r', s)에 대한 도전으로부터 올바른 응답을 생성할 수 없음을 서명자(10)가 보여줄 수 있는데, "잘못된 서명에 대해서 올바른 응답을 생성하는 도전값은 'Zp-1' 상에서 둘 이상 존재할 수 없다"는 제1정리를 증명함으로써 가능하다.
해당 제1정리의 증명 과정은 다음과 같은데, 'Zp-1' 상에서 정의되는 두 개의 도전값((a, b), (a', b'))은 올바른 응답을 생성하는 동일한 도전이라고 가정하며, 상기 수학식 30과 같은 정의의 잘못된 서명(r', s)에 대해서 해당 두 개의 도전값((a, b), (a', b'))을 이용하여 생성한 각각의 도전(ch, ch')과 응답(rsp, rsp')은 아래의 수학식 31과 같다.
ch ≡ (r'의 a(mh+s)승)yr'b(mod p) ≡ (mh의 x'r'a승)gxr'b(mod p)
rsp ≡ (mh의 r'a승)gr'b(mod p)
ch' ≡ (r'의 a'(mh+s)승)yr'b'(mod p) ≡ (mh의 x'r'a'승)gxr'b'(mod p)
rsp' ≡ (mh의 r'a'승)gr'b'(mod p)
상기 두 개의 도전값((a, b), (a', b'))은 동일한 도전과 응답을 생성하므로, 아래의 수학식 32와 33을 유도할 수 있다.
(mh의 x'r'a승)gxr'b≡ (mh의 x'r'a'승)gxr'b'(mod p)
mh의 x'r'(a-a')승 ≡ gxr'(b'-b)(mod p)
(mh의 r'a승)gr'b≡ (mh의 r'a'승)gr'b'(mod p)
mh의 r'(a-a')승 ≡ gr'(b'-b)(mod p)
그런 후에 상기 수학식 33을 상기 수학식 32에 대입하여 아래의 수학식 34를 유도한다.
mh의 x'r'(a-a')승 ≡ mh의 xr'(a-a')승
상기 서명 대상 메시지(m)에 대한 잘못된 서명(r', s)에 대한 정의에서 "x'x"이므로 상기 수학식 34는 성립될 수 없다. 따라서, 잘못된 서명에 대해서 올바른 응답을 생성하는 도전값은 둘 이상 존재할 수 없다.
그리고, "올바른 서명에 대해서 서명자(10)가 부인하는 경우에 부인 프로토콜을 통해서 서명자(10)의 부정을 입증할 수 있다"는 제2정리의 증명 과정으로, 먼저 상기 서명 대상 메시지(m)에 대한 올바른 서명(r, s)에 대한 정의는 상기 수학식 17과 20에 나타낸 바와 같고 검증자(20)는 해당 올바른 서명(r, s)에 대한 제1도전(ch)을 상기 수학식 22와 같이 생성한다.
그런 후에 서명자(10)는 상기 서명(r, s)을 부인하기 위해서 아래의 수학식 35와 같이 잘못된 제1응답(r1)을 생성한다. 여기서, 't'는 'Zp-1' 상에서 선택된 임의의 정수이다.
r1≡ cht≡ (mh의 xrat승)gxrbt(mod p)
r1 (mh의 ra승)grb(mod p)
그런 후에 검증자(20)는 상기 부인 프로토콜을 수행하여 상기 임의의 두 개의 제3난수(c, d)에 대한 제2도전(ch')을 상기 수학식 26과 같이 생성하고 서명자(10)가 생성한 아래의 수학식 36과 같은 제2응답(r2)을 수신한다.
r2≡ ch't≡ (mh의 xrct승)gxrdt(mod p)
r2 (mh의 rc승)grd(mod p)
그런 후에 검증자(20)는 서명자(10)의 부정인지 아니면 잘못된 서명인지를 확인하기 위해서 아래의 수학식 37과 같이 인증값(R1, R2)을 각각 계산하고 해당 두 값(R1, R2)을 비교한다.
R1≡ (r1g-rb)c(mod p) ≡ (mh의 xract승)g(xrbt-rb)c(mod p)
R2≡ (r2g-rd)a(mod p) ≡ (mh의 xract승)g(xrdt-rd)a(mod p)
이 때, 상기 두 인증값(R1, R2)에서 'mh의 xract승'이 공통으로 포함되어 있으므로 생성자(g)의 지수부만 비교하면 된다. 법(p-1)에 대해서 생성자(g)의 지수부를 전개하여 비교하면 아래의 수학식 38과 같다.
rb(xt - 1)crd(xt - 1)a (mod p-1)
bcda (mod p-1)
즉, 'Zp-1' 상에서 선택된 도전값(a, b, c, d)은 검증자(20)가 생성한 것으로 서명자(10)는 도전값을 모르므로 상기 두 인증값(R1, R2)을 동일하게 할 수 없다. 상기 부인 프로토콜에서 서명자(10)가 올바른 서명에 대해서 부인하는 경우에 상기 두 인증값(R1, R2)은 서로 다른 값을 갖게 된다.
그리고, "서명이 잘못됐음을 부인 프로토콜을 통해서 입증한다"는 제3정리의 증명 과정으로, 먼저 상기 서명 대상 메시지(m)에 대한 잘못된 서명(r', s)은 상기 수학식 30과 같은데, 검증자(20)는 잘못된 서명(r', s)에 대한 제1도전(ch)을 상기 수학식 31과 같이 생성하고 서명자(10)에게 전송한다.
그런 후에 서명자(10)는 상기 잘못된 서명(r', s)에 대한 제1응답(r1)을 아래의 수학식 39와 같이 생성하고 검증자(20)에게 전송한다.
r1≡ ch의 x-1승 ≡ (mh의 k'(mh+s)ax-1승)gr'b(mod p)
r1 (mh의 r'a승)gr'b(mod p) (∵ k'(mh+s)xr' (mod p-1))
그런 후에 검증자(20)는 부인 프로토콜을 수행하여 아래의 수학식 40과 같이 도전값(c, d)에 대한 제2도전(ch')을 생성하고 제2응답(r2)을 수신한다.
ch' ≡ (r'의 (mh+s)c승)yr'd(mod p)
r2≡ ch'의 x-1승 ≡ (mh의 k'(mh+s)cx-1승)gr'd(mod p)
r2 (mh의 r'c승)gr'd(mod p) (∵ k'(mh+s)xr' (mod p-1))
그런 후에 검증자(20)는 서명자(10)의 응답(r1, r2)을 이용하여 아래의 수학식 41과 같이 인증값(R1, R2)을 각각 계산하고 해당 두 값(R1, R2)을 비교한다.
R1≡ (r1g-r'b)c(mod p) ≡ (mh의 k'(mh+s)acx-1(mod p)
R2≡ (r2g-r'd)a(mod p) ≡ (mh의 k'(mh+s)acx-1(mod p)
이 때, 상기 두 인증값(R1, R2)은 동일하므로 서명이 잘못됐음을 알 수 있다.
다시 말해서, 상기 제2정리와 제3정리는 상기 제1정리의 결과를 바탕으로 제안한 부인 프로토콜의 정당성을 입증하는데, 상기 제2정리는 서명자(10)의 부정을 증명하고 상기 제3정리는 서명이 잘못됐음을 증명한다.
그 다음으로, 종래의 기술인 춈과 보이얼의 부인 봉쇄 서명 기법과 본 발명에 대해서 효율성 및 특성 비교를 수행해 보면 아래의 표 1과 같다. 여기서, 각 서명 기법의 효율성을 통신 단계 수, 서명 크기 및 공개키 크기 측면에서 비교해 보며, 또한 서명 생성 및 서명 확인에 소용되는 시간을 분석해 본다.
서명 기법 춈의서명기법 보이얼의서명기법 본 발명의서명기법
비교 항목
서명확인프로토콜 통신단계수 2 4 2
전체서명크기(bit) n 3n 2n
전체공개키크기(bit) 3n 5n 3n
서명생성시간 55(msec) 165(msec) 110(msec)
서명확인시간(검증자) 372.5(msec) 1318.75(msec) 1065(msec)
서명확인시간(서명자) 198.75(msec) 347.5(msec) 185(msec)
상기 표 1은 각 서명 기법에 사용된 법(p)은 'n'(bit) 크기의 큰 소수로 법(p) 상에서의 이산 대수 문제가 계산상 불가능하다고 가정하고 비교 분석한 결과로, 실제 소수 생성 시에 해당 'n'은 512 이상의 큰 값이어야 서명 기법의 안정성을 보장할 수 있다.
상기 표 1을 보면 알 수 있듯이, 서명 확인을 위한 서명자(10)와 검증자(20) 간의 통신 단계 수를 보면, 동시 이산 대수 문제(Simultaneous Discrete Logarithm Problem)에 기반한 보이얼의 서명 기법이 4 회로 통신 단계 수가 가장 많으나 본 발명은 춈의 서명 기법과 마찬가지로 2 회만으로 서명 확인이 가능하다.
그리고, 서명 크기는 춈의 서명 기법이 가장 작고 본 발명 그리고 보이얼의 기법 순이다. 서명자(10)들의 공개키 크기를 보면 보이얼의 기법은 서명 전환을 위한 파라미터(z)에 대한 공개값(gz)이 추가됨으로써 서명 수행을 위해 필요한 공개키 개수가 가장 많다.
그리고, 춈, 보이얼 및 본 발명의 서명 기법에 대한 서명 생성 및 확인 시간은 각 단계별로 실험하여 소요된 CPU 시간을 비교한 것으로, 실험에 사용된 모듈라 연산의 법과 메시지의 크기는 각각 512(bit)와 511(bit) 크기의 수를 사용하고 서명자(10)와 검증자(20) 간에 메시지를 주고받는데 소요되는 통신 시간은 실험에서 제외하고 서명 생성과 확인에 소요되는 CPU 사용 시간만을 측정한다.
여기서, 해당 서명 생성 및 확인 시간을 비교하면 춈의 서명 기법이 가장 빠르고 본 발명, 보이얼의 서명 기법 순으로 나타난다. 본 발명은 춈의 기법과 비교하여 서명 생성 시 난수 발생 루틴과 확장 유클리드 알고리즘을 수행하는 부분이 부가적으로 요구되어 느리다. 보이얼의 기법은 서명 확인 과정에서 통신 단계 수가 많고 따라서 각 단계별로 수행되는 연산량이 가장 많다. 또한, 본 발명과 마찬가지로 엘가말 서명 기법에 기반하기 때문에 서명 생성 시 난수 발생 루틴이 부가적으로 요구된다.
그런데, 춈의 서명 기법은 일반 서명으로 전환할 수 없는 특성을 가지므로, 보이얼의 서명 기법과 본 발명을 비교해 보았을 때 본 발명의 특성이 훨씬 좋음을 알 수 있다.
상술한 바와 같이, 본 발명의 서명 기법은 엘가말 서명식을 변형하여 통신 단계 수, 서명 크기 및 공개키 개수를 줄인 일반 서명으로 전환 가능한 부인 봉쇄 서명 기법으로, 제1난수(k)를 다르게 함으로서 동일한 메시지에 대한 서명을 달리 생성할 수 있고 제1난수(k)에 대한 공개 정보(gk)를 공개하므로서 부인 봉쇄 서명을 일반 서명으로 전환할 수도 있다.
이상과 같이, 본 발명에 의해 일반 서명으로 전환할 수 있고 동일한 메시지에 대해서 각기 다른 서명을 생성할 수 있고 기존의 전환 가능한 서명 기법보다 적은 통신 복잡도로 서명 확인을 수행할 수 있고 부인 봉쇄 성질을 만족하고 확장 가능한 다양한 성질을 가지므로, 전자 선거, 전자 현금 또는 기밀 문서 관리 등과 같이 보다 복잡하고 민감한 사회적 영역의 컴퓨터화에 적용할 수 있다.

Claims (10)

  1. 서명자의 비밀키, 공개키 및 서명 대상 메시지를 생성하는 과정과;
    부인 봉쇄 서명을 생성하여 상기 서명 대상 메시지 및 해쉬 파라미터와 함께 검증자에게 전송하는 과정과;
    상기 부인 봉쇄 서명이 상기 서명 대상 메시지에 대해 올바른 서명인지를 검증하는 과정과;
    상기 부인 봉쇄 서명을 일반 서명으로 전환하는 과정을 포함하여 이루어진 것을 특징으로 하는 다목적 부인 봉쇄 디지털 서명 방법.
  2. 제1항에 있어서,
    상기 검증이 실패한 경우에 상기 서명자의 부정인지 또는 상기 부인 봉쇄 서명이 잘못된 것인지를 확인하는 과정을 더 포함하여 이루어진 것을 특징으로 하는 다목적 부인 봉쇄 디지털 서명 방법.
  3. 제1항에 있어서,
    상기 부인 봉쇄 서명, 서명 대상 메시지 및 해쉬 파라미터를 전송하는 과정은 서명자가 임의의 제1난수를 선택하고 서명 대상 메시지를 해쉬하는 단계와;
    상기 서명자가 상기 제1난수에 대한 부인 봉쇄 서명 중 하나의 파라미터를 생성하고 다른 하나의 파라미터를 구하는 단계와;
    상기 서명자가 상기 서명 대상 메시지, 해쉬 파라미터 및 부인 봉쇄 서명을 검증자에게 전송하는 단계를 포함하는 것을 특징으로 하는 다목적 부인 봉쇄 디지털 서명 방법.
  4. 제1항에 있어서,
    상기 부인 봉쇄 서명이 올바른 서명인지를 검증하는 과정은 검증자가 임의의 제2난수를 선택해서 제1도전을 생성하여 서명자에게 전송하는 단계와;
    상기 서명자가 제1응답을 생성하여 상기 검증자에게 전송하는 단계와;
    상기 검증자가 상기 제1응답을 인증해서 부인 봉쇄 서명이 서명 대상 메시지에 대한 올바른 서명인지를 확인하는 단계를 포함하는 것을 특징으로 하는 다목적 부인 봉쇄 디지털 서명 방법.
  5. 제1항에 있어서,
    상기 부인 봉쇄 서명을 일반 서명으로 전환하는 과정은 검증자가 선택한 제2난수를 서명자에게 전송하는 단계와;
    상기 서명자가 상기 제2난수를 이용해 제1도전을 인증하는 단계와;
    상기 서명자가 제1난수에 대한 공개 정보를 공개해 상기 검증자에 대한 부인 봉쇄 서명을 일반 서명으로 전환하는 단계와;
    상기 검증자가 서명 검증을 수행해 서명 대상 메시지에 대한 디지털 서명을 확인하는 단계를 포함하는 것을 특징으로 하는 다목적 부인 봉쇄 디지털 서명 방법.
  6. 제2항에 있어서,
    상기 서명자 부정 또는 상기 부인 봉쇄 서명의 오류를 확인하는 과정은 상기 서명 확인 프로토콜의 수행 후 검증에 실패하면 검증자가 임의의 제3난수를 선택해서 제2도전을 생성하여 서명자에게 전송하는 단계와;
    상기 서명자가 제2응답을 생성하여 상기 검증자에게 전송하는 단계와;
    상기 검증자가 상기 제1응답과 제2응답을 이용해 제1과 제2인증값을 각각 계산하여 비교하는 단계를 포함하는 것을 특징으로 하는 다목적 부인 봉쇄 디지털 서명 방법.
  7. 제6항에 있어서,
    상기 제1인증값과 제2인증값이 동일하면 서명이 잘못된 경우이며, 상기 제1인증값과 제2인증값이 다르면 서명자가 올바른 서명에 대해서 부인하는 경우인 것을 특징으로 하는 다목적 부인 봉쇄 디지털 서명 방법.
  8. 제7항에 있어서,
    상기 잘못된 서명에 대해서 올바른 응답을 생성하는 도전값은 유한체 상에서 둘 이상 존재할 수 없는 것을 특징으로 하는 다목적 부인 봉쇄 디지털 서명 방법.
  9. 제6항 또는 제7항에 있어서,
    상기 서명이 잘못된 경우의 증명 과정은 서명 대상 메시지에 대한 잘못된 서명에 대한 제1도전을 검증자가 생성하여 서명자에게 전송하는 단계와;
    상기 서명자가 상기 잘못된 서명에 대한 제1응답을 생성하여 상기 검증자에게 전송하는 단계와;
    상기 검증자가 상기 부인 프로토콜을 수행해 상기 제3난수에 대한 제2도전을 생성하여 서명자에게 전송하는 단계와;
    상기 서명자가 상기 제2도전에 대한 제2응답을 생성하여 상기 검증자에게 전송하는 단계와;
    상기 검증자가 상기 제1과 제2응답을 이용해 제1과 제2인증값을 각각 계산하는 단계와;
    상기 두 인증값을 비교해 동일함을 확인하는 단계를 포함하는 것을 특징으로 하는 다목적 부인 봉쇄 디지털 서명 방법.
  10. 제6항 또는 제7항에 있어서,
    상기 서명자가 올바른 서명에 대해서 부인하는 경우의 증명 과정은 서명 대상 메시지에 대한 올바른 서명에 대한 제1도전을 검증자가 생성하여 서명자에게 전송하는 단계와;
    상기 서명자가 상기 서명을 부인하기 위한 잘못된 제1응답을 생성하여 상기 검증자에게 전송하는 단계와;
    상기 검증자가 부인 프로토콜을 수행해 상기 제3난수에 대한 제2도전을 생성하여 서명자에게 전송하는 단계와;
    상기 서명자가 상기 제2도전에 대한 제2응답을 생성하여 상기 검증자에게 전송하는 단계와;
    상기 검증자가 상기 제1과 제2응답을 이용해 제1과 제2인증값을 각각 계산하는 단계와;
    상기 두 인증값을 비교해 상이함을 확인하는 단계를 포함하는 것을 특징으로 하는 다목적 부인 봉쇄 디지털 서명 방법.
KR10-1999-0006630A 1999-02-27 1999-02-27 다목적 부인 봉쇄 디지털 서명 방법 KR100394737B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-1999-0006630A KR100394737B1 (ko) 1999-02-27 1999-02-27 다목적 부인 봉쇄 디지털 서명 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-1999-0006630A KR100394737B1 (ko) 1999-02-27 1999-02-27 다목적 부인 봉쇄 디지털 서명 방법

Publications (2)

Publication Number Publication Date
KR20000056883A true KR20000056883A (ko) 2000-09-15
KR100394737B1 KR100394737B1 (ko) 2003-08-14

Family

ID=19575248

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-1999-0006630A KR100394737B1 (ko) 1999-02-27 1999-02-27 다목적 부인 봉쇄 디지털 서명 방법

Country Status (1)

Country Link
KR (1) KR100394737B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100429594B1 (ko) * 2001-08-31 2004-05-03 주식회사 안랩유비웨어 전자 서명을 이용한 단문 메시지 부인 봉쇄 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100429594B1 (ko) * 2001-08-31 2004-05-03 주식회사 안랩유비웨어 전자 서명을 이용한 단문 메시지 부인 봉쇄 방법

Also Published As

Publication number Publication date
KR100394737B1 (ko) 2003-08-14

Similar Documents

Publication Publication Date Title
US9967239B2 (en) Method and apparatus for verifiable generation of public keys
Gennaro et al. RSA-based undeniable signatures
Bellare et al. Transitive signatures based on factoring and RSA
US7007164B1 (en) Method and array for authenticating a first instance and a second instance
JP2008532389A (ja) 認証のための小型の公開鍵を用いたデジタル署名
JP2003536320A (ja) 複数のサーバを使用した遠隔パスワード認証のためのシステム、方法およびソフトウェア
Rastegari et al. Universal designated verifier signature scheme with non-delegatability in the standard model
Ki et al. Constructing Strong Identity‐Based Designated Verifier Signatures with Self‐Unverifiability
Yoon et al. Cryptanalysis of DS-SIP authentication scheme using ECDH
Wang et al. Threshold undeniable RSA signature scheme
Chen et al. Strong non‐repudiation based on certificateless short signatures
Xin et al. Identity-based quantum signature based on Bell states
KR100394737B1 (ko) 다목적 부인 봉쇄 디지털 서명 방법
Chen et al. A New Digital Signature Algorithm Similar to ELGamal Type.
Vaudenay Digital signature schemes with domain parameters
Miyazaki An improved scheme of the Gennaro-Krawczyk-Rabin undeniable signature system based on RSA
Zaw et al. User authentication in SSL handshake protocol with zero-knowledge proof
Wu et al. Provably secure identity-based undeniable signatures with selective and universal convertibility
Rizal Nurjaman et al. Strengthening the Security of Deniable Authentication Scheme Using Zero-Knowledge Proof
Zhang et al. A new non-interactive deniable authentication protocol based on generalized ElGamal signature scheme
Abdul Jamal et al. New Identified Strategies to Forge Multivariate Signature Schemes. Symmetry 2022, 14, 2368
Han et al. Practical fair anonymous undeniable signatures
Durnoga et al. Digital signature with secretly embedded warning
Xie et al. Improvement of provably secure self-certified proxy convertible authenticated encryption scheme
Yoon et al. Various types of attacks and solutions regarding secure remote user access over insecure networks

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
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: 20130716

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20140715

Year of fee payment: 12

LAPS Lapse due to unpaid annual fee