DOI QR코드

DOI QR Code

An Anonymous Rights Trading System using group signature schemes

그룹서명을 이용하여 익명성이 보장되는 디지털 권한 전달 시스템

  • Published : 2004.02.01

Abstract

E-Commerce is suddenly spreading in a daily life. A rights trading system is a system that circulates digital-tickets such as plane tickets, software license, coupon. There are two main approaches so far account-based and smart-card based systems. The NTT Proposed FlexToken, a new smart card based copy prevention scheme for digital rights. They Proposed using pseudonymous self certified keys of Petersen and Horster in order to ensure anonymity of users. However. Petersen and Holster's scheme should register a pseudonymous key pair at TTP (One-time) every time so that users create the signature which is satisfied with unlinkability property In this paper, we propose a new anonymous rights trading system using group signature. This paper has a meaning having applied to digital rights trading system an efficient smart card based group signature.

전자상거래가 일상생활에서 급격히 확산되고 있다. 그 중 하나의 분야가 티켓, 쿠폰, 라이센스 등과 같은 권한(rights)을 발행 전달해주는 디지털 권한$.$전달 시스템이다. 현재까지 제안된 디지털 권한 전달 시스템은 크게 디지털 권한을 계좌의 형태로 관리하는 계좌 기반 방식(온라인 방식)과 디지털 권한을 스마트카드에 저장하여 전달하는 스마트카드 기반 방식(오프라인 방식)으로 분류할 수 있다. 최근 NTT는 스마트카드 기반 권한 전달 시스템에서 권한의 복사방지를 할 수 있는 기능을 제공하는 FlexToken 시스템을 제안하였다. 이들의 방식에서는 사용자들의 익명성을 보장하기 위해 Petersen과 Horster의 방식을 사용할 것을 제안하였다. 그러나, Petersen과 Horster의 방식은 사용자들이 불연계성(unlinkablity)을 만족하는 서명을 생성하기 위해 매번 다른(one-time) 공개키와 개인키 쌍(pseudonym public key/secret key)을 생성하여 등록해야 하는 문제점이 있다. 이러한 문제점을 해결하기 위해, 본 논문에서는 그룹서명을 사용하여 익명성이 보장되는 디지털 권한$.$전달 시스템을 제안하고자 한다. 이 논문은 디지털 권한$.$전달 시스템에 스마트카드기반 그룹서명을 처음 적용하였다는 점에서 의의가 있다.

Keywords

Ⅰ. 서론

현재 인터넷에서의 전자상거래는 가장 화제가 되는 부분이다. 상품을 주문하고 이벤트를 예약하고 은 행계좌를 관리하는 등 모든 부분이 인터넷을 통해 이루어지고 있다. 이때 상품이나 서비스를 살 수 있는 권리를 디지털 형태로 표현하여 전달해주는 시스템을 디지털 권한(혹은 티켓이라 함) 전달 시스템이라고 한다.

현재까지 제안된 디지털 권한(티켓) 전달 시스템은 크게 디지털 권한을 계좌의 형태로 관리하는 계좌 기반 방식(온라인 방식)(4)과 디지털 권한을 스마트 카드에 저장하여 전달하는 스마트카드 기반 방식(오 프라인 방식)(1)으로 분류할 수 있다. 대부분의 온라 인 방식은 디지털 권한(티켓) 정보가 계좌(accounts)의 형태로 각 서비스 제공자(service provider) °1| 의해 관리된다. 따라서. 악의 있는 사용자들 로부터 디지털 권한(rights)을 보호할 수 있지만 악 의 있는 서비스 제공자 및 관리자에 의해 쉽게 변경 혹은 삭제될 수 있는 위험이 있다. 또한, 사용자들이 권한(rights)에 해당되는 컨텐츠를 이용하기 위해서는 먼저 해당 컨텐츠에 대한 권한(rights)을 받기 위해 온라인으로 매번 접속해야하는 불편함이 있다.

스마트카드 기반 방식의 경우, 온라인 방식의 문제점을 해결할 수 있었지만 스마트카드의 메모리 크 기, CPU의 조건, 성능 등 제약된 환경적 제약으로 인하여 특정 응용환경에 따라, 매번 서비스 제공자에 따라 다른 스마트카드를 발급 받아야 하는 문제점이 있다. 현재 많은 디지털 권한(티켓) • 전달 시스템들 이 구축되었지만 대부분 특정부분의 어플리케이션만 을 제공하고 있을 뿐 모든 티켓을 통합하여 제공할 수 있는 권한(티켓) • 전달 시스템이 제안되지는 않았 었다.心

최근 NTT는 모든 티켓들을 통합하여 하나의 스 마트카드로 제공할 수 있는 디지털 권한(티켓) 전달 시스템 FlexToken 시스템을 제안하였다.(1) 그들은 사용자의 익명성을 제공하기 위해 Petersen과 Horster의 방식'*을 사용하였다. Petersen과 Horster의 방식은 사용자들이 불연계성 (unlinkablity) 을 만족하는 서명을 생성하기 위해 매번 다른(one -time) 공개키. 개인키 쌍(pseudonym public key /secret key)을 생성하여 등록하여야 하는 문제점 이 있다

pseudonym을 사용하지 않으면서 익명성 및 불 연계성을 제공하는 방법으로는 그룹서명이 있다. 본 논문에서는 그룹서명을 이용하여 익명성을 보장하는 새로운 디지털 권한 • 전달 시스템을 제안하고자 한다.

본 논문의 전체 구성은 다음과 같다. 2절에서는 디지털 권한 • 전달 시스템에 대한 기본구조 및 NTT 의 FlexToken*방식에 대해 알아본다. 3절에서는 디지털 권한 • 전달 시스템에 익명성을 제공하기 위한 방법으로 NTT의 FlexToken방식에서 제시한 Petersen과 Horster-&) 방식에 대해 설명한다. 4절에서는 새롭게 제안하는 방법으로, 그룹서명을 이용하여 익명성을 보장할 수 있는 방법에 대해 설명한다. 5절은 기존에 제시된 방법들과 새롭게 제시한 방법 과의 비교를 한다.

Ⅱ. 기본개념

2.1 용어 정리

디지털 권한(Rights)이란 상품이나 서비스에 대한 권한을 주장할 수 있는 권리에 대한 디지털 표현 이다.(2) 디지털 권한을 수식으로 표현하면

#(1)

로 정의할 수 있다. 여기서 I는 권한(티켓)을 생성하여 발행하는 발행자, U는 권한(티켓)에 대한 소유자 를 말하며 , P는 U에 대한 발행자 I의 약속(promise)을 나타낸다. P는 컨텐츠 구매 시 더해질 수 있는 마일리지 점수. 할인혜택, 할인비율, 비행기 티켓 의 좌석 번호 등과 같은 발행자가 사용자에게 약속하는 내용이 될 수 있다. 디지털 권한(rights)의 전체 적인 권한흐름 및 전체 프로토콜은 다음과 같이 구성 된다.

- 발행(Issue) 프로토콜: 발행자가 디지털 권한을 생성하여 사용자에게 생성한 권한의 소유권을 주는 프로토콜이다.

- 전달(Transfer) 프로토콜: 사용자가 자신이 갖고 있는 권한에 대한 소유권을 다른 사용자에게 전달 하는 프로토콜이다.

- 상환(Redemption) 프로토콜: 권한에 대한 소유 권을 갖고 있는 사용자가 권한을 서비스 제공자 (service provider)에게 반납하고 그에 대한 서 비스/컨텐츠를 제공받는 프로토콜이다. 상환하는 방 식에 따라, 라이센스 혹은 여권처럼 소유권이 사용 자에게 계속남아 있게 하는 제시(presentation) 프로토콜과, 비행기 티켓, 게임 티켓, 전화 카드처럼 다 사용되었을 경우 그에 대한 소유권이 소 멸되는 소비(consumption) 프로토콜로 분류할 수 있다.

그림 1. 디지털 권한(티켓)의 흐름도

이러한 디지털 권한(티켓) 전달 시스템의 안전성 및 편리성을 보장하기 위한 요구조건은 다음과 같다. 丁

° 다양한 형태의 권한(Various types of rights): 특정 화폐를 다루는 전자화폐시스템과 달리 다양한 형태의 권한(rights)을 다루어야 한다.

。다양한 발행자①ifferent issuers): 중앙은행과 같은 특정 발행자가 발행하는 화폐를 다루는 전자화폐 시스템과 달리, 시스템은 많은 발행자들이 발행하는 디지털 권한(rights)을 다루어야만 한다.

。위조방지(Preventing forgery): 발행자만이 유효한 디지털 권한을 발행할 수 있다.

。변경방지 (Preventing alteration): 디지털 구1 한은 권한 소유자가 다시 결정되는 전달(transfer) 프로토콜을 제외한 다른 프로토콜에서는 변경되어서는 안된다.

O 이중사용방지 (Preventing duplicate-redemption): 디지털 권한은 이 중 상환되어서는 안 된다.

。부인봉쇄 (Non-repudiation) : 발행자가 발행을 부인하고, 권한이 발급된 후 권한 소유자가 권한의 전달 혹은 상환한 내역을 부인할 수 없다.

。프라이버시 보장(Ensuring privacy): 권한에 대한 현재 그리고 이전의 소유권자가 그 이후의 권한 자에게 숨겨져야 한다.

이외에도 실제적인 구현 측면에서 가변성(scalability). 효율성(efficienty). 간결성(simplicity) 등의 요구조건이 있지만, 이 논문에서는 이를 다루지않는다 〔더 자세한 요구조건은〔2〕을 참조〕.

2.2. NTT의 FlexToken 시스템(1)

이 절에서는 스마트카드를 사용하여 앞 절에서 언급된 디지털 권한들의 요구조건들을 만족하면서, 발급된 권한에 대한 복사방지를 제공하는 NTT의 디지털 권한 전달 시스템 FlexToken에 대해 간략히 설명하고자 한다.

디지털 권한을 하나의 전자화폐로 생각하여 Mondex, VISA 등과 같은 전자화폐 시스템을 변형하여 권한 . 전달 시스템으로 설계할 수 있지만, 이 경우 다음과 같은 문제점들이 존재하게 된다.

첫째, 디지털 권한은 화폐와 달리 다양한 형태의 권리가 존재한다. 따라서 다양한 권한을 발급 받을려면 사용자는 권한에 따라 각각 다른 스마트카드를 발급받아야 한다. 다양한 권한의 형태를 모두 하나의 스마트카드에 저장하여 이 문제를 해결할 수 있으나 스마트카드의 메모리 및 CPU의 제약 때문에 비효율적이다.

둘째. 전자화폐는 스마트카드 발행자가 미리 선택한 발행자가 발급한 화폐의 형태만을 다루지만 디지털 권한에 대한 발행자는 권한에 따라 각각 다른 발행자가 존재하게 된다.

이러한 문제들을 해결하기 위해 Flex Token 시스템은 디지털 권한을 두 개의 다른 정보인 권한 명세서(rights definition)와 토큰(token)정보로 분할한다. 권한 명세서는 권리에 대한 내용 및 조건을 나타내고, 토큰정보는 권한에 대한 소유자의 유일성을 보장해 준다’ 토큰은 스마트카드와 같은 물리적 보안장치에 저장되어 있는 정보로, 권한 명세서가 토큰에 의해 검증이 될 때에만 디지털 권한은 유효하게 된다.

참석자는 권한을 발행해주는 발행자(I: Issuer), 스마트카드의 물리적 보안능력을 보장해주는 보증자 (G: Guarantor), 사용자들(U: Usen, Users..... User\), 서비스 제공자(Service Provider 혹은 Collector)들이 있으며, 참석자들은 각각 공개키와 개인키 쌍 Wx, ";x)을 갖고 있다고 가정한다(단. Xw{/,G, ", C} 를 말함) . 전체 프로토콜은 발행 프 로토콜, 전달 프로토콜, 상환 프로토콜로 구성되어 있으며, 상세 프로토콜은 다음과 같다.

O 기호

-//(■): SHA1, MD5등과 같은 해쉬함수를 말한다.

- Sign shem) '■ 메시지 에 대한 개인키 展X의 서명을 나타낸다.

- Verpkem, sig) '■ 공개키 에 대한 메시지 m에 대한 서명 如의 검증함수를 말한다.

-권한 명 세서 w: 상품이나 서비스에 대한 권한을 주장할 수 있는 권리에 대한 디지털 표현이며 m=Si卽 盘丄 P, U)으로 정의되고, XML이 주로 사용된다.

- 토큰 T-. (如分의 2개의 정보로 구성되며. &은 권한 명세서 m에 대한 해쉬값이고, 也는 디지털 권한의 발행자를 나타내는 발행자의 해쉬값을 말한다. 토큰 T=(H(所), 丑3知))를 자신의 스마트카드에 갖고 있는 사용자가 m과 발행자 /에 대응되는 디지털 권한의 소유자로 간주된다.

- 챌린지 C:(C.C2)의 두 개의 값으로 구성되며, Ci 은 수신자의 해쉬값이고, C2 는 수신자가 생성하는 세션마다 새롭게 생성되는 일련번호 s로 송신자가토큰을 재사용하는 것을 방지하기 위해 사용된다.

-응답값 r: (fa) 의 두 개의 값으로 구성되며, rj 은 수신자의 챌린지 값에 대한 서명값이며, R는 수신자의 공개키 정보이다. 이 정보는 토큰 정보가 수신되었다는 것을 나타내며, 수신자의 부인봉쇄를 막기 위한 정보로 사용된다.

-(gl, g2): 스마트 카드에 저장되어 있는 공개키에 대한 신뢰할 수 있는 제3자인 보증자(G: guarantor)의 인증정보로, 幻은 스마트카드의 공개키에 대한 보증자의 서명값 遂%를 나타내고 g2는 보증자의 공개키 怵G를 의미한다.

。발행 (Issue) 프로토콜

단계 1: 皿정보는 발행자가 신뢰하는 스마트카드 보증자의 리스트 {H3幻;, ), H(pkc), .… 幻;.)}이며, Sz効购(句)과 弘, 정보에 의해 변경되지 않는다. 발행자 I는 m. ax. Sign盘、a。, 幼r를 사용자 U에게 전달하면, 사용자 U는 S谚"*, (句)를 검증한 뒤, 검증이 성립하면 챌린지 Cu = (H(、瞄, s)를 생성하여 발행자에게 전달한다. 챌린지에 사용된 s는 세션마다 새롭게 생성되는 일련번호로 송신자가 토큰을 재사용하는 것을 방지하기 위해 사용된다.

단계 2: I는 챌린지 C”를 검증한 뒤, 검증이 성립하면 토큰정보 (H3), H3Q)와 사용자로부터 온 챌린지 (H(泌u), s). 그에 대한 서명값 S诡如制 (QK痈, H"垢), H3瞞), 部을 생성하여 Z仞와 함께 人 용자에게 보낸다.

단계 3: 사용자는 수신된 丑(泌°)와s의 값이 챌린지<万 와 같은지를 검증하여 챌린지의 유효성을 검증한다. 또한, H(、闕를 계산하여 송신된 H{pki) 값과 같은지 를 검 증하고, 서 명 Sign 검 증함으로써 디지털 권한을 발행해주는 발행자 /를 검증하게 된다.

단계 4: 모든 검증이 성공하면 사용자는 일련번호들의 집합 5/로부터 일련번호 s를 삭제한 뒤 토큰 T=(H(m), H(幼/))를 저장하게 된다. 그리고 나서그에 대한 응답값 R〃=(n, , 2)=(S溯編(c〃), 蚀0를 생성하여 I에게 보낸다.

단계 5: I는 砍에 포함되어 있는 서명 Sz切陽, (c〃) 를 검증하여 응답값이 이 거래에 해당된다는 것과의 사용자가 생성한 값이라는 것을 확인하게 된다. 또한, & = Hg가 C"의 H(、pku) 와 같은지를 검증하여 R의 생성자가 챌린지 4의 생성자와 같다는 것을 확인하게 된다.

위의 챌린지-응답 프로토콜을 통해, 사용자는 권한 정의 %에 대응되는 유일한 소유정보 토큰 丁를발급 받아 안전한 스마트 카드 안에 저장하면 발행프로토콜은 종료된다.

。전달(Transfer) 프로토콜

디지털 권한 전달 프로토콜은, 가 발행한 디지털 권한 m을 5이 S에게 전달하는 프로토콜로써. 발행 프로토콜 방식과 유사하게 챌린지-응답 프로토콜로 진행된다. 세부 프로토콜은 다음과 같다.

단계 1: 사용자 Se 디지털 권한명세서 m과 스마트카드 보증자의 리스트 및 그에 대한 서명값 a, . Sign*打订), 1虹 그리고 스마트카드에 대한 보증자의 인증정보 (g.g2)=(Signskc(pkUl), 蚀Q를 사용자 区에게 전달한다.

단계 2: 사용자 跖는 서명값들을 검증한 뒤, 검증이 성립하면 챌린지 C 皈=, C2)=(、H(J览 U), §)를생성하여 M에게 전달한다.

단계 3: Ihe 저장되어 있는 토큰 T를 삭제하고 발행 프로토콜과 유사한 이유로, , Hkpkj), d, c2. SZg心"(H(, , 이|H(Z妁llcJIcQ, 佻u, 을 생성하여 U-i 에게 전달한다.

단계 4: S는 0과 C2가 자신이 보낸 챌린지 c와 같은지 검증하여 챌린지의 유효성을 검증한 뒤, 电斜“ 을 확인하여 보내준 정보가. 사용자 S이 생성하였다는 것을 검증한다. 또한. = Sign 3 £)을 검증하여 보증자 g2 가 사용자 跖의 스마트카드 물리적 보안능력을 보장하고 있다는 것을 검증하게 된다. 그리고 H(g2)가 约에 있는지를 검증하여 보증자가 7가 선택한 보증자의 리스트에 있는 정당한 보증자인지를 확인하고, H(、怵:)를 계산하여 전달된 값과 비교함으로써 토큰 발행자의 유효성을 검증하게 된다. 검증이 성립하면, 세션번호 s를 Ss로부터 삭제한 뒤 토큰 T를 저장하고 나서, 그에 대한 응답값 Ru = (Sign 蛔 (S), 佻Q을 생성하여 S에게 보낸다.

단계 5 : %은 발행 프로토콜에서와 유사하게 盹를검증한 뒤, H(%), H(pkj).c1, c2.pkUl, Sign 电, (H(ni) 回泌, )||&|C2)의 복사본을 삭제한다.

。상환(Redemption) 프로토콜

사용자와 서비스제공자(Service Provider) 사이의 상환 프로토콜은 사용자들 사이의 거래 프로토콜과 유사하다. 단. 챌린지 c가 소비 (comsumption) 프로토콜인지 혹은 제시 (presentation) 프로토콜인지를 분류하기 위해 음수와 양수로 각각을 구분해서 처리한다. 예를 들어, 소비 프로토콜을 하기 위해서 챌린지 값을 양수로 정한다면 제시 프로토콜에서는 음수 값으로 챌린지를 선택한다. 응답 프로토콜까지 프로토콜이 성공하면, 상품 혹은 서비스(Goods/ Service)가 서비스제공자(혹은 컬렉터)로부터 사용자에게 전달되는 것으로 종료된다. 서비스와 그에 대한 지불체계가 이루어져야 하지만 이 범위는 이 논문의 영역을 벗어나기 때문에 다루지 않는다.(1)

제안된 방식은 토큰의 재사용방지, 도청 등의 공격에 안전하게 하기 위해 챌린지-응답 프로토콜을 기반으로 설계되었다. 그리고 디지털 권한의 위변조를 방지하기 위해 물리적 보안능력이 보장되는 스마트카드와 전자서명, 해쉬함수의 안전성에 의존하고 있다.

그러나, 권한(rights)의 송신자가 권한을 수신자에게 전달할 때 송신자의 서명 값이 검증되어야 하기때문어), 수신자는 송신자의 공개키를 알고 있게 된다. 소유자들의 공개키들이 알려지게 되기 때문에 익명성이 보장되지 않는다. Flextoken방식에서는 사용자의 공개키와 카드소유자를 연결(link)시키지 않도록 함으로써, 프라이버시를 향상시키는 방법으로 Petersen과 Horster의 방식(3)을 사용할 것을 제안하였다.

Ⅲ. Petersen and Horster의 방식(3)을 사용한 익명성을 보장하는 디지털 권한·전달 시스템

Petersen과 Horster의 방식을 간략히 설명하면 다음과 같다. 먼저 사용자는 익명(pseudonym)에해당흐}는 (s妒, 泌*)을 생성하여 TTP에 저)공하면, TTP가 서명을 함으로써 익명(pseudonym)에 해당되는 인증을 받게 된다. 이 방식은 TTP만이 사용자의 ID정보와 익명(pseudonym)정보를 연결시킬수 있음으로 해서 사용자의 익명성을 제어할 수 있는 방식이다.

이 방식을 권한 . 전달 시스템에 적용한다면, Flex-Token의 전체 프로토콜에서 사용되는 공개키/개인 키 쌍 (s如蚀)을 익명(pseudonym)에 해당하는 (s&*, 蚀*)로 변환하면 된다. 이 방법은 공개키 정보가 노출되지 않아, 사용자의 익명성을 제공해 줄 수 있지만, 같은 익명(pseudonym), (s妒, 》妒)을 두 번 이상 사용하게 되면 사용자의 정보들이 연결 (linkable)되어 추적되는 문제점이 있다. 따라서. 불연계성 (unlinkablility)을 만족하면서 사용자의 익명성을 보장하기 위해서는 사용자는 매번 다른 익명(pseudonym) 정보를 생성해서 TTP에 등록하여야 한다.

Ⅳ. 그룹서명을 사용하여 익명성을 보장하는 디지털 권한·전달 시스템

익명성 및 불연계성(unlinkability)을 제공하는 다른 방법으로는 그룹서명이 있다. 이 절에서는 그룹 서명을 이용하여 익명성을 보장하는 새로운 디지털 권한 . 전달 시스템을 제안하고자 한다.

4.1 그룹서명

그룹서명은 1992년 Chaum과 van Heijst, ⑻에의해 처음 제안된 개념으로 그룹에 속한 구성원이 그룹을 대표하여 서명하는 기법을 말한다. 그룹서 명기법에서 그룹 구성원에게 서명 권한을 부여하는 것은 그룹관리자에 의해 이루어지며 각 구성원이 발행하는 서명에 대해서는 익명성이 보장된다. 이때 서명된 문서는 그룹의 공개키에 의하여 서명이 검증되며 분쟁이 발생하는 경우에는 그룹관리자만이 구성원의 신분을 밝혀낼 수 있는 기법이다. 효율적인 그룹 서명을 위해, 그룹서명의 길이와 그룹의 공개키가 그룹의 크기와 구성원의 변동과 독립적으로 운영할 수 있도록 설계된 다양한 그룹서명들이 제시되었다 안전성 측면에서 그룹에 속한 소속원들이 공모하여 새로운 인증서를 만들어 서명을 생성할 수 있는 공모공격에 강인한 기법들도 제시되었다.'(3) 그러나, 이들 방식들은 서명생성 및 공모공격에 강인하기 위해 많은 계산량이 필요하다는 문제를 여전히 갖고 있다. 최근 이러한 문제들을 해결하기 위해 스마트카드를 이용하여 그룹서명을 생성하는 방법이 제시되었다." 본 논문에서는 이 기법을 기반으로 오프라인 디지털 권한(티켓) 전달 시스템을 설계하고자 한다.

<정의1 : 그룹서명>

그룹서명이 란 다음의 성질을 만족하^^ 전자서명을 말한다.

① Correctness: 그룹소속원이 생성한 서명은 항상 유효하다.

② Unforgeability: 그룹소속원만이 그룹을 위해 서명을 생성할 수 있다.

③ Anonymity: 그룹매니저를 제외한 누구도 그룹 서명으로부터 서명자가 누구인지를 알 수 없어야 한다.

④ Unlinkability: 두 개의 다른 유효한 서명이 같은 동일한 그룹 소속원에 의해 서명되었다는 것을 결정하는 것이 불가능해야 한다.

⑤ Exculpability: 그룹맴버 혹은 그룹매니저는 다른 그룹 소속원을 대신하여 서명할 수 없어야 한다. ⑥ Traceability: 그룹매니저는 항상 서명으로부터 서명자의 익명성을 개봉할 수 있다.

⑦ Coalition-Resistance: 그룹소속원들의 공모는 그룹매니저로 하여금 공모한 소속원들 중 적어도 한 명을 추적할 수 없도록 하는 서명을 생성할 수 없어야 한다.

<스마트카드 기반 그룹서명 방식'5>

〔14〕에서 제안하고 있는 방식은 스마트카드와 그룹이 공유하는 개인키를 사용하는 것으로 구성된다. 먼저 개인키와 공개키 쌍 (展G, 瞄 이 있는 전자서명 스킴 SA와 개인키와 공개키 쌍 (Da“ , EAul) 이 있는 확률론적 암호시스템 EA를 가정한다. 그룹매니저는 개인키 £山"를 자신만의 비밀로 유지하고 개인 키 崩g는 그룹소속원들과 공유하게 되며, 그에 대한 공개키들 网<;와 Eam는 공개한다.

그림 2. 스마트카드 기반 그룹서명 방식

사용자가 그룹멤버가 되고 싶다면 그룹매니저로부터 먼저 스마트카드를 발급 받는다. 그리고 그룹매니저로부터 식별자 z와 모든 그룹멤버들에게 공유되어 있는 공유된 개인키 展g를 얻어야 한다. 사용자의 스마트카드는 암호시스템과 전자서명을 사용할 수 있는 모든 파라미터에 대한 접근권한을 갖고 있어야만 한다. 단, 그룹 매니저만이 식별자 z와 그룹 멤버의 Id의 연결을 기억하고 있다.

사용자가 메시지에 그룹멤버로서 서명하고자 할 때 자신의 스마트카드를 사용한다. 먼저 식별자 z 는 그룹 매니저의 공개키 旧刖, 로 암호화된다. 그리고나서 메시지 이은 암호화된 값 C와 연접되고 연접된 값은 공유된 개인키 展g로 전자서명 알고리즘 SA를 사용하여 서명하게 된다. 전체 그룹서명을 할 수 있는 스마트카드의 구조는 다음과 같다.

- EA: 안전한 확률론적 공개키 암호시스템 (개인키 : DAut, 공개키 : EAut)

- SA: 공유된 개인키 skc로 서명될 전자서명 알고리즘

- z: 사용자 식별정보

T I : Concatenation

- GSA(m): 메시지 m에 대한 그룹서명

4.2 제안방식

제시하고자 하는 방법의 기본적인 생각은 스마트카드를 발행해주는 보증자 G], G2 G”을 그룹매니저들로 생각하고, 사용자들을 그룹에 속한 소속원으로 생각하는 것이다. 이 방식에서는 佻(;, 를 각 그룹들의 공개키로 생각하고 각 사용자들의 스마트카드에는 그룹서명 시 사용하기 위한 공유 개인키 정보인 s加“들이 저장되어 있다는 것을 가정한다. s幻;, 는 그룹에 속한 사용자들이 공유해야 한다.

전체적인 권한 전달 모델은 그림과 같다.

그림 3. 그룹서명에 이용하여 새롭게 제안하는 모델

사용자들은 자신이 어떠한 그룹에 소속되었는지를 전달할 뿐. 자신의 공개키 정보를 전달하지는 않는다.

。발행(Issue) 프로토콜

이 프로도콜은 발행자 /가 비밀키 展<;, 를 저장하고 있는 스마트카드 사용자 {/에게 디지털 권한을 발급해주는 프로토콜로. 기본 방법은 FlexT아cen의 방식처럼 챌린지-응답프로토콜을 기반으로 한다.

단계 1 - 발행자 1는 m. ax. Sign 泰、a、), t加를 사용자 U에게 전달한다. %은 발행자가 신뢰하는 스마트카드 보증자 그룹공개키들의 리스트 {H(佻Q, H3 〃(仮<;, 이며. 이는 &gml, (幻)정보에 의해 변경되지 않는다.

단계 2: 사용자 U는 Signsk, (ax) 대한 발행자의 서명을 검증하고 자신의 개인키 胰g에 해당하는 공개키 佻g의 해쉬값 H(、怵G를 계산하여. 계산 결과값이 皿의 리스트에 있는지를 검증한다. 검증이 성립하면 H(、怵£)와 일련번호 su%를 생성하여 만든 챌린지 C“:(C|, @)= (H(泌 Q, s) 를 발행자 I에게 전송한다.

단계 3: 발행자 I는 E〕= (幻, 。2, 林, 印, %, 玮)를 생성하여 사용자 U에게 전달한다. 단, ej = H(m), e2 = ex = c, , e., = c2. e5 = e6 =

pkb I는 트랜잭션이 끊어지는 경우를 대비하여, Et 의 백업 복사본을 응답(Receipt)이 올 때까지 저장하고 있다.

단계 4: 사용자는 U는 E를 다음과 같이 검증한다.

① e, ie SI;

② e:i = H(pk(:)

③ 片某(이I이에%, 。5)= 1

④ 以=

①.2는 챌린지의 유효성을 검증하는 것을 의미하고, ③은 E, 가 I에 의해 생성되었다는 것을 보증한다. ④는 I가 m을 발행하였다는 것을 보장한다. 검증이 성공하면. U는 S〃로부터 일련번호 q를 삭제하고 토큰 7、= (" "2)= (q, e?) = (阳)) 를 저장한다. 응답값에 해당하는 R;=<n/2)= (GSig电 (cQ, 弘G를 생성하여 발행자 I에게 전달한다. 여기서. 그룹서명 GSig%(、cu)은 4.1 절의 스마트카드 기반 그룹서명에 기반하고 있기 때문에 다음과 같이 구성되어 있다.

#

단, z는 사용자의 식별자를 의미하며 怵<;는 그룹매니저 즉 스마트카드 보증자의 공개키를 말한다. 단계 5: 발행자 I는 그룹서명 GSigghs)를 검증함수 를 사용하여 검증 확인함으로써 트랜잭션이 올바르게 진행되었다는 것을 확인한다. 또한. 丑(々)와 丑3如;)가 같은지를 검증함으로써. 知의 생성자가 그■룹 G, 에 속한다는 것을 검증한다. 검증이 성공하면 I는 의 백업 복사본을 삭제하게 된다.

그림 4. 발행프로토콜

。전달(Transfer) 프로토콜

이 프로토콜에서는 개인키 展g가 들어있는 스마트카드를 갖고 있는 사용자 5이 &가 탑재된 스마트카드를 갖고 있는 사용자 区에게 디지털 권한을 전달하는 프로토콜이다. 단, z, ; e(l........n}.

그림 5. 전달 프로토콜

단계 1: 사용자 &은 디지털 권한명세서 所과 스마트카드 보증자의 그룹 공개키 리스트 및 그에 대한 서명 값 aeSigneae.pke 사용자 沃에게 전달한다.

단계 2: 사용자 S는 서명값을 검증한 뒤, 검증이 성립하면 챌린지 CS=(C1, C2)= (H(泌 G), S)를 생성하여 访에게 전달한다.

단계 3: se 토큰에 해당하는 T를 삭제하고 그에 대응되는 (幻, 。2, 。3, 。4, 。5, 。6)를 생성하여 사용자 ”2에게 전달한다. 단 61 = e2 = H{pki), ei = ci, ei = cz, e5 = GSig *“, (、q Ile2||e3l|e4), e6 = pkG:. 또한, 발행프로토콜과 유사하게 의 백업복사본을 응답 값 Ru:가 올때까지 저장한다.

단계 4: 사용자 必는 硏/, 을 검증한 뒤 검증이 성공하면, %로부터를 삭제한 뒤, 토큰 T=(丑(所), Hg)를 저장한다. Eg, 의 검증과정은 다음과 같다.

① % = H(pkG)

② 。4트 Ss

③ 50*。(이I에에負, %)= 1

④ Ver= 1

⑤ e2 = H(pke)

①, ②는 챌린지의 유효성을 검증하는 것을 의미하고 ③은 E, 가 사용자 以에 의해 올바르게 생성되었다는 것을 보장하며, ④ 와 ⑤는 정당한 I가 m을 발행하였다는 것을 보장한다. 위의 검증식들이 성공하면, 사용자 Uz는 Rw=<GSig双(W), l点曲를 생성하여 CA에게 전달한다.

단계 5: 以은 Rs를 검증한 뒤 검증결과에 이상이 없으면, 같은 방식으로 归 方의 백업복사본을 삭제한다.

O 상환(Redemption) 프로토콜

사용자와 서비스 제공자 SP 사이의 상환 프로토콜은 사용자들 사이의 전달 프로토콜과 유사하다. NTT의 Flextoken방식처럼, 단지 차이는 챌린지 c 가 소비(comsumption) 프로토콜인지 혹은 제시 (presentation) 프로토콜인지를 분류하기 위해 음수 혹은 양수로 구분해서 처리한다는 점과 사용자 U2 대신 서비스 제공자 SF가 참여한다는 사실만 다르다. 전달 프로토콜과 유사하게 진행되어, 서비스제공자의 응답(receipt, )과정까지 성공하면, 상품 혹은 서비스(Goods/Service)가 서비스 제공자로부터 사용자에게 전달되는 것으로 종료된다.

그림 6. 상환 프로토콜

Ⅴ. 안전성

- 변조 방지 (Preventing Alteration): 디지털 권한의 변조를 방지하기 위해서는 권한에 대한 정의 所과 토큰에 저장된 H(m)이 변조되는 것을 방지하여야 한다. m의 변조는 토큰에 저장된 仇의 해쉬값 때문에 안전하다. H(m)이 저장된 토큰의 변조는 물리적 보안장치인 스마트카드에 저장되기 때문에 안전하며, E]로 전달되는 H(m)에 대한 변조의 어려움은 그룹서명의 안전성에 의존하고 있다.

- 위조 방지 (Preventing Forgery): 디지털 권한을 위조하기 위해서는 토큰에 저장된 발행자 정보와 참석자의 공개키 정보를 포함하고 있는 토큰을 생성하여야 한다. 앞에서 언급하였듯이 토큰의변경은 그룹서명의 안전성에 의존하고, 공격 자가발행자 정보를 위조하여 발행자 인척하는 공격은 발행자의 서명에 대한 검증과 해쉬함수에 의해 방지 된다.

- 재사용 방지 (Preventing Reproduction): E/를 재 사용하는 것은 챌린지 값에 의해 방지된다. 공격자가 £7를 다시 사용하려고 한다면 일련번호에 해당하는 s 값이 이미 삭제되었기 때문에 그에 대한 검증과정에서 검증이 실패한다.

디지털 권한을 받았으면서 받지 않았다고 주장하여 다시 보내달라고 재발급을 요청하는 경우는 의 백업 복사본에 의해 방지된다. 만약 수신자가 E/를받지 않았다고 주장하면 수신자는 의 백업복사본을 보내야한다.

- 익명성 보장(Ensuring Privacy): 제안된 방식은 그룹서명을 사용하여 사용자의 공개키 정보가 노출되지 않게 하고, 연계되지 않도록 함으로써 익명성과 불연계성(unlinkablility)을 만족한다. 권한을 전달시 사용자들은 자신이 어떠한 그룹에 소속되었는지에 대한 정보를 전달한다. 또한, SP가 이중거래를 발견한 경우, 그룹매니저들과 협동하여 사용자 식별정보인 z를 알아낼 수 있으므로 익명성 제어도 할 수 있다.

Ⅵ. 제안된 방식과 기존에 제시된 방법들의 비교

이 절에서는 기존에 제시된 디지털 권한 . 전달 시스템들과 본 논문에서 제시된 방식을 비교한다.

Matsuyama와 Fujimura(4)는 온라인 방식의 디지털 권한 . 전달 시스템을 제안하였다. 이 방식은 권한을 전달받은 사용자가 자신이 권한에 대한 유일한 소유자라는 것을 주장하고, 권한을 다른 사용자에게 전달하기 위해 온라인으로 TTP에 접속해야 한다.

디지털 권한의 특정 형태인 티켓방식도 제안되었다.⑸ 그러나, 이 방식은 티켓 형태만을 지원하고 있을 뿐 다양한 권한 발행자들이 발행하는 권한들을 다루지 않는다. 또한 그룹서명을 사용한 오프라인 전자화폐 시스템 설계 기법i⑸과 유사하게 설계되어, 그룹 서명을 사용하여 익명성, 분할성, 양도성 등을 만족하지만, 서명생성 및 공모공격에 대해 안전하게 설계하기 위해 많은 계산량을 요구하고 있다.

최근 스마트카드에 기반한 NTT의 FlexToken(1) 방식은 특정부분의 어플리케이션만을 제공하지 않고 모든 권한(티켓)을 하나의 스마트카드로 통합하여 제공할 수 있는 권한(티켓) . 전달 시스템을 제안하였다. 그러나, 이 방식에서는 사용자의 익명성을 제공하기 위해 Petersen과 Horster의 Pseudonym 방식을 사용할 수 있다는 것을 언급하였다. Petersen 과 Horster의 방식은 불연계성을 유지하기 위해 매번 다른 익명 (pseudonym)정보를 생성하여야 한다.

본 논문에서는 이러한 불편함을 해결하면서 익명성을 제공하기 위해 그룹서명을 이용하는 방법을 제안하였다. 기존의 그룹서명기법은 서명 생성 및 검증에 signature of knowledge라는 증명을 수행하기 때문에 비효율적이다. 예를 들어, 기존에 제시된 가장 효율적이라 할 수 있는 그룹서 명 방식은 Camenish와 Stadler가 제안한 그룹서명방식⑼이라 할 수 있다. 그러나, 이 논문에서 권장되는 시스템 파라메터가 6]=5, 62 = 3, 片 = 1이고 /2가 세제곱근을 계산하기 어렵도록 선택되는 경우, 그룹서명 및 검증에 드는 연산은 모듈러스 길이 渺] 600비트일 때, 약 20번의 지수승이 소요되는 것으로 알려져 있다.⑼ 반면 스마트 카드 기반 그룹서명의 경우, 그룹 서명 값은 한번의 전자서명 연산과 한번의 공개키 암호연산만을 요구하고 있기 때문에 2번의 지수연산만이 사용된다. 財

이에 Camenish와 Stader의 그룹서명 방식을 기반으로 하여 설계된 익명성이 보장되는 디지털 티켓 방식⑸에서는 그룹서명에 대응되는 티켓 전달(지불) 시 연산량을 생각하면 20번의 지수승 연산 이상1) 이 사용된다. 반면 제안된 방식은 권한(티켓) 전달 시 2번의 그룹서명이 사용되어 4번의 지수연산이 사용되기 때문에 훨씬 더 적은 연산이 드는 방식 이라 할 수 있다.

이들 전체 방식들을 비교하면 표 1과 같다.

표 1. 제안된 방식과 기존의 방식들과의 비교

Ⅶ. 결론

NTT의 FlexToken방식이 익명성을 제공하는 방법으로 one-time pseudonym방식을 제안하였지만 이 방식은 불연계성을 유지하기 위해 매번 다른 익명 정보를 생성하여 등록하여야 하는 문제점을 갖고 있었다.

이러한 불편함을 해결하면서 효율성을 보장하는 디지털 권한 시스템을 설계하기 위해 본 논문에서는 스마트카드 기반의 그룹서명을 이용한 방법을 제안하였다. 이 방식은 기존에 제안된 디지털 권한의 특정 형태인 티켓시스템에 비해 효율적이며 NTT의 Flex-TZken 방식에 비해 익명성이 보장된디는 점에서 큰 장점을 갖고 있다.

References

  1. M. Terada. H. Kuno, M. Hanadate, and K. Fujimura, 'Copy Prevention Scheme for Right Trading Infrastructure,' the 4th Smart Card Research and Advanced Application Conference. 2000. 9
  2. K. Fujimura and D. Eastlake, 'Requirements and Design for Voucher Trading System (VTS),' 2003. 3. ftp://ftp.rfc-editor.org/in-notes/rfc3506.txt/
  3. H. Petersen and P. Horster, 'Self-certified Keys-concepts and applications,' In Proceedings of the 3rd Conference on Communication and Multimedia Security, 1997
  4. K. Matsuyama and K. Fujimura, 'Distributed digtal ticket management for rights trading system,' In Proceedings of the 1st ACM Conference on Electronic Commerce. 1999
  5. T. Nakanishi. N. Haruna and Y. Sugiyama, 'Unlinkable electronic coupon protocol with anonymity control,' Proceedings of Information Security Work shop'99. volume 1729 of Lecture Notes in Computer Science, Berlin, pp. 37-46,Springer Verlag, 1999
  6. E-Stamp Cooperation, 'E-Stamp'. http://www.e-stamp.com
  7. Gold & Silver Reserve, Inc., 'e-gold'. http://www.e-gold.com/
  8. D. Chaum and E. van Heyst, 'Group Signatures,' In advances in Cryptology-Eurocrypt'91, volume 547 of Lecture Notes in Computer Science, pp. 257-265, Springer Verlag, 1991
  9. J. Camenisch and M. Stadler, 'Efficient group signature schemes for large groups,' In advances in Cryptology- Crypto'97, volume 1296 of Lecture Notes in Computer Science, pp. 410-424, Springer Verlag, 1997
  10. G. Ateniese and G. Tsudik. 'Group Signatures a la carte,' In ACM Symposium on Discrete Algorithms, 1999
  11. J. Camenisch, 'Efficient and genera lized group signature,' In advances in Cryptology-Eurocrypt'97, volume 1233 of Lecture Notes in Computer Science pp. 465-479, Springer Verlag. 1997 https://doi.org/10.1007/3-540-69053-0_32
  12. J. Camenish and M. Michels. 'A group signature scheme based on an RSA-variant,' Tech. Rep. RS-98-27. BRICS. Dept of Comp. Sci., 1998
  13. G. Ateniese. J. Camenisch, M. Joye, and G. Tsudik, 'A Practical and Provably Secure Coalition-Resistant Group Signature Scheme,' In advances in Cryptology-Crypto'OO, volume 1880 of Lecture Notes in Computer Scienec, pp. 255-270. Springer Verlag, 2000 https://doi.org/10.1007/3-540-44598-6_16
  14. S. Canard and M. Girault, 'Implementing Group Signature Schemes With Smart Cards,' Proceedings of the 5th Smart Card Research and Advaneed Application Conference. USENIX 2002. 12
  15. J. Traore, 'Group Signatures and Their Relevance to Privacy-Protecting Offline Electronic Cash Systems, ACISP'99, volume 1587 of Lecture Notes in Computer Science. pp. 228-243, Springer-Verlag, 1999 https://doi.org/10.1007/3-540-48970-3_19