KR102036256B1 - Android embedded system with enhanced security - Google Patents

Android embedded system with enhanced security Download PDF

Info

Publication number
KR102036256B1
KR102036256B1 KR1020170168015A KR20170168015A KR102036256B1 KR 102036256 B1 KR102036256 B1 KR 102036256B1 KR 1020170168015 A KR1020170168015 A KR 1020170168015A KR 20170168015 A KR20170168015 A KR 20170168015A KR 102036256 B1 KR102036256 B1 KR 102036256B1
Authority
KR
South Korea
Prior art keywords
board
application
security chip
security
encryption key
Prior art date
Application number
KR1020170168015A
Other languages
Korean (ko)
Other versions
KR20190068030A (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 젝스컴퍼니 주식회사
Priority to KR1020170168015A priority Critical patent/KR102036256B1/en
Publication of KR20190068030A publication Critical patent/KR20190068030A/en
Application granted granted Critical
Publication of KR102036256B1 publication Critical patent/KR102036256B1/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 보안성이 강화된 안드로이드 임베디드 보드에 관한 것으로서, 어플리케이션을 실행시키는 보드; 상기 보드에 설치되는 보안칩; 상기 보드에 설치되며 상기 보드를 제어하되, 상기 보안칩이 인지되는 경우 작동되는 CPU; 및 상기 보드가 외부장치와 정보를 교환할 수 있도록 상기 보드에 설치되되, EtherCAT(Ethernet for Control Automation Technology)에 대응되도록 마련되는 네트워크카드를 포함하되, 상기 보드에 설치되는 파일시스템은, 상기 어플리케이션이 상기 보안칩에 대응되는 암호키를 포함하는 경우, 상기 어플리케이션을 실행하고 상기 보드부를 동작시키며, 상기 보드에 설치되는 파일시스템은, 상기 어플리케이션이 실행되는 경우 상기 어플리케이션에 접근하되 상기 어플리케이션이 암호키를 포함하지 않는 경우 상기 어플리케이션의 접근을 차단하는 API모듈을 포함하며, 상기 API모듈은, 상기 어플리케이션이 암호키를 포함하는 상태로 파일시스템에서 실행되는 경우 상기 어플리케이션의 실행을 허용하되, 상기 보안칩이 인지되지 않으면, 상기 네트워크카드의 동작을 차단하며, 상기 API모듈은, 상기 어플리케이션이 암호키를 포함하는 상태로 파일시스템에서 실행되는 경우 상기 어플리케이션의 실행을 허용하되, 상기 보안칩이 인지되면, 상기 네트워크카드의 동작을 허용하고, 이후, 상기 보안칩의 파라메터 정보를 리드하여 키값을 생성한 후 상기 키값과 상기 어플리케이션의 암호키를 비교하여 상호 일치되지 않으면, 상기 네트워크카드의 동작을 차단하는 것을 특징으로 한다.
본 발명에 따르면, 보안칩에 대응되는 암호키를 가지는 어플리케이션만이 보안칩이 설치된 보드에서 실행될 수 있으므로, 임베디드 시스템의 보안성이 대폭적으로 강화될 수 있는 효과가 있다.
The present invention relates to a security-enhanced Android embedded board, the board for executing the application; A security chip installed on the board; A CPU installed on the board and controlling the board, the CPU operating when the security chip is recognized; And a network card installed on the board so that the board can exchange information with an external device, the network card being provided to correspond to EtherCAT (Ethernet for Control Automation Technology), and the file system installed on the board includes: In the case of including the encryption key corresponding to the security chip, running the application and operating the board unit, the file system installed on the board, when the application is executed, the application accesses the application, but the application enters the encryption key If it does not include an API module for blocking the access of the application, the API module, if the application is executed in the file system with the encryption key, but the execution of the application, the security chip is If not recognized, the operation of the network card Blocking, the API module allows the execution of the application when the application is executed in the file system containing the encryption key, if the security chip is recognized, and allows the operation of the network card, and then, After generating the key value by reading the parameter information of the security chip, and compares the key value and the encryption key of the application, it is characterized in that the operation of the network card is blocked.
According to the present invention, since only an application having an encryption key corresponding to the security chip can be executed on a board on which the security chip is installed, the security of the embedded system can be greatly enhanced.

Description

보안성이 강화된 안드로이드 임베디드 보드{ANDROID EMBEDDED SYSTEM WITH ENHANCED SECURITY}Android Embedded Board with Enhanced Security {ANDROID EMBEDDED SYSTEM WITH ENHANCED SECURITY}

본 발명은 보안성이 강화된 안드로이드 임베디드 보드에 관한 것으로서, 보다 상세하게는, 보안칩에 설치된 보드에서 보안칩에 대응되는 암호키를 가지는 어플리케이션만이 실행되도록 하여 보안성을 대폭적으로 강화시킨 보안성이 강화된 안드로이드 임베디드 보드에 관한 것이다.The present invention relates to a security-enhanced Android embedded board, and more particularly, to secure only the application having an encryption key corresponding to the security chip on the board installed in the security chip to significantly enhance the security This is about enhanced Android embedded board.

임베디드 시스템은 자동화된 공장시설 부터 키오스크 등 산업계 전반에 이용되고 있다. 이러한 임베디드 시스템은 무엇보다도 안정성과 보안성이 담보되어야 하기 때문에, 임베디스 시스템을 보호 하기 위한 여러 방법들이 연구, 개발되고 있다.Embedded systems are used throughout the industry, from automated factory facilities to kiosks. Since such embedded systems must be secured first and foremost, various methods for protecting embedded systems have been researched and developed.

종래의 임베디드 시스템의 보안 방법으로는 임베디드 보드에 복사 방지가 불가능한 보안칩을 설치하는 방법이 있다. 이러한 종래의 방법은 보드 제작의 단가가 상승되지만, 물리적으로 보드의 복사를 방지할 수 있으므로 실질적으로 많이 이용되고 있다.As a security method of a conventional embedded system, there is a method of installing a security chip that is not copy protected on an embedded board. Such a conventional method increases the cost of manufacturing the board, but is substantially used because it can physically prevent the copying of the board.

그러나, 상술한 종래의 방법에 따른 보안칩이 설치된 임베디드 보드의 경우, 하드웨어적인 복사가 방지될 뿐, 임베디드 보드에서 실행되는 전용 소프트웨어(어플리케이션)에 대한 조치는 전무한 상태여서, 보안성이 상대적으로 취약하다는 문제가 있다.However, in the case of the embedded board in which the security chip according to the conventional method described above is installed, only copying of the hardware is prevented, and there is no action on dedicated software (application) running on the embedded board, so the security is relatively weak. There is a problem.

본 발명의 목적은 종래의 문제점을 해결하기 위한 것으로서, 보안칩이 설치된 보드에서 보안칩에 대응되는 암호키를 가지는 어플리케이션만이 실행되도록 하여 보안성을 대폭적으로 강화시킨 보안성이 강화된 안드로이드 임베디드 보드을 제공함에 있다.An object of the present invention is to solve the conventional problems, security-enhanced Android embedded board that greatly enhances the security by running only the application having a cryptographic key corresponding to the security chip on the board installed security chip In providing.

상기 목적은, 본 발명에 따라, 어플리케이션을 실행시키는 보드; 상기 보드에 설치되는 보안칩; 상기 보드에 설치되며 상기 보드를 제어하되, 상기 보안칩이 인지되는 경우 작동되는 CPU; 및 상기 보드가 외부장치와 정보를 교환할 수 있도록 상기 보드에 설치되되, EtherCAT(Ethernet for Control Automation Technology)에 대응되도록 마련되는 네트워크카드를 포함하되, 상기 보드에 설치되는 파일시스템은, 상기 어플리케이션이 상기 보안칩에 대응되는 암호키를 포함하는 경우, 상기 어플리케이션을 실행하고 상기 보드부를 동작시키며, 상기 보드에 설치되는 파일시스템은, 상기 어플리케이션이 실행되는 경우 상기 어플리케이션에 접근하되 상기 어플리케이션이 암호키를 포함하지 않는 경우 상기 어플리케이션의 접근을 차단하는 API모듈을 포함하며, 상기 API모듈은, 상기 어플리케이션이 암호키를 포함하는 상태로 파일시스템에서 실행되는 경우 상기 어플리케이션의 실행을 허용하되, 상기 보안칩이 인지되지 않으면, 상기 네트워크카드의 동작을 차단하며, 상기 API모듈은, 상기 어플리케이션이 암호키를 포함하는 상태로 파일시스템에서 실행되는 경우 상기 어플리케이션의 실행을 허용하되, 상기 보안칩이 인지되면, 상기 네트워크카드의 동작을 허용하고, 이후, 상기 보안칩의 파라메터 정보를 리드하여 키값을 생성한 후 상기 키값과 상기 어플리케이션의 암호키를 비교하여 상호 일치되지 않으면, 상기 네트워크카드의 동작을 차단하는 것을 특징으로 하는 보안성이 강화된 안드로이드 임베디드 보드에 의해 달성된다.The object is, according to the present invention, a board for executing an application; A security chip installed on the board; A CPU installed on the board and controlling the board, the CPU operating when the security chip is recognized; And a network card installed on the board so that the board can exchange information with an external device, the network card being provided to correspond to EtherCAT (Ethernet for Control Automation Technology), and the file system installed on the board includes: In the case of including the encryption key corresponding to the security chip, running the application and operating the board unit, the file system installed on the board, when the application is executed, the application accesses the application, but the application enters the encryption key If it does not include an API module for blocking the access of the application, the API module, if the application is executed in the file system with the encryption key, but the execution of the application, the security chip is If not recognized, the operation of the network card Blocking, the API module allows the execution of the application when the application is executed in the file system containing the encryption key, if the security chip is recognized, and allows the operation of the network card, and then, After generating the key value by reading the parameter information of the security chip and compares the key value and the encryption key of the application, if not matched with each other, the security-enhanced Android embedded board, characterized in that to block the operation of the network card Is achieved by.

또한, 상기 보드에 설치되는 OS(Operating System)는, 안드로이드(Android)일 수 있다.In addition, an operating system (OS) installed on the board may be Android.

삭제delete

또한, 상기 CPU는, ARM 계열일 수 있다.In addition, the CPU may be an ARM series.

삭제delete

본 발명에 따르면, 보안칩에 대응되는 암호키를 가지는 어플리케이션만이 보안칩이 설치된 보드에서 실행될 수 있으므로, 임베디드 시스템의 보안성이 대폭적으로 강화될 수 있는 효과가 있다.According to the present invention, since only an application having an encryption key corresponding to the security chip can be executed on a board on which the security chip is installed, the security of the embedded system can be greatly enhanced.

도 1은 본 발명의 일실시예에 따른 보안성이 강화된 안드로이드 임베디드 보드의 전체 구성을 도시한 것이고,
도 2는 본 발명의 일실시예에 따른 보안성이 강화된 안드로이드 임베디드 보드의 계층 구조 및 정보 흐름을 도시한 것이고,
도 3은 본 발명의 일실시예에 따른 보안성이 강화된 안드로이드 임베디드 보드의 CPU와 보안칩의 암호화 통신 과정을 도시한 것이고,
도 4는 본 발명의 일실시예에 따른 보안성이 강화된 안드로이드 임베디드 보드에서 API모듈이 암호키의 정보 처리 과정을 도시한 것이다.
1 is a view showing the overall configuration of a security-enhanced Android embedded board according to an embodiment of the present invention,
2 illustrates a hierarchical structure and information flow of a security-enhanced Android embedded board according to an embodiment of the present invention.
3 illustrates an encryption communication process between a CPU and a security chip of a security-enhanced Android embedded board according to an embodiment of the present invention.
4 is a diagram illustrating an information processing procedure of an encryption key of an API module in a security-enhanced Android embedded board according to an embodiment of the present invention.

이하, 본 발명의 일부 실시 예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다.Hereinafter, some embodiments of the present invention will be described in detail with reference to the accompanying drawings. In adding reference numerals to the components of each drawing, it should be noted that the same reference numerals are assigned to the same components as much as possible even though they are shown in different drawings.

그리고 본 발명의 실시 예를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 실시예에 대한 이해를 방해한다고 판단되는 경우에는 그 상세한 설명은 생략한다.In the following description of embodiments of the present invention, detailed descriptions of related well-known configurations or functions will be omitted when it is determined that the understanding of the embodiments of the present invention is prevented.

또한, 본 발명의 실시 예의 구성 요소를 설명하는 데 있어서, 제1, 제2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다.In addition, in describing the components of the embodiments of the present disclosure, terms such as first, second, A, B, (a), and (b) may be used. These terms are only for distinguishing the components from other components, and the nature, order or order of the components are not limited by the terms.

이하에서는 도면을 참조하여 본 발명의 일실시예에 따른 보안성이 강화된 안드로이드 임베디드 보드에 대해서 상세히 설명한다.Hereinafter, a security embedded Android embedded board according to an embodiment of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일실시예에 따른 보안성이 강화된 안드로이드 임베디드 보드의 전체 구성을 도시한 것이고, 도 2는 본 발명의 일실시예에 따른 보안성이 강화된 안드로이드 임베디드 보드의 계층 구조 및 정보 흐름을 도시한 것이고, 도 3은 본 발명의 일실시예에 따른 보안성이 강화된 안드로이드 임베디드 보드의 CPU와 보안칩의 암호화 통신 과정을 도시한 것이고, 도 4는 본 발명의 일실시예에 따른 보안성이 강화된 안드로이드 임베디드 보드에서 API모듈이 암호키의 정보 처리 과정을 도시한 것이다.1 is a view showing the overall configuration of a security-enhanced Android embedded board according to an embodiment of the present invention, Figure 2 is a hierarchical structure of the security-enhanced Android embedded board according to an embodiment of the present invention and Figure 3 shows the flow of information, Figure 3 shows the encryption communication process of the CPU and the security chip of the security-enhanced Android embedded board according to an embodiment of the present invention, Figure 4 is an embodiment of the present invention According to the security-enhanced Android embedded board, the API module shows the encryption key information processing.

도 1 내지 도 4에 도시된 바와 같이, 본 발명의 일실시예에 따른 보안성이 강화된 안드로이드 임베디드 보드(100)은 보드(110)와, 보안칩(120)과, CPU(130)와, 네트워크카드(140)를 포함한다.As shown in Figures 1 to 4, the security embedded Android embedded board 100 according to an embodiment of the present invention is a board 110, a security chip 120, a CPU 130, Network card 140 is included.

보드(110)는 어플리케이션을 실행시키는 것으로써, 후술하는 보안칩(120)과 CPU(130)와 네트워크카드(140)가 설치된다. 상술한 보드(110)는 공작기계, 로봇 등 산업 자동화 장치를 제어하는데 사용될 수 있고, 키오스크, 버스 전광판 등의 일반 산업에 이용되는 특수 장치를 제어하는데 사용될 수 있다.The board 110 executes an application, and the security chip 120, the CPU 130, and the network card 140, which will be described later, are installed. The board 110 described above may be used to control industrial automation devices such as machine tools and robots, and may be used to control special devices used in general industries such as kiosks and bus signs.

한편, 여기서, 어플리케이션이란, 보드(110)의 파일시스템(110a)에 설치, 작동되는 전용 소프트웨어로써, 보드(110)의 사용 용도에 따라 각각 특정한 내용을 포함할 수 있다. 이러한 어플리케이션은 궁극적으로 보드(110)에 설치되는 네트워크카드(140)에 전기적으로 연결되는 외부장치와 정보를 교환하여, 외부장치를 제어한다.In this case, the application is dedicated software installed and operated in the file system 110a of the board 110 and may include specific contents according to the use purpose of the board 110. This application ultimately exchanges information with an external device electrically connected to the network card 140 installed on the board 110, thereby controlling the external device.

정상적인 어플리케이션, 즉, 정품 어플리케이션의 경우, 후술하는 보안칩(120)에 대응되는 암호키카 포함되는데, 이러한 암호키는 어플리케이션이 파일시스템(110a)에서 실행되는 경우, API모듈(110b)로 전달된다.In the case of a normal application, that is, a genuine application, an encryption key corresponding to the security chip 120 to be described later is included. The encryption key is transmitted to the API module 110b when the application is executed in the file system 110a.

한편, 상술한 보드(110)에 설치되는 OS(Operating System)는 안드로이드(Android)가 설치되는 것이 바람직하다. 안드로이드는 윈도우즈(Windows)에 비해 개방성이 크며, 가격이 저렴하며, 모바일 기기, 기타 각종 시스템에 대부분 적용되고 있기 때문이다.On the other hand, the operating system (OS) installed in the above-described board 110, it is preferable that Android (Android) is installed. Android is more open, cheaper than Windows, and is used in most mobile devices and other systems.

보드(110)에 설치되는 파일시스템(110a)은, API모듈(110b)을 포함한다.The file system 110a installed on the board 110 includes an API module 110b.

API모듈(110b)은 Application Programming Interface의 약자로, 어플리케이션과 OS(Operating System) 사이의 통신에 사용되는 인터페이스, 즉, 형식체계를 의미한다. 이러한 API모듈(110b)에는 OS에서 수행되는 여러가지 기능에 대한 함수가 포함되는데, 예를 들면, 도 2에 도시된 바와 같이, API모듈(110b)은 통신관련 함수(Ethernet Manager), 보안관련 함수(Security) 등을 포함할 수 있다.The API module 110b is an abbreviation of Application Programming Interface and refers to an interface, that is, a formal system, used for communication between an application and an operating system (OS). The API module 110b includes functions for various functions performed in the OS. For example, as illustrated in FIG. 2, the API module 110b includes a communication related function (Ethernet Manager) and a security related function ( Security) and the like.

이러한 API모듈(110b)은 도 2 및 도 4에 도시된 바와 같이, 파일시스템(110a)에서 어플리케이션이 실행되는 경우, 어플리케이션에 접근하되, 어플리케이션이 암호키를 포함하지 않거나, 후술하는 보안칩(120)에 대응되는 암호키를 포함하지 않는 경우, 하드웨어모듈의 작동을 차단한다.As shown in FIGS. 2 and 4, when the application is executed in the file system 110a, the API module 110b accesses the application, but the application does not include an encryption key or the security chip 120 described later. If the encryption key corresponding to) is not included, the operation of the hardware module is blocked.

보다 상세하게, API모듈(110b)은 파일시스템(110a)에서 어플리케이션이 실행되는 상태에서 암호키가 입력되지 않는 경우에는 즉시 어플리케이션의 접근을 차단한다. 또한, API모듈(110b)은 파일시스템(110a)에서 어플리케이션이 실행되는 상태에서 암호키가 있는 경우, 어플리케이션을 계속해서 실행시키는데, 하드웨어모듈 레벨에서 어떠한 보안칩(120)도 인지되지 않는 경우, 네트워크카드(140) 등의 하드웨어모듈의 작동을 차단한다. 또한, API모듈(110b)은 파일시스템(110a)에서 어플리케이션이 실행되는 상태에서 암호키가 있는 경우, 어플리케이션을 계속해서 실행시키는데, 하드웨어모듈 레벨에서 보안칩(120)이 인지되면, 보안칩(120)의 파라메터 정보를 리드하여 키값을 생성한다. 이후, API모듈(110b)은 생성된 키값과 어플리케이션의 암호키를 비교하여 일치되지 않는 경우, 네트워크카드(140) 등의 하드웨어모듈의 작동을 차단한다.More specifically, the API module 110b immediately blocks access to the application when the encryption key is not input while the application is executed in the file system 110a. In addition, the API module 110b continuously executes the application when there is an encryption key in the state in which the application is executed in the file system 110a. When no security chip 120 is recognized at the hardware module level, the network The operation of the hardware module such as the card 140 is blocked. In addition, the API module 110b continues to execute the application when there is an encryption key in the state in which the application is executed in the file system 110a. When the security chip 120 is recognized at the hardware module level, the security chip 120 Read key parameter information to generate key value. After that, the API module 110b compares the generated key value with the encryption key of the application, and if it does not match, blocks the operation of the hardware module such as the network card 140.

이러한 API모듈(110b)에 따르면, 보안칩(120)에 대응되는 정품 어플리케이션이 아닌 경우 어플리케이션의 실행이 파일시스템(110a) 레벨에서 차단되게 되며, 보드(110)에 보안칩(120)이 설치되지 않았거나, 설치되었더라도 유효한 보안칩(120)이 아닌 경우, 어플리케이션의 실행이 효과적으로 차단될 수 있다. 즉, 상술한 API모듈(110b)에 따르면, 불법적인 어플리케이션 복제품 또는 불법적으로 복사된 보드 등이 사용되는 것이 원천적으로 차단될 수 있다. 결과적으로 상술한 API모듈(110b)에 따르면, 임베디드 시스템에 전체적인 보안성이 크게 향상되는 효과가 있다.According to the API module 110b, if it is not a genuine application corresponding to the security chip 120, the execution of the application is blocked at the file system 110a level, and the security chip 120 is not installed on the board 110. If not, even if installed is not a valid security chip 120, the execution of the application can be effectively blocked. That is, according to the above-described API module 110b, the use of illegal application copies or illegally copied boards, etc. may be blocked at source. As a result, according to the above-described API module 110b, the overall security of the embedded system is greatly improved.

한편, 보드(110)에 설치되는 OS는 라이브러리 모듈과, HAL모듈을 포함한다.On the other hand, the OS installed on the board 110 includes a library module and a HAL module.

라이브러리 모듈은 OS의 일부분으로, API모듈(110b)를 통해 입력되는 정보가 후술하는 HAL모듈로 전달될 수 있도록, 링킹하는 역할을 수행한다. 이러한 라이브러리 모듈은 API모듈(110b)에 포함되는 함수와 대응되는 함수의 집합들로 마련되는데, 예를 들면, 도 2에 도시된 바와 같이, API모듈(110b)의 통신관련 함수는 라이브러리 모듈의 연결함수(Connectivity)에 대응된다. 상술한 이러한 링킹에 따르면, 어플리케이션의 정보가 HAL모듈에 전달될 수 있다.The library module is a part of the OS and performs linking so that information input through the API module 110b can be delivered to the HAL module described later. Such a library module is provided with a set of functions corresponding to the functions included in the API module 110b. For example, as illustrated in FIG. 2, the communication related functions of the API module 110b may be connected to the library module. Corresponds to the connectivity. According to this linking described above, the information of the application can be delivered to the HAL module.

HAL모듈은 Hardware Abstraction Layer의 약자로, OS와 하드웨어와의 인터페이스, 즉, 형식체계를 의미한다. 이러한 HAL모듈은 후술하는 하드웨어모듈에 수행되는 기능에 대응되는 인터페이스를 제공한다. HAL모듈에 포함되는 인터페이스는 라이브러리 모듈에 포함되는 함수에 대응되도록 마련되는데, 예를 들면, 도 2에 도시된 바와 같이, 통신관련 이더넷 기반의 필드버스 시스템인 EtherCAT(Ethernet for Control Automation Technology)는 API모듈(110b)의 통신관련 함수에 대응되는 연결함수(Connectivity)에 대응된다.HAL module stands for Hardware Abstraction Layer, which means the interface between OS and hardware, that is, formal system. The HAL module provides an interface corresponding to a function performed on a hardware module described later. The interface included in the HAL module is provided to correspond to a function included in the library module. For example, as shown in FIG. 2, EtherCAT (Ethernet for Control Automation Technology), which is a communication-based Ethernet-based fieldbus system, is an API. Corresponds to a connectivity corresponding to a communication related function of the module 110b.

또한, 보드(110)는 커널모듈을 포함한다.In addition, the board 110 includes a kernel module.

커널모듈은 하드웨어 레벨, 보드(110)에서 작동되는 것으로써, HAL모듈을 통해 입력되는 정보가 보드(110)에 설치된 각각의 하드웨어모듈로 전달될 수 있도록, 링킹하는 역할을 수행한다. 즉, 커널모듈은 라이브러리 모듈과 유사하게 작동되지만, 하드웨어 레벨에서의 작동이라는 점에서 라이브러리 모듈과 차이가 있다. 도 2에 도시된 바와 같이, 커널모듈의 EtherCAT 커널은 HAL모듈의 EtherCAT에 대응된다.The kernel module operates at the hardware level, the board 110, and performs linking so that information input through the HAL module can be transmitted to each hardware module installed in the board 110. In other words, kernel modules work similarly to library modules, but differ from library modules in that they operate at the hardware level. As shown in FIG. 2, the EtherCAT kernel of the kernel module corresponds to the EtherCAT of the HAL module.

하드웨어모듈은 보드(110)의 각각의 기능을 수행하는 물리적인 부분의 의미하는 것으로써, 키패드, 네트워크카드(140) 등을 포함한다. 도 2에 도시된 바와 같이, 어플리케이션에서 API모듈(110b)를 거쳐 HAL모듈로 전달된 정보는 하드웨어모듈의 한 종류인 네트워크카드(140)를 작동시키게 되며, 이에 의해서, 어플리케이션에 포함되는 정보가 외부장치로 전달될 수 있다.The hardware module means a physical part that performs each function of the board 110, and includes a keypad, a network card 140, and the like. As shown in FIG. 2, the information transmitted from the application to the HAL module via the API module 110b operates the network card 140, which is a type of hardware module, whereby the information included in the application is external. Can be delivered to the device.

보안칩(120)은 후술하는 CPU(130)와 암호화 통신함으로써, 보드(110), 즉, 하드웨어 인증을 실시하는데 이용되는 것으로써, 패키징된 반도체로 마련되어 보드(110)에 설치된다.The security chip 120 is used to perform board authentication, that is, hardware authentication by encrypting and communicating with the CPU 130, which will be described later, and is provided as a packaged semiconductor and installed on the board 110.

상술한 보안칩(120)은 패키징된 반도체로 마련되므로 복사가 불가능한데, 이러한 보안칩(120)에 의해서, 보드(110)가 정품 보드(110)인지 아닌지가 판별될 수 있다. 구체적인 과정은 다음과 같다.Since the security chip 120 is made of a packaged semiconductor, it is impossible to copy. The security chip 120 may determine whether the board 110 is a genuine board 110 or not. The specific process is as follows.

도 4에 도시된 바와 같이, 먼저, 보드(110)에 전원이 인가되어 구동되면, CPU(130)가 플레인 텍스트, 즉, 암호되기 전의 문장을 생성한다. 이후, CPU(130)는 생성된 플레인 텍스트를 내부의 암호화 라이브러리를 이용하여 사이퍼 텍스트, 즉, 암호화된 문장으로 변환한다. 한편, 플레인 텍스트를 전달받은 보안칩(120)은 CPU(130)의 암호화 라이브러리와 동일한 규칙으로 작동되는 내부의 회로 동작을 거쳐 플레인 텍스트를 일정한 규칙으로 암호화하여 사이퍼 텍스트, 즉, 암호된 문장을 생성한다. 이후, CPU(130)가 보안칩(120)으로 사이퍼 텍스트를 요청하면, 보안칩(120)은 CPU(130)로 사이퍼 텍스트를 전송하는데, 이때, CPU(130)는 내부적으로 생성된 사이퍼 텍스트와 보안칩(120)으로부터 전달된 사이퍼 텍스트를 비교하는 작업을 실시한다. 비교결과, 양 사이퍼 텍스트가 일치하는 경우, CPU(130)는 보드(110)를 정상적으로 작동시키며, 일치하지 않는 경우, CPU(130)는 보안칩(120)으로 다시 사이퍼 텍스트를 요청하는 것을 반복한후, 계속해서 일치되지 않으면, 보드(110)의 동작을 중단시킨다.As shown in FIG. 4, first, when power is applied and driven to the board 110, the CPU 130 generates plain text, that is, a sentence before being encrypted. Thereafter, the CPU 130 converts the generated plain text into cipher text, that is, an encrypted sentence using an internal encryption library. Meanwhile, the security chip 120 that receives the plain text generates a cipher text, that is, an encrypted sentence by encrypting the plain text with a predetermined rule through an internal circuit operation that operates under the same rules as the encryption library of the CPU 130. do. Thereafter, when the CPU 130 requests the cipher text from the security chip 120, the security chip 120 transmits the cipher text to the CPU 130. In this case, the CPU 130 is connected to the internally generated cipher text. The cipher texts transmitted from the security chip 120 are compared. As a result of the comparison, if both cipher texts match, the CPU 130 operates the board 110 normally. If the two cipher texts do not match, the CPU 130 repeats requesting the cipher text from the security chip 120 again. After that, if it is not consistent, the operation of the board 110 is stopped.

상술한 과정에 따르면, 보드(110)에 설치된 CPU(130)에 대응되는 보안칩(120)이 보드(110)에 설치된 경우에만 보드(110)가 작동된다. 따라서, 보드(110)를 불법적으로 복사하는 경우, 보안칩(120)의 복사는 정상적으로 실시되지 않으므로, 이러한 경우에는 사이퍼 텍스트의 불일치로 보드(110)가 동작하지 않게되는 것이다. According to the above-described process, the board 110 operates only when the security chip 120 corresponding to the CPU 130 installed on the board 110 is installed on the board 110. Therefore, when the board 110 is illegally copied, the copy of the security chip 120 is not normally performed. In this case, the board 110 is not operated due to the mismatch of the cipher text.

결과적으로 상술한 과정에 따르면, 정상적으로 제조된 보드(110), 즉, 정품 보드(110) 만이 작동될 수 있으므로, 임베디드 시스템에 전체적인 보안성이 크게 향상될 수 있다.As a result, according to the above-described process, since only the normally manufactured board 110, that is, the genuine board 110 may be operated, the overall security of the embedded system may be greatly improved.

CPU(130)는 보드(110)를 제어하는 것으로써, 보드(110)에 설치되며, 상술한 보안칩(120)과 암호화통신을 수행한다.The CPU 130 is installed on the board 110 by controlling the board 110 and performs encryption communication with the security chip 120 described above.

CPU(130)는 보드(110)에 전원이 인가되는 경우 작동되는데, 이때, 보드(110)는 먼저, 보안칩(120)과의 암호화통신을 수행하여, 보드(110)가 정품의 보드(110)인지를 판단한다. 이에 대한 상세한 설명은 상술한 보안칩(120)에서의 설명과 같다.The CPU 130 operates when power is applied to the board 110. In this case, the board 110 first performs encryption communication with the security chip 120, so that the board 110 is a genuine board 110. Determine whether Detailed description thereof is the same as the description of the security chip 120 described above.

한편, CPU(130)가 동작하여 정상적인 보안칩(120)이 보드(110)에 설치되었음이 확인되는 경우, CPU(130)는 정상작동하게 되며, 이후, 파일시스템(110a)에서 정상적인, 즉, 보안칩(120)에 대응되는 암호키를 가진 어플리케이션이 실행되는 경우, CPU(130)의 동작에 따라 API모듈(110b)은 네트워크카드(140) 등의 하드웨어모듈을 작동시켜 외부장치를 제어한다.On the other hand, when the CPU 130 operates to confirm that the normal security chip 120 is installed on the board 110, the CPU 130 is operating normally, after that, in the file system 110a, that is, When an application having an encryption key corresponding to the security chip 120 is executed, the API module 110b controls an external device by operating a hardware module such as the network card 140 according to the operation of the CPU 130.

상술한 CPU(130)는 ARM(Acorn Computers) 社에서 제조된 ARM 계열 CPU(130)로 마련되는 것이 바람직하다. ARM 계열 CPU(130)는 인텔 社에서 제조된 CPU(130)에 비해서 가격 대비 성능이 우수하기 때문이다.The above-described CPU 130 is preferably provided with an ARM series CPU 130 manufactured by ARM (Acorn Computers). The ARM-based CPU 130 is superior in price performance compared to the CPU 130 manufactured by Intel Corporation.

네트워크카드(140)는 상술한 하드웨어모듈의 한 종류로써, 보드(110)가 외부장치와 정보를 교환할 수 있도록 보드(110)에 설치된다.The network card 140 is a type of hardware module described above, and is installed on the board 110 so that the board 110 can exchange information with an external device.

이러한 네트워크카드(140)는 EtherCAT(Ethernet for Control Automation Technology)에 대응되도록 마련되는 것이 바람직하다. EtherCAT은 여러가지 산업용 장비의 통신에 대응되는 프로토콜로써, 산업 자동화에 최적화되어 있기 때문이다.The network card 140 is preferably provided to correspond to EtherCAT (Ethernet for Control Automation Technology). This is because EtherCAT is a protocol corresponding to communication of various industrial equipments and is optimized for industrial automation.

상술한 바와 같은, 보드(110)와 보안칩(120)과, CPU(130)와, 네트워크카드(140)를 포함하는 본 발명의 일실시예에 따른 보안성이 강화된 안드로이드 임베디드 보드(100)에 따르면, 1차적으로 보안칩(120)에 대한 인증을 거치고, 2차적으로 보안칩(120)에 대응되는 암호키를 가진 정상적인 어플리케이션이 실행되는 경우에만 보드(110)가 동작되기 때문에, 임베디드 시스템의 보안성이 대폭적으로 강화될 수 있는 효과가 있다.As described above, the board 110, the security chip 120, the CPU 130, the network card 140, including the security-enhanced Android embedded board 100 according to an embodiment of the present invention According to the present invention, since the board 110 is first operated only after the authentication of the security chip 120 and the normal application having the encryption key corresponding to the second security chip 120 is executed, the embedded system Security can be greatly enhanced.

본 발명은 특히, 보안칩(120)을 제외한 보드(110) 전체를 복사한 후, 펌웨어 조작을 통해 CPU(130)가 보안칩(120) 없이 보드(110)를 제어 가능하도록 해킹한 다음, 불법 복사된 전용어플리케이션을 보드(110)에 설치하여 사용하는 경우 매우 효과적으로 적용될 수 있다. 상술한 바와 같이, CPU(130)가 보안칩(120) 인증을 통해 동작하는 것을 펌웨어 조작을 통해 회피하더라도, 불법 복사된 어플리케이션 실행시에 API모듈(110b)에서 보안칩(120)의 존재 여부를 다시 확인하는 과정을 통해, 보안칩(120)이 보드(110)에 설치되지 않은 경우에는 보드(110)의 동작이 차단되기 때문이다.In particular, the present invention, after copying the entire board 110 except for the security chip 120, hack the CPU 130 to be able to control the board 110 without the security chip 120 through the firmware operation, then illegal In the case of using the copied dedicated application installed on the board 110, it can be applied very effectively. As described above, even if the CPU 130 avoids the operation of the security chip 120 through the firmware operation, whether the security chip 120 exists in the API module 110b when the illegally copied application is executed. This is because the operation of the board 110 is blocked when the security chip 120 is not installed on the board 110 through the checking process again.

또한, 본 발명은, 보안칩(120)을 제외한 보드(110) 전체를 복사한 후, 펌웨어 조작을 통해 CPU(130)가 보안칩(120) 없이 보드(110)를 제어 가능하도록 해킹한 다음, 불법 복제자가 스스로 개발한 어플리케이션을 보드(110)에 설치하여 사용하는 경우, 매우 효과적으로 적용될 수 있다. 상술한 바와 같이, CPU(130)가 보안칩(120) 인증을 통해 동작하는 것을 펌웨어 조작을 통해 회피하더라도, 자신이 개발한 어플리케이션은 암호키를 포함하지 않으므로 어플리케이션의 실행시, API모듈(110b)에서 어플리케이션의 실행이 바로 차단되기 때문이다.In addition, the present invention, after copying the entire board 110, except for the security chip 120, hack the CPU 130 to be able to control the board 110 without the security chip 120 through the firmware operation, When an illegal copyer installs and uses an application developed by himself on the board 110, it can be applied very effectively. As described above, even though the CPU 130 avoids the operation through the security chip 120 authentication through the firmware operation, the application developed by the CPU 130 does not include the encryption key, so when the application is executed, the API module 110b. This is because the execution of the application is blocked immediately.

이상에서, 본 발명의 실시 예를 구성하는 모든 구성 요소들이 하나로 결합하거나 결합하여 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다.In the above description, all elements constituting the embodiments of the present invention are described as being combined or operating in combination, but the present invention is not necessarily limited to the embodiments. In other words, within the scope of the present invention, all of the components may be selectively operated in combination with one or more.

또한, 이상에서 기재된 "포함하다", "구성하다" 또는 "가지다" 등의 용어는, 특별히 반대되는 기재가 없는 한, 해당 구성 요소가 내재할 수 있음을 의미하는 것이므로, 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것으로 해석되어야 한다. 기술적이거나 과학적인 용어를 포함한 모든 용어들은, 다르게 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미가 있다. 사전에 정의된 용어와 같이 일반적으로 사용되는 용어들은 관련 기술의 문맥상의 의미와 일치하는 것으로 해석되어야 하며, 본 발명에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.In addition, the terms "comprise", "comprise" or "having" described above mean that the corresponding component may be inherent unless specifically stated otherwise, and thus excludes other components. It should be construed that it may further include other components instead. All terms, including technical and scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art unless otherwise defined. Terms used generally, such as terms defined in a dictionary, should be interpreted to coincide with the contextual meaning of the related art, and shall not be interpreted in an ideal or excessively formal sense unless explicitly defined in the present invention.

그리고 이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다.In addition, the above description is merely illustrative of the technical idea of the present invention, and those skilled in the art to which the present invention pertains may various modifications and changes without departing from the essential characteristics of the present invention.

따라서, 본 발명에 개시된 실시 예들은 본 발명의 기술 사상을 한정하기 위한것이 아니라 설명하기 위한 것이고, 이러한 실시 예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.Therefore, the embodiments disclosed in the present invention are not intended to limit the technical idea of the present invention but to describe the present invention, and the scope of the technical idea of the present invention is not limited by these embodiments. The protection scope of the present invention should be interpreted by the following claims, and all technical ideas within the equivalent scope should be interpreted as being included in the scope of the present invention.

100 : 본 발명의 일실시예에 따른 보안성이 강화된 안드로이드 임베디드 보드
110 : 보드
110a : 파일시스템
110b : API모듈
120 : 보안칩
130 : CPU
140 : 네트워크카드
100: Android embedded board with enhanced security according to an embodiment of the present invention
110: board
110a: filesystem
110b: API module
120: security chip
130: CPU
140: network card

Claims (5)

어플리케이션을 실행시키는 보드;
상기 보드에 설치되는 보안칩;
상기 보드에 설치되며 상기 보드를 제어하되, 상기 보안칩이 인지되는 경우 작동되는 CPU; 및
상기 보드가 외부장치와 정보를 교환할 수 있도록 상기 보드에 설치되되, EtherCAT(Ethernet for Control Automation Technology)에 대응되도록 마련되는 네트워크카드를 포함하되,
상기 보드에 설치되는 파일시스템은,
상기 어플리케이션이 상기 보안칩에 대응되는 암호키를 포함하는 경우, 상기 어플리케이션을 실행하고 상기 보드를 동작시키며,
상기 보드에 설치되는 파일시스템은,
상기 어플리케이션이 실행되는 경우 상기 어플리케이션에 접근하되 상기 어플리케이션이 암호키를 포함하지 않는 경우 상기 어플리케이션의 접근을 차단하는 API모듈을 포함하며,
상기 API모듈은,
상기 어플리케이션이 암호키를 포함하는 상태로 파일시스템에서 실행되는 경우 상기 어플리케이션의 실행을 허용하되, 상기 보안칩이 인지되지 않으면, 상기 네트워크카드의 동작을 차단하며,
상기 API모듈은,
상기 어플리케이션이 암호키를 포함하는 상태로 파일시스템에서 실행되는 경우 상기 어플리케이션의 실행을 허용하되, 상기 보안칩이 인지되면, 상기 네트워크카드의 동작을 허용하고, 이후, 상기 보안칩의 파라메터 정보를 리드하여 키값을 생성한 후 상기 키값과 상기 어플리케이션의 암호키를 비교하여 상호 일치되지 않으면, 상기 네트워크카드의 동작을 차단하는 것을 특징으로 하는 보안성이 강화된 안드로이드 임베디드 보드.
A board for executing an application;
A security chip installed on the board;
A CPU installed on the board and controlling the board, the CPU operating when the security chip is recognized; And
The board is installed on the board to exchange information with an external device, including a network card provided to correspond to EtherCAT (Ethernet for Control Automation Technology),
The file system installed on the board,
When the application includes an encryption key corresponding to the security chip, the application is executed and the board is operated;
The file system installed on the board,
When the application is running includes the API module for accessing the application but blocking the access of the application if the application does not include an encryption key,
The API module,
Allows the application to run when the application is executed in the file system with an encryption key, but blocks the operation of the network card if the security chip is not recognized.
The API module,
When the application is executed in the file system with an encryption key, the execution of the application is allowed, but if the security chip is recognized, the operation of the network card is allowed, and then the parameter information of the security chip is read. After generating a key value by comparing the key value and the encryption key of the application, if not matched, security-enhanced Android embedded board, characterized in that to block the operation of the network card.
삭제delete 청구항 1에 있어서,
상기 보드에 설치되는 OS(Operating System)는,
안드로이드(Android)인 것을 특징으로 하는 보안성이 강화된 안드로이드 임베디드 보드.
The method according to claim 1,
OS (Operating System) is installed on the board,
Security-enhanced Android embedded board, characterized in that Android (Android).
청구항 3에 있어서,
상기 CPU는,
ARM 계열인 것을 특징으로 하는 보안성이 강화된 안드로이드 임베디드 보드.
The method according to claim 3,
The CPU,
Security-enhanced Android embedded board characterized in that the ARM series.
삭제delete
KR1020170168015A 2017-12-08 2017-12-08 Android embedded system with enhanced security KR102036256B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170168015A KR102036256B1 (en) 2017-12-08 2017-12-08 Android embedded system with enhanced security

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170168015A KR102036256B1 (en) 2017-12-08 2017-12-08 Android embedded system with enhanced security

Publications (2)

Publication Number Publication Date
KR20190068030A KR20190068030A (en) 2019-06-18
KR102036256B1 true KR102036256B1 (en) 2019-11-26

Family

ID=67103351

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170168015A KR102036256B1 (en) 2017-12-08 2017-12-08 Android embedded system with enhanced security

Country Status (1)

Country Link
KR (1) KR102036256B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102173535B1 (en) * 2020-06-01 2020-11-03 젝스컴퍼니 주식회사 Embedded board based on android enhenced real time response

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101761799B1 (en) * 2015-06-01 2017-07-26 한국전자통신연구원 Apparatus and method for managing data security of terminal

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101761799B1 (en) * 2015-06-01 2017-07-26 한국전자통신연구원 Apparatus and method for managing data security of terminal

Also Published As

Publication number Publication date
KR20190068030A (en) 2019-06-18

Similar Documents

Publication Publication Date Title
KR102434444B1 (en) Method and Apparatus for Device Security Verification Utilizing a Virtual Trusted Computing Base
US11132468B2 (en) Security processing unit of PLC and bus arbitration method thereof
CN109937419B (en) Initialization method for security function enhanced device and firmware update method for device
EP1944712B1 (en) Methods and apparatus for protecting data
JP4808279B2 (en) Computer readable medium and method for unsealing bit strings
RU2690887C2 (en) Modular safety control device
US20150244559A1 (en) Migration of full-disk encrypted virtualized storage between blade servers
US20070101156A1 (en) Methods and systems for associating an embedded security chip with a computer
US9594915B2 (en) Information processing apparatus
US11436324B2 (en) Monitoring parameters of controllers for unauthorized modification
CN113645179B (en) Method for configuring virtual entity, computer system and storage medium
JP2007310688A (en) Microcomputer and software tampering prevention method thereof
JP5173802B2 (en) Security system and method for ensuring the integrity of at least one device system comprising a plurality of devices
CN101238470B (en) Method for operating computing device, method for manufacturing software
KR102036256B1 (en) Android embedded system with enhanced security
KR101065904B1 (en) Transfer of security data between two memories
KR101885146B1 (en) Method and apparatus for protecting an application
CN116436681B (en) TrustZone-based security isolation system, trustZone-based security isolation method, trustZone-based security isolation terminal and storage medium
CN117034330B (en) macOS-based safety protection method, macOS-based safety protection equipment and storage medium
US11960737B2 (en) Self-deploying encrypted hard disk, deployment method thereof, self-deploying encrypted hard disk system and boot method thereof
Scheibel et al. Design and implementation of an architecture for vehicular software protection
EP4145318A1 (en) System and method for monitoring delivery of messages passed between processes from different operating systems
JP2018136811A (en) Control system
US20240129110A1 (en) System and method of application resource binding
CN109784085B (en) Virtual network application implementation method, management system and computer readable storage medium

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