KR101995339B1 - 블록체인 기반 IoT 센서 노드 인증 방법 - Google Patents

블록체인 기반 IoT 센서 노드 인증 방법 Download PDF

Info

Publication number
KR101995339B1
KR101995339B1 KR1020170162406A KR20170162406A KR101995339B1 KR 101995339 B1 KR101995339 B1 KR 101995339B1 KR 1020170162406 A KR1020170162406 A KR 1020170162406A KR 20170162406 A KR20170162406 A KR 20170162406A KR 101995339 B1 KR101995339 B1 KR 101995339B1
Authority
KR
South Korea
Prior art keywords
node
sensor
sequence
sequence number
sensor node
Prior art date
Application number
KR1020170162406A
Other languages
English (en)
Other versions
KR20190063537A (ko
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 KR1020170162406A priority Critical patent/KR101995339B1/ko
Publication of KR20190063537A publication Critical patent/KR20190063537A/ko
Application granted granted Critical
Publication of KR101995339B1 publication Critical patent/KR101995339B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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/0869Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/38
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/121Timestamp

Abstract

저성능 칩셋을 사용하는 IoT 환경에서 경량이고 확실한 인증 프로그램을 확보하기 위하여 블록 체인을 이용한 IoT 장치를 제안하는, 블록체인 기반 IoT 센서 노드 인증 방법에 관한 것으로서, (a) 상기 싱크노드는 상기 다수의 센서노드 각각에 시퀀스 번호를 부여하는 단계; (b) 이벤트가 발생하면, 이벤트가 발생한 해당 센서노드에서 해당 센서노드의 시퀀스 번호를 해시하여 시퀀스 해시값을 생성하고, 이벤트 데이터와, 자신의 아이디 및 시퀀스 해시값을 전송하는 단계; (c) 각 센서노드는 이벤트 데이터와 경로 상의 센서노드들의 아이디와 시퀀스 해시값을 수신하면, 자신의 아이디와 시퀀스 번호를 반영하여 경로 및 시퀀스 해시값을 갱신하고 갱신된 경로 상의 센서노드들의 아이디와 시퀀스 해시값을 전달하되, 상기 경로 상의 센서노드들은 상기 이벤트가 발생한 센서노드에서 각 센서노드까지 이벤트 데이터가 거쳐온 센서노드들인 단계; 및, (d) 상기 싱크노드는 상기 이벤트 데이터와, 경로 상의 센서노드들의 아이디와 시퀀스 해시값을 수신하여, 수신된 시퀀스 해시값을 인증하는 단계를 포함하는 구성을 마련한다.
상기와 같은 방법에 의하면, 블록체인을 이용하여 IoT 센서들을 인증함으로써, IoT 장치들이 경량이면서 더욱 확실하게 인증을 수행할 수 있다.

Description

블록체인 기반 IoT 센서 노드 인증 방법 { A IoT sensor authentication method based on block-chain }
본 발명은 저성능 칩셋을 사용하는 IoT 환경에서 경량이고 확실한 인증 프로그램을 확보하기 위하여 블록 체인을 이용한 IoT 장치를 제안하는, 블록체인 기반 IoT 센서 노드 인증 방법에 관한 것이다.
사물 인터넷(IoT) 서비스는 IoT 기술의 성질에 기인하여 다양한 보안 위협에 취약하다. 특히, 낮은 전원 소비, 작은 양의 메모리, 저 메모리 등과 같은 한정된 하드웨어 사양을 가지며, 관리하기 어려운 환경에 직면하는 경향을 가진다. 또한, 물리적 공격과 같은 다양한 보안 위협 인자들을 가질 수 있다. 이들 특성들에 의하여 IoT 서비스 플랫폼의 확실한 작동에서 치명적인 에러를 유발할 수 있으며 또는 잘못된 정보를 기초로 서비스를 제공하여, 그의 정확성을 상실한 IoT 서비스 플랫폼을 발생할 수 있다[1].
최근에, IoT 플랫폼의 규격 완화를 통해 이질적인 터미널들, 네트워크, 및 어플리케이션들 사이의 상호 운용성이 가속되어, 다양한 기술적이고 관리상의 보안 위협을 유발할 것으로 예측된다. IoT 환경에서 발생할 수 있는 보안 위협들은 기존의 ICT(정보통신 기술) 환경에서 발생하는 위협들을 포함한다. 비밀성, 정합성, 및 가용성(Confidentiality, Integrity, and Availability, CIA)은 자주 CIA로서 언급된 바와 같이, 적법한 서비스의 공급 및 사용에 대한 위협으로 자주 보여질 수 있으며, 정보 보안의 세 개의 주요 요소들이다[2]. 도 3의 표는 IoT의 각 성분에서 발생할 수 있는 이들 보안 위협들을 보여준다[3]. 그러므로, IoT 장치는 개별 사용자의 플랫폼 사이의 인증 및 다양한 환경과 다양한 IoT 플랫폼들 및 플랫폼의 어플리케이션 서비스들의 서비스 플랫폼 상에서 권한 없는 사용자에 의한 임의적인 접속으로부터 장치를 보호하기 위하여 접속 제어 방법을 필요로 한다[4][5][6].
현재의 IoT 환경에서는 보안 문제들이 발생할 수 있다[3]. 이를 위해 다양한 인증 프로토콜이 최근까지 개발되었다. 그러나, 제안된 인증 프로토콜들은 위치추적 공격을 추적하기 위하여 사용된다. 재생 공격(replay attack)이나 스푸핑 공격(spoofing attack)은 기만 공격(spoofing attack)에 취약하다[3]. 대다수는 취약성을 가지며 사적 비밀이 누설된다. 연구자들은 이를 발견하였다[5].
그러므로, 이러한 연구 논문은 암호 알고리듬을 이용하여 연결되고 보호되는 블록체인을 기초로 하는 피어-투-피어(peer-to-peer) 인증 프로그램을 제안하였다. 각각의 블록은 통상적으로 이전 블록으로의 심볼릭 링크(symbolic link), 타임스탬프 및 트랜잭션 데이터로서 해시 포인터(hash pointer)를 가진다[11]. 디자인에 의하여, 블록체인들은 본래적으로 데이터 변경이 어렵다. 기술적으로, 블록체인은"두 당사자들 사이의 거래를 효율적으로 그리고 입증가능하도록 영구히 기록할 수 있는 개방되고 배포된 원장(ledger)으로"기능할 수 있다[12].
배포된 대장으로서, 블록체인은 새로운 블록을 유효화하기 위한 프로토콜에 집단적으로 부착되는 피어-투-피어 네트워크 노드들에 의해 종래와 같이 관리된다. 일단 기록되면, 일정한 주어진 블록의 데이터는 모든 후속된 블록들을 변경하고 대다수 네트워크의 충돌 없이 소급적으로 변경될 수 없다[13].
(특허문헌 1) Taehyun Kim, Jaeho Kim, Sangshin Lee, Ilyeup Ahn, Minan Song, and Kwangho Won. 2008. An automatic protocol verification framework for the development of wireless sensor networks. In Proceedings of the 4th International Conference on Testbeds and research infrastructures for the development of networks & communities (TridentCom '08). ICST (Institute for Computer Sciences, Social-Informatics and Telecommunications Engineering), ICST, Brussels, Belgium, Belgium, , Article 33 , 5 pages. (특허문헌 2) P. Hu, H. Ning, T. Qiu, H. Song, Y. Wang and X. Yao, "Security and Privacy Preservation Scheme of Face Identification and Resolution Framework Using Fog Computing in Internet of Things," in IEEE Internet of Things Journal, vol. 4, no. 5, pp. 1143-1155, Oct. 2017. (특허문헌 3) S. Tanwar, P. Patel, K. Patel, S. Tyagi, N. Kumar and M. S. Obaidat, "An advanced Internet of Thing based Security Alert System for Smart Home," 2017 International Conference on Computer, Information and Telecommunication Systems (CITS), Dalian, 2017, pp. 25-29. Nils Ole Tippenhauer, Christina Pㆆpper, Kasper Bonne Rasmussen, and Srdjan Capkun. 2011. On the requirements for successful GPS spoofing attacks. In Proceedings of the 18th ACM conference on Computer and communications security (CCS '11). ACM, New York, NY, USA, 75-86. DOI: https://doi.org/10.1145/2046707.2046719. (특허문헌 5) Mexhid Ferati, Arianit Kurti, Bahtijar Vogel, and Bujar Raufi. 2016. Augmenting requirements gathering for people with special needs using IoT: a position paper. In Proceedings of the 9th International Workshop on Cooperative and Human Aspects of Software Engineering (CHASE '16). ACM, New York, NY, USA, 48-51. DOI: http://dx.doi.org/10.1145/2897586.2897617 (특허문헌 6) Min-Hui Lin and Chin-Chen Chang. 2004. A secure one-time password authentication scheme with low-computation for mobile communications. SIGOPS Oper. Syst. Rev. 38, 2 (April 2004), 76-84. DOI=http://dx.doi.org/10.1145/991130.991138 (특허문헌 7) Ben Adida. 2008. Sessionlock: securing web sessions against eavesdropping. In Proceedings of the 17th international conference on World Wide Web (WWW '08). ACM, New York, NY, USA, 517-524. DOI: https://doi.org/10.1145/1367497.1367568. (특허문헌 8) Anjali S. Yeole and D. R. Kalbande. 2016. Use of Internet of Things (IoT) in Healthcare: A Survey. In Proceedings of the ACM Symposium on Women in Research 2016 (WIR '16), Durgesh Kumar Mishra, Rashid Sheikh, and Sarika Jain (Eds.). ACM, New York, NY, USA, 71-76. DOI: http://dx.doi.org/10.1145/2909067.2909079. (특허문헌 9) B. B. Gupta, R. C. Joshi, and Manoj Misra. 2009. An efficient analytical solution to thwart DDoS attacks in public domain. In Proceedings of the International Conference on Advances in Computing, Communication and Control (ICAC3 '09). ACM, New York, NY, USA, 503-509. DOI: http://dx.doi.org/10.1145/1523103.1523203. (특허문헌 10) M. Hammoudeh. 2015. Applying Wireless Sensor Networks to Solve Real-world Problems. In Proceedings of the International Conference on Intelligent Information Processing, Security and Advanced Communication (IPAC '15), Djallel Eddine Boubiche, Faouzi Hidoussi, and Homero Toral Cruz (Eds.). ACM, New York, NY, USA, , Article 1 , 1 pages. DOI: http://dx.doi.org/10.1145/2816839.2816935 (특허문헌 11) Narayanan, Arvind; Bonneau, Joseph; Felten, Edward; Miller, Andrew; Goldfeder, Steven (2016). Bitcoin and cryptocurrency technologies: a comprehensive introduction. Princeton: Princeton University Press. ISBN 978-0-691-17169-2. (특허문헌 12) Iansiti, Marco; Lakhani, Karim R. (January 2017). "The Truth About Blockchain". Harvard Business Review. Harvard University. Retrieved 2017-01-17. (특허문헌 13) A. Gervais, G. O. Karame, K. Wㆌst, V. Glykantzis, H. Ritzdorf, and S. Capkun. 2016. On the Security and Performance of Proof of Work Blockchains. In Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security (CCS '16). ACM, New York, NY, USA, 3-16. DOI: https://doi.org/10.1145/2976749.2978341. (특허문헌 14) Satoshi Nakamoto, "Bitcoin: A Peer-to-Peer Electronic Cash System," 2008.10.31. (특허문헌 15) Byeong-ju Park, Tae-jin Lee, Jin Kwak, "Blockchain-Based IoT Device Authentication Scheme", Journal of the Korea Institute of Information Security & Cryptology 27(2), 2017.4, 343-351. (특허문헌 16) Enos Letsoalo, Sunday Ojo, "Survey of Media Access Control address spoofing attacks detection and prevention techniques in wireless networks," IST-Africa Week Conference, 2016.05.11. (특허문헌 17) H. Li, R. Lu, L. Zhou, B. Yang and X. Shen, "An Efficient Merkle-Tree-Based Authentication Scheme for Smart Grid," in IEEE Systems Journal, vol. 8, no. 2, pp. 655-663, June 2014. (특허문헌 18) X. M. ZhangG. J. He, Z. M. ZhangY. PengT. F. Long, "Spectral-spatial multi-feature classification of remote sensing big data based on a random forest classifier for land cover mapping",Cluster Computing, Vol. 20, no. 3, pp. 2311??2321, 2017 (특허문헌 19) Soonchoul Kim, Moonhyun Kim, Kuinam J. Kim, Bumsuk Choi, Jinwook Chung, "A scheme of AR-based personalized interactive broadcasting service in terrestrial digital broadcasting system", Cluster Computing, Vol. 20, No. 3, pp 2349??2354, 2017. (특허문헌 20) Miguel A. Vega-Rodrㅽguez, Sergio Santander-Jimㅹnez, "Parallelism-based approaches in computational biology: a view from diverse case studies", Cluster Computing, Volume 20, Issue 3, pp 1865??1867, 2017 (특허문헌 21) R. M. da Conceiㅷㅳo, R. S. Lobato, A. Manacero, R. Spolon and M. A. Cavenaghi, "μTESLA protocol in vehicular networks," 2017 12th Iberian Conference on Information Systems and Technologies (CISTI), Lisbon, 2017, pp. 1-6. doi: 10.23919/CISTI.2017.7975802 (특허문헌 22) S. Blackshear and R. M. Verma. 2010. R-LEAP+: randomizing LEAP+ key distribution to resist replay and jamming attacks. In Proceedings of the 2010 ACM Symposium on Applied Computing (SAC '10). ACM, New York, NY, USA, 1985-1992. DOI=http://dx.doi.org/10.1145/1774088.1774507 (특허문헌 23) J. Barnat, L. Brim, and J. St&rcirc;ㅽbrnㅱ. 2001. Distributed LTL model-checking in SPIN. In Proceedings of the 8th international SPIN workshop on Model checking of software (SPIN '01), Matthew Dwyer (Ed.). Springer-Verlag New York, Inc., New York, NY, USA, 200-216. (특허문헌 24) B. Jang and K. Lee, "SNEP Implementation on SPINS Secure Protocol", 2006 Conference of The Institute of Electronics Engineers of Korea, pp. 471-472, June, 2006. (특허문헌 25) J. Ren, Y. Li, T. Li, "Routing-Based Source-Location Privacy in Wireless Sensor Networks", Communications 2009. ICC '09. IEEE International Conference on, pp. 1-5, 2009, ISSN 1938-1883.
본 발명의 목적은 상술한 바와 같은 문제점을 해결하기 위한 것으로, 저성능 칩셋을 사용하는 IoT 환경에서 경량이고 확실한 인증 프로그램을 확보하기 위하여 블록 체인을 이용한 IoT 장치를 제안하는, 블록체인 기반 IoT 센서 노드 인증 방법을 제공하는 것이다.
다시 설명하면, 센서 노드는 IoT 환경에서 주요 역할을 수행해야 하는데, 제한된 물리적 크기에 의하여 IoT 센서 노드들은 경량 인증 프로토콜을 가져야 한다. 그런데 사물 인터넷(IoT)은 다양한 기술 요소들의 집합으로서, 이종 터미널, 네트워크, 및 어플리케이션들 사이의 상호 작용이 예측된다. 특히, 이들은 IoT 플랫폼의 규제 완화를 통해 더욱 발전될 것이다. 따라서, IoT 환경에서는 많은 기술적이고 관리적인 보안 위협들이 등장할 것이므로, 센서 노드 프로토콜은 경량이어야 하며 확실하여야 한다.
특히, IoT 장치들은 다양한 목적들에 사용되므로, 성능을 요구하는 일부 장치들의 경우, 대부분의 패스워드 프로토콜을 작동시키는 고성능 칩셋을 가진 OS를 필요로 한다. 그러나, 저-성능 칩셋을 기초로 하는 간단한 과제를 실행하는 IoT 장치들을 가동/차단하기 위해서는 OS 실행이 없는 것이 요구된다. 암호 프로토콜 또는 인증서를 지원하지 않으면, 취약하고 취급에 충분한 성능을 가지지 못한다.
그러므로, 본 발명의 목적은 더욱 확실한 인증 프로그램을 확보하기 위하여 블록체인 기반 IoT 센서 노드 인증 방법을 제공하는 것이다.
상기 목적을 달성하기 위해 본 발명은 블록체인 기반 IoT 센서 노드 인증 방법에 관한 것으로서, (a) 상기 싱크노드는 상기 다수의 센서노드 각각에 시퀀스 번호를 부여하는 단계; (b) 이벤트가 발생하면, 이벤트가 발생한 해당 센서노드에서 해당 센서노드의 시퀀스 번호를 해시하여 시퀀스 해시값을 생성하고, 이벤트 데이터와, 자신의 아이디 및 시퀀스 해시값을 전송하는 단계; (c) 각 센서노드는 이벤트 데이터와 경로 상의 센서노드들의 아이디와 시퀀스 해시값을 수신하면, 자신의 아이디와 시퀀스 번호를 반영하여 경로 및 시퀀스 해시값을 갱신하고 갱신된 경로 상의 센서노드들의 아이디와 시퀀스 해시값을 전달하되, 상기 경로 상의 센서노드들은 상기 이벤트가 발생한 센서노드에서 각 센서노드까지 이벤트 데이터가 거쳐온 센서노드들인 단계; 및, (d) 상기 싱크노드는 상기 이벤트 데이터와, 경로 상의 센서노드들의 아이디와 시퀀스 해시값을 수신하여, 수신된 시퀀스 해시값을 인증하는 단계를 포함하는 것을 특징으로 한다.
또, 본 발명은 블록체인 기반 IoT 센서 노드 인증 방법에 있어서, 상기 (a)단계에서, 상기 싱크노드는 센서노드의 거리가 가까울수록 차수가 낮은 시퀀스 번호를 부여하고, 센서노드의 거리가 멀수록 차수가 높은 시퀀스 번호를 부여하는 것을 특징으로 한다.
또, 본 발명은 블록체인 기반 IoT 센서 노드 인증 방법에 있어서, 상기 (a)단계에서, 상기 싱크노드는 가장 낮은 차수의 시퀀스 번호를 브로드캐스팅 하고, 각 센서노드들은 브로드캐스팅 된 시퀀스 번호를 수신하면, 시퀀스 번호를 해시하여 얻은 해시값과 자신의 아이디를 포함하여 응답 메시지로 만들고, 응답 메시지에 타임스탬프를 넣어 전송하고, 상기 싱크노드는 각 센서노드로부터 응답 메시지를 수신하고 응답 메시지의 타임스탬프의 시간을 제한하여, 특정 시간 이내에 응답한 센서노드들에만 가장 낮은 차수의 시퀀스 번호를 부여하고, 그 다음 낮은 차수의 시퀀스 번호를 브로드 캐스팅하여, 앞의 과정을 반복하되, 이미 시퀀스 번호를 부여받은 센서노드들은 응답 메시지를 전송하지 않는 것을 특징으로 한다.
또, 본 발명은 블록체인 기반 IoT 센서 노드 인증 방법에 있어서, 상기 (c)단계에서, 경로 상의 센서노드들의 각 시퀀스 해시값에 각 센서노드의 시퀀스 번호를 추가하고 추가된 전체 값에 해시하여 시퀀스 해시값을 갱신하는 것을 특징으로 한다.
또, 본 발명은 블록체인 기반 IoT 센서 노드 인증 방법에 있어서, 상기 (c)단계에서, 각 센서노드는 자신의 차수 보다 높은 차수의 시퀀스 번호를 갖는 센서노드로부터 상기 이벤트 데이터를 수신하는 것을특징으로 한다.
또, 본 발명은 블록체인 기반 IoT 센서 노드 인증 방법에 있어서, 상기 (d)단계에서, 상기 싱크 노드는 가장 낮은 차수의 센서노드로부터 상기 이벤트 데이터를 수신하는 것을특징으로 한다.
또, 본 발명은 블록체인 기반 IoT 센서 노드 인증 방법에 있어서, 상기 (d)단계에서, 상기 싱크노드는 인증되는 경우에만 상기 이벤트 데이터를 수집하는 것을 특징으로 한다.
상술한 바와 같이, 본 발명에 따른 블록체인 기반 IoT 센서 노드 인증 방법에 의하면, 블록체인을 이용하여 IoT 센서들을 인증함으로써, IoT 장치들이 경량이면서 더욱 확실하게 인증을 수행할 수 있는 효과가 얻어진다.
도 1은 본 발명을 실시하기 위한 전체 시스템에 대한 구성도.
도 2는 종래기술에 따른 블록체인이 트랜잭션에 적용되는 것을 설명하기 위한 구조도.
도 3은 종래기술의 인증 방법에 대한 장단점을 나타낸 표.
도 4는 본 발명에 따른 머클 트리에 의한 해시함수의 기본적인 구조를 나타낸 그래프.
도 5 및 도 6은 본 발명의 일실시예에 따른 각 센서 노드에 시퀀스 번호를 할당하는 단계를 설명하기 위한 그래프.
도 7은 본 발명의 일실시예에 따른 이벤트 인증 단계를 설명하기 위한 표기법을 나타낸 표.
도 8는 본 발명의 일실시예에 따른 이벤트 인증 단계를 설명하는 흐름도.
도 9는 본 발명의 일실시예에 따른 블록체인 기반 IoT 센서 노드 인증 방법을 설명하는 흐름도.
이하, 본 발명의 실시를 위한 구체적인 내용을 도면에 따라서 설명한다.
또한, 본 발명을 설명하는데 있어서 동일 부분은 동일 부호를 붙이고, 그 반복 설명은 생략한다.
먼저, 본 발명의 일실시예를 실시하기 위한 전체 시스템의 구성에 대하여 도 1을 참조하여 설명한다.
도 1에서 보는 바와 같이, 본 발명을 실시하기 위한 전체 시스템은 싱크 노드(10), 및 싱크 노드(10)를 중심으로 배열된 센서 노드(20)로 구성된다. 즉, 싱크 노드(10) 및 다수의 센서 노드(20)들로 구성되어 무선 센서 네트워크를 구성한다.
싱크 노드(10)는 컴퓨터 파워를 가진 노드로서, 센서 노드(20)들에서 센싱된 데이터(또는 이벤트)를 수집하는 노드이다. 싱크 노드(10)는 센서 노드(20)들에 비하여 컴퓨팅 능력이나 무선 전송 파워 등이 큰 노드이다.
또한, 싱크 노드(10)는 초기에 모든 센서 노드(20)들에 시퀀스 번호를 브로드캐스팅 하여 각 센서 노드(20)에 시퀀스 번호를 부여한다. 이때, 센서 노드(20)로부터 응답한 응답 메시지의 응답 시간을 기준으로 시퀀스 번호를 부여한다. 즉, 가까운 센서 노드(20)에 낮은 차수의 시퀀스 번호를 부여하고 멀수록 높은 차수의 시퀀스 번호를 부여한다.
시퀀스 번호는 레벨을 나타낸다. 낮은 차수의 번호일수록 낮은 차수의 레벨의 노드이고, 높은 차수의 번호 일수록 높은 차수의 레벨이다.
다음으로, 센서 노드(20)는 센서 네트워크에서 센싱을 하는 노드를 말한다. 센서 노드(20)는 센서를 통해 환경값 등을 센싱하면, 센싱된 값을 싱크 노드(10)로 최종 전송하여 수집하게 한다. 센서 노드(20)가 센싱하는 등의 작업을 이벤트라 부르기로 한다. 이하에서 노드는 센서 노드를 나타내는 것으로 사용하고, 싱크 노드는 싱크노드로 항상 표시한다.
특히, 센서 노드(20)는 싱크 노드(10)로부터 시퀀스 번호를 수신하여, 싱크 노드(10)와의 거리에 따라 시퀀스 번호를 부여받고, 시퀀스 번호에 따라 레벨이 정해진다. 즉, 센서 노드(20)가 싱크노드(10)에 가까울수록 낮은 차수의 번호를 부여받고, 싱크노드(10)와 높은 차수의 번호를 부여받는다.
센서노드(20)는 이벤트가 발생하면 이벤트 데이터 및 시퀀스 번호의 해시값을 생성하여, 낮은 차수의 센서노드를 통해 최종적으로 싱크노드(10)로 전달한다.
즉, 각 센싱 노드(20)에는 Si(시퀀스 번호)를 가지고 있고 이는 각 노드가 가지고 있는 비밀정보이고, 이를 확인함으로써 각 노드를 인증하는 수단으로 사용한다. 물론 싱크 노드는 모든 센서 노드의 시퀀스 번호를 다 가지고 있어서 전달해서 온 메시지로부터 각 센서 노드의 시퀀스 번호를 확인하여 중간에 악의적인 노드가 있지 않음을 확인할 수 있다.
또한, 싱크 노드(10)는 전달된 메시지가 어느 센서 노드를 통해 전달되었는지를 확인하고, 그 식별자(ID)의 시퀀스 번호를 해시값을 해서 전달한 해시값과 비교하여 검증을 여러 단계를 걸쳐 시행하므로, 최종적으로 완전한 검증을 수행할 수 있다.
다음으로, 본 발명의 실시예를 설명하기 앞서, 본 발명에서 이용되는 무선 센서 네트워크, 경량 센서 네트워크 프로토콜, 및, IoT 상의 취약성에 대하여 보다 구체적으로 설명한다.
먼저, 무선 센서 네트워크에 대하여 설명한다.
무선 센서 네트워크(WSN)은 실시간 교통 감시, 군사적인 데이터 수집, 지진 활동의 분산 측정, 시간 오염 측정과 같은 넓은 범위의 분야에 적용될 수 있다. WSN은 초소형 센서들로 구성되므로, 저장 메모리, 연산 용량, 및 에너지 통신 반경과 같은 제한들이 있다.
확실한 무선 통신을 제공하는 것은 센서들이 해로운 환경들에 노출되고, 무선 통신에 용이하게 끼어들 수 있고, 악성 공격자들이 메시지들에 의하여 간섭하거나 재전송 공격을 시도할 수 있으므로 매우 중요한 문제이다[10].
안전한 WSN 통신의 다양한 측면들은 연구중이다. WSN은 무선 네트워크 특성에 따라 센서 노드(SN)와 노드 검출, 손상, 도청(eavesdropping), 서비스 거부 공격, 싱크홀이나 웜홀과 같은 경로 공격들의 하드웨어 장치에 매우 취약하다[1].
센서 노드의 한정된 특성에 기인해서, 기존의 WSN 보안 기술을 적용하는 것이 용이하지 않다. 그러므로, 가중된 키(key) 분포 및 인증 프로그램은 메시지 통합, 비밀, 및 노드 인증과 같은 보안 인자들을 실행하기 위하여 연구되고 있다.
낮은 연산 성능과 확실한 키 분포를 가진 SPINS(Secure Network Encryption Protocol)의 LEAP(Lightweight Extensible Authentication Protocol) 및 μ-TESLA(Timed, Efficient, Streaming, Loss-tolerant Authentication Protocol의 마이크로 버전) 및 센서 노드에 맞도록 대량의 기존 연산 양을 가지는 경량의 공인 키 베이스를 적용하는 두 가지 방법들이 있다[24][22].
PIKE(Peer Intermediaries for Key Establishment)가 대칭 키에 기초하는 대칭 키 노출에 기초한 네트워크 보안을 보장하기 위한 예비-키 분배 프로그램을 제안하였다[25]. 또한, 키 분배를 가지지 않고 메시지 전송 주파수에 이점을 가지는 ID-기반 프로그램이 또한 연구되고 있다.
WSN은 무선 통신의 성질에 기인하여 용이한 메시지 도청의 단점을 가진다[7]. 그러므로 이를 방지하기 위하여, 암호화 및 데이터 교환에 비밀을 확보하는 것이 필요하다.
인증 키를 생성하기 위하여, 모든 SN(센서 노드)들은 기지국(BS)에 직접 통신해야 한다. 실제로 SN 및 BS에 직접 통신하는 것은 매우 어렵다.
한정된 에너지를 가진 노드가 원격 BS에 직접 통신하려면, 인증 메시지를 전송하고 수신함으로써 에너지 소비가 증가된다. 그러한 에너지 소비를 소비하는 노드는 장시간 동안 통신에 참여할 수 없다[10].
다음으로, 경량 센서 네트워크 프로토콜에 대하여 설명한다.
일부 경량의 공개 키 기반 프로토콜들이 있으며, 낮은 연산 성능과 확실한 키 분포에 의하여 구성된 SPINS[23], LEAP[22], μ-TESLA[21]들이다. 센서 노드들은 IoT 환경에서 주요 역할을 수행한다. 센서 노드들은 IoT에서 핵심이다. 이와 같이, 많은 연구자들이 센서 노드의 공격 내성 및 효율적인 통신 프로토콜에 대해 관심을 집중시킨다.
IoT는 일부 문제들을 가지는데, 이하 세부 내용을 설명한다.
인터넷은 사용자와 사물 또는 사물과 사물 사이에 네트워크를 연결함으로써 통신하는 지식 환경인 ICT(Internet Communication Technology)을 기초로 한다.
미국의 시장 조사 기관인 가트너(Gartner)는, 관심을 받는 탑레벨의 기술 분야로서 사물-인터넷(IoT)을 선택하였다[8]. 사물 인터넷은, 장치(단말/센서) 영역; 네트워크(유선/무선) 영역, 및 서비스 인터페이스(플랫폼/어플리케이션) 영역의 세 가지 넓은 범위로 분류된다. 장치 영역은 사물에 구현된 통신 기능을 사용하여 특정 사물과 또 다른 사물 사이에서 추출되고 수집된 데이터를 전송한다. 네트워크 영역은 사용자와 사물, 사물과 사물 사이에 전송된 데이터를 전송하고/수신하기 위한 유선/무선 채널이다. 서비스 인터페이스 영역은 정보를 생성하기 위하여 데이터를 처리하고, 다양한 장치를 제어하고 관리한다.
다음으로, IoT 상의 취약성에 대하여 설명한다.
가짜 공격(false attack)은 센서 네트워크에서 공격자가 적법한 서버로 가장하는 공격이며, 고객이 인증 요청을 하면 프로토콜을 진행시켜 센서 또는 사용자에 의하여 인증 키를 적법하지 않게 획득한다. 전송 공격은 센서 네트워크의 당사자들 사이의 인증 절차가 후속의 인증 절차에서 저장되고 재사용되는 공격이다[9].
인증 키를 추측하는 공격은 공격자가 센서 네트워크의 사용자-대-감지자 및 감지자-대-감지자 사이의 인증 절차를 도청하거나 가장하는 공격으로, 전송되고 수신된 요소들을 저장하고, 최종으로 합의된 인증키로서 동일한 키를 발견한다[22].
서비스 공격의 거부는 공격자가 인증 절차에 참여하고 센서나 사용자가 인증을 요청하여, 인증 서비스를 거부한 때에도 응답을 가로채는 공격이다.
사적 침입은 센서 네트워크 상의 인증 절차에서 전송되고 수신된 요소들로부터의 통신에 참가한 주체를 노출시킴으로써 발생된 사적 위반이다.
다음으로, 본 발명에서 사용되는 트랜잭션에서의 블록체인과, 종래기술에 따른 IoT 센서 노드 인증 방법들에 대하여 도 2 내지 도 3을 참조하여 설명한다.
먼저, 트랜잭션에 이용되는 블록체인(Blockchain)에 대하여 설명한다.
블록체인의 사용에 참가하는 자는 누구나 진입하고, 변경하고, 또는 데이터를 삭제할 수 있으므로, TTP(Trust Third Party, 신뢰할 수 있는 제3자)는 신뢰할 수 없는 네트워크 당사자들 사이의 트랜잭션에 존재할 필요가 없다. 이러한 트랜잭션을 합의 알고리듬(consensus algorithm)을 이용하여 증명하기 위하여, 공인된 사용자들 사이의 특정 메카니즘의 작동 후에 블록체인에 저장된 데이터의 신뢰성을 보장할 수 있다. 따라서, 블록체인의 상태를 안전하게 갱신하고 유지하여, 블록체인 내의 데이터의 일체성을 보장한다.
도 2는 디지털 서명의 체인으로서 전자 코인을 정의한다. 각 멤버는 이전 거래의 해시에 디지털로 서명하여 코인을 다음으로 전송하고 다음 멤버의 공개 키는 이들을 최종 코인에 부가한다. 지불자는 회원 자격의 체인을 입증하기 위하여 서명을 증명할 수 있다[14]. 도 2에 블록체인이 도시된다. 현재 블록의 해시값, 디지털 서명, 현재 블록의 해시 값, 블록 헤더들과 메르켈 루트(Merkle root), 및 블록 데이터가 트랜잭션들로 구성된다.
문제는 수취자가 소유자들 중 하나가 이중으로-소비하는 코인인 것을 증명할 수 없다는 것이다. 일반 솔루션(common solution)은 이중 소비에 대해 신뢰할만한 중앙 기관(Mint) 트랜잭션을 도입하는 것이다. 각 거래 후에 코인 민트로 복귀하여야 한다.
아무런 새로운 코인들도 발행되지 않고 민트로부터 직접 발행된 코인만이 이중으로-사용되는 것으로 믿는다. 여기서 민트(Mint)는 데비안(Debian)과 우분투(Ubuntu)에 기반하여 사용하기 쉬운 리눅스 배포 버전이다. 이러한 솔루션의 문제는 전체 모멘타리 시스템(momentary system)의 운명이다. 모든 트랜잭션들이 은행을 경유함에 따라 회사는 민트를 가동할 필요가 있으며 민트를 통과할 필요가 있다. 수취인은 이미 이전 멤버의 거래(deal)를 서명하지 않았다. 모든 트랜잭션들에서 거래(deal)가 없었음을 보장하는 유일한 방법이다. 민트-기반 모델, 민트는 모든 거래(deal)를 알고 있다. 나는 먼저 도달하려고 결정하였다. 신뢰되는 당사자(trusted party) 없이 이를 달성하기 위해서 수령한 주문을 공개적으로 발표하였다. 각각의 트랜잭션 시에, 대부분의 노드들은 최초였음에 동의하였다[14].
블록체인을 구성하는 블록들은 블록 헤더들과 블록 몸체로 구성된다. 블록 헤더는 이전 블록 헤더의 해시 값을 포함하고, 모든 블록들은 일종의 체인과 같이 링크드 리스트(linked list) 방법에 의하여 연결되며, 블록 생성의 어려움을 조정하기 위한 합의 알고리듬과 비트들에 사용되는 임의적인 임시값들을 포함한다. 블록 몸체들은 그들이 지원하는 서비스에 따라 다른 값들을 가질 수 있다. 예컨대, 비트코인, 디지털 암호 시스템, 10분간 발생하는 사용자들 사이의 거래(트랜잭션)는 블록 몸체에 포함된다. 블록체인은 공개 블록체인, 사적인 블록체인, 제휴(Consortium) 블록체인일 수 있으며, 세 가지로 분류될 수 있다[15]. 각 블록 몸체인 포스포러스(Phosphorus)는 전체적으로 그리고 구조적으로 유사하다. 그러나, 그들은 다른 개념과 특징을 가지며, 각 블록 체인에 실행하고 정의하기 위한 필수 조건들이 있다. 공개 블록체인은 비트코인으로서 공통적으로 알려진 블록체인이며, 사적인 블록체인 또는 제휴 블록체인은 다른 목적을 위하여 블록체인을 이용하는 개념이다.
다음으로, 종래의 IoT 센서 노드 인증 유형에 대하여 도 3을 참조하여 설명한다.
IoT 환경에서, 공격자들은 IoT 환경 내측으로 접속할 수 있도록 허가된 공격들, 재사용 공격들, 및 DoS 공격들과 같이 다양한 공격들을 가지고 IoT 장치로서 가장한다.
기존의 IoT 환경에서, 5가지 다른 유형의 인증 프로토콜들이 있다. 도 3의 표는 각 인증 기술의 장단점들을 보여준다.
도 3의 표에서 보는 바와 같이, 먼저, ID-기반 인증에 대한 것이다.
ID-기반 인증(Authentication)은 사용자의 이메일 주소, 이름, IP 주소를 공개 키 암호키 시스템으로서 사용함으로써 디지털 서명과 인증을 제공한다. 사전-분배된 키는 필요하지 않는다. 연산은 작으며, 키 길이는 비교적 짧다. 그러나, ID 기만 공격에 취약하다. 헤스 알고리듬(Hess's Algorithm), 린의 알고리듬(Lynn's Algorithm), 겐트리 앤 실버버그의 알고리듬(Gentry and Silverberg's Algorithm), 및 다양한 인증 프로그램이 있다[15].
다음으로, 증명서-기반 인증에 대한 것이다.
공개 키 암호 시스템, 전자서명용 정보를 이용한 디지털 서명을 통한 인증 방법은 증명서에 기록되고, 정보를 기초로 인증이 실행된다. 한국에서, 발급 시스템 및 위임된 인증의 관리에 대한 규제가 1999년에 제정된 디지털 서명법을 통해 준비되었으므로, 증명서 발급 및 증명은 5개의 위임된 인증 주체를 통한 최고 수준의 인증 기관 아래 루트 공인기관(Root CA)에 의해 실행된다. 국내외에서, 베리사인(Verisign)의 디바이스 인증 서비스는 개인 장치, 케이블 모뎀 장치 인증, 및 WiMAX 산업 인증을 포함한다. 더욱이, 증명서-기반 인증 기술은 VoIP, 네트워크 감시 카메라, 등에 사용되고, 영역은 점차로 확대된다.
증명서-기반 인증 기술은 강력한 인증 성능을 통해 높은 보안을 제공하며 부인-봉쇄를 제공한다. 그러나, 디바이스 인증 처리 소프트웨어 및 알고리듬은 높은 연산 처리량을 필요로 한다. 그러므로, 저-전력, 저-성능의 IoT 장치에 사용하기에 적절하지 않는다.
다음으로, 암호학(Cryptography) 프로토콜 기반에 관한 것이다.
공개 키의 암호학, 및 대칭 키 암호학은 무선 인터넷 보안 프로토콜에서 주로 사용된다.
이는 802.1x / 802.11i 및 WPA와 같은 여러 표준을 지원한다. 인증 방법에 기초한 암호 프로토콜은 사용된 암호 프로토콜에 따라 ID/패스워드-기반 인증, MAC 주소 기반 인증, 및 증명서-기반 장치 증명서 인증과 같은 기술을 포함할 수 있다. 게다가, 다양한 인증 방법들은 사용 환경에 따라 선택될 수 있으며, 부인-봉쇄 기능은 채용된 암호 프로토콜에 따라 제공될 수 있다. 그러나, 암호 기술의 취약성이 보안-기반 암호 기술에 의존함으로써 발견되면, 인증 기술의 취약성을 유발할 수 있다.
다음으로, MAC 주소 기반 인증에 관한 것이다.
네트워크 인터페이스에 지정된 특수한 식별 주소는 MAC(Media Access Control) 주소를 사용하는 것이다. 이는 주로 인트라넷 환경에서 네트워크 접속 제어에 사용된다. 네트워크 접속 및 장치로부터 수신된 메시지에 의하여 전송된 MAC 주소를 요청할 때 장치는 서버에 등록된 MAC 주소를 비교하고 인증하기 위한 절차를 가지며 ID/패스워드 기반 인증 방법보다 더 간단하고 신속하다. 그러나, 다양한 장치들의 증가와 IoT의 출현에 의하여, 새로운 MAC 주소 포맷들이 정의될 필요가 있으며, EUI-48 및 EUI-64와 같은 새로운 표준이 정의된다. 또한, MAC 주소는 기망될 수 있으므로 추가적인 보안 장비 없이 기만(spoofing)과 같은 공격들에 취약하다[16].
다음으로, ID/패스워드 기반 인증에 관한 것이다.
각 사용자의 ID와 패스워드는 서버의 DB에 저장되고 저장된 지식을 기초로 인증된다. 이는 서버/고객 인증 환경에 사용된 기술이다.
서버에 저장된 패스워드들의 리스트는 많은 경우 노출되고; 해시 함수를 통한 값의 저장 방법이 그 값이 사용되는 것을 방지하기 위하여 채용된다.
더 높은 보안을 보장하기 위하여, 이는 SSID를 숨기고, AP와 장치 사이에 WEP 키를 사용하고, PAP 인증 방법을 채용하고, RFID 방법을 사용한다. IoT 환경에서의 ID/패스워드 방법은 사람의 개입 없이 복수의 장치들이 사용되는 IoT 환경의 특성에 기인하여 서버의 관리와 부하와 같은 문제가 있으며, 장치를 수정하고 추가하는 과정에 있어서 인간의 개입이 필요한 문제가 있다. 또한, 부인방지 기능을 제공하지 않으므로, IoT 환경에서의 인증 기술로서 적절하지 않다.
다음으로, 본 발명의 일실시예에 따른 블록체인 기반 IoT 센서 노드 인증 방법에서 필요한 요건들, 장치 인증, 해킹 시나리오에 대하여 도 4를 참조하여 설명한다. 즉, IoT 센서 노드의 인증 방법에서 필요한 요건들에 대하여 설명한다.
IoT 환경에서 확실한 인증을 위하여, 노드 인증이 분석되어야 한다. 이 발명에서, 블록체인을 사용하여 IoT 장치에서 작동하는 인증 프로그램에 대해 설명한다.
IoT 인증 방법의 보안 요건들은 이하와 같다:
(1) 장치 인증: IoT 네트워크에 참가하는 각 센서 장치는 상위-수준의 정도까지 적법한 센서임을 입증하여야 한다.
(2) 장치 무결성(integrity): 각 센서 장치는 상위-수준 정도까지 이는 오염이나 악성 코드로부터 자유로운 것을 입증하여야 한다.
(3) 부인방지: 각 센서 장치가 다른 장치들과의 상호 작용 과정에서 상위-수준 정도까지 메시지의 부인-봉쇄를 제공하여야 한다.
다음으로, 장치 인증 방법에 대하여 설명한다.
현재의 IoT 인증은 센서 노드 인증에 사용되는 머클 트리(Merkle-Tree)[17]를 사용한다.
머클 트리(Merkle-Tree)는 트리 구조 유형인 해시 트리로서 리프 노드가 파일과 같은 데이터를 표시한다. 부모 노드는 각 자식 노드의 해시 값이다. 예컨대, 도 4에서, 루트(root)는 자식 H(ABCDEFGH)와 자식 H(IJKLMNOP)의 결합인 해시 함수이다. 해시 함수는 위에 도시된 바와 같이 이진 트리를 사용할 수 있으며, 그러나 또한 임의 진수의 트리와 사용될 수 있다. 어느 해시 함수라도 사용될 수 있으며, 통상, SHA-1, 타이거(Tiger), 또는 월풀(Whirlpool)과 같은 암호학적인 해시 함수가 사용된다. 그러나, 해시 트리의 사용 목적이 악성 공격자에 의한 데이터 변경(tampering)을 방지하려는 것이 아니고, 단순히 오류를 발견하는 것이면, CRC와 같은 안전하지 않은 함수가 사용될 수 있다. 데이터를 유효화하기를 원하는 사용자들은 루트 노드의 해시 값(루트 해시 또는 마스터 해시로 불림)만을 아는 것에 의하여 데이터가 맞다(correct)는 것을 입증할 수 있다[18][19[20].
도 4는 본 발명의 일실시예에 따른 머클 트리(Merkle-Tree) 해시 함수의 기본 구조를 나타낸 도면.
다음으로, IoT 인증에 대한 해킹 시나리오를 설명한다.
IoT 환경은 많은 센서 노드들로 구성되며, 때로, 센서 노들들의 수는 수백만일 수 있다. 더욱이, 대부분의 IoT 장치는 인증 방법을 가지지 않는다. 그러므로, 재밍(Jamming)과 탬퍼링(Tampering) 공격이 IoT 환경을 효과적으로 파괴할 수 있다.
먼저, 재밍 공격에 대한 가정이다.
악성 노드가 무선 채널을 알고 있고, 따라서 재밍 소스가 네트워크에 임의로 배포되면 전체 네트워크를 붕괴시킬 수 있다.
재밍 공격 시나리오는 이하와 같다:
1. 공격자는 적법 노드들과 공유되는 무선 신호를 사용하여 이웃 노드들에 헬로(hello) 메시지를 전송하기 위해 악성 노드를 동작시키기 시작한다.
2. 악성 노드는 무선 신호를 사용하여 이웃 노드들에 헬로 메시지를 전송한다.
3. 각각의 노드는 모든 적법한 노드들에 의하여 공유되는 무선 채널을 검사하여 메시지를 확인한다. 무선 신호가 자신들 자체 것과 다르면, 그들은 메시지를 폐기한다. 아니면 공격이 성공적이다.
4. 응답 노드는 ACK에 의하여 악성 노드에 대해 응답한다. 이웃으로부터 헬로 메시지를 받을 때마다, 그들은 노드 식별자를 입력하여 그들의 이웃 테이블을 갱신한다.
다음으로, 본 발명에 따른 블록체인에 의한 IoT 인증 방법을 도 5와 도 6을 참조하여 설명한다.
도 6은 IoT 인증을 처리하는 방법을 보여준다. 싱크 노드는 원의 중심에 위치된다. 싱크 노드는 시퀀스 번호들을 순서대로 한 번에 브로드캐스팅(방송) 한다.
먼저, 싱크 노드(10)는 주위 센서 노드(20)들에 1번을 브로드캐스팅 한다. 각 노드는 싱크 노드로부터 짧은 거리에 있으면 싱크 노드에 응답한다. 싱크 노드(10)는 센서 노드(20)의 응답을 수신하고 그들이 위치하는 장소를 확인한다. 싱크 노드(10)에 근접한 노드(또는 센서 노드)(20)는 싱크 노드(10)에 신속하게 응답할 수 있다. 그들은 첫번째 시퀀스 번호 1을 획득한다. 싱크 노드로부터 멀리 있는 노드는 적색 수준 1에서 노드 응답을 수신 후에 싱크 노드에 응답하였다. 노드들이 녹색 수준 2이면, 시퀀스 번호 2를 획득한다. 이런 방식으로 진행한다. 그러므로, 각 노드는 싱크 노드로부터 순서대로 시퀀스 번호를 얻을 수 있다. 이는 수준 1의 싱크 노드들에 근접하는 노드들은 낮은 차수의 시퀀스 번호를 가진다. 반면, 싱크 노드로부터 떨어진 노드들은 높은 차수를 가진다.
시퀀스 번호를 가진 노드들은 적법센서 노드들로서 인증된다. 이 경우, 악성 노드들이 이 그룹에 합류하고, 그들은 적절한 시퀀스 번호와, 타임 스탬프와 이전 노드의 해시값들로 구성된 적절한 해시값을 가지지 못한다.
도 5는 센서 네트워크에서 서로 통신하는 방법을 도시하고 시퀀스 번호를 가진 노드들을 정렬하는 것을 도시한다. 좌측 번호들은 단계들이다. 여기에 상세한 과정이 설명된다.
[단계 1] 싱크 노드가 시퀀스(sequence) 번호 1번을 주위 노드들에 브로드캐스팅 한다.
[단계 2] 노드 1과 2는 싱크 노드의 브로드캐스팅을 수신한다. 노드 1과 2는 자신의 ID와 함께 응답한다. 싱크 노드는 싱크 노드 테이블에서 시퀀스 번호 1번으로 노드 번호를 기록한다. 수준 1은 싱크 노드와 노드들 사이의 거리가 근접한 것을 의미한다. 이와 같이, 최근접 노드들은 싱크 노드에 신속하게 응답할 수 있다. 일정 시간 동안, 싱크 노드는 어느 응답도 수신하지 못하고, 다음 시퀀스 번호 2번으로 다른 노드들에 브로드캐스팅하기 시작한다.
[단계 3] 싱크 노드는 시퀀스 번호 2번으로 주위 노드들에 브로드캐스팅한다. 이 경우, 이전에 응답하지 않은 노드들은 싱크 노드에 응답할 수 있다.
[단계 4] 노드 3과 4는 싱크 노드의 브로드캐스팅을 수신하면, 노드 3과 4는 자신의 ID와 함께 응답한다. 싱크 노드는 노드 번호를 시퀀스 번호 2번으로 싱크 노드 테이블에 기록한다. 수준 2는 수준 1보다 약간 더 먼 거리를 가지는 것을 의미한다.
...
...
[단계13] 악성 노드가 이 그룹에 합류하려고 하면, 그는 적절한 시퀀스 번호와 해시 값을 가지지 못한다. 이것은 악성 노드가 이 그룹에 중간에 합류하기 때문이다.
[단계 14] 이웃 노드가 악성 노드의 메시지를 수신하면, 노드 12는 악성 노드의 시퀀스 번호와 타임 스탬프를 매치할 수 있고, 상기 메시지가 진정인지 여부를 증명할 수 있다.
이벤트가 발생하면, 각 노드는 시퀀스 번호, 타임스탬프, 및 해시값과 함께 자신의 데이터를 전송한다.
여기서, 이벤트는 통신 메시지를 의미한다. IoT 환경은 서로 통신하는 매우 많은 수의 센서 노드들로 구성된다. 대부분의 IoT 센서 노드들은 센서 노드의 성능 제한에 기인하여 암호 알고리듬을 가지지 않는다. 그러므로, 본 발명에서, 너무 지나친 성능 희생 없이 각 노드의 메시지 비밀성(confidentiality)과 무결성(integrity)을 확인하기 위하여 이웃의 해시 함수 증명을 이용한다.
싱크 노드는 모든 노드들의 식별자와 시퀀스 번호를 가지며, 따라서 싱크 노드는 각 노드의 수준과 그 자신으로부터의 물리적 거리를 증명할 수 있다. 도 6은 노드들에서 노드들로의 메시지 패킷을 도시한다.
도 6은 도 5와 기본적으로 동일하다. 이는 모든 수준들 둘레로 노드들에 시퀀스 번호를 브로드캐스팅하는 방법을 보여준다.
다음으로, 본 발명의 일실시예에 따른 IoT 다중-레벨의 노드 인증 방법을 도 7 및 도 8을 참조하여 설명한다. 도 7은 이하에서 사용되는 기호들의 표기 방식을 설명한 표이다. 또한, 도 8은 여러 IoT 노드들 중에서 인증 방법을 보여준다.
ID1은 모든 다른 시퀀스 번호를 가지는 노드로서 싱크 노드이며, 싱크 노드로부터 가장 멀고 ID1으로 전송하는 ID4에서 이벤트를 생성함으로서 ID4로부터 해시 값을 생성한다.
각각의 노드는 각 노드의 비밀 정보인 도 5와 도 6의 시퀀스 번호(SN)를 가지며, 이는 그를 확인함으로써 각 노드를 인증하는 수단으로 사용된다. 더욱이, ID1은 모든 노드들의 모든 시퀀스 번호를 가지며 전송된 메시지로부터 각 노드의 시퀀스 번호를 확인하므로, 중간에 악성 노드가 있을 수 없다.
ID1는 IDi를 참조함으로써 메시지가 전송되는 노드를 확인하고, 식별자(ID)의 시퀀스 번호를, 전송된 해시값과 해시값으로 비교하며, 다양한 스테이지들의 메시지를 인증한다.
초기 세션들에서, 악의적인 노드가 참여하지 않는 것으로 가정하면, 노드는 적절한 시퀀스 번호를 가지지 않는다. 더욱이, 악의적인 노드의 이웃 노드들은 악의적인 노드의 시퀀스 번호를 가지지 않는다.
그러므로, 전송 과정이 진행될수록, 더욱 강력한 인증이 계속 진행되어 싱크 노드에 도달하기까지 진행한다.
다음으로, 본 발명의 일실시예에 따른 블록체인 기반 IoT 센서 노드 인증 방법을 도 9를 참조하여 설명한다.
도 9에서 보는 바와 같이, 본 발명에 따른 IoT 센서 노드 인증 방법은 (a) 각 센서노드에 시퀀스 번호를 부여하는 단계(S10), (b) 이벤트가 발생하면, 해당 센서노드가 메시지를 생성하여 전달하는 단계(S20), (c) 각 센서노드는 차수가 높은 메시지를 수신하여 전달하는 단계(S30), 및, (d) 상기 싱크노드는 가장 차수가 낮은 센서노드로부터 메시지를 수신하여, 상기 이벤트의 경로와, 경로 상의 각 센서노드를 인증하는 단계(S40)로 구성된다.
먼저, 싱크노드(10)는 각 센서노드(20)에 시퀀스 번호를 부여한다(S10). 이때, 싱크노드(10)와 거리에 따라, 가까운 센서노드(20)에는 낮은 차수의 시퀀스 번호를, 멀리 떨어진 센서노드(20)에는 높은 차수의 시퀀스 번호를 부여한다.
구체적으로, 최초에 싱크노드(10)는 가장 낮은 차수의 시퀀스 번호를 브로드캐스팅 한다. 각 센서노드(20)들은 브로드캐스팅 된 시퀀스 번호를 수신하면, 시퀀스 번호를 해시하여 얻은 해시값(시퀀스 번호의 해시값)과 자신의 식별자(아이디 등)를 포함하여 응답 메시지로 만들고, 응답 메시지에 타임스탬프를 넣어 전송한다. 싱크노드(10)는 각 센서노드(10)로부터 응답 메시지를 수신하고 응답 메시지의 타임스탬프의 시간을 제한하여, 특정 시간 이내에 응답한 센서노드(10)들에만 가장 낮은 차수의 시퀀스 번호를 부여한다.
그리고 싱크노드(10)는 그 다음 낮은 차수의 시퀀스 번호를 브로드 캐스팅하여, 앞의 과정을 반복한다. 이때, 이미 시퀀스 번호가 부여된 센서노드(10)는 응답하지 않는다. 상기와 같이, 싱크노드(10)는 모든 센서노드(20)에 대하여 시퀀스 번호를 부여하고, 거리가 먼(응답 속도가 느린) 센서노드일수록 높은 차수의 시퀀스 번호를 부여한다.
또한, 싱크노드(10)는 각 센서노드의 식별자(아이디 등)와, 해당 노드의 시퀀스 번호의 해시값을 기록하여 저장한다.
다음으로, 이벤트가 발생하면, 해당 센서노드(20)는 이벤트 데이터와, 자신의 아이디 및 시퀀스 해시값을 전송한다(S20).
앞서 설명한 바와 같이, 상기 이벤트 데이터는 이벤트에 의해 발생된 데이터로서, 예를 들어, 센서노드(20)가 센싱한 값 등이다.
상기 시퀀스 해시값은 해당 센서노드의 시퀀스 번호를 해시한 값, 즉, 시퀀스 번호의 해시값이다.
다음으로, 각 센서노드(20)는 이벤트 데이터와, 경로 상의 센서노드들의 식별자(아이디)와 시퀀스 해시값을 수신하면, 이들을 갱신하여 전달한다(S30). 이때, 각 센서노드(20)는 자신 보다 높은 차수의 시퀀스 번호를 갖는 센서노드로부터 수신한다.
즉, 각 센서노드(20)는 자신 보다 높은 차수의 시퀀스 번호를 갖는 센서노드(또는 자신 보다 높은 차수의 레벨의 센서노드)로부터 이벤트 데이터와 시퀀스 해시값을 수신한다.
또한, 각 센서노드(20)는 경로에 자신을 더 추가한다. 경로에 자신이 포함되므로, 자신의 아이디와 시퀀스 해시값을 추가한다. 자신의 시퀀스 해시값은 자신의 시퀀스 번호의 해시값이다. 여기서, 경로라 함은 이벤트가 발생한 센서노드로부터 현재 센서노드까지 이벤트 데이터가 거쳐간 센서노드들을 말한다. 예를 들어, 센서노드 ID4, 센서노드 ID3를 거쳐, 현재 센서노드 ID2가 이벤트 데이터를 수신하였다면, 수신한 경로는 ID4-ID3이다. 그리고 갱신한 경로는 현재 센서노드 ID2가 추가되어, ID4-ID3-ID2가 된다. ID2의 아이디와 시퀀스 해시값은 각각 ID2, h(S2)이다.
또한, 수신한 경로 상의 각 시퀀스 해시값에 자신의 시퀀스를 추가하여 갱신한다. 즉, 각 시퀀스 해시값에 자신의 시퀀스 번호를 추가한 후, 전체를 다시 해시하여 얻은 시퀀스 해시값이 갱신된 시퀀스 해시값이다. 예를 들어, 센서노드 ID4와 ID3의 시퀀스 해시값은 각각 h(h(S4)∥S3), h(S3)이다. 이들 시퀀스 해시값에 센서노드 ID2의 시퀀스 번호 S2를 추가하여 해시하면 각 시퀀스 해시값을 갱신할 수 있다. 즉, 센서노드 ID4와 ID3의 갱신된 시퀀스 해시값은 각각 h(h(h(S4)∥S3)∥S2), h(h(S3)∥S2)이다.
상기와 같이 해당 센서노드는 갱신된 경로 상의 센서노드들의 식별자(아이디)와 시퀀스 해시값(암호값)을 이벤트 데이터와 함께 전송한다. 따라서 전송되는 데이터는 이벤트 데이터 E, ID4, h(h(h(S4)∥S3)∥S2), ID3, h(h(S3)∥S2), ID2, h(S2)이다.
다음으로, 싱크노드(10)는 인접한 센서노드로부터 경로 상의 센서노드들의 식별자와 시퀀스 해시값을 이벤트 데이터와 함께 수신하고 이로부터 경로 상의 센서노드를 확인하고, 경로상의 각 센서노드들의 시퀀스 해시값을 인증한다(S40).
즉, 싱크노드(10)는 가장 차수가 낮은 센서노드로부터 경로 상의 센서노드들의 식별자와 시퀀스 해시값, 그리고 이벤트 데이터를 수신한다.
경로 상의 센서노드들의 식별자(아이디)를 통해, 상기 이벤트 데이터가 거쳐온 센서노드들을 식별할 수 있다. 그리고 경로 상의 각 센서노드의 시퀀스 해시값은 해당 센서노드의 시퀀스 번호 해시값과, 이후 경로 상의 센서노드의 시퀀스 번호가 순차적으로 결합하여 해시된 해시값이다.
경로 상의 센서노드들의 시퀀스 해시값을 검증함으로써 해당 센서노드들이 정상적인 노드인지를 확인할 수 있다. 따라서 싱크노드(10)는 시퀀스 해시값이 인증된 이벤트만 올바른 이벤트로 확인하여, 해당 이벤트만 수집한다.
ICT 기술이 발전됨에 따라, IoT 환경은 또한 매력을 가지고, 연구가 활성적으로 진행된다. IoT 환경은 개인 정보와 밀접하게 관련되고, 모든 장치들은 인터넷에 연결된다. 증명을 고려할 필요가 있다. 그러나, IoT 인증 프로토콜의 경우, 공개 키의 암호 작동을 필요로 하지 않거나, 또는 장치가 암호 작동을 계산할 수 없는 CPU에서 사용된다. 대부분의 경우는 저성능 장치를 고려하지 않는다. IoT 장치들은 집중되지도 서버에 의하여 제어되지도 않는다. 그들은 분산된 연산 환경에서 작동한다. 블록체인은 이러한 조건을 완전히 만족할 수 있다. 블록체인은 완전히 분산되고, 집중이 배제되고, 우리의 디지털 생활의 대부분의 기초로 된다. IoT 장치들은 공적이거나 사적인 키 값을 계산할 충분한 능력을 가지지 못한다.
그러므로, 이 본 발명에서 확실하고 경량인 블록체인 기반의 IoT 인증 프로그램이 제안된다. IoT 장치에 대한 블록체인-기반 인증은 유용한 솔루션이다. 인증에 부가해서, 본 발명에 따른 인증 방법은 무결성과 부인방지 기능을 제공한다. 또한, IoT 장치는 단지 간단한 해시 작동만을 요구하며, 따라서 저성능 장치에서 동작할 수 있고, IoT 환경에서 확실한 인증을 제공할 수 있다.
이상, 본 발명자에 의해서 이루어진 발명을 상기 실시 예에 따라 구체적으로 설명하였지만, 본 발명은 상기 실시 예에 한정되는 것은 아니고, 그 요지를 이탈하지 않는 범위에서 여러 가지로 변경 가능한 것은 물론이다.
10 : 싱크 노드 20 : 센서 노드

Claims (7)

  1. 싱크노드와 다수의 센서노드로 구성된 센서 네트워크에서, 블록체인 기반 IoT 센서 노드 인증 방법에 있어서,
    (a) 상기 싱크노드는 상기 다수의 센서노드 각각에 시퀀스 번호를 부여하는 단계;
    (b) 이벤트가 발생하면, 이벤트가 발생한 해당 센서노드에서 해당 센서노드의 시퀀스 번호를 해시하여 시퀀스 해시값을 생성하고, 이벤트 데이터와, 자신의 아이디 및 시퀀스 해시값을 전송하는 단계;
    (c) 각 센서노드는 이벤트 데이터와 경로 상의 센서노드들의 아이디와 시퀀스 해시값을 수신하면, 자신의 아이디와 시퀀스 번호를 반영하여 경로 및 시퀀스 해시값을 갱신하고 갱신된 경로 상의 센서노드들의 아이디와 시퀀스 해시값을 전달하되, 상기 경로 상의 센서노드들은 상기 이벤트가 발생한 센서노드에서 각 센서노드까지 이벤트 데이터가 거쳐온 센서노드들인 단계; 및,
    (d) 상기 싱크노드는 상기 이벤트 데이터와, 경로 상의 센서노드들의 아이디와 시퀀스 해시값을 수신하여, 수신된 시퀀스 해시값을 인증하는 단계를 포함하는 것을 특징으로 하는 블록체인 기반 IoT 센서 노드 인증 방법.
  2. 제1항에 있어서,
    상기 (a)단계에서, 상기 싱크노드는 센서노드의 거리가 가까울수록 차수가 낮은 시퀀스 번호를 부여하고, 센서노드의 거리가 멀수록 차수가 높은 시퀀스 번호를 부여하는 것을 특징으로 하는 블록체인 기반 IoT 센서 노드 인증 방법.
  3. 제2항에 있어서,
    상기 (a)단계에서, 상기 싱크노드는 가장 낮은 차수의 시퀀스 번호를 브로드캐스팅 하고, 각 센서노드들은 브로드캐스팅 된 시퀀스 번호를 수신하면, 시퀀스 번호를 해시하여 얻은 해시값과 자신의 아이디를 포함하여 응답 메시지로 만들고, 응답 메시지에 타임스탬프를 넣어 전송하고, 상기 싱크노드는 각 센서노드로부터 응답 메시지를 수신하고 응답 메시지의 타임스탬프의 시간을 제한하여, 특정 시간 이내에 응답한 센서노드들에만 가장 낮은 차수의 시퀀스 번호를 부여하고, 그 다음 낮은 차수의 시퀀스 번호를 브로드 캐스팅하여, 앞의 과정을 반복하되, 이미 시퀀스 번호를 부여받은 센서노드들은 응답 메시지를 전송하지 않는 것을 특징으로 하는 블록체인 기반 IoT 센서 노드 인증 방법.
  4. 제1항에 있어서,
    상기 (c)단계에서, 경로 상의 센서노드들의 각 시퀀스 해시값에 각 센서노드의 시퀀스 번호를 추가하고 추가된 전체 값에 해시하여 시퀀스 해시값을 갱신하는 것을 특징으로 하는 블록체인 기반 IoT 센서 노드 인증 방법.
  5. 제1항에 있어서,
    상기 (c)단계에서, 각 센서노드는 자신의 차수 보다 높은 차수의 시퀀스 번호를 갖는 센서노드로부터 상기 이벤트 데이터를 수신하는 것을 특징으로 하는 블록체인 기반 IoT 센서 노드 인증 방법.
  6. 제5항에 있어서,
    상기 (d)단계에서, 상기 싱크 노드는 가장 낮은 차수의 센서노드로부터 상기 이벤트 데이터를 수신하는 것을 특징으로 하는 블록체인 기반 IoT 센서 노드 인증 방법.
  7. 제1항에 있어서,
    상기 (d)단계에서, 상기 싱크노드는 인증되는 경우에만 상기 이벤트 데이터를 수집하는 것을 특징으로 하는 블록체인 기반 IoT 센서 노드 인증 방법.
KR1020170162406A 2017-11-30 2017-11-30 블록체인 기반 IoT 센서 노드 인증 방법 KR101995339B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170162406A KR101995339B1 (ko) 2017-11-30 2017-11-30 블록체인 기반 IoT 센서 노드 인증 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170162406A KR101995339B1 (ko) 2017-11-30 2017-11-30 블록체인 기반 IoT 센서 노드 인증 방법

Publications (2)

Publication Number Publication Date
KR20190063537A KR20190063537A (ko) 2019-06-10
KR101995339B1 true KR101995339B1 (ko) 2019-07-04

Family

ID=66848546

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170162406A KR101995339B1 (ko) 2017-11-30 2017-11-30 블록체인 기반 IoT 센서 노드 인증 방법

Country Status (1)

Country Link
KR (1) KR101995339B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102175724B1 (ko) 2019-10-18 2020-11-06 한전케이디엔 주식회사 사물인터넷 센서 및 그를 이용한 사물인터넷 보안 강화 방법
KR20220143477A (ko) 2021-04-16 2022-10-25 유비벨록스(주) IoT 디바이스 인증 시스템 및 이를 이용한 IoT 디바이스 인증 방법

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102196574B1 (ko) * 2019-06-11 2020-12-30 대한민국 블록체인을 활용한 매출 정보관리시스템 및 블록체인을 활용한 매출 정보관리방법
KR102336848B1 (ko) * 2019-08-09 2021-12-07 성신여자대학교 연구 산학협력단 센서 데이터 위변조 방지 장치, 보안성 시각화 장치 및 이를 포함하는 보안 시스템
KR102152537B1 (ko) * 2019-10-10 2020-09-07 (주) 모로보기 사물 인터넷 장치를 위한 블록체인 네트워크
KR102501671B1 (ko) 2019-12-03 2023-02-20 한국조폐공사 IoT 디바이스를 인증하며 IoT 디바이스의 무결성을 검증하는 방법 및 이를 이용한 컨트롤 디바이스
CN115151935A (zh) * 2020-02-24 2022-10-04 森斯通株式会社 基于虚拟认证代码的流程审批装置及方法
WO2021172877A1 (ko) * 2020-02-24 2021-09-02 주식회사 센스톤 가상인증코드 기반의 장치 간 인증 방법 및 프로그램
KR102345050B1 (ko) * 2021-05-25 2022-11-25 동국대학교 와이즈캠퍼스 산학협력단 정보 공유 시스템 및 이를 이용한 정보 공유 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110103583A1 (en) 2009-10-29 2011-05-05 Korea Internet & Security Agency Method and system for preserving security of sensor data and recording medium using thereof

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090012775A (ko) * 2007-07-31 2009-02-04 전자부품연구원 센서네트워크용 보안 시스템 및 그 방법
KR100927536B1 (ko) * 2007-09-27 2009-11-17 에스케이 텔레콤주식회사 위치 정보 기반 라우팅 방법 및 시스템
KR20170114927A (ko) * 2016-04-04 2017-10-16 한국전자통신연구원 모바일 센서 네트워크를 위한 경량 인증 프로토콜을 제공하는 방법 및 장치

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110103583A1 (en) 2009-10-29 2011-05-05 Korea Internet & Security Agency Method and system for preserving security of sensor data and recording medium using thereof

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Hong, Sunghyuck. "Secure and light IoT protocol (SLIP) for anti-hacking." Journal of Computer Virology and Hacking Techniques 13.4 (2017)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102175724B1 (ko) 2019-10-18 2020-11-06 한전케이디엔 주식회사 사물인터넷 센서 및 그를 이용한 사물인터넷 보안 강화 방법
KR20220143477A (ko) 2021-04-16 2022-10-25 유비벨록스(주) IoT 디바이스 인증 시스템 및 이를 이용한 IoT 디바이스 인증 방법

Also Published As

Publication number Publication date
KR20190063537A (ko) 2019-06-10

Similar Documents

Publication Publication Date Title
KR101995339B1 (ko) 블록체인 기반 IoT 센서 노드 인증 방법
Hong P2P networking based internet of things (IoT) sensor node authentication by Blockchain
Grammatikis et al. Securing the Internet of Things: Challenges, threats and solutions
Khan et al. IoT security: Review, blockchain solutions, and open challenges
Papaioannou et al. A survey on security threats and countermeasures in internet of medical things (IoMT)
Nandy et al. Review on security of internet of things authentication mechanism
Alladi et al. SecAuthUAV: A novel authentication scheme for UAV-ground station and UAV-UAV communication
Ashibani et al. Cyber physical systems security: Analysis, challenges and solutions
Newsome et al. The sybil attack in sensor networks: analysis & defenses
Boudriga Security of mobile communications
Shi et al. Dynamic distributed honeypot based on blockchain
Sgora et al. A survey on security and privacy issues in wireless mesh networks
Usman et al. A mobile multimedia data collection scheme for secured wireless multimedia sensor networks
Khasawneh et al. A secure and efficient authentication mechanism applied to cognitive radio networks
Sekhar et al. Security in wireless sensor networks with public key techniques
Mohammed A hybrid framework for securing data transmission in Internet of Things (IoTs) environment using blockchain approach
Wazid et al. TACAS-IoT: trust aggregation certificate-based authentication Scheme for edge-enabled IoT systems
Soni et al. A L-IDS against dropping attack to secure and improve RPL performance in WSN aided IoT
Alsaidi et al. Security attacks and countermeasures on cloud assisted IoT applications
Jain et al. Securing wireless sensors in military applications through resilient authentication mechanism
Badr et al. Security and privacy in the Internet of Things: threats and challenges
Al Hayajneh et al. Security of broadcast authentication for cloud-enabled wireless medical sensor devices in 5G networks
Oberoi et al. ADRCN: A framework to detect and mitigate malicious Insider Attacks in Cloud-Based environment on IaaS
Millar IoT Security Challenges and Mitigations: An Introduction
Lounis Security of short-range wireless technologies and an authentication protocol for IoT

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
N231 Notification of change of applicant