DOI QR코드

DOI QR Code

멀티캐스트 환경에서의 패킷 손실을 고려한 인증기법 설계 및 분석

A Design and Analysis of Authentication Scheme for Tolerating Packet Loss in the Multicast Environment

  • 임정미 (단국대학교 전자계산학과) ;
  • 박철훈 (단국대학교 전자계산학과) ;
  • 유선영 (단국대학교 전자계산학과) ;
  • 박창섭 (단국대학교 전자계산학과)
  • 발행 : 2003.12.01

초록

본 논문에서는 인터넷 멀티캐스트 환경하에서의 멀티미디어 스트리밍 데이터에 대한 인증 메커니즘을 제안한다. 최근, 신뢰성 있는 멀티캐스트 전송에 응용되어지고 있는 패킷 계층에서의 전방 오류수정부호를 멀티캐스트 인증 메커니즘과 연동시킨다. 이와 관련하여, 전송과정에서 일부 패킷들이 손실되어진다고 할지라도 다른 패킷들에 대한 개별 인증에는 영향을 미치지 않게 하기 위하여 Reed-Solomon 삭제부호를 적용한다.

Proposed in this paper is an authentication mechanism for multimedia streaming data in the Intemet multicast environment. The multicast authentication mechanism is coupled with the packet-level forward error correction code which has been recently applied for a reliable multicast transport transmission. Associated with this, Reed-Solomon erasure code is chosen for tolerating packet loss so that each of the received packets can be authenticated independently of the lost packets.

키워드

Ⅰ .서론

인터넷 사용자가 늘어나고, 망 대역폭이 커짐에 따라 인터넷을 통하여 오디오나 비디오와 같은 멀티미디어 스트리밍 데이터(multimeEia streaming data)를제공하는 서비스가 늘고 있다. 스트림은 길이가 매우긴 비트열로, 전체 스트림을 수신한 후에 인증을 하게 될 경우, 과도한 지연이 발생하므로 적합하지 않고, 블록이나 패킷의 단위로 처리를 하는 것이 더 효율적이다. 스트리밍 서비스는 VOD와 같이 송신 자가서비스할 스트림 전체를 이미 저장하고 있는 off-line 방식과, 생방송과 같이 실시간으로 서비스되는 on­ line 방식으로 구분된다卩 인터넷과 같은 개방형 네트워크 상에서, 안전한 데이터 전송을 위한 데이터의 기밀성 및 인증 서비스를 제공하기 위한 기반 연구는 이전에는 유니캐스트 환경에서 활발하였으나, 최근에는 규모가 큰 수신자 그룹에게 전달되는 데이터에 대한 근원지 인증 및 무결성 서비스를 제공하는멀티캐스 인증기법에 대한 연구가 활발히 진행되고 있다. 멀티캐스트 인증이외의 멀티캐스트 보안에 대한 기존 연구는 주로 데이터에 대한 기밀성 보장을 위한 암호화 키, 즉 그룹키에 대한 분배 및 갱신에 대한 연구에 집중되어왔다. 실제로 암호화 자체만으로도 어느 정도의 무결성 서비스 제공이 가능하지만, 응용환경에 따라 기밀성 서비스가 요구되지 않는 경우도 있고, 특히 다수의 수신자 그룹이 동일한 그룹 키를 공유하는 환경에서는 암호화 자체만으로는 데이터에 대한 무결성과 송신자에 대한 확인, 즉 인증이 불가능하게 된다. 멀티캐스트 인증에서의 요구사항은 일종의 부인봉쇄 기능이 내재되어 있어야 한다. 멀티캐스트 스트림의 무결성을 확인하기 위한 가장 직접적인 접근 방식은 메시지에 메시지 인증코드 (MAC: Message Authentication Code)를 첨부하는 MAC 기반의 인증방식이다. MAC 방식은 송신자와 수신자가 비밀키 k를 공유하고, 스트림 〃=〃1必2...를 구성하는 각 패킷 에 대해서 MAC 값,

을 해당 패킷에 첨부하는 방식이다. 이 방식은 송수신 자가 일대일로 대응되는 유니캐스트 환경에서는 가능하나, 하나의 송신자와 규모가 큰 수신자 그룹으로 구성되는 멀티캐스트 환경에서는 송신자와 그룹 구성원 모두가 동일한 키를 공유해야 하므로 키 값을 가지고 있는 누구든지 MAC 값을 위조할 수 있어 근원지(송신자) 인증 서비스를 제공할 수 없다는 측면에서 멀티캐스트 환경에서는 적합하지 않다. MAC 이외의 접근 방식으로는 개별 서명방식과 체인방식이 있다. 첫째, 개별 서명방식은 각 패킷마다 서명을 첨가하는 방식으로 매 블록마다 서명 작업을 해야 함으로 높은 계산량과 서명 첨가에 따른 오버해드가 발생한다. 둘째, 체인방식은 매 패킷마다 다른 패킷들의 해쉬 값을 첨가하고, 서명은 특정 한 개의 패킷에만 하는 방식이기 때문에 계산량이 낮고, 오버해드도 적어 효율적이지만, 블록 내의 한 개의 패킷이라도 전송과정에서 손실이 된다면 다른 패킷들에 대한 인증을 수행할 수 없다는 단점을 가지고 있다. 본 논문에서는 블록 내의 특정 패킷들이 전송 도중 손실이 된다고 할지라도 수신된 다른 패킷들에 대한 인증을 가능하게 하는 오류수정부호에 기반을 둔 기법을 제안한다.

본 논문의 2장에서는 패킷 손실을 허용하는 멀티캐스트 인증 기법들에 대한 기존 제안들을 소개하고, 3장에서는 패킷 손실에 대처하기 위한 FEC(Forward Error Correction)을 소개한다. 4장에서는 3장에서 소개한 FEC 기법 중, RSE(Reed-Solomon Erasure)를 이용한 신뢰성 있는 멀티캐스트 인증 기법을 설계하고, 5장에서는 2장에서 소개한 이전의 인증 시스템과 4 장에서 설계한 인증 시스템을 비교 분석한다.

Ⅱ . 관련 연구

2.1 개별 서명 방식

개별 서명 방식은 [그림 1]과 같이, 스트림을 여러 개의 패킷들로 나누고, 각 패킷 당 그 패킷의 해쉬값에 대한 서명을 첨부한다. 이 방식은 패킷 단위별로 인증이 가능하고, 송, 수신자간의 패킷처리 버퍼는 1개만 필요하다. 특정 패킷이 손실되었을 경우에도, 다른 패킷들에 대한 인증에는 영향을 미치지 않는다는 장점을 가진다. 하지만 개별 서명방식은 매 패킷마다 서명 작업을 해야 함으로 높은 계산량과 오버해드가 발생한다.

〔그림 1) 개별 서명 방식

2.2 패킷 체인 방식

패킷 체인 방식은 패킷마다 서명을 하는 개별 서명 방식의 단점을 보완하고자 스트림을 블록으로 나누고, 한 개의 블록은 儿개의 패킷들로 구성하여 각 패킷에 대하여 그 패킷이 존재하는 블록내의 다른 모든 패킷들의 해쉬 값과 서명 값을 첨가한다. 대표적인 체인 방식으로 star 체인 방식과 tree 체인 방식이 있다.四

star 체인 방식은 [그림 2-a]와 같이 각 패킷들 (R, P2, ... , 为에 대해서 해쉬함수 H( )를 적용한 해쉬값( £小 % D”)을 leaf 노드로 하고, 합쳐진 leaf 노드들의 해쉬 값(玖-8)에 서명을 한 s场CD]-”)을 root 노드로 한다. 이때의 root 노드를 블록서명이라 한다. 송신자는 보내고자하는 패킷의 블록내의 위치, 블록 내의 다른 패킷들의 해쉬 값, 블록서명을 인증 정보로 하여 해당 패킷에 첨가하여 보낸다. 처음 도착하는 패킷에 대한 인증이 확인되면 첨부된 다른 패킷들의 해쉬 값을 저장해놓고, 다음 번 패킷부터는 이미 저장된 해쉬 값 중 해당 패킷의 해쉬 값을 계산하고 비교하게 됨으로, [그림 3-a]에서 보는 바와 같이 두 번째 패킷부터는 다른 패킷들의 해쉬 값과, 블록 서명은 오버해드가 된다.

(그림 2) star 체인 방식고F, tree 체인 방식

(그림 3) star 체인 방식과 tree 체인 방식에서의 패킷 구성

tree 체인 방식은 [그림 2-b]와 같이 如개의 패킷들 (0, 3, …, R) 의 각해쉬 값W 을 leaf 노드로 하고, 두 개의 leaf 노드들에 대한 해쉬 값을 parent 노드( H(、玖 || D2) = A-2- II DQ = Z)3_4, ... , H(D.-A Z)3- 4)=O1 -4. …)로 하는 작업을 반복하여 〃—”를 구한 후 이 값에 서명을 한魂n(D\_[) 을 root 노드로 하는 2진 트리에 기반을 두고 있다. tree 체인 방식의 송신자는 보내고자 하는 패킷의 블록 내의 위치, 루트까지의 경로에 존재하는 sibling 노드, 블록서명을 인증 정보로 하여 해당 패킷에 첨가하여 보낸다. 첨가된 root까지의 경로에 존재하는 sibling 노드를 이용하여 처음 도착하는 패킷을 인증하고, 인증이 되면 si비ing 노드들을 저장한 후, 다음번부터는 root 노드까지 계산하여 비교하지 않고, 저장된 sibling 노드들 중에 있으면 인증이 이루어진다. star 방식보다는 적지만 역시 tree 방식에서도 그림 3-b와 같이 적지 않은 오버해드가 발생한다.

start 방식과 tree 방식 모두 패킷마다 해당 패킷에 대한 인증정보가 존재하므로 특정 패킷의 손실이 다른 패킷에 대한 인증을 하는 데에는 영향을 주지 않는다. 그러나 긴 스트림을 전송 할 때 chaining 작업으로 인한 오버해드는 네트워크의 트래픽을 가중시키며, 블록 단위로 처리되기 때문에 지연(delay)이 발생된다.

2.3 선별적 체인 방식

EMSS(Efficient Multi-chained Stream Signature)'勺란이름으로 제안된 선별적 체인방식 역시 star 방식과 tree 방식과 같이 스트림을 블록으로 나누고 한 개의 블록은 亦개의 패킷들로 구성한다. [그림 4]와 같이 개별 패킷에 선별적으로 1개 이상의 다른 패킷에 대한해쉬 값을 첨부하고 마지막 한 개의 패킷에만 서명 값을 첨부한다. 그림에서 보는 바와 같이 서명 패킷 (Signature Packet)의 서명필드에는 *) 와丑頒 에 대한 서명 값이 저장된다.

[그림 4] 선별적 체인 방식

이 방식은 예를 들어, , +1번째의 패킷이 손실되었을 경우, R+i에 첨부된 硏R)와 H(、Pj_\)은 F, 와 R+2에도 들어있으므로 복구가 가능하다. 즉, 패킷이 손실되었을 경우에 손실된 패킷의 해쉬 값이 다른 패킷에도 존재하고 있으므로 인증이 가능하게 된다.

Ⅲ. 멀티캐스트 채널과 오류수정 부호

인터넷과 같이 규모가 큰 네트워크 상에서 전송되는 패킷들은 통신오류나 라우터에서의 혼잡 등으로 인하여 손실될 가능성이 매우 높다. 이런 패킷 손실을 해결하기 위해서는 기본적으로 ARQ(Automatic Retransmission reQuest)기법이 사용된다. 유니캐스트 환경에서는 손실된 패킷을 재전송 시켜주는 ARQ기법이 적합하지만, 수천 혹은 수만 명 이상의 수신 그룹이 존재하는 멀티캐스트 환경 하에서 ARQ를 사용 시, 손실된 패킷에 대한 NAK(Negative Acknowledg­ ment) 패킷의 개수가 증대되고, 해당 손실된 패킷에 대한 재전송이 수행 되어야하기 때문에 이로 인한 네트워크의 혼잡과 송신자 측 서버의 부하는 증대된다. 최근 이를 보완하기 위한 SRM(Scalable Reliable Multicast)"과 RMTP(Reliable Multicast Transport Pro­ tocol)161 등과 같이 신뢰성 있는 멀티캐스트 전송 프로토콜이 제안되고 있지만, 복잡하고 아직 표준화 작업이 완성되어있지 않다. 특히, 응용 환경마다의 요구 사항이 상이하기 때문에, 단일 멀티캐스트 전송프로토콜을 다양한 응용 분야마다 일률적으로 사용하는 데에는 무리가 따른다. 최근에는 신뢰성이 요구되는 멀티캐스트 환경에 적합한 오류 수정부호에 기반을 둔 FEC에 대한 연구가 진행되고 있다. 오류수정부호는 비트단위의 채널오류를 제어하기 위한 것이었으나 최근, 패킷의 손실을 오류수정부호에 있어서 삭제(en鸠ure)로 간주하여, 패킷단위의 오류를 제어하기 위한 방안으로 응용 되고 있다. 잘 알려진 삭제 부호(erasure codes) 로는 Reed-Solomon 부호" 와 To­ rnado 부호回가 있다.

FEC 기법에서의 삭제 부호화(erasure encoding) 방식은 원본 데이터와 더불어 이것의 일부가 손실되었을 경우에 손실된 부분을 복구하는데 소요되는 패리티 데이터를 블록으로 구성하여 전송하게 된다. 본 제안에서 사용 될 Reed-Solomon Erasure(RSE) 부호는 이 패리티 데이터를 생성하는데 이용된다. RSE 부호는 길이가 I 비트인 »개의 데이터 symbol d、, d2, . 아와 "一拾개의 패리티 symbol 力, p2 ■■■,

로 구성된다. 데이터 symbol 必, d2, …诚는 Galois Field GF(2‘)의 구성 원소이다. a를 GF(2‘)의 원시 원소라고 가정하면, 패리티 symbol />!, 飯 …, / 는 식⑴을 이용하여 다음과 같이 계산된다.

#(1)

이와 같은 부호를 (n, k) 부호 즉 0개의 데이터 symbol에 "一为개의 symbol이 첨가되어 如개의 symbol 로 구성된 블록 부호(block code)로 정의한다.

수신자 측에서는 &개의 데이터 symb이을 모두 받았다면 복호화 과정이 생략되지만, 그렇지 않을 경우에는 복호화 과정을 거치게 된다. 즉, 손실된 데이터 symbol의 개수가 패리티 symbol의 개수 冬一为보다작을 경우에 한해서는 다음과 같은 복호화 과정을 통해서 손실된 데이터 symbol을 복구할 수가 있게 된다. 예를 들어 [그림 5]에서와 같이 패킷 必와 dk-i 이 수신되지 않았다고 가정흐}.자. 수신측에서는 식 ⑴을 이용하여 d^ = Xi 그리고 아-1 = *2 로 하는 다음과 같은 연립방정식을 계산하여 손실된 패킷을 복구할 수 있다. 이 연립방정식의 해 (solution)가 항상 존재함에 대한 논의는 다음 장에서 하기로 한다.

(그림 5) 패킷 손실의 예

#(

Ⅳ. RSE에 기반을 둔 멀티캐스트 인증 기법제안

이번 장에서는 패킷이 손실되는 멀티캐스팅 환경하에서, 패킷들에 대한 인증을 효과적으로 수행할 수 있는 기법을 RSE 부호를 기반으로 제안한다. 매 패킷마다 해쉬 값과 서명 값을 첨부하는 대신에 패킷 블록별로 블록 전체에 대한 해쉬 값과 서명 값을 RSE 부호화화고 그 결과를 블록내의 각 패킷들에 나누어 첨부한다. 여기서 적용되는 RSE 부호는 손실된 패킷 전체를 복구하는 것이 아니라, 나머지 수신된 패킷들에 대한 인증을 성공적으로 수행하기 위하여, 손실된 패킷들에 대한 해쉬 값 및 서명 값만을 복원하기 위한 목적으로 사용된다.

4.1. 패킷 블록 부호화

스트림을 여러 개의 블록들로 나누고, 다시 각각 의 블록 B는 "개의 패킷들( 0 II RJI … II 巳)로 구성된다. 本개의 패킷 중에서 传개의 패킷만 수신이 되어도 그 수신된 패킷들에 대한 개별적인 인증을 가능하게 하기 위해서 (", k) RSE 부호를 적용한다. 패킷 블록 부호화는 모든 블록에 대해서 동일하게 적용이 되기 때문에, 본 논의에서는 한 개의 블록을 기준으로 설명한다.

〔그림 6) 패킷 블록 부호화

[그림 &(a)]와 같이 블록 B를 구성하는 力개의 패킷에 대한 각각의 해쉬 값 h(r), h(P2),

…, H(巳)을 계산하여 식⑵에서와 같이 H(B)를 구성한다.

#(2)

MB) I =N(바이트)로 가정하고, H(B)를 등분 하여 m( = N/k) 바이트로 이루어 진 砌]의 그룹 (如, 知2, •••,知,”),(^21,^22. •••, (hki,hk2, •••, hq을 구성한다. 이를 기반으로 식(3)과 같이 GF (2D상의 (笃, 嶠 RSE 부호를 적용하여 다음과 같은 〃一 개의 패리티 그룹을 생성한다. 이때, a는 GF (2今의 원시원소이다

#(3)

이와 같이 생성된 久개의 그룹을 [그림 6-(c)]와 같이 각각 勿개의 패킷에 첨부한다. 또한, 해쉬 값 H(B) 에 대해서 다시 한번 해쉬 함수를 적용한 결과 값 H(H(B))를 송신자의 서명용 키 也로 서명하여 sigTig, H(H(B)))을 생성한다. 이 서명 값도 위에서 논의했던 해쉬 값의 경우와 마찬가지로 小등분한다. 즉, 서명 값의 길이를 M 바이트로 가정할 때, M / 防 / 이면(S11, , 2, …, Sif) (s2l, S22, …, S2f) …(S 切, S 罷, … , 8 局)와 같은 t 개의 바이트로 이루어 진 k 개의 그룹을 구성할 수 있다. 다시 여기에 식(4)와같이 3, 险 RSE 부호를 재 적용하여 〃一切의 패리티 그룹을 생성한다.

#(4)

마찬가지로 이 "개의 그룹은 각각 如개의 패킷에 첨부되어, &, A2, …, A”의 인증 패킷(authenticated packet)이 구성되며, 최종적으로 이 인증 패킷들이 멀티캐스팅 되어진다.

4.2 패킷 블록 복호화

[그림 기에서와 같이 송신된 〃개의 인증 패킷들 {Al, A2, -, An) 중에서 &'( = 為 +統)개의 인증 패킷들이 수신이 되었다고 가정흐!.자. (즉, {/如, 42, …, 중에서 如개, {Ak+x, Ak+2, …, /牝}중에서 k2개). 패킷들은 전송도중 무작위로 손실(random loss) 이 되지만 논의의 편의상 일반성을 잃지 않고, {4i, 厶2, ...사와 以 砰 1, A k+2-> …, A k+ 以 이 수신되었다고 가정하자. 만약, 일 경우에는 해당 블록에 대한 성공적인 복호화가 가능하기 때문에 수신된 인증 패킷들에 대해서는 개별적인 인증이 가능하게 된다. 특히, 知=为일 경우는 패킷 블록에 대한 복호화 과정에서의 해쉬 값 및 서명 값 복구 작업은 생략된다. 그 이유는 {Al, 厶2, …, 厶*} 에는 해당 블록 전체에 대한 해쉬 값 및 서명 값이 이미 포함되어있기 때문이다. 따라서, 이 경우에는 [그림 8] 에서와 같이 서명에 대한 확인작업만 수행하면 된다. 하지만, 如의 경우 즉, {Ai, A2, …, A»} 중에서 1개 이상의 인증 패킷이 손실이 될 경우에는 블록 복호화 과정을 통해서 H(3)와 SZg”(瓦, H(H(B)))을 복구하여야 한다.

{그림 7] 패킷 블록 복호화

(그림 8) 복호화 순서도

如3일 경우의 해쉬 값 H(B) 복구는, 결국 손실된 패킷 {A如“, A* 卬, ..., △, 에 포함되어 있던 부분적인 해쉬 값을 복구하는 것이다. 이를 위해서 수신된 以宀, A4+2> …, 4* 琰}에 포함되어 있는해쉬 값이 이용된다. 하지만, 이중에서도 处개 전부가 필요한 게 아니라, 少-知(M为2)개만 이용하면 된다. j = 1, 2, m 에 대해서, 식(5)에 나타나 있는 ①의 hti 부분은 손실되지 않았으므로 알고 있는 们개의 값이고, ②의 부분은 손실되어서 수신자가 알지 못하기 때문에, 복구되어야하는 »—也개의 값이다.

#(5)

식(5)를, 값을 알고 있는 如 부분과 복구되어야 할 부분으로 구분하면 다음과 같다.

F', G)를 기반으로 다음과 같은 为一R개의 식을 계산한다.

#

위의 식을 행렬로 표현하면 식(6)과 같고, 이때 행렬 4는 Vandermonde 행렬이기 때문에 역행렬이 존재하며 따라서, 해(solution)가 유일하게 존재한다. 따라서 손실된 인증 패킷들 以队, 4缸“ …, 厶*}에 포함된 부분 해쉬 값 { "(电+ 山, "(如+ 2)j, .…, 们讪을 복구할 수가 있다.

#(6)

궁극적으로 H(B)= (如知2知3…知, ”) II (姻五孫23… 噸>II II 血厂h/爲을 구할 수 있다. 복호화 과정의 다음은 손실된 인증 패킷에 포함된 부분 서명 값을 복구해야 하는더】, 이 경우는 해쉬 값을 복구하는 과정과 동일하기 때문에 생략하기로 한다. 결국, HQKE)')')에 해당하는 (sns""s”)|| & S22…s〃) II ." II (*i s s双 …Ski)도 획득할 수 있게 된다. 다음은 복구된 해쉬 값, 서명 값 그리고 서명 확인용 키를 이용하여 서명확인 작업을 수행한다. 복호화의 마지막 작업으로, 손실되지 않은 인증 패킷에 대한 무결성 점검을 수행한다. 이 과정이 필요한 이유는, 이전 단계에서 수행된 서명확인 작업은 단지 블록 내에 첨부된 해쉬 값을 기반으로 행해졌기 때문이다. 따라서, 인증 패킷 4; 내에 존재하는 패킷 P, 에 대한 무결성 점검이 요구된다. 이는 [그림 9]에서와 같이 수신된 패킷들에 대한 해쉬 값을 계산하고, 그 값이 研3)에 존재하는지를 확인한다.

〔그림 9) 패킷의 무결성 점검

Ⅴ. 제안 방식의 평가 및 비교

[표 1]에서는 2장에서 언급했던 기존 방식과의 성능 비교를 보여주고 있다. 평가항목으로는 블록 당 해쉬 계산 회수, 패킷 당 첨부되는 해쉬 값 길이, 수신된 패킷을 인증하기 위해서 허용되는 최대 손실 패킷 수, 그리고 패킷 처리를 위한 수신측에서의 지연, 즉 블록의 최초 패킷을 인증하기 위해서 필요한 패킷 버퍼 수를 대상으로 하였다. 디지털 서명 항목은 4개의 방식 모두 한번만 수행되기 때문에 비교에서 제외하였고, 다만 서명확인 작업은 단순체인 방식에서는 블록을 구성하는 패킷만큼, 즉 〃번이 요구되고 나머지 방식들에서는 각각 1번이 소요된다.

표 1. 4가지 방식의 비교 분석

\H\ = 바이트 단위의 해쉬 값 길이

n = 블록 당 패킷 수

n-k = RSE 부호에서의 패러티 블록 수.

w = EMSS에서의 패킷 당 해쉬 값 개수

단순체인 방식에서는 블록내의 각각의 패킷들은 다른 패킷들과는 독립적으로 패킷 인증이 이루어지기 때문에 최대 손실 패킷 수에는 제한이 없다. EMSS 선별체인 방식은 〃개의 패킷으로 구성된 블록을 대상으로 한 개의 패킷 당 w개의 다른 패킷에 대한 해쉬 값이 첨가될 경우에는 최대 w개의 연속된 패킷손실(a burst loss of packets)을 허용한다. 이와 관련하여, 그래프 이론에 기반을 둔 확장된 EMSS 선별 체인 방식들에 대한 제안'이⑶에서는 무작위 손실(rand­ om loss) 및 연속 손실(burst loss)에 따른 수신된 패킷들에 대한 인증 성공률 분석이 행해진바 있다. 제안방식 (RSE)의 경우, 수신측에서의 지연은 블록을 구성하는 최초 fc개의 패킷이 성공적으로 수신이 되면 첫 패킷에 대한 인증작업이 가능해 진다. 따라서, 지연은 최소 k, 최대 &이 된다.

제안방식에서는 도표에 나와 있는 것처럼 RSE 부호에 대한 복호화 작업이 추가로 수행된다. 복호화 과정에서 가장 큰 계산량을 수반하는 곳은 행렬 4의 역행렬을 구하는 부분(식(6) 참조)이다. 복호화 과정에서 언급한 것처럼, 전송된 n개의 패킷 중에서 패킷손실이 뒤쪽의 〃一&개의 패킷들에 발생된다면 복호화 작업은 필요 없게 된다. 또한, 여러 개의 패킷 손실이 발생된 경우에 행렬 A의 크기에 영향을 미치는 요인은 〃개의 패킷 중에서 앞쪽의 k개의 패킷들에발생된 개수이다. 따라서, 최악의 경우는 패킷 손실이 앞쪽 k개의 패킷 모두에 발생되는 경우이다. 따라서, (n, fc) RSE 부호의 복호화에 따른 계산 복잡도는 0(点 (2<a<3, 0爻夕1-幻이다. RSE 복호화에 따른 계산량을 가늠하기 위하여, 역행렬 계산에 소요되는 시간과 서명확인에 소요되는 시간을 측정 하였다. n=16 그리고 左 = 8일 경우에 손실된 패킷 개수가 2, 3, 4, 5일때, 해당 역행렬을 구하는데 소요된 시간은 Pentium 4(1.9 GHz)에서 각각 4ms, 5ms, 8ms, 10ms이 였다. 또한, 16바이트 해쉬 값의 1024비트 RSA 서명 확인에는 가장 작은 지수 값 3을 적용시 3ms이 소요되었다.

[그림 10]은 r = 64, 〃 = 32일 때, 그리고 패킷의 크기가 1024바이트의 경우에 수신측에서 해당 블록을 복호화하는 데에 소요되는 시간(즉, 복구 시간)을 측정하였다. 블록 당 손실되는 패킷의 수를 X축에 표시하였다. 측정을 위한 도구는 Pentium 4(1.9 GHz),Windows XP 상에서 Microsoft Visual Stdio.NET으로 CryptoAPI를 기반으로 하여 작성하였으며, 해쉬 함수로는 MD5, 암호화 알고리즘은 RSA-1024를 사용하였다.

(그림 10) 손실된 패킷 수에 따른 복구 및 수신 측 처리시간

[그림 11]은 I비=16바이트, n=32~96일 경우에 EMSS 와 제안방식(RSE)에서의 패킷 당 오버해드(패킷 당 첨부되는 바이트 단위의 해쉬 값 크기)를 비교하였다. 비교를 위해서 동일 블록 크기 "에 대해서 동일한 개수의 연속된 패킷 손실을 허용한다고 가정하면 w=n-k가 된다. 그림에서는 블록 크기 "과 k/n 변화 (0.2~0.8)에 따른 오버해드를 보여주고 있고, 제안방식의 오버해드가 EMSS에서 보다 상당히 우수한 성능을 보여주고 있음을 확인할 수 있다. 예를 들어, (n=32, A=8) RSE 부호가 적용될 경우에는 제안방식은 24(=n-k) 개의 연속된 패킷 손실을 허용한다. 따라서, EMSS의 경우 동일한 개수의 패킷 손실을 허용하기 위해서는 w=24이 된다. 제안방식의 패킷 당 오버해드는 (” . I이)/妇4 . 16=64바이트, EMSS의 경우는 w . I비=24 . 16=384바이트가 된다. EMSS의 경우 오버해드가 높은 이유는 각각의 패킷에 중복되는 해쉬값들이 반복되어 첨부되기 때문이다.([그림 4] 참조) [그림 12]에서는 3, k) RSE 부호가 적용된 1개의 블록을 받았을 때, 블록 당 수신된 패킷들에 대한 개별적인 인증 성공확률을 〃값이 32, 64, 128경우에 kin 의 비율에 따라 보여주고 있다. 패킷 당 손실 확률 (packet loss probability)은 p로 표시하였다. 이 값은 실제 MBONE 측정치明인 10~20%로 설정하였다. 여기서의 인증 성공확률이란 무결성 점검이 성공적으로 행해진다는 의미가 아니라, 인증에 대한 확인작업을 할 수 있는 충분한 패킷들을 복구할 수 있느냐에 대한 성공확률을 의미한다. 결국 〃개의 패킷 중에서 n-k+1 이상의 패킷이 손실될 경우에는 인증이 실패하게 됨으로 인증 성공확률은 식(7)과 같다.

(그림 11) 패킷 당 오버해드 비교

#(7)

특히, 제안방식에서는 이하의 연속적 패킷손실에만 국한하는 것이 아니라 n-M 이하의 무작위 패킷 손실 역시 허용한다. 그림 12에서 알 수 있듯이 한 개의 블록을 구성하고 있는 패킷의 개수가 많을수록, 饥冋 작을수록 블록 당 인증 성공확률이 증가함을 알 수 있다.

(그림 12) 블록 당 인증 성공 확률 비교

Ⅵ 결론

본 논문에서는 인터넷 멀티캐스트 환경하에서의 멀티미디어 스트리밍 데이터에 대한 인증 메커니즘을 패킷 손실을 고려하여 제안하였다. 패킷 단위별로 인증하는 경우와 여러 패킷을 체인방식으로 그룹화하여 인증하는 경우의 오버해드 상의 한계를 인식하여, 이에 대한 대안으로 Reed-Solomon 삭제부호를 인증 메커니즘에 연동시킨 시스템을 설계하고 이에 대한 분석을 시도하였다. 제안방식에서는 삭제부호 적용에 따른 추가 연산비용이 소요되지만 이를 적용한 결과, 허용되는 손실 패킷이 동일하다는 조건 하에서 패킷 당 오버해드는 제안하는 방식이 기존 체인 방식보다는 우수한 성능을 보여줌을 확인할 수 있었다. 멀티캐스트 인증 서비스뿐만 아니라, 멀티캐스트 환경에서의 그룹키 분배, 갱신 및 기밀성 보장위한 암호화에 있어서도 삭제부호를 이용한 신뢰성 있는 보안 서비스의 제공은 관련 상용 서비스 시스템 구축에는 필수적인 사항으로 사료된다.

참고문헌

  1. Advances in Cryptoloty-Crypto'97, LNCS 1294 How to Sign Digital Streams R.Geranno;P.Rohatgi
  2. The 6th ACM Conference on Computer and Communications Security A Compact and Fast Hybrid Signature Schemes for Multicast Packet Authentication P.Rohatgi
  3. IEEE/ACM Transactions on Networking v.7 Digital Signatures for Data Flows and Multicasts C.Wong;S.Lam https://doi.org/10.1109/90.793005
  4. IEEE Symposium on Security and Privacy Efficient Authentication and Signing of Multicast Streams over Lossy Channels A.Perrig;R.Canetti;J.D.Tygar;D.Song
  5. IEEE/ACM Transactions on Networking v.5 A Reliable Multicast Framework for Light-weight Sessions and Application Level Framing S.Floyd;V.Jacobson;C.Liu;S.McCanne;L.Zhang https://doi.org/10.1109/90.650139
  6. IEEE Infocom. RMTP: A Reliable Multicast Transport Protocol J.C.Lin;S.Paul
  7. IEEE/ACM Transactions on Networking v.6 Parity-based Loss Recovery for Reliable Multicast Transmission J.Nonnenmacher;E.Biersack;D.Towsley https://doi.org/10.1109/90.720869
  8. The 29th Symposium on the Theory of Computing,ACM Practical Loss-Resilient Codes M.Luby;M.Mitzenmacher;M.A.Shokrollahi;D.Spielman;V.Stemann
  9. ISOC Network and Distributed System Security Symposium Authenticating Sreamed Data in the Presence of Random Packet Loss P.Golle;N.Madadugu
  10. IEEE sumposium on Security and Privacy Graph-based Authentication of Digital Streams S.Miner;J.Staddon
  11. IEEE Grobal Internet Measurement and Modelling of the Temporal Dependence in Packet Loss M.Yajnik;S.Moon;J.Kurose;D.Towley