DOI QR코드

DOI QR Code

More Efficient Hierarchical ID-based Cryptosystem

보다 효율적인 Hierarchical ID-based Cryptosystem

  • 김태구 (KT 기술연구소) ;
  • 염대현 (포항공과대학교 정보보안연구실) ;
  • 이필중 (포항공과대학교 정보보안연구실)
  • Published : 2003.06.01

Abstract

Hierarchical ID-based Cryptography proposed by C. Gentry and A. Silverberg has the problem that the length of the ciphertext is proportional to the depth of the recipient in the hierarchy. In this paper, we propose the new methods to shorten the length of the ciphertext by using HlDS(Hierarchical ID-based Signature).

C. Gentry와 A. Silverberg의 Hierarchical ID-based cryptograph $y^{[3]}$서는 계층에서 수신자의 단계가 깊어짐에 따라 암호문의 길이가 선형적으로 증가한다는 문제가 있었다. 본 논문에서는 HIDS(Hierarchical m-based Signature)의 서명값을 활용해 암호문의 길이를 줄이는 새로운 방법을 제안한다.

Keywords

Ⅰ. 서론

ID-based cryptosysteme 1984년 A. Shamir 에 의해 제안되었다. 송신자는 수신자의 ID로부터 암호키를 생성한 후 평문을 암호화한다. 수신자는 받은 암호문을 PKG(Private Key Generator) 에서 받은 복호키를 사용해서 복호화한다. 이는 기존의 PKI(Public Key Infrastructure)에 사용되는 인증서를 사용하지 않고 사용자들이 이미 가지고 있는 ID(e-mail 주소 등)를 사용함으로써 인증서 관리의 불편함을 근본적으로 제거할 수 있다는 장점을 가지고 있다. 실제적인 ID-based encryption scheme(2)은 2001년에 D. Boneh와 M. Franklin에 의해 제안되었고, 최근에는 이를 계층적으로 구현한 Hierarchical ID-based cryptography【아가 제안되었으나 계층에서 수신자의 단계가 깊어짐에 따라 암호문과 서명의 길이가 선형적으로 증가한다는 단점이 있다. 본 논문에서는 Hierarchical ID-based ciyptography[히의 이러한 단점을 서명을 통해 해결하는 보다 효율적인 방법을 제안한다.

Ⅱ. Hierarchical ID-based cryptography (C. Gentry & A. Silverberg)

이 장에서는 C. Gentry 와 A. Silverberg가 제안한 Hierarchical ID-based cryptography에 대해 알아본다.

2.1 정의

2.1.1 Admissible pairing

G과 Gz는 소수 위수 g를 가지는 가환군이라고 할 때, 다음과 같은 특성을 가지는 Gi X 0에서 G2로의 함수 蒲를 admissible pairing 이라고 한다.

. Bilinear: &qQ, bR) = e(G R*

Q, R W G]r % b U Z

- Non-degenerate: 比 Gi x G의 모든 원소를 G?의 항등원으로 보내지는 않는다.

- Computable: 임의의 Q, E U 0에 대한 Q(Q, &) 값을 계산할 수 있는 효율적인 알고리즘이 존재한다.

2.1.2 BDH(Bilinear Diffie-Hellman) parameter generator

k에 polynomiaT한 시간 동안 소수 위수 q를 가지는 Gi, G? 그리고 admissible pairing 仓를 출력하는 랜덤 알고리즘이다. (여기서 k는 security parameter)

2.1.3 Bilinear Diffie-Hellman Assumption

G과 G2를 큰 소수 위수 q를 가지는 가환군이라고 충].자. G의 원소 P를 임의로 선택하고 4의 원소 Q, b, 。를 임의로 선택해서 aP, bP, cP가 주어졌을 때, 职 P)攻를 계산하는 것이 어렵다는 가정이다.

2.2 HIDECHierarchical ID-based Encryption) Scheme

2.2.1 Root Setup

Q) BDH parameter generator는 security parameter 公를 입력으로 받아 소수 위수 0를 가지는 0, G2, 그리고 癸 생성한다.

© 임의의 생성원 Po를 G에서 선택한다.

© 임의의 So 를 Zq에서 선택한 후 Qo 드 SoR)를 계산한다.

@ 다음과 같은 해쉬 함수 血 H2를 선택한다.

여기서 f는 수신자의 단계이며, system parameter는 G2, e, Po, Qo, Hi, HP 이고 So U Zq는 root PKG 의 secret 이다.

2.2.2 Lower-level Setup

Levels Z단계에 있는 entity들의 집합이라고 할 때 (여기서 Levelo= [RootPKG}), entity 瓦 U LeveL는 品를 為에서 임의로 선택해서 그것을 안전하게 보관한다.

2.2.3 Extraction

&를 ID-tuple (IDj, 啊)를 가지는 Levelte\ entity 라고 층}자 이때 (心, …, /Dt) (1 <i< t)은 也의 조상들의 ID-tuple이다. 그러면 E의 부모는 다음과 같은 과정을 수행한다.

© R = Hg …, 〃시 e G를 계산한다.

© &의 secret point &를 다음과 같이 계산한다.

#

(So는 G 의 항등원)

© S, 와 아 = SiP0 (1MV)들을 E, 에게 전달한다.

2.2.4 Encryption

E, 에게 평문 M(E{0, l}"을 암호화하여 보내기 위해서 다음과정을 수행한다.

O Pi = H1QD1, ..., ZD, )eG; (l<(<r)< 계산한다.

© 임의의 r을 爲에서 선택한다.

© 다음과 같은 암호문 CwG/x{0, 1}"를 전송한다.

# (수식 1)

여기서 g = e(.Qo, Pi) w G2

2.2.5 Decryption

받은 암호문을 c=[%, U2, .... U„ G G/ x {0, 1}"라고 하면, &는 다음과 같이 복호화한다.

#

2.3 HIDS(Hierarchical ID-based Signature) Scheme

2.3.1 Root Setup

Q BDH parameter generator는 security parameter k를 입력으로 받아 소수 위수 q를 가지는 Gi, Gz, 그리고 &을 생성한다.

© 임의의 생성원 Po를 G, 에서 선택한다.

© 임의의 % 를 爲에서 선택한 후 Qo = s°Po 를 계산한다.

© 다음과 같은 해쉬 함수 山, 爲를 선택한다.

#

여기서 f는 서명자의 단계이며, system parameter는#이고 #는 root PKG 의 secret 이다.

2.3.2 Lower-level Setup: HIDE와 동일

2.3.3 Extraction: HIDE와 동일

2.3.4 Signing

평문 M을 서명하기 위해서 瓦는 다음 과정을 수행한다 .

Q Pm = H3(IDh IDh M) e G을 계산한다.

© Sig = S +, 財m를 계산한다

© 다음과 같은 서명값 s W G扩를 전송한다.

# (수식 2)

여기서 Qi 드 SiPo (1 < i < t)

2.3.5 Verification

받은 서명값 [Sig, Qu …, Q]을 다음계산을 통해 검증한다.

#

2.4 Shortening the Ciphertext

(수식 1)을 보면 암호문의 길이가 계층에서 수신자의 단계가 깊어짐에 따라 늘어난다는 것을 알 수 있으며, (수식 2)를 보면 서명 역시 늘어남을 알 수 있다. 이러한 단점을 보완하기 위해 C. Gentry와 A. Silverberg는 다음과 같은 방법을 제안했다.

2.4.1 Authenticated Lower-level Root PKGs

Entity 鸟가 CSU라는 대학에 있는 사람에게 자주 메일을 보낸다고 가정하면, CSU를 authenticated lowerlevel root PKG로 여기고 CSU의 서명을 사용해서 암호문의 길이를 줄이는 방법이다. 이를 위해 root PKG는 추가적으로 임의의 평문 M* 를 parameters 가진다. S, 를 secret point로 가지는 CSU는 authenticated root PKG의 setup과정으로 M* 에 서명한다.

다음과 같은 ID-tuple (ID!, ID„ "力을 가지는 CSU 의 瓦라는 entity 에게 &는 CSU의 서명 [Sig(= S, +sm*), Qi, Q]에서 Sig와 Q를 사용해서 다음과 같이 암호문의 길이를 줄일 수 있다.

1) Enayption

9 Pi = HKIDb .... ro, ) (t+1 < i < z)를 계산한다.

© 임의의, .을 %에서 선택한다.

© 다음과 같은 암호문을 전송한다.

#

여기서 #

2) Deciyption

받은 암호문을 c = [Uo, u貝, ua M라고 하면, & 는 다음과 같이 복호화한다.

#

Ⅲ. Our result

3.1 받은 서명의 활용방법(Ⅰ)

II장에서 보였던 것과 같이 HIDE의 가장 큰 문제점은 암호문의 길이가 (수식 1)처럼 수신자의 단계가 깊어짐에 따라 선형적으로 증가한다는 것이다. 이의 개선을 위해 2.4와 같은 방법을 사용하는데, 여기서는 받은 서명의 Sig와 Q만 사용했다. 그러나 나머지 유효한 아들을 사용하면 Level, 보다 상위 단계에 있는 entity들에게 암호문을 일정한 길이로 보낼 수 있다.

송신자 Alice가 다음과 같은 ID-tuple g, .... ID, ) 을 가지는 entity E, 의 서명 [Sig, 0, .... Q]을 얻었다면, HIDS의 검증과정을 통해 Qi, .... Q값이 유효하다는 것을 알 수 있다. 그러면 Alice는 "価, 보다 위의 Level, (V < 分에 있고 E, 와 동일한 Q (1 < i < v) 를 가지는 entity &와 다음과 같은 과정을 거쳐 암호화된 통신을 할 수 있다

3.1.1 Encryption

@ 임의의「을 爲에서 선택한다.

© 다음과 같은 암호문을 전송한다.

#

여기서 #

3.1.2 Decryption

받은 암호문을 c = [U, 刃라고 하면, &는 다음과 같이 복호화한다.

#

여기서

#

그러므로

#

따라서 secret point &를 가진 는 U = rPo만 알면 Alice가 계산한 g/을 얻을 수 있게 된다. &나 r을 모르는 경우 gU을 구하는 것은 BDH문제로 볼 수 있고 이는 어려운 문제로 알려져 있다.

(표 1) 서명을 받은 경우에 HIDE와의 비교

위와 같이 하면 암호문이 계층의 깊이에 따라 선형적으로 늘어나지 않고 G, x{0, l}"로 고정된다. 참고로 Alice는 V번의 pa血g연산이 필요하고, 瓦는 1 번의 pairing연산이 필요하다. 그러나 HIDS의 검증 과정에서 필요한 pairing연산을 하므로, Alice가 그 값들을 저장해 두고 있다면, Alice는 추가적인 pa曲ing연산을 할 필요가 없다. 다만 E, 의 서명을 얻어야 하는데, 이는 선택사항으로 사전에 system parameter로 정한 임의의 M* 에 대한 서명을 요구함으로써 해결할 수 있다. 더 하위단계에 있는 entity의 서명을 얻을수록 위와 같은 암호문을 보낼 수 있는 경우는 많아진다. 이와 같은 경우는 실제 응용에서 흔히 발생할 수 있으므로 본 논문에서 제안한 방법은 실제적으로 유용하게 사용될 수 있다. 만약 이 경우 받은 서명을 활용하지 않고 HIDE를 사용한다면 서명의 길이는 G/ X {0, 1}"가 된다.

3.2 받은 서명의 활용방법(Ⅱ)

또한 암호문을 보내고자 하는 entity의 모든 Q들은 모르지만 알고 있는 Q들을 사용해서 보내는 암호문의 길이를 줄일 수 있다.

£即必에 있으면서 &와 같은 IDh 를 가지 고다음과 같은 ID-tuple (ID, , ...JDn 〃為)을 가지는 entity &가 있다고 하자. Alice는 유효한 Q (1 < i < V, v<f)들을 이미 가지고 있으므로 다음과 같은 과정을 거쳐 암호화된 통신을 할 수 있다.

3.2.1 Encryption

Q 임의의 r을爲에서 선택한다.

© 다음과 같은 암호문을 전송한다.

#

여기서 #

3.2.2 Decryption

받은 암호문을 C = [Uo, U、*2, 刃 라고 하면, 孩 는 다음과 같이 복호화한다.

#

여기서

#

이고

#

이므로

#

그러므로

#

위와 같이 하면 암호문의 길이가 서명을 활용하지 않고 HIDE를 사용했을 때의 G广 X 也1}“에서 Gr X {0, 1}“ 로 줄어들고, Alice 는 V打번, Ew 는 w-y 번의 pairing연산이 필요하다. 여기서도 Alice가 HIDS의 검증 과정에서 필요한 값들을 저장해 두고 있다면, Alice는 추가적인 pairing연산을 할 필요가 없다.

〔표 2) 서명을 받은 경우에 HIDE와의 비교

Ⅳ. Conclusion

HIDE의 가장 큰 문제는 암호문의 길이가 수신자의 계층의 단계가 깊어짐에 따라 선형적으로 길어진다는 것이었다. 이 문제를 개선하기 위해 Authenticated lower-level root PKG와 같은 방법을 사용했는데, 기존에는 HIDS 서명의 와 아만 사용하여 그보다 하위 단계의 암호문 길이를 줄였다 본 논문에서는 서명의 나머지 유효한 Q값들을 사용하여 상위 단계의 암호문을 일정하게 하는 방법과 암호문의 길이를 줄이는 방법을 제안하였다.

본 논문은 2002년도 CISC 우수 논문임.

References

  1. Advances in Cryptology-Crypto'84, Lecture Notes in Computer Science 196 Identity-based cryptosystems and signature schemes A.Shamir
  2. Advances in Cryptology-Crypto 2001, Lecture Notes in Computer Science 2139 Identity based encryption from the Weil pairing D.Boneh;M.Franklin
  3. Advances in Cryptology-Asiacrypt 2002, Lecture Notes in Compter Science 2501 Hierarchical ID-based cryptography C,Gentry;A.Silverberg