KR100850583B1 - Method for processing command of TPM and Mobile device using the same - Google Patents

Method for processing command of TPM and Mobile device using the same Download PDF

Info

Publication number
KR100850583B1
KR100850583B1 KR1020070037944A KR20070037944A KR100850583B1 KR 100850583 B1 KR100850583 B1 KR 100850583B1 KR 1020070037944 A KR1020070037944 A KR 1020070037944A KR 20070037944 A KR20070037944 A KR 20070037944A KR 100850583 B1 KR100850583 B1 KR 100850583B1
Authority
KR
South Korea
Prior art keywords
tpm
command
processing
internal functions
platform
Prior art date
Application number
KR1020070037944A
Other languages
Korean (ko)
Other versions
KR20080050207A (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 한국전자통신연구원
Publication of KR20080050207A publication Critical patent/KR20080050207A/en
Application granted granted Critical
Publication of KR100850583B1 publication Critical patent/KR100850583B1/en

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/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • 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/46Multiprogramming arrangements

Landscapes

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

Abstract

본 발명은 모바일 플랫폼의 보안 및 신뢰 서비스를 위해 TPM(Trusted Platform Module)을 사용하여 모바일 플랫폼의 무결성을 측정 및 검증할 때, 보다 빠르고 효율적인 TPM 명령어 처리 방법 및 무선 단말을 제공하는 것으로, 상기 TPM의 내부 기능 중에서 서로 독립적인 특정 내부 기능에 대하여 각각 태스크로 정의하고, TPM 명령어 입력시 태스크로 정의된 내부 기능들을 멀티 태스킹으로 처리하도록 구현한 것이다.The present invention provides a faster and more efficient TPM command processing method and a wireless terminal when measuring and verifying the integrity of a mobile platform using a Trusted Platform Module (TPM) for security and trust services of the mobile platform. It defines a specific internal function that is independent of each other among internal functions as tasks, and implements multitasking internal functions defined as tasks when TPM command is input.

TPM(Trusted Platform Module), 모바일 플랫폼, 멀티 태스킹 Trusted Platform Module (TPM), Mobile Platforms, Multitasking

Description

TPM 명령어 처리 방법 및 이를 이용한 무선 단말{Method for processing command of TPM and Mobile device using the same}Method for processing command of TPM and Mobile device using the same}

도 1은 무선 단말에서 모바일 플랫폼과 TPM 간의 동작 관계를 나타낸 블록도,1 is a block diagram showing an operation relationship between a mobile platform and a TPM in a wireless terminal;

도 2는 종래의 TPM 명령어 처리 과정을 나타낸 흐름도,2 is a flowchart illustrating a conventional TPM command processing process;

도 3은 본 발명에 의한 TPM 명령어 처리 과정을 나타낸 흐름도,3 is a flowchart illustrating a TPM command processing process according to the present invention;

도 4는 종래의 TPM 명령어 처리 방법에 따른, 모바일 플랫폼과 TPM 간의 신호 처리 과정을 나타낸 흐름도,4 is a flowchart illustrating a signal processing process between a mobile platform and a TPM according to a conventional TPM command processing method;

도 5는 종래의 TPM 명령어 처리 방법에 따른, 모바일 플랫폼과 TPM 간의 다른 신호 처리 과정을 보인 흐름도,5 is a flowchart illustrating another signal processing process between a mobile platform and a TPM according to a conventional TPM command processing method;

도 6은, 종래의 TPM 명령어 처리 방법에 따른, 모바일 플랫폼과 TPM 간의 또 다른 신호 처리 과정을 보인 흐름도, 그리고6 is a flowchart illustrating another signal processing process between a mobile platform and a TPM according to a conventional TPM command processing method;

도 7은 본 발명에 의한 TPM 명령어 처리 방법이 적용된 경우, 모바일 플랫폼과 TPM 간의 신호 처리 과정을 보인 흐름도이다.7 is a flowchart illustrating a signal processing process between a mobile platform and a TPM when the TPM command processing method according to the present invention is applied.

본 발명은 모바일 플랫폼의 보안 및 신뢰 서비스를 위해 TPM(Trusted Platform Module)을 사용하여 모바일 플랫폼의 무결성을 측정 및 검증함에 있어서, 보다 빠르고 효율적인 TPM 명령어 처리 방법 및 이를 이용한 무선 단말에 관한 것이다.The present invention relates to a faster and more efficient TPM command processing method and a wireless terminal using the same in measuring and verifying the integrity of a mobile platform using a Trusted Platform Module (TPM) for security and trust services of the mobile platform.

TPM(Trusted Platform Module)은 TCG(Trusted Computing Group)에서 표준 제안과 함께 활발한 연구가 되고 있는 분야로서, 현재 http://www.trustedcomputinggroup.org/home에서 자세한 관련 자료와 표준 자료들이 제시되어 있다. The Trusted Platform Module (TPM) is an active area of research, along with standard proposals from the Trusted Computing Group (TCG), and detailed resources and standards are available at http://www.trustedcomputinggroup.org/home.

상기 TCG에서 정의하고 있는 신뢰된 플랫폼은 플랫폼이 원래의 의도대로 동작하고 있으며, 플랫폼의 무결성이 유지되고 있음을 증명하여 안전하게 사용 가능한 플랫폼을 의미하는데, 이러한 무결성 검증을 위해 제공되는 안전한 하드웨어 저장 장치가 TPM이다.The trusted platform defined by the TCG means a platform that can be used safely by proving that the platform is operating as originally intended and the integrity of the platform is maintained. The secure hardware storage device provided for such integrity verification is TPM.

도 1은 상기 TCG에서 정의된 TPM이 적용된 무선 단말을 나타낸 것으로서, 상기 무선 단말은 모바일 플랫폼(10)과, 상기 모바일 플랫폼(10)의 무결성을 검증하기 위한 TPM(20)을 구비하고, 상기 TPM(20)을 사용하여 모바일 플랫폼(10)의 무결성 검증을 위해서는 모바일 플랫폼(10)에서 TPM 내부로 TPM 명령어를 보내고, 이에 상기 TPM(20)이 상기 명령어를 처리한 후, 수신된 명령어에 대한 응답을 모바일 플랫폼(10)으로 전송하는 일련의 프로세싱을 가진다. 1 illustrates a wireless terminal to which a TPM defined in the TCG is applied, the wireless terminal having a mobile platform 10 and a TPM 20 for verifying the integrity of the mobile platform 10. In order to verify the integrity of the mobile platform 10 using the 20, the mobile platform 10 sends a TPM command into the TPM, and the TPM 20 processes the command, and then responds to the received command. Has a series of processing to send to the mobile platform 10.

TPM의 명령어 처리와 관련하여, 상기 TCG의 "TCG Software Stack Specification Version 1.2"에는, 'TPM은 멀티 쓰레드일 필요가 없으므로 TPM 디바이스 드라이버 라이브러리는 단일 쓰레드이어야 한다'라고 기술하고 있으며, 이에 대한 예외로는 현재 수행중인 TPM 명령어를 취소하는 명령어인 "Tddli_Cancel" 명령어가 유일하다. Regarding the instruction processing of the TPM, the TCG "TCG Software Stack Specification Version 1.2" states, "The TPM device driver library must be a single thread because the TPM does not need to be multi-threaded." The only command that cancels the currently running TPM command is the "Tddli_Cancel" command.

그러나, TPM 내부에서 수신한 하나의 TPM 명령어를 처리하고 그 결과를 보내고자 할 때, 그 TPM 명령어를 수행하기 위해서 반드시 순차적으로 수행되어야만 하는 명령어 또는 기능도 있지만, 그렇지 않고 명령어 또는 기능들을 서로 독립적으로 수행하여도 동일한 결과를 얻을 수 있는 경우가 있다.However, when processing a TPM command received inside the TPM and sending the result, there are some commands or functions that must be performed sequentially to execute the TPM command, but the commands or functions are independent of each other. In some cases, the same result can be obtained.

도 2는 종래 방식에 따른 TPM 명령어 처리 과정을 나타낸 흐름도이다.2 is a flowchart illustrating a TPM command processing process according to a conventional method.

도 2를 참조하면, 상기 TPM(20)은 모바일 플랫폼(10)으로부터 TPM 명령어를 수신하면(S11), 상기 TPM 명령어를 수행하고(S12), 부트 로더(boot loader) 실행, TPM 명령어 처리가 완료되면(S13,S14), 상기 TPM 명령어에 대한 응답을 전송하여 처리 결과를 모바일 플랫폼(10)으로 전달한다.Referring to FIG. 2, when the TPM 20 receives a TPM command from the mobile platform 10 (S11), performs the TPM command (S12), executes a boot loader, and completes the TPM command processing. If (S13, S14), the response to the TPM command is transmitted to deliver the processing result to the mobile platform 10.

상기에서, TPM 명령어는 복수의 개별 기능(이하, 내부 기능이라 한다), 예를 들어, 내부 기능 1 내지 내부 기능 5로 구분될 수 있는데, 종래 방식에서는, 상기 내부 기능을 차례대로 순차 처리한다.In the above description, the TPM command may be divided into a plurality of individual functions (hereinafter, referred to as internal functions), for example, internal functions 1 to 5, and in the conventional method, the internal functions are sequentially processed.

따라서, 종래 방식에 의하면, TPM 명령어의 처리 시간은 상기 내부 기능들 각각의 처리 시간의 합만큼 소요되어, TPM 명령어의 처리 시간이 그만큼 길어진다. 특히, 특정 내부 기능을 수행하는데 있어서, 처리 시간이 길어지는 경우 다른 내부 기능의 처리도 그만큼 지연되어 TPM 명령어의 응답 소요 시간이 길어지게 된다.Therefore, according to the conventional method, the processing time of the TPM instruction is as long as the sum of the processing times of each of the internal functions, so that the processing time of the TPM instruction is longer. In particular, in performing a specific internal function, when the processing time becomes longer, the processing of other internal functions is delayed by that amount, and the response time of the TPM command becomes longer.

또한, TPM 명령어의 내부 기능들 중에서 어느 한 내부기능에서 에러가 발생했을 경우, 어느 기능에서 에러가 발생했는지 문제를 디버깅하는데 어려움이 발생할 수 있다.In addition, when an error occurs in any one of the internal functions of the TPM command, it may be difficult to debug the problem in which function the error occurs.

상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, TPM 내부로 전달되는 명령어가 단일 쓰레드 모드로 전송될지라도 TPM 내부에서 그 명령어를 처리함에 있어서는 TPM 명령어의 종류에 따라 멀티 태스킹 기능을 사용하여 처리 속도에 있어서 민감한 명령어들을 빠르게 처리하고, TPM 내부를 구성하는 CPU의 효율성을 높인 TPM 명령어 처리 방법을 제공하는 것이다.An object of the present invention for solving the above problems, even if the command delivered in the TPM is transmitted in a single-threaded mode in the processing of the command in the TPM using the multi-tasking function according to the type of TPM command processing It provides a TPM instruction processing method that processes the speed sensitive instructions quickly and increases the efficiency of the CPU constituting the inside of the TPM.

상기와 같은 본 발명의 목적을 달성하기 위하여, 본 발명의 TPM 명령어 처리 방법은,In order to achieve the object of the present invention as described above, the TPM instruction processing method of the present invention,

TPM 명령어를 수신하는 단계;Receiving a TPM command;

상기 TPM 명령어 처리에 필요한 내부 기능들 중에서, 서로에게 영향을 미치지 않고 독립적인 내부 기능들을 멀티 태스킹으로 처리하는 단계를 포함한다.Among the internal functions required for processing the TPM command, the independent internal functions are processed by multitasking without affecting each other.

또한, 상기 본 발명에 의한 TPM 명령어 처리 방법은, 상기 TPM 명령어를 ㅅ수신하기에 앞서 서로 독립적으로 실행될 수 있는 내부 기능들을 각각 하나의 태스 크로 정의하는 단계를 더 포함한다.In addition, the TPM command processing method according to the present invention further includes defining each of the internal functions that can be executed independently of each other as a task before receiving the TPM command.

또한, 상기 본 발명에 의한 TPM 명령어 처리 방법에 있어서, 상기 서로 독립적으로 실행될 수 있는 내부 기능들을 각각 하나의 태스크로 정의하는 단계는, 서로 영향을 미치는 내부 기능들은 순차적으로 처리되도록 태스크를 구성한다.In the method of processing a TPM command according to the present invention, the step of defining the internal functions that can be executed independently of each other as one task configures the tasks such that internal functions that affect each other are sequentially processed.

또한, 본 발명에 의한 TPM 명령어 처리 방법에 있어서, 상기 하나의 태스크로 정의되는 내부 기능은 TPM 셀프 테스트 기능인 것이 바람직하며, 이외에 빠른 처리가 요구되고 다른 TPM 명령어 처리에 영향을 미치지 않는 TPM 명령어들도 별도의 태스크로 정의될 수 있다.In addition, in the TPM command processing method according to the present invention, it is preferable that the internal function defined as one task is a TPM self test function. In addition, TPM commands that require fast processing and do not affect other TPM command processing are also included. Can be defined as a separate task.

더하여, 본 발명은 상기 목적을 구현하기 위한 다른 수단으로서, 상기 TPM 처리 방법을 이용하여 구현된 무선 단말을 제공하며, 상기 무선 단말은 플랫폼의 무결성 검증을 위해 TPM(Trusted Platform Module) 명령어를 전송하고 그에 대한 응답을 수신하는 모바일 플랫폼; 및 상기 모바일 플랫폼으로부터 TPM 명령어를 수신하면, 상기 TPM 명령어 처리에 필요한 내부 기능들 중에서, 서로에게 영향을 미치지 않고 독립적인 내부 기능들을 멀티 태스킹으로 처리하여, 처리 결과를 응답을 통해 상기 모바일 플랫폼으로 전송하는 TPM을 포함하여 이루어진다.In addition, the present invention provides a wireless terminal implemented using the TPM processing method as another means for implementing the above object, the wireless terminal transmits a Trusted Platform Module (TPM) command for verifying the integrity of the platform A mobile platform receiving a response thereto; And receiving a TPM command from the mobile platform, processing independent internal functions through multitasking without affecting each other among internal functions necessary for processing the TPM command, and transmitting a processing result to the mobile platform through a response. It is made including the TPM.

상기에 의하면, 본 발명은 TPM이라는 하드웨어 보안 모듈을 이용하여 모바일 플랫폼의 무결성을 검증하고자 할 때, TPM 내부에서 TPM 명령어의 처리를 더욱 빠르게 수행할 수 있으며, 또한, TPM 명령어 처리과정에 있어서, 서로 독립적인 기능들을 각각 하나의 태스크로 구성하여 멀티 태스킹으로 처리함으로써, TPM을 구성하는 CPU의 효율적인 사용 및 성능 개선을 도모할 수 있다. According to the above, when the present invention is to verify the integrity of the mobile platform using a hardware security module called TPM, the TPM command can be processed more quickly within the TPM, and in the process of processing the TPM command, Each of the independent functions can be configured as a task and processed by multitasking, so that the CPU and the CPU that make up the TPM can be efficiently used and improved.

또한, 본 발명은 TPM 명령어 처리에 있어서 서로 독립적인 기능들을 각각 하나의 태스크로 구성하여 처리함으로써, TPM 명령어 처리과정에서 발생될 수 있는 에러로 인한 디버깅 문제를 쉽게 해결할 수 있다.In addition, the present invention can easily solve the problem of debugging due to an error that may occur in the process of processing TPM by configuring each of the independent functions in the TPM command processing as a task.

이하 첨부된 도면을 참조하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있는 바람직한 실시 예를 상세히 설명한다. 다만, 본 발명의 바람직한 실시 예에 대한 동작 원리를 상세하게 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다. DETAILED DESCRIPTION Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. However, in describing in detail the operating principle of the preferred embodiment of the present invention, if it is determined that the detailed description of the related known function or configuration may unnecessarily obscure the subject matter of the present invention, the detailed description thereof will be omitted.

또한, 도면 전체에 걸쳐 유사한 기능 및 작용을 하는 부분에 대해서는 동일한 도면 부호를 사용한다.In addition, the same reference numerals are used for parts having similar functions and functions throughout the drawings.

이하에서 설명하는 TPM 명령어 처리 방법은, 도 1에 보인 구조의 무선 단말에 적용되어 구현된다.The TPM command processing method described below is implemented by being applied to the wireless terminal having the structure shown in FIG. 1.

도 3은 본 발명의 바람직한 실시 예에 따른 TPM 명령어 처리 방법을 나타낸 흐름도이다.3 is a flowchart illustrating a TPM command processing method according to an exemplary embodiment of the present invention.

본 발명은, 서로 영향을 미치지 않으며 독립적인 TPM의 내부 기능들을 수행하는 경우, 상기 내부 기능들을 멀티 태스킹으로 처리한다.The present invention multi-tasks the internal functions when they perform the internal functions of independent TPMs without affecting each other.

이를 위하여, 사전에 TPM(Trusted Platform Module)의 내부 기능들 중에서, 서로 독립적으로 실행될 수 있는 내부 기능들을 각각 하나의 태스크로 정의하여 둔다(S21). 상기 도 3에 보인 실시 예에서는, 내부 기능 1 내지 내부 기능 5가 서로 영향을 미치지 않으면 독립적인 내부 기능들로 가정하였으며, 이에 상기 내부 기능 1 내지 내부 기능 5를 각각 하나의 태스크로 정의한다. 더하여, 상호 영향을 미치는 내부 기능들은 순차적으로 처리되도록 태스크를 구성한다. 또한, TPM 명령어의 종류에 따라서, 복수의 내부 기능으로 분리할 수 없는 경우도 있을 수 있다. 이 경우 상기 TPM 명령어가 다른 TPM 명령어의 수행에 영향을 미치지는 않는다면 별도의 태스크로 정의할 수 있다.To this end, among internal functions of the Trusted Platform Module (TPM), internal functions that can be executed independently of each other are defined as one task (S21). In the embodiment shown in FIG. 3, internal functions 1 to 5 are assumed to be independent internal functions unless they affect each other. Therefore, the internal functions 1 to 5 are defined as one task. In addition, it configures the task so that internal functions that interact with each other are processed sequentially. In addition, depending on the type of TPM instruction, there may be a case where it cannot be separated into a plurality of internal functions. In this case, the TPM command may be defined as a separate task unless it affects the performance of other TPM commands.

이후, 본 발명에 의한 TPM은 외부의 모바일 플랫폼으로부터 소정의 TPM 명령어를 수신하면(S22), 상기 TPM 명령어의 처리에 필요하면 독립적으로 구별되는 내부 기능들을 멀티태스킹으로 처리한다(S23). 즉, 상기 TPM 명령어의 처리 과정을 내부 기능1 내지 내부 기능 5로 구분할 수 있다고 할 때, 상기 내부 기능1 내지 내부 기능5가 상호 영향을 미치지 않으면서 독립적인 경우, 상기 내부 기능 1 내지 내부 기능 5를 멀티 태스킹에 의하여 동시에 수행한다.Then, when the TPM according to the present invention receives a predetermined TPM command from the external mobile platform (S22), if necessary to process the TPM command, internal functions that are independently distinguished by multitasking (S23). That is, when the process of the TPM command can be divided into internal functions 1 to 5, the internal functions 1 to 5 are independent when the internal functions 1 to 5 are independent of each other. Is performed simultaneously by multitasking.

그리고, TPM 명령어 처리가 완료되면(S24), 상기 수신된 TPM 명령어에 대한 응답을 플랫폼으로 전송한다(S25). 이때, 상기 복수의 내부 기능들 중에서 상기 수신된 TPM 명령어에 영향을 미치지 않은 내부 기능의 수행이 완료되지 않더라도, 영향을 미치지는 내부 기능의 수행이 완료되면 수신된 TPM 명령어에 대한 응답을 전송하도록 한다.When the TPM command processing is completed (S24), a response to the received TPM command is transmitted to the platform (S25). At this time, even if the execution of the internal function which does not affect the received TPM command is not completed, the response to the received TPM command is transmitted when the execution of the internal function that affects the plurality of internal functions is not completed. .

상기에 의하면, PM 명령어를 처리함에 있어서, 개별적으로 구분되는 여러 내부 기능들이 병행적으로 처리되므로, 최종적으로 TPM 명령어 처리가 끝나는 시간은, 가장 많은 시간이 소요된 하나의 내부기능 수행시간과 동일해진다. 따라서, 종 래 방식에 비하여, TPM 명령어 처리 시간을 단축할 수 있으며, 이는 결과적으로 TPM의 성능 향상을 가져온다.According to the above, in processing the PM command, since several internal functions that are individually separated are processed in parallel, the time when the TPM command processing is finally finished becomes the same as the execution time of one internal function that takes the most time. . Therefore, compared with the conventional method, it is possible to shorten the processing time of the TPM instruction, which results in the performance improvement of the TPM.

또한, TPM 명령어 처리에 있어서 구분 가능한 내부 기능들을 독립적으로 처리함으로써, TPM 처리 과정에서 에러가 발생할 경우 어떠한 내부 기능에서 에러가 발생했는지 쉽게 알 수 있으며, 그 내부 기능만 수정하면 되므로 문제 발생시 디버깅 과정에 있어서도 훨씬 효과적이다.In addition, by independently processing distinguishable internal functions in the TPM command processing, when an error occurs in the TPM processing, it is easy to know which internal function an error has occurred. Even more effective.

도 4 내지 도 7은 특정 TPM 명령어 처리를 예로 들어, 본 발명과 종래의 처리 과정을 비교 설명하기 위한 흐름도이다. 도 4 내지 도 6은 종래 방식에 따른 신호 흐름도이고, 도 7은 본 발명이 적용된 경우의 신호 흐름도이다.4 to 7 are flowcharts illustrating a comparison between the present invention and a conventional process by taking specific TPM command processing as an example. 4 to 6 are signal flow diagrams according to the conventional scheme, and FIG. 7 is a signal flow diagram when the present invention is applied.

일반적으로 TPM은 임의의 TPM_xxx 명령어를 처리하는 경우, TPM 셀프 테스트(Self Test) 과정을 수행하도록 되어 있다. 이에 종래의 방식에 의하면, 임의의 TPM_xxx 명령어를 수신하였을 때에 TPM 셀프 테스트 과정이 완료되지 않으며, 이를 먼저 완료한 후 수신된 명령어를 처리하도록 한다.In general, when the TPM processes an arbitrary TPM_xxx command, the TPM performs a TPM self test process. According to the conventional method, the TPM self-testing process is not completed when an arbitrary TPM_xxx command is received, and then the received command is processed first.

예를 들어, 도 4에 도시된 바에 의하면, 종래에는, 모바일 플랫폼(41)에서 임의의 TPM_xxx 명령어를 TPM(42)으로 전송하면(S41), 상기 TPM(42)은 수신된 명령어를 처리하기 전에 상기 모바일 플랫폼(41)으로 TPM_NEED_SELFTEST 메시지를 전송하여, TPM 셀프 테스트가 필요함을 알린다(S42). 이에 상기 모바일 플랫폼(41)은 TPM 셀프 테스트를 요구하는 TPM_ContinueSelfTest 명령어를 TPM(42)으로 전송하고(S43), 그에 의하여 TPM(42)은 셀프 테스트 과정을 수행한(S44) 후에, 앞서 수신된 TPM_xxx 명령어에 대한 명령어 처리 과정을 수행하고(S45), 상기 TPM_xxx 명령 어에 대한 응답을 모바일 플랫폼(41)으로 전송한다(S46).For example, as shown in FIG. 4, conventionally, when the mobile platform 41 transmits an arbitrary TPM_xxx command to the TPM 42 (S41), the TPM 42 before processing the received command. The TPM_NEED_SELFTEST message is transmitted to the mobile platform 41, indicating that a TPM self test is required (S42). Accordingly, the mobile platform 41 transmits a TPM_ContinueSelfTest command requesting the TPM self test to the TPM 42 (S43), whereby the TPM 42 performs the self test process (S44), and then receives the TPM_xxx previously received. The command processing process for the command is performed (S45), and the response to the TPM_xxx command is transmitted to the mobile platform 41 (S46).

이와 달리, 도 5를 참조하면, 모바일 플랫폼(51)에서 임의의 TPM_xxx 명령어를 TPM(52)으로 전송하면(S51), 상기 TPM(52)은 수신된 명령어를 처리하기 전에 셀프 테스트를 수행하여야 하므로, 모바일 플랫폼(51)으로 TPM_DOING_SELFTEST 메시지를 전송하여 셀프 테스트를 수행함을 알리고 나서(S52), TPM 셀프 테스트 과정을 수행한다(S53). 그리고 셀프 테스트 과정이 완료되면, 앞서 수신된 TPM_xxx 명령어에 대한 명령어 처리 과정을 수행한다(S45). 그리고, 상기 TPM_DOING_SELFTEST 메시지를 수신한 모바일 플랫폼(51)이 소정 시간 경과 후에 다시 TPM_xxx 명령어를 보내면(S54), TPM 셀프 테스트 과정을 마친 TPM은 TPM_xxx 명령어 처리 과정을 수행하고(S55) 그에 대한 결과를 모바일 플랫폼으로 전송한다(S56)In contrast, referring to FIG. 5, when the mobile platform 51 transmits an arbitrary TPM_xxx command to the TPM 52 (S51), the TPM 52 must perform a self test before processing the received command. After transmitting the TPM_DOING_SELFTEST message to the mobile platform 51 to inform the self test (S52), the TPM self test process is performed (S53). When the self test process is completed, the command processing process for the previously received TPM_xxx command is performed (S45). When the mobile platform 51 receiving the TPM_DOING_SELFTEST message sends a TPM_xxx command again after a predetermined time elapses (S54), the TPM that has completed the TPM self-test process performs a TPM_xxx command processing process (S55), and the result thereof is mobile. Send to the platform (S56)

또한, 도 6을 참조하면, 모바일 플랫폼(61)이 TPM_xxx 명령어를 전송하면(S61), TPM(62)은 이 명령어를 처리하기 위해서는 TPM 셀프 테스트 과정을 먼저 수행해야 하므로, 별도의 통보없이 TPM 셀프 테스트를 바로 수행하고(S62), 상기 TPM 셀프 테스트를 완료한 후에 곧바로 TPM_xxx 명령어 처리 과정을 수행하여(S63), 그에 대한 응답을 모바일 플랫폼(61)으로 전송한다(S64).6, when the mobile platform 61 transmits a TPM_xxx command (S61), the TPM 62 must first perform a TPM self test process in order to process the command. After performing the test immediately (S62), and immediately after completing the TPM self-test, the TPM_xxx command processing is immediately performed (S63), and a response thereof is transmitted to the mobile platform 61 (S64).

