KR101787272B1 - The electronic control unit possible the initial data management and method for the initial data management using the same - Google Patents

The electronic control unit possible the initial data management and method for the initial data management using the same Download PDF

Info

Publication number
KR101787272B1
KR101787272B1 KR1020160082883A KR20160082883A KR101787272B1 KR 101787272 B1 KR101787272 B1 KR 101787272B1 KR 1020160082883 A KR1020160082883 A KR 1020160082883A KR 20160082883 A KR20160082883 A KR 20160082883A KR 101787272 B1 KR101787272 B1 KR 101787272B1
Authority
KR
South Korea
Prior art keywords
data
initial data
initial
code
stored
Prior art date
Application number
KR1020160082883A
Other languages
Korean (ko)
Inventor
김대현
Original Assignee
현대오트론 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 현대오트론 주식회사 filed Critical 현대오트론 주식회사
Priority to KR1020160082883A priority Critical patent/KR101787272B1/en
Application granted granted Critical
Publication of KR101787272B1 publication Critical patent/KR101787272B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
    • B60R16/02Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B62LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
    • B62DMOTOR VEHICLES; TRAILERS
    • B62D65/00Designing, manufacturing, e.g. assembling, facilitating disassembly, or structurally modifying motor vehicles or trailers, not otherwise provided for
    • B62D65/005Inspection and final control devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Mechanical Engineering (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Manufacturing & Machinery (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Transportation (AREA)
  • General Health & Medical Sciences (AREA)
  • Lock And Its Accessories (AREA)

Abstract

초기 데이터 관리가 가능한 전자 제어장치 및 이를 이용한 초기 데이터 관리방법을 개시한다. 본 발명의 초기 데이터 관리가 가능한 전자 제어장치는 중앙 처리장치로부터 초기 설정 데이터를 순차적으로 입력받는 입력 포트, 입력 포트로부터의 초기 설정 데이터 중 블록 헤더 및 블록 순환 데이터에 따라 메모리의 블록영역들을 분할 구분하고 구분된 각 블록영역들에 미리 설정된 초기 데이터 및 초기 데이터 확인정보를 순차적으로 저장하는 제어 유닛, 및 제어 유닛의 제어에 따라 블록 영역별로 저장된 초기 데이터 및 초기 데이터 확인정보를 순차적으로 출력하는 출력 포트를 포함하는바, 전자 제어장치의 제조 단계에서 초기 데이터와 함께 초기 데이터 확인정보 및 인증 데이터가 기록되도록 함으로써 조립 및 완료 단계까지 초기 데이터 왜곡 여부를 확인하고 관리할 수 있도록 하여 전자 제어장치의 신뢰성 및 안정성을 높일 수 있는 효과가 있다. An electronic control apparatus capable of initial data management and an initial data management method using the same are disclosed. An electronic control device capable of initial data management according to the present invention includes an input port for sequentially receiving initial setting data from a central processing unit, a block header of the initial setting data from the input port, A control unit for sequentially storing initial data and initial data confirmation information preset in each of the block regions classified by the control unit and an output port for sequentially outputting initial data and initial data check information stored for each block region under the control of the control unit, The initial data confirmation information and the authentication data are recorded together with the initial data at the manufacturing step of the electronic control unit so that it is possible to check and manage the initial data distortion until the assembling and finishing step, Efficiency to improve stability A.

Description

초기 데이터 관리가 가능한 전자 제어장치 및 이를 이용한 초기 데이터 관리방법{THE ELECTRONIC CONTROL UNIT POSSIBLE THE INITIAL DATA MANAGEMENT AND METHOD FOR THE INITIAL DATA MANAGEMENT USING THE SAME}BACKGROUND OF THE INVENTION 1. Field of the Invention [0001] The present invention relates to an electronic control device capable of initial data management and an initial data management method using the electronic control device.

본 발명은 자동차의 전자 제어장치에 관한 것으로, 전자 제어장치의 제조 단계에서 초기 데이터와 함께 초기 데이터 확인정보 및 인증 데이터가 기록되도록 함으로써 조립 및 완료 단계까지 초기 데이터 왜곡 여부를 확인하고 관리할 수 있도록 하여 전자 제어장치의 신뢰성 및 안정성을 높일 수 있는 초기 데이터 관리가 가능한 전자 제어장치 및 이를 이용한 초기 데이터 관리방법에 관한 것이다. The present invention relates to an electronic control device for an automobile, in which initial data confirmation information and authentication data are recorded together with initial data at the manufacturing step of an electronic control device, so that it is possible to confirm and manage initial data distortion until assembly and completion The present invention relates to an electronic control apparatus capable of initial data management capable of enhancing the reliability and stability of an electronic control apparatus, and an initial data management method using the electronic control apparatus.

기술의 발달로 인하여 자동차의 엔진 및 자동 변속기, 기타의 각 장치들은 검출되는 운행 정보와 미리 설정된 전자 제어장치(Electronic Control Unit)의 제어 로직에 따라 제어되어 안전한 주행과 차량의 최적 상태를 유지할 수 있도록 해준다. Due to the development of the technology, the engine, automatic transmission and other devices of the vehicle are controlled according to the detected driving information and the control logic of a predetermined electronic control unit so as to maintain safe driving and optimum state of the vehicle It does.

이를 위해, 전자 제어장치의 메모리 중 비휘발성 메모리에는 공장데이터, 이모빌라이저 데이터, VIN 번호 등의 초기 데이터가 저장되고, 휘발성 메모리에는 자동차들의 제어 로직(응용 프로그램)이 저장되어 출하되었다. To this end, initial data such as factory data, immobilizer data, and VIN number are stored in the nonvolatile memory of the memory of the electronic control unit, and the control logic (application program) of the automobile is stored in the volatile memory and shipped.

특히, 전자 제어장치의 제조 단계에서 기록된 초기 데이터 즉, 이모빌라이저 데이터, VIN 번호 등이 훼손되거나 왜곡되지 않아야 전자 제어장치의 조립 및 완료 과정에서 자동차 운행에 필요한 필수 데이터들이 비휘발성 메모리에 추가로 저장될 수 있다. Especially, the initial data recorded in the manufacturing process of the electronic control device, that is, the immobilizer data, the VIN number, etc., should not be damaged or distorted so that the essential data necessary for the automobile operation during assembly and completion of the electronic control device is additionally stored .

하지만, 종래에는 초기 데이터가 제대로 저장되었는지, 저장된 이후 조립 과정에서 훼손되거나 왜곡되지 않았는지, 인위적으로 데이터를 손상시키지는 않았는지 확인하거나 관리할 수 없었다. However, in the past, it was not possible to confirm or manage whether the initial data was properly stored, corrupted or distorted in the assembling process after it was stored, and whether the data was not artificially damaged.

도 1은 종래의 전자 제어장치에 저장된 초기 데이터가 왜곡되거나 손상되는 과정을 나타낸 도면이다. 1 is a diagram illustrating a process of distorting or damaging initial data stored in a conventional electronic control unit.

전자 제어장치의 제조단계에서 비휘발성 메모리에는 공장데이터, 이모빌라이저 데이터, VIN 번호 등의 초기 데이터가 가장 먼저 저장되고, 이후 휘발성 메모리 등에는 자동차들의 제어 로직(응용 프로그램)이 저장되며, 초기 설정 및 제조가 완료된 이후에는 조립 과정이 진행된다. Initial data such as factory data, immobilizer data, and VIN number are first stored in the nonvolatile memory in the manufacturing process of the electronic control device, and then the control logic (application program) of the automobile is stored in the volatile memory and the like. The assembling process is carried out.

하지만, 비휘발성 메모리에 초기 데이터를 저장하는 과정에서 입력 오류가 발생하여 초기 데이터가 제대로 저장되지 못한 오류 상태로 다음 단계가 진행될 수도 있다. 그리고 초기 데이터가 제대로 저장된 이후에도 자동차들의 제어 로직 저장 단계 또는 전자 제어장치의 조립 과정에서 초기 데이터가 훼손되거나 왜곡될 수도 있다. 또한, 초기 데이터가 제대로 저장된 이후에 누군가가 초기 시동을 걸거나 임의의 데이터를 삽입하는 등 무단으로 인위적인 조작을 하여 초기 데이터가 훼손될 수도 있다. 하지만, 종래에는 생산라인 작업자 착오 또는 누락, 제어기 출하 이후 임의 데이터 삽입, 출하 이후 무단 사용에 대해 확인할 수가 없는 상태였다. However, in the process of storing the initial data in the nonvolatile memory, an input error may occur, and the next step may proceed to an error state in which the initial data is not stored properly. Even after the initial data is properly stored, the initial data may be corrupted or distorted in the process of storing the control logic of the vehicle or assembling the electronic control device. In addition, initial data may be corrupted by unauthorized artificial manipulation, such as initial startup or insertion of arbitrary data, after the initial data is properly stored. However, in the past, it was impossible to check for errors or mistakes in production line operators, insertion of arbitrary data after controller shipment, and unauthorized use after shipment.

자동차의 최종 조립 라인이나 최종 검사 단계에서는 최초 시동을 걸어 최종적으로 모든 데이터들을 확인 및 저장한 후 자동차를 출하하게 되는데, 초기 데이터가 훼손되거나 왜곡된 경우에는 에러 코드가 발생하여 시동이 걸리지 않거나, 무결성 및 안정성 문제가 발생하여 자동차가 출하되지 못하는 문제가 발생한다. In the final assembling line of the vehicle or the final inspection stage, the car is first shipped after confirming and storing all the data by the initial start. When the initial data is damaged or distorted, an error code is generated to prevent starting, And stability problems arise, resulting in a problem that the vehicle can not be shipped.

특히, 이러한 문제가 발생하는 경우에는 초기 데이터가 최초에 제대로 저장되었는지, 저장된 이후 조립 과정에서 훼손되거나 왜곡되지 않았는지, 인위적으로 데이터를 손상시키지는 않았는지 확인하거나 관리할 수 없었기 때문에, 이를 개선할 수 없는 더 큰 문제가 있었다. In particular, in the event of such a problem, the initial data could not be verified or managed because it was originally stored correctly, was not corrupted or distorted in the assembly process since it was stored, or was not artificially damaged There was no bigger problem.

본 발명은 상기와 같은 문제점을 해결하기 위한 것으로, 전자 제어장치의 제조 단계에서 초기 데이터와 함께 초기 데이터 확인정보 및 인증 데이터가 기록되도록 함으로써, 조립 및 완료 단계까지 초기 데이터 왜곡 여부를 확인하고 관리할 수 있도록 하여 전자 제어장치의 신뢰성 및 안정성을 높일 수 있는 초기 데이터 관리가 가능한 전자 제어장치 및 이를 이용한 초기 데이터 관리방법을 제공하는데 그 목적이 있다. SUMMARY OF THE INVENTION The present invention has been made in view of the above problems, and it is an object of the present invention to provide an electronic control apparatus and a control method thereof, in which initial data confirmation information and authentication data are recorded together with initial data, And an initial data management method using the electronic control device. The present invention provides an electronic control device capable of initial data management that can improve the reliability and stability of an electronic control device.

상기와 같은 목적을 달성하기 위한 본 발명의 실시 예에 따른 초기 데이터 관리가 가능한 전자 제어장치는 중앙 처리장치로부터 초기 설정 데이터를 순차적으로 입력받는 입력 포트, 입력 포트로부터의 초기 설정 데이터 중 블록 헤더 및 블록 순환 데이터에 따라 메모리의 블록영역들을 분할 구분하고 구분된 각 블록영역들에 미리 설정된 초기 데이터 및 초기 데이터 확인정보를 순차적으로 저장하는 제어 유닛, 및 제어 유닛의 제어에 따라 블록 영역별로 저장된 초기 데이터 및 초기 데이터 확인정보를 순차적으로 출력하는 출력 포트를 포함한다. According to another aspect of the present invention, there is provided an electronic control apparatus capable of initial data management, including an input port for sequentially receiving initial setting data from a central processing unit, a block header among initial setting data from an input port, A control unit for sequentially dividing the block areas of the memory according to the block circulation data and sequentially storing the initial data and the initial data confirmation information set in each of the divided block areas; And an output port for sequentially outputting initial data confirmation information.

제어 유닛은 각 블록 영역에 초기 데이터와 이어서 초기 데이터 확인정보 및 순환 코드를 저장하며, 초기 데이터는 미리 설정된 공장데이터, 이모빌라이저 데이터, VIN 번호를 포함하고, 데이터 확인정보는 초기 데이터의 다음 데이터 저장 영역에 순차적으로 기록되는 미리 설정된 복수 비트의 확인코드 및 메시지 인증 코드(Message Authentication Code)를 포함한다. The control unit stores the initial data, the initial data confirmation information and the circulation code in each block area. The initial data includes preset factory data, immobilizer data, and VIN number. The data confirmation information is stored in the next data storage area And a message authentication code, which are successively recorded in a predetermined number of bits.

복수 비트의 확인코드는 각 블록 영역에 초기 데이터가 저장되었음이 확인되도록 초기 데이터의 마지막 데이터와 연결되어 초기 데이터의 다음 데이터 저장 영역에 순차적으로 기록 및 저장됨과 아울러 중앙 처리장치에도 동일하게 저장되며, 메시지 인증 코드는 미리 설정된 인증 데이터에 미리 설정된 인증 키로 인증 데이터를 확인할 수 있도록 인코딩하는 MAC 알고리즘으로 생성되어 각 확인 코드의 다음 데이터 저장 영역에 순차적으로 기록 및 저장됨과 아울러 중앙 처리장치에 인증 데이터와 인증 키가 저장된다. The verification code of the plurality of bits is recorded and stored in the next data storage area of the initial data sequentially and concurrently with the last data of the initial data so as to confirm that the initial data is stored in each block area, The message authentication code is generated by a MAC algorithm that encodes the authentication data so that the authentication data can be confirmed with the authentication key set in advance in the preset authentication data, and is sequentially recorded and stored in the next data storage area of each confirmation code. In addition, The key is stored.

제어 유닛은 자동차 조립 및 조립 검수 과정에서 중앙 처리장치에서 초기 데이터 및 초기 데이터 확인정보를 자체 저장된 초기 데이터 및 초기 데이터 확인정보와 비교할 수 있도록 하기 위해, 최초 시동 시도시 메모리의 각 블록 영역에 저장된 초기 데이터 및 초기 데이터 확인정보를 상기 출력 포트를 통해 중앙 처리장치로 순차 제공한다. The control unit is configured to compare initial data and initial data verification information in the central processing unit with the self-stored initial data and initial data verification information in the car assembly and assembly verification process, Data and initial data confirmation information to the central processing unit through the output port sequentially.

중앙 처리장치는 출력 포트로부터 입력된 상기 메시지 인증 코드를 자체 메모리에 미리 저장된 인증키를 이용해 인증 및 해제하고, 자체 메모리에 미리 저장된 각 블록 영역별 확인코드와 상기 출력 포트를 통해 제공된 확인 코드를 비교하며, 자체 메모리에 미리 저장된 각 블록 영역별 확인코드와 출력 포트를 통해 제공된 확인 코드가 일치하고 동일하면 최초 시동 동작이 원활하게 이루어지도록 제어한다. The central processing unit authenticates and releases the message authentication code input from the output port using an authentication key previously stored in its own memory and compares the verification code for each block area previously stored in its own memory with the verification code provided through the output port And controls so that the initial start operation can be smoothly performed if the check code provided for each block area stored in the self memory and the check code provided through the output port coincide with each other.

중앙 처리장치는 최초 시동 동작이 원활하게 이루어지면, 자체 소프트웨어의 설정 기능에 따라 제어 유닛의 제어 로직 또는 응용 프로그램 데이터를 변환하여 다시 기록함과 아울러 센서들의 센싱 값이나 구동 환경에 따른 설정 값 및 반복 학습에 따른 학습 데이터들에 따라 메모리의 초기 데이터를 재설정하여 기록한다. When the initial start-up operation is smoothly performed, the central processing unit converts the control logic of the control unit or the application program data according to the setting function of the self-software, re-records the data, and sets the sensing value of the sensors, The initial data of the memory is reset and recorded.

중앙 처리장치는 출력 포트로부터 입력된 메시지 인증 코드를 자체 메모리에 미리 저장된 인증키를 이용해 인증 및 해제하고, 자체 메모리에 미리 저장된 각 블록 영역별 확인코드와 출력 포트를 통해 제공된 확인 코드를 비교하며, 자체 메모리에 미리 저장된 각 블록 영역별 확인코드와 출력 포트를 통해 제공된 확인 코드가 일치하지 않으면 에러 코드를 발생시키고 시동 동작이 이루어지지 못하도록 제어한다. The central processing unit authenticates and releases the message authentication code input from the output port using an authentication key previously stored in its own memory, compares the verification code for each block area previously stored in its own memory with the verification code provided through the output port, If the check code provided for each block area stored in the memory in advance and the check code provided through the output port do not match, an error code is generated to prevent the start-up operation from being performed.

또한, 상기와 같은 목적을 달성하기 위한 본 발명의 실시 예에 따른 전자 제어장치를 이용한 초기 데이터 관리방법은 입력 포트를 통해 중앙 처리장치로부터 초기 설정 데이터를 순차적으로 입력받는 단계, 입력 포트로부터의 초기 설정 데이터 중 블록 헤더 및 블록 순환 데이터에 따라 메모리의 블록영역들을 분할 구분하고 구분된 각 블록영역들에 미리 설정된 초기 데이터 및 초기 데이터 확인정보를 순차적으로 저장하는 단계, 및 중앙 처리장치의 요청에 따라 블록 영역별로 저장된 초기 데이터 및 초기 데이터 확인정보를 출력 포트를 통해 순차적으로 출력하는 단계를 포함한다. According to another aspect of the present invention, there is provided an initial data management method using an electronic control apparatus, the method including sequentially receiving initial setting data from a central processing unit through an input port, Sequentially dividing the block areas of the memory according to the block header and the block circulation data among the setting data and sequentially storing initial data and initial data confirmation information set in each of the divided block areas, And sequentially outputting the initial data and initial data confirmation information stored for each block area through the output port.

초기 데이터 및 초기 데이터 확인정보를 순차적으로 저장하는 단계는 각 블록 영역에 초기 데이터와 이어서 초기 데이터 확인정보 및 순환 코드를 저장하며, 초기 데이터는 미리 설정된 공장데이터, 이모빌라이저 데이터, VIN 번호를 포함하고, 초기 데이터 확인정보는 초기 데이터의 다음 데이터 저장 영역에 순차적으로 기록되는 미리 설정된 복수 비트의 확인코드, 및 메시지 인증 코드를 포함한다. The step of sequentially storing the initial data and the initial data confirmation information includes storing initial data, initial data confirmation information, and a circular code in each block area. The initial data includes preset factory data, immobilizer data, and VIN numbers, The initial data confirmation information includes a predetermined multiple-bit confirmation code and a message authentication code that are sequentially recorded in the next data storage area of the initial data.

복수 비트의 확인코드는 각 블록 영역에 초기 데이터가 저장되었음이 확인되도록 초기 데이터의 마지막 데이터와 연결되어 초기 데이터의 다음 데이터 저장 영역에 순차적으로 기록 및 저장됨과 아울러 중앙 처리장치에도 동일하게 저장되며, 메시지 인증 코드는 미리 설정된 인증 데이터에 미리 설정된 인증 키로 인증 데이터를 확인할 수 있도록 인코딩하는 MAC 알고리즘으로 생성되어 각 확인 코드의 다음 데이터 저장 영역에 순차적으로 기록 및 저장됨과 아울러 중앙 처리장치에 인증 데이터와 인증 키가 저장된다. The verification code of the plurality of bits is recorded and stored in the next data storage area of the initial data sequentially and concurrently with the last data of the initial data so as to confirm that the initial data is stored in each block area, The message authentication code is generated by a MAC algorithm that encodes the authentication data so that the authentication data can be confirmed with the authentication key set in advance in the preset authentication data, and is sequentially recorded and stored in the next data storage area of each confirmation code. In addition, The key is stored.

출력 포트를 통해 초기 데이터 및 초기 데이터 확인정보를 순차적으로 출력하는 단계는 자동차 조립 및 조립 검수 과정에서 중앙 처리장치의 요청 시, 중앙 처리장치에서 초기 데이터 및 초기 데이터 확인정보를 자체 저장된 초기 데이터 및 초기 데이터 확인정보와 비교할 수 있도록 하기 위해, 최초 시동 시도시에 메모리의 각 블록 영역에 저장된 초기 데이터 및 초기 데이터 확인정보를 출력 포트를 통해 중앙 처리장치로 순차 제공한다. The step of sequentially outputting the initial data and the initial data confirmation information through the output port may include initial data and initial data confirmation information at the central processing unit at the request of the central processing unit in the automobile assembly and assembly verification process, In order to be able to compare with the data verification information, the initial data and the initial data confirmation information stored in each block area of the memory at the time of the initial startup are sequentially provided to the central processing unit through the output port.

자동차 조립 및 조립 검수 과정에서 중앙 처리장치는 출력 포트로부터 입력된 메시지 인증 코드를 자체 메모리에 미리 저장된 인증키를 이용해 인증 및 해제하고, 자체 메모리에 미리 저장된 각 블록 영역별 확인코드와 출력 포트를 통해 제공된 상기 확인 코드를 비교하며, 자체 메모리에 미리 저장된 각 블록 영역별 확인코드와 출력 포트를 통해 제공된 확인 코드가 일치하고 동일하면 최초 시동 동작이 원활하게 이루어지도록 제어한다. In the process of assembling and assembling the vehicle, the central processing unit authenticates and releases the message authentication code inputted from the output port by using the authentication key pre-stored in its own memory, and transmits the confirmation code for each block area and the output port Compares the provided confirmation code with each other, and controls the initial start operation smoothly if the verification code provided for each block area stored in the self-memory matches the verification code provided through the output port.

자동차 조립 및 조립 검수 과정에서 최초 시동 동작이 원활하게 이루어지면, 중앙 처리장치는 자체 소프트웨어의 설정 기능에 따라 제어 유닛의 제어 로직 데이터를 변환하여 다시 기록함과 아울러 센서들의 센싱 값이나 구동 환경에 따른 설정 값 및 반복 학습에 따른 학습 데이터들에 따라 메모리의 초기 데이터를 재설정하여 기록한다. When the initial start-up operation is smoothly performed in the automobile assembly and assembly inspection process, the central processing unit converts the control logic data of the control unit according to the setting function of its own software and re-records the data, And the initial data of the memory are reset and recorded according to the learning data according to the value and the repeated learning.

자동차 조립 및 조립 검수 과정에서 중앙 처리장치는 출력 포트로부터 입력된 메시지 인증 코드를 자체 메모리에 미리 저장된 인증키를 이용해 인증 및 해제하고, 자체 메모리에 미리 저장된 각 블록 영역별 확인코드와 출력 포트를 통해 제공된 상기 확인 코드를 비교하며, 자체 메모리에 미리 저장된 각 블록 영역별 확인코드와 출력 포트를 통해 제공된 확인 코드가 일치하지 않으면 에러 코드를 발생시키고 시동 동작이 이루어지지 못하도록 제어한다. In the process of assembling and assembling the vehicle, the central processing unit authenticates and releases the message authentication code inputted from the output port by using the authentication key pre-stored in its own memory, and transmits the confirmation code for each block area and the output port Compares the provided confirmation code, and generates an error code and controls the startup operation not to be performed if the verification code provided for each block area and the verification code provided through the output port do not match.

상기와 같은 다양한 기술 특징을 갖는 본 발명의 실시 예에 따른 초기 데이터 관리 가능한 전자 제어장치 및 이를 이용한 초기 데이터 관리방법은 전자 제어장치의 제조 단계에서 초기 데이터와 함께 초기 데이터 확인정보와 인증 데이터가 기록되도록 함으로써, 조립 및 완료 단계까지 초기 데이터 왜곡 여부를 확인하고 관리할 수 있도록 하여 전자 제어장치의 신뢰성 및 안정성을 높일 수 있는 효과가 있다. According to an embodiment of the present invention, there is provided an electronic control device capable of managing an initial data and an initial data management method using the same. The initial data management information and the authentication data are recorded So that it is possible to check and manage the initial data distortion until the assembly and completion stage, thereby improving the reliability and stability of the electronic control unit.

특히. 종래에는 생산라인 작업자 착오 또는 누락, 제어기 출하 이후 임의 데이터 삽입, 출하 이후 무단 사용에 대해 확인하지 못하는 취약점이 있었으나, 본 발명을 통해서는 자동차가 조립되어 출하되기 전에 초기 데이터의 적합성뿐만 아니라 임의 또는 의도적인 데이터 변경으로 인한 위험성을 사전에 확인하고 예방할 수 있는 효과를 이룰 수 있다. Especially. In the past, there has been a weak point in that a production line worker is mistaken or missing, arbitrary data insertion after controller shipment, and unauthorized use after shipment. However, according to the present invention, before the automobile is assembled and shipped, It is possible to confirm and prevent the danger due to the data change.

도 1은 종래의 전자 제어장치에 저장된 초기 데이터가 왜곡되거나 손상되는 과정을 나타낸 도면이다.
도 2는 본 발명의 실시 예에 따른 전자 제어장치 구성을 구체적으로 나타낸 구성 블록도이다.
도 3은 도 2에 도시된 비휘발성 메모리의 블록 영역별 데이터 저장방법과 데이터 저장영역 설정방법을 나타낸 도면이다.
도 4는 초기 데이터와 초기 데이터 확인정보 기록 과정과 초기 데이터 확인정보 검증 방법을 설명하기 위한 순서도이다.
도 5는 도 4에 도시된 초기 데이터 확인정보 검증 방법을 더욱 구체적으로 설명하기 위한 순서도이다.
1 is a diagram illustrating a process of distorting or damaging initial data stored in a conventional electronic control unit.
2 is a block diagram specifically illustrating an electronic control device according to an embodiment of the present invention.
3 is a diagram illustrating a data storage method and a data storage area setting method for each block area of the nonvolatile memory shown in FIG.
4 is a flowchart illustrating a process of recording initial data and initial data verification information and a method of verifying initial data verification information.
FIG. 5 is a flowchart for explaining the initial data verification information verification method shown in FIG. 4 in more detail.

전술한 목적, 특징 및 장점은 첨부된 도면을 참조하여 상세하게 후술되며, 이에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 상세한 설명을 생략한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하기로 한다. The above and other objects, features, and advantages of the present invention will become more apparent by describing in detail exemplary embodiments thereof with reference to the attached drawings, which are not intended to limit the scope of the present invention. In the following description, well-known functions or constructions are not described in detail since they would obscure the invention in unnecessary detail. Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.

전자 제어장치(Electronic Control Unit)는 자동차의 엔진이나 자동변속기 등의 상태를 제어하는 제어 유닛으로서, 미리 저장된 제어 로직에 따라 엔진과 관련된 각종 센서로부터 수집된 정보(학습치)를 이용하여 최적 연소를 통해 엔진 효율을 높이고 운전자의 의도대로 엔진을 최적 제어해주기 위한 제어장치이다. 이러한 전자 제어장치는 엔진 제어를 위한 제어로직 및 관련 데이터들은 비휘발성 메모리 영역에 저장하며, 센서들로부터 입력되는 학습치들은 휘발성 메모리 영역에 저장한다. An electronic control unit (ECU) is a control unit for controlling the state of an engine or an automatic transmission of an automobile. The ECU controls the optimal combustion using information (learning value) collected from various sensors related to the engine To increase the engine efficiency and to optimally control the engine according to the intention of the driver. The electronic control unit stores control logic and related data for engine control in a nonvolatile memory area, and stores learning values input from the sensors in a volatile memory area.

이러한 전자 제어장치의 최초 생산 과정에서는 전자 제어장치의 비휘발성 메모리에 공장 데이터, 이모빌라이저 데이터, VIN 번호(차대변호) 등의 초기 데이터가 먼저 저장되고, 휘발성 메모리에는 자동차들의 제어 로직(응용 프로그램)이 저장되어 출하된다. 이에, 전자 제어장치의 제조 단계에서 기록된 이모빌라이저 데이터, VIN 번호 등의 초기 데이터가 훼손되거나 왜곡되지 않아야 전자 제어장치의 조립 및 완료 과정에서 자동차 운행에 필요한 필수 데이터들이 비휘발성 메모리에 제대로 저장되고, 이모빌라이저 데이터와 매칭하여 첫 시동이 제대로 걸릴 수 있게 된다. In the first production process of the electronic control device, the initial data such as factory data, immobilizer data, VIN number (difference change call) and the like are stored in the nonvolatile memory of the electronic control device in advance. In the volatile memory, Is stored and shipped. Therefore, if the initial data such as the immobilizer data, the VIN number, etc. recorded in the manufacturing step of the electronic control unit are not damaged or distorted, the essential data necessary for the automobile operation during assembly and completion of the electronic control unit are properly stored in the nonvolatile memory, Matching with the immobilizer data, so that the first start-up can be properly performed.

도 2는 본 발명의 실시 예에 따른 전자 제어장치 구성을 구체적으로 나타낸 구성 블록도이다. 2 is a block diagram specifically illustrating an electronic control device according to an embodiment of the present invention.

도 2에 도시된 본 발명의 전자 제어장치(700)는 입력 포트(100), 제어 유닛(200), 휘발성 메모리(300), 비휘발성 메모리(400), 출력 포트(500)를 포함하여 구성된다. 2 includes an input port 100, a control unit 200, a volatile memory 300, a nonvolatile memory 400, and an output port 500 .

전자 제어장치(700)의 입력 포트(100)는 외부의 중앙 처리장치(600)나 중앙 제어유닛 등으로부터 입력되는 초기 설정 데이터 즉, 미리 설정된 블록 헤더 및 블록 순환 데이터(Block Cyclic Redundancy Check), 초기 데이터, 초기 데이터 확인정보, 제어 로직 데이터 등을 순차적으로 입력받아 제어 유닛(200)에 순차적으로 공급한다. The input port 100 of the electronic control unit 700 receives initial setting data input from an external central processing unit 600 or a central control unit such as preset block header and block cyclic redundancy check, Data, initial data confirmation information, control logic data, and the like, and sequentially supplies the control unit 200 with the data.

중앙 처리장치(600)나 중앙 제어유닛 등은 자동차의 엔진이나 자동 변속기 및 각종 센싱 제어기기 등에 각각 마련될 수 있는 전자 제어장치(700)들을 통합 제어하기 위한 제어장치로서, 자체 소프트웨어(또는, 제어 로직)에 따른 제어 동작을 수행하여 각각의 전자 제어장치(700)가 개별적 또는 통합적으로 구동될 수 있도록 제어 로직 데이터 등을 미리 제공하고, 필요에 따라 제어신호 및 구동 신호를 전송하여 각각의 전자 제어장치(700) 동작을 제어하기도 한다. The central processing unit 600 and the central control unit are control devices for integrally controlling the electronic control devices 700 that can be provided in an engine of an automobile, an automatic transmission, various kinds of sensing control devices, etc., Logic) to provide control logic data or the like in advance so that each of the electronic control devices 700 can be driven individually or integrally, and transmits control signals and driving signals as needed, And also controls the operation of the apparatus 700.

이에 앞서, 전자 제어장치(700)의 제조 또는 생산 단계에서, 최초 생산된 전자 제어장치에는 초기 데이터들과 제어 로직 데이터들이 저장 및 설정되고, 이후 조립 과정 및 검수 과정 등이 진행된다. 이를 위해, 최초 생산된 전자 제어장치의 휘발성 메모리(300) 및 비휘발성 메모리(400)는 미리 설정된 데이터 단위(복수 비트 혹은 복수의 바이트)의 블록 영역들로 분할 구분된다. 그리고 각각 구분된 분할 영역들에 초기 데이터, 초기 데이터 확인정보, 제어 로직 데이터 등이 저장된다. First, in the manufacturing or production stage of the electronic control unit 700, the initial data and the control logic data are stored and set in the initially produced electronic control unit, and then the assembling process and the inspection process are performed. To this end, the volatile memory 300 and the nonvolatile memory 400 of the initially produced electronic control device are divided into block regions of predetermined data units (a plurality of bits or a plurality of bytes). Initial data, initial data confirmation information, control logic data, and the like are stored in the divided areas.

구체적으로, 제어 유닛(200)은 입력 포트(100)를 통해서 중앙 처리장치(600)로부터 입력되는 블록 헤더 및 블록 순환 데이터(Block Cyclic Redundancy Check)에 따라 휘발성 메모리(300) 및 비휘발성 메모리(400)를 미리 설정된 데이터 단위의 블록 영역들이 먼저 분할 구분한다. 여기서, 블록 헤더는 각 블록 영역의 시작 영역 또는 시작 데이터를 의미하는 헤더 코드가 될 수 있으며, 블록 순환 데이터(Block-CRC)는 각 블록의 마지막 데이터임을 알리는 코드이거나, 다음 블록의 순환을 알리는 코드가 될 수 있다. The control unit 200 controls the volatile memory 300 and the nonvolatile memory 400 according to a block header and a block cyclic redundancy check inputted from the central processing unit 600 through the input port 100. [ ) Is divided into block regions of a predetermined data unit. Here, the block header may be a header code indicating the start area or start data of each block area, and the block cyclic data (Block-CRC) may be a code indicating that the data is the last data of each block, .

제어 유닛(200)은 휘발성 메모리(300) 및 비휘발성 메모리(400) 별로 블록 영역들이 분할 구분되면, 휘발성 메모리(300)의 각 블록 영역들에는 제어 유닛(200)의 구동 또는 제어 동작을 수행하기 위한 제어 로직(응용 프로그램) 데이터를 순차적으로 입력 및 기록한다. 여기서, 휘발성 메모리(300)에는 별도 센서들의 센싱 값이나 구동 환경에 따른 설정 값 등 반복 학습에 따른 학습 데이터들이 추가로 기록될 수 있으며, 제어 로직(응용 프로그램) 데이터 또한 변형되거나 새로 기록될 수도 있다. The control unit 200 performs the driving or controlling operation of the control unit 200 in each of the block areas of the volatile memory 300 if the block areas are divided into the respective blocks according to the volatile memory 300 and the non- And sequentially inputs and records control logic (application program) data. Here, the learning data according to the repeated learning such as the sensing value of the different sensors or the setting value according to the driving environment may be additionally recorded in the volatile memory 300, and the control logic (application program) data may also be modified or newly recorded .

반면, 제어 유닛(200)은 비휘발성 메모리(400)의 각 블록 영역들에는 미리 설정된 공장데이터, 이모빌라이저 데이터, VIN 번호(차대변호) 등의 초기 데이터를 저장함과 아울러, 초기 데이터 확인정보 및 순환 코드를 추가로 저장한다. 여기서, 초기 데이터 확인정보는 해당 블록 영역에 초기 데이터가 저장되었음을 의미하도록 초기 데이터의 마지막 데이터와 연결되거나 초기 데이터의 다음 데이터 저장 영역에 순차적으로 기록되는 미리 설정된 복수 비트의 확인 코드, 및 메시지 인증 코드(Message Authentication Code)를 포함하도록 미리 설정될 수 있다. On the other hand, the control unit 200 stores initial data such as preset factory data, immobilizer data, VIN number (difference change call), and the like, in each block areas of the nonvolatile memory 400, Store additional code. Here, the initial data check information may include a predetermined multiple-bit check code, which is associated with the last data of the initial data or is sequentially recorded in the next data storage area of the initial data to indicate that the initial data is stored in the corresponding block area, (Message Authentication Code).

전술한 바와 같이, 전자 제어장치(700)의 제조 또는 생산 단계에서 비휘발성 메모리(400)의 각 블록 영역들에 초기 데이터와 더불어 초기 데이터 확인정보 및 순환 코드 등을 추가로 저장해두면, 추후 자동차 조립 및 조립 검수 단계에서 초기 데이터 확인정보를 확인 및 검수하여 초기 데이터의 손상 또는 왜곡 여부를 판단할 수 있게 된다. 이러한 초기 데이터 확인정보 저장과정과 초기 데이터 확인정보의 검수과정 등에 대해서는 이후 첨부된 도면들을 참조하여 좀 더 구체적으로 설명하기로 한다. As described above, if the initial data and initial data check information and the circulation code are additionally stored in the respective block areas of the nonvolatile memory 400 in the manufacturing or production stage of the electronic control unit 700, And the initial data confirmation information can be checked and verified in the assembly and verification step to determine whether the initial data is damaged or distorted. The process of storing the initial data confirmation information and the process of checking the initial data confirmation information will be described in more detail with reference to the accompanying drawings.

한편, 자동차 조립 및 조립 검수 단계에서 출력 포트(500)는 제어 유닛(200)의 제어에 따라 비휘발성 메모리(400)의 블록 영역별로 저장된 초기 데이터, 및 상기 초기 데이터 확인정보를 순차적으로 출력한다. The output port 500 sequentially outputs the initial data and the initial data confirmation information stored in the block area of the nonvolatile memory 400 under the control of the control unit 200 in the automobile assembly and assembly verification step.

구체적으로, 자동차 조립 및 조립 검수 단계에서 중앙 처리장치(600)는 최초 시동 시도시, 전자 제어장치(700)의 초기 데이터 및 초기 데이터 확인정보의 검수과정을 수행하게 된다. 다시 말해, 최초 시동 시도시 중앙 처리장치(600)는 전자 제어장치의 제어 유닛(200)으로 각 블록 영역의 초기 데이터와 초기 데이터 확인정보를 전송해줄 것을 요청한다. 이에, 제어 유닛(200)은 비휘발성 메모리(400)의 블록 영역별로 저장된 초기 데이터, 및 초기 데이터 확인정보가 출력 포트(500)를 통해 중앙 처리장치(600)로 순차 출력되도록 한다. Specifically, in the automobile assembly and assembly verification step, the central processing unit 600 performs a verification process of the initial data and initial data confirmation information of the electronic control unit 700 at the initial start-up attempt. In other words, the central processing unit 600 requests the control unit 200 of the electronic control unit to transmit the initial data and initial data confirmation information of each block area at the initial start-up attempt. The control unit 200 causes the central processing unit 600 to sequentially output the initial data and initial data confirmation information stored in the block area of the nonvolatile memory 400 through the output port 500.

중앙 처리장치(600)는 전자 제어장치로부터 입력된 초기 데이터 확인정보 중 메시지 인증 코드를 자체 메모리에 미리 저장된 인증키를 이용해 인증 및 해제하고, 자체 메모리에 미리 저장된 각 블록 영역별 복수 비트의 확인코드와 전자 제어장치(700)로부터 제공된 복수 비트의 확인코드를 비교한다. 비교 결과, 미리 저장된 각 블록 영역별 확인코드와 전자 제어장치로부터 제공된 확인코드가 일치하고 동일하면, 확인코드 이전의 데이터 저장 영역에 저장된 초기 데이터들이 정상적으로 저장되었거나 훼손 또는 왜곡되지 않았음으로 판단하여 최초 시동 동작이 원활하게 이루어지도록 한다. The central processing unit 600 authenticates and releases the message authentication code from the initial data confirmation information input from the electronic control unit using an authentication key stored in advance in its own memory, And the verification code of a plurality of bits provided from the electronic control unit 700. [ As a result of the comparison, if the verification code for each block area stored in advance and the verification code provided by the electronic control unit match and are the same, it is determined that the initial data stored in the data storage area before the verification code is normally stored or not damaged or distorted, So that the start-up operation is performed smoothly.

하지만, 미리 저장된 각 블록 영역별 확인코드와 전자 제어장치로부터 제공된 확인코드가 일치하지 않으면, 확인코드 이전의 데이터 저장 영역에 저장된 초기 데이터들이 정상적으로 저장되지 않았거나, 훼손 또는 왜곡된 것으로 판단하여 에러 코드를 발생시키고 시동 동작이 이루어지지 못하도록 한다. However, if the pre-stored verification code for each block area does not match the verification code provided by the electronic control unit, it is determined that the initial data stored in the data storage area before the verification code is not stored normally, is damaged or distorted, So that the starting operation can not be performed.

각 블록 영역별로 저장된 초기 데이터가 정상적으로 저장되고 훼손되지 않은 상태로 정상 유지되어 있으면, 초기 데이터 및 초기 데이터의 비트열과 비트 수 및 저장 영역의 크기가 변함없이 정상 유지되어 있게 된다. 따라서, 초기 데이터부터 순차적으로 읽어들이면 초기 데이터를 비롯한 복수 비트의 확인코드 및 메시지 인증 코드 또한 변함없이 정상 유지되어, 동일하게 비교 및 검수될 수 있다. If the initial data stored for each block area is normally stored and maintained in an untouched state, the bit string, the number of bits, and the size of the storage area of the initial data and the initial data remain unchanged. Therefore, when the initial data is read sequentially, the plural-bit verification code and the message authentication code including the initial data are also kept unchanged and can be compared and checked equally.

그러나 각 블록 영역별로 저장된 초기 데이터가 정상적으로 저장되지 못했거나 훼손 또는 왜곡되는 경우, 초기 데이터 및 초기 데이터들의 비트열과 비트 수 및 저장 영역의 크기 중 적어도 어느 하나가 가변 된다. 따라서, 초기 데이터부터 순차적으로 읽어들이면 초기 데이터를 비롯한 복수 비트의 확인코드 및 메시지 인증 코드의 비트열과 비트 수 및 저장 영역의 크기 중 적어도 어느 하나가 가변 되므로 동일하게 일치될 수가 없게 된다. 이 경우 확인코드 이전의 데이터 저장 영역에 저장된 초기 데이터들이 정상적으로 저장되지 않았거나, 훼손 또는 왜곡된 것으로 판단할 수 있다. However, when the initial data stored in each block area is not normally stored, or is damaged or distorted, at least one of the bit string, the bit number, and the size of the storage area of the initial data and initial data is varied. Accordingly, if the initial data is read sequentially, at least one of the bit string, the bit number, and the size of the storage area of the multiple-bit verification code and the message authentication code including the initial data are variable, In this case, it can be judged that the initial data stored in the data storage area before the confirmation code is not normally stored, or is damaged or distorted.

도 3은 도 2에 도시된 비휘발성 메모리의 블록 영역별 데이터 저장방법과 데이터 저장영역 설정방법을 나타낸 도면이다. 3 is a diagram illustrating a data storage method and a data storage area setting method for each block area of the nonvolatile memory shown in FIG.

도 3을 참조하면, 제어 유닛(200)은 초기 데이터의 저장 전에, 먼저 비휘발성 메모리(400)를 복수의 블록 영역(BLOCK1_1,BLOCK1_2)으로 분할 구분한다. 구체적으로, 제어 유닛(200)은 중앙 처리장치(600)로부터 입력되는 각 블록 영역(BLOCK1_1, BLOCK1_2)의 헤더(BLOCK1_HEADER, BLOCK2_HEADER) 및 블록 순환 데이터(BLOCK1_CRC, BLOCK2_CRC)에 따라 비휘발성 메모리(400)를 미리 설정된 데이터 단위의 블록 영역(BLOCK1_1, BLOCK1_2)으로 분할 구분한다. 각 블록 영역(BLOCK1_1, BLOCK1_2)의 헤더(BLOCK1_HEADER, BLOCK2_HEADER)는 각 블록 영역(BLOCK1_1,BLOCK1_2)의 시작 영역 또는 시작 데이터를 의미하는 헤더 코드가 될 수 있으며, 블록 순환 데이터(BLOCK1_CRC, BLOCK2_CRC)는 각 블록 영역(BLOCK1_1, BLOCK1_2)의 마지막 데이터임을 알리는 코드이거나, 다음 블록의 순환을 알리는 코드가 될 수 있다. Referring to FIG. 3, the control unit 200 divides the nonvolatile memory 400 into a plurality of block areas BLOCK1_1 and BLOCK1_2 before storing the initial data. Specifically, the control unit 200 controls the nonvolatile memory 400 according to the header (BLOCK1_HEADER, BLOCK2_HEADER) and block circulation data (BLOCK1_CRC, BLOCK2_CRC) of each of the block areas BLOCK1_1 and BLOCK1_2 input from the central processing unit 600, Into block regions BLOCK1_1 and BLOCK1_2 of a predetermined data unit. Headers (BLOCK1_HEADER and BLOCK2_HEADER) of the respective block areas BLOCK1_1 and BLOCK1_2 may be header codes indicating start areas or start data of the respective block areas BLOCK1_1 and BLOCK1_2 and block cycle data BLOCK1_CRC and BLOCK2_CRC may be header codes A code indicating that the data is the last data of the block areas BLOCK1_1 and BLOCK1_2, or a code indicating the circulation of the next block.

이와 같이, 제어 유닛(200)은 비휘발성 메모리(400)의 블록 영역들이 분할 구분되면, 비휘발성 메모리(400)의 각 블록 영역(BLOCK1_1, BLOCK1_2)에 미리 설정된 공장 데이터, 이모빌라이저 데이터, VIN 번호(차대변호) 등의 초기 데이터(BLOCK1_DATA, BLOCK2_DATA)를 저장함과 아울러, 초기 데이터 확인정보로서 복수 비트의 확인 코드(InS_Data1, InS_Data2), 및 메시지 인증 코드(MAC1_DATA, MAC2_DATA)를 기록한다. As described above, when the block areas of the nonvolatile memory 400 are divided and divided, the control unit 200 sets the factory data, immobilizer data, VIN number ( (BLOCK1_DATA, BLOCK2_DATA) of the mobile station, and a plurality of bits (InS_Data1, InS_Data2) and message authentication codes (MAC1_DATA, MAC2_DATA) are recorded as initial data check information.

각 블록 영역(BLOCK1_1, BLOCK1_2)의 확인 코드(InS_Data1,InS_Data2)는 해당 블록 영역에 초기 데이터(BLOCK1_DATA, BLOCK2_DATA)가 저장되었음을 의미하도록 초기 데이터의 마지막 데이터와 연결되거나 초기 데이터의 다음 데이터 저장 영역에 순차적으로 기록된다. The check codes InS_Data1 and InS_Data2 of the block areas BLOCK1_1 and BLOCK1_2 are connected to the last data of the initial data to indicate that the initial data BLOCK1_DATA and BLOCK2_DATA are stored in the corresponding block area, Lt; / RTI >

이후, MAC 데이터인 메시지 인증 코드(MAC1_DATA, MAC2_DATA)는 각 확인 코드(InS_Data1,InS_Data2)에 이어, 각 확인 코드(InS_Data1, InS_Data2)와 연결되거나 각 확인 코드(InS_Data1, InS_Data2)의 다음 데이터 저장 영역에 순차적으로 기록된다. 여기서, MAC 데이터인 메시지 인증 코드(MAC1_DATA, MAC2_DATA)는 미리 설정된 인증 데이터에 미리 설정된 인증 키(KEY)로 인증 데이터를 확인할 수 있도록 인코딩하는 MAC 알고리즘으로 생성된 코드가 될 수 있다. 이때, 중앙 처리장치(600)에는 각 블록 영역(BLOCK1_1, BLOCK1_2)에 저장된 메시지 인증 코드(MAC1_DATA, MAC2_DATA)와 함께 인증 키(KEY)를 별도로 저장한다. Subsequently, the message authentication codes MAC1_DATA and MAC2_DATA, which are MAC data, are connected to the respective verification codes InS_Data1 and InS_Data2, followed by the respective verification codes InS_Data1 and InS_Data2, Are sequentially recorded. Here, the message authentication codes MAC1_DATA and MAC2_DATA, which are MAC data, may be codes generated by a MAC algorithm that encodes the authentication data so that the authentication data can be verified using an authentication key (KEY) preset in the preset authentication data. At this time, the central processing unit 600 separately stores the authentication key (KEY) together with the message authentication codes (MAC1_DATA, MAC2_DATA) stored in the respective block areas BLOCK1_1 and BLOCK1_2.

이와 같이, 전자 제어장치(700)의 제조 또는 생산 단계에서 비휘발성 메모리(400)의 각 블록 영역(BLOCK1_1, BLOCK1_2)에 초기 데이터(BLOCK1_DATA, BLOCK2_DATA)와 더불어 확인 코드(InS_Data1,InS_Data2) 및 메시지 인증 코드(MAC1_DATA, MAC2_DATA) 등을 추가로 저장해두면, 추후 자동차 조립 및 조립 검수 단계에서 확인 코드(InS_Data1,InS_Data2) 및 메시지 인증 코드(MAC1_DATA, MAC2_DATA)를 확인 및 검수하여 초기 데이터(BLOCK1_DATA, BLOCK2_DATA)의 손상 또는 왜곡 여부를 판단할 수 있다. In this manner, in each of the block areas BLOCK1_1 and BLOCK1_2 of the nonvolatile memory 400 in the manufacturing or production stage of the electronic control unit 700, the initial data BLOCK1_DATA and BLOCK2_DATA as well as the confirmation codes InS_Data1 and InS_Data2, (InS_Data1, InS_Data2) and the message authentication codes (MAC1_DATA, MAC2_DATA) in the car assembling and assembling inspection step are stored in advance to store the code (MAC1_DATA, MAC2_DATA) It can be judged whether it is damaged or distorted.

도 4는 초기 데이터와 초기 데이터 확인정보 기록 과정과 초기 데이터 확인정보 검증 방법을 설명하기 위한 순서도이다. 4 is a flowchart illustrating a process of recording initial data and initial data verification information and a method of verifying initial data verification information.

도 4를 참조하여, 먼저 전자 제어장치(700)의 제조 또는 생산 단계에서 초기 데이터 확인정보 기록 과정을 순차적으로 설명하면 다음과 같다. Referring to FIG. 4, the initial data check information recording process in the manufacturing or production step of the electronic control device 700 will be described below.

초기 데이터 확인정보 기록시, 가장 먼저 블록 영역(BLOCK1_1, BLOCK1_2)이 분할 구분되면 각 블록 영역(BLOCK1_1, BLOCK1_2)에 초기 데이터(BLOCK1_DATA, BLOCK2_DATA)를 저장한다. When initial data check information is recorded, initial data BLOCK1_DATA and BLOCK2_DATA are stored in each of the block areas BLOCK1_1 and BLOCK1_2 if the block areas BLOCK1_1 and BLOCK1_2 are divided first.

이어. 초기 데이터(BLOCK1_DATA, BLOCK2_DATA) 저장 상태를 확인한 후, 복수 비트의 확인 코드(InS_Data1, InS_Data2), 및 메시지 인증 코드(MAC1_DATA, MAC2_DATA)를 초기 데이터(BLOCK1_DATA, BLOCK2_DATA)에 이어서 순차적으로 기록한다. Following. (InS_Data1, InS_Data2) and the message authentication codes (MAC1_DATA, MAC2_DATA) sequentially after the initial data (BLOCK1_DATA, BLOCK2_DATA) after confirming the storage state of the initial data (BLOCK1_DATA, BLOCK2_DATA).

이어, 미리 설정된 인증 데이터에 미리 설정된 인증 키(KEY)로 인증 데이터를 확인할 수 있도록 인코딩하는 MAC 알고리즘으로 메시지 인증 코드(MAC1_DATA, MAC2_DATA)를 생성하고, 생성된 메시지 인증 코드(MAC1_DATA, MAC2_DATA)를 확인 코드(InS_Data1, InS_Data2)에 이어서 순차적으로 기록한다. 상술한 바와 같이, MAC 데이터인 메시지 인증 코드(MAC1_DATA, MAC2_DATA)는 미리 설정된 인증 데이터에 미리 설정된 인증 키(KEY)로 인증 데이터를 확인할 수 있도록 인코딩하는 MAC 알고리즘으로 생성된 코드가 될 수 있다. 이때, 중앙 처리장치(600)에는 각 블록 영역(BLOCK1_1, BLOCK1_2)에 저장된 메시지 인증 코드(MAC1_DATA, MAC2_DATA)와 함께 인증 키(KEY)를 별도로 저장한다. Next, a message authentication code (MAC1_DATA, MAC2_DATA) is generated with a MAC algorithm that encodes the authentication data so that the authentication data can be confirmed by the authentication key (KEY) preset in advance, and the generated message authentication code (MAC1_DATA, MAC2_DATA) Code (InS_Data1, InS_Data2) sequentially. As described above, the message authentication codes MAC1_DATA and MAC2_DATA, which are MAC data, can be codes generated by the MAC algorithm that encodes the authentication data by using an authentication key (KEY) set in advance in the preset authentication data. At this time, the central processing unit 600 separately stores the authentication key (KEY) together with the message authentication codes (MAC1_DATA, MAC2_DATA) stored in the respective block areas BLOCK1_1 and BLOCK1_2.

다음으로, 전자 제어장치(700)의 조립 및 검수 단계에서는 최초 시동 시도시, 전자 제어장치(700)의 초기 데이터 및 초기 데이터 확인정보의 검수과정을 수행하게 된다. Next, in the assembly and verification step of the electronic control unit 700, the verification process of the initial data and the initial data confirmation information of the electronic control unit 700 is performed at the initial start attempt.

도 5는 도 4에 도시된 초기 데이터 확인정보 검증 방법을 더욱 구체적으로 설명하기 위한 순서도이다. FIG. 5 is a flowchart for explaining the initial data verification information verification method shown in FIG. 4 in more detail.

도 4와 도 5를 참조하여, 최초 시동 시도시 초기 데이터 및 초기 데이터 확인정보의 검수과정을 순차적으로 설명하면 다음과 같다. Referring to FIG. 4 and FIG. 5, the process of checking the initial data and initial data confirmation information at the initial start-up attempt will be sequentially described below.

전자 제어장치(700)의 검수 과정은 최초로 시동을 걸기 위해 시동 동작을 시도(IG on)했을 때 수행된다. The checking process of the electronic control apparatus 700 is performed when the start operation is attempted (IG on) to start the engine for the first time.

최초 시동 시도가 있으면, 중앙 처리장치(600) 및 이와 연계된 전자 제어장치(700)는 시동 신호를 생성하는 이모빌라이저와 통신이 수행되며, 이를 시점으로 중앙 처리장치(600)는 전자 제어장치(700)의 제어 유닛(200)으로 각 블록 영역(BLOCK1_DATA, BLOCK2_DATA)의 초기 데이터(BLOCK1_DATA, BLOCK2_DATA)를 전송해줄 것을 요청한다. 이때, 중앙 처리장치(600)나 전자 제어장치(700)와 이모빌라이저 간의 시동 시도가 첫번째인지 그 여부를 먼저 판단한다. When there is an initial start attempt, the central processing unit 600 and the electronic control unit 700 associated therewith perform communication with the immobilizer that generates the start signal, at which point the central processing unit 600 controls the electronic control unit 700 (BLOCK1_DATA, BLOCK2_DATA) of the block areas (BLOCK1_DATA, BLOCK2_DATA) to the control unit 200 of the control unit At this time, it is first determined whether or not the start attempt between the central processing unit 600 or the electronic control unit 700 and the immobilizer is first.

만일, 첫번째 시도가 아닌 그 이전에 시동 시도가 있었다면, 초기 데이터(BLOCK1_DATA, BLOCK2_DATA)가 이미 전송되거나 중앙 처리장치(600)에서 이미 제공 받았기 때문에 첫번째 시도가 아닌 그 이전에 시동 시도가 있었던 것으로 판단할 수 있다. 이는 무단으로 전자 제어장치(700)에 접속을 시도했거나 무단으로 사용했던 것으로 판단되기 때문에 무결성을 검증되지 못해 시동이 불가하게 된다. If there is a start attempt before the first attempt, it is determined that the initial data (BLOCK1_DATA, BLOCK2_DATA) has already been transmitted or the start attempt has been made before the first attempt because the central processing unit 600 has already received it . This is because it is judged that the user tries to connect to the electronic control device 700 without permission or is used unauthorizedly, so that the integrity can not be verified and the starting can not be performed.

반면, 시동 시도가 첫번째인 경우에는 제어 유닛(200)의 제어에 따라 각 블록 영역(BLOCK1_DATA, BLOCK2_DATA)의 초기 데이터(BLOCK1_DATA, BLOCK2_DATA), 복수 비트의 확인 코드(InS_Data1, InS_Data2), 및 메시지 인증 코드(MAC1_DATA, MAC2_DATA)가 출력 포트(500)를 통해 중앙 처리장치(600)로 순차 출력된다. On the other hand, if the start attempt is first, the initial data (BLOCK1_DATA, BLOCK2_DATA) of each of the block areas BLOCK1_DATA and BLOCK2_DATA, the multiple-bit confirmation codes (InS_Data1 and InS_Data2) (MAC1_DATA, MAC2_DATA) are output to the central processing unit 600 through the output port 500 in sequence.

중앙 처리장치(600)는 자체 메모리에 미리 저장된 각 블록 영역별 초기 데이터(BLOCK1_DATA, BLOCK2_DATA)와 전자 제어장치(700)로부터 제공된 초기 데이터(BLOCK1_DATA, BLOCK2_DATA)가 일치하는지 비교한다. 만일, 초기 데이터(BLOCK1_DATA, BLOCK2_DATA)들이 일치하지 않으면, 첫 시도가 아닌지 이전에 먼저 변경된 초기 데이터와 일치하는지를 비교하여 시동 동작 진행 여부를 결정하게 된다. The central processing unit 600 compares the initial data (BLOCK1_DATA, BLOCK2_DATA) for each block area stored in advance in its own memory with the initial data (BLOCK1_DATA, BLOCK2_DATA) provided from the electronic control unit 700. If the initial data (BLOCK1_DATA, BLOCK2_DATA) do not coincide with each other, whether or not the initial data matches the initial data that was changed before is determined to determine whether or not the startup operation progresses.

반면, 초기 데이터가 일치한 경우, 중앙 처리장치(600)는 자체 메모리에 미리 저장된 각 블록 영역별 확인 코드(InS_Data1, InS_Data2)와 전자 제어장치(700)로부터 제공된 확인 코드(InS_Data1, InS_Data2)를 비교한다. 비교 결과, 미리 저장된 각 블록 영역별 확인코드(InS_Data1, InS_Data2)와 전자 제어장치(700)로부터 제공된 확인코드(InS_Data1, InS_Data2)가 일치하고 동일하면, 확인코드 이전의 데이터 저장 영역에 저장된 초기 데이터(BLOCK1_DATA, BLOCK2_DATA)들이 정상적으로 저장되었거나 훼손 또는 왜곡되지 않았음으로 판단한다. On the other hand, when the initial data match, the central processing unit 600 compares the verification codes (InS_Data1, InS_Data2) for each block area previously stored in its own memory with the verification codes (InS_Data1, InS_Data2) provided from the electronic control unit 700 do. As a result of comparison, if the verification codes (InS_Data1, InS_Data2) for each block area stored in advance match with the verification codes (InS_Data1, InS_Data2) provided from the electronic control unit 700, the initial data BLOCK1_DATA, and BLOCK2_DATA) are normally stored or not corrupted or distorted.

다시 말해, 각 블록 영역별로 저장된 초기 데이터(BLOCK1_DATA, BLOCK2_DATA)가 정상적으로 저장되고 훼손되지 않은 상태로 정상 유지되어 있으면, 초기 데이터(BLOCK1_DATA, BLOCK2_DATA) 및 초기 데이터의 비트열과 비트 수 및 저장 영역의 크기가 변함없이 정상 유지되어 있게 된다. 따라서, 초기 데이터(BLOCK1_DATA, BLOCK2_DATA)부터 순차적으로 읽어들이면 초기 데이터(BLOCK1_DATA, BLOCK2_DATA)를 비롯한 복수 비트의 확인코드(InS_Data1, InS_Data2) 및 메시지 인증 코드 또한 변함없이 정상 유지되어, 동일하게 비교 및 검수될 수 있다. In other words, if the initial data (BLOCK1_DATA, BLOCK2_DATA) stored for each block area is normally stored and is not damaged, the initial data (BLOCK1_DATA, BLOCK2_DATA) and the bit string and bit number of the initial data, It is maintained normally. Therefore, when the initial data (BLOCK1_DATA, BLOCK2_DATA) are sequentially read, the multiple-bit verification codes (InS_Data1, InS_Data2) including the initial data (BLOCK1_DATA and BLOCK2_DATA) and the message authentication code are also kept unchanged, .

하지만, 미리 저장된 각 블록 영역별 확인코드(InS_Data1, InS_Data2)와 전자 제어장치로부터 제공된 확인코드(InS_Data1, InS_Data2)가 일치하지 않으면, 확인코드 이전의 데이터 저장 영역에 저장된 초기 데이터(BLOCK1_DATA, BLOCK2_DATA)들이 정상적으로 저장되지 않았거나, 훼손 또는 왜곡된 것으로 판단하여 에러 코드를 발생시키고 시동 동작이 이루어지지 못하도록 한다. However, if the verification codes (InS_Data1, InS_Data2) for each block area previously stored and the verification codes (InS_Data1, InS_Data2) provided from the electronic control device do not match, the initial data (BLOCK1_DATA, BLOCK2_DATA) stored in the data storage area before the verification code It is judged that it is not stored normally, is damaged or distorted, generates an error code, and prevents the start-up operation from being performed.

초기 데이터(BLOCK1_DATA, BLOCK2_DATA)들이 정상적으로 저장되었거나 훼손 또는 왜곡되지 않았음이 판단되면, 중앙 처리장치(600)는 전자 제어장치(700)로부터 입력된 초기 데이터 확인정보 중 메시지 인증 코드(MAC1_DATA, MAC2_DATA)를 자체 메모리에 미리 저장된 인증키(KEY)를 이용해 인증 및 해제한다. 그리고 자체 메모리에 미리 저장된 메시지 인증 코드와 전자 제어장치(700)로부터 입력된 메시지 인증 코드(MAC1_DATA, MAC2_DATA)가 일치하는지 비교한다. When it is determined that the initial data BLOCK1_DATA and BLOCK2_DATA are normally stored or not corrupted or distorted, the central processing unit 600 transmits the message authentication codes (MAC1_DATA, MAC2_DATA) among the initial data confirmation information input from the electronic control unit 700, And authenticates and releases using the authentication key (KEY) stored in advance in its own memory. And compares the message authentication code previously stored in the self-memory with the message authentication code (MAC1_DATA, MAC2_DATA) input from the electronic control unit 700. [

만일, 자체 메모리에 미리 저장된 메시지 인증 코드와 전자 제어장치(700)로부터 입력된 메시지 인증 코드(MAC1_DATA, MAC2_DATA)가 일치하지 않으면, 이는 보품들의 조립 과정이나 검수 과정에서 데이터를 무단 사용하였거나 무단으로 접속 시도하여 데이터를 삽입했던 것으로 판단할 수 있다. 이에, 무결성이 입증되지 않은 것으로 판단하여 시동 동작이 이루어지지 않도록 한다. 즉, 각 블록 영역별로 저장된 초기 데이터(BLOCK1_DATA, BLOCK2_DATA)가 정상적으로 저장되지 못했거나 훼손 또는 왜곡되는 경우, 초기 데이터 및 초기 데이터들의 비트열과 비트 수 및 저장 영역의 크기 중 적어도 어느 하나가 가변되어, 초기 데이터(BLOCK1_DATA, BLOCK2_DATA)를 비롯한 복수 비트의 확인코드(InS_Data1, InS_Data2) 및 메시지 인증 코드의 비트열과 비트 수 및 저장 영역의 크기 중 적어도 어느 하나가 가변 되므로, 동일하게 일치될 수가 없게 된다. 이 경우 확인코드 이전의 데이터 저장 영역에 저장된 초기 데이터들이 정상적으로 저장되지 않았거나, 훼손 또는 왜곡된 것으로 판단할 수 있다. If the message authentication codes previously stored in the internal memory and the message authentication codes (MAC1_DATA, MAC2_DATA) input from the electronic control unit 700 do not coincide with each other, the data may be unauthorizedly used It can be determined that the data has been inserted. Accordingly, it is determined that the integrity is not proved and the startup operation is not performed. That is, when the initial data (BLOCK1_DATA, BLOCK2_DATA) stored for each block area is not normally stored or is damaged or distorted, at least one of the bit string, the bit number, and the size of the storage area of the initial data and initial data may be varied, (InS_Data1, InS_Data2) including the data (BLOCK1_DATA, BLOCK2_DATA) and the bit string, the number of bits, and the size of the storage area of the message authentication code are variable. In this case, it can be judged that the initial data stored in the data storage area before the confirmation code is not normally stored, or is damaged or distorted.

하지만, 이상 없음이 판단되어, 최초 시동이 이루어지면, 중앙 처리장치(600)는 자체 소프트웨어의 설정 기능에 따라 다수 전자 제어장치(700)의 제어 로직(응용 프로그램) 데이터를 변환하여 기록함과 아울러 센서들의 센싱 값이나 구동 환경에 따른 설정 값 등 반복 학습에 따른 학습 데이터들에 따라 초기 데이터를 재설정하여 기록할 수 있다. 이 과정에서 각 블록 영역별 확인코드(InS_Data1, InS_Data2) 또한 재설정되거나 변형되어 다시 기록된다. However, when it is determined that there is no abnormality and the initial startup is performed, the central processing unit 600 converts the control logic (application program) data of the multiple electronic control unit 700 according to the setting function of its own software, It is possible to reset and record the initial data according to the learning data based on the repeated learning such as the sensing value of the sensor and the setting value according to the driving environment. In this process, the verification codes (InS_Data1, InS_Data2) for each block area are also reset or modified and rewritten.

마찬가지로, 메시지 인증 코드(MAC1_DATA, MAC2_DATA) 또한 초기 데이터 및 각 블록 영역별 확인코드(InS_Data1, InS_Data2)와 함께 변경 및 재설정되어 다시 저장된다. Similarly, the message authentication codes (MAC1_DATA, MAC2_DATA) are changed and reset together with the initial data and the confirmation codes (InS_Data1, InS_Data2) for each block area, and stored again.

첫 시동 성공 이후, 다음 시동 시도부터는 변경된 초기 데이터와 각 블록 영역별 확인코드 및 메시지 인증 코드가 중앙 처리장치(600)에서 비교되어 무결성을 입증하고 시동이 원활이 이루어지도록 한다. After the first startup success, the initial data changed, the verification code for each block area, and the message authentication code are compared in the central processing unit 600 from the next startup attempt so that the integrity is verified and the startup is smoothly performed.

이상 상술한 바와 같이, 상기의 다양한 기술 특징을 갖는 본 발명의 실시 예에 따른 초기 데이터 관리 가능한 전자 제어장치 및 이를 이용한 초기 데이터 관리방법은 전자 제어장치의 제조 단계에서 초기 데이터와 함께 초기 데이터 확인정보와 인증 데이터가 기입되도록 함으로써, 조립 및 완료 단계까지 초기 데이터 왜곡 여부를 확인하고 관리할 수 있도록 하여 전자 제어장치의 신뢰성 및 안정성을 높일 수 있는 효과가 있다. As described above, the electronic control device capable of initial data management according to an embodiment of the present invention having various technical features as described above and the initial data management method using the same can be used as initial data check information It is possible to check and manage the initial data distortion until the assembly and completion steps, thereby improving the reliability and stability of the electronic control unit.

특히. 종래에는 생산라인 작업자 착오 또는 누락, 제어기 출하 이후 임의 데이터 삽입, 출하 이후 무단 사용에 대해 확인하지 못하는 취약점이 있었으나, 본 발명을 통해서는 자동차가 조립되어 출하되기 전에 초기 데이터의 적합성뿐만 아니라 임의 또는 의도적인 데이터 변경으로 인한 위험성을 사전에 확인하고 예방할 수 있는 효과를 이룰 수 있다. Especially. In the past, there has been a weak point in that a production line worker is mistaken or missing, arbitrary data insertion after controller shipment, and unauthorized use after shipment. However, according to the present invention, before the automobile is assembled and shipped, It is possible to confirm and prevent the danger due to the data change.

100: 입력포트
200: 제어유닛
300: 휘발성 메모리
400: 비휘발성 메모리
500: 출력포트
600: 중앙 처리장치
700: 전자 제어장치
100: Input port
200: control unit
300: volatile memory
400: nonvolatile memory
500: Output port
600: central processing unit
700: Electronic control device

Claims (14)

중앙 처리장치로부터 초기 설정 데이터를 순차적으로 입력받는 입력 포트;
상기 입력 포트로부터의 초기 설정 데이터 중 블록 헤더 및 블록 순환 데이터에 따라 메모리의 블록영역들을 분할 구분하고 상기 구분된 각 블록영역들에 미리 설정된 초기 데이터 및 초기 데이터 확인정보를 순차적으로 저장하는 제어 유닛; 및
상기 제어 유닛의 제어에 따라 상기 블록 영역별로 저장된 상기 초기 데이터 및 상기 초기 데이터 확인정보를 순차적으로 출력하는 출력 포트를 포함하며,
상기 초기 데이터 확인정보는 미리 설정된 복수 비트의 확인코드, 및 메시지 인증 코드를 포함하고,
상기 복수 비트의 확인코드는 상기 초기 데이터의 마지막 데이터와 연결되어 상기 초기 데이터의 다음 데이터 저장 영역에 순차적으로 저장된
초기 데이터 관리가 가능한 전자 제어장치.
An input port for sequentially receiving initial setting data from the central processing unit;
A control unit for dividing the block areas of the memory according to the block header and the block circulation data among the initial setting data from the input port and sequentially storing initial data and initial data confirmation information set in each of the divided block areas; And
And an output port for sequentially outputting the initial data and the initial data confirmation information stored for each of the block areas under the control of the control unit,
Wherein the initial data confirmation information includes a plurality of predetermined verification codes and a message authentication code,
Wherein the plural-bit identification code is associated with the last data of the initial data and stored sequentially in the next data storage area of the initial data
An electronic control device capable of initial data management.
제 1 항에 있어서,
상기 제어 유닛은
상기 각 블록 영역에 초기 데이터와 이어서 상기 초기 데이터 확인정보 및 순환 코드를 저장하며,
상기 초기 데이터는 미리 설정된 공장데이터, 이모빌라이저 데이터, VIN 번호를 포함하는 초기 데이터 관리가 가능한 전자 제어장치.
The method according to claim 1,
The control unit
Storing the initial data, the initial data check information, and the circulation code in each block area,
Wherein the initial data is capable of initial data management including preset factory data, immobilizer data, and VIN numbers.
제 2 항에 있어서,
상기 복수 비트의 확인코드는
상기 중앙 처리장치에도 동일하게 저장되며,
상기 메시지 인증 코드는
미리 설정된 인증 데이터에 미리 설정된 인증 키로 인증 데이터를 확인할 수 있도록 인코딩하는 MAC 알고리즘으로 생성되어 상기 각 확인 코드의 다음 데이터 저장 영역에 순차적으로 기록 및 저장됨과 아울러 상기 중앙 처리장치에 상기 인증 데이터와 상기 인증 키가 저장되는 초기 데이터 관리가 가능한 전자 제어장치.
3. The method of claim 2,
The multi-bit identification code
And is also stored in the central processing unit,
The message authentication code
A MAC algorithm that encodes the authentication data to be able to identify the authentication data with a preset authentication key in the preset authentication data, sequentially records and stores the authentication data in the next data storage area of the verification code, An electronic control device capable of initial data management in which keys are stored.
제 2 항에 있어서,
상기 제어 유닛은
자동차 조립 및 조립 검수 단계에서 상기 중앙 처리장치에서 상기 초기 데이터 및 상기 초기 데이터 확인정보를 자체 저장된 초기 데이터 및 초기 데이터 확인정보와 비교할 수 있도록 하기 위해, 최초 시동 시도시 상기 메모리의 각 블록 영역에 저장된 초기 데이터 및 초기 데이터 확인정보를 상기 출력 포트를 통해 상기 중앙 처리장치로 순차 제공하는 초기 데이터 관리가 가능한 전자 제어장치.
3. The method of claim 2,
The control unit
In order to enable the central processing unit to compare the initial data and the initial data confirmation information with self-stored initial data and initial data confirmation information in a vehicle assembly and assembly verification step, Wherein the initial data and initial data confirmation information are sequentially provided to the central processing unit through the output port.
제 2 항에 있어서,
상기 중앙 처리장치는
상기 출력 포트로부터 입력된 상기 메시지 인증 코드를 자체 메모리에 미리 저장된 인증키를 이용해 인증 및 해제하고, 자체 메모리에 미리 저장된 각 블록 영역별 확인코드와 상기 출력 포트를 통해 제공된 상기 확인 코드를 비교하며,
상기 자체 메모리에 미리 저장된 각 블록 영역별 확인코드와 상기 출력 포트를 통해 제공된 상기 확인 코드가 일치하고 동일하면 최초 시동 동작이 원활하게 이루어지도록 제어하는 초기 데이터 관리가 가능한 전자 제어장치.
3. The method of claim 2,
The central processing unit
Wherein the verification unit decrypts the message authentication code inputted from the output port using an authentication key previously stored in its own memory and compares the verification code for each block area previously stored in its own memory with the verification code provided through the output port,
Wherein the initial data management is performed such that the initial start operation is smoothly performed if the verification code for each block area previously stored in the self memory is identical to the verification code provided through the output port.
제 5 항에 있어서,
상기 중앙 처리장치는
상기 최초 시동 동작이 원활하게 이루어지면, 자체 소프트웨어의 설정 기능에 따라 상기 제어 유닛의 제어 로직(또는, 응용 프로그램) 데이터를 변환하여 다시 기록함과 아울러 센서들의 센싱 값이나 구동 환경에 따른 설정 값 및 반복 학습에 따른 학습 데이터들에 따라 상기 메모리의 초기 데이터를 재설정하여 기록하는 초기 데이터 관리가 가능한 전자 제어장치.
6. The method of claim 5,
The central processing unit
If the initial startup operation is performed smoothly, the control logic (or application program) data of the control unit is converted and re-recorded according to the setting function of the self-software, and the setting value and the setting value And initial data management for re-setting and recording initial data of the memory according to learning data according to learning.
제 2 항에 있어서,
상기 중앙 처리장치는
상기 출력 포트로부터 입력된 상기 메시지 인증 코드를 자체 메모리에 미리 저장된 인증키를 이용해 인증 및 해제하고, 자체 메모리에 미리 저장된 각 블록 영역별 확인코드와 상기 출력 포트를 통해 제공된 상기 확인 코드를 비교하며,
상기 자체 메모리에 미리 저장된 각 블록 영역별 확인코드와 상기 출력 포트를 통해 제공된 상기 확인 코드가 일치하지 않으면 에러 코드를 발생시키고 시동 동작이 이루어지지 못하도록 제어하는 초기 데이터 관리가 가능한 전자 제어장치.
3. The method of claim 2,
The central processing unit
Wherein the verification unit decrypts the message authentication code inputted from the output port using an authentication key previously stored in its own memory and compares the verification code for each block area previously stored in its own memory with the verification code provided through the output port,
Wherein the initial data management is performed such that an error code is generated and a startup operation is not performed if the verification code for each block area previously stored in the self-memory does not match the verification code provided through the output port.
입력 포트를 통해 중앙 처리장치로부터 초기 설정 데이터를 순차적으로 입력받는 단계;
상기 입력 포트로부터의 초기 설정 데이터 중 블록 헤더 및 블록 순환 데이터에 따라 메모리의 블록영역들을 분할 구분하고 상기 구분된 각 블록영역들에 미리 설정된 초기 데이터 및 초기 데이터 확인정보를 순차적으로 저장하는 단계; 및
상기 중앙 처리장치의 요청에 따라 상기 블록 영역별로 저장된 상기 초기 데이터 및 상기 초기 데이터 확인정보를 출력 포트를 통해 순차적으로 출력하는 단계를 포함하며,
상기 초기 데이터 확인정보는 미리 설정된 복수 비트의 확인코드, 및 메시지 인증 코드를 포함하고,
상기 복수 비트의 확인코드는 상기 초기 데이터의 마지막 데이터와 연결되어 상기 초기 데이터의 다음 데이터 저장 영역에 순차적으로 저장된 것을 특징으로 하는
전자 제어장치를 이용한 초기 데이터 관리방법.
Receiving initial setting data sequentially from a central processing unit through an input port;
Dividing the block areas of the memory according to the block header and the block circulation data among the initial setting data from the input port, sequentially storing initial data and initial data confirmation information set in each of the divided block areas; And
And sequentially outputting the initial data and the initial data confirmation information stored in each of the block areas through an output port in response to a request from the central processing unit,
Wherein the initial data confirmation information includes a plurality of predetermined verification codes and a message authentication code,
Wherein the plurality of bits of the verification code are sequentially stored in the next data storage area of the initial data in connection with the last data of the initial data
An initial data management method using an electronic control device.
제 8 항에 있어서,
상기 초기 데이터 및 상기 초기 데이터 확인정보를 순차적으로 저장하는 단계는
상기 각 블록 영역에 초기 데이터와 이어서 상기 초기 데이터 확인정보 및 순환 코드를 저장하며,
상기 초기 데이터는 미리 설정된 공장데이터, 이모빌라이저 데이터, VIN 번호를 포함하는 전자 제어장치를 이용한 초기 데이터 관리방법.
9. The method of claim 8,
Wherein the step of sequentially storing the initial data and the initial data confirmation information comprises:
Storing the initial data, the initial data check information, and the circulation code in each block area,
Wherein the initial data includes preset factory data, immobilizer data, and VIN number.
제 9 항에 있어서,
상기 복수 비트의 확인코드는
상기 중앙 처리장치에도 동일하게 저장되며,
상기 메시지 인증 코드는
미리 설정된 인증 데이터에 미리 설정된 인증 키로 인증 데이터를 확인할 수 있도록 인코딩하는 MAC 알고리즘으로 생성되어 상기 각 확인 코드의 다음 데이터 저장 영역에 순차적으로 기록 및 저장됨과 아울러 상기 중앙 처리장치에 상기 인증 데이터와 상기 인증 키가 저장되는 전자 제어장치를 이용한 초기 데이터 관리방법.
10. The method of claim 9,
The multi-bit identification code
And is also stored in the central processing unit,
The message authentication code
A MAC algorithm that encodes the authentication data to be able to identify the authentication data with a preset authentication key in the preset authentication data, sequentially records and stores the authentication data in the next data storage area of the verification code, An initial data management method using an electronic control device in which a key is stored.
제 9 항에 있어서,
상기 출력 포트를 통해 상기 초기 데이터 및 상기 초기 데이터 확인정보를 순차적으로 출력하는 단계는
자동차 조립 및 조립 검수 과정에서 상기 중앙 처리장치의 요청 시, 상기 중앙 처리장치에서 상기 초기 데이터 및 상기 초기 데이터 확인정보를 자체 저장된 초기 데이터 및 초기 데이터 확인정보와 비교할 수 있도록 하기 위해, 최초 시동 시도시에 상기 메모리의 각 블록 영역에 저장된 초기 데이터 및 초기 데이터 확인정보를 상기 출력 포트를 통해 상기 중앙 처리장치로 순차 제공하는 전자 제어장치를 이용한 초기 데이터 관리방법.
10. The method of claim 9,
The step of outputting the initial data and the initial data confirmation information sequentially through the output port
In order to enable the central processing unit to compare the initial data and the initial data confirmation information with self-stored initial data and initial data confirmation information at the request of the central processing unit in the car assembly and assembly inspection process, And initial data and initial data confirmation information stored in each block area of the memory are sequentially provided to the central processing unit through the output port.
제 11 항에 있어서,
상기 자동차 조립 및 조립 검수 과정에서
상기 중앙 처리장치는 상기 출력 포트로부터 입력된 상기 메시지 인증 코드를 자체 메모리에 미리 저장된 인증키를 이용해 인증 및 해제하고, 자체 메모리에 미리 저장된 각 블록 영역별 확인코드와 상기 출력 포트를 통해 제공된 상기 확인 코드를 비교하며,
상기 자체 메모리에 미리 저장된 각 블록 영역별 확인코드와 상기 출력 포트를 통해 제공된 상기 확인 코드가 일치하고 동일하면 최초 시동 동작이 원활하게 이루어지도록 제어하는 것을 특징으로 하는 전자 제어장치를 이용한 초기 데이터 관리방법.
12. The method of claim 11,
In the automobile assembly and assembly inspection process
Wherein the central processing unit authenticates and releases the message authentication code input from the output port using an authentication key previously stored in its own memory and transmits the verification code for each block area previously stored in its own memory, Compare the codes,
Wherein the control unit controls the initial start-up operation to be smoothly performed when the check code for each block area stored in the self-memory is identical to the check code provided through the output port, .
제 12 항에 있어서,
상기 자동차 조립 및 조립 검수 과정에서
상기 최초 시동 동작이 원활하게 이루어지면, 상기 중앙 처리장치는 자체 소프트웨어의 설정 기능에 따라 상기 제어 유닛의 제어 로직(또는, 응용 프로그램) 데이터를 변환하여 다시 기록함과 아울러 센서들의 센싱 값이나 구동 환경에 따른 설정 값 및 반복 학습에 따른 학습 데이터들에 따라 상기 메모리의 초기 데이터를 재설정하여 기록하는 것을 특징으로 하는 전자 제어장치를 이용한 초기 데이터 관리방법.
13. The method of claim 12,
In the automobile assembly and assembly inspection process
When the initial start-up operation is smoothly performed, the central processing unit converts the control logic (or application program) data of the control unit according to the setting function of its own software and re-records the data, Wherein the initial data of the memory is reset and recorded according to the set value and the learning data according to the repeated learning.
제 11 항에 있어서,
상기 자동차 조립 및 조립 검수 과정에서
상기 중앙 처리장치는 상기 출력 포트로부터 입력된 상기 메시지 인증 코드를 자체 메모리에 미리 저장된 인증키를 이용해 인증 및 해제하고, 자체 메모리에 미리 저장된 각 블록 영역별 확인코드와 상기 출력 포트를 통해 제공된 상기 확인 코드를 비교하며,
상기 자체 메모리에 미리 저장된 각 블록 영역별 확인코드와 상기 출력 포트를 통해 제공된 상기 확인 코드가 일치하지 않으면 에러 코드를 발생시키고 시동 동작이 이루어지지 못하도록 제어하는 전자 제어장치를 이용한 초기 데이터 관리방법.
12. The method of claim 11,
In the automobile assembly and assembly inspection process
Wherein the central processing unit authenticates and releases the message authentication code input from the output port using an authentication key previously stored in its own memory and transmits the verification code for each block area previously stored in its own memory, Compare the codes,
And generating an error code and controlling the start-up operation to be disabled if the verification code for each block area stored in the self-memory does not match the verification code provided through the output port.
KR1020160082883A 2016-06-30 2016-06-30 The electronic control unit possible the initial data management and method for the initial data management using the same KR101787272B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160082883A KR101787272B1 (en) 2016-06-30 2016-06-30 The electronic control unit possible the initial data management and method for the initial data management using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160082883A KR101787272B1 (en) 2016-06-30 2016-06-30 The electronic control unit possible the initial data management and method for the initial data management using the same

Publications (1)

Publication Number Publication Date
KR101787272B1 true KR101787272B1 (en) 2017-10-19

Family

ID=60298350

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160082883A KR101787272B1 (en) 2016-06-30 2016-06-30 The electronic control unit possible the initial data management and method for the initial data management using the same

Country Status (1)

Country Link
KR (1) KR101787272B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000112837A (en) * 1998-10-08 2000-04-21 Denso Corp Memory checking device and method therefor
JP2009264828A (en) * 2008-04-23 2009-11-12 Denso Corp Electronic control device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000112837A (en) * 1998-10-08 2000-04-21 Denso Corp Memory checking device and method therefor
JP2009264828A (en) * 2008-04-23 2009-11-12 Denso Corp Electronic control device

Similar Documents

Publication Publication Date Title
CN107924443B (en) Firmware upgrading method and system for process control device
CN105938433B (en) Method for programming a control device of a motor vehicle
US7387235B2 (en) Mutual authentication security system with recovery from partial programming
CN103729597B (en) System starts method of calibration, system starts calibration equipment and terminal
US8429469B2 (en) Method and apparatus for remotely verifying memory integrity of a device
US7327216B2 (en) Secret key programming technique for transponders using encryption
US20160093393A1 (en) Flash memory apparatus for physical unclonable function and embodying method of the same
US20060248172A1 (en) Method for updating software of an electronic control device by flash programming via a serial interface and corresponding automatic state machine
JP2007524149A (en) Remote programming of program controlled equipment
CA2516580A1 (en) System and method of multiple-level control of electronic devices
JP6712538B2 (en) Tamper detection system
KR101806719B1 (en) The electronic control unit possible auto setting of memory area according to secure boot and method for secure boot using the same
KR101787272B1 (en) The electronic control unit possible the initial data management and method for the initial data management using the same
JP6483461B2 (en) Management method, management program, management device, management system, and information processing method
JP4534731B2 (en) Electronic control device and identification code generation method thereof
CN112532573B (en) Authentication method for authentication relevance and safety device
JP2008176487A (en) Data storage unit, and theft prevention unit having the same
US11361600B2 (en) Method for authenticating a diagnostic trouble code generated by a motor vehicle system of a vehicle
US7346931B2 (en) Accepting a set of data in a computer unit
US8688361B2 (en) Method for reversibly coding an engine controller for a motor vehicle in manipulation-proof fashion, and engine controller
JP6935694B2 (en) Electronic control device
CN104517050B (en) The corresponding device of hardware and software authentication method of electronic installation
US20080114508A1 (en) Method for Repairing Vehicle Electronics of a Motor Vehicle
CN116628701B (en) TPCM (thermoplastic polyurethane) in-place detection method and device, server starting method and server
CN110221579B (en) Numerical controller

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant