한국산학기술학회논문지 Vol. 12, No. 1 pp. 436-444, 2011 멀티캐스트전송을위한에이전트기반의안전한그룹키관리방안연구 김보승 1*, 김정재 1, 장봉덕 2, 신용태 1 1 숭실대학교컴퓨터학과, 2 에이치텔레콤 ( 주 ) A Study on Secure Group Key Management Based on Agent for Multicast Data Transmission Bo-Seung Kim 1*, Jung-Jae Kim 1, Feng-De Zhang 2 and Yong-Tae Shin 1 1 Dept. of Computing, Soongsil Univ., 2 Htel Inc., 요약최근멀티캐스팅의활용도가높아짐에따라그에대한보안이중요한문제로인식되게되었다. 멀티캐스트환경에서보안성을제공하기위해지금까지진행되어오고있는연구는주로그룹키관리기법에관한것이다. 멀티캐스트보안에있어서가장중요한것은허가된멤버만이데이터에접근할수있어야한다. 이는적합한그룹멤버들만이공유하는그룹키를통해데이터를암호화하여전송함으로써해결된다. 본논문에서는안전한멀티캐스트데이터를전달하기위하여그룹가입 / 탈퇴가빈번한멀티캐스트환경에적합한에이전트기반의그룹키관리방안을제안하고자한다. 에이전트기술을도입하여전체그룹을여러개의서브그룹으로분할하여에이전트가각서브그룹의멤버들을관리하도록한다. 또한에이전트내부에서는트리기반으로키를관리하고키갱신을위하여일방향해쉬함수를사용한다. 이러한제안방식은통신중간단계에서의그룹키교환을배제하여키노출을방지하고키재분배과정에서발생하는지연을감소시킬수있다. Abstract As practical use degree of multicasting increase, security for multicast is recognized as an important issue. Previous research in the area of secure multicast has mainly focused on group key management. The most important thing about the security of multicast is that only authorized members of this group will be able to access the data. The member of access to multicast communication is to use cryptography with a common shared session encryption key. We propose decentralized group key management based on agent for dynamic multicast with large groups and frequent joins or leaves in this paper. Whole group divide to several subgroup using agent technology and each agent manage members of each subgroup. Also, when rekeying updates that using one-way hash function can prevent the key exposure, and reduce the key distribution delay. Key Words : Group-Key, Multicast, Security, Agent 1. 서론 인터넷의급속한발전에따라 IPTV, 화상회의, 인터넷방송등그룹통신에기반한새로운종류의통신응용서비스들이날로증가하고있다. 이러한그룹통신은일대다혹은다대다통신형태로구성되며멀티캐스트는이러한그룹통신에적합한프로토콜이다. 멀티캐스트환경에서는메시지에대한하나의복사본만을전송함으로써멀티 캐스트그룹의모든멤버가수신할수있고단하나의그룹키로멀티캐스트통신을보호받을수있다. 멀티캐스트그룹키는멤버들의그룹가입 / 탈퇴로인하여그룹키생성및재분배가필요하다. 또안전한그룹키관리를위해서는주기적으로키갱신이이루어져야한다. 그러나그룹의규모가큰경우모든멤버에게그룹키를재분배해야하기에네트워크지연을발생시키는단점을가진다. 본논문은안전한멀티캐스트데이터전송을위하여 * 교신저자 : 김보승 (kdwon2002@ssu.ac.kr) 접수일 10 년 10 월 25 일수정일 (1 차 10 년 12 월 03 일, 2 차 11 년 01 월 01 일 ) 게재확정일 11 년 01 월 13 일 436
멀티캐스트전송을위한에이전트기반의안전한그룹키관리방안연구 그룹가입과탈퇴가빈번한멀티캐스트환경에서에이전트기반의그룹키관리기법을제안한다. 멀티캐스트프로토콜의시작은 IGMPv3[1] 을통하여이루어지며세션세업시첫번째그룹키의생성은 AES 알고리즘을통하여완성이된다. 상대적으로부하가많은공개키알고리즘은사용자의정보를확인하기위해사용되며, 새로운사용자가추가되거나탈퇴시난수값 (Nonce) 전송을위해 AES 알고리즘을사용한다. 이때난수값을암호화과정없이전송할때불법사용자가메시지를가로채어사용하는것을막기위해암호화알고리즘을사용한다. 또한에이전트기술을도입하여서버를분산시켜멤버들을관리하도록하며, 에이전트의내부구조에트리기반의키관리기법을제시하고위에언급되었던 Signed token을추가하는것으로기존키관리기법에서멤버인증의단점을해결한다. 또한키갱신과정에서해쉬함수를이용함으로써통신중간단계의키노출을방지하고키재분배과정에서발생하는지연을감소시키는관리기법을제안한다. 본논문의구성은다음과같다. 2장은관련연구로멀티캐스트보안과기존그룹키관리기법들을분석한다. 3 장에서는새로운키관리방안을제안하는멀티캐스트환경에서의에이전트기반그룹키관리에대하여기술한다. 4장은수식을통해기존의기법과제안하는기법을비교분석한다. 마지막으로 5장에서는논문의결론을맺고향후연구방향을살펴본다. 2. 관련연구 2.1 멀티캐스트보안 멀티캐스트가효율적인그룹통신을제공하지만보안과관련하여고려되어야할사항은다음과같다. 첫째, 데이터기밀성을제공해야한다. 기밀성은안전한멀티캐스트통신의가장기본적인사항으로서그룹멤버간의암호화에사용되는키를공유함으로써제공될수있다. 둘째, 그룹키의유효시간을정의하여주기적인키갱신을수행해야하며멤버가입과탈퇴시 Backward Secrecy와 Forward Secrecy를보장하기위해키갱신이이루어져야한다. 셋째, 허가된멤버들만이그룹에접근가능하도록그룹가입시인증이필요하다. 넷째, 키관리자와멤버사이에유니캐스트채널을통한통신이외의방법으로그룹키의재분배가가능해야한다. 마지막으로데이터가전송도중에변조되는것을막기위해데이터에대한무결성도제공해야한다 [2]. 안전한멀티캐스트통신을위한그룹키관리구조는 주로두가지가있다. 즉중앙집중형키관리구조와분산형키관리구조이다. 중앙집중형은말그대로 GCKS(Group Controller/Key Server) 와정책서버 (Policy Server) 를각각하나만두어그룹멤버를관리하는구조이며분산형은 GCKS와정책서버를분산시켜여러개로나누어그룹멤버를관리하는구조로서네트워크부하를줄인다. 아래그림 1은중앙집중형과분산형키관리구조를나타내고있다. 여기서 GCKS 키관리및사용자인증기능을수행한다. 정책서버는엔터티가사용할보안정책을생성하고관리한다. Sender/Receiver는사용자와장치간의인증및키생성에필요한값을통하여새로운키를획득한다. [ 그림 1] 중앙집중형과분산형키관리구조 2.2 기존의키관리기법중앙집중형은어떤하나의신뢰되는개체가모든그룹의멤버들을관리하는것으로서그룹의멤버십이변경될때마다그룹관리자가갱신된그룹키를모든그룹멤버들에게안전하게전달하는방식이다. 대표적인기법으로 LKH[3], OFT[7] 등이있다. 분산형은전체그룹을여러개의서브그룹으로나누어멤버들을관리하는방식으로멤버십이변경될때해당서브그룹의관리자만키갱신을하며전체그룹에영향을미치지않는다. 대표적인기법으로는 Iolus 기법 [4] 등이있다. LKH(Logical Key Hierarchy) 기법은중앙서버가논리적인키트리구조를유지하며모든키를관리한다. 어떤멤버가그룹에새로참여하는경우그룹관리자는그에연관되는노드를생성하고그노드에임의로선택한키를가입된멤버에게전달한다. 그리고새로운멤버로인한변경되는키들을기존의멤버에게전달한다. 어떤멤버가그룹을탈퇴할경우그노드의형제노드가부모노드로대체된다. 다음서버는형제노드에게새로운키를할당하고경로상의모든키를갱신하여기존사용자들에게전달한다. LKH 기법의문제점은첫째, 멤버의수가많을때키관리서버의부하가크며 one point failure 문제가쉽게발생한다. 둘째, 그룹멤버의가입과탈퇴로 437
한국산학기술학회논문지제 12 권제 1 호, 2011 인하여보다많은양의키갱신메시지를멤버들에게멀티캐스트해야한다는것이다. Iolus 기법에서는그룹을네트워크상의노드간의분산형계층구조로분할함으로써키관리의효율성을제공한다. 계층적인키분배를위한보안관리자로써 GSC(Group Security Controller) 와 GSI(Group Security Intermediary) 를이용한다. 새로운멤버의가입과탈퇴처리작업은그룹전체가아닌해당서브지역에서만그룹키를재분배함으로써향상된키관리를제공하고있다. Iolus에서멀티캐스트그룹의초기화는 GSC와 GSI에의해서실행되고 GSI는 GSC의주소를알아야한다. 처음에는어떠한 GSI도실제적으로멀티캐스트그룹에가입하지않는다. 인증된집단이그룹에가입을원한다는것을 GSI에알리면 GSI는새로운서브그룹키를생성하고이를보호유니캐스트채널을통해새멤버에게전달한다. 그후에 GSI는계층구조에서다음으로높은서브그룹에가입한다. Iolus 기법의문제점은첫째, 멀티캐스트그룹이커질수록많은 GSI들을필요로한다. 둘째, 데이터를전송하기위해서매레벨마다 GSI에서암복호화를수행한다. 따라서보호분산트리의레벨이많아지면데이터를전송하기위한암복호화횟수가늘어나전송시간이많이걸린다. 하나의멀티캐스트그룹을여러개의서브그룹으로분산시켰으며각서브그룹의보안제어와키관리는에이전트가담당한다. 본논문에서이런각각의에이전트를 GSCA(Group Security Control Agent) 라고한다. 프로토콜의구조는하나의 GSC(Group Security Control) 와여러개의네트워크상에분포되어있는 GSCA 및멀티캐스트멤버들로이루어진다. GSC와 GSCA는네트워크상에서분산되어있으나논리적으로계층구조를이룬다. GSC는그룹키 GK(Group Key) 를갖고있고 GSCA는 GK와서브그룹키 DK(Downsteam Key) 를갖고있다. 각 GSCA 는 GSC로부터암호화된메시지를받아 GK를이용하여복호화하고다시 DK로메시지를암호화해서서브그룹내의모든멤버에게전송한다. GSCA는아래와같은기능을갖고있어야한다. 첫째, 데이터를멀티캐스트및유니캐스트방식으로전송할능력을갖고있어야한다. 둘째, 새로운가입한멤버에대한인증을할수있어야하고멤버의가입과탈퇴를관리할수있어야한다. 셋째, 키성성및암복호화기능을갖고있어야한다. 넷째, 서브그룹의키트리를관리하고, 멤버가입, 탈퇴시키갱신을할수있어야한다. 그림 3은 GSCA의내부구조를보여주고있다. 3. 에이전트기반의그룹키관리기법 3.1 키관리기법의구조멀티캐스트통신에서인증, 기밀성, 무결성등보안서비스를제공하기위해서는안전한그룹키관리구조가필요하다. 그룹키관리프로토콜의설계는구체적인인터넷의토폴로지에따라결정된다. 본논문에서는실제네트워크특성을고려하여 Iolus 기법의분산계층트리구조와 IGMPv3을참조하여에이전트기반의그룹키관리구조를설계한다. 그림 2는에이전트기반의그룹키관리구조를보여준다. [ 그림 3] GSCA의내부구조키생성모듈은기존의 AES 암호화알고리즘을사용하여첫서브그룹키를생성하고해쉬함수를통한키갱신을진행한다. 전송제어모듈은데이터및키갱신메시지를전송한다. 암복호화모듈은대응되는키를사용하여데이터에대한암복호화를진행한다. 멤버관리모듈은멤버인증및등록을완성하며멤버의 ID, 공개키등정보를기록한다. 멤버정보 DB에는하나의멤버참여리스트 (Participant_List) 를가지며멤버 ID, 공개키등기본정보를저장한다. 보안정책 DB에는키트리정보를저장하며멤버변화에따른키정보를유지한다. [ 그림 2] 에이전트기반의그룹키관리구조 3.2 그룹키생성및분배 GSC가네트워크상으로멀티캐스트그룹주소가들어있는 GROUP_CONSTRUCT 메시지를보낸다. 네트워크 438
멀티캐스트전송을위한에이전트기반의안전한그룹키관리방안연구 상의멤버들은이메시지를받고 GSC에게멤버응답메시지 (MEMBER_REPORT) 를보내고멀티캐스트주소를기록한다. GSC는멤버응답메시지를받은후각멤버의기본정보 ( 주소, ID, 공개키등 ) 을기록하고멤버참여리스트를만든다. GSC는멤버의주소및분포특성에따라멀티캐스트네트워크상의몇몇멤버들을뽑아서 GSCA로한다. 여기서조건이허락되면선출한 GSCA는멤버중에서계산능력이강하고강력한안정성을갖춘것을선택한다. 멀티캐스트통신환경이이루어지면 GSC와각 GSCA는 AES 알고리즘을사용하여각각 GK, DK를생성한다. GSCA는 GSC가생성한그룹키를받아야만다음단계의안전한에이전트기능을수행할수있다. 또한 GSCA는자신의서브그룹키를안전하게서브그룹내의모든멤버에게전송해야한다. GSC와각 GSCA 및각멤버들은모두한쌍의공개키와비밀키를갖고있다. GSC는각 GSCA의공개키를갖고있으며 GSCA는자신이관리하는멤버의공개키를데이터베이스에저장하고있다. 이런방법의공개키를본논문에서는그룹암호키로사용한다. 또한그림 4와같이송수신자간의인증을강화하기위하여 Signed token을이용한다. 이 Signed token으로수신자는메시지의근원지와송신자의신분을확인한다. 다. 이메시지를받은 GSCA는각각자신의개인키로복호화하여그룹키를얻으며 token_gsc의전자서명값을검증하여 GSC의신분을확인한다. GSCA는다시 GSC에게아래와같은응답메시지를보낸다. GSCA GSC : {IDG, IDGSCA, {token_gsca} prv_gsca} pbk_gsc IDG : GSC ID GSCA(Group Security Control IDGSCA : GSCA ID Agent) : GSCA 신분정보 pbk_gsc : GSC의공개키 prv_gsca : GSCA의개인키 이는 IDG, IDGSCA, 전자서명한 GSCA 정보를 GSC 의공개키로암호화하여 GSC로보내주게되며, GSC는 GSCA의응답메시지를받으면자신의개인키로복호화한다. 다음 GSCA의공개키로 token_gsca를복호화하여 GSCA의신분을확인하고그룹키가안전하게각 GSCA에게전달되었는지를확인한다. GSCA는그룹키를받고또자신의서버그룹키 DK를안전하게각멤버에게전송해야한다. 여기서 DK는위에서설명한것과마찬가지방법으로각멤버에게전송한다. 이렇게그룹키생성과분배과정이완성되면다음단계로들어간다. ID Sender Nonce [ 그림 4] Signed Token IDsender는송신자신분을표시하는값이고 Nonce는난수값을이용하여항상새로운메시지가발생할수있도록하기위한값이다. Signed token은전송할메시지내에포함되며송신자의개인키로전자서명다. 아래 {M}k 기호를도입하는데이것은키 k로내용 M에대하여암호화한다는의미이다. GSC와 GSCA간의그룹키분배를예로설명한다. GSC는 GSCA에게아래와같은메시지를보낸다. GSC GSCA : {GK, IDG, {token_gsc} prv_gsc} pbk_gsca GK : 그룹키 GSC(Group Security Control) : GSC 신분정보 IDG : GSC ID prv_gsc : GSC의개인키 pbk_gsca : GSCA의공개키 그룹키와 GSC의 ID, 개인키로전자서명한 GSC 신분정보를 GSCA의공개키로암호화하여 GSCA로전송한 3.3 키갱신과정본논문에서는그룹키와서브그룹키, 두가지방면의키갱신이있다. 여기서 GSCA는자신이관리하는서브그룹내의멤버의변화에따라서브그룹키를갱신하고 GSC는그룹키의생명주기가끝나거나멀티캐스트의요구에따라 GSCA를추가하거나탈퇴시킬때그룹키를갱신한다. 3.3.1 멤버가입한사용자가멀티캐스트그룹에가입을원한다면자신과가장가까운곳에위치하고있는 GSCA에게가입메시지 JOIN_REQUEST를보낸다. GSCA는이가입메시지를받으면공인인증기관 PKA(Public Key Authority) 에가입멤버의공개키인증서를요청하여받는다. 그리고 GSCA 는등록모듈을시동하여사용자의가입요청을처리하고사용자아이디나공개키등정보를 DB에저장한다. 다음으로는서브그룹키갱신이이루어진다. 본논문은 4진트리가전면적으로키에대한비교적높은성능을가진다는것을통하여 [5,6] 논리적인 4진키트리를구성한다. GSCA와그가관리하는각멤버들사이에는일방향해쉬함수 H를공유하고있다. 즉 K'=H(K, R) 를이용하여키 439
한국산학기술학회논문지제 12 권제 1 호, 2011 갱신을한다. 한 GSCA에 16개멤버가있는키트리구조를예로들어설명한다. 그림 5는한멤버가가입을했을때키갱신을보여준다. 나머지멤버들은 GSCA의메시지를받고 old_dk로복호화하여파라미터 R을얻는다. 그리고해쉬함수 H를이용하여새로운서브그룹키 new_dk를생성한다. 3.3.2 멤버탈퇴한멤버가그룹을탈퇴하기를원한다면 GSCA에게그룹탈퇴메시지 LEAVE_REQUEST를보낸다. GSCA는 Participant_List에서탈퇴를원하는멤버를삭제한다. 역시 Forward Secrecy를보장하기위하여 GSCA는서브그룹키를갱신할필요가있다. 그림 6은멤버탈퇴시키갱신을보여준다. [ 그림 5] 멤버가입시 GSCA 의키갱신 여기서멤버 m1에서 m16은각각트리구조에서끝부분의대응되는노드키를가지고있으며루트노드에대응되는키는서브그룹키 DK이다. GSCA는트리상의모든키를가지고있으며각멤버들은자신이위치하고있는끝부분노드로부터루트노드까지경로상의모든키를가지고있다. 한사용자 M이가입을요청하였을때 Backword Secrecy를보장하기위하여서브그룹키를갱신할필요가있다. 이때 GSCA는난수 R을생성한후해쉬함수를이용하여다음그룹키를생성하여유니캐스트방식으로새롭게생성된키를 M에게보낸다. 전송시에는 GSCA의개인키를이용하여전자서명을한후, M의공개키를이용하여암호화한후전송하게된다. GSCA M : {new_dk, token_gsca} prv_gsca} pbk_m new_dk : 새로운서브 token_gsca : GSCA 신분정보그룹키 pbk_m : M의공개키 prv_dsca : GSCA의개인키 GSCA는키트리구조끝부분에하나의새로운노드를만들어 M을대응시키고 Participant_List에멤버를추가한다. 다음은전서브그룹키로난수 R로암호화하여그룹의나머지멤버들에게멀티캐스트로전송한다. GSCA other member : {R, token_gsca} prv_gsca} old_dk R : 난수 token_gsca : GSCA 신분정보 prv_dsca : GSCA의 old_dk : 기존에사용한그룹키로암호화개인키 [ 그림 6] 멤버탈퇴시 GSCA의키갱신 m2가그룹을탈퇴한다고가정했을때 GSCA는 m2가위치한끝부분노드로부터루트노드까지경로상의모든키를갱신해야한다. GSCA는랜덤으로난수 R을생성하여나머지멤버들에게아래와같이전송한다. GSCA -> m1, m3, m4 : {R}k11, {R}k13, {R}k14 GSCA -> m5 m8 : {R}k20 GSCA -> m9 m12 : {R}k30 GSCA -> m13 m16 : {R}k40 그러면 m2를제외한모든서브그룹멤버는 R를받는다. 다음각멤버는역시해쉬함수를이용하여전서브그룹키와 R로새로운서브그룹키를생성한다. 여기서 m1, m3, m4는서브그룹키뿐만아니라경로상의 k10도갱신해야한다. 이는역시해쉬함수를사용하여갱신할수있다. 3.3.3 주기적인그룹키갱신그룹키는모두유한된생명주기를갖고있기에주기적으로갱신을해야한다. 그룹키갱신은서브그룹키갱신과달리주로 GSC와 GSCA간에이루어진다. GSC는그룹키생명주기가끝나거나멀티캐스트의요구에따라 GSCA를추가및탈퇴시킬때그룹키를갱신한다. 440
멀티캐스트전송을위한에이전트기반의안전한그룹키관리방안연구 Signed token에포함된타임스탬프를이용하여그룹키의생성시간을기록하고키의주기인 Timer값을설정한다. 이 Timer값은일정한값으로쓰거나임의의값으로매번다르게설정할수있다. 정해진 Timer값을지나면 GSC는타임스템프를이용하여그룹키의끝나는시간을기록하고순방향키체인기법을난수 R값즉 Nonce에따라 GSC 그룹키를생성하게되며, 시간이만료되면 Timer 값을다시설정한다. 각 GSCA는타임스탬프값을확인하고역시키체인기법을난수 R에따라다음주기에사용될그룹키를만든다. 여기서 Nonce값은 Signed token 에포함된랜덤수를이용한다. 그림 7은 GSC와 GSCA 간의그룹키갱신을보여준다. [ 그림 7] GSC와 GSCA간의그룹키갱신 4. 성능평가 키관리기법 [ 표 1] Storage 비용비교 서버 키개수 멤버 LKH 2N-1 Log 2 N+1 Iolus N+1 2 제안하는기법 4N-1 3 1 2 Log 2N+1 LKH 기법에서서버는이진트리구조상의모든키를갖고있어야함으로 2N-1 개의키를유지하고있다. 멤버는 2진트리에서자신과연결된최하위노드의키로부터루트노드의경로상의모든키를갖고있어야함으로 Log 2 N+1개의키를유지하고있다. 제안하는키관리기법은 4진트리로구성되었기에 k=4이다. 서버는 4N-1 개의키를유지하며멤버는 1 3 2 Log 2N+1개의키를유지한다. 따라서 LKH 기법보다트리의높이가작으며서버와멤버의키저장비용도적다는것을알수있다. 이는그림 8과그림 9를통해그차이를알수있다. 키관리기법의성능을평가하기위해서는크게보안성과효율성으로분석한다. 본논문에서는주로 Rekey 작업을위한 Storage 비용, Communication 비용, Computation 비용의시스템효율성에대한분석을통하여성능평가를진행한다. 여기서제안된기법과 Iolus 기법의각하위그룹들은서로독립적으로이루어지기때문에최하위그룹 (Iolus: GSI, 제안기법 : GSCA) 만을기준으로 LKH 기법과비교분석한다. 4.1 Storage cost 분석 Storage 비용은주로그룹관리서버와멤버들이관리하는키의수를가지고분석한다. Star형방식과같은단순그룹키관리기법일경우키의개수가가장적겠지만전체적인시스템측면에서는매우비효율적이라고볼수있다. 즉, 이런기법은장애발생시, 장애복구시, Rekey 작업시등면에서트리기반의계층형기법보다비효율적이다. Iolus기법도역시최하위그룹에서는단순그룹키관리기법을적용하였기에그효과는동일하다. 아래표 1 은각그룹키관리기법의키저장개수를나타낸다. 서버가 N개의멤버를관리 ( 한서브그룹내의멤버수 ) 하고, 트리의높이를 h로, 트리의지수를 r로가정했을때아래와같은식을얻을수있다. [ 그림 8] 서버의키개수 (N = r h -1, h = Log r N+1 ) [ 그림 9] 멤버의키개수 441
한국산학기술학회논문지제 12 권제 1 호, 2011 4.2 Communication 비용분석 Communication 비용은주로키갱신에필요한메시지에대한비용으로멤버의가입과탈퇴시에부족한대역폭에대한부하를줄이기위해서는메시지수를줄여야한다. 아래표 2는 LKH 기법, Iolus 기법과제안하는키관리기법의 Communication 비용을비교한것이다. 키관리기법 [ 표 2] Communication 비용비교 키갱신메시지수멤버가입시멤버탈퇴시 LKH Log 2 N+1 2Log 2 N-1 Iolus 2 N-1 제안하는기법 2 3 2 Log 2N Communication 비용은멤버의가입과탈퇴시두가지경우로분석한다. 멤버가가입할경우 LKH 기법은서버가모든키를관리하는이진트리구조로서키갱신시그룹키뿐만아니라가입된멤버의트리상의모든키를갱신한다. 따라서서버는키갱신에필요한메시지수가트리의높이만큼필요하다. 하지만 Iolus 기법과제안하는키관리기법은단한번의멀티캐스트와한번의유니캐스트로키갱신이완료됨으로메시지수는 2개가된다. 멤버탈퇴시 LKH 기법은서버가탈퇴한멤버가갖고있는모든키를갱신하고분배를한다. 따라서키갱신메시지수는 2Log 2 N-1개가필요하다. Iolus 기법은멤버를 Star형방식으로관리하기때문에멤버의수만큼멤버들의개별키로암호화하여유니캐스트로전송해야한다. 때문에 N-1 개의키갱신메시지수가필요하다. 하지만제안하는키관리기법은키갱신시서버는탈퇴한멤버가갖고있는트리상의모든키를갱신해서각멤버에게보내는것이아니라단지키갱신에필요한파라미터 R 값만보내면된다. 따라서그림 10과같이키갱신에필 요한메시지수는 3 2 Log 2N 개다. [ 그림 10] 멤버의갱신키에따른메시지수 4.3 Computation 비용분석 Computation 비용분석은멤버의변화에따른그룹키갱신에필요한계산비용을비교한다. 즉멤버가입과탈퇴시새로운키생성에필요한시간과키분배를위한암복호화에소비되는시간을비교하는대상으로한다. 제안하는키관리기법의경우일방향함수를수행하는시간이포함된다. 아래표 3은 LKH 기법, Iolus 기법과제안하는키관리기법의 Computation 비용을비교한것이다. 키관리기법 서버 계산비용 멤버 LKH 2(Log 2 N+1)T e (log 2 N+1)T d Iolus nt e T d 제안하는기법 [ 표 3] Computation 비용비교 ( 1 2 Log 2N)T h +( 3 2 Log 2N)T e ( 1 2 Log 2N)T h +T d 여기서 T e 는키분배를위한키암호화에소비되는시간이다. T d 는암호화된키를복호화에필요한시간을의미하며 T h 는일방향해쉬함수를수행하여새로운키를생성하는시간이다. LKH 기법에서는한멤버가가입 / 탈퇴할경우그룹관리서버가모든키를생성및분배하기때문에 Log 2 N+1개의 Rekey를전송해야한다. 따라서그룹관리서버의계산비용은 2(Log 2 N+1)T e 이다. 멤버의경우역시트리높이수만큼의 Rekey를복호화하는시간이필요함으로그계산비용은 (log 2 N+1)T d 이다. Iolus 기법에서멤버의가입 / 탈퇴로인하여그룹관리서버는 N번의새로운키를암호화해서보내야하고멤버는단한번의복호화하는시간이필요하다. 이기법에서멤버의계산시간은적으나그룹관리서버의계산시간은그룹멤버의수만큼증가되기때문에작업처리시간이많이소요된다. 제안하는키관리기법은한멤버의가입 / 탈퇴시오직키생성에필요한파라미트 R만분배하고나머지갱신해야할키들은일방향함수를이용하여생성한다. 따라서 n명의멤버를가진 GSCA는한명의멤버가가입 / 탈퇴시 3 ( 2 Log 2N)T e 의암호화시간과 ( 1 2 Log 2N)T h 의키생성시간이필요하다. 멤버도역시 한번은복호화와 1 ( 2 Log 2N)T h 의해쉬함수를이용한키생성시간이필요하다. 442
멀티캐스트전송을위한에이전트기반의안전한그룹키관리방안연구 그리고윈도우환경에서 256Bit 키길이를이용하여실험평가를한결과 RSA암호화알고리즘을사용하여키암호화하는데필요한시간은약 91μs이며그키를다시복호화하는데필요한시간은약 113μs이다. 하지만해쉬함수 MD5를이용하여새로운키를생성하는시간은약 1μs이다. T h << T e, T h << T d 임으로제안하는그룹키관리기법은 LKH 기법이나 Iolus 기법보다 Rekey 작업을위한처리시간면에서보다우수하다. 제안하는키관리기법은 Iolus 기법보다키의저장량이많지만키갱신을위한메시지수나키갱신에필요한처리시간면에서다른기법보다적다는것을볼수있다. 따라서종합적인효율성을분석하여봤을때제안하는키관리기법이보다우수하다. 5. 결론 본논문에서제안한그룹키관리기법은멀티캐스트환경에적합하며에이전트기술을도입하여서브그룹을관리함으로써서버의부하를줄인다. 또한 GSCA내의효율적인그룹키생성및분배를위하여일방향해쉬함수를이용한트리기반의그룹키관리알고리즘을적용한다. 이렇게함으로써멤버의변화가빈번한멀티캐스트환경에서키갱신메시지수를줄이고키분배에대한지연을감소한다. 또한 Signed token을추가함으로써현존하는그룹키관리기법의멤버인증의취약점을보완한다. 이를통해서브그룹분리를통한그룹키의키갱신에대한분배시전송시간과키의암호화생성시간이기존의키관리시스템보다빠르다. 또한적은향의스토리지를사용함으로써, 비용을절감할수있고 Singed token 으로인한그룹내멤버인증의취약점을해결할수있었다. 향후연구과제로는먼저본논문에서제안한시스템을직접구현하여기존의기법과비교 분석하는것이다. 또한 GSC와 GSCA간의주기적인그룹키갱신을위한세부적인 Timer 설정알고리즘이필요하며세부적인 GSCA 선출기법이필요할것이다. 또한다수의에이전트운용시, 에이전트의운용에대한추가비용을해결하고, 에이전트마비시해당서브그룹에대한멤버의통신문제를해결해야할것이다. version3," RFC3376, Oct. 2002. [2] T. Ballardie, J. Crowcroft, "Multicast-Specific Security Threats an Counter-Measures," Proceedings of the Symposium on Network and Distributed System Security, Feb. 1995. [3] Hugh Harney, Eric Harder, LKH : Logical Key Hierarchy Protocol, Internet Draft, draft-harney-sparta -lkhp-sec-00.txt, Mar. 1999. [4] Suvo Mittra, "Iolus : A Framework for Scalable Secure Multicasting," Proceeding of the ACM SIGCOMM '97, Sep. 1997. [5] Canetti R, Caray J, Itkis G, et al, "Multicast security: a taxonomy and some efficient constructions", Proc of the INFOCOM 99, 708-716, 1999. [6] Chung Kei Wong, Mohamed Gouda, Simon S.Lam, "Secure group communication using key graphs," IEEE/ACM Transactions on networking, VOL.8, NO.1, Feb. 2000. [7] Alan T. Sherman and David A. McGrew, "Key Establishment in Large Dynamic Groups using One Way Function Trees," IEEE Trans. on Software Engineering, Vol.29, No.5, pp. 444-458, 2003. [8] 장봉덕, 동적멀티캐스트환경에서에이전트기반의분산형그룹키관리기법, 숭실대학교석사학위논문, 2월, 2009. 김보승 (Bo-Seung Kim) [ 정회원 ] 2002 년 2 월 : 영동대학교컴퓨터공학과공학사 2004 년 8 월 : 숭실대학교컴퓨터학과공학석사 2005 년 3 월 현재 : 숭실대학교컴퓨터학과박사과정 < 관심분야 > 멀티캐스트, IPTV, 센서네트워크, IPv6, DNS, 홈네트워크 참고문헌 [1] B. Cain, S. Deering, I. Kouvelas, B. Fenner, A. Thyagarajan, "internet Group Management Protocol, 443
한국산학기술학회논문지제 12 권제 1 호, 2011 김정재 (Jung-Jae Kim) [ 정회원 ] 1999 년 2 월 : 영동대학교컴퓨터공학과공학사 2001 년 2 월 : 숭실대학교컴퓨터학과공학석사 2005 년 8 월 : 숭실대학교컴퓨터학과공학박사 < 관심분야 > 암호학, DRM, RFID/USN, 네트워크보안 장봉덕 (Feng-De Zhang) [ 정회원 ] 2003 년 6 월 : 연변과학기술대학교계산기학과공학사 2009 년 2 월 : 숭실대학교컴퓨터학과공학석사 2009 년 3 월 현재 : 에이치텔레콤 ( 주 ) S/W 전임연구원 < 관심분야 > 멀티캐스트, 센서네트워크, 홈네트워크, 모바일통신 신용태 (Yong-Tae Shin) [ 정회원 ] 1985 년 2 월 : 한양대학교산업공학과공학사 1990 년 12 월 : Iowa 대학교전산학과공학석사 1994 년 5 월 : Iowa 대학교전산학과공학박사 1995 년 3 월 현재 : 숭실대학교컴퓨터학부교수 < 관심분야 > 멀티캐스트, IPTV, IPv6, RFID/USN, 네트워크보안 444