상기 도 4 내지 도 6에 의하면, 종래의 경우에는 모든 TPM 명령어 및 내부 기능들이 단일 쓰레드로 구성되어 순차적으로 실행되었기 때문에, 어떠한 경우라도 TPM 셀프 테스트를 수행한 후에 TPM_xxx 명령어를 수행하였다. 따라서 모바일 플랫폼측에서 TPM_xxx 명령어에 대한 응답을 수신하게 되는 시간에는 TPM 내에서 수행되는 TPM 자체 테스트 시간만큼 지연되게 된다.4 to 6, in the conventional case, since all TPM instructions and internal functions are executed in a single thread and executed sequentially, in any case, the TPM_xxx instruction is performed after the TPM self test is performed. Therefore, the time when the mobile platform receives a response to the TPM_xxx command is delayed by the TPM self test time performed in the TPM.

그러나 상기 TPM 셀프 테스트 기능의 경우, TPM 명령어 처리시 반드시 수행하여야 하나, 그 수행 결과가 TPM 명령어 처리에는 영향을 미치지 않는다. However, in the case of the TPM self-test function, it must be performed when processing the TPM command, but the execution result does not affect the TPM command processing.

따라서, 본 발명에서는 상기 TPM 셀프 테스트 기능을 하나의 태스크로 정의하고, TPM_xxx 명령어의 내부 기능들을 다른 하나의 태스크로 정의할 수 있다.Therefore, in the present invention, the TPM self test function may be defined as one task, and internal functions of the TPM_xxx command may be defined as another task.

따라서, 본 발명은, 도 7에 도시된 바와 같이, 모바일 플랫폼(71)에서 TPM(72)으로 TPM_xxx 명령어를 전송하면, 상기 TPM(72)은 바로 TPM_xxx 명령어에 대한 처리 과정을 수행하고(S72) 그에 대한 응답을 모바일 플랫폼으로 전송한다(S73). 이때, 상기 TPM 셀프 테스트 기능은 상기 TPM_xxx 명령어 처리와는 독립적으로 멀티 태스킹에 의하여 병행 처리될 수 있다.Therefore, when the TPM_xxx command is transmitted from the mobile platform 71 to the TPM 72 as shown in FIG. 7, the TPM 72 immediately performs a process for the TPM_xxx command (S72). The response is transmitted to the mobile platform (S73). In this case, the TPM self test function may be processed in parallel by multitasking independently of the TPM_xxx command processing.

더 구체적으로 설명하면, TPM의 초기화 과정에서 수행되는 TPM 셀프 테스트 과정에서는 기본적인 몇 개의 내부 기능들에 대해서만 테스트를 수행하고, 나머지 기능들에 대한 테스트는 CPU의 휴지 시간 등을 이용하여 테스트 과정을 완료한다. 따라서, 실제 TPM_xxx 명령어를 수신하는 시점에서는 TPM 셀프 테스트 과정을 완료한 상태이므로, 도 4~6 과 같이 TPM 셀프 테스트에 대한 시간을 단축할 수 있으며, CPU의 휴지 시간을 활용하여 TPM 셀프 테스트 과정을 수행하므로 CPU의 효율성을 높이는 효과가 있다. 또한, TPM이 TPM_xxx 명령어를 수신한 시점에서 TPM 셀프 테스트가 완료되지 않았을 때에는, TPM_xxx 명령어 처리를 위해서 필요한 기능만 셀프 테스트 과정을 수행하고 나머지 기능에 대해서는 TPM 셀프 테스트 전용 태스크로 전달함으로써, TPM_xxx 명령어 처리를 위해 필요없는 기능 테스트에 대해서는 추후에 CPU의 휴지 시간에 하게 함으로써, 빠르고 효율적인 TPM 명령어 처리과정을 수행하게 된다. More specifically, in the TPM self-testing process performed during the initialization of the TPM, only a few basic functions are tested, and the remaining functions are tested using the CPU idle time. do. Therefore, since the TPM self test process is completed when the actual TPM_xxx command is received, the time for the TPM self test can be shortened as shown in FIGS. 4 to 6, and the TPM self test process can be performed by using the idle time of the CPU. This increases the efficiency of the CPU. In addition, when the TPM self-test is not completed when the TPM receives the TPM_xxx command, only the functions necessary for processing the TPM_xxx command are performed by the self test process, and the remaining functions are transferred to the TPM self-test dedicated task, thereby processing the TPM_xxx command. Functional tests that are not necessary for the system can be performed later in the CPU idle time to perform fast and efficient TPM instruction processing.

따라서 무선 단말에 있어서, 본 발명에 의한 TPM 명령어 처리 방법에 의해 동작하는 TPM을 구비하여, 상기 TPM이 모바일 플랫폼과의 통신을 통하여 모바일 플랫폼의 무결성 검증을 수행하도록 함으로써, 상기 무선 단말에 있어서, 무결성 검증에 대한 처리 과정을 보다 신속하게 수행할 수 있게 된다. Therefore, in the wireless terminal, by having a TPM operating by the TPM command processing method according to the present invention, the TPM performs the integrity verification of the mobile platform through communication with the mobile platform, the integrity in the wireless terminal, The verification process can be performed more quickly.

이상에서 설명한 본 발명은 전술한 실시 예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경할 수 있다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 당업자에게 있어 명백할 것이다. The present invention described above is not limited to the above-described embodiments and the accompanying drawings, and it is common in the art that various substitutions, modifications, and changes can be made without departing from the technical spirit of the present invention. It will be apparent to those skilled in the art.

상술한 바에 의하면, 본 발명은 멀티 태스킹 기능을 사용하여 TPM 명령어를 수행할 때, 서로의 영향을 받지 않고, 독립적으로 수행가능 한 기능에 대해 태스크로 정의를 하여 멀티 태스킹으로 처리함으로써, TPM을 구성하는 CPU의 효율적인 활용과 함께 빠른 TPM 명령어 처리 결과를 가져오는 효과가 있다. As described above, when the TPM instruction is executed using the multitasking function, the present invention is not affected by each other and is defined as a task for a function that can be performed independently, and is processed as a multitasking to configure the TPM. In addition to the efficient use of the CPU, the result is a fast TPM instruction processing result.

