KR102104298B1 - A method for determinig safety of data and an electronic device performing the method - Google Patents
A method for determinig safety of data and an electronic device performing the method Download PDFInfo
- Publication number
- KR102104298B1 KR102104298B1 KR1020180109416A KR20180109416A KR102104298B1 KR 102104298 B1 KR102104298 B1 KR 102104298B1 KR 1020180109416 A KR1020180109416 A KR 1020180109416A KR 20180109416 A KR20180109416 A KR 20180109416A KR 102104298 B1 KR102104298 B1 KR 102104298B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- comparison
- memory
- target data
- code
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
- G06F21/79—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Control Of Driving Devices And Active Controlling Of Vehicle (AREA)
Abstract
타겟 데이터가 안전한지 여부를 결정하는 방법 및 그 방법을 수행하는 전자 장치가 제공된다. 타겟 데이터를 주소 및 제어 데이터 중 적어도 하나를 이용하여 인코딩 및 디코딩함으로써 비교 데이터를 생성하고, 타겟 데이터가 비교 데이터와 동일한지 여부를 결정함으로써 타겟 데이터의 안전성이 결정된다. 타겟 데이터, 주소 및 제어 데이터 중 어느 하나라도 조작된 경우 또는 어떠한 이유에서든 데이터를 저장하는 메모리에 문제가 발생한 경우 또는 메모리와 관련된 연결(또는 통신채널)에 문제가 발생한 경우에는 타겟 데이터와 비교 데이터는 동일하지 않게 된다.A method for determining whether target data is secure and an electronic device performing the method are provided. The comparison data is generated by encoding and decoding the target data using at least one of address and control data, and the safety of the target data is determined by determining whether the target data is the same as the comparison data. If any of the target data, address, and control data has been manipulated, or if there is a problem with the memory that stores the data for any reason, or if there is a problem with the connection (or communication channel) associated with the memory, the target data and comparison data are Will not be the same.
Description
아래의 실시예들은 데이터의 안전을 결정하는 기술에 관한 것으로, 보다 상세하게는 복수의 메모리들을 이용하여 데이터의 안전을 결정하는 기술에 관한 것이다.The following embodiments relate to a technique for determining the safety of data, and more particularly, to a technique for determining the safety of data using a plurality of memories.
어드밴스드 운전자 지원 시스템(Advanced Driver Assistance Systems: ADAS) 또는 자율주행 차량을 위한 기술들이 개발되면서, ISO 26262에 대한 기능이 강조되고 있다. ISO 26262는 기능 안전(functional safety)을 구현하기 위한 차량 기능 안전 국제 규격이다. ISO 26262는 프로세스 모델과 함께 요구되는 활동, 유무형의 증거물, 그리고 개발과 생산에 사용되는 방식을 정의한다.As technologies for Advanced Driver Assistance Systems (ADAS) or self-driving vehicles have been developed, features for ISO 26262 are being emphasized. ISO 26262 is an international standard for vehicle functional safety to implement functional safety. ISO 26262, along with the process model, defines the required activities, tangible and intangible evidence, and the method used for development and production.
일 실시예는 데이터의 안전을 결정하는 방법 및 그 전자 장치를 제공할 수 있다.One embodiment may provide a method for determining the safety of data and an electronic device thereof.
일 실시예는 복수의 메모리들을 이용하여 데이터의 안전을 결정하는 방법 및 그 전자 장치를 제공할 수 있다.One embodiment may provide a method and an electronic device for determining the safety of data using a plurality of memories.
일 측면에 따른, 전자 장치에 의해 수행되는, 일반 메모리의 저장된 데이터의 안전을 결정하는 방법은, 일반 메모리(general memory)로부터 타겟 데이터를 로드하는 단계, 상기 타겟 데이터에 대응하는 주소에 기초하여 비교 메모리(compare memory)로부터 코드를 로드하는 단계, 상기 코드를 디코딩함으로써 비교 데이터를 생성하는 단계, 상기 비교 데이터를 로드하는 단계, 상기 타겟 데이터 및 상기 비교 데이터가 동일한지 여부를 결정하는 단계, 및 상기 타겟 데이터 및 상기 비교 데이터가 동일하지 않은 경우, 상기 타겟 데이터가 안전하지 않은 것으로 결정하는 단계를 포함한다.According to an aspect, a method of determining safety of stored data in a general memory, performed by an electronic device, includes loading target data from general memory and comparing based on an address corresponding to the target data Loading code from a memory (compare memory), generating comparison data by decoding the code, loading the comparison data, determining whether the target data and the comparison data are the same, and And when the target data and the comparison data are not the same, determining that the target data is unsafe.
상기 비교 데이터를 생성하는 단계는, 상기 코드에 대응하는 주소 및 제어 데이터 중 적어도 하나에 기초하여 상기 코드를 디코딩하는 단계를 포함할 수 있다.Generating the comparison data may include decoding the code based on at least one of address and control data corresponding to the code.
상기 데이터의 안전을 결정하는 방법은, 상기 타겟 데이터에 대응하는 주소 및 제어 데이터 중 적어도 하나에 기초하여 상기 타겟 데이터를 인코딩함으로써 상기 코드를 생성하는 단계, 및 상기 코드를 상기 비교 메모리에 저장하는 단계를 더 포함할 수 있다.The method for determining the safety of the data includes generating the code by encoding the target data based on at least one of address and control data corresponding to the target data, and storing the code in the comparison memory It may further include.
상기 비교 메모리는 SRAM(Static Random Access Memory)로 구성되고, 상기 비교 메모리 및 상기 일반 메모리는 물리적으로 상이한 메모리들일 수 있다.The comparison memory is composed of static random access memory (SRAM), and the comparison memory and the general memory may be physically different memories.
상기 전자 장치는 자율주행 차량(autonomous vehicle) 또는 어드밴스드 운전자 지원 시스템(advanced driver assistance system)을 지원하는 차량에 포함될 수 있다.The electronic device may be included in an autonomous vehicle or a vehicle supporting an advanced driver assistance system.
다른 일 측면에 따른, 데이터가 안전한지 여부를 결정하는 전자 장치는, 로봇의 행동을 제어하는 정책을 갱신하는 프로그램이 기록된 메모리, 및 상기 프로그램을 수행하는 프로세서를 포함하고, 상기 프로그램은, 일반 메모리(general memory)로부터 타겟 데이터를 로드하는 단계, 상기 타겟 데이터의 주소에 기초하여 비교 메모리(compare memory)로부터 코드를 로드하는 단계, 상기 코드를 디코딩함으로써 비교 데이터를 생성하는 단계, 상기 비교 데이터를 로드하는 단계, 상기 타겟 데이터 및 상기 비교 데이터가 동일한지 여부를 결정하는 단계, 및 상기 타겟 데이터 및 상기 비교 데이터가 동일하지 않은 경우, 상기 타겟 데이터가 안전하지 않은 것으로 결정하는 단계를 수행한다.According to another aspect, an electronic device for determining whether data is safe includes a memory in which a program for updating a policy for controlling a robot's behavior is recorded, and a processor for executing the program, wherein the program includes: Loading target data from a general memory, loading code from a compare memory based on the address of the target data, generating comparison data by decoding the code, and comparing the comparison data Loading, determining whether the target data and the comparison data are the same, and determining that the target data is unsafe when the target data and the comparison data are not the same.
상기 비교 데이터를 생성하는 단계는, 상기 코드에 대응하는 주소 및 제어 데이터 중 적어도 하나에 기초하여 상기 코드를 디코딩하는 단계를 포함할 수 있다.Generating the comparison data may include decoding the code based on at least one of address and control data corresponding to the code.
상기 프로그램은, 상기 타겟 데이터에 대응하는 주소 및 제어 데이터 중 적어도 하나에 기초하여 상기 타겟 데이터를 인코딩함으로써 상기 코드를 생성하는 단계, 및 상기 코드를 상기 비교 메모리에 저장하는 단계를 더 수행할 수 있다.The program may further perform the step of generating the code by encoding the target data based on at least one of address and control data corresponding to the target data, and storing the code in the comparison memory. .
상기 비교 메모리는 SRAM(Static Random Access Memory) 또는 Register 및 이에 상응하는 소자로 구성될 수 있고, 상기 비교 메모리 및 상기 일반 메모리는 물리적으로 상이한 메모리들일 수 있다.The comparison memory may be composed of a static random access memory (SRAM) or a register and a corresponding device, and the comparison memory and the general memory may be physically different memories.
상기 전자 장치는 자율주행 차량(autonomous vehicle) 또는 첨단 운전자 지원 시스템(advanced driver assistance system)을 지원하는 차량에 포함될 수 있고 그 외 ECU 및 여러 종류의 콘트롤러나 센서류에 사용될 수 있다.The electronic device may be included in an autonomous vehicle or a vehicle supporting an advanced driver assistance system, and may be used in other ECUs and various types of controllers or sensors.
일 실시예는 데이터의 안전을 결정하는 방법 및 그 전자 장치를 제공할 수 있다.One embodiment may provide a method for determining the safety of data and an electronic device thereof.
일 실시예는 복수의 메모리들을 이용하여 데이터의 안전을 결정하는 방법 및 그 전자 장치를 제공할 수 있다.One embodiment may provide a method and an electronic device for determining the safety of data using a plurality of memories.
도 1은 일 예에 따른 전자 장치를 탑재한 차량을 도시한다.
도 2는 일 실시예에 따른 데이터 안전을 결정하는 전자 장치의 구성도이다.
도 3은 일 예에 따른 비교 메모리 블록의 구성도이다.
도 4는 일 실시예에 따른 데이터 안전을 결정하는 방법의 흐름도이다.
도 5는 일 예에 따른 전자 장치 내의 구성 요소들 간의 데이터 흐름을 나타낸다.1 illustrates a vehicle equipped with an electronic device according to an example.
2 is a configuration diagram of an electronic device for determining data safety according to an embodiment.
3 is a configuration diagram of a comparison memory block according to an example.
4 is a flowchart of a method for determining data safety according to an embodiment.
5 illustrates data flow between components in an electronic device according to an example.
이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 실시예들에는 다양한 변경이 가해질 수 있어서 특허출원의 권리 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 실시예들에 대한 모든 변경, 균등물 내지 대체물이 권리 범위에 포함되는 것으로 이해되어야 한다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. However, various changes may be made to the embodiments, and the scope of the patent application right is not limited or limited by these embodiments. It should be understood that all modifications, equivalents, or substitutes for the embodiments are included in the scope of rights.
실시예에서 사용한 용어는 단지 설명을 목적으로 사용된 것으로, 한정하려는 의도로 해석되어서는 안된다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in the examples are for illustrative purposes only and should not be construed as limiting. Singular expressions include plural expressions unless the context clearly indicates otherwise. In this specification, the terms "include" or "have" are intended to indicate the presence of features, numbers, steps, actions, components, parts or combinations thereof described herein, one or more other features. It should be understood that the existence or addition possibilities of fields or numbers, steps, operations, components, parts or combinations thereof are not excluded in advance.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by a person skilled in the art to which the embodiment belongs. Terms such as those defined in a commonly used dictionary should be interpreted as having meanings consistent with meanings in the context of related technologies, and should not be interpreted as ideal or excessively formal meanings unless explicitly defined in the present application. Does not.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.In addition, in the description with reference to the accompanying drawings, the same reference numerals are assigned to the same components regardless of reference numerals, and redundant descriptions thereof will be omitted. In describing the embodiments, when it is determined that detailed descriptions of related known technologies may unnecessarily obscure the subject matter of the embodiments, detailed descriptions thereof will be omitted.
도 1은 일 예에 따른 전자 장치를 탑재한 차량을 도시한다.1 illustrates a vehicle equipped with an electronic device according to an example.
일 측면에 따른, 차량(100)은 운전자로부터의 입력이 거의 없거나 또는 전혀 없는 상황에서도, 인지된 주행 환경에 따라서 자율 모드(autonomous mode)로 주행할 수 있다. 주행 환경은 차량(100)에 부착 또는 설치된 하나 이상의 센서들을 통해 인지될 수 있다. 예를 들어, 하나 이상의 센서들은 카메라, 라이다(LIDAR), 레이더(RADAR) 및 음성 인식 센서들을 포함할 수 있고, 기재된 예들로 제한되는 것은 아니다. 주행 환경은 도로, 도로의 상태, 차선의 종류, 주변 차량의 유무, 근접한 차량과의 거리, 날씨, 장애물의 유무 등을 포함할 수 있고, 기재된 예들로 제한되는 것은 아니다.According to one aspect, the
차량(100)은 주행 환경을 인식하고, 주행 환경에 적합한 자율 주행 경로를 생성한다. 자율 주행 경로를 따라가도록 자율 주행 차량은 내외부의 기계적인 요소들을 제어한다. 차량(100)은 자율 주행 경로를 주기적으로 생성할 수 있다.The
다른 일 측면에 따른, 차량(100)은 어드밴스드 운전자 지원 시스템(Advanced Driver Assistance Systems: ADAS)을 이용하여 운전자의 운전을 보조할 수 있다. ADAS는 충돌 위험시 운전자가 제동장치를 밟지 않아도 스스로 속도를 줄이거나 멈추는 자동 긴급제동 시스템(Autonomous Emergency Braking: AEB), 차선 이탈 시 주행 방향을 조절해 차선을 유지하는 주행 조향보조 시스템(Lane Keep Assist System: LKAS), 사전에 정해 놓은 속도로 달리면서도 앞차와 간격을 알아서 유지하는 어드밴스드 스마트 크루즈 컨트롤(Advanced Smart Cruise Control: ASCC), 사각지대 충돌 위험을 감지해 안전한 차로 변경을 돕는 후측방 충돌 회피 지원 시스템(Active Blind Spot Detection: ABSD), 차량 주변 상황을 시각적으로 보여주는 어라운드 뷰 모니터링 시스템(Around View Monitor: AVM) 등을 포함한다.According to another aspect, the
차량(100)에 포함된 전자 장치(110)는 차량(100)의 기계적 장치를 제어하여, 자율 주행하거나 운전자의 운전을 보조할 수 있고, 기재된 실시예 이외의 ECU 및 다양한 종류의 컨트롤러나 센서 등에 사용될 수 있다. 전자 장치(110)가 자동적으로 기계적인 요소를 제어하는 것이므로, 제어의 정확성이 아주 중요하다. 데이터의 오류로 인하여 전자 장치(110)의 의도와는 다른 제어가 수행되는 경우, 사고로 이어질 수 있다. 예를 들어, 속도를 감속하는 제어가 아닌 속도를 증속하는 제어가 수행되는 경우, 사고로 이어질 수 있다. 다른 예로, 외부의 개입(예를 들어, 해킹)으로 데이터가 조작될 가능성도 있다. 또 다른 예로, 전자 장치(110) 내부 기기 또는 회로의 노후화나 외부 충격, 급격한 온도변화, 고온 또는 저온노출 등 다양한 이유로 인해 데이터가 손상되거나 프로세서와 메모리 사이의 데이터 전달에 문제가 발생할 수 있다. 이에 따라, 기계적인 요소를 제어하기 전에, 데이터가 안전한지 여부를 판단하는 방법이 수행 되어야 한다. 상기의 내용은 ISO 26262 또는 자동차 기능 안전성 국제 표준과 관련이 있다. ISO 26262는 차량(100)에 탑재되는 E/E (Electric & Electronic) 시스템의 오류로 인한 사고방지를 위해 ISO에서 제정한 자동차 기능 안전 국제 규격이다. ISO 26262는 프로세스 모델과 함께 요구되는 활동, 유무형의 증거물, 그리고 개발과 생산에 사용되는 방식을 정의한다.The
메모리 구조를 변형하여, 데이터의 안전성을 결정하는 방법이 고려될 수 있다. 상기의 방법에 대해, 아래에서 도 2 내지 도 5를 참조하여 상세히 설명된다.By modifying the memory structure, a method of determining the safety of data can be considered. The above method will be described in detail with reference to Figs. 2 to 5 below.
도 2는 일 실시예에 따른 데이터 안전을 결정하는 전자 장치의 구성도이다.2 is a configuration diagram of an electronic device for determining data safety according to an embodiment.
전자 장치(200)는 통신부(210), 프로세서(220), 일반 메모리(230) 및 비교 메모리 블록(240)을 포함한다. 전자 장치(200)는 도 1을 참조하여 전술된 차량(100)에 포함될 수 있다.The
통신부(210)는 프로세서(220) 및 일반 메모리(230) 및 비교 메모리 블록(240)과 연결되어 데이터를 송수신한다. 통신부(210)는 외부의 다른 장치와 연결되어 데이터를 송수신할 수 있다. 통신부(210)는 전자 장치(200) 내의 회로망(circuitry)으로 구현될 수 있다. 예를 들어, 통신부(210)는 내부 버스(internal bus) 및 외부 버스(internal bus)를 포함할 수 있다. 다른 예로, 통신부(210)는 전자 장치(200)와 외부의 장치를 연결하는 요소일 수 있다. 통신부(210)는 인터페이스(interface)일 수 있다. 통신부(210)는 외부의 장치로부터 데이터를 수신하여, 프로세서(220) 및 일반 메모리(230)에 데이터를 전송할 수 있다.The
프로세서(220)는 통신부(210)가 수신한 데이터 및 일반 메모리(230)에 저장된 데이터를 처리한다.The
"프로세서"는 목적하는 동작들(desired operations)을 실행시키기 위한 물리적인 구조를 갖는 회로를 가지는 하드웨어로 구현된 데이터 처리 장치일 수 있다. 예를 들어, 목적하는 동작들은 프로그램에 포함된 코드(code) 또는 인스트럭션들(instructions)을 포함할 수 있다. 예를 들어, 하드웨어로 구현된 데이터 처리 장치는 마이크로프로세서(microprocessor), 중앙 처리 장치(central processing unit), 프로세서 코어(processor core), 멀티-코어 프로세서(multi-core processor), 멀티프로세서(multiprocessor), ASIC(Application-Specific Integrated Circuit), FPGA(Field Programmable Gate Array)를 포함할 수 있다.The "processor" may be a data processing device implemented in hardware having circuits having a physical structure for performing desired operations. For example, desired operations may include code or instructions included in a program. For example, the data processing device implemented in hardware includes a microprocessor, a central processing unit, a processor core, a multi-core processor, and a multiprocessor. , ASIC (Application-Specific Integrated Circuit), FPGA (Field Programmable Gate Array).
프로세서(220)는 메모리(예를 들어, 메모리(230))에 저장된 컴퓨터로 읽을 수 있는 코드(예를 들어, 소프트웨어) 및 프로세서(220)에 의해 유발된 인스트럭션들을 실행한다.The
일반 메모리(230)는 통신부(210)가 수신한 데이터 및 프로세서(220)가 처리한 데이터를 저장할 수 있다. 예를 들어, 일반 메모리(230)는 프로그램을 저장할 수 있다.The
일 측면에 따르면, 일반 메모리(230)는 하나 이상의 레지스터(Register)의 집합, 휘발성 메모리, 비휘발성 메모리 및 RAM(Random Access Memory), 플래시 메모리, 하드 디스크 드라이브 및 광학 디스크 드라이브를 포함할 수 있다.According to one aspect, the
일반 메모리(230)는 데이터의 안전을 결정하는 명령어 세트(예를 들어, 소프트웨어)를 저장할 수 있다. 데이터의 안전을 결정하는 명령어 세트는 프로세서(220)에 의해 실행될 수 있다. 프로세서(220)는 명령어 세트에 따라 데이터의 안전을 결정할 수 있다.The
비교 메모리 블록(240)은 일반 메모리(230)에 저장된 데이터의 안전을 확인할 수 있는 비교 데이터를 저장할 수 있다. 예를 들어, 비교 메모리 블록(240)은 프로그램을 인코딩한 형태의 변형된 데이터를 저장할 수 있다.The
아래에서 도 3 내지 도 5를 참조하여 전자 장치(200)에 대해 상세히 설명된다.Hereinafter, the
도 3은 일 예에 따른 비교 메모리 블록의 구성도이다.3 is a configuration diagram of a comparison memory block according to an example.
일 실시예에 따르면, 도 2를 참조하여 비교 메모리 블록(240)은 인코더(310), 비교 메모리(320) 및 디코더(330)를 포함한다.According to an embodiment, referring to FIG. 2, the
인코더(310)는 프로세서(220)가 쓰기를 원하는 데이터 및 상기의 데이터에 대응하는 주소에 기초하여, 데이터를 인코딩함으로써 코드를 생성한다. 비교 메모리(320)는 생성된 코드를 저장한다. 예를 들어, 비교 메모리(320)는RAM(Static Random Access Memory) 또는 레지스터(Register) 또는 이에 상응하는 소자로 구성될 수 있고, 비교 메모리(320)는 일반 메모리(230)와 물리적으로 상이한 메모리일 수 있다. 디코더(330)는 코드를 디코딩함으로써 데이터를 생성한다. 코드의 디코딩은 데이터의 인코딩과 대비될 수 있다.The
일 측면에 따르면, 비교 메모리 블록(240)은 내부 프로세서(도시되지 않음)를 더 포함할 수 있고, 내부 프로세서는 비교 메모리 블록(240)을 제어할 수 있다. 예를 들어, 내부 프로세서는 인코더(310), 비교 메모리(320) 및 디코더(330)를 제어할 수 있다.According to one aspect, the
아래에서 인코더(310), 비교 메모리(320) 및 디코더(330)에 대해 도 4 내지 도 5를 참조하여 상세히 설명된다.Hereinafter, the
도 4는 일 실시예에 따른 데이터 안전을 결정하는 방법의 흐름도이다.4 is a flowchart of a method for determining data safety according to an embodiment.
도 2 내지 3을 참조하여 전술된 전자 장치(200)는 아래의 단계들(410 내지 450)을 수행한다.The
단계(405)에서, 인코더(310)는 프로세서(220)가 쓰기를 원하는 타겟 데이터를 인코딩함으로써 코드를 생성한다. 예를 들어, 인코더(310)는 타겟 데이터에 대응하는 주소 및 제어 데이터 중 적어도 하나에 기초하여 타겟 데이터를 인코딩함으로써 코드를 생성한다. 타겟 데이터를 암호화함으로써 코드가 생성될 수 있다.In
단계(410)에서, 일반 메모리(230)는 타겟 데이터를 저장한다. 예를 들어, 일반 메모리(230)는 프로세서(220)가 전송한 타겟 데이터에 대응하는 주소 및 제어 데이터 중 적어도 하나를 이용하여 타겟 데이터를 저장할 수 있다. 단계(410)는 단계(405)가 수행된 후에 수행되는 것으로 도시되었으나, 단계(410)는 단계(405)와 병렬적으로 수행될 수 있다.In
단계(415)에서, 비교 메모리(320)는 생성된 코드를 저장한다.In
단계(420)에서, 전자 장치(200)는 일반 메모리(230)로부터 타겟 데이터를 로드한다. 예를 들어, 전자 장치(200)는 프로세서(220), 별도의 프로세서 또는 전자 장치(200)의 회로를 이용하여 타겟 데이터를 로드할 수 있다.In
단계(425)에서, 디코더(330)는 타겟 데이터에 대응하는 주소에 기초하여 비교 메모리(320)로부터 코드를 로드한다. 타겟 데이터에 대응하는 주소는 프로세서(220)로부터 수신할 수 있다.In
단계(430)에서, 디코더(330)는 코드를 디코딩함으로써 비교 데이터를 생성한다. 예를 들어, 디코더(330)는 코드(또는, 타겟 데이터)에 대응하는 주소 및 제어 데이터 중 적어도 하나에 기초하여 코드를 디코딩할 수 있다. 상기의 디코딩 방식은 단계(405)의 인코딩 방식과 대응할 수 있다. 즉, 코드를 복호화함으로써 비교 데이터가 생성될 수 있다.In
단계(435)에서, 전자 장치(200)는 비교 데이터를 로드한다. 예를 들어, 전자 장치(200)는 프로세서(220), 별도의 프로세서 또는 전자 장치(200)의 회로를 이용하여 비교 데이터를 로드할 수 있고, 통신 채널 또는 단순한 연결구조를 통해 로드할 수 있다.In
단계(440)에서, 전자 장치(200)는 타겟 데이터 및 비교 데이터가 동일한지 여부를 판단한다. 예를 들어, 전자 장치(200)는 프로세서(220), 별도의 프로세서 또는 전자 장치(200)의 내부 회로를 이용하여 타겟 데이터 및 비교 데이터가 동일한지 여부를 판단할 수 있다.In
단계(445)에서, 전자 장치(200)는 타겟 데이터 및 비교 데이터가 동일한 경우, 타겟 데이터가 안전한 것으로 결정한다. 타겟 데이터가 타겟 데이터에 대응하는 주소 및 제어 데이터에 기초하여 인코딩되고, 다시 디코딩되므로, 타겟 데이터, 주소 및 제어 데이터 중 어느 하나라도 오류가 있다면, 타겟 데이터 및 비교 데이터가 동일하지 않는다. 따라서, 타겟 데이터 및 비교 데이터가 동일하다는 것은, 타겟 데이터, 주소 및 제어 데이터가 변조되지 않았으며 타겟 데이터가 전자 장치(200)의 노후화나 환경에 의해서도 문제가 발생하지 않았다는 것과 동일한 의미이다.In
전자 장치(200)는 타겟 데이터가 안전한 것으로 결정된 경우, 타겟 데이터를 이용하여 차량을 제어할 수 있다.When it is determined that the target data is safe, the
단계(450)에서, 전자 장치(200)는 타겟 데이터 및 비교 데이터가 동일하지 않은 경우, 타겟 데이터가 안전하지 않은 것으로 결정한다.In
전자 장치(200)는 타겟 데이터가 안전하지 않는 것으로 결정된 경우, 스스로 안전을 확보하기 위한 별도의 조치를 취하거나, 안전하지 않음을 외부에 알릴 수도 있다. 또한, 전자 장치(200)는 스스로 안전을 확보하기 위한 별도의 조치의 일 예로 타겟 데이터를 복구할 수 있다.When it is determined that the target data is unsafe, the
도 5는 일 예에 따른 전자 장치 내의 구성 요소들 간의 데이터 흐름을 나타낸다.5 illustrates data flow between components in an electronic device according to an example.
전자 장치(200)는 아래의 프로세서(510), 일반 메모리(520), 인코더(530), 비교 메모리(540), 디코더(550) 및 비교기(560)를 포함한다.The
프로세서(510)는 타겟 데이터를 생성한다. 타겟 데이터는 차량의 제어와 관련될 수 있다. 프로세서(510)는 도 2 내지 도 4를 참조하여 전술된 프로세서(220)에 대응할 수 있다.The
일반 메모리(520)는 프로세서(510)가 쓴 타겟 데이터를 저장한다. 일반 메모리(520)는 도 2 내지 도 4를 참조하여 전술된 일반 메모리(230)에 대응할 수 있다. 추가적으로, 일반 메모리(520)는 타겟 데이터에 대응하는 주소 및 제어 데이터를 프로세서(510)로부터 수신하고, 저장할 수 있다.The
인코더(530)는 프로세서(510)로부터 수신한 타겟 데이터를 인코딩함으로써 코드를 생성한다. 예를 들어, 인코더(530)는 프로세서(510)로부터 수신한 타겟 데이터에 대응하는 주소 및 제어 데이터 중 적어도 하나에 기초하여 타겟 데이터를 인코딩할 수 있다. 인코더(530)는 도 2 내지 도 4를 참조하여 전술된 인코더(310)에 대응할 수 있다.The
비교 메모리(540)는 생성된 코드를 저장한다. 예를 들어, 비교 메모리(540)는 도 2 내지 도 4를 참조하여 전술된 비교 메모리(320)에 대응할 수 있다.The
디코더(550)는 비교 메모리(540)로부터 코드를 독출하고, 독출한 코드를 디코딩함으로써 비교 데이터를 생성한다. 예를 들어, 디코더(550)는 프로세서(510)로부터 수신한 타겟 데이터에 대응하는 주소 및 제어 데이터 중 적어도 하나에 기초하여 코드를 디코딩할 수 있다. 디코더(550)는 도 2 내지 도 4를 참조하여 전술된 디코더(550)에 대응할 수 있다.The
비교기(560)는 일반 메모리(520)로부터 타겟 데이터를 독출하고, 디코더(550)로부터 비교 데이터를 독출하며, 타겟 데이터 및 비교 데이터가 동일한지 여부를 결정한다. 비교기(560)는 프로세서(510), 다른 프로세서, 또는 전자 장치(200)의 내부 회로일 수 있다.The
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer readable medium. The computer-readable medium may include program instructions, data files, data structures, or the like alone or in combination. The program instructions recorded on the medium may be specially designed and configured for the embodiments or may be known and usable by those skilled in computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs, DVDs, and magnetic media such as floptical disks. -Hardware devices specially configured to store and execute program instructions such as magneto-optical media, and ROM, RAM, flash memory, and the like. Examples of program instructions include high-level language code that can be executed by a computer using an interpreter, etc., as well as machine language codes produced by a compiler. The hardware device described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instruction, or a combination of one or more of these, and configure the processing device to operate as desired, or process independently or collectively You can command the device. Software and / or data may be interpreted by a processing device, or to provide instructions or data to a processing device, of any type of machine, component, physical device, virtual equipment, computer storage medium or device. , Or may be permanently or temporarily embodied in the transmitted signal wave. The software may be distributed on networked computer systems, and stored or executed in a distributed manner. Software and data may be stored in one or more computer-readable recording media.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described by the limited drawings, those skilled in the art can apply various technical modifications and variations based on the above. For example, the described techniques are performed in a different order than the described method, and / or the components of the described system, structure, device, circuit, etc. are combined or combined in a different form from the described method, or other components Alternatively, even if replaced or substituted by equivalents, appropriate results can be achieved.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.
200: 전자 장치
210: 통신부
220: 프로세서
230: 일반 메모리
240: 비교 메모리 블록 200: electronic device
210: communication unit
220: processor
230: normal memory
240: comparison memory block
Claims (11)
일반 메모리(general memory)로부터 타겟 데이터를 로드하는 단계;
상기 타겟 데이터에 대응하는 주소에 기초하여 비교 메모리(compare memory)로부터 코드를 로드하는 단계;
상기 코드를 디코딩함으로써 비교 데이터를 생성하는 단계;
상기 비교 데이터를 로드하는 단계;
상기 타겟 데이터 및 상기 비교 데이터가 동일한지 여부를 결정하는 단계; 및
상기 타겟 데이터 및 상기 비교 데이터가 동일하지 않은 경우, 상기 타겟 데이터가 안전하지 않은 것으로 결정하는 단계
를 포함하고,
상기 비교 데이터를 생성하는 단계는,
상기 코드에 대응하는 주소 및 제어 데이터 중 적어도 하나에 기초하여 상기 코드를 디코딩하는 단계
를 포함하는,
데이터 안전 결정 방법.
A method for determining the safety of stored data in a general memory, performed by an electronic device,
Loading target data from general memory;
Loading code from a compare memory based on an address corresponding to the target data;
Generating comparison data by decoding the code;
Loading the comparison data;
Determining whether the target data and the comparison data are the same; And
Determining that the target data is unsafe when the target data and the comparison data are not the same
Including,
The step of generating the comparison data,
Decoding the code based on at least one of address and control data corresponding to the code
Containing,
How to determine data safety.
상기 타겟 데이터에 대응하는 주소 및 제어 데이터 중 적어도 하나에 기초하여 상기 타겟 데이터를 인코딩함으로써 상기 코드를 생성하는 단계; 및
상기 코드를 상기 비교 메모리에 저장하는 단계
를 더 포함하는,
데이터 안전 결정 방법.
According to claim 1,
Generating the code by encoding the target data based on at least one of address and control data corresponding to the target data; And
Storing the code in the comparison memory
Further comprising,
How to determine data safety.
상기 비교 메모리는 SRAM(Static Random Access Memory)로 구성되고,
상기 비교 메모리 및 상기 일반 메모리는 물리적으로 상이한 메모리들인,
데이터 안전 결정 방법.
According to claim 1,
The comparison memory is composed of static random access memory (SRAM),
The comparison memory and the general memory are physically different memories,
How to determine data safety.
상기 전자 장치는 자율주행 차량(autonomous vehicle) 또는 어드밴스드 운전자 지원 시스템(advanced driver assistance system)을 지원하는 차량에 포함되는,
데이터 안전 결정 방법.
According to claim 1,
The electronic device is included in a vehicle supporting an autonomous vehicle or an advanced driver assistance system,
How to determine data safety.
A computer-readable recording medium containing a program for performing the method of any one of claims 1, 3, 4 and 5.
로봇의 행동을 제어하는 정책을 갱신하는 프로그램이 기록된 메모리; 및
상기 프로그램을 수행하는 프로세서
를 포함하고,
상기 프로그램은,
일반 메모리(general memory)로부터 타겟 데이터를 로드하는 단계;
상기 타겟 데이터의 주소에 기초하여 비교 메모리(compare memory)로부터 코드를 로드하는 단계;
상기 코드를 디코딩함으로써 비교 데이터를 생성하는 단계;
상기 비교 데이터를 로드하는 단계;
상기 타겟 데이터 및 상기 비교 데이터가 동일한지 여부를 결정하는 단계; 및
상기 타겟 데이터 및 상기 비교 데이터가 동일하지 않은 경우, 상기 타겟 데이터가 안전하지 않은 것으로 결정하는 단계
를 수행하고,
상기 비교 데이터를 생성하는 단계는,
상기 코드에 대응하는 주소 및 제어 데이터 중 적어도 하나에 기초하여 상기 코드를 디코딩하는 단계
를 포함하는,
전자 장치.
An electronic device that determines whether data is secure,
A memory in which a program for updating a policy for controlling the behavior of the robot is recorded; And
Processor that performs the program
Including,
The program,
Loading target data from general memory;
Loading code from a compare memory based on the address of the target data;
Generating comparison data by decoding the code;
Loading the comparison data;
Determining whether the target data and the comparison data are the same; And
Determining that the target data is unsafe when the target data and the comparison data are not the same
And
The step of generating the comparison data,
Decoding the code based on at least one of address and control data corresponding to the code
Containing,
Electronic devices.
상기 프로그램은,
상기 타겟 데이터에 대응하는 주소 및 제어 데이터 중 적어도 하나에 기초하여 상기 타겟 데이터를 인코딩함으로써 상기 코드를 생성하는 단계; 및
상기 코드를 상기 비교 메모리에 저장하는 단계
를 더 수행하는,
전자 장치.
The method of claim 7,
The program,
Generating the code by encoding the target data based on at least one of address and control data corresponding to the target data; And
Storing the code in the comparison memory
To do more,
Electronic devices.
상기 비교 메모리는 SRAM(Static Random Access Memory)로 구성되고,
상기 비교 메모리 및 상기 일반 메모리는 물리적으로 상이한 메모리들인,
전자 장치.
The method of claim 7,
The comparison memory is composed of static random access memory (SRAM),
The comparison memory and the general memory are physically different memories,
Electronic devices.
상기 전자 장치는 자율주행 차량(autonomous vehicle) 또는 첨단 운전자 지원 시스템(advanced driver assistance system)을 지원하는 차량에 포함되는,
전자 장치.The method of claim 7,
The electronic device is included in an autonomous vehicle or a vehicle supporting an advanced driver assistance system,
Electronic devices.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180109416A KR102104298B1 (en) | 2018-09-13 | 2018-09-13 | A method for determinig safety of data and an electronic device performing the method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180109416A KR102104298B1 (en) | 2018-09-13 | 2018-09-13 | A method for determinig safety of data and an electronic device performing the method |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200030770A KR20200030770A (en) | 2020-03-23 |
KR102104298B1 true KR102104298B1 (en) | 2020-04-24 |
Family
ID=69998462
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180109416A KR102104298B1 (en) | 2018-09-13 | 2018-09-13 | A method for determinig safety of data and an electronic device performing the method |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102104298B1 (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101806719B1 (en) * | 2016-07-04 | 2017-12-08 | 현대오트론 주식회사 | The electronic control unit possible auto setting of memory area according to secure boot and method for secure boot using the same |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101953908B1 (en) * | 2017-01-06 | 2019-03-05 | 주식회사 아이서티 | Security System and Method of Embeded software in Vehicle electric device |
-
2018
- 2018-09-13 KR KR1020180109416A patent/KR102104298B1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101806719B1 (en) * | 2016-07-04 | 2017-12-08 | 현대오트론 주식회사 | The electronic control unit possible auto setting of memory area according to secure boot and method for secure boot using the same |
Also Published As
Publication number | Publication date |
---|---|
KR20200030770A (en) | 2020-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10336268B2 (en) | Method and apparatus for operating a vehicle | |
US11273848B2 (en) | Method, device and apparatus for generating a defensive driving strategy, and storage medium | |
US9552523B2 (en) | Apparatus and method for generating virtual lane, and system for controlling lane keeping of vehicle with the apparatus | |
CN107571868B (en) | Method for carrying out an automated intervention for vehicle guidance of a vehicle | |
KR101340779B1 (en) | Method for setting basis following position and lane keeping control system | |
US9428219B2 (en) | Method and device for assisting a driver of a vehicle in a bottleneck | |
US9925963B2 (en) | Autonomous emergency braking system and method of controlling the same | |
CN109101011A (en) | Sensor monitoring method, device, equipment and the storage medium of automatic driving vehicle | |
JP2017524587A (en) | Method and apparatus for monitoring a vehicle system that performs at least a semi-automated driving function | |
CN109795508B (en) | Safe driving control method and device | |
US20230054263A1 (en) | Obstacle avoidance control method and device, advanced driver-assistance system, vehicle, and medium | |
KR102104298B1 (en) | A method for determinig safety of data and an electronic device performing the method | |
US20230286478A1 (en) | Travel control device and travel control method | |
CN110879560B (en) | Method, apparatus, device and storage medium for controlling vehicle | |
US11753024B1 (en) | Anticipatory vehicle headlight actuation | |
KR102115436B1 (en) | Method for managing data and memory wrapper performing the method | |
JP6400249B1 (en) | Operation control system and operation support method | |
US11618461B2 (en) | Implementing safety measures in applications | |
EP3901724A1 (en) | System and method for improved aircraft and uam control path accuracy including derivative segments control | |
KR102160256B1 (en) | Method for determinig functional safety of reset and an electronic device performing the method | |
JP7430259B2 (en) | electric power steering device | |
KR102160259B1 (en) | Method for determinig functional safety of clock and an electronic device performing the method | |
KR102156541B1 (en) | Method for determinig functional safety of timer and an electronic device performing the method | |
US11970165B2 (en) | Wireless terminal location information-based accident prevention device and method | |
KR102676463B1 (en) | Driver assistance system and driver assistance method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |