KR20180001289A - Otp 기반의 보안 강화 시스템 및 그 방법 - Google Patents

Otp 기반의 보안 강화 시스템 및 그 방법 Download PDF

Info

Publication number
KR20180001289A
KR20180001289A KR1020160080235A KR20160080235A KR20180001289A KR 20180001289 A KR20180001289 A KR 20180001289A KR 1020160080235 A KR1020160080235 A KR 1020160080235A KR 20160080235 A KR20160080235 A KR 20160080235A KR 20180001289 A KR20180001289 A KR 20180001289A
Authority
KR
South Korea
Prior art keywords
otp
message
public key
control device
encrypted data
Prior art date
Application number
KR1020160080235A
Other languages
English (en)
Other versions
KR101825486B1 (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 KR1020160080235A priority Critical patent/KR101825486B1/ko
Publication of KR20180001289A publication Critical patent/KR20180001289A/ko
Application granted granted Critical
Publication of KR101825486B1 publication Critical patent/KR101825486B1/ko

Links

Images

Classifications

    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/067Network architectures or network communication protocols for network security for supporting key management in a packet data network using one-time keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/18Network architectures or network communication protocols for network security using different networks or channels, e.g. using out of band channels
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms

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)
  • Selective Calling Equipment (AREA)

Abstract

본 발명에 의한 OTP 기반의 보안 강화 시스템 및 그 방법이 개시된다. 본 발명에 따른 OTP 기반의 보안 강화 시스템은 차량 내 다른 제어 장치와 미리 설정된 차량 네트워크를 통해 연동하는 인터페이스; 상기 연동된 제어 장치와 공개키를 기반으로 보안 통신 채널을 형성하고 상기 형성된 보안 통신 채널을 통해 OTP(One Time Passward)를 기반으로 데이터를 암호화하여 송신하는 로직 제어기; 및 상기 제어 장치별 공개키, OTP 생성을 위한 OTP 설정값 리스트를 저장하는 메모리를 포함한다.

Description

OTP 기반의 보안 강화 시스템 및 그 방법{APPARATUS FOR STRENTHENING SECURITY BASED ON OTP AND METHOD THEREOF}
본 발명은 보안 강화 기술에 관한 것으로서, 특히, 차량 내 통신을 위한 OTP(One Time Password) 기반의 보안 강화 시스템 및 그 방법에 관한 것이다.
최근 자동차의 기술은 전자와 IT기술과의 접목을 통해 운전자의 안전, 편의 및 편익을 증대시켜 커넥티드카(Connected Car), 텔레매틱스(Telematics), V2X(Vehicle to Vehicle, Infrastructure, Grid 등), 전기차, 수소차, 자율주행자동차 등의 기술로 발전하고 있다. 특히, 다양한 전자제어 장치(ECU, Electronic Control Unit)가 도입되어 여러 가지 감지(Sensing, 센싱), 제어 및 모니터링(Monitoring)을 할 수 있게 되었다.
이렇게 도입되는 전자 제어장치가 늘어남에 따라 전자 제어장치들간의 정보 교환 및 공유를 위한 통신 네트워크가 매우 중요하게 연구 및 상용화 되었다. 자동차에서 도입되는 통신네트워크는 LIN (Local Interconnect Network), CAN(Car Area Network), MOST(Mdeia Oriented Systems, Transport), FlexRay가 있으며 최근에는 Ethernet도 적용되고 있다. 이러한 통신 네트워크는 전자제어장치의 용도와 통신되는 정보량 및 그 기능의 중요도와 보안성에 따라 전체, 일부 및 병행하여 다루고 있다.
전자기술(Electric Technology)과 정보기술(IT, Information Technology)의 접목으로 자동차 기술의 구조는 더욱 복잡하고 IT기술 영역에 있었던 보안이슈가 대두되고 있다. 특히, CAN과 FlexRay 통신은 브로드캐스트 방식으로 인증로직이 없어 ECU내 발신 ECU와 수신 ECU의 식별이 어렵고, 데이터 메시지를 암호화 되지 않아서 상호 송수신 과정에서 발신 또는 수신 ECU의 인증 우회에 취약하고 데이터의 위조 및 변조가 가능하다. 더욱이 통신채널을 통한 서비스 거부를 발생시킬 수 있는 우려가 있다.
그러나 기존의 보안 강화 기술들은 대부분 게이트웨이를 통한 통신채널 구분을 통한 보안 강화와 인증 강화에 집중하고 있다. 게이트웨이를 통한 보안강화는 게이트웨이의 장애 시 통신 및 보안 서비스를 하지 못하는 가능성이 있다.
한국공개특허공보 제2008-0023056호, 2008.03.12. 한국등록특허공보 제1021914호, 2011.03.07. 한국등록특허공보 제1481403호, 2015.01.21 한국공개특허공보 제2013-0083619호, 2013.07.23. 한국공개특허공보 제2013-0136852호, 2013.12.13.
김강석, CAN 통신 도청 및 조작을 통한 차량 ECU의 외부위협 가능성 분석, 학위 논문, 2011.
따라서 이러한 종래 기술의 문제점을 해결하기 위한 것으로, 본 발명의 목적은 차량 내 제어장치 간에 데이터를 송수신하되, 공개키를 기반으로 보안 통신 채널을 형성하고, 그 형성된 보안 통신 채널을 통해 OTP(One Time Passward)를 기반으로 데이터를 송수신하도록 한 OTP 기반의 보안 강화 시스템 및 그 방법을 제공하는데 있다.
그러나 본 발명의 목적은 상기에 언급된 사항으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 목적들을 달성하기 위하여, 본 발명의 한 관점에 따른 OTP 기반의 보안 강화 시스템은 차량 내 다른 제어 장치와 미리 설정된 차량 네트워크를 통해 연동하는 인터페이스; 상기 연동된 제어 장치와 공개키를 기반으로 보안 통신 채널을 형성하고 상기 형성된 보안 통신 채널을 통해 OTP(One Time Passward)를 기반으로 데이터를 암호화하여 송신하는 로직 제어기; 및 상기 제어 장치별 공개키, OTP 생성을 위한 OTP 설정값 리스트를 저장하는 메모리를 포함할 수 있다.
바람직하게, 상기 로직 제어기는 자신의 제1 ID와 제1 인증서를 차량 네트워크를 통해 상기 연동된 제어 장치의 제2 ID와 제2 인증서를 교환하여 상기 교환한 제2 ID와 제2 인증서를 검증한 후, 미리 저장된 OTP 설정값 리스트에서 랜덤하게 선택된 OTP 설정 ID를 공개키로 암호화하여 전송하여 보안 통신 채널을 형성할 수 있다.
바람직하게, 상기 로직 제어기는 상기 제2 ID와 제2 인증서의 검증에 성공하면, 상기 제2 인증서로부터 공개키를 추출하고 랜덤하게 세션키를 생성하며, 상기 OTP 설정값 리스트에서 랜덤하게 선택된 OTP 설정 ID를 상기 공개키로 암호화하며, 상기 암호화된 데이터를 자신의 개인키로 서명하여 상기 서명된 암호화된 데이터, 상기 자신의 제1 ID, 상기 세션키를 전송할 수 있다.
바람직하게, 상기 로직 제어기는 상기 연동한 제어 장치의 공개키, 서비스 흐름별 메시지 ID, 메시지 송신 카운터를 이용하여 OTP를 생성하고, 상기 생성된 OTP를 이용하여 전송하려는 데이터를 1차 암호화하며, 상기 1차 암호화된 데이터를 상기 연동한 제어 장치의 공개키로 2차 암호화하며, 상기 2차 암호화된 데이터를 자신의 개인키로 서명하고, 상기 서명된 2차 암호화된 데이터, 상기 자신의 제1 ID, 세션키를 전송할 수 있다.
바람직하게, 상기 로직 제어기는 미리 저장된 메시지 ID 리스트에서 해당 서비스의 서비스 흐름별 유일한 메시지 식별을 위한 메시지 ID를 추출하여 진수화하고, 상기 공개키를 추출하여 진수화하며, 송신된 메시지의 횟수인 상기 메시지 송신 카운터를 OTP 설정 ID에 부합된 사용 진법으로 진수화하며, 상기 진수화된 메시지 ID, 상기 진수화된 공개키, 상기 진수화된 메시지 카운터를 조합하여 그 조합한 값을 이용하여 상기 OTP를 생성할 수 있다.
바람직하게, 상기 로직 제어기는 상기 조합한 값의 끝자리부터 상기 OTP 설정 ID에 상응하는 OTP 계수 N1, OTP 계수 N2를 각 자리수별로 미리 설정된 연산 방식을 이용하여 번갈아 연산하고, 각 자리수별로 연산한 결과값을 모두 합산하며, 사용된 진수의 최대값 배수 중 합한 값보다 크면서 가장 가까운 수에 총합을 빼고 그 뺀 결과값을 구하고자 하는 OTP 값으로 산출할 수 있다.
본 발명의 다른 한 관점에 따른 OTP 기반의 보안 강화 시스템은 차량 내 다른 제어 장치와 미리 설정된 차량 네트워크를 통해 연동하는 인터페이스; 상기 연동된 제어 장치와 공개키를 기반으로 보안 통신 채널을 형성하고 상기 형성된 보안 통신 채널을 통해 OTP(One Time Passward)를 기반으로 암호화된 데이터를 수신하여 복호화하는 로직 제어기; 및 상기 제어 장치별 공개키, OTP 생성을 위한 OTP 설정값 리스트를 저장하는 메모리를 포함할 수 있다.
바람직하게, 상기 로직 제어기는 자신의 제2 ID와 제2 인증서를 차량 네트워크를 통해 상기 연동된 제어 장치의 제1 ID와 제1 인증서를 교환하여 상기 교환한 제1 ID와 제1 인증서를 검증한 후, 상기 제1 인증서로부터 공개키를 추출하고 램덤하게 세션키를 생성하며, 상기 제2 ID, 상기 제2 인증서, 상기 세션키를 전송할 수 있다.
바람직하게, 상기 로직 제어기는 상기 연동된 제어 장치로부터 제1 ID, 세션키, 서명된 암호화 데이터를 수신하면, 상기 제1 ID, 상기 세션키, 서명을 검증하고, 자신의 개인키로 상기 암호화된 데이터를 복호화하여 그 복호화한 결과로 상기 암호화된 데이터에 포함된 OTP 설정 ID를 추출할 수 있다.
바람직하게, 상기 로직 제어기는 암호화된 데이터를 수신하면, 자신의 공개키, 서비스 흐름별 메시지 ID, 메시지 수신 카운터를 이용하여 OTP를 생성하고, 자신의 개인키로 상기 암호화된 데이터를 1차 복화화하며, 상기 생성된 OTP를 이용하여 상기 1차 복호화된 데이터를 2차 복호화하여 그 2차 복호화한 결과로 추출된 원래의 데이터를 저장할 수 있다.
바람직하게, 상기 로직 제어기는 미리 저장된 메시지 ID 리스트에서 해당 서비스의 서비스 흐름별 유일한 메시지 식별을 위한 메시지 ID를 추출하여 진수화하고, 상기 공개키를 추출하여 진수화하며, 송신된 메시지의 횟수인 상기 메시지 송신 카운터를 OTP 설정 ID에 부합된 사용 진법으로 진수화하며, 상기 진수화된 메시지 ID, 상기 진수화된 공개키, 상기 진수화된 메시지 카운터를 조합하여 그 조합한 값을 이용하여 상기 OTP를 생성할 수 있다.
바람직하게, 상기 로직 제어기는 상기 조합한 값의 끝자리부터 상기 OTP 설정 ID에 상응하는 OTP 계수 N1, OTP 계수 N2를 각 자리수별로 미리 설정된 연산 방식을 이용하여 번갈아 연산하고, 각 자리수별로 연산한 결과값을 모두 합산하며, 사용된 진수의 최대값 배수 중 합한 값보다 크면서 가장 가까운 수에 총합을 빼고 그 뺀 결과값을 구하고자 하는 OTP 값으로 산출할 수 있다.
본 발명의 또 다른 한 관점에 따른 OTP 기반의 보안 강화 방법은 차량 내 통신을 위한 제어 장치별 공개키, OTP 생성을 위한 OTP 설정값 리스트를 저장하는 단계; 상기 차량 내 다른 제어 장치와 미리 설정된 차량 네트워크를 통해 연동하여 상기 연동된 제어 장치와 공개키를 기반으로 보안 통신 채널을 형성하는 단계; 및 상기 보안 통신 채널을 통해 OTP(One Time Passward)를 기반으로 데이터를 암호화하여 송신하는 단계를 포함할 수 있다.
바람직하게, 상기 형성하는 단계는 자신의 제1 ID와 제1 인증서를 차량 네트워크를 통해 상기 연동된 제어 장치의 제2 ID와 제2 인증서를 교환하여 상기 교환한 제2 ID와 제2 인증서를 검증한 후, 미리 저장된 OTP 설정값 리스트에서 랜덤하게 선택된 OTP 설정 ID를 공개키로 암호화하여 전송하여 보안 통신 채널을 형성할 수 있다.
바람직하게, 상기 형성하는 단계는 상기 제2 ID와 제2 인증서의 검증에 성공하면, 상기 제2 인증서로부터 공개키를 추출하고 랜덤하게 세션키를 생성하며, 상기 OTP 설정값 리스트에서 랜덤하게 선택된 OTP 설정 ID를 상기 공개키로 암호화하며, 상기 암호화된 데이터를 자신의 개인키로 서명하여 상기 서명된 암호화된 데이터, 상기 자신의 제1 ID, 및 상기 세션키를 전송할 수 있다.
바람직하게, 상기 송신하는 단계는 상기 연동한 제어 장치의 공개키, 서비스 흐름별 메시지 ID, 메시지 송신 카운터를 이용하여 OTP를 생성하고, 상기 생성된 OTP를 이용하여 전송하려는 데이터를 1차 암호화하며, 상기 1차 암호화된 데이터를 상기 연동한 제어 장치의 공개키로 2차 암호화하며, 상기 2차 암호화된 데이터를 자신의 개인키로 서명하고, 상기 서명된 2차 암호화된 데이터, 상기 자신의 제1 ID, 세션키를 전송할 수 있다.
바람직하게, 상기 송신하는 단계는 미리 저장된 메시지 ID 리스트에서 해당 서비스의 서비스 흐름별 유일한 메시지 식별을 위한 메시지 ID를 추출하여 진수화하고, 상기 공개키를 추출하여 진수화하며, 송신된 메시지의 횟수인 상기 메시지 송신 카운터를 OTP 설정 ID에 부합된 사용 진법으로 진수화하며, 상기 진수화된 메시지 ID, 상기 진수화된 공개키, 상기 진수화된 메시지 카운터를 조합하여 그 조합한 값을 이용하여 상기 OTP를 생성할 수 있다.
바람직하게, 상기 송신하는 단계는 상기 조합한 값의 끝자리부터 상기 OTP 설정 ID에 상응하는 OTP 계수 N1, OTP 계수 N2를 각 자리수별로 미리 설정된 연산 방식을 이용하여 번갈아 연산하고, 각 자리수별로 연산한 결과값을 모두 합산하며, 사용된 진수의 최대값 배수 중 합한 값보다 크면서 가장 가까운 수에 총합을 빼고 그 뺀 결과값을 구하고자 하는 OTP 값으로 산출할 수 있다.
본 발명의 또 다른 한 관점에 따른 OTP 기반의 보안 강화 방법은 차량 내 통신을 위한 제어 장치별 공개키, OTP 생성을 위한 OTP 설정값 리스트를 저장하는 단계; 상기 차량 내 다른 제어 장치와 미리 설정된 차량 네트워크를 통해 연동하여, 상기 연동된 제어 장치와 공개키를 기반으로 보안 통신 채널을 형성하는 단계; 및 상기 형성된 보안 통신 채널을 통해 암호화된 데이터를 수신하여 상기 수신된 암호화된 데이터를 미리 생성된 OTP(One Time Passward)를 기반으로 복호화하는 단계를 포함할 수 있다.
바람직하게, 상기 형성하는 단계는 자신의 제2 ID와 제2 인증서를 차량 네트워크를 통해 상기 연동된 제어 장치의 제1 ID와 제1 인증서를 교환하여 상기 교환한 제1 ID와 제1 인증서를 검증한 후, 상기 제1 인증서로부터 공개키를 추출하고 램덤하게 세션키를 생성하며, 상기 제2 ID, 상기 제2 인증서, 상기 세션키를 전송할 수 있다.
바람직하게, 상기 형성하는 단계는 상기 연동된 제어 장치로부터 제1 ID, 세션키, 서명된 암호화 데이터를 수신하면, 상기 제1 ID, 상기 세션키, 서명을 검증하고, 자신의 개인키로 상기 암호화된 데이터를 복호화하여 그 복호화한 결과로 상기 암호화된 데이터에 포함된 OTP 설정 ID를 추출할 수 있다.
바람직하게, 상기 복호화하는 단계는 암호화된 데이터를 수신하면, 자신의 공개키, 서비스 흐름별 메시지 ID, 메시지 수신 카운터를 이용하여 OTP를 생성하고, 자신의 개인키로 상기 암호화된 데이터를 1차 복화화하며, 상기 생성된 OTP를 이용하여 상기 1차 복호화된 데이터를 2차 복호화하여 그 2차 복호화한 결과로 추출된 원래의 데이터를 저장할 수 있다.
바람직하게, 상기 복호화하는 단계는 미리 저장된 메시지 ID 리스트에서 해당 서비스의 서비스 흐름별 유일한 메시지 식별을 위한 메시지 ID를 추출하여 진수화하고, 상기 공개키를 추출하여 진수화하며, 송신된 메시지의 횟수인 상기 메시지 송신 카운터를 OTP 설정 ID에 부합된 사용 진법으로 진수화하며, 상기 진수화된 메시지 ID, 상기 진수화된 공개키, 상기 진수화된 메시지 카운터를 조합하여 그 조합한 값을 이용하여 상기 OTP를 생성할 수 있다.
바람직하게, 상기 복호화하는 단계는 상기 조합한 값의 끝자리부터 상기 OTP 설정 ID에 상응하는 OTP 계수 N1, OTP 계수 N2를 각 자리수별로 미리 설정된 연산 방식을 이용하여 번갈아 연산하고, 각 자리수별로 연산한 결과값을 모두 합산하며, 사용된 진수의 최대값 배수 중 합한 값보다 크면서 가장 가까운 수에 총합을 빼고 그 뺀 결과값을 구하고자 하는 OTP 값으로 산출할 수 있다.
이처럼, 본 발명은 차량 내 제어장치 간에 데이터를 송수신하되, 공개키를 기반으로 보안 통신 채널을 형성하고, 그 형성된 보안 통신 채널을 통해 OTP(One Time Passward)를 기반으로 데이터를 송수신하도록 함으로써, 기존의 공개키 기반 구조의 보안 기술 대비 보다 강화된 메시지의 기밀성과 무결성을 보장할 수 있다.
또한, 본 발명은 중앙 집중식의 보안 관련 통제와 중재를 담당하는 보안 게이트웨이를 이용하는 방식 대비 보안 게이트웨이의 장애에 대한 가용성 위험을 줄일 수 있다.
또한, 본 발명은 각 제어부 간 P2P(peer to peer) 방식으로 보안 처리하기 때문에 다양한 통신 서비스로 확장이 용이할 수 있다.
또한, 본 발명은 접속허용 제어부의 ID, 서비스 흐름별 메시지 ID를 암호화된 메시지를 복호화하기 전에 검증을 수행하기 때문에 불필요한 부하 발생을 사전에 차단할 수 있어 차량 내 서비스 거부 공격에 보다 강건한 구조를 확보할 수 있다.
도 1은 본 발명의 일 실시예에 따른 OTP 기반의 보안 강화 시스템을 나타내는 도면이다.
도 2는 본 발명의 일 실시예에 따른 OTP 기반의 보안 강화 방법을 나타내는 도면이다.
도 3은 도 2에 도시된 보안 통신 채널 형성 과정을 상세히 설명하기 위한 도면이다.
도 4는 본 발명의 일 실시예에 따른 서비스 흐름별 메시지 ID 목록을 나타내는 도면이다.
도 5는 본 발명의 일 실시예에 따른 OTP 설정값 리스트를 나타내는 도면이다.
도 6은 도 2에 도시된 암호화된 데이터 전송 과정을 상세히 설명하기 위한 도면이다.
도 7은 도 2에 도시된 암호화된 데이터 수신 과정을 상세히 설명하기 위한 도면이다.
도 8은 본 발명의 일 실시예에 따른 OTP 생성 과정을 설명하기 위한 도면이다.
도 9는 도 8에 도시된 OTP 값 생성 과정을 상세히 설명하기 위한 도면이다.
도 10은 본 발명의 일 실시예에 따른 OTP 값을 생성하는 원리를 설명하기 위한 도면이다.
도 11은 본 발명의 일 실시예에 따른 제어 장치의 상세한 구성을 나타내는 도면이다.
도 12는 본 발명의 일 실시예에 따른 인증 정보를 저장하는 원리를 설명하기 위한 도면이다.
이하에서는, 본 발명의 실시예에 따른 OTP 기반의 보안 강화 시스템 및 그 방법을 첨부한 도면을 참조하여 설명한다. 본 발명에 따른 동작 및 작용을 이해하는 데 필요한 부분을 중심으로 상세히 설명한다.
또한, 본 발명의 구성 요소를 설명하는 데 있어서, 동일한 명칭의 구성 요소에 대하여 도면에 따라 다른 참조부호를 부여할 수도 있으며, 서로 다른 도면임에도 불구하고 동일한 참조부호를 부여할 수도 있다. 그러나, 이와 같은 경우라 하더라도 해당 구성 요소가 실시예에 따라 서로 다른 기능을 갖는다는 것을 의미하거나, 서로 다른 실시예에서 동일한 기능을 갖는다는 것을 의미하는 것은 아니며, 각각의 구성 요소의 기능은 해당 실시예에서의 각각의 구성 요소에 대한 설명에 기초하여 판단하여야 할 것이다.
특히, 본 발명에서는 차량 내 제어장치 간에 데이터를 송수신하되, 공개키를 기반으로 보안 통신 채널을 형성하고, 그 형성된 보안 통신 채널을 통해 OTP(One Time Passward)를 기반으로 데이터를 송수신하도록 하는 새로운 보안 통신 기법을 제안한다.
여기서, 제어장치는 LIN, CAN, MOST, FlexRay 및 이더넷(Ethernet) 등의 차량 네트워크에 연결되어 차량 내부 또는 외부와 통신하여 차량의 엔진 및 변속기 등의 차량 구동장치, 차량의 진행방향을 제어하는 조향장치, 차량의 내외부 환경을 감지하는 센서장치를 제어하는 제어장치, 운전자의 편의를 제공하기 위한 장치 등에 사용하는 ECU나 그와 통신하는 장치 등으로 임의 정보를 요청하고 응답하거나 주기적으로 정보를 제공하거나 정보를 모니터링하는 모든 광범위한 장치를 포괄하는 개념이다.
이때, LIN 통신은 네트워크 마스터(Network Master) 역할을 하는 ECU가 네트워크를 점유하고 전송을 시작할 수 있는 권리를 상징하는 토큰(Token)을 슬레이브(slave) ECU 들에게 나눠줌으로써 여러 개의 ECU 간의 통신을 중재하는 통신방식이다. CAN 통신은 해당 서브 네트워크 영역(Sub Network Segment)내에 있는 모든 ECU가 하나의 네트워크 버스(Network Bus)에 연결되어 있고 중재를 위한 특별한 장치 없이 각 장비가 원할 때 통신채널(Network Channel)에 접근하는 방식이다. MOST 통신은 차량내 전자기기와 멀티미디어 기기를 광네트워크를 연결하여 고속의 영상, 음성 데이터를 전송할 수 있는 통신으로 고품질의 오디오와 비디오 패킷데이터(Packet Data)를 동시 전송 및 단일 전송매체를 실시간으로 제어할 수 있는 특성을 지닌 차량용 통신기술이다. FlexRay 통신은 자동차 네트워크 통신 프로토콜로서 FlexRay-컨소시엄에 의해 대역폭 짧고 스케줄 감시가 어려운 CAN통신의 한계를 극복하고 LIN과 CAN의 장점을 살려서 개발 되었고 채널 접근방식은 TDMA(Time Division Multiple Access) 방식으로 구동되고 구성요소들 또는 메시지들이 독점적인 접근을 갖는 고정된 시간 슬롯들을 갖는다. 이더넷 통신은 인터넷 서비스에서 사용하고 있는 범용화된 Ethernet 기술을 차량에 적용한 방식이다.
도 1은 본 발명의 일 실시예에 따른 OTP 기반의 보안 강화 시스템을 나타내는 도면이다.
도 1에 도시한 바와 같이, 본 발명의 일 실시예에 따른 차량 내 통신을 위한 OTP 기반의 보안 강화 시스템은 다수의 제어 장치(100)로 구성되며, 다수의 제어 장치는 통신을 시작하려는 제1 제어장치(110), 통신 대상인 제2 제어장치(120)로 구분될 수 있다.
제1 제어 장치(110)는 제2 제어 장치와 연동하여 공개키 기반으로 보안 통신 채널을 형성하고, 형성된 보안 통신 채널을 통해 OTP 기반으로 데이터를 암호화하여 전송할 수 있다.
제2 제어 장치(120)는 제1 제어 장치와 연동하여 공개키 기반으로 보안 통신 채널을 형성하고, 형성된 보안 통신 채널을 통해 OTP 기반으로 데이터를 수신하여 복호화할 수 있다.
이때, 제1 제어 장치(110)와 제2 제어 장치(120)는 통신을 시작하려는 장치나 통신 대상이 되는 장치로만 사용되는 것이 아니라 필요에 따라 통신을 시작하려는 장치로 사용되거나 통신 대상이 되는 장치로 사용되어, 해당 기능을 수행할 수 있다.
도 2는 본 발명의 일 실시예에 따른 전체적인 보안 강화 방법을 나타내는 도면이다.
도 2에 도시한 바와 같이, 먼저 제1 제어장치는 자신의 ID와 인증서를 와 제2 제어장치와 교환하여 상대방의 ID와 인증서를 검증하고 OTP 설정값 리스트에서 랜덤하게 선택된 OTP 설정값 또는 OTP 설정 ID를 공개키로 암호화하여 전송하여 제2 제어장치와 보안 통신 채널을 형성할 수 있다(S210).
다음으로, 제1 제어장치는 선택된 OTP 설정값을 기반으로 제1 OTP를 생성하여 생성된 제1 OTP를 이용하여 데이터를 암호화하고 암호화된 데이터를 제2 제어장치에 전송할 수 있다(S220).
다음으로, 제2 제어장치는 암호화된 데이터를 수신하여 수신된 암호화된 데이터를 미리 생성된 제2 OTP를 이용하여 복호화하고 복호화된 데이터를 추출할 수 있다(S230).
도 3은 도 2에 도시된 보안 통신 채널 형성 과정을 상세히 설명하기 위한 도면이다.
도 3에 도시한 바와 같이, 먼저 제1 제어 장치(110)는 미리 설정된 통신 방식으로 자신의 제1 ID와 제1 인증서를 차량 네트워크를 통해 제2 제어 장치(120)에 전송할 수 있다(S310). 여기서, 상기 미리 설정된 통신 방식은 예컨대, 유니캐스트(unicast), 브로드캐스트(broadcast), 멀티캐스트(multicast) 통신 방식일 수 있다.
다음으로, 제2 제어 장치(120)는 제1 제어 장치의 제1 ID와 제1 인증서를 수신하면, 수신된 제1 제어 장치의 제1 ID와 제1 인증서를 검증할 수 있다(S311).
그 일예로, 제2 제어 장치는 저장된 메시지 ID 리스트에 제1 제어 장치의 ID와 일치하는 접근허용 ID가 존재하는지를 확인하는 것으로 제1 제어 장치의 제1 ID를 검증할 수 있다.
도 4는 본 발명의 일 실시예에 따른 서비스 흐름별 메시지 ID 리스트를 나타내는 도면이다.
도 4를 참조하면, 서비스 흐름별 메시지의 특성을 정의한 내용이 담긴 메시지 ID 리스트의 데이터 구조를 보여주고 있다. 여기서, 서비스는 차량 내 네트워크를 통해 정보를 요청하거나 정보를 전송하는 서비스를 모두 포괄하는 개념일 수 있다.
예컨대, 스마트 키로 문을 여는 서비스인 경우, 스마트키 연동 제어기가 BCM(Body Control Module) 제어기에 문을 열어달라는 서비스 요청을 하고, BCM 제어기가 요청에 따라 문을 열고 그 결과를 스마트키 연동제어기에 응답하는 서비스일 수 있다.
이러한 메시지 ID 리스트는 접근허용 ID, 서비스 ID, 메시지 ID를 포함할 수 있다.
접근허용 ID는 임의의 제어장치와 정보를 주고받을 수 있는 권한이 있어 임의의 제어장치에 접근 허용하는 제어장치의 ID를 말한다. 이것은 일반 정보기술시스템의 네트워크 방화벽의 역할을 하여 임의 차량 네트워크를 통해 수신된 데이터를 모두 파싱(Parsing)하기 전에 접근 허용 ID를 통해 접근 허용 여부만을 판단하고 허용되지 않은 ID는 인증단계 등의 후처리 과정없이 폐기한다. 이로써 불필요한 자원의 낭비를 막고 일차적인 임의의 차량 네트워크의 부하를 줄인다.
서비스 ID는 임의의 제어장치가 제공하거나 수행할 서비스 특성을 규정하는 ID이다. 예컨대, 운전석 문(Door of Drivers’ side)을 개폐(Unlock/Lock)를 하기 위한 서비스는 S5로 정의한다.
메시지 ID는 서비스 ID에 매칭되어 서비스의 요청 메시지, 응답 메시지 또는 주기적 전송 메시지 등의 메시지 특성을 규정하는 ID이다. 예컨대, 운전석 문을 개폐하기 위한 서비스의 요청 메시지는 S6에 매칭되고 그 메시지 ID는 M11로 정의한다.
다른 예로, 제2 제어 장치는 인증서를 발급하기 위한 인증기관 또는 제조사에서 운영하는 서버의 공개키를 이용하여 제1 제어 장치의 제1 인증서를 검증할 수 있다.
다음으로, 제2 제어 장치(120)는 제1 제어 장치의 제1 ID와 제1 인증서의 검증에 성공하면, 제1 인증서로부터 공개키를 추출하여 추출된 공개키를 저장할 수 있다(S312).
다음으로, 제2 제어 장치(120)는 램덤하게 세션(session)을 설정하기 위한 세션키를 생성하여 저장할 수 있다(S313).
다음으로, 제2 제어 장치(120)는 자신의 제2 ID, 제2 인증서, 세션키를 제1 제어 장치(110)에 전송할 수 있다(S314).
다음으로, 제1 제어 장치(110)는 제2 제어 장치의 제2 ID와 제2 인증서를 수신하면, 수신된 제2 제어 장치의 제2 ID와 제2 인증서를 검증할 수 있다(S315).
다음으로, 제1 제어 장치(110)는 제2 제어 장치의 제2 ID와 제2 인증서의 검증에 성공하면, 제1 인증서로부터 공개키를 추출하여 세션키와 함께 저장할 수 있다(S316).
다음으로, 제1 제어 장치(110)는 OTP 설정값 리스트로부터 하나의 OTP 설정값을 랜덤하게 선택하여 선택된 OTP 설정값을 공개키를 이용하여 암호화할 수 있다(S317).
도 5는 본 발명의 일 실시예에 따른 OTP 설정값 리스트를 나타내는 도면이다.
도 5를 참조하면, 본 발명에 따른 OTP 설정값 리스트는 OTP 설정 ID, 사용 진법, OTP 계수 N1, OTP 계수 N2, 메시지 카운터 상승계수, 메시지 카운터 상승계수 초기값을 포함한다.
OTP 설정 ID는 통신을 시작하는 제1 제어 장치에서 통신 대상인 제2 통신 장치에 최종적으로 전달하는 OTP 설정값으로 통신하는 두 제어 장치에서 OTP값을 생성할 때 설정하고 참고하여야 할 값들인 사용진법, OTP계수 N1, OPT계수 N2, 메시지 카운터 상승계수 및 그 초기값에 대한 정보들을 찾는데 필요한 항목이다.
사용 진법은 진법 또는 진수로서, 예컨대, 2진법(진수), 8진법(진수), 10진법(진수) 및 16진법(진수)을 말한다.
OTP 계수 N1과 OTP계수 N2는 OTP 생성시 임의 어떤 수에 대해서 제어장치의 제조사의 정책에 따라 홀수 또는 짝수 자리에서 임의의 연산을 할 때 사용하는 임의 두 숫자이다. 예를 들면, OTP 설정 아이디가 3이면 OTP계수 N1은 2, OTP계수 N2는 4이다. 이때 암묵적으로 제어장치의 제조사의 정책이 N1인 홀수이고 N2가 짝수로 가정하고 연산 방식은 OTP계수 N1은 곱하기 OTP계수 N2도 곱하기 연산일때 피 연산된 숫자가 1734이면 1*4, 7*2, 3*4, 4*2의 연산을 한다는 의미이다.
메시지 카운터 상승계수와 메시지 카운터 상승계수 초기값은 OTP의 특성을 결정짓는 중요한 항목이다. 차량내 제어부는 대부분 클락(시계, Clock)이 없는 임베디드 시스템(Embedded System)이기에 통상적인 시간을 이용한 OTP는 생성이 어렵다.
다음으로, 제1 제어 장치(110)는 암호화한 데이터를 자신의 개인키로 서명하고(S318), 서명된 데이터와 함께 자신의 ID, 세션키를 제2 제어 장치(120)에 전송할 수 있다(S319).
다음으로, 제2 제어 장치(120)는 제1 제어 장치(110)의 서명된 데이터, 제1 ID, 세션키를 수신하면, 수신된 제1 제어 장치(110)의 제1 ID, 세션키, 서명을 검증할 수 있다(S320).
이때, 제2 제어 장치(120)는 제1 제어 장치(110)로부터 수신된 세션키가 자신이 이전에 생성한 세션키인지 여부를 확인하는 것으로 세션키를 검증하게 된다.
다음으로, 제2 제어 장치(120)는 자신의 개인키로 암호화된 데이터를 복호화하고(S321), 복호화된 데이터로부터 OTP 설정값을 추출하여 추출된 OTP 설정값을 저장할 수 있다(S322).
도 6은 도 2에 도시된 암호화된 데이터 전송 과정을 상세히 설명하기 위한 도면이다.
도 6에 도시한 바와 같이, 먼저 데이터를 송신하려는 제1 제어 장치(110)는 제2 제어 장치의 공개키와 서비스 흐름별 메시지 ID, 메시지 송신 카운터를 이용하여 OTP를 생성할 수 있다(S610). 여기서, 메시지 송신 카운터는 메시지를 송신한 횟수를 나타낼 수 있다.
다음으로, 제1 제어 장치(110)는 생성된 OTP를 이용하여 전송하려는 데이터를 1차 암호화할 수 있다(S611).
다음으로, 제1 제어 장치(110)는 1차 암호화된 데이터를 제2 통신 장치의 공개키로 2차 암호화할 수 있다(S612).
다음으로, 제1 제어 장치(110)는 2차 암호화된 데이터를 자신의 개인키로 서명하고(S613), 서명된 2차 암호화된 데이터와 제1 ID, 세션키를 제2 제어 장치(120)에 전송할 수 있다(S614).
도 7은 도 2에 도시된 암호화된 데이터 수신 과정을 상세히 설명하기 위한 도면이다.
도 7에 도시한 바와 같이, 데이터를 수신하려는 제2 제어 장치(120)는 암호화된 데이터와 함께 제1 제어 장치의 제1 ID, 세션키를 수신하면(S710), 수신된 제1 제어 장치(110)의 제1 ID, 세션키, 서명을 검증할 수 있다(S711).
다음으로, 제2 제어 장치(120)는 자신의 공개키와 서비스 흐름별 메시지 ID, 메시지 수신 카운터를 이용하여 OTP를 생성할 수 있다(S712). 여기서, 메시지 수신 카운터는 메시지를 수신한 횟수를 나타낼 수 있다.
다음으로, 제2 제어 장치(120)는 자신의 개인키로 암호화된 데이터를 1차 복호화할 수 있다(S713).
다음으로, 제2 제어 장치(120)는 1차 복호화된 데이터를 OTP를 이용하여 2차 복호화하여 그 복호화한 결과로 제1 제어 장치가 전송하려고 하는 데이터를 추출할 수 있다(S714).
다음으로, 제2 제어 장치(120)는 데이터 송수신시 추가적인 보안 강화를 위해 OTP 설정값 리스트의 메시지 카운터 상승계수를 참조하여 메시지 수신 카운터를 상승시키고, 상승된 메시지 수신 카운터, 추출된 데이터를 저장할 수 있다(S715).
도 8은 본 발명의 일 실시예에 따른 OTP 생성 과정을 설명하기 위한 도면이다.
도 8에 도시한 바와 같이, 본 발명의 일 실시예에 따른 제어 장치(제1 제어 장치 또는 제2 제어 장치)는 미리 저장된 메시지 ID 리스트에서 해당 서비스의 서비스 흐름별 유일한 메시지 식별을 위한 메시지 ID를 추출하여 이를 진수화할 수 있다(S810).
예를 들면, 차량의 문을 열기 위한 서비스를 위해 BCM 제어를 요청하기 위해 통신하려는 제1 제어장치의 제1 ID와 BCM 제어 요청을 받는 제2 제어 장치의 접근허용 ID가 0x7299이면 메시지 ID 리스트에서 차량 문을 열기 위해 BCM 제어 요청한 메시지 ID는 M11이고 서로 공유한 OTP 설정 ID가 1이면 OTP 설정값 리스트에서 사용진법이 10진수임을 확인하고 메시지 ID M11을 미리 설정된 문자 코드 방식 즉, ASCII 코드 방식에 따라 십진수로 변환하여 774949를 얻는다.
이때, 문자코드 방식은 ASCII, UTF8, EBCDIC 등에서 임의로 정할 수 있고 어느 것을 사용해도 무방하다. 본 발명에서는 이중 ASCII 코드를 적용한 예를 설명한다.
다음으로, 제어 장치는 저장되거나 수신된 공개키를 추출하여 이를 진수화할 수 있다(S811).
예를 들면, 차량 문을 열기를 요청하는 제1 제어 장치는 통신 대상인 제2 제어 장치의 공개키가 M11인 경우 ASCII 코드에 따라 십진수로 변화하여 773349를 얻는다.
다음으로, 제어 장치는 송신되거나 수신된 메시지의 횟수인 메시지 카운터 즉, 메시지 송신 카운터 또는 메시지 수신 카운터를 OTP 설정 ID에 부합된 사용 진법으로 진수화할 수 있다(S812).
예를 들면, 송신되거나 수신된 메시지의 카운터 즉, 메시지 송신 카운터 또는 메시지 수신 카운터가 21인 경우 ASCII 코드에 따라 십진수로 변화하여 5049를 얻는다.
다음으로, 제어 장치는 진수화된 메시지 ID, 공개키, 메시지 카운터를 조합하여 그 조합한 값에 미리 설정된 OTP 생성 알고리즘을 이용하여 OTP를 생성할 수 있다(S813).
예를 들면, 앞에서의 예에서 얻은 진수화된 메시지 ID 774949, 공개키 773349, 메시지 카운터 5049를 조합하여 그 조합한 결과로 7749497733495049를 얻는다.
도 9는 도 8에 도시된 OTP 값 생성 과정을 상세히 설명하기 위한 도면이고, 도 10은 본 발명의 일 실시예에 따른 OTP 값을 생성하는 원리를 설명하기 위한 도면이다.
도 9에 도시한 바와 같이, 본 발명의 일 실시예에 따른 제어 장치(제1 제어 장치 또는 제2 제어 장치)는 OTP 설정값 리스트로부터 미리 공유된 OTP 설정 ID로 해당 OTP 설정값인 OTP 계수 N1, OTP 계수 N2를 검색할 수 있다(S910).
이때, 도 10을 참조하면, 진수화시 사용된 진법은 10진수, 진수화된 메시지 ID는 12, 진수화된 공개키는 34567890, 진수화된 메시지 카운터는 10, OTP 계수 N1은 3, OTP 계수 N2는 1이다.
다음으로, 제어 장치는 조합한 값의 끝자리부터 검색된 OTP 계수 N1, OTP 계수 N2를 각 자리수별로 미리 설정된 연산 방식을 이용하여 번갈아 연산할 수 있다(S911).
예컨대, 도 10을 참조하면, 조합된 진수값 123456789010의 끝자리부터 OTP계수 N1인 3과 OTP계수 N2인 1로 번갈아 연산한다. 부연 설명하면, 조합된 진수값의 끝자리에서부터 홀수자리에는 3을, 짝수자리에는 1을 곱한다. 즉 131313131313를 자리수별로 곱하면 각 자리수의 숫자는 1, 6, 3, 12, 5, 18, 7, 24, 9, 0, 1, 0이 된다.
여기서, 연산 방식은 사칙연산, 인수분해, XOR 등의 수학적인 연산으로 차량제조사 또는 제어부 제조사에서 제어부의 연산성능이나 기타 정책을 고려하여 정한 방식에 따른다.
다음으로, 제어 장치는 각 자리수별로 연산한 결과값을 모두 합산할 수 있다(S912).
예컨대, 연산한 결과값인 1,6,3,12,5,18,7,24,9,0,1,0을 전부 더하여 나온 값은 86이다.
다음으로, 제어 장치는 사용된 진수의 최대값 배수 중 합한 값보다 크면서 가장 가까운 수에 총합을 빼고 그 뺀 결과값을 구하고자 하는 OTP 값으로 산출할 수 있다(S913).
예컨대, 사용된 진수인 10진수의 배수인 10, 20, 30, 40, 50, 60, 70, 80, 90, 100 등 중 앞에서 합한 값인 86보다 크면서 가장 가까운 값을 구하면 90이다. 이 90에서 앞서 합한 값 86을 뺀 값은 4이다.
도 11은 본 발명의 일 실시예에 따른 제어 장치의 상세한 구성을 나타내는 도면이다.
도 11에 도시한 바와 같이, 본 발명의 일 실시예에 따른 제어 장치(100)는 프로세서(111), 로직 제어기(112), 메모리(113), 인터페이스(114)를 포함할 수 있다.
프로세서(111)는 제어 장치 내 각종 장치와 연동하여 각 기능을 제어할 수 있다.
로직 제어기(112)는 로직 처리부(112a)와 암호 처리부(112b)로 이루어질 수 있다. 로직 처리부(112a)는 차량 내 통신을 위한 기본 기능, 보안 기능을 처리할 수 있다. 여기서, 보안 기능은 앞에서 설명한 OTP 기반의 보안 강화 기능을 의미한다.
암호 처리부(112b)는 블록 대칭키 방식의 암호화 알고리즘인 DES, 3DES, AES, ARIA, LEA, 스트림 대칭키 방식의 MASK, 비대칭키 방식의 암호화 알고리즘인 RSA, DSA, DSS, ECC 등의 암호화 알고리즘으로 암호화 및 복호화를 처리할 수 있다.
메모리(113)는 제어 장치별로 할당된 인증서(Certificate), 공개키(Public Key), 개인키(Privae Key), 메시지 ID 리스트 및 OTP 설정값 리스트를 저장할 수 있다. 여기서 말하는 공인인증서, 공개키, 개인키는 일반적인 공개키 기반 구조(PKI, Public Key Infrastructure) 기술에서 언급하고 있는 항목들이다. 또한 여기서 말하는 메시지 ID 리스트는 서비스 흐름을 파악할 수 있는 서비스 흐름별 메시지의 특성을 정의한 내용을 포함하고 있다. 또한 OTP 설정값 리스트는 OTP 생성을 위한 매개변수들을 포함하고 있다.
인터페이스(114)는 한 개 이상의 다양한 차량 네트워크를 통해 다른 제어장치와 연동할 수 있다. 여기서 한 개 이상의 다양한 차량 네트워크의 범위는 LIN, CAN, MOsT, FlexRay, 이더넷 뿐만 아니라 향후 적용될 통신(네트워크) 기술을 포함할 수 있다.
도 12는 본 발명의 일 실시예에 따른 인증 정보를 저장하는 원리를 설명하기 위한 도면이다.
도 12에 도시한 바와 같이, 공개키 기반 구조(Public Key Infrasturcture; PKI)의 아키텍처에서 논하는 인증 기관(Certificate Authority)(210)에서 유선이나 무선을 통해서 정보 주입기(230)에 인증서를 다운로드 받고 그 외 공개키, 비밀키, 접속허용 제어기의 ID를 포함하고 서비스 흐름별 메시지를 정의한 메시지 ID 리스트 및 OTP 생성시 필요한 매개변수를 나타낸 OTP 설정값 리스트 등의 정보는 제어 장치(240)의 제조사 서버(220)로부터 유선이나 무선을 통해서 다운로드를 받고 정보 주입기(230)는 차량 내 제어 장치(240)의 메모리에 정보를 주입하게 된다.
이때, 사업 구조나 협의에 따라서 인증 기관이 기업내 사설인증기관용 서버를 사용하여 인증 기관(210)과 제어 장치의 제조사 서버(220)는 하나의 서버가 될 수도 있고 제어 장치의 제조사 서버(220)는 차량 제조사 또는 제3의 기관의 서버가 될 수도 있다.
또한 제어 장치(240)에 정보를 주입하는 경우에는 반드시 싸이닝 정책에 따라 싸이닝을 검증하는 로직이 추가되어야 한다. 이 싸이닝 과정을 통해 신뢰할 수 있는 정보 주입기(230)에서 제어 장치(240)에 정보를 저장 또는 쓰기가 가능하도록 한다. 이 싸이닝 과정은 제조사마다 철저한 보안관리를 통해 이루어진다.
한편, 이상에서 설명한 본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합하거나 결합하여 동작하는 것으로 기재되어 있다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성 요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 또한, 이와 같은 컴퓨터 프로그램은 USB 메모리, CD 디스크, 플래쉬 메모리 등과 같은 컴퓨터가 읽을 수 있는 저장매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시예를 구현할 수 있다. 컴퓨터 프로그램의 저장매체로서는 자기 기록매체, 광 기록매체, 캐리어 웨이브 매체 등이 포함될 수 있다.
이상에서 설명한 실시예들은 그 일 예로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
100: 제어 장치
110: 제1 제어 장치
120: 제2 제어 장치
111: 프로세서
112: 로직 제어기
113: 메모리
114: 인터페이스

Claims (24)

  1. 차량 내 다른 제어 장치와 미리 설정된 차량 네트워크를 통해 연동하는 인터페이스;
    상기 연동된 제어 장치와 공개키를 기반으로 보안 통신 채널을 형성하고 상기 형성된 보안 통신 채널을 통해 OTP(One Time Passward)를 기반으로 데이터를 암호화하여 송신하는 로직 제어기; 및
    상기 제어 장치별 공개키, OTP 생성을 위한 OTP 설정값 리스트를 저장하는 메모리;를 포함하는 것을 특징으로 하는 OTP 기반의 보안 강화 시스템.
  2. 제1 항에 있어서,
    상기 로직 제어기는,
    자신의 제1 ID와 제1 인증서를 차량 네트워크를 통해 상기 연동된 제어 장치의 제2 ID와 제2 인증서를 교환하여 상기 교환한 제2 ID와 제2 인증서를 검증한 후,
    미리 저장된 OTP 설정값 리스트에서 랜덤하게 선택된 OTP 설정 ID를 공개키로 암호화하여 전송하여 보안 통신 채널을 형성하는 것을 특징으로 하는 OTP 기반의 보안 강화 시스템.
  3. 제2 항에 있어서,
    상기 로직 제어기는,
    상기 제2 ID와 제2 인증서의 검증에 성공하면, 상기 제2 인증서로부터 공개키를 추출하고 랜덤하게 세션키를 생성하며,
    상기 OTP 설정값 리스트에서 랜덤하게 선택된 OTP 설정 ID를 상기 공개키로 암호화하며,
    상기 암호화된 데이터를 자신의 개인키로 서명하여 상기 서명된 암호화된 데이터, 상기 자신의 제1 ID, 상기 세션키를 전송하는 것을 특징으로 하는 OTP 기반의 보안 강화 시스템.
  4. 제1 항에 있어서,
    상기 로직 제어기는,
    상기 연동한 제어 장치의 공개키, 서비스 흐름별 메시지 ID, 메시지 송신 카운터를 이용하여 OTP를 생성하고,
    상기 생성된 OTP를 이용하여 전송하려는 데이터를 1차 암호화하며,
    상기 1차 암호화된 데이터를 상기 연동한 제어 장치의 공개키로 2차 암호화하며,
    상기 2차 암호화된 데이터를 자신의 개인키로 서명하고, 상기 서명된 2차 암호화된 데이터, 상기 자신의 제1 ID, 세션키를 전송하는 것을 특징으로 하는 OTP 기반의 보안 강화 시스템.
  5. 제4 항에 있어서,
    상기 로직 제어기는,
    미리 저장된 메시지 ID 리스트에서 해당 서비스의 서비스 흐름별 유일한 메시지 식별을 위한 메시지 ID를 추출하여 진수화하고,
    상기 공개키를 추출하여 진수화하며,
    송신된 메시지의 횟수인 상기 메시지 송신 카운터를 OTP 설정 ID에 부합된 사용 진법으로 진수화하며,
    상기 진수화된 메시지 ID, 상기 진수화된 공개키, 상기 진수화된 메시지 카운터를 조합하여 그 조합한 값을 이용하여 상기 OTP를 생성하는 것을 특징으로 하는 OTP 기반의 보안 강화 시스템.
  6. 제5 항에 있어서,
    상기 로직 제어기는,
    상기 조합한 값의 끝자리부터 상기 OTP 설정 ID에 상응하는 OTP 계수 N1, OTP 계수 N2를 각 자리수별로 미리 설정된 연산 방식을 이용하여 번갈아 연산하고,
    각 자리수별로 연산한 결과값을 모두 합산하며,
    사용된 진수의 최대값 배수 중 합한 값보다 크면서 가장 가까운 수에 총합을 빼고 그 뺀 결과값을 구하고자 하는 OTP 값으로 산출하는 것을 특징으로 하는 OTP 기반의 보안 강화 시스템.
  7. 차량 내 다른 제어 장치와 미리 설정된 차량 네트워크를 통해 연동하는 인터페이스;
    상기 연동된 제어 장치와 공개키를 기반으로 보안 통신 채널을 형성하고 상기 형성된 보안 통신 채널을 통해 OTP(One Time Passward)를 기반으로 암호화된 데이터를 수신하여 복호화하는 로직 제어기; 및
    상기 제어 장치별 공개키, OTP 생성을 위한 OTP 설정값 리스트를 저장하는 메모리;를 포함하는 것을 특징으로 하는 OTP 기반의 보안 강화 시스템.
  8. 제7 항에 있어서,
    상기 로직 제어기는,
    자신의 제2 ID와 제2 인증서를 차량 네트워크를 통해 상기 연동된 제어 장치의 제1 ID와 제1 인증서를 교환하여 상기 교환한 제1 ID와 제1 인증서를 검증한 후,
    상기 제1 인증서로부터 공개키를 추출하고 램덤하게 세션키를 생성하며,
    상기 제2 ID, 상기 제2 인증서, 상기 세션키를 전송하는 것을 특징으로 하는 OTP 기반의 보안 강화 시스템.
  9. 제8 항에 있어서,
    상기 로직 제어기는,
    상기 연동된 제어 장치로부터 제1 ID, 세션키, 서명된 암호화 데이터를 수신하면, 상기 제1 ID, 상기 세션키, 서명을 검증하고,
    자신의 개인키로 상기 암호화된 데이터를 복호화하여 그 복호화한 결과로 상기 암호화된 데이터에 포함된 OTP 설정 ID를 추출하는 것을 특징으로 하는 OTP 기반의 보안 강화 시스템.
  10. 제7 항에 있어서,
    상기 로직 제어기는,
    암호화된 데이터를 수신하면, 자신의 공개키, 서비스 흐름별 메시지 ID, 메시지 수신 카운터를 이용하여 OTP를 생성하고,
    자신의 개인키로 상기 암호화된 데이터를 1차 복화화하며,
    상기 생성된 OTP를 이용하여 상기 1차 복호화된 데이터를 2차 복호화하여 그 2차 복호화한 결과로 추출된 원래의 데이터를 저장하는 것을 특징으로 하는 OTP 기반의 보안 강화 시스템.
  11. 제10 항에 있어서,
    상기 로직 제어기는,
    미리 저장된 메시지 ID 리스트에서 해당 서비스의 서비스 흐름별 유일한 메시지 식별을 위한 메시지 ID를 추출하여 진수화하고,
    상기 공개키를 추출하여 진수화하며,
    송신된 메시지의 횟수인 상기 메시지 송신 카운터를 OTP 설정 ID에 부합된 사용 진법으로 진수화하며,
    상기 진수화된 메시지 ID, 상기 진수화된 공개키, 상기 진수화된 메시지 카운터를 조합하여 그 조합한 값을 이용하여 상기 OTP를 생성하는 것을 특징으로 하는 OTP 기반의 보안 강화 시스템.
  12. 제11 항에 있어서,
    상기 로직 제어기는,
    상기 조합한 값의 끝자리부터 상기 OTP 설정 ID에 상응하는 OTP 계수 N1, OTP 계수 N2를 각 자리수별로 미리 설정된 연산 방식을 이용하여 번갈아 연산하고,
    각 자리수별로 연산한 결과값을 모두 합산하며,
    사용된 진수의 최대값 배수 중 합한 값보다 크면서 가장 가까운 수에 총합을 빼고 그 뺀 결과값을 구하고자 하는 OTP 값으로 산출하는 것을 특징으로 하는 OTP 기반의 보안 강화 시스템.
  13. 차량 내 통신을 위한 제어 장치별 공개키, OTP 생성을 위한 OTP 설정값 리스트를 저장하는 단계;
    상기 차량 내 다른 제어 장치와 미리 설정된 차량 네트워크를 통해 연동하여 상기 연동된 제어 장치와 공개키를 기반으로 보안 통신 채널을 형성하는 단계; 및
    상기 보안 통신 채널을 통해 OTP(One Time Passward)를 기반으로 데이터를 암호화하여 송신하는 단계;를 포함하는 것을 특징으로 하는 OTP 기반의 보안 강화 방법.
  14. 제13 항에 있어서,
    상기 형성하는 단계는,
    자신의 제1 ID와 제1 인증서를 차량 네트워크를 통해 상기 연동된 제어 장치의 제2 ID와 제2 인증서를 교환하여 상기 교환한 제2 ID와 제2 인증서를 검증한 후,
    미리 저장된 OTP 설정값 리스트에서 랜덤하게 선택된 OTP 설정 ID를 공개키로 암호화하여 전송하여 보안 통신 채널을 형성하는 것을 특징으로 하는 OTP 기반의 보안 강화 방법.
  15. 제14 항에 있어서,
    상기 형성하는 단계는,
    상기 제2 ID와 제2 인증서의 검증에 성공하면, 상기 제2 인증서로부터 공개키를 추출하고 랜덤하게 세션키를 생성하며,
    상기 OTP 설정값 리스트에서 랜덤하게 선택된 OTP 설정 ID를 상기 공개키로 암호화하며,
    상기 암호화된 데이터를 자신의 개인키로 서명하여 상기 서명된 암호화된 데이터, 상기 자신의 제1 ID, 및 상기 세션키를 전송하는 것을 특징으로 하는 OTP 기반의 보안 강화 방법.
  16. 제13 항에 있어서,
    상기 송신하는 단계는,
    상기 연동한 제어 장치의 공개키, 서비스 흐름별 메시지 ID, 메시지 송신 카운터를 이용하여 OTP를 생성하고,
    상기 생성된 OTP를 이용하여 전송하려는 데이터를 1차 암호화하며,
    상기 1차 암호화된 데이터를 상기 연동한 제어 장치의 공개키로 2차 암호화하며,
    상기 2차 암호화된 데이터를 자신의 개인키로 서명하고, 상기 서명된 2차 암호화된 데이터, 상기 자신의 제1 ID, 세션키를 전송하는 것을 특징으로 하는 OTP 기반의 보안 강화 방법.
  17. 제16 항에 있어서,
    상기 송신하는 단계는,
    미리 저장된 메시지 ID 리스트에서 해당 서비스의 서비스 흐름별 유일한 메시지 식별을 위한 메시지 ID를 추출하여 진수화하고,
    상기 공개키를 추출하여 진수화하며,
    송신된 메시지의 횟수인 상기 메시지 송신 카운터를 OTP 설정 ID에 부합된 사용 진법으로 진수화하며,
    상기 진수화된 메시지 ID, 상기 진수화된 공개키, 상기 진수화된 메시지 카운터를 조합하여 그 조합한 값을 이용하여 상기 OTP를 생성하는 것을 특징으로 하는 OTP 기반의 보안 강화 방법.
  18. 제17 항에 있어서,
    상기 송신하는 단계는,
    상기 조합한 값의 끝자리부터 상기 OTP 설정 ID에 상응하는 OTP 계수 N1, OTP 계수 N2를 각 자리수별로 미리 설정된 연산 방식을 이용하여 번갈아 연산하고,
    각 자리수별로 연산한 결과값을 모두 합산하며,
    사용된 진수의 최대값 배수 중 합한 값보다 크면서 가장 가까운 수에 총합을 빼고 그 뺀 결과값을 구하고자 하는 OTP 값으로 산출하는 것을 특징으로 하는 OTP 기반의 보안 강화 방법.
  19. 차량 내 통신을 위한 제어 장치별 공개키, OTP 생성을 위한 OTP 설정값 리스트를 저장하는 단계;
    상기 차량 내 다른 제어 장치와 미리 설정된 차량 네트워크를 통해 연동하여, 상기 연동된 제어 장치와 공개키를 기반으로 보안 통신 채널을 형성하는 단계; 및
    상기 형성된 보안 통신 채널을 통해 암호화된 데이터를 수신하여 상기 수신된 암호화된 데이터를 미리 생성된 OTP(One Time Passward)를 기반으로 복호화하는 단계;를 포함하는 것을 특징으로 하는 OTP 기반의 보안 강화 방법.
  20. 제19 항에 있어서,
    상기 형성하는 단계는,
    자신의 제2 ID와 제2 인증서를 차량 네트워크를 통해 상기 연동된 제어 장치의 제1 ID와 제1 인증서를 교환하여 상기 교환한 제1 ID와 제1 인증서를 검증한 후,
    상기 제1 인증서로부터 공개키를 추출하고 램덤하게 세션키를 생성하며,
    상기 제2 ID, 상기 제2 인증서, 상기 세션키를 전송하는 것을 특징으로 하는 OTP 기반의 보안 강화 방법.
  21. 제20 항에 있어서,
    상기 형성하는 단계는,
    상기 연동된 제어 장치로부터 제1 ID, 세션키, 서명된 암호화 데이터를 수신하면, 상기 제1 ID, 상기 세션키, 서명을 검증하고,
    자신의 개인키로 상기 암호화된 데이터를 복호화하여 그 복호화한 결과로 상기 암호화된 데이터에 포함된 OTP 설정 ID를 추출하는 것을 특징으로 하는 OTP 기반의 보안 강화 방법.
  22. 제19 항에 있어서,
    상기 복호화하는 단계는,
    암호화된 데이터를 수신하면, 자신의 공개키, 서비스 흐름별 메시지 ID, 메시지 수신 카운터를 이용하여 OTP를 생성하고,
    자신의 개인키로 상기 암호화된 데이터를 1차 복화화하며,
    상기 생성된 OTP를 이용하여 상기 1차 복호화된 데이터를 2차 복호화하여 그 2차 복호화한 결과로 추출된 원래의 데이터를 저장하는 것을 특징으로 하는 OTP 기반의 보안 강화 방법.
  23. 제22 항에 있어서,
    상기 복호화하는 단계는,
    미리 저장된 메시지 ID 리스트에서 해당 서비스의 서비스 흐름별 유일한 메시지 식별을 위한 메시지 ID를 추출하여 진수화하고,
    상기 공개키를 추출하여 진수화하며,
    송신된 메시지의 횟수인 상기 메시지 송신 카운터를 OTP 설정 ID에 부합된 사용 진법으로 진수화하며,
    상기 진수화된 메시지 ID, 상기 진수화된 공개키, 상기 진수화된 메시지 카운터를 조합하여 그 조합한 값을 이용하여 상기 OTP를 생성하는 것을 특징으로 하는 OTP 기반의 보안 강화 방법.
  24. 제23 항에 있어서,
    상기 복호화하는 단계는,
    상기 조합한 값의 끝자리부터 상기 OTP 설정 ID에 상응하는 OTP 계수 N1, OTP 계수 N2를 각 자리수별로 미리 설정된 연산 방식을 이용하여 번갈아 연산하고,
    각 자리수별로 연산한 결과값을 모두 합산하며,
    사용된 진수의 최대값 배수 중 합한 값보다 크면서 가장 가까운 수에 총합을 빼고 그 뺀 결과값을 구하고자 하는 OTP 값으로 산출하는 것을 특징으로 하는 OTP 기반의 보안 강화 방법.
KR1020160080235A 2016-06-27 2016-06-27 Otp 기반의 보안 강화 시스템 및 그 방법 KR101825486B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160080235A KR101825486B1 (ko) 2016-06-27 2016-06-27 Otp 기반의 보안 강화 시스템 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160080235A KR101825486B1 (ko) 2016-06-27 2016-06-27 Otp 기반의 보안 강화 시스템 및 그 방법

Publications (2)

Publication Number Publication Date
KR20180001289A true KR20180001289A (ko) 2018-01-04
KR101825486B1 KR101825486B1 (ko) 2018-02-06

Family

ID=60998276

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160080235A KR101825486B1 (ko) 2016-06-27 2016-06-27 Otp 기반의 보안 강화 시스템 및 그 방법

Country Status (1)

Country Link
KR (1) KR101825486B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102369990B1 (ko) * 2021-11-30 2022-03-03 주식회사 시옷 Ota를 이용한 차량용 소프트웨어 관리 시스템

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102199747B1 (ko) 2019-01-14 2021-01-07 주식회사 시큐어링크 Otp 기반의 가상키보드를 이용한 보안 방법 및 시스템
KR102195758B1 (ko) 2019-02-07 2020-12-29 한국원자력연구원 Otp 기반의 원자력 디지털 제어기 인증 방법 및 그 장치

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110083161A1 (en) * 2008-06-04 2011-04-07 Takayuki Ishida Vehicle, maintenance device, maintenance service system, and maintenance service method
CN103548300B (zh) * 2011-07-25 2016-10-19 三菱电机株式会社 加密装置以及加密方法
KR101508497B1 (ko) * 2013-08-26 2015-04-07 고려대학교 산학협력단 차량용 데이터의 인증 및 획득 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102369990B1 (ko) * 2021-11-30 2022-03-03 주식회사 시옷 Ota를 이용한 차량용 소프트웨어 관리 시스템
WO2023101401A1 (ko) * 2021-11-30 2023-06-08 주식회사 시옷 Ota를 이용한 차량용 소프트웨어 관리 시스템

Also Published As

Publication number Publication date
KR101825486B1 (ko) 2018-02-06

Similar Documents

Publication Publication Date Title
CN109600350B (zh) 用于车辆网络中的控制器间的安全通信的系统和方法
CN109076078B (zh) 用以建立和更新用于安全的车载网络通信的密钥的方法
CN106533655B (zh) 一种车内网ecu安全通信的方法
US11251978B2 (en) System and method for cryptographic protections of customized computing environment
CN113691560B (zh) 数据传送方法、控制数据使用的方法以及密码设备
US20180131511A1 (en) Systems and Methods for Dynamic Cypher Key Management
Tan et al. Comments on “dual authentication and key management techniques for secure data transmission in vehicular ad hoc networks”
CN109728909A (zh) 基于USBKey的身份认证方法和系统
CN111769938B (zh) 一种区块链传感器的密钥管理系统、数据验证系统
JP2020530726A (ja) サプライチェーン資産管理を保護するアプリケーションを有する遠隔サーバへのnfcタグ認証
US20210167963A1 (en) Decentralised Authentication
US11722529B2 (en) Method and apparatus for policy-based management of assets
KR101825486B1 (ko) Otp 기반의 보안 강화 시스템 및 그 방법
CN110383755A (zh) 网络设备和可信第三方设备
US20220171832A1 (en) Scalable key management for encrypting digital rights management authorization tokens
Symeonidis et al. Hermes: Scalable, secure, and privacy-enhancing vehicular sharing-access system
KR100970552B1 (ko) 비인증서 공개키를 사용하는 보안키 생성 방법
JPH10240826A (ja) 電子契約方法
CN111656729B (zh) 用于为编码两台设备之间的数字通信计算托管会话密钥和私人会话密钥的系统和方法
CN114342315B (zh) 网络中多个实体之间的对称密钥生成、认证和通信
Kim et al. Auditable and privacy-preserving authentication in vehicular networks
US20210119776A1 (en) Proof-of-work based on block cipher
CN117061100A (zh) 一种双向认证系统、方法、装置、设备及介质
CN116015906A (zh) 用于隐私计算的节点授权方法、节点通信方法和装置
CN116506184A (zh) 数据加密方法、数据验证方法及相关装置

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right