KR20220092606A - 차량의 업그레이드 패키지를 처리하는 방법 및 장치 - Google Patents

차량의 업그레이드 패키지를 처리하는 방법 및 장치 Download PDF

Info

Publication number
KR20220092606A
KR20220092606A KR1020227018960A KR20227018960A KR20220092606A KR 20220092606 A KR20220092606 A KR 20220092606A KR 1020227018960 A KR1020227018960 A KR 1020227018960A KR 20227018960 A KR20227018960 A KR 20227018960A KR 20220092606 A KR20220092606 A KR 20220092606A
Authority
KR
South Korea
Prior art keywords
vehicle
terminal
data block
server
upgrade package
Prior art date
Application number
KR1020227018960A
Other languages
English (en)
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 후아웨이 테크놀러지 컴퍼니 리미티드
Publication of KR20220092606A publication Critical patent/KR20220092606A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Abstract

차량의 업그레이드 패키지를 처리하기 위한 방법 및 장치가 개시된다. 방법은: 제1 단말(121)이 서버(11)로부터 하나 이상의 제1 데이터 블록을 수신하는 단계- 제1 데이터 블록은 차량 업그레이드에 사용됨 -(S101)와, 제1 단말(121)이 제2 단말(122)로부터 하나 이상의 제2 데이터 블록을 획득하는 단계- 제2 데이터 블록은 차량을 업그레이드하는 데 사용되며, 제2 데이터 블록은 서버(11)에 의해 제2 단말(122)로 전송됨 -(S102)와, 제1 단말(121)이 제1 데이터 블록 및 제2 데이터 블록에 기초하여 차량의 업그레이드 패키지를 획득하는 단계(S103)를 포함한다. 구체적으로, 서버(11)는 차량의 업그레이드 패키지를 차량을 복수의 데이터 블록으로 분할하고, 복수의 데이터 블록을 복수의 단말에 전달한다. 그러면, 각 단말은 각 단말에 의해 수신된 데이터 블록과 다른 단말로부터 단말에 의해 획득된 데이터 블록을 기반으로 P2P 방식으로 차량의 업그레이드 패키지를 획득할 수 있다. 이 과정에서, 어떤 단말도 OTA 서버에서 차량의 완전한 업그레이드 패키지를 얻을 필요가 없다. 따라서, OTA 서버의 부하를 줄일 수 있다.

Description

차량의 업그레이드 패키지를 처리하는 방법 및 장치
본 출원은 2019년 11월 14일 중국 국가 지식재산관리국에 제출된 "차량의 업그레이드 패키지를 처리하는 방법 및 장치"라는 명칭의 중국 특허출원 번호 2019111136671에 대한 우선권을 주장하며, 이는 그 전체가 본 명세서에서 참조로 포함된다.
본 출원은 통신 기술에 관한 것으로, 특히 차량의 업그레이드 패키지를 처리하는 방법 및 장치에 관한 것이다.
차량 인터넷 기술의 발달로 인해, 소프트웨어 관련 운영체제가 제공되는 차량의 양이 증가하고 있다. 소프트웨어 업데이트 동안, 차량은 OTA 기술 기반의 무선(an over the air, OTA) 서버로부터 차량의 업그레이드 패키지를 다운로드하고, 차량의 업그레이드 패키지를 이용하여 소프트웨어 업데이트를 구현할 수 있다.
일반적으로, 차량이 업그레이드 요청을 보낼 때마다, OTA 서버는 차량의 업그레이드 요청에 응답하고 차량의 업그레이드 패키지를 차량에 전달해야 한다.
그러나, OTA 서버는 차량별로 차량의 업그레이드 패키지를 제공해야 하므로 OTA 서버의 부하가 상대적으로 크다.
본 출원의 실시예는 OTA 서버의 부하를 줄이기 위해 차량의 업그레이드 패키지를 처리하는 방법 및 장치를 제공한다.
제1 양태에 따르면, 본 출원의 실시예는 차량의 업그레이드 패키지를 처리하기 위한 방법을 제공한다. 방법은 제1 단말이 서버로부터 하나 이상의 제1 데이터 블록을 수신하는 것을 포함하는데, 여기서 제1 데이터 블록은 차량 업그레이드에 사용되고, 제1 단말은 제2 단말로부터 하나 이상의 제2 데이터 블록을 획득하고, 제2 데이터 블록은 차량 내 시스템을 업그레이드하는 데 사용되며, 제2 데이터 블록은 서버에 의해 제2 단말로 전송되고, 제1 단말은 제1 데이터 블록 및 제2 데이터 블록에 기초하여 차량의 업그레이드 패키지를 획득한다. 구체적으로, 서버는 차량의 업그레이드 패키지를 복수의 데이터 블록으로 분할하여 복수의 데이터 블록을 복수의 단말로 전달할 수 있다. 이후, 각 단말은 단말에 의해 수신된 데이터 블록 및 단말에 의해 다른 단말로부터 획득된 데이터 블록을 기반으로 피어 투 피어(Peer to Peer, P2P) 방식으로 차량의 업그레이드 패키지를 획득할 수 있다. 이 과정에서, 어떤 단말도 OTA 서버로부터 차량의 완전한 업그레이드 패키지를 얻을 필요가 없다. 따라서, OTA 서버의 부하가 감소될 수 있다.
가능한 설계에서, 제1 데이터 블록 및 제2 데이터 블록 모두는 암호화된 데이터 블록이고, 제1 데이터 블록의 데이터 블록 길이 및 적어도 하나의 제2 데이터 블록의 데이터 블록 길이의 각각은 암호화 알고리즘의 패킷 길이의 정수배이다. 차량 업그레이드 패킷을 길이가 패킷 길이의 정수배인 데이터 블록으로 분할함으로써, 디캡슐레이터가 암호화된 패킷을 처리하는 동안 복호화에서 패킷 통합을 위한 시간을 추가로 소비하지 않는 것을 보장할 수 있다. 이는 타이밍 공격에 효과적으로 저항하여 암호화된 패킷의 기밀성 보호 및 무결성 보호를 보장한다.
가능한 설계에서, 제1 단말이 제1 데이터 블록 및 적어도 하나의 제2 데이터 블록에 기초하여 차량의 업그레이드 패키지를 획득하는 것은, 제1 단말이 제1 데이터 블록을 제1 시간에 복호화하기 시작하고, 제1 단말이 제2 시간에 제2 데이터 블록을 수신하는 것- 여기서 제1 시간은 제2 시간보다 빠름 -, 또는 제1 단말이 제2 데이터 블록을 제3 시간에 복호화하기 시작하고, 제1 단말이 제4 시간에 제1 데이터 블록을 수신하는 것- 여기서 제3 시간은 제4 시간보다 빠름 -을 포함한다. 본 출원의 이 실시예에서, 제1 단말은 데이터 블록을 수신하면서 데이터 블록을 복호화한다. 따라서, 제1 단말이 모든 데이터 블록을 수신한 후 모든 데이터 블록을 함께 복호화하는 방법과 비교하여, 본 실시예의 방법은 복호화 효율을 개선하고 업그레이드 패키지 다운로드 시간을 줄일 수 있다.
가능한 설계에서, 제1 데이터 블록 및 제2 데이터 블록의 각각은 차량 시스템을 업그레이드하기 위한 업그레이드 패키지를 생성하는 서버의 서명을 포함하고, 제1 단말이 제1 데이터 블록을 제1 시간에 복호화하기 시작하는 것은: 제1 단말이 제1 데이터 블록의 서명이 차량 시스템을 업그레이드하기 위한 업그레이드 패키지를 생성하는 서버의 서명인 것으로 확인하면, 제1 단말이 제1 데이터 블록을 제1 시간에 복호화하기 시작한다는 것을 포함하고, 제1 단말이 제2 데이터 블록을 제3 시간에 복호화하기 시작하는 것은: 제1 단말이 제2 데이터 블록의 서명이 차량 시스템을 업그레이드하기 위한 업그레이드 패키지를 생성하는 서버의 서명인 것으로 확인하면, 제1 단말이 제2 데이터 블록을 제3 시간에 복호화하기 시작한다는 것을 포함한다. 이 경우, 제1 데이터 블록 및 제2 데이터 블록에서 운반되는 서명이 OTA 서버의 서명이 아닌 경우, 제1 데이터 블록 및 제2 데이터 블록은 폐기될 수 있고, OTA 서버의 서명을 포함하는 제1 데이터 블록 및 제2 데이터 블록은 다시 획득될 수 있다. 이러한 방식으로, 제1 단말은 다른 장치에 의해 전송된 안전하지 않은 데이터 블록을 수신하지 않게 되어, 데이터 블록 전송의 보안을 향상시킨다.
가능한 설계에서, 서버는 차량의 업그레이드 패키지의 분할을 통해 획득된 데이터 블록과 데이터 블록을 수신하는 단말 사이의 연관 관계를 저장한다. 제1 단말이 제2 단말로부터 하나 이상의 제2 데이터 블록을 획득하는 것은, 제1 단말이 연관 관계에 기초하여 데이터 블록 획득 요청을 제2 단말에 전송하고, 제1 단말이 데이터 블록 획득 요청에 응답하여 제2 단말에 의해 반환된 하나 이상의 제2 데이터 블록을 수신하는 것을 포함한다. 이러한 방식으로, 제1 단말은 서버에 의해 제공된 연관 관계에 기초하여 대응하는 제2 단말로부터 제2 데이터 블록을 정확하게 획득할 수 있다.
가능한 설계에서, 서버는 프록시 서버이고, 차량의 업그레이드 패키지는 무선(OTA) 서버로부터 프록시 서버에 의해 획득되고, 제1 단말은 차량이다. 이 경우, 프록시 서버는 차량의 업그레이드를 지원하여 OTA 서버의 부하를 줄일 수 있다.
가능한 설계에서, 제1 단자는 충전 더미(charging pile)이다.
가능한 설계에서, 방법은, 충전 더미가 차량에 의해 전송된 업그레이드 패키지 획득 요청을 수신하고, 차량이 충전 더미의 안전 검증에 성공하면, 충전 더미는 업그레이드 패키지 획득 요청에 기초하여 차량의 업그레이드 패키지를 차량에 반환하는 것을 포함한다. 이러한 방식으로, 차량은 충전 동안 차량의 업그레이드 패키지를 다운로드할 수 있다. 차량을 충전하는 동안, 차량이 일반적으로 정지 상태에 있기 때문에 일반적으로 비교적 양호한 네트워크 환경이 있을 수 있고, 차량은 충전 보조 장치에 연결되어 있어 차량의 전력 부족으로 인한 차량의 업그레이드 패키지 다운로드 중단과 같은 현상은 방지될 수 있다는 것을 이해할 수 있다. 따라서, 차량 업그레이드의 사용자 경험을 효과적으로 개선할 수 있다.
가능한 설계에서, 제1 단말이 서버로부터 제1 데이터 블록을 수신하는 것은, 제1 단말이 서버와의 보안 인증에 성공할 때 제1 단말이 서버로부터 제1 데이터 블록을 수신하는 것을 포함한다. 제1 단말은 서버와 보안 인증을 수행한 후 제1 데이터 블록을 수신함으로써, 제1 단말이 수신한 제1 데이터 블록의 보안은 향상될 수 있다.
제2 양태에 따르면, 본 출원의 실시예는 차량의 업그레이드 패키지를 처리하기 위한 방법을 제공한다. 방법은, 서버가 차량의 업그레이드 패키지를 복수의 데이터 블록으로 분할하고, 서버는 복수의 데이터 블록을 적어도 하나의 단말에 배포하되, 각각의 단말은 단말에 의해 수신된 데이터 블록 및 적어도 하나의 단말 내의 다른 단말로부터의 데이터 블록에 기초하여 차량의 업그레이드 패키지를 획득하도록 구성되는 것을 포함한다.
가능한 설계에서, 서버가 차량의 업그레이드 패키지를 복수의 데이터 블록으로 분할하는 것은: 서버가 암호화 알고리즘에 따라 차량의 업그레이드 패키지를 암호화하고, 차량의 암호화된 업그레이드 패키지를 복수의 데이터 블록으로 분할하는 것을 포함한다.
가능한 설계에서, 서버는 프록시 서버이고, 서버가 차량의 업그레이드 패키지를 블록으로 분할하기 전에, 방법은, 프록시 서버가 무선(OTA) 서버로부터 차량의 업그레이드 패키지를 획득하는 단계를 더 포함한다.
가능한 설계에서, 프록시 서버가 무선(OTA) 서버로부터 차량의 업그레이드 패키지를 획득하는 것은, 프록시 서버가 차량의 업그레이드 패키지 획득 요청을 무선(OTA) 서버에 전송하되, 차량의 업그레이드 패키지 획득 요청은 운영체제 유형 및 차량의 버전을 포함하고, 프록시 서버가 OTA 서버와의 보안 검증에 성공하면, 프록시 서버는 OTA 서버에 의해 전송된 차량의 업그레이드 패키지를 수신하되, 차량의 업그레이드 패키지는 OTA 서버에 의해 운영체제 유형 및 차량의 버전에 따라 생성되는 것을 포함한다.
가능한 설계에서, 서버가 복수의 데이터 블록을 적어도 하나의 단말에 분배한 후, 방법은, 서버가 차량의 업그레이드 패키지의 분할을 통해 획득한 데이터 블록과 이 데이터 블록을 수신하는 단말 간의 연관 관계를 기록하는 것을 더 포함한다.
제3 양태에 따르면, 본 출원의 실시예는 서버로부터 하나 이상의 제1 데이터 블록을 수신하도록 구성된 수신 모듈- 여기서, 제1 데이터 블록은 차량 업그레이드에 사용됨 -, 및 처리 모듈을 포함하는 제1 단말을 제공하되, 처리 모듈은, 제1 단말에 의해, 제2 단말로부터 하나 이상의 제2 데이터 블록을 획득하고- 제2 데이터 블록은 차량 내 시스템을 업그레이드하는 데 사용되고, 제2 데이터 블록은 서버에 의해 제2 단말에 전송됨 -, 제1 데이터 블록 및 제2 데이터 블록에 기초하여 차량의 업그레이드 패키지를 획득하도록 구성된다.
가능한 설계에서, 제1 데이터 블록 및 제2 데이터 블록 모두는 암호화된 데이터 블록이고, 제1 데이터 블록의 데이터 블록 길이 및 적어도 하나의 제2 데이터 블록의 데이터 블록 길이의 각각은 암호화 알고리즘의 패킷 길이의 정수배이다.
가능한 설계에서, 처리 모듈은 구체적으로: 제1 데이터 블록을 제1 시간에 복호화하기 시작하고 제2 데이터 블록을 제2 시간에 수신하고- 제1 시간은 제2 시간보다 빠름 -, 또는 제2 데이터 블록을 제3 시간에 복호화하기 시작하고 제1 데이터 블록을 제4 시간에 수신하도록 구성되며, 제3 시간은 제4 시간보다 빠르다.
가능한 설계에서, 제1 데이터 블록 및 제2 데이터 블록의 각각은 차량 시스템을 업그레이드하기 위한 업그레이드 패키지를 생성하는 서버의 서명을 포함하고, 처리 모듈은 구체적으로, 제1 데이터 블록의 서명이 차량 시스템 업그레이드를 위한 업그레이드 패키지를 생성하는 서버의 서명임을 확인할 때 제1 데이터 블록을 제1 시간에 복호화하기 시작하고, 제2 데이터 블록의 서명이 차량 시스템 업그레이드를 위한 업그레이드 패키지를 생성하는 서버의 서명임을 확인할 때 제2 데이터 블록을 제3 시간에 복호화하기 시작하도록 더 구성된다.
가능한 설계에서, 서버는 차량의 업그레이드 패키지의 분할을 통해 획득된 데이터 블록과 데이터 블록을 수신하는 단말 사이의 연관 관계를 저장하고, 처리 모듈은 구체적으로, 연관 관계에 기초하여 데이터 블록 획득 요청을 제2 단말에 전송하고, 데이터 블록 획득 요청에 응답하여 제2 단말에 의해 반환된 하나 이상의 제2 데이터 블록을 수신하도록 구성된다.
가능한 설계에서, 서버는 프록시 서버이고, 차량의 업그레이드 패키지는 무선(OTA) 서버로부터 프록시 서버에 의해 획득되고, 제1 단말은 차량이다.
가능한 설계에서, 제1 단자는 충전 더미이다.
가능한 설계에서, 수신 모듈은 차량에 의해 전송된 업그레이드 패키지 획득 요청을 수신하도록 더 구성되고, 처리 모듈은 또한, 차량이 충전 더미의 안전 검증에 성공한 경우, 업그레이드 패키지 획득 요청에 기초하여 차량의 업그레이드 패키지를 차량으로 반환하도록 구성된다.
가능한 설계에서, 수신 모듈은 구체적으로 제1 단말이 서버와의 보안 인증에 성공할 때 서버로부터 제1 데이터 블록을 제1 단말에 의해 수신하도록 구성된다.
제4 양태에 따르면, 본 출원의 실시예는, 차량의 업그레이드 패키지를 복수의 데이터 블록으로 분할하도록 구성된 처리 모듈, 및 복수의 데이터 블록을 적어도 하나의 단말에 배포하도록 구성된 송신 모듈을 포함하는 서버를 제공하되, 각각의 단말은 단말에 의해 수신된 데이터 블록 및 적어도 단말 내의 다른 단말로부터의 데이터 블록에 기초하여 차량의 업그레이드 패키지를 획득하도록 구성된다.
가능한 설계에서, 처리 모듈은 구체적으로, 암호화 알고리즘에 따라 차량의 업그레이드 패키지를 암호화하고 차량의 암호화된 업그레이드 패키지를 복수의 데이터 블록으로 분할하도록 구성된다.
가능한 설계에서, 서버는 프록시 서버이고, 처리 모듈은 무선(OTA) 서버로부터 차량의 업그레이드 패키지를 획득하도록 추가로 구성된다.
가능한 설계에서, 처리 모듈은 구체적으로, 차량의 업그레이드 패키지 획득 요청을 무선(OTA) 서버에 전송하고- 여기서, 차량의 업그레이드 패키지 획득 요청은 운영체제 유형 및 차량의 버전을 포함함 -, 프록시 서버가 OTA 서버와 보안 검증에 성공하면, OTA 서버에 의해 전송된 차량의 업그레이드 패키지를 수신하도록 구성되되, 차량의 업그레이드 패키지는 운영체제 유형 및 차량의 버전을 기반으로 OTA 서버에 의해 생성된다.
가능한 설계에서, 처리 모듈은 차량의 업그레이드 패키지의 분할을 통해 획득된 데이터 블록과 이 데이터 블록을 수신하는 단말 사이의 연관 관계를 기록하도록 더 구성된다.
제5 양태에 따르면, 본 출원의 실시예는 차량의 업그레이드 패키지를 처리하기 위한 장치를 제공한다. 차량의 업그레이드 패키지를 처리하는 장치는 제1 단말의 칩 또는 시스템 온 칩일 수 있으며, 프로세서 및 인터페이스 회로를 포함한다. 인터페이스 회로는 코드 명령어를 수신하고 코드 명령어를 프로세서에 전송하도록 구성된다. 프로세서는 제1 양태 또는 제1 양태의 가능한 설계 중 어느 하나에 따른 방법을 수행하기 위해 코드 명령어를 실행하도록 구성된다.
제6 양태에 따르면, 본 출원의 실시예는 차량의 업그레이드 패키지를 처리하기 위한 장치를 제공한다. 차량의 업그레이드 패키지를 처리하는 장치는 서버의 칩 또는 시스템 온 칩일 수 있으며, 프로세서 및 인터페이스 회로를 포함한다. 인터페이스 회로는 코드 명령어를 수신하고 코드 명령어를 프로세서에 전송하도록 구성된다. 프로세서는 제2 양태 또는 제2 양태의 가능한 설계 중 어느 하나에 따른 방법을 수행하기 위해 코드 명령어를 실행하도록 구성된다.
제7 양태에 따르면, 본 출원의 실시예는 메모리 및 프로세서를 포함하는 차량의 업그레이드 패키지를 처리하기 위한 장치를 제공한다. 프로세서는 제1 양태 또는 제1 양태의 가능한 설계 중 어느 하나에 따른 방법을 구현하기 위해 메모리 내의 프로그램 명령어를 실행한다.
제8 양태에 따르면, 본 출원의 실시예는 메모리 및 프로세서를 포함하는 차량의 업그레이드 패키지를 처리하기 위한 장치를 제공한다. 프로세서는 제2 양태 또는 제2 양태의 가능한 설계 중 어느 하나에 따른 방법을 구현하기 위해 메모리 내의 프로그램 명령어를 실행한다.
제9 양태에 따르면, 본 출원의 실시예는 판독가능 컴퓨터 저장 매체를 제공한다. 판독가능 컴퓨터 저장 매체는 컴퓨터 프로그램을 저장하도록 구성되고, 컴퓨터 프로그램은 제1 양태 또는 제1 양태의 가능한 설계 중 어느 하나에 따른 방법을 구현하는 데 사용된다.
제10 양태에 따르면, 본 출원의 실시예는 판독가능 컴퓨터 저장 매체를 제공한다. 판독가능 컴퓨터 저장 매체는 컴퓨터 프로그램을 저장하도록 구성되고, 컴퓨터 프로그램은 제2 양태 또는 제2 양태의 가능한 설계 중 어느 하나에 따른 방법을 구현하는 데 사용된다.
제11 양태에 따르면, 본 출원의 실시예는 차량의 업그레이드 패키지를 처리하기 위한 시스템을 제공한다. 시스템은 제3 양태의 통신 장치 및 대응하는 실행 가능한 구현 및 제4 양태의 통신 장치 및 대응하는 실행 가능한 구현을 포함한다.
본 출원의 제2 양태 내지 제11 양태의 기술적 솔루션은 본 출원의 제1 양태의 기술적 솔루션에 대응하고, 각각의 양태 및 대응하는 실현 가능한 구현에 의해 얻어지는 유익한 효과는 유사하고, 다시 자세히 설명하지 않는다.
도 1은 본 출원의 실시예에 따라 차량의 업그레이드 패키지를 처리하는 방법이 적용된 네트워크 시스템의 개략도이다.
도 2는 본 출원의 실시예에 따라 차량의 업그레이드 패키지를 처리하는 방법의 개략적인 흐름도이다.
도 3은 본 출원의 실시예에 따라 차량의 업그레이드 패키지를 처리하는 방법이 적용된 다른 네트워크 시스템의 개략도이다.
도 4는 본 출원의 실시예에 따른 차량의 차량 탑재 장치의 로직 구조의 개략도이다.
도 5는 본 출원의 실시예에 따라 차량의 업그레이드 패키지를 처리하는 특정 방법의 개략적인 흐름도이다.
도 6은 본 출원의 실시예에 따라 차량의 업그레이드 패키지를 처리하는 방법이 적용된 또 다른 네트워크 시스템의 개략도이다.
도 7은 본 출원의 실시예에 따라 차량의 업그레이드 패키지를 처리하는 다른 특정 방법의 개략적인 흐름도이다.
도 8은 본 출원의 실시예에 따른 제1 단말의 구조의 개략도이다.
도 9는 본 출원의 실시예에 따른 서버의 구조의 개략도이다.
도 10은 본 출원의 실시예에 따른 차량의 업그레이드 패키지를 처리하는 장치의 하드웨어 구조의 개략도이다.
다음은 첨부된 도면을 참조하여 실시예의 구현을 상세히 설명한다.
본 출원의 실시예에서 제공되는 차량의 업그레이드 패키지를 처리하는 방법은 도 1의 네트워크 시스템에 적용될 수 있다. 시스템은 서버(11), 제1 단말(121) 및 제2 단말(122)을 포함할 수 있다. 하나 이상의 제2 단말(122)이 있을 수 있다.
서버(11)는 차량의 업그레이드 패키지를 전달하는 OTA 서버일 수 있고, OTA 서버로부터 차량의 업그레이드 패키지를 획득한 차량 플릿 서버일 수 있고, 또는 임의의 다른 가능한 서버일 수 있다. 이것은 본 출원의 실시예에서 특별히 제한되지 않는다. 제1 단말(121)은 임의의 형태의 차량일 수 있고, 제1 단말(121)은 임의의 형태의 차량 보조 장치(예컨대, 차량 충전 더미)일 수 있으며, 또는 제1 단말(121)은 이동 단말(예컨대, 휴대 전화, 태블릿 컴퓨터 또는 웨어러블 장치)일 수 있다. 이것은 본 출원의 실시예에서 특별히 제한되지 않는다. 제2 단말(122)은 임의의 형태의 차량일 수 있고, 제2 단말(122)은 임의의 형태의 차량 보조 장치(예컨대, 차량 충전 더미)일 수 있으며, 또는 제2 단말(122)은 이동 단말(예컨대, 휴대 전화, 태블릿 컴퓨터 또는 웨어러블 장치)일 수 있다. 이것은 본 출원의 실시예에서 특별히 제한되지 않는다. 제1 단말(121) 및 제2 단말(122)은 동일한 유형의 장치일 수 있다. 예를 들어, 제1 단말(121) 및 제2 단말(122)은 모두 차량, 차량 보조 장치, 이동 단말 등이다. 이와 달리, 제1 단말(121)과 제2 단말(122)은 서로 다른 종류의 장치일 수 있다. 예를 들어, 제1 단말(121)은 차량이고, 제2 단말(122)은 차량 보조 장치, 이동 단말 등이다. 이것은 본 출원의 실시예에서 특별히 제한되지 않는다. 서버(11), 제1 단말(121) 및 제2 단말(122)이 다양한 특정 장치인 경우 차량의 업그레이드 패키지를 처리하는 방식에 대해서는 후술하는 실시예에서 상세히 설명한다. 자세한 내용은 여기에서 설명하지 않는다.
제1 단말(121) 및 제2 단말(122)은 각각 서버(11)와 통신 연결을 수립한다. 예를 들어, 제1 단말(121) 및 제2 단말(122)은 하이퍼텍스트 전송 프로토콜(hypertext transfer protocol, HTTP) 또는 보안 소켓 계층을 통한 하이퍼텍스트 전송 프로토콜(hypertext transfer protocol over secure socket layer, HTTPS)을 사용하여 서버(11)와 통신 연결을 수립할 수 있다. 이것은 본 출원의 실시예들에 제한되지 않는다.
제1 단말(121)과 제2 단말(122) 간의 P2P 통신은 임의의 형태의 통신 연결을 통해 구현될 수 있다. 예를 들어, 제1 단말(121)과 제2 단말(122) 간의 P2P 통신은 무선 전송, 예를 들어 블루투스(Bluetooth) 전송, 무반송파(carrierless) 통신(Ultra Wide Band, UWB), 적외선 전송 등을 통해 구현될 수 있다.
또는, 제1 단말(121)과 제2 단말(122) 사이에 유선 전송을 통해 P2P 통신이 구현될 수도 있다. 이것은 본 출원의 실시예에서 특별히 제한되지 않는다.
또는, 인덱스 서버를 기반으로 제1 단말(121)과 제2 단말(122) 간에 P2P 통신이 구현될 수도 있다. 인덱스 서버는 서버(11)일 수도 있고 임의의 다른 서버일 수도 있다. 예를 들어, 인덱스 서버는 리소스 목록을 저장할 수 있다. 리소스 목록은 제1 단말(121)과 제1 단말(121)의 리소스 식별자 간의 연관 관계, 및 제2 단말(122)과 제2 단말(122)의 리소스 식별자 간의 연관 관계를 포함한다. 제1 단말(121)이 리소스를 획득할 것으로 예상되는 경우, 제1 단말(121)은 인덱스 서버로부터 각 단말의 리소스 목록을 획득하고, 리소스 목록으로부터, 리소스의 식별자를 포함하는 단말이 제2 단말(122)인 것으로 결정할 수 있다. 이 경우, 제1 단말(121)은 유선 통신 또는 무선 통신을 통해 제2 단말(122)로부터 리소스를 더 획득한다.
도 2는 본 출원의 실시예에 따른 차량의 업그레이드 패키지를 처리하기 위한 방법의 개략적인 흐름도이다. 도 2에 도시된 바와 같이, 방법은 다음 단계를 포함한다.
단계 S101: 제1 단말은 서버로부터 하나 이상의 제1 데이터 블록을 수신하고, 여기서 제1 데이터 블록은 차량 업그레이드에 사용된다.
본 출원의 이 실시예에서, 서버는 OTA 서버일 수 있거나 OTA 서버 이외의 서버일 수 있다. 서버가 OTA 서버인 경우, 서버는 차량 업그레이드를 위한 업그레이드 패키지를 생성할 수 있다. 서버가 OTA 서버가 아닌 다른 서버인 경우, 서버는 먼저 OTA 서버로부터 차량 업그레이드를 위한 업그레이드 패키지를 획득할 수 있다.
서버는 차량 업그레이드를 위한 완전한 업그레이드 패키지를 복수의 데이터 블록으로 분할할 수 있다. 구체적으로 업그레이드 패키지에 대응하는 장치를 기반으로, 각 업그레이드 패키지는 장치 번호 및 업그레이드 패키지 시퀀스 번호에 대응할 수 있음을 이해할 수 있다. 블록 분할 동안, 서버는 업그레이드 패키지에서의 데이터 블록의 위치 등을 기반으로 데이터 블록을 식별할 수 있어, 데이터 블록은 이후에 복수의 데이터 블록의 식별자를 기반으로 통합되어 완전한 업그레이드 패키지를 다시 얻을 수 있다. 데이터 블록의 특정 식별 방식 및 식별 내용은 본 출원의 이 실시예에서 특별히 제한되지 않는다. 일 실시예에서, 데이터 블록은 완전한 데이터 패킷일 수 있다.
예를 들어, 특정 구현에서, 블록 분할을 통해 획득된 각 데이터 블록의 헤더는 버전 번호, 업그레이드 패키지 시퀀스 번호 i, 장치 번호 j, 및 업그레이드 패키지 i 내의 데이터 블록의 시퀀스 번호 k 중 하나 이상을 포함할 수 있다. 예를 들어, 현재 승용차용 자동차 전자 제어 장치(Electronic Control Unit, ECU)의 종류는 약 25~100여종이다. 따라서, 일반적으로 업그레이드 패키지의 유형은 256개 미만이다. 이에 따라, 업그레이드 패키지 시퀀스 번호 i의 총량은 256을 초과하지 않는다. 업그레이드 패키지 시퀀스 번호 i가 데이터 블록에서 1바이트를 차지하도록 지정할 수 있다. 이에 따라, 일반적으로 차량 유형도 256개를 넘지 않는다. 따라서, 장치 번호(예를 들어, 차량의 ECU 번호) j도 1바이트를 차지할 수 있다. 업그레이드 패키지 i에서 데이터 블록의 시퀀스 번호 k는 업그레이드 패키지의 크기 및 업그레이드 방식과 관련이 있다. 예를 들어, 더 큰 업그레이드 패키지는 더 큰 시퀀스 번호 k를 나타내거나, 또는 k는 차등 업그레이드 방식이 사용될 때 더 작거나, 또는 k는 완전한 패키지 업그레이드 방식이 사용될 때 더 크다. 예를 들어, k는 1~3바이트를 차지할 수 있다. 이것은 본 출원의 이 실시예에서 특별히 제한되지 않는다.
복수의 데이터 블록을 획득한 후, 서버는 복수의 데이터 블록을 복수의 단말에 분배할 수 있다. 본 출원의 본 실시예에서, 복수의 단말 중 제1 단말을 실행 주체로 하고, 복수의 단말 중 제1 단말 이외의 단말을 제2 단말로 하는 경우를 예로 들어 설명한다. 제1 단말 및 제2 단말은 대안적으로 복수의 단말 이외의 단말일 수도 있다. 제1 단말에 의해 수신된 데이터 블록은 제1 데이터 블록이고, 하나 이상의 제1 데이터 블록이 있을 수 있다. 제2 단말에 의해 수신된 데이터 블록은 제2 데이터 블록이며, 하나 이상의 제2 데이터 블록이 존재할 수 있다. 모든 제1 데이터 블록과 모든 제2 데이터 블록은 완전한 업그레이드 패키지를 구성할 수 있다. 물론, 예를 들어 중복 정보 관련 캡슐화가 수행되는 경우가 있을 수 있고, 일부 데이터 패킷이 파싱(parse)될 때 완전한 업그레이드 패키지가 형성될 수 있다. 또는, 여기서 제1 데이터 블록은 일 유형의 데이터 블록일 수 있고, 제2 데이터 블록은 다른 유형의 데이터 블록일 수 있다. 서로 다른 유형의 데이터 블록의 전송 경로는 다를 수 있다. 예를 들어, 상이한 유형의 데이터 블록은 상이한 장치들을 통과한 후 목적지에 도달한다.
선택적으로, 특정 구현에서, 제1 단말은 서버에 업그레이드 요청을 보낼 수 있다. 업그레이드 요청은 제1 단말의 기본 정보를 포함할 수 있고, 기본 정보는 소프트웨어 정보 및/또는 하드웨어 정보 또는 차량 모델(예컨대, 차량의 고유 식별자(차량 식별 번호, VIN))을 포함할 수 있다. 업그레이드 요청에 응답하여, 서버는 업그레이드 요청의 기본 정보와 일치하는 하나 이상의 제1 데이터 블록을 제1 단말에 보낼 수 있다. 업그레이드 요청을 보내기 전에, 제1 단말은 업그레이드 알림을 더 수신할 수 있다. 업그레이드 요청의 전송을 트리거하기 위한 다양한 조건이 있을 수 있다. 예를 들어, 업그레이드 요청의 전송은 제1 단말에 지정된 타이밍 순간을 기반으로 트리거되고, 업그레이드 요청의 전송은 사용자가 제1 단말에서 차량 내 인포테인먼트(in-vehicle Infotainment, IVI) 시스템의 화면에서 업그레이드 컨트롤을 탭할 때, 트리거되고, 업그레이드 요청의 전송은 제1 단말과 통신하는 이동 전화와 같은 모바일 장치의 애플리케이션을 사용하여 트리거되고, 또는 업그레이드 요청은 제1 단말의 네트워크 환경이 (자동 업그레이드로도 지칭되는) 업그레이드 요구사항을 만족시키면 자동으로 전송된다.
선택적으로, 단계 S101이 수행되기 전에, 보안 통신을 수립하기 위해 제1 단말과 서버 사이에 양방향 인증이 수행될 수 있다. 예를 들어, 공개 키 인프라(Public Key Infrastructure, PKI)를 이용하여 제1 단말과 서버 간에 양방향 인증이 수행될 수 있다. 예를 들어, 제1 단말은 제1 단말에 의한 서버에 대한 인증을 구현하기 위해 PKI에서 서버의 디지털 인증서를 확인할 수 있고, 서버는 서버에 의한 제1 단말에 대한 인증을 구현하기 위해 PKI에서 제1 단말의 디지털 인증서를 확인할 수 있다. 양방향 인증은 대안적으로 실제 적용 시나리오에 기초하여 다른 방식으로 제1 단말와 서버 사이에서 수행될 수 있음을 이해할 수 있다. 이것은 본 출원의 이 실시예에서 특별히 제한되지 않는다.
단계 S102: 제1 단말은 제2 단말로부터 하나 이상의 제2 데이터 블록을 획득하고, 여기서 제2 데이터 블록은 차량 업그레이드에 사용되며, 제2 데이터 블록은 서버에 의해 제2 단말로 전송된다.
본 출원의 이 실시예에서, 제1 단말은 위에서 설명된 임의의 P2P 방식으로 제2 단말로부터 하나 이상의 제2 데이터 블록을 획득할 수 있다. 하나 이상의 제2단말이 있을 수 있다. 본 출원의 이 실시예에서 제2 단말의 수량은 제한되지 않는다. 예를 들어, 하나의 제2 단말이 있는 경우, 제1 단말은 하나의 제2 단말로부터 하나 이상의 제2 데이터 블록을 획득한다. 제2 단말이 복수 개 있는 경우, 제1 단말은 하나 이상의 제2 단말로부터 하나 이상의 제2 데이터 블록을 획득한다.
본 출원의 이 실시예에서, 단계 S102와 단계 S101 간의 순서가 역전될 수 있다는 점에 유의해야 한다. 구체적으로, 제1 단말은 먼저 하나 이상의 제1 데이터 블록을 획득한 다음, 하나 이상의 제2 데이터 블록을 획득할 수 있고, 또는 제1 단말은 하나 이상의 제2 데이터 블록을 먼저 획득한 다음, 하나 이상의 제1 데이터 블록을 획득할 수 있다. 이것은 본 출원의 이 실시예에서 특별히 제한되지 않는다.
선택적으로, 서버가 데이터 블록을 복수의 단말에 분배할 때, 서버는 각 데이터 블록과 데이터 블록을 수신하는 단말 사이의 연관 관계를 저장한다. 단계 S102의 구체적인 구현은 다음과 같을 수 있다: 제1 단말은 연관 관계에 기초하여 데이터 블록 획득 요청을 제2 단말에 전송하고, 제1 단말은 데이터 블록 획득 요청에 응답하여 제2 단말에 의해 반환된 적어도 하나의 제2 데이터 블록을 수신한다.
본 출원의 이 실시예에서, 각각의 데이터 블록은 하나의 데이터 블록 식별자에 고유하게 대응할 수 있고, 데이터 블록 식별자는 번호 또는 이름과 같은 식별자일 수 있다. 각 단말은 하나의 단말 식별자에 고유하게 대응할 수 있으며, 단말 식별자는 단말의 장치 일련번호 또는 단말의 통신 주소와 같은 식별자일 수 있다. 확실히, 상이한 단말에 대해, 단말이 사용하는 단말 식별자의 특정 형태는 다를 수 있다. 상이한 데이터 블록의 경우, 데이터 블록에 의해 사용되는 데이터 블록 식별자는 상이할 수 있다. 각 데이터 블록에 대해, 서버는 데이터 블록의 식별자와 데이터 블록을 수신하는 단말의 식별자 사이의 연관 관계를 저장할 수 있다. 이 경우, 제1 단말은 연관 관계에 기초하여, 제1 단말에 의해 수신된 데이터 블록(예를 들어, 하나 이상의 제1 데이터 블록), 제1 단말에 대해 여전히 누락된 데이터 블록(예를 들어, 하나 이상의 제2 데이터 블록), 및 제1 단말에 대해 누락된 데이터 블록과 연관된 제2 단말의 식별자를 결정할 수 있다. 또한, 제1 단말은 제2 단말의 식별자에 기초하여 데이터 획득 요청을 제2 단말에 보내고, 제2 단말에 의해 반환된 하나 이상의 제2 데이터 블록을 수신할 수 있다. 예를 들어, 복수의 제2 단말이 있는 경우, 제1 단말은 연관 관계에 기초하여 각각의 제2 단말에 데이터 블록 획득 요청을 전송하고, 제2 단말에 의해 반환된 하나 이상의 제2 데이터 블록을 수신할 수 있다. 서버는 데이터 블록이 누락되지 않도록 또는 데이터 블록이 정상적인 업그레이드 조건을 충족시킬 수 있도록 보장하기 위해 대안적으로 간단한 기술 검증 방식 또는 다른 검증 방식을 사용할 수 있다.
선택적으로, 단계 S102가 수행되기 전에, 보안 통신을 수립하기 위해 제1 단말와 제2 단말 사이에 양방향 인증이 수행될 수 있다. 예를 들어, PKI를 이용하여 제1 단말과 제2 단말 간에 양방향 인증이 수행될 수 있다. 예를 들어, 제1 단말은 제1 단말에 의한 제2 단말에 대한 인증을 구현하기 위해 PKI에서 제2 단말의 디지털 인증서를 확인할 수 있고, 제2 단말은 제2 단말에 의한 제1 단말에 대한 인증을 구현하기 위해 PKI에서 제1 단말의 디지털 인증서를 확인할 수 있다. 양방향 인증은 대안적으로 실제 적용 시나리오에 기초하여 다른 방식으로 제1 단말와 제2 단말 사이에서 수행될 수 있음을 이해할 수 있다. 이것은 본 출원의 이 실시예에서 특별히 제한되지 않는다.
단계 S103: 제1 단말은 제1 데이터 블록 및 제2 데이터 블록에 기초하여 차량의 업그레이드 패키지를 획득한다.
본 출원의 이 실시예에서, 모든 제2 데이터 블록을 획득한 후, 제1 단말은 제2 데이터 블록의 식별자 및 제1 데이터 블록의 식별자에 기초한 데이터 블록 배열 시퀀스 등에 따라 제1 데이터 블록 및 제2 데이터 블록을 통합하여, 차량의 업그레이드 패키지를 획득한다.
본 출원의 이 실시예에서, 차량의 업그레이드 패키지는 차량의 단일 컴포넌트의 시스템(또는 소프트웨어)을 업그레이드하기 위한 업그레이드 패키지일 수 있거나, 차량의 모든 컴포넌트 또는 복수의 컴포넌트의 시스템(또는 소프트웨어)을 업그레이드하기 위한 업그레이드 패키지일 수 있다. 이것은 본 출원의 이 실시예에서 특별히 제한되지 않는다.
결론적으로, 본 출원의 이 실시예에서, 서버는 차량 업그레이드 패킷을 복수의 데이터 블록으로 분할한 다음, 복수의 데이터 블록을 복수의 단말로 전달할 수 있다. 그러면, 단말은 P2P 방식으로 다른 단말로부터 데이터 블록을 획득하고, 단말에 의해 수신된 데이터 블록 및 이 단말에 의해 다른 단말로부터 획득된 데이터 블록을 기반으로 차량의 업그레이드 패키지를 획득할 수 있다. 이 과정에서, 어떤 단말도 OTA 서버에서 차량의 완전한 업그레이드 패키지를 얻을 필요가 없다. 따라서, OTA 서버의 부하를 줄일 수 있다.
선택적으로, 제1 데이터 블록 및 제2 데이터 블록 모두는 암호화된 데이터 블록일 수 있다.
본 출원의 이 실시예에서, 차량의 업그레이드 패키지를 블록으로 분할할 때, 서버는 먼저 차량의 업그레이드 패키지를 암호화한 다음, 차량의 암호화된 업그레이드 패키지를 암호화된 제1 데이터 블록 및 암호화된 제2 데이터 블록으로 분할한다. 또는, 차량의 업그레이드 패키지를 블록으로 분할할 때, 서버는 먼저 차량의 업그레이드 패키지를 하나 이상의 제1 데이터 블록 및 하나 이상의 제2 데이터 블록으로 분할한 다음, 각 제1 데이터 블록 및 각 제2 데이터 블록을 암호화할 수 있다. 암호화의 특정 구현은 본 출원의 이 실시예에서 특별히 제한되지 않는다. 데이터 블록 무결성을 보장하기 위해, 제1 데이터 블록 및 제2 데이터 블록은 각각 단말에 저장되거나, 단말, 예를 들어, 제1 단말 및/또는 제2 단말에 중앙 집중적으로 저장될 수 있다. 또는, 제1 데이터 블록 및 제2 데이터 블록에 포함된 정보는 각각 단말에 저장되거나, 단말, 예를 들어, 제1 단말 및/또는 제2 단말에 중앙 집중적으로 저장될 수 있다.
본 출원의 이 실시예에서, 암호화된 데이터 블록을 획득하기 위해 서버에 의해 사용되는 암호화 알고리즘은 대칭 암호화 알고리즘일 수 있거나, 비대칭 암호화 알고리즘 또는 임의의 다른 암호화 알고리즘일 수 있다. 암호화 알고리즘은 본 출원의 이 실시예에서 특별히 제한되지 않는다. 상이한 암호화 방법을 사용하여 암호화를 통해 얻은 데이터 블록에 대해, 암호화 알고리즘의 식별자가 데이터 블록에 포함될 수 있음을 이해할 수 있다. 복호화 동안, 암호화 알고리즘의 식별자에 따라 해당 복호화 알고리즘이 사용될 수 있다. 이것은 본 출원의 이 실시예에서 특별히 제한되지 않는다.
본 출원의 본 실시예에서, 제1 데이터 블록 및 제2 데이터 블록을 암호화함으로써, 권한이 없는 사용자가 업그레이드 패킷을 획득하는 것을 방지할 수 있고, 분할을 통해 획득된 데이터 블록의 전송 프로세스의 기밀성이 보장될 수 있다. 이것은 OTA 업그레이드 패킷의 빠른 전송을 보장하면서 OTA 데이터 패킷의 전송 보안을 더욱 보장할 수 있다.
본 출원의 이 실시예의 선택적인 구현에서, 제1 데이터 블록의 데이터 블록 길이 및 적어도 하나의 제2 데이터 블록의 데이터 블록 길이 각각은 대칭 암호화 알고리즘의 패킷 길이의 정수배이다 .
본 출원의 이 실시예에서, 대칭 암호화 알고리즘에 입력되는 차량 업그레이드 패킷의 길이는 암호화 알고리즘의 패킷 길이의 정수배일 수 있다. 예를 들어, 패킷 길이는 8바이트, 16바이트 또는 128바이트일 수 있습니다. 그러나, 차량의 업그레이드 패키지의 길이는 일반적으로 무작위이며 패킷 길이의 정수 배수가 아닐 수 있다. 따라서, 차량의 업그레이드 패키지에 패딩 부분을 추가하여 차량의 업그레이드 패키지의 전체 길이가 패킷 길이의 정수배가 되도록 할 수 있다. 또한, 차량의 업그레이드 패키지는 길이가 암호화 알고리즘의 패킷 길이의 정수배인 복수의 데이터 블록으로 분할된다. 예를 들어, 패킷 길이가 128바이트인 경우, 제1 데이터 블록과 제2 데이터 블록의 길이는 모두 128*n일 수 있으며, 여기서 n은 자연수이다.
본 출원의 이 실시예에서, 차량 업그레이드 패킷을 길이가 패킷 길이의 정수배인 데이터 블록으로 분할함으로써, 디캡슐레이터가 암호화된 패킷을 처리하는 동안 복호화에서 패킷 통합을 위한 시간을 추가로 소비하지 않는 것이 보장될 수 있다. 이는 타이밍 공격에 효과적으로 저항하여, 암호화된 패킷의 기밀성 보호 및 무결성 보호를 보장한다.
선택적인 구현에서, 제1 단말이 OTA 서버에 연결될 때, 제1 단말은 OTA 서버로부터, 제1 데이터 블록 및 제2 데이터 블록의 패킷 길이, 데이터 블록을 암호화하기 위한 키, 및 키의 유효한 시간을 획득할 수 있다. 이 경우, 제1 단말은 키에 기초하여 키의 유효 시간 내에서 제1 데이터 블록 및 제2 데이터 블록을 복호화할 수 있다.
선택적으로, 제1 데이터 블록의 데이터 블록 길이 및 적어도 하나의 제2 데이터 블록의 데이터 블록 길이 각각이 암호화 알고리즘의 패킷 길이의 정수배인 경우, 제1 단말에 의해 제1 데이터 블록 및 제2 데이터 블록을 복호화하는 방식은 다음과 같을 수 있다:
제1 단말이 데이터 블록(제1 데이터 블록 또는 제2 데이터 블록을 포함)을 수신할 때마다, 제1 단말은 수신된 데이터 블록을 즉시 복호화한다. 이 경우, 제1 단말이 마지막 데이터 블록을 수신하면, 제1 단말은 이전에 수신한 데이터 블록의 복호화를 완료했을 수 있다. 따라서, 제1 단말은 모든 데이터 블록의 복호화를 완료하기 위해 마지막 데이터 블록을 복호화하는 시간만 기다리면 된다. 즉, 본 출원의 이 실시예에서, 제1 단말은 데이터 블록을 수신하는 동안 데이터 블록을 복호화한다. 따라서, 제1 단말이 모든 데이터 블록을 수신한 후 모든 데이터 블록을 함께 복호화하는 방법과 비교하여, 본 실시예의 방법은 복호화 효율을 개선하고 업그레이드 패키지 다운로드 시간을 줄일 수 있다.
제1 단말은 대안적으로 모든 데이터 블록을 수신한 후에 모든 데이터 블록(제1 데이터 블록 또는 제2 데이터 블록을 포함)을 함께 복호화할 수 있다는 것을 이해할 수 있다. 이것은 본 출원의 이 실시예에서 특별히 제한되지 않는다.
선택적으로, 제1 데이터 블록 및 제2 데이터 블록은 각각 차량 시스템을 업그레이드하기 위한 업그레이드 패키지를 생성하는 서버의 서명을 포함한다. 예를 들어, 차량 시스템 업그레이드를 위한 전체 업그레이드 패키지에 대해 블록 분할을 수행하기 전에, OTA 서버는 업그레이드 패키지에 서명하거나 공개 키 암호화를 기반으로 업그레이드 패키지의 콘텐츠를 디지털 서명할 수 있다. 서명은 OTA 서버에 대응하는 식별자일 수 있다. 예를 들어, 서명은 OTA 서버의 장치 식별자 또는 OTA 서버를 운용하는 사업자의 식별자일 수 있다. 대안적으로, 서명은 차량 제공자의 식별자 등을 포함할 수 있다. 또한, 블록 분할 시, 제1 데이터 블록과 제2 데이터 블록에 서명이 추가된다. 이러한 방식으로, 제1 데이터 블록 및 제2 데이터 블록을 획득할 때, 제1 단말은 제1 데이터 블록 및 제2 데이터 블록에 포함된 서명에 기초하여, 제1 데이터 블록 및 제2 데이터 블록이 제1 단말에 의해 허용된 OTA 서버에 의해 전송되었는지 여부를 결정할 수 있다. 제1 데이터 블록 및 제2 데이터 블록에 포함된 서명이 OTA 서버의 서명이 아닌 경우, 제1 데이터 블록 및 제2 데이터 블록은 폐기될 수 있고, OTA 서버의 서명을 포함하는 제1 데이터 블록 및 제2 데이터 블록이 다시 얻어질 수 있다. 이러한 방식으로, 제1 단말은 다른 장치에서 전송된 안전하지 않은 데이터 블록을 수신하는 것을 방지함으로써 데이터 블록 전송의 보안을 향상시킨다.
이에 대응하여, 제1 데이터 블록 및 제2 데이터 블록은 각각 차량 업그레이드를 위한 업그레이드 패키지를 생성하는 서버의 서명을 포함한다. 제1 단말은 제1 데이터 블록의 서명이 차량의 업그레이드 패키지를 다운로드하기 위한 서버의 서명임을 제1 단말이 확인한 제1 시간에서 제1 데이터 블록을 복호화하기 시작하고 제2 시간에서 제2 데이터 블록을 수신하되, 제1 시간은 제2 시간보다 빠르고, 또는 제1 단말은 제2 데이터 블록의 서명이 차량의 업그레이드 패키지를 다운로드하기 위한 서버의 서명임을 제1 단말이 확인하는 제3 시간에서 제2 데이터 블록을 복호화하기 시작하고, 제4 시간에서 제1 데이터 블록을 수신하되, 제3 시간은 제4 시간보다 빠르다.
예를 들어, 도 3은 본 출원의 실시예에 따라 차량의 업그레이드 패키지를 처리하는 방법이 적용될 수 있는 특정 업그레이드 시스템을 도시한다. 도 3에 도시된 바와 같이, 업그레이드 시스템은 서버(30), 제1 단말(31) 및 제2 단말(32)를 포함한다. 제2 단말(320), 제2 단말(321) 및 제2 단말(322)로 각각 번호가 매겨진 3개의 제2 단말(32)이 있다.
본 출원의 이 실시예에서, 서버(30)는 OTA 서버일 수 있다. 서버(30)는 대안적으로 프록시 서버일 수 있다. 예를 들어, 프록시 서버는 차량 플릿을 제공하는 서버일 수 있다. 서버(30)가 프록시 서버인 경우, 프록시 서버는 먼저 양방향 인증을 통해 OTA 서버와 보안 통신을 수립하고, 프록시 서버는 차량의 하드웨어 및 소프트웨어 정보를 OTA 서버로 전송할 수 있다. OTA 서버는 차량의 업그레이드 패키지를 생성한 후 프록시 서버로 차량의 업그레이드 패키지를 전달할 수 있다. OTA 서버는 대안적으로 차량의 업그레이드 패키지를 블록으로 분할하고 블록을 복수의 프록시 서버에 전달할 수 있으며, 복수의 프록시 서버는 전술한 P2P 방식으로 차량의 업그레이드 패키지를 획득한다. 이것은 본 출원의 이 실시예에서 특별히 제한되지 않는다.
본 출원의 이 실시예에서, 제1 단말 및 제2 단말은 모두 차량일 수 있다. 도 4는 차량의 차량 탑재 장치의 로직 구조의 개략도이다. 도 4의 차량 탑재 장치는 차량에 포함된 차량 탑재 장치의 전부 또는 일부일 수 있다. 이러한 차량 탑재 장치는 여러 도메인으로 그룹화될 수 있으며, 각 도메인은 하나 이상의 차량 탑재 장치를 포함하고, 각 도메인은 도메인 관리자를 포함하고, 도메인 관리자는 도메인 제어기라고도 할 수 있다. 예를 들어, 모바일 데이터 센터(Mobile Data Center, MDC), 하나 이상의 센서(sensors), 지구 측위 시스템(Global Positioning System, GPS)은 도메인에 속하고, MDC는 해당 도메인의 도메인 제어기이다. 차량 제어 유닛(Vehicle Control Unit, VCU), 하나 이상의 전자 제어 유닛(Electronic Control Unit, ECU), 무선 전력 전송(wireless power transmission, WPT) 장치 등은 도메인에 속하며, VCU는 해당 도메인의 도메인 제어기이다. 휴먼 머신 인터페이스(Human Machine Interface, HMI)와 하나 이상의 ECU는 도메인에 속하고 HMI는 해당 도메인의 도메인 제어기이다. 차체 제어 모듈(Body Control Module, BCM), 하나 이상의 ECU, 수동 진입 수동 시동(Passive Entry Passive Start, PEPS) 등은 도메인에 속하며, BCM은 해당 도메인 내의 도메인 제어기이다. 도메인 제어기는 게이트웨이(gateway, GW)에 연결되고, 게이트웨이는 온보드 진단(on-board diagnostics, OBD) 시스템, 차량 인터넷 내의 차량 통신 단말(텔레매틱스 박스, T-Box), 및 다른 장치에 연결된다. 예를 들어, 도메인 제어기는 게이트웨이를 통해 T-Box와 같은 장치와 통신할 수 있고, 도메인 내 장치는 도메인 제어기를 통해 게이트웨이와 같은 장치와 통신할 수 있다.
선택적인 구현에서, 차량은 T-Box를 사용하여 차량의 업그레이드 패키지를 다운로드하고, 차량의 업그레이드 패키지의 소스를 결정하고, 상기 차량의 업그레이드 패키지가 OTA 서버에 의해 전달된 것으로 결정된 후, 차량은 업그레이드 패키지에 대응하는 장치 번호에 기초하여, 차량의 해당 차량 탑재 장치로 차량의 업그레이드 패키지를 포워딩할 수 있다. 컴퓨팅 및 저장 능력이 비교적 강한 차량 탑재 장치(예컨대, MDC, HMI)는 자체적으로 패키징을 수행할 수 있어 T-Box의 저장 리소스 소모를 줄일 수 있다. 패키징을 수행한 후, 차량의 차량 탑재 부품은 업그레이드 패키지에 대한 서명 검증을 더 수행할 수 있고, 차량의 업그레이드 패키지가 OTA 서버에 의해 전달된 것으로 판단한 후 업그레이드 설치 등의 작업을 수행할 수 있다. 이렇게 하면 업그레이드 패키지의 안정성이 향상될 수 있다.
본 출원의 본 실시예에서는, 제1 단말이 제1 차량이고, 제2 단말이 제2 차량인 예가 사용된다. 도 5에 도시된 바와 같이, 차량의 업그레이드 패키지를 처리하는 방법의 선택적 특정 구현 단계는 다음과 같을 수 있다.
단계 S301: 제1 차량은 서버로부터 하나 이상의 제1 데이터 블록을 획득하고, 제2 차량은 서버로부터 하나 이상의 제2 데이터 블록을 획득한다.
단계 S302: 제1 차량은 제2 차량으로부터 하나 이상의 제2 데이터 블록을 획득한다.
단계 S303: 제1 차량은 획득한 제1 데이터 블록 및 획득한 제2 데이터 블록에 기초하여 차량의 업그레이드 패키지를 획득한다.
본 출원의 이 실시예에서, 서버에 의해 차량의 업그레이드 패키지를 블록으로 분할하는 방법 및 제1 차량에 의해 제1 데이터 블록 및 제2 데이터 블록을 획득하는 방법에 대해서는, 도 2에 대응하는 실시예의 설명을 참조한다. 자세한 내용은 여기에서 다시 설명하지 않는다.
도 3에 도시된 바와 같이, 본 출원의 이 실시예의 선택적 적용 시나리오에서, 서버(30)는 차량 플릿 서버이고, 차량 플릿 서버는 차량 플릿 서버에 의해 서빙되는 차량 플릿(예를 들어, 제1 차량(31), 제2 차량(320), 제2 차량(321), 및 제2 차량(322)을 포함함)에 의해 사용되는 차량의 업그레이드 패키지를 OTA 서버로부터 미리 획득한다. 또한, 차량 플릿의 일상적인 유지보수 시, 무선 피델리티(Wireless-Fidelity, Wi-Fi) 네트워크 연결 등의 경우, 제1 차량(31), 제2 차량(320), 제2 차량(321) 및 제2 차량(322)은 차량 플릿 서버에 연결된다. 차량 플릿 서버는 업그레이드 패키지 다운로드 알림을 수신하면, 제1 차량(31), 제2 차량(320), 제2 차량(321) 및 제2 차량(322)과 양방향 인증(예컨대, PKI 기반 인증 방식)을 수행하고, 인증에 성공한 후, 업그레이드 패키지의 암호화 키 k를 암호화(차량의 공개 키를 사용하여 업그레이드 패키지의 암호화 키 k를 암호화)하여, 암호화된 암호화 키를 제1 차량(31), 제2 차량(320), 제2 차량(321) 및 제2 차량(322)에 전달한다. 예를 들어, 제1 차량(31)이 차량의 업그레이드 패키지의 제1 부분을 다운로드한다면, 제2 차량(320)은 차량의 업그레이드 패키지의 제2 부분을 다운로드하고, 제2 차량(321)은 차량의 업그레이드 패키지의 제3 부분을 다운로드하고, 제1 차량(31)은 제2 차량(320)으로부터 차량의 업그레이드 패키지의 제2 부분을 다운로드할 수 있고, 제2 차량(321)으로부터 차량의 업그레이드 패키지의 제3 부분을 다운로드할 수 있으며, 더 나아가 키 k를 사용하여 복호화를 통해 차량의 완전한 업그레이드 패키지를 획득한다.
제2 차량(320)은 또한 제1 차량(31) 및 제2 차량(321)으로부터 차량의 완전한 업그레이드 패키지를 얻을 수 있고, 제2 차량(321)은 또한 제1 차량(31) 및 제2 차량(320)으로부터 차량의 완전한 업그레이드 패키지를 얻을 수 있음을 이해할 수 있다.
이 경우, 제1 차량(31), 제2 차량(320) 또는 제2 차량(321)이 차량의 완전한 업그레이드 패키지를 획득한 후, 제2 차량(322)은 제1 차량(31), 제2 차량(320) 또는 제2 차량(321)으로부터 차량의 업그레이드 패키지를 획득할 수 있다. 각 차량이 차량의 업그레이드 패키지를 다운로드하는 특정 프로세스는 본 출원의 이 실시예에서 제한되지 않는다.
본 출원의 이 실시예에서, 차량 플릿 서버는 프록시 서버로 사용되어 차량이 유지 보수 또는 다른 프로세스 동안 편리한 차량 업그레이드를 구현할 수 있게 한다.
선택적으로, 차량의 업그레이드 패키지의 안정성을 더욱 개선하고 차량의 잘못된 업그레이드 패키지가 복수의 차량에 전달되는 것을 방지하기 위해, 단계 S301이 수행되기 전에, 차량의 업그레이드 패키지에 대한 성능 테스트가 수행될 수 있다. 예를 들어, 차량 A를 이용하여 서버(30)로부터 차량의 업그레이드 패키지를 먼저 획득한 후, 차량 A는 차량의 업그레이드 패키지를 기반으로 업데이트를 수행할 수 있다. 업데이트가 성공하면, 차량 A는 업데이트 성공 메시지를 서버(30)에 전송하고, 그리고 나서 단계 S301 및 후속 단계들이 더 수행된다. 이것은 성공적인 차량 업그레이드의 가능성을 증가시킬 수 있다.
예를 들어, 도 6은 본 출원의 실시예에 따라 차량의 업그레이드 패키지를 처리하는 방법이 적용될 수 있는 특정 업그레이드 시스템을 도시한다. 도 6에 도시된 바와 같이, 업그레이드 시스템은 서버(60), 제1 단말(61) 및 제2 단말(62)을 포함한다. 제2 단말(620), 제2 단말(621) 및 제2 단말(622)로 각각 번호가 매겨진 3개의 제2 단말(62)이 있다.
본 출원의 이 실시예에서, 서버(60)는 OTA 서버일 수 있다. 서버(60)는 대안적으로 프록시 서버일 수 있다. 서버(60)가 프록시 서버인 경우, 프록시 서버는 먼저 양방향 인증을 통해 OTA 서버와 보안 설정을 수립하고, 그런 다음 프록시 서버는 차량 보조 장치에 의해 제공되는 차량의 하드웨어 및 소프트웨어 정보를 OTA 서버로 전송한다. OTA 서버는 차량의 업그레이드 패키지를 생성한 후 프록시 서버로 차량의 업그레이드 패키지를 전달할 수 있다. OTA 서버는 대안적으로 차량의 업그레이드 패키지를 블록으로 분할하고 블록을 복수의 프록시 서버에 전달할 수 있으며, 복수의 프록시 서버는 전술한 P2P 방식으로 차량의 업그레이드 패키지를 획득한다. 이것은 본 출원의 이 실시예에서 특별히 제한되지 않는다.
본 출원의 이 실시예에서, 제1 단말이 제1 차량 보조 장치이고 제2 단말이 제2 차량 보조 장치인 예가 사용된다. 제2 차량 보조 장치는 차량 충전을 위한 장치(예컨대, 충전 더미), 이동 단말 등일 수 있다. 도 7에 도시된 바와 같이, 차량의 업그레이드 패키지를 처리하는 방법의 선택적 특정 구현 단계는 다음과 같을 수 있다.
단계 S701: 제1 차량 보조 장치는 서버로부터 하나 이상의 제1 데이터 블록을 획득하고, 제2 차량 보조 장치는 서버로부터 하나 이상의 제2 데이터 블록을 획득한다.
단계 S702: 제1 차량 보조 장치는 제2 차량 보조 장치로부터 하나 이상의 제2 데이터 블록을 획득한다.
단계 S703: 제1 차량 보조 장치는 획득된 제1 데이터 블록 및 획득된 제2 데이터 블록에 기초하여 차량의 업그레이드 패키지를 획득한다.
본 출원의 이 실시예에서, 서버에 의해 차량의 업그레이드 패키지를 블록으로 분할하는 방법 및 제1 차량 보조 장치에 의해 제1 데이터 블록 및 제2 데이터 블록을 획득하는 방법에 대해서는 도 2에 대응하는 실시예에서의 설명을 참조한다. 자세한 내용은 여기에서 다시 설명하지 않는다.
도 6에 도시된 바와 같이, 본 출원의 이 실시예의 선택적 적용 시나리오에서, 서버(60)는 OTA 서버이다. OTA 서버는 차량의 업그레이드 패키지를 생성하고, 차량의 업그레이드 패키지가 다운로드될 필요가 있음을 제1 차량 보조 장치(61), 제2 차량 보조 장치(620), 제2 차량 보조 장치(621), 제2 차량 보조 장치(622)에 더 통지한다. OTA 서버는 제1 차량 보조 장치(61), 제2 차량 보조 장치(620), 제2 차량 보조 장치(621) 및 제2 차량 보조 장치(622)와 양방향 인증(예컨대, PKI 기반 인증 방식)을 수행하고, 인증에 성공한 후, 키 k를 이용하여 암호화된 데이터 블록을 제1 차량 보조 장치(61), 제2 차량 보조 장치(620), 제2 차량 보조 장치(621), 제2 차량 보조 장치(622)로 전달한다. 예를 들어, 제1 차량 보조 장치(61)가 차량의 업그레이드 패키지의 제1 부분을 다운로드하고, 제2 차량 보조 장치(620)는 차량의 업그레이드 패키지의 제2 부분을 다운로드하며, 제2 차량 보조 장치(621)는 차량의 업그레이드 패키지의 제3 부분을 다운로드하는 경우, 제1 차량 보조 장치(61)는 차량의 업그레이드 패키지의 제2 부분을 제2 차량 보조 장치(620)로부터 다운로드할 수 있고, 차량의 업그레이드 패키지의 제3 부분을 제2 차량 보조 장치(621)로부터 다운로드할 수 있으며, 더 나아가 키 k를 사용하여 복호화를 통해 차량의 완전한 업그레이드 패키지를 획득한다.
제2 차량 보조 장치(620)는 또한 제1 차량 보조 장치(61) 및 제2 차량 보조 장치(621)로부터 차량의 완전한 업그레이드 패키지를 얻을 수 있고, 제2 차량 보조 장치(621)는 또한 제1 차량 보조 장치(61) 및 제2 차량 보조 장치(620)로부터 차량의 완전한 업그레이드 패키지를 얻을 수 있다는 것을 이해할 수 있다.
이 경우, 제1 차량 보조 장치(61), 제2 차량 보조 장치(620), 또는 제2 차량 보조 장치(621)가 차량의 완전한 업그레이드 패키지를 획득한 후, 제2 차량 보조 장치(622)는 제1 차량 보조 장치(61), 제2 차량 보조 장치(620) 또는 제2 차량 보조 장치(621)로부터 차량의 업그레이드 패키지를 획득한다. 각 차량 보조 장치가 차량의 업그레이드 패키지를 다운로드하는 특정 프로세스는 본 출원의 본 실시예에서 제한되지 않는다.
본 출원의 이 실시예에서, 예를 들어, 업그레이드 알림을 수신한 후, 차량(63)은 차량의 업그레이드 패키지의 암호화 키 k를 획득하기 위해 OTA 서버에 대한 연결을 수립할 수 있다. 차량(63)이 제1 차량 보조 장치(61), 제2 차량 보조 장치(620), 제2 차량 보조 장치(621) 또는 제2 차량 보조 장치(622)를 이용하여 충전 중인 경우, 제1 차량 보조 장치(61), 제2 차량 보조 장치(620), 제2 차량 보조 장치(621), 또는 제2 차량 보조 장치(622)는 차량에 의해 전송된 업그레이드 패키지 획득 요청을 수신할 수 있고 차량과 양방향 인증을 수행할 수 있다. 그러면, 제1 차량 보조 장치(61), 제2 차량 보조 장치(620), 제2 차량 보조 장치(621) 또는 제2 차량 보조 장치(622)는 차량의 암호화된 업그레이드 패키지를 차량으로 전송할 수 있다. 차량(63)은 차량의 업그레이드 패키지를 획득하기 위해 키 k를 사용하여 차량의 암호화된 업그레이드 패키지를 복호화한다. 이와 같이, 차량(63)은 충전 중에 차량의 업그레이드 패키지를 다운로드할 수 있다. 차량을 충전하는 동안, 차량이 일반적으로 정지 상태에 있기 때문에 일반적으로 비교적 양호한 네트워크 환경이 있을 수 있고, 차량이 충전 보조 장치에 연결되어 있어 차량의 전력 부족으로 인한 차량의 업그레이드 패키지 다운로드 중단과 같은 현상을 방지할 수 있음을 이해할 수 있다. 따라서, 차량 업그레이드의 사용자 경험을 효과적으로 개선할 수 있다.
선택적으로, 차량의 업그레이드 패키지의 안정성을 더욱 개선하고 차량의 잘못된 업그레이드 패키지가 복수의 차량에 전달되는 것을 방지하기 위해, 단계 S701이 수행되기 전에 차량의 업그레이드 패키지에 대해 정확성 테스트가 수행될 수 있다. 예를 들어, 차량 A를 이용하여 제1 차량 보조 장치(61), 제2 차량 보조 장치(620), 제2 차량 보조 장치(621) 또는 제2 차량 보조 장치(622)로부터 차량의 업그레이드 패키지를 먼저 획득한 후, 차량 A는 차량의 업그레이드 패키지를 기반으로 업데이트를 수행한다. 업데이트가 성공하면, 차량 A는 제1 차량 보조 장치(61), 제2 차량 보조 장치(620), 제2 차량 보조 장치(621) 또는 제2 차량 보조 장치(622)로 업데이트 성공 메시지를 전송한 후, S701 단계 및 후속 단계들이 더 수행된다. 이는 차량 내 시스템을 성공적으로 업그레이드할 확률을 높일 수 있다.
도 8은 본 출원의 실시예에 따른 제1 단말의 구조의 개략도이다. 제1 단말은 수신 모듈(801) 및 처리 모듈(802)을 포함한다. 수신 모듈은 서버로부터 하나 이상의 제1 데이터 블록을 수신하도록 구성되며, 여기서 제1 데이터 블록은 차량 업그레이드에 사용된다. 처리 모듈은: 제1 단말에 의해, 제2 단말로부터 하나 이상의 제2 데이터 블록을 획득하고- 여기서, 제2 데이터 블록은 차량 내 시스템을 업그레이드하는 데 사용되고 제2 데이터 블록은 서버에 의해 제2 단말로 전송됨 -, 제1 데이터 블록 및 제2 데이터 블록에 기초하여 차량의 업그레이드 패키지를 획득하도록 구성된다.
가능한 설계에서, 제1 데이터 블록 및 제2 데이터 블록 모두는 암호화된 데이터 블록이고, 제1 데이터 블록의 데이터 블록 길이 및 적어도 하나의 제2 데이터 블록의 데이터 블록 길이 각각은 암호화 알고리즘의 패킷 길이의 정수배이다.
가능한 설계에서, 처리 모듈은 구체적으로: 제1 데이터 블록을 제1 시간에 복호화하기 시작하고 제2 데이터 블록을 제2 시간에 수신하고- 여기서, 제1 시간은 제2 시간보다 빠름 -, 또는 제2 데이터 블록을 제3 시간에 복호화하기 시작하고 제4 시간에 제1 데이터 블록을 수신하도록 구성되며, 제3 시간은 제4 시간보다 빠르다.
가능한 설계에서, 제1 데이터 블록 및 제2 데이터 블록은 각각 차량 시스템을 업그레이드하기 위한 업그레이드 패키지를 생성하는 서버의 서명을 포함하고, 처리 모듈은 구체적으로, 제1 데이터 블록의 서명이 차량 시스템을 업그레이드하기 위한 업그레이드 패키지를 생성하는 서버의 서명임을 확인할 때 제1 데이터 블록을 제1 시간에 복호화하기 시작하고, 제2 데이터 블록의 서명이 차량 시스템을 업그레이드하기 위한 업그레이드 패키지를 생성하는 서버의 서명임을 확인할 때 제2 데이터 블록을 제3 시간에 복호화하기 시작하도록 구성된다.
가능한 설계에서, 서버는 차량의 업그레이드 패키지의 분할을 통해 획득된 데이터 블록과 데이터 블록을 수신하는 단말 사이의 연관 관계를 저장하고, 처리 모듈은 구체적으로, 연관 관계에 기초하여 데이터 블록 획득 요청을 제2 단말에 전송하고, 데이터 블록 획득 요청에 응답하여 제2 단말에 의해 반환된 하나 이상의 제2 데이터 블록을 수신하도록 구성된다.
가능한 설계에서, 서버는 프록시 서버이고, 차량의 업그레이드 패키지는 무선(OTA) 서버로부터 프록시 서버에 의해 획득되고, 제1 단말은 차량이다.
가능한 설계에서, 제1 단말은 충전 더미이다.
가능한 설계에서, 수신 모듈은 차량에 의해 전송된 업그레이드 패키지 획득 요청을 수신하도록 추가로 구성되며, 처리 모듈은 또한, 차량이 충전 더미의 안전 검증에 성공한 경우, 업그레이드 패키지 획득 요청에 기초하여 차량의 업그레이드 패키지를 차량으로 반환하도록 구성된다.
가능한 설계에서, 수신 모듈은 구체적으로, 제1 단말이 서버와의 보안 인증에 성공할 때 서버로부터 제1 데이터 블록을 제1 단말에 의해 수신하도록 구성된다.
이 실시예의 장치는 전술한 방법 실시예에서 제1 단말에 의해 수행되는 단계들을 수행하도록 상응하게 구성될 수 있다. 장치의 구현 원리 및 기술적 효과는 전술한 방법과 유사하므로 여기서 다시 설명하지 않는다.
도 9는 본 출원의 실시예에 따른 제1 단말의 구조의 개략도이다. 제1 단말은 처리 모듈(901) 및 전송 모듈(902)을 포함한다. 처리 모듈은 차량의 업그레이드 패키지를 복수의 데이터 블록으로 분할하도록 구성된다. 전송 모듈은 복수의 데이터 블록을 적어도 하나의 단말에 배포하도록 구성되며, 여기서 각 단말은 해당 단말에 의해 수신된 데이터 블록 및 적어도 하나의 단말 중의 다른 단말로부터의 데이터 블록에 기초하여 차량의 업그레이드 패키지를 획득하도록 구성된다.
가능한 설계에서, 처리 모듈은 구체적으로, 암호화 알고리즘에 따라 차량의 업그레이드 패키지를 암호화하고 차량의 암호화된 업그레이드 패키지를 복수의 데이터 블록으로 분할하도록 구성된다.
가능한 설계에서, 서버는 프록시 서버이고, 처리 모듈은 무선(OTA) 서버로부터 차량의 업그레이드 패키지를 획득하도록 추가로 구성된다.
가능한 설계에서, 처리 모듈은 구체적으로, 차량 획득 요청의 업그레이드 패키지를 무선(OTA) 서버에 전송하도록 구성되며, 여기서 차량 획득 요청의 업그레이드 패키지는 운영체제 유형 및 차량의 버전을 포함하고, 프록시 서버가 OTA 서버와 보안 검증에 성공하면 OTA 서버에 의해 전송된 차량의 업그레이드 패키지를 수신하며, 여기서 차량의 업그레이드 패키지는 운영체제 유형 및 차량의 버전에 따라 OTA 서버에 의해 생성된다.
가능한 설계에서, 처리 모듈은 차량의 업그레이드 패키지의 분할을 통해 획득된 데이터 블록과 데이터 블록을 수신하는 단말 사이의 연관 관계를 기록하도록 추가로 구성된다.
이 실시예의 장치는 전술한 방법 실시예에서 서버에 의해 수행되는 단계를 수행하도록 상응하게 구성될 수 있다. 장치의 구현 원리 및 기술적 효과는 전술한 방법과 유사하므로 여기서 다시 설명하지 않는다.
도 10은 본 출원에 따른 차량의 업그레이드 패키지 처리 장치의 하드웨어 구조의 개략도이다. 도 10을 참조하면, 차량의 업그레이드 패키지 처리 장치는 메모리(1001), 프로세서(1002) 및 통신 인터페이스(1003)를 포함한다. 메모리(1001), 프로세서(1002) 및 통신 인터페이스(1003)는 서로 통신할 수 있다. 예를 들어, 메모리(1001), 프로세서(1002), 및 통신 인터페이스(1003)는 통신 버스(1004)를 이용하여 서로 통신할 수 있다. 메모리(1001)는 컴퓨터 프로그램을 저장하도록 구성된다. 프로세서(1002)는 컴퓨터 프로그램을 실행하여 전술한 방법 실시예에서 설명된 방법을 구현한다.
선택적으로, 통신 인터페이스(1003)는 전송기 및/또는 수신기를 더 포함할 수 있습니다.
선택적으로, 프로세서는 중앙 처리 장치(central processing unit, CPU)일 수 있거나, 다른 범용 프로세서, 디지털 신호 프로세서(digital signal processor, DSP), 애플리케이션 특정 집적 회로(application-specific integrated circuit, ASIC) 등일 수 있다. 범용 프로세서는 마이크로프로세서일 수 있거나, 프로세서는 임의의 통상적인 프로세서 등일 수 있다. 본 출원을 참조하여 개시된 방법의 단계들은 하드웨어 프로세서에 의해 직접 구현될 수 있거나, 프로세서 내의 하드웨어 및 소프트웨어 모듈의 조합에 의해 구현될 수 있다.
본 출원은 컴퓨터 판독가능 저장 매체를 제공한다. 컴퓨터 판독가능 저장매체는 컴퓨터 프로그램을 저장하도록 구성되고, 컴퓨터 프로그램은 전술한 방법 실시예에서 설명된 방법을 구현하는 데 사용된다.
본 출원은 도 8에 도시된 제1 단말 및 도 9에 도시된 서버를 포함하는 통신 시스템을 더 제공한다.
본 출원은 시스템 칩을 제공한다. 시스템 칩은 본 출원의 실시예에서 설명된 기능을 구현할 시 통신 장치를 지원하도록 구성된다(예를 들어, 제1 단말은 서버로부터 하나 이상의 제1 데이터 블록을 수신하고, 여기서 제1 데이터 블록은 차량 업그레이드에 사용되고, 제1 단말은 제2 단말로부터 하나 이상의 제2 데이터 블록을 획득하고, 여기서 제2 데이터 블록은 차량 내 시스템을 업그레이드하는 데 사용되며, 제2 데이터 블록은 서버에 의해 제2 단말로 전송되며, 제1 단말은 제1 데이터 블록 및 제2 데이터 블록에 기초하여 차량의 업그레이드 패키지를 획득한다). 칩은 구체적으로 칩 시스템에서 사용되며, 칩 시스템은 칩을 포함할 수도 있고, 칩과 별도의 다른 장치를 포함할 수도 있다. 전술한 방법이 제1 장치에서의 칩을 사용하여 구현되는 경우, 칩은 처리 유닛을 포함한다. 또한, 칩은 통신 유닛을 더 포함할 수 있다. 처리 유닛은 예를 들어 프로세서일 수 있다. 칩이 통신 유닛을 포함하는 경우, 통신 유닛은, 예를 들면, 입/출력 인터페이스, 핀, 회로 등이 될 수 있다. 처리 유닛은 본 출원의 실시예에서 각각의 처리 모듈에 의해 수행되는 모든 또는 일부 동작을 수행하고, 통신 유닛은 대응하는 수신 또는 전송 동작을 수행할 수 있다. 다른 특정 실시예에서, 본 출원에서 수신 장치의 처리 모듈은 칩의 처리 장치일 수 있고, 제어 장치의 수신 모듈 또는 전송 모듈은 칩의 통신 유닛이다.
본 출원의 실시예는 본 출원의 실시예에 따른 방법, 장치(시스템), 및 컴퓨터 프로그램 제품의 흐름도 및/또는 블록도를 참조하여 설명된다. 컴퓨터 프로그램 명령어는 순서도 및/또는 블록도의 각 절차 및/또는 각 블록과, 순서도 및/또는 블록도의 절차 및/또는 블록의 조합을 구현하는 데 사용될 수 있음을 이해해야 한다. 이러한 컴퓨터 프로그램 명령어는 범용 컴퓨터, 전용 컴퓨터, 임베디드 프로세서, 또는 머신을 생성하기 위한 임의의 다른 프로그래밍 가능한 데이터 처리 장치의 처리 유닛에 제공될 수 있어, 컴퓨터 또는 임의의 다른 프로그래밍 가능한 데이터 처리 장치의 처리 유닛에 의해 실행되는 명령어는 흐름도의 하나 이상의 프로세스 및/또는 블록도의 하나 이상의 블록에서 특정 기능을 구현하기 위한 장치를 생성한다.
이러한 컴퓨터 프로그램 명령어는 또한 컴퓨터 또는 다른 프로그램 가능한 데이터 처리 장치가 특정 방식으로 작동하도록 지시할 수 있도록 컴퓨터 판독 가능한 메모리에 저장되어, 이 컴퓨터 판독 가능한 메모리에 저장된 명령어는 명령 장치를 포함하는 아티팩트를 생성할 수 있다. 명령 장치는 흐름도의 하나 이상의 절차 및/또는 블록도의 하나 이상의 블록에서 특정 기능을 구현한다.
이러한 컴퓨터 프로그램 명령어는 컴퓨터 또는 다른 프로그램 가능한 데이터 처리 장치에 로드되어, 일련의 작업 및 단계가 컴퓨터 또는 다른 프로그램 가능한 장치에서 수행되어, 컴퓨터 구현 처리를 생성할 수 있다. 따라서, 컴퓨터 또는 다른 프로그래밍 가능한 장치에서 실행되는 명령어는 흐름도의 하나 이상의 절차 및/또는 블록도의 하나 이상의 블록에서 특정 기능을 구현하기 위한 단계를 제공한다.
본 출원에 제공된 여러 실시예에서, 개시된 장치 및 방법은 다른 방식으로 구현될 수 있음을 이해해야 한다. 예를 들어, 설명된 장치 실시예는 단지 예일 뿐이다. 예를 들어, 유닛 분할은 단순히 논리적 기능 분할이며 실제 구현 시 다른 분할이 될 수도 있다. 예를 들어, 복수의 유닛 또는 컴포넌트가 다른 시스템으로 결합 또는 통합될 수 있거나, 일부 기능이 무시되거나 수행되지 않을 수 있다. 또한, 표시되거나 논의된 상호 결합 또는 직접 결합 또는 통신 연결은 일부 인터페이스를 통해 구현될 수 있다. 장치 또는 유닛 간의 간접 결합 또는 통신 연결은 전자적, 기계적 또는 기타 형태로 구현될 수 있다.
별도의 부분으로 설명된 유닛은 물리적으로 분리되거나 분리되지 않을 수 있으며, 유닛으로 표시된 부분은 물리적 유닛일 수도 있고 아닐 수도 있고, 한 위치에 있을 수도 있고, 복수의 네트워크 유닛에 분산될 수도 있다. 실시예의 솔루션의 목표를 달성하기 위해 실제 요구 사항에 따라 일부 또는 모든 유닛이 선택될 수 있다.
또한, 본 출원의 실시예에서 기능 유닛은 하나의 처리 유닛으로 통합될 수 있거나, 각각의 유닛이 물리적으로 단독으로 존재할 수 있거나, 또는 둘 이상의 유닛이 하나의 유닛으로 통합될 수 있다. 통합 유닛은 하드웨어의 형태로 구현될 수도 있고, 또는 하드웨어와 소프트웨어 기능 유닛의 형태로 구현될 수도 있다.
전술한 통합 유닛이 소프트웨어 기능 유닛의 형태로 구현되는 경우, 통합 유닛은 컴퓨터 판독 가능한 저장 매체에 저장될 수 있다. 소프트웨어 기능 유닛은 저장 매체에 저장되며, 컴퓨터 장치(개인용 컴퓨터, 서버 또는 네트워크 장치일 수 있음) 또는 프로세서(processor)에게 본 출원의 실시예에서 설명된 방법의 단계의 일부를 수행하도록 지시하기 위한 여러 명령어를 포함한다. 전술한 저장 매체는 USB 플래시 드라이브, 이동식 하드 디스크, 읽기 전용 메모리(read-only memory, ROM), 랜덤 액세스 메모리(random access memory, RAM), 자기 디스크 또는 광 디스크와 같이 프로그램 코드를 저장할 수 있는 임의의 매체를 포함한다.

Claims (35)

  1. 차량의 업그레이드 패키지를 처리하는 방법으로서,
    제1 단말에 의해, 서버로부터 제1 데이터 블록을 수신하는 단계- 상기 제1 데이터 블록은 상기 차량을 업그레이드하는데 사용됨 -와,
    상기 제1 단말에 의해, 제2 단말로부터 제2 데이터 블록을 획득하는 단계- 상기 제2 데이터 블록은 차량 내 시스템을 업그레이드하는데 사용되며, 상기 제2 데이터 블록은 상기 서버에 의해 상기 제2 단말로 전송됨 -와,
    상기 제1 단말에 의해, 상기 제1 데이터 블록 및 상기 제2 데이터 블록에 기초하여 상기 차량의 업그레이드 패키지를 획득하는 단계를 포함하는
    방법.
  2. 제1항에 있어서,
    상기 제1 데이터 블록 및 상기 제2 데이터 블록은 모두 암호화된 데이터 블록이고, 상기 제1 데이터 블록의 길이 및 상기 제2 데이터 블록의 길이는 각각 암호화 알고리즘의 패킷 길이의 정수배인
    방법.
  3. 제2항에 있어서,
    상기 제1 단말에 의해, 상기 제1 데이터 블록 및 상기 제2 데이터 블록에 기초하여 상기 차량의 업그레이드 패키지를 획득하는 상기 단계는,
    상기 제1 단말에 의해, 상기 제1 데이터 블록을 제1 시간에 복호화하기 시작하고, 상기 제1 단말에 의해, 상기 제2 데이터 블록을 제2 시간에 수신하는 단계- 상기 제1 시간은 상기 제2 시간보다 빠름 -와,
    상기 제1 단말에 의해, 상기 제2 데이터 블록을 제3 시간에 복호화하기 시작하고, 상기 제1 단말에 의해, 상기 제1 데이터 블록을 제4 시간에 수신하는 단계를 포함하되, 상기 제3 시간은 상기 제4 시간보다 빠른
    방법.
  4. 제3항에 있어서,
    상기 제1 데이터 블록 및 상기 제2 데이터 블록은 각각 차량 시스템을 업그레이드하기 위한 업그레이드 패키지를 생성하는 서버의 서명을 포함하고,
    상기 제1 단말에 의해, 상기 제1 데이터 블록을 제1 시간에 복호화하기 시작하는 것은,
    상기 제1 데이터 블록의 서명이 상기 차량 시스템을 업그레이드하기 위한 업그레이드 패키지를 생성하는 상기 서버의 서명임을 상기 제1 단말이 확인한 경우, 상기 제1 단말에 의해, 상기 제1 데이터 블록을 상기 제1 시간에 복호화하기 시작하는 것을 포함하고,
    상기 제1 단말에 의해, 상기 제2 데이터 블록을 제3 시간에 복호화하기 시작하는 것은,
    상기 제2 데이터 블록의 서명이 상기 차량 시스템을 업그레이드를 위한 업그레이드 패키지를 생성하는 상기 서버의 서명임을 상기 제1 단말이 확인한 경우, 상기 제1 단말에 의해, 상기 제2 데이터 블록을 상기 제3 시간에 복호화하기 시작하는 것을 포함하는
    방법.
  5. 제1항에 있어서,
    상기 서버는 상기 차량의 업그레이드 패키지를 분할하여 획득된 데이터 블록과 상기 데이터 블록을 수신한 단말 간의 연관 관계를 저장하고,
    상기 제1 단말에 의해, 제2 단말로부터 제2 데이터 블록을 획득하는 상기 단계는,
    상기 제1 단말에 의해, 상기 연관 관계에 기초하여 데이터 블록 획득 요청을 상기 제2 단말로 전송하는 단계와,
    상기 제1 단말에 의해, 상기 데이터 블록 획득 요청에 응답하여 상기 제2 단말에 의해 반환된 상기 제2 데이터 블록을 수신하는 단계를 포함하는
    방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 서버는 프록시 서버이고, 상기 차량의 업그레이드 패키지는 무선(over the air: OTA) 서버로부터 상기 프록시 서버에 의해 획득되고, 상기 제1 단말은 차량인
    방법.
  7. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 제1 단말은 충전 더미(charging pile)인
    방법.
  8. 제7항에 있어서,
    상기 충전 더미에 의해, 차량에 의해 전송된 업그레이드 패키지 획득 요청을 수신하는 단계와,
    상기 차량이 상기 충전 더미의 안전 검증에 성공하면, 상기 충전 더미에 의해, 상기 업그레이드 패키지 획득 요청에 기초하여 상기 차량의 업그레이드 패키지를 상기 차량으로 반환하는 단계를 더 포함하는
    방법.
  9. 제1항 내지 제5항 중 어느 한 항에 있어서,
    제1 단말에 의해, 서버로부터 제1 데이터 블록을 수신하는 상기 단계는,
    상기 제1 단말에 의해, 상기 제1 단말이 상기 서버와의 보안 인증에 성공하면 상기 서버로부터 상기 제1 데이터 블록을 수신하는 단계를 포함하는
    방법.
  10. 차량의 업그레이드 패키지를 처리하는 방법으로서,
    서버에 의해, 상기 차량의 업그레이드 패키지를 복수의 데이터 블록으로 분할하는 단계와,
    상기 서버에 의해, 상기 복수의 데이터 블록을 적어도 하나의 단말에 분배하는 단계를 포함하되, 각 단말은 상기 각 단말에 의해 수신된 데이터 블록 및 상기 적어도 하나의 단말 내의 다른 단말로부터의 데이터 블록에 기초하여 상기 차량의 업그레이드 패키지를 획득하도록 구성되는
    방법.
  11. 제10항에 있어서,
    서버에 의해, 상기 차량의 업그레이드 패키지를 복수의 데이터 블록으로 분할하는 상기 단계는,
    상기 서버에 의해, 암호화 알고리즘에 따라 상기 차량의 업그레이드 패키지를 암호화하고, 상기 차량의 상기 암호화된 업그레이드 패키지를 상기 복수의 데이터 블록으로 분할하는 단계를 포함하는
    방법.
  12. 제10항 또는 제11항에 있어서,
    상기 서버는 프록시 서버이고, 서버에 의해, 상기 차량의 업그레이드 패키지를 블록으로 분할하는 상기 단계 이전에, 상기 방법은,
    상기 프록시 서버에 의해, 무선(over the air: OTA) 서버로부터 상기 차량의 업그레이드 패키지를 획득하는 단계를 더 포함하는
    방법.
  13. 제12항에 있어서,
    상기 프록시 서버에 의해, 무선(OTA) 서버로부터 상기 차량의 업그레이드 패키지를 획득하는 상기 단계는,
    상기 프록시 서버에 의해, 차량 업그레이드 패키지 획득 요청을 상기 무선(OTA) 서버로 전송하는 단계- 상기 차량 업그레이드 패키지 획득 요청은 상기 차량의 운영체제 유형 및 상기 차량의 버전을 포함함 -와,
    상기 프록시 서버가 상기 OTA 서버와 보안 인증에 성공하면, 상기 프록시 서버에 의해, 상기 OTA 서버에 의해 전송된 상기 차량의 업그레이드 패키지를 수신하는 단계- 상기 차량의 업그레이드 패키지는 상기 차량의 운영체제 유형 및 상기 차량의 버전에 기반하여 상기 OTA 서버에 의해 생성됨 -를 포함하는
    방법.
  14. 제10항 내지 제13항 중 어느 한 항에 있어서,
    상기 서버에 의해, 상기 복수의 데이터 블록을 적어도 하나의 단말에 분배하는 상기 단계 이후, 상기 방법은,
    상기 서버에 의해, 상기 차량의 업그레이드 패키지의 분할을 통해 획득된 데이터 블록과 상기 데이터 블록을 수신한 단말 간의 연관 관계를 기록하는 단계를 더 포함하는
    방법.
  15. 제1 단말로서,
    서버로부터 제1 데이터 블록을 수신하도록 구성된 수신 모듈- 상기 제1 데이터 블록은 차량을 업그레이드하는데 사용됨 -과,
    처리 모듈을 포함하되,
    상기 처리 모듈은, 상기 제1 단말에 의해, 제2 단말로부터 제2 데이터 블록을 획득하고- 상기 제2 데이터 블록은 차량 내 시스템을 업그레이드하는 데 사용되며, 상기 제2 데이터 블록은 상기 서버에 의해 상기 제2 단말로 전송됨 -, 상기 제1 데이터 블록 및 상기 제2 데이터 블록에 기초하여 상기 차량의 업그레이드 패키지를 획득하도록 구성된
    제1 단말.
  16. 제15항에 있어서,
    상기 제1 데이터 블록 및 상기 제2 데이터 블록은 모두 암호화된 데이터 블록이고, 상기 제1 데이터 블록의 길이 및 상기 제2 데이터 블록의 길이는 각각 암호화 알고리즘의 패킷 길이의 정수배인
    제1 단말.
  17. 제16항에 있어서,
    상기 처리 모듈은,
    상기 제1 데이터 블록을 제1 시간에 복호화하기 시작하고 상기 제2 데이터 블록을 제2 시간에 수신- 상기 제1 시간은 상기 제2 시간보다 빠름 -하거나, 또는
    상기 제2 데이터 블록을 제3 시간에 복호화하기 시작하고 상기 제1 데이터 블록을 제4 시간에 수신- 상기 제3 시간은 상기 제4 시간보다 빠름 -하도록 구성된
    제1 단말.
  18. 제17항에 있어서,
    상기 제1 데이터 블록 및 상기 제2 데이터 블록은 각각 차량 시스템을 업그레이드하기 위한 업그레이드 패키지를 생성하는 서버의 서명을 포함하고, 상기 처리 모듈은,
    상기 제1 데이터 블록의 서명이 상기 차량 시스템을 업그레이드하기 위한 업그레이드 패키지를 생성하는 상기 서버의 서명임을 확인한 경우, 상기 제1 데이터 블록을 상기 제1 시간에 복호화하기 시작하고,
    상기 제2 데이터 블록의 서명이 상기 차량 시스템을 업그레이드를 위한 업그레이드 패키지를 생성하는 상기 서버의 서명임을 확인한 경우, 상기 제2 데이터 블록을 상기 제3 시간에 복호화하기 시작하도록 더 구성된
    제1 단말.
  19. 제15항에 있어서,
    상기 서버는 상기 차량의 업그레이드 패키지를 분할하여 획득된 데이터 블록과 상기 데이터 블록을 수신한 단말 간의 연관 관계를 저장하고,
    상기 처리 모듈은,
    상기 연관 관계에 기초하여 데이터 블록 획득 요청을 상기 제2 단말로 전송하고,,
    상기 데이터 블록 획득 요청에 응답하여 상기 제2 단말에 의해 반환된 상기 제2 데이터 블록을 수신하도록 더 구성된
    제1 단말.
  20. 제15항 내지 제19항 중 어느 한 항에 있어서,
    상기 서버는 프록시 서버이고, 상기 차량의 업그레이드 패키지는 무선(over the air: OTA) 서버로부터 상기 프록시 서버에 의해 획득되고, 상기 제1 단말은 차량인
    제1 단말.
  21. 제15항 내지 제19항 중 어느 한 항에 있어서,
    상기 제1 단말은 충전 더미인
    제1 단말.
  22. 제21항에 있어서,
    상기 수신 모듈은 차량에 의해 전송된 업그레이드 패키지 획득 요청을 수신하도록 추가로 구성되며,
    상기 처리 모듈은 또한, 상기 차량이 상기 충전 더미의 안전 검증에 성공한 경우, 상기 업그레이드 패키지 획득 요청에 기초하여 상기 차량의 업그레이드 패키지를 상기 차량에 반환하도록 구성된
    제1 단말.
  23. 제15항 내지 제19항 중 어느 한 항에 있어서,
    상기 수신 모듈은, 상기 제1 단말이 상기 서버와의 보안 인증에 성공한 경우, 상기 제1 단말에 의해, 상기 서버로부터 상기 제1 데이터 블록을 수신하도록 구성되는,
    제1 단말.
  24. 서버로서,
    차량의 업그레이드 패키지를 복수의 데이터 블록으로 분할하도록 구성된 처리 모듈과,
    상기 복수의 데이터 블록을 적어도 하나의 단말에 분배하도록 구성된 전송 모듈- 각 단말은 상기 각 단말에 의해 수신된 데이터 블록 및 상기 적어도 하나의 단말 내의 다른 단말로부터의 데이터 블록에 기초하여 상기 차량의 업그레이드 패키지를 획득하도록 구성됨 -을 포함하는
    서버.
  25. 제24항에 있어서,
    상기 처리 모듈은,
    암호화 알고리즘에 따라 상기 차량의 업그레이드 패키지를 암호화하고, 상기 차량의 암호화된 업그레이드 패키지를 상기 복수의 데이터 블록으로 분할하도록 구성된
    서버.
  26. 제24항 또는 제25항에 있어서,
    상기 서버는 프록시 서버이고, 상기 처리 모듈은 무선(OTA) 서버로부터 상기 차량의 업그레이드 패키지를 획득하도록 추가로 구성된
    서버.
  27. 제26항에 있어서,
    상기 처리 모듈은,
    차량 업그레이드 패키지 획득 요청을 상기 무선(OTA) 서버에 전송하고- 상기 차량 업그레이드 패키지 획득 요청은 상기 차량의 운영체제 유형 및 상기 차량의 버전을 포함함 -,
    상기 프록시 서버가 상기 OTA 서버와의 보안 인증에 성공하면, 상기 OTA 서버에 의해 전송된 상기 차량의 업그레이드 패키지를 수신하도록 구성되되, 상기 차량의 업그레이드 패키지는 상기 차량의 운영체제 유형 및 상기 차량의 버전에 기초하여 상기 OTA 서버에 의해 생성되는
    서버.
  28. 제24항 내지 제27항 중 어느 한 항에 있어서,
    상기 처리 모듈은 상기 차량의 업그레이드 패키지의 분할을 통해 획득된 데이터 블록과 상기 데이터 블록을 수신하는 단말 사이의 연관 관계를 기록하도록 더 구성되는
    서버.
  29. 프로세서 및 인터페이스 회로를 포함하는, 차량의 업그레이드 패키지를 처리하기 위한 장치로서,
    상기 인터페이스 회로는 코드 명령어를 수신하고 상기 코드 명령어를 상기 프로세서에 전송하도록 구성되고, 상기 프로세서는 상기 코드 명령어를 실행하여 제1항 내지 제9항 중 어느 한 항에 따른 방법을 수행하도록 구성된,
    장치.
  30. 프로세서 및 인터페이스 회로를 포함하는, 차량의 업그레이드 패키지를 처리하기 위한 장치로서,
    상기 인터페이스 회로는 코드 명령어를 수신하고 상기 코드 명령어를 상기 프로세서에 전송하도록 구성되고, 상기 프로세서는 상기 코드 명령어를 실행하여 제10항 내지 제14항 중 어느 한 항에 따른 방법을 수행하도록 구성된,
    장치.
  31. 메모리 및 프로세서를 포함하는, 차량의 업그레이드 패키지를 처리하는 장치로서,
    상기 프로세서는 상기 메모리 내의 프로그램 명령어를 실행하여, 제1항 내지 제9항 중 어느 한 항에 따른 방법을 구현하는
    장치.
  32. 메모리 및 프로세서를 포함하는, 차량의 업그레이드 패키지를 처리하는 장치로서,
    상기 프로세서는 상기 메모리 내의 프로그램 명령어를 실행하여, 제10항 내지 제14항 중 어느 한 항에 따른 방법을 구현하는
    장치.
  33. 컴퓨터 프로그램을 저장하도록 구성된 판독가능한 컴퓨터 저장 매체로서,
    상기 컴퓨터 프로그램은 제1항 내지 제9항 중 어느 한 항에 따른 방법을 구현하는데 사용되는
    판독가능한 컴퓨터 저장 매체.
  34. 컴퓨터 프로그램을 저장하도록 구성된 판독가능한 컴퓨터 저장 매체로서,
    상기 컴퓨터 프로그램은 제10항 내지 제14항 중 어느 한 항에 따른 방법을 구현하는데 사용되는
    판독가능한 컴퓨터 저장 매체.
  35. 차량의 업그레이드 패키지를 처리하는 시스템으로서,
    제15항 내지 제23항 중 어느 한 항에 따른 제1 단말 및 제24항 내지 제28항 중 어느 한 항에 따른 서버를 포함하는
    차량의 업그레이드 패키지 처리 시스템.
KR1020227018960A 2019-11-14 2020-06-23 차량의 업그레이드 패키지를 처리하는 방법 및 장치 KR20220092606A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201911113667.1A CN112799706A (zh) 2019-11-14 2019-11-14 车辆升级包处理方法和装置
CN201911113667.1 2019-11-14
PCT/CN2020/097666 WO2021093334A1 (zh) 2019-11-14 2020-06-23 车辆升级包处理方法和装置

Publications (1)

Publication Number Publication Date
KR20220092606A true KR20220092606A (ko) 2022-07-01

Family

ID=75803995

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227018960A KR20220092606A (ko) 2019-11-14 2020-06-23 차량의 업그레이드 패키지를 처리하는 방법 및 장치

Country Status (6)

Country Link
US (1) US20220276855A1 (ko)
EP (1) EP4050474A4 (ko)
JP (1) JP2023501665A (ko)
KR (1) KR20220092606A (ko)
CN (1) CN112799706A (ko)
WO (1) WO2021093334A1 (ko)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113626056A (zh) * 2021-08-20 2021-11-09 中国第一汽车股份有限公司 车辆远程升级方法、装置、电子设备、车载终端及存储介质
CN113867751A (zh) * 2021-08-20 2021-12-31 云度新能源汽车有限公司 一种基于充电桩的汽车升级方法、系统和装置
CN113923622A (zh) * 2021-09-30 2022-01-11 重庆长安汽车股份有限公司 一种基于手机蓝牙钥匙升级车载控制器的方法
CN114040381B (zh) * 2021-11-08 2024-07-19 百度在线网络技术(北京)有限公司 加密方法、解密方法、装置及电子设备
WO2023108618A1 (zh) * 2021-12-17 2023-06-22 华为技术有限公司 一种基于空中下载ota技术的升级方法及通信装置
AU2022435902A1 (en) * 2022-01-21 2024-08-01 Zhejiang CFMOTO Power Co., Ltd. Saddle-type vehicle
CN114710765A (zh) * 2022-03-28 2022-07-05 上海优咔网络科技有限公司 一种联网汽车软件升级方法
CN114840236A (zh) * 2022-05-13 2022-08-02 蔚来汽车科技(安徽)有限公司 充电装置、车机系统、数据包处理方法、车辆以及存储介质
CN115277671A (zh) * 2022-06-27 2022-11-01 重庆长安汽车股份有限公司 车辆的ota升级方法、装置、车辆及存储介质
CN115061711A (zh) * 2022-07-04 2022-09-16 海南大学 智能充电桩的升级方法和装置
CN115567496A (zh) * 2022-09-21 2023-01-03 润芯微科技(江苏)有限公司 一种ota升级方法及其系统
CN116418655B (zh) * 2023-06-12 2023-08-08 广汽埃安新能源汽车股份有限公司 一种tbox故障修复方法及系统
CN117009992B (zh) * 2023-07-28 2024-04-16 广州汽车集团股份有限公司 升级包处理方法、装置、电子设备及存储介质

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7194504B2 (en) * 2000-02-18 2007-03-20 Avamar Technologies, Inc. System and method for representing and maintaining redundant data sets utilizing DNA transmission and transcription techniques
JP2004158981A (ja) * 2002-11-05 2004-06-03 Toshiba Corp 通信装置及び通信方法
US7693612B2 (en) * 2005-06-23 2010-04-06 International Business Machines Corporation Method and system for updating code embedded in a vehicle
US8190322B2 (en) * 2009-01-13 2012-05-29 GM Global Technology Operations LLC Autonomous vehicle maintenance and repair system
JP4327900B1 (ja) * 2009-02-16 2009-09-09 株式会社クレオ 情報処理システム、端末装置、送信サーバ装置、情報処理方法、およびプログラム
CN103475710B (zh) * 2013-09-10 2017-05-17 镇江青思网络科技有限公司 基于反馈方式的车辆间合作下载方案
US9069641B2 (en) * 2013-09-17 2015-06-30 Blackberry Limited Updating firmware on mobile devices
US9854062B2 (en) * 2013-12-18 2017-12-26 Panasonic Intellectual Property Management Co., Ltd. Data relay apparatus and method, server apparatus, and data sending method
KR101538331B1 (ko) * 2013-12-20 2015-07-22 전자부품연구원 V2v 및 v2i 협력 통신 기반 차량용 소프트웨어 업데이트 장치 및 그 방법
US20150363210A1 (en) * 2014-06-12 2015-12-17 Ford Global Technologies, Llc Vehicle download by remote mobile device
EP2986043A1 (fr) * 2014-08-13 2016-02-17 Gemalto Sa Procédé d'établissement de sessions OTA entre des terminaux et un serveur OTA, serveur OTA et serveur proxy inverse correspondants
US10755356B1 (en) * 2015-08-12 2020-08-25 State Farm Mutual Automobile Insurance Company System and method for providing customers with rates from insurance providers for purchasing passenger insurance in an autonomous vehicle
US20170274789A1 (en) * 2016-03-25 2017-09-28 Le Holdings (Beijing) Co., Ltd. Charging pile control system, multi-functional charging pile and electric vehicle
WO2018070242A1 (ja) * 2016-10-13 2018-04-19 日立オートモティブシステムズ株式会社 車載ゲートウェイ、鍵管理装置
US10223098B2 (en) * 2017-03-31 2019-03-05 Intel Corporation Method and system to accelerate IoT patch propagation and reduce security vulnerabilities exposure time
EP3619602B1 (en) * 2017-10-03 2021-06-09 Google LLC Update courier for vehicular computing devices
WO2019149599A1 (en) * 2018-01-30 2019-08-08 Volkswagen Aktiengesellschaft Method for distributing a software to a plurality of motor vehicles, corresponding system, motor vehicle, and data storage medium
US10430178B2 (en) * 2018-02-19 2019-10-01 GM Global Technology Operations LLC Automated delivery and installation of over the air updates in vehicles
US10834207B2 (en) * 2018-02-27 2020-11-10 Excelfore Corporation System and method for updating software in an electronic device
US20190294135A1 (en) * 2018-03-22 2019-09-26 Ford Global Technologies, Llc Content delivery to vehicle via charging station
DK201870700A1 (en) * 2018-06-20 2020-01-14 Aptiv Technologies Limited OVER-THE-AIR (OTA) MOBILITY SERVICES PLATFORM
US11228884B2 (en) * 2019-01-16 2022-01-18 Ford Global Technologies, Llc Vehicle-to-vehicle file sharing system and method
US10853495B2 (en) * 2019-03-29 2020-12-01 Microsoft Technology Licensing, Llc Method for patching and updating encrypted disk images in a reliable and secure fashion
US11130419B2 (en) * 2019-09-03 2021-09-28 Yu-Shun Lin Electric vehicle charging system
KR20210028422A (ko) * 2019-09-04 2021-03-12 삼성전자주식회사 전자장치 및 그 제어방법

Also Published As

Publication number Publication date
EP4050474A4 (en) 2022-11-30
US20220276855A1 (en) 2022-09-01
WO2021093334A1 (zh) 2021-05-20
CN112799706A (zh) 2021-05-14
JP2023501665A (ja) 2023-01-18
EP4050474A1 (en) 2022-08-31

Similar Documents

Publication Publication Date Title
KR20220092606A (ko) 차량의 업그레이드 패키지를 처리하는 방법 및 장치
US11985238B2 (en) Vehicle-mounted device upgrade method and related device
US10965450B2 (en) In-vehicle networking
JP7139424B2 (ja) 車両搭載機器アップグレード方法および関連機器
CN112543927B (zh) 一种设备升级方法及相关设备
CN110621014B (zh) 一种车载设备及其程序升级方法、服务器
KR20190095963A (ko) 서비스 지향 아키텍처에 기초하는 집중식 서비스 ecu를 구현하도록 구성된 관련 디바이스들을 갖는 특별히 프로그래밍된 컴퓨팅 시스템들 및 그 사용 방법들
KR101527779B1 (ko) 효율적인 차량용 리프로그래밍 장치 및 그 제어방법
CN112913189B (zh) 一种ota升级方法及装置
JPWO2018070242A1 (ja) 車載ゲートウェイ、鍵管理装置
CN113094062A (zh) 升级方法及装置
CN112534793A (zh) 一种车载设备升级方法及相关装置
JP7497438B2 (ja) 証明書申請方法およびデバイス
US10970398B2 (en) Data provision system, data security device, data provision method, and computer program
US20210126795A1 (en) Remote control of a computing device
CN116419217A (zh) Ota数据升级方法、系统、设备及存储介质
CN114286318B (zh) 一种基于一机一密的ota升级包传输方法
CN110708311A (zh) 下载权限授权方法、装置和服务器
US20240119763A1 (en) In-vehicle communication system, data structure of reprogramming policy metadata, and data structure of download metadata
WO2023006028A1 (zh) 信息处理方法、电子系统、电子设备及存储介质
WO2024066263A1 (zh) 数据接力方法、装置、系统、存储介质、设备及车辆
CN117378169B (zh) 一种密钥生成方法及装置
CN117597683A (zh) 中心装置、车辆侧系统、内容的保护方法以及内容保护用程序
Guštin CAN Bus Security Protocol: lightweight message confidentiality, authentication, and freshness on an automotive bus
CN116954661A (zh) 基于分布式系统的ota升级方法及装置

Legal Events

Date Code Title Description
E902 Notification of reason for refusal