(57)【要約】【課題】端末にインストールされる命令群の不正使用等を防止する。【解決手段】サーバは、共通鍵を保持するサーバ側共通鍵保持手段、端末の端末固有情報と共通鍵から第１鍵を生成する第１鍵生成手段、命令群に対するライセンス情報を第１鍵により暗号化する暗号化手段、端末固有情報と暗号化されたライセンス情報とを対応付けて記憶するライセンス情報記憶手段を有する。端末は、当該端末にインストールされた命令群を実行することにより、共通鍵を保持する端末側共通鍵保持手段、ライセンス情報記憶手段の中の、当該端末と対応するライセンス情報を取得するライセンス情報取得手段、端末の端末固有情報と共通鍵から第２鍵を生成する第２鍵生成手段、暗号化されたライセンス情報を第２鍵により復号化する復号化手段、ライセンス情報が復号化できない場合、命令群の所定機能を実行不能とする命令群制御手段を実現する。【選択図】図１
2014016659.tif 000002
【特許請求の範囲】
【請求項１】
サーバと、命令群がインストールされた端末と、を備え、
前記サーバは、
共通鍵を保持するサーバ側共通鍵保持手段と、
前記端末の端末固有情報と、前記サーバ側共通鍵保持手段により保持される前記共通鍵とを用いて第１鍵を生成する第１鍵生成手段と、
前記端末にインストールされた命令群に対するライセンス情報を、前記第１鍵により暗号化する暗号化手段と、
前記端末固有情報と暗号化されたライセンス情報とを対応付けて記憶するライセンス情報記憶手段を有し、
前記端末は、
前記共通鍵を保持する端末側共通鍵保持手段と、
前記ライセンス情報記憶手段が記憶する前記暗号化されたライセンス情報のうち、当該端末と対応する前記暗号化されたライセンス情報を取得するライセンス情報取得手段と、
当該端末の前記端末固有情報と、前記端末側共通鍵保持手段により保持される前記共通鍵とを用いて第２鍵を生成する第２鍵生成手段と、
前記ライセンス情報取得手段により取得された前記暗号化されたライセンス情報を、前記第２鍵を用いて復号化することにより、暗号化が解除された前記ライセンス情報を取得する復号化手段と、
前記復号化手段で前記暗号化されたライセンス情報の暗号化が解除できない場合、前記命令群の所定機能を実行不能とする命令群制御手段と、
を前記命令群を実行することにより実現する
電子認証システム。
【請求項２】
請求項１に記載の電子認証システムにおいて、
前記命令群は、
前記命令群の所定機能により利用される中間データを、前記第２鍵を用いて暗号化または復号化する中間データ暗号化／復号化手段をさらに有する電子認証システム。
【請求項３】
請求項１または２に記載の電子認証システムにおいて、
前記暗号化手段は、
前記第１鍵を用いて前記ライセンス情報を暗号化した後、前記第１鍵を破棄し、
前記復号化手段は、
前記第２鍵を用いて前記暗号化されたライセンス情報を復号化した後、前記第２鍵を破棄する電子認証システム。
【請求項４】
請求項１〜３のいずれか一項に記載の電子認証システムにおいて、
前記命令群制御手段は、
復号化された前記ライセンス情報に含まれる、前記命令群の利用可能期間を示す有効期限に基づいて、前記命令群の所定機能の実行可否を制御する電子認証システム。
【請求項５】
請求項１〜４いずれか一項に記載の電子認証システムにおいて、
前記端末固有情報は、前記端末のＭＡＣ（Media Access Control）アドレス、または、前記端末の製造番号のうち少なくとも一方を含む情報である電子認証システム。
【請求項６】
共通鍵を保持する端末側共通鍵保持手段と、
サーバが記憶する、端末にインストールされた命令群に対する暗号化されたライセンス情報のうち、当該端末と対応する前記暗号化されたライセンス情報を取得するライセンス情報取得手段と、
当該端末の端末固有情報と、前記端末側共通鍵保持手段により保持される前記共通鍵とを用いて第２鍵を生成する第２鍵生成手段と、
前記ライセンス情報取得手段により取得された前記暗号化されたライセンス情報を、前記第２鍵を用いて復号化することにより、暗号化が解除された前記ライセンス情報を取得する復号化手段と、
前記復号化手段で前記暗号化されたライセンス情報の暗号化が解除できない場合、前記命令群の所定機能を実行不能とする命令群制御手段と、
を前記命令群を実行することにより実現する端末。
【請求項７】
共通鍵を保持するサーバ側共通鍵保持手段と、
当該サーバと通信する端末の端末固有情報と、前記サーバ側共通鍵保持手段により保持される前記共通鍵とを用いて第１鍵を生成する第１鍵生成手段と、
前記端末にインストールされた命令群に対するライセンス情報を、前記第１鍵により暗号化する暗号化手段と、
前記端末固有情報と暗号化されたライセンス情報とを対応付けて記憶するライセンス情報記憶手段と、
前記端末からの要求に基づき、当該端末に対応する前記暗号化されたライセンス情報を特定するライセンス情報特定手段を有するサーバ。
【請求項８】
サーバを、
共通鍵を保持するサーバ側共通鍵保持手段、
前記サーバと通信する端末の端末固有情報と、前記サーバ側共通鍵保持手段により保持される前記共通鍵とを用いて第１鍵を生成する第１鍵生成手段、
前記端末にインストールされた命令群に対するライセンス情報を、前記第１鍵により暗号化する暗号化手段、
前記端末固有情報と暗号化されたライセンス情報とを対応付けて記憶するライセンス情報記憶手段、
として機能させるプログラムと、
前記端末を、
前記共通鍵を保持する端末側共通鍵保持手段、
前記ライセンス情報記憶手段が記憶する前記暗号化されたライセンス情報のうち、当該端末と対応する前記暗号化されたライセンス情報を取得するライセンス情報取得手段、
当該端末の前記端末固有情報と、前記端末側共通鍵保持手段により保持される前記共通鍵とを用いて第２鍵を生成する第２鍵生成手段、
前記ライセンス情報取得手段により取得された前記暗号化されたライセンス情報を、前記第２鍵を用いて復号化することにより、暗号化が解除された前記ライセンス情報を取得する復号化手段、
前記復号化手段で前記暗号化されたライセンス情報の暗号化が解除できない場合、前記命令群の所定機能を実行不能とする命令群制御手段、
として機能させる命令群を含むプログラムと、
からなる電子認証プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子認証において用いるシステム、端末、サーバ、およびプログラムに関する。
【背景技術】
【０００２】
サービス提供者が利用者に有償のアプリケーションを配信する場合、悪意のある人物による不正な使用を防ぐ仕組みが必要となる。しかし、アプリケーションのソースの公開が前提とされる場合などでは、アプリケーションが使用するライブラリのインターフェース仕様を容易に閲覧できてしまう。そのため、サービス提供者がライブラリの存在を隠蔽しておきたくとも、インターフェース仕様を閲覧した悪意を持った人物により、当該ライブラリを不正に使用されたり、不正に複製されて配布されたりしてしまう恐れがある。
【０００３】
特許文献１に記載のシステムは、悪意のある人物による不正使用を防ぐシステムの一例である。特許文献１に記載のシステムはおおむね以下のように動作する。まず、端末装置が、端末装置およびサーバ装置で共通の共通秘密情報を用いて端末固有情報を暗号化し、暗号化端末固有情報を生成する。そして、端末装置は、端末装置およびサーバ装置で共通の固有鍵を用いて暗号化端末固有情報をさらに暗号化し、認証情報を生成する。そして、端末装置は端末固有情報と認証情報をサーバ装置に送信する。サーバ装置は、取得した認証情報を固有鍵で復号化した情報と、取得した端末固有情報を共通秘密情報で暗号化した情報とを比較して、当該端末装置の認証を行う。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−６３１３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に記載のシステムは、正当なライセンスを有する端末か否かを認証するのみであり、サービス提供者が提供するアプリケーションやライブラリの不正使用や不正複製を防止できない。
【０００６】
本発明の目的は、上記問題に鑑み、端末にインストールされる命令群の不正使用等を防止する、電子認証システム、端末、サーバ、および電子認証プログラムを提供することにある。
【課題を解決するための手段】
【０００７】
本発明によれば、
サーバと、命令群がインストールされた端末と、を備え、
前記サーバは、
共通鍵を保持するサーバ側共通鍵保持手段と、
前記端末の端末固有情報と、前記サーバ側共通鍵保持手段により保持される前記共通鍵とを用いて第１鍵を生成する第１鍵生成手段と、
前記端末にインストールされた命令群に対するライセンス情報を、前記第１鍵により暗号化する暗号化手段と、
前記端末固有情報と暗号化されたライセンス情報とを対応付けて記憶するライセンス情報記憶手段を有し、
前記端末は、
前記共通鍵を保持する端末側共通鍵保持手段と、
前記ライセンス情報記憶手段が記憶する前記暗号化されたライセンス情報のうち、当該端末と対応する前記暗号化されたライセンス情報を取得するライセンス情報取得手段と、
当該端末の前記端末固有情報と、前記端末側共通鍵保持手段により保持される前記共通鍵とを用いて第２鍵を生成する第２鍵生成手段と、
前記ライセンス情報取得手段により取得された前記暗号化されたライセンス情報を、前記第２鍵を用いて復号化することにより、暗号化が解除された前記ライセンス情報を取得する復号化手段と、
前記復号化手段で前記暗号化されたライセンス情報の暗号化が解除できない場合、前記命令群の所定機能を実行不能とする命令群制御手段と、
を前記命令群を実行することにより実現する
電子認証システムが提供される。
【０００８】
本発明によれば、
共通鍵を保持する端末側共通鍵保持手段と、
サーバが記憶する、端末にインストールされた命令群に対する暗号化されたライセンス情報のうち、当該端末と対応する前記暗号化されたライセンス情報を取得するライセンス情報取得手段と、
当該端末の前記端末固有情報と、前記端末側共通鍵保持手段により保持される前記共通鍵とを用いて第２鍵を生成する第２鍵生成手段と、
前記ライセンス情報取得手段により取得された前記暗号化されたライセンス情報を、前記第２鍵を用いて復号化することにより、暗号化が解除された前記ライセンス情報を取得する復号化手段と、
前記復号化手段で前記暗号化されたライセンス情報の暗号化が解除できない場合、前記命令群の所定機能を実行不能とする命令群制御手段と、
を前記命令群を実行することにより実現する端末が提供される。
【０００９】
本発明によれば、
共通鍵を保持するサーバ側共通鍵保持手段と、
当該サーバと通信する端末の端末固有情報と、前記サーバ側共通鍵保持手段により保持される前記共通鍵とを用いて第１鍵を生成する第１鍵生成手段と、
前記端末にインストールされた命令群に対するライセンス情報を、前記第１鍵により暗号化する暗号化手段と、
前記端末固有情報と暗号化されたライセンス情報とを対応付けて記憶するライセンス情報記憶手段と、
前記端末からの要求に基づき、当該端末に対応する前記暗号化されたライセンス情報を特定するライセンス情報特定手段を有するサーバが提供される。
【００１０】
本発明によれば、
サーバを、
共通鍵を保持するサーバ側共通鍵保持手段、
前記サーバと通信する端末の端末固有情報と、前記サーバ側共通鍵保持手段により保持される前記共通鍵とを用いて第１鍵を生成する第１鍵生成手段、
前記端末にインストールされた命令群に対するライセンス情報を、前記第１鍵により暗号化する暗号化手段、
前記端末固有情報と暗号化されたライセンス情報とを対応付けて記憶するライセンス情報記憶手段、
として機能させるプログラムと、
前記端末を、
前記共通鍵を保持する端末側共通鍵保持手段、
前記ライセンス情報記憶手段が記憶する前記暗号化されたライセンス情報のうち、当該端末と対応する前記暗号化されたライセンス情報を取得するライセンス情報取得手段、
当該端末の前記端末固有情報と、前記端末側共通鍵保持手段により保持される前記共通鍵とを用いて第２鍵を生成する第２鍵生成手段、
前記ライセンス情報取得手段により取得された前記暗号化されたライセンス情報を、前記第２鍵を用いて復号化することにより、暗号化が解除された前記ライセンス情報を取得する復号化手段、
前記復号化手段で前記暗号化されたライセンス情報の暗号化が解除できない場合、前記命令群の所定機能を実行不能とする命令群制御手段、
として機能させる命令群を含むプログラムと、
からなる電子認証プログラムが提供される。
【発明の効果】
【００１１】
本発明によれば、端末にインストールされる命令群を不正に取得されても、当該命令群の不正使用を防止することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の第１の実施形態における電子認証システムの構成を示すブロック図である。
【図２】第１の実施形態におけるライセンス情報設定処理の流れを示すシーケンス図である。
【図３】第１の実施形態におけるライセンス情報記憶部が記憶する情報の例を示す図である。
【図４】第１の実施形態におけるライセンス認証処理の流れを示すシーケンス図である。
【図５】本発明の第２の実施形態における電子認証システムの構成を示すブロック図である。
【図６】第２の実施形態における中間データの流れを示すシーケンス図である。
【図７】本発明の第２の実施形態における電子認証システムの変形例の構成を示すブロック図である。
【図８】第３の実施形態におけるライセンス情報記憶部が記憶する情報の例を示す図である。
【図９】第３の実施形態におけるライセンス情報設定処理の流れを示すシーケンス図である。
【図１０】第３の実施形態におけるライセンス認証処理の流れを示すシーケンス図である。
【図１１】本発明の第４の実施形態における電子認証システムの構成を示すブロック図である。
【図１２】第４の実施形態におけるライセンス認証処理の流れを示すシーケンス図である。
【発明を実施するための形態】
【００１３】
以下、本発明の実施形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。
【００１４】
なお、各図に示したサーバ２０および端末３０の各構成要素は、任意のコンピュータのＣＰＵ、メモリ、メモリにロードされた本図の構成要素を実現するプログラム、そのプログラムを格納するハードディスクなどの記憶メディア、ネットワーク接続用インターフェースを中心にハードウエアとソフトウエアの任意の組合せによって実現される。そして、その実現方法、装置には様々な形態がある。
【００１５】
（第１の実施形態）
図１は、本発明の第１の実施形態における電子認証システム１０の構成を示すブロック図である。
【００１６】
電子認証システム１０は、サーバ２０と、命令群がインストールされた端末３０とを備える。本実施形態における電子認証システム１０では、サーバ２０と端末３０とが、ネットワーク４０を介して接続される。ここで、サーバ２０および端末３０は、ハードウエア構成として、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、ハードディスク（ＨＤＤ）等のようなメモリ、ＣＰＵ（Central Processing Unit）、入出力インターフェース等を有する。また、ここで、命令群は、例えば、ライブラリ３００やアプリケーション３５０として実現され、端末３０にインストールされる。命令群がライブラリ３００として実現される場合、端末３０上で実現されるアプリケーション３５０は、このライブラリ３００により提供されるインターフェースを介して、当該ライブラリ３００を用いる。本実施形態では、命令群がライブラリ３００であり、アプリケーション３５０が当該ライブラリ３００を用いる構成を取るが、他の形態として、命令群がアプリケーション３５０単体である構成を取る場合もある。また、ここで、ネットワーク４０はＬＡＮ（Local Area Network）などの有線通信によるネットワークであっても、無線ＬＡＮなどの無線通信によるネットワークであってもよい。
【００１７】
サーバ２０は、端末３０にインストールされるライブラリ３００の実行権を示すライセンス情報を管理する。サーバ２０は、サーバ側共通鍵保持部２０２と、第１鍵生成部２０４と、暗号化部２０６と、ライセンス情報記憶部２０８とを有する。
【００１８】
サーバ側共通鍵保持部２０２は共通鍵を保持する。ここで、共通鍵とは任意の情報を暗号化する際に用いる情報である。この共通鍵は、サーバ２０の管理者により予め設定された情報を用いてもよいし、サーバ２０がランダムに生成した情報を用いてもよい。
【００１９】
第１鍵生成部２０４は、当該サーバと通信する端末３０の端末固有情報と、サーバ側共通鍵保持部２０２により保持される共通鍵とを用いて第１鍵を生成する。ここで、端末固有情報とは、各端末３０に固有に設定される情報を言う。端末固有情報には、例えば、端末３０のＭＡＣ（Media Access Control）アドレスや製造番号などが用いられる。
【００２０】
暗号化部２０６は、端末３０にインストールされたライブラリ３００のライセンス情報を、第１鍵生成部で生成された第１鍵により暗号化する。ここで、ライセンス情報とは、端末にインストールされたライブラリ３００に対する実行権を示す情報を言う。また、暗号化部２０６は、端末固有情報に基づいて識別される端末３０毎に対応するライセンス情報を、第１鍵により暗号化する。なお、暗号化部２０６は、暗号化に使用した第１鍵を、使用後に破棄することが望ましい。なぜならば、第１鍵を破棄することによりライセンス情報の暗号化に用いた情報を隠すことができ、セキュリティの向上が見込めるからである。
【００２１】
ライセンス情報記憶部２０８は、暗号化部２０６で使用した端末固有情報と暗号化されたライセンス情報とを対応付けて記憶する。
【００２２】
端末３０は、サーバ２０よりライセンス管理されるライブラリ３００を取得し、アプリケーション３５０を介してライブラリ３００を実行する。端末３０にインストールされたライブラリ３００は、アプリケーション３５０を介して端末３０に実行されることにより、端末側共通鍵保持部３０２と、ライセンス情報取得部３０４と、第２鍵生成部３０６と、復号化部３０８と、命令群制御部３１０が有する機能を実現する。
【００２３】
端末側共通鍵保持部３０２は、共通鍵を保持する。ここで、端末側共通鍵保持部３０２が保持する共通鍵は、サーバ側共通鍵保持部２０２が保持する共通鍵と同一である。
【００２４】
ライセンス情報取得部３０４は、ライセンス情報記憶部２０８が記憶する暗号化されたライセンス情報のうち、当該端末３０と対応する暗号化されたライセンス情報を取得する。
【００２５】
第２鍵生成部３０６は、当該端末３０の端末固有情報と、端末側共通鍵生成部３０２により保持される共通鍵とを用いて第２鍵を生成する。ここで、第２鍵生成部３０６により生成される第２鍵は、第１鍵生成部２０４により生成される第１鍵と同一である。
【００２６】
復号化部３０８は、ライセンス情報取得部３０４により取得された、暗号化されたライセンス情報を、第２鍵生成部３０６により生成された第２鍵を用いて復号化し、暗号化が解除されたライセンス情報を取得する。なお、復号化部３０８は、復号化に使用した第２鍵を、使用後に破棄することが望ましい。なぜならば、第２鍵を破棄することによりライセンス情報を復号化できる情報を隠すことができ、セキュリティの向上が見込めるからである。
【００２７】
命令群制御部３１０は、復号化部３０８において、暗号化されたライセンス情報の暗号化が解除できない場合、当該端末３０にインストールされているライブラリ３００の所定機能を実行不能とする。ここで、ライブラリ３００の所定機能とは、端末側共通鍵保持部３０２、ライセンス情報取得部３０４、第２鍵生成部３０６、復号化部３０８、および命令群制御部３１０が有する機能以外で、ライブラリ３００が有する機能のことを言う。また、ライブラリ３００の所定機能の実行可否は、例えばライブラリ３００の所定機能の実行可否を示すフラグに基づいて制御することができる。
【００２８】
第１の実施形態における電子認証システム１０の処理の流れを、図２〜４を用いて説明する。電子認証システム１０の処理は、ライセンス情報設定処理とライセンス認証処理とに大きく分けられる。
【００２９】
まず、第１の実施形態におけるライセンス情報設定処理について説明する。図２は、第１の実施形態におけるライセンス情報設定処理の流れを示すシーケンス図である。
【００３０】
まず、サーバ２０の管理者が、端末３０の端末固有情報をサーバ２０に送信する（Ｓ１０２）。ここで、管理者が端末固有情報を取得する方法としては、例えば、端末３０がライブラリ３００をインストールする過程において、端末３０から管理者に対して端末固有情報を送信させるといった方法が考えられる。また、管理者がサーバ２０に対して端末固有情報の送信を行わなくとも、端末３０から直接サーバ２０に対して端末固有情報を送信させるようにしてもよい。
【００３１】
次に、第１鍵生成部２０４が、Ｓ１０２で取得した端末固有情報と、サーバ側共通鍵保持部２０２から読み出した共通鍵とを用いて第１鍵を生成する（Ｓ１０４）。
【００３２】
次に、暗号化部２０６が、Ｓ１０４で生成した第１鍵を用いて、当該端末３０のライセンス情報を暗号化する（Ｓ１０６）。なお、当該ライセンス情報を暗号化した後、暗号化部２０６は、サーバ２０内に使用した第１鍵が残らないように、第１鍵を完全に破棄するようにしてもよい。
【００３３】
そして、ライセンス情報記憶部２０８が、Ｓ１０６で暗号化されたライセンス情報と、暗号化に使用した端末固有情報とを対応付けて記憶する（Ｓ１０８）。図３は、第１の実施形態におけるライセンス情報記憶部２０８が記憶する情報の例を示す図である。
【００３４】
以上が、第１の実施形態におけるライセンス情報設定処理の流れである。
【００３５】
次に、第１の実施形態におけるライセンス認証処理について説明する。図４は第１の実施形態におけるライセンス認証処理の流れを示すシーケンス図である。
【００３６】
まず、端末３０が、ライブラリ３００の特定の処理に対する実行指示を送信する（Ｓ２０２）。ライブラリ３００が実行指示を受信すると、ライセンス情報取得部３０４は、当該端末３０の記憶領域にライセンス情報が存在するか否かを確認する（Ｓ２０４）。なお、ライセンス情報は、暗号化された状態で記憶領域に記憶されている。
【００３７】
Ｓ２０４においてライセンス情報が存在した場合（Ｓ２０４のＹＥＳ）、ライセンス情報取得部３０４は当該ライセンス情報を取得し、復号化部３０８へ送信する。なお、ライセンス情報が取得できなかった場合（Ｓ２０４のＮＯ）については、後述する。
【００３８】
第２鍵生成部３０６は、当該端末３０のＭＡＣアドレスといった端末固有情報と端末側共通鍵保持部３０２により保持される共通鍵とを読み出して第２鍵を生成する（Ｓ２０６）。第２鍵の生成方法は、第１鍵生成部２０４と同様であり、第１鍵と第２鍵は同一となる。第２鍵生成部は、Ｓ２０６で生成した第２鍵を復号化部へ送信する。
【００３９】
復号化部３０８は、Ｓ２０４で取得したライセンス情報と、Ｓ２０６で取得した第２鍵とを用いて、暗号化されたライセンス情報を復号化し、暗号化の解除を試みる（Ｓ２０８）。なお、復号化部３０８は、端末３０内に使用した第２鍵が残らないように、暗号化の解除の成否を問わず第２鍵を完全に破棄するようにしてもよい。
【００４０】
ライセンス情報の暗号化が解除できなかった場合（Ｓ２０８のＮＯ）、命令群制御部３１０は、当該端末３０にインストールされたライブラリ３００を利用しようとする者が実行権限を有していないと判断する。この場合、命令群制御部３１０は、例えばライブラリ３００の所定機能の実行可否フラグに「実行不能」を示す値を設定するなどして、ライブラリ３００の所定機能を実行不能として処理を終了する（Ｓ２１０）。ここで、ライセンス情報の暗号化が解除できなかった場合とは、例えば、不正に複製した他の端末３０用のライセンス情報を自身の端末３０上で使用した場合や、他の端末３０において不正に複製したライブラリ３００を使用した場合などが考えられる。これらの場合、正式な利用権限を持つ端末３０の端末固有情報とは異なる端末固有情報を用いて第２鍵が生成される。そのため、第三者が不正使用を試みても、ライセンス情報の暗号化を正常に解除できず、ライブラリ３００の不正使用を防止できる。
【００４１】
一方、ライセンス情報の暗号化が解除できた場合（Ｓ２０８のＹＥＳ）、命令群制御部３１０は、当該端末３０にインストールされたライブラリ３００を利用しようとする者が実行権限を有していると判断する。この場合、命令制御部３１０は、例えばライブラリ３００の所定機能の実行可否フラグに「実行可能」を示す値を設定するなどして、ライブラリ３００の所定機能を実行可能とする（Ｓ２１２）。これにより、利用者はライブラリ３００の全ての機能を利用できるようになる。
【００４２】
Ｓ２０４においてライセンス情報が存在しなかった場合の処理の流れについて説明する。Ｓ２０４においてライセンス情報が存在しなかった場合（Ｓ２０４のＮＯ）、ライセンス情報取得部３０４はライセンス情報が存在しない旨の情報を端末３０へ送信する（Ｓ２１４）。ライセンス情報が存在しない旨の情報を取得した端末３０は、サーバ２０に対して、当該端末３０に対応するライセンス情報を要求する（Ｓ２１６）。この際、端末３０は、ライセンス情報を特定するキーとして使用するために、当該端末３０の端末固有情報を要求に含める。サーバ２０が端末３０から要求を受信すると、ライセンス情報特定部（不図示）は、当該要求に含まれる端末固有情報をキーとして、ライセンス情報記憶部２０８から当該端末３０に対応するライセンス情報を特定する（Ｓ２１８）。そして、サーバ２０は、Ｓ２１８で特定した結果を、端末３０を介してライブラリ３００のライセンス取得部３０４へ送信する（Ｓ２２０）。
【００４３】
ライセンス取得部３０４は、Ｓ２２０の特定結果を判定する（Ｓ２２２）。例えば、サーバ２０に端末固有情報が登録されていないなどで、ライセンス情報が取得できなかった場合（Ｓ２２２のＮＯ）、命令群制御部３１０は、当該端末３０にインストールされたライブラリ３００を利用しようとする者が実行権限を有していないと判断する。この場合、命令群制御部３１０は、例えばライブラリ３００の実行可否フラグに「実行不能」を示す値を設定するなどして、ライブラリ３００を実行不能として処理を終了する（Ｓ２１０）。一方、ライセンス情報が取得できた場合（Ｓ２２２のＹＥＳ）、ライセンス取得部３０４は、取得したライセンス情報を復号化部３０８へ送信する（Ｓ２２４）。また、ライセンス取得部３０４は、端末３０の内部メモリなど、ライセンス情報を記憶する所定の記憶領域に、Ｓ２２０で取得したライセンス情報を記憶する（Ｓ２２６）。以降の処理は、先に説明したＳ２０６〜Ｓ２１２までの処理を行うものであるため、省略する。
【００４４】
以上が、第１の実施形態におけるライセンス認証処理の流れである。
【００４５】
以上、本実施形態では、ライブラリ３００が、ライブラリ３００の提供者側から送られる暗号化されたライセンス情報を端末固有情報と共通鍵から得られる各端末固有の鍵を用いて復号化することにより、利用者認証を行う構成を取る。本構成により、ライブラリ３００の提供者と正式に契約し、当該ライブラリ３００をインストールした端末３０のみが、ライブラリ３００を動作させることができる。すなわち、悪意のある第三者が、不正に複製されたライブラリ３００を配布しても、ライブラリ３００の提供者と正式に契約していない端末３０上ではライブラリ３００を実行できず、ライブラリ３００の不正使用を防止することができる。
【００４６】
また、ライセンス情報の暗号化または復号化に使用した鍵を、使用後に破棄する構成を取ることもできる。本構成により、サーバ２０や端末３０が記憶する暗号化されたライセンス情報の復号化が困難となり、ライブラリ３００の不正使用をさらに防止することができる。
【００４７】
（第２の実施形態）
本実施形態は、以下の点を除き、第１の実施形態と同様である。
【００４８】
図５は、本発明の第２の実施形態における電子認証システム１０の構成を示すブロック図である。本実施形態において、ライブラリ３００は中間データ暗号化／復号化部３１２をさらに有する。
【００４９】
図６は、第２の実施形態における中間データの流れを示すシーケンス図である。
【００５０】
ライブラリ３００を使用するアプリケーション３５０から、ライブラリ３００における所定機能の実行要求を受信した場合（Ｓ３０２）、命令制御部３１０は、ライブラリ３００の所定機能の実行可否を示すフラグを確認するなどして、ライブラリ３００の所定機能が実行可能か否か判定する（Ｓ３０４）。ライブラリ３００の所定機能が実行不能である場合（Ｓ３０４のＮＯ）、ライブラリ３００は、Ｓ３０２で受けた要求に答えずに処理を終了する。一方、ライブラリ３００の所定機能が実行可能である場合（Ｓ３０４のＹＥＳ）、ライブラリ３００は、Ｓ３０２で受けた要求に応じた処理を実行する（Ｓ３０６）。ここで、要求に応じた処理を実行中に、処理の途中結果（中間データ）をライブラリ３００外の記憶領域へ一時格納する場合がある。この場合、中間データ暗号化／復号化部３１２は、第２鍵生成部３０６に第２鍵を生成する旨の要求を送信する。そして、中間データ暗号化／復号化部３１２は、第２鍵を用いて当該中間データを暗号化し、ライブラリ３００の外部にある、当該端末３０上の記憶領域などに一時格納する（Ｓ３０８）。このように、中間データ暗号化／復号化部３１２と記憶領域の間でやりとりされる中間データは暗号化された状態を保つことができる。Ｓ３０６の処理の中で、記憶領域に一時格納した中間データが利用される場合、中間データ暗号化／復号化部３１２は、第２鍵を用いて暗号化された中間データを復号化し（Ｓ３１０）、処理を継続する。そして、Ｓ３０２で受けた要求に応じた処理の最終的な結果が、アプリケーション３５０側へ送信される（Ｓ３１２）。なお、Ｓ３０６で実行する処理によっては、Ｓ３０８およびＳ３１０の処理が複数回繰り返して行われ、最終的な結果が送信される場合もある。
【００５１】
以上、本実施形態によっても、第１の実施形態と同様の効果を得ることができる。また、本実施形態は、ライブラリ３００の処理における中間データを暗号化する構成を取る。本構成により、第三者が中間データからライブラリ３００の動作特性を特定して流用する行為を防止し、ライブラリ３００をより高い精度で保護することができる。
【００５２】
（第２の実施形態の変形例）
図７は、本発明の第２の実施形態における電子認証システム１０の変形例の構成を示すブロック図である。図７に示すように、サーバ側にも中間データ暗号化／復号化部２１０を設けた構成を取ることもできる。中間データ暗号化／復号化部２１０は、中間データ暗号化／復号化部３１２と同様に、第１鍵を用いてサーバ２０の外部に送信する中間データを暗号化する。また、中間データ暗号化／復号化部２１０は、第１鍵を用いて暗号化された中間データを復号化する。ここで、サーバ２０で用いる第１鍵と、端末３０で用いる第２鍵は同一である。そのため、暗号化された中間データは、サーバ２０から端末３０へ送信する場合であっても、端末３０からサーバ２０へ送信する場合であっても、復号化して利用することができる。よって、本構成では、サーバ２０と端末３０との間の中間データについても保護することができる。
【００５３】
（第３の実施形態）
本実施形態は、以下の点を除き第１の実施形態と同様である。
【００５４】
本実施形態では、ライセンス情報はライブラリ３００の利用可能期間を示す有効期限を含む。図８は、第３の実施形態におけるライセンス情報記憶部２０８が記憶する情報の例を示す図である。なお、図８に限られず、ライセンス情報は、ライセンス認証に用いる任意の情報を有効期限と併せて含んでいてもよい。
【００５５】
図９は、第３の実施形態におけるライセンス設定処理の流れを示すシーケンス図である。
【００５６】
本実施形態では、ライセンス情報に含める有効期限を算出するため、管理者が端末固有情報と利用可能期間とを入力する（Ｓ４０２）。次に、サーバ２０は、サーバ２０のシステム時間を参照するなどして取得した現在日時と、Ｓ４０２で入力された利用可能期間とを用いて、ライブラリ３００の有効期限を算出する（Ｓ４０４）。Ｓ４０４で算出した有効期限は、ライセンス情報に含まれる。以降の処理は、第１の実施形態と同様であるため省略する。なお、有効期限の算出において、管理者が利用可能期間を入力するのではなく、サーバ２０が決められた利用可能期間を保持しており、当該利用可能期間に基づいて有効期限を算出するようにしてもよい。
【００５７】
図１０は、第３の実施形態におけるライセンス認証処理の流れを示すシーケンス図である。
【００５８】
Ｓ２０８において、復号化部３０８がライセンス情報の暗号化を解除できた場合（Ｓ２０８のＹＥＳ）、命令群制御部３１０は、暗号化が解除されたライセンス情報に含まれる有効期限の内容を確認する（Ｓ５０２）。ここで、ライセンス情報の有効期限が切れていた場合（Ｓ５０２のＮＯ）、命令群制御部３１０は、例えばライブラリ３００の所定機能の実行可否フラグに「実行不能」を示す値を設定するなどして、ライブラリ３００の所定機能を実行不能として処理を終了する（Ｓ２１０）。一方、ライセンス情報の有効期限が切れていない場合、命令群制御部３１０は、例えばライブラリ３００の所定機能の実行可否フラグに「実行可能」を示す値を設定するなどして、ライブラリ３００の所定機能を実行可能とする（Ｓ２１２）。これにより、利用者はライブラリ３００の全ての機能を利用できるようになる。
【００５９】
以上、本実施形態でも、第１の実施形態と同様の効果を得ることができる。本実施形態では、命令群制御部３１０が、ライセンス情報に含まれる、ライブラリ３００の利用可能期間を示す有効期限に基づいてライブラリ３００の所定機能の実行可否を制御する構成を取る。本構成により、ライブラリ３００の所定機能の実行可否制御をより細かく行うことができる。なお、本実施形態において、第２の実施形態の構成を含めることもできる。
【００６０】
（第４の実施形態）
本実施形態は、サーバ２０と端末３０とがネットワーク４０で接続されておらず、可搬記憶媒体５０により暗号化されたライセンス情報を取得する点を除いて、第１の実施形態と同様である。
【００６１】
図１１は、第４の実施形態における電子認証システム１０の構成を示すブロック図である。
【００６２】
本実施形態において、端末３０はライセンス情報をオンラインで取得しない。本実施形態では、例えば、サーバ２０から端末３０に対応するライセンス情報を記憶した可搬記憶媒体５０を、読込用装置（不図示）を介して端末３０と接続し、ライセンス取得部３０４が可搬記憶媒体５０に記憶されたライセンス情報を読み込むことで取得する。可搬記憶媒体５０にライセンス情報を記憶する方法は、可搬記憶媒体５０を、読込用装置（不図示）を介してサーバ２０に接続し、端末固有情報などの端末３０を特定する情報を管理者に入力させて、所望のライセンス情報を取得して記憶する方法とすることができる。また、他にも、ネットワークに接続可能である他の端末上でユーザ認証を行うなどしてライセンス情報の取得対象とする端末３０を特定し、サーバ２０から当該端末３０に対応するライセンス情報を取得して記憶する方法としてもよい。
【００６３】
図１２は、第４の実施形態におけるライセンス認証処理の流れを示すシーケンス図である。本実施形態におけるライセンス認証処理では、上述のとおり、可搬記憶媒体５０に、予めライセンス情報記憶部２０８からライセンス情報を取得して記憶させておく（Ｓ６０２）。そして、ライセンス情報取得部３０４が、可搬記憶媒体５０にライセンス情報が存在するか否かを判定する（Ｓ６０４）。
【００６４】
ここで、可搬記憶媒体５０にライセンス情報が存在せず、ライセンス情報が取得できなかった場合（Ｓ６０４のＮＯ）、命令群制御部３１０は、当該端末３０にインストールされたライブラリ３００を利用しようとする者が実行権限を有していないと判断する。この場合、命令群制御部３１０は、例えばライブラリ３００の実行可否フラグに「実行不能」を示す値を設定するなどして、ライブラリ３００を実行不能として処理を終了する（Ｓ２１０）。一方、可搬記憶媒体５０からライセンス情報が取得できた場合（Ｓ６０４のＹＥＳ）は、可搬記憶媒体５０から取得したライセンス情報を復号化部３０８で復号化して、第１の実施形態と同様にライセンス認証処理を行う（Ｓ２２４、Ｓ２２６、Ｓ２０６、Ｓ２０８、Ｓ２１２）。
【００６５】
以上、本実施形態においても、第１の実施形態と同様の効果を得ることができる。なお、本実施形態において、第２の実施形態または第３の実施形態の構成を含めることもできる。
【００６６】
以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記以外の様々な構成を採用することもできる。例えば、上述した実施形態では、説明の便宜上、サーバ２０および端末３０を１つとして説明したが、サーバ２０または端末３０が複数である構成を取ることもできる。また、上述した実施形態で説明した処理の順序は、これに限定されず、内容的に支障のない範囲で変更することできる。
【００６７】
なお、上述した実施形態によれば以下の発明が開示されている。
（付記１）
サーバと、命令群がインストールされた端末と、を備え、
前記サーバは、
共通鍵を保持するサーバ側共通鍵保持手段と、
前記端末の端末固有情報と、前記サーバ側共通鍵保持手段により保持される前記共通鍵とを用いて第１鍵を生成する第１鍵生成手段と、
前記端末にインストールされた命令群に対するライセンス情報を、前記第１鍵により暗号化する暗号化手段と、
前記端末固有情報と暗号化されたライセンス情報とを対応付けて記憶するライセンス情報記憶手段を有し、
前記端末は、
前記共通鍵を保持する端末側共通鍵保持手段と、
前記ライセンス情報記憶手段が記憶する前記暗号化されたライセンス情報のうち、当該端末と対応する前記暗号化されたライセンス情報を取得するライセンス情報取得手段と、
当該端末の前記端末固有情報と、前記端末側共通鍵保持手段により保持される前記共通鍵とを用いて第２鍵を生成する第２鍵生成手段と、
前記ライセンス情報取得手段により取得された前記暗号化されたライセンス情報を、前記第２鍵を用いて復号化することにより、暗号化が解除された前記ライセンス情報を取得する復号化手段と、
前記復号化手段で前記暗号化されたライセンス情報の暗号化が解除できない場合、前記命令群の所定機能を実行不能とする命令群制御手段と、
を前記命令群を実行することにより実現する
電子認証システム。
（付記２）
付記１に記載の電子認証システムにおいて、
前記命令群は、
前記命令群の所定機能により利用される中間データを、前記第２鍵を用いて暗号化または復号化する中間データ暗号化／復号化手段をさらに有する電子認証システム。
（付記３）
付記１または２に記載の電子認証システムにおいて、
前記暗号化手段は、
前記第１鍵を用いて前記ライセンス情報を暗号化した後、前記第１鍵を破棄し、
前記復号化手段は、
前記第２鍵を用いて前記暗号化されたライセンス情報を復号化した後、前記第２鍵を破棄する電子認証システム。
（付記４）
付記１〜３のいずれか一つに記載の電子認証システムにおいて、
前記命令群制御手段は、
復号化された前記ライセンス情報に含まれる、前記命令群の利用可能期間を示す有効期限に基づいて、前記命令群の所定機能の実行可否を制御する電子認証システム。
（付記５）
付記１〜４いずれか一つに記載の電子認証システムにおいて、
前記端末固有情報は、前記端末のＭＡＣ（Media Access Control）アドレス、または、前記端末の製造番号のうち少なくとも一方を含む情報である電子認証システム。
（付記６）
共通鍵を保持する端末側共通鍵保持手段と、
サーバが記憶する、端末にインストールされた命令群に対する暗号化されたライセンス情報のうち、当該端末と対応する前記暗号化されたライセンス情報を取得するライセンス情報取得手段と、
当該端末の端末固有情報と、前記端末側共通鍵保持手段により保持される前記共通鍵とを用いて第２鍵を生成する第２鍵生成手段と、
前記ライセンス情報取得手段により取得された前記暗号化されたライセンス情報を、前記第２鍵を用いて復号化することにより、暗号化が解除された前記ライセンス情報を取得する復号化手段と、
前記復号化手段で前記暗号化されたライセンス情報の暗号化が解除できない場合、前記命令群の所定機能を実行不能とする命令群制御手段と、
を前記命令群を実行することにより実現する端末。
（付記７）
共通鍵を保持するサーバ側共通鍵保持手段と、
当該サーバと通信する端末の端末固有情報と、前記サーバ側共通鍵保持手段により保持される前記共通鍵とを用いて第１鍵を生成する第１鍵生成手段と、
前記端末にインストールされた命令群に対するライセンス情報を、前記第１鍵により暗号化する暗号化手段と、
前記端末固有情報と暗号化されたライセンス情報とを対応付けて記憶するライセンス情報記憶手段と、
前記端末からの要求に基づき、当該端末に対応する前記暗号化されたライセンス情報を特定するライセンス情報特定手段を有するサーバ。
（付記８）
サーバを、
共通鍵を保持するサーバ側共通鍵保持手段、
前記サーバと通信する端末の端末固有情報と、前記サーバ側共通鍵保持手段により保持される前記共通鍵とを用いて第１鍵を生成する第１鍵生成手段、
前記端末にインストールされた命令群に対するライセンス情報を、前記第１鍵により暗号化する暗号化手段、
前記端末固有情報と暗号化されたライセンス情報とを対応付けて記憶するライセンス情報記憶手段、
として機能させるプログラムと、
前記端末を、
前記共通鍵を保持する端末側共通鍵保持手段、
前記ライセンス情報記憶手段が記憶する前記暗号化されたライセンス情報のうち、当該端末と対応する前記暗号化されたライセンス情報を取得するライセンス情報取得手段、
当該端末の前記端末固有情報と、前記端末側共通鍵保持手段により保持される前記共通鍵とを用いて第２鍵を生成する第２鍵生成手段、
前記ライセンス情報取得手段により取得された前記暗号化されたライセンス情報を、前記第２鍵を用いて復号化することにより、暗号化が解除された前記ライセンス情報を取得する復号化手段、
前記復号化手段で前記暗号化されたライセンス情報の暗号化が解除できない場合、前記命令群の所定機能を実行不能とする命令群制御手段、
として機能させる命令群を含むプログラムと、
からなる電子認証プログラム。
（付記９）
付記６に記載の端末において、
前記命令群は、
前記命令群の所定機能により利用される中間データを、前記第２鍵を用いて暗号化または復号化する中間データ暗号化／復号化手段をさらに有する端末。
（付記１０）
付記６または９に記載の端末において、
前記復号化手段は、
前記第２鍵を用いて前記暗号化されたライセンス情報を復号化した後、前記第２鍵を破棄する端末。
（付記１１）
付記６または９または１０のいずれか一つに記載の端末において、
前記命令群制御手段は、
復号化された前記ライセンス情報に含まれる、前記命令群の利用可能期間を示す有効期限に基づいて、前記命令群の所定機能の実行可否を制御する端末。
（付記１２）
付記６または９〜１１いずれか一つに記載の端末において、
前記端末固有情報は、前記端末のＭＡＣ（Media Access Control）アドレス、または、前記端末の製造番号のうち少なくとも一方を含む情報である端末。
（付記１３）
付記７に記載のサーバにおいて、
当該サーバは、
前記命令群の所定機能により利用される中間データを、前記第１鍵を用いて暗号化または復号化する中間データ暗号化／復号化手段をさらに有するサーバ。
（付記１４）
付記７または１３に記載のサーバにおいて、
前記暗号化手段は、
前記第１鍵を用いて前記ライセンス情報を暗号化した後、前記第１鍵を破棄するサーバ。
（付記１５）
付記７または１３または１４いずれか一つに記載のサーバにおいて、
前記端末固有情報は、前記端末のＭＡＣ（Media Access Control）アドレス、または、前記端末の製造番号のうち少なくとも一方を含む情報であるサーバ。
（付記１６）
付記８に記載の電子認証プログラムにおいて、
前記命令群は、前記端末を
前記命令群の所定機能により利用される中間データを、前記第２鍵を用いて暗号化する中間データ暗号化／復号化手段としてさらに機能させる電子認証プログラム。
（付記１７）
付記８または１６に記載の電子認証プログラムにおいて、
前記サーバを、前記暗号化手段で、
前記第１鍵を用いて前記ライセンス情報を暗号化した後、前記第１鍵を破棄する手段としてさらに機能させ、
前記端末を、前記復号化手段で、
前記第２鍵を用いて前記暗号化されたライセンス情報を復号化した後、前記第２鍵を破棄する手段としてさらに機能させるための電子認証プログラム。
（付記１８）
付記８または１６または１７のいずれか一つに記載の電子認証プログラムにおいて、
前記端末を、前記命令群制御手段で、
復号化された前記ライセンス情報に含まれる、前記命令群の利用可能期間を示す有効期限に基づいて、前記命令群の所定機能の実行可否を制御する手段としてさらに機能させる電子認証プログラム。
【符号の説明】
【００６８】
１０  電子認証システム
２０  サーバ
２０２  サーバ側共通鍵保持部
２０４  第１鍵生成部
２０６  暗号化部
２０８  ライセンス情報記憶部
２１０  中間データ暗号化／復号化部
３０  端末
３００  ライブラリ
３０２  端末側共通鍵保持部
３０４  ライセンス情報取得部
３０６  第２鍵生成部
３０８  復号化部
３１０  命令群制御部
３１２  中間データ暗号化／復号化部
３５０  アプリケーション
４０  ネットワーク
５０  可搬記憶媒体
【図１】
2014016659.tif 000003
【図２】
2014016659.tif 000004
【図３】
2014016659.tif 000005
【図４】
2014016659.tif 000006
【図５】
2014016659.tif 000007
【図６】
2014016659.tif 000008
【図７】
2014016659.tif 000009
【図８】
2014016659.tif 000010
【図９】
2014016659.tif 000011
【図１０】
2014016659.tif 000012
【図１１】
2014016659.tif 000013
【図１２】
2014016659.tif 000014