JP2004005585A - Server apparatus and program management system - Google Patents
Server apparatus and program management system Download PDFInfo
- Publication number
- JP2004005585A JP2004005585A JP2003111019A JP2003111019A JP2004005585A JP 2004005585 A JP2004005585 A JP 2004005585A JP 2003111019 A JP2003111019 A JP 2003111019A JP 2003111019 A JP2003111019 A JP 2003111019A JP 2004005585 A JP2004005585 A JP 2004005585A
- Authority
- JP
- Japan
- Prior art keywords
- program
- information
- information processing
- processing terminal
- terminal
- 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.)
- Granted
Links
Images
Abstract
Description
【0001】
【発明の属する技術分野】
本発明は、情報処理端末で動作するプログラムの配布を行うサーバ装置、及びサーバ装置と情報処理端末からなるプログラム管理システムに関し、特に不正なプログラムの使用を図る情報処理端末の排除における技術に関する。
【0002】
【従来の技術】
近年のネットワークの発展に伴い、ネットワークを経由して商取引を行う電子商取引システム(Electronic commerce system)、映画、音楽等のコンテンツの配信を行うコンテンツ配信システムが多く発表されている。これらのシステムにおいては、ネットワークを介して接続される機器間で、コンテンツの利用権利、課金に使用する鍵等の価値ある情報データのみでなく、音楽プレーヤプログラム等のプログラム自体を交換することも可能である。また、このようなプログラムの交換は、従来のPC以外にも携帯電話等の組込み機器においても実現されることが予測される。
【0003】
そして、電子ショッピングやコンテンツ配信サービスなど、課金を伴う商用システムをネットワークを介して実現する場合においては、悪意のあるユーザが不正にプログラムを書き換えることが可能であれば、課金情報の操作により無料で商品やコンテンツを購入するなどの不正行為が行われる危険性がある。そのため、ネットワーク経由のプログラム更新による不具合修正や追加を行う場合、悪意のあるユーザの不正使用を防止するために、プログラムの正当性を検証する必要がある。
【0004】
従来プログラムの正当性を検証する方法としては、電子的な署名を用いる方法が存在する(例えば特許文献1参照)。この方法では、公開鍵暗号方式と呼ばれる2つの対となる鍵の組を用いた暗号化データ交換方式を利用する。図20は、この電子的な署名を用いたプログラムの正当性検証方法に関する説明図である。
【0005】
プログラム発行者2000は、プログラム発行の身元を確認し、保証する第三者機関である認証局(CA:Certification Authority)2010に公開鍵2001を送付する。その後、認証局2010は、プログラム発行者2000の身元を確認、審査する。認証局2010がプログラム発行者2000を信頼できると判断した場合、プログラム発行者2000の公開鍵2001に対しCA秘密鍵2012で電子的な署名を行った証明書2003を発行する。証明書2003は公開鍵保有者の身元を識別する情報を含み、認証局2010が公開鍵保有者の身元を保証するものである。そして、認証局2010は、プログラム発行者2000に公開鍵証明書2003を送付する。
【0006】
プログラム発行者2000は、ユーザ2020に配布するプログラムに対し、自己の秘密鍵2002で電子的な署名を行い、公開鍵証明書2003、及び署名付きプログラム2004を配布する。
【0007】
ユーザ2020は、認証局2010からCA公開鍵2011を取得し、CA公開鍵2011を用いてプログラム発行者の公開鍵証明書2003の署名を検証する。署名の検証が正しく行われた場合、公開鍵証明書2003に含まれる公開鍵2001を用いて署名付きプログラム2004の署名を検証する。この署名の検証が正しく行われた場合、配布されたプログラムがプログラム発行者2000から配布されたプログラムであり、改ざんされていないことを検証できる。
【0008】
従って、この正当性検証方式においては、プログラムにプログラム発行者2000の電子的な署名を付加することによりプログラムの正当性を保証して、ユーザ2020は取得したプログラム2021がプログラム発行者2000から正当に配布されたものであることを検証できる。
【0009】
しかし、図20に示す正当性検証方式においては、配布時におけるプログラムの正当性検証は行えるが、配布後の情報処理端末におけるプログラムに関して正当性を保証することはできない。尚、公開鍵暗号方式及び証明書、署名、認証の仕組みに関しては、種々の文献(例えば、非特許文献1)に詳細が記されている。
【0010】
この問題点を解決する方法として、プログラム配布先のユーザ識別子を用いてプログラム配布元でプログラムを暗号化して配布し、ユーザは使用時にユーザ識別子を用いてプログラムを復号化して実行する方法がある(例えば、特許文献2参照)。この方法では、万が一プログラムが不正にコピーされたとしても、ユーザ識別子が一致しなければプログラムを復号し実行することができないため、不正コピー、不正改ざんを防止することが可能となる。
【0011】
また、プログラムの配布装置としては、プログラムの配布に当たって配布の妥当性をプログラムのコピー数とコピー許可数の差により判定して、無制限な配布が行われることを物理的に防ぐことができ、プログラムコピーに関する使用契約を物理的に尊守させる配布装置が開示されている(例えば特許文献3参照)。
【0012】
この発明においては、プログラム配布装置は、プログラム毎に情報処理装置の配布先を記憶して、コピー許可数とコピー数とによりプログラムを配布するプログラム配布装置とすることが可能となる。
【0013】
一方、ネットワークを用いた電子ショッピングやコンテンツ配信サービス等の課金を伴う商用システムを実現する場合、ユーザに対する課金を行うため、ユーザを特定する方法が必要となる。この方法の1つとして、プログラムあるいはプログラムと共に配布する情報の中に、ユーザ毎に割り当てるIDや鍵などの固有情報を含ませる場合がある。この場合、ユーザ毎に固有情報を割り当て、プログラム配布元のサーバ装置側において固有情報を管理することで、ユーザが不正行為を行った際において固有情報を元にユーザを特定することが可能となる。
【0014】
図21は、従来の情報処理端末2101とサーバ装置2102及び2103との間のプログラム管理システムの参考図である。尚、図21においては説明のためにアプリケーションデータ用のサーバ装置2103及びプログラム用のサーバ装置2102に分けて示す。
【0015】
情報処理端末2101は、プログラム配布元となるサーバ装置2102から、例えば好みの音楽データをダウンロードして再生可能な音楽プレーヤプログラムを取得する。この音楽プレーヤプログラムには固有情報「0101」が含まれるとする。尚、プログラムの安全な配布を図るために、通信路はSSL(Secure Socket Layer)を用いて暗号化し、盗聴等のハッキング行為を防止する。
【0016】
情報処理端末2101の利用者が音楽データ等の取得を要求する際においては、情報処理端末2101から前記固有情報「0101」が付与された音楽データ取得要求をアプリケーション用のサーバ装置2103に送信する。そして、サーバ装置2103は、不正な音楽プレーヤプログラムが実行される情報処理端末を排除するための無効化リスト(CRL:certificate revocation list)を有しており、情報処理端末2101から音楽データ取得要求に合わせて送信される固有情報「0101」がCRLに記載されているため情報処理端末2101に音楽データの送信を行わない。尚、CRLに固有情報が記載されていない場合においては要求される音楽データを情報処理端末2101に送る。
【0017】
このように、不正なプログラム使用を行っている情報処理端末2101の有するプログラムの固有情報を特定すれば、CRLを用いて不正使用を図る情報処理端末2101を排除することが可能となる。
【0018】
尚、サーバ装置2102等から情報処理端末2101にダウンロードされるデータに電子的な署名を付加して、情報処理端末2101側で署名検証を行うことにより、ダウンロードデータの改ざん、すり替え、盗聴等を防止して、不正行為からダウンロードデータを守る安全な配布も可能となる。
【0019】
【特許文献1】
特開2000−339153号公報
【0020】
【特許文献2】
特開平7−295800号公報
【0021】
【特許文献3】
特公平6−87220号公報
【0022】
【非特許文献1】
「Applied Cryptography」Bruce Schneier,John Wiley & Sons,Inc(1996)
【0023】
【発明が解決しようとする課題】
しかしながら、上述したプログラム配布元において各ユーザ識別子に応じたプログラム暗号処理を行う方法においては、プログラム配布元にかかる処理の負担が大きくなるという問題が生じる。
【0024】
また、上述したプログラム配布装置がプログラム毎に情報処理装置の配布先を記憶して、コピー許可数とコピー数とによりプログラムを配布する方法は、プログラム配布装置はプログラムの配布要求毎に配布先の装置のIDを確認してコピー許可数に従ってプログラムを配布するものであり、プログラムの不正使用を防止するものではない。
【0025】
さらに、図21に示すサーバ装置2103がプログラムの固有情報を記載したCRLを用いて不正利用を図る情報処理端末2101の排除を行う方法においては、情報処理端末2101が不正にデータを取得しようと試み、サーバ装置2103のCRLにより不正端末としてデータ取得を排除される場合においても、情報処理端末2101の使用者が、別の固有情報のダウンロードをサーバ装置2102から行いプログラムの固有情報を新たな固有情報に更新することによりサーバ装置2103のCRLを用いた排除から回避することが可能となるという問題がある。
【0026】
本発明は以上のような課題に鑑みてなされたものであり、プログラム配布元であるサーバ装置において、固有情報を用いたリストにより排除された不正な情報処理端末が新規な固有情報を取得して排除を回避することを防止するサーバ装置を提供することを第1の目的とする。また、情報処理端末へのプログラム配信においてサーバ装置の処理負担を少なくすることをも目的とする。
【0027】
そして、サーバ装置と情報処理端末との間においてプログラムの配布を行うプログラム管理システムにおいても、不正な情報処理端末からの新規な固有情報の取得要求を排除して情報処理端末でのプログラムの不正使用を防ぐことが可能なプログラム管理システムを提供することを目的とする。
【0028】
【課題を解決するための手段】
前記課題を解決するために、本発明に係るサーバ装置は、外部から書き換えが行えない端末IDを保持する情報処理端末とネットワークを介して接続され前記情報処理端末で動作するプログラムを保持するサーバ装置であって、以前に配布したプログラムと端末IDとの関連を示すテーブルを保持するテーブル保持手段と、前記テーブルを参照して、前記情報処理端末から送信され前記端末IDを伴うプログラム取得要求に対するプログラムの配布の当否を判定する判定手段とを備えることを特徴とする。
【0029】
また、本発明に係るサーバ装置から情報処理端末に配布されるプログラムには、前記情報処理端末で動作するプログラム本体及び前記プログラム本体に使用される固有の情報であるプログラム固有情報が含まれ、前記判定手段は、前記プログラム取得要求に付与されている前記端末IDが前記テーブルに記録されている場合には、前記プログラム固有情報の配布を禁止して前記プログラム本体のみの配布を前記情報処理端末に行うと判定し、前記端末IDが前記テーブルに記載されていない場合には、前記端末IDと前記プログラム固有情報とを対応させて前記テーブルに追加すると共に、前記プログラム本体と前記プログラム固有情報とを前記情報処理端末に配布すると判定することを特徴とする。
【0030】
これらにより、サーバ装置は、情報処理端末が以前に配布したプログラムに対応するプログラム固有情報の新規取得を防止することが可能となり、新たなプログラム固有情報を取得して排除の回避を図る情報処理端末の不正行為を確実に防止することが可能となる。
【0031】
そして、前記課題を解決するために、本発明に係るプログラム管理システムは、外部から書き換えが行えない端末IDを保持する情報処理端末と、当該情報処理端末とネットワークを介して接続され前記情報処理端末で動作するプログラムを保持するサーバ装置とから構成されるプログラム管理システムであって、前記情報処理端末は、前記プログラムの取得を要求する場合には、前記端末IDを付与したプログラム取得要求を前記サーバ装置に送信し、前記サーバ装置は、前記プログラム取得要求を受信して、以前に配布したプログラムと端末IDとの関連を示すテーブルを保持するテーブル保持手段と、前記テーブルを参照して、前記情報処理端末から送信されて前記端末IDが付与されているプログラム取得要求に対するプログラムの配布の当否を判定する判定手段とを備えることを特徴とする。
【0032】
このように、本発明は、上述のようなサーバ装置として実現できるのみではなく、サーバ装置と情報処理端末との間のプログラム管理システムやサーバ装置が備える手段をステップとするプログラム配布方法としても実現できる。また、このプログラム配布方法をコンピュータ等で実現させるプログラムとして実現したり、当該プログラムをCD−ROM等の記録媒体や通信ネットワーク等の伝送媒体を介して流通させることができるのは言うまでもない。
【0033】
【発明の実施の形態】
以下、本発明の実施の形態に係るサーバ装置及びプログラム管理システムについて図面を用いて説明する。
【0034】
(実施の形態1)
図1は本発明の実施の形態1における情報処理端末100とサーバ装置120との構成図を示している。
【0035】
情報処理端末100は、サーバ装置120から取得した電子商取引やコンテンツ配信等に用いられるプログラムを使用する端末装置であり、CPU101、RAM102、プログラムやデータ等の暗号化及び復号化処理を行う暗号処理部103、サーバ装置120との通信を行う通信処理部104、プログラムを格納するプログラム格納部105、CA公開鍵など特に秘匿する必要がない情報を格納するデータ格納部106、及び秘密鍵など秘匿する必要がある情報を格納する秘匿情報格納部107から構成されている。
【0036】
プログラム格納部105は、CPU101で動作するプログラム116を格納する。
【0037】
データ格納部106は、情報処理端末100で使用されるデータのうち特に秘匿する必要がないものを格納すると共に、情報処理端末100に格納されているプログラムのIDやバージョン番号など格納プログラムの管理情報であるプログラム管理情報108及びCA公開鍵109を格納する。
【0038】
また、秘匿情報格納部107は、情報処理端末100内で秘匿する必要がある情報を格納しており、情報処理端末毎に異なる鍵である端末固有鍵110、情報処理端末毎に異なる公開鍵ペアの1つである端末秘密鍵111、プログラムが使用する固有鍵などのプログラム固有情報112、情報処理端末毎に異なる公開鍵ペアの他方である端末公開鍵証明書113を格納する。そして、端末公開鍵証明書113は情報処理端末100を一意に識別するIDである端末ID114、端末公開鍵証明書113に対し認証局が付加したCA署名115を含んでいる。
【0039】
一方、本発明に係るサーバ装置120は、情報処理端末100から要求されるプログラムを配布する装置であり、CPU121、RAM122、プログラムやデータなどの暗号化及び復号化処理を行う暗号処理部123、情報処理端末100との通信を行う通信処理部124、CA公開鍵など特に秘匿する必要がない情報を格納するデータ格納部125、情報処理端末100に配布するプログラムなどの情報を格納する配布情報格納部126、及び固有情報配布履歴保持部140とから構成されている。
【0040】
そして、本発明に係るサーバ装置120は、固有情報配布履歴保持部140を有することを特徴としている。この固有情報配布履歴保持部140は、情報処理端末100に配布したプログラムのプログラム固有情報の履歴を管理するための固有情報配布履歴600を保持している。
【0041】
データ格納部125は、サーバ装置120が使用する情報を格納する領域であり、公開鍵ペアの1つであるサーバ秘密鍵127、公開鍵ペアの他方であるサーバ公開鍵証明書128、及びCA公開鍵129を格納する。サーバ公開鍵証明書128は、サーバを一意に識別するIDであるサーバID130、サーバ公開鍵証明書に対しCAが付加したCA署名131を含んでいる。配布情報格納部126は、サーバ装置120が情報処理端末100に対して配布する情報を格納する領域であり、プログラムヘッダ300、プログラム310、固有情報ヘッダ400、及びプログラム固有情報420を格納する。尚、この配布情報であるプログラム全体の図は後述の図2に示す。
【0042】
配布情報格納部126に格納されているプログラムヘッダ300、プログラム310、固有情報ヘッダ400、及びプログラム固有情報420には第三者認証機関であるCA署名が付加されており、このCA署名により配布情報が正当な配布元から配布されるものであることを保証する。
【0043】
図2は、本実施の形態1に係るサーバ装置120から情報処理端末100側に送信されるプログラム全体200の構成図である。このプログラムの全体200はサーバ装置120の配布情報格納部126に格納される情報であり、本実施の形態1においては、プログラムヘッダ300、プログラム310、固有情報ヘッダ400及びプログラム固有情報420より構成される。また、本発明においては、プログラム全体200をプログラム310及びプログラム固有情報420に分離し、さらに、ヘッダ部とデータ部とに分離することを特徴としている。
【0044】
尚、本実施の形態に係るプログラム管理システムにおいては、情報処理端末100がプログラム310で使用するアプリケーションデータをサーバ装置120等から取得する場合においては、アプリケーションデータ取得要求にプログラム固有情報420を付与して送信する。このことにより、サーバ装置120等が有するプログラム固有情報420を用いたCRLにより不正な情報処理端末を排除することが可能となる。
【0045】
図3(a)及び(b)は、プログラムヘッダ300及びプログラム310に格納される情報の一例を示す図である。
【0046】
プログラムヘッダ300は、プログラム310に関する情報を格納するものであり、次の情報を含む。
【0047】
(1)プログラムヘッダ300が格納する情報がどのプログラム310に対応する情報かを示すプログラムID(301)。(2)対応するプログラム310のバージョン番号(302)。(3)対応するプログラム310のプログラムサイズ(303)。(4)対応するプログラム310のハッシュ値(304)。(5)前記(1)から(4)までの情報を含むプログラムヘッダ300全体に対するCA署名(305)。
【0048】
また、プログラム310には、プログラム310に対するCA署名(311)が付加されている。このように、プログラムヘッダ300及びプログラム310は共にCA署名305及び311を含むため、情報処理端末100においてプログラムヘッダ、プログラムが正当な配布元から配布されたものであることを検証することが可能である。
【0049】
図4(a)及び(b)は、固有情報ヘッダ400及びプログラム固有情報420に格納される情報の一例を示す図である。
【0050】
固有情報ヘッダ400は、プログラム固有情報420に関する情報を格納するものであり、次の情報を含む。
【0051】
(1)固有情報ヘッダ400が格納する情報がどのプログラム固有情報420に対応した情報かを示すプログラム固有情報ID(401)。(2)対応するプログラム固有情報420を使用するプログラム310のプログラムID(402)。(3)対応するプログラム固有情報420が格納する固有情報の数(403)。(4)対応するプログラム固有情報420全体のサイズ(404)。(5)対応するプログラム固有情報420に含まれる個々の固有情報に関する情報を示す固有情報サブヘッダ(405)。固有情報サブヘッダ405はプログラム固有情報420に含まれる個々の固有情報の数(1〜n)だけ存在する。(6)前記(1)から(5)までの情報を含む固有情報ヘッダ400全体に対するCA署名(406)。
【0052】
固有情報サブヘッダ405は、さらに個々の固有情報を識別するためのIDであるプログラム固有情報サブID411、個々の固有情報のサイズ412から構成される。
【0053】
また、プログラム固有情報420は、複数のプログラム固有情報(421)と、プログラム固有情報全体に対するCA署名(422)を含む。このため、固有情報ヘッダ400、プログラム固有情報420は共にCA署名(406及び422)を含むため、情報処理端末100において固有情報ヘッダ400、プログラム固有情報420が正当な配布元から配布されたものであることを検証することが可能である。
【0054】
次に情報処理端末100とサーバ装置120との間で行われるプログラム更新システムにおける動作手順の例を、図5を用いて説明する。このプログラム更新システムにおいて、情報処理端末100は、まず、ヘッダ取得要求を行い、空き領域の確認を行う。また、サーバ装置120においては、固有情報配布履歴保持部140から固有情報配布履歴600を参照することにより、プログラムの不正使用を図る情報処理端末100を排除することが可能となる。
【0055】
最初に、情報処理端末100はサーバ装置120とSSLによる接続を行う(S501)。この際、サーバ装置120は情報処理端末100の端末IDの取得を行う。尚、SSLは、2点間でデータを安全に送受信するために、公開鍵暗号方式と秘密鍵暗号方式を併用して、データを暗号化して送受信する仕組みである。また、SSLではセッション鍵と呼ばれるそのセッションでのみ有効な鍵を共有するため、図5に示すS502以降の情報処理端末100とサーバ装置120間のデータ送受信は、すべてセッション鍵を用いた暗号化データにより行われるものとする。
【0056】
次に、情報処理端末100はサーバ装置120に対し、取得したいプログラム310のプログラムIDを指定してヘッダ取得要求を行う(S502)。この際、サーバ装置120は、固有情報配布履歴保持部140に保持されている固有情報配布履歴600により、端末IDとプログラム固有情報IDとの対応関係を確認する。つまり、情報処理端末100に対して、固有情報IDを既に配布したかどうかを確認する。そして、正規の情報処理端末からのヘッダ取得要求であると判断する場合においては、ヘッダ取得要求を受信したサーバ装置120は、配布情報格納部126に格納したプログラムヘッダ300を情報処理端末100に送信する(S503)。
【0057】
そして、サーバ装置120からプログラムヘッダ300を受信した情報処理端末100は、データ格納部106に格納しているCA公開鍵109を用いて、プログラムヘッダ300に含まれているCA署名を検証する(S504)。これにより、情報処理端末100はプログラムヘッダ300が改ざんされていない正当な配布元から配布された情報であることを検証する。また、プログラムヘッダ300には、プログラムのプログラムID301、バージョン番号302、サイズ303、プログラムのハッシュ値304などプログラムに関する情報が格納されているため、情報処理端末100は、これらの情報と、データ格納部106に格納されているプログラム管理情報108内に記載されているプログラムID、バージョン情報、空き容量情報を比較し、更新対象のプログラム310が正しくサーバ装置120から配布されたか、プログラム310を格納する空き容量が存在するか確認する(S504)。このため、本実施の形態1に係る情報処理端末100はプログラム310のダウンロード中にプログラムの取得不可となるような弊害を防止する。
【0058】
次に、サーバ装置120は配布情報格納部126に格納した固有情報ヘッダ400を情報処理端末100に送信する(S505)。
【0059】
そして、サーバ装置120から固有情報ヘッダ400を受信した情報処理端末100は、データ格納部106に格納しているCA公開鍵109を用いて、固有情報ヘッダ400に含まれているCA署名を検証する(S506)。これにより、情報処理端末100は固有情報ヘッダ400が改ざんされていない、正当な配布元から配布された情報であることを検証する。固有情報ヘッダ400には、プログラム固有情報420を一意に識別するプログラム固有情報ID401、プログラム固有情報に関連するプログラムのプログラムID402、プログラム固有情報で配布される情報に含まれる固有情報の数403、サイズ404などプログラム固有情報420に関する情報が格納されているため、情報処理端末100は、これらの情報と、データ格納部106に格納されているプログラム管理情報108内に記載されているプログラムID、空き容量情報を比較し、更新対象のプログラム310に関するプログラム固有情報420が正しくサーバ装置120から配布されたか、プログラム固有情報420を格納する空き容量が存在するかプログラム310のダウンロードの前に確認する(S506)。
【0060】
そして、情報処理端末100は、プログラム310、プログラム固有情報420の取得が行えると判断した場合、サーバ装置120に対しプログラムIDを指定してプログラム取得要求を行う(S507)。
【0061】
そして、プログラム取得要求を受信したサーバ装置120は、配布情報格納部126に格納したプログラム310を情報処理端末100に送信する(S508)。サーバ装置120からプログラム310を受信した情報処理端末100は、データ格納部106に格納しているCA公開鍵109を用いて、プログラム310に含まれているCA署名を検証する(S509)。これにより、情報処理端末100はプログラム310が改ざんされていない、正当な配布元から配布された情報であることを検証する。取得データの正当性が検証できた場合、取得したプログラム310を秘匿情報格納部107に格納している端末固有鍵110で暗号化し、プログラム格納部105に格納する(S509)。その際、プログラム格納位置やプログラムID、バージョン番号などをプログラム管理情報108に格納し、プログラムの管理を行う。
【0062】
次に、プログラムの格納が完了した後、プログラム格納部105に格納したプログラム116を、端末固有鍵110を用いて復号し、ハッシュ値を算出する。算出した値とプログラムヘッダ300に格納されているハッシュ値の比較を行い、プログラムが正しく格納されていることを確認する(S510)。
【0063】
次に、情報処理端末100はサーバ装置120に対しプログラムIDを指定してプログラム固有情報取得要求を行う(S511)。
【0064】
そして、サーバ装置120は配布情報格納部126に格納したプログラム固有情報420を情報処理端末100に送信する(S512)。サーバ装置120からプログラム固有情報420を受信した情報処理端末100は、データ格納部106に格納しているCA公開鍵109を用いて、プログラム固有情報420に含まれているCA署名を検証する(S513)。これにより、情報処理端末100はプログラム固有情報が改ざんされていない、正当な配布元から配布された情報であることを検証する。取得データの正当性が検証できた場合、取得したプログラム固有情報を秘匿情報格納部107に格納する(S513)。
【0065】
最後に、情報処理端末100におけるプログラム、プログラム固有情報の格納が完了した後、情報処理端末100とサーバ装置120との間の通信を切断する(S514)。
【0066】
このように、本実施の形態1に係る情報処理端末100は、ヘッダ取得要求を行うことによりプログラム310を格納する空き容量が存在するか等の確認して、より安全にプログラムのダウンロードを行うことが可能となる。尚、この場合において、プログラム310及びプログラム固有情報420のハッシュ値を算出して、算出したハッシュ値と、プログラムヘッダ300及びプログラム固有情報ヘッダ400に格納されているハッシュ値とを比較することにより正当な配布情報であることを確認することも考え得る。
【0067】
図6は、固有情報配布履歴保持部140に保持される固有情報配布履歴600の情報格納の一例を示す図である。
【0068】
サーバ装置120は、以前に情報処理端末100に配布したプログラムに対応するプログラム固有情報420と当該情報処理端末100の端末IDとを記録したテーブルを固有情報配布履歴600とする。
【0069】
そして、サーバ装置120は、プログラム固有情報420を配布した情報処理端末100を識別するIDである端末ID601、及び配布したプログラム固有情報420を識別するIDであるプログラム固有情報ID602を固有情報配布履歴保持部140に格納する。また、必要に応じてプログラム固有情報420を最後に配布した日時を示す最終配布日付603を固有情報配布履歴600に格納する。
【0070】
図6においては、サーバ装置120は情報処理端末100に5つのプログラム固有情報420を配布済みであり、それぞれの端末ID601、プログラム固有情報ID602の組は、(端末ID,プログラム固有情報ID)=(0001,0001)、(0002,0002)、(0010,0003)、(0015,0004)、(0020,0005)となる。
【0071】
図7は、サーバ装置120におけるプログラム310の配布手順を示すフローチャートである。
【0072】
最初に、サーバ装置120は情報処理端末100からプログラム配布要求を受信する(S701)。次に、サーバ装置120は、受信したプログラム配布要求に含まれる情報処理端末100の端末IDを取得して(S702)、固有情報配布履歴600に対して取得した端末IDを検索し(S703)、固有情報配布履歴600に同じ端末IDが格納されているか否かの判定を行う(S704)。
【0073】
サーバ装置120は、固有情報配布履歴600に同じ端末IDが格納されていた場合には(S704のY)、情報処理端末100には既にプログラム固有情報420を配布済みであるため、プログラム310のみを送信し処理を終了する(S708)。
【0074】
また、サーバ装置120は、固有情報配布履歴600に同じ端末IDが格納されていない場合(S704でN)、情報処理端末100に対しては新たにプログラム固有情報420を割り当てて(S705)、この新たに割り当てたプログラム固有情報420に関し、端末ID601とプログラム固有情報ID602の対応を追加して固有情報配布履歴600を更新する(S706)。そして、サーバ装置120は、プログラム固有情報420を情報処理端末100に送信し、プログラム310を情報処理端末100に送信して処理を終了する(S708)。
【0075】
このように、サーバ装置120において固有情報配布履歴600を用いてプログラム固有情報を配布管理することにより、1つの情報処理端末100へ複数のプログラム固有情報420を配布することを確実に防止する。これにより、サーバ装置120は、既にCRL等によりプログラム固有情報420を用いて不正端末と認識され、排除されている情報処理端末100に対しては、新たなプログラム固有情報420を割り当てることはない。従って、新たなプログラム固有情報420を取得して排除の回避を図る情報処理端末100の不正行為を防止することが可能となる。
【0076】
図8は、本実施の形態1に係るサーバ装置120を用いたプログラム管理システムを示す全体図である。
【0077】
プログラム用のサーバ装置120aは、プログラム取得要求に対応するプログラムを情報処理端末100に送信する。サーバ装置120bは、情報処理端末100で動作するプログラムに用いるアプリケーションを情報処理端末100に送信する。尚、図8においては、情報処理端末100の保持するプログラムのプログラム固有情報を「0101」として、CRL800の排除からの回避を図るために新たなプログラム固有情報の不正取得を図る端末として説明を行う。また、プログラムの安全な配布を図るために、通信路はSSLを用いて暗号化通信路としている。
【0078】
情報処理端末100の利用者がアプリケーションデータを要求する際においては、情報処理端末100の保持するプログラムのプログラム固有情報「0101」を付与したアプリケーション取得要求をアプリケーションデータ用のサーバ装置120bに送信する。
【0079】
そして、サーバ装置120bは、プログラム固有情報を用いた不正プログラムの無効化リスト(CRL)800を有しており、情報処理端末100からの取得要求に付与されるプログラム固有情報「0101」がCRL800に記載されているためにアプリケーションデータの送信を行わないことで不正な情報処理端末の排除を行う。尚、CRLにプログラム固有情報が記載されていない場合においては、サーバ装置120bは、アプリケーションデータを情報処理端末100に送る。また、サーバ装置120a等からダウンロードするデータにCA署名を付加して、情報処理端末100で署名検証を行うことにより、ダウンロードデータの通信路上での改ざん、すり替え、盗聴等を防止する。
【0080】
プログラム固有情報「0101」がCRL800に記載された情報処理端末100のユーザは、新たな別のプログラム固有情報を得てCRLによる排除を回避するためにプログラム用のサーバ装置120aよりプログラム固有情報の取得要求を行う。
【0081】
このような場合において、本発明に係るサーバ装置120aは、固有情報配布履歴保持部140において、以前に配布したプログラムに関し、情報処理端末100の端末ID「0102」と、プログラム固有情報ID「0101」とを記録した固有情報配布履歴600を有している。
【0082】
そして、情報処理端末100から、新たなプログラム固有情報取得要求をサーバ装置120aに対して行う場合には、サーバ装置120aは、このプログラム固有情報取得要求に付与されている端末ID「0102」が固有情報配布履歴600に記載されているか否か判断して、記載されている場合においては、プログラム固有情報の配布を禁止してプログラム本体のみの配布を前記情報処理端末100に行う。尚、固有情報配布履歴600を参照して、プログラム固有情報取得要求に付与されている端末IDに対応するプログラム固有情報IDが記載されていない場合においては、端末IDとプログラム固有情報IDとを対応させて固有情報配布履歴600に追加すると共に、プログラムとプログラム固有情報とを情報処理端末100に配布する。
【0083】
尚、サーバ装置120aが情報処理端末100に再度配布をしないのは、プログラム固有情報のみであり、プログラムの本体は2回以上配布しても構わない。これは、プログラム固有情報がCRL800により無効化されているため、プログラム固有情報が更新されない限り、不正使用を図る情報処理端末100のユーザが新たなアプリケーションデータを取得することを排除しているためである。
【0084】
図9は、本実施の形態1に係るプログラムヘッダ900とプログラム910に含まれる別のデータ構造を示す図である。図9において、図3と異なる点は、プログラム910にCA署名311を付加しない点である。
【0085】
プログラムヘッダ900は、プログラム910に関する情報を格納するものであり、上述したプログラムヘッダ300と同様の情報であるプログラムID(901)、バージョン番号(902)、プログラムサイズ(903)、ハッシュ値(904)、CA署名(905)を含むものである。
【0086】
プログラムヘッダ900及びプログラム910の正当性検証を情報処理端末100において行う場合、第1に、プログラムヘッダ900をサーバ装置120から取得し、プログラムヘッダ900に付加されたCA署名905を検証する。これにより、情報処理端末100はプログラムヘッダ900が改ざんされていない、正当な配布元から配布された情報であることを検証する。
【0087】
次に、プログラム910のハッシュ値を算出する。算出したハッシュ値と、プログラムヘッダ900に格納されているプログラムのハッシュ値904を比較し、一致することを確認する。これにより、情報処理端末120はプログラム910が改ざんされていない正当な配布元から配布された情報であることを検証することが可能となる。
【0088】
このように、プログラム910の正当性検証にプログラムヘッダ900に格納されたプログラムのハッシュ値904を使用し、プログラムヘッダ900にのみCA署名905を付加することで、プログラム910のCA署名に必要とする情報を低減しながら、プログラムヘッダ900、プログラム910に署名を付加する場合と同様に正当性を検証することが可能となる。また、プログラムヘッダ900とプログラム910の組み合わせが不正に変更された場合、情報処理端末100において、プログラムのハッシュ値を算出することにより組み合わせの異常を検出することが可能となる。尚、プログラム910のCA署名を行わないことにより、プログラム910を認証局に渡してCA署名を行う必要がなくなる。
【0089】
次に、図10を用いて、固有情報ヘッダ1000とプログラム固有情報1020とに含まれる別のデータ構造を示す図である。図10において、図4と異なる点は、固有情報ヘッダ1000がプログラム固有情報ハッシュ値1005を有し、プログラム固有情報1020にCA署名422を付加しない点である。
【0090】
固有情報ヘッダ1000は、プログラム固有情報1020に関する情報を格納するものであり、上述した固有情報ヘッダ400に格納される情報と同様な情報であるプログラム固有情報ID1001、プログラムID1002、固有情報の数1003、プログラム固有情報全体のサイズ1004、プログラム固有情報全体のハッシュ値1005、固有情報サブヘッダ1006、及び固有情報ヘッダ全体に対するCA署名1007より構成される。
【0091】
従って、情報処理端末100は、プログラム固有情報1020のハッシュ値を算出して、算出したハッシュ値と、固有情報ヘッダ1000に格納されているプログラム固有情報のハッシュ値1005とを比較して一致することを確認することにより、プログラム固有情報1020が改ざんされていない、正当な配布元から配布された情報であることを検証することが可能となる。
【0092】
以上のように、本実施の形態1に係るサーバ装置120が固有情報配布履歴保持部140を有することにより、サーバ装置120は、情報処理端末100が以前に配布したプログラムに対応するプログラム固有情報の新規取得を防止することが可能となる。このため、新たなプログラム固有情報420を取得して排除の回避を図る情報処理端末100のハッキング等の不正行為を回避してセキュアなダウンロードを実現できる。
【0093】
また、情報処理端末100においてサーバ装置120から取得したプログラムを内部からのみアクセス可能なセキュアなフラッシュメモリ等に記録されている端末固有鍵110で暗号化することにより、従来のようにサーバ装置においてプログラムを情報処理端末の固有の鍵で暗号化する処理を必要としなくなり、サーバ装置120におけるプログラム暗号化処理の負担を軽減することが可能となる。尚、この場合、情報処理端末100において端末固有鍵110で暗号化した場合、正しく暗号化が行えたことを確認する必要がある。この点に関し本発明では、情報処理端末100は、プログラム格納後に端末固有鍵110で復号し、平文プログラムのハッシュ値による検証を行うことで、情報処理端末100毎に異なる端末固有鍵110による暗号化を意識することなく、プログラム格納の成否を判定することが可能となる。
【0094】
さらに、サーバ装置120は、プログラム全体をプログラム310及びプログラム固有情報420に分離して個別に作成している。従って、サーバ装置120は、各情報処理端末100で異なる情報となる容量の比較的小さなプログラム固有情報420を複数管理して、全情報処理端末100で共通な情報となる容量の大きなプログラム310は1つのみ管理することにより、サーバ装置120で管理する配布情報の容量を格段に低減され、ひいては、情報管理の負担を軽減することが可能となる。
【0095】
そして、サーバ装置120においては、固有情報ヘッダ1000にプログラム固有情報1020のハッシュ値1005を格納し、固有情報ヘッダ1000にのみCA署名1007を付加することで、プログラム910のCA署名に必要とする情報を低減しながら、固有情報ヘッダ1000、プログラム固有情報1020に署名を付加する場合と同様の効果を得ることが可能となる。また、固有情報ヘッダ1000とプログラム固有情報1020の組み合わせが不正に変更された場合、情報処理端末100において、プログラム固有情報1020のハッシュ値を算出することにより組み合わせの異常を検出することが可能となる。
【0096】
尚、本実施の形態1で示した固有情報配布履歴保持部140に保持される固有情報配布履歴600の形式は一例であり、最終配布日付603を削除してもよいし、他の情報を付加してもよい。また、本実施の形態1では固有情報配布履歴600に記載されている端末ID601に対してプログラム固有情報420の配布を拒否しているが、不正取得でない限りにおいては、当該端末ID601を有する情報処理端末100に対して既に配布済みのプログラム固有情報420を再度配布してもよい。
【0097】
そして、本実施の形態1に係るサーバ装置120では、情報処理端末100からの要求はプログラムの配布を伴うプログラム配布要求、又はプログラムの配布を伴わないプログラム固有情報配布要求のいずれかとできる。
【0098】
また、本実施の形態1では情報処理端末100とサーバ装置120間でSSLを用いた暗号化データの送受信を行っているが、2点間で安全にデータの送受信が行える方法であれば、SSLに限らず他のプロトコルを用いてもよい。
【0099】
そして、本実施の形態1ではデータ格納部106とプログラム格納部105を別にしているが、同一の格納部としてもよい。また、秘匿情報格納部107に端末公開鍵証明書113を格納しているが、データ格納部106に格納してもよい。
【0100】
また、本実施の形態1に係るサーバ装置120は、プログラムヘッダ300、固有情報ヘッダ400をプログラム310、プログラム固有情報420とは別に作成しているが、プログラム310とプログラムヘッダ300、プログラム固有情報420と固有情報ヘッダ400をそれぞれ一体の情報とし、サーバ装置120からの配布に先立ちヘッダ部分のみ切り出して情報処理端末100に送信してもよい。
【0101】
さらに、本実施の形態1ではプログラム310、プログラム固有情報420に対し配布時にセッション鍵による暗号化を行う例を示したが、セッション鍵とは異なる鍵でさらに暗号化し、その鍵をプログラムヘッダ300、固有情報ヘッダ400に含めて配布する構成としてもよい。
【0102】
そして、本実施の形態1でハッシュ値と記載している点は、ハッシュアルゴリズムとしてSHA−1、MD5などの既存のハッシュアルゴリズムを使用してもよいし、独自のアルゴリズムを用いてもよい。また、ハッシュアルゴリズムのかわりにチェックサムなどの方法を用いて改ざんの検出を行ってもよい。また、情報処理端末100毎に異なる情報を必要としないプログラムを配布する場合は、プログラム固有情報の配布を行う必要はない。
【0103】
(実施の形態2)
図11は、本発明の実施の形態2に係る情報処理端末1100とサーバ装置1120との構成図を示す。同図において、実施の形態1と異なる点は、サーバ装置1120がプログラム/固有情報対応表保持部1150を保持する点である。
【0104】
このプログラム/固有情報対応表保持部1150は、プログラム固有情報を一意に識別するプログラム固有情報IDと、プログラム固有情報を使用するプログラムを一意に特定するプログラムIDとの対応を示したプログラム/固有情報対応表1210を保持する記憶部である。
【0105】
図12(a)及び(b)は、本実施の形態2に係る固有情報配布履歴1200及びプログラム/固有情報対応表1210に含まれる情報の一例を示す図である。
【0106】
固有情報配布履歴保持部1140は、前述した実施の形態1の固有情報配布履歴600と異なり、配布したプログラム固有情報に対応するプログラムを識別するプログラムID1202が付加されている固有情報配布履歴1200を管理する。尚、固有情報配布履歴1200に格納される端末ID1201、プログラム固有情報ID1203、及び最終配布日付1204については前述した図6と同様のため詳細な説明は省略する。
【0107】
固有情報配布履歴1200の例では、サーバ装置1120は情報処理端末1100に5つのプログラム固有情報ID1203を配布済みであり、それぞれの端末ID1201、プログラムID1202、プログラム固有情報ID1203の組は、(端末ID,プログラムID,プログラム固有情報ID)=(0001,0001,0001)、(0002,0001,0002)、(0010,0001,0003)、(0015,0001,0004)、(0020,0002,1001)となる。
【0108】
また、プログラム/固有情報対応表保持部1150は、プログラム/固有情報対応表1210に、サーバ装置1120が管理しているプログラムのプログラムID1211と、各プログラムが使用するプログラム固有情報を識別するプログラム固有情報ID1212との対応関係を格納する。
【0109】
図12の例では、サーバ装置1120はプログラムIDが0001のプログラムを管理しており、そのプログラムが使用するプログラム固有情報としてプログラム固有情報IDが0001から1000までのプログラム固有情報を管理している。同様にプログラムIDが0002のプログラムと、そのプログラムが使用するプログラム固有情報IDが1001から2000までのプログラム固有情報を管理している。また、プログラム/固有情報対応表1210には、情報処理端末1100に配布済みのプログラム固有情報の再配布を防止するために、次回のプログラム固有情報配布の開始時に、配布すべきプログラム固有情報である配布開始ID1213を格納する。
【0110】
図12の例では、プログラムIDが0001のプログラムに対し新たにプログラム固有情報を割り当てる場合、サーバ装置1120はプログラム固有情報ID0123のプログラム固有情報を割り当てることを示している。同様にプログラムIDが0002のプログラムに対し新たにプログラム固有情報を割り当てる場合、サーバ装置1120はプログラム固有情報ID1423のプログラム固有情報を割り当てることを示している。
【0111】
また、サーバ装置1120は、このプログラム/固有情報対応表1210を用いて、情報処理端末1100からのプログラムIDを指定したプログラム配布要求に対し、そのプログラムIDに対応したプログラム固有情報を配布することとなる。
【0112】
本発明の実施の形態2におけるプログラム配布手順について、図13を用いて説明する。図13は、サーバ装置1120におけるプログラムの配布手順を示すフローチャートである。
【0113】
第1に、サーバ装置1120は情報処理端末1100からプログラム配布要求を受信する(S1301)。このプログラム配布要求は、プログラムIDを指定するものである。
【0114】
次に、サーバ装置1120は、受信したプログラム配布要求から情報処理端末1100の端末ID及びプログラムIDを取得する(S1302)。そして、固有情報配布履歴1200に対して取得した端末ID、プログラムIDを検索し(S1303)、固有情報配布履歴1200に同じ端末IDかつ同じプログラムIDの履歴が格納されているか否か確認する(S1304)。
【0115】
固有情報配布履歴1200に同じ端末IDかつ同じプログラムIDの履歴が格納されていた場合には(S1304でY)、サーバ装置1120は、情報処理端末1100に既に指定プログラムに対するプログラム固有情報1135を配布済みであるため、プログラム1133のみを送信し処理を終了する(S1309)。
【0116】
固有情報配布履歴1200に同じ端末IDかつ同じプログラムIDの履歴が格納されていない場合には(S1304でN)、サーバ装置1120は、プログラム/固有情報対応表1210に格納されている配布開始IDの情報を元に情報処理端末1100へ新たにプログラム固有情報1135を割り当てる(S1305)。
【0117】
次に、サーバ装置1120は、新たに割り当てたプログラム固有情報1135に関し、プログラム/固有情報対応表保持部1150に格納されているプログラム/固有情報対応表1210を参照して、配布開始ID1213の値を更新する(S1306)。また、新たに割り当てたプログラム固有情報1135に関し、端末IDとプログラム固有情報IDの対応を固有情報配布履歴1200に追加する(S1307)。そして、サーバ装置1120は、プログラム固有情報1135を情報処理端末1100に送信し(S1308)、プログラム1133を送信し処理を終了する(S1309)。
【0118】
以上のように、本実施の形態2に係るサーバ装置1120は、固有情報配布履歴保持部1140とプログラム/固有情報対応表保持部1150とを有し、固有情報配布履歴1200とプログラム/固有情報対応表1210を用いてプログラム固有情報の配布管理を行うことにより、1つの情報処理端末1100で動作する同一プログラムに対して複数のプログラム固有情報1135を配布することを防ぐ。このため、新たなプログラム固有情報1135を取得して排除の回避を図る情報処理端末1100がプログラム固有情報1135を新規取得することを防止することが可能となる。
【0119】
また、本実施の形態2に係るサーバ装置1120は、ダウンロード対象のプログラムと、当該プログラムが動作する情報処理端末1100との対応をプログラム/固有情報対応表1210に格納してプログラム固有情報1135の配布をプログラム単位に管理することにより、プログラム毎にプログラム固有情報1135の配布可否を判定することが可能となる。このため、サーバ装置1120はプログラム/固有情報対応表1210を参照して、プログラムを動作対象でない情報処理端末1100に配布することを防止することが可能となる。
【0120】
尚、本実施の形態2ではデータ格納部1106とプログラム格納部1105を別にしているが、同一の格納部としてもよい。また、本実施の形態2で示した固有情報配布履歴1200の形式は一例であり、最終配布日付1204を削除してもよいし、他の情報を付加してもよい。同様にプログラム/固有情報対応表1210の形式も一例であり、配布開始ID1213を別の形式で管理してもよい。例えば、全プログラム固有情報IDを格納したテーブルを持ち、各プログラム固有情報IDに対して割り当て済みか否かを識別するフラグを設けることにより、プログラム固有情報1135の配布状態を管理してもよい。
【0121】
また、本実施の形態2では固有情報配布履歴1200に記載されている端末ID1201に対してプログラム固有情報1135の配布を拒否しているが、その情報処理端末1100に対して既に配布済みのプログラム固有情報1135を再度配布してもよい。また、本実施の形態2では情報処理端末1100からの要求はプログラムの配布を伴うプログラム配布要求、又はプログラムの配布が伴わないプログラム固有情報配布要求とできる。
【0122】
(実施の形態3)
図14は、本実施の形態3に係る情報処理端末1400とサーバ装置1420の構成図を示す。同図において、前述した実施の形態1及び実施の形態2と異なる点は、サーバ装置1420が配布回数情報保持部1440を有する点である。
【0123】
この配布回数情報保持部1440は、サーバ装置1420から同一の情報処理端末1400に対してプログラム固有情報1435を配布した回数を管理するための配布回数情報1500を保持するハードディスクである。
【0124】
図15は、本実施の形態3に係る配布回数情報1500の情報格納例を示す図である。
【0125】
配布回数情報1500には、プログラム固有情報1435を配布した情報処理端末1400を識別するIDである端末ID1501、配布した回数を示す回数カウンタ1502が格納される。同図の例では、端末IDが0001、0002の情報処理端末1400に対してプログラム固有情報1435を1回配布しており、端末IDが0003の情報処理端末1400に対してプログラム固有情報1435を配布していないことが示されている。
【0126】
図16は、サーバ装置1420におけるプログラムの配布手順を示すフローチャートである。
【0127】
まず、サーバ装置1420は情報処理端末1400からプログラム配布要求を受信する(S1601)。次に、サーバ装置1420は、S1601で受信したプログラム配布要求に含まれる情報処理端末1400の端末IDを取得する(S1602)。
【0128】
そして、サーバ装置1420は配布回数情報保持部1440に保持される配布回数情報1500を用いてS1602で取得した端末IDを検索し、回数カウンタの値を取得する(S1603)。また、取得した回数カウンタの値が規定値以上か否かを判定する(S1604)。
【0129】
そして、取得した回数カウンタの値が規定値以上であった場合(S1604でY)、サーバ装置1420は、情報処理端末1400に対しては既にプログラム固有情報1435を規定回数以上配布しているため、プログラム1433のみを送信し処理を終了する(S1608)。
【0130】
一方、取得した回数カウンタの値が規定値未満であった場合(S1604でN)、サーバ装置1420は情報処理端末1400へは新たにプログラム固有情報1435を割り当てる(S1605)。また、サーバ装置1420は配布回数情報保持部1440内に格納されている配布回数情報1500の回数カウンタの値を加算する(S1606)。そして、サーバ装置1420は、プログラム固有情報1435を情報処理端末1400に送信し(S1607)、プログラム1433を送信し処理を終了する(S1608)。
【0131】
このように、本実施の形態3に係るサーバ装置1420は、配布回数情報保持部1440を有し、配布回数情報1500を用いてプログラム固有情報1435の配布管理を行うことにより、1つの情報処理端末1400へ規定値以上のプログラム固有情報1435を配布することを防ぐことができる。特に、規定値を1に設定した場合、本発明の実施の形態1及び実施の形態2と同様に、サーバ装置1420は、プログラム固有情報1435が含む情報を用いて不正端末と認識され、排除されている情報処理端末1400に対し、新たにプログラム固有情報1435を割り当てることにより、不正端末が排除を回避することを防ぐことが可能となる。
【0132】
また、プログラム固有情報1435の配布回数を示す規定値を2以上とすることにより、ハードディスクが故障したような不正の目的でなくプログラムを再度購入するようなユーザに対してプログラム固有情報1435の再配布や新たな配布を正規に行うことが可能となる。
【0133】
尚、本実施の形態3ではデータ格納部1406とプログラム格納部1405を別にしているが、同一の格納部としてもよい。また、本実施の形態3で示した配布回数情報1500の形式は一例であり、他の情報を付加してもよい。また、本実施の形態3では情報処理端末1400からの要求はプログラムの配布を伴うプログラム配布要求、又はプログラムの配布要求を伴わないプログラム固有情報配布要求とできる。
【0134】
(実施の形態4)
図17は、本実施の形態4に係る情報処理端末1700とサーバ装置1720の構成図を示す。同図において、前述の実施の形態3と異なる点は、サーバ装置1720がプログラム/固有情報対応表保持部1750を保持する点である。このプログラム/固有情報対応表保持部1750は、図11において説明したプログラム/固有情報対応表保持部1150と同様の記憶部である。
【0135】
図18(a)及び(b)は、本実施の形態4に係る配布回数情報1800とプログラム/固有情報対応表1810に格納されるデータの一例を示す図である。
【0136】
配布回数情報1800は、配布したプログラムのプログラムID1801、プログラム固有情報1735を配布した情報処理端末1700の端末ID1802、プログラム固有情報を配布した回数を示す回数カウンタ1803を格納する。前記実施の形態3における配布回数情報1500と異なる点は、プログラム固有情報を使用するプログラムを識別するプログラムID1801が付加されている点である。
【0137】
配布回数情報1800は、プログラムIDが0001のプログラムが使用するプログラム固有情報1735を、端末IDが0001、0002の情報処理端末1700に対して1回配布し、端末IDが0003の情報処理端末1700に対してプログラム固有情報1735を配布していないことを示す。また同様に、プログラムIDが0002のプログラムが使用するプログラム固有情報1735を、端末IDが0001の情報処理端末1700に対して1回配布しており、端末IDが0002、0003の情報処理端末1700に対してプログラム固有情報1735を配布していないことを示している。
【0138】
尚、プログラム/固有情報対応表1810は、前述した図12におけるプログラム/固有情報対応表1210と同様であり、詳細な説明は省略する。
【0139】
図19は、サーバ装置1720におけるプログラムの配布手順を示すフローチャートである。
【0140】
まず、サーバ装置1720は情報処理端末1700からプログラム配布要求を受信する(S1901)。このプログラム配布要求には、情報処理端末1700より取得の要求されるプログラムのプログラムIDを含む。次に、サーバ装置1720は、S1901で受信したプログラム配布要求に含まれる情報処理端末1700の端末ID、プログラムIDを取得する(S1902)。
【0141】
そして、サーバ装置1720は、配布回数情報1800に対してS1902で取得した端末ID、プログラムIDを検索し、回数カウンタの値を取得する(S1903)。次に、取得した回数カウンタの値が規定値以上か否かを判定する(S1904)。
【0142】
また、取得した回数カウンタの値が規定値以上であった場合(S1904でY)、サーバ装置1720は、情報処理端末1700へは既にプログラム固有情報1735を規定回数以上配布しているため、プログラム1733のみを送信し処理を終了する(S1909)。
【0143】
次に、取得した回数カウンタの値が規定値未満であった場合(S1904でN)、サーバ装置1720は、プログラム/固有情報対応表1810に格納されている配布開始IDの情報を元に情報処理端末1700へ新たにプログラム固有情報1735を割り当てる(S1905)。
【0144】
そして、サーバ装置1720は、S1905で新たに割り当てたプログラム固有情報1735に関し、プログラム/固有情報対応表1810に格納されている配布開始IDの値を更新する(S1906)。また、配布回数情報1800内に格納されている回数カウンタの値を加算し(S1907)、プログラム固有情報1735を情報処理端末1700に送信し(S1908)、プログラム1733を送信し処理を終了する(S1909)。
【0145】
以上のように、本実施の形態4に係るサーバ装置1720は、配布回数情報保持部1740とプログラム/固有情報対応表保持部1750とを有し、各保持部に保持される配布回数情報1800及びプログラム/固有情報対応表1810を用いてプログラム固有情報1735を配布管理することにより、1つの情報処理端末1700で動作する同一プログラムに対して規定値以上のプログラム固有情報1735を配布することを防いで、プログラム固有情報1735の不正使用を図る情報処理端末1700を排除することが可能となる。
【0146】
また、本実施の形態4では、サーバ装置1720は、プログラム固有情報の配布をプログラム単位に管理することにより、プログラム毎にプログラム固有情報1735の配布可否を判定することが可能となる。
【0147】
尚、本実施の形態4ではデータ格納部1706とプログラム格納部1705を別にしているが、同一の格納部としてもよい。また、本実施の形態4で示した配布回数情報1800の形式は一例であり、他の情報を付加してもよい。同様にプログラム/固有情報対応表1810の形式も一例であり、別の形式で管理してもよい。また、本実施の形態4では情報処理端末1700からの要求はプログラムの配布を伴うプログラム配布要求、又はプログラムの配布を伴わないプログラム固有情報配布要求とできる。
【0148】
【発明の効果】
以上のように、本発明に係るサーバ装置は、固有情報配布履歴保持部を有することにより、情報処理端末が以前に配布したプログラムに対応するプログラム固有情報の新規取得を防止することが可能となり、新たなプログラム固有情報を取得して排除の回避を図る情報処理端末の不正行為を確実に防止することが可能となる。
【0149】
また、本発明に係る情報処理端末は、サーバ装置から取得したプログラムを端末固有鍵で暗号化することにより、サーバ装置におけるプログラム暗号化処理の負担を軽減することが可能となる。さらに、本発明に係るサーバ装置は、プログラム全体をプログラム及びプログラム固有情報に分離して個別に作成しているため、サーバ装置は、各情報処理端末で異なる情報となる容量の比較的小さなプログラム固有情報を複数管理して、全情報処理端末で共通な情報となる容量の大きなプログラムは1つのみ管理して、サーバ装置で管理する配布情報の容量を低減することが可能となり、情報管理の負担を軽減することが可能となる。
【0150】
そして、本発明に係るサーバ装置から情報処理端末に配布されるプログラムの全体には、情報処理端末で動作するプログラム本体、プログラムヘッダ、プログラム固有情報、及び固有情報ヘッダが含まれるため、プログラムを構成する各情報にCA署名やハッシュ値を用いることにより、サーバ装置から情報処理端末に配布される情報の正当性を確認することが可能となる。
【図面の簡単な説明】
【図1】実施の形態1における情報処理端末とサーバ装置との構成図を示している。
【図2】本実施の形態1に係るサーバ装置から情報処理端末側に送信されるプログラム全体の構成図である。
【図3】プログラムヘッダ及びプログラムに格納される情報の一例を示す図である。
【図4】固有情報ヘッダ及びプログラム固有情報に格納される情報の一例を示す図である。
【図5】情報処理端末とサーバ装置と間で行われるプログラム更新システムにおける動作手順を示す図である。
【図6】固有情報配布履歴保持部に保持される固有情報配布履歴の情報格納の一例を示す図である。
【図7】サーバ装置におけるプログラムの配布手順を示すフローチャートである。
【図8】本実施の形態1に係るサーバ装置を用いたプログラム管理システムを示す全体図である。
【図9】本実施の形態1に係るプログラムヘッダとプログラムに含まれる別のデータ構造を示す図である。
【図10】固有情報ヘッダとプログラム固有情報とに含まれる別のデータ構造を示す図である。
【図11】本発明の実施の形態2に係る情報処理端末とサーバ装置との構成図を示す。
【図12】本実施の形態2に係る固有情報配布履歴及びプログラム/固有情報対応表に含まれる情報の一例を示す図である。
【図13】サーバ装置におけるプログラムの配布手順を示すフローチャートである。
【図14】本実施の形態3に係る情報処理端末とサーバ装置の構成図を示す。
【図15】本実施の形態3に係る配布回数情報の情報格納例を示す図である。
【図16】サーバ装置におけるプログラムの配布手順を示すフローチャートである。
【図17】本実施の形態4に係る情報処理端末とサーバ装置の構成図を示す。
【図18】本実施の形態4に係る配布回数情報とプログラム/固有情報対応表に格納されるデータの一例を示す図である。
【図19】サーバ装置におけるプログラムの配布手順を示すフローチャートである。
【図20】従来の電子的な署名を用いたプログラムの正当性検証方法に関する説明図である。
【図21】従来の情報処理端末とサーバ装置との間のプログラム管理システムの参考図である。
【符号の説明】
100 情報処理端末
105 プログラム格納部
106 データ格納部
107 秘匿情報格納部
120 サーバ装置
125 データ格納部
126 配布情報格納部
132 プログラムヘッダ
133 プログラム
134 固有情報ヘッダ
135 プログラム固有情報
140 固有情報配布履歴保持部
300 プログラムヘッダ
304 ハッシュ値
305 CA署名
310 プログラム
400 固有情報ヘッダ
420 プログラム固有情報
600 固有情報配布履歴
1150 プログラム/固有情報対応表保持部
1200 固有情報配布履歴
1210 プログラム/固有情報対応表
1440 配布回数情報保持部
1500 配布回数情報
1800 配布回数情報
1810 プログラム/固有情報対応表[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a server device that distributes a program that runs on an information processing terminal, and a program management system that includes the server device and the information processing terminal, and more particularly to a technique for eliminating an information processing terminal that attempts to use an unauthorized program.
[0002]
[Prior art]
Along with the development of networks in recent years, many electronic commerce systems (Electronic commerce systems) that perform commercial transactions via networks and content distribution systems that distribute contents such as movies and music have been announced. In these systems, it is possible to exchange not only valuable information data such as content usage rights and keys used for charging, but also the music player program and other programs between devices connected via a network. It is. In addition to the conventional PC, such program exchange is expected to be realized not only in a conventional PC but also in an embedded device such as a mobile phone.
[0003]
When a commercial system that involves charging, such as electronic shopping and content distribution services, is realized via a network, if the malicious user can rewrite the program illegally, it is free by operating the charging information. There is a risk of fraudulent activities such as purchasing goods and content. Therefore, when correcting or adding a defect by updating a program via a network, it is necessary to verify the validity of the program in order to prevent unauthorized use by a malicious user.
[0004]
As a method for verifying the validity of a conventional program, there is a method using an electronic signature (see, for example, Patent Document 1). In this method, an encrypted data exchange method using a pair of keys called a public key encryption method is used. FIG. 20 is an explanatory diagram relating to a program validity verification method using this electronic signature.
[0005]
The
[0006]
The
[0007]
The
[0008]
Therefore, in this validity verification method, the validity of the program is guaranteed by adding the electronic signature of the
[0009]
However, in the validity verification method shown in FIG. 20, the validity of the program at the time of distribution can be verified, but the validity of the program in the information processing terminal after distribution cannot be guaranteed. The public key cryptosystem, certificate, signature, and authentication mechanism are described in detail in various documents (for example, Non-Patent Document 1).
[0010]
As a method for solving this problem, there is a method in which a program distribution source encrypts and distributes the program using the user identifier of the program distribution destination, and the user decrypts and executes the program using the user identifier when used ( For example, see Patent Document 2). In this method, even if the program is illegally copied, the program cannot be decrypted and executed unless the user identifiers match, so that illegal copying and tampering can be prevented.
[0011]
In addition, as a program distribution device, the validity of distribution can be determined by the difference between the number of copies of the program and the number of permitted copies, and it is possible to physically prevent unrestricted distribution. A distribution device that physically respects a use contract related to copying is disclosed (for example, see Patent Document 3).
[0012]
In the present invention, the program distribution apparatus can be a program distribution apparatus that stores the distribution destination of the information processing apparatus for each program and distributes the program according to the number of permitted copies and the number of copies.
[0013]
On the other hand, when realizing a commercial system that involves charging such as electronic shopping or content distribution service using a network, a method for specifying the user is required to charge the user. As one of the methods, there is a case where unique information such as an ID and a key assigned to each user is included in the program or information distributed together with the program. In this case, by assigning unique information to each user and managing the unique information on the server device side of the program distribution source, it becomes possible to identify the user based on the unique information when the user performs an illegal act. .
[0014]
FIG. 21 is a reference diagram of a program management system between a conventional
[0015]
The
[0016]
When the user of the
[0017]
As described above, by identifying the unique information of the program possessed by the
[0018]
It is to be noted that electronic data is added to data downloaded from the
[0019]
[Patent Document 1]
JP 2000-339153 A
[0020]
[Patent Document 2]
JP 7-295800 A
[0021]
[Patent Document 3]
Japanese Patent Publication No. 6-87220
[0022]
[Non-Patent Document 1]
"Applied Cryptography", Bruce Schneier, John Wiley & Sons, Inc (1996)
[0023]
[Problems to be solved by the invention]
However, in the above-described method of performing program encryption processing according to each user identifier at the program distributor, there is a problem that the processing burden on the program distributor increases.
[0024]
The above-described program distribution apparatus stores the distribution destination of the information processing apparatus for each program and distributes the program according to the number of permitted copies and the number of copies. The device ID is confirmed and the program is distributed according to the number of permitted copies, and this does not prevent unauthorized use of the program.
[0025]
Furthermore, in the method in which the
[0026]
The present invention has been made in view of the above problems, and in a server device that is a program distribution source, an unauthorized information processing terminal excluded by a list using unique information acquires new unique information. A first object is to provide a server device that prevents the exclusion from being avoided. Another object of the present invention is to reduce the processing load on the server device in distributing programs to information processing terminals.
[0027]
Even in a program management system that distributes a program between a server device and an information processing terminal, an unauthorized use of the program on the information processing terminal by eliminating a request for acquisition of new unique information from an unauthorized information processing terminal It is an object of the present invention to provide a program management system capable of preventing the occurrence of a problem.
[0028]
[Means for Solving the Problems]
In order to solve the above problems, a server apparatus according to the present invention is a server apparatus that holds a program that is connected to an information processing terminal that holds a terminal ID that cannot be rewritten from the outside via a network and that operates on the information processing terminal. A table holding means for holding a table indicating a relationship between a previously distributed program and a terminal ID, and a program for a program acquisition request transmitted from the information processing terminal and associated with the terminal ID with reference to the table And determining means for determining whether the distribution is successful.
[0029]
Further, the program distributed to the information processing terminal from the server device according to the present invention includes a program main body that operates on the information processing terminal and program specific information that is specific information used for the program main body, When the terminal ID assigned to the program acquisition request is recorded in the table, the determination unit prohibits distribution of the program specific information and distributes only the program main body to the information processing terminal. If the terminal ID is not listed in the table, the terminal ID and the program specific information are associated with each other and added to the table, and the program body and the program specific information are It is determined to distribute to the information processing terminal.
[0030]
As a result, the server apparatus can prevent new acquisition of program specific information corresponding to a program previously distributed by the information processing terminal, and information processing terminal that acquires new program specific information and avoids exclusion It is possible to surely prevent illegal acts.
[0031]
In order to solve the above problems, a program management system according to the present invention includes an information processing terminal holding a terminal ID that cannot be rewritten from the outside, and the information processing terminal connected to the information processing terminal via a network. A program management system including a server device that holds a program that operates in the above-described case, wherein when the information processing terminal requests acquisition of the program, the server acquires a program acquisition request assigned with the terminal ID. And the server device receives the program acquisition request, stores table indicating a relationship between a previously distributed program and a terminal ID, and refers to the table to store the information. A program for a program acquisition request transmitted from a processing terminal and assigned with the terminal ID Characterized in that it comprises a judging means for judging propriety of the fabric.
[0032]
As described above, the present invention can be realized not only as the server device as described above, but also as a program distribution method in which the program management system between the server device and the information processing terminal and the means included in the server device are steps. it can. Needless to say, the program distribution method can be realized as a program that is realized by a computer or the like, or the program can be distributed via a recording medium such as a CD-ROM or a transmission medium such as a communication network.
[0033]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, a server device and a program management system according to an embodiment of the present invention will be described with reference to the drawings.
[0034]
(Embodiment 1)
FIG. 1 shows a configuration diagram of an
[0035]
The
[0036]
The
[0037]
The
[0038]
The secret
[0039]
On the other hand, the
[0040]
The
[0041]
The
[0042]
The
[0043]
FIG. 2 is a configuration diagram of the
[0044]
In the program management system according to the present embodiment, when the
[0045]
FIGS. 3A and 3B are diagrams illustrating examples of information stored in the
[0046]
The
[0047]
(1) A program ID (301) indicating which
[0048]
Further, a CA signature (311) for the
[0049]
4A and 4B are diagrams illustrating examples of information stored in the
[0050]
The
[0051]
(1) A program unique information ID (401) indicating which program
[0052]
The
[0053]
The program
[0054]
Next, an example of an operation procedure in the program update system performed between the
[0055]
First, the
[0056]
Next, the
[0057]
The
[0058]
Next, the
[0059]
Then, the
[0060]
When the
[0061]
Then, the
[0062]
Next, after the storage of the program is completed, the
[0063]
Next, the
[0064]
Then, the
[0065]
Finally, after the storage of the program and program specific information in the
[0066]
As described above, the
[0067]
FIG. 6 is a diagram illustrating an example of information storage of the unique
[0068]
The
[0069]
Then, the
[0070]
In FIG. 6, the
[0071]
FIG. 7 is a flowchart showing a procedure for distributing the
[0072]
First, the
[0073]
If the same terminal ID is stored in the unique information distribution history 600 (Y in S704), the
[0074]
If the same terminal ID is not stored in the unique information distribution history 600 (N in S704), the
[0075]
As described above, by distributing and managing the program specific information using the specific
[0076]
FIG. 8 is an overall view showing a program management system using the
[0077]
The
[0078]
When the user of the
[0079]
The
[0080]
The user of the
[0081]
In such a case, the
[0082]
When a new program specific information acquisition request is made from the
[0083]
The
[0084]
FIG. 9 is a diagram showing another data structure included in the
[0085]
The
[0086]
When verifying the validity of the
[0087]
Next, the hash value of the
[0088]
In this way, the
[0089]
Next, FIG. 10 is a diagram showing another data structure included in the
[0090]
The
[0091]
Therefore, the
[0092]
As described above, the
[0093]
Further, by encrypting the program acquired from the
[0094]
Further, the
[0095]
The
[0096]
The format of the unique
[0097]
In the
[0098]
In the first embodiment, encrypted data is transmitted / received using SSL between the
[0099]
In the first embodiment, the
[0100]
The
[0101]
Furthermore, in the first embodiment, the
[0102]
The point described as the hash value in the first embodiment may use an existing hash algorithm such as SHA-1 or MD5 as a hash algorithm, or may use an original algorithm. Further, alteration detection may be performed using a method such as checksum instead of the hash algorithm. Further, when distributing a program that does not require different information for each
[0103]
(Embodiment 2)
FIG. 11 shows a configuration diagram of an
[0104]
This program / unique information correspondence
[0105]
12A and 12B are diagrams showing examples of information included in the unique
[0106]
Unlike the unique
[0107]
In the example of the specific
[0108]
Further, the program / unique information correspondence
[0109]
In the example of FIG. 12, the
[0110]
In the example of FIG. 12, when new program specific information is assigned to a program with a program ID of 0001, the
[0111]
Further, the
[0112]
A program distribution procedure according to the second embodiment of the present invention will be described with reference to FIG. FIG. 13 is a flowchart showing a program distribution procedure in the
[0113]
First, the
[0114]
Next, the
[0115]
When the history of the same terminal ID and the same program ID is stored in the unique information distribution history 1200 (Y in S1304), the
[0116]
If the unique
[0117]
Next, the
[0118]
As described above, the
[0119]
The
[0120]
In the second embodiment, the
[0121]
In the second embodiment, distribution of the program
[0122]
(Embodiment 3)
FIG. 14 shows a configuration diagram of an
[0123]
The distribution number
[0124]
FIG. 15 is a diagram showing an example of information storage of
[0125]
The
[0126]
FIG. 16 is a flowchart showing a program distribution procedure in the
[0127]
First, the
[0128]
Then, the
[0129]
If the acquired count counter value is equal to or greater than the specified value (Y in S1604), the
[0130]
On the other hand, if the value of the acquired number counter is less than the specified value (N in S1604), the
[0131]
As described above, the
[0132]
Further, by setting the specified value indicating the number of distributions of the program
[0133]
Although the
[0134]
(Embodiment 4)
FIG. 17 shows a configuration diagram of an
[0135]
18A and 18B are diagrams showing examples of data stored in the
[0136]
The
[0137]
The
[0138]
The program / unique information correspondence table 1810 is the same as the program / unique information correspondence table 1210 in FIG. 12 described above, and a detailed description thereof will be omitted.
[0139]
FIG. 19 is a flowchart showing a program distribution procedure in the
[0140]
First, the
[0141]
Then, the
[0142]
If the acquired count counter value is equal to or greater than the specified value (Y in S1904), the
[0143]
Next, when the value of the acquired number counter is less than the specified value (N in S1904), the
[0144]
Then, the
[0145]
As described above, the
[0146]
In the fourth embodiment, the
[0147]
In the fourth embodiment, the
[0148]
【The invention's effect】
As described above, the server device according to the present invention has the unique information distribution history holding unit, thereby making it possible to prevent new acquisition of program unique information corresponding to a program previously distributed by the information processing terminal, It is possible to reliably prevent an illegal action of an information processing terminal that acquires new program specific information and avoids exclusion.
[0149]
In addition, the information processing terminal according to the present invention can reduce the burden of the program encryption processing in the server device by encrypting the program acquired from the server device with the terminal unique key. Furthermore, since the server device according to the present invention separately creates the program as a whole and the program-specific information, the server device is unique to the program having a relatively small capacity that is different information in each information processing terminal. It is possible to manage a plurality of information and manage only one large-capacity program that becomes information common to all information processing terminals, thereby reducing the capacity of distribution information managed by the server device, and the burden of information management Can be reduced.
[0150]
The entire program distributed to the information processing terminal from the server device according to the present invention includes a program main body that operates on the information processing terminal, a program header, program unique information, and unique information header. By using a CA signature or a hash value for each piece of information, it is possible to confirm the validity of the information distributed from the server device to the information processing terminal.
[Brief description of the drawings]
FIG. 1 shows a configuration diagram of an information processing terminal and a server device in a first embodiment.
FIG. 2 is a configuration diagram of an entire program transmitted from the server apparatus according to the first embodiment to the information processing terminal side.
FIG. 3 is a diagram illustrating an example of information stored in a program header and a program.
FIG. 4 is a diagram illustrating an example of information stored in a unique information header and program unique information.
FIG. 5 is a diagram illustrating an operation procedure in a program update system performed between an information processing terminal and a server device.
FIG. 6 is a diagram illustrating an example of information storage of unique information distribution history held in a unique information distribution history holding unit.
FIG. 7 is a flowchart showing a program distribution procedure in the server apparatus.
FIG. 8 is an overall view showing a program management system using the server device according to the first embodiment.
FIG. 9 is a diagram showing a program header and another data structure included in the program according to the first embodiment.
FIG. 10 is a diagram showing another data structure included in the unique information header and the program unique information.
FIG. 11 shows a configuration diagram of an information processing terminal and a server device according to Embodiment 2 of the present invention.
FIG. 12 is a diagram showing an example of information included in a unique information distribution history and a program / unique information correspondence table according to the second embodiment.
FIG. 13 is a flowchart showing a program distribution procedure in the server apparatus.
FIG. 14 shows a configuration diagram of an information processing terminal and a server device according to the third embodiment.
FIG. 15 is a diagram showing an example of information storage of distribution count information according to the third embodiment.
FIG. 16 is a flowchart showing a program distribution procedure in the server apparatus.
FIG. 17 shows a configuration diagram of an information processing terminal and a server device according to the fourth embodiment.
FIG. 18 is a diagram showing an example of data stored in a distribution count information and program / unique information correspondence table according to the fourth embodiment.
FIG. 19 is a flowchart showing a program distribution procedure in the server apparatus.
FIG. 20 is an explanatory diagram relating to a program validity verification method using a conventional electronic signature.
FIG. 21 is a reference diagram of a program management system between a conventional information processing terminal and a server device.
[Explanation of symbols]
100 Information processing terminal
105 Program storage
106 Data storage unit
107 Secret information storage unit
120 server device
125 Data storage
126 Distribution information storage unit
132 Program header
133 program
134 Unique information header
135 Program specific information
140 Unique Information Distribution History Holding Unit
300 Program header
304 hash value
305 CA signature
310 program
400 Unique information header
420 Program specific information
600 Specific information distribution history
1150 Program / unique information correspondence table holding unit
1200 Unique information distribution history
1210 Program / specific information correspondence table
1440 Distribution number information holding unit
1500 Distribution count information
1800 Distribution count information
1810 Program / specific information correspondence table
Claims (17)
以前に配布したプログラムと端末IDとの関連を示すテーブルを保持するテーブル保持手段と、
前記テーブルを参照して、前記情報処理端末から送信され前記端末IDを伴うプログラム取得要求に対するプログラムの配布をするか否かを判定する判定手段とを備える
ことを特徴とするサーバ装置。A server device that holds a program that is connected to an information processing terminal that holds a terminal ID that cannot be rewritten from the outside via a network and that operates on the information processing terminal,
Table holding means for holding a table indicating a relationship between a previously distributed program and a terminal ID;
A server apparatus comprising: a determination unit that refers to the table and determines whether to distribute a program in response to a program acquisition request transmitted from the information processing terminal and accompanied by the terminal ID.
前記判定手段は、
前記プログラム取得要求に付与されている前記端末IDが前記テーブルに記録されている場合には、前記プログラム固有情報の配布を禁止して前記プログラム本体のみの配布を前記情報処理端末に行うと判定し、
前記端末IDが前記テーブルに記載されていない場合には、前記端末IDと前記プログラム固有情報とを対応させて前記テーブルに追加すると共に、前記プログラム本体と前記プログラム固有情報とを前記情報処理端末に配布すると判定する
ことを特徴とする請求項1記載のサーバ装置。The program includes a program main body that operates on the information processing terminal, and program specific information that is specific information used for the program main body,
The determination means includes
When the terminal ID assigned to the program acquisition request is recorded in the table, it is determined that distribution of the program specific information is prohibited and only the program main body is distributed to the information processing terminal. ,
If the terminal ID is not described in the table, the terminal ID and the program specific information are associated with each other and added to the table, and the program body and the program specific information are added to the information processing terminal. The server device according to claim 1, wherein the server device is determined to be distributed.
前記情報処理端末からの前記プログラム取得要求に対して、前記プログラム本体の配布は前記プログラム取得要求毎に行うと判定する一方、前記プログラム固有情報の配布は1回のみ行うと判定する
ことを特徴とする請求項2記載のサーバ装置。The determination means includes
In response to the program acquisition request from the information processing terminal, it is determined that distribution of the program body is performed for each program acquisition request, while distribution of the program specific information is determined only once. The server device according to claim 2.
前記端末IDと前記プログラム固有情報の配布回数とを示すテーブルを保持し、
前記判定手段は、
前記テーブルを参照して、前記情報処理端末より配布された前記プログラム取得要求に付与されている前記端末IDに対応する配布回数が規定値に達している場合においては、前記プログラム固有情報の配布を禁止して前記プログラム本体のみの配布を前記情報処理端末に行うと判定し、
前記テーブルを参照して、前記情報処理端末より配布された前記プログラム取得要求に付与されている前記端末IDに対応する配布回数が規定値に達していない場合においては、前記端末IDに対応させて前記テーブルに記載されている配布回数を更新すると共に、前記プログラム本体と前記プログラム固有情報とを前記情報処理端末に配布すると判定する
ことを特徴とする請求項1記載のサーバ装置。The table holding means is
Holding a table indicating the terminal ID and the number of distributions of the program specific information;
The determination means includes
With reference to the table, when the number of distributions corresponding to the terminal ID assigned to the program acquisition request distributed from the information processing terminal has reached a specified value, the program specific information is distributed. Determining that distribution of only the program main body to the information processing terminal is prohibited,
Referring to the table, if the number of distributions corresponding to the terminal ID given to the program acquisition request distributed from the information processing terminal has not reached a prescribed value, The server apparatus according to claim 1, wherein the server device updates the number of distributions described in the table and determines to distribute the program body and the program specific information to the information processing terminal.
前記情報処理端末からのプログラム取得要求に付与されている前記端末IDと、前記端末IDの情報処理端末に配布した前記プログラム本体を一意に特定するプログラム本体IDと、前記端末IDの情報処理端末にプログラム固有情報を配布した回数を示す配布回数との関連を示すテーブルを保持し、
前記判定手段は、
前記テーブルを参照して、前記情報処理端末より配布された前記プログラム取得要求に付与されている前記端末IDと前記プログラムIDとの両方に対応する配布回数が規定値に達している場合においては、前記プログラム固有情報の配布を禁止して前記プログラム本体のみの配布を前記情報処理端末に行うと判定し、前記テーブルを参照して、前記情報処理端末より配布された前記プログラム取得要求に付与されている前記端末ID及び前記プログラムIDに対応する配布回数が規定値に達していない場合においては、前記端末IDと前記プログラムIDとに対応させて前記テーブルに記載されている配布回数を更新すると共に、前記プログラム本体と前記プログラム固有情報とを前記情報処理端末に配布すると判定する
ことを特徴とする請求項4記載のサーバ装置。The table holding means is
The terminal ID given to the program acquisition request from the information processing terminal, the program body ID uniquely identifying the program body distributed to the information processing terminal of the terminal ID, and the information processing terminal of the terminal ID Holds a table showing the relationship with the number of distributions indicating the number of times program-specific information has been distributed,
The determination means includes
With reference to the table, when the number of distributions corresponding to both the terminal ID and the program ID given to the program acquisition request distributed from the information processing terminal has reached a prescribed value, The distribution of the program specific information is prohibited and it is determined that only the program main body is distributed to the information processing terminal, and the table is referred to, and is given to the program acquisition request distributed from the information processing terminal. In the case where the number of distributions corresponding to the terminal ID and the program ID does not reach a specified value, the distribution number described in the table is updated in association with the terminal ID and the program ID, It is determined that the program main body and the program specific information are distributed to the information processing terminal. Motomeko 4 server device as claimed.
ことを特徴とする請求項4又は請求項5記載のサーバ装置。6. The server apparatus according to claim 4, wherein the specified value is a value indicating the number of distributions of program specific information distributed from the server apparatus to the information processing terminal.
前記情報処理端末からのプログラム取得要求に付与されている前記端末IDと、前記端末IDの情報処理端末に配布した前記プログラム本体を一意に特定するプログラム本体IDと、前記端末IDの情報処理端末に配布したプログラム固有情報を一意に特定するプログラム固有情報IDとの関連を示すテーブルを保持し、
前記判定手段は、
前記テーブルを参照して、前記情報処理端末より送信された前記プログラム取得要求に付与されている前記端末IDと前記プログラムIDとの両方に対応するプログラム固有情報IDが記載されている場合においては、前記プログラム固有情報の配布を禁止して前記プログラム本体のみの配布を前記情報処理端末に行うと判定し、
前記テーブルを参照して、前記プログラム取得要求に付与されている前記端末IDと前記プログラムIDとの両方に対応するプログラム固有情報IDが記載されていない場合においては、前記端末IDと前記プログラム固有情報IDと前記プログラムIDとを対応させて前記テーブルに追加すると共に、前記プログラム本体と前記プログラム固有情報とを前記情報処理端末に配布すると判定する
ことを特徴とする請求項1記載のサーバ装置。The table holding means is
The terminal ID given to the program acquisition request from the information processing terminal, the program body ID uniquely identifying the program body distributed to the information processing terminal of the terminal ID, and the information processing terminal of the terminal ID Holds a table indicating the relationship with the program unique information ID that uniquely identifies the distributed program unique information,
The determination means includes
In the case where the program specific information ID corresponding to both the terminal ID and the program ID given to the program acquisition request transmitted from the information processing terminal is described with reference to the table, It is determined that distribution of the program specific information is prohibited and only the program body is distributed to the information processing terminal,
If the program specific information ID corresponding to both the terminal ID and the program ID given to the program acquisition request is not described with reference to the table, the terminal ID and the program specific information 2. The server apparatus according to claim 1, wherein an ID and the program ID are associated with each other and added to the table, and the program body and the program specific information are determined to be distributed to the information processing terminal.
前記情報処理端末毎に異なる情報となる前記プログラム固有情報を複数保持し、
前記情報処理端末で共通な前記プログラム本体を1つ保持する
ことを特徴とする請求項2記載のサーバ装置。The server device
Holding a plurality of the program specific information, which is different information for each information processing terminal,
The server apparatus according to claim 2, wherein one of the program main bodies common to the information processing terminals is held.
前記プログラム本体を一意に特定するプログラム本体IDと、前記プログラム本体が動作する前記情報処理端末の端末IDとの関連を示すテーブルを保持し、
前記判定手段は、
前記テーブルを参照して、前記情報処理端末より配布された前記プログラム取得要求に付与されている前記端末IDと前記プログラムIDとが対応して記載されている場合においては、前記プログラムの配布可能と判定し、
前記テーブルを参照して、前記プログラム取得要求に付与されている前記端末IDと前記プログラムIDとが対応して記載されていない場合においては、前記プログラム本体の配布不可と判定する
ことを特徴とする請求項2記載のサーバ装置。The table holding means is
A table indicating a relationship between a program body ID for uniquely identifying the program body and a terminal ID of the information processing terminal on which the program body operates;
The determination means includes
With reference to the table, when the terminal ID and the program ID given to the program acquisition request distributed from the information processing terminal are described correspondingly, the program can be distributed. Judgment,
Referring to the table, when the terminal ID assigned to the program acquisition request and the program ID are not described correspondingly, it is determined that the program body cannot be distributed. The server device according to claim 2.
前記情報処理端末は、
前記プログラムの取得を要求する場合には、前記端末IDを付与したプログラム取得要求を前記サーバ装置に送信し、
前記サーバ装置は、
前記プログラム取得要求を受信して、以前に配布したプログラムと端末IDとの関連を示すテーブルを保持するテーブル保持手段と、
前記テーブルを参照して、前記情報処理端末から送信されて前記端末IDが付与されているプログラム取得要求に対するプログラムの配布をするか否かを判定する判定手段とを備える
ことを特徴とするプログラム管理システム。A program management system comprising an information processing terminal that holds a terminal ID that cannot be rewritten from the outside, and a server device that is connected to the information processing terminal via a network and holds a program that operates on the information processing terminal. And
The information processing terminal
When requesting acquisition of the program, a program acquisition request with the terminal ID is transmitted to the server device,
The server device
A table holding unit that receives the program acquisition request and holds a table indicating a relationship between a previously distributed program and a terminal ID;
Program management comprising: determining means for determining whether to distribute a program in response to a program acquisition request transmitted from the information processing terminal and assigned with the terminal ID with reference to the table system.
前記サーバ装置から取得した前記プログラムを、前記固有鍵を用いて暗号化して前記情報処理端末内のメモリ部に格納する格納手段を備える
ことを特徴とする請求項10記載のプログラム管理システム。The information processing terminal stores a unique key different for each information processing terminal in a memory unit that cannot be rewritten from the outside,
11. The program management system according to claim 10, further comprising storage means for encrypting the program acquired from the server device using the unique key and storing the encrypted program in a memory unit in the information processing terminal.
前記情報処理端末は、
前記サーバ装置に取得を要求するプログラムに含まれる前記プログラムヘッダ及び前記固有情報ヘッダの取得を要求するヘッダ取得要求を行い、
前記サーバ装置は、
前記判定手段において前記プログラム本体の配布可能と判定される場合においては、前記プログラムヘッダ及び前記固有情報ヘッダを前記情報処理端末に配布し、
前記情報処理端末は、
前記プログラムヘッダ及び前記固有情報ヘッダに基づいて検証を行う検証手段を備え、当該検証手段での検証を行った後に前記プログラム取得要求を前記サーバ装置に送信する
ことを特徴とする請求項10記載のプログラム管理システム。The program includes a program main body that operates on the information processing terminal, a program header that stores information about the program main body, program specific information that is unique information used for the program main body, and information about the program specific information. Contains the stored unique information header,
The information processing terminal
Performing a header acquisition request for requesting acquisition of the program header and the unique information header included in a program requesting acquisition to the server device;
The server device
When the determination means determines that the program body can be distributed, distributes the program header and the unique information header to the information processing terminal,
The information processing terminal
11. The verification unit according to claim 10, further comprising: a verification unit that performs verification based on the program header and the unique information header, and transmits the program acquisition request to the server device after verification by the verification unit. Program management system.
前記情報処理端末は、前記固有鍵で暗号化され前記情報処理端末内のメモリ部に格納されているプログラムを前記固有鍵で復号し、前記認証子を用いて前記固有鍵での暗号化が正しく行われたことを検証する検証手段を備える
ことを特徴とする請求項12記載のプログラム管理システム。The program header includes an authenticator that can uniquely identify the program,
The information processing terminal decrypts the program encrypted with the unique key and stored in the memory unit in the information processing terminal with the unique key, and the encryption with the unique key is correctly performed using the authenticator. 13. The program management system according to claim 12, further comprising verification means for verifying what has been done.
ことを特徴とする請求項12記載のプログラム管理システム。13. The program management system according to claim 12, wherein an electronic signature is added to the program, the program header, the program unique information, and the unique information header.
ことを特徴とする請求項12記載のプログラム管理システム。The program header includes an authenticator capable of uniquely identifying the program, and the unique information header includes an authenticator capable of uniquely identifying the program specific information. The program management system according to claim 12, characterized in that:
前記情報処理端末は、
前記プログラムの取得を要求する場合には、前記端末IDを付与したプログラム取得要求を前記サーバ装置に送信するステップを有し、
前記サーバ装置は、
前記プログラム取得要求を受信して、以前に配布したプログラムと端末IDとの関連を示すテーブルを保持するテーブル保持ステップと、
前記テーブルを参照して、前記情報処理端末から送信されて前記端末IDが付与されているプログラム取得要求に対するプログラムの配布をするか否かを判定する判定ステップとを有する
ことを特徴とするプログラム配布方法。A program distribution method comprising an information processing terminal that holds a terminal ID that cannot be rewritten from the outside, and a server device that is connected to the information processing terminal via a network and holds a program that operates on the information processing terminal. And
The information processing terminal
When requesting acquisition of the program, the method includes a step of transmitting a program acquisition request assigned with the terminal ID to the server device,
The server device
A table holding step for receiving a program acquisition request and holding a table indicating a relationship between a previously distributed program and a terminal ID;
A program distribution comprising: determining whether to distribute a program in response to a program acquisition request transmitted from the information processing terminal and assigned with the terminal ID with reference to the table Method.
以前に配布した配布プログラムと端末IDとの関連を示すテーブルを保持するテーブル保持ステップと、
前記テーブルを参照して、前記情報処理端末から送信され前記端末IDを伴うプログラム取得要求に対する配布プログラムの配布をするか否かを判定する判定ステップとをコンピュータに実行させる
ことを特徴とするプログラム。A program used in a server apparatus that holds a distribution program connected to an information processing terminal that holds a terminal ID that cannot be rewritten from the outside and operates on the information processing terminal,
A table holding step for holding a table indicating a relationship between a previously distributed distribution program and a terminal ID;
A program for causing a computer to execute a determination step of determining whether or not to distribute a distribution program in response to a program acquisition request transmitted from the information processing terminal and accompanied by the terminal ID with reference to the table.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003111019A JP4675031B2 (en) | 2002-04-23 | 2003-04-16 | Server apparatus and program management system |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002120430 | 2002-04-23 | ||
JP2003111019A JP4675031B2 (en) | 2002-04-23 | 2003-04-16 | Server apparatus and program management system |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009008249A Division JP2009116901A (en) | 2002-04-23 | 2009-01-16 | Method for updating, method for sending, servers and terminals |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004005585A true JP2004005585A (en) | 2004-01-08 |
JP4675031B2 JP4675031B2 (en) | 2011-04-20 |
Family
ID=30447318
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003111019A Expired - Fee Related JP4675031B2 (en) | 2002-04-23 | 2003-04-16 | Server apparatus and program management system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4675031B2 (en) |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004318838A (en) * | 2003-03-28 | 2004-11-11 | Ricoh Co Ltd | Software update device, software update system, software update method and program |
JP2006107455A (en) * | 2004-09-30 | 2006-04-20 | Microsoft Corp | Security state watcher |
JP2006195826A (en) * | 2005-01-14 | 2006-07-27 | Toshiba Tec Corp | Method for protecting software and office computer with function of protecting software |
JP2009526333A (en) * | 2006-02-10 | 2009-07-16 | クゥアルコム・インコーポレイテッド | Method and apparatus for safely booting from an external storage device |
KR100924391B1 (en) | 2009-04-17 | 2009-11-03 | 주식회사 로그 | Apparatus and method for identifying user terminal |
JP2010056816A (en) * | 2008-08-28 | 2010-03-11 | Hitachi Ltd | Distribution system |
JP2012104135A (en) * | 2007-11-21 | 2012-05-31 | Intel Corp | Device, method and storage medium utilizing device identifier |
JP5136554B2 (en) * | 2007-06-25 | 2013-02-06 | 富士通株式会社 | Firmware distribution apparatus, program, and method |
US8402280B1 (en) | 2009-10-15 | 2013-03-19 | Nvidia Corporation | System, method, and computer program product for buffering in association with audio/video digital rights management (DRM) processing |
JP2014026663A (en) * | 2013-09-18 | 2014-02-06 | Ricoh Co Ltd | Apparatus, management device, apparatus management system, and program |
US8683213B2 (en) | 2007-10-26 | 2014-03-25 | Qualcomm Incorporated | Progressive boot for a wireless device |
US8868925B2 (en) | 2008-12-09 | 2014-10-21 | Nvidia Corporation | Method and apparatus for the secure processing of confidential content within a virtual machine of a processor |
JP2017111555A (en) * | 2015-12-15 | 2017-06-22 | 富士通株式会社 | Distribution history management program, distribution history management system and distribution history management method |
JP2017153044A (en) * | 2016-02-26 | 2017-08-31 | キヤノン株式会社 | Information processing apparatus, information processing system, information processing method, and program |
JP2019144752A (en) * | 2018-02-19 | 2019-08-29 | 株式会社デンソー | Verification terminal |
JP2020025243A (en) * | 2018-08-08 | 2020-02-13 | 廣達電腦股▲ふん▼有限公司Quanta Computer Inc. | Method and device for authenticating firmware configuration input file |
WO2020195638A1 (en) * | 2019-03-28 | 2020-10-01 | オムロン株式会社 | Controller system |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07296508A (en) * | 1994-04-28 | 1995-11-10 | Toshiba Corp | Medium information delivery system |
JPH08190529A (en) * | 1995-01-10 | 1996-07-23 | Fujitsu Ltd | Identifier management device and method for software circulation system |
JPH10214297A (en) * | 1996-11-28 | 1998-08-11 | Fujitsu Ltd | Closed-membership service system using internet, and method therefor |
-
2003
- 2003-04-16 JP JP2003111019A patent/JP4675031B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07296508A (en) * | 1994-04-28 | 1995-11-10 | Toshiba Corp | Medium information delivery system |
JPH08190529A (en) * | 1995-01-10 | 1996-07-23 | Fujitsu Ltd | Identifier management device and method for software circulation system |
JPH10214297A (en) * | 1996-11-28 | 1998-08-11 | Fujitsu Ltd | Closed-membership service system using internet, and method therefor |
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4597551B2 (en) * | 2003-03-28 | 2010-12-15 | 株式会社リコー | Software update device, software update system, software update method, and program |
JP2004318838A (en) * | 2003-03-28 | 2004-11-11 | Ricoh Co Ltd | Software update device, software update system, software update method and program |
JP2006107455A (en) * | 2004-09-30 | 2006-04-20 | Microsoft Corp | Security state watcher |
JP2006195826A (en) * | 2005-01-14 | 2006-07-27 | Toshiba Tec Corp | Method for protecting software and office computer with function of protecting software |
JP4728650B2 (en) * | 2005-01-14 | 2011-07-20 | 東芝テック株式会社 | Software protection method and office computer having software protection function |
JP2009526333A (en) * | 2006-02-10 | 2009-07-16 | クゥアルコム・インコーポレイテッド | Method and apparatus for safely booting from an external storage device |
US8291226B2 (en) | 2006-02-10 | 2012-10-16 | Qualcomm Incorporated | Method and apparatus for securely booting from an external storage device |
JP5136554B2 (en) * | 2007-06-25 | 2013-02-06 | 富士通株式会社 | Firmware distribution apparatus, program, and method |
US8683213B2 (en) | 2007-10-26 | 2014-03-25 | Qualcomm Incorporated | Progressive boot for a wireless device |
JP2012104135A (en) * | 2007-11-21 | 2012-05-31 | Intel Corp | Device, method and storage medium utilizing device identifier |
JP2010056816A (en) * | 2008-08-28 | 2010-03-11 | Hitachi Ltd | Distribution system |
US8868925B2 (en) | 2008-12-09 | 2014-10-21 | Nvidia Corporation | Method and apparatus for the secure processing of confidential content within a virtual machine of a processor |
KR100924391B1 (en) | 2009-04-17 | 2009-11-03 | 주식회사 로그 | Apparatus and method for identifying user terminal |
US8402280B1 (en) | 2009-10-15 | 2013-03-19 | Nvidia Corporation | System, method, and computer program product for buffering in association with audio/video digital rights management (DRM) processing |
JP2014026663A (en) * | 2013-09-18 | 2014-02-06 | Ricoh Co Ltd | Apparatus, management device, apparatus management system, and program |
JP2017111555A (en) * | 2015-12-15 | 2017-06-22 | 富士通株式会社 | Distribution history management program, distribution history management system and distribution history management method |
JP2017153044A (en) * | 2016-02-26 | 2017-08-31 | キヤノン株式会社 | Information processing apparatus, information processing system, information processing method, and program |
JP2019144752A (en) * | 2018-02-19 | 2019-08-29 | 株式会社デンソー | Verification terminal |
JP7013921B2 (en) | 2018-02-19 | 2022-02-01 | 株式会社デンソー | Verification terminal |
JP2020025243A (en) * | 2018-08-08 | 2020-02-13 | 廣達電腦股▲ふん▼有限公司Quanta Computer Inc. | Method and device for authenticating firmware configuration input file |
WO2020195638A1 (en) * | 2019-03-28 | 2020-10-01 | オムロン株式会社 | Controller system |
JP2020161048A (en) * | 2019-03-28 | 2020-10-01 | オムロン株式会社 | Controller system |
JP7318264B2 (en) | 2019-03-28 | 2023-08-01 | オムロン株式会社 | controller system |
US11768940B2 (en) | 2019-03-28 | 2023-09-26 | Omron Corporation | Controller system |
Also Published As
Publication number | Publication date |
---|---|
JP4675031B2 (en) | 2011-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2009116901A (en) | Method for updating, method for sending, servers and terminals | |
JP7364674B2 (en) | Secure over-the-air firmware upgrades | |
US11128477B2 (en) | Electronic certification system | |
JP4675031B2 (en) | Server apparatus and program management system | |
US9424400B1 (en) | Digital rights management system transfer of content and distribution | |
US8196186B2 (en) | Security architecture for peer-to-peer storage system | |
JP5284989B2 (en) | Software license renewal | |
US8458455B2 (en) | Techniques for handling SSL certificate expiration and renewal | |
EP1942430B1 (en) | Token Passing Technique for Media Playback Devices | |
US8930696B2 (en) | System and method for exchanging secure information between secure removable media (SRM) devices | |
KR101985179B1 (en) | Blockchain based id as a service | |
KR101452708B1 (en) | CE device management server, method for issuing DRM key using CE device management server, and computer readable medium | |
WO2024031868A1 (en) | Attribute encryption-based device security authentication method and related apparatus thereof | |
CN110611569A (en) | Authentication method and related equipment | |
CN113365097B (en) | Live broadcast information stream processing method, device and system, electronic equipment and storage medium | |
JP5012574B2 (en) | Common key automatic sharing system and common key automatic sharing method | |
JP2004013560A (en) | Authentication system, communication terminal, and server | |
JP2004140636A (en) | System, server, and program for sign entrustment of electronic document | |
JP2007517289A (en) | Digital signature protection for software | |
KR20140004703A (en) | Controlled security domains | |
JP6524556B2 (en) | Authentication key replication system | |
KR20200060193A (en) | Integrated management server for secure binary patch deployment based on mutual authentication and operation method thereof | |
CN109981678B (en) | Information synchronization method and device | |
CN115510401A (en) | Software authorization implementation method in cloud scene | |
KR20100088063A (en) | Method and terminal for receiving rights object for content on behalf of memory card |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060216 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090630 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090824 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091104 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100817 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101001 |
|
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: 20110105 |
|
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: 20110125 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140204 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4675031 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |