JP2004288091A - 情報処理装置及び方法 - Google Patents

情報処理装置及び方法 Download PDF

Info

Publication number
JP2004288091A
JP2004288091A JP2003081918A JP2003081918A JP2004288091A JP 2004288091 A JP2004288091 A JP 2004288091A JP 2003081918 A JP2003081918 A JP 2003081918A JP 2003081918 A JP2003081918 A JP 2003081918A JP 2004288091 A JP2004288091 A JP 2004288091A
Authority
JP
Japan
Prior art keywords
processing
instruction
server
description
instruction data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2003081918A
Other languages
English (en)
Inventor
Takanori Masui
隆徳 益井
Masaki Satake
雅紀 佐竹
Tatsuhiko Yokohama
竜彦 横濱
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP2003081918A priority Critical patent/JP2004288091A/ja
Priority to US10/660,560 priority patent/US7484104B2/en
Priority to KR10-2003-0067367A priority patent/KR100536817B1/ko
Priority to CNB2003101012154A priority patent/CN1318985C/zh
Publication of JP2004288091A publication Critical patent/JP2004288091A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F9/00Games not otherwise provided for
    • A63F9/24Electric games; Games using electronic circuits not otherwise provided for
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Mathematical Physics (AREA)
  • Technology Law (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Storage Device Security (AREA)

Abstract

【課題】各サーバへの指示を示した指示書をそれらサーバ間で受け渡しながら、各サーバが指示書内の各自の指示を実行することで、1つのサービスを提供するシステムにおいて、指示書に示された各サーバへの指示の秘密を守る。
【解決手段】サーバ25aが提供するページばらし(複数ページを含む文書のファイルから所定のページを抜き出し、そのページのファイルを出力する処理)と、サーバ25bが提供する電子メール送信処理とを組み合わせることで、ユーザが指示入力装置10に投入した文書のファイルから、先頭ページを抜き出して、所定の宛先に電子メールで送信するという連携サービスを提供することを考える。指示入力装置10は、各サーバ25a、25bの処理内容の記述を、それぞれ対応するサーバ25a、25bの公開鍵で暗号化し、その各々の暗号化結果を含んだ指示書を作成して、サーバ25aに送信する。
【選択図】 図7

Description

【0001】
【発明の属する技術分野】
本発明は、ネットワーク上に存在する様々な処理装置を連携させることで、多様な連携処理を実現するための技術に関し、特に連携処理におけるセキュリティ技術に関する。
【0002】
【従来の技術】
スキャナ、ファクシミリ装置、プリンタ、複写機、及びそれらの機能を統合した複合機をLAN(ローカルエリアネットワーク)に接続し、パーソナルコンピュータやメールサーバなどの情報処理装置と連携させ、オフィス作業用の各種サービスを提供するワークフローシステムが提案されている。
【0003】
また近年、インターネット上に散在する各種ウェブアプリケーションを連携させる技術が提案されている。インターネット上にある多様な提供者が提供するアプリケーションサービスを連結して1つのシステムを構成できると、様々な既存サービスを利用することができるのでシステム開発コストが大幅に低減できると期待されている。また、このような連携的なサービスを実現するための共通の基盤としてXML(eXtensible Markup Language)等の言語が注目されている。
【0004】
また、従来のワークフローシステムとしては、特許文献1や特許文献2、特許文献3に示されるものが知られている。
【0005】
【特許文献1】
特開平08−123744号公報
【特許文献2】
特開2002−099686号公報
【特許文献3】
特開2001−282970号公報
【0006】
【発明が解決しようとする課題】
連携サービスのためには、個々の処理装置に対し実行すべき処理を示した指示データを送る必要がある。インターネット上の処理装置を利用してワークフローを構成する場合、処理装置に対する指示データがインターネット上を流れることになる。しかしながら、従来のワークフローシステムは、このようなネットワークを流れる指示データのセキュリティに考慮を払っていない。
【0007】
また、連携サービスにおいて連携動作する複数の処理装置に対する指示データの提供の仕方として、例えばそれらすべての処理装置の指示データを1つの指示書にまとめて各処理装置に伝達する方式が考えられる。このような方式をとった場合、ある処理装置に対する指示データが他の処理装置にも伝わってしまう。すべての処理装置が同一社内のネットワーク上に存在する場合はこれでもさほど問題はないが、インターネット上にある外部の処理装置に対して他の処理装置への指示データが漏洩することはセキュリティ上好ましくない。
【0008】
【課題を解決するための手段】
本発明は、指示データに記述された処理記述に従って処理を実行する複数のジョブ処理装置を連携動作させることによりサービスを実現する情報処理装置であって、前記指示データに記述された処理記述に対し、各ジョブ処理装置の実行対象となる部分に、実行するジョブ処理装置が復号可能に暗号化する暗号処理部と、前記暗号処理部により処理記述が暗号化された指示データを、前記処理記述の表わす処理を実行するジョブ処理装置に伝達すべく送信する送信部と、を備える情報処理装置を提供する。
【0009】
この情報処理装置は、後述する発明の実施の形態における指示入力装置として実現することもできるし、フロー制御装置として実現することもできる。
【0010】
また本発明の好適な態様では、前記暗号処理部は、暗号化の対象とする処理記述より後に処理を実行すべき処理記述の暗号化データを含めて暗号化する。
【0011】
また本発明は、複数のジョブ処理装置が所定の順序で連携動作することでサービスを実現するシステムにおいて、そのシステムを構成する情報処理装置であって、処理の内容が記述された処理記述が暗号化された指示データを受信する受信部と、前記受信部により受信された指示データに含まれる自装置の実行対象となる処理記述の部分を復号化する復号処理部と、前記復号処理部により復号化された処理記述を指示データから削除する削除部と、前記削除部により処理記述が削除された指示データを、次に処理を実行するジョブ処理装置に向けて送信する送信部とを備える。
【0012】
【発明の実施の形態】
以下、本発明の実施の形態(以下実施形態という)について、図面に基づいて説明する。
【0013】
図1は、本発明に係るサービス提供システムのシステム構成パターンの一例を示す図である。このシステムは、指示入力装置10,フロー制御装置20,及び複数のアプリケーションサーバ25を含んでいる。
【0014】
アプリケーションサーバ25は、他の装置からの要求に応じて所定の処理サービスを提供するサーバである。例えば、サーバ25の例としては、例えば、文書データベースサーバや、メールサーバ、画像データに対して色変換や回転などの操作を施す画像処理サーバ等を挙げることができる。サーバ25は、そのような処理サービスを例えばウェブアプリケーションサービス等の形で提供する。
【0015】
このシステムは、あるサーバ25で文書を検索し、この結果検索された文書を別のサーバによって電子メールとして送信する、といった具合に、複数のサーバ25の処理を連携させた連携サービスを提供することができる。
【0016】
指示入力装置10は、このシステムに対するユーザの処理指示を入力するための装置である。ユーザは、指示入力装置10に対し、上述のような連携サービスの実行指示を入力することができる。指示入力装置10は、例えばパーソナルコンピュータに、ユーザから本システムへの指示の入力を受け付けるためのユーザインタフェースプログラムを組み込んだものでよい。しかしながら、オフィスにおける文書処理サービスを想定すると、情報処理機能や通信機能に加え、紙文書を読み取って電子データ化する機能をも備えるデジタル複合機を指示入力装置10として用いることが好適である。デジタル複合機は、スキャナ、プリンタ、複写機、ファクシミリ、ネットワーク通信等の機能を併せ持つ。
【0017】
フロー制御装置20は、各サーバ25に対して処理を依頼することで、それら個々のサーバ25が提供するサービスを連携した連携サービスを実現する。
【0018】
好適には、指示入力装置10、フロー制御装置20及び各サーバ25は、公開鍵暗号方式に対応しており、各自の秘密鍵、公開鍵を有している。また、指示入力装置10、フロー制御装置20及び各サーバ25は、他の装置10,20やサーバ25の公開鍵を保持しているか、又は必要に応じてネットワーク上の認証局から取得することができる。
【0019】
図1のシステムでは、ユーザが指示入力装置10に対して連携サービスの指示を入力すると、指示入力装置10がその指示内容を示したデータを送る。このデータ(以下ではフロー指示書50と呼ぶ)を、フロー制御装置20に送信する。このフロー指示書50には、連携サービスに関与するすべてのサーバの処理内容の記述と、それら各処理の実行順序の情報が含まれている。フロー指示書50を受信したフロー制御装置20は、その指示書50に従って各サーバ25を制御することで、その指示書50が示す連携サービスを実現する。
【0020】
このとき、フロー制御装置20は、受信したフロー指示書50に基づき各サーバ25への指示書(指示内容を示したデータ)52を作成し、これら指示書52を各サーバ25に送ることで、それらサーバ25の連携動作を実現する。すなわち、フロー制御装置20は、フロー指示書50の記述に従い、次に動作させるべきサーバ25に対して指示書52を送信し、これに対してそのサーバ25から処理終了の通知(及び場合によっては処理結果のデータ)が返ってくると、その次のサーバ25に対して指示書52を送信する。
【0021】
このように図1のシステムは、サーバ25群がフロー制御装置20の制御の下に連携するという、いわばスター(星)型のシステム構成をとっている。
【0022】
次に、図2を参照して、本発明に係るサービス提供システムのシステム構成パターンの別の一例を説明する。図2において、図1に示したシステムの構成要素と同等の構成要素には同一符号を付して説明を簡略化する。
【0023】
このシステムは、指示入力装置10と複数のアプリケーションサーバ25とから構成されている。
【0024】
図1のシステムが連携制御のためのフロー制御装置20を有するのに対し、図2のシステムはそのような中央の制御装置を持たず、各アプリケーションサーバ25自身が連携動作のための制御動作を実行する。このため、指示入力装置10は、ユーザが指示した連携サービスのために各サーバ25が実行すべき処理を示したフロー指示書50を作成し、これを各サーバ25に送信して実行させる。
【0025】
図2の構成は、連携サービスを構成する各処理のための各サーバ25が、それら各処理の順に並んだ、いわばデイジーチェーン(連鎖)型の構成となる。この構成では、サーバ連鎖の中の最初のサーバ25−1に対して指示入力装置10から指示書50を送信すると、これを契機にサービス処理が開始される。そして、サーバ25−1の処理が終了すると次のサーバ25−2の処理が開始され、このサーバ25−2の処理が終了するとその次のサーバ25−3の処理が開始されるといった具合に、各段階のサーバ25の間で処理が連携されていく。この場合、各サーバ25には、指示入力装置10から直接、又は前段のサーバ25から指示書54が送信される。そして、各サーバ25はその指示書に従って処理を実行するとともに、その指示書に示された次のサーバ25に対して処理開始の指示又は指示書54を送信する。このような仕組みで連携が実現される(詳細は後述)。
【0026】
以上、各サーバ25の連携の仕組みとして、フロー制御装置20により集中制御するフロー制御装置介在型と、各サーバ25が順に次のサーバ25に処理を受け渡すフロー制御装置非介在型の2つの仕組みを説明した。
【0027】
次に、連携サービスのために各サーバ25に送信される指示書52,54についての2つのタイプを説明する。
【0028】
第1は、連携サービスに関与する各サーバ25に対し、当該サーバ25への指示(該サーバ25の処理内容の記述)のみならず、他のサーバ25への指示をも含んだ指示書52又は54を送信する方式である。この方式の1つの例として、連携サービスに関与するすべてのサーバ25への指示を含んだ指示書を各サーバ25に送信する方式がある。このように、他のサーバ25への指示も含む形態の指示書を「包括指示書」と呼ぶこととする。
【0029】
第2は、連携サービスに関与する各サーバ25に対し、当該サーバ25への指示のみを含み、他のサーバ25への指示を含まない指示書52又は54を送信する方式である。このように、他のサーバ25への指示を含まないタイプの指示書を「個別指示書」と呼ぶこととする。
【0030】
これら指示書52又は54の2つのタイプと、前述のシステム構成の2つのタイプを組み合わせれば、各サーバ25への指示書の送信形態としていくつかの送信形態が得られる。そのうちの代表的なものとして次の4つの指示送信形態を挙げることができる。
【0031】
第1は、フロー制御装置介在型のシステムに包括指示書を適用したものであり、フロー制御装置20から各サーバ25に対して包括指示書60を送信する方式である。この形態の一例を図3に示す。
【0032】
図3の例では、サーバ25−1に対する指示内容を示した個別指示書62−1と、サーバ25−2に対する指示内容を示した個別指示書62−2と、サーバ25−3への指示内容を示した個別指示書62−3とを含んだ包括指示書60を、フロー制御装置20からそれら各サーバ25−1,25−2,25−3に送信する。この包括指示書60では、各個別指示書62が処理の実行順序に従って先頭から順に並べられている。この包括指示書60は、指示入力装置10からフロー制御装置20に送られるフロー指示書50の記述内容に基づき作成される。例えば、フロー指示書50は包括指示書60と同じ内容を記述したものでよい。
【0033】
この場合、フロー制御装置20は、まず連携サービスの最初のサーバ25−1に対して包括指示書60を送信する。サーバ25−1はその包括指示書60のうち自分宛の個別指示書62−1を解釈して処理を実行し、その処理結果をフロー制御装置20に返す。これを受けたフロー制御装置20は、次のサーバ25−1に対して包括指示書60を送信する。このような処理を繰り返すことで連携サービスを実現できる。
【0034】
この変形として、フロー制御装置20から各サーバ25に送信する包括指示書60から、それまでに完了している処理についての記述を取り除く方式も好適である。この構成によれば、少なくとも処理が終わったサーバ25の処理内容は、後続のサーバ25に対して秘密にすることができる。
【0035】
また、図3の指示送信形態の別の変形として、次のような方式も可能である。この方式では、まず連携サービスに関与するすべてのサーバ25への個別指示書62を含んだ包括指示書60をフロー制御装置20からそれら各サーバ25に送信する。そして、各サーバ25は、自分の前のサーバ25から処理開始指示が来るまでは処理を開始せず、その開始指示を受け取ると包括指示書60内の自分宛の個別指示書62に従って処理を実行し、自分の処理が終わるとその旨をフロー制御装置20に通知する。フロー制御装置20は、その通知を受けると、次のサーバに処理開始指示を出す。
【0036】
第2の指示送信形態は、フロー制御装置介在型システムに個別指示書を適用したものであり、フロー制御装置20から各サーバ25に対し、それぞれ当該サーバ25に対応する個別指示書62を送信する。この一例を図4に示す。
【0037】
図4の例では、フロー制御装置20は、指示入力装置10から受信したフロー指示書に基づき、サーバ25−1に対する指示内容を示した個別指示書62−1と、サーバ25−2に対する指示内容を示した個別指示書62−2と、サーバ25−3への指示内容を示した個別指示書62−3とをそれぞれ作成し、それら各個別指示書62をそれぞれ対応するサーバ25に送信する。
【0038】
第3の指示送信形態は、フロー制御装置非介在型システムに包括指示書を適用したものである。この形態の一例を図5に示す。
【0039】
図5の形態では、図3の形態と同様の包括指示書60を、サーバ25−1からサーバ25−2へ、サーバ25−2からサーバ25−3へと受け渡す。すなわち、図5の例では、まず指示入力装置10からサーバ25−1に対し、包括指示書60と同内容のフロー指示書を送信する。サーバ25−1は、包括指示書60の中の自分宛の個別指示書62−1に示される処理を実行し、その処理が完了すると、同じ包括指示書60(及び必要に応じてその処理の結果)を次のサーバ25−2に送信する。サーバ25−2は、包括指示書60を受け取ると、自分宛の個別指示書62−2に示される処理を実行し、その処理が完了すると、同じ包括指示書60(及び必要に応じてその処理の結果)を次のサーバ25−3に送信する。このようにして、各サーバ25による処理の連携が実現される。
【0040】
図5の指示送信形態の変形として、各サーバ25が処理を終えると、自分が実行した処理についての記述(すなわち自分宛の個別指示書62)を包括指示書60から取り除き、残りの個別指示書62からなる包括指示書を作成して次のサーバ25に送信する構成も好適である。この構成によれば、少なくとも処理が終わったサーバ25の処理内容は、後続のサーバ25に対して秘密にすることができる。
【0041】
また、図5の送信指示形態の別の変形として、次のような方式も可能である。この方式では、まず連携サービスに関与するすべてのサーバ25への個別指示書62を含んだ包括指示書60を指示入力装置10からそれら各サーバ25に送信する。そして、各サーバ25は、自分の前のサーバ25から処理開始指示が来るまでは処理を開始せず、その開始指示を受け取ると包括指示書60内の自分宛の個別指示書62に従って処理を実行し、自分の処理が終わると次のサーバに処理開始指示を出す。包括指示書60では、各サーバ25の個別指示書62が処理の順に並んでいるので、各サーバ25は前後の個別指示書62の記述から自分の前段のサーバ25や後段のサーバ25を識別することができ、上記のような処理の流れを実現できる。
【0042】
第4の指示送信形態は、フロー制御装置非介在型システムに個別指示書を適用した方式である。この方式の一例を図6に示す。
【0043】
図6の例では、指示入力装置10から、連携サービスに関与する各サーバ25−1,25−2,25−3に対し、それぞれ当該サーバ25に対応する個別指示書62−1,62−2,62−3を送信する。そして、各サーバ25宛の個別指示書62には、当該サーバ25の前後の各サーバ25(又は指示入力装置10)を示す情報が含まれている。そして、各サーバ25は、前段のサーバ25から処理開始指示を受けて初めてその個別指示書62の処理を開始し、処理が終了すると後段のサーバ25に対して処理開始指示を送る。このような仕組みにより、サーバ25間の連携を実現できる。
【0044】
以上に説明した指示送信形態のうち、各サーバ25に個別指示書62を送信する第2及び第4の形態では、インターネット等のネットワーク上で個別指示書62の内容を盗聴されるリスクがある。
【0045】
また、各サーバ25に包括指示書60を送る第1及び第3の形態では、ネットワーク上での盗聴のリスクに加え、各サーバ25への指示内容が他のサーバ25に漏洩するリスクがある。例えば、ある企業が連携サービスのために、自社のサーバ25以外に他社が提供するインターネット50上のサーバ25を用いる場合、自社サーバ25への指示内容が他社サーバ25に知られたくないことが少なくない。
【0046】
以下、このような各サーバ25に送る指示書についてのセキュリティ上のリスクを軽減するための仕組みについて説明する。
【0047】
この仕組みの基本的な考え方は、サーバ25に対する個別指示書62に対し、連携サービスに関与するサーバ25群の中でそのサーバ25のみが復号可能な暗号化処理を施すというものである。
【0048】
各サーバ25に対して対応する個別指示書62のみを送信する上記第2及び第4の指示送信形態では、このような暗号化により、ネットワーク上での指示内容の漏洩リスクを軽減できる。
【0049】
また、各サーバ25に対して包括指示書60を送信する上記第1及び第3の指示送信形態では、包括指示書60に含まれるべき各個別指示書62に対し、それぞれ対応するサーバ25にのみ復号可能な暗号化処理を施し、それら暗号化された個別指示書を処理実行順序に従って並べた包括指示書60を作成する。これにより、各サーバ25に対する個別指示書62の内容がネットワーク上で盗聴されるリスクを軽減できると共に、他のサーバ25に漏洩するリスクも軽減できる。
【0050】
いずれの場合も、個別指示書62の暗号化処理としては、共通鍵暗号方式を利用した暗号化処理を用いることもできるし、公開鍵暗号方式を利用した暗号化処理を用いることもできる。共通鍵暗号方式を用いる場合は、各サーバ宛の個別指示書62を作成するフロー制御装置20又は指示入力装置10と、当該指示書62の送り先のサーバ25とが、暗号・復号化のための共通鍵を有していればよい。一方、公開鍵暗号方式を用いる場合は、各サーバ25宛の個別指示書62を作成するフロー制御装置20又は指示入力装置10が、それら各サーバ25の公開鍵を有しているか、それら公開鍵をネットワーク上の鍵管理サーバや認証局から取得する機能を有していればよい。また、個別指示書62を暗号化するセッション鍵(共通鍵)を乱数から生成して、そのセッション鍵で個別指示書62を暗号化すると共に、その暗号化されたセッション鍵を各サーバ25の公開鍵で暗号化して、暗号化された個別指示書62と一緒に送付してもよい。
【0051】
なお、フロー制御装置20を用いる上記第1及び第2の指示送信形態では、処理の開始に当たり、指示入力装置10からフロー制御装置20に対してフロー指示書50を送る必要がある。この場合、指示入力装置10が、フロー制御装置20のみが復号可能な暗号化処理(例えばフロー制御装置20の公開鍵を用いた暗号化)を用いてそのフロー指示書50を暗号化し、この結果得られる暗号化された指示書をフロー制御装置20に送信する。フロー制御装置20は、受け取った指示書を復号し、この復号化結果に基づき各サーバ25宛の個別指示書62(第2又は第4の形態)又は包括指示書60(第1又は第3の形態)を作成する。
【0052】
次に、連携サービスの具体例を用いて、本実施形態における指示書の暗号化処理について説明する。
【0053】
ここでは、具体例として、図7に示すように、ページばらし(文書ファイルをページ単位のファイルに分割し、要求されたページのファイルを返す処理)のサービスを提供するサーバ25aと、電子メール送信サービスを提供するサーバ25bを含むシステムを想定する。サーバ25aは”pagedivider.foo.jp”というホスト名を有し、サーバ25bは”mailsender.foo.jp”というホスト名を有するとする。そして、このシステムで、指示入力装置10で読み取った複数のページを有する紙原稿のうちの第1ページのデータを、所定の宛先に電子メールで送信するというサービス(以下、便宜上「サービスA」と呼ぶ)を実現するとする。サービスAでは、指示入力装置10にて紙原稿の読み取りが行われ、サーバ25aにて読み取り結果の文書ファイルから第1ページが抽出され、サーバ25bにてその第1ページのファイルを含んだ電子メールが作成され、所定宛先に送られることになる。また、この例では、指示送信形態として、図5に例示した第3の形態を用いるものとする。
【0054】
この場合、指示入力装置10は、そのサービスAの内容を示す包括指示書600を作成する。図8に、この包括指示書600の例を示す。
【0055】
この例の包括指示書600は、XML(eXtended Markup Language)で記述されている。この包括指示書600は、この指示書600で使用しているXMLのバージョンや文字コードを示す文書要素605と、この指示書600が表す連携サービスを示す文書要素610とを含んでいる。連携サービスを示す要素610のタグには、この連携サービスの名称(name=”report delivery”)が示されている。そして、この要素610には、それら連携サービスを担う各サーバ25a,25bに対する個別指示書620a,620bとが記述されている。
【0056】
個別指示書620aの記述622aには、連携サービス中での当該処理の順番(order=”1”)、及び当該処理を実行するサーバ25aのホスト名(url=”pagedivider.foo.jp”)が示されている。また、記述624aの1行目には、そのサーバ25aが提供する各種の処理のうち、今回利用する処理の名称(jobname=”ExtractFrontPage”)が示される。例えば、サーバ25aは、文書ファイルから先頭ページを取り出してその先頭ページのファイルを作成する処理の他に、文書ファイルをページ単位にばらして各ページごとのファイルを作成する処理などの様々な処理ができる。記述624aの1行目は、それら様々な処理のうち、文書ファイルの先頭ページのファイルを作成する処理を示すものである。また記述624aの2行目及び3行目にはその処理のパラメータが示されている。2行目のパラメータは、その処理に対する入力ファイルのファイル名(”ExtractFrontPage”)を示し、3行目のパラメータはその処理の出力ファイルのファイル名(”ExtractedPage”)である。指示入力装置10が、読み取った原稿を示す文書ファイルに対し、”ExtractFrontPage”というファイル名を付し、この指示書600に添付して送信すれば、サーバ25aでそのファイルが処理対象であると認識できる。
【0057】
また、個別指示書620aは、この指示書が示す処理の後に処理を行うサーバ25bを示す記述626aを含んでいる。この記述626aには、次のサーバ25bのホスト名(url=”pagedivider.foo.jp”)が示されている。
【0058】
サーバ25bに対する個別指示書620bは、上記個別指示書620aと同様、処理の順序及びサーバ25bのホスト名を示す記述622bと、そのサーバ25bが行うべき処理の名称及びその処理のパラメータを示す記述624bを含んでいる。サーバ25bが行う処理は、電子メールの送信処理なので、パラメータとしては電子メールの宛先アドレス(記述624bの2行目)と、その電子メールに添付されるファイルの名称(記述624bの3行目)とを含んでいる。なお、添付されるファイルの名称は、サーバ25aの処理の出力ファイル名と同じものとなっている。
【0059】
なお、サーバ25bは、この包括指示書600が示す連携サービスの中の最後の処理なので、次のサーバを示す記述は含まれていない。
【0060】
図8に示した包括指示書600では、各個別指示書620a,620b内の処理内容を示す記述624a,624bが平文で記述されているので、このままネットワーク上に送信すると、盗聴のリスクがあるとともに、2番目のサーバ25bの処理内容が最初のサーバ25aに知られてしまうことになる。例えば、処理内容の記述の中に、ユーザのクレジットカード番号などがパラメータとして含まれる場合などには、その情報が関係するサーバ以外に漏れることは望ましくない。また、その処理内容全体を関係するサーバ以外に秘匿したい場合もある。
【0061】
そこで、図7の例では、指示入力装置10が、その包括指示書600の各個別指示書620a,620bのうちの処理内容を示す記述624a,624bを、それぞれ対応するサーバ25a,25bの公開鍵を用いて暗号化する。このような暗号化処理を経た包括指示書の例を図9に示す。図9において、図8と同内容の記述には、図8と同じ符号を付して説明を省略する。
【0062】
図9に示す包括指示書700は、W3Cの規格である“XML Encryption”に従ったものである。この包括指示書700において、サーバ25aに対する個別指示書720aは、処理の順序及びサーバ25bのホスト名を示す記述622aと、次に処理を行うサーバ25bを示す記述626aと、暗号化部分724aとを含んでいる。この暗号化部分724aは、平文の個別指示書620aの処理内容の記述624aを、サーバ25aの公開鍵を用いて暗号化したデータを含む。記述725aのタグ”<CipherValue>”と”</CipherValue>”とに挟まれたASCIIコードの文字列が、その暗号化データの値を示している。暗号化部分724aの最初のタグには、その暗号化データを生成するのに使用した暗号化方式を示す情報(”Type=’http://www.w3.org/2001/04/xmlenc#Element’ xmlns=’http://www.w3.org/2001/04/xmlenc#’”)が記述されている。なお、説明を簡単にするために図9では省略しているが、この暗号化データを生成するのに用いた公開鍵を示す鍵情報の要素(”<KeyInfo>”)がその暗号化部分724a内に記述されている。
【0063】
同様に、サーバ25bに対する個別指示書720bには、処理の順序及びサーバ25bのホスト名を示す記述622bと、処理内容624bをサーバ25bの公開鍵で暗号化したデータの記述725bを含んだ暗号化部分724bとを有する。
【0064】
図9に示した包括指示書700を用いれば、ネットワーク上で仮にその包括指示書700が盗聴されても、各サーバ25a、25bの処理内容はその暗号が解読されない限り知られない。また、サーバ25aやサーバ26bがこの包括指示書700を受け取った場合、自分宛の個別指示書の暗号化部分724a、724bは自分の秘密鍵で復号できるが、他のサーバに対する個別指示書の暗号化部分は復号できない。
【0065】
図7のシステムでは、指示入力装置10が、上述の包括指示書700を作成し、付属のスキャナで読み取った原稿の文書ファイルをその指示書700と共にサーバ25aに送信する。これらのデータを受け取ったサーバ25aは、指示書700中の処理順序及びホスト名の記述622a及び622bの平文記述を調べることで、自分宛の個別指示書620aを識別する。次にその個別指示書620aの中の暗号化部分724aを自分の秘密鍵で復号する。この復号結果は、図8に示した処理内容の記述624aとなる。そして、暗号化部分724aを復号結果の記述624aに置き換えることで、平文の個別指示書620aを復元し、この指示書620aを先頭から順に解釈していき、その解釈に応じた処理を実行する。この例では、サーバ25aは、入力された文書ファイルから先頭ページを取り出す処理を実行し、その先頭ページのファイルに所定のファイル名”ExtractedPage”をつける。このようにして、要求されたサービス処理を完了すると、サーバ25aは、作成した先頭ページのファイルと包括指示書700とを、記述626aに従って次のサーバ25bに送信する。
【0066】
サーバ25bは、サーバ25aと同様に、受け取った包括指示書700から自分宛の個別指示書720bを識別し、その中の暗号化部分724bを自分の秘密鍵で復号することで平文の個別指示書620bを復元し、その平文指示書620bに示された処理を実行する。この場合サーバ25bは、先頭ページのファイル”ExtractedPage”を添付した電子メールを作成し、平文指示書620bに記述された宛先(”person1@foo.co.jp”)に対して送信する。
【0067】
以上では、説明を分かりやすくするために非常に単純な例を挙げたが、もっと複雑な処理にも本実施形態の仕組みは適用可能である。例えば、この例の拡張として、例えばユーザが読み取った文書の先頭ページをユーザの属するグループのリーダに、全ページをそのグループの同僚複数人に送信するといった定型処理も同様に実現可能である。この場合は、サーバ25aに対する個別指示書620aには、文書ファイルから第1ページを抽出すると共に、第1ページのファイルとその文書ファイルとをサーバ25bに送るという処理内容が記述され、サーバ25bに対する個別指示書620bには、受け取った第1ページのファイルをグループリーダの所定のメールアドレスに送信し、全ページのファイルを各同僚の所定のメールアドレスに送信するという処理内容が記述される。暗号化については、上記の例と同様でよい。
【0068】
このような仕組みによれば、各個別指示書620a,620bの処理内容が第三者に盗聴されたり、その処理を実行するサーバ以外のサーバに漏れたりする可能性を大幅に低減できる。
【0069】
なお、以上のシステムにおいて、指示入力装置10がサーバ25aの処理の対象である文書データをそのサーバ25aの公開鍵で暗号化してから送信したり、サーバ25aがサーバ25bの処理の対象である先頭ページのデータをそのサーバ25bの公開鍵で暗号化したりすれば、それら処理対象のデータをネットワーク上の第三者から保護することが可能である。
【0070】
以上に説明した図9の例では、各個別指示書の処理内容の記述624aを暗号化したが、次のサーバの示す記述626aを併せて暗号化しても問題ない。個別指示書は、その個別指示書がどのサーバ宛のものなのかが特定できる情報のみ平文で記述しておけば、他の情報についてはすべて暗号化しても構わない。
【0071】
また、サーバ25aは、次のサーバ25bに包括指示書700を送る代わりに、その包括指示書700から自分宛の個別指示書720bを除いた指示書を作成し、これをサーバ25bに送る構成としても良い。
【0072】
図7〜図9に示した例は、指示送信形態として、図5に例示した第3の形態を用いた場合の例であったが、図3に示した第1の形態を用いる場合もこれと同様、図9に示すような暗号化された包括指示書700を各サーバ25に送るようにすればよい。ただし、このケースでは、各個別指示書の暗号化はフロー制御装置20にて行うこともできる。この場合、指示入力装置10は、フロー制御装置20に対し、包括指示書600の連携サービスを示す文書要素610全体をそのフロー制御装置20の公開鍵で暗号化したものを送信することで、包括指示書600全体の秘密を保持することができる。フロー制御装置20はそれを自分の秘密鍵で復号したあと、個々の個別指示書620a、620bを対応するサーバ25a,25bの公開鍵で暗号化し、包括指示書700を作成する。この包括指示書700を用いた各サーバ25の制御は、上述の通りでよい。
【0073】
また図4に示した第2の指示書送信形態を用いる場合は、各サーバ25には個別指示書のみを送ればよいので、フロー制御装置20にて、その個別指示書の中の処理内容等の記述を宛先のサーバ25の公開鍵で暗号化すればよい。この暗号化により生成される個別指示書の記述は、例えば、図9に示した包括指示書700を、個別指示書720aを1つしか含まないようにしたものでよい。
【0074】
図6に示した第4の指示書送信形態を用いる場合も各サーバ25には個別指示書のみを送ればよいので、指示入力装置10にて、第2の形態と同様、その個別指示書の中の処理内容等の記述を宛先のサーバ25の公開鍵で暗号化すればよい。
【0075】
以上、本実施形態における、各指示送信形態に対応する指示書データの秘密保護の方式について説明した。
【0076】
次に、包括指示書60の変形例について説明する。この変形例の包括指示書は、特に第3の指示送信形態において有益なものである。
【0077】
図10は、この変形例における包括指示書80のデータ構造を説明するための図である。この指示書80が適用されるシステム構成は、図5を参照されたい。
【0078】
この包括指示書80は、連携サービスの各処理を担う各サーバ25−1,25−2,25−3に対する各個別指示書62−1,62−2,62−3を、それら各処理の順序に従った入れ子構造となるように暗号化する。
【0079】
より詳しくは、まず連携サービスのフローの最後のサーバ25−3宛の個別指示書62−3を該サーバ25−3の公開鍵で暗号化し、暗号化データ82−3を作成する。この暗号化では、個別指示書62−3のうち、この指示書の処理を実行するサーバを示す記述(例えば図8の記述622a)を除く部分を暗号化する。もちろん、暗号化する箇所をその部分よりも更に絞り込んでもよい。
【0080】
次に、最後のサーバ25−3の1つ前のサーバ25−2宛の個別指示書62−2と、その暗号化データ82−3とを併せたものを、サーバ25−2の公開鍵で暗号化することで、暗号化データ82−2を作成する。
【0081】
そして、その1つ前のサーバ25−1宛の個別指示書62−1とその暗号化データ82−2とを併せたものを、サーバ25−1の公開鍵で暗号化することで、暗号化データ82−1を作成する。
【0082】
このような処理を、連携サービスのフローにおける先頭のサーバの個別指示書を暗号化するまで再帰的に繰り返す。すなわち、この暗号化処理では、暗号化の対象とする処理記述(すなわち個別指示書)に、その記述より後に処理を実行すべき処理記述の暗号化データを含めて暗号化する。そして、この暗号化処理を、実行順序が最後の処理記述から順に再帰的に適用する。
【0083】
図10の例では、サーバ25−1が先頭のサーバなので、この暗号化の最終結果は暗号化データ82−1となる。この最終の暗号化データ82−1に対し、連携サービスの指示書である旨を示す記述(図8の記述605や文書要素610の開始タグ及び終了タグ)を付加することで、包括指示書80が完成する。
【0084】
この入れ子構造の包括指示書の具体例を図11に示す。この例は、図8に示す平文の包括指示書600に対応するものである。この指示書が適用されるシステム構成としては、図7の構成を参照されたい。
【0085】
図11に示す包括指示書800は、XMLのバージョン等の記述605と連携サービスの名称の記述615の後に、入れ子構造で暗号化された暗号化データ820を含む文書要素810を含んでいる。この文書要素810の先頭には、連携サービスの先頭のサーバ25aのホスト名を含んだタグ815が示されている。暗号化データ820は、使用した暗号方式を示す記述と、入れ子構造の暗号化の最終的な暗号化結果の値の記述825を含んでいる。
【0086】
指示入力装置10は、このような包括指示書800を作成し、連携サービスの先頭のサーバ25aに送信する。これを受信したサーバ25aは、平文で記述された”<wrapinstruction>”タグ815内のホスト名から、その指示書800が自分宛であることを認識し、その中の記述825に示される暗号化結果の値を自分の秘密鍵を用いて復号する。これにより、復号結果830が得られる。
【0087】
復号結果830は、そのサーバ25a宛の平文の個別指示書620aと、後続のサーバ25群宛の入れ子構造の暗号化データ850を含んだ文書要素840が含まれる。
【0088】
サーバ25aは、その平文の個別指示書620aに従って処理を実行する。そして、処理が完了すると、記述626aに示される次のサーバ25bに対する指示書を作成し、その指示書とその処理の結果とをサーバ25bに送信する。このとき、次のサーバ25bへの指示書は、復号結果830から処理済みの自分宛の個別指示書620aを削除することで作成できる。すなわち、その指示書には、指示書であることを示す記述605及び615と、暗号化データ850を含む文書要素840が含まれることになる。
【0089】
この指示書を受け取ったサーバ25bは、その文書要素840中に含まれるホスト名の記述622bからその指示書が自分宛であることを認識し、記述855に含まれる暗号化結果の値を自分の秘密鍵で復号する。これにより、図7の指示書における、処理内容の記述624b(図8参照)に対応する平文記述を得ることができる。サーバ25bは、その記述624bに従って処理を実行する。
【0090】
なお、図11の例では、サーバ25bが連携サービスの最後のサーバであったため、文書要素840は”<service>”タグで示される文書要素として表された。このかわりに、サーバ25aの次のサーバ25bが連携サービスの最後でなければ、文書要素840は、最初の包括指示書800の文書810と同様、”<wrapinstruction>”タグによって示されることとなる。なお、連携サービスの最後のサーバ宛の個別指示書も、他のサーバ宛の各段階の暗号化結果と同様、指示書全体を暗号化し、その暗号化結果”<wrapinstruction>”タグで囲むようにしてももちろんよい。
【0091】
このように、指示入力装置10で入れ子構造の包括指示書800を作成する構成とすれば、あるサーバ宛の個別指示書は連携サービスのフローの中でそのサーバより前のすべてのサーバにより順に復号処理を受けない限り復号できない。したがって、連携サービスの先頭のサーバ以外のあるサーバXが、自分の前段のサーバ以外から予め包括指示書を取得したとしても、そのサーバXは復号ができないので処理を開始することができない。
【0092】
このような仕組みを利用すれば、あるサーバXが、連携サービスのフローに従った処理を経ずに、勝手に処理を始めてしまうことを防止することができる。例えば、サーバXが課金を伴う処理を行う場合、正しい処理フローを経ずに、前もって処理を始めて課金を開始すると、連携サービスを要求したユーザにとって好ましくないが、この入れ子構造の包括指示書800を用いることで、そのような状況が起こるのを抑止できる。
【0093】
以上、本実施形態のシステムの構成及び動作について説明した。以上の実施形態では、連携サービスのための個々の処理についての指示を、その処理を実行するサーバ25のみが復号可能な暗号処理で暗号化した。このときの暗号処理の単位となる「サーバ」は、あるサービス処理を記述したアプリケーションプログラムをコンピュータで実行させることにより実現される仮想機械であってもよいし、そのようなアプリケーションプログラムを1乃至複数備えたハードウエア装置であってもよい。すなわち、前者の場合アプリケーションごとに異なる暗号処理を用い、後者の場合はハードウエア装置ごとに異なる暗号処理を用いることになる。アプリケーションごとの異なる暗号処理の例としては、アプリケーションごとにそれぞれ個別に秘密鍵・公開鍵ペアを割り当てて、公開鍵暗号方式を用いる仕組みを挙げることができる。ハードウエア装置ごとに異なる暗号化処理も同様である。ハードウエア装置単位の暗号処理を採用する場合、ハードウエア装置に対する個別指示書としては、連携サービス中でハードウエア装置内の各アプリケーションが連続して実行する処理の内容を順に記述したものとなる。指示入力装置10又はフロー制御装置20は、その個別指示書をそのハードウエア装置に対応する暗号処理にて暗号化する。
【0094】
次にこのシステムを構成する指示入力装置10,フロー制御装置20及び各サーバ25の内部構成の一例を、図12を参照して説明する。
【0095】
まず、指示入力装置10について説明する。指示入力装置10のUI(ユーザ・インタフェース)102は、指示入力装置10の状態や操作メニュー等を表示し、これに対するユーザの選択やパラメータ入力を受け取るユーザ・インタフェース機構であり、例えば液晶タッチパネルやテンキーボタン、各種の指示ボタンを備える。処理モジュール104は、当該指示入力装置10自体がユーザに提供するサービス処理を実行する処理モジュールである。指示入力装置10が複合機である場合、処理モジュール104には、スキャン機能、プリント機能、コピー機能、ファクシミリ送受信機能等を実現する機能モジュールが含まれる。この場合、これら処理モジュール104は、スキャンエンジンやプリントエンジン、ファクシミリ装置等のハードウエアと、それら各ハードウエアを制御するソフトウエアの組合せにより構成される。通信制御部106は、この指示入力装置10とLAN等のネットワーク35上の他の装置との通信のための各種制御処理を行う機能モジュールである。
【0096】
暗号・復号処理部108は、指示入力装置10からネットワーク35に送信するデータに対して暗号化を行ったり、送信されてきた暗号化されたデータを復号したりする機能モジュールである。ここでは、暗号・復号処理部108は、暗号方式として公開鍵暗号方式をサポートしているものとする。ただし、これは一例であり、暗号・復号処理部108は、共通鍵方式など他の暗号方式を基礎とするものであってもよい。
【0097】
暗号・復号処理部108で用いる暗号化処理の一例としては、乱数等で発生したセッション鍵(共通鍵)を用いて対象となる文書データを暗号化し、このセッション鍵を送信先の公開鍵で暗号化し、これら両暗号化データを送信先へに送信するという処理を挙げることができる。受信側では、受け取ったデータを自らの秘密鍵で復号することでセッション鍵を得、暗号化された文書データをそのセッション鍵により復号する。本明細書中で「公開鍵で暗号化する」といった場合、文字通り公開鍵を用いて対象データを暗号化する場合のみならず、このようなセッション鍵を利用する暗号化処理の場合もあるものとする。
【0098】
また、暗号・復号処理部108は、送信するデータに対して電子署名を施したり、受信したデータに付された電子署名を検証したりする機能を備える。電子署名は、例えば署名対象の文書データからMD5(RFC1321)やSHA−1(RFC3174)等の所定ダイジェスト方式に従って求めたメッセージダイジェストを、署名者の秘密鍵で暗号化することにより得られる。この電子署名の検証は、該署名データを署名者の公開鍵で復号し、その復号化結果が、署名対象の文書データから所定ダイジェスト方式に従って求めたメッセージダイジェストと一致するか否かを判定することにより行われる。一致すれば、該文書データが署名者からの真正なデータであることが証明されると共に、該文書データに対して改竄が加えられていないことが証明される。
【0099】
ここで暗号・復号処理部108は、少なくともフロー制御装置20の公開鍵を保管している。また暗号・復号処理部108に、各サーバやユーザの公開鍵をネットワーク上の所定の認証局等から必要に応じて取得する機能を設けることも好適である。また暗号・復号処理部108は、該指示入力装置10自身の秘密鍵を備え、該指示入力装置10の電子署名を行うことができる。
【0100】
上述の第3及び第4の指示送信形態(図5及び図6)の場合、各サーバ25に送信する指示書に対する上述の暗号化処理は、この暗号・復号処理部108にて実行される。また、第1及び第2の指示送信形態(図3及び図4)の場合でも、フロー制御装置20に対して送るフロー指示書50に対する暗号化処理は、この暗号・復号処理部108により実行される。
【0101】
トークンI/F(インタフェース)110は、ユーザが保持するハードウエアトークンを受け入れ、このトークンと通信することで該ユーザの秘密鍵による電子署名を取得する機構である。ここでハードウエアトークンは、ユーザが携帯する小型の認証デバイスである。公開鍵暗号方式を利用する場合、ハードウエアトークンは、例えば、ユーザの秘密鍵データを記憶する記憶チップと、署名対象のデータに対してユーザの秘密鍵を用いて暗号化を施すことにより署名データを生成する演算回路と、署名対象のデータの入力及び署名データの出力のためのインタフェース機構とを備えるものとなる。ハードウエアトークンは、例えば接触読み取り式又は非接触読み取り式のICカード、USB(Universal Serial Bus)等の各種有線インタフェース規格に対応したデバイス、或いはBluetooth等の各種無線インタフェース規格に対応したデバイスなどとして構成される。
【0102】
この構成では、通信制御部106は、送信すべきデータに対してユーザの電子署名を行う必要がある場合、例えばMD5などの方式に従ってそのデータのメッセージダイジェストを作成し、これをトークンI/F110に装着されたハードウエアトークンに入力する。ハードウエアトークンは、入力されたメッセージダイジェストを、保持しているユーザの秘密鍵で暗号化し、その暗号化処理結果(すなわちユーザの署名)を通信制御部106に返す。このユーザ署名を通信制御部106が文書データに付加することにより、文書データに対するユーザの電子署名が為される。
【0103】
以上ではユーザのハードウエアトークンを利用してユーザの電子署名を行う方式を説明したが、別の方式として、指示入力装置10内にユーザの秘密鍵を予め保管しておき、この秘密鍵を用いて上述と同様の処理により該ユーザの電子署名を行う方式も可能である。この方式では、ユーザの秘密鍵保護のため、ユーザにパスワードやバイオメトリクス等の認証情報の入力を求め、これによりユーザ認証が成功した場合に限り、そのユーザの電子署名を認めるという制御を必須とする。ハードウエアトークンを用いる構成の場合、ユーザ署名が必要な連携サービスを行うと、最悪の場合その連携サービスが完了するまで指示入力装置10にトークンをセットしたまま待っている必要があるが、指示入力装置10に秘密鍵を保管する構成ではそのような待機は必要ない。逆に、ハードウエアトークンを用いる構成は、ユーザは、どの複合機その他の装置からでも、ユーザ署名が必要な連携サービスを実行できるという利点がある。
【0104】
以上、指示入力装置10の構成の一例を説明した。このような指示入力装置10は、コンピュータや上述の複合機など、プログラムを実行して情報処理を実行することができる装置に、上述の各種の機能を記述したプログラムを実行させることによって実現できる。
【0105】
次に、フロー制御装置20の構成について説明する。これは、上述の第1及び第2の指示送信形態(図3及び図4参照)に対応するものであり、第3及び第4の送信指示形態(図5及び図6参照)の場合は、このフロー制御装置20は必要ない。
【0106】
フロー制御装置20において、ユーザ管理部202は、該装置20がサービス対象とするユーザについての各種情報を管理している。ユーザ管理部202が管理する情報には、例えばユーザの認証に用いる認証情報(パスワードやバイオメトリクス情報など)や、ユーザが登録しているUI画面情報などがある。すなわち、本実施形態のシステムでは、ネットワーク35上の各種サーバ装置が提供するサービスをユーザが組み合わせることで、ユーザ固有の連携サービスを定義可能としており、これらユーザ固有の連携サービスを指示できる該ユーザ固有のUI画面をフロー制御装置20から提供する。
【0107】
この場合、ユーザ(個人の場合もあれば、複数人からなるグループの場合もある)が指示入力装置10に認証情報を入力して認証が成功すると、指示入力装置10がフロー制御装置20に当該ユーザのUI画面を要求する。この要求に応じ、フロー制御装置20は、そのユーザが登録した連携サービスのメニュー等を含んだUI画面を、そのユーザの公開鍵で暗号化した上で指示入力装置10に送信する。ユーザが、指示入力装置10のディスプレイに表示されたそのUI画面上で、使用したい連携サービスを選択すると、その選択内容がフロー制御装置20の公開鍵で暗号化された上で、指示入力装置10からフロー制御装置20に送られる。この選択結果を受けとったフロー制御装置20は、ユーザが選択した連携サービスを示す包括指示書のひな形データを、ユーザの公開鍵で暗号化した上で、指示入力装置10に送信する。指示入力装置10は、この包括指示書のひな形の中に、ユーザが入力しなければならないパラメータが含まれる場合、そのパラメータの入力画面をUI102に表示し、ユーザの入力を求める。このようにしてパラメータ群が入力されると、包括指示書が完成する。これが上述のフロー指示書50に対応する。指示入力装置10は、完成したフロー指示書をフロー制御装置20の公開鍵で暗号化した上で、フロー制御装置20に送信する。
【0108】
ユーザによるフロー制御装置20への連携サービスの登録処理や、フロー制御装置20から指示入力装置10に提供する各ユーザ固有のUI画面の情報については、本実施形態の要旨とは直接関係しないので説明を省略するが、これらについては本出願人による特願2002−275229号、特願2002−275230号、特願2002−275231号に開示されているので、必要があれば参照されたい。
【0109】
なお、この例は、UI画面の情報や連携サービスの包括指示書のひな形はフロー制御装置20が保管し、随時指示入力装置10に提供する構成であったが、それらUI画面や包括指示書のひな形を指示入力装置10に保管しておくこともできる。
【0110】
フロー制御部204は、ユーザが要求した連携サービスを実現するために、連携サービスにおいて規定されるフローに従って各サーバ25や指示入力装置10に対して必要な処理の実行依頼を行う機能モジュールである。すなわち、連携サービスは、各サーバ25が提供する1以上の処理(以下では単位ジョブとも呼ぶ)からなるフローとして定義され、フロー制御装置20は、このフロー定義に示される単位ジョブを順に対応するサーバに依頼していく。ここで、各サーバの処理結果は、必要に応じてフロー制御装置20に返され、次の単位ジョブの処理対象データとしてフロー制御装置20から対応するサーバへと送信される。フロー制御部204は、このような各サーバ、複合機への処理依頼と、これに対する処理結果の取得などの処理を実行する。
【0111】
なお、指示入力装置10が、連携サービスの指示受付機能の他にも処理機能を備え、この処理機能を連携サービスのために提供できる場合もある。この場合、指示入力装置10は、その処理機能についてはアプリケーションサーバ25の1つととらえることができる。
【0112】
暗号・復号処理部206は、フロー制御装置20からネットワーク35に送信する文書データに対して暗号化を行ったり、送信されてきた暗号化データを復号したりする機能モジュールであり、暗号・復号処理部108と同等の暗号化、復号化、電子署名及びその検証の機能を有する。
【0113】
ここで暗号・復号処理部206は、指示入力装置10や各サーバ25などの装置や、各ユーザの公開鍵を保管しているか、又はネットワーク上の認証局等から取得する機能を備える。そして、データを送信する必要が生じた場合は、その送信先の装置やユーザの公開鍵を用いて暗号化を行う。
【0114】
上述の第1及び第2の指示送信形態(図3及び図4)の場合、各サーバ25に送信する指示書に対する上述の暗号化処理は、この暗号・復号処理部206にて実行される。
【0115】
また、電子署名機能については、暗号・復号処理部206は、フロー制御装置20の秘密鍵を備え、送信するデータに対してフロー制御装置20の電子署名を付することができる。
【0116】
通信制御部212は、フロー制御装置20とネットワーク35上の他の装置との通信のための各種制御処理を行う機能モジュールである。
【0117】
以上、フロー制御装置20の構成の一例を説明した。このようなフロー制御装置20は、上述の各種の機能を記述したプログラムをコンピュータに実行させることによって実現できる。
【0118】
次にアプリケーションサーバ25について説明する。アプリケーションサーバ25は、該サーバが提供するサービスのためのアプリケーションプログラム252と、ネットワーク35上の他の装置との通信のための制御処理を実行する通信制御部254と、その通信の際の暗号化及び復号の処理を実行する暗号・復号処理部256とを備える。
【0119】
サーバ25の暗号・復号処理部256は、指示入力装置10,フロー制御装置20又は他のサーバ25から送られてきた指示書を上述のごとく復号する機能を備える。アプリケーション252はその復号の結果を受け取り、これを解釈し、その解釈の結果に応じた処理を実行する。
【0120】
また暗号・復号処理部256は、該サーバ25の処理によって得られたデータを暗号化する機能を備える。そのような処理結果のデータを、フロー制御装置20又は他のサーバ25に送る際には、その送り先の公開鍵を用いてそのデータを暗号化する。
【0121】
また、通信制御部254は、上述の第1及び第2の指示送信形態(図3及び図4)では、アプリケーション252の処理結果をフロー制御装置20に送信する処理を行う。また通信制御部254は、第3の指示送信形態(図5)では、次のサーバ25に対する包括指示書60(及び、必要に応じ、処理結果のデータ)を送信するための上述の処理を実行し、第4の指示送信形態(図6)では、次のサーバ25に対する処理開始指示を送信するための上述の処理を実行する。
【0122】
以上説明した指示入力装置10及びサーバ25、及びフロー制御装置介在型のシステム構成の場合は更にフロー制御装置20により、上述の連携サービスのフローが実現されると共に、そのフローにおける各サーバ25への指示書の秘密を守る処理が行われる。
【図面の簡単な説明】
【図1】連携サービスを提供するシステムの構成の一例を示す図である。
【図2】連携サービスを提供するシステムの構成の別の例を示す図である。
【図3】連携サービスにおける各サーバへの指示書の送信形態の一例を示す図である。
【図4】連携サービスにおける各サーバへの指示書の送信形態の別の例を示す図である。
【図5】連携サービスにおける各サーバへの指示書の送信形態の更に別の例を示す図である。
【図6】連携サービスにおける各サーバへの指示書の送信形態の更に別の例を示す図である。
【図7】紙原稿を読み取って得た文書ファイルから先頭ページのみを取り出し、これを電子メールに添付して所定の宛先に送信するという連携サービスを実現するシステムの構成例を示す図である。
【図8】図7のシステムにおいて、指示入力装置がまず用意する平文の包括指示書の例を示す図である。
【図9】図9の平文の包括指示書内の個々の指示を、その指示を実行するサーバの公開鍵で暗号化した結果を示す図である。
【図10】入れ子構造で暗号化した包括指示書の構造を示す模式図である。
【図11】入れ子構造で暗号化した包括指示書の一例を示す図である。
【図12】連携サービスを提供するシステムを構成する各装置の内部構造の例を示す図である。
【符号の説明】
10 指示入力装置、20 フロー制御装置、25 アプリケーションサーバ、52,54 指示書、60 包括指示書、62 個別指示書。

Claims (10)

  1. 指示データに記述された処理記述に従って処理を実行する複数のジョブ処理装置を連携動作させることによりサービスを実現する情報処理装置であって、
    前記指示データに記述された処理記述に対し、各ジョブ処理装置の実行対象となる部分に、実行するジョブ処理装置が復号可能に暗号化する暗号処理部と、
    前記暗号処理部により処理記述が暗号化された指示データを、前記処理記述の表わす処理を実行するジョブ処理装置に伝達すべく送信する送信部と
    を備えることを特徴とする情報処理装置。
  2. 請求項1に記載の情報処理装置であって、
    前記暗号処理部は、暗号化の対象とする処理記述より後に処理を実行すべき処理記述の暗号化データを含めて暗号化することを特徴とする情報処理装置。
  3. 請求項1に記載の情報処理装置であって、
    前記暗号処理部は、暗号化の対象となる処理記述を実行するジョブ処理装置の公開鍵を用いて暗号化処理を施すことを特徴とする情報処理装置。
  4. 請求項1記載の情報処理装置において、
    前記暗号処理部は、各ジョブ処理装置の実行対象となる複数の部分について、それぞれ暗号化することを特徴とする情報処理装置。
  5. 請求項4記載の情報処理装置において、
    前記暗号処理部は、部分毎に異なる鍵で暗号化することを特徴とする情報処理装置。
  6. 複数のジョブ処理装置が所定の順序で連携動作することでサービスを実現するシステムにおいて、そのシステムを構成する情報処理装置であって、
    処理の内容が記述された処理記述が暗号化された指示データを受信する受信部と、
    前記受信部により受信された指示データに含まれる自装置の実行対象となる処理記述の部分を復号化する復号処理部と、
    前記復号処理部により復号化された処理記述を指示データから削除する削除部と、
    前記削除部により処理記述が削除された指示データを、次に処理を実行するジョブ処理装置に向けて送信する送信部と
    を備えることを特徴とする情報処理装置。
  7. 指示データに記述された複数の処理記述のそれぞれに従って処理を実行する複数のジョブ処理装置を連携動作させることによりサービスを実現するコンピュータが実行する情報処理方法であって、
    前記指示データに記述された処理記述に対し、各ジョブ処理装置の実行対象となる部分に、実行するジョブ処理装置が復号可能に暗号化し、
    暗号化された指示データを、前記処理記述の表わす処理を実行するジョブ処理装置に伝達すべく送信する
    ことを特徴とする情報処理方法。
  8. 複数のジョブ処理装置が所定の順序で連携動作することでサービスを実現するシステムにおいて、そのシステムを構成するジョブ処理装置の少なくとも1つが実行する情報処理方法であって、
    処理の内容が記述された処理記述が暗号化された指示データを受信し、
    受信された指示データに含まれる自装置の実行対象となる処理記述の部分を復号化し、
    復号化された処理記述を指示データから削除し、
    処理記述が削除された指示データを、次に処理を実行するジョブ処理装置に向けて送信する
    ことを特徴とする情報処理方法。
  9. 指示データに記述された複数の処理記述のそれぞれに従って処理を実行する複数のジョブ処理装置を連携動作させることによりサービスを実現するコンピュータのプログラムであって、
    コンピュータに、
    前記指示データに記述された処理記述に対し、各ジョブ処理装置の実行対象となる部分に、実行するジョブ処理装置が復号可能に暗号化する手順と、
    暗号化された指示データを、前記処理記述の表わす処理を実行するジョブ処理装置に伝達すべく送信する手順と
    を実行させるためのプログラム。
  10. 複数のジョブ処理装置が所定の順序で連携動作することでサービスを実現するシステムにおいて、そのシステムを構成するコンピュータのプログラムであって、
    コンピュータに、
    処理の内容が記述された処理記述が暗号化された指示データを受信する手順と、
    受信された指示データに含まれる自装置の実行対象となる処理記述の部分を復号化する手順と、
    復号化された処理記述を指示データから削除する手順と、
    処理記述が削除された指示データを、次に処理を実行するジョブ処理装置に向けて送信する手順と
    を実行させるためのプログラム。
JP2003081918A 2003-03-25 2003-03-25 情報処理装置及び方法 Pending JP2004288091A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2003081918A JP2004288091A (ja) 2003-03-25 2003-03-25 情報処理装置及び方法
US10/660,560 US7484104B2 (en) 2003-03-25 2003-09-12 Information processor and information processing method for cooperative operation of job processor
KR10-2003-0067367A KR100536817B1 (ko) 2003-03-25 2003-09-29 작업 처리 장치를 연휴 동작시키는 정보 처리 장치 및 방법
CNB2003101012154A CN1318985C (zh) 2003-03-25 2003-10-09 使作业处理装置协同动作的信息处理装置及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003081918A JP2004288091A (ja) 2003-03-25 2003-03-25 情報処理装置及び方法

Publications (1)

Publication Number Publication Date
JP2004288091A true JP2004288091A (ja) 2004-10-14

Family

ID=32984991

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003081918A Pending JP2004288091A (ja) 2003-03-25 2003-03-25 情報処理装置及び方法

Country Status (4)

Country Link
US (1) US7484104B2 (ja)
JP (1) JP2004288091A (ja)
KR (1) KR100536817B1 (ja)
CN (1) CN1318985C (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008040721A (ja) * 2006-08-04 2008-02-21 Fuji Xerox Co Ltd 指示書実行装置、方法及びプログラム
JP2009110552A (ja) * 2009-01-23 2009-05-21 Namco Bandai Games Inc データ構造、情報記憶媒体及び製造方法
JP2009140401A (ja) * 2007-12-10 2009-06-25 Ricoh Co Ltd データ処理システム、データ処理装置、データ処理方法、及びデータ処理プログラム
JP2009171470A (ja) * 2008-01-18 2009-07-30 Sharp Corp 通信端末
US7748048B2 (en) 2005-05-17 2010-06-29 Namco Bandai Games, Inc. Storage medium, method of producing transfer file data, and data signal
JP2013152640A (ja) * 2012-01-25 2013-08-08 Canon Inc 情報処理装置、情報処理方法およびプログラム
JP2016004326A (ja) * 2014-06-13 2016-01-12 ヤフー株式会社 情報処理装置、情報処理方法、情報処理プログラム及び情報処理システム
JP2017041680A (ja) * 2015-08-18 2017-02-23 富士ゼロックス株式会社 情報処理装置、情報処理システム及び情報処理プログラム
WO2020163758A1 (en) * 2019-02-08 2020-08-13 Arthur Young Systems, methods and machine readable programs for isolation of data

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7162035B1 (en) 2000-05-24 2007-01-09 Tracer Detection Technology Corp. Authentication method and system
US7636857B2 (en) * 2004-05-24 2009-12-22 Interdigital Technology Corporation Data-mover controller with plural registers for supporting ciphering operations
US7562223B2 (en) * 2004-12-17 2009-07-14 Xerox Corporation Multifunction device with secure job release
US8645712B1 (en) * 2005-10-27 2014-02-04 Altera Corporation Electronic circuit design copy protection
JP2008194999A (ja) * 2007-02-15 2008-08-28 Murata Mach Ltd 印刷管理装置
US7995196B1 (en) * 2008-04-23 2011-08-09 Tracer Detection Technology Corp. Authentication method and system
US20090327704A1 (en) * 2008-06-27 2009-12-31 Microsoft Corporation Strong authentication to a network
JP5235540B2 (ja) * 2008-07-11 2013-07-10 キヤノン株式会社 情報処理システム、情報処理装置及び情報処理方法並びにプログラム
US8464129B2 (en) * 2008-08-15 2013-06-11 Lsi Corporation ROM list-decoding of near codewords
US10057641B2 (en) * 2009-03-25 2018-08-21 Sony Corporation Method to upgrade content encryption
JP5531521B2 (ja) * 2009-09-11 2014-06-25 富士ゼロックス株式会社 文書管理システム、文書操作装置及びプログラム
CN103093306A (zh) * 2012-12-21 2013-05-08 大唐软件技术股份有限公司 一种业务数据协同处理方法和装置
US9767318B1 (en) * 2015-08-28 2017-09-19 Frank Dropps Secure controller systems and associated methods thereof
JP2018019207A (ja) * 2016-07-27 2018-02-01 富士ゼロックス株式会社 連携管理装置及び通信システム
US10305750B1 (en) * 2016-07-29 2019-05-28 Juniper Networks, Inc. Methods and apparatus for centralized configuration management of heterogenous network devices through software-based node unification
CN109788049B (zh) * 2018-12-30 2021-10-08 上海掌门科技有限公司 信息推送方法、装置、电子设备及介质

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08123744A (ja) 1994-10-26 1996-05-17 Hitachi Ltd ワークフローシステム
JPH09152998A (ja) 1995-11-30 1997-06-10 Toshiba Corp 電子回覧システムおよび電子回覧物の回覧方法
CA2228574A1 (en) * 1997-06-05 1999-08-02 Attention Control Systems, Inc. An automatic planning and cueing system and method
JP2000238389A (ja) * 1998-12-25 2000-09-05 Canon Inc 画像形成装置及び画像形成方法
JP2000138667A (ja) 1999-11-29 2000-05-16 Hitachi Software Eng Co Ltd 回覧デ―タ参照順の制御方法およびシステム
JP2001251522A (ja) 2000-03-08 2001-09-14 Ricoh Co Ltd 入出力装置
JP2001282970A (ja) 2000-03-29 2001-10-12 Hitachi Software Eng Co Ltd ワークフロー管理システム
EP1143695A3 (en) * 2000-03-29 2004-01-21 Canon Kabushiki Kaisha Control method for image processing apparatus connectable to computer network
WO2002021318A2 (en) * 2000-09-07 2002-03-14 Petrovantage, Inc. Computer method and apparatus for vessel selection and optimization
JP4299447B2 (ja) * 2000-09-12 2009-07-22 インターナショナル・ビジネス・マシーンズ・コーポレーション ワークフローシステム、情報処理装置、および記憶媒体
JP4850351B2 (ja) 2001-06-04 2012-01-11 哲也 高橋 暗号化データ生成装置、暗号化データ生成方法
US7207069B2 (en) * 2001-06-05 2007-04-17 Hewlett-Packard Development Company, L.P. Branch locking of job tickets to control concurrency
US20020184240A1 (en) * 2001-06-05 2002-12-05 Volkoff Brian A. Use of a job ticket as a generic XML database
US7237243B2 (en) * 2001-06-11 2007-06-26 Microsoft Corporation Multiple device management method and system
JP2003058478A (ja) * 2001-08-10 2003-02-28 Konica Corp ネットワーク装置及びネットワークシステム
US7299244B2 (en) * 2002-12-10 2007-11-20 Hewlett-Packard Development Company, L.P. System and method for dynamic sequencing of a requirements-based workflow

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7748048B2 (en) 2005-05-17 2010-06-29 Namco Bandai Games, Inc. Storage medium, method of producing transfer file data, and data signal
JP2008040721A (ja) * 2006-08-04 2008-02-21 Fuji Xerox Co Ltd 指示書実行装置、方法及びプログラム
JP2009140401A (ja) * 2007-12-10 2009-06-25 Ricoh Co Ltd データ処理システム、データ処理装置、データ処理方法、及びデータ処理プログラム
JP2009171470A (ja) * 2008-01-18 2009-07-30 Sharp Corp 通信端末
JP2009110552A (ja) * 2009-01-23 2009-05-21 Namco Bandai Games Inc データ構造、情報記憶媒体及び製造方法
JP4527173B2 (ja) * 2009-01-23 2010-08-18 株式会社バンダイナムコゲームス ゲームプログラム記録媒体
JP2013152640A (ja) * 2012-01-25 2013-08-08 Canon Inc 情報処理装置、情報処理方法およびプログラム
US9313356B2 (en) 2012-01-25 2016-04-12 Canon Kabushiki Kaisha Network system and image processing apparatus for coordinated processing, control method thereof, and storage medium
JP2016004326A (ja) * 2014-06-13 2016-01-12 ヤフー株式会社 情報処理装置、情報処理方法、情報処理プログラム及び情報処理システム
JP2017041680A (ja) * 2015-08-18 2017-02-23 富士ゼロックス株式会社 情報処理装置、情報処理システム及び情報処理プログラム
WO2020163758A1 (en) * 2019-02-08 2020-08-13 Arthur Young Systems, methods and machine readable programs for isolation of data

Also Published As

Publication number Publication date
US20040192426A1 (en) 2004-09-30
KR100536817B1 (ko) 2005-12-14
CN1318985C (zh) 2007-05-30
US7484104B2 (en) 2009-01-27
CN1532747A (zh) 2004-09-29
KR20040086111A (ko) 2004-10-08

Similar Documents

Publication Publication Date Title
KR100536817B1 (ko) 작업 처리 장치를 연휴 동작시키는 정보 처리 장치 및 방법
US20090284785A1 (en) Image formation device and image formation system
JP2008177683A (ja) データ提供システム、データ受領システム、データ提供方法、データ提供プログラム及びデータ受領プログラム
KR100537654B1 (ko) 연휴 처리를 안전하게 실현하기 위한 장치 및 방법
US20180082067A1 (en) Information Sharing Server, Information Sharing System And Non-Transitory Recording Medium
JP5383376B2 (ja) 画像処理装置及びその制御方法
JP2018202708A (ja) 設定情報利用システム、電子機器、設定情報利用方法、プログラム
JP2004287912A (ja) 処理サービス提供装置
JP5391756B2 (ja) 画像形成装置、情報管理方法、及びプログラム
JP2008046830A (ja) 画像出力装置、電子入稿システムおよびプログラム
JP2004153472A (ja) ジョブ処理制御装置及びジョブ処理制御方法
JP2008097170A (ja) 暗号化機能付き処理装置、暗号化装置、および暗号化機能付き処理プログラム
CN102291237A (zh) 信息保护装置及信息保护方法
JP4304957B2 (ja) ジョブ処理制御装置及びジョブ処理制御方法
JP4442583B2 (ja) 画像処理装置、画像処理方法及び画像処理用プログラム
JP5012394B2 (ja) 画像処理システム及び画像処理プログラム
JP4175156B2 (ja) ジョブ処理装置、ジョブ処理方法およびプログラム
JP7484294B2 (ja) 情報処理装置及び情報処理システム
JP4835266B2 (ja) 暗号化転送装置及びプログラム
JP4304956B2 (ja) ジョブ処理制御装置及びジョブ処理制御方法
JP2005199627A (ja) 機密印刷データの出力認証機能を有する画像処理装置
JP2004171114A (ja) 画像形成装置および画像形成システム
JP2004287727A (ja) プリンタシステム、認証装置、プリンタ装置およびプリンタドライバプログラム
JP2004240515A (ja) 画像生成装置、画像記録装置、および、画像形成システム
JP7234014B2 (ja) 情報処理装置、情報処理システム、およびその制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060220

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080904

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080909

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081107

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20081202