KR102034934B1 - Tpm 하드웨어 보안칩을 사용하여 로컬 기기의 네트워크 접속을 제어하는 방법 - Google Patents

Tpm 하드웨어 보안칩을 사용하여 로컬 기기의 네트워크 접속을 제어하는 방법 Download PDF

Info

Publication number
KR102034934B1
KR102034934B1 KR1020170164695A KR20170164695A KR102034934B1 KR 102034934 B1 KR102034934 B1 KR 102034934B1 KR 1020170164695 A KR1020170164695 A KR 1020170164695A KR 20170164695 A KR20170164695 A KR 20170164695A KR 102034934 B1 KR102034934 B1 KR 102034934B1
Authority
KR
South Korea
Prior art keywords
local
local device
software
tpm
network connection
Prior art date
Application number
KR1020170164695A
Other languages
English (en)
Other versions
KR20190065524A (ko
Inventor
고하준
Original Assignee
고하준
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 고하준 filed Critical 고하준
Priority to KR1020170164695A priority Critical patent/KR102034934B1/ko
Publication of KR20190065524A publication Critical patent/KR20190065524A/ko
Application granted granted Critical
Publication of KR102034934B1 publication Critical patent/KR102034934B1/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/3234Cryptographic 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 additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
    • 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/3247Cryptographic 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 digital signatures
    • H04L9/3249Cryptographic 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 digital signatures using RSA or related signature schemes, e.g. Rabin scheme
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/127Trusted platform modules [TPM]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 TPM 하드웨어 보안칩을 이용한 사물인터넷 보안에 관한 것이다.

Description

TPM 하드웨어 보안칩을 사용하여 로컬 기기의 네트워크 접속을 제어하는 방법{Securing the network access of local devices by using TPM}
사물인터넷 보안
사물인터넷은 유비쿼터스 컴퓨팅을 위한 프레임워크로서 널리 사용되고 있다. 사물인터넷의 활용예로는 스마트 홈 시스템, 가로등, 교통 혼잡 탐지 및 제어, 소음 모니터링, 도시 전역의 폐기물 관리, 실시간 차량 네트워크, 스마트 도시 프레임 워크 등이 있다.
하지만 현재 사물인터넷 시장의 심각한 문제는 기능성이 보안성보다 우선 순위를 차지하고 있다는 것이다. 그 결과 현재까지 수많은 사물인터넷 공격들이 발생해왔다. 대표적인 예로써, 2015년에 미국 Crysler의 스마트카는 고속도로를 달리던 도중 원격 공격자에게 해킹당하여 오디오, 브레이크를 포함한 자동차의 물리적 컨트롤 시스템이 마비되었다. 2016년 핀란드의 스마트 빌딩들은 원격 공격으로 인하여 난방시스템이 마비되어 한겨울에 건물들이 차가운 냉기에 휩싸였다. 2017년에는 Mirai Botnet, Botnet Barrage 악성 코드들이 수만 개의 사물인터넷 기기들을 감염시킨 후 Botnet으로 악용하여서 주된 DNS 서버들에게 DDoS 공격을 가한 결과, Github, Netflix, Etsy 등을 포함한 주요 상업 웹사이트들을 마비시켰다. Brikerbot 바이러스는 감염시킨 사물인터넷들을 하드웨어 교체 없이는 두번 다시 재부팅하지 못하는 무용지물 상태로 만들어버렸다.
사물인터넷들이 공격에 취약한 가장 큰 첫번째 이유는 악성 코드의 침투 및 구동을 허용한다는 것이며, 두번째 이유는 공격에 대한 취약점이 드러난 구버전 소프트웨어들을 안전한 신버전으로 업데이트하지 않아서 구버전의 취약점을 악용한 공격들을 쉽게 허용한다는 것이다.
본 발명의 발명가는 이러한 문제를 해결하기 위하여 오랫동안 연구하고 고심한 끝에 본 발명을 완성하였다.
본 발명의 첫번째 목적은 보안 하드웨어를 사용하는 보안 방법을 제안함으로써 로컬 기기에서 모든 종류의 악성 소프트웨어가 구동되는 것을 원천적으로 놓치지 않고 감지하며 차단하는 것이다. 본 발명의 두번째 목적은 보안 하드웨어를 사용하여 로컬 기기의 소프트웨어 업데이트 상태 및 악성 코드의 구동 여부를 확인하고, 필요시 로컬 기기의 소프트웨어 업데이트, 특정 파일 삭제, 구동 억제 및 구동 순서 조정을 조치하는 것이다.
위와 같은 과제를 달성하기 위하여 본 발명은 로컬 기기의 네트워크 접속을 제어하는 방법을 제시하는데, 상기 방법은:
(a) 상기 로컬 기기가 상기 로컬 AP에게 TPM을 기반으로 하는 원격 증언(remote attestation)을 수행하는 단계;
(b-1) 상기 원격 증언(remote attestation) 기반 인증이 성공시, 상기 로컬 AP가 상기 로컬 기기의 네트워크 접속을 허용하는 단계;
(b-2) 상기 원격 증언(remote attestation) 기반 인증이 실패시, 상기 로컬 AP가 상기 로컬 기기에게 상기 인증의 실패 원인을 해소하기 위한 조치를 이행하는 단계;
를 포함하는 것을 특징으로 한다.
상기 방법의 바람직한 실시예에 있어서, 상기 로컬 엑세스포인트(AP)는 고정 설치 또는 휴대가 가능한 공유기, 게이트웨이 또는 IoT 허브일 수 있다.
또한 상기 방법의 바람직한 실시예에 있어서, 상기 (a)단계는 상기 로컬 네트워크 기기가 상기 로컬 AP에게 네트워크 접속을 요청하는 단계를 더 포함할 수 있다.
또한 상기 방법의 바람직한 실시예에 있어서, 상기 (a)단계의 원격 증언(remote attestation)은:
(a-1) 상기 로컬 기기가 상기 로컬 AP에게 소프트웨어 실행 로그와 TPM의 PCR 서명데이터(quote)를 전송하는 단계;
(a-2) 상기 로컬 엑세스포인트(AP)가 상기 TPM의 PCR 서명데이터(quote)와 소프트웨어 실행 로그의 진위성을 암호학적으로 검증하는 단계;
(a-3) 상기 로컬 엑세스포인트(AP)가 소프트웨어 실행 로그를 분석하는 단계;
를 포함할 수 있다.
또한 상기 방법의 바람직한 실시예에 있어서, 상기 (b-2)단계의 인증의 실패 원인을 해소하기 위한 조치는 상기 로컬 AP가 상기 로컬 기기에게 특정 소프트웨어 파일의 설치, 특정 소프트웨어의 구동 억제 또는 구동 순서 조정을 요청할수 있다.
또한 상기 방법의 바람직한 실시예에 있어서, 상기 (b-2)단계는 상기 로컬 AP가 상기 로컬 기기의 네트워크 접속을 불허하는 단계를 더 포함할 수 있다.
또한 상기 방법의 바람직한 실시예에 있어서, 상기 설치될 소프트웨어 파일은 로컬 AP가 로컬 기기에게 전송할 수 있다.
본 발명에 따르면 로컬 엑세스포인트(AP)는 로컬 기기의 소프트웨어들이 안전한 최신 버전이 아니거나 또는 로컬 기기 내부에서 악성 코드가 구동되고 있으면 인터넷 접속을 불허하기 때문에, 상기 로컬 기기는 외부로부터 공격에 노출되거나 로컬 기기 내부로부터 구동된 악성코드의 여파를 인터넷으로 유포시킬 수 없다. 이것은 본 발명이 특허 공개번호 10-2009-0057767 (TPM을 이용한 홈 네트워크 인증 및 제어 방법)과 근본적으로 다른 점이기도 하다. 상기 특허는 로컬 가전기기에 대한 검증이 완료되지 않은 상태에서 상기 로컬 가전기기의 인터넷 접속을 허용하기 때문에, 이 순간 동안 안전하지 않은 상태의 로컬 가전기기는 외부 네트워크로부터의 공격에 노출되거나 로컬 가전기기 내부로부터 구동된 악성코드의 여파를 인터넷으로 유포시킬 수 있다.
또한 본 발명에 따르면 로컬 기기가 원격 증언(remote attestation) 기반의 인증을 성공적으로 마친 후 인터넷을 사용하고 있는 동안에도 백그라운드에서 로컬 엑세스포인트(AP)에게 주기적으로 재원격 증언(re-remote attestation)을 할 수 있기 때문에, 그 사이에 외부로부터 로컬 기기에게 악성코드가 침입하여 구동하게 되더라도 로컬 엑세스포인트(AP)는 이를 동적으로 감지하고 로컬 기기에게 적절한 조치를 가할 수 있다.
또한 본 발명은 보안 하드웨어를 사용하여 로컬 기기의 소프트웨어 업데이트 상태 및 악성 코드의 구동 여부를 확인하기 때문에, 보안 하드웨어가 물리적으로 변조당하지 않는 이상 본 발명의 보안 무결성은 유지된다.
한편, 여기에서 명시적으로 언급되지 않은 효과라 하더라도, 본 발명의 기술적 특징에 의해 기대되는 이하의 명세서에서 기재된 효과 및 그 잠정적인 효과는 본 발명의 명세서에 기재된 것과 같이 취급됨을 첨언한다.
도1은 본 발명의 어느 실시예에 따른 장치 구성을 나타낸다.
도2는 본 발명의 어느 실시예에 따른 기기의 소프트웨어 실행 스택을 나타낸다.
도3은 본 발명의 어느 실시예에 따른 원격 증언 기반의 로컬 기기 인증 방법을 나타낸다.
도4는 본 발명의 어느 실시예에 따른 소프트웨어 실행 로그 파일을 나타낸다.
도5는 본 발명의 어느 실시예에 따른 원격 증언 기반의 로컬 기기 소프트웨어 업데이트, 특정 소프트웨어 구동 억제 조치 및 구동 순서 조정의 방법을 나타낸다.
※ 첨부된 도면은 본 발명의 기술사상에 대한 이해를 위하여 참조로서 예시된 것임을 밝히며, 그것에 의해 본 발명의 권리범위가 제한되지는 아니한다.
본 발명을 설명함에 있어서 관련된 공지기능에 대하여 이 분야의 기술자에게 자명한 사항으로서 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다.
원격 증언(remote attestation)은 원격 장치의 런타임 소프트웨어 스택을 원격으로 확인하는 기술이다. 소프트웨어 스택이란 한 장치가 부팅 이후에 실행한 모든 소프트웨어들의 순차적 실행 순서 목록이다. 원격 증언(remote attestation)은 일반적으로 암호칩인 TPM을 사용한다. 본 발명은 원격 증언(remote attestation)을 사용하여 로컬 기기의 오래된 소프트웨어를 자동으로 업데이트하고, 악성 코드의 구동 여부 및 소프트웨어들의 구동 순서 안전 여부를 확인한다. 그러나 몇 가지 난제가 있다. 로컬 기기는 누구에게 원격 증언(remote attesattion)을 해야 할까 예를 들어 로컬 기기가 신뢰할 수 있는 인터넷 서버에게 원격 증언(remote attestation)을 하는 경우는 위험하다. 왜냐하면 이 경우 로컬 기기는 원격 증언(remote attestation)을 위해서 먼저 인터넷에 연결되어야 하기 때문이다. 따라서 원격 증언(remote attesation) 프로토콜이 실행되기 전에 만일 로컬 기기가 오래된 취약한 소프트웨어를 구동하고 있는 경우, 원격 증언(remote attestation) 프로토콜이 실행되기 전에 일부 외부 공격자가 해당 소프트웨어의 취약점을 사용하여 로컬 기기에 침입하여 원격 증언(remote attestation)이 끝나기 전에 로컬 기기의 중요한 데이터를 훔칠 수 있다. 또 다른 공격 예는 장치에 이미 악성 코드가 구동중인 경우이다. 이 경우, 로컬 기기가 인터넷에 연결된 순간 원격 증언(remote attestation)이 이루어지기 전에 악성 코드가 로컬 기기에서 실행중인 원격 증명 프로그램을 강제 종료할 수 있으며, 이 경우 인터넷 서버와의 원격 증언(remote attestation)이 전혀 발생하지 않게 된다. 한편, 기기는 이미 인터넷에 접속된 상태이기 때문에 악성 코드는 인터넷을 통하여 악의적 행위들을 할 수 있다. 이러한 문제 때문에 본 발명은 게이트웨이, 공유기, IoT 허브와 같은 로컬 엑세스포인트(AP)에서 로컬 기기의 원격 증언(remote attestation)을 실행한다. 그리고 로컬 AP는 로컬 기기가 원격 증언(remote attestation) 기반의 인증 절차를 통과하기 전에는 인터넷에 연결하는 것을 허용하지 않는다. 따라서 로컬 기기는 인증이 통과되기 전까지 외부의 공격으로부터 안전하며, 또한 이미 침투된 악성 코드를 외부에 유출할 수 없다.
도1은 본 발명의 어느 실시예에 따른 장치 구성을 나타낸다. 각 로컬 기기(200)는 인터넷 접속시 로컬 AP(100)에게 원격 증언 기반의 인증 절차를 거치고, 인증 통과시 인터넷 접속 권한을 부여받아서 원격 기기들(400)과 통신을 할 수 있다. 상기 인증 절차 실패시, 로컬 AP(100)는 로컬 기기(200)에게 소프트웨어 업데이트 또는 특정 파일의 삭제/구동 억제/구동 순서 조정을 하도록 조치한다. 로컬 AP(100)는 로컬 기기(200)가 업데이트해야 할 소프트웨어들을 소프트웨어 센터(300)로부터 다운로드받은 후 로컬 기기(200)에게 제공한다. 로컬 기기(200)는 요구된 소프트웨어 업데이트들을 이행한 후, 삭제를 요청받은 파일들을 삭제하거나 구동 억제를 요청받은 파일들을 구동 억제한 후, 원격 증언(remote attesation)을 재이행한다.
다음은 원격 증언(remote attestation)에 사용되는 TPM에 대한 간략한 개요이다. TPM 칩은 내부적으로 각각 20 바이트 또는 32바이트 값을 저장하는 24 개의 PCR 레지스터와 외부 세계에 공개되지 않는 개인암호키를 가지고 있다. 개인암호키는 어떤 일이 있어도 TPM 외부로 유출되지 않는 TPM 자체의 비밀값이다. TPM은 I/O 인터페이스를 기반으로 세 가지 주요 함수 기능을 제공하는데, 이는 각각 read, extend, quote이다. read 함수는 선택된 PCR 레지스터의 현재 값을 반환한다. extend 함수는 새로운 입력값을 선택된 PCR 레지스터의 현재 값에 합치시킨(concatenate) 후, 그 값을 일방향 해시(SHA)한 다음, 그 결과를 동일한 PCR 레지스터에 새로 덮어쓴다. 예를 들어서, 특정 입력값들을 동일한 PCR 레지스터에 순차적으로 extend한다면, 상기 PCR 레지스터의 값은 이전에 extend된 모든 입력값들의 누적 요약값을 대표한다. extend 함수는 원격 증언(remote attestation)시, 기기 부팅 후 순차적으로 실행된 소프트웨어들의 순차적 누적 요약값을 대표하기 위해 사용된다. quote 함수는 선택된 PCR 레지스터의 현재 값을 TPM의 개인암호키를 사용하여 서명한 후 반환하는데, 이 값을 서명데이터(quote) 라고 명명한다. quote 함수의 입력값 중 하나는 랜덤수(nonce)인데, 이것은 요청된 PCR 레지스터 및 PCR 레지스터의 값이 이전과 같더라도 모든 quote 요청에 대해 반환된 서명값이 다르도록 강제하는 역할을 한다. 즉, 랜덤수(nonce)는 공격자가 동일한 서명데이터를 재사용하는 공격(replay attack)을 방지하기 위한 것이다.
다음은 TPM이 부팅 된 이후 기기에서 순차적 실행된 모든 프로그램들의 누적 요약값을 기록하는 방법에 대한 한 실시예이다. 도2는 어떤 기기의 런타임 소프트웨어 스택의 예이다. 상기 기기는 부팅 이후 CRTM, 바이오스, 부트 로더, OS 커널, 커널 모듈들, 시스템 프로세스들, 그리고 마지막으로 응용 프로그램 프로세스들을 순차적으로 실행하였다. 상기 각각의 프로그램 바이너리가 실행되기 전에 각 프로그램의 전체 바이너리 값은 TPM의 지정된 PCR 레지스터로 extend되어 기록된다. 그리하여 TPM의 지정된 PCR 레지스터는 기기 부팅 이후 기기에서 순차적으로 실행된 모든 소프트웨어의 전체 요약값을 대표하게 된다.
도3은 로컬 기기(200)가 로컬 AP에게 원격 증언(remote attesation)하는 방법의 실시예이다. 로컬 기기(200)는 로컬 AP(100)에게 네트워크 접속 허가를 요청한다(S101). 로컬 AP(100)는 로컬 기기(200) 에게 기기의 런타임 소프트웨어 스택을 나타내는 정보인 PCR 서명데이터(quote)를 보내도록 요청한다(S102). 앞에서 말했듯이 이때 랜덤수(nonce)는 서명값의 재사용 공격(replay attack)을 방지하기 위해 사용된다. 로컬 기기(200)의 CPU는 상기 요청을 기기 내부의 TPM칩(210)에게 전달한다(S103). TPM칩(210)은 개인암호키로 지정된 PCR 레지스터의 현재값을 서명하고, 이 서명데이터(quote)를 로컬 기기(200)의 CPU에게 전달한다(S104). 로컬 기기(200)는 서명데이터(quote)와 소프트웨어 실행 로그 파일을 로컬 AP(100)에게 전송한다(S105). 그 이후 로컬 AP(100)가 수행하는 작업(S106)은 다음과 같다. 먼저 서명데이터(quote)의 서명값이 암호학적으로 올바른지 검증한다. 그리고 로컬 AP(100)는 로컬 기기(200)의 소프트웨어 실행 로그 파일 내용이 서명데이터(quote)와 합치되는지 암호학적으로 검증한다. 그 이후 로컬 AP(100)는 소프트웨어 실행 로그 파일을 분석하여 로컬 기기(200)가 특정 소프트웨어를 업데이트해야 하는지, 특정 악성 프로그램의 실행을 억제해야 하는지, 특정 프로그램의 구동 순서를 조정해야 하는지 등의 여부를 판단한다.
도4는 로컬 기기(200)의 소프트웨어 실행 로그 파일의 예이다. 왼쪽 열은 부팅 후 순차적으로 실행된 파일 이름이고, 오른쪽 열은 파일의 일방향 해시(SHA)값이다. 설사 상기 로그 파일이 변조되더라도 TPM이 물리적으로 공격당하여 TPM의 하드웨어적 기능이 변조되지 않는 이상, 원격 증언(remote attestation) 보안의 무결성은 손상되지 않는다. 왜냐하면 상기 로그 파일이 변조되면 변조된 로그파일에 따라서 생성되는 지정된 PCR 레지스터의 최종값은 TPM에 의해 생성된 PCR 서명데이터(quote) 내용과 일치하지 않을 것이기 때문이다. 만일 로컬 기기(200)가 공격자에게 점령당하더라도 공격자는 변조된 상기 로그 파일과 합치되는 가짜 PCR 서명데이터(quote)를 생성할 수 없다. 그 이유는 공격자는 TPM(210)의 개인키를 알 수 없기 때문에 TPM(210)의 PCR 서명데이터(quote)를 임의로 생성해낼 수 없다. TPM(210)의 개인키는 어떠한 경우에도 TPM 외부에 노출되지 않기 때문이다.
로컬 AP(100)는 각 로컬 기기(200)가 원격 증언(remote attestation)한 소프트웨어 실행 로그 파일을 분석하기 위한 자체 템플릿을 관리할 수 있다. 한 바람직한 실시예에서 이 템플릿은 소프트웨어 스택의 각 실행 파일을 5 개의 집합들 중 하나로 분류한다. 첫 번째 집합은 필수 집합이다. 필수 집합은 장치에서 반드시 실행되어야만 하는 소프트웨어들의 집합이다. 예를 들어서 로컬 기기의 중요한 시작 프로그램들일 수 있다. 두 번째 집합은 우선 순위 집합인데 이것은 반드시 실행되어야 하면서도 다른 프로그램이나 스크립트들보다 먼저 실행되어야 하는 것들이다. 예를 들어, 일부 보안 소프트웨어는 다른 신뢰할 수 없는 프로그램들보다 먼저 실행되어야 할 수 있다. 세 번째 집합은 블랙리스트 집합으로, 장치에서 실행해서는 안되는 일련의 악성 코드일 수 있다. 네 번째 집합은 구버전 집합으로, 오래되어서 업데이트가 되어야만 하는 소프트웨어들의 집합이다. 예를 들어서 Heartbleed 공격에 취약한 구버전 OpenSSL 라이브러리일 수 있다. 마지막 집합은 기타 집합으로써, 이전의 4가지 집합들에 속하지 않는 다른 알려지지 않은, 또는 신뢰할 수 없는 소프트웨어들이다. 기타 집합의 경우 두 가지 정책 중 하나를 시행 할 수 있다. 첫 번째는 엄격 정책(Strict Policy)인데, 알 수 없거나 신뢰할 수 없는 프로그램을 로컬 기기(200)에서 실행하지 못하도록 하는 것이다. 이 정책은 안전하고 보수적인데, 그 이유는 로컬 기기(200)가 오직 알려진 양호한 프로그램들만 실행하도록 하기 때문이다. 반면 단점은, 알려지지 않았지만 악성 코드가 아닌 프로그램들도 로컬 기기(200)에서 실행될 수 없다는 것이다. 이 문제를 보완하기 위한 두 번째 정책은 유연 정책(Flexible Policy)인데, 이는 로컬 기기(200)에서 알 수 없는 프로그램이나 신뢰할 수 없는 프로그램의 실행을 허용하되, 대신 로컬 AP(100)가 고급 소프트웨어 실행 로그 분석기를 import하여 로컬 기기(200)의 소프트웨어 실행 로그 파일을 자세히 분석하는 것이다. 이러한 고급 분석기는 로컬 기기(200)의 소프트웨어 스택을 보다 복잡한 방식으로 분석 할 수 있다. 상기 설명한 실시예 이외에도 로컬 AP(100)가 소프트웨어 로그를 분류하고 분석할 수 있는 방법은 무궁무진하며, 이 방법들은 로컬 AP의 관리자가 직접 구성하거나, 또는 외부의 신뢰할 수 있는 보안 커뮤니티로부터 분석 탬플릿 및 분석기를 제공받아서 로컬 AP(100)에 설치할 수 있다.
도5는 로컬 AP(100)가 로컬 기기(200)로부터 원격 증언(remote attestation)을 받은 내용을 기반으로 로컬 기기(200)의 소프트웨어를 업데이트, 특정 파일 구동 억제 및 구동 순서 조정을 조치하는 방법의 바람직한 실시예이다. 로컬 기기(200)는 로컬 AP(100)에게 상기 설명한 원격 증언(remote attestation)을 실시하고, 로컬 AP(100)는 장치의 소프트웨어 실행 로그 파일을 분석한다(S100). 인증 성공시, 로컬 기기(200)는 네트워크 접속이 허용된다(S200). 인증 실패시, 로컬 AP(100)는 로컬기기(200)의 인증 실패 원인을 분석하는데, 만일 특정 소프트웨어의 업데이트가 필요한 경우, 로컬 AP(100)는 해당 소프트웨어 공급처의 URL에 접속하여 최신 소프트웨어를 다운로드한다(S110). 로컬 AP(100)소프트웨어를 다운로드한 이후에는 향후 재사용할 수 있도록 로컬 AP(100)의 로컬 저장소에 캐시 할 수 있다. 그 이후 로컬 AP(100)는 로컬 기기(200)에게 어떤 소프트웨어를 업데이트해야 하는지, 어떤 파일을 삭제하거나 구동 억제하거나 구동 순서를 바꾸어야 하는지 전달한다(S120). 업데이트해야 하는 소프트웨어가 존재하는 경우 상기 소프트웨어를 로컬 기기(200)에게 전송하여 업데이트할 수 있도록 한다(S130). 모든 조치가 끝나면 로컬 기기(S140)는 재부팅한 후, 로컬 AP(100)에게 다시 원격 증언을 한다(S100).
본 발명에서 원격 증언(remote attestation)이 실행되는 시점은 로컬 기기(200)가 부팅 후 로컬 AP(100)에게 최초 네트워크 접속 요청시일 수 있으며, 또는 로컬 AP(100)로부터 네트워크 접속을 허용받은 이후의 시점에 실행될 수도 있으며, 또는 주기적으로 실행될 수도 있다.
참고로, 본 발명의 바람직한 여러 가지 실시예에 따른 로컬 기기의 네트워크 접속을 제어하는 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독가능매체에 기록될 수 있다. 상기 컴퓨터 판독가능매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용가능한 것일 수도 있다. 컴퓨터 판독가능매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체, 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함될 수 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급언어코드를 포함한다. 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
본 발명의 보호범위가 이상에서 명시적으로 설명한 실시예의 기재와 표현에 제한되는 것은 아니다. 또한, 본 발명이 속하는 기술분야에서 자명한 변경이나 치환으로 말미암아 본 발명이 보호범위가 제한될 수도 없음을 다시 한 번 첨언한다.
.

Claims (7)

  1. 로컬 AP(Access Point)가 TPM(Trusted Platform Module)을 탑재한 로컬 기기의 네트워크 접속을 제어하는 방법에 있어서,
    (a) 상기 로컬 기기가 상기 로컬 AP에게 상기 TPM을 기반으로 하는 원격 증언(remote attestation)을 수행하는 단계;
    (b-1) 상기 원격 증언 기반 인증이 성공 시, 상기 로컬 AP가 상기 로컬 기기의 네트워크 접속을 허용하는 단계; 및
    (b-2) 상기 원격 증언 기반 인증이 실패 시, 상기 로컬 AP가 상기 인증의 실패 원인과 관련된 소프트웨어를 인식하고, 상기 인식한 소프트웨어에 대한 기설정된 요청을 상기 로컬 기기에게 전송하여 상기 실패 원인을 해소하는 단계;
    를 포함하는 로컬 AP가 로컬 기기의 네트워크 접속을 제어하는 방법.
  2. 제 1항에 있어서,
    상기 로컬 AP는 고정 설치 또는 휴대가 가능한 공유기, 게이트웨이 또는 IoT 허브인 것을 특징으로 하는 로컬 AP가 로컬 기기의 네트워크 접속을 제어하는 방법.
  3. 제 1항에 있어서,
    상기 (a)단계는 상기 로컬 기기가 상기 로컬 AP에게 네트워크 접속을 요청하는 단계; 를 더 포함하는 것을 특징으로 하는 로컬 AP가 로컬 기기의 네트워크 접속을 제어하는 방법.
  4. 제 1항에 있어서,
    상기 (a)단계의 원격 증언은
    (a-1) 상기 로컬 기기가 상기 로컬 AP에게 소프트웨어 실행 로그와 상기 TPM의 PCR 서명데이터(quote)를 전송하는 단계;
    (a-2) 상기 로컬 AP가 상기 TPM의 PCR 서명데이터와 상기 소프트웨어 실행 로그의 진위성을 암호학적으로 검증하는 단계; 및
    (a-3) 상기 로컬 AP가 상기 소프트웨어 실행 로그를 분석하는 단계;
    를 포함하는 것을 특징으로 하는 로컬 AP가 로컬 기기의 네트워크 접속을 제어하는 방법.
  5. 제 1항에 있어서,
    상기 (b-2)단계의 상기 기설정된 요청은 상기 인식한 소프트웨어의 설치, 업데이트, 구동 억제 또는 구동 순서 조정 요청에 해당하는 것을 특징으로 하는 로컬 AP가 로컬 기기의 네트워크 접속을 제어하는 방법.
  6. 제 5항에 있어서,
    상기 (b-2)단계는, 상기 실패 원인이 해소될 때까지 상기 로컬 AP가 상기 로컬 기기의 네트워크 접속을 불허하는 단계; 를 더 포함하는 것을 특징으로 하는 로컬 AP가 로컬 기기의 네트워크 접속을 제어하는 방법.
  7. 제 5항에 있어서,
    상기 설치될 소프트웨어는 상기 로컬 AP가 상기 로컬 기기에게 전송하는 것을 특징으로 하는 로컬 AP가 로컬 기기의 네트워크 접속을 제어하는 방법.
KR1020170164695A 2017-12-02 2017-12-02 Tpm 하드웨어 보안칩을 사용하여 로컬 기기의 네트워크 접속을 제어하는 방법 KR102034934B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170164695A KR102034934B1 (ko) 2017-12-02 2017-12-02 Tpm 하드웨어 보안칩을 사용하여 로컬 기기의 네트워크 접속을 제어하는 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170164695A KR102034934B1 (ko) 2017-12-02 2017-12-02 Tpm 하드웨어 보안칩을 사용하여 로컬 기기의 네트워크 접속을 제어하는 방법

Publications (2)

Publication Number Publication Date
KR20190065524A KR20190065524A (ko) 2019-06-12
KR102034934B1 true KR102034934B1 (ko) 2019-10-21

Family

ID=66845675

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170164695A KR102034934B1 (ko) 2017-12-02 2017-12-02 Tpm 하드웨어 보안칩을 사용하여 로컬 기기의 네트워크 접속을 제어하는 방법

Country Status (1)

Country Link
KR (1) KR102034934B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102058722B1 (ko) * 2019-09-10 2019-12-23 (주)온결 통신 라인 암호화 시스템
KR102353764B1 (ko) * 2020-01-29 2022-01-19 고하준 블록체인을 이용한 안전결제 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009109811A1 (en) 2008-03-07 2009-09-11 Ashish Anand Platform security model for networking solution platforms

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BRPI0615559A2 (pt) * 2005-07-20 2017-09-12 Verimatrix Inc sistema e método de autenticação de usúario de rede
US9686077B2 (en) * 2014-03-06 2017-06-20 Microsoft Technology Licensing, Llc Secure hardware for cross-device trusted applications

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009109811A1 (en) 2008-03-07 2009-09-11 Ashish Anand Platform security model for networking solution platforms

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
A remote attestation protocol with Trusted Platform Modules (TPMs) in wireless sensor networks(HAILUN TAN et al., 2015.01.28.) 1부.*

Also Published As

Publication number Publication date
KR20190065524A (ko) 2019-06-12

Similar Documents

Publication Publication Date Title
US10409978B2 (en) Hypervisor and virtual machine protection
US9984236B2 (en) System and method for pre-boot authentication of a secure client hosted virtualization in an information handling system
US9413742B2 (en) Systems, methods and apparatus to apply permissions to applications
Parno et al. Bootstrapping trust in modern computers
US7725703B2 (en) Systems and methods for securely booting a computer with a trusted processing module
RU2390836C2 (ru) Отображение достоверности из высоконадежной среды на незащищенную среду
US7712143B2 (en) Trusted enclave for a computer system
US9058504B1 (en) Anti-malware digital-signature verification
US9589128B2 (en) User trusted device for detecting a virtualized environment
US8131997B2 (en) Method of mutually authenticating between software mobility device and local host and a method of forming input/output (I/O) channel
CN106295350B (zh) 一种可信执行环境的身份验证方法、装置及终端
EP3217310B1 (en) Hypervisor-based attestation of virtual environments
US11416604B2 (en) Enclave handling on an execution platform
Wong et al. Threat modeling and security analysis of containers: A survey
CN111291381A (zh) 一种基于tcm构建信任链的方法、设备及介质
CN106411814B (zh) 一种策略管理方法及系统
KR102034934B1 (ko) Tpm 하드웨어 보안칩을 사용하여 로컬 기기의 네트워크 접속을 제어하는 방법
KR20100054940A (ko) 임베디드 리눅스에서 서명 검증 방식을 이용한 악성 프로그램 차단 장치 및 방법
Ozga et al. TRIGLAV: Remote Attestation of the Virtual Machine's Runtime Integrity in Public Clouds
KR20200041639A (ko) 차량용 소프트웨어 업데이트 장치 및 그 제어 방법
US20220393869A1 (en) Recovery keys
Qin et al. RIPTE: runtime integrity protection based on trusted execution for IoT device
KR20150089696A (ko) 접근제어와 우선순위기반 무결성 검증 시스템 및 그 방법
CN114372255A (zh) 一种基于应用软件指纹的身份认证方法及设备
Galanou et al. Matee: Multimodal attestation for trusted execution environments

Legal Events

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