[go: up one dir, main page]

JP3868171B2 - Document digital signature management method and document management apparatus - Google Patents

Document digital signature management method and document management apparatus Download PDF

Info

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
Application number
JP34707299A
Other languages
Japanese (ja)
Other versions
JP2001167086A (en
Inventor
正義 松本
佳史 里
卓哉 岡本
亨 高橋
泰樹 伊藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP34707299A priority Critical patent/JP3868171B2/en
Publication of JP2001167086A publication Critical patent/JP2001167086A/en
Application granted granted Critical
Publication of JP3868171B2 publication Critical patent/JP3868171B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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 file 101 to which a signature is to be added, compresses the file size, and generates a compressed file 102.
Further, the compressed file 102 is encrypted using a public key encryption private key, and an electronic signature (signature) 103 is generated.
The signer distributes the original file 101 and the electronic signature 103 as a set as a signature sentence with a signature.
[0004]
The authenticator receives a distributed file 104 that is a copy of the file 101 and a distributed electronic signature 105 that is a copy of the electronic signature 103.
Next, the authenticator applies the same one-way hash function that the signer used to compress the file 101 to the file 104 to compress the file size, and generates a compressed file 106.
In addition, the electronic signature 105 is decrypted using the public key of the certifier, and the decrypted file 107 is generated.
Next, the authenticator compares the contents of the file 106 and the file 107.
If both contents match, the file 104 is certainly created by the signer, and it is proved that the contents have not been changed since the time of signing.
[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 document entity 201 refers to other entities 202, 203, 204, and 205.
The text entity 203 is also referenced from the entity 202.
That is, the text entity 203 is referenced from both the entities 201 and 202 and is shared between the two.
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 document entity 201, the node set 302 corresponds to the text entity 202, the node sets 303 and 304 correspond to the text entity 203, and the node set 305 corresponds to the data entity 204.
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 node sets 303 and 304, even if information corresponding to the node set 303 is simply extracted from the database as the text entity 203, the file of the text entity is a document. Since it does not contain a type declaration, it cannot be viewed with an SGML browser.
[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 document management server 401, a document management client 402, a business processing system 403, and a network 404.
[0025]
The document management server 401 registers and stores managed documents and corresponding electronic signatures, references and updates the structure and content data of registered documents, searches for documents having specific attributes or content strings, and deletes registered documents The main processing related to document management is executed.
The document management client 402 provides a GUI (Graphical User Interface) for operating a document group managed by the document management server 401, and processes such as document registration, reference, update, and signature authentication according to instructions from the user. The command and data for performing the above are transferred to the document management server 401 via the network 404, and the command is executed.
The business processing system 403 transfers commands and data to the document management server according to instructions from the user in the same manner as the document management client 402, and executes the commands. Providing users with a dedicated GUI to execute
The network 404 is a local network (LAN) or a wide area network (WAN) and provides a means for connecting a plurality of computer devices and transferring commands and data to each other.
[0026]
4 shows a configuration example in which two computers, the document management client 402 and the business processing system 403, are used as clients for the document management server 401. However, the configuration may be such that only one client is used. You may take the structure more than a stand.
Further, the client may be only the document management client or only the business processing system.
In FIG. 4, the network 404 is used as means for transferring commands and data from the document management client 402 and the business processing system 403 to the document management server 401. Instead, a floppy disk, a magneto-optical disk, and a write-once optical disk are used. A configuration using a portable medium such as the above may be used, or a configuration using a portable medium and a network together may be used.
Alternatively, the client may be executed on the same computer as the document management server 401 and no data transfer may be performed.
[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 document management server 401 in this embodiment.
A document management server 401 shown in FIG. 5 includes a display 501, a keyboard 502, a central processing unit (CPU) 503, a floppy disk drive 504, a floppy disk 505, a communication control device 506, a main memory 507, a magnetic disk device 508, and a system bus 509. Consists of
[0028]
A display 501 displays an execution status of processing in the server.
The keyboard 502 receives an input of a command for instructing activation / termination of the document management server.
The central processing unit 503 reads out and executes various programs constituting the server stored in the main memory 507.
The floppy disk drive 504 is used to read / write data from / to the floppy disk 505.
The floppy disk 505 is used for exchanging data with other systems such as a document to be registered.
The communication control device 506 communicates with the document management client 402 and the business processing system 403 via the network 404 and is used for exchanging commands and data.
The main memory 507 holds various programs and temporary data for executing processing in the server.
The magnetic disk device 508 is used as means for storing registered document data and various data used by the server for document management.
A system bus 509 connects these various devices to each other.
[0029]
In the main memory 507, a document registration control program 510, a document reference control program 511, a document update control program 512, a document space management program 513, a database management system 514, and an operating system 515 are held.
In the magnetic disk device 508, a document space database storage area 516, a program storage area 517, and a data file storage area 518 are secured.
The programs (510 to 513) held in the main memory 507 are transferred from the program storage area 517 by the operating system 515.
[0030]
The document registration control program 510 reads a registration target document and an electronic signature described using the document description language SGML from the floppy disk 505, the data file storage area 518, or the network 404, parses the document, and registers the registration target document. Are stored in the document space database storage area 516. The entity data, logical structure data, and the corresponding relationship between them, the electronic signature corresponding to the entity data of the registration target document, and the corresponding relationship between them are stored.
The document reference control program 511 reads the registered document entity data and / or electronic signature stored in the document space database storage area 516, extracts part or all of the information constituting the data, The data is output to the disk 505 or the data file storage area 518, or transferred to the requesting client (document management client 402 or business processing program 403) via the network 404.
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 space management program 513 receives a command from the client (the document management client 402 or the business processing program 403) via the network 404, and corresponds to the type of the command, a document registration program 510, a document reference control program 511, Alternatively, the document update control program 512 is activated to execute processing according to the contents of the command.
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 space management program 513 itself.
[0032]
The database management system 514 controls all processing related to data storage, update, deletion, and search for the document space database storage area 516.
All programs that access the document space database storage area 516 perform all processing via the database management system 514.
The operating system 515 provides basic functions for executing each program constituting the server on the computer, such as system startup / initialization and data transfer with various peripheral devices.
[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 program storage area 517 stores all programs constituting the server.
The data file storage area 518 stores data files used by the operating system 515 or various utility programs executed on the server.
In this embodiment, the floppy disk 505 is used as a portable medium for exchanging data. However, another type of portable medium such as a magneto-optical disk or a write-once optical disk may be used.
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 space management program 513 that controls the operation of the entire document management system.
First, the document space management program 513 is activated by a server activation command or the like from the keyboard 502.
The program receives a command from a client (document management client 402 or business processing system 403) as a server and enters a loop for performing the processing (step 601).
This loop continues until a command to stop the server is input from the keyboard 502.
The loop of step 601 repeats the process of receiving a command from the client (step 602) and the process of determining the type of the received command and branching to a process corresponding to the type (step 603).
[0035]
In step 603, the type of the received command is determined, and one of the processes from step 604 to step 606 is selected and executed according to the type of the command.
Here, if the command is a command to request registration of a new document, the document registration control program 510 is executed to store the designated document in the document space database storage area 516 (step 604).
If the command is a command for requesting reference to content data of a specific registered document, the document reference control program 511 is executed to read the requested data from the document space database storage area 516, and The data is output to the floppy disk 505 or the data file storage area 518 or returned to the requesting client via the network 404 (step 605).
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 registration control program 510 in this embodiment will be described. FIG. 7 is a PAD showing a schematic processing procedure of the document registration control program 510.
This program is called from the document space management program 513 in response to a command from a client requesting registration of a 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 floppy disk 505 or the data file storage area 518, a network resource accessible via the network 404, or a document space database storage area 516. Registered entities and registered digital signatures stored in can be used.
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 part list file 801 includes two types of entries, a DOCUMENT entry and a SYSTEM entry.
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 DOCUMENT entry 802 corresponds to the SGML document entity 201 of FIG.
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 entities 202, 203, 204, and 205 in FIG. 2 are SYSTEM entries 803, 804, 805, and 806, respectively.
[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 step 701 and the data generated by the syntax analysis processing in step 703, for all entities constituting the registration target document, steps 705 to 711 are performed. This process is repeatedly executed (step 704).
Here, in step 705, it is determined whether or not the content data of the entity to be processed has already been registered.
If not registered, Steps 706 and 707 are executed.
Here, in step 706, the content data of the entity to be processed is read from the corresponding resource.
In step 707, the entity identifier correspondence table 901 that is a pair of the entity identifier of the entity to be processed and its content data, and the content data itself are stored in the document space database storage area 516 to register the entity. .
FIG. 9 shows an example in which each document part of the SGML document of FIG. 2 is stored.
[0040]
In step 708, it is determined whether the electronic signature corresponding to the entity to be processed has already been registered.
If not registered, Steps 709 and 710 are executed.
Here, in step 709, the electronic signature corresponding to the entity to be processed is read from the corresponding resource.
In step 710, an electronic signature identifier that uniquely identifies an electronic signature corresponding to an entity to be processed is assigned, and as shown in FIG. 10, an electronic signature identifier corresponding to a pair of the electronic signature identifier and the electronic signature is supported. The table 1001 and the electronic signature itself are stored in the document space database storage area 516 to register the electronic signature.
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 step 711, each record of the entity configuration table 1105 representing a list of registration target entities shown in FIG. 11 is generated and stored in the document space database storage area 516.
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 step 712, the analyzed logical structure data 1111 of the registration target document shown in FIG. 11 is generated with reference to the result of the syntax analysis processing in step 703.
In the present embodiment, the analyzed logical structure data is generated by referring to the result of the syntax analysis processing performed in step 703 in step 712. However, in step 703, the analysis has been performed in parallel with the syntax analysis processing. A processing procedure for generating logical structure data may be used.
Next, in step 713, a registered document list including a set of a document identifier 1102 assigned to a registration target document, a reference 1103 to the entity configuration table, and a reference 1104 to the analyzed logical structure data shown in FIG. 1101 is stored in the document space database storage area 516 to register the document, and the process ends.
[0042]
Next, the entity configuration table 1105 in FIG. 11 will be described.
The entity configuration table 1105 is data in which an entity type 1106, an entity name 1107, an entity identifier 1108, a resource name 1109, and an electronic signature identifier 1110 are collected in a tabular format for all entities constituting the registration target document.
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 rows 1201, 1202, 1203, 1204, and 1205 in FIG. 12 correspond to the entities 201, 202, 203, 204, and 205 shown in FIG.
[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 step 712 of the document registration control program 510.
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 logical structure data 1301 is expressed as a tree structure.
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 registration control program 510 of the present embodiment includes a correspondence relationship between the logical structure and the physical structure (entity configuration) in the form of an entity transition node.
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 partial range 1302 surrounded by the chain line corresponds to the content of the entity E0002 (text entity 1202 shown in FIG. 12).
[0045]
Next, the operation procedure of the document reference control program 511 in this embodiment will be described.
FIG. 14 is a PAD diagram showing a schematic processing procedure of the document reference control program 511.
This program is called from the document space management program 513 in response to a command from a client that requests document reference.
[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 floppy disk 505 or the data file storage area 518 or a network resource accessible via the network 404 can be used.
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 step 1402, the content data of the entity designated as the reference target is read from the document space database storage area 516 with reference to the registered document list 1101, the entity configuration table 1105, and the entity identifier correspondence table 901, and the read data Is output to the output destination resource of the reference target entity obtained in step 1401.
The content data of the entity specified as the reference target is, for example, the SGML document entity 201 and the text entity 202 shown in FIG.
In step 1403, the entity structure table 1105 and the electronic signature identifier correspondence table 1001 are referred to obtain an electronic signature corresponding to the entity designated as a reference target, read out from the document space database storage area 516, and read out electronic The signature is output to the output destination resource of the electronic signature obtained in step 1401.
[0047]
In step 1404, the entity type 1106 of the entity configuration table 1105 is referred to determine the entity type of the reference target entity, and either of the processing in step 1405 or step 1407 is executed according to this type, or nothing is done. Select whether or not to execute.
Here, if an SGML document entity is designated, step 1405 is executed.
If a text entity is specified, step 1408 and step 1409 are executed.
If a non-SGML data entity is specified, do nothing.
[0048]
In step 1405, referring to the entity configuration table 1105, step 1406 is executed for all document parts registered in the configuration table.
In step 1406, the content data of the target entity is read from the document space database storage area 516, and the read data is output to the same directory as the output destination resource of the reference target entity obtained in step 1401.
However, the file name is the value of the resource name 1109 in the entity configuration table 1105.
[0049]
For example, when the SGML document entity 201 of FIG. 2 is designated as the SGML document entity, the content data of the entity output in the above step 1406 is each text entity pointed to by the arrow from the SGML document entity 201. Content data of 202, 203, 204, and 205.
[0050]
In step 1408, the analyzed logical structure data is referred to generate a temporary SGML document entity that refers to the entity designated as the reference target, and this is the same as the output destination resource of the reference target entity obtained in step 1401. Output to a directory.
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 resource name 1109 list of the entity configuration table 1105 is generated, and this is used as a temporary SGML document entity file name.
In step 1408, referring to the entity configuration table 1105 and the analyzed logical structure data, step 1409 is repeatedly executed for document parts that are directly or indirectly referenced from the reference target entity.
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 step 1409, the content data of the entity specified in step 1408 is read from the document space database storage area 516, and the read data is output to the same directory as the output destination resource of the reference target entity obtained in step 1401.
However, the file name is the value of the resource name 1109 in the entity configuration table 1105.
The content data of the entity output in the above step 1409 is, for example, the content data of the text entity 203 pointed to by the arrow from the text entity 202 when the text entity 202 of FIG. It is.
The process ends when step 1404 ends.
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 steps 1402 and 1403.
As a result, it is possible to verify the authenticity of the entity output in this process.
[0051]
Next, details of step 1408 in FIG. 14, that is, processing for generating a temporary SGML document entity and outputting it to the external area with reference to the analyzed logical structure will be described.
FIG. 15 is a PAD diagram showing the procedure of this processing.
Here, the case where the text entity 202 in FIG. 2 is a reference target entity is taken as an example, and an SGML document entity to be generated is indicated by 1601 in FIG.
In step 1501, the analyzed logical structure data and the entity configuration table 1105 are referenced to generate the head part of the DOCTYPE declaration (part indicated by the area 1602).
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 step 1502, an element type declaration of the dummy element is generated.
This uses the analyzed logical structure data 1302 to generate, as a content model, the element type names of the highest-level nodes included in the logical structure corresponding to the reference target entity, separated by “,”. .
The top node included in the logical structure 1302 corresponding to the text entity 202 is two elements having the element type name sec.
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 area 1603 in FIG. Declaration.
[0052]
In step 1503, the contents of the internal DTD subset in the SGML document entity of the original document are copied. (Data generated by this step is an area 1604 in FIG. 16).
In step 1504, the end part of DOCTYPE declaration (part indicated by area 1605) is generated.
In step 1505, the start tag (part indicated by the area 1606) of the dummy element is generated.
In step 1506, an entity reference (portion indicated by the area 1607) to the reference target entity is generated.
In step 1507, the end tag of the dummy element (portion indicated by the area 1608) is generated.
In step 1508, the SGML document entity data generated by the processing from step 1501 to step 1507 is output.
The output destination and output file name are as shown in step 1407 above.
The process ends when step 1508 ends.
[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 space management program 513 in response to a command from a client that requests document update.
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 step 1703 to step 1715 is executed.
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 step 1703, the document component group and the electronic signature necessary for the update process are output to an editable area using an external program.
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 step 1704, the output contents data is edited by an external program (for example, SGML editor) and the end of generation of the electronic signature is awaited.
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 step 1705, the edited content data is read from the area output in step 1703, and the content data of the update target entity is replaced with the read data and stored in the document space database storage area 516.
In step 1706, the electronic signature corresponding to the update target entity is read from the external area, and the electronic signature to be updated is replaced with the read electronic signature and stored in the document space database storage area 516.
In step 1707, the entity identifier of the update target entity, the entity content data, and the set of the electronic signature and the electronic signature identifier are stored in the document space database storage area 516 to update the entity and the electronic signature.
[0055]
In step 1708, the type of the update target entity is determined.
If the update target entity is a document entity or a text entity, the processing from step 1709 to step 1711 is executed, and if it is a non-SGML data entity, step 1712 is executed.
Here, in step 1709, the entire document including the updated content data of the update target entity is parsed.
At this time, content data is read from the document space database storage area 516 for entities other than the update target entity.
In step 1710, referring to the result of the parsing process, partial analyzed logical structure data corresponding to the updated content data of the update target entity is generated.
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 step 1712, the updated content data itself is set as a partial element of the partial analyzed logical structure data.
[0056]
Next, in Step 1713, the logical structure data of all registered documents is searched, and all entity transition nodes corresponding to the update target entity (holding the entity identifier of the update target entity) are detected.
Then, Step 1714 is repeatedly executed for all detected entity transition nodes.
Here, in Step 1714, the partial logical structure data subordinate to the selected entity transition node is replaced with the partial analyzed logical structure data set in Step 1710 or Step 1712, and this is replaced with the document space. By storing in the database storage area, the logical structure data of the registered document corresponding to the updated entity is updated.
Finally, in step 1715, the lock set for the update target entity is released, and the process ends.
[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 processing control program 510 in this embodiment.
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.
Step 1801 is a process corresponding to step 701.
However, in step 701, the resource name of the electronic signature corresponding to each entity was obtained, whereas in step 1801, the signer's private key used when generating the electronic signature is obtained as a call parameter.
Other processes such as reading of entity content data are the same as in step 701.
The processing from step 1802 to step 1807 is the same as the processing from step 702 to step 707.
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 step 1801.
The processing in step 1809 is the same as the processing in step 710.
The processing of step 1810, step 1811, and step 1812 is the same as the processing of step 711, step 712, and step 713.
[0061]
Next, PAD diagrams showing the processing procedure of the document reference control program 511 in this embodiment are shown in FIGS.
FIG. 34 is a PAD diagram showing a schematic processing procedure of the document reference control program 511. This program is called from the document space management program 513 in response to a command from a client that requests document reference.
In step 3401, first, a document identifier and an entity identifier for identifying an entity to be referred to are obtained.
In step 3402, the entity type 1106 of the entity configuration table 1105 is referred to determine the entity type of the reference target entity, and depending on this type, either the process of step 3403 or step 3404 is executed, or what Also select whether to execute. Here, if the SGML document entity is designated, Step 3403 is executed. If a text entity is specified, step 3404 is executed. If a non-SGML data entity is specified, do nothing.
In step 3403, the entity configuration table 1105 is referenced to return a list of entity identifiers of all document parts other than the SGML document entity. In step 3404, the entity configuration table 1105 and the analyzed logical structure data are referred to, and the node of the entity reference is searched by tracing the node of the tree structure corresponding to the reference target entity of the analyzed logical structure data. Find the document parts that are directly or indirectly referenced from and return a list of entity identifiers for those document parts.
[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.
Step 1901 is a process corresponding to step 1401. However, in step 1901, the following information is obtained as a call parameter.
-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 step 1902, the content data of the entity designated as the reference target is read from the document space database storage area 516.
In step 1903, the electronic signature corresponding to the reference target entity is read from the document space database storage area 516.
In step 1904, the digital signature is authenticated using the read content data of the reference target entity, the read electronic signature, and the public key. If the authentication fails, an error code indicating that the authentication has failed is returned and the process is terminated (step 1905).
In step 1906, the content data of the reference target entity read from the document space database storage area in step 1902 is output to the output destination resource of the reference target entity acquired in step 1901.
The processing in step 1907 is the same as the processing in step 1404.
Step 1908 executes Step 1909 for all the document part entities specified by the parameters of Step 1901.
Step 1909 is processing for authenticating and extracting a target document part. The procedure of this process will be described later with reference to FIG.
The processing in step 1910 is the same as the processing in step 1408.
Step 1911 executes Step 1912 for all document part entities specified by the parameters of Step 1901.
Step 1912 is processing for authenticating and extracting a target document part. The procedure of this process will be described later with reference to FIG.
[0063]
Next, the details of Step 1909 and Step 1912 in FIG. 19, that is, the authentication / retrieval processing of the target entity will be described. FIG. 33 is a PAD diagram showing the procedure of this processing.
In step 3301, the content data of the target entity is read from the document space database storage area 516.
In step 3302, the electronic signature corresponding to the target entity is read from the document space database storage area 516.
In step 3303, digital signature authentication is performed using the read content data of the target entity, the read digital signature, and the public key obtained in step 1901. If the authentication fails, an error code indicating that the authentication has failed is returned and the process is terminated (step 3304).
In step 3305, the content data of the reference target entity read from the document space database storage area in step 3301 is output to the same directory as the output destination resource of the reference target entity obtained in step 1901. However, the file name is the value of the resource name 1109 in the entity configuration table 1105.
[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.
Steps 2001 and 2002 are the same as steps 1701 and 1702, respectively.
In step 2003, the document parts group required for the update process is output to an editable area using an external program.
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”.
Steps 2004 and 2005 are the same as steps 1704 and 1705, respectively.
In step 2006, an electronic signature is generated using the content data of the update target entity and the signer's private key.
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 step 2007 to step 2016 is the same as the processing from step 1707 to step 1716.
[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 processing control program 510 in this embodiment.
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 step 2101 to step 2104 is the same as the processing from step 701 to step 704.
The processing from step 2105 to step 2108 is the same as the processing from step 708 to step 711.
Step 2109 is processing corresponding to step 712.
However, in step 2109, in addition to the content character strings and structure information included in the registration target document, syntax information necessary for restoration is also stored as analyzed logical structure data so that the contents can be restored to the original document contents at the time of retrieval. To do.
The process of step 2110 is the same as the process of step 713.
[0068]
Next, a PAD diagram showing a processing procedure of the document reference control program 511 in this embodiment is shown in FIG.
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 step 2201 is the same as the process of step 1401.
In step 2202, the content data of the entity designated as the reference target is generated from the analyzed logical structure data, and the restored content data is output to the output destination resource of the reference target entity obtained in step 2201.
The procedure for generating and outputting the reference target entity generated here will be described later with reference to FIG.
The processing from step 2203 to step 2205 is the same as the processing from step 1403 to step 1405.
In step 2206, content data of the target entity is generated from the analyzed logical structure data, and the restored content data is output to the same directory as the output destination resource of the reference target entity obtained in step 2201.
However, the file name is the value of the resource name 1109 in the entity configuration table 1105.
The procedure for generating and outputting the reference target entity generated here will be described later with reference to FIG.
The processing of step 2207 and step 2208 is the same as the processing of step 1407 and step 1408.
Step 2209 is the same as step 2206.
[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.
Steps 2301 and 2302 are the same as steps 1701 and 1702, respectively.
In step 2303, the document parts group necessary for the update process is output to an editable area using an external program.
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”.
Step 2304 is the same as the processing of step 1704.
The processing from step 2305 to step 2315 is the same as the processing from step 1706 to step 1716.
However, the analyzed logical structure data generated in step 2309 is, in addition to the content character string and structure information included in the registration target document, so that it can be restored to the original document content at the time of retrieval, as in document registration, Syntax information necessary for restoration is also stored as analyzed logical structure data.
[0070]
FIG. 24 is a diagram showing the data structure of the analyzed logical structure data generated by the document registration control program 510 according to the present embodiment with reference to the result of the syntax analysis processing in step 2103.
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 element nodes 2501, character string nodes 2601, line feed character nodes 2604, non-SGML data nodes 2607, entity reference nodes 2610, and character reference nodes 2616, respectively.
[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 step 2202, step 2206, and step 2209 in the PAD diagram of FIG.
FIG. 27 is a PAD diagram showing a processing procedure for outputting content data of a specified entity to the outside.
Step 2701 is a process of repeatedly executing Step 2702 for each highest-order node in the analyzed logical structure data of the designated entity.
Step 2702 is processing for generating the contents of the target node.
The procedure of this process will be described later with reference to FIG.
In step 2703, the content data generated in steps 2701 and 2702 is output to the specified resource.
[0072]
Next, the details of step 2702 in FIG. 27, that is, the node content generation processing will be described.
FIG. 28 is a PAD diagram showing the procedure of this processing.
In step 2801, the node type (node types 2502, 2602, 2605, 2608, 2611, 2617 in FIGS. 25 and 26) of the target node is determined, and one of steps 2802 to 2807 is selected according to the node type. Select and execute the process.
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 entity name 2612 and the reference end character “;” (if not omitted) following the “&” character.
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 character number 2620 following the “&#” character string.
The type 2618 is used to distinguish the function name and the character number.
After that, the reference terminator ";" is generated (unless omitted).
[0073]
Next, the details of step 2802 in FIG. 28, that is, the element content generation processing will be described.
FIG. 29 is a PAD diagram showing the procedure of this processing.
Step 2901 generates a start tag for the target element.
The procedure of this process will be described later with reference to FIG.
In step 2902, referring to reference 2510 to the lower node of the target element, step 2903 is executed for each lower node of the target element.
Here, step 2903 executes the processing of the PAD diagram shown in FIG.
That is, the PAD diagram of FIG. 28 is recursively executed.
Step 2904 generates an end tag for the target element.
The procedure of this process will be described later with reference to FIG.
[0074]
Next, the details of step 2901 in FIG. 29, that is, the process for generating the start tag of the target element will be described.
FIG. 30 is a PAD diagram showing the procedure of this processing.
In step 3001, it is determined whether or not the start tag of the designated element is omitted in the original document by referring to the data of the start tag omission 2504. If it is not omitted (if the value is NO), The processing from step 3002 to step 3010 is executed.
In step 3002, the start tag " Prints a <"character.
In step 3003, the element type name of the target element is output with reference to the generic identifier 2505 of the start tag.
In step 3004, the attribute list 2511 of the target element is referred to. If the target element has an attribute, step 3005 is executed for each attribute of the target element.
The procedure of this process will be described later with reference to FIG.
In step 3006, the blank character 2506 is referenced to generate a blank character existing at the corresponding position in the original document.
In step 3007, the ">" character of the start tag is generated.
[0075]
Next, details of step 3005 in FIG. 30, that is, the generation processing of each attribute of the target element will be described.
FIG. 31 is a PAD diagram showing the procedure of this processing.
In step 3101, the value of attribute omission 2512 is referenced to determine whether the target attribute has been omitted in the original document.
If not omitted, the processing from step 3102 to step 3109 is executed.
In step 3102, the blank character 2513 existing at the corresponding position of the original document is generated with reference to the blank character 2513.
In step 3103, the attribute name 2514 is referenced to generate the attribute name of the target attribute.
In step 3104, the blank character 2515 is referenced to generate a blank character existing at the corresponding position in the original document.
In step 3105, the "=" character is output.
In step 3106, the blank character 2517 is referenced to generate a blank character existing at the corresponding position in the original document.
In step 3107, the literal type 2518 is referenced to generate the same literal delimiter (LIT, LITA, or omitted) as the original document.
In step 3108, the attribute value (including a list) of the target attribute is generated with reference to the attribute value 2519.
In step 3109, the literal type 2518 is referenced to generate the same literal delimiter (LIT, LITA, or omitted) as the original document.
[0076]
Next, the details of step 2904 in FIG. 29, that is, the generation processing of the end tag of the target element will be described.
FIG. 32 is a PAD diagram showing the procedure of this processing.
In step 3201, it is determined whether or not the start tag of the specified element is omitted in the original document by referring to the data of the end tag omission 2507. If it is not omitted (if the value is NO), The processing from step 3202 to step 3205 is executed.
In step 3202, the end tag "</"Character is generated.
In step 3203, the element type name of the target element is generated with reference to the generic identifier 2508 of the end tag.
In step 3204, the blank character 2509 is referenced to generate a blank character existing at the corresponding position in the original document.
In step 3205, the “>” character of the end tag is output.
[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
JP34707299A 1999-12-07 1999-12-07 Document digital signature management method and document management apparatus Expired - Fee Related JP3868171B2 (en)

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)

* Cited by examiner, † Cited by third party
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

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