LR-WPAN 에서 사전인증기법을 이용한 기기 인증...

63
工學 碩士學位 論文 LR-WPAN 에서 사전인증기법을 이용한 기기 인증 프로토콜 Device Authentication Protocol for LR-WPAN using Pre-Authentication Mechanism 亞州大學校 大學院 電 子 工 學 科

Transcript of LR-WPAN 에서 사전인증기법을 이용한 기기 인증...

工學 碩士學位 論文

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 tproc .............................................................................. 40

vii

viii

약 어 표

AAA Authentication, Authorization, and Accounting AES Advanced Encryption Standard AES-CBC-MAC Advanced Encryption Standard – Cipher Block Chaining

– Message Authentication Code Mode AES-CCM* Advanced Encryption Standard – Modified Counter with Cipher

Block Chaining Message Authentication Code Mode AES-CTR Advanced Encryption Standard – Counter Mode AES-MMO Advanced Encryption Standard – Matyas-Meyer-Oseas Mode DoS Denial of Service EA Entity Authentication HMAC Keyed Hash Message Authentication Code LAK Local Authentication Key LEAP Localized Encryption and Authentication Protocol LR-WPAN Low-Rate Wireless Personal Area Network MAC Message Authentication Code MANET Mobile Ad-hoc Network SAODV Secure Ad hoc On Demand Vector SEAD Secure Efficient Ad hoc Distance vector routing protocol SKKE Symmetric-Key Key-Establishment SPINS Security Protocols for Sensor Networks

제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

Physical(PHY) Layer

Medium Access Control(MAC) Layer

Network(NWK) Layer

Application Support Sublayer(APS)

Application Framework ZigBee Device Object(ZDO)

ZDO

Man

agem

ent

Plan

eSecurity Service Provider

Application Object 240

Application Object 1

Endpoint 240 APSDE-SAP

Endpoint 1 APSDE-SAP

Endpoint 0 APSDE-SAP

ZDO

Pub

lic

Inte

rface

s

AP

SM

E-S

AP

NLM

E-

SA

P

NLME-SAPNLDE-SAP

MLDE-SAP MLME-SAP

PLME-SAPPLDE-SAP

APS Security Management

APS Message Broker

Reflector Management

Security Management

Message Broker

Routing Management

Network Management

2.4 GHz Radio 868/915 MHz Radio

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 메시지를 수신함으로써 참여자 기기가 트러스트

센터와 동일한 마스터키를 가지고 있는지 판단한다. 따라서 공격자 기기가 인

증을 시도할 때 트러스트 센터 및 트러스트 센터와 참여자 기기 사이에 위치

하는 라우터들이 메시지를 전송하기 때문에, 공격자 기기가 인증 요청을 반복

한다면 네트워크의 전송 효율이 떨어지고 트러스트 센터나 라우터가 배터리를

소진해 네트워크 일부 또는 전체가 마비될 수 있다.

Association Response

SKKE-1 <QET >

SKKE-2 <QED >

SKKE-3 <MacTag2>

SKKE-4 <MacTag1>

Transport Key<Network Key(Secured)>

Association Request

Trust Center(T ) Joiner Device(D )

Joined (unauthenticated)

Joined (authenticated)

그림 5. ZigBee 에서의 인증과정(참여자 기기가 트러스트 센터에서 1 홉 떨어진

경우)

Figure 5. The authentication procedure of ZigBee(for 1-hop).

13

Association Response

Update-Device

SKKE-1 <QET >

SKKE-2 <QED >

SKKE-3 <MacTag2>

SKKE-4 <MacTag1>

Transport Key<Network Key(Secured)>

Association Request

EA-1 <QED '>

EA-2 <QER '>

EA-3 <MacTag2'>

EA-4 <MacTag1'>

Trust Center(T ) Parent Router(R ) Joiner Device(D )

Joined (unauthenticated)

Joined (authenticated)

그림 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

Association Response

Update-Device

SKKE-1 <QET >

SKKE-2 <QED >

SKKE-3 <MacTag2>

SKKE-4 <MacTag1>

Transport Key<Network Key(Secured)>

Association Request

Trust Center(T ) Parent Router(R ) Joiner Device(D )

Joined (unauthenticated)

Joined (authenticated)

Permit Message

그림 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의 기기 주소 IDx (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 Description

h ( ) Hash Function

MK Master Key

LAK Local Authentication Key

QER' 부모 라우터와 참여자 기기 사이의 인증에 사용하기 위해 부모 라우터가 생성한 16 bytes 길이의 임의의 수

QED' 부모 라우터와 참여자 기기 사이의 인증에 사용하기 위해 참여자 기기가 생성한 16 bytes 길이의 임의의 수

MacTag1' h(LAK, IDD, IDR, QED', QER')

MacTag2' h(LAK, IDR, IDD, QER', QED')

QET 트러스트 센터와 참여자 기기 사이의 인증에 사용하기 위해 트러스트 센터가 생성한 16 bytes 길이의 임의의 수

QED 트러스트 센터와 참여자 기기 사이의 인증에 사용하기 위해 참여자 기기가 생성한 16 bytes 길이의 임의의 수

MacTag1 h(MK, IDD, IDT, QED, QET)

MacTag2 h(MK, IDT, IDD, QET, QED)

19

그림 8. 제안하는 인증 프로토콜의 정보 교환(1 홉)

Figure 8. The information exchanges of proposed authentication protocol(for 1-hop).

20

Update-Device<QED>

Authentication Response<QET, MacTag2>

Local Authentication Response<QED ', MacTag1', QED>

Authentication Confirm<MacTag1>

Transport-Key<Network Key(Secured)>

Association Request

Local Authentication Confirm<MacTag2' >

Association Response

Trust Center (T ) Parent Router(R ) Joiner Device(D )

Local Authentication Request<QER '>

Joined (unauthenticated)

Joined (authenticated)

그림 9. 제안하는 인증 프로토콜의 정보 교환(2 홉 이상)

Figure 9. The information exchanges of proposed authentication protocol(for 2 or more

hops).

21

시작

대기

메시지를 받았다

참여자 기기에게 Association Response 메시지 전송

QET 생성Authentication Request 메시지

전송

Timeout 이전에 Authentication Response 메시지를 받았는가?

Authentication Response 메시지 안의 QED 저장

링크키, MacTag1, MacTag2 생성

다른 메시지를 위한 처리과정

참여자 기기에게 Authentication

Confirm 메시지 전송

참여자 기기에게 네트워크 키 전송(링크키로 암호화)

링크키 저장

Update-Device 안의 QED 저장QET 생성

링크키, MacTag1, MacTag2 생성

참여자 기기에게 Authentication Response 메시지 전송

Timeout 이전에 Authentication Confirm 메시지를 받았는가?

생성한 MacTag1 = 받은

MacTag1 ?

생성한 MacTag1 = 받은

MacTag1 ?

참여자 기기에게 Leave-Device 메시지 전송

참여자 기기에게 네트워크 키 전송(링크키로 암호화)

링크키 저장

라우터에게 Remove-Device 메시지 전송

다른 메시지

Update-Device

Association Request

Yes

Yes

NoYes

YesNo

그림 10. 제안하는 인증 프로토콜의 순서도 - 트러스트 센터

Figure 10. The algorithm of the proposed protocol in the trust center.

22

시작

대기

메시지를 받았다

참여자 기기에게 Association Response 메시지 전송

QER’ 생성참여자 기기에게 Local Auth.

Request 메시지 전송

Timeout 이전에 Local Auth. Response 메시지를 받았는가?

Local Auth. Response 메시지 안의 QED', QED 저장

MacTag1', MacTag2' 생성

다른 메시지를 위한 처리과정

참여자 기기에게 Local Auth. Confirm 메시지 전송

트러스트 센터에게 Update-Device 메시지 전송

생성한 MacTag1' = 받은 MacTag1' ?

참여자 기기에게 Leave-Device 메시지 전송

다른 메시지

Association Request

Yes

NoYes

코디네이터에게서 기기로 전송될 메시지를 받으면 네트워크 암호화 해제후 기기로 전송

Remove-Device

그림 11. 제안하는 인증 프로토콜의 순서도 - 부모 라우터

Figure 11. The algorithm of the proposed protocol in the parent router.

23

시작

메시지 수신

트러스트 센터에게Auth. Response 전송

Timeout 이전에 Authentication Confirm 메시지를 받았는가?

링크키 저장

Local. Auth Request 안의 QER’ 저장QED’, QED 생성

MacTag1', MacTag2' 생성

부모 라우터에게 Local. Auth. Response 메시지 전송

Timeout 이전에 Local Auth. Confirm 메시지를 받았는가?

생성한 MacTag2 = 받은

MacTag2 ?

생성한 MacTag2' = 받은 MacTag2' ?

부모 라우터에게 Leave-Device 메시지 전송

Auth. Request

YesYes

Yes Yes

Association Request 메시지 전송Association Response 메시지 수신

Local. Auth Request

Auth. Request 안의 QET 저장QED 생성

링크키, MacTag1, MacTag2 생성

Timeout 이전에 네트워크 키 수신?

네트워크 키 저장

Timeout 이전에 Auth. Response 메시지를

받았는가?

Auth. Response 메시지의 QET 저장링크키, MacTag1, MacTag2 생성

생성한 MacTag2 = 받은 MacTag2 ?

트러스트 센터에게 Auth. Confirm 전송

Yes

Yes

Yes

No

No

No

No

No

No

No

그림 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)

Message APS PDU Length

Security APS

HeaderNWK

HeaderMAC

Header Packet Length APS NWK

Update-device 28 22 0 2 8 11 71

Authentication Request 33 22 28 2 8 11 104

Authentication Response 49 22 28 2 8 11 120

Authentication Response(Parent Router-Joiner Device)

49 0 0 2 8 11 70

Authentication Confirm(Parent Router-Joiner Device)

33 0 0 2 8 11 54

Authentication Confirm 33 22 28 2 8 11 104

Local Authentication Request 35 0 0 2 8 11 56

Local Authentication Response 72 0 0 2 8 11 93

Local Authentication Confirm 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/2128이 된다. 따라서 사실상 무차별 공격이

불가능하여 제안하는 프로토콜은 무차별 공격에 안전하다.

제2절 GNY 분석

본 절에서는 암호화 프로토콜의 수행을 이해하기 위한 체계적인 방법인

GNY(Gong, Needham and Yahalom) 논리[19]를 이용하여 프로토콜의 신뢰성을 살

펴본다. GNY 논리에서 사용하는 기호 및 규칙에 대한 설명은 본 논문의 부록

또는 [19]을 참고하기 바란다.

정의 및 가정

각 기기는 자신의 기기 주소(IDx), 자신이 생성한 임의의 수(QEx 또는

QEx' ), 키(마스터키 또는 LAK)를 가지고 있다. 임의의 수는 세션마다 각 기기

가 생성하므로 각 기기는 임의의 수가 재사용 되지 않았음을 알고 있다. 또한

각 기기는 상대방 기기가 인증을 수행할 수 있음을 믿고 자신이 사용하는 키

28

가 상대방과 공유된 비 이라고 믿어야 한다. 아래는 이러한 가정들을 GNY

논리로 표현한 것이다.

- 정의

T 트러스트 센터

R 부모 라우터

D 참여자 기기

IDT 트러스트 센터의 기기주소

IDR 부모 라우터의 기기 주소

IDD 참여자 기기의 기기주소

QEx 기기 x 가 생성한 임의의 수

QEx' 기기 x 가 생성한 임의의 수

MKT,D 트러스트 센터와 참여자 기기 사이의 마스터키

LAK Local Authentication Key

H( ) 단방향함수(해쉬함수)

- 가정

,

,, , ,| #( ),

| | | *, | ,T D

T R T D

MK

T ID T ID T MK T QETT QET

T D D T T D

≡ ⇒ ≡ ≡ ←⎯⎯→

∋ ∋ ∋ ∋ ,

,

, , , ,| #( '),| | | *, | ,

T R D

LAK

R ID R ID R ID R LAK R QERR QERR D D R R D≡

≡ ⇒ ≡ ≡ ←⎯⎯→

∋ ∋ ∋ ∋ ∋

,, , , ,D R TD ID D ID D LAK D MK∋ ∋ ∋ ∋ D

29

,

, ' ,| #( ), | #( '),

