1 |
1
차량 내 구비되는 적어도 하나의 제어부가 상기 차량의 내부 네트워크를 통해 적어도 하나의 차량용 데이터를 송수신하는 차량용 데이터의 인증 및 획득 방법에 있어서,게이트웨이제어부가 랜덤값 및 비밀값을 생성하여 메시지를 송신하고자 하는 송신 제어부로 송신하고, 상기 송신 제어부는 상기 비밀값을 이용하여 제 1 세션키 및 제 2 세션키를 생성하는 단계;상기 송신 제어부가 상기 제 1 세션키를 이용하여 상기 랜덤 값 및 자신의 식별자필드값에 대한 제 1 암호문을 생성하고, 상기 제 2 세션키와 자신의 카운터 값을 이용하여 제 1 메시지인증코드(Message Authentication Code)를 생성하여 상기 제 1 암호문과 상기 제 1 메시지인증코드를 상기 게이트웨이제어부로 송신하면, 상기 게이트웨이제어부는 상기 수신된 제 1 암호문 및 상기 수신된 제 1 메시지인증코드로부터 상기 송신 제어부의 상기 제 1 세션키 및 상기 제 2 세션키 생성을 확인하는 단계;상기 송신 제어부가 송신하고자 하는 메시지에 대한 제 2 암호문을 생성하고, 상기 생성된 제 2 암호문과 자신의 카운터 값을 이용하여 제 2 메시지인증코드를 생성하며, 송신하고자 하는 패킷 내 상기 제 2 암호문 및 상기 제 2 메시지인증코드를 포함시켜 내부 네트워크를 통해 다른 제어부로 송신하는 단계; 및상기 패킷을 수신한 수신 제어부가 상기 패킷 내 포함된 제 2 메시지인증코드를 인증하고, 상기 제 2 암호문을 복호화함으로써, 상기 메시지를 획득하는 단계를 포함하는 차량용 데이터의 인증 및 획득 방법
|
2 |
2
제 1 항에 있어서,상기 제 1 세션키 및 제 2 세션키를 생성하는 단계 수행 전,상기 게이트웨이제어부 및 상기 송신 제어부는 각각 서명용인증서 및 암호화용인증서를 저장하는 단계를 더 포함하는 것을 특징으로 하는 차량용 데이터의 인증 및 획득 방법
|
3 |
3
제 1 항에 있어서,상기 제 1 세션키 및 제 2 세션키를 생성하는 단계는,상기 게이트웨이제어부가 생성한 상기 랜덤값 및 상기 비밀값을 송신 제어부의 암호화용공개키로 암호화하고, 상기 암호화된 랜덤값 및 상기 암호화된 비밀값을 자신의 서명용개인키로 서명하여 상기 송신 제어부로 송신하는 단계;상기 송신 제어부가 게이트웨이제어부의 서명용공개키로 상기 서명된 랜덤값 및 상기 서명된 비밀값을 검증하고, 상기 검증된 랜덤값 및 상기 검증된 비밀값을 자신의 암호화용개인키로 복호화함으로써, 상기 비밀값 및 상기 랜덤값을 획득하여 저장하는 단계; 및상기 송신 제어부가 상기 비밀값에 기초하여 키유도함수(KDF: Key Derivation Function)를 통해 상기 제 1 세션키, 상기 제 2 세션키 및 상기 제 1 내지 2 세션키 갱신을 위한 업데이트키를 생성하는 단계를 포함하는 차량용 데이터의 인증 및 획득 방법
|
4 |
4
제 3 항에 있어서,상기 게이트웨이제어부는 상기 업데이트키를 소정의 키 업데이트 주기에 따라 갱신하고, 상기 업데이트키가 갱신되었을 때, 새로운 랜덤값 및 새로운 비밀값을 생성하고 갱신 이전의 업데이트키를 통해 암호화하여 상기 송신 제어부로 송신하고,상기 송신 제어부는 상기 새로운 랜덤값 및 상기 새로운 비밀값을 이용하여 제 1 세션키와 제 2 세션키를 갱신하는 것을 특징으로 하는 차량용 데이터의 인증 및 획득 방법
|
5 |
5
제 1 항에 있어서,상기 제 1 세션키 및 상기 제 2 세션키 생성을 확인하는 단계는,상기 게이트웨이제어부가 상기 수신된 제 1 메시지인증코드를 검증하여 상기 제 2 세션키 생성을 확인하고, 상기 제 1 암호문을 상기 제 1 세션키를 통해 복호화하여 상기 제 1 세션키 생성을 확인하는 것을 특징으로 하는 차량용 데이터의 인증 및 획득 방법
|
6 |
6
제 1 항에 있어서,상기 카운터값은,상기 송신 제어부 및 상기 수신 제어부가 해당 패킷 전송을 순차적으로 모두 완료할 때마다 1이 증가하는 것을 특징으로 하는 차량용 데이터의 인증 및 획득 방법
|
7 |
7
제 1 항에 있어서,상기 다른 제어부로 송신하는 단계는,상기 송신 제어부가 상기 자신의 카운터값을 상기 제 1 세션키로 암호화하고, 상기 암호화된 카운터값과 상기 송신하고자 하는 메시지 간에 배타적연산을 수행하여 상기 제 2 암호문을 생성하는 단계; 및상기 송신 제어부가 상기 제 2 암호문 및 상기 식별자필드를 입력값으로 설정하고, 상기 자신의 카운터값과 상기 제 2 세션키를 배타적연산한 결과를 키 값으로 이용하여 상기 제 2 메시지인증코드를 생성하는 단계;를 포함하는 차량용 데이터의 인증 및 획득 방법
|
8 |
8
제 1 항에 있어서,상기 메시지를 획득하는 단계는,상기 수신 제어부가 상기 패킷 내 포함된 상기 제 2 메시지인증코드를 상기 송신 제어부의 카운터값 및 제 2 세션키를 통해 인증하는 단계; 및상기 수신 제어부가 상기 제 2 암호문을 상기 송신 제어부의 제 1 세션키를 통해 복호화함으로써, 상기 메시지를 획득하는 단계를 포함하는 차량용 데이터의 인증 및 획득 방법
|
9 |
9
제 1 항에 있어서,상기 제 1 내지 2 암호문 및 상기 제 1 내지 2 메시지인증코드는 상기 패킷 내의 데이터페이로드필드(Data payload field)에 포함되는 것을 특징으로 하는 차량용 데이터의 인증 및 획득 방법
|
10 |
10
제 1 항에 있어서,상기 게이트웨이제어부 및 상기 모든 제어부는 CAN FD(Controller Area Network with Flexible Data rate) 프로토콜을 통해 메시지를 송수신하는 것을 특징으로 하는 차량용 데이터의 인증 및 획득 방법
|