1. Field of the Invention
The present invention relates to a document management apparatus and a document management method and a computer-readable storage medium storing a computer program. More particularly, the present invention relates to a document management apparatus having a construction capable of proving objective validity of document data, managed in a database, microfilm or the like, i.e., the date and time, nonoccurrence of tampering of the document data and the like, and a document management method and a computer program.
2. Description of the Related Art
In a construction to store and manage various document data including text data, image data and program data, when document data is stored in a database connected to e.g. a network, there is a probability of data tampering or the like by external unauthorized access. Recent document management systems employ various arrangements to prove the date and time of generation, nonoccurrence of tampering and the like of management subject document data.
It is known to provide a technique for proving the date and time of generation, nonoccurrence of tampering and the like of management subject document data, an arrangement utilizing time stamping. Time stamp is proof data issued from a time stamping authority (TSA) as a trusted third party. A digital signature as encryption data based on a private key from the time stamping authority is generated for data obtained by combining a hash value based on document data provided by a document management system with reliable time information obtained by the time stamping authority (TSA), and issued to the document management system. The protocol utilizing a time stamp issued from the time stamping authority (TSA) is referred to as a “simple protocol”.
The simple protocol will be described with reference to FIG. 1. As shown in FIG. 1, a document management apparatus 11 which manages various documents transmits a hash value (H) based on management subject document data to a time stamping authority (TSA) 12. The time stamping authority (TSA) 12 generates a digital signature by using a private key from the time stamping authority (TSA) 12 compliant with Public Key Infrastructure (PKI) for data obtained by combining the received hash value (H) with time information (Time) received from a reliable time information supply source 13. That is, a digital signature (Sig.) is applied to [hash value (H)+time information (Time)], thereby proof data 21 as encrypted data is generated, and transmitted to the document management apparatus 11.
The document management apparatus 11 links the proof data 21, received from the time stamping authority (TSA) 12, with the document data to be stored in the database, i.e., document data as the source of the hash value (H), and stores the proof data 21.
Verification processing based on the proof data 21 is verification processing of the digital signature of the proof data 21, i.e., decrypting of the digital signature based on a public key from the time stamping authority (TSA) 12. The data as the combination of the hash value (H) and the time information (Time) is obtained by decrypting the digital signature by using the public key from the time stamping authority (TSA) 12. Further, the date and time of generation, nonoccurrence of tampering and the like of the document are verified by checking the correspondence between the hash value (H) obtained by decrypting the proof data 21 and a hash value (H′) newly generated based on the document data managed in the document management apparatus 11. In this simple protocol, a public key and a private key compliant with the Public Key Infrastructure (PKI) are employed, and the public key applied upon verification processing based on the proof data 21, i.e., the public key from the time stamping authority (TSA) 12 is obtained from a public key certificate issued from a Certificate Authority (CA), thereby creditability of public key is guaranteed. However, generally, a validity period is set in a public key certificate since it can be considered that permanent use of the same key is prevented and the safety can be increased by updating a pair of public and private keys periodically.
However, when such key update is performed, update of the digital signature in the proof data 21 is required. That is, to generate a digital signature and perform verification using an updated valid pair of public and private keys, the proof data is updated upon each key update processing. As described above, the simple protocol has a problem that update processing is required due to the use of an encryption key based on the Public Key Infrastructure (PKI). Next, a linking protocol as a data proof protocol without Public Key Infrastructure (PKI) will be described with reference to FIG. 2.
As shown in FIG. 2, in the linking protocol, a hash value transmitted from a document management apparatus 31 has a sequence number n (1, 2, 3 . . . ). A time stamping authority (TSA) 32 generates document authentication linking data [Ln] as a new hash value based on an n-th hash value [Hn] received from the document management apparatus 31, based on document authentication linking data [Ln−1] as a hash value generated based on a hash value previously received from the document management apparatus 31, the sequence number [n] and the newly received hash value [Hn]. That is,Ln=Hash(Ln−1, n, Hn)The new document authentication linking data [Ln] is generated based on the above expression.
The time stamping authority (TSA) 32 generates the next document authentication linking data [Ln] based on immediately-previously generated document authentication linking data [Ln−1], and publicizes the linking data at a predetermined timing in a publication indicating a certifiable date of issuance such as a newspaper. In FIG. 2, linking data [LM] 41 is publicized in a newspaper 51 issued on Oct. 20, 2004, and linking data [LN] 42 is publicized in a newspaper 52 issued on Apr. 12, 2005.
The time stamping authority (TSA) 32 stores all the hash values [Hn] sequentially received from the document management apparatus 31, all the linking data [Ln] and sequence data [n].
In this manner, as the time stamping authority (TSA) 32 performs hash computation using immediately previous linking data and newly-received hash value upon linking data [Ln] generation processing, the context of all the linking data can be specified. Verification processing is performed as follows. When data verification is performed upon publicizing of linking data (Ln), the document management apparatus generates a hash value (HN′) based on document data, and calculates a hash value [LN′] based on the generated hash value (HN′), linking data (LN−1) held in the time stamping authority (TSA) 32 and a sequence number [N]. That is, the hash value [LN′] is calculated asLN′=Hash(LN−1, N, HN′).If the calculated hash value [LN′] corresponds with the publicized linking data (LN) in the newspaper, nonoccurrence of tampering is proved.
In the linking protocol, the proof data update accompanying the key data update compliant with the Public Key Infrastructure (PKI) as in the above-described simple protocol is unnecessary. However, as the time stamping authority (TSA) 32 needs to hold all the hash values [Hn] sequentially received from the document management apparatus 31, all the linking data [Ln] and sequence data [n] , the load on data management is heavy. Further, as the linking data is periodically publicized in publication such as a newspaper, the cost for publicizing is increased.