| | | *, || | | *, | .

T DMK

LAK

D QED D QEDD QED D QED

D T T D T DD R R D R D

≡ ≡

≡ ⇒ ≡ ≡ ←⎯⎯→

≡ ⇒ ≡ ≡ ←⎯⎯→

∋ ∋

,

,

,

,

,

분석 목적

이 프로토콜의 목적은 각 기기가 마스터키, LAK를 두 기기 사이에 서로

공유하고 상대방이 그 키를 가지고 있음을 아는 것과 마스터키와 LAK가 두

기기 사이에 공유되었다는 상대방의 믿음을 아는 것이다. 아래는 이러한 분석

목적을 GNY 논리로 표현한 것이다.

,

,

,

,

,

,

| , |

| | ,| , || | ,

| , |

| | ,| , || | .

T D

T D

T D

T D

MKT D

MK

LAK

LAK

MKT D

MK

LAK

LAK

T T D T D MK

T D T DR R D R D LAKR D R D

D T D D T MK

D T T DD R D D R LAKD R R D

≡ ←⎯⎯→ ≡

≡ ≡ ←⎯⎯→

≡ ←⎯⎯→ ≡

≡ ≡ ←⎯⎯→

≡ ←⎯⎯→ ≡

≡ ≡ ←⎯⎯→

≡ ←⎯⎯→ ≡

≡ ≡ ←⎯⎯→

이상화된 프로토콜

GNY 논리를 이용하여 검증을 하기 위해서는 프로토콜을 이상화된 프로토

콜로 표현하여야 한다. 제안하는 프로토콜을 이상화된 프로토콜로 표현하면 아

래와 같다.

1) . (* , * ')RD ID QER◁

2) (* ( , , , ', '), * ,* , * ')D R DR H LAK ID ID QED QER ID QED QED◁ .

30

3) . ( , * ( , , , ', '))R R DD ID H LAK ID ID QER QED◁

4) . (* , * )DT ID QED◁

5) . ,(* , * , * ( , , , , ))T T D T DD ID QET H MK ID ID QET QED◁

6) . ,( , * ( , , , , )D T D T DT ID H MK ID ID QED QET◁ )

)

해쉬값의 의미 확장성

이 프로토콜에서 해쉬값은 해쉬값에 사용된 키가 송신자와 수신자 사이에

공유된 비 이라고 믿는 것을 의미하게 된다. 따라서 해쉬값은 다음과 같이 의

미가 확장될 수 있다.

( , , , ,A BH Key ID ID QEA QEB ∼> | .KeyA A B≡ ←⎯⎯→

논리적 분석

논리적 분석은 이상화된 프로토콜을 GNY 논리를 적용하여 해석하는 과정

이며 분석을 통해 분석 목적을 확인하면 프로토콜이 신뢰성이 있음을 증명할

수 있다. 본 증명에서는 부모 라우터가 참여자 기기의 LAK 소유 여부를 확인

하고 LAK가 두 기기 사이의 공유된 비 임을 신뢰하는 과정에 대해서만 보이

겠다. 참여자 기기가 트러스트 센터를 신뢰하는 것과 트러스트 센터 및 부모

라우터가 참여자 기기를 신뢰하는 것은 위 과정과 같은 방법을 적용하면 알

수 있다. 모든 경우에 대하여 아래와 같은 방법을 적용하여 보면 분석 목적을

모두 얻을 수 있다.

이상화된 프로토콜 과정 2)에서 T1, T2, P1, P3, P4 규칙을 적용하면 식 (1)을

