KR102176117B1 - Method for integrity self verification in a resource rich environment - Google Patents
Method for integrity self verification in a resource rich environment Download PDFInfo
- Publication number
- KR102176117B1 KR102176117B1 KR1020180141856A KR20180141856A KR102176117B1 KR 102176117 B1 KR102176117 B1 KR 102176117B1 KR 1020180141856 A KR1020180141856 A KR 1020180141856A KR 20180141856 A KR20180141856 A KR 20180141856A KR 102176117 B1 KR102176117 B1 KR 102176117B1
- Authority
- KR
- South Korea
- Prior art keywords
- integrity
- code
- hash value
- tpm
- verified
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
- H04L2209/127—Trusted platform modules [TPM]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Engineering (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
일 실시예에 따른 무결성 검증 장치에 의해 수행되는 무결성 검증 방법은, 전자 기기의 TPM에서 코드에 대한 해시 값을 저장하는 단계; 및 상기 전자 기기에서 TPM의 부팅 순서에 따라 실행되는 코드의 해시 값과 상기 TPM에 저장된 각각의 코드에 대한 해시 값을 비교하여 무결성을 검증하는 단계를 포함할 수 있다.An integrity verification method performed by an integrity verification apparatus according to an embodiment includes the steps of storing a hash value for a code in a TPM of an electronic device; And verifying integrity by comparing a hash value of a code executed according to a booting order of the TPM in the electronic device with a hash value of each code stored in the TPM.
Description
아래의 설명은 무결성을 검증하는 기술에 관한 것으로, 자원이 충분한 환경에서의 무결성 자체 검증 방법 및 장치에 관한 것이다. The following description relates to a technique for verifying integrity, and to a method and apparatus for verifying integrity in an environment with sufficient resources.
TPM은 TCG(Trusted Computing Group)에서 컴퓨팅 플랫폼의 무결성을 검증하기 위해 제안된 안전한 하드웨어 저장 장치를 말한다. TCG에서 정의하고 있는 신뢰된 플랫폼은 플랫폼이 원래의 의도대로 동작하고 있으며, 플랫폼의 무결성이 유지되고 있음을 증명하여 안전하게 사용 가능한 플랫폼을 의미하며, 이러한 신뢰된 플랫폼을 제공하기 위해서는 TPM이 요구된다.TPM refers to a secure hardware storage device proposed by the Trusted Computing Group (TCG) to verify the integrity of a computing platform. The trusted platform defined by TCG means a platform that can be safely used by proving that the platform is operating as intended and that the integrity of the platform is maintained, and a TPM is required to provide such a trusted platform.
TCG에서 정의된 TPM의 주요 기능은 플랫폼의 무결성을 측정 및 기록하고, 이를 외부에 증명하는 기능, 키와 같은 중요한 데이터를 안전하게 저장하는 기능, 어플리케이션들이 공통으로 사용할 수 있는 암호 라이브러리 제공 기능으로 요약된다. 플랫폼의 무결성 측정 및 기록은 플랫폼의 부팅 과정의 무결성 측정 및 기록뿐만 아니라, 플랫폼상에 운영체제(Operating System, 이하 OS라 약칭한다)가 올라온 후의 시스템 운영 과정에서의 무결성 측정 및 기록까지 포함되며, 외부에서 플랫폼의 무결성을 확인하고자 할 경우에는, 상기 기록된 정보를 바탕으로 무결성을 검증할 수 있는 정보를 제공해야 한다.The main functions of TPM defined in TCG are summarized as the function to measure and record the integrity of the platform, to prove it to the outside, the function to safely store important data such as keys, and the function to provide a cryptographic library that applications can use in common. . Integrity measurement and recording of the platform includes not only measuring and recording the integrity of the booting process of the platform, but also measuring and recording the integrity of the system operation after the operating system (hereinafter abbreviated as OS) is uploaded on the platform. In order to check the integrity of the platform, information that can verify the integrity must be provided based on the recorded information.
이에 컴퓨터 시스템에서 상기 TPM을 이용해서 보안 부팅을 수행하기 위한 여러 가지 방법들이 제안되고 있다.Accordingly, various methods for performing secure booting using the TPM in a computer system have been proposed.
참고자료: 한국공개특허 제10-2008-0050216호, 한국공개특허 제 10-2016-0098756호Reference materials: Korean Laid-Open Patent No. 10-2008-0050216, Korean Laid-Open Patent No. 10-2016-0098756
TPM을 활용한 자체 검증을 통하여 무결성을 검증하는 방법 및 장치를 제공할 수 있다. A method and apparatus for verifying integrity through self-verification using TPM can be provided.
무결성 검증 장치에 의해 수행되는 무결성 검증 방법은, 전자 기기의 TPM에서 코드에 대한 해시 값을 저장하는 단계; 및 상기 전자 기기에서 TPM의 부팅 순서에 따라 실행되는 코드의 해시 값과 상기 TPM에 저장된 각각의 코드에 대한 해시 값을 비교하여 무결성을 검증하는 단계를 포함할 수 있다. The integrity verification method performed by the integrity verification apparatus includes: storing a hash value for a code in a TPM of an electronic device; And verifying integrity by comparing a hash value of a code executed according to a booting order of the TPM in the electronic device with a hash value of each code stored in the TPM.
상기 해시 값을 저장하는 단계는, 상기 TPM에서 하드웨어 초기화를 수행하는 BIOS 코드, 운영체제를 로드하기 위한 OS 로더 코드, 운영체제 코드, 운영체제 구동에 필요한 OS component 코드, 운영체제 상에서 구동하기 위한 응용 프로그램(Application)의 코드에 대한 각각의 해시 값을 생성하고, 상기 생성된 각각의 코드에 대한 각각의 해시 값을 저장소에 저장하는 단계를 포함할 수 있다. The storing of the hash value includes a BIOS code for performing hardware initialization in the TPM, an OS loader code for loading an operating system, an operating system code, an OS component code required for operating the operating system, and an application program for running on the operating system. Generating each hash value for the code of, and storing each hash value for each of the generated codes in a storage.
상기 무결성을 검증하는 단계는, 상기 전자 기기에 전원이 인가됨에 따라 현재 로드되는 BIOS 코드의 해시 값과 TPM의 내부에 저장된 BIOS 코드의 해시 값을 비교하여 1차 무결성을 검증하는 단계를 포함할 수 있다. The verifying the integrity may include verifying primary integrity by comparing a hash value of a BIOS code currently loaded as power is applied to the electronic device and a hash value of a BIOS code stored inside the TPM. have.
상기 무결성을 검증하는 단계는, 상기 1차 무결성을 검증함에 따라 현재 로드되는 OS 로더 코드의 해시 값과 TPM의 내부에 저장된 OS 로더 코드의 해시 값을 비교하여 2차 무결성을 검증하는 단계를 포함하고, 상기 2차 무결성을 검증하는 과정에서 상기 OS 로더의 코드가 변조된 것으로 판단됨에 따라 상기 전자 기기에서 부팅을 미실행하고 시스템을 종료할 수 있다. The verifying the integrity includes verifying the secondary integrity by comparing the hash value of the currently loaded OS loader code with the hash value of the OS loader code stored inside the TPM as the primary integrity is verified, and In the process of verifying the secondary integrity, as it is determined that the code of the OS loader has been altered, the electronic device may not execute booting and terminate the system.
상기 무결성을 검증하는 단계는, 상기 2 차 무결성을 검증함에 따라 현재 로드되는 운영체제 코드의 해시 값과 TPM의 내부에 저장된 운영체제 코드의 해시 값을 비교하여 3차 무결성을 검증하는 단계를 포함할 수 있다. The verifying the integrity may include verifying the third integrity by comparing the hash value of the currently loaded operating system code with the hash value of the operating system code stored inside the TPM as the secondary integrity is verified. .
상기 무결성을 검증하는 단계는, 상기 3차 무결성을 검증함에 따라 현재 로드되는 OS component의 해시 값과 TPM의 내부에 저장된 OS component의 해시 값을 비교하여 4차 무결성을 검증하는 단계를 포함할 수 있다. The verifying the integrity may include verifying the fourth integrity by comparing the hash value of the currently loaded OS component with the hash value of the OS component stored in the TPM as the third integrity is verified. .
상기 무결성을 검증하는 단계는, 상기 4차 무결성을 검증함에 따라 현재 로드되는 응용 프로그램(Application)의 해시 값과 TPM의 내부에 저장된 응용 프로그램의 해시 값과 해시 값을 비교하여 5차 무결성을 검증하는 단계를 포함할 수 있다. In the verifying the integrity, as the fourth integrity is verified, the fifth integrity is verified by comparing the hash value of the currently loaded application with the hash value of the application program stored in the TPM. It may include steps.
무결성 검증 장치는, 전자 기기의 TPM에서 코드에 대한 해시 값을 저장하는 저장부; 및 상기 전자 기기에서 TPM의 부팅 순서에 따라 실행되는 코드의 해시 값과 상기 TPM에 저장된 각각의 코드에 대한 해시 값을 비교하여 무결성을 검증하는 검증부를 포함할 수 있다. The integrity verification apparatus includes: a storage unit for storing a hash value for a code in a TPM of an electronic device; And a verification unit for verifying integrity by comparing a hash value of a code executed according to a booting order of the TPM in the electronic device with a hash value of each code stored in the TPM.
상기 저장부는, 상기 TPM에서 하드웨어 초기화를 수행하는 BIOS 코드, 운영체제를 로드하기 위한 OS 로더 코드, 운영체제 코드, 운영체제 구동에 필요한 OS component 코드, 운영체제 상에서 구동하기 위한 응용 프로그램(Application)의 코드에 대한 각각의 해시 값을 생성하고, 상기 생성된 각각의 코드에 대한 각각의 해시 값을 저장소에 저장할 수 있다. The storage unit includes a BIOS code for performing hardware initialization in the TPM, an OS loader code for loading an operating system, an operating system code, an OS component code required for driving the operating system, and an application code for running on the operating system. A hash value of may be generated, and each hash value for each generated code may be stored in a storage.
상기 무결성 검증부는, 상기 전자 기기에 전원이 인가됨에 따라 현재 로드되는 BIOS 코드의 해시 값과 TPM의 내부에 저장된 BIOS 코드의 해시 값을 비교하여 1차 무결성을 검증할 수 있다. The integrity verification unit may verify primary integrity by comparing a hash value of a BIOS code currently loaded as power is applied to the electronic device with a hash value of a BIOS code stored in the TPM.
상기 무결성 검증부는, 상기 1차 무결성을 검증함에 따라 현재 로드되는 OS 로더 코드의 해시 값과 TPM의 내부에 저장된 OS 로더 코드의 해시 값을 비교하여 2차 무결성을 검증하는 것을 포함하고, 상기 2차 무결성을 검증하는 과정에서 상기 OS 로더의 코드가 변조된 것으로 판단됨에 따라 상기 전자 기기에서 부팅을 미실행하고 시스템을 종료할 수 있다. The integrity verification unit includes verifying the secondary integrity by comparing the hash value of the currently loaded OS loader code with the hash value of the OS loader code stored in the TPM as the primary integrity is verified, and the secondary In the process of verifying the integrity, as it is determined that the code of the OS loader has been altered, the electronic device may not perform booting and terminate the system.
상기 무결성 검증부는, 상기 2 차 무결성을 검증함에 따라 현재 로드되는 운영체제 코드의 해시 값과 TPM의 내부에 저장된 운영체제 코드의 해시 값을 비교하여 3차 무결성을 검증할 수 있다. The integrity verification unit may verify the third integrity by comparing the hash value of the currently loaded operating system code with the hash value of the operating system code stored in the TPM as the secondary integrity is verified.
상기 무결성을 검증하는 단계는, 상기 3차 무결성을 검증함에 따라 현재 로드되는 OS component의 해시 값과 TPM의 내부에 저장된 OS component의 해시 값을 비교하여 4차 무결성을 검증할 수 있다. In the verifying the integrity, the fourth integrity may be verified by comparing the hash value of the currently loaded OS component with the hash value of the OS component stored in the TPM as the third integrity is verified.
상기 무결성을 검증하는 단계는, 상기 4차 무결성을 검증함에 따라 현재 로드되는 응용 프로그램(Application)의 해시 값과 TPM의 내부에 저장된 응용 프로그램의 해시 값과 해시 값을 비교하여 5차 무결성을 검증할 수 있다. In the verifying the integrity, as the fourth integrity is verified, the fifth integrity is verified by comparing the hash value of the currently loaded application with the hash value of the application stored in the TPM. I can.
TPM을 활용하여 전자 기기에서 구동되는 코드의 무결성을 자체적으로 검증할 수 있다. By using the TPM, it is possible to self-verify the integrity of codes running in electronic devices.
비정상행위를 탐지하는 핵심적인 코드의 위/변조를 탐지하기 위하여 실행되는 코드의 무결성을 검증함으로써 비정상행위의 탐지가 무력화되는 것을 방지할 수 있다. In order to detect the forgery/modification of the core code that detects abnormal behavior, it is possible to prevent the detection of abnormal behavior from being neutralized by verifying the integrity of the executed code.
도 1은 일 실시예에 따른 무결성 검증 장치의 구성을 설명하기 위한 블록도이다.
도 2는 일 실시예에 따른 무결성 검증 장치에서 수행되는 무결성 검증 방법을 설명하기 위한 흐름도이다.
도 3은 일 실시예에 따른 무결성 검증 장치에서 TPM을 활용한 자가 점검 동작을 설명하기 위한 도면이다.
도 4는 일 실시예에 따른 무결성 검증 장치에서 TPM을 활용한 자가 점검을 통하여 무결성을 검증하는 동작을 설명하기 위한 도면이다.1 is a block diagram illustrating a configuration of an integrity verification apparatus according to an embodiment.
2 is a flowchart illustrating an integrity verification method performed by an integrity verification apparatus according to an exemplary embodiment.
3 is a diagram illustrating a self-check operation using a TPM in an integrity verification apparatus according to an embodiment.
4 is a diagram for explaining an operation of verifying integrity through self-inspection using a TPM in the integrity verification apparatus according to an embodiment.
이하, 실시예를 첨부한 도면을 참조하여 상세히 설명한다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings.
정상 및 비정상적인 행위를 규칙으로 명세하고, 명세한 규칙을 위반하는 행위를 추적함으로써 신종 및 변종의 악성코드를 탐지할 수 있다. 다시 말해서, 비정상적인 행위를 탐지하는 주체는 명세한 규칙이 적용된 상태기계이며, 비정상적인 상태를 추적함으로써 악성코드를 탐지한다. 이에 따라. 상태를 점검하는 상태기계의 코드는 비정상적인 행위를 탐지하는 핵심적인 코드이고 그 외의 전자 기기를 운용하기 위한 센서 및 액츄에이터 등을 동작시키는 실행코드도 핵심적인 코드이며, 해당 코드가 위/변조되는 경우에는 실시예에서 제안하는 규칙 명세 기반의 악의적인 행위 탐지 방안이 무력화될 가능성이 존재한다. 상태기계를 포함한 비정상행위를 탐지하는 핵심적인 코드의 위/변조를 탐지하기 위하여 실행되는 코드의 무결성을 검증함으로써 비정상행위의 탐지가 무력화되는 것을 방지하기 위한 자가 점검 방법을 설명하기로 한다. By specifying normal and abnormal behaviors as rules, and tracking behaviors that violate the specified rules, new and variant malicious codes can be detected. In other words, the subject that detects abnormal behavior is a state machine to which specified rules are applied, and detects malicious codes by tracking abnormal conditions. Accordingly. The code of the state machine that checks the state is the core code that detects abnormal behavior, and the execution code that operates sensors and actuators to operate other electronic devices is also the core code, and if the code is forged/modified There is a possibility that the method for detecting malicious behavior based on the rule specification proposed in the embodiment will be neutralized. In order to detect forgery/modification of core code that detects abnormal behavior including state machine, we will describe a self-checking method to prevent the detection of abnormal behavior from being neutralized by verifying the integrity of the executed code.
도 1은 일 실시예에 따른 무결성 검증 장치의 구성을 설명하기 위한 블록도이고, 도 2는 일 실시예에 따른 무결성 검증 장치에서 수행되는 무결성 검증 방법을 설명하기 위한 흐름도이다.1 is a block diagram illustrating a configuration of an integrity verification apparatus according to an embodiment, and FIG. 2 is a flowchart illustrating an integrity verification method performed by an integrity verification apparatus according to an embodiment.
무결성 검증 장치(100)의 프로세서는 저장부(110) 및 무결성 검증부(120)를 포함할 수 있다. 이러한 무결성 검증 장치(100)의 프로세의 구성요소들은 무결성 검증 장치에 저장된 프로그램 코드가 제공하는 제어 명령에 따라 프로세서에 의해 수행되는 서로 다른 기능들(different functions)의 표현들일 수 있다. 프로세서 및 프로세서의 구성요소들은 도 2의 무결성 검증 방법이 포함하는 단계들(210 내지 220)을 수행하도록 무결성 검증 장치를 제어할 수 있다. 이때, 프로세서 및 프로세서의 구성요소들은 메모리가 포함하는 운영체제의 코드와 적어도 하나의 프로그램의 코드에 따른 명령(instruction)을 실행하도록 구현될 수 있다.The processor of the
프로세서는 무결성 검증 방법을 위한 프로그램의 파일에 저장된 프로그램 코드를 메모리에 로딩할 수 있다. 예를 들면, 무결성 검증 장치에서 프로그램이 실행되면, 프로세서는 운영체제의 제어에 따라 프로그램의 파일로부터 프로그램 코드를 메모리에 로딩하도록 무결성 검증 장치를 제어할 수 있다. 이때, 프로세서 및 프로세서가 포함하는 저장부(110) 및 무결성 검증부(120) 각각은 메모리에 로딩된 프로그램 코드 중 대응하는 부분의 명령을 실행하여 이후 단계들(210 내지 220)을 실행하기 위한 프로세서의 서로 다른 기능적 표현들일 수 있다. The processor may load the program code stored in the program file for the integrity verification method into the memory. For example, when a program is executed in the integrity verification device, the processor may control the integrity verification device to load the program code from the program file into the memory under the control of the operating system. At this time, each of the processor and the
단계(210)에서 저장부(110)는 전자 기기의 TPM에서 코드에 대한 해시 값을 저장할 수 있다. 저장부(110)는 TPM에서 하드웨어 초기화를 수행하는 BIOS 코드, 운영체제를 로드하기 위한 OS 로더 코드, 운영체제 코드, 운영체제 구동에 필요한 OS component 코드, 운영체제 상에서 구동하기 위한 응용 프로그램(Application)의 코드에 대한 각각의 해시 값을 생성하고, 생성된 각각의 코드에 대한 각각의 해시 값을 저장소에 저장할 수 있다. In
단계(220)에서 무결성 검증부(120)는 전자 기기에서 TPM의 부팅 순서에 따라 실행되는 코드의 해시 값과 TPM에 저장된 각각의 코드에 대한 해시 값을 비교하여 무결성을 검증할 수 있다. 무결성 검증부(120)는 전자 기기에 전원이 인가됨에 따라 현재 로드되는 BIOS 코드의 해시 값과 TPM의 내부에 저장된 BIOS 코드의 해시 값을 비교하여 1차 무결성을 검증할 수 있다. 무결성 검증부(120)는 1차 무결성을 검증함에 따라 현재 로드되는 OS 로더 코드의 해시 값과 TPM의 내부에 저장된 OS 로더 코드의 해시 값을 비교하여 2차 무결성을 검증할 수 있다. 이때, 2차 무결성을 검증하는 과정에서 OS 로더의 코드가 변조된 것으로 판단됨에 따라 전자 기기에서 부팅을 미실행하고 시스템을 종료할 수 있다. 무결성 검증부(120)는 2 차 무결성을 검증함에 따라 현재 로드되는 운영체제 코드의 해시 값과 TPM의 내부에 저장된 운영체제 코드의 해시 값을 비교하여 3차 무결성을 검증할 수 있다. 무결성 검증부(120)는3차 무결성을 검증함에 따라 현재 로드되는 OS component의 해시 값과 TPM의 내부에 저장된 OS component의 해시 값을 비교하여 4차 무결성을 검증할 수 있다. 무결성 검증부(120)는 4차 무결성을 검증함에 따라 현재 로드되는 응용 프로그램 (Application)의 해시 값과 TPM의 내부에 저장된 응용 프로그램의 해시 값과 해시 값을 비교하여 5차 무결성을 검증할 수 있다. In
도 3은 일 실시예에 따른 무결성 검증 장치에서 TPM을 활용한 자가 점검 동작을 설명하기 위한 도면이다. 3 is a diagram illustrating a self-check operation using a TPM in an integrity verification apparatus according to an embodiment.
TPM을 활용한 무결성 검증 방법은 전자 기기(예를 들면, UAV)가 복잡한 연산을 위한 성능을 만족하고, 많은 정보를 저장할 충분한 저장공간을 확보한 경우, 그리고 복수 개의 전자 기기(예를 들면, UAV)가 운용되는 상황에서 각 개체 간 다양한 원인으로 인하여 통신이 불가능하여 상호 검증을 할 수 없는 경우, 또한 처음 전원이 인가되는 상황에서 코드의 무결성을 검증할 경우에 적용이 가능하다. 이하, 전자 기기로 UAV(무인 비행기)를 예를 들어 설명하기로 한다.Integrity verification method using TPM is when an electronic device (e.g., UAV) satisfies the performance for complex computation, secures sufficient storage space to store a lot of information, and a plurality of electronic devices (e.g., UAV) It is applicable when mutual verification cannot be performed because communication is impossible due to various causes between each entity in a situation in which) is operated, or when the integrity of the code is verified when the power is first applied. Hereinafter, a UAV (unmanned aerial vehicle) as an electronic device will be described as an example.
상기 방법은 UAV에서 구동되는 모든 코드가 위/변조되지 않았음을 증명하기 위하여 구동에 필요한 다양한 코드에 대하여 해시와 같은 무결성을 검증하기 위한 값을 생성하여 안전한 저장소에 저장하며, 이후 부팅 시, BIOS부터 OS 로더, OS, OS component, 응용 프로그램(Application)에 이르기까지 저장된 해시 값을 기반으로 각 코드의 무결성을 차례대로 검증한다. 만약 공격자에 의하여 이 중 하나의 코드가 변경될 경우에는 전체 코드에 대한 해시 값이 달라지므로 코드가 변조된 것을 탐지하는 것이 가능하다. 이에 대한 검증 절차를 상세하게 설명하기로 한다. The above method generates values for verifying integrity such as hashes for various codes required for driving in order to prove that all codes driven by UAV are not forged/modified, and stores them in a secure storage. The integrity of each code is sequentially verified based on the hash value stored from the OS loader, OS, OS component, and application program. If one of these codes is changed by an attacker, the hash value for the entire code is changed, so it is possible to detect that the code has been altered. The verification procedure for this will be described in detail.
TPM은 플랫폼의 신뢰성을 보장하기 위한 모듈로, 내부에 데이터 및 키, 인증서와 같은 비밀정보를 안전하게 저장할 수 있는 저장 공간을 확보하고 있어 코드의 무결성 검증 및 데이터의 안전성을 보장하는 것이 가능하다. 이러한 특성으로 인하여 플랫폼에서 구동되는 프로그램의 신뢰성을 보장함으로써 부팅에 필요한 코드 및 운영체제, 응용 프로그램의 무결성을 검증할 수 있어 플랫폼을 보호하는 환경을 제공한다. 이러한 이유로 TPM은 UAV 환경에서 반드시 보호되어야 하는 상태기계 코드 및 UAV 운용 코드의 무결성을 검증하기 위한 방안으로 활용이 가능하다. TPM is a module to guarantee the reliability of the platform, and it has a storage space to safely store secret information such as data, keys, and certificates inside, so it is possible to verify the integrity of the code and ensure the safety of the data. Due to these characteristics, it is possible to verify the integrity of the code required for booting, the operating system, and application programs by ensuring the reliability of programs running on the platform, providing an environment that protects the platform. For this reason, the TPM can be used as a method to verify the integrity of the state machine code and UAV operation code that must be protected in the UAV environment.
도 3에 도시된 바와 같이, UAV에서 부팅에 필요한 코드부터 응용 프로그램의 코드에 대한 무결성을 검증하기 위한 해시 값을 생성하여 안전한 저장소에 저장할 수 있다. 이때, UAV에서 구동되는 코드를 살펴보면, 하드웨어 초기화 등을 수행하는 BIOS 코드(310), 운영체제를 로드하기 위한 OS 로더 코드(320), 운영체제 코드(330), 운영체제 구동에 필요한 OS component 코드(340), 운영체제 상에서 구동하기 위한 응용 프로그램의 코드(350) 등이 있을 수 있으며, 순수한 시스템 및 제작이 완료된 UAV에서 필요한 모든 프로그램의 해시 값을 TPM 내의 안전한 저장 공간에 저장할 수 있다. As shown in FIG. 3, a hash value for verifying the integrity of the code of the application program from the code required for booting in the UAV can be generated and stored in a secure storage. At this time, looking at the code driven in the UAV, the
이후, UAV에 전원이 인가되는 경우, TPM(300)에서 부팅 순서에 따라 TPM 내부에 저장된 BIOS 코드의 해시 값과 현재 로드되는 BIOS 코드의 해시 값을 비교함으로써 무결성을 확인할 수 있다. 이러한 무결성을 확인하는 과정에서 코드가 변경되지 않았다면 다음 순서인 OS 로더 코드의 해시 값과 TPM 내부에 저장된 OS 로더 코드의 해시 값을 비교함으로써 무결성을 확인할 수 있다. 만약 이러한 무결성을 확인하는 과정에서 공격자에 의하여 악의적인 코드가 삽입되어 코드가 변조되었다면, OS 로더 코드의 해시 값은 해시의 특성에 따라 전혀 다른 값이 생성되며, 이는 내부에 저장된 순수한 OS 로더 코드의 해시 값과 다르므로 코드가 변조된 것으로 검증할 수 있다. 이에 따라 코드가 변조된 것을 확인한다면, 해당 UAV는 악성코드, 혹은 어떠한 원인으로 인하여 정상적인 행위를 수행할 수 없을 것으로 판단하여 부팅하지 않고 시스템을 종료하게 된다. 그 이후의 OS 및 OS component, 응용 프로그램도 각각 TPM 내부에 저장된 해시 값과 현재 로드되는 코드의 해시 값과 비교함으로써 무결성을 검증할 수 있다.Thereafter, when power is applied to the UAV, integrity can be verified by comparing the hash value of the BIOS code stored in the TPM with the hash value of the BIOS code currently loaded in the
이때, 공격자가 특정 UAV에 공격을 시도하여 상태 기계와 관련된 코드 중 일부를 변조하여 항상 옳은 상태임을 나타내도록 한 경우, 제안하는 TPM을 활용한 자가 점검 로직에서의 무결성을 검증하는 동작을 도 4에서 구체적으로 설명하기로 한다. At this time, when an attacker attempts to attack a specific UAV and modulates some of the code related to the state machine to indicate that it is always in the correct state, the operation of verifying the integrity in the self-check logic using the proposed TPM is shown in FIG. It will be described in detail.
도 4는 일 실시예에 따른 무결성 검증 장치에서 TPM을 활용한 자가 점검을 통하여 무결성을 검증하는 동작을 설명하기 위한 도면이다4 is a diagram for explaining an operation of verifying integrity through self-inspection using a TPM in an integrity verification apparatus according to an embodiment
공격자(400)는 적국 지역을 정찰하기 위하여 공격 대상 UAV에 침투하여 UAV를 공격자가 원하는 위치로 이동시키려고 하며, 이를 위하여 GPS 정보 조작을 위한 수신 코드 변경, 모터 제어 코드 변경 등을 시도하는 악성코드를 삽입하였다고 가정하기로 한다. The
Step 1. UAV가 부팅이 시작되면, TPM(300) 및 BBB에서 BIOS 코드(310)의 MAC(MB)을 검증할 수 있다. TPM 내에 저장된 BIOS의 해시 값과 부팅 시점에서 실행되기 위하여 로드되는 BIOS 코드의 해시 값을 비교할 수 있다. 다시 말해서, TPM 내에 저장된 BIOS의 MB와 부팅 시점에서 실행되기 위하여 로드되는 BIOS 코드의 MAC 결과와 비교할 수 있다. 공격자(400)는 응용 프로그램(Application) 코드를 변조하였기 때문에 BIOS는 무결한 것으로 판단되어 BIOS를 실행하며, OS Loader의 무결성을 검증할 수 있다.Step 1. When the UAV starts booting, the MAC (M B ) of the
Step 2. BIOS의 무결성을 검증한 후, OS Loader를 실행하기 위하여 OS Loader 코드(320)의 무결성을 검증할 수 있다. TPM 내에 저장된 OS Loader의 해시 값과 현재 로드되는 OS Loader의 해시 값을 비교할 수 있다. 다시 말해서, TPM 내에 저장된 OS Loader의 MAC(MOL)과 현재 로드되는 OS Loader의 MAC 결과와 비교할 수 있다. 공격자는 Application 코드를 변조하였기 때문에 OS Loader는 무결한 것으로 판단되어 OS Loader를 실행하며, 운영체제의 무결성을 검증할 수 있다. Step 2. After verifying the integrity of the BIOS, it is possible to verify the integrity of the
Step 3. OS Loader의 무결성을 검증한 후, 운영체제(OS)를 실행하기 위하여 OS코드(330)의 무결성을 검증할 수 있다. TPM 내에 저장된 OS의 해시 값과 현재 로드되는 OS의 해시 값을 비교할 수 있다. 다시 말해서, TPM 내에 저장된 OS의 MAC(MO)과 현재 로드되는 OS의 MAC 결과와 비교할 수 있다. 공격자는 Application 코드를 변조하였기 때문에 OS는 무결한 것으로 판단되어 OS를 실행하며, OS Component의 무결성을 검증할 수 있다. Step 3. After verifying the integrity of the OS Loader, the integrity of the
Step 4. OS의 무결성을 검증한 후, OS Component를 실행하기 위하여 OS Component 코드(340)의 무결성을 검증할 수 있다. TPM 내에 저장된 OS Component의 해시 값과 현재 로드되는 OS Component의 해시 값을 비교할 수 있다. 다시 말해서, TPM 내에 저장된 OS Component의 MAC(MOC)과 현재 로드되는 OS Component의 MAC 결과와 비교할 수 있다. 공격자는 Application 코드를 변조하였기 때문에 OS Component는 무결한 것으로 판단되어 OS Component를 실행하며, Application의 무결성을 검증할 수 있다. Step 4. After verifying the integrity of the OS, it is possible to verify the integrity of the
Step 5. OS Component의 무결성을 검증한 후, Application을 실행하기 위하여 Application 코드(350)의 무결성을 검증할 수 있다. TPM 내에 저장된 Application의 해시 값과 현재 로드되는 Application의 해시 값을 비교할 수 있다. 다시 말해서, TPM 내에 저장된 Application의 MAC(MA)과 현재 로드되는 Application의 MAC 결과와 비교할 수 있다. 이때, 공격자는 Application 코드 중 GPS 정보 조작을 위한 수신 코드 변경, 모터 제어 코드 등을 변경하였으므로 생성되는 MAC 값은 원본 Application의 MAC 값인 MA가 아닌 MX의 결과를 가질 수 있다. 따라서 Application의 무결성을 검증함으로써 코드 중 일부가 조작된 것을 탐지할 수 있다. 이와 같이, 보호되어야 하는 필수적인 코드의 무결성을 검증하는 자가 점검이 가능하다.Step 5. After verifying the integrity of the OS component, it is possible to verify the integrity of the
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The apparatus described above may be implemented as a hardware component, a software component, and/or a combination of a hardware component and a software component. For example, the devices and components described in the embodiments are, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA). , A programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions, such as one or more general purpose computers or special purpose computers. The processing device may execute an operating system (OS) and one or more software applications executed on the operating system. In addition, the processing device may access, store, manipulate, process, and generate data in response to the execution of software. For the convenience of understanding, although it is sometimes described that one processing device is used, one of ordinary skill in the art, the processing device is a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that it may include. For example, the processing device may include a plurality of processors or one processor and one controller. In addition, other processing configurations are possible, such as a parallel processor.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of these, configuring the processing unit to behave as desired or processed independently or collectively. You can command the device. Software and/or data may be interpreted by a processing device or to provide instructions or data to a processing device, of any type of machine, component, physical device, virtual equipment, computer storage medium or device. Can be embodyed. The software may be distributed over networked computer systems and stored or executed in a distributed manner. Software and data may be stored on one or more computer-readable recording media.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like alone or in combination. The program instructions recorded on the medium may be specially designed and configured for the embodiment, or may be known and usable to those skilled in computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks. -A hardware device specially configured to store and execute program instructions such as magneto-optical media, and ROM, RAM, flash memory, and the like. Examples of the program instructions include not only machine language codes such as those produced by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described by the limited embodiments and drawings, various modifications and variations are possible from the above description by those of ordinary skill in the art. For example, the described techniques are performed in a different order from the described method, and/or components such as a system, structure, device, circuit, etc. described are combined or combined in a form different from the described method, or other components Alternatively, even if substituted or substituted by an equivalent, an appropriate result can be achieved.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and claims and equivalents fall within the scope of the claims to be described later.
Claims (14)
전자 기기의 TPM에서 코드에 대한 해시 값을 저장하는 단계; 및
상기 전자 기기에서 TPM의 부팅 순서에 따라 실행되는 코드의 해시 값과 상기 TPM에 저장된 각각의 코드에 대한 해시 값을 비교하여 무결성을 검증하는 단계
를 포함하고,
상기 해시 값을 저장하는 단계는,
상기 TPM에서 하드웨어 초기화를 수행하는 BIOS 코드, 운영체제를 로드하기 위한 OS 로더 코드, 운영체제 코드, 운영체제 구동에 필요한 OS component 코드, 운영체제 상에서 구동하기 위한 응용 프로그램(Application)의 코드에 대한 각각의 해시 값을 생성하고, 상기 생성된 각각의 코드에 대한 각각의 해시 값을 저장소에 저장하는 단계
를 포함하고,
상기 무결성을 검증하는 단계는,
상기 전자 기기에 전원이 인가됨에 따라 현재 로드되는 BIOS 코드의 해시 값과 TPM의 내부에 저장된 BIOS 코드의 해시 값을 비교하여 1차 무결성을 검증하고, 상기 1차 무결성을 검증함에 따라 현재 로드되는 OS 로더 코드의 해시 값과 TPM의 내부에 저장된 OS 로더 코드의 해시 값을 비교하여 2차 무결성을 검증하고, 상기 2 차 무결성을 검증함에 따라 현재 로드되는 운영체제 코드의 해시 값과 TPM의 내부에 저장된 운영체제 코드의 해시 값을 비교하여 3차 무결성을 검증하고, 상기 3차 무결성을 검증함에 따라 현재 로드되는 OS component의 해시 값과 TPM의 내부에 저장된 OS component의 해시 값을 비교하여 4차 무결성을 검증하고, 상기 4차 무결성을 검증함에 따라 현재 로드되는 응용 프로그램(Application)의 해시 값과 TPM의 내부에 저장된 응용 프로그램의 해시 값과 해시 값을 비교하여 5차 무결성을 검증하는 단계
를 포함하는 무결성 검증 방법. In the integrity verification method performed by the integrity verification device,
Storing a hash value for the code in the TPM of the electronic device; And
Verifying integrity by comparing a hash value of a code executed in the electronic device according to a booting order of a TPM with a hash value of each code stored in the TPM
Including,
Storing the hash value,
Each hash value for the BIOS code performing hardware initialization in the TPM, the OS loader code for loading the operating system, the operating system code, the OS component code required for driving the operating system, and the code of an application program for running on the operating system Generating and storing each hash value for each of the generated codes in a storage
Including,
The step of verifying the integrity,
As power is applied to the electronic device, primary integrity is verified by comparing the hash value of the BIOS code currently loaded with the hash value of the BIOS code stored inside the TPM, and the OS currently loaded by verifying the primary integrity Secondary integrity is verified by comparing the hash value of the loader code with the hash value of the OS loader code stored inside the TPM, and as the secondary integrity is verified, the hash value of the currently loaded operating system code and the operating system stored inside the TPM The third integrity is verified by comparing the hash value of the code, and as the third integrity is verified, the fourth integrity is verified by comparing the hash value of the currently loaded OS component with the hash value of the OS component stored inside the TPM. And verifying the fifth integrity by comparing the hash value of the currently loaded application with the hash value of the application stored inside the TPM as the fourth integrity is verified.
Integrity verification method comprising a.
상기 무결성을 검증하는 단계는,
상기 2차 무결성을 검증하는 과정에서 상기 OS 로더의 코드가 변조된 것으로 판단됨에 따라 상기 전자 기기에서 부팅을 미실행하고 시스템을 종료하는 단계
를 포함하는 무결성 검증 방법. The method of claim 1,
The step of verifying the integrity,
In the process of verifying the secondary integrity, as it is determined that the code of the OS loader has been altered, the electronic device does not perform booting and terminates the system.
Integrity verification method comprising a.
전자 기기의 TPM에서 코드에 대한 해시 값을 저장하는 저장부; 및
상기 전자 기기에서 TPM의 부팅 순서에 따라 실행되는 코드의 해시 값과 상기 TPM에 저장된 각각의 코드에 대한 해시 값을 비교하여 무결성을 검증하는 무결성 검증부
를 포함하고,
상기 저장부는,
상기 TPM에서 하드웨어 초기화를 수행하는 BIOS 코드, 운영체제를 로드하기 위한 OS 로더 코드, 운영체제 코드, 운영체제 구동에 필요한 OS component 코드, 운영체제 상에서 구동하기 위한 응용 프로그램(Application)의 코드에 대한 각각의 해시 값을 생성하고, 상기 생성된 각각의 코드에 대한 각각의 해시 값을 저장소에 저장하는 것을 포함하고,
상기 무결성 검증부는,
상기 전자 기기에 전원이 인가됨에 따라 현재 로드되는 BIOS 코드의 해시 값과 TPM의 내부에 저장된 BIOS 코드의 해시 값을 비교하여 1차 무결성을 검증하고, 상기 1차 무결성을 검증함에 따라 현재 로드되는 OS 로더 코드의 해시 값과 TPM의 내부에 저장된 OS 로더 코드의 해시 값을 비교하여 2차 무결성을 검증하고, 상기 2 차 무결성을 검증함에 따라 현재 로드되는 운영체제 코드의 해시 값과 TPM의 내부에 저장된 운영체제 코드의 해시 값을 비교하여 3차 무결성을 검증하고, 상기 3차 무결성을 검증함에 따라 현재 로드되는 OS component의 해시 값과 TPM의 내부에 저장된 OS component의 해시 값을 비교하여 4차 무결성을 검증하고, 상기 4차 무결성을 검증함에 따라 현재 로드되는 응용 프로그램(Application)의 해시 값과 TPM의 내부에 저장된 응용 프로그램의 해시 값과 해시 값을 비교하여 5차 무결성을 검증하는
무결성 검증 장치. In the integrity verification device,
A storage unit for storing a hash value for a code in the TPM of the electronic device; And
Integrity verification unit that verifies integrity by comparing a hash value of a code executed in the electronic device according to a booting sequence of a TPM with a hash value of each code stored in the TPM
Including,
The storage unit,
Each hash value for the BIOS code performing hardware initialization in the TPM, the OS loader code for loading the operating system, the operating system code, the OS component code required for driving the operating system, and the code of an application program for running on the operating system Generating and storing each hash value for each generated code in a storage,
The integrity verification unit,
As power is applied to the electronic device, primary integrity is verified by comparing the hash value of the BIOS code currently loaded with the hash value of the BIOS code stored inside the TPM, and the OS currently loaded by verifying the primary integrity Secondary integrity is verified by comparing the hash value of the loader code with the hash value of the OS loader code stored inside the TPM, and as the secondary integrity is verified, the hash value of the currently loaded operating system code and the operating system stored inside the TPM The third integrity is verified by comparing the hash value of the code, and as the third integrity is verified, the fourth integrity is verified by comparing the hash value of the currently loaded OS component with the hash value of the OS component stored inside the TPM. As the fourth integrity is verified, the fifth integrity is verified by comparing the hash value of the currently loaded application with the hash value of the application stored inside the TPM.
Integrity verification device.
상기 무결성 검증부는,
상기 2차 무결성을 검증하는 과정에서 상기 OS 로더의 코드가 변조된 것으로 판단됨에 따라 상기 전자 기기에서 부팅을 미실행하고 시스템을 종료하는
것을 특징으로 하는 무결성 검증 장치. The method of claim 8,
The integrity verification unit,
In the process of verifying the secondary integrity, as it is determined that the code of the OS loader has been altered, the electronic device does not perform booting and terminates the system.
Integrity verification device, characterized in that.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180141856A KR102176117B1 (en) | 2018-11-16 | 2018-11-16 | Method for integrity self verification in a resource rich environment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180141856A KR102176117B1 (en) | 2018-11-16 | 2018-11-16 | Method for integrity self verification in a resource rich environment |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200057439A KR20200057439A (en) | 2020-05-26 |
KR102176117B1 true KR102176117B1 (en) | 2020-11-09 |
Family
ID=70915251
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180141856A KR102176117B1 (en) | 2018-11-16 | 2018-11-16 | Method for integrity self verification in a resource rich environment |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102176117B1 (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100872175B1 (en) * | 2006-12-01 | 2008-12-09 | 한국전자통신연구원 | Secure booting apparatus and method of mobile platform using TPM |
-
2018
- 2018-11-16 KR KR1020180141856A patent/KR102176117B1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100872175B1 (en) * | 2006-12-01 | 2008-12-09 | 한국전자통신연구원 | Secure booting apparatus and method of mobile platform using TPM |
Also Published As
Publication number | Publication date |
---|---|
KR20200057439A (en) | 2020-05-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10740468B2 (en) | Multiple roots of trust to verify integrity | |
JP6842367B2 (en) | Malicious code detection system and method in files | |
JP6282305B2 (en) | System and method for safe execution of code in hypervisor mode | |
US9372699B2 (en) | System and method for processing requests to alter system security databases and firmware stores in a unified extensible firmware interface-compliant computing device | |
KR101242224B1 (en) | Computer system and method with anti-malware | |
US11194586B2 (en) | Secure boot override in a computing device equipped with unified-extensible firmware interface (UEFI)-compliant firmware | |
US9836611B1 (en) | Verifying the integrity of a computing platform | |
JP2018041438A5 (en) | ||
KR20200052957A (en) | Security control method and computer system | |
US11170077B2 (en) | Validating the integrity of application data using secure hardware enclaves | |
CN112699419A (en) | Method for secure execution of an extensible firmware application and a computer device | |
CN109804378A (en) | BIOS safety | |
US20170046513A1 (en) | Firmware authentication | |
CN114651253A (en) | Virtual environment type verification for policy enforcement | |
KR102131689B1 (en) | An efficient control-flow integrity vefifing method based on unpredictability | |
WO2015053019A1 (en) | Control system and authentication device | |
KR102176117B1 (en) | Method for integrity self verification in a resource rich environment | |
EP3440586B1 (en) | Method for write-protecting boot code if boot sequence integrity check fails | |
CN101458749A (en) | Protected computing environment | |
KR102176115B1 (en) | Integrity self verification method and system using few resources | |
CN112988262B (en) | Method and device for starting application program on target platform | |
KR102089435B1 (en) | A secure boot method for secure usb device | |
KR102205779B1 (en) | Integrity mutual verification method and system using few resources | |
KR102243378B1 (en) | Method and apparatus for ensuring integrity of java library | |
KR102176118B1 (en) | Method for integrity mutual verification in a resource rich environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |