(57)【要約】  【課題】  アプリケーションの不正使用を防ぎつつ、アプリケーションの起動制御を行うこと。  【解決手段】  事業者は、ユーザにアプリケーションを販売する場合に、アプリケーションと共に確認デバイスを提供する。確認デバイスには、第１公開鍵証明書が記憶されている。アプリケーションを起動する場合、確認デバイスをクライアント端末に接続してからアプリケーションに起動を命じる。アプリケーションは、確認デバイスから第１公開鍵証明書を読み出して正当性を確認し、第１公開鍵に記されているシリアル番号を管理センタに送信する。管理センタはシリアル番号に対応する起動情報をクライアント端末に返送し、アプリケーションは、起動情報に従ってユーザが使用できる機能を制限して起動する。  【選択図】  図１
2006330789.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションが組み込まれたクライアント端末と、前記クライアント端末に接続する所定のハードウェア装置と、前記アプリケーションに起動情報を送信するサーバシステムと、から構成されたアプリケーションシステムであって、
前記アプリケーションは、前記所定のハードウェア装置に記憶されているＩＤ情報を取得して前記サーバシステムに送信し、
前記サーバシステムは、前記送信されたＩＤ情報を受信し、当該受信したＩＤ情報に対応する起動情報を前記アプリケーションに送信し、
前記アプリケーションは、前記送信された起動情報を受信し、当該受信した起動情報を用いてアプリケーション機能を制限して起動することを特徴とするアプリケーションシステム。
【請求項２】
所定の情報処理を行うアプリケーション機能と、
前記アプリケーション機能の起動要求を受け付ける起動要求受付機能と、
ＩＤ情報を取得するＩＤ情報取得機能と、
前記起動要求を受け付けた場合に、前記取得したＩＤ情報をネットワークにより接続した所定のサーバ装置に送信するＩＤ情報送信機能と、
前記サーバ装置から、前記送信したＩＤ情報に対応する起動情報を受信する起動情報受信機能と、
前記受信した起動情報を用いて前記アプリケーション機能の機能を制限して起動する起動機能と、
をコンピュータで実現するアプリケーションプログラム。
【請求項３】
前記起動要求を受け付けた場合に、前記アプリケーション機能を実現するコンピュータに接続した所定のハードウェア装置にアクセスするアクセス機能と、
前記アクセスした所定のハードウェア装置に記憶されているデジタル証明書を確認する確認機能と、
を前記コンピュータで実現し、
前記起動機能は、前記確認機能で前記デジタル証明書が確認されなかった場合に前記アプリケーション機能の起動を行わないことを特徴とする請求項２に記載のアプリケーションプログラム。
【請求項４】
前記所定のハードウェア装置は、第１の秘密鍵を記憶する第１の秘密鍵記憶手段と、前記記憶した第１の秘密鍵を用いて暗号情報を復号化する復号手段と、を具備しており、
前記起動情報は、前記第１の秘密鍵に対応する第１の公開鍵で暗号化されており、
前記起動機能は、前記受信した起動情報を前記所定のハードウェア装置で復号化した後、当該復号化した起動情報を用いて起動することを特徴とする請求項３に記載のアプリケーションプログラム。
【請求項５】
前記起動情報は、更に第２の秘密鍵で暗号化されており、
前記アプリケーションプログラムには、前記第２の秘密鍵に対応する第２の公開鍵が組み込まれており、
前記起動機能は、前記所定のハードウェア装置で復号化した起動情報を更に前記組み込まれた第２の公開鍵で復号化し、当該復号化した起動情報を用いて起動することを特徴とする請求項４に記載のアプリケーションプログラム。
【請求項６】
前記起動情報には有効期限が含まれており、
前記受信した起動情報を記憶する起動情報記憶機能と、
前記記憶した起動情報の有効期限の有効性を確認する有効確認機能と、
を前記コンピュータで実現し、
前記起動機能は、前記ネットワークによる通信を行わない場合には、前記有効確認機能で有効期限の有効性を確認した場合に、当該記憶しておいた起動情報を用いて前記アプリケーション機能を起動することを特徴とする請求項２から請求項５までのうちの何れか１の請求項に記載のアプリケーションプログラム。
【請求項７】
請求項２から請求項６までのうちの何れか１の請求項に記載したアプリケーションプログラムを記憶した記憶媒体。
【請求項８】
起動情報をＩＤ情報に対応付けて記憶する起動情報記憶手段と、
請求項１から請求項５までのうちの何れか１の請求項に記載のアプリケーションプログラムを実行するコンピュータから、ＩＤ情報を受信するＩＤ情報受信手段と、
前記起動情報記憶機能から、前記受信したＩＤ情報に対応する起動情報を取得して前記コンピュータに送信する起動情報送信手段と、
を具備したことを特徴とするサーバ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーションシステム、アプリケーションプログラム、記憶媒体、及びサーバ装置に関し、例えば、アプリケーションの起動を制御するものに関する。
【背景技術】
【０００２】
近年のコンピュータの普及とアプリケーションの充実によって、従来は手作業で行っていた作業をコンピュータ上で効率よく行えるようになってきた。
これらアプリケーションには、ワードプロセッサ、表計算ソフトといったような汎用の安価なものから、建築設計用ＣＡＤ（Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｄｅｓｉｇｎ）や機械設計用のＣＡＤなど、高度な情報処理機能を持った高価なものまで各種のものが存在している。
【０００３】
一般に、アプリケーションは廉価版、デモ版、通常版などの複数の仕様（バージョンなど）が用意されており、仕様によって使用できる機能や期間などの使用条件が規定されている。ユーザは、使用目的や予算に応じて仕様を選択する。
【０００４】
アプリケーションは、仕様ごとに用意されているため、事業者（アプリケーションのベンダ）は、ユーザから仕様の変更を依頼されると、変更後の仕様のアプリケーションを新たにユーザに提供していた。
また、使用条件に応じてアプリケーションを起動する技術として次の「端末装置」がある。
【０００５】
【特許文献１】特開２００４−３０２９６３公報
【０００６】
この技術は、予めダウンロードしてあるファイルに記載されている制限に従って、アプリケーションを起動するものである。
このファイルには、有効、無効の２つの状態があり、この状態をサーバ装置にて管理できるものである。
【０００７】
ところで、アプリケーションは、コンピュータプログラム（アプリケーションプログラム）の形で配布されることから不正コピーなどによって不正使用されやすいという一面がある。
ＣＡＤなど高価なアプリケーションでは、莫大な開発費などが必要であり、不正使用された場合、その被害は甚大である。
【０００８】
そのため、アプリケーションプログラムにコピープロテクションを施したり、あるいは、アプリケーションの使用に際し、キー情報を記憶した所定のハードウェアをコンピュータに装着することを要求するなどの対策が講じられている。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかし、従来は、ユーザに配布してあるアプリケーションの利用可能な機能を事業者側で動的にきめ細かく設定することはできなかった。
そのため、例えば、ユーザが、簡略な機能を備えたアプリケーションから同一銘柄のより高度な機能を備えたアプリケーションに乗り換える場合、高度な機能要のアプリケーションをユーザに配布する必要があった。
また、本実施の形態で説明するように、アプリケーションの機能制御とアプリケーションの不正使用の防止を同時に行う技術は無かった。
【００１０】
そこで、本発明の目的は、アプリケーションの不正使用を防ぎつつ、アプリケーションの起動制御を行うことである。
【課題を解決するための手段】
【００１１】
本発明は、前記目的を達成するために、請求項１に記載の発明では、アプリケーションが組み込まれたクライアント端末と、前記クライアント端末に接続する所定のハードウェア装置と、前記アプリケーションに起動情報を送信するサーバシステムと、から構成されたアプリケーションシステムであって、前記アプリケーションは、前記所定のハードウェア装置に記憶されているＩＤ情報を取得して前記サーバシステムに送信し、前記サーバシステムは、前記送信されたＩＤ情報を受信し、当該受信したＩＤ情報に対応する起動情報を前記アプリケーションに送信し、前記アプリケーションは、前記送信された起動情報を受信し、当該受信した起動情報を用いてアプリケーション機能を制限して起動することを特徴とするアプリケーションシステムを提供する。
請求項２に記載の発明では、所定の情報処理を行うアプリケーション機能と、前記アプリケーション機能の起動要求を受け付ける起動要求受付機能と、ＩＤ情報を取得するＩＤ情報取得機能と、前記起動要求を受け付けた場合に、前記取得したＩＤ情報をネットワークにより接続した所定のサーバ装置に送信するＩＤ情報送信機能と、前記サーバ装置から、前記送信したＩＤ情報に対応する起動情報を受信する起動情報受信機能と、前記受信した起動情報を用いて前記アプリケーション機能の機能を制限して起動する起動機能と、をコンピュータで実現するアプリケーションプログラムを提供する。
請求項３に記載の発明では、前記起動要求を受け付けた場合に、前記アプリケーション機能を実現するコンピュータに接続した所定のハードウェア装置にアクセスするアクセス機能と、前記アクセスした所定のハードウェア装置に記憶されているデジタル証明書を確認する確認機能と、を前記コンピュータで実現し、前記起動機能は、前記確認機能で前記デジタル証明書が確認されなかった場合に前記アプリケーション機能の起動を行わないことを特徴とする請求項２に記載のアプリケーションプログラムを提供する。
請求項４に記載の発明では、前記所定のハードウェア装置は、第１の秘密鍵を記憶する第１の秘密鍵記憶手段と、前記記憶した第１の秘密鍵を用いて暗号情報を復号化する復号手段と、を具備しており、前記起動情報は、前記第１の秘密鍵に対応する第１の公開鍵で暗号化されており、前記起動機能は、前記受信した起動情報を前記所定のハードウェア装置で復号化した後、当該復号化した起動情報を用いて起動することを特徴とする請求項３に記載のアプリケーションプログラムを提供する。
請求項５に記載の発明では、前記起動情報は、更に第２の秘密鍵で暗号化されており、前記アプリケーションプログラムには、前記第２の秘密鍵に対応する第２の公開鍵が組み込まれており、前記起動機能は、前記所定のハードウェア装置で復号化した起動情報を更に前記組み込まれた第２の公開鍵で復号化し、当該復号化した起動情報を用いて起動することを特徴とする請求項４に記載のアプリケーションプログラムを提供する。
請求項６に記載の発明では、前記起動情報には有効期限が含まれており、前記受信した起動情報を記憶する起動情報記憶機能と、前記記憶した起動情報の有効期限の有効性を確認する有効確認機能と、を前記コンピュータで実現し、前記起動機能は、前記ネットワークによる通信を行わない場合には、前記有効確認機能で有効期限の有効性を確認した場合に、当該記憶しておいた起動情報を用いて前記アプリケーション機能を起動することを特徴とする請求項２から請求項５までのうちの何れか１の請求項に記載のアプリケーションプログラムを提供する。
請求項７に記載の発明では、請求項２から請求項６までのうちの何れか１の請求項に記載したアプリケーションプログラムを記憶した記憶媒体を提供する。
請求項８に記載の発明では、起動情報をＩＤ情報に対応付けて記憶する起動情報記憶手段と、請求項１から請求項５までのうちの何れか１の請求項に記載のアプリケーションプログラムを実行するコンピュータから、ＩＤ情報を受信するＩＤ情報受信手段と、前記起動情報記憶機能から、前記受信したＩＤ情報に対応する起動情報を取得して前記コンピュータに送信する起動情報送信手段と、を具備したことを特徴とするサーバ装置を提供する。
【発明の効果】
【００１２】
本発明によると、アプリケーションの不正使用を防ぎつつ、アプリケーションの起動制御を行うことができる。
【発明を実施するための最良の形態】
【００１３】
（１）実施の形態の概要
本実施の形態では、ＰＫＩ（Ｐｕｂｌｉｃ  Ｋｅｙ  Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ）の技術を用いてアプリケーションシステムを構築する。
ＰＫＩとは、公開鍵暗号技術とデジタル署名などを用いてネットワーク上でセキュリティを実現する技術であって、データ改竄や成りすましなどを防ぐことができる。
【００１４】
事業者（ベンダ）は、ユーザにアプリケーションを販売する場合に、アプリケーションと共に確認デバイスを提供する。
確認デバイスは、演算装置やメモリなどを備えており、メモリには第１秘密鍵と、第１秘密鍵に対応する第１公開鍵のデジタル証明書である第１公開鍵証明書が記憶されている。また、第１公開鍵証明書には、第１公開鍵とユーザのシリアル番号が記載されている。なお、第１秘密鍵は、外部から解析されないように記憶されている。
【００１５】
一方、アプリケーションは、確認デバイスの第１公開鍵証明書が正規のものであることを確認するためのルート公開鍵証明書と、第２公開鍵を備えている。
第１公開鍵、及び第２公開鍵に対応する第２秘密鍵は、事業者の運営する管理センタで保管されている。
【００１６】
クライアント端末でアプリケーションを起動する場合、ユーザは確認デバイスをクライアント端末に接続してからアプリケーションに起動を命じる。
アプリケーションは、ユーザから起動の要求を受け付けると、確認デバイスから第１公開鍵証明書を読み出す。そして、アプリケーションは、自身に埋め込まれているルート公開鍵証明書を用いて第１公開鍵証明書の正当性を確認し、正当性が確認された場合、第１公開鍵に記されているシリアル番号を管理センタに送信する。第１公開鍵証明書の正当性が確認されなかった場合、アプリケーションは起動しない。
【００１７】
管理センタでは、予めシリアル番号ごとにアプリケーションで使用できる機能を制限して起動するための起動情報を記憶しており、これを第１公開鍵で暗号化し、更に第２秘密鍵で二重に暗号化してクライアント端末に送信する。
【００１８】
アプリケーションは、管理センタから送られてきた暗号化起動情報を受信し、これを確認デバイスに送出する。
確認デバイスは第１秘密鍵を用いて暗号化起動情報を復号化し、アプリケーションに返送する。アプリケーションは、これを更に第２公開鍵で復号化して起動情報を復元する。
そして、アプリケーションは、起動情報に従って、ユーザが使用できる機能を制限して起動する。
【００１９】
（２）実施の形態の詳細
図１は、本実施の形態にかかるアプリケーションシステムのシステム構成を示したブロック図である。
アプリケーションシステム１では、管理センタ２とクライアント端末３がネットワーク１００を介して接続可能に配設されている。
【００２０】
ネットワーク１００は、例えばインターネットで構成されているが、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、その他のネットワークで構成してもよい。
なお、図示しないが管理センタ２とネットワーク１００の間には、管理センタ２への不正攻撃を防御するファイアウォールが設置されている。
【００２１】
管理センタ２は、アプリケーション８を販売管理する事業者などが運営しているシステムであり、認証機関サーバ４、データベースサーバ５、ウェブサーバ６などから構成されている。
管理センタ２は、アプリケーション８の不正使用防止と、アプリケーションの起動に際する機能制限を行う。
【００２２】
クライアント端末３は、例えば、パーソナルコンピュータなどのコンピュータで構成されており、アプリケーション８がインストールされている。
アプリケーション８は、例えば建築用のＣＡＤソフトなどの所定の情報処理を行うアプリケーションソフトウェアであって、アプリケーションプログラムをクライアント端末３で実行することにより構成される。
【００２３】
このようにアプリケーションプログラムは、所定の情報処理を行うアプリケーション機能をコンピュータで実現する。
なお、アプリケーション８は、一般に複数のユーザに販売されて使用されるため、クライアント端末３も一般に複数台存在する。
【００２４】
確認デバイス７は、例えば、トークンなどと呼ばれる着脱可能な小型のデバイスであり、アプリケーション８の起動制御を行うための所定のハードウェア装置を構成している。
確認デバイス７は、例えば携帯可能であり、アプリケーション８の使用時にコンピュータの入出力インターフェースに装着する。図２に確認デバイス７の構成を模式的に示す。
【００２５】
図２に示したように、確認デバイス７は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２１、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２２、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２３、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  ａｎｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）２５、Ｉ／Ｆ（インターフェース）２４などがバスラインで接続された小型のコンピュータとなっている。
また、確認デバイス７の先端にはクライアント端末３の入出力インターフェースに接続するための接続端子２６が形成されている。
【００２６】
ＣＰＵ２１は、プログラムに従って各種の情報処理や確認デバイス７の各部の制御を行う中央処理装置である。ＣＰＵ２１は、本実施の形態においては、第１公開鍵と第１秘密鍵の組の生成処理、第１秘密鍵を用いた暗号化データの復号処理（復号手段）などを行う。
【００２７】
ＲＯＭ２２は、読み出し専用のメモリであって、確認デバイス７の運用に必要なパラメータ、データ、及びプログラムなどを記憶している。
ＲＡＭ２３は、読み書き可能なメモリであって、ＣＰＵ２１が鍵の生成処理や復号処理を行う際のワーキングエリアを提供する。確認デバイス７をコンピュータから取り外すと電力の供給が停止するため、ＲＡＭ２３に記憶されているデータは消去される。
【００２８】
ＥＥＰＲＯＭ２５は、読み書きが可能なメモリであって、確認デバイス７への電力の供給が停止した場合も記憶内容を保持することができる。
ＥＥＰＲＯＭ２５には、確認デバイス７を動作させるための基本的なプログラムであるＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）や、第１公開鍵と第１秘密鍵の組を生成するための鍵生成プログラム、暗号化されたデータを第１秘密鍵を用いて復号化するための復号プログラムなどが記憶されている。
【００２９】
ＣＰＵ２１は、鍵生成プログラムを実行することにより、第１公開鍵と第１秘密鍵を生成する。なお、ＣＰＵ２１は、例えば乱数を用いるなどしてユニークな第１公開鍵と第１秘密鍵を生成することができる。そのため、確認デバイス７が複数あった場合、確認デバイス７ごとに異なる第１公開鍵と第１秘密鍵が生成される。
【００３０】
なお、ＣＰＵ２１は、生成した第１秘密鍵を外部からアクセスが著しく困難なようにＥＥＰＲＯＭ２５の所定領域に保存する（第１の秘密鍵記憶手段）。例えば、耐タンパチップなどを用いて確認デバイス７を構成すると、より第１秘密鍵の解析が困難になる。
このように構成することにより、第１秘密鍵は確認デバイス７内部で生成された後、外部に漏れないように確認デバイス７内に保持されるため、確認デバイス７以外には、第１の秘密鍵を知っている者は存在しない。
【００３１】
Ｉ／Ｆ２４は、ＣＰＵ２１と接続先のコンピュータのＣＰＵとの情報伝達を中継するインターフェースであり、確認デバイス７から突出して形成された接続端子２６と接続している。
接続端子２６は、例えば、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）などの所定の規格に適合する接続端子であって、クライアント端末３の接続端子に装着することにより確認デバイス７とクライアント端末３を電気的、及び物理的に接続する。
なお、確認デバイス７を駆動する電力は、接続端子２６を介して接続先のコンピュータから供給される。
【００３２】
図１に戻り、ウェブサーバ６は、管理センタ２においてクライアント端末３からのアクセスを受け付けるウェブサーバ装置である。
ウェブサーバ６は、クライアント端末３とＳＳＬ（Ｓｅｃｕｒｅ  Ｓｏｃｋｅｔｓ  Ｌａｙｅｒ）によって暗号化された通信回線を確立すると共にデータベースサーバ５とクライアント端末３との通信を仲介する。
【００３３】
データベースサーバ５は、ユーザのシリアル番号に対応付けて起動情報を記憶しており、アプリケーション８に起動情報を提供するサーバ装置である。
認証機関サーバ４は、アプリケーションシステム１で使用するデジタル証明書のルート認証局である。
【００３４】
次に、以上のようにして構成されたアプリケーションシステム１の運用について説明する
アプリケーションシステム１の運用は、大きくアプリケーションの販売時とアプリケーションの使用時の２つに分けられる。
【００３５】
［アプリケーションの販売時における運用］
まず、図３を用いながらアプリケーション販売時におけるアプリケーションシステム１の運用について説明する。
まず、事業者は、ユーザからアプリケーションの注文を受け付ける。この注文の受け付けは、例えば、アプリケーションの販売店やアプリケーション販売ウェブサイト上、あるいは訪問販売などで行う。
事業者が受け付ける注文内容は、アプリケーションの品名、アプリケーションの仕様、購入数量、ユーザの個人情報（氏名、住所、電話番号）などがある。
【００３６】
アプリケーションの仕様は、例えば、一定期間の試用に供する無料のデモ版や、低レベルの機能が利用可能で価格を抑えた廉価版、高レベルの機能が利用可能で廉価版より価格の高い通常版など、ユーザが支払う代金に基づいて複数用意されている。
また、利用できる機能をユーザが選択し、ユーザごとにカスタマイズした仕様も可能である。
【００３７】
事業者は、ユーザから注文を受けると、以下のようにしてアプリケーション８と確認デバイス７をアプリケーションシステム１で運用可能なように調製する。
まず、確認デバイス７に関しては、事業者はこれをコンピュータに接続するなどして操作し、確認デバイス７内の鍵生成プログラムを実行させる。
事業者は、確認デバイス７の内部で第１公開鍵と第１秘密鍵を生成した後、確認デバイス７を認証機関サーバ４に接続する。
【００３８】
なお、本実施の形態では、確認デバイス７で第１公開鍵と第１秘密鍵を生成した後、これを認証機関サーバ４に接続したが、初めから確認デバイス７を認証機関サーバ４に接続し、認証機関サーバ４から確認デバイス７にアクセスして第１公開鍵と第１秘密鍵を生成してもよい。
【００３９】
確認デバイス７が接続されると認証機関サーバ４は確認デバイス７から第１公開鍵を読み込む。そして、認証機関サーバ４は、自身のルート秘密鍵を用いて第１公開鍵のデジタル証明書である第１公開鍵証明書を作成し、これを確認デバイス７に出力する。
確認デバイス７は、認証機関サーバ４から第１公開鍵証明書を受け取り、ＥＥＰＲＯＭ２５に記憶する。
【００４０】
ここで、第１公開鍵証明書についてより詳細に説明する。
第１公開鍵証明書は、第１公開鍵、ユーザのシリアル番号、その他の必要事項から成る本文と、本文の内容を保証する認証機関サーバ４によるデジタル署名から構成されている。本文は平文で構成されている。
【００４１】
本実施の形態では、本文を一方向性関数で演算した値をルート秘密鍵で暗号化したものでデジタル署名を構成する。
一方向性関数は、本文から演算値への変換は行えるが、演算値から本文への逆変換は著しく困難な関数をいう。
本実施の形態では、一方向性関数としてハッシュ関数を用いる。ハッシュ関数による演算値はハッシュ値、あるいはダイジェストなどと呼ばれている。
【００４２】
ハッシュ関数は、ハッシュ値から本文が復元困難なほか、本文が例え一部でも変更されるとハッシュ値が大きく変化するという性質を持っている。
そのため、本文のハッシュ値をルート秘密鍵で暗号化して暗号化ハッシュ値とすることにより、次の２点が確認される。
【００４３】
まず、デジタル署名をルート公開鍵で復号化できることにより、デジタル署名が認証機関サーバ４によってなされたことを確認することができる。
次に、本文のハッシュ値を演算し、これとデジタル署名から復号化したハッシュ値が同一であることを確認することにより、本文が改竄されていないことを確認することができる。
本文には、第１公開鍵とシリアル番号などが含まれるため、第１公開鍵証明書によりこれらの値が改竄されていないことが保証される。
【００４４】
次に、認証機関サーバ４は、確認デバイス７に第１公開鍵証明書を記憶させた後、第２公開鍵と第２秘密鍵の組を生成する。これらの暗号鍵は、後ほど起動情報を暗号化するのに用いるものである。
そして、認証機関サーバ４は、シリアル番号、第１公開鍵、第２公開鍵、及び第２秘密鍵をデータベースサーバ５に送信する。
【００４５】
データベースサーバ５は、認証機関サーバ４が有するルート秘密鍵と組を成すルート公開鍵のデジタル証明書であるルート公開鍵証明書を記憶するほか、認証機関サーバ４から送信されてきたシリアル番号、第１公開鍵、第２公開鍵、第２秘密鍵などを記憶したデータベース３０を有している。ルート公開鍵証明書の本文にはルート公開鍵が含まれている。
【００４６】
図４は、データベース３０の論理的な構成の一例を示した図である。なお、簡略化のため、全ての項目を１つのデータベースに構成したが、リレーショナルデータベースにより、論理的な関連付けた複数のデータベースから構成することもできる。
【００４７】
データベース３０は、項目「シリアル番号」、「起動情報」、「第１公開鍵」、「第２秘密鍵」、「第２公開鍵」、その他の項目から構成されている。
これらの項目はシリアル番号ごとに対応付けられており、シリアル番号を特定すると起動情報、第１公開鍵、第２秘密鍵、第２公開鍵などが特定できるようになっている。
【００４８】
項目「シリアル番号」は、ユーザごとに認証機関サーバ４が発行したＩＤ情報であり、ユーザごとにユニークな値となっている。
なお、本実施の形態では、シリアル番号はユーザに対応して発行するものとするが、アプリケーション８に対応して発行するようしてもよいし、確認デバイス７ごとに発行するようにしてもよい。
【００４９】
ユーザごと、または確認デバイス７ごとにシリアル番号を設定すると、複数のクライアント端末３にアプリケーション８がインストールされている場合、確認デバイス７をセットすることにより、何れのクライアント端末３においても当該ユーザの起動条件でアプリケーション８を起動することができる。
【００５０】
項目「起動情報」は、ユーザがアプリケーション８の購入時に使用者と交わした契約などに基づいて設定される仕様を事業者がデータベースサーバ５に入力したものである。
このように、データベース３０では、シリアル番号（ＩＤ情報）と起動情報を対応付けて記憶する起動情報記憶手段を構成している。
【００５１】
仕様には、例えば、「使用期限」、「デモ版」、「廉価版」、「特定機能使用不可」、「全機能使用可」・・・などがある。
「使用期限」は、ユーザがアプリケーション８を使用できる期限を設定する条件である。この期限を超過した場合、ユーザはアプリケーション８の使用を継続するために事業者との契約を更新する必要がある。
【００５２】
「デモ版」は、試供品に該当し、ある一定の短期間ユーザにアプリケーション８の使用を無料で許可する条件である。これによってユーザはアプリケーション８を試しに使ってみて納得してから購入を決断することができる。
【００５３】
「廉価版」は、アプリケーション８が備える全機能のうち、ユーザが一般的に使用する主な機能に限定して使用可能とし、その分だけ価格を低く設定したものである。
これによってユーザは、不要な機能を購入する必要が無く、アプリケーション８の購入コストを低減することができる。
【００５４】
「特定機能使用不可」は、アプリケーション８は、例えば、「シミュレーション機能不可」といったように、アプリケーション８が有する各種の機能のうち、特定の機能を使用不可にしたものである。
ユーザは、アプリケーション８の購入時に使用できる機能を選択することができ、選択されなかった機能が「特定機能使用不可」にて使用不可に設定される。
【００５５】
このように使用する機能を選択することにより、ユーザは自己の使用目的に適合するようにアプリケーション８をカスタマイズすることができる。
また、アプリケーション８の販売価格も使用できる機能によって設定されるようになっており、ユーザは不要な機能に対して代金を支払う必要が無くなる。
【００５６】
このように、ユーザはアプリケーション８の購入時にアプリケーション８の仕様を事業者との契約により設定することができるが、仕様は途中で変更することが可能である。この場合、事業者は、データベース３０において、このユーザの「起動情報」を書き換えることにより対応することができる。
【００５７】
例えば、ユーザがデモ版を使用した後に廉価版の購入を希望する場合、事業者は、このユーザのシリアル番号に対応付けられている「起動情報」をデモ版から廉価版に書き換えることにより対応することができる。
このように、事業者は、管理センタ２からアプリケーション８の起動を制御することができる。
【００５８】
データベース３０の項目「第１公開鍵」、「第２秘密鍵」及び「第２公開鍵」は、認証機関サーバ４が「シリアル番号」に対応して発行した第１公開鍵、第２秘密鍵、及び第２公開鍵である。
【００５９】
事業者は、以上のようにして構成されたデータベースサーバ５（図３）を用いて、確認デバイス７に対応するようにアプリケーション８を調製する。
即ち、事業者は、アプリケーション８に、確認デバイス７に埋め込んだシリアル番号に対応付けられている第２公開鍵と、ルート公開鍵証明書を埋め込んでから出荷する。
【００６０】
アプリケーション８をコンピュータで実現するアプリケーションプログラムは、例えば、光ディスクなどの記憶媒体にインストールプログラムと共に記録されてユーザに渡されたり、あるいは、インストールプログラムと共にネットワーク１００を介してクライアント端末３に送信するなどしてユーザに提供される。
【００６１】
次に、図５を用いてアプリケーション８の構成について説明する。これらの構成は、アプリケーションプログラムをコンピュータで実行することにより実現されるものである。
アプリケーション８は、起動部３１、本体部３２、機能選択部３３、通信部３４、確認デバイス接続部３５、及びユーザインターフェース３６などの各機能部から構成されている。
【００６２】
通信部３４は、ネットワーク１００を介してウェブサーバ６と通信するための機能部である。後述するように、通信部３４は、ウェブサーバ６とＳＳＬによる通信回線を確立する。
確認デバイス接続部３５は、確認デバイス７と通信するための機能部である。
起動部３１は、第２公開鍵とルート公開鍵証明書を記憶しており、通信部３４や確認デバイス接続部３５を用いて管理センタ２や確認デバイス７と通信しながら起動情報に基づいてアプリケーション８を起動させる。
【００６３】
本体部３２は、例えば、ＣＡＤ機能など、アプリケーション８のアプリケーション機能を発揮する機能部である。本体部３２には、アプリケーション８が実現できる全機能（ＣＡＤであれば、描画機能、３Ｄ（３次元）表示機能、シミュレーション機能など）が含まれている。
【００６４】
機能選択部３３は、本体部３２の機能のうち、ユーザインターフェース３６から使用できる機能を起動部３１からの指示に基づいて選択する。
例えば、機能選択部３３が描画機能を選択し、他の機能を選択しなかった場合、ユーザは本体部３２のうちの描画機能だけ使用できる。
このようにして本体部３２が有する機能のうち、ユーザが使用できる機能を起動情報に基づいて制限することができる。
【００６５】
ユーザインターフェース３６は、ユーザがアプリケーション８を操作するための機能部であり、例えば、マウス、キーボードなどの入力デバイスからの入力を受け付けて本体部３２に入力し、本体部３２が出力したデータをディスプレイ装置に表示する。
このように、ユーザは、ユーザインターフェース３６を介して本体部３２の提供する機能を利用することができる。
【００６６】
次に図６のフローチャートを用いて、事業者が確認デバイス７とアプリケーション８の組を作成する手順について説明する。
まず、事業者は、コンピュータなどを用いて確認デバイス７にアクセスし、鍵生成プログラムを実行して、確認デバイス７内で第１公開鍵と第１秘密鍵の組を生成する（ステップ５）。
そして、事業者は、確認デバイス７を認証機関サーバ４に接続する。
【００６７】
次に、認証機関サーバ４が、確認デバイス７に対して第１公開鍵の送信を要求し、これに応じて確認デバイス７は第１公開鍵を認証機関サーバ４に送出する（ステップ１０）。
認証機関サーバ４は、確認デバイス７から第１公開鍵を受信してＲＡＭなどの記憶装置に記憶する。
【００６８】
次に、認証機関サーバ４は、所定の手順に従ってユーザのシリアル番号を発生する。このシリアル番号は連番であってもよいし、あるいは既に発行済みのシリアル番号と重複しない乱数によって構成してもよい。
【００６９】
次に、認証機関サーバ４は、第１公開鍵とシリアル番号、その他の事項から成る本文のハッシュ値を計算し、ルート秘密鍵を用いて暗号化してデジタル署名を生成する。認証機関サーバ４は、デジタル署名を本文に添付して第１公開鍵証明書を生成する（ステップ１５）。
認証機関サーバ４は、生成したシリアル番号、第１公開鍵を記憶装置に記憶する。
【００７０】
認証機関サーバ４は、第１公開鍵証明書を作成すると、これを確認デバイス７に送出する（ステップ２０）。
確認デバイス７は、認証機関サーバ４から第１公開鍵を取得し、ＥＥＰＲＯＭ２５に記憶する（ステップ２５）。
【００７１】
次に、認証機関サーバ４は、第２秘密鍵とこれに対応する第２公開鍵の組を生成し、記憶装置に記憶する（ステップ３０）。
次に、認証機関サーバ４は、記憶しておいたシリアル番号、第１公開鍵、第２秘密鍵、第２公開鍵をデータベースサーバ５に送出する（ステップ３５）。
【００７２】
データベースサーバ５は、認証機関サーバ４から第１公開鍵、第２秘密鍵、第２公開鍵を受信してデータベース３０に記憶装置に記憶する（ステップ４０）。
更に、データベースサーバ５は、事業者より起動情報の入力を受け付け、入力された起動情報をデータベース３０に記憶し、起動情報を確認デバイス７のシリアル番号に対応付ける（ステップ４５）。
【００７３】
次に、データベースサーバ５は、アプリケーション８の起動部３１に第２公開鍵とルート公開鍵証明書を書き込む（ステップ５０）。
以上のようにして、事業者は、ユーザに提供するアプリケーション８と確認デバイス７の組を作成することができる。
【００７４】
［アプリケーションの使用時における運用］
次に、図７を用いながら、アプリケーション使用時におけるアプリケーションシステム１の運用について説明する。
クライアント端末３には、インストールプログラムを実行してアプリケーションプログラムをインストールすることによりアプリケーション８が組み込まれる。
以下の起動処理は、起動部３１が行うものである。
【００７５】
ユーザは、アプリケーション８を使用する場合、確認デバイス７をクライアント端末３に接続してからアプリケーション８に起動要求を行う。この起動要求は、例えば、アプリケーション８の起動を示すアイコンをクリックするなどして行われる。
アプリケーション８は、ユーザから起動要求を受け付けて（起動要求受付機能）、確認デバイス７にアクセスし（アクセス機能）、確認デバイス７から第１公開鍵証明書を読み出す。
【００７６】
そして、アプリケーション８は、自身に埋め込まれているルート公開鍵証明書を用いて第１公開鍵証明書が改竄されていないか確認する（確認機能）。
この確認は、ルート公開鍵証明書に含まれているルート公開鍵で第１公開鍵証明書のデジタル署名を復号化することにより本文のハッシュ値を復元し、更に本文のハッシュ値を計算して両者を照合することにより行う。
【００７７】
次に、アプリケーション８は、ネットワーク１００を介してウェブサーバ６に接続し、ＳＳＬによる暗号化された通信回線を確立する。
なお、一般に、ＳＳＬによる通信回線は、クライアント側がサーバ側のサーバ証明書を確認して行うが、本実施の形態では、クライアント端末３がウェブサーバ６のサーバ証明書を確認するほか、ウェブサーバ６がクライアント端末３側の第１公開鍵証明書を確認する。このように双方向に確認することによりウェブサーバ６は、接続してきた相手が正規のアプリケーション８であることを確認することができる。
【００７８】
次に、アプリケーション８は、第１公開鍵証明書に含まれているシリアル番号を取得して（ＩＤ情報取得機能）、ウェブサーバ６を介してシリアル番号をデータベースサーバ５に送信する（ＩＤ情報送信機能）。
データベースサーバ５は、シリアル番号を受信し（ＩＤ情報受信手段）、データベース３０でこのシリアル番号を検索する。そして、データベースサーバ５は、このシリアル番号に対応付けられている起動情報、第１公開鍵、第２秘密鍵などを特定する。
【００７９】
次に、データベースサーバ５は、特定した起動情報に現在の日付を付加する。後述するように、この日付は、クライアント端末３がオフラインでアプリケーション８を使用する際に用いられる。
【００８０】
そして、データベースサーバ５は、この起動情報を第２秘密鍵で暗号化し、更に第１公開鍵で暗号化して暗号化起動情報を作成する。
このように第２秘密鍵を用いて暗号化するのは、第２公開鍵は第三者が入手できるため、第三者によるなりすましを防ぐためである。
そして、データベースサーバ５は、作成した暗号化起動情報をアプリケーション８に送信する（起動情報送信手段）。
【００８１】
アプリケーション８は、データベースサーバ５から暗号化起動情報を受信する（起動情報受信機能）とこれを確認デバイス７に入力する。
確認デバイス７は、暗号化起動情報を第１秘密鍵で復号化し、アプリケーション８に返送する。この時点で暗号化起動情報は第２秘密鍵で暗号化されている。
【００８２】
アプリケーション８は、確認デバイス７から返送された暗号化起動情報を自身に埋め込まれている第２公開鍵で復号化する。これによって、アプリケーション８は、起動情報を得ることができる。
そして、アプリケーション８は、起動情報に従ってアプリケーション８の機能を制限して起動する（起動機能）。
【００８３】
以上に説明したアプリケーション８の起動手順を図８に示したフローチャートを用いて説明する。
確認デバイス７は、クライアント端末３に接続されているものとする。
まず、アプリケーション８が確認デバイス７に対して第１公開鍵証明書を要求し、これに応じて確認デバイス７はアプリケーション８に第１公開鍵証明書を送出する（ステップ１００）。
【００８４】
アプリケーション８は、ルート公開鍵証明書に含まれるルート公開鍵証明書を用いて第１公開鍵証明書が正当なものであることを確認する（ステップ１０５）。
アプリケーション８は、第１公開鍵証明書の正当性を確認した後、ネットワーク１００を介してウェブサーバ６に接続する（ステップ１１０）。
そして、アプリケーション８とウェブサーバ６は、ＳＳＬによって暗号化された通信経路を確立する（ステップ１１５）。
【００８５】
次に、アプリケーション８は、第１公開鍵証明書の本文に記されているシリアル番号をウェブサーバ６に送信する（ステップ１２０）。
ウェブサーバ６は、アプリケーション８からシリアル番号を受信すると、これをデータベースサーバ５に送信する（ステップ１２５）。
【００８６】
データベースサーバ５は、ウェブサーバ６からシリアル番号を受信すると、データベース３０を検索し、このシリアル番号に対応付けられている起動情報、第２秘密鍵、及び第１公開鍵を検索する。
そして、データベースサーバ５は、起動情報に日付を付加して第２秘密鍵で暗号化した後、第１公開鍵で更に暗号化することにより暗号化起動情報を生成する（ステップ１３０）。
【００８７】
データベースサーバ５は、暗号化起動情報を生成するとこれをウェブサーバ６に送信する（ステップ１３５）。
ウェブサーバ６は、データベースサーバ５から暗号化起動情報を受信して、これをアプリケーション８に送信する（ステップ１４０）。
【００８８】
アプリケーション８は、ウェブサーバ６から暗号化起動情報を受信し、これを確認デバイス７に送信する（ステップ１４５）。
確認デバイス７は、アプリケーション８から暗号化起動情報を受信し、第１秘密鍵でこれを復号化する（ステップ１５０）。そして、確認デバイス７は、復号化した暗号化起動情報（第２秘密鍵で暗号化されている）をアプリケーション８に返送する。
【００８９】
アプリケーション８は、確認デバイス７から暗号化起動情報を受信して第２公開鍵で復号化し、起動情報を得る（ステップ１５５）。
そして、アプリケーション８は、起動情報に規定された条件でアプリケーション８を起動する（ステップ１６０）。
更に、アプリケーション８は、次に説明するオフラインで使用する場合の起動に備えて起動情報を記憶しておく（起動情報記憶機能）。
【００９０】
以上のようにして、アプリケーション８と確認デバイス７を組み合わせることにより、アプリケーション８の不正使用を防止すると共に、アプリケーション８の起動条件を管理センタ２で制御することができる。
【００９１】
次に、例えば、クライアント端末３がネットワーク１００に接続できないなど、オフラインとなっている場合場合のアプリケーション８の起動について図９のフローチャートを用いて説明する。
【００９２】
まず、アプリケーション８は、確認デバイス７に第１公開鍵証明書を要求し、確認デバイス７はこれに応じて第１公開鍵証明書をアプリケーション８に送信する（ステップ２００）。
アプリケーション８は、ルート公開鍵証明書を用いて第１公開鍵証明書が正規の証明書であることを確認する（ステップ２０５）。
【００９３】
次に、アプリケーション８は、ウェブサーバ６への接続を試みる（ステップ２１０）。
アプリケーション８は、ウェブサーバ６への接続ができないことを検出し（ステップ２１５）、前回使用し、記憶しておいた起動情報を読み出す（ステップ２２０）。
【００９４】
アプリケーション８は、読み出した起動情報からデータベースサーバ５が記しておいた日付を読み取って現在の日付と比較し、この日付が所定の期間内（例えば１週間）のものであることを確認する（有効確認機能）（ステップ２２５）。所定の期間内のものでなかった場合は、アプリケーション８は起動を中止する。
【００９５】
日付が所定の期間内のものであることを確認した後、アプリケーション８は、この起動情報に規定された条件で起動する（ステップ２３０）。
以上のようにして、クライアント端末３がネットワーク１００に接続できない環境にあった場合でも、期限を限定してアプリケーション８を起動できるように構成することができる。
【００９６】
図１０は、クライアント端末３のハードウェアの構成の一例を示した図である。クライアント端末３は、例えばネットワーク１０に配設可能に設置されたパーソナルコンピュータなどで構成されている。
クライアント端末３は、制御部５１に、バスライン５８を介して入力装置５５、出力装置５６、通信制御装置５７、記憶装置６１、記憶媒体駆動装置６０、入出力インターフェース（Ｉ／Ｆ）５９などが接続して構成されている。
【００９７】
制御部５１は、ＣＰＵ５３、ＲＯＭ５２、ＲＡＭ５４などから構成されている。
制御部５１は、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）やアプリケーションプログラムなどの各種プログラムに従って動作し、プログラムで規定された所定の演算や画面の表示といったクライアント端末３全体の制御を行う。アプリケーションプログラムとしては、建築図面の設計支援処理を行うＣＡＤプログラムなどが利用可能である。
【００９８】
ＣＰＵ５３は、制御部５１の中心的なデバイスであって、ＲＯＭ５２や記憶装置６１、または記憶媒体駆動装置６０によって駆動される記憶媒体などからプログラムをロードし、プログラムに従って制御部５１を制御する。
また、ＣＰＵ５３は、内部にレジスタなどと呼ばれる内部記憶媒体（記憶領域）を複数内蔵している。ＣＰＵ５３は、外部の記憶媒体などから内部記憶媒体にデータを一時的に記憶し、これを演算処理する。演算結果はレジスタに出力され、更にレジスタから外部の記憶媒体などに出力される。
【００９９】
ＲＯＭ５２は、ＣＰＵ５３が各種演算や制御を行うための各種プログラム、データ及びパラメータなどを格納したリードオンリーメモリである。ＲＯＭ５２は、不揮発性のメモリであって、ＲＯＭ５２に供給される電力がゼロの状態でも記憶内容は保持される。また、ＲＯＭ５２は、読み込み専用のメモリであるため、通常はデータの書き込みは行われない。
【０１００】
ＲＡＭ５４は、ＣＰＵ５３にワーキングメモリとして使用されるランダムアクセスメモリである。ＣＰＵ５３は、ＲＡＭ５４にプログラムやデータなどを書き込んだり消去したりすることができる。本実施の形態では、ＲＡＭ５４には、平面図から立面図を自動生成したりなど、各種の設計支援処理をするための領域が確保可能となっている。
【０１０１】
入力装置５５は、例えばキーボードやマウス、タブレットなどの入力装置から構成されている。
キーボードは、カナや英文字などを入力するためのキーや数字を入力するためのテンキー、各種機能キー、カーソルキー及びその他のキーによって構成されている。
【０１０２】
キーボードからは、クライアント端末３に対して文字や数字などの情報を入力することができ、アプリケーションなどを操作することができる。
【０１０３】
マウス、及びタブレットは、ポインティングデバイスである。ＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）などを用いてクライアント端末３を操作する場合、表示装置上に表示されたボタンやアイコンなどをマウスなどでクリックすることにより、アプリケーションなどに所定の情報の入力を行うことができる。
【０１０４】
また、アプリケーションが建築ＣＡＤの場合、入力装置５５として、クライアント端末３専用の入力ボタン群から成るデバイスを用いることもできる。これは、例えば、円弧を描くボタン、直線を描くボタン、寸法確認を行うボタンなど、各描画機能を設定するためのボタン群から成るデバイスであって、これを用いると、メニュー画面から描画機能を選択する場合に比べて作業の高速化、省力化をすることができる。
【０１０５】
出力装置５６は、例えば表示装置、印刷装置、プロッタなどから構成されている。
表示装置は、例えばＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）ディスプレイ、液晶ディスプレイ、プラズマディスプレイなどで構成され、アプリケーションを利用するための表示がなされる。
【０１０６】
印刷装置は、プログラムの実行結果などを紙などの印刷媒体に印刷する装置である。
印刷装置は、例えば、インクジェットプリンタ、レーザプリンタ、熱転写プリンタ、ドットプリンタなどの各種プリンタ装置によって構成されている。印刷装置によって、アプリケーションによる出力を印刷媒体に印刷することができる。
【０１０７】
通信制御装置５７は、通信回線を介してクライアント端末３をネットワーク１０に接続するための装置であって、モデム、ターミナルアダプタ、その他の装置によって構成されている。
クライアント端末３は、通信制御装置５７を介して管理センタ２と通信することができる。
【０１０８】
記憶装置６１は、読み書き可能な記憶媒体と、その記憶媒体に対してプログラムやデータを読み書きするための駆動装置とによって構成されている。当該記憶媒体として主にハードディスクが使用されるが、その他に、例えば、光磁気ディスク、磁気ディスク、半導体メモリなどのほかの読み書き可能な記憶媒体によって構成することも可能である。
【０１０９】
記憶装置６１には、アプリケーションプログラム７１、アプリケーションデータベース７２、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）７３、その他のプログラム７４、その他のデータベース７５などが所定の記憶領域に格納されている。
【０１１０】
アプリケーションプログラム７１は、アプリケーションを構成するためのプログラムであって、これをＣＰＵ５３で実行するとアプリケーション８が構成される。
アプリケーションデータベース７２は、アプリケーション８で作成したデータ（アプリケーション８が建築ＣＡＤの場合はＣＡＤ図面データなど）を記憶したデータベースである。
【０１１１】
ＯＳ７３は、クライアント端末３を機能させるための基本的なプログラムであり、ファイルの入出力やクライアント端末３に接続されている各デバイスの制御などを行う。
【０１１２】
その他のプログラム７４は、日本語変換プログラムや通信制御装置５７などを制御して通信を確立する通信制御プログラムなど、各種のプログラムから構成されている。
その他のデータベース７５は、例えば、その他のプログラム７４で使用するデータなどが記憶されている。
【０１１３】
記憶媒体駆動装置６０は、着脱可能な記憶媒体を駆動してデータの読み書きを行うための駆動装置である。着脱可能な記憶媒体としては、例えば、光磁気ディスク、磁気ディスク、磁気テープ、半導体メモリ、データをパンチした紙テープ、ＣＤ−ＲＯＭなどがある。
【０１１４】
なお、ＣＤ−ＲＯＭや紙テープは、読み込みのみ可能である。記憶媒体駆動装置６０を介して記憶媒体からアプリケーションプログラムをインストールしたり、バックアップ用のデータを記憶媒体に書き込んだり、記憶媒体に書き込まれているバックアップデータを読み込んだりすることもできる。
【０１１５】
入出力インターフェース５９は、例えば、シリアルインターフェースやそのほかの規格のインターフェースにより構成されている。入出力インターフェース５９には、確認デバイス７を着脱することができ、これによってクライアント端末３に確認デバイス７を接続することができる。
【０１１６】
以上、アプリケーションを建築ＣＡＤとして説明したが、これに限定するものではなく、ワードプロセッサ、表計算ソフト、データベースソフト、画像編集ソフト、音楽・動画再生ソフト、各種シミュレーションソフトなど、各種のアプリケーションを用いることができる。
また、アプリケーションのほかにＯＳなどに関しても確認デバイス７を用いて起動できるように構成することもできる。
【０１１７】
認証機関サーバ４、データベースサーバ５、ウェブサーバ６のハードウェア的な構成は、基本的にクライアント端末３と同じである。
【０１１８】
以上に説明した本実施の形態により次のような効果を得ることができる。
（１）確認デバイス７内の第１公開鍵証明書を確認し、第１秘密鍵で暗号化起動情報を復号化することにより、アプリケーション８の不正使用を防ぐことができる。
（２）アプリケーション８が管理センタ２が送信する起動情報を用いて起動することにより、アプリケーション８の起動条件を管理センタ２で管理することができる。
【０１１９】
（３）ユーザとの契約などによりアプリケーション８の仕様が変更となった場合、管理センタ２は、データベース３０の起動情報を書き換えることにより対応することができる。
（４）ウェブサーバ６との暗号化した回線を確立する際に、ウェブサーバ６で第１公開鍵証明書を確認することにより、ウェブサーバ６は、通信相手が正規のアプリケーション８であることを確認することができる。
【図面の簡単な説明】
【０１２０】
【図１】本実施の形態にかかるアプリケーションシステムのシステム構成を示したブロック図である。
【図２】確認デバイスの構成を模式的に示した図である。
【図３】アプリケーション販売時におけるアプリケーションシステムの運用について説明するための図である。
【図４】データベースの論理的な構成の一例を示した図である。
【図５】アプリケーションの構成を説明するための図である。
【図６】事業者が確認デバイスとアプリケーションの組を作成する手順について説明するためのフローチャートである。
【図７】アプリケーション使用時におけるアプリケーションシステムの運用について説明するための図である。
【図８】アプリケーションの起動手順を説明するためのフローチャートである。
【図９】オフラインでアプリケーションを起動する場合の手順を説明するためのフローチャートである。
【図１０】クライアント端末のハードウェア的な構成を説明するためのブロック図である。
【符号の説明】
【０１２１】
１  アプリケーションシステム
２  管理センタ
３  クライアント端末
４  認証機関サーバ
５  データベースサーバ
６  ウェブサーバ
７  確認デバイス
８  アプリケーション
１００  ネットワーク
【図１】
2006330789.tif 000003
【図２】
2006330789.tif 000004
【図３】
2006330789.tif 000005
【図４】
2006330789.tif 000006
【図５】
2006330789.tif 000007
【図６】
2006330789.tif 000008
【図７】
2006330789.tif 000009
【図８】
2006330789.tif 000010
【図９】
2006330789.tif 000011
【図１０】
2006330789.tif 000012