工學碩士學位論文 LR-WPAN 에서사전인증기법을이용한기기인증프로토콜 Device Authentication Protocol for LR-WPAN using Pre-Authentication Mechanism 亞州大學校大學院 電子工學科 李聖珩
LR-WPAN 에서사전인증기법을이용한기기인증프로토콜 Device Authentication Protocol for LR-WPAN using Pre-Authentication Mechanism 指導敎授 金宰顯 이論文을工學碩士學位請求論文으로提出함. 2009 年 2 月 亞州大學校大學院 電子工學科 李聖珩
李聖珩의碩士學位論文을認准함. 審査委員長金宰顯 ( 印 ) 審査委員金榮吉 ( 印 ) 審査委員李採羽 ( 印 ) 亞州大學校大學院 2009 年 2 月
감사의글 학부를졸업한지어느새 2년이지났습니다. 그리고 2년동안의석사과정을마치고졸업할때가되었습니다. 그동안겪었던경험들은자신없이학부과정 4년을마친저에게용기와자신감을주었고, 보다적극적으로일을해결할수있는저를만들어주었습니다. 하지만지금이글을쓰는시점에서드는느낌은아쉬움입니다. 석사과정시작때의목표를완전히이루지못한느낌과석사과정때조금만더열심히했으면더나은제가있지않았을까하는느낌이듭니다. 그러나이런실수가앞으로더나은자신을만들수있는계기와뒷받침이될것같습니다. 제가석사과정을이수하고, 이논문이나오기까지부족한저를받아주시고, 가르쳐주시고, 믿어주신저의지도교수님김재현교수님께진심으로감사드립니다. 그리고저에게관심을갖고저의졸업논문을성심성의껏심사해주신김영길교수님및이채우교수님께감사의말씀드립니다. 연구실선배로써저를아껴주시고도와주신재룡이형, 성민이형, 현진이형, 신헌이형, 충희형, 지수형에게고마움의마음전합니다. 그리고연구실동기로써힘이되어준규환이에게도감사합니다. 또한연구실후배광춘이에게도고맙다는말을전하고싶습니다. 더불어통신시스템연구실의기태형과이민씨, 박찬일씨와멀티미디어네트워킹연구실의세진이형, 제갈찬씨, SoC 연구실의이명훈씨를비롯한대학원연구실동료들의도움에감사드리며학부때부터지금까지저에게힘이되어준현환이, 조준영, 박준영등여러친구들에게특별한감사의마음을전합니다. 마지막으로저를낳아주시고길러주시느라고생하신부모님들께사랑한다는말씀을전하고싶습니다. i
국문요약 본논문에서는 LR-WPAN을위한새로운인증프로토콜을제안한다. 제안하는인증프로토콜에서는계층구조를이용한인증을수행하여인증의안전성및신뢰성을확보한다. 또한계층구조에서나타나는효율성감소를해결하기위하여정보교환횟수를줄이는방법을이용하여적합한사용자및적합하지않은사용자를인증할때의효율성을제공한다. 특히기존의프로토콜들은참여자기기 (joiner device) 가네트워크에참여하였을경우에트러스트센터 (trust center) 와직접적인인증을수행하는반면에, 제안하는프로토콜에서는 Local Authentication Key를이용하여트러스트센터와참여자기기가두기기사이의신뢰성을확인하기이전에부모라우터 (parent router) 와참여자기기사이의신뢰관계를확인하게된다. 이과정을본논문에서는사전인증 (pre-authentication) 이라고하였으며, 이러한사전인증을통해계층구조를이용한인증프로토콜에서공격자가서비스거부 (denial of service, DoS) 공격을수행할경우에발생하는피해를줄일수있다. 본논문에서제안하는프로토콜의성능평가를위하여여러가지성능분석을수행한다. 첫번째로, 여러가지공격을고려하여프로토콜이각공격에대응할수있다는것을평가하는 security 분석을수행하여제안하는프로토콜의안전성을평가한다. 두번째로, GNY 분석을수행하여프로토콜에참여하는기기들이서로인증을수행할수있음을확인하였다. 세번째로, DoS 공격발생시네트워크에참여중인기기의메시지전송횟수를분석하여 DoS 공격에대한프로토콜의안전성을평가한다. 마지막으로, 현재 LR- WPAN을위한표준인 ZigBee의인증프로토콜과제안한프로토콜을 LR- WPAN 기기에구현하여인증과정에필요한시간을측정하고, 측정된시간을바탕으로각홉수별로인증완료시간을분석하여제안하는프로토콜의효율성을평가한다. 이러한성능분석과정에서제안한프로토콜이안전하 ii
고기존의인증프로토콜보다 DoS 공격에대한저항성이늘어나보안이강 화되며인증완료시간을홉수에따라최대 30% 줄여프로토콜이효율적임 을확인하였다. iii
목차 제1장서론... 1 제2장관련연구... 7 제1절 IEEE 802.15.4 의보안프로토콜... 7 제2절분산형인증프로토콜... 8 제3절계층구조를이용한인증프로토콜... 9 제4절 ZigBee의인증프로토콜... 10 제5절공개키기반의인증프로토콜... 15 제6절 Parent-Child 키연결알고리즘... 15 제3장제안하는인증프로토콜... 17 제4장성능평가... 27 제1절 Security 분석... 27 제2절 GNY 분석... 28 제3절 DoS 공격에대한대응... 33 제4절인증처리시간측정... 37 제5절인증처리시간분석... 40 제5장결론... 43 참고문헌... 44 부록... 47 ABSTRACT... 52 iv
그림목차 그림 1. LR-WPAN으로구성한홈네트워크... 1 그림 2. IEEE 802.15.4 및 ZigBee의네트워크형태... 3 그림 3. IEEE 802.15.4 LR-WPAN의기기구조... 7 그림 4. ZigBee의프로토콜스택구조... 10 그림 5. ZigBee에서의인증과정 ( 참여자기기가트러스트센터에서 1홉떨어진경우 )... 13 그림 6. ZigBee에서의인증과정 ( 참여자기기가트러스트센터에서 2홉떨어진경우 )... 14 그림 7. Parent-Child 알고리즘의인증과정 ( 참여자기기가트러스트센터에서 2 홉떨어진경우 )... 16 그림 8. 제안하는인증프로토콜의정보교환 (1 홉 )... 20 그림 9. 제안하는인증프로토콜의정보교환 (2 홉이상 )... 21 그림 10. 제안하는인증프로토콜의순서도 - 트러스트센터... 22 그림 11. 제안하는인증프로토콜의순서도 - 부모라우터... 23 그림 12. 제안하는인증프로토콜의순서도 - 참여자기기... 24 그림 13. 제안하는인증프로토콜에서사용하는메시지의형태예시... 25 그림 14. 공격자기기를인증할경우에 ZigBee의인증과정에서발생하는메시지교환... 35 그림 15. 공격자기기를인증할경우에제안하는인증과정에서발생하는메시지교환... 35 그림 16. 공격자기기가공격을한번시도할때트러스트센터와라우터들이전송하는메시지수... 36 그림 17. 프로토콜구현에사용한기기 (Aiji ZDB Version 2.0)... 37 v
그림 18. Chipcon General Packet Sniffer 로캡쳐한패킷의모습... 38 그림 19. 인증완료시간비교... 42 vi
표목차 표 1. LR-WPAN 기기의사양의예 (Chipcon CC2430)... 5 표 2. 제안한프로토콜에서사용되는주요값... 19 표 3. 제안하는프로토콜을 ZigBee에적용할경우매체접근제어계층에서생성되는패킷의크기... 26 표 4. 프로토콜구현환경... 39 표 5. 측정된 processing delay t proc... 40 vii
약어표 AAA AES AES-CBC-MAC AES-CCM* AES-CTR AES-MMO DoS EA HMAC LAK LEAP LR-WPAN MAC MANET SAODV SEAD SKKE SPINS Authentication, Authorization, and Accounting Advanced Encryption Standard Advanced Encryption Standard Cipher Block Chaining Message Authentication Code Mode Advanced Encryption Standard Modified Counter with Cipher Block Chaining Message Authentication Code Mode Advanced Encryption Standard Counter Mode Advanced Encryption Standard Matyas-Meyer-Oseas Mode Denial of Service Entity Authentication Keyed Hash Message Authentication Code Local Authentication Key Localized Encryption and Authentication Protocol Low-Rate Wireless Personal Area Network Message Authentication Code Mobile Ad-hoc Network Secure Ad hoc On Demand Vector Secure Efficient Ad hoc Distance vector routing protocol Symmetric-Key Key-Establishment Security Protocols for Sensor Networks viii
제 1 장서론 최근무선네트워크기술과무선기기기술이향상됨에따라저전력, 저비용으로무선네트워크를구성하는기술에대한관심이높아지고있다. 특히이러한무선네트워크중에낮은송신전력및낮은전송속도로통신을수행하는네트워크를저속근거리무선통신망 (Low-Rate Wireless Personal Area Networks, LR-WPAN) 이라고한다. LR-WPAN은그특성때문에저렴한가격으로간단한통신을수행하는네트워크나많은수의기기를이용하는네트워크를구성할경우에적합하다. 따라서 LR-WPAN은센서네트워크나원격제어를위한네트워크구성에적합하여홈네트워크, 산업자동화, 건강상태측정및군목적활용등에서응용되고있다 [1], [2]. 그림 1은 LR-WPAN으로구성한홈네트워크의예를보여주는그림이다. 그림 1. LR-WPAN 으로구성한홈네트워크 Figure 1. The home network which is using LR-WPAN 1
IEEE 802.15.4 workgroup에서는 LR-WPAN을위하여 IEEE 802.15.4 표준을제정하였다. 이표준은 LR-WPAN 환경을위한물리 (physical) 계층과매체접근제어 (medium access control) 계층의기능을정의하고있다 [2]. 이표준기술을기반으로 ZigBee Alliance에서는 ZigBee라는응용서비스의표준화작업을진행하고있다. ZigBee 표준에는네트워크구성을위한네트워크계층 (network layer), 보안및응용프로그램을위한응용지원하부계층 (application support sub-layer) 등의기술적요구사항및동작절차등을정의한다 [3]. IEEE 802.15.4 및 ZigBee에서는네트워크의노드들을관리하고네트워크의정보를수집하는 PAN coordinator를중심으로 full function device와 reduced function device가네트워크를형성하게된다. Full function device는연산능력이좋고저장공간과배터리량이많은기기로 reduced function device의기능과함께네트워크에서정보의전달및주변기기의관리를수행한다. Reduced function device는 full function device에비해연산능력이낮고저장공간과배터리량이적은기기로주로네트워크의말단에서간단한정보를수집하여 PAN coordinator 에게전송하거나간단한조작을수행하는기기이다. 이기기들을이용하여네트워크를구성하는형태는그림 2와같다. 네트워크형태는그림 2.(a) 와같이 PAN coordinator를중심으로성형 (star topology) 네트워크를구성하거나그림 2.(b) 와같이트리구조 (tree topology) 로네트워크를구성하기도하며그림 2.(c) 와같이각기기가서로통신하는메쉬구조의네트워크형태로구성되기도한다 [2],[3]. 2
그림 2. IEEE 802.15.4 및 ZigBee 의네트워크형태 Figure 2. Network topology of IEEE 802.15.4 and ZigBee LR-WPAN은통신인프라가없는환경에서다수의이동노드간에네트워크를구성하고통신을수행한다는점에서 MANET(Mobile Ad-hoc Network) 과유사함을보인다. MANET에서도다른유무선네트워크와마찬가지로네트워크보안의필요성이나타나며특히 LR-WPAN의주요예상사용분야가가정자동화, 공장자동화, 군통신등에서네트워크의말단에이용될것으로예상되기때문에개인, 회사및군의비밀유출방지, 네트워크의안전성확보등을 3
위해서 LR-WPAN에적합한보안프로토콜이필요하다 [4]. LR-WPAN을위한보안프로토콜구조로 Security Protocols for Sensor Networks(SPINS)[5], Localized Encryption and Authentication Protocol(LEAP)[6] 등이제안되었다. 또한안전한라우팅을위한 Secured Ad hoc On Demand Vector(SAODV) 프로토콜 [7], Secure Efficient Ad hoc Distance vector routing protocol(sead)[8], Ariadne 프로토콜 [9] 등이제안되었고 IEEE 802.15.4에서확인프레임위조를막기위하여 [10] 이제안되었으며주소위조공격을감지하기위한기법인 [11] 이제안되기도하였다. ZigBee Alliance에서는 ZigBee 표준에서 LR-WPAN을위한보안프로토콜을정의하고있다. 이프로토콜에서는 128 bits Advanced Encryption Standard(AES) 를기반으로하는 Advanced Encryption Standard - Modified Counter with Cipher Block Chaining Message Authentication Code(AES-CCM*) 알고리즘을이용하여메시지암호화및무결성보장을수행하며 Advanced Encryption Standard - Matyas-Meyer- Oseas(AES-MMO) 및 Keyed Hash Message Authentication Code(HMAC) 알고리즘을해쉬값생성에이용한다. ZigBee에서는위알고리즘을기반으로암호화, 무결성보장, 키관리등과같은보안서비스를제공하여두기기사이및네트워크전체측면에서의안전성을보장한다 [3]. 표 1은 LR-WPAN를위해최근에개발된기기중하나인 Chipcon CC2430의기기사양을나타낸표이다 [12]. 표 1에서도알수있듯이 LR-WPAN에서사용되는기기는연산능력및저장공간이제한되기때문에프로토콜을구성함에있어효율적인프로토콜설계가필요하다. 이는보안프로토콜에도마찬가지로적용되므로 LR-WPAN을위한보안프로토콜은일정수준의안전성을유지하면서도연산이비교적간단하도록설계된다. 이러한예로 LR-WPAN에서는암호화나해쉬알고리즘의경우공개키기반알고리즘보다는대칭키기반의알고리즘을사용하는것이있다. LR-WPAN에서사용되는기기인증프로토콜역 4
시이러한이유때문에효율적인프로토콜설계가필요하다. 표 1. LR-WPAN 기기의사양의예 (Chipcon CC2430) Table 1. The specification of example LR-WPAN device(chipcon CC2430) Name CC2430 Company Chipcon / Texas Instruments Core Processor Optimized 8051 Program Memory 32 / 64 / 128 KB Data Memory 8KB Power Consumption Rx/Tx : 27mA, powerdown mode : 0.5uA Radio 2.4 GHz / 250kbps MAC Hardware Support CSMA/CA, LQI, CCA, ED, CRC-16, etc. LR-WPAN에서인증을위하여효율성및확장성이상대적으로좋은분산형인증프로토콜이고려되고있으나 ZigBee와같은표준에서는안전성및신뢰성확보를위해분산적으로인증을수행하는방법보다는계층구조및트러스트센터 (trust center) 를이용하여인증을수행하는방식을이용한다 [3]. 그러나트러스트센터를이용할경우멀티홉 (multi-hop) 환경인 LR-WPAN에서는트러스트센터와네트워크에참여하는참여자기기 (joiner device) 사이의신뢰관계뿐만아니라참여자기기와부모라우터 (parent router) 와의신뢰관계를확인하여야한다. 또한트러스트센터에트래픽이집중되기때문에인증과정을반복하여트러스트센터의역할을제대로수행하기어렵게하는서비스거부공격 (denial of service attack, DoS 공격 ) 을효과적으로막아야한다. 본논문에서는 LR-WPAN에서트러스트센터를이용하는인증프로토콜을제안한다. 제안하는프로토콜은트러스트센터를이용하기때문에기기사이에확실한신뢰관계를형성할수있다. 다만기존에제안된트러스트센터를이 5
용한인증프로토콜에서는참여자기기가트러스트센터와바로인증을수행하기때문에 DoS 공격에취약하다는문제가있다. 제안하는인증프로토콜에서는이를해결하기위해새로운기기가네트워크에참여할때트러스트센터와바로인증을수행하지않고부모라우터가 1차적으로인증을수행한후 1 차인증이성공하였을때트러스트센터와의인증을수행한다. 또한제안하는프로토콜은메시지교환횟수를줄여정보교환및연산에드는오버헤드를줄인다. 본논문은다음과같이구성된다. 제2장에서는현재까지제안된 LR- WPAN을위한기기인증프로토콜과각각의문제점에대해살펴보며제3장에서 LR-WPAN을위한새로운기기인증프로토콜을제안하고세부절차를살펴본다. 제4장에서는제안하는인증프로토콜의성능을평가하며제5장에서결론을맺는다. 6
제 2 장관련연구 제 1 절 IEEE 802.15.4 의보안프로토콜 그림 3. IEEE 802.15.4 LR-WPAN 의기기구조 Figure 3. IEEE 802.15.4 device architecture IEEE 802.15.4의기기구조는그림 3과같다. IEEE 802.15.4에서는 LR-WPAN 에서안전한메시지전송을위하여매체접근제어계층에서암호화를위한 Advanced Encryption Standard Counter(AES CTR) 및무결성보장을위한 Advanced Encryption Standard Cipher Block Chaining Message Authentication Code(AES CBC MAC) 알고리즘을사용한메시지보안 (frame security) 기능을제공한다. 사용자가위알고리즘을사용하기위해서는두기기사이에키가분배되어있어야하고서로인증이되어있어야한다. 그러나기기인증, 키분배및키전송등의메커니즘이 IEEE 802.15.4에는따로정의되어있지않기때문에사용자가 IEEE 802.15.4를이용하는경우에는위의메커니즘들을별도로정의하여사용하여야한다 [2]. 7
제 2 절분산형인증프로토콜 LR-WPAN의특징인분산환경을고려하여여러가지인증프로토콜들이제안되었다. 인증프로토콜중에분산형인증프로토콜은중앙에서키를분배하고인증을수행하는트러스트센터, Authentication, Authorization, and Accounting(AAA) 등이존재하지않는인증프로토콜이다 [13]. LR-WPAN에서는기기의연산능력이떨어지기때문에공개키기반의알고리즘보다상대적으로간단한대칭키기반인증프로토콜을이용하므로 LR-WPAN을위한분산형인증프로토콜에서는각기기사이에동일한대칭키를갖도록하기위한키분배메커니즘이필요하다 [14]. 그러나분산형인증프로토콜에서는이로인하여다음과같은문제점이발생한다. 첫째, 한기기가다른기기와공통된키를갖기위해서는모든상대방기기에대응되는키를하나씩가지고있어야하기때문에모든기기는저장공간이많이필요하거나복잡한연산을이용하여키를생성하여야한다. 둘째, 키저장공간을절약하기위해일부상대방기기에대응되는키를가지고있을수있으나이경우인증을할수없는상대방기기가발생한다. 셋째, 키설정과정에복잡한연산이필요할수있다. 넷째, 일대다인증을통한인증프로토콜을고려할수있으나이는많은수의정보교환이필요하며때에따라서는서로간의신뢰성이성립되지않을수도있다. 위와같은문제점으로인하여분산형인증프로토콜을 LR-WPAN에적용할수있으나여러응용사례를위한일반적인보안프로토콜로이용하기는어렵다. LR-WPAN을위한상위계층표준인 ZigBee의인증프로토콜역시이러한문제때문에계층구조를이용한인증프로토콜을이용하고있다. 8
제 3 절계층구조를이용한인증프로토콜 분산형인증프로토콜과달리네트워크에인증서버및보안관리자역할을하는트러스트센터나 AAA 등이있으며이러한기기들을중심으로다른기기들이망을형성하게되는계층구조를이용한인증구조를고려할수있다 [14]. 이러한구조에서는인증을원하는기기가발생하면다른기기를통해중앙의인증서버와통신을수행하여인증을수행하게된다. 계층구조를이용한인증프로토콜은초기에각기기에저장해야하는키의수가적고키분배및키설정시사용하는알고리즘이분산형인증프로토콜보다간단하며, 확률적키분배로인한인증실패확률이없어 ZigBee의인증프로토콜에이용되는등여러가지응용사례를위한일반적인인증프로토콜로이용된다. 계층구조를이용한인증프로토콜에서트러스트센터는연산능력및저장능력이다른기기보다좋은경우가대부분이지만인증요청, 키분배등의작업을위해네트워크상의기기와트러스트센터사이에통신이자주일어나므로프로토콜이최적화되지않으면트러스트센터에부하가많이걸리게된다. 또한적합하지않은기기가인증을수행할때트러스트센터와메시지교환이많이일어난다면이역시트러스트센터에부하를일으키는원인이되며, 악의적인기기가인증을반복하는 DoS 공격을수행할경우트러스트센터및중간에위치한라우터들의통신효율을감소시키고배터리를소모시킬수있다. 9
제 4 절 ZigBee 의인증프로토콜 1. ZigBee 에서보안을위한구조 Application(APL) Layer Application Framework ZigBee Device Object(ZDO) Application Object 240 Application Object 1 ZDO Public Interfaces Endpoint 240 APSDE-SAP Endpoint 1 APSDE-SAP Endpoint 0 APSDE-SAP Security Service Provider APS Security Management NLDE-SAP Security Management Application Support Sublayer(APS) Network(NWK) Layer Message Broker APS Message Broker Routing Management Reflector Management NLME-SAP Network Management APSME -SAP NLME- SAP ZDO Management Plane MLDE-SAP Medium Access Control(MAC) Layer MLME-SAP PLDE-SAP 2.4 GHz Radio Physical(PHY) Layer 868/915 MHz Radio PLME-SAP IEEE 802.15.4 defined ZigBee Alliance defined End manufacturer defined Layer Function Layer Interface 그림 4. ZigBee 의프로토콜스택구조 Figure 4. Outline of the ZigBee stack architecture ZigBee는현재표준화가진행중이며그림 4와같이 IEEE 802.15.4의물리계층및매체접근제어계층상위에서네트워크계층및응용계층을정의하고있다 [3]. ZigBee에서는보안을위한기본적인알고리즘으로 128 bits AES 알고리즘을기반으로하는여러알고리즘들을이용한다. ZigBee에서메시지보안및무결성보장을위해서 AES CCM* 알고리즘을사용하며해쉬값생성을위 10
해서 AES-MMO 및 HMAC 알고리즘을이용한다. ZigBee에서는이러한알고리즘들을이용하여응용계층및네트워크계층에서메시지암호화, 무결성보장, 기기인증, 비밀키생성, 네트워크키분배및관리등여러가지보안서비스를제공하게된다. 보안서비스제공을위하여응용계층에서는트러스트센터와하나의상대방기기만이알고있는마스터키 (master key) 를네트워크구성이전에설정하며네트워크가구성되는과정에서마스터키및 SKKE(Symmetric-Key Key- Establishment) 프로토콜을이용하여링크키 (link key) 를생성한다. 네트워크계층에서는보안서비스제공을위하여네트워크가구성되고운용될때트러스트센터가임의의네트워크키를생성하고이를네트워크전체에분배한다. 네트워크키를유지, 보수하기위하여트러스트센터는기기가네트워크에참여할때나네트워크키를변경할경우에네트워크키를각기기들에게전달해주는방법을이용하게된다. 네트워크키및링크키는주기적으로갱신되어키노출로인한피해를방지한다 [3]. 2. Symmetric-Key Key-Establishment 프로토콜 ZigBee에서는 SKKE 프로토콜을이용하여두기기사이의통신에사용하는비밀키인링크키를생성한다. 이프로토콜에서는두기기 U와 V가각각생성한임의의수 QEU와 QEV를교환하고해쉬함수 (hash-function) 및키해쉬함수 (keyed-hash function) 를이용해링크키를생성한다. 또한마스터키가동일하고링크키가동일하게생성되었다는것을확인하기위한해쉬값 MacTag를서로계산하여교환한다 [3]. 이프로토콜은두기기가동일한비밀을공유한다는것을확인할수있기때문에상호인증을위한프로토콜로사용할수있다. 11
3. Entity Authentication 링크키를생성하지않고두기기사이의상호인증을수행하기위해 ZigBee 표준에서는 Entity Authentication(EA) 이라는프로토콜도제공하고있다 [3]. 이프로토콜은 SKKE 프로토콜과같은메시지교환과정을수행하나 SKKE 프로토콜과달리링크키를생성하지않고해쉬값생성과정이다르다는점에서차이를보인다. ZigBee에서이프로토콜은새로네트워크에들어온참여자기기가트러스트센터와인증을수행하고네트워크키를받은후부모라우터와참여자기기사이에신뢰성확인을위한인증에이용된다. 4. ZigBee 의인증과정및문제점 ZigBee의인증과정은트러스트센터와참여자기기가 1홉떨어져있는경우그림 5와같고, 2홉이상떨어져있는경우그림 6과같다. 그림에서 A<B> 는메시지 A를통해데이터 B가전송됨을의미한다. 또한 QEx는기기 x가생성한임의의수를의미하며, MacTag는두기기가주고받은 QEx 와이미가지고있는마스터키또는네트워크키를이용하여계산한값을의미한다. ZigBee 의인증과정에서참여자기기가네트워크에들어오면 SKKE 프로토콜을수행하여트러스트센터와참여자기기사이의상호인증및링크키생성을수행한다. 이때만약트러스트센터와참여자기기가 2홉이상떨어져있는경우두기기사이에위치한라우터들이두기기사이의메시지를라우팅한다. SKKE 프로토콜이끝나면트러스트센터는네트워크키를링크키로암호화하여참여자기기에게전송한다. 트러스트센터와참여자기기가 1홉떨어져있는경우에는여기서인증이완료되며 2홉이상떨어져있는경우참여자기기가네트워크키를수신한후에부모라우터와참여자기기가 EA 프로토콜을수행해인증과정을완료한다 [3]. 12
ZigBee 보안프로토콜에서트러스트센터와참여자기기사이에마스터키가미리설정되어있다면, 공격자는인증에성공할수없으며링크키나네트워크키를알수없어네트워크상의기기에게임의의메시지를라우팅하게할수도없다. 그러나기존 ZigBee 인증프로토콜에서는트러스트센터가 SKKE 프로토콜을시작하여 SKKE-4 메시지를수신함으로써참여자기기가트러스트센터와동일한마스터키를가지고있는지판단한다. 따라서공격자기기가인증을시도할때트러스트센터및트러스트센터와참여자기기사이에위치하는라우터들이메시지를전송하기때문에, 공격자기기가인증요청을반복한다면네트워크의전송효율이떨어지고트러스트센터나라우터가배터리를소진해네트워크일부또는전체가마비될수있다. Trust Center(T ) Joiner Device(D ) Association Request Association Response Joined (unauthenticated) SKKE-1 <QET > SKKE-2 <QED > SKKE-3 <MacTag2> SKKE-4 <MacTag1> Transport Key <Network Key(Secured)> Joined (authenticated) 그림 5. ZigBee 에서의인증과정 ( 참여자기기가트러스트센터에서 1 홉떨어진 경우 ) Figure 5. The authentication procedure of ZigBee(for 1-hop). 13
Trust Center(T ) Parent Router(R ) Joiner Device(D ) Update-Device Joined (unauthenticated) SKKE-1 <QET > SKKE-2 <QED > SKKE-3 <MacTag2> SKKE-4 <MacTag1> Transport Key <Network Key(Secured)> Joined (authenticated) Association Request Association Response EA-1 <QED '> EA-2 <QER '> EA-3 <MacTag2'> EA-4 <MacTag1'> 그림 6. ZigBee 에서의인증과정 ( 참여자기기가트러스트센터에서 2 홉떨어진 경우 ) Figure 6. The authentication procedure of ZigBee(for 2 or more hops). 14
제 5 절공개키기반의인증프로토콜 [4] 에서는 LR-WPAN에서사용가능한공개키기반의인증프로토콜을제안하였다. 이프로토콜에서는두기기가네트워크가형성되기이전에대칭키인마스터키를서로가지고있다. 기기가네트워크에참여하면각기기는공개키및비밀키를생성하며생성한공개키를마스터키로암호화하여상대방에게전송한다. 수신측에서는미리설정된마스터키를이용해공개키를얻을수있으며이공개키를이용하여메시지암호화및무결성보장을수행하게된다. 그러나공개키기반암호화및무결성보장알고리즘의경우연산이복잡하기때문에저전력, 저비용을목적으로하는 LR-WPAN에는적합하지않으며또한 IEEE 802.15.4의메시지길이인 127 bytes를넘지않는공개키기반암호화및무결성보장알고리즘이필요하게된다. 제 6 절 Parent-Child 키연결알고리즘 ZigBee 인증과정에서인증에필요한시간을줄이기위해그림 7과같은 Parent-Child 키연결알고리즘 [1] 이제안되었다. 이알고리즘은라우터와참여자기기사이에서만인증을수행하기때문에트러스트센터로데이터가전송되지않아인증반복을이용한 DoS 공격에대처할수는있다. 그러나마스터키를각기기에미리설정하는경우에각기기의마스터키가모두동일해야한다는제약이있다. 또한참여자기기가트러스트센터와인증을수행하지않아참여자기기가트러스트센터의신뢰도를알수없기때문에트러스트센터가키유지및관리작업을수행할때참여자기기가트러스트센터로부터받는정보를신뢰할수없다. 15
Trust Center(T ) Parent Router(R ) Joiner Device(D ) Association Request Association Response Joined (unauthenticated) Update-Device Permit Message SKKE-1 <QET > SKKE-2 <QED > SKKE-3 <MacTag2> SKKE-4 <MacTag1> Joined (authenticated) Transport Key <Network Key(Secured)> 그림 7. Parent-Child 알고리즘의인증과정 ( 참여자기기가트러스트센터에서 2 홉떨어진경우 ) Figure 7. The authentication procedure of Parent-Child algorithm(for 2 or more hops). 16
제 3 장제안하는인증프로토콜 본논문에서는기존의 LR-WPAN 을위한인증프로토콜에서발생할수있 는문제점을해결하고인증완료시간을줄이기위하여새로운인증프로토콜 을제안한다. 제안하는프로토콜은다음과같은가정을설정한다. ZigBee에서사용하는키인마스터키, 링크키, 네트워크키를이용한다. - 마스터키는기기인증및링크키의생성에이용한다. - 네트워크키와링크키는메시지보안및무결성보장에이용한다. 트러스트센터와참여자기기사이에는서로동일한마스터키가설정되어있다. 트러스트센터와부모라우터는네트워크키및링크키를서로알고있어둘사이에는보안이유지된통신이가능하다. 모든라우터와참여자기기는 Local Authentication Key(LAK) 를알고있다. 각기기는미리정해진비밀키기반의암호화, 무결성보장, 해쉬알고리즘을알고있으며이를통신에이용한다. 프로토콜수행중송신하는메시지에는송신자 x의기기주소 ID x (IEEE Extended Address 등 ) 를포함하여전송한다. 제안하는프로토콜에서는 LAK를이용하여참여자기기가트러스트센터와인증을수행하기전에부모라우터와참여자기기사이에인증을수행하는사전인증 (pre-authentication) 을하게되며이를통해인증요청반복을이용한 DoS 공격을방지한다. 또한, 인증에소요되는시간을줄이기위하여가능한적은수의메시지를이용하도록하였다 [15]. 제안한프로토콜사용시각기기에서생성또는계산하는주요값들은표 2와같다. 또한각기기가전송하는메시지는트러스트센터와참여자기기가 17
1홉떨어진경우그림 8과같으며, 트러스트센터와참여자기기가 2홉이상떨어진경우그림 9와같다. 트러스트센터와참여자기기가 2홉이상떨어진경우트러스트센터가참여자기기에게메시지를전송할때는부모라우터와공유한링크키와네트워크키로암호화를수행하며부모라우터가이러한메시지를받으면암호화를해제하여참여자기기에게전송한다. 각기기는프로토콜수행시메시지송신및오류처리를수행하기위해각각다른알고리즘을구동하게된다. 트러스트센터에서동작하는알고리즘의순서도는그림 10과같고, 라우터에서동작하는알고리즘의순서도는그림 11 과같으며참여자기기에서동작하는알고리즘의순서도는그림 12와같다. 각과정에서전송되는메시지포맷의예는그림 13과같다. 메시지포맷을결정할때는 IEEE 802.15.4의매체접근제어계층에서허용되는 payload의최대길이가 127 bytes이므로이를고려하여메시지포맷을결정하여야한다. 위메시지포맷과 ZigBee의응용계층및네트워크계층을이용하여인증을수행할경우에 IEEE 802.15.4의매체접근제어계층에서생성되는패킷의길이를살펴보면표 3과같다. 표 3에서모든메시지에대해매체접근제어계층에서생성되는패킷의길이가최대허용값인 127 bytes보다작으므로 IEEE 802.15.4 을이용할경우제안하는프로토콜을문제없이사용할수있다. 18
표 2. 제안한프로토콜에서사용되는주요값 Table 2. Values used in the proposed authentication protocol Value h ( ) MK LAK QER' QED' MacTag1' MacTag2' QET QED MacTag1 MacTag2 Description Hash Function Master Key Local Authentication Key 부모라우터와참여자기기사이의인증에사용하기위해부모라우터가생성한 16 bytes 길이의임의의수부모라우터와참여자기기사이의인증에사용하기위해참여자기기가생성한 16 bytes 길이의임의의수 h(lak, ID D, ID R, QED', QER') h(lak, ID R, ID D, QER', QED') 트러스트센터와참여자기기사이의인증에사용하기위해트러스트센터가생성한 16 bytes 길이의임의의수트러스트센터와참여자기기사이의인증에사용하기위해참여자기기가생성한 16 bytes 길이의임의의수 h(mk, ID D, ID T, QED, QET) h(mk, ID T, ID D, QET, QED) 19
그림 8. 제안하는인증프로토콜의정보교환 (1 홉 ) Figure 8. The information exchanges of proposed authentication protocol(for 1-hop). 20
Trust Center (T ) Parent Router(R ) Joiner Device(D ) Association Request Association Response Joined (unauthenticated) Update-Device <QED> Authentication Response <QET, MacTag2> Authentication Confirm <MacTag1> Transport-Key <Network Key(Secured)> Local Authentication Request <QER '> Local Authentication Response <QED ', MacTag1', QED> Local Authentication Confirm <MacTag2' > Joined (authenticated) 그림 9. 제안하는인증프로토콜의정보교환 (2 홉이상 ) Figure 9. The information exchanges of proposed authentication protocol(for 2 or more hops). 21
시작 대기 다른메시지를위한처리과정 다른메시지 메시지를받았다 Association Request Update-Device 참여자기기에게 Association Response 메시지전송 QET 생성 Authentication Request 메시지전송 Update-Device 안의 QED 저장 QET 생성링크키, MacTag1, MacTag2 생성 Timeout 이전에 Authentication Response 메시지를받았는가? Yes Authentication Response 메시지안의 QED 저장링크키, MacTag1, MacTag2 생성 참여자기기에게 Authentication Response 메시지전송 Timeout 이전에 Authentication Confirm 메시지를받았는가? Yes Yes 생성한 MacTag1 = 받은 MacTag1? No Yes 생성한 MacTag1 = 받은 MacTag1? No 참여자기기에게 Authentication Confirm 메시지전송 참여자기기에게 Leave-Device 메시지전송 참여자기기에게네트워크키전송 ( 링크키로암호화 ) 라우터에게 Remove-Device 메시지전송 참여자기기에게네트워크키전송 ( 링크키로암호화 ) 링크키저장 링크키저장 그림 10. 제안하는인증프로토콜의순서도 - 트러스트센터 Figure 10. The algorithm of the proposed protocol in the trust center. 22
시작 대기 다른메시지를위한처리과정 다른메시지 메시지를받았다 Remove-Device Association Request 참여자기기에게 Association Response 메시지전송 QER 생성참여자기기에게 Local Auth. Request 메시지전송 Timeout 이전에 Local Auth. Response 메시지를받았는가? Yes Local Auth. Response 메시지안의 QED', QED 저장 MacTag1', MacTag2' 생성 Yes 생성한 MacTag1' = 받은 MacTag1'? No 참여자기기에게 Local Auth. Confirm 메시지전송 참여자기기에게 Leave-Device 메시지전송 트러스트센터에게 Update-Device 메시지전송 코디네이터에게서기기로전송될메시지를받으면네트워크암호화해제후기기로전송 그림 11. 제안하는인증프로토콜의순서도 - 부모라우터 Figure 11. The algorithm of the proposed protocol in the parent router. 23
시작 Association Request 메시지전송 Association Response 메시지수신 메시지수신 Auth. Request Auth. Request 안의 QET 저장 QED 생성링크키, MacTag1, MacTag2 생성 Local. Auth Request Local. Auth Request 안의 QER 저장 QED, QED 생성 MacTag1', MacTag2' 생성 부모라우터에게 Leave-Device 메시지전송 트러스트센터에게 Auth. Response 전송 부모라우터에게 Local. Auth. Response 메시지전송 Timeout 이전에 Authentication Confirm 메시지를받았는가? No Timeout 이전에 Local Auth. Confirm 메시지를받았는가? No Yes Yes 생성한 MacTag2 = 받은 MacTag2? Yes No 생성한 MacTag2' = 받은 MacTag2'? Yes No 링크키저장 Timeout 이전에 Auth. Response 메시지를받았는가? No Timeout 이전에네트워크키수신? Yes No Yes Auth. Response 메시지의 QET 저장링크키, MacTag1, MacTag2 생성 네트워크키저장 생성한 MacTag2 = 받은 MacTag2? No Yes 트러스트센터에게 Auth. Confirm 전송 끝 그림 12. 제안하는인증프로토콜의순서도 - 참여자기기 Figure 12. The algorithm of the proposed protocol in the joiner device. 24
그림 13. 제안하는인증프로토콜에서사용하는메시지의형태예시 Figure 13. The example message format used in the proposed protocol 25
표 3. 제안하는프로토콜을 ZigBee 에적용할경우매체접근제어계층에서생 성되는패킷의크기 Table 3. The medium access control layer packet size for each message when the proposed protocol used (units : bytes) Security APS PDU APS NWK MAC Packet Message Length APS NWK Header Header Header Length Update-device 28 22 0 2 8 11 71 Authentication Request Authentication Response Authentication Response(Parent Router- Joiner Device) Authentication Confirm(Parent Router- Joiner Device) 33 22 28 2 8 11 104 49 22 28 2 8 11 120 49 0 0 2 8 11 70 33 0 0 2 8 11 54 Authentication Confirm 33 22 28 2 8 11 104 Local Authentication Request Local Authentication Response Local Authentication Confirm 35 0 0 2 8 11 56 72 0 0 2 8 11 93 22 0 0 2 8 11 43 26
제 4 장성능평가 제 1 절 Security 분석 본절에서는다양한공격유형들을고려하여제안한인증프로토콜이이 러한공격들을어떻게방어할수있는지에대해서술하여제안한프로토콜의 안전성을평가한다 [16]-[18]. 도청 (Eavesdropping) 도청은공격자가네트워크에서송수신되는메시지들을가로채어키나중요한메시지를알아내는공격기법을말한다. 제안하는프로토콜에서는마스터키, LAK가노출되지않으며각노드들은해쉬값만전송하고있다. 따라서공격자가도청을통해마스터키나 LAK를알아낼수없으며링크키를생성할수도없다. 따라서제안하는프로토콜은도청에대해안전하다. 재사용공격 (Replay attack) 재사용공격은공격자가네트워크에서송수신되는메시지를가로채어수집해두었다가공격자가이를그대로재송신하여프로토콜교란등을발생시키는공격유형이다. 제안하는프로토콜에서는한번의인증을수행할때두기기가임시로생성한임의의값을사용하여해쉬값을생성한다. 그러므로공격자가이전에사용한값을사용하여도공격대상이임의의수를새로생성하므로해쉬값이달라져공격대상이메시지가변경되었다는것을알수있기때문에공격자가이전에얻은해쉬값을사용할수없다. 따라서제안하는프로토콜은재사용공격에대해안전하다. 27
메시지변조 (Message modification) 메시지변조공격은공격자가임의로메시지의일부분을수정하여프로토콜교란등을발생시키는공격유형이다. 제안하는프로토콜은해쉬값 MacTag 를전송하므로공격대상이 MacTag를통하여메시지가변조되었는지확인할수있다. 따라서제안하는프로토콜은메시지변조에대해안전하다. 무차별공격 (Brute force attack) 기기인증과정에서공격자가임의로메시지를생성하고전송하여자신을네트워크에참여시키는방법이있을수있다. 그러나제안하는프로토콜에서는 MacTag를확인하므로 128 bits 해쉬알고리즘을사용할경우공격자가한번인증을시도했을때성공할확률이 1/2 128 이된다. 따라서사실상무차별공격이불가능하여제안하는프로토콜은무차별공격에안전하다. 제 2 절 GNY 분석 본절에서는암호화프로토콜의수행을이해하기위한체계적인방법인 GNY(Gong, Needham and Yahalom) 논리 [19] 를이용하여프로토콜의신뢰성을살펴본다. GNY 논리에서사용하는기호및규칙에대한설명은본논문의부록또는 [19] 을참고하기바란다. 정의및가정각기기는자신의기기주소 (ID x ), 자신이생성한임의의수 (QEx 또는 QEx' ), 키 ( 마스터키또는 LAK) 를가지고있다. 임의의수는세션마다각기기가생성하므로각기기는임의의수가재사용되지않았음을알고있다. 또한각기기는상대방기기가인증을수행할수있음을믿고자신이사용하는키 28
가상대방과공유된비밀이라고믿어야한다. 아래는이러한가정들을 GNY 논리로표현한것이다. - 정의 T R D ID T ID R ID D QEx QEx' MK T,D LAK 트러스트센터부모라우터참여자기기트러스트센터의기기주소부모라우터의기기주소참여자기기의기기주소기기 x 가생성한임의의수기기 x 가생성한임의의수트러스트센터와참여자기기사이의마스터키 Local Authentication Key H( ) 단방향함수 ( 해쉬함수 ) - 가정 T ID, T ID, T MK, T QET, T R T, D T #( QET), MKT, D *,, T D D T T D R ID, R ID, R ID, R LAK, R QER, T R D R #( QER'), LAK R D D *, R R D, D ID, D ID, D LAK, D MK, D R T, D 29
D QED, D QED', D #( QED), D #( QED '), MK T, D D T T *, D T D, LAK D R R *, D R D. 분석목적이프로토콜의목적은각기기가마스터키, LAK를두기기사이에서로공유하고상대방이그키를가지고있음을아는것과마스터키와 LAK가두기기사이에공유되었다는상대방의믿음을아는것이다. 아래는이러한분석목적을 GNY 논리로표현한것이다. MKT, D, T T D T D MK MKT, D, T D T D MKT, D, MKT, D, TD, LAK R R D, R D LAK, LAK R D R D, D T D D T MK D T T D, TD, LAK D R D, D R LAK, LAK D R R D., 이상화된프로토콜 GNY 논리를이용하여검증을하기위해서는프로토콜을이상화된프로토콜로표현하여야한다. 제안하는프로토콜을이상화된프로토콜로표현하면아래와같다. 1) D (* ID, * QER'). R 2) R (* H ( LAK, ID, ID, QED ', QER '), * ID,* QED, * QED '). D R D 30
3) D ( ID, * H( LAK, ID, ID, QER', QED')). R R D 4) T (* ID, * QED). D 5) D (* ID,* QET,* H ( MK, ID, ID, QET, QED)). T T, D T D 6) T ( ID,* H( MK, ID, ID, QED, QET) ). D T, D T D 해쉬값의의미확장성이프로토콜에서해쉬값은해쉬값에사용된키가송신자와수신자사이에공유된비밀이라고믿는것을의미하게된다. 따라서해쉬값은다음과같이의미가확장될수있다. Key H( Key, ID, ID, QEA, QEB) > A A B. A B 논리적분석논리적분석은이상화된프로토콜을 GNY 논리를적용하여해석하는과정이며분석을통해분석목적을확인하면프로토콜이신뢰성이있음을증명할수있다. 본증명에서는부모라우터가참여자기기의 LAK 소유여부를확인하고 LAK가두기기사이의공유된비밀임을신뢰하는과정에대해서만보이겠다. 참여자기기가트러스트센터를신뢰하는것과트러스트센터및부모라우터가참여자기기를신뢰하는것은위과정과같은방법을적용하면알수있다. 모든경우에대하여아래와같은방법을적용하여보면분석목적을모두얻을수있다. 이상화된프로토콜과정 2) 에서 T1, T2, P1, P3, P4 규칙을적용하면식 (1) 을얻는다. 31
R ID, R QED' D R H ( LAK, ID, ID, QER ', QED ') R R ( LAK, ID, ID, QER ', QED '). R D D (1) 식 (1) 은부모라우터가참여자기기의기기주소, 서로생성한임의의수 및해쉬값을가지고있음을의미한다. 식 (1) 에 R5, R6 규칙을적용하면식 (2) 를얻을수있다. R φ( LAK, ID, ID, QER', QED') R R φ( H( LAK, ID, ID, QER', QED')). R D D (2) 식 (2) 는부모라우터가메시지를인식할수있음을의미한다. 식 (2) 에 F1, F10 규칙을적용하면가정 R #( QER ') 에의해식 (3) 을얻을수있다. R #( LAK, ID, ID, QER ', QED ') R R #( H ( LAK, ID, ID, QER ', QED ')). R φ( LAK, ID, ID, QER ', QED ') R R D D D (3) 식 (3) 은각각의데이터가재사용되지않았음을의미한다. 식 (3) 에 I3, I6 규칙을적용하면식 (4) 를얻는다. R D ~( LAK, ID, ID, QER', QED') R R D ~ ( H( LAK, ID, ID, QER', QED')) R D ( LAK, ID, ID, QER', QED'). R R D D D (4) 식 (4) 는부모라우터가각데이터들이참여자기기에게서전송되었음을확인하여참여자기기를인증하였으며, 참여자기기가각데이터를가지고있다는사실을확인하였다는의미이다. 마지막으로식 (4) 에 P3, J2 규칙및합리성규칙 (rationality rule) 을적용하면 32
식 (5) 를얻는다. LAK R D LAK, R D R D. (5) 식 (5) 는참여자기기가 LAK를가지고있다는것과참여자기기가 LAK를두기기사이에공유된비밀이라고믿고있다는것을부모라우터가확신한다는의미이다. 앞서서술하였듯이, 위과정을나머지경우에대하여모두적용하여보면분석목적을모두얻을수있다. 이는각기기가모든상대방기기를믿을수있다는것을의미하므로제안하는인증프로토콜을이용할경우각기기사이의신뢰성이보장된다고할수있다. 제 3 절 DoS 공격에대한대응 본논문에서는제안한인증프로토콜의성능평가를위하여현재표준화가진행중인 ZigBee의인증프로토콜과제안한인증프로토콜을 DoS 공격에대한저항성과인증의효율성면에서비교하였다. 우선이절에서는인증프로토콜을이용한 DoS 공격이발생하였을때공격이네트워크에미치는영향에대해분석하여 DoS 공격에대한두프로토콜의저항성을알아본다. LR-WPAN에서보안을적용하는경우네트워크는키를이용한암호화및무결성보장등을통해보호되기때문에기기인증이완료되지않은기기는네트워크에서다른기기에게정보를전달할수없다. 따라서일반적인메시지전송을통해서는공격자가메시지위, 변조나 flooding과같은공격을수행할수없으며, 공격을수행하기위해서는프로토콜에서키를알아내어인증에성공하거나네트워크에서사용하는프로토콜의약점을이용하여야한다. 공격자는프로토콜의약점을이용하는방법의하나로인증과정에서발생 33
하는정보교환을이용할수있다. 만약공격자가인증과정을이용하여불필요 한정보교환을대량으로발생시킬수있다면이를이용하여네트워크를마비 시킬수있다. 따라서어떤인증프로토콜을이용할때공격자를인증하기위 해인증과정에서교환되는메시지수가많다면이는그인증프로토콜이공격 에취약함을의미한다. ZigBee 의인증프로토콜및제안한인증프로토콜이공격자를인증하기 위해필요한메시지수를분석하기위하여, 트러스트센터와공격자사이의홉 수에따라정보교환과정에서발생하는메시지교환횟수 N D 를계산한다. ZigBee 의인증프로토콜및제안하는프로토콜에서공격자를인증할경우에 발생하는정보교환과정은각각그림 14 및그림 15 와같다. ND 는정보교환 과정에서메시지전달순서 ( 그림에서화살표 ) 및전달횟수를이용하여구할 수있다. h 를트러스트센터와참여자기기사이의홉수, N D, TR 을트러스트 센터와부모라우터사이의메시지전달횟수, ND, RD 를부모라우터와참여자 기기사이의메시지전달횟수라고하면 ND 는식 (6) 으로구할수있다. N = h N + N. (6) D ( 1) DTR, DRD, 위식을이용하여 ZigBee의인증프로토콜및제안하는인증프로토콜사용시각기기들이전송하는메시지의수를합하여홉수별로나타내면그림 16과같다. 그림 16에서제안하는프로토콜은홉수가증가하여도전송하는메시지수는증가하지않음을확인할수있다. 그림 15와그림 16에서볼수있듯이제안하는인증프로토콜이인증반복을이용한공격에효과적으로대처하기때문에 DoS 공격시배터리가소모되는기기를부모라우터로만제한하고, 필요없는메시지전송을줄이며트러스트센터및전송경로에위치한라우터들의전력소모, 네트워크효율감소를유발하지않음을알수있다. 34
Trust Center Parent Router Joiner Device (Attacker) Association Request Update-Device Association Response SKKE-1 SKKE-2 Tag Check Failure SKKE-3 SKKE-4 <Invalid MacTag1> Remove-Device Leave-Command 그림 14. 공격자기기를인증할경우에 ZigBee 의인증과정에서발생하는메시 지교환 Figure 14. The information exchanges of ZigBee when DoS attack occurs. Trust Center Parent Router Joiner Device (Attacker) Association Request Association Response Tag Check Failure Local Auth. Request Local Auth. Response <Invalid MacTag1'> Leave-Command 그림 15. 공격자기기를인증할경우에제안하는인증과정에서발생하는메시 지교환 Figure 15. The information exchanges of the proposed protocol when DoS attack occurs. 35
그림 16. 공격자기기가공격을한번시도할때트러스트센터와라우터들이전송하는메시지수 Figure 16. The number of transmissions by a trust center and routers when an attacker tries to join the network. 36
제 4 절인증처리시간측정 제안하는인증프로토콜이구현가능하고기기사이의인증을수행할수있으며인증을완료하는데소요되는시간을줄일수있다는것을확인하기위하여 ZigBee 기기에 ZigBee 표준의인증프로토콜및제안한인증프로토콜을구현하고인증완료시간을비교하였다. 사용한기기는그림 17와같은 Aiji- ZDB Ver. 2.0이며구현환경은표 4와같다. 그림 17. 프로토콜구현에사용한기기 (Aiji ZDB Version 2.0) Figure 17. The device that is used in the experiments. 37
그림 18. Chipcon General Packet Sniffer 로캡쳐한패킷의모습 Figure 18. Captured packets by the Chipcon General Packet Sniffer 38
표 4. 프로토콜구현환경 Table 4. The environment used in experiments Board Aiji ZDB Version 2.0 Chipset Chipcon CC2430 (supports 802.15.4) Version of ZigBee ZigBee Release 16 [20],[21] IDE Language Sniffing tool Test environment Number of test IAR Embedded Workbench for MCS-51 Evaluation C++ Chipcon General Packet Sniffer for IEEE 802.15.4 MAC Office, line position, distance between each devices are 10m 10 for each protocol 실험을통하여그림 18과같이인증과정중기기들이주고받은메시지를얻을수있었으며, 이를통하여인증이성공적으로이루어짐을확인하고 1홉및 2홉에서실제로인증에소요되는시간을측정할수있었다. 인증에소요된시간은기존프로토콜의경우 1홉에서약 100ms, 2홉에서약 280ms였으며제안한프로토콜은 1홉에서약 90ms, 2홉에서약 215ms였다. 3홉이상의경우는라우팅과정이추가된다는것이외에는메시지교환및처리과정이 2홉과동일하기때문에측정을하지않았다. 대신에각프로토콜당약 10회의측정을통해인증시간분석에필요한값을얻었으며, 계산을통해더많은홉수에서인증을완료하는데필요한시간을분석하였다. 측정값과분석결과에대해서는제5절에서설명하도록하겠다. 39
제 5 절인증처리시간분석 제4절에서수행한측정에서다음값들을설정하고분석을위한계산을수행 하였다. 우선메시지를전송한후 acknowledgement 를받을때까지의시간 tack 는 ZigBee 의 bit rate 가 250kbps 이기때문에메시지의비트당약 1/250ms 로측정 되었다. 또한라우팅을위하여한기기에서하나의메시지를다음기기로전달하는데걸리는시간인 routing delay t rout 는약 10ms로측정되었다. 따라서 tack 및 t rout 를다음과같이설정하였다. 8bits tack = = 0.032 ms/ byte, trout = 10 ms. 250 Kbps 또한각기기가자신이목적지인메시지를 APS 계층에서처리하여다음메시지를전송할때까지걸리는시간은메시지별로달랐지만인증시에그 전체합은거의일정하였다. 따라서 processing delay t proc 는각메시지를처리하 는시간들을더하여 표 5 와같이설정하였다. 표 5. 측정된 processing delay t proc Table 5. The measured processing delay t proc Protocol Single hop Multiple hops ZigBee 95.115 ms 196.248 ms Proposed 85.414 ms 159.203 ms L RD 부모라우터와참여자기기사이에전송한메시지길이의총합을 (bytes), 트러스트센터와부모라우터사이에서트러스트센터와부모라우 터가전송한메시지길이의총합을 LTR (bytes) 이라고하면두길이는 표 3 을이 용하여구할수있다. 트러스트센터와참여자기기사이의홉수를 h, 한메 40
시지가라우팅된횟수를이라고하면인증완료시간를식 (7) 을통하 여구할수있다. N R {( ) } t = t ( h 1) N + t h 1 L + L + t (7) auth rout R ack TR RD proc 표 3식 (7) 을이용하여인증을완료하는데까지걸리는시간을홉수별로구하면그림 19와같다. 측정결과및그림 19에서알수있듯이제안하는인증프로토콜은기존인증프로토콜보다더빠르게인증을마칠수있다. 또한홉수가늘어남에따라인증완료시간이최대 30% 감소함을확인할수있었다. 이는제안하는인증프로토콜이기존인증프로토콜보다개별메시지의길이는늘어났지만교환되는메시지수가줄어들어인증과정에서의전체적인오버헤드가감소했기때문이다. t auth 41
그림 19. 인증완료시간비교 Figure 19. Estimated authentication delay. 42
제 5 장결론 본논문에서는기존의 LR-WPAN을위한인증프로토콜에서발생할수있는문제점들을해결하기위해서 LR-WPAN에서효과적으로인증을수행하는새로운인증프로토콜을제안하였다. 제안한프로토콜이안전함을 security 분석을이용하여확인하였으며신뢰성이있음을 GNY 분석으로확인하였다. 또한제안하는프로토콜이인증과정을이용한 DoS 공격에대처한다는것을확인하기위하여인증과정에서교환되는메시지수를분석하였으며제안하는프로토콜의구현가능성과효율성을확인하기위하여 LR-WPAN 기기에 ZigBee의인증프로토콜및제안하는프로토콜을구현하여인증완료시간을비교하였다. 위과정을수행하여제안하는인증프로토콜은안전성및신뢰성이확보되며, 부모라우터와참여자기기가먼저인증을수행하기때문에기존인증프로토콜에서인증과정을이용하는 DoS 공격발생시트러스트센터까지필요없는트래픽을전달하지않으므로 DoS 공격에대응함을확인할수있었다. 또한제안하는프로토콜은메시지교환횟수를줄여인증완료시간이기존의프로토콜보다홉수에따라최대 30% 감소함을확인하였다. LR-WPAN에서사용되는프로토콜은기기의연산능력과저장공간이충분하지않다는점과배터리사용효율이좋아야한다는점을고려해야한다. 제안하는프로토콜은하나의키를추가하여계층구조를이용한인증프로토콜에서발생할수있는 DoS 공격을막을수있으며안전성을확보하면서도메시지교환과정을줄여배터리사용효율이기존프로토콜보다좋아진다. 따라서제안한프로토콜을 LR-WPAN에적용한다면네트워크가더욱안전하고효율적이게될것이다. 43
참고문헌 [1] 서대열, 김진철, 김경목, 오영환, ZigBee 센서네트워크에서효율적인 Parent-Child 키연결알고리즘, 전자공학회논문지, 제 43 권 TC 편 (10), pp 45-55, 2006. [2] IEEE Computer Society, IEEE Std. 802.15.4-2003: Wireless Medium Access Control (MAC) and Physical Layer (PHY) Specification for Low Rate Wireless Personal Area Networks, October 2003. [3] ZigBee Alliance, ZigBee Specification, ZigBee Document 053474r17, October 19, 2007, Available at : http://www.zigbee.org/. [4] 김진철, 오영환, 공개키방식의 LR-WPAN 보안알고리즘, 전자공학회논문지, 제 43 권 TC 편, 제 11 호, 2006. [5] A. Perrig et al., SPINS: Security Protocols for Sensor Networks, Wireless Networks, vol. 8, no. 5, pp.521 534, September 2002. [6] S. Zhu, S. Setia, and S. Jajodia, LEAP: Efficient Security Mechanisms for Large- Scale Distributed Sensor Networks, in Proc. of 10th ACM Conference on Computer and Communications Security, New York: ACM Press, pp. 62 72, 2003. [7] M. G. Zapata, Secure Ad hoc On-Demand Distance Vector (SAODV) Routing, Internet Draft: draft-guerrero-manetsaodv-00.txt, 2002. [8] Y. C. Hu, D. B. Johnson, A. Perrige, SEAD: Secure Efficient Distance Vector Routing for mobile wireless ad hoc network, in Proc. of the 4th IEEE Workshop on Mobile Computing Systems & Applications, Giugno, 2002. 44
[9] Y. C. Hu, A. Perrig, D. Johnson, Ariadne: A secure on demand routing protocol for ad hoc networks, in Proc. of the 8th ACM International Conference on Mobile Computing and Networking, 2002. [10] 허준, 홍충선, IEEE 802.15.4 에서확인프레임을위한경량인증 메커니즘, 정보과학회논문지, 정보통신제 34 권 (3), pp. 175-185, 2007. [11] Y. Chen, W. Trappe, R. P. Martin, "Detecting and Localizing Wireless Spoofing Attacks," in Proc. of IEEE Communications Society Conference on Sensor, Mesh and Ad Hoc Communications and Networks, June 2007. [12] The Datasheet of CC2430: A True System-on-Chip solution for 2.4 GHz IEEE 802.15.4 / ZigBee(TM) (Rev. F), Texas Instruments [Online]. Available: http://focus.ti.com/docs/prod/folders/print/cc2430.html. [13] Li Gong, Increasing Availability and Security of an Authentication Service, IEEE Journal on Selected Areas in Communications, Vol. 11, No. 5, June 1993. [14] Seyit A. Camtepe, Bulent Yener, Key Distribution Mechanisms for Wireless Sensor Networks: a Survey, Technical Report, Rensselaer Polytechnic Institute, March 2005. [15] Public Key Cryptography for the Financial Services Industry Key Agreement and Key Transport Using Elliptic Curve Cryptography, ANSI X9.63-2001, November 20, 2001. [16] 이규환, 이주아, 김재현, 무선메쉬네트워크의패스워드기반인증 프로토콜, 전자공학회논문지, 제 44 권 TC 편 (5), pp. 54-62, 2007. 45
[17] J. Zheng, M. J. Lee, M. Anshel, Toward Secure Low Rate Wireless Personal Area Networks, IEEE Transaction on Mobile Computing, Oct. 2006. [18] Y. Wang, G. Attebury, B. Ramamurthy, A Survey of Security Issues in Wireless Sensor Networks, IEEE Communications Surveys & Tutorials, Volume 8, Issue 2, Second Quarter, pp. 2-23, 2006. [19] L. Gong, R. Needham, and R. Yahalom, Reasoning about Belief in Cryptographic Protocols, in Proc. of IEEE Symposium on Research in Security and Privacy, pp. 234-248, Oakland, CA, May 1990. [20] ZigBee Alliance, ZigBee Specification, ZigBee Document 053474r16, ZigBee Alliance, May 31, 2007. [21] ZigBee Alliance, ZigBee PRO Test Cases Platform Test Specification, ZigBee Document 075035r02ZB, October 8, 2007. 46
부록 I. GNY 분석방법 1. 목적 GNY 분석은 [19] 에서 Li Gong, Roger Needgam, Raphael Yahalom이제안한방법으로보안프로토콜이프로토콜의목적을달성할수있는지확인하기위한분석방법이다. 이프로토콜은식 (formulae), 상태문 (statements), 규칙 (rules) 으로구성된다. 부록에서는 GNY 분석의식, 상태문, 규칙중본논문에서사용되었던것에대하여만서술한다. 자세한내용은 [19] 를참고하기바란다. 2. 분석대상프로토콜의모델 (model) 네트워크상에는통신링크로연결된 state-machine과같은주체 (principals) 가분산되어존재하고있다. 각기기는링크에메시지를전송할수있으며링크에존재하는메시지의수신, 변경이가능하다. 실행 (run) : 특정한프로토콜의수행을말한다. 세션 (session) : 한번의프로토콜수행을세션이라고한다. 각주체는다음두가지의집합을갖는다. - 신뢰집합 (belief set) : 주체가얻은믿음이포함된다. - 소유집합 (possession set) : 주체가얻은식이포함된다. 각주체는초기신뢰집합및소유집합을가지고시작하여메시지를받을때마다규칙을이용하여두집합을확장한다. 신뢰집합및소유집합은다른세션의그것과공유되지않는다. 47
3. 관념및기호법 (Notions and notations) 3.1. 식 (formulae) 식은비트열 (bit string) 을나타내며각실행마다특정값을나타내게된다. 특히식중에서 shared secret과 encryption key는각각 S와 K로나타낸다. X, Y를식이라고하였을때다음도역시식이다. (X, Y) 두식을붙임 (conjunction), ( 결합법칙과교환법칙이성립 ) H(X) X 를입력으로하는단방향함수. X 를알면 H(X) 를계산 가능하지만 H(X) 를안다고하여도 X 를계산해낼수없 으며 X X ' 이지만 H( X) = H( X ') 인경우는없다. 3.2. 상태문 (statements) P 와 Q 를주체라고하고, C 를상태문이라고하면다음은기본적인 상태문을나타낸다. P X P 가 X 를수신 P X P 가 X 를소유. 다른식을이용하여 X 를계산가능함 P ~ X P 가 X 를전송 P #( X) P 는 X 가재사용되지않았음을믿음 P φ( X) P 는 X 를알아볼수있다 ( 메시지포맷, 규칙등을이용 ) S P P Q P 는 S 가 P 와 Q 사이에공유된비밀임을믿음 P C P 는상태문 C 가성립함을믿음 3.3. 식의외부출처표시 자신이송신하지않았던식은앞에별표 (*) 를함으로써자신이 송신하지않았던식임을나타낸다. 예를들어 송신하지않았던식 X 를받았음을의미한다. P * X 는 P 가자신이 48
4. 규칙 (Rules) A ~ E를식또는상태문이라고하였을때규칙은아래와같이표현되며이표현은 A, B, C가성립되었을때 D, E를얻을수있음을나타낸다. ABC,, D, E 4.1. 수신규칙 (Being-Told Rules) T1 T2 P * X P X P ( X, Y) P X 4.2. 소유규칙 (Possession Rules) P1 P3 P4 P X P X P ( X, Y) P X P X P H( X) 4.3. Freshness 규칙 (Freshness Rules) * P #( X, Y) denotes P #( X) or P #( Y) F1 F10 P #( X) P #( X, Y), P #( F( X)) P #( X), P X P #( H( X)) 49
4.4. 인식가능성규칙 (Recognizability Rules) R5 R6 P φ( X), P X P φ( H( X)) P H( X) P φ( X) 4.5. 메시지해석규칙 (Message Interpretation Rules) I3 I6 S P * H( X, < S > ), P ( X, S), P P Q, P #( X, S) P Q ~( X, < S > ), P Q ~ H( X, < S > ) P Q ~ X, P #( X) P Q X 4.6. 권한규칙 (Jurisdiction Rules) J2 P Q Q *, P Q ~( X ~ > C), P #( X) P Q C 4.7. 합리성규칙 (Rationality Rules) C, C 1 2가식또는상태문이고 C P C 1 C 가규칙일경우 1 2 P C2 도성립한다. 5. 적용방법 5.1. 가정 (Assumption) 설정 가정설정에서는프로토콜초기에가정하는내용을식으로나타낸다. 예를들어각주체사이의기본적인신뢰관계를설정하거나각주체가 스스로생성하는임의의수와같은것들이가정설정에들어갈수있다. 50
이가정설정에서초기신뢰집합및소유집합이결정된다. 5.2. 분석목적 (Goal) 설정분석목적설정에서는프로토콜을수행하여각주체가최종적으로얻어야하는신뢰집합을설정한다. 분석이의미를갖기위해서분석목적은각주체가신뢰를얻기위해필요한최소한의조건을설정하여야한다. 5.3. 프로토콜의이상화 (Idealization of protocol) 프로토콜의이상화는프로토콜수행시발생하는메시지교환을 GNY 논리로표현하는과정이다. 프로토콜을수행과정에서메시지를받는주체의순서에따라그주체가받는메시지를 GNY 논리로표현한다. 예를들어, Q가 P에게 N q 를전송하는경우는다음과같이표현된다. P * N q 5.4. 논리적분석 (Logical analysis) 논리적분석은이상화된프로토콜의각메시지수신과정에수행결과, 가정및규칙을적용하여새로운식을생성하고소유집합및신뢰집합에이를넣는과정이다. 5.5. 분석의완료논리분석과정을수행하여목표설정과정에서설정한식을모두얻을수있으면프로토콜의분석이종료된다. 목표설정과정에서적합한목표를설정하였다면여기서프로토콜이신뢰성이있음을확인할수있다. 51
Abstract This paper proposes a new authentication protocol for the LR-WPAN. In order to guarantee the reliability and safety of a protocol, this protocol uses the hierarchical authentication approach. In addition, in order to reduce the impact of the denial of service attack, the proposed protocol performs the authentication between a parent router and a joiner device prior to the authentication between a trust center and the joiner device. Moreover, this protocol reduces the authentication delay by decreasing the number of message exchanges during authentication procedure. This paper evaluates the safety of the proposed protocol by the security analysis and reliability of the proposed protocol by the GNY analysis. This paper also compares the number of message exchanges of the ZigBee authentication protocol and the proposed protocol when denial of service attack occurs to evaluate the resistance of the proposed protocol against the denial of service attack. We also analyze the delay for authentication of the joiner device through the implementation of both protocols. Those results show that the proposed protocol effectively protects networks from the denial of service attack and reduces the time for authenticating the joiner device up to maximum 30% as the number of hops increases. 52