(57)【要約】【課題】複数の通信経路を経由した暗号化通信を行うシステムにおいて、サーバ装置とクライアント端末との間の暗号化通信のセキュリティリスクを低減させることができる。【解決手段】暗号化通信に用いるサーバ識別情報および秘密鍵情報を記憶する記憶装置と、記憶装置と通信可能なサーバ装置とを備える通信システムであって、クライアント端末から暗号化通信の接続要求を受信する受信手段と、接続要求に含まれる鍵交換方式のうち、秘密鍵情報の送信が不要な鍵交換方式を選択する選択手段と、秘密鍵情報を用いて署名された署名情報に基づいて、クライアント端末と暗号化通信を行う通信手段と、を備える通信システム。【選択図】図２
2019165404.tif 000002
【特許請求の範囲】
【請求項１】
暗号化通信に用いるサーバ識別情報および秘密鍵情報を記憶する記憶装置と、前記記憶装置と通信可能なサーバ装置とを備える通信システムであって、
クライアント端末から前記暗号化通信の接続要求を受信する受信手段と、
前記接続要求に含まれる鍵交換方式を示す情報のうち、前記秘密鍵情報の送信が不要な鍵交換方式を選択する選択手段と、
前記秘密鍵情報を用いて署名された署名情報に基づいて、前記クライアント端末と暗号化通信を行う通信手段と、
を備える通信システム。
【請求項２】
請求項１に記載の通信システムであって、更に、
前記サーバ装置は、
前記記憶装置へ、前記サーバ識別情報の取得要求を送信する第１の送信手段と、
前記記憶装置へ、前記署名情報の取得要求を送信する第２の送信手段と、を備え、
前記通信手段は、取得した前記サーバ識別情報および前記署名情報に基づいて、前記クライアント端末と前記暗号化通信を行う、通信システム。
【請求項３】
前記第１の送信手段は、当該サーバ装置の起動時に前記記憶装置へ前記サーバ識別情報の取得要求を送信する、請求項２に記載の通信システム。
【請求項４】
請求項２または３に記載の通信システムであって、更に、
前記記憶装置は、
前記署名情報の取得要求を受信した場合、前記受信したデータに前記秘密鍵情報を用いた署名処理を行う署名手段を備える通信システム。
【請求項５】
請求項２乃至４のいずれか一項に記載の通信システムであって、更に、
前記記憶装置は、
前記サーバ識別情報の取得要求を受信した場合、前記サーバ識別情報および前記秘密鍵情報を生成する生成手段を備える通信システム。
【請求項６】
請求項１乃至５のいずれか一項に記載の通信システムであって、更に、
前記サーバ装置は、
前記記憶装置との接続の有無を検出する検出手段を備え、
前記記憶装置との接続が検出されていない場合、前記選択手段は、前記秘密鍵情報の送信が必要な鍵交換方式を選択し、
前記記憶装置との接続が検知されている場合、前記選択手段は、前記秘密鍵情報の送信が不要な鍵交換方式を選択する、通信システム。
【請求項７】
請求項１乃至６のいずれか一項に記載の通信システムであって、更に、
前記サーバ装置は、
前記受信された接続要求に、前記秘密鍵情報の送信が不要な鍵交換方式を示す情報が含まれていない場合、その旨を示す表示画面を表示させる表示制御手段を備える通信システム。
【請求項８】
前記暗号化通信は、ＳＳＬ（Secure Sockets Layer）通信またはＴＬＳ（Transport Layer Security）通信であり、
前記秘密鍵情報の送信が不要な鍵交換方式は、ＤＨ（Diffie-Hellman）方式である、請求項１乃至７のいずれか一項に記載の通信システム。
【請求項９】
暗号化通信に用いるサーバ識別情報および秘密鍵情報を記憶する記憶装置と、前記記憶装置と通信可能なサーバ装置と、を備える通信システムが実行する通信方法であって、
クライアント端末から前記暗号化通信の接続要求を受信する受信ステップと、
前記接続要求に含まれる鍵交換方式を示す情報のうち、前記秘密鍵情報の送信が不要な鍵交換方式を選択する選択ステップと、
前記秘密鍵情報を用いて署名された署名情報に基づいて、前記クライアント端末と暗号化通信を行う通信ステップと、
を実行する通信方法。
【請求項１０】
コンピュータに請求項９に記載の通信方法を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信システム、通信方法およびプログラムに関する。
【背景技術】
【０００２】
ＭＦＰ(Multifunction Peripheral/Printer/Product：複合機)やＰＣ（Personal Computer）等の複数の情報処理装置の間で通信を行い、データの共有や遠隔操作を行うことができるシステムが知られている。この情報処理装置の間の通信は、悪意のある第三者のなりすましやデータの改竄を防止するため、ＳＳＬ（Secure Sockets Layer）通信等の暗号化通信が利用される。
【０００３】
また、一台の情報処理装置において、複数のコントローラを搭載している装置が存在している。この場合、複数のコントローラは、それぞれがサーバ証明書を保持してサーバとしての機能することで、クライアント端末との暗号化通信を行う。さらに、サーバとクライントとの間の通信を中継する中継装置を備えたシステムも存在する。
【０００４】
例えば、特許文献１は、端末とサーバとの間に設けられる中継装置が、サーバから送信される、サーバと中継装置との間の暗号通信のためのサーバ証明書の信頼性を検証し、サーバ証明書の信頼性に対応する、中継装置と端末との間の暗号通信のためのプロキシ証明書を発行して端末へ送信する内容を開示している。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記の方法は、クライアントである端末とサーバの暗号化通信を行うために、複数の通信経路（例えば、端末と中継装置、中継装置とサーバ）を経由する。そのため、複数の通信経路のそれぞれにおいて、サーバ証明書と秘密鍵情報を通信する必要があり、セキュリティリスクが高まるという問題があった。
【課題を解決するための手段】
【０００６】
本発明に係る通信システムは、暗号化通信に用いるサーバ識別情報および秘密鍵情報を記憶する記憶装置と、前記記憶装置と通信可能なサーバ装置とを備える通信システムであって、クライアント端末から前記暗号化通信の接続要求を受信する受信手段と、前記接続要求に含まれる鍵交換方式を示す情報のうち、前記秘密鍵情報の送信が不要な鍵交換方式を選択する選択手段と、前記秘密鍵情報を用いて署名された署名情報に基づいて、前記クライアント端末と暗号化通信を行う通信手段と、を備える。
【発明の効果】
【０００７】
本発明によれば、複数の通信経路を経由した暗号化通信を行うシステムにおいて、サーバ装置とクライアント端末との間の暗号化通信のセキュリティリスクを低減させることができる。
【図面の簡単な説明】
【０００８】
【図１】第１の実施形態に係る通信システムのシステム構成の一例を示す図である。
【図２】第１の実施形態に係る通信システムの概要を示す図である。
【図３】第１の実施形態に係る情報処理装置のハードウエア構成の一例を示す図である。
【図４】第１の実施形態に係る情報処理装置のソフトウエア構成の一例を示す図である。
【図５】第１の実施形態に係る通信システムの機能構成の一例を示す図である。
【図６】第１の実施形態に係るサーバ証明書の一例を示す図である。
【図７】第１の実施形態に係る認証情報管理テーブルの一例を示す図である。
【図８】第１の実施形態に係る通信システムにおける通信端末との認証処理の一例を示すシーケンス図である。
【図９】第１の実施形態に係る操作部の処理の一例を示すフローチャートである。
【図１０】第１の実施形態に係る本体部の処理の一例を示すフローチャートである。
【図１１】第１の実施形態に係る本体部におけるサーバ証明書の生成処理の一例を示すフローチャートである。
【図１２】第１の実施形態の変形例に係る操作部の処理の一例を示すフローチャートである。
【図１３】第２の実施形態に係る通信システムのシステム構成の一例を示す図である。
【図１４】第２の実施形態に係る通信システムの機能構成の一例を示す図である。
【図１５】第２の実施形態に係るサーバ装置の処理の一例を示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下、図面を参照しながら、発明を実施するための形態を説明する。なお、図面の説明において同一要素には同一符号を付し、重複する説明は省略する。
【００１０】
●第１の実施形態●
●システム構成
図１は、第１の実施形態に係る通信システムのシステム構成の一例を示す図である。図１に示す通信システムは、複数の通信経路を経由した暗号化通信を行うシステムにおいて、サーバ装置とクライアント端末との間の暗号化通信のセキュリティを高めることができるシステムである。
【００１１】
通信システムは、情報処理装置１０および通信端末９０によって構成されている。情報処理装置１０および通信端末９０は、通信ネットワーク５を介して接続されている。通信ネットワーク５は、例えば、ＬＡＮ(Local Area Network)、専用線およびインターネット等によって構築される。通信ネットワーク５は、有線だけでなく、Ｗｉ−Ｆｉ（Wireless Fidelity）や、Ｂｌｕｅｔｏｏｔｈ（登録商標）等の無線による通信が行われる箇所があってもよい。
【００１２】
情報処理装置１０は、例えば、ＭＦＰ(Multifunction Peripheral/Printer/Product：複合機)、ファクシミリ、スキャナ、またはプリンタ等の画像処理機能並びに通信機能を備える画像形成装置である。情報処理装置１０は、ケーブルによりデータ通信可能に接続された操作部３０と本体部５０とを備える。
【００１３】
操作部３０は、画面表示およびユーザ操作によるキー入力を受け付ける。本体部５０は、操作部３０によって受け付けられた入力に応じた動作を行う。なお、操作部３０と本体部５０は、ケーブルによる有線接続に代えて、無線（赤外線を含む）接続としてもよい。
【００１４】
情報処理装置１０において、操作部３０を本体部５０から独立させ、本体部５０の負荷が高くても操作レスポンスを低下させないようにすることが考えられる。例えば、操作部３０は、本体部５０と独立したＯＳ(Operating System)が搭載され、本体部５０と独立に動作する。
【００１５】
操作部３０は、情報処理装置１０と通信端末９０との通信において、ユーザを認証するサーバ装置としての機能を担う。情報処理装置１０と通信端末９０は、ネットワーク５を介して、暗号化通信を行う。暗号化通信は、例えば、ＲＦＣ（Request For Comments）２２４６勧告に準拠するＳＳＬ（Secure Sockets Layer）プロトコルに基づくＳＳＬ通信である。ＳＳＬは、インターネットを経由する通信において使用される暗号化プロトコルの一つである。以下、暗号化通信としてＳＳＬ通信を用いる例を説明するが、暗号化通信は、ＴＬＳ（Transport Layer Security）通信等であってもよい。
【００１６】
本体部５０は、暗号化通信の接続を確立するためネゴシエーションに用いるサーバ証明書１００および秘密鍵情報１３０を記憶する記憶装置としての機能を担う。すなわち、本体部５０は、サーバ証明書を発行する認証局（CA：Certificate Authority）としての機能を有する。
【００１７】
なお、第１の実施形態に係る通信システムは、通信ネットワーク５に接続された認証局を別途設け、本体部５０が認証局と通信することでサーバ証明書１００および秘密鍵情報１３０を取得する構成にしてもよい。また、情報処理装置１０は、サーバ装置および記憶装置としての機能をそれぞれ独立して有する装置であれば、上述した画像形成装置に限られない。
【００１８】
通信端末９０は、通信ネットワーク５を介して、サーバ装置との間で暗号化通信を行うクライアント端末である。通信端末９０は、例えば、ノートＰＣ（Personal Computer）等の通信装置である。通信端末９０は、画像処理機能を備えたＭＦＰ（Multifunction Peripheral：複合機）プリンタ、ＰＪ（Projector：プロジェクタ）、ＩＷＢ（Interactive White Board：相互通信が可能な電子式の黒板機能を有する白板）、デジタルサイネージ等の出力装置、ＨＵＤ（Head Up Display）装置、スピーカ等の音響出力装置、産業機械、撮像装置、集音装置、医療機器、ネットワーク家電、携帯電話、スマートフォン、タブレット端末、ゲーム機、ＰＤＡ（Personal Digital Assistant）、デジタルカメラ、ウェアラブルＰＣまたはデスクトップＰＣ等であってもよい。
【００１９】
●概要
図２は、第１の実施形態に係る通信システムの概要を示す図である。なお、図２は、第１の実施形態に係る通信システムの概略を簡略的に説明したものであり、通信システムが実現する機能等の詳細は、後述する図面等を用いて説明する。
【００２０】
まず、図２（ａ）を用いて、従来の通信システムの例を説明する。図２（ａ）は、従来の通信システムにおいて、それぞれがネットワークに接続された二つのコントローラを有する情報処理装置と、通信端末との間において、ＳＳＬ通信を行う方法を示す。情報処理装置は、ＳＳＬサーバとＧＷコントローラを備えている。
【００２１】
ＧＷコントローラは、サーバ証明書と秘密鍵を記憶している。ＳＳＬサーバは、ＧＷコントローラからサーバ証明書と秘密鍵を取得する。そして、ＳＳＬサーバは、ＳＳＬクライアントから接続要求を受信した場合、ＳＳＬクライアントへＧＷコントローラから取得したサーバ証明書と秘密鍵を送信し、ＳＳＬクライアントとの間で暗号化通信の接続を確立するためのネゴシエーションを行う。ＳＳＬクライアントとＳＳＬサーバは、ＳＳＬサーバから送信されたサーバ証明書および秘密鍵を用いてネゴシエーションを行うことにより、暗号化通信を行うための接続を確立する。
【００２２】
しかしながら、上記のような従来の方法では、ＧＷコントローラからＳＳＬサーバとの間で秘密鍵を送信するため、秘匿性の高い秘密鍵の情報を盗聴される危険性があった。
【００２３】
ここで、複数のコントローラを有する情報処理装置は、コントローラごとにＳＳＬ通信行うことができる。この場合、認証局が発行したルートＣＡ証明書やそのＣＡ証明書で署名した証明書は、コントローラごとに準備する必要があった。そのため、例えば、証明書ベンダーに払う費用は、コントローラの数の分だけ必要になるとともに、システムを導入する手間が掛かってしまい、運用上好ましくない。
【００２４】
また、情報処理装置は、ＧＷコントローラにおい公開鍵の鍵ペアを設定した場合、設定した公開鍵の鍵ペアとサーバ証明書をＳＳＬサーバに記憶させ、その後は送受信することなく、同じサーバ証明書を使用するという方法も考えられる。しかし、この方法は、公開鍵の同一の鍵ペアが存在することになる。公開鍵暗号の安全性は、世の中に同じ鍵ペアが存在しないということに依存しているため、この方法を採用することはできない。
【００２５】
このように、従来の複数の通信経路を経由して暗号化通信を行うシステムは、それぞれの通信経路（ＳＳＬクライアントとＳＳＬサーバ、ＳＳＬサーバとＧＷコントローラ）でやり取りされる情報のセキュリティリスクやシステム導入時における負担等、運用上多くの問題が存在する。
【００２６】
次に、図２（ｂ）を用いて、第１の実施形態に係る通信システムの例を説明する。図２（ｂ）は、第１の実施形態に係る通信システムにおいて、それぞれがネットワークに接続された二つのコントローラを有する情報処理装置と通信端末との間で、ＳＳＬ通信を行う方法を示す。情報処理装置１０は、ＳＳＬサーバとしての機能を担う操作部３０と、サーバ証明書１００および秘密鍵情報１３０を記憶する記憶装置としての機能を担う本体部５０とを備える。
【００２７】
第１の実施形態に係る通信システムにおいて、まず、ＳＳＬクライアントとなる通信端末９０は、操作部３０へ接続要求を送信する。操作部３０は、通信端末９０から接続要求を受信した場合、本体部５０に記憶されたサーバ証明書１００を取得する。そして、操作部３０は、暗号アルゴリズム（暗号スイート）における鍵交換方式（鍵交換アルゴリズム）として、秘密鍵情報１３０の送信が不要な鍵交換方式を選択する。
【００２８】
ここで、ＳＳＬ通信の鍵交換方式は、秘密鍵情報１３０の送信を必要とする方式と秘密鍵情報１３０の送信が不要な方式が存在する。秘密鍵情報１３０の送信を必要とする方式は、例えば、ＲＳＡ（Rivest-Shamir-Adleman cryptosystem）方式である。秘密鍵を必要としない方式は、例えば、ＤＨ（Diffie-Hellman）方式である。
【００２９】
ＲＳＡ方式は、ＳＳＬネゴシエーション時において、秘密鍵の素材であるプリマスターシークレットを送信する必要がある。この情報は、秘匿性の高い情報であるため、通信端末９０（ＳＳＬクライアント）と操作部３０（ＳＳＬサーバ）の通信経路、または操作部３０（ＳＳＬサーバ）と本体部５０（記憶装置）の通信経路において通信を行った場合、盗聴の恐れがあり、セキュリティ上好ましくない。
【００３０】
一方で、ＤＨ方式は、公開可能なパラメータのみをそれぞれの通信経路において送受信することにより、通信端末９０（ＳＳＬクライアント）と操作部３０（ＳＳＬサーバ）とのネゴシエーションが可能である。そのため、第１の実施形態に係る通信システムは、複数の通信経路を経由した暗号化通信を行うシステムにおいて、サーバ証明書１００を共用した場合においても、通信端末９０（ＳＳＬクライアント）と操作部３０（ＳＳＬサーバ）の暗号化通信のセキュリティリスクを低減させることができる。
【００３１】
そして、操作部３０は、本体部５０によって秘密鍵情報１３０を用いて署名された署名情報、およびサーバ証明書１００を、通信端末９０へ送信する。署名情報およびサーバ証明書１００は、平文であり、公開可能なパラメータであるため、盗聴されたとしてもセキュリティ上の問題はない。操作部３０と通信端末９０は、操作部３０から送信された署名情報およびサーバ証明書１００を用いてネゴシエーションを行うことで、暗号化通信を行うための接続を確立することができる。
【００３２】
このように、第１の実施形態に係る通信システムは、記憶装置（本体部５０）に記憶されたサーバ証明書１００のみを、記憶装置（本体部５０）からＳＳＬサーバ（操作部３０）に送信することで、ＳＳＬ通信の鍵交換を行うことができる。さらに、第１の実施形態に係る通信システムは、秘匿性の高い秘密鍵情報１３０を通信経路に送信することなく、ＳＳＬクライアント（通信端末９０）との暗号化通信のネゴシエーションを行うことができるので、複数の通信経路を経由した暗号化通信を行うシステムにおいて、サーバ装置とクライアント端末との間の暗号化通信のセキュリティを高めることができる。
【００３３】
●ハードウエア構成
図３は、第１の実施形態に係る情報処理装置のハードウエア構成の一例を示す図である。なお、図３に示すハードウエア構成は、各実施形態において同様の構成を備えていてもよく、必要に応じて構成要素が追加または削除されてもよい。情報処理装置１０は、プリンタ機能、コピー機能、スキャナ機能およびファックス機能等の各種の機能を実現可能な本体部５０と、ユーザ操作に応じた入力を受け付ける操作部３０とを備える。すなわち、操作部３０は、本体部５０の制御部、および、本体部５０とは独立した制御部を備えた本体部５０の操作部３０（操作パネル）である。つまり、第１の実施形態において、情報処理装置１０は、Ｃｈｅｅｔａｈ（Ａｎｄｒｏｉｄ（登録商標））またはＣｈｅｅｔａｈアプリケーションを備えた操作部３０を有する。
【００３４】
なお、ユーザの操作を受け付けるとは、ユーザの操作に応じて入力される情報（画面の
座標値を示す信号等を含む）を受け付けることを含む概念である。本体部５０と操作部３０は、専用の通信路２００を介して相互に通信可能に接続されている。通信路２００は、
例えば、ＵＳＢ（Universal Serial Bus）規格を用いることができるが、有線または無線を問わず任意の規格であってもよい。
【００３５】
本体部５０は、操作部３０によって受け付けられた入力に応じた動作を行なう。また、本体部５０は、任意の外部装置と通信可能であり、外部装置から受信される指示に応じた動作を行なうこともできる。
【００３６】
まず、本体部５０のハードウエア構成について説明する。図３に示すように、本体部５０は、システムバス５１０に接続された、ＣＰＵ（Central Processing Unit）５０１、ＲＯＭ（Read Only Memory）５０２、ＲＡＭ（Random Access Memory）５０３と、ＨＤＤ（Hard Disk Drive）５０４、スキャナエンジン５０５、プロッタエンジン５０６、ＦＡＸ制御ユニット５０７、接続インターフェース（（Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ））および通信インターフェース（Ｉ／Ｆ）５０９を備える。
【００３７】
ＣＰＵ５０１は、本体部５０の動作を統括的に制御する。ＣＰＵ５０１は、ＲＡＭ５０３をワークエリア（作業領域）として、ＲＯＭ５０２またはＨＤＤ５０４等に格納されたプログラムを実行することで、本体部５０全体の動作を制御する。また、ＣＰＵ５０１は、スキャナエンジン５０５、プロッタエンジン５０６またはＦＡＸ制御ユニット５０７によって、上述したプリンタ機能、コピー機能、スキャナ機能、ファックス機能等の各種機能を実現させる。
【００３８】
接続インターフェース（Ｉ／Ｆ）５０８は、通信路２００を介して、操作部３０と通信するためのインターフェースである。通信インターフェース（Ｉ／Ｆ）５０９は、通信ネットワーク５を介して外部装置等と通信するためのインターフェースである。
【００３９】
次に、操作部３０のハードウエア構成について説明する。図３に示すように、操作部３０は、システムバス３０８に接続された、ＣＰＵ３０１と、ＲＯＭ３０２と、ＲＡＭ３０３と、フラッシュメモリ３０４と、操作パネル３０５、接続インターフェース（Ｉ／Ｆ）３０６および通信インターフェース（Ｉ／Ｆ）３０７を備える。
【００４０】
ＣＰＵ３０１は、操作部３０の動作を統括的に制御する。ＣＰＵ３０１は、ＲＡＭ３０３をワークエリア（作業領域）として、ＲＯＭ３０２またはフラッシュメモリ３０４等に格納されたプログラムを実行することで、操作部３０全体の動作を制御する。情報処理装置１０は、例えば、本発明に係るプログラムをＣＰＵ３０１が実行することによって、本発明に係る通信方法を実現する。また、ＣＰＵ３０１は、ユーザ操作により受け付けられた入力に応じた情報（画像）を表示する等、各種機能を実現する。
【００４１】
操作パネル３０５は、ユーザ操作に応じた各種の入力を受け付けるとともに、各種の情報を表示する。例えば、各種の情報は、受け付けられた入力に応じた情報、情報処理装置１０の動作状況を示す情報、設定状態を示す情報等が挙げられる。第１の実施形態において、操作パネル３０５は、タッチパネル機能を搭載した液晶表示装置（LCD：Liquid Crystal Display）により構成されるものとするが、これに限られるものではない。例えば、操作パネル３０５は、タッチパネル機能が搭載された有機ＥＬ（Electro Luminescence）表示装置により構成されてもよい。さらに、これに加えてまたはこれに代えて、ハードウエアキー等の操作部やランプ等の表示部を設けることもできる。
【００４２】
接続インターフェース（Ｉ／Ｆ）３０６は、通信路２００を介して本体部５０と通信するためのインターフェースである。通信インターフェース（Ｉ／Ｆ）３０７は、通信ネットワーク５を介して外部装置等と通信するためのインターフェースである。
【００４３】
●ソフトウエア構成
続いて、図４を用いて、情報処理装置１０のソフトウエア構成の概要について説明する。図４は、第１の実施形態に係る情報処理装置のソフトウエア構成の一例を示す図である。
【００４４】
図４に示すように、本体部５０は、アプリ層５５１と、サービス層５５２と、ＯＳ（Operating System）層５５３とを有する。アプリ層５５１、サービス層５５２およびＯＳ層５５３は、ＲＯＭ５０２またはＨＤＤ５０４等に格納されている各種ソフトウエアである。本体部５０は、ＣＰＵ５０１によって、これらのソフトウエアを実行することにより、各種機能を提供する。
【００４５】
アプリ層５５１のソフトウエアは、ハードウエア資源を動作させて所定の機能を提供す
るためのアプリケーションソフトウエア（以下、「アプリ」称する）である。例えば、アプリは、コピー機能を提供するためのコピーアプリ、スキャナ機能を提供するためのスキャナアプリ、ファクス機能を提供するためのファクスアプリ、プリンタ機能を提供するためのプリンタアプリ等である。
【００４６】
サービス層５５２のソフトウエアは、アプリ層５５１とＯＳ層５５３との間に介在する。サービス層５５２のソフトウエアは、本体部５０が備えるハードウエア資源を利用するためのインターフェースを、アプリに提供するためのソフトウエアである。具体的には、サービス層５５２のソフトウエアは、ハードウエア資源に対する動作要求の受け付け、および動作要求の調停を行なう機能を提供するためのソフトウエアである。サービス層５５２によって受け付けられる動作要求は、例えば、スキャナエンジン５０５による読み取りまたはプロッタエンジン５０６による印刷等の要求である。
【００４７】
サービス層５５２によるインターフェースの機能は、本体部５０のアプリ層５５１だけではなく、操作部３０のアプリ層３５１にも提供される。すなわち、操作部３０のアプリ層３５１は、サービス層５５２のインターフェース機能を介して、本体部５０のハードウエア資源（例えば、スキャナエンジン５０５、プロッタエンジン５０６、ＦＡＸ制御ユニット５０７等）を利用した機能を実現することができる。
【００４８】
ＯＳ層５５３のソフトウエアは、本体部５０が備えるハードウエアを制御する基本機能を提供するための基本ソフトウエア（オペレーティングシステム）である。サービス層５５２のソフトウエアは、各種アプリからのハードウエア資源の利用要求を、ＯＳ層５５３が解釈可能なコマンドに変換してＯＳ層５５３に渡す。そして、ＯＳ層５５３のソフトウエアによりコマンドが実行されることで、ハードウエア資源は、アプリの要求に従った動作を行なう。
【００４９】
本体部５０は、通信ネットワーク５を介して外部装置と通信する。
【００５０】
操作部３０は、アプリ層３５１、サービス層３５２およびＯＳ層３５３を有する。操作部３０が備えるアプリ層３５１、サービス層３５２およびＯＳ層３５３の階層構造は、本体部５０側と同様である。ただし、アプリ層３５１のアプリにより提供される機能や、サービス層３５２が受け付け可能な動作要求の種類は、本体部５０側とは異なる。アプリ層３５１のアプリは、操作部３０が備えるハードウエア資源を動作させて所定の機能を提供するためのソフトウエアである。アプリ層３５１のアプリは、本体部５０が備える機能（プリンタ機能、コピー機能、スキャナ機能、ファックス機能）に関する操作や表示を行
なうためのＵＩ（User Interface）の機能を提供するためのソフトウエア等が含まれる。
【００５１】
操作部３０は、通信ネットワーク５に接続された、例えば、無線ＬＡＮＡＰ（wireless LAN Access Point）と通信インターフェース（Ｉ／Ｆ）３０７との間で無線接続され、通信ネットワーク５を介して外部装置と通信する。
【００５２】
図４に示す情報処理装置１０において、機能の独立性を保つため、本体部５０側のＯＳ層５５３のソフトウエアと操作部３０側のＯＳ層３５３のソフトウエアは、互いに異なる。つまり、本体部５０と操作部３０は、異なるオペレーティングシステムで互いに独立して動作する。例えば、本体部５０側のＯＳ層５５３のソフトウエアは、ＬＩＮＵＸ（登録商標）を採用し、操作部３０側のＯＳ層３５３のソフトウエアは、Ａｎｄｒｏｉｄ（登録商標）を採用してもよい。
【００５３】
上述したように、図４に示す情報処理装置１０において、本体部５０と操作部３０は、異なるオペレーティングシステムで動作するため、本体部５０と操作部３０との間の通信は、共通の装置内のプロセス間通信ではなく、異なる装置間の通信として行なわれる。例えば、操作部３０によって受け付けられた入力（ユーザ操作による指示内容）を本体部５０に伝達する動作（コマンド通信）、および本体部５０が操作部３０にイベントを通知する動作等は、異なる装置間の通信として行なわれる。これにより、操作部３０は、本体部５０にコマンド通信を行なうことにより、本体部５０の機能を利用することができる。なお、本体部５０から操作部３０に通知されるイベントは、本体部５０における動作の実行状況、および本体部５０側で設定された内容等が挙げられる。
【００５４】
また、図４に示す情報処理装置１０において、操作部３０への電力供給は、通信路２００を経由し、本体部５０から行なわれる。このため、操作部３０の電源制御は、本体部５０の電源制御とは別に（独立して）行なうことができる。
【００５５】
●機能構成
続いて、第１の実施形態に係る情報処理システムの機能構成について説明する。図５は、第１の実施形態に係る通信システムの機能構成の一例を示す図である。
【００５６】
情報処理装置１０は、上述のように、操作部３０および本体部５０を含む。操作部３０によって実現される機能は、送受信部３１、判断部３２、記憶・読出部３３、記憶部３４、受付部３５、表示制御部３６、制御部３７および入出力部３８を含む。
【００５７】
送受信部３１は、通信ネットワーク５を介して、外部装置と各種データの送受信を行う機能である。送受信部３１は、通信端末９０から接続要求を受信する。また、送受信部３１は、接続要求の送信元である通信端末９０との間で、暗号化通信の接続を確立するためのネゴシエーションを行う。そして、送受信部３１は、接続が確立された通信端末９０との間で、暗号化通信を行う。
【００５８】
暗号化通信は、例えば、ＲＦＣ２２４６勧告に準拠するＳＳＬ通信である。ＳＳＬは、インターネットを経由する通信において使用される暗号化プロトコルの一つである。なお、暗号化通信は、ＳＳＬ通信に限られず、例えば、ＴＬＳ通信であってもよい。送受信部３１は、例えば、図２に示した通信インターフェース（Ｉ／Ｆ）３０７およびＣＰＵ３０１で実行されるプログラム等によって実現される。送受信部３１は、受信手段の一例および通信手段の一例である。
【００５９】
判断部３２は、接続要求の送信元である通信端末９０との間で行われる鍵交換方式を判断する機能である。判断部３２は、例えば、接続要求に含まれる鍵交換方式を示す情報のうち、秘密鍵情報１３０の送信が不要な鍵交換方式を選択する。暗号化通信の一例であるＳＳＬ通信は、サーバとクライアントの間の通信の暗号化を行うことができる複数の鍵交換方式がある。鍵交換方式は、例えば、サーバとクライアントとの間において、秘密鍵情報１３０の送信が必要な暗号化方式と秘密鍵情報１３０の送信が不要な暗号化方式がある。秘密鍵情報１３０の送信が必要な暗号化方式は、例えば、ＲＳＡ（Rivest-Shamir-Adleman cryptosystem）方式である。また、秘密鍵情報１３０の通信が不要な暗号化方式は、例えば、ＤＨ（Diffie-Hellman）方式である。
【００６０】
通信端末９０から送信される接続要求は、利用可能なＳＳＬのバージョン番号、現在時刻および利用可能な鍵交換方式を示す情報を含む暗号化アルゴリズム等のデータを含む。判断部３２は、この接続要求に含まれる鍵交換方式を示す情報のうち、秘密鍵情報１３０の送信が不要な鍵交換方式を選択する。判断部３２は、例えば、図３に示したＣＰＵ３０１で実行されるプログラム等により実現される。判断部３２は、選択手段の一例である。
【００６１】
記憶・読出部３３は、記憶部３４に各種データを記憶し、記憶部３４から各種データを読み出す機能である。記憶・読出部３３および記憶部３４は、例えば、図３に示したＲＯＭ３０２、フラッシュメモリ３０４およびＣＰＵ３０１で実行されるプログラム等により実現される。
【００６２】
受付部３５は、図３に示した操作パネル３０５へのユーザの入力操作を受け付ける機能である。受付部３５は、例えば、図３に示した操作パネル３０５およびＣＰＵ３０１で実行されるプログラム等により実現される。
【００６３】
表示制御部３６は、図３に示した操作パネル３０５に、ユーザによる入力操作を受け付ける操作画面等を表示させる機能である。表示制御部３６は、例えば、ＷＥＢブラウザを用いて、ＨＴＭＬ（HyperText Markup Language）等により作成されたＷｅｂページを、操作パネル３０５に表示させる。表示制御部３６は、例えば、図３に示した操作パネル３０５、およびＣＰＵ３０１で実行されるプログラム等により実現される。
【００６４】
制御部３７は、操作部３０の処理動作を制御する機能である。制御部３７は、例えば、図３に示したＣＰＵ３０１で実行されるプログラム等により実現される。
【００６５】
入出力部３８は、本体部５０との間で各種データのやり取りを行う機能である。入出力部３８は、有線または無線を介して、本体部５０と通信可能に接続されている。入出力部３８は、例えば、本体部５０へ、本体部５０に記憶されたサーバ証明書１００の取得要求を送信する。そして、入出力部３８は、本体部５０から送信されたサーバ証明書１００を受信する。
【００６６】
また、入出力部３８は、例えば、本体部５０へ、判断部３２によって選択された秘密鍵情報１３０の送信が不要な鍵交換方式（例えば、ＤＨ方式）に基づく署名情報の取得要求を送信する。そして、入出力部３８は、本体部５０によって秘密鍵情報１３０を用いて署名された署名情報を受信する。入出力部３８は、例えば、図３に示した接続インターフェース（Ｉ／Ｆ）３０６およびＣＰＵ３０１で実行されるプログラム等により実現される。入出力部３８は、第１の送信手段の一例および第２の送信手段の一例である。
【００６７】
本体部５０は、送受信部５１、認証処理部５２、記憶・読出部５３、記憶部５４、生成部５５、制御部５６および入出力部５７を含む。
【００６８】
送受信部５１は、通信ネットワーク５を介して、外部装置との間で各種データの送受信を行う機能である。送受信部５１は、例えば、図３に示した通信インターフェース（Ｉ／Ｆ）５０９およびＣＰＵ５０１で実行されるプログラム等により実現される。
【００６９】
認証処理部５２は、サーバである操作部３０とクライントである通信端末９０との間における暗号化通信のための認証処理を行う機能である。認証処理部５２は、操作部３０からの要求に応じて、記憶部５４に記憶された秘密鍵情報１３０を用いた署名処理を行う。認証処理部５２は、認証処理部５２は、例えば、図２に示したＣＰＵ５０１で実行されるプログラム等によって実現される。認証処理部５２は、署名手段の一例である。
【００７０】
記憶・読出部５３は、記憶部５４に各種データを記憶し、記憶部５４から各種データを読み出す機能である。記憶・読出部５３および記憶部５４は、例えば、図３に示したＲＯＭ５０２、ＨＤＤ５０４およびＣＰＵ５０１で実行されるプログラム等により実現される。また、記憶部５４は、サーバ証明書１００、秘密鍵情報１３０および認証情報管理テーブル１５０を記憶している。
【００７１】
生成部５５は、サーバ証明書１００および秘密鍵情報１３０を生成する機能である。生成部５５は、例えば、記憶部５４にサーバ証明書１００および秘密鍵情報１３０が記憶されていない場合、サーバ証明書１００および秘密鍵情報１３０を生成する。生成部５５は、例えば、図３に示したＣＰＵ５０１で実行されるプログラム等により実現される。生成部５５は、生成手段の一例である。
【００７２】
制御部５６は、本体部５０の処理動作を制御する機能である。制御部５６は、例えば、図３に示したＣＰＵ５０１で実行されるプログラム等により実現される。
【００７３】
入出力部５７は、操作部３０との間で各種データのやり取りを行う機能である。入出力部５７は、有線または無線を介して、操作部３０と通信可能に接続されている。入出力部５７は、例えば、操作部３０から送信されたサーバ証明書１００の取得要求を受信する。そして、入出力部５７は、記憶部５４に記憶されたサーバ証明書１００を、操作部３０へ送信する。
【００７４】
また、入出力部５７は、例えば、操作部３０から送信された、署名情報の取得要求を受信する。そして、入出力部５７は、認証処理部５２によって署名された署名情報を、操作部３０へ送信する。入出力部５７は、例えば、図３に示した接続インターフェース（Ｉ／Ｆ）５０８およびＣＰＵ５０１で実行されるプログラム等により実現される。
【００７５】
○サーバ証明書
続いて、記憶部５４に記憶されたデータの詳細について説明する。図６は、第１の実施形態に係るサーバ証明書の一例を示す図である。図６に示すサーバ証明書１００は、サーバ装置（操作部３０）とクライアント端末（通信端末９０）との間で暗号化通信を行うためネゴシエーションに用いる電子証明書である。サーバ証明書１００は、秘密鍵情報１３０とともに、本体部５０によって生成される。なお、本体部５０は、通信ネットワーク５に接続された認証局からサーバ証明書１００および秘密鍵情報１３０を取得する構成にしてもよい。
【００７６】
図６に示すサーバ証明書１００は、発行者、サーバ名、有効期限、公開鍵の情報を含む。発行者は、サーバ証明書１００を発行した認証局を識別するための識別情報を示す。発行者は、例えば、サーバ証明書１００を生成した本体部５０を識別するための識別情報を含む。サーバ名は、認証局により認証されたサーバ装置を識別するための識別情報を示す。サーバ名は、例えば、サーバ装置である操作部３０のドメイン名を含む。サーバ名は、サーバ識別情報の一例である。
【００７７】
有効期限は、サーバ証明書１００の有効期限を示す。公開鍵は、サーバ装置である操作部３０が暗号化通信を行うために使用する公開鍵である。なお、公開鍵は、サーバ装置（操作部３０）がクライアント端末（通信端末９０）へサーバ証明書１００を送信する場合にサーバ証明書１００に設定されるようにしてもよい。また、本体部５０は、この公開鍵に対応する秘密鍵情報１３０を記憶する。
【００７８】
○認証情報管理テーブル
図７は、第１の実施形態に係る認証情報管理テーブルの一例を示す図である。図７に示す認証情報管理テーブル１５０は、サーバ装置（操作部３０）とクライアント端末（通信端末９０）との間で暗号化通信を行うための認証情報を管理するものである。認証情報管理テーブル１５０は、ユーザＩＤ、パスワード、サーバ証明書および秘密鍵情報が関連づけて（紐づけて、対応づけて）記憶している。
【００７９】
ユーザＩＤおよびパスワードは、通信端末９０を使用するユーザを識別するための識別情報である。なお、ユーザＩＤは、ユーザ名等であってもよい。また、ユーザＩＤは、通信端末９０を識別するための端末ＩＤまたは端末名等であってもよい。
【００８０】
サーバ証明書は、例えば、図６に示したサーバ証明書１００を識別するための文字コードである。秘密鍵情報は、サーバ証明書１００に対応する秘密鍵情報１３０を識別するための文字コードである。
【００８１】
サーバ証明書１００と秘密鍵情報１３０は、ユーザごとに独立して設けられている。サーバ装置（操作部３０）とクライアント端末（通信端末９０）は、接続要求を送信したユーザのユーザＩＤに関連づけられたサーバ証明書１００および秘密鍵情報１３０を用いて、暗号化通信の接続を確立するためのネゴシエーションを行う。
【００８２】
●認証方法
続いて、情報処理装置１０における通信端末９０の認証処理について説明する。図８は、第１の実施形態に係る通信システムにおける通信端末の認証処理の一例を示すシーケンス図である。図８は、ＳＳＬクライアントである通信端末９０とＳＳＬサーバである情報処理装置１０との間で行うＳＳＬ通信を行う場合の例である。
【００８３】
ステップＳ１０１において、通信端末９０は、情報処理装置１０の操作部３０へ、接続要求を送信する。接続要求は、ＳＳＬプロトコルの“Client_Hello”に対応するコマンドにおいて送信される。接続要求は、通信端末９０において生成された“Client_ramdom”（乱数データ）および通信端末９０が利用可能な鍵交換方式を示す情報等を含む。そして、操作部３０は、通信端末９０から送信された接続要求を受信する（受信ステップの一例）。
【００８４】
ステップＳ１０２において、情報処理装置１０の操作部３０は、接続要求を受信した場合、暗号化通信に用いる鍵交換方式を選択する（選択ステップの一例）。具体的には、操作部３０の判断部３２は、送受信部３１により接続要求が受信された場合、接続要求に含まれる鍵交換方式を示す情報のうち、秘密鍵情報１３０の送信が不要な鍵交換方式を選択する。ここで、判断部３２は、秘密鍵情報１３０の送信が不要な鍵交換方式の一例として、ＤＨ方式が選択されるものとする。また、判断部３２は、鍵交換方式を選択するとともに、“Sever_ramdom”（乱数データ）を生成する
【００８５】
ステップＳ１０３において、操作部３０の送受信部３１は、判断部３２によって選択された鍵交換方式を示す情報を、接続要求の送信元である通信端末９０へ送信する。鍵交換方式を示す情報は、ＳＳＬプロトコルの“Sever_Hello”に対応するコマンドにおいて送信される。
【００８６】
ステップＳ１０４において、操作部３０の入出力部３８は、本体部５０へ、サーバ証明書１００の取得要求を送信する。本体部５０の入出力部５７は、操作部３０から送信されたサーバ証明書１００の取得要求を受信する。
【００８７】
ステップＳ１０５において、情報処理装置１０の本体部５０は、操作部３０から取得要求を受信した場合、記憶部３４からサーバ証明書１００を読み出す。具体的には、本体部５０の送受信部５１は、記憶・読出部５３へ、サーバ証明書１００の読出要求を出力する。記憶・読出部５３は、出力された読出要求を検知した場合、記憶部５４に記憶されたサーバ証明書１００を読み出す。そして、記憶・読出部５３は、読み出したサーバ証明書１００を、送受信部５１へ出力する。
【００８８】
ステップＳ１０６において、本体部５０の入出力部５７は、読み出したサーバ証明書１００を、操作部３０へ送信する。操作部３０の入出力部３８は、本体部５０から送信されたサーバ証明書１００を受信する。
【００８９】
ステップＳ１０７において、操作部３０の送受信部３１は、本体部５０から取得したサーバ証明書１００を、通信端末９０へ送信する。サーバ証明書１００は、ＳＳＬプロトコルの“Certificate”に対応するコマンドにおいて送信される。なお、ステップＳ１０２〜ステップＳ１０３の処理とステップＳ１０４〜ステップＳ１０７の処理の順序は、前後してもよく、または並行して行われてもよい。
【００９０】
ステップＳ１０８において、操作部３０は、本体部５０へ、署名情報の要求を送信する。具体的には、操作部３０の送受信部３１は、通信端末９０から送信された“Client_ramdom”（乱数データ）と判断部３２により生成された“Sever_ramdom”（乱数データ）を、署名情報の取得要求として、本体部５０へ送信する。ここで、署名情報の取得要求として送信されるデータ（“Client_ramdom”および“Sever_ramdom”）は、平文であるため、盗聴された場合においても暗号化通信には影響のない内容である。
【００９１】
ステップＳ１０９において、本体部５０の認証処理部５２は、送受信部５１によってＤＨパラメータへの署名要求を受信した場合、記憶部５４から秘密鍵情報１３０を読み出す。具体的には、本体部５０の認証処理部５２は、記憶・読出部５３へ、秘密鍵情報１３０の読出要求を出力する。記憶・読出部５３は、出力された読出要求を検知した場合、記憶部５４に記憶された秘密鍵情報１３０を読み出す。そして、記憶・読出部５３は、読み出した秘密鍵情報１３０を、認証処理部５２へ出力する。
【００９２】
ステップＳ１１０において、本体部５０の認証処理部５２は、読み出した秘密鍵情報１３０を用いて、要求されたデータ（“Client_ramdom”および“Sever_ramdom”）の署名処理を実行する。
【００９３】
ステップＳ１１１において、本体部５０の入出力部５７は、認証処理部５２によって署名された署名情報を、操作部３０へ送信する。署名情報は、“Client_ramdom”、“Sever_ramdom”およびこれらの乱数データに対する署名の三つのデータを含む。
【００９４】
ステップＳ１１２において、操作部３０の送受信部３１は、通信端末９０へ署名情報を送信する。署名情報は、ＳＳＬプロトコルの“Sever_Key_Exchange”に対応するコマンドにおいて送信される。そして、通信端末９０は、操作部３０から送信された署名情報を受信する。ここで、署名情報は、平文であるため、盗聴された場合においても暗号化通信には影響のない内容である。なお、ステップＳ１０７の処理とステップＳ１１２の処理の順序は、前後してもよく、または並行して行われてもよい。
【００９５】
ステップＳ１１３において、通信端末９０は、受信したサーバ証明書１００および署名情報を用いて、操作部３０との間でネゴシエーションを行う（通信ステップの一例）。以降のネゴシエーションの処理は、ＳＳＬのプロトコルに従う。ネゴシエーションが成功した通信端末９０と操作部３０は、接続を確立し、暗号化通信を行うことができる。
【００９６】
なお、操作部３０と本体部５０との間のサーバ証明書１００の送受信（ステップＳ１０４〜ステップＳ１０６の処理）は、操作部３０の起動時に行われてもよい。この場合、操作部３０は、接続要求を受信するたびに、サーバ証明書１００の取得要求を送信する場合と比較して、処理を簡素化することができ、パフォーマンスの劣化を低減させることができる。
【００９７】
図９は、第１の実施形態に係る操作部における処理の一例を示すフローチャートである。図９は、ＳＳＬサーバである操作部３０へ、ＳＳＬクライアントである通信端末９０から接続要求が送信され、操作部３０と通信端末９０との間で接続確立のためのネゴシエーションが行われる場合の例である。なお、操作部３０は、本体部５０からサーバ証明書１００を予め取得し、記憶部３４に記憶しているものとする。
【００９８】
ステップＳ２０１において、送受信部３１は、クライアントである通信端末９０から接続要求を受信した場合、処理をステップＳ２０２へ移行させる（受信ステップの一例）。一方で、送受信部３１は、接続要求を受信していない場合、ステップＳ２０１の処理を繰り返す。
【００９９】
ステップＳ２０２において、判断部３２は、接続要求に含まれる鍵交換方式を示す情報のうち、秘密鍵情報１３０の送信が不要な鍵交換方式を選択する（選択ステップの一例）。接続要求は、例えば、秘密鍵情報１３０の送信が必要な鍵交換方式としてＲＳＡ方式、秘密鍵情報１３０の送信が不要な鍵交換方式としてＤＨ方式を示す情報を含む。判断部３２は、例えば、秘密鍵情報１３０の送信が不要な鍵交換方式としてＤＨ方式を選択する。
【０１００】
ステップＳ２０３において、送受信部３１は、接続要求の送信元である通信端末９０へ、判断部３２によって選択された鍵交換方式を示す情報を送信する。具体的には、送受信部３１は、判断部３２によって選択された秘密鍵情報１３０の送信が不要な鍵交換方式（例えば、ＤＨ方式）を示す情報を、通信端末９０へ送信する。
【０１０１】
ステップＳ２０４において、入出力部３８は、署名情報の取得要求を、本体部５０へ送信する。署名情報の取得要求は、通信端末９０によって生成された乱数データと、判断部３２によって生成された乱数データを含む。
【０１０２】
ステップＳ２０５において、入出力部３８は、本体部５０によって署名された署名情報を受信した場合、処理をステップＳ２０７へ移行させる。一方で、入出力部３８は、本体部５０によって署名された署名情報を受信していない場合、ステップＳ２０５の処理を繰り返す。
【０１０３】
ステップＳ２０６において、送受信部３１は、本体部５０から取得したサーバ証明書１００および署名情報を、通信端末９０へ送信する（通信ステップの一例）。その後、通信端末９０と操作部３０は、暗号化通信の接続を確立するためのネゴシエーションを行い、接続が確立した場合、暗号化通信を行うことができる。
【０１０４】
図１０は、第１の実施形態に係る本体部における処理の一例を示すフローチャートである。なお、本体部５０の記憶部５４は、操作部３０と通信端末９０との間の暗号化通信の接続を確立するためのネゴシエーションに用いるサーバ証明書１００および秘密鍵情報１３０を記憶しているものとする。
【０１０５】
ステップＳ３０１において、入出力部５７は、操作部３０からサーバ証明書１００の取得要求を受信した場合、処理をステップＳ３０２へ移行させる。一方で、入出力部５７は、操作部３０からサーバ証明書１００の取得要求を受信していない場合、ステップＳ３０１の処理を繰り返す。ステップＳ３０２において、入出力部５７は、操作部３０へ、記憶部５４に記憶されたサーバ証明書１００を送信する。
【０１０６】
ステップＳ３０３において、入出力部５７は、操作部３０から署名情報の取得要求を受信した場合、処理をステップＳ３０４へ移行させる。一方で、入出力部５７は、署名情報の取得要求を受信していない場合、ステップＳ３０３の処理を繰り返す。ステップＳ３０４において、記憶・読出部５３は、記憶部５４に記憶された秘密鍵情報１３０を読み出す。
【０１０７】
ステップＳ３０５において、認証処理部５２は、読み出された秘密鍵情報１３０を用いて要求されたデータの署名処理を行い、署名情報を作成する。具体的には、認証処理部５２は、送受信部５１によって受信された署名情報の取得要求に含まれる乱数データに、秘密鍵情報１３０を用いて署名処理を行い、署名情報を作成する。署名情報は、受信した乱数データおよび乱数データに対する署名のデータを含む。ステップＳ３０６において、入出力部５７は、認証処理部５２によって作成された署名情報を、操作部３０へ送信する。
【０１０８】
ここで、サーバ証明書１００を発行する認証局としての機能を担う本体部５０において、サーバ証明書１００を生成する処理について説明する。図１１は、第１の実施形態に係る本体部におけるサーバ証明書の生成処理の一例を示すフローチャートである。ステップＳ４０１において、本体部５０の入出力部５７は、操作部３０からサーバ証明書１００の取得要求を受信した場合、処理をステップＳ４０２へ移行させる。一方で、入出力部５７は、操作部３０からサーバ証明書１００の取得要求を受信していない場合、ステップＳ４０１の処理を繰り返す。
【０１０９】
ステップＳ４０２において、本体部５０の記憶・読出部５３は、記憶部５４にサーバ証明書１００が記憶されている場合、処理をステップＳ４０３へ移行させる。ステップＳ４０３において、記憶・読出部５３は、記憶部５４からサーバ証明書１００を読み出す。
【０１１０】
一方で、ステップＳ４０２において、本体部５０の記憶・読出部５３は、記憶部５４にサーバ証明書１００が記憶されていない場合、処理をステップＳ４０４へ移行させる。ステップＳ４０４において、本体部５０の生成部５５は、サーバ証明書１００および秘密鍵情報１３０を生成する。そして、ステップＳ４０５において、本体部５０の記憶・読出部５３は、生成部５５によって生成されたサーバ証明書１００および秘密鍵情報１３０を、記憶部３４に記憶させる。
【０１１１】
ステップＳ４０６において、本体部５０の入出力部５７は、生成部５５によって生成されたサーバ証明書１００、または記憶部５４から読み出されたサーバ証明書１００を、操作部３０へ送信する。
【０１１２】
●第１の実施形態の効果
以上説明したように、第１の実施形態に係る通信システムは、暗号化通信に用いるサーバ証明書１００および秘密鍵情報１３０を記憶する本体部５０と、本体部５０と通信可能な操作部３０とを備えた情報処理装置１０を有し、情報処理装置１０の操作部３０と通信端末９０との間で暗号化通信を行うシステムである。
【０１１３】
第１の実施形態に係る通信システムは、通信端末９０から送信された接続要求を受信した操作部３０が、暗号アルゴリズム（暗号スイート）における鍵交換方式（鍵交換アルゴリズム）として、秘密鍵情報１３０の送信が不要な鍵交換方式を選択する。本体部５０は、操作部３０から送信された乱数データに、秘密鍵情報１３０を用いた署名処理を行い、署名情報を作成する。そして、操作部３０は、本体部５０から送信された署名情報およびサーバ証明書１００を用いて、接続要求を送信した通信端末９０との間でネゴシエーションを行うことで、暗号化通信の接続を確立することができる。
【０１１４】
そのため、第１の実施形態に係る通信システムは、複数の通信経路を経由した暗号化通信を行うシステムにおいて、サーバ装置である操作部３０とクライアント端末である通信端末９０との間の暗号化通信のセキュリティリスクを低減させることができる。
【０１１５】
●第１の実施形態の変形例●
次に、第１の実施形態の変形例に係る通信システムついて説明する。第１の実施形態の変形例は、通信端末９０から送信される接続要求に含まれる鍵交換方式を示す情報に、秘密鍵情報１３０の送信が不要な鍵交換方式が含まれない場合の処理である。
【０１１６】
図１２は、第１の実施形態の変形例２に係る操作部の処理の一例を示すフローチャートである。ステップＳ５０１において、操作部３０の送受信部３１は、クライアントである通信端末９０から接続要求を受信した場合、処理をステップＳ５０２へ移行させる。一方で、送受信部３１は、接続要求を受信していない場合、ステップＳ５０１の処理を繰り返す。
【０１１７】
ステップＳ５０２において、操作部３０の判断部３２は、送受信部３１によって受信された接続要求に含まれる鍵交換方式を示す情報のうち、秘密鍵情報１３０の送信が不要な鍵交換方式（例えば、ＤＨ方式）が選択可能な場合、すなわち通信端末９０が利用可能な鍵交換方式を示す情報に秘密鍵情報１３０の送信が不要な鍵交換方式が含まれる場合、処理をステップＳ５０３へ移行させる。ステップＳ５０３〜ステップＳ５０７までの処理は、図９に示したステップＳ２０２〜ステップＳ２０６までの処理と同様であるため、説明を省略する。
【０１１８】
一方で、ステップＳ５０２において、操作部３０の判断部３２は、送受信部３１によって受信された接続要求に含まれる通信端末９０が利用可能な鍵交換方式を示す情報のうち、秘密鍵情報１３０の送信が不要な鍵交換方式（例えば、ＤＨ方式）が選択できない場合、すなわち通信端末９０が利用可能な鍵交換方式を示す情報に秘密鍵情報１３０の送信が不要な鍵交換方式が含まれない場合、処理をステップＳ５０８へ移行させる。
【０１１９】
ステップＳ５０８において、操作部３０の表示制御部３６は、接続要求の送信元である通信端末９０が、秘密鍵情報１３０の送信が不要な鍵交換方式に適応していないことを示すメッセージ画面を、操作パネル３０５に表示させる。なお、表示制御部３６は、メッセージ画面のみならず、通信端末９０の設定変更の要求を受け付ける受付画面を操作パネル３０５に表示させてもよい。表示制御部３６は、表示制御手段の一例である。
【０１２０】
このように、第１の実施形態の変形例に係る通信システムは、通信端末９０から送信された接続要求に含まれる暗号アルゴリズム（暗号スイート）における鍵交換方式（鍵交換アルゴリズム）のうち、秘密鍵情報１３０の送信が不要な鍵交換方式を選択できない場合、秘密鍵情報１３０の送信が不要な鍵交換方式に適応していない旨を操作部３０に表示させる。そのため、第１の実施形態の変形例に係る通信システムは、通信端末９０が秘密鍵情報１３０の送信が不要な鍵交換方式に適応していない場合に、通信端末９０の設定変更を促すことができる。
【０１２１】
●第２の実施形態●
次に、第２の実施形態に係る通信システムついて説明する。なお、第１の実施形態と同一構成および同一機能は、同一の符号を付して、その説明を省略する。第２の実施形態に係る通信システムは、第１の実施形態に係る情報処理装置１０の操作部３０が、本体部５０から分離された一台のサーバ装置として構成される。
【０１２２】
図１３は、第２の実施形態に係る通信システムのシステム構成の一例を示す図である。図１３に示す通信システムは、情報処理装置２０、サーバ装置４０および通信端末９０によって構成される。情報処理装置２０は、第１の実施形態に係る情報処理装置１０の本体部５０に相当する装置である。サーバ装置４０は、第１の実施形態の情報処理装置１０の操作部３０に相当する装置である。
【０１２３】
サーバ装置４０は、記憶部３４にサーバ証明書１００を記憶することができ、情報処理装置２０と接続されているか否かによって、暗号アルゴリズム（暗号スイート）における鍵交換方式（鍵交換アルゴリズム）を選択する。具体的には、サーバ装置４０は、情報処理装置２０と接続されている場合、鍵交換方式として秘密鍵情報１３０の送信を必要とする鍵交換方式を拒否する（選択しない）。すなわち、第１の実施形態で示した構成と同様の状態である。一方で、サーバ装置４０は、情報処理装置２０と接続されていない場合、鍵交換方式として、秘密鍵情報１３０の送信を必要とする鍵交換方式を拒否しない（選択できる）。
【０１２４】
これによって、第２の実施形態に係る通信システムは、サーバ証明書を記憶する情報処理装置２０（記憶装置）を、サーバ装置４０（ＳＳＬサーバ）から取り外した場合においても、サーバ装置４０と通信端末９０（ＳＳＬクライアント）との間で、暗号化通信（ＳＳＬ通信）を行うことができる。
【０１２５】
図１４は、第２の実施形態に係る通信システムにおける機能構成の一例を示す図である。図１４に示す情報処理装置２０により実現される機能は、図５に示した情報処理装置１０の本体部５０により実現される機能と同様である。また、図１４に示すサーバ装置４０により実現される機能は、図５に示した操作部３０により実現される機能に加え、検出部３９を含む。
【０１２６】
検出部３９は、本体部としての機能を担う情報処理装置２０との接続の有無を検出する機能である。検出部３９は、例えば、図３に示したＣＰＵ３０１で実行されるプログラム等により実現される。検出部３９は、検出手段の一例である。
【０１２７】
判断部３２は、例えば、検出部３９によって、情報処理装置２０の接続が検出されていない場合、秘密鍵情報１３０の送信が必要な鍵交換方式（例えば、ＲＳＡ方式）を選択する。一方で、判断部３２は、例えば、検出部３９によって、情報処理装置２０の接続が検出されている場合、秘密鍵情報１３０の送信が不要な鍵交換方式（例えば、ＤＨ方式）を選択する。
【０１２８】
また、記憶部３４は、サーバ証明書１００ａ、秘密鍵情報１３０ａおよび認証情報管理テーブル１５０ａを記憶している。記憶部３４に記憶されているサーバ証明書１００、秘密鍵情報１３０および認証情報管理テーブル１５０は、それぞれ本体部５０の記憶部５４
に記憶されているサーバ証明書１００、秘密鍵情報１３０および認証情報管理テーブル１５０と同様のものである。
【０１２９】
図１５は、第２の実施形態に係るサーバ装置の処理の一例を示すフローチャートである。
ステップＳ６０１において、サーバ装置４０の送受信部３１は、通信端末９０から接続要求を受信した場合、処理をステップＳ６０２へ移行させる。一方で、送受信部３１は、通信端末９０から接続要求を受信していない場合、ステップＳ６０１の処理を繰り返す。
【０１３０】
ステップＳ６０２において、サーバ装置４０の検出部３９は、入出力部３８によって情報処理装置２０が接続されていることを検出した場合、処理をステップＳ６０３へ移行させる。ステップＳ６０３において、サーバ装置４０の判断部３２は、秘密鍵情報１３０の送信が不要な鍵交換方式（例えば、ＤＨ方式）を選択する。
【０１３１】
一方で、ステップＳ６０２において、サーバ装置４０の検出部３９は、入出力部３８によって情報処理装置２０が接続されていることを検出できない場合、処理をステップＳ６０４へ移行させる。ステップＳ６０４において、サーバ装置４０の判断部３２は、秘密鍵情報１３０の送信が必要な鍵交換方式（例えば、ＲＳＡ方式）を選択する。
【０１３２】
ステップＳ６０５において、送受信部３１は、判断部３２によって選択された鍵交換方式を示す情報を、通信端末９０へ送信する。
【０１３３】
●第２の実施形態の効果
以上説明したように、第２の実施形態に係る通信システムは、サーバ装置４０が情報処理装置２０と接続されていない場合、秘密鍵情報１３０の送信が必要な鍵交換方式を選択し、サーバ装置４０が情報処理装置２０の接続されている場合、秘密鍵情報１３０の送信が不要な鍵交換方式を選択する。そのため、第２の実施形態に係る通信システムは、サーバ装置４０が、サーバ証明書１００を記憶する情報処理装置２０（記憶装置）に接続されていない場合、すなわちサーバ装置４０を情報処理装置２０から取り外した場合であっても、セキュリティを高めた暗号化通信を行うことができる。
【０１３４】
●まとめ●
以上説明したように、本発明の一実施形態に係る通信システムは、暗号化通信に用いるサーバ証明書１００（サーバ識別情報の一例）および秘密鍵情報１３０を記憶する記憶装置（本体部５０、情報処理装置２０）と、記憶装置と通信可能なサーバ装置（操作部３０、サーバ装置４０）と、を備える通信システムである。また、本発明の一実施形態に係る通信システムは、通信端末９０（クライアント端末の一例）から暗号化通信の接続要求を受信し、受信した接続要求に含まれる鍵交換方式を示す情報のうち、秘密鍵情報１３０の送信が不要な鍵交換方式を選択する。そして、秘密鍵情報１３０を用いて署名された署名情報に基づいて、通信端末９０と暗号化通信を行う。
【０１３５】
そのため、本発明の一実施形態に係る通信システムは、秘匿性の高い秘密鍵情報１３０を通信経路に送信することなく、通信端末９０との暗号化通信を行うことができるので、複数の通信経路を経由した暗号化通信を行うシステムにおいて、サーバ装置と通信端末９０との間の暗号化通信のセキュリティを高めることができる。
【０１３６】
また、本発明の一実施形態に係る通信システムは、サーバ装置が（操作部３０、サーバ装置４０）、記憶装置（本体部５０、情報処理装置２０）へ、サーバ証明書１００（サーバ識別情報の一例）の取得要求を送信する。また、本発明の一実施形態に係る通信システムは、サーバ装置（操作部３０、サーバ装置４０）が、記憶装置（本体部５０、情報処理装置２０）へ、選択された鍵交換方式に基づく署名情報の取得要求を送信する。そして、本発明の一実施形態に係る通信システムは、取得したサーバ証明書１００および署名情報に基づいて、通信端末９０（クライアント端末の一例）と暗号化通信を行う。
【０１３７】
そのため、本発明の一実施形態に係る通信システムは、サーバ証明書１００をサーバ装置と記憶装置との間で共用する場合に、サーバ証明書１００および秘密鍵情報１３０を、通信経路を通じて通信する必要がないので、より安全な暗号化通信を運用することができる。
【０１３８】
さらに、本発明の一実施形態に係る通信システムは、サーバ装置（操作部３０、サーバ装置４０）が、当該サーバ装置の起動時に、記憶装置（本体部５０、情報処理装置２０）へサーバ証明書１００（サーバ識別情報の一例）の取得要求を送信する。そのため、本発明の一実施形態に係る通信システムは、サーバ装置が通信端末９０（クライアント端末の一例）から接続要求を受信するたびに、サーバ証明書１００の取得要求を記憶装置へ送信する場合と比較して、処理を簡素化することができ、サーバ装置のパフォーマンスへの影響を低減させることができる。
【０１３９】
また、本発明の一実施形態に係る通信システムは、記憶装置（本体部５０、情報処理装置２０）が、署名情報の取得要求を受信した場合、受信したデータに、秘密鍵情報１３０を用いた署名処理を行う。そして、本発明の一実施形態に係る通信システムは、サーバ装置（操作部３０、サーバ装置４０）が、署名された署名情報を記憶装置から取得する。そのため、本発明の一実施形態に係る通信システムは、サーバ証明書１００をサーバ装置と記憶装置との間で共用する場合に、サーバ証明書１００および秘密鍵情報１３０を、通信経路を通じて通信する必要がないので、より安全な暗号化通信を運用することができる。
【０１４０】
さらに、本発明の一実施形態に係る通信システムは、記憶装置（本体部５０、情報処理装置２０）が、サーバ証明書１００（サーバ識別情報の一例）の取得要求を受信した場合、サーバ証明書１００および秘密鍵情報１３０を生成する。そのため、本発明の一実施形態に係る通信システムは、記憶装置にサーバ証明書１００が記憶されていない場合においても、自らサーバ証明書１００を生成し、生成したサーバ証明書１００をサーバ装置に提供することができる。
【０１４１】
また、本発明の一実施形態に係る通信システムは、サーバ装置４０が、記憶装置（情報処理装置２０）との接続の有無を検出する。そして、本発明の一実施形態に係る通信システムは、サーバ装置４０が、記憶装置との接続が検出されていない場合、秘密鍵情報１３０の送信が必要な鍵交換方式を選択し、記憶装置との接続が検知されている場合、秘密鍵情報１３０の送信が不要な鍵交換方式を選択する。そのため、本発明の一実施形態に係る通信システムは、サーバ装置を記憶装置から取り外した場合においても、サーバ装置４０と通信端末９０（クライアント端末の一例）との間で、暗号化通信を行うことができる。
【０１４２】
さらに、本発明の一実施形態に係る通信システムは、サーバ装置（操作部３０、サーバ装置４０）が、受信した接続要求に、秘密鍵情報１３０の送信が不要な鍵交換方式を示す情報が含まれていない場合、その旨を示す表示画面を表示させる。そのため、本発明の一実施形態に係る通信システムは、通信端末９０（クライアント端末の一例）が秘密鍵情報１３０の送信が不要な鍵交換方式に適応していない場合に、通信端末９０の設定変更を促すことができる。
【０１４３】
また、本発明の一実施形態に係る通信方法は、暗号化通信に用いるサーバ証明書１００（サーバ識別情報の一例）および秘密鍵情報１３０を記憶する記憶装置（本体部５０、情報処理装置２０）と、記憶装置と通信可能なサーバ装置（操作部３０、サーバ装置４０）と、を備える通信システムが実行する通信方法である。また、本発明の一実施形態に係る通信方法は、通信端末９０（クライアント端末の一例）から暗号化通信の接続要求を受信する受信ステップと、接続要求に含まれる鍵交換方式を示す情報のうち、秘密鍵情報１３０の送信が不要な鍵交換方式を選択する選択ステップと、秘密鍵情報１３０を用いて署名された署名情報に基づいて、通信端末９０と暗号化通信を行う通信ステップと、を実行する。
【０１４４】
そのため、本発明の一実施形態に係る通信方法は、秘匿性の高い秘密鍵情報１３０を通信経路に送信することなく、通信端末９０との暗号化通信を行うことができるので、複数の通信経路を経由した暗号化通信を行うシステムにおいて、サーバ装置と通信端末９０との間の暗号化通信のセキュリティを高めることができる。
【０１４５】
●補足●
なお、各実施形態の機能は、アセンブラ、Ｃ、Ｃ＋＋、Ｃ＃、Ｊａｖａ（登録商標）等のレガシープログラミング言語やオブジェクト指向プログラミング言語等で記述されたコンピュータ実行可能なプログラムにより実現でき、各実施形態の機能を実行するためのプログラムは、電気通信回線を通じて頒布することができる。
【０１４６】
また、各実施形態の機能を実行するためのプログラムは、ＲＯＭ、ＥＥＰＲＯＭ（Electrically Erasable Programmable Read-Only Memory）、ＥＰＲＯＭ（Erasable Programmable Read-Only Memory）、フラッシュメモリ、フレキシブルディスク、ＣＤ（Compact Disc）−ＲＯＭ、ＣＤ−ＲＷ（Re-Writable）、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ブルーレイディスク、ＳＤカード、ＭＯ（Magneto-Optical disc）等の装置可読な記録媒体に格納して頒布することもできる。
【０１４７】
さらに、各実施形態の機能の一部または全部は、例えばＦＰＧＡ（Field Programmable Gate Array）等のプログラマブル・デバイス（PD）上に実装することができ、またはＡＳＩＣとして実装することができ、各実施形態の機能をＰＤ上に実現するためにＰＤにダウンロードする回路構成データ（ビットストリームデータ）、回路構成データを生成するためのＨＤＬ（Hardware Description Language）、ＶＨＤＬ（Very High Speed Integrated Circuits Hardware Description Language）、Ｖｅｒｉｌｏｇ−ＨＤＬ等により記述されたデータとして記録媒体により配布することができる。
【０１４８】
これまで本発明の一実施形態に係る通信システム、通信方法およびプログラムについて説明してきたが、本発明は、上述した実施形態に限定されるものではなく、他の実施形態の追加、変更または削除等、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【符号の説明】
【０１４９】
５    通信ネットワーク
１０    情報処理装置
２０    情報処理装置（記憶装置の一例）
３０    操作部（サーバ装置の一例）
３１    送受信部（受信手段の一例、通信手段の一例）
３２    判断部（選択手段の一例）
３６    表示制御部（表示制御手段の一例）
３８    入出力部（第１の送信手段の一例、第２の送信手段の一例）
３９    検出部（検出手段の一例）
４０    サーバ装置
５０    本体部（記憶装置の一例）
５２    認証処理部（署名手段の一例）
５５    生成部（生成手段の一例）
９０    通信端末（クライアント端末の一例）
【先行技術文献】
【特許文献】
【０１５０】
【特許文献１】特開２０１５−１１５８９３号公報
【図１】
2019165404.tif 000003
【図２】
2019165404.tif 000004
【図３】
2019165404.tif 000005
【図４】
2019165404.tif 000006
【図５】
2019165404.tif 000007
【図６】
2019165404.tif 000008
【図７】
2019165404.tif 000009
【図８】
2019165404.tif 000010
【図９】
2019165404.tif 000011
【図１０】
2019165404.tif 000012
【図１１】
2019165404.tif 000013
【図１２】
2019165404.tif 000014
【図１３】
2019165404.tif 000015
【図１４】
2019165404.tif 000016
【図１５】
2019165404.tif 000017