JPH09251426A - File ciphering system and its control method, and cipher file reception system and its control method - Google Patents

File ciphering system and its control method, and cipher file reception system and its control method

Info

Publication number
JPH09251426A
JPH09251426A JP8182977A JP18297796A JPH09251426A JP H09251426 A JPH09251426 A JP H09251426A JP 8182977 A JP8182977 A JP 8182977A JP 18297796 A JP18297796 A JP 18297796A JP H09251426 A JPH09251426 A JP H09251426A
Authority
JP
Japan
Prior art keywords
file
encryption
information processing
processing apparatus
means
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.)
Pending
Application number
JP8182977A
Other languages
Japanese (ja)
Inventor
Masato Arai
Hiromichi Ito
Hajime Morifuji
Yutaka Otsu
Mayuko Shimizu
Seiichi Suzaki
Hisashi Umeki
浩道 伊藤
豊 大津
久志 梅木
元 森藤
誠一 洲崎
麻由子 清水
正人 荒井
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
Priority to JP8-2046 priority Critical
Priority to JP204696 priority
Application filed by Hitachi Ltd, 株式会社日立製作所 filed Critical Hitachi Ltd
Priority to JP8182977A priority patent/JPH09251426A/en
Publication of JPH09251426A publication Critical patent/JPH09251426A/en
Application status is Pending legal-status Critical

Links

Abstract

PROBLEM TO BE SOLVED: To provide a safe cipher file reception system and its method which need only one cipher file even when plural users access the same WWW(world wide web). SOLUTION: This cipher file reception system includes a server information processor 120 which includes a shared file cipher program 21b and previously ciphers the information transmitted through a WWW to store them in a magnetic disk 5b, and a client information processor 110 which includes a shared file cipher program 21a and a communication API hook program. Then the system hooks the communication API call sent from a browser program and automatically decodes the received file data.

Description

【発明の詳細な説明】 DETAILED DESCRIPTION OF THE INVENTION

【0001】 [0001]

【発明の属する技術分野】本発明は、情報処理装置のファイルの暗号化システムおよびその制御方法ならびに通信回線を通じて暗号ファイルを受信する際のデータ受信制御方法に係り、特に、複数のユーザーが復号可能な暗号ファイルを作成あるいは復号化する場合に好適な、共用ファイル暗号システム及びその制御方法ならびにアプリケーションプログラムにとって透過な暗号ファイル受信システム及びその制御方法に関する。 The present invention relates to relates to a data reception control process when receiving the encrypted files through encryption system and a control method and a communication line of a file of the information processing apparatus, in particular, it can decode multiple users suitable when creating or decrypt a ciphertext file, to the shared file encryption system and transmission encryption file reception system and a control method thereof for its control method, and an application program.

【0002】 [0002]

【従来の技術】パーソナルコンピュータなどの情報処理装置が普及するにつれて、各情報処理装置毎の磁気記憶装置上に保管していたユーザーのプログラムファイル、 As an information processing apparatus such as the Related Art Personal computers are popular, users of the program file that was stored on a magnetic storage device for each information processing apparatus,
データファイルなどを一箇所の大容量磁気記憶装置に保管し、各情報処理装置のユーザーがファイルを共用する、といった使い方が行われるようになってきた。 Such as data files stored on a large capacity magnetic storage device one position, the user to share the file of each information processing apparatus, use such has come to be performed. 一般的には、ファイルサーバプログラムが搭載されたサーバ情報処理装置と該サーバ情報処理装置へアクセスするためのクライアントプログラムが搭載された複数のクライアント情報処理装置をネットワークで接続し、サーバ情報処理装置上のファイルを各クライアント情報処理装置からアクセスし利用する。 In general, connecting a plurality of client information processing apparatus that the client program is installed for the file server program accesses to the onboard server information processing apparatus and the server information processing apparatus on the network, the server information processing apparatus on the access the files from each client information processing apparatus to be used. このようなファイル共用システムは、従来は企業等の内部で閉じていたが、インターネットと呼ばれる世界的規模のネットワークの普及と共に、このインターネットと企業内ネットワークを接続し企業外からもアクセス可能とするケースが増大している。 Case Such file sharing system has been conventionally closed within such companies, together with the spread of worldwide network called the Internet, also accessible from the non-enterprise connect this Internet and corporate network There has been an increase. 上述のようなファイル共用システムの普及とネットワークの広域化は、ファイルサーバ上の共用ファイルのセキュリティ即ち不正アクセスに対する防御の必要性を従来にも増して高くしている。 Wide-area dissemination and network above shared file system such as is in high need for protection against security i.e. unauthorized access shared files on the file server than ever before.

【0003】サーバ情報処理装置上のファイルのセキュリティを保つ方法としては、ファイルサーバプログラムが具備するユーザー認証機構と、該ユーザー認証に基づいた、各ファイルへのアクセス権限設定/確認機構を用いるのが一般的である。 As a method to maintain the security of the files on the server information processing apparatus, and user authentication mechanisms file server program comprises, the based on the user authentication, to use an access authority setting / verifier to each file it is common. しかし、この方式ではネットワーク上を流れるデータの暗号化が行われないため、盗聴による不正アクセスが可能である。 However, in this method for encryption of data flowing on the network is not performed, it is possible unauthorized access by eavesdropping. そこで、より高いセキュリティが必要な場合には、格納しているファイル或いはネットワーク上を流れるファイルのデータを秘密鍵や公開鍵を用いて暗号化するのが一般的である。 Therefore, when a higher security is required, to encrypt data files flowing file or across the network are stored by using a secret key and a public key are common. これらの暗号化方法については、「データ保護と暗号化の研究」一松信監修、日本経済新聞社(昭58)などで詳しく開示されている。 For information about these encryption methods, "data protection and encryption of research" Hitotsumatsu trust supervision, have been disclosed in detail in, such as Nihon Keizai Shimbun (Akira 58).

【0004】また、前記インターネットにおいては、情報発信機能を持つWWW(World−Wide We [0004] In addition, in the Internet, WWW with information transmission function (World-Wide We
b)サーバを利用し、ハイパーテキストと呼ばれる形式の文書ファイルで情報を提供するのが一般的となっている。 b) using a server, to provide the information in the document file format called hypertext has become common. 前記ハイパーテキストを解釈し、グラフィカルに表示するソフトウェアはブラウザと呼ばれ、広く普及している。 It interprets the hypertext, software to be displayed graphically is called a browser, has been widely used. 前記ハイパーテキストの言語仕様としては、HT The language specification of the hypertext, HT
ML(HyperTextMarkup Langua ML (HyperTextMarkup Langua
ge)が一般に用いられており、この言語仕様やHTM ge) have been used in general, the language specification and HTM
Lで記述されたファイルを表示するブラウザについては、「UNIX MAGAZINE」(1994.1 For the browser to display files written in L, "UNIX MAGAZINE" (1994.1
0)pp. 0) pp. 52−60などで詳しく述べられている。 It is described in detail in, such as 52-60. なお、殆どのHTMLファイルは他のHTMLファイルやイメージデータファイルとリンクしており、前記ブラウザはHTMLファイルを受信した後で、それがリンクしているイメージデータファイルを受信し、該HTMLファイルの内容と合わせて同一画面に表示する。 In addition, most of the HTML file is linked with other HTML files and image data files, the browser after receiving the HTML file, receives the image data file to which it is linked, the contents of the HTML file displayed on the same screen together with. これらH These H
TMLファイルとそれにリンクされたイメージデータファイルを総括してページと呼ぶ。 TML files and are collectively linked image data file to it is referred to as a page.

【0005】上記WWWサーバは、HTTP(Hype [0005] The WWW server, HTTP (Hype
rtext Transfer Protocol)という通信規約に基づいて、上記HTMLファイルやイメージデータをブラウザに送信する。 rtext Transfer Protocol) based on the communication convention that, transmits the HTML file and image data to the browser. この時、インターネット上を流れるデータは暗号化されていないため、WW At this time, the data flowing on the Internet is not encrypted, WW
Wサーバに機密情報を含むページを格納することはセキュリティ上問題がある。 Storing the page containing the confidential information to the W server there is a security problem. インターネット上を流れるデータの暗号化手段としては、例えばSecureHTTP The encryption means of the data flowing on the Internet, for example SecureHTTP
やSSL(Secure Socket Layer) And SSL (Secure Socket Layer)
などが挙げられる。 And the like. また、これらの技術については、 In addition, for these techniques,
「日経コミュニケーション」日経BP社(1995.1 "Nikkei Communication" Nikkei BP Inc. (1,995.1
2.4 p75−80)などに記載されている。 2.4 p75-80) are described, for example.

【0006】 [0006]

【発明が解決しようとする課題】上述の暗号化は不正アクセスに対する防御ならびにデータの盗聴や改ざんに対する防御という観点からは十分ではあるが、複数のユーザーが同一のファイルを安全にアクセスできるようにするためには、ユーザー毎に異なる鍵を用いる必要があり鍵の管理が困難であるという課題がある。 [0007] The above described encryption of albeit satisfactory from the viewpoint of protection against defense and data interception and tampering with unauthorized access, to allow multiple users to securely access the same file Therefore, the there is a problem that the need to use different keys for each user key management is difficult. また、格納されているファイルを暗号化する場合には、鍵毎に暗号化ファイルを作成する必要があり、記憶装置の記憶容量を多く消費してしまうという課題がある。 Further, when encrypting files stored, it is necessary to create an encrypted file for each key, there is a problem that it consumes more memory capacity of the memory device. また、通信時にネットワーク上のデータを暗号化する方法においては、 Further, in the method of encrypting the data on the network at the time of communication,
暗号/復号処理のためアクセス速度が低下してしまうという課題もある。 There is also a problem that the access speed for the encryption / decryption process is reduced. さらに、通信時にネットワーク上のデータを暗号化する方法においては、暗号化処理のためアクセス速度が低下してしまうという課題と、WWWサーバが機密情報を平文ファイルで管理しているため、該平文ファイルを管理する情報処理装置に直接アクセスすることで機密情報が漏れてしまうという課題とがある。 Further, in the method of encrypting data on the network at the time of communication, since the problem of access speed for the encryption process is reduced, WWW server manages confidential information in the clear file, plaintext file there is a problem that the confidential information leaks by directly accessing the information processing apparatus for managing.

【0007】また、ファイル共用システムの場合、クライアント情報処理装置が必ずしも復号化ソフトウェアプログラムを具備しているとは限らない。 [0007] In the case of a shared file system, not necessarily the client information processing apparatus is not necessarily provided with a decoding software program. 暗号化されたファイルを復号化ソフトウェアが具備されていない情報処理装置上のアプリケーションプログラムで読み出した場合、該情報処理装置のモニタ画面上に意味のない文字や記号が表示されたり、該アプリケーションプログラムが異常動作することがあるという課題がある。 If the decryption software encrypted file is read by the application program on the information processing apparatus that is not provided, or characters and symbols meaningless to monitor screen of the information processing apparatus is displayed, the application program there is a problem in that there can be abnormal operation.

【0008】また、格納するファイルを暗号化する方法では、ユーザーが暗号化操作を忘れてしまい、不正なアクセスから防御すべきファイルを平文で格納してしまうという課題がある。 [0008] In addition, in the method of encrypting a file to be stored, the user forget the encryption operation, there is a problem that stores the file to be protected from unauthorized access in the clear.

【0009】また、インターネット上で上記ブラウザを具備するクライアント情報処理装置が必ずしも復号化ソフトウェアプログラムを具備しているとは限らない。 Furthermore, not always the client information processing apparatus having the browser on the internet is not necessarily provided with a decoding software program. 暗号化されたファイルを復号化ソフトウェアが具備されていない情報処理装置上のブラウザで読み出した場合、該情報処理装置のモニタ画面上に意味のない文字や記号が表示されたり、該ブラウザプログラムが異常動作することがあるという課題がある。 If the decryption software encrypted file is read in a browser on the information processing apparatus that is not provided, or characters and symbols meaningless to monitor screen of the information processing apparatus is displayed, the browser program abnormal there is a problem that may operate.

【0010】そこで、本発明の目的は、複数のユーザーが同一のファイルを利用する場合にも暗号化ファイルが一個で済み且つ安全なファイル暗号化システムおよびその制御方法を提供することにある。 An object of the present invention is to provide a and secure file encryption system and a control method requires only one encrypted file even when a plurality of users use the same file.

【0011】また、本発明の他の目的は、複数のユーザーが同一のディレクトリ内のファイルを暗号化する場合に、復号化を許可するユーザーをユーザー毎に設定可能なファイル暗号化システムおよびその制御方法を提供することにある。 [0011] It is another object of the present invention, when a plurality of users to encrypt files in the same directory, configurable file encryption system and its control who can decrypt each user It is to provide a method.

【0012】また本発明の他の目的は、復号化ソフトウェアを具備していないクライアント情報処理装置において暗号化されたファイルを読み出した場合にも、異常動作することのないファイル暗号化システムおよびその制御方法を提供することにある。 [0012] Another object of the present invention, even when reading the encrypted file in the client information processing apparatus that does not include a decoding software malfunction that no file encryption system and its control for It is to provide a method.

【0013】また、本発明の他の目的は、ユーザーが暗号化を忘れることのないファイル暗号化システムおよびその制御方法を提供することにある。 [0013] Another object of the present invention is that the user provides that no file encryption system and a control method forget encryption.

【0014】さらに、本発明の目的は、インターネット上で複数のユーザーが同一のページをWWWサーバから受信する場合にも暗号ファイルが1ファイルにつき一個で済み、且つ安全な暗号ファイル受信システム及びその制御方法を提供することにある。 Furthermore, object of the present invention, cryptographic file even if multiple users on the Internet to receive the same page from the WWW server requires only one per file, and secure cryptographic file receiving system and its control It is to provide a method.

【0015】また、本発明の他の目的は、復号化ソフトウェアを具備していないクライアント情報処理装置において暗号化されたファイルを読み出した場合にも、異常動作することのない暗号ファイル受信システム及びその制御方法を提供することにある。 [0015] Another object of the present invention, even when reading the encrypted file in the client information processing apparatus not equipped with the decryption software, cryptographic file receiving system and not to malfunction to provide a control method.

【0016】さらに、本発明の他の目的は、受信した暗号ファイルの復号化処理を、ユーザーがファイル毎に明示的に指示する必要のない暗号ファイル受信システム及びその制御方法を提供することにある。 Furthermore, another object of the present invention is a decoding process of the encryption file received, to the user to provide explicit instructions cryptographic file reception system and a control method thereof that do not need to be in each file .

【0017】 [0017]

【課題を解決するための手段】上記目的は、少なくともファイルへの入出力制御機能を持つオペレーティングシステム(OS)と、前記ファイルを格納する記憶装置とを具備する情報処理装置において、暗号化を行う対象ディレクトリを予めユーザー毎に複数設定可能な暗号化ディレクトリ記憶手段と、前記記憶手段の記憶データを暗号化する手段と、前記OS上で動作するアプリケーションプログラムから前記ディレクトリ内のファイルへの書き込みデータを暗号化する暗号化手段とを設けることによって達成される。 SUMMARY OF THE INVENTION The above object is performed with the operating system (OS) having the input and output control functions to at least a file, in an information processing apparatus having a storage device for storing the file, the encryption a plurality configurable encryption directory memory means in advance for each user to the target directory, and means for encrypting data stored in said storage means, writing data to a file in the directory from the application program operating on the OS It is achieved by providing an encryption means for encrypting.

【0018】また、上記他の目的は、少なくともファイルへの入出力制御機能を持つオペレーティングシステム(OS)と、前記ファイルを格納する記憶装置と、前記ファイルを暗号化するファイル暗号化手段と、前記ファイルを復号化する復号化手段とを具備する情報処理装置において、前記ファイル暗号化手段は、アプリケーションプログラムが解釈し処理する文法に従って記述された平文ファイルのデータ暗号化において、前記文法における前記アプリケーションプログラム処理時に処理対象外として無視する注釈文とするための記述子を前記暗号化後のデータに付加し暗号ファイルとして格納し、前記ファイル復号化手段は、前記暗号ファイルのデータ復号化において、前記注釈文のための記述子によって注釈文とされたデータ部分 [0018] The other objects, an operating system (OS) having the input and output control functions to at least a file, a storage device for storing the file, the file encryption unit for encrypting the file, the an information processing apparatus comprising a decoding means for decoding the file, the file encryption unit, the data encryption of the plaintext file described in accordance with grammar application program interprets processing, the application program in the grammar the descriptor for the reminder text to be ignored as out processed during processing is stored as an additional encrypted file data after the encryption, the file decryption unit in the data decryption of the encrypted file, the annotation data portion and an annotation text by descriptor for the text 復号化し、暗号化前の平文ファイルのデータとして格納することによって達成される。 Decoded, it is achieved by storing the data in unencrypted plaintext file.

【0019】また、上記他の目的は、前記アプリケーションプログラムから前記OSに発行されるファイル操作要求をフックするフック手段を設け、前記ファイル操作要求発行時に自動的に暗号化あるいは復号化を行う手段を設けることによって達成される。 Further, the other object, a hook means for hooking the file operation request issued to the OS from the application program provided, automatically means for encrypting or decoding when the file operation request issued It is achieved by providing.

【0020】上記目的は、少なくとも通信制御機能とファイルへの入出力制御機能を持つオペレーティングシステム(OS)と、前記ファイルを格納する記憶装置とを具備する第一の情報処理装置と、該第一の情報処理装置とはネットワークで接続され、少なくとも前記第一の情報処理装置上の記憶装置からファイルを受信するための通信制御機能を持つオペレーティングシステム(OS) The above object, an operating system (OS) having the input and output control functions to at least a communication control function and a file, and the first information processing apparatus comprising a storage device for storing the file, said first the information processing apparatus connected via a network, an operating system having a communication control function for receiving a file from a storage device on at least the first information processing apparatus (OS)
を具備する第二の情報処理装置から構成されるシステムにおいて、前記ファイルを暗号化して該暗号ファイルに情報開示先となるユーザーのリストを添付するファイル暗号化手段と、前記第二の情報処理装置を利用するユーザーが、前記記憶装置に登録された前記暗号ファイルを受信したときに、該暗号ファイルを復号化する受信ファイル復号化手段と、前記ユーザーが前記ユーザーリストに含まれている場合には、前記受信ファイル復号化手段を呼び出し、含まれていない場合には復号化を行わないよう制御する復号権利判別手段とを設けることによって達成される。 In a system including a second information processing apparatus comprising: a file encryption means attach a list of users to be encrypted cryptographic file information disclosure destination the file, the second information processing apparatus users to utilize, when receiving the encrypted file registered in the storage device, the received file decoding means for decoding the encryption file, wherein when a user is on the user list calls the received file decoding means, if not contained is achieved by providing a decoding right discrimination means for controlling not to perform decoding.

【0021】また、上記他の目的は、少なくともファイルへの入出力制御機能を持つオペレーティングシステム(OS)と、前記ファイルを格納する記憶装置と、前記ファイルを暗号化するファイル暗号化手段とを具備する第一の情報処理装置において、前記ファイル暗号化手段は、アプリケーションプログラムが解釈し処理する文法に従って記述された平文ファイルのデータ暗号化において、前記文法における前記アプリケーションプログラム処理時に処理対象外として無視する注釈文とするための記述子を前記暗号化後のデータに付加し暗号ファイルとして格納し、前記受信ファイル復号化手段は、前記暗号ファイルのデータ復号化において、前記注釈文のための記述子によって注釈文とされたデータ部分を復号化し、 Further, the other object is provided with an operating system (OS) having the input and output control functions to at least a file, a storage device for storing the file, the file encryption unit for encrypting the file in the first information processing apparatus, the file encryption unit, the data encryption of the plaintext file described in accordance with grammar application program interprets processed, ignored as out processed when the application program process in the grammar the descriptor for the reminder text is added to the data after the encrypted stored as encrypted file, the received file decoding means, the data decoding of the ciphertext file, the descriptor for the reminder text decodes the data portion and annotations sentence,
暗号化前の平文ファイルのデータとしてアプリケーションプログラムに渡すことによって達成される。 It is accomplished by passing the application program as data before encryption plaintext file.

【0022】また、上記他の目的は、前記第二の情報処理装置において、前記アプリケーションプログラムから前記OSに発行されるデータ送受信要求をフックするフック手段を設け、該フック手段により前記アプリケーションプログラムより先に受信データをチェックし、該受信データが前記暗号ファイルのデータであれば復号化を行い、前記アプリケーションプログラムに渡すことによって達成される。 Further, the other object, in the second information processing apparatus, a hook means for hooking the data transmission and reception request is issued to the OS from the application program is provided, before the application program by said hooking means Check the received data to, if the received data is data of the ciphertext file performs decoding is accomplished by passing said application program.

【0023】 [0023]

【発明の実施の形態】以下、本発明の一実施例を図を用いて説明する。 DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, an embodiment of the present invention will be described with reference to FIG.

【0024】まず、全体のシステム構成を説明する。 [0024] First, a description will be given of the overall system configuration. 図1は、本発明の共用ファイル暗号システムの一構成例である。 Figure 1 shows a configuration example of a shared file encryption system of the present invention. 110はクライアント情報処理装置、120はサーバ情報処理装置である。 110 the client information processing apparatus 120 is a server information processing apparatus. サーバ情報処理装置120には、中央処理装置(CPU)1b、メモリ2b、LAN The server information processing apparatus 120, a central processing unit (CPU) 1b, memory 2b, LAN
コントローラ3b、ディスクコントローラ4b、磁気ディスク5bが具備されている。 Controller 3b, disk controller 4b, the magnetic disk 5b are provided. 前記サーバ情報処理装置120の起動時には、オペレーティングシステム(O Wherein the startup of the server information processing apparatus 120, an operating system (O
S)20bおよびファイルサーバプログラム25が、ディスクコントローラ4bを介して磁気ディスク5bからメモリ2b上にロードされる。 S) 20b and file server program 25 is loaded from the magnetic disk 5b on the memory 2b through the disk controller 4b. クライアント情報処理装置110には、CPU1a、メモリ2a、LANコントローラ3a、ディスクコントローラ4a、磁気ディスク5a、ICカードコントローラ6がそれぞれ具備されている。 The client information processing apparatus 110, CPU 1a, memory 2a, LAN controller 3a, the disk controller 4a, a magnetic disk 5a, IC card controller 6 is provided respectively. 前記クライアント情報処理装置110の起動時には、OS20a、クライアントプログラム24、共用ファイル暗号プログラム21、ファイルI/Oフックプログラム22が、前記ディスクコントローラ4aを介して前記磁気ディスク5aから前記メモリ2a上にロードされる。 Wherein the startup of the client information processing apparatus 110, OS20a, the client program 24, shared file encryption program 21, the file I / O hook program 22 is loaded from the magnetic disk 5a via the disk controller 4a on the memory 2a that. また、アプリケーションプログラム23は、前記クライアント情報処理装置110のユーザー(以下、単にユーザーと呼ぶ)の指示によって前記ディスクコントローラ4aを介して前記磁気ディスク5aから前記メモリ2a上にロードされる。 The application program 23, the client user of the information processing apparatus 110 (hereinafter, simply referred to as user) is loaded from the magnetic disk 5a via the disk controller 4a by the instructions on the memory 2a. 前記ファイルI/Oフックプログラム22は、アプリケーションプログラム23が前記OS20aに発行するファイルI/O APIをフック(横取り)し、ファイルデータの暗号化・復号化をバックグラウンドで自動的に行うものである。 The file I / O hook program 22 is an application program 23 the file I / O API to issue the OS20a hooks (intercepted), automatically performed in the background encryption and decryption of the file data .

【0025】前記サーバ情報処理装置120と前記クライアント情報処理装置110は、ローカルエリアネットワーク(LAN)101を介して相互に接続されており、各々のLANコントローラ3を介して通信を行う。 [0025] The server information processing apparatus 120 and the client information processing apparatus 110 are connected to each other via a local area network (LAN) 101, it communicates via respective LAN controller 3.
図1では一台のクライアント情報処理装置110を示したが、実際には、同じ構成のクライアント情報処理装置110が複数前記LAN101に接続されており、これらのクライアント情報処理装置110間で、前記サーバ情報処理装置120の前記磁気ディスク5bに格納されたファイルを共用する。 Although the FIG. 1, a single client information processing apparatus 110, in practice, the client information processing apparatus 110 having the same configuration are connected to a plurality the LAN 101, between these client information processing apparatus 110, the server share files stored on the magnetic disk 5b of the information processing apparatus 120. ユーザーは前記共用を行うため、前記クライアントプログラム24を介して前記磁気ディスク5b上の共用ファイルをアクセスする。 Because users performing the shared, through the client program 24 accesses the shared files on the magnetic disk 5b.

【0026】また、クライアント情報処理装置110のICカードコントローラ6は、ICカード130が脱着可能となっている。 Further, IC card controller 6 of the client information processing apparatus 110, IC card 130 is made detachable. 前記ICカード130内には、CP In the IC card 130, CP
U1c、不揮発性メモリ7、入出力インタフェース8が具備されている。 U1c, nonvolatile memory 7, input-output interface 8 is provided. 前記不揮発性メモリ7には、アクセス制御プログラム30、グループ暗号プログラム28、I Wherein the nonvolatile memory 7, the access control program 30, group encryption program 28, I
D情報29、マスタ鍵31が書き込まれている。 D information 29, the master key 31 has been written. 前記不揮発性メモリ7の内容は、前記入出力インタフェース8 The contents of the nonvolatile memory 7, the input and output interface 8
を介して外部からアクセスすることができる。 It can be accessed from the outside via the. ただし、 However,
不正なアクセスから前記不揮発性メモリ7の記憶内容を保護する為、前記CPU1cによるユーザー認証制御が必ず介在する仕組みとなっている。 To protect the stored contents of the nonvolatile memory 7 from unauthorized access, has a mechanism for user authentication control is always mediated by the CPU 1c.

【0027】図27は、前記共用ファイル暗号プログラム21と前記ファイルI/Oフックプログラム22を構成するプログラムルーチンを示す図である。 FIG. 27 is a diagram illustrating a program routine which constitutes the said shared file encryption program 21 file I / O hook program 22. 前記共用ファイル暗号プログラム21は、前記ICカード130へのログイン、ログアウトを行うログイン制御ルーチン1 Said shared file encryption program 21, log in to the IC card 130, the login control routine 1 for logout
000、ログアウト制御ルーチン1100、ユーザーがファイルの暗号化をその都度明示的に指示し暗号化する手動ファイル暗号化ルーチン2000、前記手動ファイル暗号化をHTML(Hyper Text Mark 000, logout control routine 1100, a manual file encryption routine 2000 the user each time explicitly instructed to encrypt the file encryption, the manual file encryption to HTML (Hyper Text Mark
up Language)で記述した共用ファイル向けにアレンジしたHTMLファイル暗号化ルーチン210 HTML file encryption routine 210 which is arranged in a shared file for written in up Language)
0から構成される。 0 consists of. 前記ファイルI/Oフックプログラム22は、ファイルオープンフックルーチン1200、 The file I / O hook program 22, file open hook routine 1200,
ファイルクリエイトフックルーチン1300、ファイルリードフックルーチン1400、ファイルライトフックルーチン1500、ファイルクローズフックルーチン1 File Create a hook routine 1300, file read hook routine 1400, file write hook routine 1500, file close hook routine 1
600、ファイルリネームフックルーチン1700から構成される。 600, composed from a file rename hook routine 1700.

【0028】図2は、前記ID情報29の内容の一例を示す図である。 [0028] FIG. 2 is a diagram showing an example of the contents of the ID information 29. ここでは、カテゴリ毎の内容を示すデータとそのコードを10組まで登録できるようになっている。 Here is to be able to register the data and the code indicating the content of each category to 10 pairs. 実際に前記不揮発性メモリ7に記憶するのは、データとコードの値だけである。 To actually stored in the nonvolatile memory 7 is only the value of data and code.

【0029】次に、上記グループ暗号プログラム28の動作について説明する。 [0029] Next, a description will be given of the operation of the above-mentioned group encryption program 28. グループ暗号では、復号化を許す相手の宛先リストを作成し、該宛先リストをハッシュ関数に入力することによって得られるハッシュ値を、暗号化・復号化の鍵に用いる。 The group encryption, creates a destination list of the other party to allow decoding, a hash value obtained by inputting the destination list to the hash function, used for key encryption and decryption. 前記鍵をグループ鍵51と呼ぶ。 The key is referred to as a group key 51. 本実施例における宛先リストは、前記ID情報2 Destination list in the present embodiment, the ID information 2
9を条件式で連結した形で表現する。 9 expressed in the form linked with the conditional expression. 具体的には、「カテゴリ番号」「データコード識別子」「演算子」「データ」を一組とし、カンマ(,)で区切って並べる。 More specifically, the "category number," "data code identifier," "operator," "data" as one set, arranged separated by a comma (,). このカンマは論理和の意味を持つ。 The comma has the meaning of the logical sum. 演算子としては、等しい(=)の他、大小(>、<)や論理積(^)を用いることができる。 The operator, other equal (=), the magnitude (>, <) may be used and logical product (^). 例えば、図2で示した前記ID情報29の定義を用いた場合、 「システム研究所の第四部の主任以上と暗号太郎」 という宛先に対する宛先リストは、 「5C=676^6C=04^8C>=5,2D=暗号太郎」 となる。 For example, in the case of using the definition of the ID information 29 shown in FIG. 2, the destination list to the destination referred to as "chief or a cryptographic Taro Part IV system Laboratory" is "5C = 676 ^ 6C = 04 ^ 8C > = 5,2D = the encryption Taro ".

【0030】図3は、前記宛先リストのハッシュ値を計算し前記グループ鍵51を作成する手順の一例を示す図である。 FIG. 3 is a diagram showing an example of a procedure of creating the group key 51 calculates a hash value of the destination list. 31はマスタ鍵、41は宛先リスト、51はグループ鍵、32はハッシュ関数である。 31 master key, 41 destination list, 51 group key, 32 is a hash function. まず、前記ID First, the ID
情報を元に作成した宛先リストのデータ長が8の倍数のバイト数になっていない場合には不足分を空白文字で補い更に8バイトの乱数を付加する。 Adding further 8-byte random number compensate the shortfall in spaces when the data length of the destination list created information based on is not in the number of bytes of a multiple of 8. 宛先リストが丁度8 The destination list is just 8
の倍数であった場合には単に8バイトの乱数を付加する。 Simply adding 8 bytes of random numbers in the case were a multiple of. 8の倍数とした宛先リストを以下では単に宛先リスト41と呼ぶ。 8 fold and the destination list is referred to simply as the destination list 41 in the following. このように乱数を付加することによって、同じ宛先でも毎回異なるグループ鍵が生成されるのでセキュリティを向上することができる。 By adding such random number, because each time in the same destination different group key is generated can be improved security.

【0031】次にハッシュ関数32の動作を簡単に説明する。 [0031] will be briefly explaining the operation of the hash function 32. まず、前記宛先リスト41を先頭から8バイトずつブロック暗号方式によって暗号化し、該暗号化の結果と初期値との排他的論理和を取り次の段のブロック暗号の初期値として用いる。 First, the destination list 41 is encrypted by block encryption scheme from the first eight bytes are used as an initial value of the exclusive OR take the following stage of the block cipher of the results and the initial value of this encryption. この処理を前記宛先リスト41 Wherein the processing destination list 41
の最後まで繰り返し、最後の段から出力される暗号化結果と初期値との排他的論理和をグループ鍵51とする。 Repeat until the last, the XOR with the encryption result and the initial value outputted from the last stage and group key 51.
なお、前記ブロック暗号では、8バイトのマスタ鍵31 In the above block cipher, 8-byte master key 31
と8バイトの初期値を用いて入力データの暗号化を行う。 When performing encryption of the input data using the initial value of 8 bytes. なお、データを暗号化するユーザーと復号化するユーザーは、同じ値の前記マスタ鍵31を使用する。 Incidentally, the user to decrypt the user to encrypt data, using said master key 31 of the same value.

【0032】図4は、前記ICカード130内の前記グループ暗号プログラム28の処理内容を示すフロー図である。 [0032] FIG. 4 is a flowchart showing the processing content of the group encryption program 28 of the IC card 130. グループ暗号プログラム28では、上述のグループ鍵生成方法を用いて前記宛先リスト41からグループ鍵51を作成する。 In group encryption program 28 generates a group key 51 from the destination list 41 using the group key generation method described above. ステップ401では、前記ICカード130のアクセス制御プログラム30に対するログインが完了しているかどうかを検査し、完了していなければステップ411でエラーコードを設定して本プログラムを終了する。 In step 401, the check whether login has been completed for the access control program 30 of the IC card 130, and set the error code at step 411 if it is not completed by terminating the program. 前記ログインが完了している場合には、 If the login has been completed,
入力された宛先リスト41をステップ402で解析し、 The destination list 41 inputted analyzed in step 402,
前記ID情報29に該当する宛先があるかどうかを検査する。 Checking whether there is a destination corresponding to the ID information 29. 該検査の結果宛先が該当していればステップ40 Step If the result destination of the test corresponds 40
3を実行し、該当していなければステップ412でエラーコードを設定し本プログラムを終了する。 3 is executed, an error code is set in step 412 if not applicable terminating the program. ステップ4 Step 4
03では、図3で説明した方法でグループ鍵を生成する。 In 03, it generates a group key in the manner described in FIG. 以上の処理によって、ICカード130にログイン済みで且つ前記宛先リストの宛先としてICカード13 Through the above processing, the IC card 13 as and destination of the destination list logged into the IC card 130
0内のID情報29に該当するものがある場合のみグループ鍵を生成するように制御することができる。 Only if there is one corresponding to the ID information 29 in the 0 it can be controlled so as to generate a group key.

【0033】以上説明したグループ鍵51を用いてデータを暗号化することによって、前記宛先リスト41に含まれるID情報29を持つ者だけが該データの復号化を可能とすることができる。 [0033] By encrypting the data using the group key 51 described above, only those with the ID information 29 included in the destination list 41 it is possible to enable decryption of the data.

【0034】次に、上述のグループ暗号をファイルの暗号に適用した例について説明する。 [0034] Next, an example of applying the above-mentioned group encryption file encryption. 図5は、ファイルの暗号化手順と暗号化後のファイルの構成を示す図である。 Figure 5 is a diagram showing the file structure after encryption procedure and encryption of the file. 501は暗号化する前の平文ファイル、502は暗号化後の暗号文ファイルである。 501 plaintext file before encrypting, 502 is a ciphertext file after encryption. 61は乱数として生成された実行鍵、504は前記実行鍵61を鍵として前記ファイル501の内容を暗号化した暗号文データ、50 61 executes key generated as a random number, 504 encrypted data obtained by encrypting the contents of the file 501 the execution key 61 as a key, 50
5は暗号文データ504に付加するヘッダ、506から511は前記ヘッダ505の内容であり、506は使用した暗号化方式を示す文字列、507は前記平文ファイル501のファイル名、508前記平文ファイル501 5 is added to the encrypted data 504 header 506 from 511 is a content of the header 505, a character string indicating an encryption method used was 506, 507 the file name of the plaintext file 501, 508 the plaintext file 501
のファイルサイズ、509は前記実行鍵61をグループ鍵51で暗号化した暗号化実行鍵、510は前記宛先リスト41のサイズ、511は前記宛先リスト41を前記マスタ鍵31で暗号化した暗号化宛先リストである。 File size, encryption execution key encrypted the execution key 61 in the group key 51 is 509, the size of the destination list 41 510, 511 encrypts the destination obtained by encrypting the destination list 41 in the master key 31 list is. 前記暗号文ファイル502は、図6に示すように上記手順と全く逆の手順で復号化することができる。 It said ciphertext file 502 can be decoded in exactly the reverse order with the procedure as shown in FIG. 上述のファイル暗号化においては、前記グループ鍵51は前記実行鍵61を暗号化する為に用い、ファイルデータの暗号化には前記実行鍵61を用いた。 In the file encryption described above, the group key 51 is used to encrypt the execution key 61, to encrypt the file data using the Round Key 61. したがって、前記宛先リスト41を変更する場合には、まず前記実行鍵61を変更前の前記宛先リスト41で生成した前記グループ鍵5 Therefore, when changing the destination list 41, the group key 5 is first generated in the destination list 41 before changing the execution key 61
1で復号化し、次に変更後の前記宛先リスト41から生成した前記グループ鍵51で再暗号化すればよい。 Decrypted with the 1, then with the group key 51 generated from the destination list 41 after the change may be re-encrypted. これにより、前記宛先リスト41の変更時にも前記実行鍵6 Thus, the said run even when changing the destination list 41 key 6
1に比べデータ量の多いファイルデータは再暗号化が不要とすることができ、変更処理を高速に行うことができる。 Large file data amount of data compared to 1 may be re-encryption is not necessary, it is possible to perform the changing process at high speed.

【0035】次に、上記ファイルの暗号化を用いてユーザーが操作するファイルを自動的に暗号化・復号化する機能について説明する。 Next, automatically it describes the functions of encrypting and decrypting the file operated by a user using the encryption of the file. ここで用いるファイルシステムは、最近のOSが具備する一般的なものであり、ツリー状の階層構造を持つ。 File system used here are commonplace recent OS is equipped, with a tree-like hierarchical structure. ツリーの節の部分はディレクトリと呼ばれ、各ディレクトリに存在するファイルはディレクトリファイルと呼ばれるファイルによって管理される。 Part of the section of the tree is called a directory, files that exist in each directory is managed by a file called directory files. ファイルの物理的な格納場所は、前記クライアント情報処理装置110の前記磁気ディスク5aあるいは前記サーバ情報処理装置120の前記磁気ディスク5bのどちらでもよい。 Physical storage location of the file may be either of the magnetic disk 5b of the magnetic disk 5a or the server information processing apparatus 120 of the client information processing apparatus 110.

【0036】図7は、ユーザーから見た論理的なディレクトリの構成を示す図である。 [0036] FIG. 7 is a diagram showing the configuration of a logical directory as seen from the user. 本実施例のファイルの自動暗号化、復号化を導入していない場合は、前記論理的なディレクトリ構成と物理的なディレクトリ構成は同一である。 Automatic File encryption of this embodiment, when not introducing decoding, the logical directory structure and physical directory structure is the same. 図8は、ファイルの自動暗号化、復号化を導入した後の物理的なディレクトリ構成を示す図である。 Figure 8 is an automatic file encryption is a diagram showing a physical directory structure after the introduction of the decoding. ユーザーがファイルの自動暗号化、復号化を行うディレクトリには、ファイル名としてユーザー名とその末尾に「.dei」を付加したファイル名で宛先リストファイル901を作成する。 User automatic encryption of files, the directory in which the decoding, to create the address list file 901 in the user name and the file name obtained by adding ".dei" to the end as the file name. また、全ユーザーに共通な宛先を設定して暗号化を行う場合には、「default. Also, when performing encryption by setting a common destination to all users, "default.
dei」というファイル名で宛先リストファイル901 Destination list file 901 in the file name dei "
を作成する。 To create a. このように、前記宛先リストファイル90 Thus, the destination list file 90
1を作成しておくと、前記宛先リストファイル901に記載された宛先リストを宛先としたファイルの自動暗号化が行われ、連番とその末尾に「.ssf」を付加したファイル名で格納される。 When you create a 1, the automatic encryption of files destined those listed destination list in the destination list file 901 is performed, it is stored in the file name by adding ".ssf" serial number and its end that. 例えば、図7のファイル「o For example, the file of FIG. 7, "o
saka. saka. doc」は「0001.ssf」として格納される。 doc "is stored as" 0001.ssf ". また前記自動暗号化が行われたディレクトリには、「fileinfo.dei」という名称の暗号ファイル情報ファイル902が作成される。 In addition to the directory in which the automatic encryption has been performed, the encryption file information file 902 named "fileinfo.dei" is created.

【0037】図9は、前記宛先リストファイル901、 [0037] Figure 9, the destination list file 901,
前記暗号ファイル情報ファイル902の内容の一例を示す図である。 Is a diagram showing an example of the contents of the ciphertext file information file 902. 各ユーザーの宛先リストファイル901 Each user of the destination list file 901
は、該ユーザーを宛先としたグループ暗号で暗号化している。 Is encrypted with a group encryption that the user and the destination. また、「default.dei」は、前記マスタ鍵31を用いて暗号化している。 Further, "default.dei" is encrypted using the master key 31. これによって、宛先リストファイルの不正な読み出しや改竄を防止できる。 This prevents unauthorized reading and tampering of destination list file.
一方、暗号ファイル情報ファイル902には、暗号化後のファイル名、暗号化前の平文ファイル名、暗号化前の平文ファイルのサイズが書き込まれている。 On the other hand, the ciphertext file information file 902, the file name of the encrypted, the unencrypted plaintext file name, size of the unencrypted plaintext files are being written. 上述のファイル名称はあくまでも一例であり他の名称を用いてもよい。 File names of the above-described last may be used are other names as an example.

【0038】以下、図8に示したような物理的構造を持つファイルを図7に示した論理的ファイル構造として扱うための処理プログラムの詳細を説明する。 [0038] Hereinafter, the file processing program details will be described for handling as a logical file structure shown in FIG. 7 with the physical structure shown in FIG.

【0039】まず、共用ファイル暗号プログラム21内のログイン処理ルーチン1000、ログアウト処理ルーチン1100について説明する。 [0039] First of all, shared file encryption program login processing routine 1000 in the 21, for the logout processing routine 1100 will be described. 図10は、前記ICカード130へのログイン処理ルーチン1000の処理フローを示す図である。 Figure 10 is a diagram depicting a processing flow of the login processing routine 1000 to the IC card 130. まず、ステップ1001でユーザーがIDとパスワードの入力を行い、ステップ1002 First, the user performs the input of the ID and password in step 1001, step 1002
では前記ユーザーIDと前記パスワードを用いて前記I In the using the user ID and the password I
Cカード130にログインを試み、ステップ1003で前記ログインが成功したかどうかを判定する。 Attempts to log in to the C card 130, it is determined whether or not the login is successful in step 1003. 前記判定の結果、失敗の場合はステップ1009を実行し、3回続けて失敗するまではステップ1001以下を繰り返すよう制御する。 A result of the determination, in the case of failed executing step 1009, before failing three consecutive controls to repeat steps 1001 or less. ログインに成功すると、ステップ100 After a successful login, step 100
4でイベント待ち状態となる。 The event waiting state at 4. イベントが到着すると、 When the event arrives,
ログアウト要求かどうかを調べ、ログアウト要求ならばステップ1008でログアウト処理を行い終了する。 Examine whether the logout request, is performed to end the logout process in step 1008 if the logout request. 前記イベントがログアウト要求でなければステップ100 Step 100 If the event is not a logout request
6でタイマイベントかどうかを調べ、タイマイベントでなければステップ1004に戻る。 6 in the investigation whether or not the timer event, if it is not timer event returns to step 1004. タイマイベントであった場合には、ICカード130が前記クライアント情報処理装置110に接続されているかどうかを調べ、接続されていればステップ1004に戻り、接続されていない場合は、ステップ1008のログアウト処理を実行し、終了する。 When was the timer event checks whether the IC card 130 is connected to the client information processing apparatus 110, if it is connected back to step 1004, if it is not connected, logout processing in step 1008 the execution, to the end. このように、タイマイベントを用いて定期的に前記ICカード130の接続を調べることによって前記ICカード130を抜いた際のログアウト処理を自動化することができる。 Thus, it is possible to automate the logout processing when pulled the IC card 130 by examining the regular connection of the IC card 130 by using the timer event.

【0040】図11は、前記ICカード130からのログアウト処理ルーチン1100の処理フローを示す図である。 [0040] Figure 11 is a diagram depicting a processing flow of logout processing routine 1100 from the IC card 130. まず、ステップ1101でオープン中の暗号ファイルがあるかどうかを調べ、あればステップ1102でユーザーにログアウトを中止するか否かを尋ねる。 First, determine whether there is an encrypted file in the open in step 1101, asking whether or not to abort the log out to the user in step 1102, if any. ログアウト処理を中止する場合には、本ルーチンを終了する。 If you cancel the logout process, to end the present routine. 中止しない場合には、ステップ1103でオープン中の暗号ファイルのクローズ処理を行い、処理を継続する。 If you do not cancel, it processes the close of encrypted files in the open in step 1103, to continue the process. ステップ1104では、ICカード130がクライアント情報処理装置110に接続されているかどうかを調べ、接続されていればステップ1105でICカード130に対してログアウトコマンドを送出し処理を終了する。 In step 1104, it is checked whether the IC card 130 is connected to the client information processing apparatus 110, and ends the sending process the logout command to the IC card 130 in step 1105 if it is connected. 接続されていなければそのまま処理を終了する。 The process is terminated if it is not connected.

【0041】次に、前記ファイルI/Oフックプログラム22内の各ルーチンの処理について説明する。 Next, a description will be given of processing for each routine in the file I / O hook program 22. まず、 First of all,
ファイルのデータ入出力とその管理方法から説明する。 It described data input and output of the file and its management method.

【0042】図18は、本実施例のファイル暗号化・復号化におけるデータの入出力方法を示す図である。 [0042] Figure 18 is a diagram illustrating a method of input and output data in the file encryption and decryption of the present embodiment. 前記暗号文ファイル502の前記暗号文データ504は、暗号文ブロックバッファ82のサイズ単位で前記暗号文ブロックバッファ82との間で読み出し・書き込みが行われる。 Wherein the encrypted data 504 of the ciphertext file 502, reading and writing are performed to and from the ciphertext block buffer 82 in a unit of size of ciphertext block buffer 82. 前記暗号文ブロックバッファ82のデータは復号化し平文ブロックバッファ81に転送される。 Data of the cipher text block buffer 82 are transferred to the plaintext block buffer 81 and decoded. また、前記平文ブロックバッファ81のデータは暗号化し前記暗号文ブロックバッファ82に転送される。 The data of the plaintext block buffer 81 is transferred to the ciphertext block buffer 82 to encrypt.

【0043】図19は、オープン中の暗号ファイルを管理するためのファイルハンドルテーブル90である。 [0043] FIG. 19 is a file handle table 90 for managing the encryption file in the open. ハンドル番号1902、オープンモード1903、平文ファイルポインタ1904、暗号ファイルポインタ190 Handle number 1902, open mode 1903, the plain text file pointer 1904, encrypted file pointer 190
5、バッファポインタ1906、更新フラグ1907、 5, buffer pointer 1906, the update flag 1907,
宛先リスト41の各情報を、オープン中の各ファイル毎にポインタ1901を用いてリスト構造で記憶している。 Each information of the destination list 41, stored in a list structure using pointers 1901 for each open file. ここでハンドル番号1902は、ファイルをオープンした際に前記OS20から与えられる管理番号、オープンモード1903とは、読み出し専用、書き込み専用、あるいは読み書き用などのモードを示す値である。 Here handle 1902, management number given from the when the file is opened OS 20, the open mode 1903, read-only, a value indicating a mode such as write-only, or read-write.
前記平文ファイルポインタ1904は復号化後の平文ファイル501に対するリード・ライトを行う際の起点を示すものであり、平文ファイル501の先頭からのバイト数で示される。 The plaintext file pointer 1904 is indicative of the start point in performing read and write for the plaintext file 501 after decoding, as shown in bytes from the beginning of the plaintext file 501. なお、平文ファイル501は、平文ブロックバッファ81を通して読み書きする論理的なファイルとして存在する。 Incidentally, the plaintext file 501 exists as logical files for reading and writing through the plaintext block buffer 81. 暗号ファイルポインタ1905 Encrypted file pointer 1905
は、暗号文ファイルに対するリード・ライトを行う際の起点を示すものであり、502のヘッダ505を含む先頭からのバイト数で示される。 Is for indicating the starting point in performing read and write for the ciphertext file is indicated in bytes from the beginning, including a header 505 of 502. 前記暗号ファイルポインタ1905は、ファイルの最後のブロック部分以外ではバッファサイズ単位で増減する。 It said ciphertext file pointer 1905, the last non-block portion of the file to increase or decrease the buffer size unit. バッファポインタ19 Buffer pointer 19
06は、平文ブロックバッファ81および暗号文ブロックバッファ82に転送されているデータの先頭が前記平文ファイル501のどの部分に該当するデータであるかを示す値であり、前記平文ファイル501の先頭からのバイト数が格納してある。 06 is a value that indicates whether the data head of the data being transferred to the plaintext block buffer 81 and the ciphertext block buffer 82 corresponds to a portion of the plaintext file 501 throat, from the beginning of the plaintext file 501 the number of bytes are stored. 前記バッファポインタ190 The buffer pointer 190
6はバッファサイズの単位でのみ増減する。 6 increases or decreases only in a unit buffer size. 更新フラグ1907は、前記平文ブロックバッファ81のデータが、ライトI/O操作によって更新されているが暗号文ブロックバッファ82への転送と暗号文ファイル502 Update flag 1907, the plaintext block data of the buffer 81, the write I / O has been updated by the operation transfer ciphertext file 502 to the ciphertext block buffer 82
への書き込みが完了していない状態を示すフラグである。 Is a flag showing a state in which the writing has not been completed to.

【0044】図12は、前記ファイルオープンフックルーチン1200の処理フローを示す図である。 [0044] Figure 12 is a diagram depicting a processing flow of the file open hook routine 1200. まず、ステップ1281で、フックしたファイルのディレクトリに前記暗号ファイル情報ファイル902が存在するか否かを調べ、存在すれば前記暗号ファイル情報ファイル9 First, in step 1281, checks whether or not the encryption File information 902 to the directory of files hook is present, the if there ciphertext file information file 9
02の内容を参照し、フックしたファイルのファイル名が登録されているか否かを調べる。 Refers to the contents of 02, the file name of the file that you hook it is checked whether or not it is registered. 登録されていれば、 If it is registered,
ステップ1282で対応する暗号文ファイル502のファイル名称にファイル名称を変更する。 To change the file name to the corresponding file name of the encrypted file 502 in step 1282. 次に、ステップ1201で前記OS20aに対しファイルオープン要求を発行する。 Next, issues a file open request said OS20a at step 1201. 該オープンが成功したかどうかをステップ1202で調べ、失敗した場合は本ルーチンを終了する。 Whether the open was successful tested in step 1202, if it fails to end the present routine. 次にステップ1203で、ICカード130へのログインが終了しているかどうかを調べ、ログイン済みの場合は、ステップ1207に処理を移す。 Next, in step 1203, it is checked whether or not log in to the IC card 130 has been completed, if already logged in, the process proceeds to step 1207. ログイン済みでなかった場合には、ステップ1204で当該ファイルが暗号ファイルであるかどうかを調べ、暗号ファイルでなかった場合は本ルーチンの処理を終了する。 If it is not already logged in, the file in step 1204 it is checked whether it is a cryptographic file, the case was not encrypted file and ends the processing of this routine. 暗号ファイルの場合には、ステップ1205で前記ログイン処理ルーチン1000を呼び出すことによってICカード1 In the case of cryptographic file, IC card 1 by calling the login processing routine 1000 at step 1205
30へのログイン処理を行う。 Perform the login process to the 30. ステップ1206では、 In step 1206,
前記ログイン処理が成功したかどうかを調べ、成功しなかった場合はステップ1215でメッセージ2 125 Check whether the login process is successful, if not successful message 2 125 in step 1215
2を表示して本ルーチンを終了する。 2 display to the to end the present routine. ログインに成功した場合は、ステップ1207で当該ファイルの復号権限があるか、即ち宛先にログイン中のユーザーが含まれているかどうかを判定する。 If the login is successful, it is determined whether there is a decryption authority of the file at step 1207, i.e., whether it contains the current user to the destination. 前記判定は暗号ファイルの前記ヘッダ505の前記暗号化宛先リスト511を復号化することによって前記宛先リスト41を取得し、該宛先リスト41を前記ICカード130の前記グループ暗号プログラム28に入力し、グループ鍵51が出力されるかエラーコードが出力されるかで行う。 Said determining acquires the destination list 41 by decrypting the encrypted destination list 511 of the header 505 of the encrypted file, enter the said destination list 41 in the group encryption program 28 of the IC card 130, the group carried out on whether or error code key 51 is output is output. 復号権限がない場合には、ステップ1215でメッセージ2 1252 If there is no decryption right, the message 2 1252 in step 1215
を表示して本ルーチンを終了する。 To display the to end the present routine. 復号権限がある場合にはステップ1209において、当該ユーザーまたは共通の前記宛先リストファイル901が当該ディレクトリに存在するかどうかを調べ、存在すれば暗号化対象ディレクトリであると判定する。 In step 1209 if there is a decryption authority determines that the user or common the destination list file 901 to determine whether present in the directory, an encryption target directory if present. 暗号化対象ディレクトリでなければステップ1216を実行し、フックしているファイルが暗号ファイルであるかどうかを調べ、暗号ファイルでなければ本ルーチンを終了する。 Run the step 1216 if it is not encrypted target directory, files that hook is checked whether it is a cryptographic file, this routine is terminated if it is not encrypted file. 暗号ファイルの場合は、ステップ1217でメッセージ31253を表示し、処理を中断するか否かをユーザーに問い合わせる。 For cryptographic file, and it displays a message 31253 in step 1217 and inquires whether to interrupt the processing to the user. 上記ステップ1209で暗号化対象ディレクトリと判定した場合は、ステップ1210でフックしているファイルが暗号ファイルかどうかを調べ、暗号ファイルでなかった場合には、ステップ1211でメッセージ1 If it is determined that the encryption target directory in step 1209, it is checked whether the file or encrypted file that hook at step 1210, if not a ciphertext file, the message 1 at step 1211
1251を表示し、処理を中断するか否かをユーザーに問い合わせる。 1251 Display inquires whether to interrupt the processing to the user. ステップ1210の判定で、暗号ファイルであった場合には、ステップ1218で当該ファイルの宛先リスト41と当該ディレクトリの宛先リストファイル901に書かれた宛先リスト41の宛先が同じか異なるかを調べ、異なっていた場合には、ステップ121 In the determination of step 1210, when was encrypted file, checks whether the destination of the destination list 41, written in the destination list file 901 address list 41 and the directory of the file are different or the same in step 1218, different If it has, the step 121
9でメッセージ4 1254を表示し、処理を中断するか否かをユーザーに問い合わせる。 Display a message 4 1254 9 inquires whether to interrupt the processing to the user. 前記ステップ121 Step 121
8で宛先が同じと判定した場合には、ステップ1220 If the destination is determined to the same is 8, step 1220
でファイルハンドルテーブル90への登録を行い、本ルーチンを終了する。 In to register to the file handle table 90, and ends the present routine. また、前記ステップ1217、12 Further, the step 1217,12
11、1219でのメッセージ表示に対し、ユーザーが処理の中止を選択したかどうかはステップ1212で判定し、中止の場合はステップ1213でファイルをクローズし、ステップ1214でリターンコードにオープンエラーを設定し本ルーチンを終了する。 For messages displayed at 11,1219, whether the user has selected the cancel processing is determined in step 1212 to close the file for canceled at step 1213, it sets the open error to the return code in step 1214 to end the present routine. 前記ステップ1 Step 1
212での前記判定が中止でなければ、前記ステップ1 If not the decision is canceled at 212, Step 1
220を実行し、本ルーチンを終了する。 Run the 220, and ends the present routine.

【0045】図13は、ファイルクリエイトフックルーチン1300の処理フローを示す図である。 [0045] Figure 13 is a diagram depicting a processing flow of the file Create hook routine 1300. まず、ステップ1301で、ICカード130へのログインが終了しているかどうかを調べ、ログイン済みの場合はステップ1306に処理を移す。 First, in step 1301, it is checked whether or not log in to the IC card 130 has been completed, if already logged in the process proceeds to step 1306. ログイン済みでなかった場合には、ステップ1302で当該ユーザーまたは共通の前記宛先リストファイル901が当該ディレクトリに存在するかどうかを調べ、存在すれば暗号化対象ディレクトリであると判定する。 If not already logged determines that the user or common the destination list file 901 at step 1302 it is checked whether present in the directory, an encryption target directory if present. 暗号化対象ディレクトリでなければ、ステップ1331でファイルクリエィトを実行し本ルーチンを終了する。 If it is not encrypted target directory, then run the file Clie I bet to end the present routine in step 1331. 暗号化対象ディレクトリの場合は、ステップ1303でメッセージ5 1355を表示し、ステップ1304で前記ログイン処理ルーチン10 For encryption target directory, and displays a message 5 1355 in step 1303, the login processing routine 10 in step 1304
00を呼び出すことによって前記ICカード130へのログイン処理を行う。 Perform the login process to the IC card 130 by calling 00. ステップ1305では、前記ログイン処理が成功したかどうかを調べ、成功しなかった場合はステップ1341でメッセージ6 1356を表示してファイルクリエイトを中止するか否かユーザーに問い合わせる。 In step 1305, the examining whether the login process is successful, if you did not succeed inquire into whether or not the user to abort the file Create and display a message 6 1356 in step 1341. ステップ1342でユーザーの選択を判定し、中止の場合はステップ1343でクリエイトエラーを設定し本ルーチンを終了する。 Determining the user's selection at step 1342, if the abort set the Create error in step 1343 to end the present routine. 中止でない場合は、ステップ1320でファイルクリエイトを実行し本ルーチンを終了する。 If it is not stopped, the routine ends run the file Create in step 1320. 一方、ステップ1305でログインに成功した場合は、ステップ1306で、当該ディレクトリに当該ユーザーまたは共通の前記宛先リストファイル9 On the other hand, if the login is successful at step 1305, in step 1306, the user or common the destination list file to the directory 9
01が存在するかどうかを調べ、存在すれば暗号化対象ディレクトリであると判定する。 01 it is checked whether or not there, it is determined that the encryption target directory if it exists. 暗号化対象ディレクトリでなければステップ1320でファイルクリエイトを実行し、本ルーチンを終了する。 Run the file Create in step 1320 if it is not encrypted target directory, to end the present routine. 暗号化対象ディレクトリである場合は、ステップ1307でファイル名称を、 If it is a encryption target directory, the file name in step 1307,
連番とその末尾に「.ssf」を付加したファイル名に置き換え、ステップ1308でファイルクリエイトを実行する。 Replaced by a serial number and file name that you added the ".ssf" in the end, to run the file Create in step 1308. ステップ1309では、前記ファイルクリエィトが成功したかどうかを調べ、失敗ならば本ルーチンを終了し、成功ならばステップ1310以下を実行する。 In step 1309, the check to see if the file or Clie I bet is successful, if the failure to end the present routine, and executes the step 1310 following if successful.
ステップ1310では、暗号ファイルの前記ヘッダ50 In step 1310, the header 50 of the ciphertext file
5を生成し、ステップ1308で作成したファイルの先頭部分に書き込む。 5 to generate, written at the beginning of the file that you created in step 1308. 続くステップ1311では前記暗号ファイル情報ファイル902への登録を行い、さらにステップ1312でファイルハンドルテーブル90への登録を行い本ルーチンを終了する。 It continued to register to step 1311 wherein the encrypted file information file 902, further terminates the routine to register to the file handle table 90 in step 1312.

【0046】図14は、リードフックルーチン1400 [0046] FIG. 14, lead hook routine 1400
の処理フローを示す図である。 It is a diagram illustrating a processing flow. まず、ステップ1401 First, step 1401
でリードI/Oのパラメータに含まれるファイルハンドル番号が前記ファイルハンドルテーブル90に既に登録されているかどうかを調べ、登録されていなければ暗号・復号対象のファイルではないのでステップ1421で通常のファイルリードI/Oを実行し、本ルーチンを終了する。 In the read I / O file handle number included in the parameters is checked whether it is already registered in the file handle table 90, in step 1421 of the normal is not a cipher and decryption target file if it is not registered file read run the I / O, to end the present routine. ファイルハンドルテーブル90に登録済みの場合は、ステップ1402で、前記ファイルハンドルテーブル90の前記オープンモード1903がリード可になっているかどうかを調べ、リード不可であれば処理が継続できないので、ステップ1422でエラーコードを設定して本ルーチンを終了する。 If registered in the file handle table 90, in step 1402, to determine whether the open mode 1903 of the file handle table 90 is in the lead Allowed, since the processing if the lead can not can not be continued, in step 1422 set the error code to end the present routine. 次に、ステップ1403 Next, step 1403
で前記平文ファイルポインタ1904を取得する。 In obtaining the plain text file pointer 1904. ステップ1404では、前記平文ファイルポインタ1904 In step 1404, the plaintext file pointer 1904
が、前記バッファポインタ1906から始まるバッファの中を指し示しているかどうかを調べる。 But, it determines whether the points to the inside of the buffer, starting from the buffer pointer 1906. 指し示していればステップ1413に処理を移し、指し示していなければステップ1405以下を実行する。 If pointing the process proceeds to step 1413 to execute the following step 1405 if not pointing. ステップ140 Step 140
5では前記更新フラグ1907を参照し、前記平文ブロックバッファ81中に更新データがあるかどうかを調べ、あればステップ1406で実際の暗号文ファイル5 In 5 the reference to the update flag 1907 checks whether the plaintext in block buffer 81 is updated data, the actual ciphertext file in step 1406 if 5
02のファイルポインタをOSへのシークコマンドによって前記バッファポインタ1906へと移動させる。 02 the file pointer by a seek command to the OS moves to the buffer pointer 1906. ステップ1407で平文ブロックバッファ81のデータを暗号化し、暗号文ブロックバッファ82に転送すると共に、暗号文ファイル502に書き戻す。 It encrypts plain text data block buffer 81 at step 1407, and transfers to the ciphertext block buffer 82 is written back to the ciphertext file 502. ステップ140 Step 140
8では前記更新フラグ1907をクリアし、前記平文ブロックバッファ81中に更新データがないことを示すように設定する。 Clear the update flag 1907 in 8, is set to indicate that no update data in the plaintext block buffer 81. ステップ1409で実際の暗号文ファイル502のファイルポインタをOSへのシークコマンドによって前記暗号ファイルポインタ1905へと移動させる。 The actual file pointer of the ciphertext file 502 by the seek command to the OS in step 1409 is moved to the ciphertext file pointer 1905. ステップ1410では、ブロックサイズ分のデータを前記暗号文ファイル502から暗号文ブロックバッファ82へと読み出す。 In step 1410, it reads the data block size from the ciphertext file 502 into ciphertext block buffer 82. ステップ1411では、前記暗号文ファイルポインタ1905、前記バッファポインタ1906を更新する。 In step 1411, the ciphertext file pointer 1905, and updates the buffer pointer 1906. ステップ1412では、暗号文ブロックバッファ82のデータを復号化し平文ブロックバッファ81に転送する。 In step 1412, transferred to the plaintext block buffer 81 decodes the data of the ciphertext block buffer 82. ステップ1413では、フックしたファイルリードI/Oの要求元アプリケーションプログラム23が指定した要求バッファに平文ブロックバッファ81からデータを転送する。 In step 1413, it transfers the data from the plaintext block buffer 81 to the request buffer file read I / O request source application program 23 which is hook-specified. ステップ1414では、前記転送を行ったバイト数を前記平分ファイルポインタ1904に加算する。 In step 1414, adds the number of bytes of performing the transfer to the plaintext file pointer 1904. ステップ1415では、フックしたファイルリードI/Oの要求元が要求したサイズ分のデータを前記要求バッファに転送したかどうかを調べ、未完了ならばステップ1410以下を再び実行し、 In step 1415, the size of the data hook file read I / O request source requests examined whether the transfer to the request buffer, performs step 1410 the following again if not completed,
完了ならば本ルーチンを終了する。 If completed to end the present routine.

【0047】図15は、ライトフックルーチン1500 [0047] FIG. 15, light hook routine 1500
の処理フローを示す図である。 It is a diagram illustrating a processing flow. まず、ステップ1501 First, step 1501
でフックしたライトI/Oのパラメータに含まれるファイルハンドル番号が前記ファイルハンドルテーブル90 In the file handle number included in the parameter of the write I / O to the hook the file handle table 90
に既に登録されているかどうかを調べ、登録されていなければ暗号・復号対象のファイルではないのでステップ1521で通常のファイルリードI/Oを実行し、本ルーチンを終了する。 Already checked whether the registered executes regular file read I / O in step 1521 is not a cipher and decryption target file if it is not registered, the routine ends. ファイルハンドルテーブル90に登録済みの場合は、ステップ1502で、前記ファイルハンドルテーブル90の前記オープンモード1903が「リードライト可」になっているかどうかを調べ、「リードライト可」でなければステップ1531でエラーコードを設定して本ルーチンを終了する。 If registered in the file handle table 90, in step 1502, in the file the open mode 1903 of the handle table 90 is checked whether it is in the "read-write possible", "read-write possible" unless the step 1531 set the error code to end the present routine. 「ライト可」だけではなく「リードライト可」の必要があるのは、暗号化のブロック単位よりも小さなサイズの書込に対しては、不足分のデータをリードした上で暗号化して書き戻すリードモディファイライト処理が必要なためである。 There is a need for "light possible" not only "read-write permitted", for writing a size smaller than the block unit of encryption is written back by encrypting after having read the shortage of data This is because the read-modify-write processing is required.
前記ファイルオープンフックルーチンで「ライト可」を強制的に「リードライト可」に置き換えてファイルをオープンしておいてもよい。 The file open the "light possible" in the hook routine may be forcibly allowed to open the file by replacing the "read-write possible". 次に、ステップ1503で前記平文ファイルポインタ1904を取得する。 Then, to acquire the plaintext file pointer 1904 in step 1503. ステップ1504では、前記平文ファイルポインタ1904が、 In step 1504, it said plaintext file pointer 1904,
前記バッファポインタ1906から始まるバッファの中を指し示しているかどうかを調べる。 Determine whether the points to the inside of the buffer, starting from the buffer pointer 1906. 指し示していればステップ1513に処理を移し、指し示していなければステップ1505以下を実行する。 If pointing the process proceeds to step 1513 to execute the following step 1505 if not pointing. ステップ1505では前記更新フラグ1907を参照し、前記平文ブロックバッファ81中に更新データがあるかどうかを調べ、更新データがなければステップ1510に処理を移し、更新データがあればステップ1506で実際の暗号文ファイル502のファイルポインタをOSへのシークコマンドによって前記バッファポインタ1906へと移動させる。 In step 1505 the reference to the update flag 1907 checks whether the plaintext in block buffer 81 is updated data, if there is no update data is transferred to step 1510, the actual encryption at step 1506 if there is update data the file pointer of the statement file 502 is moved to the buffer pointer 1906 by a seek command to the OS. ステップ1507では、平文ブロックバッファ81 In step 1507, the plaintext block buffer 81
のデータを暗号化し、暗号文ブロックバッファ82に転送すると共に、暗号文ファイル502に書き戻す。 It encrypts the data, and transfers the ciphertext block buffer 82 is written back to the ciphertext file 502. ステップ1508では前記更新フラグ1907をクリアし、 In step 1508 clears the update flag 1907,
前記平文ブロックバッファ81中に更新データがないことを示すように設定する。 Set to indicate that there is no update data in the plaintext block buffer 81. ステップ1509では、暗号文ファイル502のファイルポインタをOSへのシークコマンドによって前記暗号ファイルポインタ1905が指し示す位置へと移動させる。 In step 1509, moving the file pointer of the ciphertext file 502 to a position indicated by the said cryptographic file pointer 1905 by a seek command to the OS. ステップ1510では、 In step 1510,
フックしたファイルライトI/O要求の書込データ領域が、現在の平文ブロックバッファ81全体を包含するか否かを調べる。 Write data area of ​​the hook file write I / O requests, checks whether encompasses the entire current plaintext block buffer 81. 前記調査の結果全体を包含していない場合は、不足分を読み出しマージする必要があるので、ステップ1511で暗号文ブロックバッファ82のサイズ分だけ暗号文ファイル502をリードする。 If you do not include the entire investigation, it is necessary to merge read the shortfall, leading size of only ciphertext file 502 ciphertext block buffer 82 at step 1511. リードしたデータは、前記暗号文ブロックバッファ82に格納すると共に、復号化し前記平文ブロックバッファ81に格納する。 Read data is stores in the ciphertext block buffer 82, and stores decoded to the plaintext block buffer 81. 一方、前記ステップ1510での調査の結果、全体を包含していれば不足分を読み出す必要がないのでステップ1518でステップ1511のリードサイズと同じサイズ分だけシーク処理を行う。 On the other hand, results of the investigation at step 1510, performs only seek processing same size of the lead size in step 1511 in step 1518 it is not necessary to read the shortfall if encompass whole. ステップ1512では、暗号文ファイルポインタ1905、バッファポインタ1906を更新する。 In step 1512, update ciphertext file pointer 1905, the buffer pointer 1906. ステップ1513では、平文ファイルポインタ1904の指し示す位置から暗号文ファイルポインタ1905の指し示す位置の手前までのデータを、フックしたファイルI/O要求の書込データバッファから平文ブロックバッファ81に転送する。 In step 1513, transfers data from the location indicated by the plaintext file pointer 1904 to a position short of that indicated by the ciphertext file pointer 1905, the write data buffer of the hook file I / O requests to the plaintext block buffer 81. ステップ1514では、平文ブロックバッファ81の内容が更新されたことを示す更新フラグ1907をセットし、ステップ1515でフックしたファイルI/Oライト要求の全データの転送を完了したかどうかを判定し、完了していなければステップ1506以下を完了するまで繰り返し実行する。 In step 1514, it sets the update flag 1907 indicates that the content of the plaintext block buffer 81 is updated, it is determined whether to complete the transfer of all the data in the file I / O write request hook at step 1515, completion repeatedly executed until the completion of the step 1506 following if not. 以上の処理によって、平文ブロックバッファ81は、先読みと先復号化キャッシュとして動作し、且つライトバックキャッシュとして動作するので、 By the above process, the plaintext block buffer 81 operates as a look-ahead to the previous decoding cache, since and operates as a write-back cache,
暗号化・復号化によるファイルI/O処理速度の低下を少なく抑えることができる。 It can be suppressed to reduce the deterioration of the file I / O processing speed of encryption and decryption.

【0048】図16は、クローズフックルーチン160 [0048] FIG. 16 is closed hook routine 160
0の処理フローを示す図である。 Is a diagram illustrating the 0 process flow. まず、ステップ160 First, step 160
1で前記ファイルハンドルテーブル90に、当該クローズ要求のあったファイルハンドルが登録されているかどうかを調べ、登録されていなければステップ1607に処理を移行し、ファイルをクローズして終了する。 The file handle table 90 in 1, the file handle for which the said close request is checked whether it is registered, the process proceeds to step 1607 if it is not registered, ends the file is closed. 前記ファイルハンドルテーブル90に登録済みのファイルであった場合には、前記ファイルハンドルテーブル90の更新フラグ1907を参照し、前記更新フラグ1907 If the A file registered in the file handle table 90 refers to the update flag 1907 of the file handle table 90, the update flag 1907
がセット、即ちファイルに書き戻されていない更新データが平文ブロックバッファ81に存在するかどうかを調べる。 There set, i.e. updating the data that is not written back to determines whether a file exists in the plaintext block buffer 81. 前記更新フラグ1907がセットされていた場合には、ステップ1603で平文ブロックバッファ81の内容を暗号化し、ファイルに書き戻す処理を行う。 If the update flag 1907 has been set, it encrypts the contents of the plaintext block buffer 81 at step 1603 and performs the processing written back to the file. 続くステップ1604では、前記平文ブロックバッファ81 In step 1604, the plaintext block buffer 81
を、全て0などのデータを書き込むことによってクリアし、ステップ1605で前記平文ブロックバッファ81 And then cleared by writing a data, such as all 0, the plaintext block buffer 81 at step 1605
と前記暗号文ブロックバッファ82を解放する。 And releasing the ciphertext block buffer 82. ステップ1606では、前記ファイルハンドルテーブル90から当該ファイルのノードを削除し、ステップ1607でファイルクローズ要求をOSに発行し、本ルーチンを終了する。 In step 1606, to remove the node of the file from the file handle table 90, and issues a file close request to the OS in step 1607, the routine ends.

【0049】図17は、ファイルリネームフックルーチン1700の処理フローを示す図である。 [0049] Figure 17 is a diagram depicting a processing flow of a file rename hook routine 1700. まず、ステップ1701でリネームの対象がディレクトリファイルかどうかを判定し、ディレクトリファイルならばステップ1721でリネームを実行し、本ルーチンを終了する。 First, rename the target, it is determined whether or not the directory file in Step 1701, perform the rename in step 1721 if the directory file, to end the present routine.
ディレクトリファイルでなければ、ステップ1702で対象ファイルが暗号ファイルかどうかを判定し、暗号ファイルでなければ前記ステップ1721でリネームを実行し、本ルーチンを終了する。 If a directory file, the object file is to determine whether encrypted files in step 1702, executes the renaming in step 1721 if a ciphertext file, the routine ends. 続くステップ1703では、当該ファイルの復号権限があるか、即ち前記ヘッダ505の宛先リスト41にログイン中のユーザーのID In step 1703, whether there is the decryption authority of the file, i.e., the ID of the current user in the destination list 41 of the header 505
情報29とマッチする項目が含まれているかどうかを判定し、復号権限がなければ、ステップ1711で権限がない旨のメッセージを表示し、ステップ1712でエラーコードを設定し本ルーチンを終了する。 Determining whether it contains items that match the information 29, if there is no decryption authority, and displays a message indicating that there is no authority in step 1711, set an error code in step 1712 and ends the present routine. 復号権限がある場合は、ステップ1704で、当該ファイルのヘッダ505の平文ファイル名507を前記アプリケーションプログラム23が指示した新名称に変更し、ステップ1 If there is a decryption right, at step 1704, modify the plaintext file name 507 of the header 505 of the file to the new name that the application program 23 instructs, step 1
705では暗号ファイル情報ファイル902に記載された当該ファイルの平文ファイル名称を前記ステップ17 The plaintext file name of the file listed in the encryption File information 902 At 705 Step 17
04と同様に新名称に変更し、本ルーチンを終了する。 Similar to the 04 to change to a new name, to end the present routine.

【0050】以上説明したファイルI/Oフックプログラム22の各ルーチンの処理によって、所望のディレクトリ内のファイルの暗号化・復号化をアプリケーションプログラム23からは透過に実現することができる。 [0050] the processing of the routine of file I / O hook program 22 described above, it is possible to realize the transmission is the encryption and decryption of the files in the desired directory from the application program 23.

【0051】次に、前記共用ファイル暗号プログラム2 Next, the shared file encryption program 2
1に含まれる手動ファイル暗号化ルーチン2000について図20を用いて説明する。 The manual file encryption routine 2000 included in 1 will be described with reference to FIG. 20. このルーチンは、暗号化を行う平文ファイルのファイル名称と、暗号化後の暗号文ファイル名称と宛先リスト41を入力として動作する。 This routine operates the file name of the plaintext file to be encrypted, the ciphertext file name and destination list 41 after encryption as input. まず、ステップ2001では、指定された平文ファイルをオープンし、ステップ2002で仮の名称を付けた一時ファイルを作成する。 First, in step 2001, to open the specified plain text file, to create a temporary file with a temporary name in step 2002. ステップ2004では指定された前記宛先リスト41を前記ICカード130のグループ暗号プログラム28に与えることによってグループ鍵を生成する。 Step the destination list 41 designated in 2004 to generate a group key by giving the group encryption program 28 of the IC card 130. 前記生成には前記ICカード130へのログインが必要であるが,上記の実施例と同様であるのでここでは記述を省略している。 Wherein at the generating is required to log in to the IC card 130, in this case is the same as the above embodiment are omitted descriptions. ステップ2005では乱数である前記実行鍵41を生成し、ステップ200 Step 2005 generates the execution key 41 is a random number at step 200
6で前記ヘッダ505を前記一時ファイルの先頭部分に書き込む。 Writing the header 505 at the head portion of the temporary file 6. ステップ2009では、平文ファイルからデータを読み出し、ステップ2010で該データを暗号化し、ステップ2011で該暗号化データを一時ファイルに書き込む。 In step 2009, reads the data from a plain text file, the data is encrypted in step 2010, it is written to a temporary file the encryption of data in step 2011. ステップ2012では、前記平文ファイルの全データの暗号化を終了したかどうかを判定し、終了するまで前記ステップ2009、2010、2011を繰り返し実行するように制御する。 In step 2012, it is determined whether the end the encryption of all data of the plaintext file, and controls to execute repeatedly the step 2009,2010,2011 until the end. ステップ2013では、前記平文ファイルと前記一時ファイルの両方をクローズする。 In step 2013, to close both the plaintext file and the temporary file. ステップ2014では、指定された平文ファイル名と暗号文ファイル名が同一かどうかを判定し、同一ならばステップ2015で前記平文ファイルを削除する。 In step 2014, the plaintext file name and cipher text file name specified, it is determined whether or not the same, delete the plain text file if the same in step 2015. ステップ2016では、前記一時ファイルのファイル名称を指定された暗号文ファイル名称に変更し、本プログラムを終了する。 At step 2016, change the file name specified ciphertext file name of the temporary file, and the program is finished.

【0052】次に、HTMLファイルの暗号化を行う実施例について説明する。 Next, for example to perform the encryption of the HTML file it will be explained. 図22の2201は、平文のH 2201 in FIG. 22, the plaintext H
TMLファイルの一例である。 It is an example of the TML file. 前記HTMLファイルは、HTMLブラウザで表示すると図23に示す画面となる。 The HTML file is made when displayed in an HTML browser and the screen shown in Figure 23. 図24の2401は、暗号化したHTMLファイルの一例であり、リーダ部分2402、前記平文のHT 2401 in FIG. 24 is an example of encrypted HTML file, reader portion 2402, HT of the plaintext
MLファイル2201を暗号化した本体部分2403、 The body portion 2403 that encrypted the ML file 2201,
フッタ部分2404を合成したものである。 The footer 2404 is obtained by combining. リーダ部分2402の最後はHTMLでのコメント文開始を示す「<!――」が、フッタ部分2404の最初はHTML The last of the reader part 2402 indicate a comment sentence start of the HTML "<! -" is, first the HTML footer part 2404
でのコメント文終了を示す「――>」が設定されており、前記合成によって本体部分2403はコメント文の内容となる。 Comments indicate the sentence end of the "->" is set, the body portion 2403 by the synthesis is the content of the comment sentence. HTMLブラウザによる表示において、前記コメント文の内容は表示されないので、前記の暗号化HTMLファイル2401をHTMLブラウザで表示した結果は、図25に示すような画面となる。 In the display by the HTML browser, since the content of the comment sentence is not displayed, the result of displaying the encrypted HTML file 2401 in HTML browser, a screen as shown in FIG. 25. このように、暗号化した結果をコメント文として埋め込むことによって、復号化プログラムを具備しないクライアント情報処理装置110で暗号化ファイルを誤って表示した場合にも、意味のない文字列を画面に表示することを防止することができる。 Thus, by embedding the result of encrypting a comment, even when displayed incorrectly encrypted files in the client information processing apparatus 110 having no decryption program, displays a meaningless string on the screen it is possible to prevent that.

【0053】図21は、上記のHTMLファイル暗号化を行うHTMLファイル暗号化プログラムの処理フローを示す図である。 [0053] Figure 21 is a diagram depicting a processing flow of an HTML file encryption program for performing the above-described HTML file encryption. ステップ2101では、指定された平文のHTMLファイル2201をオープンし、ステップ2102で仮の名称を付けた一時ファイルを作成する。 In step 2101, to open an HTML file 2201 of the specified plain text, to create a temporary file with a temporary name in step 2102.
ステップ2104では指定された前記宛先リスト41を前記ICカード130のグループ暗号プログラム28に与えることによってグループ鍵を生成する。 Step 2104 the destination list 41 in the specified to generate a group key by giving the group encryption program 28 of the IC card 130. ステップ2 Step 2
105ではリトライカウンタを初期化し、ステップ21 105 retry counter in initialized, step 21
06では乱数である前記実行鍵41を生成する。 In 06 is a random number to generate the execution key 41. ステップ2107では前記ヘッダ505を前記一時ファイルの先頭部分に書き込む。 In step 2107 writes the header 505 at the head portion of the temporary file. ステップ2109では、前記リーダ部分2402を前記一時ファイルの前記ヘッダ505 In step 2109, the of the reader portion 2402 the temporary file header 505
の続きに書き込む。 Writing of the continuation. ステップ2110では、前記平文のHTMLファイル2201からデータを読み出し、ステップ2111で該データを暗号化する。 In step 2110, it reads the data from the HTML file 2201 of the plaintext and encrypts the data at step 2111. ステップ211 Step 211
2では、暗号化後のデータの中に前記コメントの終了文字列「――>」がないかどうかを調べ、あればステップ2131以下を実行し、なければステップ2113で前記一時ファイルに前記暗号化後のデータを書き込む。 In 2, the end of a string of comments in the data after the encryption "->" it is checked whether or not, to perform the step 2131 or, if, otherwise if the encrypted to the temporary file in step 2113 and writes the data after. ステップ2114では、前記平文のHTMLファイル22 In step 2114, of the plaintext HTML file 22
01の全データの暗号化を終了したかどうかを判定し、 To determine whether the end of the encryption of all the data of 01,
終了するまで前記ステップ2110、2111、211 It said until the end of step 2110,2111,211
2、2113を繰り返し実行するように制御する。 The controls to repetitively execute 2,2113. ステップ2115では、前記フッタ部分2404を前記一時ファイルに書き込み、ステップ2116で前記平文のH In step 2115, writes the footer 2404 to the temporary file, H of the plaintext in step 2116
TMLファイル2201と前記一時ファイルの両方をクローズする。 And TML file 2201 to close both of the temporary file. ステップ2117では、指定された平文のHTMLファイル名と暗号化後のHTMLファイル名が同一かどうかを判定し、同一ならばステップ2118で前記平文のHTMLファイル2201を削除する。 In step 2117, HTML file name after the HTML file name and encryption of the specified plain text, it is determined whether or not the same, delete the HTML file 2201 of the plaintext if the same in step 2118. ステップ2119では、前記一時ファイルのファイル名称を指定された暗号化後のHTMLファイル名称に変更し、 At step 2119, change the HTML file name of the encrypted to the specified file name of the temporary file,
本プログラムを終了する。 By terminating the program. 一方、前記ステップ2112 Meanwhile, the step 2112
において、暗号化後のデータの中に前記コメントの終了文字列「――>」あると判定された場合は、ステップ2 In, terminated string of the comment in the data encrypted "->" If it is determined that, Step 2
131で前記一時ファイルに書き込んだ内容をクリアする。 To clear the written contents to the temporary file in the 131. 次に、ステップ2132で前記リトライカウンタをカウントアップし、ステップ2133で前記リトライカウンタが予め設定した上限値(本実施例では10回とした)を越えていないかを検査し、越えていなければステップ2106からの部分を再度実行する。 Then, the retry counter is incremented in step 2132, the upper limit retry counter is preset (in this example was a 10 times) checks does not exceed at step 2133, if not beyond the step to perform the part of from 2106 again. この再実行では、前記ステップ2106で前回とは異なる乱数が実行鍵61として使われるので、前記ステップ2111の暗号化で再び前記コメントの終了文字列「――>」が現れる確率はかなり低い。 In the re-run, because different random number is the last time in the step 2106 is used as an execution key 61, terminated string of the comment again in the encryption of the step 2111 "->" the probability that appears quite low. それにも拘わらず、前記上限値を越えてしまった場合は、ステップ2134で前記平文のHTMLファイル2201と前記一時ファイルの両方をクローズする。 Nevertheless, if you've exceeded the upper limit value, it closes both the temporary file as the HTML file 2201 of the plaintext at step 2134. さらにステップ2115で前記一時ファイルを削除し、ステップ2136でエラーメッセージを表示し、本プログラムを終了する。 Further deleting the temporary files in step 2115, it displays an error message at step 2136, followed by terminating the program. なお、暗号化したデータはランダムな値となるので、前記コメントの終了文字列「――>」が現れる確率は、一文字は1バイト(= It should be noted that, since the encrypted data becomes a random value, the end of a string of comments - the probability that the ">" appears, the character is 1 byte (=
8ビット)で表現されるので「(2の8乗)の3乗」分の1、即ち16777216分の1である。 1 minute "cubed (8 square of 2)" because it is expressed by 8 bits), that is, one 16777216 minutes. 言い換えれば約16Mバイトのデータに一回起こる程度ということである。 It is that the extent to which occur once in data of about 16M bytes in other words. したがって、上述のように実行鍵61を替えてリトライする制御を組み込んでおけば、実用上全く問題がないことが判る。 Therefore, if incorporate control to retry by changing the execution key 61 as described above, it can be seen that there is no practical problem at all. また、前記コメントの終了文字列「――>」が前記本体部分2403に出現することを避ける別の手段として、暗号化したデータを16進表示によるテキスト文字列として格納することもできる。 Also, the terminated string comment - As an alternative to avoid the ">" appears on the main body portion 2403 may also store the encrypted data as a text string in hexadecimal display.

【0054】この方法で作成した暗号化HTMLファイルを図26に示す。 [0054] shows the encryption HTML files that were created by this method is shown in FIG. 26. ただし、この方法では、1バイトのデータを表現するために2文字即ち2バイトが必要であり、データ量が倍になってしまうという問題もある。 However, this method requires two characters or two bytes to represent one byte of data, there is also a problem that the amount of data becomes doubled.

【0055】本実施例では、HTMLで記述されたドキュメントファイルについて述べたが、解釈時に無視されるコメント文を記述するための書式を備えた文法であれば同様に本発明を適用することができることは明らかである。 [0055] In the present embodiment, it has dealt with the document file written in HTML, that can be applied in the same manner, the present invention if the grammar with a format for describing the comments that are ignored in the interpretation at the time it is clear.

【0056】 [0056]

【実施例】以下、本発明をインターネットに用いた場合の実施例を図を用いて説明する。 EXAMPLES Hereinafter, will be explained with reference to FIG embodiments in which the present invention to the Internet. まず、全体のシステム構成を説明する。 First, the entire system configuration. 図1は、本発明の暗号ファイル受信システム及びその制御方法の一構成例である。 Figure 1 is an example of a configuration of a cryptographic file receiving system and the control method of the present invention. 110はクライアント情報処理装置、120はサーバ情報処理装置である。 110 the client information processing apparatus 120 is a server information processing apparatus.

【0057】サーバ情報処理装置120には、中央処理装置(CPU)1b、メモリ2b、LANコントローラ3b、ディスクコントローラ4b、磁気ディスク5bが具備されている。 [0057] The server information processing apparatus 120, a central processing unit (CPU) 1b, memory 2b, LAN controller 3b, the disk controller 4b, the magnetic disk 5b are provided. サーバ情報処理装置120の起動時には、オペレーティングシステム(OS)20bと、WW During startup of the server information processing apparatus 120, an operating system (OS) 20b, WW
W(World−Wide Web)サーバプログラム26、および共用ファイル暗号プログラム21bが、ディスクコントローラ4bを介して磁気ディスク5bからメモリ2b上にロードされる。 W (World-Wide Web) server program 26 and a shared file encryption program 21b, is loaded from the magnetic disk 5b in the memory 2b through the disk controller 4b. クライアント情報処理装置110には、CPU1a、メモリ2a、LANコントローラ3a、ディスクコントローラ4a、磁気ディスク5a、ICカードコントローラ6がそれぞれ具備されている。 The client information processing apparatus 110, CPU 1a, memory 2a, LAN controller 3a, the disk controller 4a, a magnetic disk 5a, IC card controller 6 is provided respectively. クライアント情報処理装置110の起動時には、 At the time of start-up of the client information processing apparatus 110,
OS20a、共用ファイル暗号プログラム21a、通信API(Application Program In OS20a, shared file encryption program 21a, communication API (Application Program In
terface)フックプログラム27が、前記ディスクコントローラ4aを介して前記磁気ディスク5aから前記メモリ2a上にロードされる。 Terface) hook program 27 is loaded into the memory 2a from the magnetic disk 5a via the disk controller 4a. また、ブラウザプログラム19は、前記クライアント情報処理装置110のユーザー(以下単にユーザーと呼ぶ)の指示によって前記ディスクコントローラ4aを介して前記磁気ディスク5aから前記メモリ2a上にロードされる。 Also, the browser program 19 is loaded from the client user of the information processing apparatus 110 (hereinafter simply referred to as a user) the magnetic disk 5a via the disk controller 4a by the instructions on the memory 2a. 前記通信A The communication A
PIフックプログラム27は、ブラウザプログラム19 PI hook program 27, the browser program 19
が前記OS20aに発行する通信APIをフック(横取り)し、受信ファイルデータの復号化をバックグラウンドで自動的に行うものである。 There communication API to issue the OS20a hooks (intercepted), in which automatically decrypts the received file data in the background.

【0058】前記サーバ情報処理装置120と前記クライアント情報処理装置110は、ローカルエリアネットワーク(LAN)101を介して相互に接続されており、各々のLANコントローラ3を介して通信を行う。 [0058] The server information processing apparatus 120 and the client information processing apparatus 110 are connected to each other via a local area network (LAN) 101, it communicates via respective LAN controller 3.
なお、前記サーバ情報処理装置120と前記クライアント情報処理装置110は互いに遠隔地に存在し、電話回線や専用回線を介して接続されていてもよい。 Note that the server information processing apparatus 120 and the client information processing apparatus 110 is present in remote locations from each other, it may be connected via a telephone line or a dedicated line.

【0059】図28では一台のクライアント情報処理装置110を示したが、実際には、同じ構成のクライアント情報処理装置110が複数前記LAN101に接続されており、これらのクライアント情報処理装置110間で、前記サーバ情報処理装置120の前記磁気ディスク5bに格納されたHTMLファイルやイメージデータファイルを共用する。 [0059] showed a 28 in a single client information processing apparatus 110, in practice, the client information processing apparatus 110 having the same configuration are connected to a plurality the LAN 101, between these client information processing apparatus 110 , sharing the server information processing apparatus 120 HTML files and image data files stored in said magnetic disk 5b of. ユーザーは前記共用を行うため、前記ブラウザプログラム19を使用して前記磁気ディスク5b上のファイルをアクセスする。 Because users performing the shared, using the browser program 19 to access the files on the magnetic disk 5b. なお、前記HTML In addition, the HTML
ファイルやイメージデータファイルは、前記サーバ情報処理装置120上で作成して前記磁気ディスク5bに格納しても良いし、クライアント情報処理装置110上で作成してから磁気ディスク5bに格納しても良い。 File and the image data file, said to be created on the server information processing apparatus 120 may be stored in the magnetic disk 5b, it may be stored after creating on the client information processing apparatus 110 on the magnetic disk 5b . また、クライアント情報処理装置110のICカードコントローラ6は、ICカード130が脱着可能となっている。 Further, IC card controller 6 of the client information processing apparatus 110, IC card 130 is made detachable. 前記ICカード130内には、CPU1c、不揮発性メモリ7、入出力インタフェース8が具備されている。 The said IC card 130, CPU 1c, non-volatile memory 7, input-output interface 8 is provided. 前記不揮発性メモリ7には、アクセス制御プログラム30、グループ暗号プログラム28、ID情報29、 Wherein the nonvolatile memory 7, the access control program 30, group encryption program 28, ID information 29,
マスタ鍵31が書き込まれている。 Master key 31 has been written. 前記不揮発性メモリ7の内容は、前記入出力インタフェース8を介して外部からアクセスすることができる。 The contents of the nonvolatile memory 7 can be accessed from outside through the input-output interface 8. ただし、不正なアクセスから前記不揮発性メモリ7の記憶内容を保護する為、 However, in order to protect the stored contents of the nonvolatile memory 7 from unauthorized access,
前記CPU1cによるユーザー認証制御が必ず介在する仕組みとなっている。 And has a mechanism for user authentication control is always mediated by the CPU1c.

【0060】図29は、前記共用ファイル暗号プログラム21と前記通信APIフックプログラム27を構成するプログラムルーチンを示す図である。 [0060] Figure 29 is a diagram illustrating a program routine which constitutes the shared file encryption program 21 and the communication API hook program 27. 前記共用ファイル暗号プログラム21は、前記ICカード130へのログイン、ログアウトを行うログイン制御ルーチン100 The shared file encryption program 21, log in to the IC card 130, login control routine 100 for performing a logout
0、ログアウト制御ルーチン1100、ユーザーがファイルの暗号化をその都度明示的に指示し暗号化する手動ファイル暗号化ルーチン2000、前記手動ファイル暗号化をHTML(Hyper Text Markup 0, logout control routine 1100, a manual file encryption routine 2000 the user each time explicitly instructed to encrypt the file encryption, the manual file encryption to HTML (Hyper Text Markup
Language)で記述した共用ファイル向けにアレンジしたHTMLファイル暗号化ルーチン2100から構成される。 Consisting of HTML file encryption routine 2100 which arranged the shared file for that described in Language). 前記通信APIフックプログラム27 Said communication API hook program 27
は、sendフックルーチン1800、recvフックルーチン1810、close socketフックルーチン1820から構成される。 It is composed of a send hook routine 1800, recv hook routine 1810, close socket hook routine 1820.

【0061】前記ID情報29の内容は前記第1の実施例における図2に示したID情報29と同じである。 [0061] The contents of the ID information 29 is the same as the ID information 29 shown in FIG. 2 in the first embodiment. ここでは、カテゴリ毎の内容を示すデータとそのコードを10組まで登録できるようになっている。 Here is to be able to register the data and the code indicating the content of each category to 10 pairs. 実際に前記不揮発性メモリ7に記憶するのは、データとコードの値だけである。 To actually stored in the nonvolatile memory 7 is only the value of data and code.

【0062】次に、上記グループ暗号プログラム28の動作は前記実施例におけるグループ暗号プログラム28 Next, group encryption program operation of the group encryption program 28 in the embodiment 28
の動作と、宛先リストのハッシュ値を計算し前記グループ鍵51を作成する手順は前記実施例における図3に示した手順とそれぞれ同じである。 Operation of the procedure of creating the group key 51 calculates a hash value of the destination list are the same respectively to the procedure shown in FIG. 3 in the embodiment. 前記ICカード130 The IC card 130
内の前記グループ暗号プログラム28の処理内容は前記実施例における図4に示したフロー図と同じである。 Processing contents of the group encryption program 28 of the inner is the same as the flowchart shown in FIG. 4 in the embodiment. 以上説明したグループ鍵51を用いてデータを暗号化することによって、前記宛先リスト41に含まれるID情報29を持つ者だけが該データの復号化を可能とすることができる。 By encrypting the data using the group key 51 described above, only those with the ID information 29 included in the destination list 41 it is possible to enable decryption of the data.

【0063】次に、上述のグループ暗号をファイルの暗号に適用した例について説明する。 Next, an example of applying the above-mentioned group encryption file encryption. 図30は、ファイルの暗号化手順と暗号化後のファイルの構成を示す図である。 Figure 30 is a diagram showing the file structure after encryption procedure and encryption of the file. 図5に示した例とは、暗号化後のファイル502のヘッダ505の内容が相違している。 Examples shown and in FIG. 5, the contents of the header 505 of the file 502 after encryption are different. すなわち、501 In other words, 501
は暗号化する前の平文ファイル、502は暗号化後の暗号ファイルである。 Plaintext file prior to encryption, 502 is a ciphertext file after encryption. 61は乱数として生成された実効鍵、504は前記実効鍵61を鍵として前記ファイル5 The effective key generated as random number 61, 504 the file 5 the effective key 61 as a key
01の内容を暗号化した暗号文データ、505は暗号文データ504に付加するヘッダ、506から511は前記ヘッダ505の内容であり、506は使用した暗号化方式を示す文字列、509は前記実効鍵61をグループ鍵51で暗号化した暗号化実効鍵、511は前記宛先リスト41を前記マスタ鍵31で暗号化した暗号化宛先リスト、510は前記暗号化宛先リスト511のサイズである。 Encrypted data 01 of the content is encrypted, 505 header, from 506 511 to be added to the encrypted data 504 is the contents of the header 505, a character string indicating an encryption method used was 506, 509 the effective encrypted encryption effective key the key 61 in the group key 51, 511 the encrypted destination list to a destination list 41 encrypted with the master key 31, 510 is the size of the encrypted destination list 511. 前記暗号ファイル502は、図31に示すように上記手順と全く逆の手順で復号化することができる。 It said ciphertext file 502 can be decrypted by the above procedure exactly reverse procedure as shown in FIG. 31.

【0064】上述のファイル暗号化においては、前記グループ鍵51は前記実効鍵61を暗号化する為に用い、 [0064] In the above file encryption, the group key 51 is used to encrypt the effective key 61,
ファイルデータの暗号化には前記実効鍵61を用いた。 To encrypt the file data using the effective key 61.
したがって、前記宛先リスト41を変更する場合には、 Therefore, when changing the destination list 41,
まず前記実効鍵61を変更前の前記宛先リスト41で生成した前記グループ鍵51で復号化し、次に変更後の前記宛先リスト41から生成した前記グループ鍵51で再暗号化すればよい。 First decrypted with the effective key 61 the group key 51 generated in the destination list 41 before the change, and then may be re-encrypted with the group key 51 generated from the destination list 41 after the change. これにより、前記宛先リスト41の変更時にも前記実効鍵61に比べデータ量の多いファイルデータは再暗号化が不要とすることができ、変更処理を高速に行うことができる。 Thus, large file data amount of data compared to the effective key 61 even when changing the destination list 41 may be re-encryption is not necessary, it is possible to perform the changing process at high speed.

【0065】次に、共用ファイル暗号プログラム21内のログイン処理ルーチン1000、ログアウト処理ルーチン1100について説明する。 Next, shared file encryption program login processing routine 1000 in the 21, for the logout processing routine 1100 will be described. 前記ICカード130 The IC card 130
へのログイン処理ルーチン1000の処理フローは、図10に示した第1の実施例におけるログイン処理ルーチン1000と同じであり、詳細な説明は省略する。 Processing flow of the login processing routine 1000 to is the same as the login processing routine 1000 in the first embodiment shown in FIG. 10, detailed description thereof will be omitted. タイマイベントを用いて定期的に前記ICカード130の接続を調べることによって前記ICカード130を抜いた際のログアウト処理を自動化することができる。 Logout processing when unplugged the IC card 130 by examining the regular connection of the IC card 130 by using the timer event can be automated.

【0066】前記ICカード130からのログアウト処理ルーチン1100の処理フローは、図11に示した第1の実施例におけるログアウト処理ルーチン1100と同じであり、詳細な説明は省略する。 [0066] processing flow of logout processing routine 1100 from the IC card 130 is the same as the logout processing routine 1100 in the first embodiment shown in FIG. 11, detailed description thereof will be omitted.

【0067】図32は、本実施例のファイル暗号化・復号化におけるデータの入出力方法を示す図である。 [0067] Figure 32 is a diagram illustrating a method of input and output data in the file encryption and decryption of the present embodiment. 前記暗号ファイル502の前記暗号文データ504は、暗号文ブロックバッファ82のサイズ単位で前記暗号文ブロックバッファ82との間で読み出し・書き込みが行われる。 Wherein the encrypted data 504 of the ciphertext file 502, reading and writing are performed to and from the ciphertext block buffer 82 in a unit of size of ciphertext block buffer 82. 前記暗号文ブロックバッファ82のデータは復号化し平文ブロックバッファ81に転送される。 Data of the cipher text block buffer 82 are transferred to the plaintext block buffer 81 and decoded. また、前記平文ブロックバッファ81のデータは暗号化し前記暗号文ブロックバッファ82に転送される。 The data of the plaintext block buffer 81 is transferred to the ciphertext block buffer 82 to encrypt. この入出力方法が図18に示した入出力方法と異なる点は、バッファ長が1024byteから256byteとして示されている点である。 That the input and output process differs from the input-output method shown in FIG. 18 is that the buffer length is shown as 256byte from 1024byte.

【0068】次に、前記共用ファイル暗号プログラム2 Next, the shared file encryption program 2
1に含まれる手動ファイル暗号化ルーチン2000について説明する。 For manual file encryption routine 2000 that is included in the 1 will be described. このルーチンは、暗号化を行う平文ファイルのファイル名称と、暗号化後の暗号ファイル名称と宛先リスト41を入力として動作する。 This routine operates the file name of the plaintext file to be encrypted, the ciphertext file name and destination list 41 after encryption as input. この処理は、図20に示したファイル暗号化ルーチン2000と略同じであり、詳細な説明を省略する。 This process is substantially the same as the file encryption routine 2000 shown in FIG. 20, detailed description thereof is omitted.

【0069】次に、HTMLファイルの暗号化を行う実施例について説明する。 Next, an embodiment for encrypting HTML file will be described. この実施例においても、平文のHTMLファイルおよびブラウザでの表示ならびに暗号化したHTMLファイルなどは、実施例1の図22〜図26に示した例と同じであり、その詳細な説明を省略する。 Also in this embodiment, a display and encrypted HTML files in HTML and the browser of the plaintext is the same as the example shown in FIGS. 22 to 26 of Example 1, a detailed description thereof will be omitted.

【0070】上記のHTMLファイル暗号化を行うHT [0070] HT performing the above HTML file encryption
MLファイル暗号化プログラムの処理フローは実施例1 Process flow of ML file encryption program Example 1
の図21に示した処理フローと同じであり、詳細な説明を省略する。 Is the same as the processing flow shown in FIG. 21, a detailed description thereof will be omitted. この方法で作成した暗号化HTMLファイルは図26に示したものと同じである。 Encrypted HTML file created in this way is the same as that shown in FIG. 26. 以上の暗号化処理を施したファイルは、情報提供者によって前記サーバ情報処理装置の磁気ディスク5bに格納される。 File which has been subjected to encryption process described above is stored in the magnetic disk 5b of the server information processing apparatus by the information provider.

【0071】次に、前記ブラウザプログラム19が、W [0071] Next, the browser program 19, W
WWサーバプログラム26から前記暗号ファイルを受信する際の通信APIフックプログラム27の処理について説明する。 It will be described processing of the communication API hook program 27 when receiving the encrypted file from the WW server program 26. まず、受信ファイルデータの入出力とその管理方法から説明する。 First, a description from the input and output and how to administer the received file data. 図33は、本実施例における受信ファイル復号化の際のデータ入出力を示す図である。 Figure 33 is a diagram showing the data output when the received file decoding in this embodiment.
83は、ブラウザプログラム19が用意する暗号文受信バッファであり、暗号文が含まれている。 83 is a ciphertext receiving buffer browser program 19 is prepared, that contains the ciphertext. 通信APIフックモジュールは、後述するrecvフック処理の中で、受信した前記暗号文を暗号文ブロックバッファ82 Communication API hooking module, within the recv hook processing described later, received the ciphertext ciphertext block buffer 82
にコピーする。 To copy to. このとき、暗号文ブロックバッファ82 At this time, the ciphertext block buffer 82
が満たされた場合、該暗号文の復号化処理を実行し平文を平文ブロックバッファ81にコピーする。 If is satisfied, copy the plaintext performs decryption processing of dark ciphertext into plaintext block buffer 81. さらに、平文をブラウザ23へ渡すために、前記平文ブロックバッファ81の中身を前記暗号文受信バッファに上書きコピーする。 Furthermore, in order to pass the plaintext to the browser 23, overwrite copies the contents of the plaintext block buffer 81 to the ciphertext receiving buffer. 暗号文受信バッファ83から暗号文ブロックバッファ82へコピーした暗号文が、前記暗号文ブロックバッファ82を満たしていない場合は、復号化処理を行わずに次の受信ファイルデータを待つ。 Cipher text copied from the ciphertext receiving buffer 83 to the ciphertext block buffer 82, does not meet the ciphertext block buffer 82 waits for the next received file data without decoding process. 以後、受信した暗号ファイルデータの前記暗号文ブロックバッファ82 Thereafter, the encryption file data received ciphertext block buffer 82
へのコピー、前記復号化処理と平文ブロックバッファ8 Copy to the decoding and the plaintext block buffer 8
1へのコピー、および暗号文受信バッファ83への平文コピーを、受信した暗号ファイルデータがなくなるまで繰り返す。 Copying to 1, and the plaintext copy of the ciphertext receiving buffer 83 are repeated until the received encrypted file data is eliminated.

【0072】図34は、オープン中のソケットを管理するためのソケット情報テーブル91である。 [0072] Figure 34 is a socket information table 91 for managing the socket in the open. ソケット情報テーブル91は、ソケット記述子1912、受信フラグ1913、受信データポインタ1914、暗号化実効鍵509、暗号化宛先リストのサイズ510、暗号化宛先リスト511、グループ鍵51、実効鍵61、暗号文ブロックバッファポインタ1915、平文ブロックバッファポインタ1916の各情報を、オープン中の各ソケット毎にポインタ1901を用いてリスト構造で記憶している。 Socket information table 91, a socket descriptor 1912, the reception flag 1913, the reception data pointer 1914, encryption effective key 509, the size 510 of the encryption destination list, encrypted destination list 511, group key 51, the effective key 61, encrypted text block buffer pointer 1915, each information plaintext block buffer pointer 1916 stores a list structure using a pointer 1901 for each socket in the open. ここでソケット記述子1912は、ソケットをオープンした際に前記OS20から与えられる管理番号である。 Here socket descriptor 1912 is a management number given from the OS20 upon open a socket. 受信フラグ1913とは、前記ソケット記述子1912を使用して暗号ファイルのデータを1度も受信していない場合には”0”、暗号ファイルのデータを1 A receiving flag 1913, the when using a socket descriptor 1912 has not been received even once the data encryption file "0", the data of the ciphertext file 1
回以上受信した場合には”1”とするフラグである。 When receiving more than once is a flag to "1". 前記受信データポインタ1914は、受信したファイルデータから暗号文を読み込む際の起点を示すものであり、 The received data pointer 1914, which shows the starting point when reading the ciphertext from the received file data,
後述するrecvフックルーチン1810が、データ受信時に受信バッファの先頭アドレスを登録する。 recv hook routine 1810, which will be described later, registers the start address of the receive buffer during data reception. 暗号文ブロックバッファポインタ1915と平文ブロックバッファポインタ1916は、それぞれ図33における暗号文ブロックバッファ82と平文ブロックバッファ81へのポインタであり、復号化処理時にバッファ間で暗号文や平文をコピーする際の起点となるものである。 Ciphertext block buffer pointer 1915 and the plaintext block buffer pointer 1916 is a pointer to the ciphertext block buffer 82 and the plaintext block buffer 81 respectively, in FIG 33, when copying ciphertext or plaintext between buffer when decoding and it serves as a starting point. また、 Also,
前記暗号化実効鍵509と前記暗号化宛先リストサイズ510、および暗号化宛先リスト511は、暗号ファイル受信時に前記ヘッダー505から読み込んで登録する。 The encrypted effective key 509 and the encrypted destination list size 510, and the encrypted destination list 511 registers read from the header 505 at the time of encryption file reception. なお、該暗号化宛先リスト511は、図6に示すようにマスタ鍵によって復号化される。 Incidentally, dark Goka destination list 511 is decoded by the master key as shown in FIG. 更に、該宛先リスト41からグループ鍵51を生成し、また前記暗号化実効鍵509を前記グループ鍵51で復号化して実効鍵6 Furthermore, to generate a group key 51 from the destination list 41, also effective key by decrypting the encrypted effective key 509 in the group key 51 6
1を求め、それぞれソケット情報テーブル91に登録する。 1 and this correction value is registered in the socket information table 91, respectively.

【0073】次に、前記通信APIフックプログラム2 [0073] Next, the communication API hooks program 2
7内の各ルーチンの処理について説明する。 The processing of each routine in 7 will be described. 図35は、 FIG. 35,
前記sendフックルーチン1800の処理フローを示す図である。 It is a diagram depicting a processing flow of the send hook routine 1800. まず、ステップ1801で、ブラウザプログラム19がWWWサーバプログラム26へ送信するデータ中にファイル取得用コマンドである”GET”が存在するか否かを調べる。 First, in step 1801, it checks whether the browser program 19 exists file is acquisition command while the data "GET" to be transmitted to the WWW server program 26. 存在すればステップ1804で前記ソケット情報テーブル91を参照し、フックしたソケットの記述子が登録されているか否かを調べる。 If there referring to the socket information table 91 in step 1804, descriptor hook socket is checked whether or not it is registered. 登録されていれば、ステップ1806で該当するソケット情報のうち、受信フラグ1913を”0”にして、ステップ1807のsend処理を行う。 If it is registered, among the socket information corresponding at step 1806, the reception flag 1913 to "0", performs the send processing in step 1807. 登録されていない場合、ステップ1805でソケット情報をテーブル90に登録する。 If not registered, registers the socket information in the table 90 in step 1805. 前記ステップ1801で、送信データ中に前記ファイル取得用コマンドが存在しなければ、フックしたソケットの記述子が前記ソケット情報テーブルに登録されているか否かをステップ1802で調べる。 Wherein in step 1801, if the file acquisition command is present in the transmission data, checks whether descriptors hook socket is registered in the socket information table in step 1802. 登録されていれば、ステップ1803で該当するソケット情報を削除する。 If it is registered, remove the socket information corresponding in step 1803. 登録されていなければ、ステップ1807 If it has not been registered, step 1807
でsend処理を実行する。 In executing the send process. 次に、ステップ1808でsend処理のエラーが発生し、かつステップ1809 Next, the error of the send process occurs at step 1808, and step 1809
で該当するソケット情報がテーブルに登録済みの場合は、ステップ1810で該当するソケット情報を前記ソケット情報テーブル91から削除し、ステップ1811 In the Conditional socket information registered in the table, remove the socket information corresponding at step 1810 from the socket information table 91, step 1811
で前記ブラウザプログラム19にリターンする。 In to return to the browser program 19. 前記ステップ1808でエラーが発生しなければ、なにもせずにステップ1811で前記ブラウザプログラム19にリターンする。 If an error is generated in the step 1808, nothing to return to the browser program 19 in step 1811 without.

【0074】図36は、recvフックルーチン182 [0074] FIG. 36, recv hook routine 182
0の処理フローを示す図である。 Is a diagram illustrating the 0 process flow. まず、ステップ182 First, step 182
1でブラウザプログラム19がコールしたrecvの処理を行い、ステップ1822で前記recv処理のエラーチェックを行う。 1 performs processing recv browser program 19 is called by, performing error checking of the recv processing in step 1822. このときエラーが発生した場合、ステップ1835で前記エラーを前記ブラウザプログラム19にリターンする。 If this time error occurs, it returns the error to the browser program 19 in step 1835. なお、エラーに関するメッセージは前記ブラウザプログラム19が表示するので、rec It should be noted that, since the message is the browser program 19 displays about the error, rec
vフックルーチン1810がエラーメッセージを表示する必要はない。 v hook routine 1810 does not need to display an error message. エラーなしの場合は、ステップ1823 In the case of no error, step 1823
でソケットの記述子が前記ソケット情報テーブル91に登録済みであるかどうかを調べる。 In examining whether the socket descriptor is already registered in the socket information table 91. ここで、sendフックルーチンの中でソケット情報テーブル91に登録されたソケット記述子は、WWWサーバ26が管理するH Here, a socket descriptor registered in the socket information table 91 in the send hook routines, WWW server 26 manages H
TMLファイルやイメージデータファイルの受信に使用するソケットを指す。 It refers to a socket used to receive TML files and image data files. そこで、ソケット情報テーブル9 Therefore, the socket information table 9
1に登録済みの場合はステップ1824で受信データの有無をチェックする。 If it registered in 1 to check for received data in step 1824. 登録されてない場合は、ステップ1835で受信データをブラウザプログラム19にリターンする。 If not registered, returns the received data to the browser program 19 in step 1835. ステップ1824で受信データが存在しない場合は、データの受信が完了したことを意味するので、 If the received data is not present in step 1824, this means that reception of data is completed,
該当するソケット情報を前記ソケット情報テーブル91 Wherein the corresponding socket information socket information table 91
から削除し、ステップ1835で前記ブラウザプログラム19にリターンする。 Remove from, to return to the browser program 19 in step 1835. 受信データが存在する場合は、 If the received data is present,
ステップ1825でrecvフラグをチェックする。 To check the recv flag in step 1825. 前記recvフラグが”0”であれば、前記send処理に対する1回目の受信データであると判断し、ステップ1826で前記受信データをチェックする。 If the recv flag is "0", determines that the first reception data for the send process, checking the received data in step 1826. ステップ1 Step 1
827で、受信データが本発明の暗号化方式により暗号化されたファイルである場合、ステップ1828でログイン中のユーザーが存在するかチェックする。 In 827, when the received data is a file that has been encrypted by the encryption system of the present invention, to check for current user in step 1828 exists. 存在しない場合は、ステップ1838でメッセージ1837を表示する。 If not, a message 1837 in step 1838. 存在する場合は、ステップ1829で宛先リストに、前記ログインユーザーが含まれているかを調べる。 If present, in the destination list in step 1829, it is checked if there is any the login user. 前記ログインユーザーが含まれている場合は、ステップ1830で前記recvフラグを”1”に設定し、 If it contains the login user is set to "1" to the recv flag at step 1830,
ステップ1832で前記受信ファイルデータを復号化する。 Decrypting the received file data in step 1832. 一方、前記宛先リストに前記ログインユーザーが含まれていない場合は、ステップ1831でメッセージ1 On the other hand, it does not contain the said login user to the destination list, message 1 in step 1831
836を表示し、ステップ1834でソケット情報を前記ソケット情報テーブル91から削除してリターンする。 836 Display, control returns to remove the socket information from the socket information table 91 in step 1834. 一方、前記ステップ1827で、受信ファイルデータが暗号化されていない場合は、ステップ1834でソケット情報を前記ソケット情報テーブルから削除してリターンする。 Meanwhile, at the step 1827, if the received file data is not encrypted, and then returns remove socket information from the socket information table in step 1834.

【0075】図37は、closesocketフックルーチン1840の処理フローを示す図である。 [0075] Figure 37 is a diagram depicting a processing flow of closesocket hook routine 1840. まずステップ1841では、前記ブラウザプログラム19がコールしたclosesocket関数の引数に指定されたソケット記述子が、ソケット情報テーブル91に登録されているかを調べる。 First, in step 1841, socket descriptor specified in the argument of closesocket functions the browser program 19 is call checks whether it is registered in the socket information table 91. 登録されている場合は、ステップ1842で前記ソケット記述子に対応するソケット情報をテーブル90から削除し、ステップ1843のcl If registered, it deletes the socket information corresponding to the socket descriptor in step 1842 from the table 90, cl Step 1843
osesocket処理を実行して前記ブラウザプログラム19にリターンする(ステップ1844)。 Running osesocket process returns to the browser program 19 (step 1844). 一方、 on the other hand,
前記ソケット情報テーブルに登録されていない場合は、 If it is not registered in the socket information table,
ステップ1843のclosesocket処理を実行してリターンする。 closesocket processing of step 1843 is executed to return to.

【0076】以上説明した通信APIフックプログラム27の各ルーチンの処理によって、所望のページの復号化をブラウザプログラム19からは透過に実現することができる。 [0076] the processing of the routine of the communications API hook program 27 described above, it is possible to realize the transmission from the browser program 19 to decode the desired page.

【0077】次に、本実施例において、実際のWWW運用システムの一例について図38を用いて説明する。 Next, in the present embodiment will be described with reference to FIG. 38 for an example of an actual WWW operational system. 1
40は、代理サーバ情報処理装置であり、代理サーバプログラム18により、前記クライアント情報処理装置1 40 is a proxy server information processing device, by the proxy server program 18, the client information processing apparatus 1
10と前記サーバ情報処理装置120との間の送受信データを中継する。 10 and the relays data transmitted and received between the server information processing apparatus 120. また、前記代理サーバプログラム18 In addition, the proxy server program 18
は、前記サーバ情報処理装置120が前記クライアント情報処理装置110からの要求に応じて発信したHTM Is, HTM to the server information processing apparatus 120 is sent in response to a request from the client information processing apparatus 110
Lファイルやイメージデータファイルを、ディスクコントローラ4cを介して磁気ディスク5c内にキャッシュする機能を持つ。 The L files and image data files, having the ability to cache in the magnetic disk 5c via the disk controller 4c. 以後、前記クライアント情報処理装置110からファイル転送要求を出した場合、該ファイルが前記磁気ディスク5c内にキャッシュされていれば、 Thereafter, when issuing the file transfer request from said client information processing apparatus 110, if the file has long been cached in the magnetic disk 5c,
前記代理サーバプログラム18が該キャッシュファイルを前記クライアント情報処理装置110へ転送する。 It said proxy server program 18 transfers the cache file to the client information processing apparatus 110. 本実施例においては、機密情報に関するファイルは全て暗号化されて前記サーバ情報処理装置120の磁気ディスク5bに格納されている。 In the present embodiment, files are stored all been encrypted on the magnetic disk 5b of the server information processing apparatus 120 relating to confidential information. したがって、ファイル転送時に前記磁気ディスク5cにキャッシュされる機密情報は全て暗号ファイルとなる。 Thus, all sensitive information is cached in the magnetic disk 5c during the file transfer becomes encrypted file.

【0078】 [0078]

【発明の効果】以上説明したように、本発明はファイルの暗号化において、復号化を許可するユーザーのリストをファイルに付加するグループ暗号用いるので、複数のユーザーが同一のファイル利用する場合にも暗号化ファイルが一個で済み且つ安全であるという効果がある。 As described in the foregoing, in the present invention is encrypted file, so use group encryption to add a list of users in a file to allow decoding, even when a plurality of users to use the same file there is an effect that the encrypted file is already and safe one.

【0079】また、暗号化の対象ディレクトリと復号を許可するユーザーの宛先リストをユーザー毎に設定可能であるので、複数のユーザーがディレクトリを共用し該ディレクトリ内のファイルを異なる宛先リストを用いてファイル暗号化を行うことができるという効果がある。 [0079] Also, since the user of the destination list to allow the decryption and encryption of the target directory can be set for each user, using different destination list file of a plurality of users share a directory within the directory file there is an effect that it is possible to perform the encryption.

【0080】また、本発明は、アプリケーションプログラムが解釈し処理する文法に従って記述された平文ファイルのデータ暗号化において、前記文法における前記アプリケーションプログラム処理時に処理対象外として無視する注釈文とするための記述子を前記暗号化後のデータに付加し暗号ファイルとして格納するので、本暗号化システムに対応した復号プログラムを具備しない情報処理装置で前記暗号化ファイルを読み出した場合にも、異常動作することがないという効果がある。 [0080] Further, the present invention is the data encryption of the plaintext file described in accordance with grammar application program interprets processes, described for the reminder text to be ignored for processing outside when the application program process in the grammar because contain child as an additional encrypted file data after the encryption, when an information processing apparatus having no decoding program corresponding to the encryption system reads the encrypted file also be abnormal operation there is an effect that it is not.

【0081】また、本発明は、アプリケーションプログラムからOSに発行されるファイル操作要求をフックするフック手段を設け、前記ファイル操作要求発行時に自動的に暗号化あるいは復号化を行うので、ユーザーが暗号化を忘れることがないという効果がある。 [0081] Further, the present invention is provided with a hook means for hooking the file operation request issued from the application program to the OS, since the automatically encrypted or decrypted at the file operation request issued, the user encrypts there is an effect that is not to forget.

【0082】また、本発明は、WWWサーバが予め暗号化されたファイルを管理するので、該WWWサーバプログラムを具備するサーバ情報処理装置に直接アクセスしても機密情報が漏れないという効果がある。 [0082] Further, since the present invention manage files WWW server is pre-encrypted, there is an effect that sensitive information does not leak even direct access to server information processing device having the WWW server program. また、本発明は、WWWサーバが予め暗号化されたファイルを管理するので、該ファイル転送時に代理サーバによってキャッシュされる機密情報も暗号ファイルとなるため、代理サーバ情報処理装置に直接アクセスしても機密情報が漏れないという効果がある。 Further, since the present invention manage files WWW server is encrypted beforehand, since the secret information is also encrypted files cached at said file transfer by the proxy server and is accessed directly proxy server information processing apparatus confidential there is an effect that information does not leak.

【0083】また、本発明は、ブラウザプログラムから通信モジュールに発行される通信API呼び出しをフックするフック手段を設け、前記データ受信API呼び出し時に自動的に復号化を行うので、ユーザーにとって復号化のための操作が不要であるという効果がある。 [0083] Further, the present invention is provided with a hook means for hooking the communication API calls issued from the browser program to the communication module, since the automatically decrypted when the data receiving API calls, for decoding for the user there is an effect that the operation of it is unnecessary.

【図面の簡単な説明】 BRIEF DESCRIPTION OF THE DRAWINGS

【図1】本発明の実施例における共用ファイル暗号システムの一構成例を示す図。 Diagram showing an example of configuration of a shared file encryption system in the embodiment of the present invention; FIG.

【図2】本発明の実施例におけるID情報29の内容の一例を示す図。 Diagram showing one example of the contents of the ID information 29 in the embodiment of the present invention; FIG.

【図3】本発明の実施例において、宛先リストのハッシュ値を計算し前記グループ鍵51を作成する手順の一例を示す図。 In the embodiment of the present invention; FIG, illustrates an example of a procedure for creating the group key 51 calculates a hash value of the destination list.

【図4】本発明の一実施例におけるICカード130内の前記グループ暗号プログラム28の処理内容を示すフロー図。 Flow diagram showing the processing content of the group encryption program 28 in the IC card 130 according to an embodiment of the present invention; FIG.

【図5】本発明の一実施例におけるファイルの暗号化手順と暗号化後のファイルの構成を示す図。 5 is a diagram showing the file structure after encryption procedure and encryption of the file in an embodiment of the present invention.

【図6】本発明の一実施例におけるファイルの復号化手順を示す図。 It shows a decoding procedure of a file in one embodiment of the present invention; FIG.

【図7】本発明の一実施例におけるユーザーから見た論理的なディレクトリの構成を示す図。 It shows the structure of a logical directory as seen from the user in an embodiment of the present invention; FIG.

【図8】本発明の一実施例におけるファイルの自動暗号化、復号化を導入した後の物理的なディレクトリ構成を示す図。 8 automatic file encryption in one embodiment of the present invention, shows the physical directory structure after the introduction of the decoding.

【図9】本発明の一実施例における宛先リストファイル901、前記暗号ファイル情報ファイル902の内容の一例を示す図。 [9] The destination list file 901 according to an embodiment of the present invention, it shows an example of the contents of the ciphertext file information file 902.

【図10】本発明の一実施例におけるICカード130 IC card 130 according to an embodiment of the present invention; FIG
へのログイン処理ルーチン1000の処理フローを示す図。 Diagram showing the process flow of the login processing routine 1000 to.

【図11】本発明の一実施例におけるICカード130 [11] IC card 130 according to an embodiment of the present invention
からのログアウト処理ルーチン1100の処理フローを示す図。 Diagram illustrating a processing flow of logout processing routine 1100 from.

【図12】本発明の一実施例におけるファイルオープンフックルーチン1200の処理フローを示す図。 12 is a diagram showing a processing flow of the file open hook routine 1200 in one embodiment of the present invention.

【図13】本発明の一実施例におけるファイルクリエイトフックルーチン1300の処理フローを示す図。 FIG. 13 shows a processing flow of the file Create hook routine 1300 in one embodiment of the present invention.

【図14】本発明の一実施例におけるリードフックルーチン1400の処理フローを示す図。 14 illustrates a processing flow of the read hook routine 1400 in one embodiment of the present invention.

【図15】本発明の一実施例におけるライトフックルーチン1500の処理フローを示す図。 It shows a process flow of a write hook routine 1500 in one embodiment of the present invention; FIG.

【図16】本発明の一実施例におけるクローズフックルーチン1600の処理フローを示す図。 It shows a process flow of the closing hook routine 1600 in one embodiment of Figure 16 the present invention.

【図17】本発明の一実施例におけるファイルリネームフックルーチン1700の処理フローを示す図。 17 illustrates a process flow of a file rename hook routine 1700 in one embodiment of the present invention.

【図18】本発明の一実施例におけるファイル暗号化・ File Encryption in one embodiment of Figure 18 the present invention,
復号化時のデータの入出力方法を示す図。 It illustrates input and output method of data during decoding.

【図19】本発明の一実施例におけるオープン中の暗号ファイルを管理するためのファイルハンドルテーブル9 File handle table 9 for managing cryptographic open file in an embodiment of Figure 19 the present invention
0の構成を示す図。 Diagram illustrating the configuration of a 0.

【図20】本発明の一実施例における手動ファイル暗号化ルーチン2000の処理フローの一例を示す図。 It illustrates an example of a process flow of the manual file encryption routine 2000 in one embodiment of Figure 20 the present invention.

【図21】本発明の第一の実施例における第一のサーバ情報処理装置120のディレクトリ構造を示す図。 FIG. 21 shows the directory structure of the first server information processing apparatus 120 in the first embodiment of the present invention.

【図22】本発明の一実施例における平文のHTMLファイルの一例を示す図。 It illustrates an example of an HTML file of plain text in an embodiment of Figure 22 the present invention.

【図23】本発明の一実施例において平文のHTMLファイルをブラウザで表示した画面の例を示す図。 It shows an example of a screen displaying HTML file plaintext in a browser in one example of FIG. 23 the present invention.

【図24】本発明の一実施例における暗号化したHTM Encrypted HTM in an embodiment of Figure 24 the present invention
Lファイルの一例を示す図。 Diagram showing an example of L file.

【図25】本発明の一実施例において暗号化した平文のHTMLファイルをブラウザで表示した画面の例を示す図。 Figure 25 is a diagram showing an example of a screen displaying HTML file for the encrypted plaintext in the browser in one embodiment of the present invention.

【図26】本発明の一実施例における暗号化したHTM Encrypted HTM in an embodiment of Figure 26 the present invention
Lファイルの他の例を示す図。 Diagram showing another example of L file.

【図27】本発明の第一の実施例における前記共用ファイル暗号プログラム21と前記ファイルI/Oフックプログラム22を構成するプログラムルーチンを示す図。 Figure 27 illustrates a program routine to configure the shared file encryption program 21 the file I / O hook program 22 in the first embodiment of the present invention.

【図28】本発明の実施例における暗号ファイル受信システムの一構成例を示す図。 Diagram showing an example of configuration of an encryption file reception system in the embodiment of Figure 28 the present invention.

【図29】本発明の実施例における前記共用ファイル暗号プログラム21と前記通信APIフックプログラム2 [29] The in the embodiment of the present invention sharing files encryption program 21 and the communication API hook program 2
7を構成するプログラムルーチンを示す図。 It shows a program routine which constitutes the 7.

【図30】本発明の一実施例におけるファイルの暗号化手順と暗号化後のファイルの構成を示す図。 It illustrates the file structure after encryption procedure and encryption of the file in an embodiment of Figure 30 the present invention.

【図31】本発明の一実施例におけるファイルの復号化手順を示す図。 FIG. 31 shows a decoding procedure of a file in one embodiment of the present invention.

【図32】本発明の一実施例におけるファイル暗号化・ File Encryption in one embodiment of Figure 32 the present invention,
復号化時のデータの入出力方法を示す図。 It illustrates input and output method of data during decoding.

【図33】本発明の一実施例における受信ファイル復号化時のデータの入出力方法を示す図。 It illustrates input and output method of data when received file decoding in one embodiment of Figure 33 the present invention.

【図34】本発明の一実施例におけるオープン中のソケット情報を管理するためのソケット情報テーブル91の構成を示す図。 Figure 34 is a diagram showing a configuration of a socket information table 91 for managing the socket information in the open in an embodiment of the present invention.

【図35】本発明の一実施例におけるsendフックルーチン1800の処理フローを示す図。 It shows a process flow of the send hook routine 1800 in one embodiment of Figure 35 the present invention.

【図36】本発明の一実施例におけるrecvフックルーチン1820の処理フローを示す図。 Figure 36 illustrates the process flow of the recv hook routine 1820 in one embodiment of the present invention.

【図37】本発明の一実施例におけるclosesoc closesoc in an embodiment of Figure 37 the present invention
ketフックルーチン1840の処理フローを示す図。 It shows a process flow of the ket hook routine 1840.

【図38】本発明の実施例において実際のWWWを運用するシステムの一構成例を示す図。 FIG. 38 shows an example of the configuration of a system for operating an actual WWW in the embodiment of the present invention.

【符号の説明】 DESCRIPTION OF SYMBOLS

1 CPU 2 メモリ 3 LANコントローラ 4 ディスクコントローラ 5 磁気ディスク 6 ICカードコントローラ 7 不揮発メモリ 8 入出力インタフェース 19 ブラウザプログラム 18 代理サーバプログラム 20 OS 21 共用ファイル暗号プログラム 22 ファイルI/Oフックプログラム 23 アプリケーションプログラム 24 クライアントプログラム 25 ファイルサーバプログラム 26 WWWサーバプログラム 27 通信APIフックプログラム 28 グループ暗号プログラム 29 ID情報 30 アクセス制御プログラム 31 マスタ鍵 32 ハッシュ関数 101 LAN 110 クライアント情報処理装置 120 サーバ情報処理装置 130 ICカード 140 代理サーバ情報処理装置 1 CPU 2 memory 3 LAN controller 4 disk controller 5 magnetic disk 6 IC card controller 7 nonvolatile memory 8 output interface 19 browser program 18 proxy server program 20 OS 21 Shared File encryption program 22 file I / O hook program 23 application program 24 client program 25 file server program 26 WWW server program 27 communication API hook program 28 group encryption program 29 ID information 30 access control program 31 master key 32 hash function 101 LAN 110 client information processing apparatus 120 server information processing apparatus 130 IC card 140 the proxy server information processing equipment

───────────────────────────────────────────────────── フロントページの続き (72)発明者 梅木 久志 神奈川県川崎市麻生区王禅寺1099番地 株 式会社日立製作所システム開発研究所内 (72)発明者 大津 豊 神奈川県横浜市戸塚区戸塚町5030番地 株 式会社日立製作所ソフトウェア開発本部内 (72)発明者 森藤 元 神奈川県川崎市麻生区王禅寺1099番地 株 式会社日立製作所システム開発研究所内 (72)発明者 清水 麻由子 神奈川県横浜市戸塚区戸塚町5030番地 株 式会社日立製作所ソフトウェア開発本部内 ────────────────────────────────────────────────── ─── of the front page continued (72) inventor Hisashi Umeki Kawasaki City, Kanagawa Prefecture Aso District Ozenji 1099 address Co., Ltd., Hitachi systems development Laboratory in (72) inventor Yutaka Otsu, Kanagawa Prefecture, Totsuka-ku, Yokohama-shi Totsuka-cho, 5030 address, Ltd. expression company, Hitachi software development Center in (72) inventor Hajime Morifuji Kawasaki City, Kanagawa Prefecture Aso District Ozenji 1099 address Co., Ltd., Hitachi systems development Laboratory in (72) inventor Mayuko Shimizu Kanagawa Prefecture, Totsuka-ku, Yokohama-shi Totsuka-cho, 5030 address Co., Ltd., Hitachi software development Center in

Claims (39)

    【特許請求の範囲】 [The claims]
  1. 【請求項1】 少なくともファイルへの入出力制御機能を持つオペレーティングシステム(OS)と、前記ファイルを格納する記憶装置あるいはネットワークで接続された第二の情報処理装置上の記憶装置へのファイル格納手段とを具備する情報処理装置からなるファイル暗号化システムにおいて、暗号化を行う対象ディレクトリを予め設定しファイルに記憶する暗号化ディレクトリ記憶手段と、前記OS上で動作するアプリケーションプログラムから前記ディレクトリ内のファイルへの書き込みデータを暗号化する暗号化手段とを設けたことを特徴とするファイル暗号化システム。 [Claim 1] with an operating system (OS) having the input and output control functions to at least a file, the second file storage means to the storage on the information processing device connected with the storage device or the network to store the file in the file encryption system including an information processing apparatus including bets, and encryption directory memory means for storing a preset target directory in which the encrypted file from an application program operating on the OS in the directory file file encryption system, characterized in that a encryption means for encrypting data to be written to.
  2. 【請求項2】 前記暗号化ディレクトリ記憶手段は、前記情報処理装置を利用するユーザー毎に、独立した複数の暗号化対象ディレクトリを設定可能であることを特徴とする請求項1記載のファイル暗号化システム。 Wherein said encrypted directory storage unit, for each person who uses the information processing apparatus, the file encryption according to claim 1, characterized in that it is capable of setting a plurality of encryption target directory independent system.
  3. 【請求項3】 前記暗号化ディレクトリ記憶手段は、前記対象ディレクトリ毎に復号可能なユーザーのリストを記憶することを特徴とする請求項1または請求項2記載のファイル暗号化システム。 Wherein the encrypted directory storage unit, according to claim 1 or claim 2 file encryption system, wherein the storing the list of decodable user for each of the target directory.
  4. 【請求項4】 前記ユーザーのリストを記憶したファイルを、前記対象ディレクトリ毎に前記対象ディレクトリ内に作成することを特徴とする請求項3記載のファイル暗号化システム。 4. A file encryption system according to claim 3, characterized in that to create a file that stores a list of the user, in the target directory for each of the target directory.
  5. 【請求項5】 前記暗号化手段は、当該ディレクトリに暗号化対象ディレクトリであることを示すファイルがある場合にファイルへの書き込みデータを暗号化することを特徴とする請求項1記載のファイル暗号化システム。 Wherein said encryption means is file encryption according to claim 1, wherein encrypting the write data to the file when there is a file indicating the encryption target directory to the directory system.
  6. 【請求項6】 前記ユーザーのリストを暗号化し記憶することを特徴とする請求項3ないし請求項5のいずれか記載のファイル暗号化システム。 6. A file encryption system according to any one of claims 3 to 5, characterized in that the stored encrypted list of the user.
  7. 【請求項7】 前記アプリケーションプログラムから見た論理的ファイル名と、前記暗号化手段によって格納される物理的ファイル名とが異なることを特徴とする請求項1ないし請求項6のいずれか記載のファイル暗号化システム。 7. A logical file name seen from the application program, the file according to any one of claims 1 to 6 and physical file name stored by the encryption means are different from each other encryption system.
  8. 【請求項8】 少なくともファイルへの入出力制御機能を持つオペレーティングシステム(OS)と、前記ファイルを格納する記憶装置あるいはネットワークで接続された第二の情報処理装置上の記憶装置へのファイル格納手段とを具備する情報処理装置からなるファイル暗号化システムにおいて、暗号化を行う対象ディレクトリを予め設定しファイルに記憶する暗号化ディレクトリ記憶手段と、アプリケーションプログラムから前記ディレクトリ内のファイルへの書き込みデータの暗号化と読み出しデータの復号化とを行う暗号復号手段とを設けたことを特徴とするファイル暗号化システム。 8. an operating system (OS) having the input and output control functions to at least a file, the second file storage means to the storage on the information processing device connected with the storage device or the network to store the file in the file encryption system including an information processing apparatus including bets, and encryption directory memory means for storing the preset file the target directory to perform encryption, the application program writes the data to a file in the directory encryption file encryption system is characterized by providing a decryption means for performing a decoding of the reduction and the read data.
  9. 【請求項9】 前記暗号復号手段は、アプリケーションプログラムからのファイル書き込み或いは読み出しのサイズとは独立したサイズの平文ブロックバッファと暗号文ブロックバッファとを具備し、暗号化および復号化の処理は、前記ブロックバッファ上の全データを一度に処理することによって行うことを特徴とする請求項8記載のファイル暗号化システム。 Wherein said decryption means, the file writing or reading the size of the application program; and a plaintext block buffer ciphertext block buffer independent size, the process of encryption and decryption, the file encryption system according to claim 8, characterized in that by processing all the data on the block buffer at a time.
  10. 【請求項10】 前記暗号化手段あるいは復号化手段は、前記アプリケーションプログラムから前記OSに発行されるファイル操作要求をフックするフック手段によって呼び出されることを特徴とする請求項1ないし請求項9のいずれか記載のファイル暗号化システム。 Wherein said encrypting means or decoding means, any of claims 1 to 9 characterized in that it is called by the hook means for hooking the file operation request issued to the OS from the application program file encryption system according to any.
  11. 【請求項11】 前記暗号化手段は、復号を許可するユーザーのリストの文字列をハッシュ関数によって圧縮することによって作成した数値を暗号化の鍵として用いることを特徴とする請求項1ないし請求項10のいずれか記載のファイル暗号化システム。 Wherein said encryption means is preceding claims, characterized by using the numerical values ​​created by compressing the string of the user's list that permits decoding by a hash function as a key encryption 10 file encryption system according to any one of.
  12. 【請求項12】 前記暗号化手段は、復号を許可するユーザーのリストの文字列をハッシュ関数によって圧縮することによって作成した数値で暗号化の鍵を暗号化し、 12. The method of claim 11, wherein the encryption means encrypts the key for encryption numerically created by compressing the string of the user's list that permits decoding by a hash function,
    該暗号化鍵を暗号化ファイルに付加することを特徴とする請求項1なし請求項10のいずれか記載のファイル暗号化システム。 File encryption system according to claim 1 None claim 10, characterized in that the addition of this encryption key to encrypt the file.
  13. 【請求項13】 少なくともファイルへの入出力制御機能を持つオペレーティングシステム(OS)と、前記ファイルを格納する記憶装置あるいはネットワークで接続された第二の情報処理装置上の記憶装置へのファイル格納手段と、前記ファイルを暗号化するファイル暗号化手段とを具備する情報処理装置からなるファイル暗号化システムの制御方法において、前記ファイル暗号化手段が、アプリケーションプログラムが解釈し処理する文法に従って記述された平文ファイルのデータ暗号化に際し、前記文法における前記アプリケーションプログラム処理時に処理対象外として無視する注釈文とするための記述子を前記暗号化後のデータに付加し格納することを特徴とするファイル暗号化システムの制御方法。 13. an operating system (OS) having the input and output control functions to at least a file, the second file storage means to the storage on the information processing device connected with the storage device or the network to store the file When the control method of the file consists of information processing apparatus and a file encryption unit for encrypting file encryption system, the file encryption unit have been described in accordance with grammar application program interprets processes plaintext upon data file encryption, file encryption system descriptors for the reminder text and storing, is added to the data after the encrypted ignored for processing outside when the application program process in the grammar control method of.
  14. 【請求項14】 前記暗号化後のデータに前記注釈文の終了を示す記述子が存在しないような暗号化鍵を選択し使用することを特徴とする請求項13記載のファイル暗号化システムの制御方法。 14. Control of file encryption system of claim 13, wherein the descriptor indicating the end of the annotation statement data after the encryption is selected using the encryption key that does not exist Method.
  15. 【請求項15】 ファイルが暗号文のファイルであることを前記アプリケーションプログラムが表示するための記述文を、前記暗号化後のデータを含む前記注釈文の前あるいは後ろに付加し格納することを特徴とする請求項13又は請求項14記載のファイル暗号化システムの制御方法。 15. characterized in that the file is a descriptive sentence for displaying said application program that is a file of ciphertext, stores and prepended or the reminder text containing data after the encrypted the method of claim 13 or claim 14, wherein the file encryption system and.
  16. 【請求項16】 少なくともファイルへの入出力制御機能を持つオペレーティングシステム(OS)と、前記ファイルを格納する記憶装置あるいはネットワークで接続された第二の情報処理装置上の記憶装置へのファイル格納手段と、前記記憶装置に格納されたファイルを復号化するファイル復号化手段とを具備する情報処理装置からなるファイル暗号化システムの制御方法において、前記ファイル復号化手段が、アプリケーションプログラムが解釈し処理する文法に従って記述された暗号ファイルのデータ復号化に際し、前記文法における前記アプリケーションプログラム処理時に処理対象外として無視する注釈文とするための記述子によって注釈文とされたデータ部分を復号化し、該復号化後のデータを暗号化前の平文ファイルのデータと 16. an operating system (OS) having the input and output control functions to at least a file, the second file storage means to the storage on the information processing device connected with the storage device or the network to store the file When, in the control method for file encryption system including an information processing apparatus and a file decoding means for decoding the stored file to the storage device, the file decryption unit, the application program interprets treated upon data decoding of the described cryptographic file according grammar, it decrypts the data portion and an annotation text by descriptors for the reminder text to be ignored as out of the processing target at the time of the application program process in the grammar, 該復 Goka and data encryption before the plain text file the data after して格納することを特徴とするファイル暗号化システムの制御方法。 Control method for file encryption system, characterized by storing in.
  17. 【請求項17】 前記暗号化手段あるいは復号化手段は、前記アプリケーションプログラムから前記OSに発行されるファイル操作要求をフックするフック手段によって呼び出されることを特徴とする請求項13ないし請求項16のいずれか記載のファイル暗号化システムの制御方法。 17. The method of claim 16, wherein the encryption means or decryption means, any of claims 13 to 16 characterized in that it is called by the hook means for hooking the file operation request issued to the OS from the application program control method for file encryption system according to any.
  18. 【請求項18】 前記暗号化手段は、復号を許可するユーザーのリストの文字列をハッシュ関数によって圧縮することによって作成した数値を暗号化の鍵として用いることを特徴とする請求項13ないし請求項17のいずれか記載のファイル暗号化システムの制御方法。 18. The method of claim 17, wherein the encryption means, claim 13 or claim, characterized by using the numerical values ​​created by compressing the string of the user's list that permits decoding by a hash function as a key encryption any method of controlling file encryption system according to 17.
  19. 【請求項19】 前記暗号化手段は、復号を許可するユーザーのリストの文字列をハッシュ関数によって圧縮することによって作成した数値で暗号化の鍵を暗号化し、 19. The encrypting means encrypts the key for encryption numerically created by compressing the string of the user's list that permits decoding by a hash function,
    該暗号化鍵を暗号化ファイルに付加することを特徴とする請求項13ないし請求項17のいずれか記載のファイル暗号化システムの制御方法。 13. to the control method of file encryption system according to any one of claims 17, characterized in that the addition of this encryption key to encrypt the file.
  20. 【請求項20】 少なくとも通信制御機能とファイルへの入出力制御機能を持つオペレーティングシステム(O 20. Operating system with input and output control functions to at least a communication control function and a file (O
    S)と、前記ファイルを格納する記憶装置とを具備する第一の情報処理装置と、該第一の情報処理装置とはネットワークで接続され、少なくとも通信制御機能を持つオペレーティングシステム(OS)と、該OS上で動作し、前記第一の情報処理装置上の記憶装置からファイルを受信する機能を持つアプリケーションプログラムとを具備する第二の情報処理装置によって構成された暗号ファイル受信システムにおいて、前記第一の情報処理装置が、前記ファイルを暗号化するファイル暗号化手段を有し、前記第二の情報処理装置が、前記アプリケーションプログラムが前記第一の情報処理装置からファイル暗号化手段によって暗号化された前記暗号ファイルを受信する際に、該受信ファイルを復号化してから前記アプリケーションプログラム And S), the first information processing apparatus comprising a storage device for storing the file, and said first information processing apparatus connected via a network, an operating system (OS) having at least a communication control function, operating on the OS, in the second encryption file reception system constituted by an information processing apparatus comprising an application program from the first storage device of the information processing apparatus having a function of receiving a file, the first one information processing apparatus has a file encryption means for encrypting the file, the second information processing apparatus is encrypted by the file encrypting means the application program from said first information processing apparatus when receiving the encryption file, the application program after decrypting the received file 渡す受信ファイル復号化手段を有することを特徴とする暗号ファイル受信システム。 Cryptographic file receiving system characterized by having a reception file decoding means to pass.
  21. 【請求項21】 受信ファイル復号化手段は、前記ファイル暗号化手段によって前記暗号ファイルに復号可能なユーザーのリストが付加されたファイルを受信して、復号化することを特徴とする請求項20記載の暗号ファイル受信システム。 21. The reception file decoding means, the file encryption unit receives the file list of possible decoding on the encrypted file user is added by claim 20, wherein the decoding encrypted file receiving system.
  22. 【請求項22】 前記受信ファイル復号化手段は、アプリケーションプログラムが前記OSに発行するデータ送受信要求をフックするフック手段によって呼び出されることを特徴とする請求項20又は請求項21記載の暗号ファイル受信システム。 22. The received file decryption means, the encryption file reception system according to claim 20 or claim 21, wherein the application program is called by the hook means for hooking the data transmission and reception request issued to the OS .
  23. 【請求項23】 前記フック手段は、前記第二の情報処理装置のユーザーの身元を確認するユーザー認証手段によって認証されたユーザーが存在する場合にのみ前記受信ファイル復号化手段を呼び出すことを特徴とする請求項20ないし請求項22のいずれか記載の暗号ファイル受信システム。 23. said hook means includes a feature to call the reception file decoding means only when the user authenticated by the user authentication means exist to verify the user's identity in the second information processing apparatus cryptographic file reception system according to any one of claims 20 to claim 22.
  24. 【請求項24】 前記受信ファイル復号化手段は、前記ユーザー認証手段によって認証されたユーザーが、前記復号可能なユーザーのリストに含まれているか否かを判別する復号権利判別手段によって復号権利があると判断された場合にのみ呼び出されることを特徴とする請求項20ないし請求項23のいずれか記載の暗号ファイル受信システム。 24. The received file decoding means, the user said authenticated by the user authentication means, there is a decoded right by decrypting right discrimination means for discriminating whether or not included in the list of the decodable user cryptographic file reception system according to any one of claims 20 to claim 23, wherein only be invoked if it is determined that.
  25. 【請求項25】 前記暗号ファイルに、復号可能なユーザーのリストを暗号化して付加したファイルを受信して復号化することを特徴とする請求項20記載の暗号ファイル受信システム。 25. The in encryption file encryption file reception system according to claim 20, wherein the list of decodable user, characterized in that receiving and decoding the files added to encrypt.
  26. 【請求項26】 前記第一の情報処理装置上の記憶装置には、前記ファイル暗号化手段によって予め暗号化されたファイルが格納されていることを特徴とする請求項2 26. The method of claim 25, wherein the first storage device in the information processing apparatus, according to claim 2, wherein the file previously encrypted file by encrypting means is stored
    0ないし請求項25のいずれか記載の暗号ファイル受信システム。 0 to cryptographic file reception system according to claim 25.
  27. 【請求項27】 前記フック手段は、前記アプリケーションプログラムが、前記第一の情報処理装置へ送信したファイル転送要求コマンドに対する受信ファイルのみを復号化の対象として処理することを特徴とする請求項2 27. said hook means, according to claim wherein the application program, which comprises treating a subject decode only received file for the first file transfer request command transmitted to the information processing apparatus 2
    0ないし請求項25のいずれか記載の暗号ファイル受信システム。 0 to cryptographic file reception system according to claim 25.
  28. 【請求項28】 少なくとも通信制御機能とファイルへの入出力制御機能を持つオペレーティングシステム(O 28. Operating system with input and output control functions to at least a communication control function and a file (O
    S)と、前記ファイルを暗号化するファイル暗号化手段と、前記暗号化ファイルを格納する記憶装置とを具備する第一の情報処理装置と、該第一の情報処理装置とはネットワークで接続され、少なくとも通信制御機能を持つオペレーティングシステム(OS)と、該OS上で動作し、前記第一の情報処理装置上の記憶装置から前記暗号ファイルを受信する機能を持つアプリケーションプログラムとを具備する第二の情報処理装置から構成された暗号ファイル受信システムにおいて、前記ファイル暗号化手段は、前記アプリケーションプログラムが解釈し処理する文法に従って記述された平文ファイルのデータ暗号化において、前記文法における前記アプリケーションプログラム処理時に処理対象外として無視する注釈文とするための記述子を And S), and file encryption means for encrypting the files, the first information processing apparatus comprising a storage device for storing the encrypted file, the said first information processing apparatus connected via a network , second comprising an operating system (OS) having at least a communication control function operates on the OS, and an application program having a function of receiving the encrypted file from the storage on the first information processing apparatus in cryptographic file reception system composed of an information processing apparatus, the file encryption unit, the data encryption of the plaintext file described in accordance with the grammar of the to application program interpretation process, when the application program process in the grammar a descriptor for the annotation statement to be ignored as non-processed 前記暗号化後のデータに付加したものを暗号ファイルとするものであり、前記アプリケーションプログラムが前記暗号ファイルを受信したとき、前記記述子が付加されて注釈文となっているデータ部分のみを取り出して復号化する受信ファイル復号化手段を設けたことを特徴とする暗号ファイル受信システム。 Wherein those added to data encrypted is intended to be encrypted file, when the application program receives the encrypted file, retrieves only the data portion of the descriptor is in the addition has been annotated sentences cryptographic file reception system characterized in that a received file decoding means for decoding.
  29. 【請求項29】 少なくとも通信制御機能とファイルへの入出力制御機能を持つオペレーティングシステム(O 29. Operating system with input and output control functions to at least a communication control function and a file (O
    S)と、前記ファイルを暗号化するファイル暗号化手段と、前記暗号化ファイルを格納する記憶装置とを具備する第一の情報処理装置と、該第一の情報処理装置とはネットワークで接続され、少なくとも通信制御機能を持つオペレーティングシステム(OS)を具備する第二の情報処理装置と、前記ネットワークで接続され、前記第二の情報処理装置が前記第一の情報処理装置へ送信するデータや、反対に前記第二の情報処理装置が前記第一の情報処理装置から受信するデータを中継する機能と、該受信データをキャッシュするキャッシュ機能とを具備する第三の情報処理装置とから構成される暗号化ファイル受信システムにおいて、前記第二の情報処理装置が、前記暗号ファイルの転送要求を出すと、該暗号ファイルが前記第一の情報処理 And S), and file encryption means for encrypting the files, the first information processing apparatus comprising a storage device for storing the encrypted file, the said first information processing apparatus connected via a network a second information processing apparatus comprising an operating system (OS) having at least a communication control function, are connected by the network, data or said second information processing apparatus transmits to the first information processing apparatus, composed of the second information processing apparatus on the opposite is the function of relaying data received from said first information processing apparatus, the third information processing apparatus having a cache function for caching the received data in encrypted file receiving system, the second information processing apparatus, it issues a transfer request of said ciphertext file, the encryption file is the first information processing 置から前記第三の情報処理装置を経由して前記第二の情報処理装置へ転送されると共に、該暗号ファイルは前記キャッシュ機能によってキャッシュされ、前記第二の情報処理装置が、再度同じ暗号ファイルの転送要求を出すと、前記キャッシュ機能によりキャッシュされた暗号ファイルが前記第三の情報処理装置から前記第二の情報処理装置へ転送されることを特徴とする暗号ファイル受信システム。 While being transferred laid et via said third information processing apparatus to the second information processing apparatus, the cryptographic file is cached by the cache function, the second information processing apparatus is again the same ciphertext file It issues a transfer request, cryptographic file receiving system, wherein a ciphertext file cached by the cache function is transferred from the third information processing apparatus to the second information processing apparatus.
  30. 【請求項30】 少なくとも通信制御機能とファイルへの入出力制御機能を持つオペレーティングシステム(O 30. Operating system with input and output control functions to at least a communication control function and a file (O
    S)と、前記ファイルを格納する記憶装置とを具備する第一の情報処理装置と、該第一の情報処理装置とはネットワークで接続され、少なくとも通信制御機能を持つオペレーティングシステム(OS)と、該OS上で動作し、前記第一の情報処理装置上の記憶装置からファイルを受信する機能を持つアプリケーションプログラムとを具備する第二の情報処理装置によって構成された暗号ファイル受信システムの制御方法において、前記アプリケーションプログラムが前記第一の情報処理装置から前記暗号ファイルを受信する際に、該受信ファイルを復号化してから前記アプリケーションプログラムに渡すようにしたことを特徴とする暗号ファイル受信システムの制御方法。 And S), the first information processing apparatus comprising a storage device for storing the file, and said first information processing apparatus connected via a network, an operating system (OS) having at least a communication control function, operating on the OS, in the first second control method of encryption file reception system constituted by an information processing apparatus comprising an application program having a function of receiving a file from a storage device on the information processing apparatus , when the application program receives the encrypted file from the first information processing apparatus, control method for a cryptographic file receiving system, characterized in that after decoding the received file to pass to the application program .
  31. 【請求項31】 前記ファイル暗号化手段によって、前記暗号ファイルに復号可能なユーザーのリストが付加されたファイルを受信して、復号化するようにしたことを特徴とする請求項30記載の暗号ファイル受信システムの制御方法。 By 31. The file encryption unit, the list of possible decoded users encrypted file receives the additional files, encrypted file according to claim 30, wherein it has to be decoded control method of the receiving system.
  32. 【請求項32】 前記受信ファイル復号化手段を、アプリケーションプログラムが前記OSに発行するデータ送受信要求をフックするフック手段によって呼び出すことを特徴とする請求項30記載の暗号ファイル受信システムの制御方法。 32. the received file decryption unit, control method according to claim 30, wherein the cryptographic file reception system application program, characterized in that the call by hooking means to hook data transmission request issued to the OS.
  33. 【請求項33】 前記フック手段は、前記第二の情報処理装置のユーザーの身元を確認するユーザー認証手段によって認証されたユーザーが存在する場合にのみ前記受信ファイル復号化手段を呼び出すことを特徴とする請求項30ないし請求項32のいずれか記載の暗号ファイル受信システムの制御方法。 33. said hook means includes a feature to call the reception file decoding means only when the user authenticated by the user authentication means exist to verify the user's identity in the second information processing apparatus 30. to any method of controlling a ciphertext file reception system according to claim 32.
  34. 【請求項34】 前記受信ファイル復号化手段を、前記ユーザー認証手段によって認証されたユーザーが、前記復号可能なユーザーのリストに含まれているか否かを判別する復号権利判別手段によって復号権利があると判断された場合にのみ呼び出すことを特徴とする請求項30 34. the received file decoding means, the user authenticated by the user authentication means, there is a decoded right by decrypting right discrimination means for discriminating whether or not included in the list of the decodable user claim 30, characterized in that call only when it is determined that
    ないし請求項33のいずれか記載の暗号ファイル受信システムの制御方法。 Or control method of encryption file reception system according to claim 33.
  35. 【請求項35】 前記暗号ファイルに、復号可能なユーザーのリストを暗号化して付加したファイルを受信して復号化することを特徴とする請求項30記載の暗号ファイル受信システムの制御方法。 To 35. The encryption file control method of the cryptographic file reception system according to claim 30, wherein the list of decodable user, characterized in that receiving and decoding the files added to encrypt.
  36. 【請求項36】 前記第一の情報処理装置上の記憶装置に、前記ファイル暗号化手段によって予め暗号化されたファイルを格納することを特徴とする請求項30ないし請求項35のいずれか記載の暗号ファイル受信システムの制御方法。 To 36. The storage device on said first information processing apparatus, according to any of the files according to claim 30 or claim 35, characterized in that storing pre-encrypted files by encryption means control method of encryption file reception system.
  37. 【請求項37】 前記フック手段は、前記アプリケーションプログラムが、前記第一の情報処理装置へ送信したファイル転送要求コマンドに対する受信ファイルのみを復号化の対象として処理することを特徴とする請求項3 37. The hooking means, the application program, according to claim 3, characterized in that the process as a target of decoding only the received file for the first file transfer request command transmitted to the information processing apparatus
    0ないし請求項35記載の暗号ファイル受信システムの制御方法。 0 to 35. The method of cryptographic file reception system according.
  38. 【請求項38】 少なくとも通信制御機能とファイルへの入出力制御機能を持つオペレーティングシステム(O 38. Operating system with input and output control functions to at least a communication control function and a file (O
    S)と、前記ファイルを暗号化するファイル暗号化手段と、前記暗号化ファイルを格納する記憶装置とを具備する第一の情報処理装置と、該第一の情報処理装置とはネットワークで接続され、少なくとも通信制御機能を持つオペレーティングシステム(OS)と、該OS上で動作し、前記第一の情報処理装置上の記憶装置から前記暗号ファイルを受信する機能を持つアプリケーションプログラムとを具備する第二の情報処理装置から構成された暗号ファイル受信システムの制御方法において、前記ファイル暗号化手段は、前記アプリケーションプログラムが解釈し処理する文法に従って記述された平文ファイルのデータ暗号化において、前記文法における前記アプリケーションプログラム処理時に処理対象外として無視する注釈文とするため And S), and file encryption means for encrypting the files, the first information processing apparatus comprising a storage device for storing the encrypted file, the said first information processing apparatus connected via a network , second comprising an operating system (OS) having at least a communication control function operates on the OS, and an application program having a function of receiving the encrypted file from the storage on the first information processing apparatus in the control method of the cryptographic file reception system composed of an information processing apparatus, the file encryption unit, the data encryption of the plaintext file described in accordance with the grammar of the interpreting application program processing, the in the grammar application to the annotation statement to be ignored as non-processed at the time of program processing 記述子を、前記暗号化後のデータに付加したものを暗号ファイルとし、前記アプリケーションプログラムが前記暗号ファイルを受信したとき、前記記述子が付加されて注釈文となっているデータ部分のみを取り出して復号化することを特徴とする暗号ファイル受信システムの制御方法。 A descriptor, a material obtained by adding the data after the encrypted encryption file, when the application program receives the encrypted file, retrieves only the data portion of the descriptor is in the addition has been annotated sentences the method of cryptographic file receiving system, characterized in that the decoding.
  39. 【請求項39】 少なくとも通信制御機能とファイルへの入出力制御機能を持つオペレーティングシステム(O 39. Operating system with input and output control functions to at least a communication control function and a file (O
    S)と、前記ファイルを暗号化するファイル暗号化手段と、前記暗号化ファイルを格納する記憶装置とを具備する第一の情報処理装置と、該第一の情報処理装置とはネットワークで接続され、少なくとも通信制御機能を持つオペレーティングシステム(OS)を具備する第二の情報処理装置と、前記ネットワークで接続され、前記第二の情報処理装置が前記第一の情報処理装置へ送信するデータや、反対に前記第二の情報処理装置が前記第一の情報処理装置から受信するデータを中継する機能と、該受信データをキャッシュするキャッシュ機能とを具備する第三の情報処理装置とから構成される暗号ファイル受信システムの制御装置において、前記第二の情報処理装置が前記暗号ファイルの転送要求を出すと、該暗号ファイルが前記第一の情 And S), and file encryption means for encrypting the files, the first information processing apparatus comprising a storage device for storing the encrypted file, the said first information processing apparatus connected via a network a second information processing apparatus comprising an operating system (OS) having at least a communication control function, are connected by the network, data or said second information processing apparatus transmits to the first information processing apparatus, composed of the second information processing apparatus on the opposite is the function of relaying data received from said first information processing apparatus, the third information processing apparatus having a cache function for caching the received data the control apparatus for cryptographic file receiving system, the the second information processing apparatus issues a transfer request of said ciphertext file, the encryption file is the first information 処理装置から前記第三の情報処理装置を経由して前記第二の情報処理装置へ転送されると共に、該暗号ファイルは前記キャッシュ機能によってキャッシュされ、前記第二の情報処理装置が、再度同じ暗号ファイルの転送要求を出すと、前記キャッシュ機能によりキャッシュされた暗号ファイルを前記第三の情報処理装置から前記第二の情報処理装置へ転送することを特徴とする暗号ファイル受信システムの制御方法。 While being transferred from the processing unit via said third information processing apparatus to the second information processing apparatus, the cryptographic file is cached by the cache function, the second information processing apparatus is again the same encryption It issues a file transfer request, the control method of cryptographic file receiving system, characterized in that to transfer the encryption files cached by the caching from the third information processing apparatus to the second information processing apparatus.
JP8182977A 1996-01-10 1996-07-12 File ciphering system and its control method, and cipher file reception system and its control method Pending JPH09251426A (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP8-2046 1996-01-10
JP204696 1996-01-10
JP8182977A JPH09251426A (en) 1996-01-10 1996-07-12 File ciphering system and its control method, and cipher file reception system and its control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8182977A JPH09251426A (en) 1996-01-10 1996-07-12 File ciphering system and its control method, and cipher file reception system and its control method

Publications (1)

Publication Number Publication Date
JPH09251426A true JPH09251426A (en) 1997-09-22

Family

ID=26335358

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8182977A Pending JPH09251426A (en) 1996-01-10 1996-07-12 File ciphering system and its control method, and cipher file reception system and its control method

Country Status (1)

Country Link
JP (1) JPH09251426A (en)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000259478A (en) * 1999-02-23 2000-09-22 Sightsound Com Inc System and method for operating computer file and/or program
JP2004005595A (en) * 2002-04-17 2004-01-08 Microsoft Corp Storage and retrieval of data based on public key coding
US6725370B1 (en) 1999-03-25 2004-04-20 Mitsubishi Denki Kabushiki Kaisha Sharing data safely using service replication
JP2005128898A (en) * 2003-10-24 2005-05-19 Matsushita Electric Ind Co Ltd Contents recording/reproducing device, contents reproducing method and contents recording method
JP2006510958A (en) * 2002-08-23 2006-03-30 イグジット−キューブ,インク. Encryption operating system
US7188086B2 (en) 2001-02-07 2007-03-06 Fujitsu Limited Confidential information management system and information terminal for use in the system
JP2007334821A (en) * 2006-06-19 2007-12-27 Trinity Security Systems Inc Application protection device, application protection method, and application protection program
JP2008226225A (en) * 2007-03-12 2008-09-25 Teruten Inc Drm content reproduction method and device therefor
JP4667361B2 (en) * 2003-01-23 2011-04-13 ヴァーダシス・インコーポレーテッドVerdasys,Inc. Adaptive transmission encryption
US8219823B2 (en) 2005-03-04 2012-07-10 Carter Ernst B System for and method of managing access to a system using combinations of user information

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4616956B2 (en) * 1999-02-23 2011-01-19 サイトサウンド.コム インコーポレイテッド System and method for operating a computer file and / or program
JP2000259478A (en) * 1999-02-23 2000-09-22 Sightsound Com Inc System and method for operating computer file and/or program
US6725370B1 (en) 1999-03-25 2004-04-20 Mitsubishi Denki Kabushiki Kaisha Sharing data safely using service replication
US7188086B2 (en) 2001-02-07 2007-03-06 Fujitsu Limited Confidential information management system and information terminal for use in the system
JP2004005595A (en) * 2002-04-17 2004-01-08 Microsoft Corp Storage and retrieval of data based on public key coding
US9183406B2 (en) 2002-04-17 2015-11-10 Microsoft Technology Licensing, Llc Saving and retrieving data based on public key encryption
US8407761B2 (en) 2002-08-23 2013-03-26 Exit-Cube, Inc. Encrypting operating system
JP2006510958A (en) * 2002-08-23 2006-03-30 イグジット−キューブ,インク. Encryption operating system
US7810133B2 (en) 2002-08-23 2010-10-05 Exit-Cube, Inc. Encrypting operating system
JP4777651B2 (en) * 2002-08-23 2011-09-21 イグジット−キューブ,インク. Computer system and data storage method
US9098712B2 (en) 2002-08-23 2015-08-04 Exit-Cube (Hong Kong) Limited Encrypting operating system
JP4667361B2 (en) * 2003-01-23 2011-04-13 ヴァーダシス・インコーポレーテッドVerdasys,Inc. Adaptive transmission encryption
JP2005128898A (en) * 2003-10-24 2005-05-19 Matsushita Electric Ind Co Ltd Contents recording/reproducing device, contents reproducing method and contents recording method
US8219823B2 (en) 2005-03-04 2012-07-10 Carter Ernst B System for and method of managing access to a system using combinations of user information
JP2007334821A (en) * 2006-06-19 2007-12-27 Trinity Security Systems Inc Application protection device, application protection method, and application protection program
JP2008226225A (en) * 2007-03-12 2008-09-25 Teruten Inc Drm content reproduction method and device therefor

Similar Documents

Publication Publication Date Title
Gray et al. D’Agents: Security in a multiple-language, mobile-agent system
US6070198A (en) Encryption with a streams-based protocol stack
US7424606B2 (en) System and method for authenticating an operating system
JP4593774B2 (en) Encrypting File System and method
CN104903910B (en) Control access security data to the mobile device
JP4445698B2 (en) Virtual distributed security system
US7587749B2 (en) Computer method and apparatus for managing data objects in a distributed context
JP4648687B2 (en) The method and apparatus of the cryptographic transformation in a data storage system
US7565683B1 (en) Method and system for implementing changes to security policies in a distributed security system
CN1273901C (en) System and method for testing computer device
JP3717176B2 (en) Encryption / decryption apparatus and method
US6889210B1 (en) Method and system for managing security tiers
Walsh et al. Security and reliability in Concordia/sup TM
JP4741278B2 (en) Rendering digital content in accordance with a plurality of digital licenses chained in a content protection system
US6978367B1 (en) Selective data encryption using style sheet processing for decryption by a client proxy
US7437429B2 (en) System and method for providing transparent access to distributed authoring and versioning files including encrypted files
JP5019869B2 (en) Method of providing access to encrypted data on the computer device
US8959593B2 (en) System for providing mobile data security
US6961849B1 (en) Selective data encryption using style sheet processing for decryption by a group clerk
CN1697367B (en) A method and system for recovering password protected private data via a communication network without exposing the private data
US7562232B2 (en) System and method for providing manageability to security information for secured items
CN100437530C (en) Method and system for providing secure access to private networks with client redirection
EP2107486B1 (en) Method and apparatus for providing a secure display window inside the primary display
JP4742682B2 (en) Content protection devices and content protection release device
EP2275894B1 (en) Guaranteed delivery of changes to security policies in a distributed system

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20031208

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20031208

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040113