(57)【特許請求の範囲】
【請求項１】
端末装置のログイン要求を処理するサーバ装置であって、
前記端末装置の情報記憶手段に記憶される前記端末装置の固有の情報に基づいて生成される第１情報と、少なくとも一方が前記固有情報に基づいて生成される第２情報及び第３情報とを関連付けて記憶する記憶部と、
前記端末装置からログイン要求を受信した場合、当該端末装置において実行される端末側プログラムを当該端末装置へ送信するプログラム送信部と、
ログイン要求元の端末装置から前記第１情報を受信した場合、当該受信した第１情報に関連づけられた前記第２情報及び前記第３情報を前記記憶部から取得する情報取得部と、
前記端末装置からのログイン要求に応じて前記情報取得部が前記第２情報を取得する度に変化するキー情報を生成するキー情報生成部と、
前記キー情報生成部において生成されたキー情報を前記情報取得部において取得された第２情報により暗号化し、当該暗号化したキー情報を前記ログイン要求元の端末装置へ送信する暗号処理部と、
前記キー情報により暗号化された前記第３情報を前記ログイン要求元の端末装置から受信した場合、当該受信した第３情報と前記情報取得部において取得された第３情報とを照合する照合部と、
を有し、
前記端末側プログラムは、
前記端末装置の情報記憶手段に記憶された前記固有情報を取得する第１固有情報取得手段、
前記取得した前記固有情報に基づいて、前記第１情報を生成するとともに前記第２情報及び前記第３情報の少なくとも一方を生成し、当該生成した第１情報を前記サーバ装置に送信する情報生成手段、
前記サーバ装置から受信した前記暗号化されたキー情報を前記第２情報により復号化する端末側復号化手段、及び、
前記復号化したキー情報により前記第３情報を暗号化し、当該暗号化した第３情報を前記サーバ装置に送信する端末側暗号化手段、
として前記端末装置を機能させる、
サーバ装置。
【請求項２】
前記情報生成手段は、
所定の付加情報と前記固有情報とを含んだデータに一方向性関数を施した結果に基づいて前記第１情報を生成するとともに、前記所定の付加情報とは異なる付加情報と前記固有情報とを含んだデータに一方向性関数を施した結果に基づいて前記第２情報及び／又は前記第３情報を生成する、
又は、
前記端末装置の情報記憶手段から取得された固有情報の一部に一方向性関数を施した結果に基づいて前記第１情報を生成するとともに、前記取得された固有情報の他の一部に一方向性関数を施した結果に基づいて前記第２情報及び／又は前記第３情報を生成する、
又は、
前記固有情報に一方向性関数を施した結果に基づいて前記第１情報を生成するとともに、前記固有情報に前記第１情報の生成に用いた一方向性関数とは異なる一方向性関数を施した結果に基づいて前記第２情報及び／又は前記第３情報を生成する、
請求項１に記載のサーバ装置。
【請求項３】
前記端末側プログラムは、更に、
前記端末装置にインストールされたオペレーティングシステムの種別を判定する判定手段
として前記端末装置を機能させ、
第１固有情報取得手段は、前記判定手段において判定された前記種別に応じた所定の命令を前記オペレーティングシステムに実行させることにより、前記端末装置を構成するハードウェアに係る固有情報、及び、前記端末装置にインストールされたソフトウェアに係る固有情報の何れか一方若しくは両方を前記端末装置の情報記憶手段から取得する、
請求項２に記載のサーバ装置。
【請求項４】
前記端末装置との通信セッションを識別するためのセッション識別情報を生成し、当該生成したセッション識別情報を前記端末装置に通知するセッション情報生成部を有し、
前記暗号処理部は、前記セッション情報を前記キー情報とともに前記第２情報によって暗号化し、
前記端末側復号化手段は、前記暗号化処理部において前記キー情報とともに暗号化された前記セッション情報を復号化し、
前記端末側プログラムは、更に、
通信セッションの開始時に前記サーバ装置から通知されたセッション情報と前記復号化したセッション情報とを照合し、両者が一致しない場合は前記サーバ装置への前記暗号化された第３情報の送信を禁止するセッション情報照合手段
として前記端末装置を機能させる、
請求項３に記載のサーバ装置。
【請求項５】
前記プログラム送信部は、前記端末側プログラムの正当性を認証するための認証情報を前記端末側プログラムとともに前記端末装置へ送信し、
前記第１固有情報取得手段は、前記端末装置のプログラム正当性確認手段において前記認証情報に基づいて前記端末側プログラムの正当性が確認されることを条件として、前記固有情報の取得を実行する、
請求項４に記載のサーバ装置。
【請求項６】
前記端末側プログラムは、更に、
前記オペレーティングシステムの種別に依らずに取得可能な固有情報を前記端末装置の前記情報記憶手段から取得する第２固有情報取得手段
として前記端末装置を機能させ、
前記情報生成手段は、前記判定手段において前記端末装置にインストールされたオペレーティングシステムの種別を判定できない場合、又は、前記端末装置の前記プログラム正当性確認手段において前記端末側プログラムの正当性を確認できない場合に、前記第２固有情報取得手段で取得された前記固有情報に基づいて、前記第１情報を生成するとともに前記第２情報及び前記第３情報の少なくとも一方を生成し、当該生成した第１情報を前記サーバ装置に送信する、
請求項５に記載のサーバ装置。
【請求項７】
前記記憶部は、前記第１情報の生成並びに当該第１情報に関連付けられた前記第２情報及び／又は前記第３情報の生成に用いられた前記固有情報が前記第１固有情報取得手段において取得された固有情報（以下、「第１固有情報」と記す。）であるか又は前記第２固有情報取得手段において取得された固有情報（以下、「第２固有情報」と記す。）であるかを示すフラグ情報を更に記憶し、
前記情報生成手段は、前記第１情報を前記サーバ装置へ送信する際、前記第１情報に係る前記フラグ情報を前記サーバ装置へ送信し、
前記情報取得部は、前記第１情報とこれに係る前記フラグ情報を前記端末装置から受信した場合、当該受信した第１情報と一致する第１情報を前記記憶部において検索し、当該検索した第１情報について前記記憶部に記憶される前記フラグ情報が当該受信したフラグ情報と一致するならば、当該検索した第１情報に関連付けられた前記第２情報及び前記第３情報を前記記憶部から取得する、
請求項６に記載のサーバ装置。
【請求項８】
前記情報取得部は、前記端末装置から受信した第１情報を前記記憶部の記憶情報から検索できず、かつ、当該受信した第１情報に係る前記フラグ情報が前記第１固有情報に基づいて当該第１情報が生成されたことを示す場合、前記第２固有情報に基づいて生成された前記第１情報の送信を求める送信要求を前記端末装置に送信し、
前記端末装置において前記送信要求が受信された場合、
前記情報生成手段は、前記第２固有情報に基づいて生成した前記第１情報とこれに係る前記フラグ情報を前記サーバ装置に送信し、
前記送信要求に応答した前記端末装置から前記サーバ装置へ前記第１情報が送信され、前記サーバ装置において当該第１情報に関連付けられた前記第２情報により前記キー情報が暗号化され、当該暗号化されたキー情報が前記サーバ装置から前記端末装置へ送信された場合、
前記端末側復号化手段は、当該暗号化されたキー情報を、前記第２固有情報に基づいて生成された前記第２情報により復号化するか、若しくは、前記端末装置の情報入力手段に入力された前記第２情報により復号化し、
前記端末側暗号化手段は、前記第２固有情報に基づいて生成された前記第３情報若しくは前記端末装置の情報入力手段に入力された第３情報を、前記復号化されたキー情報により暗号化して前記サーバ装置に送信するとともに、前記第１固有情報に基づいて生成された前記第２情報及び／又は第３情報を、前記復号化されたキー情報により暗号化して前記サーバ装置に送信し、
前記暗号処理部は、前記第１固有情報に基づいて生成されて前記キー情報により暗号化された前記第２情報及び／又は前記第３情報を、前記キー情報生成部において生成されたキー情報により復号化し、
前記照合部は、前記第２固有情報に基づいて生成されるか若しくは前記端末装置の情報入力手段に入力されて前記キー情報により暗号化された前記第３情報と、前記情報取得部において取得された第３情報とを照合し、
前記情報取得部は、前記第２固有情報に基づいて生成されるか若しくは前記端末装置の情報入力手段に入力された第３情報と前記情報取得部において取得された第３情報とが一致すると前記照合部において判定された場合、前記第１固有情報に基づいて生成されて前記キー情報により復号化された第２情報及び／又は第３情報と、前記第１固有情報に基づいて生成され、前記記憶部の記憶情報から検索できなかった前記第１情報と、前記第２固有情報に基づいて生成され、前記送信要求に応答した前記端末装置から前記サーバ装置へ送信された前記第１情報とを関連付けて前記記憶部に格納し、各第１情報に係る前記フラグ情報を前記記憶部に格納する、
請求項７に記載のサーバ装置。
【請求項９】
前記情報生成手段は、前記第１固有情報に基づいて生成した前記第１情報と前記第２固有情報に基づいて生成した前記第１情報の両方を前記サーバ装置へ送信し、
前記情報取得部は、前記第１固有情報に基づいて生成された前記第１情報と前記第２固有情報に基づいて生成された前記第１情報の両方を前記端末装置から受信した場合、前記第１固有情報に基づいて生成された第１情報に関連付けられた前記第２情報及び前記第３情報を前記記憶部から取得し、前記第１固有情報に基づいて生成された第１情報を前記記憶部の記憶情報から検索できないときは、前記第２固有情報に基づいて生成された前記第１情報に関連付けられた前記第２情報及び前記第３情報を前記記憶部から取得し、
前記暗号処理部は、前記第１情報に関連付けられた前記第２情報が前記情報取得部によって取得された場合、当該第１情報に係る前記フラグ情報と当該第２情報により暗号化したキー情報とを前記端末装置へ送信し、
前記暗号化されたキー情報と前記フラグ情報とが前記端末装置において受信された場合、
前記端末側復号化手段は、前記暗号化されたキー情報を、前記受信されたフラグ情報に係る前記第１情報とともに前記情報生成手段において生成された前記第２情報により復号化するか、若しくは、前記端末装置の情報入力手段に入力された前記第２情報により復号化し、
前記端末側暗号化手段は、前記受信されたフラグ情報に係る前記第１情報とともに前記情報生成手段において生成された前記第３情報、若しくは、前記端末装置の情報入力手段に入力された第３情報を、前記復号化されたキー情報により暗号化して前記サーバ装置に送信する、
請求項７に記載のサーバ装置。
【請求項１０】
前記第１固有情報に基づいて生成された第１情報が前記記憶部の記憶情報から検索できないため、前記第２固有情報に基づいて生成された前記第１情報に関連付けられた前記第２情報及び前記第３情報が前記記憶部から取得され、当該取得された第２情報により暗号化された前記キー情報と前記第２固有情報に基づいて生成された前記第１情報に係る前記フラグ情報とが前記サーバ装置から前記端末装置へ送信された場合、
前記端末側復号化手段は、前記暗号化されたキー情報を、前記第２固有情報に基づいて生成された前記第２情報により復号化するか、若しくは、前記端末装置の情報入力手段に入力された前記第２情報により復号化し、
前記端末側暗号化手段は、前記第２固有情報に基づいて生成された前記第３情報若しくは前記端末装置の情報入力手段に入力された第３情報を、前記復号化されたキー情報により暗号化して前記サーバ装置に送信するとともに、前記第１固有情報に基づいて生成された前記第２情報及び／又は第３情報を前記復号化されたキー情報により暗号化して前記サーバ装置に送信し、
前記暗号処理部は、前記第１固有情報に基づいて生成されて前記キー情報により暗号化された前記第２情報及び／又は前記第３情報を、前記キー情報生成部において生成されたキー情報により復号化し、
前記照合部は、前記第２固有情報に基づいて生成されるか若しくは前記端末装置の情報入力手段に入力されて前記キー情報により暗号化された前記第３情報と、前記情報取得部において取得された第３情報とを照合し、
前記情報取得部は、前記第２固有情報に基づいて生成されるか若しくは前記端末装置の情報入力手段に入力された第３情報と前記情報取得部において取得された第３情報とが一致すると前記照合部において判定された場合、前記第１固有情報に基づいて生成されて前記キー情報により復号化された第２情報及び／又は第３情報と、前記第１固有情報に基づいて生成され、前記記憶部の記憶情報から検索できなかった前記第１情報と、前記第２固有情報に基づいて生成された前記第１情報とを関連付けて前記記憶部に格納し、各第１情報に係る前記フラグ情報を前記記憶部に格納する、
請求項９に記載のサーバ装置。
【請求項１１】
前記暗号処理部は、前記暗号化したキー情報を前記端末装置へ送信した時刻に対応する時刻情報を、前記暗号化したキー情報を暗号化する前の元のキー情報に関連付けて前記記憶部に格納し、
前記ログイン要求元の端末装置へ前記暗号化されたキー情報が送信された後、当該暗号化されたキー情報に対応する前記元のキー情報に関連付けて前記記憶部に格納される前記時刻情報を、当該端末装置から前記暗号化された第３情報を受信するまで監視し、当該監視対象の時刻情報が示す時刻からの経過時間が所定の時間を超えた場合、当該監視対象の時刻情報に関連付けられた前記元のキー情報を前記記憶部から削除する若しくは無効化する情報無効化部を有する、
請求項７乃至１０の何れか一項に記載のサーバ装置。
【請求項１２】
前記暗号処理部は、前記ログイン要求元の端末装置から受信した第３情報を、当該端末装置へ暗号化して送信したキー情報に対応する元の前記キー情報により復号化し、
前記照合部は、前記暗号処理部において復号化された第３情報と前記情報取得部において取得された第３情報とが一致しているか否か判定する、
請求項７乃至１１の何れか一項に記載のサーバ装置。
【請求項１３】
前記暗号処理部は、前記情報取得部において取得された第３情報を、前記ログイン要求元の端末装置へ暗号化して送信したキー情報に対応する元の前記キー情報によって暗号化し、
前記照合部は、前記端末装置から受信した暗号化された第３情報と前記暗号処理部により暗号化された第３情報とが一致しているか否か判定する、
請求項７乃至１１の何れか一項に記載のサーバ装置。
【請求項１４】
前記キー情報生成部は、前記暗号処理部により暗号化される前の元のキー情報を前記記憶部に格納し、
前記端末装置において暗号化された第３情報が前記暗号処理部において前記元のキー情報により復号化された後、当該元のキー情報を前記記憶部から削除する若しくは無効化する情報無効化部を有する、
請求項１２に記載のサーバ装置。
【請求項１５】
前記キー情報生成部は、前記暗号処理部により暗号化される前の元のキー情報を前記記憶部に格納し、
前記暗号処理部において前記第３情報が前記元のキー情報により暗号化された後、当該元のキー情報を前記記憶部から削除する若しくは無効化する情報無効化部を有する、
請求項１３に記載のサーバ装置。
【請求項１６】
前記暗号処理部は、前記照合部の照合結果に基づいて前記端末装置のログイン要求が許可された場合、当該端末装置へ送信する情報の少なくとも一部を前記キー情報により暗号化する処理、及び／又は、当該端末装置から受信する情報の少なくとも一部を前記キー情報により復号化する処理を行う、
請求項７乃至１３の何れか一項に記載のサーバ装置。
【請求項１７】
前記キー情報生成部は、前記暗号処理部により暗号化される前の元のキー情報を前記記憶部に格納し、
前記端末装置との通信が終了した場合、当該終了した通信において前記暗号処理部が使用した前記元のキー情報を前記記憶部から削除する若しくは無効化する情報無効化部を有する、
請求項１６に記載のサーバ装置。
【請求項１８】
前記第１情報が、前記端末装置の利用者を識別するために前記端末装置の情報入力手段から入力される利用者識別情報と前記固有情報とを含み、
前記第２情報及び前記第３情報の少なくとも一方が、利用者本人を認証するために前記端末装置の情報入力手段から入力される本人認証情報を含む、
請求項７乃至１７の何れか一項に記載のサーバ装置。
【請求項１９】
前記情報取得部は、前記端末装置のログオンが許可された場合、前記第１情報に所定の変換を施して生成した新たな第１情報を元の第１情報に関連付けて前記記憶部に格納するとともに、前記新たな第１情報を前記端末装置へ送信し、
前記情報生成手段は、前記端末装置へのログオンが許可された場合に前記サーバ装置から送信された前記新たな第１情報を前記記憶部に格納し、次回の前記サーバ装置へのログイン処理においては、前記情報記憶手段に格納した前記新たな第１情報を前記サーバ装置に送信し、
前記情報取得部は、前記端末装置から前記新たな第１情報を受信した場合、当該受信した新たな第１情報に関連づけられた前記第２情報及び前記第３情報を前記記憶部から取得する、
請求項７乃至１８の何れか一項に記載のサーバ装置。
【請求項２０】
端末装置と、
前記端末装置のログイン要求を処理するサーバ装置と
を具備し、
前記端末装置は、
当該端末装置の固有の情報を記憶する端末側記憶部と、
前記サーバ装置に対するログイン要求を送信するログイン要求送信部と、
を有し、
前記サーバ装置は、
前記端末装置の前記端末側記憶部に記憶される前記固有情報に基づいて生成される第１情報と、少なくとも一方が前記固有情報に基づいて生成される第２情報及び第３情報とを関連付けて記憶するサーバ側記憶部と、
前記端末装置から前記ログイン要求を受信した場合、当該端末装置において実行される端末側プログラムを当該端末装置へ送信するプログラム送信部と、
前記端末装置から前記第１情報を受信した場合、当該受信した第１情報に関連づけられた前記第２情報及び前記第３情報を前記記憶部から取得する情報取得部と、
前記端末装置からのログイン要求に応じて前記情報取得部が前記第２情報を取得する度に変化するキー情報を生成するキー情報生成部と、
前記キー情報生成部において生成されたキー情報を前記情報取得部において取得された第２情報により暗号化し、当該暗号化したキー情報を前記ログイン要求元の端末装置へ送信する暗号処理部と、
前記キー情報により暗号化された前記第３情報を前記ログイン要求元の端末装置から受信した場合、当該受信した第３情報と前記情報取得部において取得された第３情報とを照合する照合部と、
を有し、
前記端末側プログラムは、
前記端末側記憶部から前記固有情報を取得する固有情報取得手段、
前記取得した前記固有情報に基づいて、前記第１情報を生成するとともに前記第２情報及び前記第３情報の少なくとも一方を生成し、当該生成した第１情報を前記サーバ装置に送信する情報生成手段、
前記サーバ装置から受信した前記暗号化されたキー情報を前記第２情報により復号化する端末側復号化手段、及び、
前記復号化したキー情報により前記第３情報を暗号化し、当該暗号化した第３情報を前記サーバ装置に送信する端末側暗号化手段、
として前記端末装置を機能させる、
コンピュータシステム。
【請求項２１】
端末装置がサーバ装置にログインする方法であって、
前記端末装置の情報記憶手段に記憶される前記端末装置の固有の情報に基づいて生成される第１情報と、少なくとも一方が前記固有情報に基づいて生成される第２情報及び第３情報とが、前記サーバ装置の記憶手段に関連付けて記憶された状態で、前記端末装置が前記サーバ装置にログイン要求を送信する第１工程と、
前記サーバ装置が前記端末装置から前記ログイン要求を受信すると、前記サーバ装置のプログラム送信手段が、当該端末装置において実行される端末側プログラムを当該端末装置へ送信する第２工程と、
前記端末側プログラムに基づく前記端末装置の固有情報取得手段が、前記端末装置の前記情報記憶手段から前記固有情報を取得する第３工程と、
前記端末側プログラムに基づく前記端末装置の情報生成手段が、前記取得した前記固有情報に基づいて、前記第１情報を生成するとともに前記第２情報及び前記第３情報の少なくとも一方を生成し、当該生成した第１情報を前記サーバ装置に送信する第４工程と、
前記サーバ装置の情報取得手段が、前記端末装置から受信した前記第１情報に関連づけられた前記第２情報及び前記第３情報を、前記サーバ装置の前記記憶手段から取得する第５工程と、
前記サーバ装置のキー情報生成手段が、前記端末装置からのログイン要求に応じて前記情報取得手段が前記第２情報を取得する度に変化するキー情報を生成する第６工程と、
前記サーバ装置の暗号処理手段が、前記キー情報生成手段において生成されたキー情報を前記情報取得手段において取得された第２情報により暗号化し、当該暗号化したキー情報を前記ログイン要求元の前記端末装置へ送信する第７工程と、
前記端末側プログラムに基づく前記端末装置の端末側復号化手段が、前記サーバ装置から受信した前記暗号化されたキー情報を前記第２情報により復号化する第８工程と、
前記端末側プログラムに基づく前記端末装置の端末側暗号化手段が、前記復号化されたキー情報により前記第３情報を暗号化し、当該暗号化した第３情報を前記サーバ装置に送信する第９工程と、
前記サーバ装置の照合手段が、前記ログイン要求元の端末装置から受信した前記暗号化された第３情報と前記情報取得手段によって取得された第３情報とを照合する第１０工程と、
を有するログイン方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、端末装置のログイン要求を処理するサーバ装置並びにコンピュータシステムとそのログイン方法に係り、特に、端末装置がサーバ装置へログインする際に端末装置とサーバ装置との間でやりとりされる秘密情報の漏洩を防止する方法に関するものである。
【背景技術】
【０００２】
近年、インターネットを通じて種々のサービスを提供する情報通信システムが、企業のみならず個人のレベルでも広く利用されている。インターネットは不特定のコンピュータが接続可能な公衆ネットワークであるため、特定の利用者にだけサービスを提供する場合は、サーバ装置において利用者若しくはコンピュータの認証を行う必要がある。
一般的なサーバ装置では、アクセスを要求するコンピュータから利用者ＩＤとパスワードを取得し、これが予め登録されたものと一致している場合にログインを許可する。
また、特許文献１に記載されるサーバ装置では、アクセスを要求するコンピュータからその装置の固有情報（ＣＰＵのＩＤ，ＢＩＯＳの情報等）を取得し、これが予め登録されたものと一致している場合にログインを許可する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】ＰＣＴ／ＪＰ２０１０／００１６４６明細書
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述したパスワードや端末固有情報などの認証情報がそのままインターネットに流れてしまうと、ネットワークの通信データを監視する悪意の第三者に認証情報が漏洩してしまう可能性がある。そこで、高いセキュリティが要求される認証情報等を送受信する場合は、一般にＳＳＬ（secure socket layer）などの暗号化通信プロトコルによって通信データが暗号化されている。
【０００５】
しかしながら、ＳＳＬを使用するために商用の認証局からサーバ証明書を受けると、そのための費用が発生し、運営コストが上昇するという問題がある。また、ＳＳＬにおける公開鍵暗号方式は、共有鍵を用いる暗号方式に比べて複雑であり、サーバ装置での負荷が重くなるという問題がある。
【０００６】
本発明はかかる事情に鑑みてなされたものであり、その目的は、負荷の軽い簡易な暗号方式で認証情報の漏洩を効果的に防止できるサーバ装置とそのプログラム並びにコンピュータシステムとそのログイン方法を提供することにある。
【課題を解決するための手段】
【０００７】
本発明の第１の観点は、端末装置のログイン要求を処理するサーバ装置に関するものであり、このサーバ装置は、前記端末装置の情報記憶手段に記憶される前記端末装置の固有の情報に基づいて生成される第１情報と、少なくとも一方が前記固有情報に基づいて生成される第２情報及び第３情報とを関連付けて記憶する記憶部と、前記端末装置からログイン要求を受信した場合、当該端末装置において実行される端末側プログラムを当該端末装置へ送信するプログラム送信部と、ログイン要求元の端末装置から前記第１情報を受信した場合、当該受信した第１情報に関連づけられた前記第２情報及び前記第３情報を前記記憶部から取得する情報取得部と、前記端末装置からのログイン要求に応じて前記情報取得部が前記第２情報を取得する度に変化するキー情報を生成するキー情報生成部と、前記キー情報生成部において生成されたキー情報を前記情報取得部において取得された第２情報により暗号化し、当該暗号化したキー情報を前記ログイン要求元の端末装置へ送信する暗号処理部と、前記キー情報により暗号化された前記第３情報を前記ログイン要求元の端末装置から受信した場合、当該受信した第３情報と前記情報取得部において取得された第３情報とを照合する照合部とを有する。
前記端末側プログラムは、前記端末装置の情報記憶手段に記憶された前記固有情報を取得する第１固有情報取得手段、前記取得した前記固有情報に基づいて、前記第１情報を生成するとともに前記第２情報及び前記第３情報の少なくとも一方を生成し、当該生成した第１情報を前記サーバ装置に送信する情報生成手段、前記サーバ装置から受信した前記暗号化されたキー情報を前記第２情報により復号化する端末側復号化手段、及び、前記復号化したキー情報により前記第３情報を暗号化し、当該暗号化した第３情報を前記サーバ装置に送信する端末側暗号化手段として前記端末装置を機能させる。
【０００８】
好適に、前記情報生成手段は、所定の付加情報と前記固有情報とを含んだデータに一方向性関数を施した結果に基づいて前記第１情報を生成するとともに、前記所定の付加情報とは異なる付加情報と前記固有情報とを含んだデータに一方向性関数を施した結果に基づいて前記第２情報及び／又は前記第３情報を生成する。
または、前記情報生成手段は、前記端末装置の情報記憶手段から取得された固有情報の一部に一方向性関数を施した結果に基づいて前記第１情報を生成するとともに、前記取得された固有情報の他の一部に一方向性関数を施した結果に基づいて前記第２情報及び／又は前記第３情報を生成してよい。
または、前記情報生成手段は、前記固有情報に一方向性関数を施した結果に基づいて前記第１情報を生成するとともに、前記固有情報に前記第１情報の生成に用いた一方向性関数とは異なる一方向性関数を施した結果に基づいて前記第２情報及び／又は前記第３情報を生成してよい。
【０００９】
好適に、前記端末側プログラムは、更に、前記端末装置にインストールされたオペレーティングシステムの種別を判定する判定手段として前記端末装置を機能させる。
第１固有情報取得手段は、前記判定手段において判定された前記種別に応じた所定の命令を前記オペレーティングシステムに実行させることにより、前記端末装置を構成するハードウェアに係る固有情報、及び、前記端末装置にインストールされたソフトウェアに係る固有情報の何れか一方若しくは両方を前記端末装置の情報記憶手段から取得してよい。
【００１０】
好適に、上記サーバ装置は、前記端末装置との通信セッションを識別するためのセッション識別情報を生成し、当該生成したセッション識別情報を前記端末装置に通知するセッション情報生成部を有する。
前記暗号処理部は、前記セッション情報を前記キー情報とともに前記第２情報によって暗号化してよい。
前記端末側復号化手段は、前記暗号化処理部において前記キー情報とともに暗号化された前記セッション情報を復号化してよい。
前記端末側プログラムは、更に、通信セッションの開始時に前記サーバ装置から通知されたセッション情報と前記復号化したセッション情報とを照合し、両者が一致しない場合は前記サーバ装置への前記暗号化された第３情報の送信を禁止するセッション情報照合手段として前記端末装置を機能させてよい。
【００１１】
好適に、前記プログラム送信部は、前記端末側プログラムの正当性を認証するための認証情報を前記端末側プログラムとともに前記端末装置へ送信する。
前記第１固有情報取得手段は、前記端末装置のプログラム正当性確認手段において前記認証情報に基づいて前記端末側プログラムの正当性が確認されることを条件として、前記固有情報の取得を実行してよい。
【００１２】
好適に、前記端末側プログラムは、更に、前記オペレーティングシステムの種別に依らずに取得可能な固有情報を前記端末装置の前記情報記憶手段から取得する第２固有情報取得手段として前記端末装置を機能させる。
前記情報生成手段は、前記判定手段において前記端末装置にインストールされたオペレーティングシステムの種別を判定できない場合、又は、前記端末装置の前記プログラム正当性確認手段において前記端末側プログラムの正当性を確認できない場合に、前記第２固有情報取得手段で取得された前記固有情報に基づいて、前記第１情報を生成するとともに前記第２情報及び前記第３情報の少なくとも一方を生成し、当該生成した第１情報を前記サーバ装置に送信してよい。
【００１３】
好適に、前記記憶部は、前記第１情報の生成並びに当該第１情報に関連付けられた前記第２情報及び／又は前記第３情報の生成に用いられた前記固有情報が前記第１固有情報取得手段において取得された固有情報（以下、「第１固有情報」と記す。）であるか又は前記第２固有情報取得手段において取得された固有情報（以下、「第２固有情報」と記す。）であるかを示すフラグ情報を更に記憶する。
前記情報生成手段は、前記第１情報を前記サーバ装置へ送信する際、前記第１情報に係る前記フラグ情報を前記サーバ装置へ送信してよい。
前記情報取得部は、前記第１情報とこれに係る前記フラグ情報を前記端末装置から受信した場合、当該受信した第１情報と一致する第１情報を前記記憶部において検索してよく、当該検索した第１情報について前記記憶部に記憶される前記フラグ情報が当該受信したフラグ情報と一致するならば、当該検索した第１情報に関連付けられた前記第２情報及び前記第３情報を前記記憶部から取得してよい。
【００１４】
好適に、前記情報取得部は、前記端末装置から受信した第１情報を前記記憶部の記憶情報から検索できず、かつ、当該受信した第１情報に係る前記フラグ情報が前記第１固有情報に基づいて当該第１情報が生成されたことを示す場合、前記第２固有情報に基づいて生成された前記第１情報の送信を求める送信要求を前記端末装置に送信する。
前記端末装置において前記送信要求が受信された場合、前記情報生成手段は、前記第２固有情報に基づいて生成した前記第１情報とこれに係る前記フラグ情報を前記サーバ装置に送信してよい。
前記送信要求に応答した前記端末装置から前記サーバ装置へ前記第１情報が送信され、前記サーバ装置において当該第１情報に関連付けられた前記第２情報により前記キー情報が暗号化され、当該暗号化されたキー情報が前記サーバ装置から前記端末装置へ送信された場合、前記端末側復号化手段は、当該暗号化されたキー情報を、前記第２固有情報に基づいて生成された前記第２情報により復号化するか、若しくは、前記端末装置の情報入力手段に入力された前記第２情報により復号化してよい。また、この場合、前記端末側暗号化手段は、前記第２固有情報に基づいて生成された前記第３情報若しくは前記端末装置の情報入力手段に入力された第３情報を、前記復号化されたキー情報により暗号化して前記サーバ装置に送信するとともに、前記第１固有情報に基づいて生成された前記第２情報及び／又は第３情報を、前記復号化されたキー情報により暗号化して前記サーバ装置に送信してよい。
前記暗号処理部は、前記第１固有情報に基づいて生成されて前記キー情報により暗号化された前記第２情報及び／又は前記第３情報を、前記キー情報生成部において生成されたキー情報により復号化してよい。
前記照合部は、前記第２固有情報に基づいて生成されるか若しくは前記端末装置の情報入力手段に入力されて前記キー情報により暗号化された前記第３情報と、前記情報取得部において取得された第３情報とを照合してよい。
前記情報取得部は、前記第２固有情報に基づいて生成されるか若しくは前記端末装置の情報入力手段に入力された第３情報と前記情報取得部において取得された第３情報とが一致すると前記照合部において判定された場合、前記第１固有情報に基づいて生成されて前記キー情報により復号化された第２情報及び／又は第３情報と、前記第１固有情報に基づいて生成され、前記記憶部の記憶情報から検索できなかった前記第１情報と、前記第２固有情報に基づいて生成され、前記送信要求に応答した前記端末装置から前記サーバ装置へ送信された前記第１情報とを関連付けて前記記憶部に格納し、各第１情報に係る前記フラグ情報を前記記憶部に格納してよい。
【００１５】
前記第１固有情報に基づいて生成された第１情報が前記記憶部の記憶情報から検索できないため、前記第２固有情報に基づいて生成された前記第１情報に関連付けられた前記第２情報及び前記第３情報が前記記憶部から取得され、当該取得された第２情報により暗号化された前記キー情報と前記第２固有情報に基づいて生成された前記第１情報に係る前記フラグ情報とが前記サーバ装置から前記端末装置へ送信された場合、前記端末側復号化手段は、前記暗号化されたキー情報を、前記第２固有情報に基づいて生成された前記第２情報により復号化するか、若しくは、前記端末装置の情報入力手段に入力された前記第２情報により復号化してよい。また、この場合、前記端末側暗号化手段は、前記第２固有情報に基づいて生成された前記第３情報若しくは前記端末装置の情報入力手段に入力された第３情報を、前記復号化されたキー情報により暗号化して前記サーバ装置に送信するとともに、前記第１固有情報に基づいて生成された前記第２情報及び／又は第３情報を前記復号化されたキー情報により暗号化して前記サーバ装置に送信してよい。
前記暗号処理部は、前記第１固有情報に基づいて生成されて前記キー情報により暗号化された前記第２情報及び／又は前記第３情報を、前記キー情報生成部において生成されたキー情報により復号化してよい。
前記照合部は、前記第２固有情報に基づいて生成されるか若しくは前記端末装置の情報入力手段に入力されて前記キー情報により暗号化された前記第３情報と、前記情報取得部において取得された第３情報とを照合してよい。
前記情報取得部は、前記第２固有情報に基づいて生成されるか若しくは前記端末装置の情報入力手段に入力された第３情報と前記情報取得部において取得された第３情報とが一致すると前記照合部において判定された場合、前記第１固有情報に基づいて生成されて前記キー情報により復号化された第２情報及び／又は第３情報と、前記第１固有情報に基づいて生成され、前記記憶部の記憶情報から検索できなかった前記第１情報と、前記第２固有情報に基づいて生成された前記第１情報とを関連付けて前記記憶部に格納してよく、また、各第１情報に係る前記フラグ情報を前記記憶部に格納してよい。
【００１６】
前記第２情報で暗号化された前記キー情報と、前記第２固有情報に基づいて当該第１情報が生成されたことを示すフラグ情報とが前記端末装置において受信された場合、前記端末側復号化手段は、前記暗号化されたキー情報を、前記第２固有情報に基づいて生成された前記第２情報により復号化するか、若しくは、前記端末装置の情報入力手段に入力された前記第２情報により復号化してよい。また、この場合、前記端末側暗号化手段は、前記第２固有情報に基づいて生成された前記第３情報若しくは前記端末装置の情報入力手段に入力された第３情報を、前記復号化されたキー情報により暗号化して前記サーバ装置に送信するとともに、前記第１固有情報に基づいて生成された前記第２情報及び／又は第３情報を前記復号化されたキー情報により暗号化して前記サーバ装置に送信してよい。
前記暗号処理部は、前記第１固有情報に基づいて生成されて前記キー情報により暗号化された前記第２情報及び／又は前記第３情報を、前記キー情報生成部において生成されたキー情報により復号化してよい。
前記照合部は、前記第２固有情報に基づいて生成されるか若しくは前記端末装置の情報入力手段に入力されて前記キー情報により暗号化された前記第３情報と、前記情報取得部において取得された第３情報とを照合してよい。
前記情報取得部は、前記第２固有情報に基づいて生成されるか若しくは前記端末装置の情報入力手段に入力された第３情報と前記情報取得部において取得された第３情報とが一致すると前記照合部において判定された場合、前記第１固有情報に基づいて生成されて前記キー情報により復号化された第２情報及び／又は第３情報と、前記第１固有情報に基づいて生成された前記第１情報と、前記第２固有情報に基づいて生成された前記第１情報とを関連付けて前記記憶部に格納し、各第１情報に係る前記フラグ情報を前記記憶部に格納してよい。
【００１７】
好適に、前記暗号処理部は、前記暗号化したキー情報を前記端末装置へ送信した時刻に対応する時刻情報を、前記暗号化したキー情報を暗号化する前の元のキー情報に関連付けて前記記憶部に格納する。この場合、上記サーバ装置は、前記ログイン要求元の端末装置へ前記暗号化されたキー情報が送信された後、当該暗号化されたキー情報に対応する前記元のキー情報に関連付けて前記記憶部に格納される前記時刻情報を、当該端末装置から前記暗号化された第３情報を受信するまで監視し、当該監視対象の時刻情報が示す時刻からの経過時間が所定の時間を超えた場合、当該監視対象の時刻情報に関連付けられた前記元のキー情報を前記記憶部から削除する若しくは無効化する情報無効化部を有してよい。
【００１８】
好適に、前記暗号処理部は、前記ログイン要求元の端末装置から受信した第３情報を、当該端末装置へ暗号化して送信したキー情報に対応する元の前記キー情報により復号化する。この場合、前記照合部は、前記暗号処理部において復号化された第３情報と前記情報取得部において取得された第３情報とが一致しているか否か判定してよい。
【００１９】
好適に、前記暗号処理部は、前記情報取得部において取得された第３情報を、前記ログイン要求元の端末装置へ暗号化して送信したキー情報に対応する元の前記キー情報によって暗号化する。この場合、前記照合部は、前記端末装置から受信した暗号化された第３情報と前記暗号処理部により暗号化された第３情報とが一致しているか否か判定してよい。
【００２０】
好適に、前記キー情報生成部は、前記暗号処理部により暗号化される前の元のキー情報を前記記憶部に格納する。この場合、上記サーバ装置は、前記端末装置において暗号化された第３情報が前記暗号処理部において前記元のキー情報により復号化された後、当該元のキー情報を前記記憶部から削除する若しくは無効化する情報無効化部を有してよい。
【００２１】
好適に、前記キー情報生成部は、前記暗号処理部により暗号化される前の元のキー情報を前記記憶部に格納する。この場合、上記サーバ装置は、前記暗号処理部において前記第３情報が前記元のキー情報により暗号化された後、当該元のキー情報を前記記憶部から削除する若しくは無効化する情報無効化部を有してよい。
【００２２】
好適に、前記暗号処理部は、前記照合部の照合結果に基づいて前記端末装置のログイン要求が許可された場合、当該端末装置へ送信する情報の少なくとも一部を前記キー情報により暗号化する処理、及び／又は、当該端末装置から受信する情報の少なくとも一部を前記キー情報により復号化する処理を行う。
この場合、前記キー情報生成部は、前記暗号処理部により暗号化される前の元のキー情報を前記記憶部に格納してよい。上記サーバ装置は、前記端末装置との通信が終了した場合、当該終了した通信において前記暗号処理部が使用した前記元のキー情報を前記記憶部から削除する若しくは無効化する情報無効化部を有してよい。
【００２３】
好適に、前記第１情報が、前記端末装置の利用者を識別するために前記端末装置の情報入力手段から入力される利用者識別情報と前記固有情報とを含み、前記第２情報及び前記第３情報の少なくとも一方が、利用者本人を認証するために前記端末装置の情報入力手段から入力される本人認証情報を含む。
【００２４】
好適に、前記情報取得部は、前記端末装置のログオンが許可された場合、前記第１情報に所定の変換を施して生成した新たな第１情報を元の第１情報に関連付けて前記記憶部に格納するとともに、前記新たな第１情報を前記端末装置へ送信する。
前記情報生成手段は、前記端末装置へのログオンが許可された場合に前記サーバ装置から送信された前記新たな第１情報を前記記憶部に格納し、次回の前記サーバ装置へのログイン処理においては、前記情報記憶手段に格納した前記新たな第１情報を前記サーバ装置に送信してよい。、
前記情報取得部は、前記端末装置から前記新たな第１情報を受信した場合、当該受信した新たな第１情報に関連づけられた前記第２情報及び前記第３情報を前記記憶部から取得してよい。
【００２５】
本発明の第２の観点に係るコンピュータシステムは、端末装置と、前記端末装置のログイン要求を処理するサーバ装置とを具備する。
前記端末装置は、当該端末装置の固有の情報を記憶する端末側記憶部と、前記サーバ装置に対するログイン要求を送信するログイン要求送信部とを有する。
前記サーバ装置は、前記端末装置の前記端末側記憶部に記憶される前記固有情報に基づいて生成される第１情報と、少なくとも一方が前記固有情報に基づいて生成される第２情報及び第３情報とを関連付けて記憶するサーバ側記憶部と、前記端末装置から前記ログイン要求を受信した場合、当該端末装置において実行される端末側プログラムを当該端末装置へ送信するプログラム送信部と、前記端末装置から前記第１情報を受信した場合、当該受信した第１情報に関連づけられた前記第２情報及び前記第３情報を前記記憶部から取得する情報取得部と、前記端末装置からのログイン要求に応じて前記情報取得部が前記第２情報を取得する度に変化するキー情報を生成するキー情報生成部と、前記キー情報生成部において生成されたキー情報を前記情報取得部において取得された第２情報により暗号化し、当該暗号化したキー情報を前記ログイン要求元の端末装置へ送信する暗号処理部と、前記キー情報により暗号化された前記第３情報を前記ログイン要求元の端末装置から受信した場合、当該受信した第３情報と前記情報取得部において取得された第３情報とを照合する照合部とを有する。
前記端末側プログラムは、前記端末側記憶部から前記固有情報を取得する固有情報取得手段、前記取得した前記固有情報に基づいて、前記第１情報を生成するとともに前記第２情報及び前記第３情報の少なくとも一方を生成し、当該生成した第１情報を前記サーバ装置に送信する情報生成手段、前記サーバ装置から受信した前記暗号化されたキー情報を前記第２情報により復号化する端末側復号化手段、及び、前記復号化したキー情報により前記第３情報を暗号化し、当該暗号化した第３情報を前記サーバ装置に送信する端末側暗号化手段として前記端末装置を機能させる。
【００２６】
本発明の第３の観点は、端末装置がサーバ装置にログインする方法に関するものであり、このログイン方法は、前記端末装置の情報記憶手段に記憶される前記端末装置の固有の情報に基づいて生成される第１情報と、少なくとも一方が前記固有情報に基づいて生成される第２情報及び第３情報とが、前記サーバ装置の記憶手段に関連付けて記憶された状態で、前記端末装置が前記サーバ装置にログイン要求を送信する第１工程と、前記サーバ装置が前記端末装置から前記ログイン要求を受信すると、前記サーバ装置のプログラム送信手段が、当該端末装置において実行される端末側プログラムを当該端末装置へ送信する第２工程と、前記端末側プログラムに基づく前記端末装置の固有情報取得手段が、前記端末装置の前記情報記憶手段から前記固有情報を取得する第３工程と、前記端末側プログラムに基づく前記端末装置の情報生成手段が、前記取得した前記固有情報に基づいて、前記第１情報を生成するとともに前記第２情報及び前記第３情報の少なくとも一方を生成し、当該生成した第１情報を前記サーバ装置に送信する第４工程と、前記サーバ装置の情報取得手段が、前記端末装置から受信した前記第１情報に関連づけられた前記第２情報及び前記第３情報を、前記サーバ装置の前記記憶手段から取得する第５工程と、前記サーバ装置のキー情報生成手段が、前記端末装置からのログイン要求に応じて前記情報取得手段が前記第２情報を取得する度に変化するキー情報を生成する第６工程と、前記サーバ装置の暗号処理手段が、前記キー情報生成手段において生成されたキー情報を前記情報取得手段において取得された第２情報により暗号化し、当該暗号化したキー情報を前記ログイン要求元の前記端末装置へ送信する第７工程と、前記端末側プログラムに基づく前記端末装置の端末側復号化手段が、前記サーバ装置から受信した前記暗号化されたキー情報を前記第２情報により復号化する第８工程と、前記端末側プログラムに基づく前記端末装置の端末側暗号化手段が、前記復号化されたキー情報により前記第３情報を暗号化し、当該暗号化した第３情報を前記サーバ装置に送信する第９工程と、前記サーバ装置の照合手段が、前記ログイン要求元の端末装置から受信した前記暗号化された第３情報と前記情報取得手段によって取得された第３情報とを照合する第１０工程とを有する。
【発明の効果】
【００２７】
本発明によれば、負荷の軽い簡易な暗号方式で認証情報の漏洩を効果的に防止できる。
【図面の簡単な説明】
【００２８】
【図１】本発明の実施形態に係るコンピュータシステムの構成の一例を示す図である。
【図２】サーバ装置と端末装置のハードウェア構成の一例を示す図である。
【図３】サーバ装置の構成の一例を示す図である。
【図４】セッション管理テーブルの一例を示す。
【図５】第１の実施形態に係る端末装置の構成の一例を示す図である。
【図６】認証情報生成部が固有情報に基づいて２つの認証情報を生成する方法の例を示す図である。
【図７】端末認証情報と利用者認証情報を事前にサーバ装置の利用者データベースへ登録する方法の一例を説明するためのフロー図である。
【図８】第１の実施形態に係るログイン処理の一例を説明するフロー図である。
【図９】第１の実施形態の変形例に係るログイン処理の一例を説明するフロー図である。
【図１０】第２の実施形態に係る端末装置の構成の一例を示す図である。
【図１１】第２の実施形態に係るログイン処理の一例を説明するフロー図である。
【図１２】第３の実施形態に係る端末装置の構成の一例を示す図である。
【図１３】第３の実施形態に係るログイン処理の一例を説明するフロー図である。
【図１４】第４の実施形態に係るログイン処理の一例を説明する第１のフロー図である。
【図１５】第４の実施形態に係るログイン処理の一例を説明する第２のフロー図である。
【図１６】第５の実施形態に係るログイン処理の一例を説明するフロー図である。
【図１７】第５の実施形態に係るログイン処理において第１固有情報に基づき生成された認証情報が未だ利用者データベースに登録されていない場合の例を説明する第１のフロー図である。
【図１８】第５の実施形態に係るログイン処理において第１固有情報に基づき生成された認証情報が未だ利用者データベースに登録されていない場合の例を説明する第２のフロー図である。
【図１９】第６の実施形態に係るログイン処理の一例を説明するフロー図である。
【図２０】第６の実施形態の変形例に係るログイン処理の一例を説明するフロー図である。
【図２１】第７の実施形態に係るログイン処理の一例を説明するフロー図である。
【図２２】第７の実施形態の変形例に係るログイン処理の一例を説明するフロー図である。
【図２３】第８の実施形態に係るログイン処理の一例を説明するフロー図である。
【図２４】第８の実施形態の変形例に係るログイン処理の一例を説明するフロー図である。
【図２５】第９の実施形態に係るログイン処理の一例を説明するフロー図である。
【発明を実施するための形態】
【００２９】
＜第１の実施形態＞
図１は、本発明の実施形態に係るコンピュータシステムの構成の一例を示す図である。
図１に示すコンピュータシステムは、インターネット等の通信ネットワーク９を介して接続されたサーバ装置２，４と複数の端末装置３を有する。
【００３０】
サーバ装置２は、ログインを許可した端末装置３に種々のサービスを提供するコンピュータであり、例えばＷｅｂページを表示するコンテンツ（テキスト、映像、音声等）のダウンロードや、Ｗｅｂメール等のアプリケーションの利用、会員制サイトへのアクセス、ショッピング決済などのサービスを提供する。
【００３１】
端末装置３は、サーバ装置２にアクセスしてＷｅｂコンテンツのダウンロード等のサービスの提供を受けるコンピュータであり、例えばパーソナルコンピュータや携帯情報端末などである。
【００３２】
サーバ装置４は、サーバ装置２へログインするための認証情報を端末装置３から取得するコンピュータであり、利用者認証情報（利用者ＩＤ，パスワード）や端末装置３の認証用の情報を端末装置３から取得して、サーバ装置２の利用者データベース２１２に登録する処理を行う。
【００３３】
本実施形態において端末装置３がサーバ装置２へログインする方法は、大まかに次の手順で実施される。
【００３４】
まず事前に、端末装置３の固有情報に基づいて、端末認証用の２つの情報（認証情報Ａ，Ｂ）が生成される。生成された端末認証情報は、利用者認証情報（利用者ＩＤ，パスワード）と関連付けられて、サーバ装置２の利用者データベース２１２（図３）に登録される。これにより、端末認証情報と利用者認証情報は、端末装置３とサーバ装置２の双方において既知の情報となる。
そしてサーバ装置２にログインを要求する場合、端末装置３は、利用者ＩＤと認証情報Ａ（本発明における第１情報）をサーバ装置２に送信する。
サーバ装置２は、端末装置３から利用者ＩＤと認証情報Ａを取得すると、これらの情報をキーとして、認証情報Ｂ（本発明における第２情報）とパスワード（本発明における第３情報）を利用者データベース２１２から検索する。検索により該当する認証情報Ｂとパスワードが見つかると、サーバ装置２は、ランダムなキー情報を生成して認証情報Ｂにより暗号化し、暗号化したキー情報を端末装置３へ送信する。
端末装置３は、この暗号化されたキー情報を自らの認証情報Ｂを用いて復号化する。そして端末装置３は、復号化したキー情報によりパスワードを暗号化し、サーバ装置２へ送信する。
サーバ装置２は、端末装置３から受信した暗号化されたパスワードを元のキー情報により復号化し、利用者データベース２１２から取得したパスワードと照合する。照合の結果、両者が一致している場合、サーバ装置２は端末装置３のログインを許可する。
上記のログイン方法では、認証情報Ｂやパスワードが平文のまま通信ネットワーク９を流れることがないため、秘密状態が安全に保たれる。
【００３５】
次に、サーバ装置２と端末装置３の詳細な構成について、図２〜図６を参照して説明する。
【００３６】
［サーバ装置２］
図２は、サーバ装置２と端末装置３のハードウェア構成の一例を示す図である。
図２に示すサーバ装置２は、処理部２１と、通信部２２と、表示部２３と、入力部２４と、記憶部２５を有する。
【００３７】
処理部２１は、サーバ装置２の全体的な動作を制御する回路であり、記憶部２４に格納されるプログラムに従って処理を実行する。例えば処理部２１は、通信部２２を制御して端末装置３と通信を行い、端末装置３からのログイン要求に応じた認証処理や、端末装置３へサービスを提供する処理（コンテンツのダウンロード等）を実行する。処理部２１は、具体的には例えば、プログラムに基づいて処理を行うプロセッサ（ＣＰＵ）、周辺ハードウェア（２２〜２５）とデータをやり取りするためのバス、バスを制御する回路（バスブリッジ回路）、キャッシュメモリなどを含んでいる。処理部２１は、記憶部２５のメモリ２７に処理対象および処理途中のデータを適宜記憶させながら、プログラムの命令を順次に実行する。
【００３８】
通信部２２は、通信ネットワーク９を介して端末装置３と通信を行うための回路であり、例えばイーサネット（登録商標）などの所定の規格に適合した通信を行うための信号処理や制御、有線や無線で伝送される信号の変調・復調、データの符号化・復号化、パケットの処理、送受信のタイミングの調整などを行う。
【００３９】
表示部２３は、処理部２１から入力される表示信号に応じた画面を表示する。例えば表示部２３は、液晶ディスプレイ、ＥＬパネルディスプレイ、ＣＲＴなどの表示デバイスと、表示デバイスに供給する画像信号の処理を行うグラフィック・コントローラを含む。
【００４０】
入力部２４は、使用者の指示や各種の情報を電気信号等に変換して処理部２１に入力するための装置であり、例えばキーボード、マウス、操作ボタン、キーパッド、タッチパネルセンサーなどを含む。
【００４１】
記憶部２５は、処理部２１における処理の実行に用いられるプログラムやデータを記憶する装置であり、例えば電源がオフのときもデータを保持する比較容量が大きなハードディスクやフラッシュＲＯＭ等の記憶装置２６と、ＳＲＡＭ等の比較的高速なメモリ２７を含む。記憶装置２６は、例えばオペレーティングシステム，ＢＩＯＳ，アプリケーション等のプログラムや、Ｗｅｂコンテンツ２１１、利用者データベース２１２などを記憶する。メモリ２７は、記憶装置２６から読み出したプログラムの実行コードや、処理過程で一時的に使用されるデータを記憶する。
【００４２】
図３は、サーバ装置２の処理部２１においてハードウエア要素とプログラムが協働することにより実現される構成の一例を示す図である。
【００４３】
図３の例において、処理部２１は、Ｗｅｂサーバ部２０２と、情報取得部２０３と、キー情報生成部２０４と、暗号処理部２０５と、照合部２０８と、情報無効化部２０９とを有する。
Ｗｅｂサーバ部２０２は、本発明におけるプログラム送信部並びにセッション情報生成部の一例である。
情報取得部２０３は、本発明における情報取得部の一例である。
キー情報生成部２０４は、本発明におけるキー情報生成部の一例である。
暗号処理部２０５は、本発明における暗号処理部の一例である。
照合部２０８は、本発明における照合部の一例である。
情報無効化部２０９は、本発明における情報無効化部の一例である。
【００４４】
Ｗｅｂサーバ部２０２は、通信部２２においてＷｅｂページの送信要求を受信した場合、該当するＷｅｂページのＨＴＭＬデータを記憶部２５のＷｅｂコンテンツ２１１から読み出して（若しくは動的に生成して）、要求元の端末装置３に送信する。またＷｅｂサーバ部２０２は、ＨＴＭＬデータに記述される関連データ（画像データ，ブラウザ用プログラムなど）を記憶部２５のＷｅｂコンテンツ２１１から読み出して、要求元の端末装置３に送信する。
【００４５】
更にＷｅｂサーバ部２０２は、通信部２２においてＷｅｂページの送信要求を受信した場合、要求元の端末装置３との通信セッションを管理するためのセッションＩＤを生成し、このセッションＩＤを含むクッキー情報を要求元の端末装置３へ送信する。セッションＩＤは、サーバ装置２にアクセスする各端末装置３との通信セッションを識別するための情報であり、例えばランダム（準ランダム）なデータによって構成される。端末装置３は、同じ通信セッションにおいて再びＷｅｂサーバ部２０２にＷｅｂページの送信を要求する場合、このセッションＩＤが含まれたクッキー情報をサーバ装置２へ送信する。
【００４６】
例えば、Ｗｅｂサーバ部２０２は、通信部２２においてログイン用のＷｅｂページの送信要求を端末装置３から受信した場合、利用者ＩＤやパスワードの入力を促すログイン用のＨＴＭＬデータを要求元の端末装置３に送信する。またこのとき、Ｗｅｂサーバ部２０２は、ログイン用のＨＴＭＬデータに記述される所定の署名付きプログラム（端末側プログラム）を要求元の端末装置３に送信する。この署名付きプログラムは、端末装置３において端末認証情報（認証情報Ａ，Ｂ）の生成・送信、キー情報の復号化、パスワードの暗号化などを実行させる。
【００４７】
情報取得部２０３は、ログイン要求元の端末装置３から認証情報Ａと利用者ＩＤ（第１情報）をセッションＩＤとともに受信した場合、この受信した認証情報Ａ及び利用者ＩＤに関連づけられた認証情報Ｂ（第２情報）及びパスワード（第３情報）を記憶部２６の利用者データベース２１２から検索して取得する。
【００４８】
情報取得部２０３は、認証情報Ｂ（第２情報）とパスワード（第３情報）を利用者データベース２１２から取得した場合、取得した認証情報Ｂ及びパスワードと、端末装置３から受信した認証情報Ａ及び利用者ＩＤと、この端末装置３の通信セッションについて発行されたセッションＩＤとを関連づけて、記憶部２５のセッション管理テーブル２１３に登録する。
【００４９】
図４は、セッション管理テーブル２１３の一例を示す。セッション管理テーブル２１３の各レコードには、例えばセッションＩＤと、セッション情報と、端末認証情報（認証情報Ａ，Ｂ）と、利用者認証情報（利用者ＩＤ，パスワード）と、後述のキー情報生成部２０４において生成されるキー情報が含まれる。セッション情報には、例えば通信相手に関する情報（ＩＰアドレスなど）や通信セッションの状態に関する情報（通信中か否か、ログイン中か否か，ログインの許可／不許可などの情報）が含まれる。
【００５０】
他方、情報取得部２０３は、認証情報Ｂ（第２情報）とパスワード（第３情報）を利用者データベース２１２から取得できなかった場合、ログイン要求の拒否を通知するＷｅｂページのＨＴＭＬデータ等を要求元の端末装置３に送信する。
【００５１】
キー情報生成部２０４は、端末装置３からのログイン要求に応じて情報取得部２０３が利用者データベース２１２から認証情報Ｂ（第２情報）を取得する度に変化するキー情報を生成し、生成したキー情報を記憶部２５のセッション管理テーブル２１３に格納する。キー情報生成部２０４は、例えばランダム（準ランダム）に変化するキー情報を生成する。
【００５２】
暗号処理部２０５は、例えばＡＥＳ（advanced
encryption standard）などの暗号方式によって端末装置３の認証に係る情報の暗号化や復号化を行うブロック（暗号化部２０６，復号化部２０７）を有する。
具体的には、暗号処理部２０５は、キー情報生成部２０４において生成されたキー情報を情報取得部２０３において取得された認証情報Ｂ（第２情報）により暗号化し、この暗号化したキー情報をログイン要求元の端末装置３へ送信する。
【００５３】
また、先に概要を説明したように、暗号処理部２０５で暗号化されたキー情報が端末装置３において受信された場合、端末装置３では、この暗号化されたキー情報が端末装置３の認証情報Ｂ（第２情報）により復号化される。そして、復号化されたキー情報に基づいて、端末装置３の利用者のパスワード（第３情報）が暗号化され、暗号化されたパスワードが端末装置３からサーバ装置２へ送信される。
暗号処理部２０５は、この暗号化されたパスワードを端末装置３から受信した場合、端末装置３との通信セッションに係るセッションＩＤに基づいて、この端末装置３に送信した暗号化したキー情報に対応する元のキー情報を、上述のセッション管理テーブル２１３から取得する。そして暗号化処理部２０５は、セッション管理テーブル２１３から取得したキー情報に基づいて、端末装置３から受信した暗号化されたパスワードを復号化する。
【００５４】
照合部２０８は、暗号化されたパスワードを端末装置３から受信した場合、この端末装置３との通信セッションに係るセッションＩＤに基づいて、端末装置３の利用者に係るパスワードを上述のセッション管理テーブル２１３から取得し、取得したパスワードと暗号化されたパスワードとを照合する。具体的には、照合部２０８は、暗号処理部２０５において復号化されたパスワードと、セッション管理テーブル２１３から取得したパスワードとが一致しているか否か判定する。照合の結果、端末装置３から受信したパスワードがセッション管理テーブル２１３のパスワードと一致している場合、照合部２０８は、ログインの許可を示すセッション情報をセッション管理テーブル２１３に登録する。
【００５５】
情報無効化部２０９は、端末装置３において暗号化されたパスワード（第３情報）が暗号処理部２０５において元のキー情報により復号化された後、この元のキー情報を記憶部２５のセッション管理テーブル２１３から削除する。
あるいは、情報無効化部２０９は、キー情報をセッション管理テーブル２１３から削除するかわりに、キー情報が無効であることを示すフラグ情報をセッション管理テーブル２１３に登録することで、以降そのキー情報を使用できないようにしてもよい（無効化してもよい）。
【００５６】
［端末装置３］
次に、端末装置３の詳細な構成について説明する。
端末装置３は、例えば図２に示すように、処理部３１と、通信部３２と、表示部３３と、入力部３４と、記憶部３５を有する。
【００５７】
処理部３１は、端末装置３の全体的な動作を制御する回路であり、記憶部３５に格納されるプログラムやサーバ装置４から送信されるプログラムに従って処理を実行する。例えば処理部３１は、入力部３４から入力される利用者の指示に応じて、通信部３２によりサーバ装置２と通信を行い、サーバ装置２から受信したＷｅｂページの画面を表示部３３に表示し、サーバ装置２へログインするための処理や、サーバ装置２が提供するサービスに応じた処理（Ｗｅｂコンテンツの再生等）を実行する。処理部３１は、例えば処理部２１と同様にプロセッサやバス・コントローラ、キャッシュメモリ等を含んでおり、記憶部３５のメモリ３７に処理用のデータを適宜記憶させながらプログラムの命令を順次実行する。
【００５８】
記憶部３５は、処理部３１における処理の実行に用いられるプログラムやデータを記憶する装置であり、例えば電源がオフのときもデータを保持する比較的容量が大きなハードディスクやフラッシュＲＯＭ等の記憶装置３６と、ＳＲＡＭ等の比較的高速なメモリ３７を含む。記憶装置３６は、例えばオペレーティングシステム，ＢＩＯＳ，アプリケーション等のプログラムや、後述する端末装置３の固有情報３２１（ＣＰＵのＩＤ，ＢＩＯＳのシリアル番号等の情報，オペレーティングシステムのライセンス情報など）、クッキー情報３１２などを記憶する。メモリ３７は、記憶装置３６から読み出したプログラムの実行コードや、処理過程で一時的に使用されるデータを記憶する。
【００５９】
端末装置３の通信部３２、表示部３３、入力部３４は、それぞれサーバ装置２の通信部２２、表示部２３、入力部２４と同様の構成を有する。
【００６０】
図５は、端末装置３の処理部３１においてハードウエア要素とプログラムが協働することにより実現される構成の一例を示す図である。
【００６１】
図５の例において、処理部３１は、メーラー部３０１と、Ｗｅｂブラウザ部３０２と、ＯＳ判定部３０４と、固有情報取得部３０８と、認証情報生成部３０３と、暗号処理部３０５とを有する。暗号処理部３０５は、暗号化部３０６と復号化部３０７を含む。
ＯＳ判定部３０４は、本発明における判定手段の一例である。
固有情報取得部３０８は、本発明における第１固有情報取得手段の一例である。
認証情報生成部３０３は、本発明における情報生成手段の一例である。
復号化部３０７は、本発明における端末側復号化手段の一例である。
暗号化部３０６は、本発明における端末側暗号化手段の一例である。
記憶部３５は、本発明における端末側記憶部の一例である。
Ｗｅｂブラウザ部３０２は、本発明におけるログイン要求送信部並びにプログラム正当性確認手段の一例である。
【００６２】
メーラー部３０１は、電子メールの送受信を行うアプリケーションプログラムにより実現される機能ブロックであり、本実施形態においてはサーバ装置４からの通知メールを受信する。
【００６３】
Ｗｅｂブラウザ部３０２は、入力部３５において入力される利用者の指示に応じて、ＨＴＴＰ等のプロトコルによりＷｅｂサーバと通信を行い、ＷｅｂサーバからＨＴＭＬデータ等のＷｅｂコンテンツを取得する。Ｗｅｂブラウザ部３０２は、Ｗｅｂサーバから取得したＷｅｂコンテンツに応じて、表示部３５の画面にＷｅｂページを表示する。
【００６４】
またＷｅｂブラウザ部３０２は、ＷｅｂサーバからＨＴＭＬデータとともに署名付きプログラムを受信した場合、この署名付きプログラムに添付される認証情報（認証局が発行するデジタル証明書）に基づいて、プログラムの正当性を確認する処理を行う。Ｗｅｂブラウザ部３０２は、プログラム提供元の正当性が確認されない限り、署名付きプログラムによる特定の処理（後述する固有情報取得部３０８による固有情報の取得）を禁止する。
【００６５】
更にＷｅｂブラウザ部３０２は、ＷｅｂサーバからセッションＩＤ等を含んだクッキー情報を受信した場合、これを記憶部３１２に格納する。そして、Ｗｅｂブラウザ部３０２は、クッキー情報を有するＷｅｂサーバに再びアクセスする場合、そのクッキー情報に含まれるセッションＩＤ等の情報をＷｅｂサーバへ送信する。
【００６６】
また、Ｗｅｂブラウザ部３０２は、後述する認証情報生成部３０３において２つの認証情報Ａ，Ｂが生成された場合、一方の認証情報Ａをサーバ装置２へ送信する。サーバ装置２のログイン用Ｗｅｂページにおいて入力部３５から利用者ＩＤやパスワードが入力された場合、Ｗｅｂブラウザ部３０２は、入力された利用者ＩＤをサーバ装置２へ送信する。
【００６７】
ＯＳ判定部３０４は、サーバ装置２から送られてくる上述の署名付きプログラムを端末装置３の処理部３１が実行することによって機能するブロックである。
ＯＳ判定部３０４は、端末装置３にインストールされたＯＳ（オペレーティングシステム）の種別を判定する。例えばＯＳ判定部３０４は、ＯＳの種別ごとに決まっている所定のコマンドを実行して、それに対するＯＳの応答（出力情報）を解析することにより、ＯＳの種類やそのバージョンに関する情報を取得する。
【００６８】
固有情報取得部３０８は、サーバ装置２から送られてくる上述の署名付きプログラムを端末装置３の処理部３１が実行することによって機能するブロックである。
固有情報取得部３０８は、端末装置３の情報記憶手段に記憶された固有情報（他の端末装置からの識別を可能とする情報）を取得する。具体的には、固有情報取得部３０８は、ＯＳ判定部３０４において判定されたＯＳの種別に応じた所定の命令をＯＳに実行させることにより、その実行結果としてＯＳから返ってくる情報から端末装置３の固有情報を取得する。固有情報には、例えば、端末装置３を構成するハードウェアに係る固有情報（ＣＰＵ、マザーボード、周辺機器に付されたシリアル番号などの固有情報）や、端末装置３にインストールされたソフトウェアに係る情報（ＯＳ、ＢＩＯＳ、アプリケーションプログラムに付されたライセンス情報などの固有情報）が含まれる。
【００６９】
なお、固有情報取得部３０８は、Ｗｅｂブラウザ部３０２において署名付きプログラムの正当性を確認できない場合や、利用者が署名付きプログラムを不許可とした場合、固有情報の取得を行わない。
【００７０】
認証情報生成部３０３は、サーバ装置２から送られてくる上述の署名付きプログラムを端末装置３の処理部３１が実行することによって機能するブロックである。
認証情報生成部３０３は、固有情報取得部３０８によって取得された端末装置３の固有情報に基づいて、端末認証用の２つの認証情報Ａ，Ｂを生成する。
【００７１】
図６は、認証情報生成部３０３が固有情報に基づいて２つの認証情報Ａ，Ｂを生成する方法の一例を示す図であり、３つの例を示す。
図６（Ａ）に示す例において、認証情報生成部３０３は、所定の付加情報Ｅ１と固有情報とを含んだデータに一方向性関数を施した結果に基づいて認証情報Ａを生成し、付加情報Ｅ２と固有情報とを含んだデータに一方向性関数を施した結果に基づいて認証情報Ｂを生成する。付加情報Ｅ１，Ｅ２は、互いに異なる所定の情報である。
一方向性関数としては、例えば、ＭＤ５（message digest algorithm 5）などのハッシュ関数が用いられる。
一方向性関数を用いることによって、固有情報から一意に認証情報Ａ，Ｂを定めることができるので、認証情報Ａ，Ｂのそれぞれが端末装置３についての固有の情報になる。また、認証情報Ａ，Ｂから元の固有情報を導出することが非常に困難になるため、プライバシーに関わる固有情報の漏えいを防止できる。更に、認証情報Ａ，Ｂの一方から他方を導出することが非常に困難になるため、認証情報Ａを暗号化せずにネットワーク上で伝送させた場合でも、認証情報Ｂの秘密性を維持することができる。
【００７２】
図６（Ａ）に示す例において一方向性関数を施されるデータは、例えば、付加情報と固有情報を単純に結合したものでもよいし、固有情報の符号列の所定位置（１箇所または複数箇所）に付加情報を挿入したものでもよい。
【００７３】
他方、図６（Ｂ）に示す例において、認証情報生成部３０３は、端末装置３の記憶部３５から取得された固有情報の一部に一方向性関数を施した結果に基づいて認証情報Ａを生成し、この固有情報の他の一部に一方向性関数を施した結果に基づいて認証情報Ｂを生成する。すなわち、認証情報生成部３０３は、固有情報から２つの異なる部分を取り出して、その各々に一方向性関数を施した結果に基づいて、認証情報Ａ，Ｂを生成する。
【００７４】
また、図６（Ｃ）に示す例において、認証情報生成部３０３は、固有情報に一方向性関数Ｆ１を施した結果に基づいて認証情報Ａを生成し、固有情報に一方向性関数Ｆ２を施した結果に基づいて認証情報Ｂを生成する。一方向性関数Ｆ１と一方向性関数Ｆ２は、互いに異なる関数である。
なお、元の固有情報に別の情報を付加する操作や、元の固有情報から一部の情報を選択する操作を一方向性関数の処理の一部と見なした場合、上述した図６（Ａ），（Ｂ）の方法は、図６（Ｃ）の方法の特殊なケースと考えることができる。これらの操作の他、例えばデータの並べ替え操作などを一方向性関数の処理の一部に組み入れてもよい。
【００７５】
認証情報生成部３０３は、生成した認証情報Ａ，Ｂを端末認証情報３１１として記憶部３５に一時的に格納する。
また、認証情報生成部３０３は、端末装置３がサーバ装置２に対してログインを行う場合に、生成した認証情報Ａと入力部３５で入力された利用者ＩＤとをサーバ装置３へ送信する。認証情報Ａと利用者ＩＤを合わせた情報は、本発明における第１情報に対応する。
【００７６】
暗号処理部３０５は、サーバ装置２から送られてくる上述の署名付きプログラムを端末装置３の処理部３１が実行することによって機能するブロックである。
暗号処理部３０５は、例えばＡＥＳなどの暗号方式によって端末装置３の認証に係る情報の暗号化や復号化を行うブロック（暗号化部３０６，復号化部３０７）を有する。
具体的には、暗号処理部３０５は、認証情報生成部３０３がサーバ装置２へ送信した認証情報Ａ及び利用者ＩＤ（第１情報）に応じてサーバ装置２から暗号化されたキー情報を受信した場合、この受信したキー情報を、認証情報生成部３０３で生成された認証情報Ｂ（第２情報）により復号化する。更に、暗号処理部３０５は、端末装置３の入力部３４（キーボード等）において入力されたパスワード（第３情報）を、この復号化したキー情報によって暗号化し、当該暗号化したパスワードをセッションＩＤとともにサーバ装置２へ送信する。
【００７７】
次に、上述した構成を有する本実施形態に係るコンピュータシステムにおけるログイン処理について、図７，図８を参照して説明する。
【００７８】
図７は、端末認証情報と利用者認証情報を事前にサーバ装置２の利用者データベース２１２へ登録する方法の一例を説明するためのフロー図である。
【００７９】
まずサーバ装置４から端末装置３へ、認証情報登録用のＷｅｂページのＵＲＬが記載されたメールを送信する（ステップＳＴ１００）。サーバ装置４は、例えば、メールアドレス入力用のＷｅｂページにおいて端末装置３からメールアドレスを取得し、そのメールアドレスへメールを送信する。
【００８０】
端末装置３は、サーバ装置４からのメールをメーラー部３０１において受信し、これを表示部３３において利用者に表示する。
【００８１】
通知メールに記載されるＵＲＬが入力部３４のマウス等で選択されると、Ｗｅｂブラウザ部３０２がこのＵＲＬに該当するサーバ装置４にアクセスし、認証情報登録用Ｗｅｂページのコンテンツ（ＨＴＭＬデータ等）をサーバ装置４に要求する（ステップＳＴ１０５）。
要求を受けたサーバ装置４が、認証情報登録用Ｗｅｂページのコンテンツと署名付きプログラムを端末装置３に送信する（ステップＳＴ１１０）。
【００８２】
端末装置３のＷｅｂブラウザ部３０２は、サーバ装置４から受信したＨＴＭＬデータ等に基づいて、表示部３３の画面に認証情報登録用のＷｅｂページを表示する。このＷｅｂページの画面では、利用者に対して、利用者ＩＤとパスワードの入力が促される。なお、利用者ＩＤについては、サーバ装置４で発行したものをＷｅｂページの画面に表示させて、これを利用者に記録させるように促してもよい。
Ｗｅｂブラウザ部３０２は、入力部３４において利用者ＩＤとパスワードが入力されると、これを一時的に記憶部３５に格納する（ステップＳＴ１１５）。
【００８３】
また端末装置３のＷｅｂブラウザ部３０２は、サーバ装置４から受信した署名付きプログラムを実行するとともに、これに添付される認証情報（デジタル証明書）を検証する。署名付きプログラムが実行されると、ＯＳ判定部３０４が端末装置３にインストールされたＯＳを判定する。
ＯＳ判定部においてＯＳの種別が判定され、かつ、Ｗｅｂブラウザ部３０２において署名付きプログラムの正当性が確認された場合、固有情報取得部３０８は、この判定されたＯＳの種別に応じたコマンドをＯＳに実行させて、記憶部３５に記憶された固有情報３２１（第１固有情報）を取得する。認証情報生成部３０３は、固有情報取得部３０８によって取得された固有情報３２１に基づいて２つの認証情報Ａ，Ｂを生成し、これを記憶部３５に一時的に格納する（ステップＳＴ１２０）。
【００８４】
認証情報生成部３０３は、記憶部３５に格納される利用者ＩＤ，パスワード，認証情報Ａ，Ｂをサーバ装置４に送信する。この送信の際、Ｗｅｂブラウザ部３０２は、ＳＳＬ等の暗号通信プロトコルにより送信データを暗号化してもよい。
あるいは、認証情報生成部３０３が所定のキーにより利用者ＩＤ，パスワード，認証情報Ａ，Ｂを暗号化し、暗号化したデータをＷｅｂブラウザ部３０２からサーバ装置４へ送信してもよい。この場合、サーバ装置４は、認証情報生成部３０３で暗号化されたデータを上記所定のキーにより復号化する。
【００８５】
サーバ装置４は、端末装置３から受信した利用者ＩＤ，パスワード，認証情報Ａ，Ｂを、サーバ装置２の利用者データベース２１２に登録する（ステップＳＴ１３０）。例えばサーバ装置４は、ローカルネットワークでサーバ装置２と接続されており、このローカルネットワーク経由で利用者データベース２１２にアクセスするようにしてもよい。あるいは、サーバ装置４からサーバ装置２へＳＳＬ等の暗号化通信によりこれらのデータを伝送してもよい。
【００８６】
次に、図８のフロー図を参照して、端末装置３がサーバ装置２にログインする処理の一例を説明する。
【００８７】
まず端末装置３のＷｅｂブラウザ部３０２が、サーバ装置２のログイン用ＷｅｂページのＵＲＬにアクセスし、ＨＴＭＬデータ等のコンテンツを要求する（ステップＳＴ２００）。
サーバ装置２のＷｅｂサーバ部２０２は、この端末装置３の要求に応じて、ログイン用ＷｅｂページのＨＴＭＬデータ等と署名付きプログラムを端末装置３に送信する（ステップＳＴ２０５）。
【００８８】
またＷｅｂサーバ部２０２は、端末装置３との通信セッションに対応するセッションＩＤを発行し、このセッションＩＤが含まれたクッキー情報を端末装置３に送信する。
【００８９】
端末装置３のＷｅｂブラウザ部３０２は、サーバ装置２から受信したＨＴＭＬデータ等に基づいて、表示部３３の画面にログイン用Ｗｅｂページを表示する。このＷｅｂページの画面では、利用者に対して、利用者ＩＤとパスワードの入力が促される。
Ｗｅｂブラウザ部３０２は、入力部３４において利用者ＩＤとパスワードが入力されると、これを一時的に記憶部３５に格納する（ステップＳＴ２１０）。
【００９０】
また端末装置３のＷｅｂブラウザ部３０２は、サーバ装置２から受信した署名付きプログラムを実行するとともに、これに添付される認証情報（デジタル証明書）を検証する。署名付きプログラムが実行されると、ＯＳ判定部３０４が端末装置３にインストールされたＯＳを判定する。
ＯＳ判定部３０４においてＯＳの種別が判定され、かつ、Ｗｅｂブラウザ部３０２において署名付きプログラムの正当性が確認された場合、固有情報取得部３０８は、この判定されたＯＳの種別に応じたコマンドをＯＳに実行させて、記憶部３５に記憶された固有情報３２１（第１固有情報）を取得する。認証情報生成部３０３は、固有情報取得部３０８によって取得された固有情報３２１に基づいて２つの認証情報Ａ，Ｂを生成し、これらを記憶部３５へ一時的に格納する（ステップＳＴ２１５）。
【００９１】
また端末装置３のＷｅｂブラウザ部３０２は、サーバ装置２から受信したクッキー情報（セッションＩＤを含む）を記憶部３５に格納する。
【００９２】
端末装置３の認証情報生成部３０３は、記憶部３５に格納される利用者ＩＤ及び認証情報Ａ（第１情報）をサーバ装置４に送信する（ステップＳＴ２２０）。また端末装置３のＷｅｂブラウザ部３０２は、記憶部３５に格納されるクッキー情報のセッションＩＤもサーバ装置２に送信する。
【００９３】
サーバ装置２の情報取得部２０３は、ログイン要求元の端末装置３から認証情報Ａと利用者ＩＤ（第１情報）をセッションＩＤとともに受信した場合、この受信した認証情報Ａ及び利用者ＩＤに関連づけられた認証情報Ｂ（第２情報）及びパスワード（第３情報）を記憶部２６の利用者データベース２１２から検索する（ステップＳＴ２２５）。
情報取得部２０３は、認証情報Ｂ（第２情報）とパスワード（第３情報）を利用者データベース２１２から取得した場合、取得した認証情報Ｂ及びパスワードと、端末装置３から受信した認証情報Ａ及び利用者ＩＤと、この端末装置３との通信セッションについて発行されたセッションＩＤとを関連付けて、記憶部２５のセッション管理テーブル２１３（図４）に登録する。
【００９４】
利用者データベース２１２から認証情報Ｂ（第２情報）とパスワード（第３情報）が取得された場合、サーバ装置２のキー情報生成部２０４は、ランダムなキー情報を生成してセッション管理テーブル２１３に格納する（ステップＳＴ２３０）。
【００９５】
次いで、サーバ装置２の暗号処理部２０５は、キー情報生成部２０４において生成されたキー情報を情報取得部２０３において取得された認証情報Ｂ（第２情報）により暗号化する（ステップＳＴ２３５）。
暗号処理部２０５は、認証情報Ｂにより暗号化したキー情報を、ログイン要求元の端末装置３へ送信する（ステップＳＴ２５０）。
【００９６】
端末装置３の暗号処理部３０５は、サーバ装置２から暗号化されたキー情報を受信した場合、この受信したキー情報を記憶部３５の認証情報Ｂ（第２情報）によって復号化する（ステップＳＴ２５５）。
【００９７】
更に、暗号処理部３０５は、この復号化したキー情報によって記憶部３５のパスワード（第３情報）を暗号化し（ステップＳＴ２６０）、当該暗号化したパスワードをセッションＩＤとともにサーバ装置２へ送信する（ステップＳＴ２６５）。
【００９８】
サーバ装置２の暗号処理部２０５は、キー情報によって暗号化されたパスワードをセッションＩＤとともに端末装置３から受信した場合、この端末装置３に暗号化して送信したキー情報に対応する元のキー情報を、記憶部２５のセッション管理テーブル２１３から取得する。そして暗号化処理部２０５は、セッション管理テーブル２１３から取得したキー情報に基づいて、端末装置３から受信した暗号化されたパスワードを復号化する（ステップＳＴ２７０）。
【００９９】
端末装置３で暗号化されたパスワード（第３情報）が暗号処理部２０５において元のキー情報により復号化されると、サーバ装置２の情報無効化部２０９は、元のキー情報を記憶部２５のセッション管理テーブル２１３から削除するか、若しくは当該キー情報を無効化する（ステップＳＴ２７５）。
【０１００】
サーバ装置２の照合部２０８は、暗号処理部２０５においてパスワードが復号化されると、この復号化されたパスワードとセッション管理テーブル２１３に登録されるパスワードとを比較し、両者が一致している場合にログインの許可を判定する（ステップＳＴ２８０）。
【０１０１】
以上説明したように、本実施形態では、ログイン要求を許可されるべき端末装置３において格納若しくは入力される認証情報Ａ及び利用者ＩＤ（第１情報）と、認証情報Ｂ（第２情報）と、本人認証用のパスワード（第３情報）とが、サーバ装置の記憶部２５に予め記憶されている。端末装置３がログインを要求する際、端末装置３の記憶部に記憶される認証情報Ａと利用者ＩＤ（第１情報）がサーバ装置２に送信される。サーバ装置２では、端末装置３から認証情報Ａと利用者ＩＤ（第１情報）が受信されると、この情報に関連づけられた認証情報Ｂ（第２情報）及びパスワード（第３情報）が記憶部２５から取得される。記憶部２５から認証情報Ｂ（第２情報）及びパスワード（第３情報）が取得されると、ランダムに変化するキー情報がサーバ装置２において生成され、このキー情報が認証情報Ｂ（第２情報）により暗号化される。暗号化されたキー情報は、サーバ装置２から端末装置３へ送信される。端末装置３では、暗号化されたキー情報が受信されると、端末装置３の記憶部３５に記憶される認証情報Ｂ（第２情報）に基づいて、暗号化されたキー情報が復号化される。更に端末装置３では、この復号化されたキー情報に基づいて、記憶部３５に記憶されるパスワード（第３情報）が暗号化される。暗号化されたパスワードは、端末装置３からサーバ装置２へ送信される。サーバ装置２では、端末装置３からの暗号化されたパスワードと、記憶部２５から取得されたパスワードとが照合され、この照合結果に応じてログインの許可・不許可が決定される。
従って、端末装置２の同一性を確認するための秘密情報である認証情報Ｂ（第２情報）と、利用者本人を確認するための秘密情報であるパスワード（第３情報）が、常に暗号化された状態で通信ネットワーク９を流れるため、ネットワークを監視する悪意の第三者によりこれらの情報が盗まれるリスクを低減でき、高いセキュリティを実現できる。
【０１０２】
しかも、本実施形態によれば、ＳＳＬ等で一般的に用いられている公開鍵暗号方式のような複雑な暗号処理が不要であり、共有鍵を用いる簡易な暗号方式で十分に高いセキュリティを得ることができるため、サーバ装置と端末装置の双方における暗号処理の負荷を軽くすることができる。
【０１０３】
また、本実施形態によれば、ログインの度に変更されるランダムなキー情報を用いて通信情報が暗号化されるため、暗号化された情報から秘密情報（認証情報Ｂ，スワード）が解読されるリスクを更に大幅に低減できる。
【０１０４】
また、本実施形態によれば、ハードウェア情報（ＣＰＵのＩＤ等）やソフトウエア情報（オペレーティングシステムのライセンス情報等）などの端末装置の固有情報から生成された端末認証情報（Ａ，Ｂ）によって、ログイン可能な端末装置が制限されている。従って、もし利用者の不注意で利用者認証情報（利用者ＩＤ，パスワード）が第三者に漏えいしても、第三者の端末装置からはログインできない。従って、第三者のなり済ましのリスクを非常に効果的に低減できる。
【０１０５】
また、本実施形態によれば、サーバ装置２から端末装置３へ送信されるプログラム（署名付きプログラム）によってログイン処理の度に端末装置３の固有情報が取得され、この取得された固有情報に基づいて端末認証情報（Ａ，Ｂ）が生成される。これにより、端末認証情報（Ａ，Ｂ）のすり替え等の不正な操作が困難になるので、端末装置３の偽装を効果的に防止できる。
【０１０６】
また、本実施形態によれば、ログイン処理の度に取得した固有情報に基づいて生成される２つの認証情報（Ａ，Ｂ）の一方（認証情報Ａ）が、複数の端末装置から個々の端末装置を識別するための情報として使用され、その他方（認証情報Ｂ）が、各端末装置の同一性を確認するための秘密情報として使用される。これにより、端末装置３の偽装を効果的に防止しつつ、複数の端末装置から各端末装置を的確に識別してその同一性を認証することができる。
【０１０７】
また、本実施形態によれば、署名付きプログラムによってプログラムの正当性を検証できるため、利用者からみたサーバ装置の信頼性を高めることができる。
【０１０８】
また、本実施形態によれば、サーバ装置２の暗号処理部２０５においてキー情報によるパスワード（第３情報）の復号化が行われた後、記憶部２５に記憶されるキー情報が削除若しくは無効化される。すなわち、認証情報の暗号化に使用されたキー情報がその使用後直ちに無効化される。これにより、キー情報が漏えいするリスクをより効果的に低減できる。
【０１０９】
＜第１の実施形態の変形例＞
次に、第１の実施形態の変形例について、図９のフロー図を参照して説明する。
図８に示すログイン処理では、端末装置３で暗号化されたパスワードがサーバ装置２において復号化され、その復号化後のパスワードと利用者データベース２１２に登録されるパスワードとが照合される。
一方、図９に示すログイン処理では、サーバ装置２の利用者データベース２１２に登録されるパスワードがキー情報により暗号化され、この暗号化されたパスワードと端末装置３で暗号化されたパスワードとが照合される。
【０１１０】
図９に示すログイン処理において、ステップＳＴ２００（ログイン用のＷｅｂページの要求）からステップＳＴ２６５（暗号化したパスワードの送信）までの手順は、図８に示すログイン処理と同様である。
図９に示す変形例では、サーバ装置２の照合部２０８において照合が行われる前に、暗号処理部２０５においてパスワード（第３情報）の暗号化が行われる。すなわち、暗号処理部２０５は、ステップＳＴ２３５で暗号化したキー情報に対応する元のキー情報を用いて、パスワード（第３情報）を暗号化する（ステップＳＴ２４０）。暗号処理部２０５は、この暗号化したパスワードをセッション管理テーブル２１３に登録する。
パスワードの暗号化後、情報無効化部２０９はセッション管理テーブル２１３に登録されるキー情報を削除若しくは無効化する（ステップＳＴ２４５）。
【０１１１】
そして、端末装置３から暗号化されたパスワードが受信されると、サーバ装置２の照合部２０８は、ステップＳＴ２４０で暗号化されたパスワードとステップＳＴ２６５で受信された暗号化されたパスワードとを比較する。両者が一致している場合、照合部２０８はログインの許可を判定する（ステップＳＴ２８５）。
照合部２０８において照合が行われた後、情報無効化部２０９は、記憶部２５に記憶される（セッション管理テーブル２１３に登録される）暗号化されたパスワードを削除若しくは無効にする（ステップＳＴ２９０）。
【０１１２】
以上説明したように、図９に示す変形例によれば、サーバ装置２の暗号処理部２０５において復号処理を行う必要がないので、復号化部２０７を省略することができる。また、端末装置３の復号化処理・暗号化処理（ＳＴ２５５，ＳＴ２６０）と並行に、サーバ装置２の暗号化処理（ＳＴ２４０）を実行できるので、ログイン処理を高速化できる。
【０１１３】
＜第２の実施形態＞
次に、本発明の第２の実施形態について説明する。
【０１１４】
図１０は、第２の実施形態に係る端末装置３の構成の一例を示す図である。図１０に示す端末装置３は、図３に示す端末装置３と同様の構成に加えて、セッションＩＤ照合部３１０を有する。セッションＩＤ照合部３１０は、本発明におけるセッション情報照合手段の一例である。
【０１１５】
第２の実施形態では、サーバ装置２においてセッションＩＤがキー情報とともに暗号化されて端末装置３に送信され、この暗号化されたセッションＩＤが端末装置３において復号化され、実際のセッションＩＤと照合される。この照合結果に基づいて、サーバ装置２が正当なログイン先であるか否かが端末装置３の側で判定される。
【０１１６】
具体的には、サーバ装置２の暗号処理部２０５は、セッションＩＤをキー情報とともに認証情報Ｂで暗号化し、端末装置２へ送信する。
端末装置３の復号化部３０７は、暗号化処理部２０５においてキー情報とともに暗号化されたセッションＩＤを復号化する。
セッションＩＤ照合部３１０は、通信セッションの開始時にサーバ装置２から通知されたセッションＩＤと、復号化部３０７で復号化されたセッションＩＤとを照合する。この照合の結果両者が一致しない場合、セッションＩＤ照合部３１０は、サーバ装置２への暗号化されたパスワードの送信を禁止する。すなわち、セッションＩＤ照合部３１０は、暗号化部３０６におけるパスワードの暗号化を止めて、サーバ装置２に暗号化パスワードが送信されないようにする。
【０１１７】
図１１は、第２の実施形態において端末装置３がサーバ装置２にログインする処理の一例を説明するためのフロー図である。
図１１に示すログイン処理において、ステップＳＴ２００（ログイン用のＷｅｂページの要求）からステップＳＴ２３０（キー情報の生成）までの手順は、図８に示すログイン処理と同様である。
図１１に示すログイン処理において、暗号処理部２０５は、キー情報とセッションＩＤを認証情報Ｂで暗号化し（ステップＳＴ２３５Ａ）、この暗号化したキー情報とセッションＩＤをサーバ装置２に送信する（ステップＳＴ２５０）。
この暗号化されたキー情報とセッションＩＤが端末装置３において受信されると、復号化部３０７は、受信されたキー情報とセッションＩＤを認証情報Ｂによって復号化する（ステップＳＴ２５５Ａ）。そして、セッションＩＤ照合部３１０は、通信セッション開始時にサーバ装置２から通知されたセッションＩＤと復号化部３０７で復号化されたセッションＩＤとを照合する（ステップＳＴ２５６）。この照合の結果両者が一致しない場合、セッションＩＤ照合部３１０は、その後のログイン処理を中止する。すなわち、セッションＩＤ照合部３１０は、暗号化部３０６におけるパスワードの暗号化を中止して、サーバ装置２に暗号化パスワードが送信されないようにする（ステップＳＴ２５７）。
【０１１８】
以上説明したように、本実施形態によれば、サーバ装置２が持つ認証情報Ｂにより暗号化され、端末装置３が持つ認証情報Ｂによって復号化されたセッションＩＤと、サーバ装置２から端末装置３へ実際に通知されたセッションＩＤとを照合することにより、サーバ装置２が持つ認証情報Ｂと端末装置３が持つ認証情報Ｂとが一致するか否かを判定できる。両者が一致しない場合は、通信中のサーバ装置２が正当でない（すなわち悪意の第三者による）サーバ装置の可能性がある。この様な場合サーバ装置に対するログイン処理を中止して暗号化パスワードを送信しないようにすることで、暗号化パスワードが解読される機会を減らせるので、セキュリティ水準を高めることができる。
【０１１９】
＜第３の実施形態＞
次に、本発明の第３の実施形態について説明する。
【０１２０】
上述した実施形態においては、端末装置３のＯＳ判定部３０４においてＯＳの種別を判定できない場合、固有情報取得部３０８がＯＳの種別の判定結果に基づいて端末装置３の固有情報を取得できないため、この端末装置３はサーバ装置２にログインできない。
また、一般的なＯＳやＷｅｂブラウザでは、インターネットのＷｅｂページ等においてダウンロードした署名付きプログラムを実行する際、利用者に確認を求めるポップアップウィンドウを表示するため、このポップアップウィンドウにおいて利用者が誤って署名付きプログラムの不許可を選択してしまうと、固有情報取得部３０８が端末装置３の固有情報を取得できないため、端末装置３はサーバ装置２にログインできなくなる。
そこで本実施形態では、ＯＳの種別が不明であっても取得可能な固有情報（ＭＡＣアドレス等）を取得することで、上記のようなケースでも端末装置３がサーバ装置２にログインできるようにする。
【０１２１】
図１２は、第３の実施形態に係る端末装置３の構成の一例を示す図である。図１２に示す端末装置３は、図１０に示す端末装置３と同様の構成に加えて、ＭＡＣアドレス取得部３０９を有する。ＭＡＣアドレス取得部３０９は、本発明における第２固有情報取得手段の一例である。
【０１２２】
ＭＡＣアドレス取得部３０９は、サーバ装置２から送られてくる上述の署名付きプログラムを端末装置３の処理部３１が実行することによって機能するブロックである。
ＭＡＣアドレス取得部３０９は、端末装置３とサーバ装置２とが通信を行うネットワークにおいて通信部３２に割り当てられた固有のアドレスであるＭＡＣアドレス（media access control address）を取得する。固有情報取得部３０８がＯＳの種別の判定結果に基づいて固有情報３２１（第１固有情報）を取得するのに対し、ＭＡＣアドレス取得部３０９はＯＳの種別に依らずに（ＯＳの種別の情報を得ずに）ＭＡＣアドレス３２１（第２固有情報）を取得する。そのため、ＭＡＣアドレス取得部３０９は、ＯＳ判定部３０４においてＯＳの種別を判定できない場合でも、端末装置３の固有情報（第２固有情報）を取得することができる。ＭＡＣアドレス取得部３０９は、例えば、ＪＡＶＡ（登録商標）のアプリケーションとその実行環境によって実現される。
ＭＡＣアドレス取得部３０９は、署名付きプログラムの実行を利用者が不許可としたため固有情報取得部３０８が固有情報３２１（第１固有情報）を取得できない場合にも、ＭＡＣアドレス３２２（第２固有情報）を取得する。
【０１２３】
また、第３の実施形態において、サーバ装置２の利用者データベース２１２は、認証情報Ａ，Ｂの生成に用いられた固有情報が固有情報取得部３０８で取得された固有情報３２１（第１固有情報）であるか、又は、ＭＡＣアドレス取得部３０９で取得されたＭＡＣアドレス３２２（第２固有情報）であるかを示すフラグ情報を更に格納する。利用者データベース２１２は、特定の端末装置３と特定の利用者との組み合わせに係る１つのレコードにおいて、認証情報Ａ，Ｂのペアを１つ若しくは２つ格納し、その各々について上述のフラグ情報を格納する。
【０１２４】
なお、このフラグ情報は、認証情報Ａ，Ｂのペアが第１固有情報又は第２固有情報の何れに基づいて生成されたのかを示す情報であれば任意でよい。例えば、認証情報に１ビットの情報を付加することによって、第１固有情報又は第２固有情報の何れに基づいて生成されたかを示すようにしてもよい。或いは、データベースのレコードや送受信データのパケットなどの所定のデータ形式における情報の配置に基づいて（例えばデータ中における各種情報の位置などに基づいて）、レコード中やパケット中に含まれた認証情報Ａ，Ｂのペアが第１固有情報又は第２固有情報の何れに基づいて生成されたのかを示すようにしてもよい。
【０１２５】
端末装置３の認証情報生成部３０３は、ログイン処理の際に、ＯＳ判定部３０４において端末装置３にインストールされたＯＳの種別を判定できない場合や、端末装置３のＷｅｂブラウザ部３０２において署名付きプログラムの正当性を確認できない場合は（すなわち固有情報取得部３０８で固有情報を取得できない場合は）、ＭＡＣアドレス取得部３０９によってＯＳの種別に依らずに取得されたＭＡＣアドレス３２２（第２固有情報）に基づいて認証情報Ａ，Ｂを生成する。逆に、固有情報取得部３０８で固有情報を取得できた場合は、この固有情報３２１（第１固有情報）に基づいて認証情報Ａ，Ｂを生成する。
認証情報生成部３０３は、生成した認証情報Ａと入力部３４で入力された利用者ＩＤとを合わせてサーバ装置２に送信する際、この認証情報Ａに係るフラグ情報もサーバ装置２に送信する。
【０１２６】
サーバ装置２の情報取得部２０３は、認証情報Ａ及び利用者ＩＤと上述のフラグ情報を端末装置３から受信した場合、受信した認証情報Ａ及び利用者ＩＤと一致する情報を持つレコードを利用者データベース２１２において検索する。検索により該当するレコードが見つかった場合、情報取得部２０３は、そのレコードに含まれる認証情報Ａ，Ｂのフラグ情報と端末装置３から受信したフラグ情報とを比較し、両者が一致するならば、検索したレコードから認証情報Ｂ（第２情報）とパスワード（第３情報）を取得する。
【０１２７】
図１３は、第３の実施形態において端末装置３がサーバ装置２にログインする処理の一例を説明するためのフロー図である。
【０１２８】
図１３に示すログイン処理において、ステップＳＴ２００（ログイン用のＷｅｂページの要求）からステップＳＴ２１０（利用者ＩＤ，パスワードの入力）までの手順は、図８に示すログイン処理と同様である。
端末装置３のＷｅｂブラウザ部３０２は、サーバ装置２から受信した署名付きプログラムを実行するとともに、これに添付された認証情報（デジタル証明書）を検証する。署名付きプログラムが実行されると、ＯＳ判定部３０４が端末装置３にインストールされたＯＳを判定する。
ＯＳ判定部３０４においてＯＳの種別が判定され、かつ、Ｗｅｂブラウザ部３０２において署名付きプログラムの正当性が確認された場合、固有情報取得部３０８は、この判定されたＯＳの種別に応じたコマンドをＯＳに実行させて、記憶部３５に記憶された固有情報３２１（第１固有情報）を取得する。認証情報生成部３０３は、固有情報取得部３０８によって取得された固有情報３２１に基づいて２つの認証情報Ａ，Ｂを生成するとともに、固有情報３２１（第１固有情報）に基づいて認証情報Ａ，Ｂが生成されたかを示すフラグ情報を生成し、これらを記憶部３５へ一時的に格納する（ステップＳＴ２１５Ａ）。
他方、ＯＳ判定部３０４においてＯＳの種別が判定できない場合や、Ｗｅｂブラウザ部３０２において署名付きプログラムの正当性を確認できない場合、利用者によって証明付きプログラムを不許可にする操作が行われた場合は、固有情報取得部３０８において固有情報を取得できないので、その代わりにＭＡＣアドレス取得部３０９が端末装置３のＭＡＣアドレス３２２（第２固有情報）を取得する。認証情報生成部３０３は、ＭＡＣアドレス取得部３０９によって取得されたＭＡＣアドレス３２２に基づいて２つの認証情報Ａ，Ｂを生成するとともに、第２固有情報に基づいて認証情報Ａ，Ｂが生成されたかを示すフラグ情報を生成し、これらを記憶部３５へ一時的に格納する（ステップＳＴ２１５Ａ）。
【０１２９】
認証情報生成部３０３は、生成した認証情報Ａと入力部３４で入力された利用者ＩＤとを合わせてサーバ装置２に送信するとともに、認証情報Ａに係るフラグ情報をサーバ装置２に送信する（ステップＳＴ２２０）。
【０１３０】
サーバ装置２が認証情報Ａ及び利用者ＩＤと上述のフラグ情報を端末装置３から受信した場合、情報取得部２０３は、受信した認証情報Ａ及び利用者ＩＤと一致する情報を持ち、かつ、受信したフラグ情報と一致するフラグ情報を持つレコードを利用者データベース２１２において検索する。そして、情報取得部２０３は、検索したレコードに属する認証情報Ｂ（第２情報）とパスワード（第３情報）を取得する（ステップＳＴ２２５Ａ）。
情報取得部２０３は、利用者データベース２１２から認証情報Ｂ（第２情報）とパスワード（第３情報）を取得すると、取得した認証情報Ｂ及びパスワードと、端末装置３から受信した認証情報Ａ及び利用者ＩＤと、当該認証情報Ａ，Ｂに係るフラグ情報と、この端末装置３との通信セッションについて発行されたセッションＩＤとを関連付けて、記憶部２５のセッション管理テーブル２１３（図４）に登録する。
【０１３１】
以降、ステップＳＴ２３０（キー情報の生成）からステップＳＴ２５６（セッションＩＤの照合）までは図１１に示すフロー図の処理と同様であり、ステップＳＴ２６０（パスワードの暗号化）からステップＳＴ２８０（パスワードの照合）までは図８に示すフロー図の処理と同様である。
【０１３２】
以上説明したように、本実施形態によれば、端末装置３にインストールされたＯＳの種別を判定できない場合や、端末装置３の利用者の誤操作によって署名付きプログラムを不許可とされた場合でも、ＯＳの種別に依らずに取得されるＭＡＣアドレス等の固有情報に基づいて端末認証情報（認証情報Ａ，Ｂ）を生成可能であり、サーバ装置２へのログイン処理を行うことができる。これにより、より多くの種類の端末装置３がサーバ装置２へログイン可能になる。また、端末装置３の利用者の誤操作によりログインできなくなるケースを減らせるので、使い易さを向上できる。
【０１３３】
＜第４の実施形態＞
次に、本発明の第４の実施形態について説明する。
【０１３４】
上述した第３の実施形態において、利用者データベース２１２には、一の端末装置３に対して認証情報Ａ，Ｂのペアを２つ格納することが可能である。すなわち、固有情報取得部３０８で取得される固有情報３２１（第１固有情報）に基づいて生成された認証情報Ａ，Ｂのペアと、ＭＡＣアドレス取得部３０９において取得されるＭＡＣアドレス３２２（第２固有情報）に基づいて生成された認証情報Ａ，Ｂのペアとを、同一の端末装置３についてそれぞれ利用者データベース２１２に格納することができる。
ところが、利用者データベース２１２へ新規に情報を登録するために端末装置３から認証情報を取得する際、端末装置３の利用者が誤操作によって署名付きプログラムを不許可にすると、本来は取得できたはずの固有情報３２１（第１固有情報）がこの誤操作によって偶然的に取得できなくなる。この場合、利用者データベース２１２には、ＭＡＣアドレス３２２（第２固有情報）に基づいて生成された認証情報Ａ，Ｂのペアのみが登録されることになる。
そうすると、その後のログイン処理において端末装置３の利用者が署名付きプログラムを許可した場合、端末装置３において固有情報３２１（第１固有情報）に基づく認証情報Ａ，Ｂのペアが生成され、その認証情報Ａと利用者ＩＤがサーバ装置２に送信される。固有情報３２１（第１固有情報）に基づく認証情報Ａは利用者データベース２１２に登録されていないので、端末装置３のログイン要求は拒否されてしまう。
これに対し、本実施形態においては、ＭＡＣアドレス３２２（第２固有情報）に基づく認証情報Ａ，Ｂのペアのみが利用者データベース２１２に登録されている場合でも、固有情報３２１（第１固有情報）に基づく認証情報Ａ，Ｂのペアをログイン処理の過程で利用者データベース２１２に自動的に追加登録することができる。
【０１３５】
図１４及び図１５は、第４の実施形態において端末装置３がサーバ装置２にログインする処理の一例を説明するためのフロー図である。
図１４に示すログイン処理において、ステップＳＴ２００（ログイン用のＷｅｂページの要求）からステップＳＴ２１０（利用者ＩＤ，パスワードの入力）までの手順は、図１３に示すログイン処理と同様である。
端末装置３のＷｅｂブラウザ部３０２は、サーバ装置２から受信した署名付きプログラムを実行するとともに、これに添付された認証情報（デジタル証明書）を検証する。署名付きプログラムが実行されると、ＯＳ判定部３０４が端末装置３にインストールされたＯＳを判定する。
ＯＳ判定部３０４においてＯＳの種別が判定され、かつ、Ｗｅｂブラウザ部３０２において署名付きプログラムの正当性が確認されると、固有情報取得部３０８は、この判定されたＯＳの種別に応じたコマンドをＯＳに実行させて、記憶部３５に記憶された固有情報３２１（第１固有情報）を取得する。認証情報生成部３０３は、固有情報取得部３０８によって取得された固有情報３２１に基づいて２つの認証情報Ａ，Ｂを生成するとともに、固有情報３２１（第１固有情報）に基づいて認証情報Ａ，Ｂが生成されたかを示すフラグ情報を生成し、これらを記憶部３５へ一時的に格納する（ステップＳＴ２１５Ａ）。
【０１３６】
認証情報生成部３０３は、生成した認証情報Ａと入力部３４で入力された利用者ＩＤとを合わせてサーバ装置２に送信するとともに、認証情報Ａに係るフラグ情報をサーバ装置２に送信する（ステップＳＴ２２０）。
【０１３７】
サーバ装置２が認証情報Ａ及び利用者ＩＤと上述のフラグ情報を端末装置３から受信した場合、情報取得部２０３は、受信した認証情報Ａ及び利用者ＩＤと一致する情報を持ち、かつ、受信したフラグ情報と一致するフラグ情報を持つレコードを利用者データベース２１２において検索する。
この検索の結果、該当するレコードが利用者データベース２１２において見つからず、かつ、端末装置３から受信したフラグ情報が固有情報３２１（第１固有情報）に基づいて認証情報Ａ，Ｂが生成されたことを示す場合、情報取得部２０３は、ＭＡＣアドレス３２２（第２固有情報）に基づいて生成された認証情報Ａの送信要求を端末装置３に送信する（ステップＳＴ２２１）。
【０１３８】
端末装置３においてこの送信要求が受信されると、ＭＡＣアドレス取得部３０９は、端末装置３のＭＡＣアドレス３２２（第２固有情報）を取得する。認証情報生成部３０３は、ＭＡＣアドレス取得部３０９によって取得されたＭＡＣアドレス３２２（第２固有情報）に基づいて２つの認証情報Ａ，Ｂを生成するとともに、ＭＡＣアドレス３２２（第２固有情報）に基づいて認証情報Ａ，Ｂが生成されたかを示すフラグ情報を生成し、これらを記憶部３５へ一時的に格納する（ステップＳＴ２１５Ｂ）。
【０１３９】
認証情報生成部３０３は、ＭＡＣアドレス３２２（第２固有情報）に基づいて生成した認証情報Ａと入力部３４で入力された利用者ＩＤとを合わせてサーバ装置２に送信するとともに、この認証情報Ａに係るフラグ情報をサーバ装置２に送信する（ステップＳＴ２２０）。なお、利用者ＩＤはステップＳＴ２２０において既にサーバ装置２へ送信しているので、ここでは送信を省略してもよい。
【０１４０】
サーバ装置２が認証情報Ａ及び利用者ＩＤと上述のフラグ情報を端末装置３から再び受信した場合、情報取得部２０３は、受信した認証情報Ａ及び利用者ＩＤと一致する情報を持ち、かつ、受信したフラグ情報と一致するフラグ情報を持つレコードを利用者データベース２１２において検索する。そして、情報取得部２０３は、検索により見つかったレコードに属する認証情報Ｂ（第２情報）とパスワード（第３情報）を取得する（ステップＳＴ２２５Ａ）。
情報取得部２０３は、利用者データベース２１２から認証情報Ｂ（第２情報）とパスワード（第３情報）を取得すると、取得した認証情報Ｂ及びパスワードと、端末装置３から受信した認証情報Ａ及び利用者ＩＤと、当該認証情報Ａ，Ｂに係るフラグ情報と、この端末装置３との通信セッションについて発行されたセッションＩＤとを関連付けて、記憶部２５のセッション管理テーブル２１３（図４）に登録する。
【０１４１】
利用者データベース２１２から認証情報Ｂ（第２情報）とパスワード（第３情報）が取得された場合、サーバ装置２のキー情報生成部２０４は、ランダムなキー情報を生成してセッション管理テーブル２１３に格納する（ステップＳＴ２３０）。
暗号処理部２０５は、キー情報とセッションＩＤを認証情報Ｂで暗号化し（ステップＳＴ２３５Ａ）、この暗号化したキー情報とセッションＩＤをサーバ装置２に送信する（ステップＳＴ２５０）。
【０１４２】
暗号化されたキー情報とセッションＩＤが端末装置３において受信されると、復号化部３０７は、ＭＡＣアドレス３２２（第２固有情報）に基づいて生成された認証情報Ｂを用いて、この暗号化されたキー情報とセッションＩＤを復号化する（ステップＳＴ２５５Ａ）。
セッションＩＤ照合部３１０は、通信セッション開始時にサーバ装置２から通知されたセッションＩＤと復号化部３０７で復号化されたセッションＩＤとを照合する（ステップＳＴ２５６）。この照合の結果両者が一致する場合、暗号化部３０６は、固有情報３２１（第１固有情報）に基づいて生成された認証情報Ｂと利用者のパスワードを、復号化部３０７で復号化されたキー情報により暗号化する（ステップＳＴ２６０Ａ）。暗号化部３０６は、この暗号化した認証情報Ｂとパスワードをサーバ装置２へ送信する（ステップＳＴ２６５）。
【０１４３】
サーバ装置２の暗号処理部２０５は、キー情報によって暗号化された認証情報Ｂ及びパスワードをセッションＩＤとともに端末装置３から受信した場合、この端末装置３に暗号化して送信したキー情報に対応する元のキー情報を、記憶部２５のセッション管理テーブル２１３から取得する。そして暗号化処理部２０５は、セッション管理テーブル２１３から取得したキー情報に基づいて、端末装置３から受信した暗号化された認証情報Ｂとパスワードを復号化する（ステップＳＴ２７０Ａ）。
【０１４４】
端末装置３で暗号化されたパスワード（第３情報）が暗号処理部２０５において元のキー情報により復号化されると、サーバ装置２の情報無効化部２０９は、元のキー情報を記憶部２５のセッション管理テーブル２１３から削除するか、若しくは当該キー情報を無効化する（ステップＳＴ２７５）。
【０１４５】
サーバ装置２の照合部２０８は、暗号処理部２０５においてパスワードが復号化されると、この復号化されたパスワードとセッション管理テーブル２１３に登録されるパスワードとを比較し、両者が一致している場合にログインの許可を判定する（ステップＳＴ２８０）。
【０１４６】
照合部２０８においてログインが許可された場合、情報取得部２０３は、ステップＳＴ２７０Ａにおいてパスワードとともに復号化された認証情報Ｂと、ステップＳＴ２２５Ａにおいて利用者データベース２１２から検索できなかった認証情報Ａとを関連付けて、これらに係るフラグ情報とともに利用者データベース２１２に格納する。これにより、利用者データベース２１２には、固有情報３２１（第１固有情報）に基づいて生成された認証情報Ａ，Ｂのペアが追加登録される。
【０１４７】
以上説明したように、本実施形態によれば、ＭＡＣアドレス３２２（第２固有情報）に基づく認証情報Ａ，Ｂのペアのみが利用者データベース２１２に登録されている場合において、固有情報３２１（第１固有情報）に基づく認証情報Ａ，Ｂのペアをログイン処理の過程で利用者データベース２１２に追加登録できる。そのため、端末装置３が固有情報３２１（第１固有情報）に基づく認証情報Ａ，Ｂによるログインを試みてサーバ装置２により拒否されることを防止できる。また、新規登録時に利用者の誤操作等によって固有情報３２１（第１固有情報）に基づく認証情報Ａ，Ｂのペアを利用者データベース２１２へ登録できなかった場合でも、その後のログイン処理の過程で自動的に追加登録できるので、この作業をマニュアルで行う場合に比べて、サーバ管理者や利用者の負担を軽減できる。
【０１４８】
＜第５の実施形態＞
次に、本発明の第５の実施形態について説明する。
【０１４９】
利用者データベース２１２における検索用の情報として端末装置３からサーバ装置２へ認証情報Ａと利用者ＩＤが送信される場合に、上述した第３，４の実施形態では、第１固有情報に基づいて生成された認証情報Ａか、又は、第２固有情報（ＭＡＣアドレス）に基づいて生成された認証情報Ａの一方が送信される。これに対し、本実施形態では、第１固有情報に基づいて生成された認証情報Ａと第２固有情報（ＭＡＣアドレス）に基づいて生成された認証情報Ａの両方がサーバ装置２に送信される。
【０１５０】
図１６は、第５の実施形態において端末装置３がサーバ装置２にログインする処理の一例を説明するためのフロー図であり、固有情報３２１（第１固有情報）に基づいて生成された認証情報Ａ，Ｂが利用者データベース２１２に登録されている場合の例を示す。
【０１５１】
図１６に示すログイン処理において、ステップＳＴ２００（ログイン用のＷｅｂページの要求）からステップＳＴ２１０（利用者ＩＤ，パスワードの入力）までの手順は、図１３に示すログイン処理と同様である。
端末装置３のＷｅｂブラウザ部３０２は、サーバ装置２から受信した署名付きプログラムを実行するとともに、これに添付された認証情報（デジタル証明書）を検証する。署名付きプログラムが実行されると、ＯＳ判定部３０４が端末装置３にインストールされたＯＳを判定する。
ＯＳ判定部３０４においてＯＳの種別が判定され、かつ、Ｗｅｂブラウザ部３０２において署名付きプログラムの正当性が確認された場合、固有情報取得部３０８は、この判定されたＯＳの種別に応じたコマンドをＯＳに実行させて、記憶部３５に記憶された固有情報３２１（第１固有情報）を取得する。また本実施形態では、固有情報３２１（第１固有情報）を取得できる場合でも、ＭＡＣアドレス取得部３０９が端末装置３のＭＡＣアドレス３２２（第２固有情報）を取得する。
認証情報生成部３０３は、固有情報３２１に基づいて２つの認証情報Ａ，Ｂを生成するとともに、ＭＡＣアドレス３２２（第２固有情報）に基づいて別の２つの認証情報Ａ，Ｂを生成し、その各々についてのフラグ情報も生成する。認証情報生成部３０３は、生成したこれらの情報を記憶部３５へ一時的に格納する（ステップＳＴ２１５Ａ）。
【０１５２】
認証情報生成部３０３は、生成した２つの認証情報Ａと入力部３４で入力された利用者ＩＤとを合わせてサーバ装置２に送信するとともに、各認証情報Ａに係るフラグ情報をサーバ装置２に送信する（ステップＳＴ２２０）。
【０１５３】
サーバ装置２が２つの認証情報Ａと利用者ＩＤとフラグ情報を端末装置３から受信した場合、情報取得部２０３は、固有情報３２１（第１固有情報）に基づいて生成された認証情報Ａ及び利用者ＩＤと一致する情報を持ち、かつ、この認証情報Ａに係るフラグ情報と一致するフラグ情報を持つレコードを利用者データベース２１２において検索する。検索の結果、該当するレコードが見つかると、情報取得部２０３は、このレコードに属する認証情報Ｂ（第２情報）とパスワード（第３情報）を取得する（ステップＳＴ２２５Ａ）。
情報取得部２０３は、利用者データベース２１２から認証情報Ｂ（第２情報）とパスワード（第３情報）を取得すると、取得した認証情報Ｂ及びパスワードと、端末装置３から受信した認証情報Ａ及び利用者ＩＤと、当該認証情報Ａ，Ｂに係るフラグ情報と、この端末装置３との通信セッションについて発行されたセッションＩＤとを関連付けて、記憶部２５のセッション管理テーブル２１３（図４）に登録する。
【０１５４】
利用者データベース２１２から認証情報Ｂ（第２情報）とパスワード（第３情報）が取得された場合、サーバ装置２のキー情報生成部２０４は、ランダムなキー情報を生成してセッション管理テーブル２１３に格納する（ステップＳＴ２３０）。
暗号処理部２０５は、キー情報とセッションＩＤを認証情報Ｂで暗号化し（ステップＳＴ２３５Ａ）、この暗号化したキー情報とセッションＩＤをサーバ装置２に送信する。このとき、暗号処理部２０５は、キー情報の暗号化に用いた認証情報Ｂに係るフラグ情報（すなわち第１固有情報に基づいて認証情報Ａ，Ｂが生成されたことを示すフラグ情報）をサーバ装置２に送信する（ステップＳＴ２５０）。
【０１５５】
暗号化されたキー情報とセッションＩＤがフラグ情報とともに端末装置３において受信されると、復号化部３０７は、受信されたフラグ情報に係る認証情報Ｂ（すなわち第１固有情報３２１に基づいて生成された認証情報Ｂ）を用いて、この暗号化されたキー情報とセッションＩＤを復号化する（ステップＳＴ２５５Ａ）。
【０１５６】
以降、ステップＳＴ２５６（セッションＩＤの照合）からステップＳＴ２８０（パスワードの照合）までの処理は、図１３に示すフロー図と同様である。
【０１５７】
他方、図１７，図１８は、第５の実施形態において端末装置３がサーバ装置２にログインする処理の一例を説明するためのフロー図であり、固有情報３２１（第１固有情報）に基づいて生成された認証情報Ａ，Ｂが利用者データベース２１２に未だ登録されていない場合の例を示す。
【０１５８】
図１７，図１８に示すログイン処理において、ステップＳＴ２００（ログイン用のＷｅｂページの要求）からステップＳＴ２２０（利用者ＩＤ及び認証情報Ａの送信）までの手順は、上述した図１６に示すログイン処理と同様である。
【０１５９】
サーバ装置２が２つの認証情報Ａと利用者ＩＤとフラグ情報を端末装置３から受信した場合、情報取得部２０３は、固有情報３２１（第１固有情報）に基づいて生成された認証情報Ａ及び利用者ＩＤと一致する情報を持ち、かつ、この認証情報Ａに係るフラグ情報と一致するフラグ情報を持つレコードを利用者データベース２１２において検索する（ステップＳＴ２２５Ａ）。検索の結果、該当するレコードが見つからないと、次に情報取得部２０３は、ＭＡＣアドレス３２２（第２固有情報）に基づいて生成された認証情報Ａ及び利用者ＩＤと一致する情報を持ち、かつ、この認証情報Ａに係るフラグ情報と一致するフラグ情報を持つレコードを利用者データベース２１２において更に検索する。検索の結果、該当するレコードが見つかると、情報取得部２０３は、このレコードに属する認証情報Ｂ（第２情報）とパスワード（第３情報）を取得する（ステップＳＴ２２５Ｂ）。
情報取得部２０３は、利用者データベース２１２から認証情報Ｂ（第２情報）とパスワード（第３情報）を取得すると、取得した認証情報Ｂ及びパスワードと、端末装置３から受信した認証情報Ａ及び利用者ＩＤと、当該認証情報Ａ，Ｂに係るフラグ情報と、この端末装置３との通信セッションについて発行されたセッションＩＤとを関連付けて、記憶部２５のセッション管理テーブル２１３（図４）に登録する。
【０１６０】
利用者データベース２１２から認証情報Ｂ（第２情報）とパスワード（第３情報）が取得された場合、サーバ装置２のキー情報生成部２０４は、ランダムなキー情報を生成してセッション管理テーブル２１３に格納する（ステップＳＴ２３０）。
暗号処理部２０５は、キー情報とセッションＩＤを認証情報Ｂで暗号化し（ステップＳＴ２３５Ａ）、この暗号化したキー情報とセッションＩＤをサーバ装置２に送信する。このとき、暗号処理部２０５は、キー情報の暗号化に用いた認証情報Ｂに係るフラグ情報（すなわちＭＡＣアドレス３２２に基づいて認証情報Ａ，Ｂが生成されたことを示すフラグ情報）をサーバ装置２に送信する（ステップＳＴ２５０）。
【０１６１】
暗号化されたキー情報とセッションＩＤがフラグ情報とともに端末装置３において受信されると、復号化部３０７は、受信されたフラグ情報に係る認証情報Ｂ（すなわちＭＡＣアドレス３２２に基づいて生成された認証情報Ｂ）を用いて、この暗号化されたキー情報とセッションＩＤを復号化する（ステップＳＴ２５５Ａ）。
【０１６２】
以降、ステップＳＴ２５６（セッションＩＤの照合）からステップＳＴ２９５（認証情報Ａ，Ｂの追加登録）までの処理は、図１５に示すフロー図と同様である。
【０１６３】
以上説明したように、本実施形態においても、ＯＳの種別に依らずに取得されるＭＡＣアドレス等の固有情報に基づいて端末認証情報（認証情報Ａ，Ｂ）を生成可能であり、この端末認証情報を用いてサーバ装置２へのログイン処理を行うことができるので、種々の端末装置３がサーバ装置２へログイン可能になる。
また、ＭＡＣアドレス３２２（第２固有情報）に基づく認証情報Ａ，Ｂのペアのみが利用者データベース２１２に登録されている場合において、固有情報３２１（第１固有情報）に基づく認証情報Ａ，Ｂのペアをログイン処理の過程で利用者データベース２１２に追加登録できるため、サーバ管理者や利用者の負担を軽減できる。
【０１６４】
＜第６の実施形態＞
次に、本発明の第６の実施形態について、図１９のフロー図を参照して説明する。
【０１６５】
図１９に示すログイン処理において、ステップＳＴ２００（ログイン用のＷｅｂページの要求）からステップＳＴ２７０（キー情報によるパスワードの復号化）までの手順は、図８に示すログイン処理と同様である。
図８に示すログイン処理では、端末装置３で暗号化されたパスワードがサーバ装置２において復号された後（ステップＳＴ２７０）、その復号化に用いられたキー情報がサーバ装置２の記憶部２５から直ちに削除される（ステップＳＴ２７５）。
一方、図１９に示すログイン処理では、サーバ装置２の暗号処理部２０５において復号化が行われた後（ステップＳＴ２７０）、キー情報の削除が行われずに照合部２０８の照合が行われる（ステップＳＴ２８０）。そして、照合の結果ログインが許可されると、サーバ装置２と端末装置３との間におけるその後の通信が、このキー情報によって暗号化される。すなわち、サーバ装置２の暗号処理部２０５と端末装置３の暗号処理部３０５とが、共通のキー情報を用いて通信情報の暗号化・復号化を行う（ステップＳＴ３００）。
両者の通信が終了すると、情報無効化部２０９は、記憶部２５のセッション管理テーブル２１３に記憶されるキー情報を削除若しくは無効化する（ステップＳＴ３０５）。
【０１６６】
以上説明したように、本実施形態によれば、通信ネットワーク９において常に暗号化された状態で伝送されることにより秘密状態が保たれたキー情報を用いて、サーバ装置２と端末装置３との通信情報が暗号化されている。そのため、通信内容の漏えいを効果的に防止できる。
【０１６７】
また、本実施形態によれば、ログインの度にランダムに変化するキー情報によって通信情報が暗号化されるため、よりセキュリティの高い暗号化通信を実現できる。
【０１６８】
また、本実施形態によれば、サーバ装置２と端末装置３との通信が終了した後、記憶部２５に記憶されるキー情報が削除若しくは無効化される。すなわち、通信情報の暗号化に使用されたキー情報がその使用後直ちに無効化される。これにより、キー情報が漏えいするリスクをより効果的に低減できる。
【０１６９】
＜第６の実施形態の変形例＞
次に、第６の実施形態の変形例について、図２０のフロー図を参照して説明する。
【０１７０】
図２０に示すログイン処理において、ステップＳＴ２００（ログイン用のＷｅｂページの要求）からステップＳＴ２６５（暗号化したパスワードの送信）までの手順は、図９に示す変形例のログイン処理と同様である。
図２０に示すログイン処理では、暗号処理部２０５においてパスワードが暗号化された後（ステップＳＴ２４０）、情報無効化部２０９によるキー情報の無効化が行われずに、照合部２０８において暗号化パスワードの照合が行われる（ステップＳＴ２８５）。そして、照合の結果ログインが許可されると、サーバ装置２と端末装置３との間におけるその後の通信が、無効化されなかったキー情報を用いて暗号化される。すなわち、サーバ装置２の暗号処理部２０５と端末装置３の暗号処理部３０５が、キー情報を共通キーとして用いることにより、通信情報の暗号化・復号化を行う（ステップＳＴ３１０）。
そして、両者の通信が終了すると、情報無効化部２０９は、記憶部２５のセッション管理テーブル２１３に記憶されるキー情報を削除若しくは無効化する（ステップＳＴ３１５）。
【０１７１】
以上説明したように、図２０に示す変形例によれば、通信ネットワーク９において常に暗号化された状態で伝送されることにより秘密状態が保たれたキー情報を用いて、サーバ装置２と端末装置３との通信情報が暗号化されているため、通信内容の漏えいを効果的に防止できる。
また、ログインの度にランダムに変化するキー情報によって通信情報が暗号化されるため、セキュリティの高い暗号化通信を実現できる。
更に、サーバ装置２と端末装置３との通信が終了した後、記憶部２５に記憶されるキー情報が削除若しくは無効化されるので、キー情報が漏えいするリスクをより効果的に低減できる。
【０１７２】
＜第７の実施形態＞
次に、本発明の第７の実施形態について説明する。
上述した各実施形態に係るコンピュータシステムでは、ログインを要求する際、端末装置３の入力部３４において利用者ＩＤとパスワードの入力が求められるが（ステップＳＴ２１０，図８）、本実施形態に係るコンピュータシステムでは、端末装置３の入力部３４において利用者ＩＤとパスワードを入力することなく自動的にログイン処理が進行する。
【０１７３】
本実施形態では、端末装置３の記憶部３５に保存されるクッキー情報３１２によって、利用者データベース２１２に登録される利用者認証情報（利用者ＩＤ，パスワード）と端末認証情報（認証情報Ａ，Ｂ）との組み合わせが特定される。
端末装置３がクッキー情報３１２を保有していない場合（初回のログイン時など）には、既に説明した第１，第２の実施形態の方法によりログインが行われ、２回目以降のログインにおいて端末装置３がクッキー情報３１２を保有している場合は、本実施形態の自動的なログイン処理が行われる。
【０１７４】
利用者認証情報と端末認証情報の組み合わせを特定するクッキー情報としては、例えば、利用者ＩＤと認証情報Ａが用いられる。
具体的には、サーバ装置４の情報取得部２０３は、利用者ＩＤと認証情報Ａに所定の変換処理（符号の並べ替え処理，ＭＤ５等のハッシュ関数による処理等）を施して、利用者ＩＤと認証情報Ａの組み合わせに一意に対応する「利用者・端末識別情報」を生成する（簡易的には、利用者ＩＤと認証情報Ａを単純に結合したものでもよい）。
端末装置３のログオンが許可された場合、サーバ装置２の情報取得部２０３は、利用者ＩＤと認証情報Ａに所定の変換処理を施して「利用者・端末識別情報」（新たな第１情報）を生成する。そして、情報取得部２０３は、この「利用者・端末識別情報」を含んだクッキー情報を元の利用者認証情報（利用者ＩＤ，パスワード）および端末認証情報（認証情報Ａ，Ｂ）に関連付けて利用者データベース２１２に格納するとともに、このクッキー情報を端末装置３へ送信する。
端末装置３の認証情報生成部３０３は、ログオンが許可された場合にサーバ装置２から送信される上述した「利用者・端末識別情報」を含んだクッキー情報を、記憶部３５に格納する。
次回以降のログオン処理において、「利用者・端末識別情報」を含んだクッキー情報が記憶部３５に記憶されている場合、認証情報生成部３０３は、利用者ＩＤ及び認証情報（元の第１情報）の代わりに、この「利用者・端末識別情報」を含んだクッキー情報をサーバ装置２に送信する。
「利用者・端末識別情報」を含むクッキー情報を端末装置３から受信した場合、サーバ装置２の情報取得部２０３は、この「利用者・端末識別情報」を検索キーとして、利用者データベース２１２から利用者認証情報と端末認証情報を取得する。
【０１７５】
図２１は、本実施形態において端末装置３がサーバ装置２にログインする処理の一例を示すフロー図である。
【０１７６】
まず端末装置３のＷｅｂブラウザ部３０２が、サーバ装置２のログイン用Ｗｅｂページにアクセスし、記憶部３５に保存されるクッキー情報３１２をサーバ装置２に送信する（ステップＳＴ２０１）。
【０１７７】
サーバ装置２の情報取得部２０３は、ログイン要求元の端末装置３からクッキー情報３１２を受信した場合、このクッキー情報に含まれる「利用者・端末識別情報」（新たな第１情報）に関連づけられた認証情報Ｂ（第２情報）及び認証情報Ａ（第３情報）を記憶部２６の利用者データベース２１２から取得する（ステップＳＴ２２５）。
情報取得部２０３は、認証情報Ｂ（第２情報）と認証情報Ａ（第３情報）を利用者データベース２１２から取得した場合、この取得した認証情報Ｂ及び認証情報Ａを、クッキー情報に含まれるセッションＩＤと関連付けて、記憶部２５のセッション管理テーブル２１３に登録する。この場合、図４に示すセッション管理テーブル２１３において利用者ＩＤとパスワードが省略される。
【０１７８】
利用者データベース２１２から認証情報Ｂ（第２情報）と認証情報Ａ（第３情報）が取得された場合、サーバ装置２のキー情報生成部２０４は、ランダムなキー情報を生成してセッション管理テーブル２１３に格納する（ステップＳＴ２３０）。
【０１７９】
次いで、サーバ装置２の暗号処理部２０５は、キー情報生成部２０４において生成されたキー情報を情報取得部２０３において取得された認証情報Ｂ（第２情報）により暗号化する（ステップＳＴ２３５）。
暗号処理部２０５は、認証情報Ｂにより暗号化したキー情報を、ログイン要求元の端末装置３へ送信する。また、サーバ装置２のＷｅｂサーバ部２０２は、署名付きプログラムを端末装置３に送信する（ステップＳＴ２５１）。
【０１８０】
また端末装置３のＷｅｂブラウザ部３０２は、サーバ装置２から受信した署名付きプログラムを実行するとともに、これに添付される認証情報（デジタル証明書）を検証する。署名付きプログラムが実行されると、ＯＳ判定部３０４が端末装置３にインストールされたＯＳを判定する。
ＯＳ判定部３０４においてＯＳの種別が判定され、かつ、Ｗｅｂブラウザ部３０２において署名付きプログラムの正当性が確認された場合、固有情報取得部３０８は、この判定されたＯＳの種別に応じたコマンドをＯＳに実行させて、記憶部３５に記憶された固有情報３２１（第１固有情報）を取得する。認証情報生成部３０３は、固有情報取得部３０８によって取得された固有情報３２１に基づいて２つの認証情報Ａ，Ｂを生成し、これらを記憶部３５へ一時的に格納する（ステップＳＴ２１５）。
【０１８１】
また、端末装置３の暗号処理部３０５は、サーバ装置２から暗号化されたキー情報を受信した場合、この受信したキー情報を記憶部３５の認証情報Ｂ（第２情報）によって復号化する（ステップＳＴ２５５）。
【０１８２】
更に、暗号処理部３０５は、この復号化したキー情報によって記憶部３５の認証情報Ａ（第３情報）を暗号化し（ステップＳＴ２６１）、当該暗号化した認証情報ＡをセッションＩＤとともにサーバ装置２へ送信する（ステップＳＴ２６６）。
【０１８３】
サーバ装置２の暗号処理部２０５は、キー情報によって暗号化された認証情報ＡをセッションＩＤとともに端末装置３から受信した場合、この端末装置３に送信した暗号化したキー情報に対応する元のキー情報を、記憶部２５のセッション管理テーブル２１３から取得する。そして暗号化処理部２０５は、セッション管理テーブル２１３から取得したキー情報に基づいて、端末装置３から受信した暗号化された認証情報Ａを復号化する（ステップＳＴ２７１）。
【０１８４】
端末装置３で暗号化された認証情報Ａ（第３情報）が暗号処理部２０５において元のキー情報により復号化されると、サーバ装置２の情報無効化部２０９は、記憶部２５のセッション管理テーブル２１３に登録される元のキー情報を削除若しくは無効化する（ステップＳＴ２７５）。
【０１８５】
サーバ装置２の照合部２０８は、暗号処理部２０５において認証情報Ａが復号化されると、この復号化された認証情報Ａとセッション管理テーブル２１３に登録される認証情報Ａとを比較し、両者が一致している場合にログインの許可を判定する（ステップＳＴ２８１）。
【０１８６】
以上説明したように、本実施形態によれば、端末装置３に保存されたクッキー情報（利用者データベース２１２のレコードを特定可能な情報）を用いることによって、自動的にログイン処理を進めることが可能となり、利用者がＩＤやパスワードを入力する手間を無くすことができる。
もし、クッキー情報を盗んだ第三者が他の端末装置でログインを試みても、端末認証情報の異なる他の端末装置のログインをサーバ装置２が拒否するので、第三者のなりすましを確実に排除できる。従って、自動ログインによって利便性を向上させつつ、高いセキュリティを保つことができる。
【０１８７】
＜第７の実施形態の変形例＞
次に、第７の実施形態の変形例について、図２２のフロー図を参照して説明する。
図２１に示すログイン処理では、端末装置３で暗号化された認証情報Ａがサーバ装置２において復号化され、その復号化後の認証情報Ａと利用者データベース２１２に登録される認証情報Ａとが照合される。
一方、図２２に示すログイン処理では、サーバ装置２の利用者データベース２１２に登録される認証情報Ａがキー情報により暗号化され、この暗号化された認証情報Ａと端末装置３で暗号化された認証情報Ａとが照合される。
【０１８８】
図２２に示すログイン処理において、ステップＳＴ２０１（ログイン要求）からステップＳＴ２６６（暗号化した認証情報Ａの送信）までの手順は、図２１に示すログイン処理と同様である。
図２２に示す変形例では、サーバ装置２の照合部２０８において照合が行われる前に、暗号処理部２０５において認証情報Ａ（第３情報）の暗号化が行われる。すなわち、暗号処理部２０５は、ステップＳＴ２３５で暗号化したキー情報に対応する元のキー情報を用いて、認証情報Ａ（第３情報）を暗号化する（ステップＳＴ２４１）。暗号処理部２０５は、この暗号化した認証情報Ａをセッション管理テーブル２１３に登録する。
認証情報Ａの暗号化後、情報無効化部２０９はセッション管理テーブル２１３に登録されるキー情報を削除若しくは無効化する（ステップＳＴ２４５）。
【０１８９】
そして、端末装置３から暗号化された認証情報Ａが受信されると、サーバ装置２の照合部２０８は、ステップＳＴ２４１で暗号化された認証情報ＡとステップＳＴ２６６で受信された暗号化された認証情報Ａとを比較する。両者が一致している場合、照合部２０８はログインの許可を判定する（ステップＳＴ２８６）。
【０１９０】
照合部２０８において照合が行われた後、情報無効化部２０９は、記憶部２５に記憶される（セッション管理テーブル２１３に登録される）暗号化された認証情報Ａを削除若しくは無効にする（ステップＳＴ２９１）。
【０１９１】
以上説明したように、図２２に示す変形例によれば、サーバ装置２の暗号処理部２０５において復号処理を行う必要がないので、復号化部２０７を省略することができる。また、端末装置３の復号化処理・暗号化処理（ＳＴ２５５，ＳＴ２６１）と並行に、サーバ装置２の暗号化処理（ＳＴ２４１）を実行できるので、ログイン処理を高速化できる。
【０１９２】
＜第８の実施形態＞
次に、本発明の第８の実施形態について、図２３のフロー図を参照して説明する。
【０１９３】
図２３に示すログイン処理において、ステップＳＴ２０１（ログイン要求）からステップＳＴ２７１（キー情報による認証情報Ａの復号化）までの手順は、図２１に示すログイン処理と同様である。
図２１に示すログイン処理では、端末装置３で暗号化された認証情報Ａがサーバ装置２において復号された後（ステップＳＴ２７１）、その復号化に用いられたキー情報がサーバ装置２の記憶部２５から直ちに削除される（ステップＳＴ２７５）。
一方、図２３に示すログイン処理では、サーバ装置２の暗号処理部２０５において復号化が行われた後（ステップＳＴ２７１）、キー情報の削除が行われずに照合部２０８の照合が行われる（ステップＳＴ２８１）。そして、照合の結果ログインが許可されると、サーバ装置２と端末装置３との間におけるその後の通信が、このキー情報によって暗号化される。すなわち、サーバ装置２の暗号処理部２０５と端末装置３の暗号処理部３０５とが、共通のキー情報を用いて通信情報の暗号化・復号化を行う（ステップＳＴ３００）。
両者の通信が終了すると、情報無効化部２０９は、記憶部２５のセッション管理テーブル２１３に記憶されるキー情報を削除若しくは無効化する（ステップＳＴ３０５）。
【０１９４】
以上説明したように、本実施形態によれば、秘密状態が保たれたキー情報を用いて、サーバ装置２と端末装置３との通信情報が暗号化されているため、通信内容の漏えいを効果的に防止できる。
また、ログインの度にランダムに変化するキー情報によって通信情報が暗号化されるため、よりセキュリティの高い暗号化通信を実現できる。
更に、サーバ装置２と端末装置３との通信が終了した後、記憶部２５に記憶されるキー情報が削除若しくは無効化されるため、キー情報が漏えいするリスクをより効果的に低減できる。
【０１９５】
＜第８の実施形態の変形例＞
次に、第８の実施形態の変形例について、図２４のフロー図を参照して説明する。
【０１９６】
図２４に示すログイン処理において、ステップＳＴ２０１（ログイン要求）からステップＳＴ２６６（暗号化された認証情報Ａの送信）までの手順は、図２２に示す変形例のログイン処理と同様である。
図２４に示すログイン処理では、暗号処理部２０５において認証情報Ａが暗号化された後（ステップＳＴ２４１）、情報無効化部２０９によるキー情報の無効化が行われずに、照合部２０８において暗号化された認証情報Ａの照合が行われる（ステップＳＴ２８６）。そして、照合の結果ログインが許可されると、サーバ装置２と端末装置３との間におけるその後の通信が、無効化されなかったキー情報を用いて暗号化される。すなわち、サーバ装置２の暗号処理部２０５と端末装置３の暗号処理部３０５が、キー情報を共通キーとして用いることにより、通信情報の暗号化・復号化を行う（ステップＳＴ３１１）。
そして、両者の通信が終了すると、情報無効化部２０９は、記憶部２５のセッション管理テーブル２１３に記憶されるキー情報を削除若しくは無効化する（ステップＳＴ３１６）。
【０１９７】
以上説明したように、図２４に示す変形例によれば、通信ネットワーク９において常に暗号化された状態で伝送されることにより秘密状態が保たれたキー情報を用いて、サーバ装置２と端末装置３との通信情報が暗号化されているため、通信内容の漏えいを効果的に防止できる。
また、ログインの度にランダムに変化するキー情報によって通信情報が暗号化されるため、セキュリティの高い暗号化通信を実現できる。
更に、サーバ装置２と端末装置３との通信が終了した後、記憶部２５に記憶されるキー情報が削除若しくは無効化されるので、キー情報が漏えいするリスクをより効果的に低減できる。
【０１９８】
＜第９の実施形態＞
次に、本発明の第９の実施形態について、図２５を参照して説明する。
第９の実施形態では、端末装置３からの応答が一定時間を超えて無かった場合に、認証情報の暗号化に用いるキー情報を削除する。
【０１９９】
図２５に示すログイン処理において、ステップＳＴ２００（ログイン用のＷｅｂページの要求）からステップＳＴ２５０（暗号化したキー情報の送信）までの手順は、図８に示すログイン処理と同様である。
本実施形態では、暗号処理部２０５が認証情報Ｂにより暗号化したキー情報を端末装置３へ送信した場合に、その時刻に対応する時刻情報を暗号化前の元のキー情報に関連付けてセッション管理テーブル２１３に登録する。
【０２００】
そして、情報無効化部２０９は、暗号化されたキー情報が端末装置３へ送信された後、この暗号化されたキー情報に対応する元のキー情報に関連付けてセッション管理テーブル２１３に登録される時刻情報を、暗号化されたパスワードが端末装置３から受信されるまで（ステップＳＴ２６５まで）監視する。
例えば情報無効化部２０９は、暗号化されたキー情報が端末装置３へ送信された後、セッション管理テーブル２１３に「監視中」を示すフラグ情報を記録する。そして、情報無効化部２０９は、「監視中」のフラグ情報を持つ通信セッションの時刻情報をセッション管理テーブル２１３から定期的に取得し、この時刻情報が示す時刻からの経過時間（時刻情報が示す時刻と現在時刻との差）を算出する。
【０２０１】
そして、情報無効化部２０９は、監視対象の時刻情報の経過時間を所定の時間Ｔと比較し、経過時間が所定の時間Ｔを超えた場合、この監視対象の時刻情報に関連付けられたキー情報をセッション管理テーブル２１３から削除するか、若しくは無効化する（ステップＳＴ２４６）。
他方、監視対象の時刻情報の経過時間が所定の時間Ｔを超える前に、端末装置３からの応答（暗号化されたパスワード）が受信された場合、情報無効化部２０９は、セッション管理テーブル２１３に記録した「監視中」のフラグ情報をクリアする（「非監視中」の状態にする）。
【０２０２】
このように、本実施形態では、ログイン処理の途中で端末装置３からの応答が一定時間以上途絶えた場合に、ステップＳＴ２２５で生成されたキー情報が無効化されて、ログイン処理が中断される。これにより、キー情報の漏えいを効果的に防止できるため、セキュリティを更に向上できる。
【０２０３】
以上、本発明の種々の実施形態について説明したが、本発明は上述した実施形態に限定されるものではなく、種々のバリエーションを含んでいる。
【０２０４】
上述した第１乃至第６の実施形態では、本発明における「第１情報」を認証情報Ａ及び利用者ＩＤ、「第２情報」を認証情報Ｂ、「第３情報」をパスワードとしており、上述した第７，第８の実施形態では、本発明における「第１情報」をクッキー情報（「利用者・端末識別情報」）、「第２情報」を認証情報Ｂ、「第３情報」を認証情報Ａとしているが、本発明はこの例に限定されない。
本発明における「第２情報」と「第３情報」は、端末装置とサーバ装置が共有する秘密情報であり、「第１情報」は、サーバ装置に格納される「第２情報」と「第３情報」のペアを特定するために用いられる情報であって、これらの属性は任意である。
従って、例えば端末認証のみが必要な場合（特定の利用者が特定の端末装置のみを使用する場合）は、「第１情報」「第２情報」「第３情報」の全てを端末認証情報としてもよい。逆に、利用者認証のみが必要な場合は、これらの情報の全てを利用者認証情報としてもよい。また、「第１情報」「第２情報」「第３情報」が端末認証情報と利用者認証情報をそれぞれ含むようにしてもよい。
【０２０５】
上述の実施形態では、端末装置３の固有情報を処理部３１の記憶部３５から取得しているが本発明はこれに限定されない。本発明の他の実施形態では、処理部３１によって制御される周辺機器のメモリから固有情報を取得してもよい。
【０２０６】
上述の実施形態では、第２固有情報としてＭＡＣアドレスを例に挙げているが、ＯＳの種別が不明でも取得可能な他の固有情報を第２固有情報として取得してもよい。
【０２０７】
本発明において、利用者認証情報は利用者ＩＤとパスワードに限定されるものではなく、例えば指紋認証や静脈認証などの生体認証情報を用いてもよい。
【０２０８】
上述した第３，第４の実施形態では、「利用者・端末識別情報」を利用者データベース２１２に登録しているが、本発明はこの例に限定されない。例えば、端末装置３からクッキー情報３１２を受信した場合、サーバ装置２の情報取得部２０３は、受信したクッキー情報３１２に含まれる「利用者・端末識別情報」に対して上述とは逆の変換処理を施すことにより利用者ＩＤと認証情報Ａを再生し、この利用者ＩＤと認証情報Ａに基づいて、利用者データベース２１２から必要な情報を取得するようにしてもよい。
【符号の説明】
【０２０９】
１…コンピュータシステム、２…サーバ装置、３…端末装置、９…通信ネットワーク、２１，３１…処理部、２２，３２…通信部、２３，３３…表示部、２４，３４…入力部、２５，３５…記憶部、２０２…Ｗｅｂサーバ部、２０３…情報取得部、２０４…キー情報生成部、２０５，３０５…暗号処理部、２０８…照合部、２０９…情報無効化部、２１２…利用者データベース、２１３…セッション管理テーブル、３０２…Ｗｅｂブラウザ部、３０３…認証情報生成部、３１２…クッキー情報、３２０…内部メモリ、３２１…固有情報 
【図１】
0005665592.tif 000002
【図２】
0005665592.tif 000003
【図３】
0005665592.tif 000004
【図４】
0005665592.tif 000005
【図５】
0005665592.tif 000006
【図６】
0005665592.tif 000007
【図７】
0005665592.tif 000008
【図８】
0005665592.tif 000009
【図９】
0005665592.tif 000010
【図１０】
0005665592.tif 000011
【図１１】
0005665592.tif 000012
【図１２】
0005665592.tif 000013
【図１３】
0005665592.tif 000014
【図１４】
0005665592.tif 000015
【図１５】
0005665592.tif 000016
【図１６】
0005665592.tif 000017
【図１７】
0005665592.tif 000018
【図１８】
0005665592.tif 000019
【図１９】
0005665592.tif 000020
【図２０】
0005665592.tif 000021
【図２１】
0005665592.tif 000022
【図２２】
0005665592.tif 000023
【図２３】
0005665592.tif 000024
【図２４】
0005665592.tif 000025
【図２５】
0005665592.tif 000026