本出願は、情報技術の分野に関し、特に、車載デバイスのアップグレード方法及び関連装置に関する。
オーバ・ザ・エアー(over the air、OTA)は、無線インターフェースを介して電子デバイス内のファームウェアを遠隔管理及び更新するための技術である。OTAアップグレードは、高効率、利便性、低コストである。現在、OTA技術は、相手先ブランド製造業者(original equipment manufacturer、OEM)の車種に展開されており、車両の電子制御ユニット((electronic control unit、ECU)などのファームウェアをアップグレードするために使用される。車両のオンボードユニット(telematics box、Tbox)は、無線リンクを使用することにより、OEMクラウドサーバからリリースされたソフトウェアアップグレードパッケージを取得し、車両のECUなどのファームウェアにソフトウェアアップグレードパッケージを書き込むことができる。
しかし、現時点では、OTAアップグレードのセキュリティが十分に考慮されていないことが明らかであり、ソフトウェアアップグレードパッケージの伝送プロセスにおいてセキュリティリスクが存在する。たとえば、ソフトウェアアップグレードパッケージに含まれる鍵アルゴリズム及びユーザプライバシーなどの重要な情報は、容易に改ざんされ、盗まれる。ソフトウェアアップグレードパッケージの伝送プロセスのセキュリティをどのように改善するかは、当業者によって研究されている課題である。
本出願の実施形態は、アップグレードファイル伝送プロセスのセキュリティを効果的に改善するための車載デバイスアップグレード方法及び関連装置を開示する。
第1の態様によれば、本出願の実施形態は、車載デバイスアップグレード方法を開示する。本方法は、
第1の車載デバイスによって、第1のアルゴリズムに従って第1のデータセグメントを処理して、第1のチェック値を取得することであって、第1のデータセグメントは、第2の車載デバイスをアップグレードするために使用されるアップグレードファイルに含まれる複数のデータセグメントのうちの任意のデータセグメントであり、第1のチェック値は、第2の車載デバイスに送信される、ことと、
第1の鍵を使用することにより第1のデータセグメントを暗号化して、第1の暗号化されたセグメントを取得することと、
第1の暗号化されたセグメントを第2の車載デバイスに送信して、第2の車載デバイスが、第1のアルゴリズムに従って第1のチェック値の検証に成功したときに、第1の鍵を使用することにより第1の暗号化されたセグメントを復号することによって取得された第1のデータセグメントを第2の車載デバイスに記憶するようにすることであって、第1のデータセグメントは、アップグレードのためのアップグレードファイルを形成するために第2の車載デバイスによって使用される、ことと、を含む。
前述の方法では、第2の車載デバイスをアップグレードするために使用されるアップグレードファイル内の複数のデータセグメントのうちの各データセグメントが、別々に暗号化及び送信されて、各データセグメントを盗むリスクを効果的に低減する。追加的に、受信端末(つまり、第2の車載デバイス)は、最後のデータセグメントの伝送が完了した後にのみアップグレードファイル全体を検証する代わりに、各データセグメントに対応するチェック値を検証する必要があり、受信端末が、改ざんされた異常データセグメントを時間内に検出することができ、異常データセグメントを検出した後に、新しいデータセグメントを停止することの停止を適時にトリガすることができるようにし、アップグレードファイル伝送プロセスのセキュリティを効果的に改善する。
第1の態様の任意選択の解決策では、第1の車載デバイスによって、第1のアルゴリズムに従って第1のデータセグメントを処理して、第1のチェック値を取得する前に、本方法は、
ハイパーテキスト・トランスファー・プロトコル・オーバ・セキュア・ソケット・レイヤHTTPSに従って第1の車載デバイスとダウンロードサーバとの間の双方向認証を行うことであって、ダウンロードサーバは、第2の車載デバイスにアップグレードファイルを提供するように構成されている、ことと、
ダウンロードサーバが送信した暗号化されたファイルを受信することであって、暗号化されたファイルは、アップグレードファイルを暗号化することにより取得される、ことと、
プリセットされたアップグレード条件が満たされたときに、暗号化されたファイルを復号して、アップグレードファイルを取得することと、をさらに含む。
アップグレードファイルを提供するダウンロードサーバは、HTTPSプロトコルに従って第1の車載デバイスとの双方向認証を行うサーバであり、アップグレードファイルの送信元が有効であり、不正なアップグレードファイルを第1の車載デバイスに送達する非認証プラットフォームが防止され、攻撃者が、ダウンロードサーバからリリースされ、かつ重要情報を含むアップグレードファイルを上述の第1の車載デバイスから盗むことが防止されることが分かる。追加的に、暗号化されたアップグレードファイルがダウンロードサーバと第1の車載デバイスとの間で送信され、アップグレードファイルを盗むリスクが効果的に低減され、アップグレードファイル伝送プロセスの安全性が効果的に改善されるようにする。
第1の態様の別の任意選択の解決策では、第1のデータセグメントがアップグレードファイル内の複数のデータセグメントのうちの第1のデータセグメントである場合、第1のチェック値は、第1のアルゴリズムの入力として第1のデータセグメントを使用することにより取得される出力データである。
代替的には、第1のデータセグメントがアップグレードファイル内の複数のデータセグメントのうちの第1のデータセグメント以外のデータセグメントである場合、第1のチェック値は、第1のアルゴリズムの入力として第1のデータセグメント及び第2のチェック値を使用することにより取得される出力データであり、第2のチェック値は、第1のアルゴリズムに従って第1のデータセグメントの前のデータセグメントを処理することにより取得される。
アップグレードファイル内の複数のデータセグメントにおいて、第1のデータセグメント以外のデータセグメントに対応するチェック値は、前のデータセグメントに対応するチェック値に関連することが分かる。データセグメントのためのシーケンス検出メカニズムは、ハッシュチェーンを使用することにより実施されて、異常のあるセグメントが書き込みに成功することによるアップグレードファイル・アセンブリ中のエラー発生するのを回避し、ハッシュチェーンを用いた検証値を使用することにより、アップグレードファイルを悪意を持ってクラックすることの困難さを増加させる。
第1の態様の別の任意選択の解決策では、第1の暗号化されたセグメントは、第1の鍵を使用することにより第1のデータセグメント及び第1のチェック値を暗号化することによって取得される。
第1のデータセグメントが暗号化される間、第1のチェック値がさらに暗号化され得ることが分かる。これは、アップグレードファイル伝送プロセスのセキュリティをさらに改善する。
第1の態様の別の任意選択の解決策では、第1の鍵は、第1の車載デバイスと第2の車載デバイスのために事前に設定された事前共有鍵である。
各データセグメントの機密性は、セキュリティプロトコル又はセキュリティアルゴリズムネゴシエーションによって取得された鍵の代わりに、事前に設定された事前共有鍵を使用することにより保証され、第1の車載デバイス及び第2の車載デバイスのリソース消費を効果的に低減できることが分かる。
第1の態様の別の任意選択の解決策では、第1の鍵は、トランスポート・レイヤ・セキュリティTLSに従って第1の車載デバイスと第2の車載デバイスとの間で双方向認証ネゴシエーションを行うことによって取得される鍵である。
TLSプロトコルネゴシエーションを通して取得された鍵を使用することにより各データセグメントを暗号化することが、各データセグメントの機密性を保証できることが分かる。追加的に、異なる第2の車載デバイスに対して、第1の車載デバイスと第2の車載デバイスとの間で行われる異なる双方向認証プロセスが存在し、ネゴシエーションを通して取得される異なる第1の鍵、言い換えると、異なるアップグレードファイルが異なる暗号化鍵及び復号鍵に対応し、アップグレードファイル伝送プロセスのセキュリティを大幅に改善することができる。
第1の態様の別の任意選択の解決策では、第1の鍵は、TLSプロトコルに従って第1の車載デバイスと第2の車載デバイスとの間で双方向認証ネゴシエーションを行うことによって取得される鍵である。
第1のチェック値は、TLSプロトコルと第1のアルゴリズムに従って第1のデータセグメントを処理することにより取得される、第1のデータセグメントのメッセージ認証コードである。
各データセグメントの機密性と完全性は、アップグレードファイル伝送プロセスのセキュリティを保証するために、TLSプロトコルに従って保護されることが分かる。
第2の態様によれば、本出願の一実施形態は、車載デバイスアップグレード方法であって
第2の車載デバイスによって、第1の車載デバイスによって送信された第1の暗号化されたセグメントを受信することであって、第1の暗号化されたセグメントは、第1の鍵を使用することにより第1のデータセグメントを暗号化することにより取得され、第1のデータセグメントは、第2の車載デバイスをアップグレードするために使用されるアップグレードファイルに含まれる複数のデータセグメントのうちの任意のデータセグメントである、ことと、
第1の鍵を使用することにより第1の暗号化されたセグメントを復号して、第1のデータセグメントを取得することと、
第1のアルゴリズムに従った第1のチェック値の検証に成功したときに、第1のデータセグメントを第2の車載デバイスに記憶することであって、第1のチェック値は、第1のアルゴリズムに従って第1のデータセグメントを処理することにより第1の車載デバイスにより取得され、第1のチェック値は、第1の車載デバイスから第2の車載デバイスによって受信される、ことと、
アップグレードのための第1のデータセグメントに基づいて、アップグレードファイルを形成することと、を含む、方法を提供する。
前述の方法では、第2の車載デバイスをアップグレードするために使用されるアップグレードファイル内の複数のデータセグメントのうちの各データセグメントが、別々に暗号化及び送信されて、各データセグメントを盗むリスクを効果的に低減する。追加的に、受信端末(つまり、第2の車載デバイス)は、最後のデータセグメントの伝送が完了した後にのみアップグレードファイル全体を検証する代わりに、各データセグメントに対応するチェック値を検証する必要があり、受信端末が、改ざんされた異常データセグメントを時間内に検出することができ、異常データセグメントを検出した後に、新しいデータセグメントを停止することの停止を適時にトリガすることができるようにする。これは、アップグレードファイル伝送プロセスのセキュリティを効果的に改善する。
第2の態様の別の任意選択の解決策では、第1のデータセグメントがアップグレードファイル内の複数のデータセグメントのうちの第1のデータセグメントである場合、第1のチェック値は、第1のアルゴリズムの入力として第1のデータセグメントを使用することにより取得される出力データである。
代替的には、第1のデータセグメントがアップグレードファイル内の複数のデータセグメントのうちの第1のデータセグメント以外のデータセグメントである場合、第1のチェック値は、第1のアルゴリズムの入力として第1のデータセグメント及び第2のチェック値を使用することにより取得される出力データであり、第2のチェック値は、第1のアルゴリズムに従って第1のデータセグメントの前のデータセグメントを処理することにより取得される。
アップグレードファイル内の複数のデータセグメントにおいて、第1のデータセグメント以外のデータセグメントに対応するチェック値は、前のデータセグメントに対応するチェック値に関連することが分かる。データセグメントのためのシーケンス検出メカニズムは、ハッシュチェーンを使用することにより実施されて、異常のあるセグメントが書き込みに成功することによるアップグレードファイル・アセンブリ中のエラー発生するのを回避し、ハッシュチェーンを用いた検証値を使用することにより、アップグレードファイルを悪意を持ってクラックすることの困難さを増加させる。
第2の態様の別の任意選択の解決策では、第1の暗号化されたセグメントは、第1の鍵を使用することにより第1のデータセグメント及び第1のチェック値を暗号化することによって取得される。
第1のデータセグメントが暗号化される間、第1のチェック値がさらに暗号化され得ることが分かる。これは、アップグレードファイル伝送プロセスのセキュリティをさらに改善する。
第2の態様の別の任意選択の解決策では、第1の鍵は、第1の車載デバイスと第2の車載デバイスのために事前に設定された事前共有鍵である。
各データセグメントの機密性は、セキュリティプロトコル又はセキュリティアルゴリズムネゴシエーションによって取得された鍵の代わりに、事前に設定された事前共有鍵を使用することにより保証され、第1の車載デバイス及び第2の車載デバイスのリソース消費を効果的に低減できることが分かる。
第2の態様の別の任意選択の解決策では、第1の鍵は、トランスポート・レイヤ・セキュリティTLSに従って第1の車載デバイスと第2の車載デバイスとの間で双方向認証ネゴシエーションを行うことによって取得される鍵である。
TLSプロトコルネゴシエーションを通して取得された鍵を使用することにより各データセグメントを暗号化することが、各データセグメントの機密性を保証できることが分かる。追加的に、異なる第2の車載デバイスに対して、第1の車載デバイスと第2の車載デバイスとの間で行われる異なる双方向認証プロセスが存在し、ネゴシエーションを通して取得される異なる第1の鍵、言い換えると、異なるアップグレードファイルが異なる暗号化鍵及び復号鍵に対応し、アップグレードファイル伝送プロセスのセキュリティを大幅に改善することができる。
第2の態様の別の任意選択の解決策では、第1の鍵は、TLSプロトコルに従って第1の車載デバイスと第2の車載デバイスとの間で双方向認証ネゴシエーションを行うことによって取得される鍵である。
第1のチェック値は、TLSプロトコルと第1のアルゴリズムに従って第1のデータセグメントを処理することにより取得される、第1のデータセグメントのメッセージ認証コードである。
各データセグメントの機密性と完全性は、アップグレードファイル伝送プロセスのセキュリティを保証するために、TLSプロトコルに従って保護されることが分かる。
第3の態様によれば、本出願の一実施形態は、車両に適用される車載デバイスアップグレード方法を提供する。車両は、第1の車載デバイス及び第2の車載デバイスを含む。本方法は、
第1の車載デバイスによって、第1のアルゴリズムに従って第1のデータセグメントを処理して、第1のチェック値を取得することであって、第1のデータセグメントは、第2の車載デバイスをアップグレードするために使用されるアップグレードファイルに含まれる複数のデータセグメントのうちの任意のデータセグメントであり、第1のチェック値は、第2の車載デバイスに送信される、ことと、
第1の車載デバイスによって、第1の鍵を使用することにより第1のデータセグメントを暗号化して、第1の暗号化されたセグメントを取得することと、
第1の車載デバイスによって、第1の暗号化されたセグメントを第2の車載デバイスに送信することと、
第2の車載デバイスによって、第1の車載デバイスによって送信された第1の暗号化されたセグメントを受信すること
第2の車載デバイスによって、第1の鍵を使用することにより第1の暗号化されたセグメントを復号して、第1のデータセグメントを取得することと、
第2の車載デバイスによって、第1のアルゴリズムに従った第1のチェック値の検証に成功したときに、第1のデータセグメントを第2の車載デバイスに記憶することと、
第2の車載デバイスによって、アップグレードのための第1のデータセグメントに基づいて、アップグレードファイルを形成することと、を含む。
前述の方法では、第2の車載デバイスをアップグレードするために使用されるアップグレードファイル内の複数のデータセグメントのうちの各データセグメントが、別々に暗号化及び送信されて、各データセグメントを盗むリスクを効果的に低減する。追加的に、受信端末(つまり、第2の車載デバイス)は、最後のデータセグメントの伝送が完了した後にのみアップグレードファイル全体を検証する代わりに、各データセグメントに対応するチェック値を検証する必要があり、受信端末が、改ざんされた異常データセグメントを時間内に検出することができ、異常データセグメントを検出した後に、新しいデータセグメントを停止することの停止を適時にトリガすることができるようにする。これは、アップグレードファイル伝送プロセスのセキュリティを効果的に改善する。
第3の態様の任意選択の解決策では、第1の車載デバイスによって、第1のアルゴリズムに従って第1のデータセグメントを処理して、第1のチェック値を取得する前に、本方法は、
HTTPSプロトコルに従って第1の車載デバイスとダウンロードサーバとの間の双方向認証を行うことであって、ダウンロードサーバは、第2の車載デバイスにアップグレードファイルを提供するように構成されている、ことと、
第1の車載デバイスによって、ダウンロードサーバが送信した暗号化されたファイルを受信することであって、暗号化されたファイルは、アップグレードファイルを暗号化することにより取得される、ことと、
第1の車載デバイスによって、プリセットされたアップグレード条件が満たされたときに、暗号化されたファイルを復号して、アップグレードファイルを取得することと、をさらに含む。
アップグレードファイルを提供するダウンロードサーバは、HTTPSプロトコルに従って第1の車載デバイスとの双方向認証を行うサーバであり、アップグレードファイルの送信元が有効であり、不正なアップグレードファイルを第1の車載デバイスに送達する非認証プラットフォームが防止され、攻撃者が、ダウンロードサーバからリリースされ、かつ重要情報を含むアップグレードファイルを上述の第1の車載デバイスから盗むことが防止されることが分かる。追加的に、暗号化されたアップグレードファイルがダウンロードサーバと第1の車載デバイスとの間で送信され、アップグレードファイルを盗むリスクが効果的に低減され、アップグレードファイル伝送プロセスの安全性が効果的に改善されるようにする。
第3の態様の別の任意選択の解決策では、第1のデータセグメントがアップグレードファイル内の複数のデータセグメントのうちの第1のデータセグメントである場合、第1のチェック値は、第1のアルゴリズムの入力として第1のデータセグメントを使用することにより取得される出力データである。
代替的には、第1のデータセグメントがアップグレードファイル内の複数のデータセグメントのうちの第1のデータセグメント以外のデータセグメントである場合、第1のチェック値は、第1のアルゴリズムの入力として第1のデータセグメント及び第2のチェック値を使用することにより取得される出力データであり、第2のチェック値は、第1のアルゴリズムに従って第1のデータセグメントの前のデータセグメントを処理することにより取得される。
アップグレードファイル内の複数のデータセグメントにおいて、第1のデータセグメント以外のデータセグメントに対応するチェック値は、前のデータセグメントに対応するチェック値に関連することが分かる。データセグメントのためのシーケンス検出メカニズムは、ハッシュチェーンを使用することにより実施されて、異常のあるセグメントが書き込みに成功することによるアップグレードファイル・アセンブリ中のエラー発生するのを回避し、ハッシュチェーンを用いた検証値を使用することにより、アップグレードファイルを悪意を持ってクラックすることの困難さを増加させる。
第3の態様の別の任意選択の解決策では、第1の暗号化されたセグメントは、第1の鍵を使用することにより第1のデータセグメント及び第1のチェック値を暗号化することによって取得される。
第1のデータセグメントが暗号化される間、第1のチェック値がさらに暗号化され得ることが分かる。これは、アップグレードファイル伝送プロセスのセキュリティをさらに改善する。
第3の態様の別の任意選択の解決策では、第1の鍵は、第1の車載デバイスと第2の車載デバイスのために事前に設定された事前共有鍵である。
各データセグメントの機密性は、セキュリティプロトコル又はセキュリティアルゴリズムネゴシエーションによって取得された鍵の代わりに、事前に設定された事前共有鍵を使用することにより保証され、第1の車載デバイス及び第2の車載デバイスのリソース消費を効果的に低減できることが分かる。
第3の態様の別の任意選択の解決策では、第1の鍵は、トランスポート・レイヤ・セキュリティTLSに従って第1の車載デバイスと第2の車載デバイスとの間で双方向認証ネゴシエーションを行うことによって取得される鍵である。
TLSプロトコルネゴシエーションを通して取得された鍵を使用することにより各データセグメントを暗号化することが、各データセグメントの機密性を保証できることが分かる。追加的に、異なる第2の車載デバイスに対して、第1の車載デバイスと第2の車載デバイスとの間で行われる異なる双方向認証プロセスが存在し、ネゴシエーションを通して取得される異なる第1の鍵、言い換えると、異なるアップグレードファイルが異なる暗号化鍵及び復号鍵に対応し、アップグレードファイル伝送プロセスのセキュリティを大幅に改善することができる。
第3の態様の別の任意選択の解決策では、第1の鍵は、TLSプロトコルに従って第1の車載デバイスと第2の車載デバイスとの間で双方向認証ネゴシエーションを行うことによって取得される鍵である。
第1のチェック値は、TLSプロトコルと第1のアルゴリズムに従って第1のデータセグメントを処理することにより取得される、第1のデータセグメントのメッセージ認証コードである。
各データセグメントの機密性と完全性は、アップグレードファイル伝送プロセスのセキュリティを保証するために、TLSプロトコルに従って保護されることが分かる。
第4の態様によれば、本出願の実施形態は、第1の車載デバイスであって、
第1のアルゴリズムに従って第1のデータセグメントを処理して、第1のチェック値を取得するように構成されている処理ユニットであって、第1のデータセグメントは、第2の車載デバイスをアップグレードするために使用されるアップグレードファイルに含まれる複数のデータセグメントのうちの任意のデータセグメントであり、第1のチェック値は、第2の車載デバイスに送信される、処理ユニットと、
第1の鍵を使用することにより第1のデータセグメントを暗号化して、第1の暗号化されたセグメントを取得するように構成されている暗号化ユニットと、
第1の暗号化されたセグメントを第2の車載デバイスに送信するように構成されている通信ユニットであって、第2の車載デバイスが、第1のアルゴリズムに従って第1のチェック値の検証に成功したときに、第1の鍵を使用することにより第1の暗号化されたセグメントを復号することによって取得された第1のデータセグメントを第2の車載デバイスに記憶するようにし、第1のデータセグメントは、アップグレードのためのアップグレードファイルを形成するために第2の車載デバイスによって使用される、通信ユニットと、を含む、第1の車載デバイスを提供する。
前述の装置では、第2の車載デバイスをアップグレードするために使用されるアップグレードファイル内の複数のデータセグメントのうちの各データセグメントが、別々に暗号化及び送信されて、各データセグメントを盗むリスクを効果的に低減する。追加的に、受信端末(つまり、第2の車載デバイス)は、最後のデータセグメントの伝送が完了した後にのみアップグレードファイル全体を検証する代わりに、各データセグメントに対応するチェック値を検証する必要があり、受信端末が、改ざんされた異常データセグメントを時間内に検出することができ、異常データセグメントを検出した後に、新しいデータセグメントを停止することの停止を適時にトリガすることができるようにする。これは、アップグレードファイル伝送プロセスのセキュリティを効果的に改善する。
第4の態様の任意選択の解決策では、第1の車載デバイスは、ネゴシエーションユニット及び復号ユニットをさらに含む。
ネゴシエーションユニットは、処理ユニットが第1のアルゴリズムに従って第1のデータセグメントを処理して、第1のチェック値を取得することの前に、HTTPSに従ってダウンロードサーバと双方向認証を行う。ダウンロードサーバは、第2の車載デバイスにアップグレードファイルを提供するように構成されている。
通信ユニットは、ダウンロードサーバが送信した暗号化されたファイルを受信するようにさらに構成されている。暗号化されたファイルは、アップグレードファイルを暗号化することによって取得される。
復号ユニットは、プリセットされたアップグレード条件が満たされたときに、暗号化されたファイルを復号して、アップグレードファイルを取得するように構成されている。
アップグレードファイルを提供するダウンロードサーバは、HTTPSプロトコルに従って第1の車載デバイスとの双方向認証を行うサーバであり、アップグレードファイルの送信元が有効であり、不正なアップグレードファイルを第1の車載デバイスに送達する非認証プラットフォームが防止され、攻撃者が、ダウンロードサーバからリリースされ、かつ重要情報を含むアップグレードファイルを上述の第1の車載デバイスから盗むことが防止されることが分かる。追加的に、暗号化されたアップグレードファイルがダウンロードサーバと第1の車載デバイスとの間で送信され、アップグレードファイルを盗むリスクが効果的に低減され、アップグレードファイル伝送プロセスの安全性が効果的に改善されるようにする。
第4の態様の別の任意選択の解決策では、第1のデータセグメントがアップグレードファイル内の複数のデータセグメントのうちの第1のデータセグメントである場合、第1のチェック値は、第1のアルゴリズムの入力として第1のデータセグメントを使用することにより取得される出力データである。
代替的には、第1のデータセグメントがアップグレードファイル内の複数のデータセグメントのうちの第1のデータセグメント以外のデータセグメントである場合、第1のチェック値は、第1のアルゴリズムの入力として第1のデータセグメント及び第2のチェック値を使用することにより取得される出力データであり、第2のチェック値は、第1のアルゴリズムに従って第1のデータセグメントの前のデータセグメントを処理することにより取得される。
アップグレードファイル内の複数のデータセグメントにおいて、第1のデータセグメント以外のデータセグメントに対応するチェック値は、前のデータセグメントに対応するチェック値に関連することが分かる。データセグメントのためのシーケンス検出メカニズムは、ハッシュチェーンを使用することにより実施されて、異常のあるセグメントが書き込みに成功することによるアップグレードファイル・アセンブリ中のエラー発生するのを回避し、ハッシュチェーンを用いた検証値を使用することにより、アップグレードファイルを悪意を持ってクラックすることの困難さを増加させる。
第4の態様の別の任意選択の解決策では、第1の暗号化されたセグメントは、第1の鍵を使用することにより第1のデータセグメント及び第1のチェック値を暗号化することによって取得される。
第1のデータセグメントが暗号化される間、第1のチェック値がさらに暗号化され得ることが分かる。これは、アップグレードファイル伝送プロセスのセキュリティをさらに改善する。
第4の態様の別の任意選択の解決策では、第1の鍵は、第1の車載デバイスと第2の車載デバイスのために事前に設定された事前共有鍵である。
各データセグメントの機密性は、セキュリティプロトコル又はセキュリティアルゴリズムネゴシエーションによって取得された鍵の代わりに、事前に設定された事前共有鍵を使用することにより保証され、第1の車載デバイス及び第2の車載デバイスのリソース消費を効果的に低減できることが分かる。
第4の態様の別の任意選択の解決策では、第1の鍵は、トランスポート・レイヤ・セキュリティTLSに従って第1の車載デバイスと第2の車載デバイスとの間で双方向認証ネゴシエーションを行うことによって取得される鍵である。
TLSプロトコルネゴシエーションを通して取得された鍵を使用することにより各データセグメントを暗号化することが、各データセグメントの機密性を保証できることが分かる。追加的に、異なる第2の車載デバイスに対して、第1の車載デバイスと第2の車載デバイスとの間で行われる異なる双方向認証プロセスが存在し、ネゴシエーションを通して取得される異なる第1の鍵、言い換えると、異なるアップグレードファイルが異なる暗号化鍵及び復号鍵に対応し、アップグレードファイル伝送プロセスのセキュリティを大幅に改善することができる。
第4の態様の別の任意選択の解決策では、第1の鍵は、TLSプロトコルに従って第1の車載デバイスと第2の車載デバイスとの間で双方向認証ネゴシエーションを行うことによって取得される鍵である。
第1のチェック値は、TLSプロトコルと第1のアルゴリズムに従って第1のデータセグメントを処理することにより取得される、第1のデータセグメントのメッセージ認証コードである。
各データセグメントの機密性と完全性は、アップグレードファイル伝送プロセスのセキュリティを保証するために、TLSプロトコルに従って保護されることが分かる。
第5の態様によれば、本出願の一実施形態は、第2の車載デバイスであって、
第1の車載デバイスによって送信された第1の暗号化されたセグメントを受信するように構成されている通信ユニットであって、第1の暗号化されたセグメントは、第1の鍵を使用することにより第1のデータセグメントを暗号化することにより取得され、第1のデータセグメントは、第2の車載デバイスをアップグレードするために使用されるアップグレードファイルに含まれる複数のデータセグメントのうちの任意のデータセグメントである、通信ユニットと、
第1の鍵を使用することにより第1の暗号化されたセグメントを復号して、第1のデータセグメントを取得するように構成されている復号ユニットと、
第1のアルゴリズムに従った第1のチェック値の検証に成功したときに、第1のデータセグメントを第2の車載デバイスに記憶するように構成されている検証ユニットであって、第1のチェック値は、第1のアルゴリズムに従って第1のデータセグメントを処理することにより第1の車載デバイスにより取得され、第1のチェック値は、第1の車載デバイスから第2の車載デバイスによって受信される、検証ユニットと、
アップグレードのための第1のデータセグメントに基づいて、アップグレードファイルを形成するように構成されているアップグレードユニットと、を含む、第2の車載デバイスを提供する。
前述の装置では、第2の車載デバイスをアップグレードするために使用されるアップグレードファイル内の複数のデータセグメントのうちの各データセグメントが、別々に暗号化及び送信されて、各データセグメントを盗むリスクを効果的に低減する。追加的に、受信端末(つまり、第2の車載デバイス)は、最後のデータセグメントの伝送が完了した後にのみアップグレードファイル全体を検証する代わりに、各データセグメントに対応するチェック値を検証する必要があり、受信端末が、改ざんされた異常データセグメントを時間内に検出することができ、異常データセグメントを検出した後に、新しいデータセグメントを停止することの停止を適時にトリガすることができるようにする。これは、アップグレードファイル伝送プロセスのセキュリティを効果的に改善する。
第5の態様の別の任意選択の解決策では、第1のデータセグメントがアップグレードファイル内の複数のデータセグメントのうちの第1のデータセグメントである場合、第1のチェック値は、第1のアルゴリズムの入力として第1のデータセグメントを使用することにより取得される出力データである。
代替的には、第1のデータセグメントがアップグレードファイル内の複数のデータセグメントのうちの第1のデータセグメント以外のデータセグメントである場合、第1のチェック値は、第1のアルゴリズムの入力として第1のデータセグメント及び第2のチェック値を使用することにより取得される出力データであり、第2のチェック値は、第1のアルゴリズムに従って第1のデータセグメントの前のデータセグメントを処理することにより取得される。
アップグレードファイル内の複数のデータセグメントにおいて、第1のデータセグメント以外のデータセグメントに対応するチェック値は、前のデータセグメントに対応するチェック値に関連することが分かる。データセグメントのためのシーケンス検出メカニズムは、ハッシュチェーンを使用することにより実施されて、異常のあるセグメントが書き込みに成功することによるアップグレードファイル・アセンブリ中のエラー発生するのを回避し、ハッシュチェーンを用いた検証値を使用することにより、アップグレードファイルを悪意を持ってクラックすることの困難さを増加させる。
第5の態様の別の任意選択の解決策では、第1の暗号化されたセグメントは、第1の鍵を使用することにより第1のデータセグメント及び第1のチェック値を暗号化することによって取得される。
第1のデータセグメントが暗号化される間、第1のチェック値がさらに暗号化され得ることが分かる。これは、アップグレードファイル伝送プロセスのセキュリティをさらに改善する。
第5の態様の別の任意選択の解決策では、第1の鍵は、第1の車載デバイスと第2の車載デバイスのために事前に設定された事前共有鍵である。
各データセグメントの機密性は、セキュリティプロトコル又はセキュリティアルゴリズムネゴシエーションによって取得された鍵の代わりに、事前に設定された事前共有鍵を使用することにより保証され、第1の車載デバイス及び第2の車載デバイスのリソース消費を効果的に低減できることが分かる。
第5の態様の別の任意選択の解決策では、第1の鍵は、トランスポート・レイヤ・セキュリティTLSに従って第1の車載デバイスと第2の車載デバイスとの間で双方向認証ネゴシエーションを行うことによって取得される鍵である。
TLSプロトコルネゴシエーションを通して取得された鍵を使用することにより各データセグメントを暗号化することが、各データセグメントの機密性を保証できることが分かる。追加的に、異なる第2の車載デバイスに対して、第1の車載デバイスと第2の車載デバイスとの間で行われる異なる双方向認証プロセスが存在し、ネゴシエーションを通して取得される異なる第1の鍵、言い換えると、異なるアップグレードファイルが異なる暗号化鍵及び復号鍵に対応し、アップグレードファイル伝送プロセスのセキュリティを大幅に改善することができる。
第5の態様の別の任意選択の解決策では、第1の鍵は、TLSプロトコルに従って第1の車載デバイスと第2の車載デバイスとの間で双方向認証ネゴシエーションを行うことによって取得される鍵である。
第1のチェック値は、TLSプロトコルと第1のアルゴリズムに従って第1のデータセグメントを処理することにより取得される、第1のデータセグメントのメッセージ認証コードである。
各データセグメントの機密性と完全性は、アップグレードファイル伝送プロセスのセキュリティを保証するために、TLSプロトコルに従って保護されることが分かる。
第6の態様によれば、本出願の実施形態は、第1の車載デバイスであって、第1の車載デバイスは、トランシーバ、プロセッサ、及びメモリを含み、メモリは、コンピュータプログラムを記憶するように構成されており、プロセッサは、コンピュータプログラムを呼び出して、
第1のアルゴリズムに従って第1のデータセグメントを処理して、第1のチェック値を取得することであって、第1のデータセグメントは、第2の車載デバイスをアップグレードするために使用されるアップグレードファイルに含まれる複数のデータセグメントのうちの任意のデータセグメントであり、第1のチェック値は、第2の車載デバイスに送信される、ことと、
第1の鍵を使用することにより第1のデータセグメントを暗号化して、第1の暗号化されたセグメントを取得することと、
第1の暗号化されたセグメントを第2の車載デバイスに送信するようにトランシーバを制御することであって、第2の車載デバイスが、第1のアルゴリズムに従って第1のチェック値の検証に成功したときに、第1の鍵を使用することにより第1の暗号化されたセグメントを復号することによって取得された第1のデータセグメントを第2の車載デバイスに記憶するようにし、第1のデータセグメントは、アップグレードのためのアップグレードファイルを形成するために第2の車載デバイスによって使用される、ことと、を行う動作を行う、第1の車載デバイスを提供する。
前述の装置では、第2の車載デバイスをアップグレードするために使用されるアップグレードファイル内の複数のデータセグメントのうちの各データセグメントが、別々に暗号化及び送信されて、各データセグメントを盗むリスクを効果的に低減する。追加的に、受信端末(つまり、第2の車載デバイス)は、最後のデータセグメントの伝送が完了した後にのみアップグレードファイル全体を検証する代わりに、各データセグメントに対応するチェック値を検証する必要があり、受信端末が、改ざんされた異常データセグメントを時間内に検出することができ、異常データセグメントを検出した後に、新しいデータセグメントを停止することの停止を適時にトリガすることができるようにする。これは、アップグレードファイル伝送プロセスのセキュリティを効果的に改善する。
第6の態様の任意選択の解決策では、プロセッサは、第1のアルゴリズムに従って第1のデータセグメントを処理して、第1のチェック値を取得することの前に、
HTTPSに従ってダウンロードサーバと双方向認証を行うことであって、ダウンロードサーバは、第2の車載デバイスにアップグレードファイルを提供するように構成されている、ことと、
ダウンロードサーバが送信した暗号化されたファイルを受信するようにトランシーバを制御することであって、暗号化されたファイルは、アップグレードファイルを暗号化することにより取得される、ことと、
プリセットされたアップグレード条件が満たされたときに、暗号化されたファイルを復号して、アップグレードファイルを取得することと、を行うようにさらに構成されている。
アップグレードファイルを提供するダウンロードサーバは、HTTPSプロトコルに従って第1の車載デバイスとの双方向認証を行うサーバであり、アップグレードファイルの送信元が有効であり、不正なアップグレードファイルを第1の車載デバイスに送達する非認証プラットフォームが防止され、攻撃者が、ダウンロードサーバからリリースされ、かつ重要情報を含むアップグレードファイルを上述の第1の車載デバイスから盗むことが防止されることが分かる。追加的に、暗号化されたアップグレードファイルがダウンロードサーバと第1の車載デバイスとの間で送信され、アップグレードファイルを盗むリスクが効果的に低減され、アップグレードファイル伝送プロセスの安全性が効果的に改善されるようにする。
第6の態様の別の任意選択の解決策では、第1のデータセグメントがアップグレードファイル内の複数のデータセグメントのうちの第1のデータセグメントである場合、第1のチェック値は、第1のアルゴリズムの入力として第1のデータセグメントを使用することにより取得される出力データである。
代替的には、第1のデータセグメントがアップグレードファイル内の複数のデータセグメントのうちの第1のデータセグメント以外のデータセグメントである場合、第1のチェック値は、第1のアルゴリズムの入力として第1のデータセグメント及び第2のチェック値を使用することにより取得される出力データであり、第2のチェック値は、第1のアルゴリズムに従って第1のデータセグメントの前のデータセグメントを処理することにより取得される。
アップグレードファイル内の複数のデータセグメントにおいて、第1のデータセグメント以外のデータセグメントに対応するチェック値は、前のデータセグメントに対応するチェック値に関連することが分かる。データセグメントのためのシーケンス検出メカニズムは、ハッシュチェーンを使用することにより実施されて、異常のあるセグメントが書き込みに成功することによるアップグレードファイル・アセンブリ中のエラー発生するのを回避し、ハッシュチェーンを用いた検証値を使用することにより、アップグレードファイルを悪意を持ってクラックすることの困難さを増加させる。
第6の態様の別の任意選択の解決策では、第1の暗号化されたセグメントは、第1の鍵を使用することにより第1のデータセグメント及び第1のチェック値を暗号化することによって取得される。
第1のデータセグメントが暗号化される間、第1のチェック値がさらに暗号化され得ることが分かる。これは、アップグレードファイル伝送プロセスのセキュリティをさらに改善する。
第6の態様の別の任意選択の解決策では、第1の鍵は、第1の車載デバイスと第2の車載デバイスのために事前に設定された事前共有鍵である。
各データセグメントの機密性は、セキュリティプロトコル又はセキュリティアルゴリズムネゴシエーションによって取得された鍵の代わりに、事前に設定された事前共有鍵を使用することにより保証され、第1の車載デバイス及び第2の車載デバイスのリソース消費を効果的に低減できることが分かる。
第6の態様の別の任意選択の解決策では、第1の鍵は、トランスポート・レイヤ・セキュリティTLSに従って第1の車載デバイスと第2の車載デバイスとの間で双方向認証ネゴシエーションを行うことによって取得される鍵である。
TLSプロトコルネゴシエーションを通して取得された鍵を使用することにより各データセグメントを暗号化することが、各データセグメントの機密性を保証できることが分かる。追加的に、異なる第2の車載デバイスに対して、第1の車載デバイスと第2の車載デバイスとの間で行われる異なる双方向認証プロセスが存在し、ネゴシエーションを通して取得される異なる第1の鍵、言い換えると、異なるアップグレードファイルが異なる暗号化鍵及び復号鍵に対応し、アップグレードファイル伝送プロセスのセキュリティを大幅に改善することができる。
第6の態様の別の任意選択の解決策では、第1の鍵は、TLSプロトコルに従って第1の車載デバイスと第2の車載デバイスとの間で双方向認証ネゴシエーションを行うことによって取得される鍵である。
第1のチェック値は、TLSプロトコルと第1のアルゴリズムに従って第1のデータセグメントを処理することにより取得される、第1のデータセグメントのメッセージ認証コードである。
各データセグメントの機密性と完全性は、アップグレードファイル伝送プロセスのセキュリティを保証するために、TLSプロトコルに従って保護されることが分かる。
第7の態様によれば、本出願の実施形態は、第2の車載デバイスを提供する。第2の車載デバイスは、トランシーバ、プロセッサ、及びメモリを含む。メモリは、コンピュータプログラムを記憶するように構成されており、プロセッサは、コンピュータプログラムを呼び出して、
第1の車載デバイスによって送信された第1の暗号化されたセグメントを受信するようにトランシーバを制御することであって、第1の暗号化されたセグメントは、第1の鍵を使用することにより第1のデータセグメントを暗号化することにより取得され、第1のデータセグメントは、第2の車載デバイスをアップグレードするために使用されるアップグレードファイルに含まれる複数のデータセグメントのうちの任意のデータセグメントである、ことと、
第1の鍵を使用することにより第1の暗号化されたセグメントを復号して、第1のデータセグメントを取得することと、
第1のアルゴリズムに従った第1のチェック値の検証に成功したときに、第1のデータセグメントを第2の車載デバイスに記憶することであって、第1のチェック値は、第1のアルゴリズムに従って第1のデータセグメントを処理することにより第1の車載デバイスにより取得され、第1のチェック値は、第1の車載デバイスから第2の車載デバイスによって受信される、ことと、
アップグレードのための第1のデータセグメントに基づいて、アップグレードファイルを形成することと、を行う動作を行う。
前述の装置では、第2の車載デバイスをアップグレードするために使用されるアップグレードファイル内の複数のデータセグメントのうちの各データセグメントが、別々に暗号化及び送信されて、各データセグメントを盗むリスクを効果的に低減する。追加的に、受信端末(つまり、第2の車載デバイス)は、最後のデータセグメントの伝送が完了した後にのみアップグレードファイル全体を検証する代わりに、各データセグメントに対応するチェック値を検証する必要があり、受信端末が、改ざんされた異常データセグメントを時間内に検出することができ、異常データセグメントを検出した後に、新しいデータセグメントを停止することの停止を適時にトリガすることができるようにする。これは、アップグレードファイル伝送プロセスのセキュリティを効果的に改善する。
第7の態様の別の任意選択の解決策では、第1のデータセグメントがアップグレードファイル内の複数のデータセグメントのうちの第1のデータセグメントである場合、第1のチェック値は、第1のアルゴリズムの入力として第1のデータセグメントを使用することにより取得される出力データである。
代替的には、第1のデータセグメントがアップグレードファイル内の複数のデータセグメントのうちの第1のデータセグメント以外のデータセグメントである場合、第1のチェック値は、第1のアルゴリズムの入力として第1のデータセグメント及び第2のチェック値を使用することにより取得される出力データであり、第2のチェック値は、第1のアルゴリズムに従って第1のデータセグメントの前のデータセグメントを処理することにより取得される。
アップグレードファイル内の複数のデータセグメントにおいて、第1のデータセグメント以外のデータセグメントに対応するチェック値は、前のデータセグメントに対応するチェック値に関連することが分かる。データセグメントのためのシーケンス検出メカニズムは、ハッシュチェーンを使用することにより実施されて、異常のあるセグメントが書き込みに成功することによるアップグレードファイル・アセンブリ中のエラー発生するのを回避し、ハッシュチェーンを用いた検証値を使用することにより、アップグレードファイルを悪意を持ってクラックすることの困難さを増加させる。
第7の態様の別の任意選択の解決策では、第1の暗号化されたセグメントは、第1の鍵を使用することにより第1のデータセグメント及び第1のチェック値を暗号化することによって取得される。
第1のデータセグメントが暗号化される間、第1のチェック値がさらに暗号化され得ることが分かる。これは、アップグレードファイル伝送プロセスのセキュリティをさらに改善する。
第7の態様の別の任意選択の解決策では、第1の鍵は、第1の車載デバイスと第2の車載デバイスのために事前に設定された事前共有鍵である。
各データセグメントの機密性は、セキュリティプロトコル又はセキュリティアルゴリズムネゴシエーションによって取得された鍵の代わりに、事前に設定された事前共有鍵を使用することにより保証され、第1の車載デバイス及び第2の車載デバイスのリソース消費を効果的に低減できることが分かる。
第7の態様の別の任意選択の解決策では、第1の鍵は、トランスポート・レイヤ・セキュリティTLSに従って第1の車載デバイスと第2の車載デバイスとの間で双方向認証ネゴシエーションを行うことによって取得される鍵である。
TLSプロトコルネゴシエーションを通して取得された鍵を使用することにより各データセグメントを暗号化することが、各データセグメントの機密性を保証できることが分かる。追加的に、異なる第2の車載デバイスに対して、第1の車載デバイスと第2の車載デバイスとの間で行われる異なる双方向認証プロセスが存在し、ネゴシエーションを通して取得される異なる第1の鍵、言い換えると、異なるアップグレードファイルが異なる暗号化鍵及び復号鍵に対応し、アップグレードファイル伝送プロセスのセキュリティを大幅に改善することができる。
第7の態様の別の任意選択の解決策では、第1の鍵は、TLSプロトコルに従って第1の車載デバイスと第2の車載デバイスとの間で双方向認証ネゴシエーションを行うことによって取得される鍵である。
第1のチェック値は、TLSプロトコルと第1のアルゴリズムに従って第1のデータセグメントを処理することにより取得される、第1のデータセグメントのメッセージ認証コードである。
各データセグメントの機密性と完全性は、アップグレードファイル伝送プロセスのセキュリティを保証するために、TLSプロトコルに従って保護されることが分かる。
第8の態様によれば、本出願の実施形態は、第1の車載デバイス及び第2の車載デバイスを含む車両を提供する。第1の車載デバイスは、第4の態様、又は第4の態様の可能な実施態様のうちのいずれかに説明される第1の車載デバイスである。第2の車載デバイスは、第5の態様、又は第5の態様の可能な実施態様のうちのいずれかに説明される第2の車載デバイスである。
第8の態様によれば、本出願の実施形態は、第1の車載デバイス及び第2の車載デバイスを含む車両を提供する。第1の車載デバイスは、第6の態様、又は第6の態様の可能な実施態様のうちのいずれかに説明される第1の車載デバイスである。第2の車載デバイスは、第7の態様、又は第7の態様の可能な実施態様のうちのいずれかに説明される第2の車載デバイスである。
第9の態様によれば、本出願の実施形態は、コンピュータ可読記憶媒体を提供する。コンピュータ可読記憶媒体は、命令を記憶し、命令がプロセッサ上で動作するときに、第1の態様及び第2の態様又は第1の態様及び第2の態様のいずれかの任意選択の解決策のいずれかに説明される方法が実施される。
本出願の一実施形態による車載デバイスアップグレードシステムの概略アーキテクチャ図である。
本出願の一実施形態による車載デバイスアップグレード方法の概略フローチャートである。
本出願の一実施形態による車載デバイスアップグレード方法の概略フローチャートである。
本出願の一実施形態による別の車載デバイスアップグレード方法の概略フローチャートである。
本出願の一実施形態による別の車載デバイスアップグレード方法の概略フローチャートである。
本出願の一実施形態による別の車載デバイスアップグレード方法の概略フローチャートである。
本出願の一実施形態による別の車載デバイスアップグレード方法の概略フローチャートである。
本出願の一実施形態による別の車載デバイスアップグレード方法の概略フローチャートである。
本出願の一実施形態による第1のデバイスの概略構造図である。
本出願の一実施形態による第2のデバイスの概略構造図である。
本出願の一実施形態による別の第1のデバイスの概略構造図である。
本出願の一実施形態による別の第2のデバイスの概略構造図である。
以下、本出願の実施態様における添付図面を参照して、本出願の実施態様を説明する。
図1は、本出願の一実施形態による車載デバイスアップグレードシステムの概略アーキテクチャ図である。概略アーキテクチャ図は、ダウンロードサーバ110及び車両120を含む。サーバ110及び車両120は、無線リンク(たとえば、Wi-Fi、Bluetooth、及びモバイル・デバイス・ネットワーク)を使用することにより通信ダウンロードを行ってもよい。車両120は、通信バス121と、通信バス121を使用することにより互いに通信する複数の車載デバイス122とを含む。複数の車載デバイス122の具体的な数は、本明細書では限定されない。
ダウンロードサーバ110は、相手先ブランド製造業者(original equipment manufacturer、OEM)によって設定され、車両120にアップグレードファイルを提供するように構成されているサーバであってもよい。ダウンロードサーバ110は、単一のサーバであってもよいし、複数のサーバを含むサーバクラスタであってもよい。ダウンロードサーバ110は、ハードウェアサーバでもよいし、クラウドサーバでもよい。これは、本明細書では限定されない。
車両120はまた、スマート車両、又はスマート「チャージドッグ」などのデバイス(スマート車両を充電するように構成されている移動デバイス)であってもよい。通信バス121は、ローカル相互接続ネットワーク(local interconnect network、LIN)バス、コントローラエリアネットワーク(controller area network、CAN)バスなどであってもよいが、これらに限定されない。車載デバイス122は、車両120内にあり、アップグレードファイルを使用することによりシステムをアップグレードすることができる電子デバイス又は制御ユニット、たとえば、電子制御ユニット(electronic control unit、ECU)又は車両制御ユニット(vehicle control unit、VCU)であり得る。代替的には、車載デバイス122は、車両120内にあり、無線リンクを使用することによりダウンロードサーバ110が提供するアップグレードファイルを取得し、システムをアップグレードする必要がある別の車載デバイス、たとえば、オンボードユニット(telematics box、Tbox)にアップグレードファイルを転送することができる電子デバイスであってもよい。様々な種類のECUが存在し、異なるECUは、異なる機能を実施するように構成されてもよく、たとえば、ゲートウェイ(gateway、GW)、自動伝送制御ユニット(transmission control unit、TCU)、及び補助制御ユニット(auxiliary control unit、ACU)などである。
車両120内のTboxは、無線リンクを使用することによりダウンロードサーバ110と通信してもよい。たとえば、Tboxは、無線リンクを使用することによって、ダウンロードサーバ110によってリリースされ、車両120の制御ユニット(ECU又はVCUなど)をアップグレードするために使用されるアップグレードファイルを取得し、統一された診断サービス(unified diagnostic services、UDS)のプロトコル仕様に従って、アップグレードファイルを対応する制御ユニットのフラッシュ(flash)に対応するアドレスユニットにセグメントごとに書き込んで、オーバ・ザ・エア(over the air、OTA)プロセスを完成させてもよい。
説明を簡単にするために、Tboxは下記の第1の車載デバイスと呼ばれ、Tboxを使用することによりセグメントごとにアップグレードファイルを書き込むのを支援する制御ユニット(たとえば、ECU又はVCU)は下記の第2の車載デバイスと呼ばれる。
図2A及び図2Bは、本出願の実施形態による、車載デバイスアップグレード方法を示す。本方法は、図1に示す車載デバイスアップグレードシステムに基づいて実施されてもよい。本方法は、以下のステップを含むが、これらに限定されない。
ステップS201:双方向認証は、ハイパーテキスト・トランスファー・プロトコル・オーバ・セキュア・ソケット・レイヤ(hyper text transfer protocol over secure socket layer、HTTPS)に従って、ダウンロードサーバと第1の車載デバイスとの間で行われる。
具体的には、ダウンロードサーバは、第1の車載デバイスを使用することにより第2の車載デバイスのアップグレードファイルを提供するように構成されている。
具体的には、HTTPSプロトコルは、セキュア・ソケット・レイヤ(secure sockets layer、SSL)又はトランスポート・レイヤ・セキュリティ(transport layer security、TLS)を使用することにより、ハイパーテキスト・トランスファー・プロトコル(hyper text transfer protocol、HTTP)に従って伝送プロセスのセキュリティを保証するプロトコルとして理解されてもよい。SSLプロトコルと比較して、TLSプロトコルは更新され、より広く適用される。本出願の本実施形態では、TLSプロトコルは、説明のための例として使用される。
HTTPS双方向認証は、実際には、TLSハンドシェイク・プロトコル・インタラクション・プロセスとも呼ばれるTLS双方向認証である。双方向認証プロセスでは、ダウンロードサーバは、ダウンロードサーバのルート証明書又はOTA証明書を第1の車載デバイスに送信し、第1の車載デバイスが、ダウンロードサーバについてアイデンティティ認証を行うようにする。同様に、第1の車載デバイスはまた、第1の車載デバイスのデバイス証明書をダウンロードサーバに送信し、ダウンロードサーバが、第1の車載デバイスについてアイデンティティ認証を行うようにする。OTA証明書は、ルート証明書に基づいてダウンロードサーバによって導出され、第1の車載デバイスとのセキュアな対話に使用される証明書であってもよい。
本出願の本実施形態では、双方向認証は、HTTPSプロトコルに従ってダウンロードサーバと第1の車載デバイスとの間で行われ、非認証ダウンロードサーバが、悪意のあるアップグレードファイルを第1の車載デバイスにリリースすることを効果的に防止することができ、攻撃者が、認証された第1の車載デバイスをだまして、ダウンロードサーバによってリリースされ、かつ鍵エクスペリエンス較正構成、鍵アルゴリズム、及びユーザプライバシーなどの重要な情報を含むアップグレードファイルを盗むことを防止することができるようにする。
ステップS202:ダウンロードサーバは、アップグレードファイルを暗号化及び署名して、暗号化されたファイル及び第1の署名を取得する。
具体的には、アップグレードファイルは、第2の車載デバイスをアップグレードするために使用される。ダウンロードサーバは、第2の鍵を使用することによりアップグレードファイルを暗号化して、暗号化されたファイルを取得してもよい。第2の鍵は、ダウンロードサーバによってランダムに生成された鍵であってもよいし、ダウンロードサーバと第1の車載デバイスとの間の事前ネゴシエーションを通して取得された鍵であってもよいし、事前に設定された(たとえば、信頼されたサードパーティデバイスを使用することにより設定された)鍵であってもよいし、確かに別の方式で取得された鍵であってもよい。ダウンロードサーバは、第1の証明書の秘密鍵を使用することによりアップグレードファイルを署名して、第1の署名を取得してもよい。第1の証明書は、ダウンロードサーバのルート証明書であってもよいし、前述のOTA証明書であってもよいし、確かにダウンロードサーバのアイデンティティを識別できる別の証明書であってもよい。
ステップS203:ダウンロードサーバは、暗号化されたファイル及び第1の署名を第1の車載デバイスに送信する。
ステップS204:第1の車載デバイスは、暗号化されたファイル及び第1の署名を受信する。
ステップS205:第1の車載デバイスは、第1の署名の検証に成功したときに、暗号化されたファイルを記憶する。
具体的には、ダウンロードサーバが送信するアップグレードファイルの完全性と、アップグレードファイルのソース(具体的には、ダウンロードサーバ)の妥当性を検証するために、第1の署名が使用される。ダウンロードサーバは、ダウンロードサーバのアイデンティを識別することができる証明書を使用することによりアップグレードファイルを署名して、第1の署名を取得し、第1の署名を第1の車載デバイスに送信してもよい。これに対応して、第1の車載デバイスは、ダウンロードサーバのアイデンティティを識別することができる証明書の公開鍵を使用することにより第1の署名を検証してもよい。第1の署名の検証に成功したときに、第1の車載デバイスは、アップグレードファイルが改ざんされていない(言い換えれば、完全性検証に成功した)と考え、暗号化されたファイルと第1の署名を送信するノードがダウンロードサーバである(言い換えれば、妥当性検証に成功した)と考える。ダウンロードサーバが署名を行う具体的な方法、及び第1の車載デバイスが署名を検証する具体的な方法は、本出願の本実施形態において限定されない。理解を容易にするために、以下、いくつかの任意選択の署名検証策について説明する。
任意選択で、第1の証明書がダウンロードサーバのルート証明書である場合、第1の車載デバイスが使用する第1の証明書は、ダウンロードサーバによって第1の車載デバイスに送信されてもよい。これに対応して、第1の車載デバイスは、ルート証明書の公開鍵を使用することにより第1の署名を検証する。
任意選択で、第1の証明書がOTA証明書である場合、第1の車載デバイスが使用する第1の証明書は、ダウンロードサーバによって第1の車載デバイスに送信されてもよく、ダウンロードサーバはさらに、ダウンロードサーバのルート証明書を第1の車載デバイスに送信する。これに対応して、第1の車載デバイスは、ルート証明書を使用することにより受信したOTA証明書の妥当性を検証し、検証が成功した場合は、OTA証明書の公開鍵を使用することにより第1の署名を検証する。
本出願の本実施形態では、第1の署名の検証が成功した場合、暗号化されたファイルが記憶される。OTA証明書の妥当性検証が失敗した場合、又は第1の署名の検証が失敗した場合、第1の車載デバイスは、暗号化されたファイルが異常であることを示すアラームを、車内にあり、かつ車両システムの故障診断及び保護を実施するように構成されている車載デバイス、たとえば、VCUに報告する。
ステップS206:プリセットされたアップグレード条件が満たされるときに、第1の車載デバイスは、暗号化されたファイルを復号して、アップグレードファイルを取得する。
具体的には、プリセットされたアップグレード条件は、車両がアップグレード命令を受信すること、車両が静止状態にあることなどであってもよいが、これらに限定されない。アップグレード命令は、車両に搭載された車載端末を使用することによりユーザによって指示されてもよいし、車両にワイヤレス接続された車両のインターネットの車両アプリケーション(application、APP)使用することによりユーザによって指示されてもよいが、これらに限定されない。プリセットされたアップグレード条件が満たされないときに、アップグレードファイルは、暗号化されたファイルの形式で、第1の車載デバイスに記憶される。プリセットされたアップグレード条件が満たされるときに、第1の車載デバイスは、受信した暗号化されたファイルを直ちに復号して、アップグレードファイルを取得及び記憶する代わりに、第2の鍵を使用することにより暗号化されたファイルを復号して、アップグレードファイルを取得し、アップグレードファイルが記憶中に盗まれるか、又は改ざんされることを防止し、アップグレードファイルのセキュリティを保証する。
任意選択で、第2の鍵がダウンロードサーバによってランダムに生成された鍵である場合、ダウンロードサーバは、第1の車載デバイスのデバイス証明書の公開鍵を使用することにより第2の鍵をさらに暗号化し、暗号化された第2の鍵を第1の車載デバイスに送信してもよい。これに対応して、第1の車載デバイスは、ダウンロードサーバが送信した暗号化された第2の鍵を受信し、次いで、第1の車載デバイスのデバイス証明書の秘密鍵を使用することにより暗号化された第2の鍵を復号して、第2の鍵を取得する。この方式で取得された第2の鍵は、第1の車載デバイスによって、暗号化されたファイルを復号して、アップグレードファイルを取得するために使用される。
任意選択で、第1の車載デバイスは、暗号化されたファイルを受信した直後に暗号化されたファイルを復号して、アップグレードファイルを取得及び記憶してもよい。確かに、この方式で取得されたアップグレードファイルは、比較的セキュリティが低い。
ステップS207:第1の車載デバイスは、第1のアルゴリズムに従って第1のデータセグメントを処理して、第1のチェック値を取得する。
具体的には、第1の車載デバイスは、アップグレードファイルを、第2の車載デバイスの受信能力に基づいて複数のデータセグメントに分割してもよい。たとえば、n個のデータセグメントが説明のために使用される。たとえば、アップグレードファイルのサイズは64バイトであり、第2の車載デバイスが毎回受信できるデータパケットのサイズは8バイトであるため、第1の車載デバイスは64バイトのアップグレードファイルを8つのデータセグメントに分割する必要がある。第1の車載デバイスは、n個のデータセグメントのうちの1つのデータセグメントを第2の車載デバイスに毎回送信し、すべてのn個のデータセグメントが第2の車載デバイスに送信されるときに、セグメントごとにアップグレードファイルを書き込む処理を完了する。
第1のデータセグメントは、アップグレードファイルに含まれる複数のデータセグメントのうちの任意のデータセグメントであり、言い換えれば、複数のデータセグメントの各データセグメントの特徴は、第1のデータセグメントの後続の関連する記述に適用可能である。
追加的に、第1のアルゴリズムと第1のチェック値が使用されて、各データセグメントの完全性を保証する。以下、異なるケースにおける説明のために例を使用する。
ケース1:第1のアルゴリズムは、ハッシュアルゴリズム、たとえば、SHA-256、SHA-384、SHA-512、MD2、MD4又はMD5であり、第1のチェック値は、第1のデータセグメントに対応するハッシュ値である。
第1のデータセグメントがアップグレードファイル内の複数のデータセグメントのうちの第1のデータセグメントである場合、第1のチェック値は、第1のアルゴリズムの入力として第1のデータセグメントを使用することにより取得される出力データである
第1のデータセグメントがアップグレードファイル内の複数のデータセグメントのうちの第1のデータセグメント以外のデータセグメントである場合、第1のチェック値は、第1のアルゴリズムの入力として第1のデータセグメント及び第2のチェック値を使用することにより取得される出力データである。第2のチェック値は、第1のアルゴリズムに従って第1のデータセグメントの前のデータセグメントを処理することにより取得される。
たとえば、アップグレードファイル(File)がデータ1、データ2、データ3の3つのデータセグメントを順番に含み、第1のアルゴリズムがMD5アルゴリズムである場合、
第1のデータセグメントがデータ1である場合、第1のチェック値はチェック1=MD5(データ1)であるか、
第1のデータセグメントがデータ2である場合、第1のチェック値はチェック2=MD5(データ2、チェック1)であるか、又は
第1のデータセグメントがデータ3である場合、第1のチェック値はチェック3=MD5(データ3、チェック2)である。
ケース2:第1のアルゴリズムは、メッセージ認証コード(message authentication code、MAC)、たとえば、MACを計算するための専用のハッシュベースのメッセージ認証コード(hash-based message authentication code、HMAC)アルゴリズム、又は、暗号アルゴリズム、たとえば、データ暗号化標準(data encryption standard、DES)アルゴリズムを計算するために使用されるアルゴリズムである。第1のチェック値は、TLSプロトコル及び第1のアルゴリズムに従って第1のデータセグメントを処理することにより取得された第1のデータセグメントのMACである。
たとえば、アップグレードファイル(File)がデータ1とデータ2の2つのデータセグメントを順番に含み、第1のアルゴリズムがHMACアルゴリズムである場合、
第1のデータセグメントがデータ1である場合、第1のチェック値はチェック1=HMAC(データ1)であるか、又は
第1のデータセグメントがデータ2である場合、第1のチェック値はチェック2=HMAC(データ2)である。
ステップS208:第1の車載デバイスは、第1の鍵を使用することにより第1のデータセグメントを暗号化して、第1の暗号化されたセグメントを取得する。
ケース1の場合、第1の鍵は、第1の車載デバイス及び第2の車載デバイスのために事前に設定された事前共有鍵(pre-shared key、PSK)であってもよいし、セキュリティアルゴリズム又はセキュリティプロトコル、たとえばTLSプロトコルに従って第1の車載デバイスと第2の車載デバイスとの間のネゴシエーションを通して取得された鍵であってもよい。第1の車載デバイスは、第1の鍵を使用することにより第1のデータセグメント及び第1のチェック値を暗号化して、第1の暗号化されたセグメントを取得してもよい。
ケース2の場合、第1の鍵は、TLSプロトコルなどのセキュリティプロトコルに従って、ネゴシエーションを通して取得された鍵であってもよい。第1の車載デバイスは、第1の鍵を使用することにより第1のデータセグメントを暗号化して、第1の暗号化された鍵を取得してもよい。
ステップS209:第1の車載デバイスは、第1の暗号化されたセグメントを第2の車載デバイスに送信する。
ケース1の場合、第1の車載デバイスは、第1の暗号化されたセグメントを第2の車載デバイスに送信し、第1の暗号化されたセグメントは、第1のアルゴリズムに従って第1のデータセグメント及び第1のチェック値を暗号化することにより、第1の車載デバイスによって取得される。
ケース2の場合、第1の車載デバイスが第1の暗号化セグメント及び第1のチェック値を第2の車載デバイスに送信する。
ステップS210:第2の車載デバイスは、第1の暗号化されたセグメントを受信する。
ケース1の場合、第2の車載デバイスは、第1の車載デバイスが送信した第1の暗号化されたセグメントを受信する。第1の暗号化セグメントは、第1のアルゴリズムに従って第1のデータセグメント及び第1のチェック値を暗号化することにより、第1の車載デバイスによって取得される。
ケース2の場合、第2の車載デバイスは、第1の車載デバイスが送信した第1の暗号化されたセグメント及び第1のチェック値を受信する。
ステップS211:第2の車載デバイスは、第1の鍵を使用することにより第1の暗号化されたセグメントを復号して、第1のデータセグメントを取得する。
ケース1の場合、第2の車載デバイス、任意選択で、たとえば、第2の車載デバイスのブートローダ(BootLoader)は、第1の鍵を使用することにより第1の暗号化されたセグメントを復号して、第1のデータセグメント及び第1のチェック値を取得する。
ケース2の場合、第2の車載デバイス、任意選択で、たとえば、第2の車載デバイスのブートローダ(BootLoader)は、第1の鍵を使用することにより第1の暗号化されたセグメントを復号して、第1のデータセグメントを取得する。
ステップS212:第2の車載デバイスは、第1のアルゴリズムに従って第1のチェック値の検証に成功したときに、第1のデータセグメントを第2の車載デバイスに記憶する。
具体的には、第2の車載デバイス、任意選択で、たとえば、第2の車載デバイスのブートローダ(BootLoader)は、第1のアルゴリズムに従って、復号を通して取得された第1のデータセグメントに対応するチェック値を計算し、受信又は復号を通してそのチェック値を第1のチェック値と比較する。チェック値が受信又は復号を通して取得された第1のチェック値と同じであり、完全性検証に成功した場合、第2の車載デバイスは、第2の車載デバイスのフラッシュに対応するアドレスユニットに第1のデータセグメントを記憶する。受信又は復号を通して取得されたチェック値と第1のチェック値とが異なり、完全性検証に失敗した場合、第2の車載デバイスは、アップグレードファイルの書き込み処理を停止し、第1のデータセグメントが異常であることを示すアラームを、車両内にあり、車両システムの故障診断及び保護を実施するように構成されている車載デバイス、たとえば、VCUに報告する。
ステップS213:第2の車載デバイスは、アップグレードのための第1のデータセグメントに基づいてアップグレードファイルを形成する。
具体的には、ステップS207~S212は、1つのデータセグメントのセキュアな書き込み処理に対応し、アップグレードファイルのn個のデータセグメントの各データセグメントは、ステップS207~S212で説明した方式で、第2の車載デバイスに書き込まれる。n個のデータセグメントが全て第2の車載デバイスに書き込まれた後、第2の車載デバイスは、n個のデータセグメントを組み立てて、アップグレードファイルを取得し、アップグレードファイルに基づいてシステムをアップグレードしてもよい。
前述の方法では、第2の車載デバイスをアップグレードするために使用されるアップグレードファイル内の複数のデータセグメントのうちの各データセグメントが、別々に暗号化及び送信されて、車内伝送プロセスにおける各データセグメントを盗むリスクを効果的に低減し、車内伝送プロセスにおける各データセグメントの機密性を保証する。追加的に、受信端末(つまり、第2の車載デバイス)は、最後のデータセグメントの伝送が完了した後にのみアップグレードファイル全体を検証する代わりに、各データセグメントに対応するチェック値を検証する必要があり、受信端末が、改ざんされた異常データセグメントを時間内に検出することができ、異常データセグメントを検出した後に、新しいデータセグメントを停止することの停止を適時にトリガすることができるようにし、異常データセグメントが第2の車載デバイスに書き込まれたために、第2の車載デバイスが異常に動作するか、又はリソースが無駄になるケースを回避し、各データセグメントの完全性を確保し、アップグレードファイル伝送プロセスのセキュリティを効果的に改善する。
図2A及び図2Bに示される前述の方法の実施形態は、多くの可能な実施態様の解決策を含む。以下、図3A、図3B、図4A、図4B、及び図5を参照して、いくつかの実施態様の解決策を別々に図示する。図3A、図3B、図4A、図4B、及び図5に説明されていない関連する概念、動作、論理関係の説明については、図2A、及び図2Bに示す実施形態における対応する説明を参照することに留意されたい。したがって、再度、詳細は説明しない。
図3A及び図3Bは、本出願の一実施形態による、別の車載デバイスアップグレード方法の概略フローチャートである。本方法は、図1に示す車載デバイスアップグレードシステムに基づいて実施されてもよい。本方法は、以下のステップを含むが、これらに限定されない。
ステップS301:第1の車載デバイスは、第1の鍵を設定する。
ステップS302:第2の車載デバイスは、第1の鍵を設定する。
具体的には、第1の鍵は、第1の車載デバイス及び第2の車載デバイスのために事前に設定された事前共有鍵(pre-shared key、PSK)である。第1の鍵は、第1の車載デバイス及び第2の車載デバイスに手動で設定される鍵であってもよいし、サードパーティのデバイスによって生成され、第1の車載デバイス及び第2の車載デバイスに送信される鍵であってもよい。サードパーティデバイスは、有線リンク又は無線リンクを使用することにより第1の車載デバイス及び第2の車載デバイスと通信してもよい。
ステップS303:第1の車載デバイスは、第1のアルゴリズムの入力として第1のデータセグメントを使用して、第1のデータセグメントに対応する出力チェック値を取得する。
具体的には、第1のアルゴリズムはハッシュアルゴリズムであり、チェック値は、第1のアルゴリズムに従って第1の車載デバイスが取得するハッシュ値である。第1の車載デバイスは、第1のアルゴリズムの入力として、第2の車載デバイスをアップグレードするために使用されるアップグレードファイルに含まれる複数のデータセグメント(たとえば、n個のデータセグメント)のうちの第1のデータセグメントを使用して、出力ハッシュ値、すなわち第1のチェック値を取得してもよい。
たとえば、第1のデータセグメントがデータ1であり、第1のアルゴリズムがMD5アルゴリズムである場合、第1の車載デバイスは、第1のアルゴリズムの入力として第1のデータセグメントを使用することにより、第1のデータセグメントに対応する出力チェック値を取得し、チェック値は、チェック1=MD5(データ1)である。
ステップS304:第1の車載デバイスは、第1の鍵を使用することにより第1のデータセグメント及び第1のデータセグメントに対応するチェック値を暗号化して、第1のデータセグメントに対応する暗号化されたセグメントを取得する。
ステップS305:第1の車載デバイスは、第1のデータセグメントに対応する暗号化されたセグメントを第2の車載デバイスに送信する。
ステップS306:第2の車載デバイスは、第1のデータセグメントに対応する暗号化されたセグメントを受信する。
ステップS307:第2の車載デバイスは、第1の鍵を使用することにより第1のデータセグメントに対応する暗号化されたセグメントを復号して、第1のデータセグメント及び第1のデータセグメントに対応するチェック値を取得する。
ステップS308:第2の車載デバイスは、第1のアルゴリズムに従って第1のデータセグメントに対応するチェック値の検証に成功したときに、第1のデータセグメントを第2の車載デバイスに記憶する。
具体的には、第2の車載デバイスは、第1アルゴリズムの入力として復号を通して取得された第1データセグメントを使用して、出力ハッシュ値を取得し、復号を通して取得された第1のデータセグメントに対応するチェック値とハッシュ値を比較する。ハッシュ値が、復号を通して取得された第1のデータセグメントに対応するチェック値と同じである場合、第2の車載デバイスは、第1のデータセグメントが改ざんされていない(言い換えれば、完全性検証に成功した)とみなし、第1のデータセグメントを第2の車載デバイスのフラッシュに対応するアドレスユニットに記憶する。ハッシュ値が、復号を通して取得された第1のデータセグメントに対応するチェック値と異なる場合、第2の車載デバイスは、第1のデータセグメントが改ざんされた(すなわち、完全性検証に失敗した)とみなし、アップグレードファイルの書き込みを停止し、第1のデータセグメントが異常であることを示すアラームを、車両内にあり、かつ車両システムの故障診断及び保護を実施するように構成されている車載デバイス、たとえば、VCUに報告する。
たとえば、第1のアルゴリズムがMD5アルゴリズムであり、復号を通して取得された第1のデータセグメントがデータ1であり、復号を通して取得された第1のデータセグメントに対応するチェック値がチェック1である場合、第2の車載デバイスは、第1のアルゴリズムの入力として、復号を通して取得された第1のデータセグメントを使用して、出力ハッシュ値ハッシュ1=MD5(データ1)を取得し、ハッシュ1をチェック1と比較する。ハッシュ1とチェック1が同じである場合、完全性検証は成功する。ハッシュ1とチェック1が異なる場合、完全性検証は失敗する。
ステップS309:第1の車載デバイスは、第1のアルゴリズムの入力として、第2のデータセグメント及び第1のデータセグメントに対応するチェック値を使用して、第2のデータセグメントに対応する出力チェック値を取得する。
具体的には、第1のデータセグメントに対応するチェック値は、第1のアルゴリズムに従って第1のデータセグメントを処理することにより取得されたハッシュ値であり、第1のデータセグメントに対応するチェック値は、第1のデータセグメントを送信する処理において、第1の車載デバイスによって第2の車載デバイスに送信される。第2の車載デバイスは、第1のアルゴリズムの入力として第2のデータセグメント及び第1のデータセグメントに対応するチェック値を使用して、第2のデータセグメントに対応するチェック値を取得してもよい。
たとえば、第1のアルゴリズムがMD5アルゴリズムであり、第1のデータセグメントがデータ1であり、第1のデータセグメントに対応するチェック値がチェック1=MD5(データ1)であり、第2のデータセグメントがデータ2である場合、第1の車載デバイスは、第1のアルゴリズムの入力として、第2のデータセグメント及び第1のデータセグメントに対応するチェック値を使用して、第2のデータセグメントに対応するチェック値を取得し、チェック値は、チェック2=MD5(データ2、チェック1)である。
ステップS310:第1の車載デバイスは、第1の鍵を使用することにより第2のデータセグメント及び第2のデータセグメントに対応するチェック値を暗号化して、第2の暗号化されたセグメントを取得する。
ステップS311:第1の車載デバイスは、第2の暗号化されたセグメントを第2の車載デバイスに送信する。
ステップS312:第2の車載デバイスは、第2の暗号化されたセグメントを受信する。
ステップS313:第2の車載デバイスは、第1の鍵を使用することにより第2の暗号化されたセグメントを復号して、第2のデータセグメント及び第2のデータセグメントに対応するチェック値を取得する。
ステップS314:第2の車載デバイスは、第1のアルゴリズムに従って、第2のデータセグメントに対応するチェック値の検証に成功したときに、第2のデータセグメントを第2の車載デバイスに記憶する。
具体的には、第1のアルゴリズムの入力として、復号を通して取得された第2のデータセグメント及び、第1のデータセグメントに対応し、第1のデータセグメントを送信するプロセスで復号を通して取得されたチェック値を使用して、出力ハッシュ値を取得し、ハッシュ値と、第2のデータセグメントに対応し、復号を通して取得されたチェック値とを比較する。ハッシュ値が第2のデータセグメントに対応し、復号を通して取得されたチェック値と同じであり、完全性検証に成功した場合、第2の車載デバイスは、復号を通して取得された第2のデータセグメントを、第2の車載デバイスのフラッシュに対応するアドレスユニットに記憶する。第2のデータセグメントに対応し、復号を通して取得されたチェック値と、ハッシュ値が異なり、完全性検証に失敗した場合、第2の車載デバイスは、アップグレードファイルの書き込みを停止し、第2のデータセグメントが異常であることを示すアラームを、車内にあり、かつ車両システムの故障診断及び保護を実施するために使用される車載デバイス、たとえば、VCUに報告する。
次に、第2の車載デバイスは、ステップS309~S314の方式で、第1のデータセグメント及び第2のデータセグメント以外のアップグレードファイル内のn-2個のデータセグメントを第2の車載デバイスに連続的に書き込む。全てのn個のデータセグメントを第2の車載デバイスに書き込んだ後、第2の車載デバイスは、n個のデータセグメントを組み立てて、アップグレードファイルを取得し、アップグレードファイルに基づいてシステムをアップグレードしてもよい。
たとえば、nは3であり、言い換えると、アップグレードファイル(File)は、データ1、データ2、データ3の3つのデータセグメントを順番に含み、第1のアルゴリズムはMD5アルゴリズムであり、第1のデータセグメントはデータ1であり、第2のデータセグメントはデータ2であり、第1のデータセグメントに対応するチェック値はチェック1であり、第2のデータセグメントに対応するチェック値はチェック2である。データ1及びデータ2の伝送処理は、図3A及び図3Bに既に示されており、詳細は、ここでは再度説明しない。第3のデータセグメントがデータ3であり、第1の車載デバイスが第1のアルゴリズムの入力として第3のデータセグメントに対応するチェック値と第2のデータセグメントに対応するチェック値とを使用することにより、第3のデータセグメントに対応する出力チェック値を求め、チェック値が3=MD5(データ3、チェック2)である場合、第1の鍵を使用することによりデータ3とチェック3を暗号化して第3の暗号化セグメントを求め、第3の暗号化セグメントを第2の車載デバイスに送信する。対応して、第2の車載デバイスは、第1の鍵を使用することにより第3の暗号化セグメントを受信及び復号し、第3のデータセグメントデータ33及び第3のデータセグメントに対応するチェック値チェック33を取得し、第1のアルゴリズムに従って、復号により取得された第3のデータセグメントに対応するハッシュ値を計算し、ハッシュ値は、ハッシュ値3=MD5(データ33、チェック2)であり、ハッシュ値3及びチェック33を比較する。ハッシュ3とチェック33が同じであれば、完全性検証は成功する。ハッシュ3とチェック33が異なる場合、完全性検証は失敗する。3つのデータセグメントが全て第2の車載デバイスに書き込まれると、第2の車載デバイスは、データ1、データ2、及びデータ3を受信シーケンスで組み立て、アップグレードファイル(ファイル)を取得し、アップグレードファイル(ファイル)に基づいてシステムをアップグレードすることができる。
上述の方法では、アップグレードファイル内の複数のデータセグメントにおいて、第1のデータセグメント以外のデータセグメントに対応するチェック値は、前のデータセグメントに対応するチェック値に関連する。データセグメントのためのシーケンス検出メカニズムは、ハッシュチェーンを使用することにより実施されて、異常のあるセグメントが書き込みに成功することによるアップグレードファイル・アセンブリ中のエラー発生するのを回避し、ハッシュチェーンを用いた検証値を使用することにより、アップグレードファイルを悪意を持ってクラックすることの困難さを増加させる。追加的に、各データセグメントの機密性は、セキュリティプロトコル又はセキュリティアルゴリズムネゴシエーションによって取得された鍵の代わりに、事前に設定された事前共有鍵を使用することにより保証され、第1の車載デバイス及び第2の車載デバイスのリソース消費を効果的に低減できる。
図4A及び図4Bは、本出願の一実施形態による、別の車載デバイスアップグレード方法の概略フローチャートである。本方法は、図1に示す車載デバイスアップグレードシステムに基づいて実施することができる。本方法は、以下のステップを含むが、これらに限定されない。
ステップS401:TLSプロトコルに従い、第1の車載デバイスと第2の車載デバイスとの間で双方向認証を行い、交渉により第1の鍵を取得する。
具体的には、第1の鍵は、第1の車載デバイスと第2の車載デバイスとの間のTLSプロトコルネゴシエーションを通して取得される鍵である。TLSプロトコルによる双方向認証の原理は、図2A及び図2Bに記載のHTTPSによる双方向認証の原理と同じである。第1の車載デバイス及び第2の車載デバイスは、攻撃者が第1の車載デバイスを偽造して悪意のあるアップグレードファイルを配信したり、第2の車載デバイスを偽造してアップグレードファイルに含まれる重要情報を盗むことを防止するために、それぞれのデバイス証明書又はプリセット鍵を用いて、双方向のID認証を行うことができる。双方向認証がTLSプロトコルに従って行われるとき、第1の車載デバイスと第2の車載デバイスは、第1のアルゴリズムのタイプや、暗号化と復号に使用される第1の鍵のような、伝送に使用されるパラメータをネゴシエーションすることができる。
ステップS402:第1の車載デバイスは、第1のアルゴリズムの入力として第1のデータセグメントを使用し、第1のデータセグメントに対応する出力チェック値を取得する。
ステップS403:第1の車載デバイスは、第1の鍵、第1のデータセグメント、及び第1のデータセグメントに対応するチェック値を使用することにより暗号化し、第1のデータセグメントに対応する暗号化されたセグメントを取得する。
ステップS404:第1の車載デバイスは、第1のデータセグメントに対応する暗号化されたセグメントを第2の車載デバイスに送信する。
ステップS405:第2の車載デバイスは、第1のデータセグメントに対応する暗号化されたセグメントを受信する。
ステップS406:第2の車載デバイスは、第1の鍵を使用することにより、第1のデータセグメントに対応する暗号化されたセグメントを復号し、第1のデータセグメントに対応する第1のデータセグメント及びチェック値を取得する。
ステップS407:第2の車載デバイスは、第1のアルゴリズムに従って、第1のデータセグメントに対応するチェック値を検証することに成功した場合、第1のデータセグメントを第2の車載デバイスに記憶する。
ステップS408:第1の車載デバイスは、第1のアルゴリズムの入力として、第2のデータセグメントと、第1のデータセグメントに対応するチェック値とを用いて、第2のデータセグメントに対応する出力チェック値を取得する。
ステップS409:第1の車載デバイスは、第1の鍵、第2のデータセグメント、及び第2のデータセグメントに対応するチェック値を使用することにより暗号化され、第2の暗号化されたセグメントを取得する。
ステップS410:第1の車載デバイスは、第2の暗号化されたセグメントを第2の車載デバイスに送信する。
ステップS411:第2の車載デバイスは、第2の暗号化セグメントを受信する。
ステップS412:第2の車載デバイスは、第1の鍵を使用することによって第2の暗号化されたセグメントを復号し、第2のデータセグメント及び第2のデータセグメントに対応するチェック値を取得する。
ステップS413:第2の車載デバイスは、第1のアルゴリズムに従って、第2のデータセグメントに対応するチェック値を検証することに成功した場合、第2のデータセグメントを第2の車載デバイスに記憶する。
具体的には、ステップS402~S413のアップグレードファイルをセグメント単位で書き込む処理は、図3A及び図3BのステップS303~S314のアップグレードファイルをセグメント単位で書き込む処理と整合する。詳細は、ここでは再度説明しない。
前述の方法では、LSプロトコルネゴシエーションを通して取得された鍵を使用することにより各データセグメントを暗号化することが、各データセグメントの機密性を保証できることが分かる。追加的に、異なる第2の車載デバイスに対して、第1の車載デバイスと第2の車載デバイスとの間で行われる異なる双方向認証プロセスが存在し、ネゴシエーションを通して取得される異なる第1の鍵、言い換えると、異なるアップグレードファイルが異なる暗号化鍵及び復号鍵に対応し、アップグレードファイル伝送プロセスのセキュリティを大幅に改善することができる。
図5は、本出願の一実施形態による別の車載デバイスアップグレード方法の概略フローチャートである。本方法は、図1に示す車載デバイスアップグレードシステムを使用することにより実施してもよい。本方法によれば、RFC5246標準におけるTLSプロトコルを、セグメントごとにアップグレードファイルを書き込むプロセスに適用してもよい。本方法は、以下のステップを含むが、これらに限定されない。
ステップS501:TLSプロトコルに従って、第1の車載デバイスと第2の車載デバイスとの間で双方向認証が行われる。
具体的には、RFC5246標準におけるTLSプロトコルは、ハンドシェイクフェーズ及び伝送フェーズを含む。ハンドシェイクフェーズ(すなわち、TLSプロトコルに従った双方向認証)では、TLSプロトコルに従って第1の車載デバイスと第2の車載デバイスとの間で双方向認証が行われて、アイデンティティ認証を実施し、後続の伝送フェーズで使用される完全性保護アルゴリズム(すなわち、第1のアルゴリズム)とアップグレードファイルの機密性を保証するために使用される第1の鍵がネゴシエーションされる。伝送フェーズでは、第1の車載デバイス及び第2の車載デバイスは、TLSプロトコルに従って各データセグメントを伝送するプロセスの機密性及び完全性を保護し、車載デバイスをアップグレードするプロセスのセキュリティを確保する。
ステップS502:第1の車載デバイス及び第2の車載デバイスは、第1のデータセグメントを送信するプロセスで、TLSプロトコルに従って暗号化及び完全性保護を行う。
具体的には、第2の車載デバイスをアップグレードするために使用されるアップグレードファイルは、複数のデータセグメントを含む。第1の車載デバイス及び第2の車載デバイスは、RFC5246標準におけるTLSプロトコルに従って、第2の車載デバイスをアップグレードするために使用されるアップグレードファイルに含まれる複数のデータセグメント(たとえば、n個のデータセグメント)のうちの第1のデータセグメントの機密性及び完全性を保護してもよい。
具体的には、第1の車載デバイスは、ネゴシエーションされた第1の鍵を使用することにより第1のデータセグメントを暗号化して、第1のデータセグメントに対応する暗号化されたセグメントを取得し、ネゴシエーションされた第1のアルゴリズムに従って、第1のデータセグメントに対応するMAC、すなわち第1のデータセグメントに対応するチェック値を計算し、第2の車載デバイスに、第1のデータセグメントに対応する暗号化されたセグメント及び第1のデータセグメントに対応するMACを送信する。
これに対応して、第2の車載デバイスは、第1のデータセグメントに対応する暗号化されたセグメント及び第1のデータセグメントに対応するMACを受信し、ネゴシエーションされた第1の鍵を使用することにより第1のデータセグメントに対応する暗号化されたセグメントを復号して、第1のデータセグメントを取得し、ネゴシエーションされた第1のアルゴリズムに従って、復号を通して取得された第1のデータセグメントに対応するMACを計算し、次いで、計算を通して第2の車載デバイスが取得したMACと、第1のデータセグメントに対応する受信されたMACを比較する。第1のデータセグメントに対応する受信されたMACと計算を通して第2の車載デバイスが取得したMACが同一である場合、第2の車載デバイスは、第1のデータセグメントが改ざんされていない(言い換えれば、完全性確認に成功した)とみなし、復号を通して取得された第1のデータセグメントを、第2の車載デバイスのフラッシュに対応するアドレスユニットに記憶する。第1のデータセグメントに対応する受信されたMACと計算を通して第2の車載デバイスが取得したMACが異なる場合、第2の車載デバイスは、第1のデータセグメントが改ざんされた(言い換えれば、完全性検証に失敗した)とみなし、アップグレードファイルの書き込みを停止し、第1のデータセグメントが異常であることを示すアラームを、車内にあり、かつ車両システムの故障診断及び保護を実施するように構成されている車載デバイス、たとえば、VCUに報告する。
たとえば、第1のデータセグメントがデータ1であり、第1のアルゴリズムがHMACアルゴリズムである場合、第1の車載デバイスは、第1のアルゴリズムに従った計算を通して、第1のデータセグメントデータ1に対応するMAC値を取得し、MACは、チェック1=HMAC(データ1)である。対応して、第2の車載デバイスは、第1のアルゴリズムに従って、復号を通して取得された第1のデータセグメントデータ11に対応するMAC値を計算し、ここで、MACは、mac1=HMAC(データ11)であり、チェック1とmac1とを比較する。チェック1とmac1が同じであれば、完全性検証に成功する。チェック1とmac1が異なる場合、完全性検証は失敗する。
ステップS503:第1の車載デバイス及び第2の車載デバイスは、第2のデータセグメントを送信するプロセスで、TLSプロトコルに従って、暗号化及び完全性保護を行う。
具体的には、アップグレードファイル内のn個のデータセグメントのうちの第1のデータセグメント以外の各データセグメントを送信するプロセスで、TLSプロトコルに従って、暗号化及び完全性保護が継続して行われる。言い換えれば、アップグレードファイルのn個のデータセグメントのうちの第1のデータセグメント以外の各データセグメントは、ステップS502の方式で第2の車載デバイスに書き込まれる。n個のデータセグメントが全て第2の車載デバイスに書き込まれた後、第2の車載デバイスは、n個のデータセグメントを組み立てて、アップグレードファイルを取得し、アップグレードファイルに基づいてシステムをアップグレードしてもよい。
前述の方法では、各データセグメントの機密性と完全性は、RFC5246標準におけるTLSプロトコルに従って保護される。
本出願の本実施形態では、第2の車載デバイスをアップグレードするために使用されるアップグレードファイル内の複数のデータセグメントのうちの各データセグメントが、別々に暗号化及び送信されて、車内伝送プロセスの機密性を保証する。第1の車載デバイス及び第2の車載デバイスは、ハッシュチェーン又はTLSプロトコルで一般的に使用される完全性保護アルゴリズムを使用することにより、各データセグメントの完全性を保護し、第1の車載デバイス及び第2の車載デバイスは、異常データセグメントを時間内に検出することができ、異常データセグメントを検出した後、タイムリーに新しいデータセグメントの送信の停止をトリガし、異常なデータがセグメントごとに第2の車載デバイスに書き込まれるため、第2の車載デバイスが異常に動作するか、又はリソースが浪費されるケースを回避する。
追加的に、アップグレードパッケージソースの有効性を保証するために、アップグレードファイルを提供するダウンロードサーバは、HTTPSプロトコルに従って第1の車載デバイスとの双方向認証を行うサーバである。ダウンロードサーバ及び第1の車載デバイスは、暗号化されたアップグレードファイルを送信する。第1の車載デバイスは、暗号化されたアップグレードファイルを記憶し、記憶中のアップグレードファイルの機密性を確保する。
以上、本出願の実施態様における方法を詳細に説明した。以下、本出願の実施形態における装置を提供する。
図6は、本出願の一実施形態による第1の車載デバイスの概略構造図である。第1の車載デバイス600は、処理ユニット601、暗号化ユニット602、及び通信ユニット603を含んでもよい。ユニットの詳細な説明は以下のようである。
処理ユニット601は、第1のアルゴリズムに従って第1のデータセグメントを処理するように構成されている。第1のデータセグメントは、第2の車載デバイスをアップグレードするために使用されるアップグレードファイルに含まれる複数のデータセグメントのうちの任意のデータセグメントである。第1のチェック値は、第2の車載デバイスに送信される。
暗号化ユニット602は、第1の鍵を使用することにより第1のデータセグメントを暗号化して、第1の暗号化されたセグメントを取得するように構成されている。
通信ユニット603は、第1の暗号化されたセグメントを第2の車載デバイスに送信するように構成されており、第1のアルゴリズム従った第1のチェック値の検証に成功したときに、第2の車載デバイスは、第1の鍵を使用することにより第1の暗号化されたセグメントを復号することによって取得された第1のデータセグメントを第2の車載デバイスに記憶する。第1のデータセグメントは、アップグレードのためのアップグレードファイルを形成するために、第2の車載デバイスによって使用される。
第2の車載デバイスをアップグレードするために使用されるアップグレードファイル内の複数のデータセグメントのうちの各データセグメントが、別々に暗号化及び送信されて、車内伝送プロセスにおける各データセグメントを盗むリスクを効果的に低減し、車内伝送プロセスにおける各データセグメントの機密性を保証することが分かる。追加的に、受信端末(つまり、第2の車載デバイス)は、最後のデータセグメントの伝送が完了した後にのみアップグレードファイル全体を検証する代わりに、各データセグメントに対応するチェック値を検証する必要があり、受信端末が、改ざんされた異常データセグメントを時間内に検出することができ、異常データセグメントを検出した後に、新しいデータセグメントを停止することの停止を適時にトリガすることができるようにし、異常データセグメントが第2の車載デバイスに書き込まれたために、第2の車載デバイスが異常に動作するか、又はリソースが無駄になるケースを回避し、各データセグメントの完全性を確保し、アップグレードファイル伝送プロセスのセキュリティを効果的に改善する。
任意選択の解決策では、第1の車載デバイス600は、ネゴシエーションユニット及び復号ユニットをさらに含む。
ネゴシエーションユニットは、処理ユニット601が第1のアルゴリズムに従って第1のデータセグメントを処理して、第1のチェック値を取得する前に、HTTPSネゴシエーションを通してダウンロードサーバとの双方向認証を実行するように構成されている。ダウンロードサーバは、第2の車載デバイスにアップグレードファイルを提供するように構成されている。
通信ユニット603は、ダウンロードサーバが送信した暗号化ファイルを受信するように構成されている。暗号化されたファイルは、アップグレードファイルを暗号化することによって取得される。
復号ユニットは、プリセットされたアップグレード条件が満たされたときに、暗号化されたファイルを復号して、アップグレードファイルを取得するように構成されている。
アップグレードファイルを提供するダウンロードサーバは、HTTPSプロトコルに従って第1の車載デバイスとの双方向認証を行うサーバであり、アップグレードファイルの送信元が有効であり、非認証プラットフォームが、不正なアップグレードファイルを第1の車載デバイスに配信することが防止され、攻撃者が、ダウンロードサーバからリリースされ、かつ重要情報を含むアップグレードファイルを上述の第1の車載デバイスから盗むことが防止されることが分かる。追加的に、暗号化されたアップグレードファイルがダウンロードサーバと第1の車載デバイスとの間で送信され、第1の車載デバイスが暗号化されたアップグレードファイルを記憶し、アップグレードファイルを盗むリスクを効果的に低減することができ、車外伝送プロセス及び記憶中のアップグレードファイルの機密性を保証することができ、アップグレードファイル伝送プロセスの安全性を効果的に改善することができるようにする。
別の任意選択の解決策では、第1のデータセグメントがアップグレードファイル内の複数のデータセグメントのうちの第1のデータセグメントである場合、第1のチェック値は、第1のアルゴリズムの入力として第1のデータセグメントを使用することにより取得される出力データである。
代替的には、第1のデータセグメントがアップグレードファイル内の複数のデータセグメントのうちの第1のデータセグメント以外のデータセグメントである場合、第1のチェック値は、第1のアルゴリズムの入力として第1のデータセグメント及び第2のチェック値を使用することにより取得される出力データであり、第2のチェック値は、第1のアルゴリズムに従って第1のデータセグメントの前のデータセグメントを処理することにより取得される。
アップグレードファイル内の複数のデータセグメントにおいて、第1のデータセグメント以外のデータセグメントに対応するチェック値は、前のデータセグメントに対応するチェック値に関連することが分かる。データセグメントのためのシーケンス検出メカニズムは、ハッシュチェーンを使用することにより実施されて、異常のあるセグメントが書き込みに成功することによるアップグレードファイル・アセンブリ中のエラー発生するのを回避し、ハッシュチェーンを用いた検証値を使用することにより、アップグレードファイルを悪意を持ってクラックすることの困難さを増加させる。
別の任意選択の解決策では、第1の暗号化されたセグメントは、第1の鍵を使用することにより第1のデータセグメント及び第1のチェック値を暗号化することによって取得される。
第1のデータセグメントが暗号化される間、第1のチェック値がさらに暗号化され得ることが分かる。これは、アップグレードファイル伝送プロセスのセキュリティをさらに改善する。
別の任意選択の解決策では、第1の鍵は、第1の車載デバイスと第2の車載デバイスのために事前に設定された事前共有鍵である。
各データセグメントの機密性は、セキュリティプロトコル又はセキュリティアルゴリズムネゴシエーションによって取得された鍵の代わりに、事前に設定された事前共有鍵を使用することにより保証され、第1の車載デバイス及び第2の車載デバイスのリソース消費を効果的に低減できることが分かる。
別の任意選択の解決策では、第1の鍵は、TLSプロトコルに従って第1の車載デバイスと第2の車載デバイスとの間で双方向認証ネゴシエーションを行うことによって取得される鍵である。
TLSプロトコルネゴシエーションを通して取得された鍵を使用することにより各データセグメントを暗号化することが、各データセグメントの機密性を保証できることが分かる。追加的に、異なる第2の車載デバイスに対して、第1の車載デバイスと第2の車載デバイスとの間で行われる異なる双方向認証プロセスが存在し、ネゴシエーションを通して取得される異なる第1の鍵、言い換えると、異なるアップグレードファイルが異なる暗号化鍵及び復号鍵に対応し、アップグレードファイル伝送プロセスのセキュリティを大幅に改善することができる。
別の任意選択の解決策では、第1の鍵は、TLSプロトコルに従って第1の車載デバイスと第2の車載デバイスとの間で双方向認証ネゴシエーションを行うことによって取得される鍵である。
第1のチェック値は、TLSプロトコルと第1のアルゴリズムに従って第1のデータセグメントを処理することにより取得される、第1のデータセグメントのメッセージ認証コードである。
各データセグメントの機密性と完全性は、アップグレードファイル伝送プロセスのセキュリティを保証するために、TLSプロトコルに従って保護されることが分かる。
各動作の実施については、図2A、図2B、図3A、図3B、図4A、図4B、及び図5に示す方法の実施形態の対応する説明を参照することに留意されたい。第1の車載デバイス600は、図2A、図2B、図3A、図3B、図4A、図4B、及び図5に示す方法の実施形態における第1の車載デバイスである。
図7は、本出願の一実施形態による第2の車載デバイスの概略構造図である。第2の車載デバイス700は、通信ユニット701、復号ユニット702、及び検証ユニット703を含んでもよい。ユニットの詳細は以下のようである。
通信ユニット701は、第1の車載デバイスが送信した第1の暗号化セグメントを受信するように構成されており、第1の暗号化セグメントは、第1の鍵を使用することにより第1のデータセグメントを暗号化することにより取得され、第1のデータセグメントは、第2の車載デバイスをアップグレードするために使用されるアップグレードファイルに含まれる複数のデータセグメントのうちの任意のデータセグメントである。
復号ユニット702は、第1の鍵を使用することにより第1の暗号化されたセグメントを復号して、第1のデータセグメントを取得するように構成されている。
検証ユニット703は、第1のアルゴリズムに従った第1のチェック値の検証に成功したときに、第1のデータセグメントを第2の車載デバイスに記憶するように構成されており、第1のチェック値は、第1のアルゴリズムに従って第1のデータセグメントを処理することにより第1の車載デバイスによって取得され、第1のチェック値は、第1の車載デバイスから第2の車載デバイスによって受信される。
アップグレードユニット704は、アップグレードのための第1のデータセグメントに基づいてアップグレードファイルを形成するように構成されている。
任意選択の解決策では、第1のデータセグメントがアップグレードファイル内の複数のデータセグメントのうちの第1のデータセグメントである場合、第1のチェック値は、第1のアルゴリズムの入力として第1のデータセグメントを使用することにより取得される出力データである。
代替的には、第1のデータセグメントがアップグレードファイル内の複数のデータセグメントのうちの第1のデータセグメント以外のデータセグメントである場合、第1のチェック値は、第1のアルゴリズムの入力として第1のデータセグメント及び第2のチェック値を使用することにより取得される出力データであり、第2のチェック値は、第1のアルゴリズムに従って第1のデータセグメントの前のデータセグメントを処理することにより取得される。
別の任意選択の解決策では、第1の暗号化されたセグメントは、第1の鍵を使用することにより第1のデータセグメント及び第1のチェック値を暗号化することによって取得される。
別の任意選択の解決策では、第1の鍵は、第1の車載デバイスと第2の車載デバイスのために事前に設定された事前共有鍵である。
別の任意選択の解決策では、第1の鍵は、TLSプロトコルに従って第1の車載デバイスと第2の車載デバイスとの間で双方向認証ネゴシエーションを行うことによって取得される鍵である。
別の任意選択の解決策では、第1の鍵は、TLSプロトコルに従って第1の車載デバイスと第2の車載デバイスとの間で双方向認証ネゴシエーションを行うことによって取得される鍵である。
第1のチェック値は、TLSプロトコルと第1のアルゴリズムに従って第1のデータセグメントを処理することにより取得される、第1のデータセグメントのメッセージ認証コードである。
各動作の実施については、図2A、図2B、図3A、図3B、図4A、図4B、及び図5に示す方法における実施形態の対応する説明を参照することに留意されたい。第2の車載デバイス700は、図2A、図2B、図3A、図3B、図4A、図4B、及び図5に示す方法における実施形態における第2の車載デバイスである。
図8は、本出願の一実施形態による、さらに別の第1の車載デバイスの概略構造図である。第1の車載デバイス800は、プロセッサ801、メモリ802、及びトランシーバ803を含んでもよい。プロセッサ801、メモリ802、及びトランシーバ803は、バスを使用することにより互いに接続される。
メモリ802は、ランダムアクセスメモリ(random access memory、RAM)、リードオンリーメモリ(read-only memory、ROM)、消去可能プログラマブルリードオンリーメモリ(erasable programmable read only memory、EPROM)、又はコンパクトディスクリードオンリーメモリ(compact disc read-only memory、CD-ROM)を含むが、これらに限定されない。メモリ802は、関連するコンピュータプログラム及びデータを記憶するように構成されている。トランシーバ803は、データを送信及び受信するように構成されている。
プロセッサ801は、1つ以上の中央処理装置(central processing unit、CPU)であってもよい。プロセッサ801が1つのCPUを含むときに、CPUは、シングルコアCPUであってもよいし、マルチコアCPUであってもよい。
第1の車載デバイス800内のプロセッサ801は、メモリ802に記憶されたコンピュータプログラムコードを読み出して、
第1のアルゴリズムに従って第1のデータセグメントを処理して、第1のチェック値を取得することであって、第1のデータセグメントは、第2の車載デバイスをアップグレードするために使用されるアップグレードファイルに含まれる複数のデータセグメントのうちの任意のデータセグメントであり、第1のチェック値は、第2の車載デバイスに送信される、ことと、
第1の鍵を使用することにより第1のデータセグメントを暗号化して、第1の暗号化されたセグメントを取得することと、
第1の暗号化されたセグメントを第2の車載デバイスに送信するようにトランシーバを制御することであって、第2の車載デバイスが、第1のアルゴリズムに従って第1のチェック値の検証に成功したときに、第1の鍵を使用することにより第1の暗号化されたセグメントを復号することによって取得された第1のデータセグメントを第2の車載デバイスに記憶するようにし、第1のデータセグメントは、アップグレードのためのアップグレードファイルを形成するために第2の車載デバイスによって使用される、ことと、を行う動作を行うように構成されている。
任意選択の解決策では、プロセッサ801は、第1のアルゴリズムに従って第1のデータセグメントを処理して、第1のチェック値を取得することの前に、HTTPSに従ってダウンロードサーバと双方向認証を行うことであって、ダウンロードサーバは、第2の車載デバイスにアップグレードファイルを提供するように構成されている、ことと、ダウンロードサーバが送信した暗号化されたファイルを受信するようにトランシーバ803を制御することであって、暗号化されたファイルは、アップグレードファイルを暗号化することにより取得される、ことと、プリセットされたアップグレード条件が満たされたときに、暗号化されたファイルを復号して、アップグレードファイルを取得することと、を行うようにさらに構成されている。
任意選択の解決策では、第1のデータセグメントがアップグレードファイル内の複数のデータセグメントのうちの第1のデータセグメントである場合、第1のチェック値は、第1のアルゴリズムの入力として第1のデータセグメントを使用することにより取得される出力データである。
代替的には、第1のデータセグメントがアップグレードファイル内の複数のデータセグメントのうちの第1のデータセグメント以外のデータセグメントである場合、第1のチェック値は、第1のアルゴリズムの入力として第1のデータセグメント及び第2のチェック値を使用することにより取得される出力データであり、第2のチェック値は、第1のアルゴリズムに従って第1のデータセグメントの前のデータセグメントを処理することにより取得される。
別の任意選択の解決策では、第1の暗号化されたセグメントは、第1の鍵を使用することにより第1のデータセグメント及び第1のチェック値を暗号化することによって取得される。
別の任意選択の解決策では、第1の鍵は、第1の車載デバイスと第2の車載デバイスのために事前に設定された事前共有鍵である。
別の任意選択の解決策では、第1の鍵は、TLSプロトコルに従って第1の車載デバイスと第2の車載デバイスとの間で双方向認証ネゴシエーションを行うことによって取得される鍵である。
別の任意選択の解決策では、第1の鍵は、TLSプロトコルに従って第1の車載デバイスと第2の車載デバイスとの間で双方向認証ネゴシエーションを行うことによって取得される鍵である。
第1のチェック値は、TLSプロトコルと第1のアルゴリズムに従って第1のデータセグメントを処理することにより取得される、第1のデータセグメントのメッセージ認証コードである。
各動作の実施については、図2A、図2B、図3A、図3B、図4A、図4B、及び図5に示す方法の実施形態の対応する説明を参照することに留意されたい。第1の車載デバイス800は、図2A、図2B、図3A、図3B、図4A、図4B及び図5に示す方法の実施形態における第1の車載デバイスである。
図9は、本出願の一実施形態による、さらに別の車載デバイスの概略構造図である。第2の車載デバイス900は、プロセッサ901、メモリ902、及びトランシーバ903を含んでもよい。プロセッサ901、メモリ902、及びトランシーバ903は、バスを使用することにより互いに接続される。
メモリ802は、ランダムアクセスメモリ(random access memory、RAM)、リードオンリーメモリ(read-only memory、ROM)、消去可能プログラマブルリードオンリーメモリ(erasable programmable read only memory、EPROM)、又はコンパクトディスクリードオンリーメモリ(compact disc read-only memory、CD-ROM)を含むが、これらに限定されない。メモリ902は、関連するコンピュータプログラム及びデータを記憶するように構成されている。トランシーバ903は、データを送信及び受信するように構成されている。
プロセッサ901は、1つ以上の中央処理装置(central processing unit、CPU)であってもよい。プロセッサ901が1つのCPUである場合、CPUは、シングルコアCPUであってもよいし、マルチコアCPUであってもよい。
第2の車載デバイス900におけるプロセッサ901は、メモリ902に記憶されたコンピュータプログラムコードを読み出して、
第1の車載デバイスによって送信された第1の暗号化されたセグメントを受信するようにトランシーバ903を制御することであって、第1の暗号化されたセグメントは、第1の鍵を使用することにより第1のデータセグメントを暗号化することにより取得され、第1のデータセグメントは、第2の車載デバイスをアップグレードするために使用されるアップグレードファイルに含まれる複数のデータセグメントのうちの任意のデータセグメントである、ことと、
第1の鍵を使用することにより第1の暗号化されたセグメントを復号して、第1のデータセグメントを取得することと、
第1のアルゴリズムに従った第1のチェック値の検証に成功したときに、第1のデータセグメントを第2の車載デバイスに記憶することであって、第1のチェック値は、第1のアルゴリズムに従って第1のデータセグメントを処理することにより第1の車載デバイスにより取得され、第1のチェック値は、第1の車載デバイスから第2の車載デバイスによって受信される、ことと、
アップグレードのための第1のデータセグメントに基づいてアップグレードファイルを形成することと、を行う動作を行うように構成されている。
任意選択の解決策では、第1のデータセグメントがアップグレードファイル内の複数のデータセグメントのうちの第1のデータセグメントである場合、第1のチェック値は、第1のアルゴリズムの入力として第1のデータセグメントを使用することにより取得される出力データである。
代替的には、第1のデータセグメントがアップグレードファイル内の複数のデータセグメントのうちの第1のデータセグメント以外のデータセグメントである場合、第1のチェック値は、第1のアルゴリズムの入力として第1のデータセグメント及び第2のチェック値を使用することにより取得される出力データであり、第2のチェック値は、第1のアルゴリズムに従って第1のデータセグメントの前のデータセグメントを処理することにより取得される。
別の任意選択の解決策では、第1の暗号化されたセグメントは、第1の鍵を使用することにより第1のデータセグメント及び第1のチェック値を暗号化することによって取得される。
別の任意選択の解決策では、第1の鍵は、第1の車載デバイスと第2の車載デバイスのために事前に設定された事前共有鍵である。
別の任意選択の解決策では、第1の鍵は、TLSプロトコルに従って第1の車載デバイスと第2の車載デバイスとの間で双方向認証ネゴシエーションを行うことによって取得される鍵である。
別の任意選択の解決策では、第1の鍵は、TLSプロトコルに従って第1の車載デバイスと第2の車載デバイスとの間で双方向認証ネゴシエーションを行うことによって取得される鍵である。
第1のチェック値は、TLSプロトコルと第1のアルゴリズムに従って第1のデータセグメントを処理することにより取得される、第1のデータセグメントのメッセージ認証コードである。
各動作の実施については、図2A、図2B、図3A、図3B、図4A、図4B、及び図5に示す方法の実施形態の対応する説明を参照することに留意されたい。第2の車載デバイス900は、図2A、図2B、図3A、図3B、図4A、図4B、及び図5に示す方法の実施形態における第2の車載デバイスである。
本出願の一実施形態は、チップシステムをさらに提供する。チップシステムは、少なくとも1つのプロセッサ、メモリ、及びインターフェース回路を含む。メモリ、トランシーバ、及び少なくとも1つのプロセッサは、ラインを使用することにより相互接続され、少なくとも1つのメモリは、コンピュータプログラムを記憶する。コンピュータプログラムがプロセッサによって実行されるときに、図2A、図2B、図3A、図3B、図4A、図4B、若しくは図5に示す実施形態における第1の車載デバイスが行う動作が実施されるか、又は図2A、図2B、図3A、図3B、図4A、図4B、又は図5に示す実施形態における第2の車載デバイスが行う動作が実施される。
本出願の一実施形態は、コンピュータ可読記憶媒体をさらに提供する。コンピュータ可読記憶媒体は、コンピュータプログラムを記憶する。コンピュータプログラムがプロセッサ上で動作するときに、図2A、図2B、図3A、図3B、図4A、図4B、又は図5に示す実施形態における第1の車載デバイスが行う動作が実施されるか、又は図2A、図2B、図3A、図3B、図4A、図4B、又は図5に示す実施形態における第2の車載デバイスが行う動作が実施される。
本出願の一実施形態は、コンピュータプログラム製品をさらに提供する。コンピュータプログラム製品がプロセッサ上で動作するときに、図2A、図2B、図3A、図3B、図4A、図4B、又は図5に示す実施形態における第1の車載デバイスが行う動作が実施されるか、又は図2A、図2B、図3A、図3B、図4A、図4B、又は図5に示す実施形態における第2の車載デバイスが行う動作が実施される。
当業者であれば、実施形態における方法のプロセスの全部又は一部は、関連するハードウェアに命令するコンピュータプログラムによって実施されてもよいことを理解するであろう。コンピュータプログラムは、コンピュータ可読記憶媒体に記憶されてもよい。コンピュータプログラムが動作するときに、実施形態における方法のプロセスが行われる。前述の記憶媒体は、コンピュータプログラムコードを記憶することができる任意の媒体を含み、ROM若しくはランダムアクセスメモリ(略してRAM)、磁気ディスク又は光ディスクなどである。
本出願は、情報技術の分野に関し、特に、車載デバイスのアップグレード方法及び関連装置に関する。
オーバ・ザ・エアー(over the air、OTA)は、無線インターフェースを介して電子デバイス内のファームウェアを遠隔管理及び更新するための技術である。OTAアップグレードは、高効率、利便性、低コストである。現在、OTA技術は、相手先ブランド製造業者(original equipment manufacturer、OEM)の車種に展開されており、車両の電子制御ユニット((electronic control unit、ECU)などのファームウェアをアップグレードするために使用される。車両のオンボードユニット(telematics box、Tbox)は、無線リンクを使用することにより、OEMクラウドサーバからリリースされたソフトウェアアップグレードパッケージを取得し、車両のECUなどのファームウェアにソフトウェアアップグレードパッケージを書き込むことができる。
しかし、現時点では、OTAアップグレードのセキュリティが十分に考慮されていないことが明らかであり、ソフトウェアアップグレードパッケージの伝送プロセスにおいてセキュリティリスクが存在する。たとえば、ソフトウェアアップグレードパッケージに含まれる鍵アルゴリズム及びユーザプライバシーなどの重要な情報は、容易に改ざんされ、盗まれる。ソフトウェアアップグレードパッケージの伝送プロセスのセキュリティをどのように改善するかは、当業者によって研究されている課題である。
本出願の実施形態は、アップグレードファイル伝送プロセスのセキュリティを効果的に改善するための車載デバイスアップグレード方法及び関連装置を開示する。
第1の態様によれば、本出願の実施形態は、車載デバイスアップグレード方法を開示する。本方法は、
第1の車載デバイスによって、第1のアルゴリズムに従って第1のデータセグメントを処理して、第1のチェック値を取得することであって、第1のデータセグメントは、第2の車載デバイスをアップグレードするために使用されるアップグレードファイルに含まれる複数のデータセグメントのうちの任意のデータセグメントであり、第1のチェック値は、第2の車載デバイスに送信される、ことと、
第1の鍵を使用することにより第1のデータセグメントを暗号化して、第1の暗号化されたセグメントを取得することと、
第1の暗号化されたセグメントを第2の車載デバイスに送信して、第2の車載デバイスが、第1のアルゴリズムに従って第1のチェック値の検証に成功したときに、第1の鍵を使用することにより第1の暗号化されたセグメントを復号することによって取得された第1のデータセグメントを第2の車載デバイスに記憶するようにすることであって、第1のデータセグメントは、アップグレードのためのアップグレードファイルを形成するために第2の車載デバイスによって使用される、ことと、を含む。
前述の方法では、第2の車載デバイスをアップグレードするために使用されるアップグレードファイル内の複数のデータセグメントのうちの各データセグメントが、別々に暗号化及び送信されて、各データセグメントを盗むリスクを効果的に低減する。追加的に、受信端末(つまり、第2の車載デバイス)は、最後のデータセグメントの伝送が完了した後にのみアップグレードファイル全体を検証する代わりに、各データセグメントに対応するチェック値を検証する必要があり、受信端末が、改ざんされた異常データセグメントを時間内に検出することができ、異常データセグメントを検出した後に、新しいデータセグメントを停止することの停止を適時にトリガすることができるようにし、アップグレードファイル伝送プロセスのセキュリティを効果的に改善する。
第1の態様の任意選択の解決策では、第1の車載デバイスによって、第1のアルゴリズムに従って第1のデータセグメントを処理して、第1のチェック値を取得する前に、本方法は、
ハイパーテキスト・トランスファー・プロトコル・オーバ・セキュア・ソケット・レイヤ(HTTPS)に従って第1の車載デバイスとダウンロードサーバとの間の双方向認証を行うことであって、ダウンロードサーバは、第2の車載デバイスにアップグレードファイルを提供するように構成されている、ことと、
ダウンロードサーバが送信した暗号化されたファイルを受信することであって、暗号化されたファイルは、アップグレードファイルを暗号化することにより取得される、ことと、
プリセットされたアップグレード条件が満たされたときに、暗号化されたファイルを復号して、アップグレードファイルを取得することと、をさらに含む。
アップグレードファイルを提供するダウンロードサーバは、HTTPSプロトコルに従って第1の車載デバイスとの双方向認証を行うサーバであり、アップグレードファイルの送信元が有効であり、不正なアップグレードファイルを第1の車載デバイスに送達する非認証プラットフォームが防止され、攻撃者が、ダウンロードサーバからリリースされ、かつ重要情報を含むアップグレードファイルを上述の第1の車載デバイスから盗むことが防止されることが分かる。追加的に、暗号化されたアップグレードファイルがダウンロードサーバと第1の車載デバイスとの間で送信され、アップグレードファイルを盗むリスクが効果的に低減され、アップグレードファイル伝送プロセスの安全性が効果的に改善されるようにする。
第1の態様の別の任意選択の解決策では、第1のデータセグメントがアップグレードファイル内の複数のデータセグメントのうちの第1のデータセグメントである場合、第1のチェック値は、第1のアルゴリズムの入力として第1のデータセグメントを使用することにより取得される出力データである。
代替的には、第1のデータセグメントがアップグレードファイル内の複数のデータセグメントのうちの第1のデータセグメント以外のデータセグメントである場合、第1のチェック値は、第1のアルゴリズムの入力として第1のデータセグメント及び第2のチェック値を使用することにより取得される出力データであり、第2のチェック値は、第1のアルゴリズムに従って第1のデータセグメントの前のデータセグメントを処理することにより取得される。
アップグレードファイル内の複数のデータセグメントにおいて、第1のデータセグメント以外のデータセグメントに対応するチェック値は、前のデータセグメントに対応するチェック値に関連することが分かる。データセグメントのためのシーケンス検出メカニズムは、ハッシュチェーンを使用することにより実施されて、異常のあるセグメントが書き込みに成功することによるアップグレードファイル・アセンブリ中のエラー発生するのを回避し、ハッシュチェーンを用いた検証値を使用することにより、アップグレードファイルを悪意を持ってクラックすることの困難さを増加させる。
第1の態様の別の任意選択の解決策では、第1の暗号化されたセグメントは、第1の鍵を使用することにより第1のデータセグメント及び第1のチェック値を暗号化することによって取得される。
第1のデータセグメントが暗号化される間、第1のチェック値がさらに暗号化され得ることが分かる。これは、アップグレードファイル伝送プロセスのセキュリティをさらに改善する。
第1の態様の別の任意選択の解決策では、第1の鍵は、第1の車載デバイスと第2の車載デバイスのために事前に設定された事前共有鍵である。
各データセグメントの機密性は、セキュリティプロトコル又はセキュリティアルゴリズムネゴシエーションによって取得された鍵の代わりに、事前に設定された事前共有鍵を使用することにより保証され、第1の車載デバイス及び第2の車載デバイスのリソース消費を効果的に低減できることが分かる。
第1の態様の別の任意選択の解決策では、第1の鍵は、トランスポート・レイヤ・セキュリティTLSに従って第1の車載デバイスと第2の車載デバイスとの間で双方向認証ネゴシエーションを行うことによって取得される鍵である。
TLSプロトコルネゴシエーションを通して取得された鍵を使用することにより各データセグメントを暗号化することが、各データセグメントの機密性を保証できることが分かる。追加的に、異なる第2の車載デバイスに対して、第1の車載デバイスと第2の車載デバイスとの間で行われる異なる双方向認証プロセスが存在し、ネゴシエーションを通して取得される異なる第1の鍵、言い換えると、異なるアップグレードファイルが異なる暗号化鍵及び復号鍵に対応し、アップグレードファイル伝送プロセスのセキュリティを大幅に改善することができる。
第1の態様の別の任意選択の解決策では、第1の鍵は、TLSプロトコルに従って第1の車載デバイスと第2の車載デバイスとの間で双方向認証ネゴシエーションを行うことによって取得される鍵である。
第1のチェック値は、TLSプロトコルと第1のアルゴリズムに従って第1のデータセグメントを処理することにより取得される、第1のデータセグメントのメッセージ認証コードである。
各データセグメントの機密性と完全性は、アップグレードファイル伝送プロセスのセキュリティを保証するために、TLSプロトコルに従って保護されることが分かる。
第2の態様によれば、本出願の一実施形態は、車載デバイスアップグレード方法であって
第2の車載デバイスによって、第1の車載デバイスによって送信された第1の暗号化されたセグメントを受信することであって、第1の暗号化されたセグメントは、第1の鍵を使用することにより第1のデータセグメントを暗号化することにより取得され、第1のデータセグメントは、第2の車載デバイスをアップグレードするために使用されるアップグレードファイルに含まれる複数のデータセグメントのうちの任意のデータセグメントである、ことと、
第1の鍵を使用することにより第1の暗号化されたセグメントを復号して、第1のデータセグメントを取得することと、
第1のアルゴリズムに従った第1のチェック値の検証に成功したときに、第1のデータセグメントを第2の車載デバイスに記憶することであって、第1のチェック値は、第1のアルゴリズムに従って第1のデータセグメントを処理することにより第1の車載デバイスにより取得され、第1のチェック値は、第1の車載デバイスから第2の車載デバイスによって受信される、ことと、
アップグレードのための第1のデータセグメントに基づいて、アップグレードファイルを形成することと、を含む、方法を提供する。
前述の方法では、第2の車載デバイスをアップグレードするために使用されるアップグレードファイル内の複数のデータセグメントのうちの各データセグメントが、別々に暗号化及び送信されて、各データセグメントを盗むリスクを効果的に低減する。追加的に、受信端末(つまり、第2の車載デバイス)は、最後のデータセグメントの伝送が完了した後にのみアップグレードファイル全体を検証する代わりに、各データセグメントに対応するチェック値を検証する必要があり、受信端末が、改ざんされた異常データセグメントを時間内に検出することができ、異常データセグメントを検出した後に、新しいデータセグメントを停止することの停止を適時にトリガすることができるようにする。これは、アップグレードファイル伝送プロセスのセキュリティを効果的に改善する。
第2の態様の別の任意選択の解決策では、第1のデータセグメントがアップグレードファイル内の複数のデータセグメントのうちの第1のデータセグメントである場合、第1のチェック値は、第1のアルゴリズムの入力として第1のデータセグメントを使用することにより取得される出力データである。
代替的には、第1のデータセグメントがアップグレードファイル内の複数のデータセグメントのうちの第1のデータセグメント以外のデータセグメントである場合、第1のチェック値は、第1のアルゴリズムの入力として第1のデータセグメント及び第2のチェック値を使用することにより取得される出力データであり、第2のチェック値は、第1のアルゴリズムに従って第1のデータセグメントの前のデータセグメントを処理することにより取得される。
アップグレードファイル内の複数のデータセグメントにおいて、第1のデータセグメント以外のデータセグメントに対応するチェック値は、前のデータセグメントに対応するチェック値に関連することが分かる。データセグメントのためのシーケンス検出メカニズムは、ハッシュチェーンを使用することにより実施されて、異常のあるセグメントが書き込みに成功することによるアップグレードファイル・アセンブリ中のエラー発生するのを回避し、ハッシュチェーンを用いた検証値を使用することにより、アップグレードファイルを悪意を持ってクラックすることの困難さを増加させる。
第2の態様の別の任意選択の解決策では、第1の暗号化されたセグメントは、第1の鍵を使用することにより第1のデータセグメント及び第1のチェック値を暗号化することによって取得される。
第1のデータセグメントが暗号化される間、第1のチェック値がさらに暗号化され得ることが分かる。これは、アップグレードファイル伝送プロセスのセキュリティをさらに改善する。
第2の態様の別の任意選択の解決策では、第1の鍵は、第1の車載デバイスと第2の車載デバイスのために事前に設定された事前共有鍵である。
各データセグメントの機密性は、セキュリティプロトコル又はセキュリティアルゴリズムネゴシエーションによって取得された鍵の代わりに、事前に設定された事前共有鍵を使用することにより保証され、第1の車載デバイス及び第2の車載デバイスのリソース消費を効果的に低減できることが分かる。
第2の態様の別の任意選択の解決策では、第1の鍵は、トランスポート・レイヤ・セキュリティTLSに従って第1の車載デバイスと第2の車載デバイスとの間で双方向認証ネゴシエーションを行うことによって取得される鍵である。
TLSプロトコルネゴシエーションを通して取得された鍵を使用することにより各データセグメントを暗号化することが、各データセグメントの機密性を保証できることが分かる。追加的に、異なる第2の車載デバイスに対して、第1の車載デバイスと第2の車載デバイスとの間で行われる異なる双方向認証プロセスが存在し、ネゴシエーションを通して取得される異なる第1の鍵、言い換えると、異なるアップグレードファイルが異なる暗号化鍵及び復号鍵に対応し、アップグレードファイル伝送プロセスのセキュリティを大幅に改善することができる。
第2の態様の別の任意選択の解決策では、第1の鍵は、TLSプロトコルに従って第1の車載デバイスと第2の車載デバイスとの間で双方向認証ネゴシエーションを行うことによって取得される鍵である。
第1のチェック値は、TLSプロトコルと第1のアルゴリズムに従って第1のデータセグメントを処理することにより取得される、第1のデータセグメントのメッセージ認証コードである。
各データセグメントの機密性と完全性は、アップグレードファイル伝送プロセスのセキュリティを保証するために、TLSプロトコルに従って保護されることが分かる。
第3の態様によれば、本出願の一実施形態は、車両に適用される車載デバイスアップグレード方法を提供する。車両は、第1の車載デバイス及び第2の車載デバイスを含む。本方法は、
第1の車載デバイスによって、第1のアルゴリズムに従って第1のデータセグメントを処理して、第1のチェック値を取得することであって、第1のデータセグメントは、第2の車載デバイスをアップグレードするために使用されるアップグレードファイルに含まれる複数のデータセグメントのうちの任意のデータセグメントであり、第1のチェック値は、第2の車載デバイスに送信される、ことと、
第1の車載デバイスによって、第1の鍵を使用することにより第1のデータセグメントを暗号化して、第1の暗号化されたセグメントを取得することと、
第1の車載デバイスによって、第1の暗号化されたセグメントを第2の車載デバイスに送信することと、
第2の車載デバイスによって、第1の車載デバイスによって送信された第1の暗号化されたセグメントを受信すること
第2の車載デバイスによって、第1の鍵を使用することにより第1の暗号化されたセグメントを復号して、第1のデータセグメントを取得することと、
第2の車載デバイスによって、第1のアルゴリズムに従った第1のチェック値の検証に成功したときに、第1のデータセグメントを第2の車載デバイスに記憶することと、
第2の車載デバイスによって、アップグレードのための第1のデータセグメントに基づいて、アップグレードファイルを形成することと、を含む。
前述の方法では、第2の車載デバイスをアップグレードするために使用されるアップグレードファイル内の複数のデータセグメントのうちの各データセグメントが、別々に暗号化及び送信されて、各データセグメントを盗むリスクを効果的に低減する。追加的に、受信端末(つまり、第2の車載デバイス)は、最後のデータセグメントの伝送が完了した後にのみアップグレードファイル全体を検証する代わりに、各データセグメントに対応するチェック値を検証する必要があり、受信端末が、改ざんされた異常データセグメントを時間内に検出することができ、異常データセグメントを検出した後に、新しいデータセグメントを停止することの停止を適時にトリガすることができるようにする。これは、アップグレードファイル伝送プロセスのセキュリティを効果的に改善する。
第3の態様の任意選択の解決策では、第1の車載デバイスによって、第1のアルゴリズムに従って第1のデータセグメントを処理して、第1のチェック値を取得する前に、本方法は、
HTTPSプロトコルに従って第1の車載デバイスとダウンロードサーバとの間の双方向認証を行うことであって、ダウンロードサーバは、第2の車載デバイスにアップグレードファイルを提供するように構成されている、ことと、
第1の車載デバイスによって、ダウンロードサーバが送信した暗号化されたファイルを受信することであって、暗号化されたファイルは、アップグレードファイルを暗号化することにより取得される、ことと、
第1の車載デバイスによって、プリセットされたアップグレード条件が満たされたときに、暗号化されたファイルを復号して、アップグレードファイルを取得することと、をさらに含む。
アップグレードファイルを提供するダウンロードサーバは、HTTPSプロトコルに従って第1の車載デバイスとの双方向認証を行うサーバであり、アップグレードファイルの送信元が有効であり、不正なアップグレードファイルを第1の車載デバイスに送達する非認証プラットフォームが防止され、攻撃者が、ダウンロードサーバからリリースされ、かつ重要情報を含むアップグレードファイルを上述の第1の車載デバイスから盗むことが防止されることが分かる。追加的に、暗号化されたアップグレードファイルがダウンロードサーバと第1の車載デバイスとの間で送信され、アップグレードファイルを盗むリスクが効果的に低減され、アップグレードファイル伝送プロセスの安全性が効果的に改善されるようにする。
第3の態様の別の任意選択の解決策では、第1のデータセグメントがアップグレードファイル内の複数のデータセグメントのうちの第1のデータセグメントである場合、第1のチェック値は、第1のアルゴリズムの入力として第1のデータセグメントを使用することにより取得される出力データである。
代替的には、第1のデータセグメントがアップグレードファイル内の複数のデータセグメントのうちの第1のデータセグメント以外のデータセグメントである場合、第1のチェック値は、第1のアルゴリズムの入力として第1のデータセグメント及び第2のチェック値を使用することにより取得される出力データであり、第2のチェック値は、第1のアルゴリズムに従って第1のデータセグメントの前のデータセグメントを処理することにより取得される。
アップグレードファイル内の複数のデータセグメントにおいて、第1のデータセグメント以外のデータセグメントに対応するチェック値は、前のデータセグメントに対応するチェック値に関連することが分かる。データセグメントのためのシーケンス検出メカニズムは、ハッシュチェーンを使用することにより実施されて、異常のあるセグメントが書き込みに成功することによるアップグレードファイル・アセンブリ中のエラー発生するのを回避し、ハッシュチェーンを用いた検証値を使用することにより、アップグレードファイルを悪意を持ってクラックすることの困難さを増加させる。
第3の態様の別の任意選択の解決策では、第1の暗号化されたセグメントは、第1の鍵を使用することにより第1のデータセグメント及び第1のチェック値を暗号化することによって取得される。
第1のデータセグメントが暗号化される間、第1のチェック値がさらに暗号化され得ることが分かる。これは、アップグレードファイル伝送プロセスのセキュリティをさらに改善する。
第3の態様の別の任意選択の解決策では、第1の鍵は、第1の車載デバイスと第2の車載デバイスのために事前に設定された事前共有鍵である。
各データセグメントの機密性は、セキュリティプロトコル又はセキュリティアルゴリズムネゴシエーションによって取得された鍵の代わりに、事前に設定された事前共有鍵を使用することにより保証され、第1の車載デバイス及び第2の車載デバイスのリソース消費を効果的に低減できることが分かる。
第3の態様の別の任意選択の解決策では、第1の鍵は、トランスポート・レイヤ・セキュリティTLSに従って第1の車載デバイスと第2の車載デバイスとの間で双方向認証ネゴシエーションを行うことによって取得される鍵である。
TLSプロトコルネゴシエーションを通して取得された鍵を使用することにより各データセグメントを暗号化することが、各データセグメントの機密性を保証できることが分かる。追加的に、異なる第2の車載デバイスに対して、第1の車載デバイスと第2の車載デバイスとの間で行われる異なる双方向認証プロセスが存在し、ネゴシエーションを通して取得される異なる第1の鍵、言い換えると、異なるアップグレードファイルが異なる暗号化鍵及び復号鍵に対応し、アップグレードファイル伝送プロセスのセキュリティを大幅に改善することができる。
第3の態様の別の任意選択の解決策では、第1の鍵は、TLSプロトコルに従って第1の車載デバイスと第2の車載デバイスとの間で双方向認証ネゴシエーションを行うことによって取得される鍵である。
第1のチェック値は、TLSプロトコルと第1のアルゴリズムに従って第1のデータセグメントを処理することにより取得される、第1のデータセグメントのメッセージ認証コードである。
各データセグメントの機密性と完全性は、アップグレードファイル伝送プロセスのセキュリティを保証するために、TLSプロトコルに従って保護されることが分かる。
第4の態様によれば、本出願の実施形態は、第1の車載デバイスであって、
第1のアルゴリズムに従って第1のデータセグメントを処理して、第1のチェック値を取得するように構成されている処理ユニットであって、第1のデータセグメントは、第2の車載デバイスをアップグレードするために使用されるアップグレードファイルに含まれる複数のデータセグメントのうちの任意のデータセグメントであり、第1のチェック値は、第2の車載デバイスに送信される、処理ユニットと、
第1の鍵を使用することにより第1のデータセグメントを暗号化して、第1の暗号化されたセグメントを取得するように構成されている暗号化ユニットと、
第1の暗号化されたセグメントを第2の車載デバイスに送信するように構成されている通信ユニットであって、第2の車載デバイスが、第1のアルゴリズムに従って第1のチェック値の検証に成功したときに、第1の鍵を使用することにより第1の暗号化されたセグメントを復号することによって取得された第1のデータセグメントを第2の車載デバイスに記憶するようにし、第1のデータセグメントは、アップグレードのためのアップグレードファイルを形成するために第2の車載デバイスによって使用される、通信ユニットと、を含む、第1の車載デバイスを提供する。
前述の装置では、第2の車載デバイスをアップグレードするために使用されるアップグレードファイル内の複数のデータセグメントのうちの各データセグメントが、別々に暗号化及び送信されて、各データセグメントを盗むリスクを効果的に低減する。追加的に、受信端末(つまり、第2の車載デバイス)は、最後のデータセグメントの伝送が完了した後にのみアップグレードファイル全体を検証する代わりに、各データセグメントに対応するチェック値を検証する必要があり、受信端末が、改ざんされた異常データセグメントを時間内に検出することができ、異常データセグメントを検出した後に、新しいデータセグメントを停止することの停止を適時にトリガすることができるようにする。これは、アップグレードファイル伝送プロセスのセキュリティを効果的に改善する。
第4の態様の任意選択の解決策では、第1の車載デバイスは、ネゴシエーションユニット及び復号ユニットをさらに含む。
ネゴシエーションユニットは、処理ユニットが第1のアルゴリズムに従って第1のデータセグメントを処理して、第1のチェック値を取得することの前に、HTTPSに従ってダウンロードサーバと双方向認証を行う。ダウンロードサーバは、第2の車載デバイスにアップグレードファイルを提供するように構成されている。
通信ユニットは、ダウンロードサーバが送信した暗号化されたファイルを受信するようにさらに構成されている。暗号化されたファイルは、アップグレードファイルを暗号化することによって取得される。
復号ユニットは、プリセットされたアップグレード条件が満たされたときに、暗号化されたファイルを復号して、アップグレードファイルを取得するように構成されている。
アップグレードファイルを提供するダウンロードサーバは、HTTPSプロトコルに従って第1の車載デバイスとの双方向認証を行うサーバであり、アップグレードファイルの送信元が有効であり、不正なアップグレードファイルを第1の車載デバイスに送達する非認証プラットフォームが防止され、攻撃者が、ダウンロードサーバからリリースされ、かつ重要情報を含むアップグレードファイルを上述の第1の車載デバイスから盗むことが防止されることが分かる。追加的に、暗号化されたアップグレードファイルがダウンロードサーバと第1の車載デバイスとの間で送信され、アップグレードファイルを盗むリスクが効果的に低減され、アップグレードファイル伝送プロセスの安全性が効果的に改善されるようにする。
第4の態様の別の任意選択の解決策では、第1のデータセグメントがアップグレードファイル内の複数のデータセグメントのうちの第1のデータセグメントである場合、第1のチェック値は、第1のアルゴリズムの入力として第1のデータセグメントを使用することにより取得される出力データである。
代替的には、第1のデータセグメントがアップグレードファイル内の複数のデータセグメントのうちの第1のデータセグメント以外のデータセグメントである場合、第1のチェック値は、第1のアルゴリズムの入力として第1のデータセグメント及び第2のチェック値を使用することにより取得される出力データであり、第2のチェック値は、第1のアルゴリズムに従って第1のデータセグメントの前のデータセグメントを処理することにより取得される。
アップグレードファイル内の複数のデータセグメントにおいて、第1のデータセグメント以外のデータセグメントに対応するチェック値は、前のデータセグメントに対応するチェック値に関連することが分かる。データセグメントのためのシーケンス検出メカニズムは、ハッシュチェーンを使用することにより実施されて、異常のあるセグメントが書き込みに成功することによるアップグレードファイル・アセンブリ中のエラー発生するのを回避し、ハッシュチェーンを用いた検証値を使用することにより、アップグレードファイルを悪意を持ってクラックすることの困難さを増加させる。
第4の態様の別の任意選択の解決策では、第1の暗号化されたセグメントは、第1の鍵を使用することにより第1のデータセグメント及び第1のチェック値を暗号化することによって取得される。
第1のデータセグメントが暗号化される間、第1のチェック値がさらに暗号化され得ることが分かる。これは、アップグレードファイル伝送プロセスのセキュリティをさらに改善する。
第4の態様の別の任意選択の解決策では、第1の鍵は、第1の車載デバイスと第2の車載デバイスのために事前に設定された事前共有鍵である。
各データセグメントの機密性は、セキュリティプロトコル又はセキュリティアルゴリズムネゴシエーションによって取得された鍵の代わりに、事前に設定された事前共有鍵を使用することにより保証され、第1の車載デバイス及び第2の車載デバイスのリソース消費を効果的に低減できることが分かる。
第4の態様の別の任意選択の解決策では、第1の鍵は、トランスポート・レイヤ・セキュリティTLSに従って第1の車載デバイスと第2の車載デバイスとの間で双方向認証ネゴシエーションを行うことによって取得される鍵である。
TLSプロトコルネゴシエーションを通して取得された鍵を使用することにより各データセグメントを暗号化することが、各データセグメントの機密性を保証できることが分かる。追加的に、異なる第2の車載デバイスに対して、第1の車載デバイスと第2の車載デバイスとの間で行われる異なる双方向認証プロセスが存在し、ネゴシエーションを通して取得される異なる第1の鍵、言い換えると、異なるアップグレードファイルが異なる暗号化鍵及び復号鍵に対応し、アップグレードファイル伝送プロセスのセキュリティを大幅に改善することができる。
第4の態様の別の任意選択の解決策では、第1の鍵は、TLSプロトコルに従って第1の車載デバイスと第2の車載デバイスとの間で双方向認証ネゴシエーションを行うことによって取得される鍵である。
第1のチェック値は、TLSプロトコルと第1のアルゴリズムに従って第1のデータセグメントを処理することにより取得される、第1のデータセグメントのメッセージ認証コードである。
各データセグメントの機密性と完全性は、アップグレードファイル伝送プロセスのセキュリティを保証するために、TLSプロトコルに従って保護されることが分かる。
第5の態様によれば、本出願の一実施形態は、第2の車載デバイスであって、
第1の車載デバイスによって送信された第1の暗号化されたセグメントを受信するように構成されている通信ユニットであって、第1の暗号化されたセグメントは、第1の鍵を使用することにより第1のデータセグメントを暗号化することにより取得され、第1のデータセグメントは、第2の車載デバイスをアップグレードするために使用されるアップグレードファイルに含まれる複数のデータセグメントのうちの任意のデータセグメントである、通信ユニットと、
第1の鍵を使用することにより第1の暗号化されたセグメントを復号して、第1のデータセグメントを取得するように構成されている復号ユニットと、
第1のアルゴリズムに従った第1のチェック値の検証に成功したときに、第1のデータセグメントを第2の車載デバイスに記憶するように構成されている検証ユニットであって、第1のチェック値は、第1のアルゴリズムに従って第1のデータセグメントを処理することにより第1の車載デバイスにより取得され、第1のチェック値は、第1の車載デバイスから第2の車載デバイスによって受信される、検証ユニットと、
アップグレードのための第1のデータセグメントに基づいて、アップグレードファイルを形成するように構成されているアップグレードユニットと、を含む、第2の車載デバイスを提供する。
前述の装置では、第2の車載デバイスをアップグレードするために使用されるアップグレードファイル内の複数のデータセグメントのうちの各データセグメントが、別々に暗号化及び送信されて、各データセグメントを盗むリスクを効果的に低減する。追加的に、受信端末(つまり、第2の車載デバイス)は、最後のデータセグメントの伝送が完了した後にのみアップグレードファイル全体を検証する代わりに、各データセグメントに対応するチェック値を検証する必要があり、受信端末が、改ざんされた異常データセグメントを時間内に検出することができ、異常データセグメントを検出した後に、新しいデータセグメントを停止することの停止を適時にトリガすることができるようにする。これは、アップグレードファイル伝送プロセスのセキュリティを効果的に改善する。
第5の態様の別の任意選択の解決策では、第1のデータセグメントがアップグレードファイル内の複数のデータセグメントのうちの第1のデータセグメントである場合、第1のチェック値は、第1のアルゴリズムの入力として第1のデータセグメントを使用することにより取得される出力データである。
代替的には、第1のデータセグメントがアップグレードファイル内の複数のデータセグメントのうちの第1のデータセグメント以外のデータセグメントである場合、第1のチェック値は、第1のアルゴリズムの入力として第1のデータセグメント及び第2のチェック値を使用することにより取得される出力データであり、第2のチェック値は、第1のアルゴリズムに従って第1のデータセグメントの前のデータセグメントを処理することにより取得される。
アップグレードファイル内の複数のデータセグメントにおいて、第1のデータセグメント以外のデータセグメントに対応するチェック値は、前のデータセグメントに対応するチェック値に関連することが分かる。データセグメントのためのシーケンス検出メカニズムは、ハッシュチェーンを使用することにより実施されて、異常のあるセグメントが書き込みに成功することによるアップグレードファイル・アセンブリ中のエラー発生するのを回避し、ハッシュチェーンを用いた検証値を使用することにより、アップグレードファイルを悪意を持ってクラックすることの困難さを増加させる。
第5の態様の別の任意選択の解決策では、第1の暗号化されたセグメントは、第1の鍵を使用することにより第1のデータセグメント及び第1のチェック値を暗号化することによって取得される。
第1のデータセグメントが暗号化される間、第1のチェック値がさらに暗号化され得ることが分かる。これは、アップグレードファイル伝送プロセスのセキュリティをさらに改善する。
第5の態様の別の任意選択の解決策では、第1の鍵は、第1の車載デバイスと第2の車載デバイスのために事前に設定された事前共有鍵である。
各データセグメントの機密性は、セキュリティプロトコル又はセキュリティアルゴリズムネゴシエーションによって取得された鍵の代わりに、事前に設定された事前共有鍵を使用することにより保証され、第1の車載デバイス及び第2の車載デバイスのリソース消費を効果的に低減できることが分かる。
第5の態様の別の任意選択の解決策では、第1の鍵は、トランスポート・レイヤ・セキュリティTLSに従って第1の車載デバイスと第2の車載デバイスとの間で双方向認証ネゴシエーションを行うことによって取得される鍵である。
TLSプロトコルネゴシエーションを通して取得された鍵を使用することにより各データセグメントを暗号化することが、各データセグメントの機密性を保証できることが分かる。追加的に、異なる第2の車載デバイスに対して、第1の車載デバイスと第2の車載デバイスとの間で行われる異なる双方向認証プロセスが存在し、ネゴシエーションを通して取得される異なる第1の鍵、言い換えると、異なるアップグレードファイルが異なる暗号化鍵及び復号鍵に対応し、アップグレードファイル伝送プロセスのセキュリティを大幅に改善することができる。
第5の態様の別の任意選択の解決策では、第1の鍵は、TLSプロトコルに従って第1の車載デバイスと第2の車載デバイスとの間で双方向認証ネゴシエーションを行うことによって取得される鍵である。
第1のチェック値は、TLSプロトコルと第1のアルゴリズムに従って第1のデータセグメントを処理することにより取得される、第1のデータセグメントのメッセージ認証コードである。
各データセグメントの機密性と完全性は、アップグレードファイル伝送プロセスのセキュリティを保証するために、TLSプロトコルに従って保護されることが分かる。
第6の態様によれば、本出願の実施形態は、第1の車載デバイスであって、第1の車載デバイスは、トランシーバ、プロセッサ、及びメモリを含み、メモリは、コンピュータプログラムを記憶するように構成されており、プロセッサは、コンピュータプログラムを呼び出して、
第1のアルゴリズムに従って第1のデータセグメントを処理して、第1のチェック値を取得することであって、第1のデータセグメントは、第2の車載デバイスをアップグレードするために使用されるアップグレードファイルに含まれる複数のデータセグメントのうちの任意のデータセグメントであり、第1のチェック値は、第2の車載デバイスに送信される、ことと、
第1の鍵を使用することにより第1のデータセグメントを暗号化して、第1の暗号化されたセグメントを取得することと、
第1の暗号化されたセグメントを第2の車載デバイスに送信するようにトランシーバを制御することであって、第2の車載デバイスが、第1のアルゴリズムに従って第1のチェック値の検証に成功したときに、第1の鍵を使用することにより第1の暗号化されたセグメントを復号することによって取得された第1のデータセグメントを第2の車載デバイスに記憶するようにし、第1のデータセグメントは、アップグレードのためのアップグレードファイルを形成するために第2の車載デバイスによって使用される、ことと、を行う動作を行う、第1の車載デバイスを提供する。
前述の装置では、第2の車載デバイスをアップグレードするために使用されるアップグレードファイル内の複数のデータセグメントのうちの各データセグメントが、別々に暗号化及び送信されて、各データセグメントを盗むリスクを効果的に低減する。追加的に、受信端末(つまり、第2の車載デバイス)は、最後のデータセグメントの伝送が完了した後にのみアップグレードファイル全体を検証する代わりに、各データセグメントに対応するチェック値を検証する必要があり、受信端末が、改ざんされた異常データセグメントを時間内に検出することができ、異常データセグメントを検出した後に、新しいデータセグメントを停止することの停止を適時にトリガすることができるようにする。これは、アップグレードファイル伝送プロセスのセキュリティを効果的に改善する。
第6の態様の任意選択の解決策では、プロセッサは、第1のアルゴリズムに従って第1のデータセグメントを処理して、第1のチェック値を取得することの前に、
HTTPSに従ってダウンロードサーバと双方向認証を行うことであって、ダウンロードサーバは、第2の車載デバイスにアップグレードファイルを提供するように構成されている、ことと、
ダウンロードサーバが送信した暗号化されたファイルを受信するようにトランシーバを制御することであって、暗号化されたファイルは、アップグレードファイルを暗号化することにより取得される、ことと、
プリセットされたアップグレード条件が満たされたときに、暗号化されたファイルを復号して、アップグレードファイルを取得することと、を行うようにさらに構成されている。
アップグレードファイルを提供するダウンロードサーバは、HTTPSプロトコルに従って第1の車載デバイスとの双方向認証を行うサーバであり、アップグレードファイルの送信元が有効であり、不正なアップグレードファイルを第1の車載デバイスに送達する非認証プラットフォームが防止され、攻撃者が、ダウンロードサーバからリリースされ、かつ重要情報を含むアップグレードファイルを上述の第1の車載デバイスから盗むことが防止されることが分かる。追加的に、暗号化されたアップグレードファイルがダウンロードサーバと第1の車載デバイスとの間で送信され、アップグレードファイルを盗むリスクが効果的に低減され、アップグレードファイル伝送プロセスの安全性が効果的に改善されるようにする。
第6の態様の別の任意選択の解決策では、第1のデータセグメントがアップグレードファイル内の複数のデータセグメントのうちの第1のデータセグメントである場合、第1のチェック値は、第1のアルゴリズムの入力として第1のデータセグメントを使用することにより取得される出力データである。
代替的には、第1のデータセグメントがアップグレードファイル内の複数のデータセグメントのうちの第1のデータセグメント以外のデータセグメントである場合、第1のチェック値は、第1のアルゴリズムの入力として第1のデータセグメント及び第2のチェック値を使用することにより取得される出力データであり、第2のチェック値は、第1のアルゴリズムに従って第1のデータセグメントの前のデータセグメントを処理することにより取得される。
アップグレードファイル内の複数のデータセグメントにおいて、第1のデータセグメント以外のデータセグメントに対応するチェック値は、前のデータセグメントに対応するチェック値に関連することが分かる。データセグメントのためのシーケンス検出メカニズムは、ハッシュチェーンを使用することにより実施されて、異常のあるセグメントが書き込みに成功することによるアップグレードファイル・アセンブリ中のエラー発生するのを回避し、ハッシュチェーンを用いた検証値を使用することにより、アップグレードファイルを悪意を持ってクラックすることの困難さを増加させる。
第6の態様の別の任意選択の解決策では、第1の暗号化されたセグメントは、第1の鍵を使用することにより第1のデータセグメント及び第1のチェック値を暗号化することによって取得される。
第1のデータセグメントが暗号化される間、第1のチェック値がさらに暗号化され得ることが分かる。これは、アップグレードファイル伝送プロセスのセキュリティをさらに改善する。
第6の態様の別の任意選択の解決策では、第1の鍵は、第1の車載デバイスと第2の車載デバイスのために事前に設定された事前共有鍵である。
各データセグメントの機密性は、セキュリティプロトコル又はセキュリティアルゴリズムネゴシエーションによって取得された鍵の代わりに、事前に設定された事前共有鍵を使用することにより保証され、第1の車載デバイス及び第2の車載デバイスのリソース消費を効果的に低減できることが分かる。
第6の態様の別の任意選択の解決策では、第1の鍵は、トランスポート・レイヤ・セキュリティTLSに従って第1の車載デバイスと第2の車載デバイスとの間で双方向認証ネゴシエーションを行うことによって取得される鍵である。
TLSプロトコルネゴシエーションを通して取得された鍵を使用することにより各データセグメントを暗号化することが、各データセグメントの機密性を保証できることが分かる。追加的に、異なる第2の車載デバイスに対して、第1の車載デバイスと第2の車載デバイスとの間で行われる異なる双方向認証プロセスが存在し、ネゴシエーションを通して取得される異なる第1の鍵、言い換えると、異なるアップグレードファイルが異なる暗号化鍵及び復号鍵に対応し、アップグレードファイル伝送プロセスのセキュリティを大幅に改善することができる。
第6の態様の別の任意選択の解決策では、第1の鍵は、TLSプロトコルに従って第1の車載デバイスと第2の車載デバイスとの間で双方向認証ネゴシエーションを行うことによって取得される鍵である。
第1のチェック値は、TLSプロトコルと第1のアルゴリズムに従って第1のデータセグメントを処理することにより取得される、第1のデータセグメントのメッセージ認証コードである。
各データセグメントの機密性と完全性は、アップグレードファイル伝送プロセスのセキュリティを保証するために、TLSプロトコルに従って保護されることが分かる。
第7の態様によれば、本出願の実施形態は、第2の車載デバイスを提供する。第2の車載デバイスは、トランシーバ、プロセッサ、及びメモリを含む。メモリは、コンピュータプログラムを記憶するように構成されており、プロセッサは、コンピュータプログラムを呼び出して、
第1の車載デバイスによって送信された第1の暗号化されたセグメントを受信するようにトランシーバを制御することであって、第1の暗号化されたセグメントは、第1の鍵を使用することにより第1のデータセグメントを暗号化することにより取得され、第1のデータセグメントは、第2の車載デバイスをアップグレードするために使用されるアップグレードファイルに含まれる複数のデータセグメントのうちの任意のデータセグメントである、ことと、
第1の鍵を使用することにより第1の暗号化されたセグメントを復号して、第1のデータセグメントを取得することと、
第1のアルゴリズムに従った第1のチェック値の検証に成功したときに、第1のデータセグメントを第2の車載デバイスに記憶することであって、第1のチェック値は、第1のアルゴリズムに従って第1のデータセグメントを処理することにより第1の車載デバイスにより取得され、第1のチェック値は、第1の車載デバイスから第2の車載デバイスによって受信される、ことと、
アップグレードのための第1のデータセグメントに基づいて、アップグレードファイルを形成することと、を行う動作を行う。
前述の装置では、第2の車載デバイスをアップグレードするために使用されるアップグレードファイル内の複数のデータセグメントのうちの各データセグメントが、別々に暗号化及び送信されて、各データセグメントを盗むリスクを効果的に低減する。追加的に、受信端末(つまり、第2の車載デバイス)は、最後のデータセグメントの伝送が完了した後にのみアップグレードファイル全体を検証する代わりに、各データセグメントに対応するチェック値を検証する必要があり、受信端末が、改ざんされた異常データセグメントを時間内に検出することができ、異常データセグメントを検出した後に、新しいデータセグメントを停止することの停止を適時にトリガすることができるようにする。これは、アップグレードファイル伝送プロセスのセキュリティを効果的に改善する。
第7の態様の別の任意選択の解決策では、第1のデータセグメントがアップグレードファイル内の複数のデータセグメントのうちの第1のデータセグメントである場合、第1のチェック値は、第1のアルゴリズムの入力として第1のデータセグメントを使用することにより取得される出力データである。
代替的には、第1のデータセグメントがアップグレードファイル内の複数のデータセグメントのうちの第1のデータセグメント以外のデータセグメントである場合、第1のチェック値は、第1のアルゴリズムの入力として第1のデータセグメント及び第2のチェック値を使用することにより取得される出力データであり、第2のチェック値は、第1のアルゴリズムに従って第1のデータセグメントの前のデータセグメントを処理することにより取得される。
アップグレードファイル内の複数のデータセグメントにおいて、第1のデータセグメント以外のデータセグメントに対応するチェック値は、前のデータセグメントに対応するチェック値に関連することが分かる。データセグメントのためのシーケンス検出メカニズムは、ハッシュチェーンを使用することにより実施されて、異常のあるセグメントが書き込みに成功することによるアップグレードファイル・アセンブリ中のエラー発生するのを回避し、ハッシュチェーンを用いた検証値を使用することにより、アップグレードファイルを悪意を持ってクラックすることの困難さを増加させる。
第7の態様の別の任意選択の解決策では、第1の暗号化されたセグメントは、第1の鍵を使用することにより第1のデータセグメント及び第1のチェック値を暗号化することによって取得される。
第1のデータセグメントが暗号化される間、第1のチェック値がさらに暗号化され得ることが分かる。これは、アップグレードファイル伝送プロセスのセキュリティをさらに改善する。
第7の態様の別の任意選択の解決策では、第1の鍵は、第1の車載デバイスと第2の車載デバイスのために事前に設定された事前共有鍵である。
各データセグメントの機密性は、セキュリティプロトコル又はセキュリティアルゴリズムネゴシエーションによって取得された鍵の代わりに、事前に設定された事前共有鍵を使用することにより保証され、第1の車載デバイス及び第2の車載デバイスのリソース消費を効果的に低減できることが分かる。
第7の態様の別の任意選択の解決策では、第1の鍵は、トランスポート・レイヤ・セキュリティTLSに従って第1の車載デバイスと第2の車載デバイスとの間で双方向認証ネゴシエーションを行うことによって取得される鍵である。
TLSプロトコルネゴシエーションを通して取得された鍵を使用することにより各データセグメントを暗号化することが、各データセグメントの機密性を保証できることが分かる。追加的に、異なる第2の車載デバイスに対して、第1の車載デバイスと第2の車載デバイスとの間で行われる異なる双方向認証プロセスが存在し、ネゴシエーションを通して取得される異なる第1の鍵、言い換えると、異なるアップグレードファイルが異なる暗号化鍵及び復号鍵に対応し、アップグレードファイル伝送プロセスのセキュリティを大幅に改善することができる。
第7の態様の別の任意選択の解決策では、第1の鍵は、TLSプロトコルに従って第1の車載デバイスと第2の車載デバイスとの間で双方向認証ネゴシエーションを行うことによって取得される鍵である。
第1のチェック値は、TLSプロトコルと第1のアルゴリズムに従って第1のデータセグメントを処理することにより取得される、第1のデータセグメントのメッセージ認証コードである。
各データセグメントの機密性と完全性は、アップグレードファイル伝送プロセスのセキュリティを保証するために、TLSプロトコルに従って保護されることが分かる。
第8の態様によれば、本出願の実施形態は、第1の車載デバイス及び第2の車載デバイスを含む車両を提供する。第1の車載デバイスは、第4の態様、又は第4の態様の可能な実施態様のうちのいずれかに説明される第1の車載デバイスである。第2の車載デバイスは、第5の態様、又は第5の態様の可能な実施態様のうちのいずれかに説明される第2の車載デバイスである。
第9の態様によれば、本出願の実施形態は、第1の車載デバイス及び第2の車載デバイスを含む車両を提供する。第1の車載デバイスは、第6の態様、又は第6の態様の可能な実施態様のうちのいずれかに説明される第1の車載デバイスである。第2の車載デバイスは、第7の態様、又は第7の態様の可能な実施態様のうちのいずれかに説明される第2の車載デバイスである。
第10の態様によれば、本出願の実施形態は、コンピュータ可読記憶媒体を提供する。コンピュータ可読記憶媒体は、命令を記憶し、命令がプロセッサ上で動作するときに、第1の態様及び第2の態様又は第1の態様及び第2の態様のいずれかの任意選択の解決策のいずれかに説明される方法が実施される。
本出願の一実施形態による車載デバイスアップグレードシステムの概略アーキテクチャ図である。
本出願の一実施形態による車載デバイスアップグレード方法の概略フローチャートである。
本出願の一実施形態による車載デバイスアップグレード方法の概略フローチャートである。
本出願の一実施形態による別の車載デバイスアップグレード方法の概略フローチャートである。
本出願の一実施形態による別の車載デバイスアップグレード方法の概略フローチャートである。
本出願の一実施形態による別の車載デバイスアップグレード方法の概略フローチャートである。
本出願の一実施形態による別の車載デバイスアップグレード方法の概略フローチャートである。
本出願の一実施形態による別の車載デバイスアップグレード方法の概略フローチャートである。
本出願の一実施形態による第1のデバイスの概略構造図である。
本出願の一実施形態による第2のデバイスの概略構造図である。
本出願の一実施形態による別の第1のデバイスの概略構造図である。
本出願の一実施形態による別の第2のデバイスの概略構造図である。
以下、本出願の実施態様における添付図面を参照して、本出願の実施態様を説明する。
図1は、本出願の一実施形態による車載デバイスアップグレードシステムの概略アーキテクチャ図である。概略アーキテクチャ図は、ダウンロードサーバ110及び車両120を含む。サーバ110及び車両120は、無線リンク(たとえば、Wi-Fi、Bluetooth、及びモバイル・デバイス・ネットワーク)を使用することにより通信ダウンロードを行ってもよい。車両120は、通信バス121と、通信バス121を使用することにより互いに通信する複数の車載デバイス122とを含む。複数の車載デバイス122の具体的な数は、本明細書では限定されない。
ダウンロードサーバ110は、相手先ブランド製造業者(original equipment manufacturer、OEM)によって設定され、車両120にアップグレードファイルを提供するように構成されているサーバであってもよい。ダウンロードサーバ110は、単一のサーバであってもよいし、複数のサーバを含むサーバクラスタであってもよい。ダウンロードサーバ110は、ハードウェアサーバでもよいし、クラウドサーバでもよい。これは、本明細書では限定されない。
車両120はまた、スマート車両、又はスマート「チャージドッグ」などのデバイス(スマート車両を充電するように構成されている移動デバイス)であってもよい。通信バス121は、ローカル相互接続ネットワーク(local interconnect network、LIN)バス、コントローラエリアネットワーク(controller area network、CAN)バスなどであってもよいが、これらに限定されない。車載デバイス122は、車両120内にあり、アップグレードファイルを使用することによりシステムをアップグレードすることができる電子デバイス又は制御ユニット、たとえば、電子制御ユニット(electronic control unit、ECU)又は車両制御ユニット(vehicle control unit、VCU)であり得る。代替的には、車載デバイス122は、車両120内にあり、無線リンクを使用することによりダウンロードサーバ110が提供するアップグレードファイルを取得し、システムをアップグレードする必要がある別の車載デバイス、たとえば、オンボードユニット(telematics box、Tbox)にアップグレードファイルを転送することができる電子デバイスであってもよい。様々な種類のECUが存在し、異なるECUは、異なる機能を実施するように構成されてもよく、たとえば、ゲートウェイ(gateway、GW)、自動伝送制御ユニット(transmission control unit、TCU)、及び補助制御ユニット(auxiliary control unit、ACU)などである。
車両120内のTboxは、無線リンクを使用することによりダウンロードサーバ110と通信してもよい。たとえば、Tboxは、無線リンクを使用することによって、ダウンロードサーバ110によってリリースされ、車両120の制御ユニット(ECU又はVCUなど)をアップグレードするために使用されるアップグレードファイルを取得し、統一された診断サービス(unified diagnostic services、UDS)のプロトコル仕様に従って、アップグレードファイルを対応する制御ユニットのフラッシュ(flash)に対応するアドレスユニットにセグメントごとに書き込んで、オーバ・ザ・エア(over the air、OTA)プロセスを完成させてもよい。
説明を簡単にするために、Tboxは下記の第1の車載デバイスと呼ばれ、Tboxを使用することによりセグメントごとにアップグレードファイルを書き込むのを支援する制御ユニット(たとえば、ECU又はVCU)は下記の第2の車載デバイスと呼ばれる。
図2A及び図2Bは、本出願の実施形態による、車載デバイスアップグレード方法を示す。本方法は、図1に示す車載デバイスアップグレードシステムに基づいて実施されてもよい。本方法は、以下のステップを含むが、これらに限定されない。
ステップS201:双方向認証は、ハイパーテキスト・トランスファー・プロトコル・オーバ・セキュア・ソケット・レイヤ(hypertext transfer protocol over secure socket layer、HTTPS)に従って、ダウンロードサーバと第1の車載デバイスとの間で行われる。
具体的には、ダウンロードサーバは、第1の車載デバイスを使用することにより第2の車載デバイスのアップグレードファイルを提供するように構成されている。
具体的には、HTTPSプロトコルは、セキュア・ソケット・レイヤ(secure sockets layer、SSL)又はトランスポート・レイヤ・セキュリティ(transport layer security、TLS)を使用することにより、ハイパーテキスト・トランスファー・プロトコル(hypertext transfer protocol、HTTP)に従って伝送プロセスのセキュリティを保証するプロトコルとして理解されてもよい。SSLプロトコルと比較して、TLSプロトコルは更新され、より広く適用される。本出願の本実施形態では、TLSプロトコルは、説明のための例として使用される。
HTTPS双方向認証は、実際には、TLSハンドシェイク・プロトコル・インタラクション・プロセスとも呼ばれるTLS双方向認証である。双方向認証プロセスでは、ダウンロードサーバは、ダウンロードサーバのルート証明書又はOTA証明書を第1の車載デバイスに送信し、第1の車載デバイスが、ダウンロードサーバについてアイデンティティ認証を行うようにする。同様に、第1の車載デバイスはまた、第1の車載デバイスのデバイス証明書をダウンロードサーバに送信し、ダウンロードサーバが、第1の車載デバイスについてアイデンティティ認証を行うようにする。OTA証明書は、ルート証明書に基づいてダウンロードサーバによって導出され、第1の車載デバイスとのセキュアな対話に使用される証明書であってもよい。
本出願の本実施形態では、双方向認証は、HTTPSプロトコルに従ってダウンロードサーバと第1の車載デバイスとの間で行われ、非認証ダウンロードサーバが、悪意のあるアップグレードファイルを第1の車載デバイスにリリースすることを効果的に防止することができ、攻撃者が、認証された第1の車載デバイスをだまして、ダウンロードサーバによってリリースされ、かつ鍵エクスペリエンス較正構成、鍵アルゴリズム、及びユーザプライバシーなどの重要な情報を含むアップグレードファイルを盗むことを防止することができるようにする。
ステップS202:ダウンロードサーバは、アップグレードファイルを暗号化及び署名して、暗号化されたファイル及び第1の署名を取得する。
具体的には、アップグレードファイルは、第2の車載デバイスをアップグレードするために使用される。ダウンロードサーバは、第2の鍵を使用することによりアップグレードファイルを暗号化して、暗号化されたファイルを取得してもよい。第2の鍵は、ダウンロードサーバによってランダムに生成された鍵であってもよいし、ダウンロードサーバと第1の車載デバイスとの間の事前ネゴシエーションを通して取得された鍵であってもよいし、事前に設定された(たとえば、信頼されたサードパーティデバイスを使用することにより設定された)鍵であってもよいし、確かに別の方式で取得された鍵であってもよい。ダウンロードサーバは、第1の証明書の秘密鍵を使用することによりアップグレードファイルを署名して、第1の署名を取得してもよい。第1の証明書は、ダウンロードサーバのルート証明書であってもよいし、前述のOTA証明書であってもよいし、確かにダウンロードサーバのアイデンティティを識別できる別の証明書であってもよい。
ステップS203:ダウンロードサーバは、暗号化されたファイル及び第1の署名を第1の車載デバイスに送信する。
ステップS204:第1の車載デバイスは、暗号化されたファイル及び第1の署名を受信する。
ステップS205:第1の車載デバイスは、第1の署名の検証に成功したときに、暗号化されたファイルを記憶する。
具体的には、ダウンロードサーバが送信するアップグレードファイルの完全性と、アップグレードファイルのソース(具体的には、ダウンロードサーバ)の妥当性を検証するために、第1の署名が使用される。ダウンロードサーバは、ダウンロードサーバのアイデンティを識別することができる証明書を使用することによりアップグレードファイルを署名して、第1の署名を取得し、第1の署名を第1の車載デバイスに送信してもよい。これに対応して、第1の車載デバイスは、ダウンロードサーバのアイデンティティを識別することができる証明書の公開鍵を使用することにより第1の署名を検証してもよい。第1の署名の検証に成功したときに、第1の車載デバイスは、アップグレードファイルが改ざんされていない(言い換えれば、完全性検証に成功した)と考え、暗号化されたファイルと第1の署名を送信するノードがダウンロードサーバである(言い換えれば、妥当性検証に成功した)と考える。ダウンロードサーバが署名を行う具体的な方法、及び第1の車載デバイスが署名を検証する具体的な方法は、本出願の本実施形態において限定されない。理解を容易にするために、以下、いくつかの任意選択の署名検証策について説明する。
任意選択で、第1の証明書がダウンロードサーバのルート証明書である場合、第1の車載デバイスが使用する第1の証明書は、ダウンロードサーバによって第1の車載デバイスに送信されてもよい。これに対応して、第1の車載デバイスは、ルート証明書の公開鍵を使用することにより第1の署名を検証する。
任意選択で、第1の証明書がOTA証明書である場合、第1の車載デバイスが使用する第1の証明書は、ダウンロードサーバによって第1の車載デバイスに送信されてもよく、ダウンロードサーバはさらに、ダウンロードサーバのルート証明書を第1の車載デバイスに送信する。これに対応して、第1の車載デバイスは、ルート証明書を使用することにより受信したOTA証明書の妥当性を検証し、検証が成功した場合は、OTA証明書の公開鍵を使用することにより第1の署名を検証する。
本出願の本実施形態では、第1の署名の検証が成功した場合、暗号化されたファイルが記憶される。OTA証明書の妥当性検証が失敗した場合、又は第1の署名の検証が失敗した場合、第1の車載デバイスは、暗号化されたファイルが異常であることを示すアラームを、車内にあり、かつ車両システムの故障診断及び保護を実施するように構成されている車載デバイス、たとえば、VCUに報告する。
ステップS206:プリセットされたアップグレード条件が満たされるときに、第1の車載デバイスは、暗号化されたファイルを復号して、アップグレードファイルを取得する。
具体的には、プリセットされたアップグレード条件は、車両がアップグレード命令を受信すること、車両が静止状態にあることなどであってもよいが、これらに限定されない。アップグレード命令は、車両に搭載された車載端末を使用することによりユーザによって指示されてもよいし、車両にワイヤレス接続された車両のインターネットの車両アプリケーション(application、APP)使用することによりユーザによって指示されてもよいが、これらに限定されない。プリセットされたアップグレード条件が満たされないときに、アップグレードファイルは、暗号化されたファイルの形式で、第1の車載デバイスに記憶される。プリセットされたアップグレード条件が満たされるときに、第1の車載デバイスは、受信した暗号化されたファイルを直ちに復号して、アップグレードファイルを取得及び記憶する代わりに、第2の鍵を使用することにより暗号化されたファイルを復号して、アップグレードファイルを取得し、アップグレードファイルが記憶中に盗まれるか、又は改ざんされることを防止し、アップグレードファイルのセキュリティを保証する。
任意選択で、第2の鍵がダウンロードサーバによってランダムに生成された鍵である場合、ダウンロードサーバは、第1の車載デバイスのデバイス証明書の公開鍵を使用することにより第2の鍵をさらに暗号化し、暗号化された第2の鍵を第1の車載デバイスに送信してもよい。これに対応して、第1の車載デバイスは、ダウンロードサーバが送信した暗号化された第2の鍵を受信し、次いで、第1の車載デバイスのデバイス証明書の秘密鍵を使用することにより暗号化された第2の鍵を復号して、第2の鍵を取得する。この方式で取得された第2の鍵は、第1の車載デバイスによって、暗号化されたファイルを復号して、アップグレードファイルを取得するために使用される。
任意選択で、第1の車載デバイスは、暗号化されたファイルを受信した直後に暗号化されたファイルを復号して、アップグレードファイルを取得及び記憶してもよい。確かに、この方式で取得されたアップグレードファイルは、比較的セキュリティが低い。
ステップS207:第1の車載デバイスは、第1のアルゴリズムに従って第1のデータセグメントを処理して、第1のチェック値を取得する。
具体的には、第1の車載デバイスは、アップグレードファイルを、第2の車載デバイスの受信能力に基づいて複数のデータセグメントに分割してもよい。たとえば、n個のデータセグメントが説明のために使用される。たとえば、アップグレードファイルのサイズは64バイトであり、第2の車載デバイスが毎回受信できるデータパケットのサイズは8バイトであるため、第1の車載デバイスは64バイトのアップグレードファイルを8つのデータセグメントに分割する必要がある。第1の車載デバイスは、n個のデータセグメントのうちの1つのデータセグメントを第2の車載デバイスに毎回送信し、すべてのn個のデータセグメントが第2の車載デバイスに送信されるときに、セグメントごとにアップグレードファイルを書き込む処理を完了する。
第1のデータセグメントは、アップグレードファイルに含まれる複数のデータセグメントのうちの任意のデータセグメントであり、言い換えれば、複数のデータセグメントの各データセグメントの特徴は、第1のデータセグメントの後続の関連する記述に適用可能である。
追加的に、第1のアルゴリズムと第1のチェック値が使用されて、各データセグメントの完全性を保証する。以下、異なるケースにおける説明のために例を使用する。
ケース1:第1のアルゴリズムは、ハッシュアルゴリズム、たとえば、SHA-256、SHA-384、SHA-512、MD2、MD4又はMD5であり、第1のチェック値は、第1のデータセグメントに対応するハッシュ値である。
第1のデータセグメントがアップグレードファイル内の複数のデータセグメントのうちの第1のデータセグメントである場合、第1のチェック値は、第1のアルゴリズムの入力として第1のデータセグメントを使用することにより取得される出力データである
第1のデータセグメントがアップグレードファイル内の複数のデータセグメントのうちの第1のデータセグメント以外のデータセグメントである場合、第1のチェック値は、第1のアルゴリズムの入力として第1のデータセグメント及び第2のチェック値を使用することにより取得される出力データである。第2のチェック値は、第1のアルゴリズムに従って第1のデータセグメントの前のデータセグメントを処理することにより取得される。
たとえば、アップグレードファイル(File)がデータ1、データ2、データ3の3つのデータセグメントを順番に含み、第1のアルゴリズムがMD5アルゴリズムである場合、
第1のデータセグメントがデータ1である場合、第1のチェック値はチェック1=MD5(データ1)であるか、
第1のデータセグメントがデータ2である場合、第1のチェック値はチェック2=MD5(データ2、チェック1)であるか、又は
第1のデータセグメントがデータ3である場合、第1のチェック値はチェック3=MD5(データ3、チェック2)である。
ケース2:第1のアルゴリズムは、メッセージ認証コード(message authentication code、MAC)、たとえば、MACを計算するための専用のハッシュベースのメッセージ認証コード(hash-based message authentication code、HMAC)アルゴリズム、又は、暗号アルゴリズム、たとえば、データ暗号化標準(data encryption standard、DES)アルゴリズムを計算するために使用されるアルゴリズムである。第1のチェック値は、TLSプロトコル及び第1のアルゴリズムに従って第1のデータセグメントを処理することにより取得された第1のデータセグメントのMACである。
たとえば、アップグレードファイル(File)がデータ1とデータ2の2つのデータセグメントを順番に含み、第1のアルゴリズムがHMACアルゴリズムである場合、
第1のデータセグメントがデータ1である場合、第1のチェック値はチェック1=HMAC(データ1)であるか、又は
第1のデータセグメントがデータ2である場合、第1のチェック値はチェック2=HMAC(データ2)である。
ステップS208:第1の車載デバイスは、第1の鍵を使用することにより第1のデータセグメントを暗号化して、第1の暗号化されたセグメントを取得する。
ケース1の場合、第1の鍵は、第1の車載デバイス及び第2の車載デバイスのために事前に設定された事前共有鍵(pre-shared key、PSK)であってもよいし、セキュリティアルゴリズム又はセキュリティプロトコル、たとえばTLSプロトコルに従って第1の車載デバイスと第2の車載デバイスとの間のネゴシエーションを通して取得された鍵であってもよい。第1の車載デバイスは、第1の鍵を使用することにより第1のデータセグメント及び第1のチェック値を暗号化して、第1の暗号化されたセグメントを取得してもよい。
ケース2の場合、第1の鍵は、TLSプロトコルなどのセキュリティプロトコルに従って、ネゴシエーションを通して取得された鍵であってもよい。第1の車載デバイスは、第1の鍵を使用することにより第1のデータセグメントを暗号化して、第1の暗号化された鍵を取得してもよい。
ステップS209:第1の車載デバイスは、第1の暗号化されたセグメントを第2の車載デバイスに送信する。
ケース1の場合、第1の車載デバイスは、第1の暗号化されたセグメントを第2の車載デバイスに送信し、第1の暗号化されたセグメントは、第1のアルゴリズムに従って第1のデータセグメント及び第1のチェック値を暗号化することにより、第1の車載デバイスによって取得される。
ケース2の場合、第1の車載デバイスが第1の暗号化セグメント及び第1のチェック値を第2の車載デバイスに送信する。
ステップS210:第2の車載デバイスは、第1の暗号化されたセグメントを受信する。
ケース1の場合、第2の車載デバイスは、第1の車載デバイスが送信した第1の暗号化されたセグメントを受信する。第1の暗号化セグメントは、第1のアルゴリズムに従って第1のデータセグメント及び第1のチェック値を暗号化することにより、第1の車載デバイスによって取得される。
ケース2の場合、第2の車載デバイスは、第1の車載デバイスが送信した第1の暗号化されたセグメント及び第1のチェック値を受信する。
ステップS211:第2の車載デバイスは、第1の鍵を使用することにより第1の暗号化されたセグメントを復号して、第1のデータセグメントを取得する。
ケース1の場合、第2の車載デバイス、任意選択で、たとえば、第2の車載デバイスのブートローダ(BootLoader)は、第1の鍵を使用することにより第1の暗号化されたセグメントを復号して、第1のデータセグメント及び第1のチェック値を取得する。
ケース2の場合、第2の車載デバイス、任意選択で、たとえば、第2の車載デバイスのブートローダ(BootLoader)は、第1の鍵を使用することにより第1の暗号化されたセグメントを復号して、第1のデータセグメントを取得する。
ステップS212:第2の車載デバイスは、第1のアルゴリズムに従って第1のチェック値の検証に成功したときに、第1のデータセグメントを第2の車載デバイスに記憶する。
具体的には、第2の車載デバイス、任意選択で、たとえば、第2の車載デバイスのブートローダ(BootLoader)は、第1のアルゴリズムに従って、復号を通して取得された第1のデータセグメントに対応するチェック値を計算し、受信又は復号を通してそのチェック値を第1のチェック値と比較する。チェック値が受信又は復号を通して取得された第1のチェック値と同じであり、完全性検証に成功した場合、第2の車載デバイスは、第2の車載デバイスのフラッシュに対応するアドレスユニットに第1のデータセグメントを記憶する。受信又は復号を通して取得されたチェック値と第1のチェック値とが異なり、完全性検証に失敗した場合、第2の車載デバイスは、アップグレードファイルの書き込み処理を停止し、第1のデータセグメントが異常であることを示すアラームを、車両内にあり、車両システムの故障診断及び保護を実施するように構成されている車載デバイス、たとえば、VCUに報告する。
ステップS213:第2の車載デバイスは、アップグレードのための第1のデータセグメントに基づいてアップグレードファイルを形成する。
具体的には、ステップS207~S212は、1つのデータセグメントのセキュアな書き込み処理に対応し、アップグレードファイルのn個のデータセグメントの各データセグメントは、ステップS207~S212で説明した方式で、第2の車載デバイスに書き込まれる。n個のデータセグメントが全て第2の車載デバイスに書き込まれた後、第2の車載デバイスは、n個のデータセグメントを組み立てて、アップグレードファイルを取得し、アップグレードファイルに基づいてシステムをアップグレードしてもよい。
前述の方法では、第2の車載デバイスをアップグレードするために使用されるアップグレードファイル内の複数のデータセグメントのうちの各データセグメントが、別々に暗号化及び送信されて、車内伝送プロセスにおける各データセグメントを盗むリスクを効果的に低減し、車内伝送プロセスにおける各データセグメントの機密性を保証する。追加的に、受信端末(つまり、第2の車載デバイス)は、最後のデータセグメントの伝送が完了した後にのみアップグレードファイル全体を検証する代わりに、各データセグメントに対応するチェック値を検証する必要があり、受信端末が、改ざんされた異常データセグメントを時間内に検出することができ、異常データセグメントを検出した後に、新しいデータセグメントを停止することの停止を適時にトリガすることができるようにし、異常データセグメントが第2の車載デバイスに書き込まれたために、第2の車載デバイスが異常に動作するか、又はリソースが無駄になるケースを回避し、各データセグメントの完全性を確保し、アップグレードファイル伝送プロセスのセキュリティを効果的に改善する。
図2A及び図2Bに示される前述の方法の実施形態は、多くの可能な実施態様の解決策を含む。以下、図3A、図3B、図4A、図4B、及び図5を参照して、いくつかの実施態様の解決策を別々に図示する。図3A、図3B、図4A、図4B、及び図5に説明されていない関連する概念、動作、論理関係の説明については、図2A、及び図2Bに示す実施形態における対応する説明を参照することに留意されたい。したがって、再度、詳細は説明しない。
図3A及び図3Bは、本出願の一実施形態による、別の車載デバイスアップグレード方法の概略フローチャートである。本方法は、図1に示す車載デバイスアップグレードシステムに基づいて実施されてもよい。本方法は、以下のステップを含むが、これらに限定されない。
ステップS301:第1の車載デバイスは、第1の鍵を設定する。
ステップS302:第2の車載デバイスは、第1の鍵を設定する。
具体的には、第1の鍵は、第1の車載デバイス及び第2の車載デバイスのために事前に設定された事前共有鍵(pre-shared key、PSK)である。第1の鍵は、第1の車載デバイス及び第2の車載デバイスに手動で設定される鍵であってもよいし、サードパーティのデバイスによって生成され、第1の車載デバイス及び第2の車載デバイスに送信される鍵であってもよい。サードパーティデバイスは、有線リンク又は無線リンクを使用することにより第1の車載デバイス及び第2の車載デバイスと通信してもよい。
ステップS303:第1の車載デバイスは、第1のアルゴリズムの入力として第1のデータセグメントを使用して、第1のデータセグメントに対応する出力チェック値を取得する。
具体的には、第1のアルゴリズムはハッシュアルゴリズムであり、チェック値は、第1のアルゴリズムに従って第1の車載デバイスが取得するハッシュ値である。第1の車載デバイスは、第1のアルゴリズムの入力として、第2の車載デバイスをアップグレードするために使用されるアップグレードファイルに含まれる複数のデータセグメント(たとえば、n個のデータセグメント)のうちの第1のデータセグメントを使用して、出力ハッシュ値、すなわち第1のチェック値を取得してもよい。
たとえば、第1のデータセグメントがデータ1であり、第1のアルゴリズムがMD5アルゴリズムである場合、第1の車載デバイスは、第1のアルゴリズムの入力として第1のデータセグメントを使用することにより、第1のデータセグメントに対応する出力チェック値を取得し、チェック値は、チェック1=MD5(データ1)である。
ステップS304:第1の車載デバイスは、第1の鍵を使用することにより第1のデータセグメント及び第1のデータセグメントに対応するチェック値を暗号化して、第1のデータセグメントに対応する暗号化されたセグメントを取得する。
ステップS305:第1の車載デバイスは、第1のデータセグメントに対応する暗号化されたセグメントを第2の車載デバイスに送信する。
ステップS306:第2の車載デバイスは、第1のデータセグメントに対応する暗号化されたセグメントを受信する。
ステップS307:第2の車載デバイスは、第1の鍵を使用することにより第1のデータセグメントに対応する暗号化されたセグメントを復号して、第1のデータセグメント及び第1のデータセグメントに対応するチェック値を取得する。
ステップS308:第2の車載デバイスは、第1のアルゴリズムに従って第1のデータセグメントに対応するチェック値の検証に成功したときに、第1のデータセグメントを第2の車載デバイスに記憶する。
具体的には、第2の車載デバイスは、第1アルゴリズムの入力として復号を通して取得された第1データセグメントを使用して、出力ハッシュ値を取得し、復号を通して取得された第1のデータセグメントに対応するチェック値とハッシュ値を比較する。ハッシュ値が、復号を通して取得された第1のデータセグメントに対応するチェック値と同じである場合、第2の車載デバイスは、第1のデータセグメントが改ざんされていない(言い換えれば、完全性検証に成功した)とみなし、第1のデータセグメントを第2の車載デバイスのフラッシュに対応するアドレスユニットに記憶する。ハッシュ値が、復号を通して取得された第1のデータセグメントに対応するチェック値と異なる場合、第2の車載デバイスは、第1のデータセグメントが改ざんされた(すなわち、完全性検証に失敗した)とみなし、アップグレードファイルの書き込みを停止し、第1のデータセグメントが異常であることを示すアラームを、車両内にあり、かつ車両システムの故障診断及び保護を実施するように構成されている車載デバイス、たとえば、VCUに報告する。
たとえば、第1のアルゴリズムがMD5アルゴリズムであり、復号を通して取得された第1のデータセグメントがデータ1であり、復号を通して取得された第1のデータセグメントに対応するチェック値がチェック1である場合、第2の車載デバイスは、第1のアルゴリズムの入力として、復号を通して取得された第1のデータセグメントを使用して、出力ハッシュ値ハッシュ1=MD5(データ1)を取得し、ハッシュ1をチェック1と比較する。ハッシュ1とチェック1が同じである場合、完全性検証は成功する。ハッシュ1とチェック1が異なる場合、完全性検証は失敗する。
ステップS309:第1の車載デバイスは、第1のアルゴリズムの入力として、第2のデータセグメント及び第1のデータセグメントに対応するチェック値を使用して、第2のデータセグメントに対応する出力チェック値を取得する。
具体的には、第1のデータセグメントに対応するチェック値は、第1のアルゴリズムに従って第1のデータセグメントを処理することにより取得されたハッシュ値であり、第1のデータセグメントに対応するチェック値は、第1のデータセグメントを送信する処理において、第1の車載デバイスによって第2の車載デバイスに送信される。第1の車載デバイスは、第1のアルゴリズムの入力として第2のデータセグメント及び第1のデータセグメントに対応するチェック値を使用して、第2のデータセグメントに対応するチェック値を取得してもよい。
たとえば、第1のアルゴリズムがMD5アルゴリズムであり、第1のデータセグメントがデータ1であり、第1のデータセグメントに対応するチェック値がチェック1=MD5(データ1)であり、第2のデータセグメントがデータ2である場合、第1の車載デバイスは、第1のアルゴリズムの入力として、第2のデータセグメント及び第1のデータセグメントに対応するチェック値を使用して、第2のデータセグメントに対応するチェック値を取得し、チェック値は、チェック2=MD5(データ2、チェック1)である。
ステップS310:第1の車載デバイスは、第1の鍵を使用することにより第2のデータセグメント及び第2のデータセグメントに対応するチェック値を暗号化して、第2の暗号化されたセグメントを取得する。
ステップS311:第1の車載デバイスは、第2の暗号化されたセグメントを第2の車載デバイスに送信する。
ステップS312:第2の車載デバイスは、第2の暗号化されたセグメントを受信する。
ステップS313:第2の車載デバイスは、第1の鍵を使用することにより第2の暗号化されたセグメントを復号して、第2のデータセグメント及び第2のデータセグメントに対応するチェック値を取得する。
ステップS314:第2の車載デバイスは、第1のアルゴリズムに従って、第2のデータセグメントに対応するチェック値の検証に成功したときに、第2のデータセグメントを第2の車載デバイスに記憶する。
具体的には、第1のアルゴリズムの入力として、復号を通して取得された第2のデータセグメント及び、第1のデータセグメントに対応し、第1のデータセグメントを送信するプロセスで復号を通して取得されたチェック値を使用して、出力ハッシュ値を取得し、ハッシュ値と、第2のデータセグメントに対応し、復号を通して取得されたチェック値とを比較する。ハッシュ値が第2のデータセグメントに対応し、復号を通して取得されたチェック値と同じであり、完全性検証に成功した場合、第2の車載デバイスは、復号を通して取得された第2のデータセグメントを、第2の車載デバイスのフラッシュに対応するアドレスユニットに記憶する。第2のデータセグメントに対応し、復号を通して取得されたチェック値と、ハッシュ値が異なり、完全性検証に失敗した場合、第2の車載デバイスは、アップグレードファイルの書き込みを停止し、第2のデータセグメントが異常であることを示すアラームを、車内にあり、かつ車両システムの故障診断及び保護を実施するために使用される車載デバイス、たとえば、VCUに報告する。
次に、第2の車載デバイスは、ステップS309~S314の方式で、第1のデータセグメント及び第2のデータセグメント以外のアップグレードファイル内のn-2個のデータセグメントを第2の車載デバイスに連続的に書き込む。全てのn個のデータセグメントを第2の車載デバイスに書き込んだ後、第2の車載デバイスは、n個のデータセグメントを組み立てて、アップグレードファイルを取得し、アップグレードファイルに基づいてシステムをアップグレードしてもよい。
たとえば、nは3であり、言い換えると、アップグレードファイル(File)は、データ1、データ2、データ3の3つのデータセグメントを順番に含み、第1のアルゴリズムはMD5アルゴリズムであり、第1のデータセグメントはデータ1であり、第2のデータセグメントはデータ2であり、第1のデータセグメントに対応するチェック値はチェック1であり、第2のデータセグメントに対応するチェック値はチェック2である。データ1及びデータ2の伝送処理は、図3A及び図3Bに既に示されており、詳細は、ここでは再度説明しない。第3のデータセグメントがデータ3であり、第1の車載デバイスが第1のアルゴリズムの入力として第3のデータセグメントに対応するチェック値と第2のデータセグメントに対応するチェック値とを使用することにより、第3のデータセグメントに対応する出力チェック値を求め、チェック値が3=MD5(データ3、チェック2)である場合、第1の鍵を使用することによりデータ3とチェック3を暗号化して第3の暗号化セグメントを求め、第3の暗号化セグメントを第2の車載デバイスに送信する。対応して、第2の車載デバイスは、第1の鍵を使用することにより第3の暗号化セグメントを受信及び復号し、第3のデータセグメントデータ3及び第3のデータセグメントに対応するチェック値チェック3を取得し、第1のアルゴリズムに従って、復号により取得された第3のデータセグメントに対応するハッシュ値を計算し、ハッシュ値は、ハッシュ値3=MD5(データ3、チェック2)であり、ハッシュ値3及びチェック3を比較する。ハッシュ3とチェック3が同じであれば、完全性検証は成功する。ハッシュ3とチェック3が異なる場合、完全性検証は失敗する。3つのデータセグメントが全て第2の車載デバイスに書き込まれると、第2の車載デバイスは、データ1、データ2、及びデータ3を受信シーケンスで組み立て、アップグレードファイル(ファイル)を取得し、アップグレードファイル(ファイル)に基づいてシステムをアップグレードすることができる。
上述の方法では、アップグレードファイル内の複数のデータセグメントにおいて、第1のデータセグメント以外のデータセグメントに対応するチェック値は、前のデータセグメントに対応するチェック値に関連する。データセグメントのためのシーケンス検出メカニズムは、ハッシュチェーンを使用することにより実施されて、異常のあるセグメントが書き込みに成功することによるアップグレードファイル・アセンブリ中のエラー発生するのを回避し、ハッシュチェーンを用いた検証値を使用することにより、アップグレードファイルを悪意を持ってクラックすることの困難さを増加させる。追加的に、各データセグメントの機密性は、セキュリティプロトコル又はセキュリティアルゴリズムネゴシエーションによって取得された鍵の代わりに、事前に設定された事前共有鍵を使用することにより保証され、第1の車載デバイス及び第2の車載デバイスのリソース消費を効果的に低減できる。
図4A及び図4Bは、本出願の一実施形態による、別の車載デバイスアップグレード方法の概略フローチャートである。本方法は、図1に示す車載デバイスアップグレードシステムに基づいて実施することができる。本方法は、以下のステップを含むが、これらに限定されない。
ステップS401:TLSプロトコルに従い、第1の車載デバイスと第2の車載デバイスとの間で双方向認証を行い、交渉により第1の鍵を取得する。
具体的には、第1の鍵は、第1の車載デバイスと第2の車載デバイスとの間のTLSプロトコルネゴシエーションを通して取得される鍵である。TLSプロトコルによる双方向認証の原理は、図2A及び図2Bに記載のHTTPSによる双方向認証の原理と同じである。第1の車載デバイス及び第2の車載デバイスは、攻撃者が第1の車載デバイスを偽造して悪意のあるアップグレードファイルを配信したり、第2の車載デバイスを偽造してアップグレードファイルに含まれる重要情報を盗むことを防止するために、それぞれのデバイス証明書又はプリセット鍵を用いて、双方向のID認証を行うことができる。双方向認証がTLSプロトコルに従って行われるとき、第1の車載デバイスと第2の車載デバイスは、第1のアルゴリズムのタイプや、暗号化と復号に使用される第1の鍵のような、伝送に使用されるパラメータをネゴシエーションすることができる。
ステップS402:第1の車載デバイスは、第1のアルゴリズムの入力として第1のデータセグメントを使用し、第1のデータセグメントに対応する出力チェック値を取得する。
ステップS403:第1の車載デバイスは、第1の鍵、第1のデータセグメント、及び第1のデータセグメントに対応するチェック値を使用することにより暗号化し、第1のデータセグメントに対応する暗号化されたセグメントを取得する。
ステップS404:第1の車載デバイスは、第1のデータセグメントに対応する暗号化されたセグメントを第2の車載デバイスに送信する。
ステップS405:第2の車載デバイスは、第1のデータセグメントに対応する暗号化されたセグメントを受信する。
ステップS406:第2の車載デバイスは、第1の鍵を使用することにより、第1のデータセグメントに対応する暗号化されたセグメントを復号し、第1のデータセグメントに対応する第1のデータセグメント及びチェック値を取得する。
ステップS407:第2の車載デバイスは、第1のアルゴリズムに従って、第1のデータセグメントに対応するチェック値を検証することに成功した場合、第1のデータセグメントを第2の車載デバイスに記憶する。
ステップS408:第1の車載デバイスは、第1のアルゴリズムの入力として、第2のデータセグメントと、第1のデータセグメントに対応するチェック値とを用いて、第2のデータセグメントに対応する出力チェック値を取得する。
ステップS409:第1の車載デバイスは、第1の鍵、第2のデータセグメント、及び第2のデータセグメントに対応するチェック値を使用することにより暗号化され、第2の暗号化されたセグメントを取得する。
ステップS410:第1の車載デバイスは、第2の暗号化されたセグメントを第2の車載デバイスに送信する。
ステップS411:第2の車載デバイスは、第2の暗号化セグメントを受信する。
ステップS412:第2の車載デバイスは、第1の鍵を使用することによって第2の暗号化されたセグメントを復号し、第2のデータセグメント及び第2のデータセグメントに対応するチェック値を取得する。
ステップS413:第2の車載デバイスは、第1のアルゴリズムに従って、第2のデータセグメントに対応するチェック値を検証することに成功した場合、第2のデータセグメントを第2の車載デバイスに記憶する。
具体的には、ステップS402~S413のアップグレードファイルをセグメント単位で書き込む処理は、図3A及び図3BのステップS303~S314のアップグレードファイルをセグメント単位で書き込む処理と整合する。詳細は、ここでは再度説明しない。
前述の方法では、LSプロトコルネゴシエーションを通して取得された鍵を使用することにより各データセグメントを暗号化することが、各データセグメントの機密性を保証できることが分かる。追加的に、異なる第2の車載デバイスに対して、第1の車載デバイスと第2の車載デバイスとの間で行われる異なる双方向認証プロセスが存在し、ネゴシエーションを通して取得される異なる第1の鍵、言い換えると、異なるアップグレードファイルが異なる暗号化鍵及び復号鍵に対応し、アップグレードファイル伝送プロセスのセキュリティを大幅に改善することができる。
図5は、本出願の一実施形態による別の車載デバイスアップグレード方法の概略フローチャートである。本方法は、図1に示す車載デバイスアップグレードシステムを使用することにより実施してもよい。本方法によれば、RFC5246標準におけるTLSプロトコルを、セグメントごとにアップグレードファイルを書き込むプロセスに適用してもよい。本方法は、以下のステップを含むが、これらに限定されない。
ステップS501:TLSプロトコルに従って、第1の車載デバイスと第2の車載デバイスとの間で双方向認証が行われる。
具体的には、RFC5246標準におけるTLSプロトコルは、ハンドシェイクフェーズ及び伝送フェーズを含む。ハンドシェイクフェーズ(すなわち、TLSプロトコルに従った双方向認証)では、TLSプロトコルに従って第1の車載デバイスと第2の車載デバイスとの間で双方向認証が行われて、アイデンティティ認証を実施し、後続の伝送フェーズで使用される完全性保護アルゴリズム(すなわち、第1のアルゴリズム)とアップグレードファイルの機密性を保証するために使用される第1の鍵がネゴシエーションされる。伝送フェーズでは、第1の車載デバイス及び第2の車載デバイスは、TLSプロトコルに従って各データセグメントを伝送するプロセスの機密性及び完全性を保護し、車載デバイスをアップグレードするプロセスのセキュリティを確保する。
ステップS502:第1の車載デバイス及び第2の車載デバイスは、第1のデータセグメントを送信するプロセスで、TLSプロトコルに従って暗号化及び完全性保護を行う。
具体的には、第2の車載デバイスをアップグレードするために使用されるアップグレードファイルは、複数のデータセグメントを含む。第1の車載デバイス及び第2の車載デバイスは、RFC5246標準におけるTLSプロトコルに従って、第2の車載デバイスをアップグレードするために使用されるアップグレードファイルに含まれる複数のデータセグメント(たとえば、n個のデータセグメント)のうちの第1のデータセグメントの機密性及び完全性を保護してもよい。
具体的には、第1の車載デバイスは、ネゴシエーションされた第1の鍵を使用することにより第1のデータセグメントを暗号化して、第1のデータセグメントに対応する暗号化されたセグメントを取得し、ネゴシエーションされた第1のアルゴリズムに従って、第1のデータセグメントに対応するMAC、すなわち第1のデータセグメントに対応するチェック値を計算し、第2の車載デバイスに、第1のデータセグメントに対応する暗号化されたセグメント及び第1のデータセグメントに対応するMACを送信する。
これに対応して、第2の車載デバイスは、第1のデータセグメントに対応する暗号化されたセグメント及び第1のデータセグメントに対応するMACを受信し、ネゴシエーションされた第1の鍵を使用することにより第1のデータセグメントに対応する暗号化されたセグメントを復号して、第1のデータセグメントを取得し、ネゴシエーションされた第1のアルゴリズムに従って、復号を通して取得された第1のデータセグメントに対応するMACを計算し、次いで、計算を通して第2の車載デバイスが取得したMACと、第1のデータセグメントに対応する受信されたMACを比較する。第1のデータセグメントに対応する受信されたMACと計算を通して第2の車載デバイスが取得したMACが同一である場合、第2の車載デバイスは、第1のデータセグメントが改ざんされていない(言い換えれば、完全性確認に成功した)とみなし、復号を通して取得された第1のデータセグメントを、第2の車載デバイスのフラッシュに対応するアドレスユニットに記憶する。第1のデータセグメントに対応する受信されたMACと計算を通して第2の車載デバイスが取得したMACが異なる場合、第2の車載デバイスは、第1のデータセグメントが改ざんされた(言い換えれば、完全性検証に失敗した)とみなし、アップグレードファイルの書き込みを停止し、第1のデータセグメントが異常であることを示すアラームを、車内にあり、かつ車両システムの故障診断及び保護を実施するように構成されている車載デバイス、たとえば、VCUに報告する。
たとえば、第1のデータセグメントがデータ1であり、第1のアルゴリズムがHMACアルゴリズムである場合、第1の車載デバイスは、第1のアルゴリズムに従った計算を通して、第1のデータセグメントデータ1に対応するMAC値を取得し、MACは、チェック1=HMAC(データ1)である。対応して、第2の車載デバイスは、第1のアルゴリズムに従って、復号を通して取得された第1のデータセグメントデータ1に対応するMAC値を計算し、ここで、MACは、mac1=HMAC(データ1)であり、チェック1とmac1とを比較する。チェック1とmac1が同じであれば、完全性検証に成功する。チェック1とmac1が異なる場合、完全性検証は失敗する。
ステップS503:第1の車載デバイス及び第2の車載デバイスは、第2のデータセグメントを送信するプロセスで、TLSプロトコルに従って、暗号化及び完全性保護を行う。
具体的には、アップグレードファイル内のn個のデータセグメントのうちの第1のデータセグメント以外の各データセグメントを送信するプロセスで、TLSプロトコルに従って、暗号化及び完全性保護が継続して行われる。言い換えれば、アップグレードファイルのn個のデータセグメントのうちの第1のデータセグメント以外の各データセグメントは、ステップS502の方式で第2の車載デバイスに書き込まれる。n個のデータセグメントが全て第2の車載デバイスに書き込まれた後、第2の車載デバイスは、n個のデータセグメントを組み立てて、アップグレードファイルを取得し、アップグレードファイルに基づいてシステムをアップグレードしてもよい。
前述の方法では、各データセグメントの機密性と完全性は、RFC5246標準におけるTLSプロトコルに従って保護される。
本出願の本実施形態では、第2の車載デバイスをアップグレードするために使用されるアップグレードファイル内の複数のデータセグメントのうちの各データセグメントが、別々に暗号化及び送信されて、車内伝送プロセスの機密性を保証する。第1の車載デバイス及び第2の車載デバイスは、ハッシュチェーン又はTLSプロトコルで一般的に使用される完全性保護アルゴリズムを使用することにより、各データセグメントの完全性を保護し、第1の車載デバイス及び第2の車載デバイスは、異常データセグメントを時間内に検出することができ、異常データセグメントを検出した後、タイムリーに新しいデータセグメントの送信の停止をトリガし、異常なデータがセグメントごとに第2の車載デバイスに書き込まれるため、第2の車載デバイスが異常に動作するか、又はリソースが浪費されるケースを回避する。
追加的に、アップグレードパッケージソースの有効性を保証するために、アップグレードファイルを提供するダウンロードサーバは、HTTPSプロトコルに従って第1の車載デバイスとの双方向認証を行うサーバである。ダウンロードサーバ及び第1の車載デバイスは、暗号化されたアップグレードファイルを送信する。第1の車載デバイスは、暗号化されたアップグレードファイルを記憶し、記憶中のアップグレードファイルの機密性を確保する。
以上、本出願の実施態様における方法を詳細に説明した。以下、本出願の実施形態における装置を提供する。
図6は、本出願の一実施形態による第1の車載デバイスの概略構造図である。第1の車載デバイス600は、処理ユニット601、暗号化ユニット602、及び通信ユニット603を含んでもよい。ユニットの詳細な説明は以下のようである。
処理ユニット601は、第1のアルゴリズムに従って第1のデータセグメントを処理するように構成されている。第1のデータセグメントは、第2の車載デバイスをアップグレードするために使用されるアップグレードファイルに含まれる複数のデータセグメントのうちの任意のデータセグメントである。第1のチェック値は、第2の車載デバイスに送信される。
暗号化ユニット602は、第1の鍵を使用することにより第1のデータセグメントを暗号化して、第1の暗号化されたセグメントを取得するように構成されている。
通信ユニット603は、第1の暗号化されたセグメントを第2の車載デバイスに送信するように構成されており、第1のアルゴリズム従った第1のチェック値の検証に成功したときに、第2の車載デバイスは、第1の鍵を使用することにより第1の暗号化されたセグメントを復号することによって取得された第1のデータセグメントを第2の車載デバイスに記憶する。第1のデータセグメントは、アップグレードのためのアップグレードファイルを形成するために、第2の車載デバイスによって使用される。
第2の車載デバイスをアップグレードするために使用されるアップグレードファイル内の複数のデータセグメントのうちの各データセグメントが、別々に暗号化及び送信されて、車内伝送プロセスにおける各データセグメントを盗むリスクを効果的に低減し、車内伝送プロセスにおける各データセグメントの機密性を保証することが分かる。追加的に、受信端末(つまり、第2の車載デバイス)は、最後のデータセグメントの伝送が完了した後にのみアップグレードファイル全体を検証する代わりに、各データセグメントに対応するチェック値を検証する必要があり、受信端末が、改ざんされた異常データセグメントを時間内に検出することができ、異常データセグメントを検出した後に、新しいデータセグメントを停止することの停止を適時にトリガすることができるようにし、異常データセグメントが第2の車載デバイスに書き込まれたために、第2の車載デバイスが異常に動作するか、又はリソースが無駄になるケースを回避し、各データセグメントの完全性を確保し、アップグレードファイル伝送プロセスのセキュリティを効果的に改善する。
任意選択の解決策では、第1の車載デバイス600は、ネゴシエーションユニット及び復号ユニットをさらに含む。
ネゴシエーションユニットは、処理ユニット601が第1のアルゴリズムに従って第1のデータセグメントを処理して、第1のチェック値を取得する前に、HTTPSネゴシエーションを通してダウンロードサーバとの双方向認証を実行するように構成されている。ダウンロードサーバは、第2の車載デバイスにアップグレードファイルを提供するように構成されている。
通信ユニット603は、ダウンロードサーバが送信した暗号化ファイルを受信するように構成されている。暗号化されたファイルは、アップグレードファイルを暗号化することによって取得される。
復号ユニットは、プリセットされたアップグレード条件が満たされたときに、暗号化されたファイルを復号して、アップグレードファイルを取得するように構成されている。
アップグレードファイルを提供するダウンロードサーバは、HTTPSプロトコルに従って第1の車載デバイスとの双方向認証を行うサーバであり、アップグレードファイルの送信元が有効であり、非認証プラットフォームが、不正なアップグレードファイルを第1の車載デバイスに配信することが防止され、攻撃者が、ダウンロードサーバからリリースされ、かつ重要情報を含むアップグレードファイルを上述の第1の車載デバイスから盗むことが防止されることが分かる。追加的に、暗号化されたアップグレードファイルがダウンロードサーバと第1の車載デバイスとの間で送信され、第1の車載デバイスが暗号化されたアップグレードファイルを記憶し、アップグレードファイルを盗むリスクを効果的に低減することができ、車外伝送プロセス及び記憶中のアップグレードファイルの機密性を保証することができ、アップグレードファイル伝送プロセスの安全性を効果的に改善することができるようにする。
別の任意選択の解決策では、第1のデータセグメントがアップグレードファイル内の複数のデータセグメントのうちの第1のデータセグメントである場合、第1のチェック値は、第1のアルゴリズムの入力として第1のデータセグメントを使用することにより取得される出力データである。
代替的には、第1のデータセグメントがアップグレードファイル内の複数のデータセグメントのうちの第1のデータセグメント以外のデータセグメントである場合、第1のチェック値は、第1のアルゴリズムの入力として第1のデータセグメント及び第2のチェック値を使用することにより取得される出力データであり、第2のチェック値は、第1のアルゴリズムに従って第1のデータセグメントの前のデータセグメントを処理することにより取得される。
アップグレードファイル内の複数のデータセグメントにおいて、第1のデータセグメント以外のデータセグメントに対応するチェック値は、前のデータセグメントに対応するチェック値に関連することが分かる。データセグメントのためのシーケンス検出メカニズムは、ハッシュチェーンを使用することにより実施されて、異常のあるセグメントが書き込みに成功することによるアップグレードファイル・アセンブリ中のエラー発生するのを回避し、ハッシュチェーンを用いた検証値を使用することにより、アップグレードファイルを悪意を持ってクラックすることの困難さを増加させる。
別の任意選択の解決策では、第1の暗号化されたセグメントは、第1の鍵を使用することにより第1のデータセグメント及び第1のチェック値を暗号化することによって取得される。
第1のデータセグメントが暗号化される間、第1のチェック値がさらに暗号化され得ることが分かる。これは、アップグレードファイル伝送プロセスのセキュリティをさらに改善する。
別の任意選択の解決策では、第1の鍵は、第1の車載デバイスと第2の車載デバイスのために事前に設定された事前共有鍵である。
各データセグメントの機密性は、セキュリティプロトコル又はセキュリティアルゴリズムネゴシエーションによって取得された鍵の代わりに、事前に設定された事前共有鍵を使用することにより保証され、第1の車載デバイス及び第2の車載デバイスのリソース消費を効果的に低減できることが分かる。
別の任意選択の解決策では、第1の鍵は、TLSプロトコルに従って第1の車載デバイスと第2の車載デバイスとの間で双方向認証ネゴシエーションを行うことによって取得される鍵である。
TLSプロトコルネゴシエーションを通して取得された鍵を使用することにより各データセグメントを暗号化することが、各データセグメントの機密性を保証できることが分かる。追加的に、異なる第2の車載デバイスに対して、第1の車載デバイスと第2の車載デバイスとの間で行われる異なる双方向認証プロセスが存在し、ネゴシエーションを通して取得される異なる第1の鍵、言い換えると、異なるアップグレードファイルが異なる暗号化鍵及び復号鍵に対応し、アップグレードファイル伝送プロセスのセキュリティを大幅に改善することができる。
別の任意選択の解決策では、第1の鍵は、TLSプロトコルに従って第1の車載デバイスと第2の車載デバイスとの間で双方向認証ネゴシエーションを行うことによって取得される鍵である。
第1のチェック値は、TLSプロトコルと第1のアルゴリズムに従って第1のデータセグメントを処理することにより取得される、第1のデータセグメントのメッセージ認証コードである。
各データセグメントの機密性と完全性は、アップグレードファイル伝送プロセスのセキュリティを保証するために、TLSプロトコルに従って保護されることが分かる。
各動作の実施については、図2A、図2B、図3A、図3B、図4A、図4B、及び図5に示す方法の実施形態の対応する説明を参照することに留意されたい。第1の車載デバイス600は、図2A、図2B、図3A、図3B、図4A、図4B、及び図5に示す方法の実施形態における第1の車載デバイスである。
図7は、本出願の一実施形態による第2の車載デバイスの概略構造図である。第2の車載デバイス700は、通信ユニット701、復号ユニット702、検証ユニット703、及びアップグレードユニット704を含んでもよい。ユニットの詳細は以下のようである。
通信ユニット701は、第1の車載デバイスが送信した第1の暗号化セグメントを受信するように構成されており、第1の暗号化セグメントは、第1の鍵を使用することにより第1のデータセグメントを暗号化することにより取得され、第1のデータセグメントは、第2の車載デバイスをアップグレードするために使用されるアップグレードファイルに含まれる複数のデータセグメントのうちの任意のデータセグメントである。
復号ユニット702は、第1の鍵を使用することにより第1の暗号化されたセグメントを復号して、第1のデータセグメントを取得するように構成されている。
検証ユニット703は、第1のアルゴリズムに従った第1のチェック値の検証に成功したときに、第1のデータセグメントを第2の車載デバイスに記憶するように構成されており、第1のチェック値は、第1のアルゴリズムに従って第1のデータセグメントを処理することにより第1の車載デバイスによって取得され、第1のチェック値は、第1の車載デバイスから第2の車載デバイスによって受信される。
アップグレードユニット704は、アップグレードのための第1のデータセグメントに基づいてアップグレードファイルを形成するように構成されている。
任意選択の解決策では、第1のデータセグメントがアップグレードファイル内の複数のデータセグメントのうちの第1のデータセグメントである場合、第1のチェック値は、第1のアルゴリズムの入力として第1のデータセグメントを使用することにより取得される出力データである。
代替的には、第1のデータセグメントがアップグレードファイル内の複数のデータセグメントのうちの第1のデータセグメント以外のデータセグメントである場合、第1のチェック値は、第1のアルゴリズムの入力として第1のデータセグメント及び第2のチェック値を使用することにより取得される出力データであり、第2のチェック値は、第1のアルゴリズムに従って第1のデータセグメントの前のデータセグメントを処理することにより取得される。
別の任意選択の解決策では、第1の暗号化されたセグメントは、第1の鍵を使用することにより第1のデータセグメント及び第1のチェック値を暗号化することによって取得される。
別の任意選択の解決策では、第1の鍵は、第1の車載デバイスと第2の車載デバイスのために事前に設定された事前共有鍵である。
別の任意選択の解決策では、第1の鍵は、TLSプロトコルに従って第1の車載デバイスと第2の車載デバイスとの間で双方向認証ネゴシエーションを行うことによって取得される鍵である。
別の任意選択の解決策では、第1の鍵は、TLSプロトコルに従って第1の車載デバイスと第2の車載デバイスとの間で双方向認証ネゴシエーションを行うことによって取得される鍵である。
第1のチェック値は、TLSプロトコルと第1のアルゴリズムに従って第1のデータセグメントを処理することにより取得される、第1のデータセグメントのメッセージ認証コードである。
各動作の実施については、図2A、図2B、図3A、図3B、図4A、図4B、及び図5に示す方法における実施形態の対応する説明を参照することに留意されたい。第2の車載デバイス700は、図2A、図2B、図3A、図3B、図4A、図4B、及び図5に示す方法における実施形態における第2の車載デバイスである。
図8は、本出願の一実施形態による、さらに別の第1の車載デバイスの概略構造図である。第1の車載デバイス800は、プロセッサ801、メモリ802、及びトランシーバ803を含んでもよい。プロセッサ801、メモリ802、及びトランシーバ803は、バスを使用することにより互いに接続される。
メモリ802は、ランダムアクセスメモリ(random access memory、RAM)、リードオンリーメモリ(read-only memory、ROM)、消去可能プログラマブルリードオンリーメモリ(erasable programmable read only memory、EPROM)、又はコンパクトディスクリードオンリーメモリ(compact disc read-only memory、CD-ROM)を含むが、これらに限定されない。メモリ802は、関連するコンピュータプログラム及びデータを記憶するように構成されている。トランシーバ803は、データを送信及び受信するように構成されている。
プロセッサ801は、1つ以上の中央処理装置(central processing unit、CPU)であってもよい。プロセッサ801が1つのCPUを含むときに、CPUは、シングルコアCPUであってもよいし、マルチコアCPUであってもよい。
第1の車載デバイス800内のプロセッサ801は、メモリ802に記憶されたコンピュータプログラムコードを読み出して、
第1のアルゴリズムに従って第1のデータセグメントを処理して、第1のチェック値を取得することであって、第1のデータセグメントは、第2の車載デバイスをアップグレードするために使用されるアップグレードファイルに含まれる複数のデータセグメントのうちの任意のデータセグメントであり、第1のチェック値は、第2の車載デバイスに送信される、ことと、
第1の鍵を使用することにより第1のデータセグメントを暗号化して、第1の暗号化されたセグメントを取得することと、
第1の暗号化されたセグメントを第2の車載デバイスに送信するようにトランシーバを制御することであって、第2の車載デバイスが、第1のアルゴリズムに従って第1のチェック値の検証に成功したときに、第1の鍵を使用することにより第1の暗号化されたセグメントを復号することによって取得された第1のデータセグメントを第2の車載デバイスに記憶するようにし、第1のデータセグメントは、アップグレードのためのアップグレードファイルを形成するために第2の車載デバイスによって使用される、ことと、を行う動作を行うように構成されている。
任意選択の解決策では、プロセッサ801は、第1のアルゴリズムに従って第1のデータセグメントを処理して、第1のチェック値を取得することの前に、HTTPSに従ってダウンロードサーバと双方向認証を行うことであって、ダウンロードサーバは、第2の車載デバイスにアップグレードファイルを提供するように構成されている、ことと、ダウンロードサーバが送信した暗号化されたファイルを受信するようにトランシーバ803を制御することであって、暗号化されたファイルは、アップグレードファイルを暗号化することにより取得される、ことと、プリセットされたアップグレード条件が満たされたときに、暗号化されたファイルを復号して、アップグレードファイルを取得することと、を行うようにさらに構成されている。
任意選択の解決策では、第1のデータセグメントがアップグレードファイル内の複数のデータセグメントのうちの第1のデータセグメントである場合、第1のチェック値は、第1のアルゴリズムの入力として第1のデータセグメントを使用することにより取得される出力データである。
代替的には、第1のデータセグメントがアップグレードファイル内の複数のデータセグメントのうちの第1のデータセグメント以外のデータセグメントである場合、第1のチェック値は、第1のアルゴリズムの入力として第1のデータセグメント及び第2のチェック値を使用することにより取得される出力データであり、第2のチェック値は、第1のアルゴリズムに従って第1のデータセグメントの前のデータセグメントを処理することにより取得される。
別の任意選択の解決策では、第1の暗号化されたセグメントは、第1の鍵を使用することにより第1のデータセグメント及び第1のチェック値を暗号化することによって取得される。
別の任意選択の解決策では、第1の鍵は、第1の車載デバイスと第2の車載デバイスのために事前に設定された事前共有鍵である。
別の任意選択の解決策では、第1の鍵は、TLSプロトコルに従って第1の車載デバイスと第2の車載デバイスとの間で双方向認証ネゴシエーションを行うことによって取得される鍵である。
別の任意選択の解決策では、第1の鍵は、TLSプロトコルに従って第1の車載デバイスと第2の車載デバイスとの間で双方向認証ネゴシエーションを行うことによって取得される鍵である。
第1のチェック値は、TLSプロトコルと第1のアルゴリズムに従って第1のデータセグメントを処理することにより取得される、第1のデータセグメントのメッセージ認証コードである。
各動作の実施については、図2A、図2B、図3A、図3B、図4A、図4B、及び図5に示す方法の実施形態の対応する説明を参照することに留意されたい。第1の車載デバイス800は、図2A、図2B、図3A、図3B、図4A、図4B及び図5に示す方法の実施形態における第1の車載デバイスである。
図9は、本出願の一実施形態による、さらに別の車載デバイスの概略構造図である。第2の車載デバイス900は、プロセッサ901、メモリ902、及びトランシーバ903を含んでもよい。プロセッサ901、メモリ902、及びトランシーバ903は、バスを使用することにより互いに接続される。
メモリ802は、ランダムアクセスメモリ(random access memory、RAM)、リードオンリーメモリ(read-only memory、ROM)、消去可能プログラマブルリードオンリーメモリ(erasable programmable read only memory、EPROM)、又はコンパクトディスクリードオンリーメモリ(compact disc read-only memory、CD-ROM)を含むが、これらに限定されない。メモリ902は、関連するコンピュータプログラム及びデータを記憶するように構成されている。トランシーバ903は、データを送信及び受信するように構成されている。
プロセッサ901は、1つ以上の中央処理装置(central processing unit、CPU)であってもよい。プロセッサ901が1つのCPUである場合、CPUは、シングルコアCPUであってもよいし、マルチコアCPUであってもよい。
第2の車載デバイス900におけるプロセッサ901は、メモリ902に記憶されたコンピュータプログラムコードを読み出して、
第1の車載デバイスによって送信された第1の暗号化されたセグメントを受信するようにトランシーバ903を制御することであって、第1の暗号化されたセグメントは、第1の鍵を使用することにより第1のデータセグメントを暗号化することにより取得され、第1のデータセグメントは、第2の車載デバイスをアップグレードするために使用されるアップグレードファイルに含まれる複数のデータセグメントのうちの任意のデータセグメントである、ことと、
第1の鍵を使用することにより第1の暗号化されたセグメントを復号して、第1のデータセグメントを取得することと、
第1のアルゴリズムに従った第1のチェック値の検証に成功したときに、第1のデータセグメントを第2の車載デバイスに記憶することであって、第1のチェック値は、第1のアルゴリズムに従って第1のデータセグメントを処理することにより第1の車載デバイスにより取得され、第1のチェック値は、第1の車載デバイスから第2の車載デバイスによって受信される、ことと、
アップグレードのための第1のデータセグメントに基づいてアップグレードファイルを形成することと、を行う動作を行うように構成されている。
任意選択の解決策では、第1のデータセグメントがアップグレードファイル内の複数のデータセグメントのうちの第1のデータセグメントである場合、第1のチェック値は、第1のアルゴリズムの入力として第1のデータセグメントを使用することにより取得される出力データである。
代替的には、第1のデータセグメントがアップグレードファイル内の複数のデータセグメントのうちの第1のデータセグメント以外のデータセグメントである場合、第1のチェック値は、第1のアルゴリズムの入力として第1のデータセグメント及び第2のチェック値を使用することにより取得される出力データであり、第2のチェック値は、第1のアルゴリズムに従って第1のデータセグメントの前のデータセグメントを処理することにより取得される。
別の任意選択の解決策では、第1の暗号化されたセグメントは、第1の鍵を使用することにより第1のデータセグメント及び第1のチェック値を暗号化することによって取得される。
別の任意選択の解決策では、第1の鍵は、第1の車載デバイスと第2の車載デバイスのために事前に設定された事前共有鍵である。
別の任意選択の解決策では、第1の鍵は、TLSプロトコルに従って第1の車載デバイスと第2の車載デバイスとの間で双方向認証ネゴシエーションを行うことによって取得される鍵である。
別の任意選択の解決策では、第1の鍵は、TLSプロトコルに従って第1の車載デバイスと第2の車載デバイスとの間で双方向認証ネゴシエーションを行うことによって取得される鍵である。
第1のチェック値は、TLSプロトコルと第1のアルゴリズムに従って第1のデータセグメントを処理することにより取得される、第1のデータセグメントのメッセージ認証コードである。
各動作の実施については、図2A、図2B、図3A、図3B、図4A、図4B、及び図5に示す方法の実施形態の対応する説明を参照することに留意されたい。第2の車載デバイス900は、図2A、図2B、図3A、図3B、図4A、図4B、及び図5に示す方法の実施形態における第2の車載デバイスである。
本出願の一実施形態は、チップシステムをさらに提供する。チップシステムは、少なくとも1つのプロセッサ、メモリ、及びインターフェース回路を含む。メモリ、トランシーバ、及び少なくとも1つのプロセッサは、ラインを使用することにより相互接続され、少なくとも1つのメモリは、コンピュータプログラムを記憶する。コンピュータプログラムがプロセッサによって実行されるときに、図2A、図2B、図3A、図3B、図4A、図4B、若しくは図5に示す実施形態における第1の車載デバイスが行う動作が実施されるか、又は図2A、図2B、図3A、図3B、図4A、図4B、又は図5に示す実施形態における第2の車載デバイスが行う動作が実施される。
本出願の一実施形態は、コンピュータ可読記憶媒体をさらに提供する。コンピュータ可読記憶媒体は、コンピュータプログラムを記憶する。コンピュータプログラムがプロセッサ上で動作するときに、図2A、図2B、図3A、図3B、図4A、図4B、又は図5に示す実施形態における第1の車載デバイスが行う動作が実施されるか、又は図2A、図2B、図3A、図3B、図4A、図4B、又は図5に示す実施形態における第2の車載デバイスが行う動作が実施される。
本出願の一実施形態は、コンピュータプログラム製品をさらに提供する。コンピュータプログラム製品がプロセッサ上で動作するときに、図2A、図2B、図3A、図3B、図4A、図4B、又は図5に示す実施形態における第1の車載デバイスが行う動作が実施されるか、又は図2A、図2B、図3A、図3B、図4A、図4B、又は図5に示す実施形態における第2の車載デバイスが行う動作が実施される。
当業者であれば、実施形態における方法のプロセスの全部又は一部は、関連するハードウェアに命令するコンピュータプログラムによって実施されてもよいことを理解するであろう。コンピュータプログラムは、コンピュータ可読記憶媒体に記憶されてもよい。コンピュータプログラムが動作するときに、実施形態における方法のプロセスが行われる。前述の記憶媒体は、コンピュータプログラムコードを記憶することができる任意の媒体を含み、ROM若しくはランダムアクセスメモリ(略してRAM)、磁気ディスク又は光ディスクなどである。