DOI QR코드

DOI QR Code

A Distributed Signcryption for User Anonymity

사용자 익명성을 위한 Distributed Signcryption

  • 곽동진 (경북대학교 대학원 전자공학과) ;
  • 하재철 (나사렛대학교 정보통신학과) ;
  • 문상재 (경북대학교 대학원 전자공학과)
  • Published : 2003.08.01

Abstract

Distributed signcryption was specially designed for distributing a signcrypted message to a designated group. Since a verifier of this signcryption should how the signer's public key in advance, it cannot provide the signer's anonymity. This study adds anonymity and non-repudiation by trusted party to the distributed signcryption with almost the same computational load. We also analyze security and computational loads of the proposed scheme. In addition, we extend our scheme to an efficient group signcryption.

Distributed signcryption은 특정한 집단에게 서명과 암호가 동시에 된 메시지를 분산시키는 목적으로 설계되었다. 이 signcryption은 unsigncryption 시, 서명자의 공개키를 미리 알고 있어야 서명에 대한 검증을 할 수 있기 때문에 서명자의 익명성을 요하는 전자상거래 응용에서는 부적합하다. 따라서 본 논문에서는 계산량의 증가없이 서명자의 익명성과 신뢰기관에 의한 부인방지(non-repudiation) 기능을 동시에 제공하는 distributed signcryption을 제안하고, 그 안전성과 연산량을 분석한다. 이에 더하여 제안하는 signcryption의 확장으로 집단서명(group signature)의 성질을 가지는 효율적인 집단 signcryption을 제안한다.

Keywords

Ⅰ.서론

디지털 서명과 암호를 동시에 하면서 계산상 . 통신상의 효율성을 극대화 시키는 방법으로 signcryption scheme이 개발되었다」" 기밀성과 사용자 인증이 동시에 요구되는 응용이 많아짐에 따라 그 사용이 점점 더 많아 질 것으로 예상된다. 응용의 요구 조건이 다양해짐에 따라 signcryptione 정해진 한 명의 검증자를 대상으로 서명 및 암호를 하는 것이 아니라 다수의 검증자를 상대로 혹은 집단을 상대로 자신이 소속된 집단을 대표해서 서명 및 암호를 하는 방식도 제안되고 있다.'"F

예를 들어, 비공개 입찰(sealed-bid)의 경우 입찰을하려는 사람은 각각의 입찰금액을 기입한 후 서명과암호를 해서 입찰에 응한다. 그리고 공개적으로 최종입찰금액을 서로가 공정히 그 결과를 수용할 수 있는 프로토콜을 설계하려할 때, 다수 혹은 집단을 대상으로 하는 signciyption 방식들이 유용할 것이다.

본 논문는 distributed signcryption141 서명자의 익명성 결핍으로 인해 익명성을 요하는 전자상거래 응용에서는 부적합하다는 것을 지적한다. 이 지적을 바탕으로 계산량의 증가없이, 서명자의 익명성과 부인방지 기능을 동시에 제공하는 새로운 distributed signcryption을 제안하고 그 안전성과 연산량을 분석한다이에 더하여, 제안하는 signcryption의 확장으로 집단서명 (group signature)의 성질을 가지는 집단 signcryption을 제안한다.

본 논문의 구성은 다음과 같다. 제 2장에서는 기본이 되는 이론을 먼저 살펴보고, 3장에서는 기존의 distributed signcrypHon에 대해 언급한다. 제 4장에서 익명성이 추가된 새로운 프로토콜을 제시하며, 그 안전성과 연산량을 분석한다. 5장에서는 제안된 프로토콜을 기반으로 하여 새로운 집단 signcryption으로 확장한 후, 마지막으로 결론을 맺는다.

Ⅱ. Preliminaries

이 장에서는 기존의 Signcryption과 대리자 복호 (delegated/proxy decryption)에 대해 간단히 살펴보기로 한다. 본 논문에서는, 0를 큰 소수, 4를 위수 아 也=力-1)인 곱셈군(multiplicative group), g(gu%) 를 생성자(歐说商。r), 그리고 (s乩此)와 (s屁, Z為)는각각 Alice와 Bob의 비밀키 . 공개키 쌍을 나타낸다.

2.1 Signcryption

Signcryption schemee 기존의 서명 후 암호를 하는 방식에서 서명과 암호를 동시에 하면서 필요한계산상의 로드를 줄이는 암호학적 방법으로 Cryptol 에 YNheng山에 의해 처음 소개 되었다. 이 signciyptiome NIST의 DSS回를 기반한 약간의 수정으로 계산상의 효율성을 꾀하고 있으며, SDSS의 두 가지 형태로 나타낼 수 있다. 이 후, 다양한 형태의 변형된 signcrypticm scheme과 그 응용이 나오고 있다' '이 Alice 가 Bob에게 메시지 他을 전송하려고 할 때, SDSS1 과 SDSS2를 포함한 전체 signcryptione 다음과 같이 표현될 수 있다. 여기서 ".、)는 키 冷인 해쉬함수, ERD")는 대칭키 암호 혹은 복호를 나타낸다.

Ali(미서 명자]

#

Bob[검증자]

#

2.2 대리자 복호 방식

대리자 복호 혹은 분산암호(distributed encryption) 는 Cryptography & Coding '99에서 Yi Mu'히에 의해 발표된 공개키 방식으로 하나의 공개키로 암호화한 암호문을 여러 개의 다른 복호키로서 복호를 함으로써, 특정 당사자의 부재 시 그 당사자를 대리할 수 있는 같은 집단의 다른 사람도 암호문을 복호할 수 있도록 하는 공개키 방식이다.

2.2.1 초기 설정

관리자는 元개의 비밀키 羽@乙를 생성하여 그 상수 {(幻 } UZg를 식 (1)과 같이 계 산한다.

#(1)

생성자 g를 정의한 뒤 g*mod/) 를 幻로 치환하면, 식 (1)로부터 식 (2)와 같은 방정식을 얻는다.( ...斤 {1, …, 刀}, 丿3) = 0)

#(2)

공개키를 {&}로 하면, 공개키의 공개 시 비합법적인 제3자에 의한 공개키 조작이 가능하다. 따라서 전체 안전도에 문제가 생길 수 있음으로 다음과 같이새로운 a, '를 다음과 같이 설정한다户

#

그리고 &—K At~ ._, X' . 라 하면 모든 弑, =1, 2, ...〃)에 대해서 식 (2)는 식(3)을 여전히 만족한다.

#(3)

다시 관리자는 난수 7VZ。를 선택하여 와 Pi= -八%modg를 계산한다. 이를 바탕으로, 관리자는 如+ 2의 tuple인 {&>........£宀}= {&), '}를그 집단의 공개키로 하고 집단 내 必경의 사용자에게 각각 비밀키쌍으로 (为, 0)를 보내준다.

2.2.2 암호 및 복호

Alice가 메시지 所을 암호하기 위해 임의의 세션 키 kwZq를 선택하고, m을 해쉬함수에 대입해서 w= H(wi)를 계산한다. 그리고 보내려고 하는 그룹의 공개키를 바탕으로 다음과 같은 암호문 c=(q, C2) 를 만들어 그 집단에 전송한다.

#

AUce가 보낸 집단에 소속된 如명 누구든지 다음과같은 방식으로 복호를 할 수 있다.

#

Ⅲ. 기존의 distributed signcryption

3.1 Distributed signcryption

대리자 복호방식을 기반으로 여러 명으로 구성된집단이 검증 및 복호를 동시에 할 수 있는 signcryption을 distributed signcryption라 한다.四 먼저 집단의관리자(manager)가 대리자 복호의 초기설정과 같이집단 구성원들의 비밀정보 {(攵, , 0)}를 생성 후 나누어 주고, 집단의 공개키 {&, .…们+|}를 공개한다. Alice가 Bob이 속해있는 특정집단에게 서명 및 암호기능을 한 메시지 m을 보내고 싶다고 가정하면 다음과 같은 과정으로 (q, C2”, S)를 생성한 후 전송한다.

#

Bob 혹은 그 집단의 구성원이 메시지에 대한 복원 및 검증을 원한다면, Alice에게 받은 (ci, C2/, s) 와 그의 공개키 怵«와 자신의 비밀정보 (勺 源를 가지고 다음과 같은 과정으로 먼저 雇 복원 및 동시에 검증한다.

#

为의 복원 후 메시지를 복호하여 원하는 메시지 m을 얻는다.

3.2 확장된 distributed signcryption

위의 distributed signcryptione 집단의 구성원이 그 집단을 대표해서 서명 및 암호를 할 수 있는 집단 signerryption으로 확장될 수 있다. 먼저 두 집단 G、와 (为가 있고, Alice는 Ga, 그리고 Bobe (私에 속해있다고 가정한다. Alice와 Bob이 각각 /("=0mod/> 와 K"=0mod/>를 만족시키는 비밀정보 %와 他를 가지며, 3.1 에서와 같은 방법으로 관리자는 6의 집단 공개키 {伐, 그리고(潺의 집단 공개키 {角, , 8“+]}을 만든다. Alice가 Ga를 대표해서 Bob 이 속한 Gb에게 메시지 m을 보내고 싶다면 다음과 같은 과정으로 (力心心, 方1.-, &)을 (瑟에 보낸다.

#

Gb에 속한 Bob이 (勺 , 。2, 。3, 匕si, …, s)을 받은후, 다음과 같은 과정으로 세션키를 복원하여 복호함으로써, signcryption을 검증한다.

#

Bobe 복원한 세션키로서 何와 勿가 합당한 값인지를 검증할 수도 있다.

Ⅳ. 익명성을 가진 distributed signcryption

이 장에서는 사용자 익명성을 제공하는 새로운 distributed signcryption을 제안한다. 기존의 signcryption 이 복호 및 검증 시, 반드시 signciyption한 당사자의 공개키를 미리 알고 있어야 그 서명에 대한 검증이 가능하다. 이런 상황은 사용자 익명성을 요구하는 응용에서는 사용할 수 없다. 이런 문제점을 고려하여 다음과 같은 프로토콜을 설계할 수 있다.

4.1 제안된 프로토콜

집단의 관리자는 기존 signcryption과 같이 초기 설정을 하고 나머지 설정도 기존방식과 동일하다고 가정하면, 다음과 같은 방식으로 Alice는 (<%&)를 생성하여 자신의 익명성을 Bob이 소속된 특정 집단을 제외한 제3자로부터 보장 받을 수 있다. 여기서 Cg는 Alice의 공개키 /电를 포함한 인증서이다.

#

Bob 혹은 그 집단의 구성원은 Alice에게 받은 (勺, C2)와 자신의 비밀정보 (汚, 海)를 가지고 다음과 같은 과정으로 먼저 k를 복원 후 검증한다.

#

4.2 안전성 및 연산량 분석

4.2.1 위조방지

악의를 지닌 검증자가 메시지 %과 서명에 관련된 * s, Cg를 알 수 있기 때문에 sig- ncr河ption을 위조하는데 가장 유리한 조건을 가지고 있다. 따라서 이 검증자의 입장에서 위조 가능한 경우의 수를 고려해 보는 것이 가장 현실적이다. 이 검증자가 위조에 성공하기 위해서는 서명값을 만족시키는 또 다른 메시지, "'를 찾거나 혹은 새로운 mWr'Ws'WCerta 찾아야한다. 전자의 경우 . )가 난수발생기의 역할을 함으로 r에 합당한 를 찾기 블가능하고, 후자의 경우 위조자가 와 /값은 계산할 수 있지만 ska 를 모르는 상황에서 합당한 s'값을 생성할 수 없다.

4.2.2 부인방지

만약 분쟁이 발생했을 시 Bobe 제 3의 신뢰기관에 자신이 복호한 1)如 = >쎄却団。宓妇를 전송한다. 이메시지를 받은 신뢰기관은 받은값들을 바탕으로 다음과 같이 *를 복구하여 검증하므로, 부인방지 기능이 제공된다고 볼 수 있다

#

4.2.3 익명성 및 기밀성

C2 안에 서명자의 공개키가 같이 암호화가 되어있음으로 이 암호를 복호하도록 정해져 있는 당사자가 아니고서는 누가 이 메시지를 보내었는지를 알 수가 없다. 따라서 사용자 익명성이 보장된다고 볼 수 있다.

Alice가 보내는 전체 메시지(d, C2)가 전부 대칭키나 공개키 암호방식으로 메시지, 서명값, 그리고세션키가 암호화되어 있다. 따라서, 부가적인 연산으로 Zheng의 signcryption'''보다 강한 기밀성을 제공한다. 기존의 distributed signcry观tion와 비교하면 동일한기밀성을 제공한다고 볼 수 있다.

4.2.4 연산량 분석

기존의 signcryption과 제안한 프로토콜을 모듈라연산의 관점에서 연산량을 비교하면 [표 1]과 같다. 대칭키 암 . 복호 및 해쉬는 모듈라 연산에 비해 적음으로 무시하고 모듈라 곱셈, 역원 및 멱승 연산을중점으로 연산량을 분석하였다. 서명 시 익명성을 제공하지 않는 기존의 signcryption보다 다소 우수함을볼 수 있다. 그러나, 집단의 크기 如이 늘어남에 따라거의 비슷한 연산량을 가진다고 볼 수 있다.

(표 1) 연산량 분석

Ⅴ. 집단 signcryption으로의 확장

Yi Mu 역시 distributed signcrypion을 집단 signcryption으로의 확장倒을 시도하였지만, 매우 복잡하고 집단 관리자가 각 구성원의 비밀정보를 생성하여 나누어 주는 방식임으로 그 관리자를 대상으로 공격이 성공할 시 그 파급효과가 엄청나다. 그리고 기존의 프로토콜과 마찬가지로 unsigncryption시 송신집단의 공개키를 미리 알아야 된다는 약점을 가지고 있다. 이 장에서는 이런 점들을 개선한 새로운 집단 signcryption을 제안한다.

5.1 초기 설정

각 집단의 구성원은 각각 자신의 비밀정보 万 를 생성하여 관리자가 정한 久三乙를 바탕으로 yj (=a"mod/))를 자신의 멤버쉽키로 생성하여 안전한 채널로 자신의 집단 관리자에게 y/를 전송한다. 비밀정보 Xj 대신 y, 를 사용함으로써, 각 구성원은 자신의 관리자에게 비밀정보를 알려줄 필요가 없음으로, 각 구성원의 비밀정보 누출을 방지한다. 그리고 관리자에게 각 구성원의 비밀정보가 집중되는 것을 막는다. 각 집단 관리자는 구성원들의 力를 받아서 관리자의 RSA 서명 ”, (=乂笋1110<1吹淑)를 생성한다. mi 여기서 %"은 관리자 RSA 서명 검증키, nGM 은 두 합성수의 곱인 관리자의 RSA 공개정보이다. 그리고 각 구성원들의 {乃}를 바탕으로 다항식犬y) = 口](y-y, )= 或를 만들어 그의 상수 %를 계산한다 2장과 같이 {a, '}, {的를 치환하고 &=W 住라 하면 다음과 같은 방정식이 만족한다.

#

다시, 관리자는 임의의 난수 汽乙와 그의 역수 广1 를 계산하여(0;(= — »4/modg)를 생성한다. 각 구성원에게(V"》를 주고 집단의 공개키 {炕, …, 们+J = {倫, ..., 但?, g ' }와 공개정보 a, g, 仑成을 공개한다.

5.2 확장된 프로토콜

초기 설정이 잘 되었다고 가정하면, 다음과 같은방식으로 Alice는 자신의 在, 偽, 그리고 j板를 바탕으로 자기가 속한 집단 &amp;를 대표하고 자신의 신분을숨긴 채 자기가 보내기 원하는 Bob이 속한 집단 切 어게 (q, e)를 생성하여 보낸다

#

Bob이 속한 方의 구성원은 AUce에게 받은 (C1, c2) 와 자신의 비밀정보 (他, , 力)를 가지고 다음과 같은 과정으로 먼저 擾를 복원 후, 金에서 보낸 메시지임을 알 수 있다. 복호 후, %를 참조하여 G. 집단의 관리자의 공개 검증키 ©GM을 가지고 匕 S* , a + 2 값들을 검증한다.

#

위와 같은 방법으로 송신자의 의 값이 올바른 값인지 아닌지 검증할 수 있다.

이 집단 signcryptione 집단서명과 달리 집단서명과 대칭키 암호를 동시에 하는 방식임으로 집단의크기가 늘어남에 따라 그 효율성이 떨어지는 것은피할 수 없는 성질이다. 제안한 프로토콜은 Yi Mu의확장된 집단 signerryption回보다 간단하면서도 집단 서명의 요구조건을 만족시키는 효율적인 집단 signciyption 이다.

5.3 안전성

확장된 프로토콜은 집단 signcryption으로서 signetyption과 집단서명의 기능을 함께 가지고 있으므로, 아래와 같은 기능들을 동시에 만족해야한다.ILA"]

.정확성; 특정집단의 구성원이 생성한 signcryption 메시지가 수신집단의 구성원에 의해서 정확히 unsigneryption이 되어야한다는 성질로서, 5.2의 프로토콜의 동작과정을 살펴봄으로써, 정확성을 지님을알수있다.

.위조방지; 4.1에 제안된 프로토콜에서의 경우와 마찬가지로, . )가 난수발생기의 역할을 하고 각 집단 구성원들의 비밀키 幻가 자신을 제외한 누구에게도 노출되지 않는다. 따라서 제3자의 위조로 인한 공격은 불가능하다.

. 익명성; 수신자가 송신한 signeryption을 자신의 비밀정보로 복호한 후에도 송신집단의 어떤 구성원으로부터 받은 지를 확인하는 것은 계산상 불가능하다. 송신자의 정보가 ^( = g) * 와 刼。형태로 숨겨져 있으므로, 이산대수문제의 어려움과 세션 마다 변하는 난수를 알기 어렵다는 것에 기인하여 수신자는 누가 송신한지를 알아내기는 계산상 불가능하다

. 기밀성; 4.2.3의 기밀성과 동일한 기밀성을 가진다.

. Unlikability; 유효한 두 개의 복호된 메시지(丑) "Im Ml弗』畝)와 ( 丑시1%'|1刃| s'll&'ll奶')로부터송신자가 동일한지 아닌지 알아낼 수가 없다. 이기능은 익명성의 경우와 유사하게, 어느 누구도 송신자의 정보를 지닌 &와 刼。에서 매번 변하는 난수 t를 알지 못하므로, 두 메시지간의 연계성을 알수 없다.

. Exculpability; 어떤 집단구성원 및 관리자도 다른 집단의 구성원을 대신해서 위조를 하지 못해야 한다는 성질이다. 이 프로토콜의 경우, 이산대수 문제에 근거하여 어떤 구성원 및 관리자도 & 로부터각 구성원의 비밀키 6를 알아낼 수 없음으로 위조가 불가능하다. 심지어 그 집단의 관리자 역시, 자신의 집단구성원을 대신해서 서명 및 암호를 할 수가 없다.

.부인봉쇄(Traceability); 분쟁이 발생 시 메시지를 받은 &의 구성원은 0의 관리자에게 5과 복호를한 메시지 Z*, >(C2)를 전송한다. 그 관리자는 자신이 알고 있는 {力}정보를 바탕으로 4, ?=(爵严인지를 확인하여 누가 signcij0ion하였는지를 알아내어 분쟁을 해결한다.

. Coalition-resistance; 집단의 구성원 여러 명이 담합하여도 위조를 할 수 없어야 된다는 성질이다. 이프로토콜의 경우, 관리자가 구성원으로부터 %를 받아 RSA 서명인 0°를 그 구성원에게 전달한다. 어떤 경우의 담함에도 관리자나 유효한 구성원의 도움없이는 유효한 %, %, 〃를 생성할 수가 없다.

5.4 연산량

기존의 확장된 signcryption四과 제안한 확장된 프로토콜을 모듈라 연산의 관점에서 연산량을 비교하면 [표 2]와 같다. [표 1]과 같이 대칭키 암 . 복호 및해쉬는 모듈라 연산에 비해 작음으로 무시하고 모듈라 곱셈, 역원 및 멱승 연산을 중점으로 연산량을 분석하였다. 약간의 역원계산 및 RSA 연산이 첨가되었지만, 전체적인 연산량 측면에서 서명 및 복호 시 기존의 확장된 집단 signcryption보다 효율적임을 볼 수 있다.

(표 2) 확장 프로토콜의 연산량 분석

Ⅴ. 결론

이 논문에서는 계산상 증가없이 사용자 익명성을 가지면서 부인방지가 가능한 새로운 distributed signcryption을 제안하고, 이를 바탕으로 기존의 프로토콜이 가지고 있는 집단 관리자의 비밀정보의 집중을 막고, 사용자 익명성, 그리고 분쟁발생 시 부인방지를 할 수 있는 집단 signcryption을 제안하였다. 이에 더하여 이 프로토콜을 집단 signcryjrtion으로 확장시켰다. 제안된 프로토콜은 전자상거래 및 비공개 입찰과 같은 응용에 효율적으로 쓰일 수 있다.

Acknowledgement

유용한 조언을 해주신 익명의 심사자들에게 감사드립니다.

본 논문은 2003년도 영남지부 학술대회 우수논문임.

본 연구는 대학 IT 연구센터 육성 • 지원 사업의 연구 결과로 수행되었음.

References

  1. Advances in Cryptology - CRYPTO'97, LNCS 1294 Digital Signcryption or How to Achieve Cost(Signature & Encryption) << Cost(Signature) + Cost(Encryption) Y.Zheng
  2. Proceedings of 1997 Information Security Workshop(ISW'97), LNCS Signcryption and its applications in efficient public key solutions Y.Zheng
  3. Proceedings of WISA2001 Jointly unsigncrypptable signcrption schemes J.Koo;H.Kim;I.Jeong;D.Lee;J.Lim
  4. Progress in Cryptology-INDOCRYPT'2000, LNCS 1977 Distributed signcryption Y.Mu;V.Varadharajan
  5. Proceedings of Cryptography and Coding, LNCS Delegated decryption Y.Mu;V.Varadharajan;K.Q.Nguyen
  6. Federal Information Processing standars Publication FIPS PUB 186 U.S. Department of Commerce Digital Signature Standard National Institute of Standards and Technology
  7. Proceedings of PKC'98, LNCS 1431 A Signcryption scheme with signature directly verifiable by public key F.Bao;R.H.Deng
  8. Proceedings of ICISC'99 A 2-pass Anthentication and Key Agreement Protocol for Mobile Communications K.Lee;S.Moon;W.Jeong;T.Kim
  9. Proceeding of ACISP 2000 AKA Protocols for Mobile Communications K.Lee;S.Moon
  10. Proceeding of CIC'2002, LNCS v.2254 A WTLS Handshake protocol with User Anonymity and Forward Secrecy D.Kwak;J.Ha;H.Lee;H.Kim;S.Moon
  11. Advances in Cryptology-CRYPTO'97, LNCS 1294 Efficient group signature shemes for large groups J.Camenisch;M.Stadler
  12. Advances in Cryptology-CRYPTO'2000, LNCS 1880 A practical and provably secure coalition-resistant group signatuer scheme G.Ateniese;J.Camenisch;M.Joye;G.Tsudik
  13. Proceeding of PKC'2001, LNCS 1992 Efficient revoation in group signcryption E.Bresson;J.Stern
  14. Proceeding of ICISC'2002, LNCS v.2587 Convertible group undeniable signatures Y.Lyuu;M.Wu