그 결과, 본 발명은 TPM이라는 하드웨어 보안 모듈을 이용하여 모바일 플랫폼의 무결성을 검증하고자 할 때, TPM 내부에서 TPM 명령어의 처리를 보다 빨리 수행할 수 있다. As a result, when the present invention intends to verify the integrity of the mobile platform using a hardware security module called a TPM, the present invention can perform processing of the TPM instruction faster in the TPM.

또한, 본 발명은 TPM 명령어 처리에 있어서 서로 독립적인 기능들을 각각 하 나의 태스크로 구성하여 처리함으로써, TPM 명령어 처리과정에서 발생될 수 있는 에러로 인한 디버깅 문제를 쉽게 해결할 수 있다.In addition, the present invention can easily solve the problem of debugging due to an error that may occur in the process of processing TPM by configuring each of the functions independent of each other in the processing of the TPM command.

Claims (12)

TPM 명령어를 수신하는 단계;Receiving a TPM command; 상기 TPM 명령어 처리에 필요한 내부 기능 중에서, 서로에게 영향을 미치지 않고 독립적인 내부 기능들을 멀티 태스킹으로 처리하는 단계를 포함하는 TPM 명령어 처리 방법.And among the internal functions required for processing the TPM command, multi-tasking independent internal functions without affecting each other. 제1항에 있어서,The method of claim 1, 상기 TPM 명령어를 수신하기 단계 이전에, TPM(Trusted Platform Module) 명령어의 처리에 있어서 서로 독립적으로 실행될 수 있는 내부 기능들을 각각 하나의 태스크로 정의하는 단계를 더 포함하는 것을 특징으로 하는 TPM 명령어 처리 방법.Before receiving the TPM command, the method further comprises the step of defining each of the internal functions that can be executed independently of each other in the processing of the Trusted Platform Module (TPM) command as a single task. . 제2항에 있어서, 상기 TPM 명령어 처리에 있어서 서로 독립적으로 실행될 수 있는 내부 기능들을 각각 하나의 태스크로 정의하는 단계는,The method of claim 2, wherein each of the internal functions that may be executed independently of each other in the TPM command processing is defined as one task. 서로 영향을 미치는 내부 기능들은 순차적으로 처리되도록 태스크를 구성하는 것을 특징으로 하는 TPM 명령어 처리 방법.TPM instruction processing method characterized in that the task is configured to process internal functions that affect each other sequentially. 제1항에 있어서,The method of claim 1, 상기 하나의 태스크로 정의되는 내부 기능은 TPM 셀프 테스트 기능인 것을 특징으로 하는 TPM 명령어 처리 방법.The internal function defined by the one task is a TPM self-test function. 제4항에 있어서, The method of claim 4, wherein 상기 서로에게 영향을 미치지 않고 독립적인 내부 기능들을 멀티 태스킹으로 처리하는 단계는, TPM 셀프 테스트 기능이 완료되기 전에, 플랫폼으로부터 TPM 명령어가 수신되는 경우, 상기 수신된 TPM 명령어의 내부 기능과 상기 TPM 셀프 테스트 기능을 멀티 태스킹으로 처리하는 단계인 것을 특징으로 하는 TPM 명령어 처리 방법.The multi-tasking independent internal functions without affecting each other may include: when a TPM command is received from a platform before the TPM self test function is completed, the internal function of the received TPM command and the TPM self TPM instruction processing method characterized in that the step of processing the test function by multi-tasking. 제5항에 있어서, The method of claim 5, 상기 플랫폼으로부터 수신된 TPM 명령어의 처리가 완료되면, TPM 셀프 테스트 기능의 수행이 완료되기 전이라도 상기 수신된 TPM 명령어에 대한 응답을 플랫폼으로 전송하는 단계를 더 포함하는 것을 특징으로 하는 TPM 명령어 처리 방법.And when the processing of the TPM command received from the platform is completed, transmitting a response to the received TPM command to the platform even before the execution of the TPM self test function is completed. . 플랫폼의 무결성 검증을 위해 TPM(Trusted Platform Module) 명령어를 전송 하고 그에 대한 응답을 수신하는 모바일 플랫폼; 및A mobile platform for transmitting a Trusted Platform Module (TPM) command and receiving a response thereto for verifying the integrity of the platform; And 상기 모바일 플랫폼으로부터 TPM 명령어를 수신하면, 상기 TPM 명령어 처리에 필요한 내부 기능 중에서, 서로에게 영향을 미치지 않고 독립적인 내부 기능들을 멀티 태스킹으로 처리하고, 처리 결과를 응답을 통해 상기 모바일 플랫폼으로 전송하는 TPM을 포함하는 무선 단말.When receiving the TPM command from the mobile platform, among the internal functions required for processing the TPM command, the TPM processing independent internal functions by multitasking without affecting each other, and transmitting the processing result to the mobile platform through the response. Wireless terminal comprising a. 제7항에 있어서, 상기 TPM은The method of claim 7, wherein the TPM is 각 TPM 명령어의 처리에 있어서 서로 독립적으로 실행될 수 있는 내부 기능들을 각각 하나의 태스크로 정의하여 두는 것을 특징으로 하는 무선 단말.A wireless terminal, characterized in that the internal functions that can be executed independently of each other in the processing of each TPM command are defined as one task. 제8항에 있어서, 상기 TPM은 The method of claim 8, wherein the TPM is 상기 서로 독립적으로 실행될 수 있는 내부 기능들을 각각 하나의 태스크로 정의하는데 있어서, 서로 영향을 미치는 내부 기능들은 순차적으로 처리되도록 태스크를 구성하는 것을 특징으로 하는 무선 단말.And defining the internal functions that can be executed independently of each other as a task, wherein the tasks are configured such that internal functions that affect each other are sequentially processed. 제8항에 있어서,The method of claim 8, 상기 하나의 태스크로 정의되는 내부 기능은 TPM 셀프 테스트 기능인 것을 특징으로 하는 무선 단말.The internal function defined by the one task is a TPM self test function. 제10항에 있어서, 상기 TPM은The method of claim 10, wherein the TPM is TPM 셀프 테스트 기능이 완료되기 전에, 상기 모바일 플랫폼으로부터 다른 TPM 명령어가 수신되는 경우, 상기 수신된 TPM 명령어의 내부 기능과 상기 TPM 셀프 테스트 기능을 멀티 태스킹으로 처리하는 것을 특징으로 하는 무선 단말.And when another TPM command is received from the mobile platform before the TPM self test function is completed, processing the internal function of the received TPM command and the TPM self test function by multitasking. 제11항에 있어서, 상기 TPM은The method of claim 11, wherein the TPM is 상기 모바일 플랫폼으로부터 수신된 TPM 명령어의 처리가 완료되면, TPM 셀프 테스트 기능의 수행이 완료되기 전이라도 상기 수신된 TPM 명령어에 대한 응답을 플랫폼으로 전송하는 것을 특징으로 하는 무선 단말.And when the processing of the TPM command received from the mobile platform is completed, transmitting a response to the received TPM command to the platform even before the execution of the TPM self test function is completed.
KR1020070037944A 2006-12-01 2007-04-18 Method for processing command of TPM and Mobile device using the same KR100850583B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020060120697 2006-12-01
KR20060120697 2006-12-01

Publications (2)

Publication Number Publication Date
KR20080050207A KR20080050207A (en) 2008-06-05
KR100850583B1 true KR100850583B1 (en) 2008-08-06

Family

ID=39805704

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070037944A KR100850583B1 (en) 2006-12-01 2007-04-18 Method for processing command of TPM and Mobile device using the same

Country Status (1)

Country Link
KR (1) KR100850583B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101048842B1 (en) * 2008-12-02 2011-07-13 한국전자통신연구원 Terminal and authentication method of terminal

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001125797A (en) 1999-10-25 2001-05-11 Seiko Epson Corp Multitask system, recording medium with recorded program therefor and working device
KR20040087898A (en) * 2003-04-09 2004-10-15 소니 가부시끼 가이샤 Program processing system, program processing method and computer program
EP1679632A2 (en) 2005-01-07 2006-07-12 Microsoft Corporation Systems and methods for securely booting a computer with a trusted processing module

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001125797A (en) 1999-10-25 2001-05-11 Seiko Epson Corp Multitask system, recording medium with recorded program therefor and working device
KR20040087898A (en) * 2003-04-09 2004-10-15 소니 가부시끼 가이샤 Program processing system, program processing method and computer program
EP1679632A2 (en) 2005-01-07 2006-07-12 Microsoft Corporation Systems and methods for securely booting a computer with a trusted processing module

Also Published As

Publication number Publication date
KR20080050207A (en) 2008-06-05

Similar Documents

Publication Publication Date Title
Feng et al. {P2IM}: Scalable and hardware-independent firmware testing via automatic peripheral interface modeling
Ruge et al. Frankenstein: Advanced wireless fuzzing to exploit new bluetooth escalation targets
US10254337B2 (en) System and method for establishing a trusted diagnosis/debugging agent over a closed commodity device
Lee et al. Delta: A security assessment framework for software-defined networks.
US10417065B2 (en) Method and system for automated agent injection in container environments
US8418143B2 (en) Software reliability test method using selective fault activation, test area restriction method, workload generation method and computing apparatus for testing software reliability using the same
US20130196600A1 (en) System and methods that enable automated testing of mobile devices at a remote monitor site
US20050223362A1 (en) Methods and systems for performing unit testing across multiple virtual machines
RU2005110041A (en) EFFECTIVE CORRECTION OF PROGRAMS
Zhauniarovich et al. Towards black box testing of android apps
Hernandez et al. FIRMWIRE: Transparent dynamic analysis for cellular baseband firmware
US8904388B2 (en) Scripting language executor service for applications
US20050223359A1 (en) Techniques for multi-core debugging
Wang et al. Reevaluating android permission gaps with static and dynamic analysis
Borges Jr et al. Droidmate-2: a platform for android test generation
US9396096B2 (en) Android automated cross-application testing device and method
KR20170019192A (en) Method and apparatus for formal verification of network service in network function virtualization
US10546156B2 (en) MRC training in FPGA-in-memory-controller
US20190121985A1 (en) Detecting vulnerabilities in applications during execution
Riganelli et al. Policy enforcement with proactive libraries
Kim et al. Fuzzusb: Hybrid stateful fuzzing of usb gadget stacks
Mamone et al. On the analysis of real-time operating system reliability in embedded systems
KR100850583B1 (en) Method for processing command of TPM and Mobile device using the same
Feng et al. P $^ 2$ IM: Scalable and Hardware-independent Firmware Testing via Automatic Peripheral Interface Modeling (extended version)
KR102553472B1 (en) Method for testing AT based on AUTOSAR standard

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee