JP3868171B2 - Document digital signature management method and document management apparatus - Google Patents
Document digital signature management method and document management apparatus Download PDFInfo
- Publication number
- JP3868171B2 JP3868171B2 JP34707299A JP34707299A JP3868171B2 JP 3868171 B2 JP3868171 B2 JP 3868171B2 JP 34707299 A JP34707299 A JP 34707299A JP 34707299 A JP34707299 A JP 34707299A JP 3868171 B2 JP3868171 B2 JP 3868171B2
- Authority
- JP
- Japan
- Prior art keywords
- document
- entity
- electronic signature
- data
- content 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Storage Device Security (AREA)
- Document Processing Apparatus (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、コンピュータ装置を用いた電子化文書データの管理システムに係わり、特に、構造化文書にデジタル署名を付加して管理する方法および装置に関する。
【0002】
【従来の技術】
情報化社会の本格的進展に伴い、ワードプロセッサ、パーソナルコンピュータ等を用いて作成された電子化文書データが爆発的な勢いで増加しつつある。
文書の電子化に伴い、紙の文書に署名を記入する従来の方法に代わって、電子署名と呼ばれる電子データを電子ファイルに対して付与する、デジタル署名と呼ばれる技術が使われ始めている。
【0003】
デジタル署名とは、文書の作成者が本人であること、およびその文書の内容が改ざんされていない正当なものであることを証明する技術であり、主に非対称暗号系を利用する。
その一例として、図1を用いて、電子署名照合方式によるデジタル署名の例を説明する。
この方式では、まず署名者が、署名を付与したいファイル101に一方向ハッシュ関数を適用してファイルサイズの圧縮を行ない、圧縮済みファイル102を生成する。
さらに、その圧縮済みファイル102を公開鍵暗号の秘密鍵を用いて暗号化し、電子署名(署名)103を生成する。
署名者は、署名が付与された署名文として、元のファイル101と電子署名103をセットにして配布する。
【0004】
認証者は、ファイル101のコピーである配布されたファイル104と、電子署名103のコピーである配布された電子署名105を受け取る。
次に認証者は、署名者がファイル101の圧縮に用いたのと同じ一方向ハッシュ関数をファイル104に適用してファイルサイズの圧縮を行ない、圧縮済みファイル106を生成する。
また、電子署名105に対して、認証者の公開鍵を用いて復号化を行ない、復号済みファイル107を生成する。
次に認証者は、ファイル106とファイル107の内容を比較する。
両者の内容が一致している場合、ファイル104は確かに署名者によって作成されたものであり、その内容が署名時から変更されていないことが証明される。
【0005】
デジタル署名については、例えば「分散コンピューティング環境−実現と戦略−」(Raman Khanna 編、1996年、プレンティスホール出版)の 4.6.7.2 で詳しく述べられている。
また、デジタル署名に関する従来技術としては、特開平9-311854号公報に示される発明(以後、これを公知例1と呼ぶ)などがある。
この発明は、文書ファイルからデジタル署名を生成する機能、文書ファイルとデジタル署名を分離して送信・受信する機能、および署名の認証を行なう機能を備えている。
この発明によって、単一のファイルに関してはバイナリデータとしての同一性を証明するための署名の生成、送受信、認証を行なうことができる。
【0006】
また、文書の電子化は、従来のような単なる清書手段の段階を脱し、組織の業務上重要な役割を果たす文書(ミッションクリティカル文書)を電子的に作成し、それらの文書を取り扱う業務全体を電子化することによって、業務効率の大幅な向上を実現する方向に進みつつある。
このようなミッションクリティカル文書は、SGML (Standard Generalized Markup Language)、XML (eXtensible Markup Language)等の文書記述言語を用いて、容易に機械処理可能な構造化文書データとして作成することで、文書内部からのデータの抽出、派生文書の作成や表示体裁を変えての再利用など、さまざまな処理が可能となる。
これらのミッションクリティカルな構造化文書を扱う文書管理システムは、構造化文書を格納・管理し、構造情報の参照、文書内容の編集・改訂、バージョン履歴の管理等を行う機能を備えている。
構造化文書を中心としたミッションクリティカル文書を扱う文書管理システムでは、セキュリティ機能の一環として、構造化文書にデジタル署名を付加して管理する機能を備えていることが望ましい。
【0007】
ここで、SGML文書について、図2を用いて説明する。
SGMLでは、文書を構成する物理的な個々のデータ単位(通常のコンピュータシステムではファイルに格納されるようなもの)をエンティティと呼ぶ。
SGML文書は、一個以上のテキストエンティティと任意個のバイナリエンティティ(図データなど)から構成される複合文書である。
図2に示すSGML文書は、四つのテキストエンティティと、一つのバイナリエンティティから構成されている。
SGMLでは、構文解析の出発点となるテキストエンティティを特にSGML文書エンティティと呼び、そこから他のテキストエンティティやバイナリエンティティが参照される。
【0008】
図2の場合、エンティティ201(ファイル"doc.sgm")がSGML文書エンティティ、エンティティ202(ファイル"part1.sgm")、エンティティ203(ファイル"note.sgm")、およびエンティティ205(ファイル"doc.dtd")がテキストエンティティ、エンティティ204(ファイル"fig1.bmp")がバイナリエンティティである。
この例では、SGML文書エンティティ201から他のエンティティ202、203、204、205が参照されている。
また、テキストエンティティ203はエンティティ202からも参照されている。
すなわち、テキストエンティティ203はエンティティ201と202の両方から参照され、両者の間で共有されている。
また、個々のエンティティは、SGML文書を構成している部品という意味で文書部品とも呼ばれる。
またSGML文書は、文書全体で一つの階層的な論理構造を持っており、木構造のモデルで表現することができる。
図2のSGML文書の論理構造を、木構造で図式化したものを図3に示す。
SGMLでは、それぞれの論理的な構造の範囲を示す目印として、タグと呼ぶマークを用いる。
論理構造を構成する要素の名前(要素型名)を、文字列 "<" と ">" で囲ったものを開始タグ、文字列 "</" と ">" で囲ったものを終了タグと呼び、開始タグと終了タグに囲まれた部分が、その要素の内容となる。
また、図3のような木構造をSGML文書の解析木と呼ぶ。
図3において、楕円形のノードが要素、矩形のノードが内容データ(解析済み文字列データまたは非SGMLデータ)を表わしている。
また、図中で点線で囲った範囲は、それぞれノードの集合を表わしている。
ここで、ノード集合301は前記SGML文書エンティティ201に対応しており、ノード集合302はテキストエンティティ202、ノード集合303および304はテキストエンティティ203、ノード集合305はデータエンティティ204に対応している。
エンティティとノード集合との対応関係が示すとおり、エンティティ参照によって呼び出されたエンティティの内容をその呼び出し位置に展開し、結果として得られる展開済みテキストを構文解析することにより、SGML文書の論理構造が得られる。
【0009】
構造化文書の管理機能を備えた文書管理装置では、単なるファイルの管理とは異なり、登録された文書の論理的な構造を解析し、上記で示した解析木のようなかたちで要素を分割して管理することによって、論理構造単位の木目細かなアクセスを提供できるようにしている。
このように、構造化文書は、テキストとバイナリデータの混在した複数のエンティティから構成することができる。
さらに、論理構造を表現することも可能である。
【0010】
また、SGMLは、文書の論理構造を定義した文書型定義(DTD:Document Type Definition)と呼ばれるメタ情報を持つ。
図2における206および207に示す領域が、この文書の文書型定義である。
この文書型定義によって、文書全体の論理構造の整合性を維持しながら構造化文書を作成することができる。
また、文書型定義に適合している文書は、SGMLブラウザやSGMLエディタといった専用のSGML処理系を用いて参照・編集することができる。
例えば、図3において、ノード集合303および304の内容文字列を編集したい場合に、単にノード集合303に相当する情報をテキストエンティティ203としてデータベースからファイルに取出したとしても、このテキストエンティティのファイルは文書型宣言を含んでいないため、SGMLブラウザで閲覧することはできない。
【0011】
この問題を回避する方法として、対象とするエンティティだけでなく、そのエンティティを部品として含むSGML文書全体をデータベースから取り出す方法が考えられる。
しかしながら、この方法では、対象のエンティティだけでなく、全てのエンティティをデータベースから取り出すことになるため、対象とする文書がマニュアルや書籍といった大規模な文書の場合、取り出し、および取り出し後の構文解析に要する時間が膨大になり、構文解析時に使用するメモリも大量に必要とする。
従って、性能面、メモリ容量面への影響が大きいため、実用的ではない。
上記問題のもう一つの回避策として、対象とする部分を部分文書として、SGML文書として閉じた形式で取り出す方法がある。
【0012】
SGML文書の一部分を抽出して取り扱う発明としては、特開平10-143507号公報に示される発明(以後、これを公知例2と呼ぶ)などがある。
公知例2に示す発明は、以下の機構を備えることを特徴とする。
(1)SGML文書を要素単位で格納し、要素それぞれに、文書型定義中のメタ情報を対応付けて管理する機構
(2)SGML文書中の編集対象部分に対応する部分編集用文書型定義を一時的に生成することにより、該当部分のみ独立に構文解析を可能とする機構
(3)上位要素および前後の要素を編集可能にしたまま、部分編集用文書型定義に違反しない範囲において、編集中の最上位要素の削除、タグ(総称識別子)の変更およびその前後への新たな要素の追加を可能にする機構
上記の機構により、編集対象とする部分範囲に対応する文書型定義を生成し、その範囲の部分文書を編集可能な形式で出力することを可能としている。
ただし、デジタル署名を有効にするには、署名対象となる文書を登録時と全く同じ内容で取り出す必要があるが、前記公知例2で取得する部分文書は登録時の内容とは異なっているため、前記公知例1のデジタル署名の技術を適用することはできない。
【0013】
構造化文書を構成する各エンティティを原データのまま保持し、かつ論理構造の参照を可能にする発明として、特願平10-360110号に示される発明(以後、これを公知例3と呼ぶ)がある。
公知例3の発明は、文書登録時に、解析済み論理構造データと物理構造データの両方をデータベース中に格納し、これらの対応関係を管理することによって、文書の解析済み論理構造データへのアクセス、および原データのままのエンティティの取り出し、編集を可能としている。
前記公知例3で取得するエンティティは、原データのままであるため、公知例1のデジタル署名が適用できる。
ただし、前記公知例3で取得するエンティティは、SGML文書として扱う場合に必須となるSGML文書エンティティを含んでいないため、SGML文書として利用できない。
【0014】
【発明が解決しようとする課題】
前記公知例1の従来技術によって、文書の改ざん防止、真正性の証明のために、単一のファイルに署名を付加して管理する方法は示されているが、構造化文書に対する署名の管理方法が示されているわけではない。
本発明の目的は、構造化文書に対して電子署名を関連付けて管理することにある。
次に、前記公知例2に示された発明により、SGML文書の論理構造の一部分から部分文書を生成して取り出し、編集することはできるが、本公知例ではSGML文書のエンティティ構成および各エンティティのテキストとしての内容を維持することには配慮されておらず、特定のエンティティを登録時の内容のまま取り出すことはできない。
また、前記公知例3に示す発明は、構造化文書の論理構造とエンティティ構成の両方のデータを保持・管理しているが、エンティティの内容を独立して参照・編集可能なSGML文書として取り出す機能は備えていない。
従って、公知例2、公知例3のいずれによっても、またこれらの組み合わせによっても、登録されたSGML文書を構成するエンティティの一つを、その内容を変更せずに独立したSGML文書の形で外部に取り出し、また取り出したSGML文書の編集後に、変更されたエンティティの内容と、その内容に対する署名とを対応付けてデータベースを更新することはできない。
また、デジタル署名はファイルに対して電子署名を付与するものであり、ファイルの内容が一文字でも変更された場合には、改ざんされたとしてこれを検出する。
従って、複合文書の各エンティティに署名を付加して管理している場合、これらのエンティティを個別に取り出して参照・編集・更新するためには、指定されたエンティティを一文字も変更せずに外部に取り出して参照・編集し、また他のエンティティに影響を与えることなく、そのエンティティの編集後の内容(および更新された内容に付加された署名)を再登録できなければならない。
本発明の他の目的は、個別に指定されたエンティティを一文字も変更せずに外部に取り出して参照・編集し、また他のエンティティに影響を与えることなく、そのエンティティの編集後の内容(および更新された内容に付加された署名)を再登録可能することにある。
【0015】
【課題を解決するための手段】
上記目的を達成するため、本発明は、
処理装置と、記憶装置と、入出力装置を備える文書管理システムにおける文書のデジタル署名付き管理方法であり、
前記処理装置における文書の登録を行なう処理が、該文書を構成する文書部品それぞれについて、
指定文書部品の内容データを読み込み記憶手段中に格納するステップと、指定文書部品に対応する電子署名を読み込み記憶手段中に格納するステップと、前記格納した前記文書部品の内容データと前記電子署名との対応関係を示す電子署名対応関係データを記憶手段中に格納するステップと、これらの文書部品群を文書ごとにまとめて記憶手段中に管理する文書部品群管理ステップを有し、
前記処理装置における文書の参照を行なう処理が、
参照対象となる文書部品の内容データを記憶手段から読み出して出力するステップと、前記電子署名対応関係データを用いて、参照対象となる文書部品に対応する電子署名を記憶手段から読み出して出力するステップを有し、
前記処理装置における文書の更新を行なう処理が、
前記文書の参照を行う処理と同様の処理により更新対象文書部品の内容データおよび該文書部品の電子署名の参照をするステップと、編集・更新された文書部品の内容データを読み込むステップと、読み込んだ内容データによって記憶手段中に格納された前記文書部品の内容データを置換するステップと、該編集・更新された文書部品の内容データに対応する電子署名を読み込むステップと、記憶手段中に格納された前記電子署名を読み込んだ電子署名で置換するステップと、前記更新された文書部品の内容データと前記更新された電子署名との対応関係を示す電子署名対応関係データによって記憶手段中に格納された前記電子署名対応関係データを置換するステップを有するようにしている。
【0016】
また、処理装置と、記憶装置と、入出力装置を備える文書管理システムにおける文書のデジタル署名付き管理方法であり、
前記処理装置における文書の登録を行なう処理が、該文書を構成する文書部品それぞれについて、
指定文書部品の内容データを読み込み記憶手段中に格納するステップと、署名者の秘密鍵を用いて、前記読み込んだ内容データから電子署名を生成するステップと、生成した電子署名を記憶手段中に格納するステップと、前記格納した文書部品の内容データと前記電子署名との対応関係を示す電子署名対応関係データを記憶手段中に格納するステップと、これらの文書部品群を文書ごとにまとめて記憶手段中に管理する文書部品群管理ステップを有し、
前記処理装置における文書の参照を行なう処理が、
参照対象となる文書部品の内容データを記憶手段から読み出して出力するステップと、署名者の公開鍵と、前記電子署名対応関係データを用いて記憶手段から読み出した文書部品の内容データと、記憶手段から読み出した電子署名に対して、署名の認証を行なうステップを有し、
前記処理装置における文書の更新を行なう処理が、
前記文書の参照を行う処理と同様の処理により更新対象文書部品の内容データの読み出しと署名の認証を行うステップと、編集・更新された文書部品の内容データを読み込むステップと、読み込んだ内容データによって、記憶手段中に格納された前記文書部品の内容データを置換するステップと、署名者の秘密鍵を用いて、前記読み込んだ内容データから電子署名を生成する電子署名生成ステップと、記憶手段中に格納された前記電子署名を、前記生成した電子署名で置換するステップと、前記更新された文書部品の内容データと更新された電子署名との対応関係を示す電子署名対応関係データによって、記憶手段中に格納された前記電子署名対応関係データを置換するステップを有するようにしている。
【0017】
また、処理装置と、記憶装置と、入出力装置を備える文書管理システムにおける文書のデジタル署名付き管理方法であり、
前記処理装置における文書の登録を行なう処理が、該文書を構成する文書部品それぞれについて、
指定文書部品の内容データを読み込み記憶手段中に格納するステップと、指定文書部品に対応する電子署名を読み込み記憶手段中に格納するステップと、前記格納した文書部品の内容データと前記電子署名との対応関係を示す電子署名対応関係データを記憶手段中に格納するステップと、これらの文書部品群を文書ごとにまとめて記憶手段中に管理する文書部品群管理ステップと、登録対象文書の構文解析を行ない、該構文解析の結果を参照して該文書の持つ論理構造を抽出し、解析済み論理構造データを記憶手段中に格納するステップと、前記解析済み論理構造データを参照して登録対象文書の持つ論理構造と物理構造との対応関係を抽出し、該文書を構成する各エンティティ(文書部品)と前記論理構造データ中の部分範囲との物理論理対応関係データを記憶手段中に格納するステップを有し、
前記処理装置における文書の参照を行なう処理が、
参照対象となる文書部品の内容データを記憶手段から読み出して出力するステップと、前記電子署名対応関係データを用いて、参照対象となる文書部品に対応する電子署名を記憶手段から読み出して出力するステップと、前記解析済み論理構造データを参照して、出力対象となるエンティティ(文書部品)を内容として持つ文書構造定義を生成するステップと、該生成された文書構造定義と、前記解析済み論理構造データを参照して、前記出力対象となるエンティティ(文書部品)を文書内容として参照する文書エンティティを生成、出力するステップと、前記解析済み論理構造データを参照して、出力対象となるエンティティ(文書部品)から直接または間接に参照されるエンティティ(文書部品)群の内容データを記憶手段から読み出して出力するステップを有し、
前記処理装置における文書の更新を行なう処理が、
更新対象文書部品について、前記文書の参照を行う処理と同様の処理を行うステップと、前記物理論理対応関係データを参照して前記更新されたエンティティ(文書部品)に対応する全ての論理構造部分範囲の集合を求める対応部分範囲集合決定ステップと、編集・更新された文書部品の内容データを読み込み、該内容データによって記憶手段中に格納された前記文書部品の内容データを置換するステップと、該編集・更新された文書部品の内容データに対応する電子署名を読み込み、該電子署名によって記憶手段中に格納された前記電子署名を置換するステップと、前記更新された文書部品の内容データと更新された電子署名との対応関係を示す電子署名対応関係データによって、記憶手段中に格納された前記電子署名対応関係データを置換するステップと、前記更新されたエンティティ(文書部品)内容データの構文解析を行うステップと、該構文解析の結果を参照して前記更新されたエンティティ(文書部品)中に含まれる論理構造データを抽出し、該抽出した論理構造データによって記憶手段中に格納された前記対応部分範囲決定ステップにおいて求めたすべての論理構造部分範囲に対応する論理構造データを置換するステップと、前記構文解析の結果を参照して、更新対象エンティティ(文書部品)の論理構造と物理構造との対応関係を抽出し、更新対象エンティティ(文書部品)と前記論理構造データ中の部分範囲との対応関係データを記憶手段中に格納するステップを有するようにしている。
【0018】
また、処理装置と、記憶装置と、入出力装置を備える文書管理システムにおける文書のデジタル署名付き管理方法であり、
前記処理装置における文書の登録を行なう処理が、該文書を構成する文書部品それぞれについて、
指定文書部品の内容データを読み込み記憶手段中に格納するステップと、指定文書部品に対応する電子署名を読み込み記憶手段中に格納するステップと、前記格納した前記文書部品の内容データと前記電子署名との対応関係を示す電子署名対応関係データを記憶手段中に格納するステップと、これらの文書部品群を文書ごとにまとめて記憶手段中に管理する文書部品群管理ステップと、登録対象文書の構文解析を行ない、該構文解析の結果を参照して該文書の持つ論理構造を抽出し、該文書中に含まれる内容文字列、構造情報に加えて、前記文書記述言語による文書記述言語による文書記述を再現するのに必要となる全ての構文情報を含んだ解析済み論理構造データを記憶手段中に格納するステップと、該構文解析の結果を参照して登録対象文書の持つ論理構造と物理構造との対応関係を抽出し、該文書を構成する各エンティティ(文書部品)と前記論理構造データ中の部分範囲との物理論理対応関係データを記憶手段中に格納するステップを有し、
前記処理装置における文書の参照を行なう処理が、
参照対象となる文書部品について、記憶手段から前記解析済み論理構造データを読み出し、該解析済み論理構造データを参照して、原文通りのエンティティ(文書部品)の内容データを生成し出力するステップと、前記電子署名対応関係データを用いて、参照対象となる文書部品に対応する電子署名を記憶手段から読み出して出力するステップを有し、
前記処理装置における文書の更新を行なう処理が、
更新対象となる文書部品について、記憶手段から前記解析済み論理構造データを読み出し、該解析済み論理構造データを参照して、原文通りのエンティティ(文書部品)の内容データを生成し出力するステップと、前記電子署名対応関係データを用いて、参照対象となる文書部品に対応する電子署名を記憶手段から読み出して出力するステップと、前記物理論理対応関係データを参照して前記更新されたエンティティ(文書部品)に対応する全ての論理構造部分範囲の集合を求める対応部分範囲集合決定ステップと、前記更新されたエンティティ(文書部品)の内容データの構文解析を行うステップと、該構文解析の結果を参照して前記更新されたエンティティ(文書部品)中に含まれる論理構造データを抽出し、抽出した該エンティティ(文書部品)に含まれる内容文字列、構造情報、および構文情報を含んだ解析済み論理構造データによって、前記対応部分範囲決定ステップにおいて求めたすべての論理構造部分範囲に対応する論理構造データを置換するステップと、前記構文解析の結果を参照して、更新対象エンティティ(文書部品)論理構造と物理構造との対応関係を抽出し、更新対象エンティティ(文書部品)と前記論理構造データ中の部分範囲との対応関係データによって、記憶手段に格納された前記物理論理対応関係データを置換するステップと、該編集・更新された文書部品の内容データに対応する電子署名を読み込み、該電子署名により記憶手段中に格納された前記電子署名を置換するステップと、前記更新された文書部品の内容データと更新された電子署名との対応関係を示す電子署名対応関係データによって、記憶手段中に格納された前記電子署名対応関係データを置換するステップを有するようにしている。
【0019】
また、更に、処理装置における文書の参照を行なう処理が、
前記解析済み論理構造データを参照して、出力対象となるエンティティ(文書部品)を内容として持つ構造化文書の構造を規定する文書構造定義を生成するステップと、該文書構造定義と、前記解析済み論理構造データを参照して、前記出力対象となるエンティティ(文書部品)を文書内容として参照する文書エンティティを生成し、出力するステップと、参照対象となるエンティティ(文書部品)から直接または間接に参照されるエンティティ(文書部品)群について、前記解析済み論理構造データを参照して、原文書通りのエンティティ(文書部品)の内容データを生成し、出力するステップを有し、
処理装置における文書の更新を行なう処理が、
前記解析済み論理構造データを参照して、更新対象となるエンティティ(文書部品)を内容として持つ構造化文書の構造を規定する文書構造定義を生成するステップと、該文書構造定義と、前記解析済み論理構造データを参照して、前記更新対象となるエンティティ(文書部品)を文書内容として参照する文書エンティティを生成し、出力するステップと、参照対象となるエンティティ(文書部品)から直接または間接に参照されるエンティティ(文書部品)群について、前記解析済み論理構造データを参照して、原文書通りのエンティティ(文書部品)の内容データを生成し、出力するステップを有するようにしている。
【0020】
また、処理装置と、記憶装置と、入出力装置を備え、複数の文書部品から構成される文書の格納・管理を行なう文書管理装置であり、
文書の登録を行なう前記処理装置が、該文書を構成する文書部品それぞれについて、
指定文書部品の内容データを読み込み記憶手段中に格納する手段と、指定文書部品に対応する電子署名を読み込み記憶手段中に格納する手段と、前記格納した前記文書部品の内容データと前記電子署名との対応関係を示す電子署名対応関係データを記憶手段中に格納する手段と、これらの文書部品群を文書ごとにまとめて記憶手段中に管理する文書部品群管理手段を備え、
文書の参照を行なう前記処理装置が、
参照対象となる文書部品の内容データを記憶手段から読み出して出力する手段と、前記電子署名対応関係データを用いて、参照対象となる文書部品に対応する電子署名を記憶手段から読み出して出力する手段を備え、
文書更新を行なう前記処理装置が、
前記文書の参照を行う処理と同様の処理により更新対象文書部品の内容データおよび該文書部品の電子署名の参照をする手段と、編集・更新された文書部品の内容データを読み込む手段と、読み込んだ内容データによって記憶手段中に格納された前記文書部品の内容データを置換する手段と、該編集・更新された文書部品の内容データに対応する電子署名を読み込む手段と、記憶手段中に格納された前記電子署名を読み込んだ電子署名で置換する手段と、前記更新された文書部品の内容データと前記更新された電子署名との対応関係を示す電子署名対応関係データによって記憶手段中に格納された前記電子署名対応関係データを置換する手段を備えるようにしている。
【0021】
また、処理装置と、記憶装置と、入出力装置を備える、複数の文書部品から構成される文書の格納・管理を行なう文書管理装置であり、
文書の登録を行なう前記処理装置が、該文書を構成する文書部品それぞれについて、
指定文書部品の内容データを読み込み記憶手段中に格納する手段と、署名者の秘密鍵を用いて、前記読み込んだ内容データから電子署名を生成する手段と、生成した電子署名を記憶手段中に格納する手段と、前記格納した文書部品の内容データと前記電子署名との対応関係を示す電子署名対応関係データを記憶手段中に格納する手段と、これらの文書部品群を文書ごとにまとめて記憶手段中に管理する文書部品群管理手段を備え、
文書の参照を行なう前記処理装置が、
参照対象となる文書部品の内容データを記憶手段から読み出して出力する手段と、署名者の公開鍵と、前記電子署名対応関係データを用いて記憶手段から読み出した文書部品の内容データと、記憶手段から読み出した電子署名に対して、署名の認証を行なう手段を備え、
文書の更新を行なう前記処理装置が、
前記文書の参照を行う処理と同様の処理により更新対象文書部品の内容データの読み出しと署名の認証を行う手段と、編集・更新された文書部品の内容データを読み込む手段と、読み込んだ内容データによって、記憶手段中に格納された前記文書部品の内容データを置換する手段と、署名者の秘密鍵を用いて、前記読み込んだ内容データから電子署名を生成する電子署名生成手段と、記憶手段中に格納された前記電子署名を、前記生成した電子署名で置換する手段と、前記更新された文書部品の内容データと更新された電子署名との対応関係を示す電子署名対応関係データによって、記憶手段中に格納された前記電子署名対応関係データを置換する手段を備えるようにしている。
【0022】
また、文書管理プログラムを記録したコンピュータ読み取り可能な記録媒体であり、
該文書管理プログラムは、
文書の登録処理として該文書を構成する文書部品それぞれについて、
指定文書部品の内容データを読み込み記憶手段中に格納する手順と、指定文書部品に対応する電子署名を読み込み記憶手段中に格納する手順と、前記格納した前記文書部品の内容データと前記電子署名との対応関係を示す電子署名対応関係データを記憶手段中に格納する手順と、これらの文書部品群を文書ごとにまとめて記憶手段中に管理する文書部品群管理手順を有し、
文書の参照処理として、
参照対象となる文書部品の内容データを記憶手段から読み出して出力する手順と、前記電子署名対応関係データを用いて、参照対象となる文書部品に対応する電子署名を記憶手段から読み出して出力する手順を有し、
文書の更新処理として、
前記文書の参照を行う処理と同様の処理により更新対象文書部品の内容データおよび該文書部品の電子署名の参照をする手順と、編集・更新された文書部品の内容データを読み込む手順と、読み込んだ内容データによって記憶手段中に格納された前記文書部品の内容データを置換する手順と、該編集・更新された文書部品の内容データに対応する電子署名を読み込む手順と、記憶手段中に格納された前記電子署名を読み込んだ電子署名で置換する手順と、前記更新された文書部品の内容データと前記更新された電子署名との対応関係を示す電子署名対応関係データによって記憶手段中に格納された前記電子署名対応関係データを置換する手順を有するようにしている。
【0023】
また、文書管理プログラムを記録したコンピュータ読み取り可能な記録媒体であり、
該文書管理プログラムは、
文書の登録処理として該文書を構成する文書部品それぞれについて、
指定文書部品の内容データを読み込み記憶手段中に格納する手順と、署名者の秘密鍵を用いて、前記読み込んだ内容データから電子署名を生成する手順と、生成した電子署名を記憶手段中に格納する手順と、前記格納した文書部品の内容データと前記電子署名との対応関係を示す電子署名対応関係データを記憶手段中に格納する手順と、これらの文書部品群を文書ごとにまとめて記憶手段中に管理する文書部品群管理手順を有し、
文書の参照処理として、
参照対象となる文書部品の内容データを記憶手段から読み出して出力する手順と、署名者の公開鍵と、前記電子署名対応関係データを用いて記憶手段から読み出した文書部品の内容データと、記憶手段から読み出した電子署名に対して、署名の認証を行なう手順を有し、
文書の更新処理として、
前記文書の参照を行う処理と同様の処理により更新対象文書部品の内容データの読み出しと署名の認証を行う手順と、編集・更新された文書部品の内容データを読み込む手順と、読み込んだ内容データによって、記憶手段中に格納された前記文書部品の内容データを置換する手順と、署名者の秘密鍵を用いて、前記読み込んだ内容データから電子署名を生成する電子署名生成手順と、記憶手段中に格納された前記電子署名を、前記生成した電子署名で置換する手順と、前記更新された文書部品の内容データと更新された電子署名との対応関係を示す電子署名対応関係データによって、記憶手段中に格納された前記電子署名対応関係データを置換する手順を有するようにしている。
【0024】
【発明の実施の形態】
以下、本発明を適用した第1の実施例について、図面を用いて説明する。
はじめに、本実施例のシステム構成について説明する。
図4は、第1の実施例における文書管理システムの全体構成を示す図である。
図4に示すとおり、文書管理システムは、文書管理サーバ401、文書管理クライアント402、業務処理システム403、およびネットワーク404から構成される。
【0025】
文書管理サーバ401は、管理対象文書および対応する電子署名の登録・格納、登録済み文書の構造および内容データに対する参照および更新、特定の属性または内容文字列を持つ文書の検索、登録済み文書の削除など、文書管理に関する主要な処理を実行する。
文書管理クライアント402は、文書管理サーバ401が管理する文書群を操作するためのGUI (Graphical User Interface)を提供し、ユーザからの指示に従って、文書の登録、参照、更新、署名の認証等の処理を行うための指令およびデータをネットワーク404を介して文書管理サーバ401に転送し、前記指令を実行させる。
業務処理システム403は、前記文書管理クライアント402と同様にユーザからの指示に従って指令およびデータを文書管理サーバに転送して該指令を実行させるが、一般的な文書管理用GUIではなく、特定の業務を実行するための専用GUIをユーザに提供する。
ネットワーク404は、局所ネットワーク(LAN: Local Area Network)または広域ネットワーク(WAN: Wide Area Network)であって、複数のコンピュータ装置を接続し、相互に指令およびデータを転送する手段を提供する。
【0026】
なお、図4には文書管理クライアント402および業務処理システム403の2台のコンピュータを文書管理サーバ401に対するクライアントとして使用する構成例を示したが、クライアントは1台のみの構成とすることも、3台以上とする構成をとってもよい。
また、クライアントは文書管理クライアントだけであってもよく、業務処理システムだけであってもよい。
また、図4では文書管理クライアント402および業務処理システム403から文書管理サーバ401に指令およびデータを転送する手段としてネットワーク404を使用するものとしたが、代わりにフロッピーディスク、光磁気ディスク、追記型光ディスク等の可搬型媒体を使用する構成をとってもよく、可搬型媒体とネットワークを併用する構成をとってもよい。
あるいは、クライアントを文書管理サーバ401と同一のコンピュータ上で実行し、データ転送を行わない構成をとってもよい。
【0027】
以下、本発明による構造化文書の管理方法の適用対象であり、本実施例の主要な構成要素である文書管理サーバ、すなわち図4の401について説明する。
図5は、本実施例における文書管理サーバ401の構成を示す図である。
図5に示す文書管理サーバ401は、ディスプレイ501、キーボード502、中央処理装置(CPU)503、フロッピーディスクドライブ504、フロッピーディスク505、通信制御装置506、主メモリ507、磁気ディスク装置508、システムバス509から構成される。
【0028】
ディスプレイ501は、本サーバにおける処理の実行状況等を表示する。
キーボード502は、文書管理サーバの起動・終了等を指示するコマンドの入力を受け付ける。
中央処理装置503は、主メモリ507に格納された本サーバを構成する各種プログラムを読み出し、実行する。
フロッピーディスクドライブ504は、フロッピーディスク505に対するデータの読み書きのために使用する。
フロッピーディスク505は、登録対象文書など、他のシステムとの間でデータ交換を行うために使用する。
通信制御装置506は、ネットワーク404を介して前記文書管理クライアント402および業務処理システム403と通信し、指令およびデータの交換を行うために使用する。
主メモリ507は、本サーバにおける処理を実行するための各種プログラムおよび一時的なデータを保持する。
磁気ディスク装置508は、登録された文書データおよび本サーバが文書管理用に使用する各種データを記憶する手段として使用する。
システムバス509は、これらの各種装置を相互に接続する。
【0029】
主メモリ507中には、文書登録制御プログラム510、文書参照制御プログラム511、文書更新制御プログラム512、文書空間管理プログラム513、データベース管理システム514およびオペレーティングシステム515が保持される。
磁気ディスク装置508中には、文書空間データベース格納領域516、プログラム格納領域517およびデータファイル格納領域518が確保される。
主メモリ507に保持されるプログラム(510〜513)は、オペレーティングシステム515により、プログラム格納領域517から転送される。
【0030】
文書登録制御プログラム510は、文書記述言語SGMLを用いて記述された登録対象文書と電子署名を、フロッピーディスク505、データファイル格納領域518、またはネットワーク404から読み込み、その構文解析を行い、登録対象文書の持つエンティティデータ、論理構造データおよび両者の対応関係、登録対象文書の持つエンティティデータに対応する電子署名および両者の対応関係を、文書空間データベース格納領域516に格納する。
文書参照制御プログラム511は、文書空間データベース格納領域516に格納された登録済み文書のエンティティデータ、電子署名またはその両方を読み出し、それらのデータを構成する情報の一部または全部を抽出して、フロッピーディスク505またはデータファイル格納領域518に出力するか、あるいはネットワーク404を介して要求元クライアント(文書管理クライアント402または業務処理プログラム403)に転送する。
文書更新制御プログラム512は、文書空間データベース格納領域516に格納された登録済み文書のエンティティデータ、電子署名またはその両方に対して、そのデータ内容を更新する処理を行う。
【0031】
文書空間管理プログラム513は、ネットワーク404を介してクライアント(文書管理クライアント402または業務処理プログラム403)からの指令を受信し、該指令の種別に対応して文書登録プログラム510、文書参照制御プログラム511、または文書更新制御プログラム512を起動し、該指令の内容に従った処理を実行させる。
また、登録済み文書群を分類整理するためのフォルダオブジェクトを生成して文書空間データベース格納領域516に格納する処理や、登録済み文書の一部を文書空間データベース格納領域516から削除する処理など、一部の処理については文書空間管理プログラム513自身が実行する。
【0032】
データベース管理システム514は、文書空間データベース格納領域516に対するデータの格納、更新、削除、検索に関するすべての処理を制御する。
文書空間データベース格納領域516にアクセスするすべてのプログラムは、そのすべての処理をデータベース管理システム514を介して行う。
オペレーティングシステム515は、システムの起動・初期化、各種周辺装置との間のデータ転送など、コンピュータ上で本サーバを構成する各プログラムを実行するための基本機能を提供する。
【0033】
文書空間データベース格納領域516は、本サーバに登録されたすべての文書に関するデータ、および本サーバが文書管理を行うために必要とするすべての関連データを格納するデータベースである。
プログラム格納領域517は、本サーバを構成するすべてのプログラムを格納する。
データファイル格納領域518は、オペレーティングシステム515または本サーバ上で実行される各種ユーティリティプログラムが使用するデータファイルを格納する。
なお、本実施例ではデータ交換のための可搬型媒体としてフロッピーディスク505を使用する構成としたが、光磁気ディスク、追記型光ディスク等、他種の可搬型媒体を利用する構成としてもよい。
また、本実施例では文書データおよび文書管理用データをデータベース中に格納する構成としたが、データベース管理システムを使用せず、これらのデータをファイルとしてデータファイル格納領域518に格納する構成としてもよい。
【0034】
次に、本実施例における文書管理システムの基本処理手順について説明する。図6は、文書管理システム全体の動作を制御する文書空間管理プログラム513の概略処理手順を示すPAD(Problem Analysis Diagram)図である。
キーボード502からのサーバ起動コマンド等により、まず文書空間管理プログラム513が起動される。
本プログラムはサーバとしてクライアント(文書管理クライアント402または業務処理システム403)から指令を受信してはその処理を行うループに入る(ステップ601)。
このループは、キーボード502からサーバの停止を指示するコマンドが入力されるまで継続する。
ステップ601のループは、クライアントからの指令を受信する処理(ステップ602)と、受信した指令の種別を判定し、該種別に対応する処理に分岐する処理(ステップ603)を繰り返す。
【0035】
ステップ603では、受信した指令の種別を判定し、該指令の種別に応じてステップ604からステップ606までのいずれかの処理を選択して実行する。
ここで、前記指令が、新たな文書の登録を求める指令であった場合、文書登録制御プログラム510を実行して指定された文書を文書空間データベース格納領域516に格納する(ステップ604)。
また、前記指令が、特定の登録済み文書の持つ内容データへの参照を求める指令であった場合、文書参照制御プログラム511を実行して要求されたデータを文書空間データベース格納領域516から読み出し、該データをフロッピーディスク505またはデータファイル格納領域518に出力するか、あるいはネットワーク404を介して要求元クライアントに返信する(ステップ605)。
また、前記指令が、特定の登録済み文書の持つ内容データの更新を求める指令であった場合、文書更新制御プログラム512を実行して、文書空間データベース格納領域516に格納された登録済み文書の内容データを更新する(ステップ606)。
【0036】
次に、本実施例における文書登録制御プログラム510の動作手順を説明する。 図7は、文書登録制御プログラム510の概略処理手順を示すPAD図である。
本プログラムは、文書の登録を求めるクライアントからの指令に対応して、文書空間管理プログラム513から呼び出される。
本プログラムは、呼び出されると、まず登録対象文書を構成するエンティティの一覧を呼び出しパラメタとして入手する(ステップ701)。
ここで、該一覧には、登録対象文書を構成する各エンティティの内容データを保持しているリソースのリソース名と、各エンティティに対応する電子署名のリソース名、および登録対象文書が複数のエンティティから構成される場合に、そのいずれがSGML文書エンティティであるかを識別する情報を含んでいる。
エンティティの内容データおよび電子署名の入手元となるリソースは、フロッピーディスク505またはデータファイル格納領域518上に格納されたデータファイル、またはネットワーク404を介してアクセスできるネットワークリソース、または文書空間データベース格納領域516中に格納されている登録済みエンティティおよび登録済み電子署名が使用できる。
リソース名としては、リソースがデータファイルである場合にはそのパス名、ネットワーク上のリソースである場合にはその位置情報(URL等)、登録済みエンティティまたは登録済み電子署名である場合には該エンティティを他の登録済みエンティティから区別して一意に識別するエンティティ識別子または電子署名識別子を指定する。
【0037】
図8に、該一覧の例として、文書部品リストファイル801を示す。
文書部品リストファイル801には、DOCUMENTエントリと、SYSTEMエントリの二種類のエントリがある。
DOCUMENTエントリとは、SGML文書エンティティに対応するエントリであり、"DOCUMENT"というキーワードで始まり、ダブルクォーテーションで括られた二つのパラメタを持つ。
一番目のパラメタは、その内容が登録文書中のSGML文書エンティティのリソース名(位置情報)を示し、二番目のパラメタは、SGML文書エンティティに対応する電子署名のリソース名(位置情報)を示している。
図2のSGML文書エンティティ201に対応するものが、DOCUMENTエントリ802である。
また、SGML文書エンティティ以外のエンティティに対応するエントリがSYSTEMエントリであり、"SYSTEM"というキーワードで始まり、ダブルクォーテーションで括られた三つのパラメタを持つ。
一番目のパラメタは、そのエンティティのシステム識別子を示し、二番目のパラメタは、該エンティティのリソース名(位置情報)を示し、三番目のパラメタは、該エンティティに対応する電子署名のリソース名(位置情報)を示している。
図2のエンティティ202、203、204、205に対応するSYSTEMエントリが、それぞれSYSTEMエントリ803、804、805、806である。
【0038】
次に、登録対象文書に対して、該文書を一意に識別する文書識別子を割り当てる(ステップ702)。
次に、登録対象文書のSGML文書エンティティから出発してその構文解析を行う(ステップ703)。
なお、この構文解析の過程で、登録対象文書を構成するエンティティのうち、登録済みエンティティを除くすべてのエンティティに対して、該エンティティを一意に識別するエンティティ識別子を割り当てる。
また、この構文解析において、図3に示す論理構造情報に加えて、各エンティティの範囲を示す情報を含んだデータを生成する。
【0039】
次に、前記ステップ701で入手したエンティティの一覧の情報と、前記ステップ703の構文解析処理にて生成したデータを参照して、登録対象文書を構成する全てのエンティティについて、ステップ705からステップ711までの処理を繰り返し実行する(ステップ704)。
ここで、ステップ705では、処理対象となるエンティティの内容データが、既に登録されているかどうかを判定する。
登録されていない場合、ステップ706およびステップ707を実行する。
ここで、ステップ706では、処理対象となるエンティティの内容データを対応するリソースから読み出す。
ステップ707では、処理対象となるエンティティのエンティティ識別子とその内容データへの参照の組となるエンティティ識別子対応表901、および内容データそのものを、文書空間データベース格納領域516に格納してエンティティの登録を行なう。
図2のSGML文書の各文書部品を格納した例を図9に示す。
【0040】
また、ステップ708では、処理対象となるエンティティに対応する電子署名が、既に登録されているかどうかを判定する。
登録されていない場合、ステップ709およびステップ710を実行する。
ここで、ステップ709では、処理対象となるエンティティに対応する電子署名を、対応するリソースから読み出す。
ステップ710では、処理対象となるエンティティに対応する電子署名を一意に識別する電子署名識別子を割り当て、図10に示すように、該電子署名識別子と電子署名への参照の組となる電子署名識別子対応表1001、および電子署名そのものを、文書空間データベース格納領域516に格納して電子署名の登録を行なう。
図10は、図2のSGML文書の各文書部品に対応する電子署名を格納した例である。
【0041】
ステップ711では、図11に示す、登録対象エンティティの一覧を表わすエンティティ構成表1105の各レコードを生成し、これを文書空間データベース格納領域516に格納する。
ここで、図11は、登録文書と、該文書を構成するエンティティの一覧、および解析済み論理構造データとの対応関係を示す図である。
エンティティ構成表に関する説明は後述する。
次に、ステップ712では、前記ステップ703の構文解析処理の結果を参照して、図11に示す登録対象文書の解析済み論理構造データ1111を生成する。
なお、本実施例では、ステップ703で行なった構文解析処理の結果をステップ712で参照して解析済み論理構造データを生成しているが、ステップ703中において、構文解析処理と並行して解析済み論理構造データを生成する処理手順としてもよい。
次に、ステップ713において、図11に示す、登録対象文書に割り当てた文書識別子1102と、前記エンティティ構成表への参照1103、前記解析済み論理構造データへの参照1104の組からなる登録文書一覧表1101を文書空間データベース格納領域516に格納して文書の登録を行い、処理を終了する。
【0042】
次に、図11におけるエンティティ構成表1105について説明する。
エンティティ構成表1105は、登録対象文書を構成するすべてのエンティティについて、そのエンティティ種別1106、エンティティ名1107、エンティティ識別子1108、リソース名1109および電子署名識別子1110を表形式でまとめたデータである。
ここで、項目「エンティティ種別」は、そのエンティティが文書エンティティ(DOC)、テキストエンティティ(TEXT)、非SGMLデータエンティティ(NDATA)、および文書型定義(DTD)のいずれであるかを記号によって示す。
項目「エンティティ名」は、登録対象文書中でそのエンティティを参照するために用いられているエンティティ名を、文字列として示す。
ただし、そのエンティティがSGML文書エンティティであった場合、またはDOCTYPE宣言から参照される外部DTDであった場合、本項目は空欄となる。
項目「エンティティ識別子」は、そのエンティティに割り当てられたエンティティ識別子を示す。
項目「リソース名」は、そのエンティティの内容データを保持するリソースのリソース名を、文字列として示す。
ただし、そのエンティティが登録済みエンティティであった場合、本項目は空欄となる。
項目「電子署名識別子」は、そのエンティティに対応する電子署名に割り当てられた電子署名識別子を示す。
【0043】
図12は、図11における1105、すなわちエンティティ構成表の具体例を示した図である。
図12は、図2に示すSGML文書を構文解析した結果として生成されるエンティティ構成表の状態を示している。
図12における行1201、1202、1203、1204、1205が、それぞれ図2に示すエンティティ201、202、203、204、205に対応する。
【0044】
図13は、文書登録制御プログラム510の前記ステップ712において、構文解析処理の結果を参照して生成する解析済み論理構造データのデータ構造を示す図である。
この図では、図2に示すSGML文書を登録対象文書として処理した場合に生成される解析済み論理構造データを例として示している。
図13に示すとおり、解析済み論理構造データ1301は木構造として表現される。
図13において、楕円形のノードは要素を表しており、ノード中の文字列はその要素の要素型を示している。
矩形のノードは内容データを表しており、ノード中の文字列は内容データの種別(解析済み文字列データPCDATA、または非SGMLデータNDATA)を示している。
また、菱形のノードはエンティティ遷移を表しており、ノード中の文字列はエンティティ識別子を示している。
ここで、あるエンティティ遷移ノードを根とする部分木から、下位のエンティティ遷移ノードを根とするすべての部分木を除いた部分が、そのエンティティ遷移ノードに対応するエンティティに内容として含まれる部分になる。
すなわち、本実施例の文書登録制御プログラム510が生成する解析済み論理構造データは、論理構造と物理構造(エンティティ構成)との対応関係を、エンティティ遷移ノードという形でその内部に含んでいる。
図13の例では、E0002のエンティティ遷移ノードを根とする部分木から、下位のE0003のエンティティ遷移ノードを根とするすべての部分木を除いた部分が、そのエンティティ遷移ノードに対応するエンティティに内容として含まれる部分になる。すなわち、鎖線で囲った部分範囲1302が、エンティティE0002(図12に示すテキストエンティティ1202)の内容に対応することになる。
【0045】
次に、本実施例における文書参照制御プログラム511の動作手順を説明する。
図14は、文書参照制御プログラム511の概略処理手順を示すPAD図である。
本プログラムは、文書の参照を求めるクライアントからの指令に対応して、文書空間管理プログラム513から呼び出される。
【0046】
本プログラムは、まず、参照対象となるエンティティの情報を入手する(ステップ1401)。
ここで、該情報には、参照対象エンティティを特定するための文書識別子とエンティティ識別子、参照対象エンティティの出力先となるリソースのリソース名と、対応する電子署名の出力先となるリソースのリソース名を含んでいる。
また、エンティティの内容データおよび電子署名の出力先となるリソースとしては、フロッピーディスク505またはデータファイル格納領域518上に格納されたデータファイルまたはネットワーク404を介してアクセスできるネットワークリソースが使用できる。
リソース名としては、リソースがデータファイルである場合にはそのパス名、ネットワーク上のリソースである場合にはその位置情報(URL等)を指定する。
ステップ1402では、参照対象として指定されたエンティティの内容データを、登録文書一覧表1101、エンティティ構成表1105、およびエンティティ識別子対応表901を参照して、文書空間データベース格納領域516から読み出し、読み出したデータをステップ1401で入手した参照対象エンティティの出力先リソースに出力する。
上記の、参照対象として指定されたエンティティの内容データは、例えば、図2に示すSGML文書エンティティ201や、テキストエンティティ202である。
ステップ1403では、エンティティ構成表1105、および電子署名識別子対応表1001を参照して、参照対象として指定されたエンティティに対応する電子署名を取得して、文書空間データベース格納領域516から読み出し、読み出した電子署名をステップ1401で入手した電子署名の出力先リソースに出力する。
【0047】
ステップ1404では、エンティティ構成表1105のエンティティ種別1106を参照して、参照対象エンティティのエンティティ種別を判定し、この種別に応じてステップ1405、ステップ1407のいずれかの処理を実行するか、あるいは何も実行しないかを選択する。
ここで、SGML文書エンティティが指定されている場合、ステップ1405を実行する。
テキストエンティティが指定されている場合、ステップ1408およびステップ1409を実行する。
非SGMLデータエンティティが指定されている場合は、何も実行しない。
【0048】
ステップ1405では、エンティティ構成表1105を参照して、該構成表に登録された全ての文書部品に対して、ステップ1406を実行する。
ステップ1406では、対象とするエンティティの内容データを文書空間データベース格納領域516から読み出し、読み出したデータを、ステップ1401で入手した参照対象エンティティの出力先リソースと同一ディレクトリに出力する。
ただし、ファイル名は、エンティティ構成表1105のリソース名1109の値とする。
【0049】
上記のステップ1406で出力されるエンティティの内容データとは、例えば、SGML文書エンティティとして図2のSGML文書エンティティ201が指定されている場合、SGML文書エンティティ201から矢印で指し示されている各テキストエンティティ202、203、204、205の内容データである。
【0050】
ステップ1408では、解析済み論理構造データを参照して、参照対象として指定されたエンティティを参照する一時的なSGML文書エンティティを生成し、これをステップ1401で入手した参照対象エンティティの出力先リソースと同一ディレクトリに出力する。
ここで生成する一時的なSGML文書エンティティの生成手順は、図15を用いて後述する。
また、ファイル名は、エンティティ構成表1105のリソース名1109のリストに存在するファイル名とマッチングしないようなファイル名を生成し、これを一時的なSGML文書エンティティのファイル名とする。
ステップ1408では、エンティティ構成表1105および解析済み論理構造データを参照して、参照対象エンティティから直接または間接に参照される文書部品について、ステップ1409を繰り返し実行する。
ここでは、解析済み論理構造データの参照対象エンティティに対応する木構造のノードを辿りながら、エンティティ参照のノードを探していくことで、対象エンティティから参照される文書部品を見つけていく。
ステップ1409では、ステップ1408で指定されたエンティティの内容データを文書空間データベース格納領域516から読み出し、読み出したデータを、ステップ1401で入手した参照対象エンティティの出力先リソースと同一ディレクトリに出力する。
ただし、ファイル名は、エンティティ構成表1105のリソース名1109の値とする。
上記のステップ1409で出力されるエンティティの内容データとは、例えば、テキストエンティティとして図2のテキストエンティティ202が指定されている場合、テキストエンティティ202から矢印で指し示されているテキストエンティティ203の内容データである。
ステップ1404が終了した時点で処理を終了する。
なお、ステップ1402とステップ1403で外部領域に出力したエンティティの内容データと電子署名について、出力先の外部プログラムによってデジタル署名の認証をおこなってもよい。
これにより、本処理で出力したエンティティの真正性を検証することが可能である。
【0051】
次に、図14におけるステップ1408、すなわち、解析済み論理構造を参照して、一時的なSGML文書エンティティを生成し、外部領域に出力する処理について、その詳細を説明する。
図15は、この処理の手順を示すPAD図である。
ここでは、図2のテキストエンティティ202を参照対象エンティティとした場合を例とし、生成するSGML文書エンティティを図16の1601に示す。
ステップ1501では、解析済み論理構造データと、エンティティ構成表1105を参照して、DOCTYPE宣言の先頭部分(領域1602が示す部分)を生成する。
ここで、最上位要素の要素型名は、本来の文書中に含まれる要素型名としては存在しない要素型名(本来の文書中に含まれる要素型名と一致しないような要素型名)を一時的に生成して用いる。
ステップ1502では、前記のダミー要素の要素型宣言を生成する。
これは、解析済み論理構造データ1302を用いて、参照対象エンティティに対応する論理構造に含まれている最上位ノードの要素型名を、"," で区切って並べたものを内容モデルとして生成する。
テキストエンティティ202に対応する論理構造1302に含まれる最上位ノードは、要素型名secの要素2つである。
そのため、この要素型secを "," で区切って二つ並べた "(sec ,sec)" が生成される内容モデルとなり、生成される要素型宣言は、図16における領域1603に示される要素型宣言となる。
【0052】
ステップ1503では、原文書のSGML文書エンティティ中の内部DTDサブセットの内容をコピーする。(このステップによって生成されるデータが図16の領域1604となる。)
ステップ1504では、DOCTYPE宣言の終了部分(領域1605が示す部分)を生成する。
ステップ1505では、前記のダミー要素の開始タグ(領域1606が示す部分)を生成する。
ステップ1506では、参照対象エンティティへのエンティティ参照(領域1607が示す部分)を生成する。
ステップ1507では、前記のダミー要素の終了タグ(領域1608が示す部分)を生成する。
ステップ1508では、ステップ1501からステップ1507までの処理で生成したSGML文書エンティティのデータを出力する。
出力先および出力ファイル名については、前記ステップ1407で示したとおり。
ステップ1508が終了した時点で処理を終了する。
【0053】
次に、本実施例における文書更新制御プログラム512の動作手順を説明する。
図17は、文書更新制御プログラム512の概略処理手順を示すPAD図である。
本プログラムは、文書の更新を求めるクライアントからの指令に対応して、文書空間管理プログラム513から呼び出される。
図17に示す、被選択エンティティに対応する解析済み論理構造データの更新処理では、複数のユーザによって同じ解析済み論理構造データが同時に更新されることを防ぐため、まず更新対象エンティティに対してロックを設定する(ステップ1701)。
次に、ロックの設定に成功したかどうかをチェックし(ステップ1702)、成功した場合にはステップ1703からステップ1715までの更新処理を実行する。
失敗した場合には、既にロックが設定されていて更新ができない旨のエラーコードを返却して処理を終了する(ステップ1716)。
【0054】
ステップ1703では、更新処理に必要な文書部品群と電子署名を、外部プログラムを用いて編集可能な領域に出力する。
このステップは、前記図14に示したPAD図に示す文書参照時の処理と同様の手順で実現できる。
ただし、図14中の「参照対象エンティティ」は、「更新対象エンティティ」の意味となる。
ステップ1704では、出力した内容データの外部プログラム(例えばSGMLエディタ)による編集および電子署名の生成の終了を待つ。
外部プログラムによる編集および電子署名の生成処理が終了した旨の通知を受けると、ステップ1705に進む。
ステップ1705では、編集後の内容データをステップ1703で出力した領域から読み込み、該読み込んだデータによって、更新対象エンティティの内容データを置換して文書空間データベース格納領域516に格納する。
ステップ1706では、更新対象エンティティに対応する電子署名を外部領域から読み込み、該読み込んだ電子署名によって、更新対象の電子署名を置換して文書空間データベース格納領域516に格納する。
ステップ1707では、更新対象エンティティのエンティティ識別子とエンティティの内容データ、および電子署名と電子署名識別子との組を、文書空間データベース格納領域516に格納してエンティティおよび電子署名の更新を行なう。
【0055】
ステップ1708では、更新対象エンティティの種別を判定する。
更新対象エンティティが文書エンティティまたはテキストエンティティだった場合には、ステップ1709からステップ1711までの処理を実行し、非SGMLデータエンティティだった場合にはステップ1712を実行する。
ここで、ステップ1709では、更新対象エンティティの更新された内容データを含めた、文書全体の構文解析を行なう。
このとき、更新対象エンティティ以外のエンティティに関しては、文書空間データベース格納領域516から内容データを読み出す。
ステップ1710では、構文解析処理の結果を参照して、更新対象エンティティの更新された内容データに対応する、部分的な解析済み論理構造データを生成する。
なお、本実施例では、構文解析の結果を一時的に生成しているが、該構文解析処理の中で、構文解析処理と並行して解析済み論理構造データを生成するようにしてもよい。
ステップ1711では、更新対象エンティティに割り当てたエンティティ識別子と前記部分的な解析済み論理構造データとの組を文書空間データベース格納領域516に格納して文書の登録を行なう。
ステップ1712では、更新された内容データそのものを、前記の部分的な解析済み論理構造データの部分要素として設定する。
【0056】
次に、ステップ1713では、すべての登録済み文書の論理構造データに対する検索を行い、更新対象エンティティに対応する(更新対象エンティティのエンティティ識別子を保持する)すべてのエンティティ遷移ノードを検出する。
そして、検出されたすべてのエンティティ遷移ノードに関して、ステップ1714を繰り返し実行する。
ここで、ステップ1714では、選択されたエンティティ遷移ノードの下位にある部分的な論理構造データを、ステップ1710またはステップ1712で設定された部分的な解析済み論理構造データによって置換し、これを文書空間データベース格納領域中に格納することによって、更新されたエンティティに対応する、登録済み文書の論理構造データを更新する。
最後に、ステップ1715において、更新対象エンティティに設定したロックを解除し、処理を終了する。
【0057】
なお、本実施例ではSGMLを用いて記述された構造化文書を登録対象文書として処理する構成をとったが、XML、HTMLなど、他の文書記述言語を用いて記述された構造化文書を管理対象とするように構成してもよい。
また、本実施例は、構造定義として文書型定義(DTD)を用いることを前提として記述したが、文書型定義だけでなく、XSchema、DCD(Document Content Description)等、他の形式の文書構造定義を用いる構成としてもよい。
【0058】
本実施例により、複数のエンティティから構成される構造化文書について、参照・更新対象エンティティを文書管理サーバから取り出す際に、対応する電子署名も同時に取り出すことができる。
取り出し先でデジタル署名の認証を行なうことにより、取り出したエンティティの真正性を証明することができるようになる。
さらに、テキストエンティティを参照・更新する場合には、取り出したエンティティを参照する一時的なSGML文書エンティティが生成され、関連する文書部品も同時に取り出される。
これにより、取り出し先のSGML処理系で、参照・更新対象エンティティの内容を独立したSGML文書として扱い、参照・編集することが可能となる。
【0059】
以下、本発明を適用した第2の実施例について、図面を用いて説明する。
本実施例は、システムの構成およびデータ構造のいずれも前記第1の実施例と同一であるが、プログラムの処理手順が前記第1の実施例と異なっている。
本実施例が前記第1の実施例と異なっている点を示す。
前記第1の実施例では、各エンティティの電子署名は、作成時にシステムの外部で既に生成されており、また参照・更新時の認証や電子署名の生成は当該システムの外部で行なわれることを前提としている。
これに対し、本実施例では、外部から与えられたユーザ情報や秘密鍵などのパラメータによって、当該システムの中で登録文書に対する電子署名の生成・認証を行なう。
これにより、認証用の鍵を持つ利用者だけが登録文書を参照できる。
【0060】
図18に、本実施例における文書の登録処理制御プログラム510の処理手順を示すPAD図を示す。
図18の処理手順は、前記第1の実施例における図7の処理に相当する。
ここでは、前記第1の実施例における文書登録制御プログラム(図7)との差異だけを述べる。
ステップ1801は、ステップ701に相当する処理である。
ただし、ステップ701では、各エンティティに対応する電子署名のリソース名を入手していたのに対して、ステップ1801では、電子署名を生成する際に用いる署名者の秘密鍵を呼び出しパラメータとして入手する。
エンティティの内容データの読み込み等、他の処理はステップ701と同様である。
ステップ1802からステップ1807までの処理は、ステップ702からステップ707までの処理と同様である。
ステップ1808では、処理対象エンティティの内容データと、ステップ1801で取得した署名者の秘密鍵を用いて、電子署名を生成する。
ステップ1809の処理は、ステップ710の処理と同様である。
ステップ1810、ステップ1811、ステップ1812の処理は、ステップ711、ステップ712、ステップ713の処理と同様である。
【0061】
次に、本実施例における文書参照制御プログラム511の処理手順を示すPAD図を図34と図19に示す。
図34は、文書参照制御プログラム511の概略処理手順を示すPAD図である。本プログラムは、文書の参照を求めるクライアントからの指令に対応して、文書空間管理プログラム513から呼び出される。
ステップ3401では、まず参照対象となるエンティティを識別するための文書識別子とエンティティ識別子を入手する。
ステップ3402では、エンティティ構成表1105のエンティティ種別1106を参照して、参照対象エンティティのエンティティ種別を判定し、この種別に応じて、ステップ3403、ステップ3404のいずれかの処理を実行するか、あるいは何も実行しないかを選択する。ここで、SGML文書エンティティが指定されている場合、ステップ3403を実行する。テキストエンティティが指定されている場合、ステップ3404を実行する。非SGMLデータエンティティが指定されている場合は、何も実行しない。
ステップ3403では、エンティティ構成表1105を参照して、SGML文書エンティティ以外の全ての文書部品のエンティティ識別子のリストを返却する。 ステップ3404では、エンティティ構成表1105および解析済み論理構造データを参照して、解析済み論理構造データの参照対象エンティティに対応する木構造のノードを辿りながらエンティティ参照のノードを探すことで、参照対象エンティティから直接または間接に参照される文書部品を探し出し、これらの文書部品のエンティティ識別子のリストを返却する。
【0062】
図19の処理手順は、前記第1の実施例における図14の処理に相当する。このでは、前記第1の実施例における文書参照制御プログラム(図14)との差異だけを述べる。
ステップ1901は、ステップ1401に相当する処理である。ただし、ステップ1901では呼び出しパラメータとして、以下の情報を入手する。
・参照対象エンティティの文書識別子とエンティティ識別子、署名者の公開鍵、出力先となるリソースのリソース名
・参照対象エンティティの文書部品となるエンティティ群の、エンティティ識別子と署名者の公開鍵の対応関係のリスト
ここで、参照対象エンティティの文書部品となるエンティティ群と、各エンティティのエンティティ識別子は、ステップ3403(またはステップ3404)で得た情報を用いる。
ステップ1902では、参照対象として指定されたエンティティの内容データを文書空間データベース格納領域516から読み出す。
ステップ1903では、参照対象エンティティに対応する電子署名を、文書空間データベース格納領域516から読み出す。
ステップ1904では、読み出した参照対象エンティティの内容データと、該読み出した電子署名、および該公開鍵を用いてデジタル署名の認証を行なう。認証が失敗した場合は、認証が失敗した旨のエラーコードを返却して処理を終了する(ステップ1905)。
ステップ1906では、ステップ1902で文書空間データベース格納領域から読み出した参照対象エンティティの内容データを、ステップ1901で入手した参照対象エンティティの出力先リソースに出力する。
ステップ1907の処理は、ステップ1404の処理と同様である。
ステップ1908は、ステップ1901のパラメータによって指定された全ての文書部品のエンティティについて、ステップ1909を実行する。
ステップ1909は、対象とする文書部品の認証、および取り出しを行なう処理である。本処理の手順は、図33を用いて後述する。
ステップ1910の処理は、ステップ1408の処理と同様である。
ステップ1911は、ステップ1901のパラメータによって指定された全ての文書部品のエンティティについて、ステップ1912を実行する。
ステップ1912は、対象とする文書部品の認証、および取り出しを行なう処理である。本処理の手順は、図33を用いて後述する。
【0063】
次に、図19におけるステップ1909およびステップ1912、すなわち、対象エンティティの認証・取り出し処理について、その詳細を説明する。図33は、この処理の手順を示すPAD図である。
ステップ3301では、対象エンティティの内容データを文書空間データベース格納領域516から読み出す。
ステップ3302では、対象エンティティに対応する電子署名を、文書空間データベース格納領域516から読み出す。
ステップ3303では、読み出した対象エンティティの内容データと、該読み出した電子署名、およびステップ1901で得た公開鍵を用いてデジタル署名の認証を行なう。認証が失敗した場合は、認証が失敗した旨のエラーコードを返却して処理を終了する(ステップ3304)。
ステップ3305では、ステップ3301で文書空間データベース格納領域から読み出した参照対象エンティティの内容データを、ステップ1901で入手した参照対象エンティティの出力先リソースと同一のディレクトリに出力する。ただし、ファイル名は、エンティティ構成表1105のリソース名1109の値とする。
【0064】
次に、本実施例における文書更新制御プログラム512の概要処理手順を示すPAD図を図20に示す。
図20の処理手順は、前記第1の実施例における図17の処理に相当する。
ここでは、前記第1の実施例における文書更新制御プログラム(図17)との差異だけを述べる。
ステップ2001とステップ2002の処理は、それぞれステップ1701とステップ1702の処理と同様である。
ステップ2003では、更新処理に必要な文書部品群を、外部プログラムを用いて編集可能な領域に出力する。
このステップは、前記図19に示したPAD図に示す文書参照時の処理と同様の手順で実現できる。
ただし、図19中の「参照対象エンティティ」は、「更新対象エンティティ」の意味となる。
ステップ2004とステップ2005の処理は、それぞれステップ1704とステップ1705の処理と同様である。
ステップ2006では、更新対象エンティティの内容データと、署名者の秘密鍵を用いて、電子署名を生成する。
そして、該生成した電子署名によって、更新対象の電子署名を置換して文書空間データベース格納領域516に格納する。
なお、電子署名を生成する際に用いる署名者の秘密鍵は、呼び出しパラメータとして入手する。
ステップ2007からステップ2016までの処理は、ステップ1707からステップ1716までの処理と同様である。
【0065】
本実施例により、複数のエンティティから構成される構造化文書について、参照・更新対象エンティティを文書管理サーバから取り出す際に署名者の公開鍵を与えると、文書管理サーバ内部でデジタル署名の認証を行なうことができる。
これにより、エンティティの真正性が証明(保証)された状態で、参照・更新対象エンティティを取り出せるようになる。
SGML文書エンティティの生成に関しては、前記第1の実施例の構成を取った場合との間で、機能的な差異は生じない。
【0066】
以下、本発明を適用した第3の実施例について、図面を用いて説明する。
本実施例は、システムの構成は前記第1の実施例と同一であるが、データ構造及びプログラムの処理手順が前記第1の実施例と異なっている。
本実施例が前記第1の実施例と異なっている点を以下に示す。
前記第1の実施例では、登録済みの文書データとしては、各エンティティの内容データと、解析済み論理構造データの両方を保持していた。
これに対し、本実施例では、解析済み論理構造データのみを保持し、エンティティの内容データは保持しない。
その代わり、前記解析済み論理構造データは、取り出し時に、原文書を構成していた任意のエンティティを指定して、該エンティティが登録時に保持していた内容データと全く同じものが取り出せるように、該文書中に含まれる内容文字列および構造情報に加えて、復元に必要となる構文情報(原文書通りの要素型名、エンティティ参照(エンティティ開始情報およびエンティティ終了情報)、構文情報としての空白文字(空白類文字)、文字参照、属性の省略時値、文字参照、マーク済みセクション、処理命令、コメント宣言、リテラル区切り子の種類、属性名・表記法名・短縮参照表名・固有識別子(ID)・エンティティ名の原文書通りの名前、省略されていたタグの情報、短縮形のタグの情報、開始タグ中で要素型名と属性指定との間、および属性指定同士の間を区切っている空白文字列、省略されていたエンティティ参照の末尾のREFC(;)に相当する省略データの情報、短縮参照)を識別して解析済み論理構造データ中に保持する。
【0067】
図21に、本実施例における文書の登録処理制御プログラム510の処理手順を示すPAD図を示す。
図21の処理手順は、前記第1の実施例における図7の処理に相当する。
ここでは、前記第1の実施例における文書登録制御プログラム(図7)との差異だけを述べる。
ステップ2101からステップ2104までの処理は、ステップ701からステップ704までの処理と同様である。
ステップ2105からステップ2108までの処理は、ステップ708からステップ711までの処理と同様である。
ステップ2109は、ステップ712に相当する処理である。
ただし、ステップ2109では、取り出し時に原文書通りの内容に復元できるように、登録対象文書中に含まれる内容文字列、構造情報に加えて、復元に必要な構文情報も解析済み論理構造データとして保持する。
ステップ2110の処理は、ステップ713の処理と同様である。
【0068】
次に、本実施例における文書参照制御プログラム511の処理手順を示すPAD図を図22に示す。
図22の処理手順は、前記第1の実施例における図14の処理に相当する。
ここでは、前記第1の実施例における文書参照制御プログラム(図14)との差異だけを述べる。
ステップ2201の処理は、ステップ1401の処理と同様である。
ステップ2202では、参照対象として指定されたエンティティの内容データを、解析済み論理構造データから生成して、この復元した内容データをステップ2201で入手した参照対象エンティティの出力先リソースに出力する。
ここで生成する参照対象エンティティの生成、出力の手順は、図27を用いて後述する。
ステップ2203からステップ2205までの処理は、ステップ1403からステップ1405までの処理と同様である。
ステップ2206では、対象とするエンティティの内容データを、解析済み論理構造データから生成して、この復元した内容データをステップ2201で入手した参照対象エンティティの出力先リソースと同一ディレクトリに出力する。
ただし、ファイル名は、エンティティ構成表1105のリソース名1109の値とする。
ここで生成する参照対象エンティティの生成、出力の手順は、図27を用いて後述する。
ステップ2207とステップ2208の処理は、ステップ1407とステップ1408の処理と同様である。
ステップ2209は、ステップ2206の処理と同様である。
【0069】
次に、本実施例における文書更新制御プログラム512の概要処理手順を示すPAD図を図23に示す。
図23の処理手順は、前記第1の実施例における図17の処理に相当する。
ここでは、前記第1の実施例における文書更新制御プログラム(図17)との差異だけを述べる。
ステップ2301とステップ2302の処理は、それぞれステップ1701とステップ1702の処理と同様である。
ステップ2303では、更新処理に必要な文書部品群を、外部プログラムを用いて編集可能な領域に出力する。
このステップは、前記図22のPAD図に示す文書参照時の処理と同様の手順で実現できる。
ただし、図22中の「参照対象エンティティ」は、「更新対象エンティティ」の意味となる。
ステップ2304は、ステップ1704の処理と同様である。
ステップ2305からステップ2315までの処理は、ステップ1706からステップ1716までの処理と同様である。
ただし、ステップ2309で生成する解析済み論理構造データは、文書登録時と同様、取り出し時に原文書通りの内容に復元できるように、登録対象文書中に含まれる内容文字列、構造情報に加えて、復元に必要な構文情報も解析済み論理構造データとして保持する。
【0070】
図24は、本実施例における文書登録制御プログラム510が、前記ステップ2103の構文解析処理の結果を参照して生成する解析済み論理構造データのデータ構造を示す図である。
この図では、図2に示すSGML文書を登録対象文書として処理した場合に生成される解析済み論理構造データを例として示している。
本実施例における解析済み論理構造データ中の各ノードのデータ構造を、図25、図26に示す。
なお、ノードは六種類あり、それぞれ、要素ノード2501、文字列ノード2601、改行文字ノード2604、非SGMLデータノード2607、エンティティ参照ノード2610、文字参照ノード2616のいずれかである。
【0071】
以下に、指定されたエンティティの内容データを、本実施例における解析済み論理構造データを参照して生成、出力する処理を説明する。
この処理は、前記図22のPAD図におけるステップ2202、ステップ2206、ステップ2209の内容データを生成し、出力する処理である。
図27は、指定エンティティの内容データを外部に出力する処理手順を示したPAD図である。
ステップ2701は、指定エンティティの解析済み論理構造データ中の各最上位ノードに対して、ステップ2702を繰り返し実行する処理である。
ステップ2702は、対象ノードの内容を生成する処理である。
本処理の手順は、図28を用いて後述する。
ステップ2703では、ステップ2701、ステップ2702で生成した内容データを、指定されたリソースに出力する。
【0072】
次に、図27におけるステップ2702、すなわちノードの内容の生成処理について、その詳細を説明する。
図28は、この処理の手順を示すPAD図である。
ステップ2801では、対象ノードが持つノード種別(図25、図26におけるノード種別2502、2602、2605、2608、2611、2617)を判別し、該ノード種別に応じてステップ2802からステップ2807までのいずれかの処理を選択して実行する。
ここで、前記ノード種別が要素であった場合、その要素の内容を生成する(ステップ2802)。
本処理の手順は、図29を用いて後述する。
また、前記ノード種別が文字列であった場合、内容文字列2603を用いてその文字列の内容を生成する(ステップ2803)。
また、前記ノード種別が改行文字であった場合、改行文字コード2606を用いて改行文字を出力する(ステップ2804)。
また、前記ノード種別が非SGMLデータであった場合、内容データ2609を用いて改行文字を出力する(ステップ2805)。
また、前記ノード種別がエンティティ参照であった場合、エンティティ参照を生成する(ステップ2806)。
ここで、エンティティ参照の生成は、"&"文字に続けて、エンティティ名2612、そして、(省略されていなければ)参照終了文字 ";" を生成する。
また、前記ノード種別が文字参照であった場合、文字参照を生成して出力する(ステップ2807)。
ここで、文字参照の生成は、"&#" 文字列に続けて、機能名2619もしくは文字番号2620を生成する。
機能名と文字番号の判別には、種別2618を用いる。
その後、(省略されていなければ)参照終了文字 ";" を生成する。
【0073】
次に、図28におけるステップ2802、すなわち要素の内容の生成処理について、その詳細を説明する。
図29は、この処理の手順を示すPAD図である。
ステップ2901は、対象要素の開始タグを生成する。
本処理の手順は、図30を用いて後述する。
ステップ2902では、対象要素の下位ノードへの参照2510を参照して、対象要素の各下位ノードに対して、ステップ2903を実行する。
ここで、ステップ2903は、前述した図28に示すPAD図の処理を実行する。
すなわち、再帰的に図28のPAD図を実行する。
ステップ2904は、対象要素の終了タグを生成する。
本処理の手順は、図32を用いて後述する。
【0074】
次に、図29におけるステップ2901、すなわち、対象要素の開始タグの生成処理について、その詳細を説明する。
図30は、この処理の手順を示すPAD図である。
ステップ3001では、原文書において、指定要素の開始タグが省略されていたかどうかを、開始タグの省略2504のデータを参照することによって判別し、省略されていなければ(値が NO であれば)、ステップ3002からステップ3010までの処理を実行する。
ステップ3002では、開始タグの "<" 文字を出力する。
ステップ3003では、開始タグの総称識別子2505を参照して、対象要素の要素型名を出力する。
ステップ3004では、対象要素が持つ属性のリスト2511を参照し、対象要素が属性を持つ場合、対象要素の各属性について、ステップ3005を実行する。
本処理の手順は、図31を用いて後述する。
ステップ3006では、空白類文字2506を参照して、原文書の該当位置に存在した空白類文字を生成する。
ステップ3007では、開始タグの ">" 文字を生成する。
【0075】
次に、図30におけるステップ3005、すなわち、対象要素の各属性の生成処理について、その詳細を説明する。
図31は、この処理の手順を示すPAD図である。
ステップ3101では、属性の省略2512の値を参照し、対象属性が原文書において省略されていたかどうか判別する。
省略されていなければ、ステップ3102からステップ3109までの処理を実行する。
ステップ3102では、空白類文字2513を参照して、原文書の該当位置に存在した空白類文字を生成する。
ステップ3103では、属性名2514を参照して、対象属性の属性名を生成する。
ステップ3104では、空白類文字2515を参照して、原文書の該当位置に存在した空白類文字を生成する。
ステップ3105では、"=" 文字を出力する。
ステップ3106では、空白類文字2517を参照して、原文書の該当位置に存在した空白類文字を生成する。
ステップ3107では、リテラル種別2518を参照して、原文書と同じリテラル区切り子(LIT、LITA、または省略のいずれか)を生成する。
ステップ3108では、属性値2519を参照して、対象属性の属性値(リストを含む)を生成する。
ステップ3109では、リテラル種別2518を参照して、原文書と同じリテラル区切り子(LIT、LITA、または省略のいずれか)を生成する。
【0076】
次に、図29におけるステップ2904、すなわち、対象要素の終了タグの生成処理について、その詳細を説明する。
図32は、この処理の手順を示すPAD図である。
ステップ3201では、原文書において、指定要素の開始タグが省略されていたかどうかを、終了タグの省略2507のデータを参照することによって判別し、省略されていなければ(値が NO であれば)、ステップ3202からステップ3205までの処理を実行する。
ステップ3202では、終了タグの "</" 文字を生成する。
ステップ3203では、終了タグの総称識別子2508を参照して、対象要素の要素型名を生成する。
ステップ3204では、空白類文字2509を参照して、原文書の該当位置に存在した空白類文字を生成する。
ステップ3205では、終了タグの ">" 文字を出力する。
【0077】
本実施例の場合、解析済み論理構造データ中に、登録文書中に含まれる内容文字列および構造情報に加えて、復元に必要となる構文情報も保持するため、前記第1の実施例および第2の実施例の場合に比べて解析済み論理構造データのデータ量は大きくなる。
その代わり、エンティティの内容データは解析済み論理構造データとして一元管理されており、前記第1の実施例のような内容データと解析済み論理構造データの二重管理は行なっていないため、両データの不整合の問題は発生しなくなるという利点がある。
本実施例の構成を取った場合と、前記第1の実施例および第2の実施例の構成を取った場合との間で、機能的な差異は生じない。
【0078】
【発明の効果】
以上説明したように、本発明による構造化文書のデジタル署名付き管理方法によれば、文書を構成する各エンティティに対して、電子署名とエンティティを対応付けて管理することによって、個々のエンティティ単位に署名を付与して、エンティティ単位での文書の改ざん防止、真正性の証明の機能を実現することができる。
また、一時的なSGML文書エンティティを生成する機能を備えることによって、エンティティの内容を独立して参照・編集可能なSGML文書として取り出すことができる。
【図面の簡単な説明】
【図1】デジタル署名の認証方法の仕組を示す図である。
【図2】文書記述言語SGMLによって記述された構造化文書の一例を示す図である。
【図3】 SGML文書を解析して得られる論理構造の一例を示す図である。
【図4】第1の実施例の全体構成を示す図である。
【図5】第1の実施例における文書管理サーバの構成を示す図である。
【図6】第1の実施例における文書空間管理プログラムの概略処理手順を示すPAD図である。
【図7】第1の実施例における文書登録制御プログラムの概略処理手順を示すPAD図である。
【図8】第1の実施例における文書登録制御プログラムにおいて、文書登録時に登録対象文書を構成するエンティティの一覧を受け渡すために用いるリスト形式の一例を示す図である。
【図9】第1の実施例における文書登録制御プログラムが生成するエンティティ識別子対応表と登録されるエンティティの内容データとの対応関係を示す図である。
【図10】第1の実施例における文書登録制御プログラムが生成する電子署名識別子対応表と登録される電子署名との対応関係を示す図である。
【図11】第1の実施例における文書登録制御プログラムが生成する登録文書一覧表のデータ構造を示す図である。
【図12】第1の実施例における文書登録制御プログラムが生成する構文解析結果データの一部であるエンティティ構成表の具体例を示した図である。
【図13】第1の実施例における文書登録制御プログラムが生成する解析済み論理構造データのデータ構造を示す図である。
【図14】第1の実施例における文書参照制御プログラムの概略処理手順を示すPAD図である。
【図15】第1の実施例における文書参照制御プログラムにおいて、参照時に一時的に生成するSGML文書エンティティの生成、出力を行なう処理の手順を示すPAD図である。
【図16】第1の実施例における文書参照制御プログラムにおいて、参照時に一時的に生成するSGML文書エンティティの一例を示す図である。
【図17】第1の実施例における文書更新制御プログラムの概略処理手順を示すPAD図である。
【図18】第2の実施例における文書登録制御プログラムの概略処理手順を示すPAD図である。
【図19】第2の実施例における文書参照制御プログラムの概略処理手順を示すPAD図である。
【図20】第2の実施例における文書更新制御プログラムの概略処理手順を示すPAD図である。
【図21】第3の実施例における文書登録制御プログラムの概略処理手順を示すPAD図である。
【図22】第3の実施例における文書参照制御プログラムの概略処理手順を示すPAD図である。
【図23】第3の実施例における文書更新制御プログラムの概略処理手順を示すPAD図である。
【図24】第3の実施例における文書登録制御プログラムが生成する解析済み論理構造データのデータ構造を示す図である。
【図25】第3の実施例における文書登録制御プログラムが生成する解析済み論理構造データの要素ノードのデータ構造を示す図である。
【図26】第3の実施例における文書登録制御プログラムが生成する解析済み論理構造データの文字列ノード、改行文字ノード、非SGMLデータノード、エンティティ参照ノード、および文字参照ノードのデータ構造を示す図である。
【図27】第3の実施例における文書参照制御プログラムの解析済み論理構造データから内容データを生成、出力する処理手順を示すPAD図である。
【図28】第3の実施例における文書参照制御プログラムの解析済み論理構造データ中の各ノードのノード種別に応じて内容データを生成する処理手順を示すPAD図である。
【図29】第3の実施例における文書参照制御プログラムの解析済み論理構造データ中の要素ノードから内容を生成する処理手順を示すPAD図である。
【図30】第3の実施例における文書参照制御プログラムの解析済み論理構造データ中の要素ノードから開始タグを生成する処理手順を示すPAD図である。
【図31】第3の実施例における文書参照制御プログラムの解析済み論理構造データ中の要素ノードから属性情報を生成する処理手順を示すPAD図である。
【図32】第3の実施例における文書参照制御プログラムの解析済み論理構造データ中の要素ノードから終了タグを生成する処理手順を示すPAD図である。
【図33】第2の実施例における文書参照制御プログラムの対象エンティティの認証、および取り出し処理手順を示すPAD図である。
【図34】第2の実施例における文書参照制御プログラムの対象エンティティの文書部品群の取得処理手順を示すPAD図である。
【符号の説明】
401 文書管理サーバ
402 文書管理クライアント
403 業務処理システム
510 文書登録制御プログラム
511 文書登録制御プログラム
512 文書更新制御プログラム
513 文書空間管理プログラム
516 文書空間データベース格納領域
1101 登録文書一覧表
1105 エンティティ構成表
1301 解析済み論理構造データ[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a computerized document data management system using a computer apparatus, and more particularly to a method and apparatus for managing a structured document by adding a digital signature.
[0002]
[Prior art]
With the full-fledged progress of the information society, digitized document data created using word processors, personal computers, and the like is increasing at an explosive rate.
Along with the digitization of documents, instead of the conventional method of writing a signature on a paper document, a technique called a digital signature that gives electronic data called an electronic signature to an electronic file has begun to be used.
[0003]
The digital signature is a technique for proving that the creator of the document is the person himself / herself and that the content of the document is a legitimate one that has not been tampered with, and mainly uses an asymmetric cryptosystem.
As an example, an example of a digital signature using an electronic signature verification method will be described with reference to FIG.
In this method, first, the signer applies a one-way hash function to the
Further, the
The signer distributes the
[0004]
The authenticator receives a
Next, the authenticator applies the same one-way hash function that the signer used to compress the
In addition, the
Next, the authenticator compares the contents of the
If both contents match, the
[0005]
Digital signatures are described in detail, for example, in 4.6.7.2 of "Distributed Computing Environment-Implementation and Strategy-" (Raman Khanna, 1996, Prentice Hall Publishing).
Further, as a conventional technique related to a digital signature, there is an invention disclosed in Japanese Patent Application Laid-Open No. 9-311854 (hereinafter referred to as known example 1).
The present invention has a function of generating a digital signature from a document file, a function of transmitting and receiving a document file and a digital signature separately, and a function of authenticating a signature.
According to the present invention, a single file can be generated, transmitted / received, and authenticated to prove the identity as binary data.
[0006]
In addition, the digitization of documents takes the stage of simple mere cleansing means, creates documents that play an important role in the organization's business (mission critical documents) electronically, and manages the entire business that handles those documents. By making it digital, it is moving in the direction of realizing a significant improvement in business efficiency.
Such mission-critical documents are created as structured document data that can be easily machined using a document description language such as SGML (Standard Generalized Markup Language) or XML (eXtensible Markup Language). Various processes such as data extraction, creation of derived documents, and reuse by changing the display format are possible.
These document management systems that handle mission-critical structured documents have functions for storing and managing structured documents, referring to structure information, editing and revising document contents, managing version history, and the like.
In a document management system that handles mission critical documents centering on structured documents, it is desirable to have a function of adding a digital signature to a structured document and managing it as part of the security function.
[0007]
Here, the SGML document will be described with reference to FIG.
In SGML, a physical unit of data that constitutes a document (such as that stored in a file in a normal computer system) is called an entity.
An SGML document is a compound document composed of one or more text entities and an arbitrary number of binary entities (such as diagram data).
The SGML document shown in FIG. 2 is composed of four text entities and one binary entity.
In SGML, text entities that are the starting point for parsing are called SGML document entities, and other text entities and binary entities are referenced from there.
[0008]
In FIG. 2, entity 201 (file “doc.sgm”) is an SGML document entity, entity 202 (file “part1.sgm”), entity 203 (file “note.sgm”), and entity 205 (file “doc.sgm”). dtd ") is a text entity, and entity 204 (file" fig1.bmp ") is a binary entity.
In this example, SGML
The
That is, the
Each entity is also called a document part in the sense of a part that constitutes an SGML document.
SGML documents have a single hierarchical logical structure throughout the document, and can be represented by a tree model.
FIG. 3 shows the logical structure of the SGML document shown in FIG. 2 as a tree structure.
In SGML, a mark called a tag is used as a mark indicating the range of each logical structure.
The name of the elements that make up the logical structure (element type name) <> And ">" enclosed in start tag, string " What is surrounded by </ "and">"is called an end tag, and the part enclosed by the start tag and end tag is the content of the element.
The tree structure shown in FIG. 3 is called an SGML document analysis tree.
In FIG. 3, an elliptical node represents an element, and a rectangular node represents content data (analyzed character string data or non-SGML data).
In the figure, each range surrounded by a dotted line represents a set of nodes.
Here, the node set 301 corresponds to the SGML
As indicated by the correspondence between entities and node sets, the logical structure of the SGML document is obtained by expanding the content of the entity called by the entity reference to the call position and parsing the resulting expanded text. It is done.
[0009]
Unlike a simple file management system, a document management system with a structured document management function analyzes the logical structure of a registered document and divides the elements in the form of the analysis tree shown above. It is possible to provide fine-grained access to logical structural units.
Thus, a structured document can be composed of a plurality of entities in which text and binary data are mixed.
It is also possible to express a logical structure.
[0010]
SGML has meta information called document type definition (DTD) that defines the logical structure of a document.
The areas indicated by 206 and 207 in FIG. 2 are the document type definition of this document.
With this document type definition, a structured document can be created while maintaining the consistency of the logical structure of the entire document.
Documents that conform to the document type definition can be referenced and edited using a dedicated SGML processing system such as an SGML browser or SGML editor.
For example, in FIG. 3, when it is desired to edit the content character strings of the
[0011]
As a method of avoiding this problem, a method of extracting not only the target entity but also the entire SGML document including the entity as a part from the database can be considered.
However, in this method, not only the target entity but all the entities are extracted from the database. Therefore, if the target document is a large document such as a manual or a book, it will be extracted and parsed after extraction. The time required is enormous, and a large amount of memory is required for parsing.
Therefore, the performance and the memory capacity are greatly affected, which is not practical.
As another workaround for the above problem, there is a method of extracting the target portion as a partial document in a closed format as an SGML document.
[0012]
As an invention for extracting and handling a part of an SGML document, there is an invention disclosed in Japanese Patent Application Laid-Open No. 10-143507 (hereinafter referred to as known example 2).
The invention shown in the known example 2 includes the following mechanism.
(1) A mechanism for storing SGML documents in element units and managing each element in association with meta information in the document type definition
(2) A mechanism that enables parsing of only the relevant part independently by temporarily generating a document type definition for partial editing corresponding to the part to be edited in the SGML document.
(3) Deletion of top-level element being edited, change of tag (generic identifier), and new before / after editing within the range that does not violate the document type definition for partial editing while allowing the upper element and the preceding and following elements to be editable Mechanism that allows additional elements to be added
With the above mechanism, it is possible to generate a document type definition corresponding to a partial range to be edited, and to output a partial document in that range in an editable format.
However, in order to validate the digital signature, it is necessary to take out the document to be signed with exactly the same content as at the time of registration, but the partial document obtained in the above-mentioned well-known example 2 is different from the content at the time of registration. The digital signature technique of the known example 1 cannot be applied.
[0013]
An invention disclosed in Japanese Patent Application No. 10-360110 (hereinafter referred to as well-known example 3) is an invention that holds each entity constituting a structured document as original data and enables reference of a logical structure. There is.
The invention of the known example 3 stores both the analyzed logical structure data and the physical structure data in the database at the time of document registration, and manages the correspondence between them, thereby accessing the analyzed logical structure data of the document, In addition, it is possible to retrieve and edit entities as they are in the original data.
Since the entity acquired in the known example 3 is the original data, the digital signature of the known example 1 can be applied.
However, since the entity acquired in the known example 3 does not include an SGML document entity that is essential when handled as an SGML document, it cannot be used as an SGML document.
[0014]
[Problems to be solved by the invention]
Although a method of adding a signature to a single file and managing it for the purpose of preventing falsification of the document and proof of authenticity by the prior art of the above-mentioned known example 1, a method for managing a signature for a structured document is shown. Is not shown.
An object of the present invention is to associate and manage a digital signature with a structured document.
Next, according to the invention shown in the known example 2, a partial document can be generated and extracted from a part of the logical structure of the SGML document and edited. In this known example, the entity structure of each SGML document and each entity It is not considered to maintain the contents as text, and a specific entity cannot be extracted as it is at the time of registration.
The invention shown in the above-mentioned well-known example 3 holds and manages the data of both the logical structure and the entity structure of the structured document, but can extract the contents of the entity as an SGML document that can be referred to and edited independently. Is not prepared.
Therefore, either of the known example 2 and the known example 3 or a combination thereof, one of the entities constituting the registered SGML document is externalized in the form of an independent SGML document without changing its contents. In addition, after editing the extracted SGML document, it is not possible to update the database by associating the contents of the changed entity with the signature for the contents.
Also, the digital signature gives an electronic signature to the file. If even one character of the file contents is changed, it is detected that the file has been tampered with.
Therefore, if each entity of the compound document is managed by adding a signature, in order to retrieve, refer to, edit, and update these entities individually, the specified entity must be externally changed without changing any character. It must be able to re-register the edited content (and the signature attached to the updated content) of the entity without taking out, referencing and editing, and affecting other entities.
Another object of the present invention is to extract an individually specified entity to the outside without changing any character, and to reference / edit it, and to edit the content after editing the entity (and without affecting other entities) The signature added to the updated content) can be re-registered.
[0015]
[Means for Solving the Problems]
In order to achieve the above object, the present invention provides:
A document digital signature management method in a document management system comprising a processing device, a storage device, and an input / output device,
The process of registering a document in the processing device is performed for each document part constituting the document.
A step of reading the content data of the designated document part and storing it in the storage means; a step of reading an electronic signature corresponding to the designated document part and storing it in the storage means; and the content data of the stored document part and the electronic signature Storing the electronic signature correspondence data indicating the correspondence relationship in the storage means, and the document part group management step of managing these document parts groups for each document in the storage means,
The process of referring to the document in the processing device is
A step of reading out and outputting content data of a document part to be referenced from the storage means, and a step of reading out and outputting an electronic signature corresponding to the document part to be referenced from the storage means using the electronic signature correspondence data Have
The process of updating the document in the processing device includes:
The step of referring to the content data of the document part to be updated and the electronic signature of the document part by the same process as the process of referring to the document, the step of reading the content data of the edited / updated document part, and the read Replacing the content data of the document part stored in the storage means with the content data, reading an electronic signature corresponding to the content data of the edited / updated document part, and stored in the storage means The step of replacing the electronic signature with the read electronic signature and the electronic signature correspondence data indicating the correspondence between the content data of the updated document part and the updated electronic signature are stored in the storage unit. A step of replacing the electronic signature correspondence data is provided.
[0016]
Further, a management method with a digital signature of a document in a document management system including a processing device, a storage device, and an input / output device,
The process of registering a document in the processing device is performed for each document part constituting the document.
A step of reading the content data of the designated document part and storing it in the storage means, a step of generating an electronic signature from the read content data using the signer's private key, and storing the generated electronic signature in the storage means Storing in the storage means electronic signature correspondence data indicating the correspondence between the content data of the stored document parts and the electronic signature, and storing the document parts group together for each document. Has a document parts group management step to manage,
The process of referring to the document in the processing device is
A step of reading out and outputting the content data of the document part to be referred to from the storage means, the public key of the signer, the content data of the document part read from the storage means using the electronic signature correspondence data, and the storage means A step of authenticating the signature with respect to the electronic signature read from
The process of updating the document in the processing device includes:
By reading the content data of the document part to be updated and authenticating the signature by the same process as the process of referring to the document, by reading the content data of the edited / updated document part, and by the read content data A step of replacing the content data of the document part stored in the storage means, an electronic signature generation step of generating an electronic signature from the read content data using a signer's private key, and a storage means The step of replacing the stored electronic signature with the generated electronic signature and the electronic signature correspondence relationship data indicating the correspondence relationship between the content data of the updated document part and the updated electronic signature in the storage means A step of replacing the electronic signature correspondence data stored in the electronic signature.
[0017]
Further, a management method with a digital signature of a document in a document management system including a processing device, a storage device, and an input / output device,
The process of registering a document in the processing device is performed for each document part constituting the document.
The step of reading the content data of the designated document part and storing it in the storage means, the step of reading the electronic signature corresponding to the designated document part and storing it in the storage means, the content data of the stored document part and the electronic signature The step of storing the electronic signature correspondence relationship data indicating the correspondence relationship in the storage means, the document component group management step for managing these document parts groups for each document and managing them in the storage means, and the parsing of the registration target document Performing the step of extracting the logical structure of the document with reference to the result of the parsing and storing the analyzed logical structure data in the storage means; and referring to the analyzed logical structure data to The correspondence between the logical structure and the physical structure is extracted, and the physical logic between each entity (document part) constituting the document and the partial range in the logical structure data is extracted. Comprising the step of storing the response related data in the storage means,
The process of referring to the document in the processing device is
A step of reading out and outputting content data of a document part to be referenced from the storage means, and a step of reading out and outputting an electronic signature corresponding to the document part to be referenced from the storage means using the electronic signature correspondence data Generating a document structure definition having an entity (document part) to be output with reference to the analyzed logical structure data, the generated document structure definition, and the analyzed logical structure data And generating and outputting a document entity that refers to the entity (document part) to be output as document contents, and the entity (document part) to be output with reference to the analyzed logical structure data. ) Read content data of entities (document parts) directly or indirectly referenced from the storage means Comprising the step of outputting,
The process of updating the document in the processing device includes:
A step of performing a process similar to the process of referring to the document with respect to an update target document part, and all logical structure partial ranges corresponding to the updated entity (document part) with reference to the physical logical correspondence data A corresponding sub-range set determining step for obtaining a set of documents, a step of reading the content data of the edited / updated document part, and replacing the content data of the document part stored in the storage means by the content data; Reading the electronic signature corresponding to the updated content data of the document part, replacing the electronic signature stored in the storage means with the electronic signature, and updating the updated content data of the document part The electronic signature correspondence data stored in the storage means is stored by electronic signature correspondence data indicating the correspondence with the electronic signature. A step of performing syntax analysis of the updated entity (document part) content data, and extracting logical structure data contained in the updated entity (document part) with reference to the result of the syntax analysis And replacing the logical structure data corresponding to all the logical structure partial ranges obtained in the corresponding partial range determination step stored in the storage means by the extracted logical structure data, and referring to the result of the parsing Then, the correspondence between the logical structure and physical structure of the update target entity (document part) is extracted, and the correspondence data between the update target entity (document part) and the partial range in the logical structure data is stored in the storage means. There is a step of storing.
[0018]
Further, a management method with a digital signature of a document in a document management system including a processing device, a storage device, and an input / output device,
The process of registering a document in the processing device is performed for each document part constituting the document.
A step of reading the content data of the designated document part and storing it in the storage means; a step of reading an electronic signature corresponding to the designated document part and storing it in the storage means; and the content data of the stored document part and the electronic signature Storing in the storage means electronic signature correspondence data indicating the correspondence between the document, a document parts group management step for managing the document parts group for each document in the storage means, and parsing the document to be registered The logical structure of the document is extracted by referring to the result of the parsing, and the document description in the document description language in the document description language is added to the content character string and the structure information included in the document. A step of storing the analyzed logical structure data including all the syntax information necessary for reproduction in the storage means, and a registration target with reference to the result of the syntax analysis The correspondence between the logical structure and the physical structure of the document is extracted, and physical logical correspondence data between each entity (document part) constituting the document and a partial range in the logical structure data is stored in the storage means. Has steps,
The process of referring to the document in the processing device is
For the document part to be referred to, reading the analyzed logical structure data from the storage unit, referring to the analyzed logical structure data, generating and outputting content data of the original entity (document part); Using the electronic signature correspondence data, and reading out and outputting an electronic signature corresponding to the document part to be referenced from the storage means,
The process of updating the document in the processing device includes:
For the document part to be updated, reading the analyzed logical structure data from the storage means, referring to the analyzed logical structure data, generating and outputting content data of the original entity (document part); Using the electronic signature correspondence data, a step of reading out and outputting an electronic signature corresponding to a document part to be referred to from a storage unit; and referring to the physical logical correspondence data and the updated entity (document part) ) Corresponding partial range set determination step for obtaining a set of all logical structure subranges corresponding to), a step of parsing the content data of the updated entity (document part), and a result of the parsing The logical structure data included in the updated entity (document part) is extracted, and the extracted entity ( The logical structure data corresponding to all the logical structure partial ranges obtained in the corresponding partial range determination step is replaced with the analyzed logical structure data including the content character string, structure information, and syntax information included in the book part). The correspondence between the update target entity (document part) logical structure and the physical structure is extracted with reference to the step and the result of the parsing, and the update target entity (document part) and the partial range in the logical structure data are extracted. Replacing the physical logical correspondence data stored in the storage means with the corresponding relation data, and reading an electronic signature corresponding to the contents data of the edited / updated document part. Replacing the electronic signature stored in the document, the updated content data of the document part, the updated electronic signature, By an electronic signature correspondence data indicating the correspondence between, and to have a step of replacing the digital signature correspondence data stored in the storage means.
[0019]
Further, the process of referring to the document in the processing device is
A step of generating a document structure definition that defines the structure of a structured document having an entity (document part) as an output target with reference to the analyzed logical structure data, the document structure definition, and the analyzed Referring to the logical structure data, generating and outputting a document entity that refers to the output target entity (document part) as the document content, and directly or indirectly referring from the reference target entity (document part) And generating the content data of the entity (document part) according to the original document with reference to the analyzed logical structure data, and outputting the entity (document part) group,
The process of updating the document in the processing device is
Generating a document structure definition that defines a structure of a structured document having an entity (document part) to be updated with reference to the analyzed logical structure data; the document structure definition; and the analyzed structure Referencing the logical structure data, generating and outputting a document entity that refers to the entity (document part) to be updated as document contents, and directly or indirectly referring to the entity (document part) to be referenced For the group of entities (document parts) to be processed, the content data of the entities (document parts) according to the original document is generated with reference to the analyzed logical structure data and output.
[0020]
The document management device includes a processing device, a storage device, and an input / output device, and stores and manages a document composed of a plurality of document parts.
The processing device for registering a document, for each document part constituting the document,
Means for reading and storing the content data of the designated document part in the storage means, means for reading and storing the electronic signature corresponding to the designated document part in the storage means, the content data of the stored document part and the electronic signature; A means for storing the electronic signature correspondence data indicating the correspondence relationship in the storage means, and a document parts group management means for managing these document parts groups for each document in the storage means,
The processing device for referring to a document;
Means for reading out and outputting content data of a document part to be referenced from the storage means; and means for reading out and outputting an electronic signature corresponding to the document part to be referenced from the storage means using the electronic signature correspondence data With
The processing device for updating a document comprises:
Means for referring to the content data of the document part to be updated and the electronic signature of the document part, and means for reading the content data of the edited / updated document part by the same process as the process of referring to the document; Means for replacing the content data of the document part stored in the storage means with the content data, means for reading an electronic signature corresponding to the content data of the edited / updated document part, and stored in the storage means The means for replacing the electronic signature with the read electronic signature, and the electronic signature correspondence data indicating the correspondence between the content data of the updated document part and the updated electronic signature are stored in the storage means. Means for replacing the electronic signature correspondence data is provided.
[0021]
A document management device for storing and managing a document composed of a plurality of document parts, comprising a processing device, a storage device, and an input / output device;
The processing device for registering a document, for each document part constituting the document,
Means for reading the content data of the designated document part and storing it in the storage means, means for generating an electronic signature from the read content data using the signer's private key, and storing the generated electronic signature in the storage means Means for storing the electronic signature correspondence data indicating the correspondence between the content data of the stored document parts and the electronic signature in the storage means, and storing the document parts group together for each document. Document part group management means to manage inside,
The processing device for referring to a document;
Means for reading out and outputting the content data of the document part to be referred to from the storage means, the public key of the signer, the content data of the document part read from the storage means using the electronic signature correspondence data, and the storage means A means for authenticating the signature with respect to the electronic signature read from
The processing device for updating a document comprises:
By means of reading the content data of the document part to be updated and authenticating the signature by the same process as the process of referring to the document, means for reading the content data of the edited / updated document part, and by the read content data A means for replacing the content data of the document part stored in the storage means, an electronic signature generation means for generating an electronic signature from the read content data using a signer's private key, and a storage means In the storage means, the means for replacing the stored electronic signature with the generated electronic signature and the electronic signature correspondence data indicating the correspondence between the content data of the updated document part and the updated electronic signature Means for replacing the electronic signature correspondence data stored in the electronic signature.
[0022]
Also, a computer-readable recording medium recording a document management program,
The document management program
For each document part constituting the document as document registration processing,
A procedure for reading and storing the content data of the designated document part in the storage means, a procedure for reading and storing the electronic signature corresponding to the designated document part in the storage means, the content data of the stored document part, and the electronic signature; A procedure for storing the electronic signature correspondence data indicating the correspondence relationship in the storage means, and a document parts group management procedure for managing these document parts groups for each document in the storage means,
As document reference processing,
A procedure for reading out and outputting content data of a document part to be referenced from the storage means, and a procedure for reading out and outputting an electronic signature corresponding to the document part to be referenced from the storage means using the electronic signature correspondence data Have
As a document update process,
The procedure for referring to the content data of the document part to be updated and the electronic signature of the document part, the procedure for reading the content data of the edited / updated document part by the same process as the process of referring to the document, and the read A procedure for replacing the content data of the document part stored in the storage means with the content data, a procedure for reading an electronic signature corresponding to the content data of the edited / updated document part, and a procedure stored in the storage means The procedure of replacing the electronic signature with the read electronic signature, and the electronic signature correspondence relationship data indicating the correspondence relationship between the content data of the updated document part and the updated electronic signature, and stored in the storage unit A procedure for replacing the electronic signature correspondence data is provided.
[0023]
Also, a computer-readable recording medium recording a document management program,
The document management program
For each document part constituting the document as document registration processing,
A procedure for reading the content data of the designated document part and storing it in the storage means, a procedure for generating an electronic signature from the read content data using the signer's private key, and storing the generated electronic signature in the storage means A procedure for storing the electronic signature correspondence data indicating the correspondence between the content data of the stored document parts and the electronic signature in the storage means, and storing the document parts group together for each document. Has document part group management procedure to manage inside,
As document reference processing,
A procedure for reading out and outputting content data of a document part to be referenced from the storage means, a signer's public key, content data of the document part read from the storage means using the electronic signature correspondence data, and storage means A procedure for authenticating the signature of the electronic signature read from
As a document update process,
According to the procedure of reading the content data of the update target document part and authenticating the signature by the same process as the process of referring to the document, the procedure of reading the content data of the edited / updated document part, and the read content data , A procedure for replacing the content data of the document part stored in the storage means, an electronic signature generation procedure for generating an electronic signature from the read content data using a signer's private key, and a storage means In the storage means, the stored electronic signature is replaced by the generated electronic signature, and the electronic signature correspondence data indicating the correspondence between the content data of the updated document part and the updated electronic signature. The electronic signature correspondence relationship data stored in is replaced with a procedure.
[0024]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, a first embodiment to which the present invention is applied will be described with reference to the drawings.
First, the system configuration of the present embodiment will be described.
FIG. 4 is a diagram showing the overall configuration of the document management system in the first embodiment.
As shown in FIG. 4, the document management system includes a
[0025]
The
The
The
The
[0026]
4 shows a configuration example in which two computers, the
Further, the client may be only the document management client or only the business processing system.
In FIG. 4, the
Alternatively, the client may be executed on the same computer as the
[0027]
Hereinafter, a document management server that is an application target of the structured document management method according to the present invention and is a main component of the present embodiment, that is, 401 in FIG. 4 will be described.
FIG. 5 is a diagram showing the configuration of the
A
[0028]
A
The
The
The
The
The
The
The
A
[0029]
In the
In the
The programs (510 to 513) held in the
[0030]
The document
The document
The document update control program 512 performs a process of updating the data contents of the entity data, electronic signature, or both of the registered document stored in the document space database storage area 516.
[0031]
The document
In addition, a process for generating a folder object for classifying and organizing a registered document group and storing it in the document space database storage area 516, a process for deleting a part of the registered document from the document space database storage area 516, etc. This processing is executed by the document
[0032]
The
All programs that access the document space database storage area 516 perform all processing via the
The
[0033]
The document space database storage area 516 is a database for storing data related to all documents registered in the server and all related data necessary for the server to manage documents.
The
The data file storage area 518 stores data files used by the
In this embodiment, the
In this embodiment, the document data and the document management data are stored in the database. However, these data may be stored in the data file storage area 518 as a file without using the database management system. .
[0034]
Next, a basic processing procedure of the document management system in the present embodiment will be described. FIG. 6 is a PAD (Problem Analysis Diagram) diagram showing a schematic processing procedure of the document
First, the document
The program receives a command from a client (
This loop continues until a command to stop the server is input from the
The loop of
[0035]
In
Here, if the command is a command to request registration of a new document, the document
If the command is a command for requesting reference to content data of a specific registered document, the document
If the command is a command to update the content data of a specific registered document, the content of the registered document stored in the document space database storage area 516 is executed by executing the document update control program 512. Data is updated (step 606).
[0036]
Next, the operation procedure of the document
This program is called from the document
When called, the program first obtains a list of entities constituting the registration target document as a call parameter (step 701).
Here, the list includes a resource name of a resource holding content data of each entity constituting the registration target document, a resource name of an electronic signature corresponding to each entity, and registration target documents from a plurality of entities. When configured, it contains information identifying which one is an SGML document entity.
The resource from which the entity content data and the electronic signature are obtained is a data file stored on the
As the resource name, if the resource is a data file, its path name, if it is a resource on the network, its location information (URL, etc.), if it is a registered entity or a registered electronic signature, the entity Specifies an entity identifier or an electronic signature identifier that uniquely distinguishes the URL from other registered entities.
[0037]
FIG. 8 shows a document parts list file 801 as an example of the list.
The document
A DOCUMENT entry is an entry corresponding to an SGML document entity, and has two parameters starting with the keyword "DOCUMENT" and enclosed in double quotations.
The first parameter indicates the resource name (location information) of the SGML document entity in the registered document, and the second parameter indicates the resource name (location information) of the electronic signature corresponding to the SGML document entity. Yes.
A
An entry corresponding to an entity other than the SGML document entity is a SYSTEM entry, which has three parameters starting with the keyword "SYSTEM" and enclosed in double quotations.
The first parameter indicates the system identifier of the entity, the second parameter indicates the resource name (position information) of the entity, and the third parameter indicates the resource name (position of the electronic signature corresponding to the entity Information).
SYSTEM entries corresponding to the
[0038]
Next, a document identifier for uniquely identifying the document to be registered is assigned (step 702).
Next, the syntax is analyzed starting from the SGML document entity of the registration target document (step 703).
In this parsing process, an entity identifier that uniquely identifies the entity is assigned to all entities other than the registered entity among the entities constituting the registration target document.
Further, in this parsing, data including information indicating the range of each entity is generated in addition to the logical structure information shown in FIG.
[0039]
Next, with reference to the entity list information obtained in
Here, in
If not registered,
Here, in
In
FIG. 9 shows an example in which each document part of the SGML document of FIG. 2 is stored.
[0040]
In
If not registered,
Here, in
In
FIG. 10 shows an example in which an electronic signature corresponding to each document part of the SGML document of FIG. 2 is stored.
[0041]
In
Here, FIG. 11 is a diagram showing a correspondence relationship between a registered document, a list of entities constituting the document, and analyzed logical structure data.
A description of the entity configuration table will be described later.
Next, in
In the present embodiment, the analyzed logical structure data is generated by referring to the result of the syntax analysis processing performed in
Next, in
[0042]
Next, the entity configuration table 1105 in FIG. 11 will be described.
The entity configuration table 1105 is data in which an
Here, the item “entity type” indicates by a symbol whether the entity is a document entity (DOC), a text entity (TEXT), a non-SGML data entity (NDATA), or a document type definition (DTD).
The item “entity name” indicates an entity name used for referring to the entity in the registration target document as a character string.
However, if the entity is an SGML document entity or an external DTD referenced from the DOCTYPE declaration, this item is blank.
The item “entity identifier” indicates an entity identifier assigned to the entity.
The item “resource name” indicates the resource name of the resource holding the content data of the entity as a character string.
However, if the entity is a registered entity, this item is blank.
The item “electronic signature identifier” indicates an electronic signature identifier assigned to the electronic signature corresponding to the entity.
[0043]
FIG. 12 is a diagram showing a specific example of 1105 in FIG. 11, that is, an entity configuration table.
FIG. 12 shows the state of the entity configuration table generated as a result of parsing the SGML document shown in FIG.
The
[0044]
FIG. 13 is a diagram showing the data structure of the analyzed logical structure data generated by referring to the result of the syntax analysis process in
In this figure, the analyzed logical structure data generated when the SGML document shown in FIG. 2 is processed as a registration target document is shown as an example.
As shown in FIG. 13, the analyzed
In FIG. 13, an elliptical node represents an element, and a character string in the node indicates an element type of the element.
A rectangular node represents content data, and a character string in the node indicates a type of content data (analyzed character string data PCDATA or non-SGML data NDATA).
A diamond-shaped node represents an entity transition, and a character string in the node represents an entity identifier.
Here, a part obtained by removing all subtrees rooted at a lower entity transition node from a subtree rooted at a certain entity transition node becomes a part included in the entity corresponding to the entity transition node. .
That is, the analyzed logical structure data generated by the document
In the example of FIG. 13, a part obtained by removing all subtrees rooted at the lower entity E0003 entity transition node from the subtree rooted at the entity transition node E0002 has contents in the entity corresponding to the entity transition node. Will be included as part. That is, the
[0045]
Next, the operation procedure of the document
FIG. 14 is a PAD diagram showing a schematic processing procedure of the document
This program is called from the document
[0046]
The program first obtains information on the entity to be referred to (step 1401).
Here, the information includes the document identifier and entity identifier for identifying the reference target entity, the resource name of the resource that is the output destination of the reference target entity, and the resource name of the resource that is the output destination of the corresponding electronic signature. Contains.
Further, as the resource to which the entity content data and the electronic signature are output, a data file stored on the
As the resource name, if the resource is a data file, its path name is specified, and if it is a resource on the network, its location information (URL or the like) is specified.
In
The content data of the entity specified as the reference target is, for example, the
In
[0047]
In
Here, if an SGML document entity is designated,
If a text entity is specified,
If a non-SGML data entity is specified, do nothing.
[0048]
In
In
However, the file name is the value of the
[0049]
For example, when the
[0050]
In
The procedure for generating the temporary SGML document entity generated here will be described later with reference to FIG.
In addition, a file name that does not match a file name existing in the
In
Here, the document part referred to from the target entity is found by searching for the node of the entity reference while tracing the node of the tree structure corresponding to the reference target entity of the analyzed logical structure data.
In
However, the file name is the value of the
The content data of the entity output in the
The process ends when
It should be noted that the digital signature may be authenticated by the external program of the output destination for the entity content data and the electronic signature output to the external area in
As a result, it is possible to verify the authenticity of the entity output in this process.
[0051]
Next, details of
FIG. 15 is a PAD diagram showing the procedure of this processing.
Here, the case where the
In
Here, the element type name of the top-level element is an element type name that does not exist as an element type name included in the original document (an element type name that does not match the element type name included in the original document). Generate and use temporarily.
In
This uses the analyzed
The top node included in the
Therefore, a content model is generated in which “(sec, sec)” in which the element types sec are separated by “,” and arranged, and the generated element type declaration is an element type shown in an
[0052]
In
In
In
In
In
In
The output destination and output file name are as shown in
The process ends when
[0053]
Next, the operation procedure of the document update control program 512 in this embodiment will be described.
FIG. 17 is a PAD showing a schematic processing procedure of the document update control program 512.
This program is called from the document
In the process of updating the analyzed logical structure data corresponding to the selected entity shown in FIG. 17, in order to prevent the same analyzed logical structure data from being updated simultaneously by a plurality of users, the update target entity is first locked. Setting is made (step 1701).
Next, it is checked whether or not the setting of the lock is successful (step 1702). If the lock setting is successful, the update processing from
If unsuccessful, an error code indicating that the lock has already been set and cannot be updated is returned, and the process is terminated (step 1716).
[0054]
In
This step can be realized by the same procedure as the document reference processing shown in the PAD diagram shown in FIG.
However, “reference target entity” in FIG. 14 means “update target entity”.
In
When the notification that the editing by the external program and the generation of the electronic signature have been completed is received, the process proceeds to step 1705.
In
In
In
[0055]
In
If the update target entity is a document entity or a text entity, the processing from
Here, in
At this time, content data is read from the document space database storage area 516 for entities other than the update target entity.
In
In this embodiment, the result of the syntax analysis is temporarily generated. However, the analyzed logical structure data may be generated in parallel with the syntax analysis processing in the syntax analysis processing.
In step 1711, the set of the entity identifier assigned to the update target entity and the partially analyzed logical structure data is stored in the document space database storage area 516 to register the document.
In
[0056]
Next, in
Then,
Here, in
Finally, in
[0057]
In this embodiment, a structured document described using SGML is processed as a registration target document. However, structured documents described using other document description languages such as XML and HTML are managed. You may comprise so that it may become object.
In addition, although this embodiment is described on the assumption that the document type definition (DTD) is used as the structure definition, not only the document type definition but also other types of document structure definitions such as XSchema and DCD (Document Content Description). It is good also as a structure using.
[0058]
According to the present exemplary embodiment, when a reference / update target entity is extracted from the document management server for a structured document including a plurality of entities, a corresponding electronic signature can be extracted at the same time.
By authenticating the digital signature at the extraction destination, the authenticity of the extracted entity can be proved.
Furthermore, when referring to / updating a text entity, a temporary SGML document entity that refers to the extracted entity is generated, and related document parts are also extracted at the same time.
As a result, the content of the reference / update target entity can be handled as an independent SGML document and referenced / edited by the SGML processing system of the extraction destination.
[0059]
Hereinafter, a second embodiment to which the present invention is applied will be described with reference to the drawings.
In this embodiment, the system configuration and data structure are the same as those in the first embodiment, but the processing procedure of the program is different from that in the first embodiment.
This embodiment is different from the first embodiment.
In the first embodiment, it is assumed that the electronic signature of each entity has already been generated outside the system at the time of creation, and that authentication and electronic signature generation at the time of reference / update are performed outside the system. It is said.
In contrast, in this embodiment, an electronic signature is generated and authenticated for a registered document in the system based on parameters such as user information and a secret key given from outside.
As a result, only the user who has the authentication key can refer to the registered document.
[0060]
FIG. 18 is a PAD showing the processing procedure of the document registration
The processing procedure of FIG. 18 corresponds to the processing of FIG. 7 in the first embodiment.
Only the differences from the document registration control program (FIG. 7) in the first embodiment will be described here.
However, in
Other processes such as reading of entity content data are the same as in
The processing from
In step 1808, an electronic signature is generated using the content data of the processing target entity and the signer's private key acquired in
The processing in
The processing of
[0061]
Next, PAD diagrams showing the processing procedure of the document
FIG. 34 is a PAD diagram showing a schematic processing procedure of the document
In
In
In
[0062]
The processing procedure of FIG. 19 corresponds to the processing of FIG. 14 in the first embodiment. Here, only the difference from the document reference control program (FIG. 14) in the first embodiment will be described.
-The document identifier and entity identifier of the reference target entity, the signer's public key, and the resource name of the output destination resource
・ List of correspondence between entity identifier and signer's public key of entity group that is document part of reference target entity
Here, the information obtained in step 3403 (or step 3404) is used for the entity group that is the document part of the reference target entity and the entity identifier of each entity.
In
In
In
In
The processing in
The processing in
Step 1911 executes
[0063]
Next, the details of
In
In
In
In
[0064]
Next, FIG. 20 shows a PAD diagram showing an outline processing procedure of the document update control program 512 in this embodiment.
The processing procedure in FIG. 20 corresponds to the processing in FIG. 17 in the first embodiment.
Here, only the difference from the document update control program (FIG. 17) in the first embodiment will be described.
In
This step can be realized by the same procedure as the document reference processing shown in the PAD diagram shown in FIG.
However, “reference target entity” in FIG. 19 means “update target entity”.
In
Then, the electronic signature to be updated is replaced with the generated electronic signature and stored in the document space database storage area 516.
The signer's private key used when generating the electronic signature is obtained as a call parameter.
The processing from
[0065]
According to this embodiment, when a public key of a signer is given to a structured document composed of a plurality of entities when a reference / update target entity is extracted from the document management server, the digital signature is authenticated inside the document management server. be able to.
As a result, the reference / update target entity can be extracted in a state where the authenticity of the entity is proved (guaranteed).
Regarding the generation of the SGML document entity, there is no functional difference from the case of taking the configuration of the first embodiment.
[0066]
Hereinafter, a third embodiment to which the present invention is applied will be described with reference to the drawings.
In this embodiment, the system configuration is the same as that of the first embodiment, but the data structure and the processing procedure of the program are different from those of the first embodiment.
The difference between this embodiment and the first embodiment will be described below.
In the first embodiment, as registered document data, both the content data of each entity and the analyzed logical structure data are held.
On the other hand, in this embodiment, only analyzed logical structure data is held, and entity content data is not held.
Instead, the parsed logical structure data is specified so that, at the time of retrieval, an arbitrary entity constituting the original document can be specified, and the content data that the entity has retained at the time of registration can be retrieved. In addition to the content string and structure information included in the document, the syntax information required for restoration (element type name as per the original document, entity reference (entity start information and entity end information), white space as syntax information ( White space), character reference, attribute default, character reference, marked section, processing instruction, comment declaration, literal delimiter type, attribute name / notation name / short reference table name / unique identifier (ID) -Entity name as original document, omitted tag information, abbreviated tag information, between element type name and attribute specification in start tag And the blank character string that separates attribute specifications from each other, the omitted data information corresponding to the REFC (;) at the end of the omitted entity reference, and the short reference) are identified and retained in the analyzed logical structure data To do.
[0067]
FIG. 21 is a PAD showing a processing procedure of the document registration
The processing procedure of FIG. 21 corresponds to the processing of FIG. 7 in the first embodiment.
Only the differences from the document registration control program (FIG. 7) in the first embodiment will be described here.
The processing from
The processing from
However, in
The process of
[0068]
Next, a PAD diagram showing a processing procedure of the document
The processing procedure of FIG. 22 corresponds to the processing of FIG. 14 in the first embodiment.
Here, only the difference from the document reference control program (FIG. 14) in the first embodiment will be described.
The process of
In
The procedure for generating and outputting the reference target entity generated here will be described later with reference to FIG.
The processing from
In
However, the file name is the value of the
The procedure for generating and outputting the reference target entity generated here will be described later with reference to FIG.
The processing of
[0069]
Next, FIG. 23 shows a PAD diagram showing an outline processing procedure of the document update control program 512 in this embodiment.
The processing procedure of FIG. 23 corresponds to the processing of FIG. 17 in the first embodiment.
Here, only the difference from the document update control program (FIG. 17) in the first embodiment will be described.
In
This step can be realized by the same procedure as the document reference processing shown in the PAD diagram of FIG.
However, “reference target entity” in FIG. 22 means “update target entity”.
The processing from
However, the analyzed logical structure data generated in
[0070]
FIG. 24 is a diagram showing the data structure of the analyzed logical structure data generated by the document
In this figure, the analyzed logical structure data generated when the SGML document shown in FIG. 2 is processed as a registration target document is shown as an example.
The data structure of each node in the analyzed logical structure data in this embodiment is shown in FIGS.
There are six types of nodes, which are
[0071]
A process for generating and outputting content data of a specified entity with reference to the analyzed logical structure data in this embodiment will be described below.
This process is a process for generating and outputting the content data of
FIG. 27 is a PAD diagram showing a processing procedure for outputting content data of a specified entity to the outside.
The procedure of this process will be described later with reference to FIG.
In
[0072]
Next, the details of
FIG. 28 is a PAD diagram showing the procedure of this processing.
In
If the node type is an element, the contents of the element are generated (step 2802).
The procedure of this process will be described later with reference to FIG.
If the node type is a character string, the content of the character string is generated using the content character string 2603 (step 2803).
If the node type is a line feed character, a line feed character is output using the line feed character code 2606 (step 2804).
If the node type is non-SGML data, a line feed character is output using the content data 2609 (step 2805).
If the node type is an entity reference, an entity reference is generated (step 2806).
Here, the entity reference is generated by generating the
If the node type is a character reference, a character reference is generated and output (step 2807).
Here, the character reference is generated by generating the function name 2619 or the
The
After that, the reference terminator ";" is generated (unless omitted).
[0073]
Next, the details of
FIG. 29 is a PAD diagram showing the procedure of this processing.
The procedure of this process will be described later with reference to FIG.
In
Here,
That is, the PAD diagram of FIG. 28 is recursively executed.
The procedure of this process will be described later with reference to FIG.
[0074]
Next, the details of
FIG. 30 is a PAD diagram showing the procedure of this processing.
In
In
In
In
The procedure of this process will be described later with reference to FIG.
In
In
[0075]
Next, details of
FIG. 31 is a PAD diagram showing the procedure of this processing.
In
If not omitted, the processing from
In
In
In
In
In
In
In
In
[0076]
Next, the details of
FIG. 32 is a PAD diagram showing the procedure of this processing.
In
In
In
In
In
[0077]
In the case of the present embodiment, in addition to the content character string and the structure information included in the registered document, the analyzed logical structure data also holds the syntax information necessary for restoration. Compared with the second embodiment, the amount of analyzed logical structure data is large.
Instead, the entity content data is centrally managed as analyzed logical structure data, and the double management of the content data and analyzed logical structure data as in the first embodiment is not performed. There is an advantage that the problem of inconsistency does not occur.
There is no functional difference between the case of the configuration of the present embodiment and the case of the configurations of the first embodiment and the second embodiment.
[0078]
【The invention's effect】
As described above, according to the method for managing a structured document with a digital signature according to the present invention, for each entity constituting the document, the electronic signature and the entity are associated with each other to manage each entity. By providing a signature, it is possible to realize a function of preventing falsification of documents in units of entities and a function of proving authenticity.
In addition, by providing a function for generating a temporary SGML document entity, the contents of the entity can be extracted as an SGML document that can be independently referenced and edited.
[Brief description of the drawings]
FIG. 1 is a diagram showing a mechanism of a digital signature authentication method.
FIG. 2 is a diagram illustrating an example of a structured document described in a document description language SGML.
FIG. 3 is a diagram illustrating an example of a logical structure obtained by analyzing an SGML document.
FIG. 4 is a diagram showing an overall configuration of the first embodiment.
FIG. 5 is a diagram showing a configuration of a document management server in the first embodiment.
FIG. 6 is a PAD diagram showing a schematic processing procedure of the document space management program in the first embodiment.
FIG. 7 is a PAD showing an outline processing procedure of a document registration control program in the first embodiment.
FIG. 8 is a diagram illustrating an example of a list format used for transferring a list of entities constituting a registration target document at the time of document registration in the document registration control program according to the first embodiment.
FIG. 9 is a diagram showing a correspondence relationship between the entity identifier correspondence table generated by the document registration control program and the registered entity content data in the first embodiment.
FIG. 10 is a diagram showing a correspondence relationship between an electronic signature identifier correspondence table generated by a document registration control program and a registered electronic signature in the first embodiment.
FIG. 11 is a diagram illustrating a data structure of a registered document list generated by a document registration control program according to the first embodiment.
FIG. 12 is a diagram showing a specific example of an entity configuration table that is a part of syntax analysis result data generated by the document registration control program in the first embodiment.
FIG. 13 is a diagram showing a data structure of analyzed logical structure data generated by the document registration control program in the first embodiment.
FIG. 14 is a PAD diagram showing a schematic processing procedure of the document reference control program in the first embodiment.
FIG. 15 is a PAD diagram showing a procedure of processing for generating and outputting an SGML document entity that is temporarily generated at the time of reference in the document reference control program in the first embodiment.
FIG. 16 is a diagram illustrating an example of an SGML document entity that is temporarily generated at the time of reference in the document reference control program according to the first embodiment.
FIG. 17 is a PAD diagram showing a schematic processing procedure of the document update control program in the first embodiment;
FIG. 18 is a PAD showing an outline processing procedure of a document registration control program in the second embodiment.
FIG. 19 is a PAD showing a schematic processing procedure of the document reference control program in the second embodiment.
FIG. 20 is a PAD diagram showing a schematic processing procedure of a document update control program in the second embodiment.
FIG. 21 is a PAD showing an outline processing procedure of a document registration control program in the third embodiment.
FIG. 22 is a PAD showing a schematic processing procedure of the document reference control program in the third embodiment.
FIG. 23 is a PAD showing a schematic processing procedure of a document update control program in the third embodiment.
FIG. 24 is a diagram showing a data structure of analyzed logical structure data generated by a document registration control program according to the third embodiment.
FIG. 25 is a diagram showing a data structure of element nodes of analyzed logical structure data generated by the document registration control program in the third embodiment.
FIG. 26 is a diagram showing a data structure of character string nodes, line feed character nodes, non-SGML data nodes, entity reference nodes, and character reference nodes of analyzed logical structure data generated by the document registration control program in the third embodiment. It is.
FIG. 27 is a PAD showing a processing procedure for generating and outputting content data from the analyzed logical structure data of the document reference control program in the third embodiment.
FIG. 28 is a PAD showing a processing procedure for generating content data according to the node type of each node in the analyzed logical structure data of the document reference control program in the third embodiment.
FIG. 29 is a PAD showing a processing procedure for generating contents from element nodes in the analyzed logical structure data of the document reference control program in the third embodiment.
FIG. 30 is a PAD showing a processing procedure for generating a start tag from an element node in the analyzed logical structure data of the document reference control program in the third embodiment.
FIG. 31 is a PAD showing a processing procedure for generating attribute information from element nodes in the analyzed logical structure data of the document reference control program in the third embodiment.
FIG. 32 is a PAD showing a processing procedure for generating an end tag from an element node in the analyzed logical structure data of the document reference control program in the third embodiment.
FIG. 33 is a PAD showing the authentication and retrieval processing procedure of the target entity of the document reference control program in the second embodiment.
FIG. 34 is a PAD showing an acquisition processing procedure for a document part group of a target entity of the document reference control program in the second embodiment.
[Explanation of symbols]
401 Document management server
402 Document management client
403 Business processing system
510 Document Registration Control Program
511 Document registration control program
512 Document update control program
513 Document Space Management Program
516 Document space database storage area
1101 List of registered documents
1105 Entity configuration table
1301 Analyzed logical structure data
Claims (2)
文書の登録を行なう前記処理装置が、該文書を構成する文書部品それぞれについて、
指定文書部品の内容データを読み込み記憶手段中に格納する手段と、
指定文書部品に対応する電子署名を読み込み記憶手段中に格納する手段と、
前記格納した前記文書部品の内容データと前記電子署名との対応関係を示す電子署名対応関係データを記憶手段中に格納する手段と、
これらの文書部品群を文書ごとにまとめて記憶手段中に管理する文書部品群管理手段を備え、
文書の参照を行なう前記処理装置が、
参照対象となる文書部品の内容データを記憶手段から読み出して出力する手段と、
前記電子署名対応関係データを用いて、参照対象となる文書部品に対応する電子署名を記憶手段から読み出して出力する手段を備え、
文書の更新を行なう前記処理装置が、
更新対象となる文書部品の内容データを記憶手段から読み出して出力する手段と、
前記電子署名対応関係データを用いて、更新対象となる文書部品に対応する電子署名を記憶手段から読み出して出力する手段と、
編集・更新された文書部品の内容データを読み込む手段と、
読み込んだ内容データによって記憶手段中に格納された前記文書部品の内容データを置換する手段と、
該編集・更新された文書部品の内容データに対応する電子署名を読み込む手段と、
記憶手段中に格納された前記電子署名を読み込んだ電子署名で置換する手段と、
前記更新された文書部品の内容データと前記更新された電子署名との対応関係を示す電子署名対応関係データによって記憶手段中に格納された前記電子署名対応関係データを置換する手段、
を備えた文書管理装置。A document management device that includes a processing device, a storage device, and an input / output device, and stores and manages a document composed of a plurality of document parts,
The processing device for registering a document, for each document part constituting the document,
Means for reading the content data of the designated document part and storing it in the storage means;
Means for reading an electronic signature corresponding to the designated document part and storing it in the storage means;
Means for storing in the storage means electronic signature correspondence data indicating the correspondence between the stored content data of the document part and the electronic signature;
A document part group management means for managing these document parts group for each document in a storage means,
The processing device for referring to a document;
Means for reading out and outputting content data of a document part to be referenced from the storage means;
Using the electronic signature correspondence data, comprising means for reading out and outputting an electronic signature corresponding to the document part to be referenced from the storage means,
The processing device for updating a document comprises:
Means for reading out and outputting the content data of the document part to be updated from the storage means;
Means for reading out and outputting an electronic signature corresponding to a document part to be updated from the storage means using the electronic signature correspondence data;
Means for reading the contents data of the edited / updated document part;
Means for replacing the content data of the document part stored in the storage means with the read content data;
Means for reading an electronic signature corresponding to the content data of the edited / updated document part;
Means for replacing the electronic signature stored in the storage means with the read electronic signature;
Means for replacing the electronic signature correspondence data stored in the storage means with electronic signature correspondence data indicating the correspondence between the content data of the updated document part and the updated electronic signature;
Document management device with
文書の登録を行なう前記処理装置が、該文書を構成する文書部品それぞれについて、
指定文書部品の内容データを読み込み記憶手段中に格納する手段と、
署名者の秘密鍵を用いて、前記読み込んだ内容データから電子署名を生成する手段と、
生成した電子署名を記憶手段中に格納する手段と、
前記格納した文書部品の内容データと前記電子署名との対応関係を示す電子署名対応関係データを記憶手段中に格納する手段と、
これらの文書部品群を文書ごとにまとめて記憶手段中に管理する文書部品群管理手段を備え、
文書の参照を行なう前記処理装置が、
参照対象となる文書部品の内容データを記憶手段から読み出して出力する手段と、
署名者の公開鍵と、前記電子署名対応関係データを用いて記憶手段から読み出した文書部品の内容データと、記憶手段から読み出した電子署名に対して、署名の認証を行なう手段を備え、
文書の更新を行なう前記処理装置が、
更新対象となる文書部品の内容データを記憶手段から読み出して出力する手段と、
署名者の公開鍵と、前記電子署名対応関係データを用いて記憶手段から読み出した文書部品の内容データと、記憶手段から読み出した電子署名に対して、署名の認証を行なう手段と、
編集・更新された文書部品の内容データを読み込む手段と、
読み込んだ内容データによって、記憶手段中に格納された前記文書部品の内容データを置換する手段と、
署名者の秘密鍵を用いて、前記読み込んだ内容データから電子署名を生成する電子署名生成手段と、
記憶手段中に格納された前記電子署名を、前記生成した電子署名で置換する手段と、
前記更新された文書部品の内容データと更新された電子署名との対応関係を示す電子署名対応関係データによって、記憶手段中に格納された前記電子署名対応関係データを置換する手段、
を備えた文書管理装置。A document management device for storing and managing a document composed of a plurality of document parts, comprising a processing device, a storage device, and an input / output device,
The processing device for registering a document, for each document part constituting the document,
Means for reading the content data of the designated document part and storing it in the storage means;
Means for generating an electronic signature from the read content data using a signer's private key;
Means for storing the generated electronic signature in the storage means;
Means for storing in the storage means electronic signature correspondence data indicating the correspondence between the content data of the stored document parts and the electronic signature;
A document part group management means for managing these document parts group for each document in a storage means,
The processing device for referring to a document;
Means for reading out and outputting content data of a document part to be referenced from the storage means;
A signer's public key, content data of the document part read from the storage means using the electronic signature correspondence data, and means for authenticating the signature for the electronic signature read from the storage means,
The processing device for updating a document comprises:
Means for reading out and outputting the content data of the document part to be updated from the storage means;
A signer's public key; content data of a document part read from the storage means using the electronic signature correspondence data; means for authenticating a signature for the electronic signature read from the storage means;
Means for reading the contents data of the edited / updated document part;
Means for replacing the content data of the document part stored in the storage means with the read content data;
An electronic signature generation means for generating an electronic signature from the read content data using a signer's private key;
Means for replacing the electronic signature stored in the storage means with the generated electronic signature;
Means for replacing the electronic signature correspondence data stored in the storage means with electronic signature correspondence data indicating the correspondence between the updated content data of the document part and the updated electronic signature;
Document management device with
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP34707299A JP3868171B2 (en) | 1999-12-07 | 1999-12-07 | Document digital signature management method and document management apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP34707299A JP3868171B2 (en) | 1999-12-07 | 1999-12-07 | Document digital signature management method and document management apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001167086A JP2001167086A (en) | 2001-06-22 |
JP3868171B2 true JP3868171B2 (en) | 2007-01-17 |
Family
ID=18387735
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP34707299A Expired - Fee Related JP3868171B2 (en) | 1999-12-07 | 1999-12-07 | Document digital signature management method and document management apparatus |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3868171B2 (en) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3932476B2 (en) * | 2001-06-28 | 2007-06-20 | ソニー株式会社 | Information providing system, information processing apparatus and method, recording medium, and program |
JP2003022008A (en) * | 2001-07-05 | 2003-01-24 | Sony Corp | Information processor and method for information processing, recording medium, and program |
JP2003248737A (en) * | 2002-02-22 | 2003-09-05 | Ntt Comware Corp | System and method for giving reliability to meta information |
JP2003338815A (en) * | 2002-05-21 | 2003-11-28 | Nec Corp | Electronic signature system and electronic signature method |
KR20050061545A (en) * | 2002-10-18 | 2005-06-22 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | Method and system for metadata protection in tv-anytime |
US7586641B2 (en) | 2003-02-14 | 2009-09-08 | Canon Kabushiki Kaisha | System for certifying whether printed material corresponds to original |
JP2005051734A (en) | 2003-07-15 | 2005-02-24 | Hitachi Ltd | Electronic document authenticity guarantee method and electronic document publication system |
JP4110154B2 (en) | 2005-06-10 | 2008-07-02 | キヤノン株式会社 | Information processing apparatus, information processing apparatus control method, computer program, and storage medium |
JP4921065B2 (en) * | 2005-09-08 | 2012-04-18 | キヤノン株式会社 | Information processing apparatus and method, computer program, and computer-readable storage medium |
US8560853B2 (en) * | 2005-09-09 | 2013-10-15 | Microsoft Corporation | Digital signing policy |
JP4622811B2 (en) | 2005-11-04 | 2011-02-02 | 株式会社日立製作所 | Electronic document authenticity guarantee system |
JP2007213160A (en) * | 2006-02-07 | 2007-08-23 | Murata Mach Ltd | Data processor |
JP5400319B2 (en) | 2008-04-24 | 2014-01-29 | キヤノン株式会社 | Electronic document control apparatus, method and program |
JP5033893B2 (en) * | 2010-03-17 | 2012-09-26 | 三菱電機インフォメーションシステムズ株式会社 | Medical certificate generation support system |
-
1999
- 1999-12-07 JP JP34707299A patent/JP3868171B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2001167086A (en) | 2001-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4141556B2 (en) | Structured document management method, apparatus for implementing the method, and medium storing the processing program | |
CN101322121B (en) | Method, system, device and document library system for processing unstructured data | |
JP4602769B2 (en) | Navigate the content space of a document set | |
JP4816281B2 (en) | Document use management system, document management server and program thereof | |
JP4782017B2 (en) | System and method for creating extensible file system metadata and processing file system content | |
JP5023715B2 (en) | Information processing system, information processing apparatus, and program | |
US7281206B2 (en) | Maintenance of a markup language document in a database | |
JP5509596B2 (en) | Data management device | |
JP5407209B2 (en) | Document management apparatus, document management program, and document management system | |
JP3868171B2 (en) | Document digital signature management method and document management apparatus | |
US20080148137A1 (en) | Document management system, document processing client device, and document management server device | |
US8645344B2 (en) | Document processing system and method therefor | |
KR20080043813A (en) | Programmability of the MMML data repository for documents | |
JP2008090404A (en) | Document search apparatus, document search method, and document search program | |
CN1979478B (en) | File processing system and file processing method | |
US20080263333A1 (en) | Document processing method | |
Leone et al. | Concept and architecture of an pervasive document editing and managing system | |
JPH117445A (en) | Integrated document management device | |
CN100507913C (en) | A document processing method and system | |
JP2003288365A (en) | Additive information management method and additive information management system | |
JP2002182956A (en) | Document management method and apparatus | |
JP5169505B2 (en) | Document composition system and program | |
CN1979479B (en) | Document processing system and document processing method | |
CN102043821B (en) | Document displaying method | |
JP4014417B2 (en) | Full-text search device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040127 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20040317 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050606 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060307 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060508 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20060613 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060810 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20060831 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20061003 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20061010 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091020 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101020 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111020 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121020 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121020 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131020 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |