Processing device, processing method, and processing program
Abstract
This record has no abstract on file.
Term
Projected expiry 4 June 2030.
- Priority and filed
- Granted
- Today
- Projected expiry
8 claims: 5 independent, 3 dependent
- 1予め設定されたキー時刻に処理対象情報に関する所定の処理を実行する処理装置であって、 所定時間毎に設定されたチェックタイミングにおいて、前回処理を行なったキー時刻と現在の時刻との間であるチェック期間に該キー時刻が含まれているか否かを判断する判断部と、 該判断部が、該チェック期間に該キー時刻が含まれていると判断した場合に、当該キー時刻に実行すべき該所定の処理を実行する処理部と、をそなえることを特徴とする、処理装置。
- 2該処理部は、 該判断部が、該チェック期間に該キー時刻が含まれていると判断した場合であっても、該現在の時刻が前回処理を行なった該キー時刻よりも過去の場合には、該処理対象情報の初期化を行なうことを特徴とする、請求項1記載の処理装置。
- 3該処理部は、 該判断部が、該チェック期間に該キー時刻が含まれていると判断した場合であっても、該チェック期間に該キー時刻が2つ以上含まれていると判断した場合には、該処理対象情報の初期化を行なうことを特徴とする、請求項1または請求項2記載の処理装置。
- 4前回処理を行なった該キー時刻を格納する格納部をさらにそなえ、 該判断部は、該格納部に格納された前回処理を行なった該キー時刻を用いて、該チェック期間に該キー時刻が含まれているか否かを判断するとともに、 該処理部は、該判断部によって該チェック期間に含まれていると判断された該キー時刻に実行すべき該所定の処理を実行した後、当該キー時刻を前回処理を行なった該キー時刻として該格納部に格納することを特徴とする、請求項1または請求項2記載の処理装置。
- 5予め設定されたキー時刻に処理対象情報に関する所定の処理を実行する処理装置であって、 所定時間毎に設定されたチェックタイミングにおいて、前回の処理時刻と現在の時刻との間であるチェック期間に該キー時刻が含まれているか否かを判断する判断部と、 該判断部が、該チェック期間に該キー時刻が含まれていると判断した場合に、当該キー時刻に実行すべき該所定の処理を実行する処理部と、をそなえることを特徴とする、処理装置。
- 6該処理対象情報は暗号鍵情報であり、 該所定の処理は、暗号鍵の生成、又は該暗号鍵による送信若しくは受信の有効化若しくは無効化の切り替えのうちの少なくとも一つに関する処理であることを特徴とする、請求項1、2、及び5のいずれか1項記載の処理装置。
- 7予め設定されたキー時刻に処理対象情報に関する所定の処理を実行する処理装置における処理方法であって、 所定時間毎に設定されたチェックタイミングにおいて、前記処理装置の判断部が、前回処理を行なったキー時刻と現在の時刻との間であるチェック期間に該キー時刻が含まれているか否かを判断し、前記処理装置の判断部が該チェック期間に該キー時刻が含まれていると判断した場合に、前記処理装置の処理部が、当該キー時刻に実行すべき該所定の処理を実行する、ことを特徴とする、処理方法。
- 8予め設定されたキー時刻に処理対象情報に関する所定の処理を実行するコンピュータに、 所定時間毎に設定されたチェックタイミングにおいて、前回処理を行なったキー時刻と現在の時刻との間であるチェック期間に該キー時刻が含まれているか否かを判断する判断部、および、前記判断部が該チェック期間に該キー時刻が含まれていると判断した場合に、当該キー時刻に実行すべき該所定の処理を実行する処理部、として動作させることを特徴とする、処理プログラム。
Independent claims8
105 paragraphs, as filed
This case relates to a processing device, a processing method, and a processing program that execute predetermined processing related to processing target information at a preset time.
Conventionally, there is a technique for synchronizing RAID (Redundant Arrays of Inexpensive Disks) devices in remote locations by copying between remote chassis using iSCSI (internet Small Computer System Interface). Further, in such a copy between iSCSI remote chassis, it is known that each remote chassis uses encryption key sharing / synchronization by IPsec (Security architecture for Internet Protocol) in order to ensure security.
IPsec is a standard for performing encryption at the IP level, and aims to ensure security by encrypting IP packets and transmitting and receiving between devices. In IPsec, a shared key cryptosystem is used to encrypt IP packets. In the shared key encryption method, encrypted communication is performed using the same encryption key on the transmitting side and the receiving side devices, and each device on the transmitting side and the receiving side (for example, a remote housing) encrypts in advance. Share the key and establish an IPsec connection.
The IPsec connection is established by using the IKE (Internet Key Exchange) protocol in the transmitting side and receiving side devices. Specifically, between the devices that make an IPsec connection, the IKE establishes an IPsec connection by performing two phases, Phase 1 and Phase 2. In Phase 1, by establishing ISAKMP (Internet Security Association and Key Management Protocol) SA (Security Association), the encryption method to be used in Phase 2 is determined and the encryption key is generated. Further, in Phase 2, by establishing IPsec SA, the encryption method and encryption key to be used in IPsec are determined.
When these two phases are completed, encrypted communication using IPsec is possible between the devices. Note that, for example, when copying between iSCSI remote chassis using a RAID device as each device on the transmitting side and the receiving side, depending on the RAID device, for a module that realizes the IPsec function provided by each RAID device. Some encryption keys are set. Specifically, each RAID device creates an encryption key by itself using the same logic (for example, a function that generates an encryption key with date information as an argument), so that the encryption key does not depend on the above-mentioned IKE. There is something that can be shared.
Here, in order to improve security, each device that performs encrypted communication using IPsec sets a predetermined validity period for the encryption key, invalidates the encryption key whose validity period has passed, and replaces the encryption key with a new encryption key. Performs switching processing. For example, in each device, the clock time (current time) of each device is a predetermined process related to switching of encryption key information (for example, generation and setting of encryption key, switching of activation / invalidation of encryption key, etc.). It is determined whether or not it is the time to perform (for example, 0 o'clock, 8 o'clock, 16 o'clock, etc.). Then, each device switches the encryption key by executing the corresponding process if it is time to perform the predetermined process.
Further, conventionally, there is known a technique of generating / updating an encryption key when a preset key exchange time is reached (for example, Patent Documents 1 and 2).
<p><patcit num="1"><text>Japanese Unexamined Patent Publication No. 2005-136870</text></patcit><patcit num="2"><text>Japanese Unexamined Patent Publication No. 2004-166153</text></patcit></p>
<p num="0009"> As described above, each device that performs encrypted communication using IPsec performs generation and setting of the encryption key and switching of activation / invalidation of the encryption key based on the time of the clock provided in each device. Do it. In general, such a clock has a deviation of several minutes in one month and several hours in several years, so that each housing regularly changes (adjusts) the time. Here, due to the time change (adjustment) of the clock, the time may be changed over a time when a predetermined process related to the encryption key information should be performed. For example, if the time of the clock before the change is before the update time of the encryption key information (past) and the time of the clock after the change is before the update time of the encryption key information (future), the time is changed. In the device that performed the above, the predetermined processing regarding the encryption key information that should be performed at the time straddled (jumped over) due to the time change of the clock is not performed. As a result, there is a problem that the encryption key information of the device whose time has been changed and the device to be communicated do not match.</p><p num="0010"> Hereinafter, among the devices that perform encrypted communication using IPsec described above, the procedure for updating the encryption key of each device when a time change occurs in the device on the transmitting side uses the transmitting side housing and the receiving side housing. I will explain. 7 (a) and 7 (b) are diagrams showing a comparison timing between the current time in the transmitting side housing and the time when a predetermined process should be performed.</p><p num="0011"> FIG. 7A shows an example of normal operation, that is, when the time of the clock of the transmitting side housing is not changed. Further, FIG. 7B shows an example of a case where the time of the clock of the transmitting side housing is changed. FIG. 8 is a diagram showing a procedure for updating the encryption keys of the transmitting side housing and the receiving side housing when the time is changed in the transmitting side housing.</p><p num="0012"> The transmitting side housing is a device on the side of transmitting data in encrypted communication by each device performing encrypted communication using IPsec, and the receiving side housing is a device on the side of receiving data. For convenience, the transmitting side housing and the receiving side housing are distinguished in FIGS. 7A, 7B and 8, but in reality, the device as the transmitting side housing and the receiving side housing are used. The device as a body transmits and receives in both directions. Therefore, each process in the transmitting side housing and the receiving side housing is executed in each device that performs encrypted communication using IPsec.</p><p num="0013"> Here, the transmitting side housing and the receiving side housing change the encryption key every day in order to improve security. Further, the transmitting side housing and the receiving side housing have two encryption keys, and it is possible to switch between valid or invalid transmission and reception by the encryption key for each encryption key. If reception by the two encryption keys is valid, reception can be performed by either encryption key.</p><p num="0014"> The transmitting side housing and the receiving side housing perform predetermined processing related to switching of encryption key information (for example, generation and setting of encryption key, encryption key) at the current time, which is the time of the clock provided by the transmitting side housing and the receiving side housing, every hour. It is determined whether or not it is the time (for example, 0 o'clock, 8 o'clock, 16 o'clock, etc.) for performing activation / invalidation switching, etc.). For example, at 16:00, the transmitting side chassis generates and sets the encryption key 1 for the next day, and the receiving side housing generates and sets the encryption key 1 for the next day to encrypt the next day. Performs a process to enable reception by the key 1. Further, at midnight, the transmitting side housing performs a process of enabling transmission by the encryption key 1 of the current day and invalidating the transmission of the encryption key 2 of the previous day. Further, at around 8 o'clock, the receiving side housing performs a process of invalidating the reception by the encryption key 2 on the previous day.</p><p num="0015"> After that, the transmitting side housing and the receiving side housing repeatedly carry out the above-mentioned processing of 16:00, 0:00, and 8:00, and alternately use two encryption keys to obtain the encryption key information. Update. Further, the transmitting side housing and the receiving side housing can change (adjust) the time of the clock that they have, respectively, at a predetermined timing or by an external command. As shown in FIGS. 7A and 7B, the transmitting side housing should perform a predetermined process relating to the switching of the encryption key information at the current time at the time of the arrows represented by A1 to A8 and B1 to B7. Determine if it is time. Although not shown, the transmitting side housing makes the same determination in A1 or earlier and A8 or later, and in B1 or earlier and B7 or later. Here, the interval between A1 to A8 and B1 to B7 is 1 hour.</p><p num="0016"> In FIG. 7A, the transmitting side housing is the time at which the current time should perform a predetermined process related to the switching of the encryption key information at each time point of A1 to A4 and A6 to A8 (here, 16 of 1/27). Since it is not the time point), the prescribed processing is not performed. On the other hand, at the time of A5, the transmitting side chassis determines that the current time is in the 12:00 range of 1/27 as the time for performing the predetermined processing related to the switching of the encryption key information, and 16 of 1/27. A predetermined process to be performed at times, that is, a process of generating and setting the encryption key 2 for 1/28 is performed.</p><p num="0017"> On the other hand, in FIG. 7B, the transmitting side housing is the time at which the current time should perform a predetermined process related to the switching of the encryption key information at each time point of B1 to B7 (here, 1/27). Since it is not around 16:00, the prescribed processing will not be carried out. Here, in the example shown in FIG. 7B, the timer is set after comparing the current time when the transmitting side housing is B4 with the time when a predetermined process for switching the encryption key information should be performed. The time of the clock on the transmitting side housing is changed before the next hour is reached. That is, it is assumed that the clock time of the transmitting side housing is changed from 15:00 to 17:00 on 1/27. Then, the transmitting side housing compares the current time at the time of B5 with the time when a predetermined process related to the switching of the encryption key information should be performed. In this case, the transmitting side housing does not perform the predetermined processing because the current time is not the time of 1/27, which is the time for performing the predetermined processing related to the switching of the encryption key information, at 16:00 at the time of B5. ..</p><p num="0018"> As described above, in the state of FIG. 7B, the process of generating and setting the encryption key 2 for 1/28, which should be performed at 16:00 on 1/27, is not performed in the transmitting side housing. At this time, as shown in FIG. 8, the transmitting side housing does not generate and set the encryption key 2 for 1/28, which should be performed at 16:00 on 1/27, so that it is from 16:00 to 1/29 on 1/27. The encryption key 2 until 16:00 will be the encryption key for 1/26 minutes.</p><p num="0019"> Therefore, in the transmitting side chassis, the transmission of the encryption key 2 of 1/26 is enabled and the transmission of the encryption key 1 of 1/27 is invalidated at 0 o'clock on 1/28, and the transmission of the encryption key 1 on 1/28 is invalidated. From 1/29 to 00:00, the 1/26 minute encryption key set in the encryption key 2 will be used at the time of transmission. On the other hand, in the receiving side chassis where the time has not changed, the encryption key 1 for 1/27 and the encryption key 2 for 1/28 are valid from 0:00 to 8:00 on 1/28. From 8:00 to 16:00 on 1/28, the encryption key 2 for 1/28 is valid. From 16:00 on 1/28 to 0:00 on 1/29, the encryption key 2 for 1/28 and the encryption key 1 for 1/29 are valid.</p><p num="0020"> In this way, the packet transmitted from the transmitting side housing is encrypted by the encryption key 2 for 1/26, while the encryption key 2 for 1/26 is set in the receiving side housing. Therefore, the encryption keys for decrypting the encrypted packet do not match on the receiving side housing. Therefore, the receiving side chassis cannot decode the received packet from 0:00 on 1/28 to 0:00 on 1/29.</p><p num="0021"> Up to this point, the case where the clock time is changed in the transmitting side housing has been described with reference to FIGS. 7 (a), 7 (b) and 8 but when the clock time is changed in the receiving side device. Is the same. From the above, when the time is changed over the time when the predetermined processing for the encryption key information should be performed, the encryption key information of the chassis whose time has been changed and the encryption of the chassis whose time has not been changed There is a problem that the key information does not match and encrypted communication between the chassis cannot be performed normally.</p><p num="0022"> In view of the above points, one of the purposes of this case is to make the processing target information of the processing device that has changed the time correct even when the time is changed over the time when the predetermined processing of the processing target information should be performed. It is to be. It should be noted that the other object of the present invention is not limited to the above-mentioned object, but is an action and effect derived by each configuration shown in the embodiment for carrying out the invention described later, and exerts an action and effect which cannot be obtained by the conventional technique. It can be positioned as one of.</p>
<p num="0023"> The processing device of this case is a processing device that executes predetermined processing related to processing target information at a preset key time, and at a check timing set for each predetermined time, the key time of the previous processing and the current processing device. Judgment unit that determines whether the key time is included in the check period between the time and the time, and if the determination unit determines that the key time is included in the check period, it is executed at the key time. It is provided with a processing unit that executes a predetermined process to be performed.</p><p num="0024"> Further, the other processing device of this case is a processing device that executes a predetermined process related to the processing target information at a preset key time, and at the check timing set for each predetermined time, the previous processing time and the present When the judgment unit that determines whether or not the key time is included in the check period between the time of and the judgment unit determines that the key time is included in the check period, the key time is set to the relevant key time. It is provided with a processing unit that executes a predetermined process to be executed.</p><p num="0025"> Further, the processing method of the present case is a processing method in a processing device that executes a predetermined process related to the processing target information at a preset key time, and is determined by the processing device at a check timing set for each predetermined time. The unit determines whether or not the key time is included in the check period between the key time of the previous processing and the current time, and the determination unit of the processing device includes the key time in the check period. When it is determined that the processing unit is used, the processing unit of the processing device executes a predetermined process to be executed at the key time.</p><p num="0026"> In addition, the processing program of this case is the key time and the current time of the previous processing at the check timing set for each predetermined time on the computer that executes the predetermined processing related to the processing target information at the preset key time. Judgment unit that determines whether or not the key time is included in the check period between and, and if the determination unit determines that the key time is included in the check period, it is executed at the key time. It operates as a processing unit that executes a predetermined processing to be performed.</p>
<p num="0027"> According to the disclosed technology, even when a time change occurs over a time when a predetermined process should be performed on the process target information, the process target information of the processing device whose time has been changed can be set to the correct state.</p>
<figref num="1">It is a figure which shows typically the configuration example of the storage device as an example of 1st Embodiment.</figref><figref num="2">It is a figure which illustrates the procedure of updating the encryption key of the transmitting side housing and the receiving side housing as an example of 1st Embodiment.</figref><figref num="3">FIGS. (A) to (e) are diagrams for explaining a method of determining whether or not the key time is included in the check period by the determination unit of the storage device as an example of the first embodiment.</figref><figref num="4">It is a flowchart for demonstrating the operation of the determination part and the processing part of the storage device as an example of 1st Embodiment.</figref><figref num="5">FIGS. (A) to (e) are diagrams for explaining a modified example of a method for determining whether or not the key time is included in the check period by the determination unit of the storage device as an example of the first embodiment.</figref><figref num="6">It is a flowchart for demonstrating the modification of the operation of the determination part and the processing part of the storage device as an example of 1st Embodiment.</figref><figref num="7">(A) and (b) are diagrams showing the comparison timing between the current time in the transmitting side housing and the time when a predetermined process should be performed.</figref><figref num="8">It is a figure which illustrates the procedure of updating the encryption key of the transmitting side housing and the receiving side housing when a time change occurs in a transmitting side housing.</figref>
Hereinafter, embodiments of the present invention will be described with reference to the drawings. (A) First Embodiment (A-1) Configuration of the first embodiment FIG. 1 is a diagram schematically showing a configuration example of a storage device 1 as an example of the first embodiment.
As shown in FIG. 1, the storage device 1 includes a channel adapter 2, a control module 3, and a storage unit 4. Further, the storage device 1 is connected to another device 5 so as to be able to transmit and receive to each other via a network 100 such as the Internet or a LAN (Local Area Network), and performs encrypted communication using IPsec. Here, in the present embodiment, the other device 5 has almost the same configuration as the storage device 1, and the illustration and description thereof will be omitted for convenience.
It should be noted that the encrypted communication using IPsec between the storage device 1 and the other device 5 can be performed by various known methods, and detailed description thereof will be omitted. Further, the storage device 1 reads / writes data (Read / Write) to the hard disk drive (HDD; Hard Disk Drive) 41-1 to 41-k (k is a natural number) of the storage unit 4, which will be described later. .. Examples of the storage device 1 and the other device 5 include a RAID device and the like.
Then, in the present embodiment, the storage device 1 and the other device 5 perform remote inter-housing copying. That is, the other device 5 functions as a backup server that copies the data stored in the HDDs 41-1 to 41-k of the storage device 1 and stores the data in the HDD provided by the other device 5. Similarly, the storage device 1 functions as a backup server that copies the data stored in the HDDs of the other devices 5 and stores the data in the HDDs 41-1 to 41-k provided by the storage device 1.
Further, in the present embodiment, the storage device 1 uses a shared key cryptosystem in which encrypted communication is performed using the same encryption key as the other devices 5. Here, in the shared key cryptosystem, the storage device 1 and the other device 5 share the same encryption key with each other. In the present embodiment, the storage device 1 and the other devices 5 generate an encryption key by creating an encryption key by the same logic (for example, a function that generates an encryption key with date information as an argument) in each device. Can be shared.
The channel adapter 2 is an interface controller that connects the storage device 1 and another device 5 in a communicable manner. The channel adapter 2 receives the data transmitted from the other device 5, stores it in the buffer memory 23 once, and then passes this data to the control module 3 described later, or also receives the data received from the control module 3. It is transmitted to another device 5. That is, the channel adapter 2 has a function of controlling data input / output (I / O) with an external device such as another device 5. Further, the channel adapter 2 has a function as an encryption / decryption unit 201 as described later.
As shown in FIG. 1, the channel adapter 2 includes a CPU (Central Processing Unit) 20, a RAM (Random Access Memory) 21, a ROM (Read Only Memory) 22, and a buffer memory 23. The buffer memory 23 temporarily stores data received from the other device 5 and data transmitted to the other device 5. The ROM 22 is a storage device that stores a program executed by the CPU 20 and various data.
The RAM 21 is a storage area for temporarily storing various data and programs, and is used by temporarily storing and expanding the data and programs when the CPU 20 executes the programs. Further, as described later, the RAM 21 stores two encryption keys set by the control module 3, information on valid / invalid transmission for each encryption key, valid / invalid information for reception for each encryption key, and the like. ..
The two encryption keys stored in the RAM 21 may be the encryption key itself, or may be information for generating or specifying the encryption key. Hereinafter, these are collectively referred to simply as an "encryption key". Further, hereinafter, the two encryption keys stored in the RAM 21, and the valid / invalid information for transmission for each encryption key and the valid / invalid information for reception for each encryption key are referred to as "encryption key information".
The CPU 20 is a processing device that performs various controls and calculations, and realizes various functions by executing a program stored in the ROM 22. That is, as shown in FIG. 1, the CPU 20 functions as an encryption / decryption unit 201. The encryption / decryption unit 201 encrypts the packet received from the control module 3 and transmitted to the other device 5 by using the encryption key stored in the RAM 21. Further, the encryption / decryption unit 201 decrypts the packet received from the other device 5 by using the encryption key stored in the RAM 21 and delivers it to the control module 3.
In this way, the storage device 1 performs encrypted communication using IPsec with the other device 5 by the encryption / decryption process by the encryption / decryption unit 201. The storage unit 4 has a plurality of HDDs 41-1 to 41-k, and receives various controls for the plurality of HDDs 41-1 to 41-k from the controller module 3. In this embodiment, the plurality of HDDs 41-1 to 41-k have a RAID configuration by the controller module 3.
In the plurality of HDDs 41-1 to 41-k, data read / write processing is performed by the control module 3. The storage unit 4 can use various recording media such as a plurality of SSDs (Solid State Drives) that can be used in the storage device instead of the HDDs 41-1 to 41-k.
The control module (processing device) 3 performs various controls, and performs various controls such as access control to the storage unit 4 in accordance with an access request from another device 5. Further, the control module 3 has functions as a determination unit 301 and a processing unit 302, as will be described later. The control module 3 includes a CPU 30, a RAM 31, a ROM 32, and a clock 33.
The ROM 32 is a storage device that stores a program executed by the CPU 30 and various data. The RAM 31 is a storage area for temporarily storing various data and programs, and is used by temporarily storing and expanding the data and programs when the CPU 30 executes the programs.
Further, in this RAM 31, a time (hereinafter, hereinafter, a time when a predetermined process (for example, generation and setting of an encryption key, switching of activation / invalidation of the encryption key, etc.) related to the processing target information (here, encryption key information) is executed) is executed. The key time) is stored in advance in association with the encryption key information. The RAM 31 can store a plurality of sets of key time and encryption key information. For example, in the RAM 31, the first key time is stored in association with a process of generating a new encryption key and setting it in the RAM 21 as a predetermined process, and a process of enabling reception by the new encryption key. Will be done. Further, the second key time is stored in the RAM 31 in association with a process of validating the transmission by the new encryption key and a process of invalidating the transmission by the old encryption key as a predetermined process. Further, the RAM 31 stores the third key time in association with the process of invalidating the reception by the old encryption key as a predetermined process.
Further, the RAM 31 stores the key time associated with the processing previously performed by the processing unit 302, which will be described later, as the key time of the previous processing. The key time described above may be the time itself or information for specifying the time. Hereinafter, these are collectively referred to simply as "key time". The clock 33 manages the time in the storage device 1, and manages the time using a clock generated by a crystal oscillator or the like. Examples of the clock 33 include a real-time clock and the like. In FIG. 1, the clock 33 is provided in the control module 3, but the clock 33 is not limited to this, and may be provided in another part in the storage device 1.
The CPU 30 is a processing device that performs various controls and calculations, and realizes various functions by executing a program stored in the ROM 32. That is, as shown in FIG. 1, the CPU 30 functions as a determination unit 301 and a processing unit 302. The CPU 30 executes the processing as the determination unit 301 and the processing unit 302 based on the time of the clock 33. Here, the clock 33 has a deviation of several minutes in one month and several hours in several years.
Therefore, in addition to the functions of the determination unit 301 and the processing unit 302, the CPU 30 has a function of changing (adjusting) the time of the clock 33 to a reference time at a predetermined timing or by a command from an external device. To prepare. The function of changing the time of the clock 33 by the CPU 30 is performed independently of the functions of the determination unit 301 and the processing unit 302. The reference time can be obtained from, for example, a time server (not shown).
Such a change in the time of the clock 33 by the CPU 30 may cause a time change across the key time for which a predetermined process related to the encryption key information should be performed. In the present embodiment, the encryption key information of the control module 3 whose time has been changed can be set to the correct state by the processing of the determination unit 301 and the processing unit 302, which will be described later. In the present embodiment, the storage device 1 and the other devices 5 each change the encryption key stored in the RAM 21 of the channel adapter 2 at predetermined intervals (here, every day) in order to improve security. That is, the storage device 1 and the other devices 5 execute predetermined processing related to the encryption key information at the key time stored in the RAM 31 in advance in each device. By this process, the encryption key information is updated, and the storage device 1 and the other devices 5 can perform encrypted communication with each other using the encryption key changed by each device.
Further, the storage device 1 and the other device 5 have two encryption keys, and can switch between valid / invalid transmission for each encryption key and valid / invalid reception for each encryption key for each encryption key. If reception by the two encryption keys is valid, reception can be performed by either encryption key. The determination unit 301 determines whether or not the key time is included in the check period between the key time of the previous processing and the current time at the check timing set for each predetermined time. Here, the check timing is a fixed time cycle set by a timer (not shown), and is set to 2 minutes in the present embodiment. The function as a timer can be realized by, for example, timing by the CPU 30. The time on the clock 33 and the time measured by the timer are independent of each other, and even if the time on the clock 33 is changed, the time measured by the timer is not affected. The check period is a period between the key time of the previous processing stored in the RAM 31 and the current time, that is, the time of the clock 33.
Therefore, at the check timing set every two minutes, the determination unit 301 keys during the check period, which is between the key time of the previous processing stored in the RAM 31 by the processing unit 302 and the time of the clock 33, respectively. Determine if the time is included. For example, when the key time for which the previous processing was performed is 0 o'clock as the second key time and the current time is 8:01, the determination unit 301 sets the key time as 0 o'clock as the second key time. Judge whether the key time is included in the check time between 8:01 as the current time. In this case, since the check period includes 8 o'clock as the third key time, the determination unit 301 includes the key time in the check period at the current check timing, that is, at the current time. Judge that
When the determination unit 301 determines that the key time is included in the check period, the processing unit 302 executes a predetermined process regarding the encryption key information (processing target information) to be executed at the key time. That is, at the key time, the processing unit 302 performs processing related to at least one of generation of the encryption key and switching of activation or invalidation of transmission or reception by the encryption key as a predetermined process regarding the encryption key information. ..
Specifically, when the determination unit 301 determines that the check period includes 16:00 as the first key time, the processing unit 302 generates a new encryption key and sets it in the RAM 21. At the same time, the process of validating the reception by the new encryption key is performed. Further, when the processing unit 302 determines in the determination unit 301 that the check period includes 0 o'clock as the second key time, the processing unit 302 activates the transmission with the new encryption key and the old encryption. Performs a process to invalidate the transmission by the key. Further, when the determination unit 301 determines that the check period includes 8 o'clock as the third key time, the processing unit 302 performs a process of invalidating the reception by the old encryption key.
In this way, by the functions of the determination unit 301 and the processing unit 302, the storage device 1 updates the encryption key information with the processing from the first key time to the third key time as one cycle. It should be noted that the generation of the encryption key by the processing unit 302 and the switching between enabling / disabling transmission / reception by the encryption key can be performed by various known methods, and detailed description thereof will be omitted.
Details of the processing by the determination unit 301 and the processing unit 302 will be described later with reference to FIG. Further, when the processing unit 302 executes a predetermined process to be executed at the key time included in the check period, the processing unit 302 stores the key time as the key time for which the previous process was performed in the RAM 31.
Therefore, it can be said that the control module 3 including the determination unit 301 and the processing unit 302 described above is a processing device that executes a predetermined process related to the processing target information at a preset key time. Further, it can be said that the RAM 31 is a storage unit for storing the key time of the previous processing. (A-2) About updating the encryption key information in the first embodiment Hereinafter, the process of updating the encryption key information by the determination unit 301 and the processing unit 302 of the storage device 1 in the present embodiment will be described in detail using the transmitting side housing and the receiving side housing.
FIG. 2 is a diagram illustrating a procedure for updating encryption key information of a transmitting side housing and a receiving side housing as an example of the first embodiment. The transmitting side housing is a device on the side of transmitting data in encrypted communication by the storage device 1 or another device 5 in the present embodiment, and the receiving side housing is a device on the side of receiving data. For convenience, the transmitting side housing and the receiving side housing are distinguished in FIG. 2, but in reality, the device as the transmitting side housing and the device as the receiving side housing transmit and receive in both directions. Is to do. Therefore, each process in the transmitting side housing and the receiving side housing is executed in each device of the storage device 1 and the other device 5.
Hereinafter, when the transmitting side housing and the receiving side housing will be described, the configuration of the storage device 1 described above will be used. In the example shown in FIG. 2, the transmission valid period of the encryption key is one day (24 hours), and the reception valid period is 40 hours, which is the transmission valid period plus 8 hours before and after. As a result, even if there is a time lag between the time of the clock provided by the transmitting side housing and the time of the clock provided by the receiving side housing, the time of the receiving side housing can be up to 8 hours before and after. It is possible to tolerate the deviation and decode the received packet.
The transmission valid period is a period during which the encryption key in the transmitting side housing is valid, and after this period, the transmitting side housing encrypts the data for transmission using the encryption key. You will not be able to. This transmission validity period starts with the process of enabling transmission by the encryption key in the transmitting side housing (for example, the processing unit 302 of the storage device 1), and the processing of invalidating the transmission by the encryption key in the transmitting side housing. Ends with. Therefore, the transmission valid period includes the key time stored in the transmitting side housing (for example, RAM 31 of the storage device 1) in which the processing for enabling transmission by the encryption key is performed, and the processing for invalidating the transmission by the encryption key. It is the period between the key time and the key time.
The reception valid period is a period during which the encryption key in the receiving side housing is valid, and after this period, the receiving side housing can decrypt the received data using the encryption key. It disappears. This reception validity period starts with the process of enabling reception by the encryption key in the receiving side housing (for example, the processing unit 302 of the storage device 1), and the processing of invalidating the reception by the encryption key in the receiving side housing. Ends with. Therefore, the reception valid period includes the key time stored in the receiving side housing (for example, RAM 31 of the storage device 1) in which the processing for validating the reception by the encryption key is performed, and the processing for invalidating the reception by the encryption key. It is the period between the key time and the key time.
As described above, the storage device 1 updates the encryption key information by the functions of the determination unit 301 and the processing unit 302, with the processing from the first key time to the third key time as one cycle. Hereinafter, the encryption key information update processing by the functions of the determination unit 301 and the processing unit 302 in the storage device 1 described above will be described separately for the encryption key information update processing in each of the transmission side housing and the reception side housing. As shown in FIG. 2, the transmitting side housing and the receiving side housing update the encryption key information in one cycle of the following processes (1) to (3).
In FIG. 2, the transmitting side housing encrypts the transmission data based on the encryption key 2 for 1/26 until 16:00 on 1/26. Further, the receiving side housing decrypts the received data based on the encryption key 2 for 1/26 until 16:00 on 1/26. Further, the processes (1) to (3) correspond to the key times at the time points indicated by the arrows (1) to (3) in FIG. 2, respectively. (1) 1/26 16:00 (first key time) -Sender chassis: Generates and sets the encryption key 1 for the next day (1/27) (processing in A1 in FIG. 2) -Receiving side chassis: Generates and sets the encryption key 1 for the next day (1/27) (A2), and enables reception by the encryption key 1 for the next day (1/27) (A3). (2) 1/27 0 o'clock (second key time) -Sender chassis: Enables transmission using the encryption key 1 on the current day (1/27) (A4), and invalidates transmission using the encryption key 2 on the previous day (1/26) (A5). (3) 1/27 8:00 (third key time) -Receiving side chassis: Disables reception by encryption key 2 on the previous day (1/26) (A6) In this way, the transmitting side housing and the receiving side housing repeatedly carry out the processes A1 to A6 with the processes (1) to (3) as one cycle. Then, the transmitting side housing and the receiving side housing alternately generate and set two encryption keys, enable / disable transmission and reception, and update the encryption key information.
As described above, the processes (1) to (3) are keyed during the check period between the key time of the previous process and the time of the clock 33 at the check timing set every 2 minutes. When the determination unit 301 determines that the time is included, the processing unit 302 executes the time. Here, as described above, in the storage device 1, a plurality of (here, two) encryption keys are used. Then, in the processing unit 302, among the one encryption key and the plurality of encryption keys, the transmission by one of the plurality of encryption keys is enabled and after the transmission is invalidated for a predetermined period. Reception by another encryption key is enabled.
Specifically, as shown by the broken line in FIG. 2, the storage device 1 has a reception validity period (here, 40 hours) of the encryption key 1 or 2 used for decrypting the received packet for the encryption keys 1 and 2. Is set to be longer than the transmission valid period (here, 24 hours) of the encryption key 1 or 2 used when encrypting the packet to be transmitted. As a result, as shown in FIG. 2, in the receiving side housing, for example, between 16:00 on 1/27 and 8:00 on 1/28, both the encryption keys 1 and 2 have the reception valid period. At this time, the receiving side housing can decrypt the encrypted packet received from the transmitting side housing by using either the encryption key 1 or 2. In other words, the receiving side housing has a predetermined period, that is, even if there is a time lag between the time of the clock provided by the transmitting side housing and the time of the clock provided by the receiving side housing. The received packet can be decoded by allowing a time lag of up to 8 hours before and after.
(A-3) Operation of the determination unit and the processing unit when the clock time is changed in the first embodiment 3A to 3E are diagrams for explaining a method of determining whether or not the check period includes the key time by the determination unit 301 in the storage device 1 as an example of the first embodiment. is there.
In the examples shown in FIGS. 3A to 3E, the processing unit 302 executes a predetermined process to be performed at 8 o'clock on 1/27, and the RAM 31 has 1 / as the key time when the previous process was performed. Information at 8 o'clock of 27 is stored. The states shown in FIGS. 3A to 3E are states after the time of the clock 33 is changed by the CPU 30 and the time of the clock 33 as the current time is corrected. ..
FIG. 3A shows an example of the case where the current time is between 8:00 and 16:00 on 1/27. Further, FIG. 3B shows an example of the case where the current time is between 16:00 on 1/27 and 00:00 on 1/28. Further, FIG. 3C shows an example of the case where the current time is between 0:00 and 8:00 on 1/27. Further, FIG. 3D shows an example of a case where the current time is between 0:00 and 8:00 on 1/28. Further, FIG. 3E shows an example of the case where the current time is between 16:00 on 1/26 and 00:00 on 1/27.
As described above, the determination unit 301 determines whether or not the key time is included in the check period between the key time of the previous processing and the current time at the check timing set for each predetermined time. to decide. For example, at the check timing set every two minutes, the determination unit 301 keys during the check period between the key time of the previous processing stored in the RAM 31 by the processing unit 302 and the time of the clock 33, respectively. Determine if the time is included.
Specifically, for example, the determination unit 301 sets the check timing set every 2 minutes to 8 o'clock on 1/27, which is the key time for which the previous processing was performed, and the time on the clock 33, which is the current time. Determine if the key time is included in the check period between. The check period is shaded in FIGS. 3 (a) to 3 (e). In the case shown in FIG. 3A, the key time is not included in the check period. Therefore, the determination unit 301 determines that the key time is not included in the check period, and waits until the next check timing two minutes later.
Next, in the case shown in FIG. 3B, the check period includes 16:00 of 1/27, which is the key time. Therefore, the determination unit 301 determines that the key time is included in the check period, and the processing unit 302 performs a predetermined process to be executed at the key time. Further, the processing unit 302 stores the information at 16:00 on 1/27, which is the key time, in the RAM 31 as the key time when the new previous processing was performed. Then, the determination unit 301 waits until the next check timing two minutes later.
Here, the state shown in FIG. 3A may occur when the time of the clock 33 is changed to a time between the key time of the previous processing and the next key time. Specifically, in the example shown in FIG. 3A, it may occur when the time of the clock 33 is changed to the time between 8:00 and 16:00 on 1/27. The state shown in FIG. 3A may occur even in normal operation, that is, when the time of the clock 33 is not changed.
Further, the state shown in FIG. 3B may occur when the time on the clock 33 is changed to a time between the next key time and the next key time. Specifically, in the example shown in FIG. 3B, it may occur when the time of the clock 33 is changed to the time between 16:00 on 1/27 and 00:00 on 1/28. The state shown in FIG. 3B may occur even in normal operation, that is, when the time of the clock 33 is not changed.
Next, in the case shown in FIG. 3C, the key time is not included in the check period. Therefore, the determination unit 301 determines that the key time is not included in the check period, and waits until the next check timing two minutes later. The state shown in FIG. 3C is when the time of the clock 33 is changed to the time between the key time of the previous processing and the key time of the previous processing, that is, the clock. It may occur when the time of 33 is earlier (past) than the key time of the previous processing. Specifically, in the example shown in FIG. 3C, this state occurs when the time on the clock 33 is changed to the time between 8:00 on 1/27 and 0:00 on 1/27. It can occur.
Further, in the case shown in FIG. 3D, the check period includes the key times of 16:00 on 1/27 and 00:00 on 1/28, and includes two key times. The state shown in FIG. 3D may occur when the time on the clock 33 is changed to a time earlier (future) than the key time two keys later. Specifically, in the example shown in FIG. 3D, this state may occur when the time on the clock 33 is changed to a time before (future) 0 o'clock on 1/28. At this time, the time of the clock 33 is changed after a time of 16 hours or more from the key time in which the previous processing was performed.
In such a case, that is, when the determination unit 301 determines that the check period includes two or more key times even if the check period includes two or more key times. , The processing unit 302 initializes the encryption key information. In this way, when two or more key times are included in the check period, that is, the difference between the time of the clock 33 and the time of the clock provided by the other device 5 is greater than or equal to the time between the two key times. It is preferable to reestablish the encrypted communication between the storage device 1 and the other device 5 when the time is reached.
This means that in the normal operation of the storage device 1, the time of the clock 33 is the time (future) ahead of the key time two times later, that is, 16 hours or more in the example shown in FIG. 3 (d). This is because it is unlikely that the time will be changed to a time later, and there is a possibility that some serious abnormality has occurred in the storage device 1. For example, when two or more key times are included in the check period, the processing unit 302 clears the transmission / reception valid period of the encryption keys 1 and 2 and the encryption keys 1 and 2 stored in the RAM 21. , The connection between the storage device 1 and the other device 5 is disconnected. Then, the processing unit 302, together with the channel adapter 2, executes the same initialization process (resetting the encrypted communication with the other device 5) as when the storage device 1 is started, and the storage device 1 and the other device 5 An IPsec connection is established with and encrypted communication is performed.
As a result, the processing unit 302 can eliminate the inconsistency of the encryption key information due to a long time difference between the storage device 1 and the other device 5. Further, in the case shown in FIG. 3 (e), the check period includes midnight of 1/27, which is the key time. The state shown in FIG. 3 (e) may occur when the time on the clock 33 is changed to a time before (past) the key time when the processing was performed two times before. Specifically, in the example shown in FIG. 3 (e), this state may occur when the time on the clock 33 is changed to a time before (past) 0 o'clock on 1/27. At this time, the time of the clock 33 is changed after a time of 8 hours or more from the key time in which the previous processing was performed.
In such a case, that is, even if the determination unit 301 determines that the key time is included in the check period, the current time is earlier (past) than the key time in which the previous processing was performed. The processing unit 302 initializes the encryption key information in the same manner as in the case shown in FIG. 3D. In the cases shown in FIGS. 3 (d) and 3 (e), the processing unit 302 may output some error output and notify the administrator instead of performing the initialization process. Alternatively, it is desirable that the processing unit 302 outputs some error together with the initialization processing and notifies the administrator. Further, the error output and the notification to the administrator can be performed by various known methods, and detailed description thereof will be omitted.
FIG. 4 is a flowchart for explaining the operations of the determination unit 301 and the processing unit 302 in the storage device 1 as an example of the first embodiment. First, at a predetermined time, for example, at a check timing set every 2 minutes by the determination unit 301, within the check period between the key time of the previous processing stored in the RAM 31 and the current time of the clock 33, It is determined whether or not the key times of 0 o'clock, 8 o'clock, and 16 o'clock are included (step S1).
Then, in step S1, if the determination unit 301 determines that 0:00, 8:00, and 16:00 are not included in the check period (No route in step S1), the determination unit 301 continues until the next check timing. stand by. On the other hand, in step S1, if the determination unit 301 determines that the check period includes 0:00, 8:00, and 16:00 (Yes route in step S1), the determination unit 301 determines the current time of the clock 33. However, it is determined whether or not it is past the key time when the previous processing was performed (step S2).
In step S2, if the determination unit 301 determines that the current time is not earlier than the key time of the previous processing (No route in step S2), the determination unit 301 includes the keys included in the check period. It is determined whether or not the number of times is one (step S3). On the other hand, in step S2, when the determination unit 301 determines that the current time is earlier than the key time in which the previous processing was performed (Yes route in step S2), the processing unit 302 initially initializes the encryption key information. The IPsec connection between the storage device 1 and the other device 5 is reestablished (step S9).
Further, in step S3, when the determination unit 301 determines that the number of key times included in the check period is not one (No route in step S3), the process proceeds to step S9. On the other hand, in step S3, if the determination unit 301 determines that the number of key times included in the check period is one (Yes route in step S3), the determination unit 301 includes the time within the check period. It is determined whether the key time is 0:00, 8:00, or 16:00 (step S4).
In step S4, when the determination unit 301 determines that the key time included in the check period is 0 o'clock (0 o'clock route in step S4), the processing unit 302 performs a predetermined process to be executed at 0 o'clock. Will be executed. That is, the processing unit 302 validates the transmission of the encryption key on the current day and invalidates the transmission of the encryption key on the previous day (step S5). Further, in step S4, when the determination unit 301 determines that the key time included in the check period is 8 o'clock (8 o'clock route in step S4), the processing unit 302 determines that the key time should be executed at 8 o'clock. The process is executed. That is, the processing unit 302 invalidates the reception of the encryption key on the previous day (step S6).
Further, in step S4, when the determination unit 301 determines that the key time included in the check period is 16:00 (16:00 route in step S4), the processing unit 302 determines that the key time should be executed at 16:00. The process is executed. That is, the processing unit 302 generates the encryption key for the next day, stores it in the RAM 21, and activates the reception of the encryption key for the next day (step S7).
Then, when any of the processes of steps S5 to S7 is executed by the processing unit 302, the processing unit 302 stores the key time within the check period as the key time of the previous processing in the RAM 31 (step S8). ). After that, the determination unit 301 waits until the next check timing. According to the above procedure, the determination unit 301 and the processing unit 302 execute the encryption key update process.
As described above, according to the storage device 1 as an example of the first embodiment, the determination unit 301 performs the previous processing in the processing device that executes the predetermined processing related to the processing target information at the preset key time. Whether or not the key time is included in the check period between the key time and the current time is determined. Further, when the determination unit 301 determines that the key time is included in the check period, the processing unit 302 executes a predetermined process to be executed at the key time.
For example, when the time of the clock 33 is changed and the time is changed over the key time for which the predetermined processing regarding the encryption key information should be performed, the check period is between the key time for which the previous processing was performed and the current time. , The straddling key time will be included (see FIG. 3 (b)). As a result, the determination unit 301 can reliably detect that the time change of the clock 33 causes a time change that spans the key time for which a predetermined process for the encryption key information should be performed, and the processing unit 302 can reliably detect that the key time has changed. It is possible to execute a predetermined process to be executed at the time. Therefore, the determination unit 301 and the processing unit 302 change the time of the storage device 1 in which the time is changed when the time of the clock 33 is changed and the time of the time is changed over the key time for performing predetermined processing on the encryption key information. Information can be put in the correct state.
If the time of the clock 33 before the change is ahead of the key time (future) and the time of the clock 33 after the change is before the key time (past), the key time that was processed last time is used. The key time is not included in the check period between the current time (see FIG. 3 (c)). Therefore, when the changed time reaches the key time in which the previous processing was performed, the determination unit 301 and the processing unit 302 do not have to perform the processing previously performed at the key time again.
Further, according to the first embodiment, even if the determination unit 301 determines that the key time is included in the check period, the current time is earlier than the key time in which the previous processing was performed. The processing unit 302 initializes the processing target information. Further, even if the determination unit 301 determines that the check period includes the key time, if the determination unit 301 determines that the check period includes two or more key times, the processing unit 302 determines. , The processing target information is initialized.
As a result, the processing unit 302 can eliminate the inconsistency of the encryption key information due to a long time difference between the storage device 1 and the other device 5. Further, according to the first embodiment, the storage device 1 as a processing device includes a RAM 31 as a storage unit for storing the key time of the previous processing. Then, the determination unit 301 determines whether or not the key time is included in the check period by using the key time of the previous processing stored in the RAM 31.
As a result, the key time of the previous processing is stored in the RAM 31, so even if the time of the clock 33 is changed, the determination unit 301 can use the key time of the previous processing stored in the RAM 31 as well. Based on the current time of the clock 33, it can be determined whether or not the key time for performing a predetermined process is included in the check period. Further, after the processing unit 302 executes a predetermined process to be executed at the key time determined by the determination unit 301 to be included in the check period, the key time is set as the key time for which the previous process was performed, and the RAM 31 is used. Stored in. That is, after performing the predetermined processing, the processing unit 302 updates the key time of the previous processing stored in the RAM 31 according to the key time of the predetermined processing.
As a result, the control module 3 can easily determine which of the preset key times has been executed up to a predetermined process, and the determination unit 301 can set the key time during the check period. Whether or not it is included can be determined based on the latest key time of the previous processing. Further, at the key time, the processing unit 302 performs at least one of the generation of the encryption key and the switching of enabling or disabling transmission or reception by the encryption key as a predetermined process regarding the encryption key information. .. Further, a plurality of encryption keys are used as the encryption key. Then, in the processing unit 302, for a predetermined period (here, 8 hours), the one encryption key and the transmission by one of the plurality of encryption keys are enabled and after the transmission is invalidated. Reception by the other encryption key of the multiple encryption keys is enabled.
As a result, even if there is a time lag between the time of the clock provided by the other device 5 and the time of the clock 33 provided by the storage device 1, the storage device 1 has a time lag of up to 8 hours before and after. Can be tolerated and the received packet can be decrypted. (B) Modified example of the first embodiment The determination unit 301 and the processing unit 302 in the storage device 1 as an example of the first embodiment are not limited to the above-described operations, and are, for example, modifications of the first embodiment described below with reference to FIGS. 5 and 6. You may execute as follows.
Unless otherwise specified, the storage device 1 as an example of this modification also has the same configuration as the storage device 1 as an example of the above-described first embodiment, and thus the description thereof will be omitted. In this modification, the RAM 31 stores the previous processing time instead of the key time when the previous processing was performed. Then, the determination unit 301 of the modified example of the first embodiment sets the key time in the check period between the previous processing time and the current time stored in the RAM 31 at the check timing set for each predetermined time. To determine if is included.
That is, in this modification, the check period is between the previous processing time and the current time. The previous processing time described above may be the time itself or information for specifying the time. Hereinafter, these are collectively referred to simply as "processing time". Specifically, the determination unit 301 keys the check period, which is between the previous processing time stored in the RAM 31 by the processing unit 302 and the time of the clock 33, at the check timing set every two minutes, for example. Determine if the time is included.
When the determination unit 301 determines that the key time is included in the check period, the processing unit 302 executes a predetermined process regarding the encryption key information (processing target information) to be executed at the key time. Specifically, it corresponds to (1) to (3) described with reference to FIG. 2 depending on whether the key time included in the check period is 0:00, 8:00, or 16:00. Perform processing.
Further, when the processing unit 302 executes a predetermined process to be executed at the key time included in the check period, the processing unit 302 stores the information of the processing time at which the predetermined process is executed in the RAM 31 as the previous processing time. .. When the processing unit 302 stores the previous processing time in the RAM 31, the processing unit 302 may accumulate the information of the previous processing time as a log of the processing time and store it in the RAM 31.
Therefore, it can be said that the control module 3 including the determination unit 301 and the processing unit 302 in the above-described modification of the first embodiment is a processing device that executes a predetermined process related to the processing target information at a preset key time. Further, it can be said that the RAM 31 is a storage unit for storing the previous processing time. 5 (a) to 5 (e) are diagrams for explaining a method of determining whether or not the check period includes the key time by the determination unit 301 in the storage device 1 as a modification of the first embodiment. Is.
In the examples shown in FIGS. 5A to 5E, the processing unit 302 executes a predetermined process to be performed at 8 o'clock on 1/27, and the RAM 31 has 8 of 1/27 as the previous processing time. Information on the hour and minute is stored. The states shown in FIGS. 5A to 5E are states after the time of the clock 33 is changed by the CPU 30 and the time of the clock 33 as the current time is corrected. ..
FIG. 5A shows an example of the case where the current time is between 8:00 and 16:00 on 1/27. Further, FIG. 5B shows an example of the case where the current time is between 16:00 on 1/27 and 00:00 on 1/28. Further, FIG. 5C shows an example of the case where the current time is between 0:00 and 8:00 on 1/27. Further, FIG. 5D shows an example of a case where the current time is between 0:00 and 8:00 on 1/28. Further, FIG. 5E shows an example of the case where the current time is between 16:00 on 1/26 and 00:00 on 1/27.
As described above, the determination unit 301 in the storage device 1 as a modified example includes the key time in the check period between the previous processing time and the current time at the check timing set for each predetermined time. Judge whether or not it is. For example, the determination unit 301 includes the key time in the check period between the previous processing time stored in the RAM 31 by the processing unit 302 and the time of the clock 33 at the check timing set every two minutes. Judge whether or not it is.
Specifically, for example, the determination unit 301 sets the check timing set every 2 minutes to 8:01, which is the previous processing time of 1/27, and the time of the clock 33, which is the current time. Judge whether the key time is included in the check period between. In FIG. 5, the check period is shaded. In the case shown in FIG. 5A, the key time is not included in the check period. Therefore, the determination unit 301 determines that the key time is not included in the check period, and waits until the next check timing two minutes later.
Next, in the case shown in FIG. 5B, the check period includes 16:00 of 1/27, which is the key time. Therefore, the determination unit 301 determines that the key time is included in the check period, and the processing unit 302 performs a predetermined process to be executed at the key time. Further, the processing unit 302 stores the information at 16:40 on 1/27, which is the key time, which should be performed at 16:00 on 1/27, in the RAM 31 as a new previous processing time. Then, the determination unit 301 waits until the next check timing two minutes later.
Here, the state shown in FIG. 5A may occur when the time of the clock 33 is changed to a time between the key time of the previous processing and the next key time. Specifically, this state may occur when the time on the clock 33 is changed to the time between 8:00 and 16:00 on 1/27 in the example shown in FIG. 5 (a). The state shown in FIG. 5A may occur even in normal operation, that is, when the time of the clock 33 is not changed.
Further, the state shown in FIG. 5B may occur when the time on the clock 33 is changed to a time between the next key time and the next key time. Specifically, in the example shown in FIG. 5B, this state occurs when the time on the clock 33 is changed to the time between 16:00 on 1/27 and 00:00 on 1/28. It can occur. The state shown in FIG. 5B may occur even in normal operation, that is, when the time of the clock 33 is not changed. For example, it corresponds to the case where the time of the previous check timing is "next key time"-"arbitrary time within a predetermined time of the check timing". At this time, the current check timing, that is, the current time is "next key time" + "predetermined time of check timing-arbitrary time described above". Specifically, for example, the time of the previous check timing is "16:00 on 1/27"-"1 minute 30 seconds (the predetermined time for check timing is 2 minutes)" = "15:58 on 1/27". If it is "30 seconds", the current time is "1/27 16:00" + "2 minutes-1 minute 30 seconds" = 1/27 16:00:30. Therefore, the state shown in FIG. 5B can also occur by normal operation, that is, by the normal passage of time on the clock 33.
Next, in the case shown in FIG. 5C, the check period includes 8 o'clock on 1/27, which is the key time. The state shown in FIG. 5C is when the time of the clock 33 is changed to the time between the key time of the previous processing and the key time of the previous processing, that is, the clock 33. Can occur when the time of is earlier (past) than the key time of the previous processing. Specifically, in the example shown in FIG. 5C, this state occurs when the time on the clock 33 is changed to the time between 8:00 on 1/27 and 0:00 on 1/27. It can occur.
In such a case, that is, even if the determination unit 301 determines that the key time is included in the check period, if the current time is earlier (past) than the previous processing time, The processing unit 302 suppresses the execution of a predetermined process to be executed at the key time. Then, the determination unit 301 waits until the next check timing two minutes later. For example, if the check period includes the key time and the current time is earlier than the previous processing time, the key time included in the check period is the key time of the previous processing (Fig.). 5 (c)). In this case, since the predetermined processing to be performed at the key time has already been executed at the previous processing time, the processing unit 302 suppresses the predetermined processing to be performed at the key time.
As a result, even if the check period includes the key time and the current time is earlier than the previous processing time, the determination unit 301 and the processing unit 302 perform the previous processing at the key time again. You don't have to do it. Further, in the cases shown in FIGS. 5 (d) and 5 (e), two key times are included in the check period in each case.
That is, in the case shown in FIG. 5D, the check period includes the key times of 16:00 on 1/27 and 00:00 on 1/28. The state shown in FIG. 5D may occur when the time on the clock 33 is changed to a time earlier (future) than the key time two keys later. Specifically, in the example shown in FIG. 5D, this state may occur when the time on the clock 33 is changed to a time before (future) 0 o'clock on 1/28. At this time, the time of the clock 33 is changed after a time of 16 hours or more from the previous processing time.
Further, in the case shown in FIG. 5 (e), the check period includes the key times of 0:00 on 1/27 and 8:00 on 1/27. The state shown in FIG. 5 (e) may occur when the time on the clock 33 is changed to a time before (past) the key time when the processing was performed two times before. Specifically, in the example shown in FIG. 5 (e), this state may occur when the time on the clock 33 is changed to a time before (past) 0 o'clock on 1/27.
As described above, in the cases shown in FIGS. 5 (d) and 5 (e), that is, even when the determination unit 301 determines that the key time is included in the check period, the key time is 2 in the check period. When it is determined that two or more are included, the processing unit 302 initializes the encryption key information as in the first embodiment. FIG. 6 is a flowchart for explaining the operations of the determination unit 301 and the processing unit 302 in the storage device 1 as an example of the modification of the first embodiment.
In the procedure of the modified example of the first embodiment shown in FIG. 6, the processing order of steps S2 and S3 of FIG. 4 is changed, and steps S20 and S21 are executed instead of step S2. Hereinafter, in FIG. 6, steps having the same reference numerals as the above-described reference numerals indicate the same or substantially the same steps, and thus a part of the description thereof will be omitted. Hereinafter, in step S1, a case where it is determined by the determination unit 301 that 0:00, 8:00, and 16:00 are included in the check period will be described.
In step S1, if the determination unit 301 determines that the check period includes 0:00, 8:00, and 16:00 (Yes route in step S1), the determination unit 301 includes the key time included in the check period. It is determined whether or not the number of is one (step S3). In step S3, if the determination unit 301 determines that the number of key times included in the check period is not one (No route in step S3), the processing unit 302 initializes the encryption key information. The IPsec connection between the storage device 1 and the other device 5 is reestablished (step S9).
On the other hand, in step S3, when the determination unit 301 determines that the number of key times included in the check period is one (Yes route in step S3), the determination unit 301 determines the current time of the clock 33. However, it is determined whether or not it is past the previous processing time (step S20). In step S20, if the determination unit 301 determines that the current time is not earlier than the key time of the previous processing (No route in step S20), the key time included in the check period is 0 o'clock. It is determined which time is 8 o'clock or 16 o'clock (step S4), and thereafter, the process is performed according to the procedure described with reference to FIG.
On the other hand, in step S20, if the determination unit 301 determines that the current time is earlier than the key time in which the previous processing was performed (Yes route in step S20), the processing unit 302 determines that the key within the check period. Execution of a predetermined process to be executed at the time is suppressed (step S21). After that, the determination unit 301 waits until the next check timing.
According to the above procedure, the determination unit 301 and the processing unit 302 execute the encryption key update process. As described above, according to the modified example of the first embodiment, the same effect as that of the first embodiment described above can be obtained. Further, since the previous processing time is stored in the RAM 31 as the storage unit, the control module 3 can easily determine the time when the predetermined processing to be performed at the previous key time is executed. As a result, the determination unit 301 can determine whether or not the key time is included in the check period based on the latest previous processing time.
Further, since the RAM 31 can store the past processing time as a log, the key time for executing a predetermined process related to the encryption key information, the check timing time, and the like are adjusted based on the processing time log. be able to. (C) Other Although the preferred embodiment of the present invention has been described in detail above, the present invention is not limited to such a specific embodiment, and various modifications and modifications are made without departing from the spirit of the present invention. can do.
For example, the case where the storage device 1 performs encrypted communication using IPsec with another device 5 has been described so far, but the present invention is not limited to this, and encryption is performed in each of the own device and the device of the communication partner. The same can be performed for other encrypted communications that generate a key and switch between activation / invalidation. Further, the case where the storage device 1 is used as the device on the transmitting side or the receiving side in the encrypted communication has been described, but the present invention is not limited to this, and a server, a personal computer, or the like can be used as the device on the transmitting side or the receiving side. The same can be performed when performing encrypted communication.
Further, an example in which the CPU 20 of the channel adapter 2 is provided with the encryption / decryption unit 201 and the CPU 30 of the control module 3 is provided with the determination unit 301 and the processing unit 302 has been described, but the present invention is not limited to this. For example, the encryption / decryption unit 201, the determination unit 301, and the processing unit 302 may be provided in either the CPU 20 or the CPU 30, or may be provided in another CPU in the storage device 1 or the external device. ..
Then, the CPU 20 and / and the CPU 30 of the processing device function as the encryption / decryption unit 201, the determination unit 301, and the processing unit 302 by executing the processing program. The programs (processing programs) for realizing the functions as the encryption / decryption unit 201, the determination unit 301, and the processing unit 302 are, for example, flexible discs and CDs (CD-ROM, CD-R, CD-RW). Etc.), DVDs (DVD-ROM, DVD-RAM, DVD-R, DVD + R, DVD-RW, DVD + RW, HD DVD, etc.), Blu-ray discs, magnetic discs, optical discs, opto-magnetic discs, and other computer-readable recording media. It is provided in the form recorded on. Then, the computer reads the program from the recording medium, transfers it to the internal storage device or the external storage device, stores it, and uses it. Further, the program may be recorded in a storage device (recording medium) such as a magnetic disk, an optical disk, or a magneto-optical disk, and provided from the storage device to a computer via a communication line.
When the functions as the encryption / decryption unit 201, the determination unit 301, and the processing unit 302 are realized, the internal storage device (in this embodiment, the RAM 21 or ROM 22 of the channel adapter 2 or / and the RAM 31 or ROM 32 of the control module 3). The program stored in is executed by the microprocessor of the computer (in this embodiment, the CPU 20 of the channel adapter 2 and / and the CPU 30 of the control module 3). At this time, the computer may read and execute the program recorded on the recording medium.
In the present embodiment, the computer is a concept including hardware and an operating system, and means hardware that operates under the control of the operating system. In addition, when an operating system is not required and the hardware is operated by the application program alone, the hardware itself corresponds to a computer. The hardware includes at least a microprocessor such as a CPU and a means for reading a computer program recorded on a recording medium. In the present embodiment, the channel adapter 2 and / and the control module as a processing device. 3 has a function as a computer. (D) Additional Notes The following additional notes will be further disclosed with respect to the above embodiments and modifications. (Appendix 1) A processing device that executes predetermined processing related to processing target information at a preset key time, and at the check timing set for each predetermined time, the key time and the current time of the previous processing A judgment unit that determines whether or not the key time is included in the check period between The processing unit is provided with a processing unit that executes the predetermined processing to be executed at the key time when the determination unit determines that the key time is included in the check period. apparatus. (Appendix 2) Even if the processing unit determines that the key time is included in the check period, the current time is higher than the key time for which the previous processing was performed. The processing apparatus according to Appendix 1, wherein in the past, the processing target information is initialized. (Appendix 3) Even when the determination unit determines that the key time is included in the check period, the processing unit includes two or more of the key times in the check period. The processing apparatus according to Appendix 1 or Appendix 2, wherein the processing target information is initialized when the determination is made. (Appendix 4) A storage unit for storing the previously processed key time is further provided, and the determination unit uses the previously processed key time stored in the storage unit to perform the check period. Determine if the key time is included and The processing unit executes the predetermined processing to be executed at the key time determined to be included in the check period by the determination unit, and then sets the key time as the key time for which the previous processing was performed. The processing apparatus according to any one of Items 1 to 3, wherein the processing apparatus is stored in the storage unit. (Appendix 5) A processing device that executes predetermined processing related to processing target information at a preset key time, and between the previous processing time and the current time at the check timing set for each predetermined time. A judgment unit that determines whether or not the key time is included in a certain check period, and when the judgment unit determines that the key time is included in the check period, the key time is executed. A processing apparatus including a processing unit that executes the predetermined processing to be performed. (Appendix 6) When the processing unit determines that the key time is included in the check period, the current time is earlier than the previous processing time. The processing apparatus according to Appendix 5, wherein the execution of the predetermined processing to be executed at the key time is suppressed. (Appendix 7) The processing unit is Even if the determination unit determines that the check period includes the key time, if it determines that the check period includes two or more key times, the process is performed. The processing apparatus according to Appendix 5 or Appendix 6, wherein the target information is initialized. (Appendix 8) A storage unit for storing the previous processing time is further provided, and the determination unit includes the key time in the check period using the previous processing time stored in the storage unit. In addition to determining whether or not, the processing unit executes the predetermined processing to be executed at the key time determined by the determination unit to be included in the check period, and then performs the predetermined processing. The processing apparatus according to any one of Items 5 to 7, wherein the executed processing time is stored in the storage unit as the previous processing time. (Appendix 9) The processing target information is encryption key information, and the predetermined processing is processing related to at least one of generation of an encryption key and switching of activation or invalidation of transmission or reception by the encryption key. The processing apparatus according to any one of Supplementary note 1 to 8, wherein the processing apparatus is characterized by the above. (Appendix 10) The encryption key is a plurality of encryption keys. Before and after the transmission by one of the plurality of encryption keys is enabled and after being invalidated, the one encryption key and the other encryption of the plurality of encryption keys are used for a predetermined period of time. The processing apparatus according to Appendix 9, wherein reception by a key is enabled. (Appendix 11) This is a processing method for executing a predetermined process related to the processing target information at a preset key time, and at the check timing set for each predetermined time, the key time and the current time of the previous process are used. A step of determining whether or not the key time is included in the check period between, and a predetermined time to be executed at the key time when it is determined that the check period includes the key time. A processing method characterized by having a step for executing the processing of. (Appendix 12) A processing program that enables a computer to execute a predetermined process related to processing target information at a preset key time, and performs the previous process at a check timing set for each predetermined time. A judgment unit that determines whether or not the key time is included in the check period between the key time and the current time, and When the determination unit determines that the key time is included in the check period, the computer functions as a processing unit that executes the predetermined process to be executed at the key time. The processing program.
1 Storage device 2-channel adapter 20 CPU 201 Encryption / decryption unit 21 RAM 22 ROM 23 Buffer memory 3 Control module (processing device) 30 CPU 301 Judgment Department 302 Processing unit 31 RAM (storage unit) 32 ROM 33 clock 4 Memory 41-1 to 41-k hard disk drive (HDD)
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| JP2007104430A | Cites | Japan | Search report |
| JP2007300312A | Cites | Japan | Search report |
| JP2009065528A | Cites | Japan | Search report |
| JP2009218751A | Cites | Japan | Search report |
9 members in 6 offices
Priority claims4
| Document | Office | Kind | Date |
|---|---|---|---|
| 2010059546 | Japan | W | |
| 2010059546 | Japan | W | |
| 2010059546 | – | – | – |
| WO2010JP59546 | – | – | – |
Members9
| Document | Office | Kind | |
|---|---|---|---|
| WO2011151924A1 | World Intellectual Property Organization (WIPO) | A1 | |
| CN102918796A | China | A | |
| KR20130026453A | Republic of Korea | A | |
| EP2579500A1 | European Patent Office (EPO) | A1 | |
| US2013097423A1 | United States of America | A1 | |
| JPWO2011151924A1 | Japan | A1 | |
| JP5601368B2This record | Japan | B2 | |
| KR101503581B1 | Republic of Korea | B1 | |
| CN102918796B | China | B |
10 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Cancellation because of no payment of annual feesLAPS | LAPS | |
| Certificate of patent or registration of utility modelJAPANESE INTERMEDIATE CODE: R150R150 | R150 | |
| First payment of annual fees (during grant procedure)JAPANESE INTERMEDIATE CODE: A61A61 | A61 | |
| Written decision to grant a patent or to grant a registration (utility model)JAPANESE INTERMEDIATE CODE: A01A01 | A01 | |
| Decision of grant or rejection writtenTRDD | TRDD | |
| Transfer to examiner for re-examination before appeal (zenchi)AppealJAPANESE INTERMEDIATE CODE: A911A911 | A911 | |
| Written amendmentJAPANESE INTERMEDIATE CODE: A523A521 | A521 | |
| Decision of refusalJAPANESE INTERMEDIATE CODE: A02A02 | A02 | |
| Written amendmentJAPANESE INTERMEDIATE CODE: A523A521 | A521 | |
| Notification of reasons for refusalJAPANESE INTERMEDIATE CODE: A131A131 | A131 |
Numbers
- Publication, DOCDB
- 5601368
- Publication, EPODOC
- JP5601368B
- Application
- 2012518198
- Application, DOCDB
- 2012518198
- Application, EPODOC
- JP20120518198
Titles
- English
- A processing unit, a disposal method, and a processing program
Classification
- CPC, 5
- H04L9/0894
- H04L9/16
- H04L9/14
- G06F21/80
- H04L9/08
- IPC, 1
- H04L9 08