KR102569893B1 - 차량 네트워크를 위한 보안 기법 및 그 장치 - Google Patents

차량 네트워크를 위한 보안 기법 및 그 장치 Download PDF

Info

Publication number
KR102569893B1
KR102569893B1 KR1020170182671A KR20170182671A KR102569893B1 KR 102569893 B1 KR102569893 B1 KR 102569893B1 KR 1020170182671 A KR1020170182671 A KR 1020170182671A KR 20170182671 A KR20170182671 A KR 20170182671A KR 102569893 B1 KR102569893 B1 KR 102569893B1
Authority
KR
South Korea
Prior art keywords
random number
controller
key
authentication code
message authentication
Prior art date
Application number
KR1020170182671A
Other languages
English (en)
Other versions
KR20190080299A (ko
Inventor
김세일
조아람
Original Assignee
현대자동차주식회사
기아 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 현대자동차주식회사, 기아 주식회사 filed Critical 현대자동차주식회사
Priority to KR1020170182671A priority Critical patent/KR102569893B1/ko
Publication of KR20190080299A publication Critical patent/KR20190080299A/ko
Application granted granted Critical
Publication of KR102569893B1 publication Critical patent/KR102569893B1/ko

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Small-Scale Networks (AREA)

Abstract

본 발명은 차량용 네트워크를 위한 보안 기법에 관한 것으로, 보다 상세히는 보다 경량화된 암호화 키 공유 기법 및 그를 수행하는 장치에 관한 것이다. 본 발명의 일 실시예에 따른 차량용 네트워크에서 비밀키를 공유하는 방법은, 제1 제어기에서 제1 난수를 생성하는 단계; 상기 제1 난수를 제2 제어기로 전송하는 단계; 상기 제1 제어기와 상기 제2 제어기에 미리 공유된 키풀에서 상기 제1 난수를 기반으로 어느 하나의 프리 공유키를 특정하는 단계; 상기 특정된 프리 공유키와 상기 제1 난수를 기반으로 세션키를 생성하는 단계; 상기 제2 제어기로부터 제2 난수 및 제1 메지시 인증 코드를 수신하는 단계; 상기 생성된 세션키와 상기 제2 난수를 기반으로 제2 메시지 인증 코드를 생성하는 단계; 및 상기 제1 메시지 인증 코드와 상기 제2 메시지 인증 코드를 기반으로 메시지 인증 코드 검증을 수행하는 단계를 포함할 수 있다.

Description

차량 네트워크를 위한 보안 기법 및 그 장치{METHOD OF PROVIDING SECURE IN-VEHICLE NETWORK COMMUNICATION AND APPRATUS FOR IMPLEMENTING THE SAME}
본 발명은 차량용 네트워크를 위한 보안 기법에 관한 것으로, 보다 상세히는 보다 경량화된 암호화 키 공유 기법 및 그를 수행하는 장치에 관한 것이다.
최근 편의 기능, 안전장치, 인포테인먼트 등 차량의 전장화로 인해 전자제어기(ECU: Electronic Control Unit)와 같은 전자장치의 역할이 다양해지고, 보호하고자 하는 데이터 수가 늘어나고 있다. 이러한 추세에 따라 데이터의 암호화 및 복호화 처리속도는 매우 중요한 부분이라 할 수 있다.
일반적인 차량 네트워크 환경에서는 공개키와 개인키를 이용한 비대칭키 방식의 암호화 키 교환 방법이 사용된다.
이하, 도 1을 참조하여 일반적인 비대칭키 기반의 세션키 교환 과정을 설명한다. 도 1은 일반적인 비대칭키 기반의 비밀키 교환 과정의 일례를 나타내는 순서도이다. 도 1에서는 클러스터 제어기(CLU)와 중앙 게이트웨이(CGW: Central GateWay) 간에 세션키가 공유되는 과정이 도시된다.
도 1을 참조하면, 먼저 게이트웨이(CGW)는 자신의 개인키(PriCGW) 및 공개키(PubCGW)를 생성할 수 있다(①). 이 중 공개키(PubCGW)는 클러스터 제어기로 소정의 방법을 통해 전달될 수 있다. 또한, 클러스터 제어기(CLU)에서는 세션키(K1) 및 랜덤 값(RCLU)을 생성할 수 있다(②).
클러스터 제어기는 자신이 생성한 세션키(K1) 및 랜덤 값(RCLU)을 게이트웨이의 공개키(PubCGW)로 암호화하여 게이트웨이로 전송할 수 있다(③).
그에 따라 게이트웨이는 자신의 개인키(PriCGW)로 클러스터 제어기로부터 수신된 암호화된 정보를 복호화하고, 세션키(K1) 및 랜덤 값(RCLU)을 획득할 수 있으며, 랜덤 값(RCGW)을 생성할 수 있다(④).
이후 게이트웨이는 세션키(K1)로 클러스터 제어기가 전송한 랜덤 값(RCLU)과 자신이 생성한 랜덤 값(RCGW)을 암호화하고, 이를 클러스터 제어기로 전송할 수 있다(⑤).
클러스터 제어기에서는 자신이 생성한 세션키(K1)로 게이트웨이가 암호화하여 전송한 정보를 복호화하여, 그에 포함된 랜덤 값(RCLU)과 게이트웨이가 생성한 랜덤 값(RCGW)을 획득할 수 있다. 클러스터 제어기는 복호화하여 획득한 랜덤 값(RCLU)과, 자신이 생성하여 보유한 랜덤 값(RCLU)을 서로 비교하여 동일한 경우 세션키 교환이 성공한 것으로 판단할 수 있으며, 그에 따라 세션키(K1)로 다시 게이트웨이가 생성한 랜덤 값(RCGW)을 암호화하여 게이트웨이로 전송한다(⑥).
게이트웨이에서는 다시 세션키로 수신된 정보를 복호화하고, 그에 포함된 랜덤 값(RCGW)을 자신이 생성하여 보유한 랜덤 값(RCGW)과 비교하여, 동일한 경우 세션키 교환이 성공한 것으로 판단할 수 있다.
클러스터 제어기와 게이트웨이 양측에서 모두 세션키가 성공적으로 공유됨을 확인하면, 다시 양측은 시드값과 랜덤 값을 각각 생성하고 교환하여 확인한다. 확인에 성공하면, 양측 각각은 두 시드값과 키 생성 알고리즘(KDF: key derivation function)을 통해 최종 비밀키를 획득할 수 있다.
상술한 비대칭키 기반의 암호화 알고리즘의 일례로, RSA-2048bits 암호화 알고리즘을 들 수 있다. RSA 암호는 인수분해의 어려움에 기반한 공개키(비대칭키) 암호화 방식으로 1978년 MIT대학 3명의 교수(Rivest, Shamir, Adleman)에 의해 개발되었으며 키의 길이에 따라 RSA-1024bits, RSA-2048bits, RSA-3072bits로 구분된다.
이 중에서 RSA-2048bits 방식은 현재의 일반적인 차량용 제어기로도 비교적 양호한 속도로 암호화 및 복호화가 가능하나, 알고리즘의 안전성이 2030년까지만 확보될 예정이다. 따라서, 그 대안으로 RSA-3072bits 방식이 고려될 수 있으나, 본 방식은 일반적인 제어기 성능으로는 메모리 공간 및 연산 부담으로 인해 실질적으로 실시간 처리가 요구되는 차량 네트워크에서 암호화 및 복호화 처리속도가 보장되기 어렵다. 따라서, 차량 환경에서 보안성이 확보되면서도 처리 속도가 빠른 키 교환 방법이 요구되고 있는 실정이다.
본 발명은 차량 환경에서 보다 효율적인 키 교환 방법 및 그를 위한 장치를 제공하기 위한 것이다.
특히, 본 발명은 차량 환경에서 통신 주체의 연산 부담은 낮추면서 신뢰성을 확보할 수 있는 키 교환 방법 및 그를 위한 장치를 제공하기 위한 것이다.
본 발명에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
상기와 같은 기술적 과제를 해결하기 위하여, 본 발명의 일 실시예에 따른 차량용 네트워크에서 비밀키를 공유하는 방법은, 제1 제어기에서 제1 난수를 생성하는 단계; 상기 제1 난수를 제2 제어기로 전송하는 단계; 상기 제1 제어기와 상기 제2 제어기에 미리 공유된 키풀에서 상기 제1 난수를 기반으로 어느 하나의 프리 공유키를 특정하는 단계; 상기 특정된 프리 공유키와 상기 제1 난수를 기반으로 세션키를 생성하는 단계; 상기 제2 제어기로부터 제2 난수 및 제1 메시지 인증 코드를 수신하는 단계; 상기 생성된 세션키와 상기 제2 난수를 기반으로 제2 메시지 인증 코드를 생성하는 단계; 및 상기 제1 메시지 인증 코드와 상기 제2 메시지 인증 코드를 기반으로 메시지 인증 코드 검증을 수행하는 단계를 포함할 수 있다.
또한, 본 발명의 일 실시예에 따른 차량용 네트워크에서 비밀키를 공유하는 방법은, 제1 제어기에서 제2 제어기로부터 제1 난수를 수신하는 단계; 상기 제1 제어기와 상기 제2 제어기에 미리 공유된 키풀에서 상기 제1 난수를 기반으로 어느 하나의 프리 공유키를 특정하는 단계; 상기 특정된 프리 공유키와 상기 제1 난수를 기반으로 세션키를 생성하는 단계; 제2 난수를 생성하는 단계; 상기 생성된 세션키와 상기 제2 난수를 기반으로 제1 메시지 인증 코드를 생성하는 단계; 및 상기 제2 제어기로 상기 제2 난수 및 상기 제1 메시지 인증 코드를 전송하는 단계를 포함할 수 있다.
또한, 본 발명의 일 실시예에 따른 차량용 네트워크에서 비밀키를 공유하는 차량용 통신 장치는, 제1 난수를 생성하는 난수 생성부; 상기 제1 난수를 대상 장치로 전송하는 통신 모듈; 상기 차량용 통신 장치와 상기 대상 장치에 미리 공유된 키풀을 저장하는 키풀 메모리; 상기 키풀에서 상기 제1 난수를 기반으로 어느 하나의 프리 공유키를 특정하는 프리 공유키 특정 모듈; 상기 특정된 프리 공유키와 상기 제1 난수를 기반으로 세션키를 생성하는 세션키 생성 모듈; 상기 통신 모듈에서 상기 대상 장치로부터 제2 난수 및 제1 메시지 인증 코드가 수신되면, 상기 생성된 세션키와 상기 제2 난수를 기반으로 제2 메시지 인증 코드를 생성하고, 상기 제1 메시지 인증 코드와 상기 제2 메시지 인증 코드를 기반으로 메시지 인증 코드 검증을 수행하는 메시지 인증 코드 연산부를 포함할 수 있다.
아울러, 본 발명의 일 실시예에 따른 차량용 네트워크에서 비밀키를 공유하는 차량용 통신 장치는, 제1 난수를 생성하는 난수 생성부; 상기 제1 난수를 대상 장치로 전송하는 통신 모듈; 상기 차량용 통신 장치와 상기 대상 장치에 미리 공유된 키풀을 저장하는 키풀 메모리; 상기 키풀에서 상기 제1 난수를 기반으로 어느 하나의 프리 공유키를 특정하는 프리 공유키 특정 모듈; 상기 특정된 프리 공유키와 상기 제1 난수를 기반으로 세션키를 생성하는 세션키 생성 모듈; 상기 통신 모듈에서 상기 대상 장치로부터 제2 난수 및 제1 메시지 인증 코드가 수신되면, 상기 생성된 세션키와 상기 제2 난수를 기반으로 제2 메시지 인증 코드를 생성하고, 상기 제1 메시지 인증 코드와 상기 제2 메시지 인증 코드를 기반으로 메시지 인증 코드 검증을 수행하는 메시지 인증 코드 연산부를 포함할 수 있다.
상기와 같이 구성되는 본 발명의 적어도 하나의 실시예에 관련된 비밀키 교환 방법을 통해 각 통신 주체의 연산 부담은 낮추면서 보안성이 확보될 수 있다.
특히, 암호화 및 복호화에 소요되는 시간이 줄어들며, 키의 사이즈 또한 줄어들기 때문에 메모리 사용량이 적으며, 키 풀을 통해 다양한 사전 키가 확보될 수 있다.
본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 일반적인 비대칭키 기반의 비밀키 교환 과정의 일례를 나타내는 순서도이다.
도 2는 본 발명의 일 실시예에 따른 비밀키 공유 과정의 일례를 나타내는 순서도이다.
도 3은 본 발명의 일 실시예에 따른 차량용 통신 장치 구조의 일례를 나타내는 블럭도이다.
이하, 본 발명과 관련된 주행기록 관리 방법 및 그를 위한 장치에 대하여 도면을 참조하여 보다 상세하게 설명한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다.
본 발명의 일 실시예에서는 차량 환경에서 두 통신 주체간에 미리 복수의 키를 추출할 수 있는 키 풀(pool)을 공유하되, 키 풀에서 하나의 키를 추출하기 위한 정보만을 공유함으로써 양측에 동일한 비밀키, 예컨대, 세션키가 획득되도록 할 것을 제안한다.
본 발명의 일 실시예에 따른 비밀키 공유 과정을 도 2를 참조하여 설명한다.
도 2는 본 발명의 일 실시예에 따른 비밀키 공유 과정의 일례를 나타내는 순서도이다. 도 2에서 통신 주체는 두 개의 제어기(ECU A, ECU B)인 것으로 가정하나, 이는 예시적인 것으로 어느 하나가 게이트웨이일 수도 있다. 또한, 도 2에서 각 제어기(ECU A, ECU B)는 복수의 프리 공유키(PSK: Pre Shared Key)를 추출할 수 있는 동일한 키풀(key pool)을 미리 보유하고 있는 것으로 가정한다. 여기서, 키풀의 크기는, 프리 공유키(PSK)의 길이보다 긴 것이 바람직하며, 프리 공유키를 추출한다고 함은 키풀을 구성하는 복수의 바이트 중 프리 공유키의 길이에 해당하는 바이트를 소정의 방식으로 선택함을 의미할 수 있다. 아울러, 키풀은 그를 구성하는 복수의 바이트들의 위치가 고정된 상태로 각 제어기에 주입될 수도 있고, 임의의 배치 순서로 제어기에 주입된 후 난독화된 함수를 통해 소정 바이트 단위로 배치 순서를 변경하는 방법으로 키풀을 확정하여 사용하는 형태가 될 수도 있다.
도 2를 참조하면, 먼저 일측(예컨대, ECU A)에서 타측(예컨대, ECU B)에 비밀키 공유 과정을 개시하기 위한 비밀키 공유 요청을 전송할 수 있다(S210). 본 실시예는 비밀키 공유 요청을 위한 신호의 형태에 제한되지 아니한다.
ECU B에서는 비밀키 공유 요청에 따라 난수(rndECU B)를 생성하고(S220), 이를 ECU A에 전달한다(S230).
ECU A는 전달받은 난수(rndECU B)를 이용하여 키풀에서 어느 하나의 프리 공유키(PSK)를 특정하고, 특정된 프리 공유키(PSK)와 전달받은 난수(rndECU B)로 세션키(SK: Session Key)를 생성할 수 있다. 또한, ECU A는 다른 난수(rndECU A)를 생성한 후 이를 세션키와 함께 이용하여 메시지 인증 코드(MAC: Message Authentication Code)를 생성할 수 있다(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) 함수로 생성되어야 하는 것은 아니다.
한편, ECU B는 자신이 생성한 난수(rndECU B)를 이용하여 키풀에서 어느 하나의 프리 공유키(PSK)를 특정하고, 특정된 프리 공유키(PSK)와 자신이 생성한 난수(rndECU B)로 세션키(SK: Session Key)를 생성할 수 있다(S240B). 구체적인 프리 공유키와 세션키의 생성 방법은 ECU A에서 수행되는 과정과 동일한 바, 중복되는 기재는 생략하기로 한다.
ECU A는 생성한 메시지 인증 코드(MAC)와 자신이 생성한 난수(rndECU A)를 ECU B로 전달할 수 있다(S250).
ECU B는 전달받은 난수(rndECU A)와 생성된 세션키(SK)를 이용하여(CMAC 함수 이용) 메시지 인증 코드(MAC)를 생성할 수 있으며, 자신이 생성한 메시지 인증 코드를 ECU A로부터 전달받은 메시지 인증 코드와 비교하여 동일 여부 판단, 즉, MAC 검증을 수행할 수 있다(S260).
MAC 검증이 성공적으로 수행되면, 세션키가 두 제어기 간에 정상적으로 공유된 것으로 볼 수 있으며, 이후에는 전송할 데이터가 있는 통신 주체에서 데이터와 세션키를 이용하여 메시지 인증 코드를 생성(예컨대, MAC = CMAC(SK, Data))한 후 이를 데이터와 함께 전송하는 방법으로 데이터 교환이 수행될 수 있다(S270).
도 2에서 ECU B가 난수(rndECU B)의 전달(S230) 후 프리 공유키와 세션키를 생성(S240B)하는 것으로 도시되었으나, 이는 예시적인 것으로 두 과정은 동시에 수행될 수도 있고 프리 공유키와 세션키를 생성(S240B)이 난수(rndECU B)의 전달(S230)보다 먼저 수행될 수도 있다. 또한, 프리 공유키와 세션키의 생성(S240B)은 ECU A로부터 난수(rndECU A)와 메시지 인증 코드를 받은 후에 수행될 수도 있고, 생성 중에 난수(rndECU A)와 메시지 인증 코드가 ECU B에 수신될 수도 있다. 아울러, 비밀키 공유 요청(S210) 과정이 생략되고 일측에서 타측으로 난수를 전송하는 과정으로 대체되거나 전송하는 과정에 포함되는 형태가 될 수도 있다.
상술한 키 공유 방법이 적용되는 경우, 비록 키풀의 일부 또는 전체 프리 공유키, 그리고 난수(rndECU B)가 노출된다고 하더라도, 난독화된 함수(Hidden1)로 인해 실제로 특정될 프리 공유키를 공격자가 알기 어렵다. 뿐만 아니라, 공격자가 프리 공유키를 특정해낸다고 하더라도, 다른 난독화된 함수(Hidden2)로 인해 실제 사용될 세션키는 더욱 알기 어려우며, 두 통신 주체 간에 실제로 세션키 자체가 오가는 일이 없으므로 키 공유 절차 중의 통신 과정에서 세션키가 유출될 염려도 없다.
또한, 일반적인 비대칭키 방식에서는 2회의 암호화 및 복호화 과정(즉, 개인키와 공캐키를 이용한 암/복호화 및 세션키를 이용한 암/복호화)을 거쳐야 하나, 본 실시예에 따른 방법은 1회의 암/복호화 과정(즉, MAC 검증)만을 거치므로 제어기의 부담이 적고 신속한 연산이 기대될 수 있다. 아울러, RSA 방식의 비교적 길이가 긴 비대칭키/세션키에 비하여 키풀의 구성에 따라서 각종 키 저장을 위한 메모리 용량을 크게 줄일 수도 있다.
이하에서는 상술한 과정을 수행하기 위한 장치 구성을 도 3을 참조하여 설명한다. 도 3은 본 발명의 일 실시예에 따른 차량용 통신 장치 구조의 일례를 나타내는 블럭도이다.
도 3에 도시된 차량용 통신 장치는 제어기 형태로 구현될 수도 있고, 게이트웨이 형태로 구현될 수도 있다.
도 3을 참조하면, 본 실시예에 따른 차량용 통신 장치는 암호화된 통신을 수행할 대상 장치와 신호를 교환하기 위한 통신 모듈(310), 키 풀을 저장하는 키풀 메모리(320), 난수를 생성하는 난수 생성부(330), PSK를 특정하는 PSK 특정 모듈(340), 세션키를 생성하는 세션키 생성 모듈(350), MAC을 생성하고 검증하는 MAC 연산부(360)를 포함할 수 있다.
여기서, 통신 모듈(310)은 차량용 통신에 널리 사용되는 CAN(Controller Area Network) 프로토콜, 이더넷(Ethernet) 프로토콜, LIN 프로토콜 중 적어도 하나를 지원할 수 있으나, 반드시 이에 한정되는 것은 아니다.
PSK 특정 모듈(340)은 전술된 바와 같이 난독화된 함수(Hidden1)와, 난수 생성부(330)에서 생성되거나 외부에서 전달받은 난수를 기반으로 키 풀에서 어느 하나의 PSK를 특정할 수 있다.
또한, 세션키 생성 모듈(350)은 난독화된 함수(Hidden2)와, PSK 특정에 이용된 난수 및 특정된 PSK를 기반으로 세션키를 생성할 수 있다.
아울러, MAC 연산부(360)는 생성된 세션키와, PSK 특정에 이용된 난수와는 다른 난수를 기반으로 MAC를 생성할 수 있다. MAC 연산부(360)는 생성된 MAC은 대상 장치로 전송될 수도 있고, 대상 장치로부터 MAC이 수신된 경우 자신이 생성한 MAC을 이용하여 MAC 인증 절차를 수행할 수도 있다. MAC 인증 절차에 성공한 후에는 MAC 연산부(360)는 대상 장치에 전송할 데이터와 세션키를 이용하여 MAC을 생성하고, 이를 데이터와 함께 통신 모듈(310)을 통해 대상 장치에 전송되도록 할 수 있다.
전술한 본 발명은, 프로그램이 기록된 매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 매체는, 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 매체의 예로는, HDD(Hard Disk Drive), SSD(Solid State Disk), SDD(Silicon Disk Drive), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있다.
따라서, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 전환은 본 발명의 범위에 포함된다.

Claims (17)

  1. 차량용 네트워크에서 비밀키를 공유하는 방법에 있어서,
    제1 제어기에서 제1 난수를 생성하는 단계;
    상기 제1 제어기에서 상기 제1 난수를 제2 제어기로 전송하는 단계;
    상기 제2 제어기가 상기 제1 제어기와 상기 제2 제어기에 미리 공유된 키풀에서 상기 제1 난수를 기반으로 어느 하나의 프리 공유키를 특정하는 단계;
    상기 제2 제어기가 제2 난수를 생성하고, 상기 특정된 프리 공유키와 상기 제1 난수를 기반으로 세션키를 생성하고, 상기 제2 난수와 상기 세션키를 이용하여 제1 메시지 인증 코드를 생성하는 단계;
    상기 제1 제어기가 상기 제2 제어기로부터 상기 제2 난수 및 상기 제1 메시지 인증 코드를 수신하는 단계;
    상기 제1 제어기가 상기 키풀에서 상기 제1 난수를 기반으로 프리 공유키를 특정하고, 상기 특정된 프리 공유키와 상기 제1 난수를 기반으로 세션키를 생성하고, 상기 생성된 세션키와 상기 제2 난수를 기반으로 제2 메시지 인증 코드를 생성하는 단계; 및
    상기 제1 제어기에서 상기 제1 메시지 인증 코드와 상기 제2 메시지 인증 코드를 비교하는 동일 여부 판단에 의해 메시지 인증 코드 검증을 수행하는 단계를 포함하는, 비밀키 공유 방법.
  2. 제1 항에 있어서,
    상기 프리 공유키를 특정하는 단계는 난독화된 제1 함수를 이용하여 수행되는, 비밀키 공유 방법.
  3. 제1 항에 있어서,
    상기 세션키를 생성하는 단계는 난독화된 제2 함수를 이용하여 수행되는, 비밀키 공유 방법.
  4. 제1 항에 있어서,
    상기 메시지 인증 코드 검증에 성공한 경우, 상기 제2 제어기로 전송될 데이터와 상기 세션키를 기반으로 제3 메시지 인증 코드를 생성하는 단계; 및
    상기 데이터를 상기 제3 메시지 인증 코드와 함께 상기 제2 제어기로 전송하는 단계를 더 포함하는, 비밀키 공유 방법.
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
  9. 제1 항 내지 제4 항 중 어느 한 항에 따른 비밀키 공유 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터 해독 가능 기록 매체.
  10. 차량용 네트워크에서 비밀키를 공유하는 제1 제어기와 제2 제어기에 각각 구비되는 차량용 통신 장치에 있어서,
    상기 제1 제어기에 구비되는 차량용 통신 장치는,
    제1 난수를 생성하는 난수 생성부;
    상기 제1 난수를 제2 제어기의 차량용 통신 장치로 전송하는 통신 모듈;
    상기 제1 제어기와 상기 제2 제어기에 미리 공유된 키풀을 저장하는 키풀 메모리;
    상기 키풀에서 상기 제1 난수를 기반으로 어느 하나의 프리 공유키를 특정하는 프리 공유키 특정 모듈;
    상기 특정된 프리 공유키와 상기 제1 난수를 기반으로 세션키를 생성하는 세션키 생성 모듈;
    상기 통신 모듈에서 상기 제2 제어기의 차량용 통신 장치로부터 제2 난수 및 제1 메시지 인증 코드가 수신되면, 상기 생성된 세션키와 상기 제2 난수를 기반으로 제2 메시지 인증 코드를 생성하고, 상기 제1 메시지 인증 코드와 상기 제2 메시지 인증 코드를 기반으로 메시지 인증 코드 검증을 수행하는 메시지 인증 코드 연산부;를 포함하고,
    상기 제2 제어기에 구비되는 차량용 통신 장치는,
    상기 제1 제어기로부터 제1 난수를 수신하는 통신 모듈;
    상기 제1 제어기와 상기 제2 제어기에 미리 공유된 키풀을 저장하는 키풀 메모리;
    상기 키풀에서 상기 제1 난수를 기반으로 어느 하나의 프리 공유키를 특정하는 프리 공유키 특정 모듈;
    상기 특정된 프리 공유키와 상기 제1 난수를 기반으로 세션키를 생성하는 세션키 생성 모듈;
    제2 난수를 생성하는 난수 생성 모듈;
    상기 생성된 세션키와 상기 제2 난수를 기반으로 제1 메시지 인증 코드를 생성하고, 상기 제1 제어기의 차량용 통신 장치로 상기 통신 모듈을 통해 상기 제2 난수 및 상기 제1 메시지 인증 코드가 전송되도록 제어하는 메시지 인증 코드 연산부;를 포함하는, 차량용 통신 장치.
  11. 제10 항에 있어서,
    상기 프리 공유키 특정 모듈은,
    난독화된 제1 함수를 이용하여 상기 프리 공유키를 특정하는, 차량용 통신 장치.
  12. 제10 항에 있어서,
    상기 세션키 생성 모듈은,
    난독화된 제2 함수를 이용하여 상기 세션키를 생성하는, 차량용 통신 장치.
  13. 제10 항에 있어서,
    상기 메시지 인증 코드 연산부는,
    상기 메시지 인증 코드 검증에 성공한 경우, 상기 제2 제어기로 전송될 데이터와 상기 세션키를 기반으로 제3 메시지 인증 코드를 생성하고,
    상기 통신 모듈은,
    상기 데이터를 상기 제3 메시지 인증 코드와 함께 상기 제2 제어기로 전송하는, 차량용 통신 장치.
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
KR1020170182671A 2017-12-28 2017-12-28 차량 네트워크를 위한 보안 기법 및 그 장치 KR102569893B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170182671A KR102569893B1 (ko) 2017-12-28 2017-12-28 차량 네트워크를 위한 보안 기법 및 그 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170182671A KR102569893B1 (ko) 2017-12-28 2017-12-28 차량 네트워크를 위한 보안 기법 및 그 장치

Publications (2)

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

Family

ID=67256587

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170182671A KR102569893B1 (ko) 2017-12-28 2017-12-28 차량 네트워크를 위한 보안 기법 및 그 장치

Country Status (1)

Country Link
KR (1) KR102569893B1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115037432A (zh) * 2021-02-20 2022-09-09 南京如般量子科技有限公司 基于分层结构和非对称密钥池的车联网通信方法和系统
CN114980037A (zh) * 2021-02-20 2022-08-30 南京如般量子科技有限公司 基于分层结构非对称密钥池的群组通信方法和系统
CN113992331A (zh) * 2021-11-15 2022-01-28 苏州挚途科技有限公司 车载以太网数据传输方法、装置及系统
KR102406252B1 (ko) * 2021-12-13 2022-06-08 주식회사 유니온플레이스 데이터의 보안 통신 방법
CN115314253B (zh) * 2022-07-06 2023-08-11 湖南行必达网联科技有限公司 数据处理方法、装置、系统、设备及作业机械

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003337629A (ja) * 2002-05-18 2003-11-28 Mitsuko Miyaji プログラム難読化方法及び装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140059485A (ko) * 2012-11-08 2014-05-16 숭실대학교산학협력단 Puf를 이용한 기기 인증 장치 및 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003337629A (ja) * 2002-05-18 2003-11-28 Mitsuko Miyaji プログラム難読化方法及び装置

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.)*

Also Published As

Publication number Publication date
KR20190080299A (ko) 2019-07-08

Similar Documents

Publication Publication Date Title
KR102569893B1 (ko) 차량 네트워크를 위한 보안 기법 및 그 장치
US10785019B2 (en) Data transmission method and apparatus
CN107959567B (zh) 数据存储方法、数据获取方法、装置及系统
EP2817916B1 (en) Cryptographic transmission system using key encryption key
KR102015201B1 (ko) 보안 접속 및 관련 서비스를 위한 효율적인 개시
JP5815294B2 (ja) セキュアなフィールドプログラマブルゲートアレイ(fpga)アーキテクチャ
CN110460439A (zh) 信息传输方法、装置、客户端、服务端及存储介质
US9053347B2 (en) Memory device, host device, and memory system
CN108347404B (zh) 一种身份认证方法及装置
US20080301436A1 (en) Method and apparatus for performing authentication between clients using session key shared with server
US20170085543A1 (en) Apparatus and method for exchanging encryption key
CN105721153B (zh) 基于认证信息的密钥交换系统及方法
CN109800588B (zh) 条码动态加密方法及装置、条码动态解密方法及装置
KR101608815B1 (ko) 폐쇄형 네트워크에서 암복호화 서비스 제공 시스템 및 방법
KR20210045676A (ko) 차량용 통신 시스템 및 그를 위한 보안 통신 방법
CN103678174A (zh) 数据安全方法、存储装置和数据安全系统
JP2013207376A (ja) 情報処理装置およびプログラム
CN116132043B (zh) 会话密钥协商方法、装置及设备
CN110868291A (zh) 一种数据加密传输方法、装置、系统及存储介质
CN109005184A (zh) 文件加密方法及装置、存储介质、终端
EP3624394B1 (en) Establishing a protected communication channel through a ttp
CN104243452A (zh) 一种云计算访问控制方法及系统
CN102473219B (zh) 通信信道声明相关的安全防范
US20160148002A1 (en) Key storage apparatus, key storage method and program therefor
JP6203798B2 (ja) 車載制御システム、車両、管理装置、車載コンピュータ、データ共有方法、及びコンピュータプログラム

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)