KR102064286B1 - 차량용 제어기, 그것의 데이터 통신 방법 및 그것의 난수 발생 방법 - Google Patents

차량용 제어기, 그것의 데이터 통신 방법 및 그것의 난수 발생 방법 Download PDF

Info

Publication number
KR102064286B1
KR102064286B1 KR1020180094256A KR20180094256A KR102064286B1 KR 102064286 B1 KR102064286 B1 KR 102064286B1 KR 1020180094256 A KR1020180094256 A KR 1020180094256A KR 20180094256 A KR20180094256 A KR 20180094256A KR 102064286 B1 KR102064286 B1 KR 102064286B1
Authority
KR
South Korea
Prior art keywords
random number
data
random numbers
random
generating
Prior art date
Application number
KR1020180094256A
Other languages
English (en)
Inventor
김명관
Original Assignee
현대오트론 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 현대오트론 주식회사 filed Critical 현대오트론 주식회사
Priority to KR1020180094256A priority Critical patent/KR102064286B1/ko
Application granted granted Critical
Publication of KR102064286B1 publication Critical patent/KR102064286B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Traffic Control Systems (AREA)

Abstract

본 발명에 따른 차량용 제어기의 난수 발생 방법은, 차량 내의 적어도 하나의 센서로부터 센서 정보를 획득하는 단계, 상기 센서 정보를 이용하여 복수의 난수들을 발생하는 단계, 및 상기 복수의 난수들을 SRAM(synchronous random access memory)에 저장하는 단계를 포함할 수 있다.

Description

차량용 제어기, 그것의 데이터 통신 방법 및 그것의 난수 발생 방법{CONTROLLER FOR VEHICLE, DATA COMMUNICATION METHOD AND RANDOM NUMBER GENERATING METHOD THEREOF}
본 발명은 차량용 제어기, 그것의 데이터 통신 방법 및 그것의 난수 발생 방법에 관한 것이다.
HSM(hardware security module)은 안전한 데이터 저장소 및 암호 연산을 위하여 오래 전부터 사용되어 왔다. 예를 들어, 은행권에서는 내부 고객 관리를 위한 데이터 베이스나 인터넷 뱅킹의 사용자 계정 등 여러 서비스에서 암호화 기능이 사용되는데, 해당 서비스마다 암호화 키를 저장하고 관리할 경우, 위험에 노출되기 쉽다. 따라서, HSM을 도입하여 모든 키를 HSM 내부에 저장하고 외부로 꺼내지 않음으로써 키 유출을 방지한다. 암호화나 복호화가 필요한 서비스는 HSM에 해당 기능을 의뢰하고 HSM은 응답하는 형태로 동작한다. 차량용 HSM(Automotive HSM)도 상기한 바와 동일한 기능을 수행한다. 차이가 있다면 전통적인 HSM이 PIC 슬롯에 삽입되는 형태 또는 어플라이언스 형태였다면 차량용 HSM은 On-chip 형태로 ECU(electronic control unit)에 탑재된다. 이로써 안전한 저장소 이외에 고속 데이터 처리가 요구되는 암호 연산에 대하여 하드웨어 가속(hardware acceleration) 기능까지 제공할 수 있다.
한국공개특허: 10-2018-0051800, 공개일: 2018년 05월 17일, 제목: 진성 난수 발생기
본 발명의 목적은 신규한 난수 발생 방법을 갖는 차량용 제어기, 그것의 통신 방법 및 그것의 난수 발생 방법을 제공하는데 있다.
본 발명의 실시 예에 따른 차량용 제어기의 난수 발생 방법은: 차량 내의 적어도 하나의 센서로부터 센서 정보를 획득하는 단계; 상기 센서 정보를 이용하여 복수의 난수들을 발생하는 단계; 및 상기 복수의 난수들을 SRAM(synchronous random access memory)에 저장하는 단계를 포함할 수 있다.
실시 예에 있어서, 상기 적어도 하나의 센서는 카메라 모듈을 포함할 수 있다.
실시 예에 있어서, 상기 센서 정보는 상기 카메라 모듈에 의해 획득된 영상 데이터이고, 상기 복수의 난수들을 발생하는 단계는 RGB 픽셀들의 평균 밝기 데이터를 이용하여 난수를 발생하는 단계를 포함할 수 있다.
실시 예에 있어서, 상기 복수의 난수를 발생하는 단계는, 복수의 프레임들의 각 라인에서 선택된 픽셀의 평균 밝기 데이터에서 LSB(least significant bit)를 XOR 연산함으로써 최종 데이터를 출력하는 단계; 및 상기 복수의 프레임들의 각각으로부터 출력된 최종 데이터를 이용하여 상기 난수를 발생하는 단계를 포함할 수 있다.
실시 예에 있어서, 상기 복수의 난수들을 상기 SRAM에 저장하는 단계는, 상기 복수의 난수들의 각각에 대응하는 숫자 라벨과 함께 상기 복수의 난수들을 저장하는 단계를 더 포함할 수 있다.
실시 예에 있어서, 상기 적어도 하나의 센서는 라이다(LIDAR) 센서를 포함할 수 있다.
실시 예에 있어서, 상기 센서 정보는 상기 라이다 센서에서 레이더 신호를 발생하고 목표물에 반사된 레이더 신호를 수신할 때까지의 ToF(time of flight) 시간 정보를 포함하고, 상기 복수의 난수들을 발생하는 단계는 상기 ToF 시간 정보를 이용하여 난수를 발생하는 단계를 포함할 수 있다.
실시 예에 있어서, 상기 복수의 난수들을 발생하는 단계는, 상기 레이더 신호의 발생에 대응하는 시작 신호에 응답하여 카운터를 동작시키는 단계; 및 상기 반사된 레이더 신호의 수신에 대응하는 종료 신호에 응답하여 카운터 동작을 완료하는 단계를 포함할 수 있다.
실시 에에 있어서, 상기 시작 신호는 파형 발생기에서 상기 레이더 신호가 발생될 때 출력되고, 상기 종료 신호는 저잡음 증폭기에서 상기 반사된 레이더 신호를 수신할 때 출력되는 것을 특징으로 한다.
실시 예에 있어서, 상기 SRAM에 저장된 복수의 난수들을 차량 내의 복수의 제어기들로 공유하는 단계를 더 포함할 수 있다.
본 발명의 실시 예에 따른 차량용 제어기의 데이터 통신 방법은: OTA(over the air) 데이터를 암호화시키는 단계; 및 상기 암호화된 데이터와 제 1 숫자 라벨을 함께 전송하는 단계를 포함하고, 상기 OTA 암호화시키는 단계는, 제 1 세션키를 수신하고 AES(advanced encryption standard) 알고리즘에 따라 상기 OTA 데이터를 암호화시키는 단계를 포함하고, 상기 제 1 숫자 라벨은 SRAM(synchronous random access memory)에 저장된 난수 뱅크로부터 출력되는 제 1 난수에 대응하는 값인 것을 특징으로 한다.
실시 예에 있어서, 상기 제 1 세션키는 고정된 키 값과 상기 난수 뱅크로부터 상기 제 1 난수를 수신하고 Hash 알고리즘에 의해 발생되는 것을 특징으로 한다.
실시 예에 있어서, 상기 SRAM는 난수 뱅크에 복수의 난수들을 저장하는 것을 특징으로 한다.
실시 예에 있어서, 상기 복수의 난수들은 적어도 하나의 센서로부터 획득된 센서 정보로부터 발생되는 것을 특징으로 한다.
실시 예에 있어서, 제 2 숫자 라벨과 함께 암호 데이터를 수신하는 단계; 및 상기 암호 데이터를 제 2 세션키를 이용하여 상기 AES 알고리즘에 따라 복호화 시키는 단계를 더 포함하고, 상기 제 2 숫자 라벨에 대응하는 상기 난수 뱅크로부터 출력되는 제 2 난수에 대응하는 값이고, 상기 제 2 세션키는 고정된 키값과 제 2 난수를 수신하고 Hash 알고리즘에 의해 발생되는 것을 특징으로 한다.
실시 예에 있어서, 상기 복호화된 데이터를 OTA 데이터 저장 장치에 저장하는 단계를 더 포함한다.
본 발명의 실시 예에 따른 차량용 제어기는, 세션 키를 수신하고 AES(advanced encryption standard) 알고리즘에 따라 데이터를 암호화 혹은 복호화 시키는 암호화기; 고정된 키값과 난수를 수신하고 Hash 알고리즘에 따라 상기 세션 키를 발생하는 해쉬 함수; 및 상기 난수를 출력하는 난수 뱅크를 저장하는 SRAM(synchronous random access memory)를 포함하고, 상기 난수 뱅크는 적어도 하나의 센서로부터 획득된 센서 정보를 이용하여 발생된 복수의 난수들을 포함하는 것을 특징으로 한다.
실시 예에 있어서, 상기 고정된 키 값을 저장하는 플래시 메모리를 더 포함할 수 있다.
실시 예에 있어서, 상기 암호화기는 상기 난수에 대응하는 숫자 라벨을 출력하고, 상기 난수 뱅크는 상기 복수의 난수들과 상기 복수의 난수들에 대응하는 숫자 라벨들을 포함할 수 있다.
실시 예에 있어서, 상기 데이터는 OTA(over the air) 데이터와 관련된 데이터인 것을 특징으로 한다.
본 발명의 실시 예에 따른 차량용 제어기, 그것의 데이터 통신 방법 및 그것의 난수 발생 방법은 비규칙적/비주기적인 센서 정보를 근거로 난수를 발생함으로써, 키에 대한 보안 성능을 향상시킬 수 있다.
이하에 첨부되는 도면들은 본 실시 예에 관한 이해를 돕기 위한 것으로, 상세한 설명과 함께 실시 예들을 제공한다. 다만, 본 실시예의 기술적 특징이 특정 도면에 한정되는 것은 아니며, 각 도면에서 개시하는 특징들은 서로 조합되어 새로운 실시 예로 구성될 수 있다.
도 1은 본 발명의 실시 예에 따른 하드웨어 보안 모듈을 예시적으로 보여주는 도면이다.
도 2는 본 발명의 실시 예에 따른 난수 발생의 소스가 되는 전방 카메라 영상을 예시적으로 보여주는 도면이다.
도 3은 본 발명의 실시 예에 따른 카메라 영상의 데이터로부터 최종 데이터 비트를 발생하는 방법을 예시적으로 보여주는 도면이다.
도 4는 도 3에 도시된 최종 데이터 비트를 이용하여 N 비트의 난수를 발생하는 과정을 예시적으로 보여주는 도면이다.
도 5는 본 발명의 실시 예에 따른 M개의 난수를 저장하는 과정을 예시적으로 보여주는 도면이다.
도 6은 카메라 모듈에서 발생된 난수를 차량 내의 제어기에서 공유하는 과정을 예시적으로 보여주는 도면이다.
도 7은 본 발명의 실시 예에 따른 차량용 데이터 암호 통신 방법을 예시적으로 보여주는 도면이다.
도 8은 본 발명의 실시 예에 따른 라이다 센서(400)를 예시적으로 보여주는 도면이다.
도 9는 본 발명의 실시 예에 따른 RF 송수신기(410)를 예시적으로 보여주는 도면이다.
도 10은 본 발명의 실시 예에 따른 라이다 센서로부터 발생된 난수 뱅크를 예시적으로 보여주는 도면이다.
도 11은 본 발명의 실시 예에 따른 난수 발생 방법을 예시적으로 보여주는 흐름도이다.
아래에서는 도면들을 이용하여 본 발명의 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있을 정도로 본 발명의 내용을 명확하고 상세하게 기재할 것이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는바, 특정 실시 예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 제 1, 제 2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다.
상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로 사용될 수 있다. 예를 들어, 본 발명의 권리 범위로부터 이탈되지 않은 채 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 명명될 수 있다. 어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 혹은 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 혹은 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다. 본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 출원에서, "포함하다" 혹은 "가지다" 등의 용어는 실시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 혹은 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 혹은 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 혹은 이들을 조합한 것들의 존재 혹은 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미이다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미인 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
도 1은 본 발명의 실시 예에 따른 하드웨어 보안 모듈을 예시적으로 보여주는 도면이다. 도 1을 참조하면, 하드웨어 보안 모듈(HSM; 100)은 CPU(central processing unit; 110), SRAM(synchronous random access memory; 120), ROM(read only memory; 130), 암호화기(AES(advanced encryption standard; 140), 난수 발생기(RNG, 150), 및 해쉬 함수(160)를 포함할 수 있다.
CPU(110)는 HSM(100)의 전반적인 동작을 제어하도록 구현될 수 있다. CPU(110)는 평문 데이터(plaintext data)에 대한 암호화 동작 혹은 암호 데이터(ciphertext data)에 대한 복호화 동작을 수행하도록 내부의 구성들을 제어할 수 있다.
SRAM(120)는 CPU(110)의 제어에 필요한 데이터 혹은 발생된 데이터를 임시적으로 저장하도록 구현될 수 있다.
ROM(read only memory; 130)는 HSM(100)의 부팅에 필요한 코드 데이터를 저장하거나, HSM(100)의 동작과 관련된 코드 데이터를 저장하도록 구현될 수 있다.
암호화기(140)는 세션 키(session key)를 수신하고, 타겟 데이터를 암호 알고리즘에 따라 암호화/복호화 하도록 구현될 수 있다. 실시 예에 있어서, 암호 알고리즘은 AES(advanced encryption standard) 알고리즘일 수 있다. 한편, 본 발명의 암호 알고리즘이 AES에 제한되지 않는다고 이해되어야 할 것이다.
난수 발생기(RNG, 150)는 난수를 발생하도록 구현될 수 있다. 실시 예에 있어서, 난수는 차량 내의 센서 정보를 근거로 발생될 수 있다. 예를 들어, 난수는 차량 내에 탑재된 카메라 혹은 라이다(LIDAR; light detection and ranging) 센서에 관련된 정보로부터 발생될 수 있다. 한편, 본 발명의 난수 발생이 여기에 제한되지 않는다고 이해되어야 할 것이다. 다른 실시 예에 있어서, 난수는 적어도 하나의 차량 구동 정보(엔진, 모터, 를 근거로 발생될 수도 있다.
해쉬 함수(160)는 고정된 키값과 난수를 수신하고, 해쉬 알고리즘에 따라 세션 키를 발생하도록 구현될 수 있다.
본 발명의 실시 예에 따른 하드웨어 보안 모듈(100)은 난수에 대응하는 세션 키를 이용하여 암/복호화를 수행함으로써, 통신 데이터의 보안을 향상시킬 수 있다.
또한, 본 발명의 실시 예에 따른 하드웨어 보안 모듈(100)은 비규칙적/비주기적인 센서 정보를 근거로 난수를 발생함으로써, 키에 대한 보안 성능을 향상시킬 수 있다.
도 2는 본 발명의 실시 예에 따른 난수 발생의 소스가 되는 전방 카메라 영상을 예시적으로 보여주는 도면이다. 도 2를 참조하면, 차량 내의 전방 카메라는 A x B 해상도의 영상을 촬상하도록 구현될 수 있다. 이 때, A x B 픽셀들의 각각에 R, G, B 데이터가 획득될 수 있다.
도 3은 본 발명의 실시 예에 따른 카메라 영상의 데이터로부터 최종 데이터 비트를 발생하는 방법을 예시적으로 보여주는 도면이다. 도 2 및 도 3을 참조하면, 각 라인에 대응하는 픽셀의 RGB 평균 밝기(8 비트)의 최하위비트(LSB; least significant bit)를 순차적으로 XOR 연산함으로써, 최종적 데이터 비트가 발생될 수 있다. 한편, 도 3에서는 최종 데이터 비트를 발생하기 위하여 XOR 연산을 수행하였지만 여기에 제한되지 않는다고 이해되어야 할 것이다.
도 4는 도 3에 도시된 최종 데이터 비트를 이용하여 N(N는 2 이상의 정수) 비트의 난수를 발생하는 과정을 예시적으로 보여주는 도면이다. 도 3에 도시된 최종 데이터 비트는 각 프레임에 대응하는 비트값이다. 따라서, N 비트의 난수는 N개의 프레임으로부터 발생된 최종 데이터 비트의 집합으로 구성될 수 있다.
도 5는 본 발명의 실시 예에 따른 M(M은 2이상의 정수)개의 난수를 저장하는 과정을 예시적으로 보여주는 도면이다. 차량에 시동이 걸리면, IGN(시동) 전원이 카메라 모듈(200)에 인가될 수 있다. 카메라 모듈(200) 내의 ISP(image signal processor; 220)는 영상 데이터를 이용하여 N 비트의 난수를 M개 발생할 수 있다. ISP(220)는 SRAM에 제어기(240)에 M개의 난수를 저장하도록 요청한다. SRAM 제어기(115)는 M개 발생된 N 비트의 난수에 숫자 라벨을 붙여서 SRAM(120)에 저장시킬 수 있다. 차량의 시동이 걸릴 때마다, 차량 내의 카메라 모듈(200)은 N 비트의 난수 M개가 새롭게 발생 및 저장될 수 있다.
도 6은 카메라 모듈에서 발생된 난수를 차량 내의 제어기에서 공유하는 과정을 예시적으로 보여주는 도면이다. 도 6을 참조하면, 도 5에서 설명된 숫자 라벨이 붙은 N 비트의 난수 M개가 차량 내의 모든 제어기들(301, 302, 303, … , 30P)에 공유될 수 있다. 이때 카메라 모듈(200)이 각 제어기에 난수를 송신하는 시점은 발생된 난수 중에서 한 개를 선택하여 결정될 수 있다. 이로써 외부의 공격자가 송신하는 시점에 대하여 예측하지 못하게 할 수 있다. 제어기들(301 ~ 30P) 의 각각은 수신된 숫자 라벨이 붙은 N 비트의 난수 M개를 각각의 SRAM에 저장할 수 있다.
도 7은 본 발명의 실시 예에 따른 차량용 데이터 암호 통신 방법을 예시적으로 보여주는 도면이다. 도 1 내지 도 7을 참조하면, 차량용 데이터 암호 통신 방법은, 암호 데이터와 숫자 라벨을 송수신할 수 있다.
아래에서는 OTA(over the air) 데이터(혹은 무선 데이터)를 어느 하나의 제어기(송신 제어기)에서 다른 제어기(수신 제어기)로 전송하는 과정을 설명하겠다. 도 6에서 설명된 바와 같이 송신하는 제어기 및 수신하는 제어기의 SRAM에는 공유된 난수 테이블이 저장되어 있다. 한편, 송신 제어기 및 수신 제어기 모두 도 1에 도시된 하드웨어 보안 모듈(HSM)을 구비할 수 있다.
송신 제어기에서 전송하고자 하는 타겟 데이터는 암호화기(140; 도 1 참조)에서 암호화될 수 있다. 암호화기(140)는 세션키를 수신하고 AES 알고리즘에 따라 타겟 데이터를 암호화시킬 수 있다. 세션키는 해쉬함수(160, 도 1 참조)에서 발생될 수 있다. 해쉬함수(160)는 고정된 키값과 난수를 수신하고 해쉬 알고리즘에 따라 대응하는 세션키를 발생할 수 있다. 여기서 고정된 키값은 노어 플래시 메모리에 저장된 값일 수 있다. 실시 예에 있어서, 고정된 키값의 크기는 128 비트일 수 있다. 한편, 고정된 키값의 크기가 여기에 제한되지 않는다고 이해되어야 할 것이다. 또한, 난수는 SRAM에 저장된 난수 테이블 중에서 어느 하나일 수 있다. 암호화 과정에 사용된 난수에 대응하는 숫자 라벨은, 암호 데이터와 함께 수신 제어기로 전송될 수 있다.
수신 제어기에서 암호 데이터 및 숫자 라벨을 수신하면, 숫자 라벨에 대응하는 난수가 SRAM으로부터 읽혀진다. 또한 노아 플래시 메모리로부터 고정된 키값이 읽혀진다. 해쉬 알고리즘에 따라 난수 및 고정된 키값에 대응하는 세션키가 발생될 수 있다. 세션키를 이용하여 암호화기에서 암호 데이터가 복호화 될 수 있다. 복호화 된 데이터는 타겟 데이터로써 OTA 데이터 저장 장치에 저장될 수 있다.
한편, 도 2 내지 도 6에서 난수는 차량 내의 카메라 모듈(200)에서 발생되었다. 하지만, 본 발명의 난수가 카메라 모듈에서만 발생된다고 제한될 필요는 없다. 본 발명의 난수는 다양한 종류의 센서로부터 발생될 수 있다. 예를 들어, 본 발명의 난수는 라이다 센서로부터 발생될 수도 있다.
도 8은 본 발명의 실시 예에 따른 라이다 센서(400)를 예시적으로 보여주는 도면이다. 도 8를 참조하면, 라이다 센서(400)는 RF(radio frequency) 송수신기(410), DSP(digital signal processor; 420), CAN(controller area network) 인터페이스(430), 및 MCU(microcontroller unit; 440)를 포함할 수 있다.
RF 송수신기(410)는 송신 안테나를 통하여 전자기파를 송신하고, 수신 안테나를 통하여 반사된 전자기파를 수신하도록 구현될 수 있다. 또한, RF 송수신기(410)는 전자기파의 송수신 시간에 대응하는 난수를 발생하도록 구현될 수 있다.
DSP(420)는 목표물까지의 송수신 시간을 이용하여 물체 인식, 거리, 속도, 각도 계산 등을 수행하도록 구현될 수 있다.
CAN 인터페이스(430)는 라이다 센서(400)의 데이터를 외부 장치로 CAN 통신 방식에 따라 송신하거나, 외부 장치로부터 CAN 통신 방식에 따라 데이터를 수신하도록 구현될 수 있다.
MCU(440)는 라이다 센서(100)의 전반적인 동작을 제어하도록 구현될 수 있다.
도 9는 본 발명의 실시 예에 따른 RF 송수신기(410)를 예시적으로 보여주는 도면이다. 도 9를 참조하면, RF 송수신기(410)는 파형 발생기(411), 전력 증폭기(412), 저잡음 증폭기(LNA; 414), 혼합기(Mixer; 415), 저대역 필터(LPF; 416), 아날로그 디지털 변환기(ADC; 418), 및 카운터(419)를 포함할 수 있다.
파형 발생기(411)에서 발생된 레이더 신호는 전력 증폭기(412)에 의해 증폭되고, 증폭된 신호는 송신(Tx) 안테나를 통하여 목표물에 송신될 수 있다. 목표물에서 반사된 신호는 수신(Rx) 안테나를 통하여 저잡음 증폭기(414)에서 증폭되고, 이후 혼합기(415)에서 송신된 신호와 수신된 신호가 혼합될 수 있다. 혼합된 신호는 저대역 필터(416)를 통해 아날로그 디지털 변환기(418)로 수신될 수 있다. 아날로그 디지털 변환기(418)는 수신된 신호에 대응하는 디지털 값을 출력할 수 있다.
본 발명의 RF 송수신기(410)는 레이더 신호의 송수신 시간을 카운팅함으로써 난수를 발생할 수 있다. 레이더 송신 신호의 발생과 동시에 파형 발생기(411)는 카운터(419)에 시작 신호를 전송할 수 있다. 저대역 필터(416)는 혼합기(415)로부터 출력 신호를 수신과 동시에 종료 신호를 카운터(419)에 전송할 수 있다. 카운터(419)는 시작 신호에 응답하여 카운팅을 시작하고, 종료 신호에 응답하여 카운팅을 종료할 수 있다. 이때, 종료될 때 카운팅된 값이 난수로 사용될 수 있다.
도 10은 본 발명의 실시 예에 따른 라이다 센서로부터 발생된 난수 뱅크를 예시적으로 보여주는 도면이다. 도 10을 참조하면, 레이다 신호의 발생 및 수신할 때까지의 카운트 값이 난수로 난수 뱅크에 저장될 수 있다. 즉, 레이다 신호가 타겟 물체에 반사되어 되돌아 오는 시간(ToF)에 대응하는 난수 값이 난수 뱅크에 저장될 수 있다. 난수 뱅크에는 이러한 여러 개의 난수 값이 저장되어 있다.
도 11은 본 발명의 실시 예에 따른 난수 발생 방법을 예시적으로 보여주는 흐름도이다. 도 1 내지 도 11을 참조하면, 난수 발생 방법은 다음과 같이 진행될 수 있다.
차량 내의 적어도 하나의 센서로부터 센서 정보가 획득될 수 있다(S110). 실시 예에 있어서, 센서 정보는 도 2에 도시된 카메라 모듈(200)에서는 촬상된 이미지 데이터일 수 있다. 다른 실시 예에 있어서, 센서 정보는 도 10에 도시된 라이다 센서(400)의 ToF 시간 정보일 수 있다. 센서 정보를 이용하여 난수가 발생될 수 있다(S120). 카메라 모듈(200)의 경우, 사전에 결정된 방법에 따라 각 프레임에서 발생된 비트를 조합함으로써 난수가 발생될 수 있다. 라이다 센서(400)의 경우, ToF 시간에 대응하는 카운트 값을 이용하여 난수가 발생될 수 있다. 이후 발생된 난수는 난수 뱅크 형태로 숫자 라벨과 함께 SRAM에 저장될 수 있다(S130). 이러한 난수 뱅크는 차량 내의 모든 제어기에서 공유될 수 있다.
본 발명에 따른 단계들 및/또는 동작들은 기술분야의 통상의 기술자에 의해 이해될 수 있는 것과 같이, 다른 순서로, 또는 병렬적으로, 또는 다른 에포크(epoch) 등을 위해 다른 실시 예들에서 동시에 일어날 수 있다.
실시 예에 따라서는, 단계들 및/또는 동작들의 일부 또는 전부는 하나 이상의 비-일시적 컴퓨터-판독가능 매체에 저장된 명령, 프로그램, 상호작용 데이터 구조(interactive data structure), 클라이언트 및/또는 서버를 구동하는 하나 이상의 프로세서들을 사용하여 적어도 일부가 구현되거나 또는 수행될 수 있다. 하나 이상의 비-일시적 컴퓨터-판독가능 매체는 예시적으로 소프트웨어, 펌웨어, 하드웨어, 및/또는 그것들의 어떠한 조합일 수 있다. 또한, 본 명세서에서 논의된 "모듈"의 기능은 소프트웨어, 펌웨어, 하드웨어, 및/또는 그것들의 어떠한 조합으로 구현될 수 있다.
본 발명의 실시 예들의 하나 이상의 동작들/단계들/모듈들을 구현/수행하기 위한 하나 이상의 비-일시적 컴퓨터-판독가능 매체 및/또는 수단들은 ASICs(application-specific integrated circuits), 표준 집적 회로들, 마이크로 컨트롤러를 포함하는, 적절한 명령들을 수행하는 컨트롤러, 및/또는 임베디드 컨트롤러, FPGAs(field-programmable gate arrays), CPLDs(complex programmable logic devices), 및 그와 같은 것들을 포함할 수 있지만, 여기에 한정되지는 않는다.
한편, 상술 된 본 발명의 내용은 발명을 실시하기 위한 구체적인 실시 예들에 불과하다. 본 발명은 구체적이고 실제로 이용할 수 있는 수단 자체뿐 아니라, 장차 기술로 활용할 수 있는 추상적이고 개념적인 아이디어인 기술적 사상을 포함할 것이다.
100: 하드웨어 보안 모듈
140: 암호화기
150: 난수 발생기
160: 해쉬 함수
120: SRAM
200: 카메라 모듈
400: 라이다 센서
410: RF 송수신기
419: 카운터

Claims (20)

  1. 차량용 제어기의 난수 발생 방법에 대하여:
    차량 내의 적어도 하나의 센서로부터 센서 정보를 획득하는 단계;
    상기 센서 정보를 이용하여 복수의 난수들을 발생하는 단계; 및
    상기 복수의 난수들을 SRAM(synchronous random access memory)에 저장하는 단계를 포함하고,
    상기 적어도 하나의 센서는 카메라 모듈을 포함하고,
    상기 센서 정보는 상기 카메라 모듈에 의해 획득된 영상 데이터이고,
    상기 복수의 난수들을 발생하는 단계는 상기 영상 데이터로부터 획득된 복수의 프레임들의 RGB 픽셀들의 평균 밝기 데이터를 이용하여 난수를 발생하는 단계를 포함하는 방법.
  2. 삭제
  3. 삭제
  4. 제 1 항에 있어서,
    상기 복수의 난수들을 발생하는 단계는,
    복수의 프레임들의 각 라인에서 선택된 픽셀의 평균 밝기 데이터에서 LSB(least significant bit)를 XOR 연산함으로써 최종 데이터를 출력하는 단계; 및
    상기 복수의 프레임들의 각각으로부터 출력된 최종 데이터를 이용하여 상기 난수를 발생하는 단계를 포함하는 방법.
  5. 제 1 항에 있어서,
    상기 복수의 난수들을 상기 SRAM에 저장하는 단계는,
    상기 복수의 난수들의 각각에 대응하는 숫자 라벨과 함께 상기 복수의 난수들을 저장하는 단계를 더 포함하는 방법.
  6. 제 1 항에 있어서,
    상기 적어도 하나의 센서는 라이다(LIDAR) 센서를 포함하는 방법
  7. 제 6 항에 있어서,
    상기 센서 정보는 상기 라이다 센서에서 레이더 신호를 발생하고 목표물에 반사된 레이더 신호를 수신할 때까지의 ToF(time of flight) 시간 정보를 포함하고,
    상기 복수의 난수들을 발생하는 단계는 상기 ToF 시간 정보를 이용하여 난수를 발생하는 단계를 포함하는 방법.
  8. 제 7 항에 있어서,
    상기 복수의 난수들을 발생하는 단계는,
    상기 레이더 신호의 발생에 대응하는 시작 신호에 응답하여 카운터를 동작시키는 단계; 및
    상기 반사된 레이더 신호의 수신에 대응하는 종료 신호에 응답하여 카운터 동작을 완료하는 단계를 포함하는 방법.
  9. 제 8 항에 있어서,
    상기 시작 신호는 파형 발생기에서 상기 레이더 신호가 발생될 때 출력되고,
    상기 종료 신호는 저잡음 증폭기에서 상기 반사된 레이더 신호를 수신할 때 출력되는 것을 특징으로 하는 방법.
  10. 제 1 항에 있어서,
    상기 SRAM에 저장된 복수의 난수들을 차량 내의 복수의 제어기들로 공유하는 단계를 더 포함하는 방법.
  11. 차량용 제어기의 데이터 통신 방법에 있어서:
    OTA(over the air) 데이터를 암호화시키는 단계; 및
    상기 암호화된 데이터와 제 1 숫자 라벨을 함께 전송하는 단계를 포함하고,
    상기 OTA 암호화시키는 단계는,
    제 1 세션키를 수신하고 AES(advanced encryption standard) 알고리즘에 따라 상기 OTA 데이터를 암호화시키는 단계를 포함하고,
    상기 제 1 숫자 라벨은 SRAM(synchronous random access memory)에 저장된 난수 뱅크로부터 출력되는 제 1 난수에 대응하는 값이고,
    상기 SRAM는 난수 뱅크에 복수의 난수들을 저장하고,
    상기 복수의 난수들은 적어도 하나의 센서로부터 획득된 센서 정보로부터 발생되고,
    상기 적어도 하나의 센서는 카메라 모듈을 포함하고,
    상기 센서 정보는 상기 카메라 모듈에 의해 획득된 영상 데이터이고,
    상기 OTA 암호화시키는 단계는 상기 영상 데이터로부터 획득된 복수의 프레임들의 RGB 픽셀들의 평균 밝기 데이터를 이용하여 난수를 발생하는 단계를 포함하는 것을 특징으로 하는 방법.
  12. 제 11 항에 있어서,
    상기 제 1 세션키는 고정된 키 값과 상기 난수 뱅크로부터 상기 제 1 난수를 수신하고 Hash 알고리즘에 의해 발생되는 것을 특징으로 하는 방법.
  13. 삭제
  14. 삭제
  15. 제 11 항에 있어서,
    제 2 숫자 라벨과 함께 암호 데이터를 수신하는 단계; 및
    상기 암호 데이터를 제 2 세션키를 이용하여 상기 AES 알고리즘에 따라 복호화 시키는 단계를 더 포함하고,
    상기 제 2 숫자 라벨에 대응하는 상기 난수 뱅크로부터 출력되는 제 2 난수에 대응하는 값이고,
    상기 제 2 세션키는 고정된 키값과 제 2 난수를 수신하고 Hash 알고리즘에 의해 발생되는 것을 특징으로 하는 방법.
  16. 제 15 항에 있어서,
    상기 복호화된 데이터를 OTA 데이터 저장 장치에 저장하는 단계를 더 포함하는 방법.
  17. 세션 키를 수신하고 AES(advanced encryption standard) 알고리즘에 따라 데이터를 암호화 혹은 복호화 시키는 암호화기;
    고정된 키값과 난수를 수신하고 Hash 알고리즘에 따라 상기 세션 키를 발생하는 해쉬 함수; 및
    상기 난수를 출력하는 난수 뱅크를 저장하는 SRAM(synchronous random access memory)를 포함하고,
    상기 난수 뱅크는 적어도 하나의 센서로부터 획득된 센서 정보를 이용하여 발생된 복수의 난수들을 포함하고,
    상기 적어도 하나의 센서는 카메라 모듈을 포함하고,
    상기 센서 정보는 상기 카메라 모듈에 의해 획득된 영상 데이터이고,
    상기 영상 데이터를 이용하여 난수를 발생하는 난수 발생기를 더 포함하고,
    상기 난수 발생기는,
    상기 영상 데이터로부터 획득된 복수의 프레임들의 RGB 픽셀들의 평균 밝기 데이터를 이용하여 난수를 발생하는 것을 특징으로 하는 차량용 제어기.
  18. 제 17 항에 있어서,
    상기 고정된 키 값을 저장하는 플래시 메모리를 더 포함하는 차량용 제어기.
  19. 제 17 항에 있어서,
    상기 암호화기는 상기 난수에 대응하는 숫자 라벨을 출력하고,
    상기 난수 뱅크는 상기 복수의 난수들과 상기 복수의 난수들에 대응하는 숫자 라벨들을 포함하는 차량용 제어기.
  20. 제 17 항에 있어서,
    상기 데이터는 OTA(over the air) 데이터와 관련된 데이터인 것을 특징으로 하는 차량용 제어기.
KR1020180094256A 2018-08-13 2018-08-13 차량용 제어기, 그것의 데이터 통신 방법 및 그것의 난수 발생 방법 KR102064286B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180094256A KR102064286B1 (ko) 2018-08-13 2018-08-13 차량용 제어기, 그것의 데이터 통신 방법 및 그것의 난수 발생 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180094256A KR102064286B1 (ko) 2018-08-13 2018-08-13 차량용 제어기, 그것의 데이터 통신 방법 및 그것의 난수 발생 방법

Publications (1)

Publication Number Publication Date
KR102064286B1 true KR102064286B1 (ko) 2020-01-09

Family

ID=69154745

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180094256A KR102064286B1 (ko) 2018-08-13 2018-08-13 차량용 제어기, 그것의 데이터 통신 방법 및 그것의 난수 발생 방법

Country Status (1)

Country Link
KR (1) KR102064286B1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111984985A (zh) * 2020-08-28 2020-11-24 思尔芯(上海)信息科技有限公司 一种基于fpga硬件系统的hdl源码加密方法
CN112698810A (zh) * 2020-12-24 2021-04-23 上海贝岭股份有限公司 基于mcu的随机id的生成方法、装置、设备及介质
GB2607943A (en) * 2021-06-17 2022-12-21 Haldex Brake Prod Ab A method and system for seed generation
KR20240031780A (ko) 2022-09-01 2024-03-08 현대모비스 주식회사 차량용 네트워크 시스템 및 이의 난수 발생 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001051831A (ja) * 1999-08-10 2001-02-23 Sony Corp 乱数発生装置及び乱数発生方法
KR100628966B1 (ko) * 2005-08-25 2006-09-27 주식회사 비에스텍 보안 영상처리 시스템
JP2009031853A (ja) * 2007-07-24 2009-02-12 Nsk Ltd 車載用擬似乱数生成装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001051831A (ja) * 1999-08-10 2001-02-23 Sony Corp 乱数発生装置及び乱数発生方法
KR100628966B1 (ko) * 2005-08-25 2006-09-27 주식회사 비에스텍 보안 영상처리 시스템
JP2009031853A (ja) * 2007-07-24 2009-02-12 Nsk Ltd 車載用擬似乱数生成装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111984985A (zh) * 2020-08-28 2020-11-24 思尔芯(上海)信息科技有限公司 一种基于fpga硬件系统的hdl源码加密方法
CN112698810A (zh) * 2020-12-24 2021-04-23 上海贝岭股份有限公司 基于mcu的随机id的生成方法、装置、设备及介质
GB2607943A (en) * 2021-06-17 2022-12-21 Haldex Brake Prod Ab A method and system for seed generation
KR20240031780A (ko) 2022-09-01 2024-03-08 현대모비스 주식회사 차량용 네트워크 시스템 및 이의 난수 발생 방법

Similar Documents

Publication Publication Date Title
KR102064286B1 (ko) 차량용 제어기, 그것의 데이터 통신 방법 및 그것의 난수 발생 방법
CN106161034B (zh) 使用乘法秘密共享的rsa解密
Indesteege et al. A practical attack on KeeLoq
US20230096233A1 (en) Chosen-plaintext secure cryptosystem and authentication
US10560269B2 (en) Methods and systems for improved authenticated encryption in counter-based cipher systems
US20160366109A1 (en) Method and Apparatus for Validating a Transaction between a Plurality of Machines
EP2887574A1 (fr) Procédé de conversion d'un contenu à acces conditionnel
CN103368722A (zh) 增强蓝牙低功耗电路隐私性的系统和方法
CN101488214A (zh) 一种扩展防伪数字水印和电子印章信息量的方法
CN112487408B (zh) 用于车内ecu的安全访问方法、系统及存储介质
US11323254B2 (en) Device, system, and method of generating and handling cryptographic parameters
CN108306732A (zh) 一种随机数生成方法、相关设备及系统
WO2010132695A1 (en) System and method for securely identifying and authenticating devices in a symmetric encryption system
EP2301188A1 (fr) Procède d'authentification d'une entité auprès d'un vérifieur
US10686587B2 (en) Method for safeguarding the information security of data transmitted via a data bus and data bus system
CN112906037A (zh) 一种通信加密系统、方法及装置
TWI615731B (zh) 使用改良式鍵熵匯流排保護之電子裝置以及改良式鍵熵匯流排保護方法
CN106411501B (zh) 权限令牌生成方法、系统及其设备
CN108183799A (zh) 基于时间关联成像的混合密码方法
CN102598575A (zh) 用于对密码保护的有效数据单元加速解密的方法和系统
CN106302514A (zh) 存储器卡的动态加密方法和解密方法及其装置
US11165758B2 (en) Keystream generation using media data
US10237251B2 (en) Communication device and system, data processing method and method for securely exchanging data
CN115909560A (zh) 数据加密方法、解密方法及门锁系统
EP3454502B1 (en) Transceiver system

Legal Events

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