DOI QR코드

DOI QR Code

A New Forward-Secure Signature Scheme based on GDH groups

Gap Diffie-Hellman 군에 기반한 전방향 안전성을 갖는 서명 기법

  • 강보경 (한국과학기술원 수학과 암호론 연구실) ;
  • 박제홍 (한국과학기술원 수학과 암호론 연구실) ;
  • 한상근 (한국과학기술원 수학과 암호론 연구실)
  • Published : 2003.10.01

Abstract

We often use cryptographic systems on small devices such as mobile phones, smart cards and so on. But such devices are delicate against the tlreat of key exposure of secret keys. To reduce the damage caused by exposure of secret keys stored on such devices, the concept of forward security is introduced. In this Paper, we present a new forward secure signature scheme based on Gap Diffie-Hellman groups. Our scheme achieves security against chosen-message attacks under the computational Diffie-Hellman assumption in the random oracle model.

보통의 공개 열쇠 암호 시스템에서 비밀 열쇠가 노출되면 그 비밀 열쇠로 생성된 암호문이나 서명 등의 해독, 위조가 가능하다. 이런 비밀 열쇠 노출의 위험성은 상대적으로 물리적인 보안이 이루어지지 않은 핸드폰, 스마트카드 등과 같은 열쇠 저장 장치에 가장 큰 위협이 되고 있다. 따라서 현재 비밀 정보가 노출되어도 과거의 비밀 열쇠에 의해 생성된 정보는 안전하게 유지되어야 한다는 전방향 안전성 개념(forward security)은 열쇠교환 프로토콜 및 여러 암호 요소(primitive)들이 필수적으로 만족해야 할 조건이다. 본 논문에서는 Cap Diffie-Hellman 군을 사용하여 전방향 안전성을 만족하는 서명 기법을 제안한다. 제안된 서명 기법은 계산적 Diffie-Hellman 문제의 어려움을 기반으로 선택 메시지 공격 모델에 대한 증명가능한 안전성을 가진다.

Keywords

Ⅰ. 서론

암호 시스템에서 계산의 상당부분은 물리적인 보안이 미흡한 장치(스마트카드, 모바일 폰, PC 등)에서 이루어진다. 이와 같은 장치를 이용할 경우 발생할 수 있는 열쇠 노출의 피해를 줄이기 위해서 암호 시스템은 기본적으로 현재 사용중인 비밀 열쇠가 노출되어도 이전 비밀 열쇠를 이용하여 얻어진 정보들의 안전성은 보장되는 전방향 안전성(forward security)을 만족시켜야 한다. 열쇠교환 프로토콜에서 필수적인 안전성 조건으로 처음 소개된 전방향 안전성은 쌍방간의 상호 작용(interactive protocol)에 의해 열쇠를 공유하여 사용하고 일정 시간이 지나면 다시 상호 열쇠교환 프로토콜을 수행하여 공유 열쇠를 갱신하는 방법에 의하여 보장되었다. 이러한 전방향 안전성을 만족하는 열쇠교환 프로토콜은 자연스럽게 수신자와 송신자가 공유된 열쇠를 이용하여 안전하게 메시지를 주고받은 후에 그것을 즉각적으로 물리적인 장치에서 지움으로써 전방향 안전성을 만족시키는 쌍방간의 상호작용이 필요한 암호 시스템 (interactive encryption scheme)으로 확장될 수 있다. 이후에 Andersone 열쇠교환 프로토콜의 전방향 안전성을 쌍방간의 상호작용이 필요 없는 암호 요소의 안전성 개념'기으로 다음과 같이 확장하였다.

시스템의 총 유효한 시간 N 을 0, 1, …, N-1 로나눈다. 수신자는 처음시간의 비밀 열쇠를 초기화 하여 자신의 저장장치에 저장한 후, 시간의 흐름에 따라 비밀 열쇠를 새롭게 진화시킨다(key evolving). 즉, 수신자는 i-1 시간의 비밀 열쇠에 일방향 함수를 이용하여 i 시간의 열쇠를 생성하고 즉시 i-1 시간의 비밀 열쇠를 저장장치에서 삭제한다. 따라서 i 시간의 비밀 , 열쇠가 노출이 되더라도 그 전 시간 동안의 암호화된 정보의 안전성을 보장할 수 있다. 또한 비밀 열쇠에 대응되는 공개 열쇠는 유효한 전체시간 동안 고정되므로 수신자와 송신자사이의 열쇠 교환을 위한 상호작용이 필요 없다.

이러한 개념이 소개된 이후 쌍방간의 상호작용 없이 전방향 안전성을 만족하는 서명 기법, 자기 인증기법 (identification scheme), 비밀 열쇠 암호 시스템 등의 여러 암호 요소들이 제안되었다μ"时"3」5, 161 또한 최근 Kat/】에 의해 처음으로 이를 만족하는 공개 열쇠 암호 시스템이 제안되었다. 이 시스템은 랜덤 오라클 모델이 아닌 표준 모델에서의 결정적 겹선형 Diffie-Hellman문제 (decision bilinear Diffie-Hellman problem)가 어렵다는 가정 하에서 선택 암호문 공격에 대한 전방향 안전성을 제공한다. 또한 랜덤 오라클 모델에서는 계산적 Diffie-Hellman 문제가 어렵다는 가정 하에서 선택 암호문 공격에 대한 전방향 안전성을 제공한다. 이 시스템은 계층 사용자 ID기반 암호 시스템I이긔에서 사용된 트리 구조를 변형한 이항 트리 구조(binary tree structure)를 사용하고, 초특이 곡선(super singular curve)과 같은 특수한 군 구조에서 효율적인 사용이 가능한 겹선형 함수를 이용한 Boneh의사용자 ID기반 암호 시스템两이 변형 적용되었다.

앞에서 언급한 바와 같이 암호 시스템과는 다르게 쌍방간의 상호 작용은 없는 동시에 전방향 안전성을 만족하는 서명 기법은 여러 차례 제안되었다. 그러나 랜덤 오라클 모델에서 계산적 Diffie-Hellman 문제의 어려움을 안전성의 기반으로 하는 서명 기법은 제안되지 않았다. 본 논문에서는 Boneh 등이 제안한 BLS 서명 기법回을 변형하여 Katz등의 암호 시스템기에대응되는 서명 기법을 제안하고 랜덤 오라클 모델에서 선택 메세지 공격에 대한 전방향 안전성을 증명한다. 이는 최초의 계산적 Diffie-Hellman 문제를 기반으로 전방향 안전성을 가지는 서명 기법이다.

본 논문의 구성은 다음과 같다. 2장에서는 새로운 서명 기법에서 사용되는 겹선형 함수와 Gap Diffie Hellman 군의 정의들을 소개하고 관련 안전성 기반 문제들을 정리한다. 또한 열쇠 진화(key evolving) 서명 기법의 정의를 살펴보고 열쇠 진화 서명 기법이 전 방향 안전성을 만족하는 조건을 알아본다. 그리고 3 장에서는 본 논문에서 제안하는 전방향 안전성을 가지는 새로운 서명 기법을 소개하고 그 안전성을 증명한다. 마지막 4장에서 결론과 향후 연구방향에 대해 서술한다.

Ⅱ. 정의 및 기본개념

2.1 기본 개념

이 절에서는 앞으로 제안할 서명 기법의 안전성 기반 문제를 소개하고 겹선형 함수 및 Gap Diffie Hellman 군을 정의한다. 우선 다음과 같이 표시하자.

. Gr : 위수가 소수 g인 순환 덧셈군

. G2 : 위수가 소수 g인 순환 곱셈군

. FeG, : 군 G 의 생성원

이때 군 G]에서 정의될 수 있는 일반적인 문제들은 다음과 같다.

(1) 계산적 Diffie-Hellman(CDH) 문제

군 G4 의 원소 P, aP, bP가 주어졌을 때 abP를 계산하는 것으로 이 문제를 해결하는 알고리즘 4의 이점 (advantage)을 다음과 같이 정의한다.

#

여기서 는 각각 而, GJ에서 임의로 선택한다. 최대 t시간 실행 후 AdvCDHA알고리즘 A 가 (t, e)으로 군 Gi의 CDH 문제를 해결한다고 정의한다.

(2) 결정적 Diffie-HeIlman(DDH) 문제

군 G의 원소 P, aP, bP, cP 가 주어졌을 때 법 g 로 c三 ab를 만족 하는지 여부를 판단하는 문제로 성립하는 경우의 (aP, bP, cP) 을 Diffie-Hellman tuple이라 한다.

[정의 1] 함수는 계산이 효율적이며 군 G|의 임의의 원소 와 QlQ에 대하여 다음 조건을 만족하면 겹선형(bilinear) 함수라 한다.

(1) [Bilinear]

#

#

(2) [Non-degenerate]

e(RQ)丰1 인 가존재

잘 알려진 겹선형 함수의 예로 초특이 타원곡선에서의 Weil pairing 및 Tate pairing이 있으며 이를 이용하면 DDH 문제는 쉽고 CDH 문제는 해결하기 어려운 성질을 갖는 Gap Diffie-Hellman (GDH)군을 유도할 수 있다.

[정의 2] GDH 군 G에서 (t, e)으로 군 G 의 CDH 문제를 해결하는 알고리즘이 없으면 군 G를 (t, e)-GDH 군이라 한다.

2.2 열쇠진화 서명 기법(Key Evolving Signature Scheme)

열쇠 진화 서명 기법은 일반적인 서명 기법에 주기적인 열쇠 갱신 알고리즘을 적용한 것이다. 그러므로 서명 기법의 전방향 안전성의 개념은 열쇠 진화 서명 기법의 구조를 기반으로 정의될 수 있다.

[정의 3] 열쇠 진화 서명 기법(KE.ES)은 다음과 같은 ( KE. GEN, KE. UPD, KE. SIGN, KE. VRFY) 4개의 다항식 시간 알고리즘이다.

(1) 열쇠 생성 알고리즘 KE. GEN : 확률적 다항식 시간 알고리즘으로 안전성 인수 X와 전체 시간 N 을 입력으로 하여 N시간 동안 사용되는 공개 열쇠인 FK와 그에 대응되는 최초의 비밀 열쇠 SK。 를 출력한다.

(2) 열쇠 진화 알고리즘 KE. UPD : 확률적 다항식 시간 알고리즘으로 입력값 SK, _j에 대해 z.시간의 비밀 열쇠 인 泌를 출력 한다.

(3) 서명 알고리즘 KE.SIGN : 확률적 다항식 시간 알고리즘으로 현재 内간 비밀 열쇠 SK, 를 사용하여 메시지 M에 대한, 시간의 서명[ /, 。]를 출력 한다.

(4) 인증 알고리즘 KE. VRFY : 결정적 다항식 시간 알고리즘으로 공개 열쇠 FK를 입력 값으로 서 명가 메시지 心에 대한 유효한 서명이면 1, 그렇지 않으면 0을 출력한다. 즉, KE.VRFY(、PK, M, [H])=l을 만족하면[如]는 메시지 Af에 대한 , 시간의 유효한 서명이다.

열쇠 진화 서명 기법이 전방향 안전성을 가진다는 것은 공격자가 현재의 비밀 열쇠를 얻어도 그 이전 시간의 비밀 열쇠로 생성된 서명을 위조하는 것이계산적으로 불가능하다는 것을 의미한다. 이를 구체적으로 설명하면 다음과 같다. 랜덤 오라클 모델에서 공격자 A는 서명자의 공개 열쇠인 FK와 전체 시간 N, 현재 시간을 입력 값으로 다음과 같은 3단계에 걸친 공격을 수행한다. 기본적으로 랜덤 오라클 Hi, 払의 출력 값을 요구할 수 있다. 첫째, 공격자 스스로 선택한 메시지 〃에 대한 서명 값을 요구한다. 이를 선택 메시지 공격(chosen message attack) 단계라 한다. 이 단계에서 공격자는 보통의 서명 기법의 공격모델과 마찬가지로 현재 시간의 서명을 생성해주는 오라클에 접근할 수 있다. 각 시간에서 공격자는 계속해서 다음 시간에도 선택 메시지 공격을 수행할 것인지 아니면 Break-In 공격을 수행할 것인지를 결정한다. Break-In 공격 단계는 공격자가 자신이 선택한 i 시간의 비밀 열쇠를 요구하는 것을 의미한다. 위 두 가지 공격단계를 성공적으로 마친 후에 공격자가 0MKi[N 인 丿.시간의 유효한 서명[腥]을 출력하면 공격자가 승리한 것이다. 이를 형식화한 Bellare 와 Minei同의 안전성 모델은 다음과 같다. 즉 아래와 같은 실험(expe血ent)에서 최종적으로 d=\ 값이 출력되는 확률이 공격자 A의 승리확률로 정의된다.

[실험 1] EXPFS.PKSa(KE.PKS(、K, N), A、)

임의의 랜덤 오라클 ER, 电를 선택한다.

#

를 반복한다.

#

Mo] 서명 오라클 KE.SKMSK" . )에 쿼리 되지 않았고[6。]가 M의 유효한 서명인 동시에 이면 d=l 그렇지 않으면 d=0을 출력한다.

위 실험에서 d=l이 출력되는 확률을 다음과 같이 정의한다.

#

[정의 4] 위의 [실험 1]에서 최대 内간 동안 최대 4개의 서명 쿼리와 g%개의 해쉬 쿼리를 실행한 후의 알고리즘 厶의 이점이 AdvKE.PKSa]e0!1^ A 가 앙, 으로 열쇠 진화 서명 기법을 공격한다 라고 하고, 이와 같은 알고리즘이 존재하지 않을 때 열쇠 진화 서명 기법 KE.PKS硏 랜덤 오라클 모델에서 선택 메세지 공격에 대하여(£, 么丄乩3)-전 방향 안전하다고 정의하며 KE.PKS(J, q/m, e)으로 표현한다.

당연한 결과로 위와 같이 정의된 KE.PKS[t, q\ g, e) 서명 기법을 고정된 비밀 열쇠를 사용하는 일정한 시간 i 동안 선택 메세지 공격하는 알고리즘이 i 시간의 서명을 위조하는 것은 어렵다.

Ⅲ. 전방향 안전성을 가지는 새로운 서명 기법

3.1 기본 용어 및 구조

논문에서 제안되는 전방향 안전성을 가지는 새로운 서명 기법은 계층 ID 기반 서명 기법(hierarchical identity-based signature)'”지에서 사용된 트리 구조를 변형한 이항 트리 구조를 이용한다.

전체 깊이(depth)가 /인 이항 트리를 사용하는 경우 전체 시간은 N=2‘+'— 1이며 각 시간은 0에서 N-1 사이의 정수 값이다. 이 이항 트리에 잘 알려진 우선순위이동(pre-order traversal)을 이용하여 다음과 같은 방법으로 각 노드를 하나의 유효한 시간으로 대응시키며 각 노드는 고유한 비밀 열쇠를 갖는다. 시간, 에 대응되는 노드의 비트열을 冰로 나타내고 대응되는 비밀 열쇠를 S 折라 하자. 우선순위 이동에서 1*=^ 는 뿌리 노드(root node)이고, w'7\ 내부 노드(internal node) 일때 # 이다. w, 7\ 나뭇잎 노드(leaf node)이고 i[N-\ 일때 w'O가 w; 의 prefix 중에서 비트열의 길이가 가장 긴 노드라 하면 = 로 놓는다. 그 외의 노드에 관련된 용어는 다음과 같다.

, w'= W\W2"-Wn : i 시간에 대응되는 노드의 비트열

. 挤0는 의 왼쪽 자식 노드(left child node)

, 刃'1는 w? 의 오른쪽 자식 노드(right child node)

. 次'仍 : 비트열 亦의 納부터 鄉 비트까지 庶의, 卜prefix

(예) ", ' = 01001이면 如2 = 01, 丽5= 汐' = 01001

. z仙 k*-. w'\k 와 마지막 비트만 다름

w'\k 의 형제 노드(sibling node)

(예) 疯 2 * = 00, 如 5 * = 01000

본 논문에서 제안되는 서명 기법은 전체 N 시간 동안 공개 열쇠가 PK로 고정된다. 그리고 /시간의 비밀 열쇠 SK느 노드 a/에 대응된 비밀 열쇠인 S” 와 함께 뿌리 노드에서 노드 까지 연결된 경로에 있는 모든 노드들의 오른쪽 형제 노드에 대응되는 비밀 열쇠들을 포함한다. 즉, /시간의 비밀 열쇠 SK; 는 마지막 비트가 0인 妒의 prefix를 必仍라 할 때 오른쪽 형제 노드인 命*에 대응되는 비밀 열쇠 $„侦.를 포함한다. 간략한 표현을 위하여 冰演의마지막 비트가 0이 아닌 경우의 Sw".값을 0으로 놓자. SK, 는 (服1・, , 海., ..., , 心., S”)으로 나타낼 수 있다.

시간, 동안 서명자(signer)는 노드 亦 에 대응된 비밀 열쇠 S” 를 사용하여 매세지에 대한 서명을 생성하게 되며 검증자(verifier)는 공개 열쇠 PK와 시간 /를 이용하여 주어진 서명을 검증한다. 한편, 열쇠 진화 알고리즘은 i 시간이 지나면 아래와 같은 방법으로 새로운 비밀 열쇠를 생성한다.

(1) 打 가 내부노드이면

冰의 왼쪽 자식 노드는 다음 시간에 사용될 wi+1 = 两로 놓고 대응되는 비밀 열쇠 S[广를 생성한다. 또한 오른쪽 자식 노드 次'1에 대응되는 비밀 열쇠 膈|를 생성한다.

(2) 病가 나뭇잎 노드이면

다음 시간에 사용될 노드 妒+'의 비밀 열쇠, 此, 는 이미 SK, 에 포함되어 있다.

(1) 과 (2) 두 경우 모두 열쇠 갱신이 끝나는 즉시 노드 折의 비밀 열쇠를 저장 장치에서 삭제한다. 복잡한 것처럼 보이는 위의 열쇠 진화 알고리즘은 잘 알려진 자료구조 스택 (stack)을 이용하여 손쉽게 구현될 수 있다. ST- SK(= SK》는 노드에 대응되는 비밀 열쇠들의 스택으로 /시간 동안 宓에 대응되는 비밀 열쇠 S”, 를 맨 위(top)에 가진다고 하자. 서명자는 S妒를 이용하여 /시간 동안의 서명을 생성한다., 시간이 끝나고 /+1시간의 비밀 열쇠를 생성할 때 이미 사용된 S妒는 ST-SK 스택에서 꺼낸다 (pop).

(1)汐'가 내부 노드이면

자식 노드인 와 如'1에 대응되는 비밀 열쇠 %0, S妲을 생성흐여 S"[과服。을순서대로 ST ~SK 스택에 넣는다(push). 그리고 S两을 으로사용한다.

(2) 痹가 나뭇잎 노드이면

맨 위에 놓인 비밀 열쇠가 가 돤다.

(1)과 (2) 두 경우 모두 스택에서 꺼낸 S“를 저장장치에서 완전히 삭제한다.

3.2 구체적인 서명 기법

본 논문에서 제안하는 서명 기법 FS.PKS는 다음과 같은 4개의 요소로 이루어져 있으며 전방향 안전성을 만족한다.

3.2.1 FS.PKS 서명 기법

(1) 시스템 파라미터 생성 알고리즘 FS.GEN[K, l)

① 인증기관(CA)은 안전성 파라미터 K와 이항 트리구조의 깊이 /을 입력 값으로 시스템 파라미터 인위 수가 소수 g인 두 개의 군 (务。2과 겹선형 함수 dGUGi-G;;을 생성한다. 또한 임의의 생성원 P드 G과 임의의 a으Z[qZ를 선택하여 Q=aP로 놓는다 해쉬 함수 # 을 선택한다.

② 뿌리 노드의 비밀 열쇠는 # 이고 전체 시간 동안 공개 열쇠는 이다. 그리고 시스템 파라미터는 (63浓, 户, 以7%, 丑2)이다

(2) 열쇠 갱신 알고리즘 FS.UPD (PK, i, g

i 시간에 대응되는 노드를 犯라 하고 먼저 스택 ST-SK 에서 를 꺼내자. 트리에서 노드 의 위치에 따라 다음과 같이 비밀 열쇠를 갱신한다.

① w= wl---wna] 내부 노드이면 W노드에 대응되는 비밀 열쇠 # 를 입력 값으로 자식 노드 以, 如의 비밀 열쇠를 다음과 같이 출력한다.

Q 임의의 。皿, 0如 V乙 선택

# 와  # 을 계산하고

© ## 을 순서대로 스택 ST—SK 에 넣은 후, &를 저장장치에서 삭제한다.

② z〃= 糾…就扁이 나뭇잎 노드인 경우에는 &를 저장장치에서 삭제한다.

(3) 서명 생성 알고리즘 FS.SIGNG, SKj, M)

시간, 에 대응되는 노드를 涉 =o]i…如”라 하자. 서명자는 ST-SK의 맨 위에 있는 를 사용하여 다음과 같이 서명한다.

① 임의의 r vZ°을 선택하여 ## 을 계산하고 a=(U, FS) 라하자.

② 서명자는[ M, z] 에 대한 서명으로 # ​​​​​​​과 # 을 출력한다.

(4) 서명 검증 알고리즘 FS.VRFY(PK, M, [i, a»

시간, 에 대응되는 노드를 o;= 皿…糾라 하자. 검증자는 # ​​​​​​​일때 다음 등식이 성립하면 # 를[0草]에 대한 유효한 서명으로 확인한다.

#

다음과 같은 간단한 계산에 의해서 유효한 서명은 위 등식을 만족한다는 것을 알 수 있다.

#

본 서명 기법은 이항 트리의 모든 노드들을 각 시간에 대응시켜 활용하므로 나뭇잎 노드들만을 이용하는 일반적인 트리 구조의 시스템에 비하여 열쇠생성 및 열쇠 진화 알고리즘의 복잡도가 (XlogAO에서 0(1)로 향상된다.

3.2.2 안전성 증명

[정리 1] 파라미터 생성 알고리즘 FS.GENIK, D 에서 생성된 군 G가 (/m'\GDH 군 이면 다음을 만족하는 모든 (t, £)

#

#

에 대하여 FS.FKS는 0, 虫, 9&, 。-전방향 안전성을 가진다.

위 정리는 FS.PKS 서명 기법의 안전성이 G에서의 CDH 문제의 어려움을 기반으로 함을 보여준다.

(증명)

(1) 모의 실험 (Simulation)

A가 (、代&舛财。으로 FS.PKS를 공격하는 알고리즘이라 흐}자. 이 알고리즘을 서브루틴으로 사용하여 f 시간동안 e 이상의 확률로 G에서의 CDH 문제를 해결하는 알고리즘 B를 아래와 같이 설계한다. B는 군 G의 원소 P, aP, bP을 입력 값으로 abP를출력하는 것을 목표로 A에게 [실험 1]과 구별되지 않는 모의 환경을 아래와 같이 제공한다. 4는 자신의 쿼리에 대한 답이 3에 의해 생성된 것인지 실험의 도전자(challenger)에 의한 것인지 구별할 수 없다. 또한 B는 고정된 시간 GMiMN-l 동안 선택 메시지 공격을 수행하는 알고리즘 4'에게 아래의 [2단계] 와 같은 방법으로 모의 환경을 제공할 수 있으며 4'가 시간, 에 대한 서명을 위조하는 경우에 이것을 이용.하여 abP 값을 계산할 수 있다. 즉 시간 £ 의 서명 기법 # 은 시간 / 에대한 선택 메시지 공격에 안전하다.

[1 단계] 4의 파라미터 생성

B는 유효한 전체 시간 N과 임의의 시간 T, 0M7MN-1 를 선택한다. T시간에 대응되는 노드의 비트열을 很라 흐}자. 군 Gi의 생성원인 P, 공개 열쇠 Q=aP 그리고 理 A가 공격하는 열쇠 진화 서명 기법의 시스템 파라미터로 제공하고 4 를 실행시킨다.

[2단계] 선택 메시지 공격(Chosen message attack)

B는 A가 선택 메시지 공격 단계에서 요구하는 %-쿼리 및 서명 쿼리들에 대하여 다음과 같이 답을 돌려준다.

각 시간마다 A는 다음 시간에도 선택 메시지 공격을 계속하고자 하는 경우엔 Decision 값을 0으로 선택하고, 다음 단계의 공격을 수행하고자 하는 경우, Decision값을 Break-In으로 선택하여 출력한다.

B는, 를 0으로 초기화하고 Hi(e、)=bP=I匚으로설정한다. 그리고 4가 Decision 값을 Break in으로 출력하거나 顶가 X이 될 때까지 아래의 ①.④를 순서대로 진행한다.

wi== 也[…他를, 시간에 대응되는 노드라고 하자.

① 7为-쿼리: 厶가 h2( .)해쉬 값을 요구할 때 새롭게 설정되는 값들의 리스트(丑2-리스트)를 다음과 같이 생성한다.

0 가 이미 쿼리 된 경우

저장된 %-리스트에서眼, 虬仰", 啊., 冷 값을 찾아 # 으로 출력한다.

©[M" 가 쿼리 되지 않은 경우

. # 인 임의의 c, 戶{0, 1}선택

. 임의의 # 선택하고

만약 c&=0 이면

#

그렇지 않으면

#

으로 설정한다.

. # 을 丑2-리스트에 추가한다.

② 서명 쿼리 : 4가[阪.3]에 대한 서명을 요구할 때 우선 ①에서와 같이 丑2-리스트를 생성한다. 대응되는 원소가 彼", , , S4", %, c, .]일때

6)c, . = 0이면 “실패” 선언하고 중단한다.

©c, 、=l이면 현재 시간 j 이전의 열쇠 갱신 단계 ③에서 생성되어 저장된 爲1, 와 R* 을 사용하여 # ​​​​​​​값을 계산하고[啊.3]에 대한 서명으로 # 와 Rg KM/을 출력한다.

. 완전성(Completeness) - 유효한 서명을 생성한다.

#

= 乩, 이 성립하므로 I— 1

B는 aL=abP 값을 계산하지 못하여도[场., , ]에대한 유효한 서명을 생성할 수 있다.

③ 열쇠 갱신

. 况가 내부 노드인 경우만 아래와 같이 열쇠를 갱신한다.

wi=ewT 일때

必3가 护'의 prefix 이면

임의의 儿如们, , "", 芒乙 선택

#

#

# 는 임의로 선택

# 계산

两가 "'의 prefix 가 아닌 경우

임의의, # 선택

#

# 을 임의로 선택

M= wT 이면

# 선 택

#

#

#

#

위와 같이 설정된 값들을 저장한다.

④ 4 가 Decision 값을 출력하였을 때

9 ;[ 7、이고 Decisione 이면

j - ;+1 로 놓고 ①로 간다.

© j= T 이고 Decision=Break-In 이면 [3단계] 로진행한다.

© 그 외의 경우에는

“실패” 선언하고 알고리즘 3는 중단한다.

[3단계] 비밀 열쇠 노출 요구 공격(Break-In Attack)

4가 顶+1 시간의 비밀 열쇠 S"+i를 요구한다.

① u加 를 마지막 비트가 0인 a/의 prefix라 하자.

이때 노드 力心*의 비밀 열쇠 广를 [2단계]-③ 에서 해쉬 Hi(・)값을 정의할 때 사용된 儿研”, R”物와 %宀7心.을 이용하여 다음과 같이 계산한다.

#

. 완전성(Con甲leteness)-유효한 비밀 열쇠를 생성한다.

[2단계卜③에서 # 으로 정의되었으므로 1MK 에 대하여

# 이 성립한다

즉, 3는 aIe=abP 값을 계산하지 못하여도 유효한 비밀 열쇠를 생성할 수 있다.

② 비밀 열쇠 # 도 마찬가지로 [2단계]-③ 에서 해쉬 Hi( . ) 값을 정의할 때 사용된 *物, 知时와 B斜, 侦을 이용하여 다음과 같이 계산한다.

#

♦ 완전성(Completeness) - 유효한 비밀 열쇠를 생성한다.

[2단계]-③에서 # 으로 정의되었으므로

# 이 성립한다*

즉, B는 aL= abP 값을 계산하지 못하여도 유효한 비밀 열쇠 S"를 생성할 수 있다.

B는 위 과정의 계산을 끝내고 顶+1시간 비밀 열쇠 SKf 를 A의 비밀 열쇠 노출 공격에 대한 답으로 돌려준다

[4단계] 서명 위조 단계

[1 단계]-[3단계]의 공격과정을 성공적으로 수행한 후 厶는[M3], OMzMT의 서명 ea=(U=xP, FS)] 을 출력한다., 시간에 대응되는 노드를 m/= 如"2…钏 라 하자. A가 출력한 서명이 유효하면

# 을만족한다

[5단계] CDH 문제 해결

B는 A가 출력한 서명 # 을이용하여 자신의 목표인 abP 값을 다음과 같이 계산한다.

压-리스트에서 [M, i, *, h, "p, c]을 찾는다.

c= 0 이면

[2단계]-③에서 설정된 爲机 , 7?血와 福 이용하여 # 를계산한다.

c=l 이면 "실패” 선언, 중단한다.

(2) 분석

위와 같은 모의 실험의 다섯 단계를 성공적으로 마친 후 아래의 4가지 사건들이 모두 일어나는 경우에만 B는 성공적으로 abP 값을 출력할 수 있다.

[사건 El] [2 단계]-②의 서명 쿼리 단계에서 "실패” 하지 않는다.

[사건 £2] [2 단계]-④ 에서 "실패” 하지 않는다. 즉, Z)ec*, o, z = Break-In이고 j= 7、이다.

[사건 E3] [4 단계] 에서 A가 [M3], 에대한 서명[/, 枝을 위조한다.

[사건幽] 風가 일어나고 A가 서명을 위조한 메시지[M3]에 대한 &-리스트 c값이 0이다.

B의 성공확률 e =Pr[El/\战/\E3AE4]은 계산에 의해 Pr[£l] . Pr[£2|£l] . PrfSlElAe] . Pr[El| E1AE2/\E3] 와 같으므로 각각의 확률을 다음과 같이 예측함으로써 B 의 성공확률을 계산할 수 있다.

① Pr[El]]l/e

4가 /번째 메시지에 대한 서명 쿼리를 요구할 때 그전의 /-I개의 메시지에 대한 서명 쿼리가 유효했으므로 그 c값들에 대한 정보를 얻을 수도 있다. 그러나 새로운, 번째 메시지에 대한 서명 쿼리를 요구하기 전에는 이 메시지의 리스트 c값이 B에 의하여 0 혹은 1 둘 중 어느 것으로 정해져 있는지 구별할 수 없다. 따라서 B가 서명 쿼리 단계에서 실패하지 않았다는 것은 A의 서명 쿼리 qs 개의 Z&-리스트 c값이 모두 1로 설정되었다는 것을 의미한다.

# 이므로

# 이다.

② Pr[战

A가 모의 실험 환경을 실제 [실험 1]과 구별할 수없으므로 B가 정한 시간 T와 A의 Break-In 공격 시간이 일치할 확률은 1/N 이상이다.

③ Pr[E3\ElAE2]]e

3에 의한 모의 실험이 성공적으로 실행되면 즉, E1 과 E2가 일어나면 A는 자신의 공격 이점인 e 이상의 확률로 본 논문에서 제안한 서명 기법의 유효한 서명을 위조한다.

④ Pr[Sl|ElA£2A£3]sl/(9s+l)

사건 E1, E2, £3가 일어나고 최종적으로 A가 출력한 위조 서명의 砚-리스트에서 c값이 1이면 3는실패를 선언한다. 4는 이전의 서명 쿼리들의 c 값에 대한 정보를 얻을 수 있더라도[M3]에 대한 서명쿼리는 이루어지지 않았으므로 饱-리스트에[M3] 의(값이 무엇으로 설정되었는지 구별하지 못한다.

따라서

# 이 성립한다.

위의 ①-④ 확률들을 종합하면 알고리즘 B가 성공적으로 abP를 계산하는 확률이 HteNSs+T)、) 이상임을 알 수 있다.

한편, 알고리즘 B의 실행 시간은 4의 실행 시간에 다음의 실행 시간들을 모두 더한 값이다. %, 은 a vZ。에 대하여 aP wG]를 계산하는 즉 G에서 의상 수배 연산에 소요되는 시간이라 흐卜자. 여기서는 基 에서 곱셈 및 나눗셈 연산 시간은 고려하지 않을 것이다.

① 如-쿼리

1개의 해쉬 쿼리에 대하여 质-리스트 값을 생성하는데 1/(q + 1)+ q/(q+ 1)潟 = (3?s+ 1)/(久+1) 번의 상수배 연산이 평균적으로 필요하다. 따라서 기대되는 소요 시간은 # 이다.

② 서명 쿼리 및 열쇠 갱신

©T 시간 동안 각 시간마다 # 값 계산을 위하여 최대 I 번의 상수배 연산이 필요하다. 따라서 최대 cGt - T- I 시간이 소요된다.

© 각 시간에서의 서명은 g서 계산된 # 값에 伊&肉&을 더하여 생성되므로 총。개의 서명 생성을 위하여 . qs 시간이 소요된다.

© T시간 동안 열쇠 갱신 단계에서 필요한 상 수배 연산의 개수는 최대 4/+27+6 번이다. 따라서 총 # 시간이 소요된다.

③ 비밀 열쇠 노출 단계

也r의 prefix 노드 wTli 들의 오른쪽 형제 노드의 비밀 열쇠 계산을 위하여 # 값의 계산이 필요하므로 최대 /개의 상수배 연산이 필요하다. 따라서 최대 소요시간은 . / 이다.

④ CDH 문제 해결단계에서 B는 abP 값 계산을 위하여 시丁 값을 계산하므로 cq 시간이 소요된다.

3의 실행 시간은 £와 ①④ 시간의 총 합인 # 이하이다.

Ⅳ. 결론

암호 시스템, 서명 기법 및 암호 요소들이 전 방향 안전성을 만족한다는 것은 현재의 비밀 열쇠가 노출된다 할지라도 이전의 비밀 열쇠를 이용하여 암호화된 정보들은 안전하다는 것을 의미한다. 이러한 전 방향 안전성의 개념은 최근 활발한 서비스가 제공되고 있는 모바일 폰 및 스마트카드 등 보안이 취약한 장치들에 탑재되는 암호 시스템 및 암호 요소들이 갖추어야 할 필수적인 조건으로 각광받고 있다. 이런 결과로 많은 수의 전방향 안전성을 가지는 시스템들이 제안되었으나 이들은 몇 개의 제한된 수학적 문제들의 어려움을 기반으로 한다.최근에는 암호 시스템 및 암호 요소들에 있어 전방향 안전성은 기본적인 요건이 되고 있으므로 좀 더 다양한 기반 문제들에 대해 전방향 안전성을 만족하는 시스템들이 개발되어야 할 것이다.

본 논문에서는 기존에 제안된 전방향 안전성을 만족하는 서명 기법들과는 다르거), GDH 군의 성질과 이항 트리啊를 이용하는 새로운 서명 기법을 소개하고 그 안전성을 증명하였다. 제안된 기법은 깊이가 , 인 트리를 사용하여 지수승에 해당하는 2, +1-1 시간 동안의 서명을 생성한다. 또한 트리의 나뭇잎 노드뿐 아니라 모든 노드들을 각 시간에 대응 시켜 활용함으로써 기존의 이항 트리 구조 시스템의 열쇠생성 및 열쇠 진화 복잡도인 O(logN)을 0(1)으로향상시켰다. 한편 제안된 서명 기법은 Katz 등의 암호 시스템「기에 대응되는 서명 기법으로 동일한 시스템 파라미터를 공유하므로 하나의 암호 패키지로 구현될 경우 효과적인 활용을 기대할 수 있을 것이다.

참고로, 최근에 본 논문과 독립적으로 Hu 등에 의하여 Katz 등이 제안한 암호 시스템에 대응되는 서명 기법㈣이 소개 되었다. 본 논문에서 제안된 서명 기법은 시간 i 동안에 동일 메시지에 대하여 각각 다른 서명을 생성하는 임의적 서명 기법(randomized signature scheme)인 반면에 Hu 등의 서명 기법은 동일 시간, 동일 메시지에 대하여 고유한 서명을 생성하는 결정적 서명 기법(determinstic signature scheme) 이다.

본 연구는 한국과학재단 특정기초연구사업 (R01-2002-000-00151-0) 지원으로 수행하였습니다.

References

  1. Advances in Cryptology ASIACRYPT 2000,LNCS 1976 A new forward secure digital signature scheme M.Abdalla;L.Reyzin
  2. ACM-CCS Two remarks on public key cryptology R.Anderson
  3. Advances in Cryptology CRYPTO 1999, LNCS 1666 A forward-secure digital signature scheme M.Bellare;S.K.Miner
  4. CT-RSA 2003, LNCS 2612 Forward security in private-key cryptography M.Bellare;B.Yee
  5. Advances in Cryptology CRYPTO 2001, LNCS 2139 Identity based encryption from the Weil pairing D.Boneh;M.Franklin
  6. Advances in Cryptology CRYPTO 2001, LNCS 2248 Short signatures from the Weil pairing D.Boneh;B.Lynn;H.Shacham
  7. EUROCRYPT 2003,lncs 2656 A forward secure public-key encryption scheme R.Canetti;S.Halevi;J.Katz
  8. Advances in Cryptology-EUROCRYPT 2003, LNCS 2332 Key-insulated public Key cryptosystems Y.Dodis;J.Katz;S.Xu;M.Yung
  9. Advances in Cryptology-ISIACRYPT 2001, LNCS 2501 Hierarchical ID-based cryptography C.Gentry;A.Silverberg
  10. A new forward secure signature scheme using bilinear Maps F.Hu;C.H.Wu;J.D.Irwin
  11. Advances in Cryptology-CRYPTO 2001, LNCS 2139 Forward-secure signatures with optimal signing and verifying G.Itkis;L.Reyzin
  12. 정보보호학회 논문지 v.13 no.3 보다 효율적인 Hierarchical ID-based cryptosystem T.G.Kim;D.H.Yum;P.J.Lee
  13. ACM-CCS 2000 Simple forward-secure signatures from any signature scheme H.Hrawczyk
  14. 정보보호학회 논문지 v.13 no.3 Pairing을 이용한 트리 기반 그룹키 합의 프로토콜 S.W.Lee;J.H.Cheon;Y.D.Kim
  15. CT-RSA 2002, LNCS 2271 Secure Key-evolving protocols for discrete logarithm schemes C.F.Lu;S.W.Shieh
  16. Advances in Cryptolory - EUROCRYPT 2002, LNCS 2332 Efficient generic forward-secure signatures with an unbounded number of time periods T.Malkin;D.Micciancia;S.K.Miner