Ⅰ. 서론
무선센서네트워크(Wireless Sensor Networks)는 베이스 스테이션(Base Station)과 자원 제약이 있는 수 많은 센서노드(Sensor Node)들로 구성되어 있다. 무선센서 네트워크 환경에서의 브로드캐스트 인증(Broadcast Authentication)은 네트워크 상의 기본적 이고 중요한 보안 요소 중에 하나이다. 베이스 스테이션이 각 센서노드에게 명령, 지시, 경고 메시지를 보내야 할 경우 브로드캐스트는 통신량과 패킷 길이 측면에서 유니캐스트나 멀티캐스트보다 매우 효율적으로 수행할 수 있다. 그러나 만약 브로드캐스트 메시지에 대한 인증이 이루어지지 않는다면 잘못된 명령의 수행으로 인해 자원 낭비가 발생할 뿐 아니라 다양한 공격에 노출될 수 있어 네트워크 손실이 발생한다. 따라서 무선센서네트워크와 같은 브로드캐스트 네트워크 환경에서는 메시지를 보내는 송신자와 메시지에 대한 인증이 필수적이다.
무선센서 네트워크 환경에서 브로드캐스트 인증을 위해 h-TESLA(3) 방법이 제안되었다. 그러나 h-TESLA 방법은 인증 시간의 지연이 발생한다. 이로 인해 센서 노드는 인증키가 노출되기 전까지 인증되지 않은 패킷을 버퍼에 저장해야 하므로 자원 낭비가 발생한다. 이러한 H-TESLA의 특징은 실시간 어플리케이션이 대부분인 무선 센서 네트워크 환경에서 적합하지 않다.
따라서 본 논문은 아래의 요구사항을 만족하는 효율적인 브로드캐스트 인증 방법을 제안하고 그에 대한 안전성과 효율성을 면밀히 분석한다.
1.1 요구사항
무선센서 네트워크 환경에서 브로드캐스트 인증은 다음과 같은 요구 사항을 만족해야 한다.
. 즉각적인 인증 : 무선센서 네트워크 애플리케이션은 대부분 실시간으로 이루어지기 때문에 인증 지연이 발생하지 않아야 한다.
. 작은 계산 비용 : 센서 노드들은 제한된 계산 능력을 가지고 있기 때문에 인증의 계산적 효율성을 필요로 한다.
. 작은 통신비용 : 센서 노드들은 전송용량의 제약이 있으므로 인증 시 필요한 패킷 크기가 작아야한다. . 작은 저장량 : 센서 노드들은 저장 공간의 제약이 있기 때문에 사전 저장되는 정보-가 작아야 한다.
Ⅱ. 기존의 일회성 서명 스킴
2.1 HORS (4)
HORS 는 일회성 서명 기법을 이용하여 브로드 캐스트 인증을 하지만 모든 센서 노드들이 저장하고 있어야 하는 공개키의 크기가 너무 크다는 단점을 가지고 있다. (1) 키 생성
. 단계 1 : 베이스 스테이션은 t개의 1비트의 랜덤한 수로 구성된 비밀키(SK)를 생성한다.
SK= (So, Si, ............, (SieR (0, 1}')
. 단계 2 : 비밀키에 해쉬함수를 취하여 공개키(PK) 를 생성한다. 공개키는 베이스 스테이션과 센서 노드들이 사전에 공유하고 있는 키로 암호화 되어 전송 된다. ([그림 1]).
[그림 1] HORS 의 키 생성
PK= (Vo, Vi, ............, Vt-i) (Vi=H(Si)) (2) 서명 생성
. 단계 1 : 해쉬함수 H(・)를 사용하여 인증하고자 하는 메시지(m)에 해쉬함수를 취한다.
h= H(m)
. 단계 2 : h를 k개의 log2t비트인 서브스트링으로 나눈다. 각 hi를 정수로 해석한다.
h=H(m)= ho||h』세hk-i (0<hi<t-l)
. 단계 3 : 비밀키에서 ho, hi, ............, hk-i 번째 값을 선택하여 서명을 생성한다.
#
(3) 서명 검증
베이스 스테이션으로부터 받은 서명 o = (Sho, Shi, . ........., Shz)을 각각 해쉬함수를 취해 가지고 있는 공개 키와 비교하여 수락(Accpet) 혹은 거부{Reject)를 결정한다.
#
2.2 EBAS⑸
EBAS는 HORS 의 각 노드들이 저장해야 할 공개 키의 크기가 너무 크다는 문제점을 머클해쉬트리(Merkle Hash Tree)(2) 를 사용하여 보완한 브로드캐스트 인증 기법을 제안했다. 따라서 EBAS는 서명 검증을 위해 추가적인 인증패스(Authentication path)를 필요로 한다. 이러한 인증 패스의 추가적인 전송을 줄이기 위해 d개의 서브 트리로 나누어 구성한다.
(1) 키 생성
. 단계 1 : HORS 와 같은 방법으로 비밀키(SK) 생성한다.
SK = (S0> Si, ............, St-i) (SiGR {0, 1}')
. 단계 2 : 비밀키에 해쉬함수를 취하여 머클해쉬트리를 구성한다.
. 단계 3 : 공개키는 서브 머클 트리 (Merkle Tree)의
루트 값들의 집합으로 이루어진다{[그림 2〕).
[그림 2] EBAS의 키 생성
#
(2) 서명 생성
서명 생성은 HORS 와 같은 방법으로 생성한다. 단 EBAS에서는 검증 단계에서 공개키인 트리의 루트 값을 생성하기 위해 인증 패스가 필요하다. 따라서 서명은 0 = (Sho, Shi, ..........., Shk-I)와 각 Shi에 대하여 인증패스 (Authentication path)([그림 3〕)로 이루어진다.
[그림 3] 인증 패스 (Authentication path)
(3) 서명 검증
베이스 스테이션으로부터 받은 서명과 인증 패스를 사용하여 생성한 루트 값을 공개키와 비교한 후 수락 혹은 거부를 결정한다.
Ⅲ. 제안하는 스킬
본 논문에서는 기존의 두 스킴에 대한 문제점들을 보완하는 개선된 스킴을 제안한다. 제안하는 스킴은 Bloom Filter"를 사용하여 HORS 의 문제점인 공개키의 크기를 줄이고 EBAS의 문제점인 서명을 검증하기 위한 추가적인 인증 패스의 전송과 저장을 없앤다. (1) 키 생성
. 단계 1 : 베이스 스테이션은 1비트의 랜덤한 수 So 를 생성한 후 해쉬 체인을 생성하여 비밀키(SK)와 Commitment를 만든다.
SK=(S0) Si, ....., St-i), (Si = Hi(S0)) Commitment = St
. 단계 2 : 각 & 에 대하여 s개의 Bloom Filter에 대웅시키는 s개의 독립적인 해쉬함수(Ho, Hi, ..- -sHs.i) 를 취하여 t개의 Bloom Filtei를 생성한다[그림 4〕. 공개키로 사용할 초기 Bloom Filter(BF0, BFi, …… . . , BFt』)들과 Commitment(St)들을 각 센서 노드들을 배치하기 전에 사전 저장시킨다.
Hj(Si), (0<i<t-l, 0<j<s-l)
PK = (St), (BFo, BFb............BFG (2) 서명 생성
. 단계 1 : 해쉬함수 H(・)를 사용하여 인증하고자 하는 메시지(m)에 해쉬함수를 취한다.
h = H(m)
. 단계 2 : h를 k개의 log2t비트인 서브스트링으로 나눈다. 각 hi를 정수로 해* 석한다
h = H(m)느 ho||hi||시|hk-i (0<hi<t-l)
. 단계 3 : 비밀키에서 ho, h“ ............% 번째 값을 선택하여 서명을 생성한다.
#
(3) 서명 검증
. 단계 1 : 받은 서명 Sho 에 반복하여 해쉬함수를 취해 공개키의 Commitment와 일치하는지 확인한다. Ht.M(Sho) =? St
. 단계 2 : 해쉬함수 H(・)를 사용하여 인증하고자 하는 메시지(m)에 해쉬함수를 취한다. h = H(m)
. 단계 3 : h를 k개의 lo&t비트인 서브스트링으로 나눈다. 각 hi를 정수로 해석한다.
h = H(m)= h°||hi||세hk-i (0<hi<t-l)
. 단계 4 : 서명 ShJ에 대한 Bloom Filter를 생성한다. o' = (Sho', Shi', .........., Shk-i')
Hj(Shi'), (0<i<k-l, 0<j<s-l) (BFho', BFhi', ..........., BFhL)
. 단계 5 : 4단계에서 생성한 Bloom Filter와 공개키 (PK)가 일치하는지 확인함으로써 수락(Accpet) 혹은 거부(Reject)를 결정한다.
(BFho, BFhb ............, BFhk-i) =? (BFh0', BFhf, . . .■…, BFhk.i')
(4) 키 재생성 방법 (Re-keying Mechanism)
키의 재생성은 서명 생성 시 인증하고자 하는 메시지에 다음 인증에 사용할 공개키를 붙여서 메시지와 다음의 공개키를 함께 인증함으로써 가능하다.
#
Ⅳ. 분석
5.1 안전성 분석 및 시스템 변수 설정
제안하는 스킴은 공개키의 크기를 줄이기 위해 Bloom Filter를 사용하므로 False Positive가 일어날 수 있다. 즉 올바르지 않은 Si에 대해서 Hj(Sh, )가 Bloom Filter값에 정당하게 마킹 (Marking) 될 수 있다. 따라서 False Positive가 발생할 확률은 제안하는 스킴의 안전성에 영향을 준다. False Positive/} 발생할 확률은 다음과 같다.
f:False Positive의 확률 s:해쉬함수의 개수
m:Bloom Filter의 크기
위의 식에서 Bloom Filter는 계산량(分과 저장량(m) 과 안전성(f) 사이에 세 가지 절충(Trade-Off)이 발생한다. 따라서 다음 식에서 세 가지 파라미터 (Parameter) s, m, f의 최적의 값을 찾아야 한다.
#
양변을 미분하면,
#
#
critical point를 구하기 위해 쓰=0을 만족하는 s를 구하면 다음과 같다.
#
〔표 1〕과 같이 m/n과 s에 따른 False Positive 확률을 구할 수 있다.
(그림 4) 제안하는 스킴의 키 생성
(표 1) m/n, s에 따른 false positive의 확률
따라서 센서 노드의 저장량, 계산량, 안전성을 고려하여 최적의 파라미터 값을 m = 8n, s = 4, f = 0.024로 정한다면 n=l, m = 8, s = 4 일 때 False Positive의 약확률이 약 2.4%가 된다.
공격자가 서명을 위조하기 위해서는 먼저 주어진 Commitment(St)에 대한 Pre-image들을 구해야 한다. 안전한 해쉬함수는 H(x) = y를 만족하는 X를 찾기가 어려운 일 방향성 (One-wayness) 과 H(x)=H(x)를 만족하는 충돌쌍 (X, X)을 찾기 어려운 충돌방지 성(Collision-resistance)의 성질을 가져야한다. 따라서 주어진 Commitment에 대해 Pre-image를 구하기는 계산적으로 불가능하다. 만약 충돌 쌍을 구했다고 하더라도 위조한 서명 职에 대한 Vhi(0<i<k-l)7} Bloom Filter 값을 모두 통과해야 하므로 서명을 위조하는 것은 계산적으로 불가능하다.
5.2 효율성 분석
기존의 스킴과 효율성을 비교, 분석하기 위해 HORS, EBAS와 제안하는 스킴에서 제시한 파라미터 값을 비교하였다 〔표 2].
〔표 2〕시스템 파라미터
5.2.1 저장량
제시한 파라미터를 기준으로 기존 스킴과 제안하는 스킴을 비교해보면 HORS 에서 각 센서 노드는 베이스 스테이션의 다량의 공개키를 저장해야 한다. EBAS 에서는 머클트리를 사용하여 공개키 크기를 줄였으므로 서브 트리의 개수만큼의 공개키가 필요하다. 제안하는 스킴은 사이즈가 큰 공개키 대신에 Bloom Filter를 저장하면 되므로 센서 노드의 저장량은 40byte가 된다. 그러므로 저장량 측면에서 기존 스킴보다 효율적이다 〔표 3〕.
〔표 3) 효율성 분석
5.2.2 통신량
세 스킴 모두 각 센서 노드들은 수신자 입장이 되기 때문에 통신량 분석에서는 노드들의 패킷 수신량만을 비교한다. HORS에서 노드들은 베이스 스테이션으로부터의 공개키와 메시지와 그에 따른 서명을 수신해야 한다. 메시지의 크기는 메시지에 따라 매번 달라지므로 고려하지 않는다. EBAS에서 서명에 각 서명을 구성하는 비밀키에 대해 인증 패스가 첨부되어서 전송된다. 제안하는 스킴에서는 최적화된 공개키와 서명만 수신하면 된다. 따라서 제안하는 스킴이 통신량 측면에서 효율적이다 〔표 3〕,
5.2.3 계산량
제안하는 스킴의 센서 노드가 서명 검증에 필요한 연산은 기존의 스킴과 마찬가지로 해쉬함수 연산이다. 따라서 먼저 해쉬함수의 계산 시행 횟수를 비교해 보면 HORS는 21번 EBAS는 최대 101번 실행 해야 한다. 그러나 모든 서명의 Shi 대해 항상 인증패스를 이용하여 루트 값을 확인 하는 것보다 이미 인증된 해쉬트리의 노드들에 대해 저장을 함으로서 후에 중복되는 해쉬 함수 계산을 줄일 수 있다. 따라서 EBAS에서는 저장량과 계산량과의 Trade-Off가 발생한다. 제안하는 스킴은 2번의 해쉬함수와 52번의 Bloom Filter에 대응시키는 해쉬 함수의 계산량을 필요로 한다. 기존의 스킴보다 검증 오버헤드는 증가 했지만 해쉬함수 연산은 센서 노드에 게 큰 부담이 되지 않을뿐더러 센서 노드의 총 자원의 소비 중에 통신량에 드는 자원 소비가 97%가 차지한다는 점에서 계산량의 증가보다는 통신량의 감소에 비중 을두어야한다. 〔표 3〕.
Ⅴ. 결론
본 논문에서는 Bloom filter를 사용하여 HORS의 문제점인 공개키의 크기를 줄이고 EBAS의 문제점인 추가적인 인증 패스의 전송과 저장을 없앤 무선센서 네트워크 환경에 적합한 브로드 캐스트 인증 스킴을 제안하였고 안전성과 효율성을 분석하였다. 제시된 인증 기법은 즉각적인 인증을 통해 인증 지연을 미연에 방지할 뿐 아니라 통신량, 저장량과 계산량 또한 효율적으로 개선하였다.
* 이 논문은 2006년도 정부(과학기술부)의 재원으로 한국과학 재단의 지원을 받아 수행된 연구임(No.R01-2004«)0A0704<)
References
- B. Bloom, 'Space/time trade-offs in hash coding with allowable errors' Commun. ACM, vol. 13, no. 7, pp. 422-426, 1970 https://doi.org/10.1145/362686.362692
- R. Merkle, 'Protocols for public key cryptosystems,' in Proceedings of the IEEE Symposium on Research in Security and Privacy, Apr 1980
- A. Perrig, R. Szewczyk, V. Wen, D. Culler and J. Tygar. 'SPINS: Security protocols for sensor networks,' Wireless Networks.2002
- L. Reyzin and N. Reyzin, 'Better than BiBa: Short onetime signatures with fast signing and verifying,' In Seventh Australasian Conference on Information Security and Privacy (ACISP 2002), July 2002
- Shang-Ming, Chang Shiuhpyng Shieh, Warren W. Lin, and Chih-Ming Hsieh, 'An Efficient Broadcast Authentication Scheme in Wireless Sensor Networks,' In Proceedings of the 2006 ACM Symposium on Information, computer and communications security. 2006