(58)【調査した分野】(Int.Cl.,DB名)
前記サーバは、前記車載端末用のソフトウェアを暗号化して配信する暗号処理部と、前記車載端末用のソフトウェアを暗号化するソフトウェア固有鍵が格納されるソフトウェア固有鍵記憶部を備え、
前記認証情報管理部は、前記最終認証日時記憶部に、前記ソフトウェア固有鍵の配信を完了した日時を記憶すること、
を特徴とする請求項1または請求項2に記載の情報配信システム。
【発明を実施するための形態】
【0016】
次に、本発明を実施するための形態(以下、「本発明の実施形態」という)に係る情報配信システム1等について説明する。なお、本発明の実施形態に係る通信端末20は、例えば、高機能携帯電話であるが、車載端末10およびサーバ30と接続されソフトウェア等の送受信が可能な通信装置であればよい。
【0017】
≪第1の実施形態≫
まず、本発明の第1の実施形態に係る情報配信システム1について説明する。本発明の第1の実施形態は、単一の車載端末10が、通信端末20を介してサーバ30からソフトウェアを取得する例である。
図1は、本発明の第1の実施形態に係る情報配信システム1の全体構成を説明するための図である。
【0018】
図1に示すように、本発明の第1の実施形態に係る情報配信システム1は、車載端末10と、通信端末20と、サーバ30とを含んで構成される。車載端末10は、通信回線等による通信機能を具備していない車載端末10(例えば、カーナビゲーション)であり、機器間通信により通信端末20と接続する。ここで機器間通信とは、USB、Bluetoothおよび無線LAN(Local Area Network)といった、車載端末10や通信端末20が一般的に有している機器間での通信機能を指している。通信端末20は、LTE回線網等の移動体通信網や無線LANを使用してデータ通信を行う高機能携帯電話等であり、例えば、スマートフォンである。この通信端末20は、通信ネットワーク40を介してインターネットに接続している。また、車載端末10は、通信端末20を介してインターネットに接続することができる。サーバ30は、通信端末20を介して車載端末10にソフトウェアを配信する機能を備えており、通信端末20とサーバ30とは、インターネットを経由して接続している。以降の説明では、通信端末20とサーバ30とは、HTTP(Hypertext Transfer Protocol)を用いてインターネットに接続しているものとするが、本発明における通信端末20とサーバ30との接続は、HTTPに限定されないものである。
【0019】
次に、本発明の第1の実施形態に係る情報配信システム1を構成する各装置について、具体的に説明する。
【0020】
<車載端末>
図2は、本発明の第1の実施形態に係る車載端末10の構成例を示す機能ブロック図である。
図2に示すように、車載端末10は、制御部11と、記憶部12と、ディスプレイ13と、入力インタフェース14と、スピーカ15と、機器間通信部16とを含んで構成される。
【0021】
制御部11は、車載端末10全体の制御を司り、認証情報生成部111、認証情報検証部112、インストール処理部113、暗号化処理部114、時計部115、画像処理部116、入力処理部117、音声処理部118および乱数生成部119を含んで構成される。なお、この制御部11の機能は、例えば、車載端末10の記憶部12に記憶されたプログラムを、CPU(Central Processing Unit)が不図示のメモリ(RAM等)に展開し実行することで実現される。
【0022】
認証情報生成部111は、サーバ30による車載端末10の認証に使用する端末認証情報およびサーバ30からの暗号化されたソフトウェアをインストール前に復号するため用いるソフトウェアの復号用の鍵(以下、「ソフトウェア固有鍵」とよぶ)を取得するためのソフトウェア固有鍵要求情報を生成する。
具体的には、認証情報生成部111は、端末認証情報(以下、「A」情報とする)として、
(A−1)記憶部12内の後記する端末識別情報101と、
(A−2)時計部115から取得する日時と、
(A−3)端末識別情報101および日時を、暗号化処理部114が記憶部12内の端末固有鍵102を用いて暗号化した情報(暗号化情報)と、
を含む情報を生成する。
【0023】
また、認証情報生成部111は、ソフトウェア固有鍵要求情報(以下、「B」情報とする)として、
(B−1)記憶部12内の後記する端末識別情報101と、
(B−2)時計部115から取得する日時と、
(B−3)通信端末20を介してサーバ30から取得したソフトウェアの識別情報と、
(B−4)端末識別情報101、日時およびソフトウェアの識別情報を、暗号化処理部114が記憶部12内の端末固有鍵102を用いて暗号化した情報(暗号化情報)と、
を含む情報を生成する。
【0024】
認証情報検証部112は、通信端末20を介してサーバ30から取得した、ソフトウェア固有鍵認証情報(以下、「C」情報とする)が改ざんされたものでないか否かの検証を行う。
なお、ソフトウェア固有鍵認証情報(「C」情報)は、後記するサーバ30の認証情報生成処理部313で生成される情報である。
このソフトウェア固有鍵認証情報(「C」情報)は、
(C−1)ソフトウェアの識別情報と、
(C−2)ソフトウェアの識別情報およびソフトウェア固有鍵を、サーバ側端末固有鍵302(後記する
図5参照)を用いて暗号化した情報(暗号化情報)と、
を含んで構成される。なお、このソフトウェア固有鍵認証情報の詳細は後記する。
【0025】
認証情報検証部112は、具体的な処理として、ソフトウェア固有鍵認証情報(「C」情報)の(C−2)暗号化情報を、自身の記憶部12に保存する端末固有鍵102で復号し、その復号したソフトウェアの識別情報と、ソフトウェア固有鍵認証情報の(C−1)ソフトウェアの識別情報と、が一致するか否かを検証する。そして、認証情報検証部112は、一致しない場合には、ソフトウェア固有鍵認証情報が改ざんされたものとして処理を終了する。一方、認証情報検証部112は、一致する場合には、ソフトウェア固有鍵認証情報(「C」情報)検証によって正当性が確認できた(認証をPASSした)ものとして、復号時に同時に得られるソフトウェア固有鍵を用いて、記憶部12に格納されている後記する暗号化された状態のソフトウェアを復号する。
【0026】
インストール処理部113は、認証情報検証部112が復号したソフトウェアをインストールする。
【0027】
暗号化処理部114は、認証情報生成部111からの指示に基づき、端末識別情報101および日時を、記憶部12内の端末固有鍵102を用いて暗号化する。そしてその暗号化した情報を、認証情報生成部111に引き渡す。
また、暗号化処理部114は、同じく認証情報生成部111からの指示に基づき、端末識別情報101、日時およびソフトウェアの識別情報を、記憶部12内の端末固有鍵102を用いて暗号化する。そしてその暗号化した情報を、認証情報生成部111に引き渡す。
【0028】
時計部115は、認証情報生成部111からの指示を受け取ると、その時点の日時を、認証情報生成部111に引き渡す。
【0029】
画像処理部116は、ソフトウェアのインストールの現時点における処理段階を示す表示画像を生成し、ディスプレイ13に表示させる処理を行う。
入力処理部117は、入力インタフェース14を介してユーザの入力情報を取得する。
音声処理部118は、ソフトウェアのインストールの現時点における処理段階をスピーカ15に音声情報として出力させる処理を行う。
【0030】
乱数生成部119は、ソフトウェアで数学的に生成される規則性および周期性が少ない疑似乱数を出力したり、不図示のハードウェア乱数生成器の制御により乱数を出力したりする処理を行う。
【0031】
記憶部12には、ハードディスクやフラッシュメモリ等の不揮発性メモリから構成され、端末識別情報101、端末固有鍵102およびカウンタ103が記憶されている。
端末識別情報101は、車載端末10の製品番号やモデル番号、製造番号等の端末を一意に特定するための情報である。この端末識別情報101によりその車載端末10を一意に特定し、また、製品番号や型式(機種)、バージョン等を示す車載端末10の種別をサーバ30が特定することができる。
また、端末固有鍵102は、暗号化処理に用いられる情報であり、車載端末10ごと、つまり端末識別情報101ごとに異なる値を有する。なお、サーバ30には、この端末識別情報101と端末固有鍵102との組について、同じ情報が、サーバ側端末識別情報301、サーバ側端末固有鍵302の組として記憶される。
カウンタ103は車載端末10毎に固有の数値が格納される。車載端末10毎に固有の数値は、後記するサーバ30のカウンタ管理DB350に端末識別情報との組として同一の値が記憶される。
【0032】
ディスプレイ13は、経路や目的地等の情報を表示する表示装置であり、画像処理部116を介して、ソフトウェアのインストールの処理段階を示す情報が表示される。
入力インタフェース14は、タッチパネルや入力ボタン、リモコン等の入力装置である。
スピーカ15は、ソフトウェアのインストールの処理段階を示す情報を音声情報として出力する。
【0033】
機器間通信部16は、USB、Bluetooth、無線LAN等による通信を制御し、通信端末20との間で、情報の送受信を行う。
【0034】
<通信端末>
次に、本発明の第1の実施形態に係る通信端末20について説明する。
図3は、本発明の第1の実施形態に係る通信端末20の構成例を示す機能ブロック図である。
図3に示すように、通信端末20は、制御部21と、記憶部22と、ディスプレイ23と、入力インタフェース24と、スピーカ25と、機器間通信部26と、通信部27とを含んで構成される。
【0035】
制御部21は、通信端末20全体の制御を司り、車載端末認証部211、ソフトウェア取得部212、ソフトウェア送信部213、暗号化処理部214、HTTPクライアント処理部215、画像処理部216、入力処理部217および音声処理部218を含んで構成される。なお、この制御部21の機能は、例えば、通信端末20の記憶部22に記憶されたプログラムを、CPUが不図示のメモリ(RAM等)に展開し実行することで実現される。
【0036】
車載端末認証部211は、機器間通信で接続された車載端末10の端末認証処理の全般を制御する。
具体的には、車載端末認証部211は、入力処理部217を介して、ユーザから端末認証開始の指示を受け取ると、機器間通信で接続された車載端末10に対して、端末認証情報(「A」情報)を要求する認証情報要求メッセージを送信し、その車載端末10から端末認証情報を受信する。
次に、車載端末認証部211は、端末認証情報を付した端末認証要求メッセージをサーバ30に送信する。そして、サーバ30において端末認証情報の検証が成功したことを示す認証成功メッセージを受信すると、その認証成功メッセージに付された端末認証情報(「A」情報)を、記憶部22に保存する。また、車載端末認証部211は、端末認証が完了したことを示す端末認証完了メッセージを、車載端末10へ送信する。
【0037】
ソフトウェア取得部212は、サーバ30からソフトウェアを取得する処理の全般を制御する。
具体的には、ソフトウェア取得部212は、入力処理部217を介して、ユーザからソフトウェア取得開始が指示されると、通信ネットワーク40を介してサーバ30に、記憶部22に保存した端末認証情報(「A」情報)を付したソフトウェア取得要求メッセージを送信する。
そして、ソフトウェア取得部212は、サーバ30から、ソフトウェアのダウンロード先となるURLを受信すると、HTTPクライアント処理部215を介して、自身の記憶部22に保存した端末認証情報(「A」情報)を付して、ソフトウェアのダウンロード先のURLにアクセスする。
また、ソフトウェア取得部212は、ソフトウェア固有鍵で暗号化された状態のソフトウェア(以下、「暗号化ソフトウェア」とよぶ)を受信し、記憶部22にその暗号化ソフトウェアを保存する。
【0038】
ソフトウェア送信部213は、車載端末10に暗号化ソフトウェアを送信し、その暗号化ソフトウェアを復号するためのソフトウェア固有鍵を、サーバ30から車載端末10が取得するために必要な一連の処理を行う。
具体的には、ソフトウェア送信部213は、入力処理部217を介して、ユーザからソフトウェアのインストール要求の指示がされると、機器間通信により接続された車載端末10に対して、記憶部22に記憶しておいた暗号化ソフトウェアを送信する。
そして、ソフトウェア送信部213は、車載端末10からソフトウェア固有鍵要求情報(「B」情報)を受信すると、そのソフトウェア固有鍵要求情報を付したソフトウェア固有鍵要求メッセージを、通信ネットワーク40を介して、サーバ30に送信する。
また、ソフトウェア送信部213は、ソフトウェア固有鍵認証情報(「C」情報)をサーバ30から受信し、そのソフトウェア固有鍵認証情報を車載端末10へ送信する。
【0039】
暗号化処理部214は、通信ネットワーク40を介してサーバ30との送受信を行う情報について、例えば、SSL(Secure Sockets Layer)/TSL(Transport Layer Security)等の暗号化処理を行う。後記においては、説明を省略するが、通信端末20とサーバ30との間の通信は、すべてこの暗号化処理部214により暗号化された情報として送受信される。
【0040】
HTTPクライアント処理部215は、ソフトウェア取得部212がサーバ30から取得したURLに対して、HTTP(HyperText Transfer Protocol)に基づき情報を送受信する処理を司る。
【0041】
画像処理部216は、車載端末10へのソフトウェアのインストールの現時点における処理段階を示す表示画像を生成し、ディスプレイ23に表示させる処理を行う。
入力処理部217は、入力インタフェース24を介してユーザの入力情報を取得する。
音声処理部218は、車載端末10へのソフトウェアのインストールの現時点における処理段階をスピーカ25に音声情報として出力させる処理を行う。
【0042】
また、機器間通信部26は、USB、Bluetooth、無線LAN等による通信を制御し、車載端末10との間で、情報の送受信を行う。
通信部27は、移動体通信網や無線LAN等の通信ネットワーク40を介して、サーバ30と送受信する情報の制御を行う。
【0043】
<サーバ>
次に、本発明の第1の実施形態に係るサーバ30について説明する。
図4は、本発明の第1の実施形態に係るサーバ30の構成例を示す機能ブロック図である。
図4に示すように、サーバ30は、制御部31と、記憶部32と、通信部37とを含んで構成される。
【0044】
記憶部32には、車載端末管理DB(DataBase)300、車載端末用ソフトウェアDB310、ソフトウェア固有鍵DB320、車載端末用ソフトウェア管理DB330、ユーザ管理DB340およびカウンタ管理DB350が記憶されている。
【0045】
図5は、本発明の第1の実施形態に係る車載端末管理DB300に記憶されるデータの構成を説明するための図である。
図5に示すように、車載端末管理DB300には、サーバ側端末識別情報301に対応付けて、サーバ側端末固有鍵302および最終認証日時303が格納される。
このサーバ側端末識別情報301およびサーバ側端末固有鍵302の組の情報は、車載端末10に記憶される端末識別情報101および端末固有鍵102の組と同じ情報である。
最終認証日時303は、後記する認証情報管理部312により、端末認証またはソフトウェア固有鍵要求情報の認証が行われて、認証が成功する度に、その認証が成功した日時を記憶することで更新される情報である。
【0046】
図4に戻り、車載端末用ソフトウェアDB310には、その車載端末10の機種やバージョン等の種別ごとに、対応したソフトウェアが格納される。また、車載端末用ソフトウェアDB310に格納されるソフトウェアは、あらかじめ対応する後記のソフトウェア固有鍵にて暗号化された状態(暗号化ソフトウェア)で格納されてもよい。
ソフトウェア固有鍵DB320には、車載端末用ソフトウェアDB310に格納されている各ソフトウェアの復号用の鍵であるソフトウェア固有鍵が格納される。なお、このソフトウェア固有鍵は、後記するソフトウェアの識別情報に対応づけて保存される。
車載端末用ソフトウェア管理DB330には、車載端末毎のソフトウェアの利用状況が格納される。
ユーザ管理DB340には、ユーザの識別情報、ユーザ識別情報の認証に利用するパスワード等の情報およびそのユーザが所有するソフトウェアのライセンス等が格納される。
カウンタ管理DB350には、端末識別情報と端末識別情報毎に固有の数値の組が格納される。端末識別情報毎に固有の数値列は、前記した車載端末10のカウンタ103に格納された数値と同一の値が格納される。
【0047】
制御部31は、サーバ30全体の制御を司り、認証情報検証処理部311、認証情報管理部312、認証情報生成処理部313、暗号処理部314、時計部315、HTTPサーバ処理部316、ソフトウェア配信部317およびユーザ管理部318を含んで構成される。なお、この制御部31の機能は、例えば、サーバ30の記憶部32に記憶されたプログラムを、CPUが不図示のメモリ(RAM等)に展開し実行することで実現される。
【0048】
認証情報検証処理部311は、車載端末10の端末認証やソフトウェアの配信等に関する認証情報の検証全般を制御する。
具体的には、認証情報検証処理部311は、通信端末20から端末認証情報(「A」情報)が付された端末認証要求メッセージを受信すると、その端末認証情報から、(A−1)端末識別情報101と、(A−2)日時と、(A−3)端末識別情報101および日時を、端末固有鍵102を用いて暗号化した情報(暗号化情報)とを取得する。そして、認証情報検証処理部311は、端末認証情報から取得した(A−1)端末識別情報101をキーとして、記憶部32内の車載端末管理DB300の検索を行う。具体的には、まず、認証情報検証処理部311は、(A−1)端末識別情報101に一致する、サーバ側端末識別情報301を検索し、その最終認証日時303を取得する。
【0049】
次に、認証情報検証処理部311は、(A−2)日時と、取得した最終認証日時303から所定の閾値を減算した値とを比較する。そして、認証情報検証処理部311は、最終認証日時303から閾値を減算した値の方が、(A−2)日時より新しい場合は、リプレイ攻撃等の不正アクセスの可能性があるため認証NGとして処理を終える。一方、認証情報検証処理部311は、最終認証日時303から閾値を減算した値の方が、(A−2)日時より古い場合は、端末認証情報の(A−1)端末識別情報101と、(A−2)日時とを、サーバ側端末固有鍵302を用いて暗号処理部314を介して暗号化する。そして、認証情報検証処理部311は、この暗号化した結果が、車載端末10で暗号化された(A−3)暗号化情報と一致する場合には、正しい端末固有鍵102を有する車載端末10からの認証要求と判定し、認証をPASS(認証OK)させる。
また、最終認証日時303から閾値を減算した値の方が(A−2)日時より古い場合の上記処理では、暗号処理部314にて、サーバ側端末固有鍵302を用いて(A−3)暗号化情報を復号することで得られた情報が、(A−1)端末識別情報101および(A−2)日時と一致した場合には、正しい端末固有鍵102を有する車載端末10からの認証要求と判定し、認証をPASS(認証OK)としても良い。
なお、認証情報検証処理部311は、端末認証情報(「A」情報)が、車載端末10からのサーバ30への最初の認証要求であり、最終認証日時303に情報が格納されていない場合には、(A−2)日時と最終認証日時303との比較は行わず、端末認証情報の(A−1)端末識別情報101と、(A−2)日時とを、サーバ側端末固有鍵302を用いて暗号化し、(A−3)暗号化情報と一致するか否かの判定に進む。
【0050】
ここで、閾値を導入する理由を述べる。端末認証情報を車載端末10の接続時に生成されて通信切断後には無効となる情報として扱うと、後記する
図7に示すソフトウェア取得処理のように、車載端末10を介さず、通信端末20とサーバ30のみで行う処理が不可能になりユーザの利便性を損なう。一方、端末認証情報を車載端末10の接続時に生成されて以降永久に有効となる情報として扱うと、接続時にサーバ30に送信される端末認証情報が固定値になるため、端末認証情報が漏洩した場合には永久的に不正アクセスが可能となる。これらの問題を解決のために、一定の期間すなわち閾値を設けて閾値の値を超える古い日時を持つ端末認証情報を無効な情報として処理することにより、ユーザの利便性を損なわずに、不正アクセスのリスクを低減することを目的としている。また、サーバ30と車載端末10とで各時計部315,115が示す日時にずれがある場合や、サーバ30と車載端末10との通信状態等により接続不可の場合もあることが想定されるため、閾値に用いてある程度の幅を持たせておくことにより、運用を容易にするためである。
なお、この閾値は、サービスを運用する管理者により、所定の時間(分単位、時間単位、日単位等)が設定される。閾値の設定時間が短い程、第3者による不正アクセスを防ぐことができるが、正規のユーザの処理が遅延した場合に、不正アクセスとして認証情報が無効となる可能性が高くなる。一方、閾値の設定時間が長い程、正規のユーザの認証が無効になる可能性は低くなるが、第3者による不正アクセスの可能性が高くなる関係にある。
【0051】
また、認証情報検証処理部311は、通信端末20からソフトウェア固有鍵要求情報(「B」情報)が付されたソフトウェア固有鍵要求メッセージを受信すると、ソフトウェア固有鍵要求情報から、(B−1)端末識別情報101と、(B−2)日時と、(B−3)ソフトウェアの識別情報と、(B−4)端末識別情報101、日時およびソフトウェアの識別情報を、端末固有鍵102を用いて暗号化した情報(暗号化情報)とを取得し、記憶部32内の車載端末管理DB300の検索を行う。具体的には、まず、認証情報検証処理部311は、ソフトウェア固有鍵要求情報から取得した(B−1)端末識別情報101に一致する、サーバ側端末識別情報301を検索し、その最終認証日時303を取得する。
【0052】
次に、認証情報検証処理部311は、(B−2)日時と、車載端末管理DB300の最終認証日時303から閾値を減算した値とを比較する。そして、認証情報検証処理部311は、最終認証日時303から閾値を減算した値の方が、(B−2)日時より新しい場合は、リプレイ攻撃等の不正アクセスの可能性があるため認証NGとして処理を終える。一方、認証情報検証処理部311は、最終認証日時303から閾値を減算した値の方が、(B−2)日時より古い場合は、ソフトウェア固有鍵要求情報の(B−1)端末識別情報101と、(B−2)日時と、(B−3)ソフトウェアの識別情報とを、サーバ側端末固有鍵302を用いて暗号処理部314を介して暗号化する。そして、認証情報検証処理部311は、この暗号化した結果が、車載端末10で暗号化された(B−4)暗号化情報と一致する場合には、正しい端末固有鍵102を有する車載端末10からの認証要求と判定し、認証をPASS(認証OK)させる。
また、最終認証日時303から閾値を減算した値の方が(B−2)日時より古い場合の上記処理では、暗号処理部314にて、サーバ側端末固有鍵302を用いて(B−4)暗号化情報を復号することで得られた情報が、(B−1)端末識別情報101、(B−2)日時および(B−3)ソフトウェアの識別情報と一致した場合には、正しい端末固有鍵102を有する車載端末10からの認証要求と判定し、認証をPASS(認証OK)としても良い。
【0053】
認証情報管理部312は、認証情報検証処理部311において、受信した端末認証情報(「A情報」)または通信端末20へのソフトウェア配信処理の直前に受信した端末認証情報(「A情報」)が認証OKだった場合に、時計部315より日時を取得して、車載端末管理DB300の最終認証日時303を更新する。
【0054】
認証情報生成処理部313は、サーバ30から車載端末10に対してソフトウェア固有鍵を送信するための情報であるソフトウェア固有鍵認証情報(「C」情報)を生成する。
具体的には、認証情報生成処理部313は、ソフトウェアの識別情報を用いて、記憶部32内のソフトウェア固有鍵DB320を検索し、対応するソフトウェア固有鍵を取得する。次に、認証情報生成処理部313は、(C−1)ソフトウェアの識別情報と、(C−2)ソフトウェアの識別情報および取得したソフトウェア固有鍵を、暗号処理部314が車載端末管理DB300内のサーバ側端末固有鍵302を用いて暗号化した情報(暗号化情報)と、をソフトウェア固有鍵認証情報として生成する。そして、認証情報生成処理部313は、生成したソフトウェア固有鍵認証情報を、通信端末20を介して車載端末10に送信する。
【0055】
暗号処理部314は、ソフトウェア配信部317の指示に基づき、車載端末用ソフトウェアDB310に保存されたソフトウェアを、ソフトウェア固有鍵DB320に保存されたソフトウェア固有鍵を用いて暗号化する。
そして、暗号処理部314は、認証情報生成処理部313からの指示に基づき、ソフトウェアの識別情報およびソフトウェア固有鍵を、車載端末管理DB300のサーバ側端末固有鍵302を用いて暗号化する。そしてその暗号化した情報を、認証情報生成処理部313に引き渡す。
また、暗号処理部314は、通信ネットワーク40を介して通信端末20との送受信を行う情報について、例えば、SSL/TSL等の暗号化処理を行う。
【0056】
時計部315は、認証情報管理部312または認証情報生成処理部313からの指示を受け取ると、その時点の日時を引き渡す。
【0057】
HTTPサーバ処理部316は、HTTPに基づき、通信端末20がソフトウェアを取得するためのURLを生成し、通信端末20へ送信する。また、HTTPサーバ処理部316は、通信端末20からのURLへのアクセスを受け付ける。
【0058】
ソフトウェア配信部317は、認証情報検証処理部311が受信したソフトウェア固有鍵要求情報(「B」情報)が認証OKだった場合に、記憶部32内の車載端末用ソフトウェアDB310を検索し、端末識別情報101を用いて、車載端末10に適合するソフトウェアを検索して暗号化ソフトウェアを取得する。なお、ソフトウェア配信部317は、ソフトウェアが暗号化されていない場合には、暗号処理部314を介してソフトウェア固有鍵で暗号化された暗号化ソフトウェアを生成する。
また、ソフトウェア配信部317は、ソフトウェア固有鍵要求情報の(B−3)ソフトウェアの識別情報をキーとして、ソフトウェア固有鍵DB320を検索し、車載端末10に送信すべきソフトウェア固有鍵を検索する。
ユーザ管理部318は、ユーザ管理DB340の管理および車載端末用ソフトウェア管理DB330へのデータの追加および書換え等を行う。
【0059】
また、通信部37は、移動体通信網や無線LAN等の通信ネットワーク40を介して、通信端末20と送受信する情報の制御を行う。
【0060】
次に、本発明の第1の実施形態に係る情報配信システム1が行う情報配信処理について説明する。この情報配信処理として、(1)車載端末10の端末識別情報101を、通信端末20を介して、サーバ30に認証させる端末認証処理、(2)車載端末10に適合したソフトウェアを通信端末20がサーバ30から取得するソフトウェア取得処理、(3)車載端末10が、通信端末20を介して、ソフトウェア固有鍵を取得し、ソフトウェアをインストールする処理(ソフトウェア固有鍵取得処理)、を行うことにより、車載端末10がサーバ30からソフトウェアを取得する。以下、各処理の流れについて具体的に説明する。
【0061】
<端末認証処理>
図6は、本発明の第1の実施形態に係る情報配信システム1が行う端末認証処理の流れを示すシーケンス図である。この端末認証処理は、車載端末10が生成した端末認証情報(「A」情報)をサーバ30に認証させ、認証が成功した場合に、通信端末20がその端末認証情報(「A」情報)を保存する処理である。
【0062】
まず、ユーザの操作等により、通信端末20の入力インタフェース24を介して、車載端末10の端末認証の開始が指示されると、通信端末20の車載端末認証部211は、車載端末10に対して端末認証情報(「A」情報)を要求する認証情報要求メッセージを送信する(ステップS101)。
なお、この認証情報要求メッセージの送信は、ユーザの操作以外に、例えば、通信端末20で車載端末10の端末認証が必要となるソフトウェアイベントを検出した場合等に実行するようにしてもよい。
【0063】
次に、車載端末10は、認証情報要求メッセージを受信すると、認証情報生成部111が、端末認証情報(「A」情報)を生成する(ステップS102)。
具体的には、認証情報生成部111は、記憶部12内から端末識別情報101を取得し、時計部115から現時点の日時を取得する。そして、認証情報生成部111は、取得した(A−1)端末識別情報101および(A−2)日時を、暗号化処理部114に引き渡し、暗号化処理部114が、端末固有鍵102を用いて、(A−1)端末識別情報101および(A−2)日時を暗号化し、その暗号化情報を認証生成部111に引き渡す。そして、認証情報生成部111は、(A−1)端末識別情報101と、(A−2)日時と、(A−3)端末識別情報101および日時を端末固有鍵102で暗号化した情報(暗号化情報)と、を含む端末認証情報(「A」情報)を生成する。
【0064】
続いて、車載端末10の認証情報生成部111は、生成した端末認証情報(「A」情報)を通信端末20に送信する(ステップS103)。
【0065】
そして、通信端末20の車載端末認証部211は、受信した端末認証情報(「A」情報)を付した端末認証要求メッセージを、サーバ30に送信する(ステップS104)。
【0066】
サーバ30は、通信端末20から受信した端末認証要求メッセージに付された端末認証情報に基づき、車載端末管理DB300を検索する(ステップS105)。
具体的には、サーバ30の認証情報検証処理部311は、端末認証情報から、(A−1)端末識別情報101と、(A−2)日時と、(A−3)端末識別情報101および日時を、端末固有鍵102を用いて暗号化した情報(暗号化情報)とを取得する。そして、認証情報検証処理部311は、端末認証情報から取得した(A−1)端末識別情報101をキーとして、車載端末管理DB300の検索を行い、(A−1)端末識別情報101に一致する、サーバ側端末識別情報301を検索し、その最終認証日時303を取得する。
【0067】
次に、サーバ30の認証情報検証処理部311は、端末認証情報の検証を行う(ステップS106)。
具体的には、認証情報検証処理部311は、取得した(A−2)日時と、車載端末管理DB300の最終認証日時303から所定の閾値を減算した値とを比較する。そして、認証情報検証処理部311は、最終認証日時303から閾値を減算した値の方が、(A−2)日時より新しい場合は、リプレイ攻撃等の不正アクセスの可能性があるため認証NGと判定し(ステップS107→No)、認証NGを示す認証情報無効メッセージを通信端末20に送信する(ステップS108)。そして、通信端末20の車載端末認証部211が、その認証情報無効メッセージを車載端末10に送信して処理を終える(ステップS109)。
【0068】
一方、認証情報検証処理部311は、最終認証日時303から閾値を減算した値の方が、(A−2)日時より古い場合は、端末認証情報の(A−1)端末識別情報101と、(A−2)日時とを、サーバ側端末固有鍵302を用いて暗号処理部314を介して暗号化する。そして、認証情報検証処理部311は、この暗号化した結果が、車載端末10で暗号化された(A−3)暗号化情報と一致する場合には、正しい端末固有鍵102を有する車載端末10からの認証要求と判定し、認証をPASS(認証OK)させる(ステップS107→Yes)。
認証情報検証処理部311は、この暗号化した結果が、車載端末10で暗号化された(A−3)暗号化情報と一致しない場合には、前記した(A−2)日時を用いた判定と同様に、認証NGとし(ステップS107→No)、ステップS108、S109に進み処理を終了する。
なお、認証情報検証処理部311は、最終認証日時303から閾値を減算した値の方が、(A−2)日時より古い場合に、(A−3)暗号化情報を、サーバ側端末固有鍵302を用いて暗号処理部314を介して復号して得られる情報と、(A−1)端末識別情報101および(A−2)日時の比較によって端末認証情報の検証を行っても良い。
また、認証情報検証処理部311は、端末認証情報(「A」情報)が、車載端末10からのサーバ30への最初の認証要求であり、最終認証日時303に情報が格納されていない場合には、(A−2)日時と最終認証日時303との比較は行わず、端末認証情報の(A−1)端末識別情報101と、(A−2)日時とを、サーバ側端末固有鍵302を用いて暗号化し、(A−3)暗号化情報と一致するか否かの判定に進む。
【0069】
続いて、認証情報管理部312は、ステップS107で受信した端末認証情報(「A」情報)が認証OKだった場合に、時計部315より現時点の日時を取得して、車載端末管理DB300の最終認証日時303を更新する(ステップS110)。
【0070】
次に、認証情報検証処理部311は、端末認証情報(「A」情報)の認証OKを示す認証成功メッセージに、その端末認証情報を付して通信端末20に送信する(ステップS111)。
【0071】
認証成功メッセージを受信した通信端末20の車載端末認証部211は、認証成功メッセージから端末認証情報(「A」情報)を取得し、記憶部22に保存する(ステップS112)。そして、通信端末20の車載端末認証部211は、端末認証処理が完了したことを示す端末認証完了メッセージを車載端末10に送信する(ステップS113)。
【0072】
<ソフトウェア取得処理>
次に、車載端末10に適合したソフトウェアを通信端末20がサーバ30から取得するソフトウェア取得処理について説明する。
図7は、本発明の第1の実施形態に係る情報配信システム1が行うソフトウェア取得処理の流れを示すシーケンス図である。
【0073】
まず、ユーザの操作等により、通信端末20の入力インタフェース24を介して、ソフトウェア取得処理の開始が指示されると、通信端末20のソフトウェア取得部212は、
図6のステップS112において、記憶部22に保存した端末認証情報(「A」情報)を付したソフトウェア取得要求メッセージを生成し、サーバ30に送信する(ステップS201)。
なお、このソフトウェア取得要求メッセージの送信は、ユーザの操作以外に、例えば、通信端末20で車載端末10のソフトウェア取得が必要となるソフトウェアイベントを検出した場合等に実行するようにしてもよい。
【0074】
次に、サーバ30の認証情報検証処理部311は、ソフトウェア取得要求メッセージに付された端末認証情報(「A」情報)を取得し、車載端末管理DB300の検索(ステップS202)、端末認証情報の検証(ステップS203)、およびその検証の判定(「認証OK?」)(ステップS204)を行う。なお、このステップS202〜S204の処理は、前記した
図6のステップS105〜S107の処理と同様のため、説明は省略する。
【0075】
認証情報検証処理部311は、ステップS204において、端末認証情報(「A」情報)が認証NGの場合は(ステップS204→No)、認証NGを示す認証情報無効メッセージを通信端末20に送信してサーバ30としての処理を終える(ステップS205)。
一方、認証情報検証処理部311は、ステップS204において、端末認証情報(「A」情報)が認証OKの場合は(ステップS204→Yes)、ステップS206に進む。
【0076】
ステップS206において、ソフトウェア配信部317は、端末認証情報(「A」情報)の(A−1)端末識別情報101をキーとして、記憶部32内の車載端末用ソフトウェアDB310を検索し、車載端末10に適合するソフトウェアを検索する。
その検索の結果、車載端末10に適合するソフトウェアが存在しなかった場合(ステップS207→No)、ソフトウェア配信部317は、ソフトウェアの取得不能を示す取得不能メッセージを、通信端末20に送信してサーバ30としての処理を終える(ステップS208)。
一方、ソフトウェア配信部317が、その車載端末10に適合するソフトウェアを検索できた場合、つまり、適合するソフトウェアが存在する場合は(ステップS207→Yes)、ステップS209に進み処理を続ける。
【0077】
ステップS209において、ソフトウェア配信部317は、HTTPサーバ処理部316を介して、通信端末20が検索したソフトウェアをダウンロードするためのURLを作成する。そして、ソフトウェア配信部317は、そのURLを通信端末20に通知する(ステップS210)。ここで生成されるURLには、ソフトウェアの識別情報が、サーバ30によって特定可能なような形式で含まれる。
【0078】
URLを受け取った通信端末20のソフトウェア取得部212は、HTTPクライアント処理部215を介し、端末認証情報(「A」情報)を付加して、ダウンロード先となるURLにアクセスする(ステップS211)。
【0079】
続いて、サーバ30の認証情報検証処理部311は、取得した端末認証情報(「A」情報)について、車載端末管理DB300の検索(ステップS212)、端末認証情報の検証(ステップS213)、およびその検証の判定(「認証OK?」)(ステップS214)を行う。なお、このステップS212〜S214の処理は、前記した
図6のステップS105〜S107の処理と同様のため、説明は省略する。
【0080】
認証情報検証処理部311は、ステップS214において、端末認証情報(「A」情報)が認証NGの場合は(ステップS214→No)、認証NGを示す認証情報無効メッセージを通信端末20に送信してサーバ30としての処理を終える(ステップS215)。
一方、ステップS214において、端末認証情報(「A」情報)が認証OKの場合は(ステップS214→Yes)、認証情報管理部312は、時計部315より現時点の日時を取得して、車載端末管理DB300の最終認証日時303を更新する(ステップS218)。続いて、ソフトウェア配信部317は、暗号化ソフトウェアを通信端末20に送信する(ステップS216)。なお、この暗号化ソフトウェアには、後記の処理で利用するソフトウェアの識別情報が、ソフトウェア配信部317により付されて、通信端末20に送信される。
そして、通信端末20は、受信した暗号化ソフトウェアを記憶部22に保存する(ステップS217)。
【0081】
<ソフトウェア固有鍵取得処理>
次に、車載端末10が、通信端末20を介して、ソフトウェア固有鍵を取得し、ソフトウェアをインストールする処理(ソフトウェア固有鍵取得処理)について説明する。
図8は、本発明の第1の実施形態に係る情報配信システム1が行うソフトウェア固有鍵取得処理の流れを示すシーケンス図である。
【0082】
まず、ユーザの操作等により、通信端末20の入力インタフェース24を介して、ソフトウェアの車載端末10へのインストールが指示されると、通信端末20のソフトウェア送信部213は、
図7のステップS217で記憶部22に保存した暗号化ソフトウェアを車載端末10に送信する(ステップS301)。
なお、この暗号化ソフトウェアの送信は、ユーザの操作以外に、例えば、通信端末20で車載端末10への暗号化ソフトウェアの送信が必要となるソフトウェアイベントを検出した場合等に実行するようにしてもよい。
【0083】
次に、暗号化ソフトウェアを受信した車載端末10のインストール処理部113は、その暗号化ソフトウェアを記憶部12に保存する。そして、車載端末10の認証情報生成部111は、ソフトウェア固有鍵要求情報(「B」情報)を生成する(ステップS302)。
具体的には、認証情報生成部111は、記憶部12内から端末識別情報101を取得し、時計部115から現時点の日時を取得し、記憶部12に保存したソフトウェアの識別情報を取得する。そして、認証情報生成部111は、取得した(B−1)端末識別情報101、(B−2)日時、および(B−3)ソフトウェアの識別情報を、暗号化処理部114に引き渡し、暗号化処理部114が、端末固有鍵102を用いて、(B−1)端末識別情報101、(B−2)日時、および(B−3)ソフトウェアの識別情報を暗号化し、その暗号化情報を認証情報生成部111に引き渡す。そして、認証情報生成部111は、(B−1)端末識別情報101と、(B−2)日時と、(B−3)ソフトウェアの識別情報と、(B−4)端末識別情報101、日時およびソフトウェアの識別情報を、端末固有鍵102で暗号化した情報(暗号化情報)と、を含むソフトウェア固有鍵要求情報(「B」情報)を生成する。
【0084】
続いて、インストール処理部113は、認証情報生成部111が生成したソフトウェア固有鍵要求情報(「B」情報)を通信端末20に送信する(ステップS303)。
【0085】
そして、通信端末20のソフトウェア送信部213は、受信したソフトウェア固有鍵要求情報(「B」情報)を付したソフトウェア固有鍵要求メッセージを、サーバ30に送信する(ステップS304)。
【0086】
サーバ30は、通信端末20から受信したソフトウェア固有鍵要求メッセージに付されたソフトウェア固有鍵要求情報(「B」情報)に基づき、車載端末管理DB300を検索する(ステップS305)。
具体的には、サーバ30の認証情報検証処理部311は、ソフトウェア固有鍵要求情報から、(B−1)端末識別情報101と、(B−2)日時と、(B−3)ソフトウェアの識別情報と、(B−4)端末識別情報101、日時およびソフトウェアの識別情報を、端末固有鍵102で暗号化した情報(暗号化情報)とを取得する。そして、認証情報検証処理部311は、ソフトウェア固有鍵要求情報から取得した(B−1)端末識別情報101をキーとして、車載端末管理DB300の検索を行い、(B−1)端末識別情報101に一致する、サーバ側端末識別情報301を検索し、その最終認証日時303を取得する。
【0087】
次に、サーバ30の認証情報検証処理部311は、ソフトウェア固有鍵要求情報の検証を行う(ステップS306)。
具体的には、認証情報検証処理部311は、取得した(B−2)日時と、車載端末管理DB300の最終認証日時303から所定の閾値を減算した値とを比較する。そして、認証情報検証処理部311は、最終認証日時303から閾値を減算した値の方が、(B−2)日時より新しい場合は、リプレイ攻撃等の不正アクセスの可能性があるため認証NGと判定し(ステップS307→No)、認証NGを示す認証情報無効メッセージを通信端末20に送信する(ステップS308)。そして、通信端末20のソフトウェア送信部213が、その認証情報無効メッセージを車載端末10に送信して、通信端末20としての処理を終える(ステップS309)。
【0088】
一方、認証情報検証処理部311は、最終認証日時303から閾値を減算した値の方が、(B−2)日時より古い場合は、ソフトウェア固有鍵要求情報の(B−1)端末識別情報101と、(B−2)日時と、(B−3)ソフトウェアの識別情報とを、サーバ側端末固有鍵302を用いて暗号処理部314を介して暗号化する。そして、認証情報検証処理部311は、この暗号化した結果が、車載端末10で暗号化された(B−4)暗号化情報と一致する場合には、正しい端末固有鍵102を有する車載端末10からの認証要求と判定し、認証をPASS(認証OK)させる(ステップS307→Yes)。
また、認証情報検証処理部311は、この暗号化した結果が、車載端末10で暗号化された(B−4)暗号化情報と一致しない場合には、前記した(B−2)日時を用いた判定と同様に、認証NGとし(ステップS307→No)、ステップS308、S309に進み処理をサーバ30としての処理を終了する。
なお、認証情報検証処理部311は、最終認証日時303から閾値を減算した値の方が、(B−2)日時より古い場合に、(B−4)暗号化情報を、サーバ側端末固有鍵302を用いて暗号処理部314を介して復号して得られる情報と、(B−1)端末識別情報101、(B−2)日時および(B−3)ソフトウェアの識別情報との比較によってソフトウェア固有鍵要求情報の検証を行っても良い。
【0089】
次に、ソフトウェア配信部317は、ソフトウェア固有鍵要求情報の(B−3)ソフトウェアの識別情報をキーとして、ソフトウェア固有鍵DB320を検索し、車載端末10に送信すべきソフトウェア固有鍵を検索する(ステップS311)。
【0090】
そして、認証情報生成処理部313は、サーバ30から車載端末10に対してソフトウェア固有鍵を送信するための情報であるソフトウェア固有鍵認証情報(「C」情報)を生成する(ステップS312)。
具体的には、認証情報生成処理部313は、(C−1)ソフトウェアの識別情報と、(C−2)ソフトウェアの識別情報およびステップS311で検索したソフトウェア固有鍵を、暗号処理部314が車載端末管理DB300内のサーバ側端末固有鍵302を用いて暗号化した情報(暗号化情報)と、をソフトウェア固有鍵認証情報として生成する。そして、認証情報生成処理部313は、生成したソフトウェア固有鍵認証情報(「C」情報)を、通信端末20に送信する(ステップS313)。
【0091】
ソフトウェア固有鍵認証情報を受信した通信端末20のソフトウェア送信部213は、そのソフトウェア固有鍵認証情報を車載端末10に送信する(ステップS314)。
【0092】
なお、ソフトウェア固有鍵認証情報は、通信端末20が知り得ないサーバ側端末固有鍵302により暗号化されているため、通信端末20および悪意有る第三者は、仮にソフトウェア固有鍵認証情報を取得できたとしても、その中に含まれるソフトウェア固有鍵を取得することができず、暗号化ソフトウェアを復号することは不可能となる。
【0093】
次に、車載端末10は、通信端末20から受信したソフトウェア固有鍵認証情報(「C」情報)の検証を行う(ステップS315)。
具体的には、車載端末10の認証情報検証部112は、ソフトウェア固有鍵認証情報の(C−2)暗号化情報を、自身の記憶部12に保存する端末固有鍵102で復号し、その復号したソフトウェアの識別情報と、ソフトウェア固有鍵認証情報の(C−1)ソフトウェアの識別情報と、が一致するか否かを検証する。そして、認証情報検証部112は、一致しない場合には、ソフトウェア固有鍵認証情報が改ざんされたものとして認証NGと判定し(ステップS316→No)、認証NGを示す認証情報無効メッセージを通信端末20に送信して、車載端末10としての処理を終了する(ステップS317)。一方、認証情報検証部112は、一致する場合には(ステップS316→Yes)、認証をPASS(認証OK)したものとして、復号時に同時に得られるソフトウェア固有鍵を用いて、記憶部12に格納されている暗号化ソフトウェアを復号する(ステップS318)。
【0094】
続いて、インストール処理部113は、認証情報検証部112が復号したソフトウェアをインストールする(ステップS319)。そして、インストール処理部113は、インストールが完了すると、復号したソフトウェアを削除し(ステップS320)、ソフトウェア固有鍵を削除する(ステップS321)。これは、インストールが完了すると、復号したソフトウェアとソフトウェア固有鍵は不要であり、漏洩リスクを下げるために車載端末10から削除するものである。
【0095】
そして、インストール処理部113は、インストール完了メッセージを通信端末20に送信して処理を終える(ステップS322)。
【0096】
<画面表示>
次に、本発明の第1の実施形態に係る車載端末10および通信端末20の画面遷移の一例について説明する。以下、車載端末10の画像処理部116の制御によるディスプレイ13の画面表示と、通信端末20の画像処理部216の制御によるディスプレイ23の画面表示とを、上記において説明した、(1)端末認証処理、(2)ソフトウェア取得処理、(3)ソフトウェア固有鍵取得処理に対応させて説明する。
【0097】
(端末認証処理における画面表示)
図9は、本発明の第1の実施形態に係る車載端末10および通信端末20の端末認証処理中における画面表示の一例を示す図である。
車載端末10の画像処理部116および通信端末20の画像処理部216は、
図6に示した端末認証処理の各ステップの処理中において、
図9に示す画面を表示させる。
【0098】
車載端末10は、
図6の端末認証処理において、ステップS101の認証情報要求メッセージを通信端末20から受信し、端末認証情報(「A」情報)を生成するステップS102までは、画面C01「通信端末と接続しています。」を表示する。
続いて、車載端末10は、端末認証情報を通信端末20に送信するステップS103以降は、画面C02「サーバに接続し、車載端末を認証しています。」を表示する。そして、ステップS109で認証情報無効メッセージを受信した場合、車載端末10は、画面C03「車載端末の認証に失敗しました。」を表示する。また、車載端末10は、ステップS113の端末認証完了メッセージを受信した場合、画面C04「車載端末の認証を完了しました。」を表示する。
【0099】
一方、通信端末20は、
図6の端末認証情報処理において、ステップS101の車載端末10への認証情報要求メッセージの送信から、ステップS103の端末認証情報(「A」情報)の受信までは、画面P01「車載端末に接続し、端末の認証情報を取得しています。」を表示する。
続いて、通信端末20は、端末認証要求メッセージをサーバ30に送信するステップS104以降は、画面P02「サーバに接続し、車載端末を認証しています。」を表示する。そして、ステップS108で認証情報無効メッセージを受信した場合、通信端末20は、画面P03「車載端末の認証に失敗しました。」を表示する。また、通信端末20は、ステップS111の認証成功メッセージを受信した場合、画面P04「車載端末の認証を完了しました。車載端末の認証情報を保存します。」を表示する。
【0100】
(ソフトウェア取得処理における画面表示)
次に、ソフトウェア取得処理中における通信端末20の画面表示について説明する。
図10は、本発明の第1の実施形態に係る通信端末20のソフトウェア取得処理中における画面表示の一例を示す図である。
通信端末20の画像処理部216は、
図7に示したソフトウェア取得処理の各ステップの処理中において、
図10に示す画面を表示させる。
【0101】
通信端末20は、
図7のソフトウェア取得処理において、ステップS201のソフトウェア取得要求メッセージの送信をすると、画面P11「ソフトウェアの取得を開始しました。」を表示する。そして、通信端末20は、ステップS205で認証情報無効メッセージを受信した場合、および、ステップS208で取得不能メッセージを受信した場合、画面P12「ソフトウェアの取得に失敗しました。」を表示する。
【0102】
続いて、通信端末20は、サーバ30からURLを受け取り、ステップS211でそのURLにアクセスすると、画面P13「下記サイトに接続し、ソフトウェアを取得しています。http:///・・・」を表示する。そして、ステップS215の認証情報無効メッセージを受信した場合、通信端末20は、画面P14「ソフトウェアの取得に失敗しました。」を表示する。また、通信端末20は、ステップS216で暗号化ソフトウェアをサーバ30から受信し、ステップS217で記憶部22にその暗号化ソフトウェアを保存し終えると、画面P15「ソフトウェアの取得を完了しました。」を表示する。
【0103】
(ソフトウェア固有鍵取得処理における画面表示)
次に、ソフトウェア固有鍵取得処理中における車載端末10および通信端末20の画面表示について説明する。
図11は、本発明の第1の実施形態に係る車載端末10および通信端末20のソフトウェア固有鍵取得処理中における画面表示の一例を示す図である。
車載端末10の画像処理部116および通信端末20の画像処理部216は、
図8に示したソフトウェア固有鍵取得処理の各ステップの処理中において、
図11に示す画面を表示させる。
【0104】
車載端末10は、
図8のソフトウェア固有鍵取得処理において、ステップS301で暗号化ソフトウェアを通信端末20から受信すると、画面C21「通信端末に接続し、ソフトウェアを受信しています。」を表示する。そして、車載端末10は、ステップS303のソフトウェア固有鍵要求情報(「B」情報)を通信端末20に送信すると、画面C22「サーバに接続し、ソフトウェアをインストールするための情報を取得しています。」を表示する。そして、ステップS309で認証情報無効メッセージを受信した場合、車載端末10は、画面C23「ソフトウェアをインストールするための情報を取得できませんでした。」を表示する。
【0105】
車載端末10は、ステップS314で、ソフトウェア固有鍵認証情報(「C」情報)を受信すると、画面C24「ソフトウェアをインストールしています」を表示する。そして、ソフトウェア固有鍵認証情報の検証で認証NGだった場合(ステップS316→No)、車載端末10は、画面C25「ソフトウェアをインストールするための情報を取得できませんでした。」を表示する。一方、車載端末10は、ソフトウェア固有鍵認証情報の検証で認証OKだった場合で(ステップS316→Yes)、ソフトウェアのインストール(ステップS319)を完了すると、画面C26「ソフトウェアのインストールを完了しました。」を表示する。
【0106】
一方、通信端末20は、
図8のソフトウェア固有鍵取得処理において、ステップS301の車載端末10への暗号化ソフトウェアの送信から、ステップS303のソフトウェア固有鍵要求情報(「B」情報)の受信までは、画面P21「車載端末に接続し、ソフトウェアを送信しています。」を表示する。
【0107】
続いて、通信端末20は、ソフトウェア固有鍵要求メッセージをサーバ30に送信するステップS304以降は、画面P22「サーバに接続し、ソフトウェアをインストールするための情報を取得しています。」を表示する。そして、ステップS308で認証情報無効メッセージを受信した場合、通信端末20は、画面P23「ソフトウェアをインストールするための情報を取得できませんでした。」を表示する。また、通信端末20は、ステップS313でソフトウェア固有鍵認証情報(「C」情報)を受信し、そのソフトウェア固有鍵認証情報を車載端末10に送信すると(ステップS314)、画面P24「ソフトウェアをインストールしています。」を表示する。
【0108】
そして、通信端末20は、ステップS317で認証情報無効メッセージを受信した場合、画面P25「ソフトウェアをインストールするための情報を取得できませんでした。」を表示する。一方、通信端末20は、インストール完了メッセージを受信した場合には(ステップS322)、画面P26「ソフトウェアのインストールを完了しました。」を表示する。
【0109】
なお、上記では、各処理内容の画面表示の遷移例について説明したが、車載端末10は、画面表示される処理内容を、音声処理部118がスピーカ15を介して、音声情報としてユーザに提供してもよい。また、通信端末20においても、画面表示される処理内容を、音声処理部218がスピーカ25を介して、音声情報としてユーザに提供してもよい。
【0110】
以上説明したように、本発明の第1の実施形態によれば、端末固有鍵を用いて、車載端末およびサーバのみが端末認証情報およびソフトウェア固有鍵要求情報を生成可能となる構成とすることで、正規の車載端末を装ったなりすましによるソフトウェアの不正な取得を防ぐことができる。また、通信端末で保持される端末識別情報(「A情報」)は、日時を含むことで車載端末と通信端末が接続されるたびに異なる値、すなわち、ワンタイム化されることおよびサーバによる閾値を用いた端末識別情報の有効期限管理によって、仮に端末識別情報が不正に取得されたとしても、閾値の期間の経過により不正に取得された端末識別情報を無効とすることができる。さらに、ソフトウェアの配信日時を起点とした有効期限管理および端末固有鍵によるソフトウェア固有鍵の暗号化により、不正な手段を用いたソフトウェアの複製および頒布などの、ソフトウェアの不正な利用を防止することができる。
【0111】
≪第2の実施形態≫
次に、本発明の第2の実施形態に係る情報配信システム1について説明する。本発明の第2の実施形態に係る情報配信システム1は、本発明の第1の実施形態における端末認証処理において、通信端末20が車載端末10より端末認証情報(「A」情報)を取得して保存する例である。
【0112】
本発明の第2の実施形態に係る情報配信システム1の全体構成は、
図1に示した本発明の第1の実施形態に係る情報配信システム1と同様である。
また、本発明の第2の実施形態に係る情報配信システム1の各装置の構成は、
図2〜
図4に示した本発明の第1の実施形態に係る各装置の構成と同様である。但し、通信端末20の車載端末認証部211(
図3参照)は、第1の実施形態における機能に加えて、以下の機能を備えるものである。
通信端末20の車載端末認証部211は、車載端末10より受信した端末認証情報(「A」情報)を付した端末認証要求メッセージより、端末認証情報(「A」情報)を取得して、通信端末20の記憶部22に保存する(
図12のステップS1201)。
【0113】
また、サーバ30の認証情報検証処理部(
図4参照)は、第1の実施例における機能と以下の機能が異なる。
サーバ30の認証情報検証処理部311は、端末認証情報(「A」情報)の認証OKを示す認証成功メッセージを通信端末20に送信する。このとき、端末認証情報(「A」情報)は付加しない(
図12のステップS111)。
【0114】
以上説明したように、本発明の第2の実施形態によれば、地下駐車場に駐車中の車両内等、通信端末が移動体通信網等の通信ネットワークに接続できない場合において、端末認証情報を通信端末に記憶することが可能になり、通信端末が車両の外に出て通信ネットワークに接続可能な状態にあるときに、サーバによる端末認証情報の認証を受けることが可能となる。
【0115】
≪第3の実施形態≫
次に、本発明の第3の実施形態に係る情報配信システム1について説明する。本発明の第3の実施形態に係る情報配信システム1は、本発明の第1の実施形態乃至第2の実施形態におけるソフトウェアの有効期限管理の起点となる日時を、ソフトウェアをインストールする時点とする例である。
本発明の第3の実施形態に係る情報配信システム1が行う処理の前提として、本発明の第1の実施形態乃至第2の実施形態における
図6の端末認証処理と
図7のソフトウェア取得処理が行われており、第1の車載端末10の端末認証情報(「A」情報)も用いて行われている。
【0116】
本発明の第3の実施形態に係る情報配信システム1の全体構成は、
図1に示した本発明の第1の実施形態乃至第2の実施形態に係る情報配信システム1と同様である。
また、本発明の第3の実施形態に係る情報配信システム1の各装置の構成は、
図2〜
図4に示した本発明の第1の実施形態乃至第2の実施形態に係る各装置の構成と同様である。但し、サーバ30の認証情報管理部312(
図4参照)は、第1の実施形態乃至第2の実施形態における機能に加えて、以下の機能を備えるものである。
【0117】
サーバ30の認証情報管理部312は、ステップS307において、受信したソフトウェア固有鍵要求情報(「B」情報)が認証OKだった場合に、時計部315より現時点の日時を取得して、車載端末管理DB300の最終認証日時303を更新する(
図13のステップS310)。
【0118】
以上説明したように、本発明の第3の実施形態によれば、ソフトウェアのインストール直前の日時となるソフトウェア固有鍵要求情報の認証が成功した日時を起点とした有効期限管理によって、第1の実施形態で説明した端末認証情報を認証した日時を起点とする場合、ソフトウェアを配信した日時を起点とする場合を含めた3箇所の時点からソフトウェアに最適な有効期限管理の起点となる日時の選択を提供することにより、ソフトウェア配信の柔軟な運用を可能とする。
【0119】
≪第4の実施形態≫
次に、本発明の第4の実施形態に係る情報配信システム1について説明する。本発明の第4の実施形態に係る情報配信システム1は、本発明の第1の実施形態乃至第3の実施形態において、ソフトウェア毎に有効期限を管理する例である。
【0120】
本発明の第4の実施形態に係る情報配信システム1の全体構成は、
図1に示した本発明の第1の実施形態乃至第3の実施形態に係る情報配信システム1と同様である。
また、本発明の第4の実施形態に係る情報配信システム1の各装置の構成は、
図2〜
図4に示した本発明の第1の実施形態乃至第3の実施形態に係る各装置の構成と同様である。但し、サーバ30の認証情報管理部312(
図4参照)は、第1の実施形態乃至第3の実施形態における機能に加えて、以下の機能を備えるものである。
【0121】
サーバ30の認証情報管理部312は、端末認証情報(「A」情報)またはソフトウェア固有鍵要求情報(「B」情報)の検証に、車載端末用ソフトウェア管理DB330に記憶された情報を使用する。
【0122】
図14は、本発明の第4の実施形態に係る車載端末用ソフトウェア管理DB330に記憶されるデータの構成を説明するための図である。
図14に示すように、車載端末用ソフトウェア管理DB330には、サーバ側端末識別情報331、ソフトウェア識別情報332、有効期限起点333、有効期限閾値334、ソフトウェア取得可能回数335、ソフトウェア固有鍵取得可能回数336および最終認証日時337が格納される。
サーバ側端末識別情報331は
図5を用いて説明したサーバ側端末識別情報301と同じである。ソフトウェア識別情報332には、サーバ側端末識別情報331に格納された識別情報を有する車載端末で利用可能なソフトウェアの識別情報が格納される。
【0123】
有効期限起点333は、ソフトウェアの有効期限確認時の起点となる処理が格納される。本実施例では、「認証情報生成時」「ソフト配信時」「固有鍵配信時」の3種類が格納される。
「認証情報生成時」は、端末認証処理における端末認証情報の検証において、認証OKと判定された日時を示す(
図6のステップS110または
図12のステップS110)。「ソフト配信時」は、ソフトウェア取得処理における端末認証情報の検証において、認証OKと判定された日時を示す(
図7のステップS218)。「固有鍵配信時」は、ソフトウェア固有鍵取得処理におけるソフトウェア固有鍵要求情報の検証において、認証OKと判定された日時を示す(
図13のステップS310)。
【0124】
有効期限閾値334は、ソフトウェア配信処理直前の端末認証処理における端末認証情報の検証時(
図7のステップS213)およびソフトウェア固有鍵取得処理におけるソフトウェア固有鍵要求情報の検証時(
図13のステップS306)に使用する閾値が格納される。有効期限起点333が「認証情報生成時」の場合の閾値は、情報配信システム1として特定の値を持つため、有効期限閾値334には値を格納しない。
【0125】
ソフトウェア取得可能回数335は、サーバ側端末識別情報331に格納された識別情報を有する車載端末において、ソフトウェア識別情報332に格納された識別情報を有するソフトウェアの取得可能回数が格納される。ソフトウェアの取得回数に制限が無い場合には、「無制限」が格納される。ソフトウェアの取得ができない状態の場合には「0」が格納される。
【0126】
ソフトウェア固有鍵取得可能回数336は、サーバ側端末識別情報331に格納された識別情報を有する車載端末において、ソフトウェア識別情報332に格納された識別情報を有するソフトウェアのソフトウェア固有鍵の取得可能回数が格納される。ソフトウェア固有鍵の取得回数に制限が無い場合には、「無制限」が格納される。ソフトウェア固有鍵の取得ができない状態の場合には「0」が格納される。
【0127】
最終認証日時337は、有効期限起点333が「ソフト配信時」または「固有鍵配信時」である場合の最終認証日時が格納される。なお、有効期限起点333が「認証情報生成時」である場合の最終認証日時は、ソフトウェアの取得またはソフトウェア固有鍵の取得といったソフトウェアの管理とは無関係な処理であることから、車載端末管理DB300の最終認証日時303に格納される。
【0128】
なお、有効期限起点333、有効期限閾値334、ソフトウェア取得可能回数335およびソフト固有鍵取得可能回数336に格納される値は、ソフトウェア毎に異なっても良いし共通でも良い。また、車載端末毎に異なっても良いし共通であっても良い。
【0129】
続いて、サーバ30の認証情報管理部312の処理について説明する。認証情報管理部312における端末認証処理は、
図6または
図12に示す第1の実施形態乃至第3の実施形態における端末認証処理と同様である。
【0130】
認証情報管理部312におけるソフトウェア取得処理では、
図7のステップS213における端末認証情報の検証時に、車載端末用ソフトウェア管理DB330を参照する。この時、端末認証情報(「A」情報)に付された車載端末10の(A−1)端末識別情報101および通信端末20のURLアクセス(
図7のステップS211)に付されたソフトウェア識別情報をキーとして車載端末用ソフトウェア管理DB330を検索し、有効期限起点333、有効期限閾値334、ソフトウェア取得可能回数335、ソフトウェア固有鍵取得可能回数336および最終認証日時337を特定する。
【0131】
ソフトウェア取得可能回数335が0の場合には、認証NGと判定して認証NGを示す認証情報無効メッセージを通信端末20に送信する(
図7のステップS215)。
【0132】
ソフトウェア取得可能回数335が0以外の場合で、かつ、有効期限起点333が「認証情報生成時」または「固有鍵配信時」の場合には、第1の実施形態乃至第3の実施形態に記載の方法により端末認証情報の検証を実施する。
【0133】
ソフトウェア取得可能回数335が0以外の場合で、かつ、有効期限起点333が「ソフト配信時」の場合には、有効期限閾値334に格納された値を閾値として利用し、さらに、最終認証日時337に格納された日時を使用して認証情報の検証を行う。
具体的には、認証情報検証処理部311は認証情報管理部312より有効期限閾値334および最終認証日時337に格納された値を取得し、最終認証日時337の値と、時計部315より取得した現時点の日時から有効期限閾値334の値を減算した値とを比較する。そして、認証情報検証処理部311は、時計部315より取得した現時点の日時から有効期限閾値334の値を減算した値の方が、最終認証日時337の値より新しい場合は、有効期限切れのため認証NGと判定し(
図7のステップS214→No)、認証NGを示す認証情報無効メッセージを通信端末20に送信する(
図7のステップS215)。
【0134】
一方、認証情報検証処理部311は、時計部315より取得した現時点の日時から有効期限閾値334の値を減算した値の方が、最終認証日時337の値より古い場合は、ソフトウェア固有鍵要求情報の(A−1)端末識別情報101および(A−2)日時を、サーバ側端末固有鍵302を用いて暗号処理部314を介して暗号化する。そして、認証情報検証処理部311は、この暗号化した結果が、車載端末10で暗号化された(A−3)暗号化情報と一致する場合には、正しい端末固有鍵102を有する車載端末10からの認証要求と判定し、認証をPASS(認証OK)させる(
図7のステップS214→Yes)。
認証情報検証処理部311は、この暗号化した結果が、車載端末10で暗号化された(A−3)暗号化情報と一致しない場合には、前記した(A−2)日時を用いた判定と同様に、認証NGとし(
図7のステップS214→No)、
図7のステップS215に進み処理を終了する。
なお、認証情報検証処理部311は、時計部315より取得した現時点の日時から有効期限閾値334の値を減算した値の方が、最終認証日時337の値より古い場合に、(A−3)暗号化情報を、サーバ側端末固有鍵302を用いて暗号処理部314を介して復号して得られる情報と、(A−1)端末識別情報101および(A−2)日時との比較によって端末認証情報の検証を行っても良い。
また、最終認証日時337に情報が格納されていない場合には、最終認証日時337の値と、時計部315より取得した現時点の日時から有効期限閾値334の値を減算した値との比較は行わず、端末認証情報の検証を実施する。
【0135】
さらに、認証情報管理部312は、車載端末用ソフトウェア管理DB330の有効期限起点333が「ソフト配信時」の場合には、
図7のステップS218において車載端末用ソフトウェア管理DB330の最終認証日時337に時計部315より取得した現時点の日時を格納する。続いて、
図7のステップS217における通信端末20によるソフトウェアの保存処理が終了すると、車載端末用ソフトウェア管理DB330のソフトウェア取得可能回数335から1を減算して格納する。なお、ソフトウェア取得可能回数が無制限の場合には、前記減算は行わない。
【0136】
認証情報管理部312におけるソフトウェア固有鍵取得処理では、
図13のステップS306におけるソフトウェア固有鍵要求情報の検証時に、車載端末用ソフトウェア管理DB330を参照する。この時、ソフトウェア固有鍵要求情報(「B」情報)に付された車載端末10の(B−1)端末識別情報101および(B−3)ソフトウェアの識別情報をキーとして車載端末用ソフトウェア管理DB330を検索し、有効期限起点333、有効期限閾値334、ソフトウェア取得可能回数335、ソフトウェア固有鍵取得可能回数336および最終認証日時337を特定する。
【0137】
ソフトウェア固有鍵取得可能回数336が0の場合には、認証NGと判定して認証NGを示す認証情報無効メッセージを通信端末20に送信する(
図13のステップS308)。そして、通信端末20のソフトウェア送信部213が、その認証情報無効メッセージを車載端末10に送信して、通信端末20としての処理を終える(
図13のステップS309)。
【0138】
ソフトウェア固有鍵取得可能回数336が0以外の場合で、かつ、有効期限起点333が「認証情報生成時」の場合には、第1の実施形態乃至第3の実施形態に記載の方法により端末認証情報の検証を実施する。
【0139】
ソフトウェア固有鍵取得可能回数336が0以外の場合で、かつ、有効期限起点333が「ソフト配信時」または「固有鍵配信時」の場合には、有効期限閾値334に格納された値を閾値として利用し、さらに、最終認証日時337に格納された日時を使用して認証情報の検証を行う。
具体的には、認証情報検証処理部311は認証情報管理部312より有効期限閾値334および最終認証日時337に格納された値を取得し、最終認証日時337の値と、時計部315より取得した現時点の日時から有効期限閾値334の値を減算した値とを比較する。そして、認証情報検証処理部311は、時計部315より取得した現時点の日時から有効期限閾値334の値を減算した値の方が、最終認証日時337の値より新しい場合は、有効期限切れのため認証NGと判定し(ステップS307→No)、認証NGを示す認証情報無効メッセージを通信端末20に送信する(ステップS308)。そして、通信端末20のソフトウェア送信部213が、その認証情報無効メッセージを車載端末10に送信して、通信端末20としての処理を終える(ステップS309)。
【0140】
一方、認証情報検証処理部311は、時計部315より取得した現時点の日時から有効期限閾値334の値を減算した値の方が、最終認証日時337の値より古い場合は、ソフトウェア固有鍵要求情報の(B−1)端末識別情報101と、(B−2)日時と、(B−3)ソフトウェアの識別情報とを、サーバ側端末固有鍵302を用いて暗号処理部314を介して暗号化する。そして、認証情報検証処理部311は、この暗号化した結果が、車載端末10で暗号化された(B−4)暗号化情報と一致する場合には、正しい端末固有鍵102を有する車載端末10からの認証要求と判定し、認証をPASS(認証OK)させる(ステップS307→Yes)。
また、認証情報検証処理部311は、この暗号化した結果が、車載端末10で暗号化された(B−4)暗号化情報と一致しない場合には、認証NGとし(ステップS307→No)、ステップS308、S309に進み処理をサーバ30としての処理を終了する。
なお、認証情報検証処理部311は、最終認証日時303から閾値を減算した値の方が、(B−2)日時より古い場合に、(B−4)暗号化情報を、サーバ側端末固有鍵302を用いて暗号処理部314を介して復号して得られる情報と、(B−1)端末識別情報101、(B−2)日時および(B−3)ソフトウェアの識別情報との比較によってソフトウェア固有鍵要求情報の検証を行っても良い。
また、最終認証日時337に情報が格納されていない場合には、最終認証日時337の値と、時計部315より取得した現時点の日時から有効期限閾値334の値を減算した値との比較は行わず、ソフトウェア固有鍵要求情報の検証を実施する。
【0141】
さらに、認証情報管理部312は、車載端末用ソフトウェア管理DB330の有効期限起点333が「固有鍵配信時」の場合には、
図13のステップS310において車載端末用ソフトウェア管理DB330の最終認証日時337に時計部315より取得した現時点の日時を格納する。続いて、
図13のステップS314における車載端末10へのソフトウェア固有鍵認証情報の送信が終了すると、車載端末用ソフトウェア管理DB330のソフトウェア固有鍵取得可能回数336から1を減算して格納する。なお、ソフトウェア取得可能回数が無制限の場合には、前記減算は行わない。
【0142】
以上説明したように、本発明の第4の実施形態によれば、ソフトウェア毎の有効期限管理を実現するとともに、ソフトウェアの不正な利用を防止することができる。
【0143】
≪第5の実施形態≫
次に、本発明の第5の実施形態に係る情報配信システム1について説明する。本発明の第5の実施形態に係る情報配信システム1は、本発明の第4の実施形態において、ユーザによるソフトウェアの購入等による車載端末で実行可能なソフトウェアを追加およびサービス停止等による車載端末で実行可能なソフトウェアの削除を実施する例である。
【0144】
本発明の第5の実施形態に係る情報配信システム1の全体構成は、
図1に示した本発明の第4の実施形態に係る情報配信システム1と同様である。
また、本発明の第5の実施形態に係る情報配信システム1の各装置の構成は、
図2〜
図4に示した本発明の第4の実施形態に係る各装置の構成と同様である。
【0145】
本発明の第5の実施形態に係る車載端末で実行可能なソフトウェアの追加および削除は、サーバ30のユーザ管理部318により実行される。ユーザ管理部318は、ユーザ管理DB340を管理する。
図15は、ユーザ管理DB340に記憶されるデータの構成を説明するための図である。
図15に示すように、ユーザ管理DB340には、ユーザ識別情報341、ユーザパスワード342、所有端末識別情報A乃至C(343乃至345)等が格納される。
ユーザ識別情報341およびユーザパスワード342は、ユーザを一意に特定するための情報である。所有端末識別情報A乃至C(343乃至345)は、ユーザ識別情報341で識別されるユーザが所有する車載端末10の端末識別情報101と同じ値が格納される。
【0146】
ユーザ管理部318は、ユーザによるソフトウェアの購入等により、車載端末10で利用可能なソフトウェアが追加されると、ユーザ管理DB340を参照し、所有端末識別情報A乃至C(343乃至345)を取得することで、そのユーザが利用可能な車載端末を特定する。続いて、車載端末用ソフトウェア管理DB330に対して、そのユーザが利用可能な車載端末識別情報および追加するソフトウェアの識別情報の組をそれぞれサーバ側端末識別情報331、ソフトウェア識別情報332にあらたな属性として格納する。また、ソフトウェアの識別情報により特定される有効期限起点333、有効期限閾値334、ソフトウェア取得可能回数335およびソフトウェア固有鍵取得可能回数336をあわせて格納する。
なお、所有端末識別情報A乃至C(343乃至345)の確認により、ユーザが複数の車載端末を所有していることが判明した場合には、所有する車載端末識別情報分の属性を追加しても良いし、特定の車載端末識別情報のみの属性を追加しても良い。
【0147】
また、ユーザ管理部318は、ユーザによるソフトウェアの購入等により、車載端末用ソフトウェア管理DB330内のソフトウェア取得可能回数335に0が格納されており取得不可能な状態のソフトウェアや、ソフトウェア固有鍵取得可能回数336に0が格納されており車載端末10へのインストールが不可能な状態のソフトウェアを利用可能な状態に変更する。
この場合も、前記車載端末10で利用可能なソフトウェアを追加する場合と同様に、ユーザ管理DB340を参照し、所有端末識別情報A乃至C(343乃至345)を取得することで、そのユーザが利用可能な車載端末を特定する。続いて、車載端末用ソフトウェア管理DB330に対して、そのユーザが利用可能な車載端末識別情報および追加するソフトウェアの識別情報の組をそれぞれサーバ側端末識別情報331、ソフトウェア識別情報332にあらたな属性として格納する。また、追加取得された内容に応じてソフトウェア取得可能回数335またはソフトウェア固有鍵取得可能回数336の値を変更するする。
【0148】
ユーザ管理部318は、ソフトウェアそのものの配信中止やサービス廃止等、何らかの理由により車載端末10で利用可能なソフトウェアを削除する場合には、サーバ側端末識別情報331とソフトウェア識別情報332の組またはソフトウェア識別情報332のみをキーとして削除対象のソフトウェアを検索して削除する。
【0149】
ユーザ管理部318は、車載端末10の廃棄等により、車載端末10が使用不能になった場合には、サーバ側端末識別情報331をキーとして削除対象の車載端末を検索して削除する。あわせて、ユーザ管理D340の所有端末識別情報A乃至C(343乃至345)に格納された当該車載端末の識別情報もあわせて削除する。
【0150】
以上説明したように、本発明の第5の実施形態によれば、ユーザによるソフトウェアの購入等による車載端末で実行可能なソフトウェアを追加およびサービス停止等による車載端末で実行可能なソフトウェアの削除を実施することができる。
【0151】
≪第6の実施形態≫
次に、本発明の第6の実施形態に係る情報配信システム1について説明する。本発明の第6の実施形態に係る情報配信システム1は、本発明の第1の実施形態乃至第5の実施形態において、乱数を用いて端末識別情報およびソフトウェア固有鍵要求情報を生成する例である。
【0152】
本発明の第6の実施形態に係る情報配信システム1の全体構成は、
図1に示した本発明の第1の実施形態乃至第5の実施形態に係る情報配信システム1と同様である。
また、本発明の第6の実施形態に係る情報配信システム1の各装置の構成は、
図2〜
図4に示した本発明の第1の実施形態乃至第5の実施形態に係る各装置の構成と同様である。但し、車載端末10の認証情報生成部111(
図2参照)は、第1の実施形態乃至第5の実施形態における機能との相違点を以下で説明する。
【0153】
本発明の第6の実施形態に係る車載端10の認証情報生成部111は、サーバ30からのソフトウェアのインストールのために用いる、端末認証情報およびソフトウェア固有鍵要求情報を生成する際に、乱数を使用する。
具体的には、認証情報生成部111は、端末認証情報(以下、「Aa」情報とする)として、
(Aa−1)記憶部12内の後記する端末識別情報101と、
(Aa−2)乱数生成部119から取得する乱数と、
(Aa−3)端末識別情報101および乱数を、暗号化処理部114が記憶部12内の端末固有鍵102を用いて暗号化した情報(暗号化情報)と、
を含む情報を生成する。
【0154】
また、認証情報生成部111は、ソフトウェア固有鍵要求情報(以下、「Ba」情報とする)として、
(Ba−1)記憶部12内の後記する端末識別情報101と、
(Ba−2)乱数生成部119から取得する乱数と、
(Ba−3)通信端末20を介してサーバ30から取得したソフトウェアの識別情報と、
(Ba−4)端末識別情報101、乱数およびソフトウェアの識別情報を、暗号化処理部114が記憶部12内の端末固有鍵102を用いて暗号化した情報(暗号化情報)と、
を含む情報を生成する。
【0155】
サーバ30の認証情報検証処理部311における端末認証情報(「Aa」情報)の検証処理は以下の通りである。認証情報検証処理部311は、通信端末20から端末認証情報(「Aa」情報)が付された端末認証要求メッセージを受信すると(
図6のステップS105および
図12のステップS105)、その端末認証情報から、(Aa−1)端末識別情報101と、(Aa−2)乱数と、(Aa−3)端末識別情報101および乱数を、端末固有鍵102を用いて暗号化した情報(暗号化情報)とを取得する。そして、認証情報検証処理部311は、端末認証情報から取得した(Aa−1)端末識別情報101をキーとして、記憶部32内の車載端末管理DB300の検索を行う。具体的には、まず、認証情報検証処理部311は、(Aa−1)端末識別情報101に一致する、サーバ側端末識別情報301を検索し、その最終認証日時303を取得する。
【0156】
次に、認証情報検証処理部311は、最終認証日時303と、時計部315から取得した現時点の日時から所定の閾値を減算した値とを比較する。そして、認証情報検証処理部311は、時計部315から取得した現時点の日時から所定の閾値を減算した値の方が、最終認証日時303より新しい場合は、認証NGとして処理を終える。一方、認証情報検証処理部311は、時計部315から取得した現時点の日時から所定の閾値を減算した値の方が、最終認証日時303より古い場合は、端末認証情報の(Aa−1)端末識別情報101と、(Aa−2)乱数とを、サーバ側端末固有鍵302を用いて暗号処理部314を介して暗号化する。そして、認証情報検証処理部311は、この暗号化した結果が、車載端末10で暗号化された(Aa−3)暗号化情報と一致する場合には、正しい端末固有鍵102を有する車載端末10からの認証要求と判定し、認証をPASS(認証OK)させる。
また、時計部315から取得した現時点の日時から所定の閾値を減算した値の方が最終認証日時303より古い場合の上記処理では、暗号処理部314にて、サーバ側端末固有鍵302を用いて(Aa−3)暗号化情報を復号することで得られた情報が、(Aa−1)端末識別情報101および(Aa−2)乱数と一致した場合には、正しい端末固有鍵102を有する車載端末10からの認証要求と判定し、認証をPASS(認証OK)としても良い。
なお、認証情報検証処理部311は、端末認証情報(「Aa」情報)が、車載端末10からのサーバ30への最初の認証要求であり、最終認証日時303に情報が格納されていない場合には、時計部315より取得した現時点の日時と最終認証日時303との比較は行わず、端末認証情報の(Aa−1)端末識別情報101と、(Aa−2)乱数とを、サーバ側端末固有鍵302を用いて暗号化し、(Aa−3)暗号化情報と一致するか否かの判定に進む。
【0157】
また、
図7のソフトウェア取得処理における端末認証情報の検証処理においても上記と同様の処理を行う。
【0158】
サーバ30の認証情報検証処理部311における端末認証情報(「Ba」情報)の検証処理は以下の通りである。具体的には、サーバ30の認証情報検証処理部311は、ソフトウェア固有鍵要求情報(「Ba」情報)を受信すると(
図8のステップS305および
図13のステップS305)、ソフトウェア固有鍵要求情報から、(Ba−1)端末識別情報101と、(Ba−2)乱数と、(Ba−3)ソフトウェアの識別情報と、(Ba−4)端末識別情報101、乱数およびソフトウェアの識別情報を、端末固有鍵102で暗号化した情報(暗号化情報)とを取得する。そして、認証情報検証処理部311は、ソフトウェア固有鍵要求情報から取得した(Ba−1)端末識別情報101をキーとして、車載端末管理DB300の検索を行い、(Ba−1)端末識別情報101に一致する、サーバ側端末識別情報301を検索し、その最終認証日時303を取得する。
【0159】
次に、サーバ30の認証情報検証処理部311は、ソフトウェア固有鍵要求情報の検証を行う(
図8のステップS306および
図13のステップS306)。
具体的には、認証情報検証処理部311は、最終認証日時303と、時計部315から取得した現時点の日時から所定の閾値を減算した値とを比較する。そして、認証情報検証処理部311は、時計部315から取得した現時点の日時から所定の閾値を減算した値の方が、最終認証日時303より新しい場合は、認証NGと判定し(
図8および
図13のステップS307→No)、認証NGを示す認証情報無効メッセージを通信端末20に送信する(
図8および
図13のステップS308)。そして、通信端末20のソフトウェア送信部213が、その認証情報無効メッセージを車載端末10に送信して、通信端末20としての処理を終える(
図8および
図13のステップS309)。
【0160】
一方、認証情報検証処理部311は、時計部315から取得した現時点の日時から所定の閾値を減算した値の方が、最終認証日時303より古い場合は、ソフトウェア固有鍵要求情報の(Ba−1)端末識別情報101と、(Ba−2)乱数と、(Ba−3)ソフトウェアの識別情報とを、サーバ側端末固有鍵302を用いて暗号処理部314を介して暗号化する。そして、認証情報検証処理部311は、この暗号化した結果が、車載端末10で暗号化された(Ba−4)暗号化情報と一致する場合には、正しい端末固有鍵102を有する車載端末10からの認証要求と判定し、認証をPASS(認証OK)させる(
図8および
図13のステップS307→Yes)。
また、認証情報検証処理部311は、この暗号化した結果が、車載端末10で暗号化された(Ba−4)暗号化情報と一致しない場合には認証NGとし(
図8および
図13のステップS307→No)、ステップS308、S309に進み処理をサーバ30としての処理を終了する。
なお、認証情報検証処理部311は、時計部315から取得した現時点の日時から所定の閾値を減算した値の方が、最終認証日時303より古い場合に、(Ba−4)暗号化情報を、サーバ側端末固有鍵302を用いて暗号処理部314を介して復号して得られる情報と、(Ba−1)端末識別情報101、(Ba−2)乱数および(Ba−3)ソフトウェアの識別情報との比較によってソフトウェア固有鍵要求情報の検証を行っても良い。
【0161】
以上説明したように、本発明の第6の実施形態によれば、通信端末で保持される端末識別情報(「Aa情報」)は、乱数を含むことで車載端末と通信端末が接続されるたびに異なる値、すなわち、ワンタイム化されることおよびサーバによる閾値を用いた端末識別情報の有効期限管理によって、仮に端末識別情報が不正に取得されたとしても、閾値の期間の経過により不正に取得された端末識別情報を無効とすることができる。
【0162】
≪第7の実施形態≫
次に、本発明の第7の実施形態に係る情報配信システム1について説明する。本発明の第7の実施形態に係る情報配信システム1は、本発明の第1の実施形態乃至第6の実施形態において、カウンタを用いて端末識別情報およびソフトウェア固有鍵要求情報を生成する例である。
【0163】
本発明の第7の実施形態に係る情報配信システム1の全体構成は、
図1に示した本発明の第1の実施形態乃至第6の実施形態に係る情報配信システム1と同様である。
また、本発明の第7の実施形態に係る情報配信システム1の各装置の構成は、
図2〜
図4に示した本発明の第1の実施形態乃至第6の実施形態に係る各装置の構成と同様である。但し、車載端末10の認証情報生成部111(
図2参照)は、第1の実施形態乃至第6の実施形態における機能との相違点を以下で説明する。
【0164】
本発明の第7の実施形態に係る車載端10の認証情報生成部111は、サーバ30からのソフトウェアのインストールのために用いる、端末認証情報およびソフトウェア固有鍵要求情報を生成する際に、乱数を使用する。
具体的には、認証情報生成部111は、端末認証情報(以下、「Ab」情報とする)として、
(Ab−1)記憶部12内の後記する端末識別情報101と、
(Ab−3)端末識別情報101およびカウンタ103に格納された数値を、暗号化処理部114が記憶部12内の端末固有鍵102を用いて暗号化した情報(暗号化情報)と、
を含む情報を生成する。
【0165】
また、認証情報生成部111は、ソフトウェア固有鍵要求情報(以下、「Bb」情報とする)として、
(Bb−1)記憶部12内の後記する端末識別情報101と、
(Bb−3)通信端末20を介してサーバ30から取得したソフトウェアの識別情報と、
(Bb−4)端末識別情報101、カウンタ103に格納された数値およびソフトウェアの識別情報を、暗号化処理部114が記憶部12内の端末固有鍵102を用いて暗号化した情報(暗号化情報)と、
を含む情報を生成する。
【0166】
サーバ30の認証情報検証処理部311における端末認証情報(「Ab」情報)の検証処理は以下の通りである。認証情報検証処理部311は、通信端末20から端末認証情報(「Ab」情報)が付された端末認証要求メッセージを受信すると(
図6のステップS105および
図12のステップS105)、その端末認証情報から、(Ab−1)端末識別情報101と、(Ab−3)端末識別情報101およびカウンタ103に格納された数値を、端末固有鍵102を用いて暗号化した情報(暗号化情報)とを取得する。そして、認証情報検証処理部311は、端末認証情報から取得した(Ab−1)端末識別情報101をキーとして、記憶部32内の車載端末管理DB300の検索を行う。具体的には、まず、認証情報検証処理部311は、(Ab−1)端末識別情報101に一致する、サーバ側端末識別情報301を検索し、その最終認証日時303を取得する。
【0167】
次に、認証情報検証処理部311は、最終認証日時303と、時計部315から取得した現時点の日時から所定の閾値を減算した値とを比較する。そして、認証情報検証処理部311は、時計部315から取得した現時点の日時から所定の閾値を減算した値の方が、最終認証日時303より新しい場合は、認証NGとして処理を終える。一方、認証情報検証処理部311は、時計部315から取得した現時点の日時から所定の閾値を減算した値の方が、最終認証日時303より古い場合は、端末認証情報の(Ab−1)端末識別情報101と、カウンタ管理DB350に格納された(Ab−1)端末識別情報101との組として格納された数値とをサーバ側端末固有鍵302を用いて暗号処理部314を介して暗号化する。そして、認証情報検証処理部311は、この暗号化した結果が、車載端末10で暗号化された(Ab−3)暗号化情報と一致する場合には、正しい端末固有鍵102を有する車載端末10からの認証要求と判定し、認証をPASS(認証OK)させる。
また、時計部315から取得した現時点の日時から所定の閾値を減算した値の方が最終認証日時303より古い場合の上記処理では、暗号処理部314にて、サーバ側端末固有鍵302を用いて(Ab−3)暗号化情報を復号することで得られた情報が、(Ab−1)端末識別情報101およびカウンタ管理DB350に格納された(Ab−1)端末識別情報101との組として格納された数値と一致した場合には、正しい端末固有鍵102を有する車載端末10からの認証要求と判定し、認証をPASS(認証OK)としても良い。
なお、認証情報検証処理部311は、端末認証情報(「Ab」情報)が、車載端末10からのサーバ30への最初の認証要求であり、最終認証日時303に情報が格納されていない場合には、時計部315より取得した現時点の日時と最終認証日時303との比較は行わず、端末認証情報の(Ab−1)端末識別情報101と、カウンタ管理DB350に格納された(Ab−1)端末識別情報101との組として格納された数値とを、サーバ側端末固有鍵302を用いて暗号化し、(Ab−3)暗号化情報と一致するか否かの判定に進む。
【0168】
さらに、端末認証処理が認証OKとなり認証処理が完了した場合(
図6および
図12のステップS113)には、車載端末10のカウンタ103に格納された数値およびカウンタ管理DB350に格納された(Ab−1)端末識別情報101との組として格納された数値それぞれに1を加算する。
また、
図7のソフトウェア取得処理における端末認証情報の検証処理においても上記と同様の処理を行う。
【0169】
サーバ30の認証情報検証処理部311における端末認証情報(「Bb」情報)の検証処理は以下の通りである。具体的には、サーバ30の認証情報検証処理部311は、ソフトウェア固有鍵要求情報(「Bb」情報)を受信すると(
図8のステップS305および
図13のステップS305)、ソフトウェア固有鍵要求情報から、(Bb−1)端末識別情報101と、(Bb−3)ソフトウェアの識別情報と、(Bb−4)端末識別情報101、カウンタ103に格納された数値およびソフトウェアの識別情報を、端末固有鍵102で暗号化した情報(暗号化情報)とを取得する。そして、認証情報検証処理部311は、ソフトウェア固有鍵要求情報から取得した(Bb−1)端末識別情報101をキーとして、車載端末管理DB300の検索を行い、(Bb−1)端末識別情報101に一致する、サーバ側端末識別情報301を検索し、その最終認証日時303を取得する。
【0170】
次に、サーバ30の認証情報検証処理部311は、ソフトウェア固有鍵要求情報の検証を行う(
図8のステップS306および
図13のステップS306)。
具体的には、認証情報検証処理部311は、最終認証日時303と、時計部315から取得した現時点の日時から所定の閾値を減算した値とを比較する。そして、認証情報検証処理部311は、時計部315から取得した現時点の日時から所定の閾値を減算した値の方が、最終認証日時303より新しい場合は、認証NGと判定し(
図8および
図13のステップS307→No)、認証NGを示す認証情報無効メッセージを通信端末20に送信する(
図8および
図13のステップS308)。そして、通信端末20のソフトウェア送信部213が、その認証情報無効メッセージを車載端末10に送信して、通信端末20としての処理を終える(
図8および
図13のステップS309)。
【0171】
一方、認証情報検証処理部311は、時計部315から取得した現時点の日時から所定の閾値を減算した値の方が、最終認証日時303より古い場合は、ソフトウェア固有鍵要求情報の(Bb−1)端末識別情報101と、カウンタ管理DB350に格納された(Bb−1)端末識別情報101との組として格納された数値と、(Bb−3)ソフトウェアの識別情報とを、サーバ側端末固有鍵302を用いて暗号処理部314を介して暗号化する。そして、認証情報検証処理部311は、この暗号化した結果が、車載端末10で暗号化された(Bb−4)暗号化情報と一致する場合には、正しい端末固有鍵102を有する車載端末10からの認証要求と判定し、認証をPASS(認証OK)させる(
図8および
図13のステップS307→Yes)。
また、認証情報検証処理部311は、この暗号化した結果が、車載端末10で暗号化された(Bb−4)暗号化情報と一致しない場合には認証NGとし(
図8および
図13のステップS307→No)、ステップS308、S309に進み処理をサーバ30としての処理を終了する。
なお、認証情報検証処理部311は、時計部315から取得した現時点の日時から所定の閾値を減算した値の方が、最終認証日時303より古い場合に、(Bb−4)暗号化情報を、サーバ側端末固有鍵302を用いて暗号処理部314を介して復号して得られる情報と、(Bb−1)端末識別情報101、カウンタ管理DB350に格納された(Bb−1)端末識別情報101との組として格納された数値および(Bb−3)ソフトウェアの識別情報との比較によってソフトウェア固有鍵要求情報の検証を行っても良い。
【0172】
さらに、ソフトウェア固有鍵要求情報の認証処理が認証OKとなりソフトウェア固有鍵認証情報の配信が完了した場合(
図8および
図13のステップS314)には、車載端末10のカウンタ103に格納された数値およびカウンタ管理DB350に格納された(Bb−1)端末識別情報101との組として格納された数値それぞれに1を加算する。
【0173】
以上説明したように、本発明の第7の実施形態によれば、通信端末で保持される端末識別情報(「Ab情報」)は、乱数を含むことで車載端末と通信端末が接続されるたびに異なる値、すなわち、ワンタイム化されることおよびサーバによる閾値を用いた端末識別情報の有効期限管理によって、仮に端末識別情報が不正に取得されたとしても、閾値の期間の経過により不正に取得された端末識別情報を無効とすることができる。
【0174】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。 また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。