본문으로 바로가기
Digital Signature Verification Process (출처 : https://cheapsslsecurity.com/blog/digital-signature-vs-digital-certificate-the-difference-explained/)

 

먼저, 송신자가 소프트웨어 코드 또는 보안이 필요한 정보를 보낸다고 가정

(ECU 간 송수신 정보와 같은 검증이 필요한 중요 정보)

 

송신자 :

1) 송신자는 먼저 소프트웨어 코드를 해싱 (예: SHA-256)

2) 그런 다음, 이 해시값을 송신자는 자신의 개인 키를 사용하여 서명 <- 서명된 해시값이 바로 디지털 서명

3) 송신자는 개인 키를 비밀로 유지하며, 이로써 송신자만 메시지의 서명을 생성할 수 있도록 함

4) 서명이 생성되면, 송신자는 항상 소프트웨어 코드와 생성된 서명을 함께 송신

 

수신자 :

1) 수신자는 디지털 서명 메커니즘을 통해 소프트웨어 코드와 서명을 함께 수신

2) 수신자는 받은 원본 메시지(소프트웨어 코드)와 디지털 서명을 받으면, 송신자가 사용한 해시 함수와 동일한 해시 함수를 사용하여 소프트웨어 코드의 해시값을 생성. 이때 수신자는 송신자가 사용한 동일한 해시 함수를 사용 (예: SHA-256)

3) 그리고 서명에서 송신자의 공개 키를 사용하여 서명을 복호화. 공개 키는 이미 수신자가 가지고 있기 때문에 복호화가 가능 -> 송신자가 생성한 해시값을 얻을 수 있음

4) 이제 두 개의 해시값이 존재함. 하나는 소프트웨어 코드에서 생성한 해시값이고, 다른 하나는 서명에서 복호화하여 얻은 해시값

4) 수신자는 이 두 해시값을 비교 -> 약 두 해시값이 일치하면, 코드에 변경이 없고 서명이 정확 하다는 것을 의미 (Integrity & Authentication 동시에 검증!)

 

 

차량 보안에서의 디지털 서명의 역할

차량 보안에서는 원격 SW 업데이트나 Secure Boot, 차량 통신 보안 에 대표적으로 디지털 서명이 사용되는 것으로 알고 있는데, 추후에 이에 대해 따로 자세히 정리해보면 좋을 것 같음

사용 사례 목적 보안 효과
OTA 업데이트 ECU 펌웨어 무결성 보장 악성 코드 주입 방지
ECU 간 통신 보안 내부 네트워크에서의 메시지 인증 CAN injection 공격 방지
V2X 통신 보안 신뢰할 수 있는 교통 정보 전달 가짜 차량 메시지 차단
반응형