(57)【特許請求の範囲】
【請求項１】
サービスの不正利用を防止するためのプログラムであって、コンピュータを、
ユーザ端末に記憶された第一の鍵とともに、前記ユーザ端末に記憶された第一のユーザ識別子を、ネットワークを介して受信し、
前記第一の鍵を、前記第一のユーザ識別子又は第一の鍵に対応付けて記憶された、第三の鍵とともに、前記ネットワークからのアクセス制限が施された鍵サーバに送信し、
前記鍵サーバにおける前記第一の鍵及び第三の鍵の照合結果として、前記ネットワーク及び鍵サーバからのアクセス制限が施されたサービスサーバにおいて機能を実行するための、第二の鍵を前記鍵サーバから受信し、
前記第一のユーザ識別子及び第二の鍵を前記サービスサーバに送信することで前記サービスサーバにユーザ認証を行わせ、
前記第二の鍵を、前記サービスサーバへの送信後に破棄するように機能させる
プログラム。
【請求項２】
サービスの不正利用を防止するためのプログラムであって、コンピュータを、
ユーザ端末に記憶された第一の鍵とともに、前記ユーザ端末に記憶された第一のユーザ識別子を、ネットワークを介して受信し、
前記第一の鍵を、前記ネットワークからのアクセス制限が施された鍵サーバに送信し、
前記鍵サーバにおける前記第一の鍵の照合結果として、前記ネットワーク及び鍵サーバからのアクセス制限が施されたサービスサーバにおいて機能を実行するための、第二の鍵を前記鍵サーバから受信し、
前記第一のユーザ識別子及び第二の鍵を前記サービスサーバに送信することで前記サービスサーバにユーザ認証を行わせ、
前記第二の鍵を、前記サービスサーバへの送信後に破棄するように機能させ、
前記コンピュータを、
前記第二の鍵を前記鍵サーバから受信した後に、前記ユーザ端末にセッションＩＤを送信して前記ユーザ端末との間でセッションを確立し、
前記ユーザ端末から、前記セッションＩＤを受信すると、前記セッションＩＤの有効性を確認し、
前記セッションＩＤの有効性が確認された場合に、前記サービスサーバにおいて機能を実行するための入力を前記ユーザ端末から受け付けて、当該入力に応じた機能実行依頼を前記サービスサーバに送信して機能を実行させるように更に機能させる
プログラム。
【請求項３】
前記コンピュータを、
前記ユーザ端末から、前記セッションＩＤとともに前記第一のユーザ識別子を受信し、前記セッションＩＤ及び第一のユーザ識別子の有効性を確認するように更に機能させる請求項２に記載のプログラム。
【請求項４】
前記コンピュータを、
前記第一のユーザ識別子又は第一の鍵に対応付けて記憶された、第二のユーザ識別子を、前記第一の鍵とともに前記鍵サーバに送信し、
前記鍵サーバにおける前記第一の鍵及び第二のユーザ識別子の照合結果として、前記第二の鍵を前記鍵サーバから受信するように更に機能させる請求項１〜３の何れかに記載のプログラム。
【請求項５】
前記コンピュータを、
前記コンピュータへの不正侵入を検知した場合に、前記コンピュータ及び鍵サーバの間通信を遮断するように、更に機能させる請求項１〜４の何れかに記載のプログラム。
【請求項６】
サービスの不正利用を防止するためのウェブサーバであって、
ユーザ端末に記憶された第一の鍵とともに、前記ユーザ端末に記憶された第一のユーザ識別子を、ネットワークを介して受信する手段と、
前記第一の鍵を、前記第一のユーザ識別子又は第一の鍵に対応付けて記憶された、第三の鍵とともに、前記ネットワークからのアクセス制限が施された鍵サーバに送信する手段と、
前記鍵サーバにおける前記第一の鍵及び第三の鍵の照合結果として、前記ネットワーク及び鍵サーバからのアクセス制限が施されたサービスサーバにおいて機能を実行するための第二の鍵を、前記鍵サーバから受信する手段と、
前記第一のユーザ識別子及び第二の鍵を前記サービスサーバに送信することで前記サービスサーバにユーザ認証を行わせる手段と、
前記第二の鍵を、前記サービスサーバへの送信後に破棄する手段と、
を備えるウェブサーバ。
【請求項７】
サービスの不正利用を防止するためのウェブサーバであって、
ユーザ端末に記憶された第一の鍵とともに、前記ユーザ端末に記憶された第一のユーザ識別子を、ネットワークを介して受信する手段と、
前記第一の鍵を、前記ネットワークからのアクセス制限が施された鍵サーバに送信する手段と、
前記鍵サーバにおける前記第一の鍵の照合結果として、前記ネットワーク及び鍵サーバからのアクセス制限が施されたサービスサーバにおいて機能を実行するための第二の鍵を、前記鍵サーバから受信する手段と、
前記第一のユーザ識別子及び第二の鍵を前記サービスサーバに送信することで前記サービスサーバにユーザ認証を行わせる手段と、
前記第二の鍵を、前記サービスサーバへの送信後に破棄する手段と、
前記第二の鍵を前記鍵サーバから受信した後に、前記ユーザ端末にセッションＩＤを送信して前記ユーザ端末との間でセッションを確立し、前記ユーザ端末から、前記セッションＩＤを受信すると、前記セッションＩＤの有効性を確認し、前記セッションＩＤの有効性が確認された場合に、前記サービスサーバにおいて機能を実行するための入力を前記ユーザ端末から受け付けて、当該入力に応じた機能実行依頼を前記サービスサーバに送信して機能を実行させる手段と、
を備えるウェブサーバ。
【請求項８】
ネットワークを介してユーザ端末と接続されるウェブサーバと、前記ネットワークからのアクセス制限が施された鍵サーバと、を備えるシステムにおける、サービスの不正利用を防止するための認証方法であって、
前記ウェブサーバが、
ユーザ端末に記憶された第一の鍵とともに、前記ユーザ端末に記憶された第一のユーザ識別子を、前記ネットワークを介して受信し、
前記第一のユーザ識別子又は第一の鍵に対応付けて記憶された、第三の鍵を、前記第一の鍵とともに前記鍵サーバに送信し、
前記鍵サーバが、
前記第一の鍵及び第三の鍵を照合し、
前記ネットワーク及び鍵サーバからのアクセス制限が施されたサービスサーバにおいて機能を実行するための、前記第一の鍵及び第三の鍵に対応付けて記憶された第二の鍵を前記ウェブサーバに送信し、
前記ウェブサーバが、
前記第一のユーザ識別子及び第二の鍵を前記サービスサーバに送信することで前記サービスサーバにユーザ認証を行わせ、
前記第二の鍵を、前記サービスサーバへの送信後に破棄する
認証方法。
【請求項９】
ネットワークを介してユーザ端末と接続されるウェブサーバと、前記ネットワークからのアクセス制限が施された鍵サーバと、を備えるシステムにおける、サービスの不正利用を防止するための認証方法であって、
前記ウェブサーバが、
ユーザ端末に記憶された第一の鍵とともに、前記ユーザ端末に記憶された第一のユーザ識別子を、前記ネットワークを介して受信し、
前記第一の鍵を、前記鍵サーバに送信し、
前記鍵サーバが、
前記第一の鍵を照合し、
前記ネットワーク及び鍵サーバからのアクセス制限が施されたサービスサーバにおいて機能を実行するための、前記第一の鍵に対応付けて記憶された第二の鍵を前記ウェブサーバに送信し、
前記ウェブサーバが、
前記第一のユーザ識別子及び第二の鍵を前記サービスサーバに送信することで前記サービスサーバにユーザ認証を行わせ、
前記第二の鍵を、前記サービスサーバへの送信後に破棄し、
前記コンピュータが、
前記第二の鍵を前記鍵サーバから受信した後に、前記ユーザ端末にセッションＩＤを送信して前記ユーザ端末との間でセッションを確立し、
前記ユーザ端末から、前記セッションＩＤを受信すると、前記セッションＩＤの有効性を確認し、
前記セッションＩＤの有効性が確認された場合に、前記サービスサーバにおいて機能を実行するための入力を前記ユーザ端末から受け付けて、当該入力に応じた機能実行依頼を前記サービスサーバに送信して機能を実行させるように更に機能する
認証方法。
【請求項１０】
ネットワークを介してユーザ端末と接続されるウェブサーバと、前記ネットワークからのアクセス制限が施された鍵サーバと、を備える認証システムであって、
前記ウェブサーバが、
ユーザ端末に記憶された第一の鍵とともに、前記ユーザ端末に記憶された第一のユーザ識別子を、前記ネットワークを介して受信し、
前記第一の鍵を、前記第一のユーザ識別子又は第一の鍵に対応付けて記憶された、第三の鍵とともに前記鍵サーバに送信し、
前記鍵サーバが、
前記第一の鍵及び第三の鍵を照合し、
前記ネットワーク及び鍵サーバからのアクセス制限が施されたサービスサーバにおいて機能を実行するための、前記第一の鍵及び第三の鍵に対応付けて記憶された第二の鍵を前記ウェブサーバに送信し、
前記ウェブサーバが、
前記第一のユーザ識別子及び第二の鍵を前記サービスサーバに送信することで前記サービスサーバにユーザ認証を行わせ、
前記第二の鍵を、前記サービスサーバへの送信後に破棄する
認証システム。
【請求項１１】
ネットワークを介してユーザ端末と接続されるウェブサーバと、前記ネットワークからのアクセス制限が施された鍵サーバと、を備える認証システムであって、
前記ウェブサーバが、
ユーザ端末に記憶された第一の鍵とともに、前記ユーザ端末に記憶された第一のユーザ識別子を、前記ネットワークを介して受信し、
前記第一の鍵を、前記鍵サーバに送信し、
前記鍵サーバが、
前記第一の鍵を照合し、
前記ネットワーク及び鍵サーバからのアクセス制限が施されたサービスサーバにおいて機能を実行するための、前記第一の鍵に対応付けて記憶された第二の鍵を前記ウェブサーバに送信し、
前記ウェブサーバが、
前記第一のユーザ識別子及び第二の鍵を前記サービスサーバに送信することで前記サービスサーバにユーザ認証を行わせ、
前記第二の鍵を、前記サービスサーバへの送信後に破棄し、
前記コンピュータが、
前記第二の鍵を前記鍵サーバから受信した後に、前記ユーザ端末にセッションＩＤを送信して前記ユーザ端末との間でセッションを確立し、
前記ユーザ端末から、前記セッションＩＤを受信すると、前記セッションＩＤの有効性を確認し、
前記セッションＩＤの有効性が確認された場合に、前記サービスサーバにおいて機能を実行するための入力を前記ユーザ端末から受け付けて、当該入力に応じた機能実行依頼を前記サービスサーバに送信して機能を実行させるように更に機能させる
認証システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サービスの不正利用を防止するための、プログラム、ウェブサーバ、認証方法および認証システムに関する。
【背景技術】
【０００２】
従来から、インターネットを利用したサービスが提供されている。このようなサービスでは、事前に登録されたユーザの情報を利用し、登録ユーザごとにサービスを提供しているが、サービスの不正利用への対策が課題となっている。
【０００３】
サービスへのアクセスの認証に関する文献として、例えば特許文献１がある。特許文献１には、ユーザ識別子、機器識別子、及びアプリケーション識別子の組み合わせがアクセスポリシを満たしアプリケーションが認証される場合、ユーザ機器の他のアプリケーションへアクセスを許可すること無く、組織のネットワーク内のリソースへのアプリケーションアクセスを許可するシステムが記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特表２０１６−５１３８５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
サービスの不正利用の例として、例えばユーザをフィッシングサイトに誘導し、ログイン情報を入力させてアカウントを盗難されるケースが想定される。二要素認証を利用することでリスクを低減できるが、登録や複数の情報の管理のわずらわしさから敬遠され、二要素認証を利用しないユーザも多い。
【０００６】
また、クラッキングによりサービスに侵入し、情報を盗んだりサービスを不正に利用したりする犯罪も懸念される。
【０００７】
上記のような現状に鑑みて、本発明は、サービスの不正利用を防止できる新規な技術を提供することを課題とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明は、サービスの不正利用を防止するためのプログラムであって、コンピュータを、
ユーザ端末に記憶された第一の鍵とともに、前記ユーザ端末に記憶された第一のユーザ識別子を、ネットワークを介して受信し、
前記第一の鍵を、前記ネットワークからのアクセス制限が施された鍵サーバに送信し、
前記鍵サーバにおける前記第一の鍵の照合結果として、前記ネットワーク及び鍵サーバからのアクセス制限が施されたサービスサーバにおいて機能を実行するための、第二の鍵を前記鍵サーバから受信し、
前記第一のユーザ識別子及び第二の鍵を前記サービスサーバに送信することで前記サービスサーバにユーザ認証を行わせ、
前記第二の鍵を、前記サービスサーバへの送信後に破棄するように機能させる。
【０００９】
このような構成とすることで、第二の鍵を入手するために必要な第一の鍵及び第一のユーザ識別子がユーザ端末に記憶されるため、ユーザが覚えている他の情報をフィッシングサイト等により盗み取られた場合でも、不正者は第二の鍵を入手できず、サービスの不正利用を防止できる。また、ユーザ自身が複数の情報を管理しなくても、安全性を高めることができる。更に、ウェブサーバ（前記コンピュータ）ともサービスサーバとも異なる鍵サーバに、サービスを利用するための鍵（第二の鍵）を保存し、サービスの利用後にはウェブサーバが鍵を破棄することで、不正者がサービスを利用するには、ウェブサーバ、鍵サーバ及びサービスサーバの全てに侵入する必要が生じ、より安全性を向上できる。
【００１０】
本発明の好ましい形態では、前記コンピュータを、
前記第一のユーザ識別子又は第一の鍵に対応付けて記憶された、第二のユーザ識別子を、前記第一の鍵とともに前記鍵サーバに送信し、
前記鍵サーバにおける前記第一の鍵及び第二のユーザ識別子の照合結果として、前記第二の鍵を前記鍵サーバから受信するように更に機能させる。
このような構成とすることで、サービスの利用に必要なユーザ識別子（第一のユーザ識別子）と鍵サーバに記憶されるユーザ識別子（第二のユーザ識別子）を異ならせることができ、鍵サーバの情報のみではサービスの利用ができなくなる。これにより、仮に悪意のある者に鍵サーバの管理権限を乗っ取られてしまった場合でも、鍵サーバの情報のみではサービスの利用ができないため、不正利用を防ぐことができる。また、サービスの管理者と鍵サーバの管理者が異なる場合に、鍵サーバの管理者等にサービスを不正利用されてしまうことを防止できる。
【００１１】
本発明の好ましい形態では、前記コンピュータを、
前記第一のユーザ識別子又は第一の鍵に対応付けて記憶された、第三の鍵を、前記第一の鍵とともに前記鍵サーバに送信し、
前記鍵サーバにおける前記第一の鍵及び第三の鍵の照合結果として、前記第二の鍵を前記鍵サーバから受信するように更に機能させる。
このような構成とすることで、鍵サーバからサービスを利用するための第二の鍵を入手するために必要な情報が増加し、より安全性を高めることが可能になる。つまり、サービスを不正利用しようとする者は、鍵サーバに保存された第二の鍵を得るために、ウェブサーバ（前記コンピュータ）に保存された第三の鍵を入手する必要があり、結果的に鍵サーバ及びウェブサーバの異なるサーバに侵入する必要が生じるため、攻撃の難易度を高めることができる。
【００１２】
本発明の好ましい形態では、前記コンピュータを、
前記コンピュータへの不正侵入を検知した場合に、前記コンピュータ及び鍵サーバの間の通信を遮断するように、更に機能させる。
このような構成とすることで、仮にウェブサーバに不正侵入された場合でも、鍵サーバが記憶する第二の鍵を入手不可能にすることができ、サービスの不正利用を防止できる。また、ウェブサーバともサービスサーバとも分離された鍵サーバにおいてサービスを利用するための鍵（第二の鍵）を管理するため、ウェブサーバ（前記コンピュータ）及び鍵サーバの間の通信を遮断してもサービスサーバで実行中の処理に影響を与えることなく、不正利用を防止できる。
【００１３】
本発明の好ましい形態では、前記コンピュータを、
前記第二の鍵を前記鍵サーバから受信した後に、前記ユーザ端末にセッションＩＤを送信して前記ユーザ端末との間でセッションを確立し、
前記ユーザ端末から、前記セッションＩＤを受信すると、前記セッションＩＤの有効性を確認し、
前記セッションＩＤの有効性が確認された場合に、前記サービスサーバにおいて機能を実行するための入力を前記ユーザ端末から受け付けて、当該入力に応じた機能実行依頼を前記サービスサーバに送信して機能を実行させるように更に機能させる。
このような構成とすることで、ユーザ端末から機能を実行するための入力を受け付けるたびにユーザ認証を行う必要がなくなり、不要な通信を省くことができる。
【００１４】
本発明の好ましい形態では、前記コンピュータを、
前記ユーザ端末から、前記セッションＩＤとともに前記第一のユーザ識別子を受信し、前記セッションＩＤ及び第一のユーザ識別子の有効性を確認するように更に機能させる。
このような構成とすることで、セッションＩＤと併せて第一のユーザ識別子を確認するため、不要な通信を削減しながら安全性の確保が可能になる。
【００１５】
上記課題を解決するために、本発明は、サービスの不正利用を防止するためのウェブサーバであって、
ユーザ端末に記憶された第一の鍵とともに、前記ユーザ端末に記憶された第一のユーザ識別子を、ネットワークを介して受信する手段と、
前記第一の鍵を、前記ネットワークからのアクセス制限が施された鍵サーバに送信する手段と、
前記鍵サーバにおける前記第一の鍵の照合結果として、前記ネットワーク及び鍵サーバからのアクセス制限が施されたサービスサーバにおいて機能を実行するための第二の鍵を、前記鍵サーバから受信する手段と、
前記第一のユーザ識別子及び第二の鍵を前記サービスサーバに送信することで前記サービスサーバにユーザ認証を行わせる手段と、
前記第二の鍵を、前記サービスサーバへの送信後に破棄する手段と、を備える。
【００１６】
上記課題を解決するために、本発明は、ネットワークを介してユーザ端末と接続されるウェブサーバと、前記ネットワークからのアクセス制限が施された鍵サーバと、を備えるシステムにおける、サービスの不正利用を防止するための認証方法であって、
前記ウェブサーバが、
ユーザ端末に記憶された第一の鍵とともに、前記ユーザ端末に記憶された第一のユーザ識別子を、前記ネットワークを介して受信し、
前記第一の鍵を、前記鍵サーバに送信し、
前記鍵サーバが、
前記第一の鍵を照合し、
前記ネットワーク及び鍵サーバからのアクセス制限が施されたサービスサーバにおいて機能を実行するための、前記第一の鍵に対応付けて記憶された第二の鍵を前記ウェブサーバに送信し、
前記ウェブサーバが、
前記第一のユーザ識別子及び第二の鍵を前記サービスサーバに送信することで前記サービスサーバにユーザ認証を行わせ、
前記第二の鍵を、前記サービスサーバへの送信後に破棄する。
【００１７】
上記課題を解決するために、本発明は、ネットワークを介してユーザ端末と接続されるウェブサーバと、前記ネットワークからのアクセス制限が施された鍵サーバと、を備える認証システムであって、
前記ウェブサーバが、
ユーザ端末に記憶された第一の鍵とともに、前記ユーザ端末に記憶された第一のユーザ識別子を、前記ネットワークを介して受信し、
前記第一の鍵を、前記鍵サーバに送信し、
前記鍵サーバが、
前記第一の鍵を照合し、
前記ネットワーク及び鍵サーバからのアクセス制限が施されたサービスサーバにおいて機能を実行するための、前記第一の鍵に対応付けて記憶された第二の鍵を前記ウェブサーバに送信し、
前記ウェブサーバが、
前記第一のユーザ識別子及び第二の鍵を前記サービスサーバに送信することで前記サービスサーバにユーザ認証を行わせ、
前記第二の鍵を、前記サービスサーバへの送信後に破棄する。
【発明の効果】
【００１８】
本発明によれば、サービスの不正利用を防止できる新規な技術を提供することができる。
【図面の簡単な説明】
【００１９】
【図１】本発明の実施形態における認証システムの構成を示す図である。
【図２】本発明の実施形態における認証システムの各装置へのアクセスに必要な情報及び各装置が記憶する情報を示す表である。
【図３】本発明の実施形態における認証システムの機能ブロック図である。
【図４】本発明の実施形態における認証システムのユーザ登録時の処理を示す図である。
【図５】本発明の実施形態における認証システムのユーザ認証時の処理を示す図である。
【発明を実施するための形態】
【００２０】
以下、図面を用いて、本発明の認証システムについて説明する。なお、以下に示す実施形態は本発明の一例であり、本発明を以下の実施形態に限定するものではなく、様々な構成を採用することもできる。
【００２１】
例えば、本実施形態では認証システム１の構成、動作等について説明するが、同様の構成の方法、装置、コンピュータプログラム等も、同様の作用効果を奏することができる。システムを構成する各装置も本発明の概念に含まれる。また、プログラムは、記録媒体に記憶させてもよい。この記録媒体を用いれば、例えばコンピュータにプログラムをインストールすることができる。ここで、プログラムを記憶した記録媒体は、例えばＣＤ−ＲＯＭ等の非一過性の記録媒体であっても良い。
【００２２】
本発明において、第一のユーザ識別子、第二のユーザ識別子、第一の鍵、第二の鍵及び第三の鍵は、ユーザごとに生成されて登録されるものである。即ち、これらは全てユーザごとに異なっている。
【００２３】
まず、図１及び図２を参照して、本実施形態の認証システムにおけるユーザ認証手順の概要を説明する。
【００２４】
図１は、本実施形態の認証システム１の構成を示す図である。認証システム１は、ウェブサーバ２と、鍵サーバ３と、を備えており、ウェブサーバ２はネットワークＮＷを介して１以上のユーザ端末５と接続される。またウェブサーバ２は、鍵サーバ３及びサービスサーバ４とそれぞれ接続される。ネットワークＮＷとしてはインターネット等が想定される。一方、ウェブサーバ２及び鍵サーバ３の間の通信と、ウェブサーバ２及びサービスサーバ４の間の通信と、はそれぞれ非公開のネットワークを介して行われ、鍵サーバ３及びサービスサーバ４は、それぞれウェブサーバ２との通信のみが許可される。例えば通信先となるウェブサーバ２のＩＰアドレスと通信ポートを特定する形で鍵サーバ３及びサービスサーバ４の通信が許可されることが想定される。即ち、ウェブサーバ２を介さない、鍵サーバ３及びサービスサーバ４の間の直接の通信は不可能である。
【００２５】
なお、鍵サーバ３やサービスサーバ４が、複数の異なるサービスやその第二の鍵を管理し、各サービスについてウェブサーバ２が存在する形態も想定される。このような場合には、鍵サーバ３やサービスサーバ４が、複数のウェブサーバ２のそれぞれと個別に通信を許可されるようにすればよい。
【００２６】
ウェブサーバ２、鍵サーバ３及びサービスサーバ４としては、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）やＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等の演算装置、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等の主記憶装置、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）やＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、フラッシュメモリ等の補助記憶装置、通信手段を含む種々の入出力装置等を備えた、サーバ装置等の一般的なコンピュータ装置を利用することができる。
【００２７】
またユーザ端末５としては、演算装置、主記憶装置、補助記憶装置、ネットワークＮＷへの接続手段や、種々の入出力装置等を備えた、一般的なコンピュータ装置を利用することができる。本実施形態では、例えばスマートフォン、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）、タブレット端末等のような任意のコンピュータ装置を用いることを想定する。本実施形態のユーザ端末５は、ユーザ認証を含むサービスの利用に関する各種の処理を行うための、専用のアプリケーションを記憶している。
【００２８】
なお、ウェブサーバ２、鍵サーバ３、サービスサーバ４及びユーザ端末５は、それぞれ複数のコンピュータが協働して実現される構成としてもよい。
【００２９】
図２に示すように、サービスサーバ４の利用には、ユーザ端末５に保存された第一のユーザ識別子と、鍵サーバ３に保存された第二の鍵と、が必要であり、サービスサーバ４は、この組み合わせによってユーザ認証を行う。
【００３０】
ユーザは、ユーザ端末５のローカルアプリを利用するためのキーフレーズのみを覚えておけばよく、ローカルアプリにログインすると、サービスの利用時に、ユーザ端末５に保存された第一のユーザ識別子及び第一の鍵を、ネットワークＮＷを介してウェブサーバ２に送信する。なお、キーフレーズの形式は問われず、例えばキーフレーズは文字列であってもよいし、ローカルアプリが指紋や虹彩、顔等による生体認証によって利用可能であってもよい。
【００３１】
そして、ウェブサーバ２においては、第一のユーザ識別子又は第一の鍵に対応付けて記憶された、鍵サーバ用の第二のユーザ識別子及び第三の鍵が特定される。
【００３２】
ウェブサーバ２は鍵サーバ３に第二のユーザ識別子、第一の鍵及び第三の鍵を送信し、鍵サーバ３において照合が成功した場合には、第二のユーザ識別子に対応付けて記憶された第二の鍵を鍵サーバ３が送り返す。
【００３３】
そして、ウェブサーバ２が第一のユーザ識別子及び第二の鍵をサービスサーバ４に送信することで、サービスサーバ４においてユーザの認証が行われる。ユーザ認証が成功すると、ユーザ端末からウェブサーバ２に送られた入力に応じて、サービスサーバ４において機能が実行される。
【００３４】
本実施形態では、以上のような処理によってユーザの認証を行うことで、サービスの不正利用を防ぐ。鍵サーバ３及びサービスサーバ４は通信先がウェブサーバ２に限定されており、ウェブサーバ２を介さなければ外部からアクセスできないため、外部からの攻撃を受けにくい。
【００３５】
更に本実施形態では、仮にウェブサーバ２に対して不正侵入されてしまった場合には、その不正侵入を検知してウェブサーバ２及び鍵サーバ３の間の通信を遮断する。これにより、万が一クラッキングにより管理者ユーザのアクセス情報が不正入手されてしまった場合でも、ウェブサーバ２及び鍵サーバ３の間の通信が遮断された瞬間に第二の鍵が入手できなくなり、サービスの不正利用を防ぐことができる。なお、ウェブサーバ２への侵入の検知や、ウェブサーバ２及び鍵サーバ３の間の通信の遮断の処理は、ウェブサーバ２側で行われてもよいし、鍵サーバ３側で行われてもよい。
【００３６】
また、本実施形態ではウェブサーバ２及び鍵サーバ３の間の通信を遮断することにより、仮にウェブサーバ２に不正侵入された場合にもサービスの不正利用を防ぐが、これに加えて、更にウェブサーバ２及びサービスサーバ４の間の通信が同様に遮断されるようにしてもよい。
【００３７】
図３は、本実施形態の認証システム１の機能ブロック図である。ウェブサーバ２は、ユーザ識別子受信手段２１と、ユーザ照合手段２２と、第一の鍵送信手段２３と、セッション管理手段２４と、機能実行依頼送信手段２５と、記憶部２６と、を備える。
【００３８】
鍵サーバ３は、鍵受信手段３１と、鍵照合手段３２と、第二の鍵送信手段３３と、記憶部３４と、を備える。
【００３９】
サービスサーバ４は、ユーザ認証手段４１と、機能実行手段４２と、記憶部４３と、を備える。
【００４０】
ユーザ端末５は、入力手段５１と、出力手段５２と、認証手段５３と、記憶部５４と、を備える。
【００４１】
ユーザ識別子受信手段２１は、ユーザ端末５に記憶された第一の鍵とともに、ユーザ端末５に記憶された第一のユーザ識別子を、ネットワークＮＷを介して受信する手段として機能する。
【００４２】
ユーザ照合手段２２は、ユーザ識別子受信手段２１が受信した第一のユーザ識別子に対応付けて記憶部２６に記憶された第二のユーザ識別子及び第三の鍵を特定する。
【００４３】
第一の鍵送信手段２３は、第一の鍵を、ネットワークＮＷから隔離された鍵サーバ３に送信する手段として機能し、ユーザ識別子受信手段２１が受信した第一の鍵とともに、ユーザ照合手段２２が特定した第二のユーザ識別子及び第三の鍵を、鍵サーバ３に送信する。
【００４４】
鍵サーバ３では、第一の鍵送信手段２３によって送信された、第一の鍵、第二のユーザ識別子及び第三の鍵を、鍵受信手段３１が受信する。
【００４５】
鍵照合手段３２は、鍵受信手段３１が受信した第一の鍵、第二のユーザ識別子及び第三の鍵の組み合わせを照合する。即ち、記憶部３４に記憶された第二のユーザ識別子、第一の鍵及び第三の鍵の組み合わせとの一致を確認する。そして照合に成功した場合、鍵照合手段３２は、受信した第二のユーザ識別子や第一の鍵、第三の鍵に対応付けて記憶部３４に記憶された第二の鍵を特定する。
【００４６】
第二の鍵送信手段３３は、鍵照合手段３２が特定した第二の鍵を、ウェブサーバ２に送り返す。
【００４７】
ウェブサーバ２では、セッション管理手段２４が、鍵サーバ３における第一の鍵の照合結果として、ネットワーク及び鍵サーバ３から隔離されたサービスサーバ４において機能を実行するための第二の鍵を、鍵サーバ３から受信する手段として機能し、第二の鍵送信手段３３が送信した第二の鍵を受信する。
【００４８】
セッション管理手段２４は更に、第二の鍵を鍵サーバ３から受信した後に、ユーザ端末５にセッションＩＤを送信してユーザ端末５との間でセッションを確立する手段、及び、ユーザ端末５から、セッションＩＤを受信すると、セッションＩＤの有効性を確認する手段、としても機能する。本実施形態では、セッション開始時に、セッションＩＤとともに第一のユーザ識別子をユーザ端末５に送信する。また、セッションＩＤの受信時には、併せて第一のユーザ識別子を受信し、セッションＩＤ及び第一のユーザ識別子の組み合わせにより、セッションＩＤの有効性を確認する。
【００４９】
機能実行依頼送信手段２５は、第一のユーザ識別子及び第二の鍵をサービスサーバ４に送信することでサービスサーバ４にユーザ認証を行わせる手段として機能する。また、機能実行依頼送信手段２５は、セッションＩＤの有効性が確認された場合に、サービスサーバ４において機能を実行するための入力をユーザ端末５から受け付けて、当該入力に応じた機能実行依頼をサービスサーバ４に送信して機能を実行させる手段としても機能する。
【００５０】
サービスサーバ４では、ユーザ認証手段４１が、機能実行依頼送信手段２５が送信した第一のユーザ識別子及び第二の鍵を受信して、記憶部４３に記憶された第一のユーザ識別子及び第二の鍵の組み合わせとの一致を確認することで、ユーザ認証を行う。
【００５１】
機能実行時には、機能実行手段４２が、機能実行依頼送信手段２５が送信した機能実行依頼を受信し、指定された機能を実行する。サービスサーバ４において実行される機能としては、任意のサービスにおける様々な処理が含まれる。例えば、暗号資産等のトークンの発行、送受信、残高確認や、データの登録と保存、検索、参照、再生、また、データの販売や流通に関する機能等に関する処理が挙げられる。
【００５２】
ウェブサーバ２は、ユーザ認証の完了後に、第二の鍵を破棄する。このようにウェブサーバ２が第二の鍵を必要以上に保存せず、破棄することにより、安全性を保つことができる。なお、第二の鍵の破棄のタイミングは、サービスサーバ４における機能実行のためにウェブサーバ２で第二の鍵を利用する必要がなくなった時とすることが好ましい。例えば、機能実行依頼の送信のたびにユーザ認証を行う場合には、ウェブサーバ２及びユーザ端末５の間のセッション終了時とすればよい。また、ウェブサーバ２からサービスサーバ４に第二の鍵を送信してユーザ認証を行い、その後はウェブサーバ２とサービスサーバ４との間でセッションを確立して、第二の鍵を必要とせずセッションＩＤの確認により機能を実行する場合には、ユーザ認証の完了時にウェブサーバ２において第二の鍵を破棄することが好ましい。
【００５３】
次に、ユーザ登録及び認証時の処理を、図面を用いて具体的に説明する。図４は、ユーザ登録時の処理の一例を示す図である。ユーザ登録時には、まずステップＳ１０１においてユーザ端末５の入力手段５１が、ユーザからキーフレーズの入力を受け付ける。前述の通り、キーフレーズとしては文字列を受け付けてもよいし、カメラやその他のセンサを用いて、ユーザの生体情報の入力を受け付けてもよい。
【００５４】
次にステップＳ１０２で出力手段５２がネットワークＮＷを介してウェブサーバ２にキーフレーズを送信し、ステップＳ１０３でウェブサーバ２が鍵サーバ３に対するユーザ登録依頼を生成して、ステップＳ１０４でキーフレーズとともに鍵サーバ３に送信する。
【００５５】
鍵サーバ３は、受信したキーフレーズに基づいて第一のユーザ識別子を生成し、ステップＳ１０６でウェブサーバ２に送り返す。
【００５６】
これに対しウェブサーバ２は、サービスサーバ４に問い合わせて登録済みの第一のユーザ識別子を参照し、ステップＳ１０５で生成された第一のユーザ識別子との重複の有無を確認する。
【００５７】
なお、本実施形態では、サービスサーバ４は鍵サーバ３と同一のユーザ識別子生成アルゴリズムを実装しており、ステップＳ１０５における第一のユーザ識別子生成処理は、サービスサーバ４において実行されてもよい。この場合、第一のユーザ識別子生成後すぐにサービスサーバ４において第一のユーザ識別子の重複チェック（ステップＳ１０７）を実行し、結果をサービスサーバ４からウェブサーバ２に送信するようにしてもよい。
【００５８】
登録済みの第一のユーザ識別子との重複がある場合にはステップＳ１０１に戻って再度ユーザにキーフレーズの入力を求める。一方、重複がない場合には、ウェブサーバ２が鍵サーバ３に対して第一の鍵、第二の鍵、第三の鍵及び第二のユーザ識別子の生成依頼を送信する。またサービスサーバ４では、ステップＳ１０８において第一のユーザ識別子を保存し、第二の鍵を生成及び保存する。
【００５９】
ステップＳ１０９では、鍵サーバ３が第一の鍵、第二の鍵、第三の鍵及び第二のユーザ識別子を生成して、相互に対応付けて記憶部３４に格納する。本実施形態の鍵サーバ３及びサービスサーバ４は、第二の鍵を生成する同一のアルゴリズムを実装しているため、ここで生成及び保存される第二の鍵は、サービスサーバ４において保存されたものと同一になる。
【００６０】
そして鍵サーバ３は、ステップＳ１１０で、第一のユーザ識別子、第二のユーザ識別子、第一の鍵及び第三の鍵を、ウェブサーバ２と共有済みの共通鍵で暗号化し、暗号化された、第一のユーザ識別子、第二のユーザ識別子、第一の鍵及び第三の鍵を、ステップＳ１１１でウェブサーバ２に送信する。
【００６１】
ウェブサーバ２は、受信した暗号化データを、鍵サーバ３と共有済みの共通鍵を用いてステップＳ１１２で復号化し、第一のユーザ識別子、第二のユーザ識別子及び第三の鍵を記憶部２６に保存する。第一の鍵はウェブサーバ２には保存せず、続くステップＳ１１３でユーザ端末５に送信する。
【００６２】
ステップＳ１１３では、第一のユーザ識別子及び第一の鍵が、ユーザ端末５に送信され、ステップＳ１１４で記憶部５４に格納される。
【００６３】
以上のようにして、図２に示した情報が、ウェブサーバ２、鍵サーバ３、サービスサーバ４及びユーザ端末５のそれぞれに記憶されることで、ユーザ登録を行うことができる。なお、上記の処理は一例であり、任意の設計変更が可能である。例えば、サービスサーバ４における第一のユーザ識別子及び第二の鍵の生成及び保存（ステップＳ１０８）は、任意のタイミングで行われればよい。
【００６４】
図５は、サービス利用におけるユーザ認証時の処理の一例を示す図である。まずステップＳ２０１で、ユーザ端末５の入力手段５１を介して入力されたキーフレーズを、認証手段５３が確認する。即ち、入力されたキーフレーズを記憶部５４に記憶されたキーフレーズと比較し、一致するかを確認する。
【００６５】
キーフレーズの検証が成功すると、ステップＳ２０２に進んで、ユーザ端末５が、記憶部５４に記憶された第一のユーザ識別子及び第一の鍵をウェブサーバ２に送信する。
【００６６】
ウェブサーバ２では、ユーザ識別子受信手段２１がこれらの情報を受信し、ステップＳ２０３でユーザ照合手段２２が、記憶部２６に登録済みの情報と照合する。そしてステップＳ２０４で、ユーザ照合手段２２が、第一のユーザ識別子に対応付けて記憶された第二のユーザ識別子及び第三の鍵を特定する。
【００６７】
ステップＳ２０５では第一の鍵送信手段２３が、第二のユーザ識別子、第一の鍵及び第三の鍵を、鍵サーバ３に送信する。
【００６８】
鍵サーバ３では、鍵受信手段３１がこれらの情報を受信し、ステップＳ２０６で鍵照合手段３２が、記憶部３４に登録済みの情報と照合して、受信した情報に対応付けて記憶された第二の鍵を特定する。そして第二の鍵送信手段３３が、ステップＳ２０７で第二の鍵を共通鍵で暗号化し、ステップＳ２０８でウェブサーバ２に対して送信する。
【００６９】
ウェブサーバ２では、ステップＳ２０９でセッション管理手段２４が暗号化された第二の鍵を受信して共通鍵で復号化し、メモリ内にのみ一時的に保持する。そしてセッション管理手段２４が、ステップＳ２１０でユーザ端末５にセッションＩＤ及び第一のユーザ識別子を送信してセッションを確立し、ステップＳ２１１ではユーザ端末５がユーザから、サービスサーバ４において機能を実行するための入力を受け付ける。機能を実行するための入力とは、例えば実行する機能を指定したり、処理内容を特定したりする入力を指す。
【００７０】
ここで、ユーザ端末５においては、ステップＳ２１０でセッションＩＤとともに受信した第一のユーザ識別子が、ステップＳ２０２で送信した第一のユーザ識別子と一致する場合にのみ、続くステップＳ２１１で機能を実行するための入力を受け付ける。
【００７１】
次にステップＳ２１２でユーザ端末５が、セッションＩＤ及び第一のユーザ識別子とともに、機能を実行するための入力をウェブサーバ２に送信し、ステップＳ２１３でセッション管理手段２４がセッションＩＤ及び第一のユーザ識別子の組み合わせによりその有効性を確認する。
【００７２】
有効性が確認されると、ステップＳ２１４において、機能実行依頼送信手段２５が、第一のユーザ識別子及び第二の鍵をサービスサーバ４に送信する。そして、ステップＳ２１５で、ユーザ認証手段４１が、第一のユーザ識別子及び第二の鍵の組み合わせによりユーザ認証を行う。
【００７３】
また、ステップＳ２１４で機能実行依頼についても送信され、ステップＳ２１５で機能実行手段４２が機能実行依頼に基づく機能を実行してもよい。機能実行依頼は、第一のユーザ識別子及び第二の鍵とともに送信されてもよいし、第一のユーザ識別子及び第二の鍵によってユーザ認証が行われた後に送信されてもよい。
【００７４】
そして、ユーザ認証が完了し、ウェブサーバ２において第二の鍵を保持する必要がなくなると、ステップＳ２１６でウェブサーバ２は第二の鍵を破棄する。
【００７５】
以上のように、ウェブサーバ２及び鍵サーバ３に保存された情報を用いて、サービスサーバ４でユーザ認証を行うことにより、不正利用を防ぐことができる。
【００７６】
特にウェブサーバ２及びサービスサーバ４とは別の、鍵サーバ３において、サービスサーバ４を利用するための第二の鍵を保存し、ユーザ認証の際にウェブサーバ２を介して第二の鍵を取得する構成としたことにより、仮にウェブサーバ２に不正侵入されてしまっても、ウェブサーバ２及び鍵サーバ３の間の通信を遮断することにより、サービスの不正利用を防ぐことができる。
【符号の説明】
【００７７】
１        ：認証システム
２        ：ウェブサーバ
３        ：鍵サーバ
４        ：サービスサーバ
５        ：ユーザ端末
２１      ：ユーザ識別子受信手段
２２      ：ユーザ照合手段
２３      ：第一の鍵送信手段
２４      ：セッション管理手段
２５      ：機能実行依頼送信手段
２６      ：記憶部
３１      ：鍵受信手段
３２      ：鍵照合手段
３３      ：第二の鍵送信手段
３４      ：記憶部
４１      ：ユーザ認証手段
４２      ：機能実行手段
４３      ：記憶部
５１      ：入力手段
５２      ：出力手段
５３      ：認証手段
５４      ：記憶部
ＮＷ      ：ネットワーク
【要約】
【課題】
サービスの不正利用を防止できる新規な技術を提供すること。
【解決手段】
サービスの不正利用を防止するためのプログラムであって、コンピュータを、ユーザ端末に記憶された第一の鍵とともに、前記ユーザ端末に記憶された第一のユーザ識別子を、ネットワークを介して受信し、前記第一の鍵を、前記ネットワークからのアクセス制限が施された鍵サーバに送信し、前記鍵サーバにおける前記第一の鍵の照合結果として、前記ネットワーク及び鍵サーバからのアクセス制限が施されたサービスサーバにおいて機能を実行するための、第二の鍵を前記鍵サーバから受信し、前記第一のユーザ識別子及び第二の鍵を前記サービスサーバに送信することで前記サービスサーバにユーザ認証を行わせ、前記第二の鍵を、前記サービスサーバへの送信後に破棄するように機能させる。
【選択図】図１【図１】
0006754149.tif 000002
【図２】
0006754149.tif 000003
【図３】
0006754149.tif 000004
【図４】
0006754149.tif 000005
【図５】
0006754149.tif 000006