JP4871659B2 - ライセンス発行装置、ライセンス検証装置、ライセンス発行方法、およびプログラム - Google Patents

ライセンス発行装置、ライセンス検証装置、ライセンス発行方法、およびプログラム Download PDF

Info

Publication number
JP4871659B2
JP4871659B2 JP2006188782A JP2006188782A JP4871659B2 JP 4871659 B2 JP4871659 B2 JP 4871659B2 JP 2006188782 A JP2006188782 A JP 2006188782A JP 2006188782 A JP2006188782 A JP 2006188782A JP 4871659 B2 JP4871659 B2 JP 4871659B2
Authority
JP
Japan
Prior art keywords
license
character string
conversion table
converted
alphanumeric character
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006188782A
Other languages
English (en)
Other versions
JP2008017378A (ja
Inventor
隆昭 関口
博光 加藤
岳生 相薗
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Faurecia Clarion Electronics Co Ltd
Original Assignee
Clarion Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Clarion Co Ltd filed Critical Clarion Co Ltd
Priority to JP2006188782A priority Critical patent/JP4871659B2/ja
Publication of JP2008017378A publication Critical patent/JP2008017378A/ja
Application granted granted Critical
Publication of JP4871659B2 publication Critical patent/JP4871659B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、コンテンツの違法利用を防止するための技術に関する。
カーナビゲーションシステム(以下、「カーナビ」という)は、カーナビ内部に記録している地図データを利用して、目的地までの推奨経路を提示したり、地図上に車両の現在位置を表示したりする。この地図データを記録しておく手段としてDVDやCDが利用されている機種が知られている。また、最近では、地図データを記録しておく手段として、ハードディスクドライブ(Hard Disk Drive、以下「HDD」)を採用する製品が主流となりつつある。
ところで、カーナビで利用される地図データは、定期的に最新のものに更新されていることが望ましい。道路や建物は、新たに建設されたり、或いは、撤去されたりするため、古くなった地図データを利用した場合、ユーザを精度高く案内できないことがあるからである。そのために、従来のDVD型(または、CD型)のカーナビでは、地図データを記録しているディスクを単純にユーザへ販売し、ユーザが古いディスクと交換することによって、地図データの更新を行っている。一方、HDD型のカーナビの場合の更新方法としては、次のようなものがある。
まず、対象機種にDVDドライブがある場合、地図データを記録しているマスターディスクを配布し、これをDVDドライブに挿入してHDDにコピーするという更新方法がある。DVDドライブが無い機種の場合、DVDドライブを有する機器とカーナビを接続し(なお、接続するインターフェースがカーナビにあることが前提である)、接続した機器を介してHDDにコピーする方法がある。あるいは、SDカード等の着脱可能な記録媒体をカーナビに挿入して、この記録媒体からHDDにコピーする方法や、カーナビ自体を直接ネットワークに接続して、地図データを配信するサーバから直接データを受信する方法も考えられる。
そして、以上のような更新方法においては、HDDへの不正なコピーを制限することが必要となる。そこで、このようなHDDを有する端末装置(カーナビ、パーソナルコンピュータ等)においてコンテンツの複製を制限するため、従来から以下の技術が広く実用に供されている。
まず、よくある形態として、コンテンツを端末にコピーする際、ランダムな英数字からなる文字列(一般的にシリアル番号と呼ばれる)の入力を強制し、入力されたシリアル番号が正しい場合に限ってコピーを許可するという方法がある。
しかし、この方法の場合、正しいシリアル番号を1つ入手できれば、同一の番号を用いて複数の端末へ何度もコピーできてしまうという問題がある。
そこで近年では、コンテンツを暗号化して配布する方法がよく用いられる。この方法では、コンテンツを復号するための復号鍵(一般的にライセンスと呼ばれる)は、以下の手順によって端末へ配信される。まず、端末からライセンスを発行する装置(以下、「ライセンス発行装置」と呼ぶ)へ、当該端末固有の情報(ハードウェアIDなど)を送信する。これを受信したライセンス発行装置は、受信した端末固有の情報を用いてコンテンツの復号鍵を暗号化し、端末へ送り返す。この種の技術は、近年盛んな音楽データのオンライン配信に利用されている。
上記の「コンテンツを暗号化して配布する方法」に代表されるアプローチの他に、コピー可能な端末装置を特定の一台に制限する技術として、特許文献1に記載の技術がある。この技術は、端末装置とライセンス発行装置の両者に同一の一方向性ハッシュ関数を実装し、以下の手順でライセンスの送受信を行うものである。まず、端末からライセンス発行装置へ、ランダムな文字列と端末装置の公開鍵を送付する。これらを受信したライセンス発行装置は、受信した文字列を一方向性ハッシュ関数に入力した結果(ハッシュ値)を、受信した公開鍵で暗号化して、端末装置へ送り返す。端末側では、ライセンス発行装置と同一の計算を実行してハッシュ値を得るとともに、秘密鍵を用いてライセンス発行装置から受信したデータを復号し、計算したハッシュ値と復号結果が同一であればコピーを許可する。なお、一方向性ハッシュ関数および公開鍵暗号については、非特許文献1に解説がある。
以上の「コンテンツを暗号化して配布する方法」や特許文献1に示される技術によって、コンテンツの無制限な複製を防止することができる。
特開2003−174446号公報 「暗号技術入門-秘密の国のアリス」、ソフトバンククリエイティブ:ISBN:4797322977、2005年
ところで、上述したように、HDD型のカーナビの地図データ更新には、種々の方法がある。しかし、いずれの方法もHDDの書換え処理や更新ライセンスの管理が必要となるため、DVD型(またはCD型)のカーナビと比較して、IT技術に慣れていないユーザにとっては敷居が高い(更新作業が面倒である)。そこで、若年者から高齢者までの幅広い世代のドライバー全てを対象として、地図データの更新サービスを自動車販売ディーラ(以下、「ディーラ」という)において提供することが望まれている。なお、IT技術が進展しているとはいえ、必ずしも全てのディーラがIP通信回線を保有しているとは限らない。そこで、既にほぼ全ディーラに存在するFAXを用いて更新ライセンスを通知する手段が現実的な手法として考えられる。
しかしながら、FAXを用いてライセンスを送受信する方法は、以下の問題を有している。具体的には、FAXの伝送品質の問題等に起因する人間の操作ミス(文字の誤認識・記入ミス)により、誤ったライセンスがディーラに通知され得るという問題がある。例えば、上述した「コンテンツを暗号化して配布する方法」および特許文献1は、ライセンスを暗号化して送付することを想定したものである。この場合、仮に128ビット共通鍵で暗号化した場合は、通知する情報(暗号化ライセンス)も最小で128ビットとなり、1文字6ビット(これはBase64エンコーディングに相当する)としても22文字の入力が必要となる。一般的に人間は長い桁数の文字を入力すればそれだけ間違いも起こり易くなる。
また、入力する文字数を減らして、鍵長も短くすれば、入力間違いを起こる可能性を低減できるが、暗号の強度を低下させてしまう。また、上述した「コンテンツを暗号化して配布する方法」や特許文献1は、ライセンスをコンピュータが解釈するビット列で送信することを想定したものであるが、これをFAXで送受信するためにはビット列を人間が可読な英数字に変換する必要がある。この際、英数字の中には例えばO(英字のオー)と0(ゼロ)など形状が似ているものがあり、単純に変換するだけでは人間の誤認識が発生し易い。
本発明は、上記事情に鑑みてなされたものであり、本発明の目的は、ネットワークに接続されていない環境で利用されるライセンス発行装置、或いは、ライセンス検証装置において、セキュリティレベルを下げることなく、ユーザがライセンスを誤入力したり、誤認識したりする可能性を低減することにある。
上記課題を解決するため、本発明の第1の態様は、コンテンツを利用するためのライセンスを発行するライセンス発行装置に適用される。
そして、前記ライセンス発行装置は、ライセンスを発行するためのパラメータの入力を受け付けるパラメータ入力部と、前記パラメータを一方向性ハッシュ関数に入力してハッシュ値を算出するハッシュ計算部と、所定ビットのビット列の組み合わせ毎に、英数字を対応付けた変換表を記憶する記憶部と、前記変換表を用いて、前記ハッシュ値を表すビット列の特定部分を英数字の文字列に変換し、該変換した英数字の文字列をライセンスとして出力するライセンス生成部と、を備える。
また、前記記憶部には、複数種の前記変換表が記憶されていて、前記ライセンス生成部は、前記複数種の変換表の中から、文字の種別毎に発生位置の偏りが最も大きくなる前記英数字の文字列に変換する変換表を選択し、該選択した変換表で変換した英数字の文字列を前記ライセンスとして出力することとしてもよい。
また、上記課題を解決するため、本発明の第2の態様は、コンテンツを利用する情報処理端末に接続されていて、該コンテンツを更新するために必要なライセンスを検証するライセンス検証装置に適用される。
そして、前記ライセンス検証装置は、コンテンツを記憶しているコンテンツ記録部と、前記情報処理端末からパラメータを取得するパラメータ入力部と、前記パラメータを一方向性ハッシュ関数に入力してハッシュ値を算出するハッシュ計算部と、所定ビットのビット列の組み合わせ毎に、英数字を対応付けた変換表を記憶する変換表記録部と、前記変換表を用いて、前記ハッシュ値を表すビット列の特定部分を英数字の文字列に変換して第1ライセンスを生成するライセンス生成部と、オペレータからの第2ラインセンスの入力を受け付けるライセンス入力部と、前記生成した第1ライセンスと前記受け付けた第2ライセンスとを比較し、両者が一致した場合に、前記記憶しているコンテンツを前記情報処理端末に書き込む。
また、前記記憶部には、複数種の前記変換表が記憶されていて、前記ライセンス生成部は、前記記憶している各変換表で変換した前記英数字の文字列毎に、文字の種別毎に発生位置の偏りを示す値を求め、該偏りを示す値を用いて、該発生位置の偏りが最も大きくなる前記英数字の文字列に変換する変換表を選択し、該選択した変換表で変換した英数字の文字列を前記第1ライセンスとすることとしてもよい。
なお、上記では、パラメータを一方向性ハッシュ関数に入力しているが、ハッシュ関数に限らず、不可逆な一方向性関数であればよい。
このように本発明では、ハッシュ値を算出し、その算出したハッシュ値を表すビット列の特定部分から英数字の文字列に変換してライセンスを生成するようにしているため、ライセンスのセキュリティレベルを下げることなく桁数を削減できる。その結果、ユーザがライセンスを誤入力したり、誤認識する可能性を低減することができる。
また、複数種の変換表を記憶しておいて、文字の種別毎に発生位置の偏りが最も大きくなる英数字の文字列を変換する変換表を選択し、その選択した変換表で変換した英数字の文字列をライセンスとしているため、ユーザが誤認識する可能性が低いライセンスを生成することがきる。これは、英文字と数字が混在していると誤認識する可能性が高くなると考えられるためである。
したがって、本発明を利用すれば、例えば、FAXを用いてライセンスを送受信する際の人間による伝送誤りを削減することができる。
以下、本発明の実施形態について図面を用いて説明する。
本実施形態は、自動車販売ディーラ(ディーラ)における、カーナビゲーションシステム(カーナビ)の地図データ更新システムを想定したものである。
先ず、本実施形態の地図データ更新システムの概略を図13に示す。
図13は、本発明が適用された一実施形態の概略構成図である。
図示するように、地図データ更新システムは、自動車メーカー、カーナビメーカー、地図制作会社、地図データ販売会社の企業等(以下、便宜上、単に「メーカー」という)に設置されるライセンス発行装置100と、ディーラに設置されるライセンス検証装置200とを備える。ライセンス発行装置100は、ライセンスを発行する対象の情報処理端末300に対応付けられたパラメータ(パラメータについては後述する)の入力を受け付け、その受け付けたパラメータを用いてライセンスを生成して出力する。メーカーのオペレータは、出力されたライセンスを、ファクシミリ装置を利用して、ディーラに送信する。なお、本実施形態では、ライセンス発行装置100が英数字10文字からなるライセンスを発行する場合を例にする。
ディーラの従業員等(オペレータ)は、ファクシミリ装置を介して、メーカーから送信されたライセンスを受け取る。オペレータは、ライセンス検証装置200と情報処理端末(本実施形態ではカーナビを想定)300とを通信可能な状態にする。例えば、ラインセンス検証装置200と情報処理端末300とを通信線400で接続する。オペレータは、ファクシミリ装置で受信したライセンスをライセンス検証装置200に入力する。また、ライセンス検証装置200は、情報処理端末300からパラメータを取得して、そのパラメータを用いてライセンスを生成する。ライセンス検証装置200は、オペレータが入力したライセンスと、ライセンス検証装置200が生成したライセンスとを用いて、入力されたライセンスの認証を行ない、認証されると、ライセンス検証装置200に記録されている地図データを情報処理端末(カーナビ)300へ書き込む。
なお、上記では、ライセンス検証装置200と情報処理端末300とを通信線400で接続して通信可能な状態にしているが、特にこれに限定するものではない。ライセンス検証装置200と情報処理端末300とが無線により通信できるように構成されていてもよい。
続いて、地図データ更新システムの具体的な構成について説明する。
先ず、本実施形態のライセンス発行装置の機能構成を図1に示す。
図1は、本発明の実施形態のライセンス発行装置の機能ブロック図である。
図示するように、ライセンス発行装置100は、パラメータ入力部101、シード記録部102、ハッシュ計算部103、ライセンス生成部104、変換表選択部105、変換表記録部106、およびライセンス表示部108を有する。なお、ライセンス発行装置100には、オペレータからの入力を受け付けるためのキーボード等の入力装置(図示しない)と、操作ガイド画面や出力画面を表示する液晶ディスプレイ等の表示装置(図示しない)とが接続されているものとする。
パラメータ入力部101は、入力装置を介して、ライセンスを発行する対象の情報処理端末300に対応付けられたパラメータの入力を受け付ける。なお、パラメータ入力部101は、パラメータの入力を受け付ける際に、表示装置に操作画面(例えば、図3に示す画面120)を表示する。なお、本実施形態では、パラメータとして、ライセンスを発行する情報処理端末300固有の端末IDと、情報処理端末300が利用しているコンテンツを識別するコンテンツIDとを用いる場合を例にして説明する。
シード記録部102は、ライセンスを発行する際に用いるライセンスシード(第三者に知られてないように管理されている秘密情報)を格納する。
ハッシュ計算部103は、パラメータ入力部101が受け付けたパラメータ、およびシード記録部102に記録されているライセンスシードを入力として一方向ハッシュ計算を行う。ライセンス生成部104は、計算されたハッシュ値を用いて英数字からなるライセンスを生成する。
変換表記録部106は、ライセンス生成部104がハッシュ値を英数字に変換する際に用いる変換表107を記憶する。本実施形態では、変換表記録部106には、複数種の変換表107が記憶されている。変換表選択部105は、変換表記録部106に記憶されている複数の変換表の中から適切な1つの変換表107を選択する。
ライセンス表示部108は、ライセンス生成部104が生成したライセンスを表示する。具体的には、ライセンス表示部108は、表示装置にライセンスを示す画面を表示する。
なお、上述したライセンス発行装置100の各機能部は、ソフトウェアにより実現されてもいいし、各機能部を実行するために専用に設計された回路(ASIC(Application Specific Integrated Circuit)等)により実現されてもよい。
例えば、ライセンス発行装置100をソフトウェアにより実現する場合、ライセンス発行装置100には、CPU(Central Processing Unit)、メモリ、I/Oインタフェースを有するコンピュータ(情報処理装置)を用いることができる。この場合、メモリに、パラメータ入力部101、ハッシュ計算部103、ライセンス生成部104、変換表選択部105、ラインセンス表示部108の機能を実現するためのプログラムを記憶させておく。そして、パラメータ入力部101、ハッシュ計算部103、ライセンス生成部104、変換表選択部105、およびラインセンス表示部108の機能は、CPUがメモリに記憶されている上記のプログラムを実行することにより実現される。また、シード記録部102および変換表記録部106は、メモリの所定の領域に形成される。
つぎに、本実施形態のライセンス検証装置200および情報処理端末300の機能構成を説明する。
図2は、本発明の実施形態のライセンス検証装置および情報処理端末300の機能ブロック図である。
情報処理端末300は、情報処理端末固有の情報を記憶する固有情報記録部301と、コンテンツ記録部302とを備える。情報処理端末固有の情報とは、情報処理端末に与えられている「端末ID」をいう。コンテンツ記録部302には、情報処理端末300が利用するコンテンツ(ここでは、地図データ)と、そのコンテンツを識別する「コンテンツID」とが記憶されている。
また、情報処理端末300には、固有情報記録部301およびコンテンツ記録部302に加え、カーナビの機能を実現する機能部(現在位置検出部、推奨経路探索部、経路案内部等)を備えている。なお、上記のカーナビの機能を実現する機能部は、既存の技術により実現されるものである。そのため、本実施形態の説明では、情報処理端末300のカーナビの機能の説明は省略する。
ライセンス検証装置200は、ライセンス入力部201、シード記録部202、ハッシュ計算部203、ライセンス生成部204、変換表選択部205、変換表記録部206、ライセンス比較部208、ファイル操作部209、およびコンテンツ記録部210を有する。
ここで、ライセンス検証装置200には、オペレータからの入力を受け付けるためのキーボード等の入力装置(図示しない)と、操作ガイド画面や出力画面を表示する液晶ディスプレイ等の表示装置(図示しない)とが接続されているものとする。
ライセンス入力部201は、入力装置(図示しない)を介して、ライセンスの入力を受け付ける。具体的には、ディーラのオペレータは、ライセンス入力部201に、ファクシミリ装置により受信したラインセンスを入力する。ライセンス入力部201は、オペレータが入力したライセンスを受け付ける。
シード記録部202は、上述したラインセンス発行装置100のシード記録部102と同様のライセンスシードを格納する。
ハッシュ計算部203は、情報処理端末300から取得した「端末ID」および「コンテンツID」と、シード記録部202に記憶されている「ライセンスシード」とを入力として一方向ハッシュ計算を行う。
具体的には、ハッシュ計算部203は、情報処理端末300にアクセスし、固有情報記録部301に記憶されている「端末ID」を読み出す。また、ハッシュ計算部203は、ファイル操作部209を介して、コンテンツ記録部302に記憶されている「コンテンツID」を取得する。また、ハッシュ計算部203は、シード記録部202に記憶されている「ライセンスシード」を読み出す。そして、ハッシュ計算部203は、「端末ID」、「コンテンツID」、および「ライセンスシード」を入力として一方向ハッシュ計算を行う。
ライセンス生成部204は、上述したライセンス発行装置100のライセンス生成部104と同様の手順により、ハッシュ計算部203が算出したハッシュ値と、変換表選択部105が選択した変換表を用いてライセンスを生成する。
変換表選択部205は、上述したライセンス発行装置100の変換表選択部205と同様の処理を行う。また、変換表記録部206は、上述したライセンス発行装置100の変換表記録部106が記憶している変換表107と同じ変換表207を記憶している。
ライセンス比較部208は、ライセンス入力部201が受け付けたライセンスと、ライセンス生成部204が生成したライセンスとを比較する。比較の結果、両者が同じ場合、ライセンス入力部201が受け付けたライセンスを正当なものと認定し、その旨をファイル操作部209に通知する。一方、ライセンス比較部208は、比較の結果、両者が異なれば、表示装置(図示しない)に、エラー表示を行う。
コンテンツ記録部210は、情報処理端末300が利用しているコンテンツ(ここでは地図データ)の最新バージョンのコンテンツを記憶している。
ファイル操作部209は、ハッシュ計算部203からの要求にしたがい、情報処理端末300のコンテンツ記録部302にアクセスし、コンテンツ記録部302に記憶されているコンテンツIDを読み出す。また、ファイル操作部209は、ライセンス比較部208から「認証した旨」の通知を受け付けると、コンテンツ記録部302に記憶されているコンテンツの更新を行う。具体的には、ファイル操作部209は、コンテンツ記録部210に記憶されてコンテンツ(最新の地図データ)を読み出し、情報処理端末300のコンテンツ記録部302の地図データを更新する。
なお、上述したライセンス検証装置200の各機能部は、ソフトウェアにより実現されてもいいし、各機能部を実行するために専用に設計された回路(ASIC(Application Specific Integrated Circuit)等)により実現されてもよい。
例えば、ライセンス検証装置200をソフトウェアにより実現する場合、ライセンス検証装置200には、CPU(Central Processing Unit)、メモリ、I/Oインタフェースを有するコンピュータを用いることができる。この場合、メモリに、ライセンス入力部201、ハッシュ計算部203、ライセンス生成部204、変換表選択部205、ライセンス比較部208、およびファイル操作部209の機能を実現するためのプログラムを記憶させておく。そして、ライセンス入力部201、ハッシュ計算部203、ライセンス生成部204、変換表選択部205、ライセンス比較部208、およびファイル操作部209の機能は、CPUがメモリに記憶されている上記のプログラムを実行することにより実現される。また、シード記録部202、変換表記録部206、コンテンツ記録部210は、メモリの所定の領域に形成される。
続いて、コンテンツ更新処理の流れについて説明する。
ライセンス発行装置100は、オペレータからのライセンス発行の要求を受け付ける。具体的には、パラメータ入力部101は、図3に示すライセンス発行画面120を表示し、オペレータからのライセンス発行要求を受け付ける。
図3は、本実施形態のライセンス発行画面の一例を示した図である。
図示するように、ライセンス発行画面120は、コンテンツを書き込む情報処理端末300の「端末ID」を入力する入力欄121と、書き込むコンテンツの「コンテンツID」を入力する入力欄122と、ライセンスの発行処理の開始を受け付けるためのボタン123と、作成したライセンスを出力する出力欄124とを備える。オペレータは、入力装置(図示しない)を利用して、ライセンス発行画面120上の入力欄121、122に、それぞれ、「端末ID」、「コンテンツID」を入力する。また、オペレータは、入力装置(図示しない)を操作して、ライセンス発行画面120のボタン123を押下する(画面上のカーソル等でボタン123を選択する)。パラメータ入力部101は、ライセンス発行画面120のボタン123を押下されると、入力された「端末ID」および「コンテンツID」をハッシュ計算部103に出力する。その後、図4に示すライセンス発行処理が開始される。
図4は、本実施形態のライセンス発行処理のフローチャートである。
先ず、ハッシュ計算部103は、パラメータ取得処理を行う(S111)。具体的には、ハッシュ計算部103は、パラメータ入力部101からパラメータ(「端末ID」および「コンテンツID」)を取得する。
つぎに、ハッシュ計算部103は、シード記録部102にアクセスし、シード記録部102に記録されているライセンスシードを取得する(S112)。なお、ライセンスシードは、どのような値であっても構わないが、セキュリティレベル確保のため十分に長いビット長とすべきである。
つぎに、ハッシュ計算部103は、S111およびS112で取得した情報を一方向性ハッシュ関数に入力してハッシュ値を求める(S113)。ここで一方向性ハッシュ関数はどのような関数でも良いが、以降の説明では、出力されるハッシュ値が160ビットであるものとして説明する。なお、160ビットの出力を行うハッシュ関数には、例えば米国標準技術局が政府標準ハッシュ関数として採用しているSHA−1(Secure Hash Algorithm 1)を用いることができる。また、上記では、パラメータを一方向性ハッシュ関数に入力しているが、ハッシュ関数に限らず、不可逆な一方向性関数であればよい。
つぎに、ラインセンス生成部104および変換表選択部105により、ライセンスを生成する処理が行われる(S114)。具体的には、変換表記録部106の中にある複数の変換表107の中から、最適な変換表107を選択して、その選択した変換表107を用いて、ハッシュ計算部103が算出したハッシュ値を英数字に変換してライセンスを生成する。このライセンスを生成する処理については後段で詳細に説明する。
最後に、ライセンス表示部108は、上記の生成されたライセンスを画面120上の出力欄124(図3参照)に表示する(S115)。なお、本実施形態は生成されたライセンスを画面に表示するが、これは例示に過ぎない。例えば、ライセンス発行装置100にプリンタを接続して、そのプリンタを用いて紙媒体にライセンスを出力するようにしてもよい。
続いて、図4のS114におけるライセンス生成処理について具体的に説明する。
先ず、ライセンス生成処理に利用する変換表を図5に示して説明する。
図5は、本実施形態のライセンス生成処理に利用する変換表のデータ構造を模擬的に示した図である。
変換表107は、2進数で表した6ビットのビット列を英数1文字に変換するためのテーブルである。図5では、上位3ビットの組合せ161と、下位3ビットの組合せ162とを軸として示した6ビットのビット列を英数1文字に変換する変換表の例を示している。なお、図示する例では、複数の変換表107a〜nのうちの1の変換表107aだけを示している。また、本実施形態では、英数字とは、英字(アルファベット)および数字のことをいう。そして、アルファベットとして、「A〜Z」の26種類の大文字と、「a〜z」の26種類の小文字とを用いる。数字は、「0〜9」の10種類の数字を利用する。
図示する、変換表107aでは、6bitのビット列「000000」が、英字の「A」に対応付けられている。この例にしたがえば、6bitのビット列「000000」は、英字の「A」に変換される。また、6bitのビット列「111000」が、数字の「4」に対応付けられている。この例にしたがえば、6bitのビット列「111000」は、数字の「4」に変換される。なお、ビット「111110」および「111111」には割り当て可能な英数字が存在しないが、これらの値はそれぞれ「000000」、「000001」として扱えば良い。
つぎに、図4のS114におけるライセンス生成処理について具体的に説明する。
図6は、図4に示したS114のライセンス生成処理の詳細を示したフローチャートである。なお、変換表記録部106には、M個(Mは、整数)の変換表107が記憶されているものとする。そして、変換表107には、「0」番から「M−1番」までの「番号i(0≦i≦M−1:iは整数の変数)」が付与されている。すなわち、変換表107に付与された番号iにより変換表107を特定できる。
また、以下の説明において、「h」は、図4のS113で計算された160ビットのハッシュ値を示す。「k」、「w」、「min」は、整数の変数を示す。「str」、「key」は、文字列の配列を示す。「TABLE」は、変換表107を格納する配列を示している。また、「f()」は、ハッシュ値と変換表107から文字列を生成する関数、「g()」は、指定された文字列の重み(重みについては後述する)を計算する関数を示している。
以下、図示する各々のステップの処理について説明する。
まず、S131では、変換表選択部105は、変数の初期化を行う。具体的には、変換表選択部105は、変換表107の番号i、および最適な変換表107の番号を示す変数「k(0≦k≦M)」」を「0」に初期化する。また、英数文字列の重みの最小値を示す「min」を「MAX_INT(整数の最大値)」とする。
つぎに、変換表選択部105は、変換表記録部106に記憶されている複数の変換表107の中の番号iの変換表107をライセンス生成部104に出力する。ライセンス生成部104は、図4のS113で計算された「160ビットのハッシュ値(h)」と、変換表選択部105からの番号iの変換表107とを以下の(式1)に代入して、「160ビットのハッシュ値(h)」を「10文字の英数字の文字列(str[i])」に変換する(S132)。なお、ハッシュ値を英数文字列に変換する変換処理は、後述する図7で説明する。
str[i]=f(h, TABL[i])…(式1)
つぎに、変換表選択部105が、S132で生成された英数字文字列(str[i])に対する重み付け計算処理を行う(S133)。具体的には、S133で生成された英数字文字列(str[i])を以下の(式2)に代入して、重み(w)を求める。なお、この重み付け計算処理は、後述する図8で説明する。
w=g(str[i])…(式2)
つぎに、変換表選択部105は、S134で求めた重み(w)と、英数文字列の重みの最小値を示す「min」とを比較する(S134)。そして、S134で求めた重み(w)が英数文字列の重みの最小値を示す「min」未満であればS135に進む。一方、S134で求めた重み(w)が英数文字列の重みの最小値を示す「min」未満でなければ、すなわち、重み(w)の方が大きければ、S136に進む。
なお、S134の処理は、M回行われることになるが、S131の初期化処理の後に、最初に行われるS134の処理では、「w<min」となり、S135の処理に遷移する。すなわち、「i」が「0」の番号の変換表107を利用して変換された英数字文字列(str[0])から求めた重み(w=g(str[0]))と、最小値を示す「min」とを比較する場合、「w<min」となる。これは、S131の初期化処理において、「min」を「MAX_INT(整数の最大値)」としているためである。
S135では、変換表選択部105は、ライセンスの生成に利用する最適な変換表107の番号を特定する変数「k」を「i」とすると共に、「min」を「w」とする(「k」=「i」、「min」=「w」とする)。すなわち、ライセンスの生成に用いる変換表107を特定する番号「k」を、S134で「w<min」と判定された重み(w)の英数文字列(str[i])の変換に利用した変換表107の番号「i」とする。
S136では、変換表選択部105は、「i」をインクリメントして(「i」に「1」を加算して)、S137に進む。
S137では、変換表選択部105は、「i」が「M」未満であるか否かを判定して、「i」が「M」未満であればS132の処理に戻る。変換表選択部105は、「i」が「M」未満でなければ、複数の変換表107の中から「k」番の変換表107を最適な変換表として選択して、S138の処理に遷移する。
S138では、ライセンス生成部104が、S137で選択された「k」番の変換表107を利用し、上述した(式1)により、英数文字列(str[k])を求め、その求めた英数文字列(str[k])をライセンス(key)として処理を終了する。
つぎに、図6のS132で行われるハッシュ値から英数文字列に変換する処理について図7を用いて説明する。
図7は、図6のS132の、ハッシュ値を英数文字列に変換する処理の説明図を示したものである。
図示するように、ハッシュ値141は、160ビットのビット列で表した情報である。ライセンス生成部104は、160ビットのハッシュ値141の中の上位60ビットのビット列のデータを10文字の英数文字列に変換する。本実施形態では、上位から61ビット目以降の情報は切り捨てる。
具体的には、ライセンス生成部104は、10個の変換部142を有する。変換部142は、各々、変換表107を用いて、6ビットの情報を英数字1文字に変換する。そして、10個の変換部142の出力を結合することにより、10桁の英数文字列が生成される。なお、図7は、説明の便宜上用いた図であり、特にこの構成に限定されるものではない。例えば、ライセンス生成部104がハードウエアロジックにより実現される場合であっても、必ずしも変換部142をハードウェア装置として10個持つ構成に限定されるものではない。
さらに、図示する例では、10個の変換部142により上位60ビットのデータを10文字の英数文字列に変換するようにしているが特にこれに限定するものではない。変換部142の数を変えてもよい。例えば、1個の変換部142により、上位60ビットのデータを10文字の英数文字列に変換するようにしてもよい。この場合は、変換部142が、上位から順番に6ビット毎にビット列を1文字の英数文字列に変換していき、それを10回行えばよい。
つぎに、図6のS133で行われる、変換した英数文字列の重みを計算する処理について図8を用いて説明する。
図8は、図6のS133の英数文字列の重みを計算する処理のフローチャートである。
ここで、「str」は、図6のS132による変換結果の英数文字列(図7の出力143の英数文字列)を示している。また、「j」は、英数文字列の上位から数えた順番を示している整数の変数である。「w」は、重みを示す整数の変数を示している。「N」は、英数文字列の桁数(本実施例では10桁)を示している。以下、図示する各々のステップの処理について説明する。
まず、変換表選択部105は、S151において、変数を初期化する。具体的には、「j」を「0」に初期化し、「w」を「0」に初期化する。
S152からS156では、変換表選択部105は、与えられた英数文字列を先頭から走査し、英字である場合は先頭(=0)からの距離(桁数)を重みwに足し、数字である場合には末尾(=英数文字列の長さ)からの距離(桁数)を重みwに足す。
具体的には、S151の後、変換表選択部105は、英数文字列(str)の先頭の文字(str[0])が英文字であるか否かを判定し、英文字であればS153に進み、英文字でなければS154に進む(S152)。
S153では、変換表選択部105は、下記(式3)を用いて、重み「w」を算出する。例えば、「w」および「j」が「0」であれば、「w」は、「0」となる。
w=w+j…(式3)
S154では、変換表選択部105は、下記(式4)を用いて、重み「w」を算出する。例えば、「w」および「j」が「0」であれば、「N」が「10」であるため、「w」は、「9」となる。
w=w+(N-j-1)…(式4)
S155では、変換表選択部105は、「j」をインクリメントする。S156において、「j」が「N」未満であればS152の処理に戻る。すなわち、変換表選択部105は、英数文字列を先頭(0)から順次走査して、重み付け行う。この処理の結果、英字が文字列の先頭付近、数字が文字列の末尾付近に偏っている文字列ほど「w」が小さくなる。
そして、上述の重み付け処理が含まれるS132〜S137(図6参照)を繰返すことにより、英字が文字列の先頭付近、数字が文字列の末尾付近に偏っている英数文字列に変換する変換表107が選択されることとなる。そして、その選択した変換表107により変換した英数文字列をライセンスとすることにより、英字が文字列の先頭付近、数字が文字列の末尾付近に偏っている英数文字列のライセンスを生成することができる。
このように、英字が文字列の先頭付近、数字が文字列の末尾付近に偏っている英数文字列のライセンスを生成するのは、以下の理由による。すなわち、紙媒体等に印刷された英数文字列(或いは、画面上に表示している英数文字列)を人間が視覚で認識する場合、英文字と数字が混在していると誤認識する可能性が高くなると考えられる。例えば、数字の「ゼロ」と、英字の「オー」とは、似ているため紛らわしい。本実施形態では、英字が文字列の先頭付近、数字が文字列の末尾付近に偏っているライセンスを生成できるため、文字の位置により、数字か英文字かの判断することができ、誤認識する可能性を低減できると考えられる。
また、ライセンスをキーボード等に入力する際も、英字と数字とが混在していると誤入力する可能性が高くなると考えられる。本実施形態では、英字が文字列の先頭付近、数字が文字列の末尾付近に偏っているライセンスを生成できるため、ライセンスを誤入力する可能性を低減できると考えられる。
なお、図8に示した英数文字列の重みを計算する処理は、あくまでも例示であり、特にこれに限定するものではない。
例えば、英字が文字列の末尾付近、数字が文字列の先頭付近に偏っている英数文字列に変換する変換表107が選択されるような重み付けを行うようにしてもよい。この場合、S152〜S154の処理において、英字である場合に末尾からの距離(桁数)を重みwに足して、数字である場合に先頭(=0)からの距離(桁数)を重みwに足すようにすればよい。
また、例えば、英数文字列の重みを計算する処理について、図8で示した処理に代えて、以下の手順による処理を行うようにしてもよい。具体的には、図8の処理ではなく、あらかじめ設定された文字毎の重みの総和を最小とする変換表を選択する処理を行うようにしてもよい。以下、重み付け処理の他の例について図9および図10を用いて説明する。
図9は、図6のS133の重みを計算する処理について、図8とは異なる実現方法を示したものである。図10は、図9に示す重み付け処理に利用するテーブルの一例を示した図である。
図9に示す重み付けを計算する処理は、図8におけるS152からS154の処理をステップS160に置き換えたものである。以下では、図8の処理と異なる部分を中心に説明する。
S160では、文字毎の重みを返す関数h(x)の「戻り値」を「重みw」に加算している。具体的には、変換表選択部105に、図10に示す、英数文字毎に、重みを示す「戻り値」を対応付けたテーブル1000を保持させておく。
テーブル1000では、誤認識が起こりやすいと考えられる文字の「戻り値」を、それ以外の文字の「戻り値」に比べて大きくするようにしている。図示する例では、誤認識が起こりやすい文字である「O(オー)」および「0(ゼロ)」の「戻り値」を、それ以外の文字(「O(オー)」および「0(ゼロ)」以外の文字)の「戻り値」より大きくしている。
そして、S160において、変換表選択部105は、テーブル1000を利用して英数文字列(str)の重み付け計算を行う。例えば、変換表選択部105は、英数文字列(str)の先頭からi番目の文字が「O(オー)」の場合、「重みw」に「戻り値5」を加算する。また、英数文字列(str)の先頭からi番目の文字が「A」の場合、「重みw」に「戻り値0」を加算する。その結果、誤認識が起こりやすいと考えられる文字(上記では、「O(オー)」および「0(ゼロ)」)が含まれる英数文字列の「重みw」は、誤認識が起こりやすいと考えられる文字を含まない英数文字列の「重みw」より大きな値となる。
そして、上述の重み付け処理が含まれるS132〜S137(図6参照)を繰返すことにより、誤認識が起こりやすいと考えられる文字が含まれない英数文字列に変換する変換表107が選択されることとなる。その選択した変換表107により変換した文字列をライセンスとすることにより、誤認識が起こりやすいと考えられる文字が含まれない英数文字列のライセンスを生成することができる。
なお、上記では、誤認識が起こりやすいと考えられる文字として、「O(オー)」および「0(ゼロ)」を挙げたがこれは例示に過ぎない。例えば、小文字の英字「l(エル)」と、数字「1(イチ)」とを誤認識が起こりやすい文字として、上述した「O(オー)」および「0(ゼロ)」と同じような重み付け処理をしてもよい。
続いて、ラインセンス検証装置200におけるライセンス検証処理について説明する。
ラインセンス検証装置200は、オペレータからのコンテンツ更新の要求を受け付ける。具体的には、ラインセンス検証装置200のライセンス入力部201は、図示しない表示装置に、図11に示すコンテンツ更新画面220を表示して、コンテンツ更新処理の要求を受け付ける。
図11は、ライセンス検証装置200におけるコンテンツ更新画面220の一例を示した図である。
ラインセンス検証装置200は、表示装置(図示しない)に、コンテンツ更新画面220を表示して、コンテンツ更新処理の要求を受け付ける。具体的には、コンテンツ更新画面220は、ライセンスを入力するための入力欄221と、コンテンツを更新する際に押すコンテンツ更新ボタン222とを備える。
オペレータは、ファクシミリ装置により、メーカから送信されたライセンスを受け取る。オペレータは、入力装置(図示しない)を利用して、コンテンツ更新画面220の入力欄221に「ラインセンス」を入力する。そして、オペレータは、入力装置(図示しない)を操作して、コンテンツ更新画面220のコンテンツ更新ボタン222を押下する(カーソル等でボタン121を選択する)。ライセンス入力部201は、コンテンツ更新ボタン222が押下されると、ハッシュ計算部203にコンテンツ更新処理の要求を受け付けた旨を通知する。その後、図12に示すコンテンツ更新処理が開示される。
図12は、本実施形態のコンテンツ更新処理のフローチャートである。
先ず、ライセンス認証装置200は、通信線400を介して、情報処理端末300から「端末ID」および「コンテンツID」を取得する(S211)。具体的には、ハッシュ計算部203は、通信線400を介して、情報処理端末300の固有情報記録部301に記憶されている「端末ID」を取得する。また、ハッシュ計算部203は、通信線400を介して、情報処理端末300のコンテンツ記録部302に記憶されている「コンテンツID」を取得する。なお、「コンテンツID」は、ファイル操作部209経由で取得する。
つぎに、ハッシュ計算部203は、シード記録部202から「ライセンスシード」を取得する(S212)。
つぎに、ハッシュ計算部203は、取得した「端末ID」、「コンテンツID」、「ライセンスシード」を用いて、一方向ハッシュ計算を行う(S213)。本ステップで行われるハッシュ計算は、上述した図4のS113で行われるハッシュ計算と同じである。
つぎに、ライセンス生成部204および変換表選択部205によるライセンス生成処理が行われる(S214)。なお、本ステップで行われるライセンス生成処理は、上述した図4のS114で行われるものと同じである。なお、ここで生成したライセンスを、以降、「第1のライセンス」と呼ぶ。そして、ライセンス生成部204は、生成した「第1のライセンス」をライセンス比較部208に出力する。
つぎに、ライセンス比較部208によるライセンス取得処理が行われる(S215)。具体的には、ライセンス比較部208は、ライセンス生成部208からの「第1のライセンス」を受信すると、ライセンス入力部201から、コンテンツ更新画面220のライセンス入力欄221に入力されたライセンスを取得する。なお、以降において、説明の便宜上、ラインセンス入力部101から取得したライセンスを「第2のライセンス」と呼ぶ。
つぎに、ライセンス比較部208は、「第1のライセンス」と「第2のライセンス」とを比較し(S216)、両者の値が同一であった場合、その旨をファイル操作部209に通知してS217の処理に進む。一方、ライセンス比較部208は、両者の値が同一でない場合にはS218の処理に進む。
S217では、ファイル操作部209が、コンテンツ記録部210に記録されているデータを情報処理端末300のコンテンツ記録部302に書き込んで処理を終了する。
一方、S216で、「第1のライセンス」と「第2のライセンス」とが同一ではないと判定された場合に進むS218の処理を説明する。S218では、ライセンス比較部208は、図示しない表示装置にエラー表示を行い処理を終了する(S218)。
以上説明したように、本実施形態により、FAXによるライセンスの送受信に際し、セキュリティレベルを下げることなく桁数を削減し、かつ人間の誤認識が発生しやすい文字の発生率を削減することが可能となる。
なお、本発明は、以上で説明した実施形態に限定されるものではなく、本発明の要旨の範囲内において種々の変形が可能である。
例えば、上述した実施形態の説明では、カーナビで利用するコンテンツを更新する場合について説明したが特にこれに限定するものではない。本実施形態のライセンス発行装置およびライセンス認証装置は、ネットワークに接続していない機器に対してコンテンツを利用するためのライセンスを発行する必要がある場合に利用可能であり、カーナビゲーションシステムの他、家電機器、屋外設置のディスプレイ機器等、ネットワーク接続が普及していない機器に応用できる。
また、上記実施形態では、各変換表で変換した英数文字列毎に重み付けをし、最小の重みの英数文字列の変換に利用した変換表を選択するようにしているが、これは例示に過ぎない。例えば、英数文字列の重み付け計算において、英字が文字列の先頭付近、数字が文字列の末尾付近に偏っている英数文字列に大きい値の重み与えるようにしてもよい。或いは、図9の例において、誤認識が起こり易いと考えられる文字に与える重みを、それ以外の文字に与える重みと比べて小さくするようにしてもよい。そして、このような重み付けをした場合、最大の重みを持つ英数文字列の変換に利用した変換表を選択すればよい。
また、上記実施形態では、更新を行う対象のコンテンツが地図データの場合を例にしているがこれは例示に過ぎない。情報処理端末で利用されるデータであれば、プログラムであっても、ゲームソフトであっても、音楽データや映像データであってもかまわない。
また、上述した実施形態の説明では、コンテンツの更新を行うオペレータに対し、ライセンスをファクシミリで連絡するようにしているが、他の方法によりライセンスを連絡するようにしてもよい。例えば、メーカーは、ディーラに、ラインセンスを印刷した紙媒体を郵送するようにしてもよい。
本発明の実施形態のライセンス発行装置の機能ブロック図である。 本発明の実施形態のライセンス検証装置および情報処理端末300の機能ブロック図である。 本実施形態のライセンス発行画面の一例を示した図である。 本実施形態のライセンス発行処理のフローチャートである。 本実施形態のライセンス生成処理に利用する変換表のデータ構造を模擬的に示した図である。 図4に示したS114のライセンス生成処理の詳細を示したフローチャートである。 図6のS132の、ハッシュ値を英数文字列に変換する処理の説明図を示したものである。 図6のS133の英数文字列の重みを計算する処理のフローチャートである。 図6のS133の重みを計算する処理について、図8とは異なる実現方法を示したものである。 図9に示す重み付け処理に利用するテーブルの一例を示した図である。 ライセンス検証装置200におけるコンテンツ更新画面220の一例を示した図である。 本実施形態のコンテンツ更新処理のフローチャートである。 本発明が適用された一実施形態の概略構成図である。
符号の説明
100…ラインセンス発行装置、101…パラメータ入力部、102…シード記録部、103…ハッシュ計算部、104…ライセンス生成部、105…変換表選択部、106…変換表記録部、107…変換表、108…ライセンス表示部、142…変換部、200…ライセンス検証装置、201…ライセンス入力部、202…シード記録部、203…ハッシュ計算部、204…ライセンス生成部、205…変換表選択部、206…変換表記録部、207…変換表、208…ライセンス比較部、209…ファイル操作部、210…コンテンツ記録部、300…情報処理端末、301…固有情報記録部、302…コンテンツ記録部、400…通信線

Claims (14)

  1. コンテンツを利用するためのライセンスを発行するライセンス発行装置であって、
    ライセンスを発行するためのパラメータの入力を受け付けるパラメータ入力部と、
    前記パラメータを一方向性ハッシュ関数に入力してハッシュ値を算出するハッシュ計算部と、
    所定ビットのビット列の組み合わせ毎に、英数字を対応付けた変換表を記憶する記憶部と、
    前記変換表を用いて、前記ハッシュ値を表すビット列の特定部分を英数字の文字列に変換し、該変換した英数字の文字列をライセンスとして出力するライセンス生成部と、を備え
    前記記憶部には、複数種の前記変換表が記憶されていて、
    前記ライセンス生成部は、
    前記複数種の変換表の中から、文字の種別毎に発生位置の偏りが最も大きくなる前記英数字の文字列に変換する変換表を選択し、該選択した変換表で変換した英数字の文字列を前記ライセンスとして出力すること
    を特徴とするライセンス発行装置。
  2. コンテンツを利用するためのライセンスを発行するライセンス発行装置であって、
    ライセンスを発行するためのパラメータの入力を受け付けるパラメータ入力部と、
    前記パラメータを一方向性ハッシュ関数に入力してハッシュ値を算出するハッシュ計算部と、
    所定ビットのビット列の組み合わせ毎に、英数字を対応付けた変換表を記憶する記憶部と、
    前記変換表を用いて、前記ハッシュ値を表すビット列の特定部分を英数字の文字列に変換し、該変換した英数字の文字列をライセンスとして出力するライセンス生成部と、を備え
    前記記憶部には、複数種の前記変換表が記憶されていて、
    前記ライセンス生成部は、
    前記記憶している各変換表を用いて変換した前記英数字の文字列毎に、文字の種別毎に発生位置の偏りを示す値を求め、該偏りを示す値を用いて、該発生位置の偏りが最も大きくなる英数字の文字列に変換する変換表を選択し、該選択した変換表で変換した英数字の文字列を前記ライセンスとして出力すること
    を特徴とするライセンス発行装置。
  3. コンテンツを利用するためのライセンスを発行するライセンス発行装置であって、
    ライセンスを発行するためのパラメータの入力を受け付けるパラメータ入力部と、
    前記パラメータを一方向性ハッシュ関数に入力してハッシュ値を算出するハッシュ計算部と、
    所定ビットのビット列の組み合わせ毎に、英数字を対応付けた変換表を記憶する記憶部と、
    前記変換表を用いて、前記ハッシュ値を表すビット列の特定部分を英数字の文字列に変換し、該変換した英数字の文字列をライセンスとして出力するライセンス生成部と、を備え
    前記記憶部には、複数種の前記変換表が記憶されていて、
    前記ライセンス生成部は、
    文字毎に、所定の重みを対応付けた文字特性情報を保持していて、
    前記記憶している各変換表を用いて変換した前記英数字の文字列毎に、前記文字特性情報を用いて、該英数字の文字列の文字毎の重みの総和を求め、該重みの総和が最小となる英数字の文字列に変換する変換表を選択し、該選択した変換表で変換した英数字の文字列を前記ラインセスとして出力すること
    を特徴とするライセンス発行装置。
  4. 請求項に記載のライセンス発行装置であって、
    前記文字特性情報は、誤認識を起こし易いと推定される文字に、該推定される文字以外の文字に対応付けられている重みと比べて、大きな値の重みが対応付けていること
    を特徴とするライセンス発行装置。
  5. 請求項1からのいずれか一項に記載のライセンス発行装置であって、
    前記ハッシュ値の計算に利用するデータであって、第三者に知られないように管理されているライセンスシードを記憶するシード記録部を有し、
    前記ハッシュ計算部は、前記ハッシュ値を算出する際、前記パラメータに加えて、さらに、前記ライセンスシードを一方向性ハッシュ関数に入力すること
    を特徴とするライセンス発行装置。
  6. コンテンツを利用する情報処理端末に接続されていて、該コンテンツを更新するために必要なライセンスを検証するライセンス検証装置であって、
    コンテンツを記憶しているコンテンツ記録部と、
    前記情報処理端末からパラメータを取得するパラメータ入力部と、
    前記パラメータを一方向性ハッシュ関数に入力してハッシュ値を算出するハッシュ計算部と、
    所定ビットのビット列の組み合わせ毎に、英数字を対応付けた変換表を記憶する変換表記録部と、
    前記変換表を用いて、前記ハッシュ値を表すビット列の特定部分を英数字の文字列に変換して第1ライセンスを生成するライセンス生成部と、
    オペレータからの第2ラインセンスの入力を受け付けるライセンス入力部と、
    前記生成した第1ライセンスと前記受け付けた第2ライセンスとを比較し、両者が一致した場合に、前記記憶しているコンテンツを前記情報処理端末に書き込む書き込み部と、を備え、
    前記記憶部には、複数種の前記変換表が記憶されていて、
    前記ライセンス生成部は、
    前記記憶している各変換表で変換した前記英数字の文字列毎に、文字の種別毎に発生位置の偏りを示す値を求め、該偏りを示す値を用いて、該発生位置の偏りが最も大きくなる前記英数字の文字列に変換する変換表を選択し、該選択した変換表で変換した英数字の文字列を前記第1ライセンスとすること
    を特徴とするライセンス検証装置。
  7. コンテンツを利用する情報処理端末に接続されていて、該コンテンツを更新するために必要なライセンスを検証するライセンス検証装置であって、
    コンテンツを記憶しているコンテンツ記録部と、
    前記情報処理端末からパラメータを取得するパラメータ入力部と、
    前記パラメータを一方向性ハッシュ関数に入力してハッシュ値を算出するハッシュ計算部と、
    所定ビットのビット列の組み合わせ毎に、英数字を対応付けた変換表を記憶する変換表記録部と、
    前記変換表を用いて、前記ハッシュ値を表すビット列の特定部分を英数字の文字列に変換して第1ライセンスを生成するライセンス生成部と、
    オペレータからの第2ラインセンスの入力を受け付けるライセンス入力部と、
    前記生成した第1ライセンスと前記受け付けた第2ライセンスとを比較し、両者が一致した場合に、前記記憶しているコンテンツを前記情報処理端末に書き込む書き込み部と、を備え、
    前記記憶部には、複数種の前記変換表が記憶されていて、
    前記ライセンス生成部は、
    文字毎に、所定の重みを対応付けた文字特性情報を保持していて、
    前記記憶している各変換表で変換した英数字の文字列毎に、前記文字特性情報を用いて、該英数字の文字列の文字毎の重みの総和を求め、該重みの総和が最小となる前記英数字の文字列を変換する変換表を選択し、該選択した変換表で変換した英数字の文字列を前記第1ライセンスとすること
    を特徴とするライセンス検証装置。
  8. 請求項6又は7に記載のライセンス検証装置であって、
    前記ハッシュ値の計算に利用するデータであって、第三者に知られないように管理されているライセンスシードを記憶するシード記録部を有し、
    前記ハッシュ計算部は、前記ハッシュ値を算出する際、前記パラメータに加えて、さらに、前記ライセンスシードを一方向性ハッシュ関数に入力すること
    を特徴とするライセンス検証装置。
  9. コンテンツを利用するためのライセンスを発行するライセンス発行装置が行うライセンス発行方法であって、
    前記ライセンス発行装置は、
    制御装置と、
    所定ビットのビット列の組み合わせ毎に、英数字を対応付けた変換表を記憶する記憶装置と、を備えており、
    前記制御装置は、
    ライセンスを発行するためのパラメータの入力を受け付けるパラメータ入力ステップと、
    前記パラメータを一方向性ハッシュ関数に入力してハッシュ値を算出するハッシュ計算ステップと、
    前記記憶装置から前記変換表を読み出して、前記ハッシュ値を表すビット列の特定部分を英数字の文字列に変換し、該変換した英数字の文字列をライセンスとして出力するライセンス生成ステップと、を実行し、
    前記記憶装置には、複数種の前記変換表が記憶されていて、
    前記ライセンス生成ステップでは、
    前記記憶装置に記憶されている前記複数種の変換表の中から、文字の種別毎に発生位置の偏りが最も大きくなる前記英数字の文字列に変換する変換表を選択し、該選択した変換表で変換した英数字の文字列を前記ライセンスとして出力すること
    を特徴とするラインセンス発行方法。
  10. コンテンツを利用するためのライセンスを発行するライセンス発行装置が行うライセンス発行方法であって、
    前記ライセンス発行装置は、
    制御装置と、
    所定ビットのビット列の組み合わせ毎に、英数字を対応付けた変換表を記憶する記憶装置と、を備えており、
    前記制御装置は、
    ライセンスを発行するためのパラメータの入力を受け付けるパラメータ入力ステップと、
    前記パラメータを一方向性ハッシュ関数に入力してハッシュ値を算出するハッシュ計算ステップと、
    前記記憶装置から前記変換表を読み出して、前記ハッシュ値を表すビット列の特定部分を英数字の文字列に変換し、該変換した英数字の文字列をライセンスとして出力するライセンス生成ステップと、を実行し、
    前記記憶装置には、複数種の前記変換表が記憶されていて、
    前記ライセンス生成ステップでは、
    前記記憶装置に記憶されている各変換表を読み出して変換した前記英数字の文字列毎に、文字の種別毎に発生位置の偏りを示す値を求め、該偏りを示す値を用いて、該発生位置の偏りが最も大きくなる英数字の文字列に変換する変換表を選択し、該選択した変換表で変換した英数字の文字列を前記ライセンスとして出力すること
    を特徴とするラインセンス発行方法。
  11. コンテンツを利用するためのライセンスを発行するライセンス発行装置が行うライセンス発行方法であって、
    前記ライセンス発行装置は、
    制御装置と、
    所定ビットのビット列の組み合わせ毎に、英数字を対応付けた変換表を記憶する記憶装置と、を備えており、
    前記制御装置は、
    ライセンスを発行するためのパラメータの入力を受け付けるパラメータ入力ステップと、
    前記パラメータを一方向性ハッシュ関数に入力してハッシュ値を算出するハッシュ計算ステップと、
    前記記憶装置から前記変換表を読み出して、前記ハッシュ値を表すビット列の特定部分を英数字の文字列に変換し、該変換した英数字の文字列をライセンスとして出力するライセンス生成ステップと、を実行し、
    前記記憶装置には、
    複数種の前記変換表と、
    文字毎に、所定の重みを対応付けた文字特性情報と、が記憶されていて、
    前記ライセンス生成ステップでは、
    前記記憶装置に記憶されている各変換表を読み出して変換した前記英数字の文字列毎に、前記文字特性情報を用いて、該英数字の文字列の文字毎の重みの総和を求め、該重みの総和が最小となる英数字の文字列に変換する変換表を選択し、該選択した変換表で変換した英数字の文字列を前記ラインセスとして出力すること
    を特徴とするラインセンス発行方法。
  12. コンピューターを、コンテンツを利用するためのライセンスを発行する処理を情報処理装置として機能させるためのプログラムであって、
    前記情報処理装置は、
    所定ビットのビット列の組み合わせ毎に、英数字を対応付けた変換表を記憶する記憶装置を備えており、
    前記プログラムは、
    ライセンスを発行するためのパラメータの入力を受け付けるパラメータ入力ステップと、
    前記パラメータを一方向性ハッシュ関数に入力してハッシュ値を算出するハッシュ計算ステップと、
    前記記憶装置から前記変換表を読み出して、前記ハッシュ値を表すビット列の特定部分を英数字の文字列に変換し、該変換した英数字の文字列をライセンスとして出力するライセンス生成ステップと、を前記コンピューターに実行させ、
    前記記憶装置には、複数種の前記変換表が記憶されていて、
    前記ライセンス生成ステップでは、
    前記記憶装置に記憶されている前記複数種の変換表の中から、文字の種別毎に発生位置の偏りが最も大きくなる前記英数字の文字列に変換する変換表を選択し、該選択した変換表で変換した英数字の文字列を前記ライセンスとして出力すること
    を特徴とするプログラム。
  13. コンピューターを、コンテンツを利用するためのライセンスを発行する処理を情報処理装置として機能させるためのプログラムであって、
    前記情報処理装置は、
    所定ビットのビット列の組み合わせ毎に、英数字を対応付けた変換表を記憶する記憶装置を備えており、
    前記プログラムは、
    ライセンスを発行するためのパラメータの入力を受け付けるパラメータ入力ステップと、
    前記パラメータを一方向性ハッシュ関数に入力してハッシュ値を算出するハッシュ計算ステップと、
    前記記憶装置から前記変換表を読み出して、前記ハッシュ値を表すビット列の特定部分を英数字の文字列に変換し、該変換した英数字の文字列をライセンスとして出力するライセンス生成ステップと、を前記コンピューターに実行させ、
    前記記憶装置には、複数種の前記変換表が記憶されていて、
    前記ライセンス生成ステップでは、
    前記記憶装置に記憶されている各変換表を読み出して変換した前記英数字の文字列毎に、文字の種別毎に発生位置の偏りを示す値を求め、該偏りを示す値を用いて、該発生位置の偏りが最も大きくなる英数字の文字列に変換する変換表を選択し、該選択した変換表で変換した英数字の文字列を前記ライセンスとして出力すること
    を特徴とするプログラム。
  14. コンピューターを、コンテンツを利用するためのライセンスを発行する処理を情報処理装置として機能させるためのプログラムであって、
    前記情報処理装置は、
    所定ビットのビット列の組み合わせ毎に、英数字を対応付けた変換表を記憶する記憶装置を備えており、
    前記プログラムは、
    ライセンスを発行するためのパラメータの入力を受け付けるパラメータ入力ステップと、
    前記パラメータを一方向性ハッシュ関数に入力してハッシュ値を算出するハッシュ計算ステップと、
    前記記憶装置から前記変換表を読み出して、前記ハッシュ値を表すビット列の特定部分を英数字の文字列に変換し、該変換した英数字の文字列をライセンスとして出力するライセンス生成ステップと、を前記コンピューターに実行させ、
    前記記憶装置には、
    複数種の前記変換表と、
    文字毎に、所定の重みを対応付けた文字特性情報と、が記憶されていて、
    前記ライセンス生成ステップでは、
    前記記憶装置に記憶されている各変換表を読み出して変換した前記英数字の文字列毎に、前記文字特性情報を用いて、該英数字の文字列の文字毎の重みの総和を求め、該重みの総和が最小となる英数字の文字列に変換する変換表を選択し、該選択した変換表で変換した英数字の文字列を前記ラインセスとして出力すること
    を特徴とするプログラム。
JP2006188782A 2006-07-10 2006-07-10 ライセンス発行装置、ライセンス検証装置、ライセンス発行方法、およびプログラム Expired - Fee Related JP4871659B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006188782A JP4871659B2 (ja) 2006-07-10 2006-07-10 ライセンス発行装置、ライセンス検証装置、ライセンス発行方法、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006188782A JP4871659B2 (ja) 2006-07-10 2006-07-10 ライセンス発行装置、ライセンス検証装置、ライセンス発行方法、およびプログラム

Publications (2)

Publication Number Publication Date
JP2008017378A JP2008017378A (ja) 2008-01-24
JP4871659B2 true JP4871659B2 (ja) 2012-02-08

Family

ID=39073961

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006188782A Expired - Fee Related JP4871659B2 (ja) 2006-07-10 2006-07-10 ライセンス発行装置、ライセンス検証装置、ライセンス発行方法、およびプログラム

Country Status (1)

Country Link
JP (1) JP4871659B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5481965B2 (ja) * 2009-06-26 2014-04-23 富士ゼロックス株式会社 情報処理装置及び情報処理プログラム
KR101525887B1 (ko) * 2014-12-16 2015-06-03 주식회사 비즈니스서비스그룹 내부 네트워크 환경에서 고유한 라이선스 정보를 이용하여 소프트웨어의 무단 설치 및 실행을 제한하는 라이선스 관리 방법 및 이를 수행하는 라이선스 관리 시스템

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3917330B2 (ja) * 1999-04-06 2007-05-23 三菱電機株式会社 共通鍵共有方法
JP2002259344A (ja) * 2001-02-28 2002-09-13 Mitsubishi Electric Corp ワンタイムパスワード認証システム及び携帯電話及びユーザ認証サーバ
JP2005284506A (ja) * 2004-03-29 2005-10-13 Matsushita Electric Ind Co Ltd ダウンロードシステム及びダウンロードシステムを構成する機器、管理局、リムーバブルメディア
JP4687101B2 (ja) * 2004-12-27 2011-05-25 富士通株式会社 データ保護プログラムおよびデータ保護方法

Also Published As

Publication number Publication date
JP2008017378A (ja) 2008-01-24

Similar Documents

Publication Publication Date Title
US11664984B2 (en) Method and system for secure distribution of selected content to be protected on an appliance-specific basis with definable permitted associated usage rights for the selected content
US20240143792A1 (en) Method and system for secure distribution of selected content to be protected
US8891768B2 (en) Increasing data security in enterprise applications by obfuscating encryption keys
US9740849B2 (en) Registration and authentication of computing devices using a digital skeleton key
US8619982B2 (en) Method and system for secure distribution of selected content to be protected on an appliance specific basis
US20080016372A1 (en) Method, apparatus, and program product for revealing redacted information
CN107111698B (zh) 认证服务器装置、存储介质及认证方法
CN101449508A (zh) 保护电子衍生作品的完整性
JP2007280180A (ja) 電子文書
KR20150114764A (ko) 모바일 디바이스를 이용하여 클로닝을 수행하는 화상형성장치 및 방법
KR101422451B1 (ko) 콘텐츠 또는 어플리케이션의 제공 시스템, 콘텐츠 또는 어플리케이션의 제공 시스템의 제어 방법, 단말 장치, 단말 장치의 제어 방법, 인증 장치, 인증 장치의 제어 방법, 및 정보 기억 매체
CN110224811A (zh) 物联网加密处理方法、装置及系统
US20150286843A1 (en) Method and system for modular digital watermarking of electronic files
US20070177823A1 (en) Method, systems, and media for identifying whether a machine readable mark may contain sensitive data
JP2008060671A (ja) 通信システムと管理装置
JP4871659B2 (ja) ライセンス発行装置、ライセンス検証装置、ライセンス発行方法、およびプログラム
JP2009134598A (ja) ワークフローシステム、フロー制御装置、承認装置、プログラム及びワークフロー方法
JP2006268513A (ja) 端末装置のログオン管理装置
JP2008035019A (ja) 電子署名装置
JP6617302B1 (ja) 光学コード、光学コード生成方法とそのプログラム、並びに、光学コード読み取り方法とそのプログラム
JP2006018773A (ja) パスワード認証装置、パスワード認証方法およびパスワード認証プログラム
JP2009294896A (ja) データ保管装置、記憶装置に記憶されたデータの開示プログラム、及びデータの開示方法
JP4481793B2 (ja) サービス提供方法、サービス利用コード発行装置、サービス提供装置、サービス利用コード発行プログラムおよびサービス提供プログラム
JP5422300B2 (ja) 図形データの暗号化・復号装置、および、図形データ閲覧システム
JP2008294734A (ja) コンテンツ管理システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090119

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20100212

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110810

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110823

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111021

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20111115

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111121

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4871659

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141125

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees