(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-02
(45)【発行日】2024-12-10
(54)【発明の名称】センタ装置、車両側システム、コンテンツの保護方法及びコンテンツ保護用プログラム
(51)【国際特許分類】
G06F 21/10 20130101AFI20241203BHJP
G06F 21/62 20130101ALI20241203BHJP
H04L 9/14 20060101ALI20241203BHJP
H04L 9/08 20060101ALI20241203BHJP
【FI】
G06F21/10 350
G06F21/62 318
H04L9/14
H04L9/08 A
(21)【出願番号】P 2023540273
(86)(22)【出願日】2022-07-26
(86)【国際出願番号】 JP2022028744
(87)【国際公開番号】W WO2023013471
(87)【国際公開日】2023-02-09
【審査請求日】2023-10-26
(31)【優先権主張番号】P 2021129943
(32)【優先日】2021-08-06
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】000004260
【氏名又は名称】株式会社デンソー
(74)【代理人】
【識別番号】110000567
【氏名又は名称】弁理士法人サトー
(72)【発明者】
【氏名】吉見 英朗
(72)【発明者】
【氏名】二神 基誠
(72)【発明者】
【氏名】小川 朝也
(72)【発明者】
【氏名】安部 真晃
(72)【発明者】
【氏名】東松 古都
【審査官】宮司 卓佳
(56)【参考文献】
【文献】特開2013-088845(JP,A)
【文献】特開2020-092289(JP,A)
【文献】特開2013-142994(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/10
G06F 21/62
H04L 9/14
H04L 9/08
(57)【特許請求の範囲】
【請求項1】
利用に際して利用制限をかけることが可能なコンテンツを保護するためのコンテンツ鍵を生成するコンテンツ鍵生成部(5)と、
前記コンテンツのユーザに対応するユーザ鍵を生成するユーザ鍵生成部(6)と、
各車両に対応するデバイス鍵を管理するデバイス鍵管理部(15)と、
前記コンテンツを、前記コンテンツ鍵を用いて暗号化するコンテンツ暗号化部(8)と、
前記コンテンツ鍵を、前記デバイス鍵を用いて暗号化するコンテンツ鍵暗号化部(10)と、
少なくとも前記コンテンツを利用するための条件を含むライセンスファイルを、前記ユーザ鍵を用いて暗号化するファイル暗号化部(9)と、
暗号化されたライセンスファイル及び暗号化されたライセンス鍵を含む圧縮ファイルを生成する圧縮ファイル生成部(4)と、を備えるセンタ装置。
【請求項2】
前記ユーザ鍵を、前記デバイス鍵を用いて暗号化するユーザ鍵暗号化部(11)を備える請求項1記載のセンタ装置。
【請求項3】
前記ライセンスファイルには、前記コンテンツを利用するための許諾条件と、
前記デバイス鍵を用いて暗号化されたコンテンツ鍵と、
前記コンテンツを識別するための識別情報とが含まれている請求項
1記載のセンタ装置。
【請求項4】
前記ライセンスファイルには、更に暗号化を行なうための情報である暗号化パラメータが含まれている請求項3記載のセンタ装置。
【請求項5】
車両に送信する配信パッケージを生成するパッケージ生成部(2)を備え、
前記パッケージ生成部は、前記コンテンツ鍵生成部、前記ユーザ鍵生成部、前記コンテンツ暗号化部、前記コンテンツ鍵暗号化部及び前記ファイル暗号化部としての機能も備えている請求項1から4の何れか一項に記載のセンタ装置。
【請求項6】
暗号化されたコンテンツを、CDN(Contents Delivery Network;21)を経由して車両に配信するコンテンツ配信部(12)を備える請求項1から
4の何れか一項に記載のセンタ装置。
【請求項7】
前記デバイス鍵管理部は、前記デバイス鍵を、各車両に付与されている車両識別情報毎に保持する請求項1から
4の何れか一項に記載のセンタ装置。
【請求項8】
前記車両識別情報毎に保持しているデバイス鍵と、各車両に配置されている電子制御装置であり前記コンテンツの転送先である対象装置の識別情報とに基づいて、装置対応デバイス鍵を生成するデバイス鍵生成部(33)を備える請求項7記載のセンタ装置。
【請求項9】
前記デバイス鍵生成部は、前記車両識別情報毎に保持しているデバイス鍵の値に、前記識別情報の値を加算した結果にハッシュ関数を適用して前記装置対応デバイス鍵を生成する請求項8記載のセンタ装置。
【請求項10】
前記デバイス鍵生成部は、前記車両識別情報毎に保持しているデバイス鍵と、前記識別情報とを連結したデータにハッシュ関数を適用して前記装置対応デバイス鍵を生成する請求項8記載のセンタ装置。
【請求項11】
前記デバイス鍵管理部は、前記デバイス鍵を、各車両に配置されている電子制御装置であり、前記コンテンツの転送先である対象装置毎に保持する請求項1から
4の何れか一項に記載のセンタ装置。
【請求項12】
車両に配置され、請求項7記載のセンタ装置と通信を行う通信部(25)と、
この通信部が受信したデータを、電子制御装置であり前記コンテンツの転送先である対象装置に転送するマスタ装置(22)と、
前記対象装置(24)とを備え、
前記マスタ装置は、前記デバイス鍵を保持しており、
暗号化されたライセンスファイル及びユーザ鍵を受信すると、前記ユーザ鍵を用いてライセンスファイルを復号化するライセンスファイル復号部(27)と、
前記デバイス鍵を用いて、前記ライセンスファイルに含まれているコンテンツ鍵を復号化するコンテンツ鍵復号部(29)と、
前記コンテンツを含むデータファイルを受信すると、前記データファイル及びコンテンツ鍵を含むライセンスファイルを前記対象装置に転送する転送部とを備える車両側システム。
【請求項13】
車両に配置され、請求項
8記載のセンタ装置と通信を行う通信部(25)と、
この通信部が受信したデータを、電子制御装置であり前記コンテンツの転送先である対象装置に転送するマスタ装置(22)と、
前記対象装置とを備え、
前記マスタ装置は、前記デバイス鍵と前記対象装置の識別情報とに基づいて、装置対応デバイス鍵を生成するデバイス鍵生成部(34)を備え、
暗号化されたライセンスファイル及びユーザ鍵を受信すると、前記ユーザ鍵を用いてライセンスファイルを復号化するライセンスファイル復号部(27)と、
前記装置対応デバイス鍵を用いて、前記ライセンスファイルに含まれているコンテンツ鍵を復号化するコンテンツ鍵復号部(29)と、
前記コンテンツを含むデータファイルを受信すると、前記データファイル及びコンテンツ鍵を含むライセンスファイルを前記対象装置に転送する転送部とを備える車両側システム。
【請求項14】
センタ装置を構成するコンピュータにより実行される方法であって、
利用に際して利用制限をかけることが可能なコンテンツを保護するためのコンテンツ鍵を生成し、
前記コンテンツのユーザに対応するユーザ鍵を生成し、
前記コンテンツを、前記コンテンツ鍵を用いて暗号化し、
前記コンテンツ鍵を
、各車両に対応するデバイス鍵を用いて暗号化し、
少なくとも前記コンテンツを利用するための条件を含むライセンスファイルを、前記ユーザ鍵を用いて暗号化し、
暗号化されたライセンスファイル及び暗号化されたライセンス鍵を含む圧縮ファイルを生成するコンテンツの保護方法。
【請求項15】
前記ユーザ鍵を、前記デバイス鍵を用いて暗号化する請求項14記載のコンテンツの保護方法。
【請求項16】
前記ライセンスファイルに、前記コンテンツを利用するための許諾条件と、
前記デバイス鍵を用いて暗号化されたコンテンツ鍵と、
前記コンテンツを識別するための識別情報とを含む請求項14又は15記載のコンテンツの保護方法。
【請求項17】
前記ライセンスファイルに、更に暗号化を行なうための情報である暗号化パラメータを含む請求項16記載のコンテンツの保護方法。
【請求項18】
暗号化されたコンテンツを、CDN(Contents Delivery Network)を経由して車両に配信する請求項14
又は15記載のコンテンツの保護方法。
【請求項19】
前記デバイス鍵は、各車両に付与されている車両識別情報毎にある請求項14
又は15記載のコンテンツの保護方法。
【請求項20】
前記車両識別情報毎にあるデバイス鍵と、各車両に配置されている電子制御装置であり前記コンテンツの転送先である対象装置の識別情報とに基づいて装置対応デバイス鍵を生成する請求項19記載のコンテンツの保護方法。
【請求項21】
前記車両識別情報毎にあるデバイス鍵の値に、前記識別情報の値を加算した結果にハッシュ関数を適用して前記装置対応デバイス鍵を生成する請求項20記載のコンテンツの保護方法。
【請求項22】
前記車両識別情報毎にあるデバイス鍵と、前記識別情報とを連結したデータにハッシュ関数を適用して前記装置対応デバイス鍵を生成する請求項20記載のコンテンツの保護方法。
【請求項23】
前記デバイス鍵は、各車両に配置されている電子制御装置であり、前記コンテンツの転送先である対象装置毎にある請求項14
又は15記載のコンテンツの保護方法。
【請求項24】
車両と通信を行いコンテンツを配信するセンタ装置が備えるコンピュータにより実行されるコンテンツ保護用プログラムであって、
利用に際して利用制限をかけることが可能なコンテンツを保護するためのコンテンツ鍵を生成させ、
前記コンテンツのユーザに対応するユーザ鍵を生成させ、
前記コンテンツを、前記コンテンツ鍵を用いて暗号化させ、
前記コンテンツ鍵を
、各車両に対応するデバイス鍵を用いて暗号化させ、
少なくとも前記コンテンツを利用するための条件を含むライセンスファイルを、前記ユーザ鍵を用いて暗号化させ、
暗号化されたライセンスファイル及び暗号化されたライセンス鍵を含む圧縮ファイルを生成させるコンテンツ保護用プログラム
。
【請求項25】
前記ユーザ鍵を、前記デバイス鍵を用いて暗号化させる請求項24記載のコンテンツ保護用プログラム。
【請求項26】
前記ライセンスファイルに、前記コンテンツを利用するための許諾条件と、
前記デバイス鍵を用いて暗号化されたコンテンツ鍵と、
前記コンテンツを識別するための識別情報とを含ませる請求項25記載のコンテンツ保護用プログラム。
【請求項27】
前記ライセンスファイルに、更に暗号化を行なうための情報である暗号化パラメータを含ませる請求項26記載のコンテンツ保護用プログラム。
【請求項28】
暗号化されたコンテンツを、CDN(Contents Delivery Network)を経由して車両に配信させる請求項24から27の何れか一項に記載のコンテンツ保護用プログラム。
【請求項29】
前記デバイス鍵は、各車両に付与されている車両識別情報毎にある請求項24から2
7の何れか一項に記載のコンテンツ保護用プログラム。
【請求項30】
前記車両識別情報毎にあるデバイス鍵と、各車両に配置されている電子制御装置であり前記コンテンツの転送先である対象装置の識別情報とに基づいて装置対応デバイス鍵を生成させる請求項29記載のコンテンツ保護用プログラム。
【請求項31】
前記車両識別情報毎にあるデバイス鍵の値に、前記識別情報の値を加算した結果にハッシュ関数を適用して前記装置対応デバイス鍵を生成させる請求項30記載のコンテンツ保護用プログラム。
【請求項32】
前記車両識別情報毎にあるデバイス鍵と、前記識別情報とを連結したデータにハッシュ関数を適用して前記装置対応デバイス鍵を生成させる請求項30記載のコンテンツ保護用プログラム。
【請求項33】
前記デバイス鍵は、各車両に配置されている電子制御装置であり、前記コンテンツの転送先である対象装置毎にある請求項24から2
7の何れか一項に記載のコンテンツ保護用プログラム。
【発明の詳細な説明】
【関連出願の相互参照】
【0001】
本出願は、2021年8月6日に出願された日本出願番号2021-129943号に基づくもので、ここにその記載内容を援用する。
【技術分野】
【0002】
本開示は、車両にコンテンツを配信するセンタ装置、そのセンタ装置と通信を行なう車両側システム、コンテンツの保護方法及びコンテンツ保護用プログラムに関する。
【背景技術】
【0003】
近年、運転支援機能や自動運転機能等の車両制御の多様化に伴い、車両の電子制御装置(以下、ECU(Electronic Control Unit)と称する)に搭載される車両制御や診断等のアプリプログラムの規模が増大している。また、機能改善等によるバージョンアップに伴い、ECUのアプリプログラムを書換える,所謂リプログを行う機会も増えつつある。一方、通信ネットワークの進展等に伴い、コネクッテッドカーの技術も普及している。このような事情から、例えば特許文献1には、サーバよりECUの更新プログラムをOTA(Over The Air)により車載装置に配信し、車両側で更新プログラムを書換える技術が開示されている。
【0004】
また、更新プログラムに限ることなく、ユーザが有料で利用できるデジタルコンテンツについても、同様にOTAによって装置に配信することも行われている。上記のように利用制限がかけられているコンテンツを、課金コンテンツと称する。現在運用されているシステムでは、課金コンテンツか、それ以外のコンテンツかに関らず、全てのソフトウェアを車両に配信している。課金コンテンツを利用するユーザは、所定の手続を経て課金を行うことで、コンテンツの配信元であるセンタが管理している課金フラグを有効にしておく。そして、課金コンテンツが配信された車両はセンタに問い合わせを行い、課金フラグが有効になっていれば課金コンテンツが利用可能になる。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【0006】
現状のシステムでは、センタに課金状態の問い合わせを行うことが前提となっているため、車両がセンタと通信可能な状態になければ、課金コンテンツを利用可能にすることができない。
【0007】
本開示は上記事情に鑑みてなされたものであり、その目的は、利用制限がかけられているコンテンツを、より柔軟な形態で利用可能にできるセンタ装置、そのセンタ装置と通信を行なう車両側システム、コンテンツの保護方法及びコンテンツ保護用プログラムを提供することにある。
【0008】
請求項1記載のセンタ装置によれば、コンテンツ鍵生成部は、利用に際して利用制限をかけることが可能なコンテンツを保護するためのコンテンツ鍵を生成し、ユーザ鍵生成部は、コンテンツのユーザに対応するユーザ鍵を生成する。コンテンツ暗号化部は、コンテンツ鍵を用いてコンテンツを暗号化し、コンテンツ鍵暗号化部は、コンテンツ鍵を、各車両に対応するデバイス鍵を用いて暗号化する。そして、ファイル暗号化部は、少なくともコンテンツを利用するための条件を含むライセンスファイルを、ユーザ鍵を用いて暗号化する。
【0009】
したがって、センタ装置は、利用制限がかけられたコンテンツを柔軟且つ確実に保護することができる。また、ライセンスファイルを用いることで、コンテンツを利用するための条件を柔軟に設定できる。加えて、車両側では、センタ装置との通信が可能な状態でなくても、コンテンツの利用が可能になる。
加えて、圧縮ファイル生成部は、暗号化されたライセンスファイル及び暗号化されたライセンス鍵を含む圧縮ファイルを生成する。
【0010】
したがって、センタ装置は、利用制限がかけられたコンテンツを柔軟且つ確実に保護することができる。また、ライセンスファイルを用いることで、コンテンツを利用するための条件を柔軟に設定できる。加えて、車両側では、センタ装置との通信が可能な状態でなくても、コンテンツの利用が可能になる。
加えて、圧縮ファイル生成部は、暗号化されたライセンスファイル及び暗号化されたライセンス鍵を含む圧縮ファイルを生成する。
【0011】
請求項2記載のセンタ装置によれば、ユーザ鍵暗号化部は、デバイス鍵を用いてユーザ鍵を暗号化するので、コンテンツは3重の鍵によって保護されることになり、コンテンツの保護レベルを更に向上させることができる。
【0012】
請求項3記載のセンタ装置によれば、ライセンスファイルには、コンテンツを利用するための許諾条件と、デバイス鍵を用いて暗号化されたコンテンツ鍵と、コンテンツを識別するための識別情報とが含まれる。これにより、ユーザ鍵を用いてライセンスファイルを復号化すれば、コンテンツを利用するための許諾条件を確認することができる。そして、許諾条件を満たした上で、デバイス鍵を用いてコンテンツ鍵を復号化すれば、その鍵を用いて識別情報に対応したコンテンツを復号化できる。
【0013】
請求項4記載のセンタ装置によれば、ライセンスファイルには、更に暗号化を行なうための情報である暗号化パラメータが含まれる。これにより、それぞれの鍵を用いて行われた暗号化に関する詳細な情報を、ライセンスファイルより得ることができる。
【図面の簡単な説明】
【0014】
本開示についての上記目的およびその他の目的、特徴や利点は、添付の図面を参照しながら下記の詳細な記述により、より明確になる。その図面は、
【
図1】
図1は、第1実施形態において、OTAセンタを中心に示す機能ブロック図であり、
【
図2】
図2は、車両側システムを中心に示す機能ブロック図であり、
【
図3】
図3は、課金コンテンツの利用ケースを説明する図であり、
【
図4】
図4は、OTAセンタ側で行う処理を概念的に示す図であり、
【
図5】
図5は、OTAセンタ、OTAマスタ、ターゲットECU間で行われる処理を概念的に示す図であり、
【
図6】
図6は、OTAセンタが行う処理を示すフローチャートであり、
【
図7】
図7は、暗号化パラーメータの一例を示す図であり、
【
図8】
図8は、リプロポリシーメタデータの一例を示す図であり、
【
図9】
図9は、ストレージ方式に対応したダウンロードメタデータの一例を示す図であり、
【
図10】
図10は、ストリーミング方式に対応したダウンロードメタデータの一例を示す図であり、
【
図11】
図11は、OTAマスタが行う処理を示すフローチャートであり、
【
図12】
図12は、ターゲットECUが行う処理を示すフローチャート(その1)であり、
【
図13】
図13は、ターゲットECUが行う処理を示すフローチャート(その2)であり、
【
図14】
図14は、第2実施形態において、OTAセンタを中心に示す機能ブロック図であり、
【
図15】
図15は、車両側システムを中心に示す機能ブロック図であり、
【
図16】
図16は、OTAセンタ、OTAマスタ、ターゲットECU間で行われる処理を概念的に示す図であり、
【
図17】
図17は、OTAセンタが行う処理を示すフローチャートであり、
【
図18】
図18は、OTAマスタが行う処理を示すフローチャートであり、
【
図19】
図19は、第3実施形態において、車両側システムを中心に示す機能ブロック図であり、
【
図20】
図20は、OTAセンタ、OTAマスタ、ターゲットECU間で行われる処理を概念的に示す図であり、
【
図21】
図21は、OTAセンタが行う処理を示すフローチャートであり、
【
図22】
図22は、OTAマスタが行う処理を示すフローチャートであり、
【
図23】
図23は、ターゲットECUが行う処理を示すフローチャートである。
【発明を実施するための形態】
【0015】
(第1実施形態)
図1に示すように、センタ装置である本実施形態のOTAセンタ1は、PKG生成サーバ2及び配信サーバ3を備えている。PKG生成サーバ2は、大別して暗号化に用いる鍵やデータパッケージ等を生成する機能部分と、暗号化・署名を行う機能部分とがある。前者には、ライセンスファイル生成機能部4、コンテンツ鍵生成機能部5、ユーザ鍵生成機能部6、PKG生成機能部7がある。また、後者には、コンテンツ暗号化機能部8、ライセンスファイル暗号化機能部9、コンテンツ鍵暗号化機能部10、ユーザ鍵暗号化機能部11がある。尚、「PKG」は「パッケージ」を意味する。
【0016】
コンテンツ鍵生成機能部5は、課金対象コンテンツの識別情報であるIDに対応したコンテンツ鍵Kcを例えば乱数によって生成する。以下、課金対象コンテンツを「課金コンテンツ」と称する。ユーザ鍵生成機能部6は、課金コンテンツのユーザに対応するユーザ鍵Kuを例えば乱数によって生成する。ライセンスファイル生成機能部4は、課金コンテンツのIDやコンテンツ鍵Kc、及び課金コンテンツを利用するための許諾条件等が格納されたライセンスファイルを生成する。PKG生成機能部7は、暗号化された課金コンテンツ等を含む配信パッケージを生成する。尚、ユーザがコンテンツを利用する際に、課金が行われていることを条件とすることは、その利用を制限する一態様である。
【0017】
課金コンテンツには、コンテンツそのものが課金される場合もあれば、コンテンツ内課金のように、コンテンツの一部について課金が行われていることを条件とする場合も含む。尚、コンテンツとは、例えば、アプリ、アプリが使用するデータ、またはアプリを介して乗員に提供されるサービスを意味する。よって、コンテンツとは、例えば、車室内にて視聴するビデオや音楽、ゲームアプリ、車両制御に関わる車両制御アプリ、地図データ、ナビゲーションアプリ、及びサービスの利用権限等である。
【0018】
コンテンツ暗号化機能部8は、課金コンテンツを所定の暗号化方式に従い、コンテンツ鍵Kcを用いて暗号化する。コンテンツ鍵暗号化機能部10は、コンテンツ鍵Kcを、デバイス鍵Kdを用いて暗号化する。ユーザ鍵暗号化機能部11は、ユーザ鍵Kuを、同じくデバイス鍵Kdを用いて暗号化する。ライセンスファイル暗号化機能部9は、ライセンスファイルを、ユーザ鍵Kuを用いて暗号化する。
【0019】
配信サーバ3は、配信管理機能部12、キャンペーン管理機能部13、ソフトウェア管理機能部14、デバイスユニーク鍵管理機能部15を備えている。デバイスユニーク鍵管理機能部15は、例えばVIN(Vehicle Identification Number)のように各車両に付与されている識別情報に対応してユニークに割り当てられたデバイス鍵Kdを管理する。ソフトウェア管理機能部14は、課金コンテンツ等のソフトウェアをIDと共に管理する。キャンペーン管理機能部13は、課金コンテンツ等を含むプログラム更新に関する情報であるキャンペーン情報を管理する。配信管理機能部12は、PKG生成機能部7により生成された配信パッケージ等を、通信キャリアやCDN(Contents Delivery Network)21等を介して車両側のOTAマスタ22に配信する。
【0020】
図2に示すように、車両側システム23は、OTAマスタ22及びターゲットECU24を備えている。OTAマスタ22は、配信サーバ3等と通信を行う
図3に示すDCM(Data Communication Module)22Aや、ターゲットECU24と通信を行なうセントラルECU22Bを含んで構成される。OTAマスタ22は、ダウンロード機能部25、アンパック機能部26、ライセンスファイル復号化機能部27、ユーザ鍵復号化機能部28、コンテンツ鍵復号化機能部29及びデバイスユニーク鍵管理機能部30を備えている。
【0021】
ダウンロード機能部25は、OTAセンタ1の配信サーバ3と直接、又はCDN21を介して通信を行なうことで、データファイルやパッケージ等をダウンロードする。アンパック機能部26は、受信したデータパッケージが圧縮ファイルであれば解凍して必要なデータを抽出する。デバイスユニーク鍵管理機能部30には、車両のVINに対応したデバイス鍵Kdが製造段階で書き込まれている。ユーザ鍵復号化機能部28は、デバイス鍵Kdを用いてユーザ鍵Kuを復号化する。ライセンスファイル復号化機能部27は、ユーザ鍵Kuを用いてライセンスファイルを復号化する。コンテンツ鍵復号化機能部29は、デバイス鍵Kdを用いてコンテンツ鍵Kcを復号化する。
【0022】
OTAマスタ22は、コンテンツを含む暗号化された状態のデータパッケージと、ライセンスファイルとをターゲットECU24に転送する。ターゲットECU24は、1つ以上存在しており、コンテンツ復号化機能部31及び許諾条件チェック機能部32を備えている。許諾条件チェック機能部32は、ライセンスファイルに含まれているコンテンツの許諾条件を満たしているか否かをチェックする。コンテンツ復号化機能部31は、前記の許諾条件を満たしている際に、ライセンスファイルに含まれているコンテンツ鍵Kcを用いてコンテンツを復号化する。
以上のOTAセンタ1及びOTAマスタ22における各機能ブロックは、コンピュータのハードウェア及びソフトウェアの協働により実現されている。
【0023】
尚、OTAマスタ22の各機能部を、DCM22AとセントラルECU22Bの間でどのように機能分担するかは特に制限がない。OTAマスタ22の機能の一部又は全体をセントラルECU22Bが有する構成でも良いし、OTAマスタ22の機能の一部又は全体をDCM22Aが有する構成でも良い。即ち、OTAマスタ22において、DCM22AとセントラルECU22Bとの機能分担がどのように構成されていても良い。OTAマスタ22は、DCM22A及びセントラルECU22Bの2つのECUから構成されても良いし、DCM22Aの機能とセントラルECU22Bの機能とを有する1つの統合ECUで構成されても良い。
【0024】
図3に示すように、ユーザは、課金コンテンツを利用する際には、スマートホンや車両側システム23のHMI(Human Machine Interface)を介して課金処理センタ33と通信を行なう。課金処理センタ33は、課金システム34や会員情報データベース35、車両情報データベース36等を備えている。ユーザは、課金コンテンツを購入する手続きを行なうと、課金コンテンツをダウンロードする方式を選択する。例えばOTAマスタ21にダウンロードするか、スマートホンやSDカードにダウンロードするか等を選択する。SDカードは、外部記憶媒体の一例に相当する。
【0025】
課金処理センタ33は、ユーザが購入した課金コンテンツのIDと対応する車両のVINとをOTAセンタ1に送信する。OTAセンタ1では、前述のように課金コンテンツ及びライセンスファイルを暗号化して、ダウンロード方式が「OTA」であれば車両側システム23にそれらをダウンロードさせる。図中の「ネットワークキャリア」は、通信を配信サーバ3と直接、又はCDN21を介して行なうケースを含んでいる。尚、同図では、OTAマスタ22を、DCM22A及びC-ECU22Bとして示している。
【0026】
OTAセンタ1において、課金処理センタ33は、ユーザが購入した課金コンテンツのIDと対応する車両のVINとを受信すると、課金コンテンツ及びライセンスファイルの暗号化を行う。加えて、PKG生成サーバ2は、車両側システム23の、例えばDCM22Aに対してプッシュ通知を行う。DCM22Aは、イグニッションがオフされた状態でもプッシュ通知を受け取ることができるように構成されている。よって、DCM22Aは、イグニッションの状態に関係なくOTAセンタ1からプッシュ通知を受信する。このプッシュ通知は、OTAマスタ22が車両構成情報をOTAセンタ1と同期するトリガとなる。
【0027】
図4に示すように、OTAセンタで生成されるライセンスファイルには、デバイス鍵Kdで暗号化されたコンテンツ鍵Kc、課金コンテンツのID、許諾条件と共に暗号化パラメータが含まれている。許諾条件は、例えば課金処理が完了していることや課金コンテンツの利用期間、残りの利用回数や他車両への転送が不可であること、等である。
図7に示す暗号化パラメータは、暗号化及びデジタル署名に関連したパラメータである。暗号化パラメータは、コンテンツ鍵Kcに関する暗号化パラメータと、ユーザ鍵Kuに関する暗号化パラメータを含む。
・暗号化種別情報 :(共通鍵)AES(Advanced Encryption Standard),
Triple-DES(Data Encryption Standard),
(公開鍵)RSA(Rivest-Shamir-Adleman cryptosystem),
ECC(Elliptic Curve Cryptography)
・署名種別情報 :(共通鍵)CBC-MAC
(Message Authentication Code),CMAC(Common MAC)
(公開鍵)DSA(Digital Signature Algorithm),
ECDSA(Elliptic Curve DSA)
・鍵ID情報 :鍵の特定に使用
・暗号モード種別情報 :Enc(Encrypt) then MAC,
MAC then,ENC
・保護対象情報 :特定のファイル又はデータを指定
・保護領域指定情報 :上記ファイルの全体又は一部を指定
・オフセットサイズ情報:先頭より何Byte目から保護対象とするか指定
・保護データサイズ情報:何Byteを保護するか指定
【0028】
次に、本実施形態の作用について説明する。
図6に示すように、OTAセンタ1のPKG生成サーバ2は、課金対象コンテンツのIDに対応したコンテンツ鍵Kcを乱数によって生成すると(S1)、課金コンテンツを所定の暗号化方式に従い、コンテンツ鍵Kcを用いて暗号化する(S2)。暗号化された課金コンテンツのファイル名を、Contents.zipとする。続いて、配信サーバ3よりデバイス鍵Kdを取得すると(S3)、コンテンツ鍵Kcを、デバイス鍵Kdを用いて暗号化する(S4)。暗号化されたコンテンツ鍵KcをKcdとする。
【0029】
次に、課金コンテンツの許諾条件が記載されたファイルを、配信サーバ3のソフトウェア管理機能部14より取得すると(S5)、暗号化パラメータ、コンテンツ鍵Kcd、コンテンツID及び許諾条件を含むライセンスファイルを生成する(S6)。ユーザ鍵Kuを乱数によって生成すると(S7)、ユーザ鍵Kuを用いてライセンスファイルを暗号化し(S8)、ユーザ鍵Kuを、デバイス鍵Kdを用いて暗号化する(S9)。暗号化されたユーザ鍵KuをKudとする。そして、暗号化されたライセンスファイルとユーザ鍵Kudとをアーカイブする(S10)。そのファイル名をLicence.zipとする。
【0030】
それから、リプロポリシーメタデータに、ターゲットレイヤの配信パッケージが課金コンテンツであることを示すパラメータを埋め込み(S11)、ダウンロードメタデータに、課金コンテンツのファイルContents.zipをダウンロードするURI(Uniform Resource Identifier)情報と、ライセンスファイルLicence.zipをダウンロードするURI情報とを埋め込む(S12)。
【0031】
ここで、リプロポリシーメタデータ及びダウンロードメタデータについて説明する。以下、前者をRPメタデータと称し、後者をDLメタデータと称する。RPメタデータは、配信パッケージの構成情報、言い換えればパッケージの構成種別を表す情報を含んだ情報であり、車両側でそのデータの内容をチェックすることでパッケージの配信ミスを防止することを主眼とする情報である。また、DLメタデータは、データを取得するための制御情報が格納されており、言い換えれば、複数のターゲットとなるECU24ごとの更新データをダウンロードするための情報を、OTAマスタ22が把握できるようにするための内容を規定する情報である。これらのメタデータを、配信,マスタ及びターゲットの3層構造にすることで、転送方式やプラットフォームのタイプ、配信パッケージの種類が増大した場合でも、それらを柔軟に定義して対応することができ、ターゲット装置のデータ更新を行うことが可能になる。
【0032】
≪リプロポリシーメタデータ≫
図8に示すRPメタデータは、配信パッケージのダウンロードに先立って、OTAセンタ1よりOTAマスタ22に送信される。
<RPメタデータバージョン>
RPメタデータのバージョンであり、例えば「1.0.0」や「2.0.0」などのバージョン情報が格納される。
【0033】
<通信レイヤ>
OTAセンタ1との通信に使用されるプロトコル,例えばUptane(登録商標)やOMA-DM(Open Mobile Alliance-Device Management)等を示す情報や、通信手段がOTAマスタ22であることを示す「セルラー」や、その他後述するスマートホンやUSBメモリであること等の情報が格納される。
【0034】
<マスタレイヤ>
OTAマスタ22について、そのプラットフォーム(PF)が、例えばAP,CP,AGL(Automotive Grade Linux),Android(登録商標)であること等を示す情報が格納される。ECUのプラットフォームに応じた更新プログラムを配信するためのパッケージ構造について、一般社団法人JASPARの仕様では、標準化団体AUTOSARの静的OSで動作するクラシックプラットフォーム(CP)に適用可能なデータ要件が規定されている。また、AUTOSARでは、動的OSで動作する新たなタイプのアダプティブプラットフォーム(AP)に適用可能なデータ要件が規定されている。AGLは、車載Linux(登録商標)であり、Androidは、Android Automotive OSである。
【0035】
ここで、APとCPとの違いについて説明する。AP及びCPはソフトウェアプラットフォームを表している。ソフトウェアプラットフォームは、ソフトウェアアーキテクチャとも呼ばれる。CPは、AUTOSAR Classic Platformを表し、APはAUTOSAR Adaptive Platformを表す。さらに、CP仕様書に準拠して動作するECUをCP ECU又はCPのECUと表記し、AP仕様書に準拠して動作するECUをAP ECU又はAPのECUと表記することがある。
【0036】
AP及びCPにおいては、使用されるオペレーティングシステム,いわゆるOSや開発言語が異なる。CP ECUとAP ECUは、受信できるパッケージの構造が異なる。これらのパッケージの構造の違いは、主にECUの処理性能の違いに起因するものであり、一般的にCPのECUの処理性能は低いため、パッケージに含まれる諸元データなどもバイナリデータで記載されており、処理性能の低いECUでも解釈・処理しやすいパッケージデータ構造となっている。
【0037】
一方、APのECUは処理性能が高いものが用いられるため、何らかの言語で記述された構造的な文字データを解析してプログラムで扱えるデータ構造に変換するパーサー機能を搭載することが可能であり、データ構造には単純なバイナリデータではなく、例えばJSON(JavaScript Object Notation)のようなオブジェクト指向のデータ形式を採用できるため、柔軟なパッケージデータ構造となっている。
【0038】
制御方式については、特定のフォーマットに従い設定されたパラメータに応じて処理する「パラメータ」や、特定のフォーマットがなくより自由な記載形式で処理する「スクリプト」等の情報が格納される。
【0039】
<ターゲットレイヤ>
ターゲットECU33に対応した情報である。PF,制御方式については、前述したものと同様である。転送方式は、ストレージ、ストリーミングの何れかである。課金方式は、当該コンテンツの利用が有料、無料の何れであるかを示す。ターゲットIDは、ターゲットECU24に対応したIDであるが、ここに格納するのはオプションである。
【0040】
≪ダウンロードメタデータ≫
図9及び
図10に示すDLメタデータは、RPメタデータに続いてOTAセンタ1よりOTAマスタ22に送信される。それぞれ、転送方式がストレージ、ストリーミングの場合を示す。
【0041】
<配信レイヤ>
例えば通信プロトコルがUptaneであれば、Uptaneメタデータを取得するための情報であり、それに対応したURI,データ名,データサイズ,ハッシュ値,ターゲットID,転送方式等が格納される。
【0042】
<マスタ/ターゲットレイヤ>
図10に示すストリーミング方式の場合、マスタレイヤはライセンスファイルLicence.zipを取得するための情報であり、ターゲットレイヤはコンテンツファイルContents.zipを取得するための情報である。一方、
図9に示すストレージ方式の場合は、マスタレイヤにおいて双方のファイルを取得するための情報が埋め込まれるので、ターゲットレイヤは必須ではない。ターゲットレイヤを設けても良いが、情報としてはnull又はブランクとなる。各項目は配信レイヤと同様である。尚、各項目には、「xxx」や「zzz」等が重複的に記載されているものがあるが、それらが同一の値を示しているわけではない。
【0043】
再び、
図6を参照する。配信サーバ3は、PKG生成サーバ2から、Contents.zipファイル、Licence.zipファイル、DLメタデータは及びRPメタデータを受け取る(S13)。尚、Licence.zipファイルは車両毎に異なるが、その他のファイル、データは車両モデルで共通である。次に、配信サーバ3は、CDN21に接続されているサーバに、Contents.zipファイル、DLメタデータ及びRPメタデータを格納する(S14)。
【0044】
それから、OTAマスタ22から車両構成情報を同期させるための通知を受け取ったタイミングで、対応する車両が課金コンテンツの配信対象であることをVINから特定する(S15)。車両構成情報は、車両に搭載されるECUのハードウェア及びソフトウェアに関する識別情報であり、複数のECUから成るシステム構成の識別情報や、複数のシステムから成る車両構成の識別情報も含まれる。「同期させるための通知」とは、車両側に保持されている構成情報の内容と、OTAセンタ1側が保持している構成情報の内容とを一致させる、つまり同期させるために行われる通知である。
【0045】
例えば、OTAマスタ22は、イグニッションがオンされたタイミングでOTAセンタ1と車両構成情報を同期させた後の経過時間を調べ、所定期間が経過している場合は、OTAセンタ1との車両構成情報の同期が必要であると判断する。または、OTAマスタ22は、OTAセンタ1からプッシュ通知を受けているか否かを調べ、プッシュ通知を受けている場合は、OTAセンタ1との車両構成情報の同期が必要であると判断する。これらの場合に、車両に搭載されるECUに対して、車両構成情報をOTAマスタ22に送信するように要求する。OTAマスタ22は、収集した車両構成情報をOTAセンタ1に通知する。
【0046】
OTAセンタ1は、課金処理センタ33から、ユーザが購入した課金コンテンツのIDと対応する車両のVINを通知され、保存している。また、図示しないOEMサーバから、非課金コンテンツとも称する課金コンテンツ以外のソフトウェアについて、ソフトウェア更新の対象となる車両のVINを通知され、保存している。
S15では、VINに基づいて、(1)非課金コンテンツの更新あり、(2)課金コンテンツの更新あり、(3)課金コンテンツの更新と非課金コンテンツの更新あり、または(4)更新なし、を判断する。本開示では、課金コンテンツの更新があった場合のみを説明する。
【0047】
そして、対象車両に、車両側システム23やユーザのスマートホンに表示させるプログラム更新に関する情報であるキャンペーン通知を配信する際に、その通知にDLメタデータ及びRPメタデータのURI情報を埋め込む(S16)。対象車両からのアクセスがあれば当該車両にLicence.zipファイルを送信する(S17)。尚、ユーザ鍵Kuとコンテンツ鍵Kcとは、例えばステップS14において消去しても良い。
【0048】
図11に示すように、OTAマスタ22は、OTAセンタ1の配信サーバ3よりキャンペーン通知を受信すると(S21)、キャンペーン通知に記載されたURI情報に従いRPメタデータをCDN21から取得して、配信の予定があるパッケージに課金コンテンツが含まれているかチェックする(S22)。課金コンテンツが含まれていなければ(S23;NO)、OTAマスタ22は、例えば特願2021-32593号に開示されている方式に従い、ターゲットECU24に対するソフトウェアの更新を行う(S33)。
【0049】
一方、課金コンテンツが含まれていれば(S23;YES)Licence.zipファイルを配信サーバ3より取得し(S24)、Licence.zipファイルを解凍すると、暗号化されたライセンスファイルとユーザ鍵Kudとを取り出す(S25)。そして、OTAマスタ22が保持しているデバイス鍵Kdでユーザ鍵Kudを復号化して、ユーザ鍵Kuを取り出す(S26)。すると、ユーザ鍵Kuを用いて、暗号化されたライセンスファイルを復号化する(S27)。
【0050】
次に、ライセンスファイルに含まれているコンテンツ鍵Kcdを、デバイス鍵Kdで復号化してコンテンツ鍵Kcを取り出すと(S28)、ライセンスファイル中のコンテンツ鍵Kcdを、コンテンツ鍵Kcに置換える(S29)。ここでは、ライセンスファイル中のコンテンツ鍵Kcdを、コンテンツ鍵Kcに上書きする。そして、DLメタデータ及びContents.zipファイルをCDN21から取得すると(S30,S31)、DLメタデータから、コンテンツの配信先であるターゲットECU24を特定する。そのターゲットECU24に、更新対象のソフトウェアが課金コンテンツであることを通知して、Contents.zipファイル及びライセンスファイルを転送する(S32)。
【0051】
尚、ステップS41に替えて、OTAマスタ22からContents.zipファイル及びライセンスファイルを受信したことを、OTAマスタ22から更新対象ソフトウェアが課金コンテンツであることの通知としても良い。この場合、OTAマスタ22からContents.zipファイル及びライセンスファイルを受信すれば、ターゲットECU24は、課金コンテンツがあると判断してステップS42以降の処理を行う。
【0052】
図12に示すように、ターゲットECU24は、OTAマスタ22から更新対象ソフトウェアが課金コンテンツであることの通知を受信したか否かを判断する(S41)。通知を受信しなければ(NO)、例えば特願2021-32593に開示されている方式に従い、自身のソフトウェア更新を行う(S46)。一方、前記の通知を受信すると(S41;YES)、OTAマスタ22からContents.zipファイル及びライセンスファイルを受信する(S42)。そして、ライセンスファイルからコンテンツ鍵Kcを取り出し、コンテンツ鍵Kcで課金コンテンツを復号化する(S43)。
【0053】
次に、ライセンスファイルに含まれている許諾条件を読み取り、その条件を満たしているか否かを判断する(S44)。許諾条件を満たしていれば(YES)、課金コンテンツのインストール処理を実行する(S45)。許諾条件を満たしていなければ(NO)、OTAマスタ22に許諾条件を満たしていない旨のエラー応答を返す(S47)。許諾条件は、例えば課金処理が完了していることや、課金コンテンツの利用期間、残りの利用回数などである。許諾条件は1つであっても良いし、複数あっても良い。複数ある場合は、全ての許諾条件が満たされていることが要求される。但し、少なくとも1つの許諾条件が満たされていれば、課金コンテンツを利用できるとしても良い。
【0054】
図13に示すように、ターゲットECU24は、インストールした課金コンテンツのアプリケーションを起動する際には、その時点で許諾条件を満たしているか否かをチェックする(S48)。許諾条件を満たしていれば(YES)、そのままアプリケーションを起動して実行する(S49)。許諾条件を満たしていなければ(NO)、ステップS47と同様の処理を行う(S50)。
【0055】
尚、説明の都合上ターゲットECU24を1つとしたが、ターゲットECU24が複数ある場合には、各ターゲットECU24について同様の処理を行えば良い。以降の実施形態についても同様である。ターゲットECU24が複数ある場合には、RPメタデータ、DLメタデータにおいて、複数のターゲットECU24に関する情報が記載される。
【0056】
以上のように本実施形態によれば、OTAセンタ1において、コンテンツ鍵生成機能部5は、課金コンテンツを保護するためのコンテンツ鍵Kcを生成し、ユーザ鍵生成機能部6は、課金コンテンツのユーザに対応するユーザ鍵Kuを生成する。コンテンツ暗号化部は、コンテンツ鍵Kcを用いてコンテンツを暗号化し、コンテンツ鍵暗号化機能部10は、コンテンツ鍵Kcを、各車両に対応するデバイス鍵Kdを用いて暗号化する。そして、ファイル暗号化機能部8は、少なくとも課金コンテンツを利用するための条件を含むライセンスファイルを、ユーザ鍵Kuを用いて暗号化する。コンテンツ鍵Kcとユーザ鍵Kuとは、OTAセンタ1にて保存されることなく消去される。
【0057】
このように構成すれば、OTAセンタ1は、各車両に対応するデバイス鍵Kdだけを管理すれば良いので、管理する鍵の数が少なくなる。また、課金コンテンツはコンテンツ鍵Kcによって保護され、そのコンテンツ鍵Kcを利用するには、コンテンツのユーザに紐付いているユーザ鍵Kuと各車両に紐付いているデバイス鍵Kdとが必要になるから、課金コンテンツは3重の鍵で保護される。そして、課金コンテンツを車両側で利用する際には、予め利用条件を満たす手続きを行ない、車両側でデバイス鍵Kdを用いて順次必要な復号化を行うようにすれば良い。
【0058】
したがって、OTAセンタ1は、課金コンテンツを柔軟且つ確実に保護することができる。また、ライセンスファイルを用いることで、コンテンツを利用するための条件を柔軟に設定できる。加えて、車両側では、OTAセンタ1との通信が可能な状態でなくても、例えばスマートホンを経由させてコンテンツを取得することで利用が可能になる。また、ユーザ鍵暗号化機能部11は、デバイス鍵Kdを用いてユーザ鍵Kcを暗号化するので、コンテンツの保護レベルを更に向上させることができる。
【0059】
そして、ライセンスファイルには、課金コンテンツを利用するための許諾条件と、デバイス鍵Kdを用いて暗号化されたコンテンツ鍵Kcと、課金コンテンツのIDとが含まれる。これにより、ユーザ鍵Kuを用いてライセンスファイルを復号化すれば、課金コンテンツを利用するための許諾条件を確認することができる。そして、許諾条件を満たした上で、デバイス鍵Kdを用いてコンテンツ鍵Kcを復号化すれば、その鍵Kcを用いて課金コンテンツを復号化できる。更に、ライセンスファイルには暗号化パラメータが含まれるので、それぞれの鍵を用いて行われた暗号化に関する詳細な情報を、ライセンスファイルより得ることができる。
【0060】
また、OTAマスタ22のアンパック機能部26は、Licence.zipファイルを受信すると、そのファイルを解凍して暗号化されたライセンスファイル及びユーザ鍵Kudを取り出す。ユーザ鍵復号化機能部28は、デバイス鍵Kdを用いて、ユーザ鍵Kudからユーザ鍵Kuを復号化する。ライセンスファイル復号化機能部27は、ユーザ鍵Kuを用いてライセンスファイルを復号化する。コンテンツ鍵復号化機能部29は、デバイス鍵Kdを用いて、ライセンスファイルに含まれているコンテンツ鍵Kcを復号化する。そして、Contents.zipファイルを受信すると、そのファイル及びコンテンツ鍵Kcを含むライセンスファイルをターゲットECU24に転送する。
【0061】
ターゲットECU24は、コンテンツ鍵Kcをもちいて課金コンテンツを復号化する。これにより、車両システム23側で必要な復号化を行ない、ターゲットECU24において課金コンテンツを利用できる。
【0062】
尚、車両側システムがSOTA(Software OTA)に対応することも想定される。SOTAでは、例えば1つのECU上に、ナビアプリ(ver1.0)やゲームアプリ(ver2.0)、ビデオアプリ(ver3.5)等複数のアプリケーションが搭載されている状態で、それぞれのアプリケーションを個別にアップデートできるようになる。例えば、課金コンテンツアプリがエージェントサービスアプリ(ver1.0)であれば、課金ユーザのみに対して、エージェントアプリ(ver1.0→ver2.0)だけをアップデートをすることが可能になる。
【0063】
尚、課金コンテンツの経済的価値等の属性に応じて、ライセンスファイルが改竄されていないかチェックするようにしても良い。ライセンスファイルに対して、改竄チェックができるようにしても良い。または、ライセンスファイルの許諾条件など一部の項目に対して、改竄チェックができるようにしてもよい。例えば、OTAセンタ1において、改竄チェック対象のデータからMAC値を算出し、ライセンスファイルとともに、またはライセンスファイルの中に算出したMAC値を入れる。そして、ターゲットECU24でも、MAC値を算出し、OTAセンタ1より提供されたMAC値と比較することで改竄されていないか確認しても良い。これにより、悪意のある第3者が許諾条件を改竄し、許諾条件を満たしていないにもかかわらず課金コンテンツが利用できるようになる事態を回避できる。
【0064】
本実施形態の方式とSOTAとを組み合わせることで、例えば下記のようなことが実現できる。車両AがコンテンツA及びBを契約し、車両BがコンテンツCを契約しているとする。OTAセンタでパッケージを生成する際に、コンテンツA(ナビアプリ)、コンテンツB(ゲームアプリ)、コンテンツC(ビデオアプリ)を纏めて、1つのパッケージとする。この時、コンテンツA~Cは、それぞれコンテンツ鍵A~Cで暗号化する。
パッケージは車両モデル共通で、複数の車両が同じパッケージをCDN経由で受信する。つまり、車両A、B共に同じファイルを受信する。DLメタデータの「3.マスタレイヤ」のlincense.zipにおいて、車両が契約しているアプリに対応して指定を行う。車両AならコンテンツA及びBに対応して、2つのlicense.zipで指定する。車両BならコンテンツCに対応して1つのlicense.zipで指定する。DLメタデータに従い、車両AはコンテンツAのlicense.zip及びコンテンツBのlicense.zipを取得し、車両BはコンテンツCのlicense.zipを取得する。
【0065】
車両Aは、車両Aに対応するユーザ鍵とデバイス鍵とを持つので、ライセンスファイルからコンテンツ鍵A及びBを取得する。鍵Cはライセンスファイルに含まれないので、暗号化されたコンテンツCを受信しても利用できない。一方、車両Bは、車両Bに対応するユーザ鍵とデバイス鍵とを持つので、ライセンスファイルからコンテンツ鍵Cを取得し、コンテンツCのみ利用できる。
【0066】
(第2実施形態)
以下、第1実施形態と同一部分には同一符号を付して説明を省略し、異なる部分について説明する。第2実施形態では、デバイス鍵Kdに替えて、ECUデバイス鍵Kdeを生成して使用する。そのため、
図14に示すOTAセンタ1AのPKG生成サーバ2と、
図15に示すOTAマスタ22Aとは、それぞれECUデバイス鍵生成機能部33、34を備えている。
【0067】
図17に示すように、OTAセンタ1AのPKG生成サーバ2は、ステップS1~S3を実行すると、更新対象であるターゲットECU24のIDをDLメタデータから取得する(S51)。そして、デバイス鍵KdとターゲットECU24のIDとから、ターゲットECU24に特有のECUデバイス鍵KdeをランタイムでPKG生成サーバ2内部の実行処理により生成する(S52)。
【0068】
ECUデバイス鍵Kdeは、例えばデバイス鍵Kdの値とターゲットECU24のIDの値とを加算した結果に、ハッシュ関数を適用する等して生成する。また、加算に替えて、両者の値を連結したものにハッシュ関数を適用しても良い。ECUデバイス鍵Kdeは、装置対応デバイス鍵に相当する。それから、ECUデバイス鍵Kdeを用いてコンテンツ鍵Kcを暗号化することで、コンテンツ鍵Kcdeを生成する(S53)。
【0069】
ECUデバイス鍵Kdeの生成方法は、例えば、ECUデバイス鍵生成機能部33、34にオンコーディングとも称するハードコーディングしてもよい。この場合、デバイス鍵Kdの値とターゲットECU24のIDの値を、どのように処理してハッシュ関数を適用するかについて、ECUデバイス鍵Kdeを生成する方法が1つ指定される。または、RPメタデータのマスタレイヤの項目に、ECUデバイス鍵Kdeを生成する方法を記載しても良い。
【0070】
続いて、ステップS5~S8を実行すると、ユーザ鍵Kuを、ECUデバイス鍵Kdeを用いて暗号化してユーザ鍵Kudeを生成する(S54)。そして、暗号化されたライセンスファイルとユーザ鍵Kudeとをアーカイブして、Licence.zipファイルを生成する(S55)。尚、ステップS6aでは、暗号化されたコンテンツ鍵がKcdeとなる。それから、ステップS11~S17を実行する。
【0071】
図18に示すように、OTAマスタ22Aは、ステップS21~S25aを実行する。ステップS25aでは、取り出すユーザ鍵がKudeとなる。そして、自身が保持しているデバイス鍵Kdの値にターゲットECU24のIDの値を加算した結果に、ハッシュ関数を適用してECUデバイス鍵Kdeを生成する(S56)。そのECUデバイス鍵Kdeを用いて、ユーザ鍵Kudeからユーザ鍵Kuを復号化して取り出す(S57)。
【0072】
続いて、ステップS27を実行すると、暗号化されたコンテンツ鍵KcdeをECUデバイス鍵Kdeで復号化してコンテンツ鍵Kcを取り出す(S58)。それから、ステップS29a~S32を実行する。ステップS29aでは、コンテンツ鍵Kcdeをコンテンツ鍵Kcに置き換える。尚、ターゲットECU24で行う処理は、第1実施形態と同じである。
【0073】
以上のように第2実施形態によれば、OTAセンタ1AのECUデバイス鍵生成機能部33は、デバイス鍵Kdと、ターゲットECU24のIDとに基づいてECUデバイス鍵Kdeを生成する。具体的には、デバイス鍵Kdの値とターゲットECU24のIDの値とを加算した結果、又は両者の値を連結したものにハッシュ関数を適用してECUデバイス鍵Kdeを生成する。そして、第1実施形態のデバイス鍵Kdに替えて、ECUデバイス鍵Kdeを用いて必要な暗号化を行なう。それに応じて、OTAマスタ22AでもOTAセンタ1Aと同様にECUデバイス鍵Kdeを生成し、必要な復号化を行なう。このように、各ターゲットECU24に対応して生成されたECUデバイス鍵Kdeを用いることで、セキュリティレベルをより向上させることができる。
【0074】
ECUデバイス鍵Kdeは、ターゲットECU24のIDとデバイス鍵Kdの値に基づいて生成されるので、OTAセンタ1Aにおいては、OTAマスタ22Aの台数分のデバイス鍵Kdの値を管理するだけで済む。1台の車両に複数のECUが搭載される状況では、車両台数分の鍵を管理するのか、ECU台数分の鍵を管理するのかでは、管理コストが顕著に異なる。
【0075】
(第3実施形態)
第3実施形態では、デバイス鍵Kdに替えて、予めターゲットECU24毎に用意されているデバイス鍵Kdtを使用する。デバイス鍵Kdtは、予め各ターゲットECU24に書き込まれている。
図19に示す車両側システム23Bでは、OTAマスタ22Bよりライセンスファイル復号化機能部27及びユーザ鍵復号化機能部28が削除されている。それに替えてターゲットECU24B側に、ライセンスファイル復号化機能部35及びユーザ鍵復号化機能部36が設けられている。
【0076】
図21に示すように、OTAセンタ1のPKG生成サーバ2は、ステップS1及びS2を実行すると、配信サーバ2のデバイスユニーク鍵管理機能部15より、ターゲットECU24毎に用意されているデバイス鍵Kdtを取得する(S61)。そして、コンテンツ鍵Kcを、デバイス鍵Kdtを用いて暗号化し、コンテンツ鍵Kcdtを生成する(S62)。
【0077】
続いて、ステップS5及びS6bを実行する。ステップS6bは、コンテンツ鍵KcdがKcdtに置き変わっている。更に、ステップS7及びS8を実行すると、ユーザ鍵Kuを、デバイス鍵Kdtを用いて暗号化し、ユーザ鍵Kudtとする(S63)。そして、暗号化されたライセンスファイルとユーザ鍵Kudtとをアーカイブし、そのファイル名をLicence.zipとする(S64)。それから、ステップS11~S17を実行する。
図22に示すように、OTAマスタ22Bは、ステップS21~S24を実行すると、次にステップS30~S32を実行する。
【0078】
図23に示すように、ターゲットECU24は、OTAマスタ22Bから更新対象ソフトウェアが課金コンテンツであることの通知を受信すると(S41;YES)、OTAマスタ22BからContents.zipファイル及びLicence.zipファイルを受信する(S65)。そして、Licence.zipファイルを解凍すると、暗号化されたライセンスファイルと、ユーザ鍵Kudtとを取り出す(S66)。
【0079】
次に、ユーザ鍵Kudtを、自身が保持しているデバイス鍵Kdtで復号化してユーザ鍵Kuを取り出すと(S67)、ユーザ鍵Kuを用いて、暗号化されたライセンスファイルを復号化する(S68)。そして、ライセンスファイルからコンテンツ鍵Kcdtを取り出し、デバイス鍵Kdtで復号化してコンテンツ鍵Kcを取り出すと(S69)、コンテンツ鍵Kcで課金コンテンツを復号化する(S70)。
【0080】
ライセンスファイルに含まれている許諾条件を読み取り、その条件を満たしていれば(S48;YES)、課金コンテンツのインストール処理を実行する(S45)。許諾条件を満たしていなければ(NO)、OTAマスタ22Bに許諾条件を満たしていない旨のエラー応答を返す(S47)。インストールした課金コンテンツのアプリケーションを起動する際の処理は、第1実施形態と同様である。
【0081】
尚、ステップS66で行うLicence.zipファイルの解凍をOTAマスタ22Bで行い、暗号化されたライセンスファイルとユーザ鍵KudtとをターゲットECU24に転送しても良い。また、複数のターゲットECU24Bがある場合には、ターゲットECU24B毎にライセンスファイルが作成される。
【0082】
以上のように第3実施形態によれば、OTAセンタ1のデバイスユニーク鍵管理機能部15は、ターゲットECU24毎に用意されているデバイス鍵Kdtを保持する。ターゲットECU24は、暗号化されたライセンスファイル及びユーザ鍵Kudtを受信すると、ユーザ鍵Kudtよりデバイス鍵Kdtを用いてユーザ鍵Kuを復号化する。そして、ユーザ鍵Kuを用いてライセンスファイルを復号化する。また、デバイス鍵Kdtを用いて、ライセンスファイルに含まれているコンテンツ鍵Kcdtよりコンテンツ鍵Kcを復号化する。更に、コンテンツ鍵Kcを用いて暗号化された課金コンテンツを復号化する。
【0083】
すなわち、課金コンテンツは、暗号化された状態でターゲットECU24に転送されて、ターゲットECU24において復号化されるので、セキュリティレベルを更に向上させることができる。
【0084】
(その他の実施形態)
ユーザ鍵Kuを、デバイス鍵Kdを用いて暗号化する処理は、必要に応じて行えば良い。
コンテンツの利用制限は、課金の有無に限らない。例えば、車種や車両グレードに応じてコンテンツの利用に制限をかけても良い。
コンテンツの利用制限は、ユーザの利用に際して利用制限をかけることのほか、車両に搭載されたシステムやアプリケーションがコンテンツを利用する際に利用制限をかけても良い。
【0085】
本開示は、実施例に準拠して記述されたが、本開示は当該実施例や構造に限定されるものではないと理解される。本開示は、様々な変形例や均等範囲内の変形をも包含する。加えて、様々な組み合わせや形態、さらには、それらに一要素のみ、それ以上、あるいはそれ以下、を含む他の組み合わせや形態をも、本開示の範疇や思想範囲に入るものである。
【0086】
各装置等が提供する手段および/または機能は、実体的なメモリ装置に記録されたソフトウェアおよびそれを実行するコンピュータ、ソフトウェアのみ、ハードウェアのみ、あるいはそれらの組合せによって提供することができる。例えば、制御装置がハードウェアである電子回路によって提供される場合、それは多数の論理回路を含むデジタル回路、またはアナログ回路によって提供することができる。
【0087】
本開示に記載の制御部及びその手法は、コンピュータプログラムにより具体化された一つ乃至は複数の機能を実行するようにプログラムされたプロセッサ及びメモリを構成することによって提供された専用コンピュータにより、実現されてもよい。あるいは、本開示に記載の制御部及びその手法は、一つ以上の専用ハードウェア論理回路によってプロセッサを構成することによって提供された専用コンピュータにより、実現されてもよい。もしくは、本開示に記載の制御部及びその手法は、一つ乃至は複数の機能を実行するようにプログラムされたプロセッサ及びメモリと一つ以上のハードウェア論理回路によって構成されたプロセッサとの組み合わせにより構成された一つ以上の専用コンピュータにより、実現されてもよい。また、コンピュータプログラムは、コンピュータにより実行されるインストラクションとして、コンピュータ読み取り可能な非遷移有形記録媒体に記憶されていてもよい。