(57)【要約】【課題】信頼性の高いユーザ認証を簡便に行うためのプログラムを逐次的に生成し、配信するプログラム配信システムを提供する。【解決手段】プログラム配信サーバ３００は、端末装置１００からプログラムの取得要求を受けると、取得要求に対応した携帯電話機プログラム、認証プログラム、認証コード生成プログラムをＤＢサーバ４００から読み出す。そして、この認証コード生成プログラムを用いてユーザＩＤや携帯端末番号からユニークな認証コードを生成してＤＢサーバ４００へ登録するとともに、認証コード及び認証プログラムを埋め込んだ端末装置プログラムから実行プログラムを生成する。携帯電話機１００は、配信された実行プログラムを用いてサービスサーバ５００ａにアクセスし、認証コードを送信する。サービスサーバ５００ａは、受信した認証コードとＤＢサーバ４００内の認証コードを基に認証を行うと、サービスを提供する。【選択図】      図１
2004295365.tif 000002
【特許請求の範囲】
【請求項１】
ユーザの端末装置と、前記端末装置へサービスを提供するサービス提供システムと、前記端末装置が前記サービス提供システムの提供するサービスを享受するためのプログラムを配信するプログラム配信サーバとからなるプログラム配信システムであって、
前記プログラム配信サーバは、
端末装置が前記サービス提供システムからサービスを享受するためのソースプログラムである端末装置プログラムを記憶する記憶手段と、
前記端末装置からプログラムの取得要求を受け、要求されたプログラムに対応した端末装置プログラムを前記記憶手段から読み出す端末装置プログラム取得手段と、
プログラムの取得要求を送信した前記端末装置あるいは該端末装置を所有するユーザに個別の情報を用いて認証コードを生成し、前記記憶手段に書き込む認証処理生成手段と、
前記端末装置プログラム取得手段が読み出した端末装置プログラムと、前記認証処理生成手段が生成した認証コードとを基に、前記端末装置が実行可能な実行プログラムを生成する実行プログラム生成手段と、
前記実行プログラム生成手段が生成した実行プログラムを、プログラムの取得要求を送信した前記端末装置に配信する実行プログラム配信手段とを備え、
前記端末装置は、
前記プログラム配信サーバへプログラムの取得要求を送信する手段と、
送信したプログラムの取得要求に対応して前記プログラム配信サーバから受信した実行プログラムを実行し、前記サービス提供システムに該実行プログラムに含まれる認証コードを送信してサービスを要求する手段とを備え、
前記サービス提供システムは、
前記端末装置から認証コードを受信してサービスの要求を受け付け、受信した認証コードと、前記記憶手段から読み出した認証コードにより認証を行うユーザ認証手段と、
前記ユーザ認証手段が認証した場合に、要求されたサービスを提供するサービス提供手段とを備える、
ことを特徴とするプログラム配信システム。
【請求項２】
ユーザの端末装置と、前記端末装置へサービスを提供するサービス提供システムと、前記端末装置が前記サービス提供システムの提供するサービスを享受するためのプログラムを配信するプログラム配信サーバとからなるプログラム配信システムに用いられるプログラム配信サーバであって、
端末装置が前記サービス提供システムからサービスを享受するためのソースプログラムである端末装置プログラムを記憶する記憶手段と、
前記端末装置からプログラムの取得要求を受け、要求されたプログラムに対応した端末装置プログラムを前記記憶手段から読み出す端末装置プログラム取得手段と、
プログラムの取得要求を送信した前記端末装置あるいは該端末装置を所有するユーザに個別の情報を用いて認証コードを生成し、前記記憶手段に書き込む認証処理生成手段と、
前記端末装置プログラム取得手段が読み出した端末装置プログラムと、前記認証処理生成手段が生成した認証コードとを基に、前記端末装置が実行可能な実行プログラムを生成する実行プログラム生成手段と、
前記実行プログラム生成手段が生成した実行プログラムを、プログラムの取得要求を送信した前記端末装置に配信する実行プログラム配信手段と、
を備えることを特徴とするプログラム配信サーバ。
【請求項３】
前記記憶手段は、さらに、認証コード生成プログラムを記憶し、
前記認証処理生成手段は、取得要求を受けたプログラムに対応した認証コード生成プログラムを前記記憶手段から読み出し、この認証コード生成プログラムを実行して認証コードを生成する、
ことを特徴とする請求項２に記載のプログラム配信サーバ。
【請求項４】
前記記憶手段は、ユーザが取得可能なプログラムの情報を記憶し、
プログラム配信手段は、プログラムの取得要求を送信した前記端末装置を所有するユーザが取得可能なプログラムの情報を読み出して該端末装置に送信し、
前記プログラム選択手段は、送信した該ユーザが取得可能なプログラムの情報の中からユーザが選択したプログラムの取得要求を受信する、
ことを特徴とする請求項２または請求項３に記載のプログラム配信サーバ。
【請求項５】
ユーザの端末装置と、前記端末装置へサービスを提供するサービス提供システムと、前記端末装置が前記サービス提供システムの提供するサービスを享受するためのプログラムを配信するプログラム配信サーバとからなるプログラム配信システムに用いられるプログラム配信方法であって、
前記端末装置が、
前記プログラム配信サーバへプログラムの取得要求を送信し、
前記プログラム配信サーバが、
前記端末装置からプログラムの取得要求を受け、
端末装置が前記サービス提供システムからサービスを享受するためのソースプログラムである端末装置プログラムを記憶する記憶手段から、要求されたプログラムに対応した端末装置プログラムを読み出し、
プログラムの取得要求を送信した前記端末装置あるいは該端末装置を所有するユーザに個別の情報を用いて認証コードを生成して、前記記憶手段に書き込み、
読み出した端末装置プログラムと、生成した認証コードを基に、前記端末装置が実行可能な実行プログラムを生成して、プログラムの取得要求を送信した前記端末装置に配信し、
前記端末装置は、
送信したプログラムの取得要求に対応して前記プログラム配信サーバから実行プログラムを受信し、
受信した実行プログラムを実行し、前記サービス提供システムに該実行プログラムに含まれる認証コードを送信してサービスを要求し、
前記サービス提供システムは、
前記端末装置から認証コードを受信してサービスの要求を受け付け、
受信した認証コードと、前記記憶手段から読み出した認証コードにより認証を行い、
認証した場合に、要求されたサービスを提供する、
ことを特徴とするプログラム配信方法。
【請求項６】
ユーザの端末装置と、前記端末装置へサービスを提供するサービス提供システムと、前記端末装置が前記サービス提供システムの提供するサービスを享受するためのプログラムを配信するプログラム配信サーバとからなるプログラム配信システムのプログラム配信サーバに用いられるプログラム配信方法であって、
前記端末装置からプログラムの取得要求を受け、
端末装置が前記サービス提供システムからサービスを享受するためのソースプログラムである端末装置プログラムを記憶する記憶手段から、要求されたプログラムに対応した端末装置プログラムを読み出し、
プログラムの取得要求を送信した前記端末装置あるいは該端末装置を所有するユーザに個別の情報を用いて認証コードを生成して、前記記憶手段に書き込み、
読み出した端末装置プログラムと、生成した認証コードを基に、前記端末装置が実行可能な実行プログラムを生成して、プログラムの取得要求を送信した前記端末装置に配信する、
ことを特徴とするプログラム配信方法。
【請求項７】
ユーザの端末装置と、前記端末装置へサービスを提供するサービス提供システムと、前記端末装置が前記サービス提供システムの提供するサービスを享受するためのプログラムを配信するプログラム配信サーバとからなるプログラム配信システムに用いられるプログラム配信サーバのコンピュータプログラムであって、
前記端末装置からプログラムの取得要求を受け、端末装置が前記サービス提供システムからサービスを享受するためのソースプログラムである端末装置プログラムを記憶する記憶手段から、要求されたプログラムに対応した端末装置プログラムを読み出すステップと、
プログラムの取得要求を送信した前記端末装置あるいは該端末装置を所有するユーザに個別の情報を用いて認証コードを生成して、前記記憶手段に書き込むステップと、
読み出した端末装置プログラムと、生成した認証コードを基に、前記端末装置が実行可能な実行プログラムを生成して、プログラムの取得要求を送信した前記端末装置に配信するステップと、
をコンピュータに実行させることを特徴とするプログラム配信サーバのコンピュータプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、端末装置がネットワーク上で提供されるサービスを享受するための認証情報を埋め込んだコンピュータプログラムを生成し、配信するプログラム配信システム及び方法に関する。
【０００２】
【従来の技術】
現在、インターネット接続機能を持つ情報端末からインターネットや専用端末へアクセスしてサービスを享受する場合、以下の形態が取られている。
（１）  ユーザが携帯電話機からアプリケーションサービス（以下、単に「サービス」ともいう）を提供するサーバへアクセスして情報提供などの各種サービスを享受する場合、通常、ユーザ認証プロセスが実行される。従来の手法では、各ユーザに対し予めユーザＩＤ及びパスワードを割り当てておき、サーバが、ユーザが入力したユーザＩＤ及びパスワードを携帯電話機から受信し、照合することによりユーザ認証がなされている。
（２）  （１）同様、サーバが、アクセスしてきた携帯電話端末へ各種アプリケーションサービスを提供する場合、一時的に使用可能なアクセスパスワードをユーザに割り当て、携帯電話機に入力されたユーザＩＤ及びアクセスパスワードを受信し、照合することによりユーザ認証がなされている。
（３）  携帯電話機の実行プログラムを利用した認証の場合、ユーザがネットワーク上から所望のサービスの実行プログラムを携帯電話機に登録（ダウンロード）し、この実行プログラムにユーザＩＤやパスワードを入力することで、携帯電話機の実行プログラムを仲介したユーザ認証がなされている。
（４）  携帯電話機が備えるプログラムにより、赤外線通信などを通してサービスを提供するサービス専用端末機へユーザ情報を送信し、このサービス専用端末機が受信したユーザ情報によりユーザ認証を行う方法や、サービス専用端末機が携帯電話の画面にバーコード表示されたユーザ情報を読み込んでユーザ認証を行う方法など、携帯電話機を中心とした様々なサービス専用端末機によりユーザ認証がなされている。しかし、ここでも上記のように、携帯電話が備えるプログラムに対してユーザが入力したユーザＩＤやパスワード等の情報を基に、ユーザ認証がなされている。
（５）  各アプリケーションサービスサーバに、生成済みの携帯電話機の実行プログラムを登録・用意し、ユーザは携帯電話機から利用するアプリケーションサービスに対応したサービスサーバにアクセスして、実行ファイルを取得する方法がなされている。
【０００３】
一方、特許文献１には、ユーザの匿名性を保証し、有料インターネットサイトの提供する情報を得るための技術が開示されている。具体的には、ユーザが携帯電話から携帯電話インターネットサービスプロバイダを介してアカウント発行サービス装置に接続し、コンテンツサービスプロバイダが提供する有料インターネットサイトにアクセスするためのアカウントを取得する。その後、ユーザがパーソナルコンピュータなどの情報機器からのコンテンツサービスプロバイダへのアクセス時に、取得したアカウントを入力して情報を得るとともに、このアカウントに基づいて携帯電話インターネットサービスプロバイダは課金情報を得る。
また、特許文献２には、携帯電話等が有する電子メール機能及びブラウザ機能を有効に利用してアクセス操作の簡単化を図りつつ、情報セキュリティを確保できるアクセス認証許可システムについて開示されている。
また、特許文献３には、認証サーバが、一時的に使用可能なアクセスパスワードを発行し、携帯電話機からＩＰサーバへのアクセス時に、このアクセスパスワードを用いてユーザ認証を行うことにより、ユーザ認証を行うための技術が開示されている。
また、特許文献４には、携帯電話機に挿入した個人認証用アクセスカードを用いてネットワーク上の認証エージェントに電子メールを発信し、これに対応して得られた認証用仮想ＵＲＬへアクセスした際にパスワードを入力して認証を行う技術が開示されている。
また、特許文献５には、ユーザ端末からインターネットへの接続時、ユーザ端末の発信者番号及びユーザが入力した接続ＩＤを基に、ユーザの個人情報を記憶したホスト端末が接続許可及び認証を行い、各種サービス利用時には、このホスト端末が個人情報を送信することにより、認証作業、入力作業を軽減する個人認証システムについて開示されている。
【０００４】
【特許文献１】
特開２００２−３５８２７８号公報
【特許文献２】
特開２００２−２９７５４４号公報
【特許文献３】
特開２００２−１５２１９５号公報
【特許文献４】
特開２００２−７４２２７号公報
【特許文献５】
特開２００２−０５７７９６号公報
【０００５】
【発明が解決しようとする課題】
従来の手法では、ユーザのパスワードやユーザＩＤが第３者に盗まれた場合、許可されていない第３者がサービスを享受することができるという問題点を有していた。しかし、上述する特許文献１〜５は、これを解決するものではない。
【０００６】
この発明は、このような事情を考慮してなされたもので、その目的は、信頼性の高いユーザ認証を簡便に行うための認証情報を埋め込んだコンピュータプログラムを逐次的に生成し、配信することができるプログラム配信システム及び方法等を提供することにある。
【０００７】
【課題を解決するための手段】
この発明は、上記の課題を解決すべくなされたもので、請求項１に記載の発明は、ユーザの端末装置と、前記端末装置へサービスを提供するサービス提供システムと、前記端末装置が前記サービス提供システムの提供するサービスを享受するためのプログラムを配信するプログラム配信サーバとからなるプログラム配信システムであって、前記プログラム配信サーバは、端末装置が前記サービス提供システムからサービスを享受するためのソースプログラムである端末装置プログラムを記憶する記憶手段と、前記端末装置からプログラムの取得要求を受け、要求されたプログラムに対応した端末装置プログラムを前記記憶手段から読み出す端末装置プログラム取得手段と、プログラムの取得要求を送信した前記端末装置あるいは該端末装置を所有するユーザに個別の情報を用いて認証コードを生成し、前記記憶手段に書き込む認証処理生成手段と、前記端末装置プログラム取得手段が読み出した端末装置プログラムと、前記認証処理生成手段が生成した認証コードとを基に、前記端末装置が実行可能な実行プログラムを生成する実行プログラム生成手段と、前記実行プログラム生成手段が生成した実行プログラムを、プログラムの取得要求を送信した前記端末装置に配信する実行プログラム配信手段とを備え、前記端末装置は、前記プログラム配信サーバへプログラムの取得要求を送信する手段と、送信したプログラムの取得要求に対応して前記プログラム配信サーバから受信した実行プログラムを実行し、前記サービス提供システムに該実行プログラムに含まれる認証コードを送信してサービスを要求する手段とを備え、前記サービス提供システムは、前記端末装置から認証コードを受信してサービスの要求を受け付け、受信した認証コードと、前記記憶手段から読み出した認証コードにより認証を行うユーザ認証手段と、前記ユーザ認証手段が認証した場合に、要求されたサービスを提供するサービス提供手段とを備える、ことを特徴とするプログラム配信システムである。
【０００８】
請求項２に記載の発明は、ユーザの端末装置と、前記端末装置へサービスを提供するサービス提供システムと、前記端末装置が前記サービス提供システムの提供するサービスを享受するためのプログラムを配信するプログラム配信サーバとからなるプログラム配信システムに用いられるプログラム配信サーバであって、端末装置が前記サービス提供システムからサービスを享受するためのソースプログラムである端末装置プログラムを記憶する記憶手段と、前記端末装置からプログラムの取得要求を受け、要求されたプログラムに対応した端末装置プログラムを前記記憶手段から読み出す端末装置プログラム取得手段と、プログラムの取得要求を送信した前記端末装置あるいは該端末装置を所有するユーザに個別の情報を用いて認証コードを生成し、前記記憶手段に書き込む認証処理生成手段と、前記端末装置プログラム取得手段が読み出した端末装置プログラムと、前記認証処理生成手段が生成した認証コードとを基に、前記端末装置が実行可能な実行プログラムを生成する実行プログラム生成手段と、前記実行プログラム生成手段が生成した実行プログラムを、プログラムの取得要求を送信した前記端末装置に配信する実行プログラム配信手段と、を備えることを特徴とするプログラム配信サーバである。
【０００９】
請求項３に記載の発明は、請求項２に記載のプログラム配信サーバであって、前記記憶手段は、さらに、認証コード生成プログラムを記憶し、前記認証処理生成手段は、取得要求を受けたプログラムに対応した認証コード生成プログラムを前記記憶手段から読み出し、この認証コード生成プログラムを実行して認証コードを生成する、ことを特徴とする。
【００１０】
請求項４に記載の発明は、請求項２または請求項３に記載のプログラム配信サーバであって、前記記憶手段は、ユーザが取得可能なプログラムの情報を記憶し、プログラム配信手段は、プログラムの取得要求を送信した前記端末装置を所有するユーザが取得可能なプログラムの情報を読み出して該端末装置に送信し、前記プログラム選択手段は、送信した該ユーザが取得可能なプログラムの情報の中からユーザが選択したプログラムの取得要求を受信する、ことを特徴とする。
【００１１】
請求項５に記載の発明は、ユーザの端末装置と、前記端末装置へサービスを提供するサービス提供システムと、前記端末装置が前記サービス提供システムの提供するサービスを享受するためのプログラムを配信するプログラム配信サーバとからなるプログラム配信システムに用いられるプログラム配信方法であって、前記端末装置が、前記プログラム配信サーバへプログラムの取得要求を送信し、前記プログラム配信サーバが、前記端末装置からプログラムの取得要求を受け、端末装置が前記サービス提供システムからサービスを享受するためのソースプログラムである端末装置プログラムを記憶する記憶手段から、要求されたプログラムに対応した端末装置プログラムを読み出し、プログラムの取得要求を送信した前記端末装置あるいは該端末装置を所有するユーザに個別の情報を用いて認証コードを生成して、前記記憶手段に書き込み、読み出した端末装置プログラムと、生成した認証コードを基に、前記端末装置が実行可能な実行プログラムを生成して、プログラムの取得要求を送信した前記端末装置に配信し、前記端末装置は、送信したプログラムの取得要求に対応して前記プログラム配信サーバから実行プログラムを受信し、受信した実行プログラムを実行し、前記サービス提供システムに該実行プログラムに含まれる認証コードを送信してサービスを要求し、前記サービス提供システムは、前記端末装置から認証コードを受信してサービスの要求を受け付け、受信した認証コードと、前記記憶手段から読み出した認証コードにより認証を行い、認証した場合に、要求されたサービスを提供する、ことを特徴とするプログラム配信方法である。
【００１２】
請求項６に記載の発明は、ユーザの端末装置と、前記端末装置へサービスを提供するサービス提供システムと、前記端末装置が前記サービス提供システムの提供するサービスを享受するためのプログラムを配信するプログラム配信サーバとからなるプログラム配信システムのプログラム配信サーバに用いられるプログラム配信方法であって、前記端末装置からプログラムの取得要求を受け、端末装置が前記サービス提供システムからサービスを享受するためのソースプログラムである端末装置プログラムを記憶する記憶手段から、要求されたプログラムに対応した端末装置プログラムを読み出し、プログラムの取得要求を送信した前記端末装置あるいは該端末装置を所有するユーザに個別の情報を用いて認証コードを生成して、前記記憶手段に書き込み、読み出した端末装置プログラムと、生成した認証コードを基に、前記端末装置が実行可能な実行プログラムを生成して、プログラムの取得要求を送信した前記端末装置に配信する、ことを特徴とするプログラム配信方法である。
【００１３】
請求項７に記載の発明は、ユーザの端末装置と、前記端末装置へサービスを提供するサービス提供システムと、前記端末装置が前記サービス提供システムの提供するサービスを享受するためのプログラムを配信するプログラム配信サーバとからなるプログラム配信システムに用いられるプログラム配信サーバのコンピュータプログラムであって、前記端末装置からプログラムの取得要求を受け、端末装置が前記サービス提供システムからサービスを享受するためのソースプログラムである端末装置プログラムを記憶する記憶手段から、要求されたプログラムに対応した端末装置プログラムを読み出すステップと、プログラムの取得要求を送信した前記端末装置あるいは該端末装置を所有するユーザに個別の情報を用いて認証コードを生成して、前記記憶手段に書き込むステップと、読み出した端末装置プログラムと、生成した認証コードを基に、前記端末装置が実行可能な実行プログラムを生成して、プログラムの取得要求を送信した前記端末装置に配信するステップと、をコンピュータに実行させることを特徴とするプログラム配信サーバのコンピュータプログラムである。
【００１４】
上記により、プログラム配信サーバは、ユーザの携帯電話機から各ユーザが利用するサービスのプログラム取得要求を受け、このサービスに対応した認証コード生成プログラムにより携帯端末番号などユーザ端末装置を特定する情報を基にした認証コードを逐次生成する。そして、サービスの利用時に用いる認証プログラム及び携帯電話機プログラムをデータベースから取得し、携帯電話機プログラムに認証プログラム及び認証コードを埋め込み生成した実行プログラムを携帯電話機に配信する。ユーザは、携帯電話機に配信された実行プログラムにより、各サービスサーバへインターネットを介して、あるいは、バーコードや赤外線通信などのインタフェースを用いて接続されるサービス専用端末機を介してサービスサーバへアクセスする。サービスサーバは、携帯電話機から受信した認証コードと、データベース内に登録されている認証コードとを比較してユーザ認証を行い、認証された場合にユーザはサービスを享受することができる。
【００１５】
【発明の実施の形態】
以下、図面を参照し、この発明の実施の形態について説明する。
図１は、この発明の一実施の形態によるプログラム配信システムの構成を示すブロック図である。
音楽のダウンロード、商品の発注、ゲームなどの各種アプリケーションサービス（以下、単に「サービス」ともいう）を提供する企業（以下、「サービス提供者」）は、ユーザ７００が保有する携帯電話機（端末装置）１００へアプリケーションサービスを提供するためのサービス提供システムを保有する。サービス提供システムには、サービスサーバ５００ａのみから構成されるもの、あるいは、サービス専用端末機６００及びサービスサーバ５００ｂから構成されるものなどがある。
【００１６】
サービスサーバ５００ａは、携帯電話網やインターネット網などの公衆網であるネットワーク２００を介して携帯電話機１００と、ＶＰＮ（ｖｉｒｔｕａｌ  ｐｒｉｖａｔｅ  ｎｅｔｗｏｒｋ）、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、専用線網などのプライベートネットワークであるネットワーク２１０を介してデータベースサーバ（以下、「ＤＢサーバ」）４００と接続される。なお、プログラム配信サーバ３００を介してＤＢサーバ４００と接続される構成としてもよい。
サービスサーバ５００ａは、ユーザ認証手段５１０ａ及びサービス提供手段５２０ａを備える。
ユーザ認証手段５１０ａは、携帯電話機１００からネットワーク２００を介したアクセス（ネットワークアクセス）を受け、サービスの要求を受け付ける機能を有する。また、携帯電話機１００から受信した認証コード及びＤＢサーバ４００のユーザ認証ＤＢ４１０から読み出した認証コードを比較し、携帯電話機１００及びユーザ７００の組を認証する機能を有する。さらに、携帯電話機１００との間で、既存の方式（ユーザＩＤ及びパスワード、一時的に使用可能なパスワード、等）による認証手順を行う機能を有する。
サービス提供手段５２０ａは、ユーザ認証手段５１０ａが携帯電話機１００及びユーザ７００の組を認証したときに、携帯電話機１００（ユーザ７００）へサービスを提供する機能を有する。
【００１７】
サービスサーバ５００ｂは、専用線、ネットワーク２００、あるいは、ネットワーク２１０を介してサービス専用端末機６００と、ネットワーク２１０を介してＤＢサーバ４００と接続される。サービスサーバ５００ｂは、ユーザ認証手段５１０ｂを備える。
ユーザ認証手段５１０ｂは、サービス専用端末機６００を介して携帯電話機１００から認証コードを受信し、この認証コードと、ＤＢサーバ４００のユーザ認証ＤＢ４１０から読み出した認証コードとを比較して携帯電話機１００及びユーザ７００の組を認証する機能を有する。
【００１８】
サービス専用端末機６００は、例えば、ゲームを行う専用端末や、ネットワーク上で課金を行う自動販売機などである。サービス専用端末機６００は、赤外線通信や、携帯電話機１００が表示するバーコードを読み取るバーコードリーダなどのインタフェースを備え、携帯電話機１００との通信を行う。そして、携帯電話機１００との間で、既存の方式（ユーザＩＤ及びパスワード、一時的に使用可能なパスワード、等）による認証手順を行う機能を有する。また、携帯電話機１００から受信した認証コードをサービスサーバ５００ｂへ送信する機能と、サービスサーバ５００ｂから認証結果を受け、認証成功の場合に、携帯電話機１００（ユーザ７００）へアプリケーションサービスを提供する機能とを備える。
【００１９】
携帯電話機１００は、ユーザ７００が保有する端末装置であり、全体を統括制御するＣＰＵ、プログラム及びデータを記憶するメモリ、キー操作により入力を行う入力部、液晶表示器などを使用した表示部、無線通信によりデータの送受信を行う通信部、受話器及び送話器を制御する音声処理部などにより構成される。
携帯電話機１００は、ネットワーク２００を介してプログラム配信サーバ３００及びサービスサーバ５００ａと接続される。また、赤外線通信や、表示部へのバーコードの表示などのインタフェースにより、サービス専用端末機６００と通信する。そして、プログラム配信サーバ３００、サービスサーバ５００ａ、あるいは、サービス専用端末機６００から受信した画面情報をディスプレイに表示したり、入力部により入力された情報をプログラム配信サーバ３００、サービスサーバ５００ａ、あるいは、サービス専用端末機６００へ送信するためのブラウザ等を備える。さらに、プログラム配信サーバ３００からダウンロードした実行プログラムを内部のメモリに記憶する機能を有する。そして、記憶された実行プログラムを実行し、この実行プログラム内に含まれる認証コードをサービスサーバ５００ａまたはサービス専用端末機６００へ送信してサービスの提供を要求するとともに、サービスサーバ５００ａまたはサービス専用端末機６００が提供するサービスを享受する機能を有する。
なお、端末装置は、携帯電話機１００以外に、パーソナルコンピュータや、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔｓ：情報携帯端末）、専用端末などであってもよい。
【００２０】
プログラム配信サーバ３００は、ＡＳＰ（アプリケーションサービスプロバイダ）などが保有するサーバであり、図１においては、本発明と関係する機能ブロックのみ抽出して示してある。
プログラム配信サーバ３００は、認証アクセス手段３１０、ユーザ認証手段３１１、プログラム配信手段３２０、プログラム選択手段３２１、携帯電話機プログラム取得手段（端末装置プログラム取得手段）３２２、認証処理生成手段３２３、実行プログラム生成手段３２４、及び、実行プログラム配信手段３２５を備える。そして、ネットワーク２００を介して携帯電話機１００と、ネットワーク２１０を介してＤＢサーバ４００と接続される。
【００２１】
認証アクセス手段３１０は、携帯電話機１００へユーザ認証を行うためのユーザ・マシンインタフェースを提供し、ユーザ認証手段３１１へ携帯電話機１００から受信した認証情報（ユーザＩＤ，パスワード等）を通知する機能を有する。
【００２２】
ユーザ認証手段３１１は、認証アクセス手段３１０から受信した認証情報（ユーザＩＤ，パスワード等）及び取得した携帯端末番号により、ＤＢサーバ４００へユーザ認証情報の問合せを行い、この問合せ結果を基にユーザ７００及び携帯電話機１００の組を認証する機能を有する。
【００２３】
プログラム配信手段３２０は、携帯電話機１００からサービス提供システムが提供するアプリケーションサービスを享受するためのプログラムの取得要求を受け、実行プログラムを配信するためのユーザ・マシンインタフェースを提供する。これにより、ユーザ７００がこの携帯電話機１００から利用可能なサービスのプログラムの一覧を携帯電話機１００へ表示する画面情報を送信する機能と、このプログラムの一覧の中からユーザ７００が選択したプログラムの情報を受けプログラム選択手段３２１へ受け渡す機能を有する。また、実行プログラム配信手段３２５の指示を受け、実行プログラム生成手段３２４が生成した実行プログラムを携帯電話機１００へ配信する機能を有する。
【００２４】
プログラム選択手段３２１は、プログラム配信手段３２０からユーザ７００が取得を要求するプログラムの情報を受信し、この要求されたプログラムを使用して提供されるサービスのサービス管理データを、ＤＢサーバ４００内のサービス管理ＤＢ４２０から読み出す機能を有する。
【００２５】
携帯電話機プログラム取得手段３２２は、プログラム選択手段３２１が読み出したサービス管理データを基に、ＤＢサーバ４００の携帯電話機プログラム格納ＤＢ４３０から携帯電話機プログラム（端末装置プログラム）を読み出す機能を有する。携帯電話機プログラム（端末装置プログラム）とは、画面デザインやサービスの基本機能を含んだ母体プログラムであり、携帯電話機（端末装置）１００がサービスサーバ５００ａまたはサービス専用端末機６００（サービス提供システム）からサービスを享受するためのソースプログラムである。
【００２６】
認証処理生成手段３２３は、プログラム選択手段３２１が読み出したサービス管理データを基に、ＤＢサーバ４００の認証コード生成プログラム格納ＤＢ４４０から認証コード生成プログラムを読み出す機能と、読み出した認証コード生成プログラムを用いて認証コードを生成し、ＤＢサーバ４００内のユーザ認証ＤＢ４１０へ書き込む機能を有する。なお、認証コード生成プログラムとは、例えば、携帯端末番号、ユーザＩＤ、パスワードなど携帯電話機１００あるいはユーザ７００に個別の情報や現在時刻等を用いた所定の関数やアルゴリズムにより、ユニークな認証コードを生成するためのプログラムである。
また、サービス管理データを基に、ＤＢサーバ４００内の認証プログラム格納ＤＢ４５０から、認証プログラムを読み出す機能を有する。認証プログラムとは、携帯電話機１００が、サービスサーバ５００ａあるいはサービス専用端末機６００との間で認証手順を実行するためのソースプログラムであり、認証コードをサービスサーバ５００ａあるいはサービス専用端末機６００へ送信するための手順や、既存の認証手順、携帯電話機１００においてサービス専用端末機６００を認証するための手順などが含まれる。
さらに、認証処理生成手段３２３は、携帯電話機プログラム取得手段３２２が読み出した携帯電話機プログラムに、サービス管理データ内の情報、認証コード、認証プログラム等を埋め込む機能を有する。
【００２７】
実行プログラム生成手段３２４は、認証処理生成手段３２３が各種情報や認証プログラムを埋め込んだ携帯電話機プログラムをコンパイルし、携帯電話機１００が実行可能な実行プログラムを生成する機能を有する。
実行プログラム配信手段３２５は、実行プログラム生成手段３２４が生成した実行プログラムを、プログラム配信手段３２０を介して携帯電話機１００に配信する機能を有する。
【００２８】
ＤＢサーバ（記憶手段）４００は、ＡＳＰなどが保有するデータベースサーバであり、図１においては、本発明と関係する機能ブロックのみ抽出して示してある。ＤＢサーバ４００は、ネットワーク２１０を介してプログラム配信サーバ３００、及び、サービスサーバ５００ａ，５００ｂと接続され、ユーザ認証データベース（以下、「ユーザ認証ＤＢ」）４１０、サービス管理データベース（以下、「サービス管理ＤＢ」）４２０、携帯電話機プログラム格納データベース（以下、「携帯電話機プログラム格納ＤＢ」）４３０、認証コード生成プログラム格納データベース（以下、「認証コード生成プログラム格納ＤＢ」）４４０、及び、認証プログラム格納データベース（以下、「認証プログラム格納ＤＢ」）４５０を備える。なお、ＤＢサーバ４００内の各ＤＢをプログラム配信サーバ３００内に備える構成としてもよい。
【００２９】
図２はユーザ認証ＤＢ４１０に記憶されているユーザ認証データの構造を示す図である。ユーザ認証データは以下の情報により構成される。
・ユーザＩＤ：ユーザ７００を一意に識別する。
・パスワード：ユーザ７００を認証するためのパスワードを示す。
・携帯端末番号：ユーザ７００が保有する携帯電話機１００を示す。
・サービスＩＤ：プログラム配信サーバ３００からプログラムを取得し、利用することができるサービスを識別する。
・認証コード：サービスサーバ５００ａまたはサービス専用端末機６００が携帯電話機１００（ユーザ７００）へサービスを提供するときに、サービスサーバ５００ａ、あるいは、サービスサーバ５００ｂが、この携帯電話機１００及びユーザ７００の組を認証するために使用する。
【００３０】
図においては、ユーザＩＤ「Ｕ００００００００１」で識別されるユーザ７００のパスワードは「Ｐ００００００００１」、携帯端末番号が「ＡＢＣＤＥ０００００００１」で示される携帯電話機１００を保有しており、サービスＩＤ「Ｓ０００１」、「Ｓ０００２」、「Ｓ０００９」で識別される３つのサービスのプログラムが取得可能、かつ、それぞれのサービスＩＤで示されるサービスの認証コードは、「ＱｐｑＭｇｆＬｋ９１４ｄｄｎＳ」、「Ａｚ１２Ｑｋｍｍ０１９８２ＷｗＢｃ」、「ＲＹＭＫ８８６ＪｋｊＧＢｕａＸ０９５Ａ」であることを示している。また、同様に、ユーザＩＤ「Ｕ００００００００２」で識別されるユーザ７００のパスワードは「Ｐ００００００００２」、携帯端末番号が「ＡＢＣＤＥ０００００００２」で示される携帯電話機１００を保有しており、サービスＩＤ「Ｓ０００１」で識別されるサービスのプログラムが取得可能、かつ、認証コードは「ＺＸＰ３５７ｏ０６ＴＣｑＭｍ」、…であることを示している。
【００３１】
図３は、サービス管理ＤＢ４２０に記憶されているサービス管理データの構造を示す図である。サービス管理データは以下の情報により構成される。
・サービスＩＤ：サービスを一意に識別する。
・サービス名：サービスの名称を示す。
・サービス専用端末機識別コード：携帯電話機１００からサービス専用端末機６００にアクセス（通信アクセス）してサービスを提供する場合、使用可能なサービス専用端末機６００を識別する。ただし、サービス専用端末機６００を使用せず、ネットワーク２００を介してサービスサーバ５００ａへアクセスする（ネットワークアクセス）形態のみで利用可能なサービスの場合、このサービス専用端末機識別コードは空白（ｎｕｌｌ）となる。
・ＵＲＬ（Ｕｎｉｖｅｒｓａｌ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）情報：サービスサーバ５００ａのＵＲＬ、あるいは、サービス専用端末機６００がアクセスすべきサービスサーバ５００ｂのＵＲＬなどを示す。
・携帯電話機プログラムＩＤ：実行プログラムを生成するために使用する携帯電話機プログラムを指定する。
・認証コード生成プログラムＩＤ：プログラム配信サーバ３００の認証処理生成手段３２３が認証コードを生成するための認証コード生成プログラムを指定する。
・認証プログラムＩＤ：携帯電話機１００にサービスサーバ５００ａあるいはサービス専用端末機６００との間の認証手順を実行させるための認証プログラムを指定する。
【００３２】
図においては、サービスＩＤが「Ｓ０００１」で識別されるサービスのサービス名は「サービス０００１」、サービス専用端末機識別コードは「１３２１５８４９−８４」、ＵＲＬ情報は「ｈｔｔｐ：／／ｗｗｗ．ａｂｃ．ｃｏ．ｊｐ／ｉｎｄｅｘ．ｈｔｍｌ」、携帯電話機プログラムＩＤは「ＰＲ０００１」、認証コード生成プログラムＩＤは「ＣＣ０００１」、認証プログラムＩＤは「ＡＵ０００１」であることを示している。同様に、サービスＩＤが「Ｓ０００２」で識別されるサービスのサービス名は「サービス０００２」、ＵＲＬ情報は「ｈｔｔｐ：／／ｗｗｗ．１２３４５６７８９０．ｃｏ．ｊｐ／ｉｎｄｅｘ．ｈｔｍｌ」、携帯電話機プログラムＩＤは「ＰＲ００１０」、認証コード生成プログラムＩＤは「ＣＣ０００２」、認証プログラムＩＤは「ＡＵ００９９」であり、ネットワークアクセスのみで利用可能であることを、サービスＩＤが「Ｓ０００９」で識別されるサービスのサービス名は「サービス０００９」、サービス専用端末機識別コードは「ＦａｊａＬ０ＵｙＴ１ＹＹ」、ＵＲＬ情報は「ｈｔｔｐ：／／ｗｗｗ．ｘｙｚ．ｃｏ．ｊｐ／ｉｎｄｅｘ．ｈｔｍｌ」、携帯電話機プログラムＩＤは「ＰＲ０９９９」、認証コード生成プログラムＩＤは「ＣＣ０００９」、認証プログラムＩＤは「ＡＵ０１１５」、…であることを示している。
【００３３】
図４は、携帯電話機プログラム格納ＤＢ４３０内のデータ構造を示す図である。携帯電話機プログラム格納ＤＢ４３０は、携帯電話機プログラムＩＤ毎に、携帯電話機プログラムを登録し、管理している。
これにより、サービス毎に独自の携帯電話機プログラムが登録可能であり、各サービスはサービス管理ＤＢ４２０（図３）の携帯電話機プログラムＩＤと、携帯電話機プログラム格納ＤＢ４３０内の携帯電話機プログラムＩＤが一致したレコード（行）の携帯電話機プログラムを利用することができる。
図においては、携帯電話機プログラムＩＤが「ＰＲ０００１」、…、「ＰＲ００１０」、…、「ＰＲ０９９９」、…のそれぞれで識別される携帯電話機プログラムが登録されていることを示している。
【００３４】
図５は認証コード生成プログラム格納ＤＢ４４０内のデータ構造を示す図である。認証コード生成プログラム格納ＤＢ４４０は、認証コード生成プログラムＩＤ毎に、認証コード生成プログラムを登録し、管理している。
これにより、サービス毎に独自の認証コード生成プログラムが登録可能であり、各サービスはサービス管理ＤＢ４２０（図３）内の認証コード生成プログラムＩＤと、認証コード生成プログラム格納ＤＢ４４０内の認証コード生成プログラムＩＤが一致したレコード（行）の認証コード生成プログラムを利用することができる。
図においては、認証コード生成プログラムＩＤが「ＣＣ０００１」、「ＣＣ０００２」、…、「ＣＣ０００９」、…のそれぞれで識別される認証コード生成プログラムが登録されていることを示している。
【００３５】
図６は認証プログラム格納ＤＢ４５０内のデータ構造を示す図である。認証プログラム格納ＤＢ４５０には、認証プログラムＩＤ毎に、認証プログラムを登録し、管理している。
これにより、サービス毎に独自の認証プログラムが登録可能であり、各サービスはサービス管理ＤＢ４２０（図３）内の認証プログラムＩＤと認証プログラム格納ＤＢ４５０内の認証プログラムＩＤが一致した行の認証プログラムを利用することができる。
図においては、認証プログラムＩＤが「ＡＵ０００１」、…、「ＡＵ００９９」、…、「ＡＵ０１１５」、…のそれぞれで識別される認証プログラムが登録されていることを示している。
【００３６】
次に、プログラム配信システムの動作を説明する。
図７は、図１に示す実施の形態による認証の動作手順を示す。
まず、ユーザ７００は、携帯電話機１００からプログラム配信サーバ３００へネットワーク２００を介したネットワークアクセスを行う（ステップＳ１０）。プログラム配信サーバ３００の認証アクセス手段３１０は、ユーザＩＤ及びパスワードからなる認証情報を入力するためのフィールドと、プログラム配信サーバ３００へ入力した認証情報を送信し、認証を要求するための認証ボタンとを備えた認証画面を携帯電話機１００へ送信する。ユーザ７００は、携帯電話機１００が表示する認証画面に認証情報を入力し（ステップＳ１１）、認証ボタンを押下する（ステップＳ１２）。プログラム配信サーバ３００の認証アクセス手段３１０が携帯電話機１００から認証情報を受信すると、ユーザ認証手段３１１が起動される。
【００３７】
起動されたユーザ認証手段３１１は、認証アクセス手段３１０から認証情報を受けると、携帯電話機１００の携帯端末番号の取得を行う（ステップＳ１３）。例えば、ステップＳ１０においてネットワークアクセスを行った信号や、ステップＳ１２において認証情報の送信を行った信号に携帯電話機１００の携帯端末番号が含まれていれば、これを取得する。あるいは、この信号に携帯電話機１００のアドレス情報が含まれている場合には、アドレス情報から携帯端末番号への変換を行う。
そして、ユーザ認証手段３１１は、認証情報（ユーザＩＤ及びパスワード）と、ステップＳ１３において取得した携帯端末番号とに合致するユーザ認証情報が存在するか否かを問い合わせるユーザ認証情報問合せを、ＤＢサーバ４００へ送信する（ステップＳ１４）。ＤＢサーバ４００は、プログラム配信サーバ３００から受信した認証情報（ユーザＩＤ及びパスワード）及び携帯端末番号によりユーザ認証ＤＢ４１０を検索し、合致するレコード（行）がユーザ認証ＤＢ４１０に存在するか否かを示すユーザ認証結果を返送する（ステップＳ１５）。
プログラム配信サーバ３００のユーザ認証手段３１１は、ＤＢサーバ４００から受信したユーザ認証結果により、認証を許可するか否かの判断を行う（ステップＳ１６）。ユーザ認証結果がＮＧであり、このユーザ７００（携帯電話機１００）を拒否する場合には、認証アクセス手段３１０に通知する。認証アクセス手段３１０は、再び、認証画面を携帯電話機１００に送信し、認証情報の入力（ステップＳ１１）および認証ボタン押下（ステップＳ１２）の再実行を促す。
【００３８】
一方、ステップＳ１６において、ユーザ認証結果がＯＫであり、携帯電話機１００へプログラムの配信を許可する場合には、プログラム配信手段３２０が起動される。このとき、ユーザ認証手段３１１は、再びＤＢサーバ４００に問い合わせを行い、ユーザ認証ＤＢ４１０内のユーザ認証情報を読み出す。あるいは、ステップＳ１５において、ユーザ認証結果がＯＫであった場合に、この認証結果とともにユーザ認証情報を通知することでもよい。
【００３９】
図８は、図１に示す実施の形態による携帯電話機プログラム選択の動作手順を示す。
プログラム配信サーバ３００のプログラム配信手段３２０は、ユーザ認証手段３１１が読み出したユーザ認証情報から、当該ユーザ７００がこの携帯電話機１００にプログラムを取得して利用可能なサービスのサービスＩＤを得る。そして、これらのサービスＩＤを基に、取得可能なプログラムの一覧を表示するとともに、この中から取得するプログラムを選択するための選択ボタン及びプログラムの取得を要求するための取得ボタンを備えたプログラム配信画面を生成して、携帯電話機１００へ送出する。なお、取得可能なプログラムの一覧は、サービスＩＤ、サービス名、携帯電話機プログラムＩＤなどで示される。
ユーザ７００は、携帯電話機１００に表示されたプログラム配信画面により、自身が取得可能なプログラム（サービス）の一覧を確認すると、この中から取得を要求するプログラム（サービス）に対応した選択ボタンをチェックし（ステップＳ２０）、取得ボタンを押す。これにより、携帯電話機１００は、プログラム取得要求をプログラム配信サーバ３００へ送信する（ステップＳ２１）。この、プログラム取得要求には、ユーザ７００が選択したプログラム（サービス）の情報が含まれる。
【００４０】
プログラム配信サーバ３００のプログラム配信手段３２０は、携帯電話機１００からのプログラム取得要求を受けると、ユーザ７００が選択したプログラム（サービス）の情報をプログラム選択手段３２１へ受け渡す。プログラム選択手段３２１は、プログラム取得要求に応じて配信する実行プログラムを構成する携帯電話機プログラム及び認証プログラムと、認証コードを生成するための認証コード生成プログラムとを取得するために必要な情報（携帯電話機プログラムＩＤ、認証コード生成プログラムＩＤ、認証プログラムＩＤ等）の取得を行う。すなわち、プログラム選択手段３２１は、ユーザ７００が選択したプログラム（サービス）の情報に対応したサービスＩＤにより、ＤＢサーバ４００に対して問合せを行う（ステップＳ２２）。ＤＢサーバ４００は、受信したサービスＩＤをキーにサービス管理ＤＢ４２０の検索を行い、このサービスＩＤに合致するレコード（行）に格納されているサービス管理情報（サービス専用端末機識別コード、ＵＲＬ情報、携帯電話機プログラムＩＤ、認証コード生成プログラムＩＤ、認証プログラムＩＤ）を読み出す。そして、読み出したこれらのサービス管理情報を問合せ結果として返送する（ステップＳ２３）。プログラム配信サーバ３００のプログラム選択手段３２１が問合せ結果を取得すると、携帯電話機プログラム取得手段３２２が起動される。
【００４１】
次に、携帯電話機プログラム取得手段３２２は、携帯電話機プログラムの取得を実施する。すなわち、携帯電話機プログラム取得手段３２２は、プログラム選択手段３２１が取得したサービス管理情報内の携帯電話機プログラムＩＤによりＤＢサーバ４００への問合せを行う（ステップＳ２４）。ＤＢサーバ４００は、受信した携帯電話機プログラムＩＤをキーに携帯電話機プログラム格納ＤＢ４３０を検索し、このプログラムＩＤと一致するレコード（行）に格納されている携帯電話機プログラムを読み出し、問合せ結果として返送する（ステップＳ２５）。プログラム配信サーバ３００の携帯電話機プログラム取得手段３２２が問合せ結果の取得を完了すると、認証処理生成手段３２３が起動される。
【００４２】
図９は、図１に示す実施の形態による認証コードの生成及びプログラムセットの動作手順を示す。
認証処理生成手段３２３は、携帯電話機１００が各サービスサーバ５００ａ、あるいは、サービス専用端末機６００からサービスの提供を受ける際の認証に使用される認証コードを生成するとともに、携帯電話機プログラムへの各種情報や認証プログラムの埋め込みを行う。ここで生成する認証コードは、ユーザ認証ＤＢ４１０で管理する各ユーザ７００と、このユーザ７００が保有する携帯電話機１００との組み合わせを一意に識別するため生成されるものである。具体的には、以下を行う。
【００４３】
認証処理生成手段３２３は、図８のステップＳ２３においてプログラム選択手段３２１が取得したサービス管理情報内の認証コード生成プログラムＩＤにより、ＤＢサーバ４００への問合せを行う（ステップＳ３０）。ＤＢサーバ４００は、受信した認証コード生成プログラムＩＤをキーに認証コード生成プログラム格納ＤＢ４４０を検索し、合致する値が格納されているレコード（行）の認証コード生成プログラムを取得し、問合せ結果により返送する（ステップＳ３１）。
【００４４】
認証処理生成手段３２３は、認証コード生成プログラムを受信すると、ユーザＩＤ、パスワード、携帯端末番号、現在時刻等を、この認証コード生成プログラムに代入し、実行することでユニークな認証コードを生成する（ステップＳ３２）。
続いて、認証処理生成手段３２３は、生成した認証コードをＤＢサーバ４００に登録する。すなわち、認証処理生成手段３２３は、ステップＳ３２において生成した認証コードと、キーとなるユーザＩＤ、パスワード、携帯端末番号、及び、サービスＩＤをＤＢサーバ４００に通知し、認証コードの登録を指示する（ステップＳ３３）。ＤＢサーバ４００は、プログラム配信サーバ３００から受信したユーザＩＤ、パスワード、携帯端末番号、及び、サービスＩＤをキーにユーザ認証ＤＢ４１０を検索し、一致したレコード（行）の認証コードに、受信した認証コードを書き込む。
【００４５】
ユーザ認証ＤＢ４１０への認証コードの登録が完了すると、認証処理生成手段３２３は、認証プログラムの取得を行う。認証処理生成手段３２３は、図８のステップＳ２３においてプログラム選択手段３２１が取得したユーザ認証情報内の認証プログラムＩＤにより、ＤＢサーバ４００への問合せを行う（ステップＳ３４）。ＤＢサーバ４００は、認証プログラム格納ＤＢ４５０内を検索し、受信した認証プログラムＩＤと一致するレコード（行）に格納されている認証プログラムを読み出し、問合せ結果として返送する（ステップＳ３５）。
【００４６】
認証処理生成手段３２３は、認証プログラムの取得を完了すると、認証プログラム、ユーザＩＤ、携帯端末番号、サービスＩＤ、認証コード、サービス専用端末機識別コード、ＵＲＬ情報等を、携帯電話機プログラムに埋め込む（ステップＳ３６）。
例えば、サービスサーバ５００ａあるいはサービス専用端末機６００へサービスを要求するときに、埋め込まれた認証プログラムが実行されるようなソースコードを生成する。また、この認証プログラムに規定される認証手順において、埋め込んだ認証コード、ユーザＩＤ、携帯端末番号、サービスＩＤ等を送信するためのコードや、取得したサービス専用端末機識別コードで示されるサービス専用端末機６００にのみ、情報を送信するような処理のコードを埋め込む。あるいは、埋め込んだユーザＩＤ、携帯端末番号、サービス専用端末識別コード等を使用して演算を行ったり、埋め込んだＵＲＬ情報が示すＵＲＬへアクセスするためのコードを生成する。
認証処理生成手段３２３が、携帯電話機プログラムへの各種情報及び認証プログラム等の埋め込みの処理を完了すると、実行プログラム生成手段３２４が起動される。
【００４７】
図１０は、図１に示す実施の形態による実行プログラムの生成及び配信の動作手順を示す。
実行プログラム生成手段３２４は、認証処理生成手段３２３により各種情報及び認証プログラム等が埋め込まれた携帯電話機プログラムをコンパイルし、携帯電話機１００上で動作する実行形式にした実行プログラムを生成する（ステップＳ４０）。なお、実行プログラム中、ネットワークアクセスにより、サービスサーバ５００ａに接続し、サービスを享受する機能をネットワークアクセス機能、通信アクセスによりサービス専用端末機６００からサービスを享受する機能を通信アクセス機能とする。実行プログラム生成手段３２４が実行プログラムの生成処理を完了すると、実行プログラム配信手段３２５が起動される。
【００４８】
実行プログラム配信手段３２５は、実行プログラム生成手段３２４が生成した実行プログラムを、プログラム配信手段３２０を介してユーザ７００が保有する携帯電話機１００に配信する（ステップＳ４１）。携帯電話機１００は、配信された実行プログラムを内部に記憶する。
【００４９】
図１１は、図１に示す実施の形態によるサービス実行の動作手順を示す。
ユーザ７００が携帯電話機１００を操作して配信された実行プログラムを起動すると、携帯電話機１００は、内部に記憶された各サービスの実行プログラムを読み出して実行することにより、以下のように認証手順を実施し、サービスを享受する。
ネットワークアクセスによりサービスを利用する形態の場合、ユーザ７００が携帯電話機１００内の実行プログラムを起動すると、この実行プログラム内のネットワークアクセス機能により、ネットワーク２００を介したサービスサーバ５００ａへのアクセスを行う（ステップＳ５０）。このとき、認証プログラムを基に生成された認証処理が実行され、携帯電話機１００からは、認証コード、ユーザＩＤ、携帯端末番号等の認証情報が送信される。サービスサーバ５００ａのユーザ認証手段５１０ａは、受信した認証情報コード、ユーザＩＤ、携帯端末番号等により、ＤＢサーバ４００へユーザ認証情報の問合せを行う（ステップＳ５１）。ＤＢサーバ４００は、サービスサーバ５００ａから受信した認証コード、ユーザＩＤ、携帯端末番号等と合致するレコード（行）が、ユーザ認証ＤＢ４１０内に登録されているか否かを検索し、この検索結果をユーザ認証結果として返送する（ステップＳ５２）。サービスサーバ５００ａのユーザ認証手段５１０ａは、ユーザ認証結果がＯＫであった場合には、サービス提供手段５２０ａを起動し、携帯電話機１００へサービスを提供する。このように、携帯電話機１００内の実行プログラムがサービス提供側において認証許可された場合に、ユーザ７００はサービスを利用することができる。
【００５０】
通信アクセスによりサービスを利用する形態の場合、通信アクセスを行ったサービス専用端末機６００が、ユーザ７００の利用できるサービス専用端末機６００であるか、あるいは、認証情報改竄を目的とした不正端末でないかを確認するための双方向通信を実施する。これは、認証プログラムを基に生成された認証処理により行われる。
具体的には、ユーザ７００が携帯電話機１００内の実行プログラムを起動すると、この実行プログラム内の通信アクセス機能により、バーコード表示や赤外線通信などによりサービス専用端末機６００へのアクセスを行う。このとき、認証プログラムを基に生成された以下の認証処理が実行される。
携帯電話機１００は、実行プログラム内に埋め込まれたサービスＩＤをサービス専用端末機６００へ送信する（ステップＳ６０）。サービス専用端末機６００は、受信したサービスＩＤにより示されるサービスが提供可能であれば、自身のサービス専用端末識別コードを携帯電話機１００へ返送する（ステップＳ６１）。
携帯電話機１００は、受信したサービス専用端末識別コードと、実行プログラム内に埋め込まれた専用端末識別コードとを比較してこのサービス専用端末機６００を許可した場合、サービス専用端末機６００に認証コード、ユーザＩＤ、携帯端末番号等の認証情報を送信する通信アクセスを行う（ステップＳ６２）。
サービス専用端末機６００は、受信した認証コード、ユーザＩＤ、携帯端末番号等をサービスサーバ５００ｂへ受け渡す。サービスサーバ５００ｂのユーザ認証手段５１０ｂは、受信した認証コード、ユーザＩＤ、携帯端末番号等により、ＤＢサーバ４００へユーザ認証情報の問合せを行う（ステップＳ６３）。ＤＢサーバ４００は、サービスサーバ５００ｂから受信した認証コード、ユーザＩＤ、携帯端末番号等と合致するレコード（行）が、ユーザ認証ＤＢ４１０内に登録されているか否かを検索し、この検索結果をユーザ認証結果として返送する（ステップＳ６４）。サービスサーバ５００ｂのユーザ認証手段５１０ｂは、ユーザ認証結果をサービス専用端末機６００へ受け渡し、サービス専用端末機６００は、認証がＯＫであれば、携帯電話機１００へサービスを提供する。
【００５１】
図１２は、図１に示す実施の形態によるユーザ・マシンインタフェースを示す図である。
ここでは、図７のステップＳ１１〜ステップＳ１２において、携帯電話機１００に表示される認証画面と、図８のステップＳ２０〜ステップＳ２１において、携帯電話機１００に表示されるプログラム配信画面とを示している。
【００５２】
図７のステップＳ１０において、ユーザ７００が携帯電話端末機１００からプログラム配信サーバ３００の認証３１０へネットワークアクセスすると、図１２に示す認証画面が表示される。認証画面には、ユーザＩＤ及びパスワードを入力するフィールドと、プログラム配信サーバ３００へ認証を要求するための認証ボタンが備えられる。ユーザ７００は認証画面に、ユーザＩＤ及びパスワードを入力し（ステップＳ１１）、認証ボタン押下（ステップＳ１２）する。
【００５３】
認証が許可された場合に、携帯電話機１００にはプログラム配信サーバ３００から受信したプログラム配信画面が表示される。同図におけるプログラム配信画面には、ユーザ７００がプログラムの取得が可能なサービス名の一覧と、各サービス名に対応した選択ボタン、及び、取得を要求する取得ボタンが備えられている。ユーザ７００は、プログラムの取得を要求するサービス名に対応したボタンを選択し（ステップＳ２０）、取得ボタンを押下してプログラムの取得要求を実施する（ステップＳ２１）。
これにより、ユーザ７００が要求したサービスの実行プログラムがプログラム配信サーバ３００内で生成され、この携帯電話機１００に配信される。
【００５４】
なお、ユーザ認証ＤＢ４１０内に認証コードの利用回数の制限や有効期間などの情報を追加したり、あるいは、認証プログラムのロジックに組み込むことにより、サービスサーバ５００ａあるいはサービス専用端末機６００（サービスサーバ５００ｂ）が、所定の回数あるいは所定の期間を超えて携帯電話機１００からサービスの要求を受けた場合には認証をＮＧとし、再びプログラムをダウンロードするよう促すメッセージを返送してもよい。
【００５５】
なお、上述の携帯電話機１００、プログラム配信サーバ３００、ＤＢサーバ４００、サービスサーバ５００ａ、５００ｂ及び、サービス専用端末機６００は、内部にコンピュータシステムを有している。そして、上述した動作の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータシステムが読み出して実行することによって、上記処理が行われる。ここでいうコンピュータシステムとは、ＯＳや周辺機器等のハードウェアを含むものである。
【００５６】
また、「コンピュータ読み取り可能な記録媒体」とは、ＲＯＭの他に、磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のシステムやクライアントとなるコンピュータシステム内部の揮発性メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【００５７】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【００５８】
【発明の効果】
この発明によれば、プログラム配信サーバは、ユーザからサービスを享受するためのプログラムの取得要求がある度に、ユーザ及び端末装置に個別の情報から生成した認証コードと、認証プログラムとを埋め込んだ端末装置プログラムから実行プログラムを逐次生成して配信する。これにより、認証コードの改竄を防止し、サービス提供時に、より信頼性の高いユーザ認証を簡便に行うことができる。また、サービス毎に独自の認証コード生成方法や認証手順を用いて携帯電話機プログラムを随時生成することができるため、プログラム配信システムの柔軟性・可用性が広がる。
【図面の簡単な説明】
【図１】この発明の一実施の形態によるプログラム配信システムの構成を示すブロック図である。
【図２】同実施の形態によるユーザ認証ＤＢに記憶されているユーザ認証データの構造を示す図である。
【図３】同実施の形態によるサービス管理ＤＢに記憶されているサービス管理データの構造を示す図である。
【図４】同実施の形態による携帯電話機プログラム格納ＤＢ内のデータ構造を示す図である。
【図５】同実施の形態による認証コード生成プログラム格納ＤＢ内のデータ構造を示す図である。
【図６】同実施の形態による認証プログラム格納ＤＢ内のデータ構造を示す図である。
【図７】同実施の形態による認証の動作手順を示す。
【図８】同実施の形態による携帯電話機プログラム選択の動作手順を示す。
【図９】同実施の形態による認証コードの生成及びプログラムセットの動作手順を示す。
【図１０】同実施の形態による実行プログラムの生成及び配信の動作手順を示す。
【図１１】同実施の形態によるサービス実行の動作手順を示す。
【図１２】同実施の形態によるユーザ・マシンインタフェースを示す図である。
【符号の説明】
１００…携帯電話機（端末装置）
２００、２１０…ネットワーク
３００…プログラム配信サーバ
３１０…認証アクセス手段
３１１、５１０ａ、５１０ｂ…ユーザ認証手段
３２０…プログラム配信手段
３２１…プログラム選択手段
３２２…携帯電話機プログラム取得手段（端末装置プログラム取得手段）
３２３…認証処理生成手段
３２４…実行プログラム生成手段
３２５…実行プログラム配信手段
４００…ＤＢサーバ（記憶手段）
４１０…ユーザ認証ＤＢ
４２０…サービス管理ＤＢ
４３０…携帯電話機プログラム格納ＤＢ
４４０…認証コード生成プログラム格納ＤＢ
４５０…認証プログラム格納ＤＢ
５００ａ、５００ｂ…サービスサーバ
６００…サービス専用端末機
７００…ユーザ
【図１】
2004295365.tif 000003
【図２】
2004295365.tif 000004
【図３】
2004295365.tif 000005
【図４】
2004295365.tif 000006
【図５】
2004295365.tif 000007
【図６】
2004295365.tif 000008
【図７】
2004295365.tif 000009
【図８】
2004295365.tif 000010
【図９】
2004295365.tif 000011
【図１０】
2004295365.tif 000012
【図１１】
2004295365.tif 000013
【図１２】
2004295365.tif 000014