情報処理装置およびその制御方法、認証システム
【課題】カードを用いた認証システムにおいて、異なるカード間のよりセキュアな権限委譲を実現可能とする。
【解決手段】操作部を備え、当該操作部による操作指示に応じた処理を行う情報処理装置であって、アクセス権限情報と認証情報とを記憶しているカードを読み取るカードリーダと、操作部により入力された情報とカードリーダにより読み取った認証情報とに基づいて、当該カードの認証の可否を判定する判定手段と、判定手段で認証可と判定した場合であって、操作部による処理開始指示の入力待ち状態中にカードリーダが他のカードを読み取った場合、従前に読み取ったカードのアクセス権限情報を、一時的に、他のカードのアクセス権限情報を含むように変更するアクセス権限変更手段と、操作部から処理開始指示の入力を検出したとき、当該検出の時点でのアクセス権限情報の範囲の処理を実行する制御手段とを備える。
【解決手段】操作部を備え、当該操作部による操作指示に応じた処理を行う情報処理装置であって、アクセス権限情報と認証情報とを記憶しているカードを読み取るカードリーダと、操作部により入力された情報とカードリーダにより読み取った認証情報とに基づいて、当該カードの認証の可否を判定する判定手段と、判定手段で認証可と判定した場合であって、操作部による処理開始指示の入力待ち状態中にカードリーダが他のカードを読み取った場合、従前に読み取ったカードのアクセス権限情報を、一時的に、他のカードのアクセス権限情報を含むように変更するアクセス権限変更手段と、操作部から処理開始指示の入力を検出したとき、当該検出の時点でのアクセス権限情報の範囲の処理を実行する制御手段とを備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ICカードを用いユーザに操作権限を付与する認証技術に関するものである。
【背景技術】
【0002】
現在のICカードは、マイクロプロセッサ等を内蔵したICチップを用いており、従来の磁気カードに比較しメモリ容量などに優れると共にデータ処理も可能となっている。そのため記憶媒体や情報処理媒体として、個人認証、金融、交通、輸送、など広い分野で利用されている。また電磁波(主に電波)を利用して通信することにより端末と非接触状態で情報のやりとりを行うことができる非接触型ICカードがある。この非接触型ICカードは、オフィスにおける個人用のIDカード、あるいは業務内容を判別するための手段として利用されている。
【0003】
従来、ICカードを個人用のカードとして使用するために、ICカード内に識別用のユーザ識別信号を用いる技術が一般的に利用されていた。例えば、特許文献1には、ICカード読み取り端末がICカードから送られてくる情報の照合を行う技術が開示されている。この技術においては、ICカード内にはユーザ識別情報が含まれていて、このユーザ識別情報を読み取り端末に送信する。そして、ICカードから信号を受信した読み取り端末は、受信したユーザ識別情報と、端末内に記憶されているユーザ情報との照合処理を実行している。
【特許文献1】特開2000−123138号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、上述した従来の技術では、以下のような問題点があった。例えば、非接触型ICカードを個人用のIDカードとして使用し、さらにカード内に業務に必要な情報を持たせた業務形態を想定する。ここで、業務に必要な情報とは、PCやプリンターといった作業に必要な装置の利用権限や、作業を行う場所への入館許可、プリンターに対する印刷設定や、印刷できるデータの種類などである。作業者は、機器を使用する場合に自己のカードを用いて認証を行う。この認証において作業者の作業記録が管理され、さらに業務に必要な情報を得ることができる。
【0005】
このような業務形態において、何らかの事情により、予めカードに記憶しておいた業務に必要な情報では作業が出来ない状況になった場合の対応が問題視される。つまり、多くの場合、作業者は他人との短期的なカードの貸し借りで問題を解決しようとするからである。しかしながら、他人のカードを借りるということは、本人以外にも認証パスワードなどの機密情報が公開されることになる。そのため、カードを用いる業務形態において、認証パスワードなどの機密情報などを公開すること無しに、作業者の要求を満たす認証技術が望まれていた。
【0006】
本発明は、上述の問題点に鑑みなされたものであり、カードを用いた認証システムにおいて、異なるカード間のよりセキュアな権限委譲を実現可能とする事を目的とする。
【課題を解決するための手段】
【0007】
上述の問題点を解決するため、本発明の情報処理装置は以下の構成を備える。すなわち、操作部を備え、当該操作部による操作指示に応じた処理を行う情報処理装置であって、アクセス権限情報と認証情報とを記憶しているカードとの間でデータの送受信を行うカードリーダ・ライタと、前記カードリーダ・ライタを介して第1のカードに前記操作部により入力された情報を送信し、該情報の送信に基づき前記第1のカードから送信されるデータに基づいて、当該カードの認証の可否を判定する判定手段と、前記判定手段で前記第1のカードを認証可と判定した場合、該第1のカードのアクセス権限情報および認証情報を読み取り、かつ、前記操作部による処理開始指示の入力待ち状態中に前記カードリーダが第2のカードのアクセス権限情報を読み取った場合、前記第1のカードから読み取ったアクセス権限情報を、一時的に、前記第2のカードのアクセス権限情報を含むように変更するアクセス権限変更手段と、前記操作部から処理開始指示の入力を検出したとき、当該検出の時点でのアクセス権限情報の範囲の処理を実行する制御手段と、を備える。
【0008】
そして、前記カードリーダ・ライタは、同時に複数のカードとの間のデータの送受信が可能なよう構成されており、前記第1のカードとの間のデータの送受信と、前記第2のカードとの間のデータの送受信は並行して行われる。または、前記カードリーダ・ライタは、同時に1枚のカードとの間のデータの送受信が可能なよう構成されており、前記第2のカードとの間のデータの送受信は、前記第1のカードとの間のデータの送受信の後に行われる。ここで、前記第2のカードとの間のデータの送受信が、前記第1のカードとの間のデータの送受信が行われた時刻から予め指定された時間内に行われたとき、前記制御手段が実行される。
【0009】
さらに、前記アクセス権限情報は前記判定手段による認証の可否にかかわらず読み取り可能な領域に記憶され、前記認証情報は前記判定手段により認証可と判定された場合のみ読み取り可能な領域に記憶される。
【0010】
上述の問題点を解決するため、本発明の情報処理装置の制御方法は以下の構成を備える。すなわち、操作部を備え、当該操作部による操作指示に応じた処理を行う情報処理装置の制御方法であって、前記情報処理装置は、アクセス権限情報と認証情報とを記憶しているカードとの間でデータの送受信を行うカードリーダ・ライタを備えており、前記カードリーダ・ライタを介して第1のカードに前記操作部により入力された情報を送信し、該情報の送信に基づき前記第1のカードから送信されるデータに基づいて、当該カードの認証の可否を判定する判定工程と、前記判定工程で前記第1のカードを認証可と判定した場合、該第1のカードのアクセス権限情報および認証情報を読み取り、かつ、前記操作部による処理開始指示の入力待ち状態中に前記カードリーダが第2のカードのアクセス権限情報を読み取った場合、前記第1のカードから読み取ったアクセス権限情報を、一時的に、前記第2のカードのアクセス権限情報を含むように変更するアクセス権限変更工程と、前記操作部から処理開始指示の入力を検出したとき、当該検出の時点でのアクセス権限情報の範囲の処理を実行する制御工程と、を備える。
【0011】
上述の問題点を解決するため、本発明の認証システムは以下の構成を備える。すなわち、操作部を備え、当該操作部による操作指示に応じた処理を行う認証システムであって、アクセス権限情報と認証情報とを記憶しているカードとの間でデータの送受信を行うカードリーダ・ライタと、前記カードリーダ・ライタを介して第1のカードに前記操作部により入力された情報を送信し、該情報の送信に基づき前記第1のカードから送信されるデータに基づいて、当該カードの認証の可否を判定する判定手段と、前記判定手段で前記第1のカードを認証可と判定した場合、該第1のカードのアクセス権限情報および認証情報を読み取り、かつ、前記操作部による処理開始指示の入力待ち状態中に前記カードリーダが第2のカードのアクセス権限情報を読み取った場合、前記第1のカードから読み取ったアクセス権限情報を、一時的に、前記第2のカードのアクセス権限情報を含むように変更するアクセス権限変更手段と、前記操作部から処理開始指示の入力を検出したとき、当該検出の時点でのアクセス権限情報の範囲の処理を実行する制御手段と、を備える。
【発明の効果】
【0012】
本発明によれば、カードを用いた認証システムにおいて、異なるカード間のよりセキュアな権限委譲を実現可能とする技術を提供することができる。
【発明を実施するための最良の形態】
【0013】
以下に、図面を参照して、この発明の好適な実施の形態を詳しく説明する。なお、以下の実施の形態はあくまで例示であり、本発明の範囲を限定する趣旨のものではない。
【0014】
(第1実施形態)
本発明に係る認証システムの第1実施形態として、複数のICカードリーダ・ライタ(R/W)部を備えるリーダ・ライタ端末を備える認証システムを例に挙げて以下に説明する。
【0015】
<システム構成>
図1は、第1実施形態に係る認証システムを構成するR/W端末およびICカードの内部構成を示す図である。なお、図1には示さないが、R/W端末101には、当該認証システムの対象となる機器や操作記録(ログ)をとるための管理サーバなどと接続されている。
【0016】
101はR/W端末であり、ICカード110内のデータを読み書きする端末である。
【0017】
104は表示部であり、文字、数字、記号などを表示することによりユーザに各種の情報を提供する機能部である。105は入力部(操作部)であり、ユーザからのアプリケーションの選択、数値入力などの操作指示の受付を行う機能部である。107、108、109はR/W部でありICカード110のデータの読み書きを実行する機能部である。なお、読み書きを行うカードは接触型ICカードであっても良いし非接触型ICカードであっても良い。ただし、1つのR/W部が同時に読めるICカードは1枚である。106は他機器との接続部であり、前述の当該認証システムの対象となる機器や操作記録(ログ)をとるための管理サーバなど接続しデータのやりとりを行う。102は演算処理部であり、101に電源が供給されると動作を開始する。103はプログラム記憶部であり、演算処理部102は103に記憶されたプログラムを実行することにより後述する認証処理を行う。
【0018】
110はICカードであり、ユーザごとに配布されユーザの識別に使用されるカードである。
【0019】
111は接続部であり、R/W端末101のR/W部(107等)と通信つまりデータの送受信を行うことができる。112はICカード内の演算処理部である。115はICカードのメモリ部であり演算処理部112により実行されるプログラムが記憶されている。また一時記憶のためのメモリとしても扱うことができる。114はOS記憶部であり、115に記憶されているプログラムを制御するための基本プログラムが記憶されている。具体的には、カード内データの読み出しや書き込み、アプリケーションプログラムの新規登録及び消去などを行うことができる。113はデータ記憶部である。ICカード110に関するデータ(メタデータ)やユーザに関する情報が記憶されている。
【0020】
図3は、ICカードのデータ記憶部113に記憶されるデータを例示的に示す図である。301はデータ記憶部113全体に対応する領域である。領域301は、302、303、304に区分されたデータ領域を含んでいる。
【0021】
302はメタデータ領域である。この領域にはICカード110のカード固有情報が格納されている。ここで、カード固有情報とはカードID、認証エラー回数、有効期限である。もちろん、その他の情報を合わせて格納しても良い。カードIDとは、カード発行の際に付与されるカードを一意に判別するための識別子であり、認証エラー回数とは、認証処理において認証NGと判定された回数をカウントしたものである。昨今のカード運用では、特定回数連続してカードの認証に失敗した場合、そのカードを無効とする場合がある。そのために用いる判別値である。有効期限とは、ICカードの使用できる有効期間である。
【0022】
303は非公開データ領域である。これは、当該ICカードのユーザのみ参照可能な領域に相当し、具体的には、認証処理を経た後に参照可能となる領域である。非公開データ領域303には、例えば、個人情報であるユーザ名、パスワード、生年月日などが格納されている。
【0023】
304は公開データ領域である。これは前述の不特定ユーザによって参照可能な領域に相当し、認証処理無しに参照が可能な領域である。例えば、印刷業務に認証システムを適用する場合、公開データ領域304には、業務作業を行うのに必要な、入出居室、使用可能プリンターの値が格納されている。つまり、ユーザは本人のICカードを認証した場合であっても公開データ領域に記述されているプリンターのみしか使用することが出来ない。ただし、他人のICカードを拾得し、入出居室、使用可能プリンターの情報を読み取ったとしても、認証が行われない限り実際の使用は出来ず、悪用される可能性が極めて低いため公開データ領域304に格納される。
【0024】
図4は、第1実施形態に係るICカードのデータ記憶部の公開データ領域304に記憶されるデータの一例を示す図である。つまり、401は公開データ領域304をさらに詳細に説明した図である。図では、xml形式のデータの例を示しているが、実際の運用では暗号化されたり、別のフォーマットであってもよい。 402は「入出居室」データが記述されている部位であり、ユーザが入出可能な居室を定義するデータである。開始タグである<居室>の本文に、”作業部屋1”および”作業部屋2”という値が記述されている。これはICカード110の演算処理部112がプログラム内のxmlパーサを介して取得可能な値である。
【0025】
403は「使用可能プリンター」データが記述されている部位であり、ユーザが使用可能なプリンターを定義するデータである。開始タグである<プリンタ名>の本文に、”製本印刷用プリンター”という値が記述されている。これはICカード110の演算処理部112がプログラム内のxmlパーサを介して取得可能な値である。
【0026】
<基本認証フロー>
図2は、第1実施形態に係る認証システムにおける1枚ICカード使用時の認証処理のフローチャートである。なお、ここではICカード110内の情報を認証する例とするが、ICカード110内の任意のプログラムを実行する場合でも、扱うデータの差異のみであり基本的なフローは変わらない。
【0027】
ステップS201では、R/W端末101は、ICカード110の検知を行う。ICカード110の検知は、具体的には、R/W部(107等)から送られてきた信号を、演算処理部102が受け取ることで行われる。
【0028】
ステップS202では、ICカード110を見つけた場合、R/W端末101は、ICカード110の起動信号をICカード110に向けて発信する。
【0029】
ステップS203では、ICカード110は、ステップS202で送信されたICカード起動信号を受信する。そしてICカード110はカードの起動処理を始める。ICカード起動信号を受信するのは、ICカード110の接続部111である。以降、カードの起動処理はR/W端末101と必ずしも同期である必要はない。
【0030】
ステップS204では、ICカード110は、ICカード110のID情報をR/W端末101に送信する。ICカード110のID情報とは、ICカード110のデータ記憶部113内に保持されている値であり、ICカード固有の識別データである。尚、ステップS204の処理を行ったあと、ICカード110はリクエスト待ちをする待機状態となる(ステップS210)。この待機状態はリクエストを受け取るかタイムアウトするまで続く。
【0031】
ステップS205では、R/W端末101は、ステップS204で送信された情報をR/W部(107等)で受信し演算処理部102に入力する。尚、ステップS202の処理を行ったあと、R/W端末101はデータ受信待ち状態となる。この待ち状態はステップS205の処理が実行されるまで続く。
【0032】
ステップS206では、ステップS205で受信した情報(すなわちICカード110のID情報)はR/W端末101のプログラム記憶部103または内部メモリに記憶される。
【0033】
ステップS207では、ICカード110は、ステップS206で保持した情報を使用し、認証に必要なデータの作成を行う。認証に必要なデータとは、ICカード110で照合するために使用する値であり、パスワードや、ユーザ名といったものである。どのようなデータが必要であるかはアプリケーションによって異なる。ここではICカード110に予め保持されているパスワードと、後述するユーザにより入力されたパスワードとを照合し、認証データを作成する。
【0034】
ステップS208では、R/W端末101は、表示部105に入力を促すメッセージを表示し、ユーザからの入力部105を介したキー入力を受け付ける。
【0035】
ステップS209では、R/W端末101は、ステップS207で認証に必要なデータができたらICカード110に対して認証のリクエスト要求を出す。認証のリクエスト要求とは、認証のトリガーとなる信号と、認証に必要なデータを送ることで行われる。
【0036】
ステップS211では、ICカード110は、ステップS209で送信された認証のリクエストを受け取る。
【0037】
ステップS212では、ICカード110は、ステップS211で受け取ったデータを演算処理部112で処理し、認証処理を開始する。具体的には、演算処理部112は受け取ったデータの中から、認証のトリガーとなる信号をみつけ、認証処理を実行する。そして、データ記憶部113に記憶している値(パスワード)と受信した認証に必要なデータとを照合し認証の可否を判定する。
【0038】
ステップS213では、ICカード110は、ステップS212で判定した認証の結果をR/W端末101に送信する。尚、ステップS213の処理を行ったあと、ICカード110はリクエスト待ちをする待機状態となる。この待機状態はリクエストを受け取るかタイムアウトするまで続く。
【0039】
ステップS214では、R/W端末101は、ステップS213において送信された認証結果をR/W部(107等)により受信し演算処理部102に入力する。受け取った情報は、アプリケーションに応じて使用されるが、一旦はプログラム記憶部103に保持される。
【0040】
ステップS215では、R/W端末101は、ICカード110に対して終了のリクエスト要求を出す。終了のリクエスト要求とは、起動の対となるもので、ICカード110の機能を非活性化させ停止状態とさせるものである。
【0041】
ステップS216では、ICカード110は、ステップS215で送信された終了のリクエストを受け取る。これによりICカード110は停止状態となり、再度カード起動の信号を受け取るまでは何も行わない。
【0042】
ステップS217では、R/W端末101は、ステップS214で受け取った値に応じて処理を進める。受け取った情報をどのように使用するかはアプリケーションに応じるが、ここでは認証の結果が、成功であったか否かを判定する。失敗した場合は再度ICカード110の検知を待つ。成功した場合は認証フローを終了する。
【0043】
認証のフローは、認証の回数やユーザが異なったとしても、それは転送されるデータの差異であるので、以降、認証に関する詳細フローは省略して説明をおこなう。
【0044】
<複数枚のカードを用いた認証>
以降では、作業者Aが、第1のカードである作業者A自身のカード501aおよび第2のカードである作業者Bのカード501bの2枚のカードで認証を行う方法について説明する。具体的には、カード501aからは個人情報を含むカード内の全ての情報を読み取り、前記第2のカードであるカード501bからは公開領域のデータのみを並行して読み取る。そして、作業者Aの認証による、カード501bの公開領域のデータに基づく処理を可能とする。
【0045】
図5は、第1実施形態に係る2枚のICカード内のデータを示す図である。
【0046】
502aはAのカードのメタデータ領域のカードIDの値である。値は”12345”である。503aはAのカードの非公開領域のユーザ名の値である。値は”A”である。504aはAのカードの公開領域の入出居室の値である。値は”作業部屋1”と”作業部屋2”である。また、505aはAのカードの公開領域の使用可能プリンターの値である。値は”製本印刷用プリンター”である。
【0047】
一方、502bはBのカードのメタデータ領域のカードIDの値である。値は”67890”である。503bはBのカードの非公開領域のユーザ名の値である。値は”B”である。これらの非公開領域のデータは、認証に使用される”認証情報”として使用される。504bはBのカードの公開領域の入出居室の値である。値は”作業部屋3”である。505bはBのカードの公開領域の使用可能プリンターの値である。値は”業務用プリンター”である。これらの公開領域のデータは、アクセス権限の設定に使用される”アクセス権限情報”として使用される。
【0048】
図6は、第1実施形態に係る認証システムにおける複数枚ICカード使用時の認証処理のフローチャートである。なお以下の処置は、作業部屋3に配置された業務用プリンターに接続されたR/W端末101である。そして、当該業務用プリンターが印刷開始などの処理開始指示の入力待ち状態中に実行されることを想定する。
【0049】
ステップS601では、R/W端末101は、ICカードの検知を行う。ここでは、501aおよび501bの2枚のカードが検知される。
【0050】
ステップS602では、ステップS601において何枚のICカード検知を行ったかを判定し、当該枚数回以下の処理を繰り返す。つまり、ここでは2回処理が繰り返されることになる。なお、以下の処理は1枚目のICカードを読み取った時刻から予め指定された時間内に実行されるよう構成するとよい。
【0051】
ステップS603では、R/W端末101は、ICカードの起動信号をICカード501aおよび501bに向けて送信する。
【0052】
ステップS604では、501aおよび501b各々のICカードS603より発信されたICカード起動信号を受信する。そしてICカードはカードの起動処理を始める。
【0053】
ステップS605では、R/W端末101は、自身の表示部105にパスワードの入力を促すメッセージを表示する。
【0054】
ステップS606では、R/W端末101は、入力部105を介してユーザからのキー入力を受け付ける。なお、ここでユーザは自身のカード(ここでは501a)に対してのみパスワードを入力する。入力されたデータ、または入力しないと選択した結果は演算処理部102へと渡り処理される。
【0055】
ステップS607では、R/W端末101は、個々のカードに対し、ユーザによるパスワード入力があったかどうかを判定する。入力有りの場合はS608の認証処理(図2)に進む。入力なしの場合はS611の公開領域の情報取得処理(後述の図7)に進む。
【0056】
ステップS609では、R/W端末101は、ステップS608の認証処理で受け取った値に応じて処理を進める。認証の結果が失敗であった場合(認証不可の場合)はS602に戻り、次のICカードの処理を開始する。認証に成功した場合(認証可の場合)はS610に進む。
【0057】
ステップS610では、R/W端末101は、ICカード501aの非公開データの情報取得を行う。ここでは、503aのデータの取得を行う。データ読み取りの詳細フローについては図7を参照して後述する。
【0058】
ステップS611では、R/W端末101は、ICカード501aの公開データの情報取得を行う。ここでは、504aおよび505aのデータの取得を行う。なお、ステップS607においてパスワード入力が無かった場合においても本ステップは実行される。そのとき、ICカード501bの公開データの情報取得を行う。データ読み取りの詳細フローについては図7を参照して後述する。
【0059】
ステップS612では、R/W端末101は、R/W端末101により取得したデータ(503a、504a、505a、504b、505b)を記憶/保持する。取得したデータは、アプリケーションに応じて使用されるが、一旦はプログラム記憶部103に保持される。
【0060】
ステップS613では、R/W端末101は、終了判定を行う。具体的には、ステップS601で検出されたカードの枚数分だけ、ステップS602〜S612のステップが繰り返されたか否かを判定する。終了したと判定した場合はステップS614に進み、終了していないと判定した場合はステップS602に戻る。
【0061】
ステップS614では、R/W端末101は、ユーザに対する外部の装置、つまり、作業部屋3に配置された業務用プリンターの使用権限情報を決定する。本フローでは、カード501aに対しては、カードIDの値「12345」、ユーザ名の値「A」、入出居室の値「作業部屋1」と「作業部屋2」、使用可能プリンターの値「製本印刷用プリンター」の情報が得られている。一方、カード501bに対しては、入出居室の値「作業部屋3」、使用可能プリンターの値「業務用プリンター」の情報が得られている。その場合、例えば、カードIDの値「12345」、ユーザ名の値「A」、入出居室の値「作業部屋3」、使用可能プリンターの値「業務用プリンター」として権限を設定する。つまり、認証したカードの”非公開データ”および””認証していないカードの”公開データ”の組み合わせとして一時的にアクセス権限を変更設定するアクセス権限変更の手段として機能する。なお、本ステップの権限設定は、外部の機器、例えば、作業部屋3に配置された業務用プリンターが行うよう構成しても良い。その場合、印刷開始指示などの処理開始指示の受付の検出の時点でアクセス権限の範囲を決定するよう構成するとよい。
【0062】
図7は、第1実施形態に係る認証システムにおける1枚ICカード内のデータ読み取り時の処理フローチャートである。なお、本詳細フローは前述のステップS610の非公開領域のデータ取得、ステップS611の公開領域のデータ取得の双方に共通である。なお、本データ読み取りのフローは認証フロー(図2)と似ている。差異があるのは以下のステップS701〜S706の部分であるため、その部分についてのみ説明を行う。
【0063】
ステップS701では、ICカード110は、ステップS206で保持した情報を使用し、リクエストデータの作成を行う。ここで、リクエストデータとはICカードのどの領域のデータを取得するためのトリガーとなる信号と、取得に必要なデータである。このトリガーを、取得対象に応じて、公開領域のものと、非公開領域のものを使い分ける。なお、取得に必要なデータはアプリケーションに応じて異なり、例えば、非公開領域のデータ取得にはパスワードが使用される。
【0064】
ステップS702では、R/W端末101は、リクエストデータの作成ができたら、ICカードへ送信する。
【0065】
ステップS703では、ICカード110は、ステップS702で送信された認証のリクエストを受け取る。
【0066】
ステップS704では、ICカード110は、ステップS703で受け取ったデータを演算処理部112で処理し、データの取得処理を開始する。演算処理部112は受け取ったデータの中から、データの取得トリガーとなる信号をみつけ処理を実行する。必要であれば受信したリクエストデータを用いることになる。
【0067】
ステップS705では、ICカード110は、ステップS704で処理し取得したデータをR/W端末101に送信する。尚、ステップS705の処理を行ったあと、ICカード110はリクエスト待ちをする待機状態となる。
【0068】
ステップS706では、R/W端末101は、ステップS705において送信されたデータをR/W部(107等)を介して受信し演算処理部102に入力する。受け取った情報は、アプリケーションに応じて使用されるが、一旦はプログラム記憶部103に保持される。以降はステップS215、ステップS216と同様のフローとなる。
【0069】
以上、詳細に説明したように、第1実施形態に係る認証システムを用いることにより、作業者Aは作業者Bのカード501bに関するパスワードなどを知ることなく、カード501bの公開領域に記憶された情報に基づいた権限を得ることが可能となる。そのため、例えば、作業者Aの居室で使用していた「製本印刷用プリンター」が壊れてしまった場合、作業者Bのカードを借りて「業務用プリンター」に対する権限を設定することが可能となる。そのため作業者Aは「業務用プリンター」の使用権限を借りて作業を継続させることができる。また、作業者Bの非公開情報(パスワード)の流出を防ぐことが可能なほか、作業記録としては認証を行ったカードである作業者Aのものが記録されることとなる。そのため、作業上の課金によるトラブル等も低減することが可能となる。
【0070】
言い換えると、ひとりの作業者が複数のカードを使用した場合に、カード認証によりカード内から得られる公開情報を制御することにより、作業者に必要以上の情報を開示することなく、作業者の求める情報を得ることができる。これによって作業者および管理者は、従来に比較しカード情報管理に柔軟性を持たせることが可能となる。
【0071】
なお、上述の説明では、2枚目のICカードに記憶された権限情報に入れ替えるよう構成したが、1枚目のICカードに記憶された権限情報との和をとるよう構成しても良い。
【0072】
(第2実施形態)
第2実施形態では、認証を行うカードにおける権限情報と公開情報のみ読み取るカードの権限情報との間に競合する情報が存在する場合の認証システムの動作について説明を行う。なお、1枚認証(図2)およびデータ読み取り(図7)については第1実施形態と同様である。ここでは、複数枚認証(図6)におけるステップS614に対応する処理のみが異なる。
【0073】
<複数枚のカードを用いた認証(変形例)>
図8は、第2実施形態に係る2枚のICカード内のデータを示す図である。作業者Aのカードが801aであり、作業者Bのカードが801bである。なお、メタデータ領域502a、503aと、非公開領域502b、503bは図5と同様であるので説明を割愛する。
【0074】
802aはAのカード801aの公開領域の印刷権限の値である。印刷権限の要素としてカラー印刷の項目を持ち、値は「否」である。802bはBのカード801aの公開領域の印刷権限の値である。印刷権限の要素としてカラー印刷の項目を持ち、値は「可」である。803bはBのカード801aの公開領域の大量印刷権限の値である。大量印刷権限の要素として上限枚数の項目を持ち、値は「100〜300」である。
【0075】
上述のデータが記憶されていた場合、上述のステップS612で保持されるデータは以下のようになる。すなわち、カードIDの値「12345」、ユーザ名の値「A」、印刷権限のカラー印刷の値「否」。加えて印刷権限のカラー印刷の値「可」、大量印刷権限の上限値の値「100〜300」である。
【0076】
すなわち、Aはカラー印刷ができなかったのが、Bのカードを使用することによりカラー印刷できるようになり、さらにA単体ではできなかった、大量印刷の作業権限まで得ることになる。このように、一意に優劣を判断できない値の場合は、値を取得した後に使用許可の判断を行うことが必要である。
【0077】
図9は、第2実施形態に係る認証システムにおける利用する値の判定フローチャートである。なお、このフローは第1実施形態におけるステップS614に対応する。なお、第1実施形態の場合と同様、図9のフローの実行は、R/W端末101の演算処理部102で実行されることを想定するが、運用によってはR/W端末101の別アプリケーション、もしくは外部の装置のアプリケーションであってもよい。
【0078】
図10は、第2実施形態における複数枚のICカードから得たデータの一例を示す図である。データがステップS901の処理で扱われるものとなる。
【0079】
1001はデータ全体であり、ICカードの認証の結果、作業者Aに与えられたデータである。1002は非公開領域のデータ部をあらわす。非公開領域のデータは図9のフローでは用いないので説明を省略する。1003は公開領域のデータ部をあらわす。
【0080】
データは「取得元」「属性値(カテゴリ)」「値」の3項目をもつ。取得元はどのカードから得た情報であるかを示す値である。図8にはA、Bの2枚のICカードがあるので、値はAかBのどちらかになる。
【0081】
属性値(カテゴリ)はカード内のどの属性値であるかを示す値である。すなわち図8の802a、802b、803bに相当し「印刷権限」と「大量印刷権限」のどちらかである。
【0082】
値は属性値に対応する取得した値である。<印刷権限>に対してはAのカードなら”可”、Bのカードなら”否”である。<大量印刷権限>の値はBのカードの”100〜300”である。
【0083】
ステップS901では、R/W端末101は、ステップS612で記憶/保持したデータの取得を行う。つまり、ここでは、<印刷権限>および<大量印刷権限>について取得を行う。
【0084】
ステップS902では、R/W端末101は、取得したデータの各属性値をみて、属性値の種類だけループ処理を行う。ここでは公開領域のデータのみを扱う。つまりここでは2回だけループ処理を行う。
【0085】
ステップS903では、R/W端末101は、公開領域の属性値を取り出し、ICカードA、ICカードBに共通した項目であるか判定する。取り出す属性の順番は任意でよい。共通している属性値があればステップS904へ、無ければステップS908へ進む。つまり、<印刷権限>についてはステップS904に進むことになる。
【0086】
ステップS904では、R/W端末101は、値の優位性を判別する。例えば、優位性を判別するプログラムは、演算処理部102から接続部106を介して外部のPCやデータベースへと問い合わせを行うことにより実現される。
【0087】
図11は、外部のデータベースで管理される、値の優位性を判定するデータテーブルである。
【0088】
1101はデータ全体をあらわし、データは「属性値(カテゴリ)」「判別方式」「ランク」の3項目をもつ。
【0089】
1102は属性値(カテゴリ)であり、「印刷権限」と「大量印刷権限」のどちらかである。1103は判別方式であり、「ランク判別」の値を持つ。1104はランクであり、属性値ごとに対応する値を持つ。本実施例では上位、中位、下位の3つに分類する。
【0090】
S903の処理において印刷権限に対し判別する処理が行われたと仮定する。Aのカードでは印刷権限は”否”であり、Bのカードでは印刷権限が”可”であることがわかる。この場合、無条件に作業者Aに、Bのカードの印刷権限が”可”を付与すると、Aが想定外に印刷権限を得てしまうかもしれない。そこでS904で判別を行うのである。
【0091】
まず印刷権限については、1102の印刷権限に対応する値を参照することになる。次に1103の判別方式を参照する。印刷権限に対応する判別方式は「ランク順」である。なお、判別方式の「ランク順」とは、対応するランクの「下位」→「中位」→「上位」の順であるならばデータの付与を行ってよいということである。
【0092】
いま、「上位」の値は”可”であり、「下位」の値は”否”である。Aのカードの情報は”否”であり、Bのカードの情報は”可”である。作業者AにBの情報を付与するのであれば、ランク順は「下位」→「上位」ということになる。よってAにはBの情報である「可」の値を付与して良いと判断できる。
【0093】
ステップS905では、R/W端末101は、ステップS904の判定結果に基づき値が有効か否かを判定する。有効であればステップS906に進み、そうでなければステップS907に進む。
【0094】
ステップS906では、R/W端末101は、値が有効なものであれば作業者Aが使用する値として保持する。
【0095】
ステップS907では、全ての属性値について判断を行ったか否かの判定をする。全ての属性に対して行われたらフローを終了し、残っている場合はS902に戻る。
【0096】
ステップS908では、R/W端末101は、当該属性を作業者に持たせてよいかの判断を行う。つまり、ここでは、<大量印刷権限>について判断を行う。なお、ここでは、ステップS904と同様、演算処理部102から接続部106を介して外部のPCやデータベースへと問い合わせを行う仕組みを想定する。
【0097】
図12は、外部のデータベースで管理される、使用可能な属性値であるかを判定するデータテーブルである。
【0098】
1201はデータ全体をあらわし、データは「属性値(カテゴリ)」「権限使用」の2項目をもつ。
【0099】
1202は属性値(カテゴリ)であり、<印刷権限>と<大量印刷権限>のどちらかである。1203は判別方式であり、「使用可」と「使用不可」の値を持つ。ステップS903の判定で<大量印刷権限>であった場合、AのカードとBのカードには共通していない。ゆえに後述するステップS908の処理が行われる。Aのカードには大量印刷権限がないので、Bのカードから取得した大量印刷権限を利用可能にすると、Aに想定外に作業権限を得てしまうかもしれない。そこでS908で判別を行うのである。
【0100】
まず1202の属性値を参照する。ここでは、<印刷権限><大量印刷権限><メンテナンス権限>の3つの値がある。なお、これは作業者Aのデータであり、Bまたは他のユーザは他の権限項目を持っていてもかまわない。次に、1203の権限使用の値から大量印刷権限に該当するものを参照する。すなわち「使用可」であることがわかる。よって作業者Aは、Aのカード内に大量印刷権限を持っていないが、Bのカードを使えば大量印刷権限の権限を得てもよいということである。一方、例えば、作業者Aはメンテナンスの権限は使用不可である。仮にBのカードからメンテナンス権限の情報を得ても使うことはできない。
【0101】
ステップS909では、R/W端末101は、ステップS908の判定結果に基づき属性値を使用可能か否かを判定する。使用可能であればステップS910に進み、そうでなければステップS907に進む。
【0102】
ステップS910では、R/W端末101は、属性値を作業者Aが使用する属性値として保持する。
【0103】
以上、詳細に説明したように、第2実施形態に係る認証システムを用いることにより、作業者Aは作業者Bのカード501bに関するパスワードなどを知ることなく、カード501bの公開領域に記憶された情報に基づいた権限を得ることが可能となる。また、作業者Bのカードに想定外に高い権限の情報が記憶されていた場合においても、適切に作業者Aに対する権限を設定することが可能となる。
【0104】
(第3実施形態)
第3実施形態では、R/W端末が、唯一のR/W部107を備える場合に、時系列で複数のICカードの認証処理を行う例について説明する。第1および第2実施形態については、複数枚のICカードの認証・読み取りの順序について制約を設けなかった。しかしR/W部が1台のみの場合複数枚のカードを用いた認証方法が問題となる。ここではタイマーを用いて時系列的に複数枚認証を実行する方法について述べる。
【0105】
なお、1枚認証(図2)およびデータ読み取り(図7)については第1実施形態と同様である。ここでは、複数枚認証(図6)に対応するフローが時系列的に実行される点が異なる。
【0106】
<複数枚のカードを用いた時系列的認証>
図13は、第3実施形態に係る認証システムにおける複数枚ICカード使用時の認証処理のフローチャートである。なお、作業者Aのカードが501aであり、作業者Bのカードが501bである。
【0107】
ステップS1301では、R/W端末101は、ICカードの検知を行う。これはステップS601と同様である。
【0108】
ステップS1302では、R/W端末101は、ICカードの起動信号をICカードに向けて発信する。これはステップS603に対応する。ただし、ICカードが何枚存在するかは認識していない。
【0109】
ステップS1303では、ICカード501aは、S1302より発信されたICカード起動信号を受信する。これはS604と同様である。
【0110】
ステップS1304では、R/W端末101およびICカード501aは、認証処理および公開領域/非公開領域のデータの取得処理を行う。前述のように、この処理は1枚認証(図2)およびデータ読み取り(図7)と同様のため説明は省略する。なお、ステップS1305では、パスワード入力のステップである。認証に成功しデータの取得に成功した場合、ICカード501aにおける処理は終了となる(ステップS1306)。認証に失敗した場合はS1301へと戻る。
【0111】
ステップS1307では、R/W端末101は、演算処理部102を使用しタイマーを起動させる。このタイマーは、1枚目のICカードのデータ取得完了から次の(2枚目)ICカードの検知までを計るものである。時間の計測と記録ができるタイマープログラムであればどのようなものでもよい。
【0112】
ステップS1308では、R/W端末101は、タイマーを起動した後、次のICカード501bが検知されるのを待つ。
【0113】
ステップS1309では、R/W端末101は、次のカード(2枚目のカード501b)を検知したら、タイマーを停止する。そして、タイマーの起動から停止までの時間を記録保持する。
【0114】
ステップS1310では、R/W端末101は、S1307〜S1308で測定した時間が、予め指定された値以内であるかどうかの判定を行う。尚、この指定値の取得方法はどのようなものでもよい。例えば、R/W端末101内(プログラム記憶部103など)に保持しておき参照しても良いし、前述のステップS904のように、外部データベースとの連携により実現しても良い。また、1枚目のICカード内の領域から取得してもよい。
【0115】
図14は、タイマーの値による判定値を示す図である。
【0116】
1401はS1310の処理において取得するデータ全体をあらわす。上述したように、このデータの格納場所はどのようなものでもよい。ここでは外部のデータベース内のテーブルを想定している。データは「タイマー値」「処理方法」の2項目をもつ。
【0117】
1402はタイマー値であり、ステップS1301の中で比較する定値として用いられる。1402には「100ms以下」「100ms〜1000ms」「1000ms以上」の3種の値があるが、どのような値であってもよい。1403は処理方法であり、「読み取り不可」「同時認証とみなす」「同時認証とみなさない」の3種の値があり、それぞれタイマー値に対応付けられている。
【0118】
例えば、ステップS1310で判定する値が200msであった場合は、1402の「100ms〜1000ms」に相当するので、S1311に進むこととなる。1000msを越える値であった場合は同時認証とみなさず2枚目のデータ取得は行わない。なお、1403に示すように、値の大小だけでなく処理を関連付けておくことで、S1310において任意に処理の分岐を行わせることも可能となり好適である。
【0119】
ここでは、定値を1000ms(=1秒)とし、1秒以内であった場合はS1311へ進む。一方、1秒より大きい場合は1枚目のカードの認証が1枚認証であったと見なし本フローを終了する。
【0120】
ステップS1311では、R/W端末101は、ICカードの起動信号をICカードに向けて発信する。
【0121】
ステップS1312では、ICカード501bは、S1311より発信されたICカード起動信号を受信する。
【0122】
ステップS1313では、R/W端末101およびICカード501aは、公開領域のデータの取得処理を行う。データの取得後、ICカード501bにおける処理は終了となる(ステップS1314)。
【0123】
ステップS1315では、R/W端末101は、R/W端末101は取得したデータ(503a、504a、505a、504b、505b)を記憶/保持する。取得したデータは、アプリケーションに応じて使用されるが、一旦はプログラム記憶部103に保持される。
【0124】
以上、詳細に説明したように、第3実施形態に係る認証システムを用いることにより、R/W端末101が1つのR/W部しか有さない場合であっても、タイマーによる制御を行うことにより第1実施形態と同様の処理を実現することが可能となる。
【0125】
(他の実施形態)
以上、本発明の実施形態について詳述したが、本発明は、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【0126】
なお、本発明は、前述した実施形態の機能を実現するプログラムを、システム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置が、供給されたプログラムコードを読み出して実行することによっても達成される。従って、本発明の機能処理をコンピュータで実現するために、コンピュータにインストールされるプログラムコード自体も本発明の技術的範囲に含まれる。
【0127】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。
【0128】
プログラムを供給するための記録媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク(CD、DVD)、光磁気ディスク、磁気テープ、不揮発性のメモリカード、ROMなどがある。
【0129】
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【0130】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【0131】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【0132】
【図1】第1実施形態に係る認証システムを構成するR/W端末およびICカードの内部構成を示す図である。
【図2】第1実施形態に係る認証システムにおける1枚ICカード使用時の認証処理のフローチャートである。
【図3】ICカードのデータ記憶部に記憶されるデータを例示的に示す図である。
【図4】第1実施形態に係るICカードのデータ記憶部の公開データ領域に記憶されるデータの一例を示す図である。
【図5】第1実施形態に係る2枚のICカード内のデータを示す図である。
【図6】第1実施形態に係る認証システムにおける複数枚ICカード使用時の認証処理のフローチャートである。
【図7】第1実施形態に係る認証システムにおける1枚ICカード内のデータ読み取り時の処理フローチャートである。
【図8】第2実施形態に係る2枚のICカード内のデータを示す図である。
【図9】第2実施形態に係る認証システムにおける利用する値の判定フローチャートである。
【図10】第2実施形態における複数枚のICカードから得たデータの一例を示す図である。
【図11】外部のデータベースで管理される、値の優位性を判定するデータテーブルである。
【図12】外部のデータベースで管理される、使用可能な属性値であるかを判定するデータテーブルである。
【図13】第3実施形態に係る認証システムにおける複数枚ICカード使用時の認証処理のフローチャートである。
【図14】タイマーの値による判定値を示す図である。
【技術分野】
【0001】
本発明は、ICカードを用いユーザに操作権限を付与する認証技術に関するものである。
【背景技術】
【0002】
現在のICカードは、マイクロプロセッサ等を内蔵したICチップを用いており、従来の磁気カードに比較しメモリ容量などに優れると共にデータ処理も可能となっている。そのため記憶媒体や情報処理媒体として、個人認証、金融、交通、輸送、など広い分野で利用されている。また電磁波(主に電波)を利用して通信することにより端末と非接触状態で情報のやりとりを行うことができる非接触型ICカードがある。この非接触型ICカードは、オフィスにおける個人用のIDカード、あるいは業務内容を判別するための手段として利用されている。
【0003】
従来、ICカードを個人用のカードとして使用するために、ICカード内に識別用のユーザ識別信号を用いる技術が一般的に利用されていた。例えば、特許文献1には、ICカード読み取り端末がICカードから送られてくる情報の照合を行う技術が開示されている。この技術においては、ICカード内にはユーザ識別情報が含まれていて、このユーザ識別情報を読み取り端末に送信する。そして、ICカードから信号を受信した読み取り端末は、受信したユーザ識別情報と、端末内に記憶されているユーザ情報との照合処理を実行している。
【特許文献1】特開2000−123138号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、上述した従来の技術では、以下のような問題点があった。例えば、非接触型ICカードを個人用のIDカードとして使用し、さらにカード内に業務に必要な情報を持たせた業務形態を想定する。ここで、業務に必要な情報とは、PCやプリンターといった作業に必要な装置の利用権限や、作業を行う場所への入館許可、プリンターに対する印刷設定や、印刷できるデータの種類などである。作業者は、機器を使用する場合に自己のカードを用いて認証を行う。この認証において作業者の作業記録が管理され、さらに業務に必要な情報を得ることができる。
【0005】
このような業務形態において、何らかの事情により、予めカードに記憶しておいた業務に必要な情報では作業が出来ない状況になった場合の対応が問題視される。つまり、多くの場合、作業者は他人との短期的なカードの貸し借りで問題を解決しようとするからである。しかしながら、他人のカードを借りるということは、本人以外にも認証パスワードなどの機密情報が公開されることになる。そのため、カードを用いる業務形態において、認証パスワードなどの機密情報などを公開すること無しに、作業者の要求を満たす認証技術が望まれていた。
【0006】
本発明は、上述の問題点に鑑みなされたものであり、カードを用いた認証システムにおいて、異なるカード間のよりセキュアな権限委譲を実現可能とする事を目的とする。
【課題を解決するための手段】
【0007】
上述の問題点を解決するため、本発明の情報処理装置は以下の構成を備える。すなわち、操作部を備え、当該操作部による操作指示に応じた処理を行う情報処理装置であって、アクセス権限情報と認証情報とを記憶しているカードとの間でデータの送受信を行うカードリーダ・ライタと、前記カードリーダ・ライタを介して第1のカードに前記操作部により入力された情報を送信し、該情報の送信に基づき前記第1のカードから送信されるデータに基づいて、当該カードの認証の可否を判定する判定手段と、前記判定手段で前記第1のカードを認証可と判定した場合、該第1のカードのアクセス権限情報および認証情報を読み取り、かつ、前記操作部による処理開始指示の入力待ち状態中に前記カードリーダが第2のカードのアクセス権限情報を読み取った場合、前記第1のカードから読み取ったアクセス権限情報を、一時的に、前記第2のカードのアクセス権限情報を含むように変更するアクセス権限変更手段と、前記操作部から処理開始指示の入力を検出したとき、当該検出の時点でのアクセス権限情報の範囲の処理を実行する制御手段と、を備える。
【0008】
そして、前記カードリーダ・ライタは、同時に複数のカードとの間のデータの送受信が可能なよう構成されており、前記第1のカードとの間のデータの送受信と、前記第2のカードとの間のデータの送受信は並行して行われる。または、前記カードリーダ・ライタは、同時に1枚のカードとの間のデータの送受信が可能なよう構成されており、前記第2のカードとの間のデータの送受信は、前記第1のカードとの間のデータの送受信の後に行われる。ここで、前記第2のカードとの間のデータの送受信が、前記第1のカードとの間のデータの送受信が行われた時刻から予め指定された時間内に行われたとき、前記制御手段が実行される。
【0009】
さらに、前記アクセス権限情報は前記判定手段による認証の可否にかかわらず読み取り可能な領域に記憶され、前記認証情報は前記判定手段により認証可と判定された場合のみ読み取り可能な領域に記憶される。
【0010】
上述の問題点を解決するため、本発明の情報処理装置の制御方法は以下の構成を備える。すなわち、操作部を備え、当該操作部による操作指示に応じた処理を行う情報処理装置の制御方法であって、前記情報処理装置は、アクセス権限情報と認証情報とを記憶しているカードとの間でデータの送受信を行うカードリーダ・ライタを備えており、前記カードリーダ・ライタを介して第1のカードに前記操作部により入力された情報を送信し、該情報の送信に基づき前記第1のカードから送信されるデータに基づいて、当該カードの認証の可否を判定する判定工程と、前記判定工程で前記第1のカードを認証可と判定した場合、該第1のカードのアクセス権限情報および認証情報を読み取り、かつ、前記操作部による処理開始指示の入力待ち状態中に前記カードリーダが第2のカードのアクセス権限情報を読み取った場合、前記第1のカードから読み取ったアクセス権限情報を、一時的に、前記第2のカードのアクセス権限情報を含むように変更するアクセス権限変更工程と、前記操作部から処理開始指示の入力を検出したとき、当該検出の時点でのアクセス権限情報の範囲の処理を実行する制御工程と、を備える。
【0011】
上述の問題点を解決するため、本発明の認証システムは以下の構成を備える。すなわち、操作部を備え、当該操作部による操作指示に応じた処理を行う認証システムであって、アクセス権限情報と認証情報とを記憶しているカードとの間でデータの送受信を行うカードリーダ・ライタと、前記カードリーダ・ライタを介して第1のカードに前記操作部により入力された情報を送信し、該情報の送信に基づき前記第1のカードから送信されるデータに基づいて、当該カードの認証の可否を判定する判定手段と、前記判定手段で前記第1のカードを認証可と判定した場合、該第1のカードのアクセス権限情報および認証情報を読み取り、かつ、前記操作部による処理開始指示の入力待ち状態中に前記カードリーダが第2のカードのアクセス権限情報を読み取った場合、前記第1のカードから読み取ったアクセス権限情報を、一時的に、前記第2のカードのアクセス権限情報を含むように変更するアクセス権限変更手段と、前記操作部から処理開始指示の入力を検出したとき、当該検出の時点でのアクセス権限情報の範囲の処理を実行する制御手段と、を備える。
【発明の効果】
【0012】
本発明によれば、カードを用いた認証システムにおいて、異なるカード間のよりセキュアな権限委譲を実現可能とする技術を提供することができる。
【発明を実施するための最良の形態】
【0013】
以下に、図面を参照して、この発明の好適な実施の形態を詳しく説明する。なお、以下の実施の形態はあくまで例示であり、本発明の範囲を限定する趣旨のものではない。
【0014】
(第1実施形態)
本発明に係る認証システムの第1実施形態として、複数のICカードリーダ・ライタ(R/W)部を備えるリーダ・ライタ端末を備える認証システムを例に挙げて以下に説明する。
【0015】
<システム構成>
図1は、第1実施形態に係る認証システムを構成するR/W端末およびICカードの内部構成を示す図である。なお、図1には示さないが、R/W端末101には、当該認証システムの対象となる機器や操作記録(ログ)をとるための管理サーバなどと接続されている。
【0016】
101はR/W端末であり、ICカード110内のデータを読み書きする端末である。
【0017】
104は表示部であり、文字、数字、記号などを表示することによりユーザに各種の情報を提供する機能部である。105は入力部(操作部)であり、ユーザからのアプリケーションの選択、数値入力などの操作指示の受付を行う機能部である。107、108、109はR/W部でありICカード110のデータの読み書きを実行する機能部である。なお、読み書きを行うカードは接触型ICカードであっても良いし非接触型ICカードであっても良い。ただし、1つのR/W部が同時に読めるICカードは1枚である。106は他機器との接続部であり、前述の当該認証システムの対象となる機器や操作記録(ログ)をとるための管理サーバなど接続しデータのやりとりを行う。102は演算処理部であり、101に電源が供給されると動作を開始する。103はプログラム記憶部であり、演算処理部102は103に記憶されたプログラムを実行することにより後述する認証処理を行う。
【0018】
110はICカードであり、ユーザごとに配布されユーザの識別に使用されるカードである。
【0019】
111は接続部であり、R/W端末101のR/W部(107等)と通信つまりデータの送受信を行うことができる。112はICカード内の演算処理部である。115はICカードのメモリ部であり演算処理部112により実行されるプログラムが記憶されている。また一時記憶のためのメモリとしても扱うことができる。114はOS記憶部であり、115に記憶されているプログラムを制御するための基本プログラムが記憶されている。具体的には、カード内データの読み出しや書き込み、アプリケーションプログラムの新規登録及び消去などを行うことができる。113はデータ記憶部である。ICカード110に関するデータ(メタデータ)やユーザに関する情報が記憶されている。
【0020】
図3は、ICカードのデータ記憶部113に記憶されるデータを例示的に示す図である。301はデータ記憶部113全体に対応する領域である。領域301は、302、303、304に区分されたデータ領域を含んでいる。
【0021】
302はメタデータ領域である。この領域にはICカード110のカード固有情報が格納されている。ここで、カード固有情報とはカードID、認証エラー回数、有効期限である。もちろん、その他の情報を合わせて格納しても良い。カードIDとは、カード発行の際に付与されるカードを一意に判別するための識別子であり、認証エラー回数とは、認証処理において認証NGと判定された回数をカウントしたものである。昨今のカード運用では、特定回数連続してカードの認証に失敗した場合、そのカードを無効とする場合がある。そのために用いる判別値である。有効期限とは、ICカードの使用できる有効期間である。
【0022】
303は非公開データ領域である。これは、当該ICカードのユーザのみ参照可能な領域に相当し、具体的には、認証処理を経た後に参照可能となる領域である。非公開データ領域303には、例えば、個人情報であるユーザ名、パスワード、生年月日などが格納されている。
【0023】
304は公開データ領域である。これは前述の不特定ユーザによって参照可能な領域に相当し、認証処理無しに参照が可能な領域である。例えば、印刷業務に認証システムを適用する場合、公開データ領域304には、業務作業を行うのに必要な、入出居室、使用可能プリンターの値が格納されている。つまり、ユーザは本人のICカードを認証した場合であっても公開データ領域に記述されているプリンターのみしか使用することが出来ない。ただし、他人のICカードを拾得し、入出居室、使用可能プリンターの情報を読み取ったとしても、認証が行われない限り実際の使用は出来ず、悪用される可能性が極めて低いため公開データ領域304に格納される。
【0024】
図4は、第1実施形態に係るICカードのデータ記憶部の公開データ領域304に記憶されるデータの一例を示す図である。つまり、401は公開データ領域304をさらに詳細に説明した図である。図では、xml形式のデータの例を示しているが、実際の運用では暗号化されたり、別のフォーマットであってもよい。 402は「入出居室」データが記述されている部位であり、ユーザが入出可能な居室を定義するデータである。開始タグである<居室>の本文に、”作業部屋1”および”作業部屋2”という値が記述されている。これはICカード110の演算処理部112がプログラム内のxmlパーサを介して取得可能な値である。
【0025】
403は「使用可能プリンター」データが記述されている部位であり、ユーザが使用可能なプリンターを定義するデータである。開始タグである<プリンタ名>の本文に、”製本印刷用プリンター”という値が記述されている。これはICカード110の演算処理部112がプログラム内のxmlパーサを介して取得可能な値である。
【0026】
<基本認証フロー>
図2は、第1実施形態に係る認証システムにおける1枚ICカード使用時の認証処理のフローチャートである。なお、ここではICカード110内の情報を認証する例とするが、ICカード110内の任意のプログラムを実行する場合でも、扱うデータの差異のみであり基本的なフローは変わらない。
【0027】
ステップS201では、R/W端末101は、ICカード110の検知を行う。ICカード110の検知は、具体的には、R/W部(107等)から送られてきた信号を、演算処理部102が受け取ることで行われる。
【0028】
ステップS202では、ICカード110を見つけた場合、R/W端末101は、ICカード110の起動信号をICカード110に向けて発信する。
【0029】
ステップS203では、ICカード110は、ステップS202で送信されたICカード起動信号を受信する。そしてICカード110はカードの起動処理を始める。ICカード起動信号を受信するのは、ICカード110の接続部111である。以降、カードの起動処理はR/W端末101と必ずしも同期である必要はない。
【0030】
ステップS204では、ICカード110は、ICカード110のID情報をR/W端末101に送信する。ICカード110のID情報とは、ICカード110のデータ記憶部113内に保持されている値であり、ICカード固有の識別データである。尚、ステップS204の処理を行ったあと、ICカード110はリクエスト待ちをする待機状態となる(ステップS210)。この待機状態はリクエストを受け取るかタイムアウトするまで続く。
【0031】
ステップS205では、R/W端末101は、ステップS204で送信された情報をR/W部(107等)で受信し演算処理部102に入力する。尚、ステップS202の処理を行ったあと、R/W端末101はデータ受信待ち状態となる。この待ち状態はステップS205の処理が実行されるまで続く。
【0032】
ステップS206では、ステップS205で受信した情報(すなわちICカード110のID情報)はR/W端末101のプログラム記憶部103または内部メモリに記憶される。
【0033】
ステップS207では、ICカード110は、ステップS206で保持した情報を使用し、認証に必要なデータの作成を行う。認証に必要なデータとは、ICカード110で照合するために使用する値であり、パスワードや、ユーザ名といったものである。どのようなデータが必要であるかはアプリケーションによって異なる。ここではICカード110に予め保持されているパスワードと、後述するユーザにより入力されたパスワードとを照合し、認証データを作成する。
【0034】
ステップS208では、R/W端末101は、表示部105に入力を促すメッセージを表示し、ユーザからの入力部105を介したキー入力を受け付ける。
【0035】
ステップS209では、R/W端末101は、ステップS207で認証に必要なデータができたらICカード110に対して認証のリクエスト要求を出す。認証のリクエスト要求とは、認証のトリガーとなる信号と、認証に必要なデータを送ることで行われる。
【0036】
ステップS211では、ICカード110は、ステップS209で送信された認証のリクエストを受け取る。
【0037】
ステップS212では、ICカード110は、ステップS211で受け取ったデータを演算処理部112で処理し、認証処理を開始する。具体的には、演算処理部112は受け取ったデータの中から、認証のトリガーとなる信号をみつけ、認証処理を実行する。そして、データ記憶部113に記憶している値(パスワード)と受信した認証に必要なデータとを照合し認証の可否を判定する。
【0038】
ステップS213では、ICカード110は、ステップS212で判定した認証の結果をR/W端末101に送信する。尚、ステップS213の処理を行ったあと、ICカード110はリクエスト待ちをする待機状態となる。この待機状態はリクエストを受け取るかタイムアウトするまで続く。
【0039】
ステップS214では、R/W端末101は、ステップS213において送信された認証結果をR/W部(107等)により受信し演算処理部102に入力する。受け取った情報は、アプリケーションに応じて使用されるが、一旦はプログラム記憶部103に保持される。
【0040】
ステップS215では、R/W端末101は、ICカード110に対して終了のリクエスト要求を出す。終了のリクエスト要求とは、起動の対となるもので、ICカード110の機能を非活性化させ停止状態とさせるものである。
【0041】
ステップS216では、ICカード110は、ステップS215で送信された終了のリクエストを受け取る。これによりICカード110は停止状態となり、再度カード起動の信号を受け取るまでは何も行わない。
【0042】
ステップS217では、R/W端末101は、ステップS214で受け取った値に応じて処理を進める。受け取った情報をどのように使用するかはアプリケーションに応じるが、ここでは認証の結果が、成功であったか否かを判定する。失敗した場合は再度ICカード110の検知を待つ。成功した場合は認証フローを終了する。
【0043】
認証のフローは、認証の回数やユーザが異なったとしても、それは転送されるデータの差異であるので、以降、認証に関する詳細フローは省略して説明をおこなう。
【0044】
<複数枚のカードを用いた認証>
以降では、作業者Aが、第1のカードである作業者A自身のカード501aおよび第2のカードである作業者Bのカード501bの2枚のカードで認証を行う方法について説明する。具体的には、カード501aからは個人情報を含むカード内の全ての情報を読み取り、前記第2のカードであるカード501bからは公開領域のデータのみを並行して読み取る。そして、作業者Aの認証による、カード501bの公開領域のデータに基づく処理を可能とする。
【0045】
図5は、第1実施形態に係る2枚のICカード内のデータを示す図である。
【0046】
502aはAのカードのメタデータ領域のカードIDの値である。値は”12345”である。503aはAのカードの非公開領域のユーザ名の値である。値は”A”である。504aはAのカードの公開領域の入出居室の値である。値は”作業部屋1”と”作業部屋2”である。また、505aはAのカードの公開領域の使用可能プリンターの値である。値は”製本印刷用プリンター”である。
【0047】
一方、502bはBのカードのメタデータ領域のカードIDの値である。値は”67890”である。503bはBのカードの非公開領域のユーザ名の値である。値は”B”である。これらの非公開領域のデータは、認証に使用される”認証情報”として使用される。504bはBのカードの公開領域の入出居室の値である。値は”作業部屋3”である。505bはBのカードの公開領域の使用可能プリンターの値である。値は”業務用プリンター”である。これらの公開領域のデータは、アクセス権限の設定に使用される”アクセス権限情報”として使用される。
【0048】
図6は、第1実施形態に係る認証システムにおける複数枚ICカード使用時の認証処理のフローチャートである。なお以下の処置は、作業部屋3に配置された業務用プリンターに接続されたR/W端末101である。そして、当該業務用プリンターが印刷開始などの処理開始指示の入力待ち状態中に実行されることを想定する。
【0049】
ステップS601では、R/W端末101は、ICカードの検知を行う。ここでは、501aおよび501bの2枚のカードが検知される。
【0050】
ステップS602では、ステップS601において何枚のICカード検知を行ったかを判定し、当該枚数回以下の処理を繰り返す。つまり、ここでは2回処理が繰り返されることになる。なお、以下の処理は1枚目のICカードを読み取った時刻から予め指定された時間内に実行されるよう構成するとよい。
【0051】
ステップS603では、R/W端末101は、ICカードの起動信号をICカード501aおよび501bに向けて送信する。
【0052】
ステップS604では、501aおよび501b各々のICカードS603より発信されたICカード起動信号を受信する。そしてICカードはカードの起動処理を始める。
【0053】
ステップS605では、R/W端末101は、自身の表示部105にパスワードの入力を促すメッセージを表示する。
【0054】
ステップS606では、R/W端末101は、入力部105を介してユーザからのキー入力を受け付ける。なお、ここでユーザは自身のカード(ここでは501a)に対してのみパスワードを入力する。入力されたデータ、または入力しないと選択した結果は演算処理部102へと渡り処理される。
【0055】
ステップS607では、R/W端末101は、個々のカードに対し、ユーザによるパスワード入力があったかどうかを判定する。入力有りの場合はS608の認証処理(図2)に進む。入力なしの場合はS611の公開領域の情報取得処理(後述の図7)に進む。
【0056】
ステップS609では、R/W端末101は、ステップS608の認証処理で受け取った値に応じて処理を進める。認証の結果が失敗であった場合(認証不可の場合)はS602に戻り、次のICカードの処理を開始する。認証に成功した場合(認証可の場合)はS610に進む。
【0057】
ステップS610では、R/W端末101は、ICカード501aの非公開データの情報取得を行う。ここでは、503aのデータの取得を行う。データ読み取りの詳細フローについては図7を参照して後述する。
【0058】
ステップS611では、R/W端末101は、ICカード501aの公開データの情報取得を行う。ここでは、504aおよび505aのデータの取得を行う。なお、ステップS607においてパスワード入力が無かった場合においても本ステップは実行される。そのとき、ICカード501bの公開データの情報取得を行う。データ読み取りの詳細フローについては図7を参照して後述する。
【0059】
ステップS612では、R/W端末101は、R/W端末101により取得したデータ(503a、504a、505a、504b、505b)を記憶/保持する。取得したデータは、アプリケーションに応じて使用されるが、一旦はプログラム記憶部103に保持される。
【0060】
ステップS613では、R/W端末101は、終了判定を行う。具体的には、ステップS601で検出されたカードの枚数分だけ、ステップS602〜S612のステップが繰り返されたか否かを判定する。終了したと判定した場合はステップS614に進み、終了していないと判定した場合はステップS602に戻る。
【0061】
ステップS614では、R/W端末101は、ユーザに対する外部の装置、つまり、作業部屋3に配置された業務用プリンターの使用権限情報を決定する。本フローでは、カード501aに対しては、カードIDの値「12345」、ユーザ名の値「A」、入出居室の値「作業部屋1」と「作業部屋2」、使用可能プリンターの値「製本印刷用プリンター」の情報が得られている。一方、カード501bに対しては、入出居室の値「作業部屋3」、使用可能プリンターの値「業務用プリンター」の情報が得られている。その場合、例えば、カードIDの値「12345」、ユーザ名の値「A」、入出居室の値「作業部屋3」、使用可能プリンターの値「業務用プリンター」として権限を設定する。つまり、認証したカードの”非公開データ”および””認証していないカードの”公開データ”の組み合わせとして一時的にアクセス権限を変更設定するアクセス権限変更の手段として機能する。なお、本ステップの権限設定は、外部の機器、例えば、作業部屋3に配置された業務用プリンターが行うよう構成しても良い。その場合、印刷開始指示などの処理開始指示の受付の検出の時点でアクセス権限の範囲を決定するよう構成するとよい。
【0062】
図7は、第1実施形態に係る認証システムにおける1枚ICカード内のデータ読み取り時の処理フローチャートである。なお、本詳細フローは前述のステップS610の非公開領域のデータ取得、ステップS611の公開領域のデータ取得の双方に共通である。なお、本データ読み取りのフローは認証フロー(図2)と似ている。差異があるのは以下のステップS701〜S706の部分であるため、その部分についてのみ説明を行う。
【0063】
ステップS701では、ICカード110は、ステップS206で保持した情報を使用し、リクエストデータの作成を行う。ここで、リクエストデータとはICカードのどの領域のデータを取得するためのトリガーとなる信号と、取得に必要なデータである。このトリガーを、取得対象に応じて、公開領域のものと、非公開領域のものを使い分ける。なお、取得に必要なデータはアプリケーションに応じて異なり、例えば、非公開領域のデータ取得にはパスワードが使用される。
【0064】
ステップS702では、R/W端末101は、リクエストデータの作成ができたら、ICカードへ送信する。
【0065】
ステップS703では、ICカード110は、ステップS702で送信された認証のリクエストを受け取る。
【0066】
ステップS704では、ICカード110は、ステップS703で受け取ったデータを演算処理部112で処理し、データの取得処理を開始する。演算処理部112は受け取ったデータの中から、データの取得トリガーとなる信号をみつけ処理を実行する。必要であれば受信したリクエストデータを用いることになる。
【0067】
ステップS705では、ICカード110は、ステップS704で処理し取得したデータをR/W端末101に送信する。尚、ステップS705の処理を行ったあと、ICカード110はリクエスト待ちをする待機状態となる。
【0068】
ステップS706では、R/W端末101は、ステップS705において送信されたデータをR/W部(107等)を介して受信し演算処理部102に入力する。受け取った情報は、アプリケーションに応じて使用されるが、一旦はプログラム記憶部103に保持される。以降はステップS215、ステップS216と同様のフローとなる。
【0069】
以上、詳細に説明したように、第1実施形態に係る認証システムを用いることにより、作業者Aは作業者Bのカード501bに関するパスワードなどを知ることなく、カード501bの公開領域に記憶された情報に基づいた権限を得ることが可能となる。そのため、例えば、作業者Aの居室で使用していた「製本印刷用プリンター」が壊れてしまった場合、作業者Bのカードを借りて「業務用プリンター」に対する権限を設定することが可能となる。そのため作業者Aは「業務用プリンター」の使用権限を借りて作業を継続させることができる。また、作業者Bの非公開情報(パスワード)の流出を防ぐことが可能なほか、作業記録としては認証を行ったカードである作業者Aのものが記録されることとなる。そのため、作業上の課金によるトラブル等も低減することが可能となる。
【0070】
言い換えると、ひとりの作業者が複数のカードを使用した場合に、カード認証によりカード内から得られる公開情報を制御することにより、作業者に必要以上の情報を開示することなく、作業者の求める情報を得ることができる。これによって作業者および管理者は、従来に比較しカード情報管理に柔軟性を持たせることが可能となる。
【0071】
なお、上述の説明では、2枚目のICカードに記憶された権限情報に入れ替えるよう構成したが、1枚目のICカードに記憶された権限情報との和をとるよう構成しても良い。
【0072】
(第2実施形態)
第2実施形態では、認証を行うカードにおける権限情報と公開情報のみ読み取るカードの権限情報との間に競合する情報が存在する場合の認証システムの動作について説明を行う。なお、1枚認証(図2)およびデータ読み取り(図7)については第1実施形態と同様である。ここでは、複数枚認証(図6)におけるステップS614に対応する処理のみが異なる。
【0073】
<複数枚のカードを用いた認証(変形例)>
図8は、第2実施形態に係る2枚のICカード内のデータを示す図である。作業者Aのカードが801aであり、作業者Bのカードが801bである。なお、メタデータ領域502a、503aと、非公開領域502b、503bは図5と同様であるので説明を割愛する。
【0074】
802aはAのカード801aの公開領域の印刷権限の値である。印刷権限の要素としてカラー印刷の項目を持ち、値は「否」である。802bはBのカード801aの公開領域の印刷権限の値である。印刷権限の要素としてカラー印刷の項目を持ち、値は「可」である。803bはBのカード801aの公開領域の大量印刷権限の値である。大量印刷権限の要素として上限枚数の項目を持ち、値は「100〜300」である。
【0075】
上述のデータが記憶されていた場合、上述のステップS612で保持されるデータは以下のようになる。すなわち、カードIDの値「12345」、ユーザ名の値「A」、印刷権限のカラー印刷の値「否」。加えて印刷権限のカラー印刷の値「可」、大量印刷権限の上限値の値「100〜300」である。
【0076】
すなわち、Aはカラー印刷ができなかったのが、Bのカードを使用することによりカラー印刷できるようになり、さらにA単体ではできなかった、大量印刷の作業権限まで得ることになる。このように、一意に優劣を判断できない値の場合は、値を取得した後に使用許可の判断を行うことが必要である。
【0077】
図9は、第2実施形態に係る認証システムにおける利用する値の判定フローチャートである。なお、このフローは第1実施形態におけるステップS614に対応する。なお、第1実施形態の場合と同様、図9のフローの実行は、R/W端末101の演算処理部102で実行されることを想定するが、運用によってはR/W端末101の別アプリケーション、もしくは外部の装置のアプリケーションであってもよい。
【0078】
図10は、第2実施形態における複数枚のICカードから得たデータの一例を示す図である。データがステップS901の処理で扱われるものとなる。
【0079】
1001はデータ全体であり、ICカードの認証の結果、作業者Aに与えられたデータである。1002は非公開領域のデータ部をあらわす。非公開領域のデータは図9のフローでは用いないので説明を省略する。1003は公開領域のデータ部をあらわす。
【0080】
データは「取得元」「属性値(カテゴリ)」「値」の3項目をもつ。取得元はどのカードから得た情報であるかを示す値である。図8にはA、Bの2枚のICカードがあるので、値はAかBのどちらかになる。
【0081】
属性値(カテゴリ)はカード内のどの属性値であるかを示す値である。すなわち図8の802a、802b、803bに相当し「印刷権限」と「大量印刷権限」のどちらかである。
【0082】
値は属性値に対応する取得した値である。<印刷権限>に対してはAのカードなら”可”、Bのカードなら”否”である。<大量印刷権限>の値はBのカードの”100〜300”である。
【0083】
ステップS901では、R/W端末101は、ステップS612で記憶/保持したデータの取得を行う。つまり、ここでは、<印刷権限>および<大量印刷権限>について取得を行う。
【0084】
ステップS902では、R/W端末101は、取得したデータの各属性値をみて、属性値の種類だけループ処理を行う。ここでは公開領域のデータのみを扱う。つまりここでは2回だけループ処理を行う。
【0085】
ステップS903では、R/W端末101は、公開領域の属性値を取り出し、ICカードA、ICカードBに共通した項目であるか判定する。取り出す属性の順番は任意でよい。共通している属性値があればステップS904へ、無ければステップS908へ進む。つまり、<印刷権限>についてはステップS904に進むことになる。
【0086】
ステップS904では、R/W端末101は、値の優位性を判別する。例えば、優位性を判別するプログラムは、演算処理部102から接続部106を介して外部のPCやデータベースへと問い合わせを行うことにより実現される。
【0087】
図11は、外部のデータベースで管理される、値の優位性を判定するデータテーブルである。
【0088】
1101はデータ全体をあらわし、データは「属性値(カテゴリ)」「判別方式」「ランク」の3項目をもつ。
【0089】
1102は属性値(カテゴリ)であり、「印刷権限」と「大量印刷権限」のどちらかである。1103は判別方式であり、「ランク判別」の値を持つ。1104はランクであり、属性値ごとに対応する値を持つ。本実施例では上位、中位、下位の3つに分類する。
【0090】
S903の処理において印刷権限に対し判別する処理が行われたと仮定する。Aのカードでは印刷権限は”否”であり、Bのカードでは印刷権限が”可”であることがわかる。この場合、無条件に作業者Aに、Bのカードの印刷権限が”可”を付与すると、Aが想定外に印刷権限を得てしまうかもしれない。そこでS904で判別を行うのである。
【0091】
まず印刷権限については、1102の印刷権限に対応する値を参照することになる。次に1103の判別方式を参照する。印刷権限に対応する判別方式は「ランク順」である。なお、判別方式の「ランク順」とは、対応するランクの「下位」→「中位」→「上位」の順であるならばデータの付与を行ってよいということである。
【0092】
いま、「上位」の値は”可”であり、「下位」の値は”否”である。Aのカードの情報は”否”であり、Bのカードの情報は”可”である。作業者AにBの情報を付与するのであれば、ランク順は「下位」→「上位」ということになる。よってAにはBの情報である「可」の値を付与して良いと判断できる。
【0093】
ステップS905では、R/W端末101は、ステップS904の判定結果に基づき値が有効か否かを判定する。有効であればステップS906に進み、そうでなければステップS907に進む。
【0094】
ステップS906では、R/W端末101は、値が有効なものであれば作業者Aが使用する値として保持する。
【0095】
ステップS907では、全ての属性値について判断を行ったか否かの判定をする。全ての属性に対して行われたらフローを終了し、残っている場合はS902に戻る。
【0096】
ステップS908では、R/W端末101は、当該属性を作業者に持たせてよいかの判断を行う。つまり、ここでは、<大量印刷権限>について判断を行う。なお、ここでは、ステップS904と同様、演算処理部102から接続部106を介して外部のPCやデータベースへと問い合わせを行う仕組みを想定する。
【0097】
図12は、外部のデータベースで管理される、使用可能な属性値であるかを判定するデータテーブルである。
【0098】
1201はデータ全体をあらわし、データは「属性値(カテゴリ)」「権限使用」の2項目をもつ。
【0099】
1202は属性値(カテゴリ)であり、<印刷権限>と<大量印刷権限>のどちらかである。1203は判別方式であり、「使用可」と「使用不可」の値を持つ。ステップS903の判定で<大量印刷権限>であった場合、AのカードとBのカードには共通していない。ゆえに後述するステップS908の処理が行われる。Aのカードには大量印刷権限がないので、Bのカードから取得した大量印刷権限を利用可能にすると、Aに想定外に作業権限を得てしまうかもしれない。そこでS908で判別を行うのである。
【0100】
まず1202の属性値を参照する。ここでは、<印刷権限><大量印刷権限><メンテナンス権限>の3つの値がある。なお、これは作業者Aのデータであり、Bまたは他のユーザは他の権限項目を持っていてもかまわない。次に、1203の権限使用の値から大量印刷権限に該当するものを参照する。すなわち「使用可」であることがわかる。よって作業者Aは、Aのカード内に大量印刷権限を持っていないが、Bのカードを使えば大量印刷権限の権限を得てもよいということである。一方、例えば、作業者Aはメンテナンスの権限は使用不可である。仮にBのカードからメンテナンス権限の情報を得ても使うことはできない。
【0101】
ステップS909では、R/W端末101は、ステップS908の判定結果に基づき属性値を使用可能か否かを判定する。使用可能であればステップS910に進み、そうでなければステップS907に進む。
【0102】
ステップS910では、R/W端末101は、属性値を作業者Aが使用する属性値として保持する。
【0103】
以上、詳細に説明したように、第2実施形態に係る認証システムを用いることにより、作業者Aは作業者Bのカード501bに関するパスワードなどを知ることなく、カード501bの公開領域に記憶された情報に基づいた権限を得ることが可能となる。また、作業者Bのカードに想定外に高い権限の情報が記憶されていた場合においても、適切に作業者Aに対する権限を設定することが可能となる。
【0104】
(第3実施形態)
第3実施形態では、R/W端末が、唯一のR/W部107を備える場合に、時系列で複数のICカードの認証処理を行う例について説明する。第1および第2実施形態については、複数枚のICカードの認証・読み取りの順序について制約を設けなかった。しかしR/W部が1台のみの場合複数枚のカードを用いた認証方法が問題となる。ここではタイマーを用いて時系列的に複数枚認証を実行する方法について述べる。
【0105】
なお、1枚認証(図2)およびデータ読み取り(図7)については第1実施形態と同様である。ここでは、複数枚認証(図6)に対応するフローが時系列的に実行される点が異なる。
【0106】
<複数枚のカードを用いた時系列的認証>
図13は、第3実施形態に係る認証システムにおける複数枚ICカード使用時の認証処理のフローチャートである。なお、作業者Aのカードが501aであり、作業者Bのカードが501bである。
【0107】
ステップS1301では、R/W端末101は、ICカードの検知を行う。これはステップS601と同様である。
【0108】
ステップS1302では、R/W端末101は、ICカードの起動信号をICカードに向けて発信する。これはステップS603に対応する。ただし、ICカードが何枚存在するかは認識していない。
【0109】
ステップS1303では、ICカード501aは、S1302より発信されたICカード起動信号を受信する。これはS604と同様である。
【0110】
ステップS1304では、R/W端末101およびICカード501aは、認証処理および公開領域/非公開領域のデータの取得処理を行う。前述のように、この処理は1枚認証(図2)およびデータ読み取り(図7)と同様のため説明は省略する。なお、ステップS1305では、パスワード入力のステップである。認証に成功しデータの取得に成功した場合、ICカード501aにおける処理は終了となる(ステップS1306)。認証に失敗した場合はS1301へと戻る。
【0111】
ステップS1307では、R/W端末101は、演算処理部102を使用しタイマーを起動させる。このタイマーは、1枚目のICカードのデータ取得完了から次の(2枚目)ICカードの検知までを計るものである。時間の計測と記録ができるタイマープログラムであればどのようなものでもよい。
【0112】
ステップS1308では、R/W端末101は、タイマーを起動した後、次のICカード501bが検知されるのを待つ。
【0113】
ステップS1309では、R/W端末101は、次のカード(2枚目のカード501b)を検知したら、タイマーを停止する。そして、タイマーの起動から停止までの時間を記録保持する。
【0114】
ステップS1310では、R/W端末101は、S1307〜S1308で測定した時間が、予め指定された値以内であるかどうかの判定を行う。尚、この指定値の取得方法はどのようなものでもよい。例えば、R/W端末101内(プログラム記憶部103など)に保持しておき参照しても良いし、前述のステップS904のように、外部データベースとの連携により実現しても良い。また、1枚目のICカード内の領域から取得してもよい。
【0115】
図14は、タイマーの値による判定値を示す図である。
【0116】
1401はS1310の処理において取得するデータ全体をあらわす。上述したように、このデータの格納場所はどのようなものでもよい。ここでは外部のデータベース内のテーブルを想定している。データは「タイマー値」「処理方法」の2項目をもつ。
【0117】
1402はタイマー値であり、ステップS1301の中で比較する定値として用いられる。1402には「100ms以下」「100ms〜1000ms」「1000ms以上」の3種の値があるが、どのような値であってもよい。1403は処理方法であり、「読み取り不可」「同時認証とみなす」「同時認証とみなさない」の3種の値があり、それぞれタイマー値に対応付けられている。
【0118】
例えば、ステップS1310で判定する値が200msであった場合は、1402の「100ms〜1000ms」に相当するので、S1311に進むこととなる。1000msを越える値であった場合は同時認証とみなさず2枚目のデータ取得は行わない。なお、1403に示すように、値の大小だけでなく処理を関連付けておくことで、S1310において任意に処理の分岐を行わせることも可能となり好適である。
【0119】
ここでは、定値を1000ms(=1秒)とし、1秒以内であった場合はS1311へ進む。一方、1秒より大きい場合は1枚目のカードの認証が1枚認証であったと見なし本フローを終了する。
【0120】
ステップS1311では、R/W端末101は、ICカードの起動信号をICカードに向けて発信する。
【0121】
ステップS1312では、ICカード501bは、S1311より発信されたICカード起動信号を受信する。
【0122】
ステップS1313では、R/W端末101およびICカード501aは、公開領域のデータの取得処理を行う。データの取得後、ICカード501bにおける処理は終了となる(ステップS1314)。
【0123】
ステップS1315では、R/W端末101は、R/W端末101は取得したデータ(503a、504a、505a、504b、505b)を記憶/保持する。取得したデータは、アプリケーションに応じて使用されるが、一旦はプログラム記憶部103に保持される。
【0124】
以上、詳細に説明したように、第3実施形態に係る認証システムを用いることにより、R/W端末101が1つのR/W部しか有さない場合であっても、タイマーによる制御を行うことにより第1実施形態と同様の処理を実現することが可能となる。
【0125】
(他の実施形態)
以上、本発明の実施形態について詳述したが、本発明は、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【0126】
なお、本発明は、前述した実施形態の機能を実現するプログラムを、システム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置が、供給されたプログラムコードを読み出して実行することによっても達成される。従って、本発明の機能処理をコンピュータで実現するために、コンピュータにインストールされるプログラムコード自体も本発明の技術的範囲に含まれる。
【0127】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。
【0128】
プログラムを供給するための記録媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク(CD、DVD)、光磁気ディスク、磁気テープ、不揮発性のメモリカード、ROMなどがある。
【0129】
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【0130】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【0131】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【0132】
【図1】第1実施形態に係る認証システムを構成するR/W端末およびICカードの内部構成を示す図である。
【図2】第1実施形態に係る認証システムにおける1枚ICカード使用時の認証処理のフローチャートである。
【図3】ICカードのデータ記憶部に記憶されるデータを例示的に示す図である。
【図4】第1実施形態に係るICカードのデータ記憶部の公開データ領域に記憶されるデータの一例を示す図である。
【図5】第1実施形態に係る2枚のICカード内のデータを示す図である。
【図6】第1実施形態に係る認証システムにおける複数枚ICカード使用時の認証処理のフローチャートである。
【図7】第1実施形態に係る認証システムにおける1枚ICカード内のデータ読み取り時の処理フローチャートである。
【図8】第2実施形態に係る2枚のICカード内のデータを示す図である。
【図9】第2実施形態に係る認証システムにおける利用する値の判定フローチャートである。
【図10】第2実施形態における複数枚のICカードから得たデータの一例を示す図である。
【図11】外部のデータベースで管理される、値の優位性を判定するデータテーブルである。
【図12】外部のデータベースで管理される、使用可能な属性値であるかを判定するデータテーブルである。
【図13】第3実施形態に係る認証システムにおける複数枚ICカード使用時の認証処理のフローチャートである。
【図14】タイマーの値による判定値を示す図である。
【特許請求の範囲】
【請求項1】
操作部を備え、当該操作部による操作指示に応じた処理を行う情報処理装置であって、
アクセス権限情報と認証情報とを記憶しているカードとの間でデータの送受信を行うカードリーダ・ライタと、
前記カードリーダ・ライタを介して第1のカードに前記操作部により入力された情報を送信し、該情報の送信に基づき前記第1のカードから送信されるデータに基づいて、当該カードの認証の可否を判定する判定手段と、
前記判定手段で前記第1のカードを認証可と判定した場合、該第1のカードのアクセス権限情報および認証情報を読み取り、かつ、前記操作部による処理開始指示の入力待ち状態中に前記カードリーダが第2のカードのアクセス権限情報を読み取った場合、前記第1のカードから読み取ったアクセス権限情報を、一時的に、前記第2のカードのアクセス権限情報を含むように変更するアクセス権限変更手段と、
前記操作部から処理開始指示の入力を検出したとき、当該検出の時点でのアクセス権限情報の範囲の処理を実行する制御手段と、
を備えることを特徴とする情報処理装置。
【請求項2】
前記カードリーダ・ライタは、同時に複数のカードとの間のデータの送受信が可能なよう構成されており、前記第1のカードとの間のデータの送受信と、前記第2のカードとの間のデータの送受信は並行して行われることを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記カードリーダ・ライタは、同時に1枚のカードとの間のデータの送受信が可能なよう構成されており、前記第2のカードとの間のデータの送受信は、前記第1のカードとの間のデータの送受信の後に行われることを特徴とする請求項1に記載の情報処理装置。
【請求項4】
前記第2のカードとの間のデータの送受信が、前記第1のカードとの間のデータの送受信が行われた時刻から予め指定された時間内に行われたとき、前記制御手段が実行されることを特徴とする請求項3に記載の情報処理装置。
【請求項5】
前記アクセス権限情報は前記判定手段による認証の可否にかかわらず読み取り可能な領域に記憶され、前記認証情報は前記判定手段により認証可と判定された場合のみ読み取り可能な領域に記憶されることを特徴とする請求項1乃至4の何れか1項に記載の情報処理装置。
【請求項6】
操作部を備え、当該操作部による操作指示に応じた処理を行う情報処理装置の制御方法であって、
前記情報処理装置は、アクセス権限情報と認証情報とを記憶しているカードとの間でデータの送受信を行うカードリーダ・ライタを備えており、
前記カードリーダ・ライタを介して第1のカードに前記操作部により入力された情報を送信し、該情報の送信に基づき前記第1のカードから送信されるデータに基づいて、当該カードの認証の可否を判定する判定工程と、
前記判定工程で前記第1のカードを認証可と判定した場合、該第1のカードのアクセス権限情報および認証情報を読み取り、かつ、前記操作部による処理開始指示の入力待ち状態中に前記カードリーダが第2のカードのアクセス権限情報を読み取った場合、前記第1のカードから読み取ったアクセス権限情報を、一時的に、前記第2のカードのアクセス権限情報を含むように変更するアクセス権限変更工程と、
前記操作部から処理開始指示の入力を検出したとき、当該検出の時点でのアクセス権限情報の範囲の処理を実行する制御工程と、
を備えることを特徴とする情報処理装置の制御方法。
【請求項7】
操作部を備え、当該操作部による操作指示に応じた処理を行う認証システムであって、
アクセス権限情報と認証情報とを記憶しているカードとの間でデータの送受信を行うカードリーダ・ライタと、
前記カードリーダ・ライタを介して第1のカードに前記操作部により入力された情報を送信し、該情報の送信に基づき前記第1のカードから送信されるデータに基づいて、当該カードの認証の可否を判定する判定手段と、
前記判定手段で前記第1のカードを認証可と判定した場合、該第1のカードのアクセス権限情報および認証情報を読み取り、かつ、前記操作部による処理開始指示の入力待ち状態中に前記カードリーダが第2のカードのアクセス権限情報を読み取った場合、前記第1のカードから読み取ったアクセス権限情報を、一時的に、前記第2のカードのアクセス権限情報を含むように変更するアクセス権限変更手段と、
前記操作部から処理開始指示の入力を検出したとき、当該検出の時点でのアクセス権限情報の範囲の処理を実行する制御手段と、
を備えることを特徴とする認証システム。
【請求項1】
操作部を備え、当該操作部による操作指示に応じた処理を行う情報処理装置であって、
アクセス権限情報と認証情報とを記憶しているカードとの間でデータの送受信を行うカードリーダ・ライタと、
前記カードリーダ・ライタを介して第1のカードに前記操作部により入力された情報を送信し、該情報の送信に基づき前記第1のカードから送信されるデータに基づいて、当該カードの認証の可否を判定する判定手段と、
前記判定手段で前記第1のカードを認証可と判定した場合、該第1のカードのアクセス権限情報および認証情報を読み取り、かつ、前記操作部による処理開始指示の入力待ち状態中に前記カードリーダが第2のカードのアクセス権限情報を読み取った場合、前記第1のカードから読み取ったアクセス権限情報を、一時的に、前記第2のカードのアクセス権限情報を含むように変更するアクセス権限変更手段と、
前記操作部から処理開始指示の入力を検出したとき、当該検出の時点でのアクセス権限情報の範囲の処理を実行する制御手段と、
を備えることを特徴とする情報処理装置。
【請求項2】
前記カードリーダ・ライタは、同時に複数のカードとの間のデータの送受信が可能なよう構成されており、前記第1のカードとの間のデータの送受信と、前記第2のカードとの間のデータの送受信は並行して行われることを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記カードリーダ・ライタは、同時に1枚のカードとの間のデータの送受信が可能なよう構成されており、前記第2のカードとの間のデータの送受信は、前記第1のカードとの間のデータの送受信の後に行われることを特徴とする請求項1に記載の情報処理装置。
【請求項4】
前記第2のカードとの間のデータの送受信が、前記第1のカードとの間のデータの送受信が行われた時刻から予め指定された時間内に行われたとき、前記制御手段が実行されることを特徴とする請求項3に記載の情報処理装置。
【請求項5】
前記アクセス権限情報は前記判定手段による認証の可否にかかわらず読み取り可能な領域に記憶され、前記認証情報は前記判定手段により認証可と判定された場合のみ読み取り可能な領域に記憶されることを特徴とする請求項1乃至4の何れか1項に記載の情報処理装置。
【請求項6】
操作部を備え、当該操作部による操作指示に応じた処理を行う情報処理装置の制御方法であって、
前記情報処理装置は、アクセス権限情報と認証情報とを記憶しているカードとの間でデータの送受信を行うカードリーダ・ライタを備えており、
前記カードリーダ・ライタを介して第1のカードに前記操作部により入力された情報を送信し、該情報の送信に基づき前記第1のカードから送信されるデータに基づいて、当該カードの認証の可否を判定する判定工程と、
前記判定工程で前記第1のカードを認証可と判定した場合、該第1のカードのアクセス権限情報および認証情報を読み取り、かつ、前記操作部による処理開始指示の入力待ち状態中に前記カードリーダが第2のカードのアクセス権限情報を読み取った場合、前記第1のカードから読み取ったアクセス権限情報を、一時的に、前記第2のカードのアクセス権限情報を含むように変更するアクセス権限変更工程と、
前記操作部から処理開始指示の入力を検出したとき、当該検出の時点でのアクセス権限情報の範囲の処理を実行する制御工程と、
を備えることを特徴とする情報処理装置の制御方法。
【請求項7】
操作部を備え、当該操作部による操作指示に応じた処理を行う認証システムであって、
アクセス権限情報と認証情報とを記憶しているカードとの間でデータの送受信を行うカードリーダ・ライタと、
前記カードリーダ・ライタを介して第1のカードに前記操作部により入力された情報を送信し、該情報の送信に基づき前記第1のカードから送信されるデータに基づいて、当該カードの認証の可否を判定する判定手段と、
前記判定手段で前記第1のカードを認証可と判定した場合、該第1のカードのアクセス権限情報および認証情報を読み取り、かつ、前記操作部による処理開始指示の入力待ち状態中に前記カードリーダが第2のカードのアクセス権限情報を読み取った場合、前記第1のカードから読み取ったアクセス権限情報を、一時的に、前記第2のカードのアクセス権限情報を含むように変更するアクセス権限変更手段と、
前記操作部から処理開始指示の入力を検出したとき、当該検出の時点でのアクセス権限情報の範囲の処理を実行する制御手段と、
を備えることを特徴とする認証システム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【公開番号】特開2008−262422(P2008−262422A)
【公開日】平成20年10月30日(2008.10.30)
【国際特許分類】
【出願番号】特願2007−105247(P2007−105247)
【出願日】平成19年4月12日(2007.4.12)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成20年10月30日(2008.10.30)
【国際特許分類】
【出願日】平成19年4月12日(2007.4.12)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]