DOI QR코드

DOI QR Code

Dual Signature Scheme to provide efficient message decryption

효율적인 메시지 복호화를 제공하는 이중 전자서명 방식

  • 김근옥 (성균관대학교 전기전자 및 컴퓨터 공학부 정보통신 보호연구실) ;
  • 남정현 (성균관대학교 전기전자 및 컴퓨터 공학부 정보통신 보호연구실) ;
  • 김승주 (한국정보보호진흥원) ;
  • 원동호 (성균관대학교 정보통신공학부)
  • Published : 2003.10.01

Abstract

A representative payment broker system is SET and one of its signature shcemes is a dual digital signature scheme. A dual digital signature scheme expose neither user's payment information(credit card number etc.) to merchandiser, nor user's order information to bank So it keeps user's Privacy safe. The digital signature scheme like this is being necessary as E-commerce is revitalized. But a dual digital signature of SET is not appropriate for wireless environments because it needs so many computations and communications. In this paper, we propose a signcryption scheme that generates a polynomial using a payment information for merchandiser and an order information for bank in order to reduce communications. We analyze the problem of existing signcryption schemes and dual digital signature schemes. Also we analyze the security properties of the proposed scheme.

대표적인 지불브로커 시스템인 SET의 서명 방식 중 이중 전자서명 방식은 사용자의 지불 정보(신용카드 번호 등)는 상점에 노출되지 않고, 사용자의 주문 정보는 은행에 노출되지 않게하여 사용자의 프라이버시를 지켜주는 것이다. 이러한 서명 방식은 전자상거래의 활성화로 그 필요성이 대두되었다. 하지만, SET의 이중 서명 방식은 계산량과 통신량이 많아 무선 환경에서 사용되기에는 적합하지 않다. 본 논문에서는 통신량을 줄이고자 상점의 주문 정보와 은행의 지불 정보 이용하여 다항식을 생성하는 signcryption 방식을 제안하였다. 기존의 signcryption방식과 이중 서명 방식을 분석하여 문제점을 도출하여 효율적인 전자서명 방식을 제안하고, 그 안전성을 분석한다.

Keywords

Ⅰ. 서론

전자상거래의 활성화로 인해 상거래의 많은 부분에서 전자 결제 서비스를 이용하고 있다. 하지만, 전자 결제의 특성상 서로 대면하지 않고 온라인 상에서 거래가 이루어지기 때문에 거래 내용에 대한 보호를 위한 요구사항들이 존재한다.

전자 결제 서비스에서 사용되는 전자 화폐는 디지털 정보화, 재사용 불가능성, 익명성, 오프라인성, 양도 가능성, 분할이용 가능성, 부정 사용자의 익명성 취소 등의 요구사항을 만족해야 한다. 특히 전자화폐의 익명성은 현금 사용시에는 요구되지 않았지만, 전자화폐 발행시 사용자의 식별 정보를 연계시킴으로써 사용자를 추적할 수 있는 문제로 인한 요구사항이다. 이를 보호하기 위해서는 상점이나 은행이 결탁하여도 이용자의 구매 정보에 관한 프라이버시는 노출되지 않아야 한다. 전자상거래에서는 이러한 사용자의 프라이버시가 보장되는 것이 특징이다.

하지만, 신용카드를 사용해 지불 브로커 시스템을 이용하는 경우 이러한 이용자의 프라이버시가 지켜지기 힘들다. 현재 SET 프로토콜에서는 이러한 문제점을 해결하기 위해 이 중 서명 (dual signature) 방식을 사용하고 있다. 이 방식의 경우 지불정보와 상품정보 각각에 각 객체(은행, 상점)의 공개키로 암호화 한 후 두 정보의 해쉬값을 연접(concatenation)해서 서명을 수행한다. 이 방법은 사용자의 지불정보와 상품내역 정보를 숨기기 위해 가장 일반적인 방법이지만, 몇가지 문제점이 존재한다. 사용자는 공개키 암호방식을 이용해서 각각의 정보를 암호화 하기 때문에 연산 부담이 매우 크다. 또한 각 정보의 해쉬값을 연접해서 서명을 수행하기 때문에 만약 분쟁 발생 시 사용자의 지불정보와 상품정보 중 어떠한 문제인지 판별하기 어렵다. 마지막으로 각각의 정보를 암호화한 암호문 두 개를 연접하고 각각의 해쉬값과 서명 값을 모두 상점에 전송해 주기 때문에 통신량이 매우 많다. 유선환경에서는 통신량이 큰 문제가 되지 않을 수도 있지만, 무선 환경의 경우 통신량도 매우 중요한 요구사항이기 때문에 부적합하다고 할 수 있다.

본 논문에서는 이러한 이 중 서명 방식의 연산량과 통신량을 줄여 무선 환경의 전자 결제방식에서도 사용 가능한 효과적인 서명 방식을 제안하고자 한다.

본 논문의 구성은 다음과 같다. 2장에서는 SET 프로토콜에서 사용되는 이 중 서명 방식과 서명과 암호화를 함께 수행하는 Signcryption방식에 대해서 알아보며, 3장에서는 Signcryption을 이용한 효과적인 이 중 서명 방식을 제안한다. 4장에서는 제안한 서명 방식의 안전성을 분석하며, 결론에서 활용분야에 대해서 논한다.

Ⅱ. 배경 이론

2.1 이 중 서명 방식

이 중 서명 방식은 지불 브로커 시스템인 SET에서 처음으로 사용한 서명 방식으로 사용자의 프라이버시 보장을 목적으로 하고 있다. 이 중 서명의 개념은 사용자의 지불 정보(신용카드 번호 등)는 상점에 노출되지 않고, 사용자의 주문 정보는 은행에 노출되지 않게 하여 사용자의 프라이버시를 지켜주는 것이다. 이를 위해 SET(Secure Electronic Transaction) 프로토콜에서는 사용자의 지불 정보와 주문 정보를 각 객체의 공개키로 암호화 한 후, 각 정보의 해쉬값을 연접하여 함께 서명하는 방법을 사용하고 있다. SET 프로토콜의 이 중 전자 서명 과정은 다음과 같다.

■파라미터 설정

- L : 상점에 전달하고자 하는 상품 내역 정보

- P : 은행에 전달하고자 하는 지불 정보

- /?(.): 일방향 해쉬 함수

- £“(.): 상점의 공개키를 이용한 암호화

- ES) : 은행의 공개키를 이용한 암호화

- S“( . ) : 상점의 비밀키를 이용한 서명

- Sb( . ) : 은행의 비밀키를 이용한 서명

■ 이 중 서명 프로토콜

.서명 생성

① 사용자의 상품 내역 정보(£)는 상점의 공개키로지불 정보(, 曰는 은행의 공개키로 암호화 한다.

#

② 상품 내역 정보(乙)와 지불 정보(B의 해쉬값을 구한다.

#

③ ②의 해쉬값들을 연접하여 사용자의 비밀키로 서명한다.

#

.서명 전송

①에서 암호화한 두 개의 정보를 연접하고, 상품 내역 정보( 乙)와 지불 정보( 尸)의 해쉬값과 두 개의 해쉬값을 연접하여 사용자의 비밀키로 연접한 해쉬값을 서명하여 보낸다.

#

.서명 검증

① 전송받은 以乙)과 h(、P)을 이용해서 서명을 검증한다.

② 상점은 자신의 비밀키 Em(、L)를 복호화 하여 1.을 확인한다.

③ 은행은 ①과 마찬가지로 서명을 검증한다.

④ 은행은 자신의 비밀키로 Eb(P)를 복호화 하여 P를 확인한다.

2.2 Signcryption 방식

Signer阳tione 서명을 생성한 후 암호화를 수행하는 signature-then-enciyption 방식의 비용(cost)를 줄이고자 1997년 Y. ZhengE에 의해제안된 방식이다.

하지만, 초기의 이 방식은 서명 검증은 지정된 수신자만이 가능한 단점 때문에 일반적인 서명 방식에 사용되는데 제약이 있다. 1998년 BacJl는 이러한 문제점을 보완하고자 기존의 Y. Zheng이 제안한 방식을 수정하여 누구나 검증가능한 signeryption방식을 제안하였다.

하지만 이 방식은 현재 네트워크 보안을 위해 널리 사용되고 있는 방화벽에서는 문제가 발생한다. 방화벽을 통과하기 위해서는 정당한 메시지임을 증명해야 하지만, 검증자의 비밀키 없이는 증명할 수 없기 때문이다. 이를 위해 1999년 C.Gamagee는 Encry- pted Message Authentication by Firewalls 에서 서명 검증 시 평문이 필요없는 새로운 방식을 제안하였다 본 장에서는 1999년 제안된 C.Gamage의 방식을 설명한다.

■ 파라미터 설정

/> : 큰 소수-

- q : 2—1의 큰 약수

- g : mod力 상에서 위수가 q인 정수 - Hash( . ) : 일방향 해쉬함수

- X。: Alice의 비밀키

- xb : Bob의 비밀키

- yaegXamodp : Alice의 공개키

- yb=gXbmodp : Bob의 공개키

Alice가 Bob에게 보내고자 하는 메시지에 대한 signcryption 생성 과정은 다음과 같다.

■ C.Gamage 의 signcrypion 방식

.서명 생성

#(1)

#(2)

#(3)

#(4)

#(5)

서명자는 위의 연산을 수행하여 생성한 ( c, r, s) 를 수신자에게 전송한다. 방화벽에서는 서명자로부터 전송 받은 정보로부터 y 값을 계산하여 방화벽에서는 서명의 정당성을 검증한다. 방화벽에서의 서명 검증 과정은 다음과 같다.

. 방화벽에서 서명 검증

#(6)

#(7)

방화벽상에서의 서명 검증 후, 서명이 정당하지 않다면 서명문은 방화벽을 통과할 수 없으며, 서명이 정당하다면, 서명문은 수신자에게 전달되고 수신자는 자신의 비밀키를 이용하여 세션키를 구성하고 암호화된 메시지를 복호화해서 원래의 메시지를 얻을 수 있다.

.서명 검증

#(8)

#(9)

#(10)

방화벽에서는 평문이 아닌 암호문 자체로 서명 검증이 가능하다.

Ⅲ. 제안하는 이 중 서명 방식

제안하는 이 중 서명 방식은 기존 방식에 비해 다항식의 값을 구하는 간단한 연산만으로 메시지를 복호화 할 수 있다는 장점이 있다. 이를 위해 지불 정보와 상품 내역 정보를 이용한 일차다항식을 생성한다. 각 객체는 생성된 다항식에 자신의 비밀키를 대입시키므로 자신에게 허용된 메시지를 얻을 수 있다. 서명자는 생성된 다항식에 한번의 서명만을 수행하며, 기존의 방식과 같이 추가적인 통신 절차가 필요하지 않기 때문에 효과적인 서명 방식이라 할 수 있다. 제안하는 이 중 서명 방식은 타원곡선 암호 방식에 기반하기 때문에 다음과 같이 파라미터를 설정한다.

■ 파라미터 설정

- E : GF3) 상의 타원곡선 - G : E(타원곡선) 위의 기본점

-n : 기본점 G의 위수 (즉, »G=0) -P : 은행에 보내고자 하는 지불 정보

-L : 상점에 보내고자 하는 상품 내역 정보

-XM : 상점의 비밀키 (단, xM eft(2, 3, .…勿- 1}) -xB : 은행의 비밀키 (단, xB ew(2, 3, …, m-D) -Xu : 사용자의 비밀키 (단, 如 Vr{2, 3w-1)) ■ Qm = XinG : 상점의 공개키

- Qb=xbG : 은행의 공개키 - Qu=XuG : 사용자의 공개키 - Ha風 . ) : 해쉬함수

-XOR : eXclusive-OR 연산 -, KP) : 점 F의 X좌표

・ 제 안하는 Signcryption 방식

. Signcryption 생성

#(4i)

제안하는 방식은 기존의 signcryption 방식에 비해 상대적으로 메시지의 복호화 과정이 간단하기 때문에 서명 생성 과정의 안전성을 고려해야 한다.

먼저 서명 생성 과정에서는 보내고자 하는 메시지의 크기를 고려해야 한다. 이 경우 F와 乙의 크기는 위수 "보다 크기 때문에 보내고자 하는 메시지를 n 크기만큼 나눠야 한다. 즉 P와 Le 실제로 "의 크기에 따라와 乙로 나눠지기때문에 생성되는 A.B 또한 4, Bq. ...B;로 /개가 생성된다. 본 논문에서는 이렇게 생성된 /개의 메시지에 대해서 하나의 서명을 생성하기 위해서 A', B'를 사용한다. 4, 8는 생성된 勿(A), MB) 의 모든 메시지 블록을 연접한 값의 해쉬값을 말한다. 사용자는 자신이 생성한 MB;), /, s를 상점에 전송한다. 전송 과정에서 兀(&) = Q結그잉& ) 를 공개 채널상에서 전송하여도 타원곡선 암호방식은 4, , G, Q&Qb를 통해서 (戶-乙)을 구하기 힘든 이산대수 문제이기 때문에 안전하고, 忒B》= 가 공개되어도 X—역시 — P나 乙을 구하기 힘든 이산대수 문제이기 때문에 안전하다.

만약 상점에 접근하기 위해서 방화벽(Firewall)을 통과해야 한다면, 제안된 서명은 검증자의 비밀키나 평문 없이도 서명의 정당성을 검증될 수 있다.

. 방화벽에서의 서명 검증

#

방화벽에서 서명의 정당성이 검증되면 상점에서는 전송받은 ”(4), 以3)를 이용해서 다항식을 생성한다. 상점과 은행의 복호화 과정은 각각 다음과 같다.

. 상점의 메시지(乙) 복호화

- 다항식 생성 F(T ) = XA)T+XB)

#

(표 1) 제안하는 방식의 특징

- 다항식에 상점의 비밀키 %防 대입

#

. 은행의 메시지(3) 복호화

- 다항식 생성 F(丁 )= 术4)7卄心3)

#

- 다항식에 은행의 비밀키 대입

#

■ 제안한 Signcryption 방식의 특징

제안한 이 중 서명 방식은 타원곡선 암호 방식과 signcryption 방식을 이용하여 연산 속도를 향상시켰으며, 보내고자 하는 메시지를 하나의 일차 함수로 표현하여 통신량을 감소시켰다. 상점과 은행의 허가된 메시지 복원하기 위해 일차 다항식의 값만을 구하면 되기 때문에 메시지 복원이 매우 간소화되었으며, 기존 이 중 서명 방식에서 나타났던 분쟁시 발생할 수 있는 서명의 문제를 해결하였다.

. 연산 속도의 향상

사용자는 signcryfrtion 생성시 3번의 스칼라 멀티플리케이션(scala multiplication) 연산을 수행한다. 이에 반해 상점과 은행은 메시지 복원시 스칼라 멀티플리케이션 연산 없이 한번의 유한체상의 곱셈 연산만을 수행한다. 이는 메시지 복호시 기존에 제안된 방식들에 비해 매우 빠르다. 또한 제안된 방식은 타원곡선암호 방식을 기반으로 수행되기 때문에 기존의 RSA 나 ElGamal방식에 비해서도 상대적으로 연산 속도가 빠른 다.

.통신량의 감소

기존에 소개된 이 중 서명 방식은 각각 메시지의 암호문과 해쉬값, 서명값이 전송되기 때문에 전송되는 메시지는 RSA 방식의 경우 \2H{ . )| +4|«| (단, 儿=1024)이고, ElGamal 방식의 경우 |2H( .)[ 十4MI (단, 4=160)이다.

본 논문에서 제안된 방식은 IM . )|+ 3函 (단, n = 160)이기 때문에 ElGamal 방식에 비해서도 약 40% 의 통신량이 감소되었다.

. 메시지 복호화의 간소화

제안된 방식은 메시지 복호화시 객체의 비밀키를다항식에 대입하여 일차 다항식의 값을 구하기 때문에 유한체상의 곱셈 연산만으로도 허용된 메시지 의복 호화가 가능하다. 특히 상점과 은행의 다른 두 객체에서 동시에 메시지를 복호화 하고자 할때 같은 다항식에 각각 객체의 비밀키값을 대입하여 허용된 정보를 얻기 때문에 메지시 복호화가 매우 간단하다.

. 분쟁 발생시 기존 서명 방식의 문제 해결

SET 프로토콜에서 이 중 서명 방식은 각각 정보의 해쉬값을 구해 연접하여 서명을 생성한다. 그렇기 때문에, 이 서명 방식은 분쟁 발생시 분쟁의 원인이 지불정보(F)인지 상품 내역 정보( 乙)인지 판단하기가 모호하다. 이를 보완하기 위해 본 논문의 서명 방식에서는 서명에 사용된 A, B 정보를 모두 확인할 수 있기 때문에 서명의 분쟁 발생시 문제의 원인을 판별하는데 용이하다.

Ⅳ. 제안한 Signcryption 방식의 안전성 분석

본 장에서는 제안된 signcryption 방식이 전자서명의 조건과 암호화의 조건의 안전성을 분석한다.

■전자서명의 안전성 분석

. 위조 불가(unforgeable) 본 서명 방식은 서명 s 생성 시 사용자의 비밀키 X。를 사용하기 때문에 합법적인 사용자만이 서명을 생성할 수 있다.

. 사용자 인증(user authentication) 기존의 signcryption 방식과 다르게 본 방식은 서명 검증시 검증자의 비밀키가 필요하지 않기 때문에 서명 생성자의 공개키를 이용해서 누구든지 서명 검증이 가능하고, 사용자를 인증할 수 있다.

.부인 불가(nonrepudiation) 본 서명 방식은 서명생성 시 사용자의 비밀키 를 사용하기 때문에 사용자만이 합법적인 서명을 생성할 수 있다. 만약 서명자가 서명을 부인 할 경우 별도의 특수서명인 부인 방지 서명을 이용해서 서명의 부인을 방지할 수 있다.

. 변경 불가(unalterable) 서명 생성시 문서 내용이 함께 계산되기 때문에 만약 서명 후 문서의 내용을 바꾸면 원래의 서명값과 같지 않은 서명 값이 생성된다. 그렇기 때문에 서명 생성후 문서의 변경은 불가능하다.

. 재사용 불가(not reusable) 문서의 서명 생성시 서명 생성자의 비밀키와 문서의 내용이 함께 계산되기 때문에 생성된 서명값을 다른 문서의 서명으로 재사용이 불가능 하다.

■ 암호화의 안전성 분석

.무결성(message integrity) 서명 검증시 전송받은를 이용하여 서명을 검증하기 때문에 전송된 메시지의 무결성을 확인할 수 있다.

. 기밀성(Confidentiality) 메시지의 복호화시 각 객체의 비밀키를 대입하기 때문에 정당한 비밀키를 가지고 있는 객체만 허용된 메시지를 얻을 수 있다.

Ⅴ. 결론

본 논문에서는 전자 결제 시스템의 대표적인 브로커 시스템인 SET 프로토콜에서 사용되고 있는 이 중 서명 방식을 개선하고자 하였다. 연산의 효율성을 위해서 타원곡선 암호 방식에 기반한 signcryption 방식을 이용하였으며, 네트워크상의 방화벽에서도 검증자의 비밀키나 원래의 메시지 없이도 서명의 정당성을 검증할 수 있게 하였다.

제안한 방식은 메시지 복호시 연산의 효율성을 위해서 보내고자 하는 두 개가 메시지를 이용하여 다항식을 생성하였다, 생성한 다항식을 이용해서 메시지의 복호시에 객체의 비밀키를 대입하여 간단히 메시지를 복원할 수 있다. 이는 무선 환경에서 사용되기에 적합하다고 생각된다. 제안하는 방식을 역으로 사용하여 두 개의 메시지에 대한 signcyr中tion의 생성은 유선 단말기에서 수행하고, 서명의 검증을 무선단말기에서 수행한다면, 매우 효과적일 것으로 기대된다. 무선 단말기의 제약을 극복하기 위해 한 번의 스칼라 멀티플리케이션으로도 메시지의 복호화가 가능하기 때문이다.

본 서명 방식은 향후 연구를 통해 여러개의 메시지를 하나의 다항식으로 생성하여, 한번의 서명으로 여러 객체에게 각각의 필요한 메시지를 전달 할 수 , 있는 서명 방식으로 발전시킬 수 있을 것이다. 이러한 서명 방식은 멀티 유저 (multi-user)를 대상으로 하는 현대의 많은 인터넷 환경에 응용되기에 적합하다.

References

  1. CRYPTO'97 singcryption or How to Achieve Cost(signature & Encryption) << Cost(signature)+Cost(Encryptin) Yuliang Zheng
  2. PKC'98 A Signcryption scheme with Signature Directly Verifiable by Public Key Feng Bao;Rebert H. Deng
  3. PKC'99 Encyrpted Message Authentication by Firewalls Chandana Gamage;Jussipekka Leiwo;Yuliang Zheng
  4. ICISE'99 Electronic Funds Transfer Protocol Using Domain-Verifiable Signcryption Scheme Moonseong Seo;Kwangjo Kim
  5. ICISE 2001 New signcryption schemes based on KCDSA Dae Hyun Yum;Pil Joong Lee
  6. 2002년 방식정보처리학회 춘계학술발표논문집 v.9 no.1 타원곡선을 이용안 Proxy-Signcryption 방식 홍종국;이임영
  7. ASI-ACRYPT'96 A message recovery signature scheme equivalent to DSA over elliptic curves Atsuko Miyaji
  8. ISC/CD 15946-4 Digital signatures giving message recovery
  9. IEEE P1363a/D2 Standard Specifications for Public Key Cryptography
  10. Eurocrypt '94, LNCS 950 Message Recovery for signature Schemes Based on the Discrete Logarithm Problem Kaisa Nyberg;Rainer A. Rueppel
  11. Extemal Interface Guide to SET Secure Electronic Transaction
  12. SET Secure Electronic Transaction LLC
  13. IEEE P1363a/D2 Standard Specification Public Key Cryptography