サーバ装置並びにコンピュータシステムとそのログイン方法
【課題】負荷の軽い簡易な暗号方式で認証情報の漏洩を効果的に防止できるサーバ装置とそのプログラム並びにコンピュータシステムとそのログイン方法を提供する。
【解決手段】サーバ装置2は、事前に各端末装置3の認証情報A,Bと利用者IDとパスワードを関連付けて記憶する。ログインを要求する場合、端末装置3は利用者IDと認証情報Aをサーバ装置2に送信する。サーバ装置2は、利用者IDと認証情報Aに基づいて認証情報Bとパスワードを取得し、この認証情報Bをランダムなキー情報で暗号化して端末装置3に送信する。端末装置3は、暗号化されたキー情報を認証情報Bにより復号化する。そして端末装置3は、復号化したキー情報によりパスワードを暗号化し、サーバ装置2へ送信する。サーバ装置2は、端末装置3から受信したパスワードを元のキー情報により復号化し、予め記憶するパスワードと照合する。
【解決手段】サーバ装置2は、事前に各端末装置3の認証情報A,Bと利用者IDとパスワードを関連付けて記憶する。ログインを要求する場合、端末装置3は利用者IDと認証情報Aをサーバ装置2に送信する。サーバ装置2は、利用者IDと認証情報Aに基づいて認証情報Bとパスワードを取得し、この認証情報Bをランダムなキー情報で暗号化して端末装置3に送信する。端末装置3は、暗号化されたキー情報を認証情報Bにより復号化する。そして端末装置3は、復号化したキー情報によりパスワードを暗号化し、サーバ装置2へ送信する。サーバ装置2は、端末装置3から受信したパスワードを元のキー情報により復号化し、予め記憶するパスワードと照合する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、端末装置のログイン要求を処理するサーバ装置並びにコンピュータシステムとそのログイン方法に係り、特に、端末装置がサーバ装置へログインする際に端末装置とサーバ装置との間でやりとりされる秘密情報の漏洩を防止する方法に関するものである。
【背景技術】
【0002】
近年、インターネットを通じて種々のサービスを提供する情報通信システムが、企業のみならず個人のレベルでも広く利用されている。インターネットは不特定のコンピュータが接続可能な公衆ネットワークであるため、特定の利用者にだけサービスを提供する場合は、サーバ装置において利用者若しくはコンピュータの認証を行う必要がある。
一般的なサーバ装置では、アクセスを要求するコンピュータから利用者IDとパスワードを取得し、これが予め登録されたものと一致している場合にログインを許可する。
また、特許文献1に記載されるサーバ装置では、アクセスを要求するコンピュータからその装置の固有情報(CPUのID,BIOSの情報等)を取得し、これが予め登録されたものと一致している場合にログインを許可する。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】PCT/JP2010/001646明細書
【発明の概要】
【発明が解決しようとする課題】
【0004】
上述したパスワードや端末固有情報などの認証情報がそのままインターネットに流れてしまうと、ネットワークの通信データを監視する悪意の第三者に認証情報が漏洩してしまう可能性がある。そこで、高いセキュリティが要求される認証情報等を送受信する場合は、一般にSSL(secure socket layer)などの暗号化通信プロトコルによって通信データが暗号化されている。
【0005】
しかしながら、SSLを使用するために商用の認証局からサーバ証明書を受けると、そのための費用が発生し、運営コストが上昇するという問題がある。また、SSLにおける公開鍵暗号方式は、共有鍵を用いる暗号方式に比べて複雑であり、サーバ装置での負荷が重くなるという問題がある。
【0006】
本発明はかかる事情に鑑みてなされたものであり、その目的は、負荷の軽い簡易な暗号方式で認証情報の漏洩を効果的に防止できるサーバ装置とそのプログラム並びにコンピュータシステムとそのログイン方法を提供することにある。
【課題を解決するための手段】
【0007】
本発明の第1の観点は、端末装置のログイン要求を処理するサーバ装置に関するものであり、このサーバ装置は、前記端末装置の情報記憶手段に記憶される前記端末装置の固有の情報に基づいて生成される第1情報と、少なくとも一方が前記固有情報に基づいて生成される第2情報及び第3情報とを関連付けて記憶する記憶部と、前記端末装置からログイン要求を受信した場合、当該端末装置において実行される端末側プログラムを当該端末装置へ送信するプログラム送信部と、ログイン要求元の端末装置から前記第1情報を受信した場合、当該受信した第1情報に関連づけられた前記第2情報及び前記第3情報を前記記憶部から取得する情報取得部と、前記端末装置からのログイン要求に応じて前記情報取得部が前記第2情報を取得する度に変化するキー情報を生成するキー情報生成部と、前記キー情報生成部において生成されたキー情報を前記情報取得部において取得された第2情報により暗号化し、当該暗号化したキー情報を前記ログイン要求元の端末装置へ送信する暗号処理部と、前記キー情報により暗号化された前記第3情報を前記ログイン要求元の端末装置から受信した場合、当該受信した第3情報と前記情報取得部において取得された第3情報とを照合する照合部とを有する。
前記端末側プログラムは、前記端末装置の情報記憶手段に記憶された前記固有情報を取得する第1固有情報取得手段、前記取得した前記固有情報に基づいて、前記第1情報を生成するとともに前記第2情報及び前記第3情報の少なくとも一方を生成し、当該生成した第1情報を前記サーバ装置に送信する情報生成手段、前記サーバ装置から受信した前記暗号化されたキー情報を前記第2情報により復号化する端末側復号化手段、及び、前記復号化したキー情報により前記第3情報を暗号化し、当該暗号化した第3情報を前記サーバ装置に送信する端末側暗号化手段として前記端末装置を機能させる。
【0008】
好適に、前記情報生成手段は、所定の付加情報と前記固有情報とを含んだデータに一方向性関数を施した結果に基づいて前記第1情報を生成するとともに、前記所定の付加情報とは異なる付加情報と前記固有情報とを含んだデータに一方向性関数を施した結果に基づいて前記第2情報及び/又は前記第3情報を生成する。
または、前記情報生成手段は、前記端末装置の情報記憶手段から取得された固有情報の一部に一方向性関数を施した結果に基づいて前記第1情報を生成するとともに、前記取得された固有情報の他の一部に一方向性関数を施した結果に基づいて前記第2情報及び/又は前記第3情報を生成してよい。
または、前記情報生成手段は、前記固有情報に一方向性関数を施した結果に基づいて前記第1情報を生成するとともに、前記固有情報に前記第1情報の生成に用いた一方向性関数とは異なる一方向性関数を施した結果に基づいて前記第2情報及び/又は前記第3情報を生成してよい。
【0009】
好適に、前記端末側プログラムは、更に、前記端末装置にインストールされたオペレーティングシステムの種別を判定する判定手段として前記端末装置を機能させる。
第1固有情報取得手段は、前記判定手段において判定された前記種別に応じた所定の命令を前記オペレーティングシステムに実行させることにより、前記端末装置を構成するハードウェアに係る固有情報、及び、前記端末装置にインストールされたソフトウェアに係る固有情報の何れか一方若しくは両方を前記端末装置の情報記憶手段から取得してよい。
【0010】
好適に、上記サーバ装置は、前記端末装置との通信セッションを識別するためのセッション識別情報を生成し、当該生成したセッション識別情報を前記端末装置に通知するセッション情報生成部を有する。
前記暗号処理部は、前記セッション情報を前記キー情報とともに前記第2情報によって暗号化してよい。
前記端末側復号化手段は、前記暗号化処理部において前記キー情報とともに暗号化された前記セッション情報を復号化してよい。
前記端末側プログラムは、更に、通信セッションの開始時に前記サーバ装置から通知されたセッション情報と前記復号化したセッション情報とを照合し、両者が一致しない場合は前記サーバ装置への前記暗号化された第3情報の送信を禁止するセッション情報照合手段として前記端末装置を機能させてよい。
【0011】
好適に、前記プログラム送信部は、前記端末側プログラムの正当性を認証するための認証情報を前記端末側プログラムとともに前記端末装置へ送信する。
前記第1固有情報取得手段は、前記端末装置のプログラム正当性確認手段において前記認証情報に基づいて前記端末側プログラムの正当性が確認されることを条件として、前記固有情報の取得を実行してよい。
【0012】
好適に、前記端末側プログラムは、更に、前記オペレーティングシステムの種別に依らずに取得可能な固有情報を前記端末装置の前記情報記憶手段から取得する第2固有情報取得手段として前記端末装置を機能させる。
前記情報生成手段は、前記判定手段において前記端末装置にインストールされたオペレーティングシステムの種別を判定できない場合、又は、前記端末装置の前記プログラム正当性確認手段において前記端末側プログラムの正当性を確認できない場合に、前記第2固有情報取得手段で取得された前記固有情報に基づいて、前記第1情報を生成するとともに前記第2情報及び前記第3情報の少なくとも一方を生成し、当該生成した第1情報を前記サーバ装置に送信してよい。
【0013】
好適に、前記記憶部は、前記第1情報の生成並びに当該第1情報に関連付けられた前記第2情報及び/又は前記第3情報の生成に用いられた前記固有情報が前記第1固有情報取得手段において取得された固有情報(以下、「第1固有情報」と記す。)であるか又は前記第2固有情報取得手段において取得された固有情報(以下、「第2固有情報」と記す。)であるかを示すフラグ情報を更に記憶する。
前記情報生成手段は、前記第1情報を前記サーバ装置へ送信する際、前記第1情報に係る前記フラグ情報を前記サーバ装置へ送信してよい。
前記情報取得部は、前記第1情報とこれに係る前記フラグ情報を前記端末装置から受信した場合、当該受信した第1情報と一致する第1情報を前記記憶部において検索してよく、当該検索した第1情報について前記記憶部に記憶される前記フラグ情報が当該受信したフラグ情報と一致するならば、当該検索した第1情報に関連付けられた前記第2情報及び前記第3情報を前記記憶部から取得してよい。
【0014】
好適に、前記情報取得部は、前記端末装置から受信した第1情報を前記記憶部の記憶情報から検索できず、かつ、当該受信した第1情報に係る前記フラグ情報が前記第1固有情報に基づいて当該第1情報が生成されたことを示す場合、前記第2固有情報に基づいて生成された前記第1情報の送信を求める送信要求を前記端末装置に送信する。
前記端末装置において前記送信要求が受信された場合、前記情報生成手段は、前記第2固有情報に基づいて生成した前記第1情報とこれに係る前記フラグ情報を前記サーバ装置に送信してよい。
前記送信要求に応答した前記端末装置から前記サーバ装置へ前記第1情報が送信され、前記サーバ装置において当該第1情報に関連付けられた前記第2情報により前記キー情報が暗号化され、当該暗号化されたキー情報が前記サーバ装置から前記端末装置へ送信された場合、前記端末側復号化手段は、当該暗号化されたキー情報を、前記第2固有情報に基づいて生成された前記第2情報により復号化するか、若しくは、前記端末装置の情報入力手段に入力された前記第2情報により復号化してよい。また、この場合、前記端末側暗号化手段は、前記第2固有情報に基づいて生成された前記第3情報若しくは前記端末装置の情報入力手段に入力された第3情報を、前記復号化されたキー情報により暗号化して前記サーバ装置に送信するとともに、前記第1固有情報に基づいて生成された前記第2情報及び/又は第3情報を、前記復号化されたキー情報により暗号化して前記サーバ装置に送信してよい。
前記暗号処理部は、前記第1固有情報に基づいて生成されて前記キー情報により暗号化された前記第2情報及び/又は前記第3情報を、前記キー情報生成部において生成されたキー情報により復号化してよい。
前記照合部は、前記第2固有情報に基づいて生成されるか若しくは前記端末装置の情報入力手段に入力されて前記キー情報により暗号化された前記第3情報と、前記情報取得部において取得された第3情報とを照合してよい。
前記情報取得部は、前記第2固有情報に基づいて生成されるか若しくは前記端末装置の情報入力手段に入力された第3情報と前記情報取得部において取得された第3情報とが一致すると前記照合部において判定された場合、前記第1固有情報に基づいて生成されて前記キー情報により復号化された第2情報及び/又は第3情報と、前記第1固有情報に基づいて生成され、前記記憶部の記憶情報から検索できなかった前記第1情報と、前記第2固有情報に基づいて生成され、前記送信要求に応答した前記端末装置から前記サーバ装置へ送信された前記第1情報とを関連付けて前記記憶部に格納し、各第1情報に係る前記フラグ情報を前記記憶部に格納してよい。
【0015】
前記第1固有情報に基づいて生成された第1情報が前記記憶部の記憶情報から検索できないため、前記第2固有情報に基づいて生成された前記第1情報に関連付けられた前記第2情報及び前記第3情報が前記記憶部から取得され、当該取得された第2情報により暗号化された前記キー情報と前記第2固有情報に基づいて生成された前記第1情報に係る前記フラグ情報とが前記サーバ装置から前記端末装置へ送信された場合、前記端末側復号化手段は、前記暗号化されたキー情報を、前記第2固有情報に基づいて生成された前記第2情報により復号化するか、若しくは、前記端末装置の情報入力手段に入力された前記第2情報により復号化してよい。また、この場合、前記端末側暗号化手段は、前記第2固有情報に基づいて生成された前記第3情報若しくは前記端末装置の情報入力手段に入力された第3情報を、前記復号化されたキー情報により暗号化して前記サーバ装置に送信するとともに、前記第1固有情報に基づいて生成された前記第2情報及び/又は第3情報を前記復号化されたキー情報により暗号化して前記サーバ装置に送信してよい。
前記暗号処理部は、前記第1固有情報に基づいて生成されて前記キー情報により暗号化された前記第2情報及び/又は前記第3情報を、前記キー情報生成部において生成されたキー情報により復号化してよい。
前記照合部は、前記第2固有情報に基づいて生成されるか若しくは前記端末装置の情報入力手段に入力されて前記キー情報により暗号化された前記第3情報と、前記情報取得部において取得された第3情報とを照合してよい。
前記情報取得部は、前記第2固有情報に基づいて生成されるか若しくは前記端末装置の情報入力手段に入力された第3情報と前記情報取得部において取得された第3情報とが一致すると前記照合部において判定された場合、前記第1固有情報に基づいて生成されて前記キー情報により復号化された第2情報及び/又は第3情報と、前記第1固有情報に基づいて生成され、前記記憶部の記憶情報から検索できなかった前記第1情報と、前記第2固有情報に基づいて生成された前記第1情報とを関連付けて前記記憶部に格納してよく、また、各第1情報に係る前記フラグ情報を前記記憶部に格納してよい。
【0016】
前記第2情報で暗号化された前記キー情報と、前記第2固有情報に基づいて当該第1情報が生成されたことを示すフラグ情報とが前記端末装置において受信された場合、前記端末側復号化手段は、前記暗号化されたキー情報を、前記第2固有情報に基づいて生成された前記第2情報により復号化するか、若しくは、前記端末装置の情報入力手段に入力された前記第2情報により復号化してよい。また、この場合、前記端末側暗号化手段は、前記第2固有情報に基づいて生成された前記第3情報若しくは前記端末装置の情報入力手段に入力された第3情報を、前記復号化されたキー情報により暗号化して前記サーバ装置に送信するとともに、前記第1固有情報に基づいて生成された前記第2情報及び/又は第3情報を前記復号化されたキー情報により暗号化して前記サーバ装置に送信してよい。
前記暗号処理部は、前記第1固有情報に基づいて生成されて前記キー情報により暗号化された前記第2情報及び/又は前記第3情報を、前記キー情報生成部において生成されたキー情報により復号化してよい。
前記照合部は、前記第2固有情報に基づいて生成されるか若しくは前記端末装置の情報入力手段に入力されて前記キー情報により暗号化された前記第3情報と、前記情報取得部において取得された第3情報とを照合してよい。
前記情報取得部は、前記第2固有情報に基づいて生成されるか若しくは前記端末装置の情報入力手段に入力された第3情報と前記情報取得部において取得された第3情報とが一致すると前記照合部において判定された場合、前記第1固有情報に基づいて生成されて前記キー情報により復号化された第2情報及び/又は第3情報と、前記第1固有情報に基づいて生成された前記第1情報と、前記第2固有情報に基づいて生成された前記第1情報とを関連付けて前記記憶部に格納し、各第1情報に係る前記フラグ情報を前記記憶部に格納してよい。
【0017】
好適に、前記暗号処理部は、前記暗号化したキー情報を前記端末装置へ送信した時刻に対応する時刻情報を、前記暗号化したキー情報を暗号化する前の元のキー情報に関連付けて前記記憶部に格納する。この場合、上記サーバ装置は、前記ログイン要求元の端末装置へ前記暗号化されたキー情報が送信された後、当該暗号化されたキー情報に対応する前記元のキー情報に関連付けて前記記憶部に格納される前記時刻情報を、当該端末装置から前記暗号化された第3情報を受信するまで監視し、当該監視対象の時刻情報が示す時刻からの経過時間が所定の時間を超えた場合、当該監視対象の時刻情報に関連付けられた前記元のキー情報を前記記憶部から削除する若しくは無効化する情報無効化部を有してよい。
【0018】
好適に、前記暗号処理部は、前記ログイン要求元の端末装置から受信した第3情報を、当該端末装置へ暗号化して送信したキー情報に対応する元の前記キー情報により復号化する。この場合、前記照合部は、前記暗号処理部において復号化された第3情報と前記情報取得部において取得された第3情報とが一致しているか否か判定してよい。
【0019】
好適に、前記暗号処理部は、前記情報取得部において取得された第3情報を、前記ログイン要求元の端末装置へ暗号化して送信したキー情報に対応する元の前記キー情報によって暗号化する。この場合、前記照合部は、前記端末装置から受信した暗号化された第3情報と前記暗号処理部により暗号化された第3情報とが一致しているか否か判定してよい。
【0020】
好適に、前記キー情報生成部は、前記暗号処理部により暗号化される前の元のキー情報を前記記憶部に格納する。この場合、上記サーバ装置は、前記端末装置において暗号化された第3情報が前記暗号処理部において前記元のキー情報により復号化された後、当該元のキー情報を前記記憶部から削除する若しくは無効化する情報無効化部を有してよい。
【0021】
好適に、前記キー情報生成部は、前記暗号処理部により暗号化される前の元のキー情報を前記記憶部に格納する。この場合、上記サーバ装置は、前記暗号処理部において前記第3情報が前記元のキー情報により暗号化された後、当該元のキー情報を前記記憶部から削除する若しくは無効化する情報無効化部を有してよい。
【0022】
好適に、前記暗号処理部は、前記照合部の照合結果に基づいて前記端末装置のログイン要求が許可された場合、当該端末装置へ送信する情報の少なくとも一部を前記キー情報により暗号化する処理、及び/又は、当該端末装置から受信する情報の少なくとも一部を前記キー情報により復号化する処理を行う。
この場合、前記キー情報生成部は、前記暗号処理部により暗号化される前の元のキー情報を前記記憶部に格納してよい。上記サーバ装置は、前記端末装置との通信が終了した場合、当該終了した通信において前記暗号処理部が使用した前記元のキー情報を前記記憶部から削除する若しくは無効化する情報無効化部を有してよい。
【0023】
好適に、前記第1情報が、前記端末装置の利用者を識別するために前記端末装置の情報入力手段から入力される利用者識別情報と前記固有情報とを含み、前記第2情報及び前記第3情報の少なくとも一方が、利用者本人を認証するために前記端末装置の情報入力手段から入力される本人認証情報を含む。
【0024】
好適に、前記情報取得部は、前記端末装置のログオンが許可された場合、前記第1情報に所定の変換を施して生成した新たな第1情報を元の第1情報に関連付けて前記記憶部に格納するとともに、前記新たな第1情報を前記端末装置へ送信する。
前記情報生成手段は、前記端末装置へのログオンが許可された場合に前記サーバ装置から送信された前記新たな第1情報を前記記憶部に格納し、次回の前記サーバ装置へのログイン処理においては、前記情報記憶手段に格納した前記新たな第1情報を前記サーバ装置に送信してよい。、
前記情報取得部は、前記端末装置から前記新たな第1情報を受信した場合、当該受信した新たな第1情報に関連づけられた前記第2情報及び前記第3情報を前記記憶部から取得してよい。
【0025】
本発明の第2の観点に係るコンピュータシステムは、端末装置と、前記端末装置のログイン要求を処理するサーバ装置とを具備する。
前記端末装置は、当該端末装置の固有の情報を記憶する端末側記憶部と、前記サーバ装置に対するログイン要求を送信するログイン要求送信部とを有する。
前記サーバ装置は、前記端末装置の前記端末側記憶部に記憶される前記固有情報に基づいて生成される第1情報と、少なくとも一方が前記固有情報に基づいて生成される第2情報及び第3情報とを関連付けて記憶するサーバ側記憶部と、前記端末装置から前記ログイン要求を受信した場合、当該端末装置において実行される端末側プログラムを当該端末装置へ送信するプログラム送信部と、前記端末装置から前記第1情報を受信した場合、当該受信した第1情報に関連づけられた前記第2情報及び前記第3情報を前記記憶部から取得する情報取得部と、前記端末装置からのログイン要求に応じて前記情報取得部が前記第2情報を取得する度に変化するキー情報を生成するキー情報生成部と、前記キー情報生成部において生成されたキー情報を前記情報取得部において取得された第2情報により暗号化し、当該暗号化したキー情報を前記ログイン要求元の端末装置へ送信する暗号処理部と、前記キー情報により暗号化された前記第3情報を前記ログイン要求元の端末装置から受信した場合、当該受信した第3情報と前記情報取得部において取得された第3情報とを照合する照合部とを有する。
前記端末側プログラムは、前記端末側記憶部から前記固有情報を取得する固有情報取得手段、前記取得した前記固有情報に基づいて、前記第1情報を生成するとともに前記第2情報及び前記第3情報の少なくとも一方を生成し、当該生成した第1情報を前記サーバ装置に送信する情報生成手段、前記サーバ装置から受信した前記暗号化されたキー情報を前記第2情報により復号化する端末側復号化手段、及び、前記復号化したキー情報により前記第3情報を暗号化し、当該暗号化した第3情報を前記サーバ装置に送信する端末側暗号化手段として前記端末装置を機能させる。
【0026】
本発明の第3の観点は、端末装置がサーバ装置にログインする方法に関するものであり、このログイン方法は、前記端末装置の情報記憶手段に記憶される前記端末装置の固有の情報に基づいて生成される第1情報と、少なくとも一方が前記固有情報に基づいて生成される第2情報及び第3情報とが、前記サーバ装置の記憶手段に関連付けて記憶された状態で、前記端末装置が前記サーバ装置にログイン要求を送信する第1工程と、前記サーバ装置が前記端末装置から前記ログイン要求を受信すると、前記サーバ装置のプログラム送信手段が、当該端末装置において実行される端末側プログラムを当該端末装置へ送信する第2工程と、前記端末側プログラムに基づく前記端末装置の固有情報取得手段が、前記端末装置の前記情報記憶手段から前記固有情報を取得する第3工程と、前記端末側プログラムに基づく前記端末装置の情報生成手段が、前記取得した前記固有情報に基づいて、前記第1情報を生成するとともに前記第2情報及び前記第3情報の少なくとも一方を生成し、当該生成した第1情報を前記サーバ装置に送信する第4工程と、前記サーバ装置の情報取得手段が、前記端末装置から受信した前記第1情報に関連づけられた前記第2情報及び前記第3情報を、前記サーバ装置の前記記憶手段から取得する第5工程と、前記サーバ装置のキー情報生成手段が、前記端末装置からのログイン要求に応じて前記情報取得手段が前記第2情報を取得する度に変化するキー情報を生成する第6工程と、前記サーバ装置の暗号処理手段が、前記キー情報生成手段において生成されたキー情報を前記情報取得手段において取得された第2情報により暗号化し、当該暗号化したキー情報を前記ログイン要求元の前記端末装置へ送信する第7工程と、前記端末側プログラムに基づく前記端末装置の端末側復号化手段が、前記サーバ装置から受信した前記暗号化されたキー情報を前記第2情報により復号化する第8工程と、前記端末側プログラムに基づく前記端末装置の端末側暗号化手段が、前記復号化されたキー情報により前記第3情報を暗号化し、当該暗号化した第3情報を前記サーバ装置に送信する第9工程と、前記サーバ装置の照合手段が、前記ログイン要求元の端末装置から受信した前記暗号化された第3情報と前記情報取得手段によって取得された第3情報とを照合する第10工程とを有する。
【発明の効果】
【0027】
本発明によれば、負荷の軽い簡易な暗号方式で認証情報の漏洩を効果的に防止できる。
【図面の簡単な説明】
【0028】
【図1】本発明の実施形態に係るコンピュータシステムの構成の一例を示す図である。
【図2】サーバ装置と端末装置のハードウェア構成の一例を示す図である。
【図3】サーバ装置の構成の一例を示す図である。
【図4】セッション管理テーブルの一例を示す。
【図5】第1の実施形態に係る端末装置の構成の一例を示す図である。
【図6】認証情報生成部が固有情報に基づいて2つの認証情報を生成する方法の例を示す図である。
【図7】端末認証情報と利用者認証情報を事前にサーバ装置の利用者データベースへ登録する方法の一例を説明するためのフロー図である。
【図8】第1の実施形態に係るログイン処理の一例を説明するフロー図である。
【図9】第1の実施形態の変形例に係るログイン処理の一例を説明するフロー図である。
【図10】第2の実施形態に係る端末装置の構成の一例を示す図である。
【図11】第2の実施形態に係るログイン処理の一例を説明するフロー図である。
【図12】第3の実施形態に係る端末装置の構成の一例を示す図である。
【図13】第3の実施形態に係るログイン処理の一例を説明するフロー図である。
【図14】第4の実施形態に係るログイン処理の一例を説明する第1のフロー図である。
【図15】第4の実施形態に係るログイン処理の一例を説明する第2のフロー図である。
【図16】第5の実施形態に係るログイン処理の一例を説明するフロー図である。
【図17】第5の実施形態に係るログイン処理において第1固有情報に基づき生成された認証情報が未だ利用者データベースに登録されていない場合の例を説明する第1のフロー図である。
【図18】第5の実施形態に係るログイン処理において第1固有情報に基づき生成された認証情報が未だ利用者データベースに登録されていない場合の例を説明する第2のフロー図である。
【図19】第6の実施形態に係るログイン処理の一例を説明するフロー図である。
【図20】第6の実施形態の変形例に係るログイン処理の一例を説明するフロー図である。
【図21】第7の実施形態に係るログイン処理の一例を説明するフロー図である。
【図22】第7の実施形態の変形例に係るログイン処理の一例を説明するフロー図である。
【図23】第8の実施形態に係るログイン処理の一例を説明するフロー図である。
【図24】第8の実施形態の変形例に係るログイン処理の一例を説明するフロー図である。
【図25】第9の実施形態に係るログイン処理の一例を説明するフロー図である。
【発明を実施するための形態】
【0029】
<第1の実施形態>
図1は、本発明の実施形態に係るコンピュータシステムの構成の一例を示す図である。
図1に示すコンピュータシステムは、インターネット等の通信ネットワーク9を介して接続されたサーバ装置2,4と複数の端末装置3を有する。
【0030】
サーバ装置2は、ログインを許可した端末装置3に種々のサービスを提供するコンピュータであり、例えばWebページを表示するコンテンツ(テキスト、映像、音声等)のダウンロードや、Webメール等のアプリケーションの利用、会員制サイトへのアクセス、ショッピング決済などのサービスを提供する。
【0031】
端末装置3は、サーバ装置2にアクセスしてWebコンテンツのダウンロード等のサービスの提供を受けるコンピュータであり、例えばパーソナルコンピュータや携帯情報端末などである。
【0032】
サーバ装置4は、サーバ装置2へログインするための認証情報を端末装置3から取得するコンピュータであり、利用者認証情報(利用者ID,パスワード)や端末装置3の認証用の情報を端末装置3から取得して、サーバ装置2の利用者データベース212に登録する処理を行う。
【0033】
本実施形態において端末装置3がサーバ装置2へログインする方法は、大まかに次の手順で実施される。
【0034】
まず事前に、端末装置3の固有情報に基づいて、端末認証用の2つの情報(認証情報A,B)が生成される。生成された端末認証情報は、利用者認証情報(利用者ID,パスワード)と関連付けられて、サーバ装置2の利用者データベース212(図3)に登録される。これにより、端末認証情報と利用者認証情報は、端末装置3とサーバ装置2の双方において既知の情報となる。
そしてサーバ装置2にログインを要求する場合、端末装置3は、利用者IDと認証情報A(本発明における第1情報)をサーバ装置2に送信する。
サーバ装置2は、端末装置3から利用者IDと認証情報Aを取得すると、これらの情報をキーとして、認証情報B(本発明における第2情報)とパスワード(本発明における第3情報)を利用者データベース212から検索する。検索により該当する認証情報Bとパスワードが見つかると、サーバ装置2は、ランダムなキー情報を生成して認証情報Bにより暗号化し、暗号化したキー情報を端末装置3へ送信する。
端末装置3は、この暗号化されたキー情報を自らの認証情報Bを用いて復号化する。そして端末装置3は、復号化したキー情報によりパスワードを暗号化し、サーバ装置2へ送信する。
サーバ装置2は、端末装置3から受信した暗号化されたパスワードを元のキー情報により復号化し、利用者データベース212から取得したパスワードと照合する。照合の結果、両者が一致している場合、サーバ装置2は端末装置3のログインを許可する。
上記のログイン方法では、認証情報Bやパスワードが平文のまま通信ネットワーク9を流れることがないため、秘密状態が安全に保たれる。
【0035】
次に、サーバ装置2と端末装置3の詳細な構成について、図2〜図6を参照して説明する。
【0036】
[サーバ装置2]
図2は、サーバ装置2と端末装置3のハードウェア構成の一例を示す図である。
図2に示すサーバ装置2は、処理部21と、通信部22と、表示部23と、入力部24と、記憶部25を有する。
【0037】
処理部21は、サーバ装置2の全体的な動作を制御する回路であり、記憶部24に格納されるプログラムに従って処理を実行する。例えば処理部21は、通信部22を制御して端末装置3と通信を行い、端末装置3からのログイン要求に応じた認証処理や、端末装置3へサービスを提供する処理(コンテンツのダウンロード等)を実行する。処理部21は、具体的には例えば、プログラムに基づいて処理を行うプロセッサ(CPU)、周辺ハードウェア(22〜25)とデータをやり取りするためのバス、バスを制御する回路(バスブリッジ回路)、キャッシュメモリなどを含んでいる。処理部21は、記憶部25のメモリ27に処理対象および処理途中のデータを適宜記憶させながら、プログラムの命令を順次に実行する。
【0038】
通信部22は、通信ネットワーク9を介して端末装置3と通信を行うための回路であり、例えばイーサネット(登録商標)などの所定の規格に適合した通信を行うための信号処理や制御、有線や無線で伝送される信号の変調・復調、データの符号化・復号化、パケットの処理、送受信のタイミングの調整などを行う。
【0039】
表示部23は、処理部21から入力される表示信号に応じた画面を表示する。例えば表示部23は、液晶ディスプレイ、ELパネルディスプレイ、CRTなどの表示デバイスと、表示デバイスに供給する画像信号の処理を行うグラフィック・コントローラを含む。
【0040】
入力部24は、使用者の指示や各種の情報を電気信号等に変換して処理部21に入力するための装置であり、例えばキーボード、マウス、操作ボタン、キーパッド、タッチパネルセンサーなどを含む。
【0041】
記憶部25は、処理部21における処理の実行に用いられるプログラムやデータを記憶する装置であり、例えば電源がオフのときもデータを保持する比較容量が大きなハードディスクやフラッシュROM等の記憶装置26と、SRAM等の比較的高速なメモリ27を含む。記憶装置26は、例えばオペレーティングシステム,BIOS,アプリケーション等のプログラムや、Webコンテンツ211、利用者データベース212などを記憶する。メモリ27は、記憶装置26から読み出したプログラムの実行コードや、処理過程で一時的に使用されるデータを記憶する。
【0042】
図3は、サーバ装置2の処理部21においてハードウエア要素とプログラムが協働することにより実現される構成の一例を示す図である。
【0043】
図3の例において、処理部21は、Webサーバ部202と、情報取得部203と、キー情報生成部204と、暗号処理部205と、照合部208と、情報無効化部209とを有する。
Webサーバ部202は、本発明におけるプログラム送信部並びにセッション情報生成部の一例である。
情報取得部203は、本発明における情報取得部の一例である。
キー情報生成部204は、本発明におけるキー情報生成部の一例である。
暗号処理部205は、本発明における暗号処理部の一例である。
照合部208は、本発明における照合部の一例である。
情報無効化部209は、本発明における情報無効化部の一例である。
【0044】
Webサーバ部202は、通信部22においてWebページの送信要求を受信した場合、該当するWebページのHTMLデータを記憶部25のWebコンテンツ211から読み出して(若しくは動的に生成して)、要求元の端末装置3に送信する。またWebサーバ部202は、HTMLデータに記述される関連データ(画像データ,ブラウザ用プログラムなど)を記憶部25のWebコンテンツ211から読み出して、要求元の端末装置3に送信する。
【0045】
更にWebサーバ部202は、通信部22においてWebページの送信要求を受信した場合、要求元の端末装置3との通信セッションを管理するためのセッションIDを生成し、このセッションIDを含むクッキー情報を要求元の端末装置3へ送信する。セッションIDは、サーバ装置2にアクセスする各端末装置3との通信セッションを識別するための情報であり、例えばランダム(準ランダム)なデータによって構成される。端末装置3は、同じ通信セッションにおいて再びWebサーバ部202にWebページの送信を要求する場合、このセッションIDが含まれたクッキー情報をサーバ装置2へ送信する。
【0046】
例えば、Webサーバ部202は、通信部22においてログイン用のWebページの送信要求を端末装置3から受信した場合、利用者IDやパスワードの入力を促すログイン用のHTMLデータを要求元の端末装置3に送信する。またこのとき、Webサーバ部202は、ログイン用のHTMLデータに記述される所定の署名付きプログラム(端末側プログラム)を要求元の端末装置3に送信する。この署名付きプログラムは、端末装置3において端末認証情報(認証情報A,B)の生成・送信、キー情報の復号化、パスワードの暗号化などを実行させる。
【0047】
情報取得部203は、ログイン要求元の端末装置3から認証情報Aと利用者ID(第1情報)をセッションIDとともに受信した場合、この受信した認証情報A及び利用者IDに関連づけられた認証情報B(第2情報)及びパスワード(第3情報)を記憶部26の利用者データベース212から検索して取得する。
【0048】
情報取得部203は、認証情報B(第2情報)とパスワード(第3情報)を利用者データベース212から取得した場合、取得した認証情報B及びパスワードと、端末装置3から受信した認証情報A及び利用者IDと、この端末装置3の通信セッションについて発行されたセッションIDとを関連づけて、記憶部25のセッション管理テーブル213に登録する。
【0049】
図4は、セッション管理テーブル213の一例を示す。セッション管理テーブル213の各レコードには、例えばセッションIDと、セッション情報と、端末認証情報(認証情報A,B)と、利用者認証情報(利用者ID,パスワード)と、後述のキー情報生成部204において生成されるキー情報が含まれる。セッション情報には、例えば通信相手に関する情報(IPアドレスなど)や通信セッションの状態に関する情報(通信中か否か、ログイン中か否か,ログインの許可/不許可などの情報)が含まれる。
【0050】
他方、情報取得部203は、認証情報B(第2情報)とパスワード(第3情報)を利用者データベース212から取得できなかった場合、ログイン要求の拒否を通知するWebページのHTMLデータ等を要求元の端末装置3に送信する。
【0051】
キー情報生成部204は、端末装置3からのログイン要求に応じて情報取得部203が利用者データベース212から認証情報B(第2情報)を取得する度に変化するキー情報を生成し、生成したキー情報を記憶部25のセッション管理テーブル213に格納する。キー情報生成部204は、例えばランダム(準ランダム)に変化するキー情報を生成する。
【0052】
暗号処理部205は、例えばAES(advanced
encryption standard)などの暗号方式によって端末装置3の認証に係る情報の暗号化や復号化を行うブロック(暗号化部206,復号化部207)を有する。
具体的には、暗号処理部205は、キー情報生成部204において生成されたキー情報を情報取得部203において取得された認証情報B(第2情報)により暗号化し、この暗号化したキー情報をログイン要求元の端末装置3へ送信する。
【0053】
また、先に概要を説明したように、暗号処理部205で暗号化されたキー情報が端末装置3において受信された場合、端末装置3では、この暗号化されたキー情報が端末装置3の認証情報B(第2情報)により復号化される。そして、復号化されたキー情報に基づいて、端末装置3の利用者のパスワード(第3情報)が暗号化され、暗号化されたパスワードが端末装置3からサーバ装置2へ送信される。
暗号処理部205は、この暗号化されたパスワードを端末装置3から受信した場合、端末装置3との通信セッションに係るセッションIDに基づいて、この端末装置3に送信した暗号化したキー情報に対応する元のキー情報を、上述のセッション管理テーブル213から取得する。そして暗号化処理部205は、セッション管理テーブル213から取得したキー情報に基づいて、端末装置3から受信した暗号化されたパスワードを復号化する。
【0054】
照合部208は、暗号化されたパスワードを端末装置3から受信した場合、この端末装置3との通信セッションに係るセッションIDに基づいて、端末装置3の利用者に係るパスワードを上述のセッション管理テーブル213から取得し、取得したパスワードと暗号化されたパスワードとを照合する。具体的には、照合部208は、暗号処理部205において復号化されたパスワードと、セッション管理テーブル213から取得したパスワードとが一致しているか否か判定する。照合の結果、端末装置3から受信したパスワードがセッション管理テーブル213のパスワードと一致している場合、照合部208は、ログインの許可を示すセッション情報をセッション管理テーブル213に登録する。
【0055】
情報無効化部209は、端末装置3において暗号化されたパスワード(第3情報)が暗号処理部205において元のキー情報により復号化された後、この元のキー情報を記憶部25のセッション管理テーブル213から削除する。
あるいは、情報無効化部209は、キー情報をセッション管理テーブル213から削除するかわりに、キー情報が無効であることを示すフラグ情報をセッション管理テーブル213に登録することで、以降そのキー情報を使用できないようにしてもよい(無効化してもよい)。
【0056】
[端末装置3]
次に、端末装置3の詳細な構成について説明する。
端末装置3は、例えば図2に示すように、処理部31と、通信部32と、表示部33と、入力部34と、記憶部35を有する。
【0057】
処理部31は、端末装置3の全体的な動作を制御する回路であり、記憶部35に格納されるプログラムやサーバ装置4から送信されるプログラムに従って処理を実行する。例えば処理部31は、入力部34から入力される利用者の指示に応じて、通信部32によりサーバ装置2と通信を行い、サーバ装置2から受信したWebページの画面を表示部33に表示し、サーバ装置2へログインするための処理や、サーバ装置2が提供するサービスに応じた処理(Webコンテンツの再生等)を実行する。処理部31は、例えば処理部21と同様にプロセッサやバス・コントローラ、キャッシュメモリ等を含んでおり、記憶部35のメモリ37に処理用のデータを適宜記憶させながらプログラムの命令を順次実行する。
【0058】
記憶部35は、処理部31における処理の実行に用いられるプログラムやデータを記憶する装置であり、例えば電源がオフのときもデータを保持する比較的容量が大きなハードディスクやフラッシュROM等の記憶装置36と、SRAM等の比較的高速なメモリ37を含む。記憶装置36は、例えばオペレーティングシステム,BIOS,アプリケーション等のプログラムや、後述する端末装置3の固有情報321(CPUのID,BIOSのシリアル番号等の情報,オペレーティングシステムのライセンス情報など)、クッキー情報312などを記憶する。メモリ37は、記憶装置36から読み出したプログラムの実行コードや、処理過程で一時的に使用されるデータを記憶する。
【0059】
端末装置3の通信部32、表示部33、入力部34は、それぞれサーバ装置2の通信部22、表示部23、入力部24と同様の構成を有する。
【0060】
図5は、端末装置3の処理部31においてハードウエア要素とプログラムが協働することにより実現される構成の一例を示す図である。
【0061】
図5の例において、処理部31は、メーラー部301と、Webブラウザ部302と、OS判定部304と、固有情報取得部308と、認証情報生成部303と、暗号処理部305とを有する。暗号処理部305は、暗号化部306と復号化部307を含む。
OS判定部304は、本発明における判定手段の一例である。
固有情報取得部308は、本発明における第1固有情報取得手段の一例である。
認証情報生成部303は、本発明における情報生成手段の一例である。
復号化部307は、本発明における端末側復号化手段の一例である。
暗号化部306は、本発明における端末側暗号化手段の一例である。
記憶部35は、本発明における端末側記憶部の一例である。
Webブラウザ部302は、本発明におけるログイン要求送信部並びにプログラム正当性確認手段の一例である。
【0062】
メーラー部301は、電子メールの送受信を行うアプリケーションプログラムにより実現される機能ブロックであり、本実施形態においてはサーバ装置4からの通知メールを受信する。
【0063】
Webブラウザ部302は、入力部35において入力される利用者の指示に応じて、HTTP等のプロトコルによりWebサーバと通信を行い、WebサーバからHTMLデータ等のWebコンテンツを取得する。Webブラウザ部302は、Webサーバから取得したWebコンテンツに応じて、表示部35の画面にWebページを表示する。
【0064】
またWebブラウザ部302は、WebサーバからHTMLデータとともに署名付きプログラムを受信した場合、この署名付きプログラムに添付される認証情報(認証局が発行するデジタル証明書)に基づいて、プログラムの正当性を確認する処理を行う。Webブラウザ部302は、プログラム提供元の正当性が確認されない限り、署名付きプログラムによる特定の処理(後述する固有情報取得部308による固有情報の取得)を禁止する。
【0065】
更にWebブラウザ部302は、WebサーバからセッションID等を含んだクッキー情報を受信した場合、これを記憶部312に格納する。そして、Webブラウザ部302は、クッキー情報を有するWebサーバに再びアクセスする場合、そのクッキー情報に含まれるセッションID等の情報をWebサーバへ送信する。
【0066】
また、Webブラウザ部302は、後述する認証情報生成部303において2つの認証情報A,Bが生成された場合、一方の認証情報Aをサーバ装置2へ送信する。サーバ装置2のログイン用Webページにおいて入力部35から利用者IDやパスワードが入力された場合、Webブラウザ部302は、入力された利用者IDをサーバ装置2へ送信する。
【0067】
OS判定部304は、サーバ装置2から送られてくる上述の署名付きプログラムを端末装置3の処理部31が実行することによって機能するブロックである。
OS判定部304は、端末装置3にインストールされたOS(オペレーティングシステム)の種別を判定する。例えばOS判定部304は、OSの種別ごとに決まっている所定のコマンドを実行して、それに対するOSの応答(出力情報)を解析することにより、OSの種類やそのバージョンに関する情報を取得する。
【0068】
固有情報取得部308は、サーバ装置2から送られてくる上述の署名付きプログラムを端末装置3の処理部31が実行することによって機能するブロックである。
固有情報取得部308は、端末装置3の情報記憶手段に記憶された固有情報(他の端末装置からの識別を可能とする情報)を取得する。具体的には、固有情報取得部308は、OS判定部304において判定されたOSの種別に応じた所定の命令をOSに実行させることにより、その実行結果としてOSから返ってくる情報から端末装置3の固有情報を取得する。固有情報には、例えば、端末装置3を構成するハードウェアに係る固有情報(CPU、マザーボード、周辺機器に付されたシリアル番号などの固有情報)や、端末装置3にインストールされたソフトウェアに係る情報(OS、BIOS、アプリケーションプログラムに付されたライセンス情報などの固有情報)が含まれる。
【0069】
なお、固有情報取得部308は、Webブラウザ部302において署名付きプログラムの正当性を確認できない場合や、利用者が署名付きプログラムを不許可とした場合、固有情報の取得を行わない。
【0070】
認証情報生成部303は、サーバ装置2から送られてくる上述の署名付きプログラムを端末装置3の処理部31が実行することによって機能するブロックである。
認証情報生成部303は、固有情報取得部308によって取得された端末装置3の固有情報に基づいて、端末認証用の2つの認証情報A,Bを生成する。
【0071】
図6は、認証情報生成部303が固有情報に基づいて2つの認証情報A,Bを生成する方法の一例を示す図であり、3つの例を示す。
図6(A)に示す例において、認証情報生成部303は、所定の付加情報E1と固有情報とを含んだデータに一方向性関数を施した結果に基づいて認証情報Aを生成し、付加情報E2と固有情報とを含んだデータに一方向性関数を施した結果に基づいて認証情報Bを生成する。付加情報E1,E2は、互いに異なる所定の情報である。
一方向性関数としては、例えば、MD5(message digest algorithm 5)などのハッシュ関数が用いられる。
一方向性関数を用いることによって、固有情報から一意に認証情報A,Bを定めることができるので、認証情報A,Bのそれぞれが端末装置3についての固有の情報になる。また、認証情報A,Bから元の固有情報を導出することが非常に困難になるため、プライバシーに関わる固有情報の漏えいを防止できる。更に、認証情報A,Bの一方から他方を導出することが非常に困難になるため、認証情報Aを暗号化せずにネットワーク上で伝送させた場合でも、認証情報Bの秘密性を維持することができる。
【0072】
図6(A)に示す例において一方向性関数を施されるデータは、例えば、付加情報と固有情報を単純に結合したものでもよいし、固有情報の符号列の所定位置(1箇所または複数箇所)に付加情報を挿入したものでもよい。
【0073】
他方、図6(B)に示す例において、認証情報生成部303は、端末装置3の記憶部35から取得された固有情報の一部に一方向性関数を施した結果に基づいて認証情報Aを生成し、この固有情報の他の一部に一方向性関数を施した結果に基づいて認証情報Bを生成する。すなわち、認証情報生成部303は、固有情報から2つの異なる部分を取り出して、その各々に一方向性関数を施した結果に基づいて、認証情報A,Bを生成する。
【0074】
また、図6(C)に示す例において、認証情報生成部303は、固有情報に一方向性関数F1を施した結果に基づいて認証情報Aを生成し、固有情報に一方向性関数F2を施した結果に基づいて認証情報Bを生成する。一方向性関数F1と一方向性関数F2は、互いに異なる関数である。
なお、元の固有情報に別の情報を付加する操作や、元の固有情報から一部の情報を選択する操作を一方向性関数の処理の一部と見なした場合、上述した図6(A),(B)の方法は、図6(C)の方法の特殊なケースと考えることができる。これらの操作の他、例えばデータの並べ替え操作などを一方向性関数の処理の一部に組み入れてもよい。
【0075】
認証情報生成部303は、生成した認証情報A,Bを端末認証情報311として記憶部35に一時的に格納する。
また、認証情報生成部303は、端末装置3がサーバ装置2に対してログインを行う場合に、生成した認証情報Aと入力部35で入力された利用者IDとをサーバ装置3へ送信する。認証情報Aと利用者IDを合わせた情報は、本発明における第1情報に対応する。
【0076】
暗号処理部305は、サーバ装置2から送られてくる上述の署名付きプログラムを端末装置3の処理部31が実行することによって機能するブロックである。
暗号処理部305は、例えばAESなどの暗号方式によって端末装置3の認証に係る情報の暗号化や復号化を行うブロック(暗号化部306,復号化部307)を有する。
具体的には、暗号処理部305は、認証情報生成部303がサーバ装置2へ送信した認証情報A及び利用者ID(第1情報)に応じてサーバ装置2から暗号化されたキー情報を受信した場合、この受信したキー情報を、認証情報生成部303で生成された認証情報B(第2情報)により復号化する。更に、暗号処理部305は、端末装置3の入力部34(キーボード等)において入力されたパスワード(第3情報)を、この復号化したキー情報によって暗号化し、当該暗号化したパスワードをセッションIDとともにサーバ装置2へ送信する。
【0077】
次に、上述した構成を有する本実施形態に係るコンピュータシステムにおけるログイン処理について、図7,図8を参照して説明する。
【0078】
図7は、端末認証情報と利用者認証情報を事前にサーバ装置2の利用者データベース212へ登録する方法の一例を説明するためのフロー図である。
【0079】
まずサーバ装置4から端末装置3へ、認証情報登録用のWebページのURLが記載されたメールを送信する(ステップST100)。サーバ装置4は、例えば、メールアドレス入力用のWebページにおいて端末装置3からメールアドレスを取得し、そのメールアドレスへメールを送信する。
【0080】
端末装置3は、サーバ装置4からのメールをメーラー部301において受信し、これを表示部33において利用者に表示する。
【0081】
通知メールに記載されるURLが入力部34のマウス等で選択されると、Webブラウザ部302がこのURLに該当するサーバ装置4にアクセスし、認証情報登録用Webページのコンテンツ(HTMLデータ等)をサーバ装置4に要求する(ステップST105)。
要求を受けたサーバ装置4が、認証情報登録用Webページのコンテンツと署名付きプログラムを端末装置3に送信する(ステップST110)。
【0082】
端末装置3のWebブラウザ部302は、サーバ装置4から受信したHTMLデータ等に基づいて、表示部33の画面に認証情報登録用のWebページを表示する。このWebページの画面では、利用者に対して、利用者IDとパスワードの入力が促される。なお、利用者IDについては、サーバ装置4で発行したものをWebページの画面に表示させて、これを利用者に記録させるように促してもよい。
Webブラウザ部302は、入力部34において利用者IDとパスワードが入力されると、これを一時的に記憶部35に格納する(ステップST115)。
【0083】
また端末装置3のWebブラウザ部302は、サーバ装置4から受信した署名付きプログラムを実行するとともに、これに添付される認証情報(デジタル証明書)を検証する。署名付きプログラムが実行されると、OS判定部304が端末装置3にインストールされたOSを判定する。
OS判定部においてOSの種別が判定され、かつ、Webブラウザ部302において署名付きプログラムの正当性が確認された場合、固有情報取得部308は、この判定されたOSの種別に応じたコマンドをOSに実行させて、記憶部35に記憶された固有情報321(第1固有情報)を取得する。認証情報生成部303は、固有情報取得部308によって取得された固有情報321に基づいて2つの認証情報A,Bを生成し、これを記憶部35に一時的に格納する(ステップST120)。
【0084】
認証情報生成部303は、記憶部35に格納される利用者ID,パスワード,認証情報A,Bをサーバ装置4に送信する。この送信の際、Webブラウザ部302は、SSL等の暗号通信プロトコルにより送信データを暗号化してもよい。
あるいは、認証情報生成部303が所定のキーにより利用者ID,パスワード,認証情報A,Bを暗号化し、暗号化したデータをWebブラウザ部302からサーバ装置4へ送信してもよい。この場合、サーバ装置4は、認証情報生成部303で暗号化されたデータを上記所定のキーにより復号化する。
【0085】
サーバ装置4は、端末装置3から受信した利用者ID,パスワード,認証情報A,Bを、サーバ装置2の利用者データベース212に登録する(ステップST130)。例えばサーバ装置4は、ローカルネットワークでサーバ装置2と接続されており、このローカルネットワーク経由で利用者データベース212にアクセスするようにしてもよい。あるいは、サーバ装置4からサーバ装置2へSSL等の暗号化通信によりこれらのデータを伝送してもよい。
【0086】
次に、図8のフロー図を参照して、端末装置3がサーバ装置2にログインする処理の一例を説明する。
【0087】
まず端末装置3のWebブラウザ部302が、サーバ装置2のログイン用WebページのURLにアクセスし、HTMLデータ等のコンテンツを要求する(ステップST200)。
サーバ装置2のWebサーバ部202は、この端末装置3の要求に応じて、ログイン用WebページのHTMLデータ等と署名付きプログラムを端末装置3に送信する(ステップST205)。
【0088】
またWebサーバ部202は、端末装置3との通信セッションに対応するセッションIDを発行し、このセッションIDが含まれたクッキー情報を端末装置3に送信する。
【0089】
端末装置3のWebブラウザ部302は、サーバ装置2から受信したHTMLデータ等に基づいて、表示部33の画面にログイン用Webページを表示する。このWebページの画面では、利用者に対して、利用者IDとパスワードの入力が促される。
Webブラウザ部302は、入力部34において利用者IDとパスワードが入力されると、これを一時的に記憶部35に格納する(ステップST210)。
【0090】
また端末装置3のWebブラウザ部302は、サーバ装置2から受信した署名付きプログラムを実行するとともに、これに添付される認証情報(デジタル証明書)を検証する。署名付きプログラムが実行されると、OS判定部304が端末装置3にインストールされたOSを判定する。
OS判定部304においてOSの種別が判定され、かつ、Webブラウザ部302において署名付きプログラムの正当性が確認された場合、固有情報取得部308は、この判定されたOSの種別に応じたコマンドをOSに実行させて、記憶部35に記憶された固有情報321(第1固有情報)を取得する。認証情報生成部303は、固有情報取得部308によって取得された固有情報321に基づいて2つの認証情報A,Bを生成し、これらを記憶部35へ一時的に格納する(ステップST215)。
【0091】
また端末装置3のWebブラウザ部302は、サーバ装置2から受信したクッキー情報(セッションIDを含む)を記憶部35に格納する。
【0092】
端末装置3の認証情報生成部303は、記憶部35に格納される利用者ID及び認証情報A(第1情報)をサーバ装置4に送信する(ステップST220)。また端末装置3のWebブラウザ部302は、記憶部35に格納されるクッキー情報のセッションIDもサーバ装置2に送信する。
【0093】
サーバ装置2の情報取得部203は、ログイン要求元の端末装置3から認証情報Aと利用者ID(第1情報)をセッションIDとともに受信した場合、この受信した認証情報A及び利用者IDに関連づけられた認証情報B(第2情報)及びパスワード(第3情報)を記憶部26の利用者データベース212から検索する(ステップST225)。
情報取得部203は、認証情報B(第2情報)とパスワード(第3情報)を利用者データベース212から取得した場合、取得した認証情報B及びパスワードと、端末装置3から受信した認証情報A及び利用者IDと、この端末装置3との通信セッションについて発行されたセッションIDとを関連付けて、記憶部25のセッション管理テーブル213(図4)に登録する。
【0094】
利用者データベース212から認証情報B(第2情報)とパスワード(第3情報)が取得された場合、サーバ装置2のキー情報生成部204は、ランダムなキー情報を生成してセッション管理テーブル213に格納する(ステップST230)。
【0095】
次いで、サーバ装置2の暗号処理部205は、キー情報生成部204において生成されたキー情報を情報取得部203において取得された認証情報B(第2情報)により暗号化する(ステップST235)。
暗号処理部205は、認証情報Bにより暗号化したキー情報を、ログイン要求元の端末装置3へ送信する(ステップST250)。
【0096】
端末装置3の暗号処理部305は、サーバ装置2から暗号化されたキー情報を受信した場合、この受信したキー情報を記憶部35の認証情報B(第2情報)によって復号化する(ステップST255)。
【0097】
更に、暗号処理部305は、この復号化したキー情報によって記憶部35のパスワード(第3情報)を暗号化し(ステップST260)、当該暗号化したパスワードをセッションIDとともにサーバ装置2へ送信する(ステップST265)。
【0098】
サーバ装置2の暗号処理部205は、キー情報によって暗号化されたパスワードをセッションIDとともに端末装置3から受信した場合、この端末装置3に暗号化して送信したキー情報に対応する元のキー情報を、記憶部25のセッション管理テーブル213から取得する。そして暗号化処理部205は、セッション管理テーブル213から取得したキー情報に基づいて、端末装置3から受信した暗号化されたパスワードを復号化する(ステップST270)。
【0099】
端末装置3で暗号化されたパスワード(第3情報)が暗号処理部205において元のキー情報により復号化されると、サーバ装置2の情報無効化部209は、元のキー情報を記憶部25のセッション管理テーブル213から削除するか、若しくは当該キー情報を無効化する(ステップST275)。
【0100】
サーバ装置2の照合部208は、暗号処理部205においてパスワードが復号化されると、この復号化されたパスワードとセッション管理テーブル213に登録されるパスワードとを比較し、両者が一致している場合にログインの許可を判定する(ステップST280)。
【0101】
以上説明したように、本実施形態では、ログイン要求を許可されるべき端末装置3において格納若しくは入力される認証情報A及び利用者ID(第1情報)と、認証情報B(第2情報)と、本人認証用のパスワード(第3情報)とが、サーバ装置の記憶部25に予め記憶されている。端末装置3がログインを要求する際、端末装置3の記憶部に記憶される認証情報Aと利用者ID(第1情報)がサーバ装置2に送信される。サーバ装置2では、端末装置3から認証情報Aと利用者ID(第1情報)が受信されると、この情報に関連づけられた認証情報B(第2情報)及びパスワード(第3情報)が記憶部25から取得される。記憶部25から認証情報B(第2情報)及びパスワード(第3情報)が取得されると、ランダムに変化するキー情報がサーバ装置2において生成され、このキー情報が認証情報B(第2情報)により暗号化される。暗号化されたキー情報は、サーバ装置2から端末装置3へ送信される。端末装置3では、暗号化されたキー情報が受信されると、端末装置3の記憶部35に記憶される認証情報B(第2情報)に基づいて、暗号化されたキー情報が復号化される。更に端末装置3では、この復号化されたキー情報に基づいて、記憶部35に記憶されるパスワード(第3情報)が暗号化される。暗号化されたパスワードは、端末装置3からサーバ装置2へ送信される。サーバ装置2では、端末装置3からの暗号化されたパスワードと、記憶部25から取得されたパスワードとが照合され、この照合結果に応じてログインの許可・不許可が決定される。
従って、端末装置2の同一性を確認するための秘密情報である認証情報B(第2情報)と、利用者本人を確認するための秘密情報であるパスワード(第3情報)が、常に暗号化された状態で通信ネットワーク9を流れるため、ネットワークを監視する悪意の第三者によりこれらの情報が盗まれるリスクを低減でき、高いセキュリティを実現できる。
【0102】
しかも、本実施形態によれば、SSL等で一般的に用いられている公開鍵暗号方式のような複雑な暗号処理が不要であり、共有鍵を用いる簡易な暗号方式で十分に高いセキュリティを得ることができるため、サーバ装置と端末装置の双方における暗号処理の負荷を軽くすることができる。
【0103】
また、本実施形態によれば、ログインの度に変更されるランダムなキー情報を用いて通信情報が暗号化されるため、暗号化された情報から秘密情報(認証情報B,スワード)が解読されるリスクを更に大幅に低減できる。
【0104】
また、本実施形態によれば、ハードウェア情報(CPUのID等)やソフトウエア情報(オペレーティングシステムのライセンス情報等)などの端末装置の固有情報から生成された端末認証情報(A,B)によって、ログイン可能な端末装置が制限されている。従って、もし利用者の不注意で利用者認証情報(利用者ID,パスワード)が第三者に漏えいしても、第三者の端末装置からはログインできない。従って、第三者のなり済ましのリスクを非常に効果的に低減できる。
【0105】
また、本実施形態によれば、サーバ装置2から端末装置3へ送信されるプログラム(署名付きプログラム)によってログイン処理の度に端末装置3の固有情報が取得され、この取得された固有情報に基づいて端末認証情報(A,B)が生成される。これにより、端末認証情報(A,B)のすり替え等の不正な操作が困難になるので、端末装置3の偽装を効果的に防止できる。
【0106】
また、本実施形態によれば、ログイン処理の度に取得した固有情報に基づいて生成される2つの認証情報(A,B)の一方(認証情報A)が、複数の端末装置から個々の端末装置を識別するための情報として使用され、その他方(認証情報B)が、各端末装置の同一性を確認するための秘密情報として使用される。これにより、端末装置3の偽装を効果的に防止しつつ、複数の端末装置から各端末装置を的確に識別してその同一性を認証することができる。
【0107】
また、本実施形態によれば、署名付きプログラムによってプログラムの正当性を検証できるため、利用者からみたサーバ装置の信頼性を高めることができる。
【0108】
また、本実施形態によれば、サーバ装置2の暗号処理部205においてキー情報によるパスワード(第3情報)の復号化が行われた後、記憶部25に記憶されるキー情報が削除若しくは無効化される。すなわち、認証情報の暗号化に使用されたキー情報がその使用後直ちに無効化される。これにより、キー情報が漏えいするリスクをより効果的に低減できる。
【0109】
<第1の実施形態の変形例>
次に、第1の実施形態の変形例について、図9のフロー図を参照して説明する。
図8に示すログイン処理では、端末装置3で暗号化されたパスワードがサーバ装置2において復号化され、その復号化後のパスワードと利用者データベース212に登録されるパスワードとが照合される。
一方、図9に示すログイン処理では、サーバ装置2の利用者データベース212に登録されるパスワードがキー情報により暗号化され、この暗号化されたパスワードと端末装置3で暗号化されたパスワードとが照合される。
【0110】
図9に示すログイン処理において、ステップST200(ログイン用のWebページの要求)からステップST265(暗号化したパスワードの送信)までの手順は、図8に示すログイン処理と同様である。
図9に示す変形例では、サーバ装置2の照合部208において照合が行われる前に、暗号処理部205においてパスワード(第3情報)の暗号化が行われる。すなわち、暗号処理部205は、ステップST235で暗号化したキー情報に対応する元のキー情報を用いて、パスワード(第3情報)を暗号化する(ステップST240)。暗号処理部205は、この暗号化したパスワードをセッション管理テーブル213に登録する。
パスワードの暗号化後、情報無効化部209はセッション管理テーブル213に登録されるキー情報を削除若しくは無効化する(ステップST245)。
【0111】
そして、端末装置3から暗号化されたパスワードが受信されると、サーバ装置2の照合部208は、ステップST240で暗号化されたパスワードとステップST265で受信された暗号化されたパスワードとを比較する。両者が一致している場合、照合部208はログインの許可を判定する(ステップST285)。
照合部208において照合が行われた後、情報無効化部209は、記憶部25に記憶される(セッション管理テーブル213に登録される)暗号化されたパスワードを削除若しくは無効にする(ステップST290)。
【0112】
以上説明したように、図9に示す変形例によれば、サーバ装置2の暗号処理部205において復号処理を行う必要がないので、復号化部207を省略することができる。また、端末装置3の復号化処理・暗号化処理(ST255,ST260)と並行に、サーバ装置2の暗号化処理(ST240)を実行できるので、ログイン処理を高速化できる。
【0113】
<第2の実施形態>
次に、本発明の第2の実施形態について説明する。
【0114】
図10は、第2の実施形態に係る端末装置3の構成の一例を示す図である。図10に示す端末装置3は、図3に示す端末装置3と同様の構成に加えて、セッションID照合部310を有する。セッションID照合部310は、本発明におけるセッション情報照合手段の一例である。
【0115】
第2の実施形態では、サーバ装置2においてセッションIDがキー情報とともに暗号化されて端末装置3に送信され、この暗号化されたセッションIDが端末装置3において復号化され、実際のセッションIDと照合される。この照合結果に基づいて、サーバ装置2が正当なログイン先であるか否かが端末装置3の側で判定される。
【0116】
具体的には、サーバ装置2の暗号処理部205は、セッションIDをキー情報とともに認証情報Bで暗号化し、端末装置2へ送信する。
端末装置3の復号化部307は、暗号化処理部205においてキー情報とともに暗号化されたセッションIDを復号化する。
セッションID照合部310は、通信セッションの開始時にサーバ装置2から通知されたセッションIDと、復号化部307で復号化されたセッションIDとを照合する。この照合の結果両者が一致しない場合、セッションID照合部310は、サーバ装置2への暗号化されたパスワードの送信を禁止する。すなわち、セッションID照合部310は、暗号化部306におけるパスワードの暗号化を止めて、サーバ装置2に暗号化パスワードが送信されないようにする。
【0117】
図11は、第2の実施形態において端末装置3がサーバ装置2にログインする処理の一例を説明するためのフロー図である。
図11に示すログイン処理において、ステップST200(ログイン用のWebページの要求)からステップST230(キー情報の生成)までの手順は、図8に示すログイン処理と同様である。
図11に示すログイン処理において、暗号処理部205は、キー情報とセッションIDを認証情報Bで暗号化し(ステップST235A)、この暗号化したキー情報とセッションIDをサーバ装置2に送信する(ステップST250)。
この暗号化されたキー情報とセッションIDが端末装置3において受信されると、復号化部307は、受信されたキー情報とセッションIDを認証情報Bによって復号化する(ステップST255A)。そして、セッションID照合部310は、通信セッション開始時にサーバ装置2から通知されたセッションIDと復号化部307で復号化されたセッションIDとを照合する(ステップST256)。この照合の結果両者が一致しない場合、セッションID照合部310は、その後のログイン処理を中止する。すなわち、セッションID照合部310は、暗号化部306におけるパスワードの暗号化を中止して、サーバ装置2に暗号化パスワードが送信されないようにする(ステップST257)。
【0118】
以上説明したように、本実施形態によれば、サーバ装置2が持つ認証情報Bにより暗号化され、端末装置3が持つ認証情報Bによって復号化されたセッションIDと、サーバ装置2から端末装置3へ実際に通知されたセッションIDとを照合することにより、サーバ装置2が持つ認証情報Bと端末装置3が持つ認証情報Bとが一致するか否かを判定できる。両者が一致しない場合は、通信中のサーバ装置2が正当でない(すなわち悪意の第三者による)サーバ装置の可能性がある。この様な場合サーバ装置に対するログイン処理を中止して暗号化パスワードを送信しないようにすることで、暗号化パスワードが解読される機会を減らせるので、セキュリティ水準を高めることができる。
【0119】
<第3の実施形態>
次に、本発明の第3の実施形態について説明する。
【0120】
上述した実施形態においては、端末装置3のOS判定部304においてOSの種別を判定できない場合、固有情報取得部308がOSの種別の判定結果に基づいて端末装置3の固有情報を取得できないため、この端末装置3はサーバ装置2にログインできない。
また、一般的なOSやWebブラウザでは、インターネットのWebページ等においてダウンロードした署名付きプログラムを実行する際、利用者に確認を求めるポップアップウィンドウを表示するため、このポップアップウィンドウにおいて利用者が誤って署名付きプログラムの不許可を選択してしまうと、固有情報取得部308が端末装置3の固有情報を取得できないため、端末装置3はサーバ装置2にログインできなくなる。
そこで本実施形態では、OSの種別が不明であっても取得可能な固有情報(MACアドレス等)を取得することで、上記のようなケースでも端末装置3がサーバ装置2にログインできるようにする。
【0121】
図12は、第3の実施形態に係る端末装置3の構成の一例を示す図である。図12に示す端末装置3は、図10に示す端末装置3と同様の構成に加えて、MACアドレス取得部309を有する。MACアドレス取得部309は、本発明における第2固有情報取得手段の一例である。
【0122】
MACアドレス取得部309は、サーバ装置2から送られてくる上述の署名付きプログラムを端末装置3の処理部31が実行することによって機能するブロックである。
MACアドレス取得部309は、端末装置3とサーバ装置2とが通信を行うネットワークにおいて通信部32に割り当てられた固有のアドレスであるMACアドレス(media access control address)を取得する。固有情報取得部308がOSの種別の判定結果に基づいて固有情報321(第1固有情報)を取得するのに対し、MACアドレス取得部309はOSの種別に依らずに(OSの種別の情報を得ずに)MACアドレス321(第2固有情報)を取得する。そのため、MACアドレス取得部309は、OS判定部304においてOSの種別を判定できない場合でも、端末装置3の固有情報(第2固有情報)を取得することができる。MACアドレス取得部309は、例えば、JAVA(登録商標)のアプリケーションとその実行環境によって実現される。
MACアドレス取得部309は、署名付きプログラムの実行を利用者が不許可としたため固有情報取得部308が固有情報321(第1固有情報)を取得できない場合にも、MACアドレス322(第2固有情報)を取得する。
【0123】
また、第3の実施形態において、サーバ装置2の利用者データベース212は、認証情報A,Bの生成に用いられた固有情報が固有情報取得部308で取得された固有情報321(第1固有情報)であるか、又は、MACアドレス取得部309で取得されたMACアドレス322(第2固有情報)であるかを示すフラグ情報を更に格納する。利用者データベース212は、特定の端末装置3と特定の利用者との組み合わせに係る1つのレコードにおいて、認証情報A,Bのペアを1つ若しくは2つ格納し、その各々について上述のフラグ情報を格納する。
【0124】
なお、このフラグ情報は、認証情報A,Bのペアが第1固有情報又は第2固有情報の何れに基づいて生成されたのかを示す情報であれば任意でよい。例えば、認証情報に1ビットの情報を付加することによって、第1固有情報又は第2固有情報の何れに基づいて生成されたかを示すようにしてもよい。或いは、データベースのレコードや送受信データのパケットなどの所定のデータ形式における情報の配置に基づいて(例えばデータ中における各種情報の位置などに基づいて)、レコード中やパケット中に含まれた認証情報A,Bのペアが第1固有情報又は第2固有情報の何れに基づいて生成されたのかを示すようにしてもよい。
【0125】
端末装置3の認証情報生成部303は、ログイン処理の際に、OS判定部304において端末装置3にインストールされたOSの種別を判定できない場合や、端末装置3のWebブラウザ部302において署名付きプログラムの正当性を確認できない場合は(すなわち固有情報取得部308で固有情報を取得できない場合は)、MACアドレス取得部309によってOSの種別に依らずに取得されたMACアドレス322(第2固有情報)に基づいて認証情報A,Bを生成する。逆に、固有情報取得部308で固有情報を取得できた場合は、この固有情報321(第1固有情報)に基づいて認証情報A,Bを生成する。
認証情報生成部303は、生成した認証情報Aと入力部34で入力された利用者IDとを合わせてサーバ装置2に送信する際、この認証情報Aに係るフラグ情報もサーバ装置2に送信する。
【0126】
サーバ装置2の情報取得部203は、認証情報A及び利用者IDと上述のフラグ情報を端末装置3から受信した場合、受信した認証情報A及び利用者IDと一致する情報を持つレコードを利用者データベース212において検索する。検索により該当するレコードが見つかった場合、情報取得部203は、そのレコードに含まれる認証情報A,Bのフラグ情報と端末装置3から受信したフラグ情報とを比較し、両者が一致するならば、検索したレコードから認証情報B(第2情報)とパスワード(第3情報)を取得する。
【0127】
図13は、第3の実施形態において端末装置3がサーバ装置2にログインする処理の一例を説明するためのフロー図である。
【0128】
図13に示すログイン処理において、ステップST200(ログイン用のWebページの要求)からステップST210(利用者ID,パスワードの入力)までの手順は、図8に示すログイン処理と同様である。
端末装置3のWebブラウザ部302は、サーバ装置2から受信した署名付きプログラムを実行するとともに、これに添付された認証情報(デジタル証明書)を検証する。署名付きプログラムが実行されると、OS判定部304が端末装置3にインストールされたOSを判定する。
OS判定部304においてOSの種別が判定され、かつ、Webブラウザ部302において署名付きプログラムの正当性が確認された場合、固有情報取得部308は、この判定されたOSの種別に応じたコマンドをOSに実行させて、記憶部35に記憶された固有情報321(第1固有情報)を取得する。認証情報生成部303は、固有情報取得部308によって取得された固有情報321に基づいて2つの認証情報A,Bを生成するとともに、固有情報321(第1固有情報)に基づいて認証情報A,Bが生成されたかを示すフラグ情報を生成し、これらを記憶部35へ一時的に格納する(ステップST215A)。
他方、OS判定部304においてOSの種別が判定できない場合や、Webブラウザ部302において署名付きプログラムの正当性を確認できない場合、利用者によって証明付きプログラムを不許可にする操作が行われた場合は、固有情報取得部308において固有情報を取得できないので、その代わりにMACアドレス取得部309が端末装置3のMACアドレス322(第2固有情報)を取得する。認証情報生成部303は、MACアドレス取得部309によって取得されたMACアドレス322に基づいて2つの認証情報A,Bを生成するとともに、第2固有情報に基づいて認証情報A,Bが生成されたかを示すフラグ情報を生成し、これらを記憶部35へ一時的に格納する(ステップST215A)。
【0129】
認証情報生成部303は、生成した認証情報Aと入力部34で入力された利用者IDとを合わせてサーバ装置2に送信するとともに、認証情報Aに係るフラグ情報をサーバ装置2に送信する(ステップST220)。
【0130】
サーバ装置2が認証情報A及び利用者IDと上述のフラグ情報を端末装置3から受信した場合、情報取得部203は、受信した認証情報A及び利用者IDと一致する情報を持ち、かつ、受信したフラグ情報と一致するフラグ情報を持つレコードを利用者データベース212において検索する。そして、情報取得部203は、検索したレコードに属する認証情報B(第2情報)とパスワード(第3情報)を取得する(ステップST225A)。
情報取得部203は、利用者データベース212から認証情報B(第2情報)とパスワード(第3情報)を取得すると、取得した認証情報B及びパスワードと、端末装置3から受信した認証情報A及び利用者IDと、当該認証情報A,Bに係るフラグ情報と、この端末装置3との通信セッションについて発行されたセッションIDとを関連付けて、記憶部25のセッション管理テーブル213(図4)に登録する。
【0131】
以降、ステップST230(キー情報の生成)からステップST256(セッションIDの照合)までは図11に示すフロー図の処理と同様であり、ステップST260(パスワードの暗号化)からステップST280(パスワードの照合)までは図8に示すフロー図の処理と同様である。
【0132】
以上説明したように、本実施形態によれば、端末装置3にインストールされたOSの種別を判定できない場合や、端末装置3の利用者の誤操作によって署名付きプログラムを不許可とされた場合でも、OSの種別に依らずに取得されるMACアドレス等の固有情報に基づいて端末認証情報(認証情報A,B)を生成可能であり、サーバ装置2へのログイン処理を行うことができる。これにより、より多くの種類の端末装置3がサーバ装置2へログイン可能になる。また、端末装置3の利用者の誤操作によりログインできなくなるケースを減らせるので、使い易さを向上できる。
【0133】
<第4の実施形態>
次に、本発明の第4の実施形態について説明する。
【0134】
上述した第3の実施形態において、利用者データベース212には、一の端末装置3に対して認証情報A,Bのペアを2つ格納することが可能である。すなわち、固有情報取得部308で取得される固有情報321(第1固有情報)に基づいて生成された認証情報A,Bのペアと、MACアドレス取得部309において取得されるMACアドレス322(第2固有情報)に基づいて生成された認証情報A,Bのペアとを、同一の端末装置3についてそれぞれ利用者データベース212に格納することができる。
ところが、利用者データベース212へ新規に情報を登録するために端末装置3から認証情報を取得する際、端末装置3の利用者が誤操作によって署名付きプログラムを不許可にすると、本来は取得できたはずの固有情報321(第1固有情報)がこの誤操作によって偶然的に取得できなくなる。この場合、利用者データベース212には、MACアドレス322(第2固有情報)に基づいて生成された認証情報A,Bのペアのみが登録されることになる。
そうすると、その後のログイン処理において端末装置3の利用者が署名付きプログラムを許可した場合、端末装置3において固有情報321(第1固有情報)に基づく認証情報A,Bのペアが生成され、その認証情報Aと利用者IDがサーバ装置2に送信される。固有情報321(第1固有情報)に基づく認証情報Aは利用者データベース212に登録されていないので、端末装置3のログイン要求は拒否されてしまう。
これに対し、本実施形態においては、MACアドレス322(第2固有情報)に基づく認証情報A,Bのペアのみが利用者データベース212に登録されている場合でも、固有情報321(第1固有情報)に基づく認証情報A,Bのペアをログイン処理の過程で利用者データベース212に自動的に追加登録することができる。
【0135】
図14及び図15は、第4の実施形態において端末装置3がサーバ装置2にログインする処理の一例を説明するためのフロー図である。
図14に示すログイン処理において、ステップST200(ログイン用のWebページの要求)からステップST210(利用者ID,パスワードの入力)までの手順は、図13に示すログイン処理と同様である。
端末装置3のWebブラウザ部302は、サーバ装置2から受信した署名付きプログラムを実行するとともに、これに添付された認証情報(デジタル証明書)を検証する。署名付きプログラムが実行されると、OS判定部304が端末装置3にインストールされたOSを判定する。
OS判定部304においてOSの種別が判定され、かつ、Webブラウザ部302において署名付きプログラムの正当性が確認されると、固有情報取得部308は、この判定されたOSの種別に応じたコマンドをOSに実行させて、記憶部35に記憶された固有情報321(第1固有情報)を取得する。認証情報生成部303は、固有情報取得部308によって取得された固有情報321に基づいて2つの認証情報A,Bを生成するとともに、固有情報321(第1固有情報)に基づいて認証情報A,Bが生成されたかを示すフラグ情報を生成し、これらを記憶部35へ一時的に格納する(ステップST215A)。
【0136】
認証情報生成部303は、生成した認証情報Aと入力部34で入力された利用者IDとを合わせてサーバ装置2に送信するとともに、認証情報Aに係るフラグ情報をサーバ装置2に送信する(ステップST220)。
【0137】
サーバ装置2が認証情報A及び利用者IDと上述のフラグ情報を端末装置3から受信した場合、情報取得部203は、受信した認証情報A及び利用者IDと一致する情報を持ち、かつ、受信したフラグ情報と一致するフラグ情報を持つレコードを利用者データベース212において検索する。
この検索の結果、該当するレコードが利用者データベース212において見つからず、かつ、端末装置3から受信したフラグ情報が固有情報321(第1固有情報)に基づいて認証情報A,Bが生成されたことを示す場合、情報取得部203は、MACアドレス322(第2固有情報)に基づいて生成された認証情報Aの送信要求を端末装置3に送信する(ステップST221)。
【0138】
端末装置3においてこの送信要求が受信されると、MACアドレス取得部309は、端末装置3のMACアドレス322(第2固有情報)を取得する。認証情報生成部303は、MACアドレス取得部309によって取得されたMACアドレス322(第2固有情報)に基づいて2つの認証情報A,Bを生成するとともに、MACアドレス322(第2固有情報)に基づいて認証情報A,Bが生成されたかを示すフラグ情報を生成し、これらを記憶部35へ一時的に格納する(ステップST215B)。
【0139】
認証情報生成部303は、MACアドレス322(第2固有情報)に基づいて生成した認証情報Aと入力部34で入力された利用者IDとを合わせてサーバ装置2に送信するとともに、この認証情報Aに係るフラグ情報をサーバ装置2に送信する(ステップST220)。なお、利用者IDはステップST220において既にサーバ装置2へ送信しているので、ここでは送信を省略してもよい。
【0140】
サーバ装置2が認証情報A及び利用者IDと上述のフラグ情報を端末装置3から再び受信した場合、情報取得部203は、受信した認証情報A及び利用者IDと一致する情報を持ち、かつ、受信したフラグ情報と一致するフラグ情報を持つレコードを利用者データベース212において検索する。そして、情報取得部203は、検索により見つかったレコードに属する認証情報B(第2情報)とパスワード(第3情報)を取得する(ステップST225A)。
情報取得部203は、利用者データベース212から認証情報B(第2情報)とパスワード(第3情報)を取得すると、取得した認証情報B及びパスワードと、端末装置3から受信した認証情報A及び利用者IDと、当該認証情報A,Bに係るフラグ情報と、この端末装置3との通信セッションについて発行されたセッションIDとを関連付けて、記憶部25のセッション管理テーブル213(図4)に登録する。
【0141】
利用者データベース212から認証情報B(第2情報)とパスワード(第3情報)が取得された場合、サーバ装置2のキー情報生成部204は、ランダムなキー情報を生成してセッション管理テーブル213に格納する(ステップST230)。
暗号処理部205は、キー情報とセッションIDを認証情報Bで暗号化し(ステップST235A)、この暗号化したキー情報とセッションIDをサーバ装置2に送信する(ステップST250)。
【0142】
暗号化されたキー情報とセッションIDが端末装置3において受信されると、復号化部307は、MACアドレス322(第2固有情報)に基づいて生成された認証情報Bを用いて、この暗号化されたキー情報とセッションIDを復号化する(ステップST255A)。
セッションID照合部310は、通信セッション開始時にサーバ装置2から通知されたセッションIDと復号化部307で復号化されたセッションIDとを照合する(ステップST256)。この照合の結果両者が一致する場合、暗号化部306は、固有情報321(第1固有情報)に基づいて生成された認証情報Bと利用者のパスワードを、復号化部307で復号化されたキー情報により暗号化する(ステップST260A)。暗号化部306は、この暗号化した認証情報Bとパスワードをサーバ装置2へ送信する(ステップST265)。
【0143】
サーバ装置2の暗号処理部205は、キー情報によって暗号化された認証情報B及びパスワードをセッションIDとともに端末装置3から受信した場合、この端末装置3に暗号化して送信したキー情報に対応する元のキー情報を、記憶部25のセッション管理テーブル213から取得する。そして暗号化処理部205は、セッション管理テーブル213から取得したキー情報に基づいて、端末装置3から受信した暗号化された認証情報Bとパスワードを復号化する(ステップST270A)。
【0144】
端末装置3で暗号化されたパスワード(第3情報)が暗号処理部205において元のキー情報により復号化されると、サーバ装置2の情報無効化部209は、元のキー情報を記憶部25のセッション管理テーブル213から削除するか、若しくは当該キー情報を無効化する(ステップST275)。
【0145】
サーバ装置2の照合部208は、暗号処理部205においてパスワードが復号化されると、この復号化されたパスワードとセッション管理テーブル213に登録されるパスワードとを比較し、両者が一致している場合にログインの許可を判定する(ステップST280)。
【0146】
照合部208においてログインが許可された場合、情報取得部203は、ステップST270Aにおいてパスワードとともに復号化された認証情報Bと、ステップST225Aにおいて利用者データベース212から検索できなかった認証情報Aとを関連付けて、これらに係るフラグ情報とともに利用者データベース212に格納する。これにより、利用者データベース212には、固有情報321(第1固有情報)に基づいて生成された認証情報A,Bのペアが追加登録される。
【0147】
以上説明したように、本実施形態によれば、MACアドレス322(第2固有情報)に基づく認証情報A,Bのペアのみが利用者データベース212に登録されている場合において、固有情報321(第1固有情報)に基づく認証情報A,Bのペアをログイン処理の過程で利用者データベース212に追加登録できる。そのため、端末装置3が固有情報321(第1固有情報)に基づく認証情報A,Bによるログインを試みてサーバ装置2により拒否されることを防止できる。また、新規登録時に利用者の誤操作等によって固有情報321(第1固有情報)に基づく認証情報A,Bのペアを利用者データベース212へ登録できなかった場合でも、その後のログイン処理の過程で自動的に追加登録できるので、この作業をマニュアルで行う場合に比べて、サーバ管理者や利用者の負担を軽減できる。
【0148】
<第5の実施形態>
次に、本発明の第5の実施形態について説明する。
【0149】
利用者データベース212における検索用の情報として端末装置3からサーバ装置2へ認証情報Aと利用者IDが送信される場合に、上述した第3,4の実施形態では、第1固有情報に基づいて生成された認証情報Aか、又は、第2固有情報(MACアドレス)に基づいて生成された認証情報Aの一方が送信される。これに対し、本実施形態では、第1固有情報に基づいて生成された認証情報Aと第2固有情報(MACアドレス)に基づいて生成された認証情報Aの両方がサーバ装置2に送信される。
【0150】
図16は、第5の実施形態において端末装置3がサーバ装置2にログインする処理の一例を説明するためのフロー図であり、固有情報321(第1固有情報)に基づいて生成された認証情報A,Bが利用者データベース212に登録されている場合の例を示す。
【0151】
図16に示すログイン処理において、ステップST200(ログイン用のWebページの要求)からステップST210(利用者ID,パスワードの入力)までの手順は、図13に示すログイン処理と同様である。
端末装置3のWebブラウザ部302は、サーバ装置2から受信した署名付きプログラムを実行するとともに、これに添付された認証情報(デジタル証明書)を検証する。署名付きプログラムが実行されると、OS判定部304が端末装置3にインストールされたOSを判定する。
OS判定部304においてOSの種別が判定され、かつ、Webブラウザ部302において署名付きプログラムの正当性が確認された場合、固有情報取得部308は、この判定されたOSの種別に応じたコマンドをOSに実行させて、記憶部35に記憶された固有情報321(第1固有情報)を取得する。また本実施形態では、固有情報321(第1固有情報)を取得できる場合でも、MACアドレス取得部309が端末装置3のMACアドレス322(第2固有情報)を取得する。
認証情報生成部303は、固有情報321に基づいて2つの認証情報A,Bを生成するとともに、MACアドレス322(第2固有情報)に基づいて別の2つの認証情報A,Bを生成し、その各々についてのフラグ情報も生成する。認証情報生成部303は、生成したこれらの情報を記憶部35へ一時的に格納する(ステップST215A)。
【0152】
認証情報生成部303は、生成した2つの認証情報Aと入力部34で入力された利用者IDとを合わせてサーバ装置2に送信するとともに、各認証情報Aに係るフラグ情報をサーバ装置2に送信する(ステップST220)。
【0153】
サーバ装置2が2つの認証情報Aと利用者IDとフラグ情報を端末装置3から受信した場合、情報取得部203は、固有情報321(第1固有情報)に基づいて生成された認証情報A及び利用者IDと一致する情報を持ち、かつ、この認証情報Aに係るフラグ情報と一致するフラグ情報を持つレコードを利用者データベース212において検索する。検索の結果、該当するレコードが見つかると、情報取得部203は、このレコードに属する認証情報B(第2情報)とパスワード(第3情報)を取得する(ステップST225A)。
情報取得部203は、利用者データベース212から認証情報B(第2情報)とパスワード(第3情報)を取得すると、取得した認証情報B及びパスワードと、端末装置3から受信した認証情報A及び利用者IDと、当該認証情報A,Bに係るフラグ情報と、この端末装置3との通信セッションについて発行されたセッションIDとを関連付けて、記憶部25のセッション管理テーブル213(図4)に登録する。
【0154】
利用者データベース212から認証情報B(第2情報)とパスワード(第3情報)が取得された場合、サーバ装置2のキー情報生成部204は、ランダムなキー情報を生成してセッション管理テーブル213に格納する(ステップST230)。
暗号処理部205は、キー情報とセッションIDを認証情報Bで暗号化し(ステップST235A)、この暗号化したキー情報とセッションIDをサーバ装置2に送信する。このとき、暗号処理部205は、キー情報の暗号化に用いた認証情報Bに係るフラグ情報(すなわち第1固有情報に基づいて認証情報A,Bが生成されたことを示すフラグ情報)をサーバ装置2に送信する(ステップST250)。
【0155】
暗号化されたキー情報とセッションIDがフラグ情報とともに端末装置3において受信されると、復号化部307は、受信されたフラグ情報に係る認証情報B(すなわち第1固有情報321に基づいて生成された認証情報B)を用いて、この暗号化されたキー情報とセッションIDを復号化する(ステップST255A)。
【0156】
以降、ステップST256(セッションIDの照合)からステップST280(パスワードの照合)までの処理は、図13に示すフロー図と同様である。
【0157】
他方、図17,図18は、第5の実施形態において端末装置3がサーバ装置2にログインする処理の一例を説明するためのフロー図であり、固有情報321(第1固有情報)に基づいて生成された認証情報A,Bが利用者データベース212に未だ登録されていない場合の例を示す。
【0158】
図17,図18に示すログイン処理において、ステップST200(ログイン用のWebページの要求)からステップST220(利用者ID及び認証情報Aの送信)までの手順は、上述した図16に示すログイン処理と同様である。
【0159】
サーバ装置2が2つの認証情報Aと利用者IDとフラグ情報を端末装置3から受信した場合、情報取得部203は、固有情報321(第1固有情報)に基づいて生成された認証情報A及び利用者IDと一致する情報を持ち、かつ、この認証情報Aに係るフラグ情報と一致するフラグ情報を持つレコードを利用者データベース212において検索する(ステップST225A)。検索の結果、該当するレコードが見つからないと、次に情報取得部203は、MACアドレス322(第2固有情報)に基づいて生成された認証情報A及び利用者IDと一致する情報を持ち、かつ、この認証情報Aに係るフラグ情報と一致するフラグ情報を持つレコードを利用者データベース212において更に検索する。検索の結果、該当するレコードが見つかると、情報取得部203は、このレコードに属する認証情報B(第2情報)とパスワード(第3情報)を取得する(ステップST225B)。
情報取得部203は、利用者データベース212から認証情報B(第2情報)とパスワード(第3情報)を取得すると、取得した認証情報B及びパスワードと、端末装置3から受信した認証情報A及び利用者IDと、当該認証情報A,Bに係るフラグ情報と、この端末装置3との通信セッションについて発行されたセッションIDとを関連付けて、記憶部25のセッション管理テーブル213(図4)に登録する。
【0160】
利用者データベース212から認証情報B(第2情報)とパスワード(第3情報)が取得された場合、サーバ装置2のキー情報生成部204は、ランダムなキー情報を生成してセッション管理テーブル213に格納する(ステップST230)。
暗号処理部205は、キー情報とセッションIDを認証情報Bで暗号化し(ステップST235A)、この暗号化したキー情報とセッションIDをサーバ装置2に送信する。このとき、暗号処理部205は、キー情報の暗号化に用いた認証情報Bに係るフラグ情報(すなわちMACアドレス322に基づいて認証情報A,Bが生成されたことを示すフラグ情報)をサーバ装置2に送信する(ステップST250)。
【0161】
暗号化されたキー情報とセッションIDがフラグ情報とともに端末装置3において受信されると、復号化部307は、受信されたフラグ情報に係る認証情報B(すなわちMACアドレス322に基づいて生成された認証情報B)を用いて、この暗号化されたキー情報とセッションIDを復号化する(ステップST255A)。
【0162】
以降、ステップST256(セッションIDの照合)からステップST295(認証情報A,Bの追加登録)までの処理は、図15に示すフロー図と同様である。
【0163】
以上説明したように、本実施形態においても、OSの種別に依らずに取得されるMACアドレス等の固有情報に基づいて端末認証情報(認証情報A,B)を生成可能であり、この端末認証情報を用いてサーバ装置2へのログイン処理を行うことができるので、種々の端末装置3がサーバ装置2へログイン可能になる。
また、MACアドレス322(第2固有情報)に基づく認証情報A,Bのペアのみが利用者データベース212に登録されている場合において、固有情報321(第1固有情報)に基づく認証情報A,Bのペアをログイン処理の過程で利用者データベース212に追加登録できるため、サーバ管理者や利用者の負担を軽減できる。
【0164】
<第6の実施形態>
次に、本発明の第6の実施形態について、図19のフロー図を参照して説明する。
【0165】
図19に示すログイン処理において、ステップST200(ログイン用のWebページの要求)からステップST270(キー情報によるパスワードの復号化)までの手順は、図8に示すログイン処理と同様である。
図8に示すログイン処理では、端末装置3で暗号化されたパスワードがサーバ装置2において復号された後(ステップST270)、その復号化に用いられたキー情報がサーバ装置2の記憶部25から直ちに削除される(ステップST275)。
一方、図19に示すログイン処理では、サーバ装置2の暗号処理部205において復号化が行われた後(ステップST270)、キー情報の削除が行われずに照合部208の照合が行われる(ステップST280)。そして、照合の結果ログインが許可されると、サーバ装置2と端末装置3との間におけるその後の通信が、このキー情報によって暗号化される。すなわち、サーバ装置2の暗号処理部205と端末装置3の暗号処理部305とが、共通のキー情報を用いて通信情報の暗号化・復号化を行う(ステップST300)。
両者の通信が終了すると、情報無効化部209は、記憶部25のセッション管理テーブル213に記憶されるキー情報を削除若しくは無効化する(ステップST305)。
【0166】
以上説明したように、本実施形態によれば、通信ネットワーク9において常に暗号化された状態で伝送されることにより秘密状態が保たれたキー情報を用いて、サーバ装置2と端末装置3との通信情報が暗号化されている。そのため、通信内容の漏えいを効果的に防止できる。
【0167】
また、本実施形態によれば、ログインの度にランダムに変化するキー情報によって通信情報が暗号化されるため、よりセキュリティの高い暗号化通信を実現できる。
【0168】
また、本実施形態によれば、サーバ装置2と端末装置3との通信が終了した後、記憶部25に記憶されるキー情報が削除若しくは無効化される。すなわち、通信情報の暗号化に使用されたキー情報がその使用後直ちに無効化される。これにより、キー情報が漏えいするリスクをより効果的に低減できる。
【0169】
<第6の実施形態の変形例>
次に、第6の実施形態の変形例について、図20のフロー図を参照して説明する。
【0170】
図20に示すログイン処理において、ステップST200(ログイン用のWebページの要求)からステップST265(暗号化したパスワードの送信)までの手順は、図9に示す変形例のログイン処理と同様である。
図20に示すログイン処理では、暗号処理部205においてパスワードが暗号化された後(ステップST240)、情報無効化部209によるキー情報の無効化が行われずに、照合部208において暗号化パスワードの照合が行われる(ステップST285)。そして、照合の結果ログインが許可されると、サーバ装置2と端末装置3との間におけるその後の通信が、無効化されなかったキー情報を用いて暗号化される。すなわち、サーバ装置2の暗号処理部205と端末装置3の暗号処理部305が、キー情報を共通キーとして用いることにより、通信情報の暗号化・復号化を行う(ステップST310)。
そして、両者の通信が終了すると、情報無効化部209は、記憶部25のセッション管理テーブル213に記憶されるキー情報を削除若しくは無効化する(ステップST315)。
【0171】
以上説明したように、図20に示す変形例によれば、通信ネットワーク9において常に暗号化された状態で伝送されることにより秘密状態が保たれたキー情報を用いて、サーバ装置2と端末装置3との通信情報が暗号化されているため、通信内容の漏えいを効果的に防止できる。
また、ログインの度にランダムに変化するキー情報によって通信情報が暗号化されるため、セキュリティの高い暗号化通信を実現できる。
更に、サーバ装置2と端末装置3との通信が終了した後、記憶部25に記憶されるキー情報が削除若しくは無効化されるので、キー情報が漏えいするリスクをより効果的に低減できる。
【0172】
<第7の実施形態>
次に、本発明の第7の実施形態について説明する。
上述した各実施形態に係るコンピュータシステムでは、ログインを要求する際、端末装置3の入力部34において利用者IDとパスワードの入力が求められるが(ステップST210,図8)、本実施形態に係るコンピュータシステムでは、端末装置3の入力部34において利用者IDとパスワードを入力することなく自動的にログイン処理が進行する。
【0173】
本実施形態では、端末装置3の記憶部35に保存されるクッキー情報312によって、利用者データベース212に登録される利用者認証情報(利用者ID,パスワード)と端末認証情報(認証情報A,B)との組み合わせが特定される。
端末装置3がクッキー情報312を保有していない場合(初回のログイン時など)には、既に説明した第1,第2の実施形態の方法によりログインが行われ、2回目以降のログインにおいて端末装置3がクッキー情報312を保有している場合は、本実施形態の自動的なログイン処理が行われる。
【0174】
利用者認証情報と端末認証情報の組み合わせを特定するクッキー情報としては、例えば、利用者IDと認証情報Aが用いられる。
具体的には、サーバ装置4の情報取得部203は、利用者IDと認証情報Aに所定の変換処理(符号の並べ替え処理,MD5等のハッシュ関数による処理等)を施して、利用者IDと認証情報Aの組み合わせに一意に対応する「利用者・端末識別情報」を生成する(簡易的には、利用者IDと認証情報Aを単純に結合したものでもよい)。
端末装置3のログオンが許可された場合、サーバ装置2の情報取得部203は、利用者IDと認証情報Aに所定の変換処理を施して「利用者・端末識別情報」(新たな第1情報)を生成する。そして、情報取得部203は、この「利用者・端末識別情報」を含んだクッキー情報を元の利用者認証情報(利用者ID,パスワード)および端末認証情報(認証情報A,B)に関連付けて利用者データベース212に格納するとともに、このクッキー情報を端末装置3へ送信する。
端末装置3の認証情報生成部303は、ログオンが許可された場合にサーバ装置2から送信される上述した「利用者・端末識別情報」を含んだクッキー情報を、記憶部35に格納する。
次回以降のログオン処理において、「利用者・端末識別情報」を含んだクッキー情報が記憶部35に記憶されている場合、認証情報生成部303は、利用者ID及び認証情報(元の第1情報)の代わりに、この「利用者・端末識別情報」を含んだクッキー情報をサーバ装置2に送信する。
「利用者・端末識別情報」を含むクッキー情報を端末装置3から受信した場合、サーバ装置2の情報取得部203は、この「利用者・端末識別情報」を検索キーとして、利用者データベース212から利用者認証情報と端末認証情報を取得する。
【0175】
図21は、本実施形態において端末装置3がサーバ装置2にログインする処理の一例を示すフロー図である。
【0176】
まず端末装置3のWebブラウザ部302が、サーバ装置2のログイン用Webページにアクセスし、記憶部35に保存されるクッキー情報312をサーバ装置2に送信する(ステップST201)。
【0177】
サーバ装置2の情報取得部203は、ログイン要求元の端末装置3からクッキー情報312を受信した場合、このクッキー情報に含まれる「利用者・端末識別情報」(新たな第1情報)に関連づけられた認証情報B(第2情報)及び認証情報A(第3情報)を記憶部26の利用者データベース212から取得する(ステップST225)。
情報取得部203は、認証情報B(第2情報)と認証情報A(第3情報)を利用者データベース212から取得した場合、この取得した認証情報B及び認証情報Aを、クッキー情報に含まれるセッションIDと関連付けて、記憶部25のセッション管理テーブル213に登録する。この場合、図4に示すセッション管理テーブル213において利用者IDとパスワードが省略される。
【0178】
利用者データベース212から認証情報B(第2情報)と認証情報A(第3情報)が取得された場合、サーバ装置2のキー情報生成部204は、ランダムなキー情報を生成してセッション管理テーブル213に格納する(ステップST230)。
【0179】
次いで、サーバ装置2の暗号処理部205は、キー情報生成部204において生成されたキー情報を情報取得部203において取得された認証情報B(第2情報)により暗号化する(ステップST235)。
暗号処理部205は、認証情報Bにより暗号化したキー情報を、ログイン要求元の端末装置3へ送信する。また、サーバ装置2のWebサーバ部202は、署名付きプログラムを端末装置3に送信する(ステップST251)。
【0180】
また端末装置3のWebブラウザ部302は、サーバ装置2から受信した署名付きプログラムを実行するとともに、これに添付される認証情報(デジタル証明書)を検証する。署名付きプログラムが実行されると、OS判定部304が端末装置3にインストールされたOSを判定する。
OS判定部304においてOSの種別が判定され、かつ、Webブラウザ部302において署名付きプログラムの正当性が確認された場合、固有情報取得部308は、この判定されたOSの種別に応じたコマンドをOSに実行させて、記憶部35に記憶された固有情報321(第1固有情報)を取得する。認証情報生成部303は、固有情報取得部308によって取得された固有情報321に基づいて2つの認証情報A,Bを生成し、これらを記憶部35へ一時的に格納する(ステップST215)。
【0181】
また、端末装置3の暗号処理部305は、サーバ装置2から暗号化されたキー情報を受信した場合、この受信したキー情報を記憶部35の認証情報B(第2情報)によって復号化する(ステップST255)。
【0182】
更に、暗号処理部305は、この復号化したキー情報によって記憶部35の認証情報A(第3情報)を暗号化し(ステップST261)、当該暗号化した認証情報AをセッションIDとともにサーバ装置2へ送信する(ステップST266)。
【0183】
サーバ装置2の暗号処理部205は、キー情報によって暗号化された認証情報AをセッションIDとともに端末装置3から受信した場合、この端末装置3に送信した暗号化したキー情報に対応する元のキー情報を、記憶部25のセッション管理テーブル213から取得する。そして暗号化処理部205は、セッション管理テーブル213から取得したキー情報に基づいて、端末装置3から受信した暗号化された認証情報Aを復号化する(ステップST271)。
【0184】
端末装置3で暗号化された認証情報A(第3情報)が暗号処理部205において元のキー情報により復号化されると、サーバ装置2の情報無効化部209は、記憶部25のセッション管理テーブル213に登録される元のキー情報を削除若しくは無効化する(ステップST275)。
【0185】
サーバ装置2の照合部208は、暗号処理部205において認証情報Aが復号化されると、この復号化された認証情報Aとセッション管理テーブル213に登録される認証情報Aとを比較し、両者が一致している場合にログインの許可を判定する(ステップST281)。
【0186】
以上説明したように、本実施形態によれば、端末装置3に保存されたクッキー情報(利用者データベース212のレコードを特定可能な情報)を用いることによって、自動的にログイン処理を進めることが可能となり、利用者がIDやパスワードを入力する手間を無くすことができる。
もし、クッキー情報を盗んだ第三者が他の端末装置でログインを試みても、端末認証情報の異なる他の端末装置のログインをサーバ装置2が拒否するので、第三者のなりすましを確実に排除できる。従って、自動ログインによって利便性を向上させつつ、高いセキュリティを保つことができる。
【0187】
<第7の実施形態の変形例>
次に、第7の実施形態の変形例について、図22のフロー図を参照して説明する。
図21に示すログイン処理では、端末装置3で暗号化された認証情報Aがサーバ装置2において復号化され、その復号化後の認証情報Aと利用者データベース212に登録される認証情報Aとが照合される。
一方、図22に示すログイン処理では、サーバ装置2の利用者データベース212に登録される認証情報Aがキー情報により暗号化され、この暗号化された認証情報Aと端末装置3で暗号化された認証情報Aとが照合される。
【0188】
図22に示すログイン処理において、ステップST201(ログイン要求)からステップST266(暗号化した認証情報Aの送信)までの手順は、図21に示すログイン処理と同様である。
図22に示す変形例では、サーバ装置2の照合部208において照合が行われる前に、暗号処理部205において認証情報A(第3情報)の暗号化が行われる。すなわち、暗号処理部205は、ステップST235で暗号化したキー情報に対応する元のキー情報を用いて、認証情報A(第3情報)を暗号化する(ステップST241)。暗号処理部205は、この暗号化した認証情報Aをセッション管理テーブル213に登録する。
認証情報Aの暗号化後、情報無効化部209はセッション管理テーブル213に登録されるキー情報を削除若しくは無効化する(ステップST245)。
【0189】
そして、端末装置3から暗号化された認証情報Aが受信されると、サーバ装置2の照合部208は、ステップST241で暗号化された認証情報AとステップST266で受信された暗号化された認証情報Aとを比較する。両者が一致している場合、照合部208はログインの許可を判定する(ステップST286)。
【0190】
照合部208において照合が行われた後、情報無効化部209は、記憶部25に記憶される(セッション管理テーブル213に登録される)暗号化された認証情報Aを削除若しくは無効にする(ステップST291)。
【0191】
以上説明したように、図22に示す変形例によれば、サーバ装置2の暗号処理部205において復号処理を行う必要がないので、復号化部207を省略することができる。また、端末装置3の復号化処理・暗号化処理(ST255,ST261)と並行に、サーバ装置2の暗号化処理(ST241)を実行できるので、ログイン処理を高速化できる。
【0192】
<第8の実施形態>
次に、本発明の第8の実施形態について、図23のフロー図を参照して説明する。
【0193】
図23に示すログイン処理において、ステップST201(ログイン要求)からステップST271(キー情報による認証情報Aの復号化)までの手順は、図21に示すログイン処理と同様である。
図21に示すログイン処理では、端末装置3で暗号化された認証情報Aがサーバ装置2において復号された後(ステップST271)、その復号化に用いられたキー情報がサーバ装置2の記憶部25から直ちに削除される(ステップST275)。
一方、図23に示すログイン処理では、サーバ装置2の暗号処理部205において復号化が行われた後(ステップST271)、キー情報の削除が行われずに照合部208の照合が行われる(ステップST281)。そして、照合の結果ログインが許可されると、サーバ装置2と端末装置3との間におけるその後の通信が、このキー情報によって暗号化される。すなわち、サーバ装置2の暗号処理部205と端末装置3の暗号処理部305とが、共通のキー情報を用いて通信情報の暗号化・復号化を行う(ステップST300)。
両者の通信が終了すると、情報無効化部209は、記憶部25のセッション管理テーブル213に記憶されるキー情報を削除若しくは無効化する(ステップST305)。
【0194】
以上説明したように、本実施形態によれば、秘密状態が保たれたキー情報を用いて、サーバ装置2と端末装置3との通信情報が暗号化されているため、通信内容の漏えいを効果的に防止できる。
また、ログインの度にランダムに変化するキー情報によって通信情報が暗号化されるため、よりセキュリティの高い暗号化通信を実現できる。
更に、サーバ装置2と端末装置3との通信が終了した後、記憶部25に記憶されるキー情報が削除若しくは無効化されるため、キー情報が漏えいするリスクをより効果的に低減できる。
【0195】
<第8の実施形態の変形例>
次に、第8の実施形態の変形例について、図24のフロー図を参照して説明する。
【0196】
図24に示すログイン処理において、ステップST201(ログイン要求)からステップST266(暗号化された認証情報Aの送信)までの手順は、図22に示す変形例のログイン処理と同様である。
図24に示すログイン処理では、暗号処理部205において認証情報Aが暗号化された後(ステップST241)、情報無効化部209によるキー情報の無効化が行われずに、照合部208において暗号化された認証情報Aの照合が行われる(ステップST286)。そして、照合の結果ログインが許可されると、サーバ装置2と端末装置3との間におけるその後の通信が、無効化されなかったキー情報を用いて暗号化される。すなわち、サーバ装置2の暗号処理部205と端末装置3の暗号処理部305が、キー情報を共通キーとして用いることにより、通信情報の暗号化・復号化を行う(ステップST311)。
そして、両者の通信が終了すると、情報無効化部209は、記憶部25のセッション管理テーブル213に記憶されるキー情報を削除若しくは無効化する(ステップST316)。
【0197】
以上説明したように、図24に示す変形例によれば、通信ネットワーク9において常に暗号化された状態で伝送されることにより秘密状態が保たれたキー情報を用いて、サーバ装置2と端末装置3との通信情報が暗号化されているため、通信内容の漏えいを効果的に防止できる。
また、ログインの度にランダムに変化するキー情報によって通信情報が暗号化されるため、セキュリティの高い暗号化通信を実現できる。
更に、サーバ装置2と端末装置3との通信が終了した後、記憶部25に記憶されるキー情報が削除若しくは無効化されるので、キー情報が漏えいするリスクをより効果的に低減できる。
【0198】
<第9の実施形態>
次に、本発明の第9の実施形態について、図25を参照して説明する。
第9の実施形態では、端末装置3からの応答が一定時間を超えて無かった場合に、認証情報の暗号化に用いるキー情報を削除する。
【0199】
図25に示すログイン処理において、ステップST200(ログイン用のWebページの要求)からステップST250(暗号化したキー情報の送信)までの手順は、図8に示すログイン処理と同様である。
本実施形態では、暗号処理部205が認証情報Bにより暗号化したキー情報を端末装置3へ送信した場合に、その時刻に対応する時刻情報を暗号化前の元のキー情報に関連付けてセッション管理テーブル213に登録する。
【0200】
そして、情報無効化部209は、暗号化されたキー情報が端末装置3へ送信された後、この暗号化されたキー情報に対応する元のキー情報に関連付けてセッション管理テーブル213に登録される時刻情報を、暗号化されたパスワードが端末装置3から受信されるまで(ステップST265まで)監視する。
例えば情報無効化部209は、暗号化されたキー情報が端末装置3へ送信された後、セッション管理テーブル213に「監視中」を示すフラグ情報を記録する。そして、情報無効化部209は、「監視中」のフラグ情報を持つ通信セッションの時刻情報をセッション管理テーブル213から定期的に取得し、この時刻情報が示す時刻からの経過時間(時刻情報が示す時刻と現在時刻との差)を算出する。
【0201】
そして、情報無効化部209は、監視対象の時刻情報の経過時間を所定の時間Tと比較し、経過時間が所定の時間Tを超えた場合、この監視対象の時刻情報に関連付けられたキー情報をセッション管理テーブル213から削除するか、若しくは無効化する(ステップST246)。
他方、監視対象の時刻情報の経過時間が所定の時間Tを超える前に、端末装置3からの応答(暗号化されたパスワード)が受信された場合、情報無効化部209は、セッション管理テーブル213に記録した「監視中」のフラグ情報をクリアする(「非監視中」の状態にする)。
【0202】
このように、本実施形態では、ログイン処理の途中で端末装置3からの応答が一定時間以上途絶えた場合に、ステップST225で生成されたキー情報が無効化されて、ログイン処理が中断される。これにより、キー情報の漏えいを効果的に防止できるため、セキュリティを更に向上できる。
【0203】
以上、本発明の種々の実施形態について説明したが、本発明は上述した実施形態に限定されるものではなく、種々のバリエーションを含んでいる。
【0204】
上述した第1乃至第6の実施形態では、本発明における「第1情報」を認証情報A及び利用者ID、「第2情報」を認証情報B、「第3情報」をパスワードとしており、上述した第7,第8の実施形態では、本発明における「第1情報」をクッキー情報(「利用者・端末識別情報」)、「第2情報」を認証情報B、「第3情報」を認証情報Aとしているが、本発明はこの例に限定されない。
本発明における「第2情報」と「第3情報」は、端末装置とサーバ装置が共有する秘密情報であり、「第1情報」は、サーバ装置に格納される「第2情報」と「第3情報」のペアを特定するために用いられる情報であって、これらの属性は任意である。
従って、例えば端末認証のみが必要な場合(特定の利用者が特定の端末装置のみを使用する場合)は、「第1情報」「第2情報」「第3情報」の全てを端末認証情報としてもよい。逆に、利用者認証のみが必要な場合は、これらの情報の全てを利用者認証情報としてもよい。また、「第1情報」「第2情報」「第3情報」が端末認証情報と利用者認証情報をそれぞれ含むようにしてもよい。
【0205】
上述の実施形態では、端末装置3の固有情報を処理部31の記憶部35から取得しているが本発明はこれに限定されない。本発明の他の実施形態では、処理部31によって制御される周辺機器のメモリから固有情報を取得してもよい。
【0206】
上述の実施形態では、第2固有情報としてMACアドレスを例に挙げているが、OSの種別が不明でも取得可能な他の固有情報を第2固有情報として取得してもよい。
【0207】
本発明において、利用者認証情報は利用者IDとパスワードに限定されるものではなく、例えば指紋認証や静脈認証などの生体認証情報を用いてもよい。
【0208】
上述した第3,第4の実施形態では、「利用者・端末識別情報」を利用者データベース212に登録しているが、本発明はこの例に限定されない。例えば、端末装置3からクッキー情報312を受信した場合、サーバ装置2の情報取得部203は、受信したクッキー情報312に含まれる「利用者・端末識別情報」に対して上述とは逆の変換処理を施すことにより利用者IDと認証情報Aを再生し、この利用者IDと認証情報Aに基づいて、利用者データベース212から必要な情報を取得するようにしてもよい。
【符号の説明】
【0209】
1…コンピュータシステム、2…サーバ装置、3…端末装置、9…通信ネットワーク、21,31…処理部、22,32…通信部、23,33…表示部、24,34…入力部、25,35…記憶部、202…Webサーバ部、203…情報取得部、204…キー情報生成部、205,305…暗号処理部、208…照合部、209…情報無効化部、212…利用者データベース、213…セッション管理テーブル、302…Webブラウザ部、303…認証情報生成部、312…クッキー情報、320…内部メモリ、321…固有情報
【技術分野】
【0001】
本発明は、端末装置のログイン要求を処理するサーバ装置並びにコンピュータシステムとそのログイン方法に係り、特に、端末装置がサーバ装置へログインする際に端末装置とサーバ装置との間でやりとりされる秘密情報の漏洩を防止する方法に関するものである。
【背景技術】
【0002】
近年、インターネットを通じて種々のサービスを提供する情報通信システムが、企業のみならず個人のレベルでも広く利用されている。インターネットは不特定のコンピュータが接続可能な公衆ネットワークであるため、特定の利用者にだけサービスを提供する場合は、サーバ装置において利用者若しくはコンピュータの認証を行う必要がある。
一般的なサーバ装置では、アクセスを要求するコンピュータから利用者IDとパスワードを取得し、これが予め登録されたものと一致している場合にログインを許可する。
また、特許文献1に記載されるサーバ装置では、アクセスを要求するコンピュータからその装置の固有情報(CPUのID,BIOSの情報等)を取得し、これが予め登録されたものと一致している場合にログインを許可する。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】PCT/JP2010/001646明細書
【発明の概要】
【発明が解決しようとする課題】
【0004】
上述したパスワードや端末固有情報などの認証情報がそのままインターネットに流れてしまうと、ネットワークの通信データを監視する悪意の第三者に認証情報が漏洩してしまう可能性がある。そこで、高いセキュリティが要求される認証情報等を送受信する場合は、一般にSSL(secure socket layer)などの暗号化通信プロトコルによって通信データが暗号化されている。
【0005】
しかしながら、SSLを使用するために商用の認証局からサーバ証明書を受けると、そのための費用が発生し、運営コストが上昇するという問題がある。また、SSLにおける公開鍵暗号方式は、共有鍵を用いる暗号方式に比べて複雑であり、サーバ装置での負荷が重くなるという問題がある。
【0006】
本発明はかかる事情に鑑みてなされたものであり、その目的は、負荷の軽い簡易な暗号方式で認証情報の漏洩を効果的に防止できるサーバ装置とそのプログラム並びにコンピュータシステムとそのログイン方法を提供することにある。
【課題を解決するための手段】
【0007】
本発明の第1の観点は、端末装置のログイン要求を処理するサーバ装置に関するものであり、このサーバ装置は、前記端末装置の情報記憶手段に記憶される前記端末装置の固有の情報に基づいて生成される第1情報と、少なくとも一方が前記固有情報に基づいて生成される第2情報及び第3情報とを関連付けて記憶する記憶部と、前記端末装置からログイン要求を受信した場合、当該端末装置において実行される端末側プログラムを当該端末装置へ送信するプログラム送信部と、ログイン要求元の端末装置から前記第1情報を受信した場合、当該受信した第1情報に関連づけられた前記第2情報及び前記第3情報を前記記憶部から取得する情報取得部と、前記端末装置からのログイン要求に応じて前記情報取得部が前記第2情報を取得する度に変化するキー情報を生成するキー情報生成部と、前記キー情報生成部において生成されたキー情報を前記情報取得部において取得された第2情報により暗号化し、当該暗号化したキー情報を前記ログイン要求元の端末装置へ送信する暗号処理部と、前記キー情報により暗号化された前記第3情報を前記ログイン要求元の端末装置から受信した場合、当該受信した第3情報と前記情報取得部において取得された第3情報とを照合する照合部とを有する。
前記端末側プログラムは、前記端末装置の情報記憶手段に記憶された前記固有情報を取得する第1固有情報取得手段、前記取得した前記固有情報に基づいて、前記第1情報を生成するとともに前記第2情報及び前記第3情報の少なくとも一方を生成し、当該生成した第1情報を前記サーバ装置に送信する情報生成手段、前記サーバ装置から受信した前記暗号化されたキー情報を前記第2情報により復号化する端末側復号化手段、及び、前記復号化したキー情報により前記第3情報を暗号化し、当該暗号化した第3情報を前記サーバ装置に送信する端末側暗号化手段として前記端末装置を機能させる。
【0008】
好適に、前記情報生成手段は、所定の付加情報と前記固有情報とを含んだデータに一方向性関数を施した結果に基づいて前記第1情報を生成するとともに、前記所定の付加情報とは異なる付加情報と前記固有情報とを含んだデータに一方向性関数を施した結果に基づいて前記第2情報及び/又は前記第3情報を生成する。
または、前記情報生成手段は、前記端末装置の情報記憶手段から取得された固有情報の一部に一方向性関数を施した結果に基づいて前記第1情報を生成するとともに、前記取得された固有情報の他の一部に一方向性関数を施した結果に基づいて前記第2情報及び/又は前記第3情報を生成してよい。
または、前記情報生成手段は、前記固有情報に一方向性関数を施した結果に基づいて前記第1情報を生成するとともに、前記固有情報に前記第1情報の生成に用いた一方向性関数とは異なる一方向性関数を施した結果に基づいて前記第2情報及び/又は前記第3情報を生成してよい。
【0009】
好適に、前記端末側プログラムは、更に、前記端末装置にインストールされたオペレーティングシステムの種別を判定する判定手段として前記端末装置を機能させる。
第1固有情報取得手段は、前記判定手段において判定された前記種別に応じた所定の命令を前記オペレーティングシステムに実行させることにより、前記端末装置を構成するハードウェアに係る固有情報、及び、前記端末装置にインストールされたソフトウェアに係る固有情報の何れか一方若しくは両方を前記端末装置の情報記憶手段から取得してよい。
【0010】
好適に、上記サーバ装置は、前記端末装置との通信セッションを識別するためのセッション識別情報を生成し、当該生成したセッション識別情報を前記端末装置に通知するセッション情報生成部を有する。
前記暗号処理部は、前記セッション情報を前記キー情報とともに前記第2情報によって暗号化してよい。
前記端末側復号化手段は、前記暗号化処理部において前記キー情報とともに暗号化された前記セッション情報を復号化してよい。
前記端末側プログラムは、更に、通信セッションの開始時に前記サーバ装置から通知されたセッション情報と前記復号化したセッション情報とを照合し、両者が一致しない場合は前記サーバ装置への前記暗号化された第3情報の送信を禁止するセッション情報照合手段として前記端末装置を機能させてよい。
【0011】
好適に、前記プログラム送信部は、前記端末側プログラムの正当性を認証するための認証情報を前記端末側プログラムとともに前記端末装置へ送信する。
前記第1固有情報取得手段は、前記端末装置のプログラム正当性確認手段において前記認証情報に基づいて前記端末側プログラムの正当性が確認されることを条件として、前記固有情報の取得を実行してよい。
【0012】
好適に、前記端末側プログラムは、更に、前記オペレーティングシステムの種別に依らずに取得可能な固有情報を前記端末装置の前記情報記憶手段から取得する第2固有情報取得手段として前記端末装置を機能させる。
前記情報生成手段は、前記判定手段において前記端末装置にインストールされたオペレーティングシステムの種別を判定できない場合、又は、前記端末装置の前記プログラム正当性確認手段において前記端末側プログラムの正当性を確認できない場合に、前記第2固有情報取得手段で取得された前記固有情報に基づいて、前記第1情報を生成するとともに前記第2情報及び前記第3情報の少なくとも一方を生成し、当該生成した第1情報を前記サーバ装置に送信してよい。
【0013】
好適に、前記記憶部は、前記第1情報の生成並びに当該第1情報に関連付けられた前記第2情報及び/又は前記第3情報の生成に用いられた前記固有情報が前記第1固有情報取得手段において取得された固有情報(以下、「第1固有情報」と記す。)であるか又は前記第2固有情報取得手段において取得された固有情報(以下、「第2固有情報」と記す。)であるかを示すフラグ情報を更に記憶する。
前記情報生成手段は、前記第1情報を前記サーバ装置へ送信する際、前記第1情報に係る前記フラグ情報を前記サーバ装置へ送信してよい。
前記情報取得部は、前記第1情報とこれに係る前記フラグ情報を前記端末装置から受信した場合、当該受信した第1情報と一致する第1情報を前記記憶部において検索してよく、当該検索した第1情報について前記記憶部に記憶される前記フラグ情報が当該受信したフラグ情報と一致するならば、当該検索した第1情報に関連付けられた前記第2情報及び前記第3情報を前記記憶部から取得してよい。
【0014】
好適に、前記情報取得部は、前記端末装置から受信した第1情報を前記記憶部の記憶情報から検索できず、かつ、当該受信した第1情報に係る前記フラグ情報が前記第1固有情報に基づいて当該第1情報が生成されたことを示す場合、前記第2固有情報に基づいて生成された前記第1情報の送信を求める送信要求を前記端末装置に送信する。
前記端末装置において前記送信要求が受信された場合、前記情報生成手段は、前記第2固有情報に基づいて生成した前記第1情報とこれに係る前記フラグ情報を前記サーバ装置に送信してよい。
前記送信要求に応答した前記端末装置から前記サーバ装置へ前記第1情報が送信され、前記サーバ装置において当該第1情報に関連付けられた前記第2情報により前記キー情報が暗号化され、当該暗号化されたキー情報が前記サーバ装置から前記端末装置へ送信された場合、前記端末側復号化手段は、当該暗号化されたキー情報を、前記第2固有情報に基づいて生成された前記第2情報により復号化するか、若しくは、前記端末装置の情報入力手段に入力された前記第2情報により復号化してよい。また、この場合、前記端末側暗号化手段は、前記第2固有情報に基づいて生成された前記第3情報若しくは前記端末装置の情報入力手段に入力された第3情報を、前記復号化されたキー情報により暗号化して前記サーバ装置に送信するとともに、前記第1固有情報に基づいて生成された前記第2情報及び/又は第3情報を、前記復号化されたキー情報により暗号化して前記サーバ装置に送信してよい。
前記暗号処理部は、前記第1固有情報に基づいて生成されて前記キー情報により暗号化された前記第2情報及び/又は前記第3情報を、前記キー情報生成部において生成されたキー情報により復号化してよい。
前記照合部は、前記第2固有情報に基づいて生成されるか若しくは前記端末装置の情報入力手段に入力されて前記キー情報により暗号化された前記第3情報と、前記情報取得部において取得された第3情報とを照合してよい。
前記情報取得部は、前記第2固有情報に基づいて生成されるか若しくは前記端末装置の情報入力手段に入力された第3情報と前記情報取得部において取得された第3情報とが一致すると前記照合部において判定された場合、前記第1固有情報に基づいて生成されて前記キー情報により復号化された第2情報及び/又は第3情報と、前記第1固有情報に基づいて生成され、前記記憶部の記憶情報から検索できなかった前記第1情報と、前記第2固有情報に基づいて生成され、前記送信要求に応答した前記端末装置から前記サーバ装置へ送信された前記第1情報とを関連付けて前記記憶部に格納し、各第1情報に係る前記フラグ情報を前記記憶部に格納してよい。
【0015】
前記第1固有情報に基づいて生成された第1情報が前記記憶部の記憶情報から検索できないため、前記第2固有情報に基づいて生成された前記第1情報に関連付けられた前記第2情報及び前記第3情報が前記記憶部から取得され、当該取得された第2情報により暗号化された前記キー情報と前記第2固有情報に基づいて生成された前記第1情報に係る前記フラグ情報とが前記サーバ装置から前記端末装置へ送信された場合、前記端末側復号化手段は、前記暗号化されたキー情報を、前記第2固有情報に基づいて生成された前記第2情報により復号化するか、若しくは、前記端末装置の情報入力手段に入力された前記第2情報により復号化してよい。また、この場合、前記端末側暗号化手段は、前記第2固有情報に基づいて生成された前記第3情報若しくは前記端末装置の情報入力手段に入力された第3情報を、前記復号化されたキー情報により暗号化して前記サーバ装置に送信するとともに、前記第1固有情報に基づいて生成された前記第2情報及び/又は第3情報を前記復号化されたキー情報により暗号化して前記サーバ装置に送信してよい。
前記暗号処理部は、前記第1固有情報に基づいて生成されて前記キー情報により暗号化された前記第2情報及び/又は前記第3情報を、前記キー情報生成部において生成されたキー情報により復号化してよい。
前記照合部は、前記第2固有情報に基づいて生成されるか若しくは前記端末装置の情報入力手段に入力されて前記キー情報により暗号化された前記第3情報と、前記情報取得部において取得された第3情報とを照合してよい。
前記情報取得部は、前記第2固有情報に基づいて生成されるか若しくは前記端末装置の情報入力手段に入力された第3情報と前記情報取得部において取得された第3情報とが一致すると前記照合部において判定された場合、前記第1固有情報に基づいて生成されて前記キー情報により復号化された第2情報及び/又は第3情報と、前記第1固有情報に基づいて生成され、前記記憶部の記憶情報から検索できなかった前記第1情報と、前記第2固有情報に基づいて生成された前記第1情報とを関連付けて前記記憶部に格納してよく、また、各第1情報に係る前記フラグ情報を前記記憶部に格納してよい。
【0016】
前記第2情報で暗号化された前記キー情報と、前記第2固有情報に基づいて当該第1情報が生成されたことを示すフラグ情報とが前記端末装置において受信された場合、前記端末側復号化手段は、前記暗号化されたキー情報を、前記第2固有情報に基づいて生成された前記第2情報により復号化するか、若しくは、前記端末装置の情報入力手段に入力された前記第2情報により復号化してよい。また、この場合、前記端末側暗号化手段は、前記第2固有情報に基づいて生成された前記第3情報若しくは前記端末装置の情報入力手段に入力された第3情報を、前記復号化されたキー情報により暗号化して前記サーバ装置に送信するとともに、前記第1固有情報に基づいて生成された前記第2情報及び/又は第3情報を前記復号化されたキー情報により暗号化して前記サーバ装置に送信してよい。
前記暗号処理部は、前記第1固有情報に基づいて生成されて前記キー情報により暗号化された前記第2情報及び/又は前記第3情報を、前記キー情報生成部において生成されたキー情報により復号化してよい。
前記照合部は、前記第2固有情報に基づいて生成されるか若しくは前記端末装置の情報入力手段に入力されて前記キー情報により暗号化された前記第3情報と、前記情報取得部において取得された第3情報とを照合してよい。
前記情報取得部は、前記第2固有情報に基づいて生成されるか若しくは前記端末装置の情報入力手段に入力された第3情報と前記情報取得部において取得された第3情報とが一致すると前記照合部において判定された場合、前記第1固有情報に基づいて生成されて前記キー情報により復号化された第2情報及び/又は第3情報と、前記第1固有情報に基づいて生成された前記第1情報と、前記第2固有情報に基づいて生成された前記第1情報とを関連付けて前記記憶部に格納し、各第1情報に係る前記フラグ情報を前記記憶部に格納してよい。
【0017】
好適に、前記暗号処理部は、前記暗号化したキー情報を前記端末装置へ送信した時刻に対応する時刻情報を、前記暗号化したキー情報を暗号化する前の元のキー情報に関連付けて前記記憶部に格納する。この場合、上記サーバ装置は、前記ログイン要求元の端末装置へ前記暗号化されたキー情報が送信された後、当該暗号化されたキー情報に対応する前記元のキー情報に関連付けて前記記憶部に格納される前記時刻情報を、当該端末装置から前記暗号化された第3情報を受信するまで監視し、当該監視対象の時刻情報が示す時刻からの経過時間が所定の時間を超えた場合、当該監視対象の時刻情報に関連付けられた前記元のキー情報を前記記憶部から削除する若しくは無効化する情報無効化部を有してよい。
【0018】
好適に、前記暗号処理部は、前記ログイン要求元の端末装置から受信した第3情報を、当該端末装置へ暗号化して送信したキー情報に対応する元の前記キー情報により復号化する。この場合、前記照合部は、前記暗号処理部において復号化された第3情報と前記情報取得部において取得された第3情報とが一致しているか否か判定してよい。
【0019】
好適に、前記暗号処理部は、前記情報取得部において取得された第3情報を、前記ログイン要求元の端末装置へ暗号化して送信したキー情報に対応する元の前記キー情報によって暗号化する。この場合、前記照合部は、前記端末装置から受信した暗号化された第3情報と前記暗号処理部により暗号化された第3情報とが一致しているか否か判定してよい。
【0020】
好適に、前記キー情報生成部は、前記暗号処理部により暗号化される前の元のキー情報を前記記憶部に格納する。この場合、上記サーバ装置は、前記端末装置において暗号化された第3情報が前記暗号処理部において前記元のキー情報により復号化された後、当該元のキー情報を前記記憶部から削除する若しくは無効化する情報無効化部を有してよい。
【0021】
好適に、前記キー情報生成部は、前記暗号処理部により暗号化される前の元のキー情報を前記記憶部に格納する。この場合、上記サーバ装置は、前記暗号処理部において前記第3情報が前記元のキー情報により暗号化された後、当該元のキー情報を前記記憶部から削除する若しくは無効化する情報無効化部を有してよい。
【0022】
好適に、前記暗号処理部は、前記照合部の照合結果に基づいて前記端末装置のログイン要求が許可された場合、当該端末装置へ送信する情報の少なくとも一部を前記キー情報により暗号化する処理、及び/又は、当該端末装置から受信する情報の少なくとも一部を前記キー情報により復号化する処理を行う。
この場合、前記キー情報生成部は、前記暗号処理部により暗号化される前の元のキー情報を前記記憶部に格納してよい。上記サーバ装置は、前記端末装置との通信が終了した場合、当該終了した通信において前記暗号処理部が使用した前記元のキー情報を前記記憶部から削除する若しくは無効化する情報無効化部を有してよい。
【0023】
好適に、前記第1情報が、前記端末装置の利用者を識別するために前記端末装置の情報入力手段から入力される利用者識別情報と前記固有情報とを含み、前記第2情報及び前記第3情報の少なくとも一方が、利用者本人を認証するために前記端末装置の情報入力手段から入力される本人認証情報を含む。
【0024】
好適に、前記情報取得部は、前記端末装置のログオンが許可された場合、前記第1情報に所定の変換を施して生成した新たな第1情報を元の第1情報に関連付けて前記記憶部に格納するとともに、前記新たな第1情報を前記端末装置へ送信する。
前記情報生成手段は、前記端末装置へのログオンが許可された場合に前記サーバ装置から送信された前記新たな第1情報を前記記憶部に格納し、次回の前記サーバ装置へのログイン処理においては、前記情報記憶手段に格納した前記新たな第1情報を前記サーバ装置に送信してよい。、
前記情報取得部は、前記端末装置から前記新たな第1情報を受信した場合、当該受信した新たな第1情報に関連づけられた前記第2情報及び前記第3情報を前記記憶部から取得してよい。
【0025】
本発明の第2の観点に係るコンピュータシステムは、端末装置と、前記端末装置のログイン要求を処理するサーバ装置とを具備する。
前記端末装置は、当該端末装置の固有の情報を記憶する端末側記憶部と、前記サーバ装置に対するログイン要求を送信するログイン要求送信部とを有する。
前記サーバ装置は、前記端末装置の前記端末側記憶部に記憶される前記固有情報に基づいて生成される第1情報と、少なくとも一方が前記固有情報に基づいて生成される第2情報及び第3情報とを関連付けて記憶するサーバ側記憶部と、前記端末装置から前記ログイン要求を受信した場合、当該端末装置において実行される端末側プログラムを当該端末装置へ送信するプログラム送信部と、前記端末装置から前記第1情報を受信した場合、当該受信した第1情報に関連づけられた前記第2情報及び前記第3情報を前記記憶部から取得する情報取得部と、前記端末装置からのログイン要求に応じて前記情報取得部が前記第2情報を取得する度に変化するキー情報を生成するキー情報生成部と、前記キー情報生成部において生成されたキー情報を前記情報取得部において取得された第2情報により暗号化し、当該暗号化したキー情報を前記ログイン要求元の端末装置へ送信する暗号処理部と、前記キー情報により暗号化された前記第3情報を前記ログイン要求元の端末装置から受信した場合、当該受信した第3情報と前記情報取得部において取得された第3情報とを照合する照合部とを有する。
前記端末側プログラムは、前記端末側記憶部から前記固有情報を取得する固有情報取得手段、前記取得した前記固有情報に基づいて、前記第1情報を生成するとともに前記第2情報及び前記第3情報の少なくとも一方を生成し、当該生成した第1情報を前記サーバ装置に送信する情報生成手段、前記サーバ装置から受信した前記暗号化されたキー情報を前記第2情報により復号化する端末側復号化手段、及び、前記復号化したキー情報により前記第3情報を暗号化し、当該暗号化した第3情報を前記サーバ装置に送信する端末側暗号化手段として前記端末装置を機能させる。
【0026】
本発明の第3の観点は、端末装置がサーバ装置にログインする方法に関するものであり、このログイン方法は、前記端末装置の情報記憶手段に記憶される前記端末装置の固有の情報に基づいて生成される第1情報と、少なくとも一方が前記固有情報に基づいて生成される第2情報及び第3情報とが、前記サーバ装置の記憶手段に関連付けて記憶された状態で、前記端末装置が前記サーバ装置にログイン要求を送信する第1工程と、前記サーバ装置が前記端末装置から前記ログイン要求を受信すると、前記サーバ装置のプログラム送信手段が、当該端末装置において実行される端末側プログラムを当該端末装置へ送信する第2工程と、前記端末側プログラムに基づく前記端末装置の固有情報取得手段が、前記端末装置の前記情報記憶手段から前記固有情報を取得する第3工程と、前記端末側プログラムに基づく前記端末装置の情報生成手段が、前記取得した前記固有情報に基づいて、前記第1情報を生成するとともに前記第2情報及び前記第3情報の少なくとも一方を生成し、当該生成した第1情報を前記サーバ装置に送信する第4工程と、前記サーバ装置の情報取得手段が、前記端末装置から受信した前記第1情報に関連づけられた前記第2情報及び前記第3情報を、前記サーバ装置の前記記憶手段から取得する第5工程と、前記サーバ装置のキー情報生成手段が、前記端末装置からのログイン要求に応じて前記情報取得手段が前記第2情報を取得する度に変化するキー情報を生成する第6工程と、前記サーバ装置の暗号処理手段が、前記キー情報生成手段において生成されたキー情報を前記情報取得手段において取得された第2情報により暗号化し、当該暗号化したキー情報を前記ログイン要求元の前記端末装置へ送信する第7工程と、前記端末側プログラムに基づく前記端末装置の端末側復号化手段が、前記サーバ装置から受信した前記暗号化されたキー情報を前記第2情報により復号化する第8工程と、前記端末側プログラムに基づく前記端末装置の端末側暗号化手段が、前記復号化されたキー情報により前記第3情報を暗号化し、当該暗号化した第3情報を前記サーバ装置に送信する第9工程と、前記サーバ装置の照合手段が、前記ログイン要求元の端末装置から受信した前記暗号化された第3情報と前記情報取得手段によって取得された第3情報とを照合する第10工程とを有する。
【発明の効果】
【0027】
本発明によれば、負荷の軽い簡易な暗号方式で認証情報の漏洩を効果的に防止できる。
【図面の簡単な説明】
【0028】
【図1】本発明の実施形態に係るコンピュータシステムの構成の一例を示す図である。
【図2】サーバ装置と端末装置のハードウェア構成の一例を示す図である。
【図3】サーバ装置の構成の一例を示す図である。
【図4】セッション管理テーブルの一例を示す。
【図5】第1の実施形態に係る端末装置の構成の一例を示す図である。
【図6】認証情報生成部が固有情報に基づいて2つの認証情報を生成する方法の例を示す図である。
【図7】端末認証情報と利用者認証情報を事前にサーバ装置の利用者データベースへ登録する方法の一例を説明するためのフロー図である。
【図8】第1の実施形態に係るログイン処理の一例を説明するフロー図である。
【図9】第1の実施形態の変形例に係るログイン処理の一例を説明するフロー図である。
【図10】第2の実施形態に係る端末装置の構成の一例を示す図である。
【図11】第2の実施形態に係るログイン処理の一例を説明するフロー図である。
【図12】第3の実施形態に係る端末装置の構成の一例を示す図である。
【図13】第3の実施形態に係るログイン処理の一例を説明するフロー図である。
【図14】第4の実施形態に係るログイン処理の一例を説明する第1のフロー図である。
【図15】第4の実施形態に係るログイン処理の一例を説明する第2のフロー図である。
【図16】第5の実施形態に係るログイン処理の一例を説明するフロー図である。
【図17】第5の実施形態に係るログイン処理において第1固有情報に基づき生成された認証情報が未だ利用者データベースに登録されていない場合の例を説明する第1のフロー図である。
【図18】第5の実施形態に係るログイン処理において第1固有情報に基づき生成された認証情報が未だ利用者データベースに登録されていない場合の例を説明する第2のフロー図である。
【図19】第6の実施形態に係るログイン処理の一例を説明するフロー図である。
【図20】第6の実施形態の変形例に係るログイン処理の一例を説明するフロー図である。
【図21】第7の実施形態に係るログイン処理の一例を説明するフロー図である。
【図22】第7の実施形態の変形例に係るログイン処理の一例を説明するフロー図である。
【図23】第8の実施形態に係るログイン処理の一例を説明するフロー図である。
【図24】第8の実施形態の変形例に係るログイン処理の一例を説明するフロー図である。
【図25】第9の実施形態に係るログイン処理の一例を説明するフロー図である。
【発明を実施するための形態】
【0029】
<第1の実施形態>
図1は、本発明の実施形態に係るコンピュータシステムの構成の一例を示す図である。
図1に示すコンピュータシステムは、インターネット等の通信ネットワーク9を介して接続されたサーバ装置2,4と複数の端末装置3を有する。
【0030】
サーバ装置2は、ログインを許可した端末装置3に種々のサービスを提供するコンピュータであり、例えばWebページを表示するコンテンツ(テキスト、映像、音声等)のダウンロードや、Webメール等のアプリケーションの利用、会員制サイトへのアクセス、ショッピング決済などのサービスを提供する。
【0031】
端末装置3は、サーバ装置2にアクセスしてWebコンテンツのダウンロード等のサービスの提供を受けるコンピュータであり、例えばパーソナルコンピュータや携帯情報端末などである。
【0032】
サーバ装置4は、サーバ装置2へログインするための認証情報を端末装置3から取得するコンピュータであり、利用者認証情報(利用者ID,パスワード)や端末装置3の認証用の情報を端末装置3から取得して、サーバ装置2の利用者データベース212に登録する処理を行う。
【0033】
本実施形態において端末装置3がサーバ装置2へログインする方法は、大まかに次の手順で実施される。
【0034】
まず事前に、端末装置3の固有情報に基づいて、端末認証用の2つの情報(認証情報A,B)が生成される。生成された端末認証情報は、利用者認証情報(利用者ID,パスワード)と関連付けられて、サーバ装置2の利用者データベース212(図3)に登録される。これにより、端末認証情報と利用者認証情報は、端末装置3とサーバ装置2の双方において既知の情報となる。
そしてサーバ装置2にログインを要求する場合、端末装置3は、利用者IDと認証情報A(本発明における第1情報)をサーバ装置2に送信する。
サーバ装置2は、端末装置3から利用者IDと認証情報Aを取得すると、これらの情報をキーとして、認証情報B(本発明における第2情報)とパスワード(本発明における第3情報)を利用者データベース212から検索する。検索により該当する認証情報Bとパスワードが見つかると、サーバ装置2は、ランダムなキー情報を生成して認証情報Bにより暗号化し、暗号化したキー情報を端末装置3へ送信する。
端末装置3は、この暗号化されたキー情報を自らの認証情報Bを用いて復号化する。そして端末装置3は、復号化したキー情報によりパスワードを暗号化し、サーバ装置2へ送信する。
サーバ装置2は、端末装置3から受信した暗号化されたパスワードを元のキー情報により復号化し、利用者データベース212から取得したパスワードと照合する。照合の結果、両者が一致している場合、サーバ装置2は端末装置3のログインを許可する。
上記のログイン方法では、認証情報Bやパスワードが平文のまま通信ネットワーク9を流れることがないため、秘密状態が安全に保たれる。
【0035】
次に、サーバ装置2と端末装置3の詳細な構成について、図2〜図6を参照して説明する。
【0036】
[サーバ装置2]
図2は、サーバ装置2と端末装置3のハードウェア構成の一例を示す図である。
図2に示すサーバ装置2は、処理部21と、通信部22と、表示部23と、入力部24と、記憶部25を有する。
【0037】
処理部21は、サーバ装置2の全体的な動作を制御する回路であり、記憶部24に格納されるプログラムに従って処理を実行する。例えば処理部21は、通信部22を制御して端末装置3と通信を行い、端末装置3からのログイン要求に応じた認証処理や、端末装置3へサービスを提供する処理(コンテンツのダウンロード等)を実行する。処理部21は、具体的には例えば、プログラムに基づいて処理を行うプロセッサ(CPU)、周辺ハードウェア(22〜25)とデータをやり取りするためのバス、バスを制御する回路(バスブリッジ回路)、キャッシュメモリなどを含んでいる。処理部21は、記憶部25のメモリ27に処理対象および処理途中のデータを適宜記憶させながら、プログラムの命令を順次に実行する。
【0038】
通信部22は、通信ネットワーク9を介して端末装置3と通信を行うための回路であり、例えばイーサネット(登録商標)などの所定の規格に適合した通信を行うための信号処理や制御、有線や無線で伝送される信号の変調・復調、データの符号化・復号化、パケットの処理、送受信のタイミングの調整などを行う。
【0039】
表示部23は、処理部21から入力される表示信号に応じた画面を表示する。例えば表示部23は、液晶ディスプレイ、ELパネルディスプレイ、CRTなどの表示デバイスと、表示デバイスに供給する画像信号の処理を行うグラフィック・コントローラを含む。
【0040】
入力部24は、使用者の指示や各種の情報を電気信号等に変換して処理部21に入力するための装置であり、例えばキーボード、マウス、操作ボタン、キーパッド、タッチパネルセンサーなどを含む。
【0041】
記憶部25は、処理部21における処理の実行に用いられるプログラムやデータを記憶する装置であり、例えば電源がオフのときもデータを保持する比較容量が大きなハードディスクやフラッシュROM等の記憶装置26と、SRAM等の比較的高速なメモリ27を含む。記憶装置26は、例えばオペレーティングシステム,BIOS,アプリケーション等のプログラムや、Webコンテンツ211、利用者データベース212などを記憶する。メモリ27は、記憶装置26から読み出したプログラムの実行コードや、処理過程で一時的に使用されるデータを記憶する。
【0042】
図3は、サーバ装置2の処理部21においてハードウエア要素とプログラムが協働することにより実現される構成の一例を示す図である。
【0043】
図3の例において、処理部21は、Webサーバ部202と、情報取得部203と、キー情報生成部204と、暗号処理部205と、照合部208と、情報無効化部209とを有する。
Webサーバ部202は、本発明におけるプログラム送信部並びにセッション情報生成部の一例である。
情報取得部203は、本発明における情報取得部の一例である。
キー情報生成部204は、本発明におけるキー情報生成部の一例である。
暗号処理部205は、本発明における暗号処理部の一例である。
照合部208は、本発明における照合部の一例である。
情報無効化部209は、本発明における情報無効化部の一例である。
【0044】
Webサーバ部202は、通信部22においてWebページの送信要求を受信した場合、該当するWebページのHTMLデータを記憶部25のWebコンテンツ211から読み出して(若しくは動的に生成して)、要求元の端末装置3に送信する。またWebサーバ部202は、HTMLデータに記述される関連データ(画像データ,ブラウザ用プログラムなど)を記憶部25のWebコンテンツ211から読み出して、要求元の端末装置3に送信する。
【0045】
更にWebサーバ部202は、通信部22においてWebページの送信要求を受信した場合、要求元の端末装置3との通信セッションを管理するためのセッションIDを生成し、このセッションIDを含むクッキー情報を要求元の端末装置3へ送信する。セッションIDは、サーバ装置2にアクセスする各端末装置3との通信セッションを識別するための情報であり、例えばランダム(準ランダム)なデータによって構成される。端末装置3は、同じ通信セッションにおいて再びWebサーバ部202にWebページの送信を要求する場合、このセッションIDが含まれたクッキー情報をサーバ装置2へ送信する。
【0046】
例えば、Webサーバ部202は、通信部22においてログイン用のWebページの送信要求を端末装置3から受信した場合、利用者IDやパスワードの入力を促すログイン用のHTMLデータを要求元の端末装置3に送信する。またこのとき、Webサーバ部202は、ログイン用のHTMLデータに記述される所定の署名付きプログラム(端末側プログラム)を要求元の端末装置3に送信する。この署名付きプログラムは、端末装置3において端末認証情報(認証情報A,B)の生成・送信、キー情報の復号化、パスワードの暗号化などを実行させる。
【0047】
情報取得部203は、ログイン要求元の端末装置3から認証情報Aと利用者ID(第1情報)をセッションIDとともに受信した場合、この受信した認証情報A及び利用者IDに関連づけられた認証情報B(第2情報)及びパスワード(第3情報)を記憶部26の利用者データベース212から検索して取得する。
【0048】
情報取得部203は、認証情報B(第2情報)とパスワード(第3情報)を利用者データベース212から取得した場合、取得した認証情報B及びパスワードと、端末装置3から受信した認証情報A及び利用者IDと、この端末装置3の通信セッションについて発行されたセッションIDとを関連づけて、記憶部25のセッション管理テーブル213に登録する。
【0049】
図4は、セッション管理テーブル213の一例を示す。セッション管理テーブル213の各レコードには、例えばセッションIDと、セッション情報と、端末認証情報(認証情報A,B)と、利用者認証情報(利用者ID,パスワード)と、後述のキー情報生成部204において生成されるキー情報が含まれる。セッション情報には、例えば通信相手に関する情報(IPアドレスなど)や通信セッションの状態に関する情報(通信中か否か、ログイン中か否か,ログインの許可/不許可などの情報)が含まれる。
【0050】
他方、情報取得部203は、認証情報B(第2情報)とパスワード(第3情報)を利用者データベース212から取得できなかった場合、ログイン要求の拒否を通知するWebページのHTMLデータ等を要求元の端末装置3に送信する。
【0051】
キー情報生成部204は、端末装置3からのログイン要求に応じて情報取得部203が利用者データベース212から認証情報B(第2情報)を取得する度に変化するキー情報を生成し、生成したキー情報を記憶部25のセッション管理テーブル213に格納する。キー情報生成部204は、例えばランダム(準ランダム)に変化するキー情報を生成する。
【0052】
暗号処理部205は、例えばAES(advanced
encryption standard)などの暗号方式によって端末装置3の認証に係る情報の暗号化や復号化を行うブロック(暗号化部206,復号化部207)を有する。
具体的には、暗号処理部205は、キー情報生成部204において生成されたキー情報を情報取得部203において取得された認証情報B(第2情報)により暗号化し、この暗号化したキー情報をログイン要求元の端末装置3へ送信する。
【0053】
また、先に概要を説明したように、暗号処理部205で暗号化されたキー情報が端末装置3において受信された場合、端末装置3では、この暗号化されたキー情報が端末装置3の認証情報B(第2情報)により復号化される。そして、復号化されたキー情報に基づいて、端末装置3の利用者のパスワード(第3情報)が暗号化され、暗号化されたパスワードが端末装置3からサーバ装置2へ送信される。
暗号処理部205は、この暗号化されたパスワードを端末装置3から受信した場合、端末装置3との通信セッションに係るセッションIDに基づいて、この端末装置3に送信した暗号化したキー情報に対応する元のキー情報を、上述のセッション管理テーブル213から取得する。そして暗号化処理部205は、セッション管理テーブル213から取得したキー情報に基づいて、端末装置3から受信した暗号化されたパスワードを復号化する。
【0054】
照合部208は、暗号化されたパスワードを端末装置3から受信した場合、この端末装置3との通信セッションに係るセッションIDに基づいて、端末装置3の利用者に係るパスワードを上述のセッション管理テーブル213から取得し、取得したパスワードと暗号化されたパスワードとを照合する。具体的には、照合部208は、暗号処理部205において復号化されたパスワードと、セッション管理テーブル213から取得したパスワードとが一致しているか否か判定する。照合の結果、端末装置3から受信したパスワードがセッション管理テーブル213のパスワードと一致している場合、照合部208は、ログインの許可を示すセッション情報をセッション管理テーブル213に登録する。
【0055】
情報無効化部209は、端末装置3において暗号化されたパスワード(第3情報)が暗号処理部205において元のキー情報により復号化された後、この元のキー情報を記憶部25のセッション管理テーブル213から削除する。
あるいは、情報無効化部209は、キー情報をセッション管理テーブル213から削除するかわりに、キー情報が無効であることを示すフラグ情報をセッション管理テーブル213に登録することで、以降そのキー情報を使用できないようにしてもよい(無効化してもよい)。
【0056】
[端末装置3]
次に、端末装置3の詳細な構成について説明する。
端末装置3は、例えば図2に示すように、処理部31と、通信部32と、表示部33と、入力部34と、記憶部35を有する。
【0057】
処理部31は、端末装置3の全体的な動作を制御する回路であり、記憶部35に格納されるプログラムやサーバ装置4から送信されるプログラムに従って処理を実行する。例えば処理部31は、入力部34から入力される利用者の指示に応じて、通信部32によりサーバ装置2と通信を行い、サーバ装置2から受信したWebページの画面を表示部33に表示し、サーバ装置2へログインするための処理や、サーバ装置2が提供するサービスに応じた処理(Webコンテンツの再生等)を実行する。処理部31は、例えば処理部21と同様にプロセッサやバス・コントローラ、キャッシュメモリ等を含んでおり、記憶部35のメモリ37に処理用のデータを適宜記憶させながらプログラムの命令を順次実行する。
【0058】
記憶部35は、処理部31における処理の実行に用いられるプログラムやデータを記憶する装置であり、例えば電源がオフのときもデータを保持する比較的容量が大きなハードディスクやフラッシュROM等の記憶装置36と、SRAM等の比較的高速なメモリ37を含む。記憶装置36は、例えばオペレーティングシステム,BIOS,アプリケーション等のプログラムや、後述する端末装置3の固有情報321(CPUのID,BIOSのシリアル番号等の情報,オペレーティングシステムのライセンス情報など)、クッキー情報312などを記憶する。メモリ37は、記憶装置36から読み出したプログラムの実行コードや、処理過程で一時的に使用されるデータを記憶する。
【0059】
端末装置3の通信部32、表示部33、入力部34は、それぞれサーバ装置2の通信部22、表示部23、入力部24と同様の構成を有する。
【0060】
図5は、端末装置3の処理部31においてハードウエア要素とプログラムが協働することにより実現される構成の一例を示す図である。
【0061】
図5の例において、処理部31は、メーラー部301と、Webブラウザ部302と、OS判定部304と、固有情報取得部308と、認証情報生成部303と、暗号処理部305とを有する。暗号処理部305は、暗号化部306と復号化部307を含む。
OS判定部304は、本発明における判定手段の一例である。
固有情報取得部308は、本発明における第1固有情報取得手段の一例である。
認証情報生成部303は、本発明における情報生成手段の一例である。
復号化部307は、本発明における端末側復号化手段の一例である。
暗号化部306は、本発明における端末側暗号化手段の一例である。
記憶部35は、本発明における端末側記憶部の一例である。
Webブラウザ部302は、本発明におけるログイン要求送信部並びにプログラム正当性確認手段の一例である。
【0062】
メーラー部301は、電子メールの送受信を行うアプリケーションプログラムにより実現される機能ブロックであり、本実施形態においてはサーバ装置4からの通知メールを受信する。
【0063】
Webブラウザ部302は、入力部35において入力される利用者の指示に応じて、HTTP等のプロトコルによりWebサーバと通信を行い、WebサーバからHTMLデータ等のWebコンテンツを取得する。Webブラウザ部302は、Webサーバから取得したWebコンテンツに応じて、表示部35の画面にWebページを表示する。
【0064】
またWebブラウザ部302は、WebサーバからHTMLデータとともに署名付きプログラムを受信した場合、この署名付きプログラムに添付される認証情報(認証局が発行するデジタル証明書)に基づいて、プログラムの正当性を確認する処理を行う。Webブラウザ部302は、プログラム提供元の正当性が確認されない限り、署名付きプログラムによる特定の処理(後述する固有情報取得部308による固有情報の取得)を禁止する。
【0065】
更にWebブラウザ部302は、WebサーバからセッションID等を含んだクッキー情報を受信した場合、これを記憶部312に格納する。そして、Webブラウザ部302は、クッキー情報を有するWebサーバに再びアクセスする場合、そのクッキー情報に含まれるセッションID等の情報をWebサーバへ送信する。
【0066】
また、Webブラウザ部302は、後述する認証情報生成部303において2つの認証情報A,Bが生成された場合、一方の認証情報Aをサーバ装置2へ送信する。サーバ装置2のログイン用Webページにおいて入力部35から利用者IDやパスワードが入力された場合、Webブラウザ部302は、入力された利用者IDをサーバ装置2へ送信する。
【0067】
OS判定部304は、サーバ装置2から送られてくる上述の署名付きプログラムを端末装置3の処理部31が実行することによって機能するブロックである。
OS判定部304は、端末装置3にインストールされたOS(オペレーティングシステム)の種別を判定する。例えばOS判定部304は、OSの種別ごとに決まっている所定のコマンドを実行して、それに対するOSの応答(出力情報)を解析することにより、OSの種類やそのバージョンに関する情報を取得する。
【0068】
固有情報取得部308は、サーバ装置2から送られてくる上述の署名付きプログラムを端末装置3の処理部31が実行することによって機能するブロックである。
固有情報取得部308は、端末装置3の情報記憶手段に記憶された固有情報(他の端末装置からの識別を可能とする情報)を取得する。具体的には、固有情報取得部308は、OS判定部304において判定されたOSの種別に応じた所定の命令をOSに実行させることにより、その実行結果としてOSから返ってくる情報から端末装置3の固有情報を取得する。固有情報には、例えば、端末装置3を構成するハードウェアに係る固有情報(CPU、マザーボード、周辺機器に付されたシリアル番号などの固有情報)や、端末装置3にインストールされたソフトウェアに係る情報(OS、BIOS、アプリケーションプログラムに付されたライセンス情報などの固有情報)が含まれる。
【0069】
なお、固有情報取得部308は、Webブラウザ部302において署名付きプログラムの正当性を確認できない場合や、利用者が署名付きプログラムを不許可とした場合、固有情報の取得を行わない。
【0070】
認証情報生成部303は、サーバ装置2から送られてくる上述の署名付きプログラムを端末装置3の処理部31が実行することによって機能するブロックである。
認証情報生成部303は、固有情報取得部308によって取得された端末装置3の固有情報に基づいて、端末認証用の2つの認証情報A,Bを生成する。
【0071】
図6は、認証情報生成部303が固有情報に基づいて2つの認証情報A,Bを生成する方法の一例を示す図であり、3つの例を示す。
図6(A)に示す例において、認証情報生成部303は、所定の付加情報E1と固有情報とを含んだデータに一方向性関数を施した結果に基づいて認証情報Aを生成し、付加情報E2と固有情報とを含んだデータに一方向性関数を施した結果に基づいて認証情報Bを生成する。付加情報E1,E2は、互いに異なる所定の情報である。
一方向性関数としては、例えば、MD5(message digest algorithm 5)などのハッシュ関数が用いられる。
一方向性関数を用いることによって、固有情報から一意に認証情報A,Bを定めることができるので、認証情報A,Bのそれぞれが端末装置3についての固有の情報になる。また、認証情報A,Bから元の固有情報を導出することが非常に困難になるため、プライバシーに関わる固有情報の漏えいを防止できる。更に、認証情報A,Bの一方から他方を導出することが非常に困難になるため、認証情報Aを暗号化せずにネットワーク上で伝送させた場合でも、認証情報Bの秘密性を維持することができる。
【0072】
図6(A)に示す例において一方向性関数を施されるデータは、例えば、付加情報と固有情報を単純に結合したものでもよいし、固有情報の符号列の所定位置(1箇所または複数箇所)に付加情報を挿入したものでもよい。
【0073】
他方、図6(B)に示す例において、認証情報生成部303は、端末装置3の記憶部35から取得された固有情報の一部に一方向性関数を施した結果に基づいて認証情報Aを生成し、この固有情報の他の一部に一方向性関数を施した結果に基づいて認証情報Bを生成する。すなわち、認証情報生成部303は、固有情報から2つの異なる部分を取り出して、その各々に一方向性関数を施した結果に基づいて、認証情報A,Bを生成する。
【0074】
また、図6(C)に示す例において、認証情報生成部303は、固有情報に一方向性関数F1を施した結果に基づいて認証情報Aを生成し、固有情報に一方向性関数F2を施した結果に基づいて認証情報Bを生成する。一方向性関数F1と一方向性関数F2は、互いに異なる関数である。
なお、元の固有情報に別の情報を付加する操作や、元の固有情報から一部の情報を選択する操作を一方向性関数の処理の一部と見なした場合、上述した図6(A),(B)の方法は、図6(C)の方法の特殊なケースと考えることができる。これらの操作の他、例えばデータの並べ替え操作などを一方向性関数の処理の一部に組み入れてもよい。
【0075】
認証情報生成部303は、生成した認証情報A,Bを端末認証情報311として記憶部35に一時的に格納する。
また、認証情報生成部303は、端末装置3がサーバ装置2に対してログインを行う場合に、生成した認証情報Aと入力部35で入力された利用者IDとをサーバ装置3へ送信する。認証情報Aと利用者IDを合わせた情報は、本発明における第1情報に対応する。
【0076】
暗号処理部305は、サーバ装置2から送られてくる上述の署名付きプログラムを端末装置3の処理部31が実行することによって機能するブロックである。
暗号処理部305は、例えばAESなどの暗号方式によって端末装置3の認証に係る情報の暗号化や復号化を行うブロック(暗号化部306,復号化部307)を有する。
具体的には、暗号処理部305は、認証情報生成部303がサーバ装置2へ送信した認証情報A及び利用者ID(第1情報)に応じてサーバ装置2から暗号化されたキー情報を受信した場合、この受信したキー情報を、認証情報生成部303で生成された認証情報B(第2情報)により復号化する。更に、暗号処理部305は、端末装置3の入力部34(キーボード等)において入力されたパスワード(第3情報)を、この復号化したキー情報によって暗号化し、当該暗号化したパスワードをセッションIDとともにサーバ装置2へ送信する。
【0077】
次に、上述した構成を有する本実施形態に係るコンピュータシステムにおけるログイン処理について、図7,図8を参照して説明する。
【0078】
図7は、端末認証情報と利用者認証情報を事前にサーバ装置2の利用者データベース212へ登録する方法の一例を説明するためのフロー図である。
【0079】
まずサーバ装置4から端末装置3へ、認証情報登録用のWebページのURLが記載されたメールを送信する(ステップST100)。サーバ装置4は、例えば、メールアドレス入力用のWebページにおいて端末装置3からメールアドレスを取得し、そのメールアドレスへメールを送信する。
【0080】
端末装置3は、サーバ装置4からのメールをメーラー部301において受信し、これを表示部33において利用者に表示する。
【0081】
通知メールに記載されるURLが入力部34のマウス等で選択されると、Webブラウザ部302がこのURLに該当するサーバ装置4にアクセスし、認証情報登録用Webページのコンテンツ(HTMLデータ等)をサーバ装置4に要求する(ステップST105)。
要求を受けたサーバ装置4が、認証情報登録用Webページのコンテンツと署名付きプログラムを端末装置3に送信する(ステップST110)。
【0082】
端末装置3のWebブラウザ部302は、サーバ装置4から受信したHTMLデータ等に基づいて、表示部33の画面に認証情報登録用のWebページを表示する。このWebページの画面では、利用者に対して、利用者IDとパスワードの入力が促される。なお、利用者IDについては、サーバ装置4で発行したものをWebページの画面に表示させて、これを利用者に記録させるように促してもよい。
Webブラウザ部302は、入力部34において利用者IDとパスワードが入力されると、これを一時的に記憶部35に格納する(ステップST115)。
【0083】
また端末装置3のWebブラウザ部302は、サーバ装置4から受信した署名付きプログラムを実行するとともに、これに添付される認証情報(デジタル証明書)を検証する。署名付きプログラムが実行されると、OS判定部304が端末装置3にインストールされたOSを判定する。
OS判定部においてOSの種別が判定され、かつ、Webブラウザ部302において署名付きプログラムの正当性が確認された場合、固有情報取得部308は、この判定されたOSの種別に応じたコマンドをOSに実行させて、記憶部35に記憶された固有情報321(第1固有情報)を取得する。認証情報生成部303は、固有情報取得部308によって取得された固有情報321に基づいて2つの認証情報A,Bを生成し、これを記憶部35に一時的に格納する(ステップST120)。
【0084】
認証情報生成部303は、記憶部35に格納される利用者ID,パスワード,認証情報A,Bをサーバ装置4に送信する。この送信の際、Webブラウザ部302は、SSL等の暗号通信プロトコルにより送信データを暗号化してもよい。
あるいは、認証情報生成部303が所定のキーにより利用者ID,パスワード,認証情報A,Bを暗号化し、暗号化したデータをWebブラウザ部302からサーバ装置4へ送信してもよい。この場合、サーバ装置4は、認証情報生成部303で暗号化されたデータを上記所定のキーにより復号化する。
【0085】
サーバ装置4は、端末装置3から受信した利用者ID,パスワード,認証情報A,Bを、サーバ装置2の利用者データベース212に登録する(ステップST130)。例えばサーバ装置4は、ローカルネットワークでサーバ装置2と接続されており、このローカルネットワーク経由で利用者データベース212にアクセスするようにしてもよい。あるいは、サーバ装置4からサーバ装置2へSSL等の暗号化通信によりこれらのデータを伝送してもよい。
【0086】
次に、図8のフロー図を参照して、端末装置3がサーバ装置2にログインする処理の一例を説明する。
【0087】
まず端末装置3のWebブラウザ部302が、サーバ装置2のログイン用WebページのURLにアクセスし、HTMLデータ等のコンテンツを要求する(ステップST200)。
サーバ装置2のWebサーバ部202は、この端末装置3の要求に応じて、ログイン用WebページのHTMLデータ等と署名付きプログラムを端末装置3に送信する(ステップST205)。
【0088】
またWebサーバ部202は、端末装置3との通信セッションに対応するセッションIDを発行し、このセッションIDが含まれたクッキー情報を端末装置3に送信する。
【0089】
端末装置3のWebブラウザ部302は、サーバ装置2から受信したHTMLデータ等に基づいて、表示部33の画面にログイン用Webページを表示する。このWebページの画面では、利用者に対して、利用者IDとパスワードの入力が促される。
Webブラウザ部302は、入力部34において利用者IDとパスワードが入力されると、これを一時的に記憶部35に格納する(ステップST210)。
【0090】
また端末装置3のWebブラウザ部302は、サーバ装置2から受信した署名付きプログラムを実行するとともに、これに添付される認証情報(デジタル証明書)を検証する。署名付きプログラムが実行されると、OS判定部304が端末装置3にインストールされたOSを判定する。
OS判定部304においてOSの種別が判定され、かつ、Webブラウザ部302において署名付きプログラムの正当性が確認された場合、固有情報取得部308は、この判定されたOSの種別に応じたコマンドをOSに実行させて、記憶部35に記憶された固有情報321(第1固有情報)を取得する。認証情報生成部303は、固有情報取得部308によって取得された固有情報321に基づいて2つの認証情報A,Bを生成し、これらを記憶部35へ一時的に格納する(ステップST215)。
【0091】
また端末装置3のWebブラウザ部302は、サーバ装置2から受信したクッキー情報(セッションIDを含む)を記憶部35に格納する。
【0092】
端末装置3の認証情報生成部303は、記憶部35に格納される利用者ID及び認証情報A(第1情報)をサーバ装置4に送信する(ステップST220)。また端末装置3のWebブラウザ部302は、記憶部35に格納されるクッキー情報のセッションIDもサーバ装置2に送信する。
【0093】
サーバ装置2の情報取得部203は、ログイン要求元の端末装置3から認証情報Aと利用者ID(第1情報)をセッションIDとともに受信した場合、この受信した認証情報A及び利用者IDに関連づけられた認証情報B(第2情報)及びパスワード(第3情報)を記憶部26の利用者データベース212から検索する(ステップST225)。
情報取得部203は、認証情報B(第2情報)とパスワード(第3情報)を利用者データベース212から取得した場合、取得した認証情報B及びパスワードと、端末装置3から受信した認証情報A及び利用者IDと、この端末装置3との通信セッションについて発行されたセッションIDとを関連付けて、記憶部25のセッション管理テーブル213(図4)に登録する。
【0094】
利用者データベース212から認証情報B(第2情報)とパスワード(第3情報)が取得された場合、サーバ装置2のキー情報生成部204は、ランダムなキー情報を生成してセッション管理テーブル213に格納する(ステップST230)。
【0095】
次いで、サーバ装置2の暗号処理部205は、キー情報生成部204において生成されたキー情報を情報取得部203において取得された認証情報B(第2情報)により暗号化する(ステップST235)。
暗号処理部205は、認証情報Bにより暗号化したキー情報を、ログイン要求元の端末装置3へ送信する(ステップST250)。
【0096】
端末装置3の暗号処理部305は、サーバ装置2から暗号化されたキー情報を受信した場合、この受信したキー情報を記憶部35の認証情報B(第2情報)によって復号化する(ステップST255)。
【0097】
更に、暗号処理部305は、この復号化したキー情報によって記憶部35のパスワード(第3情報)を暗号化し(ステップST260)、当該暗号化したパスワードをセッションIDとともにサーバ装置2へ送信する(ステップST265)。
【0098】
サーバ装置2の暗号処理部205は、キー情報によって暗号化されたパスワードをセッションIDとともに端末装置3から受信した場合、この端末装置3に暗号化して送信したキー情報に対応する元のキー情報を、記憶部25のセッション管理テーブル213から取得する。そして暗号化処理部205は、セッション管理テーブル213から取得したキー情報に基づいて、端末装置3から受信した暗号化されたパスワードを復号化する(ステップST270)。
【0099】
端末装置3で暗号化されたパスワード(第3情報)が暗号処理部205において元のキー情報により復号化されると、サーバ装置2の情報無効化部209は、元のキー情報を記憶部25のセッション管理テーブル213から削除するか、若しくは当該キー情報を無効化する(ステップST275)。
【0100】
サーバ装置2の照合部208は、暗号処理部205においてパスワードが復号化されると、この復号化されたパスワードとセッション管理テーブル213に登録されるパスワードとを比較し、両者が一致している場合にログインの許可を判定する(ステップST280)。
【0101】
以上説明したように、本実施形態では、ログイン要求を許可されるべき端末装置3において格納若しくは入力される認証情報A及び利用者ID(第1情報)と、認証情報B(第2情報)と、本人認証用のパスワード(第3情報)とが、サーバ装置の記憶部25に予め記憶されている。端末装置3がログインを要求する際、端末装置3の記憶部に記憶される認証情報Aと利用者ID(第1情報)がサーバ装置2に送信される。サーバ装置2では、端末装置3から認証情報Aと利用者ID(第1情報)が受信されると、この情報に関連づけられた認証情報B(第2情報)及びパスワード(第3情報)が記憶部25から取得される。記憶部25から認証情報B(第2情報)及びパスワード(第3情報)が取得されると、ランダムに変化するキー情報がサーバ装置2において生成され、このキー情報が認証情報B(第2情報)により暗号化される。暗号化されたキー情報は、サーバ装置2から端末装置3へ送信される。端末装置3では、暗号化されたキー情報が受信されると、端末装置3の記憶部35に記憶される認証情報B(第2情報)に基づいて、暗号化されたキー情報が復号化される。更に端末装置3では、この復号化されたキー情報に基づいて、記憶部35に記憶されるパスワード(第3情報)が暗号化される。暗号化されたパスワードは、端末装置3からサーバ装置2へ送信される。サーバ装置2では、端末装置3からの暗号化されたパスワードと、記憶部25から取得されたパスワードとが照合され、この照合結果に応じてログインの許可・不許可が決定される。
従って、端末装置2の同一性を確認するための秘密情報である認証情報B(第2情報)と、利用者本人を確認するための秘密情報であるパスワード(第3情報)が、常に暗号化された状態で通信ネットワーク9を流れるため、ネットワークを監視する悪意の第三者によりこれらの情報が盗まれるリスクを低減でき、高いセキュリティを実現できる。
【0102】
しかも、本実施形態によれば、SSL等で一般的に用いられている公開鍵暗号方式のような複雑な暗号処理が不要であり、共有鍵を用いる簡易な暗号方式で十分に高いセキュリティを得ることができるため、サーバ装置と端末装置の双方における暗号処理の負荷を軽くすることができる。
【0103】
また、本実施形態によれば、ログインの度に変更されるランダムなキー情報を用いて通信情報が暗号化されるため、暗号化された情報から秘密情報(認証情報B,スワード)が解読されるリスクを更に大幅に低減できる。
【0104】
また、本実施形態によれば、ハードウェア情報(CPUのID等)やソフトウエア情報(オペレーティングシステムのライセンス情報等)などの端末装置の固有情報から生成された端末認証情報(A,B)によって、ログイン可能な端末装置が制限されている。従って、もし利用者の不注意で利用者認証情報(利用者ID,パスワード)が第三者に漏えいしても、第三者の端末装置からはログインできない。従って、第三者のなり済ましのリスクを非常に効果的に低減できる。
【0105】
また、本実施形態によれば、サーバ装置2から端末装置3へ送信されるプログラム(署名付きプログラム)によってログイン処理の度に端末装置3の固有情報が取得され、この取得された固有情報に基づいて端末認証情報(A,B)が生成される。これにより、端末認証情報(A,B)のすり替え等の不正な操作が困難になるので、端末装置3の偽装を効果的に防止できる。
【0106】
また、本実施形態によれば、ログイン処理の度に取得した固有情報に基づいて生成される2つの認証情報(A,B)の一方(認証情報A)が、複数の端末装置から個々の端末装置を識別するための情報として使用され、その他方(認証情報B)が、各端末装置の同一性を確認するための秘密情報として使用される。これにより、端末装置3の偽装を効果的に防止しつつ、複数の端末装置から各端末装置を的確に識別してその同一性を認証することができる。
【0107】
また、本実施形態によれば、署名付きプログラムによってプログラムの正当性を検証できるため、利用者からみたサーバ装置の信頼性を高めることができる。
【0108】
また、本実施形態によれば、サーバ装置2の暗号処理部205においてキー情報によるパスワード(第3情報)の復号化が行われた後、記憶部25に記憶されるキー情報が削除若しくは無効化される。すなわち、認証情報の暗号化に使用されたキー情報がその使用後直ちに無効化される。これにより、キー情報が漏えいするリスクをより効果的に低減できる。
【0109】
<第1の実施形態の変形例>
次に、第1の実施形態の変形例について、図9のフロー図を参照して説明する。
図8に示すログイン処理では、端末装置3で暗号化されたパスワードがサーバ装置2において復号化され、その復号化後のパスワードと利用者データベース212に登録されるパスワードとが照合される。
一方、図9に示すログイン処理では、サーバ装置2の利用者データベース212に登録されるパスワードがキー情報により暗号化され、この暗号化されたパスワードと端末装置3で暗号化されたパスワードとが照合される。
【0110】
図9に示すログイン処理において、ステップST200(ログイン用のWebページの要求)からステップST265(暗号化したパスワードの送信)までの手順は、図8に示すログイン処理と同様である。
図9に示す変形例では、サーバ装置2の照合部208において照合が行われる前に、暗号処理部205においてパスワード(第3情報)の暗号化が行われる。すなわち、暗号処理部205は、ステップST235で暗号化したキー情報に対応する元のキー情報を用いて、パスワード(第3情報)を暗号化する(ステップST240)。暗号処理部205は、この暗号化したパスワードをセッション管理テーブル213に登録する。
パスワードの暗号化後、情報無効化部209はセッション管理テーブル213に登録されるキー情報を削除若しくは無効化する(ステップST245)。
【0111】
そして、端末装置3から暗号化されたパスワードが受信されると、サーバ装置2の照合部208は、ステップST240で暗号化されたパスワードとステップST265で受信された暗号化されたパスワードとを比較する。両者が一致している場合、照合部208はログインの許可を判定する(ステップST285)。
照合部208において照合が行われた後、情報無効化部209は、記憶部25に記憶される(セッション管理テーブル213に登録される)暗号化されたパスワードを削除若しくは無効にする(ステップST290)。
【0112】
以上説明したように、図9に示す変形例によれば、サーバ装置2の暗号処理部205において復号処理を行う必要がないので、復号化部207を省略することができる。また、端末装置3の復号化処理・暗号化処理(ST255,ST260)と並行に、サーバ装置2の暗号化処理(ST240)を実行できるので、ログイン処理を高速化できる。
【0113】
<第2の実施形態>
次に、本発明の第2の実施形態について説明する。
【0114】
図10は、第2の実施形態に係る端末装置3の構成の一例を示す図である。図10に示す端末装置3は、図3に示す端末装置3と同様の構成に加えて、セッションID照合部310を有する。セッションID照合部310は、本発明におけるセッション情報照合手段の一例である。
【0115】
第2の実施形態では、サーバ装置2においてセッションIDがキー情報とともに暗号化されて端末装置3に送信され、この暗号化されたセッションIDが端末装置3において復号化され、実際のセッションIDと照合される。この照合結果に基づいて、サーバ装置2が正当なログイン先であるか否かが端末装置3の側で判定される。
【0116】
具体的には、サーバ装置2の暗号処理部205は、セッションIDをキー情報とともに認証情報Bで暗号化し、端末装置2へ送信する。
端末装置3の復号化部307は、暗号化処理部205においてキー情報とともに暗号化されたセッションIDを復号化する。
セッションID照合部310は、通信セッションの開始時にサーバ装置2から通知されたセッションIDと、復号化部307で復号化されたセッションIDとを照合する。この照合の結果両者が一致しない場合、セッションID照合部310は、サーバ装置2への暗号化されたパスワードの送信を禁止する。すなわち、セッションID照合部310は、暗号化部306におけるパスワードの暗号化を止めて、サーバ装置2に暗号化パスワードが送信されないようにする。
【0117】
図11は、第2の実施形態において端末装置3がサーバ装置2にログインする処理の一例を説明するためのフロー図である。
図11に示すログイン処理において、ステップST200(ログイン用のWebページの要求)からステップST230(キー情報の生成)までの手順は、図8に示すログイン処理と同様である。
図11に示すログイン処理において、暗号処理部205は、キー情報とセッションIDを認証情報Bで暗号化し(ステップST235A)、この暗号化したキー情報とセッションIDをサーバ装置2に送信する(ステップST250)。
この暗号化されたキー情報とセッションIDが端末装置3において受信されると、復号化部307は、受信されたキー情報とセッションIDを認証情報Bによって復号化する(ステップST255A)。そして、セッションID照合部310は、通信セッション開始時にサーバ装置2から通知されたセッションIDと復号化部307で復号化されたセッションIDとを照合する(ステップST256)。この照合の結果両者が一致しない場合、セッションID照合部310は、その後のログイン処理を中止する。すなわち、セッションID照合部310は、暗号化部306におけるパスワードの暗号化を中止して、サーバ装置2に暗号化パスワードが送信されないようにする(ステップST257)。
【0118】
以上説明したように、本実施形態によれば、サーバ装置2が持つ認証情報Bにより暗号化され、端末装置3が持つ認証情報Bによって復号化されたセッションIDと、サーバ装置2から端末装置3へ実際に通知されたセッションIDとを照合することにより、サーバ装置2が持つ認証情報Bと端末装置3が持つ認証情報Bとが一致するか否かを判定できる。両者が一致しない場合は、通信中のサーバ装置2が正当でない(すなわち悪意の第三者による)サーバ装置の可能性がある。この様な場合サーバ装置に対するログイン処理を中止して暗号化パスワードを送信しないようにすることで、暗号化パスワードが解読される機会を減らせるので、セキュリティ水準を高めることができる。
【0119】
<第3の実施形態>
次に、本発明の第3の実施形態について説明する。
【0120】
上述した実施形態においては、端末装置3のOS判定部304においてOSの種別を判定できない場合、固有情報取得部308がOSの種別の判定結果に基づいて端末装置3の固有情報を取得できないため、この端末装置3はサーバ装置2にログインできない。
また、一般的なOSやWebブラウザでは、インターネットのWebページ等においてダウンロードした署名付きプログラムを実行する際、利用者に確認を求めるポップアップウィンドウを表示するため、このポップアップウィンドウにおいて利用者が誤って署名付きプログラムの不許可を選択してしまうと、固有情報取得部308が端末装置3の固有情報を取得できないため、端末装置3はサーバ装置2にログインできなくなる。
そこで本実施形態では、OSの種別が不明であっても取得可能な固有情報(MACアドレス等)を取得することで、上記のようなケースでも端末装置3がサーバ装置2にログインできるようにする。
【0121】
図12は、第3の実施形態に係る端末装置3の構成の一例を示す図である。図12に示す端末装置3は、図10に示す端末装置3と同様の構成に加えて、MACアドレス取得部309を有する。MACアドレス取得部309は、本発明における第2固有情報取得手段の一例である。
【0122】
MACアドレス取得部309は、サーバ装置2から送られてくる上述の署名付きプログラムを端末装置3の処理部31が実行することによって機能するブロックである。
MACアドレス取得部309は、端末装置3とサーバ装置2とが通信を行うネットワークにおいて通信部32に割り当てられた固有のアドレスであるMACアドレス(media access control address)を取得する。固有情報取得部308がOSの種別の判定結果に基づいて固有情報321(第1固有情報)を取得するのに対し、MACアドレス取得部309はOSの種別に依らずに(OSの種別の情報を得ずに)MACアドレス321(第2固有情報)を取得する。そのため、MACアドレス取得部309は、OS判定部304においてOSの種別を判定できない場合でも、端末装置3の固有情報(第2固有情報)を取得することができる。MACアドレス取得部309は、例えば、JAVA(登録商標)のアプリケーションとその実行環境によって実現される。
MACアドレス取得部309は、署名付きプログラムの実行を利用者が不許可としたため固有情報取得部308が固有情報321(第1固有情報)を取得できない場合にも、MACアドレス322(第2固有情報)を取得する。
【0123】
また、第3の実施形態において、サーバ装置2の利用者データベース212は、認証情報A,Bの生成に用いられた固有情報が固有情報取得部308で取得された固有情報321(第1固有情報)であるか、又は、MACアドレス取得部309で取得されたMACアドレス322(第2固有情報)であるかを示すフラグ情報を更に格納する。利用者データベース212は、特定の端末装置3と特定の利用者との組み合わせに係る1つのレコードにおいて、認証情報A,Bのペアを1つ若しくは2つ格納し、その各々について上述のフラグ情報を格納する。
【0124】
なお、このフラグ情報は、認証情報A,Bのペアが第1固有情報又は第2固有情報の何れに基づいて生成されたのかを示す情報であれば任意でよい。例えば、認証情報に1ビットの情報を付加することによって、第1固有情報又は第2固有情報の何れに基づいて生成されたかを示すようにしてもよい。或いは、データベースのレコードや送受信データのパケットなどの所定のデータ形式における情報の配置に基づいて(例えばデータ中における各種情報の位置などに基づいて)、レコード中やパケット中に含まれた認証情報A,Bのペアが第1固有情報又は第2固有情報の何れに基づいて生成されたのかを示すようにしてもよい。
【0125】
端末装置3の認証情報生成部303は、ログイン処理の際に、OS判定部304において端末装置3にインストールされたOSの種別を判定できない場合や、端末装置3のWebブラウザ部302において署名付きプログラムの正当性を確認できない場合は(すなわち固有情報取得部308で固有情報を取得できない場合は)、MACアドレス取得部309によってOSの種別に依らずに取得されたMACアドレス322(第2固有情報)に基づいて認証情報A,Bを生成する。逆に、固有情報取得部308で固有情報を取得できた場合は、この固有情報321(第1固有情報)に基づいて認証情報A,Bを生成する。
認証情報生成部303は、生成した認証情報Aと入力部34で入力された利用者IDとを合わせてサーバ装置2に送信する際、この認証情報Aに係るフラグ情報もサーバ装置2に送信する。
【0126】
サーバ装置2の情報取得部203は、認証情報A及び利用者IDと上述のフラグ情報を端末装置3から受信した場合、受信した認証情報A及び利用者IDと一致する情報を持つレコードを利用者データベース212において検索する。検索により該当するレコードが見つかった場合、情報取得部203は、そのレコードに含まれる認証情報A,Bのフラグ情報と端末装置3から受信したフラグ情報とを比較し、両者が一致するならば、検索したレコードから認証情報B(第2情報)とパスワード(第3情報)を取得する。
【0127】
図13は、第3の実施形態において端末装置3がサーバ装置2にログインする処理の一例を説明するためのフロー図である。
【0128】
図13に示すログイン処理において、ステップST200(ログイン用のWebページの要求)からステップST210(利用者ID,パスワードの入力)までの手順は、図8に示すログイン処理と同様である。
端末装置3のWebブラウザ部302は、サーバ装置2から受信した署名付きプログラムを実行するとともに、これに添付された認証情報(デジタル証明書)を検証する。署名付きプログラムが実行されると、OS判定部304が端末装置3にインストールされたOSを判定する。
OS判定部304においてOSの種別が判定され、かつ、Webブラウザ部302において署名付きプログラムの正当性が確認された場合、固有情報取得部308は、この判定されたOSの種別に応じたコマンドをOSに実行させて、記憶部35に記憶された固有情報321(第1固有情報)を取得する。認証情報生成部303は、固有情報取得部308によって取得された固有情報321に基づいて2つの認証情報A,Bを生成するとともに、固有情報321(第1固有情報)に基づいて認証情報A,Bが生成されたかを示すフラグ情報を生成し、これらを記憶部35へ一時的に格納する(ステップST215A)。
他方、OS判定部304においてOSの種別が判定できない場合や、Webブラウザ部302において署名付きプログラムの正当性を確認できない場合、利用者によって証明付きプログラムを不許可にする操作が行われた場合は、固有情報取得部308において固有情報を取得できないので、その代わりにMACアドレス取得部309が端末装置3のMACアドレス322(第2固有情報)を取得する。認証情報生成部303は、MACアドレス取得部309によって取得されたMACアドレス322に基づいて2つの認証情報A,Bを生成するとともに、第2固有情報に基づいて認証情報A,Bが生成されたかを示すフラグ情報を生成し、これらを記憶部35へ一時的に格納する(ステップST215A)。
【0129】
認証情報生成部303は、生成した認証情報Aと入力部34で入力された利用者IDとを合わせてサーバ装置2に送信するとともに、認証情報Aに係るフラグ情報をサーバ装置2に送信する(ステップST220)。
【0130】
サーバ装置2が認証情報A及び利用者IDと上述のフラグ情報を端末装置3から受信した場合、情報取得部203は、受信した認証情報A及び利用者IDと一致する情報を持ち、かつ、受信したフラグ情報と一致するフラグ情報を持つレコードを利用者データベース212において検索する。そして、情報取得部203は、検索したレコードに属する認証情報B(第2情報)とパスワード(第3情報)を取得する(ステップST225A)。
情報取得部203は、利用者データベース212から認証情報B(第2情報)とパスワード(第3情報)を取得すると、取得した認証情報B及びパスワードと、端末装置3から受信した認証情報A及び利用者IDと、当該認証情報A,Bに係るフラグ情報と、この端末装置3との通信セッションについて発行されたセッションIDとを関連付けて、記憶部25のセッション管理テーブル213(図4)に登録する。
【0131】
以降、ステップST230(キー情報の生成)からステップST256(セッションIDの照合)までは図11に示すフロー図の処理と同様であり、ステップST260(パスワードの暗号化)からステップST280(パスワードの照合)までは図8に示すフロー図の処理と同様である。
【0132】
以上説明したように、本実施形態によれば、端末装置3にインストールされたOSの種別を判定できない場合や、端末装置3の利用者の誤操作によって署名付きプログラムを不許可とされた場合でも、OSの種別に依らずに取得されるMACアドレス等の固有情報に基づいて端末認証情報(認証情報A,B)を生成可能であり、サーバ装置2へのログイン処理を行うことができる。これにより、より多くの種類の端末装置3がサーバ装置2へログイン可能になる。また、端末装置3の利用者の誤操作によりログインできなくなるケースを減らせるので、使い易さを向上できる。
【0133】
<第4の実施形態>
次に、本発明の第4の実施形態について説明する。
【0134】
上述した第3の実施形態において、利用者データベース212には、一の端末装置3に対して認証情報A,Bのペアを2つ格納することが可能である。すなわち、固有情報取得部308で取得される固有情報321(第1固有情報)に基づいて生成された認証情報A,Bのペアと、MACアドレス取得部309において取得されるMACアドレス322(第2固有情報)に基づいて生成された認証情報A,Bのペアとを、同一の端末装置3についてそれぞれ利用者データベース212に格納することができる。
ところが、利用者データベース212へ新規に情報を登録するために端末装置3から認証情報を取得する際、端末装置3の利用者が誤操作によって署名付きプログラムを不許可にすると、本来は取得できたはずの固有情報321(第1固有情報)がこの誤操作によって偶然的に取得できなくなる。この場合、利用者データベース212には、MACアドレス322(第2固有情報)に基づいて生成された認証情報A,Bのペアのみが登録されることになる。
そうすると、その後のログイン処理において端末装置3の利用者が署名付きプログラムを許可した場合、端末装置3において固有情報321(第1固有情報)に基づく認証情報A,Bのペアが生成され、その認証情報Aと利用者IDがサーバ装置2に送信される。固有情報321(第1固有情報)に基づく認証情報Aは利用者データベース212に登録されていないので、端末装置3のログイン要求は拒否されてしまう。
これに対し、本実施形態においては、MACアドレス322(第2固有情報)に基づく認証情報A,Bのペアのみが利用者データベース212に登録されている場合でも、固有情報321(第1固有情報)に基づく認証情報A,Bのペアをログイン処理の過程で利用者データベース212に自動的に追加登録することができる。
【0135】
図14及び図15は、第4の実施形態において端末装置3がサーバ装置2にログインする処理の一例を説明するためのフロー図である。
図14に示すログイン処理において、ステップST200(ログイン用のWebページの要求)からステップST210(利用者ID,パスワードの入力)までの手順は、図13に示すログイン処理と同様である。
端末装置3のWebブラウザ部302は、サーバ装置2から受信した署名付きプログラムを実行するとともに、これに添付された認証情報(デジタル証明書)を検証する。署名付きプログラムが実行されると、OS判定部304が端末装置3にインストールされたOSを判定する。
OS判定部304においてOSの種別が判定され、かつ、Webブラウザ部302において署名付きプログラムの正当性が確認されると、固有情報取得部308は、この判定されたOSの種別に応じたコマンドをOSに実行させて、記憶部35に記憶された固有情報321(第1固有情報)を取得する。認証情報生成部303は、固有情報取得部308によって取得された固有情報321に基づいて2つの認証情報A,Bを生成するとともに、固有情報321(第1固有情報)に基づいて認証情報A,Bが生成されたかを示すフラグ情報を生成し、これらを記憶部35へ一時的に格納する(ステップST215A)。
【0136】
認証情報生成部303は、生成した認証情報Aと入力部34で入力された利用者IDとを合わせてサーバ装置2に送信するとともに、認証情報Aに係るフラグ情報をサーバ装置2に送信する(ステップST220)。
【0137】
サーバ装置2が認証情報A及び利用者IDと上述のフラグ情報を端末装置3から受信した場合、情報取得部203は、受信した認証情報A及び利用者IDと一致する情報を持ち、かつ、受信したフラグ情報と一致するフラグ情報を持つレコードを利用者データベース212において検索する。
この検索の結果、該当するレコードが利用者データベース212において見つからず、かつ、端末装置3から受信したフラグ情報が固有情報321(第1固有情報)に基づいて認証情報A,Bが生成されたことを示す場合、情報取得部203は、MACアドレス322(第2固有情報)に基づいて生成された認証情報Aの送信要求を端末装置3に送信する(ステップST221)。
【0138】
端末装置3においてこの送信要求が受信されると、MACアドレス取得部309は、端末装置3のMACアドレス322(第2固有情報)を取得する。認証情報生成部303は、MACアドレス取得部309によって取得されたMACアドレス322(第2固有情報)に基づいて2つの認証情報A,Bを生成するとともに、MACアドレス322(第2固有情報)に基づいて認証情報A,Bが生成されたかを示すフラグ情報を生成し、これらを記憶部35へ一時的に格納する(ステップST215B)。
【0139】
認証情報生成部303は、MACアドレス322(第2固有情報)に基づいて生成した認証情報Aと入力部34で入力された利用者IDとを合わせてサーバ装置2に送信するとともに、この認証情報Aに係るフラグ情報をサーバ装置2に送信する(ステップST220)。なお、利用者IDはステップST220において既にサーバ装置2へ送信しているので、ここでは送信を省略してもよい。
【0140】
サーバ装置2が認証情報A及び利用者IDと上述のフラグ情報を端末装置3から再び受信した場合、情報取得部203は、受信した認証情報A及び利用者IDと一致する情報を持ち、かつ、受信したフラグ情報と一致するフラグ情報を持つレコードを利用者データベース212において検索する。そして、情報取得部203は、検索により見つかったレコードに属する認証情報B(第2情報)とパスワード(第3情報)を取得する(ステップST225A)。
情報取得部203は、利用者データベース212から認証情報B(第2情報)とパスワード(第3情報)を取得すると、取得した認証情報B及びパスワードと、端末装置3から受信した認証情報A及び利用者IDと、当該認証情報A,Bに係るフラグ情報と、この端末装置3との通信セッションについて発行されたセッションIDとを関連付けて、記憶部25のセッション管理テーブル213(図4)に登録する。
【0141】
利用者データベース212から認証情報B(第2情報)とパスワード(第3情報)が取得された場合、サーバ装置2のキー情報生成部204は、ランダムなキー情報を生成してセッション管理テーブル213に格納する(ステップST230)。
暗号処理部205は、キー情報とセッションIDを認証情報Bで暗号化し(ステップST235A)、この暗号化したキー情報とセッションIDをサーバ装置2に送信する(ステップST250)。
【0142】
暗号化されたキー情報とセッションIDが端末装置3において受信されると、復号化部307は、MACアドレス322(第2固有情報)に基づいて生成された認証情報Bを用いて、この暗号化されたキー情報とセッションIDを復号化する(ステップST255A)。
セッションID照合部310は、通信セッション開始時にサーバ装置2から通知されたセッションIDと復号化部307で復号化されたセッションIDとを照合する(ステップST256)。この照合の結果両者が一致する場合、暗号化部306は、固有情報321(第1固有情報)に基づいて生成された認証情報Bと利用者のパスワードを、復号化部307で復号化されたキー情報により暗号化する(ステップST260A)。暗号化部306は、この暗号化した認証情報Bとパスワードをサーバ装置2へ送信する(ステップST265)。
【0143】
サーバ装置2の暗号処理部205は、キー情報によって暗号化された認証情報B及びパスワードをセッションIDとともに端末装置3から受信した場合、この端末装置3に暗号化して送信したキー情報に対応する元のキー情報を、記憶部25のセッション管理テーブル213から取得する。そして暗号化処理部205は、セッション管理テーブル213から取得したキー情報に基づいて、端末装置3から受信した暗号化された認証情報Bとパスワードを復号化する(ステップST270A)。
【0144】
端末装置3で暗号化されたパスワード(第3情報)が暗号処理部205において元のキー情報により復号化されると、サーバ装置2の情報無効化部209は、元のキー情報を記憶部25のセッション管理テーブル213から削除するか、若しくは当該キー情報を無効化する(ステップST275)。
【0145】
サーバ装置2の照合部208は、暗号処理部205においてパスワードが復号化されると、この復号化されたパスワードとセッション管理テーブル213に登録されるパスワードとを比較し、両者が一致している場合にログインの許可を判定する(ステップST280)。
【0146】
照合部208においてログインが許可された場合、情報取得部203は、ステップST270Aにおいてパスワードとともに復号化された認証情報Bと、ステップST225Aにおいて利用者データベース212から検索できなかった認証情報Aとを関連付けて、これらに係るフラグ情報とともに利用者データベース212に格納する。これにより、利用者データベース212には、固有情報321(第1固有情報)に基づいて生成された認証情報A,Bのペアが追加登録される。
【0147】
以上説明したように、本実施形態によれば、MACアドレス322(第2固有情報)に基づく認証情報A,Bのペアのみが利用者データベース212に登録されている場合において、固有情報321(第1固有情報)に基づく認証情報A,Bのペアをログイン処理の過程で利用者データベース212に追加登録できる。そのため、端末装置3が固有情報321(第1固有情報)に基づく認証情報A,Bによるログインを試みてサーバ装置2により拒否されることを防止できる。また、新規登録時に利用者の誤操作等によって固有情報321(第1固有情報)に基づく認証情報A,Bのペアを利用者データベース212へ登録できなかった場合でも、その後のログイン処理の過程で自動的に追加登録できるので、この作業をマニュアルで行う場合に比べて、サーバ管理者や利用者の負担を軽減できる。
【0148】
<第5の実施形態>
次に、本発明の第5の実施形態について説明する。
【0149】
利用者データベース212における検索用の情報として端末装置3からサーバ装置2へ認証情報Aと利用者IDが送信される場合に、上述した第3,4の実施形態では、第1固有情報に基づいて生成された認証情報Aか、又は、第2固有情報(MACアドレス)に基づいて生成された認証情報Aの一方が送信される。これに対し、本実施形態では、第1固有情報に基づいて生成された認証情報Aと第2固有情報(MACアドレス)に基づいて生成された認証情報Aの両方がサーバ装置2に送信される。
【0150】
図16は、第5の実施形態において端末装置3がサーバ装置2にログインする処理の一例を説明するためのフロー図であり、固有情報321(第1固有情報)に基づいて生成された認証情報A,Bが利用者データベース212に登録されている場合の例を示す。
【0151】
図16に示すログイン処理において、ステップST200(ログイン用のWebページの要求)からステップST210(利用者ID,パスワードの入力)までの手順は、図13に示すログイン処理と同様である。
端末装置3のWebブラウザ部302は、サーバ装置2から受信した署名付きプログラムを実行するとともに、これに添付された認証情報(デジタル証明書)を検証する。署名付きプログラムが実行されると、OS判定部304が端末装置3にインストールされたOSを判定する。
OS判定部304においてOSの種別が判定され、かつ、Webブラウザ部302において署名付きプログラムの正当性が確認された場合、固有情報取得部308は、この判定されたOSの種別に応じたコマンドをOSに実行させて、記憶部35に記憶された固有情報321(第1固有情報)を取得する。また本実施形態では、固有情報321(第1固有情報)を取得できる場合でも、MACアドレス取得部309が端末装置3のMACアドレス322(第2固有情報)を取得する。
認証情報生成部303は、固有情報321に基づいて2つの認証情報A,Bを生成するとともに、MACアドレス322(第2固有情報)に基づいて別の2つの認証情報A,Bを生成し、その各々についてのフラグ情報も生成する。認証情報生成部303は、生成したこれらの情報を記憶部35へ一時的に格納する(ステップST215A)。
【0152】
認証情報生成部303は、生成した2つの認証情報Aと入力部34で入力された利用者IDとを合わせてサーバ装置2に送信するとともに、各認証情報Aに係るフラグ情報をサーバ装置2に送信する(ステップST220)。
【0153】
サーバ装置2が2つの認証情報Aと利用者IDとフラグ情報を端末装置3から受信した場合、情報取得部203は、固有情報321(第1固有情報)に基づいて生成された認証情報A及び利用者IDと一致する情報を持ち、かつ、この認証情報Aに係るフラグ情報と一致するフラグ情報を持つレコードを利用者データベース212において検索する。検索の結果、該当するレコードが見つかると、情報取得部203は、このレコードに属する認証情報B(第2情報)とパスワード(第3情報)を取得する(ステップST225A)。
情報取得部203は、利用者データベース212から認証情報B(第2情報)とパスワード(第3情報)を取得すると、取得した認証情報B及びパスワードと、端末装置3から受信した認証情報A及び利用者IDと、当該認証情報A,Bに係るフラグ情報と、この端末装置3との通信セッションについて発行されたセッションIDとを関連付けて、記憶部25のセッション管理テーブル213(図4)に登録する。
【0154】
利用者データベース212から認証情報B(第2情報)とパスワード(第3情報)が取得された場合、サーバ装置2のキー情報生成部204は、ランダムなキー情報を生成してセッション管理テーブル213に格納する(ステップST230)。
暗号処理部205は、キー情報とセッションIDを認証情報Bで暗号化し(ステップST235A)、この暗号化したキー情報とセッションIDをサーバ装置2に送信する。このとき、暗号処理部205は、キー情報の暗号化に用いた認証情報Bに係るフラグ情報(すなわち第1固有情報に基づいて認証情報A,Bが生成されたことを示すフラグ情報)をサーバ装置2に送信する(ステップST250)。
【0155】
暗号化されたキー情報とセッションIDがフラグ情報とともに端末装置3において受信されると、復号化部307は、受信されたフラグ情報に係る認証情報B(すなわち第1固有情報321に基づいて生成された認証情報B)を用いて、この暗号化されたキー情報とセッションIDを復号化する(ステップST255A)。
【0156】
以降、ステップST256(セッションIDの照合)からステップST280(パスワードの照合)までの処理は、図13に示すフロー図と同様である。
【0157】
他方、図17,図18は、第5の実施形態において端末装置3がサーバ装置2にログインする処理の一例を説明するためのフロー図であり、固有情報321(第1固有情報)に基づいて生成された認証情報A,Bが利用者データベース212に未だ登録されていない場合の例を示す。
【0158】
図17,図18に示すログイン処理において、ステップST200(ログイン用のWebページの要求)からステップST220(利用者ID及び認証情報Aの送信)までの手順は、上述した図16に示すログイン処理と同様である。
【0159】
サーバ装置2が2つの認証情報Aと利用者IDとフラグ情報を端末装置3から受信した場合、情報取得部203は、固有情報321(第1固有情報)に基づいて生成された認証情報A及び利用者IDと一致する情報を持ち、かつ、この認証情報Aに係るフラグ情報と一致するフラグ情報を持つレコードを利用者データベース212において検索する(ステップST225A)。検索の結果、該当するレコードが見つからないと、次に情報取得部203は、MACアドレス322(第2固有情報)に基づいて生成された認証情報A及び利用者IDと一致する情報を持ち、かつ、この認証情報Aに係るフラグ情報と一致するフラグ情報を持つレコードを利用者データベース212において更に検索する。検索の結果、該当するレコードが見つかると、情報取得部203は、このレコードに属する認証情報B(第2情報)とパスワード(第3情報)を取得する(ステップST225B)。
情報取得部203は、利用者データベース212から認証情報B(第2情報)とパスワード(第3情報)を取得すると、取得した認証情報B及びパスワードと、端末装置3から受信した認証情報A及び利用者IDと、当該認証情報A,Bに係るフラグ情報と、この端末装置3との通信セッションについて発行されたセッションIDとを関連付けて、記憶部25のセッション管理テーブル213(図4)に登録する。
【0160】
利用者データベース212から認証情報B(第2情報)とパスワード(第3情報)が取得された場合、サーバ装置2のキー情報生成部204は、ランダムなキー情報を生成してセッション管理テーブル213に格納する(ステップST230)。
暗号処理部205は、キー情報とセッションIDを認証情報Bで暗号化し(ステップST235A)、この暗号化したキー情報とセッションIDをサーバ装置2に送信する。このとき、暗号処理部205は、キー情報の暗号化に用いた認証情報Bに係るフラグ情報(すなわちMACアドレス322に基づいて認証情報A,Bが生成されたことを示すフラグ情報)をサーバ装置2に送信する(ステップST250)。
【0161】
暗号化されたキー情報とセッションIDがフラグ情報とともに端末装置3において受信されると、復号化部307は、受信されたフラグ情報に係る認証情報B(すなわちMACアドレス322に基づいて生成された認証情報B)を用いて、この暗号化されたキー情報とセッションIDを復号化する(ステップST255A)。
【0162】
以降、ステップST256(セッションIDの照合)からステップST295(認証情報A,Bの追加登録)までの処理は、図15に示すフロー図と同様である。
【0163】
以上説明したように、本実施形態においても、OSの種別に依らずに取得されるMACアドレス等の固有情報に基づいて端末認証情報(認証情報A,B)を生成可能であり、この端末認証情報を用いてサーバ装置2へのログイン処理を行うことができるので、種々の端末装置3がサーバ装置2へログイン可能になる。
また、MACアドレス322(第2固有情報)に基づく認証情報A,Bのペアのみが利用者データベース212に登録されている場合において、固有情報321(第1固有情報)に基づく認証情報A,Bのペアをログイン処理の過程で利用者データベース212に追加登録できるため、サーバ管理者や利用者の負担を軽減できる。
【0164】
<第6の実施形態>
次に、本発明の第6の実施形態について、図19のフロー図を参照して説明する。
【0165】
図19に示すログイン処理において、ステップST200(ログイン用のWebページの要求)からステップST270(キー情報によるパスワードの復号化)までの手順は、図8に示すログイン処理と同様である。
図8に示すログイン処理では、端末装置3で暗号化されたパスワードがサーバ装置2において復号された後(ステップST270)、その復号化に用いられたキー情報がサーバ装置2の記憶部25から直ちに削除される(ステップST275)。
一方、図19に示すログイン処理では、サーバ装置2の暗号処理部205において復号化が行われた後(ステップST270)、キー情報の削除が行われずに照合部208の照合が行われる(ステップST280)。そして、照合の結果ログインが許可されると、サーバ装置2と端末装置3との間におけるその後の通信が、このキー情報によって暗号化される。すなわち、サーバ装置2の暗号処理部205と端末装置3の暗号処理部305とが、共通のキー情報を用いて通信情報の暗号化・復号化を行う(ステップST300)。
両者の通信が終了すると、情報無効化部209は、記憶部25のセッション管理テーブル213に記憶されるキー情報を削除若しくは無効化する(ステップST305)。
【0166】
以上説明したように、本実施形態によれば、通信ネットワーク9において常に暗号化された状態で伝送されることにより秘密状態が保たれたキー情報を用いて、サーバ装置2と端末装置3との通信情報が暗号化されている。そのため、通信内容の漏えいを効果的に防止できる。
【0167】
また、本実施形態によれば、ログインの度にランダムに変化するキー情報によって通信情報が暗号化されるため、よりセキュリティの高い暗号化通信を実現できる。
【0168】
また、本実施形態によれば、サーバ装置2と端末装置3との通信が終了した後、記憶部25に記憶されるキー情報が削除若しくは無効化される。すなわち、通信情報の暗号化に使用されたキー情報がその使用後直ちに無効化される。これにより、キー情報が漏えいするリスクをより効果的に低減できる。
【0169】
<第6の実施形態の変形例>
次に、第6の実施形態の変形例について、図20のフロー図を参照して説明する。
【0170】
図20に示すログイン処理において、ステップST200(ログイン用のWebページの要求)からステップST265(暗号化したパスワードの送信)までの手順は、図9に示す変形例のログイン処理と同様である。
図20に示すログイン処理では、暗号処理部205においてパスワードが暗号化された後(ステップST240)、情報無効化部209によるキー情報の無効化が行われずに、照合部208において暗号化パスワードの照合が行われる(ステップST285)。そして、照合の結果ログインが許可されると、サーバ装置2と端末装置3との間におけるその後の通信が、無効化されなかったキー情報を用いて暗号化される。すなわち、サーバ装置2の暗号処理部205と端末装置3の暗号処理部305が、キー情報を共通キーとして用いることにより、通信情報の暗号化・復号化を行う(ステップST310)。
そして、両者の通信が終了すると、情報無効化部209は、記憶部25のセッション管理テーブル213に記憶されるキー情報を削除若しくは無効化する(ステップST315)。
【0171】
以上説明したように、図20に示す変形例によれば、通信ネットワーク9において常に暗号化された状態で伝送されることにより秘密状態が保たれたキー情報を用いて、サーバ装置2と端末装置3との通信情報が暗号化されているため、通信内容の漏えいを効果的に防止できる。
また、ログインの度にランダムに変化するキー情報によって通信情報が暗号化されるため、セキュリティの高い暗号化通信を実現できる。
更に、サーバ装置2と端末装置3との通信が終了した後、記憶部25に記憶されるキー情報が削除若しくは無効化されるので、キー情報が漏えいするリスクをより効果的に低減できる。
【0172】
<第7の実施形態>
次に、本発明の第7の実施形態について説明する。
上述した各実施形態に係るコンピュータシステムでは、ログインを要求する際、端末装置3の入力部34において利用者IDとパスワードの入力が求められるが(ステップST210,図8)、本実施形態に係るコンピュータシステムでは、端末装置3の入力部34において利用者IDとパスワードを入力することなく自動的にログイン処理が進行する。
【0173】
本実施形態では、端末装置3の記憶部35に保存されるクッキー情報312によって、利用者データベース212に登録される利用者認証情報(利用者ID,パスワード)と端末認証情報(認証情報A,B)との組み合わせが特定される。
端末装置3がクッキー情報312を保有していない場合(初回のログイン時など)には、既に説明した第1,第2の実施形態の方法によりログインが行われ、2回目以降のログインにおいて端末装置3がクッキー情報312を保有している場合は、本実施形態の自動的なログイン処理が行われる。
【0174】
利用者認証情報と端末認証情報の組み合わせを特定するクッキー情報としては、例えば、利用者IDと認証情報Aが用いられる。
具体的には、サーバ装置4の情報取得部203は、利用者IDと認証情報Aに所定の変換処理(符号の並べ替え処理,MD5等のハッシュ関数による処理等)を施して、利用者IDと認証情報Aの組み合わせに一意に対応する「利用者・端末識別情報」を生成する(簡易的には、利用者IDと認証情報Aを単純に結合したものでもよい)。
端末装置3のログオンが許可された場合、サーバ装置2の情報取得部203は、利用者IDと認証情報Aに所定の変換処理を施して「利用者・端末識別情報」(新たな第1情報)を生成する。そして、情報取得部203は、この「利用者・端末識別情報」を含んだクッキー情報を元の利用者認証情報(利用者ID,パスワード)および端末認証情報(認証情報A,B)に関連付けて利用者データベース212に格納するとともに、このクッキー情報を端末装置3へ送信する。
端末装置3の認証情報生成部303は、ログオンが許可された場合にサーバ装置2から送信される上述した「利用者・端末識別情報」を含んだクッキー情報を、記憶部35に格納する。
次回以降のログオン処理において、「利用者・端末識別情報」を含んだクッキー情報が記憶部35に記憶されている場合、認証情報生成部303は、利用者ID及び認証情報(元の第1情報)の代わりに、この「利用者・端末識別情報」を含んだクッキー情報をサーバ装置2に送信する。
「利用者・端末識別情報」を含むクッキー情報を端末装置3から受信した場合、サーバ装置2の情報取得部203は、この「利用者・端末識別情報」を検索キーとして、利用者データベース212から利用者認証情報と端末認証情報を取得する。
【0175】
図21は、本実施形態において端末装置3がサーバ装置2にログインする処理の一例を示すフロー図である。
【0176】
まず端末装置3のWebブラウザ部302が、サーバ装置2のログイン用Webページにアクセスし、記憶部35に保存されるクッキー情報312をサーバ装置2に送信する(ステップST201)。
【0177】
サーバ装置2の情報取得部203は、ログイン要求元の端末装置3からクッキー情報312を受信した場合、このクッキー情報に含まれる「利用者・端末識別情報」(新たな第1情報)に関連づけられた認証情報B(第2情報)及び認証情報A(第3情報)を記憶部26の利用者データベース212から取得する(ステップST225)。
情報取得部203は、認証情報B(第2情報)と認証情報A(第3情報)を利用者データベース212から取得した場合、この取得した認証情報B及び認証情報Aを、クッキー情報に含まれるセッションIDと関連付けて、記憶部25のセッション管理テーブル213に登録する。この場合、図4に示すセッション管理テーブル213において利用者IDとパスワードが省略される。
【0178】
利用者データベース212から認証情報B(第2情報)と認証情報A(第3情報)が取得された場合、サーバ装置2のキー情報生成部204は、ランダムなキー情報を生成してセッション管理テーブル213に格納する(ステップST230)。
【0179】
次いで、サーバ装置2の暗号処理部205は、キー情報生成部204において生成されたキー情報を情報取得部203において取得された認証情報B(第2情報)により暗号化する(ステップST235)。
暗号処理部205は、認証情報Bにより暗号化したキー情報を、ログイン要求元の端末装置3へ送信する。また、サーバ装置2のWebサーバ部202は、署名付きプログラムを端末装置3に送信する(ステップST251)。
【0180】
また端末装置3のWebブラウザ部302は、サーバ装置2から受信した署名付きプログラムを実行するとともに、これに添付される認証情報(デジタル証明書)を検証する。署名付きプログラムが実行されると、OS判定部304が端末装置3にインストールされたOSを判定する。
OS判定部304においてOSの種別が判定され、かつ、Webブラウザ部302において署名付きプログラムの正当性が確認された場合、固有情報取得部308は、この判定されたOSの種別に応じたコマンドをOSに実行させて、記憶部35に記憶された固有情報321(第1固有情報)を取得する。認証情報生成部303は、固有情報取得部308によって取得された固有情報321に基づいて2つの認証情報A,Bを生成し、これらを記憶部35へ一時的に格納する(ステップST215)。
【0181】
また、端末装置3の暗号処理部305は、サーバ装置2から暗号化されたキー情報を受信した場合、この受信したキー情報を記憶部35の認証情報B(第2情報)によって復号化する(ステップST255)。
【0182】
更に、暗号処理部305は、この復号化したキー情報によって記憶部35の認証情報A(第3情報)を暗号化し(ステップST261)、当該暗号化した認証情報AをセッションIDとともにサーバ装置2へ送信する(ステップST266)。
【0183】
サーバ装置2の暗号処理部205は、キー情報によって暗号化された認証情報AをセッションIDとともに端末装置3から受信した場合、この端末装置3に送信した暗号化したキー情報に対応する元のキー情報を、記憶部25のセッション管理テーブル213から取得する。そして暗号化処理部205は、セッション管理テーブル213から取得したキー情報に基づいて、端末装置3から受信した暗号化された認証情報Aを復号化する(ステップST271)。
【0184】
端末装置3で暗号化された認証情報A(第3情報)が暗号処理部205において元のキー情報により復号化されると、サーバ装置2の情報無効化部209は、記憶部25のセッション管理テーブル213に登録される元のキー情報を削除若しくは無効化する(ステップST275)。
【0185】
サーバ装置2の照合部208は、暗号処理部205において認証情報Aが復号化されると、この復号化された認証情報Aとセッション管理テーブル213に登録される認証情報Aとを比較し、両者が一致している場合にログインの許可を判定する(ステップST281)。
【0186】
以上説明したように、本実施形態によれば、端末装置3に保存されたクッキー情報(利用者データベース212のレコードを特定可能な情報)を用いることによって、自動的にログイン処理を進めることが可能となり、利用者がIDやパスワードを入力する手間を無くすことができる。
もし、クッキー情報を盗んだ第三者が他の端末装置でログインを試みても、端末認証情報の異なる他の端末装置のログインをサーバ装置2が拒否するので、第三者のなりすましを確実に排除できる。従って、自動ログインによって利便性を向上させつつ、高いセキュリティを保つことができる。
【0187】
<第7の実施形態の変形例>
次に、第7の実施形態の変形例について、図22のフロー図を参照して説明する。
図21に示すログイン処理では、端末装置3で暗号化された認証情報Aがサーバ装置2において復号化され、その復号化後の認証情報Aと利用者データベース212に登録される認証情報Aとが照合される。
一方、図22に示すログイン処理では、サーバ装置2の利用者データベース212に登録される認証情報Aがキー情報により暗号化され、この暗号化された認証情報Aと端末装置3で暗号化された認証情報Aとが照合される。
【0188】
図22に示すログイン処理において、ステップST201(ログイン要求)からステップST266(暗号化した認証情報Aの送信)までの手順は、図21に示すログイン処理と同様である。
図22に示す変形例では、サーバ装置2の照合部208において照合が行われる前に、暗号処理部205において認証情報A(第3情報)の暗号化が行われる。すなわち、暗号処理部205は、ステップST235で暗号化したキー情報に対応する元のキー情報を用いて、認証情報A(第3情報)を暗号化する(ステップST241)。暗号処理部205は、この暗号化した認証情報Aをセッション管理テーブル213に登録する。
認証情報Aの暗号化後、情報無効化部209はセッション管理テーブル213に登録されるキー情報を削除若しくは無効化する(ステップST245)。
【0189】
そして、端末装置3から暗号化された認証情報Aが受信されると、サーバ装置2の照合部208は、ステップST241で暗号化された認証情報AとステップST266で受信された暗号化された認証情報Aとを比較する。両者が一致している場合、照合部208はログインの許可を判定する(ステップST286)。
【0190】
照合部208において照合が行われた後、情報無効化部209は、記憶部25に記憶される(セッション管理テーブル213に登録される)暗号化された認証情報Aを削除若しくは無効にする(ステップST291)。
【0191】
以上説明したように、図22に示す変形例によれば、サーバ装置2の暗号処理部205において復号処理を行う必要がないので、復号化部207を省略することができる。また、端末装置3の復号化処理・暗号化処理(ST255,ST261)と並行に、サーバ装置2の暗号化処理(ST241)を実行できるので、ログイン処理を高速化できる。
【0192】
<第8の実施形態>
次に、本発明の第8の実施形態について、図23のフロー図を参照して説明する。
【0193】
図23に示すログイン処理において、ステップST201(ログイン要求)からステップST271(キー情報による認証情報Aの復号化)までの手順は、図21に示すログイン処理と同様である。
図21に示すログイン処理では、端末装置3で暗号化された認証情報Aがサーバ装置2において復号された後(ステップST271)、その復号化に用いられたキー情報がサーバ装置2の記憶部25から直ちに削除される(ステップST275)。
一方、図23に示すログイン処理では、サーバ装置2の暗号処理部205において復号化が行われた後(ステップST271)、キー情報の削除が行われずに照合部208の照合が行われる(ステップST281)。そして、照合の結果ログインが許可されると、サーバ装置2と端末装置3との間におけるその後の通信が、このキー情報によって暗号化される。すなわち、サーバ装置2の暗号処理部205と端末装置3の暗号処理部305とが、共通のキー情報を用いて通信情報の暗号化・復号化を行う(ステップST300)。
両者の通信が終了すると、情報無効化部209は、記憶部25のセッション管理テーブル213に記憶されるキー情報を削除若しくは無効化する(ステップST305)。
【0194】
以上説明したように、本実施形態によれば、秘密状態が保たれたキー情報を用いて、サーバ装置2と端末装置3との通信情報が暗号化されているため、通信内容の漏えいを効果的に防止できる。
また、ログインの度にランダムに変化するキー情報によって通信情報が暗号化されるため、よりセキュリティの高い暗号化通信を実現できる。
更に、サーバ装置2と端末装置3との通信が終了した後、記憶部25に記憶されるキー情報が削除若しくは無効化されるため、キー情報が漏えいするリスクをより効果的に低減できる。
【0195】
<第8の実施形態の変形例>
次に、第8の実施形態の変形例について、図24のフロー図を参照して説明する。
【0196】
図24に示すログイン処理において、ステップST201(ログイン要求)からステップST266(暗号化された認証情報Aの送信)までの手順は、図22に示す変形例のログイン処理と同様である。
図24に示すログイン処理では、暗号処理部205において認証情報Aが暗号化された後(ステップST241)、情報無効化部209によるキー情報の無効化が行われずに、照合部208において暗号化された認証情報Aの照合が行われる(ステップST286)。そして、照合の結果ログインが許可されると、サーバ装置2と端末装置3との間におけるその後の通信が、無効化されなかったキー情報を用いて暗号化される。すなわち、サーバ装置2の暗号処理部205と端末装置3の暗号処理部305が、キー情報を共通キーとして用いることにより、通信情報の暗号化・復号化を行う(ステップST311)。
そして、両者の通信が終了すると、情報無効化部209は、記憶部25のセッション管理テーブル213に記憶されるキー情報を削除若しくは無効化する(ステップST316)。
【0197】
以上説明したように、図24に示す変形例によれば、通信ネットワーク9において常に暗号化された状態で伝送されることにより秘密状態が保たれたキー情報を用いて、サーバ装置2と端末装置3との通信情報が暗号化されているため、通信内容の漏えいを効果的に防止できる。
また、ログインの度にランダムに変化するキー情報によって通信情報が暗号化されるため、セキュリティの高い暗号化通信を実現できる。
更に、サーバ装置2と端末装置3との通信が終了した後、記憶部25に記憶されるキー情報が削除若しくは無効化されるので、キー情報が漏えいするリスクをより効果的に低減できる。
【0198】
<第9の実施形態>
次に、本発明の第9の実施形態について、図25を参照して説明する。
第9の実施形態では、端末装置3からの応答が一定時間を超えて無かった場合に、認証情報の暗号化に用いるキー情報を削除する。
【0199】
図25に示すログイン処理において、ステップST200(ログイン用のWebページの要求)からステップST250(暗号化したキー情報の送信)までの手順は、図8に示すログイン処理と同様である。
本実施形態では、暗号処理部205が認証情報Bにより暗号化したキー情報を端末装置3へ送信した場合に、その時刻に対応する時刻情報を暗号化前の元のキー情報に関連付けてセッション管理テーブル213に登録する。
【0200】
そして、情報無効化部209は、暗号化されたキー情報が端末装置3へ送信された後、この暗号化されたキー情報に対応する元のキー情報に関連付けてセッション管理テーブル213に登録される時刻情報を、暗号化されたパスワードが端末装置3から受信されるまで(ステップST265まで)監視する。
例えば情報無効化部209は、暗号化されたキー情報が端末装置3へ送信された後、セッション管理テーブル213に「監視中」を示すフラグ情報を記録する。そして、情報無効化部209は、「監視中」のフラグ情報を持つ通信セッションの時刻情報をセッション管理テーブル213から定期的に取得し、この時刻情報が示す時刻からの経過時間(時刻情報が示す時刻と現在時刻との差)を算出する。
【0201】
そして、情報無効化部209は、監視対象の時刻情報の経過時間を所定の時間Tと比較し、経過時間が所定の時間Tを超えた場合、この監視対象の時刻情報に関連付けられたキー情報をセッション管理テーブル213から削除するか、若しくは無効化する(ステップST246)。
他方、監視対象の時刻情報の経過時間が所定の時間Tを超える前に、端末装置3からの応答(暗号化されたパスワード)が受信された場合、情報無効化部209は、セッション管理テーブル213に記録した「監視中」のフラグ情報をクリアする(「非監視中」の状態にする)。
【0202】
このように、本実施形態では、ログイン処理の途中で端末装置3からの応答が一定時間以上途絶えた場合に、ステップST225で生成されたキー情報が無効化されて、ログイン処理が中断される。これにより、キー情報の漏えいを効果的に防止できるため、セキュリティを更に向上できる。
【0203】
以上、本発明の種々の実施形態について説明したが、本発明は上述した実施形態に限定されるものではなく、種々のバリエーションを含んでいる。
【0204】
上述した第1乃至第6の実施形態では、本発明における「第1情報」を認証情報A及び利用者ID、「第2情報」を認証情報B、「第3情報」をパスワードとしており、上述した第7,第8の実施形態では、本発明における「第1情報」をクッキー情報(「利用者・端末識別情報」)、「第2情報」を認証情報B、「第3情報」を認証情報Aとしているが、本発明はこの例に限定されない。
本発明における「第2情報」と「第3情報」は、端末装置とサーバ装置が共有する秘密情報であり、「第1情報」は、サーバ装置に格納される「第2情報」と「第3情報」のペアを特定するために用いられる情報であって、これらの属性は任意である。
従って、例えば端末認証のみが必要な場合(特定の利用者が特定の端末装置のみを使用する場合)は、「第1情報」「第2情報」「第3情報」の全てを端末認証情報としてもよい。逆に、利用者認証のみが必要な場合は、これらの情報の全てを利用者認証情報としてもよい。また、「第1情報」「第2情報」「第3情報」が端末認証情報と利用者認証情報をそれぞれ含むようにしてもよい。
【0205】
上述の実施形態では、端末装置3の固有情報を処理部31の記憶部35から取得しているが本発明はこれに限定されない。本発明の他の実施形態では、処理部31によって制御される周辺機器のメモリから固有情報を取得してもよい。
【0206】
上述の実施形態では、第2固有情報としてMACアドレスを例に挙げているが、OSの種別が不明でも取得可能な他の固有情報を第2固有情報として取得してもよい。
【0207】
本発明において、利用者認証情報は利用者IDとパスワードに限定されるものではなく、例えば指紋認証や静脈認証などの生体認証情報を用いてもよい。
【0208】
上述した第3,第4の実施形態では、「利用者・端末識別情報」を利用者データベース212に登録しているが、本発明はこの例に限定されない。例えば、端末装置3からクッキー情報312を受信した場合、サーバ装置2の情報取得部203は、受信したクッキー情報312に含まれる「利用者・端末識別情報」に対して上述とは逆の変換処理を施すことにより利用者IDと認証情報Aを再生し、この利用者IDと認証情報Aに基づいて、利用者データベース212から必要な情報を取得するようにしてもよい。
【符号の説明】
【0209】
1…コンピュータシステム、2…サーバ装置、3…端末装置、9…通信ネットワーク、21,31…処理部、22,32…通信部、23,33…表示部、24,34…入力部、25,35…記憶部、202…Webサーバ部、203…情報取得部、204…キー情報生成部、205,305…暗号処理部、208…照合部、209…情報無効化部、212…利用者データベース、213…セッション管理テーブル、302…Webブラウザ部、303…認証情報生成部、312…クッキー情報、320…内部メモリ、321…固有情報
【特許請求の範囲】
【請求項1】
端末装置のログイン要求を処理するサーバ装置であって、
前記端末装置の情報記憶手段に記憶される前記端末装置の固有の情報に基づいて生成される第1情報と、少なくとも一方が前記固有情報に基づいて生成される第2情報及び第3情報とを関連付けて記憶する記憶部と、
前記端末装置からログイン要求を受信した場合、当該端末装置において実行される端末側プログラムを当該端末装置へ送信するプログラム送信部と、
ログイン要求元の端末装置から前記第1情報を受信した場合、当該受信した第1情報に関連づけられた前記第2情報及び前記第3情報を前記記憶部から取得する情報取得部と、
前記端末装置からのログイン要求に応じて前記情報取得部が前記第2情報を取得する度に変化するキー情報を生成するキー情報生成部と、
前記キー情報生成部において生成されたキー情報を前記情報取得部において取得された第2情報により暗号化し、当該暗号化したキー情報を前記ログイン要求元の端末装置へ送信する暗号処理部と、
前記キー情報により暗号化された前記第3情報を前記ログイン要求元の端末装置から受信した場合、当該受信した第3情報と前記情報取得部において取得された第3情報とを照合する照合部と、
を有し、
前記端末側プログラムは、
前記端末装置の情報記憶手段に記憶された前記固有情報を取得する第1固有情報取得手段、
前記取得した前記固有情報に基づいて、前記第1情報を生成するとともに前記第2情報及び前記第3情報の少なくとも一方を生成し、当該生成した第1情報を前記サーバ装置に送信する情報生成手段、
前記サーバ装置から受信した前記暗号化されたキー情報を前記第2情報により復号化する端末側復号化手段、及び、
前記復号化したキー情報により前記第3情報を暗号化し、当該暗号化した第3情報を前記サーバ装置に送信する端末側暗号化手段、
として前記端末装置を機能させる、
サーバ装置。
【請求項2】
前記情報生成手段は、
所定の付加情報と前記固有情報とを含んだデータに一方向性関数を施した結果に基づいて前記第1情報を生成するとともに、前記所定の付加情報とは異なる付加情報と前記固有情報とを含んだデータに一方向性関数を施した結果に基づいて前記第2情報及び/又は前記第3情報を生成する、
又は、
前記端末装置の情報記憶手段から取得された固有情報の一部に一方向性関数を施した結果に基づいて前記第1情報を生成するとともに、前記取得された固有情報の他の一部に一方向性関数を施した結果に基づいて前記第2情報及び/又は前記第3情報を生成する、
又は、
前記固有情報に一方向性関数を施した結果に基づいて前記第1情報を生成するとともに、前記固有情報に前記第1情報の生成に用いた一方向性関数とは異なる一方向性関数を施した結果に基づいて前記第2情報及び/又は前記第3情報を生成する、
請求項1に記載のサーバ装置。
【請求項3】
前記端末側プログラムは、更に、
前記端末装置にインストールされたオペレーティングシステムの種別を判定する判定手段
として前記端末装置を機能させ、
第1固有情報取得手段は、前記判定手段において判定された前記種別に応じた所定の命令を前記オペレーティングシステムに実行させることにより、前記端末装置を構成するハードウェアに係る固有情報、及び、前記端末装置にインストールされたソフトウェアに係る固有情報の何れか一方若しくは両方を前記端末装置の情報記憶手段から取得する、
請求項2に記載のサーバ装置。
【請求項4】
前記端末装置との通信セッションを識別するためのセッション識別情報を生成し、当該生成したセッション識別情報を前記端末装置に通知するセッション情報生成部を有し、
前記暗号処理部は、前記セッション情報を前記キー情報とともに前記第2情報によって暗号化し、
前記端末側復号化手段は、前記暗号化処理部において前記キー情報とともに暗号化された前記セッション情報を復号化し、
前記端末側プログラムは、更に、
通信セッションの開始時に前記サーバ装置から通知されたセッション情報と前記復号化したセッション情報とを照合し、両者が一致しない場合は前記サーバ装置への前記暗号化された第3情報の送信を禁止するセッション情報照合手段
として前記端末装置を機能させる、
請求項3に記載のサーバ装置。
【請求項5】
前記プログラム送信部は、前記端末側プログラムの正当性を認証するための認証情報を前記端末側プログラムとともに前記端末装置へ送信し、
前記第1固有情報取得手段は、前記端末装置のプログラム正当性確認手段において前記認証情報に基づいて前記端末側プログラムの正当性が確認されることを条件として、前記固有情報の取得を実行する、
請求項4に記載のサーバ装置。
【請求項6】
前記端末側プログラムは、更に、
前記オペレーティングシステムの種別に依らずに取得可能な固有情報を前記端末装置の前記情報記憶手段から取得する第2固有情報取得手段
として前記端末装置を機能させ、
前記情報生成手段は、前記判定手段において前記端末装置にインストールされたオペレーティングシステムの種別を判定できない場合、又は、前記端末装置の前記プログラム正当性確認手段において前記端末側プログラムの正当性を確認できない場合に、前記第2固有情報取得手段で取得された前記固有情報に基づいて、前記第1情報を生成するとともに前記第2情報及び前記第3情報の少なくとも一方を生成し、当該生成した第1情報を前記サーバ装置に送信する、
請求項5に記載のサーバ装置。
【請求項7】
前記記憶部は、前記第1情報の生成並びに当該第1情報に関連付けられた前記第2情報及び/又は前記第3情報の生成に用いられた前記固有情報が前記第1固有情報取得手段において取得された固有情報(以下、「第1固有情報」と記す。)であるか又は前記第2固有情報取得手段において取得された固有情報(以下、「第2固有情報」と記す。)であるかを示すフラグ情報を更に記憶し、
前記情報生成手段は、前記第1情報を前記サーバ装置へ送信する際、前記第1情報に係る前記フラグ情報を前記サーバ装置へ送信し、
前記情報取得部は、前記第1情報とこれに係る前記フラグ情報を前記端末装置から受信した場合、当該受信した第1情報と一致する第1情報を前記記憶部において検索し、当該検索した第1情報について前記記憶部に記憶される前記フラグ情報が当該受信したフラグ情報と一致するならば、当該検索した第1情報に関連付けられた前記第2情報及び前記第3情報を前記記憶部から取得する、
請求項6に記載のサーバ装置。
【請求項8】
前記情報取得部は、前記端末装置から受信した第1情報を前記記憶部の記憶情報から検索できず、かつ、当該受信した第1情報に係る前記フラグ情報が前記第1固有情報に基づいて当該第1情報が生成されたことを示す場合、前記第2固有情報に基づいて生成された前記第1情報の送信を求める送信要求を前記端末装置に送信し、
前記端末装置において前記送信要求が受信された場合、
前記情報生成手段は、前記第2固有情報に基づいて生成した前記第1情報とこれに係る前記フラグ情報を前記サーバ装置に送信し、
前記送信要求に応答した前記端末装置から前記サーバ装置へ前記第1情報が送信され、前記サーバ装置において当該第1情報に関連付けられた前記第2情報により前記キー情報が暗号化され、当該暗号化されたキー情報が前記サーバ装置から前記端末装置へ送信された場合、
前記端末側復号化手段は、当該暗号化されたキー情報を、前記第2固有情報に基づいて生成された前記第2情報により復号化するか、若しくは、前記端末装置の情報入力手段に入力された前記第2情報により復号化し、
前記端末側暗号化手段は、前記第2固有情報に基づいて生成された前記第3情報若しくは前記端末装置の情報入力手段に入力された第3情報を、前記復号化されたキー情報により暗号化して前記サーバ装置に送信するとともに、前記第1固有情報に基づいて生成された前記第2情報及び/又は第3情報を、前記復号化されたキー情報により暗号化して前記サーバ装置に送信し、
前記暗号処理部は、前記第1固有情報に基づいて生成されて前記キー情報により暗号化された前記第2情報及び/又は前記第3情報を、前記キー情報生成部において生成されたキー情報により復号化し、
前記照合部は、前記第2固有情報に基づいて生成されるか若しくは前記端末装置の情報入力手段に入力されて前記キー情報により暗号化された前記第3情報と、前記情報取得部において取得された第3情報とを照合し、
前記情報取得部は、前記第2固有情報に基づいて生成されるか若しくは前記端末装置の情報入力手段に入力された第3情報と前記情報取得部において取得された第3情報とが一致すると前記照合部において判定された場合、前記第1固有情報に基づいて生成されて前記キー情報により復号化された第2情報及び/又は第3情報と、前記第1固有情報に基づいて生成され、前記記憶部の記憶情報から検索できなかった前記第1情報と、前記第2固有情報に基づいて生成され、前記送信要求に応答した前記端末装置から前記サーバ装置へ送信された前記第1情報とを関連付けて前記記憶部に格納し、各第1情報に係る前記フラグ情報を前記記憶部に格納する、
請求項7に記載のサーバ装置。
【請求項9】
前記情報生成手段は、前記第1固有情報に基づいて生成した前記第1情報と前記第2固有情報に基づいて生成した前記第1情報の両方を前記サーバ装置へ送信し、
前記情報取得部は、前記第1固有情報に基づいて生成された前記第1情報と前記第2固有情報に基づいて生成された前記第1情報の両方を前記端末装置から受信した場合、前記第1固有情報に基づいて生成された第1情報に関連付けられた前記第2情報及び前記第3情報を前記記憶部から取得し、前記第1固有情報に基づいて生成された第1情報を前記記憶部の記憶情報から検索できないときは、前記第2固有情報に基づいて生成された前記第1情報に関連付けられた前記第2情報及び前記第3情報を前記記憶部から取得し、
前記暗号処理部は、前記第1情報に関連付けられた前記第2情報が前記情報取得部によって取得された場合、当該第1情報に係る前記フラグ情報と当該第2情報により暗号化したキー情報とを前記端末装置へ送信し、
前記暗号化されたキー情報と前記フラグ情報とが前記端末装置において受信された場合、
前記端末側復号化手段は、前記暗号化されたキー情報を、前記受信されたフラグ情報に係る前記第1情報とともに前記情報生成手段において生成された前記第2情報により復号化するか、若しくは、前記端末装置の情報入力手段に入力された前記第2情報により復号化し、
前記端末側暗号化手段は、前記受信されたフラグ情報に係る前記第1情報とともに前記情報生成手段において生成された前記第3情報、若しくは、前記端末装置の情報入力手段に入力された第3情報を、前記復号化されたキー情報により暗号化して前記サーバ装置に送信する、
請求項7に記載のサーバ装置。
【請求項10】
前記第1固有情報に基づいて生成された第1情報が前記記憶部の記憶情報から検索できないため、前記第2固有情報に基づいて生成された前記第1情報に関連付けられた前記第2情報及び前記第3情報が前記記憶部から取得され、当該取得された第2情報により暗号化された前記キー情報と前記第2固有情報に基づいて生成された前記第1情報に係る前記フラグ情報とが前記サーバ装置から前記端末装置へ送信された場合、
前記端末側復号化手段は、前記暗号化されたキー情報を、前記第2固有情報に基づいて生成された前記第2情報により復号化するか、若しくは、前記端末装置の情報入力手段に入力された前記第2情報により復号化し、
前記端末側暗号化手段は、前記第2固有情報に基づいて生成された前記第3情報若しくは前記端末装置の情報入力手段に入力された第3情報を、前記復号化されたキー情報により暗号化して前記サーバ装置に送信するとともに、前記第1固有情報に基づいて生成された前記第2情報及び/又は第3情報を前記復号化されたキー情報により暗号化して前記サーバ装置に送信し、
前記暗号処理部は、前記第1固有情報に基づいて生成されて前記キー情報により暗号化された前記第2情報及び/又は前記第3情報を、前記キー情報生成部において生成されたキー情報により復号化し、
前記照合部は、前記第2固有情報に基づいて生成されるか若しくは前記端末装置の情報入力手段に入力されて前記キー情報により暗号化された前記第3情報と、前記情報取得部において取得された第3情報とを照合し、
前記情報取得部は、前記第2固有情報に基づいて生成されるか若しくは前記端末装置の情報入力手段に入力された第3情報と前記情報取得部において取得された第3情報とが一致すると前記照合部において判定された場合、前記第1固有情報に基づいて生成されて前記キー情報により復号化された第2情報及び/又は第3情報と、前記第1固有情報に基づいて生成され、前記記憶部の記憶情報から検索できなかった前記第1情報と、前記第2固有情報に基づいて生成された前記第1情報とを関連付けて前記記憶部に格納し、各第1情報に係る前記フラグ情報を前記記憶部に格納する、
請求項9に記載のサーバ装置。
【請求項11】
前記暗号処理部は、前記暗号化したキー情報を前記端末装置へ送信した時刻に対応する時刻情報を、前記暗号化したキー情報を暗号化する前の元のキー情報に関連付けて前記記憶部に格納し、
前記ログイン要求元の端末装置へ前記暗号化されたキー情報が送信された後、当該暗号化されたキー情報に対応する前記元のキー情報に関連付けて前記記憶部に格納される前記時刻情報を、当該端末装置から前記暗号化された第3情報を受信するまで監視し、当該監視対象の時刻情報が示す時刻からの経過時間が所定の時間を超えた場合、当該監視対象の時刻情報に関連付けられた前記元のキー情報を前記記憶部から削除する若しくは無効化する情報無効化部を有する、
請求項7乃至10の何れか一項に記載のサーバ装置。
【請求項12】
前記暗号処理部は、前記ログイン要求元の端末装置から受信した第3情報を、当該端末装置へ暗号化して送信したキー情報に対応する元の前記キー情報により復号化し、
前記照合部は、前記暗号処理部において復号化された第3情報と前記情報取得部において取得された第3情報とが一致しているか否か判定する、
請求項7乃至11の何れか一項に記載のサーバ装置。
【請求項13】
前記暗号処理部は、前記情報取得部において取得された第3情報を、前記ログイン要求元の端末装置へ暗号化して送信したキー情報に対応する元の前記キー情報によって暗号化し、
前記照合部は、前記端末装置から受信した暗号化された第3情報と前記暗号処理部により暗号化された第3情報とが一致しているか否か判定する、
請求項7乃至11の何れか一項に記載のサーバ装置。
【請求項14】
前記キー情報生成部は、前記暗号処理部により暗号化される前の元のキー情報を前記記憶部に格納し、
前記端末装置において暗号化された第3情報が前記暗号処理部において前記元のキー情報により復号化された後、当該元のキー情報を前記記憶部から削除する若しくは無効化する情報無効化部を有する、
請求項12に記載のサーバ装置。
【請求項15】
前記キー情報生成部は、前記暗号処理部により暗号化される前の元のキー情報を前記記憶部に格納し、
前記暗号処理部において前記第3情報が前記元のキー情報により暗号化された後、当該元のキー情報を前記記憶部から削除する若しくは無効化する情報無効化部を有する、
請求項13に記載のサーバ装置。
【請求項16】
前記暗号処理部は、前記照合部の照合結果に基づいて前記端末装置のログイン要求が許可された場合、当該端末装置へ送信する情報の少なくとも一部を前記キー情報により暗号化する処理、及び/又は、当該端末装置から受信する情報の少なくとも一部を前記キー情報により復号化する処理を行う、
請求項7乃至13の何れか一項に記載のサーバ装置。
【請求項17】
前記キー情報生成部は、前記暗号処理部により暗号化される前の元のキー情報を前記記憶部に格納し、
前記端末装置との通信が終了した場合、当該終了した通信において前記暗号処理部が使用した前記元のキー情報を前記記憶部から削除する若しくは無効化する情報無効化部を有する、
請求項16に記載のサーバ装置。
【請求項18】
前記第1情報が、前記端末装置の利用者を識別するために前記端末装置の情報入力手段から入力される利用者識別情報と前記固有情報とを含み、
前記第2情報及び前記第3情報の少なくとも一方が、利用者本人を認証するために前記端末装置の情報入力手段から入力される本人認証情報を含む、
請求項7乃至17の何れか一項に記載のサーバ装置。
【請求項19】
前記情報取得部は、前記端末装置のログオンが許可された場合、前記第1情報に所定の変換を施して生成した新たな第1情報を元の第1情報に関連付けて前記記憶部に格納するとともに、前記新たな第1情報を前記端末装置へ送信し、
前記情報生成手段は、前記端末装置へのログオンが許可された場合に前記サーバ装置から送信された前記新たな第1情報を前記記憶部に格納し、次回の前記サーバ装置へのログイン処理においては、前記情報記憶手段に格納した前記新たな第1情報を前記サーバ装置に送信し、
前記情報取得部は、前記端末装置から前記新たな第1情報を受信した場合、当該受信した新たな第1情報に関連づけられた前記第2情報及び前記第3情報を前記記憶部から取得する、
請求項7乃至18の何れか一項に記載のサーバ装置。
【請求項20】
端末装置と、
前記端末装置のログイン要求を処理するサーバ装置と
を具備し、
前記端末装置は、
当該端末装置の固有の情報を記憶する端末側記憶部と、
前記サーバ装置に対するログイン要求を送信するログイン要求送信部と、
を有し、
前記サーバ装置は、
前記端末装置の前記端末側記憶部に記憶される前記固有情報に基づいて生成される第1情報と、少なくとも一方が前記固有情報に基づいて生成される第2情報及び第3情報とを関連付けて記憶するサーバ側記憶部と、
前記端末装置から前記ログイン要求を受信した場合、当該端末装置において実行される端末側プログラムを当該端末装置へ送信するプログラム送信部と、
前記端末装置から前記第1情報を受信した場合、当該受信した第1情報に関連づけられた前記第2情報及び前記第3情報を前記記憶部から取得する情報取得部と、
前記端末装置からのログイン要求に応じて前記情報取得部が前記第2情報を取得する度に変化するキー情報を生成するキー情報生成部と、
前記キー情報生成部において生成されたキー情報を前記情報取得部において取得された第2情報により暗号化し、当該暗号化したキー情報を前記ログイン要求元の端末装置へ送信する暗号処理部と、
前記キー情報により暗号化された前記第3情報を前記ログイン要求元の端末装置から受信した場合、当該受信した第3情報と前記情報取得部において取得された第3情報とを照合する照合部と、
を有し、
前記端末側プログラムは、
前記端末側記憶部から前記固有情報を取得する固有情報取得手段、
前記取得した前記固有情報に基づいて、前記第1情報を生成するとともに前記第2情報及び前記第3情報の少なくとも一方を生成し、当該生成した第1情報を前記サーバ装置に送信する情報生成手段、
前記サーバ装置から受信した前記暗号化されたキー情報を前記第2情報により復号化する端末側復号化手段、及び、
前記復号化したキー情報により前記第3情報を暗号化し、当該暗号化した第3情報を前記サーバ装置に送信する端末側暗号化手段、
として前記端末装置を機能させる、
コンピュータシステム。
【請求項21】
端末装置がサーバ装置にログインする方法であって、
前記端末装置の情報記憶手段に記憶される前記端末装置の固有の情報に基づいて生成される第1情報と、少なくとも一方が前記固有情報に基づいて生成される第2情報及び第3情報とが、前記サーバ装置の記憶手段に関連付けて記憶された状態で、前記端末装置が前記サーバ装置にログイン要求を送信する第1工程と、
前記サーバ装置が前記端末装置から前記ログイン要求を受信すると、前記サーバ装置のプログラム送信手段が、当該端末装置において実行される端末側プログラムを当該端末装置へ送信する第2工程と、
前記端末側プログラムに基づく前記端末装置の固有情報取得手段が、前記端末装置の前記情報記憶手段から前記固有情報を取得する第3工程と、
前記端末側プログラムに基づく前記端末装置の情報生成手段が、前記取得した前記固有情報に基づいて、前記第1情報を生成するとともに前記第2情報及び前記第3情報の少なくとも一方を生成し、当該生成した第1情報を前記サーバ装置に送信する第4工程と、
前記サーバ装置の情報取得手段が、前記端末装置から受信した前記第1情報に関連づけられた前記第2情報及び前記第3情報を、前記サーバ装置の前記記憶手段から取得する第5工程と、
前記サーバ装置のキー情報生成手段が、前記端末装置からのログイン要求に応じて前記情報取得手段が前記第2情報を取得する度に変化するキー情報を生成する第6工程と、
前記サーバ装置の暗号処理手段が、前記キー情報生成手段において生成されたキー情報を前記情報取得手段において取得された第2情報により暗号化し、当該暗号化したキー情報を前記ログイン要求元の前記端末装置へ送信する第7工程と、
前記端末側プログラムに基づく前記端末装置の端末側復号化手段が、前記サーバ装置から受信した前記暗号化されたキー情報を前記第2情報により復号化する第8工程と、
前記端末側プログラムに基づく前記端末装置の端末側暗号化手段が、前記復号化されたキー情報により前記第3情報を暗号化し、当該暗号化した第3情報を前記サーバ装置に送信する第9工程と、
前記サーバ装置の照合手段が、前記ログイン要求元の端末装置から受信した前記暗号化された第3情報と前記情報取得手段によって取得された第3情報とを照合する第10工程と、
を有するログイン方法。
【請求項1】
端末装置のログイン要求を処理するサーバ装置であって、
前記端末装置の情報記憶手段に記憶される前記端末装置の固有の情報に基づいて生成される第1情報と、少なくとも一方が前記固有情報に基づいて生成される第2情報及び第3情報とを関連付けて記憶する記憶部と、
前記端末装置からログイン要求を受信した場合、当該端末装置において実行される端末側プログラムを当該端末装置へ送信するプログラム送信部と、
ログイン要求元の端末装置から前記第1情報を受信した場合、当該受信した第1情報に関連づけられた前記第2情報及び前記第3情報を前記記憶部から取得する情報取得部と、
前記端末装置からのログイン要求に応じて前記情報取得部が前記第2情報を取得する度に変化するキー情報を生成するキー情報生成部と、
前記キー情報生成部において生成されたキー情報を前記情報取得部において取得された第2情報により暗号化し、当該暗号化したキー情報を前記ログイン要求元の端末装置へ送信する暗号処理部と、
前記キー情報により暗号化された前記第3情報を前記ログイン要求元の端末装置から受信した場合、当該受信した第3情報と前記情報取得部において取得された第3情報とを照合する照合部と、
を有し、
前記端末側プログラムは、
前記端末装置の情報記憶手段に記憶された前記固有情報を取得する第1固有情報取得手段、
前記取得した前記固有情報に基づいて、前記第1情報を生成するとともに前記第2情報及び前記第3情報の少なくとも一方を生成し、当該生成した第1情報を前記サーバ装置に送信する情報生成手段、
前記サーバ装置から受信した前記暗号化されたキー情報を前記第2情報により復号化する端末側復号化手段、及び、
前記復号化したキー情報により前記第3情報を暗号化し、当該暗号化した第3情報を前記サーバ装置に送信する端末側暗号化手段、
として前記端末装置を機能させる、
サーバ装置。
【請求項2】
前記情報生成手段は、
所定の付加情報と前記固有情報とを含んだデータに一方向性関数を施した結果に基づいて前記第1情報を生成するとともに、前記所定の付加情報とは異なる付加情報と前記固有情報とを含んだデータに一方向性関数を施した結果に基づいて前記第2情報及び/又は前記第3情報を生成する、
又は、
前記端末装置の情報記憶手段から取得された固有情報の一部に一方向性関数を施した結果に基づいて前記第1情報を生成するとともに、前記取得された固有情報の他の一部に一方向性関数を施した結果に基づいて前記第2情報及び/又は前記第3情報を生成する、
又は、
前記固有情報に一方向性関数を施した結果に基づいて前記第1情報を生成するとともに、前記固有情報に前記第1情報の生成に用いた一方向性関数とは異なる一方向性関数を施した結果に基づいて前記第2情報及び/又は前記第3情報を生成する、
請求項1に記載のサーバ装置。
【請求項3】
前記端末側プログラムは、更に、
前記端末装置にインストールされたオペレーティングシステムの種別を判定する判定手段
として前記端末装置を機能させ、
第1固有情報取得手段は、前記判定手段において判定された前記種別に応じた所定の命令を前記オペレーティングシステムに実行させることにより、前記端末装置を構成するハードウェアに係る固有情報、及び、前記端末装置にインストールされたソフトウェアに係る固有情報の何れか一方若しくは両方を前記端末装置の情報記憶手段から取得する、
請求項2に記載のサーバ装置。
【請求項4】
前記端末装置との通信セッションを識別するためのセッション識別情報を生成し、当該生成したセッション識別情報を前記端末装置に通知するセッション情報生成部を有し、
前記暗号処理部は、前記セッション情報を前記キー情報とともに前記第2情報によって暗号化し、
前記端末側復号化手段は、前記暗号化処理部において前記キー情報とともに暗号化された前記セッション情報を復号化し、
前記端末側プログラムは、更に、
通信セッションの開始時に前記サーバ装置から通知されたセッション情報と前記復号化したセッション情報とを照合し、両者が一致しない場合は前記サーバ装置への前記暗号化された第3情報の送信を禁止するセッション情報照合手段
として前記端末装置を機能させる、
請求項3に記載のサーバ装置。
【請求項5】
前記プログラム送信部は、前記端末側プログラムの正当性を認証するための認証情報を前記端末側プログラムとともに前記端末装置へ送信し、
前記第1固有情報取得手段は、前記端末装置のプログラム正当性確認手段において前記認証情報に基づいて前記端末側プログラムの正当性が確認されることを条件として、前記固有情報の取得を実行する、
請求項4に記載のサーバ装置。
【請求項6】
前記端末側プログラムは、更に、
前記オペレーティングシステムの種別に依らずに取得可能な固有情報を前記端末装置の前記情報記憶手段から取得する第2固有情報取得手段
として前記端末装置を機能させ、
前記情報生成手段は、前記判定手段において前記端末装置にインストールされたオペレーティングシステムの種別を判定できない場合、又は、前記端末装置の前記プログラム正当性確認手段において前記端末側プログラムの正当性を確認できない場合に、前記第2固有情報取得手段で取得された前記固有情報に基づいて、前記第1情報を生成するとともに前記第2情報及び前記第3情報の少なくとも一方を生成し、当該生成した第1情報を前記サーバ装置に送信する、
請求項5に記載のサーバ装置。
【請求項7】
前記記憶部は、前記第1情報の生成並びに当該第1情報に関連付けられた前記第2情報及び/又は前記第3情報の生成に用いられた前記固有情報が前記第1固有情報取得手段において取得された固有情報(以下、「第1固有情報」と記す。)であるか又は前記第2固有情報取得手段において取得された固有情報(以下、「第2固有情報」と記す。)であるかを示すフラグ情報を更に記憶し、
前記情報生成手段は、前記第1情報を前記サーバ装置へ送信する際、前記第1情報に係る前記フラグ情報を前記サーバ装置へ送信し、
前記情報取得部は、前記第1情報とこれに係る前記フラグ情報を前記端末装置から受信した場合、当該受信した第1情報と一致する第1情報を前記記憶部において検索し、当該検索した第1情報について前記記憶部に記憶される前記フラグ情報が当該受信したフラグ情報と一致するならば、当該検索した第1情報に関連付けられた前記第2情報及び前記第3情報を前記記憶部から取得する、
請求項6に記載のサーバ装置。
【請求項8】
前記情報取得部は、前記端末装置から受信した第1情報を前記記憶部の記憶情報から検索できず、かつ、当該受信した第1情報に係る前記フラグ情報が前記第1固有情報に基づいて当該第1情報が生成されたことを示す場合、前記第2固有情報に基づいて生成された前記第1情報の送信を求める送信要求を前記端末装置に送信し、
前記端末装置において前記送信要求が受信された場合、
前記情報生成手段は、前記第2固有情報に基づいて生成した前記第1情報とこれに係る前記フラグ情報を前記サーバ装置に送信し、
前記送信要求に応答した前記端末装置から前記サーバ装置へ前記第1情報が送信され、前記サーバ装置において当該第1情報に関連付けられた前記第2情報により前記キー情報が暗号化され、当該暗号化されたキー情報が前記サーバ装置から前記端末装置へ送信された場合、
前記端末側復号化手段は、当該暗号化されたキー情報を、前記第2固有情報に基づいて生成された前記第2情報により復号化するか、若しくは、前記端末装置の情報入力手段に入力された前記第2情報により復号化し、
前記端末側暗号化手段は、前記第2固有情報に基づいて生成された前記第3情報若しくは前記端末装置の情報入力手段に入力された第3情報を、前記復号化されたキー情報により暗号化して前記サーバ装置に送信するとともに、前記第1固有情報に基づいて生成された前記第2情報及び/又は第3情報を、前記復号化されたキー情報により暗号化して前記サーバ装置に送信し、
前記暗号処理部は、前記第1固有情報に基づいて生成されて前記キー情報により暗号化された前記第2情報及び/又は前記第3情報を、前記キー情報生成部において生成されたキー情報により復号化し、
前記照合部は、前記第2固有情報に基づいて生成されるか若しくは前記端末装置の情報入力手段に入力されて前記キー情報により暗号化された前記第3情報と、前記情報取得部において取得された第3情報とを照合し、
前記情報取得部は、前記第2固有情報に基づいて生成されるか若しくは前記端末装置の情報入力手段に入力された第3情報と前記情報取得部において取得された第3情報とが一致すると前記照合部において判定された場合、前記第1固有情報に基づいて生成されて前記キー情報により復号化された第2情報及び/又は第3情報と、前記第1固有情報に基づいて生成され、前記記憶部の記憶情報から検索できなかった前記第1情報と、前記第2固有情報に基づいて生成され、前記送信要求に応答した前記端末装置から前記サーバ装置へ送信された前記第1情報とを関連付けて前記記憶部に格納し、各第1情報に係る前記フラグ情報を前記記憶部に格納する、
請求項7に記載のサーバ装置。
【請求項9】
前記情報生成手段は、前記第1固有情報に基づいて生成した前記第1情報と前記第2固有情報に基づいて生成した前記第1情報の両方を前記サーバ装置へ送信し、
前記情報取得部は、前記第1固有情報に基づいて生成された前記第1情報と前記第2固有情報に基づいて生成された前記第1情報の両方を前記端末装置から受信した場合、前記第1固有情報に基づいて生成された第1情報に関連付けられた前記第2情報及び前記第3情報を前記記憶部から取得し、前記第1固有情報に基づいて生成された第1情報を前記記憶部の記憶情報から検索できないときは、前記第2固有情報に基づいて生成された前記第1情報に関連付けられた前記第2情報及び前記第3情報を前記記憶部から取得し、
前記暗号処理部は、前記第1情報に関連付けられた前記第2情報が前記情報取得部によって取得された場合、当該第1情報に係る前記フラグ情報と当該第2情報により暗号化したキー情報とを前記端末装置へ送信し、
前記暗号化されたキー情報と前記フラグ情報とが前記端末装置において受信された場合、
前記端末側復号化手段は、前記暗号化されたキー情報を、前記受信されたフラグ情報に係る前記第1情報とともに前記情報生成手段において生成された前記第2情報により復号化するか、若しくは、前記端末装置の情報入力手段に入力された前記第2情報により復号化し、
前記端末側暗号化手段は、前記受信されたフラグ情報に係る前記第1情報とともに前記情報生成手段において生成された前記第3情報、若しくは、前記端末装置の情報入力手段に入力された第3情報を、前記復号化されたキー情報により暗号化して前記サーバ装置に送信する、
請求項7に記載のサーバ装置。
【請求項10】
前記第1固有情報に基づいて生成された第1情報が前記記憶部の記憶情報から検索できないため、前記第2固有情報に基づいて生成された前記第1情報に関連付けられた前記第2情報及び前記第3情報が前記記憶部から取得され、当該取得された第2情報により暗号化された前記キー情報と前記第2固有情報に基づいて生成された前記第1情報に係る前記フラグ情報とが前記サーバ装置から前記端末装置へ送信された場合、
前記端末側復号化手段は、前記暗号化されたキー情報を、前記第2固有情報に基づいて生成された前記第2情報により復号化するか、若しくは、前記端末装置の情報入力手段に入力された前記第2情報により復号化し、
前記端末側暗号化手段は、前記第2固有情報に基づいて生成された前記第3情報若しくは前記端末装置の情報入力手段に入力された第3情報を、前記復号化されたキー情報により暗号化して前記サーバ装置に送信するとともに、前記第1固有情報に基づいて生成された前記第2情報及び/又は第3情報を前記復号化されたキー情報により暗号化して前記サーバ装置に送信し、
前記暗号処理部は、前記第1固有情報に基づいて生成されて前記キー情報により暗号化された前記第2情報及び/又は前記第3情報を、前記キー情報生成部において生成されたキー情報により復号化し、
前記照合部は、前記第2固有情報に基づいて生成されるか若しくは前記端末装置の情報入力手段に入力されて前記キー情報により暗号化された前記第3情報と、前記情報取得部において取得された第3情報とを照合し、
前記情報取得部は、前記第2固有情報に基づいて生成されるか若しくは前記端末装置の情報入力手段に入力された第3情報と前記情報取得部において取得された第3情報とが一致すると前記照合部において判定された場合、前記第1固有情報に基づいて生成されて前記キー情報により復号化された第2情報及び/又は第3情報と、前記第1固有情報に基づいて生成され、前記記憶部の記憶情報から検索できなかった前記第1情報と、前記第2固有情報に基づいて生成された前記第1情報とを関連付けて前記記憶部に格納し、各第1情報に係る前記フラグ情報を前記記憶部に格納する、
請求項9に記載のサーバ装置。
【請求項11】
前記暗号処理部は、前記暗号化したキー情報を前記端末装置へ送信した時刻に対応する時刻情報を、前記暗号化したキー情報を暗号化する前の元のキー情報に関連付けて前記記憶部に格納し、
前記ログイン要求元の端末装置へ前記暗号化されたキー情報が送信された後、当該暗号化されたキー情報に対応する前記元のキー情報に関連付けて前記記憶部に格納される前記時刻情報を、当該端末装置から前記暗号化された第3情報を受信するまで監視し、当該監視対象の時刻情報が示す時刻からの経過時間が所定の時間を超えた場合、当該監視対象の時刻情報に関連付けられた前記元のキー情報を前記記憶部から削除する若しくは無効化する情報無効化部を有する、
請求項7乃至10の何れか一項に記載のサーバ装置。
【請求項12】
前記暗号処理部は、前記ログイン要求元の端末装置から受信した第3情報を、当該端末装置へ暗号化して送信したキー情報に対応する元の前記キー情報により復号化し、
前記照合部は、前記暗号処理部において復号化された第3情報と前記情報取得部において取得された第3情報とが一致しているか否か判定する、
請求項7乃至11の何れか一項に記載のサーバ装置。
【請求項13】
前記暗号処理部は、前記情報取得部において取得された第3情報を、前記ログイン要求元の端末装置へ暗号化して送信したキー情報に対応する元の前記キー情報によって暗号化し、
前記照合部は、前記端末装置から受信した暗号化された第3情報と前記暗号処理部により暗号化された第3情報とが一致しているか否か判定する、
請求項7乃至11の何れか一項に記載のサーバ装置。
【請求項14】
前記キー情報生成部は、前記暗号処理部により暗号化される前の元のキー情報を前記記憶部に格納し、
前記端末装置において暗号化された第3情報が前記暗号処理部において前記元のキー情報により復号化された後、当該元のキー情報を前記記憶部から削除する若しくは無効化する情報無効化部を有する、
請求項12に記載のサーバ装置。
【請求項15】
前記キー情報生成部は、前記暗号処理部により暗号化される前の元のキー情報を前記記憶部に格納し、
前記暗号処理部において前記第3情報が前記元のキー情報により暗号化された後、当該元のキー情報を前記記憶部から削除する若しくは無効化する情報無効化部を有する、
請求項13に記載のサーバ装置。
【請求項16】
前記暗号処理部は、前記照合部の照合結果に基づいて前記端末装置のログイン要求が許可された場合、当該端末装置へ送信する情報の少なくとも一部を前記キー情報により暗号化する処理、及び/又は、当該端末装置から受信する情報の少なくとも一部を前記キー情報により復号化する処理を行う、
請求項7乃至13の何れか一項に記載のサーバ装置。
【請求項17】
前記キー情報生成部は、前記暗号処理部により暗号化される前の元のキー情報を前記記憶部に格納し、
前記端末装置との通信が終了した場合、当該終了した通信において前記暗号処理部が使用した前記元のキー情報を前記記憶部から削除する若しくは無効化する情報無効化部を有する、
請求項16に記載のサーバ装置。
【請求項18】
前記第1情報が、前記端末装置の利用者を識別するために前記端末装置の情報入力手段から入力される利用者識別情報と前記固有情報とを含み、
前記第2情報及び前記第3情報の少なくとも一方が、利用者本人を認証するために前記端末装置の情報入力手段から入力される本人認証情報を含む、
請求項7乃至17の何れか一項に記載のサーバ装置。
【請求項19】
前記情報取得部は、前記端末装置のログオンが許可された場合、前記第1情報に所定の変換を施して生成した新たな第1情報を元の第1情報に関連付けて前記記憶部に格納するとともに、前記新たな第1情報を前記端末装置へ送信し、
前記情報生成手段は、前記端末装置へのログオンが許可された場合に前記サーバ装置から送信された前記新たな第1情報を前記記憶部に格納し、次回の前記サーバ装置へのログイン処理においては、前記情報記憶手段に格納した前記新たな第1情報を前記サーバ装置に送信し、
前記情報取得部は、前記端末装置から前記新たな第1情報を受信した場合、当該受信した新たな第1情報に関連づけられた前記第2情報及び前記第3情報を前記記憶部から取得する、
請求項7乃至18の何れか一項に記載のサーバ装置。
【請求項20】
端末装置と、
前記端末装置のログイン要求を処理するサーバ装置と
を具備し、
前記端末装置は、
当該端末装置の固有の情報を記憶する端末側記憶部と、
前記サーバ装置に対するログイン要求を送信するログイン要求送信部と、
を有し、
前記サーバ装置は、
前記端末装置の前記端末側記憶部に記憶される前記固有情報に基づいて生成される第1情報と、少なくとも一方が前記固有情報に基づいて生成される第2情報及び第3情報とを関連付けて記憶するサーバ側記憶部と、
前記端末装置から前記ログイン要求を受信した場合、当該端末装置において実行される端末側プログラムを当該端末装置へ送信するプログラム送信部と、
前記端末装置から前記第1情報を受信した場合、当該受信した第1情報に関連づけられた前記第2情報及び前記第3情報を前記記憶部から取得する情報取得部と、
前記端末装置からのログイン要求に応じて前記情報取得部が前記第2情報を取得する度に変化するキー情報を生成するキー情報生成部と、
前記キー情報生成部において生成されたキー情報を前記情報取得部において取得された第2情報により暗号化し、当該暗号化したキー情報を前記ログイン要求元の端末装置へ送信する暗号処理部と、
前記キー情報により暗号化された前記第3情報を前記ログイン要求元の端末装置から受信した場合、当該受信した第3情報と前記情報取得部において取得された第3情報とを照合する照合部と、
を有し、
前記端末側プログラムは、
前記端末側記憶部から前記固有情報を取得する固有情報取得手段、
前記取得した前記固有情報に基づいて、前記第1情報を生成するとともに前記第2情報及び前記第3情報の少なくとも一方を生成し、当該生成した第1情報を前記サーバ装置に送信する情報生成手段、
前記サーバ装置から受信した前記暗号化されたキー情報を前記第2情報により復号化する端末側復号化手段、及び、
前記復号化したキー情報により前記第3情報を暗号化し、当該暗号化した第3情報を前記サーバ装置に送信する端末側暗号化手段、
として前記端末装置を機能させる、
コンピュータシステム。
【請求項21】
端末装置がサーバ装置にログインする方法であって、
前記端末装置の情報記憶手段に記憶される前記端末装置の固有の情報に基づいて生成される第1情報と、少なくとも一方が前記固有情報に基づいて生成される第2情報及び第3情報とが、前記サーバ装置の記憶手段に関連付けて記憶された状態で、前記端末装置が前記サーバ装置にログイン要求を送信する第1工程と、
前記サーバ装置が前記端末装置から前記ログイン要求を受信すると、前記サーバ装置のプログラム送信手段が、当該端末装置において実行される端末側プログラムを当該端末装置へ送信する第2工程と、
前記端末側プログラムに基づく前記端末装置の固有情報取得手段が、前記端末装置の前記情報記憶手段から前記固有情報を取得する第3工程と、
前記端末側プログラムに基づく前記端末装置の情報生成手段が、前記取得した前記固有情報に基づいて、前記第1情報を生成するとともに前記第2情報及び前記第3情報の少なくとも一方を生成し、当該生成した第1情報を前記サーバ装置に送信する第4工程と、
前記サーバ装置の情報取得手段が、前記端末装置から受信した前記第1情報に関連づけられた前記第2情報及び前記第3情報を、前記サーバ装置の前記記憶手段から取得する第5工程と、
前記サーバ装置のキー情報生成手段が、前記端末装置からのログイン要求に応じて前記情報取得手段が前記第2情報を取得する度に変化するキー情報を生成する第6工程と、
前記サーバ装置の暗号処理手段が、前記キー情報生成手段において生成されたキー情報を前記情報取得手段において取得された第2情報により暗号化し、当該暗号化したキー情報を前記ログイン要求元の前記端末装置へ送信する第7工程と、
前記端末側プログラムに基づく前記端末装置の端末側復号化手段が、前記サーバ装置から受信した前記暗号化されたキー情報を前記第2情報により復号化する第8工程と、
前記端末側プログラムに基づく前記端末装置の端末側暗号化手段が、前記復号化されたキー情報により前記第3情報を暗号化し、当該暗号化した第3情報を前記サーバ装置に送信する第9工程と、
前記サーバ装置の照合手段が、前記ログイン要求元の端末装置から受信した前記暗号化された第3情報と前記情報取得手段によって取得された第3情報とを照合する第10工程と、
を有するログイン方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【公開番号】特開2012−33145(P2012−33145A)
【公開日】平成24年2月16日(2012.2.16)
【国際特許分類】
【出願番号】特願2011−34020(P2011−34020)
【出願日】平成23年2月18日(2011.2.18)
【出願人】(507122467)株式会社オンサイト (4)
【出願人】(302016174)
【Fターム(参考)】
【公開日】平成24年2月16日(2012.2.16)
【国際特許分類】
【出願日】平成23年2月18日(2011.2.18)
【出願人】(507122467)株式会社オンサイト (4)
【出願人】(302016174)
【Fターム(参考)】
[ Back to top ]