KR101804421B1 - 저전력 고손실 무선 메쉬 네트워크 시스템에서의 상황적응적 단말기 접근제어 방법 및 이를 적용한 저전력 고손실 무선 메쉬 네트워크 시스템 - Google Patents
저전력 고손실 무선 메쉬 네트워크 시스템에서의 상황적응적 단말기 접근제어 방법 및 이를 적용한 저전력 고손실 무선 메쉬 네트워크 시스템 Download PDFInfo
- Publication number
- KR101804421B1 KR101804421B1 KR1020160027668A KR20160027668A KR101804421B1 KR 101804421 B1 KR101804421 B1 KR 101804421B1 KR 1020160027668 A KR1020160027668 A KR 1020160027668A KR 20160027668 A KR20160027668 A KR 20160027668A KR 101804421 B1 KR101804421 B1 KR 101804421B1
- Authority
- KR
- South Korea
- Prior art keywords
- authentication
- lln
- endpoint
- maxactivesessions
- request
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/60—Router architectures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/108—Network architectures or network communication protocols for network security for controlling access to devices or network resources when the policy decisions are valid for a limited amount of time
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
상황적응적 단말기 접근제어를 위한 저전력 고손실 무선 메쉬 네트워크 시스템 및 상황적응적 단말기 접근제어 방법이 개시된다. 본 발명의 일 실시예에 따르면, 저전력 고손실 메쉬 네트워크(LLN)에서 보안 서버와 LLN 엔드포인트 사이에 배치되는 LLN 보더 라우터(LBR)로서, 상기 LLN 엔드포인트가 상기 보안 서버로 인증 및 키 교환 프로세스를 완료하는데 소요되는 인증 완료 시간을 추정하는 인증 완료 시간 추정부; 상기 LLN 엔드포인트로부터 최근 수신했지만 현재 실행 중인 인증 세션의 수(NumCurrentSessions)가 미리 설정된 임계치(MaxActiveSessions)와 동일하여 드롭된 인증 시작 요청의 수를 카운트하는 인증 요청 카운트부; 최근 수신했지만 현재 실행 중인 인증 세션의 수가 미리 설정된 임계치와 동일하여 드롭되어야 하는 LLN 엔드포인트에 대해 대기시간의 산출이 가능한 정보를 포함한 NACK 메시지를 생성하여 전송하는 NACK 메시지 관리부를 포함하는 LLN 보더 라우터가 제공된다.
Description
본 발명은 저전력 고손실 무선 메쉬 네트워크 시스템를 위한 상황적응적 단말기 접근제어 방법 및 이를 적용한 저전력 고손실 무선 메쉬 네트워스 시스템에 관한 것이다.
수천개의 임베디드 네트워킹 장치를 포함하는 저전력 고손실 네트워크(LLNs, Low-power and lossy networks)는 스마트 그리드 AMI(advanced metering infrastructure), 스마트 도시 관리, 홈 및 빌딩 자동화, 무선 센서 네트워크 및 인더스트리 4.0의 신규 컨셉을 포함하는 다양한 애플리케이션에서 사용될 수 있다. 임베디드 장치와 네트워크는 이들 시스템을 포함하는 네트워크가 사물인터넷(IoT)의 최근 컨셉을 주도하여 보다 큰 인터넷 아키텍처에 연결되는 방법을 가지도록 배치될 것이다. 이러한 사물인터넷 저전력 고손실 네트워크(IoT LLNs)와 장치들은 대부분 보다 큰 인터넷 아키텍처와 통신하고 클라우드에서 고객과 서비스들에게 데이터를 전송하기 위해 표준 인터넷 프로토콜(IP/IPv6)과 메카니즘(전송, 보안 등)을 활용할 것이다.
접근 제어 및 키 관리(access control and key management)는 이러한 네트워크의 보안에서 중요한 요소이다. 네트워크로부터 미인증된 장치를 거부하고 네트워크 내에서 보안 통신을 위해 데이터를 암호화할 것이 요구된다. 표준 인터넷 프로토콜들은 이러한 목적을 위해 넓게 적용될 것이다. 스마트 그리드 AMI를 위한 시스코의 필드 영역 네트워크(FAN, Field area network) 솔루션이 보안 IoT를 위해 LLN에서 표준 인터넷 프로토콜들을 사용한 산업제품의 좋은 예이다; 메쉬 접근 제어를 위해 IEEE 802.1x를 사용하고 메쉬 키 관리를 위해 IEEE 802.11i를 사용한다. 이러한 경향이 적어도 가까운 미래에까지는 계속될 것으로 보여진다; 산업 솔루션들은 확장성, 호환성, 보안, 개발 비용 문제로 인해 검증된 표준 인터넷 프로토콜들을 적용할 것이다.
하지만, 이들 LLNs는 전통적인 유선 네트워크(예컨대, 이더넷) 혹은 무선 네트워크(예컨대, WiFi)보다 낮은 대역폭과 높은 지연시간을 보여준다. 더구나, LLN 보더 라우터(LBR, LLN border router)는 네트워크 통신 병목 현상을 나타내는데, LLN 내에서 대부분의 트래픽이 LBR에서 LLN 장치로 진행되거나 LLN 장치에서 LBR로 진행되기 때문이고, 루트(root)가 경험하는 트래픽 양이 노드의 수에 따라 선형적으로 증가하기 때문이며, 단일 LBR에 연결된 수천 개의 LLN 장치들을 고려하기 때문이다. 그러므로, 표준 인터넷 프로토콜들이 이들 네트워크에서 적절하고 효율적으로 작동하기 위해서는, 프로토콜 자체(혹은 사용되는 방법)의 일부 조정 혹은 수정이 필수적일 수 있다. 최근 저전력 고손실 네트워크를 위한 표준화된 라우팅 프로토콜(RPL)과 6LoWPAN이 LLNs에서 IPs를 사용하기 위한 조정의 예들이다.
이러한 LLN에서 메쉬 접근 제어 및 키 관리는 기존 방식에 비해 크게 어려운데, 그 이유는 인증, 허가, 키 관리 등의 프로세스가 낮은 대역폭과 높은 지연시간을 갖는 링크 상에서 병목된 LBR을 통해 대용량 패킷(인증서와 키를 포함하는)을 주고 받아야 하기 때문이다. 수천개의 LLN 장치들이 동시에 이를 수행하고자 할 때(예컨대, 시스템 부팅) 문제가 악화된다. 네트워크 혼잡으로 지연시간을 증가시키고 패킷이 손실되어 인증 실패로 이어진다. 인증을 재시도하는 시도는 네트워크 트래픽을 증가시킬 것이고, 다수는 실패하여 실패-재시도의 반복이 일정 시간 동안 계속될 수 있다. 따라서, 이 문제를 완화시키는 방안이 필요한 실정이다.
이 문제를 완화시키는 방법 중 하나는 LBR에서 병렬 인증 세션의 수(즉, 병렬로 핸드 셰이크를 수행하고 있는 엔드포인트의 수)를 제한하고 잔여 엔드포인트는 나중에 재시도하게 하는 것이다. 이는 병렬 인증 세션의 수가 일정 임계치 이상일 때 LBR에서 엔드포인트에 의해 전송된 인증 시작 요청을 거부함으로써 수행될 수 있다. 엔드포인트가 LBR로부터 응답을 수신하지 못하였을 때, 뒤로 밀려나서 진행중인 인증 세션이 완료되고 신규 세션이 수락될 수 있을 때까지 대기해야 한다. 하지만, 장치들은 대기시간을 신중하게 선택해야 한다. 그렇지 않으면 네트워크는 혼잡 혹은 느린 인증 완료 시간으로 귀결될 것이다.
예를 들어, 잔여 엔드포인트가 너무 짧은 시간 동안 대기한다면, 현재 진행중인 인증 세션이 완료되기 이전에 몇몇 인증 시작 요청이 이루어질 것이다. 이는 불필요한 트래픽을 증가시키고 심각한 네트워크 혼잡으로 귀결되어, 현재 인증 프로세스 중에 있는 엔드포인트에 대해 지연시간 증가, 패킷 드롭, 인증 실패가 일어날 수 있다. 반면, 잔여 엔드포인트가 너무 오래 대기하면, 전체 네트워크 인증 프로세스가 너무 느려지고 각각의 재시도 사이의 시간이 긴 대기시간에 의해 제안되기 때문이다. 작은 크기를 가지는 네트워크에서는 긴 대기시간이 불필요하고 낭비이다.
이 대기시간을 충분히 큰 값(예컨대, 5분에서 1시간까지 랜덤화된 지수적 백오프(randomized exponential backoff))으로 보수적으로 설정하는 것이 일반적이다. 이는 네트워크 혼잡으로 인해 반복된 인증 실패가 전체 네트워크의 느린 인증 시간보다 덜 바람직한 것으로 간주되기 때문이다. 네트워크가 인증과 키 분배 프로세스에 의해 혼잡하다면 이는 IEEE 802.15.4 비콘, IPv6 이웃 탐색 패킷, RPL 라우팅 메시지, 동적 호스트 구성 프로토콜(DHCP) 요청/응답 패킷 같은 네트워크의 다른 트래픽에도 영향을 주며, LLN의 전체 네트워크 형성 시간을 늦출 것이다. 하지만, 대부분의 경우에는 불필요하게 너무 커서, 주어진 네트워크 토폴로지에 대해 대기시간 구성이 합리적인지 여부를 결정하기 위한 좋은 방법이 없을 뿐만 아니라 다른 좀더 중요한 문제가 있다.
대기시간 구성이 충분히 큰 값으로 설정될지라도 그냥 낭비되는 대역폭을 소비하게 되는 인증 시도가 반복될 수 있다. 사실에 근거한 예시로서, 인증을 시도하는 1000개 엔드포인트와 병렬 인증 세션의 수를 1회 10개로 제한하는 LBR을 가지는 네트워크를 고려해 보기로 한다. 1000개 엔드포인트 전체가 인증 시작 요청을 전송할 것이고, 10개만이 승인될 것이다. 대기시간이 경과하면, 990개가 인증 시작 요청을 전송할 것이고 다시 10개만이 승인될 것이다. 다음에는 980개가 시도하고 970개가 실패될 것이다. 이 프로세스에서 많은 대역폭이 낭비되는 것은 명백하다. 사실 재시도하는 엔드포인트의 수는 점차 줄어들기 때문에, 백오프 시간은 큰 값에서 작은 값으로 역전될 수 있다. 백오프에 대해 대략적인 계산을 하면 1000개 엔드포인트를 위해 49,500번의 인증 시작 요청이 낭비되며, 필요한 것보다 49.5배 이상인 것이다. 5000개 노드가 있다면, 1,247,500 패킷이 낭비되고, 이는 249.5배의 양이 된다. 네트워크에 N개의 노드가 있고 한번에 K개의 인증 세션만이 병렬적으로 활성화될 수 있다고 할 때, (N-K)+(N-2K)+(N-3K)+…+(N-(N/K-1))K = (N/2*(N/K-1)) 개의 인증 시작 요청이 낭비되어 네트워크를 혼잡하게 하는데, 그 복잡도가 O(N2)이 된다. 보수적으로 큰 대기시간 구성을 가진 경우, 이는 대규모 LLNs에서 느린 인증으로 힘들어하는 이유가 된다.
본 발명은 메쉬 인증 프로세스의 효율 및 속도를 개선하여 고속이면서도 상황적응적인 메카니즘을 가져 반복된 인증 실패 없이 장치에게 빠른 인증이 허용되도록 하는, 저전력 고손실 무선 메쉬 네트워크 시스템을 위한 상황적응적 단말기 접근제어 방법 및 이를 적용한 저전력 고손실 무선 메쉬 네트워크 시스템을 제공하기 위한 것이다.
본 발명은 고속 성능으로 인해 대기시간을 낭비하지 않고 진행될 병렬 인증 세션에 대한 많은 여유를 확보할 수 있고, 상황적응적 성능으로 인해 추가적인 오버헤드 혹은 인증 액티비티에 기초한 확장 대기시간을 초래하지 않을 최소값으로 각 엔드포인트(endpoint)의 대기시간을 조정할 수 있는 저전력 고손실 무선 메쉬 네트워크 시스템을 위한 상황적응적 단말기 접근제어 방법 및 이를 적용한 저전력 고손실 무선 메쉬 네트워크 시스템을 제공하기 위한 것이다.
본 발명의 이외의 목적들은 하기의 설명을 통해 쉽게 이해될 수 있을 것이다.
본 발명의 일 측면에 따르면, 저전력 고손실 메쉬 네트워크(LLN)에서 보안 서버와 LLN 엔드포인트 사이에 배치되는 LLN 보더 라우터(LBR)로서, 상기 LLN 엔드포인트가 상기 보안 서버로 인증 및 키 교환 프로세스를 완료하는데 소요되는 인증 완료 시간을 추정하는 인증 완료 시간 추정부; 상기 LLN 엔드포인트로부터 최근 수신했지만 현재 실행 중인 인증 세션의 수(NumCurrentSessions)가 미리 설정된 임계치(MaxActiveSessions)와 동일하여 드롭된 인증 시작 요청의 수를 카운트하는 인증 요청 카운트부; 최근 수신했지만 현재 실행 중인 인증 세션의 수가 미리 설정된 임계치와 동일하여 드롭되어야 하는 LLN 엔드포인트에 대해 대기시간의 산출이 가능한 정보를 포함한 NACK 메시지를 생성하여 전송하는 NACK 메시지 관리부를 포함하는 LLN 보더 라우터가 제공된다.
상기 인증 완료 시간 추정부에 의해 추정되는 추정 인증 완료 시간(EstAuthCompletionTime)은 다음 수학식에 의해 계산될 수 있다.
EstAuthCompletionTime = AuthCompletionTime_avg + α × AuthCompletionTime_dev
여기서, AuthCompletionTime_avg와 AuthCompletionTime_dev는 최근에 성공된 인증에 소요된 완료 시간의 실행 평균과 편차이고, 사용 중인 네트워크의 지연시간 속성(예컨대, RF, PLC, 미디어의 데이터율)에 기초하여 α > 0 이 선택됨.
상기 인증 요청 카운트부에서 카운트하는 인증 요청 카운트수(PendingCounter)는 인증 시작 요청이 수신되었지만 NumCurrentSessions가 MaxActiveSessions와 동일하기 때문에 드롭될 때마다 1씩 증가되고, 인증 시작 요청이 승인되고 신규 세션이 생성될 때마다 1씩 차감되며, NumCurrentSessions가 MaxActiveSessions보다 작고 NumCurrentSessions가 MaxActiveSessions보다 작아진 이후 최근 추정 인증 완료 시간 동안 아무런 인증 시작 요청도 수신되지 않을 때마다 1씩 차감될 수 있다.
상기 NACK 메시지는 인증 요청 카운트수(PendingCounter), 추정 인증 완료 시간(EstAuthCompletionTime), 미리 설정된 병렬 접근 가능한 세션 수에 대한 임계치(MaxActiveSessions) 중 하나 이상의 정보를 포함할 수 있다.
한편 본 발명의 다른 측면에 따르면, 저전력 고손실 메쉬 네트워크(LLN)에서 보안 서버와 LLN 엔드포인트 사이에 배치되는 LLN 보더 라우터(LBR)로서, 인증 시작 요청을 받았지만 현재 실행 중인 인증 세션의 수(NumCurrentSessions)가 미리 설정된 임계치(MaxActiveSessions)와 동일하여 드롭된 LLN 엔드포인트의 주소를 담아두는 펜딩 큐를 생성하여 관리하는 펜딩 큐 관리부; 펜딩 큐에서 해제된 LLN 엔드포인트의 주소에 상응하여 인증 시작 요청의 즉시 재전송 가능을 알려주는 트리거 메시지를 생성하여 전송하는 트리거 메시지 관리부를 포함할 수 있다.
상기 펜딩 큐 관리부는, 인증 시작 요청이 수신되었지만 NumCurrentSessions가 MaxActiveSessions와 동일하기 때문에 드롭될 때마다 해당 LLN 엔드포인트의 주소를 상기 펜딩 큐에 입력하고, 현재 액티브 인증 세션이 완료되고 NumCurrentSessions가 MaxActiveSessions 아래로 낮아지면 가장 먼저 입력된 엔드포인트 주소가 상기 펜딩 큐로부터 해제되도록 하거나, NumCurrentSessions가 MaxActiveSessions보다 작은 값인 동안 EstAuthCompletionTime에 신규 인증 시작 요청이 수신되지 않을 때에도 가장 먼저 입력된 엔드포인트 주소가 상기 펜딩 큐로부터 해제되도록 할 수 있다.
상기 펜딩 큐 관리부는 상기 펜딩 큐에 LLN 엔드포인트의 주소가 중복 입력되는 경우 이를 필터링할 수 있다.
한편 본 발명의 또 다른 측면에 따르면, 저전력 고손실 메쉬 네트워크(LLN)에서 LLN 보더 라우터(LBR)를 거쳐 보안 서버로 인증 요청을 전송하는 LLN 엔드포인트로서, 상기 LBR로부터 대기시간 산출을 위한 NACK 메시지를 수신하는 메시지 수신부; 상기 NACK 메시지로부터 대기리스트에서 상기 LLN 엔드포인트의 위치를 파악하고 추정 인증 완료 시간과의 관계에서 상기 LLN 엔드포인트에 대한 대기시간을 계산하는 대기시간 계산부; 상기 대기시간이 경과한 이후 인증 시작 요청을 재전송하는 인증 요청부를 포함하는 LLN 엔드포인트가 제공된다.
상기 대기시간 계산부는 다음 수학식에 따라 상기 대기시간을 계산할 수 있다.
WaitTime = EstAuthCompletionTime × (1 + PendingCounter/MaxActiveSessions)
여기서, WaitTime은 대기시간, EstAuthCompletionTime은 상기 추정 인증 완료 시간, PendingCounter는 인증 요청 카운트수, MaxActiveSessions는 미리 설정된 병렬 인증 세션 수의 임계치임.
상기 메시지 수신부는 인증 시작 요청의 즉시 재요청을 알리는 트리거 메시지를 수신하고, 상기 인증 요청부는 상기 트리거 메시지를 수신하면 즉시 상기 인증 시작 요청을 재전송할 수 있다.
한편 본 발명의 또 다른 측면에 따르면, 저전력 고손실 메쉬 네트워크에서의 상황적응적 단말기 접근제어 방법으로서, 복수의 LLN 엔드포인트에서 보안 서버로 인증 요청을 전송하면, LBR에서 최근에 성공된 인증 요청을 참조하여 인증 완료 시간을 추정하는 단계; 이후 LLN 엔드포인트들에서의 인증 시작 요청이 수신된 경우, 현재 실행 중인 인증 세션의 수(NumCurrentSessions)가 미리 설정된 임계치(MaxActiveSessions)와 동일하여 드롭된 인증 요청 수를 카운트하는 단계; 상기 LBR은 인증 시작 요청을 전송했지만 NumCurrentSessions가 MaxActiveSessions와 동일하여 드롭되어야 하는 LLN 엔드포인트에 대해 NACK 메시지를 생성하는 단계-여기서, NACK 메시지는 인증 요청 카운트수, 추정 인증 완료 시간, 미리 설정된 병렬 접근 가능한 세션 수에 대한 임계치 중 하나 이상의 정보를 포함함-; 상기 LLN 엔드포인트가 상기 NACK 메시지를 수신하고 분석하여 대기시간을 계산하는 단계; 상기 대기시간이 경과한 후 상기 LLN 엔드포인트가 인증 시작 요청을 재전송하는 단계를 포함하는 상황적응적 단말기 접근제어 방법이 제공된다.
상기 대기시간의 계산 단계는, 다음 수학식에 따라 상기 대기시간을 계산할 수 있다.
WaitTime = EstAuthCompletionTime × (1 + PendingCounter/MaxActiveSessions)
여기서, WaitTime은 대기시간, EstAuthCompletionTime은 상기 추정 인증 완료 시간, PendingCounter는 인증 요청 카운트수, MaxActiveSessions는 미리 설정된 병렬 인증 세션 수의 임계치임.
상기 인증 요청 카운트수는 인증 시작 요청이 승인되고 신규 세션이 생성된 때 혹은 NumCurrentSessions가 MaxActiveSessions보다 작아진 이후 최근 추정 인증 완료 시간 동안 아무런 인증 시작 요청도 수신되지 않을 때 1씩 차감될 수 있다.
한편 본 발명의 또 다른 측면에 따르면, 저전력 고손실 메쉬 네트워크에서의 상황적응적 단말기 접근제어 방법으로서, 복수의 LLN 엔드포인트에서 보안 서버로 인증 요청을 전송하면, LBR에서 현재 실행 중인 인증 세션의 수(NumCurrentSessions)가 미리 설정된 임계치(MaxActiveSessions)와 동일하여 드롭된 LLN 엔드포인트의 주소를 펜딩 큐에 입력하는 단계; 상기 LBR에서는 현재 액티브 인증 세션이 완료되고 NumCurrentSessions가 MaxActiveSessions 아래로 낮아지면, 가장 먼저 입력된 엔드포인트 주소가 상기 펜딩 큐로부터 해제되는 단계; 트리거 메시지를 생성하여 상기 펜딩 큐에서 해제된 상기 엔드포인트 주소에 상응하는 엔드포인트로 전송하는 단계를 포함하되, 상기 엔드포인트 주소에 상응하는 엔드포인트에서는 상기 트리거 메시지를 수신하면 즉시 인증 요청을 재전송하는 것을 특징으로 하는 상황적응적 단말기 접근제어 방법이 제공된다.
상기 LBR은 NumCurrentSessions가 MaxActiveSessions보다 작은 값인 동안 EstAuthCompletionTime에 신규 인증 시작 요청이 수신되지 않을 때에도 가장 먼저 입력된 엔드포인트 주소가 상기 펜딩 큐로부터 해제되도록 할 수 있다.
전술한 것 외의 다른 측면, 특징, 이점이 이하의 도면, 특허청구범위 및 발명의 상세한 설명으로부터 명확해질 것이다.
본 발명의 실시예에 따르면, 메쉬 인증 프로세스의 효율 및 속도를 개선하여 고속이면서도 상황적응적인 메카니즘을 가져 반복된 인증 실패 없이 장치에게 빠른 인증이 허용되도록 하는 효과가 있다.
또한, 고속 성능으로 인해 대기시간을 낭비하지 않고 진행될 병렬 인증 세션에 대한 많은 여유를 확보할 수 있고, 상황적응적 성능으로 인해 추가적인 오버헤드 혹은 인증 액티비티에 기초한 확장 대기시간을 초래하지 않을 최소값으로 각 엔드포인트의 대기시간을 조정할 수 있는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 상황적응적 단말기 접근제어 방법이 적용될 수 있는 저전력 고손실 무선 메쉬 네트워크 시스템을 나타낸 도면,
도 2는 Bi>T인 경우의 LLN 인증과 키 교환 프로세스의 타임라인을 나타낸 도면,
도 3은 Bi<T인 경우의 LLN 인증과 키 교환 프로세스의 타임라인을 나타낸 도면,
도 4는 본 발명의 일 실시예에 따른 상황적응적 단말기 접근제어를 위한 저전력 고손실 무선 메쉬 네트워크 시스템의 개략적인 블록 다이어그램,
도 5 및 도 6은 각각 LLN 보더 라우터(LBR)와 LLN 엔드포인트의 구성을 나타낸 블록도,
도 7은 본 발명의 일 실시예에 따른 상황적응적 단말기 접근제어 방법의 순서도,
도 8은 본 발명의 다른 실시예에 따른 상황적응적 단말기 접근제어 방법의 순서도.
도 2는 Bi>T인 경우의 LLN 인증과 키 교환 프로세스의 타임라인을 나타낸 도면,
도 3은 Bi<T인 경우의 LLN 인증과 키 교환 프로세스의 타임라인을 나타낸 도면,
도 4는 본 발명의 일 실시예에 따른 상황적응적 단말기 접근제어를 위한 저전력 고손실 무선 메쉬 네트워크 시스템의 개략적인 블록 다이어그램,
도 5 및 도 6은 각각 LLN 보더 라우터(LBR)와 LLN 엔드포인트의 구성을 나타낸 블록도,
도 7은 본 발명의 일 실시예에 따른 상황적응적 단말기 접근제어 방법의 순서도,
도 8은 본 발명의 다른 실시예에 따른 상황적응적 단말기 접근제어 방법의 순서도.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 명세서에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
또한, 명세서에 기재된 "…부", "…모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
또한, 각 도면을 참조하여 설명하는 실시예의 구성 요소가 해당 실시예에만 제한적으로 적용되는 것은 아니며, 본 발명의 기술적 사상이 유지되는 범위 내에서 다른 실시예에 포함되도록 구현될 수 있으며, 또한 별도의 설명이 생략될지라도 복수의 실시예가 통합된 하나의 실시예로 다시 구현될 수도 있음은 당연하다.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일하거나 관련된 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
도 1은 본 발명의 일 실시예에 따른 상황적응적 단말기 접근제어 방법이 적용될 수 있는 저전력 고손실 무선 메쉬 네트워크 시스템을 나타낸 도면이고, 도 2는 Bi>T인 경우의 LLN 인증과 키 교환 프로세스의 타임라인을 나타낸 도면이며, 도 3은 Bi<T인 경우의 LLN 인증과 키 교환 프로세스의 타임라인을 나타낸 도면이다.
도 1에는 저전력 고손실 무선 메쉬 네트워크 시스템 중에서도 IoT LLN 시스템이 도시되어 있다. IoT LLN 시스템(1)은 저전력 고손실 메쉬 네트워크(LLNs)를 형성하고, 멀티 홉이 가능하며, LBR(20)을 거치는 수천개의 LLN 엔드포인트(10)가 있다.
이러한 네트워크를 위한 메쉬 접근 제어 및 키 관리 프로세스는 엔드포인트(10)와 보안 서버(30)(예컨대, AAA 서버) 사이에 있는 LBR(20)을 통해 수행된다. 예를 들어, IEEE802.1x 인증이 사용되면, 각 LLN 엔드포인트(10)는 요청자(supplicant)가 되고, LBR(20)은 공중 인터넷 혹은 일부 사설 WAN 접속을 통해 인증 서버(보안 서버(30)일 수도 있음)와 통신하는 인증자(authenticator)로서 작동한다. LBR(20)과 인증 서버 사이의 연결은 IPsec와 같은 프로토콜을 사용하여 안정하게 보호될 수 있다.
이러한 LLNs는 전형적으로 기존의 유선 혹은 무선 네트워크보다 낮은 대역폭과 높은 지연시간을 보이며, LLN-LBR 링크는 LBR과 서버 사이의 백본 네트워크와 비교할 때 네트워크 통신 병목 현상을 나타낸다. 그러므로 시스템은 LBR(20)이 병렬 인증 세션의 수(즉, 병렬로 핸드 셰이크(handshake)를 수행하고 있는 엔드포인트의 수)를 제한하고 잔여 엔드포인트가 나중에 재시도하도록 하는 알고리즘을 수행한다. 병렬 인증 세션의 수가 미리 설정된 임계치(예컨대, MaxActiveSessions) 이상일 때 LBR(20)에서는 엔드포인트(10)에 의해 전송된 인증 시작 요청(authentication start request)을 드롭한다. 엔드포인트(10)가 LBR(20)로부터 응답을 수신하지 못하면, 인증을 재시도하기 전에 만료되는 되는 일정 백오프(backoff) 시간 동안 대기한다.
이제, N은 인증을 수행할 필요가 있는 LLN 엔드포인트(10)의 수이고, K는 허용된 병렬 인증 세션의 최대 수(MaxActiveSessions threshold)라 하기로 한다. 설명과 분석의 편의를 위해, 모든 노드가 LBR로부터 1홉 이내의 통신 범위를 가지고 있고, 네트워크 전체에서의 인증 완료 시간을 측정하기 위한 시작시간(t=0)에서 동시에 모든 노드가 시작되는 것으로 가정한다. 또한, T는 K개의 세션이 인증과 키 교환을 완료하기 위한 개략적인 지속시간(time duration)이고, B는 각 노드가 대기하는 백오프 시간 간격(backoff time interval)이다. 다시 분석의 간략화를 위해, T와 B의 시간척도가 무선 통신의 MAC(media access control) 계층에서 스몰 랜덤 지터(small random jitter) 및 CSMA(carrier sense multiple access) 지연보다 충분히 큰 것으로 가정한다.
도 2를 참조하면, N개의 노드가 인증을 시도하지만 병렬로 K개의 세션만이 승인될 수 있는 경우의 타임라인이 도시되어 있다. 여기서, Bi > T 이다.
t=0에서, N개의 노드는 인증 시작 요청을 전송하지만 단지 K개의 세션만이 허용된다. K개의 세션은 완료까지 T만큼의 시간을 소요하고, 나머지 (N-K)개의 노드가 B1의 백오프 이후 재시도한다. t=B1에서, (N-K) 개의 노드는 인증일 재시도할 것이고, 이 과정은 모든 노드가 인증 및 키 교환을 완료할 때까지 계속될 것이다.
여기서, 2가지 값이 산출되는데, 네트워크의 모든 N개의 노드에 대한 인증 완료 시간과, 완료 이전에 이루어져야 할 인증 시작 요청의 총 수이다. 후자를 N으로 나누면 낭비된 대역폭 오버헤드를 나타낸다.
우선 이전에 논의한 예를 생각해보기로 한다. 백오프 알고리즘이 Bmin의 최소값을 가지는 제한없는 지수적 백오프(unbounded exponential backoff)이고, 각각의 실패된 시도 이후에는 백오프가 2배가 된다. 실제 제한없는 지수적 백오프를 구현할 수 있는 시스템은 없지만, 후자에 대한 이해를 위해 논의하기로 한다.
시스템에서 이루어진 인증 시작 요청의 총 수는 이고, 이 중 가 네트워크를 혼잡하도록 낭비된 것이다. 더구나 Bi = Bmin * 2i-1 이기 때문에, 전체 완료 시간 Tcomp는 다음과 같다.
예를 들어, N=1000, K=10, B=10s, T=5s 이면, (1)의 결과는 50500개의 인증 요청이 되고, ≒ 330s의 완료 시간으로, 이해할 수 없을 정도로 상당히 큰 시간이 된다. 즉, 큰 수의 인증 시작 요청이 낭비되었고, 지수적인 백오프를 전혀 피할 수 없다는 것이다.
모든 N개의 노드를 완료하는 데에는 전체적으로 적어도 K개 세션의 N/K 라운드가 요구되고, 확장된 백오프는 단지 불필요한 지연을 추가한다는 것이다.
랜덤 지연(random delay)을 추가하는 것은 K개의 세션 사이의 시간 간격을 더 멀어지게 할 것이지만, 기본적으로 전체 행위를 변경하지는 않을 것이다. 그러면, 우리가 백오프 지연의 고정값(Bi=B)을 사용하는 경우를 고려해 보기로 한다. B>T를 가정하면, 전체 완료 시간은 인증 요청의 전체 수에 대한 변경 없이도 로 감소될 것이다. 동일한 예에 대해 대입해보면, 완료 시간이 단지 995s 걸린다. 이는 앞선 예와 비교할 때 개선된 것이다. 하지만, 미리 T를 알고 있다는 보장이 없으므로, B>T의 가정이 모든 시나리오와 네트워크 토폴로지에서 유지될 수 없다.
백오프 지연의 고정값이 Bi=B인 경우를 다시 생각해보면, B<T인 경우가 도 3에 도시되어 있다.
도 3에 도시된 것처럼, 진행 중인 K개의 세션이 완료되기 이전에 몇몇의 필요 이상의 인증 시작 요청이 이루어질 것이다. 이들의 합계는 개의 인증 요청으로 귀결된다. N=1000, K=10, T=5, B=1s 를 대입하면 248500개의 인증 요청이 계산되며, 이는 이전 2가지 경우와 비교할 때 5배 정도의 많은 수이다. 따라서, T보다 작도록 백오프 지연 B를 상수로 하는 것은 보다 많은 인증 요청을 낭비하게 된다.
이것이 최대 Bmax를 이용한 제한된 지수적 백오프가 널리 사용되는 이유이다. 실패한 시도가 있다면, 백오프 딜레이를 빨리 증가시켜 실제 세션 완료 시간보다 크도록(Bi>T) 하는 것이 이상적이며, 하지만 무한정 증가시키지는 않고 제한을 둘 것이다. 즉, 최적의 백오프 지연은 다양하고 동적인 네트워크 시나리아오에서 T보다 큰 값이도록 보장되고, 제한된 지수적 백오프 스킴이 간단하고 분배된 방식에서 수립되도록 할 것이다. 표 1은 인증 요청의 총 수와 모든 백오프 스킴에 대한 전체 완료 시간을 요약하고 비교한 것이다. Bmax>T인 한 인증 요청의 총 수는 처음의 2가지 경우와 유사()할 것이고,
[표 1]
하지만, 여전히 Bmax 값을 설정하는 방법에 대해서는 상세하게 설명되지 않고 있다. 매우 큰 값으로 설정된다면, 시스템은 재시도 사이에서 많은 시간이 낭비될 것이다. 그러므로, 백오프 정책이 필요한데, LLN 엔드포인트가 불필요한 대기시간과 낭비되는 대역폭을 없애기에 충분할 정도로만 대기하도록 하는 것이다. 더구나, 간단하게 백오프 정책을 변경하는 것이 O(N2) 차수인 낭비된 인증 시작 요청의 문제를 해결하지는 못한다. 그러므로, 낭비된 인증 시작 요청을 감소시킬 메커니즘이 필요하며, 이하에서는 본 발명의 실시예들을 참조하여 설명하기로 한다.
도 4는 본 발명의 일 실시예에 따른 상황적응적 단말기 접근제어를 위한 저전력 고손실 무선 메쉬 네트워크 시스템의 개략적인 블록 다이어그램이고, 도 5 및 도 6은 각각 LLN 보더 라우터(LBR)와 LLN 엔드포인트의 구성을 나타낸 블록도이고, 도 7은 본 발명의 일 실시예에 따른 상황적응적 단말기 접근제어 방법의 순서도이며, 도 8은 본 발명의 다른 실시예에 따른 상황적응적 단말기 접근제어 방법의 순서도이다.
본 실시예에 따른 상황적응적 단말기 접근제어를 위한 저전력 고손실 무선 메쉬 네트워크 시스템에서는 앞서 설명된 비효율성을 제거하고 메쉬 인증 프로세스의 효율성 및 속도를 유의미하게 개선시킨 메커니즘이 적용된다. 각각의 실패된 인증 시도 이후에 대기시간을 적응적으로 선택함으로써 반복되는 인증 실패 없이 빠르게 장치가 인증할 수 있도록 한다. 불필요한 트래픽을 감소시키고, 불필요한 대기시간을 줄이며, 패킷 드롭 및 혼잡을 방지하고, 전체 네트워크에서 인증 프로세스의 전체 완료 시간을 감소시킬 수 있다.
도 4를 참조하면, 저전력 고손실 네트워크를 위한 고속 및 상황적응적 노드 인증 메커니즘(FINALLY, fast and adaptive node authentication mechanism for low-power lossy networks)의 빌딩 컴포넌트들이 도시되어 있다.
LBR(120)은 LBR(120)은 LLN 엔드포인트(110)에서 전송되는 인증 시작 요청을 보안 서버로 전달하는 라우터이다. 도 5를 참조하면, 본 실시예에 따른 LBR(120)은 인증 완료 시간 추정부(121), 인증 요청 카운트부(123), NACK 메시지 관리부(125)를 포함한다. 추가적으로 펜딩 큐 관리부(127) 및 트리거 메시지 관리부(129)를 더 포함할 수도 있다.
인증 완료 시간 추정부(121)는 LLN 엔드포인트(110)가 인증 및 키 교환 프로세스를 완료하는데 소요되는 시간의 보수적인 실행 추정치인 'EstAuthCompletionTime(추정 인증 완료 시간)'을 추정한다. 인증 완료 시간 추정부(121)는 최근에 "성공된" 인증에 소요된 완료 시간의 실행 평균 AuthCompletionTime_avg와 편차 AuthCompletionTime_dev를 계산하고 지속적으로 파악할 수 있으며, 보수적인 실행 추정치를 다음과 같이 유도할 수 있다.
EstAuthCompletionTime = AuthCompletionTime_avg + α × AuthCompletionTime_dev
여기서, 사용 중인 네트워크의 지연시간 속성(예컨대, RF, PLC, 미디어의 데이터율)에 기초하여 α > 0 이 선택될 수 있다. EstAuthCompletionTime은 각 엔드포인트를 위한 추천 대기 시간을 계산하는데 사용될 것이다.
인증 요청 카운트부(123)는 최근에 수신했지만 현재 실행중인 인증 세션의 수(NumCurrentSessions)가 미리 설정된 임계치(MaxActiveSessions)와 동일하기 때문에 드롭된 인증 시작 요청의 수를 카운트한다(PendingCounter). 예를 들어, 1000개의 엔드포인트가 인증 시작 요청을 전송했지만 10개만이 승인된 경우, PendingCounter = 990 이다. 직관적으로 인증 요청 카운트부(123)에서 카운트된 인증 요청 카운트수(PendingCounter)는 인증을 위해 필드에서 대기하고 있는 엔드포인트의 수를 나타낸다.
인증 요청 카운트수는 인증 시작 요청이 수신되었지만 NumCurrentSessions가 MaxActiveSessions와 동일하기 때문에 드롭될 때마다 1씩 증가된다. 인증 시작 요청이 승인되고 신규 세션이 생성될 때마다 1씩 차감된다. 또한, NumCurrentSessions가 MaxActiveSessions보다 작고(보다 많은 신규 세션을 위한 여유가 있음을 의미) NumCurrentSessions가 MaxActiveSessions보다 작아진 이후 최근 추정 인증 완료 시간(EstAuthCompletionTime) 동안 아무런 인증 시작 요청도 수신되지 않을 때마다 1씩 차감된다.
인증 요청 카운트수는 각 엔드포인트가 인증을 재시도할 수 있을 때까지 얼마나 대기해야 하는지를 정확하게 알려주는 값으로 이용된다.
NACK 메시지 관리부(125)는 엔드포인트(110)로부터 인증 시작 요청이 수신되었으나 NumCurrentSessions가 MaxActiveSessions와 동일하기 때문에 드롭되어야 할 때, 해당 엔드포인트(110)에 대해 응답으로 NACK 메시지(AUTH_START_REQUEST_NACK)를 생성하여 전송한다.
NACK 메시지는 인증 요청 카운트수(PendingCounter), 추정 인증 완료 시간(EstAuthCompletionTime), 미리 설정된 병렬 접근 가능한 세션 수에 대한 임계치(MaxActiveSessions) 중 하나 이상의 정보를 포함한다. 직관적으로, NACK 메시지 내의 PendingCounter 값은 엔드포인트(110)에게 LBR(120)에 도착한 순서에서의 위치를 통지할 것이다. 앞선 예제에서, LBR에 11번째로 도착한 엔드포인트는 PendingCounter = 1 이 되고, 이는 해당 엔드포인트가 대기리스트의 선두에 있음을 말해준다. 1000번째 엔드포인트는 PendingCounter = 990이 되고, 이는 해당 엔드포인트가 대기리스트에서 990번째에 있음을 말해준다. 대기리스트의 선두에 있는 엔드포인트는 곧 재시도할 수 있고, 늦게 온 엔드포인트는 시간에 맞춰 보다 늦게 재시도하도록 제어할 것이다.
NACK 메시지는 LLN에서 손실된 링크 때문에 분실될 수 있다. 엔드포인트(110)가 NACK 메시지를 수신하지 못한 경우에, 해당 엔드포인트(110)는 간단히 디폴트 케이스로 처리되게 할 수 있다.
도 6을 참조하면, LLN 엔드포인트(110)는 메시지 수신부(111), 대기시간 계산부(113), 인증 요청부(115)를 포함한다.
메시지 수신부(111)는 LBR(120)에서 전송하는 메시지를 수신한다. 수신 메시지로는 전술한 NACK 메시지 및/또는 후술할 트리거 메시지일 수 있다.
LLN 엔드포인트(110)에는 복수의 대기시간 로직이 설정되어 있을 수 있다. 랜덤화된 지수적 백오프 타이머 로직과 본 실시예에 따른 적응적 대기시간 로직이다.
대기시간 계산부(113)는 메시지 수신부(111)에서 수신된 메시지가 NACK 메시지인 경우 인증 시도가 실패된 것으로 간주하고, 대기시간 로직으로 랜덤화된 지수적 백오프 타이머 로직 대신에 NACK 메시지에 기초하여 적응적 대기시간 로직을 선택하여, 대기시간을 재설계한다.
NACK 메시지를 수신한 경우, 해당 엔드포인트(110)는 이상적인 대기시간(WatiTime)을 다음과 같이 계산할 수 있다.
WaitTime = EstAuthCompletionTime × (1 + PendingCounter/MaxActiveSessions)
인증 요청부(115)는 인증 시작 요청을 재전송하기 전에 대기시간 계산부(113)에서 계산한 상기 대기시간을 정확히 대기할 수 있다.
이는 각 엔드포인트(110)에 대해 요구되는 대기시간을 정확히 알려줄 뿐만 아니라 모든 엔드포인트를 시간 영역에서 선형적으로 배치하게 할 것이고, 전체 네트워크에서 혼잡이나 불필요한 대기시간을 야기하지 않게 될 것이다. 따라서, 전체 네트워크에서 인증 완료 시간을 감소시킬 수 있다.
시간 경과에 따라 네트워크 조건이 변경될 수 있기 때문에, 너무 늦은 재시도에 대한 보호책으로 대기시간의 크기를 결정하기 위한 최대값 MaxWaitTime(최대 대기시간)이 정의될 수도 있다.
패킷 손실 혹은 LBR(120)이 본 실시예에 따른 기술사항을 지원하지 않아 엔드포인트(110)가 NACK 메시지를 수신하지 못하면, 엔드포인트(110)는 간단히 디폴트 케이스로 전환되어, 랜덤화된 지수적 백오프 타이머 로직을 선택할 수 있다. 이는 인증 시작 요청이 LBR(120)에 도달하기 이전에 분실된 경우에도 유사하게 동작할 수 있다.
다시 도 5를 참조하면, LBR(120)은 펜딩 큐 관리부(127)와 트리거 메시지 관리부(129)를 더 포함할 수 있다. 혹은 LBR(120)은 인증 완료 시간 추정부(121), 인증 요청 카운트부(123), NACK 메시지 관리부(125) 대신에 펜딩 큐 관리부(127)와 트리거 메시지 관리부(129)만을 포함할 수도 있다.
펜딩 큐 관리부(127)는 인증 시작 요청을 최근에 받았지만 NumCurrentSessions가 MaxActiveSessions와 동일하기 때문에 드롭된 엔드포인트들의 주소를 담아두는 펜딩 큐(PendingQueue)를 생성하여 관리한다. 펜딩 큐가 구현되면, 큐 사이즈는 앞서 설명한 인증 요청 카운트수를 대체할 수 있다.
인증 시작 요청이 엔드포인트(110)로부터 수신되었지만 NumCurrentSessions가 MaxActiveSessions와 동일하기 때문에 드롭될 때마다 해당 엔드포인트(110)의 주소가 펜딩 큐에 더해질 것이다. 엔드포인트 주소가 펜딩 큐에 이미 있어 중복되는 경우, 이는 드롭될 수 있다.
현재 액티브 인증 세션이 완료되고 NumCurrentSessions가 MaxActiveSessions 아래로 낮아지면(신규 세션을 위한 여유가 있음을 의미), 엔드포인트 주소가 펜딩 큐로부터 해제된다. 이 경우 큐의 선입선출 특성에 의해 펜딩 큐에 가장 먼저 더해진 엔드포인트 주소부터 해제될 수 있다. 즉, 오래 대기한 엔드포인트부터 해제되어 인증 요청이 재시도되도록 할 수 있는 것이다.
NumCurrentSessions가 MaxActiveSessions보다 작은 값인 동안 EstAuthCompletionTime에 신규 인증 시작 요청이 수신되지 않을 때에도 엔드포인트 주소가 펜딩 큐로부터 해제된다. 펜딩 큐에서 해제된 엔드포인트의 주소는 인증 시작 요청을 트리거하기 위해 사용된다.
펜딩 큐 방식은 어떠한 그리고 얼마나 많은 엔드포인트가 언제 재시도해야 하는지를 명확히 알려주며, 중복된 엔드포인트 주소를 필터링하는데 이점이 있다.
트리거 메시지 관리부(129)는 펜딩 큐에서 해제된 엔드포인트 주소를 전송하기 위한 트리거 메시지(AUTH_START_REQUEST_TRIGGER)를 생성한다. 트리거 메시지는 해당 엔드포인트에 대해 인증 시작 요청의 즉시 재전송이 가능함을 알려줄 수 있다.
메시지 수신부(111)를 통해 이 메시지를 수신한 엔드포인트(110)는 즉시 인증 시작 요청을 재전송할 수 있다.
이 메시지는 NumCurrentSessions가 MaxActiveSessions보다 작은 값이 될 때마다 LBR(120)에서 의해 전송되는데, 네트워크가 포워드 프로세스를 할 수 있을 때 낭비되는 시간이 없게 할 것이다. NumCurrentSessons가 MaxActiveSessions보다 작을 때 LBR(120)에서 의해 이 메시지가 전송되기 때문에, 다음에 들어오는 인증 시작 요청이 드롭될 가능성은 매우 적다.
트리거 메시지도 손실 무선 링크로 인해 분실될 수 있다. 이 경우 엔드포인트(110)는 추가적인 컴포넌트가 존재하지 않는 것으로 행동하고 현재 실행중인 랜덤화된 지수적 백오프 타이머를 이용하여 실행될 수 있다.
펜딩 큐 관리부(127)와 트리거 메시지 관리부(129)는 함께 동작한다. LBR(120)이 트리거 메시지를 LBR(120)로부터 멀티 홉 떨어진 LLN 엔드포인트(110)로 보내기 위해서는 LBR(120)로부터 엔드포인트(110)까지 경로가 있어야 한다. RPL 프로토콜이 이 목적으로 사용될 수 있다.
본 실시예에서 LLN 엔드포인트(110)가 FINALLY를 구현하지 않는다면, 새롭게 들어오는 통지 메시지인 NACK 메시지와 트리거 메시지를 드롭하고 FINALLY가 없는 것처럼 행동할 것이다. 반대로, LLN 엔드포인트(110)가 FINALLY를 구현하지만 LBR(120)이 그렇지 않다면, LBR(120)에서 나가는 통지 메시지가 없을 것이고, LLN 엔드포인트(110)는 FINALLY가 없는 것처럼 행동할 것이다. 즉, 현재 구축되어 있는 LLN에서도 호환성 있게 활용될 수 있다.
도 7을 참조하여, 본 발명의 일 실시예에 따른 상황적응적 단말기 접근제어 방법에 대해 설명하기로 한다.
복수의 LLN 엔드포인트(110-1~N)에서 보안 서버로 인증 요청을 전송하면, 중간에 위치하는 LBR(120)에서 최근에 성공된 인증 요청을 참조하여 인증 완료 시간을 추정한다(단계 S202).
이후 LLN 엔드포인트들에서의 인증 시작 요청(단계 S204)이 수신된 경우, NumCurrentSessions가 MaxActiveSessions와 동일하여 드롭될 때마다 인증 요청을 카운트한다(단계 S206).
인증 요청 카운트수(PendingCounter)는 소정의 차감 조건이 만족하면 1씩 차감될 수 있다. 차감 조건으로는 1) 인증 시작 요청 승인 및 신규 세션 생성, 2) NumCurrentSessions가 MaxActiveSessions보다 작아진 이후 최근 추정 인증 완료 시간 동안 아무런 인증 시작 요청도 수신되지 않을 때이다.
LBR(120)은 인증 시작 요청을 전송했지만 NumCurrentSessions가 MaxActiveSessions와 동일하여 드롭되어야 하는 엔드포인트(본 실시예에서는 제1 엔드포인트(110-1))에 대해 NACK 메시지를 생성한다(단계 S208). NACK 메시지에는 인증 요청 카운트수, 추정 인증 완료 시간, 미리 설정된 병렬 접근 가능한 세션 수에 대한 임계치 중 하나 이상의 정보가 포함될 수 있다.
제1 엔드포인트(110-1)는 NACK 메시지를 수신하고(단계 S210), NACK 메시지를 분석하여 대기리스트에서의 자신의 위치를 파악하고, 자신의 이상적인 대기시간을 계산한다(단계 S212). 대기시간 계산에 대해서는 앞서 설명한 바 있다.
자신의 대기시간이 경과한 이후, 제1 엔드포인트(110-1)는 다시 인증 시작 요청을 재전송한다(단계 S214). 이 경우 엔드포인트마다 서로 다른 대기시간이 계산되어 시간 영역에서 선형적으로 배치되었기에, 재전송된 인증 시작 요청에 대해서는 보다 빠른 시간 이내에, 바람직하게는 즉시 인증 처리가 될 수 있을 것이다.
도 8을 참조하면, 본 발명의 다른 실시예에 따른 상황적응적 단말기 접근제어 방법에 대해 설명하기로 한다.
복수의 LLN 엔드포인트(110-1~N)에서 보안 서버로 인증 요청을 전송(단계 S252)하면, 중간에 위치하는 LBR(120)에서 인증 시작 요청을 최근에 받았지만 NumCurrentSessions가 MaxActiveSessions와 동일하기 때문에 드롭된 엔드포인트들의 주소를 담아두는 펜딩 큐(PendingQueue)를 생성하여 관리한다(단계 S254).
LBR(120)에서는 현재 액티브 인증 세션이 완료되고 NumCurrentSessions가 MaxActiveSessions 아래로 낮아지면(신규 세션을 위한 여유가 있음을 의미하고, 해제조건의 성립을 의미), 엔드포인트 주소가 펜딩 큐로부터 해제된다(단계 S256). 본 실시예에서는 제1 엔드포인트(110-1)가 해제된 경우를 가정한다.
해제된 엔드포인트 주소에 상응하여 트리거 메시지를 생성한다(단계 S258).
제1 엔드포인트(110-1)는 트리거 메시지를 수신하고(단계 S260), 즉시 인증 요청을 재전송할 수 있다(단계 S262).
전술한 상황적응적 단말기 접근제어 방법은 디지털 처리 장치(LBR 및/또는 LLN 엔드포인트)에 내장되거나 설치된 프로그램 등에 의해 시계열적 순서에 따른 자동화된 절차로 수행될 수도 있음은 당연하다. 상기 프로그램을 구성하는 코드들 및 코드 세그먼트들은 당해 분야의 컴퓨터 프로그래머에 의하여 용이하게 추론될 수 있다. 또한, 상기 프로그램은 디지털 처리 장치가 읽을 수 있는 정보저장매체(computer readable media)에 저장되고, 디지털 처리 장치에 의하여 읽혀지고 실행됨으로써 상기 방법을 구현한다. 상기 정보저장매체는 자기 기록매체, 광 기록매체 및 캐리어 웨이브 매체를 포함한다.
상기에서는 본 발명의 실시예를 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
110: LLN 엔드포인트 111: 메시지 수신부
113: 대기시간 계산부 115: 인증 요청부
120: LBR 121: 인증 완료 시간 추정부
123: 인증 요청 카운트부 125: NACK 메시지 관리부
127: 펜딩 큐 관리부 129: 트리거 메시지 관리부
113: 대기시간 계산부 115: 인증 요청부
120: LBR 121: 인증 완료 시간 추정부
123: 인증 요청 카운트부 125: NACK 메시지 관리부
127: 펜딩 큐 관리부 129: 트리거 메시지 관리부
Claims (15)
- 저전력 고손실 메쉬 네트워크(LLN)에서 보안 서버와 LLN 엔드포인트 사이에 배치되는 LLN 보더 라우터(LBR)로서,
상기 LLN 엔드포인트가 상기 보안 서버로 인증 및 키 교환 프로세스를 완료하는데 소요되는 인증 완료 시간을 추정하는 인증 완료 시간 추정부;
상기 LLN 엔드포인트로부터 최근 수신했지만 현재 실행 중인 인증 세션의 수(NumCurrentSessions)가 미리 설정된 임계치(MaxActiveSessions)와 동일하여 드롭된 인증 시작 요청의 수를 카운트하는 인증 요청 카운트부;
최근 수신했지만 현재 실행 중인 인증 세션의 수가 미리 설정된 임계치와 동일하여 드롭되어야 하는 LLN 엔드포인트에 대해 대기시간의 산출이 가능한 정보를 포함한 NACK 메시지를 생성하여 전송하는 NACK 메시지 관리부를 포함하되,
상기 인증 완료 시간 추정부에 의해 추정되는 추정 인증 완료 시간(EstAuthCompletionTime)은 다음 수학식에 의해 계산되는 것을 특징으로 하는 LLN 보더 라우터,
EstAuthCompletionTime = AuthCompletionTime_avg + α × AuthCompletionTime_dev
여기서, AuthCompletionTime_avg와 AuthCompletionTime_dev는 최근에 성공된 인증에 소요된 완료 시간의 실행 평균과 편차이고, 사용 중인 네트워크의 지연시간 속성(예컨대, RF, PLC, 미디어의 데이터율)에 기초하여 α > 0 이 선택됨.
- 삭제
- 제1항에 있어서,
상기 인증 요청 카운트부에서 카운트하는 인증 요청 카운트수(PendingCounter)는 인증 시작 요청이 수신되었지만 NumCurrentSessions가 MaxActiveSessions와 동일하기 때문에 드롭될 때마다 1씩 증가되고, 인증 시작 요청이 승인되고 신규 세션이 생성될 때마다 1씩 차감되며, NumCurrentSessions가 MaxActiveSessions보다 작고 NumCurrentSessions가 MaxActiveSessions보다 작아진 이후 최근 추정 인증 완료 시간 동안 아무런 인증 시작 요청도 수신되지 않을 때마다 1씩 차감되는 것을 특징으로 하는 LLN 보더 라우터.
- 제1항에 있어서,
상기 NACK 메시지는 인증 요청 카운트수(PendingCounter), 추정 인증 완료 시간(EstAuthCompletionTime), 미리 설정된 병렬 접근 가능한 세션 수에 대한 임계치(MaxActiveSessions) 중 하나 이상의 정보를 포함하는 것을 특징으로 하는 LLN 보더 라우터.
- 저전력 고손실 메쉬 네트워크(LLN)에서 보안 서버와 LLN 엔드포인트 사이에 배치되는 LLN 보더 라우터(LBR)로서,
인증 시작 요청을 받았지만 현재 실행 중인 인증 세션의 수(NumCurrentSessions)가 미리 설정된 임계치(MaxActiveSessions)와 동일하여 드롭된 LLN 엔드포인트의 주소를 담아두는 펜딩 큐를 생성하여 관리하는 펜딩 큐 관리부;
펜딩 큐에서 해제된 LLN 엔드포인트의 주소에 상응하여 인증 시작 요청의 즉시 재전송 가능을 알려주는 트리거 메시지를 생성하여 전송하는 트리거 메시지 관리부를 포함하되,
상기 펜딩 큐 관리부는,
인증 시작 요청이 수신되었지만 NumCurrentSessions가 MaxActiveSessions와 동일하기 때문에 드롭될 때마다 해당 LLN 엔드포인트의 주소를 상기 펜딩 큐에 입력하고,
현재 액티브 인증 세션이 완료되고 NumCurrentSessions가 MaxActiveSessions 아래로 낮아지면 가장 먼저 입력된 엔드포인트 주소가 상기 펜딩 큐로부터 해제되도록 하거나, NumCurrentSessions가 MaxActiveSessions보다 작은 값인 동안 EstAuthCompletionTime에 신규 인증 시작 요청이 수신되지 않을 때에도 가장 먼저 입력된 엔드포인트 주소가 상기 펜딩 큐로부터 해제되도록 하는 것을 특징으로 하는 LLN 보더 라우터.
- 삭제
- 제5항에 있어서,
상기 펜딩 큐 관리부는 상기 펜딩 큐에 LLN 엔드포인트의 주소가 중복 입력되는 경우 이를 필터링하는 것을 특징으로 하는 LLN 보더 라우터.
- 저전력 고손실 메쉬 네트워크(LLN)에서 LLN 보더 라우터(LBR)를 거쳐 보안 서버로 인증 요청을 전송하는 LLN 엔드포인트로서,
상기 LBR로부터 대기시간 산출을 위한 NACK 메시지를 수신하는 메시지 수신부;
상기 NACK 메시지로부터 대기리스트에서 상기 LLN 엔드포인트의 위치를 파악하고 추정 인증 완료 시간과의 관계에서 상기 LLN 엔드포인트에 대한 대기시간을 계산하는 대기시간 계산부;
상기 대기시간이 경과한 이후 인증 시작 요청을 재전송하는 인증 요청부를 포함하되,
상기 대기시간 계산부는 다음 수학식에 따라 상기 대기시간을 계산하는 것을 특징으로 하는 LLN 엔드포인트,
WaitTime = EstAuthCompletionTime × (1 + PendingCounter/MaxActiveSessions)
여기서, WaitTime은 대기시간, EstAuthCompletionTime은 상기 추정 인증 완료 시간, PendingCounter는 인증 요청 카운트수, MaxActiveSessions는 미리 설정된 병렬 인증 세션 수의 임계치임.
- 삭제
- 제8항에 있어서,
상기 메시지 수신부는 인증 시작 요청의 즉시 재요청을 알리는 트리거 메시지를 수신하고,
상기 인증 요청부는 상기 트리거 메시지를 수신하면 즉시 상기 인증 시작 요청을 재전송하는 것을 특징으로 하는 LLN 엔드 포인트.
- 저전력 고손실 메쉬 네트워크에서의 상황적응적 단말기 접근제어 방법으로서,
복수의 LLN 엔드포인트에서 보안 서버로 인증 요청을 전송하면, LBR에서 최근에 성공된 인증 요청을 참조하여 인증 완료 시간을 추정하는 단계;
이후 LLN 엔드포인트들에서의 인증 시작 요청이 수신된 경우, 현재 실행 중인 인증 세션의 수(NumCurrentSessions)가 미리 설정된 임계치(MaxActiveSessions)와 동일하여 드롭된 인증 요청 수를 카운트하는 단계;
상기 LBR은 인증 시작 요청을 전송했지만 NumCurrentSessions가 MaxActiveSessions와 동일하여 드롭되어야 하는 LLN 엔드포인트에 대해 NACK 메시지를 생성하는 단계-여기서, NACK 메시지는 인증 요청 카운트수, 추정 인증 완료 시간, 미리 설정된 병렬 접근 가능한 세션 수에 대한 임계치 중 하나 이상의 정보를 포함함-;
상기 LLN 엔드포인트가 상기 NACK 메시지를 수신하고 분석하여 대기시간을 계산하는 단계;
상기 대기시간이 경과한 후 상기 LLN 엔드포인트가 인증 시작 요청을 재전송하는 단계를 포함하되,
상기 대기시간의 계산 단계는, 다음 수학식에 따라 상기 대기시간을 계산하는 것을 특징으로 하는 상황적응적 단말기 접근제어 방법,
WaitTime = EstAuthCompletionTime × (1 + PendingCounter/MaxActiveSessions)
여기서, WaitTime은 대기시간, EstAuthCompletionTime은 상기 추정 인증 완료 시간, PendingCounter는 인증 요청 카운트수, MaxActiveSessions는 미리 설정된 병렬 인증 세션 수의 임계치임.
- 삭제
- 제11항에 있어서,
상기 인증 요청 카운트수는 인증 시작 요청이 승인되고 신규 세션이 생성된 때 혹은 NumCurrentSessions가 MaxActiveSessions보다 작아진 이후 최근 추정 인증 완료 시간 동안 아무런 인증 시작 요청도 수신되지 않을 때 1씩 차감되는 것을 특징으로 하는 상황적응적 단말기 접근제어 방법.
- 저전력 고손실 메쉬 네트워크에서의 상황적응적 단말기 접근제어 방법으로서,
복수의 LLN 엔드포인트에서 보안 서버로 인증 요청을 전송하면, LBR에서 현재 실행 중인 인증 세션의 수(NumCurrentSessions)가 미리 설정된 임계치(MaxActiveSessions)와 동일하여 드롭된 LLN 엔드포인트의 주소를 펜딩 큐에 입력하는 단계;
상기 LBR에서는 현재 액티브 인증 세션이 완료되고 NumCurrentSessions가 MaxActiveSessions 아래로 낮아지면, 가장 먼저 입력된 엔드포인트 주소가 상기 펜딩 큐로부터 해제되는 단계;
트리거 메시지를 생성하여 상기 펜딩 큐에서 해제된 상기 엔드포인트 주소에 상응하는 엔드포인트로 전송하는 단계를 포함하되,
상기 엔드포인트 주소에 상응하는 엔드포인트에서는 상기 트리거 메시지를 수신하면 즉시 인증 요청을 재전송하며,
상기 LBR은 NumCurrentSessions가 MaxActiveSessions보다 작은 값인 동안 EstAuthCompletionTime에 신규 인증 시작 요청이 수신되지 않을 때에도 가장 먼저 입력된 엔드포인트 주소가 상기 펜딩 큐로부터 해제되도록 하는 것을 특징으로 하는 상황적응적 단말기 접근제어 방법. - 삭제
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160027668A KR101804421B1 (ko) | 2016-03-08 | 2016-03-08 | 저전력 고손실 무선 메쉬 네트워크 시스템에서의 상황적응적 단말기 접근제어 방법 및 이를 적용한 저전력 고손실 무선 메쉬 네트워크 시스템 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160027668A KR101804421B1 (ko) | 2016-03-08 | 2016-03-08 | 저전력 고손실 무선 메쉬 네트워크 시스템에서의 상황적응적 단말기 접근제어 방법 및 이를 적용한 저전력 고손실 무선 메쉬 네트워크 시스템 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20170104805A KR20170104805A (ko) | 2017-09-18 |
KR101804421B1 true KR101804421B1 (ko) | 2017-12-04 |
Family
ID=60034319
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160027668A KR101804421B1 (ko) | 2016-03-08 | 2016-03-08 | 저전력 고손실 무선 메쉬 네트워크 시스템에서의 상황적응적 단말기 접근제어 방법 및 이를 적용한 저전력 고손실 무선 메쉬 네트워크 시스템 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101804421B1 (ko) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150156199A1 (en) * | 2012-09-28 | 2015-06-04 | Cisco Technology, Inc. | Reduced authentication times in constrained computer networks |
-
2016
- 2016-03-08 KR KR1020160027668A patent/KR101804421B1/ko active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150156199A1 (en) * | 2012-09-28 | 2015-06-04 | Cisco Technology, Inc. | Reduced authentication times in constrained computer networks |
Also Published As
Publication number | Publication date |
---|---|
KR20170104805A (ko) | 2017-09-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Jasmine et al. | DSQLR-A distributed scheduling and QoS localized routing scheme for wireless sensor network | |
US9521158B2 (en) | Feature aggregation in a computer network | |
US8612583B2 (en) | Network management system scheduling for low power and lossy networks | |
US9270536B2 (en) | BGP slow peer detection | |
US8953479B2 (en) | System and method for license enforcement for data center monitoring applications | |
US8503309B2 (en) | Dynamic expelling of child nodes in directed acyclic graphs in a computer network | |
US9143456B2 (en) | Transmission priority paths in mesh networks | |
Taheri et al. | RoCC: robust congestion control for RDMA | |
US9544162B2 (en) | Lightweight multicast acknowledgement technique in communication networks | |
US8806573B2 (en) | Authentication control in low-power lossy networks | |
WO2013082907A1 (zh) | 一种二层网络环路处理的方法、装置及网络设备 | |
JP2014529974A (ja) | ネットワーク輻輳を回避するための方法およびその装置 | |
US10404584B2 (en) | Load sharing method and router device | |
EP2890173A1 (en) | Quarantine-based mitigation of effects of a local doS attack | |
Abdelmoniem et al. | Reconciling mice and elephants in data center networks | |
CN103312620A (zh) | 一种网络拥塞处理的方法及装置 | |
CN104683259A (zh) | Tcp拥塞控制方法及装置 | |
Zhou et al. | Performance enhancement of multipath TCP with cooperative relays in a collaborative community | |
KR101804421B1 (ko) | 저전력 고손실 무선 메쉬 네트워크 시스템에서의 상황적응적 단말기 접근제어 방법 및 이를 적용한 저전력 고손실 무선 메쉬 네트워크 시스템 | |
JP6801075B2 (ja) | データ・パケットのパス情報を得る方法及びデバイス | |
WO2018177003A1 (zh) | 一种计费方法、相关设备和系统 | |
CN115664740A (zh) | 基于可编程数据平面的数据包转发攻击防御方法及系统 | |
CN112714072B (zh) | 一种调整发送速率的方法及装置 | |
US10771476B2 (en) | Defeating man-in-the-middle attacks in one leg of 1+1 redundant network paths | |
Mala et al. | Dynamic sliding contention window adjustment in saturated wireless networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |