KR102161647B1 - IoT 디바이스의 데이터 전송을 보안하기 위한 장치 및 이를 위한 방법 - Google Patents

IoT 디바이스의 데이터 전송을 보안하기 위한 장치 및 이를 위한 방법 Download PDF

Info

Publication number
KR102161647B1
KR102161647B1 KR1020200028671A KR20200028671A KR102161647B1 KR 102161647 B1 KR102161647 B1 KR 102161647B1 KR 1020200028671 A KR1020200028671 A KR 1020200028671A KR 20200028671 A KR20200028671 A KR 20200028671A KR 102161647 B1 KR102161647 B1 KR 102161647B1
Authority
KR
South Korea
Prior art keywords
sensor data
environment
vectors
data
artificial neural
Prior art date
Application number
KR1020200028671A
Other languages
English (en)
Inventor
구남기
Original Assignee
주식회사그린존시큐리티
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사그린존시큐리티 filed Critical 주식회사그린존시큐리티
Priority to KR1020200028671A priority Critical patent/KR102161647B1/ko
Priority to PCT/KR2020/004324 priority patent/WO2021177504A1/ko
Application granted granted Critical
Publication of KR102161647B1 publication Critical patent/KR102161647B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/38Services specially adapted for particular environments, situations or purposes for collecting sensor information

Landscapes

  • Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • Biomedical Technology (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Medical Informatics (AREA)
  • Power Engineering (AREA)
  • Arrangements For Transmission Of Measured Signals (AREA)

Abstract

본 발명의 IoT 디바이스의 데이터 전송을 보안하기 위한 장치는 적어도 하나의 디바이스와 인증서를 이용한 상호 인증 절차를 통해 연속된 복수의 센서 데이터 패킷을 암호화 및 복호화 할 수 있는 길이를 가지는 비밀키를 공유하고, 상기 디바이스로부터 상기 복수의 센서 데이터 패킷을 수신하면, 수신된 복수의 센서 데이터 패킷을 상기 비밀키를 이용하여 복호화함으로써, 복수의 센서 데이터와, 상기 복수의 센서 데이터 각각에 대응하여 상기 센서 데이터를 센싱하는 환경 및 상기 센서 데이터를 전송하는 환경을 나타내는 복수의 환경 데이터를 추출하는 데이터처리부와, 상기 복수의 환경 데이터를 이용하여 상기 복수의 센서 데이터가 상기 디바이스가 생성한 것인지 여부를 인증하는 인증부를 포함한다.

Description

IoT 디바이스의 데이터 전송을 보안하기 위한 장치 및 이를 위한 방법{Apparatus and method for securing data transmission of IoT device using location information}
본 발명은 데이터 전송 보안 기술에 관한 것으로, 보다 상세하게는, IoT(Internet of Thins) 디바이스의 데이터 전송을 보안하기 위한 장치 및 이를 위한 방법에 관한 것이다.
IoT(Internet of Things) 디바이스는 센서/액추에이터, 전원모듈, 디바이스 플랫폼, 통신모듈, 네트워크 및 지능화 기술로 구성되고 서비스 환경과 유형에 따라 매우 다양한 형태로 개발되고 있다. 미래의 중점 연구 분야 중 하나로 IoT 및 센서 기술을 언급되고 있으며, 이런 센서들을 엮을 수 있는 네트워크 및 통신 기술의 중요성 또한 자명하다. USN(Ubiquitous Sensor Network)으로 통칭되는 센서 네트워크 기술은 이미 다양한 연구기관에서 다각도로 연구를 진행하였기 때문에 국내 연구진은 많은 기술을 확보 하고 있다. IoT의 큰 부분을 맡고 있는 센서 네트워크 기술은 저전력, 초소형 센서들을 이용해 기존에 우리가 접하지 못했던 거시적인 관점에서 환경 변수들을 수집하고 관리할 수 있는 환경을 제공하는데 일조했다고 할 수 있다.
한국공개특허 제2019-0115489호 2019년 10월 14일 공개 (명칭: 보안기술을 활용한 IOT 기기 보안인증 시스템)
본 발명의 목적은 IoT 디바이스가 센서 데이터를 전송할 때, IoT 디바이스의 데이터 전송을 보안하기 위한 장치 및 이를 위한 방법을 제공함에 있다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 IoT 디바이스의 데이터 전송을 보안하기 위한 장치는 적어도 하나의 디바이스와 인증서를 이용한 디바이스 인증 절차를 통해 복수의 센서 데이터 패킷을 암호화 및 복호화 할 수 있는 길이를 가지는 비밀키를 공유하고, 상기 디바이스로부터 상기 복수의 센서 데이터 패킷을 수신하면, 수신된 복수의 센서 데이터 패킷을 상기 비밀키를 이용하여 복호화함으로써, 복수의 센서 데이터와, 상기 복수의 센서 데이터 각각에 대응하여 상기 센서 데이터를 센싱하는 환경 및 상기 센서 데이터를 전송하는 환경을 나타내는 복수의 환경 데이터를 추출하는 데이터처리부와, 상기 복수의 환경 데이터를 이용하여 상기 복수의 센서 데이터가 상기 디바이스가 생성한 것인지 여부를 인증하는 인증부를 포함한다.
상기 환경 데이터는 상기 디바이스가 설치된 지리좌표 상의 위치를 나타내는 위치 정보, 상기 디바이스에 할당된 MAC 주소(Media Access Control Address)를 나타내는 네트워크 식별 정보, 상기 디바이스가 상기 센서 데이터를 생성한 시간을 나타내는 시간 정보 및 상기 디바이스가 액세스 네트워크에 접속하는 무선 구간의 전파 환경을 나타내는 전파 정보 중 적어도 하나를 포함한다.
상기 데이터처리부는 복수의 디바이스에 대해 디바이스가 설치된 지리좌표 상의 위치, 디바이스가 센서 데이터를 생성한 시간 및 디바이스가 액세스 네트워크에 접속하는 무선 구간의 전파 환경을 소정의 벡터 공간에 사상하여 복수의 디바이스의 환경 벡터를 생성하고, 복수의 디바이스의 환경 벡터 간 상관도에 따라 복수의 디바이스의 환경 벡터를 클러스터링함으로써 복수의 디바이스를 복수의 클러스터로 분류하고, 상기 학습부는 상기 환경 벡터를 이용하여 디바이스가 속하는 클러스터를 추정하도록, 가중치가 적용되는 복수의 연산으로 이루어진 복수의 계층을 포함하는 인공신경망을 학습시키는 것을 특징으로 한다.
상기 인증부는 상기 데이터처리부를 통해 상기 복수의 환경 데이터로부터 복수의 환경 벡터를 생성하고, 상기 생성된 환경 벡터를 상기 학습된 인공신경망에 입력하여 상기 학습된 인공신경망이 상기 복수의 환경 벡터에 대해 상기 가중치가 적용되는 복수의 연산을 수행하여 상기 디바이스가 복수의 클러스터 각각에 속할 확률을 출력하도록 하고, 상기 출력된 확률에 따라 상기 환경 벡터에 대응하는 상기 디바이스가 속하는 클러스터를 추정하고, 기 저장된 상기 디바이스의 클러스터와 상기 추정된 클러스터가 일치하면, 상기 복수의 센서 데이터가 상기 디바이스가 생성한 것으로 인증하는 것을 특징으로 한다.
상기 학습부는 상기 데이터처리부를 통해 클러스터가 알려진 디바이스의 복수의 센서 데이터 패킷으로부터 복수의 환경 벡터를 생성하고, 상기 알려진 클러스터에 따라 기댓값을 설정한 후, 상기 생성된 복수의 환경 벡터를 상기 인공신경망에 입력하여 상기 인공신경망이 상기 생성된 복수의 환경 벡터에 대해 상기 가중치가 적용되는 복수의 연산을 수행하여 상기 디바이스가 복수의 클러스터 각각에 속할 확률을 출력값으로 출력하도록 한 후, 상기 출력값과 상기 기댓값의 차이가 최소가 되도록 상기 인공신경망의 가중치를 조정하여 최적화하는 것을 특징으로 한다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 IoT 디바이스의 데이터 전송을 보안하기 위한 방법은 데이터처리부가 적어도 하나의 디바이스와 인증서를 이용한 디바이스 인증 절차를 통해 복수의 센서 데이터 패킷을 암호화 및 복호화 할 수 있는 길이를 가지는 비밀키를 공유하는 단계와, 상기 데이터처리부가 상기 디바이스로부터 상기 복수의 센서 데이터 패킷을 수신하는 단계와, 상기 데이터처리부가 상기 수신된 복수의 센서 데이터 패킷을 상기 비밀키를 이용하여 복호화함으로써, 복수의 센서 데이터와, 상기 복수의 센서 데이터 각각에 대응하여 상기 센서 데이터를 센싱하는 환경 및 상기 센서 데이터를 전송하는 환경을 나타내는 복수의 환경 데이터를 추출하는 단계와, 인증부가 상기 복수의 환경 데이터를 이용하여 상기 복수의 센서 데이터가 상기 디바이스가 생성한 것인지 여부를 인증하는 단계를 포함한다.
상기 비밀키를 공유하는 단계 전, 상기 데이터처리부가 복수의 디바이스에 대해 디바이스가 설치된 지리좌표 상의 위치, 디바이스가 센서 데이터를 생성한 시간 및 디바이스가 액세스 네트워크에 접속하는 무선 구간의 전파 환경을 소정의 벡터 공간에 사상하여 복수의 디바이스의 환경 벡터를 생성하는 단계와, 상기 데이터처리부가 상기 복수의 디바이스의 환경 벡터 간 상관도에 따라 복수의 디바이스의 환경 벡터를 클러스터링함으로써 복수의 디바이스를 복수의 클러스터로 분류하는 단계와, 상기 학습부가 상기 환경 벡터를 이용하여 디바이스가 속하는 클러스터를 추정하도록, 가중치가 적용되는 복수의 연산으로 이루어진 복수의 계층을 포함하는 인공신경망을 학습시키는 단계를 더 포함한다.
상기 복수의 센서 데이터가 상기 디바이스가 생성한 것인지 여부를 인증하는 단계는 상기 인증부가 상기 데이터처리부를 통해 상기 복수의 환경 데이터로부터 복수의 환경 벡터를 생성하는 단계와, 상기 인증부가 상기 생성된 환경 벡터를 상기 학습된 인공신경망에 입력하여 상기 학습된 인공신경망이 상기 복수의 환경 벡터에 대해 상기 가중치가 적용되는 복수의 연산을 수행하여 상기 디바이스가 복수의 클러스터 각각에 속할 확률을 출력하도록 하는 단계와, 상기 인증부가 상기 출력된 확률에 따라 상기 환경 벡터에 대응하는 상기 디바이스가 속하는 클러스터를 추정하는 단계와, 상기 인증부가 기 저장된 상기 디바이스의 클러스터와 상기 추정된 클러스터가 일치하면, 상기 복수의 센서 데이터가 상기 디바이스가 생성한 것으로 인증하는 단계를 포함한다.
본 발명에 따르면, 환경 데이터를 기초로 센서 데이터를 인증한다. 본 발명은 센서 데이터의 값은 감지 대상에 따라 다양한 변화 패턴을 가질 수 있지만, 본 발명의 실시예에 따른 환경 데이터의 독립 변수, 즉, 센서 데이터를 생성하는 시점의 디바이스(400)의 위치 정보, 시간 정보, 전파 정보는 디바이스(400)의 설치 장소 및 시점으로부터 시간의 흐름에 따라 상관관계 및 선형관계를 가지고 변화할 것이다. 따라서 본 발명은 인공신경망(10)을 통해 시간 흐름에 따른 환경 데이터의 독립 변수 간의 상관관계 및 선형관계를 학습시키고, 센서 데이터와 함께 전송되는 환경 데이터가 학습된 독립 변수 간의 상관관계 및 선형관계를 따르는지 여부를 통해 센서 데이터를 인증한다. 이러한 인증 방법에 따르면 학습된 인공신경망 모델이 노출되는 경우에도 시간의 흐름에 따라 변화하는 환경 데이터를 위조할 수 없기 때문에 IoT 디바이스의 전송 보안 수준이 획기적으로 향상될 수 있다. 이에 따라, IoT 디바이스를 통해 수집되는 데이터에 대한 신뢰도가 향상된다.
도 1은 본 발명의 실시예에 따른 IoT 디바이스의 데이터 전송을 보안하기 위한 시스템의 구성을 설명하기 위한 도면이다.
도 2 내지 도 4는 본 발명의 실시예에 따른 서비스서버의 구성을 설명하기 위한 도면이다.
도 5는 내지 도 7은 본 발명의 실시예에 따른 인공신경망의 구성을 설명하기 위한 도면이다.
도 8은 본 발명의 실시예에 따른 디바이스의 구성을 설명하기 위한 도면이다.
도 9는 본 발명의 실시예에 따른 복수의 디바이스를 복수의 클러스터로 분류하는 방법을 설명하기 위한 흐름도이다.
도 10은 본 발명의 실시예에 따른 인공신경망을 학습시키는 방법을 설명하기 위한 흐름도이다.
도 11은 본 발명의 실시예에 따른 비밀키 공유 방법을 설명하기 위한 흐름도이다.
도 12는 본 발명의 실시예에 따른 IoT 디바이스의 데이터 전송을 보안하기 위한 방법을 설명하기 위한 흐름도이다.
도 13은 본 발명의 다른 실시예에 따른 센서 데이터에 대한 인증을 수행하는 방법을 설명하기 위한 흐름도이다.
본 발명의 상세한 설명에 앞서, 이하에서 설명되는 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념으로 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명의 가장 바람직한 실시예에 불과할 뿐, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형 예들이 있을 수 있음을 이해하여야 한다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다. 이때, 첨부된 도면에서 동일한 구성 요소는 가능한 동일한 부호로 나타내고 있음을 유의해야 한다. 또한, 본 발명의 요지를 흐리게 할 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략할 것이다. 마찬가지의 이유로 첨부 도면에 있어서 일부 구성요소는 과장되거나 생략되거나 또는 개략적으로 도시되었으며, 각 구성요소의 크기는 실제 크기를 전적으로 반영하는 것이 아니다.
먼저, 본 발명의 실시예에 따른 IoT 디바이스의 데이터 전송을 보안하기 위한시스템에 대해서 설명하기로 한다. 도 1은 본 발명의 실시예에 따른 IoT 디바이스의 데이터 전송을 보안하기 위한 시스템의 구성을 설명하기 위한 도면이다. 도 1을 참조하면, 본 발명의 실시예에 따른 IoT 디바이스의 데이터 전송을 보안하기 위한 시스템(이하, '보안 시스템'으로 축약함)은 관리서버(100), 인증서버(200), IoT 디바이스(400: 이하, '디바이스'로 축약함)를 포함한다. 관리서버(100), 인증서버(200) 및 디바이스(400)는 네트워크를 통해 상호간에 통신할 수 있다.
디바이스(400)는 감지 대상을 감지하기 위한 장치로, 소정의 센서를 통해 감지 대상을 감지하여 센서 데이터를 생성하고, 이를 관리서버(100)로 전송한다.
관리서버(100)는 복수의 디바이스(400)를 관리하기 위한 장치이며, 복수의 디바이스(400)가 감지 대상을 센싱한 센서 데이터를 수집할 수 있다.
인증서버(200)는 관리서버(100)가 디바이스(400)로부터 센서 데이터의 수집 시, 보안을 위한 인증서를 제공한다.
그러면, 전술한 관리서버(100 및 디바이스(400) 등의 구성에 대해 보다 상세하게 설명하기로 한다. 먼저, 관리서버(100의 구성에 대해 보다 상세하게 설명하기로 한다. 도 2 내지 도 4는 본 발명의 실시예에 따른 서비스서버의 구성을 설명하기 위한 도면이다. 도 2를 참조하면, 본 발명의 실시예에 따른 관리서버(100)는 통신모듈(110), 저장모듈(120) 및 제어모듈(130)을 포함한다.
통신모듈(110)은 네트워크를 통해 인증서버(200) 혹은 디바이스(400)와 통신하기 위한 것이다. 통신모듈(110)은 제어모듈(130)의 제어에 따라 디바이스(400) 혹은 인증서버(200)로부터 데이터를 수신하거나, 디바이스(400) 혹은 인증서버(200)에 데이터를 전송할 수 있다. 통신모듈(110)은 네트워크를 통해 데이터를 송수신하기 위해 송신되는 신호를 변조하고, 수신되는 신호를 복조하는 모뎀(modem)을 포함할 수 있다. 이러한 통신모듈(110)은 제어모듈(130)로부터 전달 받은 데이터, 예컨대, 공개키, 인증서 등을 네트워크를 통해 인증서버(200) 혹은 디바이스(400)로 전송할 수 있다. 또한, 통신모듈(110)은 인증서버(200) 혹은 디바이스(400)로부터 수신되는 데이터, 예컨대, 인증서, 센서 데이터 등을 제어모듈(130)로 전달할 수 있다.
저장모듈(120)은 관리서버(100)의 동작에 필요한 프로그램 및 데이터를 저장하는 역할을 수행한다. 예컨대, 저장모듈(120)은 제어모듈(130)의 제어에 따라 인증서, 센서 데이터 등을 저장할 수 있다. 또한, 저장모듈(120)은 제어모듈(130)의 제어에 따라 비밀키 등을 더 저장할 수 있다. 더욱이, 저장모듈(120)은 관리 대상인 복수의 디바이스(400) 각각의 식별자(ID), 복수의 디바이스(400) 각각이 설치된 지리좌표 상의 위치 및 복수의 디바이스(400) 각각에 할당된 MAC 주소 등을 저장할 수 있다. 저장모듈(120)에 저장되는 각 종 데이터는 관리자의 조작에 따라 등록, 삭제, 변경, 추가될 수 있다.
제어모듈(130)은 관리서버(100)의 전반적인 동작 및 관리서버(100)의 내부 블록들 간 신호 흐름을 제어하고, 데이터를 처리하는 데이터 처리 기능을 수행할 수 있다. 제어모듈(130)은 중앙처리장치(central processing unit), 디지털신호처리기(digital signal processor) 등이 될 수 있다. 도 3을 참조하면, 제어모듈(130)은 데이터처리부(131), 학습부(133), 인증부(135) 및 인공신경망(10)을 포함한다.
데이터처리부(131)는 복수의 디바이스(400)를 복수의 클러스터로 분류한다. 이때, 데이터처리부(131)는 복수의 디바이스(400) 각각의 센서 데이터를 센싱하는 환경 및 센서 데이터를 전송하는 환경의 상관도에 따라 클러스터링하여 복수의 디바이스(400)를 복수의 클러스터로 구분할 수 있다. 이에 대해 보다 상세하게 설명하면 다음과 같다. 우선, 디바이스(400)가 설치된 후, 디바이스(400)는 센서 데이터를 전송할 때마다, 환경 데이터를 같이 전송한다. 여기서, 환경 데이터는 디바이스가 설치된 지리좌표 상의 위치를 나타내는 위치 정보(예컨대, GPS 좌표), 디바이스에 할당된 MAC 주소(Media Access Control Address)를 나타내는 네트워크 식별 정보, 디바이스가 상기 센서 데이터를 생성한 시간을 나타내는 시간 정보 및 디바이스가 액세스 네트워크에 접속하는 무선 구간의 전파 환경을 나타내는 전파 정보(예컨대, RSSI, RSRP, RSRQ 등)를 포함한다. 데이터처리부(131)는 도 4에 도시된 바와 같이, 복수의 디바이스(400)가 전송한 환경 데이터의 위치 정보, 시간 정보 및 전파 정보를 벡터 공간(VS: Vector Space)에 사상(embedding)하여 복수의 디바이스(400) 각각의 환경 벡터를 생성한다. 도 4에서 복수의 점들은 복수의 디바이스(400) 각각의 환경 벡터를 나타낸다. 즉, 데이터처리부(131)는 복수의 디바이스(400)에 대해 디바이스(400)가 설치된 지리좌표 상의 위치, 디바이스(400)가 센서 데이터를 생성한 시간 및 디바이스(400)가 액세스 네트워크에 접속하는 무선 구간의 전파 환경을 소정의 벡터 공간(VS)에 사상하여 복수의 디바이스(400) 각각의 환경 벡터를 생성한다. 그리고 데이터처리부(131)는 벡터 공간 상에서 환경 벡터를 소정의 클러스터링 기법(예컨대, K-means)을 통해 클러스터링하여 복수의 클러스터를 생성한다. 도 4에 3개의 클러스터(CL1, CL2, CL3)만 도시되었지만, 이는 단지 예시적인 것이며, 보다 많은 수의 클러스터가 존재할 수 있다. 이와 같이, 데이터처리부(131)는 복수의 디바이스(400)의 환경 벡터를 그 상관도에 따라 클러스터링한다. 이로써, 환경 벡터의 상관도에 따라 복수의 디바이스(400)가 복수의 클러스터로 분류된다.
데이터처리부(131)는 적어도 하나의 디바이스(400)와 인증서를 이용한 상호 인증 절차를 통해 비밀키를 공유한다. 이러한 비밀키는 소정 길이의 연속된 복수의 센서 데이터 패킷을 암호화할 수 있는 길이를 가진다. 비밀키 공유 방법에 대해서는 아래에서 보다 상세하게 설명하기로 한다. 데이터처리부(131)는 디바이스(400)로부터 복수의 센서 데이터 패킷을 수신하면, 그 디바이스(400)와 공유된 비밀키를 이용하여 그 복수의 센서 데이터 패킷을 복호화하여 복수의 센서 데이터 패킷 각각으로부터 센서 데이터와 환경 데이터를 추출할 수 있다.
학습부(133)는 본 발명의 실시예에 따라 인공신경망(10)을 학습시키기 위한 모듈이며, 인공신경망(10)을 학습시키는 방법에 대해서는 아래에서 보다 상세하게 설명될 것이다.
인증부(135)는 복수의 센서 데이터 패킷 각각으로부터 센서 데이터 및 환경 데이터가 추출되면, 환경 데이터를 통해 센서 데이터가 인증된 디바이스(400)가 전송한 것인지 여부를 판별한다. 이러한 인증 방법에 대해서 아래에서 보다 상세하게 설명될 것이다.
인공신경망(10)은 순환망(RN) 및 추정망(EN)을 포함하며, 가중치가 적용되는 복수의 연산으로 이루어진 복수의 계층을 포함한다. 학습이 완료된 인공신경망(10)은 환경 벡터가 입력되면, 환경 벡터에 대응하는 디바이스가 복수의 클러스터 각각에 속할 확률을 출력한다.
그러면, 전술한 인공신경망(10)에 대해서 보다 상세하게 설명하기로 한다. 그리고 도 5는 내지 도 7은 본 발명의 실시예에 따른 인공신경망의 구성을 설명하기 위한 도면이다.
도 5에 본 발명의 실시예에 따른 인공신경망(10) 중 순환망(RN)이 도시되었다. 이러한 순환망(RN)은 RNN(Recurrent Neural Network), LTSM(Long Short-Term Memory models), GRU(Gated recurrent unit) 등을 예시할 수 있다.
순환망(RN)은 입력층(MIN), 은닉층(MHL) 및 중간층(ML)을 포함한다. 순환망(RN)의 입력층(IN), 은닉층(HL) 및 중간층(ML)은 복수의 스테이지로 이루어지며, 도 5에는 4개의 스테이지(S1, S2, S3, S4)로 이루어지는 것으로 설명하지만 본 발명을 이에 한정하는 것은 아니다. 전술한 바와 같이, 데이터처리부(131)는 디바이스(400)와 인증서를 이용한 상호 인증 절차를 통해 비밀키를 공유하며, 스테이지의 수는 디바이스(400)와 공유된 비밀키를 통해 복호화 가능한 센서 데이터 패킷의 길이에 따라 결정된다.
도 5에 도시된 바와 같이, 입력층(IN)은 복수의 입력셀(IC)을 포함하며, 은닉층(HL)은 복수의 은닉셀(HC)을 포함하며, 중간층(ML)은 복수의 중간셀(MC)을 포함한다. 그리고 스테이지 별로 하나의 입력셀(IC), 은닉셀(HC) 및 출력셀(OC)이 배치된다.
입력층(IL)의 복수의 입력셀(IC) 각각에는 복수의 환경 벡터(E1, E2, E3, E4)가 입력된다. 도 4를 참조로 설명된 바와 같이, 환경 벡터는 센서 데이터 패킷으로부터 추출한 환경 데이터 중 디바이스(400)가 설치된 지리좌표 상의 위치를 나타내는 위치 정보, 디바이스(400)가 센서 데이터를 생성한 시간을 나타내는 시간 정보 및 디바이스(400)가 액세스 네트워크에 접속하는 무선 구간의 전파 환경을 나타내는 전파 정보로부터 도출된다. 이때, 복수의 환경 벡터(E1, E2, E3, E4)는 시간 정보에 따라 센서 데이터를 생성한 시간 순서에 따라 정렬되어 입력층(IL)의 각 스테이지에 입력된다.
또한, 환경 벡터(E1, E2, E3, E4)의 수는 디바이스(400)가 센싱한 센서 데이터 패킷의 수에 대응한다. 즉, 센서 데이터 패킷 하나 당 하나의 환경 벡터가 도출된다. 이 실시예와 같은 경우, 4개의 센서 데이터 패킷으로부터 4개의 환경 벡터(E1, E2, E3, E4)를 도출한다. 전술한 바와 같이, 데이터처리부(131)는 디바이스(400)와 인증서를 이용한 상호 인증 절차를 통해 비밀키를 공유하며, 비밀키의 길이에 따라 복호 가능한 센서 데이터 패킷의 수가 결정되기 때문에 입력층(IL)의 복수의 입력셀(IC)에 입력되는 환경 벡터(E1, E2, E3, E4)의 수는 공유된 비밀키를 통해 복호화 가능한 센서 데이터 패킷의 수에 따라 결정된다.
입력층(IL)의 복수의 입력셀(IC)에 환경 벡터(E1, E2, E3, E4)가 입력되면, 복수의 입력셀(IC)은 환경 벡터(E1, E2, E3, E4)를 은닉층(HL)의 복수의 은닉셀(HC) 각각에 입력한다.
도 6을 참조하면, 어느 하나의 은닉셀(HC)은 가중치(Weight, Wx, Wh, Wy)가 적용되는 하나 이상의 연산으로 이루어진다. 여기서, 연산은 활성화함수(Activation Function)를 적용한 연산을 의미한다. 활성화함수는 시그모이드(Sigmoid), 하이퍼볼릭탄젠트(tanh: Hyperbolic tangent), ELU(Exponential Linear Unit), ReLU(Rectified Linear Unit), Leakly ReLU, Maxout, Minout, Softmax 등을 예시할 수 있다. 또한, 하나의 은닉셀(HC)에서 가중치는 입력값 Xt에 적용되는 입력 가중치 Wx, 이전 스테이지의 상태값 Ht-1에 대해 적용되는 상태 가중치 Wh 및 출력값 Yt에 대해 적용되는 출력 가중치 Wy를 포함한다.
예컨대, 은닉셀에 적용되는 가중치가 적용되는 연산은 다음의 수학식 1을 예시할 수 있다.
Figure 112020024356017-pat00001
Figure 112020024356017-pat00002
여기서, tanh 함수, ReLU 함수는 다른 활성화함수로 변경될 수 있다.
도 6 및 수학식 1을 참조하면, 복수의 은닉셀(HC) 각각은 이전 스테이지의 은닉셀(HC)이 연산한 이전 스테이지의 상태값과 자신의 스테이지의 입력값을 통해 가중치가 적용되는 연산을 수행하여 출력값을 산출한다. 한편, 첫 번째 은닉셀(HC)의 경우, 최초 입력 X1에서 이전 스테이지의 상태값은 존재하지 않지만, 입력 벡터열의 길이가 은닉셀(HC)의 길이 4를 초과하는 경우, 예컨대, 입력 벡터열의 길이가 5이면, 5번째 벡터의 입력값 X5는 첫 번째 은닉셀(HC)에 입력되며, 이때, 4번째 은닉셀이 연산한 상태값이 첫 번째 은닉셀(HC)에 제공될 수 있다.
정리하면, 순환망(RN)에 환경 벡터가 입력되면, 가중치가 적용되는 복수의 연산을 통해 중간값을 출력한다. 즉, 순환망(RN)은 복수의 센서 데이터 패킷의 환경 데이터로부터 도출된 복수의 환경 벡터(E1, E2, E3, E4)가 측정된 순서대로 입력되면, 복수의 환경 벡터(E1, E2, E3, E4)에 대해 가중치(예컨대, Wx, Wh, Wy)가 적용되는 연산(예컨대, tahh, ReLU)을 통해 중간값(M1, M2, M3, M4)을 산출하고, 산출된 중간값(M1, M2, M3, M4)은 중간층(ML)을 통해 출력한다. 중간층(ML)의 복수의 중간셀(MC)로부터 출력되는 중간값(M1, M2, M3, M4)은 추정망(EN)에 입력된다.
도 7을 참조하면, 추정망(EN)은 가중치가 적용되는 복수의 연산으로 이루어진 복수의 계층을 포함한다. 이러한 추정망(EN)은 완전연결층(FL: Fully Connected Layer) 및 출력층(OL: Output Layer)을 포함한다.
완전연결층(FL)은 복수의 연결 노드(C1 내지 Cn)를 포함한다. 완전연결층(FL)의 복수의 노드(C1 내지 Cn)는 중간값(M1, M2, M3, M4)이 입력되면, 중간값(M1, M2, M3, M4)에 대해 활성화함수(Activation Function)에 의한 연산을 수행한 후, 가중치(w)를 적용하여 출력값을 산출한다. 여기서, 활성화함수는 시그모이드(Sigmoid), 하이퍼볼릭탄젠트(tanh: Hyperbolic tangent), ELU(Exponential Linear Unit), ReLU(Rectified Linear Unit), Leakly ReLU, Maxout, Minout, Softmax 등을 예시할 수 있다. 완전연결층(FL)의 복수의 연결 노드(C1 내지 Cn)는 출력층(OL)의 복수의 노드(O1 내지 Om)로 산출된 출력값을 출력한다.
출력계층(OL)은 완전연결층(FL)으로부터 출력된 출력값을 저장한다. 출력계층(OL)은 복수의 출력 노드(O1 내지 Om)를 포함하며, 복수의 출력 노드(O1 내지 Om) 각각은 서로 다른 클러스터(예컨대, CL1, CL2, CL3, ...CLm)에 대응한다. 그리고 복수의 출력 노드(O1 내지 Om) 각각의 값은 해당 디바이스(400)가 해당 출력 노드에 대응하는 클러스터에 속할 확률을 나타낸다. 예컨대, 제1 내지 제m 출력 노드(O1 내지 Om)는 각각 제1 클러스터 내지 제m 클러스터에 대응할 수 있다. 또한, 완전연결층(FL)의 연산 결과 및 가중치 적용에 따른 출력값인 제1 내지 제m 출력 노드(O1 내지 Om)의 값이 0.02, 0.70, 0.11, ..., 0.07이 될 수 있다. 이는 해당 디바이스(400)가 제1 클러스터에 속할 확률이 2%이고, 제2 클러스터에 속할 확률이 70%이고, 제3 클러스터에 속할 확률이 11%이고, 제m 클러스터에 속할 확률이 7%임을 나타낸다. 여기서, 생략된 유형(제4 클러스터 내지 제m-1 클러스터)을 포함하여 제2 클러스터에 속할 확률이 70%로 가장 높다고 가정한다. 이에 따라, 해당 디바이스(400)는 제2 클러스터에 속하는 것으로 추정할 수 있다.
다음으로, 본 발명의 실시예에 따른 디바이스(400)의 구성에 대해서 설명하기로 한다. 도 8은 본 발명의 실시예에 따른 디바이스의 구성을 설명하기 위한 도면이다.
도 8을 참조하면, 디바이스(400)는 통신부(410), 센서부(420), 저장부(430) 및 제어부(440)를 포함한다.
통신부(410)는 네트워크를 통해 관리서버(100) 및 인증서버(200)와 통신하기 위한 것이다. 이러한 통신을 통해 데이터 등을 전달할 수 있다. 통신부(410)는 송신되는 신호의 주파수를 상승 변환 및 증폭하는 RF 송신기와, 수신되는 신호를 저 잡음 증폭하고 주파수를 하강 변환하는 RF 수신기 등으로 구성될 수 있다. 이러한 통신부(410)는 BS(Base Station), NodeB, eNodeB 등과 같은 기지국, AP 등을 포함하는 액세스 네트워크를 통해 무선 구간을 연결하고 코어 네트워크를 통해 유선 구간을 연결하여 관리서버(100) 및 인증서버(200)와 통신을 수행할 수 있다.
센서부(420)는 적어도 하나의 센서를 포함한다. 이러한 센서는 디바이스(400)의 용도에 따라 다양한 종류가 적용될 수 있다. 예를 들면, 기후를 측정하는 센서 네트워크에 활용되는 디바이스(400)인 경우, 센서부(420)는 온도 센서, 습도 센서, 압력 센서 등을 포함할 수 있다. 다른 예로, 스마트 공장에서 산업용 로봇의 고장 여부를 진단하기 위한 용도로 사용되는 디바이스(400)인 경우, 센서부(420)는 진동 센서, 소리 센서, 압력 센서 등을 포함할 수 있다. 이러한 센서부(420)는 그 센서의 용도에 따라 대상을 센싱을 수행하여 센서 데이터를 생성하고, 생성된 센서 데이터를 제어부(440)에 제공한다.
저장부(430)는 디바이스(400)의 동작에 필요한 각 종 데이터, 애플리케이션, 디바이스(400)의 동작에 따라 구성되는 각 종 데이터를 저장하는 역할을 수행한다. 이러한 저장부(430)는 크게 프로그램 영역과 데이터 영역을 포함할 수 있다. 프로그램 영역은 디바이스(400)의 부팅(booting) 및 운영(operation)을 위한 운영체제(OS, Operating System), 본 발명의 실시예에 따른 환경 데이터를 생성하기 위한 애플리케이션, 전송되는 센서 데이터 패킷을 암호화하기 위한 애플리케이션 등을 저장할 수 있다. 데이터 영역에는 디바이스(400) 자신이 설치된 지리좌표 상의 위치, 비밀키, 공유키 등 본 발명의 실시예에 따라 필요한 각 종 데이터를 저장할 수 있다. 저장부(430)에 저장되는 각 종 데이터는 사용자의 조작에 따라, 삭제, 변경, 추가될 수 있다.
제어부(440)는 디바이스(400)의 전반적인 동작 및 디바이스(400)의 내부 블록들 간 신호 흐름을 제어하고, 데이터를 처리하는 데이터 처리 기능을 수행할 수 있다. 이러한 제어부(440)는 중앙처리장치(CPU: Central Processing Unit), 디지털신호처리기(DSP: Digital Signal Processor) 등이 될 수 있다. 또한, 제어부(440)는 추가로 이미지 프로세서(Image processor) 혹은 GPU(Graphic Processing Unit)를 더 구비할 수 있다. 이러한 제어부(440)의 동작은 아래에서 더 상세하게 설명될 것이다.
다음으로, 본 발명의 실시예에 따른 IoT 디바이스의 데이터 전송을 보안하기 위한 방법에 대해서 설명하기로 한다. 본 발명의 실시예에 따르면, 데이터 전송의 보안을 위해 복수의 디바이스(400)를 복수의 클러스터로 분류할 수 있다. 이러한 방법에 대해서 설명하기로 한다. 도 9는 본 발명의 실시예에 따른 복수의 디바이스를 복수의 클러스터로 분류하는 방법을 설명하기 위한 흐름도이다.
도 4 및 도 9를 참조하면, 관리서버(100) 제어모듈(130)의 데이터처리부(131)는 S110 단계에서 통신모듈(110)을 통해 복수의 디바이스(400) 각각으로부터 수신되는 센서 데이터 패킷을 저장모듈(120)에 누적하여 저장할 수 있다.
데이터처리부(131)는 S120 단계에서 기 설정된 수 이상의 센서 데이터 패킷이 누적되어 저장된 것으로 판단되면, S130 단계에서 복수의 디바이스(400)의 센서 데이터 패킷으로부터 환경 데이터, 즉, 위치 정보, 시간 정보 및 전파 정보를 추출한다. 여기서, 위치 정보는 디바이스(400)가 설치된 지리좌표 상의 위치를 나타내며, GPS 좌표를 예시할 수 있다. 시간 정보는 디바이스(400)가 센서 데이터를 생성한 시간을 나타낸다. 전파 정보는 디바이스(400)가 센서 데이터 전송을 위하여 액세스 네트워크에 접속하는 무선 구간의 전파 환경을 나타낸다. 이러한 전파 환경은 예컨대, RSSI, RSRP, RSRQ 등을 통해 수치화 할 수 있다.
그런 다음, 데이터처리부(131)는 S140 단계에서 앞서 추출된 위치 정보, 시간 정보 및 전파 정보를 벡터 공간(VS: Vector Space)에 사상(embedding)하여 복수의 디바이스(400) 각각의 복수의 환경 벡터를 생성한다. 도 4에 도시된 바와 같이, 복수의 점들은 복수의 디바이스(400) 각각의 환경 벡터를 나타낸다. 즉, 데이터처리부(131)는 복수의 디바이스(400)에 대해 디바이스(400)가 설치된 지리좌표 상의 위치, 디바이스(400)가 센서 데이터를 생성한 시간 및 디바이스(400)가 센서 데이터를 전송하기 위하여 액세스 네트워크에 접속하는 무선 구간의 전파 환경을 소정의 벡터 공간(VS)에 사상하여 복수의 디바이스(400) 각각의 환경 벡터를 생성한다.
그리고 데이터처리부(131)는 S150 단계에서 벡터 공간 상에서 복수의 환경 벡터를 소정의 클러스터링 기법(예컨대, K-means)을 통해 환경 벡터 간의 상관도에 따라 클러스터링하여 복수의 클러스터로 분류한다. 이로써, 각 환경 벡터는 디바이스(400)에 대응하기 때문에 복수의 디바이스(400)가 복수의 클러스터로 분류된다. 도 4에 3개의 클러스터(CL1, CL2, CL3)만 도시되었지만, 이는 단지 예시적인 것이며, 보다 많은 수의 클러스터가 존재할 수 있다.
다음으로, 본 발명의 실시예에 따른 인공신경망(10)을 학습시키는 방법에 대해서 설명하기로 한다. 도 10은 본 발명의 실시예에 따른 인공신경망을 학습시키는 방법을 설명하기 위한 흐름도이다.
도 10을 참조하면, 학습부(133)는 S210 단계에서 데이터처리부(131)를 통해 클러스터가 알려진 복수의 센서 데이터 패킷으로부터 복수의 환경 벡터를 생성한다. 전술한 도 9의 S110 단계에서 복수의 디바이스(400) 각각으로부터 수신되는 센서 데이터 패킷이 저장모듈(120)에 누적되어 저장되었다. 따라서 저장모듈(120)에 저장된 센서 데이터 패킷은 모두 클러스터가 알려진 센서 데이터 패킷이다. 따라서 학습부(133)는 저장모듈(120)에 저장된 복수의 센서 데이터 패킷 중 어느 하나의 디바이스(400)로부터 수신된 복수의 센서 데이터 패킷을 추출하고, 복수의 센서 데이터 패킷 각각의 위치 정보, 시간 정보 및 전파 정보를 추출하여 벡터 공간에 사상(embedding)함으로써 복수의 환경 벡터를 생성할 수 있다.
이어서, 학습부(133)는 S220 단계에서 알려진 클러스터에 따라 기댓값을 설정한다. 예컨대, 도 6을 참조하면, 복수의 환경 벡터의 기초가 되는 복수의 센서 데이터 패킷을 전송한 디바이스(400)가 속한 클러스터가 제2 클러스터(CL2)에 속한다고 가정한다. 그러면, 기댓값은 제2 클러스터(CL2)에 속할 확률이 70%이상이고, 제2 클러스터(CL2) 이외의 클러스터(CL1, CL3, CL4, ..., CLm)에 혹할 확률이 30% 미만(O2≥0.70, O1+O3+...+Ok<0.30)인 것으로 설정될 수 있다.
다음으로, 학습부(133)는 S230 단계에서 복수의 환경 벡터를 인공신경망(10)에 입력한다. 그러면, 인공신경망(100)은 입력된 복수의 환경 벡터에 대해 가중치(w)가 적용되는 복수의 연산을 수행하여 디바이스(400)가 복수의 클러스터(CL1, CL3, CL4, ..., CLm) 각각에 속할 확률을 출력값으로 출력할 것이다.
이에 따라, 학습부(133)는 S150 단계에서 인공신경망(100)의 출력값과 기댓값의 차이가 최소가 되도록 인공신경망(10)의 가중치(w)를 최적화한다. 여기서, 최적화 알고리즘은 대표적으로 역전파 알고리즘(Back Propagation Algorithm)을 예시할 수 있다. 예컨대, 도 6을 참조하면, 출력값, 즉, 제1 내지 제m 출력 노드(O1 내지 Om의 값이 0.33, 0.50, 0.11, ..., 0.01이 될 수 있다. 이러한 출력값은 기댓값(O2≥0.70, O1+O3+...+Ok<0.30)과 차이가 있으며, 학습부(300)는 이러한 차이값이 최소화되도록 최적화 알고리즘을 통해 인공신경망(10)의 가중치를 조절한다.
전술한 바와 같은 도 10을 참조로 하는 학습 과정은 복수의 학습 데이터를 이용하여 반복하여 수행된다.
한편, 관리서버(100)는 인증서버(200)를 통해 디바이스(400)와 인증서를 이용한 상호 인증 절차를 통해 복수의 센서 데이터 패킷을 암호화할 수 있는 길이를 가지는 비밀키를 공유한다. 이러한 비밀키 공유 방법에 대해서 설명하기로 한다. 도 11은 본 발명의 실시예에 따른 비밀키 공유 방법을 설명하기 위한 흐름도이다.
도 11을 참조하면, 관리서버(100) 제어모듈(130)의 데이터처리부(131)는 S310 단계에서 통신모듈(110)을 통해 인증서버(200)로 관리서버 공개키를 전송하여 인증을 요청한다.
인증서버(200)는 관리서버 공개키를 수신하면, S320 단계에서 관리서버 공개키를 인증서버 개인키로 암호화하여 인증서를 생성한다. 그런 다음, 인증서버(200)는 S330 단계에서 앞서 생성된 인증서를 관리서버(100)에 제공한다. 이어서, 인증서버(200)는 S340 단계에서 인증서버 공개키를 디바이스(400)에 제공한다.
한편, 디바이스(400)의 제어부(440)는 S350 단계에서 통신부(410)를 통해 관리서버(100)에 센서 데이터를 전송하기 위한 디바이스 인증을 요청한다. 그러면, 관리서버(100) 제어모듈(130)의 데이터처리부(131)는 S360 단계에서 디바이스(300)로 인증서를 전송한다.
관리서버(100)로부터 수신된 인증서는 인증서버 개인키로 암호화된 것이기 때문에 디바이스(400)의 제어부(440)는 S370 단계에서 앞서(S340) 수신된 인증서버 공개키를 이용하여 관리서버(100)로부터 수신된 인증서로부터 관리서버 공개키를 추출할 수 있다.
그런 다음, 디바이스(400)의 제어부(440)는 S380 단계에서 센서 데이터 패킷의 암호화 및 복호화에 사용할 비밀키를 생성하고, 앞서 추출된 관리서버 공개키로 비밀키를 암호화한다. 본 발명의 실시예에서 소정 수의 센서 데이터 패킷에 대해 한 번의 암호화 혹은 복호화 연산을 수행할 수 있다. 따라서 비밀키는 해당하는 수의 복수의 센서 데이터 패킷을 암호화 혹은 복호화 할 수 있는 길이를 가진다. 이어서, 제어부(440)는 S390 단계에서 통신부(410)를 통해 관리서버(100)로 관리서버 공개키를 이용하여 암호화된 비밀키를 전송한다.
비밀키는 관리서버 공개키로 암호화되었기 때문에 관리서버(100) 제어모듈(130)의 데이터처리부(131)는 S400 단계에서 암호화된 비밀키를 관리서버 개인키를 이용하여 복호화함으로써 비밀키를 획득할 수 있다.
이와 같이, 이러한 비밀키는 후에 디바이스(400)와 관리서버(100) 간의 데이터 전송 시, 데이터의 암호화와 복호화에 사용된다. 이로써, 데이터의 기밀성을 유지할 수 있다.
전술한 바와 같이, 관리서버(100)는 인증서버(200)가 발행하는 인증서를 이용하여 디바이스(400)와 상호 인증 절차를 통해 복수의 센서 데이터 패킷을 암호화 혹은 복호화 할 수 있는 비밀키를 공유한다.
이와 같이, 비밀키를 공유한 상태에서 디바이스(400)는 관리서버(100)로 데이터, 즉, 센서 데이터를 전송할 때, 전송되는 데이터를 보안하는 방법에 대해서 설명하기로 한다. 도 12는 본 발명의 실시예에 따른 IoT 디바이스의 데이터 전송을 보안하기 위한 방법을 설명하기 위한 흐름도이다.
도 12를 참조하면, 디바이스(400)의 제어부(440)는 S510 단계에서 통신부(410)를 통해 지속적으로 무선 구간의 전파 환경의 측정을 수행한다. 기본적으로, 디바이스(400)의 제어부(440)는 통신부(410)를 통해 기지국(300)으로부터 수신되는 전파(파일럿 신호, 방송 채널 신호 등)를 측정하여 디바이스(400)와 기지국(300) 간의 무선 환경의 전파 환경을 나타내는 파라미터, 예컨대, RSSI, RSRP, RSRQ 등을 기지국(300)으로 리포트한다. 이에 따라, 제어부(440)는 통신부(410)를 통해 지속적으로 무선 구간의 전파 환경을 측정하여 전파 정보(예컨대, RSSI, RSRP, RSRQ 등)를 생성하고, 생성된 전파 정보를 누적하여 저장할 수 있다.
다음으로, 제어부(440)는 S520 단계에서 센서부(420)를 통해 센싱 대상을 센싱하여 소정 수의 시간 순서에 따라 정렬된 복수의 센서 데이터를 생성한다. 그런 다음, 제어부(440)는 S530 단계에서 복수의 센서 데이터 각각에 환경 데이터를 결합한 후, 패킷화하여 복수의 센서 데이터 패킷을 생성한다.
여기서, 환경 데이터는 디바이스(400)가 설치된 지리좌표 상의 위치를 나타내는 위치 정보(예컨대, GPS 좌표), 디바이스(400)에 할당된 MAC 주소(Media Access Control Address)를 나타내는 네트워크 식별 정보, 디바이스가 상기 센서 데이터를 생성한 시간을 나타내는 시간 정보 및 센서 데이터를 생성한 시간에 디바이스(400)가 액세스 네트워크, 즉, 기지국(300)에 접속하는 무선 구간의 전파 환경을 측정한 전파 정보(예컨대, RSSI, RSRP, RSRQ 등)를 포함한다.
그런 다음, 제어부(440)는 S540 단계에서 앞서 관리서버(100)와 공유한 비밀키를 이용하여 복수의 센서 데이터 패킷을 암호화한다. 이어서, 제어부(440)는 S550 단계에서 통신부(410)를 통해 관리서버(100)로 암호화된 복수의 센서 데이터 패킷을 전송한다.
이와 같이, 암호화된 복수의 센서 데이터 패킷을 수신한 관리서버(100) 제어모듈(130)의 데이터처리부(131)는 S560 단계에서 암호화된 복수의 센서 데이터 패킷을 디바이스(400)와 공유한 비밀키를 이용하여 복호화한 후, 복수의 센서 데이터 패킷으로부터 복수의 센서 데이터 및 복수의 환경 데이터를 추출한다.
그러면, 인증부(135)는 S570 단계에서 복수의 환경 데이터를 이용하여 복수의 센서 데이터가 앞서 상호 인증을 통해 비밀키를 공유한 디바이스(400), 즉, 인증된 디바이스(400)가 전송한 것인지 여부를 인증한다.
일 실시예에 따르면, 인증부(135)는 추출된 환경 데이터 중 위치 정보 및 네트워크 식별 정보와, 저장모듈(120)에 기 저장된 위치 정보 및 네트워크 식별 정보가 일치하는 경우, 복수의 센서 데이터는 인증된 디바이스(400)가 생성하여 전송한 것으로 인증한다.
다른 실시예에 따르면, 인증부(135)는 인공신경망(10)을 이용하여 추출된 환경 데이터 중 위치 정보, 시간 정보 및 전파 정보를 이용하여 디바이스(400)가 속하는 클러스터를 도출하고, 저장모듈(120)에 기 저장된 디바이스(400)가 속한 클러스터와 인증부(135)가 도출한 클러스터가 일치하면, 복수의 센서 데이터가 앞서 상호 인증을 통해 비밀키를 공유한 디바이스(400), 즉, 인증된 디바이스(400)가 생성한 것으로 인증한다.
그러면, 전술한 본 발명의 다른 실시예에 따라 센서 데이터에 대한 인증을 수행하는 방법에 대해서 설명하기로 한다. 도 13은 본 발명의 다른 실시예에 따른 센서 데이터에 대한 인증을 수행하는 방법을 설명하기 위한 흐름도이다. 강조하면, 도 13은 전술한 S570 단계를 보다 상세하게 설명하기 위한 것이다.
도 13을 참조하면, 인증부(135)는 S610 단계에서 앞서(S560) 데이터처리부(131)가 복호화된 복수의 센서 데이터 패킷 각각으로부터 추출한 위치 정보, 시간 정보 및 전파 정보로부터 복수의 환경 벡터를 도출한다.
그런 다음, 인증부(135)는 S620 단계에서 복수의 환경 벡터를 시간 순서로 정렬한다. 환경 벡터의 기초가 되는 환경 데이터, 위치 정보, 시간 정보 및 전파 정보는 디바이스(400)가 센서 데이터를 생성하는 시점에 생성되며, 시간 정보는 이러한 센서 데이터를 생성하는 시점을 나타낸다. 따라서 인증부(135)는 시간 정보에 따라 환경 벡터를 시간 순서로 정렬한다.
이어서, 인증부(135)는 시간 순서로 정렬된 복수의 환경 벡터를 인공신경망(10)에 입력한다. 예컨대, 도 5를 참조하면, 시간 순서로 정렬된 복수의 환경 벡터(E1, E2, E3, E4) 각각이 순서대로 복수의 입력셀(IC) 각각에 입력된다.
그러면, 인공신경망(10)의 순환망(RN)은 시간 순서로 정렬된 복수의 환경 벡터에 대해 가중치가 적용되는 복수의 연산을 수행하여 중간값을 산출하고, 산출된 중간값을 출력한다. 예컨대, 복수의 환경 벡터(E1, E2, E3, E4)에 대해 가중치(예컨대, Wx, Wh, Wy)가 적용되는 연산(예컨대, tahh, ReLU)을 통해 중간값(M1, M2, M3, M4)을 산출하고, 산출된 중간값(M1, M2, M3, M4)은 중간층(ML)을 통해 출력한다. 이어서, 인공신경망(10)의 추정망(EN)은 완전연결층(FL)을 통해 중간값(M1, M2, M3, M4)에 대해 활성화함수(Activation Function)에 의한 연산을 수행한 후, 가중치(w)를 적용하여 출력값을 산출하고, 산출된 출력값을 출력층(OL)을 통해 출력한다. 이와 같이, 인공신경망(10)은 복수의 환경 벡터에 대해 가중치가 적용되는 복수의 연산을 수행하여 출력값을 산출하고, 산출된 출력값을 출력한다.
여기서, 인공신경망(10)의 출력값은 예컨대, 도 7을 참조하면, 출력값인 제1 내지 제m 출력 노드(O1 내지 Om)의 값이며, 복수의 출력 노드(O1 내지 Om) 각각의 값은 앞서(S550) 단계에서 센서 데이터 패킷을 전송한 디바이스(400)가 해당 출력 노드(O1 내지 Om)에 대응하는 클러스터(예컨대, CL1, CL2, CL3, ...CLm)에 속할 확률을 나타낸다.
따라서 인증부(135)는 S640 단계에서 인공신경망(10)의 출력값에 따라 앞서(S550) 단계에서 센서 데이터 패킷을 전송한 디바이스(400)가 속하는 클러스터를 추정한다. 예컨대, 인증부(135)는 해당 디바이스(400)가 제1 내지 제m 출력 노드(O1 내지 Om)의 값 중 기준치(예컨대, 0.70) 이상이며, 가장 높은 값을 가지는 출력 노드에 대응하는 클러스터에 속하는 것으로 추정한다.
그런 다음, 인증부(135)는 S650 단계에서 저장모듈(120)에 기 저장된 디바이스(400)가 속한 클러스터와 인증부(135)가 추정한 클러스터가 일치하는지 여부를 판단한다.
S650 단계의 판단 결과, 저장모듈(120)에 기 저장된 디바이스(400)가 속한 클러스터와 인증부(135)가 추정한 클러스터가 일치하면, 인증부(135)는 S660 단계에서 복수의 센서 데이터가 앞서(도 11) 상호 인증을 통해 비밀키를 공유한 디바이스(400), 즉, 인증된 디바이스(400)가 생성한 것으로 인증한다.
반면, S650 단계의 판단 결과, 저장모듈(120)에 기 저장된 디바이스(400)가 속한 클러스터와 인증부(135)가 추정한 클러스터가 일치하지 않으면, 인증부(135)는 S670 단계에서 해당 복수의 센서 데이터에 대한 인증을 하지 않고 폐기한다.
전술한 바와 같이 본 발명의 실시예에 따르면, 환경 데이터를 기초로 센서 데이터를 인증한다. 본 발명은 센서 데이터의 값은 감지 대상에 따라 다양한 변화 패턴을 가질 수 있지만, 본 발명의 실시예에 따른 환경 데이터의 독립 변수, 즉, 센서 데이터를 생성하는 시점의 디바이스(400)의 위치 정보, 시간 정보, 전파 정보는 디바이스(400)의 설치 장소 및 시점으로부터 시간의 흐름에 따라 상관관계 및 선형관계를 가지고 변화할 것이다. 따라서 본 발명은 인공신경망(10)을 통해 시간 흐름에 따른 환경 데이터의 독립 변수 간의 상관관계 및 선형관계를 학습시키고, 센서 데이터와 함께 전송되는 환경 데이터가 학습된 독립 변수 간의 상관관계 및 선형관계를 따르는지 여부를 통해 센서 데이터를 인증한다. 이러한 인증 방법에 따르면 학습된 인공신경망 모델이 노출되는 경우에도 시간의 흐름에 따라 변화하는 환경 데이터를 위조할 수 없기 때문에 IoT 디바이스의 전송 보안 수준이 획기적으로 향상될 수 있다. 이에 따라, IoT 디바이스를 통해 수집되는 데이터에 대한 신뢰도가 향상된다.
한편, 전술한 본 발명의 실시예에 따른 방법은 다양한 컴퓨터수단을 통하여 판독 가능한 프로그램 형태로 구현되어 컴퓨터로 판독 가능한 기록매체에 기록될 수 있다. 여기서, 기록매체는 프로그램 명령, 데이터 파일, 데이터구조 등을 단독으로 또는 조합하여 포함할 수 있다. 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광 기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media) 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함한다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 와이어뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 와이어를 포함할 수 있다. 이러한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상 본 발명을 몇 가지 바람직한 실시예를 사용하여 설명하였으나, 이들 실시예는 예시적인 것이며 한정적인 것이 아니다. 이와 같이, 본 발명이 속하는 기술분야에서 통상의 지식을 지닌 자라면 본 발명의 사상과 첨부된 특허청구범위에 제시된 권리범위에서 벗어나지 않으면서 균등론에 따라 다양한 변화와 수정을 가할 수 있음을 이해할 것이다.
10: 인공신경망 100: 관리서버
110: 통신모듈 120: 저장모듈
130: 제어모듈 131: 데이터처리부
133: 학습부 135: 인증부
200: 인증서버 300: 기지국
400: 디바이스

Claims (8)

  1. IoT 디바이스의 데이터 전송을 보안하기 위한 장치에 있어서,
    적어도 하나의 디바이스와 인증서를 이용한 디바이스 인증 절차를 통해 복수의 센서 데이터 패킷을 암호화 및 복호화 할 수 있는 길이를 가지는 비밀키를 공유하고,
    상기 디바이스로부터 상기 복수의 센서 데이터 패킷을 수신하면, 수신된 복수의 센서 데이터 패킷을 상기 비밀키를 이용하여 복호화함으로써, 복수의 센서 데이터와, 상기 복수의 센서 데이터 각각에 대응하여 상기 센서 데이터를 센싱하는 환경 및 상기 센서 데이터를 전송하는 환경을 나타내는 위치 정보, 시간 정보 및 전파 정보를 포함하는 복수의 환경 데이터를 추출하고,
    추출된 위치 정보, 시간 정보 및 전파 정보를 포함하는 복수의 환경 데이터를 소정의 벡터공간에 사상하여 복수의 환경 벡터를 생성하는 데이터처리부; 및
    상기 복수의 환경 벡터를 시간 순서로 정렬한 후, 시간 순서로 정렬된 복수의 환경 벡터를 인공신경망에 입력하고,
    상기 인공신경망이 상기 복수의 환경 벡터에 대해 가중치가 적용되는 복수의 연산을 수행하여 상기 디바이스가 복수의 클러스터 각각에 속할 확률을 출력하면,
    상기 출력된 확률에 따라 상기 환경 벡터에 대응하여 상기 디바이스가 속하는 클러스터를 추정하고, 기 저장된 상기 디바이스의 클러스터와 상기 추정된 클러스터가 일치하면, 상기 복수의 센서 데이터가 상기 디바이스가 생성한 것으로 인증하는 인증부;
    를 포함하며,
    상기 인공신경망은
    시간 정보에 따라 센서 데이터를 생성한 시간 순서로 정렬된 복수의 환경 벡터가 입력되는 복수의 입력셀을 포함하는 입력층과,
    상기 시간 순서로 정렬된 복수의 환경 벡터에 대해 이전 스테이지의 은닉셀이 연산한 이전 스테이지의 상태값과 자신의 스테이지로 입력되는 값에 대해 가중치가 적용되는 연산을 수행하여 복수의 중간값을 산출하는 복수의 은닉셀을 포함하는 은닉층과,
    상기 산출된 복수의 중간값을 출력하는 복수의 중간셀을 포함하는 중간층을 포함하는
    순환망; 및
    상기 복수의 중간값에 대해 활성화함수에 의한 연산을 수행한 후, 가중치를 적용하여 복수의 출력값을 산출하는 복수의 연결 노드를 포함하는 완전연결층과,
    각각이 상기 디바이스가 복수의 클러스터 각각에 속할 확률을 나타내는 상기 복수의 출력값을 출력하는 복수의 출력 노드를 포함하는 출력층을 포함하는
    추정망;
    을 포함하는 것을 특징으로 하는
    데이터 전송을 보안하기 위한 장치.
  2. 제1항에 있어서,
    상기 환경 데이터는
    상기 디바이스가 설치된 지리좌표 상의 위치를 나타내는 위치 정보,
    상기 디바이스에 할당된 MAC 주소(Media Access Control Address)를 나타내는 네트워크 식별 정보,
    상기 디바이스가 상기 센서 데이터를 생성한 시간을 나타내는 시간 정보 및
    상기 디바이스가 액세스 네트워크에 접속하는 무선 구간의 전파 환경을 나타내는 전파 정보
    중 적어도 하나를 포함하는 것을 특징으로 하는
    데이터 전송을 보안하기 위한 장치.
  3. 제1항에 있어서,
    상기 데이터처리부는
    복수의 디바이스에 대해 디바이스가 설치된 지리좌표 상의 위치, 디바이스가 센서 데이터를 생성한 시간 및 디바이스가 액세스 네트워크에 접속하는 무선 구간의 전파 환경을 소정의 벡터 공간에 사상하여 복수의 디바이스의 환경 벡터를 생성하고,
    복수의 디바이스의 환경 벡터 간 상관도에 따라 복수의 디바이스의 환경 벡터를 클러스터링함으로써 복수의 디바이스를 복수의 클러스터로 분류하고,
    상기 장치는
    상기 환경 벡터를 이용하여 디바이스가 속하는 클러스터를 추정하도록, 가중치가 적용되는 복수의 연산으로 이루어진 복수의 계층을 포함하는 인공신경망을 학습시키는 학습부;
    를 더 포함하는 것을 특징으로 하는
    데이터 전송을 보안하기 위한 장치.
  4. 삭제
  5. 제3항에 있어서,
    상기 학습부는
    상기 데이터처리부를 통해 디바이스의 복수의 센서 데이터 패킷으로부터 복수의 환경 벡터를 생성하고,
    상기 디바이스의 알려진 클러스터에 따라 기댓값을 설정한 후,
    상기 생성된 복수의 환경 벡터를 상기 인공신경망에 입력하여
    상기 인공신경망이 상기 생성된 복수의 환경 벡터에 대해 상기 가중치가 적용되는 복수의 연산을 수행하여 상기 디바이스가 복수의 클러스터 각각에 속할 확률을 출력값으로 출력하도록 한 후,
    상기 출력값과 상기 기댓값의 차이가 최소가 되도록 상기 인공신경망의 가중치를 조정하여 최적화하는 것을 특징으로 하는
    데이터 전송을 보안하기 위한 장치.
  6. IoT 디바이스의 데이터 전송을 보안하기 위한 방법에 있어서,
    데이터처리부가 적어도 하나의 디바이스와 인증서를 이용한 디바이스 인증 절차를 통해 복수의 센서 데이터 패킷을 암호화 및 복호화 할 수 있는 길이를 가지는 비밀키를 공유하는 단계;
    상기 데이터처리부가 상기 디바이스로부터 상기 복수의 센서 데이터 패킷을 수신하는 단계;
    상기 데이터처리부가 상기 수신된 복수의 센서 데이터 패킷을 상기 비밀키를 이용하여 복호화함으로써, 복수의 센서 데이터와, 상기 복수의 센서 데이터 각각에 대응하여 상기 센서 데이터를 센싱하는 환경 및 상기 센서 데이터를 전송하는 환경을 나타내는 위치 정보, 시간 정보 및 전파 정보를 포함하는 복수의 환경 데이터를 추출하는 단계; 및
    상기 데이터처리부가 상기 추출된 위치 정보, 시간 정보 및 전파 정보를 포함하는 복수의 환경 데이터를 소정의 벡터공간에 사상하여 복수의 환경 벡터를 생성하는 단계;
    인증부가 상기 복수의 환경 벡터를 시간 순서로 정렬한 후, 시간 순서로 정렬된 복수의 환경 벡터를 인공신경망에 입력하는 단계;
    상기 인공신경망이 상기 복수의 환경 벡터에 대해 가중치가 적용되는 복수의 연산을 수행하여 상기 디바이스가 복수의 클러스터 각각에 속할 확률을 출력하는 단계;
    상기 인증부가 상기 출력된 확률에 따라 상기 환경 벡터에 대응하여 상기 디바이스가 속하는 클러스터를 추정하는 단계; 및
    상기 인증부가 기 저장된 상기 디바이스의 클러스터와 상기 추정된 클러스터가 일치하면, 상기 복수의 센서 데이터가 상기 디바이스가 생성한 것으로 인증하는 단계;
    를 포함하며,
    상기 디바이스가 복수의 클러스터 각각에 속할 확률을 출력하는 단계는
    상기 인공신경망의 순환망의 입력층이 복수의 입력셀을 통해 시간 정보에 따라 센서 데이터를 생성한 시간 순서로 정렬된 복수의 환경 벡터를 입력 받는 단계;
    순환망의 은닉층이 복수의 은닉셀을 통해 상기 시간 순서로 정렬된 복수의 환경 벡터에 대해 이전 스테이지의 은닉셀이 연산한 이전 스테이지의 상태값과 자신의 스테이지로 입력되는 값에 대해 가중치가 적용되는 연산을 수행하여 복수의 중간값을 산출하는 단계;
    순환망의 중간층이 복수의 중간셀을 통해 상기 산출된 복수의 중간값을 출력하는 단계;
    추정망의 완전연결층이 복수의 연결 노드를 통해 상기 복수의 중간값에 대해 활성화함수에 의한 연산을 수행한 후, 가중치를 적용하여 복수의 출력값을 산출하는 단계; 및
    추정망의 출력층이 복수의 출력 노드를 통해 각각이 상기 디바이스가 복수의 클러스터 각각에 속할 확률을 나타내는 상기 복수의 출력값을 출력하는 단계;
    를 포함하는 것을 특징으로 하는
    데이터 전송을 보안하기 위한 방법.
  7. 제6항에 있어서,
    상기 비밀키를 공유하는 단계 전,
    상기 데이터처리부가 복수의 디바이스에 대해 디바이스가 설치된 지리좌표 상의 위치, 디바이스가 센서 데이터를 생성한 시간 및 디바이스가 액세스 네트워크에 접속하는 무선 구간의 전파 환경을 소정의 벡터 공간에 사상하여 복수의 디바이스의 환경 벡터를 생성하는 단계;
    상기 데이터처리부가 상기 복수의 디바이스의 환경 벡터 간 상관도에 따라 복수의 디바이스의 환경 벡터를 클러스터링함으로써 복수의 디바이스를 복수의 클러스터로 분류하는 단계; 및
    학습부가 상기 환경 벡터를 이용하여 디바이스가 속하는 클러스터를 추정하도록 가중치가 적용되는 복수의 연산으로 이루어진 복수의 계층을 포함하는 인공신경망을 학습시키는 단계;
    를 더 포함하는 것을 특징으로 하는
    데이터 전송을 보안하기 위한 방법.
  8. 삭제
KR1020200028671A 2020-03-06 2020-03-06 IoT 디바이스의 데이터 전송을 보안하기 위한 장치 및 이를 위한 방법 KR102161647B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020200028671A KR102161647B1 (ko) 2020-03-06 2020-03-06 IoT 디바이스의 데이터 전송을 보안하기 위한 장치 및 이를 위한 방법
PCT/KR2020/004324 WO2021177504A1 (ko) 2020-03-06 2020-03-30 Iot 디바이스의 데이터 전송을 보안하기 위한 장치 및 이를 위한 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200028671A KR102161647B1 (ko) 2020-03-06 2020-03-06 IoT 디바이스의 데이터 전송을 보안하기 위한 장치 및 이를 위한 방법

Publications (1)

Publication Number Publication Date
KR102161647B1 true KR102161647B1 (ko) 2020-10-05

Family

ID=72808810

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200028671A KR102161647B1 (ko) 2020-03-06 2020-03-06 IoT 디바이스의 데이터 전송을 보안하기 위한 장치 및 이를 위한 방법

Country Status (2)

Country Link
KR (1) KR102161647B1 (ko)
WO (1) WO2021177504A1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160098581A (ko) * 2015-02-09 2016-08-19 홍익대학교 산학협력단 얼굴 인식 및 화자 인식이 융합된 인증 방법
KR20170037270A (ko) * 2015-09-25 2017-04-04 덕성여자대학교 산학협력단 Two factor 통신 채널을 활용한 사물기기의 등록 및 비밀키 설정 방법
KR20190115489A (ko) 2018-03-13 2019-10-14 주식회사 알티웍스 보안기술을 활용한 iot기기 보안인증 시스템

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080067793A (ko) * 2007-01-17 2008-07-22 전준철 부분공간과 선형벡터양자화 분류기에 기반한 실시간 얼굴인식
KR101688118B1 (ko) * 2015-05-13 2016-12-22 주식회사 퓨쳐시스템 사물인터넷 환경에서의 보안 통신 장치 및 그 방법
KR102125564B1 (ko) * 2015-07-29 2020-06-22 삼성전자주식회사 디바이스들 간의 통신 방법 및 그 디바이스

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160098581A (ko) * 2015-02-09 2016-08-19 홍익대학교 산학협력단 얼굴 인식 및 화자 인식이 융합된 인증 방법
KR20170037270A (ko) * 2015-09-25 2017-04-04 덕성여자대학교 산학협력단 Two factor 통신 채널을 활용한 사물기기의 등록 및 비밀키 설정 방법
KR20190115489A (ko) 2018-03-13 2019-10-14 주식회사 알티웍스 보안기술을 활용한 iot기기 보안인증 시스템

Also Published As

Publication number Publication date
WO2021177504A1 (ko) 2021-09-10

Similar Documents

Publication Publication Date Title
Fang et al. Fast authentication and progressive authorization in large-scale IoT: How to leverage AI for security enhancement
KR101301775B1 (ko) 센서 네트워크의 측정 데이터에 대한 분산 검증을 수행하는방법 및 상기 방법을 수행하는 시스템
US10097529B2 (en) Semiconductor device for controlling access right to server of internet of things device and method of operating the same
KR101717630B1 (ko) 센서 식별
Yan et al. Optimal information-theoretic wireless location verification
CN108965399B (zh) 智能合约的执行方法、装置、设备及存储介质
Javali et al. I am alice, i was in wonderland: secure location proof generation and verification protocol
Zou et al. Unsupervised WiFi-enabled IoT device-user association for personalized location-based service
Xia et al. Multiple correlated attributes based physical layer authentication in wireless networks
CN109451459B (zh) 一种基于移动雾节点的传感云底层节点信任评价方法
Wang et al. Electromagnetic radiation based continuous authentication in edge computing enabled internet of things
CN111131144B (zh) IoT设备管理方法、装置、服务器及存储介质
Alawami et al. LocAuth: A fine-grained indoor location-based authentication system using wireless networks characteristics
Imran et al. A novel indoor positioning system using kernel local discriminant analysis in Internet-of-Things
Vivekanand et al. Secure distance based improved leach routing to prevent puea in cognitive radio network
KR102289406B1 (ko) 대기환경 분석 가능형 교통신호 처리 장치
Sazdar et al. Privacy preserving in indoor fingerprint localization and radio map expansion
Le et al. Fingerprinting indoor positioning method based on kernel ridge regression with feature reduction
KR102161647B1 (ko) IoT 디바이스의 데이터 전송을 보안하기 위한 장치 및 이를 위한 방법
CN111464367B (zh) 建立虚拟通信连接的方法、装置、计算机设备和存储介质
Li et al. A physical layer authentication mechanism for IoT devices
Agata et al. Room-level proximity detection based on RSS of dual-band Wi-Fi signals
US20080159542A1 (en) Key Storage Apparatus, Key Storage Method, and Program
JP2017037076A (ja) 位置判断方法、位置判断装置及び電子機器
CN105144181B (zh) 位置签名

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant