Information processing system and information processing method
The information processing system addresses the challenge of achieving strong encryption by using a control device and multiple encryption devices to manage encryption paths and tables, thereby enhancing security and reducing information leakage risks.
Patent Information
- Application Number
- JP2023201604
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-11-29
- Publication Date
- 2025-06-10
AI Technical Summary
Existing encryption systems face challenges in achieving strong encryption while minimizing the risk of information leakage, particularly in managing encryption keys and algorithms.
The proposed information processing system employs a control device and multiple encryption devices, utilizing path information to control data encryption across the devices. Each encryption device stores encryption tables and random number tables, enabling multiple layers of encryption and decryption processes.
This system effectively enhances encryption security by dispersing encryption information across multiple devices, reducing the risk of information leakage and improving encryption strength through multiple encryption layers.
Smart Images

Figure 2025087154000001_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to an information processing system and an information processing method.
Background Art
[0002] Conventionally, encryption techniques that encrypt and decrypt data using encryption keys have been used. By using encryption techniques, information can be safely transmitted and received without being seen by a third party. Such techniques are used, for example, in cryptocurrency trading. From the perspective of encryption technology, for a highly reliable system, the encryption algorithm itself used must be strong (difficult to decrypt), and the encryption key used by the encryption algorithm must be securely managed (difficult to leak). If the encryption algorithm is decrypted or the encryption key leaks, there is a risk of unauthorized access, tampering, leakage, etc.
[0003] Patent Document 1 proposes a technique for reducing the possibility of leakage of a secret key and reducing the management load of the secret key without using a security device such as an IC card or a USB token.
Prior Art Documents
Patent Documents
[0004]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0005] In the encryption of data using an encryption key, it is desired to reduce the risk of information leakage and the like by performing stronger encryption. An object of the present invention is to provide an information processing system and an information processing method capable of performing strong encryption.
Means for Solving the Problems
[0006] The information processing system according to the present invention includes a control device and a plurality of encryption devices. The control device includes a first storage means for storing a plurality of path information related to data encryption, and control processing means for controlling the encryption of data to be encrypted by the plurality of encryption devices based on one of the plurality of path information stored in the first storage means. The encryption device includes a second storage means for storing a plurality of encryption tables and a random number table, and encryption means for encrypting data by referring to the encryption tables and the random number table stored in the second storage means based on the control by the control device. The plurality of encryption devices encrypt in order according to the one path information to encrypt the data to be encrypted.
Effect of the Invention
[0007] According to the present invention, it is possible to provide an information processing system and an information processing method capable of performing strong encryption.
Brief Description of the Drawings
[0008]
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Figure 10
Figure 11
Figure 12
Embodiments for Carrying Out the Invention
[0009] Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[0010] FIG. 1 is a diagram showing a configuration example of an information processing system according to an embodiment of the present invention. The information processing system in this embodiment is an information processing system capable of multiple encryption that performs encryption on data to be encrypted multiple times. Further, the information processing system in this embodiment can decrypt the original data to be encrypted from the encrypted data after multiple encryption.
[0011] As shown in FIG. 1, the information processing system in this embodiment includes an encryption device A101, an encryption device B102, an encryption device C103, and a control device 110. The encryption device A101, the encryption device B102, the encryption device C103, and the control device 110 can communicate by wire or wirelessly via a network 120 such as the Internet or a LAN (Local Area Network).
[0012] Each of the encryption device A101, the encryption device B102, and the encryption device C103 encrypts the data received via the network 120. Further, each of the encryption device A101, the encryption device B102, and the encryption device C103 can also perform a process reverse to encryption on the encrypted data received via the network 120 to decrypt the data. The control device 110 controls the encryption and decryption of data by the encryption device A101, the encryption device B102, and the encryption device C103. The control device 110 causes the encryption device A101, the encryption device B102, and the encryption device C103 to execute processes related to data encryption and decryption based on, for example, a route table described later.
[0013] Note that, in FIG. 1, an information processing system having three encryption devices, i.e., an encryption device A101, an encryption device B102, and an encryption device C103, is shown as an example. However, the information processing system in the present embodiment is not limited thereto. The information processing system in the present embodiment only needs to have a plurality of encryption devices, and the number of encryption devices included in the information processing system is arbitrary.
[0014] FIG. 2 is a diagram showing an example of the hardware configuration of the encryption device A101 in the present embodiment. The encryption device A101 includes a CPU 201, a ROM 202, a RAM 203, a storage device 204, an input / output I / F 205, and a communication I / F 206. The CPU 201, the ROM 202, the RAM 203, the storage device 204, the input / output I / F 205, and the communication I / F 206 are communicably connected via a system bus 207.
[0015] The CPU (Central Processing Unit) 201 reads out a control program stored in the ROM (Read Only Memory) 202 and executes various processes. The RAM (Random Access Memory) 203 is used as a temporary storage area such as the main memory and work area of the CPU 201. The storage device 204 stores various data and various programs. The storage device 204 is realized by a storage device such as an HDD (Hard Disk Drive) or an SSD (Solid State Drive), for example. The input / output I / F 205 is an interface used for inputting information from an input device and outputting information to an output device. The communication I / F 206 is an interface used for communication with an external device via a network 120.
[0016] Note that the hardware configurations of the encryption device B102 and the encryption device C103 are the same as the hardware configuration of the encryption device A101 shown in FIG. 2. The functions and processes of the encryption devices 101 to 103 described later are realized by the CPU 201 of each device reading out a program stored in the ROM 202 or the storage device 204 and executing the program.
[0017] Also, the hardware configuration of the control device 110 is the same as that of the encryption device A101 shown in FIG. 2. The functions and processes of the control device 110 described later are realized by the CPU 201 of the control device 110 reading out the programs stored in the ROM 202 or the storage device 204 and executing those programs.
[0018] FIG. 3 is a diagram showing an example of the functional configuration of the encryption device A101 in the present embodiment. The encryption device A101 includes a data processing unit 301, a communication processing unit 302, and an encrypted database (encrypted DB) 310 (310-1, 310-2, 310-3). Note that FIG. 3 shows an example having three encrypted DBs 310 (310-1, 310-2, 310-3), but the present invention is not limited to this, and the number of encrypted DBs included in the encryption device is arbitrary.
[0019] Based on a control instruction from the control device 110, the data processing unit 301 refers to the PLW data 311 and the random number table 312 stored in the encrypted DB 310 and executes processes related to data encryption and decryption. For example, when data encryption is instructed, the data processing unit 301 encrypts the data by changing the data array (shuffling) and inserting dummy data in the data to be encrypted based on the PLW data 311 and the random number table 312. Also, for example, when data decryption is instructed, the data processing unit 301 decrypts the data by performing a process opposite to data encryption on the data to be decrypted (encrypted data) based on the PLW data 311 and the random number table 312. The data processing unit 301 is an example of an encryption means and a decryption means.
[0020] The communication processing unit 302 receives control instructions from the control device 110 regarding data encryption and decryption via the network 120. These control instructions include information on whether to encrypt or decrypt data, information indicating the encryption DB 310 to be applied when encrypting or decrypting data, and the like. Further, the communication processing unit 302 receives the data to be processed via the network 120 and transmits the data processed by the data processing unit 301. For example, when data encryption is instructed, the communication processing unit 302 receives the data to be encrypted and transmits the data encrypted by the data processing unit 301 (encrypted data). Also, for example, when data decryption is instructed, the communication processing unit 302 receives the data to be decrypted and transmits the data decrypted by the data processing unit 301 (decrypted data).
[0021] Each of the encryption DBs 310 stores a plurality of PLW data 311 and a plurality of random number tables 312 that are used for data encryption and decryption. The encryption DB 310 is an example of the second storage means. In the present embodiment, it is assumed that the plurality of PLW data 311 and the plurality of random number tables 312 stored in each of the encryption DBs 310 are pre-generated using a generator or the like. That is, a plurality of pre-prepared PLW data 311 and a plurality of random number tables 312 are stored in the encryption DB 310.
[0022] The PLW data 311 is data that defines rules for changing the arrangement order of data and inserting dummy data regarding data encryption. The PLW data 311 is an example of an encryption table. A plurality of PLW data 311 associated with each period are stored in each encryption DB 310 so that the PLW data 311 to be used is switched at predetermined timings. When encrypting data, one PLW data 311 corresponding to the period (such as the time of encryption) is selected and used from among the plurality of PLW data 311.
[0023] Regarding the random number table 312, if the width of the random number table is W, it is 1 to W 2It is data in the form of randomly two-dimensionally arrayed integer values. The random number table 312 is used to change the array order of the data to be encrypted. By referring to the random number table 312 and reading the data to be encrypted, the array order of the data is changed. The widths of the random number table 312 are set in multiple types, such as 2, 3, 4, 5, 6, 7, ···. A plurality of random number tables 312 associated with each period are stored in each encryption DB 310 so that the random number table 312 to be used is switched at predetermined timings. When encrypting data, one random number table 312 corresponding to the period (such as the time to be encrypted) and width is selected and used from among the plurality of random number tables 312.
[0024] In the example shown in FIG. 3, the PLW data 311(T1) and the random number table 312(T1) associated with the period T1, the PLW data 311(T2) and the random number table 312(T2) associated with the period T2, and the PLW data 311(T3) and the random number table 312(T3) associated with the period T3 are illustrated. However, a large number of PLW data 311 and random number tables 312 are stored in each of the encryption DBs 310. For example, the PLW data 311 and the random number table 312 for one year are prepared in 10-minute units and stored in the encryption DB 310. Also, the switching timings of the PLW data 311 and the random number table 312 may be the same or different between the PLW data 311 and the random number table 312.
[0025] The functional configurations of the encryption device B102 and the encryption device C103 are the same as those of the encryption device A101 shown in FIG. 3. Here, the plurality of PLW data 311 and the plurality of random number tables 312 stored in the encryption DB 310 do not have a specific relationship among the encryption device A101, the encryption device B102, and the encryption device C103. In other words, there is no dependency relationship among the encryption device A101, the encryption device B102, and the encryption device C103 with respect to the PLW data 311 and the random number table 312. Also, in each encryption device, the plurality of PLW data 311 stored in the encryption DB 310 do not have a specific relationship among the encryption DBs 310, and similarly, the plurality of random number tables 312 stored in the encryption DB 310 do not have a specific relationship among the encryption DBs 310. In other words, there is no dependency relationship among the encryption DB 310-1, the encryption DB 310-2, and the encryption DB 310-3 with respect to the PLW data 311 and the random number table 312. Such PLW data 311 and random number table 312 can be generated, for example, by changing the generation logic for each encryption DB 310 to generate a seed value (input value), and inputting the seed value (input value) into a pseudo-random number generator to separately generate the PLW data 311 and the random number table 312 in units of the encryption DB 310 based on the obtained random number values.
[0026] FIG. 4 is a diagram for explaining an example of the PLW data 311 stored in the encryption DB 310. As shown in FIG. 4, the PLW data 311 in the present embodiment has a plurality of PLW data 401 associated with each period, such as the PLW data 401-1 for the period T1, the PLW data 401-2 for the period T2, the PLW data 401-3 for the period T3, ···, and the PLW data 401-n for the period Tn. For example, the PLW data 401-1 in the example shown in FIG. 4 corresponds to the PLW data 311(T1) shown in FIG. 3, and each of the PLW data 401-2 and 401-3 in the example shown in FIG. 4 corresponds to the PLW data 311(T2) and 311(T3) shown in FIG. 3. The PLW data 401 is information indicating the change rule of the data array of the data to be encrypted.
[0027] The PLW data 401-1 during period T1 has a plurality of block information 411, 412, 413, ···. Similarly, each PLW data 401 has a plurality of block information. Each block information is information regarding the encryption of each block constituting the encrypted data. Each block information has Pab, Lab, and Wab. Here, P is the reading pattern, L is the effective bit length, and W is the width of the random number table. Also, the subscript a indicates the period to which the PLW data is associated, and the subscript b indicates the order from the beginning of the encrypted block.
[0028] Note that for each block information unit, different values can be set for the reading pattern P, the effective bit length L, and the width W of the random number table. However, in all the block information included in each PLW data 401, it is not necessary for at least one of the reading pattern P, the effective bit length L, and the width W of the random number table to be different, and one PLW data 401 may have a plurality of identical block information. Also, a plurality of PLW data 401 may have the same block information. Also, as long as a plurality of PLW data 401 changes the same encrypted data into different data as a whole. That is, for a plurality of PLW data 401, it is sufficient if the arrangement of the block information included in each PLW data 401 is different.
[0029] The reading pattern P indicates the reading pattern regarding the random number table. A plurality of types of reading patterns P are preset, and reading is performed according to the reading pattern P specified in the PLW data 401 using the random number table. Also, when the effective bit length L of the block information and the width W of the random number table satisfy L≤W 2 the encrypted block corresponding to that block information is composed of valid data, and when L>W 2 is satisfied, the encrypted block corresponding to that block information is composed of dummy data. That is, L≤W 2When the relationship is satisfied, for the encrypted block corresponding to the block information, for the data of the effective bit length L from the beginning of the unencrypted part in the data to be encrypted, the data array order is changed (shuffled) by reading according to the reading pattern P with reference to the random number table of width W. The effective data is stored. On the other hand, when L>W 2 When the relationship is satisfied, the encrypted block corresponding to the block information stores dummy data of the effective bit length L.
[0030] For example, in the PLW data 401-1 of the example shown in FIG. 4, L11 and W11 of the block information 411 satisfy L11≤W11 2 and L13 and W13 of the block information 413 satisfy L13≤W13 2 Let's assume that the relationship is satisfied. Also, assume that L12 and W12 of the block information 412 satisfy L12>W12 2 Let's assume that the relationship is satisfied. In that case, in the encrypted block, the data with the changed array order of the data to be encrypted is stored in the first and third blocks from the beginning, and dummy data is stored in the second block from the beginning.
[0031] Note that in the example shown in FIG. 4, the reading pattern P switches at the same timing as the PLW data 401 such as the periods T1, T2, ···, but it is not limited to this. For example, the reading pattern P in the PLW data 401 may be periodically switched at a period different from the periods T1, T2.
[0032] FIG. 5(A) is a diagram showing an example of the random number table stored in the encryption DB310. As described above, the random number table stored in the encryption DB310 is data in a format in which integer values from 1 to W 2 are two-dimensionally arrayed in a matrix form randomly. FIG. 5(A) shows a random number table 501 with a width of 7 as an example, and 1 to 49 (=7 2The integer values of [[ID=]] are randomly arranged. By referring to this random number table 501 and reading the data to be encrypted, the arrangement order of the data is changed (shuffled).
[0033] For example, as an example shown in FIG. 5(B), assume that a reading pattern is specified in which reading is performed downward from the upper left, and then downward in each column in order from the second column, third column, fourth column, ···, seventh column from the left. In this case, starting from the 30th bit from the beginning of the unencrypted part of the data to be encrypted as the beginning, the arrangement order of the data is changed in the order of the 38th bit, 46th bit, 5th bit, ···.
[0034] Also, for example, as an example shown in FIG. 5(C), assume that a reading pattern is specified in which reading is performed rightward from the lower left, and then rightward in each row in order from the second row, third row, fourth row, ···, seventh row from the bottom. In this case, starting from the 22nd bit from the beginning of the unencrypted part of the data to be encrypted as the beginning, the arrangement order of the data is changed in the order of the 31st bit, 40th bit, 49th bit, ···.
[0035] The reading of the data to be encrypted with reference to this random number table is applied to the data of the effective bit length L indicated by the block information of the PLW data from the beginning among the unencrypted parts of the data to be encrypted. When the effective bit length L and the width W of the random number table satisfy L < W 2 in this case, for the part of (L + 1) to W 2 in the random number table, dummy data may be used, or it may be skipped without reading.
[0036] Note that the reading patterns shown in FIGS. 5(B) and 5(C) are merely examples and are not limited thereto. The setting of the reading pattern is arbitrary. For example, a reading pattern in which reading is performed upward in each column or leftward in each row may be used. Further, for example, a reading pattern in which the order of rows or columns to be read is changed, or the reading direction is changed between odd rows (odd columns) and even rows (even columns) may be used.
[0037] FIG. 6 is a diagram showing an example of the functional configuration of the control device 110 in the present embodiment. The control device 110 includes a control processing unit 601, a communication processing unit 602, and a route management database (route management DB) 610.
[0038] The control processing unit 601 performs control processing related to data encryption and decryption by the encryption device A101, the encryption device B102, and the encryption device C103. The control processing unit 601 generates a control instruction for the encryption device for executing processing related to data encryption and decryption on the encryption device A101, the encryption device B102, and the encryption device C103 based on the route table 611 stored in the route management DB 610. The control instruction includes information on whether to encrypt or decrypt data, information indicating the encryption DB 310 to be applied when encrypting or decrypting data, and the like.
[0039] The communication processing unit 602 performs control instructions related to data encryption and decryption and data transmission and reception based on the route table 611 stored in the route management DB 610. The communication processing unit 602 transmits the control instruction for the encryption device generated by the control processing unit 601 via the network 120. Further, the communication processing unit 602 transmits the data to be processed for encryption or decryption via the network 120 and receives the processed data (data after processing).
[0040] The path management DB610 stores a plurality of path tables 611. The path management DB610 is an example of the first storage means, and the path table 611 is an example of path information regarding data encryption. In this embodiment, the encryption and decryption of data are executed distributively by a plurality of encryption devices according to this path table 611. In this embodiment, it is assumed that the plurality of path tables 611 stored in the path management DB610 are pre-generated using a generator or the like. That is, a plurality of pre-prepared path tables 611 are stored in the path management DB610.
[0041] The path table 611 is data indicating a processing path (processing order) regarding data encryption. In this embodiment, a plurality of sets of path tables 611, such as path table <1>, path table <2>,... are stored in the path management DB610, and it is possible to switch the set of path tables to be used according to the processing target. Here, there is no specific relationship between the plurality of sets of path tables 611 stored in the path management DB610, and there is no dependency relationship between the path tables 611 of each set. Also, a plurality of path tables 611 associated with each period are stored in the path management DB610 so that the path table 611 to be used in each set is switched at predetermined timings. When encrypting data, one path table 611 corresponding to the period (such as the time of encryption) is selected and used from among the plurality of path tables 611.
[0042] FIG. 7 is a diagram for explaining an example of a route table 611 stored in a route management DB 610. FIG. 7 shows an example of a set of route tables 611. As shown in FIG. 7, the route table 611 in the present embodiment has a plurality of route tables 701 associated with each period, such as a route table 701-1 for period T1, a route table 701-2 for period T2, a route table 701-3 for period T3, a route table 701-4 for period T4, and so on. The route table 701 is composed of information indicating an encryption device that encrypts data and an encryption DB 310 to be applied. According to this route table 701, encryption of data to be encrypted is realized by executing processing in time series from the head (left end in FIG. 7) to the tail (right end in FIG. 7). Also, in the reverse order of data encryption, that is, by executing processing in time series from the tail to the head according to the route table 701, decryption of the data encrypted based on the route table 701 is realized.
[0043] In the example shown in FIG. 7, for example, when data encryption is performed based on the route table 701-1 for period T1, the data to be encrypted is first encrypted by referring to the PLW data 311 and the random number table 312 corresponding to period T1 stored in the encryption DB<1>310-1 in the encryption device A101. Next, the data encrypted by the encryption device A101 is encrypted by referring to the PLW data 311 and the random number table 312 corresponding to period T1 stored in the encryption DB<2>310-2 in the encryption device B102. Subsequently, the data encrypted by the encryption device B102 is encrypted by referring to the PLW data 311 and the random number table 312 corresponding to period T1 stored in the encryption DB<3>310-3 in the encryption device C103, and the encryption process of the data to be encrypted is completed.
[0044] When decrypting the data encrypted based on the route table 701-1 during the period T1, the encrypted data is subjected to a process reverse to encryption by referring to the PLW data 311 and the random number table 312 corresponding to the period T1 stored in the encryption DB<3>310-3 in the encryption device C103, thereby decrypting the data. Next, the data decrypted by the encryption device C103 is subjected to a process reverse to encryption by referring to the PLW data 311 and the random number table 312 corresponding to the period T1 stored in the encryption DB<2>310-2 in the encryption device B102, thereby decrypting the data. Subsequently, the data decrypted by the encryption device B102 is subjected to a process reverse to encryption by referring to the PLW data 311 and the random number table 312 corresponding to the period T1 stored in the encryption DB<1>310-1 in the encryption device A101, thereby decrypting the original data to be encrypted.
[0045] Figure 8 is a flowchart showing an example of the data encryption process by the information processing system in the present embodiment. When the control device 110 receives a request for executing the encryption process or the like, the encryption process shown in the flowchart of Figure 8 is started. When the encryption process is started, in step S801, the control processing unit 601 of the control device 110 acquires the data to be encrypted.
[0046] In step S802, the control processing unit 601 of the control device 110 determines one path table 611 to be used for data encryption from among the plurality of path tables 611 stored in the path management DB 610. First, the control processing unit 601 selects one set from among the plurality of sets of path tables 611 stored in the path management DB 610. This selection may be made, for example, based on any information regarding the data to be encrypted. As an example, one set may be selected based on identification information regarding the data to be encrypted (such as the serial number of the device that stores the encrypted data or the device that uses the data to be encrypted). Further, the control processing unit 601 determines the path table 611 to be used by selecting one path table 611 associated with a period T corresponding to the time when the data is encrypted (or the time when the execution request is received) from within the selected set of path tables 611.
[0047] In step S803, the control device 110 transmits a control instruction for executing processing related to data encryption and the data to be encrypted to the encryption device that performs the next encryption according to the path table 611 determined in step S802. In the process of step S803, the control processing unit 601 of the control device 110 generates a control instruction for causing the encryption device that performs the next encryption to execute processing related to data encryption based on the path table 611. Then, the communication processing unit 602 of the control device 110 transmits the control instruction generated by the control processing unit 601 and the data to be encrypted to the encryption device that performs the next encryption based on the path table 611.
[0048] In step S804, an encryption device that has received a control instruction regarding the encryption of the data transmitted in step S803 encrypts the data. The data processing unit 301 of the encryption device that has received the control instruction encrypts the data by changing (shuffling) the data array and inserting dummy data as described above based on the PLW data 311 and the random number table 312 corresponding to the period T stored in the encryption DB 310 indicated by the control instruction. Next, the communication processing unit 302 of this encryption device transmits the data (encrypted data) encrypted by the data processing unit 301 to the control device 110.
[0049] In step S805, the communication processing unit 602 of the control device 110 receives the encrypted data transmitted from the encryption device in step S804.
[0050] In step S806, the control processing unit 601 of the control device 110 determines whether the encryption process based on the route table 611 determined in step S802 has ended. The control processing unit 601 determines that the encryption process has ended when the encryption based on the information shown at the end (the right end in the example shown in FIG. 7) in the route table 611 determined in step S802 is completed. When the control processing unit 601 determines that the encryption process has ended (YES in step S806), the process ends with the processing shown in FIG. 8, using the encrypted data received in step S805 as the finally encrypted data.
[0051] On the other hand, when the control processing unit 601 determines that the encryption process has not ended (NO in step S806), the process returns to step S803, and the control device 110 transmits a control instruction for executing a process related to data encryption and the data to be encrypted to the next encryption device to be encrypted according to the route table 611. At this time, the control device 110 transmits the encrypted data received in step S805 as the data to be encrypted. Then, the processes after step S804 are executed.
[0052] In the above description, the encrypted data is transmitted from the encryption device to the control device 110 in step S803. However, the transmission destination of the encrypted data may be included in the control instruction from the control device 110, and the data may be transmitted from the encryption device directly to the next processing device without passing through the control device 110.
[0053] FIG. 9 is a diagram for explaining an example of the encryption process in the present embodiment. By referring to the PLW data 311 and the random number table 312 stored in the designated encryption DB 310 for the data to be encrypted and performing encryption, the data after the first encryption is obtained. In this example, the first block 911 of the data after the first encryption is composed of data obtained by changing the arrangement order of the partial data 901 of the data to be encrypted based on the block information P11, L11 (≦W11 2 ). The second block 912 of the data after the first encryption is composed of dummy data inserted based on the block information P12, L12 (>W12 2 ). Also, the third block 913 and the fourth block 914 of the data after the first encryption are composed of data obtained by changing the arrangement order of the partial data 902 and 903 of the data to be encrypted respectively based on the corresponding block information (L≦W 2 ), and the fifth block 915 of the data after the first encryption is composed of dummy data inserted based on the corresponding block information (L>W 2 ).
[0054] By referring to the PLW data 311 and the random number table 312 stored in the designated encryption DB 310 for the data after the first encryption obtained in this way and performing encryption, the data after the second encryption is obtained. In this example, the first block 931, the third block 933, the fourth block 934, the sixth block 936, and the eighth block 938 of the data after the second encryption are based on the corresponding block information (L≦W 2) It is composed of data with the arrangement order changed for each of the partial data 921 to 925 of the data after the first encryption based on 2 ). Also, the second block 932, the fifth block 935, and the seventh block 937 of the data after the second encryption are composed of dummy data inserted based on the corresponding block information (L>W
[0055] Furthermore, by referring to the PLW data 311 and the random number table 312 stored in the designated encryption DB310 for the data after the second encryption and performing encryption, the data after the third encryption is obtained. In this example, the first block 951, the third block 953, the fifth block 955, the sixth block 956, the eighth block 958, and the tenth block 960 of the data after the third encryption are data with the arrangement order changed for each of the partial data 941 to 946 of the data after the second encryption based on the corresponding block information (L≤W 2 ). Also, the second block 952, the fourth block 954, the seventh block 957, and the ninth block 959 of the data after the third encryption are composed of dummy data inserted based on the corresponding block information (L>W 2 ).
[0056] Subsequently, in the same manner, based on the route table 611, encryption that performs rearrangement (shuffling) of the data arrangement order and insertion of dummy data is repeated. By repeating the encryption by changing the arrangement order (shuffling) of the data and inserting dummy data in this way, the data to be encrypted (valid data) and the dummy data are mixed, and the encryption strength can be increased.
[0057] According to this embodiment, the PLW data and the random number table used for data encryption and decryption are held by each encryption device, and encryption is performed by referring to the PLW data and the random number table held by a plurality of encryption devices in order according to the determined route table, thereby encrypting the data to be encrypted. By dispersing and holding the PLW data and the random number table used for data encryption and decryption and performing encryption by a plurality of encryption devices, even if information related to encryption is leaked in one encryption device, for example, other encryption devices cannot obtain the information related to encryption held by them, so the security of the encrypted data can be ensured. In addition, by repeating encryption by changing the data array of the data to be encrypted or inserting dummy data through multiple encryptions by a plurality of encryption devices, the encryption strength can be increased. Thereby, encryption with strong security can be performed. Further, by switching the route table, the PLW data, and the random number table used for data encryption at predetermined timings, the security can be further improved.
[0058] In the above description, an example in which the route table, the PLW data, and the random number table used for data encryption are switched at the same timing is shown, but the present invention is not limited thereto. The route table, the PLW data, and the random number table used for data encryption may be switched at different independent timings, or a part or all of the route table, the PLW data, and the random number table may be switched at the same timing.
[0059] Also, the number of times of encryption when encrypting the data to be encrypted can be arbitrarily set. That is, the number of pieces of information indicating the encryption device that encrypts the data and the encryption DB to be applied, which constitute each route table, can be arbitrarily set. In the information processing system according to the present embodiment, it has a route table that is route information regarding data encryption, and since the number of times of encryption can be arbitrarily set, it becomes easier to detect unauthorized access (retry). By being able to arbitrarily set the route regarding data encryption and the number of times of encryption, for example, information leakage due to eavesdropping on the communication path can be prevented, and the security can be improved.
[0060] The encryption technology in the above-described present embodiment is applicable to, for example, an information processing system as shown in FIG. 11. In the information processing system shown in FIG. 11, in addition to the encryption devices (encryption device A101, encryption device B102, encryption device C103) and the control device 110 shown in FIG. 1, terminal devices 131 and 132 are communicably connected via a network 120. The terminal devices 131 and 132 are, for example, hardware wallets used for managing encrypted assets. For example, by applying the encryption technology in the present embodiment to the encryption of the private key of the public-key cryptography used for such encrypted asset transactions, high security can be realized. In the example shown in FIG. 11, two terminal devices 131 and 132 are shown, but it is not limited thereto, and the number of terminal devices connected via the network 120 is arbitrary.
[0061] In the information processing system shown in FIG. 11, for example, a route table, which is route information regarding data encryption, may be switched for each terminal device. That is, the control device 110 may switch the route table used for data encryption for each terminal device. For example, a UUID (Universal Unique ID) may be assigned to each terminal device, and as shown in FIG. 12 as an example, a route table 611 may be prepared for each UUID in the route management DB 610 of the control device 110. FIG. 12 is a diagram for explaining an example of the route table 611 stored in the route management DB 610 of the control device 110. In the example shown in FIG. 12, the route table 611-1 is a route table corresponding to the terminal device 131 to which UUID1 is assigned. Also, the route table 611-2 is a route table corresponding to the terminal device 132 to which UUID2 is assigned, and the route table 611-3 is a route table corresponding to a terminal device (not shown) to which UUID3 is assigned. By preparing the route table 611 for each UUID in this way, for example, data related to the terminal device 131 to which UUID1 is assigned may be processed for encryption according to the route table 611-1.
[0062] Hereinafter, with reference to FIG. 10, the generation of the PLW data 311 stored in the encryption DB 310 will be described. The seed value generation unit 1001 generates a seed value to be input to the random number generation unit 1002 based on the first input information and the second input information. The random number generation unit 1002 is realized by, for example, a pseudo-random number generator, and generates a random number based on the seed value generated by the seed value generation unit 1001. The data generation unit 1003 generates the PLW data 311 based on the random number value generated by the random number generation unit 1002. Examples of the first input information and the second input information include information regarding the maximum encryption data length, the range of the effective length L, and the range of the width of the random number table.
[0063] For example, by varying the first input information input when generating the PLW data 311 stored in the encryption DB<1>310-1, encryption DB<2>310-2, and encryption DB<3>310-3 of the encryption device respectively, the generation logic of the seed value is changed in units of the encryption DB 310, and PLW data 311 having no specific relationship with each other can be generated. Also, for example, by varying the second input information input when generating the PLW data 311 for each encryption device, the generation logic of the seed value is changed in units of the encryption device, and PLW data 311 having no specific relationship with each other can be generated between the encryption device and the encryption DB 310. Note that when the encryption device has only one encryption DB<1>310-1, by varying at least one of the first input information and the second input information input when generating the PLW data 311 for each encryption device, the generation logic of the seed value is changed in units of the encryption device, and PLW data 311 having no specific relationship with each other can be generated between the encryption devices.
[0064] As an example, when applying the encryption process in this embodiment with the secret key of the public key encryption used for encryption asset transactions or the like as the data to be encrypted, as the first input information, for example, the serial number, time, and number of issuances related to the secret key are considered, and as the second input information, for example, the identification information related to the encryption device (such as the manufacturing number of the device or the number assigned so as not to overlap) is considered.
[0065] Note that the random number table 312 stored in the encryption DB 310, the route table 611 stored in the route management DB 610, etc. may also be generated by the method described with reference to FIG. 10 in the same manner as the PLW data 311.
[0066] Also, in the above description, the data such as the PLW data 311 stored in the encryption DB 310, the random number table 312, and the route table 611 stored in the route management DB 610 are stored with pre-prepared data, but it may be configured to include part or all of the generation mechanism (generator) as shown in FIG. 10 so that the encryption device or the control device generates them.
[0067] Note that each of the above embodiments merely shows an example of the implementation of the present invention, and the technical scope of the present invention should not be construed in a limited manner by these. That is, the present invention can be implemented in various forms without departing from its technical idea or its main features.
Explanation of Signs
[0068] 101, 102, 103 Encryption device 110 Control device 201 CPU 202 ROM 203 RAM 204 Storage device 205 Input / output I / F 206 Communication I / F 301 Data processing unit 302 Communication processing unit 310 Encryption database 601 Control processing unit 602 Communication processing unit 610 Route management database
Claims
1. An information processing system having a control device and a plurality of encryption devices, wherein the control device has a first storage means for storing a plurality of route information related to data encryption, and control processing means for controlling the encryption of data to be encrypted by the plurality of encryption devices based on one of the plurality of route information stored in the first storage means, wherein the encryption device has a second storage means for storing a plurality of encryption tables and a random number table, and encryption means for encrypting data by referring to the encryption table and the random number table stored in the second storage means based on the control by the control device, and the plurality of encryption devices encrypt in order according to the one route information to encrypt the data to be encrypted. An information processing system characterized by this.
2. The information processing system according to claim 1, wherein the encryption means encrypts data by performing at least one of changing a data array and inserting dummy data based on the encryption table and the random number table.
3. The information processing system according to claim 1, wherein the encryption table and the random number table used by the encryption means for data encryption are each switched at a predetermined timing.
4. The information processing system according to claim 1, wherein the one route information is switched at a predetermined timing.
5. The encryption device has decryption means for decrypting the data by referring to the encryption table and the random number table when the data is encrypted based on the control by the control device, and the plurality of encryption devices decrypt in the reverse order of encryption according to the one route information when encrypting the data, and decrypt the encrypted data. The information processing system according to any one of claims 1 to 4.
6. The encryption table has a plurality of block information related to the encryption of each block of the encrypted data composed of a plurality of blocks, and the information processing system according to claim 2, wherein the encryption means changes the data array or inserts dummy data for each block based on the block information included in the encryption table.
7. The information processing system according to claim 1, wherein the second storage means stores the plurality of encryption tables and the random number table generated based on information different for each of the encryption devices.
8. The information processing system according to claim 7, wherein the data to be encrypted is a private key used in public key cryptography.
9. The information processing system according to claim 8, wherein the different information includes two or more pieces of information among the serial number, time, and number of issuances related to the private key.
10. The information processing system according to claim 1, wherein the encryption table and the random number table stored in the second storage means of the encryption device do not depend on an encryption device different from the encryption device.
11. An information processing method executed by an information processing system having a control device and a plurality of encryption devices, wherein the control device has first storage means for storing a plurality of pieces of route information related to data encryption, each of the encryption devices has second storage means for storing a plurality of encryption tables and a random number table, a control processing step in which the control device controls the encryption of data to be encrypted by the plurality of encryption devices based on one of the plurality of pieces of route information stored in the first storage means, and an encryption step in which each of the encryption devices encrypts data with reference to the encryption table and the random number table stored in the second storage means based on control by the control device, wherein the plurality of encryption devices encrypt in order according to the one piece of route information to encrypt the data to be encrypted.
Citation Information
Patent Citations
Encryption system, encryption device, encryption program, and encryption method
JP2018029268A