KR101897605B1 - 휴대 단말기의 무결성 보호 방법 및 장치 - Google Patents

휴대 단말기의 무결성 보호 방법 및 장치 Download PDF

Info

Publication number
KR101897605B1
KR101897605B1 KR1020120019095A KR20120019095A KR101897605B1 KR 101897605 B1 KR101897605 B1 KR 101897605B1 KR 1020120019095 A KR1020120019095 A KR 1020120019095A KR 20120019095 A KR20120019095 A KR 20120019095A KR 101897605 B1 KR101897605 B1 KR 101897605B1
Authority
KR
South Korea
Prior art keywords
integrity
entity
sub
modulation
area
Prior art date
Application number
KR1020120019095A
Other languages
English (en)
Other versions
KR20130097444A (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 KR1020120019095A priority Critical patent/KR101897605B1/ko
Priority to US13/774,435 priority patent/US9235709B2/en
Publication of KR20130097444A publication Critical patent/KR20130097444A/ko
Application granted granted Critical
Publication of KR101897605B1 publication Critical patent/KR101897605B1/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
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Telephone Function (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

본 발명은 휴대 단말기의 무결성 보호 방법 및 장치에 관한 것으로, 본 발명의 인증되지 않은 리소스 접근을 차단하는 신뢰 영역과 상기 신뢰 영역을 제외한 나머지의 일반 영역을 구비하는 휴대 단말기의 무결성 보호 방법은 상기 휴대 단말기의 파워 온(power on)을 감지하는 단계, 상기 일반 영역의 신뢰된 임의의 상위 엔티티가 상기 상위 엔티티에 대해 하위 계층에 위치하는 제1 하위 엔티티의 무결성을 확인하는 단계, 및 상기 제1 하위 엔티티의 무결성 변조 감지 시, 상기 상위 엔티티가 변조 감지 신호를 상기 신뢰 영역에 전송하는 단계를 포함하는 것을 특징으로 한다.

Description

휴대 단말기의 무결성 보호 방법 및 장치{METHOD AND APPARATUS FOR SECURING INTEGRITY OF MOBILE TERMNINAL}
본 발명은 휴대 단말기에 관한 것으로, 보다 구체적으로 휴대 단말기의 무결성 보호 방법 및 장치에 관한 것이다.
종래의 휴대 단말기가 통화기능과 문자 발신/수신 기능만을 구비하였다면, 최근의 휴대 단말기는 각종 기능들을 내포하게 되었다. 즉, 최근의 휴대 단말기는 각종 뱅킹, 주식 거래, 컨텐츠 재생, 게임 등의 다양한 기능을 구비한다.
휴대 단말기는 전원 온(powerr on) 시점부터 운영 체제 등을 읽어들여 시동을 거는 부트(boot) 작업을 진행한다. 이 경우, 보안 부트는 신뢰성이 검증된 상위 엔티티가 하위 엔티티를 검증하고, 이상이 없는 경우 즉 변조되지 않은 경우 하위 엔티티를 실행하는 부트 방법이다. 일반적으로 보안 부트는 휴대 단말기의 OS, 커널 등이 변조되거나 휴대 단말기에 악성 코드가 설치된 경우, 휴대 단말기 사용자에 대한 피해 발생을 방지하고 지적 재산권 침해 등을 금지하기 위해 사용된다.
그러나 일부 단말은 커널이 변조되어도 부트가 진행되어 보안 부트 체인(Secure Boot Chain)은 부트로터 까지만 진행된다. 따라서 보안 부트가 보장되지 않는다.
또한, 악성 코드가 설치되어 휴대 단말기의 정상적인 동작을 방해하거나, 금융 거래 및 개인 정보를 부당하게 탈취할 수 있다. 또한, 정당한 대가를 지불하고 컨텐츠를 사용해야 하는 DRM(Digital Right Management)의 경우 정당한 결제 라인을 무너뜨릴 수 있다.
이에 따라, 휴대 단말기의 각 엔티티들에 대한 무결성을 보증할 수 있는 방법에 대한 연구가 필요한 실정이다.
본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로서, 보안 영역(Secure World)의 하드웨어 기술을 이용해 일반 영역(Normal World)의 무결성을 보증할 수 있는 방법 및 장치를 제공하는 것을 그 목적으로 한다.
보다 구체적으로 본 발명은 휴대 단말기 부팅 과정에서 최상위 엔티티인 부트로더를 시작으로 하위에 존재하는 모든 엔티티들 중 어느 하나의 엔티티들에 대한 무결성이 보증되지 않으면 이를 보고하는 방법을 제공하는 것을 그 목적으로 한다.
상기와 같은 문제점을 해결하기 위한 본 발명의 인증되지 않은 리소스 접근을 차단하는 신뢰 영역과 상기 신뢰 영역을 제외한 나머지의 일반 영역을 구비하는 휴대 단말기의 무결성 보호 방법은 상기 휴대 단말기의 파워 온(power on)을 감지하는 단계, 상기 일반 영역의 신뢰된 임의의 상위 엔티티가 상기 상위 엔티티에 대해 하위 계층에 위치하는 제1 하위 엔티티의 무결성을 확인하는 단계, 및 상기 제1 하위 엔티티의 무결성 변조 감지 시, 상기 상위 엔티티가 변조 감지 신호를 상기 신뢰 영역에 전송하는 단계를 포함하는 것을 특징으로 한다.
한편, 본 발명의 실시예에 따르면, 부트로더, 커널, 커널 내 init 프로세스, ICD 데몬, 무결성 검사 대상 리스트, 리스트에 나열된 대상 모듈의 순서로, 우선 기재된 엔티티가 상위 엔티티, 나중에 기재된 엔티티가 하위 엔티티로 지칭될 수 있다.
또한, 본 발명의 무결성 보호 장치는 인증되지 않은 리소스 접근을 차단하는 신뢰 영역과 상기 신뢰 영역을 제외한 나머지의 일반 영역을 구비하는 메모리, 상기 무결성 보호 장치의 파워 온 감지 시, 부트 과정을 제어하는 부트 관리부, 및 상기 일반 영역의 신뢰된 임의의 상위 엔티티가 상기 상위 엔티티에 대해 하위 계층에 위치하는 제1 하위 엔티티의 무결성을 확인하고, 상기 제1 하위 엔티티의 무결성 변조 감지 시 상기 상위 엔티티가 변조 감지 신호를 상기 신뢰 영역에 전송하도록 제어하는 신뢰 영역 관리부를 포함하는 것을 특징으로 한다.
본 발명에 따르면 일반 영역 내에서도 무결성 보증이 가능하기 때문에 DRM(Digital Right Management), 보안 서비스, 편의 서비스 증대에 도움을 줄 수 있다.
도 1은 휴대 단말기의 메모리에 저장된 바이너리 파일 구조를 도시하는 도면.
도 2는 본 발명의 실시예에 따른 부트 과정을 도시하는 순서도.
도 3은 본 발명의 실시예에 따른 무결성 보장 방법의 수행 과정을 도시하는 순서도.
도 4는 본 발명의 실시예에 따른 무결성 보장 방법의 수행 과정을 도시화한 도면.
도 5는 휴대 단말기의 무결성 보증 여부에 따른 어플리케이션 실행 과정을 도시하는 순서도.
도 6은 본 발명의 실시예에 따라 휴대 단말기의 무결성 보증 여부에 따라 어플리케이션을 실행 또는 실행 거부하는 예시 및 이의 순서를 도시하는 도면.
도 7은 본 발명의 실시예에 따른 휴대 단말기의 내부 구조를 도시하는 블록도.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예들을 상세히 설명한다. 이 때, 첨부된 도면에서 동일한 구성 요소는 가능한 동일한 부호로 나타내고 있음에 유의해야 한다. 또한 본 발명의 요지를 흐리게 할 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략할 것이다.
도 1은 휴대 단말기의 메모리에 저장된 바이너리 파일 구조를 도시하는 도면이다.
도 1에서 도시되는 바와 같이 바이너리 파일은 부트로더(110), 커널(120), 사용자 영역(130) 등으로 구분될 수 있고, 사용자 영역(130)은 구글의 안드로이드와 같은 휴대 단말기 플랫폼(131), 어플리케이션들이 저장되는 사용자 데이터(32) 등으로 구분될 수 있다.
보안 부트는 신뢰성이 검증된 상위 엔티티가 하위 엔티티를 검증하고, 이상이 없는 경우 즉 변조되지 않은 경우 하위 엔티티를 실행하는 부트 방법이다. 도 1을 참조하여 설명하면, 하드웨어(H/W)에 저장된 부트로더 서명은 부트로더(110)에 대한 무결성을 보증한다. 그러면 부트로더(110)는 커널(120)의 변조 여부를 판단한다.
그런데, 현재 휴대 단말기에서 구현 중인 보안 부트 과정은 비록 커널(120)의 변조가 감지되어도 별도의 동작을 수행하지 않고 부트 과정을 수행한다. 따라서 현재 구현 중인 대부분의 보안 부트 과정은 완전하게 동작하지 않고 있다.
구글 사의 안드로이드 플랫폼의 경우, 안드로이드가 오픈 소스이기 때문에 사용자가 커스터마이징한 커널 또는 플랫폼 바이너리가 배포되어 휴대 단말기에 다운로드되어 부팅이 가능하다. 또한, 안드로이드 같은 경우 오픈 소스이기 때문에 공격자가 취약점을 발견하여 루팅 기법이 계속하여 등장한다. 이에 따라, 사용자 롬(ROM)과 루팅에 의해 리눅스 커널, 안드로이드 플랫폼, 안드로이드 어플리케이션까지 변조가 가능한 상황에 이르렀다.
이러한 경우, 악성 코드가 설치되어 휴대 단말기의 정상적인 동작을 방해하거나, 금융 거래 및 개인 정보를 부당하게 탈취할 수 있다. 또한, 정당한 대가를 지불하고 컨텐츠를 사용해야 하는 DRM의 경우 결제 라인을 무너뜨릴 수 있다. 이에 따라, 이하에서 기술되는 본 발명의 실시예에서는 휴대 단말기 각 엔티티들에 대한 무결성을 보증할 수 있는 방법을 제안한다.
도 2는 본 발명의 실시예에 따른 부트 과정을 도시하는 순서도이다.
도 2에서 도시되는 바와 같이, 휴대 단말기의 메모리 영역은 일반 영역(Normal World, 210)과 신뢰 영역(Secure World 또는 Trust Zone, 220)으로 구분된다.
상기 신뢰 영역(220)은 하드웨어 기술로 보호되는 영역으로 일반 영역과는 물리적으로 구분되며, 합법적으로 허용되지 않은 리소스 접근을 차단하고 무결성이 보증되는 접근만을 허용하는 영역이다. 반면, 일반 영역(210)은 신뢰 영역(220) 이외의 모든 환경을 의미하며, 예를 들어 리눅스 커널, 안드로이드 플랫폼 등이 상기 일반 영역(210)에 포함된다.
도 2를 참조하여 설명하면, 부트로더(110), 커널(120), 플랫폼(131), 사용자 데이터(32) 등 각각의 엔티티들은 부트 과정에서 하위 엔티티의 무결성을 확인한다. 그리고 하위 엔티티의 변조가 발견되면 해당 상위 엔티티는 이를 신뢰 영역에 보고한다.
보다 구체적으로, 휴대 단말기의 전원이 온(power on)되면 휴대 단말기의 특정 하드웨어에 기록된 값을 부트로더 소프트웨어와 비교하여 이상이 없는 경우 부트로더(110)를 실행한다. 그러면 부트로더(110)는 커널(120)의 무결성을 확인한다. 무결성을 확인한다는 것은 특정 제조사 또는 인증된 제3자의 서명이 변조되었는지 여부를 확인하는 것을 의미하며, 이하에서는 무결성을 확인한다는 의미와 서명이 변조되었는지 확인한다는 의미를 동일한 것으로 사용하도록 한다.
만약, 변조가 되었다면 부트로더(110)는 커널이 변조되었음을 알리는 신호(False)(이하, '변조 알림 신호')를 신뢰 영역(220)에 전달한다. 실제로, 변조 알림 신호는 신뢰 영역(220)으로의 임의 접근을 제안하는 과정을 관리하는 신뢰 영역 OS(또는, 컨트롤러)에 전달되도록 구현될 수 있다.
변조되지 않은 경우 또는 상기 변조 알림 신호를 전달한 후, 부트로더(110)의 하위 엔티티인 커널(120)은 자신의 하위 엔티티인 플랫폼(131)의 변조 여부를 확인한다. 그리고 부트로더(110)가 수행한 것과 마찬가지로, 커널(1200은 플랫폼(131)의 변조 여부에 따라 변조 알림 신호를 전달한다.
그리고 동일한 절차가 플랫폼(131) 및 그 이하의 엔티티들에서 수행된다.
상기와 같이, 본 발명에서는 휴대 단말기 메모리 구성 엔티티들 각각에 대해 체인(chain)을 구성하고, 각 엔티티들의 무결성 확인 결과를 신뢰 영역(220)에 보고하도록 하여, 휴대 단말기 주요 모듈의 무결성을 보장하도록 한다.
도 3은 본 발명의 실시예에 따른 무결성 보장 방법의 수행 과정을 도시하는 순서도이다.
우선, S305 단계에서 휴대 단말기는 전원이 온(power on) 됨을 감지한다. 휴대 단말기의 특정 하드웨어에 기록된 값을 부트로더 소프트웨어와 비교하여 이상이 없는 경우 S310 단계에서 부트로더를 실행한다.
그리고 부트로더는 S315 단계에서, 커널의 무결성 즉, 인증된 제3자의 서명이 변조되었는지 여부를 확인한다. 변조된 경우, 부트로더는 S321 단계로 진행하여 변조 알림 신호를 신뢰 영역에 전송한다. 그러면 신뢰 영역은 본 발명의 일 실시예에 따라 상기 변조 알림 신호 수신 시, 신뢰 영역에 포함된 특정 메모리 값에 변조 알림 신호를 수신하였음을 기록(예를 들어, 1로 기록)할 수 있다. 그러면 임의의 어플리케이션 또는 엔티티들은 상기 특정 메모리 값에 기록된 1을 확인하여 휴대 단말기의 무결성이 보증되지 않음을 알 수 있다.
한편, 변조되지 않은 경우, 커널 내의 init 프로세서는 S325 단계로 진행하여 무결성 확인 데몬(Integrity Check Deamon, 또는, 'ICD') 모듈에 대한 무결성을 확인한다. 변조된 경우, init 프로세서는 S331 단계로 진행하여 변조 알림 신호를 신뢰 영역에 전송한다.
한편, 변조되지 않은 경우, init 프로세서는 ICD를 실행하며, 실행된 ICD 모듈은 S335 단계로 진행하여 무결성 검사 대상 리스트(profile list)에 대한 무결성을 확인한다. 변조된 경우, ICD 모듈은 S341 단계로 진행하여 변조 알림 신호를 신뢰 영역에 전송한다.
반면, 변조되지 않은 경우, ICD 모듈은 S345 단계로 진행하여 무결성 검사 대상 리스트에 나열된 대상 모듈들의 무결성을 검사한다. 예를 들어, ICD 모듈은 공유 라이브러리(Shared library), 실행 파일(Executable file) 들에 대한 무결성을 검사한다. 변조된 경우, ICD 모듈은 S370 단계에서 변조 알림 신호를 신뢰 영역에 전송한다.
반면, 변조되지 않은 경우, 휴대 단말기는 S355 단계에서 부트 과정을 완료한다. 이에 따라, 휴대 단말기는 실행 요청된 임의의 기능을 수행할 수 있는 대기 상태로 전환되며, 특정 기능 실행 요청 시 해당 기능을 수행한다.
이상에서는 휴대 단말기의 부트 과정에서 상위 엔티티가 하위 엔티티의 무결성을 확인하고, 변조 발견 시 이를 신뢰 영역(220)에 보고하는 구성에 대해 기술하였지만, 상기 과정이 반드시 부트 과정에서만 수행되는 것은 아니다. 즉, 상기 기술한 내용이 부트가 완료된 후, 휴대 단말기의 정상 동작 중 일정 주기로 하위 엔티티에 대한 무결성 확인 절차가 수행될 수 있음을 배제하는 것은 아니다.
이를 위해, 휴대 단말기는 S360 단계로 진행하여, 부트가 완료된 후에 설정된 시간이 경과하였는지 여부를 판단한다. 이는 부트 완료 후에, 어느 하나의 엔티티의 서명이 변조된 경우 이를 감지하기 위함이다.
설정된 시간이 경과한 경우, 휴대 단말기는 S335 단계로 복귀하여, ICD 모듈이 무결성 검사 대상 리스트 및 상기 리스트에 나열된 모듈의 무결성을 검사하는 과정을 반복하여 수행하도록 제어할 수 있다.
도 4는 본 발명의 실시예에 따른 무결성 보장 방법의 수행 과정을 도시화한 도면이다.
상기한 바와 같이 본 발명의 휴대 단말기의 메모리는 보안 영역(410)과 일반 영역(420)으로 구분될 수 있고, 각각의 의미는 상술한 바 있으므로 자세한 설명은 생략하기로 한다. 이 경우, 신뢰 영역(412)은 보안 영역(410)과 동일한 의미로 사용되거나 또는 보안 영역(410)의 일부 영역으로 이해될 수도 있을 것이다.
신뢰된 부트로더(430)는 부팅 과정에서 커널(440)의 무결성을 확인하고, 이에 이상이 있는 경우 신뢰 영역(412)에 변조 알림 신호를 전송한다. 그리고 커널(440)은 커널 내의 init 프로세서(441)에 대한 무결성을 확인하고, 이상이 있는 경우 마찬가지로 신뢰 영역(412)에 변조 알림 신호를 전송한다.
그리고 init 프로세서(441)는 무결성 확인 데몬(ICD, 450)의 무결성을 확인하며, 이상이 있는 경우 신뢰 영역(412)에 변조 알림 신호를 전송하며, 이상이 없는 경우 무결성 확인 데몬을 실행한다.
그리고 무결성 확인 데몬(450)은 무결성 검사 대상 리스트(460) 및 상기 리스트에 포함된 프로그램 패키지(470), 공유 라이브러리(480), 실행 파일(490) 등에 대한 무결성을 확인하며, 이상이 있는 경우 신뢰 영역(412)에 변조 알림 신호를 전송한다.
도 5는 휴대 단말기의 무결성 보증 여부에 따른 어플리케이션 실행 과정을 도시하는 순서도이다.
우선, 휴대 단말기는 S510 단계에서 임의의 어플리케이션에 대한 실행 요청을 수신한다. 그러면 휴대 단말기 또는 어플리케이션은 S520 단계에서 무결성 검증을 위한 메모리 어드레스의 저장 값을 확인한다.
그리고 휴대 단말기 또는 어플리케이션은 S530 단계에서 변조 알림 신호가 보고된 적이 있는지 여부를 확인한다. 만약, 특정 메모리 어드레스의 값이 1로 설정된 경우라면 변조 알림 신호가 보고된 적이 있음을 의미하는 것이며, 이는 즉 휴대 단말기의 무결성이 보증되지 못하는 것을 의미한다.
변조 알림 신호가 수신되어 특정 메모리 값이 1로 설정된 경우, 휴대 단말기 또는 어플리케이션은 S550 단계로 진행하여 실행 요청딘 어플리케이션의 실행을 거부한다.
휴대 단말기 또는 어플리케이션은 변조 알림 신호가 보고된 적이 없는 경우에 한하여, S540 단계로 진행하여 해당 어플리케이션을 실행한다.
도 6은 본 발명의 실시예에 따라 휴대 단말기의 무결성 보증 여부에 따라 어플리케이션을 실행 또는 실행 거부하는 예시 및 이의 순서를 도시하는 도면이다.
도 6에서 도시되는 바와 같이, 휴대 단말기의 메모리는 보안 영역(또는 신뢰 영역, 610)과 일반 영역으로 구분된다. 임의의 어플리케이션 A는 신뢰 영역(610) 및 일반 영역(620)에 쌍(pair)으로 존재한다. 즉, 어플리케이션 A는 신뢰 영역(610)의 보안 어플리케이션 A(625) 및 이에 대응하는 일반 영역(620)의 라이브러리 A(623)로 존재한다. 이 경우, 일반 영역(620)의 라이브러리 A(623)를 통해 수신된 요청(request)은 신뢰 영역(610)의 보안 어플리케이션 A(625)에 전달되며, 상기 보안 어플리케이션 A(625)가 실제 하드웨어를 제어하여 상기 요청을 실행한다.
상기 설명은 어플리케이션 B에 대해서도 마찬가지로 적용된다.
이하에서는 도 6을 참조하여 암호화된 컨텐츠를 수신하고, 비디오 어플리케이션이 이를 재생하는 시나리오를 가정하여 설명하도록 한다.
우선, 휴대 단말기의 무결성이 보증되는 경우, 즉 부트 과정 또는 주기적 검사 도중에 각 엔티티들의 서명이 변조되지 않은 경우의 흐름에 대해 설명하도록 한다.
휴대 단말기의 비디오 어플리케이션(640)은 S670 단계에서, 암호화된 컨텐츠를 수신한다. 그리고 비디오 어플리케이션(640)은 S672 단계에서, 상기 컨텐츠에 대한 재생 요청을 비디오 라이브러리(645)에 요청한다. 그러면 비디오 라이브러리(645)는 S674 단계를 통해 상기 재생 요청을 보안 어플리케이션(Secure App) 비디오(650)에 전달한다. 그러면 상기 보안 어플리케이션 비디오(650)는 S676 단계에서 특정 메모리의 값이 1로 기록되어 있는지 즉, 신뢰 영역(610)이 변조 알림 신호를 수신한 적이 있는지 여부를 확인한다. 메모리 값이 1로 기록되지 않은 경우, 보안 어플리케이션 비디오(650)는 S678 단계에서, 상기 컨텐츠를 출력하기 위한 정보를 H/W 예를 들어, 디스플레이 장치(660)에 전달하고, 상기 디스플레이 장치(660)는 S680 단계에서 해당 컨텐츠를 출력한다.
이하에서는 휴대 단말기의 정상 동작 중, S682 단계에서 임의의 해커에 의해 비디오 라이브러리(645)의 서명이 변조되었음을 가정한다.
그러면 ICD 모듈은 S684 단계의 주기적 무결성 검사 과정에서 상기 비디오 라이브러리(645)의 서명이 변조되었음을 감지한다. 그러면, ICD 모듈은 S686 단계에서, 변조 감지 신호(False)를 보안 어플리케이션(Secure App) ICD에 전달한다. 그러면 보안 어플리케이션 ICD는 S688 단계에서 미리 설정된 위치의 메모리에 1을 기록한다. 상기 1 값은 휴대 단말기의 임의의 엔티티의 서명이 변조되었음이 보고된 바 있음을 의미한다.
이후, 해당 컨텐츠에 대한 재생 요청이 수신되면, 보안 어플리케이션 비디오(650)는 S690 단계에서 특정 위치의 메모리 값이 1인지 여부를 확인한다. 이 경우, 메모리의 해당 값이 1이므로, 보안 어플리케이션 비디오(650)는 재생 요청을 거부한다.
도 7은 본 발명의 실시예에 따른 휴대 단말기의 내부 구조를 도시하는 블록도이다. 도 7에서 도시되는 바와 같이, 본 발명의 휴대 단말기는 무선 통신부(710), 오디오 처리부(720), 입력부(730), 표시부(740), 메모리(750), 제어부(760)를 포함할 수 있다.
무선통신부(710)는 휴대 단말기의 무선 통신을 위한 해당 데이터의 송수신 기능을 수행한다. 무선통신부(710)는 송신되는 신호의 주파수를 상승 변환 및 증폭하는 RF송신기와, 수신되는 신호를 저 잡음 증폭하고 주파수를 하강 변환하는 RF수신기 등으로 구성될 수 있다. 또한, 무선통신부(710)는 무선 채널을 통해 데이터를 수신하여 제어부(760)로 출력하고, 제어부(760)로부터 출력된 데이터를 무선 채널을 통해 전송할 수 있다. 상기 무선 통신부(710)는 휴대 단말기가 무선 통신을 수행할 수 있는 단말일 경우에만 구비되는 것이며, 본 발명의 실시예가 적용될 수 있는 모든 휴대 단말기가 필수적으로 구비해야 하는 것은 아님에 유의해야 하며, 이하에 기술되는 임의의 블록들 역시 마찬가지이다.
오디오처리부(720)는 코덱(CODEC)으로 구성될 수 있으며, 코덱은 패킷 데이터 등을 처리하는 데이터 코덱과 음성 등의 오디오 신호를 처리하는 오디오 코덱으로 구성될 수 있다. 오디오 처리부(720)는 디지털 오디오 신호를 오디오 코덱을 통해 아날로그 오디오 신호로 변환하여 스피커(SPK)를 통해 재생하고, 마이크(MIC)로부터 입력되는 아날로그 오디오 신호를 오디오 코덱을 통해 디지털 오디오 신호로 변환한다.
입력부(730)는 휴대 단말기를 제어하기 위한 사용자의 조작을 입력받고 입력 신호를 생성하여 제어부(760)에 전달한다. 입력부(730)는 숫자 키, 방향키를 포함하는 키패드 또는 터치스크린으로 구성될 수 있으며, 휴대 단말기의 일면에 소정의 물리적인 기능키로 형성될 수 있다. 본 발명의 다른 실시예에 따라 터치스크린만으로 모든 조작이 가능한 휴대 단말기의 경우에는 입력부(730)가 생략될 수도 있다.
표시부(740)는 액정표시장치(LCD, Liquid Crystal Display), 유기 발광 다이오드(OLED, Organic Light Emitting Diodes), 능동형 유기 발광 다이오드(AMOLED, Active Matrix Organic Light Emitting Diodes) 등으로 형성될 수 있으며, 휴대 단말기의 메뉴, 입력된 데이터, 기능 설정 정보 및 기타 다양한 정보를 사용자에게 시각적으로 제공한다. 표시부(740)는 휴대 단말기의 부팅 화면, 대기 화면, 메뉴 화면, 통화 화면, 기타 어플리케이션 화면을 출력하는 기능을 수행한다.
메모리(750)는 휴대 단말기의 동작에 필요한 프로그램 및 데이터를 저장하는 역할을 수행하며, 프로그램 영역과 데이터 영역으로 구분될 수 있다. 프로그램 영역은 휴대 단말기(100)의 전반적인 동작을 제어하는 프로그램 및 휴대 단말기를 부팅시키는 운영체제(OS, Operating System), 멀티미디어 컨텐츠 재생 등에 필요한 응용 프로그램, 휴대 단말기의 기타 옵션 기능, 예컨대, 카메라 기능, 소리 재생 기능, 이미지 또는 동영상 재생 기능에 필요한 응용 프로그램 등을 저장할 수 있다. 데이터 영역은 휴대 단말기의 사용에 따라 발생하는 데이터가 저장되는 영역으로서, 이미지, 동영상, 폰 북, 오디오 데이터 등을 저장할 수 있다. 상기 메모리는 휘발성 메모리 및 비휘발성 메모리 모두를 포함할 수 있다.
특히, 본 발명의 실시예에 따른 메모리(750)는 인증되지 않은 리소스 접근을 차단하는 신뢰 영역(751)과 상기 신뢰 영역(751)을 제외한 나머지 영역인 일반 영역(752)을 구비할 수 있다. 상기 신뢰 영역(751)은 하드웨어 기술로 보호되는 영역으로 일반 영역과는 물리적으로 구분되며, 합법적으로 허용되지 않은 리소스 접근을 차단하고 무결성이 보증되는 접근만을 허용하는 영역이다. 그리고 일반 영역(752)은 신뢰 영역(751) 이외의 모든 환경을 의미한다.
제어부(760)는 본 발명의 실시예에 따른 휴대 단말기의 전반적인 동작을 제어한다. 특히, 휴대 단말기의 무결성을 보호하기 위한 본 발명의 제어부(760)는 부트 관리부(760), 신뢰 영역 관리부(762), 주기적 무결성 확인부(763)를 더 구비할 수 있다.
부트 관리부(760)는 휴대 단말기의 파워 온(power on)을 감지하고, 휴대 단말기의 부트 과정을 관리한다.
신뢰 영역 관리부(762)는 신뢰 영역(751)과 일반 영역(752)의 경계 지점에 위치하여 일반 영역(752)으로부터의 인증되지 않은 신뢰 영역(751)으로의 리소스 접근을 차단하는 과정을 제어하는 일종의 OS(Operating System)이다.
상기 신뢰 영역 관리부(762)는 일반 영역(752)의 신뢰된 임의의 상위 엔티티가 상기 상위 엔티티에 대해 하위 계층에 위치하는 제1 하위 엔티티의 무결성을 확인하고, 상기 제1 하위 엔티티의 무결성 변조 감지 시 상기 상위 엔티티가 변조 감지 신호를 상기 신뢰 영역(751)에 전송하는 일련의 과정을 제어할 수 있다. 이 경우, 신뢰 영역 관리부(762)는 상위 엔티티가 제1 하위 엔티티의 서명이 변조되었는지 여부를 판단하여 상기 무결성을 확인하도록 제어할 수 있다.
또한, 상기 신뢰 영역 관리부(762)는 상기 제1 하위 엔티티의 무결성 변조 미 감지 시, 상기 제1 하위 엔티티가 상기 제1 하위 엔티티에 대해 하위 계층에 위치하는 제2 하위 엔티티의 무결성을 확인하도록 제어할 수 있다.
또한, 상기 신뢰 영역 관리부(762)는 임의의 어플리케이션 실행 요청 수신 감지 시 상기 변조 감지 신호 수신 여부를 확인하고, 상기 변조 감지 신호 수신 시 상기 어플리케이션에 실행 요청을 거절하도록 제어할 수 있다.
상술한 본 발명의 실시예에 따르면 일반 영역 내에서도 무결성 보증이 가능하기 때문에 DRM(Digital Right Management), 보안 서비스, 편의 서비스 증대에 도움을 줄 수 있다.
본 명세서와 도면에 개시된 본 발명의 실시예들은 본 발명의 기술 내용을 쉽게 설명하고 본 발명의 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시예들 이외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다.
710 : 무선 통신부 720 : 오디오 처리부
730 : 입력부 740 : 표시부
750 : 메모리
751 : 신뢰 영역 752 : 일반 영역
760 : 제어부 761 : 부트 관리부
762 : 신뢰 영역 관리부 763 : 주기적 무결성 확인부

Claims (18)

  1. 인증되지 않은 리소스 접근을 차단하는 신뢰 영역과 상기 신뢰 영역을 제외한 나머지의 일반 영역을 구비하는 휴대 단말기의 무결성 보호 방법에 있어서,
    상기 휴대 단말기의 파워 온(power on)을 감지하는 단계;
    상기 일반 영역의 신뢰된 임의의 상위 엔티티가 상기 상위 엔티티에 대해 하위 계층에 위치하는 제1 하위 엔티티의 무결성을 확인하는 단계;
    상기 제1 하위 엔티티의 무결성 변조 감지 시, 상기 상위 엔티티가 변조 감지 신호를 상기 신뢰 영역에 전송하는 단계;
    상기 제1 하위 엔티티의 무결성 변조 미 감지 시, 상기 제1 하위 엔티티가 상기 제1 하위 엔티티에 대해 하위 계층에 위치하는 제2 하위 엔티티의 무결성을 확인하는 단계를 포함하는 것을 특징으로 하는 무결성 보호 방법.
  2. 제1항에 있어서,
    상기 제2 하위 엔티티의 무결성 변조 감지 시, 상기 제1 하위 엔티티가 변조 감지 신호를 상기 신뢰 영역에 전송하는 단계를 더 포함하는 것을 특징으로 하는 무결성 보호 방법.
  3. 제1항에 있어서,
    상기 휴대 단말기의 부트 완료 후, 설정된 시간이 경과하였는지 판단하는 단계; 및
    설정된 시간 경과 시, 상기 확인 단계를 반복하여 수행하는 단계를 더 포함하는 것을 특징으로 하는 무결성 보호 방법.
  4. 제1항에 있어서,
    임의의 어플리케이션 실행 요청 수신 감지 시, 상기 변조 감지 신호 수신 여부를 확인하는 단계; 및
    상기 변조 감지 신호 수신 시, 상기 어플리케이션에 실행 요청을 거절하는 단계를 더 포함하는 것을 특징으로 하는 무결성 보호 방법.
  5. 제1항에 있어서, 상기 확인 단계는,
    제1 하위 엔티티의 서명이 변조되었는지 여부를 판단하여 상기 무결성을 확인하는 것을 특징으로 하는 무결성 보호 방법.
  6. 제1항에 있어서, 상기 확인 단계는,
    부트로더가 커널의 무결성을 확인하는 것을 특징으로 하는 무결성 보호 방법.
  7. 제6항에 있어서, 상기 확인 단계는,
    상기 커널이 무결성 확인 데몬(Integrity Check Demon)의 무결성을 확인하는 것을 특징으로 하는 무결성 보호 방법.
  8. 제7항에 있어서, 상기 확인 단계는,
    상기 무결성 확인 데몬이, 적어도 하나 이상의 대상 모듈을 포함하는 무결성 검사 대상 리스트의 무결성을 확인하는 것을 특징으로 하는 무결성 보호 방법.
  9. 제8항에 있어서, 상기 확인 단계는,
    상기 무결성 확인 데몬이 상기 무결성 검사 대상 리스트에 포함된 대상 모듈에 대한 무결성을 확인하는 것을 특징으로 하는 무결성 보호 방법.
  10. 무결성 보호 장치에 있어서,
    인증되지 않은 리소스 접근을 차단하는 신뢰 영역과 상기 신뢰 영역을 제외한 나머지의 일반 영역을 구비하는 메모리;
    상기 무결성 보호 장치의 파워 온 감지 시, 부트 과정을 제어하는 부트 관리부; 및
    상기 일반 영역의 신뢰된 임의의 상위 엔티티가 상기 상위 엔티티에 대해 하위 계층에 위치하는 제1 하위 엔티티의 무결성을 확인하고, 상기 제1 하위 엔티티의 무결성 변조 감지 시 상기 상위 엔티티가 변조 감지 신호를 상기 신뢰 영역에 전송하고, 상기 제1 하위 엔티티의 무결성 변조 미 감지 시, 상기 제1 하위 엔티티가 상기 제1 하위 엔티티에 대해 하위 계층에 위치하는 제2 하위 엔티티의 무결성을 확인하도록 제어하는 신뢰 영역 관리부를 포함하는 것을 특징으로 하는 무결성 보호 장치.
  11. 제10항에 있어서, 상기 신뢰 영역 관리부는,
    상기 제2 하위 엔티티의 무결성 변조 감지 시, 상기 제1 하위 엔티티가 변조 감지 신호를 상기 신뢰 영역에 전송하도록 제어하는 것을 특징으로 하는 무결성 보호 장치.
  12. 제10항에 있어서, 상기 무결성 보호 장치는,
    부트 완료 후, 상기 상위 엔티티가 하위 엔티티의 무결성 여부를 주기적으로 확인하도록 제어하는 주기적 무결성 확인부를 더 포함하는 것을 특징으로 하는 무결성 보호 장치.
  13. 제10항에 있어서, 상기 신뢰 영역 관리부는,
    임의의 어플리케이션 실행 요청 수신 감지 시 상기 변조 감지 신호 수신 여부를 확인하고, 상기 변조 감지 신호 수신 시 상기 어플리케이션에 실행 요청을 거절하도록 제어하는 것을 특징으로 하는 무결성 보호 장치.
  14. 제10항에 있어서, 상기 신뢰 영역 관리부는,
    상기 제1 하위 엔티티의 서명이 변조되었는지 여부를 판단하여 상기 무결성을 확인하는 것을 특징으로 하는 무결성 보호 장치.
  15. 제10항에 있어서, 상기 신뢰 영역 관리부는,
    부트로더가 커널의 무결성을 확인하도록 제어하는 것을 특징으로 하는 무결성 보호 장치.
  16. 제15항에 있어서, 상기 신뢰 영역 관리부는,
    상기 커널이 무결성 확인 데몬(Integrity Check Demon)의 무결성을 확인하도록 제어하는 것을 특징으로 하는 무결성 보호 장치.
  17. 제16항에 있어서, 상기 신뢰 영역 관리부는,
    상기 무결성 확인 데몬이, 적어도 하나 이상의 대상 모듈을 포함하는 무결성 검사 대상 리스트의 무결성을 확인하도록 제어하는 것을 특징으로 하는 무결성 보호 장치.
  18. 제17항에 있어서, 상기 신뢰 영역 관리부는,
    상기 무결성 확인 데몬이 상기 무결성 검사 대상 리스트에 포함된 대상 모듈에 대한 무결성을 확인하도록 제어하는 것을 특징으로 하는 무결성 보호 장치.
KR1020120019095A 2012-02-24 2012-02-24 휴대 단말기의 무결성 보호 방법 및 장치 KR101897605B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020120019095A KR101897605B1 (ko) 2012-02-24 2012-02-24 휴대 단말기의 무결성 보호 방법 및 장치
US13/774,435 US9235709B2 (en) 2012-02-24 2013-02-22 Integrity protection method and apparatus for mobile terminal

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120019095A KR101897605B1 (ko) 2012-02-24 2012-02-24 휴대 단말기의 무결성 보호 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20130097444A KR20130097444A (ko) 2013-09-03
KR101897605B1 true KR101897605B1 (ko) 2018-09-12

Family

ID=49004593

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120019095A KR101897605B1 (ko) 2012-02-24 2012-02-24 휴대 단말기의 무결성 보호 방법 및 장치

Country Status (2)

Country Link
US (1) US9235709B2 (ko)
KR (1) KR101897605B1 (ko)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101895453B1 (ko) * 2011-11-09 2018-10-25 삼성전자주식회사 이기종 컴퓨팅 환경에서 보안 강화 방법 및 장치
JP6257426B2 (ja) * 2014-04-09 2018-01-10 Kddi株式会社 通信端末装置、通信端末装置の起動方法およびコンピュータプログラム
US9984255B2 (en) * 2014-09-30 2018-05-29 Samsung Electronics Co., Ltd. Methods and apparatus to enable runtime checksum verification of block device images
KR102349450B1 (ko) * 2014-12-08 2022-01-10 삼성전자주식회사 무결성 검사 데이터 제공 방법 및 장치
CN104581214B (zh) * 2015-01-28 2018-09-11 三星电子(中国)研发中心 基于ARM TrustZone***的多媒体内容保护方法和装置
CN104794395A (zh) * 2015-05-13 2015-07-22 上海瓶钵信息科技有限公司 基于体系结构特性的轻量级多***安全管理架构
DE102015108504B4 (de) * 2015-05-29 2019-05-02 Fujitsu Client Computing Limited Verfahren zum sicheren Booten eines Computersystems und Computersystem
SG10201602449PA (en) 2016-03-29 2017-10-30 Huawei Int Pte Ltd System and method for verifying integrity of an electronic device
CN106250760A (zh) * 2016-07-26 2016-12-21 浪潮电子信息产业股份有限公司 一种基于TPM2.0芯片的U‑Boot可信启动方法
CN108460293A (zh) * 2017-02-22 2018-08-28 北京大学 一种应用程序完整性多级检查机制
CN107563224B (zh) * 2017-09-04 2020-07-28 浪潮集团有限公司 一种多用户物理隔离方法及装置
CN107835185B (zh) * 2017-11-21 2020-10-02 广州大学 一种基于ARM TrustZone的移动终端安全服务方法及装置
US11138315B2 (en) 2018-01-17 2021-10-05 Hewlett Packard Enterprise Development Lp Data structure measurement comparison
US11347861B2 (en) 2018-04-10 2022-05-31 Raytheon Company Controlling security state of commercial off the shelf (COTS) system
US10878101B2 (en) 2018-09-07 2020-12-29 Raytheon Company Trusted booting by hardware root of trust (HRoT) device
US11178159B2 (en) 2018-09-07 2021-11-16 Raytheon Company Cross-domain solution using network-connected hardware root-of-trust device
US11423150B2 (en) 2018-09-07 2022-08-23 Raytheon Company System and method for booting processors with encrypted boot image
US11151254B2 (en) 2018-09-11 2021-10-19 Amari.Ai Incorporated Secure communications gateway for trusted execution and secure communications
KR102111327B1 (ko) * 2019-03-11 2020-05-15 단국대학교 산학협력단 리눅스 환경에서의 부팅 과정에 대한 무결성 검증 시스템 및 관리용 단말의 업데이트와 무결성 검증 방법
BR112021019741A2 (pt) 2019-04-01 2021-12-21 Raytheon Co Sistemas e método para proteção de dados
US11379588B2 (en) 2019-12-20 2022-07-05 Raytheon Company System validation by hardware root of trust (HRoT) device and system management mode (SMM)
KR102348312B1 (ko) * 2020-05-06 2022-01-11 네이버클라우드 주식회사 사용자 식별자 및 서명 수집을 이용한 모바일 애플리케이션 위변조 탐지 방법 및 시스템
WO2021225329A1 (ko) * 2020-05-06 2021-11-11 네이버클라우드 주식회사 사용자 식별자 및 서명 수집을 이용한 모바일 애플리케이션 위변조 탐지 방법 및 시스템

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070005948A1 (en) * 2003-06-24 2007-01-04 Bayerische Motoren Werke Aktiengesellschaft Method for booting up software in the boot sector of a programmable read-only memory
US20070261120A1 (en) * 2006-01-23 2007-11-08 Arbaugh William A Method & system for monitoring integrity of running computer system
US20120216242A1 (en) 2011-02-22 2012-08-23 PCTEL Secure LLC Systems and Methods for Enhanced Security in Wireless Communication

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6986052B1 (en) * 2000-06-30 2006-01-10 Intel Corporation Method and apparatus for secure execution using a secure memory partition
US7007159B2 (en) * 2002-05-10 2006-02-28 Intel Corporation System and method for loading and integrating a firmware extension onto executable base system firmware during initialization
JP4302641B2 (ja) * 2002-11-18 2009-07-29 エイアールエム リミテッド デバイスによるメモリへのアクセスの制御
US8281116B2 (en) * 2003-02-12 2012-10-02 Intel Corporation System and method for utilizing a protected/hidden region of semiconductor based memory/storage
US9240888B2 (en) * 2003-03-05 2016-01-19 Bally Gaming, Inc. Authentication system for gaming machines
US7500098B2 (en) * 2004-03-19 2009-03-03 Nokia Corporation Secure mode controlled memory
US7725703B2 (en) * 2005-01-07 2010-05-25 Microsoft Corporation Systems and methods for securely booting a computer with a trusted processing module
US7793347B2 (en) * 2005-02-07 2010-09-07 Rozas Guillermo J Method and system for validating a computer system
US8619971B2 (en) * 2005-04-01 2013-12-31 Microsoft Corporation Local secure service partitions for operating system security
CN101444119A (zh) * 2006-03-27 2009-05-27 意大利电信股份公司 在移动通信设备上实施安全策略的***
KR100932274B1 (ko) * 2007-12-18 2009-12-16 한국전자통신연구원 이동 단말기의 소프트웨어 무결성 검증 장치 및 그 방법
US8806220B2 (en) * 2009-01-07 2014-08-12 Microsoft Corporation Device side host integrity validation
RU2011148523A (ru) * 2009-07-01 2013-08-20 Панасоник Корпорэйшн Способ защищенной загрузки и устройство защищенной загрузки
US8589302B2 (en) * 2009-11-30 2013-11-19 Intel Corporation Automated modular and secure boot firmware update
KR20170016034A (ko) * 2010-11-05 2017-02-10 인터디지탈 패튼 홀딩스, 인크 장치 유효성 확인, 재난 표시, 및 복원
US8375221B1 (en) * 2011-07-29 2013-02-12 Microsoft Corporation Firmware-based trusted platform module for arm processor architectures and trustzone security extensions

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070005948A1 (en) * 2003-06-24 2007-01-04 Bayerische Motoren Werke Aktiengesellschaft Method for booting up software in the boot sector of a programmable read-only memory
US20070261120A1 (en) * 2006-01-23 2007-11-08 Arbaugh William A Method & system for monitoring integrity of running computer system
US20120216242A1 (en) 2011-02-22 2012-08-23 PCTEL Secure LLC Systems and Methods for Enhanced Security in Wireless Communication

Also Published As

Publication number Publication date
US20130227264A1 (en) 2013-08-29
KR20130097444A (ko) 2013-09-03
US9235709B2 (en) 2016-01-12

Similar Documents

Publication Publication Date Title
KR101897605B1 (ko) 휴대 단말기의 무결성 보호 방법 및 장치
US11120126B2 (en) Method and system for preventing and detecting security threats
US10333967B2 (en) Method and system for dynamic platform security in a device operating system
EP3208718B1 (en) Security monitoring at operating system kernel level
US8448218B2 (en) Method and apparatus for a cryptographically assisted computer system designed to deter viruses and malware via enforced accountability
CN102279760B (zh) 利用初始保护组件来进行设备引导
US9083701B2 (en) Method for providing active security authentication, and terminal and system supporting same
US10949540B2 (en) Security policy enforcement based on dynamic security context updates
KR20140016280A (ko) 운영 체제 구성 값 보호
US11070876B2 (en) Security monitoring with attack detection in an audio/video processing device
EP2060989A2 (en) Digital rights management method and apparatus of mobile terminal
JP4647392B2 (ja) デバイス制御装置、デバイス制御方法およびプログラム
JP4754299B2 (ja) 情報処理装置
CN114598541A (zh) 一种安全评估方法及装置、电子设备和可读存储介质
CN105323287B (zh) 第三方应用程序的登录方法及***
Thijsman et al. Trusting the Cloud-Native Edge: Remotely Attested Kubernetes Workers
JP2010128826A (ja) 情報処理装置、情報処理方法及び情報処理プログラム

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