Ⅰ. 서론
그룹 서명 기법의 개념은 DChaum과 van Heyst⑼에 의해 처음으로 제시되었다. 그룹 서명 기법에서 그룹 구성원에게 서명 권한을 부여하는 것은 그룹관리자에 의해 이루어지며 각 구성원이 발행하는 서명에 대해서는 익명성이 보장된다. 이때 서명된 문서는 그룹의 공개키에 의하여 정당성이 확인되며 분쟁이 발생하는 경우에는 권한이 부여된 그룹 신원 관리자만이 구성원의 신원을 밝혀 낼 수 있도록 한다. 이때 그룹 관리자와 그룹 신원 관리자는 동일할 수도 있고 그룹 관리자의 권한을 최소화하기 위해 분리되어 구성 될 수도 있다. 일반적으로 그룹 서명 기법은 다음과 같은 과정으로 구성되어 있다.
■ 초기구성(Setup) : 그룹 관리자의 키와 시스템 매개변수를 생성한다.
■ 가입 (Join) : 그룹에 가입하고자 하는 새로운 구성원이 그룹 관리자로부터 그룹 서명을 생성할 수 있는 권한(멤버쉽 키)을 얻는다.
■ 서명 (Sign) : 권한을 부여받은 구성원이 그룹을 대표하는 서명을 생성한다.
・ 검증(Verify) : 그룹키를 이용하여 주어진 서명이 정당한 그룹 구성원에 의해 생성된 것인지 확인한다.
・ 추적(Tracing) : 부적절한 서명이 발생하는 경우 그룹 신원 관리자는 해당 서명을 발행한 그룹구성원의 신원을 밝혀 낸다.
지금까지 서명의 길이와 그룹의 공개키가 그룹 크기에 독립적일 수 있는 보다 효율적인 기법을 고안하기 위해 다양한 그룹 서명 기법들이 연구되었다. 그 결과〔5.9, 10.12〕에서 제시된 그룹 서명 기법들은 길이에 대한 요구조건을 만족시키지 못했지만 [2.6- 8〕에서 제시된 기법들은 이 조건을 수용하고 있다.
또한 그룹 서명 기법은 구성원 공모 공격에도 견딜 수 있어야 한다. 그룹 관리자를 포함한 구성원 일부가 공모하여 추적 불가능한 서명을 생성하거나 혹은 다른 구성원의 신원으로 잘못 밝혀질 수 있는 불법 서명을 생성할 수 없어야 하는 것이다. [2.6] 은 구성원 공모 공격에 대해 증명 가능한 안전성을 제공하는 기법을 다루고 있다.
이처럼 효율적이고 안전한 그룹 서명 기법의 발달에 따라 그룹 서명 개념은 전자 화폐 시스템, 경매시스템, 투표 시스템 등 다양한 응용분야에 적용되고 있다. 그러나 이러한 실용분야에 적용되기 위해서 해결되어야 할 몇 가지 문제점들이 남아 있는데 그 중 가장 중요한 것은 구성원 탈퇴에 대한 효율적인 운영이다.
실생활에서 그룹은 유동적이다. 구성원들은 승진 등의 다양한 이유로 인해 자발적으로 그룹을 떠날 수도 있고 구성원이 불법행위를 저지른 경우는 그룹관리자에 의해 강제 탈퇴될 수도 있다. 이런 경우 다른 구성원들의 익명성은 그대로 보존하면서 불법행위를 벌인 그 구성원이 생성했던 서명들을 추적해내야 하는 경우가 생길 수도 있다.〔3〕에서 언급했듯이 효율적이고 안전한 구성원 탈퇴가 해결되어야 할 문제로 남아 있다.〔4〕에서는 ⑹에 기반하여 그룹 구성원 탈퇴방법을 제시하였으나 서명의 길이가 탈퇴 인원수에 비례하여 증가하는 문제점을 지니고 있다. 이 외에 지금까지 그룹 서명 기법에 있어서 구체적으로 구성원 탈퇴 기법을 제안한 논문은 거의 없다.
이 논문에서는 구성원 탈퇴를 허용하면서 서명 길이는 구성원의 수나 탈퇴 인원수에 독립적인 그룹 서명 기법을 제안한다. 제시하는 기법은 Camenisch와 Michels이 제시했던 그룹 서명 기법⑹에 기반하여 구성원 탈퇴 과정을 구성하고 더 나아가 특정 구성원에 의해 생성된 서명을 추적하는 방법을 새롭게 제안한다.
본 논문의 구성은 다음과 같다. 2절에서는 그룹 서명 기법에서 구성원 가입/탈퇴를 허용하기 위해 제시한 기법의 모델과 접근방식에 대해 설명하고 기존 기법과 비교해 본다. 3절에서는 제시한 그룹 서명 기법의 안전성을 위해 필요한 가정들을 설명한다. 4절에서는 제시하는 기법을 구체적으로 구현하고 그 안전성 분석을 5절에서 다룬다. 마지막으로 6절에서 이 논문에 대한 결론을 논하고자 한다.
Ⅱ. 새로운 기법의 개념 및 관련 연구
이 절에서는 제안 기법의 개념과 접근 방식에 대해 간략히 설명한다. 또한 기존에 제안된 기법과 새롭게 제안하는 기법을 비교. 분석한다.
2.1 제안 기법의 모델 및 접근 방식
본 논문에서 제안되는 모델의 큰 특징은 구성원 탈퇴 과정과 추적 과정이다. 지금까지의 추적 과정은 특정 서명과 관련된 해당 구성원의 신원을 추적하는 것만을 다루고 있으나 여기서는 특정 구성원이 생성한 서명을 추적하는 방법을 추가로 제안한다.
구성원 탈퇴는〔I〕의 브로드캐스트 암호화 기법을 사용함으로써 보다 안전하고 효율적으로 이루어진다. 브로드캐스트 암호화 기법은 암호화 메시지를 브로드캐스트하면 사전에 권한이 부여된 구성원만이 메시지를 복호화 할 수 있도록 하는 것이다. 특히〔1〕에서 제안된 기법은 권한이 박탈된 사용자는 더 이상 브로드캐스트되는 암호화 메시지를 복호화 할 수 없도록 하는 기능이 포함되어 있다.
2.1.1 모델
제안하는 그룹 서명 기법은 다음과 같은 단계로 구성된다.
・ 초기구성 (Setup) : 그룹 관리자와 그룹 신원 관리자 에 의해 이루어진다. 이 과정에서 그룹 관리자의 비밀키 XMt 공개키 乂“과 그룹 신원 관리자의 비밀키 xR, 공개키 &이 생성된다.
・ 가입(Join) : 그룹 관리자와 그룹 구성원이 되고자 하는 사용자 사이에서 이루어지는 프로토콜로써 그룹 관리자가 다음과 같은 키를 생성한다. 새로운 그룹 구성원의 비밀키 队, 공개키 비밀소속키 와 그룹의 공개 소속키 Um, 그리고 그룹의 공개 갱신키 “V이 생성된다. 또한 가입하는 그룹 구성원은 구성원 탈퇴시 브로드캐스트기법을 통하여 암호화되서 공개되는 E(UG 을 복호화하기 위한 개인키를 얻는다.
・ 탈퇴 (Delete) : 그룹 관리자는 입력 정보인 탈퇴구성원의 공개키 标에 기반하여 그룹의 공개 소속키 L板과 그룹의 공개 갱신키 Un을 갱신한 후. 탈퇴하는 구성원이 복호화할 수 없도록〔1〕의 기법으로 암호화된 E(JJG을 생성한다.
・ 서명(Sign) : 서명 생성 알고리즘은 그룹 구성원이 수행하는 것으로 메세지 也고!■ xg, %;, 勿, , 力?, Uc을 입력값으로 하여 서명값。을 생성한다.
・ 검중(Verify) : 검증 알고리즘은 메세지 払 서명 값 a, yK yR 그리고 "m에 대해서。가 정당한 그룹 구성원에 의해 생성된 것인지에 대해 검증하고 유효하다고 판단되면 1을 출력한다.
・ 구성원 추적 (User-Tracing) : 이 알고리즘을 통해 그룹 신원 관리자는 서명값 0, 메세지 m, xR, yR 을 바탕으로。를 생성한 그룹 구성원의 신원을 잦는다.
■ 서명 추적 (Signature-Tracing) : 이 알고리즘은 그룹 신원 관리자에 의해 수행되는 것으로 특정 구성원의 공개키 %;와 그룹 신원 관리자의 비밀키 Xr를 이용하여 서명값。가 특정한 그룹 구성원에 의해 생성되었음이 입증되는 경우 1을 출력한다.
제안기법에서는 다음과 같은 안전성이 필요하다.
■ 서명 위조 불가능성 : 오직 현재 그룹에 소속되어 있는 구성원만이 정당한 서명을 생성할 수 있다. 더 나아가서 그렇게 생성된 서명 값은 필요시 그룹 신원 관리자에 의해 추적이 가능하다. 특히. 그룹을 탈퇴한 구성원은 더 이상 정당한 서명을 생성해 낼 수 없어야 한다.
・ 익명성 : 그룹 신원 관리자 이외에는 주어진 서명을 생성한 구성원의 신원을 확인하는 것이 어렵다.
・ 서명 연계 불가능성 : 두 개 이상의 서명이 주어졌을 때 그룹 신원 관리자를 제외하고는 그 누구도 그 서명이 동일한 그룹 구성원에 의해 생성된 것인지 아닌지 판단하기 어렵다.
■ 공모 위조 불가능성 : 그룹 관리자를 포함하여 그룹 구성원 일부가 공모하여 공모에 가담하지 않은 다른 구성원에 의해 생성된 것처럼 보이는 서명을 생성해 낼 수 없다. 더 나아가서 공모자들이 그룹을 이미 탈퇴한 구성원을 대신해서 정당하게 보이는 서명을 생성할 수 없다.
■ 구성원 추적 위조 불가능성 : 주어진 서명에 대해 그룹 신원 관리자가 그 서명 생성자의 신원을 거짓으로 밝힐 수 없다.
- 서명 추적 위조 불가능성 : 그룹 신원 관리자가 특정한 그룹 구성원에 의해 생성된 것이 아닌 서명에 대해 거짓으로 그 구성원이 생성한 것이라고 증명할 수 없다.
이와 같이 본 논문에서 제안한 기법의 구성과 Camenisch 기법⑹ 구성의 차이점을 비교해보면 다음 표와 같다.
(표 1) 제안 기법과 (6) 기법의 비교
3.1.2 접근방식
구성원 변경 관리를 위한 핵심 개념은 다음과 같다. 그룹 내 구성원의 변경사항 처리를 위해 그룹 관리자는 그룹의 공개 소속키 U”과 그룹의 공개 갱신키 齐을 관리한다. 또한 새로운 구성원이 가입하는 경우 그룹 관리자는 그 구성원의 비밀 소속키 爲;를 생성한다.
가입 또는 탈퇴의 경우 그룹 관리자는 먼저 그룹의 공개 소속키 Uh과 그룹의 공개 갱신키 U* 을 변경하고 가입의 경우 Um과 顷을 그대로 공개. 탈퇴의 경우 Um과 브로드캐스트 기법을 이용하여 암호화된 E(Un)을 공개한다. 이때〔1〕의 브로드캐스트 암호화 기법에 따라 탈퇴에 관련되지 않은 정당한 그룹구성원만이 그룹의 공개 갱신키 U、, 을 복호화 할 수 있다. ".”을 얻은 그룹 구성원은 정당한 서명 생성을 위해 그룹의 공개 갱신키 Un를 이용하여 각자 자신의 비밀 소속키 L4;를 변경하고 새로 변경된 자신의 비밀 소속키가 정당한지 그룹의 공개 소속키 Uu를 이용하여 확인한다. 또한 누군가가 주어진 서명 값이 정당한지 확인하고자 한다면 그룹의 공개 소속키를 이용하여 확인해야 한다. 이때 그룹을 이미 탈퇴한 사람이 자신이 가지고 있던 이전의 비밀 소속키를 이용하여 정당하게 보이는 서명을 생성하려 하는 것은 계산적으로 어려운 문제이다.
이상 설명한 내용에 따르면 그룹 관리자는 각 구성원의 비밀키에 대해 오직 새로 가입하는 구성원의 비밀키만을 생성해주면 되고 기존 구성원들의 비밀키는 각 개인이 관리하도록 되어있음을 알 수 있다. 따라서 그룹 구성원 변동에 따라 발생하는 계산량은 각 구성원들에게 분산되어진다.
2.2 관련연구
여기서는 제안하는 새로운 기법과 관련된 기존 연구에 대해 비교. 분석하고자 한다.
2001년 PKC에 E. Bresson과 J. Stern에 의해 발표된 "Efficient Revocation in Group Signatures141" 이전에 그룹 서명 기법에서 구성원의 탈퇴 과정을 구체적으로 논의한 경우는 거의 없다. 이 논문 역시 여기서 제시하고 있는 기법과 마찬가지로 Camenisch와 Michels의 그룹 서명 기법〔6〕에 기반하고 있다. 따라서 먼저〔6〕의 논문을 살펴보고〔4〕와 본 논문의 제안 기법을 비교해 보도록 한다.
〔6〕에서는 Modified Strong RSA 가정에 기반한 새로운 그룹 서명 기법을 제안하고 있다. 앞서 그룹 구성원 크기에 독립적인 서명을 처음으로 제시하였던 〔8〕의 기법과 마찬가지로 독립적인 그룹 서명 길이를 유지하고 있으면서 〔8〕보다 계산적으로 효율적인 방법을 구성함으로써 구성원 수가 많은 큰 그룹에 적용이 용이하도록 하였다. 그러나 이 논문에서도 다른 연구 결과들과 마찬가지로 구성원 탈퇴 문제에 대해서는 다루고 있지 않다.
〔4〕는 위의〔6〕에서 제시된 그룹 서명 기법에 기반하여 구성원 탈퇴가 가능하도록 하는 새로운 기법을 제시하였다’ 이 기법의 경우 구성원 탈퇴시 그룹관리자는 공개키 기반 구조에서 탈퇴 사용자 리스트를 관리하는 것과 마찬가지로 탈퇴 구성원의 공개키 리스트를 관리하게 된다. 정당한 그룹 구성원들은 서명을 생성할 때 자신의 공개키가 탈퇴 구성원의 공개키 중 어떤 것과도 일치하지 않음을 보이는 서명을 덧붙혀 생성해야만 한다. 따라서 탈퇴 인원수에 따라 서명생성을 위한 계산량뿐만 아니라 서명길이도 증가하게 되고 서명을 확인하는 단계의 계산량도 함께 증가한다.
본 논문에서 제안하는 기법에서는 그룹 관리자는 〔6〕에서 보다 두 개가 더 증가한 세 개의 그룹 키를 관리한다. 그룹 공개 소속키와 갱신키가 이에 해당하며 이 키를 이용하여 탈퇴 인원의 공개키를 관리하게 돈1다. 새로운 구성원이 가입하거나 혹은 기존구성원이 탈퇴하는 경우 각 구성원이 소유한 멤버쉽키의 재발급 없이 그룹의 공개 정보와 구성원의 비밀키 일부만을 수정하면 된다. 이를 위해 그룹 관리자의 경우 두 번의 모듈러 지수승. 두 번의 모듈러 역수 계산. 그리고 변경 인원수에 따른 모듈러 곱이며 각 그룹 구성원의 경우는 오직 한 번의 모듈러 곱이 필요하다. 그■룹 구성원 탈퇴시에는 그룹 공개 갱신키를 위한 브로드캐스트 암호화/복호화 기법의 연산이 포함된다. 이때 그룹의 공개키, 구성원의 비밀키, 서명은 일정한 크기를 유지하며 구성원 등록과 탈퇴에 대한 계산 복잡도는 그룹 크기와 관련이 있지만 계산부담이 각 구성원에게 분산되어 있다. 그리고 그 이외 과정의 계산 복잡도는 그룹 크기에 독립적이匸" 서명 검증 또는 서명 추적을 위해서는 〔6〕에서 제안된 연산량에 테이블 검색이 추가될 뿐이匸}. 테이블 크기를 机이라 할 때 검색시 0(logm) 정도가 걸린다. 이처럼 탈퇴과정을 제공하는 기법을 구현하는데 있어서 서명길이를 항상 일정하게 유지하기 위해 각 과정마다〔6〕의 기법에서 요구되는 연산량에 덧붙혀 추가적으로 연산량이 다소 증가하게 됨을 알 수 있고 이를 표현하면 다음과 같다.
(표 2) 본 기법에서 (6)의 연산량에 대해 증가되는 연산량 : 가입 또는 탈퇴 구성원수, 탈퇴구성원 테이블 길이, MUL-모듈러곱, INV-모듈러 역수 계산, EXP-모듈러 지수승
이처럼 다소 연산량이 증가하지만 서명의 길이는 계속해서 일정하게 유지될 수 있다는 측면에서 본 논문에서 제시하는 모델은〔4〕보다 효율적이며 구성원의 변화가 수시로 발생하는 큰 그룹에 적합한 해결책이 될 것이다. 더 나아가서 불법 행위를 행한 특정 구성원이 생성한 모든 서명 추적이 가능한 방법을 추가로 제시하고 있다.
Ⅲ. 기본 가정
이 절에서는 제안한 그룹 서명 기법을 구현하기 위해 필요한 암호학적 가정들을 살펴본다. 제안된 기법은 Camenisch와 Michels의 방법〔6〕에 기반하여 구성원 탈퇴 과정을 수행하고 있기 때문에 여기서는 그들이 제안한 기법과 관련한 내용만을 간략히 언급하고〔6〕의 제 4절에 설명된 암호학적 기반들에 대해서는 생략하도록 한다. 그 암호학적 기반들은 증명 시스템으로써 이를 이용하여 한 사용자가 다른 사람들에게 자신이 정확한 자료를 지니고 있다는 사실을 정보의 누출없이 증명할 수 있도록 되어 있다. 이는 메세지에 대한 서명과 동시에 비밀키에 대한 증명을 수행할 수 있기 때문에 이러한 증명 시스템을 "signatures based on a proof of knowledge". 줄여서 SPK라 칭한다. 앞으로 이 논문에서 SPK가 사용될 때마다 증명하고자 하는 비밀키가 무엇인지 세부적인 내용은〔6〕와〔11〕를 참조한다.
1«를 안전성 매개변수라 하고 G는 길이가 인 위수를 가진 군이라 하자. 이때 위수는 길이 (九, -2)/2 인 두 개의 소수로 인수분해 되어진다.
■ 문제 1(RSA 문제) G와 (z, e)MG/{±1}xZ가 주어졌을 때, 를 만족하는 “vG를 찾는 문제.
丁를 입력값 1’에 대해 G와 zmG/{±1}를 출력하는 키 생성자라 하자.
■ 가정 1(RSA 가정) 모든 확률적인 다항식 시간 알고리즘 A. 모든 다항식 fi( - ). 그리고 충분히 큰 /g 에 대해 다음을 만속하는 확률적인 알고리즘 T가 존재한다.
#
다음에 나오는 두 가정은〔5〕에서 인용한 것이다. 이 논문에서는 Fujisaki와 Okamoto〔10〕에 의한 "Strong RSA 가정''을 변형한 "Modified Strong RSA 가정”을 제안하였다. k, /|, 伙丄와 £>1를 안전성 매개변수라 하고 7 = 以久 + &) + 1라 하자. 또한 zwG에 대해 M(G, 2) — {(w, e)\x— ue, G, k{2 .■., 2/|+2/, ), e: prime} 라 하자.
・ 문제 2(Modified Strong RSA 문제) G, kG와 IM = 0( 腸 인 沮u〃(G, z) 가 주어졌을 때. uc=z, ew{2‘, -2…, μ十湼)를 만족하면서 M에 속하지 않는 한 쌍의 (“, e)w(;xZ를 찾는 문제 .
・ 가정 2(Modified Strong RSA 가정) 모든 확률적인 다항식 시간 알고리즘 A. 모든 다항식 p{ - ), 충분히 큰 £ " = 0( 捕인 모든 Me M(G, 2). 그리고 적절하게 선택된 在와 e에 대하여 다음을 만족하는 확률적인 알고리즘 T가 존재한다.
#
〔6〕에서 기술된 것처럼. 만일 z= ue= u ° 인 두 개의 쌍 (“, e), e') 와 gcd(e, e') = l 이 알려진다면 "extended Euclidean 알고리즘을 이용하여 2=2注를 만족하는 2를 쉽게 찾을 수 있다. 그러나 적절히 선택된 매개변수、/2, e* , 에 대해서 ''~2 ', -, 21, + 2「} 이기 때문에 奕'는 요구되는 범위를 만족시키지 못한다. 그러므로 "Modified strong RSA 가정”에 기반한 그룹 서명 기법은 공모 공격에 강하다. 또한 "Modified Strong RSA 문제”가 최소한 "Strong RSA 문제"만큼 어려운 문제임을 〔6〕와 〔13〕를 통해 알 수 있다.
"Modified Strong RSA 가정에 덧붙여 Camenish와 Michels의 그룹 서명 기법은 Diffie-Hellman Decision(DHD)가정에 기반한다. 이 가정에 대해 설명하기에 앞서 먼저 다음 두 집합을 정의하도록 하자.
#
이때 必|0(G)이고 应| =/厂2 이다.
■ 가정 3(Diffie-Hellman Decision 가정) 모든 확률적인 다항식 시간 알고리즘 彳와 충분히 큰 lg \에 대해 다음 두 확률분포
Pr[a=l|G = T(1 冗, Kg rDH(G)=A(Q] 와
Pr[«= 1|Q =7X1 '"), K드 rGKSz: =A(K)]
를 계산적으로 구별해내기 어려운 확률적인 알고리즘 T가 존재한다.
如이 RSA-modulus인 G=《의 경우에 대해 DHD 가정을 고려해 보자. 이런 경우 어떤 幻居2, 皿 % 制;에 대해서는 log gM 와 l*% og 에 관한 정보가 Jacobi- symbol에 의해 누출될 수 있으므로 일반적으로 DHD가정은 성립하지 않는다. 예를 들면, 만일 #이고 #이면, log gjl 丰 log 弟%이다.
■ 주 1 宛이 RSA-modulus인 G=Z:의 경우 G=<g를 (「으■) = 】 인 G=C의 부분군으로 정의하면 DHD가정은 성립한다.
Ⅳ. 제안된 기법
이제 제시하는 그룹 서명 기법에 관하여 설명하도록 한다. 제안하는 기법의 안전성은 가정 1, 2, 3에 기반하고 있다. 특히. 구성원 탈퇴를 위해 사용되는 그룹 소속키와 그룹 갱신키에 대한 안전성은 가정 1에 기반한다. 여기서는 구성원의 가입 및 탈퇴에 촛점을 두고 제안 방식을 기술해 나갈 것이다.
4.1 시스템 초기 구성(Setup)
먼저 그룹 관리자와 그룹 신원 관리자는 각자 공개키와 비밀키를 생성한다.
그룹 관리자는 다음과 같은 과정을 수행한다.
1. 군 G=<g>을 선택하고 동일한 위수 g")를 가지면서 가정 2, 3을 만족하는 두 개의 임의의 값 z, huG을 선택한다. 또한 군 G의 위수는 비밀로 한다.
2. 임의의 큰 소수 力와 q(n2")를 선택한다. 이때 소수 />', <?'에 대해 />=2/>'+ 1, g = 2g'+ 1 형태이고 p, q至, 伊抑 (mod 8) 를 만족하도록 한다.
3. /)와 g는 비밀키로 하고 &=何는 공개한다.
4. 耸이 RSA-mod일 때 幻”右产”口乂너。(如))인 공개키 公와 비밀키 心를 선택한다.
5. z, g, /z, G, 公, 와 4;를 공개하고 g, 力와 z가 동일한 위수가 됨을 증명한다.
또한 그룹 관리자는 해쉬함수 H: {* 0, 1} —>* {0, 1} 안전성 매개변수 7, h, l2, e을 선택. 공개한다.
그룹 신원 관리자는 다음 과정을 수행한다.
1. 비밀키 %炉{0, ・", 2‘"-1}을 임의로 선택한다.
2, 攻 = ”” 을 공개한다.
4.2 가입(Join)
이것은 그룹 관리자와 그룹의 새로운 구성원이 되고자 하는 Alice 간에 수행되는 상호 프로토콜이다.
Alice는 다음과 같이 수행한다.
1. .肅丰l(mod 8)와 xc=f=xG( mod 8)을 만족하는 임의의 소수 ic, xcer(2 ’-1}을 선택한다.
2.와 을 계산한다.
3. %<;, 드와 이에 대한 commitment 값을 그룹 관리자에게 보낸다.
4. 다음에 대한 상호증명 프로토콜을 그룹 관리자와 함께 수행한다.
#
卬는 旳頒{2 匕 — 2 血I"', …, 2‘ + 2如52}와 注 = /를 만족하는 정수 处와 £( = /)의 이산대수 지식에 관한 통계적인 영지식 증명에 기반하고 있다. 따라서 그룹 관리자는 증명 W를 통하여 Alice가 厲와 示를 정확히 선택하였음을 신뢰한다.
C={6\ G?, …, G”. J을 현재 그룹에 소속되어있는 구성원들 집합이라 하고 을 새로 가입하는 구성원 Alice라 하자. 比는 각 구성원의 공개키를 의미한다. Alice가 그룹에 가입하기 전 상태에서의 그룹 공개 소속키는。必=皿…恥…/라 하자. 이때 는 임의의 값이다.
그룹 관리자는 다음을 수행한다.
1. Alice의 공개키 yc= / "을 생성한다.
2. 그룹의 공개 소속키 % = 恥「方(顷 y"'를 재생성한다’ 이때 y''6G이다.
3. 그룹의 공개 갱신키 Un=\ 弋, " ) 을 계산 한다.
4. 새로운구성원 G, ”의 비밀 소속키 t/c. = (yG|y(, - 方.")''을 생성한다.
그룹 관리자는 J7”과 Un을 공개하고 새로운 구성원의 공개키 “과 비밀 소속키 I".을 Alice에게 보낸다. 또한 구성원 탈퇴가 발생하는 경우 암호화된 EQJn、)을 복호화하기 위해 필요한 개인키를 전송한다. 이때 (xj®;)가 Alice의 멤버쉽 키가 된다. 새로운 구성원 Alice( 는 자신의 공개키 %.과 비밀 소속키 Ud을 각각 席: = z 와 (UCJ Um을 확인함으로써 검증할 수 있다. 새로운 구성원 Gm을 제외한 각 구성원 GO Mi Mm —1)은 그의 비밀소속키 LW을 U(: = UCi ■ Un 로 변경한다. 즉.
#
각 그룹 구성원은 새로 갱신한 키 Ug을 Uu = (UQ 爲<;을 이용하여 검증할 수 있다.
4.3 탈퇴(Delete)
이 프로토콜은 가입 프로토콜과 유사하다. 그룹구성원 0의 탈퇴를 위해 그룹 관리자는 그룹의 공개소속키 ""에서 해당 구성원의 공개키 圮를 저】거해야 하고 다른 그룹 구성원들은 그들의 비밀 소속키를 갱신하면 된다.
현재 그룹의 공개 소속키를。“=四・”2"이라하자. 이때 y''MG는 임의의 값이다.
그룹 관리자는 다음과 같이 탈퇴 프로토콜을 수행한다.
1. 儿= Um- #를 계산한다.
즉, uu= y c, ;--y G,
2. #를 계산한다
그룹 관리자는 브로드캐스트 기법을 이용하여 탈퇴구성원 G, 는 복호화 할 수 없도록 암호화한 E<UG을 Um 과 함께 공개한다.
각 그룹 구성원은 각자의 개인키를 이용하여 “N을 복호화 한 후 자신의 비밀 소속키 U(: 를 U(, = UG: . UN로 변경한다. 즉. i<j 일 때
#
각 그룹 구성원은 변경된 U<;을 (UGyxy(:= Um을 통하여 검증한다.
4.4 서명(Sign)
먼저. 그룹 서명에 대해 정의하도록 한다. ; 을 IY&三丄-k、e>LlKl、이 s을
・ 정의 1 eM*만족하는 안전성 매개변수라 하자. 메시지 me (0, 1},에 대한 그룹 서명은 다음을 만족한다.
#
■ Remark 1 이와 같은 그룹 서명은 다음과 같이 표현될 수 있다.
#
L에 대한 비상호 증명 프로토콜은 以 = g"“와 *戶 {2 " — 2 "+"T, . . ., 2 ‘‘ + 2 "* "w+1} 을 만족하는 정수 x<;와 a의 이산대수 지식에 관한 통계적인 영지식 증명에 기반한다.
”z* u{0, U에 서명하기 우〕해. 그룹 구성원은 다음과 같은 과정을 수행한다. .
1. 정수 we 浏), 1}''을 선택하고. a=g"', b = y(:y'r{, d=g1, 'h"', a= U(:h", 6 = y彩 心을 계산한다.
2. 勺三剥0, 1}"-七 初宀, {0, 1}"‘‘" 그리고 件 0* , 1} "顶 을 선택한다.
3. "=矿(1/诡, 如=ar, (l/g)' ', h = g, \ 為=gr, h' \ 4 = wS心을 계산한다.
4. c=H(前加力I国I세에께削시I시間I시I시㎛)를 계산한다.
5. s, = r[ — c(^<; — 2 /: ) ( e Z), s2 = h — cwxc{ e Z), s3 = r3 — cw( <三 Z).
메시지 »z에 대한 서명의 결과는 (c, S|, s2, s3, a, b, d, a, g) 이다.
4.5 서명검증, 구성원 추적, 서명 추적
검증 과정은〔6〕에 있는 방법에 덧붙여 서명이 생성될 당시의 그룹 공개 소속키를 이용한 검증 단계를 추가한 것이다. 구성원 추적 과정은〔6〕의 방식을 따르고 있다. 서명 추적 과정은 이 논문에서 처음으로 제시하는 새로운 단계로써 주어진 서명에 대해 서명 추적을 통하여 그 서명이 지목된 특정 구성원에 의해 생성되었는지 여부를 판별하는 것이다. 마치 이것은 전자 화폐 시스템에서 코인-추적 과정과 유사하다고 볼 수 있다. 참고로 서명 검증과 서명 추적 프로토콜 수행 시에는 그룹의 공개 소속키 히스토리를 검색하여 서명이 생성된 시점에 사용된 그룹의 공개 소속키를 이용하여야 한다. 이는 서명에 생성날짜를 첨부하고 그룹 소속키 히스토리 테이블을 관리함으로써 해결할 수 있다. 이때 서명의 길이는 여전히 일정하며 테이블을 검색하는데는 테이블 사이즈를 m이라 할 때 0(log, ")정도가 걸린다.
■ 서명 검증 : 주어진 서명에 대해 먼저 정으] 1을 만족하는지 확인하다. 이를 만족하면 검증자는 서명자가 정당한 멤버쉽 키를 사용하였고, 임의의 수 勿를 정직하게 선택하였으며 伊=功饥心의 형태로 이루어져 있음을 신뢰할 수 있다. -L 다음 (-£:“= 方이 성립하는지 체크한다. 이 등식이 성립한다는 것은 서명이 정당한 그룹 구성원 (즉. 탈퇴하지 않은 현 구성원)어〕의해 생성되었다는 것을 의미한다.
■ 구성원 추적 : 메세지 加에 대해 주어진 서명 a=(C, *, %, S" 의 서명자를 밝히기 위해서 그룹 신원 관리자는 먼저 서명을 검증한 후 y<;=2la" 을 계산한다. 구성원 추적 위조 불가능성을 증명하기 위하여 관리자는 P=SPK{(p) : 以产甘“/展/贝; = a°}(y시세"z)을 생성하고 arg = %』成을 드러낸다. 이 SPK는 就와 矿叼에대한 두 개의 이산대수가 동일함을 보이는 것이다. 그리고 이는 yM = g")의 이산대수 지식에 관한 통계적 영지식 증명에 기반하고 있다. 괸리자는그룹 구성원 목록에서 &.와 일치되는 标를 검색한다.
■ 서명 추적 : 서명。== (c, 相災, S3, <z, Z>, d, a, g) 가 특정한 (불법) 구성원에 의해 생성되었는지 여부를 밝히 기 위해 그룹 관리 자는 (a, y/'a, 8)을 그룹 신원 관리자에게 전달한다. 이때 :既는 지적된 특정 구성원의 공개키이다. 그룹 신원 관리자는 (><;'■ . «) ‘、/<이宀을 계산하고 그 결과가 Um과 동일한지 체크한다. 만일 이 값이 동일하다면 그 서명이 특정 구성원에 의해 생성되었다고 판단하고 1을 그룹 관리자에게 전송한다. 이때 주어진 서명이 특정 구성원에 의해 생성된 서명이 아니라면 그룹 신원 관리자는 서명이 해당 구성원에 의한 것이 아니라는 사실 이외에 어떠한 정보도 얻을 수 없다.
Ⅴ. 안전성 분석
이 장에서는 제안된 기법의 안전성에 대해 논한다. 탈퇴하는 구성원이 브로드캐스트 암호화 기법을 통하여 암호화된 그룹의 공개 갱신키를 복호화하는 것이 어렵다는 것은〔1〕에 기반한다. 또한. 탈퇴로 인해 그룹의 공개키를 한 번이라도 복호화하지 못한 구성원은 그 이후에 공개되는 그룹의 공개 갱신키를 이용하여 자신의 비밀 소속키를 정당하게 변경하는 것이 불가능함을 알 수 있다. 만일 그룹 구성원이아니거나 이미 탈퇴한 구성원이 서명을 위조할 수 있다면 이는 RSA 문제를 해결하는 것과 동일한 것임을 다음의 정리를 통하여 보일 것이다.
■ 정리 1 입력값 y(;, h, Gu, 稣, 에 대해 B= 如、과 인 (Umb를 만족하는 (臨, a)를 찾는 확률적인 알고리즘이 존재한다는 것은 이 알고리즘이 RSA 문제를 해결한다는 것과 동치이다.
(증명)
攻, %;3, <方, 과 e, v이 주어졌을 때' 확률적인 匸.卜 항식 시간 알고리즘 A가 ( UiJ a°')B=b를 만족하는 유효한 (w, a)을 찾아 낼 수 있다고 가정하자. 그러면 우리는 다음을 알 수 있다.
#(1)
식 (1)로 부터. 다음 등식을 얻는다.
#(2)
즉. 이것은 4가 식 (2)를 만족하는 쌍 ( 從, a) 를 찾아낼 수 있음을 의미한다. 인 가 주어질 때 식 (2)에서 ("〃死)를 妒으로 치환하면 다음과 같다.
#(3)
그러므로 m= alh"를 찾을 수 있고 이는 RSA 문제를 풀 수 있다는 것을 의미하고 있다.
역으로. RSA 문제를 풀 수 있는 알고리즘 4’가 존재한다고 하면 wwrG에 대해 4는 입력값 쌍이 b、eQ오료 부터 UMe/b=ae' 즉. (UmW'、)B = 3을 만족하는 a을 생성할 수 있다. □
이제부터 서명 위조 불가능성과 서명 추적 위조 불가능성에 대한 안전성에 대해 설명한다. 그 외의 안전성은〔6〕와 동일하므로 여기서는 생략한다.
・ 서명 위조 불가능성 : 오직 정당한 그룹 구성원만이 그룹 신원 관리자에 의해 구성원 추적 및 서명 추적이 가능한 합법적인 서명을 생성할 수 있다. (가정 2에 기반하여. 군의 위수를 알지 못하는 누군가가 정당한 멤버쉽 키를 생성해 내기는 어렵다. 그러므로 오직 그룹 관리자와 함께하는 가입 프로토콜을 통해서만 그룹의 구성원이 될 수 있다. 더 나아가서 二L룹 신원 관리자는 그의 비밀키를 이용하여 서명의 (aM)를 복호화하고 火; = 비(舟 을 계산함으로써 서명자의 공개키를 밝혀 낼 수 있다.⑹) 또한. 정리 1로부터 그룹을 탈퇴한 과거의 구성원이 정당한 서명을 생성해 내는 것은 RSA 문제를 푸는 것과 동치임을 알 수 있다.
■ 서명 추적 위조 불가능성 : 주어진에 대해 그룹 신원 관리자가 그룹 관리자에게 1을 전달한다면. 그룹 관리자는 비UmB을 계산함으로써 위조 여부를 쉽게 판별할 수 있다. 이 계산 값이 1이라면 이는 그룹 신원 관리자가 정확하게 추적 과정을 수행하였음을 의미하는 것이다.
Ⅵ. 결론
그룹 서명 기법에서 구성원 탈퇴에 관한 복잡도는 그룹 서명을 실제로 적용하는데 큰 장애물이 되어왔다. 이 논문에서 보다 효율적으로 구성원 탈퇴가 가능한 그룹 서명 기법을 제안하였다. 이 기법은 탈퇴 인원수가 제한되는〔1〕의 브로드캐스트 기법을 이용하고 있음에도 불구하고 탈퇴 인원수에 제한이 없는 그룹 서명 기법을 구성하였다. 이 기법은 〔6〕에서 제안된 기법의 확장으로 볼 수 있다. 그룹의 공개키나 서명의 크기는 구성원 수나 탈퇴 인원수와 무관하게 일정하며 효율적인 방법이다.
그러나 제안한 방식은〔6〕에 기반하고 있으며 다른 그룹 서명 기법에는 확장 적용되지 않는다. 또한 각 서명마다 서명 일자가 있어야 하고 그룹 공개키 히스토리 관리가 요구되어 진다. 따라서 향후 연구 방향은 좀 더 실용적이고 일반적이면서 구성원 탈퇴가 자유로운 그룹 서명 기법에 대한 연구일 것이다.
* 본 연구는 한국과학재단 목적기초연구(rOl-2001-00537) 지원으로 수행되었음.
References
- Proc. Advances in Cryptology-ASIACRYPT '99 v.1716 A Quick Group Key Distribution Scheme with Entity Revocation J. Anzai;N. Matsuzaki;T. Matsumoto
- Proc. Advances in Cryptology- CRYPTO 2000 v.1880 A Practical and Provabley Secure Coalition-Resistant Group Signature Scheme G. Ateniese;J. Camenisch;M. Joye;G. Tsudik
- ACM Symposium on Discrete Algorithms Group signatures a la carte G. Ateniese;G. Tsudik
- In PKC 2001. Vol. 1992 of Lecture Noes in Computer Science Efficient Revocation Group Signatures E. Bresson;J. Stern
- Advances in Cryptology- EUROCRYPT '97. v.1223 EFficient and generalized group signatures J. Camenisch
- Tech. Rep. RS-98-27 v.1514 A group signature scheme based on an RSA-variant J. Camenisch;M. Michels
- Advances in Cryptology - EUROCRYPTO '99 v.1592 Proving in zero-knowledge that a number is the product of two safe primes J. camenisch;M. Michels
- Advances in Cryptology - CRYPTO '97 v.1296 Efficient group signature schemes for large groups J. Camenisch;M. Stadler
- Proc. Advances in Cryptology - EUROCRYPTO '91 v.547 Group Signatures D. Chaum;E. van Heyst
- Advances in Cryptology - EURO-CRYPT'94 v.950 New group signature schemes L. Chen;T.P. Pedersen
- Advances in Cryptology - CRYPTto '97 v.1294 Statistical zero knowledge protocols to prove modular polynomial relations E. Fujisaki;T. Okamoto
- Security Protocols Workshop How to convert any digital signature scheme into a groupsignatue scheme H. Petersen;M. Lomas(eds.);S. Vaudenay(eds.)
- ACM Transaction on Computer Systems v.1 On the generation of crypto-graphically strong pseudorandom se-quences A. Shamir