Abstract:
In a terminal device utilizing contents-having a limitation in the use frequency, an encrypted electronic file containing the contents is decrypted, then the decrypted electronic file is interpreted and the contents are outputted in a usable form. A set of an encryption key and a decryption key is generated at or after the output of the contents, then the decrypted electronic file is re-encrypted with the generated encryption key, and the re-encrypted electronic file is stored while the generation decryption key is outputted.

Description:
BACKGROUND OF THE INVENTION  
       [0001]     1. Field of the Invention  
         [0002]     The present invention relates to a contents use frequency limiting method, a contents using terminal apparatus, a contents using system, a computer program and a computer readable memory medium, particularly adapted for use in limiting a use frequency of contents.  
         [0003]     2. Related Background Art  
         [0004]     A prior method for limiting frequency of use of contents is described in Japanese Patent Application Laid-open No. 2003-67651.  
         [0005]     A use status of the contents in a client is transmitted from the client to a server, which manages the use frequency at the client. When the use frequency reaches a limit, the server does not transmit a use permission notice for the contents to the client, thereby limiting the use frequency of the contents.  
         [0006]     Also there is known a technology of controlling a print frequency, at a client, of an electronic form distributed from a server to the client. In this technology, an ID stored as an attribute in the electronic form file and a print frequency upper limit value are copied in a print history file at a first printing, and a print frequency is stored in correlation therewith in the print history file. In a second or subsequent printing, the print history file is searched by the ID of the electronic form file to be printed and a corresponding print frequency is compared with the print frequency upper limit to discriminate whether the printing is permitted, and, if the printing is permitted, a printing process is executed with an increment of the print frequency.  
         [0007]     An electronic file is generally very inexpensive in costs for copying or distribution. Consequently, an electronic file containing confidential information, once transferred to a third person other than authorized personnel, may be divulged widely, whereby the owner of the electronic file encounters a serious risk. In order to avoid such situation, it is necessary that the content of the electronic file cannot be known to a third person even when the electronic file itself is transferred to such third person. An encryption of the electronic file is usually employed for attaining such object.  
         [0008]     However, in case of a simply encryption of the electronic file, a decryption key for utilizing the encrypted electronic file has to be transferred to the user. Therefore a simple encryption of the electronic file cannot sufficiently alleviate the risk in case unspecified plural users are expected or in case the user cannot be fully relied on.  
         [0009]     Such situation can actually occur in a business handled by an agency, such as a commercial trade of a financial product, not involving movement of a tangible product. It is therefore desired, for such a user, to a leak of the information of the electronic file by limiting the opportunity or the method for utilizing the content of the electronic file and by elevating a cost or a barrier for improper use. In order to minimize such risk, a limitation on the use frequency of the electronic file is easily understandable for both the manager and the user of the information.  
         [0010]     Also for realizing the limitation on the use frequency of the electronic file, it has been common, as in the prior technology described in Japanese Patent Application Laid-open No. 2003-67651, to construct a use system of an electronic file with a server and a client and to transmit, signals and data necessary for using the electronic file, from the server to the client.  
         [0011]     However, such method of limiting the use frequency of the electronic file is associated with a drawback that a network connection is required for each use.  
         [0012]     Also in order to restrict the frequency of communication between the client and the server while limiting the use frequency of the electronic file, there is known a method of storing a history of the use frequency of the electronic file as a local file in the client.  
         [0013]     In this method, however, the use history file storing the history of the use frequency is not protected at all. Therefore, there results a drawback that, if the user copies the use history file before using the electronic file and overwrites the new use history file with the copies history file after the use of the electronic file, the memorized use frequency returns to the original value.  
       SUMMARY OF THE INVENTION  
       [0014]     The present invention has been made in consideration of the aforementioned drawbacks, and is to achieve easy and secure limitation on the use frequency of contents contained in an electronic file.  
         [0015]     Thus, an object of the present invention is to provide a contents using terminal apparatus including a decryption unit for decrypting an encrypted electronic file containing contents, a first output unit for interpreting the electronic file decrypted by the decrypting unit and outputting the contents in a usable form, a generation unit for generating a set of an encryption key and a decryption key at or after the output of the contents by the first output means, a re-encryption unit for re-encrypting, utilizing the encryption key generated by the generation unit, the electronic file decrypted by the decryption unit, a storage unit for storing the encrypted electronic file re-encrypted by the re-encryption unit, and a second output unit for outputting the decryption key generated by the generation unit.  
         [0016]     Another object of the present invention is to provide a contents using terminal apparatus including a decryption unit for decrypting an encrypted electronic file containing contents and a remaining use frequency value, a first output unit for interpreting the electronic file decrypted by the decrypting unit and outputting the contents in a usable form, a generation unit for generating a set of an encryption key and a decryption key based on a random number at or after the output of the contents by the first output means, a use frequency renewal unit for renewing the remaining use frequency value of the contents at the output of the contents by the first output unit, a re-encryption unit for re-encrypting, in case the remaining use frequency value for the contents changed by the use frequency renewal unit is not 0, the electronic file decrypted by the decryption unit, utilizing the encryption key generated by the generation unit, a storage unit for storing the encrypted electronic file re-encrypted by the re-encryption unit, and a second output unit for outputting the decryption key generated by the generation unit, in case the remaining use frequency value for the contents changed by the use frequency renewal unit is not 0.  
         [0017]     Another object of the present invention is to provide a contents using terminal apparatus including a decryption unit for decrypting an encrypted electronic file containing contents and a number of sets of an encryption key and a decryption corresponding to an upper limit value of the use frequency of the contents, a first output unit for interpreting the electronic file decrypted by the decrypting unit and outputting the contents in a usable form, a re-encryption unit for re-encrypting, utilizing the encryption key, the electronic file decrypted by the decryption unit, a storage unit for storing the encrypted electronic file re-encrypted by the re-encryption unit, a decryption key acquisition unit for obtaining a decryption key paired with the encryption key employed in the re-encryption unit, a second output unit for outputting the decryption key obtained by the decryption key acquisition unit, and a deletion unit for deleting, in case one or more sets of the encryption key and the decryption key are identified to be present in the electronic file, one of such sets from the electronic file.  
         [0018]     Still other objects of the present invention, and the features and advantages thereof, will become fully apparent from the following detailed description which is to be taken in conjunction with the accompanying drawings. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0019]      FIG. 1  is a schematic view showing a structure of a form printing system embodying the present invention;  
         [0020]      FIG. 2  is a flow chart indicating a first embodiment of the present invention and showing an example of operations of a form server when a request is received from a client PC;  
         [0021]      FIG. 3  is a view indicating the first embodiment of the present invention and showing an example of the content of form data delivered from the form server to the client PC;  
         [0022]      FIG. 4  is a flow chart indicating the first embodiment of the present invention and showing an example of a process when the client PC receives form data and executes a first printing on form body data contained in the received form data;  
         [0023]      FIG. 5  is comprised of  FIGS. 5A and 5B  showing flow charts indicating the first embodiment of the present invention and showing an example of a process when a second or subsequent printing is executed on the form body data contained in the form data;  
         [0024]      FIG. 6  is a flow chart indicating the first embodiment of the present invention and showing a concept of a process for printing the form body data contained in the form data;  
         [0025]      FIG. 7  is a flow chart indicating a second embodiment of the present invention and showing an example of operations of a form server when a request is received from a client PC;  
         [0026]      FIG. 8  is a view indicating the second embodiment of the present invention and showing an example of the content of form data delivered from the form server to the client PC;  
         [0027]      FIG. 9  is a flow chart indicating the second embodiment of the present invention and showing an example of a process when the client PC receives form data and executes a first printing on form body data contained in the received form data;  
         [0028]      FIG. 10  is comprised of  FIGS. 10A and 10B  showing flow charts indicating the second embodiment of the present invention and showing an example of a process when a second or subsequent printing is executed on the form body data contained in the form data;  
         [0029]      FIG. 11  is a flow chart indicating a third embodiment of the present invention and showing an example of operations of a form server when a request is received from a client PC;  
         [0030]      FIG. 12  is a view indicating the third embodiment of the present invention and showing an example of the content of form data delivered from the form server to the client PC;  
         [0031]      FIG. 13  is a flow chart indicating the third embodiment of the present invention and showing an example of a process when the client PC receives form data and executes a first printing on form body data contained in the received form data;  
         [0032]      FIG. 14  comprised of  FIGS. 14A and 14B  showing flow charts indicating the third embodiment of the present invention and showing an example of a process when a second or subsequent printing is executed on the form body data contained in the form data; and  
         [0033]      FIG. 15  is a block diagram indicating an embodiment of the present invention and showing an example of a structure of a computer system provided in the form server and the client PC. 
     
    
     DESCRIPTION OF THE PREFERRED EMBODIMENTS  
       [0034]     In the following, embodiments of the present invention will be explained with reference to the accompanying drawings. In the following embodiments, there will be explained a case where the contents are a business form, but the contents are naturally not limited to such form.  
       First Embodiment  
       [0035]      FIG. 1  is a view showing an example of a structure of a form printing system embodying the present invention. Referring to  FIG. 1 , the form printing system is constituted of a form server  1001  positioned in a central office/base  101 , client PCs  1002   a ,  1002   b , a printer  1003 , and a scanner  1004  positioned in an agency  102 , all connected communicably by an internet  103 , routers  104   a ,  104   b  and LANs  105   a ,  105   b.    
         [0036]     In the following description, the client PCs  1002   a  and/or  1002   b  is abbreviated as a client PC  1002 . Also the number of the client PCs is naturally not limited to two.  
         [0037]     The form server  1001  generates and stores a form, and has a function, in response to a request from the client PC  1002 , of delivering form data  300  which are formed by attaching a form ID  302  and key pairs  303  of encryption keys and decryption keys of a use frequency number to form body data  301  shown in  FIG. 3 , to the client PC  1002 .  
         [0038]      FIG. 2  is a flow chart showing operations of the form server  1001  when a request is received from the client PC  1002  in the present embodiment. This flow chart is executed by an unillustrated CPU of the form server  1001 .  
         [0039]     At first, a step S 1  waits until an HTTP request is received from the client PC  1002 . When an HTTP request is received, the sequence proceeds to a step S 2  to analyze the content of the HTTP request received in the step S 1  and to discriminate whether the received HTTP request is same as an HTTP request received in the past.  
         [0040]     As a result of such discrimination, if it is same, the sequence proceeds to a step S 3  to obtain, utilizing the HTTP request received in the step S 1  as a key, form body data  301  and a generation time thereof from a form DB provided in the form server  1001 .  
         [0041]     On the other hand, if it is not same, the sequence proceeds to a step S 4  to generate form body data  301  based on the content of the HTTP request received in the step S 1 . Then the generated form body data  301  and a generation time thereof are stored in the form DB utilizing the HTTP request as a key. Such storage is executed for enabling the form body data to be used in the future.  
         [0042]     Then a step S 5  generates a unique form ID  302  from the generation time of the form body data  301  and the receiving time (time of reception of the HTTP request in the step S 1 ) of the request (HTTP request).  
         [0043]     The generation time of the form body data  301  is used for the generation of the form ID  302 , in order to form a unique form ID  302  for each form body data  301 . Also the request receiving time is used for forming a unique form ID  302  for each request from the client PC.  
         [0044]     Then a step S 6  determines a use frequency upper limit value from a table prepared in advance, based on the kind of the form body data  301 , the client PC  1002  that has issued the HTTP request, and an authority of a person who has issued the HTTP request.  
         [0045]     The kind of the form body data  301  is identified for example if the data correspond to an important document relating to a monetary amount. Also the client PC  1002  is identified by an emitting IP address of the request, for example an HTTP request from a client PC  1002  of an upper manager, or an HTTP request from a client PC  1002  of a sales agency. The authority of the person who has issued the HTTP request is identified by specifying a person through an individual authentication utilizing SSL. The identifying method is naturally not limited to such examples.  
         [0046]     Also by determining the use frequency upper limit by the client PC  1002  and a right given to a user thereof, it is naturally not necessary to determine the use frequency upper limit based on the kind of the form body data  301 , the client PC  1002  that has issued the HTTP request, and the authority of the person who has issued the HTTP request. It is possible, for example, to determine the use frequency upper limit based on one or two of the kind of the form body data  301 , the client PC  1002  that has issued the HTTP request, and the authority of the person who has issued the HTTP request.  
         [0047]     Then a step S 7  generates a key pair  303  of an encryption key and a decryption key by a number of the print frequency upper limit.  
         [0048]     Then a step S 8  generates delivery data (form data)  300  by attaching, to the form body data  301  obtained in the step S 3  or S 4 , the key pairs  303  generated in the step S 7  and the form ID  302  generated in the step S 5 .  
         [0049]     Finally, a step S 9  delivers the delivery data (form data)  300  generated in the step S 8 , to the client PC  1002  which is the transmission source of the HTTP request received in the step S 1 . The form data  300 , delivered from the form server  1001  to the client PC  1002  in the step S 2 , have a content as shown in  FIG. 3 .  
         [0050]     Then operations of the client PC  1002  that have received the deliver data (form data)  300 , the printer  1003  and the scanner  1004  will be explained with reference to FIGS.  4  to  6 .  FIG. 4  is a flow chart showing a process sequence when the client PC  1002  receives the delivery data (form data)  300  and executes a first printing on form body data  301  contained in the received form data  300 , the flow chart being executed by a CPU of the client PC  1002 .  FIG. 6  is a flow chart showing a concept of a process for printing the form body data  301  contained in the form data  300 . More specifically  FIG. 6  shows a concept in case a print frequency upper limit set at n.  
         [0051]     At first a step S 11  waits until the delivery data (form data)  300  are received from the form server  1001 . When the form data  300  are received, the sequence proceeds to a step S 12  and the client PC  1002  stores the form data  300 , received in the step S 11 , in a main memory.  
         [0052]     Then a step S 13  generates print form image data based on the form body data  301 , contained in the form data  300  stored in the main memory in the step S 12 .  
         [0053]     In a step S 14 , the client PC  1002  discriminates whether the form data  300  stored in the main memory in the step S 12  contains a key pair constituted of a first encryption key  303   a  and a first decryption key  303   b . In case the discrimination identifies that the key pair constituted of the first encryption key  303   a  and the first decryption key  303   b  is not contained, the sequence skips steps S 15 -S 18  to be explained later and proceeds to a step S 19 .  
         [0054]     On the other hand, in case the key pair constituted of the first encryption key  303   a  and the first decryption key  303   b  is contained, the sequence proceeds to a step S 15  and the client PC  1002  obtains information specific to the client environment and generates (calculates) a common encryption key based on the obtained information specific to the client environment. The information specific to the client environment is for example a CPU serial number and a MAC address of the client PC  1002 . Also the information specific to the client environment need not necessarily be obtained in this step but may be obtained in the step S 11 . Also the common encryption key employed in the present embodiment is a key utilizing in encryption/decryption of a common key encryption method such as DES or triple DES, but other encryption methods may also be employed.  
         [0055]     Then the sequence proceeds to a step S 16  to encrypt the first decryption key  303   b  with the common encryption key generated in the step S 15 .  
         [0056]     Then, in a step S 17 , the client PC  1002  converts the form ID  302  contained in the form data  300  stored in the main memory in the step S 12  and the first decryption key  303   b  encrypted in the step S 16  into a two-dimensional bar code, thereby generating two-dimensional bar code data, which are required, as will be explained later, for executing a second printing.  
         [0057]     In a step S 18 , the client PC  1002  combines the print form image data generated in the step S 13  and the two-dimensional bar code image data generated in the step S 17  to generate print image data.  
         [0058]     In a step S 19 , the client PC  1002  transmits the print image data generated in the step S 18  to the printer  1003 . The printer  1003  executes printing of the print form image data and the two-dimensional bar code image data as a set. In this manner print form data  601  and a two-dimensional bar code image (key paper)  602  are printed on a paper. In the present embodiment, the print form data  601  and the two-dimensional bar code image  602  are printed on a paper in such a manner that the two-dimensional bar code image  602  forms a last page separate from the form.  
         [0059]     In a step S 20 , the client PC  1002  discriminates whether the form data  300  stored in the main memory in the step S 12  contains a key pair constituted of a first encryption key  303   a  and a first decryption key  303   b . In case the discrimination identifies that the key pair constituted of the first encryption key  303   a  and the first decryption key  303   b  is not contained, the sequence skips steps S 21 -S 25  to be explained later and proceeds to a step S 26 .  
         [0060]     On the other hand, in case the key pair constituted of the first encryption key  303   a  and the first decryption key  303   b  is contained, the sequence proceeds to a step S 21  and the client PC.  1002  obtains the first encryption key  303   a  and the first decryption key  303   b  stored in the main memory.  
         [0061]     Then, in a step S 22 , the client PC  1002  deletes the key pair constituted of the first encryption key  303   a  and the first decryption key  303   b  from the main memory. Then, in a step S 23 , the client PC  1002  encrypts the form data  300 , from which the key pair is deleted in the step S 22 , with the first encryption key  303   a  obtained in the step S 21 .  
         [0062]     In a step S 24 , the client PC  1002  stores the form data  300 , from which the first key pair is deleted in the step S 22  and which are encrypted in the step S 23 , as a file in a hard disk or the like, and deletes the original form data  300  stored in the main memory.  
         [0063]     In a step S 25 , the client PC  1002  associates a file name of the form data  300  stored in the step S 24  and the form ID  302  contained therein and stores them in an index file. Such associated storage of the file name of the form data  300  and the form ID  302  in the index file allows a prompt identification of the form file in case of re-printing by designating the form ID  302  next time.  
         [0064]     Finally, in a step S 26 , the client PC  1002  erases the original data stored in the main memory in the step S 12 .  
         [0065]     In the following, there will be explained a process when a second or subsequent printing is executed on the form body data  301  contained in the form data  300  with reference to flow charts shown in  FIGS. 5A and 5B .  
         [0066]     At first a step S 31  waits until a reprint request is made from the user based on an operation of a keyboard or a mouse. When a reprint request is made, the sequence proceeds to a step S 32  and the client PC  1002  displays, on a monitor, a message requesting the key paper outputted simultaneously at the previous form printing (for example the two-dimensional bar code image  602  printed in the step S 19  shown in  FIG. 4 ) is inputted from the scanner  104 .  
         [0067]     Then in a step S 33 , the client PC  1002  waits until the two-dimensional bar code image  602  is inputted from the scanner  104 . When the two-dimensional bar code image  602  is inputted from the scanner  104 , the sequence proceeds to a step S 34  and the client PC  1002  executes an image processing on the two-dimensional bar code image inputted in the step S 33  to obtain binary data.  
         [0068]     In a step S 35 , the client PC  1002  extracts, from the binary data converted from the two-dimensional bar code image in the step S 34 , the form ID  302  and the encrypted (n−1)th decryption key (for example first decryption key). In the foregoing description, n indicates a current print frequency.  
         [0069]     In a step S 36 , the client PC  1002  extracts, from the index file, a form data file name corresponding to the form ID  302  extracted in the step S 35 .  
         [0070]     In a step S 37 , the client PC  1002  obtains information specific to the client environment and generates (calculates) a common encryption key based on the obtained information specific to the client environment. The information specific to the client environment is for example a CPU serial number and a MAC address of the client PC  1002 .  
         [0071]     In a step S 38 , the client PC  1002  decrypts the (n−1)th decryption key, with the common encryption key generated in the step S 37 .  
         [0072]     In a step S 39 , the client PC  1002  decrypts the form data  300 , stored as a file (hereinafter called form data file), with the (n−1)th decryption key decrypted in the step S 38  and writes the decrypted form data file in the memory.  
         [0073]     In a step S 40 , the client PC  1002  deletes the original form data file.  
         [0074]     In a step S 41 , the client PC  1002  generates print form image data from the form body data  301 , contained in the form data file written in the memory in the step S 39 .  
         [0075]     Then, in a step S 42 , the client PC  1002  discriminates whether the form data file written in the memory in the step S 39  contains a key pair constituted of an n-th encryption key and an n-th decryption key. In case the discrimination identifies that the key pair constituted of the n-th encryption key and the n-th decryption key is not contained, the sequence skips steps S 43 -S 46  to be explained later and proceeds to a step S 47 .  
         [0076]     On the other hand, in case the key pair constituted of the n-th encryption key and the n-th decryption key is contained, the sequence proceeds to a step S 43  and the client PC  1002  obtains information specific to the client environment and generates (calculates) a common encryption key based on the obtained information specific to the client environment. The information specific to the client environment is for example a CPU serial number and a MAC address of the client PC  1002 .  
         [0077]     Then, in a step S 44 , the client PC  1002  encrypts the n-th decryption key with the common encryption key generated in the step S 43 .  
         [0078]     Then, in a step S 45 , the client PC  1002  converts the form ID  302  contained in the form data file stored in the memory in the step S 35  and the n-th decryption key encrypted in the step S 44  into a two-dimensional bar code, thereby generating two-dimensional bar code data, which are required, as will be explained later, for executing an (n+1)th printing.  
         [0079]     Then, in a step S 46 , the client PC  1002  generates print image data based on the print form image data generated in the step S 41  and the two-dimensional bar code image data generated in the step S 45 .  
         [0080]     In a step S 47 , the client PC  1002  transmits the print image data generated in the step S 46  to the printer  1003 . The printer  1003  executes printing of the print form image data and the two-dimensional bar code image data as a set. For example, in case the current printing is a second printing, a print form image  603  and a two-dimensional bar code image (key paper)  604  are printed on a paper.  
         [0081]     In a step S 48 , the client PC  1002  discriminates whether the main memory contains a key pair constituted of an n-th encryption key and an n-th decryption key. In case the discrimination identifies that the key pair constituted of the n-th encryption key and the n-th decryption key is not contained, the sequence skips steps S 49 -S 53  to be explained later and proceeds to a step S 54 .  
         [0082]     On the other hand, in case the key pair constituted of the n-th encryption key and the n-th decryption key is contained, the sequence proceeds to a step S 49  and the client PC  1002  obtains the n-th encryption key stored in the main memory.  
         [0083]     Then, in a step S 50 , the client PC  1002  deletes the key pair constituted of the n-th encryption key and the n-th decryption key from the main memory.  
         [0084]     Then, in a step S 51 , the client PC  1002  encrypts the form data  300 , from which the key pair is deleted in the step S 50 , with the n-th encryption key obtained in the step S 51 .  
         [0085]     In a step S 52 , the client PC  1002  stores the form data  300 , from which the n-th key pair is deleted in the step S 50  and which were encrypted in the step S 51 , as a file, and deletes the original form data  300  stored in the main memory.  
         [0086]     In a step S 53 , the client PC  1002  associates a file name of the form data  300  stored in the step S 52  and the form ID  302  contained therein and stores them in an index file.  
         [0087]     Finally, in a step S 54 , the original data stored in the main memory are deleted.  
         [0088]     In this manner, when the n-th key pair is not stored in the form data  300 , a two-dimensional bar code image (key paper) for a next printing is not printed, and the form data  300  are not stored again, so that a repeated printing becomes impossible.  
         [0089]     The software process (function) in the form server  1001  and the client PC  1002  explained above can be realized in a computer system as shown in  FIG. 15 .  
         [0090]      FIG. 15  is a block diagram showing an example of the structure of a computer system provided in the form server  1001  and the client PC  1002 .  
         [0091]     Referring to  FIG. 15 , a computer system  150  is provided with a CPU  1501 , a ROM  1502 , a RAM  1503 , a keyboard controller (KBC)  1505  for a keyboard (KB)  1504 , a CRT controller (CRTC)  1507  for a CRT display (CRT)  1506  constituting a display unit, a disk controller (DKC)  1510  for a hard disk (HD)  1508  and a flexible disk (FD)  1509  and a network interface controller (NIC)  1512  for connection with a network  1511 , and these components are mutually communicably connected through a system bus  1513 .  
         [0092]     The CPU  1501  integrally controls the components connected to the system bus  1503 , by executing a software stored in the ROM  1502  or the HD  1508 , or a software supplied from the FD  1509 .  
         [0093]     Thus the CPU  1501  reads and executes a process program of a predetermined process sequence from the ROM  1502 , the HD  1508  or the FD  1509  thereby controlling the functions of the apparatus.  
         [0094]     The RAM  1503  functions as a main memory or a work area for the CPU  1501 . The KBC  1505  controls an instruction input from the KB  1504  or from an unillustrated pointing device.  
         [0095]     The CRTC  1507  controls a display on the CRT.  
         [0096]     The DKC  1510  controls an access to the HD  1508  and the FD  1509  which stores a boot program, various applications, an editing file, user files, a network management program and predetermined process programs.  
         [0097]     The NIC  1512  executes a bi-directional data exchange with a device or a system on the network  1511 .  
         [0098]     In the present embodiment, as explained in the foregoing, the form server  1001  delivers the form data  300  in response to the request from the client PC  1002 . The client PC  1002 , receiving the delivered form data  300 , generates form print image data from the form body data  301  contained in the form data  300 , also generates the two-dimensional bar code image data from the form ID  302  contained in the form data  300  and the n-th decryption key, and prints the form print image  601 ,  603  and the two-dimensional bar code image  602 ,  604 . It then deletes the key pair, constituted of the n-th encryption key and the n-th decryption key contained in the form data  300 . In a subsequent printing, the form body data  301  is decrypted utilizing the two-dimensional bar code image  602 ,  604 .  
         [0099]     Thus, in the repetitive use of the form body data  301 , the re-use (re-print) of the form body data  301  is permitted only to a person who has the two-dimensional bar code image  602 ,  604 . Also the frequency of the printing of the form body data  301  is limited to the number of the key pairs. Furthermore, the frequency of the printing of the form body data  301  can be managed by the client PC  1002 .  
         [0100]     It is therefore rendered possible, while minimizing the number of communications between the form server  1001  and the client PC  1002 , to limit the number of printing of the form body data  301  more securely than in the prior technology, and to present an improper re-use of the form body data  301  as far as possible.  
         [0101]     Particularly in the present embodiment, it is possible to effectively avoid the improper re-use of the form body data  301 , since, after the printing, the form data  300  from which the key pair constituted of the n-th encryption key and the n-th decryption key is removed is re-encrypted and the re-encrypted form data  300  are stored as a file while the original form data  300  are deleted.  
         [0102]     Also, the decryption key, contained in the key pair corresponding to the current printing is encrypted with the common encryption key generated from a CPU serial number and a MAC address, and the encrypted decryption key is outputted as information necessary for a next printing (two-dimensional bar code image  602 ,  604 ). Then, at a next printing, the two-dimensional bar code image  602 ,  604  is entered and is decrypted by the common encryption key generated from the CPU serial number and the MAC address. Then thus decrypted two-dimensional bar code image  602 ,  604  is used to decrypt the form data  301 . In this manner, the second or subsequent use is enabled only in a client environment which used the form body data (contents)  301  in the first time, and the security against an improper use, an improper copying and an improper distribution can be improved.  
         [0103]     In the present embodiment, improper reuse of the form body data  301  is effectively prevented by deleting the original form data  300 , but it is also possible to overwrite the original form data  300  with the re-encrypted form data  300 .  
         [0104]     Also in the present embodiment, a two-dimensional bar code image is used for preventing the improper reuse in the next and subsequent printing, but an electronic watermark may be employed instead of the two-dimensional bar code image.  
         [0105]     Also in the present embodiment, the encryption key and the decryption key are made mutually different, but it is also possible to utilize a common key encryption in which the encryption key and the decryption key are same.  
       Second Embodiment  
       [0106]     In the following, a second embodiment of the present invention will be explained. In contrast to the foregoing first embodiment in which the print frequency is restricted by the number of the key pairs  303 , the present embodiment attaches an upper limit value of print frequency to the form data and limits the print frequency utilizing such upper limit value of print frequency. Also in contrast to the foregoing first embodiment in which the form server  1001  generates the key pair, the present embodiment generates the key pair in the client PC. Since the present embodiment is different from the first embodiment only in a part of the software process, in the following description, portions same as those in the foregoing first embodiment will be represented by corresponding symbols as in FIGS.  1  to  5 A and  5 B and will not be explained in detail.  
         [0107]      FIG. 8  is a view showing an example of the content of form data delivered in the present embodiment, in which form data  800 , constituted of form body data  301 , a form ID  302  and a remaining use (print) frequency of the form data  800 , are delivered from the form server  1001  to the client PC  1002 .  
         [0108]     In the following, there will be explained, with reference to a flow chart shown in  FIG. 7 , an example of operations of the form server  1001  when a request is received from the client PC  1002 .  
         [0109]     In  FIG. 7 , steps S 71 -S 76  are same as the steps S 1 -S 6  shown in  FIG. 3 .  
         [0110]     When a step S 71  receives an HTTP request from the client PC  1002 , the sequence proceeds to a step S 72  to discriminate whether the received HTTP request is same as an HTTP request received in the past.  
         [0111]     As a result of such discrimination, if it is same, the sequence proceeds to a step S 73  to obtain form body data  301  and a generation time thereof from a form DB provided in the form server  1001 .  
         [0112]     On the other hand, if it is not same, the sequence proceeds to a step S 74  to generate form body data  301  based on the content of the HTTP request and to store the generated form body data  301  and the generation time thereof.  
         [0113]     Then a step S 75  generates a unique form ID  302  from the generation time of the form body data  301  and the receiving time of the request.  
         [0114]     Then a step S 76  determines a use frequency upper limit value, based on the kind of the form body data  301 , the client PC  1002  that has issued the HTTP request, and an authority of a person who has issued the HTTP request.  
         [0115]     Then a step S 77  generates delivery data (form data)  800  by attaching the form ID  302  generated in the step S 75  and the print frequency upper limit determined in the step S 76  to the form body data  301 .  
         [0116]     Finally, a step S 78  delivers the delivery data (form data)  800  generated in the step S 77 , to the client PC  1002  which is the transmission source of the HTTP request received in the step S 71 .  
         [0117]     Then operations of the client PC  1002  that have received the deliver data (form data)  800 , the printer  1003  and the scanner  1004  will be explained with reference to  FIGS. 9, 10A  and  10 B.  
         [0118]      FIG. 9  is a flow chart showing a process in which the client PC  1002  receives the delivered data (form data)  800  and executes a first printing of the form body data  301  contained in the received form data  800 .  
         [0119]     In  FIG. 9 , steps S 81 -S 83  are same as the steps S 11 -S 13  shown in  FIG. 4 .  
         [0120]     At first when a step S 81  receives the delivery data (form data)  800  from the form server, the client PC  1002  in a step S 82  stores the received form data  800  in a main memory, and, in a step S 83 , generates print form image data based on the form body data  301 , contained in the stored form data  800 .  
         [0121]     In a step S 84 , the client PC  1002  discriminates whether a print frequency upper limit (remaining use frequency)  801 , attached to the form data  800  stored in the main memory in the step S 82 , is 1 or larger. In case the discrimination identifies that the print frequency upper limit (remaining use frequency)  801  is not 1 nor larger (namely 0), the sequence skips steps S 85 -S 89  to be explained later and proceeds to a step S 90 .  
         [0122]     On the other hand, in case the print frequency upper limit (remaining use frequency)  801  is 1 or larger, the sequence proceeds to a step S 85  and the client PC  1002  generates (calculates) a common encryption key as in the step S 15  shown in  FIG. 4 .  
         [0123]     Then, in a step S 86 , the client PC  1002  generates a key pair of an encryption key and a decryption key utilizing a random number.  
         [0124]     Then, in a step S 87 , the client PC  1002  encrypts the decryption key generated in the step S 86  with the common encryption key generated in the step S 85 .  
         [0125]     Then, in a step S 88 , the client PC  1002  converts, as in the step S 17  in  FIG. 4 , the form ID  302  contained in the form data  800  stored in the main memory in the step S 82  and the decryption key encrypted in the step S 87  into a two-dimensional bar code, thereby generating two-dimensional bar code data.  
         [0126]     In a step S 89 , the client PC  1002 , as in the step S 18  shown in  FIG. 4 , generates print image data based on the print form image data generated in the step S 83  and the two-dimensional bar code image data generated in the step S 88 .  
         [0127]     In a step S 90 , the client PC  1002 , as in the step S 19  shown in  FIG. 4 , transmits the print image data generated in the step S 89  to the printer  1003 . The printer  1003  executes printing of the print form image data and the two-dimensional bar code image data as a set.  
         [0128]     Then, in a step S 91 , the client PC  1002  discriminates whether a print frequency upper limit (remaining use frequency)  801 , attached to the form data  800  stored in the main memory in the step S 82 , is 1 or larger. In case the discrimination identifies that the print frequency upper limit (remaining use frequency)  801  is not 1 nor larger (namely 0), the sequence skips steps S 92 -S 95  to be explained later and proceeds to a step S 96 .  
         [0129]     On the other hand, in case the print frequency upper limit (remaining use frequency)  801  is 1 or larger, the sequence proceeds to a step S 92  and the client PC  1002  subtracts 1 from the print frequency upper limit (remaining use frequency)  801  attached to the form data  800  stored in the main memory.  
         [0130]     Then, in a step S 93 , the client PC  1002  encrypts the form data  800 , in which the print frequency upper limit (remaining use frequency)  801  is decreased by 1 in the step S 92 , with the encryption key generated in the step S 86 .  
         [0131]     In a step S 94 , the client PC  1002  stores the form data  800 , in which the print frequency upper limit (remaining use frequency)  801  is decreased by 1 in the step S 92  and which are encrypted in the step S 93 , as a file, and deletes the original form data  800  stored in the main memory.  
         [0132]     In a step S 95 , the client PC  1002 , as in the step S 24  shown in  FIG. 4 , associates a file name of the form data  800  stored in the step S 94  and the form ID  302  contained therein and stores them in an index file.  
         [0133]     Finally, in a step S 96 , the client PC  1002 , as in the step S 26  in  FIG. 4 , erases the original data stored in the main memory in the step S 82 .  
         [0134]     In the following, there will be explained a process when a second or subsequent printing is executed on the form body data  301  contained in the form data  900  with reference to flow charts in  FIGS. 10A and 10B .  
         [0135]     In  FIGS. 10A and 10B , steps S 101 -S 105  are same as the steps S 31 -S 34  shown in  FIGS. 5A and 5B .  
         [0136]     At first when the client PC  1002  receives a reprint request from the user in a step S 101 , the client PC  1002  in a step S 102  requests an input of the key paper, outputted simultaneously at the previous form printing, from the scanner  104 . When the two-dimensional bar code image  602  is inputted from the scanner  104  in a step S 103 , a step S 104  converts the two-dimensional bar code image inputted in the step S 103  into binary data.  
         [0137]     In a step S 105 , the client PC  1002  extracts, from the binary data converted from the two-dimensional bar code image in the step S 104 , the form ID  302  and the encrypted decryption key.  
         [0138]     In a step S 106 , the client PC  1002 , as in the step S 36  shown in  FIGS. 5A and 5B , extracts from the index file a form data file name corresponding to the form ID  302  extracted in the step S 105 .  
         [0139]     In a step S 107 , the client PC  1002 , as in the step S 37  shown in  FIGS. 5A and 5B , generates (calculates) a common encryption key based on information specific to the client environment. The information specific to the client environment is for example a CPU serial number and a MAC address of the client PC  1002 .  
         [0140]     In a step S 108 , the client PC  1002  decrypts the decryption key extracted in the step S 105 , with the common encryption key generated in the step S 107 .  
         [0141]     In a step S 109 , the client PC  1002  decrypts the form data  800 , stored as a file (hereinafter called form data file), with the decryption key decrypted in the step S 108  and writes the decrypted form data file in the memory.  
         [0142]     In a step S 110 , the client PC  1002  deletes the original form data file, as in the step S 40  shown in  FIGS. 5A and 5B .  
         [0143]     In a step S 111 , the client PC  1002 , as in the step S 41  in  FIGS. 5A and 5B , generates print form image data from the form body data  301 , contained in the form data file written in the memory in the step S 109 .  
         [0144]     Then, in a step S 112 , the client PC  1002  discriminates whether a print frequency upper limit (remaining use frequency)  801 , contained in the form data file stored in the memory in the step S 109 , is 1 or larger. In case the discrimination identifies that the print frequency upper limit (remaining use frequency)  801  is not 1 nor larger (namely 0), the sequence skips steps S 113 -S 117  to be explained later and proceeds to a step S 118 .  
         [0145]     On the other hand, in case the print frequency upper limit (remaining use frequency)  801  is 1 or larger, the sequence proceeds to a step S 113  and the client PC  1002 , as in the step S 43  in  FIGS. 5A and 5B , generates (calculates) a common encryption key based on information specific to the client environment. The information specific to the client environment is, for example, a CPU serial number and a MAC address of the client PC  1002 .  
         [0146]     Then, in a step S 114 , the client PC  1002  generates a key pair of an encryption key and a decryption key utilizing a random number.  
         [0147]     Then, in a step S 115 , the client PC  1002  encrypts the decryption key generated in the step S 114  with the common encryption key generated in the step S 113 .  
         [0148]     Then, in a step S 116 , the client PC  1002  converts the form ID  302  contained in the form data file stored in the memory in the step S 109  and the decryption key generated in the step S 114  into a two-dimensional bar code, thereby generating two-dimensional bar code data.  
         [0149]     In a step S 117 , the client PC  1002 , as in the step S 46  shown in  FIGS. 5A and 5B , generates print image data based on the print form image data generated in the step S 111  and the two-dimensional bar code image data generated in the step S 116 .  
         [0150]     In a step S 118 , the client PC  1002 , as in the step S 47  shown in  FIGS. 5A and 5B , transmits the print image data generated in the step S 117  to the printer  1003 . The printer  1003  executes printing of the print form image data and the two-dimensional bar code image data as a set.  
         [0151]     Then, in a step S 119 , the client PC  1002  discriminates whether a print frequency upper limit (remaining use frequency)  801 , attached to the form data  800  stored in the main memory, is 1 or larger. In case the discrimination identifies that the print frequency upper limit (remaining use frequency)  801  is not 1 nor larger (namely 0), the sequence skips steps S 120 -S 123  to be explained later and proceeds to a step S 124 .  
         [0152]     On the other hand, in case the print frequency upper limit (remaining use frequency)  801  is 1 or larger, the sequence proceeds to a step S 120  and the client PC  1002  subtracts 1 from the print frequency upper limit (remaining use frequency)  801  attached to the form data  800  stored in the main memory.  
         [0153]     Then, in a step S 121 , the client PC  1002  encrypts the form data  800 , in which the print frequency upper limit (remaining use frequency)  801  is decreased by 1 in the step S 120 , with the encryption key generated in the step S 114 .  
         [0154]     In a step S 122 , the client PC  1002  stores the form data  800 , in which the print frequency upper limit (remaining use frequency)  801  is decreased by 1 in the step S 120  and which are encrypted in the step S 121 , as a file, and deletes the original form data  800  stored in the main memory.  
         [0155]     In a step S 123 , the client PC  1002 , as in the step S 95  shown in  FIGS. 5A and 5B , associates a file name of the form data  800  stored in the step S 122  and the form ID  302  contained therein and stores them in an index file.  
         [0156]     Finally, in a step S 124 , the client PC  1002 , as in the step S 54  in  FIGS. 5A and 5B , erases the original data stored in the main memory.  
         [0157]     As explained in the foregoing, the present embodiment, in which the print frequency upper limit  801  is attached to the form data  800  and the print frequency is limited by such print frequency upper limit  801 , provides an effect that the file size of the form data  800  does not change for each use, in addition to the effects of the aforementioned first embodiment.  
         [0158]     Also, as in the aforementioned fist embodiment, it is possible to overwrite the original form data  300  with the re-encrypted form data  300  thereby effectively preventing an improper reuse of the form body data  301 .  
         [0159]     It is also possible to utilize an electronic watermark for preventing the improper reuse in the next and subsequent printing.  
         [0160]     Also a common key encryption method in which the encryption key and the decryption key are same may be employed.  
       Third Embodiment  
       [0161]     In the following, a third embodiment of the present invention will be explained. In contrast to the foregoing first embodiment in which the data necessary for the next printing (two-dimensional bar code data) and the form body data  301  are outputted to a same destination, the present embodiment has different destinations. Since the present embodiment is different from the first embodiment only in a part of the software process, in the following description, portions same as those in the foregoing first embodiment will be represented by corresponding symbols as in FIGS.  1  to  6  and  15  and will not be explained in detail.  
         [0162]      FIG. 12  is a view showing an example of the content of form data delivered in the present embodiment, in which form data  1200 , constituted of form body data  301 , a form ID  302 , key pairs  303  of encryption keys and decryption keys, and data  1201  indicating a destination of data required for a next printing (hereinafter called re-decryption key), are delivered from the form server  1001  to the client PC  1002 .  
         [0163]     In the following, there will be explained, with reference to a flow chart shown in  FIG. 11 , an example of operations of the form server  1001  when a request is received from the client PC  1002 .  
         [0164]     In  FIG. 11 , steps S 131 -S 137  are same as the steps S 1 -S 6  shown in  FIG. 3 .  
         [0165]     When a step S 131  receives an HTTP request from the client PC  1002 , the sequence proceeds to a step S 132  to discriminate whether the received HTTP request is same as an HTTP request received in the past.  
         [0166]     As a result of such discrimination, if it is same, the sequence proceeds to a step S 133  to obtain form body data  301  and a generation time thereof from a form DB provided in the form server  1001 .  
         [0167]     On the other hand, if it is not same, the sequence proceeds to a step S 134  to generate form body data  301  based on the content of the HTTP request and to store the generated form body data  301  and the generation time thereof.  
         [0168]     Then a step S 135  generates a unique form ID  302  from the generation time of the form body data  301  and the receiving time of the request.  
         [0169]     Then a step S 136  determines a use frequency upper limit value, based on the kind of the form body data  301 , the client PC  1002  that has issued the HTTP request, and an authority of a person who has issued the HTTP request.  
         [0170]     Then a step S 137  generates a key pair  303  of an encryption key and a decryption key by a number of the print frequency upper limit value determined in the step S 136 .  
         [0171]     Then, in a step S 138 , the client PC  1002  obtains a destination  1201  of the re-decryption key based on an operation of an input device (keyboard or mouse) by the user and generates delivery data (form data)  1200  by attaching the obtained destination  201  of the re-decryption key, the key pairs  303  generated in the step S 137  and the form ID  302  generated in the step S 135  to the form body data  301  obtained in the step S 133  or S 134 .  
         [0172]     Finally, a step S 139  delivers the delivery data (form data)  1200  generated in the step S 138 , to the client PC  1002  which is the transmission source of the HTTP request received in the step S 131 .  
         [0173]     Then operations of the client PC  1002  that have received the deliver data (form data)  1200 , the printer  1003  and the scanner  1004  will be explained with reference to  FIGS. 13, 14A  and  14 B.  
         [0174]      FIG. 13  is a flow chart showing a process in which the client PC  1002  receives the delivered data (form data)  1200  and executes a first printing of the form body data  301  contained in the received form data  1200 .  
         [0175]     In  FIG. 13 , steps S 141 -S 146  are same as the steps S 11 -S 16  shown in  FIG. 4 .  
         [0176]     At first when a step S 141  receives the delivery data (form data)  1200  from the form server  1001 , the client PC  1002  in a step S 142  stores the received form data  1200  in a main memory, and, in a step S 143 , generates print form image data based on the form body data  1201 , contained in the stored form data  1200 .  
         [0177]     In a step S 144 , the client PC  1002  discriminates whether a first key pair is contained in the stored form data  1200 . In case the discrimination identifies that the first key pair is not contained, the sequence skips steps S 145 -S 147  to be explained later and proceeds to a step S 148 .  
         [0178]     On the other hand, in case the first key pair is contained, the sequence proceeds to a step S 145  and the client PC  1002  generates (calculates) a common encryption key based on information specific to the client environment. The information specific to the client environment is, for example, a CPU serial number and a MAC address of the client PC  1002 .  
         [0179]     Then, in a step S 146 , the client PC  1002  encrypts the first decryption key  303   b  with the common encryption key generated in the step S 145 .  
         [0180]     Then, in a step S 147 , the client PC  1002  combines the form ID  302  contained in the form data  1200  stored in the main memory in the step S 142  and the first decryption key encrypted in the step S 146  and outputs the data to the destination  1201  contained in the form data  1200  stored in the main memory in the step S 142 .  
         [0181]     In a step S 148 , the client PC  1002  transmits the print image data generated in the step S 148  to the printer  1003 . The printer  1003  executes printing of the print form image data.  
         [0182]     The body of the contents (form body data  301 ) and the re-encryption key may be outputted in a same method or in different methods. Also the destination (designated medium) of the re-encryption key can be, for example, a flexible disk, a memory card or a punched card.  
         [0183]     Following steps S 149 -S 155  are same as the steps S 20 -S 26  shown in  FIG. 4 .  
         [0184]     In a step S 149 , the client PC  1002  discriminates whether the form data  1200  stored in the main memory contains a first key pair. In case the discrimination identifies that the first key pair is not contained, the sequence skips steps S 150 -S 154  to be explained later and proceeds to a step S 155 .  
         [0185]     On the other hand, in case the first key pair is contained, the sequence proceeds to a step S 150  and the client PC  1002  obtains the first encryption key  303   a  stored in the main memory.  
         [0186]     Then, in a step S 151 , the client PC  1002  deletes the first key pair from the main memory.  
         [0187]     Then, in a step S 152 , the client PC  1002  encrypts the form data  1200 , from which the first key pair is deleted, with the first encryption key  303   a  obtained in the step S 150 .  
         [0188]     In a step S 153 , the client PC  1002  stores the form data  1200 , from which the first key pair is deleted in the step S 151  and which are encrypted in the step S 152 , as a file, and deletes the original form data  1200  stored in the main memory.  
         [0189]     In a step S 154 , the client PC  1002  associates a file name of the form data  1200  stored in the step S 153  and the form ID  302  contained therein and stores them in an index file.  
         [0190]     Finally, in a step S 155 , the client PC  1002  erases the original data stored in the main memory in the step S 142 .  
         [0191]     In the following, there will be explained a process when a second or subsequent printing is executed on the form body data  301  contained in the form data  1200  with reference to flow charts in  FIGS. 14A and 14B .  
         [0192]     In the following, there will be explained a process when a second or subsequent printing is executed on the form body data  301  contained in the form data  1200  with reference to flow charts in  FIGS. 14A and 14B .  
         [0193]     At first a step S 161  waits, as in the step S 101  shown in  FIGS. 10A and 10B , until a reprint request is made from the user. When a reprint request is made, the sequence proceeds to a step S 162  and the client PC  1002  displays, on a monitor, a message requesting an input of the re-encryption key from the designated medium.  
         [0194]     Then in a step S 163 , the client PC  1002  waits until the re-encryption key is inputted from the designated medium. When it is inputted, the sequence proceeds to a step S 164  and the client PC  1002  obtains the re-encryption key inputted in the step S 163 .  
         [0195]     Following steps S 165 -S 174  are same as the steps S 35 -S 44  in  FIGS. 5A and 5B .  
         [0196]     In a step S 165 , the client PC  1002  extracts the form ID  302  and the encrypted (n−1)th decryption key.  
         [0197]     In a step S 166 , the client PC  1002  extracts a form data file name corresponding to the form ID  302  extracted in the step S 165 .  
         [0198]     In a step S 167 , the client PC  1002  generates (calculates) a common encryption key based on information specific to the client environment. The information specific to the client environment is for example a CPU serial number and a MAC address of the client PC  1002 .  
         [0199]     In a step S 168 , the client PC  1002  decrypts the (n−1)th decryption key extracted in the step S 165 , with the common encryption key generated in the step S 167 .  
         [0200]     In a step S 169 , the client PC  1002  decrypts the form data  1200 , stored as a file (hereinafter called form data file), with the (n−1)th decryption key decrypted in the step S 168  and writes the decrypted form data file in the memory.  
         [0201]     In a step S 170 , the client PC  1002  deletes the original form data file.  
         [0202]     In a step S 171 , the client PC  1002  generates print form image data.  
         [0203]     Then, in a step S 172 , the client PC  1002  discriminates whether the form data file written in the memory in the step S 169  contains an n-th key pair. In case the discrimination identifies that the key pair is not contained, the sequence skips steps S 173 -S 175  to be explained later and proceeds to a step S 176 .  
         [0204]     On the other hand, in case the n-th key pair is contained, the sequence proceeds to a step S 173  and the client PC  1002  generates (calculates) a common encryption key based on information specific to the client environment. The information specific to the client environment is for example a CPU serial number and a MAC address of the client PC  1002 .  
         [0205]     Then, in a step S 174 , the client PC  1002  encrypts the n-th decryption key with the common encryption key generated in the step S 173 .  
         [0206]     Then, in a step S 175 , the client PC  1002  combines the form ID  302  contained in the form data  1200  decrypted in the step S 169  and the n-th decryption key encrypted in the step S 174  and outputs them to the destination  1201  of the re-decryption key contained in the form data  1200 .  
         [0207]     Following steps S 176 -S 183  are same as the steps S 47 -S 54  shown in  FIGS. 5A and 5B .  
         [0208]     In a step S 176 , the client PC  1002  transmits the print image data generated in the step S 171  to the printer  1003 . The printer  1003  executes printing of the print form image data.  
         [0209]     In a step S 177 , the client PC  1002  discriminates whether the main memory contains an n-th key pair. In case the discrimination identifies that the n-th key pair is not contained, the sequence skips steps S 178 -S 182  to be explained later and proceeds to a step S 183 .  
         [0210]     On the other hand, in case the n-th key pair is contained, the sequence proceeds to a step S 178  and the client PC  1002  obtains the n-th encryption key stored in the main memory.  
         [0211]     Then, in a step S 179 , the client PC  1002  deletes the n-th key pair from the main memory.  
         [0212]     Then, in a step S 180 , the client PC  1002  encrypts the form data  1200 , from which the n-th key pair is deleted, with the n-th encryption key obtained in the step S 178 .  
         [0213]     In a step S 181 , the client PC  1002  stores the form data  1200 , from which the n-th key pair is deleted and which were encrypted, as a file, and deletes the original form data  1200  stored in the main memory.  
         [0214]     In a step S 182 , the client PC  1002  associates a file name of the stored form data  1200  and the form ID  302  contained therein and stores them in an index file.  
         [0215]     Finally, in a step S 183 , the original data stored in the main memory are deleted.  
         [0216]     In the present embodiment as explained in the foregoing, the destination of the data required for the next printing (re-encryption key) and the destination of the form body data  301  are made different, so that the contents can be easily reused even in case the contents are not form body data but video data, in addition to the effects of the aforementioned first embodiment. More specifically, in the aforementioned first embodiment, in case the contents are not form body data  301  but video data or the like, it is difficult for the user to record the two-dimensional bar code as the data necessary for the next printing, displayed on the monitor, and to input it into the client PC  1002  at the next use, but the present embodiment can avoid such drawback.  
         [0217]     As in the aforementioned first embodiment, it is possible to effectively prevent the improper reuse of the form body data  301  by overwriting the original form data  1200  with the re-encrypted form data  1200 .  
         [0218]     Also it is possible to utilize a common key encryption in which the encryption key and the decryption key are same.  
       Other Embodiments  
       [0219]     The objects of the present invention can naturally be attained also in a case where program codes of a software realizing the functions of the aforementioned embodiments is supplied to a computer in a system or an apparatus which is connected with various devices to operate the devices so as to realize the functions of the aforementioned embodiments and the functions of the aforementioned embodiments are realized by a computer (CPU or MPU) of the above-mentioned system or apparatus according to the program.  
         [0220]     In such case the program codes themselves of the software realize the novel functions of the aforementioned embodiments, and the program codes themselves and the memory medium storing the program codes constitutes the present invention. The memory medium storing such program codes can be, for example, a flexible disk, a hard disk, an optical disk, a magnetooptical disk, a CD-ROM, a CD-R, a magnetic tape, a non-volatile memory card, or a ROM.  
         [0221]     The present invention also includes not only a case where the functions of the aforementioned embodiments are realized by the execution of the program codes read by the computer but also a case where an operating system or the like functioning on the computer executes all or a part of the actual processes under the control of such program codes thereby realizing the functions of the aforementioned embodiments.  
         [0222]     The present invention further includes a case wherein the program codes read from the memory medium are once stored in a function expansion board inserted into the computer or a function expansion unit connected to the computer, and a CPU provided in the function expansion board or the function expansion unit executes all the process or a part thereof under the control of such program codes, thereby realizing the functions of the aforementioned embodiments.  
         [0223]     The present invention has been explained by preferred embodiments, but the present invention is not limited to such embodiments but is subject to modifications within the scope and spirit of the appended claims.  
         [0224]     This application claims priority from Japanese Patent Application No. 2003-392727 filed Nov. 21, 2003, which is hereby incorporated by reference herein.