KR102540451B1 - 사물인터넷 디바이스 보안부팅 시스템 및 이를 이용한 사물인터넷 디바이스 보안부팅 방법 - Google Patents

사물인터넷 디바이스 보안부팅 시스템 및 이를 이용한 사물인터넷 디바이스 보안부팅 방법 Download PDF

Info

Publication number
KR102540451B1
KR102540451B1 KR1020220024523A KR20220024523A KR102540451B1 KR 102540451 B1 KR102540451 B1 KR 102540451B1 KR 1020220024523 A KR1020220024523 A KR 1020220024523A KR 20220024523 A KR20220024523 A KR 20220024523A KR 102540451 B1 KR102540451 B1 KR 102540451B1
Authority
KR
South Korea
Prior art keywords
code
iot device
bootload
hash value
verification
Prior art date
Application number
KR1020220024523A
Other languages
English (en)
Inventor
김세영
유준민
Original Assignee
유비벨록스(주)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 유비벨록스(주) filed Critical 유비벨록스(주)
Priority to KR1020220024523A priority Critical patent/KR102540451B1/ko
Application granted granted Critical
Publication of KR102540451B1 publication Critical patent/KR102540451B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16YINFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
    • G16Y30/00IoT infrastructure
    • G16Y30/10Security thereof
    • 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/0853Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
    • 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/3236Cryptographic 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 cryptographic hash functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

부트로드 코드를 저장하는 부트로드 영역과 어플리케이션 코드를 저장하는 어플리케이션 영역으로 나누어지는 저장부를 구비하는 사물인터넷 디바이스; 상기 사물인터넷 디바이스와 데이터 송수신이 가능하도록 네트워크로 연결되는 서버; 및 상기 사물인터넷 디바이스와 통신 프로토콜을 통해 연결되고, 상기 사물인터넷 디바이스와 상기 서버간의 데이터 송수신을 위한 키(key)와 인증서(certificate)를 저장하는 보안칩;을 포함하고, 상기 보안칩은 상기 부트로드 코드를 검증하여, 상기 부트로드 코드가 검증된 경우에만 상기 키(key)와 상기 인증서(certificate)를 사용가능하도록 하는 것을 특징으로 하는 사물인터넷 디바이스 보안부팅 시스템 및 이를 이용한 사물인터넷 디바이스 보안부팅 방법을 제공하여, 보안칩이 사물인터넷 디바이스의 부트로더 코드를 검증하고, 부트로더 코드가 검증되는 경우에만 서버와의 통신을 위한 키(key)와 인증서(certificate)를 사용가능하도록 하므로, 결과적으로 부트로더 코드가 검증된 경우에만 사물인터넷 디바이스와 서버와의 통신이 가능하도록 하게 되어, 서버와의 통신이 필수적인 사물인터넷 디바이스가 루트 오브 트러스트(root of trust)를 구성할 수 없는 경우에도 보안부팅을 구현할 수 있다는 효과가 있다.

Description

사물인터넷 디바이스 보안부팅 시스템 및 이를 이용한 사물인터넷 디바이스 보안부팅 방법{Secure Booting Ssystem for IoT Device and Secure Booting Method for IoT Device Using the Same}
본 발명은 사물인터넷 디바이스 보안부팅 시스템 및 이를 이용한 사물인터넷 디바이스 보안부팅 방법에 관한 것으로, 보다 상세하게는 보안칩이 사물인터넷 디바이스의 부트로더 코드를 검증하고, 부트로더 코드가 검증되는 경우에만 서버와의 통신을 위한 키(key)와 인증서(certificate)를 사용가능하도록 하여, 이를 통한 보안부팅이 가능하도록 하는 사물인터넷 디바이스 보안부팅 시스템 및 이를 이용한 사물인터넷 디바이스 보안부팅 방법에 관한 것이다.
사물인터넷(Internet of Things, IoT)이란 각종 사물에 센서와 통신 기능을 내장하여 인터넷에 연결하는 기술, 즉 인터넷을 이용하여 각종 사물인터넷(IoT) 디바이스들을 연결하는 기술을 의미한다.
여기서 사물인터넷 디바이스란 가전제품, 모바일 장비, 웨어러블 디바이스 등 다양한 임베디드 시스템이 될 수 있다. 이때에, 사물인터넷에 연결되는 사물인터넷 디바이스들은 자신을 구별할 수 있는 아이피를 가지고 인터넷에 연결되어야 되는데, 이러한 모든 사물인터넷 디바이스들이 바이러스와 해킹의 대상이 될 수 있어 보안에 대한 요구사항이 증가하고 있는 실정이다.
다시 말해서, 사물인터넷 디바이스의 기본 기능은 여러가지 센서를 통해서 수집한 데이터를 서버에 전송하는 것인데, 외부의 공격에 의해서 잘못된 데이터가 서버로 전송될 경우 문제가 될 수 있다. 예를 들어 가스 혹은 수도 계량기의 계량 데이터가 조작되어 서버로 전송되는 등의 문제가 발생할 수 있다.
한편, 사물인터넷 디바이스로부터 수집된 정보가 서버로 전송되는 과정에서 정보 조작이 발생할 수 있는 경우는, 데이터 수집단계, 수집된 데이터를 가공하는 단계, 그리고 가공된 데이터가 전송되는 단계로 나눌 수 있다. 그리고 이러한 정보조작을 막을 수 있는 근간이 되는 보안 방식으로 보안부팅(secure boot)이 있다.
사물인터넷 디바이스에 리셋이 발생하면 하드웨어적으로 설정된 최초로 실행될 소프트웨어 영역으로 프로그램 카운터(program counter)가 설정되고 시스템의 각종 초기화를 진행한다. 그리고나면 프로그렘 제어는 어플리케이션 코드 영역으로 넘어가게 되는데, 어플리케이션 코드에서 정보의 수집, 가공, 전송을 진행하게 된다.
이때에, 부팅과정을 포함한 초기 소프트웨어 영역, 그리고 어플리케이션 영역의 코드들이 최초 출고된 코드 그대로 인지를 확인하여 검증하는 것이 필요한다. 이러한 사항을 검증하는 과정이 보안부팅(secure booting)이라고 할 수 있다.
이러한 보안부팅은 루트 오브 트러스트(root of trust)와 체인 오브 트러스트(chian of trust)로 구성된다. 여기에서, 루트 오브 트러스트(root of trust)란 부팅에서의 초기 소프트웨어 영역에 해당하는데, 부팅을 진행하기 전에 다음 단계의 코드 영역이 변경되지 않고 출고된 상태의 코드 그대로인지를 검사한다. 검사결과에 문제가 없다면 다음단계의 코드 영역을 실행하고, 그 다음 단계의 코드 영역을 검증하고 실행하게 되는데, 이런식으로 계속해서 순차적으로 코드 영역을 검증해 나가는 것을 체인 오브 트러스트(chain of trust)라고 한다. 즉, 루트 오브 트러스트(root of trust)가 부트 스트램(bootstrap)이 되어 다음 단계의 코드를 검증하고 검증된 단계에서 다시 그 다음 단계를 검증하게 되는 것이다.
한편, 루트 오브 트러스트(root of trust)는 이를 검증해줄 이전의 검증 단계가 없기 때문에 스스로 자신의 영역에 문제가 없다는 것을 증명해야 하는데 이를 담보하기 위해서 하드웨어 보호장치가 필요하게 된다. 이러한 하드웨어 보호장치로는 읽기 제한(read protection), 변조 보호(tamper protection) 등이 있을 수 있다.
하지만, 배터리 기반의 초 전전력 사물 인터넷 디바이스와 같은 경우에는 전력 소비를 최소화하기 위해서 저전력 MCU를 사용하게 되는데, 이와 같은 경우에는 상술한 하드웨어 보호장치가 구비되지 않는 경우가 발생하고, 이에 따라 루트 오브 트러스트(root of trust)를 구성할 수 없기 때문에 보안 부팅을 지원할 수 없는 문제점이 있다.
본 기술은 지역특화산업육성+(R&D)-지역주력산업육성사업의 스마트워터그리드의 AMR(자동계량판독기) 환경에 적합한 보안암호모듈 및 기기 서버 간 상호인증 솔루션 개발과제(S3086425)를 통해 개발된 기술이다
본 발명은 상술한 문제점을 해결하기 위한 것으로, 보안칩이 사물인터넷 디바이스의 부트로더 코드를 검증하고, 부트로더 코드가 검증되는 경우에만 서버와의 통신을 위한 키(key)와 인증서(certificate)를 사용가능하도록 하여, 이를 통한 보안부팅이 가능하도록 하는 사물인터넷 디바이스 보안부팅 시스템 및 이를 이용한 사물인터넷 디바이스 보안부팅 방법을 제공하는 것을 그 목적으로 한다.
본 발명에 의한 사물인터넷 디바이스 보안부팅 시스템은, 부트로드 코드를 저장하는 부트로드 영역과 어플리케이션 코드를 저장하는 어플리케이션 영역으로 나누어지는 저장부를 구비하는 사물인터넷 디바이스; 상기 사물인터넷 디바이스와 데이터 송수신이 가능하도록 네트워크로 연결되는 서버; 및 상기 사물인터넷 디바이스와 통신 프로토콜을 통해 연결되고, 상기 사물인터넷 디바이스와 상기 서버간의 데이터 송수신을 위한 키(key)와 인증서(certificate)를 저장하는 보안칩;을 포함하고, 상기 보안칩은 상기 부트로드 코드를 검증하여, 상기 부트로드 코드가 검증된 경우에만 상기 키(key)와 상기 인증서(certificate)를 사용가능하도록 할 수 있다.
본 발명에 의한 사물인터넷 디바이스 보안부팅 시스템에서, 상기 부트로드 코드는, 리셋 인터럽트 핸들러(reset interrupt handler), 부트로드 검증 코드, 및 어플리케이션 검증 코드를 포함하고, 상기 사물인터넷 디바이스의 부팅시에 상기 리셋 인터럽트 핸들러(reset interrupt handler), 상기 부트로드 검증 코드, 상기 어플리케이션 검증 코드가 순차적으로 실행될 수 있다.
본 발명에 의한 사물인터넷 디바이스 보안부팅 시스템에서, 상기 부트로드 검증 코드는 상기 부트로드 코드를 읽어 상기 보안칩에 전송하고, 상기 보안칩은, 상기 부트로드 코드의 해시값을 생성하여 미리 저장된 검증 부트로드 코드 해시값과 비교함으로써 상기 부트로드 코드를 검증할 수 있다.
본 발명에 의한 사물인터넷 디바이스 보안부팅 시스템에서, 상기 부트로드 코드의 해시값과 상기 검증 부트로드 코드 해시값이 일치하는 경우에는, 상기 키(key)와 상기 인증서(certificate)를 사용가능하도록 하고, 상기 부트로드 코드의 해시값과 상기 검증부트로드 코드 해시값이 일치하지 않는 경우에는, 상기 부트로더 검증코드가 더 이상 부팅과정을 진행하지 않도록 할 수 있다.
본 발명에 의한 사물인터넷 디바이스 보안부팅 시스템에서, 상기 부트로드 코드의 해시값과 상기 검증 부트로드 코드 해시값이 일치하는 경우에는, 상기 어플리케이션 검증 코드가 실행되도록 하고, 상기 어플리케이션 검증코드는 상기 어플리케이션 코드의 해시값을 산출하여 상기 보안칩으로 전송하고, 상기 보안칩은 상기 어플리케이션 코드의 해시값과 미리 저장된 검증 어플리케이션 코드 해시값을 비교하여 상기 어플리케이션 코드의 유효성을 검증할 수 있다.
본 발명에 의한 사물인터넷 디바이스 보안부팅 시스템에서, 상기 어플리케이션 코드의 해시값과 상기 검증 어플리케이션 코드 해시값이 일치하지 않는 경우에는, 상기 보안칩이 상기 키(key)와 상기 인증서(certificate)를 사용불가 상태로 전환할 수 있다.
본 발명에 의한 사물인터넷 디바이스 보안부팅 시스템에서, 상기 보안칩은 ISO-7816, I2C, SPI 중 선택되는 어느 하나의 통신 프로토콜을 통해서 상기 사물인터넷 디바이스와 연결될 수 있다.
본 발명에 의한 사물인터넷 디바이스 보안부팅 시스템에서, 상기 저장부는 읽기와 쓰기가 가능한 플래시 메모리(flash memory)로 구비될 수 있다.
본 발명에 의한 사물인터넷 디바이스 보안부팅 시스템에서, 상기 보안칩은 중앙처리장치(CPU)와 메모리(memory)를 구비하고, 상기 사물인터넷 디바이스와는 독립적으로 동작이 가능하며 변조방지 보안기능을 갖출 수 있다.
본 발명에 의한 사물인터넷 디바이스 보안부팅 시스템에서, 상기 보안칩은 스마트카드로 구비될 수 있다.
본 발명에 의한 사물인터넷 디바이스 보안부팅 방법은, 저장부를 구비하는 사물인터넷 디바이스, 상기 사물인터넷 디바이스와 네트워크로 연결되는 서버, 및 상기 사물인터넷 디바이스와 통신 프로토콜을 통해 연결되는 보안칩을 포함하는 사물인터넷 디바이스 보안부팅 시스템을 이용한 사물인터넷 디바이스 보안부팅 방법으로서, 상기 사물인터넷 디바이스에 저장된 부트로드 코드를 상기 보안칩에 전송하는 부트로드 코드 전송단계; 상기 보안칩이 전송받은 상기 부트로드 코드의 해시값을 생성하는 부트로드 코드 해시값 생성단계; 및 상기 보안칩이 생성한 상기 부트로드 코드의 해시값과 미리 저장된 검증 부트로드 코드 해시값을 비교하여 상기 부트로드 코드의 유효성을 검증하는 부트로드 코드 검증단계;를 포함할 수 있다.
본 발명에 의한 사물인터넷 디바이스 보안부팅 방법은, 상기 부트로드 코드 검증단계에서 상기 부트로드 코드의 유효성이 검증된 경우에는, 상기 보안칩에 저장된 키와 인증서를 상기 사물인터넷 디바이스가 사용가능하도록 전환하여 상기 사물인터넷 디바이스와 상기 서버간의 보안통신이 가능하도록 하는 보안칩 사용가능 전환단계;를 더 포함할 수 있다.
본 발명에 의한 사물인터넷 디바이스 보안부팅 방법은, 상기 부트로드 코드 검증단계에서 상기 부트로드 코드의 유효성이 검증되지 않은 경우에는, 부팅 과정을 종료할 수 있다. .
본 발명에 의한 사물인터넷 디바이스 보안부팅 방법은, 상기 보안칩 사용가능 전환단계 이후, 상기 사물인터넷 디바이스에 저장된 어플리케이션 코드를 검증하는 어플리케이션 코드 검증단계;를 더 포함할 수 있다.
본 발명에 의한 사물인터넷 디바이스 보안부팅 방법에서, 상기 어플리케이션 코드 검증단계는, 상기 어플리케이션 코드의 해시값을 생성하는 어플리케이션 코드 해시값 생성단계; 및 상기 어플리케이션 코드 해시값 생성단계에서 생성된 상기 어플리케이션 코드의 해시값을 상기 보안칩에 미리 저장된 검증 어플리케이션 코드 해시값과 비교하여 상기 어플리케이션 코드의 유효성을 검증하는 어플리케이션 코드 해시값 비교단계;를 더 포함할 수 있다.
본 발명에 의한 사물인터넷 디바이스 보안부팅 방법은, 상기 어플리케이션 코드 해시값 비교단계에서 상기 어플리케이션 코드의 해시값과 상기 검증 어플리케이션 코드 해시값이 서로 상이하여 상기 어플리케이션 코드의 유효성이 검증되지 않는 경우에는, 상기 키(key)와 상기 인증서(certificate)를 사용불가상태로 전환하여 상기 사물인터넷 디바이스와 상기 서버간의 통신이 불가능하도록 하는 보안칩 사용불가 전환단계;를 더 포함할 수 있다.
본 발명에 의한 사물인터넷 디바이스 보안부팅 방법에서, 상기 어플리케이션 코드 해시값 생성단계는 상기 사물인터넷 디바이스가 수행할 수 있다.
본 발명에 의하면, 보안칩이 사물인터넷 디바이스의 부트로더 코드를 검증하고, 부트로더 코드가 검증되는 경우에만 서버와의 통신을 위한 키(key)와 인증서(certificate)를 사용가능하도록 하므로, 결과적으로 부트로더 코드가 검증된 경우에만 사물인터넷 디바이스와 서버와의 통신이 가능하도록 하게 되어, 서버와의 통신이 필수적인 사물인터넷 디바이스가 루트 오브 트러스트(root of trust)를 구성할 수 없는 경우에도 보안부팅을 구현할 수 있다는 효과가 있다.
도 1은 본 발명의 일 실시예에 의한 사물인터넷 디바이스 보안부팅 시스템의 개념도.
도 2는 저장부의 내부 개념도.
도 3은 보안칩의 내부 개념도.
도 4는 본 발명의 일 실시예에 의한 사물인터넷 디바이스 보안부팅 방법의 순서도.
이하에서는 도면을 참조하여 본 발명의 구체적인 실시예를 상세하게 설명한다. 다만, 본 발명의 사상은 제시되는 실시예에 제한되지 아니하고, 본 발명의 사상을 이해하는 당업자는 동일한 사상의 범위 내에서 다른 구성요소를 추가, 변경, 삭제 등을 통하여, 퇴보적인 다른 발명이나 본 발명의 사상의 범위 내에 포함되는 다른 실시예를 용이하게 제안할 수 있을 것이나, 이 또한 본원 발명 사상의 범위 내에 포함된다고 할 것이다.
또한, 실시예의 도면에 나타나는 동일한 사상의 범위 내의 기능이 동일한 구성요소는 동일한 참조부호를 사용하여 설명한다.
도 1은 본 발명의 일 실시예에 의한 사물인터넷 디바이스 보안부팅 시스템(100)의 개념도이다. 도 1을 참조하면, 본 발명의 일 실시예에 의한 사물인터넷 보안부팅 시스템(100)은 사물인터넷 디바이스(110), 상기 사물인터넷(110) 디바이스와 데이터 송수신이 가능하도록 네트워크로 연결되는 서버(120), 및 상기 사물인터넷 디바이스(110)와 통신 프로토콜을 통해 연결되는 보안칩(130)을 포함할 수 있다.
사물인터넷 디바이스(110)는 센서를 통해서 데이터를 수집하여 서버(120)와 인터넷 등 네트워크로 연결되어 데이터를 송수신할 수 있는 장치일 수 있다. 예를 들어, 상기 사물인터넷 디바이스(110)는 수도 계량기, 가스 계량기, 각종 모니터링 장치 등일 수 있다.
이때에, 상기 사물인터넷 디바이스(110)는 코드를 저장할 수 있는 저장부(111)를 구비할 수 있는데, 상기 저장부(111)는 읽기와 쓰기가 가능한 플래시 메모리(flash memory)로 구비될 수 있다.
도 2는 저장부(111)의 내부 개념도이다. 도 2를 참조하면, 상기 저장부(111)는 부트로드 영역(111a)과 어플리케이션 영역(111b)으로 나누어질 수 있다.
여기에서, 상기 저장부(111)를 부트로드 영역(111a)과 어플리케이션 영역(111b)으로 나누기 위해 코드 빌드 시스템에서 로더 설정 파일을 이용할 수 있으며, 보다 구체적으로 gcc를 이용하는 빌드 시스템의 경우에는 ld 파일을, armcc를 이용하는 경우에는 sct 파일을 수정하여 상기 저장부(111)를 부트로드 영역(111a)과 어플리케이션 영역(111b)으로 나눌 수 있다.
상기 부트로드 영역(111a)은 부트로드 코드를 저장할 수 있고, 상기 어플리케이션 영역(111b)은 어플리케이션 코드를 저장할 수 있다. 이때에 상기 부트로드 코드는 상기 부트로드 코드 자신을 검증하기 위한 부트로더 검증 코드와 상기 어플리케이션 코드를 검증하기 위한 어플리케이션 검증 코드를 포함할 수 있다.
한편, 상기 부트로드 검증 코드와 상기 어플리케이션 검증 코드는 물리적으로 구분될 필요는 없으며, 상기 부트로드 코드에 포함되어 있기만 하면 된다.
이에 더하여, 상기 부트로드 코드는 리셋 인터럽트 핸들러(reset interrupt handler)를 더 포함할 수 있으며, 상기 사물인터넷 디바이스(110)의 부팅시에는 상기 리셋 인터럽트 핸들러(reset interrupt handler), 상기 부트로드 검증코드, 상기 어플리케이션 검증코드가 순차적으로 실행될 수 있다.
보안칩(130)은 상기 사물인터넷 디바이스(110)와 통신프로토콜을 통해 연결될 수 있는데, 예를 들어 ISO7816, I2C, SPI 를 포함하는 다양한 통신프로토콜을 통해 상기 보안칩(130)과 상기 사물인터넷 디바이스(110)가 연결될 수 있다.
이때에, 상기 보안칩(130)은 중앙처리장치(CPU)와 메모리(memory)를 구비하고, 상기 사물인터넷 디바이스(110)와는 독립적으로 동작이 가능하며, 변조방지 보안기능을 갖추고 있을 수 있다. 예를 들어, 상기 보안칩(130)은 중앙처리장치(CPU)와 메모리(memory)를 구비하고 변조방지 보안기능을 갖춘 스마트카드(smart card)일 수 있다.
도 3은 보안칩(130)의 내부 개념도이다. 도 3을 참조하면, 상기 보안칩(130)은 검증 부트로드 코드 해시를 저장하는 영역(131), 검증 어플리케이션 코드 해시를 저장하는 영역(132), 키(key)와 인증서(certificate)를 저장하는 영역(133), 및 각종 암호 함수를 수행하는 암호 엔진(134)을 포함할 수 있다.
한편, 상기 보안칩(130)은 상기 사물인터넷 디바이스(110)에 연결되기 전에 초기화 과정을 거칠 수 있는데, 초기화 과정에서 상기 사물인터넷 디바이스(110)와 상기 서버(120) 사이의 보안통신을 위해 필요한 키(key)와 인증서(certificate), 상기 부트로드 코드의 해시값인 검증 부트로드 코드 해시값, 및 상기 어플리케이션 코드의 해시값인 검증 어플리케이션 코드 해시값을 저장할 수 있다.
여기에서, 상기 보안칩(130)의 초기화 이후, 상기 보안칩(130)을 상기 사물인터넷 디바이스(110)에 연결하면, 상기 사물 인터넷 디바이스(110)가 상기 보안칩(130)에 대한 on/off가 가능할 수 있다. 아울러, 상기 보안칩(130)은 상기 사물인터넷 디바이스와는 독립적인 별도의 시스템이기 때문에 별도로 리셋을 통해서 시스템이 동작할 수 있다. 상기 보안칩(130)이 리셋을 하면 상기 보안칩(130) 내부의 부팅플레그가 초기화되어 상기 보안칩(130)은 코드 검증 명령어 이외에는 사용이 불가능할 수 있다. 다시 말해서, 상기 보압칩(130)이 리셋을 하면 상기 보안칩(130)에 저장된 키(key)와 인증서(certificate)는 사용이 불가능한 상태가 될 수 있다.
상기 사물인터넷 디바이스(110)가 리셋이 되면, 상기 부트로드 영역(111a)에 저장된 부트로드 코드가 실행되는데, 상술한 바와 같이 상기 리셋 인터럽트 핸들러(reset interrupt handler), 상기 부트로드 검증코드, 상기 어플리케이션 검증코드가 순차적으로 실행될 수 있다.
여기에서, 상기 사물인터넷 디바이스(110)가 리셋되고 부팅이 시작되면 상기 리셋 인터럽트 핸들러(reset interrupt handler)를 통해서 상기 부트로드 검증코드가 실행될 수 있다. 상기 부트로드 검증코드는 상기 보안칩(130)을 부팅시킬 수 있다. 이때에, 상기 보안칩(130)에 저장된 키(key)와 인증서(certificate)는 사용이 불가능한 상태이며, 부트로드 검증만을 수행할 수 있다.
상기 부트로드 검증코드는 상기 부트로드 코드를 읽어 상기 보안칩(130)으로 전송할 수 있다. 이때에, 상기 부트로드 코드를 전송받은 상기 보안칩(130)은, 해시 알고리즘을 통해서 상기 부트로드 코드의 해시값을 생성할 수 있으며, 생성한 상기 부트로드 코드의 해시값과 상기 검증 부트로드 코드 해시값과 비교함으로써 상기 부트로드 코드를 검증할 수 있다.
여기에서, 상기 보안칩(130)은 생성한 상기 부트로드 코드의 해시값과 미리 저장된 상기 검증 부트로드 코드 해시값이 일치하는 경우에만, 상기 보안칩(130)의 모든 기능을 사용가능하도록 활성화할 수 있다. 다시 말해서, 상기 보안칩(130)은 생성한 상기 부트로드 코드의 해시값과 미리 저장된 상기 검증 부트로드코드 해시값이 일치하는 경우에만, 상기 키(key)와 상기 인증서(certificate)를 사용가능하도록 할 수 있다.
한편, 상기 보안칩(130)이 생성한 상기 부트로드 코드의 해시값과 미리 저장된 상기 검증 부트로드 코드 해시값이 일치하지 않는다면, 상기 부트로드 검증 코드는 더 이상 부팅과정을 진행하지 않을 수 있다.
이때에, 만약 외부의 공격으로 상기 부트로드 코드가 변경되어 해시값이 일치하지 않는 경우에도 부팅과정을 진행하게 될 수 있는데, 이러한 경우에도 상기 키(Key)와 상기 인증서(certificate)가 사용이 불가능한 상태이기 때문에 상기 서버(120)와의 통신이 불가능하여 오염된 데이터를 받을 수 있는 위험으로부터 상기 서버(120)를 보호할 수 있게 된다.
또한, 생성된 상기 부트로드 코드의 해시값과 상기 검증 부트로드 코드 해시값이 일치하여, 상기 부트로드 코드의 검증이 완료되면, 상기 어플리케이션 검증코드가 실행될 수 있다.
상기 어플리케이션 검증코드는 상기 어플리케이션 영역에 저장된 상기 어플리케이션 코드를 읽어 상기 어플리케이션 코드의 해시값을 생성하여 상기 보안칩(130)으로 전송할 수 있다.
이때에, 상기 어플리케이션 코드의 해시값을 전송받은 상기 보안칩(130)은 미리 저장된 상기 검증 어플리케이션 코드 해시값과 전송받은 상기 어플리케이션 코드의 해시값을 비교하여, 상기 어플리케이션 코드의 유효성을 검증할 수 있다.
이와 같이, 어플리케이션 코드의 유효성을 검증하는 과정에서는 부트로드 코드를 검증하는 과정과는 다르게, 해시값의 생성을 사물인터넷 디바이스(110)에서 수행할 수 있다. 이를 통하여 상기 사물인터넷 디바이스(110)에서 상기 보안칩(130)으로 전송되는 데이터의 양을 최소화할 수 있어 성능 개선이 가능할 수 있으며, 특히 배터리의 사용을 줄일 수 있다는 효과가 있다.
다른 한편으로, 상기 어플리케이션 검증 코드는 상기 부트로드 코드에 포함되어 있어, 상기 부트로드 코드 검증과정에서 이미 검증이 되었기 때문에 상기 어플리케이션 코드의 해시값 생성을 상기 사물인터넷 디바이스(110)에서 수행하여도 보안상의 문제가 발생하지 않는다.
여기에서, 상기 보안칩(130)은 상기 어플리케이션 코드의 해시값과 상기 검증 어플리케이션 코드 해시값이 일치하지 않는 경우에는, 상기 보안칩(130)을 초기화 상태로 전환할 수 있다. 다시 말해서, 상기 보안칩(130)은 전송받은 상기 어플리케이션 코드의 해시값과 미리 저장된 상기 검증 어플리케이션 코드 해시값이 일치하지 않는 경우에는, 상기 키(key)와 상기 인증서(certificate)를 사용불가능하도록 할 수 있다.
상술한 바와 같이, 본 발명의 일 실시예에 의한 사물인터넷 디바이스 보안부팅 시스템(100)에 의하면, 보안칩(130)이 사물인터넷 디바이스(110)의 부트로더 코드를 검증하고, 부트로더 코드가 검증되는 경우에만 서버(120)와의 통신을 위한 키(key)와 인증서(certificate)를 사용가능하도록 하므로, 결과적으로 부트로더 코드가 검증된 경우에만 사물인터넷 디바이스(110)와 서버(120)와의 통신이 가능하도록 하게 되어, 서버(120)와의 통신이 필수적인 사물인터넷 디바이스(110)가 루트 오브 트러스트(root of trust)를 구성할 수 없는 경우에도 보안부팅을 구현할 수 있다는 효과가 있다.
이하에서는, 본 발명의 일 실시예에 의한 사물인터넷 디바이스 보안부팅 방법(S100)에 대하여 상세히 설명한다.
본 발명의 일 실시예에 의한 사물인터넷 디바이스 보안부팅 방법(S100)은 저장부(111)를 구비하는 사물인터넷 디바이스(110), 상기 사물인터넷 디바이스(110)와 네트워크로 연결되는 서버(120), 및 상기 사물인터넷 디바이스(110)와 통신 프로토콜을 통해 연결되는 보안칩(130)을 포함하는 사물인터넷 디바이스 보안부팅 시스템(100)을 이용한 사물인터넷 디바이스 보안부팅 방법일 수 있다.
도 4는 본 발명의 일 실시예에 의한 사물인터넷 디바이스 보안부팅 방법(S100)의 순서도이다.
도 4를 참조하면, 본 발명의 일 실시예에 의한 사물인터넷 디바이스 보안부팅 방법(S100)은 부트로드 코드 전송단계(S110), 부트로드 코드 해시값 생성단계(S120), 부트로드 코드 검증단계(S130), 보안칩 사용가능 전환단계(S140), 어플리케이션 코드 검증단계(S150), 및 보안칩 사용불가 전환단계(S160)를 포함할 수 있다.
부트로드 코드 전송단계(S110)는 사물인터넷 디바이스(110)에 저장된 부트로드 코드를 보안칩(120)에 전송하는 단계일 수 있다.
이때에, 상기 부트로드 코드는 상기 저장부(111)에 저장되어 있을 수 있는데, 보다 상세하게는 상기 저장부(111)는 부트로드 영역(111a)와 어플리케이션 영역(111b)로 나누어지고, 상기 부트로드 코드는 상기 부트로드 영역(111a)에 저장된 코드일 수 있다.
부트로드 코드 해시값 생성단계(S120)는 상기 보안칩(130)이 상기 사물인터넷 디바이스(110)로부터 전송받은 상기 부트로드 코드의 해시값을 생성하는 단계일 수 있다. 이때에, 상기 보안칩(130)은 보안 해시 알고리즘을 사용하여 상기 부트로드 코드의 해시값을 생성할 수 있다. 예를 들어, 상기 보안칩(130)은 SHA 알고리즘을 사용하여 상기 부트로드 코드의 해시값을 생성할 수 있다.
부트로드 코드 검증단계(S130)는 상기 보안칩(130)이 생성된 상기 부트로드 코드의 해시값과 미리 저장된 검증 부트로드 코드 해시값을 비교하여 상기 부트로드 코드의 유효성을 검증하는 단계일 수 있다.
여기에서 상기 검증 부트로드 코드 해시값은 상기 보안칩(130)이 상기 사물인터넷 디바이스(110)에 연결되기 전에 진행된 초기화 과정에서 미리 저장된 것일 수 있다.
보안칩 사용가능 전환단계(S140)는, 상기 부트로드 코드 검증단계(S130)에서 상기 부트로드 코드의 유효성이 검증된 경우에만 수행되는 단계일 수 있으며, 상기 보안칩에 저장된 키(key)와 인증서(certificate)를 상기 사물인터넷 디바이스(110)가 사용가능하도록 전환하는 단계일 수 있다.
이때에, 상기 키(key)와 인증서(certificate)는 상기 보안칩(130)이 상기 사물인터넷 디바이스(110)에 연결되기 전에 진행된 초기화 과정에서 미리 저장된 것일 수 있으며, 상기 사물인터넷 디바이스(110)와 상기 서버(120)간의 보안통신은 상기 키(key)와 인증서(certificate)를 통해서만 가능할 수 있다.
다시 말해서, 상기 보안칩 사용가능 전환단계(S140)는, 상기 부트로드 코드 검증단계(S130)에서 상기 부트로드 코드의 유효성이 검증된 경우에, 상기 보안칩(130)에 저장된 키(key)와 인증서(certificate)를 상기 사물인터넷 디바이스(110)가 사용가능하도록 전환하여, 상기 사물인터넷 디바이스(110)와 상기 서버(120)간의 보안통신이 가능하도록 하는 단계일 수 있다.
한편, 상기 부트로드 코드 검증단계(S130)에서 상기 부트로드 코드의 유효성이 검증되지 않으면 부팅과정은 종료될 수 있다.
어플리케이션 코드 검증단계(S150)는 상기 사물인터넷 디바이스에 저장된 어플리케이션 코드를 검증하는 단계일 수 있는데, 여기에서 상기 어플리케이션 코드는 상기 어플리케이션 영역(111b)에 저장된 코드일 수 있다.
아울러, 상기 어플리케이션 코드 검증단계(S150)는, 상기 어플리케이션 코드의 해시값을 생성하는 어플리케이션 코드 해시값 생성단계(S151), 및 상기 어플리케이션 코드 해시값 생성단계(S151)에서 생성된 상기 어플리케이션 코드의 해시값을 상기 보안칩(130)에 비리 저장된 검증 어플리케이션 코드 해시값과 비교하여 상기 어프릴케이션 코드의 유효성을 검증하는 어플리케이션 코드 해시값 비교단계(S152)를 포함할 수 있다.
여기에서 상기 검증 어플리케이션 코드 해시값은 상기 보안칩(130)이 상기 사물인터넷 디바이스(110)에 연결되기 전에 진행된 초기화 과정에서 미리 저장된 것일 수 있다.
한편, 상기 어플리케이션 코드 해시값 생성단계(S151)는 상기 사물인터넷 디바이스(110)에서 수행될 수 있다.
아울러, 상기 어플리케이션 코드 검증단계(S150)는 상기 부트로드 코드에 포함된 어플리케이션 검증 코드를 실행함으로써 수행될 수 있다.
따라서, 상기 어플리케이션 코드 해시값 생성단계(S151) 또한 상기 부트로드 코드 검증단계(S130)에서 검증된 상기 부트로드 코드에 포함된 상기 어플리케이션 검증 코드의 실행에 의해 수행되므로, 상기 어플리케이션 코드 해시값 생성단계(S151)가 상기 사물인터넷 디바이스(110)에서 수행되어도 보안상의 문제가 발생하지 않는다.
아와 같이, 상기 어플리케이션 코드 해시값 생성단계(S151)가 상기 사물인터넷 디바이스(110)에서 수행되므로, 이를 통하여 상기 사물인터넷 디바이스(110)에서 상기 보안칩(130)으로 전송되는 데이터의 양을 최소화할 수 있어 성능개선이 가능할 수 있으며, 특히 배터리의 사용을 줄일 수 있다는 효과가 있다.
보안칩 사용불가 전환단계(S160)는, 상기 어플리케이션 코드의 유효성이 검증되지 않는 경우, 상기 키(key)와 상기 인증서(certificate)를 사용불가상태로 전환하여 상기 사물인터넷 디바이스와 상기 서버간의 통신이 불가능하도록 하는 단계일 수 있다.
즉, 상기 보안칩 사용불가 전환단계(S160)는, 상기 어플리케이션 코드 해시값 비교단계(S152)에서 상기 어플리케이션 코드의 해시값과 상기 검증 어플리케이션 코드 해시값이 서로 상이하여 상기 어플리케이션 코드의 유효성이 검증되지 않는 경우에만 수행되는 단계일 수 있다.
상술한 바와 같이, 본 발명의 일 실시예에 의한 사물인터넷 디바이스 보안부팅 방법(S100)에 의하면, 보안칩(130)이 사물인터넷 디바이스(110)의 부트로더 코드를 검증하고, 부트로더 코드가 검증되는 경우에만 서버(120)와의 통신을 위한 키(key)와 인증서(certificate)를 사용가능하도록 하므로, 결과적으로 부트로더 코드가 검증된 경우에만 사물인터넷 디바이스(110)와 서버(120)와의 통신이 가능하도록 하게되어, 서버(120)와의 통신이 필수적인 사물인터넷 디바이스(110)가 루트 오브 트러스트(root of trust)를 구성할 수 없는 경우에도 보안부팅을 구현할 수 있다는 효과가 있다.
이상에서, 본 발명의 실시예에 대하여 상세하게 설명하였지만, 본 발명의 권리범위는 이에 한정되는 것은 아니고, 청구범위에 기재된 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 다양한 수정 및 변형이 가능하다는 것은 당 기술분야의 통상의 지식을 가진 자에게는 자명할 것이다.
100: 본 발명의 일 실시예에 의한 사물인터넷 디바이스 보안부팅 시스템
110: 사물인터넷 디바이스 111: 저장부
111a: 부트로드 영역 111b: 어플리케이션 영역
120: 서버 130: 보안칩
S100: 본 발명의 일 실시예에 의한 사물인터넷 디바이스 보안부팅 방법
S110: 부트로드 코드 전송단계
S120: 부트로드 코드 해시값 생성단계
S130: 부트로드 코드 검증단계
S140: 보안칩 사용가능 전환단계
S150: 어플리케이션 코드 검증단계
S151: 어플리케이션 코드 해시값 생성단계
S152: 어플리케이션 코드 해시값 비교단계
S160: 보안칩 사용불가 전환단계

Claims (17)

  1. 부트로드 코드를 저장하는 부트로드 영역과 어플리케이션 코드를 저장하는 어플리케이션 영역으로 나누어지는 저장부를 구비하는 사물인터넷 디바이스;
    상기 사물인터넷 디바이스와 데이터 송수신이 가능하도록 네트워크로 연결되는 서버; 및
    상기 사물인터넷 디바이스와 통신 프로토콜을 통해 연결되고, 상기 사물인터넷 디바이스와 상기 서버간의 데이터 송수신을 위한 키(key)와 인증서(certificate)를 저장하는 보안칩;을 포함하고,
    상기 보안칩은 상기 부트로드 코드를 검증하여, 상기 부트로드 코드가 검증된 경우에만 상기 키(key)와 상기 인증서(certificate)를 사용가능하도록 하는 것을 특징으로 하는 사물인터넷 디바이스 보안부팅 시스템.
  2. 제1항에 있어서,
    상기 부트로드 코드는, 리셋 인터럽트 핸들러(reset interrupt handler), 부트로드 검증 코드, 및 어플리케이션 검증 코드를 포함하고,
    상기 사물인터넷 디바이스의 부팅시에 상기 리셋 인터럽트 핸들러(reset interrupt handler), 상기 부트로드 검증 코드, 상기 어플리케이션 검증 코드가 순차적으로 실행되는 것을 특징으로 하는 사물인터넷 디바이스 보안부팅 시스템.
  3. 제2항에 있어서,
    상기 부트로드 검증 코드는 상기 부트로드 코드를 읽어 상기 보안칩에 전송하고,
    상기 보안칩은, 상기 부트로드 코드의 해시값을 생성하여 미리 저장된 검증 부트로드 코드 해시값과 비교함으로써 상기 부트로드 코드를 검증하는 것을 특징으로 하는 사물인터넷 디바이스 보안부팅 시스템.
  4. 제3항에 있어서,
    상기 부트로드 코드의 해시값과 상기 검증 부트로드 코드 해시값이 일치하는 경우에는, 상기 키(key)와 상기 인증서(certificate)를 사용가능하도록 하고,
    상기 부트로드 코드의 해시값과 상기 검증부트로드 코드 해시값이 일치하지 않는 경우에는, 상기 부트로더 검증코드가 더 이상 부팅과정을 진행하지 않도록 하는 것을 특징으로 하는 사물인터넷 디바이스 보안부팅 시스템.
  5. 제4항에 있어서,
    상기 부트로드 코드의 해시값과 상기 검증 부트로드 코드 해시값이 일치하는 경우에는, 상기 어플리케이션 검증 코드가 실행되도록 하고,
    상기 어플리케이션 검증코드는 상기 어플리케이션 코드의 해시값을 산출하여 상기 보안칩으로 전송하고,
    상기 보안칩은 상기 어플리케이션 코드의 해시값과 미리 저장된 검증 어플리케이션 코드 해시값을 비교하여 상기 어플리케이션 코드의 유효성을 검증하는 것을 특징으로 하는 사물인터넷 디바이스 보안부팅 시스템.
  6. 제5항에 있어서,
    상기 어플리케이션 코드의 해시값과 상기 검증 어플리케이션 코드 해시값이 일치하지 않는 경우에는,
    상기 보안칩이 상기 키(key)와 상기 인증서(certificate)를 사용불가 상태로 전환하는 것을 특징으로 하는 사물인터넷 디바이스 보안부팅 시스템.
  7. 제1항에 있어서,
    상기 보안칩은 ISO-7816, I2C, SPI 중 선택되는 어느 하나의 통신 프로토콜을 통해서 상기 사물인터넷 디바이스와 연결되는 것을 특징으로 하는 사물인터넷 디바이스 보안부팅 시스템.
  8. 제1항에 있어서,
    상기 저장부는 읽기와 쓰기가 가능한 플래시 메모리(flash memory)로 구비되는 것을 특징으로 하는 사물인터넷 디바이스 보안부팅 시스템.
  9. 제1항에 있어서,
    상기 보안칩은 중앙처리장치(CPU)와 메모리(memory)를 구비하고, 상기 사물인터넷 디바이스와는 독립적으로 동작이 가능하며 변조방지 보안기능을 갖춘 것을 특징으로 하는 사물인터넷 디바이스 보안부팅 시스템.
  10. 제9항에 있어서,
    상기 보안칩은 스마트카드로 구비되는 것을 특징으로 하는 사물인터넷 디바이스 보안부팅 시스템.
  11. 저장부를 구비하는 사물인터넷 디바이스, 상기 사물인터넷 디바이스와 네트워크로 연결되는 서버, 및 상기 사물인터넷 디바이스와 통신 프로토콜을 통해 연결되는 보안칩을 포함하는 사물인터넷 디바이스 보안부팅 시스템을 이용한 사물인터넷 디바이스 보안부팅 방법으로서,
    상기 사물인터넷 디바이스에 저장된 부트로드 코드를 상기 보안칩에 전송하는 부트로드 코드 전송단계;
    상기 보안칩이 전송받은 상기 부트로드 코드의 해시값을 생성하는 부트로드 코드 해시값 생성단계; 및
    상기 보안칩이 생성한 상기 부트로드 코드의 해시값과 미리 저장된 검증 부트로드 코드 해시값을 비교하여 상기 부트로드 코드의 유효성을 검증하는 부트로드 코드 검증단계;를 포함하는 사물인터넷 디바이스 보안부팅 방법.
  12. 제11항에 있어서,
    상기 부트로드 코드 검증단계에서 상기 부트로드 코드의 유효성이 검증된 경우에는, 상기 보안칩에 저장된 키(key)와 인증서(certificate)를 상기 사물인터넷 디바이스가 사용가능하도록 전환하여 상기 사물인터넷 디바이스와 상기 서버간의 보안통신이 가능하도록 하는 보안칩 사용가능 전환단계;를 더 포함하는 것을 특징으로 하는 사물인터넷 디바이스 보안부팅 방법.
  13. 제12항에 있어서,
    상기 부트로드 코드 검증단계에서 상기 부트로드 코드의 유효성이 검증되지 않은 경우에는, 부팅 과정을 종료하는 것을 특징으로 하는 사물인터넷 디바이스 보안부팅 방법.
  14. 제12항에 있어서,
    상기 보안칩 사용가능 전환단계 이후, 상기 사물인터넷 디바이스에 저장된 어플리케이션 코드를 검증하는 어플리케이션 코드 검증단계;를 더 포함하는 것을 특징으로 하는 사물인터넷 디바이스 보안부팅 방법.
  15. 제14항에 있어서,
    상기 어플리케이션 코드 검증단계는,
    상기 어플리케이션 코드의 해시값을 생성하는 어플리케이션 코드 해시값 생성단계; 및
    상기 어플리케이션 코드 해시값 생성단계에서 생성된 상기 어플리케이션 코드의 해시값을 상기 보안칩에 미리 저장된 검증 어플리케이션 코드 해시값과 비교하여 상기 어플리케이션 코드의 유효성을 검증하는 어플리케이션 코드 해시값 비교단계;를 더 포함하는 것을 특징으로 하는 사물인터넷 디바이스 보안부팅 방법.
  16. 제15항에 있어서,
    상기 어플리케이션 코드 해시값 비교단계에서 상기 어플리케이션 코드의 해시값과 상기 검증 어플리케이션 코드 해시값이 서로 상이하여 상기 어플리케이션 코드의 유효성이 검증되지 않는 경우에는, 상기 키(key)와 상기 인증서(certificate)를 사용불가상태로 전환하여 상기 사물인터넷 디바이스와 상기 서버간의 통신이 불가능하도록 하는 보안칩 사용불가 전환단계;를 더 포함하는 것을 특징으로 하는 사물인터넷 디바이스 보안부팅 방법.
  17. 제15항에 있어서,
    상기 어플리케이션 코드 해시값 생성단계는 상기 사물인터넷 디바이스가 수행하는 것을 특징으로 하는 사물인터넷 디바이스 보안부팅 방법.
KR1020220024523A 2022-02-24 2022-02-24 사물인터넷 디바이스 보안부팅 시스템 및 이를 이용한 사물인터넷 디바이스 보안부팅 방법 KR102540451B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220024523A KR102540451B1 (ko) 2022-02-24 2022-02-24 사물인터넷 디바이스 보안부팅 시스템 및 이를 이용한 사물인터넷 디바이스 보안부팅 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220024523A KR102540451B1 (ko) 2022-02-24 2022-02-24 사물인터넷 디바이스 보안부팅 시스템 및 이를 이용한 사물인터넷 디바이스 보안부팅 방법

Publications (1)

Publication Number Publication Date
KR102540451B1 true KR102540451B1 (ko) 2023-06-08

Family

ID=86765403

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220024523A KR102540451B1 (ko) 2022-02-24 2022-02-24 사물인터넷 디바이스 보안부팅 시스템 및 이를 이용한 사물인터넷 디바이스 보안부팅 방법

Country Status (1)

Country Link
KR (1) KR102540451B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180010482A (ko) * 2016-07-21 2018-01-31 경희대학교 산학협력단 사물인터넷 디바이스의 보안 방법 및 장치
KR20210050215A (ko) * 2019-10-28 2021-05-07 삼성전자주식회사 전자 장치의 고유 정보에 대한 무결성을 보장하는 전자 장치 및 그의 동작 방법
JP2021164009A (ja) * 2020-03-30 2021-10-11 大日本印刷株式会社 デバイス、セキュアエレメント及びデバイスのセキュアブート方法
KR20210156255A (ko) * 2014-04-09 2021-12-24 주식회사 아이씨티케이 홀딩스 인증 장치 및 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210156255A (ko) * 2014-04-09 2021-12-24 주식회사 아이씨티케이 홀딩스 인증 장치 및 방법
KR20180010482A (ko) * 2016-07-21 2018-01-31 경희대학교 산학협력단 사물인터넷 디바이스의 보안 방법 및 장치
KR20210050215A (ko) * 2019-10-28 2021-05-07 삼성전자주식회사 전자 장치의 고유 정보에 대한 무결성을 보장하는 전자 장치 및 그의 동작 방법
JP2021164009A (ja) * 2020-03-30 2021-10-11 大日本印刷株式会社 デバイス、セキュアエレメント及びデバイスのセキュアブート方法

Similar Documents

Publication Publication Date Title
US10318736B2 (en) Validating operating firmware of a periperhal device
US8161285B2 (en) Protocol-Independent remote attestation and sealing
US10084604B2 (en) Method of programming a smart card, computer program product and programmable smart card
US20020004905A1 (en) Method for bios authentication prior to bios execution
US9749141B2 (en) Secure boot devices, systems, and methods
CN108885668B (zh) 用于用户数据的完整性检查的方法、处理器和设备
TWI582632B (zh) 使用多重鑑別碼模組以進入安全計算環境之方法及系統、以及處理器
EP2260386A1 (en) Binding a cryptographic module to a platform
KR20110020800A (ko) 보안 소프트웨어 이미지를 갖는 집적 회로 및 그 방법
US9015454B2 (en) Binding data to computers using cryptographic co-processor and machine-specific and platform-specific keys
US11886593B2 (en) Verification of a provisioned state of a platform
CN112789574B (zh) 经由系统及电源管理微控制器的安全启动
US11755739B2 (en) Update signals
US11068599B2 (en) Secure initialization using embedded controller (EC) root of trust
KR102540451B1 (ko) 사물인터넷 디바이스 보안부팅 시스템 및 이를 이용한 사물인터넷 디바이스 보안부팅 방법
CN113647053A (zh) 用于利用至少一个导出密钥配置安全模块的方法
KR102386614B1 (ko) IoT 디바이스 펌웨어 업데이트 시스템, IoT 디바이스 펌웨어 업데이트 방법, 및 IoT 디바이스 부팅방법
CN116842517A (zh) 可信验证方法及装置
JP2016038779A (ja) 情報処理装置、情報処理システム及び処理プログラム
US20200235917A1 (en) Shared secret generation
WO2014055540A1 (en) Binding microprocessor to memory chips to prevent re-use of microprocessor
KR20230121382A (ko) 반도체 칩 및 이를 이용한 소프트웨어 보안 실행 방법
CN114077738A (zh) 快速外设组件互联设备启动方法、装置以及存储介质

Legal Events

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