(57)【要約】【課題】  セキュア印刷のようなジョブの停止と再開にユーザ認証が関わるような場面におけるセキュリティを確保できるようにする。【解決手段】  端末装置上で動作する複数のサービスプロセス１０２、１０３と、前記端末装置上でユーザの認証処理を行うユーザ認証プロセス１０４との間において、それぞれがセキュアな通信を行うために共有する秘密鍵を、認証サーバ端末装置１０１と前記ユーザ認証プロセス１０４とでそれぞれ別々に行い、前記認証サーバ端末装置１０１が生成した秘密鍵は前記ユーザ認証プロセス１０４がこれを知り得ない形態に別途暗号化しておくようにして、各アプリケーションのプロセス間通信で送受信される情報のセキュリティを確実に確保できるようにする。【選択図】  図１
2005217905.tif 000002
【特許請求の範囲】
【請求項１】
他の端末装置に対してサービスを提供する少なくとも１つのサービスプロセスとユーザの認証処理を行うユーザ認証プロセスとが動作するサーバ端末装置と、前記サービスプロセスの暗号鍵があらかじめ登録された認証サーバ端末装置とを有する情報システムにおいて行われる通信方法であって、
前記サービスプロセスへ前記ユーザ認証プロセスからセキュアな通信を行うために使用する秘密鍵を、前記認証サーバ端末装置が前記ユーザ認証プロセスとは独立に生成し、前記認証サーバ端末装置が、生成した秘密鍵を前記サービスプロセスの暗号鍵により暗号化して当該サービスプロセスへ送信するようにしたことを特徴とするセキュア通信方法。
【請求項２】
前記ユーザ認証プロセスと前記サービスプロセスとがセキュアな通信を行うための秘密鍵を、ユーザパスワードと前記認証サーバ端末装置が生成する乱数値とを利用して生成することを特徴とする請求項１に記載のセキュア通信方法。
【請求項３】
前記認証サーバ端末装置にあらかじめ登録するサービスプロセスの暗号鍵として、公開鍵暗号方式に基づいて生成したサービスプロセスの公開鍵を用いることを特徴とする請求項１に記載のセキュア通信方法。
【請求項４】
前記認証サーバ端末装置にあらかじめ登録するサービスプロセスの暗号鍵の代わりに、デジタル証明書を使用することを特徴とする請求項１に記載のセキュア通信方法。
【請求項５】
少なくとも１つのサービスプロセスと、ユーザの認証処理を行うユーザ認証プロセスとを有する端末装置に対して認証サービス装置が認証サービスを行うシステムにおけるセキュア通信方法であって、前記認証サービスにおいて、
ユーザの要求に応じてあらかじめ登録してあるユーザパスワードと乱数値に基づいて秘密鍵を生成する秘密鍵生成工程と、
前記秘密鍵生成工程により生成された秘密鍵とユーザ固有のアクセス制御情報とに基づいてユーザ固有のアクセスチケットを生成するアクセスチケット生成工程と、
前記アクセスチケット生成工程により生成されたアクセスチケットを前記サービスプロセスの暗号鍵、もしくはデジタル証明書を用いて暗号化する暗号化工程と、
前記暗号化工程により暗号化されたアクセスチケットと、生成した乱数値とを前記ユーザ認証プロセスに送る送信工程とを有することを特徴とするセキュア通信方法。
【請求項６】
前記ユーザ認証プロセスにおいて、前記認証サービスより乱数を受け取って、ユーザが入力したユーザパスワードと当該乱数値から秘密鍵を生成する秘密鍵生成工程と、
前記ユーザ認証プロセスにおいて、前記秘密鍵生成工程により生成された秘密鍵に基づいて秘密情報を暗号化する暗号化工程と、
前記ユーザ認証プロセスにおいて、前記暗号化工程により暗号化された秘密情報に前記認証サービスより受信した暗号化されたアクセスチケットを付加して該当するサービスプロセスに送る送信工程とを有することを特徴とする請求項５に記載のセキュア通信方法。
【請求項７】
前記サービスプロセスにおいて、前記ユーザ認証プロセスから受け取った暗号情報から暗号化されたアクセスチケットを抽出するアクセスチケット抽出工程と、
前記サービスプロセスにおいて、当該サービスプロセス自身の暗号鍵でアクセスチケットを復号し、秘密鍵及びユーザ固有のアクセス制御情報を取得する情報取得工程と、
前記サービスプロセスにおいて、前記情報取得工程で取得した秘密鍵を用いて、暗号化された秘密情報を復号する秘密情報復号工程と、
前記サービスプロセスにおいて、前記秘密情報復号工程により行われた復号の成否を判断材料として、前記ユーザ認証プロセスへのユーザ認証を行うユーザ認証工程とを有することを特徴とする請求項６に記載のセキュア通信方法。
【請求項８】
前記認証サービス装置にあらかじめ登録するサービスプロセスの暗号鍵として、公開鍵暗号方式に基づいて生成したサービスプロセスの公開鍵を用いることを特徴とする請求項５に記載のセキュア通信方法。
【請求項９】
少なくとも１つのサービスプロセスと、ユーザの認証処理を行うユーザ認証プロセスとを有する端末装置に対して認証サービスを行う認証サービス装置であって、
認証サービスにおいて、ユーザの要求に応じてあらかじめ登録してあるユーザパスワードと乱数値に基づいて秘密鍵を生成する秘密鍵生成手段と、
前記秘密鍵生成手段により生成された秘密鍵とユーザ固有のアクセス制御情報とに基づいてユーザ固有のアクセスチケットを生成するアクセスチケット生成手段と、
前記アクセスチケット生成手段により生成されたアクセスチケットを前記サービスプロセスの暗号鍵、もしくはデジタル証明書を用いて暗号化する暗号化手段と、
前記暗号化手段により暗号化されたアクセスチケットと、生成した乱数値とを前記ユーザ認証プロセスに送る送信手段とを有することを特徴とする認証サービス装置。
【請求項１０】
少なくとも１つのサービスプロセスと、ユーザの認証処理を行うユーザ認証プロセスとを有する端末装置であって、
前記ユーザ認証プロセスにおいて、認証サービスより乱数を受け取って、ユーザが入力したユーザパスワードと当該乱数値から秘密鍵を生成する秘密鍵生成手段と、
前記ユーザ認証プロセスにおいて、前記秘密鍵生成手段により生成された秘密鍵に基づいて秘密情報を暗号化する暗号化手段と、
前記ユーザ認証プロセスにおいて、前記暗号化手段により暗号化された秘密情報に前記認証サービスより受信した暗号化されたアクセスチケットを付加して該当するサービスプロセスに送る送信手段とを有することを特徴とする端末装置。
【請求項１１】
前記サービスプロセスにおいて、前記ユーザ認証プロセスから受け取った暗号情報からアクセスチケットを抽出するアクセスチケット抽出手段と、
前記サービスプロセスにおいて、当該サービスプロセス自身の暗号鍵でアクセスチケットを復号し、秘密鍵及びユーザ固有のアクセス制御情報を取得する情報取得手段と、
前記サービスプロセスにおいて、前記秘密鍵を用いて暗号化された秘密情報を復号する秘密情報復号手段と、
前記サービスプロセスにおいて、前記秘密情報復号手段により行われた復号の成否を判断材料として、前記ユーザ認証プロセスへのユーザ認証を行うユーザ認証手段とを有することを特徴とする請求項１０に記載の端末装置。
【請求項１２】
前記サービスプロセスにおいて、前記ユーザ認証手段がユーザ認証に成功した場合に、前記秘密情報復号手段により復号された秘密情報に基づいてサービスを行うことを特徴とする請求項１０に記載の端末装置。
【請求項１３】
クライアント端末から受け取った印刷ジョブデータの処理を一旦停止し、前記ユーザ認証プロセスからのセキュアな処理続行要求を受け取った後、印刷ジョブの所定の処理を再開するようにするサービスプロセスを有することを特徴とする請求項１０に記載の端末装置。
【請求項１４】
少なくとも１つのサービスプロセスと、ユーザの認証処理を行うユーザ認証プロセスとを有する端末装置に対して認証サービスを行う認証サービス装置におけるセキュア通信方法をコンピュータに実行させるプログラムであって、
ユーザの要求に応じてあらかじめ登録してあるユーザパスワードと乱数値に基づいて秘密鍵を生成する秘密鍵生成工程と、
前記秘密鍵生成工程により生成された秘密鍵とユーザ固有のアクセス制御情報とに基づいてユーザ固有のアクセスチケットを生成するアクセスチケット生成工程と、
前記アクセスチケット生成工程により生成されたアクセスチケットを前記サービスプロセスの暗号鍵、もしくはデジタル証明書を用いて暗号化する暗号化工程と、
前記暗号化工程により暗号化されたアクセスチケットと、生成した乱数値とを前記ユーザ認証プロセスに送る送信工程とをコンピュータに実行させることを特徴とするコンピュータプログラム。
【請求項１５】
少なくとも１つのサービスプロセスと、ユーザの認証処理を行うユーザ認証プロセスとを有する端末装置におけるセキュア通信方法をコンピュータに実行させるプログラムであって、
前記ユーザ認証プロセスにおいて、認証サービスより乱数を受け取って、ユーザが入力したユーザパスワードと当該乱数値から秘密鍵を生成する秘密鍵生成工程と、
前記ユーザ認証プロセスにおいて、前記秘密鍵生成工程により生成された秘密鍵に基づいて秘密情報を暗号化する暗号化工程と、
前記ユーザ認証プロセスにおいて、前記暗号化工程により暗号化された秘密情報に前記認証サービスより受信した暗号化されたアクセスチケットを付加して該当するサービスプロセスに送る送信工程とを有することを特徴とするコンピュータプログラム。
【請求項１６】
請求項１４または１５に記載のコンピュータプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はセキュア通信方法、端末装置、認証サービス装置、コンピュータプログラム及びコンピュータ読み取り可能な記録媒体に関し、特に、情報の暗号化通信に関するものであり、詳しくはＯＳに依存しない共通のプラットフォーム環境で動作するプロセス間の情報通信のセキュリティを確保するための方法に関するものである。さらに詳しくは、デジタル複合機（ＭＦＰ）のセキュア印刷機能におけるサービスプロセス間における認証と通信情報の機密保護、並びに改ざん防止を行うために用いて好適な技術に関するものである。
【背景技術】
【０００２】
近年、コンピュータ通信技術が進展するに伴い、様々なレベルの機密情報が情報通信ネットワークを介して送られるようになってきている。例えば、官公庁においては住民票情報や登記簿情報などが挙げられるし、企業においても様々な営業上の機密情報が電子化され、コンピュータネットワークを利用して情報が共有されている。このような背景から、ネットワーク上を流れる電子情報の機密を保持することが極めて重要な課題として挙げられている。
【０００３】
また、機密を保持することのほかにも、必要な機密情報が必要に応じて利用できなければ情報としての価値が損なわれたことになるので、例えば、情報の改ざんや各種攻撃によるデータの破壊などといった種類の危険に対しても、妥当な回避手段を適用しなければならない。
【０００４】
これらの目的を達成するために、従来、クライアント−サーバシステムを構成するコンピュータ同士の情報通信において、ＳＳＬ（Ｓｅｃｕｒｅ  Ｓｏｃｋｅｔ  Ｌａｙｅｒ）やＴＬＳ（Ｔｒａｎｓｐｏｒｔ  Ｌａｙｅｒ  Ｓｅｃｕｒｉｔｙ）などといった暗号化通信方式が考案され実用化されている。
【０００５】
また、これらの標準技術のほかに、例えば、特許文献１に開示されるような端末管理方式を応用した利用者認証であるとか、あるいはＫｅｒｂｅｒｏｓ方式に見られるごとく利用者認証と通信路上の暗号化通信を実現するための暗号鍵交換機能を併せ持つ仕組みなどが考案され実用化されるケースがある。
【０００６】
さらに、前記Ｋｅｒｂｅｒｏｓ方式がクライアント−サーバ間の暗号化通信に使用される秘密鍵（Ｊk）を認証サーバ側が生成するのに対し、ユーザ認証を経たあとクライアント側が暗号化通信のための秘密鍵（Ｊk）を生成するなどの方式もある。
【０００７】
一方、デジタル複合機（ＭＦＰ）などに代表されるように、オフィス機器は一つの端末上に複数の機能、例えば、スキャナ、ＦＡＸ、プリンタ、ストレージなどの機能が搭載され、それぞれが互いに協調動作してコピー機能を実現したりであるとか、単独で機能するといった形態になっている。デジタル複合機はシステムとして見れば、いわばパソコン（ＰＣ）上にインストールされた複数のサービスアプリケーションが互いに協調して動作し、ここにおいてプロセス間で情報通信が行われ、何らかの情報、たとえば認証情報が送受信される場合がある。
【０００８】
このように、クライアント−サーバシステムに見られる端末同士の情報通信とは異なったレベルで、一つの端末上で複数のサービスアプリケーションプロセスが動作し、これらプロセス間で行われる情報通信においても機密情報の送受信があると考えることができる。
【０００９】
従来、クライアント−サーバシステムにおいては、上述したような情報の漏洩や改ざんなどのようなセキュリティの問題について、多くの解決策が考案されてきている。これに対し、サービスプロセス間で行われる情報通信は、これまでＯＳの問題として取り扱われていたということもあって、そのＯＳの範囲内でしかセキュリティが考慮されていないといった問題がある。
【００１０】
しかしながら、今日、プラットフォームの共通化を目的として、ＪＡＶＡ（Ｒ）をはじめとする多くの技術が開発されるに至り、ＯＳの範囲内という限定的な条件でのセキュリティでは必ずしも今日のセキュリティに対する要求を十分満足できないようになってきている。
【００１１】
すなわち、ユーザはＯＳに依存しないアプリケーションを簡単に作成し、共通プラットフォームに簡単にインストールできるので、このようにして設置されたサービスプロセスが、今日の機密性の高い情報を簡単に漏洩してしまうといったことが、技術的には簡単にできてしまうのである。
【００１２】
共通のプラットフォームにおける複数サービスプロセス間通信の脆弱性問題は、上記ＪＡＶＡ（Ｒ）に限らず、Ｗｅｂ  Ｓｅｒｖｉｃｅのごとく国際標準として策定された情報通信仕様を複数のサービスプロセスに適用する場合においても同様に考えることができ、これを解決することが急務となっている。特に、情報通信方式がＯＳなどに依存しない標準的なレベルで行われる場合には、従来、ＯＳが持っていたセキュリティ機能を適用することで解決できた上記諸問題が、簡単には解決できなくなってきている。
【００１３】
例えば、ユーザがクライアント端末から印刷を指定してデジタル複合機（ＭＦＰ）に印刷ジョブを送信した際に、デジタル複合機（ＭＦＰ）はすぐに印刷を実行しないで、改めてデジタル複合機（ＭＦＰ）上でのユーザ認証を求めてからジョブの処理を再開するといったセキュア印刷を考える。
【００１４】
このような場合、前記デジタル複合機（ＭＦＰ）上には、セキュアに印刷ジョブを受け取ってこれをデジタル複合機（ＭＦＰ）内部の記憶領域に格納するというジョブ管理プロセスと、これとは別にデジタル複合機（ＭＦＰ）上でユーザ認証を行って、その結果に応じてジョブの処理を再開指示するという、ユーザ認証プロセスとが存在する。
【００１５】
したがって、ユーザがクライアント端末から印刷を指定してデジタル複合機（ＭＦＰ）に印刷ジョブを送信した場合には、前記クライアント端末とデジタル複合機（ＭＦＰ）との間における印刷ジョブの機密確保がなされることはもちろんであるが、さらにデジタル複合機（ＭＦＰ）上で行われるユーザ認証プロセスとこれに基づいてジョブ管理プロセスが印刷処理を再開するための処理再開情報といったプロセス間の情報伝達も、クライアント−サーバ間の通信と同様にセキュアに行われる必要があるのである。
【００１６】
【特許文献１】特公平６−５４４８５号公報
【発明の開示】
【発明が解決しようとする課題】
【００１７】
以上説明したように、従来のＯＳ依存のセキュリティ機能では、ＯＳに依存しない共通のプラットフォーム環境で動作する複数のサービスアプリケーションにおいて、各アプリケーションのプロセス間通信で送受信される情報のセキュリティを確保することが難しいといった問題があった。
【００１８】
また、動的なリンクによって後から自由にサービスプロセスを追加することが可能な、複数のサービスプロセスが動作可能なデジタル複合機（ＭＦＰ）においてセキュア印刷機能を実現する場合においても、一時停止している印刷ジョブの処理再開などに関する要求を、不正なサービスアプリが成りすまして実施してしまうといったセキュリティ上の問題を防ぐことが困難であった。
【００１９】
本発明は、このようなプロセス間の情報通信、あるいは複数アプリケーションの協調動作といった場面において考えられるセキュリティ上の課題に着目してなされたものであって、セキュア印刷のようなジョブの停止と再開にユーザ認証が関わるような場面におけるセキュリティを確保できるようにすることを目的とする。
【課題を解決するための手段】
【００２０】
本発明のセキュア通信方法は、他の端末装置に対してサービスを提供する少なくとも１つのサービスプロセスとユーザの認証処理を行うユーザ認証プロセスとが動作するサーバ端末装置と、前記サービスプロセスの暗号鍵があらかじめ登録された認証サーバ端末装置とを有する情報システムにおいて行われる通信方法であって、前記サービスプロセスへ前記ユーザ認証プロセスからセキュアな通信を行うために使用する秘密鍵を、前記認証サーバ端末装置が前記ユーザ認証プロセスとは独立に生成し、前記認証サーバ端末装置が、生成した秘密鍵を前記サービスプロセスの暗号鍵により暗号化して当該サービスプロセスへ送信するようにしたことを特徴としている。
また、本発明のその他の特徴とするところは、少なくとも１つのサービスプロセスと、ユーザの認証処理を行うユーザ認証プロセスとを有する端末装置に対して認証サービス装置が認証サービスを行うシステムにおけるセキュア通信方法であって、前記認証サービスにおいて、ユーザの要求に応じてあらかじめ登録してあるユーザパスワードと乱数値に基づいて秘密鍵を生成する秘密鍵生成工程と、前記秘密鍵生成工程により生成された秘密鍵とユーザ固有のアクセス制御情報とに基づいてユーザ固有のアクセスチケットを生成するアクセスチケット生成工程と、前記アクセスチケット生成工程により生成されたアクセスチケットを前記サービスプロセスの暗号鍵、もしくはデジタル証明書を用いて暗号化する暗号化工程と、前記暗号化工程により暗号化されたアクセスチケットと、生成した乱数値とを前記ユーザ認証プロセスに送る送信工程とを有することを特徴としている。
【００２１】
本発明の認証サービス装置は、少なくとも１つのサービスプロセスと、ユーザの認証処理を行うユーザ認証プロセスとを有する端末装置に対して認証サービスを行う認証サービス装置であって、認証サービスにおいて、ユーザの要求に応じてあらかじめ登録してあるユーザパスワードと乱数値に基づいて秘密鍵を生成する秘密鍵生成手段と、前記秘密鍵生成手段により生成された秘密鍵とユーザ固有のアクセス制御情報とに基づいてユーザ固有のアクセスチケットを生成するアクセスチケット生成手段と、前記アクセスチケット生成手段により生成されたアクセスチケットを前記サービスプロセスの暗号鍵、もしくはデジタル証明書を用いて暗号化する暗号化手段と、前記暗号化手段により暗号化されたアクセスチケットと、生成した乱数値とを前記ユーザ認証プロセスに送る送信手段とを有することを特徴としている。
【００２２】
本発明の端末装置は、少なくとも１つのサービスプロセスと、ユーザの認証処理を行うユーザ認証プロセスとを有する端末装置であって、前記ユーザ認証プロセスにおいて、認証サービスより乱数を受け取って、ユーザが入力したユーザパスワードと当該乱数値から秘密鍵を生成する秘密鍵生成手段と、前記ユーザ認証プロセスにおいて、前記秘密鍵生成手段により生成された秘密鍵に基づいて秘密情報を暗号化する暗号化手段と、前記ユーザ認証プロセスにおいて、前記暗号化手段により暗号化された秘密情報に前記認証サービスより受信した暗号化されたアクセスチケットを付加して該当するサービスプロセスに送る送信手段とを有することを特徴としている。
【００２３】
本発明のコンピュータプログラムは、少なくとも１つのサービスプロセスと、ユーザの認証処理を行うユーザ認証プロセスとを有する端末装置に対して認証サービスを行う認証サービス装置におけるセキュア通信方法をコンピュータに実行させるプログラムであって、ユーザの要求に応じてあらかじめ登録してあるユーザパスワードと乱数値に基づいて秘密鍵を生成する秘密鍵生成工程と、前記秘密鍵生成工程により生成された秘密鍵とユーザ固有のアクセス制御情報とに基づいてユーザ固有のアクセスチケットを生成するアクセスチケット生成工程と、前記アクセスチケット生成工程により生成されたアクセスチケットを前記サービスプロセスの暗号鍵、もしくはデジタル証明書を用いて暗号化する暗号化工程と、前記暗号化工程により暗号化されたアクセスチケットと、生成した乱数値とを前記ユーザ認証プロセスに送る送信工程とをコンピュータに実行させることを特徴としている。
【発明の効果】
【００２４】
本発明によれば、ＯＳに依存しない共通のプラットフォーム環境で動作する複数のサービスアプリケーションにおいて、各アプリケーションのプロセス間通信で送受信される情報のセキュリティを確実に確保することができる。
【００２５】
また、本発明の他の特徴によれば、動的なリンクによって後から自由にサービスプロセスを追加することが可能な、複数のサービスプロセスが動作可能なデジタル複合機（ＭＦＰ）においてセキュア印刷機能を実現する場合等において、一時停止している印刷ジョブの処理再開などに関する要求を、不正なサービスアプリが成りすまして実施してしまうといったセキュリティ上の問題を確実に防ぐことができる。
【発明を実施するための最良の形態】
【００２６】
以下、本発明のセキュア通信方法、端末装置、コンピュータプログラム及びコンピュータ読み取り可能な記録媒体の実施の形態について図面を参照しながら説明する。
先ず、本実施の形態のプロセス間セキュア通信システムが動作する環境の一例を、図６を参照しながら説明する。
図６は、本発明を実行する動作環境の一例を表した図である。
図６において、１はネットワークである。ネットワーク１の物理層としては、Ethernet（Ｒ）やLocal Talk（Ｒ）などがあるが、実施の形態ではEthernet（Ｒ）を前提にして説明する。
【００２７】
また、本実施の形態における「ネットワーク」という言葉は、物理的なケーブルと、ケーブル上を通る電気的な信号と、電気的な信号の組み合わせで実現される情報交換を実現するもの（プロトコル）の内の一つもしくは複数を指し、通常は、これらの総称を指している。
【００２８】
図６において、１０１は認証サーバ端末であり、プリンタ装置６、ネットワークスキャナ装置７及びデジタル複合機８、９に対する認証を行うものである。１０５及び１０６はクライアント端末であり、ネットワーク１に接続された一般ユーザが使用するパーソナルコンピュータである（図示では２台のみを示しているが、何台あっても構わない）。プリンタ６及びネットワークスキャナ装置７は、ネットワーク１に接続され、クライアント端末１０５及び１０６からの印刷命令を受け付けたときに、命令に従い印刷処理を行う。
【００２９】
デジタル複合機８及び９は、画像スキャナ機能、プリンタ機能、ファクシミリ機能を備え、一つまたは複数の機能を組み合わせることにより、複写機、プリンタ、スキャナ、ファクシミリとして利用可能である。
【００３０】
次に、各端末装置を構成可能なコンピュータシステムの構成例を、図７を用いて説明する。
図７において、１２００はコンピュータＰＣである。ＰＣ１２００は、ＣＰＵ１２０１を備え、ＲＯＭ１２０２またはハードディスク（ＨＤ）１２１１に記憶された、あるいはフレキシブルディスクドライブ（ＦＤ）１２１２より供給されるデバイス制御ソフトウェアを実行し、システムバス１２０４に接続される各デバイスを総括的に制御する。
【００３１】
前記ＰＣ１２００のＣＰＵ１２０１，ＲＯＭ１２０２またはハードディスク（ＨＤ）１２１１に記憶されたプログラムにより、本実施の形態の各機能手段が構成される。
【００３２】
１２０３はＲＡＭで、ＣＰＵ１２０１の主メモリ、ワークエリア等として機能する。１２０５はキーボードコントローラ（ＫＢＣ）であり、キーボード（ＫＢ）１２０９から入力される信号をシステム本体内に入力する制御を行う。１２０６は表示コントローラ（ＣＲＴＣ）であり、表示装置（ＣＲＴ）１２１０上の表示制御を行う。１２０７はディスクコントローラ（ＤＫＣ）で、ブートプログラム（起動プログラム：パソコンのハードやソフトの実行（動作）を開始するプログラム）、複数のアプリケーション、編集ファイル、ユーザファイルそしてネットワーク管理プログラム等を記憶するハードディスク（ＨＤ）１２１１、及びフレキシブルディスク（ＦＤ）１２１２とのアクセスを制御する。
【００３３】
１２０８はネットワークインタフェースカード（ＮＩＣ）で、ＬＡＮ１２２０を介して、ネットワークプリンタ、他のネットワーク機器、あるいは他のＰＣと双方向のデータのやり取りを行う。
【００３４】
次に、本発明の通信方法の実施の形態を説明する。
図１は、本実施の形態にかかるプロセス間セキュア通信システムの機能構成例を示す図である。
図１において、１００はサーバ端末（装置）である。サーバ端末１００には様々な形態がある。例えば、図６に示したような、プリントサーバ機能が搭載されたプリンタ装置６、ネットワークスキャナ装置７、ネットワーク接続機能を有するデジタル複合機８及び９、あるいは図示しないファイルサーバ、ＷＥＢサーバなどである。これらの各機能（サービス）において、少なくとも一つのプロセスがある。また、サーバ端末１００上に複数の機能が搭載されているデジタル複合機（ＭＦＰ）８、９の場合、複数のサービスプロセスが当該デジタル複合機（ＭＦＰ）８、９上で動作している。
【００３５】
本実施の形態で示すサーバ端末１００には、ユーザが操作するクライアント端末１０５（１０６）に対するログイン認証を行うユーザ認証プロセス１０４と、サーバ端末１００の主たる機能である第１のサービスプロセスＢ１０２及び第２のサービスプロセスＡ１０３が動作している。
【００３６】
これらの第１のサービスプロセスＢ１０２及び第２のサービスプロセスＡ１０３は、セキュア印刷サービスを提供するセキュア印刷プロセスであるとか、ストレージサービスを提供するストレージプロセスなどといったものが挙げられる。本実施の形態では、第１のサービスプロセスＢ１０２が、セキュア印刷プロセスとして機能している。
【００３７】
図１において、１０１は認証サーバ端末である。認証サーバ端末１０１は、ユーザ情報としてユーザ認証情報であるとか、ユーザ固有のアクセス制御情報といったものを管理しており、ユーザ認証及びリソースへのアクセス制御などを統括して処理する機能を有している。
【００３８】
ユーザがクライアント端末１０５（１０６）でユーザ認証を経て、各種の処理を実行させる操作、本実施の形態で述べるところの印刷処理といった操作については、本発明の主要部分ではないため割愛する。図１においては、クライアント端末１０５（１０６）から印刷情報がサーバ端末１００に伝えられるところの処理と情報の流れを、「（１）印刷情報の受信、処理要求の蓄積」として矢印で示している。
【００３９】
本実施の形態においては、セキュア印刷について説明する。本実施の形態において、セキュア印刷とは、サーバ端末１００が印刷データを受信した後、直ちにこれを印刷してしまうのではなく、一時的にデータをサーバ端末１００内の所定の記憶領域に保持しておいて、ユーザがサーバ端末１００上で改めてユーザ認証を行い、印刷再開処理を実行してから印刷を再開するといった機能である。
【００４０】
これは、ユーザが文書を印刷し、印刷物としてデジタル複合機（ＭＦＰ）８、９から出力された後、ユーザの意図しない相手に文書の内容が知れてしまうとか、あるいは文書が盗まれてしまうといった脅威に対抗することを目的としている。
【００４１】
図２は、本実施の形態にかかるプロセス間セキュア通信システムのサーバ側全体処理フローを説明したフローチャートである。既に述べたとおり、クライアント端末１０５（１０６）におけるユーザログイン認証、印刷実行処理については終わっており、かつ印刷ジョブは所定のセキュリティ手段によってサーバ端末１００に転送され蓄積されている。
【００４２】
図２は、ユーザがサーバ端末１００のオペレーションパネル上で印刷処理を再開するための処理を開始するところから始まる（ステップＳ２００）。ユーザは、サーバ端末１００のオペレーションパネルで、「（２）ログイン」し、ユーザ認証を受けるために「ＵｓｅｒＩＤ」及び「パスワード（ＰＷ）」を入力する（ステップＳ２０１）。ここで、ユーザ認証に関わる一連の処理を受付け、実行するのはサーバ端末１００上で動作するユーザ認証プロセス１０４である。
【００４３】
ユーザ認証プロセス１０４は、「Ｕｓｅｒ ＩＤ」とユーザが利用を希望するサービスプロセス情報を指定して、認証サーバへ「（３）アクセスチケットＡＴ発行要求」を出す（ステップＳ２０２）。
【００４４】
認証サーバ端末１０１は、ユーザ認証プロセス１０４からのアクセスチケットＡＴ発行要求を受け、ユーザ認証の工程を行う（ステップＳ２０３）。この工程での主な処理内容は、認証サーバ端末１０１における秘密鍵（Ｊk）の生成と「（４）アクセスチケットＡＴの生成」を行う処理である。秘密鍵（Ｊk）の生成のために、認証サーバ端末１０１は独自に乱数Ｒを生成する。アクセスチケットＡＴは、生成された秘密鍵（Ｊk）とユーザのアクセス制御情報（データへの処理権限）とを含んで生成され、第１のサービスプロセスＢ１０２（セキュア印刷プロセス）の鍵で暗号化され、あらかじめ生成してある乱数Ｒと一緒にユーザ認証プロセス１０４へ送られる。後述するように、この時更に、秘密鍵（Ｊk）を生成するアルゴリズムまたは秘密鍵（Ｊk）による暗号化アルゴリズムを指定する情報Ａｌｇも送るようにしてもよい（図１中において、「（５）ＡＣＴ，Ｒ，Ａｌｇ」として示している）。
【００４５】
認証サーバ端末１０１で生成された秘密鍵（Ｊk）は、ユーザ認証プロセス１０４との一連の処理要求完了に伴って、認証サーバ端末１０１内部にて完全に破棄される。これは、認証サーバ端末１０１のアクセスチケットＡＴ処理要求パフォーマンスを改善すると同時に、秘密鍵（Ｊk）が外部に漏洩するといった脆弱性を回避するためである。
【００４６】
ユーザ認証プロセス１０４は、乱数Ｒと暗号化されたアクセスチケットＡＴを受け取った後、乱数Ｒと事前にユーザが入力したパスワードＰＷとを使って独自に「（６）秘密鍵（Ｊk）を生成」する（ステップＳ２０４）。秘密鍵（Ｊk）を生成するアルゴリズムは、認証サーバ端末１０１へのアクセスチケットＡＴ要求に対する応答の中で、認証サーバ端末１０１がユーザ認証プロセス１０４に情報Ａｌｇを送って指定しても良いし、あるいは事前に取り決めてありシステム中に実装されていても良い。
【００４７】
ユーザ認証プロセス１０４は、秘密鍵（Ｊk）を独自に生成したら、これを用いてセキュア印刷プロセス１０２へ送信する秘密情報の暗号化を行う（ステップＳ２０４）。秘密情報の暗号処理に用いるアルゴリズムも、アクセスチケットＡＴ生成時に認証サーバ端末１０１がユーザ認証プロセス１０４に指定しても良いし、あるいはシステム中にあらかじめ実装しておいても良い。
【００４８】
また、ここで言う秘密情報とは、ユーザ認証の結果サービスプロセスへのアクセスが許可され、その結果としてサービスプロセスに対する処理要求の内容を示す情報が該当する。例えば、一時停止している印刷ジョブの再開を要求するための情報が、これに該当する。
【００４９】
秘密情報を所定の暗号化アルゴリズムで暗号化した後、ユーザ認証プロセス１０４は乱数と同時に認証サーバ端末１０１より受け取っていたアクセスチケットＡＴを、先に暗号化された秘密情報に付加して合わせてセキュア印刷プロセス１０２へ「（７）処理情報」として送信する。暗号化された秘密情報と暗号化されたアクセスチケットＡＴを結合する際、データの結合場所がわかるように間に所定のデリミタを入れるか、あるいは、データサイズ情報を送信データのヘッダ中に格納するような仕組みを選択しても良い。
【００５０】
セキュア印刷プロセス１０２は、暗号化された処理情報を受信し、その中から暗号化されたアクセスチケットＡＴを取り出す（ステップＳ２０５）。暗号化されたアクセスチケットＡＴは、先に認証サーバ端末１０１においてセキュア印刷プロセス１０２の暗号鍵で暗号化されており、セキュア印刷プロセス１０２は、これを自身の鍵で復号処理しアクセスチケットＡＴを取り出す。
【００５１】
アクセスチケットＡＴには、認証サーバ端末１０１が事前に生成した秘密鍵（Ｊk）が格納されており、セキュア印刷プロセス１０２は、この秘密鍵（Ｊk）を用いて、ユーザ認証プロセス１０４が独自に生成した秘密鍵（Ｊk）を用いて暗号化して送信してきた暗号データを復号して「（８）ユーザ認証及び処理」を試みる。
【００５２】
ここで、復号処理に成功したか否かを判断基準として、セキュア印刷プロセス１０２はユーザが認証サーバ端末１０１によって正規に認証されているかどうかを知ることが可能である。もし、復号処理に失敗した場合は、アクセスチケットＡＴ中に格納されている認証サーバ端末１０１が生成した秘密鍵（Ｊk）と、ユーザ認証プロセス１０４が生成した秘密鍵（Ｊk）とが異なることになり、結果としてユーザが認証サーバ端末１０１の意図するユーザではないとわかることになる。
【００５３】
一方、復号処理に成功した場合はユーザ認証に成功したものと推測することができる。復号処理の成功・失敗は、暗号データに含まれるチェックサムを利用して知ることが可能である。これについては、一般的な各種暗号アルゴリズムの中に含まれる技術的思想を利用して実行することが可能であるため、本実施の形態では詳細な説明を割愛する。
【００５４】
復号処理に成功したセキュア印刷プロセス１０２は、アクセスチケットＡＴに含まれている他の情報、すなわちアクセス制御情報を用いて、暗号化された秘密情報として受け取るデータへのユーザの処理権限を知ることができる。セキュア印刷プロセス１０２はこれに基づいて、復号処理した秘密情報の処理を続ける。
【００５５】
すなわち、一時停止してある印刷ジョブで、どのジョブを再開するかを決定し、そのジョブについて印刷を再開するのである（ステップＳ２０５）。一連のユーザの処理要求は以上をもって終了する（ステップＳ２０６）。なお、システムのセキュリティを強化するために、サーバ端末１００上の他のサービスプロセスにおいて秘密情報の受信やジョブの処理が行われたあと、これらの処理内容をログに蓄積するといった監査処理を行うこともできる。
【００５６】
次に、図３を用いて、認証サーバ端末１０１におけるアクセスチケットＡＴ要求の処理手順（ステップＳ２０３）をさらに詳しく説明する。
ユーザ認証プロセス１０４よりアクセスチケットＡＴ発行要求を受け取ると、認証サーバ端末１０１は、図３に示すフローに基づいて処理を開始する（ステップＳ３００）。
【００５７】
認証サーバ端末１０１は、ユーザ認証プロセス１０４からのアクセスチケットＡＴ発行要求に伴って、ユーザを識別するためのＵｓｅｒＩＤ情報と、どのリソース（サービスプロセス）へのアクセス要求かを指定する情報を受け取る。認証サーバ端末１０１は、ここで指定されたＵｓｅｒＩＤをキーとして、該当するユーザの固有情報を取得する（ステップＳ３０１）。固有情報にはあらかじめユーザのパスワード情報ＰＷやリソースへのアクセス制御情報などが含まれている。
【００５８】
認証サーバ端末１０１は、これら固有情報を自身のＤＢに格納しておいても良いし、別途、信頼できるＬＤＡＰ（Lightweight Directory Access Protocol）サーバなどに格納しておき、認証サーバ端末１０１とのセキュアなネゴシエーションプロセスを経て情報を取得してもよい。
【００５９】
次に、認証サーバ端末１０１は、独自に乱数を生成する（ステップＳ３０２）。この乱数は、プロセス間で秘密情報を暗号化するために利用される秘密鍵（Ｊk）を生成するために使用されるものである。
【００６０】
次に、あらかじめ取得してあるユーザ固有情報の中からパスワードＰＷ情報を取り出し、これと乱数を使って認証サーバ端末１０１は独自に秘密鍵（Ｊk）を生成する（ステップＳ３０３）。秘密鍵（Ｊk）生成のアルゴリズムは、あらかじめ認証サーバ端末１０１が指定するか、あるいはシステム実装時にあらかじめ決定してあるものとする。なお、認証サーバ端末１０１が指定する場合は、どのようなアルゴリズムを使用したかユーザ認証プロセス１０４が知る必要があるため、認証サーバ端末１０１は、この情報をユーザ認証プロセス１０４へ通知しなければならない。
【００６１】
ユーザ固有情報の中には、ユーザのリソースへのアクセス権限に関する情報も含まれており、認証サーバ端末１０１は、ユーザのアクセス権限情報と生成した秘密鍵（Ｊk）の各情報とを含むようにアクセスチケットＡＴの生成を行う（ステップＳ３０４）。アクセスチケットＡＴのフォーマットについては個別の実装に依存してよいので、本実施の形態では詳細な説明を割愛する。アクセスチケットＡＴの中には、ユーザのアクセス権限情報と秘密鍵（Ｊk）の他に、ユーザ認証プロセス１０４が秘密情報を暗号化する際に利用すべき暗号化アルゴリズムの指定も含まれている。
【００６２】
ユーザ認証プロセス１０４からのアクセスチケットＡＴ要求には、ユーザ認証プロセス１０４がどのリソース（サービスプロセス）へアクセスしたいかといった情報が含まれている。そこで、認証サーバ端末１０１は、この目的リソース情報をキーに当該リソースの暗号鍵を検索して取得する。暗号鍵はユーザの固有情報と同じく、認証サーバ端末１０１が独自に持つか、あるいはＬＤＡＰ（Lightweight Directory Access Protocol）サーバが利用可能である。
【００６３】
認証サーバ端末１０１は、取得したリソースの暗号鍵を使ってアクセスチケットＡＴを暗号化する（ステップＳ３０５）。アクセスチケットＡＴを暗号化するのは、アクセスチケットＡＴが目的とするリソースへ直接渡らずに、途中でユーザ認証プロセス１０４を経由するからであり、ユーザ認証プロセス１０４を含め、アクセスチケットＡＴが経由する端末や装置は全て脅威になりうるとの想定である。
【００６４】
暗号化されたアクセスチケットＡＴは、先に生成した乱数、並びに必要に応じて秘密鍵（Ｊk）生成アルゴリズム情報と合わせて、ユーザ認証プロセス１０４渡される（ステップＳ３０６）。なお、図３のフローチャートには明記していないが、認証サーバ端末１０１が独自に生成した秘密鍵（Ｊk）は、アクセスチケットＡＴ要求の一連の処理が完了する最終段階において完全に破棄され、その後で認証サーバ１０１の処理が終了する（ステップＳ３０７）。
【００６５】
上述のように、独自に生成した秘密鍵（Ｊk）を完全に破棄するのは、認証サーバ端末１０１は、複数のユーザ認証プロセス１０４からアクセスチケットＡＴ発行要求を受け付けるので、個々の要求ごとに秘密鍵（Ｊk）を管理するようにすると、パフォーマンス低下につながるからである。また、秘密鍵（Ｊk）を管理すること自体、セキュリティに対する脆弱性を増加させる結果となりかねないからである。
【００６６】
次に、図４のフローチャートを参照しながらユーザ認証プロセス１０４の手順（ステップＳ２０４）を説明する。
図４は、アクセスチケットＡＴ要求処理後のユーザ認証プロセス１０４における処理フローを詳しく説明したものである。ユーザがユーザ認証プロセス１０４にＵｓｅｒＩＤ並びにパスワードＰＷを入力し、アクセスしたいサービスプロセスを指定してアクセスチケットＡＴ発行要求を認証サーバ端末１０１に出した後、ユーザ認証プロセス１０４は認証サーバ端末１０１からアクセスチケットＡＴを受け取る。
【００６７】
ユーザ認証プロセス１０４は、アクセスチケットＡＴに加えて乱数、及び必要に応じて暗号化アルゴリズム情報を認証サーバ端末１０１より受け取り、ユーザ認証プロセス１０４の処理が始まる（ステップＳ４００）。ユーザ認証プロセス１０４は、事前にユーザが入力しておいたパスワードＰＷをこの時点まで内部に保有しており、認証サーバ端末１０１から受け取った乱数をベースに秘密鍵（Ｊk）を生成する（ステップＳ４０１）。秘密鍵（Ｊk）の生成アルゴリズムは、認証端末１０１から指定されることもある。
【００６８】
ユーザ認証プロセス１０４は、秘密鍵（Ｊk）を生成するに当たって、認証サーバ端末１０１から伝えられた乱数と、ユーザがサーバ端末１００のオペレーションパネルからユーザ認証プロセス１０４に直接入力したパスワードＰＷとを基本情報として、秘密鍵（Ｊk）を独自に生成する。この工程で、認証サーバ端末１０１は別途独自に秘密鍵（Ｊk）を生成しているが、この情報をユーザ認証プロセス１０４に伝えることは無い。
【００６９】
また、認証サーバ端末１０１から渡されるアクセスチケットＡＴは、セキュア印刷プロセス１０２の暗号鍵で暗号化されているため、ユーザ認証プロセス１０４はその内容を一切知ることはできない。パスワードＰＷ情報も認証サーバ端末１０１から伝えられることは一切無く、ユーザがユーザ認証プロセス１０４に直接入力することによって取得する。すなわち、ユーザ認証プロセス１０４は、秘密鍵（Ｊk）を生成する工程において、完全に認証サーバ端末１０１から独立していることになる。このことは、セキュア印刷プロセス１０２におけるユーザ認証の推測を行う後述の工程と関連している。
【００７０】
次に、ユーザ認証プロセス１０４は、セキュア印刷プロセス１０２に伝える秘密情報を、先に生成した秘密鍵（Ｊk）で暗号化する（ステップＳ４０２）。本実施の形態では、一時停止している印刷ジョブに対し、処理の再開を要求する情報に該当する。
【００７１】
秘密鍵（Ｊk）の生成と処理再開要求の生成、及び処理再開要求の暗号化処理といった一連の動作は、当該ユーザ認証プロセス１０４の内部で一体となって行われる。したがって、悪意を持った他のサービスプロセスがあった場合でも、暗号化処理を行う際に処理再開要求としてセキュア印刷プロセス１０２に何らかのセキュリティ上の障害を与えるようなことは起こりえない。
【００７２】
秘密情報を暗号化した後、ユーザ認証プロセス１０４は認証サーバ端末１０１から受け取ったアクセスチケットＡＴを暗号データに付加し、続いてセキュア印刷プロセス１０２へ送信する（ステップＳ４０３）。
【００７３】
アクセスチケットＡＴ、並びに秘密情報は、共に暗号化されており、データを受け取ったセキュア印刷プロセス１０２はその境界がわからないため、ユーザ認証プロセス１０４はデータの境界に所定のデリミタを挿入するか、あるいは送信データのヘッダ部分にアクセスチケットＡＴもしくは秘密情報のデータサイズを入れて境界が判別できるようにする。いずれの方法を用いるかはシステムの実装仕様である。セキュア印刷プロセス１０２へのデータの送信をもってユーザ認証プロセス１０４の処理は終了する（ステップＳ４０４）。
【００７４】
図５は、暗号データを受け取った後のセキュア印刷プロセス１０２側の処理手順（ステップＳ２０５）を詳細に示すフローチャートである。
ユーザ認証プロセス１０４から暗号データを受け取ると、これに引き続いてセキュア印刷プロセス１０２側の処理が開始する（ステップＳ５００）。セキュア印刷プロセス１０２は、受け取った暗号データからデリミタを探し、暗号化されたアクセスチケットＡＴ部分と暗号化された秘密情報部分を分離する（ステップＳ５０１）。サーバ端末１００の構成によっては、暗号データの所定のヘッダ部分に各データサイズが格納されており、データサイズに基づいて分離を行う場合もある。
【００７５】
セキュア印刷プロセス１０２は、自身の暗号鍵を所有しているため、セキュア印刷プロセス１０２の暗号鍵で暗号化されたアクセスチケットＡＴ部分を復号することが可能である。セキュア印刷プロセス１０２は、暗号化されたアクセスチケットＡＴを復号する（ステップＳ５０１）。
【００７６】
ここで、復号に成功したかを判定する（ステップＳ５０２）。セキュア印刷プロセス１０２は、復号に失敗した場合はステップＳ５０７に進み、ユーザのログイン認証が失敗したものと判断して以降の処理を停止する。なお、復号処理には暗号データの改ざんを検知する機能も考慮されている。
【００７７】
一方、ステップＳ５０２の判定の結果、復号に成功したと判定した場合には、セキュア印刷プロセス１０２は、アクセスチケットＡＴ内に格納されている情報を取り出す処理を実行する（ステップＳ５０３）。アクセスチケットＡＴから取り出される情報には、認証サーバ端末１０１が独自に生成した秘密鍵（Ｊk）とユーザ固有のアクセス権限情報などがある。また、暗号データのリプライ攻撃を防止するために、タイムスタンプが含まれる場合もある。
【００７８】
次に、アクセスチケットＡＴから取得した秘密鍵（Ｊk）を用いて暗号化された秘密情報の復号処理を試みる（ステップＳ５０４）。ここで使用する秘密鍵（Ｊk）は、認証サーバ端末１０１が生成したものであり、ユーザ認証プロセス１０４に対して真正なユーザがログインしていれば、秘密情報を暗号化する際にユーザ認証プロセス１０４が生成した暗号鍵（Ｊｋ）と同一のものが生成されているはずであり（ユーザ認証の推測）、復号処理も成功するはずである。したがって、ここでセキュア印刷プロセス１０２は、暗号化された秘密情報の復号の成否を判断する（ステップＳ５０５）。
【００７９】
この判断の結果、復号処理が成功したら、先の推測が実際に証明されたことになり、セキュア印刷プロセス１０２はユーザが正規に認証サーバ端末１０１によって認証されたものであると推測することができる。ステップＳ５０５の判断の結果、復号処理が失敗したら、ユーザ認証プロセス１０４にログインしたユーザは、認証サーバ端末１０１が意図するユーザとは異なる可能性がある。よって、セキュア印刷プロセス１０２は認証失敗として受け取った処理再開要求を無視する（ステップＳ５０７）。
【００８０】
なお、暗号データの復号処理が成功したか否かは、データのチェックサムを利用するなどして行うことが可能である。これらは暗号アルゴリズムの一部として既に技術が確立しており、これらを利用することで目的を達成することができる。
【００８１】
秘密情報の復号処理に成功し、セキュア印刷プロセス１０２が秘密情報を正しく受け取ったら、セキュア印刷プロセス１０２は事前にアクセスチケットＡＴから抽出してあるユーザ固有のアクセス権限情報に基づいて、当該秘密情報を処理する（ステップＳ５０６）。本実施の形態では一時停止している印刷ジョブを再開し、暗号化されたＰＤＬデータを復号処理し、これをＰＤＬコントローラへ送り印刷を実行する。以上述べた一連の処理をもってセキュア印刷プロセス１０２の処理フローを終了する（ステップＳ５０８）。
【００８２】
ところで、認証サーバ端末１０１には、ユーザのパスワードＰＷとセキュア印刷プロセス１０２の暗号鍵があらかじめ登録されており、本実施の形態では、認証サーバ端末１０１へのこれらパスワードＰＷと暗号鍵の登録に際する脆弱性に関しては無いものと仮定して説明をしてきた。しかし、現実には、この認証サーバ端末１０１にユーザのパスワードＰＷを登録したり、リソース（サービスプロセス）の暗号鍵を登録したりする工程には大きな脆弱性が内在している。認証サーバ端末１０１に対する攻撃が行われ、結果としてこれらパスワードＰＷと暗号鍵情報が漏洩してしまうといった脅威が現実にはありうるからである。
【００８３】
この脅威への対抗としては、次の二通りの対策が可能である。第一の対策は、認証サーバ端末１０１を物理的に隔離して特定の管理者からしかアクセスできないようにする方法である（運用による対策）。認証サーバ端末１０１を物理的に隔離することが困難であれば、ユーザやリソース（サービスプロセス）の固有情報のみをディレクトリサーバ（不図示）に格納し、認証サーバ端末１０１とはＬＤＡＰによるアクセスのみできるように構成し、ディレクトリサーバのみを物理的に隔離する方法も考えられる。
【００８４】
第２の対策は、認証サーバ端末１０１に登録する暗号鍵として、公開鍵暗号方式に基づく公開鍵と秘密鍵のペアを、サービスプロセス１０２についてあらかじめ生成しておいて、この鍵ペアのうち公開鍵のみを認証サーバ端末１０１に格納し、秘密鍵はサービスプロセス１０２のみが格納する方法である。
【００８５】
この第２の方法によれば、秘密鍵はネットワーク中を流れることは一切無く、また認証サーバ端末１０１に格納されるのは公開鍵なので、漏洩してもここから秘密鍵を類推することは公開鍵暗号アルゴリズムの特徴からしてきわめて困難である。この第２の対策によって構成されたシステムでは、認証サーバで生成したアクセスチケットＡＴは、認証サーバによりサービスプロセス１０２の公開鍵で暗号化され、サービスプロセス１０２において秘密鍵で復号されることになる。
【００８６】
なお、前記認証サーバ端末１０１にあらかじめ登録するサービスプロセスの暗号鍵の代わりに、ITU（International Telecommunications Union）が定めたデジタル証明書の標準仕様であるX.509に基づくデジタル証明書を使用するようにしてもよい。
【００８７】
本実施の形態においては、端末装置上で動作する複数のサービスプロセスと、前記端末装置上でユーザの認証処理を行うユーザ認証プロセスとの間において、それぞれがセキュアな通信を行うために共有するクレデンシャル（credential：証明）を、前記認証サーバ端末装置と前記ユーザ認証プロセスとでそれぞれ別々に行い、前記認証サーバ端末装置が生成したクレデンシャルは前記ユーザ認証プロセスがこれを知り得ない形態に別途暗号化しておくようにしている。
【００８８】
上記のごとく構成されたプロセス間セキュア通信方式においては、ユーザ認証プロセスから発行される処理要求は暗号化されて該当するサービスプロセスに送信されるため、プロセス間の情報の機密は保持される。また、ＳＳＬやＴＬＳのごとく論理的な暗号化通信チャネルを構築するのではなく、データそのものを暗号化して送信するため、プロセス間の非同期な通信においても、情報の機密を維持したまま処理することが可能である。
【００８９】
また、ユーザ認証プロセスは、認証サーバから乱数を受け取り、情報の暗号化に利用する暗号鍵の生成を当該乱数値とユーザが入力するユーザパスワードを利用して行うため、悪意のあるサービスプロセスあるいはユーザ認証プロセスが独自に暗号鍵を選択あるいは生成することができない。これによって情報の暗号化に利用される秘密鍵（Ｊk）の信頼性を高めることができる。
【００９０】
さらに、暗号鍵の生成とサービスプロセスへ送信する情報の生成は連続して一体の処理として行われるため、悪意のあるユーザ認証プロセスは情報の改ざんやＲｏｕｇｅデータの生成が困難である。このため、悪意のあるユーザ認証プロセスやサービスプロセスによる他のサービスプロセスへの攻撃を抑止することができる。
【００９１】
さらに、各サービスプロセスはユーザ認証プロセスから受信した暗号データを復号するに当たって、アクセスチケットＡＴから抽出した暗号鍵を用いて復号処理を行うため、正しく復号できた場合、復号に利用した暗号鍵がユーザ認証プロセスの使用した暗号鍵と同一であると認識することができる。このことにより、各サービスプロセスはユーザ認証プロセスにログインしようとしてユーザが入力したユーザパスワードが、認証サーバにあらかじめ登録されてある真正なユーザパスワードであることを類推することができる。よって、サービスプロセスはユーザ認証プロセスにログインしたユーザが認証サーバに登録された真正なユーザであると認めることが可能であり、これをもってユーザ認証に変えることができる。
【００９２】
（本発明の他の実施の形態）
上述した実施の形態の機能を実現するべく各種のデバイスを動作させるように、上記各種デバイスと接続された装置あるいはシステム内のコンピュータに対し、上記実施の形態の機能を実現するためのソフトウェアのプログラムコードを供給し、そのシステムあるいは装置のコンピュータ（ＣＰＵあるいはＭＰＵ）に格納されたプログラムに従って上記各種デバイスを動作させることによって実施したものも、本発明の範疇に含まれる。
【００９３】
また、この場合、上記ソフトウェアのプログラムコード自体が上述した実施の形態の機能を実現することになり、そのプログラムコード自体、およびそのプログラムコードをコンピュータに供給するための手段、例えば、かかるプログラムコードを格納した記録媒体は本発明を構成する。かかるプログラムコードを記録する記録媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。
【００９４】
また、コンピュータが供給されたプログラムコードを実行することにより、上述の実施の形態の機能が実現されるだけでなく、そのプログラムコードがコンピュータにおいて稼働しているＯＳ（オペレーティングシステム）あるいは他のアプリケーションソフト等と共同して上述の実施の形態の機能が実現される場合にもかかるプログラムコードは本発明の実施の形態に含まれる。
【００９５】
さらに、供給されたプログラムコードがコンピュータの機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに格納された後、そのプログラムコードの指示に基づいてその機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって上述した実施の形態の機能が実現される場合にも本発明に含まれる。
【図面の簡単な説明】
【００９６】
【図１】実施の形態にかかるプロセス間セキュア通信システムの機能構成を示す図である。
【図２】実施の形態にかかるプロセス間セキュア通信システムのサーバ側全体の処理手順を説明したフローチャートである。
【図３】認証サーバにおけるアクセスチケット要求の処理手順をさらに詳しく説明するフローチャートである。
【図４】アクセスチケット要求処理後のユーザ認証プロセスにおける処理手順を詳しく説明したフローチャートである。
【図５】暗号データを受け取った後のセキュア印刷プロセス側の処理手順を詳しく説明したフローチャートである。
【図６】本発明を実行する動作環境の一例を表した図である。
【図７】端末装置を構成可能なコンピュータシステムの構成例を示すブロック図である。
【符号の説明】
【００９７】
１００  サーバ端末
１０１  認証サーバ端末
１０２  第１のサービスプロセスＢ
１０３  第２のサービスプロセスＡ
１０４  ユーザ認証プロセス
１０５  クライアント端末
１０６  クライアント端末
【図１】
2005217905.tif 000003
【図２】
2005217905.tif 000004
【図３】
2005217905.tif 000005
【図４】
2005217905.tif 000006
【図５】
2005217905.tif 000007
【図６】
2005217905.tif 000008
【図７】
2005217905.tif 000009