(57)【要約】      （修正有）【課題】第１のデバイスにおいて固有メッセージ有効化コード（ＴＡＴ）のリストを生成し、第２のデバイスの中にそのリストを格納することによるメッセージのリプレイに対するセキュリティを提供する。【解決手段】リストからの固有メッセージ有効化コードの少なくとも１つを含む、第１のデバイスにおいて生成されたメッセージが、第２のデバイスに伝送される。受信されたメッセージの固有メッセージ有効化コードが、第２のデバイスの中に格納されたリストと比較されて、第２のデバイスによるメッセージの処理を有効にするか否かが判定される。【選択図】図１
2006072970.tif 000002
【特許請求の範囲】
【請求項１】
第１のデバイスから第２のデバイスに送信されるメッセージのリプレイに対するセキュリティを提供する方法であって、
前記第２のデバイスによって前記第１のデバイスから受信されたメッセージの固有メッセージ有効化コードを前記第２のデバイスの中に格納された固有メッセージ有効化コードのリストと比較して、前記メッセージとともに受信された前記固有メッセージ有効化コードが、前記格納されたリストの中に含まれているかどうかを判定するステップと、
前記比較するステップに基づき、前記第２のデバイスによる前記メッセージの処理を拒否するか否かを判定するステップとを含むことを特徴とする方法。
【請求項２】
前記比較するステップにより、前記メッセージとともに受信された前記固有メッセージ有効化コードが前記格納されたリストの中に含まれていると判定された場合、前記メッセージの処理は、拒否されず、前記格納されたリストから対応する固有メッセージ有効化コードが削除され、前記比較するステップにより、前記メッセージとともに受信された前記固有メッセージ有効化コードが、前記格納されたリストの中に含まれていないと判定された場合、前記メッセージの処理は、拒否されることを特徴とする請求項１に記載の方法。
【請求項３】
固有メッセージ有効化コードの前記リストを生成するステップと、
前記生成されたリストを前記第２のデバイスの中に格納するステップとをさらに含むことを特徴とする請求項２に記載の方法。
【請求項４】
固有メッセージ有効化コードの前記リストは、第３のデバイスにおいて生成され、前記リストは、前記第２のデバイスに、該第２のデバイスの中に格納するために送信されることを特徴とする請求項３に記載の方法。
【請求項５】
固有メッセージ有効化コードの前記リストは、前記第１のデバイスにおいて生成され、前記リストは、前記第２のデバイスに、該第２のデバイスの中に格納するために送信されることを特徴とする請求項３に記載の方法。
【請求項６】
固有メッセージ有効化コードの前記リストは、前記第２のデバイスおよび第３のデバイスによって相互に生成されることを特徴とする請求項３に記載の方法。
【請求項７】
前記生成されたリストからの前記固有メッセージ有効化コードの少なくとも１つを含む、前記第２のデバイスに送信されるべき前記メッセージを前記第１のデバイスにおいて生成するステップと、
前記生成されたメッセージを前記固有メッセージ有効化コードと一緒に前記第１のデバイスから前記第２のデバイスに送信するステップと、
前記送信されたメッセージおよび前記固有メッセージ有効化コードを前記第２のデバイスによって受信するステップとをさらに含むことを特徴とする請求項３に記載の方法。
【請求項８】
前記第１のデバイスが、前記メッセージの中に含められるべき固有メッセージ有効化コードを第３のデバイスから要求するステップと、
前記第３のデバイスが、前記メッセージの中に含められるべき前記固有メッセージ有効化コードを前記第１のデバイスに送信するステップとをさらに含むことを特徴とする請求項７に記載の方法。
【請求項９】
前記第１のデバイスと前記第２のデバイスは、ネットワークを介して通信することを特徴とする請求項２に記載の方法。
【請求項１０】
前記第２のデバイスにおいて、前記格納されたリストの中に所定の数以下の前記固有メッセージ有効化コードが含まれるかどうかを判定するステップと、
前記リストが、前記所定の数以下の前記固有メッセージ有効化コードを含むと判定された場合、前記第２のデバイスが、前記リストのために追加の固有メッセージ有効化コードを獲得するステップとをさらに含むことを特徴とする請求項２に記載の方法。
【請求項１１】
前記追加の固有メッセージ有効化コードは、前記現在の格納されたリストの代りに前記第２のデバイスの中に格納される新たなリストを構成することを特徴とする請求項１０に記載の方法。
【請求項１２】
前記追加の固有メッセージ有効化コードは、前記現在の格納されたリストに追加されることを特徴とする請求項１０に記載の方法。
【請求項１３】
固有メッセージ有効化コードの前記生成されたリストは、セキュリティで保護された形で前記第２のデバイスに送信されることを特徴とする請求項４または５に記載の方法。
【請求項１４】
前記固有メッセージ有効化コードは、乱数を含むことを特徴とする請求項２に記載の方法。
【請求項１５】
前記第２のデバイスが、前記受信された固有メッセージ有効化コードに対して妥当性検査を実行するステップをさらに含むことを特徴とする請求項２に記載の方法。
【請求項１６】
前記第１のデバイスから前記第２のデバイスに送信される前記メッセージおよび前記固有メッセージ有効化コードは、送信されるのに先立ってハッシュアルゴリズムにかけられることを特徴とする請求項７に記載の方法。
【請求項１７】
前記メッセージの前記処理は、印刷プロセスを含むことを特徴とする請求項１に記載の方法。
【請求項１８】
第１のデバイスから第２のデバイスに送信されるメッセージのリプレイに対するセキュリティを提供するための、コンピュータによって実行されるコンピュータ実行可能プロセスステップであって、
前記第２のデバイスによって前記第１のデバイスから受信されたメッセージの固有メッセージ有効化コードを前記第２のデバイスの中に格納された固有メッセージ有効化コードのリストと比較して、前記メッセージとともに受信された前記固有メッセージ有効化コードが、前記格納されたリストの中に含まれているかどうかを判定するステップと、
前記比較するステップに基づき、前記第２のデバイスによる前記メッセージの処理を拒否するか否かを判定するステップとを含むことを特徴とするプロセスステップ。
【請求項１９】
前記比較するステップにより、前記メッセージとともに受信された前記固有メッセージ有効化コードが前記格納されたリストの中に含まれていると判定された場合、前記メッセージの処理は、拒否されず、前記格納されたリストから対応する固有メッセージ有効化コードが削除され、前記比較するステップにより、前記メッセージとともに受信された前記固有メッセージ有効化コードが、前記格納されたリストの中に含まれていないと判定された場合、前記メッセージの処理は、拒否されることを特徴とする請求項１８に記載のコンピュータ実行可能プロセスステップ。
【請求項２０】
固有メッセージ有効化コードの前記リストを生成するステップと、
前記生成されたリストを前記第２のデバイスの中に格納するステップとをさらに含むことを特徴とする請求項１９に記載のコンピュータ実行可能プロセスステップ。
【請求項２１】
固有メッセージ有効化コードの前記リストは、第３のデバイスにおいて生成され、前記リストは、前記第２のデバイスに、該第２のデバイスの中に格納するために送信されることを特徴とする請求項２０に記載のコンピュータ実行可能プロセスステップ。
【請求項２２】
固有メッセージ有効化コードの前記リストは、前記第１のデバイスにおいて生成され、前記リストは、前記第２のデバイスに、該第２のデバイスの中に格納するために送信されることを特徴とする請求項２０に記載のコンピュータ実行可能プロセスステップ。
【請求項２３】
固有メッセージ有効化コードの前記リストは、前記第２のデバイスおよび第３のデバイスによって相互に生成されることを特徴とする請求項２０に記載のコンピュータ実行可能プロセスステップ。
【請求項２４】
前記生成されたリストからの前記固有メッセージ有効化コードの少なくとも１つを含む、前記第２のデバイスに送信されるべき前記メッセージを前記第１のデバイスにおいて生成するステップと、
前記生成されたメッセージを前記固有メッセージ有効化コードと一緒に前記第１のデバイスから前記第２のデバイスに送信するステップと、
前記送信されたメッセージおよび前記固有メッセージ有効化コードを前記第２のデバイスによって受信するステップとをさらに含むことを特徴とする請求項２０に記載のコンピュータ実行可能プロセスステップ。
【請求項２５】
前記第１のデバイスが、前記メッセージの中に含められるべき固有メッセージ有効化コードを第３のデバイスから要求するステップと、
前記第３のデバイスが、前記メッセージの中に含められるべき前記固有メッセージ有効化コードを前記第１のデバイスに送信するステップとをさらに含むことを特徴とする請求項２４に記載のコンピュータ実行可能プロセスステップ。
【請求項２６】
前記第１のデバイスと前記第２のデバイスは、ネットワークを介して通信することを特徴とする請求項１９に記載のコンピュータ実行可能プロセスステップ。
【請求項２７】
前記第２のデバイスにおいて、前記格納されたリストの中に所定の数以下の前記固有メッセージ有効化コードが含まれるかどうかを判定するステップと、
前記リストが、前記所定の数以下の前記固有メッセージ有効化コードを含むと判定された場合、前記第２のデバイスが、前記リストのために追加の固有メッセージ有効化コードを獲得するステップとをさらに含むことを特徴とする請求項１９に記載のコンピュータ実行可能プロセスステップ。
【請求項２８】
前記追加の固有メッセージ有効化コードは、前記現在の格納されたリストの代りに前記第２のデバイスの中に格納される新たなリストを構成することを特徴とする請求項２７に記載のコンピュータ実行可能プロセスステップ。
【請求項２９】
前記追加の固有メッセージ有効化コードは、前記現在の格納されたリストに追加されることを特徴とする請求項２７に記載のコンピュータ実行可能プロセスステップ。
【請求項３０】
固有メッセージ有効化コードの前記生成されたリストは、セキュリティで保護された形で前記第２のデバイスに送信されることを特徴とする請求項２１または２２に記載のコンピュータ実行可能プロセスステップ。
【請求項３１】
前記固有メッセージ有効化コードは、乱数を含むことを特徴とする請求項１９に記載のコンピュータ実行可能プロセスステップ。
【請求項３２】
前記第２のデバイスが、前記受信された固有メッセージ有効化コードに対して妥当性検査を実行するステップをさらに含むことを特徴とする請求項１９に記載のコンピュータ実行可能プロセスステップ。
【請求項３３】
前記第１のデバイスから前記第２のデバイスに送信される前記メッセージおよび前記固有メッセージ有効化コードは、送信されるのに先立ってハッシュアルゴリズムにかけられることを特徴とする請求項２４に記載のコンピュータ実行可能プロセスステップ。
【請求項３４】
前記メッセージの前記処理は、印刷プロセスを含むことを特徴とする請求項１８に記載のコンピュータ実行可能プロセスステップ。
【請求項３５】
第１のデバイスから第２のデバイスに送信されるメッセージのリプレイに対するセキュリティを提供するための、コンピュータによって実行されるコンピュータ実行可能プロセスステップであって、
前記第２のデバイスによって前記第１のデバイスから受信されたメッセージの固有メッセージ有効化コードを前記第２のデバイスの中に格納された固有メッセージ有効化コードのリストと比較して、前記メッセージとともに受信された前記固有メッセージ有効化コードが、前記格納されたリストの中に含まれているかどうかを判定するステップと、
前記比較するステップに基づき、前記第２のデバイスによる前記メッセージの処理を拒否するか否かを判定するステップとを含むプロセスステップが格納されていることを特徴とするコンピュータ可読記憶媒体。
【請求項３６】
前記比較するステップにより、前記メッセージとともに受信された前記固有メッセージ有効化コードが前記格納されたリストの中に含まれていると判定された場合、前記メッセージの処理は、拒否されず、前記格納されたリストから対応する固有メッセージ有効化コードが削除され、前記比較するステップにより、前記メッセージとともに受信された前記固有メッセージ有効化コードが、前記格納されたリストの中に含まれていないと判定された場合、前記メッセージの処理は、拒否されることを特徴とする請求項３５に記載のコンピュータ可読記憶媒体。
【請求項３７】
固有メッセージ有効化コードの前記リストを生成するステップと、
前記生成されたリストを前記第２のデバイスの中に格納するステップとをさらに含むことを特徴とする請求項３６に記載のコンピュータ可読記憶媒体。
【請求項３８】
固有メッセージ有効化コードの前記リストは、第３のデバイスにおいて生成され、前記リストは、前記第２のデバイスに、該第２のデバイスの中に格納するために送信されることを特徴とする請求項３７に記載のコンピュータ可読記憶媒体。
【請求項３９】
固有メッセージ有効化コードの前記リストは、前記第１のデバイスにおいて生成され、前記リストは、前記第２のデバイスに、該第２のデバイスの中に格納するために送信されることを特徴とする請求項３７に記載のコンピュータ可読記憶媒体。
【請求項４０】
固有メッセージ有効化コードの前記リストは、前記第２のデバイスおよび第３のデバイスによって相互に生成されることを特徴とする請求項３７に記載のコンピュータ可読記憶媒体。
【請求項４１】
前記生成されたリストからの前記固有メッセージ有効化コードの少なくとも１つを含む、前記第２のデバイスに送信されるべき前記メッセージを前記第１のデバイスにおいて生成するステップと、
前記生成されたメッセージを前記固有メッセージ有効化コードと一緒に前記第１のデバイスから前記第２のデバイスに送信するステップと、
前記送信されたメッセージおよび前記固有メッセージ有効化コードを前記第２のデバイスによって受信するステップとをさらに含むことを特徴とする請求項３７に記載のコンピュータ可読記憶媒体。
【請求項４２】
前記第１のデバイスが、前記メッセージの中に含められるべき固有メッセージ有効化コードを第３のデバイスから要求するステップと、
前記第３のデバイスが、前記メッセージの中に含められるべき前記固有メッセージ有効化コードを前記第１のデバイスに送信するステップとをさらに含むことを特徴とする請求項４１に記載のコンピュータ可読記憶媒体。
【請求項４３】
前記第１のデバイスと前記第２のデバイスは、ネットワークを介して通信することを特徴とする請求項３６に記載のコンピュータ可読記憶媒体。
【請求項４４】
前記第２のデバイスにおいて、前記格納されたリストの中に所定の数以下の前記固有メッセージ有効化コードが含まれるかどうかを判定するステップと、
前記リストが、前記所定の数以下の前記固有メッセージ有効化コードを含むと判定された場合、前記第２のデバイスが、前記リストのために追加の固有メッセージ有効化コードを獲得するステップとをさらに含むことを特徴とする請求項３６に記載のコンピュータ可読記憶媒体。
【請求項４５】
前記追加の固有メッセージ有効化コードは、前記現在の格納されたリストの代りに前記第２のデバイスの中に格納される新たなリストを構成することを特徴とする請求項４４に記載のコンピュータ可読記憶媒体。
【請求項４６】
前記追加の固有メッセージ有効化コードは、前記現在の格納されたリストに追加されることを特徴とする請求項４４に記載のコンピュータ可読記憶媒体。
【請求項４７】
固有メッセージ有効化コードの前記生成されたリストは、セキュリティで保護された形で前記第２のデバイスに送信されることを特徴とする請求項３８または３９に記載のコンピュータ可読記憶媒体。
【請求項４８】
前記固有メッセージ有効化コードは、乱数を含むことを特徴とする請求項３６に記載のコンピュータ可読記憶媒体。
【請求項４９】
前記第２のデバイスが、前記受信された固有メッセージ有効化コードに対して妥当性検査を実行するステップをさらに含むことを特徴とする請求項３６に記載のコンピュータ可読記憶媒体。
【請求項５０】
前記第１のデバイスから前記第２のデバイスに送信される前記メッセージおよび前記固有メッセージ有効化コードは、送信されるのに先立ってハッシュアルゴリズムにかけられることを特徴とする請求項４１に記載のコンピュータ可読記憶媒体。
【請求項５１】
前記メッセージの前記処理は、印刷プロセスを含むことを特徴とする請求項３５に記載のコンピュータ可読記憶媒体。
【請求項５２】
ホストデバイスからメッセージを受信し、処理する装置であって、
前記ホストデバイスとの間でメッセージを送受信するためのインタフェースと、
コンピュータ実行可能プロセスステップを実行するプロセッサと、
前記プロセッサによって実行されるコンピュータ実行可能プロセスステップであって、
（ａ）装置によって前記ホストデバイスから受信されたメッセージの固有メッセージ有効化コードをメモリ媒体の中に格納された固有メッセージ有効化コードのリストと比較して、前記メッセージとともに受信された前記固有メッセージ有効化コードが、前記格納されたリストの中に含まれているかどうかを判定するステップと、
（ｂ）前記比較するステップに基づき、装置による前記メッセージの処理を拒否するか否かを判定するステップとを含むプロセスステップを含む情報を格納する該メモリ媒体とを含むことを特徴とする装置。
【請求項５３】
前記比較するステップにより、前記メッセージとともに受信された前記固有メッセージ有効化コードが前記格納されたリストの中に含まれていると判定された場合、前記メッセージの処理は、拒否されず、前記格納されたリストから対応する固有メッセージ有効化コードが削除され、前記比較するステップにより、前記メッセージとともに受信された前記固有メッセージ有効化コードが、前記格納されたリストの中に含まれていないと判定された場合、前記メッセージの処理は、拒否されることを特徴とする請求項５２に記載の装置。
【請求項５４】
固有メッセージ有効化コードの前記リストは、前記装置以外のデバイスにおいて生成され、前記生成されたリストは、前記メモリ媒体の中に格納するために前記装置へ送信されることを特徴とする請求項５３に記載の装置。
【請求項５５】
固有メッセージ有効化コードの前記リストは、第３のデバイスにおいて生成され、前記リストは、前記第３のデバイスによって、前記装置の中に格納するために前記装置へ送信されることを特徴とする請求項５４に記載の装置。
【請求項５６】
固有メッセージ有効化コードの前記リストは、前記ホストデバイスにおいて生成され、前記リストは、前記ホストデバイスによって装置に、装置の中に格納するために送信されることを特徴とする請求項５４に記載の装置。
【請求項５７】
固有メッセージ有効化コードの前記リストは、前記第２のデバイスおよび第３のデバイスによって相互に生成されることを特徴とする請求項５４に記載の装置。
【請求項５８】
前記受信されるメッセージは、前記ホストデバイスにおいて生成され、前記生成されたメッセージは、前記生成されたリストからの前記固有メッセージ有効化コードの少なくとも１つを含むことを特徴とする請求項５４に記載の装置。
【請求項５９】
前記ホストデバイスは、第３のデバイスから、前記メッセージの中に含められるべき固有メッセージ有効化コードを要求し、前記第３のデバイスは、前記メッセージの中に含められるべき前記固有メッセージ有効化コードを前記ホストデバイスに送信することを特徴とする請求項５８に記載の装置。
【請求項６０】
装置と前記ホストデバイスは、ネットワークを介して通信することを特徴とする請求項５３に記載の装置。
【請求項６１】
前記プロセスステップは、所定の数以下の固有メッセージ有効化コードが前記格納されたリストの中に含まれるかどうかを装置が判定するステップと、
前記リストが、前記所定の数以下の前記固有メッセージ有効化コードを含むと判定された場合、装置が、前記リストのために追加の固有メッセージ有効化コードを獲得するステップとをさらに含むことを特徴とする請求項５３に記載の装置。
【請求項６２】
前記追加の固有メッセージ有効化コードは、前記現在の格納されたリストの代りに装置の中に格納される新たなリストを構成することを特徴とする請求項６１に記載の装置。
【請求項６３】
前記追加の固有メッセージ有効化コードは、前記現在の格納されたリストに追加されることを特徴とする請求項６１に記載の装置。
【請求項６４】
固有メッセージ有効化コードの前記生成されたリストは、セキュリティで保護された形で装置に送信されることを特徴とする請求項５５または５６に記載の装置。
【請求項６５】
前記固有メッセージ有効化コードは、乱数を含むことを特徴とする請求項５３に記載の装置。
【請求項６６】
前記プロセスステップは、装置が、前記受信された固有メッセージ有効化コードに対して妥当性検査を実行するステップをさらに含むことを特徴とする請求項５３に記載の装置。
【請求項６７】
前記ホストデバイスから装置に送信される前記メッセージおよび前記固有メッセージ有効化コードは、送信されるのに先立ってハッシュアルゴリズムにかけられることを特徴とする請求項５９に記載の装置。
【請求項６８】
固有メッセージ有効化コードの前記リストは、前記第１のデバイスおよび前記第２のデバイスによって相互に生成されることを特徴とする請求項３に記載の方法。
【請求項６９】
固有メッセージ有効化コードの前記リストは、前記第１のデバイスおよび前記第２のデバイスによって相互に生成されることを特徴とする請求項２０に記載のコンピュータ実行可能プロセスステップ。
【請求項７０】
固有メッセージ有効化コードの前記リストは、前記第１のデバイスおよび前記第２のデバイスによって相互に生成されることを特徴とする請求項３７に記載のコンピュータ可読媒体。
【請求項７１】
固有メッセージ有効化コードの前記リストは、装置および前記第２のデバイスによって相互に生成されることを特徴とする請求項５４に記載の装置。
【請求項７２】
前記第１のデバイスから前記第２のデバイスに送信される前記メッセージおよび前記固有メッセージ有効化コードは、送信されるのに先立ってデジタル署名アルゴリズムにかけられることを特徴とする請求項７に記載の方法。
【請求項７３】
前記第１のデバイスから前記第２のデバイスに送信される前記メッセージおよび前記固有メッセージ有効化コードは、送信されるのに先立ってデジタル署名アルゴリズムにかけられることを特徴とする請求項２４に記載のコンピュータ実行可能プロセスステップ。
【請求項７４】
前記第１のデバイスから前記第２のデバイスに送信される前記メッセージおよび前記固有メッセージ有効化コードは、送信されるのに先立ってデジタル署名アルゴリズムにかけられることを特徴とする請求項４１に記載のコンピュータ可読媒体。
【請求項７５】
前記ホストデバイスから装置に送信される前記メッセージおよび前記固有メッセージ有効化コードは、送信されるのに先立ってデジタル署名アルゴリズムにかけられることを特徴とする請求項５９に記載の装置。
【請求項７６】
前記メッセージの前記処理は、印刷プロセスを含むことを特徴とする請求項５２に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介して伝送されるメッセージのリプレイアタック（replay attack）に対するセキュリティに関する。より詳細には、本発明は、傍受されたメッセージがリプレイ（再生）されることに対するセキュリティに関する。このセキュリティは、メッセージの処理を有効にするか否かを判定するために、メッセージに含められた固有メッセージ有効化コードを、受信側デバイスの中の格納された固有メッセージ有効化コードのリストと比較することによりなされる。
【背景技術】
【０００２】
ネットワークを介して伝送されるメッセージのリプレイアタックは、残念ながら、一般的に見られることになっている。リプレイアタックは、通常、ハッカが、ネットワークを介して伝送されたメッセージを傍受し、そして、その後のある時点で、宛先のデバイスにメッセージを再度、再送信する（つまり、メッセージをリプレイする）ことから成る。例として、１つの口座から別の口座への金銭の振替のために、自宅ユーザまたはビジネスユーザから金融機関にインターネットを介してメッセージが伝送され得る。このメッセージを傍受したハッカが、後のある時点で、そのメッセージを金融機関に再度、送信して、資金の第２の振替をもたらす可能性がある。また、別の例として、ネットワークを介するプリンタへの機密の印刷ジョブの伝送が、ハッカによって傍受されることが可能である。そして、ハッカは、後のある時点でプリンタに対するその印刷ジョブをリプレイして（すなわち、再送信して）、機密情報を獲得することができる。
【０００３】
以上のような、ネットワークを介する多くの伝送は、デジタル署名などの、何らかのタイプのセキュリティを利用してメッセージが本物であることを検証することができる。しかしながら、そのような署名は、リプレイアタックを防止するのにほとんど役立たない。この点について、ハッカは、メッセージを傍受することにより、後の時点でそのメッセージをリプレイするのに必要な署名を獲得することができる。署名は、メッセージの第１回目のリプレイにおいて検証されているため、メッセージの第２回目の再生（playback）でも検証される可能性が高い。
【０００４】
リプレイアタックに対処するために提案されている１つの技術（Kerberosとして知られる）は、伝送されるメッセージにチケットおよびタイムスタンプを追加することを含む。メッセージが受信側デバイスによって受信されると、チケットおよびタイムスタンプは、指定された時間（例えば、５分間）にわたり、受信側デバイスの中で一時的に保持される。さらなるメッセージが受信されると、新たに受信されたメッセージのチケットおよびタイムスタンプが抽出されて、それらが、一時的に保持されているチケットおよびタイムスタンプのいずれかと同一であるかどうかが判定される。同一である場合、エラーメッセージが戻される。このため、このシステムは、リプレイアタックに対するいくらかのセキュリティをもたらすが、しかし、いくつかの問題を抱えている。
【０００５】
前述のシステムが抱える１つの問題は、タイムスタンプが、メッセージの有効性の目安として使用される場合、同一のタイムスタンプが異なるメッセージに与えられる可能性があるということである。このように、タイムスタンプは、メッセージ自体を特定するのではなく、メッセージが伝送された時刻を特定するため、正規のメッセージと同一のタイムスタンプが存在する場合、リプレイされたメッセージが有効であると見なされる可能性がある。
【０００６】
また、前述のシステムが抱える別の問題は、各受信側デバイスが、使用済みのチケットおよびタイムスタンプを格納するのに十分なストレージスペースを提供しなければならないことに起因するオーバーヘッドの増加である。多くのメッセージが受信されるにつれて、使用済みのチケットを保持するために大量のストレージスペースが必要とされる。さらに、チケットの数が増えるにつれ、使用済みのチケットを探索するためにより多くの処理時間が要求されてしまい、時間に関するシステムのパフォーマンスが低下してしまう。
【０００７】
加えて、ハッカが、一時的に保持されたチケットおよびタイムスタンプを受信側デバイスから削除した後、メッセージをリプレイできる可能性がある。このため、チケットおよびタイムスタンプが１回使用されている可能性があるものの、そのチケットおよびタイムスタンプは一時的に保持された情報から削除されている。そのため、リプレイされるメッセージは、そのメッセージが、タイムスタンプの許容できる時間枠内でリプレイされるものと想定すると有効であると認識される。この結果、使用済みのチケットおよびタイムスタンプを一時的に保持するKerberosプロセスは、いくらかの保護を提供するが、依然としてリプレイアタックの防止にいくらかの弱点を有する。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明の目的は、前述の諸問題の少なくとも１つを解決することである。本発明は、ジョブを受け取って処理するデバイスの中に有効なコードまたはトークンのリストを格納する。そして、受信されたメッセージに含められた固有メッセージ有効化コード（トークン）を格納済みのリストと比較し、そのコード（トークン）が有効であるか否かを判定する。次に、格納済みのリストから受信済みのコード（トークン）を削除する。以上のようにして、本発明は前述の課題に対処する。このため、本発明によれば、固有メッセージ有効化コードのリストが、受信側デバイスの中に格納される。ホストデバイスにおいて生成されたメッセージが受信側デバイスに伝送される。このメッセージは、生成されたリストからの固有メッセージ有効化コードの少なくとも１つを含む。受信側デバイスは、メッセージを受信すると、受信されたメッセージに含められた固有メッセージ有効化コードを格納済みのリストの中に含まれるコード群と比較し、そのメッセージの処理を拒否するか否かを判定する。このため、一つの実施形態では、メッセージとともに受信された固有メッセージ有効化コードが格納済みのリストの中に含まれている場合、そのメッセージは、有効であると見なされ、対応する固有メッセージ有効化コードが格納済みのリストから削除される。しかし、メッセージとともに受信された固有メッセージ有効化コードが、格納済みのリストの中に含まれていなかった場合、そのメッセージの処理は拒否される。
【０００９】
この結果、ハッカがメッセージを傍受して、後の時点で受信側デバイスにそのメッセージを再送信することによって、メッセージを再度、リプレイしようと試みるような場合、受信側デバイスはそのメッセージを拒否する。固有メッセージ有効化コードが格納済みのリストの中にもはや含まれていないためである。さらに、前述したKerberosシステムとは異なり、ハッカが、受信側デバイスからコードの格納済みのリストを削除するような場合、コードがリストの中に含まれていないので、リプレイされるメッセージは拒否される。もちろん、この場合、メッセージの第１回の再生も拒否されるが、メッセージの送信者は、単に新たなコードを獲得して、その新たなコードとともに新たなメッセージを伝送することができる。さらに、ハッカが、現在、格納されているリストを削除するようなことがあった場合、コードの新たなリストを自動的に獲得するデバイスをシステムに組み込むことができる。このため、受信側デバイスに特有の固有メッセージ有効化コードのリストを受信側デバイスの中で提供することにより、傍受されたメッセージのリプレイに対するセキュリティを容易に提供することができる。
【課題を解決するための手段】
【００１０】
このため、本発明の一態様では、第１のデバイスから第２のデバイスによって実行されるメッセージの固有メッセージ有効化コードを第２のデバイスの中に格納された固有メッセージ有効化コードのリストと比較する。そして、メッセージとともに受信された固有メッセージ有効化コードが格納済みのリストの中に含まれているかどうかを判定する。このようにすることで、第１のデバイスから第２のデバイスに伝送されるメッセージのリプレイに対するセキュリティを提供する。この比較に基づき、第２のデバイスによるメッセージの処理を拒否するか否かの判定が行われる。
【００１１】
メッセージとともに受信された固有メッセージ有効化コードが格納済みのリストの中に含まれていると判定された場合、メッセージの処理は拒否されず、対応する固有メッセージ有効化コードが格納済みのリストから削除される。他方、メッセージとともに受信された固有メッセージ有効化コードが、格納済みのリストの中に含まれていないと判定された場合、メッセージの処理は拒否される。
【００１２】
固有メッセージ有効化コードのリストは、好ましくは、第３のデバイスまたは第１のデバイスによって生成され、生成されたリストが、第２のデバイスに伝送されて、第２のデバイスの中に格納される。代替として、固有メッセージ有効化コードは、デバイス間でリストを伝送するのではなく、第２のデバイスおよび第３のデバイスによって相互に生成されてもよい。このため、メッセージは、生成されたリストからの固有メッセージ有効化コードの少なくとも１つを含むように、第１のデバイスにおいて生成されることが可能である。もちろん、メッセージおよび固有メッセージ有効化コードは、次に、第１のデバイスから第２のデバイスに伝送されることが可能である。
【００１３】
メッセージを生成することの一環として、第１のデバイスは、第３のデバイスから、メッセージの中に含められるべき固有メッセージ有効化コードを要求することができる。これにより、第３のデバイスは、メッセージの中に含められるべき固有メッセージ有効化コードを第１のデバイスに伝送する。この態様では、セキュリティで保護されたサーバが、第２のデバイスのために有効なコードのリストを保持することができ、複数の第１のデバイスが、第２のデバイスにメッセージを送信するのに使用するためのコードを要求することができる。
【００１４】
本発明の別の態様では、第２のデバイスは、格納済みのリストの中に所定の数以下の固有メッセージ有効化コードが含まれているかどうかを判定することができる。リストが所定の数以下の固有メッセージ有効化コードを含むと判定された場合、第２のデバイスは、そのリストに対する追加の固有メッセージ有効化コードを獲得することができる。例えば、第２のデバイスは、リストが所定の数以下まで使い果たされると、追加のコードが必要とされていることを第１のデバイスまたは第２のデバイスに通知することができる。このため、追加の固有メッセージ有効化コードが、第２のデバイスに伝送されることが可能である。これにより、第２のデバイスは、現在、格納されているリストの代りに新たなリストの利用を開始するか、または追加のコードを現在のリストに単に加えて、累加的なリストを形成することができる。代替として、第２のデバイスは、コードの相互生成が使用される実施形態の場合、単に新たなリスト自体を生成してもよい。
【００１５】
以上では、本発明において３つのデバイスが利用されるケースを説明したが、より少ない、またはより多いデバイスが代りに使用されることも可能であることは容易に認識できるであろう。例えば、コードのリストが、第１のデバイス自体において生成され、リストが第２のデバイスに転送されるような、第１のデバイスおよび第２のデバイスだけを利用するシステムも使用することができる。そして、第１のデバイスが第２のデバイスにジョブを送信しようとする場合、ジョブに含められるべきコードを、第３のデバイスと通信して獲得する必要なしに、単に第１のデバイス独自の内部リストから獲得することができる。
【００１６】
以上の簡単な概要は、本発明の性質を迅速に理解することができるように提供した。本発明のより完全な理解は、添付の図面に関連して、本発明の好ましい諸実施形態の以下の詳細な説明を参照することにより得ることができる。
【発明を実施するための最良の形態】
【００１７】
本発明は、メッセージのリプレイアタックを防止することを目的とする。以下により詳細に説明するとおり、本発明は、パーソナルコンピュータ、多機能デバイス、およびサーバなどの様々なデバイスが、ネットワークを介して互いに通信する、ネットワークコンピューティング環境において実施される。なお、以下に提供する詳細な説明は、印刷ジョブがホストコンピュータから多機能デバイスに伝送され、多機能デバイス上における印刷ジョブのリプレイが防止される、印刷動作を実行することを対象としている。しかしながら、本発明はそのような実施形態に限定されるものではない。むしろ、本発明は、無許可のユーザによるメッセージのリプレイが防止されるべき様々な環境のいずれにおいても実施することができる。このため、本明細書に添付した特許請求の範囲は、印刷環境に限定されず、電子通信のリプレイアタックが防止されるべきあらゆる環境を包含するものとして広く解釈されるべきである。
【００１８】
図１は、本発明を実施することができるネットワーク化されたコンピューティング環境のシステムを示す図である。図１に示すとおり、ネットワーク化されたコンピューティング環境は、デスクトップコンピュータ１０、サーバ４０、多機能デバイス３０、およびプリンタ５０が接続されたネットワーク１００を含むことができる。ネットワーク１００は、好ましくは、バスタイプの物理的アーキテクチャから成るイーサネット（登録商標）ネットワーク媒体である。ただし、本発明は、インターネットを含む他のタイプのネットワークで利用することもできる。
【００１９】
デスクトップコンピュータ１０は、好ましくは、Microsoft Windows （登録商標）2000、Windows （登録商標）MEその他のオペレーティングシステムなどのウインドウ環境を有するＩＢＭ  ＰＣ互換コンピュータなどの、パーソナルコンピュータである。典型的なパーソナルコンピュータがそうであるように、デスクトップコンピュータ１０は、好ましくは、ディスプレイ１１（カラーモニタなどの）、キーボード１２、マウス１３、またはその他のタイプのポインティングデバイス、ならびにフロッピー（登録商標）ディスク、ハードディスク、ＣＤ−ＲＯＭなどの記憶媒体１４を有する。
【００２０】
また、図１には、ネットワーク１００には多機能デバイス３０が接続されている様子が示されている。デバイス３０は、自身が処理するべきコマンドおよびデータをネットワーク１００を介して受信することができる。例えば、デバイス３０は、印刷ジョブを処理してイメージを印刷するために、パーソナルコンピュータ１０から印刷ジョブを受信することができる。多機能デバイス３０は、ファクシミリを送受信すること、写真複写動作を実行すること、またはイメージをスキャンすることも可能である。多機能デバイス３０は、ネットワークインタフェース（図示せず）を介してネットワーク１００上で他のデバイス群と通信し、ネットワーク上の他のデバイス群からのコマンドおよびデータを受信し、それを処理することができる。多機能デバイス３０に関わる本発明の１つの特徴は、デバイス３０が、固有メッセージ有効化コード（以降、「トークン」または「ＴＡＴ」とも呼ぶ）のリストを格納することである。リストは、以下でより詳細に説明するが、例えば、サーバ４０によってデバイス３０に提供され、ネットワーク上の他のデバイスによるデバイス３０へのメッセージまたは伝送のリプレイを防止するのに利用される。このため、デバイス３０は、パーソナルコンピュータ１０とだけでなく、サーバ４０とも通信する能力を含む。
【００２１】
これに関連して、サーバ４０もネットワーク１００に接続される。サーバ４０は、様々なタイプのサーバオペレーティングシステムのうちのいずれか１つを有するサーバタイプのコンピュータを含む。さまざまなタイプのサーバオペレーティングシステムとは、たとえば、好ましくは、DOS、Microsoft Windows （登録商標）2000 Server、Novell、UNIX（登録商標）、Linuxなどである。サーバ４０は、好ましくは、多数のファイルを格納するための大型の固定ディスクである記憶装置４８０を有する。したがって、サーバ４０は、ネットワーク１００上の他のデバイス群によってファイルサーバとして利用されることが可能である。また、サーバ４０は、インターネットなどの別のネットワークへの、ネットワーク１００上の他のデバイス群のためのゲートウェイとしても動作することが可能である。本発明により特有のこととして、サーバ４０は、好ましくは、本発明を実施する際に利用される固有メッセージ有効化コード、またはＴＡＴ（トランザクションアクセストークン）を生成するセキュリティアプリケーション（ＳＡ）を含む。つまり、サーバ４０のセキュリティアプリケーションは、セキュリティで保護された形でネットワーク上の他のデバイス群（多機能デバイス３０など）に伝送されることが可能な、ＴＡＴのリストを生成する能力を含む。ここで、セキュリティで保護された形とは、例えば、ＳＳＬ接続や、暗号化によってなされうる。以上のプロセスは、サーバのセキュリティアプリケーションに関連して以下により詳細に説明される。
【００２２】
プリンタ５０もネットワーク１００に接続される。プリンタ５０は、好ましくは、レーザプリンタまたはバブルジェット（登録商標）プリンタである。プリンタ５０は、多機能デバイス３０のような機能を含むが、より具体的には、印刷動作だけを実行することを目的とする。このため、プリンタ５０は、本発明に関連するところでは、多機能デバイス３０と同一の形で動作し、したがって、デバイス３０の説明は、プリンタ５０にも同等に当てはまる。
【００２３】
図２は、デスクトップコンピュータ１０の内部アーキテクチャの概略を示すブロック図である。図２において、デスクトップコンピュータ１０は、コンピュータバス２００と接続されたプログラマブルマイクロプロセッサなどの中央処理装置（ＣＰＵ）２１０を含むことが示されている。また、コンピュータバス２００には、キーボード１２とインタフェースするためのキーボードインタフェース２２０、マウス１３とインタフェースするためのマウスインタフェース２３０、フロッピー（登録商標）ディスク１４とインタフェースするためのフロッピー（登録商標）ディスクインタフェース２４０、ディスプレイ（モニタ）１１とインタフェースするためのディスプレイインタフェース２５０、ネットワーク１００とインタフェースするためのネットワークインタフェース２６０、およびローカル周辺デバイス群（図示せず）とインタフェースするための周辺デバイスインタフェース２６５も接続される。ランダムアクセスメモリ（「ＲＡＭ」）２７０が、コンピュータバス２００とインタフェースされ、中央処理装置（「ＣＰＵ」）２１０にメモリストレージへのアクセスを提供し、ＣＰＵ２１０のためのメインランタイムメモリとして動作する。詳細には、格納済みのプログラム命令シーケンスを実行する際、ＣＰＵ２１０は、それらの命令シーケンスを固定ディスク２８０（または他のメモリ媒体）からランダムアクセスメモリ（「ＲＡＭ」）２７０の中に読み込む。そして、ＲＡＭ２７０からそれらの格納済みのプログラム命令シーケンスを実行する。ウインドウオペレーティングシステムの下で利用可能な標準ディスクスワップ技術により、メモリのセグメントが、ＲＡＭ２７０と固定ディスク２８０の間でスワップされることが可能になることにも留意されたい。読み取り専用メモリ（「ＲＯＭ」）２９０は、ＣＰＵ２１０のための起動命令シーケンス、またはコンピュータ１０に接続された周辺デバイス群の動作のための基本入出力オペレーションシステム（「ＢＩＯＳ」）などの、不変の命令シーケンスを格納する。
【００２４】
固定ディスク２８０は、中央処理装置（「ＣＰＵ」）２１０によって実行可能なプログラム命令シーケンスを格納するコンピュータ可読媒体の一例である。格納済みのプログラム命令の一部には、ウインドウオペレーティングシステム２８１、プリンタドライバ２８２、ローカル周辺デバイスドライバ２８３、暗号化／暗号解読ロジック２８４、アプリケーションプログラム２８５、およびネットワーク周辺デバイスドライバ２８６が含まれる。前述したとおり、オペレーティングシステム２８１は、好ましくは、ウインドウオペレーティングシステムであるが、他のタイプのオペレーティングシステムも、本発明で使用することができる。プリンタドライバ２８２は、多機能デバイス３０またはプリンタ５０などの、少なくとも１つのイメージ形成デバイス上で印刷するためのイメージデータを準備する。ローカル周辺デバイスドライバ２８３は、ローカル周辺デバイス（すなわち、コンピュータ１０にローカルで接続されたデバイス）と接続するためのローカル周辺デバイスインタフェース２６５を駆動し、制御するのに利用される。暗号化／暗号解読ロジック２８４は、コンピュータ１０によってネットワーク上の他のデバイスに伝送されるべきデータの暗号化を実行可能にする。また、暗号化／暗号解読ロジック２８４は、コンピュータ１０によってネットワーク上の他のデバイスから受信される暗号化されたデータの解読を実行することを可能にする。アプリケーションプログラム２８５には、例えば、Microsoft Word、PowerPoint、またはCorel WordPerfectなどの、ドキュメントやイメージを作成するための通常のワードプロセッサプログラムが含まれ得る。ネットワーク周辺デバイスドライバ２８６は、コンピュータ１０が、多機能デバイス３０上でリモート動作（例えば、リモートスキャン、リモートコピー、リモートファクシミリなど）を実行するなどの、ネットワーク周辺デバイスと通信するのに必要なドライバを含む。
【００２５】
図３は、サーバ４０の内部アーキテクチャの概略を示すブロック図である。図３では、サーバ４０が、中央処理装置（「ＣＰＵ」）４１０、キーボードインタフェース４２０、マウスインタフェース４３０、ディスプレイインタフェース４５０、ネットワーク１００とインタフェースをとるためのネットワークインタフェース４６０、ランダムアクセスメモリ（「ＲＡＭ」）４７０、固定ディスク４８０、および読み取り専用メモリ（「ＲＯＭ」）４９０を含み、これらのすべてがコンピュータバス４００に接続されていることが示されている。以上のコンポーネントのそれぞれの機能および動作は、図２に関連して説明した同様のコンポーネントと同様である。したがって、図２に関連して説明したそれらのコンポーネントの動作の詳細な説明は、図３に示したコンポーネントにも等しく適用される。よって、これらのコンポーネントの説明は、ここでは簡明にするために省略する。
【００２６】
固定ディスク４８０は、ＣＰＵ４１０によって実行可能なプログラム命令シーケンスを格納するコンピュータ可読媒体の一例である。詳細には、オペレーティングシステム４１１、ネットワークインタフェースドライバ４１２、セキュリティアプリケーション４１３、およびディレクトリサービス４１４などのソフトウェアアプリケーションが、固定ディスク４８０上に格納され得る。ネットワークインタフェースドライバ４１２は、サーバ４０をネットワーク１００に接続するためにネットワークインタフェース４６０を駆動するのに利用される。以下でより詳細に説明するセキュリティアプリケーション４１３は、本発明を実施するための様々なセキュリティ機能を提供する。簡単に述べると、セキュリティアプリケーション４１３は、コンピュータ１０、多機能デバイス３０、およびプリンタ５０を含むネットワーク上の様々なデバイスからコマンドを受け取り、相応した形でそれらのコマンドを処理する。例えば、セキュリティアプリケーション４１３は、多機能デバイス３０からコマンドを受信して、デバイス情報をディレクトリサービス４１４に公開すること、またはＴＡＴのブロックのダウンロードを要求することができる。セキュリティアプリケーション４１３は、コンピュータ１０からコマンドを受信して、ジョブをデバイス３０に送信する許可を要求することもできる（詳細は後述する）。許可要求には、コンピュータ１０が、ジョブのリプレイを防止することができる形で、ジョブを多機能デバイス３０に送信することができるのに必要なあらゆるセキュリティ関連情報（やはり、以下により詳細に説明する）を求める要求が含まれ得る。ディレクトリサービス４１４は、好ましくは、ネットワークに接続された様々なデバイスのデバイス情報を格納することなどの、様々なディレクトリ機能を実行するＬＤＡＰ（ライトウェイトディレクトリアクセスプロトコル）ベースのディレクトリサービスである。なお、ディレクトリサービス４１４は、固定ディスク４８０内部に存在するように図示しているが、代りに、サーバ４０の外部に配置することも可能であることに留意されたい。例えば、サーバ４０がネットワークインタフェース４６０を介してネットワーク上でディレクトリサービスサーバと通信できるように、ディレクトリサービスは別のサーバ（図１に示さない）において実施されるようにしてもよい。
【００２７】
次に、本発明を実施する際に利用されるソフトウェアアーキテクチャを説明する。簡単に述べると、そのアーキテクチャは、コンピュータ１０のような機能ユーザ（以降、「ＦＵ」と呼ぶ）、多機能デバイス３０のような機能プロバイダ（以降、「ＦＰ」と呼ぶ）、セキュリティアプリケーション４１３のようなセキュリティアプリケーション（以降、「ＳＡ」と呼ぶ）、およびディレクトリサービス４１４のようなディレクトリサービス（以降、「ＤＳ」と呼ぶ）を含む。各コンポーネントは、本発明によるジョブ送信プロセスを実行するための機能を提供する様々なモジュールを含む。例えば、印刷動作を実行する際、多機能デバイス３０に印刷ジョブを送信することを望む機能ユーザは、セキュリティアプリケーションにジョブ許可要求コマンドを伝送する。その要求は、セキュリティアプリケーションが、ＴＡＴ（トランザクション許可トークン）を含む許可応答を機能ユーザに提供するためのものであってもよい。その応答は、印刷ジョブをデバイス３０に伝送するために利用される。以下により詳細に説明するとおり、許可応答の中に含まれるＴＡＴは、印刷ジョブのリプレイアタックを防止するのに利用される。セキュリティアプリケーションは、許可要求を処理して、許可応答で機能ユーザに応答する。機能ユーザは、許可応答を受信した後、印刷ジョブを許可応答と一緒にデバイス３０に送信し、機能プロバイダ（デバイス３０）が、印刷ジョブを相応した形で処理する。以下により詳細に説明するとおり、機能プロバイダによる印刷ジョブの処理は、印刷ジョブとともに受信される許可応答の中に含まれるＴＡＴが有効であることを検証して、リプレイアタックを防止するようにすることが含まれることが可能である。次に、以上のプロセスをより詳細に説明する。
【００２８】
図４は、セキュリティアプリケーションコンポーネント１１３の詳細な内部表現とともにシステムの全体的なソフトウェアアーキテクチャを示している。図４に示されるように、セキュリティアプリケーションコンポーネント１１３（ＳＡ）は、コンピュータ１０を含む機能ユーザ１１０（ＦＵ）、多機能デバイス３０のような機能プロバイダ１３０（ＦＰ）、管理ユーザ１６０（「ＡＵ」として示す）、およびディレクトリサービス４１４のようなディレクトリサービス１１４（ＤＳ）と通信する。ＳＡ１１３と、ＦＵ１１０、ＡＵ１６０、およびＤＳ１１４の間の通信は、好ましくは、ＳＳＬ（セキュアソケットレイヤ）などのセキュリティで保護された伝送プロトコル上で行われる。図４では、ＳＳＬ通信を斜線を入れた矢印で表し、他方、非ＳＳＬ通信は、普通の矢印で表している。ただし、ＳＡ１１３とＦＰ１３０の間の通信は、ＳＳＬリンクを介することも、非ＳＳＬリンクを介することも可能である。ＳＳＬリンクは、例えば、トークン（ＴＡＴ）のリストがＳＡ１１３からＦＰ１３０にダウンロードされるケースで利用される。他方、非ＳＳＬリンクは、ＦＰ１３０によってＤＳ１１４にデバイス情報を公開する場合、デバイスが新規のデバイスである場合、またはＳＡからＦＰにダウンロードされるトークン（ＴＡＴ）のリストが、暗号化を利用している場合に利用される得る。
【００２９】
図４で見られるとおり、セキュリティアプリケーション１１３は、ＳＳＬコンポーネント１２０、コマンド処理コンポーネント１２１、セキュリティコンポーネント１２２、およびディレクトリコンポーネント１２３を含む。ＳＡ内部のＳＳＬコンポーネント１２０は、ソケット通信のためのＳＳＬサポートを提供する。ソケット上で送信されるすべてのデータは、ＳＳＬコンポーネントを経由する。もちろん、通信のために非ＳＳＬ接続が利用される場合、ＳＳＬコンポーネントは、ＳＳＬではなく、利用されている通信のタイプに対応する通信コンポーネントを含むものとなる。
【００３０】
コマンド処理コンポーネント１２１は、ＳＡに対する着信コールを扱う。コマンド処理モジュールの主な機能は、異なる送信元からの着信コマンドをＳＡ内部の適切なコンポーネントに変換することである。コマンド処理モジュールが認識することができるコマンドの例が、デバイス公開コマンドである。デバイス公開コマンドは、新規のデバイスのデバイス情報（すなわち、ＭＩＢ（管理情報ベース）情報など）をＤＳ１１４に公開することを目的とする。コマンド処理コンポーネントは、このコマンドのためにディレクトリコンポーネント１２３およびセキュリティコンポーネント１２２と通信する。
【００３１】
セキュリティコンポーネント１２２は、ネットワーク上のデバイスに対するＴＡＴの生成および配信、ならびに許可応答の中に含められるＴＡＴにデジタル署名を適用すること（以下により詳細に説明する）などの、新たなデバイスに対するセキュリティ情報の生成および配信を含む様々な動作を実行する。ＴＡＴは、本発明において、印刷ジョブであれ、他の任意のタイプのトランザクションであれ、所与のトランザクションが１回だけ処理されることを確実にすることにより、リプレイアタックを防止するのに利用される。リプレイ防止におけるＴＡＴの基本的な応用は、以下のとおりである。
【００３２】
単一のＴＡＴ、またはＴＡＴのリストが、ＳＡによって生成される。好ましくは、ＴＡＴは、ＴＡＴが固有である（決して繰り返されない）こと、およびＴＡＴが攻撃者によって、合理的には、予測、または推測されることが可能でないことをともに保証する特性（単純なランダム値、または時刻と日付の表現と組み合わされたランダム値のような）を有する。ＴＡＴは、ＦＰの中に格納される場合、好ましくは、ＴＡＴのブロックの一部として、他のＴＡＴと一緒に、セキュリティで保護された形で（例えば、ＳＳＬを介して、または暗号化されることにより）ＦＰに配信される。つまり、ＴＡＴのブロックが、ＳＡによって生成され、ＦＰにあらかじめ配信されるか、または都合のよい間隔で配信され、ＦＰが、将来の動作のために使用されるＴＡＴのブロックを保持するようにする。このため、ＳＡは、前もってＴＡＴのブロックを生成し、ＦＰに送信することができ、ＦＰにおいて、ＴＡＴのブロックは、必要とされるまで、セキュリティで保護された形で格納される。ジョブをＦＰに送信することを望むＦＵは、許可要求をＳＡに伝送する。ＳＡは、その要求を処理し、許可応答を生成する。ＴＡＴのブロックとともにＦＰに配信されたＴＡＴの１つが、ＳＡによって許可応答の中に含められ、次に、その応答が、許可要求を伝送したＦＵに戻される。ＦＵは、ジョブを、ＴＡＴを含む許可応答と一緒に、ＦＰに配信する。ＦＰは、ジョブに含められたＴＡＴを、ＦＰがＳＡから以前に受信したＴＡＴのリストと照合することにより、そのＴＡＴが有効であることを確認する。ＴＡＴが有効である（すなわち、ＴＡＴが、格納済みのブロックの中に含まれている）と判明した場合、ＦＰは、そのジョブを処理した後、格納済みのリストからＴＡＴを削除して、同一のＴＡＴを含むいずれのジョブも、将来的に受け入れないようにする。このトークンベースの許可システムにより、各トランザクションが、１回だけしか処理されないことが確実になる。このため、トランザクションのビットイメージが攻撃者によってリプレイされた場合、ＦＰは、ＦＰのローカルストアの中で合致するＴＡＴを見つけることができず、そのトランザクションを拒否する。この実装のさらなる利点は、ＦＰが、将来の参照のために使用済みのトークンのコピーを格納する必要が全くないことである。このアプローチは、デバイスの電源サイクル中に生じる可能性があるように、ＦＰによって格納されたトークンを破壊し、次に、使用済みのトークンが見つからないデバイスにトランザクションのリプレイを送信することにより、仕掛けられる可能性がある攻撃を防止する。他方、トークンストアの揮発度に依存して、電源サイクルの後、デバイスにアクティブなＴＡＴを再配信することが必要である可能性がある。そのような配信は、いずれも、以下により詳細に説明するとおり、通常の配信機構の限度内で容易に対処することができる。
【００３３】
ＦＰに対するＳＡによるＴＡＴの生成および配信、ならびにＳＡおよびＦＰによるＴＡＴの相互に独立した生成に関して、以下に簡単な説明を提供する。
【００３４】
好ましい実施形態では、すべてのトークンは、ＳＡによって生成され、必要に応じて生成されて、ＦＰに個々に転送されるか、またはトークンのブロックとして生成されて、単一の動作でＦＰに転送される。トークンが個々に生成されるか、ブロックとして生成されるかに関わらず、トークン構築のために同一の方法を使用することができる。これに関して、ＳＡは、単に十分な長さの暗号法上、堅牢なランダム値（ｒｖ）を生成することにより、または利用可能な最も細かい分解能の時刻をランダム値と組み合わせることにより、ＴＡＴを生成することができる。ジェネレータの結果の出力（例えば、ｒｖ、ｒｖと組み合わせたｔｏｄなど）をＴＡＴとして直接に使用することができる。このため、ＴＡＴが、単にランダム値（ｒｖ）を含む場合、ＳＡは、任意の周知のジェネレータを利用して、暗号法上、堅牢なランダム値を生成する。組み合わせの実施形態では、各ＴＡＴは、以下の方法を使用して、ＳＡによって個々に生成されることが可能である。すなわち、
ＴＡＴn＝ｔｏｄ‖ｒｖ
ただし、ｔｏｄは、時刻であり、ｒｖは、暗号法上、堅牢なランダム値であり、‖は、連結を表す。最初のトークンに関して、単純なジェネレータは、以下のとおり実施することができる。すなわち、
ＴＡＴ0＝ｔｏｄ‖ｒｖ
ただし、ｔｏｄは、時刻であり、ｒｖは、暗号法上、堅牢なランダム値であり、‖は、連結を表す。ＳＡ上のリアルタイムクロックの十分に細かい分解能を使用すると、一意性を保証することができる。
【００３５】
ＴＡＴは、生成されると、必要に応じて個々に、または、より好ましくは、ＴＡＴのブロックとして、ＳＡによってＦＰにセキュリティで保護された形で配信されることが可能である。前述したとおり、ＴＡＴは、ＳＡによってＦＰに、ＳＳＬ接続を介して配信されること、またはブロックに、ＳＡによってデジタル署名が行われ、次に、そのブロックが、ＳＡによって暗号化されて、ＦＰに伝送されることが可能である。
【００３６】
以上の代替として、ＴＡＴは、ＳＡおよびＦＰによって互いに独立に生成されることも可能である。つまり、ＳＡが、ＴＡＴのブロックを独立に生成することができ、ＦＰも、ＴＡＴの対応するブロックを独立に生成することができる。この方法は、ネットワークを介してＳＡからＦＰにＴＡＴのブロックを伝送する必要性をなくし、攻撃者がブロックを傍受する可能性を小さくする。相互生成は、例えば、生成プロセス中、ハッシュ法または暗号化を使用することができる。この実施形態を使用して、ＳＡおよびＦＰは、ＴＡＴ値の同一のシリーズを生成し、ＴＡＴ値のこのシリーズは、攻撃者が前の値のシリーズの知識を有している場合でも、攻撃者が予測することはできない。このタスクを達成する１つのやり方は、入力を混ぜ合わせるハッシュ関数を使用する単純なジェネレータを使用することである。このアプローチを使用して、組み合わせの実施形態における最初のトークンは、ＳＡによって以下のとおり生成されることが可能である。すなわち、
ＴＡＴ0＝ｔｏｄ‖ｒｖ
ただし、ｔｏｄは、時刻であり、ｒｖは、暗号法上、堅牢なランダム値である。次に、同一のトークンが、ＳＡとＦＰの両方によって、以下を使用して生成されることが可能である。すなわち、
ＴＡＴn＝ｔｏｄ‖Ｈｋ（ＴＡＴn-1‖ｎ）
ただし、Ｈは、ＨＭＡＣ−ＳＨＡ１のようなキー付きハッシュ関数であり、ｔｏｄは、最初のトークンの中でＳＡによって提供された時刻であり、ｋは、現在のブロックの初期設定中にＳＡによって生成されたランダムキーであり、ｎは、ｎ＞０であるカウンタの値である。この実施形態では、数式の右側のすべての変数は、攻撃者に既知である可能性があるため、ハッシュキーの存在が必須である。ｋの知識なしには、攻撃者は、ｔｏｄ、ＴＡＴn-1、およびｎの所有にも関わらず、ＴＡＴnを生成することができない。
【００３７】
このため、以上から見て取ることができるとおり、ＴＡＴは、様々なインプリメンテーションのいずれにおいてＳＡとＦＰの間で生成され、配信されてもよい。ただし、好ましくは、ＴＡＴは、ＳＡによってブロックとして生成され、ＴＡＴのブロックは、ＦＰに配信され、ＦＰにおいて将来の使用のために格納される。もちろん、ＴＡＴのブロックは、ＳＡによって保持されることも可能である。したがって、ＦＵが、ＦＰ上である動作を実行するように要求すると、いずれのＴＡＴが、ＦＵが使用することを望むＦＰに対応するかをＳＡが判定することができ、ＦＵがＦＰに送信されるジョブの中に含める適切なＴＡＴを、ＦＵに提供することができる。
【００３８】
図４に戻ると、ディレクトリコンポーネント１２３が、コマンド処理コンポーネント１２１およびディレクトリサービス１１４と通信する。図５は、ディレクトリコンポーネント１２３のより詳細なブロック図を示す。
【００３９】
図５で見られるとおり、ディレクトリコンポーネント１２３は、コマンド処理コンポーネント１２１およびスキーママネージャモジュール１３１と通信するデバイス公開モジュール１２６を含む。デバイス公開モジュール１２６は、ＳＡによってＦＰから受信されたデバイス公開コマンドを扱い、新規のデバイスをセットアップする。新たなデバイスが起動され、ＳＡを検出する検出動作を実行すると、デバイス公開モジュールが、デバイススキーマに従ってＦＰからデバイス構成情報を獲得し、収集された情報をディレクトリサービス１１４の中に格納する。スキーママネージャモジュール１３１が、ディレクトリアクセス要求を扱い、ディレクトリスキーマの知識を有し、したがって、いずれのディレクトリアクセス要求もディレクトリスキーマにマップして、ディレクトリサービスの中に格納された情報を、好ましくは、ＬＤＡＰを介して、プルすることができる。
【００４０】
図６は、本発明によるＦＵ、ＳＡ、およびＤＳの間の通信の実施例を示す。以下の説明では、図６に示された番号付きの矢印は、様々なモジュール間の通信を表し、矢印は、括弧付きで（例えば、矢印番号１の場合、（矢印１））で表す。図６では、ＦＵとＳＡの間のリンクがＳＳＬを介するものと想定して、ＦＵ１１０が、ＳＡがリッスンしているＳＳＬポートに接続する（矢印１）。この時点で、ＦＵとＳＡの間で認証プロセスが実行されて、ＳＡが、接続を受け入れ、ＦＵに関するスレッドおよび新たなデータ通信ソケットを生成する。このため、セキュリティで保護された（ＳＳＬ）通信が、ＳＡとＦＵの間で確立される（矢印２）。次に、ＦＵが、許可要求をＳＡに送信する（矢印３）。許可要求は、例えば、ＦＰ１３０上で印刷動作を実行するように、およびＳＡがＦＵにＴＡＴを提供するようにというＦＵによる要求であることが可能である。コマンド処理コンポーネント１２１が、要求を処理し、判定モジュール１２７を呼び出し、要求を判定モジュール１２７に転送する（矢印４）。判定モジュールは、要求を処理して許可ビットを構築し、その許可ビットをセキュリティコンポーネントに転送する（矢印５）。セキュリティコンポーネントは、許可ビットを処理して、暗号化された（好ましくは、デジタル署名された）ＴＡＴを判定モジュールに送り返す（矢印６）。判定モジュール１２７は、暗号化されたＴＡＴを許可応答の形態でＦＵに送り返す（矢印７および矢印８）。次に、ＦＵとＳＡの間のソケット接続が閉じられる。
【００４１】
図７は、ＦＰ１３０とＳＡ１１３の間における通信のためのソフトウェアアーキテクチャを示す。図７に示すとおり、ＦＰが、ＳＡに対してセキュリティで保護されていない通信を開始することが可能である。セキュリティで保護されていない通信は、例えば、ネットワーク上で新たなデバイスの初期セットアップを始めるために、またはＳＡがＦＰにＴＡＴの新たなブロックを提供することを要求するために使用することができる。このため、ＦＰは、ＳＡがリッスンしている非ＳＳＬポートに接続する。ＳＡは、接続を受け入れ、そのＦＰに関するスレッドおよび新たなデータ通信ソケットを生成する。初期セットアップモードでは、ＦＰは、それが新たなデバイスであることを明示するデバイス公開コマンドを、コマンド情報ブロックとともにＳＡに送信する（矢印１）。ＦＰが、ＴＡＴの新たなブロックを要求している場合、矢印１は、その新たなブロックを要求しているコマンドを表す。コマンド処理コンポーネント１２１は、受信されたコマンドを処理して、セキュリティコンポーネント１２２に転送する（矢印２）。ＦＰが新たなデバイスである場合、セキュリティコンポーネント１２２は、その新たなデバイスにダウンロードされるべきセキュリティ情報を生成する。より具体的には、ＳＡのセキュリティコンポーネントは、その新たなデバイスのために公開キー／秘密キーペアを生成し、ＳＡのために署名された証明書を生成する。セキュリティコンポーネントは、前述した方法のいずれか１つを利用して、ＴＡＴのブロックも生成する。このプロセスは、コマンドが、新たなデバイスをセットアップするためである場合と、コマンドが、ＴＡＴの新たなブロックを獲得するためである場合の両方において実行される。代替として、新たなデバイスをセットアップするために、ＴＡＴの相互生成が使用される実施形態では、セキュリティコンポーネントは、将来のＴＡＴの生成のために両方のデバイスによって使用されるべき最初のＴＡＴを生成してもよい。次に、セキュリティ情報、またはＴＡＴの新たなブロックが、ＦＰにダウンロードされる（矢印３）。矢印３の通信は、矢印１とは異なり、セキュリティで保護された通信であることに留意されたい。つまり、セキュリティ情報、またはＴＡＴの新たなブロックは、１）ＳＡが、ＦＰに対してＳＳＬリンクを確立した後、ＳＳＬを介してセキュリティ情報をＦＰに伝送することによってか、または２）ＳＡが、セキュリティ情報を暗号化した後、暗号化されたセキュリティ情報をＦＰに伝送することによってダウンロードされる。次に、ＦＰが、その接続を解除し、ソケットが閉じられる。
【００４２】
図８は、ＦＰに関する内部ソフトウェアアーキテクチャを示す。図８に見られるとおり、ＦＰは、好ましくは、セキュリティコンポーネント１３２によって提供されるセキュリティで保護されたチャネル接続を介してＳＡと通信する。セキュリティアプリケーション検出コンポーネント１３３が、ＳＡ検出プロセスを扱う。デバイスの電源が投入されると、このモジュールは、ＤＮＳサービスを使用して企業（enterprise）ＳＡコンポーネントを検出し、ＳＡとＦＰの間でセキュリティで保護された通信を確立する。
【００４３】
図９は、機能ユーザ（ＦＵ）から機能プロバイダ（ＦＰ）にジョブを送信することに関するプロセスステップのフローチャートである。ジョブの送信の実施例として、印刷ジョブが、コンピュータ１０（ＦＵを構成する）から多機能デバイス３０（ＦＰを構成する）に送信されることが可能であり、印刷ジョブは、サーバ４０（ＳＡを構成する）を介して処理される。しかし、印刷ジョブは、送信されることが可能な唯一のタイプのジョブではなく、ジョブは、リモートコピー動作、ファクシミリ動作、スキャン動作を実行する要求、１つの口座から別の口座に資金を振り替える要求などの、様々な機能のいずれを含むことも可能である。さらに、ＦＰは、好ましくは、以上の動作の任意の１つまたは複数を実行することができる多機能デバイスであるが、多機能デバイスである必要はなく、代りに、サーバ、プリンタ、複写機、ファクシミリ装置などの他の任意のタイプのデバイスでああってもよい。図９を参照すると、ステップＳ９０１で、ユーザが、何らかのタイプのアクションを実行して、ＦＰ上で動作を実行する許可要求を開始する。印刷ジョブが、コンピュータ１０から多機能デバイス３０に送信されるケースでは、ユーザは、コンピュータ１０において開始アクションを実行する。ただし、ユーザは、任意のＦＵデバイスにおいて要求アクションを開始することができ、本発明は、ＦＰとは別個のコンピュータに限定されない。例えば、ＦＰ自体が、ネットワークと通信する多機能デバイス上のタッチパネルディスプレイのような操作ユニットを含み、ユーザが、ＦＰ自体において要求を開始することができるようになっていることも可能である。ＦＵがパーソナルコンピュータ１０であるケースでは、要求アクションは、ユーザが、ジョブをＦＰに送信する操作をアプリケーションプログラムにおいて実行することによって開始されることが可能である。印刷動作を実行することに関して公知のとおり、ユーザは、ワードプロセッシングプログラムなどのアプリケーションプログラム内で印刷オプションを選択して、印刷のために印刷ジョブを送信するための印刷ドライバがアクティブにされることにより、印刷プロセスを開始することができる。
【００４４】
本発明では、印刷ドライバがアクティブにされると、印刷ジョブに関して印刷ドライバによってジョブデータが生成される。例えば、印刷ドライバは、実行されるべき動作のタイプ（すなわち、印刷）、ジョブのページ数、および様々な印刷オプション（カラー印刷、両面印刷など）を含むジョブデータを生成することができる。加えて、ＦＵ（コンピュータ１０）およびＦＰ（多機能デバイス３０）の情報も、ジョブデータの中に含めることが可能である。例えば、ＦＵおよびＦＰのＭＡＣアドレスまたはＩＰアドレスなどの識別情報が、獲得され、ジョブデータの中に含めることが可能である。ジョブデータは、獲得された後、好ましくは、許可要求メッセージの形態で、ＳＡに伝送するためにパッケージ化される。
【００４５】
次に、ＦＵが、ＳＡに対する接続を確立して、許可要求をＳＡに伝送する（ステップＳ９０２）。接続は、好ましくは、ＳＳＬなどのセキュリティで保護された接続である。これは、図６で示された矢印１および矢印２に対応する。ただし、許可要求は、ＳＳＬを介して伝送される代りに、暗号化された形態でＳＡに伝送されることも可能である。セキュリティで保護された接続が確立されると、ＦＵは、許可要求コマンドをＳＡに送信する（ステップＳ９０３）。これは、図６で示された矢印３に対応する。ＳＡは、許可要求を受信すると、その要求を処理して許可応答を構築する（ステップＳ９０４）。許可応答を構築する際、ＳＡは、許可要求の中で特定されたＦＰのためのＴＡＴを獲得し、そのＴＡＴにデジタル署名する。次に、暗号化された（デジタル署名された）ＴＡＴが、許可応答の中に含められ、ＳＡが、許可応答をＦＵに提供する（ステップＳ９０５）。ＳＡは、好ましくは、セキュリティで保護された形で（すなわち、ＳＳＬ、または暗号化を介して）許可応答をＦＵに提供する。
【００４６】
ＦＵは、ＳＡから許可応答を受信した後、ジョブデータおよび許可応答を含むジョブ要求の形態でＦＰコマンドパッケージを構築する。つまり、ＦＵによってＳＡから受信される許可応答は、受信されたのと同一の形態でジョブ要求の中に単に挿入される。ジョブ要求（ジョブデータおよび許可応答を含む）は、好ましくは、セッションキーを利用して暗号化され、次に、暗号化されたジョブが、ＦＵによってＦＰに送信される（ステップＳ９０６）。暗号化されたジョブ要求を受信すると、ＦＰは、セッションキーを利用して、受信されたデータを解読し、許可応答からＴＡＴを抽出する。ＦＰは、抽出されたＴＡＴが有効であるかどうかを判定し（ステップＳ９０７）、有効であった場合、相応した形でそのジョブを処理する（ステップＳ９０８）（すなわち、ジョブは、印刷ジョブである場合、印刷される）。ＴＡＴが無効であると判定された場合、ジョブは、拒否される（ステップＳ９０９）。ステップＳ９０７のＴＡＴ検証プロセスを、図１０および図１１に関連して以下により詳細に説明する。
【００４７】
図１０は、ＦＰが、ジョブとともに受信されたＴＡＴの有効性を確認するプロセスステップのフローチャートである。図１０に示されるように、ＦＰのセキュリティコンポーネント１３２は、ＦＵからジョブを受信する（ステップＳ１００１）。前述したとおり、ジョブは、好ましくは、許可応答の一部としてＴＡＴを含む。セキュリティコンポーネント１３２は、受信された許可応答からＴＡＴを抽出し、そのＴＡＴをＦＰの中に以前に格納されているＴＡＴのブロックと比較する（ステップ１００２）。前述したとおり、ＴＡＴのブロックは、好ましくは、ＦＰの中にあらかじめ格納される。この比較に基づき、ジョブとともに受信されたＴＡＴが、ＴＡＴの格納済みのブロックの中に含まれているか否かの判定が行われる（ステップＳ１００３）。含まれていない場合、ＴＡＴは、無効であると判定され（ステップＳ１００４）、ジョブは、拒否される（ステップＳ９０９）。一方、対応するＴＡＴが格納済みのブロックの中に含まれている場合、ＴＡＴは、有効であると判定され（ステップＳ１００５）、ジョブは、相応した形で処理される。ＴＡＴは、使用された後、ＴＡＴの格納済みのブロックから削除される（ステップＳ１００６）。次に、処理は、図９のステップＳ９０８に進む。このように、各メッセージに固有である固有メッセージ（有効化）コードを使用することにより、各メッセージに固有であるコードに基づいて判定が行われるため、リプレイされたメッセージが有効であると認められないことは容易に理解できるであろう。
【００４８】
図１１は、図１０に類似したフローチャートであるが、ＴＡＴ検証プロセス内に含めることができる追加のステップを含む。このため、ステップＳ１１０１乃至Ｓ１１０６は、前述したステップＳ１００１乃至Ｓ１００６と同一である。ただし、図１１では、ＴＡＴがＴＡＴの格納済みのブロックから削除された後、十分な数のＴＡＴが格納済みのブロックの中に残っているか否かの判定が行われる。このため、ステップＳ１１０７で、格納済みのブロックの中に残っているＴＡＴの数が、所定の数（ｎ）未満であるかどうかの判定が行われる。ただし、ｎは、任意の整数であることが可能である。例えば、ｎを１とすることにより、ＴＡＴが格納済みのブロックの中に全く残っていない（０）場合に、ＦＰが、追加のＴＡＴを獲得するプロセスを開始することができるように構成できる。このため、十分な数のＴＡＴが、依然、格納済みのブロックの中に残っている場合、ＴＡＴ検証プロセスは、停止し（ステップＳ１１０８）、処理は、ステップＳ９０８に進んでジョブを処理する。しかし、格納済みのブロックの中に残っているＴＡＴの数が不十分である場合、ＦＰは、格納済みのブロックのために追加のＴＡＴを獲得するプロセスを実行する（ステップＳ１１０９）。なお、追加のＴＡＴを獲得するプロセスを始めるのに先立って、ステップＳ１１０７の一環として追加の判定を行うことができ、追加のＴＡＴをダウンロードまたは獲得するプロセスが既に進行中であるか否かについての判定を行うことができることに留意されたい。プロセスが既に進行中である場合、ステップＳ１１０９は、実行される必要がなく、流れは、ステップＳ１１０８に進む。ＴＡＴのブロックが、ＳＡによって生成され、ＳＡによってＦＰに伝送されるケースでは、図１２に関連して以下に説明するようなプロセスを使用することができる。しかし、ＴＡＴが、ＳＡおよびＦＰによって相互に生成される実施形態では、ＦＰのセキュリティコンポーネント１３２は、単に、相互ＴＡＴ生成アルゴリズムに基づいてＴＡＴの新たなブロックを内部で生成し、追加のＴＡＴをブロックの中に格納することができる。
【００４９】
図１２は、ＴＡＴの相互生成ではなく、ＴＡＴのブロックがＳＡによって生成され、伝送されるケースで、機能プロバイダがＳＡから追加のＴＡＴを獲得するプロセスステップのフローチャートである。図１２のプロセスステップは、ステップＳ１１０９のプロセスに対応する。図１２に示されるように、ＦＰは、格納済みのブロックに追加のＴＡＴが必要とされていると判定すると、ＳＡに対する接続を確立する（ステップＳ１２０１）。接続は、好ましくは、セキュリティで保護されたＳＳＬ接続であるが、ＳＳＬが利用されず、ＴＡＴの暗号ベースの通信が代りに利用される場合、接続は、セキュリティで保護されていない接続であることも可能である。ＳＡに対して接続を確立した後、ＦＰは、追加のＴＡＴを要求するコマンドをＳＡに送信する（ステップＳ１２０２）。ＳＡは、この要求を受信すると、まず、様々な認証検査を実行し、要求を伝送したＦＰの認証を行うことができる。ＦＰが認証されると、ＳＡは、要求を処理し、ＴＡＴの新たなブロックを生成する（ステップ１２０３）。ＴＡＴの新たなブロックは、ＴＡＴ生成に関して前述したのと同一の形で生成される。次に、ＴＡＴの新たなブロックは、セキュリティで保護された形でＦＰに伝送される（ステップＳ１２０４）。前述したとおり、ＴＡＴのブロックは、ＳＡによってＳＳＬを介してＦＰにセキュリティで保護された形で伝送されることが可能である。あるいはＴＡＴのブロックは、暗号化され、オプションとして、デジタル署名された後、非ＳＳＬチャネルを介してＦＰに伝送されることが可能である。ＦＰが、ＴＡＴの新たなブロックを受信すると、その新たなブロックは、ＦＰの中に格納される（ステップＳ１２０５）。ステップＳ１２０５で、ＴＡＴの新たなブロックは、現在、格納されているブロックから残っているあらゆるＴＡＴを削除し、ＴＡＴの新たに受信されたブロックでそれらを置き換えることにより、セキュリティコンポーネント１３２の中に格納することができるか、あるいは代替として、ＴＡＴの新たに受信されたブロックを残っている格納済みのＴＡＴに追加して、累加的なブロックを形成することもできる。
【００５０】
このため、図９乃至図１２による以上の説明からわかるように、ＦＵが、許可要求をＳＡに送信する。ＳＡは、その要求を処理し、ＴＡＴを含む許可応答を生成し、その許可応答をＦＵに伝送する。ＦＵは、許可応答を受信すると、その許可応答を含むジョブをＦＰに送信する。ＦＰは、ジョブおよび許可応答を受信すると、ＴＡＴを抽出し、受信されたＴＡＴをＴＡＴの格納済みのリストと比較して、そのＴＡＴが有効であるか否かを判定する。受信されたＴＡＴが、格納済みのリストの中に含まれていなかった場合、ジョブは、拒否される。つまり、ＦＰは、現在のジョブ要求が、既に受信され、リストから削除されたＴＡＴを含むことから、依然に送信されたジョブのリプレイであると判定する。しかし、受信されたＴＡＴが、格納済みのリストの中に含まれていると判明した場合、そのＴＡＴは、有効であると見なされ、ジョブは、相応した形で処理される。次に、そのＴＡＴは、格納済みのリストから削除されて、同一のＴＡＴを使用してジョブ要求をリプレイしようとするあらゆる試みが、拒否されるようになる。以上から容易に理解できるように、上述したプロセスは、メッセージのリプレイアタックを防止する比較的自動化されたやり方を提供する。
【００５１】
以上のプロセスステップは、１つまたは複数のコンピュータデバイスによって実行されるコンピュータ実行可能なプロセスステップとして実施することができる。コンピュータ実行可能プロセスステップは、フロッピー（登録商標）ディスク、磁気ディスク、ＣＤ−ＲＯＭ、ハードディスクなどのコンピュータ可読媒体の中に格納することができる。このため、本発明は、コンピュータ実行可能プロセスステップ自体としても、コンピュータ実行可能プロセスステップを格納するコンピュータ可読記憶媒体としても実施することができる。さらに、コンピュータ実行可能プロセスステップを内部に格納しているコンピュータのような装置が、本発明を構成することも可能である。
【００５２】
以上、本発明を特定の例示的な諸実施形態を使用して説明してきた。しかしながら、本発明は、前述した諸実施形態に限定されず、本発明の趣旨および範囲を逸脱することなく、様々な変更および変形が当業者によって行われることが可能であることを理解されたい。
【図面の簡単な説明】
【００５３】
【図１】本発明を実施することができるネットワーク化されたコンピューティング環境を示す図である。
【図２】パーソナルコンピュータの内部アーキテクチャの例を示すブロック図である。
【図３】サーバの内部アーキテクチャの例を示すブロック図である。
【図４】本発明による様々なコンポーネント間の通信に関するソフトウェアアーキテクチャを示す図である。
【図５】ディレクトリコンポーネントによってコマンドを処理することに関するソフトウェアアーキテクチャを示す図である。
【図６】本発明による許可要求および許可応答が関わる通信に関するソフトウェアアーキテクチャを示す図である。
【図７】機能プロバイダとセキュリティアプリケーションの間における通信の例を示す図である。
【図８】機能プロバイダ内部のソフトウェアアーキテクチャを示す図である。
【図９】本発明によるジョブを機能プロバイダに送信し、機能プロバイダがそのジョブを処理することに関するプロセスステップを示すフローチャートである。
【図１０】機能プロバイダが、ジョブとともに受信されたトークンの有効性を判定するプロセスステップを示すフローチャートである。
【図１１】機能プロバイダが、ジョブとともに受信されたトークンの有効性を判定し、追加のトークンが必要とされているかどうかを判定するプロセスステップを示すフローチャートである。
【図１２】機能プロバイダが、セキュリティアプリケーションから追加のトークンを獲得するプロセスステップを示すフローチャートである。
【図１】
2006072970.tif 000003
【図２】
2006072970.tif 000004
【図３】
2006072970.tif 000005
【図４】
2006072970.tif 000006
【図５】
2006072970.tif 000007
【図６】
2006072970.tif 000008
【図７】
2006072970.tif 000009
【図８】
2006072970.tif 000010
【図９】
2006072970.tif 000011
【図１０】
2006072970.tif 000012
【図１１】
2006072970.tif 000013
【図１２】
2006072970.tif 000014
【手続補正書】
【提出日】平成17年8月30日(2005.8.30)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
第１のデバイスから第２のデバイスに送信されるメッセージのリプレイに対するセキュリティを提供する情報処理方法であって、
前記第２のデバイスによって前記第１のデバイスから受信されたメッセージの固有メッセージ有効化コードを前記第２のデバイスの中に格納された固有メッセージ有効化コードのリストと比較して、前記メッセージとともに受信された前記固有メッセージ有効化コードが、前記格納されたリストの中に含まれているかどうかを判定するステップと、
前記比較するステップに基づき、前記第２のデバイスによる前記メッセージの処理を拒否するか否かを判定するステップとを含むことを特徴とする情報処理方法。
【請求項２】
前記比較するステップにより、前記メッセージとともに受信された前記固有メッセージ有効化コードが前記格納されたリストの中に含まれていると判定された場合、前記メッセージの処理は、拒否されず、前記格納されたリストから対応する固有メッセージ有効化コードが削除され、前記比較するステップにより、前記メッセージとともに受信された前記固有メッセージ有効化コードが、前記格納されたリストの中に含まれていないと判定された場合、前記メッセージの処理は、拒否されることを特徴とする請求項１に記載の情報処理方法。
【請求項３】
固有メッセージ有効化コードの前記リストを生成するステップと、
前記生成されたリストを前記第２のデバイスの中に格納するステップとをさらに含むことを特徴とする請求項２に記載の情報処理方法。
【請求項４】
固有メッセージ有効化コードの前記リストは、第３のデバイスにおいて生成され、前記リストは、前記第２のデバイスに、該第２のデバイスの中に格納するために送信されることを特徴とする請求項３に記載の情報処理方法。
【請求項５】
固有メッセージ有効化コードの前記リストは、前記第１のデバイスにおいて生成され、前記リストは、前記第２のデバイスに、該第２のデバイスの中に格納するために送信されることを特徴とする請求項３に記載の情報処理方法。
【請求項６】
固有メッセージ有効化コードの前記リストは、前記第２のデバイスおよび第３のデバイスによって相互に生成されることを特徴とする請求項３に記載の情報処理方法。
【請求項７】
前記生成されたリストからの前記固有メッセージ有効化コードの少なくとも１つを含む、前記第２のデバイスに送信されるべき前記メッセージを前記第１のデバイスにおいて生成するステップと、
前記生成されたメッセージを前記固有メッセージ有効化コードと一緒に前記第１のデバイスから前記第２のデバイスに送信するステップと、
前記送信されたメッセージおよび前記固有メッセージ有効化コードを前記第２のデバイスによって受信するステップとをさらに含むことを特徴とする請求項３に記載の情報処理方法。
【請求項８】
前記第１のデバイスが、前記メッセージの中に含められるべき固有メッセージ有効化コードを第３のデバイスから要求するステップと、
前記第３のデバイスが、前記メッセージの中に含められるべき前記固有メッセージ有効化コードを前記第１のデバイスに送信するステップとをさらに含むことを特徴とする請求項７に記載の情報処理方法。
【請求項９】
前記第２のデバイスにおいて、前記格納されたリストの中に所定の数以下の前記固有メッセージ有効化コードが含まれるかどうかを判定するステップと、
前記リストが、前記所定の数以下の前記固有メッセージ有効化コードを含むと判定された場合、前記第２のデバイスが、前記リストのために追加の固有メッセージ有効化コードを獲得するステップとをさらに含むことを特徴とする請求項２に記載の情報処理方法。
【請求項１０】
前記メッセージの前記処理は、印刷プロセスを含むことを特徴とする請求項１に記載の情報処理方法。
【請求項１１】
ホストデバイスからメッセージを受信し、処理する情報処理装置であって、
前記ホストデバイスとの間でメッセージを送受信するためのインタフェースと、
コンピュータ実行可能プロセスステップを実行するプロセッサと、
前記プロセッサによって実行されるコンピュータ実行可能プロセスステップであって、
（ａ）装置によって前記ホストデバイスから受信されたメッセージの固有メッセージ有効化コードをメモリ媒体の中に格納された固有メッセージ有効化コードのリストと比較して、前記メッセージとともに受信された前記固有メッセージ有効化コードが、前記格納されたリストの中に含まれているかどうかを判定するステップと、
（ｂ）前記比較するステップに基づき、装置による前記メッセージの処理を拒否するか否かを判定するステップとを含むプロセスステップを含む情報を格納する該メモリ媒体とを含むことを特徴とする情報処理装置。
【請求項１２】
前記比較するステップにより、前記メッセージとともに受信された前記固有メッセージ有効化コードが前記格納されたリストの中に含まれていると判定された場合、前記メッセージの処理は、拒否されず、前記格納されたリストから対応する固有メッセージ有効化コードが削除され、前記比較するステップにより、前記メッセージとともに受信された前記固有メッセージ有効化コードが、前記格納されたリストの中に含まれていないと判定された場合、前記メッセージの処理は、拒否されることを特徴とする請求項１１に記載の情報処理装置。
【請求項１３】
請求項１乃至１０のいずれかに記載の情報処理方法をコンピュータに実行させるためのコンピュータプログラム。
【請求項１４】
請求項１３に記載のコンピュータプログラムを格納したことを特徴とする、コンピュータが読み取り可能なコンピュータ可読記憶媒体。
【外国語明細書】
2006072970.tif 000015
2006072970.tif 000016
2006072970.tif 000017
2006072970.tif 000018
2006072970.tif 000019
2006072970.tif 000020
2006072970.tif 000021
2006072970.tif 000022
2006072970.tif 000023
2006072970.tif 000024
2006072970.tif 000025
2006072970.tif 000026
2006072970.tif 000027
2006072970.tif 000028
2006072970.tif 000029
2006072970.tif 000030
2006072970.tif 000031
2006072970.tif 000032
2006072970.tif 000033
2006072970.tif 000034
2006072970.tif 000035
2006072970.tif 000036
2006072970.tif 000037
2006072970.tif 000038
2006072970.tif 000039
2006072970.tif 000040
2006072970.tif 000041
2006072970.tif 000042
2006072970.tif 000043
2006072970.tif 000044
2006072970.tif 000045
2006072970.tif 000046
2006072970.tif 000047
2006072970.tif 000048
2006072970.tif 000049
2006072970.tif 000050
2006072970.tif 000051
2006072970.tif 000052
2006072970.tif 000053
2006072970.tif 000054
2006072970.tif 000055
2006072970.tif 000056
2006072970.tif 000057
2006072970.tif 000058
2006072970.tif 000059
2006072970.tif 000060
2006072970.tif 000061
2006072970.tif 000062
2006072970.tif 000063