KR101810150B1 - 모바일 단말과 IoT기기간 제3자 보안인증 시스템 및 방법 - Google Patents

모바일 단말과 IoT기기간 제3자 보안인증 시스템 및 방법 Download PDF

Info

Publication number
KR101810150B1
KR101810150B1 KR1020160008339A KR20160008339A KR101810150B1 KR 101810150 B1 KR101810150 B1 KR 101810150B1 KR 1020160008339 A KR1020160008339 A KR 1020160008339A KR 20160008339 A KR20160008339 A KR 20160008339A KR 101810150 B1 KR101810150 B1 KR 101810150B1
Authority
KR
South Korea
Prior art keywords
mobile terminal
iot device
authentication
information
terminal
Prior art date
Application number
KR1020160008339A
Other languages
English (en)
Other versions
KR20160121775A (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 (주)아이씨엔캐스트
Publication of KR20160121775A publication Critical patent/KR20160121775A/ko
Application granted granted Critical
Publication of KR101810150B1 publication Critical patent/KR101810150B1/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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • H04L67/16
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • H04L9/3213Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3228One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Telephonic Communication Services (AREA)

Abstract

본 발명에 따르면, 모바일 단말과 IoT기기간 제3자 보안 인증에 있어서, 제3자 보안 인증서버를 도입하여 모바일 단말의 해킹에 대비한 IoT기기 원격 제어용 어플리케이션 프로그램의 위조/변조체크, 모바일 단말-IoT기기간의 보안인증 패킷 등을 제3자가 점검하여 인증해주는 프로세스를 적용함으로써, 모바일 단말과 IoT기기간 보안 인증과정의 무결성 및 보안성을 강화할 수 있다.

Description

모바일 단말과 IoT기기간 제3자 보안인증 시스템 및 방법{THIRD PARTY'S SECURITY AUTHENTICATION SYSTEM BETWEEN MOBILE DEVICE AND IoT DEVICES AND METHOD THEREOF}
본 발명은 모바일 단말을 통한 IoT(Internet of Things ;사물인터넷)기기의 원격제어 시에 모바일 단말과 IoT기기간의 보안인증기술에 관한 것으로, 모바일 단말과 IoT기기간 보안 인증과정에서 제3자 보안 인증서버를 도입하여 모바일 단말의 IoT기기 원격 제어용 어플리케이션 프로그램의 위조/변조체크 및 단말기 인증절차와, 모바일 단말-IoT기기간의 보안인증 패킷 등을 제3자가 점검하여 인증해주는 프로세스 등을 적용함으로써, 모바일 단말과 IoT기기간 보안 인증과정의 무결성 및 보안성을 강화할 수 있는 모바일 단말과 IoT기기간 제3자 보안인증 시스템 및 방법에 관한 것이다.
일반적으로, 기존의 모바일 단말을 이용한 IoT기기 제어를 위한 인증기술들은 1차적으로 인증 정보인 아이디, 패스워드 등을 이용하고, 2차적으로 보안카드 또는 바이오정보 (지문, 홍채 등)를 이용하고 있으나, 모바일 단말의 분실하는 경우나 모바일 단말 또는 IoT기기가 해킹을 당할 경우에는 인증키 등의 인증정보가 유출되어 재사용되거나, 프로그램의 위조/변조를 통한 보안점검 프로그램 로직이 무력화 될 수 있다는 문제점이 있다.
위와 같이 모바일 단말 또는 IoT기기가 해킹을 당할 경우에는 IoT의 무단 컨트롤로 인해 재산과 인명의 피해, 개인의 사생활 또는 기업의 기밀 등이 유출될 우려가 있다.
즉, 예를 들어 모바일 단말 자체가 해킹될 경우 보안 인증키, 모바일 단말의 물리코드 등이 탈취되어 재사용이 가능하게 되고, 프로그램의 위조/변조를 통하여 보안절차가 무력화될 수 있다. 또한, 모바일 단말과 IoT기기간의 인증 및 제어과정에서 통신패킷이 스니핑, 스푸핑, 패킷조작 등에 노출될 수 있다.
한편, 위와 같은 인증정보의 해킹을 방지하기 위해 종래에는 모바일 단말 인증시 인증카드 또는 USB등 별도의 인증기기를 사용하는 경우가 있으나, 인증카드 또는 USB등 별도의 인증기기를 사용하는 경우에는 분실 및 망실의 가능성과 구매 비용이 소요되고, 별도로 소지해야 하는 불편함이 있었다.
또한, IoT기기 제작사간에 인증 프로세스가 서로 상이하여 모바일 단말에서 IoT기기들을 제어하는데 보안상의 제약이 발생하는 문제점이 있었다.
(특허문헌)
대한민국 공개특허번호 10-2015-0035971호(공개일자 2015년 04월 07일)
대한민국 공개특허번호 10-2014-0045829호(공개일자 2014년 04월 17일)
따라서, 본 발명에서는 모바일 단말과 IoT기기 간 사용자 인증 및 통신 과정에서의 해킹에 대비하기 위하여, 모바일 단말의 IoT기기 원격 제어용 어플리케이션 프로그램의 위조/변조 및 단말기의 인증정보 탈취/재사용, 모바일 단말-IoT기기간의 통신패킷의 탈취/재사용 등을 제3자가 점검하여 인증해주는 프로세스를 적용함으로써, 모바일 단말과 IoT기기 간 사용자 인증과정의 무결성 및 보안성을 강화할 수 있는 모바일 단말과 IoT기기간 제3자 보안인증 시스템 및 방법을 제공하고자 한다.
상술한 본 발명은 모바일 단말과 IoT기기간 제3자 보안인증 시스템으로서, 유무선인터넷망을 통해 데이터 송수신이 가능한 IoT기기와, 유무선인터넷망을 통해 상기 IoT기기의 동작을 원격 제어하는 모바일 단말과, 상기 모바일 단말로부터 상기 IoT기기에 대한 원격 제어 요청이 있는 경우 상기 IoT기기에 대한 원격 제어를 승인하는 인증서버를 포함한다.
또한, 상기 인증서버는, 상기 모바일 단말에 상기 원격 제어 대상이 되는 상기 IoT기기를 등록하며, 상기 모바일 단말로부터 상기 IoT기기에 대한 원격 제어 요청이 있는 경우, 난수값과 상기 IoT기기로부터 전송된 상기 모바일 단말의 단말정보를 이용하여 제1 인증키(수신키)를 생성하고, 기등록 저장된 상기 모바일 단말의 단말정보와 상기 IoT기기로부터 전송된 난수값을 이용하여 생성한 제2 인증키(생성키)를 상기 IoT기기로부터 수신된 상기 제1 인증키와 상기 인증서버에서 생성된 제2 인증키를 비교하고, 상기 제1 인증키와 제2 인증키가 일치하는 경우 상기 모바일 단말을 상기 정당한 모바일 단말로 판단하는 것을 특징으로 한다.
또한, 상기 인증서버는, 상기 IoT기기의 등록 시, 상기 모바일 단말의 단말정보가 상기 인증서버에 기등록된 모바일 단말의 단말정보와 일치하는지 여부를 검사하고, 상기 단말정보가 서로 일치하는 경우 상기 등록 요청한 상기 모바일 단말에 상기 IoT기기를 등록하는 것을 특징으로 한다.
또한, 상기 인증서버는, 상기 등록된 IoT기기의 정보 변경 또는 삭제 시, 상기 IoT기기의 정보 변경 또는 삭제를 요청하는 상기 모바일 단말의 단말정보가 상기 인증서버에 기등록된 모바일 단말의 단말정보와 일치하는지 여부를 검사하고, 상기 단말정보가 서로 일치하는 경우 상기 IoT기기에 대한 정보를 변경하거나 삭제하는 것을 특징으로 한다.
또한, 상기 인증서버는, 상기 모바일 단말에 설치된 상기 IoT기기의 제어용 어플리케이션의 무결성 검증키를 수신하고, 상기 무결성 검증키를 이용하여 상기 어플리케이션의 프로그램이 변경되었는지 여부를 검사한 후, 상기 어플리케이션의 프로그램이 변경되지 않은 경우 상기 모바일 단말에 상기 IoT기기를 등록하는 것을 특징으로 한다.
또한, 상기 인증서버는, 상기 모바일 단말을 상기 IoT기기에 대한 제어 권한에 따라 마스터와 패밀리로 구분하여 등록하며, 상기 패밀리로 구분된 제1 모바일 단말의 상기 등록 요청에 따라, 상기 IoT기기의 등록 시 상기 마스터로 구분된 제2 모바일 단말의 승인을 얻어 상기 제1 모바일 단말에 상기 IoT기기를 등록하는 것을 특징으로 한다.
또한, 상기 난수값은, 상기 IoT기기 또는 상기 인증서버에서 생성되어 상기 모바일 단말로 제공되는 것을 특징으로 한다.
또한, 상기 단말정보는 물리코드, 위치 및 장비 식별정보 등이 있으며, 상기 모바일 단말의 물리코드는 예를 들면 MAC 주소 정보 또는 USIM 정보 등이며, 상기 모바일 단말의 위치정보 및 단말의 식별정보는 예를 들면 IP주소, GPS정보, 전화번호 등의 정보 인 것을 특징으로 한다.
또한, 상기 무결성 검증키는, 상기 어플리케이션의 버전(version) 정보 또는 체크썸(checksum) 정보를 이용하여 생성한 키인 것을 특징으로 한다.
또한, 본 발명은 유무선인터넷망을 통해 연결되는 모바일 단말과 IoT기기, 인증서버를 포함하는 제3자 보안인증 시스템에서 제3자 보안인증 방법으로서, 상기 인증서버에서 상기 IoT기기에 대한 원격 제어를 요청하는 상기 모바일 단말을 등록하는 단계와, 상기 모바일 단말에 상기 원격 제어 대상이 되는 상기 IoT기기를 등록하는 단계와, 상기 모바일 단말로부터 상기 IoT기기에 대한 원격 제어 요청이 있는 경우 상기 모바일 단말이 상기 IoT기기의 원격 제어를 위해 등록된 정당한 모바일 단말인지를 인증하는 단계와, 상기 원격 제어 요청한 모바일 단말이 상기 정당한 모바일 단말인 경우 상기 IoT기기에 대한 원격 제어를 승인하는 단계를 포함한다.
또한, 상기 인증하는 단계는, 상기 인증서버에서 난수값과 상기 IoT기기로부터 전송된 상기 모바일 단말의 단말정보를 이용하여 제1 인증키(수신키)를 생성하는 단계와, 기등록 저장된 상기 모바일 단말의 단말정보와 상기 IoT기기로부터 전송된 난수값을 이용하여 생성한 제2 인증키(생성키)를 상기 IoT기기로부터 수신하는 단계와, 상기 제1 인증키와 상기 제2 인증키를 비교하고, 상기 제1 인증키와 제2 인증키가 일치하는 경우 상기 모바일 단말을 상기 정당한 모바일 단말로 인증하는 단계를 포함하는 것을 특징으로 한다.
또한, 본 발명은 모바일 단말과 IoT기기간 제3자 보안인증 시스템으로서, 유무선인터넷망을 통해 데이터 송수신이 가능한 IoT기기와, 상기 유무선인터넷망을 통해 상기 IoT기기와 데이터 송수신을 수행하며, 상기 데이터 송수신을 통해 상기 IoT기기의 동작을 원격 제어하는 모바일 단말과, 상기 모바일 단말에 상기 원격 제어 대상이 되는 상기 IoT기기를 등록하고, 상기 등록된 IoT기기와 모바일 단말에 대한 정보를 관리하는 어플리케이션 검증서버와, 상기 모바일 단말로부터 상기 IoT기기에 대한 원격 제어 요청이 있는 경우, 상기 어플리케이션 검증서버와 연동하여 상기 모바일 단말이 상기 IoT기기의 원격 제어를 위해 등록된 정당한 모바일 단말인지를 인증하고, 상기 원격 제어 요청한 모바일 단말이 상기 정당한 모바일 단말인 경우 상기 IoT기기에 대한 원격 제어를 승인하는 인증서버를 포함한다.
또한, 상기 인증서버는, 상기 모바일 단말로부터 상기 IoT기기에 대한 원격 제어 요청이 있는 경우, 난수값과 상기 어플리케이션 검증서버로부터 생성된 제1 인증키(수신키)를 수신하고, 상기 IoT기기로부터 전송된 상기 모바일 단말의 단말정보와 상기 난수값을 이용하여 제2 인증키(생성키)를 생성한 후, 상기 제1 인증키와 상기 제2 인증키를 비교하고, 상기 제1 인증키와 제2 인증키가 일치하는 경우 상기 모바일 단말을 상기 정당한 모바일 단말로 판단하는 것을 특징으로 한다.
또한, 상기 난수값은, 상기 어플리케이션 검증서버에서 생성되어 상기 인증서버와 상기 모바일 단말로 제공되는 것을 특징으로 한다.
또한, 본 발명은 유무선인터넷망을 통해 연결되는 모바일 단말, IoT기기, 어플리케이션 검증서버, 인증서버를 포함하는 제3자 보안인증 시스템에서 제3자 보안인증 방법으로서, 상기 어플리케이션 검증서버에서 상기 IoT기기에 대한 원격 제어를 요청하는 상기 모바일 단말을 등록하는 단계와, 상기 어플리케이션 검증서버에서 상기 모바일 단말에 상기 원격 제어 대상이 되는 상기 IoT기기를 등록하는 단계와, 상기 어플리케이션 검증서버에서 상기 모바일 단말로부터 상기 IoT기기에 대한 원격 제어 요청을 수신하는 경우 상기 인증서버로 상기 요청을 전송하는 단계와, 상기 인증서버에서 상기 어플리케이션 검증서버와 연동하여 상기 모바일 단말이 상기 IoT기기의 원격 제어를 위해 등록된 정당한 모바일 단말인지를 인증하는 단계와, 상기 인증서버에서 상기 원격 제어 요청한 모바일 단말이 상기 정당한 모바일 단말인 경우 상기 IoT기기에 대한 원격 제어를 승인하는 단계를 포함한다.
또한, 상기 인증하는 단계는, 상기 인증서버에서 상기 어플리케이션 검증서버로부터 난수값과 상기 난수값을 이용하여 생성된 제1 인증키(수신키)를 수신하는 단계와, 상기 인증서버에서 상기 IoT기기로부터 수신된 상기 모바일 단말의 단말정보를 수신하여 상기 단말정보와 상기 난수값을 이용하여 제2 인증키(수신키)를 생성하는 단계와, 상기 제1 인증키와 상기 제2 인증키를 비교하고, 상기 제1 인증키와 제2 인증키가 일치하는 경우 상기 모바일 단말을 상기 정당한 모바일 단말로 인증하는 단계를 포함하는 것을 특징으로 한다.
본 발명에 따르면, 모바일 단말과 IoT기기간 제3자 보안 인증에 있어서, 제3자 보안 인증서버를 도입하여 모바일 단말의 해킹에 대비한 IoT기기 원격 제어용 어플리케이션 프로그램의 위조/변조체크, 모바일 단말-IoT기기간의 보안인증 패킷 등을 제3자가 점검하여 인증해주는 프로세스를 적용함으로써, 모바일 단말과 IoT 기기간 보안 인증과정의 무결성 및 보안성을 강화할 수 있는 이점이 있다.
또한, IoT 원격 제어용 어플리케이션의 무결성 검증키를 이용하여 어플리케이션 프로그램에 위조/변조되지 않은 모바일 단말에 대해 원격 제어 대상이 되는 IoT기기를 등록하며, 임의의 모바일 단말로부터 IoT기기에 대한 원격 제어 요청이 있는 경우 난수값을 이용하여 모바일 단말과 인증서버에서 각각 생성한 인증키가 서로 일치하는지 여부를 검사하는 것을 통해 인증키가 일치하는 모바일 단말에 대해서만 IoT기기에 대한 원격 제어를 승인함으로써, 인증되지 않은 모바일 단말에 의한 IoT기기의 무단 제어 및 정보 변경 등의 피해가 발생하지 않도록 하는 이점이 있다.
또한, 모바일 단말과 IoT기기간의 인증 및 제어과정에서 통신패킷이 스니핑, 스푸핑, 패킷조작 등에 노출되는 것을 방지할 수 있고, 또한, 모바일 단말 인증시 종래의 인증카드 또는 USB 등 별도의 인증기기를 사용하지 않고, 모바일 단말의 단말정보 등과 같이 고유키와 난수를 조합한 1회성 인증키를 사용함으로써, 인증 카드 또는 USB 등 별도의 인증기기의 분실 위험과 사용상 불편함을 감소시키고, 보안성을 높이며, 인증 시스템 구현 비용을 절약할 수 있는 이점이 있다.
또한, 본 발명을 기반으로 한 단말간의 보안통신에 대한 신뢰성과 무결성을 바탕으로 생성될 수 있는 단말간의 인증은 모바일 금융 결재시장, 위험한 작업 및 국방관련 무인장비에 대한 인터페이스가 될 수 있는 무인장비 산업 주요통신 인증시스템으로 이용할 수 있다.
이때, 이용가능한 분야로는 스마트 시티(스마트 주차, 구조물 건전성, 소음도시지도, 스마트폰 검색, 전자기 현장레벨 측정, 교통혼잡, 스마트 조명, 폐기물 관리, 스마트도로), 스마트환경(산림화재 탐지, 대기오염, 눈 등급모니터, 산사태 및 눈사태방지, 지진조기발견), 스마트 워터(음료수 모니터링, 강의 화학누출 모니터링, 수영장 원격측정, 바다오염등급, 누수, 홍수범랑), 스마트 미터링(스마트 그리드, 탱크수위, 태양광 설치, 유수량, 사일로 재고계산), 보안 및 비상사태(주변접근제어, Liquid Presence, 방사선 수위, 폭발 및 유해가스), 스마트 리테일(공급량 제어, NFC지불, 지능형 쇼핑 어플리케이션, 스마트 제품관리), 물류(선적 조건 품질, 품목위치, 보관 호환성 검사, 차량 장비 추적), 산업용 제어(M2M 어플리케이션, 실내 공기질, 온도 모니터링, 오존 모니터링, 실내위치, 차량 자동진단), 스마트 농업(와인품질강화, 그린 하우스, 골프 코스, 기상 스테이션 네트워크, 퇴비), 스마트 동물사육(수경제배, 자손제어, 동물추적, 독성 가스 등급), 홈 오토메이션(에너지 및 물사용, 원격제어 가전, 침입탐지시스템, 예술품 및 제품보존), e-헬스(낙상검출, 의약품 냉장고, 스포츠맨 케어, 환자 감시, 자외선 방사)에서 운용하여 사용할 수 있다.
도 1은 본 발명의 첫 번째 실시 예에 따른 모바일 단말과 IoT기기간 제3자 보안인증 시스템 구성도,
도 2는 본 발명의 첫 번째 실시 예에 따른 IoT기기를 제어할 모바일 단말을 인증서버에 등록/변경/삭제하는 절차도,
도 3은 본 발명의 첫 번째 실시 예에 따른 IoT기기의 초기 구입시 모바일 단말에서 IoT기기를 등록/변경/삭제하는 절차도,
도 4는 본 발명의 첫 번째 실시 예에 따른 IoT기기를 제어할 모바일 단말(Family)을 모바일 단말(Master)에 등록/변경/삭제하는 절차도,
도 5는 본 발명의 첫 번째 실시 예에 따른 모바일 단말(Family)에 IoT기기를 등록/변경/삭제하는 절차도,
도 6 내지 도 7은 본 발명의 첫 번째 실시 예에 따른 모바일 단말과 IoT기기간 보안인증 시스템에서 IoT기기에 접근하는 모바일 단말을 인증하는 신호 처리 흐름도,
도 8 내지 도 9는 본 발명의 다른 실시 예에 따른 모바일 단말과 IoT기기간 보안인증 시스템에서 IoT기기에 접근하는 모바일 단말을 인증하는 신호 처리 흐름도,
도 10은 본 발명의 다른 실시 예에 따른 모바일 단말과 IoT기기간 제3자 보안인증 시스템 구성도,
도 11은 본 발명의 다른 실시 예에 따른 IoT기기를 제어한 모바일 단말을 어플리케이션 검증서버에 등록/변경/삭제하는 절차도,
도 12는 본 발명의 실시 예에 따른 IoT기기의 초기 구입시 모바일 단말에서 IoT기기를 등록/변경/삭제하는 절차도,
도 13은 본 발명의 실시 예에 따른 IoT기기를 제어할 모바일 단말(Family)을 모바일 단말(Master)에 등록/변경/삭제하는 절차도,
도 14는 본 발명의 다른 실시 예에 따른 모바일 단말(Family)에 IoT기기를 등록/변경/삭제하는 절차도,
도 15 내지 도 16는 본 발명의 다른 실시 예에 따른 모바일 단말과 IoT기기간 보안인증 시스템에서 IoT기기에 접근하는 모바일 단말을 인증하는 신호 처리 흐름도.
이하, 첨부된 도면을 참조하여 본 발명의 동작 원리를 상세히 설명한다. 하기에서 본 발명을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 1은 본 발명의 실시 예에 따른 모바일 단말과 IoT기기간 제3자 보안인증 시스템의 구성을 도시한 것이다.
본 발명의 실시 예에 따른 제3자 보안인증 시스템에서는 인증서버(100), 모바일 단말(200), IoT기기(230) 및 유무선인터넷망 등으로 구성될 수 있으며, 단말의 그룹(유형)은 모바일 단말-IoT기기간(1:m, n:1, n:m) 단말 그룹으로 접속할 수 있다. 여기서, 유무선인터넷망은 예를 들어, 음성통신망, 데이터 통신망 및 와이파이망 등의 IoT기기와 직접 접속할 수 있는 통신망일 수 있다.
이때, IoT통신이란 USN(Ubiquitous Sensor Network), M2M(Machine to Machine)에서 진화된 형태를 말한다. 즉, M2M이 통신장비(End-Device)와 사람과의 통신이 주목적이었다면, IoT는 사물의 범위를 넓혀 보안장치, 스마트 가전, 냉난방장치, CCTV, 조명기기, 온도조절장치 등의 사물을 사람과 통신이 가능하도록 하는 통신을 말한다. 이러한, IoT 기술 안에는 센싱 기술, 통신 기술, 서비스 기술 등이 존재하며, 이를 통해 모든 사물의 정보를 유무선인터넷망과 같이 네트워크로 구축이 되며, 취득된 정보를 통해 다양한 서비스의 제공이 가능하다. 이러한, IoT는 인간과 사물, 서비스 세 가지 분산된 환경 요소에 대해 인간의 명시적 개입 없이 상호 협력적으로 센싱, 네트워킹, 정보 처리 등 지능적 관계를 형성하는 사물 공간 연결망의 개념이다. 이러한, IoT의 주요구성 요소인 사물은 유무선 네트워크에서의 통신 장비뿐만 아니라, 사람, 차량, 교량, 각종 전자장비, 문화재, 자연 환경을 구성하는 물리적 사물 등을 포함한다. 이러한, IoT는 네트워크를 이용하여 사람과 사물, 사물과 사물 간 지능 통신을 할 수 있는 M2M의 개념을 인터넷으로 확장하여 사물뿐 아니라, 현실세계 및 가상세계의 모든 정보와 상호작용한다.
이하, 위 도 1을 참조하여 본 발명의 실시 예에 따른 제3자 보안인증 시스템의 각 구성요소에서의 동작을 상세히 설명하기로 한다.
먼저, 인증서버(100)는 IoT기기(230)에 접근하여 원격 제어를 수행하는 모바일 단말(200)이 정당한 모바일 단말인지 여부를 인증하는 서버일 수 있다.
즉, 인증서버(100)는 본 발명의 실시 예에 따라 IoT기기에 접근하기 위한 모바일 단말(200)을 등록/변경/삭제하는 동작을 수행한다. 또한, 모바일 단말(200)의 등록 후, 모바일 단말(200)에서 IoT기기(230)에 접근하기 위한 인증 요청을 수신하는 경우, 모바일 단말(200)로부터 전송된 단말정보와 인증서버에 등록된 모바일 단말의 단말정보를 비교하고, IoT기기 제어용 어플리케이션 프로그램이 변경되었는지 등을 검사하여 모바일 단말(200)을 인증함으로써, 모바일 단말(200)에서 IoT기기(230)에 대한 원격 제어가 가능하도록 할 수 있다.
이러한, 인증서버(100)는 관리로그 DB(110), 인증 DB(120), 관리용 단말DB(130), 패킷탈취 방지부(112), 아이디/패스워드(ID/Password) 관리부(116), 인증부(122), 인증 어플리케이션(APP) 관리부(112), 소스코드 변조체크부(114), 모바일 단말(Master/ Family) 관리부(118), IoT기기 관리부(126), 조회 관리부(128), 로그 관리부(129) 등과 같은 모듈을 탑재할 수 있다.
관리용 단말 DB(130)는 등록된 모바일 단말(200) 및 IoT기기(230)에 대한 단말정보를 저장한다. 인증 DB(120)는 인증승인, 인증거부 및 인증에러에 대한 결과 값과 인증된 어플리케이션 및 어플리케이션 프로그램의 버전 정보와 모바일 단말 또는 IoT기기(230)에서 수신된 어플리케이션 무결성 검증키 정보를 저장한다. 관리로그 DB(110)는 인증서버(100)에서 실행하는 모든 작업의 로그(log)를 기록하여 상태 조회, 통계 등의 정보자료 관리한다.
패킷탈취 방지부(112)는 모바일 단말(200)과 인증서버(100)간 송수신되는 패킷이 탈취되는 것을 방지한다.
아이디/패스워드 관리부(116)는 인증서버(100)로 로그인하도록 모바일 단말(200)에 대해 할당된 로그인 아이디/패스워드에 대한 정보를 관리한다.
인증부(122)는 모바일 단말(200)로부터 IoT기기(230)에 대한 원격 제어 요청이 있는 경우, 해당 모바일 단말(200)이 원격 제어 권한을 가지는 정당한 모바일 단말인지 여부를 인증한다.
인증 어플리케이션 관리부(124)는 인증된 IoT기기 제어용 어플리케이션의 버전 정보와 무결성 검증키에 대한 정보를 관리한다.
IoT기기 관리부(126)는 인증서버(200)에 등록되는 IoT기기(230)에 대한 정보를 관리한다.
소스코드 변조체크부(114)는 모바일 단말(200)에 설치되는 IoT기기 제어용 어플리케이션의 위조 또는 변조 여부를 체크한다. 이때, 소스코드 변조체크부(114)는 예를 들어 모바일 단말(200)로부터 전송되는 어플리케이션의 무결성 검증키에 포함되는 어플리케이션의 체크썸(checksum) 정보 등을 이용하여 어플리케이션의 위조 또는 변조를 체크할 수 있으나, 이에 한정되는 것은 아니다.
모바일 단말(Master/ Family) 관리부(118)는 인증서버(100)에 등록된 모바일 단말(200)을 관리한다. 이때, 이러한 모바일 단말(200)은 IoT기기(230)에 대한 제어 권한에 따라 마스터로 구분되는 모바일 단말(Master)(210)과 패밀리로 구분되는 모바일 단말(Family)(220)일 수 있으며, 모바일 단말(Master)(210)는 모바일 단말(Family)(220)에서 IoT기기(230)를 등록/변경/삭제하고자 하는 경우, 이러한 등록/ 변경/삭제에 대해 승인하여 줄 수 있는 권한이 설정될 수 있다.
조회 관리부(128)는 모바일 단말(200)이 인증서버(100)에 접속하여 조회하는 정보를 관리한다. 로그 관리부(129)는 인증서버(100)에 로그인하는 모바일 단말(200)의 각종 로그 기록을 관리한다.
모바일 단말(200)은 유무선인터넷망 등을 통해 IoT기기(230)에 접속하여 IoT기기(230)를 원격 제어할 수 있는 사용자 단말장치를 말할 수 있다. 이러한, 모바일 단말(200)은 예를 들어 IoT기기(230)를 제어하기 위하여 음성통신망, 데이터 통신망 및 와이파이망 등을 사용하는 휴대 전화, 스마트폰, PAD, 테블릿 등의 단말장치가 될 수 있으나, 이에 한정되는 것은 아니다.
또한, 모바일 단말(200)은 IoT기기(230)에 대한 원격 제어를 수행하기 위해, 인증서버(100)에 등록하며, 인증서버(100)를 통한 인증절차를 통해 IoT기기(230)에 대한 원격 제어 권한을 승인받아 IoT기기(230)에 대한 원격 제어를 수행할 수 있다.
이러한, 모바일 단말(200)은 예를 들어 전송패킷 관리부(211), 아이디/패스 워드 관리부(212), 단말기 승인관리부(213), 로그인 관리부(214), 인증 관리부(215), 보안키 관리부(216), IoT기기 운영관리부(217) 등의 모듈을 탑재할 수 있다.
전송패킷 관리부(211)는 전송되는 데이터(보안키, 모바일 단말 정보 등)의 패킷 송수신을 관리한다. 아이디/패스워드 관리부(212)는 인증서버(100)와 IoT기기(230) 등으로 로그인하기 위한 아이디/패스워드 등을 관리한다. 단말기 승인관리부(213)는 IoT기기(230)에 접근하는 모바일 단말(Family)(220)에 대해 IoT기기(230)에 대한 사용승인을 관리한다.
로그인 관리부(214)는 모바일 단말(200)이 IoT기기(230) 또는 인증서버(100)에 로그인한 정보를 관리한다. 인증 관리부(215)는 모바일 단말(200)에 설치되는 IoT기기 제어용 어플리케이션의 무결성 검증키 정보를 관리한다.
보안키 관리부(216)는 모바일 단말(200)의 단말정보를 보안키로 생성하여 관리하며, 이와 같이 보안키로 생성되는 모바일 단말(200)의 단말정보는 모바일 단말(200)에 대한 인증서버(100)로의 등록과 IoT기기(230)의 원격 제어를 위한 인증 수행에 사용될 수 있다. IoT기기 운영관리부(217)는 모바일 단말(200)에 등록되는 IoT기기(230)에 대한 정보를 관리한다.
IoT기기(230)는 유무선인터넷통신이 가능한 전자기기를 말하는 것으로 각종 센서를 통제하는 보안장치, 스마트 가전, 냉난방장치, CCTV, 조명기기, 온도조절장치, 허브장비 등을 포함할 수 있다. 즉, IoT기기(230)는 통신 기능이 탑재된 댁내 각종 전자 기기 예를 들어 냉장고, 스마트 TV 등과 같은 기기가 될 수 있으며, 홈 오토메이션(home automation)으로 연결되는 각종 댁내 기기를 제어하는 홈 오토메이션 제어장치 등이 될 수도 있다.
또한, IoT기기(230)는 유무선인터넷망을 통해 모바일 단말(200)과 통신 수행이 가능하며, 인증서버(100)에서 인증된 모바일 단말(200)로부터 전송되는 원격 제어 명령을 수신하여 원격 제어 명령에 대응되는 동작을 수행할 수 있다.
이러한, IoT기기(230)는 전송패킷 관리부(231), 아이디/패스워드 관리부(232), 운영단말 등록부(233), 로그인 검증부(234), 인증 관리부(236), 보안키 관리부(237), 난수 생성부(238) 등의 모듈을 탑재한다.
전송패킷 관리부(231)는 모바일 단말(200)과의 사이에서 송수신되는 패킷과 인증서버(100)와의 사이에서 송수신되는 패킷에 대한 정보를 관리한다. 아이디/패스워드 관리부(232)는 IoT기기(230)로 로그인하도록 설정된 아이디와 패스워드를 관리한다. 운영단말 등록부(233)는 IoT기기(230)에 대한 원격 제어를 수행하도록 등록한 모바일 단말(200)에 대한 정보를 등록하고 관리한다. 로그인 검증부(234)는 IoT기기(230)로 로그인 시도하는 모바일 단말(200)에 대해 모바일 단말(200)에서 입력된 아이디/패스워드를 검사하여 로그인 시도가 정당한지 검사한다.
인증 관리부(236)는 IoT기기(230)에 설치되는 IoT기기 제어용 어플리케이션의 무결성 검증키 정보를 관리한다. 보안키 관리부(237)는 모바일 단말(200)로부터 전송되는 모바일 단말(200)의 단말정보를 이용해서 생성되는 보안키 정보를 관리 한다. 난수 생성부(238)는 모바일 단말(200)의 보안인증에 필요한 난수값을 생성 한다. 이러한 난수값은 인증서버(100)에 등록한 모바일 단말(200)이 IoT기기(230)를 원격 제어하기 위한 인증 수행 시 생성될 수 있으며, 생성된 난수값은 모바일 단말(200)과 인증서버(100)로 각각 제공될 수 있다.
한편, 위 도 1에서는 난수 생성부(238)가 IoT기기(230)에 구비되는 것을 예시 하였으나, 이는 하나의 실시예일 뿐 본 발명의 실시예가 이에 한정되는 것은 아니다. 즉, 이러한 난수 생성부(238)는 시스템 구성에 따라 IoT기기(230)가 아니라 참조번호 (132)의 난수 생성부(132)로 인증서버(100)에 구비될 수도 있다.
이때, 난수 생성부(132)가 인증서버(100)에 구비되는 경우, IoT기기(230)에 대한 원격 제어를 요청하는 모바일 단말(200)의 인증 수행 시 필요하게 되는 난수를 IoT기기(230)가 아니라 인증서버(100)에서 생성할 수 있으며, 인증서버(100)는 모바일 단말(200)의 인증 시, 모바일 단말(200)의 인증을 위한 난수값을 IoT기기(230)로부터 제공받는 것이 아니라, 난수값을 직접 생성하여 모바일 단말(200)로 제공하도록 구현할 수 있다.
보안인증 시스템내 모바일 단말(200), IoT기기(230)간 전송되는 데이터는 유무선인터넷망을 통해서 전송될 수 있고, 전송된 패킷은 모바일 단말(200), IoT기기(230) 내에 설치된 인증 어플리케이션 또는 인증 모듈을 사용해서 자체 보안체크(패킷탈취방지)가 수행되도록 하여 전송된 패킷에 대한 안전성을 확보할 수 있으며, 모바일 단말(200), IoT기기(230)간 안전한 통신을 할 수 있다.
도 2는 본 발명의 실시 예에 따른 IoT기기를 제어할 모바일 단말을 인증 서버에 등록/변경/삭제하는 절차도를 도시한 것이다.
모바일 단말(200)은 IoT기기(230)에 대한 주요한 제어 권한을 가지는 마스터 역할을 수행하는 모바일 단말(Master)(210)과 모바일 단말(Master)(210)에 등록하여 IoT기기(230)를 제어할 수 있는 모바일 단말(Family)(220)로 구분될 수 있으나 이에 한정되는 것은 아니다. 또한, 이러한 모바일 단말(Master)(210)과 모바일 단말(Family)(220)는 모두 인증서버(100)에 등록하는 것이 필요하다. 따라서, 이하, 위 도 2에 대한 설명에서는 편의상 모바일 단말(Master)(210)과 모바일 단말(Family)(220)을 모두 통칭하여 모바일 단말(200)로 명명하여 설명하도록 한다.
위 도 2를 참조하면, 인증서버(100)에 모바일 단말(200)을 등록/변경/삭제하는 등의 동작을 수행하기 위해서는 IoT기기 제어용 어플리케이션을 모바일 단말(200)에 설치하고 구동해야 한다.
먼저, 인증서버(100)의 관리용 단말DB(130)에 모바일 단말(200)을 등록하는 프로세스의 경우, 모바일 단말(200)에서 인증서버(100)로 로그인을 수행한 후, IoT기기 제어용 어플리케이션의 무결성 검증키와 모바일 단말(200)의 단말정보를 인증서버(100)로 전송한다.
이때, 무결성 검증키는 어플리케이션 프로그램이 해킹 등에 의해 위조/변조되었는지 여부를 판단하기 위한 정보로서, 예를 들어 어플리케이션의 버전(version) 정보 또는 체크썸(checksum) 정보 등을 포함할 수 있으나, 이에 한정되는 것은 아니다. 또한, 모바일 단말(200)의 단말정보 중 물리코드는 인증서버(100)에서 모바일 단말(200)에 대한 인증을 위한 보안키 정보로 사용될 수 있으며, 이러한 단말정보는 예를 들어, 모바일 단말(200)의 물리코드, 위치정보 및 장비식별정보가 될 수 있다. 또한, 이러한 물리코드는 모바일 단말(200)의 MAC 주소 정보 또는 USIM 정보 등이 될 수 있으나, 이에 한정되는 것은 아니다.
이때, 인증서버(100)로 로그인을 수행함에 있어서, 모바일 단말(200)은 예를 들어 인증서버(100)에 접속하기 위해 미리 할당된 아이디(ID), 패스워드(password) 등을 사용자 등으로부터 입력받아 인증서버(100)에 로그인을 수행할 수 있다. 이러한 아이디, 패스워드 등은 등록 전에 인증서버(100)로부터 미리 할당 받아서 모바일 단말(200)의 사용자가 인지하고 있을 수 있다.
그러면, 인증서버(100)는 모바일 단말(200)의 단말정보와 어플리케이션의 무결성 검증키를 인증서버(100)의 관리용 단말 DB(130)에 등록한다.
이어, 인증서버(100)는 위와 같이 로그인하여 등록을 요청한 모바일 단말(200)에 대해 등록을 수행한 경우, 모바일 단말(200)로 모바일 단말(200)의 단말정보와 어플리케이션의 무결성 검증키가 인증 DB(120)와 관리용 단말 DB(130)에 정상적으로 등록이 완료되었음을 통지할 수 있다.
다음으로, 인증서버(100)에 등록된 모바일 단말(200)의 정보를 변경하는 프로세스의 경우, 모바일 단말(200)에서 인증서버(100)로 로그인을 수행한다.
이어, 모바일 단말(200)에서 모바일 단말(200)에 설치된 어플리케이션의 무결성 검증키와 모바일 단말(200)의 변경된 단말정보를 인증서버(100)로 전송한다. 이때, 변경된 단말정보는 모바일 단말(200)이 변경됨에 따른 새로운 모바일 단말(200)의 물리코드, 위치정보 및 장비식별정보 등이 될 수 있으며, 이러한 물리코드는 전술한 바와 같이 모바일 단말(200)의 MAC 주소 정보 또는 USIM 정보 등이 될 수 있다. 또한 위치 및 장비식별정보는 데이터 전송시 전송해야할 장비가 어디에 있는 지 및 장비가 맞는 지에 대한 확인을 하는 정보로 예를 들면 설치장소, GPS위치정보, IP주소, 모바일 단말번호(전화번호) 등이 포함된 정보가 될 수 있다.
그러면, 인증서버(100)는 모바일 단말(210)에서 받은 어플리케이션의 무결성 검증키와 기등록된 모바일 단말(200)의 어플리케이션 무결성 검증키와 비교하여 일치하는 경우, 모바일 단말(200)의 변경된 단말정보를 관리용 단말 DB(130)에 저장한다.
이어, 인증서버(100)는 위와 같이 로그인하여 정보 변경을 요청한 모바일 단말(200)에 대해 단말정보 변경을 정상적으로 수행한 경우, 모바일 단말(200)로 변경 작업완료 메시지를 전송하고 변경작업을 완료한다.
한편, 이때 만일 인증서버(100)에 대한 로그인 패스워드가 계속해서 최초에 설정되었던 디폴트(default)로 설정되어 있는 경우 인증서버(100)는 모바일 단말(200)로 패스워드 변경을 요청할 수 있다.
이에 따라, 모바일 단말(200)에서 로그인 패스워드를 변경하고, 인증서버 (100)에 전달한다. 그러면, 인증서버(100)는 로그인 패스워드를 수정하고, 수정결과를 모바일 단말(200)로 통보하고, 패스워드 변경 프로세스를 종료한다.
한편, 위 설명에서는 모바일 단말(200)의 정보 변경에 대해서만 예를 들어 설명하였으나, 모바일 단말(200)에 대한 단말정보 삭제의 경우에도 변경 절차와 동일한 과정을 통해 등록된 모바일 단말(200)에 대한 단말정보의 삭제가 가능하다.
도 3은 본 발명의 실시 예에 따른 IoT기기의 초기 구입시 모바일 단말 (200)에서 IoT기기를 등록/변경/삭제하는 절차도를 도시한 것이다. 이때, IoT기기(230)를 등록/변경/삭제하는 모바일 단말(200)은 인증서버(100)에 마스터로 등록된 모바일 단말(Master)(210)의 경우를 예를 들어 설명하기로 한다.
위 도 3을 참조하면, 모바일 단말(Master)(210)에서 IoT기기(230)를 등록/변경/삭제하는 등의 프로세스를 수행하기 위해서는 모바일 단말(200)을 인증서버(100)에 등록/변경/삭제하는 경우와 동일하게 IoT기기 제어용 어플리케이션을 모바일 단말(Master)(210)에 설치하고 구동해야 한다.
먼저, 모바일 단말(Master)(210)에 IoT기기(230)를 등록하는 프로세스의 경우, 모바일 단말(Master)(210)에서 IoT기기(230)로 로그인을 수행한 후, 모바일 단말(Master)(210)에 설치된 어플리케이션의 무결성 검증키와 모바일 단말(Master)(210)의 단말정보를 IoT기기(230)로 전송한다. 이때, 모바일 단말(Master)(210)의 단말 정보는 예를 들어 모바일 단말(Master)(210)의 물리코드, 위치정보 및 장비식별정보 등이 될 수 있다.
이때, IoT기기(230)로 로그인을 수행함에 있어서, 모바일 단말(Master)(210)은 예를 들어 IoT기기(230)의 최초 구입 시 IoT기기(230)에 할당된 아이디, 패스워드 등을 모바일 단말(Master)(210)의 사용자로부터 입력받아 IoT기기(230)에 로그인을 수행할 수 있다.
그러면, IoT기기(230)는 모바일 단말(Master)(210)의 단말정보, 모바일 단말(Master)(210)에 설치된 IoT기기 제어용 어플리케이션의 무결성 검증키 및 IoT기기(230)의 정보를 인증서버(100)로 전송한다. 이때, IoT기기의 정보라 함은 예를 들어 IoT기기(230)에 부여된 운영상 휴대, 부착, 각인, 일련번호를 통해서 인식되는 고유식별 코드를 말할 수 있으나, 이에 한정되는 것은 아니다.
위와 같이, IoT기기(230)로부터 IoT기기(230)의 등록을 위한 정보를 인증서버(100)에서 수신을 할 경우 인증서버(100)는 인증서버(100)내 관리용 단말 DB(130)에 기등록된 모바일 단말(Master)(210)의 어플리케이션의 무결성 검증키와 IoT기기(230)에서 수신된 모바일 단말(Master)(210)의 어플리케이션의 무결성 검증키를 비교한다.
위와 같은 비교결과, 무결성 검증키가 서로 일치하는 경우, 인증서버(100)는 IoT기기(230)의 정보를 관리용 단말 DB(130)에 저장하고, IoT기기(230)로 모바일 단말(Master)(210)에 IoT기기(230)가 정상적으로 등록되었음을 알리는 등록완료 메시지를 보낸다. 그러나, 비교결과 무결성 검증키가 불일치할 경우 인증서버(100)는 IoT기기(230)의 등록이 불가함을 알리는 등록 불가 메시지를 IoT기기(230)로 보낸다.
그러면, IoT기기(230)는 인증서버(100)에서 전송받은 등록완료 메시지 또는 등록 불가 메시지를 모바일 단말(Master)(210)로 전송한다.
한편, 이때 만일 IoT기기(230)에 대한 로그인 패스워드가 디폴트로 설정되어 있는 경우 모바일 단말(Master)(210)내 설치된 어플리케이션에서는 IoT기기(230)의 패스워드 변경을 요청할 수 있다.
이에 따라, 모바일 단말(Master)(210)의 사용자는 패스워드 변경 화면에서 IoT기기(230)에 디폴트로 설정되어 있던 패스워드를 변경할 수 있으며, 이와 같이 패스워드가 변경되는 경우 모바일 단말(Master)(210)에서 IoT기기(230)에 대한 패스워드를 변경하고 IoT기기(230)에 전달할 수 있다.
그러면, IoT기기(230)에서 로그인 패스워드를 변경하고, IoT기기(230)의 패스워드변경이 완료되면 패스워드 변경완료 메시지를 모바일 단말(Master)(210)로 통보하고, 패스워드 변경 프로세스를 종료한다.
한편, 모바일 단말(Master)(210)에 등록된 IoT기기(230)의 정보를 변경하는 프로세스의 경우, 모바일 단말(Master)(210)에서 IoT기기(230)로 로그인을 수행한 후, 어플리케이션의 무결성 검증키와 모바일 단말(Master)(210)의 단말정보를 IoT기기(230)로 전송한다.
이어, IoT기기(230)는 모바일 단말(Master)(210)의 단말정보와 모바일 단말(Master)(210)의 어플리케이션의 무결성 검증키와 IoT기기(230)의 변경정보를 인증서버(100)로 전송한다.
그러면, 인증서버(100)는 IoT기기(230)에서 전송받은 모바일 단말(200)의 어플리케이션의 무결성 검증키와 인증서버(100)내의 관리용 단말 DB(130)에 기등록된 모바일 단말(Master)(210)의 어플리케이션의 무결성 검증키를 비교한다.
이어, 인증서버(100)는 비교결과 두 개의 무결성 검증키가 일치하는 경우 모바일 단말(200)에서 등록된 IoT기기(230)의 정보를 IoT기기(230)의 변경정보로 변경하고, IoT기기(230)로 IoT기기(230)의 정보 변경 절차가 완료되었음을 알리는 메시지를 전송하며, 불일치할 경우 변경불가 메시지를 IoT기기(230)로 전송한다.
그러면, IoT기기(230)는 인증서버(100)에서 전송받은 변경 절차 완료 메시지 또는 변경 불가 메시지를 모바일 단말(210)로 전송한다.
한편, 이때 만일 IoT기기(230)에 대한 로그인 패스워드가 계속해서 최초에 설정되었던 디폴트로 설정되어 있는 경우 사용자가 IoT기기(230)에 대한 로그인 패스워드를 변경할 수 있다.
이에 따라, 모바일 단말(200)에서 IoT기기(230)의 로그인 패스워드를 변경 하고, IoT기기(230)에 전달할 수 있다. 그러면, IoT기기(230)는 로그인 패스워드를 수정하고, 수정결과를 모바일 단말(200)로 통보하고, 패스워드 변경 프로세스를 종료한다.
한편, 위 설명에서는 변경/삭제 프로세스 중 변경 프로세스에 대해서만 예를 들어 설명하였으나, IoT기기(230)에 대한 정보 삭제시에도 변경 절차와 동일한 과정을 통해 등록된 IoT기기(230)에 대한 정보의 삭제가 가능하다.
도 4는 본 발명의 실시 예에 따른 IoT기기(230)를 제어할 모바일 단말(Family)(220)을 모바일 단말(Master)(210)에 등록/변경/삭제하는 절차도를 도시한 것이다.
위 도 4를 참조하면, 모바일 단말(Family)(220)을 모바일 단말(Master)(210)에 등록/변경/삭제하는 동작을 위해서는 IoT기기 제어용 어플리케이션을 모바일 단말(Master)(210)과 모바일 단말(Family)(220)에 각각 설치하고 구동해야 한다.
먼저, 모바일 단말(Family)(220)을 모바일 단말(Master)(210)에 등록하는 프로세스의 경우, 모바일 단말(Master)(210)에서 모바일 단말(Family)(220)로 로그인을 수행한 후, 모바일 단말(Master)(210)의 단말정보와 모바일 단말(Master)의 IoT기기 제어용 어플리케이션의 무결성 검증키를 전송한다.
그러면, 모바일 단말(Family)(220)은 모바일 단말(Master)(210)의 단말정보와 모바일 단말(Master)(210)의 어플리케이션의 무결성 검증키와 함께 모바일 단말(Family)(220)의 단말정보와 모바일 단말(Family)(220)의 어플리케이션의 무결성 검증키를 인증서버(100)로 전송한다.
위와 같이, 인증서버(100)에서 모바일 단말(Master)(210)에 모바일 단말(Family)(220)를 등록하기 위한 정보를 수신하는 경우, 인증서버(100)는 관리용 단말 DB(130)에 기등록된 모바일 단말(Master)(210)의 단말정보와 모바일 단말(Family) (220)로부터 수신한 모바일 단말(Master)(210)의 단말정보를 비교한다.
위와 같은 비교결과, 두 개의 단말정보가 서로 일치하는 경우 인증서버 (100)는 관리용 단말 DB(130)에 등록된 모바일 단말(Master)(210)에 모바일 단말(Family)(220)을 등록한다.
이어, 인증 서버(100)는 모바일 단말(Family)(220)에 대한 정보가 모바일 단말(Master)(210)에 정상적으로 등록되었음을 알리는 등록완료 또는 등록이 불가함을 알리는 등록 불가 메시지를 모바일 단말(Family)(220)로 보낸다.
그러나, 비교결과 두 개의 단말정보가 불일치할 경우, 인증서버(100)는 모바일 단말(Family)(220)에 대한 등록이 불가함을 알리는 등록 불가 메시지를 모바일 단말(Family)(220)로 보낸다.
그러면, 모바일 단말(Family)(220)은 인증서버에서 전송받은 등록완료 메시지 또는 등록 불가 메시지를 모바일 단말(Master)(210)로 전송한다. 이때, 등록 완료 메시지를 수신하는 경우 모바일 단말(Master)(210)은 모바일 단말(Family)(220)로 등록승인 메시지를 전송하게 되며,
그러면, 모바일 단말(Family)(220)은 모바일 단말(Master)(210)로부터의 등록 승인 메시지에 따라 등록완료 메시지를 모바일 단말(Master)(210)로 전송하고, 모바일 단말(Family)(220)에 대한 등록 절차를 종료한다.
다음으로, 모바일 단말(Master)(210)에 등록된 모바일 단말(Family)(220)의 정보를 변경/삭제하는 프로세스의 경우에는 모바일 단말(Master)(210)은 모바일 단말(Family)(220)로 로그인을 수행한 후, 모바일 단말(Family)(220)로 모바일 단말(Master)(210)의 단말정보와 어플리케이션의 무결성 검증키와 모바일 단말(Family) (220)의 변경된 단말정보를 전송한다.
그러면, 모바일 단말(Family)(220)은 모바일 단말(Master)(210)의 단말정보와, 어플리케이션의 무결성 검증키와 함께 모바일 단말(Family)(220)의 어플리케이션의 무결성 검증키와 변경된 단말정보를 인증서버(100)로 전송한다.
이어, 인증서버(100)는 관리용 단말 DB(130)에 기등록된 모바일 단말(Master)(210)의 단말정보와 모바일 단말(Family)(220)에서 수신한 모바일 단말(Master)(210)의 단말정보를 비교한다.
이때, 인증서버(100)는 비교결과 두 개의 단말정보가 일치하는 경우, 관리용 단말 DB(130)에 저장된 모바일 단말(Master)(210)에 등록된 모바일 단말(Family) (220)의 단말정보를 변경 요청된 단말정보로 변경 등록한다. 이어, 인증서버(100)는 모바일 단말(Family)(220)로 변경등록 완료 또는 등록이 불가함을 알리는 등록 불가 메시지를 보낸다.
그러면, 모바일 단말(Family)(220)은 인증서버(100)에서 전송받은 변경 등록 완료 메시지 또는 변경 등록 불가 메시지를 모바일 단말(Master)(210)로 전송한다.
이때, 변경 등록 완료 메시지를 수신하는 경우 모바일 단말(Master)(210)은 모바일 단말(Family)(220)로 변경 등록승인 메시지를 전송하게 되며, 모바일 단말(Family)(220)은 모바일 단말(Master)(210)로부터의 변경 등록 승인 메시지에 따라 변경 등록 완료 메시지를 모바일 단말(Master)(210)로 전송하고 모바일 단말(Family)(220)에 대한 변경 등록 절차를 종료한다.
한편, 위 설명에서는 변경/삭제 프로세스 중 변경 프로세스에 대해서만 예를 들어 설명하였으나, 모바일 단말(Family)(220)에 대한 정보 삭제 시에도 변경 절차와 동일한 과정을 통해 등록된 모바일 단말(Family)(220)에 대한 정보의 삭제가 가능하다.
도 5는 본 발명의 실시 예에 따른 모바일 단말(Family)(220)에 IoT기기(230)를 등록/ 변경/삭제하는 절차도를 도시한 것이다.
위 도 5를 참조하면, 모바일 단말(Family)(220)에 IoT기기(230)를 등록/변경/삭제하는 등의 프로세스를 위해서는 IoT기기 제어용 어플리케이션을 모바일 단말(Master)(210)과 모바일 단말(Family)(220)에 설치하고 구동해야 한다.
먼저, 모바일 단말(Family)(220)에 IoT기기(230)를 인증서버(100)에 등록하는 프로세스의 경우, 모바일 단말(Family)(220)에서 IoT기기(230)로 로그인을 수행한 후, 모바일 단말(Family)(220)의 어플리케이션의 무결성 검증키 및 모바일 단말(Family)(220)의 단말정보와, 모바일 단말(Master)(210)의 단말정보를 IoT기기(230)로 전송한다.
그러면, IoT기기(230)는 인증서버(100)로 모바일 단말(Family)(220)의 어플리케이션의 무결성 검증키, 단말정보와, 모바일 단말(Master)(210)의 단말정보, IoT기기(230)의 정보를 전송한다.
위와 같이 IoT기기(230)로부터 모바일 단말(Family)(220)에서 IoT기기(230)의 등록을 위한 정보를 인증서버(100)가 수신을 하면, 인증서버(100)는 관리용 단말 DB(130)에 기등록된 모바일 단말(Family)(220)의 단말정보와 IoT기기(230)를 통해 수신된 모바일 단말(Family)(220)의 단말정보를 비교한다.
위와 같은 비교결과, 두 개의 단말정보가 서로 일치하는 경우 인증서버 (100)는 모바일 단말(Master)(210)로 사용 승인을 요청한다. 이때, 이러한 사용 승인은 예를 들어 모바일 단말(Family)(220)에 IoT기기(230)를 등록하는 것에 대한 승인을 의미할 수 있다.
그러면, 모바일 단말(Master)(210)은 모바일 단말(Family)(220)이 인증된 것을 확인하고, 모바일 단말(Family)(220)에 IoT기기(230)를 등록하는 것을 승인할 수 있다.
이어, 위와 같이 모바일 단말(Family)(220)에 IoT기기(230)의 등록을 승인하는 경우, 모바일 단말(Master)(210)은 등록 승인 메시지와 모바일 단말(Master)(210)의 어플리케이션의 무결성 검증키를 인증서버(100)로 전송한다.
그러면, 인증서버(100)는 관리용 단말 DB(130)에 기등록된 모바일 단말(Master)(210)의 어플리케이션 무결성 검증키와 모바일 단말(Master)(210)로부터 전송된 어플리케이션 무결성 검증키가 일치하는지 비교하고, 두 개의 무결성 검증키가 일치하는 경우 IoT기기(230)의 정보를 관리용 단말 DB(130)에 저장하여 IoT기기(230)를 모바일 단말(Family)(220)에 등록한다.
이어, 인증서버(100)는 모바일 단말(Master)(210)의 승인메시지를 IoT기기(230)로 전송한다. 그러면, IoT기기(230)는 모바일 단말(Family)(220)로 등록완료 메시지를 전송하면 모바일 단말(Family)(220)는 모바일 단말(Master)(210)로 등록확인 메시지를 통보하고 종료한다. 그러나 최종적으로 모바일 단말(Master)(210)가 지정된 시간내 모바일 단말(Family)(220)로부터 확인 메시지를 못 받을 경우 등록은 취소된다.
다음으로, 모바일 단말(Family)(220)에 등록된 IoT기기(230)를 변경하는 프로세스의 경우, 모바일 단말(Family)(220)에서 IoT기기(230)로 로그인을 수행한 후, 모바일 단말(Family)(220)의 단말정보 및 어플리케이션 무결성 검증키와, 모바일 단말(Master)(210)의 단말정보, IoT기기(230)의 변경정보를 IoT기기(230)로 전송한다.
이어, IoT기기(230)는 인증서버(100)로 모바일 단말(Family)(220)의 어플리케이션의 무결성 검증키와 모바일 단말(Family)(220)의 단말정보, IoT기기(230)의 변경정보를 전송한다.
그러면, 인증서버(100)는 관리용 단말 DB(130)에 기등록된 모바일 단말(Family)(220)의 단말정보와 IoT기기(230)를 통해 수신된 모바일 단말(Family) (220)의 단말정보를 비교한다.
위와 같은 비교결과, 두 개의 단말정보가 서로 일치하는 경우 인증서버 (100)는 모바일 단말(Master)(210)로 변경 승인을 요청한다.
그러면, 모바일 단말(Master)(210)은 모바일 단말(Family)(220)이 인증된 것을 확인하고, 모바일 단말(Family)(220)에 등록된 IoT기기(230)의 정보를 변경하는 것을 승인할 수 있다.
이어, 위와 같이 모바일 단말(Family)(220)에서 등록된 IoT기기(230)의 변경이 승인되는 경우, 모바일 단말(Master)(210)은 변경 승인 메시지와 모바일 단말(Master)(210)의 어플리케이션의 무결성 검증키를 인증서버(100)로 전송한다.
그러면, 인증서버(100)는 관리용 단말 DB(130)에 기등록된 모바일 단말(Master)(210)의 어플리케이션 무결성 검증키와 모바일 단말(Master)(210)로부터 전송된 어플리케이션 무결성 검증키가 일치하는지 비교하고, 두 개의 무결성 검증 키가 일치하는 경우 IoT기기(230)의 변경 정보를 관리용 단말 DB(130)에 저장한다.
이어, 인증서버(100)는 모바일 단말(Master)(210)의 변경 승인메시지를 IoT기기(230)로 전송한다. 그러면, IoT기기(230)는 모바일 단말(Family)(220)로 변경 등록완료 메시지를 전송하면 모바일 단말(Family)(220)는 모바일 단말(Master)(210)로 등록확인 메시지를 통보하고 종료한다. 그러나 최종적으로 모바일 단말(Master)(210)가 지정된 시간내 모바일 단말(Family)(220)로부터 확인 메시지를 못 받을 경우 변경등록은 취소된다.
한편, 위 설명에서는 변경/삭제 프로세스 중 변경 프로세스에 대해서만 예를 들어 설명하였으나, IoT기기에 대한 정보 삭제 시에도 변경 절차와 동일한 과정을 통해 등록된 IoT기기에 대한 정보의 삭제가 가능하다.
도 6 내지 도 7은 본 발명의 실시 예에 따른 모바일 단말(200)과 IoT기기(230)간 보안인증 시스템에서 IoT기기에 접근하는 모바일 단말을 인증하는 신호 처리 흐름을 도시한 것이다.
이하, 도 1 내지 도 7을 참조하여 본 발명의 실시 예를 상세히 설명하기로 한다.
먼저, 모바일 단말(200)에서 IoT기기 제어용 어플리케이션을 구동하여 IoT기기(230)로 로그인을 수행한다(S600). 이때, IoT기기(230)에 정상적으로 로그인이 수행되지 않은 경우 실패횟수를 카운딩하며 최초 인증신청단계로 가서 처음부터 인증 과정을 다시 진행하여 인증을 실패한 경우 실패횟수를 증가시켜서 실패횟수가 지정한 임계횟수를 초과하였을 때 IoT기기(230)는 인증과정을 종료한다(S603).
그러나, IoT기기(230)에 정상적으로 로그인 수행된 경우 IoT기기(230)에서 모바일 단말(200)의 로그인을 승인하며, 로그인이 승인되는 경우, 모바일 단말(200)에서 IoT기기(230)로 모바일 단말(200)의 단말정보와 모바일 단말(200)에 설치된 IoT기기 제어용 어플리케이션의 무결성 검증키(버전 정보, 체크썸(checksum) 등)를 전송한다(S604).
그러면, IoT기기(230)에서는 모바일 단말(200)로부터 수신된 모바일 단말의 단말정보,와 모바일 단말(200)에 설치된 IoT기기 제어용 어플리케이션의 무결성 검증키와 IoT기기(230)의 정보를 인증서버(100)로 전송한다(S606).
이에 따라, 인증서버(100)는 IoT기기(230)로부터 전송된 모바일 단말(200)에 설치된 IoT기기 제어용 어플리케이션의 무결성 검증키를 검사하여, 어플리케이션 프로그램에 이상이 없는지를 확인한다(S608). 이때, 이상이 없는지를 확인하는 것은 예를 들어, 어플리케이션 프로그램이 해킹 등을 통해 위조/변조되었는지를 검사하는 것을 의미할 수 있으나 이에 한정되는 것은 아니다.
또한, 인증서버(100)에서는 어플리케이션 프로그램의 이상 여부를 확인하는 동작에 있어서, 예를 들어 모바일 단말(200)에 설치된 IoT기기 제어용 어플리케이션의 무결성 검증키를 관리용 단말 DB(130)에 기등록된 모바일 단말(200)의 IoT기기 제어용 어플리케이션의 무결성 검증키와 비교한 후, 일치하는 경우 어플리케이션 프로그램에 이상이 없음을 확인할 수 있으나, 이에 한정되는 것은 아니다.
위와 같은 확인 결과, 모바일 단말(200)에 설치된 IoT기기 제어용 어플리케이션 프로그램에 이상이 있는 경우(S610), 인증서버(100)는 IoT기기(230)로 인증실패 메시지를 전송하게 되고(S634), 이러한 인증실패 메시지는 IoT기기(230)에서 다시 모바일 단말로 전송하여 인증이 실패했음이 통보된다(S636).
그러나, 확인 결과 모바일 단말(200)에 설치된 IoT기기 제어용 어플리케이션 프로그램에 이상이 없는 경우(S610), 인증서버(100)는 IoT기기(230)로 모바일 단말(200)에 설치된 IoT기기 제어용 어플리케이션 프로그램에 이상이 없음을 통보한다(S612).
그러면, IoT기기(230)에서는 모바일 단말(200)의 인증을 위한 IoT기기(230)의 난수값을 생성하여 모바일 단말(200)로 전송한다(S614). 이때, 이러한 난수값의 생성을 위해 IoT기기(230)에는 난수 생성기가 포함될 수 있으나, 이에 한정되는 것은 아니다.
위와 같이 IoT기기(230)로부터 난수값이 수신되는 경우, 모바일 단말(200)에서는 난수값을 이용하여 제1 인증키(수신키)를 생성하고(S616), IoT기기(230)로 전송한다(S618).
이때, 이러한 제1 인증키는 모바일 단말(200)이 인증서버(100)에 등록된 모바일 단말인지 여부를 인증하기 위한 키를 의미할 수 있으며, 이러한 제1 인증키는 예를 들어 모바일 단말(200)의 단말정보와 난수값을 이용하여 생성된 키로 1회성 키가 될 수 있으나, 이에 한정되지는 않는다. 또한, 이러한 단말정보는 모바일 단말(200)을 식별하는 물리코드, 위치 및 장비식별정보가 될 수 있으며, 이러한 물리코드는 모바일 단말(200)의 MAC주소 정보와 USIM 정보를 포함한 정보일 수 있으나 이에 한정되는 것은 아니다. 또한 위치 및 장비식별정보는 데이터 전송시 전송해야할 장비가 어디에 있는 지 및 장비가 맞는 지에 대한 확인을 하는 정보로 예를 들면 설치장소, GPS위치정보, IP주소, 모바일 단말번호(전화번호) 등을 포함한 정보가 될 수 있다.
이어, IoT기기(230)에서는 모바일 단말(200)로부터 전송되는 제1 인증키를 수신하고, 이와 같이 수신된 제1 인증키, 난수값, 모바일 단말(200)의 단말정보, 및 IoT기기(230) 정보를 인증서버(100)로 전송한다(S620).
위와 같이, IoT기기(230)로부터 모바일 단말(200)에서 생성된 제1 인증키가 수신되는 경우, 인증서버(100)에서는 관리용 단말 DB(130)에 기등록된 해당 모바일 단말(200)의 단말정보와 IoT기기(230)에서 생성된 난수값을 이용하여 제2 인증키(생성키)를 생성한다(S622).
이어, 인증서버(100)는 위와 같이 생성한 제2 인증키와 제1 인증키를 비교 하여 서로 일치하는지 여부를 검사한다(S624).
이때, 제1 인증키와 제2 인증키가 서로 일치하지 않는 경우(S626), 인증서버(100)는 IoT기기(230)로 인증실패 메시지를 전송하게 되고(S634), 이러한 인증실패 메시지는 IoT기기(230)에서 다시 모바일 단말(200)로 전송되어 인증이 실패했음이 통보된다(S636).
그러나, 제1 인증키와 제2 인증키가 서로 일치하는 경우(S626), 인증서버(100)는 IoT기기(230)에 로그인한 모바일 단말(200)을 정당한 모바일 단말로 인증 하고, 인증 결과 정보 및 인증된 모바일 단말(200)의 단말정보와 IoT기기(230)의 정보를 인증 DB(120)에 등록한다(S628).
이어, 인증서버(100)는 IoT기기(230)로 인증성공 메시지를 전송하게 되고(S630), 이러한 인증 성공 메시지는 IoT기기(230)에서 다시 모바일 단말(200)로 전송되어 인증이 성공했음이 통보된다(S632). 이에 따라, 모바일 단말(200)에서 IoT기기(230)를 원격으로 제어하는 것이 가능하게 된다.
도 8 내지 도 9는 본 발명의 다른 실시 예에 따른 모바일 단말과 IoT기기간 보안인증 시스템에서 IoT기기에 접근하는 모바일 단말을 인증하는 신호 처리 흐름을 도시한 것이다.
위 도 8 내지 도 9에 도시된 모바일 단말 인증에서는 도 1에 도시된 시스템 구성에서와는 달리, 난수 생성기(340)가 인증서버(300)에 위치되는 경우의 신호 처리 흐름을 도시한 것이다.
이하, 도 8 내지 도 9를 참조하여 본 발명의 다른 실시 예를 상세히 설명하기로 한다.
먼저, 모바일 단말(400)에서 IoT 제어용 어플리케이션을 구동하여 인증서버(300)로 로그인을 수행한다(S800). 이때, 인증서버(300)에서 정상적으로 로그인이 수행되지 않은 경우 실패횟수를 카운딩하며 최초 인증신청단계로 가서 처음부터 인증 과정을 다시 진행하여 인증을 실패한 경우 실패횟수를 증가시켜서 실패횟수가 지정한 임계횟수를 초과하였을 때 인증서버(300)는 인증과정을 종료한다(S803).
그러나, 인증서버(300)에서 정상적으로 로그인 수행된 경우 인증서버 (300)에서 모바일 단말(400)의 로그인을 승인하며, 로그인이 승인되는 경우, 모바일 단말(400)에서 인증서버(300)로 모바일 단말(400)의 단말정보와 모바일 단말(400)에 설치된 IoT기기 제어용 어플리케이션의 무결성 검증키(버전 정보, 체크썸(checksum) 등)를 전송한다(S804).
이에 따라, 인증서버(100)는 모바일 단말(400)에 설치된 IoT기기 제어용 어플리케이션의 무결성 검증키를 검사하여 어플리케이션 프로그램에 이상이 없는지를 확인한다(S806). 이때, 이상이 없는지를 확인하는 것은 예를 들어, 어플리케이션 프로그램이 해킹 등을 통해 위조/변조되었는지를 검사하는 것을 의미할 수 있으나 이에 한정되는 것은 아니다.
또한, 인증서버(300)에서는 어플리케이션 프로그램의 이상 여부를 확인하는 동작에 있어서, 예를 들어 모바일 단말(400)에 설치된 IoT기기 제어용 어플리케이션의 무결성 검증키를 관리용 단말 DB(330)에 기등록된 모바일 단말(400)의 IoT기기 제어용 어플리케이션의 무결성 검증키와 비교한 후, 일치하는 경우, 어플리케이션 프로그램에 이상이 없음을 확인할 수 있으나, 이에 한정되는 것은 아니다.
위와 같은 확인 결과, 모바일 단말에 설치된 IoT기기 제어용 어플리케이션 프로그램에 이상이 있는 경우(S808), 인증서버(300)는 모바일 단말(400)로 인증실패 메시지를 전송한다(S826).
그러나, 확인 결과 모바일 단말에 설치된 IoT기기 제어용 어플리케이션 프로그램에 이상이 없는 경우(S808), 인증서버(300)는 모바일 단말(400)로 모바일 단말(400)에 설치된 IoT기기 제어용 어플리케이션 프로그램에 이상이 없음을 통보한다.
이어, 인증서버(300)는 모바일 단말(400)의 인증을 위한 난수값을 생성하여 모바일 단말(400)로 전송한다(S810). 이때, 이러한 난수값의 생성을 위해 인증서버(300)에는 난수 생성기(900)가 포함될 수 있으나, 이에 한정되는 것은 아니다.
그러면, 모바일 단말(400)에서는 위와 같이 난수값이 수신되는 경우, 와 수신된 난수값을 이용하여 제1 인증키(수신키)를 생성하고(S812), IoT기기(430)로 제1인증키와 모바일 단말(400)의 단말정보를 전송한다(S814).
이때, 이러한 제1 인증키는 모바일 단말(400)이 인증서버(300)에 등록된 모바일 단말인지 여부를 인증하기 위한 키를 의미할 수 있으며, 이러한 제1 인증키는 예를 들어 모바일 단말(400)의 단말정보와 난수값을 이용하여 생성된 키로 1회성 키가 될 수 있으나, 이에 한정되지는 않는다. 또한, 이러한 단말정보는 모바일 단말(400)을 식별하는 물리코드, 위치 및 장비식별정보가 될 수 있으며, 이러한 물리코드는 모바일 단말의 MAC주소 정보와 USIM 정보를 포함함 정보일 수 있으나, 이에 한정되는 것은 아니다. 또한 위치 및 장비식별정보는 데이터 전송시 전송해야할 장비가 어디에 있는 지 및 장비가 맞는 지에 대한 확인을 하는 정보로 예를 들면 설치장소, GPS위치정보, IP주소, 모바일 단말번호(전화번호) 등을 포함한 정보가 될 수 있다.
이어, IoT기기(430)에서는 모바일 단말(400)로부터 전송되는 제1 인증키를 수신하고, 이와 같이 수신된 제1 인증키와 모바일 단말(400)의 단말정보, IoT기기(430)의 정보를 인증서버(300)로 전송한다(S816).
위와 같이, IoT기기(430)로부터 모바일 단말(400)에서 생성된 제1 인증키와 IoT기기(430)의 정보가 수신되는 경우, 인증 서버(300)에서는 관리용 단말DB (330)에 기등록된 해당 모바일 단말(400)의 단말정보와 난수값을 이용하여 생성한 제2 인증키(생성키)와 제1 인증키를 비교한다(S818).
이때, 이러한 제2 인증키의 생성에 있어서, 인증서버(300)는 난수값을 모바일 단말기(400)로 전송한 이후, 제1 인증키와의 비교를 위해 관리용 단말 DB(330)에 기등록된 해당 모바일 단말(400)의 단말정보와 난수값을 이용하여 제1 인증키의 수신 전에 미리 생성하여(S813) 둘 수 있으나, 이에 한정되는 것은 아니다.
이어, 인증서버(300)는 위와 같이 생성한 제2 인증키와 제1 인증키를 비교 하여 서로 일치하는지 여부를 검사한다.
이때, 제1 인증키와 제2 인증키가 서로 일치하지 않는 경우(S820), 인증서버(300)는 모바일 단말(400)로 인증실패 메시지를 전송하여 인증이 실패했음을 통보 한다(S826).
그러나, 제1 인증키와 제2 인증키가 서로 일치하는 경우(S820), 인증서버(300)는 모바일 단말(400)을 정당한 모바일 단말로 인증하고, 인증 결과 정보 및 인증된 모바일 단말(400)의 단말정보와 IoT기기(430)의 정보를 인증 DB(320)에 등록한다(S822).
이어, 인증서버(300)는 모바일 단말(400)로 인증성공 메시지를 전송하여 인증이 성공했음을 통보한다(S824). 이에 따라, 모바일 단말(400)에서 IoT기기(430)를 원격으로 제어하는 것이 가능하게 된다.
도 10은 본 발명의 또 다른 실시 예에 따른 모바일 단말과 IoT기기간 제3자 보안인증 시스템의 구성을 도시한 것이다.
위 도 10을 참조하면, 본 발명의 다른 실시 예에 따른 보안인증 시스템에서는 도 1에서와는 달리, 인증서버(500), 모바일 단말(600), IoT기기(630), 어플리케이션 검증서버(700) 및 유무선인터넷망 등으로 구성될 수 있으며, 단말의 그룹(유형)은 모바일 단말-IoT기기간(1:m, n:1, n:m) 단말 그룹으로 접속할 수 있다. 여기서, 유무선인터넷망은 예를 들어 음성통신망, 데이터 통신망 및 와이파이망 등의 IoT기기와 직접 접속할 수 있는 통신망일 수 있다.
이하, 도 10을 참조하여 본 발명의 다른 실시 예에 따른 보안인증 시스템의 각 구성요소에서의 동작을 상세히 설명하기로 한다.
먼저, 인증서버(500)는 IoT기기(630)에 접근하여 원격 제어를 수행하는 모바일 단말(600)이 정당한 모바일 단말인지 여부를 인증하는 서버일 수 있다.
즉, 인증서버(500)는 본 발명의 실시 예에 따라 모바일 단말(600)에서 IoT 기기(630)에 접근하기 위한 인증 요청을 수신하는 경우, 모바일 단말(600)로부터 전송된 단말정보와 등록된 모바일 단말(600)의 단말정보를 비교하고, IoT기기 제어용 어플리케이션 프로그램이 변경되었는지 등을 검사하여 모바일 단말(600)을 인증함으로써, 모바일 단말(600)에서 IoT기기(630)에 대한 원격 제어가 가능하도록 할 수 있다.
이러한, 인증서버(500)는 관리로그 DB(510), 인증 DB(520), 패킷탈취 방지부(511), 아이디/패스워드(ID/Password) 관리부(521), 인증부(514), 모바일 단말(Master /Family) 관리부(516), IoT기기 관리부(517), 로그 관리부(518), 조회 관리부(519) 등과 같은 모듈을 탑재할 수 있다.
인증 DB(520)는 인증승인, 인증거부 및 인증에러에 대한 결과 값과 인증된 어플리케이션 및 어플리케이션 프로그램의 버전 정보관리와 모바일 단말 또는 IoT기기에서 수신된 어플리케이션 무결성 검증키 정보를 저장한다. 관리로그 DB (510)는 인증서버(500)에서 실행하는 모든 작업의 로그를 기록하여 상태 조회, 통계 등의 정보자료 관리한다.
패킷탈취 방지부(511)는 모바일 단말(600)과 인증서버(500)간 송수신되는 패킷이 탈취되는 것을 방지한다.
아이디/패스워드 관리부(512)는 인증서버(500)로 로그인하도록 모바일 단말(600)에 대해 할당된 로그인 아이디/패스워드에 대한 정보를 관리한다.
인증부(514)는 모바일 단말(600)로부터 IoT기기(630)에 대한 원격 제어 요청이 있는 경우, 해당 모바일 단말(600)이 원격 제어 권한을 가지는 정당한 모바일 단말인지 여부를 인증한다.
모바일 단말(Master/ Family) 관리부(516)는 인증 DB(520)에 등록된 모바일 단말(200)을 관리한다.
IoT기기 관리부(517)는 인증서버(500)에 등록되는 IoT기기(630)에 대한 정보를 관리한다. 로그 관리부(518)는 인증서버(500)에 로그인하는 모바일 단말 (600)의 각종 로그 기록을 관리한다. 조회 관리부(519)는 모바일 단말(600)이 인증 서버(500)에 접속하여 조회하는 정보를 관리한다.
모바일 단말(600)은 유무선인터넷망을 통해 IoT기기(630)에 접속하여 IoT기기(630)를 원격 제어할 수 있는 사용자 단말장치를 말할 수 있다. 이러한, 모바일 단말(600)은 예를 들어 IoT기기(630)를 제어하기 위하여 음성통신망, 데이터 통신망 및 와이파이망 등을 사용하는 휴대전화, 스마트폰, PAD, 테블릿 등의 단말장치가 될 수 있으나, 이에 한정되는 것은 아니다.
또한, 모바일 단말(600)은 IoT기기(630)에 대한 원격 제어를 수행하기 위해, 인증서버(500)에 등록하며, 인증서버(500)를 통한 인증절차를 통해 IoT기기(630)에 대한 원격 제어 권한을 승인받아 IoT기기(630)에 대한 원격 제어를 수행할 수 있다.
이러한, 모바일 단말(600)은 예를 들어 전송패킷 관리부(611), 아이디/패스 워드 관리부(612), 단말기 승인관리부(613), 로그인 관리부(614), 인증 관리부(615), 보안키 관리부(616), IoT기기 운영관리부(617) 등의 모듈을 탑재할 수 있다.
전송패킷 관리부(611)는 전송되는 데이터(보안키, 모바일 단말 정보 등)의 패킷 송수신을 관리한다. 아이디/패스워드 관리부(612)는 인증서버(600)와 IoT기기(630) 등으로 로그인하기 위한 아이디/패스워드 등을 관리한다. 단말기 승인관리부(613)는 IoT기기(630)에 접근하는 모바일 단말(Family)(620)에 대해 IoT기기(630)에 대한 사용승인을 관리한다.
로그인 관리부(614)는 모바일 단말(600)이 IoT기기(630) 또는 인증서버 (600)에 로그인한 정보를 관리한다. 인증 관리부(615)는 모바일 단말(600)에 설치 되는 IoT기기 제어용 어플리케이션의 무결성 검증키 정보를 관리한다.
보안키 관리부(616)는 모바일 단말(600)의 단말정보를 보안키로 생성하여 관리하며, 이와 같이 보안키로 생성되는 모바일 단말(600)의 단말정보는 모바일 단말(600)에 대한 인증서버(500)로의 등록과 IoT기기(630)의 원격 제어를 위한 인증 수행에 사용될 수 있다. IoT기기 운영관리부(617)는 모바일 단말(600)에 등록되는 IoT기기(630)에 대한 정보를 관리한다.
IoT기기(630)는 유무선 인터넷 통신이 가능한 전자기기를 말하는 것으로 각종 센서를 통제하는 보안장치, 스마트 가전, 냉난방장치, CCTV, 조명기기, 온도조절장치, 허브장비 등을 포함할 수 있다. 즉, IoT기기(630)는 통신 기능이 탑재된 댁내 각종 전자 기기 예를 들어 냉장고, 스마트 TV 등과 같은 기기가 될 수 있으며, 홈 오토메이션으로 연결되는 각종 댁내 기기를 제어하는 홈 오토메이션 제어장치 등이 될 수도 있다.
또한, IoT기기(630)는 유무선 인터넷 통신망을 통해 모바일 단말(600)과 통신 수행이 가능하며, 인증서버(500)에서 인증된 모바일 단말(600)로부터 전송되는 원격 제어 명령을 수신하여 원격 제어 명령에 대응되는 동작을 수행할 수 있다.
이러한, IoT기기(630)는 전송패킷 관리부(631), 아이디/패스워드 관리부(632), 운영단말 등록부(633), 로그인 검증부(634), 인증 관리부(636), 보안키 관리부(637) 등의 모듈을 탑재한다.
전송패킷 관리부(631)는 모바일 단말(600)과의 사이에서 송수신되는 패킷과 인증서버(500)와의 사이에서 송수신되는 패킷에 대한 정보를 관리한다. 아이디/패스워드 관리부(632)는 IoT기기(630)로 로그인하도록 설정된 아이디와 패스워드를 관리한다. 운영단말 등록부(633)는 IoT기기(630)에 대한 원격 제어를 수행하도록 등록한 모바일 단말(600)에 대한 정보를 등록하고 관리한다. 로그인 검증부(634)는 IoT기기(630)로 로그인 시도하는 모바일 단말(600)에 대해 모바일 단말(600)에서 입력된 아이디/패스워드를 검사하여 로그인 시도가 정당한지 검사한다.
인증 관리부(636)는 IoT기기(630)에 설치되는 IoT기기 제어용 어플리케이션의 무결성 검증키 정보를 관리한다. 보안키 관리부(637)는 모바일 단말(600)로부터 전송되는 모바일 단말(600)의 단말정보를 이용해서 생성되는 보안키 정보를 관리한다.
어플리케이션 검증서버(700)는 모바일 단말에 탑재되는 IoT기기 제어용 어플리케이션의 변경 여부를 검증하는 서버일 수 있다. 또한, 어플리케이션 검증서버(700)는 도 1의 인증서버(100)의 어플리케이션 검증과 장비관리등록 기능을 대신하여 모바일 단말(600)와 IoT기기(630)에 대한 등록/변경/삭제하는 등의 동작을 수행할 수 있다.
어플리케이션 검증서버(300)의 주요기능은 첫 번째로 관리용 단말 DB(710)에 등록된 모바일 단말(600) 및 IoT기기(630)에 대한 단말정보 관리운영을 수행한다. 두 번째로 난수를 발생하여 프로그램의 인증키를 생성할 수 있고, 이와 같이 생성한 인증키를 인증서버(500)에 제공한다. 세 번째로 모바일 단말(600)에 탑재되는 IoT기기 제어용 어플리케이션의 무결성 검증을 수행한다. 그 밖에 소스코드 변조체크부를 이용하여 모바일 단말(600)에 설치되는 IoT기기 제어용 어플리케이션의 위조 또는 변조 여부를 체크한다. 이때, 소스코드의 변조체크에 있어서, 어플리케이션 검증서버(700)는 예를 들어 모바일 단말(600)로부터 전송되는 어플리케이션의 무결성 검증 키에 포함되는 어플리케이션의 체크썸 정보를 이용하여 어플리케이션의 위조 또는 변조를 체크할 수 있으나, 이에 한정되는 것은 아니다.
이러한 어플리케이션 검증서버(700)는 관리용 단말 DB(710), 패킷탈취 방지부(711), 아이디/패스워드 관리부(712), 소스코드 변조체크부(713), 모바일 단말 관리부(714), 로그인 관리부(715), 조회 관리부(716), 인증 어플리케이션 관리부(717) 등과 같은 모듈을 탑재할 수 있다.
관리용 단말 DB(710)는 등록된 모바일 단말(600) 및 IoT기기(630)에 대한 단말정보를 관리한다. 패킷탈취 방지부(711)는 모바일 단말(200)과 어플리케이션 검증서버(700)간 송수신되는 패킷이 탈취되는 것을 방지한다. 아이디/패스워드 관리부(712)는 어플리케이션 검증서버(700)로 로그인하도록 모바일 단말(600)에 대해 할당된 로그인 아이디/패스워드에 대한 정보를 관리한다.
소스코드 변조체크부(713)는 모바일 단말(600)에 설치되는 IoT기기 제어용 어플리케이션의 위조 또는 변조 여부를 체크한다. 이때, 소스코드 변조체크부(713)는 예를 들어 모바일 단말(600)로부터 전송되는 어플리케이션의 무결성 검증키에 포함되는 어플리케이션의 체크썸 정보를 이용하여 어플리케이션의 위조 또는 변조를 체크할 수 있으나, 이에 한정되는 것은 아니다.
모바일 단말(Master/Family) 관리부(714)는 어플리케이션 검증서버(700)에 등록된 모바일 단말(600)을 관리한다. 이때, 이러한 모바일 단말(600)은 IoT기기(630)에 대한 제어 권한에 따라 마스터로 구분되는 모바일 단말(Master)(610)와 패밀리로 구분되는 모바일 단말(Family)(620)일 수 있으며, 모바일 단말(Master)(610)는 모바일 단말(Family)(620)에서 IoT기기(630)를 등록/변경/삭제하고자 하는 경우, 이러한 등록/변경/삭제에 대해 승인하여 줄 수 있는 권한이 설정될 수 있다.
로그인 관리부(715)는 어플리케이션 검증서버(700)로 로그인하는 모바일 단말(600)의 정보를 관리한다. 조회 관리부(716)는 모바일 단말(600)이 어플리케이션 검증서버(700)에 접속하여 조회하는 정보를 관리한다. 인증 어플리케이션 관리부(717)는 인증된 IoT기기 제어용 어플리케이션의 버전 정보와 무결성 검증키에 대한 정보를 관리한다. 난수 생성부(718)는 모바일 단말(600)의 보안인증에 필요한 난수 값을 생성한다. 이러한 난수값은 어플리케이션 검증서버(700)에 등록한 모바일 단말(600)이 IoT기기(630)를 원격 제어하기 위한 인증 수행 시 생성될 수 있으며, 생성된 난수값은 모바일 단말(600)과 인증서버(100)로 각각 제공될 수 있다.
보안인증 시스템내 모바일 단말(600), IoT기기(630)간 전송되는 데이터는 유무선인터넷망을 통해서 전송될 수 있고, 전송된 패킷은 모바일 단말(600), IoT기기(630) 내에 설치된 인증 어플리케이션 또는 인증 모듈을 사용해서 자체 보안체크(패킷탈취방지)가 수행되도록 하여 전송된 패킷에 대한 안전성을 확보할 수 있으며, 모바일 단말(600), IoT기기(630)간 안전한 통신을 할 수 있다.
도 11은 본 발명의 다른 실시 예에 따른 IoT기기를 제어하는 모바일 단말(600)을 어플리케이션 검증서버에 등록/변경/삭제하는 절차도를 도시한 것이다.
모바일 단말(600)은 IoT기기(630)에 대한 주요한 제어 권한을 가지는 마스터 역할을 수행하는 모바일 단말(Master)(610)과 모바일 단말(Master)(610)에 등록하여 IoT기기(630)를 제어할 수 있는 모바일 단말(Family)(620)로 구분될 수 있으나 이에 한정되는 것은 아니다. 또한, 이러한 모바일 단말(Master)(610)과 모바일 단말(Family)(620)는 모두 인증서버(500)에 등록하는 것이 필요하다. 따라서, 이하, 위 도 11에 대한 설명에서는 편의상 모바일 단말(Master)(610)과 모바일 단말(Family)(620)을 모두 통칭하여 모바일 단말(600)로 명명하여 설명하도록 한다.
위 도 11을 참조하면, 모바일 단말(600)을 어플리케이션 검증서버(700)의 관리용 단말 DB(710)에 등록/변경/삭제하는 등의 프로세스를 수행하기 위해서는 IoT기기 제어용 어플리케이션을 모바일 단말(600)에 설치하고 구동해야 한다.
먼저, 어플리케이션 검증서버(700)에 모바일 단말(600)을 등록하는 프로세스의 경우, 모바일 단말(600)에서 어플리케이션 검증서버(700)로 로그인을 수행한 후, 어플리케이션의 무결성 검증키와 모바일 단말(600)의 단말정보를 어플리케이션 검증서버(700)로 전송한다. 이때, 무결성 검증키는 어플리케이션 프로그램이 해킹 등에 의해 위조/변조되었는지 여부를 판단하기 위한 정보로서, 예를 들어 어플리케이션의 버전 정보 또는 체크썸(checksum) 정보 등을 포함할 수 있으나, 이에 한정되는 것은 아니다. 또한, 모바일 단말(600)의 단말정보의 일부인 물리코드는 어플리케이션 검증서버(700)에서 모바일 단말(600)에 대한 인증을 위한 보안키 정보로 사용될 수 있으며, 이러한 단말정보는 물리코드, 위치정보 및 장비식별정보가 있으며, 예를 들어 모바일 단말(600)의 물리코드가 될 수 있다. 또한, 이러한 물리코드는 모바일 단말(600)의 MAC 주소 정보 또는 USIM 정보 등이 되며, 또한 위치 및 장비식별정보는 데이터 전송시 전송해야할 장비가 어디에 있는 지 및 장비가 맞는 지에 대한 확인을 하는 정보로 예를 들면 설치장소, GPS위치정보, IP주소, 모바일 단말번호(전화번호) 등을 포함한 정보가 될 수 있으나, 이에 한정되는 것은 아니다.
이때, 어플리케이션 검증서버(700)로 로그인을 수행함에 있어서, 모바일 단말(600)은 예를 들어 어플리케이션 검증서버(700)에 접속하기 위해 미리 할당된 아이디(ID), 패스워드(password) 등을 사용자 등으로부터 입력받아 어플리케이션 검증서버(700)에 로그인을 수행할 수 있다. 이러한 아이디, 패스워드 등은 등록 전에 어플리케이션 검증서버(700)로부터 미리 할당 받아서 모바일 단말(600)의 사용자가 인지하고 있을 수 있다.
그러면, 어플리케이션 검증서버(700)는 모바일 단말(600)의 단말정보와 어플리케이션의 무결성 검증키를 어플리케이션 검증서버(700)의 관리용 단말 DB (710)에 등록 한다.
이어, 어플리케이션 검증서버(700)는 위와 같이 로그인하여 등록을 요청한 모바일 단말(600)에 대해 등록을 수행한 경우, 모바일 단말(600)로 모바일 단말(600)의 단말정보와 어플리케이션의 무결성 검증키가 인증 DB(520)와 관리용 단말 DB(710)에 정상적으로 등록이 완료되었음을 통지한다.
다음으로, 어플리케이션 검증서버(700)에 등록된 모바일 단말(600)의 단말 정보를 변경하는 프로세스의 경우, 모바일 단말(600)에서 어플리케이션 검증서버(700)로 로그인을 수행한다.
이어, 모바일 단말(600)에서 모바일 단말(600)에 설치된 어플리케이션의 무결성 검증키와 모바일 단말(600)의 변경된 단말정보를 어플리케이션 검증서버(700)로 전송한다. 이때, 변경된 단말정보는 모바일 단말(600)이 변경됨에 따른 새로운 모바일 단말(600)의 물리코드, 위치정보 및 장비식별정보가 될 수 있으며, 물리코드는 전술한 바와 같이 모바일 단말의 MAC 주소 정보 또는 USIM 정보 등이 되며, 또한 위치 및 장비식별정보는 데이터전송시 전송해야할 장비가 어디에 있는 지 및 장비가 맞는 지에 대한 확인을 하는 정보로 예를 들면 설치장소, GPS위치정보, IP주소, 모바일 단말번호(전화번호) 등을 포함한 정보가 될 수 있다.
그러면, 어플리케이션 검증서버(700)는 모바일 단말(600)에서 받은 어플리케이션의 무결성 검증키와 기등록된 모바일 단말(600)의 어플리케이션 무결성 검증 키와 비교하여 일치하는 경우, 모바일 단말(600)의 변경된 단말정보를 관리용 단말 DB(710)에 저장한다.
이어, 어플리케이션 검증서버(700)는 위와 같이 로그인하여 정보 변경을 요청한 모바일 단말(600)에 대해 단말정보 변경을 정상적으로 수행한 경우, 모바일 단말(600)로 변경 작업완료 메시지를 전송하고 변경작업을 완료한다.
한편, 위 설명에서는 변경/삭제 프로세스 중 변경 프로세스에 대해서만 예를 들어 설명하였으나, 모바일 단말(600)에 대한 단말정보 삭제의 경우에도 변경 절차와 동일한 과정을 통해 등록된 모바일 단말(600)에 대한 단말정보의 삭제가 가능하다.
도 12는 본 발명의 실시 예에 따른 IoT기기의 초기 구입시 모바일 단말에서 IoT기기를 등록/변경/삭제하는 절차도를 도시한 것이다. 이때, IoT기기(630)를 등록/변경/삭제하는 모바일 단말(600)은 어플리케이션 검증서버(700)에 마스터로 등록된 모바일 단말(Master)(610)의 경우를 예를 들어 설명하기로 한다.
위 도 12를 참조하면, 모바일 단말(Master)(610)에서 IoT기기(630)를 등록/변경/삭제하는 등의 프로세스를 수행하기 위해서는 모바일 단말(Master)(610)을 어플리케이션 검증서버(700)에 등록/변경/삭제하는 경우와 동일하게 IoT기기 제어용 어플리케이션을 모바일 단말(Master)(610)에 설치하고 구동해야 한다.
먼저, 모바일 단말(Master)(610)에 IoT기기(630)를 등록하는 프로세스의 경우, 모바일 단말(Master)(610)에서 IoT기기(630)로 로그인을 수행한 후, 모바일 단말(Master)(610)은 IoT기기(630)의 단말정보를 요청하고, IoT기기(630)는 단말정보를 모바일 단말(Master)(610)로 전송한다. 이때, IoT기기(630)로 로그인을 수행함에 있어서, 모바일 단말(600)은 예를 들어 IoT기기(630)의 최초 구입 시 IoT기기(630)에 할당된 아이디, 패스워드 등을 모바일 단말(600)의 사용자로부터 입력받아 IoT기기(600)에 로그인을 수행할 수 있다. 또한, 이때, IoT기기(630)의 정보라 함은 예를 들어 IoT기기(630)에 부여된 운영상 휴대, 부착, 각인, 일련번호를 통해서 인식되는 고유식별 코드를 말할 수 있으나, 이에 한정되는 것은 아니다.
그러면, 모바일 단말(Master)(610)은 모바일 단말(Master)(610)에 설치된 어플리케이션의 무결성 검증키와 모바일 단말(Master)(610)의 단말정보 및 IoT기기(630)의 단말정보를 어플리케이션 검증서버(700)로 전송한다. 이때, 모바일 단말 (600)의 단말정보는 물리코드, 위치정보 및 장비식별정보 등이고, 예를 들어 MAC주소 정보 또는 USIM 정보 등과 같은 모바일 단말(Master)(610)의 물리코드가 될 수 있고, 또한 위치 및 장비식별정보는 데이터전송시 전송해야할 장비가 어디에 있는 지 및 장비가 맞는 지에 대한 확인을 하는 정보로 예를 들면 설치장소, GPS위치정보, IP주소, 모바일 단말번호(전화번호) 등을 포함한 정보가 될 수 있다.
위와 같이 모바일 단말(Master)(610)로부터 IoT기기(630)의 등록을 위한 정보를 수신하는 경우 어플리케이션 검증서버(700)는 관리용 단말 DB(710)에 기등록된 모바일 단말(Master)(610)의 어플리케이션의 무결성 검증키와 수신된 모바일 단말(Master)(610)의 어플리케이션의 무결성 검증키를 비교한다.
위와 같은 비교결과, 어플리케이션의 무결성 검증키가 서로 일치하는 경우, 어플리케이션 검증서버(700)는 IoT기기(630)의 정보를 관리용 단말 DB(710)에 저장하고, 모바일 단말(Master)(610)로 모바일 단말(Master)(610)에 IoT기기(630)가 정상적으로 등록되었음을 알리는 등록완료 메시지를 보낸다. 그러나, 비교결과 어플리케이션의 무결성 검증키가 불일치할 경우 어플리케이션 검증서버(700)는 IoT기기 (630)의 등록이 불가함을 알리는 등록 불가 메시지를 모바일 단말(Master)(610)로 보낸다.
다음으로, 모바일 단말(Master)(610)에 등록된 IoT기기(630)의 정보를 변경 하는 프로세스의 경우, 모바일 단말(Master)(610)에서 IoT기기(630)로 로그인을 수행한 후, 모바일 단말(Master)(610)은 IoT기기(630)의 변경된 단말정보를 요청하고, IoT기기(630)는 변경된 단말정보를 모바일 단말(Master)(610)로 전송한다.
그러면, 모바일 단말(Master)(610)은 모바일 단말(Master)(610)에 설치된 어플리케이션의 무결성 검증키와 모바일 단말(Master)(610)의 단말정보 및 IoT기기(630)의 단말정보와 변경된 단말정보를 어플리케이션 검증서버(700)로 전송한다.
위와 같이 모바일 단말(Master)(610)로부터 IoT기기(630)의 변경을 위한 정보를 수신하는 경우 어플리케이션 검증서버(700)는 모바일 단말(Master)(610)에서 전송받은 모바일 단말(Master)(610)의 어플리케이션의 무결성 검증키와 어플리케이션 검증서버(700)내의 관리용 단말 DB(710)에 기등록된 모바일 단말(Master)(610)의 어플리케이션의 무결성 검증키를 비교한다.
이어, 어플리케이션 검증서버(700)는 비교결과 두 개의 무결성 검증키가 일치하는 경우, 어플리케이션 검증서버(700)내 해당 모바일 단말(Master)(610)에 등록된 IoT기기(630)의 정보를 IoT기기(630)의 변경정보로 변경하고, 모바일 단말(Master)(610)로 IoT기기(630)의 정보 변경 절차가 완료되었음을 알리는 메시지를 전송하며, 불일치할 경우 변경불가 메시지를 전송한다.
한편, 위 설명에서는 변경/삭제 프로세스 중 변경 프로세스에 대해서만 예를 들어 설명하였으나, IoT기기(630)에 대한 정보 삭제의 경우에도 변경 절차와 동일한 과정을 통해 등록된 IoT기기(630)에 대한 정보의 삭제가 가능하다.
도 13은 본 발명의 실시 예에 따른 IoT기기를 제어할 모바일 단말(Family)을 모바일 단말(Master)에 등록/변경/삭제하는 절차도를 도시한 것이다.
위 도 13을 참조하면, 모바일 단말(Family)(620)을 모바일 단말(Master) (610)에 등록/변경/삭제하는 동작을 위해서는 IoT기기 제어용 어플리케이션을 모바일 단말(Master)(610)과 모바일 단말(Family)(620)에 설치하고 구동해야 한다.
먼저, 모바일 단말(Family)(620)을 모바일 단말(Master)(610)에 등록하는 프로세스의 경우, 모바일 단말(Master)(610)에서 모바일 단말(Family)(620)로 로그인을 수행한 후, 모바일 단말(Master)(610)은 모바일 단말(Family)(620)의 단말정보와 어플리케이션 무결성 검증키를 요청하고, 모바일 단말(Family)(620)은 단말정보와 어플리케이션 무결성 검증키를 모바일 단말(Master)(610)로 전송한다.
그러면, 모바일 단말(Master)(610)은 모바일 단말(Master)(610)의 단말정보와 어플리케이션의 무결성 검증키 및 모바일 단말(Family)(620)의 단말정보와 어플리케이션의 무결성 검증키를 어플리케이션 검증서버(700)로 전송한다.
위와 같이, 모바일 단말(Master)(610)에 모바일 단말(Family)(620)를 등록하기 위한 정보를 수신하는 경우, 어플리케이션 검증서버(700)는 관리용 단말 DB (710)에 기등록된 모바일 단말(Master)(610)의 어플리케이션 무결성 검증키와 수신된 모바일 단말(Master)(610)의 어플리케이션 무결성 검증키를 비교한다.
위와 같은 비교결과, 두 개의 무결성 검증키가 서로 일치하는 경우 어플리케이션 검증서버(700)는 관리용 단말 DB(710)에 등록된 모바일 단말(Master)(610)에 모바일 단말(Family)(620)을 등록한다.
이어, 어플리케이션 검증서버(700)는 모바일 단말(Family)(620)에 대한 정보가 모바일 단말(Master)(610)에 정상적으로 등록되었음을 알리는 등록완료 메시지를 모바일 단말(Master)(610)로 보낸다.
그러나, 비교결과 두 개의 단말정보가 불일치할 경우, 어플리케이션 검증서버(700)는 모바일 단말(Family)(620)에 대한 등록이 불가함을 알리는 등록 불가 메시지를 모바일 단말(Master)(610)로 전송한다.
다음으로, 모바일 단말(Master)(610)에 등록된 모바일 단말(Family)(620)의 정보를 변경하는 프로세스의 경우, 모바일 단말(Master)(610)에서 모바일 단말(Family)(620)로 로그인을 수행한 후, 모바일 단말(Master)(610)은 모바일 단말(Family)(620)의 변경된 단말정보를 요청하고, 모바일 단말(Family)(620)은 변경된 단말정보를 모바일 단말(Master)(610)로 전송한다.
그러면, 모바일 단말(Master)(610)은 모바일 단말(Master)(610)의 단말정보와 어플리케이션의 무결성 검증키 및 모바일 단말(Family)(620)의 변경된 단말정보와 어플리케이션의 무결성 검증키를 어플리케이션 검증서버(700)로 전송한다.
위와 같이, 모바일 단말(Master)(610)에 등록된 모바일 단말(Family)(620)의 정보변경을 위한 정보를 수신하는 경우, 어플리케이션 검증서버(700)는 관리용 단말 DB(710)에 기등록된 모바일 단말(Master)(610)과 모바일 단말(Family)(620)의 어플리케이션 무결성 검증키와 수신된 모바일 단말(Master)(610)과 모바일 단말(Family)(620)의 어플리케이션 무결성 검증키를 비교한다.
이어, 어플리케이션 검증서버(700)는 비교결과 무결성 검증키가 일치하는 경우, 관리용 단말 DB(710)에 저장된 모바일 단말(Master)(610)에 등록된 모바일 단말(Family)(620)의 단말정보를 변경 요청된 단말정보로 변경 등록한다. 이어, 어플리케이션 검증서버(700)는 모바일 단말(Family)(620)로 변경등록 완료 메시지를 보낸다.
그러나, 비교결과 두 개의 단말정보가 불일치할 경우 어플리케이션 검증서버(700)는 모바일 단말(Family)(620)의 정보 변경이 불가함을 알리는 변경 불가 메시지를 전송한다.
한편, 위 설명에서는 변경/삭제 프로세스 중 변경 프로세스에 대해서만 예를 들어 설명하였으나, 모바일 단말(Family)(620)에 대한 정보 삭제시에도 변경 절차와 동일한 과정을 통해 등록된 모바일 단말(Family)(620)에 대한 정보의 삭제가 가능하다.
도 14는 본 발명의 다른 실시 예에 따른 모바일 단말(Family)에 IoT기기를 등록/변경/삭제하는 절차도를 도시한 것이다.
위 도 14를 참조하면, 모바일 단말(Family)(620)에서 IoT기기(630)를 등록/변경/삭제하는 동작을 위해서는 IoT기기 제어용 어플리케이션을 모바일 단말(Master) (610)과 모바일 단말(Family)(620)에 설치하고 구동해야 한다.
먼저, 모바일 단말(Family)(620)에서 IoT기기(630)를 어플리케이션 검증서버(700)에 등록하는 프로세스의 경우, 모바일 단말(Family)(620)에서 IoT기기(630)로 로그인을 수행한 후, 모바일 단말(Family)(620)은 IoT기기(630)의 단말정보를 요청 하고, IoT기기(630)는 IoT기기(630)의 단말정보를 모바일 단말(Family)(620)로 전송한다.
그러면, 모바일 단말(Family)(620)은 모바일 단말(Family)(620)에 설치된 어플리케이션의 무결성 검증키와 모바일 단말(Family)(620)의 단말정보, 모바일 단말(Master)(610)의 단말정보 및 IoT기기(630)의 단말정보를 어플리케이션 검증서버(700)로 전송한다. 이때, 모바일 단말(Family)(620)의 단말정보는 물리코드, 위치 및 장비식별정보를 포함한다. 예를 들어 MAC주소 정보 또는 USIM 정보 등과 같은 모바일 단말(Family)(620)의 물리코드가 될 수 있다. 또한 위치 및 장비식별정보는 데이터전송시 전송해야할 장비가 어디에 있는 지 및 장비가 맞는 지에 대한 확인을 하는 정보로 예를 들면 설치장소, GPS위치정보, IP주소, 모바일 단말번호(전화번호) 등을 포함한 정보가 될 수 있다.
위와 같이, 모바일 단말(Family)(620)로부터 IoT기기(630)의 등록을 위한 정보를 수신하는 경우 어플리케이션 검증서버(700)는 관리용 단말 DB(710)에 기등록된 모바일 단말(Family)(620)의 어플리케이션의 무결성 검증키와 수신된 모바일 단말(Family)(620)의 어플리케이션의 무결성 검증키를 비교한다.
위와 같은 비교결과, 두 개의 무결성 검증키가 서로 일치하는 경우 어플리케이션 검증서버(700)는 모바일 단말(Master)(610)로 등록 승인을 요청한다. 이때, 이러한 등록 승인은 예를 들어 모바일 단말(Family)(620)에 IoT기기(630)를 등록 하는 것에 대한 승인을 의미할 수 있다.
그러면, 모바일 단말(Master)(610)은 모바일 단말(Family)(620)이 인증된 것을 확인하고, 모바일 단말(Family)(620)에 IoT기기(630)를 등록하는 것을 승인할 수 있다.
이어, 위와 같이 모바일 단말(Family)(620)에 IoT기기(630)의 등록을 승인하는 경우, 모바일 단말(Master)(610)은 등록 승인 메시지와 모바일 단말(Master)(610)의 어플리케이션의 무결성 검증키를 어플리케이션 검증서버(700)로 전송한다.
그러면, 어플리케이션 검증서버(700)는 관리용 단말 DB(710)에 기등록된 모바일 단말(Master)(710)의 어플리케이션 무결성 검증키와 모바일 단말(Master) (710)로부터 전송된 어플리케이션 무결성 검증키가 일치하는지 비교하고, 두 개의 무결성 검증키가 일치하는 경우 IoT기기(630)의 정보를 관리용 단말 DB(710)에 저장하여 IoT기기(630)를 어플리케이션 검증서버(700)에 등록한다.
이어, 어플리케이션 검증서버(700)는 모바일 단말(Family)(620)로 등록완료 메시지를 전송하면 모바일 단말(Family)(220)는 모바일 단말(Master)(210)로 등록확인 메시지를 통보하고 종료한다. 그러나 최종적으로 모바일 단말(Master)(210)가 지정된 시간내 모바일 단말(Family)(220)로부터 확인 메시지를 못 받을 경우 등록은 취소된다.
다음으로, 모바일 단말(Family)(620)에서 등록된 IoT기기(630)를 어플리케이션 검증서버(700)에 변경하는 프로세스의 경우, 모바일 단말(Family)(620)에서 IoT기기(630)로 로그인을 수행한 후, 모바일 단말(Family)(620)은 IoT기기(630)의 변경된 단말정보를 요청하고, IoT기기(630)는 변경된 단말정보를 모바일 단말(Family) (620)로 전송한다.
그러면, 모바일 단말(Family)(620)은 모바일 단말(Family)(620)에 설치된 어플리케이션의 무결성 검증키와 모바일 단말(Family)(620)의 단말정보, 모바일 단말(Master)(610)의 단말정보 및 IoT기기(630)의 변경된 단말정보를 어플리케이션 검증서버(700)로 전송한다. 이때, 모바일 단말(Family)(620)의 단말정보는 물리코드, 위치 및 장비식별정보를 포함한다. 예를 들어 MAC주소 정보 또는 USIM 정보 등과 같은 모바일 단말(Family)(620)의 물리코드가 될 수 있고, 또한 위치 및 장비식별정보는 데이터전송시 전송해야할 장비가 어디에 있는 지 및 장비가 맞는 지에 대한 확인을 하는 정보로 예를 들면 설치장소, GPS위치정보, IP주소, 모바일 단말번호(전화번호) 등을 포함한 정보가 될 수 있다.
위와 같이 모바일 단말(Family)(620)로부터 IoT기기(630)의 변경을 위한 정보를 수신하는 경우 어플리케이션 검증서버(700)는 관리용 단말 DB(630)에 기등록된 모바일 단말(Family)(620)의 어플리케이션의 무결성 검증키와 수신된 모바일 단말(Family)(620)의 어플리케이션의 무결성 검증키를 비교한다.
위와 같은 비교결과, 두 개의 무결성 검증키가 서로 일치하는 경우 어플리케이션 검증서버(700)는 모바일 단말(Master)(610)로 변경 등록 승인을 요청한다. 이때, 이러한 변경 등록 승인은 예를 들어 모바일 단말(Family)(620)에서 IoT기기 (630)의 정보를 변경하는 것에 대한 승인을 의미할 수 있다.
그러면, 모바일 단말(Master)(610)은 모바일 단말(Family)(620)이 인증된 것을 확인하고, 모바일 단말(Family)(620)에 IoT기기(630)의 정보를 변경 등록하는 것을 승인할 수 있다.
이어, 위와 같이 모바일 단말(Family)(620)에서 IoT기기(630)의 변경 등록을 승인하는 경우, 모바일 단말(Master)(610)은 변경 등록 승인 메시지와 모바일 단말(Master)(610)의 어플리케이션의 무결성 검증키를 어플리케이션 검증서버(700)로 전송한다.
그러면, 어플리케이션 검증서버(700)는 관리용 단말 DB(710)에 기등록된 모바일 단말(Master)(610)의 어플리케이션 무결성 검증키와 모바일 단말(Master)(610)로부터 전송된 어플리케이션 무결성 검증키가 일치하는지 비교하고, 두 개의 무결성 검증키가 일치하는 경우 IoT기기(630)의 변경정보를 관리용 단말 DB(710)에 저장하여 IoT기기(630)를 어플리케이션 검증서버(700)에 등록한다.
이어, 어플리케이션 검증서버(700)는 모바일 단말(Family)(620)로 변경 등록완료 메시지를 전송하면 모바일 단말(Family)(220)는 모바일 단말(Master)(210)로 등록확인 메시지를 통보하고 종료한다. 그러나 최종적으로 모바일 단말(Master)(210)가 지정된 시간내 모바일 단말(Family)(220)로부터 확인 메시지를 못 받을 경우 등록은 취소된다.
한편, 위 설명에서는 변경/삭제 프로세스 중 변경 프로세스에 대해서만 예를 들어 설명하였으나, IoT기기(630)에 대한 정보 삭제 시에도 변경 절차와 동일한 과정을 통해 등록된 IoT기기(630)에 대한 정보의 삭제가 가능하다.
도 15 내지 도 16는 본 발명의 다른 실시 예에 따른 모바일 단말(600)과 IoT 기기(630)간 보안인증 시스템에서 IoT기기에 접근하는 모바일 단말을 인증하는 신호처리 흐름을 도시한 것이다.
위 도 15 내지 도 16에 도시된 모바일 단말 인증에서는 도 1에 도시된 시스템 구성에서와는 달리, 인증서버(500)와 어플리케이션 검증서버(700)를 분리 하고, 난수 생성부(718)가 어플리케이션 검증서버(700)에 위치되는 경우의 신호 처리 흐름을 도시한 것이다.
이하, 도 10 내지 도 16을 참조하여 본 발명의 실시 예를 상세히 설명하기로 한다.
먼저, 모바일 단말(600)에서 IoT 제어용 어플리케이션을 구동하여 어플리케이션 검증서버(700)로 로그인을 수행한다(S900). 이때, 어플리케이션 검증서버 (700)에서 정상적으로 로그인이 수행되지 않은 경우 실패횟수를 카운딩하며, 최초 인증신청단계로 가서 처음부터 인증과정을 다시 진행하여 인증을 실패한 경우 실패횟수를 증가시켜서 실패횟수가 지정한 임계횟수를 초과하였을 때 인증과정을 종료한다.
그러나, 어플리케이션 검증서버(700)에서 정상적으로 로그인 수행된 경우(S902) 어플리케이션 검증서버(700)에서 모바일 단말(600)의 로그인을 승인하며, 로그인이 승인되는 경우 모바일 단말(600)에서 어플리케이션 검증서버(700)로 모바일 단말(600)의 단말정보와 모바일 단말(600)에 설치된 IoT기기 제어용 어플리케이션의 무결성 검증키(버전 정보, 체크썸(checksum) 등)를 전송한다(S904).
이에 따라, 어플리케이션 검증서버(700)는 모바일 단말(600)에 설치된 IoT 기기 제어용 어플리케이션의 무결성 검증키를 검사하여 어플리케이션 프로그램에 이상이 없는지를 확인한다(S906). 이때, 이상이 없는지를 확인하는 것은 예를 들어, 어플리케이션 프로그램이 해킹 등을 통해 위조/변조되었는지를 검사하는 것을 의미할 수 있으나 이에 한정되는 것은 아니다.
또한, 어플리케이션 검증서버(700)에서는 어플리케이션 프로그램의 이상 여부를 확인하는 동작에 있어서, 예를 들어 모바일 단말(600)에 설치된 IoT기기 제어용 어플리케이션의 무결성 검증키를 관리용 단말 DB(710)에 기등록된 모바일 단말(600)의 IoT기기 제어용 어플리케이션의 무결성 검증키와 비교한 후, 일치하는 경우 어플리케이션 프로그램에 이상이 없음을 확인할 수 있으나, 이에 한정되는 것은 아니다.
위와 같은 확인 결과, 모바일 단말(600)에 설치된 IoT기기 제어용 어플리케이션 프로그램에 이상이 있는 경우 어플리케이션 검증서버(700)는 모바일 단말(600)로 인증실패 메시지를 전송한다.
그러나, 확인 결과, 모바일 단말(600)에 설치된 IoT기기 제어용 어플리케이션 프로그램에 이상이 없는 경우(S908), 어플리케이션 검증서버(700)는 모바일 단말(600)에 설치된 IoT기기 제어용 어플리케이션 프로그램에 이상이 없음을 통보한다(S912).
위와 같이, 어플리케이션 검증서버(700)에서 어플리케이션 프로그램에 이상이 없음이 통보되는 경우, 모바일 단말(600)에서는 IoT기기(630)로 모바일 단말(600)의 단말정보를 전송한다(S914).
그러면, IoT기기(630)에서는 모바일 단말(600)로부터 전송되는 단말정보를 수신하고, 이와 같이 수신된 단말정보와 IoT기기(630)의 정보를 인증서버(500)로 전송한다(S916).
위와 같이, IoT기기(630)로부터 모바일 단말(600)의 단말정보와 IoT기기 (630)의 정보가 수신되는 경우, 인증서버(500)에서는 수신된 모바일 단말(600)의 단말정보와 어플리케이션 검증서버(700)로부터 제공받은 난수값을 이용하여 제2 인증키를 생성한다(S918).
한편, 확인 결과, 모바일 단말(600)에 설치된 IoT기기 제어용 어플리케이션 프로그램에 이상이 없는 경우(S908), 어플리케이션 검증서버(700)에서는 난수값을 생성하고, 난수값을 이용하여 제1 인증키를 생성한다(S920).
이어, 어플리케이션 검증서버(700)는 모바일 단말(600)의 단말정보, 난수값과 제1 인증키를 인증서버(500)로 전송한다(S922). 이때, 이러한 난수값의 생성을 위해 어플리케이션 검증서버(700)에는 난수 생성부(718)가 포함될 수 있으나, 이에 한정되는 것은 아니다.
또한, 이때, 이러한 제1 인증키(수신키)는 모바일 단말(600)이 인증서버(500)에 등록된 정당한 모바일 단말인지 여부를 인증하기 위한 키를 의미할 수 있으며, 이러한 제1 인증키는 예를 들어 모바일 단말(600)의 단말정보와 난수값을 이용하여 생성된 키로 1회성 키가 될 수 있으나, 이에 한정되지 않는다. 또한, 이러한 단말정보는 모바일 단말(600)을 식별하는 물리코드, 위치정보 및 장비식별정보 등이 될 수 있으며, 이러한 물리코드는 모바일 단말(600)의 MAC주소 정보와 USIM 정보를 포함함 정보일 수 있으나 이에 한정되는 것은 아니다. 또한 위치 및 장비식별정보는 데이터 전송시 전송해야할 장비가 어디에 있는 지 및 장비가 맞는 지에 대한 확인을 하는 정보로 예를 들면 설치장소, GPS위치정보, IP주소, 모바일 단말번호(전화번호) 등을 포함한 정보가 될 수 있다.
이어, 인증서버(500)는 위와 같이 생성한 제2 인증키(생성키)와 제1 인증키를 비교 하여 서로 일치하는지 여부를 검사한다(S924).
이때, 제1 인증키와 제2 인증키가 서로 일치하지 않는 경우(S926), 인증서버(500)는 모바일 단말(600)로 인증실패 메시지를 전송하여 인증이 실패했음을 통보한다(S932).
그러나, 제1 인증키와 제2 인증키가 서로 일치하는 경우(S926), 인증서버(500)는 모바일 단말(600)을 정당한 모바일 단말(600)로 인증하고, 인증 결과 정보 및 인증된 모바일 단말(600)의 단말정보와 IoT기기(630)의 정보를 인증 DB(520)에 등록한다(S928).
이어, 인증서버(500)는 모바일 단말(600)로 인증 성공 메시지를 전송하여 인증이 성공했음을 통보한다(S930). 이에 따라, 모바일 단말(600)에서 IoT기기(630)를 원격으로 제어하는 것이 가능하게 된다.
상기한 바와 같이, 본 발명에 따르면, 모바일 단말과 IoT기기간 제3자 보안 인증에 있어서, 제3자 보안 인증서버를 도입하여 모바일 단말의 해킹에 대비한 IoT기기 원격 제어용 어플리케이션 프로그램의 위조/변조체크, 모바일 단말-IoT기기간의 보안인증 패킷 등을 제3자가 점검하여 인증해주는 프로세스를 적용함으로써, 모바일 단말과 IoT기기간 보안 인증과정의 무결성 및 보안성을 강화할 수 있다.
한편 상술한 본 발명의 설명에서는 구체적인 실시 예에 관해 설명하였으나, 여러 가지 변형이 본 발명의 범위에서 벗어나지 않고 실시될 수 있다. 따라서 발명의 범위는 설명된 실시 예에 의하여 정할 것이 아니고 특허청구 범위에 의해 정하여져야 한다.
100,300,500 : 인증서버 112,511 : 패킷탈취 방지부
110, 510 : 관리로그DB
114 : 소스코드 변조체크부 116,512 : 아이디/패스워드 관리부
118,516 : 모바일 단말(M/F) 관리부 120,320,520 : 인증 DB
122,514 : 인증부 124 : 인증 APP 관리부
126,517 : IoT기기 관리부 128,519 : 조회 관리부
129,518 : 로그 관리부 130,310,710 : 관리용 단말 DB
200,400 : 모바일 단말(Master/Family) 210,410 : 모바일 단말(Master)
211 : 전용 패킷 관리부 212 : 아이디/패스워드 관리부
213 : 단말기 승인 관리부 214 : 로그인 관리부
215 : 인증관리(APP 버전, PRG)부 216 : 보안키 관리부
217 : IoT기기 운용 관리부 220 : 모바일 단말(Family)
230,430 : IoT기기 231 : 전송패킷 관리부
232 : 아이디/패스워드 관리부 233 : 운영단말 등록부
234 : 로그인 검증부 236 : 인증관리(APP 버전, PRG)부
237 : 보안키 관리부 238, 132 : 난수생성부
340 : 난수 생성기
600 : 모바일 단말(Master/Family) 610 : 모바일 단말(Master)
611 : 전용 패킷 관리부 612 : 아이디/패스워드 관리부
613 : 단말기 승인 관리부 614 : 로그인 관리부
615 : 인증관리(APP 버전, PRG)부 616 : 보안키 관리부
617 : IoT기기 운용 관리부 620 : 모바일 단말(Family)
630 : IoT기기 631 : 전송패킷 관리부
632 : 아이디/패스워드 관리부 633 : 운영단말 등록부
634 : 로그인 검증부 636 : 인증관리(APP 버전, PRG)부
637 : 보안키 관리부 700 : 어플리케이션 검증서버
711 : 패킷 탈취방지부 712 : 아이디/패스워드 관리부
713 : 소스코드변조 체크부 714 : 모바일 단말(M/F)관리부
715 : 로그관리부 716 : 조회관리부
718 : 난수생성부

Claims (16)

  1. 유무선 인터넷 통신망을 통해 데이터 송수신이 가능한 IoT기기와,
    상기 유무선 인터넷 통신망을 통해 상기 IoT기기와 데이터 송수신을 수행하며, 상기 데이터 송수신을 통해 상기 IoT기기의 동작을 원격 제어하는 모바일 단말과,
    상기 모바일 단말에 상기 원격 제어 대상이 되는 상기 IoT기기를 등록하며, 상기 모바일 단말로부터 상기 IoT기기에 대한 원격 제어 요청이 있는 경우, 상기 모바일 단말이 상기 IoT기기의 원격 제어를 위해 등록된 정당한 모바일 단말인지를 인증하고, 상기 모바일 단말이 상기 정당한 모바일 단말인 경우 상기 IoT 기기에 대한 원격 제어를 승인하는 인증서버와,
    상기 인증서버는, 상기 모바일 단말을 상기 IoT기기에 대한 제어 권한에 따라 마스터(Master)와 패밀리(Family)로 구분하여 등록하며, 상기 패밀리로 구분된 제1 모바일 단말에 상기 IoT기기의 등록 시 상기 마스터로 구분된 제2 모바일 단말의 승인을 얻어 상기 제1 모바일 단말에 상기 IoT기기를 등록하는 제3자 보안인증 시스템.
  2. 제 1 항에 있어서,
    상기 인증서버는,
    상기 모바일 단말로부터 상기 IoT기기에 대한 원격 제어 요청이 있는 경우, 난수값과 상기 IoT기기로부터 전송된 상기 모바일 단말의 단말정보를 이용하여 제1 인증키를 생성하고, 상기 모바일 단말에서 상기 난수값과 상기 단말정보를 이용하여 생성한 제2 인증키를 상기 IoT기기로부터 수신하여 상기 제1 인증키와 상기 제2 인증키를 비교하고, 상기 제1 인증키와 제2 인증키가 일치하는 경우 상기 모바일 단말을 상기 정당한 모바일 단말로 판단하는 제3자 보안인증 시스템.
  3. 제 1 항에 있어서,
    상기 인증서버는,
    상기 IoT기기의 등록 시, 상기 모바일 단말의 단말정보가 상기 인증서버에 기등록된 모바일 단말의 단말정보와 일치하는지 여부를 검사하고, 상기 단말정보가 서로 일치하는 경우 등록 요청한 상기 모바일 단말에 상기 IoT기기를 등록 하는 제3자 보안인증 시스템.
  4. 제 1 항에 있어서,
    상기 인증서버는,
    상기 등록된 IoT기기의 정보 변경 또는 삭제 시, 상기 IoT기기의 정보 변경 또는 삭제를 요청하는 상기 모바일 단말의 단말정보가 상기 인증서버에 기등록된 모바일 단말의 단말정보와 일치하는지 여부를 검사하고, 상기 단말정보가 서로 일치하는 경우 상기 IoT기기에 대한 정보를 변경하거나 삭제하는 제3자 보안인증 시스템.
  5. 제 4 항에 있어서,
    상기 인증서버는,
    상기 모바일 단말에 설치된 상기 IoT기기의 제어용 어플리케이션의 무결성 검증키를 수신하고, 상기 무결성 검증키를 이용하여 상기 어플리케이션의 프로그램이 변경되었는지 여부를 검사한 후, 상기 어플리케이션의 프로그램이 변경되지 않은 경우 상기 모바일 단말에 상기 IoT기기를 등록하는 제3자 보안인증 시스템.
  6. 삭제
  7. 제 2 항에 있어서,
    상기 난수값은,
    상기 IoT기기 또는 상기 인증서버에서 1회 생성되어 상기 모바일 단말로 제공되는 제3자 보안인증 시스템.
  8. 제 2 항에 있어서,
    상기 단말정보는,
    상기 모바일 단말의 MAC 주소 정보, USIM 정보, 단말의 위치정보 및 단말의 식별 정보인 제3자 보안인증 시스템.
  9. 제 5 항에 있어서,
    상기 무결성 검증키는,
    상기 어플리케이션의 버전(version) 정보 또는 소스코드의 체크썸(checksum) 정보를 이용하여 생성한 키인 제3자 보안인증 시스템.
  10. 유무선 인터넷통신망을 통해 연결되는 모바일 단말과 IoT기기, 인증서버를 포함하는 제3자 보안인증 시스템에서 제3자 보안인증 방법으로서,
    상기 인증서버에서 상기 IoT기기에 대한 원격 제어를 요청하는 상기 모바일 단말을 등록하는 단계와,
    상기 모바일 단말에 상기 원격 제어 대상이 되는 상기 IoT기기를 등록하는 단계와,
    상기 모바일 단말로부터 상기 IoT기기에 대한 원격 제어 요청이 있는 경우 상기 모바일 단말이 상기 IoT기기의 원격 제어를 위해 등록된 정당한 모바일 단말인지를 인증하는 단계와,
    상기 원격 제어 요청한 모바일 단말이 상기 정당한 모바일 단말인 경우 상기 IoT기기에 대한 원격 제어를 승인하는 단계를 포함하며,
    상기 인증서버는, 상기 모바일 단말을 상기 IoT기기에 대한 제어 권한에 따라 마스터(Master)와 패밀리(Family)로 구분하여 등록하며, 상기 패밀리로 구분된 제1 모바일 단말에 상기 IoT기기의 등록 시 상기 마스터로 구분된 제2 모바일 단말의 승인을 얻어 상기 제1 모바일 단말에 상기 IoT기기를 등록하는 제3자 보안인증 방법.
  11. 제 10 항에 있어서,
    상기 인증하는 단계는,
    상기 인증서버에서 1회용 난수값과 상기 IoT기기로부터 전송된 상기 모바일 단말의 단말정보를 이용하여 제1 인증키를 생성하는 단계와,
    상기 모바일 단말에서 상기 난수값과 상기 단말정보를 이용하여 생성한 제2 인증키를 상기 IoT기기로부터 수신하는 단계와,
    상기 제1 인증키와 상기 제2 인증키를 비교하고, 상기 제1 인증키와 제2 인증키가 일치하는 경우 상기 모바일 단말을 상기 정당한 모바일 단말로 인증하는 단계
    를 포함하는 제3자 보안인증 방법.
  12. 유무선 인터넷통신망을 통해 데이터 송수신이 가능한 IoT기기와,
    상기 유무선 인터넷통신망을 통해 상기 IoT기기와 데이터 송수신을 수행하며, 상기 데이터 송수신을 통해 상기 IoT기기의 동작을 원격 제어하는 모바일 단말과,
    상기 모바일 단말에 상기 원격 제어 대상이 되는 상기 IoT기기를 등록하고, 상기 등록된 IoT기기와 모바일 단말에 대한 정보를 관리하는 어플리케이션 검증 서버와,
    상기 모바일 단말로부터 상기 IoT기기에 대한 원격 제어 요청이 있는 경우, 상기 어플리케이션 검증서버와 연동하여 상기 모바일 단말이 상기 IoT기기의 원격 제어를 위해 등록된 정당한 모바일 단말인지를 인증하고, 상기 원격 제어 요청한 모바일 단말이 상기 정당한 모바일 단말인 경우 상기 IoT기기에 대한 원격 제어를 승인하는 인증서버를 포함하며,
    상기 어플리케이션 검증서버는, 상기 모바일 단말을 상기 IoT기기에 대한 제어 권한에 따라 마스터(Master)와 패밀리(Family)로 구분하여 등록하며, 상기 패밀리로 구분된 제1 모바일 단말에 상기 IoT기기의 등록 시 상기 마스터로 구분된 제2 모바일 단말의 승인을 얻어 상기 제1 모바일 단말에 상기 IoT기기를 등록하는 제3자 보안인증 시스템.
  13. 제 12 항에 있어서,
    상기 인증서버는,
    상기 모바일 단말로부터 상기 IoT기기에 대한 원격 제어 요청이 있는 경우, 1회용 난수값과 상기 어플리케이션 검증서버로부터 생성된 제1 인증키를 수신하고, 상기 IoT기기로부터 전송된 상기 모바일 단말의 단말정보와 상기 난수값을 이용하여 제2 인증키를 생성한 후, 상기 제1 인증키와 상기 제2 인증키를 비교하고, 상기 제1 인증키와 제2 인증키가 일치하는 경우 상기 모바일 단말을 상기 정당한 모바일 단말로 판단하는 제3자 보안인증 시스템.
  14. 제 13 항에 있어서,
    상기 난수값은,
    상기 어플리케이션 검증서버에서 생성되어 상기 인증서버와 상기 모바일 단말로 제공되는 제3자 보안인증 시스템.
  15. 유무선 인터넷통신망을 통해 연결되는 모바일 단말, IoT기기, 어플리케이션 검증서버, 인증서버를 포함하는 제3자 보안인증 시스템에서 제3자 보안인증 방법으로서,
    상기 어플리케이션 검증서버에서 상기 IoT기기에 대한 원격 제어를 요청하는 상기 모바일 단말을 등록하는 단계와,
    상기 어플리케이션 검증서버에서 상기 모바일 단말에 상기 원격 제어 대상이 되는 상기 IoT기기를 등록하는 단계와,
    상기 어플리케이션 검증서버에서 상기 모바일 단말로부터 상기 IoT기기에 대한 원격 제어 요청을 수신하는 경우 상기 인증서버로 상기 요청을 전송하는 단계와,
    상기 인증서버에서 상기 어플리케이션 검증서버와 연동하여 상기 모바일 단말이 상기 IoT기기의 원격 제어를 위해 등록된 정당한 모바일 단말인지를 인증하는 단계와,
    상기 인증서버에서 상기 원격 제어 요청한 모바일 단말이 상기 정당한 모바일 단말인 경우 상기 IoT기기에 대한 원격 제어를 승인하는 단계를 포함하며,
    상기 어플리케이션 검증서버는, 상기 모바일 단말을 상기 IoT기기에 대한 제어 권한에 따라 마스터(Master)와 패밀리(Family)로 구분하여 등록하며, 상기 패밀리로 구분된 제1 모바일 단말에 상기 IoT기기의 등록 시 상기 마스터로 구분된 제2 모바일 단말의 승인을 얻어 상기 제1 모바일 단말에 상기 IoT기기를 등록하는 제3자 보안인증 방법.
  16. 제 15 항에 있어서,
    상기 인증하는 단계는,
    상기 인증서버에서 상기 어플리케이션 검증서버로부터 1회용 난수값과 상기 난수값을 이용하여 생성된 제1 인증키를 수신하는 단계와,
    상기 인증서버에서 상기 IoT기기로부터 수신된 상기 모바일 단말의 단말 정보를 수신하여 상기 단말정보와 상기 난수값을 이용하여 제2 인증키를 생성하는 단계와,
    상기 제1 인증키와 상기 제2 인증키를 비교하고, 상기 제1 인증키와 제2 인증키가 일치하는 경우 상기 모바일 단말을 상기 정당한 모바일 단말로 인증하는 단계
    를 포함하는 제3자 보안인증 방법.
KR1020160008339A 2015-04-09 2016-01-22 모바일 단말과 IoT기기간 제3자 보안인증 시스템 및 방법 KR101810150B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020150050077 2015-04-09
KR20150050077 2015-04-09

Publications (2)

Publication Number Publication Date
KR20160121775A KR20160121775A (ko) 2016-10-20
KR101810150B1 true KR101810150B1 (ko) 2018-01-26

Family

ID=57251322

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160008339A KR101810150B1 (ko) 2015-04-09 2016-01-22 모바일 단말과 IoT기기간 제3자 보안인증 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR101810150B1 (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102446384B1 (ko) * 2015-09-18 2022-09-22 삼성전자주식회사 사용자 단말 및 서버 장치
KR101960583B1 (ko) * 2017-01-02 2019-03-20 단국대학교 산학협력단 인증서 발급 방법
KR102144955B1 (ko) * 2017-11-30 2020-08-14 주식회사 케이티앤씨 네트워크 보안 장비의 관리자 비밀번호 분실에 대한 대응 제어 방법
KR102349272B1 (ko) * 2017-12-14 2022-01-10 삼성전자주식회사 등록 세션을 제어하기 위한 전자 장치 및 그의 동작 방법, 서버 및 그의 동작 방법
KR102400580B1 (ko) * 2018-01-22 2022-05-23 삼성전자주식회사 다른 전자 장치의 인증을 수행하는 전자 장치와 이의 동작 방법
US11153309B2 (en) 2018-03-13 2021-10-19 At&T Mobility Ii Llc Multifactor authentication for internet-of-things devices
KR20190130206A (ko) 2018-04-23 2019-11-22 (주)아이씨엔캐스트 분실 보안이 강화된 IoT기기 제3자 보안인증 시스템 및 방법
CN112673600B (zh) 2018-09-03 2023-10-03 爱森卡斯特株式会社 基于区块链的手机终端以及IoT设备之间的多重安全认证系统以及方法
KR101947760B1 (ko) * 2018-09-04 2019-02-13 김종현 스마트콘트랙트의 보안 인증 서버
KR102161116B1 (ko) * 2018-12-10 2020-09-29 유비벨록스(주) IoT기기 원격제어 시스템
US10938826B2 (en) 2019-05-24 2021-03-02 International Business Machines Corporation Intelligent device security
KR20210103870A (ko) * 2020-02-14 2021-08-24 주식회사 대림 세대단말기를 중심으로 하는 스마트홈 보안 강화 시스템

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005196790A (ja) * 2004-01-06 2005-07-21 Samsung Electronics Co Ltd ホームネットワークを構成する機器に対する認証装置およびその方法
KR100667333B1 (ko) * 2004-12-16 2007-01-12 삼성전자주식회사 홈 네트워크에서 디바이스 및 사용자 인증 시스템 및 방법

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101990882B1 (ko) 2012-10-09 2019-09-30 에스케이 텔레콤주식회사 사물 인터넷을 위한 인증 방법과 그를 위한 디바이스 및 인증 장치
KR101684076B1 (ko) 2015-03-18 2016-12-20 문종섭 사물인터넷에서 스마트 디바이스 또는 스마트 센서와 네트워크 게이트웨이 사이의 안전한 데이터 전달을 위한 통신 시스템

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005196790A (ja) * 2004-01-06 2005-07-21 Samsung Electronics Co Ltd ホームネットワークを構成する機器に対する認証装置およびその方法
KR100667333B1 (ko) * 2004-12-16 2007-01-12 삼성전자주식회사 홈 네트워크에서 디바이스 및 사용자 인증 시스템 및 방법

Also Published As

Publication number Publication date
KR20160121775A (ko) 2016-10-20

Similar Documents

Publication Publication Date Title
KR101810150B1 (ko) 모바일 단말과 IoT기기간 제3자 보안인증 시스템 및 방법
WO2018121387A1 (zh) 安全验证方法、平台、装置和系统
US10475266B2 (en) Lock control device, information processing method, program, and communication terminal
US9305412B2 (en) Apparatus, system and method for vehicle authentication management and reporting
CN103517273B (zh) 认证方法、管理平台和物联网设备
KR101560958B1 (ko) 모바일 디바이스들, 인터넷-접속 차량들, 및 클라우드 서비스들의 접속
JP5052349B2 (ja) モバイル端末内の設定パラメータの更新方法
US20200394657A1 (en) Method and system for authenticating iot device using mobile device
US7496948B1 (en) Method for controlling access to a target application
JP7091187B2 (ja) 固有のマスターキーを有するデジタルドアロック及びその操作方法
US20150106900A1 (en) Mobile network-based multi-factor authentication
KR20190130206A (ko) 분실 보안이 강화된 IoT기기 제3자 보안인증 시스템 및 방법
KR102255468B1 (ko) 2단계 인증을 이용한 사물 인터넷 기기의 암호 키 발급 장치 및 방법
CN112514323B (zh) 用于处理数字密钥的电子设备及其操作方法
KR101212509B1 (ko) 서비스 제어시스템 및 그 방법
KR101879843B1 (ko) Ip 주소와 sms를 이용한 인증 방법 및 시스템
KR101692161B1 (ko) 비콘 발신기와 일회성 패스워드를 이용한 인증 시스템 및 인증 방법
KR20150081387A (ko) 사용자 인증 시스템 및 방법
JP2022527758A (ja) セキュア緊急車両通信
KR102306466B1 (ko) 복제 불가능한 인증 및 위치 측위 시스템 및 그 동작 방법
KR100686911B1 (ko) 휴대 단말, 및 인증 방법
KR102201218B1 (ko) 모바일 단말의 보안 엔진의 접근 제어 시스템 및 방법
KR101212510B1 (ko) 위치기반의 서비스 보안 시스템 및 그 방법
KR101195027B1 (ko) 서비스 보안시스템 및 그 방법
KR20220002011A (ko) 모바일 단말과 IoT기기간 제3자 보안인증 시스템 및 방법

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant