Ⅰ. 서론
송수신 자가 공개 통신망에서 비밀리에 메시지를 교환하고자 할 때. 공개키 암호방식은 비밀키 암호방식과 비교하여 같은 길이의 메시지를 암호화하는데많은 시간과 자원이 소요되기 때문에 키의 분배단계에서는 공개키 암호방식을 사용하고 실질적인 메시지 교환단계에서는 비밀키 암호방식을 이용하는 하이브리드 방식을 많이 사용하고 있다. 이런 방식의대표적인 예로 임의의 난수로 키를 만들어 메시지를암호화하고 RSA 암호시스템을 이용하여 수신자의공개키로 암호키를 암호화한 후 상대방에게 보내는방법이 있다.
이렇게 메시지를 교환함에 있어 메시지에 대한 전자서명은 별개의 과정에 따라 암호화되어 상대방에게 전해지는 것이 일반적이며. 이런 방법을 first-sign- then-encrypt이라고 한다.[4]
Y. Zheng은 이런 두 개의 과정을 하나로 통합한 Signcryption이라는 새로운 개념을 제안하였고. 두 가지 Signcryption 방식을 개발하여. 현재 IEEE P1363a에 등록했으며. 현재 심사 중이다.[5]
Signcryption 방식은 전자서명의 고유기능인 부인봉쇄는 물론, 암호화의 고유기능인 기밀성도 제공한다. Signcryption 방식과 유사한 방법으로 H. Petersen 등이 제안한 Authenticated Encryp- tion이 있으나,[8] 이 방식은 수신자가 송신자를 모방할 수 있기 때문에 부인봉쇄 기능을 제공하지 못한다.
H. Petersen 등은 Y. Zheng의 Signcryption 방식을 이용할 때. 수신자가 저13자(판사 혹은 공공기관 등)에게 송신자의 전자서명을 증명하기 위하여관련정보를 저]3자에게 공개하는 경우, 저〕3자가 공개정보를 바탕으로 해당 송수신자간의 암호화된 메시지를 풀어볼 수 있는 키를 만들 수 있음을 지적하고 이를 개선한 새로운 Signcryption 방식을 제안했다.[2]
Y. Zheng이 제안한 방식의 문제는 영지식 증명을통하여 해결할 수 있지만, 단일 프로토콜 내부에서발생하는 문제를 별도의 프로토콜을 이용하여 해결해야한다는 점과 영 지식 증명방식의 경제적인 문제점이 있다고 할 수 있다.
본 논문에서는 H. Petersen의 Signcryption 방식이 변수 연관성 결여로 부인봉쇄기능을 제공하지못하여 이를 M. Michels가 보완했지만[3], 보완한방식이 Y. Zheng이 제안한 방법과 유사한 문제점이 있음을 밝히고 이를 해결한 새로운 Signcryption 방식을 제안한다.
2장에서는 Y. Zheng의 Signcryption방식의문제점을 기술하고, 3장에서는 H. Petersen 등의 Signcryption 방식의 문제점을 분석하며, 4장에서는 기존의 문제점을 해결한 Signcryption방식을제안한 후, 5장에서 결론을 맺는다.
본 논문에서 가정하는 환경은 다음과 같다.[1, 7]
Alice와 Bobe Signcryption을 주고받으며 Carol 은 제3자가 된다. 인증기관은 충분히 큰 소수 p와 q를선택한다. 이때 p와 q 사이에는 q|(p-1)의 관계가 성립하여야 하며, 아울러 위수가 q인 원시원소 g를선택한다. Alice와 Bobe 전자서명생성키 SA SB를각각 선택한 후 전자서명검증키인 YA, YB를 다음과같이 계산하여 인증기관에 등록한다.
\(Y_{A}=g^{S_{A}} \bmod P, Y_{B}=g^{S_{B}} \bmod P\)
M과 C는 각각 평문과 암호문을 의미하며, 암복호화 함수 E와 D는 키 v를 이용하여 각각 암/복호화되고 다음의 특성을 갖는다.
\(C=E_{v}(M), \quad M=D_{v}(C)\)
이외에 본 논문에서 사용하는 기호는 다음과 같다.
• r : 임의로 선택한 q보다 적은 임의의 난수
• e, K1, K2, K : Signciyption 계산용 변수
• T, k, C : Signcryption
• || : 구분자를 이용한 연접 (Concatenation)
Ⅱ. Y. Zheng의 Signcryption 방식과 문제점
1997년 Y. Zhenge SDSS14 SDSS2으로 명명된 두 가지의 Signcryption 방식을 제안하였으며, 각각의 Signcryption 생성고)" 검증과정은 그림 1과 같다.[4, 5]
(그림 1) Y. Zheng의 Signcryption 방식
Y. Zhenge 제안한 방식이 공개 통신로 상에서전자문서의 기밀성을 보장할 뿐만 아니라 전자서명을통해 부인봉쇄도 동시에 제공한다고 주장하였다.
하지만, 제안된 Signcryption 방식은 Bob이 Carol 에게 Alice의 Signcryption을 증명하는 과정에서 중간정보가 공개되는 경우에 Carol은 이 정보를 이용하여 YAB를 계산할 수 있게 되고, Carol은 이 YAB 를 이용하여 Alice와 Bob 사이에서 이루어지는 Sign- cryption에 의한 암호통신문을 언제든지 복호할 수있는 키를 생성할 수 있음을 H. Petersen 등이 지적하였으며 그 과정은 다음과 같다.[2]
Bob이 Carol에게 Alice의 Signcryption을 증명하는 과정에서 1)과 같이 (e, k, T, YB)를 공개한다면 Carol은 [SDSS1]과 [SDSS2] 각각에 대해 2) 의 과정을 수행하면 YAB를 구할 수 있다. YAB를 알고 있는 Carol이 Alice와 Bob의 비밀통신을 복호화하여보고 싶다면 3) 과 같이 공개된 통신로상의 Signcryption 정보를 가져온 후, YAB를 이용하여 4)의 수식에 따라 e'를 구할 수 있다. Alice는 평문 M'를 e'의 해쉬값을 이용하여 암호화하였으므로 Carole 5)의 과정을 통해 복호키를 만들고 6)에 따라 암호문을 복호화하면 Alice의 평문 M'를 구할 수 있게 된다.
1)Carol에게 공개되는 정보 : (e, k, T, YB)
2) \([S D S S 1] Y_{A B}=e^{T^{-1}} Y_{B}^{-k} \bmod p=g^{S_{A} S_{B}} \bmod p\\ [S D S S 2] Y_{A B}=e^{\left(T^{1}-1\right) k^1} \bmod p=g^{S_{A} S_{B}} \bmod p\)
3) 통신로상의 정보 : (T', k', C')
4) \(\begin{aligned} {[S D S S 1] e^{\prime} } &=Y_{A B}^{T} Y_{B}^{k T} \bmod p \\ {[S D S S 2] e^{\prime} } &=Y_{A B}^{k T} Y_{B}^{T} \bmod p \end{aligned}\)
5) \(K_1 ^\prime || K_2 ^\prime = H(e')\)
6) \(M' = D_{K_2}(C)\)
즉 Y. Zheng의 Signcryption 방식은 기밀성을 유지하지 못한다.
Ⅲ. H. Petersen 등의 Signcryption방식과 문제점
H. Petersen 등은 Y. Zheng의 Signcryption 방식이 가지고 있는 단점을 지적하고 이를 보완하여 그림 2와 같은 새로운 Signcryption 방식을 제안하였다.[2]
[그림 2) H. Petersen의 Signcryption 방식
하지만, 이 Signcryption방식은 Signcryption의 생성과정에서 e와 r2 사이에 아무런 연관관계가 없는관계로 Bob은 Alice의 전자서명을 모방할 수 있기때문에 부인봉쇄 기능을 보장할 수 없다는 단점이 있다.
Bob의 모방 과정은 다음과 같다.
Bob은 Alice의 Signcryption을 수신한 후. 1) 과 같이 q보다 작은 임의의 난수 r3를 선택한 후. 2)의 과정에 따라 \(Y_B^{r_1}\)을 생성한 뒤. 3)의 절차를 따르면 e'를 구할 수 있다. Bob은 4)절차에 따라 기존의 Alice가 송신한 Signcryption 중에서 k를 고정한 후 적당한 r2'를 계산할 수 있다. 그리고 5)와 같이 r3를 기존의 T에 곱하여 T'를 생성하고, r2로 새로운 메시지 M'를 암호화하여 C'를 생성하면, 새로운 Signcryption (T', k, C')을 구할 수 있다.
1) \(r_3 \in _R Z_q ^*\)
2) \(\left(Y_{A} g^{k}\right)^{T S_{B}} \bmod p=Y_{B}^{r_{1}} \bmod p\)
3) \(e^{\prime}=H\left(Y_{B}^{r_{1} r_{3}} \bmod p\right)\)
4) \(k=r_{2}' e' \bmod q(k \text { 는 고정 })\)
5) \(T=r_{3} T=r_{3} r_{1}\left(k+S_{A}\right)^{-1} \bmod q\)
6) \(C^{\prime}=E_{r_{2}}(M')\)
즉, 이 방식은 기밀성은 유지할 수 있지만 수신자가 송신자의 Signcryption-4* 생성할 수 있기 때문에 부인봉쇄를 할 수 없다는 문제점이 있다.
H. Petersen과 공동집필자인 M. Michelse이런 사실을 인지하고 기존의 방식을 수정한 그림 3과같은 Signcryption 방식을 제안하였다.[3]
하지만 저자가 M. Michels의 Signcryption 방식을 분석한 결과, Y. Zheng등의 Signcryption 방식과 유사한 문제점을 가지고 있다는 것을 발견하였다. 다음의 과정을 따르면 Carole Alice와 Bob 의 암호통신문을 복호할 수 있다.
Bob이 Alice의 Signcryption-f- 받아 Carol에게 이를 증명하게 된다면, Carole 1)과 같은 정보를 획득할 수 있다. 이 정보를 기반으로 2)의 절차에 따르면 Carol은 YAB를 구할 수 있다. Carol은 Alice 와 Bob이 주고받는 정보가 궁금한 경우에 3)과 같은 Signcrypbiori을 가져와 4)의 절차를 따르면 e'를 구할 수 있으며, 5)의 절차에 따라 키를 만들어 암호통신문을 복호하여 M'를 볼 수 있다.
[그림 3]Q M. Michels의 Signcryption 방식
1) 공개정보 : (YB, K, T, K)
2) \(\begin{aligned} Y_{A B} &=K^{T^{-1}} Y_{B}^{-k} \bmod p \\ &=g^{S_{B} r_{2} r_{1}^{-1}\left(k+S_{A}\right)-S_{B} k} \bmod p \\ &=g^{S_{A} S_{B}} \bmod p \end{aligned}\)
3) Signcryption : ( T', K', C')
4) \(\begin{aligned} Y_{A B}^{T} Y_{B}^{k T} &=g^{S_{A} S_{B} T^{\prime}+S_{B} k^{\prime} T'} \\ &=g^{S_{B} T'\left(S_{A}+k^{\prime}\right)} \\ &=g^{S_{B} r_{2}} \bmod p \end{aligned} \\ e' = H(g^{S_Br_2} \text {mod p}, C')\)
5) \(r_1 ' = k'e'^{-1}, M'=D_{r_{1}}(C')\)
즉. M. Michels의 Signcryption 방식도 기밀성을 유지할 수 없다.
Ⅳ. 제안하는 Signcry이ion 방식
Y. Zheng등과 H. Petersen 등이 제안한 방식은 Signcryption을 Carol에게 증명하게 되면, Carol이 Alice와 Bob의 암호화된 송수신 메시지를 복호해 볼수 있게 되거나 Bob에 의해 부인봉쇄기능을 상실하는 문제점을 가지고 있음을 살펴보았다. 4장에서는그림 4와 같은 Signcryption 방식을 제안한다.
[그림 4] 제안하는 Signcryption 방식
제안하는 방식은 기밀성과 부인봉쇄를 동시에 제공하며, Signcryptiorr을 Car 이에게 증명하는 과정에서 중간정보들이 공개되어도 Carole Alice와 Bob간의 암호문을 풀어볼 수 없다.
제안한 Signcryption 방식의 특징은 다음과 같다.
4.1 기밀성 (Confidentiality)
기존에 제안된 방식들은 YBr를 외부에 노출하지않는 대신 별도의 정보를 이용하여 YBr를 복원하기때문에 제3자에게 정보가 공개되는 경우에 제3자는 공개된 정보를 이용하여 YAB를 계산할 수 있고. 이를 기반으로 암호문의 복호에 필요한 키를 만들 수 있다는 공통점이 있다. 제안하는 방식에서는 YBr를전자서명 값으로 직접 이용하여 제 3자가 YAB를 계산하더라도 전자서명의 안전성을 유지할 수 있도록 하였다. 또한 k에서 gr을 계산하기 위해서는 Bob의 전자서명생성키(SB)를 알아야 하므로 수신자만이 이를 복호할 수 있다. 그러므로 기밀성을 보장한다고 할 수 있다.
또한 기존 Signcryption 방식은 T, k, C을 공개적으로 Bob에게 송부하지만. 제안하는 방식은 T를 암호화한 후 C에 포함하여 송부하므로 공격자는 T를 알 수 없다.
k를 이용하여 암호문 C를 복호해야만 T를 알 수 있다. 그러므로 기존의 방식에 비해 외부에 공개되는 정보를 최소화할 수 있다.
4.2 부인봉쇄(Non-Repudiation)
제안하는 Signcryption 방식의 부인봉쇄 기능은 Schnorr의 전자서명방식을 기반으로 한다.[7] 단. Schnorr의 전자서명방식에서는 전자서명이 e, T이지만. 제안하는 방식에서는 e 대신 암호문 C를 복호할 수 있는 k를 Bob에게 주고 Bob이 암호문을 복호하여 e를 생성하도록 하였다.
Schnorr의 전자서명방식이 안전하므로 제안하는 Signcryption 방식에서 제공하는 부인봉쇄기능도안전하다고 할 수 있다.
4.3 다자전송 효율성
기존에 제안된 Signcryption방식은 수신자의 공개키가 전자서명 생성에 직접 관련되기 때문에 수신자 지정형 서명 방식의 특성을 갖게 되어 각 수신자별로 Signcryption을 생성해야 한다. 하지만 제안하는 방식은 수신자의 공개키가 전자서명 생성에 영향을 주지 않기 때문에 수신자와 직접적으로 관련된 정보인 YBr만 YCr로 변경하면 C의 변화 없이 Carol을 위한 Signcryption을 만들 수 있다.
이런 특성은 동일한 문서에 Signcryption을 생성하여 다수의 사람에게 송부할 때 효율적일 수 있는데 메일 프로그램에서 cc를 이용하여 참조하는 사람에게 동일한 메일을 보내는 경우가 한 예라 할 수 있다.
4.4 계산량 및 통신량
암호 시스템 및 전자서명 시스템의 효율성은 주로 계산량과 통신량을 기준으로 한다. 표 1은 Y. Zheng 의 P1363 제출 자료를 기반으로 H. Petersen의 방식과 제안한 방식을 추가하여 계산량과 통신량을 비교하였다. 통신량의 비교에서 암호문의 길이는 동일하므로 표에서는 생략하였다.[5]
(표 1) Signcryption 방식 비교
제안한 Signcryption 방식은 서명 후 암호화 방식에 비해서 모듈러 멱승의 수가 적고 통신에 따른오버혜드가 적음을 알 수 있다. 또한 Signcryption 의 생성과정에서 K는 Signcryption의 수신인, 대상문서 등과 관련이 없기 때문에 사전에 계산하여 안전하게 저장한 후 이를 사용할 수 있으므로 이를 적용하는 경우에 기존에 발표된 Signcryption방식과 큰 차이 없이 Signcryption을 생성할 수 있다. (※ 표 1에서 연산 부분의 ”( )"는 사전계산이 가능함을 의미한다.)
또한 통신량은 기존의 Signcryption 방식에 비해서는 많지만 서명 후 암호화 방법에 비해서는 적은량을 수신자에게 보낸다.
Ⅴ. 결론
본 논문에서는 기존의 Signcryption 방식의 문제점을 살펴보고 문제점을 찾아 이를 수정한 새로운 Signcryptiori을 제안하였다. 제안한 방식은 일반적인 서명 후 암호화 방식보다 계산량과 통신랑에서 효율적이며, 기존의 Signer贝tion방식에서 발생할 수 있는 문제점을 해결한 방식이다.
현재 3개의 공인인증기관이 설립되었으며. 공인인증 서비스가 확산되고 있다.인증 서비스를를 이용하는 고객은 전자서명 서비스와 동시에 정보의 기밀성 유지를 요구하고 있다.
그러므로 제안한 방식은 메시지 내용을 비공개하면서 동시에 송신자의 전자서명이 필요한 분야에 유용하게 사용될 수 있을 것으로 사료된다.
References
- IEEE Transactions on Information Theory v.IT-31 no.4 A Public key cryptosystem and a signature scheme based on discrete logarithms T. ElGamal
- IEE Computer and Digital Techniques Cryptanalysis and improvement of signcryption schems H. Petersen;M. Michels
- IEE Computer and Digital Techniques 1998(Revised Version) Cryptanalysis and improvement of signcryption schemes H. Petersen;M. Michels
- In Advances in Cryptology CRYPTO-97 Digital signcryption or how to achieve cost(signature and encryption cost(signature)+cost(encryption) Y. Zheng
- P1363 Submissions to the Study Group for Future Public-Key Cryptography Standards Shortened Digital Signature, Signcryption and Compact and Unforgeable Key Agreement Schemes Y. Zheng
- IEEE Transations on Information Theory v.IT-22 New Directions in cryptography W. Diffie;M. Hellman, M
- Advances in Cryptology-CRYPTO'89 Proceedings Efficient Signature Generation for Smart Cards C. P. Schnorr
- Electronic Letters v.30 no.15 Authenticated encryption with low communication costs P. Horster;M. Michels;H. Petersen