KR20190059003A - Key distribution processing apparatus for processing the distribution of a session key in an encrypted manner for the electronic control units mounted in a vehicle and operating method thereof - Google Patents
Key distribution processing apparatus for processing the distribution of a session key in an encrypted manner for the electronic control units mounted in a vehicle and operating method thereof Download PDFInfo
- Publication number
- KR20190059003A KR20190059003A KR1020170156499A KR20170156499A KR20190059003A KR 20190059003 A KR20190059003 A KR 20190059003A KR 1020170156499 A KR1020170156499 A KR 1020170156499A KR 20170156499 A KR20170156499 A KR 20170156499A KR 20190059003 A KR20190059003 A KR 20190059003A
- Authority
- KR
- South Korea
- Prior art keywords
- key
- dimensional coordinate
- ecus
- data
- master
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/84—Vehicles
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
Description
본 발명은 차량 내에 탑재되어 있는 ECU(Electronic Control Unit)들에 대해 세션 키의 배포를 처리하는 키 배포 처리 장치 및 그 동작 방법에 대한 것이다.The present invention relates to a key distribution processing device for processing distribution of a session key to ECUs (Electronic Control Units) mounted in a vehicle and an operation method thereof.
최근, 다양한 형태의 정보가 생성되고 유통됨에 따라, 해킹이나 잘못된 경로로의 정보 전달로 인해 중요한 정보가 제3자에게 노출되는 등의 피해가 발생하고 있다.Recently, as various types of information are generated and circulated, important information is exposed to a third party due to hacking or transmission of information to a wrong path.
특히, 정보의 전달과정에서 군사 정보나 개인 정보 등과 같은 중요 정보에 어떠한 방어 기제가 적용되어 있지 않은 상태에서 이러한 중요 정보가 우연히 제3자에게 전달된다면, 제3자가 손쉽게 중요 정보에 접근할 수 있어, 큰 피해가 발생할 수 있다.Particularly, in case that important information such as military information or personal information is not applied in the process of transmitting information, and if such important information is accidentally transmitted to a third party, a third party can easily access important information , Can cause great damage.
최근에는 이러한 중요 정보의 노출을 방지하기 위해, 중요 정보를 소정의 암호화 키를 이용하여 암호화한 후 이를 상대방에게 전달하는 기법 등이 도입되고 있다.Recently, in order to prevent exposure of such important information, a technique of encrypting important information by using a predetermined encryption key and transmitting it to the other party has been introduced.
일반적인 데이터 암호화 방식은 데이터 전송측과 데이터 수신측이 동일한 비밀 키를 공유하고 있다가, 데이터 전송측이 비밀 키로 데이터를 암호화해서 전송하면, 데이터 수신측이 동일한 비밀 키로 데이터를 복호화하는 방식이 사용된다.In a general data encryption scheme, when the data transmission side and the data reception side share the same secret key and the data transmission side encrypts and transmits the data with the secret key, a method in which the data reception side decrypts the data with the same secret key is used .
아울러, 최근에는 차량에 통신 모듈이 탑재되어, 네트워크를 통해 다른 차량들 또는 외부의 교통 시설들과 데이터를 송수신할 수 있는 커넥티드 카에 대한 연구가 지속되고 있다.In addition, recently, a communication module is mounted on a vehicle, and research on a connected car capable of transmitting and receiving data with other vehicles or external traffic facilities through a network is continuing.
이러한 네트워크 기능이 탑재된 차량들은 외부로부터 다양한 데이터를 수신하기 때문에 외부에서 인위적으로 차량의 제어 체계를 교란하기 위한 데이터를 전송하게 되면, 차량의 제어에 문제가 발생하게 되어 운전자에게 큰 위협이 될 수 있다.Since vehicles equipped with such a network function receive various data from outside, if data for disturbing the control system of the vehicle is transmitted artificially from the outside, a problem occurs in the control of the vehicle, which is a great threat to the driver have.
예컨대, 외부에서 차량에 탑재되어 있는 다양한 센서들에 대해 조작을 가하거나 차량의 ECU(Electronic Control Unit)들에 대한 공격을 가함으로써, 운전자가 원하지 않는 형태로 차량을 제어함에 따라 대형 교통사고를 유발하는 문제를 일으킬 수 있다.For example, by manipulating various sensors mounted on the vehicle from the outside or attacking the ECUs (Electronic Control Units) of the vehicle, the driver controls the vehicle in an undesired form, thereby causing a large traffic accident Can cause problems.
따라서, 차량 내부에 탑재되어 차량에 존재하는 다양한 부품들에 대한 제어를 수행하는 ECU들이 서로 데이터를 주고받을 때, 외부의 침입으로 인해 해당 데이터들이 노출되지 않도록 하기 위한 보안 기법에 대한 연구가 필요하다.Therefore, it is necessary to study a security technique for preventing data from being exposed due to an external intrusion when ECUs which are mounted inside the vehicle and control various components existing in the vehicle exchange data with each other .
본 발명은 차량 내에 탑재되어 있는 ECU(Electronic Control Unit)들이 데이터 통신시 암호화 통신을 수행할 수 있도록 지원하기 위한 세션 키를 라그랑주(Lagrange) 보간법에 기초한 암호화 방식으로 각 ECU들에 배포함으로써, 세션 키 교환시에 발생할 수 있는 키 노출 가능성을 최소화할 수 있는 키 배포 처리 장치 및 그 동작 방법을 제공하고자 한다.In the present invention, a session key for supporting the ECU (Electronic Control Units) mounted in a vehicle to perform encrypted communication in data communication is distributed to each ECU by an encryption method based on a Lagrange interpolation method, And to provide a key distribution processing apparatus and a method of operating the same that can minimize the possibility of key exposure that may occur during exchange.
본 발명의 일실시예에 따른 차량 내 탑재되어 있는 ECU(Electronic Control Unit)들에 대해 암호화된 방식으로 세션 키의 배포를 처리하는 키 배포 처리 장치는 차량 내에 탑재되어 있는 n(n은 2이상의 자연수)개의 ECU들과 네트워크로 연결됨에 따라 상기 n개의 ECU들에 대한 세션 키의 배포 명령이 인가되면, 상기 n개의 ECU들에 대해 마스터 키 데이터의 전송을 요청하는 키 전송 요청부, 상기 n개의 ECU들 각각이 서로 다른 마스터 키 데이터를 생성함에 따라 상기 n개의 ECU들로부터 서로 다른 n개의 마스터 키 데이터들이 전송되면, 상기 n개의 마스터 키 데이터들을 수신하는 마스터 키 데이터 수신부, 상기 n개의 마스터 키 데이터들 각각을 선정된 2차원 좌표 생성 함수에 입력으로 인가하여 n개의 2차원 좌표 값들을 생성하는 2차원 좌표 생성부, 상기 n개의 ECU들에 배포할 세션 키 K를 랜덤하게 생성하고, 상기 세션 키 K를 기초로 '(0, K)'에 해당되는 기본 2차원 좌표 값을 생성하는 기본 2차원 좌표 값 생성부, 상기 기본 2차원 좌표 값과 상기 n개의 2차원 좌표 값들을 기초로 라그랑주(Lagrange) 보간법을 이용하여 n차 다항식을 생성하는 다항식 생성부, 상기 n차 다항식에 대해 상기 n개의 2차원 좌표 값들에 포함되어 있지 않은 n개의 다른 입력 값들을 인가함으로써, 상기 n개의 2차원 좌표 값들과 일치하지 않는 n개의 다른 2차원 좌표 값들을 생성하는 추가 좌표 생성부 및 상기 n개의 ECU들 각각에 대해 상기 n개의 다른 2차원 좌표 값들을 모두 전송함으로써, 상기 세션 키 K의 배포를 완료하는 키 배포 처리부를 포함한다.A key distribution processing device for processing the distribution of a session key in an encrypted manner for ECUs (Electronic Control Units) mounted in a vehicle according to an embodiment of the present invention is a key distribution processing device for distributing a session key in an encrypted manner to n ), A key transmission request unit for requesting transmission of the master key data to the n ECUs when a distribution command of the session key to the n ECUs is received as the network is connected to the n ECUs, A master key data receiver for receiving the n master key data when n master key data are transmitted from the n ECUs as each master key data is generated, Dimensional coordinate generating unit for generating n two-dimensional coordinate values by applying the two-dimensional coordinate generating functions as input to the selected two-dimensional coordinate generating function, A basic two-dimensional coordinate value generator for randomly generating a formal session key K and generating a basic two-dimensional coordinate value corresponding to '(0, K)' based on the session key K, A polynomial generating unit for generating an n-th order polynomial using Lagrange interpolation based on the n 2-dimensional coordinate values, a polynomial generating unit for generating n-th polynomials by using Lagrange interpolation based on the n 2-dimensional coordinate values, Dimensional coordinate values that do not coincide with the n two-dimensional coordinate values by applying the values of the n two-dimensional coordinate values for each of the n ECUs, and for transmitting the n different two-dimensional coordinate values for each of the n ECUs Thereby completing the distribution of the session key K.
또한, 본 발명의 일실시예에 따른 차량 내 탑재되어 있는 ECU들에 대해 암호화된 방식으로 세션 키의 배포를 처리하는 키 배포 처리 장치의 동작 방법은 차량 내에 탑재되어 있는 n(n은 2이상의 자연수)개의 ECU들과 네트워크로 연결됨에 따라 상기 n개의 ECU들에 대한 세션 키의 배포 명령이 인가되면, 상기 n개의 ECU들에 대해 마스터 키 데이터의 전송을 요청하는 단계, 상기 n개의 ECU들 각각이 서로 다른 마스터 키 데이터를 생성함에 따라 상기 n개의 ECU들로부터 서로 다른 n개의 마스터 키 데이터들이 전송되면, 상기 n개의 마스터 키 데이터들을 수신하는 단계, 상기 n개의 마스터 키 데이터들 각각을 선정된 2차원 좌표 생성 함수에 입력으로 인가하여 n개의 2차원 좌표 값들을 생성하는 단계, 상기 n개의 ECU들에 배포할 세션 키 K를 랜덤하게 생성하고, 상기 세션 키 K를 기초로 '(0, K)'에 해당되는 기본 2차원 좌표 값을 생성하는 단계, 상기 기본 2차원 좌표 값과 상기 n개의 2차원 좌표 값들을 기초로 라그랑주 보간법을 이용하여 n차 다항식을 생성하는 단계, 상기 n차 다항식에 대해 상기 n개의 2차원 좌표 값들에 포함되어 있지 않은 n개의 다른 입력 값들을 인가함으로써, 상기 n개의 2차원 좌표 값들과 일치하지 않는 n개의 다른 2차원 좌표 값들을 생성하는 단계 및 상기 n개의 ECU들 각각에 대해 상기 n개의 다른 2차원 좌표 값들을 모두 전송함으로써, 상기 세션 키 K의 배포를 완료하는 단계를 포함한다.Further, an operation method of a key distribution processing apparatus for processing distribution of a session key in an encrypted manner to ECUs mounted in a vehicle according to an embodiment of the present invention is a method of operating a key distribution processing apparatus, ) Requesting transmission of master key data to the n ECUs when a distribution command of a session key for the n ECUs is received as the network is connected to the n ECUs, Receiving n master key data when n different master key data are transmitted from the n ECUs by generating different master key data, receiving each of the n master key data, Generating n two-dimensional coordinate values by inputting to the coordinate generation function as input, randomly generating a session key K to be distributed to the n ECUs, Generating a basic two-dimensional coordinate value corresponding to '(0, K)' based on the partial key K, using the Lagrangian interpolation method based on the basic two-dimensional coordinate value and the n two- Generating a polynomial by applying n different input values that are not included in the n two-dimensional coordinate values to the n-th polynomial, generating n different two-dimensional coordinate values that do not match the n two- , And completing the distribution of the session key K by transmitting all of the n different two-dimensional coordinate values for each of the n ECUs.
본 발명은 차량 내에 탑재되어 있는 ECU(Electronic Control Unit)들이 데이터 통신시 암호화 통신을 수행할 수 있도록 지원하기 위한 세션 키를 라그랑주(Lagrange) 보간법에 기초한 암호화 방식으로 각 ECU들에 배포함으로써, 세션 키 교환시에 발생할 수 있는 키 노출 가능성을 최소화할 수 있는 키 배포 처리 장치 및 그 동작 방법을 제공할 수 있다.In the present invention, a session key for supporting the ECU (Electronic Control Units) mounted in a vehicle to perform encrypted communication in data communication is distributed to each ECU by an encryption method based on a Lagrange interpolation method, It is possible to provide a key distribution processing apparatus and an operation method thereof that can minimize the possibility of key exposure that may occur at the time of exchange.
도 1은 본 발명의 일실시예에 따른 차량 내 탑재되어 있는 ECU(Electronic Control Unit)들에 대해 암호화된 방식으로 세션 키의 배포를 처리하는 키 배포 처리 장치의 구조를 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 차량 내 탑재되어 있는 ECU들에 대해 암호화된 방식으로 세션 키의 배포를 처리하는 키 배포 처리 장치의 동작 방법을 도시한 순서도이다.1 is a diagram showing a structure of a key distribution processing apparatus for processing distribution of a session key in an encrypted manner for ECUs (Electronic Control Units) mounted in a vehicle according to an embodiment of the present invention.
2 is a flowchart showing an operation method of a key distribution processing apparatus for processing distribution of a session key in an encrypted manner for ECUs mounted in a vehicle according to an embodiment of the present invention.
이하에서는 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명하기로 한다. 이러한 설명은 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였으며, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 본 명세서 상에서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 사람에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다.Hereinafter, embodiments according to the present invention will be described in detail with reference to the accompanying drawings. It is to be understood that the description is not intended to limit the invention to the specific embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention. Like reference numerals in the drawings are used for similar elements and, unless otherwise defined, all terms used in the specification, including technical and scientific terms, are to be construed in a manner that is familiar to those skilled in the art. It has the same meaning as commonly understood by those who have it.
도 1은 본 발명의 일실시예에 따른 차량 내 탑재되어 있는 ECU(Electronic Control Unit)들에 대해 암호화된 방식으로 세션 키의 배포를 처리하는 키 배포 처리 장치의 구조를 도시한 도면이다.1 is a diagram showing a structure of a key distribution processing apparatus for processing distribution of a session key in an encrypted manner for ECUs (Electronic Control Units) mounted in a vehicle according to an embodiment of the present invention.
도 1을 참조하면, 키 배포 처리 장치(110)는 키 전송 요청부(111), 마스터 키 데이터 수신부(112), 2차원 좌표 생성부(113), 기본 2차원 좌표 값 생성부(114), 다항식 생성부(115), 추가 좌표 생성부(116) 및 키 배포 처리부(117)를 포함한다.1, the key
키 전송 요청부(111)는 차량 내에 탑재되어 있는 n(n은 2이상의 자연수)개의 ECU들(131, 132, 133, 134)과 네트워크로 연결됨에 따라 n개의 ECU들(131, 132, 133, 134)에 대한 세션 키의 배포 명령이 인가되면, n개의 ECU들(131, 132, 133, 134)에 대해 마스터 키 데이터의 전송을 요청한다.The key
여기서, 본 발명에 따른 키 배포 처리 장치(110)는 상기 차량 내부에 탑재될 수 있는 장치로, 상기 차량 내부에 탑재되어 n개의 ECU들(131, 132, 133, 134)과 차량 내부 네트워크를 통해 연결되도록 구성될 수 있다.Here, the key
그리고, 상기 세션 키는 n개의 ECU들(131, 132, 133, 134)이 서로 데이터를 주고받기 위해 생성한 통신 세션에서 사용되는 키를 의미하는 것으로, 해당 세션 키가 n개의 ECU들(131, 132, 133, 134)에 배포되면, n개의 ECU들(131, 132, 133, 134)은 데이터를 해당 세션 키로 암호화해서 송수신할 수 있다.The session key is a key used in a communication session generated by the
이렇게, n개의 ECU들(131, 132, 133, 134)에 상기 마스터 키 데이터의 전송이 요청되면, n개의 ECU들(131, 132, 133, 134) 각각은 상기 마스터 키 데이터의 전송 요청에 대응하여 고유의 마스터 키 데이터를 생성하여 n개의 ECU들(131, 132, 133, 134) 각각에 내장되어 있는 메모리 상에 저장한 후 각 마스터 키 데이터를 키 배포 처리 장치(110)로 전송할 수 있다.When the transfer of the master key data is requested to the
마스터 키 데이터 수신부(112)는 n개의 ECU들(131, 132, 133, 134) 각각이 서로 다른 마스터 키 데이터를 생성함에 따라 n개의 ECU들(131, 132, 133, 134)로부터 서로 다른 n개의 마스터 키 데이터들이 전송되면, 상기 n개의 마스터 키 데이터들을 수신한다.The master key
2차원 좌표 생성부(113)는 상기 n개의 마스터 키 데이터들 각각을 선정된 2차원 좌표 생성 함수에 입력으로 인가하여 n개의 2차원 좌표 값들을 생성한다.The two-dimensional
기본 2차원 좌표 값 생성부(114)는 n개의 ECU들(131, 132, 133, 134)에 배포할 세션 키 K를 랜덤하게 생성하고, 상기 세션 키 K를 기초로 '(0, K)'에 해당되는 기본 2차원 좌표 값을 생성한다.The basic two-dimensional coordinate
다항식 생성부(115)는 상기 기본 2차원 좌표 값과 상기 n개의 2차원 좌표 값들을 기초로 라그랑주(Lagrange) 보간법을 이용하여 n차 다항식을 생성한다.The
여기서, 라그랑주 보간법이란 n+1개의 좌표 값을 알고 있다면, n+1개의 좌표 값을 지나는 n차 다항식을 구할 수 있는 기법을 의미하는 것으로, 하기의 수학식 1과 같이 나타낼 수 있는 n+1개의 좌표 값이 존재한다고 한다고 하였을 때, 라그랑주 보간법에 따른 n차 다항식 f(x)는 하기의 수학식 2의 연산을 통해 생성할 수 있다.Here, the Lagrangian interpolation means a technique for obtaining an n-th order polynomial over n + 1 coordinate values if n + 1 coordinate values are known, and n + 1 When it is assumed that coordinate values exist, the n-th degree polynomial f (x) according to the Lagrangian interpolation method can be generated by the following equation (2).
여기서, 라그랑주 다항식 Li(x)는 하기의 수학식 3에 따라 연산될 수 있다.Here, the Lagrange polynomial L i (x) can be calculated according to the following equation (3).
이러한 방식으로, 다항식 생성부(115)는 2차원 좌표 생성부(113)에서 생성한 n개의 2차원 좌표 값들과 기본 2차원 좌표 값 생성부(114)에서 생성한 '(0, K)'라고 하는 기본 2차원 좌표 값을 기초로 라그랑주 보간법을 이용하여 n차 다항식을 생성할 수 있다.In this manner, the
추가 좌표 생성부(116)는 상기 n차 다항식에 대해 상기 n개의 2차원 좌표 값들에 포함되어 있지 않은 n개의 다른 입력 값들을 인가함으로써, 상기 n개의 2차원 좌표 값들과 일치하지 않는 n개의 다른 2차원 좌표 값들을 생성한다.The
관련해서, 다항식 생성부(115)에서 생성된 상기 n차 다항식을 'f(x)'라고 하였을 때, 추가 좌표 생성부(116)는 2차원 좌표 생성부(113)에서 생성한 상기 n개의 2차원 좌표 값들의 x축 값에 포함되어 있지 않은 다른 입력 값을 상기 n차 다항식 f(x)에 x축 값으로 입력함으로써, 상기 n개의 2차원 좌표 값들과 일치하지 않는 n개의 다른 2차원 좌표 값을 생성할 수 있다.In this regard, when the n-th order polynomial generated by the polynomial generating
예컨대, 상기 n개의 2차원 좌표 값들이 '(a, b), (c, d)'라고 한다면, 추가 좌표 생성부(116)는 상기 n개의 2차원 좌표 값들에 포함되어 있지 않은 다른 입력 값인 'e, f'를 상기 n차 다항식에 입력으로 인가함으로써, 상기 n개의 2차원 좌표 값들인 '(a, b), (c, d)'와 일치하지 않는 '(e, g), (f, h)'라는 n개의 다른 2차원 좌표 값들을 생성할 수 있다.For example, when the n two-dimensional coordinate values are '(a, b), (c, d)', the additional
키 배포 처리부(117)는 상기 n개의 다른 2차원 좌표 값들이 생성되면, n개의 ECU들(131, 132, 133, 134) 각각에 대해 상기 n개의 다른 2차원 좌표 값들을 모두 전송함으로써, 상기 세션 키 K의 배포를 완료한다.When the n different two-dimensional coordinate values are generated, the key
이때, 본 발명의 일실시예에 따르면, n개의 ECU들(131, 132, 133, 134) 각각은 메모리 상에 상기 선정된 2차원 좌표 생성 함수를 저장하고 있을 수 있다.In this case, according to an embodiment of the present invention, each of the
이때, n개의 ECU들(131, 132, 133, 134) 각각은 키 배포 처리 장치(110)로부터 상기 n개의 다른 2차원 좌표 값들이 수신되면, n개의 ECU들(131, 132, 133, 134) 각각이 생성한 각 마스터 키 데이터를 상기 메모리 상에 저장되어 있는 상기 선정된 2차원 좌표 생성 함수에 입력으로 인가하여 2차원 마스터 좌표 값을 생성한 후 키 배포 처리 장치(110)로부터 수신된 상기 n개의 다른 2차원 좌표 값들과 n개의 ECU들(131) 각각이 생성한 2차원 마스터 좌표 값을 기초로 라그랑주 보간법을 이용하여 키 검출용 n차 다항식을 생성할 수 있다.When the n different two-dimensional coordinate values are received from the key
그러고 나서, n개의 ECU들(131, 132, 133, 134) 각각은 상기 키 검출용 n차 다항식에 '0'을 입력 값으로 인가함으로써, 상기 세션 키 K를 연산하여 상기 메모리 상에 저장할 수 있다.Each of the
예컨대, n개의 ECU들(131, 132, 133, 134) 중 ECU 1(131)이 생성한 마스터 키 데이터를 '마스터 키 데이터 1'이라고 가정하자. 이때, ECU 1(131)은 키 배포 처리 장치(110)로부터 상기 n개의 다른 2차원 좌표 값들이 수신되면, 상기 '마스터 키 데이터 1'을 상기 선정된 2차원 좌표 생성 함수에 입력으로 인가하여 '마스터 좌표 값 1'을 생성할 수 있다.For example, it is assumed that the master key data generated by
여기서, 상기 '마스터 좌표 값 1'은 다항식 생성부(115)에서 상기 n차 다항식을 생성하는데 사용되었던 좌표 값 중 하나이고, 키 배포 처리 장치(110)로부터 수신된 상기 n개의 다른 2차원 좌표 값들은 상기 n차 다항식으로부터 생성된 좌표 값들이기 때문에, ECU 1(131)은 결국 상기 n차 다항식을 생성하기 위한 조건인 n+1개의 좌표 값을 알게 되는 것이므로, 상기 '마스터 좌표 값 1'과 상기 n개의 다른 2차원 좌표 값들을 기초로 상기 수학식 1, 2, 3에 따른 라그랑주 보간법을 이용함으로써, 상기 n차 다항식과 동일한 다항식을 키 검출용 n차 다항식으로 생성할 수 있다.Here, the 'master coordinate value 1' is one of the coordinate values used for generating the n-th polynomial in the
이렇게, ECU 1(131)은 상기 키 검출용 n차 다항식의 생성을 완료하게 되면, 상기 키 검출용 n차 다항식에 '0'을 입력 값으로 인가함으로써, 상기 세션 키 K를 연산할 수 있다. 관련해서, 키 배포 처리 장치(110)가 상기 n차 다항식을 생성하기 위해서 '(0, K)'라고 하는 기본 2차원 좌표 값을 사용하였기 때문에 ECU 1(131)은 상기 키 검출용 n차 다항식의 생성을 완료한 후 상기 키 검출용 n차 다항식에 '0'을 입력 값으로 입력함으로써, 'K'라고 하는 출력 값을 얻을 수 있게 되는 것이다.When the ECU 1 (131) completes the generation of the n-th order polynomial for key detection, the ECU 1 (131) can calculate the session key K by applying '0' to the n-th polynomial for key detection as an input value. In this regard, since the
이러한 방식으로 n개의 ECU들(131, 132, 133, 134)은 각자 자신이 생성하였던 마스터 키 데이터를 알고 있고, 메모리 상에 상기 선정된 2차원 좌표 생성 함수를 저장하고 있기 때문에 키 배포 처리 장치(110)로부터 상기 n개의 다른 2차원 좌표 값들이 수신되면, 자신들이 각자 생성하였던 마스터 키 데이터를 기초로 마스터 좌표 값을 생성한 후 총 n+1개의 좌표 값을 이용하여 상기 키 검출용 n차 다항식을 생성할 수 있는 것이고, 이러한 키 검출용 n차 다항식에 '0'을 입력으로 인가함으로써, 상기 세션 키 K를 연산해 낼 수 있다.In this way, since the
만약, n개의 ECU들(131, 132, 133, 134) 중 자신이 생성한 마스터 키 데이터가 분실되거나 변조가 발생한 ECU가 있다면, 해당 ECU는 키 배포 처리 장치(110)로부터 상기 n개의 다른 2차원 좌표 값을 수신하였다고 하더라도 자신의 마스터 좌표 값을 생성할 수 없기 때문에, 결국 다항식 생성부(115)가 생성하였던 상기 n차 다항식과 동일한 n차 다항식을 생성할 수 없는 것이고, 이로 인해 상기 세션 키 K를 배포받지 못하게 되는 것이다.If the master key data generated by itself among the
이러한 방식으로, n개의 ECU들(131, 132, 133, 134)은 각자 상기 세션 키 K를 생성하여 메모리 상에 저장할 수 있고, 이렇게 상기 세션 키 K가 상기 메모리 상에 저장되면, n개의 ECU들(131, 132, 133, 134)은 n개의 ECU들(131, 132, 133, 134) 간의 데이터 통신 시에 상기 메모리 상에 저장되어 있는 상기 세션 키 K를 기초로 송신 데이터에 대한 암호화를 수행하고, 수신 데이터에 대한 복호화를 수행함으로써, 보안 통신을 수행하게 된다.In this way, the
이때, 본 발명의 일실시예에 따르면, 2차원 좌표 생성부(113)는 상기 세션 키 K의 배포시에 보안성을 더욱 강화하기 위해서, 마스터 키 데이터 수신부(112)를 통해 n개의 ECU들(131, 132, 133, 134)로부터 상기 n개의 마스터 키 데이터들이 수신되면, 상기 선정된 2차원 좌표 생성 함수에 상기 n개의 마스터 키 데이터들 각각과 함께 입력으로 인가될 더미(dummy) 데이터를 랜덤하게 생성하고, 상기 더미 데이터와 상기 n개의 마스터 키 데이터들 각각을 상기 선정된 2차원 좌표 생성 함수에 입력으로 인가하여 상기 n개의 2차원 좌표 값들을 생성할 수 있다.According to an embodiment of the present invention, the two-
이때, 본 발명의 일실시예에 따르면, 상기 선정된 2차원 좌표 생성 함수는 하기의 수학식 4로 연산되는 함수일 수 있다.According to an embodiment of the present invention, the selected two-dimensional coordinate generating function may be a function calculated by the following equation (4).
상기 수학식 4에서 는 상기 선정된 2차원 좌표 생성 함수로 n개의 ECU들(131, 132, 133, 134)로부터 상기 n개의 마스터 키 데이터들로 '(p, k)'의 형태를 갖는 데이터 쌍들이 수신되면, 2차원 좌표 생성부(113)는 상기 수학식 4에서 'R'로 표현된 더미 데이터를 랜덤하게 생성한 후 상기 n개의 마스터 키 데이터들 각각과 상기 더미 데이터 R을 상기 수학식 4의 상기 선정된 2차원 좌표 생성 함수에 입력으로 인가함으로써, ''라고 하는 n개의 2차원 좌표 값들을 생성할 수 있다.In Equation (4) When the data pairs having the form of '(p, k)' are received from the
여기서, ''는 해시 함수, ''은 두 데이터를 연속에서 나열하는 연접 기호이며, 'N'은 임의의 소수(prime number)이다. 이때, N은 랜덤하게 선택되는 소수이지만, 다항식 생성부(115)에서 생성되는 n차 다항식을 구성하는 계수를 제3자가 추측해서 맞출 확률을 낮추기 위해, 비교적 큰 값으로 선택되는 것이 바람직하다.here, ' 'Is a hash function,' 'Is a concatenation symbol that lists two data in series, and' N 'is any prime number. At this time, N is a prime number to be selected randomly, but it is preferable to select a relatively large value in order to lower the probability that the third party guesses the third-order polynomial generated by the
이렇게, 2차원 좌표 생성부(113)가 상기 수학식 4에 따른 상기 선정된 2차원 좌표 생성 함수를 기초로 n개의 2차원 좌표 값들을 생성하면, 기본 2차원 좌표 값 생성부(114)는 n개의 ECU들(131, 132, 133, 134)에 배포할 세션 키 K를 랜덤하게 생성하고, 상기 세션 키 K를 기초로 '(0, K)'에 해당되는 기본 2차원 좌표 값을 생성하며, 다항식 생성부(115)는 상기 기본 2차원 좌표 값과 상기 n개의 2차원 좌표 값들을 기초로 상기 수학식 1, 2, 3에 따른 라그랑주 보간법을 이용하여 n차 다항식을 생성할 수 있다. 그러고 나서, 추가 좌표 생성부(116)는 상기 n차 다항식에 대해 상기 n개의 2차원 좌표 값들에 포함되어 있지 않은 n개의 다른 입력 값들을 인가함으로써, 상기 n개의 2차원 좌표 값들과 일치하지 않는 n개의 다른 2차원 좌표 값들을 생성할 수 있다.When the two-dimensional
이때, 키 배포 처리부(117)는 n개의 ECU들(131, 132, 133, 134) 각각에 대해 상기 n개의 다른 2차원 좌표 값들을 모두 전송함과 동시에 상기 더미 데이터를 함께 전송함으로써, 상기 세션 키 K의 배포를 완료할 수 있다.At this time, the key
이때, 본 발명의 일실시예에 따르면, n개의 ECU들(131, 132, 133, 134) 각각은 키 배포 처리 장치(110)로부터 상기 n개의 다른 2차원 좌표 값들과 상기 더미 데이터가 수신되면, n개의 ECU들(131, 132, 133, 134) 각각이 생성한 각 마스터 키 데이터와 키 배포 처리 장치(110)로부터 수신한 상기 더미 데이터를 메모리 상에 저장되어 있는 상기 선정된 2차원 좌표 생성 함수에 입력으로 인가하여 상기 2차원 마스터 좌표 값을 생성할 수 있다.When the n different two-dimensional coordinate values and the dummy data are received from the key
그러고 나서, n개의 ECU들(131, 132, 133, 134) 각각은 키 배포 처리 장치(110)로부터 수신된 상기 n개의 다른 2차원 좌표 값들과 n개의 ECU들(131, 132, 133, 134) 각각이 생성한 2차원 마스터 좌표 값을 기초로 라그랑주 보간법을 이용하여 키 검출용 n차 다항식을 생성한 후 상기 키 검출용 n차 다항식에 '0'을 입력 값으로 인가함으로써, 상기 세션 키 K를 연산하여 상기 메모리 상에 저장할 수 있다.Then, each of the
본 발명의 일실시예에 따르면, 키 배포 처리 장치(110)는 대체 키 생성부(118), 초기화부(119), 2차원 좌표 재생성부(120), 기본 2차원 좌표 값 재생성부(121), 다항식 재생성부(122), 추가 좌표 재생성부(123) 및 대체 세션 키 배포 처리부(124)를 더 포함할 수 있다.According to one embodiment of the present invention, the key
대체 키 생성부(118)는 n개의 ECU들(131, 132, 133, 134) 중 t(t는 n보다 작은 자연수)개의 ECU들에 대해 상기 세션 키 K가 노출된 것으로 확인되면, 상기 세션 키 K는 더 이상 사용할 수 없는 키이기 때문에, 상기 t개의 ECU들을 제외한 나머지 ECU들에 대해 새로운 세션 키를 발급해 주기 위해서, 상기 더미 데이터와 상기 세션 키 K를 폐기하고, 대체 더미 데이터와 대체 세션 키 K'을 랜덤하게 생성한다.If it is determined that the session key K is exposed to t (n is a natural number smaller than n) among the
초기화부(119)는 상기 n개의 마스터 키 데이터들 중 상기 t개의 ECU들로부터 수신된 t개의 마스터 키 데이터들을 랜덤한 키 데이터들로 초기화한다.The
2차원 좌표 재생성부(120)는 상기 t개의 마스터 키 데이터들이 초기화되면, 상기 대체 더미 데이터와 상기 n개의 마스터 키 데이터들(상기 n개의 마스터 키 데이터들 중 t개의 마스터 키 데이터들은 랜덤한 키 데이터들로 초기화된 데이터들임) 각각을 상기 선정된 2차원 좌표 생성 함수에 입력으로 인가하여 n개의 2차원 좌표 값들을 재생성한다.When the t master key data is initialized, the two-dimensional coordinate
기본 2차원 좌표 값 재생성부(121)는 상기 대체 세션 키 K'을 기초로 '(0, K')'에 해당되는 기본 2차원 좌표 값을 재생성한다.The basic two-dimensional coordinate
다항식 재생성부(122)는 상기 재생성된 기본 2차원 좌표 값과 상기 재생성된 n개의 2차원 좌표 값들을 기초로 라그랑주 보간법을 이용하여 n차 다항식을 재생성한다.The
추가 좌표 재생성부(123)는 상기 재생성된 n차 다항식에 대해 상기 재생성된 n개의 2차원 좌표 값들에 포함되어 있지 않은 n개의 다른 입력 값들을 인가함으로써, 상기 재생성된 n개의 2차원 좌표 값들과 일치하지 않는 n개의 다른 2차원 좌표 값들을 재생성한다.The additional coordinate regenerating
대체 세션 키 배포 처리부(124)는 n개의 ECU들(131, 132, 133, 134) 각각에 대해 상기 재생성된 n개의 다른 2차원 좌표 값들을 모두 전송함과 동시에 상기 대체 더미 데이터를 함께 전송함으로써, 상기 대체 세션 키 K'의 배포를 완료한다.The alternative session key
이때, 본 발명의 일실시예에 따르면, n개의 ECU들(131, 132, 133, 134) 각각은 키 배포 처리 장치(110)로부터 상기 재생성된 n개의 다른 2차원 좌표 값들과 상기 대체 더미 데이터가 수신되면, n개의 ECU들(131, 132, 133, 134) 각각이 생성한 각 마스터 키 데이터와 키 배포 처리 장치(110)로부터 수신한 상기 대체 더미 데이터를 상기 메모리 상에 저장되어 있는 상기 선정된 2차원 좌표 생성 함수에 입력으로 인가하여 2차원 마스터 좌표 값을 재생성할 수 있다.According to an embodiment of the present invention, each of the
그러고 나서, n개의 ECU들(131, 132, 133, 134) 각각은 키 배포 처리 장치(110)로부터 수신된 상기 재생성된 n개의 다른 2차원 좌표 값들과 n개의 ECU들(131, 132, 133, 134) 각각이 재생성한 2차원 마스터 좌표 값을 기초로 라그랑주 보간법을 이용하여 키 검출용 n차 다항식을 재생성할 수 있다.Each of the
그 이후, n개의 ECU들(131, 132, 133, 134)은 상기 재생성된 키 검출용 n차 다항식에 '0'을 입력 값으로 인가함으로써, 상기 대체 세션 키 K'를 연산하여 상기 메모리 상에 재저장할 수 있다.Thereafter, the
결국, 본 발명에 따른 키 배포 처리 장치(110)는 n개의 ECU들(131, 132, 133, 134)에 세션 키 K가 배포된 이후 외부 공격으로 인해 t개의 ECU들에서 상기 세션 키 K가 노출된 것으로 확인되었다면, 상기 t개의 ECU들에 대해서는 더 이상 통신 세션에서 통신을 할 수 없도록 처리하고, 나머지 ECU들만이 새로운 세션 키로 통신이 가능하도록 처리하기 위해서, 새로운 대체 세션 키 K'을 발급하고, 상기 t개의 ECU들로부터 수신하였던 마스터 키 데이터를 랜덤한 값으로 초기화를 수행한 후 상기 대체 세션 키 K'과 n개의 ECU들(131, 132, 133, 134) 각각의 마스터 키 데이터를 기초로 n차 다항식을 재생성하고, 재생성된 n차 다항식을 기초로 n개의 다른 2차원 좌표 값들을 재생성하여 n개의 ECU들(131, 132, 133, 134)로 다시 전송할 수 있다.After the session key K is distributed to the
이때, n개의 ECU들(131, 132, 133, 134)은 상기 재생성된 n개의 다른 2차원 좌표 값들과 자신들의 마스터 키 데이터를 기초로 키 검출용 n차 다항식을 재생성한 후 재생성된 키 검출용 n차 다항식에 '0'을 입력으로 인가해서 상기 대체 세션 키 K'을 생성할 수 있는데, 키 배포 처리 장치(110)가 상기 t개의 ECU들에 대한 마스터 키 데이터를 랜덤한 값으로 초기화한 후 상기 n차 다항식을 재생성하였다는 점에서 n개의 ECU들(131, 132, 133, 134) 중 상기 t개의 ECU들에서는 초기화되기 전의 마스터 키 데이터를 기초로 키 검출용 n차 다항식에 대한 재생성을 시도하기 때문에 키 배포 처리 장치(110)가 재생성한 n차 다항식과 동일한 키 검출용 n차 다항식을 생성할 수 없어 결국 상기 대체 세션 키 K'를 생성해낼 수가 없다.At this time, the
이로 인해, 본 발명에 따른 키 배포 처리 장치(110)는 n개의 ECU들(131, 132, 133, 134) 중 세션 키가 노출된 상기 t개의 ECU들을 제외한 나머지 ECU들에 대해서만 새로운 세션 키를 발급해줌으로써, 나머지 ECU들이 새로운 세션 키로 보안 통신을 수행할 수 있도록 지원할 수 있다.Therefore, the key
도 2는 본 발명의 일실시예에 따른 차량 내 탑재되어 있는 ECU들에 대해 암호화된 방식으로 세션 키의 배포를 처리하는 키 배포 처리 장치의 동작 방법을 도시한 순서도이다.2 is a flowchart showing an operation method of a key distribution processing apparatus for processing distribution of a session key in an encrypted manner for ECUs mounted in a vehicle according to an embodiment of the present invention.
단계(S210)에서는 차량 내에 탑재되어 있는 n(n은 2이상의 자연수)개의 ECU들과 네트워크로 연결됨에 따라 상기 n개의 ECU들에 대한 세션 키의 배포 명령이 인가되면, 상기 n개의 ECU들에 대해 마스터 키 데이터의 전송을 요청한다.In step S210, when an instruction to distribute a session key to the n ECUs is given as n (n is a natural number equal to or greater than two) ECUs installed in the vehicle, the ECU is connected to the n ECUs And requests transmission of the master key data.
단계(S220)에서는 상기 n개의 ECU들 각각이 서로 다른 마스터 키 데이터를 생성함에 따라 상기 n개의 ECU들로부터 서로 다른 n개의 마스터 키 데이터들이 전송되면, 상기 n개의 마스터 키 데이터들을 수신한다.In step S220, when the n ECUs generate different master key data, when n master key data items different from each other are received from the n ECUs, the n master key data items are received.
단계(S230)에서는 상기 n개의 마스터 키 데이터들 각각을 선정된 2차원 좌표 생성 함수에 입력으로 인가하여 n개의 2차원 좌표 값들을 생성한다.In step S230, each of the n master key data is input to the selected two-dimensional coordinate generating function to generate n two-dimensional coordinate values.
단계(S240)에서는 상기 n개의 ECU들에 배포할 세션 키 K를 랜덤하게 생성하고, 상기 세션 키 K를 기초로 '(0, K)'에 해당되는 기본 2차원 좌표 값을 생성한다.In step S240, a session key K to be distributed to the n ECUs is randomly generated, and a basic two-dimensional coordinate value corresponding to '(0, K)' is generated based on the session key K.
단계(S250)에서는 상기 기본 2차원 좌표 값과 상기 n개의 2차원 좌표 값들을 기초로 라그랑주(Lagrange) 보간법을 이용하여 n차 다항식을 생성한다.In step S250, an n-th order polynomial is generated using Lagrange interpolation based on the basic two-dimensional coordinate value and the n two-dimensional coordinate values.
단계(S260)에서는 상기 n차 다항식에 대해 상기 n개의 2차원 좌표 값들에 포함되어 있지 않은 n개의 다른 입력 값들을 인가함으로써, 상기 n개의 2차원 좌표 값들과 일치하지 않는 n개의 다른 2차원 좌표 값들을 생성한다.In step S260, n different two-dimensional coordinate values that do not coincide with the n two-dimensional coordinate values are applied to the n-th polynomial by applying n different input values not included in the n two- Lt; / RTI >
단계(S270)에서는 상기 n개의 ECU들 각각에 대해 상기 n개의 다른 2차원 좌표 값들을 모두 전송함으로써, 상기 세션 키 K의 배포를 완료한다.In step S270, distribution of the session key K is completed by transmitting all of the n different two-dimensional coordinate values for each of the n ECUs.
이때, 본 발명의 일실시예에 따르면, 상기 n개의 ECU들 각각은 메모리 상에 상기 선정된 2차원 좌표 생성 함수를 저장하고 있고, 상기 키 배포 처리 장치로부터 상기 마스터 키 데이터의 전송 요청이 수신되면, 고유의 마스터 키 데이터를 생성하여 상기 메모리 상에 저장한 후 각 마스터 키 데이터를 상기 키 배포 처리 장치로 전송하며, 상기 키 배포 처리 장치로부터 상기 n개의 다른 2차원 좌표 값들이 수신되면, 상기 n개의 ECU들 각각이 생성한 각 마스터 키 데이터를 상기 메모리 상에 저장되어 있는 상기 선정된 2차원 좌표 생성 함수에 입력으로 인가하여 2차원 마스터 좌표 값을 생성한 후 상기 키 배포 처리 장치로부터 수신된 상기 n개의 다른 2차원 좌표 값들과 상기 n개의 ECU들 각각이 생성한 2차원 마스터 좌표 값을 기초로 라그랑주 보간법을 이용하여 키 검출용 n차 다항식을 생성하고, 상기 키 검출용 n차 다항식에 '0'을 입력 값으로 인가함으로써, 상기 세션 키 K를 연산하여 상기 메모리 상에 저장할 수 있다.At this time, according to an embodiment of the present invention, each of the n ECUs stores the selected two-dimensional coordinate generation function on the memory, and when receiving a transfer request of the master key data from the key distribution processing device And transmits the master key data to the key distribution processing apparatus after receiving the n different two-dimensional coordinate values from the key distribution processing apparatus, Each master key data generated by each of the ECUs is input to the selected two-dimensional coordinate generating function stored in the memory to generate a two-dimensional master coordinate value, Based on the n different two-dimensional coordinate values and the two-dimensional master coordinate values generated by each of the n ECUs, using Lagrangian interpolation By applying a polynomial equation for generating the n-th key is detected, and "0" into the n-order polynomial for the key detected by the input value, it can be calculated by the session key K stored in the said memory.
또한, 본 발명의 일실시예에 따르면, 단계(S230)에서는 단계(S220)을 통해 상기 n개의 마스터 키 데이터들이 수신되면, 상기 선정된 2차원 좌표 생성 함수에 상기 n개의 마스터 키 데이터들 각각과 함께 입력으로 인가될 더미 데이터를 랜덤하게 생성하고, 상기 더미 데이터와 상기 n개의 마스터 키 데이터들 각각을 상기 선정된 2차원 좌표 생성 함수에 입력으로 인가하여 상기 n개의 2차원 좌표 값들을 생성할 수 있다.According to an embodiment of the present invention, when the n master key data are received through step S220, the master key data is stored in the selected two-dimensional coordinate generating function, Dimensional coordinate values by randomly generating dummy data to be applied as input together and applying each of the dummy data and the n master key data to the selected two dimensional coordinate generation function as input have.
이때, 단계(S270)에서는 상기 n개의 ECU들 각각에 대해 상기 n개의 다른 2차원 좌표 값들을 모두 전송함과 동시에 상기 더미 데이터를 함께 전송함으로써, 상기 세션 키 K의 배포를 완료할 수 있다.At this time, in step S270, distribution of the session key K can be completed by transmitting all of the n different two-dimensional coordinate values for each of the n ECUs and transmitting the dummy data together.
이때, 상기 n개의 ECU들 각각은 상기 키 배포 처리 장치로부터 상기 n개의 다른 2차원 좌표 값들과 상기 더미 데이터가 수신되면, 상기 n개의 ECU들 각각이 생성한 각 마스터 키 데이터와 상기 키 배포 처리 장치로부터 수신한 상기 더미 데이터를 상기 메모리 상에 저장되어 있는 상기 선정된 2차원 좌표 생성 함수에 입력으로 인가하여 상기 2차원 마스터 좌표 값을 생성할 수 있다.When each of the n ECUs receives the n different two-dimensional coordinate values and the dummy data from the key distribution processing device, each of the n ECUs receives the master key data generated by each of the n ECUs, Dimensional master coordinate value stored in the memory, and generates the two-dimensional master coordinate value by applying the input dummy data to the selected two-dimensional coordinate generation function stored in the memory.
또한, 본 발명의 일실시예에 따르면, 상기 n개의 ECU들 각각은 상기 세션 키 K가 생성되어 상기 메모리 상에 저장되면, 상기 n개의 ECU들 간의 데이터 통신 시에 상기 메모리 상에 저장되어 있는 상기 세션 키 K를 기초로 송신 데이터에 대한 암호화를 수행하고, 수신 데이터에 대한 복호화를 수행할 수 있다.In addition, according to an embodiment of the present invention, when the session key K is generated and stored on the memory, each of the n ECUs calculates a difference Encrypts the transmission data based on the session key K, and decrypts the received data.
또한, 본 발명의 일실시예에 따르면, 상기 키 배포 처리 장치의 동작 방법은 상기 n개의 ECU들 중 t(t는 n보다 작은 자연수)개의 ECU들에 대해 상기 세션 키 K가 노출된 것으로 확인되면, 상기 더미 데이터와 상기 세션 키 K를 폐기하고, 대체 더미 데이터와 대체 세션 키 K'을 랜덤하게 생성하는 단계, 상기 n개의 마스터 키 데이터들 중 상기 t개의 ECU들로부터 수신된 t개의 마스터 키 데이터들을 랜덤한 키 데이터들로 초기화하는 단계, 상기 t개의 마스터 키 데이터들이 초기화되면, 상기 대체 더미 데이터와 상기 n개의 마스터 키 데이터들(상기 n개의 마스터 키 데이터들 중 t개의 마스터 키 데이터들은 랜덤한 키 데이터들로 초기화된 데이터들임)각각을 상기 선정된 2차원 좌표 생성 함수에 입력으로 인가하여 n개의 2차원 좌표 값들을 재생성하는 단계, 상기 대체 세션 키 K'을 기초로 '(0, K')'에 해당되는 기본 2차원 좌표 값을 재생성하는 단계, 상기 재생성된 기본 2차원 좌표 값과 상기 재생성된 n개의 2차원 좌표 값들을 기초로 라그랑주 보간법을 이용하여 n차 다항식을 재생성하는 단계, 상기 재생성된 n차 다항식에 대해 상기 재생성된 n개의 2차원 좌표 값들에 포함되어 있지 않은 n개의 다른 입력 값들을 인가함으로써, 상기 재생성된 n개의 2차원 좌표 값들과 일치하지 않는 n개의 다른 2차원 좌표 값들을 재생성하는 단계 및 상기 n개의 ECU들 각각에 대해 상기 재생성된 n개의 다른 2차원 좌표 값들을 모두 전송함과 동시에 상기 대체 더미 데이터를 함께 전송함으로써, 상기 대체 세션 키 K'의 배포를 완료하는 단계를 더 포함할 수 있다.In addition, according to an embodiment of the present invention, the operation method of the key distribution processing apparatus may be configured such that when it is determined that the session key K is exposed to t ECUs (t is a natural number smaller than n) among the n ECUs , Discarding the dummy data and the session key K, randomly generating substitute dummy data and an alternative session key K ', generating t master key data received from the t ECUs of the n master key data Initializing the t master key data with the random key data, and when the t master key data are initialized, the substitute dummy data and the n master key data (t master key data among the n master key data are random And initializing n 2-dimensional coordinate values by applying each input to the selected two-dimensional coordinate generating function, Based on the regenerated basic two-dimensional coordinate value and the regenerated n two-dimensional coordinate values, the basic two-dimensional coordinate value corresponding to '(0, K') ' Dimensional polynomial by regenerating an n-th polynomial using Lagrange interpolation, applying n different input values not included in the regenerated n 2-dimensional coordinate values to the regenerated n-th polynomial, Dimensional coordinate values that do not coincide with the dimensional coordinate values; and transmitting all of the regenerated n different two-dimensional coordinate values for each of the n ECUs and simultaneously transmitting the substitute dummy data together , And completing the distribution of the alternative session key K '.
이때, 본 발명의 일실시예에 따르면, 상기 n개의 ECU들 각각은 상기 키 배포 처리 장치로부터 상기 재생성된 n개의 다른 2차원 좌표 값들과 상기 대체 더미 데이터가 수신되면, 상기 n개의 ECU들 각각이 생성한 각 마스터 키 데이터와 상기 키 배포 처리 장치로부터 수신한 상기 대체 더미 데이터를 상기 메모리 상에 저장되어 있는 상기 선정된 2차원 좌표 생성 함수에 입력으로 인가하여 2차원 마스터 좌표 값을 재생성하고, 상기 키 배포 처리 장치로부터 수신된 상기 재생성된 n개의 다른 2차원 좌표 값들과 상기 n개의 ECU들 각각이 재생성한 2차원 마스터 좌표 값을 기초로 라그랑주 보간법을 이용하여 키 검출용 n차 다항식을 재생성하며, 상기 재생성된 키 검출용 n차 다항식에 '0'을 입력 값으로 인가함으로써, 상기 대체 세션 키 K'를 연산하여 상기 메모리 상에 재저장할 수 있다.According to an embodiment of the present invention, each of the n ECUs receives the regenerated n different two-dimensional coordinate values and the substitute dummy data from the key distribution processing device, Dimensional master coordinate value stored in the memory to generate the two-dimensional master coordinate value by applying each of the generated master key data and the substitute dummy data received from the key distribution processing apparatus to the selected two-dimensional coordinate generation function stored in the memory, Order n polynomial for key detection is regenerated using Lagrange interpolation based on the regenerated n other two-dimensional coordinate values received from the key distribution processing device and the two-dimensional master coordinate values regenerated by each of the n ECUs, By applying '0' as an input value to the regenerated n-degree polynomial for key detection, the substitute session key K 'is calculated, To be saved again.
이상, 도 2를 참조하여 본 발명의 일실시예에 따른 키 배포 처리 장치의 동작 방법에 대해 설명하였다. 여기서, 본 발명의 일실시예에 따른 키 배포 처리 장치의 동작 방법은 도 1을 이용하여 설명한 키 배포 처리 장치(110)의 동작에 대한 구성과 대응될 수 있으므로, 이에 대한 보다 상세한 설명은 생략하기로 한다.The operation method of the key distribution processing apparatus according to the embodiment of the present invention has been described above with reference to FIG. Here, the operation method of the key distribution processing apparatus according to the embodiment of the present invention may correspond to the operation of the operation of the key
본 발명의 일실시예에 따른 키 배포 처리 장치의 동작 방법은 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램으로 구현될 수 있다.A method of operating a key distribution processing apparatus according to an embodiment of the present invention may be implemented by a computer program stored in a storage medium for execution via a combination with a computer.
또한, 본 발명의 일실시예에 따른 키 배포 처리 장치의 동작 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. In addition, the operation method of the key distribution processing apparatus according to an embodiment of the present invention may be implemented in the form of a program command which can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions recorded on the medium may be those specially designed and constructed for the present invention or may be available to those skilled in the art of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. As described above, the present invention has been described with reference to particular embodiments, such as specific elements, and specific embodiments and drawings. However, it should be understood that the present invention is not limited to the above- And various modifications and changes may be made thereto by those skilled in the art to which the present invention pertains.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.Accordingly, the spirit of the present invention should not be construed as being limited to the embodiments described, and all of the equivalents or equivalents of the claims, as well as the following claims, belong to the scope of the present invention .
110: 키 배포 처리 장치
111: 키 전송 요청부
112: 마스터 키 데이터 수신부
113: 2차원 좌표 생성부
114: 기본 2차원 좌표 값 생성부
115: 다항식 생성부
116: 추가 좌표 생성부
117: 키 배포 처리부
118: 대체 키 생성부
119: 초기화부
120: 2차원 좌표 재생성부
121: 기본 2차원 좌표 값 재생성부
122: 다항식 재생성부
123: 추가 좌표 재생성부
124: 대체 세션 키 배포 처리부
131, 132, 133, 134: n개의 ECU들110: key distribution processing device
111: Key transmission request unit 112: Master key data reception unit
113: two-dimensional coordinate generating unit 114: basic two-dimensional coordinate generating unit
115: polynomial generating unit 116: additional coordinate generating unit
117: Key distribution processing unit 118: Alternative key generation unit
119: initialization unit 120: two-dimensional coordinate regeneration unit
121: basic two-dimensional coordinate value reproducibility part 122: polynomial regeneration part
123: additional coordinate reproduction unit 124: alternative session key distribution processing unit
131, 132, 133, 134: n ECUs
Claims (14)
차량 내에 탑재되어 있는 n(n은 2이상의 자연수)개의 ECU들과 네트워크로 연결됨에 따라 상기 n개의 ECU들에 대한 세션 키의 배포 명령이 인가되면, 상기 n개의 ECU들에 대해 마스터 키 데이터의 전송을 요청하는 키 전송 요청부;
상기 n개의 ECU들 각각이 서로 다른 마스터 키 데이터를 생성함에 따라 상기 n개의 ECU들로부터 서로 다른 n개의 마스터 키 데이터들이 전송되면, 상기 n개의 마스터 키 데이터들을 수신하는 마스터 키 데이터 수신부;
상기 n개의 마스터 키 데이터들 각각을 선정된 2차원 좌표 생성 함수에 입력으로 인가하여 n개의 2차원 좌표 값들을 생성하는 2차원 좌표 생성부;
상기 n개의 ECU들에 배포할 세션 키 K를 랜덤하게 생성하고, 상기 세션 키 K를 기초로 '(0, K)'에 해당되는 기본 2차원 좌표 값을 생성하는 기본 2차원 좌표 값 생성부;
상기 기본 2차원 좌표 값과 상기 n개의 2차원 좌표 값들을 기초로 라그랑주(Lagrange) 보간법을 이용하여 n차 다항식을 생성하는 다항식 생성부;
상기 n차 다항식에 대해 상기 n개의 2차원 좌표 값들에 포함되어 있지 않은 n개의 다른 입력 값들을 인가함으로써, 상기 n개의 2차원 좌표 값들과 일치하지 않는 n개의 다른 2차원 좌표 값들을 생성하는 추가 좌표 생성부; 및
상기 n개의 ECU들 각각에 대해 상기 n개의 다른 2차원 좌표 값들을 모두 전송함으로써, 상기 세션 키 K의 배포를 완료하는 키 배포 처리부
를 포함하는 키 배포 처리 장치.A key distribution processing apparatus for processing distribution of a session key in an encrypted manner with respect to ECUs (Electronic Control Units) mounted in a vehicle,
(N is a natural number equal to or greater than two) ECUs installed in the vehicle, when a distribution command of the session key to the n ECUs is applied, the transmission of the master key data to the n ECUs A key transmission request unit for requesting a key transmission request;
A master key data receiving unit for receiving the n master key data when n master key data are transmitted from the n ECUs as each of the n ECUs generates different master key data;
A two-dimensional coordinate generator for generating n two-dimensional coordinate values by applying each of the n master key data to a selected two-dimensional coordinate generating function as an input;
A basic two-dimensional coordinate value generator for randomly generating a session key K to be distributed to the n ECUs and generating a basic two-dimensional coordinate value corresponding to '(0, K)' based on the session key K;
A polynomial generating unit for generating an n-th polynomial based on the basic two-dimensional coordinate value and the n two-dimensional coordinate values using Lagrange interpolation;
Dimensional coordinate values that do not coincide with the n two-dimensional coordinate values by applying n different input values that are not included in the n two-dimensional coordinate values to the n-th degree polynomial, Generating unit; And
A key distribution processing unit for completing distribution of the session key K by transmitting all of the n different two-dimensional coordinate values for each of the n ECUs,
The key distribution processing apparatus comprising:
상기 n개의 ECU들 각각은
메모리 상에 상기 선정된 2차원 좌표 생성 함수를 저장하고 있고, 상기 키 배포 처리 장치로부터 상기 마스터 키 데이터의 전송 요청이 수신되면, 고유의 마스터 키 데이터를 생성하여 상기 메모리 상에 저장한 후 각 마스터 키 데이터를 상기 키 배포 처리 장치로 전송하며,
상기 키 배포 처리 장치로부터 상기 n개의 다른 2차원 좌표 값들이 수신되면, 상기 n개의 ECU들 각각이 생성한 각 마스터 키 데이터를 상기 메모리 상에 저장되어 있는 상기 선정된 2차원 좌표 생성 함수에 입력으로 인가하여 2차원 마스터 좌표 값을 생성한 후 상기 키 배포 처리 장치로부터 수신된 상기 n개의 다른 2차원 좌표 값들과 상기 n개의 ECU들 각각이 생성한 2차원 마스터 좌표 값을 기초로 라그랑주 보간법을 이용하여 키 검출용 n차 다항식을 생성하고,
상기 키 검출용 n차 다항식에 '0'을 입력 값으로 인가함으로써, 상기 세션 키 K를 연산하여 상기 메모리 상에 저장하는 키 배포 처리 장치.The method according to claim 1,
Each of the n ECUs
Dimensional master key data is stored in the memory, and when the master key data transmission request is received from the key distribution processing device, unique master key data is generated and stored in the memory, Transmits the key data to the key distribution processing apparatus,
When receiving the n different two-dimensional coordinate values from the key distribution processing device, inputting each master key data generated by each of the n ECUs to the selected two-dimensional coordinate generating function stored in the memory Dimensional master coordinate value, and generates a two-dimensional master coordinate value by using the Lagrangian interpolation method based on the n different two-dimensional coordinate values received from the key distribution processing device and the two-dimensional master coordinate value generated by each of the n ECUs Generates an n-th degree polynomial for key detection,
And applying '0' to the n-th order polynomial for key detection as an input value to calculate and store the session key K on the memory.
상기 2차원 좌표 생성부는
상기 마스터 키 데이터 수신부를 통해 상기 n개의 마스터 키 데이터들이 수신되면, 상기 선정된 2차원 좌표 생성 함수에 상기 n개의 마스터 키 데이터들 각각과 함께 입력으로 인가될 더미(dummy) 데이터를 랜덤하게 생성하고, 상기 더미 데이터와 상기 n개의 마스터 키 데이터들 각각을 상기 선정된 2차원 좌표 생성 함수에 입력으로 인가하여 상기 n개의 2차원 좌표 값들을 생성하며,
상기 키 배포 처리부는
상기 n개의 ECU들 각각에 대해 상기 n개의 다른 2차원 좌표 값들을 모두 전송함과 동시에 상기 더미 데이터를 함께 전송함으로써, 상기 세션 키 K의 배포를 완료하고,
상기 n개의 ECU들 각각은
상기 키 배포 처리 장치로부터 상기 n개의 다른 2차원 좌표 값들과 상기 더미 데이터가 수신되면, 상기 n개의 ECU들 각각이 생성한 각 마스터 키 데이터와 상기 키 배포 처리 장치로부터 수신한 상기 더미 데이터를 상기 메모리 상에 저장되어 있는 상기 선정된 2차원 좌표 생성 함수에 입력으로 인가하여 상기 2차원 마스터 좌표 값을 생성하는 키 배포 처리 장치.3. The method of claim 2,
The two-dimensional coordinate generator
When the n master key data is received through the master key data receiving unit, dummy data to be input together with each of the n master key data is randomly generated in the selected two-dimensional coordinate generating function Dimensional coordinate generating function to generate the n two-dimensional coordinate values by applying each of the dummy data and the n master key data to the selected two-dimensional coordinate generating function,
The key distribution processing unit
The distribution of the session key K is completed by transmitting all of the n different two-dimensional coordinate values for each of the n ECUs and transmitting the dummy data together,
Each of the n ECUs
When receiving the n different two-dimensional coordinate values and the dummy data from the key distribution processing device, the master key data generated by each of the n ECUs and the dummy data received from the key distribution processing device, Dimensional master coordinate value stored in the storage unit as an input to the selected two-dimensional coordinate generation function stored in the storage unit.
상기 n개의 ECU들 각각은
상기 세션 키 K가 생성되어 상기 메모리 상에 저장되면, 상기 n개의 ECU들 간의 데이터 통신 시에 상기 메모리 상에 저장되어 있는 상기 세션 키 K를 기초로 송신 데이터에 대한 암호화를 수행하고, 수신 데이터에 대한 복호화를 수행하는 키 배포 처리 장치.3. The method of claim 2,
Each of the n ECUs
When the session key K is generated and stored in the memory, encryption of transmission data is performed based on the session key K stored in the memory during data communication between the n ECUs, And decrypts the encrypted key.
상기 n개의 ECU들 중 t(t는 n보다 작은 자연수)개의 ECU들에 대해 상기 세션 키 K가 노출된 것으로 확인되면, 상기 더미 데이터와 상기 세션 키 K를 폐기하고, 대체 더미 데이터와 대체 세션 키 K'을 랜덤하게 생성하는 대체 키 생성부;
상기 n개의 마스터 키 데이터들 중 상기 t개의 ECU들로부터 수신된 t개의 마스터 키 데이터들을 랜덤한 키 데이터들로 초기화하는 초기화부;
상기 t개의 마스터 키 데이터들이 초기화되면, 상기 대체 더미 데이터와 상기 n개의 마스터 키 데이터들 - 상기 n개의 마스터 키 데이터들 중 t개의 마스터 키 데이터들은 랜덤한 키 데이터들로 초기화된 데이터들임 - 각각을 상기 선정된 2차원 좌표 생성 함수에 입력으로 인가하여 n개의 2차원 좌표 값들을 재생성하는 2차원 좌표 재생성부;
상기 대체 세션 키 K'을 기초로 '(0, K')'에 해당되는 기본 2차원 좌표 값을 재생성하는 기본 2차원 좌표 값 재생성부;
상기 재생성된 기본 2차원 좌표 값과 상기 재생성된 n개의 2차원 좌표 값들을 기초로 라그랑주 보간법을 이용하여 n차 다항식을 재생성하는 다항식 재생성부;
상기 재생성된 n차 다항식에 대해 상기 재생성된 n개의 2차원 좌표 값들에 포함되어 있지 않은 n개의 다른 입력 값들을 인가함으로써, 상기 재생성된 n개의 2차원 좌표 값들과 일치하지 않는 n개의 다른 2차원 좌표 값들을 재생성하는 추가 좌표 재생성부; 및
상기 n개의 ECU들 각각에 대해 상기 재생성된 n개의 다른 2차원 좌표 값들을 모두 전송함과 동시에 상기 대체 더미 데이터를 함께 전송함으로써, 상기 대체 세션 키 K'의 배포를 완료하는 대체 세션 키 배포 처리부
를 더 포함하는 키 배포 처리 장치.The method of claim 3,
If it is determined that the session key K is exposed to t (n is a natural number smaller than n) of the n ECUs, the dummy data and the session key K are discarded, and alternative dummy data and an alternative session key An alternative key generation unit for randomly generating K ';
An initialization unit for initializing t master key data received from the t ECUs among the n master key data to random key data;
When the t master key data are initialized, the replacement dummy data and the n master key data - t master key data among the n master key data are data initialized with random key data - A two-dimensional coordinate regenerator for regenerating n two-dimensional coordinate values as an input to the selected two-dimensional coordinate generating function;
A basic two-dimensional coordinate value regenerator for regenerating basic two-dimensional coordinate values corresponding to '(0, K') 'based on the alternative session key K';
A polynomial regenerator for regenerating an n-th polynomial using Lagrangian interpolation based on the regenerated basic two-dimensional coordinate value and the regenerated n two-dimensional coordinate values;
By applying n different input values that are not included in the regenerated n two-dimensional coordinate values to the regenerated n-th polynomial, n different two-dimensional coordinates that do not match the regenerated n two- An additional coordinate regenerator for regenerating the values; And
An alternative session key distribution processing unit for completing the distribution of the alternative session key K 'by transmitting all of the regenerated n different two-dimensional coordinate values for each of the n ECUs,
Further comprising:
상기 n개의 ECU들 각각은
상기 키 배포 처리 장치로부터 상기 재생성된 n개의 다른 2차원 좌표 값들과 상기 대체 더미 데이터가 수신되면, 상기 n개의 ECU들 각각이 생성한 각 마스터 키 데이터와 상기 키 배포 처리 장치로부터 수신한 상기 대체 더미 데이터를 상기 메모리 상에 저장되어 있는 상기 선정된 2차원 좌표 생성 함수에 입력으로 인가하여 2차원 마스터 좌표 값을 재생성하고,
상기 키 배포 처리 장치로부터 수신된 상기 재생성된 n개의 다른 2차원 좌표 값들과 상기 n개의 ECU들 각각이 재생성한 2차원 마스터 좌표 값을 기초로 라그랑주 보간법을 이용하여 키 검출용 n차 다항식을 재생성하며,
상기 재생성된 키 검출용 n차 다항식에 '0'을 입력 값으로 인가함으로써, 상기 대체 세션 키 K'를 연산하여 상기 메모리 상에 재저장하는 키 배포 처리 장치.6. The method of claim 5,
Each of the n ECUs
When the regenerated n different two-dimensional coordinate values and the substitute dummy data are received from the key distribution processing device, the master key data generated by each of the n ECUs and the substitute dummy data received from the key distribution processing device Dimensional coordinate generating function stored in the memory to generate a two-dimensional master coordinate value,
The n-dimensional polynomial for key detection is regenerated using Lagrange interpolation based on the regenerated n different two-dimensional coordinate values received from the key distribution processing device and the two-dimensional master coordinate values regenerated by each of the n ECUs ,
And applying '0' as an input value to the regenerated n-th order polynomial for detecting the key, thereby calculating the alternative session key K 'and restoring the alternative session key K' on the memory.
차량 내에 탑재되어 있는 n(n은 2이상의 자연수)개의 ECU들과 네트워크로 연결됨에 따라 상기 n개의 ECU들에 대한 세션 키의 배포 명령이 인가되면, 상기 n개의 ECU들에 대해 마스터 키 데이터의 전송을 요청하는 단계;
상기 n개의 ECU들 각각이 서로 다른 마스터 키 데이터를 생성함에 따라 상기 n개의 ECU들로부터 서로 다른 n개의 마스터 키 데이터들이 전송되면, 상기 n개의 마스터 키 데이터들을 수신하는 단계;
상기 n개의 마스터 키 데이터들 각각을 선정된 2차원 좌표 생성 함수에 입력으로 인가하여 n개의 2차원 좌표 값들을 생성하는 단계;
상기 n개의 ECU들에 배포할 세션 키 K를 랜덤하게 생성하고, 상기 세션 키 K를 기초로 '(0, K)'에 해당되는 기본 2차원 좌표 값을 생성하는 단계;
상기 기본 2차원 좌표 값과 상기 n개의 2차원 좌표 값들을 기초로 라그랑주(Lagrange) 보간법을 이용하여 n차 다항식을 생성하는 단계;
상기 n차 다항식에 대해 상기 n개의 2차원 좌표 값들에 포함되어 있지 않은 n개의 다른 입력 값들을 인가함으로써, 상기 n개의 2차원 좌표 값들과 일치하지 않는 n개의 다른 2차원 좌표 값들을 생성하는 단계; 및
상기 n개의 ECU들 각각에 대해 상기 n개의 다른 2차원 좌표 값들을 모두 전송함으로써, 상기 세션 키 K의 배포를 완료하는 단계
를 포함하는 키 배포 처리 장치의 동작 방법.A method of operating a key distribution processing apparatus for processing distribution of a session key in an encrypted manner with respect to ECUs (Electronic Control Units) mounted in a vehicle,
(N is a natural number equal to or greater than two) ECUs installed in the vehicle, when a distribution command of the session key to the n ECUs is applied, the transmission of the master key data to the n ECUs ;
Receiving n master key data when n master key data are transmitted from the n ECUs as each of the n ECUs generates different master key data;
Generating n two-dimensional coordinate values by applying each of the n master key data to a selected two-dimensional coordinate generation function as input;
Randomly generating a session key K to be distributed to the n ECUs, and generating a basic two-dimensional coordinate value corresponding to '(0, K)' based on the session key K;
Generating an n-th order polynomial using Lagrange interpolation based on the basic two-dimensional coordinate value and the n two-dimensional coordinate values;
Generating n different two-dimensional coordinate values that do not coincide with the n two-dimensional coordinate values by applying n different input values that are not included in the n two-dimensional coordinate values to the n-th polynomial; And
Completing the distribution of the session key K by transmitting all of the n different two-dimensional coordinate values for each of the n ECUs
To the key distribution processing apparatus.
상기 n개의 ECU들 각각은
메모리 상에 상기 선정된 2차원 좌표 생성 함수를 저장하고 있고, 상기 키 배포 처리 장치로부터 상기 마스터 키 데이터의 전송 요청이 수신되면, 고유의 마스터 키 데이터를 생성하여 상기 메모리 상에 저장한 후 각 마스터 키 데이터를 상기 키 배포 처리 장치로 전송하며,
상기 키 배포 처리 장치로부터 상기 n개의 다른 2차원 좌표 값들이 수신되면, 상기 n개의 ECU들 각각이 생성한 각 마스터 키 데이터를 상기 메모리 상에 저장되어 있는 상기 선정된 2차원 좌표 생성 함수에 입력으로 인가하여 2차원 마스터 좌표 값을 생성한 후 상기 키 배포 처리 장치로부터 수신된 상기 n개의 다른 2차원 좌표 값들과 상기 n개의 ECU들 각각이 생성한 2차원 마스터 좌표 값을 기초로 라그랑주 보간법을 이용하여 키 검출용 n차 다항식을 생성하고,
상기 키 검출용 n차 다항식에 '0'을 입력 값으로 인가함으로써, 상기 세션 키 K를 연산하여 상기 메모리 상에 저장하는 키 배포 처리 장치의 동작 방법.8. The method of claim 7,
Each of the n ECUs
Dimensional master key data is stored in the memory, and when the master key data transmission request is received from the key distribution processing device, unique master key data is generated and stored in the memory, Transmits the key data to the key distribution processing apparatus,
When receiving the n different two-dimensional coordinate values from the key distribution processing device, inputting each master key data generated by each of the n ECUs to the selected two-dimensional coordinate generating function stored in the memory Dimensional master coordinate value, and generates a two-dimensional master coordinate value by using the Lagrangian interpolation method based on the n different two-dimensional coordinate values received from the key distribution processing device and the two-dimensional master coordinate value generated by each of the n ECUs Generates an n-th degree polynomial for key detection,
And applying '0' to the n-th order polynomial for key detection as an input value, the session key K is computed and stored in the memory.
상기 n개의 2차원 좌표 값들을 생성하는 단계는
상기 n개의 마스터 키 데이터들을 수신하는 단계를 통해 상기 n개의 마스터 키 데이터들이 수신되면, 상기 선정된 2차원 좌표 생성 함수에 상기 n개의 마스터 키 데이터들 각각과 함께 입력으로 인가될 더미(dummy) 데이터를 랜덤하게 생성하고, 상기 더미 데이터와 상기 n개의 마스터 키 데이터들 각각을 상기 선정된 2차원 좌표 생성 함수에 입력으로 인가하여 상기 n개의 2차원 좌표 값들을 생성하며,
상기 세션 키 K의 배포를 완료하는 단계는
상기 n개의 ECU들 각각에 대해 상기 n개의 다른 2차원 좌표 값들을 모두 전송함과 동시에 상기 더미 데이터를 함께 전송함으로써, 상기 세션 키 K의 배포를 완료하고,
상기 n개의 ECU들 각각은
상기 키 배포 처리 장치로부터 상기 n개의 다른 2차원 좌표 값들과 상기 더미 데이터가 수신되면, 상기 n개의 ECU들 각각이 생성한 각 마스터 키 데이터와 상기 키 배포 처리 장치로부터 수신한 상기 더미 데이터를 상기 메모리 상에 저장되어 있는 상기 선정된 2차원 좌표 생성 함수에 입력으로 인가하여 상기 2차원 마스터 좌표 값을 생성하는 키 배포 처리 장치의 동작 방법.9. The method of claim 8,
Wherein the generating the n two-dimensional coordinate values comprises:
Wherein when the n master key data is received through receiving the n master key data, dummy data to be input as input together with each of the n master key data is added to the selected two- Generating the n two-dimensional coordinate values by applying each of the dummy data and the n master key data to the selected two-dimensional coordinate generating function as an input,
The step of completing the distribution of the session key K
The distribution of the session key K is completed by transmitting all of the n different two-dimensional coordinate values for each of the n ECUs and transmitting the dummy data together,
Each of the n ECUs
When receiving the n different two-dimensional coordinate values and the dummy data from the key distribution processing device, the master key data generated by each of the n ECUs and the dummy data received from the key distribution processing device, Dimensional master coordinate value stored in the storage unit as an input to the selected two-dimensional coordinate generation function stored in the storage unit.
상기 n개의 ECU들 각각은
상기 세션 키 K가 생성되어 상기 메모리 상에 저장되면, 상기 n개의 ECU들 간의 데이터 통신 시에 상기 메모리 상에 저장되어 있는 상기 세션 키 K를 기초로 송신 데이터에 대한 암호화를 수행하고, 수신 데이터에 대한 복호화를 수행하는 키 배포 처리 장치의 동작 방법.9. The method of claim 8,
Each of the n ECUs
When the session key K is generated and stored in the memory, encryption of transmission data is performed based on the session key K stored in the memory during data communication between the n ECUs, Wherein the key distribution processing unit performs the decryption on the key distribution processing apparatus.
상기 n개의 ECU들 중 t(t는 n보다 작은 자연수)개의 ECU들에 대해 상기 세션 키 K가 노출된 것으로 확인되면, 상기 더미 데이터와 상기 세션 키 K를 폐기하고, 대체 더미 데이터와 대체 세션 키 K'을 랜덤하게 생성하는 단계;
상기 n개의 마스터 키 데이터들 중 상기 t개의 ECU들로부터 수신된 t개의 마스터 키 데이터들을 랜덤한 키 데이터들로 초기화하는 단계;
상기 t개의 마스터 키 데이터들이 초기화되면, 상기 대체 더미 데이터와 상기 n개의 마스터 키 데이터들 - 상기 n개의 마스터 키 데이터들 중 t개의 마스터 키 데이터들은 랜덤한 키 데이터들로 초기화된 데이터들임 - 각각을 상기 선정된 2차원 좌표 생성 함수에 입력으로 인가하여 n개의 2차원 좌표 값들을 재생성하는 단계;
상기 대체 세션 키 K'을 기초로 '(0, K')'에 해당되는 기본 2차원 좌표 값을 재생성하는 단계;
상기 재생성된 기본 2차원 좌표 값과 상기 재생성된 n개의 2차원 좌표 값들을 기초로 라그랑주 보간법을 이용하여 n차 다항식을 재생성하는 단계;
상기 재생성된 n차 다항식에 대해 상기 재생성된 n개의 2차원 좌표 값들에 포함되어 있지 않은 n개의 다른 입력 값들을 인가함으로써, 상기 재생성된 n개의 2차원 좌표 값들과 일치하지 않는 n개의 다른 2차원 좌표 값들을 재생성하는 단계; 및
상기 n개의 ECU들 각각에 대해 상기 재생성된 n개의 다른 2차원 좌표 값들을 모두 전송함과 동시에 상기 대체 더미 데이터를 함께 전송함으로써, 상기 대체 세션 키 K'의 배포를 완료하는 단계
를 더 포함하는 키 배포 처리 장치의 동작 방법.10. The method of claim 9,
If it is determined that the session key K is exposed to t (n is a natural number smaller than n) of the n ECUs, the dummy data and the session key K are discarded, and the alternative dummy data and the alternative session key Randomly generating K ';
Initializing t master key data received from the t ECUs among the n master key data with random key data;
When the t master key data are initialized, the replacement dummy data and the n master key data - t master key data among the n master key data are data initialized with random key data - Applying the selected two-dimensional coordinate generation function as an input to regenerate n two-dimensional coordinate values;
Reproducing the basic two-dimensional coordinate value corresponding to '(0, K') 'based on the alternative session key K';
Regenerating an n-th order polynomial using Lagrangian interpolation based on the regenerated basic two-dimensional coordinate value and the regenerated n two-dimensional coordinate values;
By applying n different input values that are not included in the regenerated n two-dimensional coordinate values to the regenerated n-th polynomial, n different two-dimensional coordinates that do not match the regenerated n two- Regenerating the values; And
Completing the distribution of the alternate session key K 'by transmitting all of the regenerated n different two-dimensional coordinate values for each of the n ECUs and simultaneously transmitting the alternate dummy data
Further comprising the steps of:
상기 n개의 ECU들 각각은
상기 키 배포 처리 장치로부터 상기 재생성된 n개의 다른 2차원 좌표 값들과 상기 대체 더미 데이터가 수신되면, 상기 n개의 ECU들 각각이 생성한 각 마스터 키 데이터와 상기 키 배포 처리 장치로부터 수신한 상기 대체 더미 데이터를 상기 메모리 상에 저장되어 있는 상기 선정된 2차원 좌표 생성 함수에 입력으로 인가하여 2차원 마스터 좌표 값을 재생성하고,
상기 키 배포 처리 장치로부터 수신된 상기 재생성된 n개의 다른 2차원 좌표 값들과 상기 n개의 ECU들 각각이 재생성한 2차원 마스터 좌표 값을 기초로 라그랑주 보간법을 이용하여 키 검출용 n차 다항식을 재생성하며,
상기 재생성된 키 검출용 n차 다항식에 '0'을 입력 값으로 인가함으로써, 상기 대체 세션 키 K'를 연산하여 상기 메모리 상에 재저장하는 키 배포 처리 장치의 동작 방법.12. The method of claim 11,
Each of the n ECUs
When the regenerated n different two-dimensional coordinate values and the substitute dummy data are received from the key distribution processing device, the master key data generated by each of the n ECUs and the substitute dummy data received from the key distribution processing device Dimensional coordinate generating function stored in the memory to generate a two-dimensional master coordinate value,
The n-dimensional polynomial for key detection is regenerated using Lagrange interpolation based on the regenerated n different two-dimensional coordinate values received from the key distribution processing device and the two-dimensional master coordinate values regenerated by each of the n ECUs ,
Calculating an alternative session key K 'by applying' 0 'as an input value to the regenerated n-degree polynomial for detecting the key, and restoring it on the memory.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170156499A KR101987752B1 (en) | 2017-11-22 | 2017-11-22 | Key distribution processing apparatus for processing the distribution of a session key in an encrypted manner for the electronic control units mounted in a vehicle and operating method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170156499A KR101987752B1 (en) | 2017-11-22 | 2017-11-22 | Key distribution processing apparatus for processing the distribution of a session key in an encrypted manner for the electronic control units mounted in a vehicle and operating method thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190059003A true KR20190059003A (en) | 2019-05-30 |
KR101987752B1 KR101987752B1 (en) | 2019-06-11 |
Family
ID=66675706
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170156499A KR101987752B1 (en) | 2017-11-22 | 2017-11-22 | Key distribution processing apparatus for processing the distribution of a session key in an encrypted manner for the electronic control units mounted in a vehicle and operating method thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101987752B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210054857A (en) * | 2019-11-06 | 2021-05-14 | 한국전자통신연구원 | Apparatus and method for in-vehicle network communication |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100737876B1 (en) * | 2005-02-25 | 2007-07-12 | 삼성전자주식회사 | The hierarchial threshold tree-based broadcast encryption method |
KR101620954B1 (en) * | 2015-01-15 | 2016-05-16 | 고려대학교 산학협력단 | Method for group key agreement |
KR20160093764A (en) * | 2015-01-29 | 2016-08-09 | 주식회사 아나스타시스 | Secure communication system of ecu utilizing otp rom |
JP2017092807A (en) * | 2015-11-13 | 2017-05-25 | 株式会社東芝 | Inspection device, communication system, mobile body, and inspection method |
-
2017
- 2017-11-22 KR KR1020170156499A patent/KR101987752B1/en active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100737876B1 (en) * | 2005-02-25 | 2007-07-12 | 삼성전자주식회사 | The hierarchial threshold tree-based broadcast encryption method |
KR101620954B1 (en) * | 2015-01-15 | 2016-05-16 | 고려대학교 산학협력단 | Method for group key agreement |
KR20160093764A (en) * | 2015-01-29 | 2016-08-09 | 주식회사 아나스타시스 | Secure communication system of ecu utilizing otp rom |
JP2017092807A (en) * | 2015-11-13 | 2017-05-25 | 株式会社東芝 | Inspection device, communication system, mobile body, and inspection method |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210054857A (en) * | 2019-11-06 | 2021-05-14 | 한국전자통신연구원 | Apparatus and method for in-vehicle network communication |
Also Published As
Publication number | Publication date |
---|---|
KR101987752B1 (en) | 2019-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109756338A (en) | The unclonable function of physics remotely re-registers | |
US11265170B2 (en) | Vehicle information collection system, vehicle-mounted computer, vehicle information collection device, vehicle information collection method, and computer program | |
US20170063853A1 (en) | Data cipher and decipher based on device and data authentication | |
US11113408B2 (en) | Providing a secure object store using a hierarchical key system | |
CN105468940B (en) | Method for protecting software and device | |
JP6625293B2 (en) | Key management device and communication equipment | |
US9515827B2 (en) | Key management device, communication device, communication system, and computer program product | |
CN112054898B (en) | User private key backup and recovery method and device and electronic equipment | |
CN112118245B (en) | Key management method, system and equipment | |
WO2018047510A1 (en) | Processing device for mounting in vehicle | |
KR102569893B1 (en) | Method of providing secure in-vehicle network communication and appratus for implementing the same | |
Yoo et al. | Code-based authentication scheme for lightweight integrity checking of smart vehicles | |
CN113326518B (en) | Data processing method and device | |
KR101987752B1 (en) | Key distribution processing apparatus for processing the distribution of a session key in an encrypted manner for the electronic control units mounted in a vehicle and operating method thereof | |
EP2286610B1 (en) | Techniques for peforming symmetric cryptography | |
US20160148002A1 (en) | Key storage apparatus, key storage method and program therefor | |
KR20200080011A (en) | System and method for distributing and storing data | |
KR102236282B1 (en) | Method and system for authenticating communication data of vehicle | |
KR102463362B1 (en) | Blockchain-based vehicle message management apparatus and the operating method thereof | |
KR101974411B1 (en) | In-vehicle secure communication support device and operating method thereof | |
KR101887498B1 (en) | Immobilizer system with security module and authentication method thereof | |
ES2627951T3 (en) | Technique to enable a nominal flow of an executable file | |
JP2020046558A (en) | Generation device, restoration device, transmission device, reception device, generation program, restoration program, transmission program, and reception program | |
CN115834130A (en) | Attribute-based encryption method for realizing partial strategy hiding | |
CN117254907A (en) | Communication method and device based on elliptic curve public key cryptographic algorithm and electronic equipment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |