説明

代行装置及びシステム並びに代行方法、プログラム

【課題】端末装置またはネットワークの安全性が保証されない環境においても、利用者がサービスサーバに対して行いたい操作を安全に行う。
【解決手段】安全ネットワークによりサービスサーバと接続された操作代行装置は、サービスサーバを経由して利用者が送信した代行要求を受信した際に、利用者の認証を行い、該認証が成功したことを条件に、代行要求により要求された操作をサービスサーバに対して行う。操作代行装置は、利用者との間でコード302〜304を共有する。各コードは、n個(n:2以上の整数)の数字が所定の順序で配列してなる質問セットと、該n個の数字に夫々対応するn個の数字が上記所定の順序で配列してなる返事セットとからなる。操作代行装置と利用者は、交互に、質問セットに含まれる数字と返事セットに含まれる数字を上記の順序で1つずつ相手に順次送信する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、サービスサーバに対する操作を代行する技術に関する。
【背景技術】
【0002】
ネットワーク上でサービスを提供する際の利用者の本人認証について、様々な手法が考案されている。
【0003】
これらの手法のうちに、OTP(ワン・タイム・パスワード)による本人認証が増えている。OTPによる本人認証の種類は、時刻同期方式や、チャレンジ・レスポンス方式などが知られている。
【0004】
時刻同期方式は、サービスを提供する側の認証装置と、ユーザに交付されるOTP生成機(トークンとも呼ばれる)との両方に時刻を同期させておき、それぞれにOTPを生成して比較照合する方式である。
【0005】
チャンレンジ・レスポンス方式は、認証のたびに、認証装置が利用装置(例えばユーザ端末)に擬似乱数(チャレンジという)を与えて、事前共有秘密鍵で擬似乱数からOTP(レスポンスという)を生成して比較照合する方式である。なお、擬似乱数は、計算によって求められた乱数列である。
【0006】
時刻同期方式では、認証装置とOTP生成機の時刻同期ずれが生じた際に、照合が失敗してしまうという問題がある。チャレンジ・レスポンス方式では、暗号化された乱数(レスポンス)の桁数が長いと、ユーザの入力の手間がかかる一方、レスポンスの桁数が短いと、類推されやすいというジレンマがある。
【0007】
特許文献1は、上記問題を解決する技術を開示している。図22を参照して説明する。
図22は、特許文献1における図1に対応し、特許文献1に開示された技術を適用したワンタイムパスワード認証システム1を示す。
【0008】
図22に示すように、ワンタイムパスワード認証システム1は、OTP生成機10と、利用者端末装置30、認証サーバ装置50を備える。利用者端末装置30と認証サーバ装置50は、ネットワーク90により接続されている。
【0009】
ユーザが利用者端末装置30から、WEBブラウザなどで認証サーバ装置50のURLにアクセスしてログイン画像を呼び出す。認証サーバ装置50は、利用者端末装置30がアクセスしてきた時刻をもとに、擬似乱数を発生させて乱数情報を生成し、ログイン画面に乱数情報を表示する。
【0010】
ユーザは、PIN(Personal Identification Number)と、ログイン画面に表示された乱数情報とをつなげてOTP生成機10に入力する。OTP生成機10は、内部メモリにPIN、利用者識別情報、事前共有鍵を記憶しており、ユーザが入力したPINの照合を行う。ユーザが入力したPINが内部メモリに記憶されたPINと一致すれば、OTP生成機10は、乱数情報とPINと利用者識別情報と事前共有鍵を用いてOTPを生成して表示部に表示する。
【0011】
ユーザは、OTP生成機10の表示部に表示されたOTPを目視で確認し、認証サーバ装置50のログイン画面に使用者識別情報とOTPを入力する。認証サーバ装置50は、利用者識別情報とOTPを受け付けて、認証を行う。
【0012】
この技術によれば、ユーザが、通常記憶しているPINに対して乱数を追加して入力するので、乱数の桁数が少なくとも安全性を保つことができると共に、乱数の桁数を少なくすることによってユーザの入力ミスを減らすことができる。
【先行技術文献】
【特許文献】
【0013】
【特許文献1】特開2009−43158号公報
【発明の概要】
【発明が解決しようとする課題】
【0014】
ところで、上述したいずれの方法も、ユーザが利用する端末装置と、サービスを提供する側の認証装置との接続経路、及び端末装置自身の安全性が保証されている前提下で効用を発揮する。
【0015】
一方、近年、一時的にネットワーク環境を提供するネットカフェなどの登場により、端末装置、及び端末装置からの接続経路の安全性が保証されない環境で、ユーザがネットワーク上のサービスを利用することが増えている。このような環境において、認証のみならず、通信中の情報の改竄、盗聴、成りすましなどの問題が生じやすく、対策が求められている。
【課題を解決するための手段】
【0016】
本発明の1つの態様は、ネットワーク上でサービスを提供するサービスサーバと接続された代行装置である。この代行装置は、安全性が保証されたネットワークである安全ネットワークを介して前記サービスサーバと接続されており、利用者認証手段と、サーバ操作代行手段を有する。
【0017】
利用者認証手段は、前記サービスサーバの利用者が使用する端末装置から前記サービスサーバを経由して送信された、前記サービスサーバに対して行う操作の代行を要求する代行要求を受信した際に、前記利用者の認証を行う。
【0018】
サーバ操作代行手段は、前記利用者認証手段による認証が成功したことを条件に、前記代行要求により要求された操作を、前記安全ネットワークを介して前記サービスサーバに対して行う。
【0019】
利用者認証手段は、サービスサーバの利用者との間で共有されるコードを記憶しており、該コードは、n個(n:2以上の整数)の数字が所定の順序で配列してなる質問セットと、前記n個の数字に夫々対応するn個の数字が前記所定の順序で配列してなる返事セットとからなる。利用者認証手段は、利用者の認証に際して、前記質問セットに含まれる各数字を前記所定の順序で送信することを前記利用者に要求すると共に、該要求に応じて前記利用者が前記端末装置から送信したi番目(1≦i≦n)の数字を受信する度に、前記返事セットに含まれるi番目の数字を前記端末装置に返送する。
【0020】
なお、上記態様の代行装置を方法やプログラムに置換えて表現したもの、前記プログラムを記録した記録媒体、該代行装置を備えたシステムなども、本発明の態様としては有効である。
【発明の効果】
【0021】
本発明にかかる技術によれば、サービスサーバの利用者が使用する端末装置の安全性、または端末装置からサービスサーバへのネットワークの安全性が保証されない環境においても、利用者がサービスサーバに対して行いたい操作を安全に行うことができる。
【図面の簡単な説明】
【0022】
【図1】本発明の実施の形態にかかるシステムを示す図である。
【図2】コード表の例を示す図である。
【図3】事前準備段階のシーケンスの例を示す図である。
【図4】コードに含まれる数値で定義されるコマンドの例を示す図である。
【図5】コマンドの別の例を示す図である。
【図6】図1におけるシステムにおける操作代行装置のフェーズ遷移図を示す図である。
【図7】図6に示すフェーズ遷移を実現するための処理を擬似コードで表現したものを示す図である。
【図8】図7にて利用されている記号の説明を示す図である。
【図9A】実行シーケンスの例を示す図である(その1)。
【図9B】実行シーケンスの例を示す図である(その2)。
【図9C】実行シーケンスの例を示す図である(その3)。
【図10】コード選択の条件の模式を示す図である。
【図11】利用者が適切なコードを選択するために行う作業の一例を示す図である。
【図12】コマンド受信フェーズでの処理の模式を示す図である。
【図13】利用者の認証処理を説明するための図である。
【図14】本発明の第1の実施例にかかるシステムを示す図である。
【図15】図14に示すシステムに含まれる操作代行装置ソフトウェアの内部構成の模式図である。
【図16】利用者視点での事前準備段階の流れを示す図である。
【図17】コード表の例を示す図である。
【図18】コマンド表の例を示す図である。
【図19】利用者と、Webサーバと、操作代行ソフトウェアとの間での値のやり取りの例を示す図である。
【図20】コマンドの構成例を示す図である。
【図21】本発明の第2の実施例にかかるシステムを示す図である。
【図22】従来技術の例を説明するための図である。
【発明を実施するための形態】
【0023】
以下、図面を参照して本発明の実施の形態について説明する。説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。また、様々な処理を行う機能ブロックとして図面に記載される各要素は、ハードウェア的には、CPU、メモリ、その他の回路で構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。なお、各図面において、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略されている。
【0024】
また、上述したプログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non−transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD−ROM(Read Only Memory)CD−R、CD−R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【0025】
図1は、本発明の実施の形態にかかるシステム100を示す図である。システム100は、ネットワーク上でサービスを提供するサービスサーバ105と、安全ネットワーク206を介してサービスサーバ105と接続された操作代行装置216と、ネットワーク104を介してサービスサーバ105と接続された端末装置103を備える。なお、ネットワーク104と端末装置103は、安全性が保証されていないものである。
安全ネットワーク206は、安全性が保証され、該ネットワーク上を伝送されるデータに対する盗聴、改ざんの危険性が無いネットワークである。なお、安全ネットワーク206は、自身の安全性が保証されているが、サービスサーバ105の真偽を保証しているわけではない。
【0026】
操作代行装置216は、サービス真偽検証手段209、利用者認証手段211、コード表生成手段213、サーバ操作代行手段215を備える。サービス真偽検証手段209は外部接続207により安全ネットワーク206と接続されており、サーバ操作代行手段215は外部接続208により安全ネットワーク206と接続されている。利用者認証手段211は、内部接続210によりサービス真偽検証手段209と接続され、内部接続214によりサーバ操作代行手段215と接続され、内部接続212によりコード表生成手段213と接続されている。
【0027】
コード表生成手段213は、操作代行装置216の外部から任意のタイミングで与えられる契機を元に動作し、コード表218を生成する。生成されたコード表218は、安全な経路217により利用者101に提示する。コード表218は、利用者101に提示したコード表218と同一の複製を内部に保管し、事前準備のタイミングで発生する利用者認証手段211からのコード表要求に応じて内部接続212により利用者認証手段211へ提供する。サービス真偽検証手段209は、安全ネットワーク206を経由して操作代行手段216に接続してきたサービスサーバ105の真偽を検証する。サービス真偽検証手段209は、サービスサーバ105の真正を確認したら、その接続コネクションを内部接続210により利用者認証手段211に再接続し、サービスサーバ105と利用者認証手段211が通信可能な状態にする。利用者認証手段211は、サービスサーバ105からの接続を受けて、まずはサービスサーバ105に接続している利用者201の利用者認証を実行する。後述されるしかるべき利用者認証手続きの結果、利用者認証が成功した場合、次に利用者からの操作代行依頼信号を受信する。受信に成功した場合には内部接続214を経由してサーバ操作代行手段215に操作代行を依頼する。サーバ操作代行手段215は、利用者認証手段211から内部接続214を経由して任意のタイミングでもたらされる操作代行依頼を受けて該当のサーバ操作を実行する。サーバ操作は外部接続208を経由してサービスサーバ105に対して実行される。
【0028】
コード表生成手段213は、複数のコードを含むコード表218を生成する。コードは、n個(n:2以上の整数)の数字が所定の順序で配列してなる質問セットと、質問セットのn個の数字に夫々対応するn個の数字が上記所定の順序で配列してなる返事セットとからなる。なお、本発明における「数字」は、数値、文字、記号などを含むが、分かりやすいように、以下の説明において、「数字」の例として「数値」を用いる。
【0029】
図2は、コード表生成手段213により生成されたコード表218の例を示す。図示のように、コード表218は、コード302、コード303、コード304の集合であり、シード値をインデックスとしてコードを複数格納した表である。図2に示す例では、コード表218に3つのコードが含まれているが、コード表218に格納されるコードの数は、3に限らず、1以上の任意の数であってもよい。また、図2に示す例において、各コードの質問セットと返事セットに含まれる数字の個数nが4であるが、これも4に限られることがない。
【0030】
コード表218は、例えば印刷物や電子情報の形で利用者に提供される。夫々のコードは、前述したように、質問セットと返事セットからなる。以降、質問セットに含まれる各数字をQとする。返事セットに含まれる各数字は、ある質問Qを与えられた際に該質問Qと対になる回答であり、以降回答Rという。以下、質問Qと回答Rの組「Q,R」を応答セット305と呼ぶ。図2から分かるように、コードは、複数の応答セットからなるリストである。なお、応答セットは順序を持って保持される。
【0031】
利用者認証手段211は、利用者の認証に際して、コード表218に含まれるコードの質問セットに含まれる各数字を上記順序で送信することを利用者に要求すると共に、該要求に応じて利用者が端末装置103から送信したi番目(1≦i≦n)の数字を受信する度に、同一のコードの返事セットに含まれるi番目の数字を端末装置103に返送する。
【0032】
システム100の処理を具体的に説明する。時系列に沿って、事前準備の段階、利用者101と操作代行装置216間で互いの真正の確認と命令の伝達をする段階、操作代行装置216による代行の実行および実行結果を利用者101への通知をする段階を順に説明する。
【0033】
まず事前準備段階について説明する。図3は、この段階のシーケンスを示す。
利用者101は、操作代行装置216のコード表生成手段213に新たなコード表を生成する指示401を出す。この指示は操作代行装置216の外部から任意のタイミングで与えられる。指示401を受けたコード表生成手段213は、コード表218(図中C)を生成し(402)、安全な経路217を用いて利用者101に提示する(403)。同時に内部接続212を用いて、生成したコード表Cを利用者認証手段211に送信する(404)。利用者101と利用者認証手段211は、コード表Cを次のサービスの認証処理に利用するために保持する(405、406)。
【0034】
次に利用者101と操作代行装置216間で互いの真正の確認と命令の伝達を行う段階について説明する。時系列的には、事前準備段階と本段階の間には一定の時間の隔たりがあり、実際の利用シーンではこの間に利用者101は、安全な経路217で操作代行装置216にアクセス(または操作)することが可能な地点から、信頼できない端末装置103の前に移動したとする。以降、利用者101が操作代行装置216に代行を依頼する操作を符号化してリストで表現したものをコマンドと呼ぶ。
【0035】
コード内の数字によるコマンドの実現手法の例を説明する。例えば、コード内に含まれる数字(ここでは数値)の集合をBとしたとき、A⊆Bとなるような数値の集合Aを定義し、Aの要素の順列でコマンドを定義することが可能である。ここで、Bを{0,1,2,3,4,5,6,7,8,9}とし、Aを{1,2,3}とした場合に、図4に示す複数のコマンドを定義することができる。なお、図4における丸括弧()は、数値の順列を示す。
【0036】
なお、コマンドに関する知識は事前に利用者101と操作代行装置216の間で合意が取られているものとするが、新規に利用者が作成したコマンドの意味を操作代行装置216が理解できるならば、コマンドの形式を事前完全に合意する必要は無い。図5は、コマンドの形式が不完全に定義されている例を示す。この例の場合、電話番号「1234」を入力するコマンドは、(1,3,1,1,2,3,4)となる。
【0037】
本実施の形態では、コマンドと操作を一対一対応させる必要があるため、操作代行装置216内で利用されるコマンドの重複があってはならない。またコマンドを表現するときに用いる値は、コード表に含まれる値から選択する必要がある。
【0038】
図6は、本段階における操作代行装置216の状態(フェーズ)遷移図を示す。また、図6に示すフェーズ遷移を実現するための処理を擬似コードで表現したものを図7に示す。図7にて利用されている記号の説明を図8で示す。本段階は、操作代行装置利用前の処理フェーズ、コード選択フェーズ、信頼度向上フェーズ701、コマンド受信フェーズ702、コマンド確認実行フェーズ703、処理結果送信準備フェーズ705、処理結果送信フェーズ706、処理結果信頼フェーズ709及びセッション切断710から構成される。なお、最後のセッション切断710は、利用者の認証から、コマンドに該当する処理の代行操作の実行及びその代行操作実行結果の送信までの処理のいずれかが失敗した際に遷移する状態であり、終了状態である。状態遷移の詳細については後述する。
【0039】
図9A〜Cは、本段階の代表的な実行シーケンスを示す。なお、図9A〜Cでは、図6における「Q受信タイムアウト」及び「コード最後尾に到達」という遷移条件に関しては省略されている。これは本条件による状態遷移は全ての状態の全てのタイミングで起きる可能性があるからである。操作代行装置利用前の処理フェーズ801では、利用者101によるサービスサーバ105へのアクセス(803)の後、サービスサーバ105中で利用者の操作を必要とする状況が発生し(804)、その結果操作代行要請805がサービス真偽検証手段209に送付される。サービス真偽検証手段209では、サービスサーバ105が利用者の期待するサーバ(以降「真正サーバ」という)であることを検証する(806)。サービスサーバ105が真正サーバであると判断する手法は、IPアドレスの確認、サーバ証明書の利用など既知の手法が利用できるため、ここでは説明を割愛する。サービスサーバ105が真正サーバである場合、操作代行要請が利用者認証手段211に転送される(807)。
【0040】
コード選択フェーズ802は、利用者101と操作代行装置216の間で、今後一連の処理で利用する特定のコードを一意に決定するためのフェーズである。まず利用者認証手段211は、利用者101に対して、コードの選択と入力を要求する(808)。要求を受けた利用者101は、事前準備段階で獲得したコード表218から条件にあう適切なコードを選択する(809)。図10は、条件の模式を示す。
【0041】
コード選択の必須条件は、コードの個数と値の分布から生じる2種類の条件がある。コードの個数に関する条件は、以降のフェーズにて発生する利用者101と操作代行装置216間の送受信処理(以降「シーケンス」という)を1回実行するとコードを先頭から1つ消費するため、代行操作を完了するために必要なシーケンス数分のコード長を最低限確保しなければならない、という制約を満たすための条件である(904)。値の分布から生じる条件は、このコード中へのコマンドの埋込み箇所となる、コード中のコマンドの先頭値C_headと異なる文字からからコマンドの長さC_length分だけ後ろの値がコマンドの終端値C_tailと異なるような部分、がコード中に存在する事と、コマンド挿入部分の前後に利用者101、操作代行装置216の双方が信頼度向上処理を行うためのシーケンスを実行できるだけの値が確保可能である事、という条件である(901、902)。図11は、利用者101が適切なコードを選択(809)するために行う作業の一例を示している。
【0042】
また、図10では、利用者が代行結果を折り返し受信したい場合に考慮すべき追加条件も示している。追加条件は、コードの個数に関する条件である(906、907、908、909)。利用者101は、図10に示す各条件を操作代行装置216側で満たせるようにコード中後方の応答セットの個数を確保する必要がある。実際の運用では、利用者は十分な長さのコードを選択する事で満たせると考えられる。提示するコードが先に挙げた条件を満たせるならば、作業内容は図11に示す例と異なってもよい。
【0043】
コードの選択が完了すれば、利用者101は、利用するコードを操作代行装置216へ返信する。追加条件にコードが合致しているかを判断するのは操作代行装置216であり、利用者101は、コードが必須条件に加えて追加条件にも合致すると推定して最適である思われるコードを選択する。そのため、利用者101の選択したコードが、本フェーズおけるコマンド実行結果埋め込み処理の際に不適切であり、本フェーズが失敗する可能性はある。但し、埋め込みが失敗してもコマンドの実行そのものは行われるため、利用者101は、コマンド実行結果の受信を望まなければ、追加条件を考慮せずにコードを選択してもよい。
【0044】
信頼度向上フェーズ701は、利用者101が操作代行装置216の真正を確認するためのフェーズである。利用者101及び利用者認証手段211は、互いに対向の真正を確認するために本フェーズを実行する。本フェーズをもって利用者101は、操作代行装置216の真正を確認したことになる。本フェーズでは、利用者101は、コード選択フェーズにて選択した(809)コードの先頭から順番に応答セットを一個ずつ取り出し、その中に含まれるQを操作代行装置216に送信する(216)。利用者認証手段211は、Qに対応するRを自身の保有するコードから選択し(817)、利用者101に向けて返信する(818)。Rを受け取った利用者101は自身の持つコードにてRが一致する事を確認する。本フェーズを複数回連続で実行した場合に、コード表218に関する知識を持っていない第三者が操作代行装置216に成り済まして正しいRを返答できる確率が非常に少ないため、正しいRを確認した時点で利用者101の信頼度が向上する(819)。正解の回数を「装置正解数」とする。
【0045】
操作代行装置216の信頼度が利用者101の主観にも依存するため、利用者101は操作代行装置216が真正であると判断する(820)まで本フェーズを好きなだけ繰り返し行う。本フェーズを1回実行する度にコード中の応答セットを一つ消費するため、本フェーズは最大コードのサイズだけ繰り返すことができる。利用者の目的がサービスサーバ105の真正の確認のみである場合、処理をここで終了すればよい。間違ったRを受信した場合、利用者101はその時点で操作代行装置216が偽であるとして作業を終了する。本フェーズにおいて利用者101と操作代行装置216の関係が対称であるため、本フェーズにより操作代行装置216から見た利用者101の真正の確認も同時に実行される。操作代行装置216内で閾値の形で信頼度を定義し(712)、本フェーズ中のシーケンス実行回数がその信頼度を越えた時点で利用者101が真正であると判断する。
【0046】
コマンド受信フェーズ702は、利用者101からのコマンドを受信するフェーズである。本フェーズはコードの隠蔽を目的としているため、信頼度向上フェーズに続いて滞りなく実行される。本フェーズは、コード選択フェーズにて事前に目処をつけておいたコード中の一部に対して、コマンドを置換、もしくは加算(1101)して操作代行装置216に送信する処理である。図12は、この処理の模式図を示す。
【0047】
本フェーズ内のシーケンスで送信される値は前段階の信頼度確立フェーズ及びこの後行われる各フェーズで送信される値と比較して、外部的にはさしたる変化が無いため、本フェーズに移行、本フェーズから脱出した事をコード表218に関する知識を入手していない第三者が観測した場合に区別する事ができない。その結果、信頼できない端末103、信頼できないネットワーク104上において、中間者の攻撃を回避することができる。図11に示したコマンド挿入方法によれば、本フェーズに突入するタイミングは、操作代行装置216が、初めて想定するQとは違う値を受信した場合(823)である。この際、先の信頼度確立フェーズにて十分な信頼度が確保されている場合に、操作代行装置216は、許容できる範囲で、今受信した値はコマンドであると仮定して(816)、これを記録し、正しいQを受け取った際に返信すべきRを返信する(827)。
【0048】
図13は、許容できる範囲を定義するための思想を示す。利用者が真正である場合、コマンドの値列の回数だけ送信され、その後は全て正しいQとなる。そのため、送信された値列の正しい値と間違った値の割合は、コマンドの送信完了以降は必ず増加する。一方利用者が偽の場合には、送信される値列中に間違った値が広く分布する。そこで値を受け取るたびに常に値列中の正解と間違いの割合を計算し、ある閾値を超えたならそれはコマンドではない、と判断する。利用者101は、コマンドを送信完了すると(828)、次の値として操作代行装置216が送信してきた最新のRの次の応答セットのQを送信する(829)。
【0049】
コマンド確認実行フェーズは、先のコマンド受信フェーズが終了したことを確認して、コマンドすなわち代行処理を実行するフェーズである。コマンド受信フェーズにて利用者101が真正と判断した場合に、コマンド受信終了(828)以降の利用者101からの送信情報(829)がすべて正解であることを確認する。本フェーズにおけるはじめてのQの受信(829)以降、操作代行装置216は、決められた回数だけ本フェーズを実行し、コマンド送信フェーズで送信された値列がコマンドであるかどうかを判断する。信頼度が閾値を超えたらコマンドである判断する(832)。コマンドであると判断したら、操作代行装置216は、操作の代行処理を行う(836、837、838)。利用者認証手段211は、コマンドを確認したため、サーバ操作代行手段215に処理開始の依頼を行う(836)。これを受けたサーバ操作代行手段215は、サービスサーバ105に対して要求された処理を実行する(837)。サービスサーバ105は、処理結果を元にサービス処理を利用者101に対して行い(838)、処理が完了すれば処理の成否などの情報を処理結果として利用者認証手段211に返す(839)。利用者認証手段211では、以降の処理結果送信フェーズ(705)にて処理結果を送信する目的で現在利用しているコード中に処理結果を埋め込むために、処理結果を埋め込み可能な場所をコード中から探し出す(840)。なお、利用者視点では本フェーズ及び次の処理結果送信準備フェーズは意識されず、次に間違ったRを受信する段階である、処理結果の送信(846)を受けて、初めて処理結果送信フェーズに移動したことを意識する(835)。この際再度に受信した間違ったRは、処理結果送信フェーズの最初の値であると利用者101は新式する。
【0050】
処理結果送信準備フェーズ704は、コマンド確認実行フェーズにて探された(840)処理結果を埋め込み可能な場所まで、コードの不要な部分を破棄するフェーズである。本フェーズでは、埋め込み位置までコードを読み捨てる(844)。
【0051】
処理結果送信フェーズ705は、操作代行装置216から処理結果を利用者101に提示するフェーズである。コマンド受信フェーズ802と同様に、本フェーズでは操作代行装置216は、コード中の応答セットのRに対して処理結果を置換もしくは加算し、利用者101は、今までのシーケンスと同様の処理でRの代わりにコマンド実行結果を受け取る。
【0052】
認証結果信頼フェーズ706は、処理結果送信準備フェーズ704にて利用者が受信したコマンド実行結果の真正を確かめるフェーズである。コマンド受信フェーズ702における操作代行装置216の処理と同様にして利用者101はコマンド実行結果の真正を確認する。
【0053】
また、全てのフェーズにて、一定時間利用者からのQの提示がなくなった場合、及び信頼度が閾値を下回った場合、操作代行装置216は、利用者の信頼性が失われたものと考え、本セッションを切断し、利用したコードを今後無効として再利用不可能にする。
【0054】
具体的な実施例を用いて本発明の技術をより詳細に説明する。
<第1の実施例>
この実施例は、利用者の各家庭に操作代行装置を配置した上で、コマンド表の出力を紙媒体に行い、利用者は公共の場に設置された信頼できない公共端末からWebサーバ上のサービスを利用する例である。
【0055】
図14は、該実施例のシステム400を示す。システム400は、ネットワークを介してサービスを提供するWebサーバ1404と、利用者101が居住する社宅1406に設置された家庭内サーバ1409と、公共の場1401に設置された公共端末1402を備える。公共端末1402は、インターネット1403を介してWebサーバ1404に接続されている。また、社宅1406には、印刷装置1410と出力指示用デバイス1414が設けられており、これらは、家庭内サーバ1409と接続されている。
【0056】
家庭内サーバ1409は、ネットワーク接続1407により、VPA(Virtual Private Network)1405を介してWebサーバ1404と接続される。VPA1405は、安全ネットワークである。
【0057】
また、家庭内サーバ1409には、操作代行装置ソフトウェア1408が実装されている。操作代行装置ソフトウェア1408は、家庭内サーバ1409のハードウェアと協働して、サービス真偽検証手段209、利用者認証手段211、コード表生成手段213、サーバ操作代行手段215を実現する。
【0058】
図15は、操作代行装置ソフトウェア1408の内部構成の模式図である。コード表生成手段213は、コード表生成機能1511と、コード表出力機能1510により実現される。コード表生成機能1511は、利用者101によって操作される出力指示用デバイス1414と安全な経路1518で接続されている。コード表出力機能1510は、コード表1413を紙媒体に出力するための印刷装置1410と安全な経路1415で接続されている。出力指示用デバイス1414は、パーソナルコンピュータ等を利用して実現できる。印刷装置1410は、一般に市販されているプリンターで実現できる。安全な経路1518と1415は、出力指示用デバイス1414と印刷装置1410を、操作代行ソフトウェア1408が実行されている家庭内サーバ1409とを直接接続する物理的な信号線である。
【0059】
利用者認証手段211は、コマンド解釈機能1507と、メッセージ正当性確認機能1506と、コード表データベース1509と、コマンドデータベース1508を有する。コード表データベース1509は、内部接続1517によりコード表出力機能1510と接続されている。コード表データベース1509とコマンドデータベース1508は、ともにデータであるため、データベースシステムの利用で実現できる。利用者認証手段211は、内部接続1515によりサービス真偽検証手段209と接続されている。コード表データベース1509には、コード表出力機能1510から受け取った現在有効なコード表が格納されている。コマンドデータベース1508には、利用者101が送信してくる可能性のあるコマンドが記録されている。
【0060】
サービス真偽検証手段209は、Webサーバ正当性確認機能1503と、Webサーバリスト1505と、Webサーバ認証情報1504を有する。サービス真偽検証手段209は、ネットワーク接続1407を介して、Webサーバ1404経由のコマンド実行要求1502を待ち受けている。また、Webサーバ1404経由のコマンド実行要求1502のレスポンスのためのWebサーバ1404経由のコマンド実行結果応答1501を行う。Webサーバリスト1505には、アクセス許可を出すWebサイトのリストが格納されている。Webサーバ認証情報1504には、Webサーバ正当性確認機能1503がアクセスしてきたWebサーバの真正を確認するための情報が格納されている。Webサーバリスト1505及びWebサーバ認証情報1504は、ともにデータであるため、データベースのシステムの利用で実現できる。サーバ操作代行手段215は、コマンド実行用プロトコルスタック1513とコマンド操作実行機能1512により実現される。コマンド実行用プロトコルスタック1513は、ネットワーク接続1407を経由して外部のWebサーバのコマンド実行のためのインターフェイスと接続している。コマンド実行のためのインターフェイスはSOAPなどで実現できる。これらすべての機能は、コンピュータ上のプログラムとして実現できる。また、すべての内部接続はプログラムの関数として実現できる。
【0061】
以下、まず、時系列に沿って、家庭内での事前準備である事前準備段階と、利用者と認証代行装置間で互いの真正の確認と命令の伝達をする段階の中における、公共端末1402を経由してWebサービスを利用する直前の、送信する値列の生成までを利用者の観点から説明する。次に、その後の公共端末1402を経由してWebサービスの利用を開始する段階を説明する。それぞれの時において、各機能内でどのような処理を行うか説明する。なお、利用者101、Webサーバ1404、操作代行ソフトウェア1408の間での値のやり取りについては、図19に例示している。
【0062】
事前準備段階について説明する。図16は、利用者視点での事前準備段階の流れを示す。図示のように、事前準備は、時系列に沿って、サービス利用前の処理2009とWebサービス利用直前の処理2010の2つに大別できる。
【0063】
サービス利用前の処理2009には、コマンドの登録処理2001とコードの生成処理2002がある。コマンドの登録処理2001では、利用者101は、コマンドデータベース1508にコマンドを登録する。この際の登録処理は家庭内サーバ1409に接続したパーソナルコンピュータなどの外部端末を利用すればよい。
【0064】
利用者101は、登録したコマンドをコマンド表1412として携帯する。図18は、コマンド表1412の例を示す。コマンドは、前述した所定の条件を満たせばどんな値列でもかまわないが、実際に運用する場合には値列のコンテキストからコマンドの内容が連想されないように注意して構成することが好ましい。例えば、値列をアルファベットで構成した際に、「ログイン」を示すコマンドの値列を"login"にすべきではない。このような値列を前述した置換方式でコードに挿入すると、攻撃者がシーケンスからコンテキストを読み取れてしまう場合があるからである。
【0065】
コードの生成(2002)で、利用者101は、出力指示用デバイス1414からコード表生成機能1511にコード表生成を依頼する。図17は、コード表生成機能1511により生成されるコード表の例を示す。
【0066】
コード表生成機能1511は、予め与えられている所定のフォーマットに対して、所定の関数を用いて値を当てはめてコード表を完成する。図中下線が引かれている値は、コード表生成機能1511が当てはめたものである。すなわち、図17から下線の引かれた部分を除外したものが所謂所定のフォーマットの一例である。
【0067】
所定の関数としては、乱数生成器などが利用できる。この場合は、乱数生成器から出力される乱数を順番に所定のフォーマットの空欄に当てはめればよい。シード値はコードを判別するためだけの値であるから、これを特に乱数生成に絡める必要は無い。
【0068】
場合によっては乱数ではなく、コマンドをより隠蔽しやすくするよう故意に生成された値列でもコードとなり得る。例えば全てのコマンドで同じ値を「5→5」と続けている場合などでは、コードの無意味な部分にも「5→5」という値列を挿入しておく、などの方法である。コード表生成機能1511は、コード表の生成が完了したら、そのコード表をコード表出力機能1510に渡す。コード表出力機能1510は、それを受けて印刷装置1410にコード表を出力すると共に、同一のコード表を新たなコード表として利用者認証手段211のコード表データベース1509に登録する。登録されたコード表は利用者とサービスサーバ間の通信2007が完了するまで保管される。
【0069】
その後、利用者101は、印刷出力されたコマンド表1412、及びコード表1413を携帯して公共端末1402まで移動する(2008)。この際、利用者はこれらの表が攻撃者に渡らないように注意を払う必要がある。公共端末1402を用いてWebサーバ1404にアクセスしている際に、特に秘密にすべき重要な操作、例えばパスワードの入力や、氏名、年齢などの個人情報の入力などを行うシーンが発生すると、次のWebサービスの利用直前(2010)の処理を行ったうえで、利用者101とWebサーバ1404間の通信(2007)を行うことで、操作代行装置ソフトウェア1408に操作を代行させることができ、公共端末1402及びインターネット1403を経由させることなく操作を完了することができ、目的を達成できる。
【0070】
Webサービス利用直前(2010)には、埋め込むコマンドの準備(2003)、利用するコードの選択(2005)、送信する値列の構成(2006)の処理がある。
【0071】
埋め込むコマンドの準備(2003)で、利用者101は、自身の携帯しているコマンド表1412から、操作代行を依頼したいコマンドを探し出す。この際、埋め込むコマンドに追加情報を入力する必要がある場合は、それを追記した完全なコマンドを構成する。図20は、コマンドの構成例を示す。
【0072】
まず、利用者101は、コマンド表1412から利用するコマンド(「予約する部屋番号を入力」)を見つけ出す(1907)。本コマンドが実行されると、代理操作装置ソフトウェア1408は、利用者101に代わりWebサーバ1404に対して部屋の予約という操作を行う。本コマンドには部屋番号を追記する必要があるため、このままでは不完全である。利用者101は、この場合、コマンドに追加情報である「部屋番号」を追加する。
【0073】
利用するコードの選択(2005)では、完成したコマンドを埋め込むことが可能なコードをコード表1413から選択する必要がある。図20の例では、「シード値45のコードの5番目の数値がコマンドの先頭と異なる値であり、そこからコマンド長の5個分離れた9番目の値がコマンドの終端と異なる値である」ため、この部分にコマンドを埋め込むことが可能である(1906)。
【0074】
送信する値列の構成(2006)では、利用者は埋め込む部位をコマンドに置換して送信すべき値列を生成する(1903)。この作業は、実際の通信時に行ってもよい。
【0075】
次いで、その後に公共端末1402を経由してWebサービスの利用を開始する段階を説明する。本段階では利用者101は、公共端末1402を操作して操作代行を操作代行ソフトウェア1408に依頼する。図19は、この際に送受信される値のシーケンスの例を示す。これにより、利用者101もしくはWebサーバ1404が代理操作を要求することができる。
【0076】
要求が発生するタイミングの具体例としては、例えば、利用者101がWebサイト上でホテルの部屋を予約しようとして、部屋番号の入力に代理入力を選択したタイミングである。操作代行装置ソフトウェア1408から見ると、利用者101とは直接接続していないため、Webサーバ1404経由のコマンド実行要求1514がWebサーバ1404から発生しているように見える。Webサーバ1404経由のコマンド実行要求1514]は、安全なネットワークVPA1405及びそれと接続しているネットワーク接続1503を経由してサービス真偽検証手段209へ送信される。
【0077】
ここで、VPA1405経由で通信内容が保証されているため、サービス真偽検証手段209は、Webサーバ1404との対話でWebサーバの真正を検証する。真正検証のためにはWebサーバ認証情報に格納されているWebサーバを特徴付ける情報を用いる。Webサーバを特徴付ける情報は、例えばIPアドレスなどを用いることができる。
【0078】
Webサーバ1404の真正が確認されたら、サービス真偽検証手段209は、自身が所有するWebサーバリストに含まれるサービスオーダを参照して、該Webサーバに対する操作代行実行の可否を確認する。操作代行実行が可能であれば、サービス真偽検証手段209は、Webサーバ1404からのコマンド実行要求1502を利用者認証手段211に接続する。この接続は内部接続により実現される。
【0079】
利用者認証手段211のメッセージ正当性確認機能1506は、図9A〜C、図11の際に説明した処理を行う。図19は、これらの処理の具体例を示す。図示のように、シーケンス1856を受信した段階で、メッセージ正当性確認機能1506は、それまでの入力異常が入力異常ではなくコマンドであると推測する。正当性確認機能1506は、コマンドと推測された値列をコマンド解釈機能1507に渡しコマンドの実行を要請する。コマンド解釈機能1507は、コマンドデータベース1508に格納されているコマンドの一覧から、該当するコマンドとそれに対応する操作を見つけ、コマンドの解釈を行う。実行するコマンドが判明した段階で、コマンド解釈機能1507は、サーバ操作代行手段215]にコマンドの実行を依頼する。コマンド操作実行機能1512は、コマンド実行用プロトコルスタック1513を操作して対象のWebサーバ1404に対して操作代行を実行する。操作命令をWebサーバに伝える方法としては、SOAPなどの既存技術の利用が可能である。
【0080】
本実施例のシステム400によれば、安全性が保証されていないために操作命令の改ざん、盗聴、成り済まし、破棄などの危険性がある公共端末及びインターネットを経由しても、サービスサーバに対して安全に操作命令を実行できる。その理由は、端末に依存しない利用者の手元で実行できる暗号化手段を利用することで端末の危険性リスクを除外できるからである。
【0081】
また、本実施例のシステム400によれば、安全性が保証されていない公共端末及びインターネットを経由して、利用者とWebサーバ相互に相手を信頼して、安全に操作を実行できる。その理由は、擬似的な暗号ストリームを構築する暗号化手順を用いることで、攻撃があったことを直ちに検知できるからである。
【0082】
さらに、本実施例のシステム400によれば、送信情報が破棄される危険性がある公共端末及びインターネットを経由してWebサーバを介して安全に操作命令を送信することができる。その理由は、情報が秘匿通信路に送信されるタイミングを隠蔽できる手法が用いられているからである。
【0083】
<第2の実施例>
本第2の実施例は、前述した第1の実施例におけるコマンド表、コード表の携帯方式を変更し、ネットワーク上に利用者宅選択装置を加えることで、複数の利用者による同時利用に対応したものである。図21を参照して説明する。
【0084】
本実施例のシステム3000は、Webサーバ2113を複数の利用者(2105、2111)が同時に利用する事を想定して構成されている。図21にて、利用者は二人であるが、複数であれば何人でもよい。本実施例では、第1の実施例で説明した操作代行装置ソフトウェア1408を各利用者宅(2130、2129)に配置している(図中2127、2122)。また利用者に対してコード表とコマンド表を提示する手段として携帯端末2106と2107を用いている点と、安全ネットワークとしてNGN2116を用いている点とが第1の実施例と異なる。また、Webサーバ2113と安全ネットワークNGN2116間に、利用者選択装置2115が配置されている点も、第1の実施例と異なる。
【0085】
本実施例では、利用者視点での動作は第1の実施例と基本的には同じであるが、コード表、コマンド表の部分について第1の実施例と異なる。本実施例ではコード表、コマンド表は携帯端末2106と2107に電子的に記録される。利用者は代行したい操作を携帯端末に入力することで、その操作を示すコマンドの選択処理、コマンドに適したコードの選択処理(809)、コードへのコマンド置換処理は携帯端末上で自動的に行われ、利用者に対しては次に入力すべき値が携帯端末から提示される。利用者は携帯端末に表示された値を信頼できない端末2104と2110の画面を通じて入力する。また、操作代行装置からの返答Rについても利用者は画面上からRを読み取り携帯端末に入力する。入力を受けた携帯端末では処理結果の判別処理を電子的に行い処理結果の成否を利用者に提示する。Webサーバ2113は、Web API2114を経由して利用者選択装置2115に接続する。利用者選択装置2115は、接続してきた利用者を判別し、各利用者の利用者宅の操作代行装置(2127、2122)に対してWebサーバ2113を再接続する。これ以降の動作については第1の実施例と同様である。利用者宅選択装置2115については、例えばWeb画面で利用者に対して自身の情報を入力させる、などの方法により利用者を判別する事を実現する。
【0086】
本第2の実施例のシステム3000は、第1の実施例のシステム400と同様の効果を得ることができる。さらに、Webサーバ2113が同時に複数の利用者に対して本発明を利用したサービスを提供する事が可能である。同様に、各利用者は自宅に自身の操作代行装置及びそれに関する情報を保管する事が可能であり、自身がそれらの情報を管理する事により安心感を得られる。
【0087】
以上、実施の形態をもとに本発明を説明した。実施の形態は例示であり、本発明の主旨から逸脱しない限り、上述各実施の形態、実施例に対して、さまざまな変更、増減、組合せを加えてもよい。これらの変更、増減、組合せが加えられた変形例も本発明の範囲にあることは当業者に理解されるところである。
【符号の説明】
【0088】
1 ワンタイムパスワード認証システム 10 OTP生成機
30 利用者端末装置 50 認証サーバ装置
90 ネットワーク 100 システム
101 利用者 102 GUI
103 端末装置 104 ネットワーク
105 サービスサーバ 206 安全ネットワーク
207 外部接続 208 外部接続
209 サービス真偽検証手段 210 内部接続
211 利用者認証手段 212 内部接続
213 コード表生成手段 214 内部接続
215 サーバ操作代行手段 216 操作代行装置
217 経路 218 コード表
302 コード 303 コード
304 コード 305 応答セット
400 システム 1401 公共の場
1402 公共端末 1403 インターネット
1404 Webサーバ 1405 VPA
1406 社宅 1407 ネットワーク接続
1408 操作代行装置ソフトウェア 1409 家庭内サーバ
1410 印刷装置 1411 紙出力
1412 コマンド表 1413 コード表
1414 出力指示用デバイス 1415 安全な経路
1501 コマンド実行結果応答 1502 コマンド実行要求
1503 Webサーバ正当性確認機能 1504 Webサーバ認証情報
1505 Webサーバリスト 1506 メッセージ正当性確認機能
1507 コマンド解釈機能 1508 コマンドデータベース
1509 コード表データベース 1510 コード表出力機能
1511 コード表生成機能 1512 コマンド操作実行機能
1513 コマンド実行用プロトコルスタック 1515 内部接続
1517 内部接続 1518 安全な経路
1601 コード表の例 2104 端末
2105 利用者 2106 携帯端末
2107 携帯端末 2110 端末
2111 利用者 2122 操作代行装置ソフトウェア
2113 Webサーバ 2115 利用者選択装置
2127 操作代行装置ソフトウェア 2129 利用者宅
2130 利用者宅 2114 Web API
2116 NGN 3000 システム

