(57)【要約】【課題】ライセンス発行装置、或いは、ライセンス検証装置において、セキュリティレベルを下げることなく、ユーザがライセンスを誤入力したり、誤認識したりする可能性を低減する。【解決手段】コンテンツを利用するためのライセンスを発行するライセンス発行装置１００に、ライセンスを発行するためのパラメータの入力を受け付けるパラメータ入力部１０１と、パラメータを一方向性ハッシュ関数に入力してハッシュ値を算出するハッシュ計算部１０３と、所定ビットのビット列の組み合わせ毎に、英数字を対応付けた変換表１０７を記憶する変換表記録部１０６と、変換表１０７を用いて、ハッシュ値を表すビット列の特定部分を英数字の文字列に変換し、その変換した英数字の文字列をライセンスとして出力するライセンス生成部１０４と、を設ける。【選択図】図1
2008017378.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツを利用するためのライセンスを発行するライセンス発行装置であって、
ライセンスを発行するためのパラメータの入力を受け付けるパラメータ入力部と、
前記パラメータを一方向性ハッシュ関数に入力してハッシュ値を算出するハッシュ計算部と、
所定ビットのビット列の組み合わせ毎に、英数字を対応付けた変換表を記憶する記憶部と、
前記変換表を用いて、前記ハッシュ値を表すビット列の特定部分を英数字の文字列に変換し、該変換した英数字の文字列をライセンスとして出力するライセンス生成部と、を備えること
を特徴とするライセンス発行装置。
【請求項２】
請求項１に記載のライセンス発行装置であって、
前記記憶部には、複数種の前記変換表が記憶されていて、
前記ライセンス生成部は、
前記複数種の変換表の中から、文字の種別毎に発生位置の偏りが最も大きくなる前記英数字の文字列に変換する変換表を選択し、該選択した変換表で変換した英数字の文字列を前記ライセンスとして出力すること
を特徴とするライセンス発行装置。
【請求項３】
請求項１に記載のライセンス発行装置であって、
前記記憶部には、複数種の前記変換表が記憶されていて、
前記ライセンス生成部は、
前記記憶している各変換表を用いて変換した前記英数字の文字列毎に、文字の種別毎に発生位置の偏りを示す値を求め、該偏りを示す値を用いて、該発生位置の偏りが最も大きくなる英数字の文字列に変換する変換表を選択し、該選択した変換表で変換した英数字の文字列を前記ライセンスとして出力すること
を特徴とするライセンス発行装置。
【請求項４】
請求項１に記載のライセンス発行装置であって、
前記記憶部には、複数種の前記変換表が記憶されていて、
前記ライセンス生成部は、
文字毎に、所定の重みを対応付けた文字特性情報を保持していて、
前記記憶している各変換表を用いて変換した前記英数字の文字列毎に、前記文字特性情報を用いて、該英数字の文字列の文字毎の重みの総和を求め、該重みの総和が最小となる英数字の文字列に変換する変換表を選択し、該選択した変換表で変換した英数字の文字列を前記ラインセスとして出力すること
を特徴とするライセンス発行装置。
【請求項５】
請求項４に記載のライセンス発行装置であって、
前記文字特性情報は、誤認識を起こし易いと推定される文字に、該推定される文字以外の文字に対応付けられている重みと比べて、大きな値の重みが対応付けていること
を特徴とするライセンス発行装置。
【請求項６】
請求項１から５のいずれか一項に記載のライセンス発行装置であって、
前記ハッシュ値の計算に利用するデータであって、第三者に知られないように管理されているライセンスシードを記憶するシード記録部を有し、
前記ハッシュ計算部は、前記ハッシュ値を算出する際、前記パラメータに加えて、さらに、前記ライセンスシードを一方向性ハッシュ関数に入力すること
を特徴とするライセンス発行装置。
【請求項７】
コンテンツを利用する情報処理端末に接続されていて、該コンテンツを更新するために必要なライセンスを検証するライセンス検証装置であって、
コンテンツを記憶しているコンテンツ記録部と、
前記情報処理端末からパラメータを取得するパラメータ入力部と、
前記パラメータを一方向性ハッシュ関数に入力してハッシュ値を算出するハッシュ計算部と、
所定ビットのビット列の組み合わせ毎に、英数字を対応付けた変換表を記憶する変換表記録部と、
前記変換表を用いて、前記ハッシュ値を表すビット列の特定部分を英数字の文字列に変換して第１ライセンスを生成するライセンス生成部と、
オペレータからの第２ラインセンスの入力を受け付けるライセンス入力部と、
前記生成した第１ライセンスと前記受け付けた第２ライセンスとを比較し、両者が一致した場合に、前記記憶しているコンテンツを前記情報処理端末に書き込むこと
を特徴とするライセンス検証装置。
【請求項８】
請求項７に記載のライセンス検証装置であって、
前記記憶部には、複数種の前記変換表が記憶されていて、
前記ライセンス生成部は、
前記記憶している各変換表で変換した前記英数字の文字列毎に、文字の種別毎に発生位置の偏りを示す値を求め、該偏りを示す値を用いて、該発生位置の偏りが最も大きくなる前記英数字の文字列に変換する変換表を選択し、該選択した変換表で変換した英数字の文字列を前記第１ライセンスとすること
を特徴とするライセンス検証装置。
【請求項９】
請求項７に記載のライセンス検証装置であって、
前記記憶部には、複数種の前記変換表が記憶されていて、
前記ライセンス生成部は、
文字毎に、所定の重みを対応付けた文字特性情報を保持していて、
前記記憶している各変換表で変換した英数字の文字列毎に、前記文字特性情報を用いて、該英数字の文字列の文字毎の重みの総和を求め、該重みの総和が最小となる前記英数字の文字列を変換する変換表を選択し、該選択した変換表で変換した英数字の文字列を前記第１ライセンスとすること
を特徴とするライセンス検証装置。
【請求項１０】
請求項７〜９のいずれか一項に記載のライセンス検証装置であって、
前記ハッシュ値の計算に利用するデータであって、第三者に知られないように管理されているライセンスシードを記憶するシード記録部を有し、
前記ハッシュ計算部は、前記ハッシュ値を算出する際、前記パラメータに加えて、さらに、前記ライセンスシードを一方向性ハッシュ関数に入力すること
を特徴とするライセンス検証装置。
【請求項１１】
コンテンツを利用するためのライセンスを発行するライセンス発行装置が行うライセンス発行方法であって、
ライセンスを発行するためのパラメータの入力を受け付けるステップと、
前記パラメータを一方向性ハッシュ関数に入力してハッシュ値を算出するステップと、
予め記憶している、所定ビットのビット列の組み合わせ毎に、英数字を対応付けた変換表を用いて、前記ハッシュ値を表すビット列の特定部分を英数字の文字列に変換し、該変換した英数字の文字列をライセンスとして出力するステップとを実行すること
を特徴とするラインセンス発行方法。
【請求項１２】
コンテンツを利用するためのライセンスを発行する処理を情報処理装置に実行させるプログラムであって、
前記情報処理装置は、所定ビットのビット列の組み合わせ毎に、英数字を対応付けた変換表を記憶していて、
前記プログラムは、
ライセンスを発行するためのパラメータの入力を受け付けるステップと、
前記パラメータを一方向性ハッシュ関数に入力してハッシュ値を算出するステップと、
前記変換表を用いて、前記ハッシュ値を表すビット列の特定部分を英数字の文字列に変換し、該変換した英数字の文字列をライセンスとして出力するステップとを前記情報処理装置に実行させること
を特徴とするプログラム。
【請求項１３】
コンテンツを利用するためのライセンスを発行するライセンス発行装置であって、
ライセンスを発行するためのパラメータの入力を受け付けるパラメータ入力部と、
前記パラメータを一方向性関数に入力して所定値を算出する計算部と、
所定ビットのビット列の組み合わせ毎に、英数字を対応付けた変換表を記憶する記憶部と、
前記変換表を用いて、前記所定値を表すビット列の特定部分を英数字の文字列に変換し、該変換した英数字の文字列をライセンスとして出力するライセンス生成部と、を備えること
を特徴とするライセンス発行装置。
【請求項１４】
コンテンツを利用する情報処理端末に接続されていて、該コンテンツを更新するために必要なライセンスを検証するライセンス検証装置であって、
コンテンツを記憶しているコンテンツ記録部と、
前記情報処理端末からパラメータを取得するパラメータ入力部と、
前記パラメータを一方向性関数に入力して所定値を算出する計算部と、
所定ビットのビット列の組み合わせ毎に、英数字を対応付けた変換表を記憶する変換表記録部と、
前記変換表を用いて、前記所定値を表すビット列の特定部分を英数字の文字列に変換して第１ライセンスを生成するライセンス生成部と、
オペレータからの第２ラインセンスの入力を受け付けるライセンス入力部と、
前記生成した第１ライセンスと前記受け付けた第２ライセンスとを比較し、両者が一致した場合に、前記記憶しているコンテンツを前記情報処理端末に書き込むこと
を特徴とするライセンス検証装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンテンツの違法利用を防止するための技術に関する。
【背景技術】
【０００２】
カーナビゲーションシステム（以下、「カーナビ」という）は、カーナビ内部に記録している地図データを利用して、目的地までの推奨経路を提示したり、地図上に車両の現在位置を表示したりする。この地図データを記録しておく手段としてＤＶＤやＣＤが利用されている機種が知られている。また、最近では、地図データを記録しておく手段として、ハードディスクドライブ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ、以下「ＨＤＤ」）を採用する製品が主流となりつつある。
【０００３】
ところで、カーナビで利用される地図データは、定期的に最新のものに更新されていることが望ましい。道路や建物は、新たに建設されたり、或いは、撤去されたりするため、古くなった地図データを利用した場合、ユーザを精度高く案内できないことがあるからである。そのために、従来のＤＶＤ型（または、ＣＤ型）のカーナビでは、地図データを記録しているディスクを単純にユーザへ販売し、ユーザが古いディスクと交換することによって、地図データの更新を行っている。一方、ＨＤＤ型のカーナビの場合の更新方法としては、次のようなものがある。
【０００４】
まず、対象機種にＤＶＤドライブがある場合、地図データを記録しているマスターディスクを配布し、これをＤＶＤドライブに挿入してＨＤＤにコピーするという更新方法がある。ＤＶＤドライブが無い機種の場合、ＤＶＤドライブを有する機器とカーナビを接続し（なお、接続するインターフェースがカーナビにあることが前提である）、接続した機器を介してＨＤＤにコピーする方法がある。あるいは、ＳＤカード等の着脱可能な記録媒体をカーナビに挿入して、この記録媒体からＨＤＤにコピーする方法や、カーナビ自体を直接ネットワークに接続して、地図データを配信するサーバから直接データを受信する方法も考えられる。
【０００５】
そして、以上のような更新方法においては、ＨＤＤへの不正なコピーを制限することが必要となる。そこで、このようなＨＤＤを有する端末装置（カーナビ、パーソナルコンピュータ等）においてコンテンツの複製を制限するため、従来から以下の技術が広く実用に供されている。
【０００６】
まず、よくある形態として、コンテンツを端末にコピーする際、ランダムな英数字からなる文字列（一般的にシリアル番号と呼ばれる）の入力を強制し、入力されたシリアル番号が正しい場合に限ってコピーを許可するという方法がある。
しかし、この方法の場合、正しいシリアル番号を１つ入手できれば、同一の番号を用いて複数の端末へ何度もコピーできてしまうという問題がある。
【０００７】
そこで近年では、コンテンツを暗号化して配布する方法がよく用いられる。この方法では、コンテンツを復号するための復号鍵（一般的にライセンスと呼ばれる）は、以下の手順によって端末へ配信される。まず、端末からライセンスを発行する装置（以下、「ライセンス発行装置」と呼ぶ）へ、当該端末固有の情報（ハードウェアＩＤなど）を送信する。これを受信したライセンス発行装置は、受信した端末固有の情報を用いてコンテンツの復号鍵を暗号化し、端末へ送り返す。この種の技術は、近年盛んな音楽データのオンライン配信に利用されている。
【０００８】
上記の「コンテンツを暗号化して配布する方法」に代表されるアプローチの他に、コピー可能な端末装置を特定の一台に制限する技術として、特許文献１に記載の技術がある。この技術は、端末装置とライセンス発行装置の両者に同一の一方向性ハッシュ関数を実装し、以下の手順でライセンスの送受信を行うものである。まず、端末からライセンス発行装置へ、ランダムな文字列と端末装置の公開鍵を送付する。これらを受信したライセンス発行装置は、受信した文字列を一方向性ハッシュ関数に入力した結果（ハッシュ値）を、受信した公開鍵で暗号化して、端末装置へ送り返す。端末側では、ライセンス発行装置と同一の計算を実行してハッシュ値を得るとともに、秘密鍵を用いてライセンス発行装置から受信したデータを復号し、計算したハッシュ値と復号結果が同一であればコピーを許可する。なお、一方向性ハッシュ関数および公開鍵暗号については、非特許文献１に解説がある。
【０００９】
以上の「コンテンツを暗号化して配布する方法」や特許文献１に示される技術によって、コンテンツの無制限な複製を防止することができる。
【００１０】
【特許文献１】特開２００３−１７４４４６号公報
【非特許文献１】「暗号技術入門-秘密の国のアリス」、ソフトバンククリエイティブ：ＩＳＢＮ：４７９７３２２９７７、２００５年
【発明の開示】
【発明が解決しようとする課題】
【００１１】
ところで、上述したように、ＨＤＤ型のカーナビの地図データ更新には、種々の方法がある。しかし、いずれの方法もＨＤＤの書換え処理や更新ライセンスの管理が必要となるため、ＤＶＤ型（またはＣＤ型）のカーナビと比較して、ＩＴ技術に慣れていないユーザにとっては敷居が高い（更新作業が面倒である）。そこで、若年者から高齢者までの幅広い世代のドライバー全てを対象として、地図データの更新サービスを自動車販売ディーラ（以下、「ディーラ」という）において提供することが望まれている。なお、ＩＴ技術が進展しているとはいえ、必ずしも全てのディーラがＩＰ通信回線を保有しているとは限らない。そこで、既にほぼ全ディーラに存在するＦＡＸを用いて更新ライセンスを通知する手段が現実的な手法として考えられる。
【００１２】
しかしながら、ＦＡＸを用いてライセンスを送受信する方法は、以下の問題を有している。具体的には、ＦＡＸの伝送品質の問題等に起因する人間の操作ミス（文字の誤認識・記入ミス）により、誤ったライセンスがディーラに通知され得るという問題がある。例えば、上述した「コンテンツを暗号化して配布する方法」および特許文献１は、ライセンスを暗号化して送付することを想定したものである。この場合、仮に１２８ビット共通鍵で暗号化した場合は、通知する情報（暗号化ライセンス）も最小で１２８ビットとなり、１文字６ビット（これはＢａｓｅ６４エンコーディングに相当する）としても２２文字の入力が必要となる。一般的に人間は長い桁数の文字を入力すればそれだけ間違いも起こり易くなる。
【００１３】
また、入力する文字数を減らして、鍵長も短くすれば、入力間違いを起こる可能性を低減できるが、暗号の強度を低下させてしまう。また、上述した「コンテンツを暗号化して配布する方法」や特許文献１は、ライセンスをコンピュータが解釈するビット列で送信することを想定したものであるが、これをＦＡＸで送受信するためにはビット列を人間が可読な英数字に変換する必要がある。この際、英数字の中には例えばＯ（英字のオー）と０（ゼロ）など形状が似ているものがあり、単純に変換するだけでは人間の誤認識が発生し易い。
【００１４】
本発明は、上記事情に鑑みてなされたものであり、本発明の目的は、ネットワークに接続されていない環境で利用されるライセンス発行装置、或いは、ライセンス検証装置において、セキュリティレベルを下げることなく、ユーザがライセンスを誤入力したり、誤認識したりする可能性を低減することにある。
【課題を解決するための手段】
【００１５】
上記課題を解決するため、本発明の第１の態様は、コンテンツを利用するためのライセンスを発行するライセンス発行装置に適用される。
【００１６】
そして、前記ライセンス発行装置は、ライセンスを発行するためのパラメータの入力を受け付けるパラメータ入力部と、前記パラメータを一方向性ハッシュ関数に入力してハッシュ値を算出するハッシュ計算部と、所定ビットのビット列の組み合わせ毎に、英数字を対応付けた変換表を記憶する記憶部と、前記変換表を用いて、前記ハッシュ値を表すビット列の特定部分を英数字の文字列に変換し、該変換した英数字の文字列をライセンスとして出力するライセンス生成部と、を備える。
【００１７】
また、前記記憶部には、複数種の前記変換表が記憶されていて、前記ライセンス生成部は、前記複数種の変換表の中から、文字の種別毎に発生位置の偏りが最も大きくなる前記英数字の文字列に変換する変換表を選択し、該選択した変換表で変換した英数字の文字列を前記ライセンスとして出力することとしてもよい。
【００１８】
また、上記課題を解決するため、本発明の第２の態様は、コンテンツを利用する情報処理端末に接続されていて、該コンテンツを更新するために必要なライセンスを検証するライセンス検証装置に適用される。
【００１９】
そして、前記ライセンス検証装置は、コンテンツを記憶しているコンテンツ記録部と、前記情報処理端末からパラメータを取得するパラメータ入力部と、前記パラメータを一方向性ハッシュ関数に入力してハッシュ値を算出するハッシュ計算部と、所定ビットのビット列の組み合わせ毎に、英数字を対応付けた変換表を記憶する変換表記録部と、前記変換表を用いて、前記ハッシュ値を表すビット列の特定部分を英数字の文字列に変換して第１ライセンスを生成するライセンス生成部と、オペレータからの第２ラインセンスの入力を受け付けるライセンス入力部と、前記生成した第１ライセンスと前記受け付けた第２ライセンスとを比較し、両者が一致した場合に、前記記憶しているコンテンツを前記情報処理端末に書き込む。
【００２０】
また、前記記憶部には、複数種の前記変換表が記憶されていて、前記ライセンス生成部は、前記記憶している各変換表で変換した前記英数字の文字列毎に、文字の種別毎に発生位置の偏りを示す値を求め、該偏りを示す値を用いて、該発生位置の偏りが最も大きくなる前記英数字の文字列に変換する変換表を選択し、該選択した変換表で変換した英数字の文字列を前記第１ライセンスとすることとしてもよい。
【００２１】
なお、上記では、パラメータを一方向性ハッシュ関数に入力しているが、ハッシュ関数に限らず、不可逆な一方向性関数であればよい。
【発明の効果】
【００２２】
このように本発明では、ハッシュ値を算出し、その算出したハッシュ値を表すビット列の特定部分から英数字の文字列に変換してライセンスを生成するようにしているため、ライセンスのセキュリティレベルを下げることなく桁数を削減できる。その結果、ユーザがライセンスを誤入力したり、誤認識する可能性を低減することができる。
【００２３】
また、複数種の変換表を記憶しておいて、文字の種別毎に発生位置の偏りが最も大きくなる英数字の文字列を変換する変換表を選択し、その選択した変換表で変換した英数字の文字列をライセンスとしているため、ユーザが誤認識する可能性が低いライセンスを生成することがきる。これは、英文字と数字が混在していると誤認識する可能性が高くなると考えられるためである。
【００２４】
したがって、本発明を利用すれば、例えば、ＦＡＸを用いてライセンスを送受信する際の人間による伝送誤りを削減することができる。
【発明を実施するための最良の形態】
【００２５】
以下、本発明の実施形態について図面を用いて説明する。
【００２６】
本実施形態は、自動車販売ディーラ（ディーラ）における、カーナビゲーションシステム（カーナビ）の地図データ更新システムを想定したものである。
【００２７】
先ず、本実施形態の地図データ更新システムの概略を図１３に示す。
【００２８】
図１３は、本発明が適用された一実施形態の概略構成図である。
【００２９】
図示するように、地図データ更新システムは、自動車メーカー、カーナビメーカー、地図制作会社、地図データ販売会社の企業等（以下、便宜上、単に「メーカー」という）に設置されるライセンス発行装置１００と、ディーラに設置されるライセンス検証装置２００とを備える。ライセンス発行装置１００は、ライセンスを発行する対象の情報処理端末３００に対応付けられたパラメータ（パラメータについては後述する）の入力を受け付け、その受け付けたパラメータを用いてライセンスを生成して出力する。メーカーのオペレータは、出力されたライセンスを、ファクシミリ装置を利用して、ディーラに送信する。なお、本実施形態では、ライセンス発行装置１００が英数字１０文字からなるライセンスを発行する場合を例にする。
【００３０】
ディーラの従業員等（オペレータ）は、ファクシミリ装置を介して、メーカーから送信されたライセンスを受け取る。オペレータは、ライセンス検証装置２００と情報処理端末（本実施形態ではカーナビを想定）３００とを通信可能な状態にする。例えば、ラインセンス検証装置２００と情報処理端末３００とを通信線４００で接続する。オペレータは、ファクシミリ装置で受信したライセンスをライセンス検証装置２００に入力する。また、ライセンス検証装置２００は、情報処理端末３００からパラメータを取得して、そのパラメータを用いてライセンスを生成する。ライセンス検証装置２００は、オペレータが入力したライセンスと、ライセンス検証装置２００が生成したライセンスとを用いて、入力されたライセンスの認証を行ない、認証されると、ライセンス検証装置２００に記録されている地図データを情報処理端末（カーナビ）３００へ書き込む。
【００３１】
なお、上記では、ライセンス検証装置２００と情報処理端末３００とを通信線４００で接続して通信可能な状態にしているが、特にこれに限定するものではない。ライセンス検証装置２００と情報処理端末３００とが無線により通信できるように構成されていてもよい。
【００３２】
続いて、地図データ更新システムの具体的な構成について説明する。
【００３３】
先ず、本実施形態のライセンス発行装置の機能構成を図１に示す。
【００３４】
図１は、本発明の実施形態のライセンス発行装置の機能ブロック図である。
【００３５】
図示するように、ライセンス発行装置１００は、パラメータ入力部１０１、シード記録部１０２、ハッシュ計算部１０３、ライセンス生成部１０４、変換表選択部１０５、変換表記録部１０６、およびライセンス表示部１０８を有する。なお、ライセンス発行装置１００には、オペレータからの入力を受け付けるためのキーボード等の入力装置（図示しない）と、操作ガイド画面や出力画面を表示する液晶ディスプレイ等の表示装置（図示しない）とが接続されているものとする。
【００３６】
パラメータ入力部１０１は、入力装置を介して、ライセンスを発行する対象の情報処理端末３００に対応付けられたパラメータの入力を受け付ける。なお、パラメータ入力部１０１は、パラメータの入力を受け付ける際に、表示装置に操作画面（例えば、図３に示す画面１２０）を表示する。なお、本実施形態では、パラメータとして、ライセンスを発行する情報処理端末３００固有の端末ＩＤと、情報処理端末３００が利用しているコンテンツを識別するコンテンツＩＤとを用いる場合を例にして説明する。
【００３７】
シード記録部１０２は、ライセンスを発行する際に用いるライセンスシード（第三者に知られてないように管理されている秘密情報）を格納する。
【００３８】
ハッシュ計算部１０３は、パラメータ入力部１０１が受け付けたパラメータ、およびシード記録部１０２に記録されているライセンスシードを入力として一方向ハッシュ計算を行う。ライセンス生成部１０４は、計算されたハッシュ値を用いて英数字からなるライセンスを生成する。
【００３９】
変換表記録部１０６は、ライセンス生成部１０４がハッシュ値を英数字に変換する際に用いる変換表１０７を記憶する。本実施形態では、変換表記録部１０６には、複数種の変換表１０７が記憶されている。変換表選択部１０５は、変換表記録部１０６に記憶されている複数の変換表の中から適切な１つの変換表１０７を選択する。
【００４０】
ライセンス表示部１０８は、ライセンス生成部１０４が生成したライセンスを表示する。具体的には、ライセンス表示部１０８は、表示装置にライセンスを示す画面を表示する。
【００４１】
なお、上述したライセンス発行装置１００の各機能部は、ソフトウェアにより実現されてもいいし、各機能部を実行するために専用に設計された回路（ＡＳＩＣ（Application Specific Integrated Circuit）等）により実現されてもよい。
【００４２】
例えば、ライセンス発行装置１００をソフトウェアにより実現する場合、ライセンス発行装置１００には、ＣＰＵ（Central Processing Unit）、メモリ、Ｉ／Ｏインタフェースを有するコンピュータ（情報処理装置）を用いることができる。この場合、メモリに、パラメータ入力部１０１、ハッシュ計算部１０３、ライセンス生成部１０４、変換表選択部１０５、ラインセンス表示部１０８の機能を実現するためのプログラムを記憶させておく。そして、パラメータ入力部１０１、ハッシュ計算部１０３、ライセンス生成部１０４、変換表選択部１０５、およびラインセンス表示部１０８の機能は、ＣＰＵがメモリに記憶されている上記のプログラムを実行することにより実現される。また、シード記録部１０２および変換表記録部１０６は、メモリの所定の領域に形成される。
【００４３】
つぎに、本実施形態のライセンス検証装置２００および情報処理端末３００の機能構成を説明する。
【００４４】
図２は、本発明の実施形態のライセンス検証装置および情報処理端末３００の機能ブロック図である。
【００４５】
情報処理端末３００は、情報処理端末固有の情報を記憶する固有情報記録部３０１と、コンテンツ記録部３０２とを備える。情報処理端末固有の情報とは、情報処理端末に与えられている「端末ＩＤ」をいう。コンテンツ記録部３０２には、情報処理端末３００が利用するコンテンツ（ここでは、地図データ）と、そのコンテンツを識別する「コンテンツＩＤ」とが記憶されている。
【００４６】
また、情報処理端末３００には、固有情報記録部３０１およびコンテンツ記録部３０２に加え、カーナビの機能を実現する機能部（現在位置検出部、推奨経路探索部、経路案内部等）を備えている。なお、上記のカーナビの機能を実現する機能部は、既存の技術により実現されるものである。そのため、本実施形態の説明では、情報処理端末３００のカーナビの機能の説明は省略する。
【００４７】
ライセンス検証装置２００は、ライセンス入力部２０１、シード記録部２０２、ハッシュ計算部２０３、ライセンス生成部２０４、変換表選択部２０５、変換表記録部２０６、ライセンス比較部２０８、ファイル操作部２０９、およびコンテンツ記録部２１０を有する。
【００４８】
ここで、ライセンス検証装置２００には、オペレータからの入力を受け付けるためのキーボード等の入力装置（図示しない）と、操作ガイド画面や出力画面を表示する液晶ディスプレイ等の表示装置（図示しない）とが接続されているものとする。
【００４９】
ライセンス入力部２０１は、入力装置（図示しない）を介して、ライセンスの入力を受け付ける。具体的には、ディーラのオペレータは、ライセンス入力部２０１に、ファクシミリ装置により受信したラインセンスを入力する。ライセンス入力部２０１は、オペレータが入力したライセンスを受け付ける。
【００５０】
シード記録部２０２は、上述したラインセンス発行装置１００のシード記録部１０２と同様のライセンスシードを格納する。
【００５１】
ハッシュ計算部２０３は、情報処理端末３００から取得した「端末ＩＤ」および「コンテンツＩＤ」と、シード記録部２０２に記憶されている「ライセンスシード」とを入力として一方向ハッシュ計算を行う。
【００５２】
具体的には、ハッシュ計算部２０３は、情報処理端末３００にアクセスし、固有情報記録部３０１に記憶されている「端末ＩＤ」を読み出す。また、ハッシュ計算部２０３は、ファイル操作部２０９を介して、コンテンツ記録部３０２に記憶されている「コンテンツＩＤ」を取得する。また、ハッシュ計算部２０３は、シード記録部２０２に記憶されている「ライセンスシード」を読み出す。そして、ハッシュ計算部２０３は、「端末ＩＤ」、「コンテンツＩＤ」、および「ライセンスシード」を入力として一方向ハッシュ計算を行う。
【００５３】
ライセンス生成部２０４は、上述したライセンス発行装置１００のライセンス生成部１０４と同様の手順により、ハッシュ計算部２０３が算出したハッシュ値と、変換表選択部１０５が選択した変換表を用いてライセンスを生成する。
【００５４】
変換表選択部２０５は、上述したライセンス発行装置１００の変換表選択部２０５と同様の処理を行う。また、変換表記録部２０６は、上述したライセンス発行装置１００の変換表記録部１０６が記憶している変換表１０７と同じ変換表２０７を記憶している。
【００５５】
ライセンス比較部２０８は、ライセンス入力部２０１が受け付けたライセンスと、ライセンス生成部２０４が生成したライセンスとを比較する。比較の結果、両者が同じ場合、ライセンス入力部２０１が受け付けたライセンスを正当なものと認定し、その旨をファイル操作部２０９に通知する。一方、ライセンス比較部２０８は、比較の結果、両者が異なれば、表示装置（図示しない）に、エラー表示を行う。
【００５６】
コンテンツ記録部２１０は、情報処理端末３００が利用しているコンテンツ（ここでは地図データ）の最新バージョンのコンテンツを記憶している。
【００５７】
ファイル操作部２０９は、ハッシュ計算部２０３からの要求にしたがい、情報処理端末３００のコンテンツ記録部３０２にアクセスし、コンテンツ記録部３０２に記憶されているコンテンツＩＤを読み出す。また、ファイル操作部２０９は、ライセンス比較部２０８から「認証した旨」の通知を受け付けると、コンテンツ記録部３０２に記憶されているコンテンツの更新を行う。具体的には、ファイル操作部２０９は、コンテンツ記録部２１０に記憶されてコンテンツ（最新の地図データ）を読み出し、情報処理端末３００のコンテンツ記録部３０２の地図データを更新する。
【００５８】
なお、上述したライセンス検証装置２００の各機能部は、ソフトウェアにより実現されてもいいし、各機能部を実行するために専用に設計された回路（ＡＳＩＣ（Application Specific Integrated Circuit）等）により実現されてもよい。
【００５９】
例えば、ライセンス検証装置２００をソフトウェアにより実現する場合、ライセンス検証装置２００には、ＣＰＵ（Central Processing Unit）、メモリ、Ｉ／Ｏインタフェースを有するコンピュータを用いることができる。この場合、メモリに、ライセンス入力部２０１、ハッシュ計算部２０３、ライセンス生成部２０４、変換表選択部２０５、ライセンス比較部２０８、およびファイル操作部２０９の機能を実現するためのプログラムを記憶させておく。そして、ライセンス入力部２０１、ハッシュ計算部２０３、ライセンス生成部２０４、変換表選択部２０５、ライセンス比較部２０８、およびファイル操作部２０９の機能は、ＣＰＵがメモリに記憶されている上記のプログラムを実行することにより実現される。また、シード記録部２０２、変換表記録部２０６、コンテンツ記録部２１０は、メモリの所定の領域に形成される。
【００６０】
続いて、コンテンツ更新処理の流れについて説明する。
【００６１】
ライセンス発行装置１００は、オペレータからのライセンス発行の要求を受け付ける。具体的には、パラメータ入力部１０１は、図３に示すライセンス発行画面１２０を表示し、オペレータからのライセンス発行要求を受け付ける。
【００６２】
図３は、本実施形態のライセンス発行画面の一例を示した図である。
【００６３】
図示するように、ライセンス発行画面１２０は、コンテンツを書き込む情報処理端末３００の「端末ＩＤ」を入力する入力欄１２１と、書き込むコンテンツの「コンテンツＩＤ」を入力する入力欄１２２と、ライセンスの発行処理の開始を受け付けるためのボタン１２３と、作成したライセンスを出力する出力欄１２４とを備える。オペレータは、入力装置（図示しない）を利用して、ライセンス発行画面１２０上の入力欄１２１、１２２に、それぞれ、「端末ＩＤ」、「コンテンツＩＤ」を入力する。また、オペレータは、入力装置（図示しない）を操作して、ライセンス発行画面１２０のボタン１２３を押下する（画面上のカーソル等でボタン１２３を選択する）。パラメータ入力部１０１は、ライセンス発行画面１２０のボタン１２３を押下されると、入力された「端末ＩＤ」および「コンテンツＩＤ」をハッシュ計算部１０３に出力する。その後、図４に示すライセンス発行処理が開始される。
【００６４】
図４は、本実施形態のライセンス発行処理のフローチャートである。
【００６５】
先ず、ハッシュ計算部１０３は、パラメータ取得処理を行う（Ｓ１１１）。具体的には、ハッシュ計算部１０３は、パラメータ入力部１０１からパラメータ（「端末ＩＤ」および「コンテンツＩＤ」）を取得する。
【００６６】
つぎに、ハッシュ計算部１０３は、シード記録部１０２にアクセスし、シード記録部１０２に記録されているライセンスシードを取得する（Ｓ１１２）。なお、ライセンスシードは、どのような値であっても構わないが、セキュリティレベル確保のため十分に長いビット長とすべきである。
【００６７】
つぎに、ハッシュ計算部１０３は、Ｓ１１１およびＳ１１２で取得した情報を一方向性ハッシュ関数に入力してハッシュ値を求める（Ｓ１１３）。ここで一方向性ハッシュ関数はどのような関数でも良いが、以降の説明では、出力されるハッシュ値が１６０ビットであるものとして説明する。なお、１６０ビットの出力を行うハッシュ関数には、例えば米国標準技術局が政府標準ハッシュ関数として採用しているＳＨＡ−１（Secure Hash Algorithm 1）を用いることができる。また、上記では、パラメータを一方向性ハッシュ関数に入力しているが、ハッシュ関数に限らず、不可逆な一方向性関数であればよい。
【００６８】
つぎに、ラインセンス生成部１０４および変換表選択部１０５により、ライセンスを生成する処理が行われる（Ｓ１１４）。具体的には、変換表記録部１０６の中にある複数の変換表１０７の中から、最適な変換表１０７を選択して、その選択した変換表１０７を用いて、ハッシュ計算部１０３が算出したハッシュ値を英数字に変換してライセンスを生成する。このライセンスを生成する処理については後段で詳細に説明する。
【００６９】
最後に、ライセンス表示部１０８は、上記の生成されたライセンスを画面１２０上の出力欄１２４（図３参照）に表示する（Ｓ１１５）。なお、本実施形態は生成されたライセンスを画面に表示するが、これは例示に過ぎない。例えば、ライセンス発行装置１００にプリンタを接続して、そのプリンタを用いて紙媒体にライセンスを出力するようにしてもよい。
【００７０】
続いて、図４のＳ１１４におけるライセンス生成処理について具体的に説明する。
【００７１】
先ず、ライセンス生成処理に利用する変換表を図５に示して説明する。
【００７２】
図５は、本実施形態のライセンス生成処理に利用する変換表のデータ構造を模擬的に示した図である。
【００７３】
変換表１０７は、２進数で表した６ビットのビット列を英数１文字に変換するためのテーブルである。図５では、上位３ビットの組合せ１６１と、下位３ビットの組合せ１６２とを軸として示した６ビットのビット列を英数１文字に変換する変換表の例を示している。なお、図示する例では、複数の変換表１０７ａ〜ｎのうちの１の変換表１０７ａだけを示している。また、本実施形態では、英数字とは、英字（アルファベット）および数字のことをいう。そして、アルファベットとして、「Ａ〜Ｚ」の２６種類の大文字と、「ａ〜ｚ」の２６種類の小文字とを用いる。数字は、「０〜９」の１０種類の数字を利用する。
【００７４】
図示する、変換表１０７ａでは、６bitのビット列「００００００」が、英字の「Ａ」に対応付けられている。この例にしたがえば、６bitのビット列「００００００」は、英字の「Ａ」に変換される。また、６bitのビット列「１１１０００」が、数字の「４」に対応付けられている。この例にしたがえば、６bitのビット列「１１１０００」は、数字の「４」に変換される。なお、ビット「１１１１１０」および「１１１１１１」には割り当て可能な英数字が存在しないが、これらの値はそれぞれ「００００００」、「０００００１」として扱えば良い。
【００７５】
つぎに、図４のＳ１１４におけるライセンス生成処理について具体的に説明する。
【００７６】
図６は、図４に示したＳ１１４のライセンス生成処理の詳細を示したフローチャートである。なお、変換表記録部１０６には、Ｍ個（Ｍは、整数）の変換表１０７が記憶されているものとする。そして、変換表１０７には、「０」番から「Ｍ−１番」までの「番号ｉ（０≦ｉ≦Ｍ−１：ｉは整数の変数）」が付与されている。すなわち、変換表１０７に付与された番号ｉにより変換表１０７を特定できる。
【００７７】
また、以下の説明において、「ｈ」は、図４のＳ１１３で計算された１６０ビットのハッシュ値を示す。「ｋ」、「ｗ」、「ｍｉｎ」は、整数の変数を示す。「ｓｔｒ」、「ｋｅｙ」は、文字列の配列を示す。「ＴＡＢＬＥ」は、変換表１０７を格納する配列を示している。また、「ｆ（）」は、ハッシュ値と変換表１０７から文字列を生成する関数、「ｇ（）」は、指定された文字列の重み（重みについては後述する）を計算する関数を示している。
【００７８】
以下、図示する各々のステップの処理について説明する。
【００７９】
まず、Ｓ１３１では、変換表選択部１０５は、変数の初期化を行う。具体的には、変換表選択部１０５は、変換表１０７の番号ｉ、および最適な変換表１０７の番号を示す変数「ｋ（０≦ｋ≦Ｍ）」」を「０」に初期化する。また、英数文字列の重みの最小値を示す「ｍｉｎ」を「ＭＡＸ_ＩＮＴ（整数の最大値）」とする。
【００８０】
つぎに、変換表選択部１０５は、変換表記録部１０６に記憶されている複数の変換表１０７の中の番号ｉの変換表１０７をライセンス生成部１０４に出力する。ライセンス生成部１０４は、図４のＳ１１３で計算された「１６０ビットのハッシュ値（ｈ）」と、変換表選択部１０５からの番号ｉの変換表１０７とを以下の（式１）に代入して、「１６０ビットのハッシュ値（ｈ）」を「１０文字の英数字の文字列（ｓｔｒ[ｉ]）」に変換する（Ｓ１３２）。なお、ハッシュ値を英数文字列に変換する変換処理は、後述する図７で説明する。
ｓｔｒ[ｉ]＝ｆ（ｈ, ＴＡＢＬ[ｉ]）…（式１）
つぎに、変換表選択部１０５が、Ｓ１３２で生成された英数字文字列（ｓｔｒ[ｉ]）に対する重み付け計算処理を行う（Ｓ１３３）。具体的には、Ｓ１３３で生成された英数字文字列（ｓｔｒ[ｉ]）を以下の（式２）に代入して、重み（ｗ）を求める。なお、この重み付け計算処理は、後述する図８で説明する。
ｗ＝ｇ（ｓｔｒ[ｉ]）…（式２）
つぎに、変換表選択部１０５は、Ｓ１３４で求めた重み（ｗ）と、英数文字列の重みの最小値を示す「ｍｉｎ」とを比較する（Ｓ１３４）。そして、Ｓ１３４で求めた重み（ｗ）が英数文字列の重みの最小値を示す「ｍｉｎ」未満であればＳ１３５に進む。一方、Ｓ１３４で求めた重み（ｗ）が英数文字列の重みの最小値を示す「ｍｉｎ」未満でなければ、すなわち、重み（ｗ）の方が大きければ、Ｓ１３６に進む。
【００８１】
なお、Ｓ１３４の処理は、Ｍ回行われることになるが、Ｓ１３１の初期化処理の後に、最初に行われるＳ１３４の処理では、「ｗ＜ｍｉｎ」となり、Ｓ１３５の処理に遷移する。すなわち、「ｉ」が「０」の番号の変換表１０７を利用して変換された英数字文字列（ｓｔｒ[０]）から求めた重み（ｗ＝ｇ（ｓｔｒ[０]））と、最小値を示す「ｍｉｎ」とを比較する場合、「ｗ＜ｍｉｎ」となる。これは、Ｓ１３１の初期化処理において、「ｍｉｎ」を「ＭＡＸ_ＩＮＴ（整数の最大値）」としているためである。
【００８２】
Ｓ１３５では、変換表選択部１０５は、ライセンスの生成に利用する最適な変換表１０７の番号を特定する変数「ｋ」を「ｉ」とすると共に、「ｍｉｎ」を「ｗ」とする（「ｋ」＝「ｉ」、「ｍｉｎ」＝「ｗ」とする）。すなわち、ライセンスの生成に用いる変換表１０７を特定する番号「ｋ」を、Ｓ１３４で「ｗ＜ｍｉｎ」と判定された重み（ｗ）の英数文字列（ｓｔｒ[ｉ]）の変換に利用した変換表１０７の番号「ｉ」とする。
【００８３】
Ｓ１３６では、変換表選択部１０５は、「ｉ」をインクリメントして（「ｉ」に「１」を加算して）、Ｓ１３７に進む。
【００８４】
Ｓ１３７では、変換表選択部１０５は、「ｉ」が「Ｍ」未満であるか否かを判定して、「ｉ」が「Ｍ」未満であればＳ１３２の処理に戻る。変換表選択部１０５は、「ｉ」が「Ｍ」未満でなければ、複数の変換表１０７の中から「ｋ」番の変換表１０７を最適な変換表として選択して、Ｓ１３８の処理に遷移する。
【００８５】
Ｓ１３８では、ライセンス生成部１０４が、Ｓ１３７で選択された「ｋ」番の変換表１０７を利用し、上述した（式１）により、英数文字列（ｓｔｒ[ｋ]）を求め、その求めた英数文字列（ｓｔｒ[ｋ]）をライセンス（ｋｅｙ）として処理を終了する。
【００８６】
つぎに、図６のＳ１３２で行われるハッシュ値から英数文字列に変換する処理について図７を用いて説明する。
【００８７】
図７は、図６のＳ１３２の、ハッシュ値を英数文字列に変換する処理の説明図を示したものである。
【００８８】
図示するように、ハッシュ値１４１は、１６０ビットのビット列で表した情報である。ライセンス生成部１０４は、１６０ビットのハッシュ値１４１の中の上位６０ビットのビット列のデータを１０文字の英数文字列に変換する。本実施形態では、上位から６１ビット目以降の情報は切り捨てる。
【００８９】
具体的には、ライセンス生成部１０４は、１０個の変換部１４２を有する。変換部１４２は、各々、変換表１０７を用いて、６ビットの情報を英数字１文字に変換する。そして、１０個の変換部１４２の出力を結合することにより、１０桁の英数文字列が生成される。なお、図７は、説明の便宜上用いた図であり、特にこの構成に限定されるものではない。例えば、ライセンス生成部１０４がハードウエアロジックにより実現される場合であっても、必ずしも変換部１４２をハードウェア装置として１０個持つ構成に限定されるものではない。
【００９０】
さらに、図示する例では、１０個の変換部１４２により上位６０ビットのデータを１０文字の英数文字列に変換するようにしているが特にこれに限定するものではない。変換部１４２の数を変えてもよい。例えば、１個の変換部１４２により、上位６０ビットのデータを１０文字の英数文字列に変換するようにしてもよい。この場合は、変換部１４２が、上位から順番に６ビット毎にビット列を１文字の英数文字列に変換していき、それを１０回行えばよい。
【００９１】
つぎに、図６のＳ１３３で行われる、変換した英数文字列の重みを計算する処理について図８を用いて説明する。
【００９２】
図８は、図６のＳ１３３の英数文字列の重みを計算する処理のフローチャートである。
【００９３】
ここで、「ｓｔｒ」は、図６のＳ１３２による変換結果の英数文字列（図７の出力１４３の英数文字列）を示している。また、「ｊ」は、英数文字列の上位から数えた順番を示している整数の変数である。「ｗ」は、重みを示す整数の変数を示している。「Ｎ」は、英数文字列の桁数（本実施例では１０桁）を示している。以下、図示する各々のステップの処理について説明する。
【００９４】
まず、変換表選択部１０５は、Ｓ１５１において、変数を初期化する。具体的には、「ｊ」を「０」に初期化し、「ｗ」を「０」に初期化する。
【００９５】
Ｓ１５２からＳ１５６では、変換表選択部１０５は、与えられた英数文字列を先頭から走査し、英字である場合は先頭（＝０）からの距離（桁数）を重みｗに足し、数字である場合には末尾（＝英数文字列の長さ）からの距離（桁数）を重みｗに足す。
【００９６】
具体的には、Ｓ１５１の後、変換表選択部１０５は、英数文字列（ｓｔｒ）の先頭の文字（ｓｔｒ[０]）が英文字であるか否かを判定し、英文字であればＳ１５３に進み、英文字でなければＳ１５４に進む（Ｓ１５２）。
【００９７】
Ｓ１５３では、変換表選択部１０５は、下記（式３）を用いて、重み「ｗ」を算出する。例えば、「ｗ」および「ｊ」が「０」であれば、「ｗ」は、「０」となる。
ｗ＝ｗ＋ｊ…（式３）
Ｓ１５４では、変換表選択部１０５は、下記（式４）を用いて、重み「ｗ」を算出する。例えば、「ｗ」および「ｊ」が「０」であれば、「Ｎ」が「１０」であるため、「ｗ」は、「９」となる。
ｗ＝ｗ＋（Ｎ-ｊ-１）…（式４）
Ｓ１５５では、変換表選択部１０５は、「ｊ」をインクリメントする。Ｓ１５６において、「ｊ」が「Ｎ」未満であればＳ１５２の処理に戻る。すなわち、変換表選択部１０５は、英数文字列を先頭（０）から順次走査して、重み付け行う。この処理の結果、英字が文字列の先頭付近、数字が文字列の末尾付近に偏っている文字列ほど「ｗ」が小さくなる。
【００９８】
そして、上述の重み付け処理が含まれるＳ１３２〜Ｓ１３７（図６参照）を繰返すことにより、英字が文字列の先頭付近、数字が文字列の末尾付近に偏っている英数文字列に変換する変換表１０７が選択されることとなる。そして、その選択した変換表１０７により変換した英数文字列をライセンスとすることにより、英字が文字列の先頭付近、数字が文字列の末尾付近に偏っている英数文字列のライセンスを生成することができる。
【００９９】
このように、英字が文字列の先頭付近、数字が文字列の末尾付近に偏っている英数文字列のライセンスを生成するのは、以下の理由による。すなわち、紙媒体等に印刷された英数文字列（或いは、画面上に表示している英数文字列）を人間が視覚で認識する場合、英文字と数字が混在していると誤認識する可能性が高くなると考えられる。例えば、数字の「ゼロ」と、英字の「オー」とは、似ているため紛らわしい。本実施形態では、英字が文字列の先頭付近、数字が文字列の末尾付近に偏っているライセンスを生成できるため、文字の位置により、数字か英文字かの判断することができ、誤認識する可能性を低減できると考えられる。
【０１００】
また、ライセンスをキーボード等に入力する際も、英字と数字とが混在していると誤入力する可能性が高くなると考えられる。本実施形態では、英字が文字列の先頭付近、数字が文字列の末尾付近に偏っているライセンスを生成できるため、ライセンスを誤入力する可能性を低減できると考えられる。
【０１０１】
なお、図８に示した英数文字列の重みを計算する処理は、あくまでも例示であり、特にこれに限定するものではない。
【０１０２】
例えば、英字が文字列の末尾付近、数字が文字列の先頭付近に偏っている英数文字列に変換する変換表１０７が選択されるような重み付けを行うようにしてもよい。この場合、Ｓ１５２〜Ｓ１５４の処理において、英字である場合に末尾からの距離（桁数）を重みｗに足して、数字である場合に先頭（＝０）からの距離（桁数）を重みｗに足すようにすればよい。
【０１０３】
また、例えば、英数文字列の重みを計算する処理について、図８で示した処理に代えて、以下の手順による処理を行うようにしてもよい。具体的には、図８の処理ではなく、あらかじめ設定された文字毎の重みの総和を最小とする変換表を選択する処理を行うようにしてもよい。以下、重み付け処理の他の例について図９および図１０を用いて説明する。
【０１０４】
図９は、図６のＳ１３３の重みを計算する処理について、図８とは異なる実現方法を示したものである。図１０は、図９に示す重み付け処理に利用するテーブルの一例を示した図である。
【０１０５】
図９に示す重み付けを計算する処理は、図８におけるＳ１５２からＳ１５４の処理をステップＳ１６０に置き換えたものである。以下では、図８の処理と異なる部分を中心に説明する。
【０１０６】
Ｓ１６０では、文字毎の重みを返す関数ｈ（ｘ）の「戻り値」を「重みｗ」に加算している。具体的には、変換表選択部１０５に、図１０に示す、英数文字毎に、重みを示す「戻り値」を対応付けたテーブル１０００を保持させておく。
【０１０７】
テーブル１０００では、誤認識が起こりやすいと考えられる文字の「戻り値」を、それ以外の文字の「戻り値」に比べて大きくするようにしている。図示する例では、誤認識が起こりやすい文字である「Ｏ（オー）」および「０（ゼロ）」の「戻り値」を、それ以外の文字（「Ｏ（オー）」および「０（ゼロ）」以外の文字）の「戻り値」より大きくしている。
【０１０８】
そして、Ｓ１６０において、変換表選択部１０５は、テーブル１０００を利用して英数文字列（ｓｔｒ）の重み付け計算を行う。例えば、変換表選択部１０５は、英数文字列（ｓｔｒ）の先頭からｉ番目の文字が「Ｏ（オー）」の場合、「重みｗ」に「戻り値５」を加算する。また、英数文字列（ｓｔｒ）の先頭からｉ番目の文字が「Ａ」の場合、「重みｗ」に「戻り値０」を加算する。その結果、誤認識が起こりやすいと考えられる文字（上記では、「Ｏ（オー）」および「０（ゼロ）」）が含まれる英数文字列の「重みｗ」は、誤認識が起こりやすいと考えられる文字を含まない英数文字列の「重みｗ」より大きな値となる。
【０１０９】
そして、上述の重み付け処理が含まれるＳ１３２〜Ｓ１３７（図６参照）を繰返すことにより、誤認識が起こりやすいと考えられる文字が含まれない英数文字列に変換する変換表１０７が選択されることとなる。その選択した変換表１０７により変換した文字列をライセンスとすることにより、誤認識が起こりやすいと考えられる文字が含まれない英数文字列のライセンスを生成することができる。
【０１１０】
なお、上記では、誤認識が起こりやすいと考えられる文字として、「Ｏ（オー）」および「０（ゼロ）」を挙げたがこれは例示に過ぎない。例えば、小文字の英字「ｌ（エル）」と、数字「１（イチ）」とを誤認識が起こりやすい文字として、上述した「Ｏ（オー）」および「０（ゼロ）」と同じような重み付け処理をしてもよい。
【０１１１】
続いて、ラインセンス検証装置２００におけるライセンス検証処理について説明する。
【０１１２】
ラインセンス検証装置２００は、オペレータからのコンテンツ更新の要求を受け付ける。具体的には、ラインセンス検証装置２００のライセンス入力部２０１は、図示しない表示装置に、図１１に示すコンテンツ更新画面２２０を表示して、コンテンツ更新処理の要求を受け付ける。
【０１１３】
図１１は、ライセンス検証装置２００におけるコンテンツ更新画面２２０の一例を示した図である。
【０１１４】
ラインセンス検証装置２００は、表示装置（図示しない）に、コンテンツ更新画面２２０を表示して、コンテンツ更新処理の要求を受け付ける。具体的には、コンテンツ更新画面２２０は、ライセンスを入力するための入力欄２２１と、コンテンツを更新する際に押すコンテンツ更新ボタン２２２とを備える。
【０１１５】
オペレータは、ファクシミリ装置により、メーカから送信されたライセンスを受け取る。オペレータは、入力装置（図示しない）を利用して、コンテンツ更新画面２２０の入力欄２２１に「ラインセンス」を入力する。そして、オペレータは、入力装置（図示しない）を操作して、コンテンツ更新画面２２０のコンテンツ更新ボタン２２２を押下する（カーソル等でボタン１２１を選択する）。ライセンス入力部２０１は、コンテンツ更新ボタン２２２が押下されると、ハッシュ計算部２０３にコンテンツ更新処理の要求を受け付けた旨を通知する。その後、図１２に示すコンテンツ更新処理が開示される。
【０１１６】
図１２は、本実施形態のコンテンツ更新処理のフローチャートである。
【０１１７】
先ず、ライセンス認証装置２００は、通信線４００を介して、情報処理端末３００から「端末ＩＤ」および「コンテンツＩＤ」を取得する（Ｓ２１１）。具体的には、ハッシュ計算部２０３は、通信線４００を介して、情報処理端末３００の固有情報記録部３０１に記憶されている「端末ＩＤ」を取得する。また、ハッシュ計算部２０３は、通信線４００を介して、情報処理端末３００のコンテンツ記録部３０２に記憶されている「コンテンツＩＤ」を取得する。なお、「コンテンツＩＤ」は、ファイル操作部２０９経由で取得する。
【０１１８】
つぎに、ハッシュ計算部２０３は、シード記録部２０２から「ライセンスシード」を取得する（Ｓ２１２）。
【０１１９】
つぎに、ハッシュ計算部２０３は、取得した「端末ＩＤ」、「コンテンツＩＤ」、「ライセンスシード」を用いて、一方向ハッシュ計算を行う（Ｓ２１３）。本ステップで行われるハッシュ計算は、上述した図４のＳ１１３で行われるハッシュ計算と同じである。
【０１２０】
つぎに、ライセンス生成部２０４および変換表選択部２０５によるライセンス生成処理が行われる（Ｓ２１４）。なお、本ステップで行われるライセンス生成処理は、上述した図４のＳ１１４で行われるものと同じである。なお、ここで生成したライセンスを、以降、「第１のライセンス」と呼ぶ。そして、ライセンス生成部２０４は、生成した「第１のライセンス」をライセンス比較部２０８に出力する。
【０１２１】
つぎに、ライセンス比較部２０８によるライセンス取得処理が行われる（Ｓ２１５）。具体的には、ライセンス比較部２０８は、ライセンス生成部２０８からの「第１のライセンス」を受信すると、ライセンス入力部２０１から、コンテンツ更新画面２２０のライセンス入力欄２２１に入力されたライセンスを取得する。なお、以降において、説明の便宜上、ラインセンス入力部１０１から取得したライセンスを「第２のライセンス」と呼ぶ。
【０１２２】
つぎに、ライセンス比較部２０８は、「第１のライセンス」と「第２のライセンス」とを比較し（Ｓ２１６）、両者の値が同一であった場合、その旨をファイル操作部２０９に通知してＳ２１７の処理に進む。一方、ライセンス比較部２０８は、両者の値が同一でない場合にはＳ２１８の処理に進む。
【０１２３】
Ｓ２１７では、ファイル操作部２０９が、コンテンツ記録部２１０に記録されているデータを情報処理端末３００のコンテンツ記録部３０２に書き込んで処理を終了する。
【０１２４】
一方、Ｓ２１６で、「第１のライセンス」と「第２のライセンス」とが同一ではないと判定された場合に進むＳ２１８の処理を説明する。Ｓ２１８では、ライセンス比較部２０８は、図示しない表示装置にエラー表示を行い処理を終了する（Ｓ２１８）。
【０１２５】
以上説明したように、本実施形態により、ＦＡＸによるライセンスの送受信に際し、セキュリティレベルを下げることなく桁数を削減し、かつ人間の誤認識が発生しやすい文字の発生率を削減することが可能となる。
【０１２６】
なお、本発明は、以上で説明した実施形態に限定されるものではなく、本発明の要旨の範囲内において種々の変形が可能である。
【０１２７】
例えば、上述した実施形態の説明では、カーナビで利用するコンテンツを更新する場合について説明したが特にこれに限定するものではない。本実施形態のライセンス発行装置およびライセンス認証装置は、ネットワークに接続していない機器に対してコンテンツを利用するためのライセンスを発行する必要がある場合に利用可能であり、カーナビゲーションシステムの他、家電機器、屋外設置のディスプレイ機器等、ネットワーク接続が普及していない機器に応用できる。
【０１２８】
また、上記実施形態では、各変換表で変換した英数文字列毎に重み付けをし、最小の重みの英数文字列の変換に利用した変換表を選択するようにしているが、これは例示に過ぎない。例えば、英数文字列の重み付け計算において、英字が文字列の先頭付近、数字が文字列の末尾付近に偏っている英数文字列に大きい値の重み与えるようにしてもよい。或いは、図９の例において、誤認識が起こり易いと考えられる文字に与える重みを、それ以外の文字に与える重みと比べて小さくするようにしてもよい。そして、このような重み付けをした場合、最大の重みを持つ英数文字列の変換に利用した変換表を選択すればよい。
【０１２９】
また、上記実施形態では、更新を行う対象のコンテンツが地図データの場合を例にしているがこれは例示に過ぎない。情報処理端末で利用されるデータであれば、プログラムであっても、ゲームソフトであっても、音楽データや映像データであってもかまわない。
【０１３０】
また、上述した実施形態の説明では、コンテンツの更新を行うオペレータに対し、ライセンスをファクシミリで連絡するようにしているが、他の方法によりライセンスを連絡するようにしてもよい。例えば、メーカーは、ディーラに、ラインセンスを印刷した紙媒体を郵送するようにしてもよい。
【図面の簡単な説明】
【０１３１】
【図１】本発明の実施形態のライセンス発行装置の機能ブロック図である。
【図２】本発明の実施形態のライセンス検証装置および情報処理端末３００の機能ブロック図である。
【図３】本実施形態のライセンス発行画面の一例を示した図である。
【図４】本実施形態のライセンス発行処理のフローチャートである。
【図５】本実施形態のライセンス生成処理に利用する変換表のデータ構造を模擬的に示した図である。
【図６】図４に示したＳ１１４のライセンス生成処理の詳細を示したフローチャートである。
【図７】図６のＳ１３２の、ハッシュ値を英数文字列に変換する処理の説明図を示したものである。
【図８】図６のＳ１３３の英数文字列の重みを計算する処理のフローチャートである。
【図９】図６のＳ１３３の重みを計算する処理について、図８とは異なる実現方法を示したものである。
【図１０】図９に示す重み付け処理に利用するテーブルの一例を示した図である。
【図１１】ライセンス検証装置２００におけるコンテンツ更新画面２２０の一例を示した図である。
【図１２】本実施形態のコンテンツ更新処理のフローチャートである。
【図１３】本発明が適用された一実施形態の概略構成図である。
【符号の説明】
【０１３２】
１００…ラインセンス発行装置、１０１…パラメータ入力部、１０２…シード記録部、１０３…ハッシュ計算部、１０４…ライセンス生成部、１０５…変換表選択部、１０６…変換表記録部、１０７…変換表、１０８…ライセンス表示部、１４２…変換部、２００…ライセンス検証装置、２０１…ライセンス入力部、２０２…シード記録部、２０３…ハッシュ計算部、２０４…ライセンス生成部、２０５…変換表選択部、２０６…変換表記録部、２０７…変換表、２０８…ライセンス比較部、２０９…ファイル操作部、２１０…コンテンツ記録部、３００…情報処理端末、３０１…固有情報記録部、３０２…コンテンツ記録部、４００…通信線
【図１】
2008017378.tif 000003
【図２】
2008017378.tif 000004
【図３】
2008017378.tif 000005
【図４】
2008017378.tif 000006
【図５】
2008017378.tif 000007
【図６】
2008017378.tif 000008
【図７】
2008017378.tif 000009
【図８】
2008017378.tif 000010
【図９】
2008017378.tif 000011
【図１０】
2008017378.tif 000012
【図１１】
2008017378.tif 000013
【図１２】
2008017378.tif 000014
【図１３】
2008017378.tif 000015