説明

情報処理装置、通信制御方法及び通信制御プログラム

【課題】多重に暗号化された通信に対し、当該暗号化を単一化することが可能な情報処理装置、通信制御方法及び通信制御プログラムを提供する。
【解決手段】IPSecとSSLとにより暗号化された通信を、前記外部装置から受信したか否かを判定する多重暗号判定手段と、前記多重暗号判定手段によりIPSec及びSSLで暗号化された通信を受信したと判定された場合に、前記外部装置のアクセス先を、前記IPSec又はSSLによる暗号化を伴わない通信用のアクセス先に転送させる転送制御手段と、を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワーク上に接続された機器と暗号化通信を行う情報処理装置、当該情報処理装置の通信制御方法及び通信制御プログラムに関する。
【背景技術】
【0002】
ネットワークの普及に伴いセキュリティへの関心が高まっている昨今において、通信の暗号化は重要な技術となっている。一般に用いられているTCP/IPプロトコルでは、IPSecやSSL等、各レイヤに応じた暗号技術が用いられているが、暗号/復号化にかかる処理はCPUへの負荷が高く、複数の暗号化を多重に施すのは効率的ではない。そのため、従来、多重に暗号化が行われてしまうことを防止することが可能な種々の技術が提案されている。例えば、特許文献1には、平文での通信を受けたときにその通信をポートフォワードすることで、暗号化が多重に施されないよう回避する技術が開示されている。
【0003】
【特許文献1】特開2007−251568号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、上記特許文献1に記載の技術では、平文での通信を受けた際には暗号化の多重化を回避することができるものの、既に多重に暗号化された通信を受け付けた際には、対応することができないという問題がある。
【0005】
本発明は、上記に鑑みてなされたものであって、多重に暗号化された通信に対し、当該暗号化を単一化することが可能な情報処理装置、通信制御方法及び通信制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
上述した課題を解決し、目的を達成するために、請求項1にかかる発明は、IPSec及び/又はSSLにより暗号化された通信を外部装置との間で行う情報処理装置において、前記IPSecとSSLとにより暗号化された通信を、前記外部装置から受信したか否かを判定する多重暗号判定手段と、前記多重暗号判定手段によりIPSec及びSSLで暗号化された通信を受信したと判定された場合に、前記外部装置のアクセス先を、前記IPSec又はSSLによる暗号化を伴わない通信用のアクセス先に転送させる転送制御手段と、を備えたことを特徴とする。
【0007】
また、請求項2にかかる発明は、請求項1にかかる発明において、前記外部装置にwebページを提供するwebサーバを更に備え、前記転送制御手段は、前記SSLにより暗号化されたhttpsによる前記webサーバ宛のアクセスを、当該SSLによる暗号化を伴わないhttpによる前記webサーバ宛に転送させることを特徴とする。
【0008】
また、請求項3にかかる発明は、請求項1にかかる発明において、前記転送制御手段は、前記IPSecによる暗号化の対象となる自己の装置のIPv6アドレス宛のアクセスを、当該IPSecによる暗号化を伴わない自己の装置の他のIPv6アドレス宛に転送させることを特徴とする。
【0009】
また、請求項8にかかる発明は、IPSec及び/又はSSLにより暗号化された通信を外部装置との間で行う情報処理装置での通信制御方法であって、多重暗号判定手段が、前記IPSec及びSSLにより暗号化された通信を、前記外部装置から受信したか否かを判定する多重暗号判定工程と、転送制御手段が、前記多重暗号判定工程でIPSec及びSSLで暗号化された通信を受信したと判定された場合に、前記外部装置のアクセス先を、前記IPSec又はSSLによる暗号化を伴わない通信用のアクセス先に転送させる転送制御工程と、を含むことを特徴とする。
【0010】
また、請求項9にかかる発明は、請求項8にかかる発明において、前記情報処理装置は、前記情報処理装置は、前記外部装置にwebページを提供するwebサーバを備え、前記転送制御手段は、前記転送制御工程において、前記SSLにより暗号化されたhttpsによる前記webサーバ宛のアクセスを、当該SSLによる暗号化を伴わないhttpによる前記webサーバ宛に転送させることを特徴とする。
【0011】
また、請求項10にかかる発明は、請求項8にかかる発明において、前記転送制御手段は、前記転送制御工程において、前記IPSecによる暗号化の対象となる自己の装置のIPv6アドレス宛のアクセスを、当該IPSecによる暗号化を伴わない自己の装置の他のIPv6アドレス宛に転送させることを特徴とする。
【0012】
また、請求項11にかかる発明は、IPSec及び/又はSSLにより暗号化された通信を外部装置との間で行う情報処理装置のコンピュータに、前記IPSecとSSLとにより暗号化された通信を、前記外部装置から受信したか否かを判定する多重暗号判定手段と、前記多重暗号判定手段によりIPSec及びSSLで暗号化された通信を受信したと判定された場合に、前記外部装置のアクセス先を、前記IPSec又はSSLによる暗号化を伴わない通信用のアクセス先に転送させる転送制御手段と、して機能させることを特徴とする。
【発明の効果】
【0013】
請求項1、8、11にかかる発明によれば、IPSec及びSSLで暗号化された通信を受信した場合に、外部装置のアクセス先をIPSec又はSSLによる暗号化を伴わない通信用のアクセス先に転送させることで暗号化を単一化することができるため、暗号化/複合化にかかる処理の負荷を低減することができる。
【0014】
また、請求項2、9にかかる発明によれば、IPSec及びSSLで暗号化された通信を受信した場合に、httpsによるwebサーバ宛の通信をhttpによるwebサーバ宛に転送させることで暗号化をIPSecのみに単一化することができるため、暗号化/複合化にかかる処理の負荷を低減することができる。
【0015】
また、請求項3、10にかかる発明によれば、IPSec及びSSLで暗号化された通信を受信した場合に、IPSecによる暗号化を伴わない自己の装置の他のIPv6アドレス宛に転送させることで、暗号化をSSLのみに単一化することができるため、暗号化/複合化にかかる処理の負荷を低減することができる。
【0016】
また、請求項4にかかる発明によれば、IPSecの対象となりにくいリンクローカルアドレス宛に転送させることができるため、暗号化をSSLのみに単一化することができる。
【0017】
また、請求項5、6、7にかかる発明によれば、IPSecによる暗号化を伴わない、新たに生成されたIPv6アドレス宛に転送先させることができるため、暗号化をSSLのみに単一化することができる。
【発明を実施するための最良の形態】
【0018】
以下に添付図面を参照して、本発明にかかる情報処理装置、通信制御方法及び通信制御プログラムの最良な実施の形態を詳細に説明する。なお、本実施形態では、本発明にかかる情報処理装置、通信制御方法及び通信制御プログラムを、プリンタ機能や画像読取り(スキャナ)機能等を複合した所謂複合機に適用した例について説明するが、これに限らず、例えば、複写機やプリンタ等の画像形成装置、PC(Personal Computer)やサーバ装置等の情報処理装置に適用する態様としてもよい。
【0019】
図1は、本実施形態にかかる通信システムの構成を示したブロック図である。同図に示したように、本通信システムは、MFP100とPC200とを有し、これら各機器がネットワークNを介して通信可能に接続されている。なお、ネットワークNに接続されるMFP100やPC200の個数は、図1の例に限定されないものとする。
【0020】
ネットワークN上において、MFP100と管理ステーション200とは、IPv6(Internet Protocol Version 6)で通信を行う。なお、MFP100には、2つのIP(IPv6)アドレス“2001::11”と、“2001::22”とが予め割り当てられており、このうち“2001::11”がIPSec通信用のアドレス(以下、IPSec対象アドレスという)となっている。また、PC200にはIP(IPv6)アドレス“2001::33”が予め割り当てられている。
【0021】
次に、図2、3を参照してMFP100について説明する。MFP100は、プリンタ機能、画像読取り(スキャナ)機能等を複合した複合機である。なお、本実施形態において、MFP100は、自己の装置を利用するユーザに対して自己の備える各機能(印刷やスキャン機能)を提供するとともに、自己の装置の設定を行うための管理画面(GUI)を、ネットワークNを介しwebベースで提供する。
【0022】
図2は、MFP100のハードウェア構成の一例を示したブロック図である。同図に示したように、MFP100は、CPU(Central Processing Unit)11と、ASIC(Application Specific Integrated Circuit)12と、システムメモリ13と、記憶部14と、操作表示部15と、エンジン部16と、スキャナ部17と、インタフェース部18とを備えている。
【0023】
CPU11は、システムメモリ13の後述するRAM132を作業領域として、ROM131又は記憶部14に予め記憶された各種制御プログラムとの協働により各種処理を実行し、MFP100全体の動作を統括的に制御する。
【0024】
また、CPU11は、ROM131又は記憶部14に予め記憶された所定のプログラムとの協働により、後述する各機能部(ネットワーク通信部、アドレス生成部、IPSec処理部、IPSec設定保持部、httpサーバ、転送先判定部、暗号/復号処理部、Webアプリ)の機能を実現する。
【0025】
ASIC12は、画像処理用のハードウェア要素を有する画像処理用途向けのIC(Integrated Circuit)であり、CPU11と各部を夫々接続するブリッジとしての機能を有する。
【0026】
システムメモリ13は、プログラムやデータの格納用メモリ、プログラムやデータの展開用メモリ、プリンタの描画用メモリ等として用いるシステムメモリであり、ROM131、RAM132等から構成される。ここで、ROM131は、プログラムやデータの格納用メモリとして用いる読み出し専用のメモリであり、RAM132は、プログラムやデータの展開用メモリ、プリンタの描画用メモリ等として用いる書き込み及び読み出し可能な揮発性のメモリである。
【0027】
記憶部14は、磁気的又は光学的に記録可能な記憶媒体を有し、MFP100の制御にかかるプログラムや各種設定情報等を書き換え可能に記憶する。また、記憶部14は、スキャナ部17やインタフェース部18を介して入力される画像データ等を記憶する。
【0028】
操作表示部15は、MFP100とユーザとのインタフェースを行う部分であって、LCD(液晶表示装置)等の表示デバイスと、キースイッチ等の入力デバイスとから構成される。操作表示部15は、CPU11の制御の下、装置の各種状態や操作方法をLCDに表示するとともに、ユーザからのタッチパネルやキースイッチ群を介した入力を検出し、CPU11に出力する。
【0029】
エンジン部16は、プリンタエンジンなどであり、例えば白黒プロッタ、1ドラムカラープロッタ、4ドラムカラープロッタ、スキャナまたはファックスユニットなどである。なお、このエンジン部16には、プロッタなどのいわゆるエンジン部分に加えて、誤差拡散やガンマ変換などの画像処理部分が含まれる。
【0030】
スキャナ部17は、CCD光電変換素子からなるラインセンサとA/Dコンバータとそれらの駆動回路等を具備し、セットされた原稿をスキャンすることで得る原稿の濃淡情報から、デジタルの画像データを生成し、CPU11に出力する。
【0031】
インタフェース部18は、MFP100と外部装置とを接続するためのインタフェースである。具体的にインタフェース部18は、ネットワークNに接続可能なネットワークインタフェースであって、ネットワークNを介しPC200との間で授受される情報の送受信を制御する。
【0032】
次に、図3を参照して、MFP100のCPU11とROM131又は記憶部14に記憶されたプログラムとの協働により実現される各機能部について説明する。
【0033】
図3は、MFP100の機能的構成(ソフトウェア構成)を示したブロック図である。同図に示したように、MFP100は、ネットワーク通信部21と、アドレス生成部22と、IPSec設定保持部23と、IPSec処理部24と、webサーバ25と、転送先判定部26と、暗号/復号処理部27と、webアプリ28とを備えている。なお、図3では、各機能部が属するレイヤ間の関係をその配置位置より表しており、図中上方に行くほど上位のレイヤであることを意味している(ネットワーク層〜アプリケーション層)。
【0034】
ネットワーク通信部21は、インタフェース部18を介して接続される外部機器(PC200)との間の通信を制御する。アドレス生成部22は、外部装置との通信や自己の装置内で使用するIPアドレス(例えば、IPSec対象ドレスや後述するIPSec非対象アドレス等)を生成する。
【0035】
IPSec設定保持部23は、IPSecでの暗号化通信にかかるSPD(Security Policy Database)等の設定情報を記憶部14等のメモリ上に保持する。なお、設定情報には、自己の装置のIPSec対象アドレス“2001::11”や、IPSecを適用しない自己のIPアドレス(以下、IPSec非対象アドレスという)“2001::22”等が予め設定されているものとする。
【0036】
IPSec処理部24は、IPSec設定保持部23が保持する設定情報に従い、IPSec通信の暗号化/復号化を行う。具体的に、IPSec処理部24は、IPSec設定保持部23が保持する設定情報に基づき、当該設定情報に設定されたIPSec対象アドレスにかかる通信(パケット)についてはIPSecによる暗号化/復号化を施し、IPSec非対象アドレスについてはIPSecによる暗号化/復号化を行わないよう制御する。
【0037】
webサーバ25は、http及びhttps(SSL)通信用の機能部であって、PC200が備えるwebブラウザ等のクライアントソフトウェア(以下、webブラウザという)からの要求に応じて、上述した自己の装置の設定用の管理画面等を提供する。
【0038】
転送先判定部26は、PC200から送信される通信の暗号化の状況に応じて、webサーバ25の通信の転送先を決定する。具体的に、転送先判定部26は、PC200から送信される通信がIPSecとSSLとにより多重に暗号化されている場合に、“https”による通信を“http”とさせる転送レスポンスをPC200に返すことで、SSLによる暗号化が行われないよう制御する。なお、転送先判定部26の詳細な動作については、後述する。
【0039】
暗号/復号処理部27は、webサーバ25からの暗号化/復号化要求に応じて、SSLによる暗号化/復号化を行う。
【0040】
webアプリ28は、webサーバ25からの要求に応じて、自己の装置の設定用の管理画面や、管理画面の表示の際に行うユーザ認証用のログイン画面等、種々のwebページを生成する。また、webアプリ28は、記憶部14等に予め記憶された自己の装置の管理者用のユーザ名及びパスワードと、webサーバ25を介して通知されるPC200のユーザのユーザ名及びパスワードとを照合することで、PC200のユーザが管理者権限を有するか否かの認証を行い、この認証結果に応じたwebページを生成する。
【0041】
図1に戻り、PC200は、本システムのユーザが操作する端末装置であって、CPUやROM、RAM、HDD、ネットワークNに接続するための通信インタフェース等のコンピュータ構成を備える(何れも図示せず)。また、PC200は、CPUとROM又はHDDに記憶された所定のプログラムとの協働により、webブラウザとしての機能を実現し、このwebブラウザを用いてMFP100のwebサーバ25にアクセスを行う。なお、PC200からMFP100への通信は、デフォルトの状態ではIPアドレス“2001::11”宛、即ちIPSecによる暗号化通信の下で行われるものとする。
【0042】
以下、MFP100の動作について説明する。図4は、MFP100の各機能部により実行される通信制御処理の手順を示したシーケンス図である。
【0043】
まず、PC200のwebブラウザから、MFP100のIPSec対象アドレスのURL(http://2001::11/)宛にアクセスが行われ、ログイン画面が要求されたとする(ステップS11)。このときアクセス先のURLは“http”で始まるため、SSLによる暗号化は施されておらず、IPSecによる暗号化のみが施されている。
【0044】
一方、MFP100では、ネットワーク通信部21がPC200からIPSecにより暗号化された通信(パケット)を受け付けると、このパケットに施されたIPSecの復号をIPSec処理部24に依頼する(ステップS12)。IPSec処理部24では、ネットワーク通信部21からIPSecにより暗号化されたパケットを受け取ると、IPSec設定保持部23が保持する設定情報に基づいてパケットを復号化し、ネットワーク通信部21に出力する(ステップS13)。
【0045】
ネットワーク通信部21は、IPSec処理部24からIPSec復号化済みのパケットを受け付けると、このパケットをwebサーバ25に転送する(ステップS14)。webサーバ25では、ネットワーク通信部21から受け付けたパケットの内容に応じ、webアプリ28にログイン画面の生成を要求(ログイン画面要求)する(ステップS15)。
【0046】
続いて、webアプリ28では、webサーバ25からの要求に応じてログイン画面を生成すると、ログイン画面要求に対する応答としてwebサーバ25に出力する(ステップS16)。
【0047】
ここで、図5は、webアプリ28により生成されたログイン画面を表示するためのソース(HTML)の一例を示した図である。また、図6は、図5のソースがwebブラウザにより表示された際の表示例を示した図である。
【0048】
ログイン画面は、ユーザ名とパスワードとを入力する領域A1、A2から構成されており、図6に示したログインボタンB1が押下されることで、A1、A2に入力された文字列が、図5のL1に示したURL(https://2001::11/login.cgi)宛に送信されるよう構成されている。
【0049】
図4に戻り、webサーバ25は、webアプリ28からログイン画面(ソース)を受け取ると、このログイン画面をパケット化してネットワーク通信部21に転送する(ステップS17)。ネットワーク通信部21は、webサーバ25からパケットを受け付けると、このパケットをIPSec処理部24に転送することでIPSecによる暗号化を依頼する(ステップS18)。
【0050】
IPSec処理部24は、ネットワーク通信部21からパケットの暗号化が依頼されると、IPSec設定保持部23により保持された設定情報に基づいて、このパケットにIPSecによる暗号化を施し、ネットワーク通信部21に再び戻す(ステップS19)。そして、ネットワーク通信部21は、IPSec処理部24からIPSecによる暗号化済みのパケットを受け取ると、ログイン画面要求に対する応答としてPC200に送信する(ステップS20)。
【0051】
PC200では、図6に示したログイン画面の領域A1、A2に文字列がユーザにより入力された後、ログインボタンB1が押下されると、webブラウザの制御により、図5のL1に示したURL(https://2001::11/login.cgi)宛に、各領域に入力された情報が送信される(ステップS21)。このとき、アクセス先のURLは“https”で始まるため、SSLによる暗号化が行われる。つまり、この時点でIPSecとSSLとにより二重に暗号化された通信がMFP100に送信されることになる。
【0052】
MFP100では、ネットワーク通信部21がPC200からの通信(パケット)を受け付けると、このパケットに施されたIPSecの復号をIPSec処理部24に依頼する(ステップS22)。IPSec処理部24では、IPSec設定保持部23が保持する設定情報に基づいてパケットを復号化すると、ネットワーク通信部21に再び戻す(ステップS23)。
【0053】
次いで、ネットワーク通信部21は、IPSec処理部24から復号化済みパケットを受け付けると、このパケットをwebサーバ25に転送する(ステップS24)。webサーバ25では、ネットワーク通信部21から受け付けたパケットがSSLにより暗号化されていると判断するため、当該パケットの復号を暗号/復号処理部27に依頼する(ステップS25)。
【0054】
暗号/復号処理部27は、webサーバ25からの依頼に応じ、SSLで暗号化されたパケットを復号化すると、このパケットをwebサーバ25に再び戻す(ステップS26)。このとき、転送先判定部26は、IPSec処理部24及び暗号/復号処理部27の動作状態に基づいて、PC200から送信されたパケットが多重に暗号化されているか否かを判定する。
【0055】
具体的に、転送先判定部26は、パケットのヘッダ情報に含まれる各種の情報に基づき、同一のパケットや同一の通信(セッション)について、IPSec処理部24及び暗号/復号処理部27の両機能部にて復号化が行われたか否かに応じて、PC200から送信されたパケットが多重に暗号化されているか否かを判定する。
【0056】
図4の場合、ステップS22、S25での処理に応じ、IPSec処理部24及び暗号/復号処理部27にて復号化が行われているため、転送先判定部26は、パケットが多重に暗号化されていると判定する。この場合、転送先判定部26は、当該パケットによりアクセスが要求されたURL(https://2001::11/login.cgi)の“https”を、“http”としたURL(http://2001::11/login.cgi)宛に転送させる転送レスポンスを生成し(ステップS27)、webサーバ25に引き渡す。
【0057】
ここで、転送レスポンスは、HTTPのステータスコード3XX(Redirection)を用いて生成されるものとする。例えば、ステータスコード307を用いた場合、転送先判定部26は、図7に示すような転送レスポンスを生成する。なお、図7の転送レスポンスは、webブラウザに“http://2001::11/login.cgi”宛に転送することを指示するものである。このように、転送先判定部26では、IPSec及びSSLによりパケットが多重に暗号化されている場合に、SSLにより暗号化されたhttpsによるURLのアクセス先を、暗号化を伴わない“http”によるURLのアクセス先に転送するよう制御する。
【0058】
なお、本実施形態では、転送先判定部26が転送レスポンスを生成する態様としたが、これに限らず、転送先判定部26がwebアプリ28に図7に示したような転送レスポンスの生成を指示することで、当該転送レスポンスがwebアプリ28からwebサーバ25に渡されるよう構成してもよい。また、本実施形態では、HTTPのステータスコード3XXを利用して転送させることとしたが、これに限らず、Java(登録商標)等を用いた他の方法により転送させることとしてもよい。
【0059】
また、本実施形態では、IPSec処理部24及び暗号/復号処理部27の動作状態に基づいて暗号化が多重に施されているか否かを判定する態様としたが、これに限定されるものではない。例えば、PC200から送信されるパケットのヘッダ情報やデータ構造から、多重に暗号化が施されていることを直接的に識別することが可能であれば、パケットに含まれたヘッダ情報やデータ構造等に基づいて暗号化が多重に施されているか否かを判定する態様としてもよい。
【0060】
図4に戻り、webサーバ25は、転送先判定部26から転送レスポンスを受け付けると、この転送レスポンスをパケット化し、暗号/復号処理部27に転送することでSSLによる暗号化を依頼する(ステップS28)。暗号/復号処理部27は、webサーバ25からパケットの暗号化が依頼されると、SSLによる暗号化を施し、webサーバ25に再び戻す(ステップS29)。そして、webサーバ25は、暗号/復号処理部27からSSLによる暗号化済みのパケットを受け付けると、このパケットをネットワーク通信部21に転送する(ステップS30)。
【0061】
ネットワーク通信部21は、webサーバ25からパケットを受け付けると、このパケットをIPSec処理部24に転送することでIPSecによる暗号化を依頼する(ステップS31)。IPSec処理部24は、ネットワーク通信部21からパケットを受け付けると、IPSecによる暗号化を施しネットワーク通信部21に再び戻す(ステップS32)。そして、ネットワーク通信部21は、IPSec処理部24からIPSecによる暗号化済みのパケットを受け付けると、このパケットをPC200に送信する(ステップS33)。
【0062】
一方、PC200では、ステータスコード3XXにより、“http://2001::11/login.cgi”への転送を指示した転送レスポンスを受信するため、webブラウザによる制御により、転送先のURL宛にログイン要求を送信する(ステップS34)。ここで、アクセス先のURLは“http”で始まるため、http通信によりアクセスが行われる。また、アクセス先のURLはIPSec対象アドレスであるため、IPSecによる暗号化が施されることは言うまでもない。つまり、この時点でIPSecのみによる暗号化通信に切り替わる。なお、転送先のURLへのアクセス時には、webブラウザが有するクッキーなどに機構により、ステップS21の処理の際に入力されたユーザ名、パスワードなどの情報も同時に送信されるものとする。
【0063】
一方、MFP100では、ネットワーク通信部21がPC200からの通信(パケット)を受け付けると、このパケットに施されたIPSecの復号をIPSec処理部24に依頼する(ステップS35)。IPSec処理部24では、ネットワーク通信部21からIPSecによる暗号化済みのパケットを受け付けると、このパケットを復号化しネットワーク通信部21に再び戻す(ステップS36)。
【0064】
ネットワーク通信部21は、IPSec処理部24から復号化済みのパケットを受け付けると、このパケットをwebサーバ25に転送する(ステップS37)。webサーバ25では、ネットワーク通信部21から受け付けたパケットの内容に応じ、PC200から送信されたユーザ名とパスワードとをwebアプリ28に引き渡すことで、webアプリ28にログイン認証を要求する(ステップS38)。
【0065】
webアプリ28は、webサーバ25からの要求に応じ、webサーバ25から渡されたユーザ名及びパスワードを、記憶部14に記憶された照合用情報と照合することで認証を行い、この認証結果に応じて生成したwebページ(応答ページ)をwebサーバ25に出力する(ステップS39)。ここで、認証の結果、正当なユーザと判断した場合、webアプリ28は、生成したMFP100の設定画面とともに、セッション管理用のIDを含むクッキーを応答ページとしてwebサーバ25に出力するものとする。
【0066】
webサーバ25は、webアプリ28から応答ページを受け取ると、この応答ページをパケット化してネットワーク通信部21に転送する(ステップS40)。ネットワーク通信部21は、webサーバ25からパケットを受け付けると、このパケットをIPSec処理部24に転送することでIPSecによる暗号化を依頼する(ステップS41)。
【0067】
IPSec処理部24は、ネットワーク通信部21からパケットの暗号化が依頼されると、このパケットにIPSecにより暗号化を施し、ネットワーク通信部21に再び戻す(ステップS42)。そして、ネットワーク通信部21では、IPSec処理部24からIPSecによる暗号化済みのパケットを受け取ると、このパケットをログイン要求に対する応答として、PC200に送信する(ステップS43)。
【0068】
以上のように、第1の実施形態によれば、IPSec及びSSLで暗号化された通信を受信した場合に、アクセス先となったhttpsによるURLを、httpによるURL宛に転送させることで、SSLによる暗号化を伴わない“http”による通信に切り替えることができるため、IPSecのみによる暗号化に単一化することが可能となる。これにより、暗号化/復号化にかかる負荷を軽減することが可能となり、MFP100とPC200との間の通信をより効率的に行うことができる。
【0069】
なお、本実施形態では、転送先判定部26による暗号化の多重判定を、PC200からログイン要求(ステップS21)がされた場合にのみについて説明したが、実際には、MFP100とPC200との間の通信を転送先判定部26は常時監視する。そのため、図4で説明したログイン画面要求(ステップS11)の際や、ステップS43以降に行われる通信についても、暗号化の多重判定は行われることになる。
【0070】
[第2の実施形態]
上記第1の実施形態では、IPSecとSSLとにより暗号化が多重に行われている場合に、“https”による通信を“http”とすることで、暗号の単一化を行う形態を説明した。第2の実施形態では、IPSecとSSLとにより暗号化が多重に行われている場合に、IPSecによる暗号化が行われないよう制御することで、SSLによる暗号化のみに単一化を行う形態について説明する。なお、上記第1の実施形態と同様の構成要素については、同一の符号を付与し、本実施形態に特有の動作についてのみ説明を行う。
【0071】
まず、図3を参照して、第2の実施形態にかかるMFP101の機能的構成について説明する。図3に示したように、MFP101は、ネットワーク通信部21と、アドレス生成部22と、IPSec設定保持部23と、IPSec処理部24と、webサーバ25と、転送先判定部261と、暗号/復号処理部27と、webアプリ28とを備えている。なお、MFP102のハードウェア構成は、図2と同様であるため説明を省略する。また、通信システムの構成は図1と同様となるため説明を省略する。
【0072】
ここで、転送先判定部261は、PC200から送信される通信がIPSecとSSLとにより多重に暗号化されている場合に、IPSec対象アドレス(2001::11)宛に対する通信を、IPSec非対象アドレス“2001::22”宛に転送させる転送レスポンスをPC200に返すことで、IPSecによる暗号化が行われないよう制御する。
【0073】
以下、本実施形態にかかるMFP101の動作について説明する。図8は、MFP101の各機能部により実行される通信制御処理の手順を示したシーケンス図である。なお、ステップS51〜S66までの処理は、上述した図4でのステップS11〜S26の処理と同様であるため、説明を省略する。
【0074】
ステップS66において、暗号/復号処理部27からwebサーバ25に、SSLの復号化が行われたパケットが戻されると、転送先判定部261は、IPSec処理部24及び暗号/復号処理部27の動作状態に基づいて、PC200から送信されたパケットが多重に暗号化されているか否かを判定する。
【0075】
具体的に、転送先判定部261は、上述した転送先判定部26と同様、パケットのヘッダ情報に含まれる各種の情報に基づき、同一のパケットや同一の通信(セッション)について、IPSec処理部24及び暗号/復号処理部27の両機能部にて復号化が行われたか否かに応じて、PC200から送信されたパケットが多重に暗号化されているか否かを判定する。
【0076】
図8の場合、ステップS62、S65の処理の際に、IPSec処理部24及び暗号/復号処理部27にて復号化が行われているため、転送先判定部261は、パケットが多重に暗号化されていると判定する。この場合、転送先判定部261は、当該パケットによりアクセスされたURL(https://2001::11/login.cgi)のIPSec対象アドレス部分“2001::11”を、IPSec非対象アドレス“2001::22”としたURL(http://2001::22/login.cgi)に転送させる転送レスポンスを生成し(ステップS67)、webサーバ25に引き渡す。
【0077】
ここで、転送レスポンスは、第1の実施形態と同様、HTTPのステータスコード3XX(Redirection)を用いて生成されるものとする。例えば、ステータスコード307を用いた場合、転送先判定部261は、図9に示すような転送レスポンスを生成する。なお、図9の転送レスポンスは、webブラウザに“https://2001::22/login.cgi”宛に転送することを指示するものである。このように、転送先判定部26では、IPSecとSSLによりパケットが多重に暗号化されている場合に、IPSec対象アドレス宛の通信を、IPSecによる暗号化を伴わないIPSec非対象アドレスとの通信に切り替える。
【0078】
なお、本実施形態では、転送先判定部261が転送レスポンスを生成する態様としたが、これに限らず、転送先判定部261がwebアプリ28に図9に示したような転送レスポンスの生成を指示することで、当該転送レスポンスがwebアプリ28からwebサーバ25に渡されるよう構成してもよい。また、本実施形態では、IPSec処理部24及び暗号/復号処理部27の動作状態に基づいて暗号化が多重に施されているか否かを判定する態様としたが、これに限定されるものではない。例えば、PC200から送信されるパケットのヘッダ情報やデータ構造から、多重に暗号化が施されていることを直接識別することが可能な状態であれば、このパケットのみに基づいて暗号化が多重に施されているか否かを判定する態様としてもよい。
【0079】
図8に戻り、webサーバ25は、転送先判定部261から転送レスポンスを受け付けると、この転送レスポンスをパケット化し、暗号/復号処理部27に転送することでSSLによる暗号化を依頼する(ステップS68)。暗号/復号処理部27は、webサーバ25からパケットの暗号化が依頼されると、SSLによる暗号化を施しwebサーバ25に再び戻す(ステップS69)。そして、webサーバ25は、暗号/復号処理部27からSSLによる暗号化済みのパケットを受け取ると、このパケットをネットワーク通信部21に転送する(ステップS70)。
【0080】
ネットワーク通信部21は、webサーバ25からパケットを受け付けると、このパケットをIPSec処理部24に転送することでIPSecによる暗号化を依頼する(ステップS71)。IPSec処理部24は、ネットワーク通信部21からパケットの暗号化が依頼されると、IPSec設定保持部23により保持された設定情報に基づいてパケットに暗号化を施し、ネットワーク通信部21に再び戻す(ステップS72)。そして、ネットワーク通信部21では、IPSec処理部24からIPSecによる暗号化済みのパケットを受け取ると、PC200に送信する(ステップS73)。
【0081】
一方、PC200では、ステータスコード3XX(例えば、307)により、“https://2001::22/login.cgi”への転送が指示された転送レスポンスを受信するため、webブラウザによる制御により、転送先のURL宛にログイン要求を送信する(ステップS74)。ここで、アクセス先のURLはIPSec非対象アドレスであるため、IPSecにより暗号化を伴わない通常の通信によりアクセスが行われる。また、アクセス先のURLは“https”で始まるため、SSLによる暗号化が施されていることは言うまでもない。つまり、この時点でSSLのみによる暗号化通信に切り替わる。
【0082】
一方、MFP100では、ネットワーク通信部21がPC200からの通信(パケット)を受け付けると、このパケットをwebサーバ25に転送する(ステップS75)。webサーバ25では、ネットワーク通信部21から受け付けたパケットがSSLにより暗号化されていると判断するため、当該パケットの復号を暗号/復号処理部27に依頼する(ステップS76)。
【0083】
暗号/復号処理部27は、webサーバ25からの依頼に応じ、SSLで暗号化されたパケットを復号化すると、このパケットをwebサーバ25に再び戻す(ステップS77)。続いて、webサーバ25では、復号処理部27から受け付けたパケットの内容に応じ、PC200から送信されたユーザ名とパスワードとをwebアプリ28に引き渡すことで、webアプリ28にログイン認証を要求する(ステップS78)。
【0084】
webアプリ28は、webサーバ25からの要求に応じ、webサーバ25から渡されたユーザ名及びパスワードを、記憶部14に記憶された照合用情報と照合することで認証を行い、この認証結果に応じて生成した応答ページをwebサーバ25に出力する(ステップS79)。
【0085】
webサーバ25は、webアプリ28から応答ページを受け付けると、この応答ページをパケット化し、暗号/復号処理部27に転送することでSSLによる暗号化を依頼する(ステップS80)。暗号/復号処理部27は、webサーバ25からパケットの暗号化が依頼されると、SSLによる暗号化を施し、webサーバ25に再び戻す(ステップS81)。そして、webサーバ25は、暗号/復号処理部27からSSLによる暗号化済みのパケットを受け取ると、このパケットをネットワーク通信部21に転送する(ステップS82)。
【0086】
続いて、ネットワーク通信部21は、webサーバ25からSSLによる暗号化済みのパケットを受け付けると、このパケットをログイン要求に対する応答として、PC200に送信する(ステップS83)。
【0087】
以上のように、第2の実施形態によれば、IPSec及びSSLで暗号化された通信を受信した場合に、IPSec非対象アドレス宛に転送させることで、IPSecによる暗号化を伴わないIPSec非対象アドレスよる通信に切り替えることができるため、SSLのみによる暗号化に単一化することが可能となる。これにより、暗号化/復号化にかかる負荷を軽減することが可能となり、MFP100とPC200との間の通信をより効率的に行うことができる。
【0088】
なお、本実施形態では、転送先判定部261による暗号化の多重判定を、PC200からログイン要求(ステップS21)がされた場合にのみについて説明したが、実際には、MFP100とPC200との間の通信を転送先判定部26は常時監視する。そのため、図8で説明したログイン画面要求(ステップS61)の際や、ステップS83以降に行われる通信についても、暗号化の多重判定は行われることになる。
【0089】
[第3の実施形態]
上記第2の実施形態では、PC200から送信される通信がIPSecとSSLとにより多重に暗号化されている場合に、IPSec対象アドレス(2001::11)宛に対する通信を、IPSec非対象アドレス“2001::22”宛に転送させる転送レスポンスをPC200に返すことで、暗号の単一化を行う形態を説明した。
【0090】
IPSec非対象アドレスがリンクローカルアドレスであるような場合、PC200からアクセスされるIPアドレスと、当該PC200のIPアドレスとのプレフィックスが等しいと、上記第2の実施形態の手法は有効となるが、両アドレスのプレフィックスが異なると、PC200のプレフィックスに応じたIPSec非対象アドレスを設ける必要があるため、固定的に設定された設定情報(SPD)では有効に制御することができない。そこで、第3の実施形態では、自己の装置のIPアドレスとPC200のIPアドレスとのプレフィックスに応じ、IPSec非対象アドレスの生成を動的に行うことが可能な形態について説明する。なお、上記第1、2の実施形態と同様の構成要素については、同一の符号を付与し、本実施形態に特有の動作についてのみ説明を行う。
【0091】
まず、図3を参照して、第3の実施形態にかかるMFP102が備える機能的構成について説明する。図3に示したように、MFP102は、ネットワーク通信部21と、アドレス生成部221と、IPSec設定保持部231と、IPSec処理部24と、webサーバ25と、転送先判定部262、暗号/復号処理部27、webアプリ28とを備えている。なお、MFP102のハードウェア構成は、図2と同様であるため説明を省略する。
【0092】
転送先判定部262は、PC200から送信される通信の暗号化の状態と、当該PC200のIPアドレスのプレフィックスとに基づいて、webサーバ25の通信の転送先を決定する。具体的に、転送先判定部262は、PC200から送信される通信がIPSecとSSLとにより多重に暗号化されている場合に、この通信のアクセス先となるIPアドレスと、PC200のIPアドレスとのプレフィックスが等しいか否かを判定する。この判定により、両IPアドレスのプレフィックスが異なると判断した場合、転送先判定部262は、アクセス先となったIPアドレスとプレフィックスが等しく、且つ、当該IPアドレスとは異なる新たなIPアドレスをアドレス生成部221に生成させる。
【0093】
また、転送先判定部262は、アドレス生成部221により生成された新たなIPアドレスが、IPSec設定保持部231が保持する設定情報にIPSec対象アドレスとして設定されているか否を判定し、設定されていないと判断した場合には、この新たなIPアドレス(IPSec非対象アドレス)宛に転送させる転送レスポンスをPC200に返すことで、暗号の単一化を行う。なお、生成された新たなIPアドレスが、IPSec対象アドレスとして設定されていた場合、転送先判定部262は、IPSec設定保持部231を制御することで、この新たなIPアドレスをIPSec対象アドレスから除外させるものとするが、アドレス生成部221を制御することで、前回生成されたIPアドレスとは異なる新たなIPアドレスを再度生成させる態様としてもよい。
【0094】
IPSec設定保持部231は、転送先判定部262の制御の下、記憶部14等に保持した設定情報の設定を変更する。また、アドレス生成部221は、転送先判定部262の制御の下、新たなIPアドレスを生成する。
【0095】
以下、本実施形態にかかるMFP102の動作について説明する。図10は、転送先判定部262、IPSec設定保持部231、アドレス生成部221により実行される転送先決定処理の手順を示したフローチャートである。なお、本処理はPC200との通信が行われる毎に実行されるものとするが、以下では、図8のステップS67の処理時に行われることを想定して説明を行う。
【0096】
まず、転送先判定部262は、IPSec処理部24及び暗号/復号処理部27の動作状態に基づいて、PC200から送信されたパケットが多重に暗号化されているか否かを判定する(ステップS91)。ここで、転送先判定部262は、パケットは多重に暗号化されていないと判定すると(ステップS91;No)、本処理を直ちに終了する。
【0097】
一方、ステップS91において、パケットが多重に暗号化されていると判定すると(ステップS91;Yes)、転送先判定部262は、このパケットのアクセス先となるIPアドレスのプレフィックスと、当該パケットを送信したPC200のIPアドレスのプレフィックスとを比較し、両プレフィックスが等しいか否かを判定する(ステップS92)。
【0098】
ここで、両プレフィックスが等しいと判定した場合(ステップS92;Yes)、転送先判定部262は、リンクローカルアドレス宛に転送させる転送レスポンスを生成し、この転送レスポンスをwebサーバ25に引き渡した後(ステップS93)、本処理を終了する。ここで、リンクローカルアドレスはIPSec非対象アドレスであることを前提としているが、この前提は、自己の装置と同一のネットワークセグメント内の通信に対してはIPSecによる暗号化を施さないことが一般的であることを根拠としている。なお、この後の処理内容は、図8のステップS68〜S83と同様である。
【0099】
一方、ステップS92において、両プレフィックスが異なると判定した場合(ステップS92;No)、転送先判定部262は、アドレス生成部221を制御することで、アクセス先となったIPアドレスとプレフィックスが等しく、且つ、当該アクセス先のIPアドレスとは異なる新たなIPアドレスを生成させる(ステップS94)。
【0100】
続いて、転送先判定部262は、ステップS94で生成された新たなIPアドレスが、IPSec設定保持部231が保持する設定情報にIPSec対象アドレスとして設定されているか否を判定する(ステップS95)。ここで、IPSec対象アドレスとして設定されていないと判定した場合、即ち、新たなIPアドレスがIPSec非対象アドレスである場合(ステップS95;No)、ステップS97の処理に直ちに移行する。
【0101】
また、ステップS95において、新たなIPアドレスがIPSec対象アドレスとして設定されていると判定した場合(ステップS95;Yes)、転送先判定部262は、IPSec設定保持部231を制御することで、設定情報のIPSec対象アドレス設定から新たなIPアドレスを除外した後(ステップS96)、ステップS97の処理に移行する。
【0102】
続くステップS97において、転送先判定部262は、ステップS94で生成された新たなIPアドレス宛に転送させる転送レスポンスを生成し、この転送レスポンスをwebサーバ25に引き渡した後(ステップS97)、本処理を終了する。なお、この後の処理内容は、図8のステップS68〜S83と同様である。
【0103】
以上のように、第3の実施形態によれば、IPSec及びSSLで暗号化された通信を受信した場合に、IPSecによる暗号化を伴わない、新たに生成されたIPv6アドレス宛に転送先させることができるため、暗号化をSSLのみに単一化することができる。
【0104】
なお、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化することができる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成することができる。例えば、実施の形態に示される全構成要素からいくつかの構成要素を削除してもよい。さらに、異なる実施の形態にわたる構成要素を適宜組み合わせても良い。
【0105】
例えば、上述したMFPで実行される各処理にかかるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、上述したMFPで実行される各処理にかかるプログラムを、インターネット等のネットワーク経由で提供または配布するように構成しても良い。
【0106】
また、上述したMFPで実行される各処理にかかるプログラムを、ROM等の記憶媒体に予め組み込んで提供するように構成してもよい。
【産業上の利用可能性】
【0107】
以上のように、本発明にかかる情報処理装置、通信制御方法及び通信制御プログラムは、webサーバを備え、且つ、当該webサーバへのアクセスが暗号化通信により行われる情報処理装置、当該情報処理装置の通信制御方法及び通信制御プログラムに有用であり、特に、多重に暗号化が施された暗号化通信でのアクセスを受け付ける情報処理装置、当該情報処理総理の通信制御方法及び通信制御プログラムに適している。
【図面の簡単な説明】
【0108】
【図1】通信システムの構成を示したブロック図である。
【図2】MFPのハードウェア構成の一例を示したブロック図である。
【図3】MFPの機能的構成を示したブロック図である。
【図4】第1の実施形態にかかる通信制御処理の手順を示したシーケンシャル図である。
【図5】webアプリにより生成されたログイン画面のソースの一例を示した図である。
【図6】図5のソースがwebブラウザにより表示された際の表示例を示した図である。
【図7】第1の実施形態にかかる転送先判定部により生成された転送レスポンスの一例を示した図である。
【図8】第2の実施形態にかかる通信制御処理の手順を示したシーケンシャル図である。
【図9】第2の実施形態にかかる転送先判定部により生成された転送レスポンスの一例を示した図である。
【図10】第3の実施形態にかかる転送先決定処理の手順を示したフローチャートである。
【符号の説明】
【0109】
100 MFP
101 MFP
102 MFP
200 PC
11 CPU
12 ASIC
13 システムメモリ
131 ROM
132 RAM
14 記憶部
15 操作表示部
16 エンジン部
17 スキャナ部
18 インタフェース部
21 ネットワーク通信部
22 アドレス生成部
221 アドレス生成部
23 IPSec設定保持部
231 IPSec設定保持部
24 IPSec処理部
25 webサーバ
26 転送先判定部
261 転送先判定部
262 転送先判定部
27 暗号/復号処理部
28 webアプリ

【特許請求の範囲】
【請求項1】
IPSec及び/又はSSLにより暗号化された通信を外部装置との間で行う情報処理装置において、
前記IPSecとSSLとにより暗号化された通信を、前記外部装置から受信したか否かを判定する多重暗号判定手段と、
前記多重暗号判定手段によりIPSec及びSSLで暗号化された通信を受信したと判定された場合に、前記外部装置のアクセス先を、前記IPSec又はSSLによる暗号化を伴わない通信用のアクセス先に転送させる転送制御手段と、
を備えたことを特徴とする情報処理装置。
【請求項2】
前記外部装置にwebページを提供するwebサーバを更に備え、
前記転送制御手段は、前記SSLにより暗号化されたhttpsによる前記webサーバ宛のアクセスを、当該SSLによる暗号化を伴わないhttpによる前記webサーバ宛に転送させることを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記転送制御手段は、前記IPSecによる暗号化の対象となる自己の装置のIPv6アドレス宛のアクセスを、当該IPSecによる暗号化を伴わない自己の装置の他のIPv6アドレス宛に転送させることを特徴とする請求項1に記載の情報処理装置。
【請求項4】
前記転送制御手段は、前記転送先のIPv6アドレスをリンクローカルアドレスとすることを特徴とする請求項3に記載の情報処理装置。
【請求項5】
自己の装置のIPv6アドレスを新たに生成する生成手段を更に備え、
前記転送制御手段は、前記生成手段により生成される新たなIPv6アドレスを転送先とすることを特徴とする請求項3に記載の情報処理装置。
【請求項6】
前記IPSecによる暗号化の対象となるIPv6アドレスを定めた設定情報を記憶する記憶手段と、
前記設定情報に定められたIPv6アドレスに基づいて、前記生成手段により生成された新たなIPv6アドレスが暗号化の対象か否かを判定する暗号化対象判定手段と、
前記暗号化対象判定手段により暗号化の対象と判定された場合に、前記生成された新たなIPv6アドレスを前記設定情報から除外する除外手段と、
を更に備えたことを特徴とする請求項5に記載の情報処理装置。
【請求項7】
前記IPSecによる暗号化の対象となるIPv6アドレスを定めた設定情報を記憶する記憶手段と、
前記設定情報に定められたIPv6アドレスに基づいて、前記生成手段により生成された新たなIPv6アドレスが暗号化の対象か否かを判定する暗号化対象判定手段と、
を更に備え、
前記生成手段は、前記暗号化対象判定手段により暗号化の対象と判定された場合に、前回生成したIPv6アドレスとは異なる新たなIPv6アドレスを再度生成することを特徴とする請求項5に記載の情報処理装置。
【請求項8】
IPSec及び/又はSSLにより暗号化された通信を外部装置との間で行う情報処理装置での通信制御方法であって、
多重暗号判定手段が、前記IPSec及びSSLにより暗号化された通信を、前記外部装置から受信したか否かを判定する多重暗号判定工程と、
転送制御手段が、前記多重暗号判定工程でIPSec及びSSLで暗号化された通信を受信したと判定された場合に、前記外部装置のアクセス先を、前記IPSec又はSSLによる暗号化を伴わない通信用のアクセス先に転送させる転送制御工程と、
を含むことを特徴とする通信制御方法。
【請求項9】
前記情報処理装置は、前記外部装置にwebページを提供するwebサーバを備え、
前記転送制御手段は、前記転送制御工程において、前記SSLにより暗号化されたhttpsによる前記webサーバ宛のアクセスを、当該SSLによる暗号化を伴わないhttpによる前記webサーバ宛に転送させることを特徴とする請求項8に記載の通信制御方法。
【請求項10】
前記転送制御手段は、前記転送制御工程において、前記IPSecによる暗号化の対象となる自己の装置のIPv6アドレス宛のアクセスを、当該IPSecによる暗号化を伴わない自己の装置の他のIPv6アドレス宛に転送させることを特徴とする請求項8に記載の通信制御方法。
【請求項11】
IPSec及び/又はSSLにより暗号化された通信を外部装置との間で行う情報処理装置のコンピュータに、
前記IPSecとSSLとにより暗号化された通信を、前記外部装置から受信したか否かを判定する多重暗号判定手段と、
前記多重暗号判定手段によりIPSec及びSSLで暗号化された通信を受信したと判定された場合に、前記外部装置のアクセス先を、前記IPSec又はSSLによる暗号化を伴わない通信用のアクセス先に転送させる制御する転送制御手段と、
して機能させることを特徴とする通信制御プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2009−225273(P2009−225273A)
【公開日】平成21年10月1日(2009.10.1)
【国際特許分類】
【出願番号】特願2008−69417(P2008−69417)
【出願日】平成20年3月18日(2008.3.18)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】