(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-10-31
(45)【発行日】2023-11-09
(54)【発明の名称】制御方法、制御プログラムおよび情報処理装置
(51)【国際特許分類】
G06Q 10/10 20230101AFI20231101BHJP
【FI】
G06Q10/10 310
(21)【出願番号】P 2022553395
(86)(22)【出願日】2020-10-02
(86)【国際出願番号】 JP2020037547
(87)【国際公開番号】W WO2022070405
(87)【国際公開日】2022-04-07
【審査請求日】2022-12-06
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002918
【氏名又は名称】弁理士法人扶桑国際特許事務所
(72)【発明者】
【氏名】中村 洋介
(72)【発明者】
【氏名】小嶋 陸大
(72)【発明者】
【氏名】角田 忠信
(72)【発明者】
【氏名】矢崎 孝一
(72)【発明者】
【氏名】山本 大
(72)【発明者】
【氏名】二村 和明
【審査官】鈴木 和樹
(56)【参考文献】
【文献】特開2001-229336(JP,A)
【文献】特開2003-281333(JP,A)
【文献】特開2009-277185(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00 - 99/00
(57)【特許請求の範囲】
【請求項1】
組織内または組織間で
扱われる文書のデータに関するデータ作成経路またはデータ承認経路に関する
第1の情報
であって、前記文書の属性に応じた複数のユーザによる署名の入力を受け付ける前記文書内の複数の領域を示すとともに、前記署名を伴う、前記文書のデータの作成または承認の手続きの依頼先ユーザの順序を特定する処理に用いられる前記第1の情報を、クライアント装置またはサーバ装置が
前記文書のデータに組み込み、
組み込まれた前記
第1の情報に基づき、前記クライアント装置が
前記文書のデータの
前記作成または
前記承認を行
い、
前記文書のデータには、前記
文書のデータの
前記作
成または
前記承認
の操作を行った、前記クライアント装置のユーザのデジタル署名
が追加され、
前記第1の情報の組み込みでは、
前記文書の前記属性に対して前記署名を行うユーザが満たすべきユーザ属性を示すユーザ属性情報と前記文書の前記属性に応じた前記ユーザ属性情報の順序とを保持するユーザ属性管理情報を参照して、前記属性に対応する前記ユーザ属性情報を、前記複数の領域それぞれに対応付けて前記第1の情報に追加し、
前記ユーザ属性情報に対応付けてユーザ名を保持するユーザ名管理情報に基づいて、前記第1の情報に含まれる前記ユーザ属性情報を前記ユーザ名に変換し、前記ユーザ名と前記ユーザ名に対応する連絡先の情報とを前記第1の情報に追加し、
前記文書に関する前記手続きが開始されると、前記文書のデータに含まれる前記複数の領域の位置関係と前記ユーザ名と前記連絡先の情報とに基づいて次の前記依頼先ユーザを特定する、
処理を実行することを特徴とする制御方法。
【請求項2】
コンピュータが、
文書のデータが入力されると、前記文書の属性に応じた複数のユーザによる署名の入力を受け付ける前記文書内の複数の領域を示す第1の情報であって、前記文書に関するワークフローにおける前記署名を伴う手続きの依頼先ユーザの順序を特定する処理に用いられる前記第1の情報を、前記文書のデータに追加し、
前記第1の情報を追加した前記文書のデータを出力
し、
前記第1の情報の追加では、
前記文書の前記属性に対して前記署名を行うユーザが満たすべきユーザ属性を示すユーザ属性情報と前記文書の前記属性に応じた前記ユーザ属性情報の順序とを保持するユーザ属性管理情報を参照して、前記属性に対応する前記ユーザ属性情報を、前記複数の領域それぞれに対応付けて前記第1の情報に追加し、
前記ユーザ属性情報に対応付けてユーザ名を保持するユーザ名管理情報に基づいて、前記第1の情報に含まれる前記ユーザ属性情報を前記ユーザ名に変換し、前記ユーザ名と前記ユーザ名に対応する連絡先の情報とを前記第1の情報に追加し、
前記文書に関する前記ワークフローが開始されると、前記文書のデータに含まれる前記複数の領域の位置関係と前記ユーザ名と前記連絡先の情報とに基づいて次の前記依頼先ユーザを特定する、
制御方法。
【請求項3】
前記連絡先の情報は、前記ユーザ名に対応するユーザのメールアドレスである、
請求項1または2記載の制御方法。
【請求項4】
前記ユーザ属性情報は、前記ユーザの役職を示す情報を含む、
請求項
1または2記載の
制御方法。
【請求項5】
前記第1の情報は、前記複数の領域それぞれを囲う枠を示す情報である、
請求項
1または2記載の
制御方法。
【請求項6】
前記サーバ装置が、前記文書のデータに含まれる前記第1の情報に基づいて、前記依頼先ユーザの前記順序を特定し、前記順序に基づく前記手続きを開始する、
請求項1記載の制御方法。
【請求項7】
前記デジタル署名の追加では、前記クライアント装置が、前記手続きでの前記文書の加工前後における前記文書のデータの差分のハッシュ値と、前記作成または前記承認の操作を行った、前記クライアント装置のユーザの秘密鍵で前記ハッシュ値を暗号化した前記デジタル署名とを前記文書のデータに追加する、
請求項1記載の制御方法。
【請求項8】
前記コンピュータが更に、前記文書のデータに含まれる前記第1の情報に基づいて、前記依頼先ユーザの前記順序を特定し、前記順序により前記複数のユーザに前記文書の承認を求める前記ワークフローを開始する、
請求項2記載の
制御方法。
【請求項9】
前記コンピュータが更に、ユーザによる前記文書の承認を、前記ユーザが使用する第1の情報処理装置に依頼し、
前記第1の情報処理装置が、前記ユーザによる前記文書の承認を受け付けると、前記文書の加工前後における前記文書のデータの差分のハッシュ値と前記ハッシュ値を前記ユーザの秘密鍵で暗号化した電子署名とを前記文書のデータに追加する、
請求項
2記載の
制御方法。
【請求項10】
前記第1の情報処理装置が更に、前記ユーザによる前記文書の承認を受け付けると、前記ユーザに対応する前記文書のデータに含まれる前記領域に、前記ユーザのサイン画像を追加する、
請求項9記載の
制御方法。
【請求項11】
前記コンピュータが更に、前記文書のデータに対して前記複数のユーザのうちの最後のユーザに対応する前記電子署名が付与されると、前記複数のユーザそれぞれの秘密鍵を基に生成される集約署名鍵により前記文書のデータに含まれる複数の前記ハッシュ値を暗号化した集約署名を前記文書のデータに追加する処理を、第2の情報処理装置に依頼し、
前記第2の情報処理装置が、前記集約署名を前記文書のデータに追加する、
請求項9記載の
制御方法。
【請求項12】
前記第2の情報処理装置が更に、前記文書のデータの本文に対して前記文書のデータのデータ形式に応じた他の電子署名を前記文書のデータに追加する、
請求項11記載の
制御方法。
【請求項13】
コンピュータに、
文書のデータが入力されると、前記文書の属性に応じた複数のユーザによる署名の入力を受け付ける前記文書内の複数の領域を示す第1の情報であって、前記文書に関するワークフローにおける前記署名を伴う手続きの依頼先ユーザの順序を特定する処理に用いられる前記第1の情報を、前記文書のデータに追加し、
前記第1の情報を追加した前記文書のデータを出力
し、
前記第1の情報の追加では、
前記文書の前記属性に対して前記署名を行うユーザが満たすべきユーザ属性を示すユーザ属性情報と前記文書の前記属性に応じた前記ユーザ属性情報の順序とを保持するユーザ属性管理情報を参照して、前記属性に対応する前記ユーザ属性情報を、前記複数の領域それぞれに対応付けて前記第1の情報に追加し、
前記ユーザ属性情報に対応付けてユーザ名を保持するユーザ名管理情報に基づいて、前記第1の情報に含まれる前記ユーザ属性情報を前記ユーザ名に変換し、前記ユーザ名と前記ユーザ名に対応する連絡先の情報とを前記第1の情報に追加し、
前記文書に関する前記ワークフローが開始されると、前記文書のデータに含まれる前記複数の領域の位置関係と前記ユーザ名と前記連絡先の情報とに基づいて次の前記依頼先ユーザを特定する、
処理を実行させる
制御プログラム。
【請求項14】
入力された文書のデータを記憶する記憶部と、
前記文書の属性に応じた複数のユーザによる署名の入力を受け付ける前記文書内の複数の領域を示す第1の情報であって、前記文書に関するワークフローにおける前記署名を伴う手続きの依頼先ユーザの順序を特定する処理に用いられる前記第1の情報を、前記文書のデータに追加し、前記第1の情報を追加した前記文書のデータを出力する処理部と、
を有
し、
前記処理部は、前記第1の情報の追加では、前記文書の前記属性に対して前記署名を行うユーザが満たすべきユーザ属性を示すユーザ属性情報と前記文書の前記属性に応じた前記ユーザ属性情報の順序とを保持するユーザ属性管理情報を参照して、前記属性に対応する前記ユーザ属性情報を、前記複数の領域それぞれに対応付けて前記第1の情報に追加し、前記ユーザ属性情報に対応付けてユーザ名を保持するユーザ名管理情報に基づいて、前記第1の情報に含まれる前記ユーザ属性情報を前記ユーザ名に変換し、前記ユーザ名と前記ユーザ名に対応する連絡先の情報とを前記第1の情報に追加し、
前記文書に関する前記ワークフローが開始されると、前記文書のデータに含まれる前記複数の領域の位置関係と前記ユーザ名と前記連絡先の情報とに基づいて次の前記依頼先ユーザを特定する、
情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は制御方法、制御プログラムおよび情報処理装置に関する。
【背景技術】
【0002】
複数のユーザによる手続きの支援にワークフローシステムが用いられることがある。例えば、コンピュータによって電子化された申請書や通知書などを、予め定めた決裁ルートに従って、集配信し、決済処理を行うことによって、承認手続きを電子化するコンピュータシステムの提案がある。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ワークフローにおける手続き対象の文書のデータの正当性が問題となる。例えば、文書のデータの正当性の保証のために、文書のデータがワークフローに従って作成され、ワークフローの順序に従って承認の手続きが行われたことを検証可能にすることが考えられる。しかし、ユーザが、文書の内容に対する手続きの依頼先の順序をワークフローシステムに対して適切に設定することは容易ではない。
【0005】
1つの側面では、本発明は、ワークフローを容易に利用可能にする制御方法、制御プログラムおよび情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
1つの態様では、制御方法が提供される。この制御方法では、組織内または組織間で扱われる文書のデータに関するデータ作成経路またはデータ承認経路に関する第1の情報であって、文書の属性に応じた複数のユーザによる署名の入力を受け付ける文書内の複数の領域を示すとともに、当該署名を伴う、文書のデータの作成または承認の手続きの依頼先ユーザの順序を特定する処理に用いられる第1の情報を、クライアント装置またはサーバ装置が文書のデータに組み込み、組み込まれた第1の情報に基づき、クライアント装置が文書のデータの作成または承認を行い、文書のデータには、文書のデータの作成または承認の操作を行った、クライアント装置のユーザのデジタル署名が追加され、第1の情報の組み込みでは、文書の属性に対して署名を行うユーザが満たすべきユーザ属性を示すユーザ属性情報と文書の属性に応じたユーザ属性情報の順序とを保持するユーザ属性管理情報を参照して、当該属性に対応するユーザ属性情報を、複数の領域それぞれに対応付けて第1の情報に追加し、ユーザ属性情報に対応付けてユーザ名を保持するユーザ名管理情報に基づいて、第1の情報に含まれるユーザ属性情報をユーザ名に変換し、ユーザ名を第1の情報に追加し、文書に関する手続きが開始されると、文書のデータに含まれる複数の領域の位置関係とユーザ名と連絡先の情報とに基づいて次の依頼先ユーザを特定する。
【0007】
また、1つの態様では、制御方法が提供される。この制御方法では、コンピュータが、文書のデータが入力されると、文書の属性に応じた複数のユーザによる署名の入力を受け付ける文書内の複数の領域を示す第1の情報であって、文書に関するワークフローにおける署名を伴う手続きの依頼先ユーザの順序を特定する処理に用いられる第1の情報を、文書のデータに追加し、第1の情報を追加した文書のデータを出力し、第1の情報の追加では、文書の属性に対して署名を行うユーザが満たすべきユーザ属性を示すユーザ属性情報と文書の属性に応じたユーザ属性情報の順序とを保持するユーザ属性管理情報を参照して、当該属性に対応するユーザ属性情報を、複数の領域それぞれに対応付けて第1の情報に追加し、ユーザ属性情報に対応付けてユーザ名を保持するユーザ名管理情報に基づいて、第1の情報に含まれるユーザ属性情報をユーザ名に変換し、ユーザ名とユーザ名に対応する連絡先の情報とを第1の情報に追加し、文書に関するワークフローが開始されると、文書のデータに含まれる複数の領域の位置関係とユーザ名と連絡先の情報とに基づいて次の依頼先ユーザを特定する。
【0008】
また、1つの態様では、制御プログラムが提供される。
また、1つの態様では、情報処理装置が提供される。
【発明の効果】
【0009】
1つの側面では、ワークフローを容易に利用可能にすることができる。
本発明の上記および他の目的、特徴および利点は本発明の例として好ましい実施の形態を表す添付の図面と関連した以下の説明により明らかになるであろう。
【図面の簡単な説明】
【0010】
【
図1】第1の実施の形態の情報処理装置を説明する図である。
【
図2】第2の実施の形態の情報処理システムの例を示す図である。
【
図3】制御サーバのハードウェア例を示す図である。
【
図12】ワークフロー制御例を示すフローチャートである。
【
図13】承認処理の例を示すフローチャートである。
【
図14】集約署名付与処理例を示すフローチャートである。
【
図15】文書データのデータ構造例(その1)を示す図である。
【
図16】文書データのデータ構造例(その2)を示す図である。
【発明を実施するための形態】
【0011】
以下、本実施の形態について図面を参照して説明する。
[第1の実施の形態]
第1の実施の形態を説明する。
【0012】
図1は、第1の実施の形態の情報処理装置を説明する図である。
情報処理装置10は、ユーザによるワークフローの利用を支援する。情報処理装置10は、記憶部11および処理部12を有する。
【0013】
記憶部11は、RAM(Random Access Memory)などの揮発性記憶装置でもよいし、HDD(Hard Disk Drive)やフラッシュメモリなどの不揮発性記憶装置でもよい。処理部12は、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)などを含み得る。処理部12はプログラムを実行するプロセッサでもよい。「プロセッサ」は、複数のプロセッサの集合(マルチプロセッサ)を含み得る。
【0014】
記憶部11は、処理部12の処理に用いられるデータを記憶する。例えば、記憶部11は、文書の属性に応じた承認などの手続きの依頼先の特定に用いられる情報を記憶する。また、記憶部11は、入力された文書のデータを記憶する。文書データ20は、文書のデータの一例である。文書は、契約書、申請書、通知書など、文書の内容に応じた属性に予め分類される。文書データ20は、属性を示す情報を含む。例えば、文書データ20の属性は「属性a」である。
【0015】
処理部12は、文書のデータが入力されると、第1の情報を文書のデータに追加する。第1の情報は、文書の属性に応じた複数のユーザによる署名の入力を受け付ける文書内の複数の領域を示す。また、第1の情報は、文書に関するワークフローにおける署名を伴う手続きの依頼先ユーザの順序を特定する処理に用いられる。当該順序を特定する処理は、情報処理装置10によって実行されてもよいし、他の情報処理装置によって実行されてもよい。処理部12は、第1の情報を追加した文書のデータを出力する。
【0016】
例えば、処理部12は、文書データ20が入力されると、文書データ20に対して第1の情報を追加する。文書データ20aは、文書データ20に対して、文書の属性aに応じた第1の情報が追加されたデータである。処理部12は、文書データ20aを出力する。
【0017】
文書データ20aは、署名用領域21,22の情報を含む。署名用領域21,22の情報は、第1の情報の一例である。署名用領域21,22は、それぞれユーザu1,u2による署名の入力を受け付ける領域である。署名用領域21,22は、署名用領域21,22それぞれを囲う枠の情報を含んでもよい。文書データ20aに基づいて文書の内容を表示装置により表示させる場合、当該文書に署名用領域21,22が表示される。ユーザu1,u2が該当の文書を承認する際には、ユーザu1,u2それぞれの電子署名が文書データ20aに付与されるとともに、手書きのサインの画像が署名用領域21,22に入力される。ユーザの秘密鍵を用いて作成された電子署名をデータに付与することで、公開鍵基盤(PKI:Public Key Infrastructure)の技術を用いて、該当のデータが該当のユーザにより作成されたものであることが検証可能になる。文書データ20aに対する電子署名とは、文書データ20aに基づく情報のハッシュ値をユーザなどの秘密鍵で暗号化したデータである。電子署名はデジタル署名と呼ばれてもよい。
【0018】
なお、手書きのサインの画像は、該当のユーザによる承認の入力を受け付ける情報処理装置10または他の情報処理装置に接続された入力装置を当該ユーザが操作することで入力されてもよい。あるいは、情報処理装置10または他の情報処理装置が、情報処理装置10または他の情報処理装置により予め保持される当該ユーザのサインの画像を当該ユーザによる承認に応じて入力してもよい。
【0019】
ここで、署名用領域21,22の文書内の位置関係は、文書データ20aに関するワークフロー30におけるユーザu1,u2の手続きの順序に対応付けられる。一例では、署名用領域21,22は、上から下へ向かう順に表示されるように文書データ20aに挿入される。そして、当該上から下へ向かう順がワークフロー30の手続きの順序に対応付けられる。この場合、ワークフロー30を制御する情報処理装置10または他の情報処理装置は、文書データ20aに基づいて、ワークフロー30における手続きの依頼先の順序が、ユーザu1,u2の順であると特定できる。例えば、処理部12は、署名用領域21,22を、例えば左から右へ向かう順序などの他の順序となるように、文書データ20aに挿入し、当該順序を、ワークフロー30の手続きの順序に対応付けてもよい。
【0020】
あるいは、処理部12は、署名用領域21,22それぞれの情報に対して、ワークフローの依頼先ユーザの順序に応じた1,2,…などのインデックスを付与し、インデックスの順番に応じて、ワークフローの依頼先ユーザの順序を特定可能にしてもよい。
【0021】
また、文書あるいは文書の属性ごとに、署名用領域の順序とワークフロー30の手続きの順序との対応関係を示す情報が記憶部11に予め定められていてもよい。例えば、情報処理装置10または他の情報処理装置は、文書データ20aに対するワークフロー30を開始する場合に、署名用領域21,22を示す第1の情報に基づいて、ワークフロー30の依頼先および依頼先の順序の特定を行うことができる。
【0022】
なお、文書データ20aに対する手続きの順序に応じた署名用領域21,22の挿入方法には次の方法が考えられる。
例えば、記憶部11は、文書の属性に対して署名を行うユーザが満たすべきユーザ属性を示すユーザ属性情報と文書の属性に応じたユーザ属性情報の順序とを保持するユーザ属性管理情報を記憶する。また、記憶部11は、ユーザ属性情報に対応付けてユーザ名を保持するユーザ名管理情報を記憶する。
【0023】
処理部12は、記憶部11に記憶されたユーザ属性管理情報を参照して、該当の文書の属性に対応するユーザ属性情報を、複数の領域それぞれに対応付けて第1の情報に追加する。そして、処理部12は、ユーザ名管理情報に基づいて、第1の情報に含まれるユーザ属性情報をユーザ名に変換する。
【0024】
ユーザ属性情報としては、例えば、役職の情報が考えられる。ユーザ属性情報は、組織内の部門などの情報を含んでもよい。すなわち、処理部12は、まずは、ユーザ属性情報に応じた手続き経路の雛形を第1の情報として文書のデータに追加し、その後、実際の依頼先のユーザを、役職などのユーザ属性情報に応じたユーザ名に変換してもよい。このようにすると、例えば、異動などにより役職に対応する個人名が変更され、依頼先のユーザ名が変わる場合でも、ユーザ名管理情報を変更するだけで、依頼先の変更の対応を容易に行える。
【0025】
情報処理装置10によれば、文書のデータが入力されると、文書の属性に応じた複数のユーザによる署名の入力を受け付ける文書内の複数の領域を示す第1の情報であって、文書に関するワークフローにおける署名を伴う手続きの依頼先ユーザの順序を特定する処理に用いられる第1の情報が、文書のデータに追加される。第1の情報を追加した文書のデータが出力される。
【0026】
これにより、ワークフローを容易に利用可能にすることができる。
情報処理装置10により、文書の属性に応じた順序で署名用領域が文書のデータに挿入される。情報処理装置10または他の情報処理装置は、署名用領域が追加された文書のデータを基に、ワークフロー30における依頼先の順序を特定し、ワークフロー30を開始できる。このため、ユーザは、該当の文書に対するワークフロー30の依頼先を自身で決定して、情報処理装置10または他の情報処理装置に入力しなくてよい。したがって、ユーザは、ワークフローを容易に利用可能になる。
【0027】
例えば、組織内または組織間でのデータ作成経路またはデータ承認経路に関する情報を、クライアント装置またはサーバ装置がデータに組み込み、組み込まれた情報に基づき、クライアント装置がデータの作成または承認を行うことで、サーバ装置およびクライアント装置が連携してデータの作成者または承認者のデジタル署名をデータ内に含める処理を実行してもよい。これにより、ワークフローの手続きに伴うユーザの操作負担が軽減され、ワークフローを容易に利用可能になる。また、データの真正性を適切に検証可能になる。クライアント装置やサーバ装置は、情報処理装置10の一例である。また、データの作成は、例えば、データ作成経路またはデータ承認経路に関する情報が組み込まれたデータの更新により行われてもよい。
【0028】
次に、具体的な情報処理システムを例示して、情報処理装置10の機能を更に詳細に説明する。
[第2の実施の形態]
次に、第2の実施の形態を説明する。
【0029】
図2は、第2の実施の形態の情報処理システムの例を示す図である。
第2の実施の形態の情報処理システムは、制御サーバ100、クラウドシステム200、クライアント装置300,400,500および集約署名実行サーバ600を含む。制御サーバ100、クラウドシステム200、クライアント装置300,400,500および集約署名実行サーバ600は、ネットワーク50に接続される。ネットワーク50は、例えばインターネットである。例えば、クライアント装置300,400,500および集約署名実行サーバ600は、企業などの組織内のLAN(Local Area Network)やWAN(Wide Area Network)などのネットワークに接続され、当該ネットワークを介してインターネットなどのネットワーク50に接続される。
【0030】
制御サーバ100は、ワークフローシステムを提供するサーバコンピュータである。制御サーバ100は、クラウドシステム200に保存された文書データを用いたワークフローを実現可能にする。また、文書データは、第1の実施の形態の文書のデータの一例である。制御サーバ100は、第1の実施の形態の情報処理装置10の一例である。
【0031】
クラウドシステム200は、クライアント装置300,400,500に対してクラウドサービスを提供するサーバコンピュータである。クラウドシステム200のクラウドサービスでは、データの格納領域を提供する。例えば、クラウドシステム200は、大容量のストレージを有し、当該ストレージの記憶領域をクライアント装置300,400,500により利用可能にする。クラウドシステム200が提供するストレージは、クラウドストレージと呼ばれることがある。
【0032】
クライアント装置300,400,500は、ユーザが操作するPC(Personal Computer)などのクライアントコンピュータである。
集約署名実行サーバ600は、文書データに集約署名を付与するサーバコンピュータである。集約署名は、文書データがワークフローの適切な順序で各ユーザに承認されたものであることの検証に用いられる。
【0033】
例えば、制御サーバ100やクラウドシステム200は、Webサーバとして機能する。また、クライアント装置300,400,500は、Webブラウザとして機能する。例えば、クライアント装置300,400,500のユーザは、Webブラウザを操作して、制御サーバ100やクラウドシステム200が実行するWebサーバにより提供されるGUI(Graphical User Interface)を利用可能である。
【0034】
制御サーバ100は、ワークフローの制御とともに、ワークフローの対象となる、クラウドシステム200に格納されるデータの正当性の保証を支援するサービスを提供する。このようなサービスは、TaaS(Trust as a Service)と呼ばれることがある。
【0035】
図3は、制御サーバのハードウェア例を示す図である。
制御サーバ100は、CPU101、RAM102、HDD103、画像信号処理部104、入力信号処理部105、媒体リーダ106およびNIC(Network Interface Card)107を有する。なお、CPU101は、第1の実施の形態の処理部12に対応する。RAM102またはHDD103は、第1の実施の形態の記憶部11に対応する。
【0036】
CPU101は、プログラムの命令を実行するプロセッサである。CPU101は、HDD103に記憶されたプログラムやデータの少なくとも一部をRAM102にロードし、プログラムを実行する。なお、CPU101は複数のプロセッサコアを含んでもよい。また、制御サーバ100は複数のプロセッサを有してもよい。以下で説明する処理は複数のプロセッサまたはプロセッサコアを用いて並列に実行されてもよい。また、複数のプロセッサの集合を「マルチプロセッサ」または単に「プロセッサ」と言うことがある。
【0037】
RAM102は、CPU101が実行するプログラムやCPU101が演算に用いるデータを一時的に記憶する揮発性の半導体メモリである。なお、制御サーバ100は、RAM以外の種類のメモリを備えてもよく、複数個のメモリを備えてもよい。
【0038】
HDD103は、OS(Operating System)やミドルウェアやアプリケーションソフトウェアなどのソフトウェアのプログラム、および、データを記憶する不揮発性の記憶装置である。なお、制御サーバ100は、フラッシュメモリやSSD(Solid State Drive)などの他の種類の記憶装置を備えてもよく、複数の不揮発性の記憶装置を備えてもよい。
【0039】
画像信号処理部104は、CPU101からの命令に従って、制御サーバ100に接続されたディスプレイ111に画像を出力する。ディスプレイ111としては、CRT(Cathode Ray Tube)ディスプレイ、液晶ディスプレイ(LCD:Liquid Crystal Display)、プラズマディスプレイ、有機EL(OEL:Organic Electro-Luminescence)ディスプレイなど、任意の種類のディスプレイを用いることができる。
【0040】
入力信号処理部105は、制御サーバ100に接続された入力デバイス112から入力信号を取得し、CPU101に出力する。入力デバイス112としては、マウス・タッチパネル・タッチパッド・トラックボールなどのポインティングデバイス、キーボード、リモートコントローラ、ボタンスイッチなどを用いることができる。また、制御サーバ100に、複数の種類の入力デバイスが接続されていてもよい。
【0041】
媒体リーダ106は、記録媒体113に記録されたプログラムやデータを読み取る読み取り装置である。記録媒体113として、例えば、磁気ディスク、光ディスク、光磁気ディスク(MO:Magneto-Optical disk)、半導体メモリなどを使用できる。磁気ディスクには、フレキシブルディスク(FD:Flexible Disk)やHDDが含まれる。光ディスクには、CD(Compact Disc)やDVD(Digital Versatile Disc)が含まれる。
【0042】
媒体リーダ106は、例えば、記録媒体113から読み取ったプログラムやデータを、RAM102やHDD103などの他の記録媒体にコピーする。読み取られたプログラムは、例えば、CPU101によって実行される。なお、記録媒体113は可搬型記録媒体であってもよく、プログラムやデータの配布に用いられることがある。また、記録媒体113やHDD103を、コンピュータ読み取り可能な記録媒体と言うことがある。
【0043】
NIC107は、ネットワーク50に接続され、ネットワーク50を介して他のコンピュータと通信を行うインタフェースである。NIC107は、例えば、スイッチやルータなどの通信装置とケーブルで接続される。NIC107は、ネットワーク50と無線で接続されてもよい。
【0044】
なお、クラウドシステム200に用いられるサーバコンピュータやクライアント装置300,400,500および集約署名実行サーバ600も制御サーバ100と同様のハードウェアにより実現される。
【0045】
図4は、情報処理システムの機能例を示す図である。
制御サーバ100は、記憶部120、署名枠挿入部130およびワークフロー制御部140を有する。記憶部120には、RAM102やHDD103の記憶領域が用いられる。署名枠挿入部130およびワークフロー制御部140は、RAM102に記憶されたプログラムをCPU101により実行することで実現される。
【0046】
記憶部120は、署名枠挿入部130およびワークフロー制御部140の処理に用いられるデータを記憶する。例えば、記憶部120は、承認経路テーブルおよび組織管理テーブルを予め記憶する。
【0047】
承認経路テーブルは、ワークフローにおける承認経路の雛形、すなわち、テンプレートの情報が登録される。承認経路テーブルには、部門および役職を用いて、ワークフローにおける承認主体の順序が、承認対象の文書の属性ごとに予め登録される。部門および役職は、第1の実施の形態のユーザ属性情報の一例である。承認経路テーブルは、第1の実施の形態のユーザ属性管理情報の一例である。
【0048】
組織管理テーブルは、部門および役職に対するユーザの氏名の情報が登録される。組織管理テーブルは、第1の実施の形態のユーザ名管理情報の一例である。
署名枠挿入部130は、クラウドシステム200に格納された文書データのうち、ワークフローの対象となるものに対して、署名枠の情報を挿入する。一例として、文書データは、XML(Extensible Markup Language)形式のデータであるとする。XML形式の文書データの一例として、docxの拡張子をもつWordファイルが挙げられる。Wordファイルは、Microsoft(登録商標)社のアプリケーション「Word」で使用されるファイルである。ただし、文書データは他のデータ形式のものでもよい。
【0049】
ここで、署名枠は、第1の実施の形態の署名の入力を受け付ける領域や署名用領域の一例である。署名枠は、署名用領域を囲う枠であると考えてもよい。署名枠挿入部130は、署名枠に代えて、署名欄のように枠で囲われない署名用領域の情報を文書データに追加してもよい。以下では署名枠を主に例示して説明するが、制御サーバ100は、署名枠の代わりに署名欄を用いる場合も署名枠を用いる場合と同様の処理を行う。
【0050】
例えば、制御サーバ100は、ワークフローの対象となる文書データの、クライアント装置300による入力を受け付けてもよい。例えば、制御サーバ100は、ワークフローの対象となる文書データのユーザによる指定をクライアント装置300から受け付けて、ワークフローの対象となる当該文書データをクラウドシステム200から取得してもよい。
【0051】
署名枠挿入部130は、記憶部120に記憶された承認経路テーブルおよび組織管理テーブルに基づいて、該当の文書の属性に応じた署名枠を、文書データに追加する。ここで、署名枠挿入部130は、文書の属性を文書データに含まれる所定の情報から判別する。
【0052】
ワークフロー制御部140は、署名枠挿入部130により該当の文書データに署名枠が挿入されると、文書データに基づいてワークフローを開始する。ワークフロー制御部140は、文書データに含まれる署名枠の情報に基づいて、ワークフローの依頼先のユーザを特定する。ワークフロー制御部140は、現在の依頼先のユーザによる文書の承認が完了した旨の通知を受け付けると、次のユーザに承認を依頼する。ワークフロー制御部140は、全ての依頼先のユーザの承認が完了すると、該当の文書データに対する集約署名の付与を集約署名実行サーバ600に依頼する。ワークフロー制御部140は、集約署名実行サーバ600による集約署名の付与が完了すると、該当の文書データのワークフローを終了する。
【0053】
クライアント装置300は、記憶部310および署名処理部320を有する。記憶部310には、クライアント装置300が備えるRAMやHDDの記憶領域が用いられる。署名処理部320は、クライアント装置300が備えるRAMに記憶されたプログラムが、クライアント装置300が備えるCPUにより実行されることで実現される。
【0054】
記憶部310は、クラウドシステム200からダウンロードされた文書データが保持される。また、記憶部310は、文書データの署名に用いられる、ユーザの秘密鍵を記憶する。なお、ユーザごとの秘密鍵と公開鍵との鍵ペアは制御サーバ100により生成されて該当のユーザのクライアント装置と共有されてもよい。ユーザの電子証明書は、制御サーバ100が認証局となってユーザの公開鍵を電子署名することで生成されたものでもよいし、図示を省略している他の認証局によって生成されたものでもよい。
【0055】
ユーザの秘密鍵と電子証明書とは、クライアント装置の所定の鍵ストアに格納されてもよい。ユーザの秘密鍵と電子証明書とは、ユーザが所有するIC(Integrated Circuit)カードなどの媒体に格納されてもよく、電子署名時などにクライアント装置300が当該媒体から読み出して署名に用いられてもよい。
【0056】
署名処理部320は、文書データの承認の依頼を制御サーバ100から受け付ける。承認の依頼は、承認を行うべきユーザの情報を含む。署名処理部320は、クライアント装置300により該当のユーザがクラウドシステム200にログインすると、承認を依頼された文書データに対する承認を受け付けるための画面を、クラウドシステム200の操作画面の中に表示させる。該当の文書データは、クラウドシステム200からクライアント装置300にダウンロードされる。署名処理部320は、該当の文書データを承認する旨のユーザによる入力を受け付けると、当該文書データに対して該当のユーザの秘密鍵を用いた電子署名を付与する。このとき、署名処理部320は、文書データに対して該当のユーザの電子署名を付与するとともに、該当のユーザに対応する署名枠に、該当のユーザのサイン画像を追加する。サイン画像の追加は、標準署名と呼ばれる。署名処理部320は、署名処理が完了すると、電子署名を付与した文書データをクラウドシステム200にアップロードする。そして、署名処理部320は、署名処理が完了したことを制御サーバ100に通知する。
【0057】
なお、図示を省略しているが、クライアント装置400,500も、クライアント装置300と同様の機能を有する。
集約署名実行サーバ600は、記憶部610、集約署名鍵生成部620および集約署名付与部630を有する。記憶部610は、集約署名実行サーバ600が備えるRAMやHDDの記憶領域が用いられる。集約署名鍵生成部620および集約署名付与部630は、集約署名実行サーバ600が備えるRAMに記憶されたプログラムが、集約署名実行サーバ600が備えるCPUにより実行されることで実現される。
【0058】
記憶部610は、集約署名鍵生成部620により生成される集約署名鍵を記憶する。
集約署名鍵生成部620は、ワークフローの依頼先ユーザの順序のあり得る組合せに対し、該当の各ユーザの秘密鍵の組に基づいて、集約署名鍵を予め生成し、記憶部610に格納する。
【0059】
集約署名付与部630は、文書データに対する集約署名付与依頼を制御サーバ100から受け付けると、該当の文書データをクラウドシステム200からダウンロードする。集約署名付与部630は、該当の文書データに対する複数の依頼先ユーザの組に応じた集約署名鍵を記憶部610から取得し、集約署名鍵を用いて、文書データに集約署名を付与する。集約署名の付与方法の詳細は後述される。ユーザ個人の電子署名および集約署名を付与する一連の署名を、組織署名と呼ぶことがある。集約署名付与部630は、集約署名付与後の文書データをクラウドシステム200にアップロードする。そして、集約署名付与部630は、集約署名付与が完了したことを制御サーバ100に通知する。
【0060】
図5は、承認経路テーブルの例を示す図である。
承認経路テーブル121は、記憶部120に予め記憶される。承認経路テーブル121は、文書属性、起案、承認、決裁の項目を含む。
【0061】
文書属性の項目には、文書の属性が登録される。起案の項目には、文書を起案するユーザが属する企業における部門および役職が登録される。承認の項目には、文書を承認するユーザの部門および役職が登録される。決裁の項目には、文書を決裁するユーザの部門および役職が登録される。ここで、起案、承認および決裁の項目では、部門が省略されることがある。部門が省略される場合、ワークフローの開始を制御サーバ100に依頼したユーザ、すなわち、起案したユーザと同じ部門であることを示す。
【0062】
ここで、起案、承認および決裁は、ワークフローにおける署名を伴う複数の手続きの一例である。起案、承認および決裁の一連の手続きは、この順序で行われるべきものである。なお、決裁は、最終的な承認を表しており、承認と同様の手続きであると考えてよい。
【0063】
例えば、承認経路テーブル121には、文書属性「契約書」、起案「担当」、承認「部長」、決裁「経理部長」のレコードが登録されている。このレコードは、属性「契約書」の文書に対しては、まず、役職「担当」のユーザが起案を行い、次に起案したユーザと同じ部門の「部長」が承認を行い、最後に、「経理部長」、すなわち、経理部の部長が決裁を行うことを示す。
【0064】
承認経路テーブル121には、他の文書属性に対しても同様に、承認経路のテンプレートが登録される。承認経路テーブル121で示される承認経路には、ある文書属性に対して、起案者を含む2以上の依頼先ユーザに対応する部門および役職の2以上の組が含まれ得る。
【0065】
図6は、組織管理テーブルの例を示す図である。
組織管理テーブル122は、記憶部120に予め記憶される。組織管理テーブル122は、部門、役職および氏名の項目を含む。
【0066】
部門の項目には、部門の名称が登録される。役職の項目には、役職の名称が登録される。氏名の項目には、ユーザの氏名が登録される。
例えば、組織管理テーブル122には、部門が「経理部」、役職が「部長」、氏名が「氏名C」というレコードが登録されている。このレコードは、部門「経理部」の役職「部長」のユーザの氏名が「氏名C」であることを示す。
【0067】
組織管理テーブル122には、他のユーザに対しても同様に、部門および役職に対応付けて氏名が登録される。例えば、組織管理テーブル122には、部門「XX部」および役職「部長」に対して氏名「氏名B」が登録されている。また、組織管理テーブル122には、部門「XX部」および役職「担当」に対して氏名「氏名A」が登録されている。
【0068】
図7は、署名枠の挿入例を示す図である。
例えば、氏名Aのユーザがクライアント装置300を操作して、クラウドシステム200に文書データ700をアップロードする。ここで、例えば、氏名Aのユーザを「ユーザA」と表記する。ユーザAは、文書データ700の起案者である。
【0069】
ユーザAは、クライアント装置300を操作して、クラウドシステム200の特定のフォルダに文書データ700を格納する。クライアント装置300は、当該フォルダに文書データ700を格納したことを制御サーバ100に通知する。ワークフロー制御部140は、当該通知に応じて、文書データ700へ署名枠を挿入し、フローチャートを開始する。
【0070】
まず、署名枠挿入部130は、文書データ700の入力を受け付ける。署名枠挿入部130は、承認経路テーブル121に基づいて、文書データ700の本文701に署名枠を追加する(ステップST1)。例えば、文書データ700の文書属性は「契約書」であるとする。承認経路テーブル121によれば、文書属性「契約書」に対する承認経路は、起案を行った部門の「担当」、同部門の「部長」および「経理部長」(経理部の部長)の順である。このため、署名枠挿入部130は、文書データ700の本文701において、該当の承認経路に対応する順序で該当の役職に対応する3つの署名枠が配置されるように、当該3つの署名枠の情報を追加する。署名枠の情報は、該当の部門や役職の情報を含む。
【0071】
文書データ710は、文書データ700に対して、ステップST1における署名枠が追加された後の文書データを示す。本文711は、本文701に対して当該署名枠が追加された後の本文である。署名枠711a,711b,711cは、ステップST1で追加された3つの署名枠に相当する。署名枠711aは、ワークフローにおける最初の依頼先である「担当」に対応する署名枠である。署名枠711bは、2番目の依頼先である「部長」に対応する署名枠である。署名枠711cは、3番目の依頼先である「経理部長」に対応する署名枠である。
【0072】
次に、署名枠挿入部130は、署名枠711a,711b,711cそれぞれに対応する部門および役職を、組織管理テーブル122に基づいて個人名に変換する(ステップST2)。文書データ720は、文書データ710に対して、ステップST2における個人名変換を行った後の文書データを示す。本文721は、本文711に対して当該個人名変換が行われた後の本文である。署名枠721a,721b,721cは、ステップST2によって氏名が追加された後の署名枠である。
【0073】
ここで、例えば、署名枠711aの情報は、起案した部門「XX部」の役職「担当」の情報を含む。組織管理テーブル122によれば、部門「XX部」の役職「担当」の氏名は、「氏名A」である。したがって、署名枠挿入部130は、署名枠711aにおける部門「XX部」の役職「担当」の情報を、「氏名A」に変換し、署名枠711aに追加する。署名枠721aの情報は、署名枠711aの情報に「氏名A」の情報が追加されたものである。
【0074】
また、署名枠711bの情報は、部門「XX部」の役職「部長」の情報を含む。組織管理テーブル122によれば、部門「XX部」の役職「部長」の氏名は、「氏名B」である。したがって、署名枠挿入部130は、署名枠711bにおける部門「XX部」の役職「部長」の情報を、「氏名B」に変換し、署名枠711bに追加する。署名枠721bの情報は、署名枠711bの情報に「氏名B」の情報が追加されたものである。
【0075】
更に、署名枠711cの情報は、部門「経理部」の役職「部長」(すなわち、「経理部長」)の情報を含む。組織管理テーブル122によれば、部門「経理部」の役職「部長」の氏名は、「氏名C」である。したがって、署名枠挿入部130は、署名枠711cにおける部門「経理部」の役職「部長」の情報を、「氏名C」に変換し、署名枠711cに追加する。署名枠721cの情報は、署名枠711cの情報に「氏名C」の情報が追加されたものである。
【0076】
例えば、署名枠721a,721b,721cに追加された氏名の情報は、文書データ720の内容がクライアント装置300,400,500などの表示装置により表示される場合に、署名枠721a,721b,721cとともに表示されてもよい。
【0077】
次に、制御サーバ100による署名枠挿入の手順の例を説明する。
図8は、署名枠挿入例を示すフローチャートである。
(S10)署名枠挿入部130は、クライアント装置300からクラウドシステム200に対するワークフローの対象の文書データ700の登録を検出する。例えば、署名枠挿入部130は、クラウドシステム200におけるワークフロー用の特定のフォルダに文書データ700が格納されたことを検出すると、ワークフローの対象の文書データ700の登録を検出する。前述のように、署名枠挿入部130は、クラウドシステム200へのログイン時などに、クライアント装置300を操作するユーザの認証情報を取得し、当該認証情報に対応する部門、役職および氏名などを予め取得しておいてもよい。署名枠挿入部130は、クラウドシステム200から該当の文書データ700を取得する。なお、ステップS10は、署名枠挿入部130に文書データ700が入力される処理に相当すると考えてもよい。
【0078】
(S11)署名枠挿入部130は、承認経路テーブル121に基づいて、署名枠の情報を文書データに挿入する。例えば、署名枠挿入部130は、文書データ700の文書属性「契約書」に対し、承認経路テーブル121から「担当」、「部長」および「経理部長」の3つの依頼先を特定する。したがって、署名枠挿入部130は、当該3つの依頼先に対応する3つの署名枠を、文書データ700の本文701に追加することで、文書データ700を文書データ710に更新する。
【0079】
なお、本文701のうちの署名枠の追加位置は、全ての文書に対して予め定められていてもよいし、文書属性ごとに予め定められていてもよい。例えば、文書属性ごとの署名枠の追加位置の情報が記憶部120に予め格納されていてもよい。その場合、署名枠挿入部130は、当該追加位置の情報に基づいて、署名枠の追加位置を特定する。署名枠挿入部130は、生成した文書データ710を、クラウドシステム200に格納してもよい。また、記憶部120には、ワークフローの依頼先の順序に対応する署名枠の並び順の情報が格納されてもよい。並び順の情報としては、例えば、上から下へ向かう順または左から右へ向かう順を依頼先の順序に対応させることを示す情報などが考えられる。
【0080】
(S12)署名枠挿入部130は、承認経路テーブル121に基づいて、ステップS11で追加した署名枠に役職情報を設定する。例えば、署名枠挿入部130は、ステップS11で追加した3つの署名枠に対して役職情報を設定する。すなわち、署名枠挿入部130は、1番目の依頼先に対応する署名枠711aに対して、起案者の部門「XX部」および役職「担当」の情報を追加する。署名枠挿入部130は、2番目の依頼先に対応する署名枠711bに対して、部門「XX部」および役職「部長」の情報を追加する。署名枠挿入部130は、3番目の依頼先に対応する署名枠711cに対して、部門「経理部」および役職「部長」の情報を追加する。
【0081】
(S13)署名枠挿入部130は、組織管理テーブル122に基づいて、署名枠の役職情報を個人情報へ変換する。例えば、署名枠挿入部130は、署名枠711aにおける部門「XX部」および役職「担当」を「氏名A」に変換し、「氏名A」を署名枠711aに追加する。これにより、署名枠711aが署名枠721aに更新される。また、署名枠挿入部130は、署名枠711bにおける部門「XX部」および役職「部長」を「氏名B」に変換し、「氏名B」を署名枠711bに追加する。これにより、署名枠711bが署名枠721bに更新される。更に、署名枠挿入部130は署名枠711cにおける部門「経理部」および役職「部長」を「氏名C」に変換し、「氏名C」を署名枠711cに追加する。これにより、署名枠711cが署名枠721cに更新される。こうして、署名枠挿入部130は、文書データ700に対して、ワークフローの依頼先ユーザの部門および役職の情報に対応付けられた署名枠を追加し、当該署名枠の部門および役職の情報を、依頼先ユーザの氏名に変換することで、文書データ720を生成する。署名枠挿入部130は、文書データ720を、クラウドシステム200に格納する。そして、署名枠挿入が終了する。
【0082】
制御サーバ100は、文書データ720に基づいて、ワークフローを開始する。ワークフローの依頼先の順序は、例えば、
図7における署名枠721a,721b,721cの本文721における位置関係に応じて特定される。当該位置関係は、本文721が表示装置により表示されたときに表示されるときの並び順に相当する。例えば、署名枠721a,721b,721cの上から下へ向かう並び順が、ワークフローの依頼先の順序に相当する。また、署名枠721a,721b,721cの左から右へ向かう並び順が、ワークフローの依頼先の順序に相当する。どのような並び順をワークフローの依頼先の順序に対応させるかは、例えば、署名枠挿入部130により文書属性に応じて決定され得る。例えば、文書属性に応じた並び順の情報が記憶部120に予め保持されてもよい。
【0083】
ワークフロー制御部140は、文書データ720に基づいてワークフローを開始する。ワークフロー制御部140は、ワークフローの順序に従って、各ユーザに文書データの承認を依頼する。ユーザは、自身が利用するクライアント装置を操作して、制御サーバ100が提供するワークフローシステムにログインすることで、自身に依頼されているワークフローの内容や承認対象の文書データの内容を確認することができる。
【0084】
次に、文書データに対する署名の追加例を説明する。
図9は、個人署名の追加例を示す図である。
ワークフロー制御部140は、文書データ720における署名枠721a,721b,721cを読み取り、ワークフローの依頼先ユーザの順序を特定する。具体的には、ワークフロー制御部140は、文書データ720を表示したときの署名枠の並びの順番を、ワークフローの依頼先の順序とする(ステップST10)。
【0085】
クライアント装置300,400,500は、ワークフローの依頼先の順序で該当の署名枠に個人署名を付与し、承認経路を含めた検証に用いられる履歴情報を文書データ720に追加する。具体的には、次のような処理が行われる。
【0086】
文書データ720の依頼先の順序は、ユーザA,B,Cの順である。最初のユーザAは、起案者である。このため、ワークフロー制御部140は、ユーザAに対して署名の依頼を行う。ユーザAに関する署名処理が行われることで、文書データ720は、文書データ730に更新される。文書データ730は、本文731および文書フォーマット情報732を有する。
【0087】
ユーザAが操作するクライアント装置300は、差分情報diff1を作成する。差分情報diff1は、該当のユーザに対する承認依頼時の文書データ720の本文721の内容と、承認が行われた直後の文書データ730の本文731の内容との差分を示す。なお、承認依頼時の文書本文の内容は、文書フォーマット情報732の拡張領域における「previous.audit」として保存される。そして、ワークフロー制御部140は、差分情報のハッシュ値と、ハッシュ値を電子署名した値を文書フォーマット情報732の拡張領域に追加する。文書フォーマット情報732の拡張領域の内容がアプリケーションによって削除されないように、当該拡張領域における情報が署名処理部320により、文書データ730に含まれる所定の設定情報に設定される。
【0088】
例えば、署名処理部320は、差分情報diff1のハッシュ値「H(diff1)」およびハッシュ値を電子署名した値「Sig(H(diff1))」を文書フォーマット情報732に追加する。ここで、関数H(x)は、データxに対するハッシュ値を得る関数である。関数Sig(x)は、データxを秘密鍵で暗号化した値、すなわち、データxに対する電子署名を得る関数である。暗号化に用いられる秘密鍵は、承認の依頼を受けたユーザの秘密鍵である。また、H(diff1)およびSig(H(diff1))をまとめたデータを、「1.audit」と表記する。署名処理部320はユーザによる署名が行われたことを制御サーバ100に通知する。
【0089】
文書データ730の本文731は、署名枠731a,731b,731cを含む。署名枠731aは、署名枠721aにユーザAのサイン画像が追加されたものである。ユーザAのサイン画像は、ユーザによる承認が行われた際に、署名処理部320によって署名枠721aに追加される。署名枠731bは、署名枠721bに相当する。署名枠731cは、署名枠721cに相当する。署名処理部320は、署名処理が行われると、文書フォーマット情報732の「previous.audit」を本文731の情報に上書きする。
【0090】
次に、ワークフロー制御部140は、ユーザBに対する承認依頼に進む。例えば、クライアント装置400の署名処理部は、ユーザBがクライアント装置400を操作してクラウドシステム200にログインしたことを検出する。すると、当該署名処理部は、ワークフロー制御部140と連携して、クライアント装置400に表示されているクラウドシステム200の操作画面に、文書データ730の承認依頼があることを表示させる。ユーザBは、クライアント装置400を操作し、文書データ730の本文731などを編集した上で、あるいは、編集を行わずに、承認の入力を行う。
【0091】
クライアント装置400の署名処理部は、承認の入力を受け付けると、ユーザBによる署名処理を行う。これにより、文書データ730が文書データ740に加工される(ステップST11)。
【0092】
文書データ740は、署名処理後の本文741を有する。本文741は、本文731に対応する。本文741は、署名枠741a,741b,741cを含む。署名枠741aは、署名枠731aに相当する。署名枠741bは、署名枠731bにユーザBのサイン画像が追加されたものである。署名枠741cは、署名枠731cに相当する。また、文書データ740は、文書フォーマット情報742を有する。
【0093】
文書フォーマット情報742は、差分情報diff2のハッシュ値「H(diff2)」、ハッシュ値を電子署名した値「Sig(H(diff2))」を含む。ここで、差分情報diff2は、本文731と本文741との差分を示す情報である。本文731の情報としては、加工前の文書フォーマット情報732の拡張領域における「previous.audit」として保持されていたものが用いられる。加工後の文書フォーマット情報742の「previous.audit」には、本文741の情報が保存される。また、H(diff2)およびSig(H(diff2))をまとめたデータを、「2.audit」と表記する。
【0094】
次に、ワークフロー制御部140は、ユーザCに対する承認依頼に進む。例えば、クライアント装置500の署名処理部は、ユーザCがクライアント装置500を操作してクラウドシステム200にログインしたことを検出する。すると、当該署名処理部は、ワークフロー制御部140と連携して、クライアント装置500に表示されているクラウドシステム200の操作画面に、文書データ740の承認依頼があることを表示させる。ユーザCは、クライアント装置500を操作し、文書データ740の本文741などを編集した上で、あるいは、編集を行わずに、承認の入力を行う。ユーザCによる承認は、前述のように「決裁」と呼ばれてもよい。
【0095】
クライアント装置500の署名処理部は、承認の入力を受け付けると、ユーザCによる署名処理を行う。これにより、文書データ740が文書データ750に加工される(ステップST12)。
【0096】
文書データ750は、署名処理後の本文751を有する。本文751は、本文741に対応する。本文751は、署名枠751a,751b,751cを含む。署名枠751aは、署名枠741aに相当する。署名枠751bは、署名枠741bに相当する。署名枠751cは、署名枠741cにユーザCのサイン画像が追加されたものである。また、文書データ750は、文書フォーマット情報752を有する。
【0097】
文書フォーマット情報752は、差分情報finalのハッシュ値「H(final)」、ハッシュ値を電子署名した値「Sig(H(final))」を含む。ここで、差分情報finalは、本文741と本文751との差分を示す情報である。本文741の情報としては、加工前の文書フォーマット情報742の拡張領域における「previous.audit」として保持されていたものが用いられる。加工後の文書フォーマット情報752の「previous.audit」には、本文751の情報が保存される。また、H(final)およびSig(H(final))をまとめたデータを、「final.audit」と表記する。
【0098】
ワークフロー制御部140は、ユーザA,B,Cの全員による手続きが完了すると、該当の文書データに対する集約署名の付与を集約署名実行サーバ600に依頼する。集約署名実行サーバ600の集約署名付与部630は、集約署名の付与依頼を受け付けると、次の処理を行う。
【0099】
図10は、集約署名の追加例を示す図である。
集約署名付与部630は、文書データ750の文書フォーマット情報752に含まれる差分情報のハッシュ値に基づいて、文書データ750に集約署名を追加する(ステップST21)。すなわち、集約署名付与部630は、署名履歴「1.audit」、「2.audit」、「final.audit」それぞれに含まれる差分情報のハッシュ値「H(diff1)」、「H(diff2)」、「H(final)」に基づいて、これらハッシュ値を電子署名した値「Sig(H(diff1)~H(final))」を生成し、文書フォーマット情報752に追加する。これにより、文書フォーマット情報752が文書フォーマット情報752aに更新される。
【0100】
「Sig(H(diff1)~H(final))」は、ワークフローにおける手続きの順序が反映された集約署名である。集約署名には、ユーザA,B,Cそれぞれの秘密鍵に基づいて生成された集約署名鍵が用いられる。文書フォーマット情報752aに格納された集約署名に基づいて、所定のアルゴリズムにより、本文751における署名枠の順序、すなわち、ワークフローの適正な手順で文書データ750が作成されたことを検証可能である。
【0101】
また、集約署名付与部630は、標準フォーマットに対するアプリケーションの処理でエラーにならないようにするため、文書データの本文751に対して標準形式のXML署名753を付与する(ステップST22)。
【0102】
図11は、署名追加例を示す図である。
ユーザAにより作成された文書データ800に対してワークフローが開始される場合を考える。文書データ800の文書属性は「契約書」である。このため、ワークフローの依頼先ユーザの順序は、ユーザA,B,Cの順となる。例えば、文書データ800をクライアント装置300により表示させると、ユーザA,B,Cに対応する署名枠801,802,803が、文書データ800の本文の所定の位置に、ワークフローの順序に並んで表示される。
図11の例では、署名枠801,802,803の左から右へ向かう順序が、ワークフローの順序に対応するものとする。署名枠801,802,803には、該当のユーザの氏名や部署や役職などが表記されてもよい(ステップST31)。ワークフロー制御部140は、署名枠801,802,803の並び順に基づいて、ワークフローをユーザA,B,Cの順に依頼することを特定する。
【0103】
まず、ワークフロー制御部140は、最初の依頼先であるユーザAに文書データ800の承認を依頼する。ユーザAが操作するクライアント装置300の署名処理部320は、当該依頼に応じたユーザAの承認の入力を受け付けると、ユーザAの署名処理を行う(ステップST32)。当該署名処理の結果、ユーザAに対応する署名枠801にユーザAのサイン画像が追加される。なお、
図11では、署名処理による加工後の文書データを加工前と同じ符号「800」を用いて、文書データ800と表している。署名処理部320は、署名処理の完了を制御サーバ100に通知する。ワークフロー制御部140は、当該通知を受け付けると、次の依頼先であるユーザBに文書データ800の承認を依頼する。
【0104】
次に、ユーザBが操作するクライアント装置400の署名処理部は、当該依頼に応じたユーザBの承認の入力を受け付けると、ユーザBの署名処理を行う(ステップST33)。当該署名処理の結果、ユーザBに対応する署名枠802にユーザBのサイン画像が追加される。クライアント装置400の署名処理部は、署名処理の完了を制御サーバ100に通知する。ワークフロー制御部140は、次の依頼先であるユーザCに文書データ800の承認を依頼する。
【0105】
次に、ユーザCが操作するクライアント装置500の署名処理部は、当該依頼に応じたユーザCの承認の入力を受け付けると、ユーザCの署名処理を行う(ステップST34)。当該署名処理の結果、ユーザCに対応する署名枠803にユーザCのサイン画像が追加される。クライアント装置500の署名処理部は、署名処理の完了を制御サーバ100に通知する。
【0106】
そして、ワークフロー制御部140は、依頼先であるユーザA,B,Cの全員による手続きが完了したことを検出すると、集約署名の付与を集約署名実行サーバ600に依頼する。集約署名付与部630は、集約署名の付与の依頼を受け付けると、文書データ800に対して集約署名811を付与する。また、集約署名付与部630は、文書データ800に対してXML署名812を付与する。このようにして、文書データ800に対する一連の署名処理が行われる。
【0107】
次に、制御サーバ100によるワークフロー制御の手順を説明する。
図12は、ワークフロー制御例を示すフローチャートである。
なお、ワークフローの手続きの対象の文書データは、例えば、docxの拡張子のデータのように、Zipなどのデータ形式に圧縮されて、クラウドシステム200に格納されているものとする。
【0108】
(S20)ワークフロー制御部140は、文書データに追加された署名枠を読み取り、ワークフローを開始する。ワークフロー制御部140は、署名枠の並び順に基づいて、ワークフローの依頼先ユーザの順序を特定する。そして、ワークフロー制御部140は、最初の依頼先である起案者に対応するユーザを次の承認者として特定する。
【0109】
(S21)ワークフロー制御部140は、次の承認者へ承認依頼する。ここで、ワークフロー制御部140は、ステップS20で特定された依頼先ユーザの順序に基づいて、次の承認者を決定する。
【0110】
(S22)承認依頼された承認者が操作するクライアント装置は、当該承認者に対する承認を受け付け、承認処理を行う。例えば、クライアント装置は、該当の承認者がクラウドシステム200にログインすると、当該承認者に対する承認依頼を制御サーバ100から取得し、承認入力を受け付けるための画面をクラウドシステム200の操作画面内に表示させる。承認処理の詳細は後述される。
【0111】
(S23)ワークフロー制御部140は、クライアント装置から承認完了通知を受信する。
(S24)ワークフロー制御部140は、今回の承認者がワークフローの依頼先の最後のユーザであるか否かを判定する。最後のユーザである場合、ワークフロー制御部140は、ステップS25に処理を進める。最後のユーザでない場合、ワークフロー制御部140は、ステップS21に処理を進める。
【0112】
(S25)ワークフロー制御部140は、該当の文書データに対する集約署名付与を集約署名実行サーバ600に依頼する。
(S26)集約署名実行サーバ600は、集約署名付与の依頼に応じて、該当の文書データに対する集約署名付与処理を行う。集約署名付与処理の詳細は後述される。
【0113】
(S27)ワークフロー制御部140は、該当の文書データに対する集約署名付与が完了した旨の通知を受信する。そして、ワークフロー制御が終了する。
次に、クライアント装置300による承認処理の手順を説明する。クライアント装置400,500もクライアント装置300と同様の手順を実行する。
【0114】
図13は、承認処理の例を示すフローチャートである。
承認処理は、ステップS22に相当する。
(S30)署名処理部320は、制御サーバ100から文書データの承認依頼を受け付ける。
【0115】
(S31)署名処理部320は、承認依頼の対象の文書データをクラウドシステム200からダウンロードし、記憶部310に格納する。前述のように、当該文書データは圧縮されている。
【0116】
(S32)署名処理部320は、承認者による承認を検出する。例えば、承認者は、該当の文書データの内容を所定のアプリケーションにより閲覧し、署名処理部320により表示される承認受付用の画面に対する承認操作を受け付けることで、文書データの承認を行える。
【0117】
(S33)署名処理部320は、圧縮された文書データを元の文書データに復元する。
(S34)署名処理部320は、文書データの署名枠に、ステップS22で承認を受け付けた承認者のサイン画像を追加する。
【0118】
(S35)署名処理部320は、今回の承認者による文書データの加工前後における差分のハッシュ値を文書データの文書フォーマット情報における拡張領域へ格納する。このとき、署名処理部320は、差分のハッシュ値とともに、差分のハッシュ値を承認者の秘密鍵で電子署名した値を当該拡張領域へ格納する。
【0119】
(S36)署名処理部320は、署名処理後の文書データを圧縮する。
(S37)署名処理部320は、圧縮した文書データをクラウドシステム200にアップロードする。
【0120】
(S38)署名処理部320は、承認依頼に対する承認完了を制御サーバ100に応答する。そして、承認処理が終了する。
次に、集約署名実行サーバ600による集約署名付与処理の手順を説明する。
【0121】
図14は、集約署名付与処理例を示すフローチャートである。
集約署名付与処理は、ステップS26に相当する。
(S40)集約署名付与部630は、制御サーバ100から文書データに対する集約署名付与の依頼を受け付ける。
【0122】
(S41)集約署名付与部630は、承認依頼の対象の文書データをクラウドシステム200からダウンロードし、記憶部610に格納する。前述のように、当該文書データは圧縮されている。
【0123】
(S42)集約署名付与部630は、圧縮された文書データを元の文書データに復元する。
(S43)集約署名付与部630は、該当の文書データの文書フォーマット情報の拡張領域に含まれる署名履歴(「previous.audit」)を削除し、当該拡張領域に集約署名を追加する。集約署名には、ワークフローに従って承認を行った複数の承認者の組に対応する集約署名鍵が用いられる。集約署名付与部630は、ステップS40において、複数の承認者を識別する情報を、集約署名付与の依頼とともにワークフロー制御部140から受信してもよい。
【0124】
(S44)集約署名付与部630は、該当の文書データの本文に対するXML署名を付与する。
(S45)集約署名付与部630は、集約署名およびXML署名の付与後の文書データを圧縮する。
【0125】
(S46)集約署名付与部630は、圧縮した文書データをクラウドシステム200にアップロードする。
(S47)集約署名付与部630は、集約署名付与が完了した旨を、制御サーバ100に応答する。そして、集約署名付与処理が終了する。
【0126】
こうして、クラウドシステム200に格納された文書データを用いることで、ワークフローの適切な順序で、各依頼先ユーザ、すなわち、各承認者により文書データに対する手続きが行われたことを検証可能になる。また、文書データが第三者によって改ざんされていないことを検証可能になる。なお、ワークフローの完了後は、例えば、該当の文書データに基づいて、制御サーバ100または他のサーバコンピュータにより所定のアプリケーションの処理を実行できる。あるいは、当該文書データをクラウドシステム200から別のクラウドシステムに移動して、企業などの組織間で、文書データの正当性を保証しながら、当該文書データの授受を行える。
【0127】
次に、XML形式の文書データを例示して、文書データのデータ構造例を説明する。
図15は、文書データのデータ構造例(その1)を示す図である。
文書データ900は、docx形式のデータである。文書データ900の圧縮を復元すると、ディレクトリ構造をもつ複数のファイルが得られる。ファイル910,920,930は、復元して得られる複数のファイルのうちの一部である。前述の文書データ700~750,800も文書データ900と同様のデータ構造により実現されてもよい。
【0128】
ファイル910は、文書データ900の本体である。ファイル910のファイル名は、「/word/theme/document.xml」である。
ファイル920は、署名欄を示す画像ファイルである。ファイル920のファイル名は、「/word/media/image1.emf」である。なお、署名の入力を受け付ける領域が枠で囲われている場合、当該領域および枠を署名枠と言える。署名の入力を受け付ける領域が枠で囲われておらずに、直線などで示される場合、当該領域および当該直線などを署名欄と言える。
【0129】
ファイル930は、ファイル910に対する標準署名の設定を行うファイルである。ファイル930のファイル名は、「_xmlsignatures/sig1.xml」である。例えば、ファイル930のReferenceタグでは、ファイル920が読み込まれる。
【0130】
本文画像911は、文書データ900の内容を表示させた際の本文に相当する画像の例である。本文画像911は、文章911aおよび署名欄表示領域911bを含む。署名欄表示領域911bには、ファイル920に基づいて、複数の署名欄が表示される。署名欄表示領域911bの各署名欄に記載されるサイン画像は、ファイル930のSignatureImageタグにより管理される。例えば、署名欄表示領域911bの一番上の署名欄に記載されたサイン画像「AA AA」は、ファイル930のSignatureImageタグにおける「AQAAAGwA…」で表記されるデータに対応する。
【0131】
図16は、文書データのデータ構造例(その2)を示す図である。
例えば、文書データ900は、更に、ファイル940,950を含む。
ファイル940は、ファイル930と同様に、ファイル930に対する標準署名の設定を行うファイルである。ファイル940のファイル名は、「_xmlsignatures/sig2.xml」である。
【0132】
ファイル950は、本文に挿入される署名欄の画像ファイルを管理するファイルである。ファイル950のファイル名は、「_rels/document.xml.rels」である。
【0133】
例えば、本文に挿入される署名欄の画像ファイルがファイル910のv:imagedataタグにおける「r:id」で示される識別情報によって識別される。当該識別情報(例えば、「rId4」や「rId5」など)は、ファイル950において、ファイル920や他の画像ファイルのファイル名と関連付けられる。
【0134】
そして、本文に対する署名欄の設定がファイル910のo:signaturelineタグによって行われる。当該署名欄が設定される順序がワークフローの依頼先ユーザの順序に対応付けられる。該当のユーザの氏名は、当該タグのo:suggestedsignerに設定される。役職は、当該タグのo:suggestedsigner2に設定される。また、図示を省略しているが、当該ユーザのメールアドレスが、当該タグのo:suggestedsignermailに設定され得る。また、署名欄のサイズが当該タグのstyleに設定され得る。
【0135】
更に、ファイル910のo:signaturelineタグにおけるidの設定値が、ファイル930,940におけるSetupIDタグの値と関連付けられる。ファイル930,940の設定に応じて、各署名欄に、該当のユーザのサイン画像が挿入される。
【0136】
なお、上記の例では、ファイル910における署名欄の上から下へ向かう設定の順序をワークフローの依頼先ユーザの順序に対応付けるものとした。当該順序は、本文画像911の署名欄表示領域911bにおける複数の署名欄の上から下へ向かう表示の順序に対応している。他の方法として、例えば、署名枠挿入部130は、o:signaturelineタグなどに、該当の署名欄の順序を示す番号を付与して、ワークフロー制御部140による依頼先ユーザの順序の特定を可能にしてもよい。
【0137】
図9,10で例示した文書フォーマット情報の拡張領域は、例えば文書データ900のディレクトリ構造において、新たなディレクトリを設けることで実現される。すなわち、当該ディレクトリ構造に、Open XMLフォーマットの署名情報(_xmlsignatureディレクトリ)ではなく、拡張領域用のディレクトリ(例えば_auditディレクトリ)を設ける。そして、当該拡張領域用のディレクトリに「previous.audit」や「1.audit」などのファイルを格納することができる。その場合、署名処理部320は、追加されるファイルがファイルオープン時に削除されないように、文書データ900に含まれる設定情報である[Content_Types].xmlやdocument.xml.relsに、追加されたファイルの情報を設定すればよい。
【0138】
以上で説明した制御サーバ100によれば、ワークフローを容易に利用可能にすることができる。
制御サーバ100により、文書の属性に応じた複数のユーザについて、ワークフローを依頼する順序で、署名枠や署名欄などの署名用領域の情報が文書のデータに挿入される。ワークフローシステムを提供する制御サーバ100または他のサーバコンピュータは、署名用領域の情報が追加された文書のデータを基に、ワークフローにおける依頼先の順序を特定し、ワークフローを開始できる。このため、ユーザは、該当の文書に対するワークフローの依頼先を自身で決定して、制御サーバや他のサーバコンピュータに入力しなくてよい。したがって、ユーザは、ワークフローを容易に利用可能になる。
【0139】
また、文書データに付与された電子署名の検証を行うことで、署名順を含めた文書データの正当性の検証が可能になる。このため、文書データの生成手順を含めた正当性を検証可能になる。したがって、文書データの受取側のユーザや組織は、正当性が適切に検証された文書データを、安全に利用できる。
【0140】
例えば、組織内または組織間でのデータ作成経路またはデータ承認経路に関する情報を、クライアント装置またはサーバ装置がデータに組み込み、組み込まれた情報に基づき、クライアント装置がデータの作成または承認を行うことで、サーバ装置およびクライアント装置が連携してデータの作成者または承認者のデジタル署名をデータ内に含める処理を実行してもよい。これにより、ワークフローの手続きに伴うユーザの操作負担が軽減され、ワークフローを容易に利用可能になる。また、データの真正性を適切に検証可能になる。なお、サーバ装置は、制御サーバ100に相当する。また、前述の承認経路テーブル121は、データ作成経路またはデータ承認経路に関する情報の一例である。すなわち、承認経路テーブル121と同様のデータ構造を有するデータ作成経路テーブルを予め記憶部120に格納しておき、承認経路テーブル121に代えて、データ作成経路テーブルを使用してもよい。また、データの作成は、例えば、データ作成経路またはデータ承認経路に関する情報が組み込まれたデータの更新により行われてもよい。
【0141】
制御サーバ100は、例えば次の処理を実行する。
署名枠挿入部130は、文書のデータが入力されると、文書の属性に応じた複数のユーザによる署名の入力を受け付ける文書内の複数の領域を示す第1の情報であって、当該文書に関するワークフローにおける署名を伴う手続きの依頼先ユーザの順序を特定する処理に用いられる第1の情報を、文書のデータに追加する。署名枠挿入部130は、第1の情報を追加した文書のデータを出力する。
【0142】
これにより、ユーザにより文書に応じた依頼先を指定させずに済み、ワークフローを容易に利用可能になる。ユーザは、ワークフローを効率的に利用することができる。また、文書のデータに対して通常の承認などのワークフローで用いられる署名用領域を示す情報を追加すればよく、新たなデータ項目を設けてワークフローの順序を設定せずに済むため、文書のデータに余計なデータ項目を追加しなくてもよいという利点もある。
【0143】
例えば、署名枠挿入部130は、文書の属性に対して署名を行うユーザが満たすべき属性を示すユーザ属性情報と文書の属性に応じたユーザ属性情報の順序とを保持するユーザ属性管理情報を参照して、属性に対応するユーザ属性情報を、複数の領域それぞれに対応付けて第1の情報に追加する。
【0144】
まずは、承認経路のテンプレートを文書のデータに追加することで、ユーザごとに承認経路を管理するよりも、管理コストを低減できる。例えば、組織内では、役職につくユーザは頻繁に変更され得るため、ユーザを特定して承認経路を管理すると、ユーザの役職が変更されたときに承認経路のメンテナンスコストが大きくなるためである。ユーザ属性管理情報を用いることで、例えば、役職につくユーザが変わったときは、ユーザ名管理情報を変更すればよく、ユーザの作業コストが低減される。なお、承認経路テーブル121は、ユーザ属性管理情報の一例である。
【0145】
署名枠挿入部130は、ユーザ属性情報に対応付けてユーザ名を保持するユーザ名管理情報に基づいて、第1の情報に含まれるユーザ属性情報をユーザ名に変換する。
これにより、承認経路のテンプレートからワークフローの依頼先ルートを適切に生成できる。なお、組織管理テーブル122は、ユーザ名管理情報の一例である。
【0146】
例えば、上記のユーザ属性情報は、ユーザの役職を示す情報を含む。これにより、組織内の役職に応じた承認経路のテンプレートを作成可能になる。
ワークフロー制御部140は、署名の入力を受け付ける複数の領域の位置関係に基づいて、ワークフローの依頼先ユーザの順序を特定する。これにより、承認経路のテンプレートに基づく、ワークフローの適正な経路を特定可能になる。
【0147】
また、第1の情報は、署名の入力を受け付ける複数の領域それぞれを囲う枠、すなわち、署名枠を示す情報でもよい。
ワークフロー制御部140は、文書のデータに含まれる第1の情報に基づいて、依頼先ユーザの順序を特定し、当該順序により複数のユーザに文書の承認を求めるワークフローを開始する。
【0148】
これにより、文書のデータからワークフローの依頼先ユーザの順序を特定し、ワークフローを開始することで、ワークフローを容易に利用可能になる。
ワークフロー制御部140は、ユーザによる文書の承認を、当該ユーザが使用する第1の情報処理装置に依頼する。クライアント装置300,400,500それぞれは、第1の情報処理装置の一例である。第1の情報処理装置の署名処理部(例えば、署名処理部320)は、ユーザによる文書の承認を受け付けると、文書の加工前後における文書のデータの差分のハッシュ値と当該ハッシュ値をユーザの秘密鍵で暗号化した電子署名とを文書のデータに追加する。
【0149】
これにより、該当のユーザ本人によって承認の手続きが行われ、第三者による改ざんがないことを適切に検証可能になる。
署名処理部320は、ユーザによる文書の承認を受け付けると、ユーザに対応する文書のデータに含まれる署名用の領域に、ユーザのサイン画像を追加する。
【0150】
これにより、他のユーザが文書の内容を閲覧した際に、該当のユーザが既に承認済であることを確認可能になる。
ワークフロー制御部140は、文書のデータに対して複数のユーザのうちの最後のユーザに対応する電子署名が付与されると、複数のユーザそれぞれの秘密鍵を基に生成される集約署名鍵により文書のデータに含まれる複数のハッシュ値を暗号化した集約署名を文書のデータに追加する処理を、第2の情報処理装置に依頼する。集約署名実行サーバ600は、第2の情報処理装置の一例である。例えば、集約署名付与部630は、当該依頼に応じて、集約署名を文書のデータに追加する。
【0151】
これにより、複数のユーザそれぞれにより適切に承認の手続きが行われ、第三者による改ざんがないことを検証可能になる。
集約署名実行サーバ600は、文書のデータの本文に対して当該文書のデータのデータ形式に応じた他の電子署名を文書のデータに追加する。XML署名は、他の電子署名の一例である。例えば、文書のデータがXML形式の場合、集約署名実行サーバ600は、文書のデータの本文に対して、XML署名を行い、XML署名の情報を文書のデータに追加することが考えられる。これにより、該当のデータ形式における標準フォーマットに対するアプリケーションの処理でエラーになることを抑えられる。
【0152】
なお、第1の実施の形態の情報処理は、処理部12にプログラムを実行させることで実現できる。また、第2の実施の形態の情報処理は、CPU101にプログラムを実行させることで実現できる。プログラムは、コンピュータ読み取り可能な記録媒体113に記録できる。
【0153】
例えば、プログラムを記録した記録媒体113を配布することで、プログラムを流通させることができる。また、プログラムを他のコンピュータに格納しておき、ネットワーク経由でプログラムを配布してもよい。コンピュータは、例えば、記録媒体113に記録されたプログラムまたは他のコンピュータから受信したプログラムを、RAM102やHDD103などの記憶装置に格納し(インストールし)、当該記憶装置からプログラムを読み込んで実行してもよい。
【0154】
上記については単に本発明の原理を示すものである。更に、多数の変形や変更が当業者にとって可能であり、本発明は上記に示し、説明した正確な構成および応用例に限定されるものではなく、対応する全ての変形例および均等物は、添付の請求項およびその均等物による本発明の範囲とみなされる。
【符号の説明】
【0155】
10 情報処理装置
11 記憶部
12 処理部
20,20a 文書データ
21,22 署名用領域
30 ワークフロー