(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0012】
以下に添付図面を参照して、本発明にかかる認証システムおよびその方法、並びにそのプログラムの実施の形態を詳細に説明する。
【0013】
[システム構成]
図1は、認証システム1000の構成例を示す図である。
図1に示すように、認証システム1000は、ユーザがコンテンツの利用承認を得るためのユーザ用PC(Personal Computer)100と、携帯端末によりユーザを認証するための携帯端末(例えば、スマートフォン)110と、デバイス(例えば、USB(Universal Serial Bus))を用いてユーザを認証するためのデバイス用PC120と、ユーザに応じた認証方式を用いてユーザを認証する認証サーバ200とが、互いにネットワークN1を介して接続されて構成される。ネットワークN1にはまたコンテンツサーバ300が接続される。ネットワークN1は、例えば、WAN(Wide Area Network)等の一般的な通信回線網である。なお、
図1には、1台ずつのユーザ用PC100、携帯端末110、デバイス用PC120を示しているが、実際にはこれら装置が多数台接続される。
【0014】
図1に示すように、ユーザ用PC100は、アプリケーション部101と、表示部102と、通信I/F(インタフェース)部103と、制御部104とを有して構成されている。
【0015】
アプリケーション部101は、ユーザからの利用承認要求を受けて、当該ユーザに対応する認証方式を用いて真正なユーザであると認証された場合に、コンテンツサーバ300に格納されたコンテンツの視聴や動作を実行するアプリケーションである。
【0016】
入力表示部102は、例えば、タッチパネル等の入出力装置から構成され、ユーザから本認証システムに必要な各種情報の入力を受け付けたり、ネットワークN1を介して得られた各種情報、アプリケーション部101により処理された情報、認証に用いられる各種画面を表示する。
【0017】
通信部I/F部103は、例えば、NIC(Network Interface Card)等の通信機器から構成され、ネットワークN1を介した各種情報の送受信を司る。
制御部104は、例えば、CPU(Central Processing Unit)のような処理装置により構成され、ユーザ用PC100の各部の動作を制御する。
【0018】
上記各部は、制御部104がプログラムを実行することにより、これらの機能が実現される。具体的には、以下に示す処理は、CPUが図示しないROM(Read Only Memory)に記憶されているプログラムを読み出して、RAM(Random access memory)にロードして実行することにより実現される。
【0019】
これらのプログラムは、通信部I/F部103を介してネットワークN1からダウンロードされ、RAM上にロードされて、CPUにより実行されるようにしてもよい。或いは、CD(Compact Disk)やDVD(Digital Versatile Disk)等の可搬性を有するコンピュータで読み取り可能な記憶媒体からRAM上に直接ロードされ、CPUにより実行されるようにしてもよい。ユーザ用PC100が有する各部の具体的な動作については、シーケンス図およびフローチャートを用いて後述する。
【0020】
図1に示すように、携帯端末110は、携帯端末用認証部111と、入力表示部112と、通信I/F(インタフェース)部113と、制御部114とを有して構成されている。
携帯端末用認証部111は、ユーザ用PC100から利用承認要求したユーザの認証方式が携帯端末110を用いた認証方式(携帯端末認証)を含む場合に、その認証を行うアプリケーションである。
【0021】
入力表示部112は、認証のための各種情報の入力を受け付けたり、ネットワークN1を介して得られた認証結果等、その他本認証システムで用いられる各種画面を表示する。
【0022】
通信部I/F部113は、ネットワークN1を介した各種情報の送受信を司る。
【0023】
制御部114は、例えばCPUのような処理装置であり、携帯端末110の各部の動作を制御する。
【0024】
上記各部は、制御部114がプログラムを実行することにより、これらの機能が実現される。携帯端末110の各部の具体的な動作については、シーケンス図およびフローチャートを用いて後述する。
【0025】
図1に示すように、デバイス用PC120は、アプリケーション部121と、デバイス用認証部122と、入力表示部123と、通信I/F(インタフェース)部124と、デバイスI/F(インタフェース)部125と、制御部126とを有して構成されている。
【0026】
アプリケーション部121は、ユーザからのコンテンツの利用承認要求を受けて、当該ユーザに対応する認証方式を用いて真正なユーザであると認証された場合に、コンテンツサーバ300に格納されたコンテンツの視聴や動作を実行するアプリケーションである。
【0027】
デバイス用認証部122は、利用承認要求したユーザの認証方式がデバイス用PC120を用いた認証方式(デバイス認証)を含む場合に、その認証を行うアプリケーションである。
【0028】
入力表示部123は、認証のための各種情報の入力を受け付けたり、ネットワークN1を介して得られた認証結果等、その他本認証システムで用いられる各種画面を表示する。
【0029】
通信部I/F部124は、ネットワークN1を介した各種情報の送受信を司る。
【0030】
デバイス部I/F部125は、例えばUSBボードのようなインタフェース機器であり、USB等の各種デバイスの抜き差しを検知する。
【0031】
制御部126は、例えばCPUのような処理装置であり、デバイス用PC120の各部の動作を制御する。
【0032】
上記各部は、制御部126がプログラムを実行することにより、これらの機能が実現される。デバイス用PC120の各部の具体的な動作については、シーケンス図およびフローチャートを用いて後述する。
【0033】
認証サーバ200は、ユーザ用PC100やデバイス用PC120から利用承認要求されたユーザのアカウントに応じて、ユーザの認証方式を選択し、選択した認証方式によりユーザを認証するサーバである。
【0034】
図1に示すように、認証サーバ200は、記憶部201と、通信部202と、認証制御部204と、制御部205とを有して構成されている。また、認証制御部204は、パスワードの一致により認証を行うパスワード認証部2041と、登録済みの端末(ブラウザ)の利用を以ってユーザを特定する認証を行う端末認証部2042と、登録済みの携帯端末の所有を以って利用者を特定する認証を行う携帯端末認証部2043と、登録済みのデバイスの所有を以って利用者を特定する認証を行うデバイス認証部2044とを有している。
【0035】
記憶部201は、HDDやSSD等の一般的な記憶装置から構成され、アカウント認証DB(Data Base)2011を記憶する。記憶部201は、ユーザによるアクセスの認証時間帯および利用承認要求の接続元を確認するためのアクセス許可DB2011と、アクセスが許可されたユーザのアカウントに応じて認証方式を選択するためのアカウント認証DB2012と、ユーザが利用承認に用いるユーザ用PC100、ユーザが認証に用いる携帯端末110、デバイス用PC120を登録する初期登録DB2013とを有している。アクセス許可DB2011(
図2)、アカウント認証DB2012(
図3)、初期登録DB2013(
図5)の具体的な構成については後述する。
【0036】
通信部202は、例えばNICやモデムであり、ネットワークN1を介した各種情報の送受信を司る。アクセス制御部203は、ユーザ用PC100等からのアクセス要求(利用承認要求)を受けて処理を実行する。
【0037】
認証制御部204は、アカウント認証DB2012を参照し、ユーザのアカウントに応じて、パスワード認証部2041、端末認証部2042、携帯端末認証部2043、デバイス認証部2044の中から、予め定められた認証方式を選択して実行させる。
【0038】
パスワード認証部2041は、ユーザを、アカウントIDおよびパスワードにより認証する。
端末認証部2042は、ユーザを、端末認証により認証する。
携帯端末認証部2043は、ユーザを、携帯端末認証により認証する。
デバイス認証部2044は、ユーザを、デバイス認証により認証する。
【0039】
制御部205は、例えばCPUのような処理装置であり、認証サーバ200の各部の動作を制御する。認証サーバ200の各部の具体的な動作については、シーケンス図およびフローチャートを用いて後述する。上記各部は、制御部205がプログラムを実行することにより、これらの機能が実現される。
【0040】
本認証システムでは、ユーザ及びまたは端末の認証に関して、「パスワード認証」、「端末認証」、「携帯端末認証」、「デバイス認証」の4つの認証方式を採用している。
ここで、パスワード認証は、あらかじめ定めたパスワードを入力することによりユーザの認証を行う。その意味では、最も簡便な方法によるユーザの認証方式といえる。また、端末認証は、ユーザ用PC100やデバイス用PC120等の端末が予め認証システムに登録されたものと同一であるかを認証する。
【0041】
携帯端末認証は、ユーザ用PC100等の設置場所や使用時間帯といった使用環境が妥当であるかを、定められた携帯端末を用いてユーザを認証する。複数のユーザがユーザ用PC100を共有する環境にある場合でも、ユーザを認証することができる。この認証方式は、ユーザ自らが予め携帯端末に登録した生体情報やパスワード等の個人情報を用いてユーザを認証するものである。携帯端末は普及率が高いため、BYOD(Bring Your Own Device)環境で業務を遂行するユーザも多い。そこで、「携帯端末認証」を採用することにより、ユーザのみが知り得る個人情報を認証サーバ200に登録しないで、少ないリスクで容易にユーザ本人を認証することができる。
【0042】
デバイス認証は、デバイス用PC120に装着されるUSBのようなデバイスが、初期登録DB2013に予め登録されたデバイス認証情報を有しているかを確認する認証である。ユーザ毎に持たせる認証デバイス130のデバイス認証情報を変えることで、複数のユーザがそれぞれ所持する認証デバイス130をデバイス用PC120に装着して認証を受けることができる。そのため、コストをかけることなく簡便な方法でユーザの認証を行って、デバイス用PC120を複数のユーザが共用することが可能である。
【0043】
コンテンツサーバ300は、認証サーバ200が真正であると認証したユーザ用PC100、デバイス用PC120へ、要求されたコンテンツを提供する。
【0044】
[認証管理方式]
図2は、アクセス許可DB2011の例を示す図である。
図2に示すように、アクセス許可DB2011は、アカウントごとに、接続元のIPアドレスからのアクセスを許可する条件を示す接続元条件と、アクセスを許可する時間帯を示す時間条件とが対応付けて記憶されている。なお、IPアドレスはそれを有する端末の場所を表すとも言えることから、上記接続条件を場所的条件ということができる。
【0045】
図2において、アカウントIDが「E2」のユーザについて、例えば、IPアドレスが「192.168.0.0/24」であるユーザ用PC100からアクセスがあった場合に、接続元条件としては許可されることを示している。さらに、その接続が勤務時間帯である「9:00〜17:00」である場合に、時間条件としては許可されることを示している。すなわち、アカウントIDが「E2」のユーザは、これらの接続元条件と時間条件とが許可されない限り、後述するユーザの認証処理が行われない。
【0046】
また、例えば、アカウントIDが「E2」のユーザは、例えば、IPアドレスが「192.168.20.0/24」であるユーザ用PC100からは、接続時間に関わらずアクセスが許可されないことを示している。さらに、接続時間が深夜時間帯である「0:00〜5:00」である場合は、接続元のIPアドレスに関わらずアクセスが許可されないことを示している。このように、「だれが」、「いつ」、「どこから」利用承認要求を行っているのかを確認することにより、認証システム1000に不正にアクセスするユーザを、各認証部による認証処理を行う前に、事前に排除することができる。
【0047】
図3は、アカウント認証DB2012の例を示す図である。
図3に示すように、アカウント認証DB2011は、アクセスが許可されたユーザのアカウントと、そのユーザの認証方式と、そのアカウントの認証を許可するための場所的な条件を示す認証接続元アドレスと、当該認証要求を行ったアカウントの認証を許可するための時間的な条件を示す認証接続時間とが対応付けて記憶されている。
【0048】
図3では、例えば、アカウント「C」のユーザは、「パスワード認証」、「携帯端末認証(スマホ認証)」の2種類の認証方式による認証が必要であることを示している。
【0049】
また、例えば、アカウント「F2」のユーザは、「端末認証」、「携帯端末認証」の2種類の認証方式による認証が必要であることを示している。さらに、このユーザについては、認証接続元アドレスとして定められた「192.168.0.0/24」以外のアドレスからアクセスされている場合に、携帯端末認証を行うことを示している。
【0050】
また、例えば、アカウント「F3」のユーザは、「端末認証」、「携帯端末認証」の2種類の認証方式による認証が必要であることを示している。さらに、このユーザについては、認証接続時間として定められた「09:00〜17:00」(勤務時間内)以外の時間にアクセスされている場合に、携帯端末認証を行うことを示している。
【0051】
また、例えば、アカウント「G2」のユーザは、「端末認証」、「デバイス認証」の2種類の認証方式による認証が必要であることを示している。さらに、このユーザについては、認証接続元アドレスとして定められた「192.168.0.11/32」のアドレスからアクセスされている場合は、デバイス認証を行わない(スルーする)ことを示している。
【0052】
また、例えば、アカウント「G3」のユーザは、「端末認証」、「デバイス認証」の2種類の認証方式による認証が必要であることを示している。さらに、このユーザについては、認証接続時間として定められた「09:00〜17:00」(勤務時間内)にアクセスされている場合は、デバイス認証を行わない(スルーする)ことを示している。
【0053】
このように、この認証システムでは、利用承認要求に対してユーザのアカウントに応じて、様々な認証方式の中からユーザに適した認証方式の組を選択し、そのユーザを認証することができる。さらに、アカウントごとに場所的条件や時間的条件を定めることにより、アカウントのユーザについて個別の認証を行い、ユーザごとに時間的、場所的な条件を用いて認証することができる。しかも、認証方式の組を用いた認証において、最も強固なセキュリティを担保する認証方式(「パスワード認証」かつ「端末認証」かつ「携帯端末認証」)から、最も利便性の高い認証方式(「パスワード認証」のみ)まで、幅広い環境に最適なセキュリティを提供することができる。
【0054】
本認証システムでは、
図2に示したアクセス許可DB2011を用いて利用承認を行うとともに、
図3に示したアカウント認証DB2012を用いて認証方式の組を選択して認証するので、ユーザの種別ごとに、時間的条件や場所的条件に応じた認証方法で認証することができる。すなわち、本実施例においては、アクセス許可DB2011を用いて時間的条件及び場所的条件(第1条件という)を満たすかの承認を行い、その後にアカウント認証DB2012を用いて認証方式(第2条件)に基づく認証を行うので、前者を第1認証、後者を第2認証ということができる。さらに後者の第2認証においてもF2,F3,G2,G3のアカウントでは、場所的条件又は時間的条件の認証を行っているので、これらはより厳格な認証と言える。
【0055】
図4は、ユーザの種別ごとに採用される認証方式の例を示す図である。
図4では、ユーザの種別が「社員」、「非社員」について、場所的条件(社内外)と時間的条件の関係を示している。
図4に示すように、ユーザのアカウントが「社員」である場合、社内からのアクセスの場合には、勤務時間内、勤務時間外を問わず、アカウントおよびパスワード認証(利便性のある軽度な認証方式)を行う。これに対して、社外からのアクセスの場合には、いずれの時間帯でも、上記の認証方式に加えて携帯端末認証(スマホ認証)を行う。この認証は3つの認証方式を行うことから強度の認証方式と言える。また、ユーザのアカウントが「非社員」である場合、社内からのアクセスの場合には、勤務時間内であればアカウントおよびパスワード認証を行う一方、社外からのアクセスの場合には、勤務時間内であれば、さらに端末認証および携帯端末認証(スマホ認証)を行う。そして、勤務時間外の場合は、社内、社外を問わずアクセスを不可とする。
【0056】
このように、アクセス許可DB2011とアカウント認証DB2012を用いた認証を行うことにより、真正なユーザについては簡便な認証方式とする如く、ユーザの種別や場所的条件、時間的条件に応じて認証方式を変えることができる。すなわち、ユーザの種別に応じて認証方式を動的に変える設定401、場所により認証方式を動的に変える設定402、時間により認証方式を動的に変える設定403が可能となる。従来は、アカウントを認証するにあたり、認証基盤、VPN、認証局等の各システムを組み合わせることが必要であったが、本実施例の認証システムでは、認証サーバ200においてユーザごとにセキュリティの高い認証を実現することができる。従来のようなシステムの組み合わせによる認証の場合、一般的には、導入コストが高価となったり、運用管理が煩雑になり、アカウントの定義や連携をはじめ、認証のための設定に誤りが生じるといったリスクがあるが、本実施例の認証システムによれば、安価な導入コストで、容易かつ安全な運用管理が可能となる。
【0057】
図5は、初期登録DB2013の例を示す図である。
図5に示すように、初期登録DB2013は、本認証システムを利用するユーザのアカウントと、そのユーザのパスワード情報、端末認証情報、携帯端末認証情報、デバイス認証情報とが対応付けて記憶されている。
図5では、例えば、アカウント「A」のユーザは、パスワード情報としてパスワード「123」が登録され、端末認証情報として割符「α(α1、α2)」が登録され、携帯端末認証情報として生体コード「a」が登録され、デバイス認証情報としてUSBのシリアルナンバー「X0001」が登録されていることを示している。なお、
図5では、すべての認証方式について登録された場合を例示しているが、少なくとも、ユーザのアカウントに対応する認証方式について登録されていればよい。
【0058】
[認証制御]
図6は、認証システム1000で行われる処理の処理手順を示すシーケンス図である。
図6に示すように、まず、ユーザ用PC100のアプリケーション部101は、ユーザがアカウントを入力するためのアカウントID入力画面を入力表示部102に表示する(S601)。
【0059】
図7は、アカウントID入力画面の例を示す図である。
図7に示すように、アカウントID入力画面は、ユーザ用PC100から利用承認要求するユーザのアカウントを入力するための入力欄と、入力されたアカウントIDを認証サーバ200に送信するためのOKボタンとが表示されている。
【0060】
ユーザ用PC100のアプリケーション部101は、OKボタンが押下されると、入力されたアカウントIDを、認証サーバ200に送信する。認証サーバ200の認証制御部204は、ユーザ用PC100から受信したアカウントIDをセッションに登録する(S602)。具体的には、認証制御部204は、アカウントIDに対応するセッションIDを付与したセッション管理テーブルの一例であるセッションデータを生成し、記憶部201に保持する。
【0061】
図8は、セッションデータの例を示す図である。セッションは、ユーザが利用承認要求を行ってから、当該要求に対する結果が得られるまでにネットワークを介した1つの一連の処理であり、セッションデータは、1つの一連のセッションにおいて行われる処理の結果を含むデータである。セッションデータにより保持される項目は、以下に示す処理の結果に応じて変化する。ここでは、
図8(a)に示すように、セッションIDとアカウントIDとを対応付けたセッションデータが保持される。
図8(a)では、アカウントID「E」について、セッションID「S0001」が付与されたことを示している。認証制御部204は、セッションIDに対応付けたアカウントIDをキーにしてアクセス許可DB2011を参照し、当該アカウントIDのユーザがアクセスするための接続元条件および時間条件を読み出し、これらの条件を満たしたアクセスであるか否かを判定する(S603、S604)。
【0062】
S603において、認証制御部204がこれらの条件を満たしたアクセスではないと判定した場合(S603;No、または/およびS604;No)、その旨をユーザ用PC100に送信し、ユーザ用PC100のアプリケーション部101が、認証エラー画面を入力表示部102に表示する(S605)。
【0063】
図9は、認証エラー画面の例を示す図である。
図9に示すように、認証エラー画面は、認証が失敗した旨が表示されている。ユーザは、認証エラー画面が表示されることにより、自身が本認証システムへのアクセス許可条件を満たしていないことを認識することができる。
【0064】
認証制御部204は、利用承認要求されたユーザのアカウントが接続元条件および時間条件(第1条件)のいずれの条件も満たしていると判定した場合(S603;Yes、S604;Yes)、さらに、アカウントIDをキーにしてアカウント認証DB2012を参照し、当該アカウントIDに対応するに認証方式(第2条件)を読み出す(S606)。
【0065】
例えば、認証制御部204は、アカウントIDが「E」である場合、認証方式として、「パスワード認証」、「デバイス認証」を読み出す。このとき、認証制御部204は、S602で生成したセッションデータに対して、各認証方式の認証結果を示す項目を追加し、認証方式として採用しない項目に、認証に使用しないことを示す情報「−」を書き込む。
図8(b)は、各認証方式の認証結果を示す項目を追加したセッションデータの例を示す図である。
図8(b)では、
図8(a)に示したセッションデータに追加された各認証方式の認証結果を示す項目のうち、採用されない「端末認証」、「携帯端末認証」に「−」が書き込まれていることがわかる。
【0066】
さらに、認証制御部204は、アカウントIDをキーにしてアカウント認証DB2012を参照し、当該アカウントIDのユーザが、接続元アドレスまたは/および接続時間を満たしたユーザであるか否かを判定する(S607、S608)。ここで、接続元アドレスまたは/および接続時間を満たしたユーザとは、これらの条件を満たすことにより、各認証方式による認証を実行しない(スルーする)ことが可能なユーザのことである。
【0067】
認証制御部204は、アカウントIDのユーザが、認証元接続アドレスまたは/および認証接続時間を満たしたユーザであると判定した場合(S607;Yes、S608;Yes)、S615に進む。一方、認証制御部204は、アカウントIDのユーザが、少なくとも接続元アドレスまたは接続時間のいずれかを満たしていないと判定した場合(S607;No、またはS608;No)、S609に進む。
【0068】
認証制御部204は、アカウントIDのユーザが、少なくとも接続元アドレスまたは接続時間のいずれかを満たしていないと判定した場合(S607;No、またはS608;No)、その旨および当該アカウントIDに対応付けて定義されている認証方式でユーザの認証を行う指示をユーザ用PC100に送信し、ユーザ用PC100のアプリケーション部101は、当該指示に従って、各認証部にリダイレクトさせる(S609)。例えば、アカウントIDに対応する認証方式が「パスワード認証」、「デバイス認証」である場合、アプリケーション部101は、まず、「パスワード認証」を実行するパスワード認証部2041を呼び出し、パスワード認証部2041による認証処理を実行させる。端末認証部2042による認証、携帯端末認証部2043による認証、デバイス認証部2044による認証を行う場合も同様である。
【0069】
各認証部は、認証サーバ200の認証制御部204から実行指示を受けると、各認証方式による認証を実行する(S610)。各認証部による認証処理は、例えば、CGI(Common Gateway Interface)プログラムにより実現される。各認証方式については、フローチャートを用いて後述する。
【0070】
S610において、各認証部により認証が実行され、認証結果がセッションデータに書き込まれると、各認証部は、認証結果が得られた旨をユーザ用PC100に送信し、ユーザ用PC100のアプリケーション部101は、認証制御部204にリダイレクトさせる(S611)。
【0071】
そして、認証制御部204は、セッションチェックを開始し(S612)、各認証部による認証結果が認証OK(許可)であるか否かを判定する(S613)。例えば、認証制御部204は、認証方式が「パスワード認証」である場合、
図8(c)に示すように、セッションデータのうち、パスワード認証部2041による認証処理結果を示す項目に認証OK(○印)が書き込まれていることを確認する。
【0072】
認証制御部204は、各認証部による認証結果が認証OKでない(不許可)と判定した場合(S613;No)、その旨をユーザ用PC100に送信し、ユーザ用PC100のアプリケーション部101が、
図9に示した認証エラー画面を入力表示部112に表示する(S614)。
【0073】
一方、認証制御部204は、各認証部による認証結果が認証OKであると判定した場合(S613;Yes)、さらに、セッションデータに追加した未実施の認証方式があるか否かを判定する(S615)。認証制御部204は、未実施の認証方式があると判定した場合(S615;Yes)、S607に戻り、他の認証方式について、以降の処理を繰り返す。
【0074】
認証制御部204は、未実施の認証方式がないと判定した場合(S615;No)、すなわち、
図8(d)に示すように、セッションデータの各認証部のすべての認証処理結果を示す項目に認証OKが書き込まれていることが確認できた場合、SSO(シングル・サイン・オン)処理を実行する(S616)。なお、本例では、SSOについて例示したが、HTTP(Hypertext Transfer Protocol)のリバースプロキシ処理を実行してもよい。
【0075】
認証制御部204は、シングル・サイン・オン先にリダイレクトさせる指示をユーザ用PC100に送信し(S617)、ユーザ用PC100のアプリケーション部101は、当該指示に従って、コンテンツサーバ300のサイトに認可要求を送信し、コンテンツサーバ300は、当該認可要求にしたがって、上記サイトへのログイン処理を実行する(S618)。コンテンツサーバ300は、ログイン処理を行った後のサイト画面をユーザ用PC100に送信し、ユーザ用PC100のアプリケーション部101は、当該サイト画面を表示部102に表示する(S619)。S619の処理が終了すると、
図6に示す全ての処理が終了し、利用承認され、かつユーザに応じて定められたすべての認証方式により認証されたアカウントのユーザのみが、コンテンツサーバ300のコンテンツにアクセスすることができるようになる。続いて、各認証方式による認証について説明する。
【0076】
[各認証方式による認証]
(パスワード認証)
パスワード認証部2041は、あらかじめ定められたパスワードを用いてユーザの認証を行う。パスワード認証部2041は、
図6のS610において、認証制御部204から指示を受けると、アカウントIDをキーにして初期登録DB2013を参照し、パスワード認証部2041が入力要求して入力されたパスワードが、初期登録DB2013に登録されているパスワードであるか否かを判定する。パスワード認証部2041は、パスワードの入力を要求する場合、
図13(a)に示すようなパスワード入力画面を出力し、ユーザ用PC100のアプリケーション部101がパスワード入力画面を入力表示部102に表示する。
【0077】
パスワード認証部2041は、入力されたパスワードが、初期登録DB2013に登録されているパスワードであると判定した場合、認証OKとして、セッションデータの該当項目に認証結果を書き込む(
図8(c)、
図8(d))。なお、パスワード認証部2041は、入力されたパスワードが、初期登録DB2013に登録されているパスワードでないと判定した場合、認証NG(不許可)として、その旨の認証結果をセッションデータの該当項目に書き込む。
【0078】
このように、「パスワード認証」では、あらかじめ定めたパスワードを入力するだけで認証を行うため、本認証システムへのアクセスが許可されたユーザに対して、最も簡便な方法で認証することができ、ユーザに対する認証のための操作負担を軽減することができる。
【0079】
(端末認証)
図10は、端末認証処理の処理手順を示すシーケンス図である。以下では、端末認証に用いる端末認証情報(この例では、サーバ側およびクライアント側の割符)が、あらかじめ初期登録DB2013に登録され、クライアント側の割符については、ユーザ用PC100にも登録されているものとする。
【0080】
図10に示すように、端末認証部2042は、
図6のS610において、認証制御部204から指示を受けると、アカウントIDをキーにして初期登録DB2013を参照し、アカウントIDに対応する端末認証情報として、サーバ側の割符(
図5では、例えば、α1)を読み出すとともに、PC側の割符を要求する(S1001)。
【0081】
ユーザ用PC100のアプリケーション部101は、あらかじめメモリに登録されているクライアント側の割符(
図5では、例えば、α2)を読み出して、認証サーバ200にその割符を送信する(S1002)。
【0082】
認証サーバ200の端末認証部2042は、ユーザ用PC100から受け取ったクライアント側の割符と、サーバ側の割符とを突合せ、両者が符合するか否かを判定する(S1003)。端末認証部2042は、両者が符合すると判定した場合には認証OKとして、セッションデータの該当項目に認証結果を書き込む(
図8(c)、
図8(d))。一方、端末認証部2042は、両者が符合しないと判定した場合、認証NGとして、その旨の認証結果をセッションデータの該当項目に書き込む(S1004)。
【0083】
図10では、割符を用いた端末認証について例示したが、ユーザ用PC100のMACアドレスやクライアント証明書を用いた端末認証を行ってもよい。また、必ずしも割符を用いなくてもよい。
【0084】
このように、端末認証では、一般的に使用環境が定められた端末を認証するため、複数のユーザに1つのアカウントが割り当てられ、PCを共有する環境にある場合でも、そのアカウントを認証することができる。
【0085】
(携帯端末認証)
図11は、携帯端末認証処理の処理手順を示すシーケンス図である。
図11に示すように、携帯端末認証部2043は、
図6のS610において、認証制御部204から指示を受けると、アカウントIDをキーにして初期登録DB2013を参照し、アカウントIDに対応する携帯端末認証情報(例えば、パスコード)を読み出し(S1101)、携帯端末110に対して、認証要求するためのプッシュ通知を行う(S1102)。認証制御部204は、プッシュ通知を行うと、携帯端末110に対しては、携帯端末認証情報による認証を行うための認証画面を送信し、携帯端末100の携帯端末用認証部111が、入力表示部112に認証画面を表示する(S1103)。一方、認証制御部204は、ユーザ用PC100に対しては、携帯端末による認証中であることを示す携帯端末認証通知画面を送信し、ユーザ用PC100のアプリケーション部101が、入力表示部102に携帯端末認証通知画面を表示する(S1104)。
【0086】
図13(b)は、携帯端末に表示される画面の例を示す図である。
図13(b)右は、S1103における認証画面の例であり、
図13(b)左は、S1104における携帯端末認証通知画面の例である。
【0087】
図13(b)右に示すように、認証画面には、携帯端末認証情報による認証を実行する認証ボタンと、認証を実行せずに処理を終了させる閉じるボタンとが表示されている。ユーザが認証ボタンを押下すると、携帯端末用認証部111は、携帯端末認証情報により認証を行う画面(例えば、パスコードの入力画面)を表示し、入力された情報を認証サーバ200に送信する。このように、プッシュ通知により携帯端末110に認証画面が表示されることにより、ユーザに対する認証を直ちに行うことができる。
【0088】
また、
図13(b)左に示すように、携帯端末認証通知画面には、携帯端末110により認証するために、携帯端末100にプッシュ通知を行った旨、および確認を促す旨が表示されている。このように、ユーザ用PC100に携帯端末認証通知画面が表示されることにより、ユーザは携帯端末110により認証を実行するために必要な操作を把握することができる。
【0089】
その後、携帯端末用認証部111が、入力表示部112から入力された携帯端末認証情報を認証サーバ200に送信すると、認証サーバ200の携帯端末認証部2043は、初期登録DB2013に登録されている携帯端末認証情報と、入力された携帯端末認証情報とを突合せ、両者が符合するか否かを判定する(S1105、S1106)。携帯端末認証部2043は、両者が符合すると判定した場合には認証OKとして、セッションデータの該当項目に認証結果を書き込む(S1106;Yes、S1108、
図8(c)、
図8(d))。一方、端末認証部2042は、両者が符合しないと判定した場合(S1106;No、認証NGとして、その旨の認証結果をセッションデータの該当項目に書き込むとともに、
図9に示した認証エラー画面と同様の画面を携帯端末110に送信し、携帯端末110の携帯端末用認証部111が、入力表示部112にその認証エラー画面を表示する(S1107)。
【0090】
携帯端末認証部2043は、セッションデータに書き込んだ認証結果を読み出し、認証結果が認証OKであるか否かを判定する(S1109、S1110)。携帯端末認証部2043は、認証結果が認証OKであると判定した場合(S1110;Yes)、さらに有効時間が未経過であるか否かを判定する(S1111)。有効時間は、例えば、S1102においてプッシュ通知されてからS1110において認証OKと判定されるまでの時間であり、携帯端末110からの認証操作がタイムアウトする時間(例えば、4分間)である。なお、携帯端末認証部2043は、認証結果が認証OKでない、すなわち認証NGと判定した場合(S1110;No)、S1112に進み、認証結果を確定させる。
【0091】
携帯端末認証部2043は、有効時間が未経過であると判定した場合(S1111;Yes)、S1107、S1108で書き込んだ認証結果を確定させる(S1112)。一方、携帯端末認証部2043は、有効時間が未経過でない、すなわち有効時間を過ぎたと判定した場合(S1111;No)、S1104に戻り、以降の処理を続行する。この場合、S1108において認証結果として認証OKがセッションデータに書き込まれたとしても、携帯端末認証部2043は、有効時間が経過していると判断し、S1112において、認証NGに書き換えて認証結果を確定させる。
【0092】
なお、この例ではステップS1102おいてプッシュ通知を送信しているが、プッシュ通知に限らず、携帯端末110がプル通知をしてもよい。
【0093】
このように、携帯端末認証では、携帯端末のユーザが自ら登録した個人情報を用いてユーザを認証するので、個人情報を認証サーバ200に登録することなく、少ないリスクで容易にユーザ本人を認証することができる。また、ユーザにとって使い慣れている携帯端末により認証を行うため、違和感なく認証のための操作を行うことができる。
【0094】
(デバイス認証)
図12は、デバイス認証処理の処理手順を示すシーケンス図である。
図12に示すように、デバイス認証部2044は、
図6のS610において、認証制御部204から指示を受けると、アカウントIDをキーにして初期登録DB2013を参照し、アカウントIDに対応するデバイス認証情報(例えば、USBのシリアルナンバー)を読み出し、読み出したデバイス認証情報をデバイス用PC120に送信し(S1201)、デバイス用PC120に対して、デバイスによる認証を促すデバイス認証通知画面を送信し、デバイス用PC120のデバイス用認証部121が、ブラウザを介して入力表示部122にデバイス認証通知画面を表示する(S1202)。
【0095】
S1202において、デバイス用認証部121が、デバイスI/F部124にデバイスが挿入されたことを検知すると、デバイス認証を実行するためのデバイス認証実行画面を入力表示部122に表示する(S1203)。
【0096】
図13(c)は、デバイス用PCに表示される画面の例を示す図である。
図13(c)左は、S1202におけるデバイス認証通知画面の例であり、
図13(c)左は、S1203におけるデバイス認証実行画面の例である。
【0097】
図13(c)左に示すように、デバイス認証通知画面には、デバイス認証するために、デバイス用PC120に、あらかじめ定められたデバイス130を挿入して認証を促す旨が表示されている。このように、デバイス用PC120にデバイス認証通知画面が表示されることにより、ユーザはデバイス用PC120によりデバイス認証するために必要な操作を把握することができる。
【0098】
また、
図13(c)右に示すように、デバイス認証実行画面には、デバイス130を挿入するドライブを選択するためのドライブ選択欄と、デバイス認証情報による認証を実行する認証ボタンと、認証を実行せずに処理を終了させるキャンセルボタンとが表示されている。このように、デバイス用PC120にデバイス認証実行画面が表示されることにより、ユーザはデバイス用PC120によりデバイス認証するドライブを選択した上でデバイス認証することができる。
【0099】
S1203において、ユーザにより認証ボタンが押下されると、デバイス用認証部121は、S1201で認証サーバ200から送信されたデバイス認証情報と、S1203で挿入されたデバイスの認証情報とを突合せ、両者が符合するか否かを判定し、その認証結果を認証サーバ200に送信する。なお、本例では、デバイス用PC120のデバイス用認証部121がデバイス認証を実行しているが、認証サーバ200のデバイス認証部2044がデバイス認証を実行してもよい。
【0100】
認証サーバ200のデバイス認証部2044は、デバイス用PC120から認証結果を受信すると、セッションデータの該当項目に認証結果を書き込む(S1204、
図8(c)、
図8(d))。
【0101】
デバイス認証部2044は、セッションデータに書き込んだ認証結果を読み出し(S1205)、認証結果が認証OKであるか否かを判定する(S1206)。デバイス認証部2044は、認証結果が認証OKであると判定した場合(S1206;Yes)、さらに有効時間が未経過であるか否かを判定する(S1207)。有効時間については、
図11に示した携帯端末認証の場合と同様であるため、ここではその説明を省略する。なお、デバイス認証部2044は、認証結果が認証OKでない、すなわち認証NGと判定した場合(S1206;No)、S1208に進み、認証結果を確定させる。
【0102】
デバイス認証部2044は、有効時間が未経過であると判定した場合(S1207;Yes)、S1204で書き込んだ認証結果を確定させる(S1208)。一方、携帯端末認証部2043は、有効時間が未経過でない、すなわち有効時間を過ぎたと判定した場合(S1207;No)、S1202に戻り、以降の処理を続行する。この場合、S1204において認証結果として認証OKがセッションデータに書き込まれたとしても、デバイス認証部2044は、有効時間が経過していると判断し、S1208において、認証NGに書き換えて認証結果を確定させる。
【0103】
このように、デバイス認証では、USB等の安価なデバイスを用いてユーザを認証することにより、コストをかけることなく簡便な方法でユーザ本人を認証することができる。また、デバイスがデバイス用PCを介して必要に応じてネットワークに接続するため、ネットワークから独立して認証のために必要な情報を管理することができる。
【0104】
[代案、変形例]
以上、好ましい一実施例について説明したが、本発明はこれに限定されるものではなく、その要旨を逸脱しない範囲で適宜、変形、代替して実施し得る。
【0105】
例えば、上記実施例では、
図1においてユーザ用PC100とデバイス用PC120を別々に図示した。しかし、変形例においてはユーザ用PC100に認証デバイス130を装着するコネクタを備えたものであるならば、ユーザ用PC100をデバイス用PCとして使用することができる。その場合、認証デバイス130を所持する複数のユーザは当該ユーザ用PC100を共用することが可能となる。
【0106】
また、上記実施例では、
図6を参照した制御において、ステップS603(時間的条件の判断)と、ステップS604(場所的条件の判断)の両方を行っている。代替例においては、これらのステップS603またはS604のいずれか一方の処理を行う例もあり得る。
【0107】
また、上記実施例では、
図6を参照したステップS604では接続元アドレスであるIPアドレスを用いて場所的条件の判断を行っているが、代替例においては、これに限定されない。例えば、認証制御部204が、接続元のユーザ用PC100やデバイス用PC120が設置された位置情報(GPS情報)を取得して、場所的条件を判断することも可能である。
【0108】
また、上記実施例では、端末からの要求に対して、認証サーバ200の認証制御部204がセッションを生成して、そのセッションに認証方式や認証結果を登録している。他の例によれば、外部からのアクセス要求を制御するアクセス制御部203を備えるサーバにおいて、アクセス制御部203がセッションを生成する場合もあり得る。その場合には、その生成されたセッションに対して、認証サーバ200の認証制御部204が認証に係る種々の情報を登録することができる。さらに他の例として、アクセス制御部203が、
図6の制御動作の一部、例えばステップS602〜S604の動作を行っても良い。この場合、認証制御部は、アクセス制御部が行う上記S602乃至S604の動作乃至機能を含むような広義の意味と捉えてよい。
【0109】
また、上記実施例では、認証サーバ200が、パスワード認証部2041、端末認証部2042、携帯端末認証部2043、デバイス認証部2044を有する、とした。代替例によれば、これら認証部2041〜2044の1又は複数の部位を、認証サーバ200とは別のサーバで実現しても良い。例えば、端末認証部2042及び又は他の部位をクラウドコンピュータ上で実現することも可能である。その場合でも、認証制御部204の制御の基、他のサーバで実現された認証部が制御されることになる。
【0110】
また、上記実施例では、アクセス許可DB2011、アカウント認証DB2012、初期登録DB2013と称したが、これらをそれぞれ、アクセス許可管理テーブル、アカウント認証管理テーブル、初期登録管理テーブルと呼んでもよい。
【0111】
また、上記実施例では、認証制御部204は認証サーバ200の一機能部として実現しているが、この機能部をプロキシサーバとして実現することも可能である。
【0112】
また、本実施例では、認証に用いられる機器として、PC、スマートフォン、デバイスを例示しているが、動画プレーヤや音楽プレーヤ等のメディア再生機器をはじめとする様々なコンテンツを、ネットワークを介して利用するための装置や機器についても同様に適用することができる。
【0113】
上述したように、本実施例の認証システムでは、複数の異なる認証方式のそれぞれを認証要素として、1または複数の認証要素の組み合わせから成る複数の組(認証組)を定義する。そして、ユーザ(一例ではユーザのアカウント)に応じて、1の認証組を選択して、その認証組に含まれる1または複数の認証要素に対応する認証部で実行して、ユーザまたは接続要求のあった端末を認証する。これにより、ネットワークを介して接続要求のある、端末の使用される様々な環境やユーザの種々の要求に応じてセキュリティの対策を図ることができる。また、認証サーバで認証制御や各認証方式による認証を行うので、認証のためのコストを出来るだけ抑えて、認証の運用を簡素化することができる。また、真性のあるユーザに対しては、
図4に示したように、認証の手続きを出来るだけ簡素化して、ユーザの利便性を高めることができる。
【0114】
本実施例による認証システムは、異なる認証要素の組み合わせから成る複数の認証組(認証パターンと言ってもよい)を用いてユーザ及び端末を認証するので、多要素認証システムと言うことができる。