以下図面により本発明の実施形態について説明する。
(第1の実施形態)
まず、本発明の第1の実施形態について説明する。
本発明の第1の実施形態にしたがった対面業務システムに関わる者について説明する。対面業務システムの主たる関与者は、サービスの提供者とサービス利用者である。
サービス事業者は、サービス利用者に対して業務ないしサービスを提供ないし実行する者である。例えば保険業や配達業を営む事業者はサービス事業者となる。サービス事業者が提供するサービスを支える人、例えば従業員の中で、とくに利用者と対面する職務のある人を以後、提供者と呼ぶ。提供者は、例えば保険業務の外務員であったり、宅配業務の配達員であったりする。
サービス利用者は、サービス事業者ないし提供者によって業務ないしサービスを提供される者である。この人のことを、以後、利用者と呼ぶことにする。利用者は、一般消費者であったり、第三者であったりする。
図1は本発明の第1の実施形態にしたがった対面業務システムの構成例を示すブロック図である。
この対面業務システムは、対面制御サーバ装置1、提供者装置2、利用者装置3、利用者身分証明媒体4、CA5を有する。対面制御サーバ装置1、提供者装置2、利用者装置3は例えばコンピュータなどの機器である。
対面制御サーバ装置1は、サービス事業者が運用するサーバ装置である。
提供者装置2は、提供者が対面制御サーバ装置1にアクセスするための通信端末装置であり、サービス事業者が提供者に配布するノートPCやPDA、携帯電話などである。
利用者装置3は、利用者がサービス事業者の提供するサービスとは無関係に、利用者側の都合で常に手元に携帯している通信端末装置であり、その上に対面業務システムに必要な処理を行うプログラムがインストールされる携帯電話やPDAである。
提供者装置2および利用者装置3は、インターネットなどの通信網10a、10bを介して対面制御サーバ装置1と通信することができる。また、提供者装置2および利用者装置3は、近距離通信路20を介して近距離無線通信を行なう機能を有する。
提供者身分証明媒体4は、提供者のカード状の身分証明証である。提供者身分証明媒体4は、サービス事業者から提供者に配布され、対面業務時には常に提供者によって携帯される。提供者身分証明媒体4には、例えばQRコードなどの二次元コードが取り付けられる。利用者装置3は、提供者身分証明媒体4の二次元コードを読み取ることによって、近距離通信路30を介して提供者身分証明媒体4と近距離通信を行う。提供者身分証明媒体4には、二次元コードとは異なる媒体、たとえばRFIDが取り付けられていて、利用者装置3が、そのRFIDを読み取ることによって近距離通信を行ってもよい。
CA5は、サービス事業者とは関係のない認証局によって運営される情報システムであり、利用者の証明書の管理を行う。
以後、対面制御サーバ装置1、提供者装置2、利用者装置3の構成について説明する。
図2は本発明の第1の実施形態にしたがった対面業務システムの対面制御サーバ装置の構成例を示すブロック図である。
図2に示すように、対面制御サーバ装置1は、通信部101、プログラム記憶部102、提供者認証制御部110、提供者認証部111、提供者情報記憶部112、証明部120、証明書記憶部121、鍵記憶部122、署名部123、利用者認証制御部130、提供者情報提供部140、利用者認証部150、暗号通信管理部170、時刻管理部175、ナンス管理部180、ナンス生成部181、セッション管理部190、セッション情報記憶部192、履歴管理部195、履歴記憶部196を備える。
この対面制御サーバ装置1の通信部101は、提供者装置2、利用者装置3、CA5との間で送受信処理を行なうインタフェース装置である。プログラム記憶部102は、例えばハードディスクドライブや不揮発性メモリなどの記憶媒体であり、対面制御サーバ装置1内の各部の処理を実現するためのプログラムが記憶される。
提供者認証制御部110は、提供者装置2と対面制御サーバ装置1との間での認証処理を制御する。証明部120は、提供者に対して対面制御サーバ装置1の正当性を証明する。
提供者情報記憶部112は、例えばハードディスクドライブや不揮発性メモリなどの記憶媒体であり、提供者の識別情報を含む属性情報が記憶される。図3は本発明の第1の実施形態にしたがった対面業務システムの対面制御サーバ装置の提供者情報記憶部の記憶内容の一例を示す図である。図3に示すように提供者の識別情報は、従業員番号、パスワード、所属、名前、電話番号、顔写真が関連けられる情報である。
提供者認証部111は、提供者から受信した識別認証情報の正当性を、提供者情報記憶部112の記憶内容と照合することで検証する。
証明部120は、対面制御サーバ装置1に接続してくる提供者装置2ないし利用者装置3に対して、当該対面制御サーバ装置1の正当性を証明するために、証明書記憶部121から証明書情報を取得して送信する。署名部123は、与えられたチャレンジに対するレスポンスを生成する。
セッション情報記憶部192は、例えばハードディスクドライブや不揮発性メモリなどの記憶媒体であり、セッション情報を記憶する。図4は、本発明の第1の実施形態にしたがった対面業務システムの対面制御サーバ装置のセッション情報記憶部の記憶内容の一例を示す図である。
証明書記憶部121は、例えばハードディスクドライブや不揮発性メモリなどの記憶媒体であり、対面制御サーバ装置1に対して発行された証明書情報を格納する。
図5は、本発明の第1の実施形態にしたがった対面業務システムの対面制御サーバ装置の証明書記憶部に記憶される証明書の一例を示す図である。
鍵記憶部122は、例えばハードディスクドライブや不揮発性メモリなどの記憶媒体であり、対面制御サーバ装置1の秘密鍵を格納する。つまり、この秘密鍵は、対面制御サーバ装置1に対して発行された証明書に記載されている公開鍵と組になる秘密鍵である。秘密鍵は、例えばRSA1024ビットなどの仕様を持つ鍵である。
署名部123は、与えられたチャレンジに対してレスポンスを生成する。チャレンジとはそれが生成される前には予測できない乱数のことで、レスポンスとは、秘密鍵によってチャレンジが暗号化された情報である。
利用者認証制御部130は、利用者装置3と対面制御サーバ装置1の間の認証処理を制御する。証明部120は、利用者装置3に対して対面制御サーバ装置1の正当性を証明する。
提供者情報提供部140は、利用者装置3に提供するための提供者情報を提供者情報記憶部112から取得する。
利用者認証部150は、利用者の証明書の正当性を検証する。利用者認証部150は、図5に示した形式の証明書の発行者の証明書を内部メモリに予め格納しておき、その証明書によって、発行者による証明書内の署名部分を検証する。
また、利用者認証部150は、チャレンジを生成し、このチャレンジに対して生成されたレスポンスを検証する。
ナンス管理部180は、ナンス生成部181にナンスを生成させ、時刻管理部175から時刻を取得してセッション情報記憶部192に記憶させる。ナンスとは、それが生成される前には予測できない乱数のことである。
ナンス管理部180は、利用者装置3から受信したナンスが有効かどうかを判断する。ナンスの有効期限は予め定められた一定の値であり、例えば「発行時刻から10秒間」等である。このとき例えば図4に示したセッション情報の表の1行目に示されるナンス「5382379232」の発行時刻は「20061019 10:23:34」なので「20061019 10:23:44」まで有効となる。
時刻管理部175は、現在時刻を維持管理する。暗号通信管理部170は、暗号通信を管理する。暗号通信管理部170は、提供者装置2および利用者装置3と暗号鍵を共有する機能も備え、共有した鍵をセッション情報記憶部192に格納し、共有した鍵によって暗号通信を行う。
セッション管理部190は、提供者装置2および利用者装置3との通信セッションの管理を行う。具体的には、セッション管理部190はセッションIDを発行し、提供者装置2や利用者装置3の接続先IDと対応付けてセッション情報記憶部192に格納させる。セッションIDとは、対面制御システムが同時に通信している相手を識別する情報である。本実施例では一つのセッションIDで提供者装置2および利用者装置3との通信を識別する。
履歴管理部195は、対面制御サーバ装置1自身の処理の履歴を管理する。履歴管理部195は、提供者装置2および利用者装置3から報告される処理の履歴も管理してもよい。そのとき、履歴管理部195は、履歴記憶部196に処理の履歴をセッションIDと報告者である提供者装置2ないし利用者装置3ないし対面制御サーバ装置1を関係付けて格納する。
履歴記憶部196は、例えばハードディスクドライブや不揮発性メモリなどの記憶媒体であり、履歴情報を格納する。
履歴管理部195は、履歴記憶部196に格納された履歴の中から、指定された条件を満たす情報を抽出して提示する。
図6は、本発明の第1の実施形態にしたがった対面業務システムの提供者装置の構成例を示すブロック図である。
図6に示すように、提供者装置2は、通信部201、認証制御部202、認証部203、提供者証明部204、プログラム記憶部207、暗号通信部210、鍵記憶部211、利用者招待部220、表示部221、履歴記録部240、時刻管理部250を備える。
この提供者装置2の通信部201は、対面制御サーバ装置1、利用者装置3との間で送受信処理を行なうインタフェース装置である。
認証制御部202は、対面制御サーバ装置1と提供者装置2の間の認証の制御を行う。
接続先認証部203は対面制御サーバ装置1からの証明書を検証する。具体的には、接続先認証部203は証明書の発行者の証明書を内部メモリに予め格納しておき、その証明書によって、発行者による証明書内の署名部を検証する。また、チャレンジを生成し、対面制御サーバ装置1に送信し、対面制御サーバ装置1からレスポンスを受信し、対面制御サーバ装置1の証明書でレスポンスを検証する。
提供者証明部204は、提供者が識別認証情報を入力するための操作部を含む。提供者証明部204は、提供者による入力にしたがって当該提供者の識別認証情報を取得し、対面制御サーバ装置1に送信する。
プログラム記憶部207は、例えばハードディスクドライブや不揮発性メモリなどの記憶媒体であり、提供者装置2内の各部の処理を実現するためのプログラムが記憶される。
利用者招待部220は、利用者装置3に、対面制御サーバ装置1に接続する手段となる利用者招待情報を提供する。表示部221は、対面制御サーバ装置1からの利用者招待情報を二次元イメージとして表示する。2次元イメージの表示ではなく、赤外線によって利用者招待情報を発信してもよいし、Bluetooth(登録商標)によって利用者招待情報を発信してもよい。
利用者招待部220は履歴記録部240に、二次元イメージを表示した処理を行ったことを記録させる。履歴記録部240は、提供者装置2の処理の履歴を記録する。時刻管理部250は、現在の時刻を維持管理する。
暗号通信部210は、対面制御サーバ装置1との暗号通信を制御する。また、暗号通信部210は、対面制御サーバ装置1と鍵を共有し、この鍵によって暗号通信を行う。
図7は、本発明の第1の実施形態にしたがった対面業務システムの利用者装置の構成例を示すブロック図である。
図7に示すように、利用者装置3は、通信部301、招待受部302、表示部303、プログラム記憶部304、接続先認証部310、証明書記憶部320、署名部330、鍵記憶部331、認証制御部350、利用者証明部351、暗号通信部360、鍵記憶部361、提供者識別情報検証部370、履歴記録部380、時刻管理部382を備える。
この利用者装置3の通信部301は、対面制御サーバ装置1、提供者装置2との間で送受信処理を行なうインタフェース装置である。
招待受部302は、提供者装置2によって表示された二次元イメージから利用者招待情報を抽出し、この利用者招待情報の中からナンスを抽出して、それを対面制御サーバ装置1に送信する。招待受部302は二次元イメージの読み取りのための撮影装置や操作部を含む。プログラム記憶部304は、例えばハードディスクドライブや不揮発性メモリなどの記憶媒体であり、利用者装置3内の各部の処理を実現するためのプログラムが記憶される。
認証制御部350は、利用者装置3と対面制御サーバ装置1の間の認証処理を行う。接続先認証部310は、対面制御サーバ装置1からの証明書の正当性を検証する。具体的には、接続先認証部310は証明書の発行者の証明書を内部メモリに予め格納しておき、その証明書によって、発行者による証明書内の署名部を検証する。接続先認証部310はチャレンジを生成し、対面制御サーバ装置1に送信し、対面制御サーバ装置1からレスポンスを受信し、受信したレスポンスを対面制御サーバ装置1から受信した対面制御サーバ装置1の証明書によって検証する。
証明書記憶部320は、例えばハードディスクドライブや不揮発性メモリなどの記憶媒体であり、利用者に対して発行された証明書を格納する。
利用者証明部351は、証明書記憶部320に格納されている利用者の証明書を対面制御サーバ装置1に送信し、かつ、対面制御サーバ装置1から送付されるチャレンジに対して署名部330にレスポンスを生成させ、対面制御サーバ装置1に送付することで、利用者の正当性を対面制御サーバ装置1に対して証明する。
鍵記憶部331は、例えばハードディスクドライブや不揮発性メモリなどの記憶媒体であり、利用者に対して発行された証明書に記載されている公開鍵と組になる秘密鍵を格納する。また、署名部330は、与えられたチャレンジに対してレスポンスを生成する。
提供者識別情報検証部370は、対面制御サーバ装置1から取得した提供者識別情報と、提供者身分証明媒体4から取得した提供者識別情報との整合性を検証する。
暗号通信部360は、対面制御サーバ装置1との暗号通信を制御する。また、暗号通信部360は、対面制御サーバ装置1と鍵を共有し、この鍵によって暗号通信を行う。
履歴記録部380は、利用者装置3の処理の履歴を記録する。時刻管理部382は、現在の時刻を維持管理する。
図8は、本発明の第1の実施形態にしたがった対面業務システムの提供者身分証明媒体の外観の一例を示す図である。
図8に示すように、提供者身分証明媒体4には二次元コード4aが記載されている。図9は、本発明の第1の実施形態にしたがった対面業務システムの提供者身分証明媒体の二次元コードの内容の一例を示す図である。署名はサービス事業者の署名であり、対面制御サーバ装置1の鍵記憶部122に格納される秘密鍵を使って生成される。署名の対象は、所属、名前、従業員番号である。なお、署名はサービス事業者側が証明していることが明らかな署名であれば、鍵記憶部122に格納されている秘密鍵を用いずともよい。
以下、このような構成の対面業務システムの処理について説明する。図10は、本発明の第1の実施形態にしたがった対面業務システムの対面業務サーバ装置と提供者装置と間の認証処理の一例を示すフローチャートである。
まず、事前準備として、サービス事業者は、事前に対面制御サーバ装置1の公開鍵および秘密鍵を生成し、公開鍵に対して証明書をCA5に発行してもらう。この証明書は対面制御サーバ装置1の証明書記憶部121に格納される。秘密鍵は鍵記憶部122に格納される。このとき、図5に示した形式の証明書における対象者の部分は、サービス事業者の識別子となる。
サービス事業者は、提供者の識別情報を事前に対面制御サーバ装置1の提供者情報記憶部112に登録する。図3に示した例では、提供者情報記憶部112に二人分の提供者情報が登録される。
提供者情報記憶部112に登録された情報にもとづいた情報が提供者身分証明媒体4に格納されたあと、提供者身分証明媒体4は提供者に配布される。また、提供者装置2も提供者に配布される。
利用者は、事前に当該利用者の公開鍵および秘密鍵を生成し、公開鍵に対して証明書をCA5に発行してもらう。この証明書は利用者装置3の証明書記憶部320に格納される。秘密鍵は鍵記憶部331に格納される。
次に、提供者が対面制御サーバ装置1を認証する処理について説明する。
まず、提供者装置2の認証制御部202は、提供者装置2の接続先IDを含む接続先認証要求信号を通信部201を介して対面制御サーバ装置1に送信する(ステップS1)。
対面制御サーバ装置1の通信部101が提供者装置2からの認証要求信号を受信すると、セッション管理部190は、提供者装置2とのセッションの管理を開始する。具体的には、セッション管理部190はセッションIDを発行し、提供者装置2の接続先IDと対応付けてセッション情報記憶部192に格納する(ステップS2)。以後、各機器の間で送受信される情報にはセッションIDが付されるとする。
次に、対面制御サーバ装置1の証明部120は、証明書を証明書記憶部121から読み出す。提供者認証制御部110は、この証明書を通信部101を介して提供者装置2に送信する(ステップS3)。
提供者装置2の通信部201が対面制御サーバ装置1からの証明書を受信すると、認証制御部202は、この証明書の検証を接続先認証部203に指示する。接続先認証部203は対面制御サーバ装置1からの証明書の正当性を検証する(ステップS4)。
接続先認証部203は証明書が正当であると、チャレンジを生成する。認証制御部202は、この生成されたチャレンジを通信部201を介して対面制御サーバ装置1に送信する(ステップS5)。
対面制御サーバ装置1の通信部101が提供者装置2からのチャレンジを受信する(ステップS6)と、提供者認証制御部110は、証明部120を介して署名部123に当該チャレンジのレスポンスの生成を指示する。
署名部123は、鍵記憶部122に記憶される秘密鍵をもとに提供者装置2からのチャレンジに対するレスポンスを生成する。証明部120は、この生成されたレスポンスを提供者認証制御部110に出力し、提供者認証制御部110は、このレスポンスを通信部101を介して提供者装置2に送信する(ステップS7)。
提供者装置2の通信部201が対面制御サーバ装置1からのレスポンスを受信すると、認証制御部202は、このレスポンスの検証を接続先認証部203に指示する。接続先認証部203は対面制御サーバ装置1からのレスポンスを、先ほど取得した対面制御サーバ装置1の証明書を使って検証する(ステップS8)。
以上で、提供者による対面制御サーバ装置1の認証が終了する。
次に、対面制御サーバ装置1による提供者の認証について説明する。
まず、接続先認証部203はレスポンスの正当性を検証した場合に、これを認証制御部202に通知する。認証制御部202は、接続先認証部203からの通知を受けると、提供者の識別認証情報の入力画面を表示部221に表示させる。
図11は、本発明の第1の実施形態にしたがった対面業務システムの提供者装置における識別認証情報の入力画面の一例を示す図である。
この画面にしたがって、提供者が提供者証明部204を用いて識別認証情報であるIDとパスワードを画面上の領域f1およびf2にそれぞれ入力すると、提供者証明部204は、この入力された情報を認証制御部202に出力する。認証制御部202は、この識別認証情報を通信部201を介して対面制御サーバ装置1に送信する(ステップS9)。この例では、識別認証情報が暗号化されない通信路で通信されるが、識別認証の前に暗号通信路を確立しておいてもよい。
対面制御サーバ装置1の通信部101が提供者装置2からの識別認証情報を受信する(ステップS10)と、提供者認証制御部110は、識別認証情報の検証を提供者認証部111に指示する。提供者認証部111は、提供者装置2からの識別認証情報と、提供者情報記憶部112に格納されている識別認証情報とが同じものであるか確認することで識別認証情報の正当性を検証する(ステップS11)。
提供者認証部111は、識別認証情報が正当である場合には、提供者情報記憶部112に格納されている識別認証情報と関連付けられる従業員番号を提供者認証制御部110に出力する。提供者認証制御部110は、従業員番号のセッション情報への反映をセッション管理部190に指示する。
セッション管理部190は、指示を受けた従業員番号をセッション情報記憶部192に記憶されるセッション情報データベース上の現在のセッションIDと対応付ける。
次に、対面制御サーバ装置1と提供者装置2間の鍵配送について説明する。ここではDiffie−Hellman鍵配送の手法を示すが、本発明はこの方法にとらわれるものではない。
まず、対面制御サーバ装置1の暗号通信管理部170は、素数pを生成する。つぎに、暗号通信管理部170は、整数環Zの素数pによる剰余環Zpの可逆元全体のなす剰余群Zp*における原始元gをひとつ選ぶ。
暗号通信管理部170は、乱数xを生成して、以下の式(1)の計算を行う。
a=g^x mod p−1 ・・・式(1)
暗号通信管理部170は、計算した乱数であるa、および素数p、原始元gを通信部101を介して提供者装置2に送信する(ステップS12)。素数p、原始元gは、公開して、だれでも入手できるような状態にしてもよい。
提供者装置2の通信部201が対面制御サーバ装置1からの乱数および素数pおよび原始元gを受信する(ステップS13)と、暗号通信部210は乱数yを生成して、以下の式(2)の計算を行う。
b=g^y mod p−1 ・・・式(2)
暗号通信部210は、計算した乱数であるbを通信部201を介して対面制御サーバ装置1に送信する(ステップS14)。
対面制御サーバ装置1の通信部101が提供者装置2からの乱数を受信する(ステップS15)と、暗号通信管理部170は、以下の式(3)の計算を行う。
ka=b^x mod p ・・・式(3)
暗号通信管理部170は、この計算したkaを暗号鍵とし、これをセッション管理部190に出力する(ステップS18)。セッション管理部190は、この暗号鍵を提供者暗号通信鍵としてセッション情報記憶部192に記憶されるセッション情報データベース上の現在のセッションIDと対応付ける。
また、提供者装置2の暗号通信部210は以下の式(4)の計算を行う。
kb=a^y mod p ・・・式(4)
暗号通信部210はこの計算したkbを暗号鍵とし、鍵記憶部211に格納する(ステップS16)。
これら生成されたkaおよびkbは常に等しい。それをkとする。
対面制御サーバ装置1の暗号通信管理部170は、kを鍵として暗号通信を開始する(ステップS19)。
また、提供者装置2の暗号通信部210はkを鍵として暗号通信を開始する(ステップS17)。
次に、利用者招待処理について説明する。図12は、本発明の第1の実施形態にしたがった対面業務システムによる利用者招待情報の通信処理の一例を示すフローチャートである。
まず、提供者装置2の利用者招待部220は、利用者招待情報要求信号を通信部201を介して対面制御サーバ装置1に送信する(ステップS31)。
対面制御サーバ装置1の通信部101が提供者装置2からの要求信号を受信する(ステップS32)と、セッション管理部190は、これをナンス管理部180に通知する。ナンス管理部180は、ナンスの生成をナンス生成部181に指示する。
すると、ナンス生成部181ナンスを生成して、ナンス管理部180に出力する(ステップS33)。ナンス管理部180は、このナンスをセッション管理部190に出力する。セッション管理部190は、このナンスを入力すると時刻管理部175により管理する現在時刻をナンスの発行時刻としてナンスとともに出力する。
セッション管理部190は、ナンス管理部180からのナンスおよび発行時刻を入力すると、このナンスおよび発行時刻の情報をセッション情報記憶部192に記憶されるセッション情報データベース上の現在通信中のセッションIDに関連付ける。
セッション管理部190は、接続先情報およびナンスでなる利用者招待情報を通信部101を介して提供者装置2に送信する(ステップS34)。接続先情報は対面制御サーバ装置1に固有の接続先情報である。
提供者装置2の通信部201が対面制御サーバ装置1からの利用者招待情報を受信する(ステップS35)と、利用者招待部220はこの受信を確認したうえで、この情報の二次元コードを生成して表示部221に表示させる。
図13は、本発明の第1の実施形態にしたがった対面業務システムの提供者装置における利用者招待情報の表示画面の一例を示す図である。
利用者装置3の招待受部302は、提供者装置2の表示部221に表示される二次元コードに撮影装置を向けて表示部303に表示させながら読み取ることによって、利用者招待情報を取得する(ステップS36,37)。図14は、本発明の第1の実施形態にしたがった対面業務システムの利用者装置における利用者招待情報の表示画面の一例を示す図である。利用者がこの表示画面を参照しながら招待受部302の操作部を操作して画面上の「読み取り」と表記されたアイコンを選択することで二次元コードが読み取られる。なお、利用者招待情報の二次元コード化は、前述したように提供者装置2が行ってもよいし、対面制御サーバ装置1が利用者招待情報を二次元コード化して提供者装置2に送信してもよい。
利用者装置3の招待受部302は、利用者招待情報を取得すると、この情報に含まれる接続先情報に対応する装置である対面制御サーバ装置1にナンスおよび利用者装置3の接続先IDを含む検証要求信号を通信部301を介して送信する(ステップS38)。
対面制御サーバ装置1の通信部101が利用者装置3からの信号を受信する(ステップS39)と、セッション管理部190は、セッション情報記憶部192に記憶されるデータベースと受信済みの信号に含まれるナンスを照合し、この受信したナンスがデータベース上に存在するか否かを検証する。受信済みのナンスがデータベース上に存在する場合には、このナンスの有効の有無の判別をナンス管理部180に指示する。
すると、ナンス管理部180は時刻管理部175が管理する現在時刻を取得し、この現在時刻と受信済みナンスの発行時刻とを比較し、現在時刻が発行時刻から10秒経過していない場合には、ナンスが有効期限以内であると判別する(ステップS40)。このようにナンスの有効期限を10秒程度に設定することによって、対面していないと困難な処理を実現している。
また、セッション管理部190は、利用者装置3の接続先IDをセッション情報記憶部192に記憶されるセッション情報データベース上の現在のセッションIDと対応付ける。
次に、利用者による対面制御サーバ装置1の認証の流れを説明する。図15は、本発明の第1の実施形態にしたがった対面業務システムの対面業務サーバ装置と利用者装置との間の認証処理の一例を示すフローチャートである。
まず、対面制御サーバ装置1の証明部120は、証明書を証明書記憶部121から読み出す。利用者認証制御部130は、この証明書を通信部101を介して利用者装置3に送信する(ステップS51)。
利用者装置3の通信部301が対面制御サーバ装置1からの証明書を受信すると、認証制御部350は、この証明書の検証を接続先認証部310に指示する。接続先認証部310は対面制御サーバ装置1からの証明書の正当性を検証する(ステップS52)。
接続先認証部310は証明書が正当であると、チャレンジを生成する。接続先認証部310は、この生成されたチャレンジを認証制御部350に出力する。認証制御部350は、このチャレンジを通信部301を介して対面制御サーバ装置1に送信する(ステップS53)。
対面制御サーバ装置1の通信部101が利用者装置3からのチャレンジを受信する(ステップS54)と、利用者認証制御部130は、証明部120を介して署名部123に当該チャレンジに対するレスポンスの生成を指示する。
署名部123は、鍵記憶部122に記憶される秘密鍵をもとに利用者装置3からのチャレンジに対するレスポンスを生成する。証明部120は、この生成されたレスポンスを利用者認証制御部130に出力し、利用者認証制御部130は、このレスポンスを通信部101を介して利用者装置3に送信する(ステップS55)。
利用者装置3の通信部301が対面制御サーバ装置1からのレスポンスを受信すると、認証制御部350は、このレスポンスの検証を接続先認証部310に指示する。接続先認証部310は対面制御サーバ装置1からのレスポンスを、先ほど取得した対面制御サーバ装置1の証明書を使って検証する(ステップS56)。
以上で、利用者による対面制御サーバ装置1の認証が終了する。
次に、対面制御サーバ装置1と利用者装置3間の鍵配送について説明する。まず、利用者装置3の暗号通信部360は、前述した対面制御サーバ装置1と提供者装置2間の鍵配送時と同じ手順で乱数のaを計算し、このaを通信部301を介して対面制御サーバ装置1に送信する(ステップS57)。
対面制御サーバ装置1の通信部101が利用者装置3からの乱数を受信する(ステップS58)と、暗号通信管理部170は乱数yを生成し、前述した式(2)にしたがって乱数bを計算し、このbを通信部101を介して利用者装置3に送信する(ステップS59)。
利用者装置3の通信部301が対面制御サーバ装置1からの乱数を受信する(ステップS60)と、暗号通信部360は、前述した式(3)にしたがってkaを計算し、このkaを暗号鍵として鍵記憶部361に格納する(ステップS63)。
また、対面制御サーバ装置1の暗号通信管理部170は前述した式(4)にしたがってkbを計算し、このkbを暗号鍵としてセッション管理部190に出力する(ステップS61)。セッション管理部190は、この暗号鍵を利用者暗号通信鍵としてセッション情報記憶部192に記憶されるセッション情報データベース上の現在のセッションIDと対応付ける。
対面制御サーバ装置1の暗号通信管理部170は、kを鍵として暗号通信を開始する(ステップS62)。
また、利用者装置3の暗号通信部360はkを鍵として暗号通信を開始する(ステップS64)。
次に、利用者認証の処理の流れを説明する。図16は、本発明の第1の実施形態にしたがった対面業務システムによる提供者識別情報の通信処理の一例を示すフローチャートである。
まず、利用者が提供者を認証する処理について説明する。対面制御サーバ装置1のセッション管理部190は、セッション情報記憶部192に記憶される現在の通信のセッションIDと対応付けられる従業員番号を読み出して、提供者認証制御部110に通知する。すると、提供者認証制御部110は、従業員番号に対応する提供者情報の読み出しを利用者認証制御部130に指示する。
すると、利用者認証制御部130は提供者情報提供部140に提供者情報取得の指示を出す。すると提供者情報提供部140は、提供者情報記憶部112に記憶される提供者情報データベース上の従業員番号と対応付けられる所属、名前、電話番号および顔写真の情報を読み出して従業員番号とともに利用者認証制御部130に出力する。利用者認証制御部130は、これらの情報を提供者識別情報として通信部101を介して利用者装置3に送信する(ステップS71)。
利用者装置3の通信部301が対面制御サーバ装置1からの提供者識別情報を受信する(ステップS72)と、招待受部302は、これらの従業員番号、所属、名前、電話番号および顔写真を表示部303に表示させる。また、提供者識別情報検証部370は受信済みの提供者識別情報を内部メモリに保持する。
図17は、本発明の第1の実施形態にしたがった対面業務システムの利用者装置における提供者識別情報の表示画面の一例を示す図である。
ここで、利用者は、提供者に提供者身分証明媒体4の提示を求めるとする。
利用者装置3の招待受部302は、提供者身分証明媒体4に取り付けられている二次元コードを読み取る(ステップS73)。
提供者識別情報検証部370は、この読み取った二次元コードに付いている署名を検証する。次に、この署名と対応する所属、名前、従業員番号を前述したように対面制御サーバ装置1から受信した提供者識別情報と照合することで提供者を確認する(ステップS74)。また、提供者識別情報検証部370は読み取った情報を表示部303に表示させるので利用者は提供者を目視によって確認できる。
次に、対面制御サーバ装置1が利用者を認証する処理について説明する。まず、利用者装置3の利用者証明部351は、利用者証明書を証明書記憶部320から読み出す。利用者証明部351はこの証明書を認証制御部350に出力する。認証制御部350は、この証明書を通信部301を介して対面制御サーバ装置1に送信する(ステップS75)。
対面制御サーバ装置1の通信部101が利用者装置3からの証明書を受信すると、利用者認証制御部130は、この証明書の検証を利用者認証部150に指示する。利用者認証部150は利用者装置3からの証明書の正当性を検証する(ステップS76)。
利用者認証部150は証明書が正当であると、チャレンジを生成する。利用者認証制御部130は、この生成されたチャレンジを通信部101を介して利用者装置3に送信する(ステップS77)。
利用者装置3の通信部301が対面制御サーバ装置1からのチャレンジを受信する(ステップS78)と、認証制御部350は、利用者証明部351を介して署名部330に当該チャレンジに対するレスポンスの生成を指示する。
署名部330は、鍵記憶部331に記憶される秘密鍵をもとに対面制御サーバ装置1からのチャレンジに対するレスポンスを生成する。利用者証明部351は、この生成されたレスポンスを認証制御部350に出力し、認証制御部350は、このレスポンスを通信部301を介して対面制御サーバ装置1に送信する(ステップS79)。
対面制御サーバ装置1の通信部101が利用者装置3からのレスポンスを受信すると、利用者認証制御部130は、このレスポンスの検証を利用者認証部150に指示する。利用者認証部150は利用者装置3からのレスポンスを、すでに受信している利用者の証明書にもとづいて検証する(ステップS80)。以上で、対面制御サーバ装置1による利用者の認証が終了する。
以上のように、本発明の第1の実施形態にしたがった対面業務システムでは、対面制御サーバ装置1が提供者装置2からの指示にしたがってナンスを生成して提供者装置2に送信し、提供者装置2はこのナンスを近距離通信により利用者装置3へ送信し、利用者装置がこのナンスを対面制御サーバ装置1に送信した際に、対面制御サーバ装置1は生成済みのナンスと受信したナンスを照合する。これによりサービスの提供者と利用者が対面したことを正しく確認することができる。
この実施形態では、提供者装置2と提供者身分証明媒体4が別のものであると説明したが、提供者装置2に二次元コードを取り付けることで提供者装置2と提供者身分証明媒体4を一体化してもよい。
(第2の実施形態)
次に、本発明の第2の実施形態について説明する。なお、本実施形態に係るシステムの構成のうち第1の実施形態で説明した構成と同様の構成の説明は省略する。
図18は、本発明の第2の実施形態にしたがった対面業務システムの提供者装置の構成例を示すブロック図である。
本発明の第2実施形態にしたがった対面制御システムは提供者装置2に代えて提供者装置2bを有する。この提供者装置2bは、図18に示すように、提供者装置2が備えていた提供者証明部204に代えて提供者証明部204bを備え、署名部205と鍵記憶部206をさらに備える。鍵記憶部206は提供者秘密鍵を記憶する。
図19は、本発明の第2の実施形態にしたがった対面業務システムのサーバ装置の記憶部の記憶内容の一例を示す図である。
この第2の実施形態では、対面制御サーバ装置1は提供者情報記憶部112に代えて記憶部112bを備える。この記憶部112bは提供者情報記憶部112に記憶される提供者情報データベースに加え、証明書リポジトリを有する。証明書リポジトリは提供者の証明書を記憶する。また、提供者情報データベースではパスワードの代わりに証明書IDが管理される。
第1の実施形態では、図5、図6に示すように利用者による対面制御サーバ装置1の認証処理と、対面制御サーバ装置1による利用者の認証処理を別々に行っていたが、第2の実施形態では、これから説明するように、これらの処理を少ない通信回数により行うことができる。
また、第1の実施形態では、対面制御サーバ装置1による提供者の認証にIDやパスワードを用いたが、第2の実施形態ではIDやパスワードの代わりに提供者用の秘密鍵を用いて対面制御サーバ装置1による提供者の認証を行う。
次に、利用者による対面制御サーバ装置1の認証処理と、対面制御サーバ装置1による利用者の認証処理について説明する。図20は、本発明の第2の実施形態にしたがった対面業務システムの各種装置間の一例を示すフローチャートである。
まず、利用者装置3の認証制御部350は、利用者装置3の接続先IDを含む接続先認証要求信号を通信部301を介して対面制御サーバ装置1に送信する(ステップS91)。
対面制御サーバ装置1の通信部101が利用者装置3からの認証要求信号を受信すると、セッション管理部190は、利用者装置3とのセッションの管理を開始する。具体的には、セッション管理部190はセッションIDを発行し、利用者装置3の接続先IDと対応付けてセッション情報記憶部192に格納する(ステップS92)。
次に、対面制御サーバ装置1のセッション管理部190は証明書とチャレンジの送信を利用者認証制御部130に指示する。すると、利用者認証制御部130は証明書の読み出しを証明部120に指示し、チャレンジの生成を利用者認証部150に指示する。
すると、証明部120は、証明書を証明書記憶部121から読み出す。利用者認証部150はチャレンジを生成する。
利用者認証制御部130は、証明部120が読み出した証明書および利用者認証部150が生成したチャレンジを通信部101を介して利用者装置3に送信する(ステップS93)。図20では、対面制御サーバ装置1に対して発行された証明書を「証明書(サ)」と表記し、対面制御サーバ装置1によって生成されたチャレンジを「チャレンジ(サ)」と表記している。
利用者装置3の通信部301が対面制御サーバ装置1からの証明書やチャレンジを受信する(ステップS94)と、認証制御部350は、この証明書の検証を接続先認証部310に指示する。接続先認証部310は対面制御サーバ装置1からの証明書の正当性を検証する(ステップS95)。
接続先認証部310は証明書が正当であると、これを認証制御部350に通知する。すると認証制御部350は、利用者証明部351を介して署名部330に対面制御サーバ装置1からのチャレンジに対するレスポンスの生成を指示し、利用者証明部351に利用者証明書の読み出しを指示する。
署名部330は、鍵記憶部331に記憶される秘密鍵をもとに対面制御サーバ装置1からのチャレンジに対するレスポンスを生成する(ステップS96)。利用者証明部351は、この生成されたレスポンスを認証制御部350に出力する。
また、接続先認証部310は証明書が正当であると、チャレンジを生成し、これを認証制御部350に出力する(ステップS97)。
また、利用者証明部351は、利用者証明書を証明書記憶部320から読み出し、この証明書を認証制御部350に出力する。認証制御部350は、読み出された証明書、生成されたレスポンスおよびチャレンジを通信部301を介して対面制御サーバ装置1に送信する(ステップS98)。図20では、利用者装置3に対して発行された証明書を「証明書(利)」と表記し、利用者装置3によって生成されたチャレンジを「チャレンジ(利)」と表記し、利用者装置3によって生成されたレスポンスを「レスポンス(利)」と表記している。
対面制御サーバ装置1の通信部101が利用者装置3からの証明書、チャレンジおよびレスポンスを受信する(ステップS99)と、利用者認証制御部130は、この証明書およびレスポンスの検証を利用者認証部150に指示する。利用者認証部150は利用者装置3からの証明書の正当性を検証する(ステップS100)。
また、利用者認証部150は、証明書の検証と同時に(ないしその前後に)、レスポンスの検証を、検証された証明書に基づいて行う。
利用者認証制御部130は、証明部120を介して署名部123に利用者装置3からのチャレンジに対するレスポンスの生成を指示する。
署名部123は、鍵記憶部122に記憶される秘密鍵をもとに利用者装置3からのチャレンジに対するレスポンスを生成する(ステップS101)。証明部120は、この生成されたレスポンスを利用者認証制御部130に出力する。
利用者認証制御部130はレスポンスを入力すると暗号通信鍵の生成をセッション管理部190を介して暗号通信管理部170へ指示する。ここでの通信鍵は例えばTriple DESなどの共通鍵である。
暗号通信管理部170は通信鍵を生成する。暗号通信管理部170は利用者装置3の公開鍵を内部メモリに記憶しており、生成済みの通信鍵を利用者装置3の公開鍵を用いて暗号化して利用者認証制御部130に出力する(ステップS102,103)。利用者認証制御部130は、生成されたレスポンスや通信鍵を通信部101を介して利用者装置3に送信する(ステップS104)。図20では、対面制御サーバ装置1からのレスポンスによって生成された「レスポンス(サ)」と表記している。
利用者装置3の通信部301が対面制御サーバ装置1からのレスポンスや通信鍵を受信する(ステップS105)と、認証制御部350は、このレスポンスの検証を接続先認証部310に指示し、通信鍵の復号を認証制御部350に指示する。
接続先認証部310は対面制御サーバ装置1からのレスポンスを検証する。また、認証制御部350は対面制御サーバ装置1からの暗号通信鍵の復号を利用者証明部351を介して署名部330に指示する。署名部330は、鍵記憶部331に記憶される秘密鍵を用いて対面制御サーバ装置1からの暗号通信鍵を復号し、これを利用者証明部351および認証制御部350を介して暗号通信部360に出力する(ステップS106)。
暗号通信部360は復号された通信鍵を用いて対面制御サーバ装置1との暗号通信を開始する(ステップS108)。また、対面制御サーバ装置1の暗号通信管理部170は生成済みの通信鍵を用いて暗号通信を開始する(ステップS107)。
また、図20で示したその後の利用者による提供者の認証処理であるステップS109からステップS112までの処理は、前述したステップS71からステップS74までの処理と同じである。
次に、提供者による対面制御サーバ装置1の認証処理と、対面制御サーバ装置1による提供者の認証処理について説明する。図21は、本発明の第2の実施形態にしたがった対面業務システムの対面業務サーバ装置と提供者装置との間の認証処理の一例を示すフローチャートである。
まず、提供者装置2の認証制御部202は、提供者装置2の接続先IDを含む接続先認証要求信号を通信部201を介して対面制御サーバ装置1に送信する(ステップS121)。
対面制御サーバ装置1の通信部101が提供者装置2からの認証要求信号を受信すると、セッション管理部190は、提供者装置2とのセッションの管理を開始する。具体的には、セッション管理部190はセッションIDを発行し、提供者装置2の接続先IDと対応付けてセッション情報記憶部192に格納する(ステップS122)。
次に、対面制御サーバ装置1のセッション管理部190は証明書とチャレンジの送信を提供者認証制御部110に指示する。すると、提供者認証制御部110は証明書の読み出しを証明部120に指示し、チャレンジの生成を提供者認証部111に指示する。
すると、証明部120は、証明書を証明書記憶部121から読み出す。提供者認証部111はチャレンジを生成する。
提供者認証制御部110は、証明部120が読み出した証明書および提供者認証部111が生成したチャレンジを通信部101を介して提供者装置2に送信する(ステップS123)。
提供者装置2の通信部201が対面制御サーバ装置1からの証明書やチャレンジを受信する(ステップS124)と、認証制御部202は、この証明書の検証を接続先認証部203に指示する。接続先認証部203は対面制御サーバ装置1からの証明書の正当性を検証する(ステップS125)。
接続先認証部203は証明書が正当であると、これを認証制御部202に通知する。すると認証制御部202は、提供者証明部204bを介して署名部205に対面制御サーバ装置1からのチャレンジのレスポンスの生成を指示し、提供者証明部204bに提供者証明書の読み出しを指示する。
署名部205は、鍵記憶部206に記憶される秘密鍵をもとに対面制御サーバ装置1からのチャレンジに対するレスポンスを生成する(ステップS126)。提供者証明部204bは、この生成されたレスポンスを認証制御部202に出力する。
また、接続先認証部203は証明書およびレスポンスが正当であると、チャレンジを生成し、これを認証制御部202に出力する(ステップS127)。
また、提供者証明部204bは、証明書記憶部230に記憶されている提供者証明書を読み出し、この証明書を認証制御部202に出力する。認証制御部202は、読み出された証明書、生成されたレスポンスおよびチャレンジを通信部201を介して対面制御サーバ装置1に送信する(ステップS128)。図20では、提供者装置2に対して発行された証明書を「証明書(提)」と表記し、提供者装置2によって生成されたチャレンジを「チャレンジ(提)」と表記し、提供者装置2によって生成されたレスポンスを「レスポンス(提)」と表記している。
対面制御サーバ装置1の通信部101が提供者装置2からの証明書、チャレンジおよびレスポンスを受信する(ステップS129)と、提供者認証制御部110は、この証明書およびレスポンスの検証を提供者認証部111に指示する。提供者認証部111は提供者装置2からの証明書の正当性を、記憶部112b内の証明書リポジトリ内の証明書および提供者情報データベースとの照合により検証する(ステップS130)。また、提供者認証部111は、提供者装置2からのレスポンスの正当性を、検証の終わった証明書に基づいて検証する。
提供者認証制御部110は、証明部120を介して署名部123に提供者装置2からのチャレンジに対するレスポンスの生成を指示する。
署名部123は、鍵記憶部122に記憶される秘密鍵をもとに提供者装置2からのチャレンジに対するレスポンスを生成する(ステップS131)。証明部120は、この生成されたレスポンスを提供者認証制御部110に出力する。
提供者認証制御部110はレスポンスを入力すると暗号通信鍵の生成をセッション管理部190を介して暗号通信管理部170へ指示する。ここでの通信鍵は例えばTriple DESなどの共通鍵である。
暗号通信管理部170は通信鍵を生成する。暗号通信管理部170は、生成済みの通信鍵を提供者装置2の公開鍵(提供者装置2からの証明書に含まれる)を用いて暗号化して提供者認証制御部110に出力する(ステップS132,133)。提供者認証制御部110は、生成されたレスポンスや通信鍵を通信部101を介して提供者装置2に送信する(ステップS134)。
提供者装置2の通信部201が対面制御サーバ装置1からのレスポンスや通信鍵を受信する(ステップS135)と、認証制御部202は、このレスポンスの検証を接続先認証部203に指示し、通信鍵の復号を認証制御部202に指示する。
接続先認証部203は対面制御サーバ装置1からのレスポンスを、すでに受信している対面制御サーバ装置1の証明書に基づいて検証する。また、認証制御部202は対面制御サーバ装置1からの暗号通信鍵の復号を提供者証明部204bを介して署名部205に指示する。署名部205は、鍵記憶部206に記憶される秘密鍵を用いて対面制御サーバ装置1からの暗号通信鍵を復号し、これを提供者証明部204bおよび認証制御部202を介して暗号通信部210に出力する(ステップS136)。
暗号通信部210は復号された通信鍵を用いて対面制御サーバ装置1との暗号通信を開始する(ステップS138)。また、対面制御サーバ装置1の暗号通信管理部170は生成済みの通信鍵を用いて暗号通信を開始する(ステップS137)。
このような構成とすれば、対面業務システムの各機器間の認証に必要な通信回数を減少させることができる。また、提供者装置2が秘密鍵を有する構成としたので、IDやパスワードを用いなくとも対面制御サーバ装置1間との認証処理を行なえる。
以上述べた実施形態では、IDとパスワードを用いたり秘密鍵を用いたりして対面制御サーバ装置1による提供者の認証を行ったが、提供者装置2に生体認証機能を備え、この機能を用いて認証してもよい。
また、前述した例では、提供者装置2から利用者装置3に対して二次元コードによって利用者招待情報を受け渡したが、近くにいないと受け渡すことができないような方法であれば、例えば1m程度の長さを持つ通信線を用い、通信線を使ったという証跡を残して受け渡しても良いし、赤外線通信やBluetoothなどの近距離無線通信による受け渡してもよい。
また、対面制御サーバ装置1は、提供者および利用者の認証後にさらに処理を続けてもよく、これらの処理の履歴を記録してもよい。
また、近距離通信とGPSを合わせて用いてもよい。
また、利用者は1人に限る必要はなく、複数であってよい。このとき、セッション管理部190は、複数の利用者を管理する機能が備えられる。またセッション情報記憶部192には、複数の接続先ID(利用者)のカラムが備えられる。
(第3の実施形態)
図22は本発明の第3の実施形態に係る対面業務システムの構成を示す模式図である。
本実施形態に係る対面業務システムは、対面制御サーバ装置6・提供者装置7・利用者装置8を備えている。
なお、本発明の第3の実施形態に係る対面業務システムは、第1・第2の実施形態に係る対面業務システムと同様の機能を備えているものとする。すなわち、本実施形態に係る対面制御サーバ装置6・提供者装置7・利用者装置8は、それぞれ第1・第2の実施形態に係る対面制御サーバ装置1・提供者装置2・利用者装置3と同様の機能を有している。それゆえ、本実施形態に係る対面業務システムにおいて、対面制御サーバ装置6と、提供者装置7および利用者装置8との間ではPKIベースの相互認証が行なわれる。また、提供者装置7と利用者装置8とは近接通信可能な範囲に存在する。なお、提供者および利用者の認証方法はPINの入力・指紋認証などの方法が用いられる。
図23は本実施形態に係る対面制御サーバ装置6の構成を示す模式図である。
対面制御サーバ装置6は、サービス事業者が運用するサーバマシンである。具体的には、対面制御サーバ装置6は、通信部601・署名制御部610・署名検証部620・メモリ部621・鍵記憶部622・署名生成部623・ワークフロー管理部660・ワークフロー設定部661・ワークフロー情報記憶部662・暗号通信管理部670・時刻管理部675・ナンス管理部680・ナンス生成部681・セッション管理部690・セッション情報記憶部692・履歴情報管理部695・証跡情報記憶部696を備えている。
通信部601は、インターネットなどの通信網10a・10bを介して、提供者装置7および利用者装置8と通信するものである。
署名制御部610は、署名検証部620や署名生成部623を制御して、提供者装置7や利用者装置8の署名を検証したり、対面制御サーバ装置6の署名を生成したりするものである。
署名検証部620は、メモリ部621に記憶された公開鍵証明書により、提供者装置7や利用者装置8の署名を検証するものである。詳しくは、署名検証部620は、提供者装置7から、後述する「第3署名付き証跡情報」を提供者IDとともに受信した場合、当該第3署名付き証跡情報に付加された提供者署名および利用者署名を、提供者公開鍵および利用者公開鍵で検証する。
メモリ部621は、記憶装置であり、提供者装置7や利用者装置8に対して発行された証明書を記憶する。また、メモリ部621は、図24に示すように、サービス事業者の従業員の情報を提供者情報として記憶する。
鍵記憶部622は、対面制御サーバ装置6の「サーバ秘密鍵」を記憶するメモリである。
署名生成部623は、ワークフローユニットにステータス情報等が書き込まれた履歴情報や証跡情報(履歴情報に署名が付いたもの)に対し、対面制御サーバ装置6のサーバ署名を付けるものである。
詳しくは、署名生成部623は、サーバ秘密鍵によるサーバ署名を、履歴情報が書き込まれたワークフローユニットに付加することにより、「第1署名付き証跡情報」を生成する機能を有している。
また、署名生成部623は、署名検証部620により提供者装置7や利用者装置8の各署名の正当性が検証された場合、第3署名付き証跡情報にサーバ秘密鍵によるサーバ署名を付加して「第4署名付き証跡情報」を生成する機能を有している。
ワークフロー管理部660は、ワークフロー情報を制御するものであり、作業指示情報送信機能660Aと履歴情報書込機能660Bとを備えている。
作業指示情報送信機能660Aは、ワークフロー設定部661によりワークフローユニットに提供者装置7と利用者装置8とが設定された場合、該ワークフローユニットの作業工程順に「作業指示情報」を提供者装置7と利用者装置8とに送信する機能である。作業指示情報は、ワークフローの作業工程毎に、提供者および利用者に対して実行させる作業を示す情報である。
履歴情報書込機能660Bは、作業指示情報に応じて、提供者装置7または利用者装置8から「提供者履歴情報」または「利用者履歴情報」を受信した場合、ワークフローユニットにそれらの履歴情報を書き込む機能である。なお、ワークフローユニットには、利用者装置7および提供者装置8の作業工程を示す「ステータス情報」や、その作業工程の処理が完了した「日時」も書き込まれる。ここでは、ある作業工程における履歴情報がワークフローユニットに書き込まれると、ステータス情報に“完了”と書き込まれる。また、ステータス情報に“完了”と書き込まれると、ワークフローを次の作業工程に進めることができるようになる。
ワークフロー設定部661は、提供者と利用者とが実行するワークフローを管理するものである。詳しくは、ワークフロー設定部661は、提供者装置7から提供者IDとワークフローIDとを受信した場合、該ワークフローIDに対応するワークフローユニットをワークフロー情報記憶部662から読み出し、該提供者IDに対応する利用者IDをセッション情報記憶部692から読み出し、提供者IDと利用者IDとに基づいて、ワークフローユニットの記録対象となる提供者装置7と利用者装置8とを設定する。
ワークフロー情報記憶部662は、ワークフロー情報を記憶するメモリである。「ワークフロー情報」とは、ワークフローユニットやワークフローを実行するための各種プログラム等のことである。このワークフロー情報は、ワークフローの種別に応じてリスト化されており、そのリスト化されたワークフロー情報を「ワークフローリスト」という。また、「ワークフローユニット」は、提供者装置7のステータス情報と利用者装置8のステータス情報とを、予め定められた作業工程順に書き込み可能に記録するフォーマットの情報である。すなわち、このワークフローユニットにより、ワークフローの進捗を管理することが可能となる。なお、ワークフローユニットは、ワークフローIDと関連付けられてワークフロー情報記憶部669に記憶される。
ワークフロー情報記憶部669は、図25に概念を示すように、ワークフローユニットをワークフローIDと関連付けて記憶するメモリである。
暗号通信管理部670は、暗号通信を管理する機能である。暗号通信に際しては、対面制御サーバ装置6が、提供者装置7および利用者装置8のそれぞれと共有する暗号通信鍵が用いられる。なお、これらの暗号通信鍵は、セッション情報記憶部692に記憶されている。また、暗号通信に際しては、ナンス管理部680により生成されたナンスが用いられる。ここで、ナンスとは、それが生成される前には予測できない乱数のことである。具体的には、ナンス管理部680の制御により、時刻管理部675が管理する時刻に基づいて、ナンス生成部681によりナンスが生成される。
セッション管理部690は、提供者装置7および利用者装置8との通信セッションの管理を行なう機能である。
セッション情報記憶部692は、提供者IDと利用者IDとを含む「セッション情報」を記憶するメモリである。ここでは、図26に示すように、セッション情報記憶部692は、提供者IDと利用者IDとを一対一に対応付けて記憶する。
履歴情報管理部695は、提供者装置7および利用者装置8から報告される処理の履歴、および対面制御サーバ装置6自身の処理の履歴を管理するものである。具体的には、履歴情報管理部695は、証跡情報記憶部696に記憶された証跡情報を管理するものであり、証跡情報送信機能695Aと証跡情報書込機能695Bとを有している。
証跡情報送信機能695Aは、提供者装置7または利用者装置8から証跡情報の送信要求をワークフローIDとともに受信した場合、該ワークフローIDに対応する証跡情報を証跡情報記憶部696から読み出して送信要求の要求元に送信する機能である。
証跡情報書込機能695Bは、第4署名付き証跡情報が生成された場合、その第4署名付き証跡情報を提供者IDに関連付けて証跡情報記憶部696に書き込む機能である。
証跡情報記憶部696は、「ワークフローID」と「提供者ID」とに関連付けて、サーバ秘密鍵によりサーバ署名が付加された第1署名付き証跡情報および第4署名付き証跡情報を記憶するメモリである。
ここで、第1署名付き証跡情報は、図27に示すように、作業指示情報や処理結果等の履歴情報が書き込まれたワークフローユニットにサーバ署名が付加されたものである。また、第4署名付き証跡情報は、図28に示すように、第1署名付き証跡情報に対し、利用者署名・提供者署名・サーバ署名が付加されたものである。なお、履歴情報には、提供者装置の処理内容を示す提供者履歴情報と、利用者装置の処理内容を示す利用者履歴情報とが含まれる。
図29は本実施形態に係る提供者装置7の構成を示す模式図である。
提供者装置7は、対面制御サーバ装置6に提供者がアクセスするために用いる端末である。具体的には、サービス事業者が提供者に配布するノートPCやPDA・携帯電話などにより構成される。提供者装置7は、装置内に組み込まれたプログラムに基づいて情報処理を行う計算装置と、人によって操作されるキーボードなどのインタフェース装置と、視覚的に字やイメージを表示する表示装置と、対面制御サーバ装置6と通信する通信装置と、データを記憶する記憶装置とを備えている。また、2次元イメージをキャプチャし、そこから情報を抽出する機能も備えている。2次元イメージの典型例としては、2次元コード(QRコード)などが挙げられる。
このような提供者装置7を構成する端末機器に、対面業務システムに必要な処理を行なうプログラムがインストールされることにより、提供者装置7が、通信部701・署名制御部702・署名検証部703・署名生成部704・メモリ部705・鍵記憶部706・暗号通信部710・メモリ部711・近接通信部720・表示部721・履歴情報管理部740・時刻管理部750としての機能を有することになる。
通信部701は、インターネットなどの通信網10aを介して、対面制御サーバ装置6と通信するものである。
署名制御部702は、署名検証部703や署名生成部704を制御して、対面制御サーバ装置6や利用者装置8の署名を検証したり、提供者装置7の提供者署名を生成したりするものである。
署名検証部703は、サーバ署名および利用者署名を検証するものであり、第1検証機能703Aと第2検証機能703Bとを有している。
第1検証機能703Aは、提供者装置7が対面制御サーバ装置6から、証跡情報の送信要求に応じて第1署名付き証跡情報を受信した場合、該第1署名付き証跡情報に付加されたサーバ署名の正当性をサーバ公開鍵を用いて検証する機能である。
第2検証機能703Bは、提供者装置7が利用者装置8から、後述する第2署名付き証跡情報を近接通信により受信した場合、該利用者署名の正当性を利用者公開鍵により検証する機能である。
署名生成部704は、提供者装置7の署名を行なうものである。詳しくは、署名生成部704は、署名検証部703によりサーバ署名および利用者署名の正当性が検証された場合、第2署名付き証跡情報に含まれる提供者履歴情報と、後述する履歴情報管理部740に記憶される提供者履歴情報とを比較する。比較の結果が一致した場合、署名生成部704は、第2署名付き証跡情報に提供者秘密鍵による提供者署名を付加することにより、「第3署名付き証跡情報」を生成する。なお、署名生成部704は、図30に示すように、表示部721にワークフローの処理内容を表示し、提供者に処理内容を確認させてから、第3署名付き証跡情報を生成する。
鍵記憶部706は、「提供者秘密鍵」を記憶するメモリである。
暗号通信部710は、対面制御サーバ装置6との暗号通信を制御するものである。具体的には、暗号通信部710は、メモリ部711に記憶された、対面制御サーバ装置6と共有している暗号通信鍵を用いて暗号通信を行なう。なお、暗号通信に際して用いられるナンスの値は、時刻管理部750により管理される時刻の値などが用いられる。
近接通信部720は、利用者装置8と近接通信するものであり、利用者署名が付加された第2署名付き証跡情報を受信する。例えば、利用者装置8の表示部821が表示する2次元イメージの読み取りによって、利用者装置8の近接通信部820と情報の授受が行なわれる。なお、この情報の経路は、図21中の通信路20が示している。
履歴情報管理部740は、提供者装置7により実行された処理の履歴を、時刻管理部750が管理する時刻に対応付けて「提供者履歴情報」として記憶するものである。また、履歴情報管理部740は、証跡情報送信要求機能740A・証跡情報送信機能740B・履歴情報送信機能740Cを有しており、対面制御サーバ装置6および提供者装置8から受信した証跡情報を管理する。
証跡情報送信要求機能740Aは、対面制御サーバ装置6に証跡情報の送信要求をワークフローIDとともに送信する機能である。
証跡情報送信機能740Bは、署名生成部704により第3署名付き証跡情報が生成された場合、その第3署名付き証跡情報を提供者IDとともに対面制御サーバ装置6に送信する機能である。
履歴情報送信機能740Cは、対面制御サーバ装置6から作業指示情報を受信した場合、該作業指示情報に対する「提供者履歴情報」を送信する機能である。例えば、表示部721の画面上に表示された選択ボタンが押下されると、その選択ボタンに対応する処理が提供者履歴情報として対面制御サーバ装置6に送信される。
ワークフロー開始要求部760は、ワークフローの開始要求とともに、提供者IDとワークフローIDとを対面制御サーバ装置6に送信するものである。
図31は本実施形態に係る利用者装置8の構成を示す模式図である。
利用者装置8は、利用者が個別に携帯する機器であり、携帯電話やPDAにより構成される。この利用者装置8は、サービス提供者が提供するサービスの専用品である必要は無く、対面業務システムに必要な処理を行うプログラムがインストールできるものであればよい。それゆえ、利用者の都合で一般的に手元に携帯している端末機器を用いることができる場合もある。利用者装置8は、装置内に組み込まれたプログラムに基づいて情報処理を行なう計算装置と、人によって操作されるキーボードなどのインタフェース装置と、視覚的に字やイメージを表示する表示装置と、対面制御サーバ装置6と通信する通信装置と、データを記憶する記憶装置とを備えている。また、2次元イメージをキャプチャし、そこから情報を抽出する機能も備えている。2次元イメージの典型例としては、2次元コード(QRコード)などが挙げられる。
このような利用者装置8を構成する端末機器に、対面業務システムに必要な処理を行なうプログラムがインストールされることにより、利用者装置8が、通信部801・署名制御部802・署名検証部803・署名生成部804・メモリ部805・鍵記憶部806・暗号通信部810・メモリ部811・近接通信部820・表示部821・履歴情報管理部840・時刻管理部850としての機能を有することになる。
通信部801は、インターネットなどの通信網10bを介して、対面制御サーバ装置6と通信するものである。
署名制御部802は、署名検証部803や署名生成部804を制御して、対面制御サーバ装置6や提供者装置7の署名を検証したり、利用者装置8の利用者署名を生成したりするものである。
署名検証部803は、対面制御サーバ装置6のサーバ署名を検証するものである。具体的には、署名検証部803は、証跡情報の送信要求に応じて第1署名付き証跡情報を受信した場合、その第1署名付き証跡情報に付加されたサーバ署名の正当性をサーバ公開鍵を用いて検証する。
署名生成部804は、利用者装置8の署名を行なうものである。具体的には、署名生成部804は、署名検証部803によりサーバ署名の正当性が検証された場合、第1署名付き証跡情報に含まれる利用者履歴情報と、後述する履歴情報管理部に記憶される利用者履歴情報とを比較する。比較の結果が一致した場合、署名生成部804は、利用者秘密鍵による利用者署名を第1署名付き証跡情報に付加して「第2署名付き証跡情報」を生成する。なお、署名生成部804は、図32に示すように、表示部821にワークフローの処理内容を表示し、利用者に処理内容を確認させてから、第2署名付き証跡情報を生成する。
鍵記憶部806は、「利用者秘密鍵」を記憶するメモリである。
暗号通信部810は、対面制御サーバ装置6との暗号通信を制御するものである。具体的には、暗号通信部810は、メモリ部811に記憶された、対面制御サーバ装置6と共有している暗号鍵を用いて暗号通信を行う。
近接通信部820は、提供者装置7と近接通信するものであり、利用者署名が付加された第2署名付き証跡情報を送信する。具体的には、提供者装置7の表示部721が表示する2次元イメージを読み取ることによって、提供者装置7の近接通信部720と情報の授受が行なわれる。この情報の経路は、図21中の通信路20が示している。
なお、近接通信部820は、第2署名付き証跡情報を送信しているが、通信量を少なくするために、「第2署名情報」のみを送信する構成であってもよい。
履歴情報管理部840は、利用者装置8により実行された処理の履歴を、時刻管理部850が管理する時刻に対応付けて「利用者履歴情報」として記憶するものである。また、履歴情報管理部840は、証跡情報送信要求機能840A・履歴情報送信機能840Bを有しており、対面制御サーバ装置6から受信した証跡情報を管理する。
証跡情報送信要求機能840Aは、対面制御サーバ装置6に、証跡情報の送信要求をワークフローIDとともに送信するものである。
履歴情報送信機能840Bは、対面制御サーバ装置6から作業指示情報を受信した場合、その作業指示情報に対する「利用者履歴情報」を送信する機能である。例えば、表示部821の画面上に表示された選択ボタンが押下されると、その選択ボタンに対応する処理が利用者履歴情報として対面制御サーバ装置6に送信される。
次に本実施形態に係る対面業務システムの動作を説明する。
前提として、本実施形態においては、第1の実施形態における処理が終了していることとする。すなわち、対面制御サーバ装置6と、提供者装置7および利用者装置8との間でPKIベースの相互認証が既に行なわれている。そして、提供者装置2と利用者装置3との間で近接通信によりナンスの授受が行なわれ、提供者と利用者とが対面していることが確認された状態となっている。なお、提供者装置7と利用者装置8とが近接通信により対面していることが確認された場合、提供者装置7の提供者IDと、その提供者装置7と近接通信している利用者装置8の利用者IDとが対面制御サーバ装置6に対応付けて記憶される。
このような前提のもと、本実施形態にかかる対面業務システムについて説明する。
図33は本実施形態に係る対面業務システムにおいて、ワークフローが実行されるときの動作を説明するためのシーケンス図である。
(3−1.ワークフローの開始)
始めに、ワークフローを開始する際の動作を説明する。
まず、提供者の操作により、提供者装置7から対面制御サーバ装置6にワークフローリストの送信要求が行なわれる。これにより、対面制御サーバ装置6によりワークフローリストが提供される(ステップT1)。
続いて、図34に示すように、提供者装置7の表示部721にワークフローリストが表示される。そして、インタフェース装置を介して提供者により、ワークフローリストの中からワークフローが選択される(ステップT2)。ワークフローが決定されると、ワークフロー毎に設定されているワークフローIDと、提供者IDとがワークフロー開始要求とともに対面制御サーバ装置6に送信される。
なお、必要に応じて、ワークフローユニットは提供者装置2に予め設定されていてもよい。この場合、ステップT1・T2の処理は省略されることになる。
次に、対面制御サーバ装置6において、受け取ったワークフローIDに基づいて、処理を開始するワークフローが決定される(ステップT3)。
続いて、ワークフロー設定部661により、ワークフローIDに対応するワークフローユニットやワークフローを実行するための各種プログラム等がワークフロー情報記憶部662から読み出される。そして、ワークフローユニットの最初のステータス情報の欄に“完了”と書き込まれ、ワークフローの作業指示情報が表示された先頭画面やコマンドリストが提供者装置7に送信される。これにより、提供者側のワークフローが次の工程に進むことになる。
また、ワークフロー設定部661により、当該提供者IDに対応する利用者IDがセッション情報記憶部692から読み出される(ステップT4)。そして、ワークフロー設定部661により、利用者IDに基づいて、ワークフローユニットの記録対象となる利用者装置8が設定される。それから、ワークフローユニットの最初のステータス情報の欄に“完了”と書き込まれ、ワークフローの作業指示情報が表示された先頭画面やコマンドリストが利用者装置8に送信される。これにより、利用者側のワークフローが次の工程に進むことになる。
この後、後述するように、予め定められたワークフローの手順に従って、対面制御サーバ装置6から提供者装置7および利用者装置8に次画面の情報およびコマンドリストが送信される。すなわち、提供者装置7が開始しているワークフローと同じワークフローが利用者装置8においても開始される。
なお、提供者装置7がワークフローを開始していない場合には、利用者装置8が対面制御サーバ装置6にアクセスしても、ワークフローユニットが設定されていないのでエラーが生じることになる。
(3−2.ワークフローの実行)
対面制御サーバ装置6のワークフローユニットに提供者装置7と利用者装置8とが設定されてワークフローが開始された状態となると、ワークフロー毎のプログラムに従い、提供者装置7と利用者装置8とに作業指示情報が送信される。なお、作業指示情報としては、画面情報とコマンドリストとが送信される。
提供者装置7では、対面制御サーバ装置6から作業指示情報を受信すると、その作業指示情報を表示部721に表示する。それから、表示部721に表示された作業指示情報に基づいて提供者がワークフローを処理する(ステップT5)。
ワークフローを処理した場合、表示部721に表示される画面において、処理完了ボタンが押下されるなどの操作が提供者により行なわれる。これにより、提供者装置7から対面制御サーバ装置6に、提供者の操作に関連付けられたコマンドが送信される。なお、送信したコマンドは、履歴情報管理部740にも記憶される。
対面制御サーバ装置6が提供者装置7からコマンドを受信すると、そのコマンドが提供者履歴情報としてワークフローユニットに書き込まれる(ステップT6)。ワークフローユニットに提供者履歴情報が書き込まれると、対応する作業工程の提供者ステータスの欄に“完了”の情報が書き込まれる。そして、ワークフローが次の手順に進められる。
なお、提供者ステータスが完了となっても、その前工程における利用者ステータスが適切でない場合はエラーとなる。エラーが生じた場合、エラーコードもしくは前回と同じ作業指示情報が送信され、提供者装置7のワークフローが先に進めないようになる。
一方、利用者装置8でも、対面制御サーバ装置6から作業指示情報を受信すると、その作業指示情報を表示部821に表示する。それから、表示部821に表示された作業指示情報に基づいて利用者がワークフローを処理する(ステップT7)。
ワークフローを処理した場合、表示部821に表示される画面において、処理完了ボタンが押下されるなどの操作が利用者により行なわれる。これにより、利用者装置8から対面制御サーバ装置6に、利用者の操作に関連付けられたコマンドが送信される。なお、送信したコマンドは、履歴情報管理部840にも記憶される。
対面制御サーバ装置6が利用者装置7からコマンドを受信すると、そのコマンドが利用者履歴情報としてワークフローユニットに書き込まれる(ステップT8)。ワークフローユニットに利用者履歴情報が書き込まれると、対応する作業工程の利用者ステータスに“完了”の情報が書き込まれる。そして、ワークフローが次の手順に進められる。
なお、利用者ステータスが完了となっても、その前工程における提供者ステータスが適切でない場合はエラーとなる。エラーが生じた場合、エラーコードもしくは前回と同じ作業指示情報が送信され、利用者装置8のワークフローが先に進めないようになる。
上述したステップT5〜ステップT8の処理がワークフローが終了するまで繰り返される。なお、上述したステップT5・T6の処理と、ステップT7・T8の処理とは、ワークフローの作業手順に応じて、どちらが先に行われてもよい。また、どちらか一方だけが実行されることもあり得る。
(3−3.証跡情報の記憶)
図35は本実施形態に係る対面業務システムにおいて、証跡情報を記憶する際の動作を説明するためのシーケンス図である。
なお、以下の処理の前提として、提供者装置7および利用者装置8においてワークフローは終了しているものとする。
始めに、提供者装置7から対面制御サーバ装置6に対し、証跡情報の送信要求が行なわれる(ステップU1)。この際、証跡情報の送信要求とともにワークフローIDも送信される。
続いて、対面制御サーバ装置6により証跡情報の送信要求が受信され、「第1署名付き証跡情報」が生成される(ステップU2)。具体的には、履歴情報管理部695により、証跡情報記憶部696に記憶された履歴情報にサーバ署名が付加されて第1署名付き証跡情報が生成される。
次に、対面制御サーバ装置6により生成された第1署名付き証跡情報が提供者装置7へ送信される。
提供者装置2により第1署名付き証跡情報が受信されると、その第1署名付き証跡情報に付加された対面制御サーバ装置6のサーバ署名がサーバ公開鍵により検証される(ステップU3)。また、提供者装置7の署名制御部702において、履歴情報管理部740に記憶された履歴情報と、第1署名付き証跡情報に含まれる履歴情報とが比較される。
そして、サーバ署名の正当性が検証され、かつ履歴情報の比較結果が一致した場合、後述するステップU9の処理に進む。一方、サーバ署名の正当性が検証されなかったり、履歴情報の比較結果が一致しなかったりした場合、エラーコードが対面制御サーバ装置6に送信されて処理が終了する。
この後、利用者装置8から対面制御サーバ装置6に証跡情報の送信要求がワークフローIDとともに送信されると(ステップU4)、対面制御サーバ装置6において証跡情報記憶部696から第1署名付き証跡情報が読み出される(ステップU5)。読み出された第1署名付き証跡情報は利用者装置8へ送信される。なお、利用者装置8と提供者装置7とは、セッション情報が関連付けられているものとする。
利用者装置8により第1署名付き証跡情報が受信されると、その第1署名付き証跡情報に付加された対面制御サーバ装置6のサーバ署名がサーバ公開鍵により検証される(ステップU6)。また、利用者装置8の署名制御部802において、第1署名付き証跡情報に含まれる履歴情報と、履歴情報管理部840に記憶された履歴情報とが比較される。
そして、サーバ署名の正当性が検証され、かつ履歴情報の比較結果が一致した場合、署名生成部804により、第1署名付き証跡情報に利用者秘密鍵による利用者署名が付加されて「第2署名付き証跡情報」が生成される(ステップU7)。
一方、サーバ署名の正当性が検証されなかったり、履歴情報の比較結果が一致しなかったりした場合、エラーコードが対面制御サーバ装置6に送信されて処理が終了する。
この後、利用者装置8と提供者装置7とが近接通信可能な範囲内にある場合には、第2署名付き証跡情報が、近接通信部820により利用者装置8から提供者装置7に送信される(ステップU8)。なお、通信量を少なくする場合には、第2署名付き証跡情報に付加された第2署名情報のみが送信される。
次に、利用者装置8から提供者装置7に第2署名付き証跡情報が近接通信により送信された場合、第2署名付き証跡情報に付加された利用者署名が利用者公開鍵により検証される(ステップU9)。また、提供者装置7の署名制御部702において、履歴情報管理部740に記憶された履歴情報と、第2署名付き証跡情報に含まれる履歴情報とが比較される。
そして、サーバ署名の正当性が検証され、かつ履歴情報の比較結果が一致した場合、次の処理に進む。一方、利用者署名の正当性が検証されなかったり、履歴情報の比較結果が一致しなかったりした場合、エラーコードが対面制御サーバ装置6に送信されて処理が終了する。
なお、提供者装置7および利用者装置8の互いの近接通信部によるデータの授受は、2次元コードの読み取りにより行なわれる。具体的には、利用者装置8において、図36に示すように、署名情報が2次元コード化されて表示される。そして、図37に示すように、利用者装置8に表示される2次元コードが、提供者装置7に読み取られることにより、データの送受信が行なわれる。
ステップU9において、署名検証部703により利用者署名が正当であると検証された場合、第2署名付き証跡情報に提供者秘密鍵による提供者署名が付加されて「第3署名付き証跡情報」が生成される(ステップU10)。
そして、提供者装置7により生成された第3署名付き証跡情報が対面制御サーバ装置6に送信される。
対面制御サーバ装置6により第3署名付き証跡情報が受信されると、その第3署名付き証跡情報に付加された提供者署名および利用者署名が、それぞれ提供者公開鍵および利用者公開鍵により検証される(ステップU11)。
そして、対面制御サーバ装置1の署名検証部620により各署名の正当性が検証された場合、第3署名付き証跡情報にサーバ秘密鍵によるサーバ署名を付加して「第4署名付き証跡情報」が生成される。
なお、上記ステップU1〜ステップU3までの処理と、ステップU4〜ステップU6までの処理とは、どちらが先であってもよい。ただし、ステップU2においては、提供者装置7と利用者装置8とのうち、先に送信された証跡情報の送信要求がトリガーとなって第1署名付き証跡情報が生成される。
以上説明したように、本実施形態に係る対面業務システムにおいては、対面制御サーバ装置6が、「第1署名付き証跡情報」を送信要求の要求元に送信する履歴情報管理部695と、提供者装置7から利用者署名と提供者署名とが付加された第3署名付き証跡情報を受信した場合、該提供者署名と該利用者署名とを検証する署名検証部620と、各署名の正当性が検証された場合、第3署名付き証跡情報にサーバ署名を付加して「第4署名付き証跡情報」を生成する署名生成部623と、第4署名付き証跡情報を記憶する証跡情報記憶部696を備えている。また、利用者装置8が、第1署名付き証跡情報に付加されたサーバ署名の正当性を検証する署名検証部803と、利用者署名を第1署名付き証跡情報に付加して「第2署名付き証跡情報」を生成する署名生成部804と、第2署名付き証跡情報を近接通信により提供者装置に送信する近接通信部820とを備えている。また、提供者装置7が、第1署名付き証跡情報に付加されたサーバ署名の正当性を検証し、利用者装置8から第2署名付き証跡情報を近接通信により受信した場合、該第2署名付き証跡情報に付加された利用者署名の正当性を検証する署名検証部703と、第2署名付き証跡情報に提供者秘密鍵7による提供者署名を付加することにより「第3署名付き証跡情報」を生成する署名生成部704と、第3署名付き証跡情報を対面制御サーバ装置6に送信する履歴情報管理部740とを備えている。それゆえ、本実施形態に係る対面業務システムによれば、いわゆるリング署名が証跡情報に付加されるので、対面業務が行なわれたことの証拠となる証跡情報を保存することができる。
また、本実施形態に係る対面業務システムでは、対面制御サーバ装置6が、提供者IDと利用者IDとを含むセッション情報を記憶するセッション情報記憶部692と、提供者履歴情報と利用者履歴情報とを予め定められた作業工程順に書き込み可能に記録するためのワークフローユニットを、ワークフローIDに関連付けて記憶するワークフロー情報記憶部662と、該ワークフローユニットの作業工程順に作業指示情報を該提供者装置7と該利用者装置8とに送信するワークフロー管理部660と、履歴情報が書き込まれたワークフローユニットにサーバ署名を付加することにより第1署名付き証跡情報を生成する署名生成部623とを備えている。また、利用者装置8が、対面制御サーバ装置6から作業指示情報を受信した場合、該作業指示情報に対する利用者履歴情報を送信するための履歴情報管理部840を備え、提供者装置7が、対面制御サーバ装置6から作業指示情報を受信した場合、該作業指示情報に対する提供者履歴情報を送信するための履歴情報管理部840を備えている。それゆえ、本実施形態に係る対面業務システムによれば、提供者と利用者とに規定された手順に従って対面業務を実行させるとともに、その実行に伴う処理の履歴情報を保存することができる。
さらに、本実施形態に係る対面業務システムでは、対面制御サーバ装置6が、ワークフローユニットに定められた作業工程の全てに履歴情報が書き込まれた場合、サーバ署名を該ワークフローユニットに付加して第1署名付き証跡情報を生成するので、ワークフローの全作業工程が終了したときに、第1署名付き証跡情報を自動的に生成できる。ただし、ワークフローの全作業工程を完了する前に、提供者または利用者がワークフローを終了することも可能である。この場合、終了した作業工程までの履歴情報にサーバ署名が付加されて第1証跡情報が生成される。
また、本実施形態に係る対面業務システムによれば、対面制御サーバ装置6のワークフロー管理部660が、利用者装置8および提供者装置7の作業工程を示すステータス情報と、作業工程の処理が完了した日時とをワークフローユニットに書き込むので、ワークフローが、いつ、どの工程まで、どのように処理されたかを示す記録を改竄されることなく保存できる。
なお、本実施形態に係る対面業務システムでは、第1署名付き証跡情報から第4署名付き証跡情報まで生成しているが、証拠の用途によっては必ずしも4回署名を付加する必要はない。例えば、(a)一般的なシステム運用において証拠能力が充分と考えられる場合は、第4署名付き証跡情報の生成を省略することも可能である。(b)利用者が証拠を提示する必要がない用途では第2署名付き証跡情報の生成を省略することも可能である。(c)提供者装置7と対面制御サーバ装置6とが同一主体により操作される場合、第3署名付き証跡情報の生成を省略することも可能である。ただし、上記(b),(c)の場合に、提供者装置7及び利用者装置8において署名を付加しない場合であっても、各装置においてサーバ署名の検証は必要である。
また、本実施形態においては、対面制御サーバ装置6が提供者装置7と利用者装置8との双方へ第1署名付き証跡情報を送信し、利用者装置8が第2署名付き証跡情報を提供者装置7に送信している。そのため、提供者装置7は、証跡情報のうち“履歴情報部分”を対面制御サーバ装置6と利用者装置8との両装置から受け取ることになる。これに関し、以下のようにして、通信量を少なくしてもよい。
(a)対面制御サーバ装置6のみから履歴情報を受け取るようにする場合
この場合、提供者装置8は、利用者装置7から“第2署名情報”を近接通信により受信する。また、提供者装置8は、対面制御サーバ装置6から第1署名付き証跡情報(=履歴情報+サーバ署名)を受信する。それゆえ、署名検証部703が、第2署名情報を利用者公開鍵により復号して得たサーバ署名と、第1署名付き証跡情報に付加されたサーバ署名とを比較することにより、第2署名情報の正当性を検証できる。
第2署名情報の正当性が検証された場合、署名生成部704が、第1署名付き証跡情報に含まれる提供者履歴情報と履歴情報管理部740に記憶される提供者履歴情報とを比較する。比較の結果が一致した場合、署名生成部704は、第2署名情報を提供者秘密鍵で暗号化することにより第3署名情報を生成する。そして、署名生成部704は、第3署名情報と第1署名付き証跡情報に含まれる履歴情報とから第3署名付き証跡情報を生成する。
(b)利用者装置8のみから履歴情報を受け取るようにする場合
この場合、提供者装置7は、対面制御サーバ装置6に証跡情報の送信要求をしない。これに代えて、提供者装置7は、利用者装置8から第2署名付き証跡情報(=履歴情報+サーバ署名+利用者署名)を受信する。この後、署名検証部703が、第2署名付き証跡情報に付加されたサーバ署名及び利用者署名の正当性を検証する。そして、署名生成部704が、第2署名付き証跡情報に含まれる提供者履歴情報と履歴情報管理部に記憶される提供者履歴情報とを比較する。比較の結果が一致した場合、署名生成部704は、第2署名付き証跡情報に提供者秘密鍵による提供者署名を付加して、第3署名付き証跡情報を生成する。
さらに、本実施形態に係る対面業務システムは、以下の効果を有するものである。
(1)対面制御サーバ装置6から予め決められた作業に従った指示をするため、作業漏れ・不適切な作業の実施を防止することができ、法令を遵守することができる。
(2)利用者装置8と提供者装置7との間では近接通信が行なわれるために、利用者と提供者が対面していることの状況証拠を得ることができる。
(3)ワークフローの開始時と終了時に、利用者と提供者が対面していることを確認することにより、対面して業務が遂行されたことの状況証拠を得ることができる。
(4)対面制御サーバ装置6・提供者装置7・利用者装置8の全てにより証跡情報が検証されているので、サービス提供者および提供者は、法令を遵守していることを主張することができる。また、利用者には状況証拠が手元に記憶されるので、損害賠償請求等する際の根拠とすることができる。また、サービス提供者が、倒産などによって消滅した場合であっても、証跡情報を保管しておくことができる。
(5)提供者・利用者は、それぞれの端末に自動的に残される作業履歴を元にして、履歴情報が適切であることを確認することができる。
(6)紙などの媒体に業務内容を逐一記録する方法に比して、ワークフローの作業記録を容易に残すことができる。
(7)利用者装置8が対面制御サーバ装置6に直接アクセスするので、提供者に対して利用者の個人情報などを知らせずにすむ。
(8)提供者装置7と利用者装置8と携帯端末を利用することにより、対面制御サーバ装置6と通信が可能な場所であれば、どこでも証拠を残すことができる。
(応用事例)
本発明の第3の実施形態の対面業務システムは、例えば、保険の契約業務、監査業務、宅配の受け取り業務、事件現場における取材、店頭・現金払いで製品を購入した顧客に対する電子保証書などへの応用が可能である。
また、本実施形態に係る対面業務システムは、証跡情報として音声・動画を含むものであっても良い。具体的には、業務を進めている最中の利用者、および提供者が話した内容を携帯端末に常時記録しておき、音声データも含めた情報を証跡情報として保存する。
また、本実施形態に係る対面業務システムは、提供者・利用者のそれぞれ、自分が実施した作業の内容だけを確認するとしてもよい。具体的には、提供者・利用者のそれぞれの携帯端末に作業ごとに記録をしておき、対面制御サーバ装置6から送付される証跡情報の内容と携帯端末に残されている履歴情報とを比較する。
また、本実施形態に係る対面業務システムは、ワークフローを中断した場合、その途中まで記録を保存することもできる。これにより、例えば保険の契約の際に、ある程度処理を進めたが、途中で契約を取りやめることになった場合などにも対応できる。また、契約のために入力した個人情報を破棄したい場合などは、途中まで進めた記録を削除する(残さない)こともできる。中断した履歴を残す場合は、中断時まで行なった履歴情報に対して、サーバ署名・利用者署名・提供者署名つけて証拠とする。
また、本実施形態に係る対面業務システムにおいて、利用者装置8は複数であってもよい。この場合、複数の利用者署名が順番に付加されることになる。
なお、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に構成要素を適宜組み合わせてもよい。
なお、上記実施形態に記載した手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスクなど)、光ディスク(CD−ROM、DVDなど)、光磁気ディスク(MO)、半導体メモリなどの記憶媒体に格納して頒布することもできる。
また、この記憶媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であっても良い。
また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワークソフト等のMW(ミドルウェア)等が上記実施形態を実現するための各処理の一部を実行しても良い。
さらに、本発明における記憶媒体は、コンピュータと独立した媒体に限らず、LANやインターネット等により伝送されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。
また、記憶媒体は1つに限らず、複数の媒体から上記実施形態における処理が実行される場合も本発明における記憶媒体に含まれ、媒体構成は何れの構成であっても良い。
尚、本発明におけるコンピュータは、記憶媒体に記憶されたプログラムに基づき、上記実施形態における各処理を実行するものであって、パソコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であっても良い。
また、本発明におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。
1…対面制御サーバ装置、2,2b…提供者装置、3…利用者装置、4…提供者身分証明装置、4a…二次元コード、5…CA、10a,10b…通信網、20,30…近距離通信路、101,201,301…通信部、102,207,304…プログラム記憶部、110…提供者認証制御部、111…提供者認証部、112…提供者情報記憶部、120…証明部、121,230,320…証明書記憶部、122,206,211,331,361…鍵記憶部、123,330…署名部、130…利用者認証制御部、140…提供者情報提供部、150…利用者認証部、170…暗号通信管理部、175,250,382…時刻管理部、180…ナンス管理部、181…ナンス生成部、190…セッション管理部、192…セッション情報記憶部、195…履歴管理部、196…履歴記憶部、202,350…認証制御部、203,310…接続先認証部、204,204b…提供者証明部、205…証明部、210,360…暗号通信部、220…利用者招待部、221,303…表示部、240,380…履歴記録部、302…招待受部、351…利用者証明部、370…提供者識別情報検証部。
6・・・対面制御サーバ装置、7・・・提供者装置、8・・・利用者装置、601・・・通信部、610・・・署名制御部、620・・・署名検証部、621・・・メモリ部、622・・・鍵記憶部、623・・・署名生成部、660・・・ワークフロー管理部、661・・・ワークフロー設定部、662・・・ワークフロー情報記憶部、670・・・暗号通信管理部、675・・・時刻管理部、680・・・ナンス管理部、681・・・ナンス生成部、690・・・セッション管理部、692・・・セッション情報記憶部、695・・・履歴管理部、696・・・証跡情報記憶部、701・・・通信部、702・・・署名制御部、703・・・署名検証部、704・・・署名生成部、705・・・メモリ部、706・・・鍵記憶部、710・・・暗号通信部、711・・・メモリ部、720・・・近接通信部、721・・・表示部、740・・・履歴情報管理部、750・・・時刻管理部、801・・・通信部、802・・・署名制御部、803・・・署名検証部、804・・・署名生成部、805・・・メモリ部、806・・・鍵記憶部、810・・・暗号通信部、811・・・メモリ部、820・・・近接通信部、821・・・表示部、840・・・履歴情報管理部、850・・・時刻管理部。