





본 발명은 차량 진단 시스템 및 그 방법에 관한 것으로, 보다 상세하게는 인증 및 보안 접속 서비스를 동시에 이용하여 차량의 진단기를 인증하는 차량 진단 통신 서비스 기술에 관한 것이다.The present invention relates to a vehicle diagnostic system and method, and more specifically, to a vehicle diagnostic communication service technology that authenticates a vehicle diagnostic device using authentication and secure access services simultaneously.
자동차 전자기의 발전, 신기술 적용에 따라 차량 내 제어기 개수가 계속해서 증가하고 있다. 또한 외부 사용자에게 차량 진단 통신을 위한 정보를 알려주기 위해 각종 수단을 통해서 차량 내 제어기에 대한 진단 정보를 읽고 있다.The number of controllers in vehicles continues to increase with the development of automotive electromagnetics and the application of new technologies. Additionally, in order to inform external users of information for vehicle diagnostic communication, diagnostic information on the controller within the vehicle is read through various means.
이에 따라 기존에 OBD-II 포트를 통한 외부 진단기 하나만이 내부 제어기와 진단통신을 했다면 현재는 TMS(Telematics Service), EVSE(외부 전기자동차 충전 장비) 등 다양한 오프/온 보드(Off/On board)(차량 내/외부) 장비가 차량 진단 통신기기와 진단통신을 수행하고 있다.Accordingly, while previously only an external diagnostic device communicated with the internal controller through the OBD-II port, now various off/on boards (Off/On boards) such as TMS (Telematics Service) and EVSE (External Electric Vehicle Charging Equipment) are available. Equipment (inside/external to the vehicle) is performing diagnostic communication with the vehicle diagnostic communication device.
차량 제어기의 고도화에 따라 보안 위협 (학회 논문, Conference 등) 및 실제 해킹 사례가 지속적으로 증가하고 있다. 이 중 가장 대표적이고 접근이 용이한 곳이 바로 차량 운전석 아래쪽에 위치한 OBD-II Connector로서 차량 내 게이트웨이가 위치하고 있는 곳이다.As vehicle controllers become more sophisticated, security threats (academic papers, conferences, etc.) and actual hacking cases are continuously increasing. Among these, the most representative and easily accessible location is the OBD-II Connector located under the driver's seat of the vehicle, where the in-vehicle gateway is located.
해당 게이트웨이 (고속 CAN 연결) 를 통해 차량 내 제어기에 접근 가능하며, 각종 진단 기능을 요청할 수 있다. 해당 진단 통신에는 강제 구동, 제어기 데이터 쓰기, 리프로그래밍 등 각종 중요 정보 읽기뿐만 아니라 제어기에 유해를 가할 수 있는 기능들이 많이 적용되어 있다. 이를 방어하기 위해 가장 일반적으로 사용하는 보안 기법이 UDS (Unified Diagnostic Service, ISO-14229-1) 국제 표준 진단 프로토콜의 Security Access (27 hex) 서비스이다. 하지만 최근 ISO 사양이 신규로 개정되면서 차량 인증을 위한 신규 Authentication (29 hex) 서비스가 추가 되었다.You can access the in-vehicle controller through the corresponding gateway (high-speed CAN connection), and various diagnostic functions can be requested. This diagnostic communication not only reads various important information such as forced driving, writing controller data, and reprogramming, but also includes many functions that can cause harm to the controller. The most commonly used security technique to defend against this is the Security Access (27 hex) service of the UDS (Unified Diagnostic Service, ISO-14229-1) international standard diagnostic protocol. However, as the ISO specifications were recently revised, a new Authentication (29 hex) service was added for vehicle authentication.
차량에 탑재되는 모든 차량 제어기에 신규 Authentication (29 hex) 서비스를 적용 시, 모든 제어기에는 키를 저장할 안전한 하드웨어(ex, HSM, TEE 등)가 필요하고 추가적인 인증 절차를 위한 소프트웨어의 개발이 필요하다. 이로 인해 차량의 생산 비용이 상승되며 이를 관리하기 위해 별도 시스템 등이 추가로 요구된다.When applying the new Authentication (29 hex) service to all vehicle controllers mounted on vehicles, all controllers require secure hardware (ex, HSM, TEE, etc.) to store keys and the development of software for additional authentication procedures. As a result, the production cost of the vehicle increases and additional systems are required to manage it.
본 발명의 실시예는 UDS 진단 국제표준(ISO14229-1) 사양에 정의된 인증(Authentication)(0x29) 서비스를 전체 제어기에 적용하는 것이 아닌 외부 유선 접점인 게이트웨이에만 적용하고 나머지 차량 내부 제어기에는 보안 접속(Security Access)(0x27) 서비스를 적용함으로써 비용 증가없이 보안성을 증대시킬 수 있는 차량 진단 시스템 및 그 방법을 제공하고자 한다.The embodiment of the present invention does not apply the Authentication (0x29) service defined in the UDS diagnostic international standard (ISO14229-1) specification to the entire controller, but only applies it to the gateway, which is an external wired contact point, and provides secure access to the remaining vehicle internal controllers. We aim to provide a vehicle diagnostic system and method that can increase security without increasing cost by applying the (Security Access) (0x27) service.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재들로부터 당업자에게 명확하게 이해될 수 있을 것이다.The technical problems of the present invention are not limited to the technical problems mentioned above, and other technical problems not mentioned will be clearly understood by those skilled in the art from the description below.
본 발명의 일 실시 예에 따른 차량 진단 시스템은 표준 진단 프로토콜의 보안 접속(Security Access) 서비스 및 인증 (Authentication) 서비스를 이용하여 진단 통신을 수행하는 진단 통신 장치; 차량의 제어를 수행하는 제어기; 및 상기 진단 통신 장치를 통해 상기 제어기에 접근하여 진단을 수행하는 진단기를 포함하고, 상기 진단기는, 상기 진단 통신 장치에 대해 상기 인증 서비스를 적용하고, 상기 제어기에 대해 상기 보안 접속 서비스를 적용하는 것을 포함할 수 있다.A vehicle diagnostic system according to an embodiment of the present invention includes a diagnostic communication device that performs diagnostic communication using a security access service and an authentication service of a standard diagnostic protocol; A controller that controls the vehicle; and a diagnostic device that accesses the controller through the diagnostic communication device to perform diagnosis, wherein the diagnostic device applies the authentication service to the diagnostic communication device and applies the secure connection service to the controller. It can be included.
일 실시 예에 있어서, 상기 진단기는, 서버로부터 암호화된 인증서를 주기적으로 수신하는 것을 포함할 수 있다.In one embodiment, the diagnostic device may include periodically receiving an encrypted certificate from a server.
일 실시 예에 있어서, 상기 진단기는, 암호화된 인증서를 상기 진단 통신 장치로 전송하는 것을 포함할 수 있다.In one embodiment, the diagnostic device may transmit an encrypted certificate to the diagnostic communication device.
일 실시 예에 있어서, 상기 진단 통신 장치는, 상기 진단기로부터 수신한 인증서를 서버 공개키를 이용하여 검증하고, 상기 인증서를 이용하여 씨드(seed)를 생성하고, 상기 씨드를 상기 진단기로 전송하는 것을 포함할 수 있다.In one embodiment, the diagnostic communication device verifies the certificate received from the diagnostic device using a server public key, generates a seed using the certificate, and transmits the seed to the diagnostic device. It can be included.
일 실시 예에 있어서, 상기 진단기는, 미리 저장된 진단기 개인키를 이용하여 상기 씨드를 암호화하고, 상기 암호화된 씨드를 이용하여 상기 진단기의 인증을 위한 키(key) 값을 계산하여 상기 진단 통신 장치로 상기 키 값을 전송하는 것을 포함할 수 있다.In one embodiment, the diagnostic device encrypts the seed using a pre-stored diagnostic private key, calculates a key value for authentication of the diagnostic device using the encrypted seed, and sends it to the diagnostic communication device. It may include transmitting the key value.
일 실시 예에 있어서, 상기 진단 통신 장치는, 상기 인증서 내에 포함된 진단기 공개키를 추출하여 상기 키 값을 검증하는 것을 포함할 수 있다.In one embodiment, the diagnostic communication device may extract the diagnostic public key included in the certificate and verify the key value.
일 실시 예에 있어서, 상기 진단 통신 장치는, 상기 키 값의 검증이 성공하면 상기 진단기로 인증 성공을 알림하고, 상기 진단기는 차량 내 모든 제어기와 진단 통신할 준비를 완료하는 것을 포함할 수 있다.In one embodiment, the diagnostic communication device may notify the diagnostic device of successful authentication when verification of the key value is successful, and the diagnostic device may complete preparations for diagnostic communication with all controllers in the vehicle.
일 실시 예에 있어서, 상기 진단기는, 상기 진단 통신 장치에 대한 상기 인증 서비스를 수행하여 인증이 성공하면, 상기 제어기로 보안 접속 서비스를 요청하는 것을 포함할 수 있다.In one embodiment, the diagnostic device may perform the authentication service for the diagnostic communication device and, if authentication is successful, request a secure connection service from the controller.
일 실시 예에 있어서, 상기 제어기는, 상기 보안 접속 서비스 요청 수신 시, 씨드를 생성하여 상기 진단기로 전송하는 것을 포함할 수 있다.In one embodiment, the controller may generate a seed and transmit it to the diagnostic device when receiving the secure access service request.
일 실시 예에 있어서, 상기 진단기는, 상기 제어기로부터 수신한 씨드를 이용하여 상기 진단기의 인증을 위한 키 값을 생성하고 상기 제어기로 상기 키 값을 전송하는 것을 포함할 수 있다.In one embodiment, the diagnostic device may generate a key value for authentication of the diagnostic device using a seed received from the controller and transmit the key value to the controller.
일 실시 예에 있어서, 상기 제어기는, 상기 씨드를 이용하여 키 값을 생성하고, 상기 진단기로부터 수신한 키 값과 자체적으로 생성한 키 값을 비교하여, 상기 진단기로부터 수신한 키 값을 검증하는 것을 포함할 수 있다.In one embodiment, the controller generates a key value using the seed, compares the key value received from the diagnostic device with the key value generated by itself, and verifies the key value received from the diagnostic device. It can be included.
일 실시 예에 있어서, 상기 제어기는, 상기 씨드를 이용하여 키 값을 생성하고, 상기 진단기로부터 수신한 키 값과 자체적으로 생성한 키 값을 비교하여, 상기 진단기로부터 수신한 키 값을 검증하는 것을 포함할 수 있다.In one embodiment, the controller generates a key value using the seed, compares the key value received from the diagnostic device with the key value generated by itself, and verifies the key value received from the diagnostic device. It can be included.
일 실시 예에 있어서, 상기 제어기는, 상기 진단기로부터 수신한 키의 검증이 성공하면, 보안을 해제하는 것을 포함할 수 있다.In one embodiment, the controller may release security when verification of the key received from the diagnostic device is successful.
일 실시 예에 있어서, 상기 진단기는, 상기 진단 통신 장치에 대한 상기 인증 서비스가 완료된 후, 상기 제어기에 대한 상기 보안 접속 서비스를 시작하는 것을 포함할 수 있다.In one embodiment, the diagnostic device may include starting the secure connection service for the controller after the authentication service for the diagnostic communication device is completed.
일 실시 예에 있어서, 서버 개인키를 저장하고, 서버 공개키를 상기 진단 통신 장치로 전송하며, 상기 서버 개인키를 이용하여 상기 인증 서비스를 위한 인증서를 암호화한 후 상기 진단기로 주기적으로 전송하는 서버를 더 포함할 수 있다.In one embodiment, a server that stores a server private key, transmits a server public key to the diagnostic communication device, encrypts a certificate for the authentication service using the server private key, and then periodically transmits it to the diagnostic device. It may further include.
본 발명의 일 실시 예에 따른 차량 진단 방법은, 진단기를 통해 차량의 진단 통신 장치에 대해 표준 진단 프로토콜의 인증 (Authentication) 서비스를 적용하여 인증을 수행하는 단계; 상기 진단 통신 장치의 인증이 성공하면, 상기 진단기가 차량의 제어기에 대해 보안 접속(Security Access) 서비스를 적용하여 진단 통신을 위한 접근을 수행하는 단계; 및 상기 보안 접속 서비스를 통해 상기 차량의 제어기의 보안이 해제되면, 상기 진단기가 상기 제어기에 접속하여 진단 통신을 수행하는 단계를 포함할 수 있다.A vehicle diagnostic method according to an embodiment of the present invention includes the steps of performing authentication by applying an authentication service of a standard diagnostic protocol to a diagnostic communication device of a vehicle through a diagnostic device; If authentication of the diagnostic communication device is successful, the diagnostic device applies a security access service to the vehicle's controller to perform access for diagnostic communication; and when the security of the vehicle's controller is released through the secure access service, the diagnostic device connects to the controller and performs diagnostic communication.
일 실시 예에 있어서, 상기 인증을 수행하는 단계는, 상기 진단기가 서버로부터 암호화된 인증서를 주기적으로 수신하는 단계; 상기 진단기가 암호화된 인증서를 상기 진단 통신 장치로 전송하는 단계; 상기 진단 통신 장치가 상기 진단기로부터 수신한 인증서를 서버 공개키를 이용하여 검증하는 단계; 상기 진단 통신 장치가 상기 인증서를 이용하여 씨드(seed)를 생성하고, 상기 씨드를 상기 진단기로 전송하는 단계를 포함할 수 있다.In one embodiment, performing the authentication may include the diagnostic device periodically receiving an encrypted certificate from a server; transmitting, by the diagnostic device, an encrypted certificate to the diagnostic communication device; Verifying, by the diagnostic communication device, a certificate received from the diagnostic device using a server public key; The diagnostic communication device may include generating a seed using the certificate and transmitting the seed to the diagnostic device.
일 실시 예에 있어서, 상기 인증을 수행하는 단계는, 상기 진단기가 미리 저장된 진단기 개인키를 이용하여 상기 씨드를 암호화하는 단계; 상기 진단기가 상기 암호화된 씨드를 이용하여 상기 진단기의 인증을 위한 키(key) 값을 계산하는 단계; 및 상기 진단 통신 장치로 상기 키 값을 전송하는 단계를 더 포함할 수 있다.In one embodiment, performing the authentication may include encrypting the seed using a diagnostic private key previously stored by the diagnostic device; The diagnostic device calculating a key value for authentication of the diagnostic device using the encrypted seed; and transmitting the key value to the diagnostic communication device.
일 실시 예에 있어서, 상기 인증을 수행하는 단계는, 상기 진단 통신 장치가 상기 인증서 내에 포함된 진단기 공개키를 추출하여 상기 키 값을 검증하는 단계; 및 상기 진단 통신 장치가 상기 키 값의 검증이 성공하면 상기 진단기로 인증 성공을 알림하는 단계를 더 포함할 수 있다.In one embodiment, performing the authentication includes: extracting, by the diagnostic communication device, a diagnostic public key included in the certificate and verifying the key value; And when the diagnostic communication device successfully verifies the key value, it may further include notifying the diagnostic device of successful authentication.
일 실시 예에 있어서, 상기 진단기가 차량의 제어기에 대해 보안 접속(Security Access) 서비스를 적용하여 진단 통신을 위한 접근을 수행하는 단계는, 상기 진단기가 상기 진단 통신 장치에 대한 상기 인증 서비스를 수행하여 인증이 성공하면, 상기 제어기로 보안 접속 서비스를 요청하는 단계; 상기 진단기가 씨드를 생성하여 상기 진단기로 전송하는 단계; 상기 진단기가 상기 제어기로부터 수신한 씨드를 이용하여 상기 진단기의 인증을 위한 키 값을 생성하는 단계; 상기 진단기가 상기 제어기로 상기 키 값을 전송하는 단계; 및 상기 제어기가 상기 씨드를 이용하여 키 값을 생성하고, 상기 진단기로부터 수신한 키 값과 자체적으로 생성한 키 값을 비교하여, 상기 진단기로부터 수신한 키 값을 검증하는 단계를 더 포함할 수 있다.In one embodiment, the step of the diagnostic device performing access for diagnostic communication by applying a security access service to the vehicle's controller includes the diagnostic device performing the authentication service for the diagnostic communication device. If authentication is successful, requesting a secure access service from the controller; generating a seed and transmitting it to the diagnostic device; generating a key value for authentication of the diagnostic device using a seed received from the controller by the diagnostic device; transmitting the key value from the diagnostic device to the controller; and the step of the controller generating a key value using the seed, comparing the key value received from the diagnostic device with the key value generated by the controller, and verifying the key value received from the diagnostic device. .
본 기술은 UDS 진단 국제표준(ISO14229-1) 사양에 정의된 인증(Authentication)(0x29) 서비스를 전체 제어기에 적용하는 것이 아닌 외부 유선 접점인 게이트웨이에만 적용하고 나머지 차량 내부 제어기에는 보안 접속(Security Access)(0x27) 서비스를 적용함으로써 비용 증가없이 보안성을 증대시킬 수 있다.This technology does not apply the Authentication (0x29) service defined in the UDS diagnostic international standard (ISO14229-1) specification to the entire controller, but only to the gateway, which is an external wired contact point, and provides security access to the remaining vehicle internal controllers. )(0x27) By applying the service, security can be increased without increasing costs.
이 외에, 본 문서를 통해 직접적 또는 간접적으로 파악되는 다양한 효과들이 제공될 수 있다.In addition, various effects that can be directly or indirectly identified through this document may be provided.
도 1은 본 발명의 일 실시 예에 따른 인증(Authentication)(0x29) 서비스의 구조도이다.
도 2는 본 발명의 일 실시 예에 따른 차량 진단 통신 장치를 포함하는 차량 진단 시스템의 구성을 나타내는 블록도이다.
도 3은 본 발명의 일 실시 예에 따른 차량 진단 통신 장치의 세부 구성도이다.
도 4는 본 발명의 일 실시 예에 따른 차량 진단 방법.을 설명하기 위한 순서도이다.
도 5는 본 발명의 일 실시 예에 따른 차량 진단 방법.을 설명하기 위한 순서도이다.
도 6은 본 발명의 일 실시 예에 따른 컴퓨팅 시스템을 도시한다.1 is a structural diagram of an authentication (0x29) service according to an embodiment of the present invention.
 Figure 2 is a block diagram showing the configuration of a vehicle diagnostic system including a vehicle diagnostic communication device according to an embodiment of the present invention.
 Figure 3 is a detailed configuration diagram of a vehicle diagnostic communication device according to an embodiment of the present invention.
 Figure 4 is a flowchart for explaining a vehicle diagnosis method according to an embodiment of the present invention.
 Figure 5 is a flowchart for explaining a vehicle diagnosis method according to an embodiment of the present invention.
 Figure 6 shows a computing system according to one embodiment of the present invention.
이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명의 실시예를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 실시예에 대한 이해를 방해한다고 판단되는 경우에는 그 상세한 설명은 생략한다.Hereinafter, some embodiments of the present invention will be described in detail through illustrative drawings. When adding reference numerals to components in each drawing, it should be noted that identical components are given the same reference numerals as much as possible even if they are shown in different drawings. Additionally, when describing embodiments of the present invention, if detailed descriptions of related known configurations or functions are judged to impede understanding of the embodiments of the present invention, the detailed descriptions will be omitted.
본 발명의 실시예의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 또한, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.In describing the components of the embodiment of the present invention, terms such as first, second, A, B, (a), and (b) may be used. These terms are only used to distinguish the component from other components, and the nature, sequence, or order of the component is not limited by the term. Additionally, unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as generally understood by a person of ordinary skill in the technical field to which the present invention pertains. Terms defined in commonly used dictionaries should be interpreted as having a meaning consistent with the meaning in the context of the related technology, and should not be interpreted in an ideal or excessively formal sense unless explicitly defined in the present application. No.
본 발명은 UDS 진단 국제표준(ISO14229-1) 사양에 정의된 인증(Authentication)(0x29) 서비스를 전체 제어기에 적용하는 것이 아닌 외부 유선 접점인 게이트웨이에만 적용하고 나머지 차량 내부 제어기에는 보안 접속(Security Access)(0x27) 서비스를 적용하는 구성을 개시한다.The present invention does not apply the Authentication (0x29) service defined in the UDS diagnostic international standard (ISO14229-1) specification to the entire controller, but only to the gateway, which is an external wired contact point, and provides security access to the remaining vehicle internal controllers. )(0x27) Initiates configuration to apply the service.
이하, 도 1 내지 도 6을 참조하여, 본 발명의 실시예들을 구체적으로 설명하기로 한다.Hereinafter, embodiments of the present invention will be described in detail with reference to FIGS. 1 to 6.
도 1은 본 발명의 일 실시 예에 따른 인증(Authentication)(0x29) 서비스의 구조도이다. 도 2는 본 발명의 일 실시 예에 따른 차량 진단 통신 장치를 포함하는 차량 진단 시스템의 구성을 나타내는 블록도이다.1 is a structural diagram of an authentication (0x29) service according to an embodiment of the present invention. Figure 2 is a block diagram showing the configuration of a vehicle diagnostic system including a vehicle diagnostic communication device according to an embodiment of the present invention.
본 발명에서는 UDS 진단 국제표준(ISO14229-1) 사양에 정의된 인증(Authentication)(0x29) 서비스와 보안 접속(Security Access)(0x27) 서비스를 적절히 혼용하여 차량에서 진단기를 인증하는 방법을 개시한다.The present invention discloses a method of authenticating a diagnostic device in a vehicle by appropriately mixing the Authentication (0x29) service and Security Access (0x27) service defined in the UDS diagnostic international standard (ISO14229-1) specification.
도 1과 같이, 최근 ISO 사양이 신규로 개정되면서 차량 인증을 위한 신규 인증(Authentication)(29 hex) 서비스가 추가 되고, 인증(Authentication)(29 hex) 서비스는 PKI 인증서 교환을 통한 인증 후 비대칭 암호화, 챌린지 응답을 통한 인증 후 비대칭 암호화 및 대칭 암호화 등을 포함할 수 있다.As shown in Figure 1, as the ISO specifications were recently revised, a new Authentication (29 hex) service was added for vehicle authentication, and the Authentication (29 hex) service uses asymmetric encryption after authentication through PKI certificate exchange. , may include asymmetric encryption and symmetric encryption after authentication through a challenge response.
도 2를 참조하면, 본 발명의 일 실시 예에 따른 차량 진단 시스템은 차량 진단 통신을 수행하기 위한 구성을 포함하며, 게이트웨이(101), 외부의 진단기(200), 차량 내의 제어기(300), 및 외부의 서버(400)를 포함한다.Referring to FIG. 2, a vehicle diagnostic system according to an embodiment of the present invention includes a configuration for performing vehicle diagnostic communication, a
외부의 진단기(200)는 차량 외부에서 차량 진단 통신을 요청하기 위한 것으로 휴대용 진단장치일 수 있다. 외부의 진단기(200)는 게이트웨이(101; 진단 통신 장치)를 통해 인증 후 차량 내의 제어기(300)와 보안 접속을 하여 진단을 수행할 수 있다.The external
진단기(200)는 게이트웨이(101) 대한 인증 서비스가 완료된 후, 제어기(300))에 대한 보안 접속 서비스를 시작할 수 있다.After the authentication service for the
진단기(200)는 인증 서비스를 위해, 서버(400)로부터 암호화된 인증서를 주기적으로 수신할 수 있고 그 암호화된 인증서를 게이트웨이(101)로 전송할 수 있다.The
진단기(200)는 인증 서비스를 위해, 미리 저장된 진단기 개인키를 이용하여 씨드를 암호화하고, 암호화된 씨드를 이용하여 진단기(200)의 인증을 위한 키(key) 값을 계산하여 게이트웨이(101)로 키 값을 전송할 수 있다.For the authentication service, the
진단기(200)는 보안 접속 서비스를 위해, 제어기(300)로부터 수신한 씨드를 이용하여 진단기(200)의 인증을 위한 키 값을 생성하고 제어기(300)로 키 값을 전송할 수 있다.For a secure access service, the
게이트웨이(101)는 차량 내의 제어기(300)와 외부의 진단기(200)간의 통신을 수행할 수 있다.The
게이트웨이(101)는 진단기(200)로부터 수신한 인증서를 서버 공개키를 이용하여 검증하고, 인증서를 이용하여 씨드(seed)를 생성하고, 씨드를 진단기(200)로 전송할 수 있다.The
게이트웨이(101)는 인증서 내에 포함된 진단기 공개키를 추출하여 키 값을 검증하고 키 값의 검증이 성공하면 진단기(200)로 인증 성공을 알림한다. 이에 진단기(200)는 차량 내 모든 제어기와 진단 통신할 준비를 완료할 수 있다.The
차량 내의 제어기(300)는 차량 내 기능을 수행하기 위한 적어도 하나 이상의 제어기를 포함할 수 있다.  차량 내의 제어기(300)는 텔레매틱스 단말, AVN(Audio video, navigation) 등 차량 내부 ECU(electronic control unit)들을 포함할 수 있다.The
제어기(300)는 보안 접속 서비스 요청 수신 시, 씨드를 생성하여 진단기(200)로 전송하고 그 씨드를 이용하여 키 값을 생성할 수 있다.When receiving a request for a secure access service, the
제어기(300)는 진단기(200)로부터 수신한 키 값과 자체적으로 생성한 키 값을 비교하여, 진단기(200)로부터 수신한 키 값을 검증한다. 즉 제어기(300)는 씨드를 이용하여 키 값을 생성하고, 진단기(200)로부터 수신한 키 값과 자체적으로 생성한 키 값을 비교하여, 진단기(200)로부터 수신한 키 값을 검증할 수 있다.The
제어기(300)는 진단기(200)로부터 수신한 키의 검증이 성공하면, 보안을 해제할 수 있다.If verification of the key received from the
외부의 서버(400)는 서버 개인키 및 서버 공개키를 생성하여 서버 개인키는 저장하고 차량의 게이트웨이(101)로 서버 공개키를 전송한다. 또한, 외부의 서버(400)는 서버 개인키를 이용하여 인증 서비스를 위한 인증서(예, PKI 인증서)를 암호화하고, 주기적으로 진단기(200)로 암호화된 인증서를 전송할 수 있다.The
진단기(200)는 게이트웨이(101)에 대한 인증 서비스가 완료된 후, 제어기(300)에 대한 보안 접속 서비스를 시작할 수 있다.After the authentication service for the
이에 게이트웨이(101)에만 인증 서비스를 적용하지만 결국 차량의 모든 제어기(300)에 대해서도 인증 서비스를 적용한 것과 같은 효과를 제공할 수 있다.Accordingly, although the authentication service is applied only to the
또한, 차량의 각 제어기(300)에 대해 보안 접속 서비스를 적용함으로써 해커가 차량을 훼손하여 물리적으로 차량 내 네트워크에 접속하더라도 차량 제어기(300)에 대한 보안성을 유지할 수 있다.Additionally, by applying a secure access service to each
도 3은 본 발명의 일 실시 예에 따른 차량 진단 통신 장치(예, 게이트웨이)의 세부 구성도이다.Figure 3 is a detailed configuration diagram of a vehicle diagnostic communication device (eg, gateway) according to an embodiment of the present invention.
도 3을 참조하면, 게이트웨이(101)에 해당하는 차량 진단 통신 장치(100)는 통신부(110), 저장부(120), 및 프로세서(130)를 포함할 수 있다.Referring to FIG. 3 , the vehicle diagnostic communication device 100 corresponding to the
통신부(110)는 캔(can) 통신, 린(LIN) 통신 등을 통해 차량 내 통신을 수행하며, 진단기(200) 및 제어기(300) 등과 통신을 수행할 수 있다.The
저장부(120)는 클라이언트들의 진단 서비스를 처리하기 위한 우선순위 정보를 저장할 수 있다. 저장부(120)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 마이크로 타입(micro type), 및 카드 타입(예컨대, SD 카드(Secure Digital Card) 또는 XD 카드(eXtream Digital Card)) 등의 메모리와, 램(RAM, Random Access Memory), SRAM(Static RAM), 롬(ROM, Read-Only Memory), PROM(Programmable ROM), EEPROM(Electrically Erasable PROM), 자기 메모리(MRAM, Magnetic RAM), 자기 디스크(magnetic disk), 및 광디스크(optical disk) 타입의 메모리 중 적어도 하나의 타입의 기록 매체(storage medium)를 포함할 수 있다.The
프로세서(130)는 통신부(110), 저장부(120) 등과 전기적으로 연결될 수 있고, 각 구성들을 전기적으로 제어할 수 있으며, 소프트웨어의 명령을 실행하는 전기 회로가 될 수 있으며, 이에 의해 후술하는 다양한 데이터 처리 및 계산을 수행할 수 있다.The
프로세서(130)는 진단기(200)로부터 인증 서비스 요청을 받으면, 인증서를 이용한 인증을 수행하고 인증이 성공하면 진단기(200)로 인증 성공을 알림한다.When the
즉 프로세서(130)는 진단기(200)로부터 수신한 인증서를 서버 공개키를 이용하여 검증하고, 인증서를 이용하여 씨드(seed)를 생성한 후 씨드를 진단기(200)로 전송한다.That is, the
이에 프로세서(130)는 인증서 내에 포함된 진단기 공개키를 추출하여 진단기(200)로부터 수신한 키 값을 검증하고, 키 값의 검증이 성공하면 진단기(200)로 인증 성공을 알림할 수 있다.Accordingly, the
이와 같이 본 발명은 차량 레벨에서 오직 게이트웨이(101)에만 신규 인증 서비스를 적용하고 차량 내 제어기에는 보안 접속 서비스를 적용하여 보안을 강화할 수 있다.In this way, the present invention can strengthen security by applying a new authentication service only to the
신규 인증 서비스는 PKI 인증서 기반 전자서명 검증 방식을 이용하며, 이를 위해 서버는 서버 개인키가 미리 저장하고 차량 게이트웨이는 미리 서버 공개키를 미리 저장한다. 이때, 진단기 공개키는 서버(400)가 진단기(200)로 전달하는 인증서에 포함되므로 별도로 저장할 필요가 없다.The new authentication service uses a PKI certificate-based electronic signature verification method, and for this purpose, the server stores the server private key in advance and the vehicle gateway stores the server public key in advance. At this time, the diagnostic device public key is included in the certificate delivered by the
또한 진단기(200)는 서버(400)로부터 인증서 유효 기간이 만료되지 않는 선에서 주기적으로 인증서를 전달 받는다. 이 때 인증서 내부에는 서버 개인키로 암호화한 전자서명이 인증서의 무결성 검증을 위해 추가되어야 하며, 인증서 내부에는 각종 인증서에 대한 정보뿐만 아니라 진단기 개인키와 매칭되는 진단기 공개키가 포함되어야 한다. 여기서 개인키(서버 개인키, 진단기 개인키)는 반드시 각 서버(400) 및 진단기(200) 내 안전한 저장소에 저장되어야 한다. 진단기 개인키 또한 별도 하드웨어 모듈을 통해 안전한 곳에 보관되어 추출할 수 없어야 한다. 다만 공개키의 경우 상대적으로 일반 영역에 저장되어도 되나 변조되어 검증 결과를 훼손할 수 있으므로 무결성을 확인할 수 있는 기법이 적용되어야 한다.Additionally, the
또한 본 발명은 직접적으로 개인키 또는 비밀키를 전달하거나 중요 정보를 전달하지 않으므로 보안 통신(Secure Communication)을 적용하지는 않는다.Additionally, the present invention does not directly transmit private keys or secret keys or important information, so it does not apply secure communication.
 내부 모든 제어기(300)는 차종 또는 협력사 별 각각의 보안 접속 로직(Security Access Logic)을 적용하고 있다. 대부분이 CAN 한 프레임에 들어갈 수 있는 2~5byte 길이의 씨드를 적용하고 있으며, 여러 연산 과정을 거친 히든 로직(hidden logic)을 토대로 보안 접속 서비스가 수행될 수 있다. 이는 개발 단계에서 사전에 각종 필드 진단기에 안전한 방식으로 배포되어야 한다. All
상술한 준비 단계(이하 도 4의 전 과정)를 통해 진단기(200)는 차량 내 모든 제어기(300)와 진단 통신할 준비가 완료될 수 있다.Through the above-described preparation step (hereinafter, the entire process of FIG. 4), the
이하, 도 4 및 도 5를 참조하여 본 발명의 일 실시 예에 따른 차량 진단 방법.을 구체적으로 설명하기로 한다. 도 4 및 도 5는 본 발명의 일 실시 예에 따른 차량 진단 방법.을 설명하기 위한 순서도이다.Hereinafter, a vehicle diagnosis method according to an embodiment of the present invention will be described in detail with reference to FIGS. 4 and 5. 4 and 5 are flowcharts for explaining a vehicle diagnosis method according to an embodiment of the present invention.
이하에서는 도 2의 차량 진단 시스템이 차량 진단 통신 프로세스를 수행하는 것으로 가정한다. 도 4에서는 게이트웨이(101)에서 인증 서비스를 적용한 과정을 설명한다.Hereinafter, it is assumed that the vehicle diagnosis system of FIG. 2 performs a vehicle diagnosis communication process. Figure 4 explains the process of applying the authentication service in the
도 4를 참조하면, 서버(400)는 서버 개인키를 저장하고(S101), 진단기(200)는 진단기 개인 키를 저장한다(S102).Referring to FIG. 4, the
서버(400)는 서버 공개키를 차량의 게이트웨이(101)로 전송하고(S103), 게이트웨이(101)는 서버(400)로부터 수신한 서버 공개키를 미리 저장한다(S104).The
서버(400)는 서버 개인키를 이용하여 인증서를 암호화하고(S105), 암호화된 인증서를 주기적으로 진단기(200)로 전송한다(S106).The
이어 진단기(200)는 진단기 공개키를 포함하는 인증서를 게이트웨이(101)로 전송한다.Next, the
게이트웨이(101)는 진단기(200)로부터 수신한 인증서를 서버 공개키를 이용하여 검증하고, 인증서가 정상인 경우, 길이에 맞는 챌린지(Challenge)인 씨드(seed)를 생성한다(S108). 이때, 씨드는 랜덤 넘버(random number)로 생성될 수 있다.The
이어 게이트웨이(101)는 생성한 씨드를 진단기(200)로 전송한다(S109).Next, the
진단기(200)는 저장해둔 진단기 개인키를 이용하여 게이트웨이(101)로부터 수신한 씨드를 암호화하고 씨드를 이용하여 인증을 위한 키(key) 값을 계산한다(S110). 이때 키 값은 랜덤한 값으로 생성될 수 있다.The
진단기(200)는 키값을 게이트웨이(101)로 전송한다(S111). 이에 게이트웨이(101)는 인증서 내에 포함된 진단기 공개키를 추출하여 키값을 검증한다(S112).The
키값의 검증이 완료되면 게이트웨이(101)는 진단기(200)로 인증이 성공하였음을 알림하고(S113), 이후, 진단기(200)는 게이트웨이(101)와의 인증 세션을 유지하기 위해 지속적으로 테스트 프레즌트(Tester Present)(3E Service) 요청을 보낸다.When verification of the key value is completed, the
이에 진단기(200)는 차량 내 모든 제어기와 진단 통신할 준비를 완료한 상태가 된다(S114). 게이트웨이(101)에 대한 인증이 완료되면 진단기(200)는 차량 내부 제어기(300)로의 라우팅이 가능해져 내부 제어기(300)에 접근이 가능해진다. 이 때 진단기(200)는 2차적으로 내부 제어기(300)에 대한 보안 인증을 수행하는데 여기서는 보안 접속(Security Access)(27 hex Service) 서비스를 사용한다.Accordingly, the
이하 도 5에서 진단기(200)가 차량 내부 제어기(300)에 보안 접속하는 과정을 설명하기로 한다. 즉 도 5에서는 진단기(200)가 차량 내 제어기(300)와 보안 접속 (Security Access) 서비스를 수행하는 과정을 설명한다.Hereinafter, the process of securely connecting the
도 5를 참조하면, 진단기(200)는 제어기(300)로 보안 접속 서비스를 요청하고(S201), 제어기(300)는 랜덤 넘버인 씨드를 생성한다(S202). 이에 제어기(300)는 생성된 씨드를 진단기(200)로 전달하고(S203), 진단기(200)는 제어기(300)로부터 수신한 씨드를 이용하여 키 값을 산출한다(S204). 이때 진단기(200)는 진단 대상 제어기(300)에 최초 진단 요청을 보내고 별도 검증 없이 제어기(300)는 씨드를 사전에 정의된 크기에 맞추어 진단기(200)로 전달한다. 또한 진단기(200)는 수신한 씨드를 이용하여 사전에 공유된 보안 접속 로직(Security Access Logic (Hidden based Algorithm))을 통해 키 값을 계산할 수 있다.Referring to FIG. 5, the
이어 진단기(200)는 키 값을 제어기(300)로 전달하고(S205), 제어기(300)는 상기 과정 S202에서 생성된 씨드를 이용하여 생성한 키 값과 진단기(200)로부터 수신한 키값을 비교하여 키값을 검증한다(S206).Next, the
상기 과정 S202에서 생성된 씨드를 이용하여 생성한 키 값과 진단기(200)로부터 수신한 키 값이 일치하면, 검증이 성공한 것으로 판단하고 제어기(300)의 보안을 언락한다(S207).If the key value generated using the seed generated in the above process S202 matches the key value received from the
이에 진단기(200)는 제어기(300)에 접속하여 진단 통신을 수행한다(S208).Accordingly, the
이와 같이 본 발명은 최신 개정된 UDS 진단 국제표준 (ISO-14229-1)에서 신규로 추가된 인증(Authentication)서비스를 적용하되, 차량 전체 제어기에 적용하는 것이 아닌 외부 유선 접점인 게이트웨이(101)에만 적용하고 나머지 내부 제어기(300)에는 기존 보안 접속(Security Access)서비스를 적용한다.As such, the present invention applies the newly added authentication service in the latest revised UDS diagnostic international standard (ISO-14229-1), but only to the
이처럼 차량의 통신 초입인 게이트웨이(101)에서 신규 인증 서비스를 적용함으로써 차량 전체 제어기에 대해 신규 인증 서비스를 적용해야함에 따른 비용을 감소시킬 수 있다. 또한, 본 발명은 신규 인증 서비스를 게이트웨이에만 적용하더라도 차량 관점에서는 차량 전체 제어기에서 인증 서비스 효과를 제공할 수 있다. 또한, 차량을 일부 훼손하여 물리적으로 내부 네트워크에 진입할 경우를 대비해 내부 제어기는 기존 보안 접속(Security Access) 서비스를 그대로 적용함에 따라 보안성을 더욱 유지할 수 있다.In this way, by applying a new authentication service at the
도 6은 본 발명의 일 실시 예에 따른 컴퓨팅 시스템을 도시한다.Figure 6 shows a computing system according to one embodiment of the present invention.
도 6을 참조하면, 컴퓨팅 시스템(1000)은 버스(1200)를 통해 연결되는 적어도 하나의 프로세서(1100), 메모리(1300), 사용자 인터페이스 입력 장치(1400), 사용자 인터페이스 출력 장치(1500), 스토리지(1600), 및 네트워크 인터페이스(1700)를 포함할 수 있다.Referring to FIG. 6, the
프로세서(1100)는 중앙 처리 장치(CPU) 또는 메모리(1300) 및/또는 스토리지(1600)에 저장된 명령어들에 대한 처리를 실행하는 반도체 장치일 수 있다. 메모리(1300) 및 스토리지(1600)는 다양한 종류의 휘발성 또는 불휘발성 저장 매체를 포함할 수 있다. 예를 들어, 메모리(1300)는 ROM(Read Only Memory) 및 RAM(Random Access Memory)을 포함할 수 있다.The
따라서, 본 명세서에 개시된 실시예들과 관련하여 설명된 방법 또는 알고리즘의 단계는 프로세서(1100)에 의해 실행되는 하드웨어, 소프트웨어 모듈, 또는 그 2 개의 결합으로 직접 구현될 수 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터, 하드 디스크, 착탈형 디스크, CD-ROM과 같은 저장 매체(즉, 메모리(1300) 및/또는 스토리지(1600))에 상주할 수도 있다.Accordingly, steps of a method or algorithm described in connection with the embodiments disclosed herein may be implemented directly in hardware, software modules, or a combination of the two executed by
예시적인 저장 매체는 프로세서(1100)에 커플링되며, 그 프로세서(1100)는 저장 매체로부터 정보를 판독할 수 있고 저장 매체에 정보를 기입할 수 있다. 다른 방법으로, 저장 매체는 프로세서(1100)와 일체형일 수도 있다. 프로세서 및 저장 매체는 주문형 집적회로(ASIC) 내에 상주할 수도 있다. ASIC는 사용자 단말기 내에 상주할 수도 있다. 다른 방법으로, 프로세서 및 저장 매체는 사용자 단말기 내에 개별 컴포넌트로서 상주할 수도 있다.An exemplary storage medium is coupled to
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다.The above description is merely an illustrative explanation of the technical idea of the present invention, and various modifications and variations will be possible to those skilled in the art without departing from the essential characteristics of the present invention.
따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.Accordingly, the embodiments disclosed in the present invention are not intended to limit the technical idea of the present invention, but are for illustrative purposes, and the scope of the technical idea of the present invention is not limited by these embodiments. The scope of protection of the present invention should be interpreted in accordance with the claims below, and all technical ideas within the equivalent scope should be construed as being included in the scope of rights of the present invention.
| Application Number | Priority Date | Filing Date | Title | 
|---|---|---|---|
| KR1020220102808AKR20240024610A (en) | 2022-08-17 | 2022-08-17 | System for diagnosis of a vehicle and method thereof | 
| US18/133,839US20240064029A1 (en) | 2022-08-17 | 2023-04-12 | System for diagnosis of a vehicle and method thereof | 
| Application Number | Priority Date | Filing Date | Title | 
|---|---|---|---|
| KR1020220102808AKR20240024610A (en) | 2022-08-17 | 2022-08-17 | System for diagnosis of a vehicle and method thereof | 
| Publication Number | Publication Date | 
|---|---|
| KR20240024610Atrue KR20240024610A (en) | 2024-02-26 | 
| Application Number | Title | Priority Date | Filing Date | 
|---|---|---|---|
| KR1020220102808APendingKR20240024610A (en) | 2022-08-17 | 2022-08-17 | System for diagnosis of a vehicle and method thereof | 
| Country | Link | 
|---|---|
| US (1) | US20240064029A1 (en) | 
| KR (1) | KR20240024610A (en) | 
| Publication number | Priority date | Publication date | Assignee | Title | 
|---|---|---|---|---|
| KR102840774B1 (en)* | 2024-12-23 | 2025-07-31 | 케이지모빌리티 주식회사 | Vehicle diagnosis and software update deep security method | 
| Publication number | Priority date | Publication date | Assignee | Title | 
|---|---|---|---|---|
| CN118884932B (en)* | 2024-07-15 | 2025-01-10 | 南京宁橡新能源汽车电子有限公司 | Intelligent diagnosis method and system for vehicle computer based on UDS standard | 
| Publication number | Priority date | Publication date | Assignee | Title | 
|---|---|---|---|---|
| KR102840774B1 (en)* | 2024-12-23 | 2025-07-31 | 케이지모빌리티 주식회사 | Vehicle diagnosis and software update deep security method | 
| Publication number | Publication date | 
|---|---|
| US20240064029A1 (en) | 2024-02-22 | 
| Publication | Publication Date | Title | 
|---|---|---|
| US9467430B2 (en) | Device, method, and system for secure trust anchor provisioning and protection using tamper-resistant hardware | |
| CN106452782B (en) | Method and system for generating a secure communication channel for terminal devices | |
| US20200177398A1 (en) | System, certification authority, vehicle-mounted computer, vehicle, public key certificate issuance method, and program | |
| US8590024B2 (en) | Method for generating digital fingerprint using pseudo random number code | |
| US8452954B2 (en) | Methods and systems to bind a device to a computer system | |
| US20050166051A1 (en) | System and method for certification of a secure platform | |
| KR20160127167A (en) | Multi-factor certificate authority | |
| CN111786799B (en) | Digital certificate signing and issuing method and system based on Internet of things communication module | |
| US20150038118A1 (en) | Method for verifying the identity of a user of a communicating terminal and associated system | |
| TW201334493A (en) | Secure key generation | |
| CN113766450B (en) | Vehicle virtual key sharing method, mobile terminal, server and vehicle | |
| CN111275419A (en) | Block chain wallet signature right confirming method, device and system | |
| CN108141444A (en) | Improved authentication method and authentication device | |
| CN109492371B (en) | Digital certificate null sending method and device | |
| KR20240024610A (en) | System for diagnosis of a vehicle and method thereof | |
| CN112437068B (en) | Authentication and key agreement method, device and system | |
| CN114301617A (en) | Identity authentication method and device for multi-cloud application gateway, computer equipment and medium | |
| CN111431840A (en) | Security processing method and device | |
| KR20240045160A (en) | Method and system for providing encrypted and authenticated firmware with root-of-trust based security | |
| US9461991B2 (en) | Virtual smartcard authentication | |
| CN116707983A (en) | Authorization authentication method and device, access authentication method and device, equipment and medium | |
| CN114268502A (en) | Intelligent device activation method, server, terminal device and intelligent device | |
| CN108881280A (en) | Cut-in method, content distribution network system and access system | |
| CN113872986B (en) | Power distribution terminal authentication method and device and computer equipment | |
| CN108900595B (en) | Method, apparatus, device and computing medium for accessing cloud storage server data | 
| Date | Code | Title | Description | 
|---|---|---|---|
| PA0109 | Patent application | St.27 status event code:A-0-1-A10-A12-nap-PA0109 | |
| PG1501 | Laying open of application | St.27 status event code:A-1-1-Q10-Q12-nap-PG1501 | |
| A201 | Request for examination | ||
| PA0201 | Request for examination | St.27 status event code:A-1-2-D10-D11-exm-PA0201 | |
| R17-X000 | Change to representative recorded | St.27 status event code:A-3-3-R10-R17-oth-X000 |