【特許請求の範囲】
【請求項1】
ネットワーク上でサービスを提供するサービスサーバと接続された代行装置であって、
安全性が保証されたネットワークである安全ネットワークを介して前記サービスサーバと接続されており、
前記サービスサーバの利用者が使用する端末装置から前記サービスサーバを経由して送信された、前記サービスサーバに対して行う操作の代行を要求する代行要求を受信した際に、前記利用者の認証を行う利用者認証手段と、
前記利用者認証手段による認証が成功したことを条件に、前記代行要求により要求された操作を、前記安全ネットワークを介して前記サービスサーバに対して行うサーバ操作代行手段とを有し、
前記利用者認証手段は、
前記サービスサーバの利用者との間で共有されるコードであって、n個(n:2以上の整数)の数字が所定の順序で配列してなる質問セットと、前記n個の数字に夫々対応するn個の数字が前記所定の順序で配列してなる返事セットとからなるコードを記憶しており、
前記利用者の認証に際して、前記質問セットに含まれる各数字を前記所定の順序で送信することを前記利用者に要求すると共に、該要求に応じて前記利用者が前記端末装置から送信したi番目(1≦i≦n)の数字を受信する度に、前記返事セットに含まれるi番目の数字を前記端末装置に返送することを特徴とする代行装置。
【請求項2】
前記利用者認証手段は、
前記端末装置から受信した数字のうちの、しかるべき順位でしかるべき数字を受信した数字の割合に基づいて前記認証を行うことを特徴とする請求項1に記載の代行装置。
【請求項3】
前記利用者認証手段は、
前記端末装置から受信した数字のうち、1番目からj番目(1<j<n)までの数字が夫々前記質問セットに含まれる1番目からj番目の数字であり、k番目(j<k≦n)からn番目の数字が夫々前記質問セットに含まれるk番目(j<k≦n)からn番目の数字であり、「j+1」番目と「k−1」番目の数字が前記質問セットに含まれる「j+1」番目と「k−1」番目の数字と夫々異なる場合に、
前記認証が成功したとすると共に、前記端末装置から受信した「j+1」番目から「k−1」番目の数字が、前記代行要求が要求する操作の内容を示すコマンドであると認識し、
前記サーバ操作代行手段は、前記コマンドが示す操作を前記サービスサーバに対して行うことを特徴とする請求項1に記載の代行装置。
【請求項4】
前記サービスサーバの認証情報を有し、該認証情報に基づいて前記サービスサーバを認証するサービス真偽検証手段をさらに備え、
前記代行手段は、前記利用者認証手段による認証が成功し、かつ前記サービス真偽検証手段による検証が成功したことを条件に、前記代行要求により要求された操作を前記サービスサーバに対して行うことを特徴とする請求項1から3のいずれか1項に記載の代行装置。
【請求項5】
前記コードを生成して前記利用者と前記利用者認証手段に供するコード生成手段をさらに備えることを特徴とする請求項1から4のいずれか1項に記載の代行装置。
【請求項6】
ネットワーク上でサービスを提供するサービスサーバと、
安全性が保証されたネットワークである安全ネットワークを介して前記サービスサーバと接続された代行装置とを備え、
前記代行装置は、
前記サービスサーバの利用者が使用する端末装置から前記サービスサーバを経由して送信された、前記サービスサーバに対して行う操作の代行を要求する代行要求を受信した際に、前記利用者の認証を行う利用者認証手段と、
前記利用者認証手段による認証が成功したことを条件に、前記代行要求により要求された操作を、前記安全ネットワークを介して前記サービスサーバに対して行うサーバ操作代行手段とを有し、
前記利用者認証手段は、
前記サービスサーバの利用者との間で共有されるコードであって、n個(n:2以上の整数)の数字が所定の順序で配列してなる質問セットと、前記n個の数字に夫々対応するn個の数字が前記所定の順序で配列してなる返事セットとからなるコードを記憶しており、
前記利用者の認証に際して、前記質問セットに含まれる各数字を前記所定の順序で送信することを前記利用者に要求すると共に、該要求に応じて前記利用者が前記端末装置から送信したi番目(1≦i≦n)の数字を受信する度に、前記返事セットに含まれるi番目の数字を前記端末装置に返送することを特徴とするシステム。
【請求項7】
前記利用者認証手段は、
前記端末装置から受信した数字のうちの、しかるべき順位でしかるべき数字を受信した数字の割合に基づいて前記認証を行うことを特徴とする請求項6に記載のシステム。
【請求項8】
前記利用者認証手段は、
前記端末装置から受信した数字のうち、1番目からj番目(1<j<n)までの数字が夫々前記質問セットに含まれる1番目からj番目の数字であり、k番目(j<k≦n)からn番目の数字が夫々前記質問セットに含まれるk番目(j<k≦n)からn番目の数字であり、「j+1」番目と「k−1」番目の数字が前記質問セットに含まれる「j+1」番目と「k−1」番目の数字と夫々異なる場合に、
前記認証が成功したとすると共に、前記端末装置から受信した「j+1」番目から「k−1」番目の数字が、前記代行要求が要求する操作の内容を示すコマンドであると認識し、
前記サーバ操作代行手段は、前記コマンドが示す操作を前記サービスサーバに対して行うことを特徴とする請求項6に記載のシステム。
【請求項9】
安全性が保証されたネットワークである安全ネットワークを介して、ネットワーク上でサービスを提供するサービスサーバと接続された代行装置により、前記サービスサーバに対して行う操作の代行を行う代行方法において、
前記サービスサーバの利用者が使用する端末装置から前記サービスサーバを経由して送信された、前記代行を要求する代行要求を受信した際に、前記利用者の認証を行う利用者認証ステップと、
前記利用者認証ステップによる認証が成功したことを条件に、前記代行要求により要求された操作を、前記安全ネットワークを介して前記サービスサーバに対して行うサーバ操作代行ステップとを有し、
前記利用者認証ステップは、
前記サービスサーバの利用者と、前記代行装置との間で共有されるコードであって、n個(n:2以上の整数)の数字が所定の順序で配列してなる質問セットと、前記n個の数字に夫々対応するn個の数字が前記所定の順序で配列してなる返事セットとからなるコードにおける前記質問セットに含まれる各数字を前記所定の順序で送信することを前記利用者に要求すると共に、該要求に応じて前記利用者が前記端末装置から送信したi番目(1≦i≦n)の数字を受信する度に、前記返事セットに含まれるi番目の数字を前記端末装置に返送することを特徴とする代行方法。
【請求項10】
ネットワーク上でサービスを提供するサービスサーバに対して行う操作の代行を、安全性が保証されたネットワークである安全ネットワークを介して前記サービスサーバと接続されたコンピュータに実行せしめるプログラムであって、
前記サービスサーバの利用者が使用する端末装置から前記サービスサーバを経由して送信された、前記代行を要求する代行要求を受信した際に、前記利用者の認証を行う利用者認証ステップと、
前記利用者認証ステップによる認証が成功したことを条件に、前記代行要求により要求された操作を、前記安全ネットワークを介して前記サービスサーバに対して行うサーバ操作代行ステップとを有し、
前記利用者認証ステップは、
前記サービスサーバの利用者と、前記代行装置との間で共有されるコードであって、n個(n:2以上の整数)の数字が所定の順序で配列してなる質問セットと、前記n個の数字に夫々対応するn個の数字が前記所定の順序で配列してなる返事セットとからなるコードにおける前記質問セットに含まれる各数字を前記所定の順序で送信することを前記利用者に要求すると共に、該要求に応じて前記利用者が前記端末装置から送信したi番目(1≦i≦n)の数字を受信する度に、前記返事セットに含まれるi番目の数字を前記端末装置に返送する処理を前記コンピュータに実行せしめることを特徴とするプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9A】
image rotate

【図9B】
image rotate

【図9C】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate


【公開番号】特開2012−73779(P2012−73779A)
【公開日】平成24年4月12日(2012.4.12)
【国際特許分類】
【出願番号】特願2010−217467(P2010−217467)
【出願日】平成22年9月28日(2010.9.28)
【出願人】(000004237)日本電気株式会社 (19,353)
【Fターム(参考)】