KR20190080299A - Method of providing secure in-vehicle network communication and appratus for implementing the same - Google Patents

Method of providing secure in-vehicle network communication and appratus for implementing the same Download PDF

Info

Publication number
KR20190080299A
KR20190080299A KR1020170182671A KR20170182671A KR20190080299A KR 20190080299 A KR20190080299 A KR 20190080299A KR 1020170182671 A KR1020170182671 A KR 1020170182671A KR 20170182671 A KR20170182671 A KR 20170182671A KR 20190080299 A KR20190080299 A KR 20190080299A
Authority
KR
South Korea
Prior art keywords
random number
authentication code
message authentication
key
controller
Prior art date
Application number
KR1020170182671A
Other languages
Korean (ko)
Other versions
KR102569893B1 (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 KR1020170182671A priority Critical patent/KR102569893B1/en
Publication of KR20190080299A publication Critical patent/KR20190080299A/en
Application granted granted Critical
Publication of KR102569893B1 publication Critical patent/KR102569893B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3242Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/84Vehicles

Abstract

The present invention relates to a security technique for a vehicle network, and more specifically, to a method of sharing a more lightweight encryption key and an apparatus for implementing the same. According to one embodiment of the present invention, the method of sharing an encryption key in a vehicle network comprises the following steps: generating a first random number at a first controller; transmitting the first random number to a second controller; specifying one pre-shared key based on the first random number in a key pool previously shared in the first controller and the second controller; generating a session key based on the specified pre-shared key and the first random number; receiving a second random number and a first message authentication code from the second controller; generating a second message authentication code based on the generated session key and second random number; and verifying a message authentication code based on the first and second message authentication codes. According to the present invention, less time is spent on encryption and decryption and a size of the key is reduced such that a usage amount of memory is reduced.

Description

차량 네트워크를 위한 보안 기법 및 그 장치{METHOD OF PROVIDING SECURE IN-VEHICLE NETWORK COMMUNICATION AND APPRATUS FOR IMPLEMENTING THE SAME}TECHNICAL FIELD The present invention relates to a security method for a vehicle network, and more particularly,

본 발명은 차량용 네트워크를 위한 보안 기법에 관한 것으로, 보다 상세히는 보다 경량화된 암호화 키 공유 기법 및 그를 수행하는 장치에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a security technique for a vehicle network, and more particularly, to a lighter weight encryption key sharing technique and an apparatus for performing the same.

최근 편의 기능, 안전장치, 인포테인먼트 등 차량의 전장화로 인해 전자제어기(ECU: Electronic Control Unit)와 같은 전자장치의 역할이 다양해지고, 보호하고자 하는 데이터 수가 늘어나고 있다. 이러한 추세에 따라 데이터의 암호화 및 복호화 처리속도는 매우 중요한 부분이라 할 수 있다.Recently, electronic devices such as electronic control units (ECUs) have become more diverse due to the warping of vehicles such as convenience functions, safety devices and infotainment, and the number of data to be protected is increasing. According to this tendency, the encryption and decryption processing speed of data is very important part.

일반적인 차량 네트워크 환경에서는 공개키와 개인키를 이용한 비대칭키 방식의 암호화 키 교환 방법이 사용된다.In an ordinary vehicle network environment, an asymmetric key encryption key exchange method using a public key and a private key is used.

이하, 도 1을 참조하여 일반적인 비대칭키 기반의 세션키 교환 과정을 설명한다. 도 1은 일반적인 비대칭키 기반의 비밀키 교환 과정의 일례를 나타내는 순서도이다. 도 1에서는 클러스터 제어기(CLU)와 중앙 게이트웨이(CGW: Central GateWay) 간에 세션키가 공유되는 과정이 도시된다.Hereinafter, a general asymmetric key-based session key exchange process will be described with reference to FIG. 1 is a flowchart showing an example of a general asymmetric key based secret key exchange process. In FIG. 1, a process of sharing a session key between a cluster controller (CLU) and a central gateway (CGW) is shown.

도 1을 참조하면, 먼저 게이트웨이(CGW)는 자신의 개인키(PriCGW) 및 공개키(PubCGW)를 생성할 수 있다(①). 이 중 공개키(PubCGW)는 클러스터 제어기로 소정의 방법을 통해 전달될 수 있다. 또한, 클러스터 제어기(CLU)에서는 세션키(K1) 및 랜덤 값(RCLU)을 생성할 수 있다(②).Referring to FIG. 1, the gateway CGW may generate its own private key Pri CGW and a public key Pub CGW (1). Of these, the public key Pub CGW can be delivered to the cluster controller through a predetermined method. Also, the cluster controller (CLU) can generate the session key (K 1 ) and the random value (R CLU ) (2).

클러스터 제어기는 자신이 생성한 세션키(K1) 및 랜덤 값(RCLU)을 게이트웨이의 공개키(PubCGW)로 암호화하여 게이트웨이로 전송할 수 있다(③).The cluster controller can encrypt the session key (K 1 ) and the random value (R CLU ) generated by itself with the public key (Pub CGW ) of the gateway and transmit it to the gateway (3).

그에 따라 게이트웨이는 자신의 개인키(PriCGW)로 클러스터 제어기로부터 수신된 암호화된 정보를 복호화하고, 세션키(K1) 및 랜덤 값(RCLU)을 획득할 수 있으며, 랜덤 값(RCGW)을 생성할 수 있다(④).The gateway can thus decrypt the encrypted information received from the cluster controller with its private key Pri CGW and obtain the session key K 1 and the random value R CLU and the random value R CGW , (4).

이후 게이트웨이는 세션키(K1)로 클러스터 제어기가 전송한 랜덤 값(RCLU)과 자신이 생성한 랜덤 값(RCGW)을 암호화하고, 이를 클러스터 제어기로 전송할 수 있다(⑤).The gateway then encrypts the random value (R CLU ) transmitted by the cluster controller with the session key (K 1 ) and the random value (R CGW ) generated by itself, and transmits the random value (R CGW ) to the cluster controller (5).

클러스터 제어기에서는 자신이 생성한 세션키(K1)로 게이트웨이가 암호화하여 전송한 정보를 복호화하여, 그에 포함된 랜덤 값(RCLU)과 게이트웨이가 생성한 랜덤 값(RCGW)을 획득할 수 있다. 클러스터 제어기는 복호화하여 획득한 랜덤 값(RCLU)과, 자신이 생성하여 보유한 랜덤 값(RCLU)을 서로 비교하여 동일한 경우 세션키 교환이 성공한 것으로 판단할 수 있으며, 그에 따라 세션키(K1)로 다시 게이트웨이가 생성한 랜덤 값(RCGW)을 암호화하여 게이트웨이로 전송한다(⑥).The cluster controller can decrypt the information encrypted by the gateway with the session key (K 1 ) generated by itself, and obtain the random value (R CLU ) included therein and the random value (R CGW ) generated by the gateway . Cluster controller is a random value obtained by decoding (R CLU) and, if the same by comparing a random value (R CLU) held by it generates can be determined as successful, the session key exchange, and hence the session key (K 1 (R CGW ) generated by the gateway and transmits it to the gateway (6).

게이트웨이에서는 다시 세션키로 수신된 정보를 복호화하고, 그에 포함된 랜덤 값(RCGW)을 자신이 생성하여 보유한 랜덤 값(RCGW)과 비교하여, 동일한 경우 세션키 교환이 성공한 것으로 판단할 수 있다.The gateway decrypts the received information with the session key, compares the random value R CGW included therein with the random value R CGW generated and stored therein , and determines that the exchange of the session key is successful if they are the same.

클러스터 제어기와 게이트웨이 양측에서 모두 세션키가 성공적으로 공유됨을 확인하면, 다시 양측은 시드값과 랜덤 값을 각각 생성하고 교환하여 확인한다. 확인에 성공하면, 양측 각각은 두 시드값과 키 생성 알고리즘(KDF: key derivation function)을 통해 최종 비밀키를 획득할 수 있다.Once both the cluster controller and the gateway confirm that the session key is successfully shared, both sides will generate and exchange the seed value and the random value, respectively. Upon successful verification, each of the two parties can obtain the final secret key via two seed values and a key derivation function (KDF).

상술한 비대칭키 기반의 암호화 알고리즘의 일례로, RSA-2048bits 암호화 알고리즘을 들 수 있다. RSA 암호는 인수분해의 어려움에 기반한 공개키(비대칭키) 암호화 방식으로 1978년 MIT대학 3명의 교수(Rivest, Shamir, Adleman)에 의해 개발되었으며 키의 길이에 따라 RSA-1024bits, RSA-2048bits, RSA-3072bits로 구분된다.An example of the asymmetric key-based encryption algorithm described above is the RSA-2048 bits encryption algorithm. RSA encryption was developed by three professors (Rivest, Shamir, Adleman) at MIT in 1978 as a public key (asymmetric key) encryption method based on the difficulty of factorization. RSA-1024bits, RSA-2048bits, RSA -3072bits.

이 중에서 RSA-2048bits 방식은 현재의 일반적인 차량용 제어기로도 비교적 양호한 속도로 암호화 및 복호화가 가능하나, 알고리즘의 안전성이 2030년까지만 확보될 예정이다. 따라서, 그 대안으로 RSA-3072bits 방식이 고려될 수 있으나, 본 방식은 일반적인 제어기 성능으로는 메모리 공간 및 연산 부담으로 인해 실질적으로 실시간 처리가 요구되는 차량 네트워크에서 암호화 및 복호화 처리속도가 보장되기 어렵다. 따라서, 차량 환경에서 보안성이 확보되면서도 처리 속도가 빠른 키 교환 방법이 요구되고 있는 실정이다. Among them, the RSA-2048bits method can encrypt and decode at a relatively good speed even in the current general automobile controller, but the algorithm will be secured until 2030 only. Therefore, although RSA-3072 bits scheme can be considered as an alternative, it is difficult to secure encryption and decryption processing speeds in a vehicle network in which real-time processing is required due to memory space and calculation burden in general controller performance. Accordingly, there is a need for a key exchange method that secures security in a vehicle environment and has a high processing speed.

본 발명은 차량 환경에서 보다 효율적인 키 교환 방법 및 그를 위한 장치를 제공하기 위한 것이다.The present invention is to provide a more efficient key exchange method in a vehicle environment and an apparatus therefor.

특히, 본 발명은 차량 환경에서 통신 주체의 연산 부담은 낮추면서 신뢰성을 확보할 수 있는 키 교환 방법 및 그를 위한 장치를 제공하기 위한 것이다.In particular, the present invention is to provide a key exchange method and an apparatus therefor, which can secure reliability while lowering the calculation burden of a communication subject in a vehicle environment.

본 발명에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are not restrictive of the invention, unless further departing from the spirit and scope of the invention as defined by the appended claims. It will be possible.

상기와 같은 기술적 과제를 해결하기 위하여, 본 발명의 일 실시예에 따른 차량용 네트워크에서 비밀키를 공유하는 방법은, 제1 제어기에서 제1 난수를 생성하는 단계; 상기 제1 난수를 제2 제어기로 전송하는 단계; 상기 제1 제어기와 상기 제2 제어기에 미리 공유된 키풀에서 상기 제1 난수를 기반으로 어느 하나의 프리 공유키를 특정하는 단계; 상기 특정된 프리 공유키와 상기 제1 난수를 기반으로 세션키를 생성하는 단계; 상기 제2 제어기로부터 제2 난수 및 제1 메지시 인증 코드를 수신하는 단계; 상기 생성된 세션키와 상기 제2 난수를 기반으로 제2 메시지 인증 코드를 생성하는 단계; 및 상기 제1 메시지 인증 코드와 상기 제2 메시지 인증 코드를 기반으로 메시지 인증 코드 검증을 수행하는 단계를 포함할 수 있다.According to another aspect of the present invention, there is provided a method for sharing a secret key in a vehicular network, the method comprising: generating a first random number in a first controller; Transmitting the first random number to a second controller; Identifying a pre-shared key based on the first random number in a pre-shared keyframe shared by the first controller and the second controller; Generating a session key based on the specified pre-shared key and the first random number; Receiving a second random number and a first message authentication code from the second controller; Generating a second message authentication code based on the generated session key and the second random number; And performing message authentication code verification based on the first message authentication code and the second message authentication code.

또한, 본 발명의 일 실시예에 따른 차량용 네트워크에서 비밀키를 공유하는 방법은, 제1 제어기에서 제2 제어기로부터 제1 난수를 수신하는 단계; 상기 제1 제어기와 상기 제2 제어기에 미리 공유된 키풀에서 상기 제1 난수를 기반으로 어느 하나의 프리 공유키를 특정하는 단계; 상기 특정된 프리 공유키와 상기 제1 난수를 기반으로 세션키를 생성하는 단계; 제2 난수를 생성하는 단계; 상기 생성된 세션키와 상기 제2 난수를 기반으로 제1 메시지 인증 코드를 생성하는 단계; 및 상기 제2 제어기로 상기 제2 난수 및 상기 제1 메지시 인증 코드를 전송하는 단계를 포함할 수 있다.Also, a method of sharing a secret key in a vehicular network according to an embodiment of the present invention includes: receiving a first random number from a second controller in a first controller; Identifying a pre-shared key based on the first random number in a pre-shared keyframe shared by the first controller and the second controller; Generating a session key based on the specified pre-shared key and the first random number; Generating a second random number; Generating a first message authentication code based on the generated session key and the second random number; And transmitting the second random number and the first message authentication code to the second controller.

또한, 본 발명의 일 실시예에 따른 차량용 네트워크에서 비밀키를 공유하는 차량용 통신 장치는, 제1 난수를 생성하는 난수 생성부; 상기 제1 난수를 대상 장치로 전송하는 통신 모듈; 상기 차량용 통신 장치와 상기 대상 장치에 미리 공유된 키풀을 저장하는 키풀 메모리; 상기 키풀에서 상기 제1 난수를 기반으로 어느 하나의 프리 공유키를 특정하는 프리 공유키 특정 모듈; 상기 특정된 프리 공유키와 상기 제1 난수를 기반으로 세션키를 생성하는 세션키 생성 모듈; 상기 통신 모듈에서 상기 대상 장치로부터 제2 난수 및 제1 메지시 인증 코드가 수신되면, 상기 생성된 세션키와 상기 제2 난수를 기반으로 제2 메시지 인증 코드를 생성하고, 상기 제1 메시지 인증 코드와 상기 제2 메시지 인증 코드를 기반으로 메시지 인증 코드 검증을 수행하는 메시지 인증 코드 연산부를 포함할 수 있다.The vehicle communication device sharing the secret key in the vehicle network according to the embodiment of the present invention may further include: a random number generator for generating a first random number; A communication module for transmitting the first random number to a target device; A carpool memory for storing a carpool shared with the vehicle communication device and the target device; A pre-shared key identifying module that identifies any one of the pre-shared keys based on the first random number; A session key generation module for generating a session key based on the specified pre-shared key and the first random number; Wherein the communication module generates a second message authentication code based on the generated session key and the second random number when the second random number and the first message authentication code are received from the target device, And a message authentication code operation unit for performing message authentication code verification based on the second message authentication code.

아울러, 본 발명의 일 실시예에 따른 차량용 네트워크에서 비밀키를 공유하는 차량용 통신 장치는, 제1 난수를 생성하는 난수 생성부; 상기 제1 난수를 대상 장치로 전송하는 통신 모듈; 상기 차량용 통신 장치와 상기 대상 장치에 미리 공유된 키풀을 저장하는 키풀 메모리; 상기 키풀에서 상기 제1 난수를 기반으로 어느 하나의 프리 공유키를 특정하는 프리 공유키 특정 모듈; 상기 특정된 프리 공유키와 상기 제1 난수를 기반으로 세션키를 생성하는 세션키 생성 모듈; 상기 통신 모듈에서 상기 대상 장치로부터 제2 난수 및 제1 메지시 인증 코드가 수신되면, 상기 생성된 세션키와 상기 제2 난수를 기반으로 제2 메시지 인증 코드를 생성하고, 상기 제1 메시지 인증 코드와 상기 제2 메시지 인증 코드를 기반으로 메시지 인증 코드 검증을 수행하는 메시지 인증 코드 연산부를 포함할 수 있다.In addition, a communication device for sharing a secret key in a vehicle network according to an embodiment of the present invention includes: a random number generator for generating a first random number; A communication module for transmitting the first random number to a target device; A carpool memory for storing a carpool shared with the vehicle communication device and the target device; A pre-shared key identifying module that identifies any one of the pre-shared keys based on the first random number; A session key generation module for generating a session key based on the specified pre-shared key and the first random number; Wherein the communication module generates a second message authentication code based on the generated session key and the second random number when the second random number and the first message authentication code are received from the target device, And a message authentication code operation unit for performing message authentication code verification based on the second message authentication code.

상기와 같이 구성되는 본 발명의 적어도 하나의 실시예에 관련된 비밀키 교환 방법을 통해 각 통신 주체의 연산 부담은 낮추면서 보안성이 확보될 수 있다.The secret key exchange method according to at least one embodiment of the present invention configured as described above can secure the security while lowering the calculation burden of each communication subject.

특히, 암호화 및 복호화에 소요되는 시간이 줄어들며, 키의 사이즈 또한 줄어들기 때문에 메모리 사용량이 적으며, 키 풀을 통해 다양한 사전 키가 확보될 수 있다.In particular, since the time required for encryption and decryption is reduced, and the size of the key is also reduced, the memory usage is small and various dictionary keys can be secured through the key pool.

본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The effects obtained by the present invention are not limited to the above-mentioned effects, and other effects not mentioned can be clearly understood by those skilled in the art from the following description will be.

도 1은 일반적인 비대칭키 기반의 비밀키 교환 과정의 일례를 나타내는 순서도이다.
도 2는 본 발명의 일 실시예에 따른 비밀키 공유 과정의 일례를 나타내는 순서도이다.
도 3은 본 발명의 일 실시예에 따른 차량용 통신 장치 구조의 일례를 나타내는 블럭도이다.
1 is a flowchart showing an example of a general asymmetric key based secret key exchange process.
2 is a flowchart illustrating an example of a secret key sharing process according to an embodiment of the present invention.
3 is a block diagram showing an example of the structure of a communication device for a vehicle according to an embodiment of the present invention.

이하, 본 발명과 관련된 주행기록 관리 방법 및 그를 위한 장치에 대하여 도면을 참조하여 보다 상세하게 설명한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다.Hereinafter, a driving record management method and an apparatus therefor according to the present invention will be described in detail with reference to the drawings. The suffix "module" and " part "for the components used in the following description are given or mixed in consideration of ease of specification, and do not have their own meaning or role.

본 발명의 일 실시예에서는 차량 환경에서 두 통신 주체간에 미리 복수의 키를 추출할 수 있는 키 풀(pool)을 공유하되, 키 풀에서 하나의 키를 추출하기 위한 정보만을 공유함으로써 양측에 동일한 비밀키, 예컨대, 세션키가 획득되도록 할 것을 제안한다.According to an embodiment of the present invention, a key pool is extracted from a plurality of keys in a vehicle environment. In this case, only information for extracting one key from the key pool is shared, Key, e.g., a session key, is obtained.

본 발명의 일 실시예에 따른 비밀키 공유 과정을 도 2를 참조하여 설명한다.A secret key sharing process according to an embodiment of the present invention will be described with reference to FIG.

도 2는 본 발명의 일 실시예에 따른 비밀키 공유 과정의 일례를 나타내는 순서도이다. 도 2에서 통신 주체는 두 개의 제어기(ECU A, ECU B)인 것으로 가정하나, 이는 예시적인 것으로 어느 하나가 게이트웨이일 수도 있다. 또한, 도 2에서 각 제어기(ECU A, ECU B)는 복수의 프리 공유키(PSK: Pre Shared Key)를 추출할 수 있는 동일한 키풀(key pool)을 미리 보유하고 있는 것으로 가정한다. 여기서, 키풀의 크기는, 프리 공유키(PSK)의 길이보다 긴 것이 바람직하며, 프리 공유키를 추출한다고 함은 키풀을 구성하는 복수의 바이트 중 프리 공유키의 길이에 해당하는 바이트를 소정의 방식으로 선택함을 의미할 수 있다. 아울러, 키풀은 그를 구성하는 복수의 바이트들의 위치가 고정된 상태로 각 제어기에 주입될 수도 있고, 임의의 배치 순서로 제어기에 주입된 후 난독화된 함수를 통해 소정 바이트 단위로 배치 순서를 변경하는 방법으로 키풀을 확정하여 사용하는 형태가 될 수도 있다.2 is a flowchart illustrating an example of a secret key sharing process according to an embodiment of the present invention. In Fig. 2, the communication subject is assumed to be two controllers (ECU A, ECU B), but this is exemplary and either one may be a gateway. In FIG. 2, it is assumed that each of the controllers (ECU A, ECU B) holds the same key pool in which a plurality of pre-shared keys (PSK) can be extracted. Here, the size of the key fob is preferably longer than the length of the pre-shared key (PSK), and extracting the pre-shared key means that the byte corresponding to the length of the pre- shared key among the plurality of bytes constituting the key- . ≪ / RTI > In addition, the kits may be injected into the respective controllers in a state where the positions of the plurality of bytes constituting the kits are fixed, and they are injected into the controller in an arbitrary arrangement order, and then the placement order is changed in units of predetermined bytes through the obfuscated function It is also possible to use the form to confirm the kippur.

도 2를 참조하면, 먼저 일측(예컨대, ECU A)에서 타측(예컨대, ECU B)에 비밀키 공유 과정을 개시하기 위한 비밀키 공유 요청을 전송할 수 있다(S210). 본 실시예는 비밀키 공유 요청을 위한 신호의 형태에 제한되지 아니한다.Referring to FIG. 2, a secret key sharing request for initiating a secret key sharing process from one side (e.g., ECU A) to the other side (e.g., ECU B) may be transmitted (S210). The present embodiment is not limited to the form of the signal for the secret key sharing request.

ECU B에서는 비밀키 공유 요청에 따라 난수(rndECU B)를 생성하고(S220), 이를 ECU A에 전달한다(S230).The ECU B generates a random number (rnd ECU B ) in response to the secret key sharing request (S220), and transmits it to the ECU A (S230).

ECU A는 전달받은 난수(rndECU B)를 이용하여 키풀에서 어느 하나의 프리 공유키(PSK)를 특정하고, 특정된 프리 공유키(PSK)와 전달받은 난수(rndECU B)로 세션키(SK: Session Key)를 생성할 수 있다. 또한, ECU A는 다른 난수(rndECU A)를 생성한 후 이를 세션키와 함께 이용하여 메시지 인증 코드(MAC: Message Authentication Code)를 생성할 수 있다(S240A).ECU A is a session key to the random number (rnd ECU B) a random number (rnd ECU B) received specific for any one of the pre-shared key (PSK) in kipul, and passes with a specific pre-shared key (PSK) using a received ( SK: Session Key). In addition, the ECU A may generate a message authentication code (MAC) using another random number (rnd ECU A ) using the session key together with the session key (S240A).

보다 상세히, 프리 공유키의 특정은 기 설정된 난독화된 함수(Hidden1)를 이용하여 "PSK = Hidden1( Key Pool, rndECU B )"와 같이 수행될 수 있다. 세션키 또한 기 설정된 난독화된 함수(Hidden2)를 이용하여 "SK = Hidden2( PSK, rndECU B )"와 같이 구해질 수 있다. 아울러, 메시지 인증 코드(MAC)는 "MAC = CMAC(SK, rndECU A )"와 같이 구해질 수 있으나, 이는 예시적인 것으로 반드시 CMAC(Cipher-based Message Authentication Code) 함수로 생성되어야 하는 것은 아니다.More specifically, the specification of the pre-shared key can be performed as "PSK = Hidden 1 (Key Pool, rnd ECU B )" using a predetermined obfuscated function (Hidden 1 ). The session key can also be obtained as "SK = Hidden 2 (PSK, rnd ECU B )" using a predetermined obfuscated function (Hidden 2 ). In addition, the message authentication code (MAC) can be obtained as "MAC = CMAC (SK, rnd ECU A ) ", but this is an example and is not necessarily generated as a CMAC (Cipher-based Message Authentication Code) function.

한편, ECU B는 자신이 생성한 난수(rndECU B)를 이용하여 키풀에서 어느 하나의 프리 공유키(PSK)를 특정하고, 특정된 프리 공유키(PSK)와 자신이 생성한 난수(rndECU B)로 세션키(SK: Session Key)를 생성할 수 있다(S240B). 구체적인 프리 공유키와 세션키의 생성 방법은 ECU A에서 수행되는 과정과 동일한 바, 중복되는 기재는 생략하기로 한다.On the other hand, ECU B is their generated random number (rnd ECU B) of any one of the pre-shared key (PSK) specific, and the particular pre-share key (PSK), and that it generates a random number (rnd ECU from kipul using B ) to generate a session key (SK: Session Key) (S240B). The concrete free shared key and the method of generating the session key are the same as those performed by the ECU A, and overlapping descriptions will be omitted.

ECU A는 생성한 메시지 인증 코드(MAC)와 자신이 생성한 난수(rndECU A)를 ECU B로 전달할 수 있다(S250).The ECU A can transmit the generated message authentication code (MAC) and the generated random number (rnd ECU A ) to the ECU B (S250).

ECU B는 전달받은 난수(rndECU A)와 생성된 세션키(SK)를 이용하여(CMAC 함수 이용) 메시지 인증 코드(MAC)를 생성할 수 있으며, 자신이 생성한 메시지 인증 코드를 ECU A로부터 전달받은 메시지 인증 코드와 비교하여 동일 여부 판단, 즉, MAC 검증을 수행할 수 있다(S260).The ECU B can generate a message authentication code (MAC) using the received random number (rnd ECU A ) and the generated session key (SK) (using the CMAC function) The message verification code is compared with the received message authentication code to perform the same determination (i.e., MAC verification) (S260).

MAC 검증이 성공적으로 수행되면, 세션키가 두 제어기 간에 정상적으로 공유된 것으로 볼 수 있으며, 이후에는 전송할 데이터가 있는 통신 주체에서 데이터와 세션키를 이용하여 메시지 인증 코드를 생성(예컨대, MAC = CMAC(SK, Data))한 후 이를 데이터와 함께 전송하는 방법으로 데이터 교환이 수행될 수 있다(S270).If the MAC verification is successfully performed, the session key can be regarded as normally shared between the two controllers. Then, the communication entity having the data to be transmitted generates a message authentication code using the data and the session key (for example, MAC = CMAC SK, Data), and then transmits the data together with the data (S270).

도 2에서 ECU B가 난수(rndECU B)의 전달(S230) 후 프리 공유키와 세션키를 생성(S240B)하는 것으로 도시되었으나, 이는 예시적인 것으로 두 과정은 동시에 수행될 수도 있고 프리 공유키와 세션키를 생성(S240B)이 난수(rndECU B)의 전달(S230)보다 먼저 수행될 수도 있다. 또한, 프리 공유키와 세션키의 생성(S240B)은 ECU A로부터 난수(rndECU A)와 메시지 인증 코드를 받은 후에 수행될 수도 있고, 생성 중에 난수(rndECU A)와 메시지 인증 코드가 ECU B에 수신될 수도 있다. 아울러, 비밀키 공유 요청(S210) 과정이 생략되고 일측에서 타측으로 난수를 전송하는 과정으로 대체되거나 전송하는 과정에 포함되는 형태가 될 수도 있다.Although FIG. 2 shows that the ECU B generates a pre-shared key and a session key (S240B) after the delivery of the random number (rnd ECU B ) (S230), this is illustrative and both processes may be performed simultaneously, The generation of the session key (S240B) may be performed before the transmission (S230) of the random number (rnd ECU B ). In addition, the pre-shared key with the session key generated (S240B) the ECU A from the random number (rnd ECU A) and may be performed after receiving the message authentication code, a random number (rnd ECU A) and the message in the generated authentication code ECU B Lt; / RTI > In addition, the process of requesting the secret key sharing (S210) may be omitted and the random number may be transmitted from one side to the other, or may be included in the process of being transmitted or transmitted.

상술한 키 공유 방법이 적용되는 경우, 비록 키풀의 일부 또는 전체 프리 공유키, 그리고 난수(rndECU B)가 노출된다고 하더라도, 난독화된 함수(Hidden1)로 인해 실제로 특정될 프리 공유키를 공격자가 알기 어렵다. 뿐만 아니라, 공격자가 프리 공유키를 특정해낸다고 하더라도, 다른 난독화된 함수(Hidden2)로 인해 실제 사용될 세션키는 더욱 알기 어려우며, 두 통신 주체 간에 실제로 세션키 자체가 오가는 일이 없으므로 키 공유 절차 중의 통신 과정에서 세션키가 유출될 염려도 없다.In the case where the above-described key sharing method is applied, even if a part or whole pre-shared key of the keyframe and a random number (rnd ECU B ) are exposed, the pre-shared key actually to be specified due to the obfuscated function (Hidden 1 ) It is hard to know. In addition, even if the attacker specifies a free shared key, the session key actually used will be difficult to understand due to another obfuscated function (Hidden 2 ), and since the session key itself does not actually move between the two communication subjects, There is no fear that the session key will be leaked out during the communication process of the mobile terminal.

또한, 일반적인 비대칭키 방식에서는 2회의 암호화 및 복호화 과정(즉, 개인키와 공캐키를 이용한 암/복호화 및 세션키를 이용한 암/복호화)을 거쳐야 하나, 본 실시예에 따른 방법은 1회의 암/복호화 과정(즉, MAC 검증)만을 거치므로 제어기의 부담이 적고 신속한 연산이 기대될 수 있다. 아울러, RSA 방식의 비교적 길이가 긴 비대칭키/세션키에 비하여 키풀의 구성에 따라서 각종 키 저장을 위한 메모리 용량을 크게 줄일 수도 있다.Also, in the general asymmetric key method, it is necessary to perform two encryption and decryption processes (i.e., encryption / decryption using a private key and a public key and encryption / decryption using a session key) Since only the decoding process (i.e., MAC verification) is performed, the load on the controller is small and a fast operation can be expected. In addition, the memory capacity for storing various keys can be greatly reduced according to the configuration of the keyframe, as compared with the asymmetric key / session key having a relatively long RSA method.

이하에서는 상술한 과정을 수행하기 위한 장치 구성을 도 3을 참조하여 설명한다. 도 3은 본 발명의 일 실시예에 따른 차량용 통신 장치 구조의 일례를 나타내는 블럭도이다.Hereinafter, an apparatus configuration for performing the above-described process will be described with reference to FIG. 3 is a block diagram showing an example of the structure of a communication device for a vehicle according to an embodiment of the present invention.

도 3에 도시된 차량용 통신 장치는 제어기 형태로 구현될 수도 있고, 게이트웨이 형태로 구현될 수도 있다.The vehicle communication apparatus shown in FIG. 3 may be implemented in the form of a controller or a gateway.

도 3을 참조하면, 본 실시예에 따른 차량용 통신 장치는 암호화된 통신을 수행할 대상 장치와 신호를 교환하기 위한 통신 모듈(310), 키 풀을 저장하는 키풀 메모리(320), 난수를 생성하는 난수 생성부(330), PSK를 특정하는 PSK 특정 모듈(340), 세션키를 생성하는 세션키 생성 모듈(350), MAC을 생성하고 검증하는 MAC 연산부(360)를 포함할 수 있다.3, the vehicular communication apparatus according to the present embodiment includes a communication module 310 for exchanging signals with a target device to perform encrypted communication, a key pool memory 320 for storing a key pool, A random number generation unit 330, a PSK specifying module 340 for specifying a PSK, a session key generating module 350 for generating a session key, and an MAC calculating unit 360 for generating and verifying a MAC.

여기서, 통신 모듈(310)은 차량용 통신에 널리 사용되는 CAN(Controller Area Network) 프로토콜, 이더넷(Ethernet) 프로토콜, LIN 프로토콜 중 적어도 하나를 지원할 수 있으나, 반드시 이에 한정되는 것은 아니다.Here, the communication module 310 may support at least one of a CAN (Controller Area Network) protocol, an Ethernet protocol, and a LIN protocol widely used for vehicle communication, but is not limited thereto.

PSK 특정 모듈(340)은 전술된 바와 같이 난독화된 함수(Hidden1)와, 난수 생성부(330)에서 생성되거나 외부에서 전달받은 난수를 기반으로 키 풀에서 어느 하나의 PSK를 특정할 수 있다.The PSK specific module 340 can specify any PSK in the key pool based on the obfuscated function Hidden 1 and the random number generated or received from the random number generation unit 330 as described above .

또한, 세션키 생성 모듈(350)은 난독화된 함수(Hidden2)와, PSK 특정에 이용된 난수 및 특정된 PSK를 기반으로 세션키를 생성할 수 있다.Also, the session key generation module 350 can generate a session key based on the obfuscated function (Hidden 2 ), the random number used for PSK specification and the specified PSK.

아울러, MAC 연산부(360)는 생성된 세션키와, PSK 특정에 이용된 난수와는 다른 난수를 기반으로 MAC를 생성할 수 있다. MAC 연산부(360)는 생성된 MAC은 대상 장치로 전송될 수도 있고, 대상 장치로부터 MAC이 수신된 경우 자신이 생성한 MAC을 이용하여 MAC 인증 절차를 수행할 수도 있다. MAC 인증 절차에 성공한 후에는 MAC 연산부(360)는 대상 장치에 전송할 데이터와 세션키를 이용하여 MAC을 생성하고, 이를 데이터와 함께 통신 모듈(310)을 통해 대상 장치에 전송되도록 할 수 있다.In addition, the MAC operation unit 360 may generate a MAC based on the generated session key and a random number different from the random number used for the PSK specification. The MAC operation unit 360 may transmit the generated MAC to the target device or may perform the MAC authentication procedure using the MAC generated by the target device when the MAC is received from the target device. After the MAC authentication process is successful, the MAC operation unit 360 may generate the MAC by using the data to be transmitted to the target device and the session key, and may transmit the MAC to the target device through the communication module 310 together with the data.

전술한 본 발명은, 프로그램이 기록된 매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 매체는, 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 매체의 예로는, HDD(Hard Disk Drive), SSD(Solid State Disk), SDD(Silicon Disk Drive), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있다.The present invention described above can be embodied as computer-readable codes on a medium on which a program is recorded. The computer readable medium includes all kinds of recording devices in which data that can be read by a computer system is stored. Examples of the computer readable medium include a hard disk drive (HDD), a solid state disk (SSD), a silicon disk drive (SDD), a ROM, a RAM, a CD-ROM, a magnetic tape, a floppy disk, .

따라서, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 전환은 본 발명의 범위에 포함된다.Accordingly, the above description should not be construed in a limiting sense in all respects and should be considered illustrative. The scope of the present invention should be determined by rational interpretation of the appended claims, and all conversions within the scope of equivalents of the present invention are included in the scope of the present invention.

Claims (17)

차량용 네트워크에서 비밀키를 공유하는 방법에 있어서,
제1 제어기에서 제1 난수를 생성하는 단계;
상기 제1 난수를 제2 제어기로 전송하는 단계;
상기 제1 제어기와 상기 제2 제어기에 미리 공유된 키풀에서 상기 제1 난수를 기반으로 어느 하나의 프리 공유키를 특정하는 단계;
상기 특정된 프리 공유키와 상기 제1 난수를 기반으로 세션키를 생성하는 단계;
상기 제2 제어기로부터 제2 난수 및 제1 메지시 인증 코드를 수신하는 단계;
상기 생성된 세션키와 상기 제2 난수를 기반으로 제2 메시지 인증 코드를 생성하는 단계; 및
상기 제1 메시지 인증 코드와 상기 제2 메시지 인증 코드를 기반으로 메시지 인증 코드 검증을 수행하는 단계를 포함하는, 비밀키 공유 방법.
A method for sharing a secret key in a vehicle network,
Generating a first random number in a first controller;
Transmitting the first random number to a second controller;
Identifying a pre-shared key based on the first random number in a pre-shared keyframe shared by the first controller and the second controller;
Generating a session key based on the specified pre-shared key and the first random number;
Receiving a second random number and a first message authentication code from the second controller;
Generating a second message authentication code based on the generated session key and the second random number; And
And performing message authentication code verification based on the first message authentication code and the second message authentication code.
제1 항에 있어서,
상기 프리 공유키를 특정하는 단계는 난독화된 제1 함수를 이용하여 수행되는, 비밀키 공유 방법.
The method according to claim 1,
Wherein the step of specifying the pre-shared key is performed using an obfuscated first function.
제1 항에 있어서,
상기 세션키를 생성하는 단계는 난독화된 제2 함수를 이용하여 수행되는, 비밀키 공유 방법.
The method according to claim 1,
Wherein the step of generating the session key is performed using an obfuscated second function.
제1 항에 있어서,
상기 메시지 인증 코드 검증에 성공한 경우, 상기 제2 제어기로 전송될 데이터와 상기 세션키를 기반으로 제3 메시지 인증 코드를 생성하는 단계; 및
상기 데이터를 상기 제3 메시지 인증 코드와 함께 상기 제2 제어기로 전송하는 단계를 더 포함하는, 비밀키 공유 방법.
The method according to claim 1,
Generating a third message authentication code based on the data to be transmitted to the second controller and the session key if the message authentication code is successfully verified; And
And sending the data along with the third message authentication code to the second controller.
차량용 네트워크에서 비밀키를 공유하는 방법에 있어서,
제1 제어기에서 제2 제어기로부터 제1 난수를 수신하는 단계;
상기 제1 제어기와 상기 제2 제어기에 미리 공유된 키풀에서 상기 제1 난수를 기반으로 어느 하나의 프리 공유키를 특정하는 단계;
상기 특정된 프리 공유키와 상기 제1 난수를 기반으로 세션키를 생성하는 단계;
제2 난수를 생성하는 단계;
상기 생성된 세션키와 상기 제2 난수를 기반으로 제1 메시지 인증 코드를 생성하는 단계; 및
상기 제2 제어기로 상기 제2 난수 및 상기 제1 메지시 인증 코드를 전송하는 단계를 포함하는, 비밀키 공유 방법.
A method for sharing a secret key in a vehicle network,
Receiving a first random number from a second controller in a first controller;
Identifying a pre-shared key based on the first random number in a pre-shared keyframe shared by the first controller and the second controller;
Generating a session key based on the specified pre-shared key and the first random number;
Generating a second random number;
Generating a first message authentication code based on the generated session key and the second random number; And
And transmitting the second random number and the first message authentication code to the second controller.
제5 항에 있어서,
상기 프리 공유키를 특정하는 단계는 난독화된 제1 함수를 이용하여 수행되는, 비밀키 공유 방법.
6. The method of claim 5,
Wherein the step of specifying the pre-shared key is performed using an obfuscated first function.
제5 항에 있어서,
상기 세션키를 생성하는 단계는 난독화된 제2 함수를 이용하여 수행되는, 비밀키 공유 방법.
6. The method of claim 5,
Wherein the step of generating the session key is performed using an obfuscated second function.
제5 항에 있어서,
상기 제2 제어기에서 상기 제1 메시지 인증 코드를 이용한 메시지 인증 코드 검증에 성공한 경우, 상기 제2 제어기로 전송될 데이터와 상기 세션키를 기반으로 제3 메시지 인증 코드를 생성하는 단계; 및
상기 데이터를 상기 제3 메시지 인증 코드와 함께 상기 제2 제어기로 전송하는 단계를 더 포함하는, 비밀키 공유 방법.
6. The method of claim 5,
Generating a third message authentication code based on the data to be transmitted to the second controller and the session key if the second controller succeeds in verifying the message authentication code using the first message authentication code; And
And sending the data along with the third message authentication code to the second controller.
제1 항 내지 제8 항 중 어느 한 항에 따른 비밀키 공유 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터 해독 가능 기록 매체.9. A computer-readable recording medium storing a program for executing a secret key sharing method according to any one of claims 1 to 8. 차량용 네트워크에서 비밀키를 공유하는 차량용 통신 장치에 있어서,
제1 난수를 생성하는 난수 생성부;
상기 제1 난수를 대상 장치로 전송하는 통신 모듈;
상기 차량용 통신 장치와 상기 대상 장치에 미리 공유된 키풀을 저장하는 키풀 메모리;
상기 키풀에서 상기 제1 난수를 기반으로 어느 하나의 프리 공유키를 특정하는 프리 공유키 특정 모듈;
상기 특정된 프리 공유키와 상기 제1 난수를 기반으로 세션키를 생성하는 세션키 생성 모듈;
상기 통신 모듈에서 상기 대상 장치로부터 제2 난수 및 제1 메지시 인증 코드가 수신되면, 상기 생성된 세션키와 상기 제2 난수를 기반으로 제2 메시지 인증 코드를 생성하고, 상기 제1 메시지 인증 코드와 상기 제2 메시지 인증 코드를 기반으로 메시지 인증 코드 검증을 수행하는 메시지 인증 코드 연산부를 포함하는, 차량용 통신 장치.
1. A vehicle communication device sharing a secret key in a vehicle network,
A random number generator for generating a first random number;
A communication module for transmitting the first random number to a target device;
A carpool memory for storing a carpool shared with the vehicle communication device and the target device;
A pre-shared key identifying module that identifies any one of the pre-shared keys based on the first random number;
A session key generation module for generating a session key based on the specified pre-shared key and the first random number;
Wherein the communication module generates a second message authentication code based on the generated session key and the second random number when the second random number and the first message authentication code are received from the target device, And a message authentication code computation unit for performing message authentication code verification based on the second message authentication code.
제10 항에 있어서,
상기 프리 공유키 특정 모듈은,
난독화된 제1 함수를 이용하여 상기 프리 공유키를 특정하는, 차량용 통신 장치.
11. The method of claim 10,
Wherein the pre-shared key specific module comprises:
And specifies the pre-shared key using the obfuscated first function.
제10 항에 있어서,
상기 세션키 생성 모듈은,
난독화된 제2 함수를 이용하여 상기 세션키를 생성하는, 차량용 통신 장치.
11. The method of claim 10,
The session key generation module includes:
And generates the session key using the obfuscated second function.
제10 항에 있어서,
상기 메시지 인증 코드 연산부는,
상기 메시지 인증 코드 검증에 성공한 경우, 상기 대상 장치로 전송될 데이터와 상기 세션키를 기반으로 제3 메시지 인증 코드를 생성하고,
상기 통신 모듈은,
상기 데이터를 상기 제3 메시지 인증 코드와 함께 상기 대상 장치로 전송하는, 차량용 통신 장치.
11. The method of claim 10,
The message authentication code computation unit,
Generates a third message authentication code based on the data to be transmitted to the target device and the session key if the message authentication code is successfully verified,
The communication module includes:
And transmits the data together with the third message authentication code to the target device.
차량용 네트워크에서 비밀키를 공유하는 차량용 통신 장치에 있어서,
대상 장치로부터 제1 난수를 수신하는 통신 모듈;
상기 차량용 통신 장치와 상기 대상 장치에 미리 공유된 키풀을 저장하는 키풀 메모리;
상기 키풀에서 상기 제1 난수를 기반으로 어느 하나의 프리 공유키를 특정하는 프리 공유키 특정 모듈;
상기 특정된 프리 공유키와 상기 제1 난수를 기반으로 세션키를 생성하는 세션키 생성 모듈;
제2 난수를 생성하는 난수 생성 모듈;
상기 생성된 세션키와 상기 제2 난수를 기반으로 제1 메시지 인증 코드를 생성하고, 상기 대상 장치로 상기 통신 모듈을 통해 상기 제2 난수 및 상기 제1 메지시 인증 코드가 전송되도록 제어하는 메시지 인증 코드 연산부를 포함하는, 차량용 통신 장치.
1. A vehicle communication device sharing a secret key in a vehicle network,
A communication module for receiving a first random number from the target device;
A carpool memory for storing a carpool shared with the vehicle communication device and the target device;
A pre-shared key identifying module that identifies any one of the pre-shared keys based on the first random number;
A session key generation module for generating a session key based on the specified pre-shared key and the first random number;
A random number generation module for generating a second random number;
Generates a first message authentication code based on the generated session key and the second random number, and transmits a message authentication code for controlling the second random number and the first message authentication code to be transmitted to the target device through the communication module And a code calculation unit.
제14 항에 있어서,
상기 프리 공유키 특정 모듈은,
난독화된 제1 함수를 이용하여 상기 프리 공유키를 특정하는, 차량용 통신 장치.
15. The method of claim 14,
Wherein the pre-shared key specific module comprises:
And specifies the pre-shared key using the obfuscated first function.
제14 항에 있어서,
상기 세션키 생성 모듈은,
난독화된 제2 함수를 이용하여 상기 세션키를 생성하는, 차량용 통신 장치.
15. The method of claim 14,
The session key generation module includes:
And generates the session key using the obfuscated second function.
제14 항에 있어서,
메시지 인증 코드 연산부는,
상기 제2 제어기에서 상기 제1 메시지 인증 코드를 이용한 메시지 인증 코드 검증에 성공한 경우, 상기 제2 제어기로 전송될 데이터와 상기 세션키를 기반으로 제3 메시지 인증 코드를 생성하고,
상기 통신 모듈은,
상기 데이터를 상기 제3 메시지 인증 코드와 함께 상기 대상 장치로 전송하는, 차량용 통신 장치.
15. The method of claim 14,
The message authentication code calculation unit,
Generates a third message authentication code based on the data to be transmitted to the second controller and the session key if the second controller succeeds in verifying the message authentication code using the first message authentication code,
The communication module includes:
And transmits the data together with the third message authentication code to the target device.
KR1020170182671A 2017-12-28 2017-12-28 Method of providing secure in-vehicle network communication and appratus for implementing the same KR102569893B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170182671A KR102569893B1 (en) 2017-12-28 2017-12-28 Method of providing secure in-vehicle network communication and appratus for implementing the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170182671A KR102569893B1 (en) 2017-12-28 2017-12-28 Method of providing secure in-vehicle network communication and appratus for implementing the same

Publications (2)

Publication Number Publication Date
KR20190080299A true KR20190080299A (en) 2019-07-08
KR102569893B1 KR102569893B1 (en) 2023-08-23

Family

ID=67256587

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170182671A KR102569893B1 (en) 2017-12-28 2017-12-28 Method of providing secure in-vehicle network communication and appratus for implementing the same

Country Status (1)

Country Link
KR (1) KR102569893B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113992331A (en) * 2021-11-15 2022-01-28 苏州挚途科技有限公司 Vehicle-mounted Ethernet data transmission method, device and system
KR102406252B1 (en) * 2021-12-13 2022-06-08 주식회사 유니온플레이스 Method of securely communicating data
CN115314253A (en) * 2022-07-06 2022-11-08 湖南行必达网联科技有限公司 Data processing method, device, system, equipment and working machine

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003337629A (en) * 2002-05-18 2003-11-28 Mitsuko Miyaji Program obfuscation method and device
KR20140059485A (en) * 2012-11-08 2014-05-16 숭실대학교산학협력단 Device authentication apparatus and method using physical unclonable function

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003337629A (en) * 2002-05-18 2003-11-28 Mitsuko Miyaji Program obfuscation method and device
KR20140059485A (en) * 2012-11-08 2014-05-16 숭실대학교산학협력단 Device authentication apparatus and method using physical unclonable function

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Alfred J. Menezes 외 2명, Handbook of Applied Cryptography, CRC Press (1996.)* *
T. Dierks 외 1명, The TLS Protocol Version 1.0, Request for Comments: 2246 (1999.01.)* *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113992331A (en) * 2021-11-15 2022-01-28 苏州挚途科技有限公司 Vehicle-mounted Ethernet data transmission method, device and system
KR102406252B1 (en) * 2021-12-13 2022-06-08 주식회사 유니온플레이스 Method of securely communicating data
WO2023113168A1 (en) * 2021-12-13 2023-06-22 주식회사 유니온플레이스 Method for secure communication of data
CN115314253A (en) * 2022-07-06 2022-11-08 湖南行必达网联科技有限公司 Data processing method, device, system, equipment and working machine
CN115314253B (en) * 2022-07-06 2023-08-11 湖南行必达网联科技有限公司 Data processing method, device, system, equipment and working machine

Also Published As

Publication number Publication date
KR102569893B1 (en) 2023-08-23

Similar Documents

Publication Publication Date Title
EP3210335B1 (en) Efficient start-up for secured connections and related services
CN110460439A (en) Information transferring method, device, client, server-side and storage medium
US9515825B2 (en) Method for password based authentication and apparatus executing the method
CN106685985B (en) A kind of vehicle remote diagnosis system and method based on information security technology
EP3163792B1 (en) Fully homomorphic message authentication method, device and system
CN107317677B (en) Secret key storage and equipment identity authentication method and device
US20190199524A1 (en) Management system, key generation device, in-vehicle computer, management method, and computer program
CN109800588B (en) Dynamic bar code encryption method and device and dynamic bar code decryption method and device
CN105721153B (en) Key exchange system and method based on authentication information
KR101549034B1 (en) Method for guarantying the confidentiality and integrity of a data in Controller Area Networks
US20170063853A1 (en) Data cipher and decipher based on device and data authentication
US20150043735A1 (en) Re-encrypted data verification program, re-encryption apparatus and re-encryption system
KR101608815B1 (en) Method and system for providing service encryption in closed type network
CN112753203B (en) Secure communication method and device
CN103678174A (en) Data safety method, storage device and data safety system
CN109005184A (en) File encrypting method and device, storage medium, terminal
CN113542428B (en) Vehicle data uploading method and device, vehicle, system and storage medium
KR102569893B1 (en) Method of providing secure in-vehicle network communication and appratus for implementing the same
EP3213457A1 (en) Key splitting
CN116132043B (en) Session key negotiation method, device and equipment
JP6203798B2 (en) In-vehicle control system, vehicle, management device, in-vehicle computer, data sharing method, and computer program
US10644875B2 (en) Pre-authorization of public key infrastructure
KR20150109202A (en) Method and system for authenticating communication data of vehicle
CN114500064A (en) Communication security verification method and device, storage medium and electronic equipment
CN114070564A (en) Method and device for digital signature

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)