JP2009302869A - Encryption program, decryption program, encryption device, and encryption method - Google Patents

Encryption program, decryption program, encryption device, and encryption method Download PDF

Info

Publication number
JP2009302869A
JP2009302869A JP2008154571A JP2008154571A JP2009302869A JP 2009302869 A JP2009302869 A JP 2009302869A JP 2008154571 A JP2008154571 A JP 2008154571A JP 2008154571 A JP2008154571 A JP 2008154571A JP 2009302869 A JP2009302869 A JP 2009302869A
Authority
JP
Japan
Prior art keywords
data
encryption
hash value
decryption
encrypted
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.)
Granted
Application number
JP2008154571A
Other languages
Japanese (ja)
Other versions
JP5136234B2 (en
Inventor
Katsumi Harada
勝己 原田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2008154571A priority Critical patent/JP5136234B2/en
Publication of JP2009302869A publication Critical patent/JP2009302869A/en
Application granted granted Critical
Publication of JP5136234B2 publication Critical patent/JP5136234B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide an encryption program which allows appropriate determination of the number of times of encryption, a decryption program, an encryption device, and an encryption method. <P>SOLUTION: A computer is made to function as: a data encryption means for generating encrypted data by encrypting data a plurality of times; a hash value generation means for generating a hash value of the data; and a recording means for recording the encrypted data and the hash value in a storage means by associating them with each other. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は、暗号化プログラム、復号プログラム、暗号化装置、及び暗号化方法に関する。   The present invention relates to an encryption program, a decryption program, an encryption device, and an encryption method.

従来、ネットワークを介したデータ転送におけるセキュリティの向上を目的として、暗号化技術が用いられている。この場合、データに対して複数回の暗号化処理を施すことにより、より強固な安全性を確保することができる。暗号化処理の回数は、固定であるよりも送信側において任意に定められる方が好ましい。データ転送のたびに暗号化処理の回数を変化させることができるからである。
特開平10−333568号公報
Conventionally, encryption technology has been used for the purpose of improving security in data transfer over a network. In this case, the data can be encrypted a plurality of times to secure stronger security. The number of times of encryption processing is preferably determined arbitrarily on the transmission side rather than being fixed. This is because the number of encryption processes can be changed each time data is transferred.
Japanese Patent Laid-Open No. 10-333568

しかしながら、暗号化処理の回数を任意とした場合、データの受信側に対して暗号化の回数を通知する必要がある。但し、暗号化処理の回数をデータと共に送信したのでは、複数回暗号化を行った意味が低減してしまうという問題がある。データが盗聴された場合、暗号化処理の回数も盗聴されてしまう可能性があるからである。   However, when the number of times of encryption processing is arbitrary, it is necessary to notify the data reception side of the number of times of encryption. However, if the number of times of encryption processing is transmitted together with the data, there is a problem that the meaning of performing multiple times of encryption is reduced. This is because when data is wiretapped, the number of times of encryption processing may be wiretapped.

本発明は、上記の点に鑑みてなされたものであって、暗号化の回数を適切に判定可能とすることのできる暗号化プログラム、復号プログラム、暗号化装置、及び暗号化方法の提供を目的とする。   The present invention has been made in view of the above points, and an object thereof is to provide an encryption program, a decryption program, an encryption device, and an encryption method capable of appropriately determining the number of times of encryption. And

そこで上記課題を解決するため、暗号化プログラムは、コンピュータを、データを複数回暗号化することにより暗号化データを生成するデータ暗号化手段と、前記データのハッシュ値を生成するハッシュ値生成手段と、前記暗号化データと前記ハッシュ値とを関連付けて記憶装置に記録する記録手段として機能させる。   Therefore, in order to solve the above problem, an encryption program includes a data encryption unit that generates encrypted data by encrypting data a plurality of times, and a hash value generation unit that generates a hash value of the data. The encrypted data and the hash value are associated with each other and recorded as a recording unit in the storage device.

このような暗号化プログラムでは、暗号化の回数を適切に判定可能とすることができる。   With such an encryption program, it is possible to appropriately determine the number of times of encryption.

本発明によれば、暗号化の回数を適切に判定可能とすることのできる暗号化プログラム、復号プログラム、暗号化装置、及び暗号化方法を提供することができる。   According to the present invention, it is possible to provide an encryption program, a decryption program, an encryption device, and an encryption method that can appropriately determine the number of times of encryption.

以下、図面に基づいて本発明の実施の形態を説明する。図1は、本発明の実施の形態におけるシステム構成例を示す図である。同図において、暗号化装置10及び復号装置20は、LAN(Local Area Network)又はインターネット等のネットワーク30(有線又は無線の別は問わない。)を介して接続されている。   Hereinafter, embodiments of the present invention will be described with reference to the drawings. FIG. 1 is a diagram showing an example of a system configuration in the embodiment of the present invention. In the figure, the encryption device 10 and the decryption device 20 are connected via a network 30 (regardless of wired or wireless) such as a LAN (Local Area Network) or the Internet.

暗号化装置10は、データ(電子データ)を暗号化し、暗号化されたデータ(暗号化データ)を復号装置20に送信するコンピュータである。復号装置20は、暗号化データ受信し、復号するコンピュータである。   The encryption device 10 is a computer that encrypts data (electronic data) and transmits the encrypted data (encrypted data) to the decryption device 20. The decryption device 20 is a computer that receives and decrypts encrypted data.

図2は、本発明の実施の形態における暗号化装置のハードウェア構成例を示す図である。図2の暗号化装置10は、それぞれバスBで相互に接続されているドライブ装置100と、補助記憶装置102と、メモリ装置103と、CPU104と、インタフェース装置105と、表示装置106と、入力装置107とを有する。   FIG. 2 is a diagram illustrating a hardware configuration example of the encryption device according to the embodiment of the present invention. The encryption device 10 in FIG. 2 includes a drive device 100, an auxiliary storage device 102, a memory device 103, a CPU 104, an interface device 105, a display device 106, and an input device, which are mutually connected by a bus B. 107.

暗号化装置10での処理を実現するプログラムは、CD−ROM等の記録媒体101によって提供される。プログラムを記録した記録媒体101がドライブ装置100にセットされると、プログラムが記録媒体101からドライブ装置100を介して補助記憶装置102にインストールされる。但し、プログラムのインストールは必ずしも記録媒体101より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置102は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。   A program for realizing processing in the encryption device 10 is provided by a recording medium 101 such as a CD-ROM. When the recording medium 101 on which the program is recorded is set in the drive device 100, the program is installed from the recording medium 101 to the auxiliary storage device 102 via the drive device 100. However, the program need not be installed from the recording medium 101 and may be downloaded from another computer via a network. The auxiliary storage device 102 stores the installed program and also stores necessary files and data.

メモリ装置103は、プログラムの起動指示があった場合に、補助記憶装置102からプログラムを読み出して格納する。CPU104は、メモリ装置103に格納されたプログラムに従って暗号化装置10に係る機能を実現する。インタフェース装置105は、ネットワークに接続するためのインタフェースとして用いられる。表示装置106はプログラムによるGUI(Graphical User Interface)等を表示する。入力装置107はキーボード及びマウス等で構成され、様々な操作指示を入力させるために用いられる。   The memory device 103 reads the program from the auxiliary storage device 102 and stores it when there is an instruction to start the program. The CPU 104 realizes functions related to the encryption device 10 in accordance with a program stored in the memory device 103. The interface device 105 is used as an interface for connecting to a network. The display device 106 displays a GUI (Graphical User Interface) or the like by a program. The input device 107 includes a keyboard and a mouse, and is used for inputting various operation instructions.

なお、復号装置20も図2に示されるようなハードウェア構成を有する。   The decoding device 20 also has a hardware configuration as shown in FIG.

以下、暗号化装置10及び復号装置20が実行する処理手順について説明する。図3は、暗号化装置による処理手順を説明するためのフローチャートである。同図の処理は、暗号化装置10にインストールされたプログラムがCPU104に実行させるものである。   Hereinafter, processing procedures executed by the encryption device 10 and the decryption device 20 will be described. FIG. 3 is a flowchart for explaining a processing procedure by the encryption apparatus. The process shown in FIG. 6 is a program that the program installed in the encryption apparatus 10 causes the CPU 104 to execute.

例えば、入力装置107を介してユーザによって転送対象のデータD(ファイル)が選択され、データDの暗号化指示が入力されると、暗号化装置10は、共通鍵C(共通鍵暗号方式の暗号鍵)をランダムに生成する(S101)。ランダムな生成方法は所定のものに限定されないが、例えば乱数を用いて共通鍵Cを生成すればよい。続いて、暗号化装置10は、所定のハッシュ関数に基づいてデータDのハッシュ値Hを生成(算出)する(S102)。続いて、暗号化装置10は、データDを共通鍵Cによって暗号化する(S103)。暗号化されたデータDを、以下「暗号化データ」という。データの暗号化は同一の共通鍵Cを用いて所望の回数実行される(S104)。すなわち、暗号化データに対して更なる暗号化繰り返される。なお、所望の回数は、ユーザに指定させてもよいし、暗号化装置10がランダムに決定してもよい。   For example, when data D (file) to be transferred is selected by the user via the input device 107 and an encryption instruction for the data D is input, the encryption device 10 uses the common key C (encryption of the common key cryptosystem). Key) is randomly generated (S101). Although the random generation method is not limited to a predetermined method, for example, the common key C may be generated using a random number. Subsequently, the encryption device 10 generates (calculates) a hash value H of the data D based on a predetermined hash function (S102). Subsequently, the encryption device 10 encrypts the data D with the common key C (S103). The encrypted data D is hereinafter referred to as “encrypted data”. Data encryption is executed a desired number of times using the same common key C (S104). That is, further encryption is repeated for the encrypted data. Note that the desired number of times may be specified by the user, or the encryption device 10 may determine it randomly.

所望の回数分の暗号化が完了すると、暗号化装置10は、を公開鍵P(公開鍵暗号方式の公開鍵)によって共通鍵Cを暗号化する(S105)。公開鍵Pによって暗号化された共通鍵Cを、以下「暗号化共通鍵」という。なお、公開鍵Pは、予め補助記憶装置102に保存されている。続いて、暗号化装置10は、暗号化共通鍵、ハッシュ値H、暗号化前のデータDのデータ長L、及び暗号化データを含む転送用データを生成し、メモリ装置103に記録する(S106)。   When the encryption for the desired number of times is completed, the encryption device 10 encrypts the common key C with the public key P (public key of the public key cryptosystem) (S105). The common key C encrypted with the public key P is hereinafter referred to as “encrypted common key”. The public key P is stored in the auxiliary storage device 102 in advance. Subsequently, the encryption device 10 generates transfer data including the encryption common key, the hash value H, the data length L of the data D before encryption, and the encryption data, and records the data in the memory device 103 (S106). ).

図4は、転送用データの構成例を示す図である。同図において転送用データ50は、管理部51及び実データ部52を含む。管理部51にはハッシュ値H、暗号化共通鍵、及びデータ長L等が格納される。実データ部52には暗号化データが格納される。このように、本実施の形態では、同一のデータ(転送用データ50)内に格納されることにより、各情報(ハッシュ値H、暗号化共通鍵、データ長L、及び暗号化データ)の関連付けが実現される。但し、各情報の関連付けは他の形態によって実現されてもよい。例えば、共通の識別子を各情報に付加することにより関連付けを実現してもよい。続いて、暗号化装置10は、生成された転送用データ50を復号装置20に送信する(S107)。   FIG. 4 is a diagram illustrating a configuration example of transfer data. In the figure, the transfer data 50 includes a management unit 51 and a real data unit 52. The management unit 51 stores a hash value H, an encryption common key, a data length L, and the like. The actual data part 52 stores encrypted data. As described above, in this embodiment, the information (hash value H, encrypted common key, data length L, and encrypted data) is associated with each other by being stored in the same data (transfer data 50). Is realized. However, the association of each information may be realized by other forms. For example, the association may be realized by adding a common identifier to each information. Subsequently, the encryption device 10 transmits the generated transfer data 50 to the decryption device 20 (S107).

続いて、復号装置20による処理手順について説明する。図5は、復号装置による処理手順を説明するためのフローチャートである。同図の処理は、復号装置20にインストールされたプログラムが復号装置20のCPUに実行させるものである。   Subsequently, a processing procedure by the decoding device 20 will be described. FIG. 5 is a flowchart for explaining a processing procedure by the decoding apparatus. The process in FIG. 6 is a program that the program installed in the decryption device 20 causes the CPU of the decryption device 20 to execute.

復号装置20は、暗号化装置10より送信された転送用データ50を受信すると(S210)、転送用データ50の管理部51に格納されている情報(ハッシュ値H、暗号化共通鍵、及びデータ長L)を取得する(S202)。続いて、復号装置20は、暗号化共通鍵を秘密鍵R(公開鍵暗号方式の秘密鍵)によって復号することにより共通鍵Pを取得する(S203)。なお、秘密鍵Rは、暗号化装置10における公開鍵Pと対をなす秘密鍵であり、復号装置20の補助記憶装置に予め保存されている。   When receiving the transfer data 50 transmitted from the encryption device 10 (S210), the decryption device 20 receives information (hash value H, encrypted common key, and data) stored in the management unit 51 of the transfer data 50. Length L) is acquired (S202). Subsequently, the decrypting device 20 obtains the common key P by decrypting the encrypted common key with the private key R (the private key of the public key cryptosystem) (S203). The secret key R is a secret key that is paired with the public key P in the encryption device 10 and is stored in advance in the auxiliary storage device of the decryption device 20.

続いて、復号装置20は、共通鍵Pによって暗号化データを一回復号し(S204)、復号された暗号化データのハッシュ値Hαを暗号化装置10と同じ所定のハッシュ関数によって生成する(S205)。続いて、復号装置20は、復号された暗号化データのデータ長Lαとデータ長Lとを比較する(S206)。データ長Lαとデータ長Lとが同じ場合(S206でYes)、復号装置20は、ハッシュ値Hαとハッシュ値Hとを比較する(S207)。ハッシュ値Hαとハッシュ値Hとが一致する場合(S207でYes)、復号装置20はデータDの復号は完了したと判定し、例えば、データDを復号装置20の補助記憶装置に保存する。   Subsequently, the decryption device 20 decrypts the encrypted data once with the common key P (S204), and generates a hash value Hα of the decrypted encrypted data by the same predetermined hash function as that of the encryption device 10 (S205). ). Subsequently, the decryption device 20 compares the data length Lα of the decrypted encrypted data with the data length L (S206). When the data length Lα and the data length L are the same (Yes in S206), the decryption device 20 compares the hash value Hα and the hash value H (S207). When the hash value Hα and the hash value H match (Yes in S207), the decryption device 20 determines that the data D has been decrypted, and stores the data D in the auxiliary storage device of the decryption device 20, for example.

一方、データ長Lαとデータ長Lとが一致しない場合(S206でNo)、又はハッシュ値Hαとハッシュ値Hとが一致しない場合(S207でNo)、復号装置20は、データ長及びハッシュ値が一致するまで共通鍵Pによる暗号化データの復号(S204)と、復号されたデータのハッシュ値Hαとの生成(S205)とを繰り返し行う。   On the other hand, when the data length Lα and the data length L do not match (No in S206), or when the hash value Hα and the hash value H do not match (No in S207), the decoding device 20 determines that the data length and the hash value are The decryption of the encrypted data using the common key P (S204) and the generation of the hash value Hα of the decrypted data (S205) are repeated until they match.

上述したように、本実施の形態によれば、暗号化の回数を復号先に通知されなくても、復号先において複数回暗号化された暗号化データの復号の完了を適切に検知することができる。   As described above, according to the present embodiment, even when the number of times of encryption is not notified to the decryption destination, it is possible to appropriately detect the completion of decryption of the encrypted data encrypted at the decryption destination multiple times. it can.

なお、データ長Lは、必ずしも転送用データ50に含めなくてもよい。この場合、復号装置20において、データ長Lαとデータ長Lとの比較は行わず、ハッシュ値Hαとハッシュ値Hとの比較に基づいて復号の完了の判定を行えばよい。   The data length L is not necessarily included in the transfer data 50. In this case, the decoding device 20 may determine whether or not the decoding is complete based on the comparison between the hash value Hα and the hash value H without comparing the data length Lα and the data length L.

また、データDの暗号化は、共通鍵暗号方式でなく、公開鍵暗号方式に基づいて行ってもよい。この場合、暗号化装置10は、共通鍵Cの生成は行わず、公開鍵PによってデータDを所望の回数暗号化すればよい。したがって、転送用データ50には、共通鍵Cを含める必要はない。復号装置20は、秘密鍵Rによって暗号化データを繰り返し(複数回)復号すればよい。   Further, the data D may be encrypted based on a public key cryptosystem instead of a common key cryptosystem. In this case, the encryption device 10 does not generate the common key C, and may encrypt the data D with the public key P a desired number of times. Therefore, it is not necessary to include the common key C in the transfer data 50. The decryption device 20 may decrypt the encrypted data with the secret key R repeatedly (multiple times).

また、本実施の形態の暗号化及び復号の方法は、ネットワークを用いて転送されるデータに対してだけでなく、一台のコンピュータ内で記憶装置内に保存されるデータに対しても有効である。すなわち、記憶装置への保存時にデータDに対して複数回の暗号化を行う場合、データDのハッシュ値Hと関連付けて暗号化データを保存しておく。記憶装置からの読み出し(ロード)時には、ハッシュ値Hに基づいて暗号化データの復号の完了を判定すればよい。   Further, the encryption and decryption method of the present embodiment is effective not only for data transferred using a network but also for data stored in a storage device in one computer. is there. That is, when the data D is encrypted a plurality of times when stored in the storage device, the encrypted data is stored in association with the hash value H of the data D. At the time of reading (loading) from the storage device, the completion of decryption of the encrypted data may be determined based on the hash value H.

続いて、上記において説明したデータDのセキュアな転送方法を実際のビジネス環境に適用した例を説明する。図6は、本実施の形態をビジネス環境に適用した例を説明するための図である。   Next, an example in which the secure transfer method for data D described above is applied to an actual business environment will be described. FIG. 6 is a diagram for explaining an example in which the present embodiment is applied to a business environment.

同図には、顧客環境E1とサポート環境E2とが示されている。顧客環境E1は、或るコンピュータシステムを利用する顧客における環境であり、サポート情報送信装置11を含む。サポート情報11は、サポート情報をサポート環境E2に送信するコンピュータであり、図1における暗号装置10に相当する。サポート情報とは、例えば、コンピュータシステムにおけるログ情報等、障害等の原因を解析する際の手がかりとなる情報をいう。サポート情報には、顧客環境E1における機密情報等も含まれうる。したがって、サポート情報のネットワーク転送に関しては適切にセキュリティが確保されている必要がある。なお、顧客環境E1は、複数存在しうる。   In the figure, a customer environment E1 and a support environment E2 are shown. The customer environment E <b> 1 is an environment in a customer who uses a certain computer system, and includes a support information transmission device 11. The support information 11 is a computer that transmits support information to the support environment E2, and corresponds to the encryption device 10 in FIG. The support information refers to information that is a clue when analyzing the cause of a failure or the like, such as log information in a computer system. The support information may include confidential information in the customer environment E1. Therefore, it is necessary to ensure security appropriately for network transfer of support information. There may be a plurality of customer environments E1.

一方、サポート環境E2は、顧客環境E1において利用されているコンピュータシステムのサポート(障害対応等)を行う組織における環境であり、サポート情報受信装置21及びサポート装置22を含む。サポート情報受信装置21は、サポート情報送信装置11より送信されるサポート情報を一括して受信するコンピュータである。サポート装置10は、サポート情報の解析を行うコンピュータであり、サポート環境E2における担当者ごとに設置されている。なお、サポート情報受信装置21及びサポート装置22は、図1における復号装置20に相当する。   On the other hand, the support environment E <b> 2 is an environment in an organization that supports the computer system used in the customer environment E <b> 1 (such as failure handling), and includes a support information receiving device 21 and a support device 22. The support information receiving device 21 is a computer that collectively receives support information transmitted from the support information transmitting device 11. The support device 10 is a computer that analyzes support information, and is installed for each person in charge in the support environment E2. The support information receiving device 21 and the support device 22 correspond to the decoding device 20 in FIG.

以下、図6における処理手順について説明する。まず、サポート情報送信装置11は、共通鍵Cをランダムに生成する(S301)。続いて、サポート情報送信装置11は、サポート情報Iのハッシュ値Hを生成する(S303)。続いて、サポート情報送信装置11は、共通鍵Cによってサポート情報Iを所望の回数繰り返し暗号化する(S303)。続いて、サポート情報送信装置11は、予め保存されている公開鍵Pによって共通鍵Cを暗号化し、暗号化共通鍵を生成する(S304)。続いて、サポート情報送信装置11は、サポート情報Iの転送用データ50を生成する(S305)。ここで、転送用データ50の管理部51にはハッシュ値H、暗号化共通鍵、及び暗号化前のサポート情報Iのデータ長L等が格納される。また、転送用データ50の実データ部51には、暗号化データが格納される。なお、運用上の必要に応じて転送用データの生成日等を管理部51に含めるようにしてもよい。続いて、サポート情報送信装置11は、転送用データ51をサポート情報受信装置21に送信する(S306)。転送用データ51の送信は、電子メールを用いて行われてもよいし、FTP(File Transfer Protocol)やHTTP(HyperText Transfer Protocol)等に基づいて行われてよい。   Hereinafter, the processing procedure in FIG. 6 will be described. First, the support information transmitting apparatus 11 randomly generates a common key C (S301). Subsequently, the support information transmitting apparatus 11 generates a hash value H of the support information I (S303). Subsequently, the support information transmitting apparatus 11 repeatedly encrypts the support information I a desired number of times with the common key C (S303). Subsequently, the support information transmitting apparatus 11 encrypts the common key C with the public key P stored in advance, and generates an encrypted common key (S304). Subsequently, the support information transmitting apparatus 11 generates support information I transfer data 50 (S305). Here, the management unit 51 of the transfer data 50 stores a hash value H, an encryption common key, a data length L of the support information I before encryption, and the like. In addition, encrypted data is stored in the actual data portion 51 of the transfer data 50. It should be noted that the generation date of the transfer data may be included in the management unit 51 as necessary for operation. Subsequently, the support information transmitting apparatus 11 transmits the transfer data 51 to the support information receiving apparatus 21 (S306). Transmission of the transfer data 51 may be performed using electronic mail, or may be performed based on FTP (File Transfer Protocol), HTTP (HyperText Transfer Protocol), or the like.

サポート情報受信装置21は転送用データ50を受信すると、転送用データ50をサポート情報受信装置21の補助記憶装置に保存しておく。サポート情報受信装置21、或る担当者のサポート装置20より転送用データ50の取得要求(ダウンロード要求)を受信すると処理を開始する。まず、サポート情報送信装置11は、転送用データ50から暗号化共通鍵を取得し、予めサポート情報受信装置21に保存されている秘密鍵Rによって暗号化共通鍵を復号することにより共通鍵Cを取得する(S401)。続いて、サポート情報送信装置11は、転送用データ50の取得要求に係るサポート装置20(担当者)に対応する公開鍵Paによって共通鍵Cを暗号化する(S402)。暗号化に伴い、サポート情報送信装置11は、転送用データ50内の暗号化共通鍵を、暗号化された共通鍵(以下、「担当者毎暗号化共通鍵」という。)によって置き換える。これによって、共通鍵Cは、正当な担当者でないと復号することはできない状態となる。なお、サポート装置20(担当者)と公開鍵Paとの対応付けは、例えば、サポート装置20の識別子(IPアドレス等)に関連付けて公開鍵Paを保存しておくことにより実現すればよい。続いて、サポート情報送信装置11は、取得要求に係るサポート装置22に転送用データ50を送信する(S403)。   When the support information receiving device 21 receives the transfer data 50, the support information receiving device 21 stores the transfer data 50 in the auxiliary storage device of the support information receiving device 21. When the acquisition request (download request) for the transfer data 50 is received from the support information receiving device 21 or the support device 20 of a certain person in charge, the processing is started. First, the support information transmitting apparatus 11 obtains the encrypted common key from the transfer data 50, and decrypts the encrypted common key with the private key R stored in the support information receiving apparatus 21 in advance to obtain the common key C. Obtain (S401). Subsequently, the support information transmitting apparatus 11 encrypts the common key C with the public key Pa corresponding to the support apparatus 20 (person in charge) related to the acquisition request for the transfer data 50 (S402). Along with the encryption, the support information transmitting apparatus 11 replaces the encrypted common key in the transfer data 50 with an encrypted common key (hereinafter referred to as “per person-in-charge encrypted common key”). As a result, the common key C cannot be decrypted unless it is a legitimate person in charge. The association between the support device 20 (person in charge) and the public key Pa may be realized, for example, by storing the public key Pa in association with the identifier (IP address or the like) of the support device 20. Subsequently, the support information transmitting apparatus 11 transmits the transfer data 50 to the support apparatus 22 related to the acquisition request (S403).

続いて、サポート装置20は、転送用データ50を受信すると、転送用データ50よりハッシュ値H、担当者毎暗号化共通鍵、及びデータ長L等を取り出し、担当者毎暗号化共通鍵を秘密鍵Raによって復号することにより共通鍵Cを取得する(S404)。なお、秘密鍵Raは、それぞれのサポート装置20に予め保存されている。続いて、サポート装置20は、共通鍵Cによる暗号化データの復号(S405)と復号の完了のチェック(S406)とを繰り返し行う。ここで、復号の完了のチェックとは図5のステップS205〜S207において説明した処理である。したがって、サポート装置20は、復号後のデータ長Lαがデータ長Lに一致し、かつ、復号後のデータのハッシュ値Hαがハッシュ値Hに一致した場合は復号は完了したと判定し、復号されたサポート情報Iを保存する(S407)。   Subsequently, when receiving the transfer data 50, the support device 20 extracts the hash value H, the person-in-charge encryption common key, the data length L, and the like from the transfer data 50, and the person-in-charge encryption common key is secretly stored. The common key C is obtained by decrypting with the key Ra (S404). The secret key Ra is stored in advance in each support device 20. Subsequently, the support device 20 repeatedly performs decryption of the encrypted data using the common key C (S405) and check of completion of decryption (S406). Here, the decoding completion check is the processing described in steps S205 to S207 in FIG. Therefore, if the data length Lα after decryption matches the data length L and the hash value Hα of the decrypted data matches the hash value H, the support device 20 determines that the decryption is complete, and is decrypted. The support information I is stored (S407).

なお、図3及び図5を用いて説明したように、図6の処理において、転送用データ50に対してデータ長Lを含めなくてもよい。また、サポート情報Iの暗号は公開鍵暗号方式によって行ってもよい。   As described with reference to FIGS. 3 and 5, the data length L may not be included in the transfer data 50 in the process of FIG. 6. Further, the encryption of the support information I may be performed by a public key cryptosystem.

以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。   As mentioned above, although the Example of this invention was explained in full detail, this invention is not limited to such specific embodiment, In the range of the summary of this invention described in the claim, various deformation | transformation・ Change is possible.

以上の説明に関し、更に以下の項を開示する。
(付記1)
コンピュータを、
データを複数回暗号化することにより暗号化データを生成するデータ暗号化手段と、
前記データのハッシュ値を生成するハッシュ値生成手段と、
前記暗号化データと前記ハッシュ値とを関連付けて記憶装置に記録する記録手段として機能させるための暗号化プログラム。
(付記2)
前記暗号化手段は、前記データを共通鍵によって暗号化し、
前記共通鍵を公開鍵によって暗号化することにより暗号化共通鍵を生成する鍵暗号化手段として前記コンピュータを機能させ、
前記記録手段は、前記暗号化データと前記ハッシュ値と前記暗号化共通鍵とを関連付けて前記記憶装置に記録する付記1記載の暗号化プログラム。
(付記3)
前記共通鍵をランダムに生成する共通鍵生成手段として前記コンピュータを機能させる付記2記載の暗号化プログラム。
(付記4)
コンピュータを、
データが複数回暗号化された暗号化データに対して複数回復号処理を実行するデータ復号手段と、
前記復号処理のたびに復号された復号データのハッシュ値を生成するハッシュ値生成手段と、
前記ハッシュ値と前記暗号化データに関連付けられている前記データのハッシュ値との比較に応じて前記復号処理の完了を判定する判定手段として機能させるための復号プログラム。
(付記5)
前記暗号化データに関連付けられている暗号化された共通鍵を秘密鍵によって復号する鍵復号手段として前記コンピュータを機能させ、
前記データ復号手段は、復号された前記共通鍵によって前記暗号化データに対して前記復号処理を実行する付記4記載の復号プログラム。
(付記6)
データを複数回暗号化することにより暗号化データを生成するデータ暗号化手段と、
前記データのハッシュ値を生成するハッシュ値生成手段と、
前記暗号化データと前記ハッシュ値とを関連付けて記憶装置に記録する記録手段とを有する暗号化装置。
(付記7)
データが複数回暗号化された暗号化データに対して複数回復号処理を実行するデータ復号手段と、
前記復号処理のたびに復号された復号データのハッシュ値を生成するハッシュ値生成手段と、
前記ハッシュ値と前記暗号化データに関連付けられている前記データのハッシュ値との比較に応じて前記復号処理の完了を判定する判定手段とを有する復号装置。
(付記8)
コンピュータが実行する暗号化方法であって、
データを複数回暗号化することにより暗号化データを生成するデータ暗号化手順と、
前記データのハッシュ値を生成するハッシュ値生成手順と、
前記暗号化データと前記ハッシュ値とを関連付けて記憶装置に記録する記録手順とを有する暗号化方法。
(付記9)
コンピュータが実行する復号方法であって、
データが複数回暗号化された暗号化データに対して複数回復号処理を実行するデータ復号手順と、
前記復号処理のたびに復号された復号データのハッシュ値を生成するハッシュ値生成手順と、
前記ハッシュ値と前記暗号化データに関連付けられている前記データのハッシュ値との比較に応じて前記復号処理の完了を判定する判定手順とを有する復号方法。
Regarding the above description, the following items are further disclosed.
(Appendix 1)
Computer
Data encryption means for generating encrypted data by encrypting data multiple times;
Hash value generation means for generating a hash value of the data;
An encryption program for causing the encrypted data and the hash value to be associated with each other and recorded in a storage device.
(Appendix 2)
The encryption means encrypts the data with a common key,
Causing the computer to function as key encryption means for generating an encrypted common key by encrypting the common key with a public key;
The encryption program according to appendix 1, wherein the recording unit records the encrypted data, the hash value, and the encrypted common key in association with each other in the storage device.
(Appendix 3)
The encryption program according to appendix 2, which causes the computer to function as a common key generation unit that randomly generates the common key.
(Appendix 4)
Computer
Data decryption means for performing decryption processing a plurality of times on encrypted data obtained by encrypting data a plurality of times;
A hash value generating means for generating a hash value of the decrypted data decrypted for each decryption process;
A decryption program for functioning as a determination unit that determines completion of the decryption process according to a comparison between the hash value and a hash value of the data associated with the encrypted data.
(Appendix 5)
Causing the computer to function as key decryption means for decrypting an encrypted common key associated with the encrypted data with a secret key;
The decryption program according to appendix 4, wherein the data decryption means executes the decryption process on the encrypted data using the decrypted common key.
(Appendix 6)
Data encryption means for generating encrypted data by encrypting data multiple times;
Hash value generation means for generating a hash value of the data;
An encryption device comprising recording means for associating the encrypted data and the hash value with each other and recording them in a storage device.
(Appendix 7)
Data decryption means for performing decryption processing a plurality of times on encrypted data obtained by encrypting data a plurality of times;
A hash value generating means for generating a hash value of the decrypted data decrypted for each decryption process;
And a determination unit configured to determine completion of the decryption process according to a comparison between the hash value and a hash value of the data associated with the encrypted data.
(Appendix 8)
An encryption method executed by a computer,
A data encryption procedure for generating encrypted data by encrypting the data multiple times;
A hash value generation procedure for generating a hash value of the data;
An encryption method comprising: a recording procedure that records the encrypted data and the hash value in association with each other in a storage device.
(Appendix 9)
A decryption method executed by a computer,
A data decryption procedure for performing decryption processing multiple times on encrypted data obtained by encrypting data multiple times;
A hash value generation procedure for generating a hash value of the decrypted data decrypted for each decryption process;
And a determination procedure for determining completion of the decryption process according to a comparison between the hash value and the hash value of the data associated with the encrypted data.

本発明の実施の形態におけるシステム構成例を示す図である。It is a figure which shows the system configuration example in embodiment of this invention. 本発明の実施の形態における暗号化装置のハードウェア構成例を示す図である。It is a figure which shows the hardware structural example of the encryption apparatus in embodiment of this invention. 暗号化装置による処理手順を説明するためのフローチャートである。It is a flowchart for demonstrating the process sequence by an encryption apparatus. 転送用データの構成例を示す図である。It is a figure which shows the structural example of the data for transfer. 復号装置による処理手順を説明するためのフローチャートである。It is a flowchart for demonstrating the process sequence by a decoding apparatus. 本実施の形態をビジネス環境に適用した例を説明するための図である。It is a figure for demonstrating the example which applied this Embodiment to business environment.

符号の説明Explanation of symbols

10 暗号化装置
11 サポート情報送信装置
20 復号装置
21 サポート情報受信装置
22 サポート装置
30 クライアント装置
100 ドライブ装置
101 記録媒体
102 補助記憶装置
103 メモリ装置
104 CPU
105 インタフェース装置
106 表示装置
107 入力装置
B バス
DESCRIPTION OF SYMBOLS 10 Encryption apparatus 11 Support information transmission apparatus 20 Decryption apparatus 21 Support information reception apparatus 22 Support apparatus 30 Client apparatus 100 Drive apparatus 101 Recording medium 102 Auxiliary storage apparatus 103 Memory apparatus 104 CPU
105 interface device 106 display device 107 input device B bus

Claims (7)

コンピュータを、
データを複数回暗号化することにより暗号化データを生成するデータ暗号化手段と、
前記データのハッシュ値を生成するハッシュ値生成手段と、
前記暗号化データと前記ハッシュ値とを関連付けて記憶装置に記録する記録手段として機能させるための暗号化プログラム。
Computer
Data encryption means for generating encrypted data by encrypting data multiple times;
Hash value generation means for generating a hash value of the data;
An encryption program for causing the encrypted data and the hash value to be associated with each other and recorded in a storage device.
前記暗号化手段は、前記データを共通鍵によって暗号化し、
前記共通鍵を公開鍵によって暗号化することにより暗号化共通鍵を生成する鍵暗号化手段として前記コンピュータを機能させ、
前記記録手段は、前記暗号化データと前記ハッシュ値と前記暗号化共通鍵とを関連付けて前記記憶装置に記録する請求項1記載の暗号化プログラム。
The encryption means encrypts the data with a common key,
Causing the computer to function as key encryption means for generating an encrypted common key by encrypting the common key with a public key;
The encryption program according to claim 1, wherein the recording unit records the encrypted data, the hash value, and the encrypted common key in association with each other in the storage device.
前記共通鍵をランダムに生成する共通鍵生成手段として前記コンピュータを機能させる請求項2記載の暗号化プログラム。   The encryption program according to claim 2, wherein the computer is caused to function as a common key generation unit that randomly generates the common key. コンピュータを、
データが複数回暗号化された暗号化データに対して複数回復号処理を実行するデータ復号手段と、
前記復号処理のたびに復号された復号データのハッシュ値を生成するハッシュ値生成手段と、
前記ハッシュ値と前記暗号化データに関連付けられている前記データのハッシュ値との比較に応じて前記復号処理の完了を判定する判定手段として機能させるための復号プログラム。
Computer
Data decryption means for performing decryption processing a plurality of times on encrypted data obtained by encrypting data a plurality of times;
A hash value generating means for generating a hash value of the decrypted data decrypted for each decryption process;
A decryption program for functioning as a determination unit that determines completion of the decryption process in accordance with a comparison between the hash value and a hash value of the data associated with the encrypted data.
前記暗号化データに関連付けられている暗号化された共通鍵を秘密鍵によって復号する鍵復号手段として前記コンピュータを機能させ、
前記データ復号手段は、復号された前記共通鍵によって前記暗号化データに対して前記復号処理を実行する請求項4記載の復号プログラム。
Causing the computer to function as key decryption means for decrypting an encrypted common key associated with the encrypted data with a secret key;
The decryption program according to claim 4, wherein the data decryption unit performs the decryption process on the encrypted data using the decrypted common key.
データを複数回暗号化することにより暗号化データを生成するデータ暗号化手段と、
前記データのハッシュ値を生成するハッシュ値生成手段と、
前記暗号化データと前記ハッシュ値とを関連付けて記憶装置に記録する記録手段とを有する暗号化装置。
Data encryption means for generating encrypted data by encrypting data multiple times;
Hash value generation means for generating a hash value of the data;
An encryption device comprising recording means for associating the encrypted data and the hash value with each other and recording them in a storage device.
コンピュータが実行する暗号化方法であって、
データを複数回暗号化することにより暗号化データを生成するデータ暗号化手順と、
前記データのハッシュ値を生成するハッシュ値生成手順と、
前記暗号化データと前記ハッシュ値とを関連付けて記憶装置に記録する記録手順とを有する暗号化方法。
An encryption method executed by a computer,
A data encryption procedure for generating encrypted data by encrypting the data multiple times;
A hash value generation procedure for generating a hash value of the data;
An encryption method comprising: a recording procedure that records the encrypted data and the hash value in association with each other in a storage device.
JP2008154571A 2008-06-12 2008-06-12 Decryption program, decryption apparatus, decryption method, and encryption system Active JP5136234B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008154571A JP5136234B2 (en) 2008-06-12 2008-06-12 Decryption program, decryption apparatus, decryption method, and encryption system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008154571A JP5136234B2 (en) 2008-06-12 2008-06-12 Decryption program, decryption apparatus, decryption method, and encryption system

Publications (2)

Publication Number Publication Date
JP2009302869A true JP2009302869A (en) 2009-12-24
JP5136234B2 JP5136234B2 (en) 2013-02-06

Family

ID=41549316

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008154571A Active JP5136234B2 (en) 2008-06-12 2008-06-12 Decryption program, decryption apparatus, decryption method, and encryption system

Country Status (1)

Country Link
JP (1) JP5136234B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150109645A (en) * 2014-03-20 2015-10-02 주식회사 씨애너스 Security system and control method using black box for guaranteeing data integrity

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07307921A (en) * 1994-05-13 1995-11-21 Asahi Optical Co Ltd Recording device and reproducing device
JP2001217822A (en) * 2000-01-31 2001-08-10 Toshiba Corp Encipherig recorder

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07307921A (en) * 1994-05-13 1995-11-21 Asahi Optical Co Ltd Recording device and reproducing device
JP2001217822A (en) * 2000-01-31 2001-08-10 Toshiba Corp Encipherig recorder

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150109645A (en) * 2014-03-20 2015-10-02 주식회사 씨애너스 Security system and control method using black box for guaranteeing data integrity
KR101633778B1 (en) * 2014-03-20 2016-06-27 주식회사 씨애너스 Security system and control method using black box for guaranteeing data integrity

Also Published As

Publication number Publication date
JP5136234B2 (en) 2013-02-06

Similar Documents

Publication Publication Date Title
US10439804B2 (en) Data encrypting system with encryption service module and supporting infrastructure for transparently providing encryption services to encryption service consumer processes across encryption service state changes
KR101010040B1 (en) File encryption/decryption method, device, program, and computer-readable recording medium containing the program
US9860240B2 (en) Multi-ring encryption approach to securing a payload using hardware modules
US20110022856A1 (en) Key Protectors Based On Public Keys
CN109981255B (en) Method and system for updating key pool
US20030210791A1 (en) Key management
JP2017112592A (en) System and method for encrypted transmission of web page
JP2014119486A (en) Secret retrieval processing system, secret retrieval processing method, and secret retrieval processing program
CN112434336A (en) Block chain-based electronic medical record sharing method, device and system and storage medium
JP2010514000A (en) Method for securely storing program state data in an electronic device
US8422673B2 (en) Method and system for protecting against unity keys
KR20080025121A (en) Generating a secret key from an asymmetric private key
JP2009211407A (en) Authentication information generation system, authentication information generation method, client device and program
WO2021166787A1 (en) Information processing system, information processing device, information processing method, and information processing program
CN110610102B (en) Data access method, device and system
JP2009105566A (en) Distribution control device and distribution control program
US8233628B2 (en) Information processing apparatus and information processing method
WO2017033843A1 (en) Searchable cryptograph processing system
CN112818404B (en) Data access permission updating method, device, equipment and readable storage medium
JP2021528899A (en) Device for data encryption and integrity
CN112528309A (en) Data storage encryption and decryption method and device
JP2006285697A (en) File management method and file management system
JP2009199147A (en) Communication control method and communication control program
CN115001744B (en) Cloud platform data integrity verification method and system
JP5136234B2 (en) Decryption program, decryption apparatus, decryption method, and encryption system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110315

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120719

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120724

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120924

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20121016

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121029

R150 Certificate of patent or registration of utility model

Ref document number: 5136234

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151122

Year of fee payment: 3