얻는다.

31

, '( , , , ', ')

( , , , ', ').

D

R D

R D

R ID R QEDR H LAK ID ID QER QEDR LAK ID ID QER QED

∋ ∋

(1)

식 (1)은 부모 라우터가 참여자 기기의 기기 주소, 서로 생성한 임의의 수

및 해쉬값을 가지고 있음을 의미한다. 식 (1) 에 R5, R6규칙을 적용하면 식 (2)

를 얻을 수 있다.

| ( , , , ', ')| ( ( , , , ', ')).

R D

R D

R LAK ID ID QER QEDR H LAK ID ID QER QED

φφ

≡≡

(2)

식 (2)는 부모 라우터가 메시지를 인식할 수 있음을 의미한다. 식 (2)에 F1,

F10 규칙을 적용하면 가정 | #( ')R QER≡ 에 의해 식(3)을 얻을 수 있다.

| #( , , , ', ')| #( ( , , , ', ')).| ( , , , ', ')

R D

R D

R D

R LAK ID ID QER QEDR H LAK ID ID QER QEDR LAK ID ID QER QEDφ

≡≡≡

(3)

식 (3)은 각각의 데이터가 재사용되지 않았음을 의미한다. 식 (3)에 I3, I6

규칙을 적용하면 식 (4)를 얻는다.

| |~ ( , , , ', ')| |~ ( ( , , , ', '))| ( , , , ', ').

R D

R D

R D

R D LAK ID ID QER QEDR D H LAK ID ID QER QEDR D LAK ID ID QER QED

≡≡≡ ∋

(4)

식 (4)는 부모 라우터가 각 데이터들이 참여자 기기에게서 전송되었음을

확인하여 참여자 기기를 인증하였으며, 참여자 기기가 각 데이터를 가지고 있

다는 사실을 확인하였다는 의미이다.

마지막으로 식 (4)에 P3, J2 규칙 및 합리성 규칙(rationality rule)을 적용하면

32

식 (5)를 얻는다.

| , | | LAKR D LAK R D R D≡ ≡ ≡ ←⎯ →∋ ⎯ . (5)

식 (5)는 참여자 기기가 LAK를 가지고 있다는 것과 참여자 기기가 LAK를

두 기기 사이에 공유된 비 이라고 믿고 있다는 것을 부모 라우터가 확신한다

는 의미이다.

앞서 서술하였듯이, 위 과정을 나머지 경우에 대하여 모두 적용하여 보면

분석 목적을 모두 얻을 수 있다. 이는 각 기기가 모든 상대방 기기를 믿을 수

있다는 것을 의미하므로 제안하는 인증 프로토콜을 이용할 경우 각 기기 사이

의 신뢰성이 보장된다고 할 수 있다.

제3절 DoS 공격에 대한 대응

본 논문에서는 제안한 인증 프로토콜의 성능평가를 위하여 현재 표준화가

진행중인 ZigBee의 인증 프로토콜과 제안한 인증 프로토콜을 DoS 공격에 대한

저항성과 인증의 효율성 면에서 비교하였다. 우선 이 절에서는 인증 프로토콜

을 이용한 DoS 공격이 발생하였을 때 공격이 네트워크에 미치는 영향에 대해

분석하여 DoS 공격에 대한 두 프로토콜의 저항성을 알아본다.

LR-WPAN에서 보안을 적용하는 경우 네트워크는 키를 이용한 암호화 및

무결성 보장 등을 통해 보호되기 때문에 기기 인증이 완료되지 않은 기기는

네트워크에서 다른 기기에게 정보를 전달할 수 없다. 따라서 일반적인 메시지

전송을 통해서는 공격자가 메시지 위, 변조나 flooding과 같은 공격을 수행할

수 없으며, 공격을 수행하기 위해서는 프로토콜에서 키를 알아내어 인증에 성

공하거나 네트워크에서 사용하는 프로토콜의 약점을 이용하여야 한다.

공격자는 프로토콜의 약점을 이용하는 방법의 하나로 인증과정에서 발생

33

하는 정보교환을 이용할 수 있다. 만약 공격자가 인증과정을 이용하여 불필요

한 정보교환을 대량으로 발생시킬 수 있다면 이를 이용하여 네트워크를 마비

시킬 수 있다. 따라서 어떤 인증 프로토콜을 이용할 때 공격자를 인증하기 위

해 인증과정에서 교환되는 메시지 수가 많다면 이는 그 인증 프로토콜이 공격

에 취약함을 의미한다.

ZigBee의 인증 프로토콜 및 제안한 인증 프로토콜이 공격자를 인증하기

위해 필요한 메시지 수를 분석하기 위하여, 트러스트 센터와 공격자 사이의 홉

수에 따라 정보 교환 과정에서 발생하는 메시지 교환 횟수 DN 를 계산한다.

ZigBee의 인증 프로토콜 및 제안하는 프로토콜에서 공격자를 인증할 경우에

발생하는 정보 교환 과정은 각각 그림 14 및 그림 15와 같다. DN

,

는 정보 교환

과정에서 메시지 전달 순서(그림에서 화살표) 및 전달 횟수를 이용하여 구할

수 있다. 를 트러스트 센터와 참여자 기기 사이의 홉 수, h D TRN 을 트러스트

센터와 부모 라우터 사이의 메시지 전달 횟수, ,D RDN 를 부모 라우터와 참여자

기기 사이의 메시지 전달 횟수라고 하면 DN 는 식 (6)으로 구할 수 있다.

,( 1) ,D D TR D RDN h N N= − × + . ( 6 )

위 식을 이용하여 ZigBee의 인증 프로토콜 및 제안하는 인증 프로토콜 사

용 시 각 기기들이 전송하는 메시지의 수를 합하여 홉 수 별로 나타내면 그림

16과 같다. 그림 16에서 제안하는 프로토콜은 홉 수가 증가하여도 전송하는 메

시지 수는 증가하지 않음을 확인할 수 있다. 그림 15와 그림 16에서 볼 수 있

듯이 제안하는 인증 프로토콜이 인증 반복을 이용한 공격에 효과적으로 대처

하기 때문에 DoS 공격 시 배터리가 소모되는 기기를 부모 라우터로만 제한하

고, 필요 없는 메시지 전송을 줄이며 트러스트 센터 및 전송 경로에 위치한 라

우터들의 전력 소모, 네트워크 효율 감소를 유발하지 않음을 알 수 있다.

34

Trust Center Parent Router Joiner Device(Attacker)

Association ResponseUpdate-Device

SKKE-1

SKKE-2

Association Request

SKKE-3SKKE-4

<Invalid MacTag1>

Remove-DeviceLeave-Command

Tag Check Failure

그림 14. 공격자 기기를 인증할 경우에 ZigBee 의 인증과정에서 발생하는 메시

지 교환

Figure 14. The information exchanges of ZigBee when DoS attack occurs.

Association Response

Local Auth. RequestLocal Auth. Response<Invalid MacTag1'>

Association Request

Tag Check Failure

Leave-Command

Trust Center Parent Router Joiner Device(Attacker)

그림 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 IAR Embedded Workbench for MCS-51 Evaluation

Language C++

Sniffing tool Chipcon General Packet Sniffer for IEEE 802.15.4 MAC

Test environment Office, line position, distance between each devices are 10m

Number of test 10 for each protocol

실험을 통하여 그림 18과 같이 인증과정 중 기기들이 주고받은 메시지를

얻을 수 있었으며, 이를 통하여 인증이 성공적으로 이루어짐을 확인하고 1홉

및 2홉에서 실제로 인증에 소요되는 시간을 측정할 수 있었다. 인증에 소요된

시간은 기존 프로토콜의 경우 1홉에서 약 100ms, 2홉에서 약 280ms였으며 제안

한 프로토콜은 1홉에서 약 90ms, 2홉에서 약 215ms였다.

3홉 이상의 경우는 라우팅 과정이 추가된다는 것 이외에는 메시지 교환

및 처리 과정이 2홉과 동일하기 때문에 측정을 하지 않았다. 대신에 각 프로토

콜 당 약 10회의 측정을 통해 인증 시간 분석에 필요한 값을 얻었으며, 계산을

통해 더 많은 홉 수에서 인증을 완료 하는데 필요한 시간을 분석하였다. 측정

값과 분석 결과에 대해서는 제5절에서 설명하도록 하겠다.

39

제5절 인증 처리 시간 분석

제4

다음과

절에서 수행한 측정에서 다음 값들을 설정하고 분석을 위한 계산을 수행

하였다. 우선 메시지를 전송한 후 acknowledgement를 받을 때까지의 시간 ackt

ZigBee의 bit rate가 250kbps이기 때문에 메시지의 비트당 약 1/250ms로 측정

되었다. 또한 라우팅을 위하여 한 기기에서 하나의 메시지를 다음 기기로 전달

하는데 걸리는 시간인 routing delay routt 는 10ms로 측정되었다. 따라서 ackt 및

를 같이 설정하였다.

routt

8bits 0.032 /250Kbpsackt ms byte 10routt m= = s, = .

또한 각 기기가 자신이 목적지인 메시지를 APS 계층에서 처리하여 다음

메시지를 전송할 때까지 걸리는 시간은 메시지 별로 달랐지만 인증 시에 그

전체 합은 거의 일정하였다. 따라서 processing delay 는 각 메시지를 처리하

는 시간들을 더하여

proct

표 5와 같이 설정하였다.

표 5. 측정된 processing delay tproc

Table 5. The measured processing delay tproc

Protocol Single hop Multiple hops

ZigBee 95.115 ms 196.248 ms

Proposed 85.414 ms 159.203 ms

부모 라우터와 참여자 기기 사이에 전송한 메시지 길이의 총합을

(bytes), 트러스트 센터와 부모 라우터 사이에서 트러스트 센터와 부모 라우

터가 전송한 메시지 길이의 총합을 (bytes)이라고 하면 두 길이는

RDL

TRL 표 3을 이

용하여 구할 수 있다. 트러스트 센터와 참여자 기기 사이의 홉 수를 , 한 메h

40

시지가 라우팅 된 횟수를 이라고 하면 인증 완료 시간 를 식 (7)을 통하

여 구할 수 있다.

RNautht

( ){ }( 1h ) 1auth rout R ack TR RD proct t N t h L L t= × − × + × − × + (7) +

표 3식 (7)을 이용하여 인증을 완료하는 데까지 걸리는 시간을 홉 수 별로 구

하면 그림 19와 같다. 측정 결과 및 그림 19에서 알 수 있듯이 제안하는 인증

프로토콜은 기존 인증 프로토콜보다 더 빠르게 인증을 마칠 수 있다. 또한 홉

수가 늘어남에 따라 인증 완료 시간이 최대 30% 감소함을 확인할 수 있었다.

이는 제안하는 인증 프로토콜이 기존 인증 프로토콜보다 개별 메시지의 길이

는 늘어났지만 교환되는 메시지 수가 줄어들어 인증과정에서의 전체적인 오버

헤드가 감소했기 때문이다.

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를 알아볼 수 있다(메시지 포맷, 규칙 등을 이용)

| SP P Q≡ ←⎯→ P는 S가 P와 Q사이에 공유된 비 임을 믿음

|P C≡ P는 상태문 C가 성립함을 믿음

3.3. 식의 외부 출처 표시

자신이 송신하지 않았던 식은 앞에 별표(*)를 함으로써 자신이

송신하지 않았던 식임을 나타낸다. 예를 들어 는 P 가 자신이

송신하지 않았던 식 X를 받았음을 의미한다.

*P X◁

48

4. 규칙(Rules)

A ~ E를 식 또는 상태문이라고 하였을 때 규칙은 아래와 같이

표현되며 이 표현은 A, B, C가 성립되었을 때 D, E를 얻을 수 있음을

나타낸다.

, ,,

A B CD E

4.1. 수신 규칙(Being-Told Rules)

T1 P XP X◁*

T2 ( , )P X Y

P X◁

4.2. 소유 규칙(Possession Rules)

P1 P XP X◁

P3 , )P X YP X∋(

P4 ( )P X

P H X∋

4.3. Freshness 규칙(Freshness Rules)

* denotes or | #( , )P X Y≡ | #( )P X≡ | #( )P Y≡

F1 | #( )

| #( , ), | #( ( ))P X

P X Y P F X≡

≡ ≡

F10 | #( ),

| #( ( ))P X P

P H XX≡

≡∋

49

4.4. 인식 가능성 규칙(Recognizability Rules)

R5 | ( ),

| ( ( ))P X P

P H XXφ

φ≡≡

R6 ( )

| ( )P H XP Xφ≡∋

4.5. 메시지 해석 규칙(Message Interpretation Rules)

I3 * ( , ), ( , ), | , | #( , )

| |~ ( , ), | |~ ( , )

SP H X S P X S P P Q P X SP Q X S P Q H X S

< > ≡ ←⎯→ ≡≡ < > ≡ < >

◁ ∋

I6 | |~ , | #(

|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)

가 식 또는 상태문이고 1,C C21

2

CC가 규칙일 경우 1

2

||

P CP C≡≡

도 성립한다.

5. 적용 방법

5.1. 가정(Assumption) 설정

가정 설정에서는 프로토콜 초기에 가정하는 내용을 식으로 나타낸다.

예를 들어 각 주체 사이의 기본적인 신뢰 관계를 설정하거나 각 주체가

스스로 생성하는 임의의 수와 같은 것들이 가정 설정에 들어갈 수 있다.

50

이 가정 설정에서 초기 신뢰 집합 및 소유 집합이 결정된다.

5.2. 분석 목적(Goal) 설정

분석 목적 설정에서는 프로토콜을 수행하여 각 주체가 최종적으로

얻어야 하는 신뢰 집합을 설정한다. 분석이 의미를 갖기 위해서 분석

목적은 각 주체가 신뢰를 얻기 위해 필요한 최소한의 조건을 설정하여야

한다.

5.3. 프로토콜의 이상화(Idealization of protocol)

프로토콜의 이상화는 프로토콜 수행 시 발생하는 메시지 교환을 GNY

논리로 표현하는 과정이다. 프로토콜을 수행과정에서 메시지를 받는

주체의 순서에 따라 그 주체가 받는 메시지를 GNY 논리로 표현한다.

예를 들어, Q가 P에게 Nq를 전송하는 경우는 다음과 같이 표현된다.

* qP N◁

5.4. 논리적 분석(Logical analysis)

논리적 분석은 이상화된 프로토콜의 각 메시지 수신 과정에 수행 결과,

가정 및 규칙을 적용하여 새로운 식을 생성하고 소유 집합 및 신뢰 집합에

이를 넣는 과정이다.

5.5. 분석의 완료

논리 분석 과정을 수행하여 목표 설정 과정에서 설정한 식을 모두

얻을 수 있으면 프로토콜의 분석이 종료된다. 목표 설정 과정에서 적합한

목표를 설정하였다면 여기서 프로토콜이 신뢰성이 있음을 확인할 수 있다.

51

52

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.