KR100872175B1 - Tpm을 이용한 모바일 플랫폼의 보안 부팅 장치 및 방법 - Google Patents

Tpm을 이용한 모바일 플랫폼의 보안 부팅 장치 및 방법 Download PDF

Info

Publication number
KR100872175B1
KR100872175B1 KR1020070052241A KR20070052241A KR100872175B1 KR 100872175 B1 KR100872175 B1 KR 100872175B1 KR 1020070052241 A KR1020070052241 A KR 1020070052241A KR 20070052241 A KR20070052241 A KR 20070052241A KR 100872175 B1 KR100872175 B1 KR 100872175B1
Authority
KR
South Korea
Prior art keywords
boot
tpm
integrity
operating system
mobile platform
Prior art date
Application number
KR1020070052241A
Other languages
English (en)
Other versions
KR20080050216A (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 KR20080050216A publication Critical patent/KR20080050216A/ko
Application granted granted Critical
Publication of KR100872175B1 publication Critical patent/KR100872175B1/ko

Links

Images

Classifications

    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30094Condition code generation, e.g. Carry, Zero flag
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7209Validity control, e.g. using flags, time stamps or sequence numbers

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 TPM(Trusted Platform Module)이라는 하드웨어 보안 모듈을 이용하여 모바일 플랫폼의 안전하고 신뢰할 수 있는 부팅 과정을 제공하는 TPM을 이용한 모바일 플랫폼의 보안 부팅 방법 및 장치에 관한 것으로서, 모바일 장치에 전원이 온 되면, RTM/RTV(Root of Trusted for Measurement/Root of Trusted for Verification)가 동작하여 부트 로더 및 그의 MVA(Measurement and Verification Agent)의 무결성을 검증하여, 무결성 검증에 성공하면, RTM/RTV가 제어권을 부트 로더로 넘기고, 제어권을 받은 부트 로더가 운영체제 및 그의 MVA의 무결성을 검증한 후, 무결성 검증에 성공시 운영체제를 로드하도록 구성되며, 상기 과정에서 부트 로더 또는 운영체제의 무결성 검증에 실패하면 TPM을 사용하지 않는 비보안 모드로 부팅을 수행한 후 모바일 플랫폼의 신뢰성이 없음을 사용자에게 알리도록 구현된다.
Figure R1020070052241
모바일 플랫폼, TPM, 무결성, 부트 로더, RTM/RTV, MVA

Description

TPM을 이용한 모바일 플랫폼의 보안 부팅 장치 및 방법{Secure booting apparatus and method of mobile platform using TPM}
도 1은 본 발명이 적용된 모바일 장치의 내부 구조를 나타낸 블록도,
도 2는 본 발명에 의한 보안 부팅 장치에 있어서 안전 모드 부팅 블록의 구조를 나타낸 블록도,
도 3은 본 발명에 따른 안전 모드 부팅 블록에서 부팅 과정의 신호 흐름도, 그리고
도 4는 본 발명의 TPM을 이용한 모바일 플랫폼의 보안 부팅 방법을 나타낸 순서도이다.
본 발명은 TPM(Trusted Platform Module)이라는 하드웨어 보안 모듈을 이용하여 모바일 플랫폼의 안전하고 신뢰할 수 있는 부팅 과정을 제공하는 TPM을 이용한 모바일 플랫폼의 보안 부팅 장치 및 방법에 관한 것이다.
TPM은 TCG(Trusted Computing Group)에서 컴퓨팅 플랫폼의 무결성을 검증하기 위해 제안된 안전한 하드웨어 저장 장치를 말한다.
상기 TCG에서 정의하고 있는 신뢰된 플랫폼은 플랫폼이 원래의 의도대로 동작하고 있으며, 플랫폼의 무결성이 유지되고 있음을 증명하여 안전하게 사용 가능한 플랫폼을 의미하며, 이러한 신뢰된 플랫폼을 제공하기 위해서는 상기 TPM이 요구된다.
TCG에서 정의된 TPM의 주요 기능은 플랫폼의 무결성을 측정 및 기록하고, 이를 외부에 증명하는 기능, 키와 같은 중요한 데이터를 안전하게 저장하는 기능, 어플리케이션들이 공통으로 사용할 수 있는 암호 라이브러리 제공 기능으로 요약된다.
상기 플랫폼의 무결성 측정 및 기록은 플랫폼의 부팅 과정의 무결성 측정 및 기록뿐만 아니라, 플랫폼상에 운영체제(Operating System, 이하 OS라 약칭한다)가 올라온 후의 시스템 운영 과정에서의 무결성 측정 및 기록까지 포함되며, 외부에서 플랫폼의 무결성을 확인하고자 할 경우에는, 상기 기록된 정보를 바탕으로 무결성을 검증할 수 있는 정보를 제공해야 한다.
이에 컴퓨터 시스템에서 상기 TPM을 이용해서 보안 부팅을 수행하기 위한 여러 가지 방법들이 제안되고 있다.
이때, 일반 컴퓨터 시스템의 플랫폼과 모바일 플랫폼은 부팅 방법이 상이하기 때문에 일반 컴퓨터 시스템의 부팅 방법을 그대로 적용하기는 어렵다. 더 구체적으로 설명하면, 모바일 플랫폼의 경우 빠른 부팅을 위해 최소한의 구성 요소로 구성되어야 있어야 하며, 모바일 플랫폼의 특성을 고려한 보안 부팅 방법이 필요하다.
또한, TCG에서도 안전한 부팅을 위한 방법들을 제시하고 있지만, 이에 따른 안전한 부팅 과정을 수행중에 플랫폼의 무결성 검증이 실패하면, 부팅이 멈추게 되어 있다.
그러나 플랫폼 사용자의 입장에서는, 부팅 도중 멈추는 경우, 플랫폼의 단순한 고장으로 인해 부팅이 안 되는지, 아니면 플랫폼의 무결성 검증에 실패하여 부팅과정이 더 이상 진행되지 않는 것인지 등, 그 원인을 파악하기 쉽지 않다.
본 발명은 상기와 같은 문제점을 해결하기 위한 것으로서, 그 목적은 TPM이라는 하드웨어 보안 모듈을 이용하여 모바일 플랫폼의 안전하고 신뢰할 수 있는 부팅 과정을 제공하는 TPM을 이용한 모바일 플랫폼의 보안 부팅 장치 및 방법을 제공하는 것이다.
본 발명의 다른 목적은 모바일 플랫폼의 부팅과정에 있어서 플랫폼에 로딩되는 모든 코드에 대하여 실행되기 전에 무결성 검증 과정을 거치고 무결성 검증에 성공할 때만 제어권이 전달되도록 한 TPM을 이용한 모바일 플랫폼의 보안 부팅 방법 및 장치를 제공하는 것이다.
본 발명의 또 다른 목적은 모바일 플랫폼의 부팅 과정 중에 무결성 검증에 실패할 경우 모바일 플랫폼의 사용자에게 사용하고자 하는 모바일 플랫폼이 더 이상 신뢰할 수 없음을 알려주는 TPM을 이용한 모바일 플랫폼의 보안 부팅 방법 및 장치를 제공하는 것이다.
상기와 같은 본 발명의 목적을 달성하기 위하여, 플랫폼의 무결성 검증을 위한 TPM(Trusted Platform Module)을 포함하는 모바일 장치의 모바일 플랫폼 부팅 장치로서, 모바일 플랫폼의 전원 온 시, 가장 먼저 실행되고, 상기 TPM과 통신하여 부트 로더(Boot loader)의 무결성을 검증하고, 무결성 검증에 성공한 경우 제어권을 부트 로더(Boot loader)로 넘기는 RTM/RTV(Root of Trusted for Measurement/Root of Trusted for Verification); 상기 RTM/RTV로부터 제어권을 받으면, 하드웨어 초기화를 수행하고, 상기 TPM과 통신하여 운영체제(Operating System, OS)의 무결성을 검증하고, 무결성 검증에 성공한 경우 운영체제를 로드하며, 운영체제의 로딩이 완료되면 제어권을 운영체제로 넘기는 부트 로더를 구비한 안전 모드 부팅 블록; 및 상기 안전 모드 부팅 블록에서 부트 로더 또는 운영체제에 대한 무결성 검증에 실패한 경우, 상기 TPM을 사용하지 않고 하드웨어 초기화를 수행하고, 운영체제를 로드한 후, 운영체제의 로딩이 완료되면 제어권을 운영체제로 넘기는 비 안전 모드 부팅 블록을 포함한다.
삭제
삭제
더하여, 본 발명에 의한 모바일 플랫폼의 보안 부팅 장치에 있어서, 상기 부트 로더 및 운영체제는 무결성의 검증을 위한 해쉬값의 측정 및 검증을 수행하는 MVA(Measurement and Verification Agent)를 포함한다.
더하여, 본 발명에 의한 모바일 플랫폼의 보안 부팅 장치는, 상기 RTM/RTV는 비휘발성 메모리의 특정 주소를 안전 모드 부팅 블록의 차단 플래그 비트로 사용하여, 안전 모드 부팅 블록으로 부팅 할지 아니면, 비 안전 모드 블록으로 부팅할 지를 결정한다.
또한, 본 발명은 상기 목적을 달성하기 위한 다른 구성 수단으로서, 플랫폼의 무결성 검증을 위한 TPM(Trusted Platform Module)을 포함하는 모바일 장치의 모바일 플랫폼 부팅 방법에 있어서, 전원이 온 되면, RTM/RTV(Root of Trusted for Measurement/Root of Trusted for Verification)가 동작하여 부트 로더 및 그의 MVA(Measurement and Verification Agent)의 무결성을 검증하는 단계; 상기 부트 로더 및 그의 MVA의 무결성 검증에 성공하면, RTM/RTV가 제어권을 부트 로더로 넘기는 단계; 제어권을 받은 부트 로더가 동작하여, 운영체제 및 그의 MVA의 무결성을 검증하는 단계; 상기 운영체제 및 그의 MVA의 무결성 검증에 성공하면, 부트 로더가 운영체제를 로드하는 단계; 및 운영체제의 로딩이 완료되면, 부트 로더가 제어권을 운영체제로 넘기는 단계를 포함하는 것을 특징으로 한다.
상술한 바와 같이, 본 발명은, 모바일 플랫폼의 전원이 켜지면, 부팅에서부터 안전한 운영체제가 수행되어 사용자가 안전하게 믿고 모바일 플랫폼을 사용할 수 있도록 한다. 또한, 본 발명은 모바일 플랫폼의 부팅 단계에서 무결성이 검증되지 않으면, 즉시 TPM을 사용하는 안전한 부팅 과정을 중지하고, 비 안전 모드로 부팅 과정을 수행하여, 사용자에게 부팅 과정에 있어서 모바일 플랫폼의 무결성 검증에 실패하였음을 알려 줄 수 있다.
이하 첨부된 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식 을 가진 자가 본 발명을 용이하게 실시할 수 있는 바람직한 실시 예를 상세히 설명한다. 다만, 본 발명의 바람직한 실시 예에 대한 동작 원리를 상세하게 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다.
또한, 도면 전체에 걸쳐 유사한 기능 및 작용을 하는 부분에 대해서는 동일한 도면 부호를 사용한다.
덧붙여, 명세서 전체에서, 어떤 부분이 다른 부분과 '연결'되어 있다고 할 때, 이는 '직접적으로 연결'되어 있는 경우뿐만 아니라, 그 중간에 다른 소자를 사이에 두고 '간접적으로 연결'되어 있는 경우도 포함한다. 또한, 어떤 구성 요소를 '포함'한다는 것은, 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라, 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
도 1은 본 발명에 의한 모바일 플랫폼의 보안 부팅 장치가 적용된 모바일 장치의 구조를 개략적으로 나타낸 블록도이다.
도 1을 참조하면, 모바일 장치(10)는 다양한 기능을 수행하도록 프로그램된 복수의 응용(11)과, 상기 응용(11)의 동작을 지원하는 모바일 플랫폼(12)과, 상기 모바일 플랫폼(12)의 무결성을 검증하기 위한 MTPM(Mobile TPM, 이하 TPM이라 약칭한다)(13)을 포함한다.
전원 온 시에, 상기 모바일 플랫폼(12)에는 OS가 로딩되며, OS 로딩이 완료된후, 상기 로딩된 OS에 의하여 모바일 장치(10)에서 상기 다양한 응용(11)들의 수 행이 제어된다.
본 발명에 의한 보안 부팅 장치는, 이러한 모바일 장치가 전원이 온 되는 경우 OS의 안전한 로딩을 수행하기 위하여 제공되는 것으로서, 이를 위하여 본 발명의 보안 부팅 장치는, OS를 로딩하기까지의 전 부팅 과정을 수행하는데 있어서 상기 TPM(13)을 이용하여 각 단계별로 이후에 수행될 컴포넌트의 무결성을 측정 및 검증하는 안전 모드 부팅 블록(12a)과, TPM(13)을 사용하지 않고 부팅 과정만을 수행하여 OS를 로딩하는 비 안전 모드 부팅 블록(12b)를 포함한다.
상기 비 안전 모드 부팅 블록(12b)은 부팅 과정을 수행하는 컴포넌트들의 무결성 검증없이 부팅을 수행하는 것으로서, 보안 부팅이 아닌 일반적인 부팅을 수행하는 것이다.
상기 구성된 보안 부팅 장치는, 모바일 장치(10)에 전원이 온 되면, 우선 상기 안전 모드 부팅 블록(12a)에서 무결성을 검증하고, 무결성이 검증되면 OS 로딩을 수행하는데, 여기서 무결성 검증에 실패하는 경우, 상기 비 안전 모드 부팅 블록(12b)이 동작하여 우선 OS의 로딩을 완료하며, 이후 사용자에게 현재의 모바일 플랫폼이 신뢰할 수 없음을 알려 사용자가 적절한 조치를 취할 수 있도록 한다.
도 2는 상술한 보안 부팅 장치에 있어서, 상기 안전 모드 부팅 블록(12a)의 상세 구성을 나타낸 블록도이다.
도 2를 참조하여 상기 안전 모드 부팅 블록(12a)에 대하여 더 구체적으로 설명하면, 상기 안전 모드 부팅 블록(12a)은, 상기 TPM(13)과 I/O 인터페이스를 통해 통신이 이루어지며 전원이 켜지면 가장 먼저 실행되어 부팅을 담당하는 컴포넌트인 부트 로더(122)의 무결성을 검증하여 무결성이 검증되면 제어권을 넘기는 RTM/RTV(Root of Trusted for Measurement/Root of Trusted for Verification)(121)와, 상기 RTM/RTV(121)으로부터 제어권이 넘겨지면 플랫폼 자체의 기본 테스트 과정인 POST(Power-On-Self-Test)과정 및 하드웨어 초기화 및 운영체제(Operating System, OS) 로딩을 수행하는 부트 로더(Boot Loader)(122)를 포함한다.
그리고 상기 부트 로더(122)와 OS(123)에는 각각에 대한 무결성을 측정하고 검증하기 위한 MVA(Measurement and Verification Agent)가 포함된다.
도 3은 상술한 구조의 안전 모드 부팅 블록(12a)에서의 부팅 과정을 나타낸 신호 흐름도로서, 이를 참조하여 안전 모드의 부팅 동작을 이하에 설명한다.
그 전에, TPM(13)에 대하여 간단하게 설명하면, 상기 TPM(13)은 PCR(Platform Configuration Register)이라는 레지스터를 가지는데, 이는 모바일 플랫폼의 무결성 값을 SHA-1 해쉬 알고리즘을 통해 계산하여 저장하기 위한 것으로서, 상기 PCR에 저장되는 해쉬 값은 160비트로 이전에 저장된 값과 새롭게 측정한 값들이 순차적으로 해쉬되어 저장된다. 이렇게 저장된 PCR 값은 TPM 칩 내부에 있기 때문에 기록된 값을 임의로 변경할 수 없으므로 기록 결과를 신뢰할 수 있으며, 모바일 플랫폼의 무결성 검증 과정은 상기 PCR 값에 대한 처리 과정을 포함한다.
다시 도 3을 참조하여, 본 발명의 TPM을 사용하는 모바일 플랫폼의 보안 부팅 과정을 살펴보면, 모바일 장치에 전원이 전달되면, 가장 먼저 상기 TPM(13)내의 PCR 값이 리셋되고(S11), 동시에 상기 RTM/RTV(121)가 실행된다(S12).
상기 실행된 RTM/RTV(121)는 다음에 실행할 부트 로더(122)와 부트 로더의 MVA(122a)에 대한 무결성 검증을 위해 해쉬값을 측정한다(S12). 그리고 TPM(13)과 통신하여 상기 측정된 해쉬값을 검증한다(S13).
상기 측정된 해쉬값의 검증이 성공하면, 상기 해쉬값을 TPM(13)의 PCR에 저장하고(S14), 제어권을 부트 로더(122)로 넘긴다.
제어권을 넘겨받은 부트 로더(122)가 성공적으로 실행되면(S16), 상기 실행된 부트 로더(122)는 다음 컴포넌트인 OS(123)와 운영체제의 MVA(123a)에 대한 무결성 검증을 위해 해쉬값을 측정하고(S17), TPM(13)과 통신하여 상기 측정된 해쉬값의 검증을 수행한다(S18).
상기 측정된 OS(123) 및 그의 MVA(123a)의 해쉬값의 검증이 성공하면, 신뢰할 수 있는 것으로 판단하여 상기 측정된 해쉬값으로 TPM(13)내의 PCR값을 갱신한다(S19). 그 다음 OS(123)를 로딩하여 제어권을 OS(123)로 넘긴다(S20).
제어권을 넘겨받은 OS(123)가 성공적으로 실행되면, 안전한 부팅단계가 성공적으로 이루진 것이다.
상기에 의하여 OS(123)가 안전하게 로딩된 후, 응용(11)들이 실행되는데, 이때도 해당 응용(11)의 무결성 검증이 성공하는 경우에만 실행된다. 상기 안전한 OS(123)의 로딩된 후의 동작은 일반적으로 알려져 있으므로, 이에 대한 자세한 설명은 생략한다.
도 4은 본 발명에 따른 TPM을 사용하는 모바일 플랫폼의 보안 부팅 방법을 상세하게 나타낸 순서도로서, 이를 참조하여, 상기와 같이 구성된 본 발명의 보안 부팅 장치에 의한 부팅 과정을 설명한다.
도 4에 도시된 바와 같이, 모바일 플랫폼에 전원이 켜지면(S31), 모바일 플랫폼(12)이 신뢰할 수 있는 구성요소인 RTM/RTV(121)가 먼저 실행된다(S32).
상기 실행된 RTM/RTV(121)은 가정 먼저 TPM을 이용한 보안 부팅이 가능한 지를 확인하는데, 이는 해당 모바일 장치(10)의 비휘발성 메모리의 특정 주소에 위치한 안전 모드 부팅 차단 플래그 비트를 통해 이루어질 수 있다(S33). 이때, 상기 차단 플래그 비트의 디폴트(default) 값은 사용하는 비휘발성 메모리의 초기값과 같은데, 여기서, 비휘발성 메모리의 초기값과 같다는 것은 TPM을 이용한 보안 부팅이 가능함을 의미하며, 상기 차단 플래그 비트 값이 사용하는 비휘발성 메모리의 초기값과 다르다는 것은, TPM을 이용한 보안 부팅이 불가능함을 의미한다.
따라서 전원 온후의 처음 동작시에는 상기 차단 플래그 비트 값이 비휘발성 메모리의 초기값과 같으며, 이 경우 TPM이 사용가능한 것으로 판단하여(S34), 상기 RTM/RTV(121)가 상기 부트 로더(122)와 부트 로더의 MVA(122a)에 대한 무결성 측정 및 검증을 수행한다(S35).
상기 단계(S35)의 수행 결과 부트 로더(122)와 부트 로더의 MVA(122a)에 대한 무결성 검증에 성공하게 되면(S36), 무결성이 검증된 부트 로더(122)를 실행시킨다(S37).
상기 성공적으로 실행된 부트 로더(122)는 다음 단계인 OS(123)와 그의 MVA(123a)에 대한 무결성 측정 및 검증을 수행한다(S38).
상기 수행 결과, OS(123)와 그의 MVA에 대한 무결성 검증에 성공하면(S39), 상기 OS(123)가 실행되고(S40), 이후 제어권은 상기 무결성이 검증된 OS(123)에 넘겨지며, 수행될 응용(11)에 대한 무결성 검증 및 무결성이 검증된 응용에 대한 지원이 이루어진다(S41). 이는 모바일 플랫폼의 전원이 오프될 때까지 계속 수행된다(S45).
상술한 과정에 의하면, 모바일 플랫폼의 전원이 켜지는 순간부터 OS가 로딩되는 순간까지의 부팅 과정에 있어서, 부팅 단계별로 무결성 검증이 가능하게 되며, 그 결과 모바일 플랫폼에 대한 신뢰도 및 안전성을 높일 수 있게 된다.
그런데 상기의 부팅 과정의 단계S36 또는 S39에서, 상기 부트 로더(122) 및 그의 MVA(122a)에 대한 무결성 검증에 실패하거나, OS(123) 및 그의 MVA(123a)에 대한 무결성 검증에 실패한 경우, 상기 제어권을 갖는 RTM/RTV(121) 또는 부트 로더(122)가, TPM을 이용한 보안 부팅이 차단되도록, TPM을 이용한 보안 부팅 블록의 차단 플래그 비트 값을 비휘발성 메모리의 초기값과 다른 값으로 변경한다(S42).
상기 차단 플래그 비트는 한번 비휘발성 메모리의 초기값이 아닌 값으로 변경되면, 모바일 플랫폼 제조자에 의해서만 다시 복구가 가능하다. 따라서, 이후에는 모바일 플랫폼 제조자에 의해 복구되지 않는 한 더 이상 TPM을 이용하는 보안 부팅이 이루질 수 없다. 이에 의하면, 처음 부팅 과정에서 무결성 검증에 실패한 경우, TPM을 이용한 보안 부팅으로의 접근을 원천적으로 차단시킴으로써, 악의적인 목적을 가진 공격자가 임의로 상기 모바일 플랫폼의 부팅 과정을 변경할 수 없게 된다.
따라서, 상기 차단 플래그 비트값의 변경(S42) 후에, 다시 RTM/RTV(121)이 실행되어 TPM을 이용한 보안 부팅이 가능한 지를 판단하게 되는데(S32, S33), 이때 상기 차단 플래그 비트값이 비휘발성 메모리의 초기값과 다른 값으로 변경되었으므로, 상기 RTM/RTV(121)는 TPM을 이용한 보안 부팅이 불가능한 것으로 판단하여(S34), TPM을 통한 무결성 검증을 수행하지 않는 비 안전 모드 부팅 블록(12b)를 통해 부팅을 수행하고(S43), 부팅 완료 후 사용자에게 사용하고자 하는 모바일 플랫폼의 안전한 부팅이 실패하였음, 즉 해당 모바일 플랫폼을 신뢰할 수 없음을 알린다(S44). 이후 해당 모바일 장치(10)의 전원을 오프시켜 무결성이 검증되는 않은 모바일 플랫폼의 동작을 차단할 수 있다.
그 결과, 모바일 플랫폼의 부팅시에 무결성 검증에 실패하더라도, 부팅의 실패 원인이 무결성 검증에 있음을 사용자에게 알려줌으로써, 사용자가 부팅의 실패 원인을 파악하여 신속하게 조치할 수 있게 된다.
이상에서 설명한 본 발명은 전술한 실시 예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경할 수 있다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 당업자에게 있어 명백할 것이다.
상술한 바에 의하면, 본 발명은 모바일 플랫폼에서 안전하고 신뢰할 수 있는 부팅의 수행을 제공하여 사용자가 사용하고자 하는 모바일 플랫폼을 안전하게 믿고 사용할 수 있도록 하는 효과가 있다.
또한, 본 발명은 모바일 플랫폼의 부팅 과정 중에서 발생할 수 있는 무결성 검증의 실패로 더 이상의 부팅 과정이 진행되지 않았을 때, 사용자가 모바일 플랫폼의 단순한 고장인지 아니면 무결성 검증 과정에서 실패하여 부팅이 진행되지 않는 것인지를 알 수 있도록 함으로써, 사용자의 편의를 도모할 수 있다.
또한, 본 발명은 모바일 플랫폼의 부팅 과정 중 무결성 검증에서 실패가 발생하면, TPM을 사용하는 안전한 부팅 블록을 차단하도록 하고, 오직 모바일 플랫폼 제조자를 통해서만 신뢰할 수 있는 부팅 과정을 복구할 수 있도록 하여 공격자가 임의로 모바일 플랫폼의 부팅과정을 변경할 수 없도록 하는 효과가 있다.

Claims (15)

  1. 플랫폼의 무결성 검증을 위한 TPM(Trusted Platform Module)을 포함하는 모바일 장치의 모바일 플랫폼 부팅 장치에 있어서,
    모바일 플랫폼의 전원 온 시, 가장 먼저 실행되고, 상기 TPM과 통신하여 부트 로더(Boot loader)의 무결성을 검증하고, 무결성 검증에 성공한 경우 제어권을 부트 로더(Boot loader)로 넘기는 RTM/RTV(Root of Trusted for Measurement/Root of Trusted for Verification);
    상기 RTM/RTV로부터 제어권을 받으면, 하드웨어 초기화를 수행하고, 상기 TPM과 통신하여 운영체제(Operating System, OS)의 무결성을 검증하고, 무결성 검증에 성공한 경우 운영체제를 로드하며, 운영체제의 로딩이 완료되면 제어권을 운영체제로 넘기는 부트 로더를 구비한 안전 모드 부팅 블록; 및
    상기 안전 모드 부팅 블록에서 부트 로더 또는 운영체제에 대한 무결성 검증에 실패한 경우, 상기 TPM을 사용하지 않고 하드웨어 초기화를 수행하고, 운영체제를 로드한 후, 운영체제의 로딩이 완료되면 제어권을 운영체제로 넘기는 비 안전 모드 부팅 블록을 포함하는 TPM을 이용한 모바일 플랫폼의 보안 부팅 장치.
  2. 제1항에 있어서,
    상기 부트 로더 및 운영체제는 무결성의 검증을 위한 해쉬값의 측정 및 검증을 수행하는 MVA(Measurement and Verification Agent)를 포함하는 것을 특징으로 하는 TPM을 이용한 모바일 플랫폼의 보안 부팅 장치.
  3. 제2항에 있어서,
    상기 RTM/RTV와 부트 로더는, 각각 부트 로더와 운영체제에 대한 무결성 검증이 성공하면, 상기 무결성 검증시 측정된 해쉬값을 상기 TPM의 PCR(Platform Configuration Register)에 기록하는 것을 특징으로 하는 TPM을 이용한 모바일 플랫폼의 보안 부팅 장치.
  4. 제2항에 있어서,
    상기 RTM/RTV 및 부트 로더는 각각 부트 로더와 운영체제의 무결성 검증시, 해당 부트 로더와 운영체제에 구비된 MVA의 무결성 검증까지 수행하는 것을 특징으로 하는 TPM을 이용한 모바일 플랫폼의 보안 부팅 장치.
  5. 삭제
  6. 제4항에 있어서,
    상기 RTM/RTV는 비휘발성 메모리의 특정 주소를 안전 모드 부팅 블록의 차단 플래그 비트로 사용하여, 안전 모드 부팅 블록으로 부팅 할지 아니면, 비 안전 모드 블록으로 부팅할 지를 결정하는 것을 특징으로 TPM을 이용한 모바일 플랫폼의 보안 부팅 장치.
  7. 제6항에 있어서,
    상기 RTM/RTV는 상기 안전 모드 부팅 블록의 차단 플래그 비트 값이, 비휘발성 메모리의 초기값과 같으면 안전 모드 부팅 블록을 통한 부팅 과정을 수행하고, 비휘발성 메모리의 초기값과 다르면 비 안전 모드 부팅 블록을 통한 부팅 과정이 수행되도록 제어하는 TPM을 이용한 모바일 플랫폼의 보안 부팅 장치.
  8. 제6항에 있어서,
    상기 비 안전 모드 부팅 블록은 운영체제의 로딩이 완료된 후, 사용자에게 모바일 플랫폼이 신뢰할 수 없음을 알리는 것을 특징으로 하는 TPM을 이용한 모바일 플랫폼의 보안 부팅 장치.
  9. 플랫폼의 무결성 검증을 위한 TPM(Trusted Platform Module)을 포함하는 모바일 장치의 모바일 플랫폼 부팅 방법에 있어서,
    전원이 온 되면, RTM/RTV(Root of Trusted for Measurement/Root of Trusted for Verification)가 동작하여 부트 로더 및 그의 MVA(Measurement and Verification Agent)의 무결성을 검증하는 단계;
    상기 부트 로더 및 그의 MVA의 무결성 검증에 성공하면, RTM/RTV가 제어권을 부트 로더로 넘기는 단계;
    제어권을 받은 부트 로더가 동작하여, 운영체제 및 그의 MVA의 무결성을 검증하는 단계;
    상기 운영체제 및 그의 MVA의 무결성 검증에 성공하면, 부트 로더가 운영체제를 로드하는 단계; 및
    운영체제의 로딩이 완료되면, 부트 로더가 제어권을 운영체제로 넘기는 단계를 포함하는 TPM을 이용한 모바일 플랫폼의 보안 부팅 방법.
  10. 제9항에 있어서,
    상기 RTM/RTV가 부트 로더 및 그의 MVA에 대한 무결성 검증을 수행하기 전에, TPM을 이용한 안전 모드 부팅 여부를 판단하여, 안전 모드 부팅을 하는 것으로 판단되면 상기 부트 로더 및 그의 MVA에 대한 무결성 검증을 수행하도록 하는 단계를 더 포함하는 것을 특징으로 하는 TPM을 이용한 모바일 플랫폼의 보안 부팅 방법.
  11. 제10항에 있어서, 상기 안전 모드 부팅 여부를 판단하는 단계는,
    모바일 장치에 구비된 비휘발성 메모리의 특정 주소를 안전 모드 부팅 차단 플래그로 정하고, 안전 모드 부팅 블록 차단 플래그 값에 따라서 안전 모드 부팅 여부를 판단하는 단계임을 특징으로 하는 TPM을 이용한 모바일 플랫폼의 보안 부팅 방법.
  12. 제11항에 있어서, 상기 안전 모드 부팅 여부를 판단하는 단계는,
    상기 안전 모드 부팅 차단 플래그 값이 비휘발성 메모리의 초기값과 같으면, 안전 모드 부팅을 하는 것으로, 비휘발성 메모리의 초기값과 다르면 안전 모드 부팅을 수행하지 않도록 하는 것을 특징으로 하는 TPM을 이용한 모바일 플랫폼의 보안 부팅 방법.
  13. 제12항에 있어서,
    상기 RTM/RTV가 부트 로더 및 그의 MVA에 대한 무결성 검증에 실패하거나, 상기 부트 로더가 운영체제 및 그의 MVA에 대한 무결성 검증에 실패하는 경우 상기 안전 모드 부팅 차단 플래그 값을 비휘발성 메모리의 초기값과 다른 값으로 변경하는 단계를 더 포함하는 것을 특징으로 하는 TPM을 이용한 모바일 플랫폼의 보안 부팅 방법.
  14. 제13항에 있어서,
    상기 안전 모드 부팅 차단 플래그 값이 비휘발성 메모리의 초기값과 다른 경우 TPM을 사용하지 않는 비 안전 모드로 하드웨어 초기화 및 운영체제를 로드하는 단계를 더 포함하는 것을 특징으로 하는 TPM을 이용한 모바일 플랫폼의 보안 부팅 방법.
  15. 제14항에 있어서,
    상기 비 안전 모드로 하드웨어 초기화 및 운영체제 로딩이 완료되면, 사용자에게 모바일 플랫폼을 신뢰할 수 없음을 알리는 단계를 더 포함하는 것을 특징으로 하는 TPM을 이용한 모바일 플랫폼의 보안 부팅 방법.
KR1020070052241A 2006-12-01 2007-05-29 Tpm을 이용한 모바일 플랫폼의 보안 부팅 장치 및 방법 KR100872175B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20060120783 2006-12-01
KR1020060120783 2006-12-01

Publications (2)

Publication Number Publication Date
KR20080050216A KR20080050216A (ko) 2008-06-05
KR100872175B1 true KR100872175B1 (ko) 2008-12-09

Family

ID=39805712

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070052241A KR100872175B1 (ko) 2006-12-01 2007-05-29 Tpm을 이용한 모바일 플랫폼의 보안 부팅 장치 및 방법

Country Status (1)

Country Link
KR (1) KR100872175B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9300650B2 (en) 2011-10-13 2016-03-29 Ictk Co., Ltd. Information security system in smart mobile environment
KR20160130790A (ko) * 2014-03-25 2016-11-14 후아웨이 테크놀러지 컴퍼니 리미티드 신뢰 커널 시작 방법 및 장치
KR20200057439A (ko) * 2018-11-16 2020-05-26 순천향대학교 산학협력단 자원이 충분한 환경에서의 무결성 자체 검증 방안

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101485468B1 (ko) * 2008-11-18 2015-01-26 삼성전자주식회사 휴대 장치의 해킹 방지를 위한 부팅 장치 및 방법
WO2013055059A1 (ko) * 2011-10-13 2013-04-18 (주)아이씨티케이 스마트 모바일 환경에서의 정보 보안 시스템
KR102183852B1 (ko) * 2013-11-22 2020-11-30 삼성전자주식회사 전자 장치의 무결성 검증을 위한 방법, 저장 매체 및 전자 장치
KR101968382B1 (ko) * 2016-07-14 2019-04-11 경희대학교 산학협력단 Tpm 기반의 사용자 장치 및 이를 이용한 부팅 방법
US11689365B2 (en) 2019-07-17 2023-06-27 Vmware, Inc. Centralized volume encryption key management for edge devices with trusted platform modules
KR102395258B1 (ko) * 2020-10-15 2022-05-10 한국전자통신연구원 부트 메모리 버스의 경로 절체 기능을 이용한 시큐어 부팅 방법 및 이를 이용한 장치
CN116700061B (zh) * 2023-04-12 2024-05-03 广东为辰信息科技有限公司 一种基于安全启动技术的快速启动方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050132226A1 (en) 2003-12-11 2005-06-16 David Wheeler Trusted mobile platform architecture
KR20060094171A (ko) * 2005-02-23 2006-08-29 삼성전자주식회사 모바일 플랫폼을 위한 메모리의 무결성을 원격으로 확인하는 확인장치 및 그 시스템 그리고 무결성 확인 방법
KR100646350B1 (ko) 2005-06-09 2006-11-23 에스케이 텔레콤주식회사 보안 플랫폼을 탑재한 이동통신 단말기에서 보안 데이터를공유하는 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050132226A1 (en) 2003-12-11 2005-06-16 David Wheeler Trusted mobile platform architecture
KR20060094171A (ko) * 2005-02-23 2006-08-29 삼성전자주식회사 모바일 플랫폼을 위한 메모리의 무결성을 원격으로 확인하는 확인장치 및 그 시스템 그리고 무결성 확인 방법
KR100646350B1 (ko) 2005-06-09 2006-11-23 에스케이 텔레콤주식회사 보안 플랫폼을 탑재한 이동통신 단말기에서 보안 데이터를공유하는 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
논문:한국정보보호학회지*

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9300650B2 (en) 2011-10-13 2016-03-29 Ictk Co., Ltd. Information security system in smart mobile environment
KR20160130790A (ko) * 2014-03-25 2016-11-14 후아웨이 테크놀러지 컴퍼니 리미티드 신뢰 커널 시작 방법 및 장치
US10032030B2 (en) 2014-03-25 2018-07-24 Huawei Technologies Co., Ltd. Trusted kernel starting method and apparatus
KR101894926B1 (ko) * 2014-03-25 2018-09-04 후아웨이 테크놀러지 컴퍼니 리미티드 신뢰 커널 시작 방법 및 장치
KR20200057439A (ko) * 2018-11-16 2020-05-26 순천향대학교 산학협력단 자원이 충분한 환경에서의 무결성 자체 검증 방안
KR102176117B1 (ko) * 2018-11-16 2020-11-09 순천향대학교 산학협력단 자원이 충분한 환경에서의 무결성 자체 검증 방안

Also Published As

Publication number Publication date
KR20080050216A (ko) 2008-06-05

Similar Documents

Publication Publication Date Title
KR100872175B1 (ko) Tpm을 이용한 모바일 플랫폼의 보안 부팅 장치 및 방법
US7921286B2 (en) Computer initialization for secure kernel
US10534620B2 (en) Systems and methods for establishing core root of trust measurement (CRTM) for basic input/output (BIOS) image recovery
US8225101B2 (en) Cross validation of data using multiple subsystems
US8904162B2 (en) Methods and apparatus for performing secure BIOS upgrade
CN103718165B (zh) Bios闪存攻击保护和通知
EP2854066A1 (en) System and method for firmware integrity verification using multiple keys and OTP memory
JP6054908B2 (ja) 変数セットを修復する方法、コンピュータ・プログラムおよびコンピュータ
US20130125244A1 (en) Platform integrity verification system and information processing device
EP2727040B1 (en) A secure hosted execution architecture
WO2014131652A1 (en) A method for software anti-rollback recovery
JP2014513348A (ja) 統合拡張ファームウェアインタフェース準拠計算装置内のシステムセキュリティデータベースおよびファームウェア格納部を変更する要求を処理するシステムおよび方法
EP3076324B1 (en) Information processing apparatus and method of controlling the apparatus
CN110874467B (zh) 信息处理方法、装置、系统以及处理器、存储介质
US20210367781A1 (en) Method and system for accelerating verification procedure for image file
CN109804378A (zh) Bios安全
US20160350537A1 (en) Central processing unit and method to verify mainboard data
US10846421B2 (en) Method for protecting unauthorized data access from a memory
JP5465738B2 (ja) システム・ファームウェアの更新方法およびコンピュータ
CN112231649A (zh) 一种固件加密处理方法、装置、设备及介质
CN112988262B (zh) 一种在目标平台上启动应用程序的方法及装置
TW202318196A (zh) 韌體映像檢查系統、韌體映像檢查方法及電腦系統
CN113360914A (zh) 一种bios更新的方法、系统、设备及介质
TWI467484B (zh) 自我驗證選用唯讀記憶體之基本輸出入系統及其驗證方法
CN113515779A (zh) 文件的完整性校验方法、装置、设备及存储介质

Legal Events

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

Payment date: 20121031

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20130730

Year of fee payment: 19