KR101802824B1 - 자동차 개방형 PnP형 플랫폼에서의 플러그인 디바이스 인증 방법 및 장치 - Google Patents

자동차 개방형 PnP형 플랫폼에서의 플러그인 디바이스 인증 방법 및 장치 Download PDF

Info

Publication number
KR101802824B1
KR101802824B1 KR1020160010117A KR20160010117A KR101802824B1 KR 101802824 B1 KR101802824 B1 KR 101802824B1 KR 1020160010117 A KR1020160010117 A KR 1020160010117A KR 20160010117 A KR20160010117 A KR 20160010117A KR 101802824 B1 KR101802824 B1 KR 101802824B1
Authority
KR
South Korea
Prior art keywords
plug
authentication
certificate
random value
symmetric key
Prior art date
Application number
KR1020160010117A
Other languages
English (en)
Other versions
KR20170090008A (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 KR1020160010117A priority Critical patent/KR101802824B1/ko
Publication of KR20170090008A publication Critical patent/KR20170090008A/ko
Application granted granted Critical
Publication of KR101802824B1 publication Critical patent/KR101802824B1/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/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
    • H04L9/3228One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0625Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
    • 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/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
    • 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/3263Cryptographic 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 involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Small-Scale Networks (AREA)

Abstract

자동차 개방형 PnP형 플랫폼에서의 플러그인 디바이스를 인증하는 장치 및 방법이 개시된다. 플러그인 디바이스 인증 장치를 이용하여 플러그인 디바이스를 인증하는 방법은 상기 플러그인 디바이스 인증 장치가 랜덤값을 생성하고, 상기 랜덤값을 상기 플러그인 디바이스에 전송하는 단계, 상기 플러그인 디바이스 인증 장치가 상기 플러그인 디바이스로부터 암호화된 랜덤값을 수신하는 단계, 상기 플러그인 디바이스 인증 장치가 제조사 서버로부터 수신한 제1 대칭키를 이용하여 상기 암호화된 랜덤값을 복호화하여 복호화된 랜덤값을 생성하는 단계, 및 상기 복호화된 랜덤값과 상기 랜덤값이 동일한 경우, 상기 플러그인 디바이스를 인증하는 단계를 포함한다.

Description

자동차 개방형 PnP형 플랫폼에서의 플러그인 디바이스 인증 방법 및 장치{METHOD AND APPARATUS FOR PLUG-IN DEVICE AUTHENTICATION IN AN OPEN-SOURCE PLUG-AND-PLAY(PnP) PLATFORM OF A CAR}
본 발명의 개념에 따른 실시 예는 자동차 개방형 PnP형 플랫폼에서 자동차에 플러그인되는 플러그인 디바이스를 인증하는 방법 및 그 장치에 관한 것으로, 특히, 수행하는 플러그인 디바이스 인증 방법 및 장치에 관한 것이다.
본 특허는 자동차 개방형(Open-source) PnP(Plug-and-Play)형 플랫폼에서 자동차(혹은 자동차의 게이트웨이 ECU)가 자동차에 플러그인(Plug-in)되는 디바이스를 인증하는 기술을 제시하고 있다.
자동차 개방형 PnP형 플랫폼에서는 자동차에 장착되는 디바이스가 미리 정의되어 있지 않기 때문에 자동차 또는 자동차의 게이트웨이 ECU가 임의의 플러그인 디바이스에 대해서 인증을 수행할 수 있는 기술이 요구된다.
본 발명이 이루고자 하는 기술적인 과제는 차량의 개방형 PnP형 플랫폼에서 임의의 플러그인 디바이스에 대한 인증을 수행하는 방법 및 장치를 제공하는 것이다.
본 발명의 실시 예에 따른 자동차 개방형 PnP형 플랫폼에서의 플러그인 디바이스 인증 장치가 임의의 플러그인 디바이스에 대하여 인증을 수행하는 방법은 상기 플러그인 디바이스 인증 장치가 랜덤값을 생성하고, 상기 랜덤값을 상기 플러그인 디바이스에 전송하는 단계, 상기 플러그인 디바이스 인증 장치가 상기 플러그인 디바이스로부터 암호화된 랜덤값을 수신하는 단계, 상기 플러그인 디바이스 인증 장치가 제조사 서버로부터 수신한 제1 대칭키를 이용하여 상기 암호화된 랜덤값을 복호화하여 복호화된 랜덤값을 생성하는 단계, 및 상기 복호화된 랜덤값과 상기 랜덤값이 동일한 경우, 상기 플러그인 디바이스를 인증하는 단계를 포함한다.
본 발명의 실시예에 따른 개방형 PnP형 플랫폼에서 차량에 장착된 플러그인 디바이스의 인증을 수행하는 플러그인 디바이스 인증 장치는 제조사 서버의 인증서의 유효성 검증을 수행하는 인증서 검증 모듈, 대칭키 기반 단방향 인증 프로토콜을 이용하여 상기 플러그인 디바이스의 인증을 수행하는 디바이스 인증 모듈, 자동차 생산시 인증 서버로부터 발급받은 인증서와 이에 대응하는 비밀키, 및 상기 제조사 서버로부터 수신한 대칭키를 안전하게 저장하는 하드웨어 보안 모듈, 및 상기 인증서 검증 모듈, 상기 디바이스 인증 모듈, 및 상기 하드웨어 보안 모듈의 동작을 제어하는 제어 모듈을 포함한다.
본 발명의 실시 예에 따른 자동차 개방형 PnP형 플랫폼에서의 인증 방법은 자동차 개방형 PnP형 플랫폼에서 자동차(또는 플러그인 디바이스 인증 장치)가 플러그인 디바이스를 인증하기 위해 필요한 인증 구조(인증 객체 및 각각의 역할)를 정의함으로써 자동차 개방형 PnP 환경에서 임의의 플러그인 디바이스에 대한 인증이 가능하도록 하는 효과가 있다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.
도 1은 본 발명의 일 실시예에 따른 자동차 개방형 PnP형 플랫폼에서의 플러그인 디바이스 인증 시스템의 개략도이다.
도 2는 도 1에 도시된 플러그인 디바이스 인증 장치의 기능 블럭도이다.
도 3은 도 1에 도시된 플러그인 디바이스 인증 시스템을 이용한 플러그인 디바이스 인증 방법을 설명하기 위한 흐름도이다.
도 4는 도 3의 단계 S100을 보다 세부적으로 도시한 도면이고, 도 5는 도 3의 단계 S200을 보다 세부적으로 도시한 도면이다. 도 6은 도 3의 단계 S300을 보다 세부적으로 도시한 도면이다.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 또는 기능적 설명은 단지 본 발명의 개념에 따른 실시 예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시 예들은 다양한 형태들로 실시될 수 있으며 본 명세서에 설명된 실시 예들에 한정되지 않는다.
본 발명의 개념에 따른 실시 예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시 예들을 도면에 예시하고 본 명세서에서 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예들을 특정한 개시 형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 벗어나지 않은 채, 제1 구성 요소는 제2 구성 요소로 명명될 수 있고 유사하게 제2 구성 요소는 제1 구성 요소로도 명명될 수 있다.
본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로서, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 본 명세서에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본 명세서에 첨부된 도면들을 참조하여 본 발명의 실시 예들을 상세히 설명한다.
우선, 본 발명에서 사용하는 공개키 기반 구조(Public-key Infrastructure, PKI)에 대하여 설명한다. 공개키 암호시스템을 사용하기 위해서는 공개키를 다른 사용자들에게 암호학적으로 안전하게 공개하여야 한다. 사용자들의 공개키 공개 문제를 해결하기 위하여 공개키 기반 구조(PKI)가 제안되었다. 공개키 기반 구조에서는 공개키에 대한 인증서를 발급해주는 인증 기관(Certificate authority, CA)이 존재한다. 공개키가 실제로 누구의 것인지 확인하기 위해서는 공개키에 대한 인증서를 검증해 보면 된다. 인증서는 공개키와 함께 공개된 공간에 공개될 수도 있고, 누군가 사용자의 공개키를 요청할 때 인증서를 같이 전송해줄 수도 있다. 인증 기관에서 발급하는 인증서는 기본적으로 인증 기관의 전자 서명이 함께 있기 때문에, 악의적인 공격자가 인증 기관이 발급하는 인증서를 위조하는 것은 불가능하다.
인증서에는 인증서의 유효 기간이 명시되어 있는 필드가 있다. 따라서 일반적으로 인증서의 생명은 인증서의 유효 기간과 같다. 그러나 패스워드 분실과 같이 예상치 못하게 인증서에 문제가 발생하면 사용자들은 새로운 인증서 발급을 요청하게 된다. 이 경우 인증 기관은 사용자들의 요청에 의하여 새로운 인증서를 발급해주는 동시에 기존에 발급되었던 인증서를 폐기하여야 한다. 폐기된 인증서를 확인하기 위하여 인증서 폐기 목록(Certificate revoked list, CRL)과 실시간 인증서 상태 확인 프로토콜(Online certificate status protocol, OCSP)를 사용한다.
인증서에 표시되어 있는 유효 기간 이내에 취소된 인증서들을 하나의 목록으로 구성한 것을 인증서 폐기 목록이라 하며, 인증서 폐기 목록은 인증 기관이 직접 작성하고 관리한다. 실시간 인증서 상태 확인 프로토콜은 실시간으로 인증서 검증자의 개별 요청을 받아 응답하는 방법으로, 검증자의 요청에 의해 전송되는 데이터의 양이 취소된 인증서의 수와 상관없이 항상 일정하다.
또한, 본 발명에서는 제조사 서버와 자동차(GECU)가 인터넷상에서 통신을 할 때 응용계층에서 생성된 데이터에 대하여 보안과 압축 기능을 제공하기 위하여 설계된 보안 프로토콜인 SSL(Secure Socket Layer)을 사용한다. Netscape 사에서 1994년 처음으로 버전 1.0이 개발되었으며, 1995년 버전 2.0과 버전 3.0이 발표되었다. SSL은 네트워크 상에서 보안만을 적용하기 위한 목적으로 응용계층과 전송계층 사이에서 정의된 보안계층으로, 기존의 응용계층이나 전송계층의 프로토콜을 변형시키지 않고 보안 서비스를 제공한다.
SSL 인증서를 이용하여 인터넷상에서 서버와 클라이언트 간의 인증 기능(인증서 유효성 검증)을 제공하며, 인증이 완료되면 상기 공개키 기반의 키 교환 메커니즘을 통해 대칭키를 공유한다. 공유된 대칭키를 이용하여 통신을 암호화함으로써 통신 채널의 기밀성을 제공한다. 또한, 메시지 인증 코드(Message authentication code, MAC)를 이용하여 전송되는 데이터의 위/변조를 탐지할 수 있는 무결성을 제공한다.
또한, 본 발명에서는 차량에 장착된 플러그인 디바이스 인증 장치(GECU)가 플러그인 디바이스를 인증할 때, 질의-응답(Challenge-response) 인증 방식의 한 종류인 대칭키 기반 단방향 인증(Symmetric-key based unilateral authentication) 질의-응답(Challenge-response) 방식을 사용한다. 질의-응답 인증 방식은 검증자(Verifier)가 생성한 질의(Challenge)를 증명자(Prover)에게 전송하여 증명자가 자신의 비밀값을 이용하여 질의에 응답(Response)하는 방식이다. 검증자가 랜덤한 질의를 하게 되는 경우 이에 대한 증명자의 응답도 매번 바뀌게 된다. 질의는 비밀값을 알고 있는 증명자만이 올바른 응답을 할 수 있도록 설계되어야 한다. 즉, 질의의 새로움(Freshness)이 보장되어야 한다. 대칭키를 이용한 질의-응답 인증 방법은 증명자와 검증자 간에 사전에 공유한 대칭키를 이용하여 인증하는 방법으로, 검증자는 응답을 통해 증명자가 자신과 동일한 대칭키를 소유하고 있는지 확인한다. 단방향 인증은 한쪽 사용자만 인증을 받는 방법이다.
본 발명에서 사용하는 대칭키 기반 단방향 인증 프로토콜은 ISO/IEC 9798-2 표준 프로토콜이다. ISO/IEC 9798-2 표준 프로토콜은 아래와 같은 특징이 있다.
① 검증자(V)는 랜덤한 값(R)을 생성하고, 이를 질의로 증명자(P)에게 전송한다.
② 증명자는 검증자와 사전에 공유한 대칭키(K)를 이용하여 질의 R과 검증자의 아이디(V)를 함께 아래와 같이 암호화한다.
Figure 112016009072425-pat00001
상기 암호화한 값을 응답으로 검증자에게 전송한다.
③ 검증자는 증명자와 사전에 공유한 대칭키(K)를 이용하여 응답
Figure 112016009072425-pat00002
을 복호화하고, 자신이 최초에 생성한 랜덤값 R과 자신의 아이디(V)가 맞는지 확인한다. 동일한 값인 경우 증명자를 인증한다.
이하, 도 1 내지 도 2을 참조하여, 본 발명의 일 실시예에 따른 자동차 개방형 PnP형 플랫폼에서의 플러그인 디바이스 인증 장치에 대해 상술한다.
도 1은 본 발명의 일 실시예에 따른 자동차 개방형 PnP형 플랫폼에서의 플러그인 디바이스 인증 시스템(10)을 도시한다. 도 1을 참조하면, 플러그인 디바이스 인증 시스템(10)은 게이트웨이 ECU(100) 및 플러그인 디바이스(200)를 포함하는 자동차(C), 상기 자동차에 장착된 플러그인 디바이스(200)를 만드는 제조사의 제조사 서버(300), 및 상기 제조사 서버(300)와 상기 게이트웨이 ECU(100)의 인증서를 발급하고 관리하는 OEM 인증 서버(400)를 포함한다.
본 발명에서 플러그인 디바이스(200) 및 게이트웨이 ECU(100)에 안전한 저장 공간인 HSM(Hardware Security Module)이 있으며, 차량 내부 통신은 서비스 거부 공격(DoS attack)과 중간자 공격(Man-in-the-middle attack)에 대해 안전하다고 가정한다.
자동차 생산 과정에서 OEM 인증 서버(400)는 자동차 내부의 게이트웨이 ECU(100)에 인증서와 그에 대응하는 비밀키를 저장한다. 이때, 비밀키는 HSM에 안전하게 저장된다. 플러그인 디바이스(200) 생산 과정에서 제조사는 플러그인 디바이스(200)에 인증 수행에 필요한 대칭키를 HSM에 안전하게 저장한다. 제조사 서버(300)는 OEM 인증 서버(400)로부터 인증서를 발급받으며, 인증서에 대응하는 비밀키와 각 플러그인 디바이스의 대칭키 생성에 사용된 비밀값(seed)을 안전하게 저장한다. 인증 수행 시, 제조사 서버(300)와 게이트웨이 ECU(100)는 서로의 인증서 유효성 검증을 통해 정당성을 인증하고, 게이트웨이 ECU(100)는 SSL 통신을 통해 안전하게 플러그인 디바이스(200)에 저장된 대칭키를 제조사 서버(300)로부터 전송받는다. 이후 게이트웨이 ECU(100)는 대칭키 기반의 단방향 인증 프로토콜을 이용하여 플러그인 디바이스(200)를 인증한다.
이때, 제조사 서버(300)는 플러그인 디바이스를 생산하는 회사의 서버로, 대칭키 생성을 위한 비밀값(seed)을 안전하게 저장하고 있다. 또한, OEM 인증 서버(400)는 OEM(original equipment manufacturer)이 관리하는 인증 서버로, OEM이 인증하거나 특정 컨소시움에 소속된 제조사, 및 게이트웨이 ECU(100)의 인증서를 발급하고 관리한다. OEM 인증 서버(400)는 인증서 폐기 목록(CRL)이나 실시간 인증서 상태 확인 프로토콜(OCSP)를 통해 인증서의 유효성 검증 서비스를 제공할 수 있다.
도 2는 도 1에 도시된 플러그인 디바이스 인증 장치(100)의 기능 블럭도이다. 플러그인 디바이스 인증 장치(100)는 게이트웨이 ECU(Gateway electronic control unit)일 수 있다.
도 1과 도 2를 참조하면, 상기 플러그인 디바이스 인증 장치(100)는 인증서 검증 모듈(110), 디바이스 인증 모듈(120), 통신 모듈(170), 하드웨어 보안 모듈(180), 및 제어 모듈(190)을 포함한다.
본 명세서에서 사용되는 '모듈'이라 함은 본 발명의 기술적 사상을 수행하기 위한 하드웨어 및 상기 하드웨어를 구동하기 위한 소프트웨어의 기능적, 구조적 결합을 의미할 수 있다. 예컨대, 상기 '모듈'은 소정의 코드와 상기 소정의 코드가 수행되기 위한 하드웨어 리소스의 논리적인 단위를 의미할 수 있으며, 반드시 물리적으로 연결된 코드를 의미하거나 한 종류의 하드웨어를 의미하는 것은 아니다.
플러그인 디바이스 인증 장치(100)의 인증서 검증 모듈(110)은 제어 모듈(190)의 제어 하에, OEM 인증 서버(400)로부터 인증서 폐기 목록을 다운받거나 실시간 인증서 상태 확인 프로토콜을 수행함으로써, 제조사 서버(300) 인증서의 유효성 검증을 수행할 수 있다.
플러그인 디바이스 인증 장치(100)의 디바이스 인증 모듈(120)은 제어 모듈(190)의 제어 하에, 대칭키 기반 단방향 인증 프로토콜을 이용하여 플러그인 디바이스(200)의 인증을 수행한다. 예를 들어, 랜덤값(R)을 생성하여 플러그인 디바이스(200)에 전송하고, 대칭키를 이용하여 암호화된 랜덤값을 플러그인 디바이스(200)로부터 수신하고, 이를 복호화한 랜덤값(R’)과 랜덤값(R)을 비교하여 인증을 수행할 수 있다.
플러그인 디바이스 인증 장치(100)의 통신모듈(170)은 제어 모듈(190)의 제어 하에, 플러그인 디바이스(200), 제조사 서버(300), 또는 OEM 인증 서버(400)와 유선 또는 무선 통신망을 통하여 통신을 수행할 수 있다.
플러그인 디바이스 인증 장치(100)의 하드웨어 보안 모듈(180)은 제어 모듈(190)의 제어 하에, 자동차 생산 시 OEM 인증 서버(400)로부터 발급받은 인증서 및 이에 대응하는 비밀키를 안전하게 저장할 수 있다. 또한, 하드웨어 보안 모듈(180)은 제조사 서버(300)로부터 암호화 통신을 통하여 수신한 대칭키를 안전하게 저장할 수 있다.
제어 모듈(190)은 플러그인 디바이스 인증 장치(100)의 전반적인 동작을 제어한다. 즉, 인증서 검증 모듈(110), 디바이스 인증 모듈(120), 통신모듈(170) 및 하드웨어 보안 모듈(180)의 동작을 제어할 수 있다.
이하, 도 3 내지 도 6을 참조하여, 본 발명의 일 실시예에 따른 자동차 개방형 PnP형 플랫폼에서의 플러그인 디바이스 인증 방법에 대해 상술한다.
도 3는 도 1에 도시된 플러그인 디바이스 인증 장치를 포함하는 플러그인 디바이스 인증 시스템을 이용한 자동차 개방형 PnP형 플랫폼에서의 인증 방법을 설명하기 위한 흐름도이다. 또한, 도 4는 도 3의 단계 S100을 보다 세부적으로 도시한 도면이고, 도 5는 도 3의 단계 S200을 보다 세부적으로 도시한 도면이다. 도 6은 도 3의 단계 S300을 보다 세부적으로 도시한 도면이다. 이하에서는 상술된 내용과 중복되는 내용에 관한 기재는 생략하기로 한다.
본 발명은 사전 준비 단계(Pre-processing phase, S100), 설정 단계(Setup phase, S200), 및 인증 단계(Authentication phase, S300)로 구성된다.
먼저, 플러그인 디바이스(200) 생산 및 게이트웨이 ECU(100) 생산 시, 사전 준비 단계(S100)를 아래와 같이 수행한다.
도 3 및 도 4를 참조하면, 우선, 제조사 서버(300)는 플러그인 디바이스(200) 생산 시, 비밀값과 플러그인 디바이스의 제품 번호(Serial number, SN)를 키 유도 함수(Key derivation function, KDF)의 입력으로 하여 대칭키
Figure 112016009072425-pat00003
을 생성한다(S110). 생성된 대칭키
Figure 112016009072425-pat00004
를 플러그인 디바이스(200)의 하드웨어 보안 모듈(hardware security module, HSM)에 안전하게 저장한다(S120). 또한, 제조사 서버(300)는 OEM 인증 서버(400)로부터 제1 인증서(
Figure 112016009072425-pat00005
)를 발급받고(S130), 이에 대응하는 제1 비밀키(
Figure 112016009072425-pat00006
)를 안전하게 저장한다(S140).
자동차(C)의 게이트웨이 ECU(100)는 자동차 생산 시 OEM 인증 서버(400)에서 제2 인증서(
Figure 112016009072425-pat00007
)를 발급받고(S150), 이에 대응하는 비밀키(
Figure 112016009072425-pat00008
)를 게이트웨이 ECU(100) 내 하드웨어 보안 모듈(HSM)에 안전하게 저장한다(S160).
다음, 플러그인 디바이스(200)가 자동차(C)에 플러그인 되면 설정 단계(S200)를 아래와 같이 수행하며, 플러그인 디바이스(200)의 인증에 필요한 비밀값을 생성한다.
도 3 및 도 5를 참조하면, 먼저, 플러그인 디바이스(200)가 자동차(C)에 플러그인 되면 플러그인 디바이스(200)의 제조사 정보와 제품 번호(SN)를 게이트웨이 ECU(100)에게 전송한다(S210). 즉, 플러그인 디바이스(200)가 자동차(C)에 플러그인 되면 게이트웨이 ECU(100)는 플러그인 디바이스(200)로부터 플러그인 디바이스(200)의 제조사 정보와 제품 번호(SN)를 수신한다.
다음, 제조사 서버(300)와 게이트웨이 ECU(100) 각각은 게이트웨이 ECU(100)와 제조사 서버(300)의 각각의 인증서의 유효성을 검증하여, 인증서를 이용하여 SSL 암호화 통신을 시작한다(S220). 인증서 유효성 검증은, 예를 들어, OEM 인증 서버(400)로부터 인증서 폐기 목록을 다운받거나 실시간 인증서 상태 확인 프로토콜을 수행하여 게이트웨이 ECU(100)가 저장하고 있는 제2 인증서와 제조사 서버(300)가 저장하고 있는 제1 인증서의 유효성을 검증할 수 있다.
또한, 게이트웨이 ECU(100)는 전송받은 제조사 정보를 이용하여 제조사 서버(300)에 접속하고, 제조사 서버(300)와 게이트웨이 ECU(100)는 발급받은 인증서를 이용하여 SSL 암호화 통신을 수행한다.
다음, 게이트웨이 ECU(100)는 제조사 서버(300)에게 플러그인 디바이스(200)로부터 전송받은 플러그인 디바이스의 제품 번호(SN)를 전송한다(S230). 제조사 서버(300)는 저장하고 있는 비밀값(seed)과 전송받은 제품 번호(SN)를 이용하여 해당 플러그인 디바이스(200)에 대응하는 대칭키
Figure 112016009072425-pat00009
를 아래와 같이 생성한다(S240).
Figure 112016009072425-pat00010
생성된 대칭키
Figure 112016009072425-pat00011
는 SSL 암호화 통신을 통해 안전하게 게이트웨이 ECU(100)에게 전송된다(S250). 게이트웨이 ECU(100)는 전송받은 대칭키
Figure 112016009072425-pat00012
를 HSM에 안전하게 저장하고, 통신 세션을 종료한다(S260).
다음, 아래와 같이 게이트웨이 ECU(100)는 플러그인 디바이스(200)의 인증을 수행한다(S300).
도 3 및 도 6을 참조하면, 게이트웨이 ECU(100)는 랜덤값(R)을 생성하여 플러그인 디바이스(200)에 전송한다(S310). 다음, 플러그인 디바이스(200)는 HSM에 저장된 대칭키
Figure 112016009072425-pat00013
를 이용하여 전송받은 랜덤값(R)을 아래와 같이 암호화하여 암호화된 랜덤값(
Figure 112016009072425-pat00014
)을 생성한다(S320).
다음, 게이트웨이 ECU(100)는 플러그인 디바이스(200)로부터 랜덤값(R)을 대칭키
Figure 112016009072425-pat00015
를 이용하여 암호화된 랜덤값(
Figure 112016009072425-pat00016
)을 수신한다(S330).
다음, 게이트웨이 ECU(100)는 HSM에 저장된 대칭키
Figure 112016009072425-pat00017
를 이용하여 전송받은 암호화된 랜덤값(
Figure 112016009072425-pat00018
)을 복호화한다(S340). 복호화한 랜덤값(R’)이 게이트웨이 ECU(100)가 단계S310에서 플러그인 디바이스(200)에 전송했던 랜덤값(R)과 동일한 값이면 인증을 완료한다(S350). 복호화한 랜덤값(R’)이 랜덤값(R)과 다른 값인 경우, 사용자에게 인증 실패 메시지를 전송하고 위의 인증 단계를 다시 수행할 수 있다.
상술한 플러그인 디바이스 인증 방법은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다.
예를 들어, 기록매체에 저장되며 개방형 PnP형 플랫폼에서 자동차에 장착된 플러그인 디바이스의 인증을 수행하는 플러그인 디바이스 인증 프로그램으로서, 상기 프로그램은 랜덤값을 생성하고, 상기 랜덤값을 플러그인 디바이스에 전송하는 명령어 세트, 플러그인 디바이스로부터 암호화된 랜덤값을 수신하는 명령어 세트, 제조사 서버로부터 수신한 제1 대칭키를 이용하여 상기 암호화된 랜덤값을 복호화하여 복호화된 랜덤값을 생성하는 명령어 세트, 및 상기 복호화된 랜덤값과 상기 랜덤값이 동일한 경우, 상기 플러그인 디바이스를 인증을 수행하는 명령어 세트를 포함할 수 있다.
상기 플러그인 디바이스 인증 프로그램은 상기 기록매체에 저장되며, 상기 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등)와 같은 저장매체를 포함한다. 또한, 상기 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 명령어 세트가 저장되고 실행될 수 있다.
본 발명에서 개시된 블록도들은 본 발명의 원리들을 구현하기 위한 회로를 개념적으로 표현한 형태라고 당업자에게 해석될 수 있을 것이다. 유사하게, 임의의 흐름 차트, 흐름도, 상태 전이도, 의사코드 등은 컴퓨터 판독가능 매체에서 실질적으로 표현되어, 컴퓨터 또는 프로세서가 명시적으로 도시되든지 아니든지 간에 이러한 컴퓨터 또는 프로세서에 의해 실행될 수 있는 다양한 프로세스를 나타낸다는 것이 당업자에게 인식될 것이다.
본 발명은 도면에 도시된 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
10 : 플러그인 디바이스 인증 시스템
100 : 플러그인 디바이스 인증 장치 200 : 플러그인 디바이스
300 : 제조사 서버 400 : OEM 인증 서버

Claims (10)

  1. 제조사 서버, 인증 서버, 및 자동차에 장착된 플러그인 디바이스 인증 장치를 포함하는 플러그인 디바이스 인증 시스템에서 개방형 PnP형 플랫폼에서 자동차에 장착된 플러그인 디바이스의 인증을 수행하는 플러그인 디바이스 인증 방법에 있어서,
    제조사 서버가 플러그인 디바이스 생산 시 비밀값과 상기 플러그인 디바이스의 제품번호(SN)를 키 유도 함수의 입력으로 하여 제1 대칭키를 생성하고 상기 플러그인 디바이스에 안전하게 저장하는 단계;
    상기 제조사 서버가 인증 서버로부터 제1 인증서를 발급받고, 이에 대응하는 제1 비밀키를 안전하게 저장하는 단계;
    자동차에 장착된 플러그인 디바이스 인증 장치가 자동차 생산 시 상기 인증 서버에서 제2 인증서를 발급받고, 이에 대응하는 제2 비밀키를 안전하게 저장하는 단계;
    상기 플러그인 디바이스가 자동차에 플러그인되면, 상기 플러그인 디바이스 인증 장치가 상기 플러그인 디바이스의 제조사 정보 및 제품번호(SN)를 수신하는 단계;
    상기 플러그인 디바이스 인증 장치가 상기 제조사 정보에 따른 상기 제조사 서버의 상기 제1 인증서의 유효성을 검증하고, 상기 제조사 서버로부터 상기 플러그인 디바이스 인증 장치의 상기 제2 인증서의 유효성을 검증받고, 검증을 통과한 경우 SSL 암호화 통신 세션을 시작하는 단계;
    상기 플러그인 디바이스 인증 장치가 상기 제조사 서버에 상기 플러그인 디바이스로부터 수신한 상기 제품번호(SN)를 전송하는 단계;
    상기 제조사 서버가 상기 비밀값과 상기 플러그인 디바이스 인증 장치로부터 수신한 상기 제품번호(SN)를 이용하여 상기 제품번호(SN)에 대응하는 제2 대칭키를 생성하여, 상기 플러그인 디바이스 인증 장치에 상기 제2 대칭키를 전송하고, SSL 암호화 통신 세션을 종료하는 단계;
    상기 플러그인 디바이스 인증 장치가 랜덤값(R)을 생성하고, 상기 랜덤값(R)을 상기 플러그인 디바이스에 전송하는 단계;
    상기 플러그인 디바이스 인증 장치가 상기 플러그인 디바이스로부터 상기 제1 대칭키를 이용하여 암호화한 암호화된 랜덤값(
    Figure 112017028666550-pat00025
    )을 수신하는 단계;
    상기 플러그인 디바이스 인증 장치가 상기 제조사 서버로부터 수신한 제2 대칭키를 이용하여 상기 암호화된 랜덤값(
    Figure 112017028666550-pat00026
    )을 복호화하여 복호화된 랜덤값(R')을 생성하는 단계; 및
    상기 복호화된 랜덤값(R')과 상기 랜덤값(R)이 동일한 경우, 상기 플러그인 디바이스를 인증하는 단계;를 포함하는 플러그인 디바이스 인증 방법.
  2. 제1항에 있어서,
    상기 플러그인 디바이스 인증 장치가 상기 제2 대칭키를 하드웨어 보안 모듈에 안전하게 저장하고 상기 제조사 서버와의 통신을 종료하는 단계;를 더 포함하는 플러그인 디바이스 인증 방법.
  3. 제2항에 있어서,
    상기 제1 인증서 및 상기 제2 인증서 유효성 검증 단계는,
    인증 서버로부터 인증서 폐기 목록을 다운받거나 실시간 인증서 상태 확인 프로토콜을 수행하여 상기 제1 인증서 및 제2 인증서의 유효성 검증을 수행하는 플러그인 디바이스 인증 방법.
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
  9. 삭제
  10. 개방형 PnP형 플랫폼에서 차량에 장착된 플러그인 디바이스의 인증을 수행하는 플러그인 디바이스 인증 시스템에 있어서,
    대칭키 기반 단방향 인증 프로토콜을 이용하여 상기 플러그인 디바이스의 인증을 수행하는 차량에 장착된 플러그인 디바이스 인증 장치,
    인증 수행에 필요한 대칭키를 안전하게 저장하고 있는 차량에 장착된 플러그인 디바이스,
    대칭키 생성을 위한 비밀값을 안전하게 저장하고 있으며, 상기 플러그인 디바이스를 제조한 제조사 서버, 및
    상기 제조사 서버와 상기 플러그인 디바이스 인증 장치에 인증서를 발급하고 관리하는 인증 서버를 포함하되,
    상기 제조사 서버는,
    상기 플러그인 디바이스 생산 시 비밀값과 상기 플러그인 디바이스의 제품번호(SN)를 키 유도 함수의 입력으로 하여 제1 대칭키를 생성하여 안전하게 저장하고, 상기 인증 서버로부터 제1 인증서를 발급받아 이에 대응하는 제1 비밀키를 안전하게 저장하며,
    상기 플러그인 디바이스 인증 장치는,
    자동차 생산 시 상기 인증 서버로부터 제2 인증서를 발급받고, 이에 대응하는 제2 비밀키를 안전하게 저장하고, 상기 플러그인 디바이스가 자동차에 플러그인되면, 상기 플러그인 디바이스로부터 상기 플러그인 디바이스의 제조사 정보 및 제품번호(SN)를 수신하며,
    상기 플러그인 디바이스 인증 장치는,
    상기 제조사 서버와의 SSL 암호화 통신 세션을 통해 상기 제품번호(SN)를 송신한 후, 상기 제품번호(SN)에 대응하는 제2 대칭키를 수신하고,
    상기 플러그인 디바이스 인증 장치는,
    랜덤값(R)을 상기 플러그인 디바이스에 전송하고, 상기 랜덤값(R)을 상기 제1 대칭키를 이용하여 암호화한 암호화된 랜덤값(
    Figure 112017028666550-pat00027
    )을 상기 플러그인 디바이스로부터 수신하고, 상기 제2 대칭키를 이용하여 상기 암호화된 랜덤값(
    Figure 112017028666550-pat00028
    )을 복호화하여 복호화된 랜덤값(R')을 생성하고, 상기 랜덤값(R)과 상기 복호화된 랜덤값(R')을 비교하여 인증을 수행하는 플러그인 디바이스 인증 시스템.
KR1020160010117A 2016-01-27 2016-01-27 자동차 개방형 PnP형 플랫폼에서의 플러그인 디바이스 인증 방법 및 장치 KR101802824B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160010117A KR101802824B1 (ko) 2016-01-27 2016-01-27 자동차 개방형 PnP형 플랫폼에서의 플러그인 디바이스 인증 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160010117A KR101802824B1 (ko) 2016-01-27 2016-01-27 자동차 개방형 PnP형 플랫폼에서의 플러그인 디바이스 인증 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20170090008A KR20170090008A (ko) 2017-08-07
KR101802824B1 true KR101802824B1 (ko) 2017-11-30

Family

ID=59653685

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160010117A KR101802824B1 (ko) 2016-01-27 2016-01-27 자동차 개방형 PnP형 플랫폼에서의 플러그인 디바이스 인증 방법 및 장치

Country Status (1)

Country Link
KR (1) KR101802824B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102400940B1 (ko) * 2017-10-24 2022-05-24 현대모비스 주식회사 자율 주행 차량의 통신 보안 장치 및 방법
KR102543313B1 (ko) 2018-10-15 2023-06-16 현대자동차주식회사 차량 및 그 제어방법
JP7226177B2 (ja) * 2019-08-02 2023-02-21 株式会社オートネットワーク技術研究所 車載中継装置、車載通信システム、通信プログラム及び通信方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
A. Menezes 외 2명, Handbook of Applied Cryptography, Chapter.9,10,12, CRC Press (1996)*
T. Dierks 외 1명, The TLS Protocol Version 1.0, RFC 2246 (1999.01.)*
조아람 외 4명, CAN 버스 공격에 안전한 메시지 인증 및 키 분배 메커니즘, 정보보호학회논문지 22(5), pp.1057-1068 (2012.10.)

Also Published As

Publication number Publication date
KR20170090008A (ko) 2017-08-07

Similar Documents

Publication Publication Date Title
US10382485B2 (en) Blockchain-assisted public key infrastructure for internet of things applications
CN107528692B (zh) 用于向认证机构注册智能电子装置的方法和系统
US7882356B2 (en) UPnP authentication and authorization
EP3850510B1 (en) Infrastructure device enrolment
US9026789B2 (en) Trusted certificate authority to create certificates based on capabilities of processes
EP2606605B1 (en) Authentication device and system
CN112544052B (zh) 密钥协商方法及装置
WO2010067812A1 (ja) 自己認証通信機器および機器認証システム
CN111552270B (zh) 用于车载诊断的安全认证和数据传输方法及装置
EP2608477B1 (en) Trusted certificate authority to create certificates based on capabilities of processes
EP3346635B1 (en) Controller, communication method, and communication system
KR20050064119A (ko) 인터넷접속을 위한 확장인증프로토콜 인증시 단말에서의서버인증서 유효성 검증 방법
US11070537B2 (en) Stateless method for securing and authenticating a telecommunication
CN111181723A (zh) 物联网设备间离线安全认证的方法和装置
CN112383395A (zh) 密钥协商方法及装置
KR101802824B1 (ko) 자동차 개방형 PnP형 플랫폼에서의 플러그인 디바이스 인증 방법 및 장치
CN111654481B (zh) 一种身份认证方法、装置和存储介质
CN113766450A (zh) 车辆虚拟钥匙共享方法及移动终端、服务器、车辆
CN117220895A (zh) 用于车辆中可服务电子部件的公钥基础设施的方法和系统
CN114374522A (zh) 可信设备认证方法、装置、计算机设备及存储介质
CN115606155A (zh) 为安全通信准备控制装置
KR101256114B1 (ko) 다수의 mac검증서버에 의한 메시지인증코드 검증 방법 및 시스템
JP6188744B2 (ja) 管理システム、車両及び管理方法
JP2005117277A (ja) ルート証明書更新システム、方法およびプログラムとサーバ装置およびクライアント装置
US20230155842A1 (en) Method and apparatus for certifying an application-specific key and for requesting such certification

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant