(57)【特許請求の範囲】
【請求項１】
平文通信の接続要求に応じ、暗号通信の接続要求と平文通信の接続要求を並行してサーバに送信する送信部と、
サーバからの応答に応じ、暗号通信の接続あるいは平文通信の接続を確立し、サーバに関連付けて、接続確立に要した時間及び暗号通信の接続確立の可否を記憶部に記憶し、記憶部に記憶された過去の接続確立に要した時間及び過去の暗号通信の接続確立の可否を用いて暗号通信のタイムアウト猶予時間を可変設定する制御部と、
を備える情報処理装置。
【請求項２】
制御部は、サーバからの応答に応じ、平文通信の接続を確立した場合に、サーバに関連付けて、平文通信の接続確立に要した時間及び暗号通信の確立不可を記憶部に記憶し、記憶部に記憶された過去の接続確立に要した時間と今回の平文通信の接続確立に要した時間及び過去の暗号通信の接続確立の可否を用いて暗号通信のタイムアウト猶予時間を可変設定する
請求項１に記載の情報処理装置。
【請求項３】
制御部は、サーバからの応答に応じ、平文通信の接続を確立した場合に、過去の接続確立に要した時間と今回の平文通信の接続確立に要した時間のいずれか長い方の時間を用いて暗号通信のタイムアウト猶予時間を可変設定する
請求項２に記載の情報処理装置。
【請求項４】
制御部は、サーバからの応答に応じ、平文通信の接続を確立した場合に、過去の暗号通信の接続確立が可のときには過去の暗号通信の接続確立が不可のときと比べて相対的に短い暗号通信のタイムアウト猶予時間を可変設定する
請求項２に記載の情報処理装置。
【請求項５】
制御部は、サーバからの応答に応じ、平文通信の接続を確立した場合であって、記憶部に記憶された過去の接続確立に要した時間及び過去の暗号通信の接続確立の可否が存在しないときに、今回の平文通信の接続確立に要した時間を用いて暗号通信のタイムアウト猶予時間を可変設定する
請求項１に記載の情報処理装置。
【請求項６】
制御部は、サーバとの回線が変更された場合に、記憶部に記憶された過去の接続確立に要した時間及び過去の暗号通信の接続確立の可否をクリアする
請求項１〜５のいずれかに記載の情報処理装置。
【請求項７】
コンピュータに、
平文通信の接続要求に応じ、暗号通信の接続要求と平文通信の接続要求を並行してサーバに送信するステップと、
サーバからの応答に応じ、暗号通信の接続あるいは平文通信の接続を確立し、サーバに関連付けて、接続確立に要した時間及び暗号通信の接続確立の可否を記憶部に記憶し、記憶部に記憶された過去の接続確立に要した時間及び過去の暗号通信の接続確立の可否を用いて暗号通信のタイムアウト猶予時間を可変設定するステップ
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及びプログラムに関する。  
【背景技術】
【０００２】
クライアントアプリケーションとサーバとのＳＳＬ（Secure Socket Layer）などの暗号通信では、サーバは暗号通信に対応したサーバプログラムを用意し、クライアントからの暗号通信の接続を確立できるようにＴＣＰ（Transmission Control Protocol)／ＵＤＰ（User Datagram Protocol）のポートを開き、クライアントは暗号通信用のポートに対して接続要求をすることで確立する。
【０００３】
つまり、暗号通信はサーバが暗号通信に対応しており、クライアントが明示的に暗号通信を要求する必要がある。逆に、クライアントアプリケーションが平文通信を要求するように設定されている場合には、暗号通信が行われない。従って、ＩＴリテラシーの低い利用者の場合、自身のアプリケーションで暗号通信の設定がされているかを認知しないために、不用意に平文通信を行ってしまう可能性がある。
【０００４】
特許文献１には、認証処理に係わる情報が平文でネットワーク上に流れることを防止することを課題とする情報処理装置が記載されている。パケット解析部は、ユーザ用仮想マシンから送信されたパケットを解析して宛先及びプロトコルを検出する。サーバに送ることが検出された場合に、パケット変換部は、検出されたプロトコルをデータ暗号化用のプロトコルに変換してサーバに送信する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−２９９６１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
平文通信を強制的に暗号通信に変換する場合、送信先のサーバが暗号通信に対応していることが前提となる。しかし、現実にはサーバが暗号通信に対応していない場合もあり、サーバが暗号通信に対応していない場合には、接続が確立できない問題が生じる。
【０００７】
他方、暗号通信の接続確立に失敗した場合に、平文通信の接続確立をする技術も知られている（フォールバック）。
【０００８】
但し、暗号通信を確立できる／できないにかかわらず、最初に暗号通信の接続要求を試行するため、接続確立が失敗したと判断する（タイムアウト）まで平文通信の接続確立を待たなければならない問題がある。
【０００９】
本発明の目的は、サーバが暗号通信に対応している／対応していないによらず、通信の秘匿性を担保しつつ接続確立に要する時間を短縮し得る装置及びプログラムを提供することにある。  
【課題を解決するための手段】
【００１０】
請求項１に記載の発明は、平文通信の接続要求に応じ、暗号通信の接続要求と平文通信の接続要求を並行してサーバに送信する送信部と、サーバからの応答に応じ、暗号通信の接続あるいは平文通信の接続を確立し、サーバに関連付けて、接続確立に要した時間及び暗号通信の接続確立の可否を記憶部に記憶し、記憶部に記憶された過去の接続確立に要した時間及び過去の暗号通信の接続確立の可否を用いて暗号通信のタイムアウト猶予時間を可変設定する制御部とを備える情報処理装置である。
【００１１】
請求項２に記載の発明は、制御部は、サーバからの応答に応じ、平文通信の接続を確立した場合に、サーバに関連付けて、平文通信の接続確立に要した時間及び暗号通信の確立不可を記憶部に記憶し、記憶部に記憶された過去の接続確立に要した時間と今回の平文通信の接続確立に要した時間及び過去の暗号通信の接続確立の可否を用いて暗号通信のタイムアウト猶予時間を可変設定する請求項１に記載の情報処理装置である。
【００１２】
請求項３に記載の発明は、制御部は、サーバからの応答に応じ、平文通信の接続を確立した場合に、過去の接続確立に要した時間と今回の平文通信の接続確立に要した時間のいずれか長い方の時間を用いて暗号通信のタイムアウト猶予時間を可変設定する請求項２に記載の情報処理装置である。
【００１３】
請求項４に記載の発明は、制御部は、サーバからの応答に応じ、平文通信の接続を確立した場合に、過去の暗号通信の接続確立が可のときには過去の暗号通信の接続確立が不可のときと比べて相対的に短い暗号通信のタイムアウト猶予時間を可変設定する請求項２に記載の情報処理装置である。
【００１４】
請求項５に記載の発明は、制御部は、サーバからの応答に応じ、平文通信の接続を確立した場合であって、記憶部に記憶された過去の接続確立に要した時間及び過去の暗号通信の接続確立の可否が存在しないときに、今回の平文通信の接続確立に要した時間を用いて暗号通信のタイムアウト猶予時間を可変設定する請求項１に記載の情報処理装置である。
【００１５】
請求項６に記載の発明は、制御部は、サーバとの回線が変更された場合に、記憶部に記憶された過去の接続確立に要した時間及び過去の暗号通信の接続確立の可否をクリアする請求項１〜５のいずれかに記載の情報処理装置である。
【００１６】
請求項７に記載の発明は、コンピュータに、平文通信の接続要求に応じ、暗号通信の接続要求と平文通信の接続要求を並行してサーバに送信するステップと、サーバからの応答に応じ、暗号通信の接続あるいは平文通信の接続を確立し、サーバに関連付けて、接続確立に要した時間及び暗号通信の接続確立の可否を記憶部に記憶し、記憶部に記憶された過去の接続確立に要した時間及び過去の暗号通信の接続確立の可否を用いて暗号通信のタイムアウト猶予時間を可変設定するステップを実行させるプログラムである。
【発明の効果】
【００１７】
請求項１，７に記載の発明によれば、サーバが暗号通信に対応している／対応していないによらず、通信の秘匿性を担保しつつ接続確立に要する時間を短縮し得る。
【００１８】
請求項２に記載の発明によれば、さらに、暗号通信のタイムアウト猶予時間を適応的に設定できる。
【００１９】
請求項３に記載の発明によれば、さらに、過去の接続確立に要した時間と今回の平文通信の接続確立に要した時間によって暗号通信のタイムアウト猶予時間を適応的に設定できる。
【００２０】
請求項４に記載の発明によれば、さらに、過去の暗号通信の接続確立の可否によって暗号通信のタイムアウト猶予時間を適応的に設定できる。
【００２１】
請求項５に記載の発明によれば、さらに、過去の接続確立に要した時間及び過去の暗号通信の接続確立の可否が存在しないときでも、今回の平文通信の接続確立に要した時間によって暗号通信のタイムアウト猶予時間を適応的に設定できる。
【００２２】
請求項６に記載の発明によれば、さらに、サーバとの回線が変更された場合でも、暗号通信のタイムアウト猶予時間を適応的に設定できる。
【図面の簡単な説明】
【００２３】
【図１】実施形態のシステム構成図である。
【図２】実施形態の接続結果記憶部に記憶されるデータの説明図である。
【図３】実施形態のシーケンス図である。
【図４】実施形態の処理フローチャートである。
【図５】他の実施形態のシステム構成図である。
【発明を実施するための形態】
【００２４】
以下、図面に基づき本発明の実施形態について説明する。
【００２５】
まず、本実施形態の基本原理について説明する。
利用者が不用意に平文通信を行ってしまうことを防止し、通信の秘匿性を確保するために、平文通信を強制的に暗号通信とすることが考えられるが、サーバが暗号通信に対応していればともかく、サーバが暗号通信に対応していない場合には接続が確立できず、仮にフォールバックの技術を適用したとしても所定のタイムアウト猶予時間が経過するまで待機しなければならない。なお、「タイムアウト猶予時間」とは、暗号通信の接続要求をサーバに送信してから、当該サーバから応答を受信するまでの待機時間と定義され、タイムアウト猶予時間が経過する前に応答を受信すれば暗号通信の接続要求は有効とされ、タイムアウト猶予時間が経過すれば暗号通信の接続要求は無効とされる。
【００２６】
本実施形態では、サーバが暗号通信に対応していない場合にも速やかに接続を確立すべく、単に平文通信を強制的に暗号通信とするのではなく、平文通信の要求があった場合に、これに応じて暗号通信の接続要求と平文通信の接続要求を並行して行う。
サーバが暗号通信に対応していれば、暗号通信の接続要求に応じてこれに応答するので、当該応答を受信して暗号通信の接続を確立し、所望の通信文を暗号化してサーバに送信する。
【００２７】
サーバが暗号通信に対応していない場合、あるいは対応していても何らかの原因により暗号通信の応答が遅延する場合、サーバは同時並行して送信された平文通信に応答することができ、当該応答を受信して平文通信の接続を確立し、所望の通信文を平文にてサーバに送信する。従来のフォールバック技術では、所定のタイムアウト猶予時間が経過するまで待機しなければならないが、本実施形態では暗号通信と並行して平文通信の接続要求を送信するので、従来に比べて速やかに接続を確立できる。
【００２８】
仮に、平文通信の応答の後に暗号通信の応答を受信した場合、それがタイムアウト猶予時間内であれば、暗号通信の接続確立を実行することで通信の秘匿を確保できるが、タイムアウト猶予時間が固定値であれば、通信回線の遅延等が生じて応答が遅延等した場合に暗号通信の接続が確立され難くなる。他方、当該サーバに対して過去に暗号通信の接続確立が可能であった事実があれば、タイムアウト猶予時間を長く設定することで暗号通信の接続を確立させ、通信秘匿性を向上し得る可能性がある。また、当該サーバに対する過去の接続確立までに要する時間が今回の時間よりも短い場合、クライアントーサーバ間の通信経路に遅延等が生じて今回は長くなってしまったので、これに応じてタイムアウト猶予時間を長く設定することで暗号通信の接続を確立させ、通信秘匿性を向上し得る可能性がある。
【００２９】
このような事情に鑑み、本実施形態では、当該サーバに対する過去の接続確立までに要した時間及び暗号通信の接続確立の可否を記憶部に記憶しておき、記憶部に記憶された過去の接続確立までに要した時間及び過去の暗号通信の接続確立の可否に応じて、暗号通信のタイムアウト猶予時間を可変設定するものである。
【００３０】
定性的には、過去の暗号通信の接続確立が可であった場合には、過去の暗号通信の接続確立が不可であった場合に比べて、相対的に短いタイムアウト猶予時間を設定する。過去の暗号通信の接続可否が不明の場合には、過去の暗号通信の接続確立が可であった場合と、過去の暗号通信の接続確立が不可であった場合の中間のタイムアウト猶予時間を設定し得るがこれに限定されない。また、過去の接続確立までに要した時間が今回の時間よりも短い場合には、今回は通信回線の遅延やサーバ高負荷が生じていることを示しているから、この分の遅延を考慮してタイムアウト猶予時間を設定する。過去の接続確立までに要した時間が今回の時間よりも長い場合には、今回は通信回線の遅延やサーバ高負荷はないものの前回と同様の遅延が生じ得るものとして前回の遅延を考慮してタイムアウト猶予期間を設定する。
【００３１】
本実施形態では、タイムアウト猶予時間を固定値とした場合に比べ、クライアント−サーバ間の回線状況及びサーバの対応状況に応じて順次増減調整されるため、より適切なタイムアウト猶予時間が設定される。
【００３２】
本実施形態の情報処理装置は、クライアントサーバシステムにおけるクライアントに実装することができる。また、複数のクライアントがゲートウェイを経由してサーバに接続されるシステムでは、当該ゲートウェイに実装することもできる。
【００３３】
次に、本実施形態について、具体的に説明する。
【００３４】
図１は、本実施形態の情報処理システム構成図を示す。情報処理システムは、クライアント（クライアントコンピュータ）１０と、サーバ（サーバコンピュータ）１４を備えており、クライアント１０とサーバ１４はインターネット１２等の通信回線で接続される。
【００３５】
クライアント１０は、機能ブロックとして、アプリケーション２０、接続制御部２２、接続結果記憶部２４、及び通信部２６を備える。
【００３６】
アプリケーション２０は、クライアント１０の利用者が利用する、クライアント１０にインストールされたアプリケーションプログラムであり、例えば電子メールを送受信するメーラー等である。
【００３７】
接続制御部２２は、アプリケーション２０からの通信要求に応じ、平文通信の要求であればサーバ１４に対して暗号通信の要求も自動的に送信する。暗号通信の要求であれば、サーバ１４に対してそのまま暗号通信の要求を送信する。従って、接続制御部２２による通信の要求は、以下の２通りが存在する。
（１）クライアント１０からの平文通信要求に応じ、平文通信要求＋暗号通信要求をサーバ１４に送信する。
（２）クライアント１０からの暗号通信要求に応じ、暗号通信要求をサーバ１４に送信する。
【００３８】
いずれの場合も、常に暗号通信要求が存在する。また、接続制御部２２は、平文通信及び暗号通信の接続結果を監視し、接続結果を順次、接続結果記憶部２４に記憶する。接続制御部２２は、接続結果記憶部２４に記憶された接続結果を用いて、暗号通信のタイムアウト猶予期間を適応的に可変設定する。すなわち、暗号通信を試み、暗号通信の接続確立に失敗した場合に、平文通信の接続確立をするフォールバックを実行する際の、暗号通信の接続確立の可否を判定するためのタイムアウト猶予期間を固定値とするのではなく、可変設定する。タイムアウト猶予期間の具体的な設定方法についてはさらに後述する。
【００３９】
通信部２６は、ネットワークインタフェースであり、接続制御部２２の制御により、クライアント１０からの平文通信・暗号通信の要求をインターネット１２を介してサーバ１４に送信し、サーバ１４からの応答を受信する。
【００４０】
接続結果記憶部２４は、接続制御部２２で得られた接続結果をテーブルとして保持する。接続結果は、具体的には、送信要求先のサーバ１４のＩＰアドレス、接続確立に要した時間、暗号通信の接続確立の可否である。
【００４１】
図２は、接続結果記憶部２４に記憶される接続結果テーブルの一例を示す。サーバＩＰ、そのサーバＩＰに対して接続確立に要した時間（ｓ）、暗号通信の確立の可否をセットとして記憶する。例えば、（１９２．１６８．０．１）のサーバＩＰに対しては、接続確立に要した時間が０．１（ｓ）、暗号通信の確立が不可であったことを示す。また、（２０２．２２１．１１５．１５）のサーバＩＰに対しては、接続確立に要した時間が０．３（ｓ）、暗号通信の確立が可であったことを示す。接続確立に要した時間は、暗号通信の確立が可であれば当該暗号通信の確立に要した時間であり、暗号通信の確立が不可であれば平文通信の接続確立に要した時間である。
【００４２】
クライアント１０は、コンピュータとしての構成、すなわち、ＣＰＵ、ＲＯＭ、ＲＡＭ、入出力インタフェース、通信インタフェース、及び記憶装置を備える。接続制御部２２は、ＣＰＵがＲＯＭに記憶された処理プログラムを読み出し、ＲＡＭをワーキングメモリとして用いて処理プログラムを順次実行することでその機能が実現される。接続結果記憶部２４は、ＨＤＤ（ハードディスクドライブ）や半導体メモリ等の記憶装置で実現される。ＣＰＵの基本的な処理は、
・通信インタフェースを介して暗号通信の接続要求及び平文通信の接続要求を送信する
・通信インタフェースを介してサーバ１４からの応答を受信する
・暗号通信あるいは平文通信の接続を確立する
・暗号通信あるいは平文通信の接続を確立するまでに要した時間を計測する
・暗号通信の接続確立の可否を判定する
・暗号通信の接続要求及び平文通信の接続要求を送信したサーバ１４のサーバＩＰ、暗号通信あるいは平文通信の接続確立するまでに要した時間、暗号通信の接続確立の可否を関連付けて記憶装置に記憶する
・記憶装置に記憶されたデータを用いて暗号通信のタイムアウト猶予時間を可変設定する
である。
【００４３】
図３は、本実施形態のシーケンス図を示す。クライアント１０がサーバ１４との接続を確立するまでのシーケンスである。
【００４４】
まず、アプリケーション２０は、サーバ１４に対してＳＭＴＰの平文通信の接続確立要求（ｓｙｎパケット）を送信する。この場合のサーバＩＰを例えば（２０２．２２１．１１５．１５）とし、ポート番号を例えば２５とする（Ｓ１）。
【００４５】
接続制御部２２は、アプリケーション２０からの平文通信の接続確立要求に応じ、ＳＭＴＰの平文通信の暗号通信（ＳＳＬ）の接続確立要求をサーバ１４に対して送信する（Ｓ２）。このときのポート番号を例えば９９３とする。また、接続制御部２２は、Ｓ２の直後に、ＳＭＴＰの平文通信の接続確立要求をサーバ１４に対して送信する（Ｓ３）。このときのポート番号は２５である。
【００４６】
サーバ１４は、Ｓ２での暗号通信の接続確立要求及びＳ３での平文通信の接続確立要求を受信し、Ｓ２での暗号通信の接続確立要求あるいはＳ３での平文通信の接続確立要求に対して応答（ａｃｋパケット）する（Ｓ４）。
【００４７】
サーバ１４からの応答が暗号通信の接続確立要求に対する応答であれば、平文通信の接続要求を中止するとともに、暗号通信の接続を確立し、Ｓ９以降の処理を実行する。
【００４８】
他方、サーバ１４からの応答が平文通信の接続確立要求に対する応答であれば、平文通信の接続を確立するとともに、平文通信の接続を確立するまでに要した時間を計測して保持し、Ｓ５以降の処理を実行する。すなわち、接続制御部２２は、接続結果記憶部２４に記憶されているテーブルにアクセスし、サーバＩＰアドレスに基づいて、前回の接続確立に要した時間と、暗号通信の確立可否のデータを取得する（Ｓ５、Ｓ６）。そして、接続制御部２２は、計測して得られた今回の接続確立に要した時間と、取得した前回の接続確立に要した時間と、暗号通信の確立可否のデータを用いて、暗号通信のタイムアウト猶予時間を可変設定する（Ｓ７）。また、サーバ１４は、Ｓ２での暗号通信の接続確立要求に対して応答する（Ｓ８）。接続制御部２２は、タイムアウト猶予時間内にＳ８の応答を受信すれば、平文通信の接続を破棄するとともに、暗号通信の接続を確立する。タイムアウト猶予時間内にＳ８の応答を受信しなければ、平文通信の接続を維持する。
【００４９】
その後、接続制御部２２は、暗号通信の接続確立あるいは平文通信の接続確立に要した時間を計測し、接続結果記憶部２４のテーブルに新たに登録する（Ｓ９）。
【００５０】
従って、Ｓ２及びＳ３で暗号通信の接続要求及び平文通信の接続要求を行い、サーバ１４が暗号通信に対応していればＳ４で暗号通信の接続確立要求に対して応答（ａｃｋパケット）を返信し、暗号通信のタイムアウト猶予時間を可変設定することなくデフォルト値をそのまま維持して暗号通信の接続を確立し、暗号通信の接続確立に要した時間及び暗号通信の接続確立可のデータを接続結果記憶部２４に記憶する。また、サーバ１４が暗号通信に対応していない場合にはＳ４で平文通信の接続確立要求に対して応答（ａｃｋパケット）を返信し、この平文通信の接続確立に要した時間を用いて暗号通信のタイムアウト猶予時間を可変設定して平文通信の接続を確立し、平文通信の接続確立に要した時間及び暗号通信の接続確立不可のデータを接続結果記憶部２４に記憶する。但し、平文通信の接続要求に対する応答を受信した後に、タイムアウト猶予時間内に暗号通信の接続要求に対する応答を受信した場合には、暗号通信を優先させるべく、平文通信の接続を破棄して暗号通信の接続を確立する。このとき、暗号通信の接続確立に要した時間及び暗号通信の接続確立可のデータを接続結果記憶部２４に記憶する。
【００５１】
なお、Ｓ１でクライアント１０から平文通信の接続要求ではなく、暗号通信の接続要求があった場合には、接続制御部２２は、Ｓ３を実行することなくＳ２でサーバ１４に対して暗号通信の接続要求を送信する。暗号通信のタイムアウト猶予時間内にサーバ１４から応答を受信すれば暗号通信の接続を確立し、タイムアウト猶予時間内にサーバ１４から応答を受信しなければ、その旨をアプリケーション２０に返信する。利便性の面（接続性を優先）から平文通信にフォールバックしてもよい。
【００５２】
図４は、Ｓ７における暗号通信のタイムアウト猶予時間決定処理の詳細フローチャートを示す。
【００５３】
まず、接続制御部２２は、接続結果記憶部２４にアクセスし、当該サーバＩＰに関して前回の接続結果の履歴が記録されているか否かを判定する（Ｓ７０１）。
【００５４】
前回の接続結果の履歴が記録されている場合、次に、前回の接続結果の履歴データを用いて前回の暗号通信接続の確立の可否を判定する（Ｓ７０２）。
【００５５】
前回の暗号通信の接続が可である場合、今回の平文接続の確立に要した時間と、履歴データから取得した前回の接続確立に要した時間とを比較し、今回の平文接続の確立に要した時間の方が、前回の接続確立に要した時間よりも長いか否かを判定する（Ｓ７０３）。
【００５６】
（今回の平文接続の確立に要した時間）＞（前回の接続確立に要した時間）であれば、暗号通信のタイムアウト猶予時間を、
暗号通信のタイムアウト猶予時間＝今回の平文接続確立時間×２（ｓ）
に設定する（Ｓ７０５）。その理由は、前回の暗号通信の接続が可である場合（Ｓ７０２で可）、今回もサーバ１４は暗号通信に対応している可能性が高く、もう少し待てば暗号通信の接続を確立できる可能性があると評価できるので、猶予時間を相対的に短くする（×２）一方、今回の平文接続に要した時間が前回の接続確立に要した時間よりも長いということは（Ｓ７０３でＹＥＳ）、クライアント１０とサーバ１４との間の通信経路に遅延が生じていたり、サーバ１４が高負荷になっていたりする可能性があるため、遅延を考慮した時間（今回の平文接続確立に要した時間）×短い猶予時間（２倍）を暗号通信のタイムアウト猶予時間に設定したものである。
【００５７】
また、（今回の平文接続の確立に要した時間）≦（前回の接続確立に要した時間）であれば、暗号通信のタイムアウト猶予時間を、
暗号通信のタイムアウト猶予時間＝前回の接続確立時間×２（ｓ）
に設定する（Ｓ７０６）。その理由は、前回の暗号通信の接続が可である場合（Ｓ７０２で可）、今回もサーバ１４は暗号通信に対応している可能性が高く、もう少し待てば暗号通信の接続を確立できる可能性があると評価できるので、猶予時間を相対的に短くする（×２）一方、今回の平文接続に要した時間が前回の接続確立に要した時間以下と短いということは（Ｓ７０３でＮＯ）、クライアント１０とサーバ１４との間の通信経路の遅延が少ないといえるので、遅延の少なさを考慮した時間（前回の接続確立に要した時間）×短い猶予時間（２倍）を暗号通信のタイムアウト猶予時間に設定したものである。
【００５８】
また、Ｓ７０２で不可、つまり前回の暗号通信接続が不可である場合、同様に、今回の平文接続の確立に要した時間と、履歴データから取得した前回の接続確立に要した時間とを比較し、今回の平文接続の確立に要した時間の方が、前回の接続確立に要した時間よりも長いか否かを判定する（Ｓ７０４）。
【００５９】
（今回の平文接続の確立に要した時間）＞（前回の接続確立に要した時間）であれば、暗号通信のタイムアウト猶予時間を
暗号通信のタイムアウト猶予時間＝今回の平文接続確立時間×４（ｓ）
に設定する（Ｓ７０７）。その理由は、前記の暗号通信の接続が不可である場合（Ｓ７０２で不可）、今回もサーバ１４は暗号通信に対応していない可能性が高く、但し、サーバ１４がいつ暗号通信に対応するようになるか不明な点もあるため、猶予時間を相対的に長くする（×４）一方、今回の平文接続に要した時間が前回の接続確立に要した時間よりも長いということは（Ｓ７０４でＹＥＳ）、クライアント１０とサーバ１４との間の通信経路に遅延が生じていたり、サーバ１４が高負荷になっていたりする可能性があるため、遅延を考慮した時間（今回の平文接続確立に要した時間）×長い猶予時間（４倍）を暗号通信のタイムアウト猶予時間に設定したものである。
【００６０】
また、（今回の平文接続の確立に要した時間）≦（前回の接続確立に要した時間）であれば、暗号通信のタイムアウト猶予時間を、
暗号通信のタイムアウト猶予時間＝前回の接続確立時間×４（ｓ）
に設定する（Ｓ７０８）。その理由は、前記の暗号通信の接続が不可である場合（Ｓ７０２で不可）、今回もサーバ１４は暗号通信に対応していない可能性が高く、但し、サーバ１４がいつ暗号通信に対応するようになるか不明な点もあるため、猶予時間を相対的に長くする（×４）一方、今回の平文接続に要した時間が前回の接続確立に要した時間以下と短いということは（Ｓ７０４でＮＯ）、クライアント１０とサーバ１４との間の通信経路の遅延が少ないといえるので、遅延の少なさを考慮した時間（前回の接続確立に要した時間）×短い猶予時間（４倍）を暗号通信のタイムアウト猶予時間に設定したものである。
【００６１】
Ｓ７０５〜Ｓ７０８では、今回の平文通信の接続確立に要した時間と前回の通信の接続確立に要した時間のうちの長い方を基準として暗号通信のタイムアウト猶予時間を設定するといえる。
【００６２】
また、Ｓ７０１でなし、つまり前回の履歴データが存在していない場合には、暗号通信のタイムアウト猶予時間を
暗号通信のタイムアウト猶予時間＝今回の平文接続確立時間×３（ｓ）
に設定する（Ｓ７０９）。その理由は、前回の履歴データが存在しないため、Ｓ７０５〜Ｓ７０８で行われたような評価ができないため、これらの間の中間的な猶予時間を設定したものである。
【００６３】
暗号通信のタイムアウト猶予時間の設定処理を具体的に説明すると以下の通りである。すなわち、サーバＩＰが（２０２．２２１．１１５．１５）への接続要求を行い、今回の平文通信の接続確立時間が０．５（ｓ）であったとする。このとき、接続制御部２２は、図２に示されるテーブルを参照し、当該サーバＩＰの過去の履歴データとして、（接続確立に要した時間、暗号通信の確立可否）＝（０．３，可）のデータを取得する。従って、Ｓ７０１で「あり」と判定され、Ｓ７０２で「可」と判定され、次に、Ｓ７０３で今回の平文通信の接続確立に要した時間（０．５ｓ）と、前回の接続確立に要した時間（０．３ｓ）とを比較する。（今回の平文通信の接続確立に要した時間）＞（前回の接続確立に要した時間）であるため、Ｓ７０５で暗号通信のタイムアウト猶予時間として、
暗号通信のタイムアウト猶予時間＝０．５×２（ｓ）＝１．０（ｓ）
が設定される。
【００６４】
また、サーバＩＰが（１１８．１４．１１８．８０）への接続要求を行い、今回の平文通信の接続確立時間が０．２（ｓ）であったとする。このとき、接続制御部２２は、図２に示されるテーブルを参照し、当該サーバＩＰの過去の履歴データとして、（接続確立に要した時間、暗号通信の確立可否）＝（０．２，不可）のデータを取得する。従って、Ｓ７０１で「あり」と判定され、Ｓ７０２で「不可」と判定され、次に、Ｓ７０４で今回の平文通信の接続確立に要した時間（０．２ｓ）と、前回の接続確立に要した時間（０．２ｓ）とを比較する。（今回の平文通信の接続確立に要した時間）≦（前回の接続確立に要した時間）であるため、Ｓ７０８で暗号通信のタイムアウト猶予時間として、
暗号通信のタイムアウト猶予時間＝０．２×４（ｓ）＝０．８（ｓ）
が設定される。
【００６５】
さらに、サーバＩＰが（１９２．１６８．０．２）への接続要求を行い、今回の平文通信の接続確立時間が０．７（ｓ）であったとする。このとき、接続制御部２２は、図２に示されるテーブルを参照しても当該サーバＩＰに該当する履歴データが存在しないため、Ｓ７０１で「なし」と判定され、Ｓ７０９で暗号通信のタイムアウト猶予時間として、
暗号通信のタイムアウト猶予時間＝０．７×３＝２．１（ｓ）
が設定される。
【００６６】
以上のようにして、今回の平文通信の接続確立に要した時間、前回の接続確立に要した時間、及び前回の暗号通信接続確立の可否を用いて適応的に暗号通信のタイムアウト猶予時間を設定した後、図３のＳ８にてサーバ１４からの暗号通信の接続確立要求に対する応答を受信し、この応答を上記のようにして設定した暗号通信のタイムアウト猶予時間内に受信したか否かを判定する。タイムアウト猶予時間内に受信した場合には、平文通信の接続を破棄し、暗号通信の接続を確立する。タイムアウト猶予時間を超えて受信した場合には、平文接続をそのまま維持する。
【００６７】
タイムアウト猶予時間が固定である場合、たとえ暗号通信の接続が可能な状況であったとしても、一律に平文通信の接続を確立させてしまうところ、本実施形態では、過去の履歴データに応じて増減調整し、例えば通信経路に遅延が生じている場合にはこれに応じてタイムアウト猶予時間を増大調整するので、暗号通信の接続確立の可能性を増大せしめることができる。また、今回の接続確立に要した時間と、前回の接続確立に要した時間のうちの長い方を基準としてタイムアウト猶予時間を増大調整するので、通信回線の遅延を考慮して暗号通信の接続確立の可能性を増大せしめることができる。この意味において、本実施形態では通信の秘匿性を向上させ得る。
【００６８】
また、過去の履歴データにより前回の通信時にも暗号通信の接続が可であった場合には、前回の通信時にも暗号通信の接続が不可であった場合に比べてタイムアウト猶予時間を減少調整するので、無駄に暗号通信の接続確立を待機する必要がない。
【００６９】
本実施形態では、クライアント１０が接続制御部２２及び接続結果記憶部２４を備えており、クライアント１０が情報処理装置として機能しているが、必ずしもクライアント１０が備える必要はなく、ゲートウェイ機器がこれらの機能を備えてもよい。
【００７０】
図５は、他の実施形態のシステム構成図である。複数のクライアント１０ａ，１０ｂ，１０ｃにゲートウェイ（ゲートウェイコンピュータ）１３が接続されており、ゲートウェイ１３が接続制御部２２、接続結果記憶部２４、及び通信部２６を備える。接続制御部２２及び接続結果記憶部２４の処理は、図３、図４に示す処理と基本的に同様である。ゲートウェイ１３が情報処理装置として機能する。
【００７１】
このようなシステム構成によれば、各クライアント１０ａ，１０ｂ，１０ｃに接続制御部２２及び接続結果記憶部２４の機能を組み込む必要がなく、ゲートウェイ１３配下の任意のクライアントが当該技術を享受し得る。また、複数のクライアント間で接続結果記憶部２４のデータを共有し得る。
【００７２】
本実施形態では、接続結果記憶部２４に記憶された履歴データを用いて暗号通信のタイムアウト猶予期間を可変設定しているが、サーバ１４との接続性はクライアントーサーバ間の回線に依存する。従って、接続制御部２２は、クライアント１０の回線が変更されたことを検出し、回線の変更を検出した場合に接続結果記憶部２４の内容をクリアし、改めて変更後の回線にて接続結果を順次記憶してもよい。接続結果をクリアすることで、クライアントの回線の状況変化に応じて暗号通信のタイムアウト猶予時間を適応的に設定し得る。回線変更を検出するためのパラメータとしては、
ＩＰアドレスのアドレス体系
デフォルトゲートウェイのＭＡＣアドレス
ＩＳＰ（インターネットサービスプロバイダ／アクセスプロバイダ）情報
等である。
【００７３】
以上、本発明の実施形態について説明したが、本発明はこれらの実施形態に限定されるものではなく、種々の変形が可能である。
【００７４】
例えば、本実施形態では、暗号通信のタイムアウト猶予時間を、
タイムアウト猶予時間＝（遅延を考慮した時間）×（猶予時間）
とし、遅延を考慮した時間として、今回の平文通信の接続確立に要した時間と前回の接続確立に要した時間のうちの長い方とし、猶予時間として、相対的に長い時間（×４）、相対的に短い時間（×２）、その中間の時間（×３）としているが、これらに限定されるものではなく、猶予時間として、相対的に長い時間（×３）、相対的に短い時間（×１）、その中間の時間（×２）としてもよく、ｍ１，ｍ２、ｍ３を正の実数とし、ｍ１＞ｍ２＞ｍ３として、相対的に長い時間（×ｍ１）、相対的に短い時間（×ｍ３）、その中間の時間（×ｍ２）としてもよい。また、タイムアウト猶予時間を、
タイムアウト猶予時間＝（遅延を考慮した時間）＋（猶予時間）
として設定してもよい。タイムアウト猶予時間は、一般に、関数をＦとして、
タイムアウト猶予時間＝Ｆ（遅延を考慮した時間，猶予時間）
と表現し得る。
【００７５】
また、遅延を考慮した時間は、今回の平文通信の接続確立に要した時間と前回の接続確立に要した時間に応じて決定され、猶予時間は前回暗号通信の接続確立の可／不可に応じて決定されるから、一般に、関数をＧとして、
タイムアウト猶予時間＝Ｇ（今回の平文通信の接続確立に要した時間，前回の接続確立に要した時間，前回の暗号通信の接続確立の可否）
と表現し得る。
【００７６】
また、本実施形態では、図３において、Ｓ２で暗号通信の接続要求を送信し、その直後にＳ３で平文通信の接続要求を送信しているが、Ｓ２で平文通信の接続要求を送信し、その直後にＳ３で暗号通信の接続要求を送信してもよく、暗号通信と平文通信の接続要求を相前後して送信すればよい。勿論、Ｓ２及びＳ３を同時に行ってもよい。要するに、暗号通信と平文通信の接続要求を並行して試行すればよい。
【００７７】
さらに、図１の構成において、接続結果記憶部２４をクライアント１０の外部に設置してもよく、複数のクライアント１０で外部の接続結果記憶部２４を共有してもよい。
【符号の説明】
【００７８】
１０，１０ａ〜１０ｃ  クライアント、１２  インターネット、１４  サーバ、２０  アプリケーション、２２  接続制御部、２４  接続結果記憶部、２６  通信部。
【図１】
0006668960.tif 000002
【図２】
0006668960.tif 000003
【図３】
0006668960.tif 000004
【図４】
0006668960.tif 000005
【図５】
0006668960.tif 000006