KR20180081332A - Security System and Method of Embeded software in Vehicle electric device - Google Patents

Security System and Method of Embeded software in Vehicle electric device Download PDF

Info

Publication number
KR20180081332A
KR20180081332A KR1020170002443A KR20170002443A KR20180081332A KR 20180081332 A KR20180081332 A KR 20180081332A KR 1020170002443 A KR1020170002443 A KR 1020170002443A KR 20170002443 A KR20170002443 A KR 20170002443A KR 20180081332 A KR20180081332 A KR 20180081332A
Authority
KR
South Korea
Prior art keywords
hash value
data
automotive
header
electronic device
Prior art date
Application number
KR1020170002443A
Other languages
Korean (ko)
Other versions
KR101953908B1 (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 KR1020170002443A priority Critical patent/KR101953908B1/en
Publication of KR20180081332A publication Critical patent/KR20180081332A/en
Application granted granted Critical
Publication of KR101953908B1 publication Critical patent/KR101953908B1/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/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software

Landscapes

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

Abstract

According to an embodiment of the present invention, the present invention relates to a data security system for embedded software of an automotive electronic device, which comprises one or more automotive electronic device components, an automotive standard software platform unit, a calculation unit, a database, and a service providing unit. The automotive electronic device components transmit generated data and metadata to the calculation unit. The calculation unit generates a hash value from the transmitted data, encodes and stores a header, including the hash value and the metadata, and the data and encodes a first hash value transmitted from a first automotive electronic device component by using a second hash value of a second automotive electronic device component in order to store the first hash value in a second header in the second automotive electronic device component. Moreover, the service providing unit decodes the data of the first automotive electronic device component by using an encoding key decoded from the hash value stored in the first header of the second automotive electronic device component. Therefore, the data security system for embedded software of an automotive electronic device is able to provide control data security of individual electronic devices by using an encoding key, thereby preventing data forgery and deletion, securing data integrity, and blocking data leakage and transfer.

Description

자동차 전자 장치의 임베디드 소프트웨어의 데이터 보안 시스템 및 방법{Security System and Method of Embeded software in Vehicle electric device}BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a data security system and a method for embedding software in a vehicle electronic device,

본 발명은 자동차 전자 장치의 임베디드 소프트웨어의 데이터 보안 시스템 및 방법에 관한 것이다.The present invention relates to a data security system and method for embedded software in automotive electronic devices.

최근 자동차에 사용되는 전자 장치(차량용 전장)가 지속적으로 개발됨에 따라, 그 종류가 다양해지고, 자동차에서 전자 장치를 이용하여 제공하는 기능이 증가하고 있다. 소프트웨어 수량 및 복잡성도 증가하여 차량 전자장치의 표준화 필요성도 대두되고 있다. 2. Description of the Related Art [0002] Recently, electronic devices (vehicle fronts) used in automobiles have been continuously developed, and their functions have been diversified. The number and complexity of software also increases, and the need for standardization of vehicle electronic devices is also emerging.

이러한 표준화의 일환으로 자동차용 전자 장치(차량용 전장)에 사용되는 임베디드 소프트웨어의 개발을 위한 표준 소프트웨어 설계 도구로서 오토사(AUTOSAR, AUTomotive Open System ARchitecture)가 규정되어 차량용 전장 소프트웨어 개발의 향상을 꾀하고 있다.As part of this standardization, AUTOSAR (Automotive Open System Architecture) is defined as a standard software design tool for the development of embedded software used in automotive electronic devices (vehicle field) .

AUTOSAR를 토대로 구축된 차량용 전장 시스템에 있어서, 데이터 보안 방법에 대한 표준이 미비한 문제가 있다. 차량용 전장 시스템의 데이터가 외부의 해커에 의하여 유출 또는 반출되는 경우, 개인의 생명과 직결되는 안전이 보장되지 못하는 문제도 있다. 또한, 데이터 유출로 인하여 개인 정보 보호가 침해될 여지가 있어, 문제된다.There is a lack of standards for data security methods in automotive electrical systems built on AUTOSAR. When the data of the vehicle electric system is leaked or carried out by an external hacker, there is a problem that safety that is directly related to the life of the individual can not be guaranteed. In addition, there is a possibility that the privacy of personal information may be violated due to data leakage, which is a problem.

본 발명은 전술한 문제를 해결하기 위하여, 자동차 전자 장치의 임베디드 소프트웨어의 데이터 보안 시스템 및 방법을 제공하는 것을 그 목적으로 한다.SUMMARY OF THE INVENTION It is an object of the present invention to provide a data security system and method for embedded software of an automobile electronic device in order to solve the above-mentioned problems.

본 발명의 다른 목적은 데이터 위조, 변조 및 삭제 방지, 데이터의 무결성 보장, 데이터의 유출 및 반출을 차단을 위하여, 암호화를 이용하여 개별 전자 장치의 제어 데이터 보안을 제공하기 위한 것이다. Another object of the present invention is to provide control data security of individual electronic devices by using encryption to prevent data tampering, tampering and deletion, ensuring data integrity, and blocking data leakage and export.

본 발명의 목적은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The objects of the present invention are not limited to the above-mentioned objects, and other objects not mentioned can be clearly understood by those skilled in the art from the following description.

전술한 목적을 달성하기 위한 본 발명의 일면에 따른 자동차 전자 장치의 임베디드 소프트웨어의 데이터 보안 시스템은 하나 이상의 자동차 전장 부품과, 자동차 표준 소프트웨어 플랫폼부와, 연산부와, 데이터 베이스와, 서비스 제공부를 포함하되, 상기 자동차 전장 부품은, 생성한 데이터와 메타데이터를 상기 연산부에 전송하는 것이고, 상기 연산부는, 전송받은 데이터로부터 해쉬값을 생성하고, 상기 해쉬값과 상기 메타데이터 를 포함하는 헤더와 상기 데이터를 암호화하여 저장하되, 제1 자동차 전장 부품으로부터 전달받은 제1 해쉬값을 제2 자동차 전장 부품의 제2 헤더에 제2 자동차 전장 부품의 제2 해쉬값을 이용하여 암호화하여 저장하는 것이고, 상기 서비스 제공부는, 상기 제2 자동차 전장 부품의 제1 헤더에 저장된 해쉬값을 복호화한 암호화키를 이용하여, 상기 제1 자동차 전장 부품의 데이터를 복호화하는 것을 특징으로 한다.According to an aspect of the present invention, there is provided a data security system for embedded software of an automotive electronic device, including at least one automobile electrical component, an automobile standard software platform, an operation unit, a database, and a service providing unit The automobile electrical component transmits the generated data and metadata to the operation unit, the operation unit generates a hash value from the received data, and generates a header including the hash value and the metadata, Encrypts and stores the first hash value received from the first automotive electrical component using the second hash value of the second automotive electrical component in the second header of the second automotive electrical component, Wherein the hash value stored in the first header of the second automotive electrical component is decrypted And decodes the data of the first automotive electrical component using a key.

본 발명에 따르면, 차량용 전자 장치의 통합 제어 데이터를 수집하고, 수집된 데이터를 보안 암호화하여, 차량 사고 원인 분석 과정에서 수집된 데이터의 무결성을 확보하여 책임 소재를 명확히 하고, 수집된 데이터가 권한 없는 자 또는 권한을 남용하는 자에 의하여 유출, 반출, 복제 및 무단 배포됨에 따라 2차적인 범죄를 차단하는 효과가 있다.According to the present invention, the integrated control data of the vehicle electronic device is collected, the collected data is securely encrypted, the integrity of the collected data in the vehicle accident analysis process is ensured to clarify responsibility, Or by unauthorized distribution of such information by a person who abuses, abuses, or abuses the rights of others.

또한, 개방형 자동차 표준 소프트웨어 플랫폼 환경에 탑재되는 모든 자동차 전장장치 제품의 데이터 수집과 데이터 보안 암호화의 표준화, 호환성을 목적으로 하여 향후 자율 주행 자동차 첨단 운전자 지원 시스템(ADAS: Avanced Driver Assistance System) 등의 운전자 보호를 위한 장치들의 데이터 보안 및 안정성 확보에도 기여할 것으로 기대된다.Also, for the purpose of standardization and compatibility of data collection and data security encryption of all automotive electronic equipment products installed in the open automobile standard software platform environment, it is required to provide a driver such as an autonomous driving automobile advanced driver assistance system (ADAS) It is expected to contribute to securing data security and stability of devices for protection.

도 1은 본 발명에 따른 자동차 전자 장치의 임베디드 소프트웨어의 데이터 보안 방법이 구현되는 컴퓨터 시스템의 구성을 설명하기 위한 예시도.
도 2는 본 발명에 따른 자동차 전자 장치의 임베디드 소프트웨어의 데이터 보안 장치의 구성도.
도 3은 본 발명에 따른 데이터 베이스를 이용하여 서비스를 제공하는 서비스 제공부를 포함하는 자동차 전자 장치의 임베디드 소프트웨어의 데이터 보안 장치의 구성도.
도 4는 본 발명의 부분 실시예에 따른 자동차 전자 장치의 임베디드 소프트웨어의 데이터 보안 방법을 설명하기 위한 예시도.
도 5는 본 발명의 일실시예에 따른 암호화 방법에 사용되는 데이터 구조를 설명하기 위한 예시도.
도 6는 도 5의 구조를 이용하는 자동차 전자 장치의 임베디드 소프트웨어의 데이터 보안 방법의 일실시예를 설명하기 위한 예시도.
도 7은 도 5의 구조를 이용하는 자동차 전자 장치의 임베디드 소프트웨어의 데이터 보안 방법의 부분 실시예를 설명하기 위한 예시도.
도 8는 본 발명의 다른 실시예에 따른 암호화 방법에 사용되는 데이터 구조를 설명하기 위한 예시도.
도 9는 도 8의 구조를 이용하는 자동차 전자 장치의 임베디드 소프트웨어의 데이터 보안 방법의 일실시예를 설명하기 위한 예시도.
Brief Description of the Drawings Fig. 1 is an exemplary diagram illustrating a configuration of a computer system in which a data security method of embedded software of an automotive electronic device according to the present invention is implemented; Fig.
2 is a configuration diagram of a data security device of embedded software of an automotive electronic device according to the present invention.
3 is a configuration diagram of a data security device of an embedded software of an automotive electronic device including a service providing unit for providing a service using a database according to the present invention.
4 is an exemplary view for explaining a data security method of embedded software of an automotive electronic device according to a partial embodiment of the present invention;
5 is an exemplary diagram illustrating a data structure used in an encryption method according to an embodiment of the present invention;
FIG. 6 is an exemplary diagram for explaining an embodiment of a data security method of embedded software of an automotive electronic device using the structure of FIG. 5; FIG.
FIG. 7 is an exemplary view for explaining a partial embodiment of a data security method of embedded software of an automotive electronic device using the structure of FIG. 5;
8 is an exemplary diagram illustrating a data structure used in an encryption method according to another embodiment of the present invention.
Fig. 9 is an exemplary diagram for explaining an embodiment of a data security method of embedded software of an automotive electronic device using the structure of Fig. 8; Fig.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 한편, 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성소자, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성소자, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.BRIEF DESCRIPTION OF THE DRAWINGS The advantages and features of the present invention, and the manner of achieving them, will be apparent from and elucidated with reference to the embodiments described hereinafter in conjunction with the accompanying drawings. The present invention may, however, be embodied in many different forms and should not be construed as being limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. Is provided to fully convey the scope of the invention to those skilled in the art, and the invention is only defined by the scope of the claims. It is to be understood that the terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. In the present specification, the singular form includes plural forms unless otherwise specified in the specification. As used herein, the terms " comprises, " and / or "comprising" refer to the presence or absence of one or more other components, steps, operations, and / Or additions.

이하, 본 발명의 바람직한 실시예에 대하여 첨부한 도면을 참조하여 상세히 설명하기로 한다. Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명에 따른 자동차 전자 장치의 임베디드 소프트웨어의 데이터 보안 방법이 구현되는 컴퓨터 시스템의 구성을 설명하기 위한 예시도이다.1 is an exemplary diagram illustrating a configuration of a computer system in which a data security method of embedded software of an automotive electronic device according to the present invention is implemented.

한편, 본 발명의 실시예에 따른 자동차 전자 장치의 임베디드 소프트웨어의 데이터 보안 방법은 컴퓨터 시스템에서 구현되거나, 또는 기록매체에 기록될 수 있다. 도 1에 도시된 바와 같이, 컴퓨터 시스템은 적어도 하나 이상의 프로세서(110)와, 메모리(120)와, 사용자 입력 장치(150)와, 데이터 통신 버스(130)와, 사용자 출력 장치(160)와, 저장소(140)를 포함할 수 있다. 전술한 각각의 구성 요소는 데이터 통신 버스(130)를 통해 데이터 통신을 한다.Meanwhile, a data security method of embedded software of an automotive electronic device according to an embodiment of the present invention may be implemented in a computer system or recorded on a recording medium. 1, a computer system includes at least one processor 110, a memory 120, a user input device 150, a data communication bus 130, a user output device 160, And may include a storage 140. Each of the above-described components performs data communication via the data communication bus 130. [

컴퓨터 시스템은 네트워크(180)에 연결된 네트워크 인터페이스(170)를 더 포함할 수 있다. 상기 프로세서(110)는 중앙처리 장치(central processing unit (CPU))이거나, 혹은 메모리(120) 및/또는 저장소(140)에 저장된 명령어를 처리하는 반도체 장치일 수 있다. The computer system may further include a network interface 170 coupled to the network 180. The processor 110 may be a central processing unit (CPU) or a semiconductor device that processes instructions stored in the memory 120 and / or the storage 140.

상기 메모리(120) 및 상기 저장소(140)는 다양한 형태의 휘발성 혹은 비휘발성 저장매체를 포함할 수 있다. 예컨대, 상기 메모리(120)는 ROM(123) 및 RAM(126)을 포함할 수 있다.The memory 120 and the storage 140 may include various forms of volatile or non-volatile storage media. For example, the memory 120 may include a ROM 123 and a RAM 126.

따라서, 본 발명의 실시예에 따른 자동차 전자 장치의 임베디드 소프트웨어의 데이터 보안 방법은 컴퓨터에서 실행 가능한 방법으로 구현될 수 있다. 본 발명의 실시예에 따른 자동차 전자 장치의 임베디드 소프트웨어의 데이터 보안 방법이 컴퓨터 장치에서 수행될 때, 컴퓨터로 판독 가능한 명령어들이 본 발명에 따른 운영 방법을 수행할 수 있다.Accordingly, the data security method of the embedded software of the automobile electronic device according to the embodiment of the present invention can be implemented in a computer-executable method. When a data security method of embedded software of an automotive electronic device according to an embodiment of the present invention is performed in a computer device, computer-readable instructions can perform an operating method according to the present invention.

한편, 상술한 본 발명에 따른 자동차 전자 장치의 임베디드 소프트웨어의 데이터 보안 방법은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현되는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체로는 컴퓨터 시스템에 의하여 해독될 수 있는 데이터가 저장된 모든 종류의 기록 매체를 포함한다. 예를 들어, ROM(Read Only Memory), RAM(Random Access Memory), 자기 테이프, 자기 디스크, 플래시 메모리, 광 데이터 저장장치 등이 있을 수 있다. 또한, 컴퓨터로 판독 가능한 기록매체는 컴퓨터 통신망으로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 읽을 수 있는 코드로서 저장되고 실행될 수 있다.Meanwhile, the data security method of the embedded software of the automobile electronic device according to the present invention can be implemented as a computer-readable code on a computer-readable recording medium. The computer-readable recording medium includes all kinds of recording media storing data that can be decoded by a computer system. For example, there may be a ROM (Read Only Memory), a RAM (Random Access Memory), a magnetic tape, a magnetic disk, a flash memory, an optical data storage device and the like. The computer-readable recording medium may also be distributed and executed in a computer system connected to a computer network and stored and executed as a code that can be read in a distributed manner.

도 2는 본 발명에 따른 자동차 전자 장치의 임베디드 소프트웨어의 데이터 보안 장치의 구성도이다.2 is a block diagram of a data security device of an embedded software of an automotive electronic device according to the present invention.

본 발명에 따른 자동차 전자 장치의 임베디드 소프트웨어의 데이터 보안 장치는 하나 이상의 자동차 전장 부품; 자동차 표준 소프트웨어 플랫폼부; 및 자동차 제어 데이터 저장부;를 포함한다.The data security device of the embedded software of the automotive electronic device according to the present invention comprises at least one automotive electronic component; Automotive standard software platform division; And a vehicle control data storage unit.

상기 자동차 전장 부품은 사고 데이터 기록부(EDR, Event Data Recoder)(210), 전자 제어부(ECU, Electronic Control Unit)(220), 마이크로 프로세서 제어부(MCU, Micro Control Unit)(230), 차량 자가 진단부(OBD, On Board Diagnosis)(240), 트랜스미션 제어부(TCU, Transmission Control Unit)(250), 중앙 정보 디스플레이부(CID, Center Information Display Unit)(260) 및 운전자 계기판 디스플레이부(HUD, Haed Up Display Unit)(270) 중 어느 하나 일 수 있다. 이는 예시적인 것이며, 발명의 범위를 제한하는 것은 아니다.The automotive electrical component includes an event data recorder (EDR) 210, an electronic control unit (ECU) 220, a microcontroller unit (MCU) 230, (OBD) 240, a transmission control unit (TCU) 250, a central information display unit (CID) 260, and a display unit (HUD) Unit) < / RTI > Which are illustrative and do not limit the scope of the invention.

EDR(Event Data Recoder)(210)은 자동차의 주행 정보, 가속 정보, 브레이크 작동 정보 등을 기록하는 장치를 의미한다. 최근 모든 자동차에 의무적으로 탑재하도록 법안이 마련되고 있다. 통상 자동차에 부착되는 블랙박스는 영상을 촬영하는 대쉬 캠(Dash Camera)의 의미로 사용되나, 블랙박스의 본래 의미는 EDR를 의미하는 것이다. 물론 상술한 대쉬 캠도 EDR의 일종이 될 수 있다. The EDR (Event Data Recorder) 210 is a device for recording driving information, acceleration information, brake operation information, and the like of an automobile. Recently, legislation has been imposed on all cars to be mandatory. Normally, a black box attached to an automobile means a dash camera for capturing an image, but the original meaning of a black box means EDR. Of course, the above-described dash cam can also be a kind of EDR.

ECU(Electronic Control Unit)(220)는 자동차에 부착되는 부품을 제어하는 것으로, 자동차의 엔진, 자동 변속기, ABS 등의 상태를 컴퓨터로 제어하는 전자 제어 장치를 말한다. ECU의 최초 개발 목적은 점화 시기, 연료 분사, 공회전, 한계값 설정 등 엔진의 핵심 기능을 정밀하게 제어하는 것이었으나, 현재는 컴퓨터의 성능의 발전과 함께 자동 변속기 제어를 비롯하여 구동계통, 제동 계통, 조향 계통 등 차량의 거의 모든 부분을 제어하는 역할을 하고 있다. An ECU (Electronic Control Unit) 220 controls components attached to an automobile and refers to an electronic control device that controls the state of an engine, an automatic transmission, an ABS, and the like of a vehicle by a computer. The first development objective of the ECU was to precisely control the core functions of the engine such as ignition timing, fuel injection, idling, and threshold setting. Now, with the advancement of computer performance, automatic transmission control, drive system, braking system, Steering system, and so on.

MCU(Micro Control Unit)(230)는 자동차의 부품을 제어하기 위한 전용 프로세서로 컴퓨터의 중앙 연산 처리 장치(CPU, Central Processing Unit)에 대응된다. An MCU (Micro Control Unit) 230 is a dedicated processor for controlling parts of an automobile and corresponds to a central processing unit (CPU) of a computer.

OBD(On Board Diagnosis)(240)는 차량에 부착하여 자동차의 시동을 걸 때, 자동으로 운행기록이 저장되는 운행기록 자기진단장치를 말한다. OBD (On Board Diagnosis) 240 refers to a driving record self-diagnosis device in which a driving record is automatically stored when a vehicle is started by being attached to the vehicle.

TCU(Transmission Control Unit)은 엔진 기어비를 제어하는 트랜스미션의 전자 제어를 담당하는 트랜스미션 제어부를 말한다. TCU (Transmission Control Unit) is a transmission control unit that controls electronic control of a transmission that controls the engine gear ratio.

CID(Center Information Display)은 통상 운전석과 조수석 사이에 위치하는 중아 모니터로, 내비게이션, 오디오 등의 기능을 터치 센서가 적용된 패널로 구현한 것이다. CID (Center Information Display) is a middle-sized monitor that is usually located between the driver's seat and the passenger's seat. Navigation and audio functions are implemented by panels with touch sensors.

HUD(Head Up Display)는 운행 정보가 자동차 운전석의 앞 유리에 나타나는 전방 표시 장치를 말한다. HUD (Head Up Display) is a front display device in which driving information appears on the windshield of a driver's seat.

상술한 다양한 자동차 전장 부품은 개발 시점 및 개발 주체가 상이하고, 각각 고유의 목적에 의하여 개발되어, 사용되는 기술이 서로 상이하여 상호간 통합이 용이하지 않다. The various automotive electrical components described above are different in terms of development time and development subject, and are developed by their own purposes, and the technologies used are different from each other, so that it is not easy to integrate each other.

최근 자동차 내의 네트워크와 관련하여, AUTOSAR(AUTomatic Open System ARchitecture)는 서로 상이한 플랫폼을 가지는 다양한 장치 사이의 네트워크를 지원한다. ATUOSAR는 서브 카테고리로서 LIN, CAN, FlexRay, MOST 등으로 분류된다. MOST는 차량의 대용량 멀티미디어 통신을 지원하기 위하여 광케이블을 통하여 고품질 오디오, 비디오 정보를 제공하는 통신 규격으로 최대 24.5 Mbps 전송 속도로 전달할 수 있고, CAN 통신은 자동차 산업 분야에 네트워크를 적용하기 위하여 보쉬(BOSCH)에서 개발되어, 1Mbps의 최대 신호 속도로 규정된 다중 메시지 방식의 시리얼 네트워크 통신 방식으로 높은 신뢰성을 보장하는 특징이 있다. FlexRay는 대역폭 및 성능을 기준으로 MOST와 CAN 사이에 위치하는 통신 프로토콜로 CAN 통신과 개발 주체 및 연혁이 상이하다. LIN 통신의 경우 CAN 통신이 개발되기 이전부터 존재하던 차량용 네트워크로 UART(Universal Asynchoronous Receiver Transmitter) 인터페이스라고도 불린다. BACKGROUND ART [0002] With respect to networks in automobiles in recent years, AUTOSAR (AUTOMATIC OPEN AR ARTIFICATION) supports networks between various devices having different platforms. ATUOSAR is a subcategory classified as LIN, CAN, FlexRay, MOST and so on. MOST is a communication standard that provides high quality audio and video information through fiber optic cable to support high-capacity multimedia communication of vehicles. It can transmit at maximum 24.5 Mbps transmission rate, and CAN communication can be transmitted to BOSCH ), And has a feature of ensuring high reliability by a serial network communication method of a multi-message method defined by a maximum signal rate of 1 Mbps. FlexRay is a communication protocol based on bandwidth and performance between MOST and CAN. In the case of LIN communication, it is also called a Universal Asynchronous Receiver Transmitter (UART) interface to a car network that existed before CAN communication was developed.

예컨대, MCU는 LIN 통신 및 CAN 통신을 지원하고 이용하고, ECU는 CAN 통신을 지원하고, EDR와 CID는 MOST를 이용할 수 있다. 상기 자동차 표준 소프트웨어 플랫폼부는 차량용 네트워크 프로토콜로서 LIN, CAN, FlexRay, MOST 모두 지원하므로, 각종 자동차 전장 부품과 통신하여 생성된 데이터를 전달받을 수 있다. 전달받은 데이터를 자동차 제어 데이터 저장부에 저장한다. 저장된 데이터는 본발명에 따른 암호화 방법에 따라 암호화되어 있어, 사용자에 의하여 위조, 변조, 삭제되는 것을 방지할 수 있다.For example, MCU supports and uses LIN communication and CAN communication, ECU supports CAN communication, EDR and CID can use MOST. Since the automobile standard software platform part supports both LIN, CAN, FlexRay, and MOST as a network protocol for a vehicle, it can receive data generated by communicating with various automotive electronic parts. And stores the received data in the automobile control data storage unit. The stored data is encrypted according to the encryption method according to the present invention and can be prevented from being falsified, altered or deleted by the user.

통상 자동차 사고가 난 경우, 블랙박스 영상은 사고의 책임 소재를 밝히는데 중요한 증거가 될 수 있다. 사용자에게 유리한 증거라면, 위변조의 위험이 없을 수 있으나, 저장된 데이터가 사용자에게 불리한 증거라면, 사용자가 증거를 훼손하는 문제가 있다. 본 발명에 따르면, 사고와 관련된 정보가 사용자에 의하여 위변조 및 삭제되는 것을 방지할 수 있다. In the case of a car accident, the black box image can be an important evidence for identifying the responsibility of the accident. If the evidence is favorable to the user, there is no risk of forgery, but if the stored data is disadvantageous to the user, there is a problem that the user corrupts the evidence. According to the present invention, information related to an accident can be prevented from being falsified and erased by a user.

도 3은 본 발명에 따른 데이터 베이스를 이용하여 서비스를 제공하는 서비스 제공부를 포함하는 자동차 전자 장치의 임베디드 소프트웨어의 데이터 보안 장치의 구성도이다.3 is a block diagram of a data security device of embedded software of an automotive electronic device including a service providing unit for providing a service using a database according to the present invention.

본 발명에 따른 자동차 전자 장치의 임베디드 소프트웨어의 데이터 보안 장치는 하나 이상의 자동차 전장 부품; 상기 자동차 전장 부품으로 데이터를 전달받아 연산부에 전송하는 자동차 표준 소프트웨어 플랫폼부; 상기 자동차 표준 소프트웨어 플랫폼으로부터 전송받은 데이터를 암호화하여 데이터 베이스에 저장하는 연산부 및 상기 저장된 암호화된 데이터를 복호화하여 서비스를 제공하는 서비스 제공부;를 포함한다.The data security device of the embedded software of the automotive electronic device according to the present invention comprises at least one automotive electronic component; An automobile standard software platform unit that receives data from the automobile electrical component and transmits the data to the operation unit; An operation unit for encrypting data received from the automobile standard software platform and storing the encrypted data in a database, and a service providing unit for providing a service by decrypting the stored encrypted data.

상기 자동차 전장 부품(310)은 도 2의 자동차 전장 부품과 동일한 것을 의미하고, EDR(210), ECU(220), MCU(230), OBD(240), TCU(250), CID(260), HUD(270) 중 어느 하나일 수 있으나, 이는 발명의 범위를 제한하는 것은 아니다. 2, and includes the EDR 210, the ECU 220, the MCU 230, the OBD 240, the TCU 250, the CID 260, HUD 270, but this does not limit the scope of the invention.

자동차 표준 소프트웨어 플랫폼부(280)은 AUTOSAR, WiFi, Bluetooth, ZigBee, WAVE 등은 다양한 통신 장치를 지원하고, 자동차 전장 부품으로부터 평문(plaintext, 암호화되지 아니한 데이터)으로 된 데이터를 전달받아 연산부에 전달하는 역할을 한다. 자동차에서 사용할 수 있는 통신 장치의 그 종류가 다양하고, 각각 사용하는 통신 프로토콜이 상이하므로 자동차 표준 소프트웨어 플랫폼부(280)는 다양한 통신 프로토콜을 사용하는 자동차 전장 부품으로부터 전달받은 콘텐츠를 연산부(320)에서 처리하기 쉬운 형태로 가공하여, 연산부(320)에 전달한다. 이때, 자동차 표준 소프트웨어 플랫폼부(280)가 전달하는 콘텐츠 구조는 헤더와 바디로 구성되며, 바디에는 각 자동차 전장 부품이 실제로 생성하는 데이터가 저장되며, 헤더에는 메타데이터가 저장된다. 메타데이터는 데이터의 생성일시, 데이터 특성, 데이터의 크기 등과 같은 데이터와 관련된 정보를 데이터에 따라 메타데이터의 크기도 상이할 수 있으므로, 메타데이터의 길이도 가변적일 수 있다.The automobile standard software platform unit 280 supports a variety of communication devices such as AUTOSAR, WiFi, Bluetooth, ZigBee, and WAVE, and receives data in plaintext (non-encrypted data) It plays a role. The automobile standard software platform unit 280 transmits the contents received from the automobile electrical components using various communication protocols to the operation unit 320, And transmits the processed data to the calculation unit 320. [0035] At this time, the content structure transmitted by the automobile standard software platform unit 280 is composed of a header and a body. In the body, data actually generated by each automotive electronic component is stored, and metadata is stored in the header. Since the metadata may include information related to data such as date and time of generation of data, data characteristics, data size, etc., the size of the metadata may be different depending on the data, and thus the length of the metadata may also be variable.

서비스 제공부(290)는 데이터 베이스에 저장된 암호화된 데이터와 암호화된 데이터에 대응하는 해쉬값을 찾아 복호화한다. 이때, 해쉬값은 평문 데이터(암호화되지 아니한 데이터)를 생성한 장치의 헤더로부터 얻을 수도 있으나, 해당 해쉬값을 전달한 다른 장치의 헤더로부터 얻을 수도 있다. The service provider 290 finds and decrypts the encrypted data stored in the database and the hash value corresponding to the encrypted data. In this case, the hash value may be obtained from the header of the apparatus that generated the plaintext data (unencrypted data), but may also be obtained from the header of another apparatus that has transmitted the hash value.

데이터로부터 해쉬값을 산출하는 경우, 데이터가 생성될 때마다 지속적으로 생성되는 데이터에 대하여 해쉬값을 산출하게 된다. 생성되는 데이터마다 다른 해쉬값이 산출되는 것이며, 데이터와 해쉬값의 맵핑 테이블을 가져야 한다. In the case of calculating the hash value from the data, the hash value is calculated for the data continuously generated every time the data is generated. A hash value that is different for each generated data is calculated, and a mapping table of data and a hash value should be provided.

상기 해쉬값은 정하여진 계산식에 의하여 산출되는 것으로 통상 역변환이 불가능하다. 주어진 데이터에 대하여 해쉬값을 빠르게 산출할 수 있지만, 해쉬값으로부터 주어진 데이터를 산출하는 것은 용이하지 않다. The hash value is calculated by a predetermined calculation formula and is generally impossible to perform inverse transformation. Although it is possible to quickly calculate a hash value for a given data, it is not easy to calculate the given data from the hash value.

또한, 상기 해쉬값은 암호화하여 저장될 수 있다. The hash value may be encrypted and stored.

예컨대, 자동차 전장 부품으로 제1 부품, 제2 부품 및 제3 부품을 포함하는 자동차 전자 장치의 임베디드 소프트웨어의 데이터 보안 시스템에 있어서, 제1 부품의 해쉬값은 자체 암호화 방법에 의하여 저장되어, 제1 부품의 헤더에 저장되나, 서비스 제공부는 자체 암호화 방법을 알지 못하여 제1 부품의 해쉬값을 복호화할 수 없을 수 있다. 다만, 제2 부품의 헤더에 저장되는 제1 부품의 해쉬값은 제2 부품의 해쉬값에 의하여 암호화된다. 제2 부품의 헤더에 저장되는 제2 부품의 해쉬값은 자체 암호화 방법에 의하여 암호화되어 저장되고, 제2 부품의 해쉬값은 제3 부품에 전달되어 제3 부품의 해쉬값에 의하여 암호화된다. 제3 부품은 마지막 부품이므로, 해쉬값이 평문으로 저장된다. For example, in a data security system of embedded software of an automotive electronic device comprising a first part, a second part and a third part as automotive electrical components, the hash value of the first part is stored by its own encryption method, The service providing unit may not be able to decrypt the hash value of the first component because it does not know its own encryption method. However, the hash value of the first component stored in the header of the second component is encrypted by the hash value of the second component. The hash value of the second part stored in the header of the second part is encrypted and stored by the self encrypting method and the hash value of the second part is transmitted to the third part and encrypted by the hash value of the third part. Since the third part is the last part, the hash value is stored as plain text.

만약 제1 부품의 암호화된 데이터를 복호화하기 위하여는 제1 부품의 해쉬값을 알아야 하는데, 제1 부품의 해쉬값은 암호화되어 저장되어 있으므로, 쉽게 알 수 없게 된다. 상기 예시의 경우, (1) 평문으로 저장된 제3 부품의 해쉬값을 얻은 후, (2) 제3 부품의 해쉬값을 이용하여 제3 부품의 헤더에 저장된 제2 부품의 해쉬값을 복호화하고, (3) 복호화되어 평문으로 된 제2 부품의 해쉬값을 이용하여 제2 부품의 헤더에 저장된 제1 부품의 해쉬값을 복호화하면 평문으로 된 제1 부품의 해쉬값을 산출하고, (4) 산출된 제1 부품의 해쉬값을 이용하여, 제1 부품의 암호화된 데이터를 복호화한다. If the encrypted data of the first part is decrypted, it is necessary to know the hash value of the first part because the hash value of the first part is encrypted and stored. In the above example, (1) a hash value of a third part stored in a plaintext is obtained, (2) a hash value of the second part stored in the header of the third part is decoded using the hash value of the third part, (3) calculating a hash value of the first part as a plain text by decoding the hash value of the first part stored in the header of the second part using the hash value of the second part decrypted and made into a plain text, (4) And decrypts the encrypted data of the first component using the hash value of the first component.

상기 해쉬값의 암호화 및 복호화는 해쉬값의 길이가 짧기 때문에 빠른 시간에 산출할 수 있으나, 제1 부품-제2 부품- 제3 부품의 연결관계를 미리 알고 있어야 한다. 만약, 이러한 연결관계를 알지 못하는 자에게 제3 부품의 해쉬값이 노출된다 하더라도, 제3 부품의 데이터만 복호화할 수 있을 뿐 제1 부품 및 제2 부품의 데이터는 복호화할 수 없게 된다.The encryption and decryption of the hash value can be performed in a short time because the length of the hash value is short, but it is necessary to know the connection relationship of the first part, the second part and the third part in advance. Even if the hash value of the third part is exposed to the person who does not know the connection relationship, only the data of the third part can be decrypted and the data of the first part and the second part can not be decrypted.

상술한 암호화 방법은 순차적인 방법을 제시하였으나, 각 부품을 복수 횟수 사용하여 중복 적용하는 것도 가능하다. 예컨대, 상기 예시에서 제1 부품-제3부품-제2 부품-제3 부품-제2 부품-제3 부품-제1 부품 순서로 암호화 순서를 정할 수 있다. 중복을 허용할 경우, 적용되는 순서의 가짓수는 무한하므로, 본 발명의 암호화 방법을 알고 있더라도 실제 적용된 정확한 방법을 알지 못하는 한, 복호화하기 어렵게 된다.Although the above-described encryption method has been proposed as a sequential method, it is also possible to apply each part repeatedly using a plurality of times. For example, in the above example, the encryption order can be determined in the order of the first part - the third part - the second part - the third part - the second part - the third part - the first part. In the case of allowing duplication, the number of steps in the applied order is infinite, so even if the encryption method of the present invention is known, it is difficult to decrypt it unless the exact method actually applied is known.

상기 자체 암호화 방법은, 알려진 대칭 알고리즘 또는 비대칭 알고리즘을 사용할 수 있다. 자체 암호화 방법이 노출되지 않음 전제로 보안이 보장된다. 또한, 상기 자체 암호화 방법은 별도의 암호화 장치에 의하여 마스터키에 의해 복호화될 수 있다. 상술한 자체 암호화 방법은 암호화 시스템이 잘 작동됨을 전제로 저장하지 아니하여도 무관하다. 본 발명에 따를 경우, 암호화 사슬의 길이에 따라 복호화의 시간이 다소 오래 소요될 수 있으므로, 상기 자체 암호화 방법은 마스터키를 이용하여 빠르게 복호화할 수 있는 기능이다.The self-encrypting method may use a known symmetric algorithm or an asymmetric algorithm. Security is assured on the premise that self-encrypting methods are not exposed. Also, the self-encrypting method may be decrypted by a master key by a separate encrypting device. The self-encrypting method described above may not be stored on the assumption that the encryption system operates well. According to the present invention, since the decoding time may take a longer time depending on the length of the encryption chain, the self-encryption method is a function that can quickly decode using the master key.

연산부(320)는 자동차 표준 소프트웨어 플랫폼부(280)로부터 전달받은 개별 콘텐츠를 데이터베이스(330)에 임시로 저장한다. 임시로 저장하는 개별 콘텐츠는 평문으로 저장하거나, 자체 암호화 방법에 의하여 저장한다. 본 발명은 실시간으로 생성되는 다종의 데이터에 대하여 실시간으로 암호화 및 복호화 서비스를 제공하여 데이터 보안을 강화하는 것이므로, 임시로 저장된 개별 콘텐츠는 통상 직접 서비스하지 아니하고, 연산부의 메모리 상에 모두 적재하여 서비스한다. 타 프로그램이 연산부의 메모리를 직접 접근할 수 없으므로, 연산부의 메모리 상에는 평문으로 된 데이터를 저장하여도 무방하다. 갑작스런 단전 등에 의하여 연산부의 실행이 중단되는 경우, 개별 콘텐츠의 데이터가 유실되는 것을 방지하고 데이터 무결성을 유지하기 위하여 임시로 저장한다.The operation unit 320 temporarily stores individual contents received from the automobile standard software platform unit 280 in the database 330. Individual content that is temporarily stored is stored as a plain text or stored by its own encryption method. Since the present invention provides encryption and decryption services in real time for various kinds of data generated in real time to enhance data security, the individual contents temporarily stored are not usually directly served but are all loaded on the memory of the operation unit . Since the other program can not access the memory of the operation unit directly, data in plain text may be stored on the memory of the operation unit. When the execution of the operation unit is interrupted by a sudden shutdown or the like, the data of the individual contents is prevented from being lost and temporarily stored to maintain data integrity.

통상 소정의 수의 콘텐츠가 임시로 데이터 베이스에 저장된 경우, 연산부는 본 발명에 따른 데이터 보안 방법으로서 사슬형(순차적 방식), 중복형(상호 크로스 방식)에 따라 복수의 콘텐츠의 정보를 이용하여 데이터를 암호화하여 데이터 베이스(330)에 저장한다. 암호화된 데이터가 저장될 때, 상기 임시로 저장된 개별 콘텐츠는 삭제될 수 있다. In general, when a predetermined number of contents are temporarily stored in a database, the arithmetic and logic unit is a data security method according to the present invention, which uses data of a plurality of contents according to a chain type (sequential type) and a redundancy type (cross type) And stores the encrypted data in the database 330. When the encrypted data is stored, the temporarily stored individual contents can be deleted.

데이터 베이스(330)에는 각 자동차 전장 부품의 데이터가 암호화되어 저장되어 있으므로, 서비스 제공부(340)는 암호화된 데이터를 복호화하여 서비스를 제공한다. Since the data of each automobile electrical component is stored in the database 330, the service provider 340 decodes the encrypted data and provides the service.

서비스 제공부(340)가 사용자 단말에 서비스를 제공할 때, 양단 사이에 비대칭 암호화 알고리즘에 따른 방법을 사용할 수 있다. 예컨대, 디피-헬만 키교환 방식에 따라, 공개키를 서로 교환하고, 상대방의 공개키와 자신의 개인키를 이용하여 공유된 비밀키를 얻을 수 있고, 공유된 비밀키를 이용하여 데이터를 암호화하고, 복호화할 수 있다. When the service provider 340 provides a service to the user terminal, a method according to an asymmetric encryption algorithm may be used between both ends. For example, according to the Diffie-Hellman key exchange method, the public keys are exchanged, the secret key shared by using the public key of the other party and the private key thereof is obtained, the data is encrypted using the shared secret key , And decode it.

도 4는 본 발명의 부분 실시예에 따른 사슬형 데이터 보안 방법을 설명하기 위한 예시도이다.FIG. 4 is an exemplary view for explaining a chain data security method according to a partial embodiment of the present invention.

도 3에는 EDR 헤더, ECU 헤더, MCU 헤더, OBD 헤더, TCU 헤더, CID 헤더의 순서로 연결되어 있다. 각각의 헤더에는 메타데이터와 해쉬값이 저장된다. 또한, 각각의 헤더에 다른 자동차 전장 부품의 헤더가 저장될 수 있다. In FIG. 3, an EDR header, an ECU header, an MCU header, an OBD header, a TCU header, and a CID header are sequentially connected. Each header stores metadata and a hash value. In addition, headers of other automotive electrical components can be stored in each header.

예컨대, 도 3에 따르면, EDR 헤더에는 EDR의 메타데이터, EDR의 해쉬값이 저장되고; ECU 헤더에는 EDR의 메타데이터, EDR의 해쉬값, ECU의 메타데이터, ECU의 해쉬값이 저장되고; MCU 헤더에는 ECU의 메타데이터, ECU의 해쉬값, MCU의 메타데이터, MCU의 해쉬값이 저장되고; OBD 헤더에는 MCU의 메타데이터, MCU의 해쉬값, OBD의 메타데이터, OBD의 해쉬값이 저장되고; TCU 헤더에는 OBD의 메타데이터, OBD의 해쉬값, TCU의 메타데이터, TCU의 해쉬값이 저장되고; CID 헤더에는 TCU의 메타데이터, TCU의 해쉬값, CID의 메타데이터, CID의 해쉬값이 저장된다.For example, according to FIG. 3, the EDR header stores the EDR metadata and the EDR hash value; The ECU header stores the EDR metadata, the EDR hash value, the ECU metadata, and the ECU hash value; The MCU header stores the ECU metadata, the hash value of the ECU, the metadata of the MCU, and the hash value of the MCU; The OBD header stores the MCU metadata, the MCU hash value, the OBD meta data, and the OBD hash value; The TCU header stores the metadata of the OBD, the hash value of the OBD, the metadata of the TCU, and the hash value of the TCU; In the CID header, the metadata of the TCU, the hash value of the TCU, the metadata of the CID, and the hash value of the CID are stored.

다시 설명하면, ECU 헤더에는 EDR의 헤더가 저장되고; MCU 헤더에는 ECU의 헤더가 저장되고; OBD 헤더에는 MCU의 헤더가 저장되고; TCU 헤더에는 OBD의 헤더가 저장되고; CID 헤더에는 TCU의 헤더가 저장된다.To be more specific, the header of the EDR is stored in the ECU header; The header of the ECU is stored in the MCU header; The header of the MCU is stored in the OBD header; The header of the OBD is stored in the TCU header; The header of the TCU is stored in the CID header.

이러한 형태로 저장된 구조를 순차적 방식 구조 또는 사슬형 구조라 한다. 상기 해쉬값은 데이터 베이스에 저장되는 데이터를 암호화하고 복호화할 때 사용되는 암호화키값이 된다.A structure stored in this form is called a sequential structure or a chain structure. The hash value is an encryption key value used when encrypting and decrypting data stored in the database.

상기 해쉬값은 메모리상에만 존재하며, 파일에 저장할 때에는, 프로그램에 내장된 자체 암호화 방법을 사용하거나, 다른 암호화 방식에 의하여 암호화되어 저장되므로, 파일에 저장된 해쉬값이 유출된다 하더라도 보안이 유지되는 효과가 있다.Since the hash value exists only in the memory and is stored in a file, it is encrypted using a self-encrypting method built in the program or is encrypted by another encryption method. Therefore, even if the hash value stored in the file is leaked, .

암호화된 데이터는 일반 데이터와 구분하여 물리적 보안 영역 이외에 논리적 보안 영역에 저장하고, 데이터 정보의 위조, 변조, 삭제를 방지하여 데이터의 무결성, 기밀성을 전용 뷰어 프로그램에 의하여 검증할 수 있다. 일반 사용자에게는 전용 뷰어 프로그램이 제공되지 아니하므로, 사용자에 의한 데이터의 위조, 변조, 삭제를 방지할 수 있다.The encrypted data can be stored in the logical security area in addition to the physical security area by distinguishing it from the general data, and the integrity and confidentiality of the data can be verified by the exclusive viewer program by preventing falsification, modulation and deletion of the data information. Since a dedicated viewer program is not provided to the general user, it is possible to prevent falsification, modulation and deletion of data by the user.

또한, 데이터 정보를 열람하기 위한 사용자의 인증을 위하여 사용자 인증 프로그램을 포함할 수 있다. In addition, a user authentication program may be included to authenticate a user for browsing data information.

예컨대, EDR이 생성하는 데이터에 대한 메타 데이터와 데이터에 대한 데이터의 해쉬값을 EDR 헤더에 저장한다. ECU, MCU, OBD, TCU, CID, HUD의 경우도 마찬가지이다. For example, the metadata for the data generated by the EDR and the hash value of the data for the data are stored in the EDR header. The same is true for ECU, MCU, OBD, TCU, CID, and HUD.

자동차 표준 소프트웨어 플랫폼부는 EDR로부터 전달받은 정보로부터 EDR 데이터 및 EDR 헤더를 생성하여 연산부(320)에 전송하고, 연산부(320)는 EDR 데이터를 EDR 헤더를 데이터 베이스에 임시로 저장한다. 마찬가지로 ECU, MCU, OBD, TCU, CID, HUD에 대하여 같은 작업이 반복된다. 상기 해쉬값은 메타데이터를 이용하여 생성하거나, 데이터를 이용하여 생성할 수 있다. 상기 해쉬값은 SHA1, SHA2, SHA3, MD5sum, hash table 등의 해쉬 알고리즘을 이용하여 생성할 수 있고, 사용자 정의 해쉬 함수도 사용할 수 있다. 또한, 상기 해쉬값은 각 자동차 전장 부품의 환경변수를 이용하여 산출할 수 있다.The automobile standard software platform part generates the EDR data and the EDR header from the information received from the EDR and transmits the EDR data and the EDR header to the operation part 320. The operation part 320 temporarily stores the EDR data in the database. Similarly, the same operation is repeated for the ECU, MCU, OBD, TCU, CID, and HUD. The hash value may be generated using metadata or may be generated using data. The hash value may be generated using a hash algorithm such as SHA1, SHA2, SHA3, MD5sum, or hash table, or a user-defined hash function may be used. In addition, the hash value can be calculated by using the environmental variable of each vehicle electrical component.

도 5는 본 발명의 일실시예에 따른 암호화 방법에 사용되는 데이터 구조를 설명하기 위한 예시도를 나타낸다. 5 illustrates an exemplary diagram for explaining a data structure used in an encryption method according to an embodiment of the present invention.

구체적으로 사슬형 암호화 방법에 사용되는 데이터 베이스에 저장되는 데이터의 단위 구조체를 나타내고 있다. 다만, 본 데이터의 단위 구조체는 중복형(상호 크로스형) 암호화 방법에도 사용할 수 있다.And specifically shows a unit structure of data stored in a database used in the chain type encryption method. However, the unit structure of this data can also be used in a redundant (cross-type) encryption method.

도 5에 따르면 데이터의 단위 구조체는 헤더와 데이터를 포함하며, 헤더는 해쉬값과 메타데이터로 구성되고, 단위 구조체는 하나 이상의 헤더를 포함할 수 있다. According to FIG. 5, a unit structure of data includes a header and data, a header is composed of a hash value and metadata, and a unit structure may include one or more headers.

헤더가 2 이상인 것은 자신의 해쉬값뿐만 아니라 다른 자동차 전장 부품의 헤더도 저장할 수 있기 때문이다. 다만, 사슬형 구조의 암호화 방법을 사용한다면, 헤더의 수는 2개이면 충분하다. 다만, 중복형(상호 크로스형) 보안 방법을 사용하는 경우, 더 많은 수의 헤더가 필요할 수 있다. A header of 2 or more can store not only its own hash value but also the headers of other automotive electrical components. However, if the encryption method of the chain structure is used, the number of the header is two. However, if you use the redundant (cross-type) security method, you may need a larger number of headers.

통상 해쉬값은 평문으로 저장될 수도 있으나, 자체 암호화 방법을 사용하여 암호화된 상태로 저장된다. 반면, 데이터는 평문인 해쉬값을 이용하여 암화화되어 저장될 수 있다. 메타데이터는 평문으로 저장할 수 있고, 해쉬값을 이용하여 암호화하거나, 자체 암호화 방법을 사용하여 암호화되어 저장될 수 있다. Normally, the hash value may be stored as plain text, but it is stored in an encrypted form using its own encryption method. On the other hand, data can be encrypted and stored using a plain hash value. Metadata can be stored in plain text, encrypted using a hash value, or encrypted using its own encryption method.

도 6는 도 5의 구조를 이용하는 자동차 전자 장치의 임베디드 소프트웨어의 데이터 보안 방법의 일실시예를 설명하기 위한 예시도.FIG. 6 is an exemplary diagram for explaining an embodiment of a data security method of embedded software of an automotive electronic device using the structure of FIG. 5; FIG.

도 6은 사슬형(순차적 방식)의 암호화 방법을 사용하는 예시를 보여준다.Figure 6 shows an example using a chain (sequential) encryption method.

도 4에서 설명한 바와 같이, EDR 헤더에는 EDR의 메타데이터, EDR의 해쉬값이 저장되고; ECU 헤더에는 EDR의 메타데이터, EDR의 해쉬값, ECU의 메타데이터, ECU의 해쉬값이 저장되고; MCU 헤더에는 ECU의 메타데이터, ECU의 해쉬값, MCU의 메타데이터, MCU의 해쉬값이 저장되고; OBD 헤더에는 MCU의 메타데이터, MCU의 해쉬값, OBD의 메타데이터, OBD의 해쉬값이 저장되고; TCU 헤더에는 OBD의 메타데이터, OBD의 해쉬값, TCU의 메타데이터, TCU의 해쉬값이 저장되고; CID 헤더에는 TCU의 메타데이터, TCU의 해쉬값, CID의 메타데이터, CID의 해쉬값이 저장된다.As described in FIG. 4, the EDR header stores the EDR metadata and the EDR hash value; The ECU header stores the EDR metadata, the EDR hash value, the ECU metadata, and the ECU hash value; The MCU header stores the ECU metadata, the hash value of the ECU, the metadata of the MCU, and the hash value of the MCU; The OBD header stores the MCU metadata, the MCU hash value, the OBD meta data, and the OBD hash value; The TCU header stores the metadata of the OBD, the hash value of the OBD, the metadata of the TCU, and the hash value of the TCU; In the CID header, the metadata of the TCU, the hash value of the TCU, the metadata of the CID, and the hash value of the CID are stored.

도 5의 데이터 단위 구조체를 이용하여 설명하면, EDR의 데이터는 EDR의 해쉬값을 암호화 키값으로 하여 암호화 및 복호화가 이루어진다. 그러나, 암호화키인 해쉬값은 EDR 헤더에 암호화되어 저장되고, 자체 암호화 방법은 외부로 복호화 서비스를 제공하지 아니하므로(전용 뷰어 프로그램 및 사용자 인증 프로그램은 예외이다. 즉, 전용 뷰어 프로그램 및 사용자 인증 프로그램을 이용하여 자체 암호화 방법에 의한 복호화는 가능), EDR 헤더에 저장된 EDR 해쉬값은 복호화할 수가 없다. 다만, EDR 해쉬값은 ECU 헤더에도 저장되며, ECU의 해쉬값을 이용하여 암호화되어 저장된다. EDR 해쉬값을 얻기 위하여는 EDR 헤더에 저장된 해쉬값이 아닌 ECU 헤더에 저장된 암호화된 해쉬값을 복호화하여 얻을 수 있다. 그러나, ECU 헤더에 저장된 암호화된 EDR 해쉬값은 ECU 해쉬값을 암호화키로 하여 암호화되어 있는데, ECU 헤더에 저장된 ECU 해쉬값은 자체 암호화 방법에 의하여 암호화되어 있으므로, 복호화할 수 없다. 즉, ECU 해쉬값은 MCU 헤더에 저장된 ECU 해쉬값을 MCU 해쉬값으로 복호화하여 얻을 수 있게 된다. EDR 데이터를 복호화하기 위하여 CID 헤더에 저장된 CID 해쉬값을 이용하여 TCU 해쉬값을 얻고, TCU 해쉬값으로 OBD 해쉬값을 얻고, OBD 해쉬값으로 MCU 해쉬값을 얻고, MCU 해쉬값으로 ECU 해쉬값을 얻고, ECU 해쉬값으로 EDR 해쉬값을 얻어서, EDR 해쉬값을 이용하여 EDR 데이터를 복호화한다.Using the data unit structure of FIG. 5, the EDR data is encrypted and decrypted using the EDR hash value as the encryption key value. However, since the hash value, which is the encryption key, is encrypted and stored in the EDR header and the self-encryption method does not provide the decryption service to the outside (except for the private viewer program and the user authentication program, It is possible to decrypt the EDR hash value stored in the EDR header. However, the EDR hash value is also stored in the ECU header, and is encrypted and stored using the hash value of the ECU. The EDR hash value can be obtained by decoding the encrypted hash value stored in the ECU header instead of the hash value stored in the EDR header. However, the encrypted EDR hash value stored in the ECU header is encrypted using the ECU hash value as an encryption key. Since the ECU hash value stored in the ECU header is encrypted by its own encryption method, it can not be decrypted. That is, the ECU hash value can be obtained by decoding the ECU hash value stored in the MCU header into the MCU hash value. In order to decode the EDR data, the TCU hash value is obtained using the CID hash value stored in the CID header, the OBD hash value is obtained from the TCU hash value, the MCU hash value is obtained from the OBD hash value, Obtains an EDR hash value using the ECU hash value, and decodes the EDR data using the EDR hash value.

사슬형 암호화 방법을 이용할 경우, 하나의 데이터를 복호화하기 위하여, 복수회 복호화하므로, 속도상 단점이 있으나, 각 자동차 전장 부품의 데이터에 비하여 헤더의 사이즈가 작고, 헤더와 바디를 분리하여 저장하여 필요한 헤더를 한번에 읽어와 처리할 경우, 빠른 속도로 복호화할 수 있다. 실제로 데이터를 복호화하는 오버로드 대비 해쉬값에 대한 복호화로 인한 시간지연은 작은 수준이다.However, since the size of the header is smaller than that of the data of each automobile electrical component, the header and the body are separately stored, and it is necessary to store the header and the body separately. If the header is read and processed at a time, it can be decoded at a high speed. The time delay due to decryption of the overload versus hash value to actually decrypt the data is small.

도 7은 도 5의 구조를 이용하는 자동차 전자 장치의 임베디드 소프트웨어의 데이터 보안 방법의 부분 실시예를 설명하기 위한 예시도를 나타낸다..FIG. 7 shows an exemplary diagram for illustrating a partial embodiment of a data security method of embedded software of an automotive electronic device using the structure of FIG. 5.

도 7은 중복형(상호 크로스 방식)의 암호화 방법을 설명하기 예시도이다. 도 6의 사슬형 방법과 달리, 상호 크로스 방식의 경우, 하나의 헤더에 3개 이상의 자동차 전장 부품에 대한 헤더 정보를 포함할 수 있다. 7 is an exemplary diagram illustrating a redundant (mutual cross method) encryption method. Unlike the chained method of FIG. 6, in the case of the cross-cross method, one header may include header information for three or more automotive electrical components.

도 7을 따르면, EDR 헤더에는 EDR의 메타데이터, EDR의 해쉬값이 저장되고; ECU 헤더에는 EDR의 메타데이터, EDR의 해쉬값, ECU의 메타데이터, ECU의 해쉬값이 저장되고; MCU 헤더에는 EDR의 메타데이터, EDR의 해쉬값, ECU의 메타데이터, ECU의 해쉬값, MCU의 메타데이터, MCU의 해쉬값이 저장되고; OBD 헤더에는 MCU의 메타데이터, MCU의 해쉬값, OBD의 메타데이터, OBD의 해쉬값이 저장되고; TCU 헤더에는 MCU의 메타데이터, MCU의 해쉬값, OBD의 메타데이터, OBD의 해쉬값, TCU의 메타데이터, TCU의 해쉬값이 저장되고; CID 헤더에는 TCU의 메타데이터, TCU의 해쉬값, CID의 메타데이터, CID의 해쉬값이 저장된다.According to FIG. 7, the EDR header stores the EDR metadata and the EDR hash value; The ECU header stores the EDR metadata, the EDR hash value, the ECU metadata, and the ECU hash value; The MCU header stores the EDR metadata, the EDR hash value, the ECU metadata, the ECU hash value, the MCU metadata, and the MCU hash value; The OBD header stores the MCU metadata, the MCU hash value, the OBD meta data, and the OBD hash value; The TCU header stores the MCU metadata, the MCU hash value, the OBD metadata, the OBD hash value, the TCU metadata, and the TCU hash value; In the CID header, the metadata of the TCU, the hash value of the TCU, the metadata of the CID, and the hash value of the CID are stored.

도 6과 비교할 때, MCU 헤더에 EDR의 메타데이터, EDR의 해쉬값이 포함되고, TCU 헤더에 MCU의 메타데이터, MCU의 해쉬값이 포함되는 것에 차이가 있다. Compared with FIG. 6, there are differences in that the EDU metadata and the EDR hash value are included in the MCU header, and the TCU header includes the MCU metadata and the MCU hash value.

상호 크로스 방식의 경우, 여러 개의 헤더가 중복되어 저장되므로, 경로를 단축하여, 복호화할 수 있는 단점이 있다. 도 6의 방법은 EDR 데이터를 복호화하기 위하여 CID, TCU, OBD, MCU, ECU, EDR 순서로 해쉬값을 복호화하여 최종적으로 EDR 데이터를 복호화하는 것이지만, 도 7에서는 EDR 데이터를 복호화하기 위하여 CID, TCU, MCU, EDR 순서로 해쉬값을 복호화하여 EDR 데이터를 복호화할 수 있다. In the case of the cross-cross method, since a plurality of headers are redundantly stored, there is a disadvantage that the path can be shortened and decoded. The method of FIG. 6 decodes a hash value in the order of CID, TCU, OBD, MCU, ECU and EDR in order to decode the EDR data and finally decodes the EDR data. In FIG. 7, , The MCU, and the EDR, in order, and decodes the EDR data.

도 8는 본 발명의 다른 실시예에 따른 암호화 방법에 사용되는 데이터 구조를 설명하기 위한 예시도이다. 8 is an exemplary diagram illustrating a data structure used in an encryption method according to another embodiment of the present invention.

발명을 실시하기 위한 일실시예에 있어서, 다른 자동차 전장 부품의 메타데이터를 저장하지 아니하여도 문제되지 아니할 수 있고, 이를 고려하여 데이터의 단위 구조체를 설계한 예시가 도 8에 나타나 있다.In an embodiment of the present invention, the metadata of other automotive electrical components may not be stored, and an example of designing a unit structure of data in consideration of the metadata is shown in FIG.

또한, 상술한 사슬형 아닌 중복형의 암호화 방법에 있어서, 자동차 전장 부품의 순서를 정하기 위하여, 동일한 자동차 전장 부품을 1회 이상 중복하여 사용하는 것을 고려한 암호화 방법을 설계할 수 있다.In addition, in the above-mentioned non-chain type encryption method, an encryption method considering the use of the same automotive electrical component parts one or more times in order to determine the order of the automotive electrical component parts can be designed.

도 8에 제시된 것과 같이, 헤더의 메타데이터는 해당 자동차 전장 부품의 메타데이터만 저장할 수 있다. 예컨대, EDR 헤더의 메타데이터는 EDR 데이터의 메타데이터만 저장한다. 반면, 해쉬값은 1회 사용에 2개씩 필요한 것을 가정하여, 2개가 한쌍을 이루어 총 4쌍의 해쉬값을 표시하였다. 여기서 위에 있는 해쉬값을 Hash1로 정의하고, 아래에 있는 해쉬값을 Hash2로 정의하며, 첫번째 열의 해쉬값을 각각 Hash1[1], Hash2[1] 이라 하고, 두번째 열의 해쉬값을 각각 Hash1[2], Hash2[2]라 한다. 마찬가지로 3번째 열의 해쉬값은 Hash1[3], Hash2[3]이라 하고, 4번째 열의 해쉬값은 Hash1[4], Hash2[4]라 한다. 4쌍의 해쉬값만 표시하였으나, 이는 예시적인 것이며, 필요에 따라 조정할 수 있는 것이다. As shown in FIG. 8, the metadata of the header can only store metadata of the corresponding automotive electrical component. For example, the metadata of the EDR header only stores the metadata of the EDR data. On the other hand, assuming that two hash values are required for one use, a total of four pairs of hash values are displayed in pairs of two. Hash1 [1] and Hash2 [1] are defined as the hash values of the first column, and Hash1 [2] and Hash2 are respectively defined as the first hash value and the second hash value, , And Hash2 [2]. Similarly, the hash values in the third column are Hash1 [3] and Hash2 [3], and the fourth column hash values are Hash1 [4] and Hash2 [4]. Although only four pairs of hash values are shown, this is illustrative and can be adjusted as needed.

도 9에는 도 8의 단위 구조체를 이용하여 설계된 암호화 방법을 설명할 것이다.Fig. 9 illustrates an encryption method designed using the unit structure of Fig.

도 9는 도 8의 구조를 이용하는 자동차 전자 장치의 임베디드 소프트웨어의 데이터 보안 방법의 일실시예를 설명하기 위한 예시도이다.FIG. 9 is an exemplary diagram for explaining an embodiment of a data security method of embedded software of an automotive electronic device using the structure of FIG. 8. FIG.

예컨대, 자동차 전장 부품 A, B, C 에서 각각 데이터가 발생하였다고 가정하자. 도 9는 A, B, C에서 각각 발생한 데이터와 메타데이터를 암호화하여 저장하는 방법을 설명하기 위한 예시도이다.For example, assume that data is generated in the vehicle electrical components A, B, and C, respectively. FIG. 9 is an exemplary diagram for explaining a method of encrypting and storing data and metadata generated in A, B, and C, respectively.

먼저, 암호화할 순서를 정한다. 도 9에서는 A-B-C-B-C-B-A-C-B-C 순서로 암호화할 것을 정한 것이며, 총 횟수 및 순서는 랜덤 제네레이터를 이용하여 사전에 정하여진 범위내에서 무작위적으로 결정된다. 도 9에서는 암호화 해쉬값을 원문자로 표시하였고, 암호화되는 순서를 화살표에 의하여 표시하였다.First, determine the order of encryption. In FIG. 9, encryption is performed in the order of A-B-C-B-C-B-C-B-C, and the total number and order are randomly determined within a predetermined range using a random generator. In Fig. 9, the encrypted hash values are indicated by original characters, and the order of encryption is indicated by arrows.

자동차 전장 부품 A는 우선, A의 데이터 및 메타데이터를 A의 해쉬값을 이용하여 암호화하여 저장한다. 또한, 도 9의 1번째 단위 구조체(A)의 ①는 A의 해쉬값이 자체 암호화 방법에 의하여 암호화되어 저장된 값을 의미한다.The automotive electrical component A first encrypts the data and metadata of A using the hash value of A and stores it. Also, (1) of the first unit structure (A) in FIG. 9 means a value stored in the hash value of A by being encrypted by its own encryption method.

2번째 단위 구조체(B)에는 자동차 전장 부품 B가 B의 데이터 및 메타데이터를 B의 해쉬값을 이용하여 암호화하여 저장한다. 또한, B의 해쉬값은 자체 암호화 방법에 암호화되어 저장되는데, 2번째 단위 구조체(B)의 ②를 의미한다. 또한, A의 ①을 전달받아 B의 해쉬값을 이용하여 암호화하여 저장하는데, ②의 하단에 있는 ①이 B의 해쉬값으로 암호화된 ①을 의미하는 것이다. 이때 A의 ①과 B의 ①은 암호화 방식이 다를 수 있고, 암호화키도 다를 것이므로, 전혀 다른 값이 된다. 다만, 암호화되기 전의 값이 일치한다. 즉, 각각 암호화 방법에 대응하는 방법으로 복호화하면 동일한 값이 될 것이나, 자체 암호화 방법은 사용자에게 제공하지 아니하므로, 사용자는 B에 저장된 ①을 이용하여 A의 데이터를 복호화할 수 있을 뿐이다.In the second unit structure (B), the vehicle electric component B encrypts the data and metadata of B by using the hash value of B and stores the encrypted data. Also, the hash value of B is encrypted and stored in its own encryption method, which means ② of the second unit structure (B). In addition, it receives ① of A and encrypts and stores it using the hash value of B. In the lower part of ②, ① means ① ① encrypted with hash value of B. In this case, since the encryption method of A of ① and B of ① may be different, and the encryption key may be different, it is a completely different value. However, the values before encryption are matched. That is, if they are decrypted by the method corresponding to the encryption method, they will be the same value, but since the self-encryption method is not provided to the user, the user can only decrypt the data of A by using?

마찬가지로, B의 ②는 C에게 전달되어 C의 해쉬값을 암호화키로 하여 암호화되어 저장된다. 또한 C의 해쉬값은 자체 암호화 방법에 의하여 저장된다.Likewise, ② of B is transmitted to C, encrypted with a hash value of C as an encryption key, and stored. The hash value of C is also stored by its own encryption method.

4번째 단위 구조체(B)는 B의 단위 구조체를 한번 더 사용하는 경우이다. 그러므로, 2번째에서 저장된 결과는 그대로 저장되고, C의 ③이 B의 Hash2[2]에 저장된다. 이때 B의 Hash2[2]에 저장되는 ③은 새로 생성한 B의 해쉬값 ④에 의하여 저장된다. 통상 해쉬값은 자동차 전장 부품이 생성한 데이터를 이용하여 생성하는데, Hash1[2], Hash1[3] 등은 랜덤 제네레이터에 의하여 생성된 값을 이용하여 해쉬값을 생성한다. 이는 해쉬값을 암호화하는 것에만 사용하는 키값이 되므로, 복잡하게 생성하지 아니하여도 좋고, 충분한 크기로 생성하면 족하다. 랜덤 제네레이터가 생성한 해쉬값(④)을 이용하여 ③을 암호화하여 저장하고, ④는 자체 암호화 방법에 의하여 암호화한다.The fourth unit structure (B) is a case where the unit structure of B is used once more. Therefore, the result stored in the second is stored as it is, and ③ of C is stored in Hash2 [2] of B. At this time, ③ stored in Hash2 [2] of B is stored by hash value ④ of newly created B. Generally, hash values are generated using data generated by automotive electronic components. Hash1 [2] and Hash1 [3] generate hash values using values generated by random generators. Since this is a key value used only for encrypting a hash value, it may not be generated complicatedly, and it suffices to generate it with a sufficient size. Encrypts and stores ③ using the hash value (④) generated by the random generator, and ④ encrypts it by its own encryption method.

5번째(C), 6번째(B), 7번째(A), 8번째(C), 9번째(B)까지 같은 방법에 의하여, 랜덤 제네레이터에 의하여 해쉬값을 생성하고, 생성한 해쉬값을 이용하여 전달받은 해쉬값을 암호화하여 저장(Hash2)하며, 생성한 해쉬값은 자체 암호화 방법에 의하여 저장(Hash1)한다.The hash value is generated by the random generator by the same method as the fifth (C), sixth (B), seventh (A), eighth (C), and ninth (Hash2). The generated hash value is stored (Hash1) by its own encryption method.

다만, 10번째(C)의 경우는 다소 상이하다. ⑩을 랜덤 제네레이터에 의하여 생성하고, ⑨를 ⑩을 이용하여 암호화하여 저장하는 것까지는 동일하나, ⑩은 저장하는 방식이 상이하다. ⑩은 평문으로 저장될 수도 있으며, 지금까지 사용한 것과 상이한 자체 암호화 방법을 사용한다. ⑩을 지금까지 사용해온 자체 암호화 방법을 사용할 경우, 복잡한 리버스 엔지니어링에 의하여, 자체 암호화 방법이 알려질 수 있기 때문이다. 또한, ①을 암호화키로 하여, ⑩을 암호화하여 A(①의 하단 위치)에 저장할 수 있다. However, the tenth (C) case is somewhat different. ⑩ is generated by a random generator, and ⑨ is encrypted and stored by using ⑩, but the method of storing ⑩ is different. ⑩ may be stored as plain text and uses a different self-encrypting method than that used so far. When using the self-encrypting method that has been used so far, the self-encrypting method can be known by the complicated reverse engineering. Also, by encrypting (1) with (1) as an encryption key, and storing it in A (the lower end of (1)).

도 9의 암호화 방법을 사용했을 경우, 해당 파일이 유출되고, 데이터 구조가 파악된다 하더라도, 유출된 구조는 7번째(A), 9번째(B), 10번째(C) 뿐이다.9, only the seventh (A), the ninth (B), and the tenth (C) are leaked out even if the corresponding file is leaked and the data structure is grasped.

그러나, 암호화된 순서(A-B-C-B-C-B-A-C-B-C)를 알 수 없을 뿐만 아니라, 유출된 정보는 모두 암호화된 상태이므로, 복호화하는 것은 불가능에 가깝다.However, since not only the encrypted order (A-B-C-B-C-B-A-C-B-C) is known but also all of the outgoing information is encrypted, decryption is almost impossible.

통상 암호화에 사용되는 키값은 128 bits 이상이 안전한 것으로 알려져 있다. 컴퓨팅 파워의 발전에 따라 최근에는 256 bits 이상의 암호화키를 사용하는 경우도 많다. 그러나, 본 발명에서는 연쇄적인 암호화 방법을 사용하므로 각각의 암호화키는 그렇게 길 필요는 없다. 결과적으로 전체 암호화키가 모두 일치해야 원하는 데이터를 복호화할 수 있는 것이므로, 단계별 암호화키를 짧게 유지하더라도 보안성이 높은 효과가 있다. It is generally known that the key value used for encryption is more than 128 bits. With the development of computing power, encryption keys more than 256 bits are often used recently. However, since the present invention uses a cascade encryption method, each encryption key does not need to be so long. As a result, since all the encryption keys must match, desired data can be decrypted, so that even if the encryption key is kept short, the security is high.

본 발명에 따르면, 중요한 정보 중의 하나는 암호화된 순서(A-B-C-B-C-B-A-C-B-C)에 관한 것이다. 암호화된 순서 역시 암호화되어 저장되며, 데이터 집합과 암호화된 순서를 서로 매칭하기 위하여는 본 발명에 따른 자동차 전자 장치의 임베디드 소프트웨어의 데이터 보안 시스템의 데이터 구조 전체를 리버스 엔지니어링 낱낱이 분석되어야만 알 수 있으나, 이는 용이하지 않은 일이다.According to the invention, one of the important information relates to the encrypted sequence (A-B-C-B-C-A-C-B-C). In order to match the data set and the encrypted order with each other, the entire data structure of the data security system of the embedded software of the automobile electronic device according to the present invention can be known only by reverse engineering analysis. However, It is not done.

상술한 암호화된 데이터는 암호화 방법의 역순에 따라 복호화한다. 복호화된 데이터 및 메타데이터를 서비스로 제공하는 서비스 제공부는 평문으로 제공할 수도 있으나, 제공시에 정보가 유출될 수도 있다. 다만, 본 발명의 경우, 복호화된 데이터가 위조, 변조, 삭제되는 것을 방지하는 것이 중요하고, 최종 서비스 단계에서 유출되는 것은 크게 문제되지는 아니하다.The above-described encrypted data is decrypted according to the reverse order of the encryption method. The service providing unit that provides the decrypted data and the metadata as a service may be provided as a plain text, but information may be leaked at the time of providing. However, in the case of the present invention, it is important to prevent the decrypted data from being falsified, altered, or deleted, and it is not a big problem that the decrypted data is leaked in the final service step.

다만, 보안 강화의 측면에서 서비스 제공부와 서비스를 요청하는 사용자 단말 사이에는 말단간의 암호화 방법으로서 공개키 교환 방법에 의한 공유된 비밀키를 생성하는 디피-헬만 키교환 방법을 사용할 수 있다.However, in terms of security enhancement, a Diffie-Hellman key exchange method for generating a shared secret key by a public key exchange method as an end-to-end encryption method may be used between a service providing terminal and a user terminal requesting a service.

구체적인 공개키 생성키 생성 방법으로서는 타원곡선을 이용한 타원 곡선 암호화 방법, EIGamal 암호화 방법을 이용할 수 있다. As a specific public key generation key generation method, an elliptic curve encryption method using an elliptic curve and an EIGamal encryption method can be used.

디피-헬만 키교환 방법은 다음과 같다. 디피-헬만 공개키 교환 방법이란 정보를 교환할 양 당사자인 Alice와 Bob이 각자 개인키를 생성하고, 각 개인키로부터 공개키를 생성하여 공개키를 교환한다. 즉, Alice와 Bob은 상대방의 공개키를 보유하게 된다. Alice와 Bob은 교환한 공개키와 자신의 개인키를 이용하여 새로운 키를 생성하는데 이를 공유 비밀키(shared secret key)라고 불린다. Alice와 Bob이 갖게 되는 공유 비밀키는 같은 값을 가지게 되고, 이를 이용해 암호화 및 복호화 작업을 한다. The Diffie-Hellman key exchange method is as follows. The Diffie-Hellman public key exchange method is a method in which both parties Alice and Bob who exchange information exchange their private keys, generate public keys from their respective private keys, and exchange public keys. That is, Alice and Bob have the other party's public key. Alice and Bob create a new key using the exchanged public key and their private key, which is called a shared secret key. The shared secret key that Alice and Bob have has the same value and uses it to encrypt and decrypt.

디피-헬만 공개키 교환 방법을 사용하기 위해서는 개인키로부터 공개키를 생성하기는 쉬우나 공개키로부터 개인키를 계산하는 것은 어려워야 한다. 또한 개인키를 알지 못하는 한 공개키로부터 공유 비밀키를 계산하는 것이 어려워야 하며, Alice와 Bob의 공개키만으로는 공유 비밀키를 생성하기 어려워야 한다. To use the Diffie-Hellman public key exchange method it is easy to generate the public key from the private key, but it is difficult to calculate the private key from the public key. Also, it is difficult to calculate the shared secret key from the public key unless the private key is known, and Alice and Bob's public key should be difficult to generate the shared secret key.

이러한 조건을 만족한다면, 암호화 및 복호화의 프로토콜 상 개인키 및 공유 비밀키를 교환되지 아니하므로 교환되는 공개키가 유출된다 하더라도 보안은 유지된다.If this condition is satisfied, the private key and the shared secret key are not exchanged in the encryption and decryption protocol, so that the security is maintained even if the public key to be exchanged is leaked.

ECC(타원 곡선 암호화 방법)을 이용한 EIGamal 암호화는 다음과 같다. EIGamal encryption using ECC (elliptic curve encryption method) is as follows.

유한체(Finite Field, Galois Field) GF(2p)를 기반의 타원곡선은 이동통신기기 기반의 환경에서 VLSI chip 같은 특수 목적 연산장치(Chip)에 구현에 적합하다.The elliptic curve based on finite field (Galois Field) GF (2p) is suitable for implementation in a special purpose computing device such as a VLSI chip in a mobile communication device based environment.

ECC 기반의 ElGamal 공개키 암호화 방법이란 양자(예컨대, Alice와 Bob) 간 암호화 통신방법으로는 Alice와 Bob이 공개키를 서로 교환한 후, Bob이 Alice의 공개키와 자신의 개인키를 이용하여 메시지를 암호화하여 Alice에게 전송하고, Alice는 자신의 개인키와 Bob의 공개키를 이용하여, 암호화된 메시지를 복호화하는 암호화 방법을 말한다. 이때, 개인키(k)로부터 생성되는 공개키는 순환군을 이루므로, 가환군의 위수(order) 미만의 자연수를 무작위로 추출하여 개인키로 사용하고, 소수(prime)인 위수(order)에 의하여 정하여 지는 타원 곡선상의 무한원점 E1(a1,b1)을 이용하여 공개키(K)를 계산하게 된다. 이때, K = k E1(a1,b1) 이고, 는 타원 곡선 포인트 스칼라 곱이다. 즉, 타원 곡선(Elliptic curve)을 이용하여 개인키로부터 공개키를 생성하고(ECC), 순환군을 이용하여 비밀 공유키를 만드는(ElGamal) 방법이다.The ECC-based ElGamal public key encryption method is a cryptographic communication method between the two (for example, Alice and Bob). After Alice and Bob exchanged public keys, Bob transmits a public key using Alice's public key and his / To Alice, and Alice is an encryption method that decrypts the encrypted message using her private key and Bob's public key. Since the public key generated from the private key k is a circular group, a natural number less than the order of the group is randomly extracted and used as a private key, and then, by a prime order, The public key K is calculated using the infinite origin E1 (a1, b1) on the elliptic curve to be determined. Where K = kE1 (a1, b1), and is the elliptic curve point scalar product. That is, a public key is generated from a private key using an elliptic curve (ECC), and a secret shared key is generated using a cyclic group (ElGamal).

이상, 본 발명의 구성에 대하여 첨부 도면을 참조하여 상세히 설명하였으나, 이는 예시에 불과한 것으로서, 본 발명이 속하는 기술 분야에 통상의 지식을 가진 자라면 본 발명의 기술적 사상의 범위 내에서 다양한 변형과 변경이 가능함은 물론이다. 따라서 본 발명의 보호 범위는 전술한 실시예에 국한되어서는 아니 되며 이하의 특허청구범위의 기재에 의하여 정해져야 할 것이다.While the present invention has been described in detail with reference to the accompanying drawings, it is to be understood that the invention is not limited to the above-described embodiments. Those skilled in the art will appreciate that various modifications, Of course, this is possible. Accordingly, the scope of protection of the present invention should not be limited to the above-described embodiments, but should be determined by the description of the following claims.

100: 컴퓨터 시스템
110: 프로세서
120: 메모리
123: ROM
126: RAM
130: 데이터 통신 버스
140: 저장소
150: 사용자 입력 장치
160: 사용자 출력 장치
170: 네트워크 인터페이스
180: 네트워크
210: 사고 데이터 기록부(Event Data Recoder)
220: 전자 제어부(Electronic Control Unit)
230: 마이크로 제어부(Micro Control Unit)
240: 운행기록 자가 진단부(On Board Diagnosis)
250: 트랜스미션 제어부(Transmission Control Unit)
260: 중앙 정보 디스플레이부(Center Information Display Unit)
270: 운전자 계기판 디스플레이부(Head Up Display Unit)
280: 자동차 표준 소프트웨어 플랫폼부
290: 자동차 제어 데이터 저장부
310: 자동차 전장 부품
320: 연산부
330: 데이터 베이스
340: 서비스 제공부
100: Computer system
110: Processor
120: Memory
123: ROM
126: RAM
130: Data communication bus
140: Store
150: User input device
160: User output device
170: Network interface
180: Network
210: Event data recorder (Event Data Recorder)
220: Electronic Control Unit (Electronic Control Unit)
230: Micro Control Unit
240: On Board Diagnosis
250: Transmission control unit
260: Center Information Display Unit
270: Driver's Head Up Display Unit
280: Automotive standard software platform part
290: car control data storage unit
310: Automotive electric parts
320:
330: Database
340: Service Offering

Claims (9)

자동차 전자 장치의 임베디드 소프트웨어의 데이터 보안 시스템에 있어서,
자동차 전자 장치의 임베디드 소프트웨어의 데이터 보안 모듈을 제공하기 위한 프로그램이 저장된 메모리; 및
상기 프로그램을 실행시키는 프로세서를 포함하되,
상기 프로세서는 상기 프로그램을 실행시킴에 따라,
복수의 자동차 전장 부품의 데이터에 대하여, 자동차 전장 부품의 순서를 정하고, 각 자동차 전장 부품의 데이터에 대한 메타데이터 및 해쉬값을 결정하고, 상기 해쉬값을 암호화키로 이용하여, 상기 데이터 및 메타데이터를 암호화하여 저장하되, 상기 해쉬값은 자체 암호화 방법에 의하여 저장하되, 상기 해쉬값은 다음 순서의 자동차 전장 부품의 데이터의 해쉬값을 암호화키로 이용하여 암호화하여 더 저장하는 것을 특징으로 하는
자동차 전자 장치의 임베디드 소프트웨어의 데이터 보안 시스템.
A data security system for embedded software in an automotive electronic device,
A memory for storing a program for providing a data security module of an embedded software of a car electronic device; And
And a processor for executing the program,
As the processor executes the program,
Determining the order of the automotive electrical components for the data of the plurality of automotive electrical components, determining the metadata and the hash value for the data of each automotive electrical component, and using the hash value as the encryption key, Wherein the hash value is stored in a self-encrypting manner, and the hash value is further encrypted by using a hash value of data of a next electric vehicle electrical component as an encryption key,
Embedded software automotive electronic device data security system.
제1항에 있어서,
상기 정해진 순서의 역순으로 이전 자동차 전장 부품의 해쉬값을 복호화하는 것을 반복하여, 복호화된 해쉬값을 이용하여 특정 자동차 전장 부품의 데이터를 복호화하는 것을 특징으로 하는
자동차 전자 장치의 임베디드 소프트웨어의 데이터 보안 시스템.
The method according to claim 1,
And decodes the hash value of the previous automotive electronic component in the reverse order of the predetermined order, and decodes the data of the specific automotive electronic component using the decoded hash value
Embedded software automotive electronic device data security system.
제1항에 있어서,
상기 순서를 정하는 것은,
암호화하고자 하는 모든 자동차 전장 부품의 데이터를 포함하도록 순서를 정하되, 특정 자동차 부품의 데이터는 중복하여 존재하는 것
인 자동차 전자 장치의 임베디드 소프트웨어의 데이터 보안 시스템.
The method according to claim 1,
In order to determine the order,
In order to include the data of all automotive electrical components to be encrypted, the data of the specific automotive components are duplicated
Embedded software of automotive electronic devices data security system.
제1항에 있어서,
상기 해쉬값은,
랜덤 제네레이터에 의하여 생성되는 것을 특징으로 하는
자동차 전자 장치의 임베디드 소프트웨어의 데이터 보안 시스템.
The method according to claim 1,
The hash value,
Characterized in that it is generated by a random generator
Embedded software automotive electronic device data security system.
하나 이상의 자동차 전장 부품과, 자동차 표준 소프트웨어 플랫폼부와, 연산부와, 데이터 베이스와, 서비스 제공부를 포함하는 자동차 전자 장치의 임베디드 소프트웨어의 데이터 보안 시스템에 있어서,
상기 자동차 전장 부품은,
생성한 데이터와 메타데이터를 상기 연산부에 전송하는 것이고,
상기 연산부는,
전송받은 데이터로부터 해쉬값을 생성하고, 상기 해쉬값과 상기 메타데이터 를 포함하는 헤더와 상기 데이터를 암호화하여 저장하되, 제1 자동차 전장 부품으로부터 전달받은 제1 해쉬값을 제2 자동차 전장 부품의 제2 헤더에 제2 자동차 전장 부품의 제2 해쉬값을 이용하여 암호화하여 저장하는 것이고,
상기 서비스 제공부는,
상기 제2 자동차 전장 부품의 제1 헤더에 저장된 해쉬값을 복호화한 암호화키를 이용하여, 상기 제1 자동차 전장 부품의 데이터를 복호화하는 것
인 자동차 전자 장치의 임베디드 소프트웨어의 데이터 보안 시스템.
1. A data security system for embedded software of an automotive electronic device comprising one or more automotive electrical components, an automotive standard software platform portion, a computing portion, a database, and a service providing portion,
Wherein the automotive electric component includes:
And transmits the generated data and meta data to the operation unit,
The operation unit,
A first hash value received from the first automotive electronic component is stored in the header of the second automotive electronic component, 2 header using a second hash value of the second automotive electrical component,
The service providing unit,
And decrypting the data of the first automotive electrical component using an encryption key obtained by decoding the hash value stored in the first header of the second automotive electrical component
Embedded software of automotive electronic devices data security system.
제5항에 있어서,
상기 연산부는,
상기 제1 해쉬값은 상기 제1 자동차 전장 부품의 제1 헤더에 자체 암호화 방법에 의하여 저장하고, 상기 제1 해쉬값을 상기 제2 자동차 전장 부품의 제2 해쉬값을 암호화키로 이용하여 암호화한 제1 해쉬값을 상기 제2 헤더에 저장하고,
상기 제2 해쉬값은 상기 제2 헤더에 자체 암호화 방법에 의하여 저장하는 것
인 자동차 전자 장치의 임베디드 소프트웨어의 데이터 보안 시스템.
6. The method of claim 5,
The operation unit,
Wherein the first hash value is stored in a first header of the first automotive electrical component using its own encryption method and the first hash value is encrypted using a second hash value of the second automotive electrical component as an encryption key 1 hash value in the second header,
And storing the second hash value in the second header by a self-encrypting method
Embedded software of automotive electronic devices data security system.
제5항에 있어서,
상기 연산부는,
복수의 자동차 전장 부품의 헤더에 순서를 정하여, 사슬형 연결 구조를 만들고, 사슬형 연결 구조에 대하여 특정 자동차 전장 부품의 해쉬값을, 다음 자동차 전장 부품의 헤더에 저장하는 것을 반복하고,
상기 서비스 제공부는,
마지막 자동차 전장 부품의 헤더에서 처음 자동차 전장 부품의 헤더의 방향으로 암호화된 해쉬값을 차례대로 복호화하여, 복호화된 해쉬값을 이용하여 특정 자동차 전장 부품의 데이터를 복호화하여, 사용자 단말에 복호화된 데이터를 제공하는 것
인 자동차 전자 장치의 임베디드 소프트웨어의 데이터 보안 시스템.
6. The method of claim 5,
The operation unit,
The header of a plurality of automotive electrical components is ordered to form a chain link structure and the hash value of the specific automotive electrical component for the chain link structure is repeatedly stored in the header of the next automotive electrical component,
The service providing unit,
Decodes the encrypted hash value in the header of the first automobile electrical component in the header of the last automobile electrical component in order, decodes the data of the specific automotive electrical component using the decrypted hash value, and decrypts the decrypted data to the user terminal Offer
Embedded software of automotive electronic devices data security system.
제5항에 있어서,
복호화된 데이터를 전달받아 디스플레이하는 사용자 단말을 더 포함하되,
상기 서비스 제공부와 상기 사용자 단말은,
공개키 교환 방법에 따라 비대칭 암호화 방법에 의하여 암호화된 텍스트를 송수신하고, 공개키 교환 방법에 따른 공유된 비밀키를 이용하여 복호화하는 것을 특징으로 하는
자동차 전자 장치의 임베디드 소프트웨어의 데이터 보안 시스템.
6. The method of claim 5,
And a user terminal for receiving and displaying the decrypted data,
Wherein the service providing unit and the user terminal comprise:
And transmits the encrypted text by the asymmetric encryption method according to the public key exchange method and decrypts the encrypted text using the shared secret key according to the public key exchange method
Embedded software automotive electronic device data security system.
제8항에 있어서,
상기 공개키 교환 방법은 타원 곡선 암호화 방법을 이용한 디피-헬만 키교환 방법인 것
인 자동차 전자 장치의 임베디드 소프트웨어의 데이터 보안 시스템.

9. The method of claim 8,
The public key exchange method is a Diffie-Hellman key exchange method using an elliptic curve encryption method
Embedded software of automotive electronic devices data security system.

KR1020170002443A 2017-01-06 2017-01-06 Security System and Method of Embeded software in Vehicle electric device KR101953908B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170002443A KR101953908B1 (en) 2017-01-06 2017-01-06 Security System and Method of Embeded software in Vehicle electric device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170002443A KR101953908B1 (en) 2017-01-06 2017-01-06 Security System and Method of Embeded software in Vehicle electric device

Publications (2)

Publication Number Publication Date
KR20180081332A true KR20180081332A (en) 2018-07-16
KR101953908B1 KR101953908B1 (en) 2019-03-05

Family

ID=63105693

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170002443A KR101953908B1 (en) 2017-01-06 2017-01-06 Security System and Method of Embeded software in Vehicle electric device

Country Status (1)

Country Link
KR (1) KR101953908B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200030770A (en) * 2018-09-13 2020-03-23 주식회사 넥스트칩 A method for determinig safety of data and an electronic device performing the method
KR102656707B1 (en) * 2023-11-06 2024-04-11 우암전자 주식회사 Servers, systems, methods, and programs that provide hardware monitoring services through automatic hardware detection and analysis

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102154640B1 (en) * 2019-11-28 2020-09-10 한국과학기술정보연구원 Apparatus for managing data, method of managing data and storage storing a program thereof

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150001681A (en) * 2013-06-26 2015-01-06 삼성전자주식회사 Method and apparatus for secure group connecting in a electronic device

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150001681A (en) * 2013-06-26 2015-01-06 삼성전자주식회사 Method and apparatus for secure group connecting in a electronic device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200030770A (en) * 2018-09-13 2020-03-23 주식회사 넥스트칩 A method for determinig safety of data and an electronic device performing the method
KR102656707B1 (en) * 2023-11-06 2024-04-11 우암전자 주식회사 Servers, systems, methods, and programs that provide hardware monitoring services through automatic hardware detection and analysis

Also Published As

Publication number Publication date
KR101953908B1 (en) 2019-03-05

Similar Documents

Publication Publication Date Title
CN111709038B (en) File encryption and decryption method, distributed storage system, device and storage medium
CN111181928B (en) Vehicle diagnosis method, server, and computer-readable storage medium
CN111726274B (en) Automobile CAN bus data communication method, equipment and storage medium
CN101559745B (en) Vehicle control system for preventing stealing and robbery and implementation method thereof
CN106685985B (en) A kind of vehicle remote diagnosis system and method based on information security technology
CN110460439A (en) Information transferring method, device, client, server-side and storage medium
CN111279310A (en) Vehicle-mounted equipment upgrading method and related equipment
CN109218010B (en) Data encryption method and device and data decryption method and device
CN103929428B (en) A kind of method for realizing vehicle electronics information system communication safety
KR20140122188A (en) Method for detecting a manipulation of a sensor and/or sensor data of the sensor
CN101149775A (en) Encryption and decryption method for realizing hardware and software binding
CN109314640A (en) Information of vehicles collection system, car-mounted computer, information of vehicles collection device, information of vehicles collection method and computer program
CN101990748A (en) Method and device for transmitting messages in real time
CN112738051B (en) Data information encryption method, system and computer readable storage medium
KR101953908B1 (en) Security System and Method of Embeded software in Vehicle electric device
CN111565182B (en) Vehicle diagnosis method and device and storage medium
CN113872770A (en) Security verification method, system, electronic device and storage medium
CN113114621A (en) Communication method for bus dispatching system and bus dispatching system
CN106453362A (en) Data transmission method and apparatus of vehicle-mounted device
CN117435226B (en) Data refreshing method, device and storage medium of vehicle-mounted electronic control unit
WO2021022802A1 (en) Secure startup method, controller, and control system
CN110661621A (en) Mixed encryption and decryption method based on HMAC, AES and RSA
CN117149521A (en) Network-connected automobile data backup method and system
US10764285B2 (en) Method and system for encryption using a radio frequency fingerprint
CN116366289A (en) Safety supervision method and device for remote sensing data of unmanned aerial vehicle

Legal Events

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